Github#バッチ正規化これは、「バッチ正規化:内部共変量シフトを減らすことによるディープネットワークトレーニングの高速化」という論文からバッチ正規化をPyTorchで実装したものです。内部共変量シフトこの論文では、内部共変量シフトを、トレーニング中のネットワークパラメーターの変化によるネットワークアクティベーションの分布の変化として定義しています。つのレイヤーがあるとしますl2​。トレーニングの開始時に、l1​アウトプット(へのインプットl2​)が配布される可能性がありますN(0.5,1)。その後、いくつかのトレーニング手順を実行すると、に移動する可能性がありますN(0.6,1.5)。これは内部共変量シフトです。内部共変量シフトは、後の層(l2​上の例)がこのシフトした分布に適応しなければならないため、トレーニング速度に悪影響を及ぼします。分布を安定させることにより、バッチ正規化は内部共変量シフトを最小限に抑えます。ノーマライゼーションホワイトニングはトレーニングのスピードとコンバージェンスを向上させることが知られています。なるように線形に変換することです。外部勾配計算の正規化は機能しません事前に計算された(分離された)平均と分散を使用して勾配計算の外で正規化することはできません。