【要約】Residual接続(スキップ接続)あり vs なし を比較|スキップ接続が過学習を加速した話【Keras×CIFAR-10】 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
実験者は、ResNetの核心技術であるResidual接続が、単体でモデルの精度向上に寄与するかを検証しようとした。しかし、スキップ接続を導入したモデルにおいて、以下の問題が発生した。
- ・訓練データへの過剰適合(過学習)の深刻化。
- ・訓練精度(98.75%)と検証精度(80.75%)の大きな乖離。
- ・検証損失(val_loss)の早期上昇による精度の頭打ち。
// Approach
実験者は、Kerasを用いてスキップ接続の有無を切り替え可能なCNNモデルを自作し、CIFAR-10を用いた比較実験を実施した。具体的な手法は以下の通りである。
- ・
use_skipフラグによるResidual接続の動的な切り替え実装。 - ・6ブロック構成(64ch〜256ch)のBasicBlockを用いたネットワーク構築。
- ・Data Augmentationを用いず、Dropout 0.3のみの条件下での比較。
// Result
実験の結果、スキップ接続なしのモデルが、スキップ接続ありのモデルを上回る精度を記録した。誰にとっても重要な知見として、以下の結果が得られた。
- ・スキップ接続なし(B)のテスト精度:83.04%。
- ・スキップ接続あり(A)のテスト精度:79.63%。
- ・スキップ接続は学習を速めるが、過学習対策が欠如すると汎化性能を損なうことが判明した。
Senior Engineer Insight
> スキップ接続は「学習を容易にする道具」であり、魔法の杖ではない。現場での実装においては、スキップ接続による学習の加速を前提とし、Data Augmentationや学習率制御、EarlyStoppingといった「過学習を制御する仕組み」をセットで設計すべきである。単体での性能評価に惑わされず、システム全体の汎化性能を重視した構成が不可欠だ。