内部共変量シフトとは、ディープラーニングの学習中において、中間層への入力データの分布が層ごとに変化してしまう現象です。この現象はモデルの学習を不安定にし、収束を遅らせる要因となるため、バッチ正規化などの手法で対策されます。
内部共変量シフトとは
一言でいうと、ニューラルネットワークの学習中に各層の入力データの確率分布が変化してしまう現象のことです。
詳しく解説
ディープラーニングのモデルは複数の層が積み重なって構成されており、ある層のパラメータが更新されると、その出力である次層への入力データの分布も変化します。この変化がネットワークの深い層へ向かうにつれて蓄積・増幅され、各層が常に新しいデータの分布に適応し直さなければならなくなります。このことが学習の効率を大きく低下させる原因となります。この問題への主要な対策として提案されたのがバッチ正規化であり、各ミニバッチの平均と分散を調整することで分布の変動を抑え、安定した高速な学習を実現しています。
具体例・使われ方
画像認識モデルの学習において、初期の段階ではエッジや色などの基本的な特徴量を捉えていた層が、パラメータの更新によって受け取る入力の傾向が変わってしまい、最適化のプロセスが頻繁にやり直しになるような状況が挙げられます。バッチ正規化を導入すると、この分布の変動が抑えられ、より高い学習率を用いても安定して勾配降下法を進めることができるようになります。
似た用語との違い
通常の共変量シフトが「訓練データ全体とテストデータの分布の違い」を指すのに対し、内部共変量シフトは「ニューラルネットワークの内部における層と層の間での分布の変化」を指す点が異なります。
注意点
近年の研究では、内部共変量シフトの軽減が必ずしもバッチ正規化の主な成功要因ではないとする指摘もあり、実際には別の最適化の平滑化効果が寄与しているという議論も存在します。そのため、現象の定義や影響については多角的な視点を持つことが推奨されます。