テクニカルガイド

バッチ正規化

バッチ正規化は、トレーニング中にニューラル ネットワークの各層への入力を再スケールし、ディープ ネットワークのトレーニングをより高速かつ確実に行う手法です。

2分の読書最終更新日

概要

It became one of the most widely used tricks in deep learning.

ディープダイブ

データが深いネットワークを流れるにつれて、各層に供給される値の分布は、以前の層が更新されるにつれて変化し続けるため、トレーニングが遅くなり、不安定になります。 2015 年に Ioffe と Szegedy によって導入されたバッチ正規化は、現在のミニバッチ全体で各層の入力を正規化し、平均と単位分散がほぼゼロになるようにすることでこの問題に対処します。次に、ガンマとベータという 2 つの学習可能なパラメータを適用します。これにより、ネットワークが拡張され、正規化された値が役立つ場合は元にシフトされるため、表現力が失われることはありません。見返りは大きいです。ネットワークはより高い学習率を許容し、より少ないエポックで収束し、重みの初期化に対する感度が低くなり、多くの場合、一般化が少し良くなります。問題は、動作がバッチ統計に依存するため、非常に小さなバッチでは動作が不安定になる可能性があることです。

技術的な洞察

ミニバッチ内の各特徴について、バッチ ノルムはバッチの平均と分散を計算し、平均を減算し、標準偏差 (安定性のために小さなイプシロンを加えたもの) で除算します。次に、ガンマとベータを学習した正規化値にベータを加えたガンマを出力します。トレーニング中はライブバッチ統計を使用すると同時に、移動平均も維持します。推論時に、保存されている移動平均に切り替わるため、予測はバッチを共有する他のサンプルに依存しません。これは通常、層の線形ステップとその活性化関数の間に挿入されます。

戦略的影響

費用と予算

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

より明確な判決

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

品質管理

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

バッチ正規化の将来

バッチ正規化は依然として畳み込みビジョン モデルの主力ですが、バッチ統計への依存はリカレント ネットワーク、小さなバッチ、分散トレーニングにとって扱いにくいものです。これにより、レイヤー正規化などの代替手段の採用が促進され、レイヤー正規化は単一のサンプル内の機能全体を正規化し、現在ではトランスフォーマー アーキテクチャの主流となっており、さらに特定のドメインのグループおよびインスタンスの正規化も行われています。慎重な初期化とスケーリングを通じて、その利点に匹敵する正規化不要のネットワークの研究が続けられています。アーキテクチャに合わせて特定のバリアントが選択されるため、正規化は今後も不可欠であることが予想されます。

現実世界の実装

ResNet 画像分類器にバッチ ノルム レイヤーを挿入することで、より高い学習率でトレーニングし、はるかに少ないエポックで収束できるようにします。

以前は正規化なしで分岐していた医療画像用の深い畳み込みネットワークのトレーニングを安定化します。

カスタム CNN での重みの初期化に対する感度が低下するため、エンジニアが開始値を手動で調整する時間が短縮されます。

モデルをデプロイするときにトレーニング モードのバッチ統計から保存された移動平均に切り替えることで、単一画像の予測の一貫性が維持されます。

リスクとガードレール

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

2

現実的な負荷とデータ条件でのベンチマーク。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Batch Normalization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

クイズを開始する

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

次のガイド

RMSNorm と前層正規化

よくある質問

What is Batch Normalization?

バッチ正規化は、トレーニング中にニューラル ネットワークの各層への入力を再スケールし、ディープ ネットワークのトレーニングをより高速かつ確実に行う手法です。これはディープラーニングで最も広く使用されるトリックの 1 つになりました。

バッチ正規化は何を正規化しますか?

バッチ ノルムは、現在のミニバッチ全体で計算された平均と分散を使用してレイヤーの入力を標準化し、トレーニングが進行するにつれてアクティベーションを安定した範囲に保ちます。

バッチ正規化に学習可能なパラメータ ガンマとベータが含まれるのはなぜですか?

平均と単位分散をゼロに正規化した後、ガンマとベータにより、ネットワークが有益であれば値を再スケーリングし、再シフトできるため、正規化によってレイヤーが表現できる内容が制限されることはありません。

バッチ正規化の実際的な利点としてよく挙げられるのは何ですか?

層の入力を適切にスケーリングしておくことで、バッチ ノルムによりネットワークはより大きな学習率でトレーニングされ、より速く収束し、初期化の影響を受けにくくなります。

推論時 (新しいデータの予測)、バッチ正規化ではどのような統計が使用されますか?

推論時にライブ バッチ統計を使用すると、バッチを共有する他のサンプルに応じて予測が行われます。代わりに、バッチ ノルムはトレーニング中に保存された固定移動平均を使用します。

バッチサイズが非常に小さい場合、バッチ正規化が適切に動作しないのはなぜですか?

バッチノルムは、バッチからの平均と分散の推定に依存します。例が非常に少ないため、これらの推定値にはノイズが多く、トレーニングが不安定になる可能性があります。