基本ガイド
グループの正規化
グループ正規化は、サンプルごとに独立してチャネルの小さなグループ内の特徴を正規化することにより、ニューラル ネットワークのトレーニングを安定化する手法です。
このガイドを聴くAIによるナレーション · ~2 min
概要
It matters because, unlike Batch Normalization, it works well even when batches are tiny.
ディープダイブ
正規化層は、ネットワーク内での数値の流れを適切にスケールし、トレーニングを高速化し、安定させます。バッチ正規化は、ミニバッチ全体にわたる各特徴の平均と分散を計算することによってこれを行いますが、バッチが小さい場合、統計にノイズが多く信頼性がなくなるため、脆弱になります。 Wu と He によって 2018 年に導入されたグループ正規化は、方程式からバッチを完全に削除します。個々のサンプルごとに、チャネルを固定数のグループに分割し、そのサンプル独自の値のみを使用して各グループを正規化します。計算がバッチ内の他のサンプルに依存しないため、バッチに 32 枚の画像が含まれているか、1 枚だけの画像が含まれているかに関係なく、パフォーマンスが安定しており、検出、セグメンテーション、およびメモリを大量に使用するビジョン タスクでよく使用されています。
現実世界の実装
非常に小さな GPU ごとのバッチでトレーニングされたオブジェクト検出とインスタンス セグメンテーション (マスク R-CNN スタイル モデルなど)。
拡散画像ジェネレーター内の U-Net バックボーン。グループ ノルムによって特徴スケールが安定します。
メモリ使用量が多い場合、バッチ サイズが 1 つまたは 2 つに縮小される 3D およびビデオ ネットワーク。
小さなバッチによりバッチ ノルム統計の信頼性が低くなる、限られたハードウェア上で大規模なビジョン モデルを微調整します。
グループ正常化の未来
グループ正規化は、高解像度の検出とセグメンテーション、3D モデルとビデオ モデル、メモリ制限のあるトレーニングなど、バッチを小さくする必要がある場合に引き続き頼りになる選択肢です。また、拡散モデル内の U-Net など、広く使用されている生成アーキテクチャにも組み込まれています。モデルが成長し、メモリ不足によりバッチ サイズが縮小されるにつれて、バッチに依存しないノーマライザー、その中には Layer Norm と並んで Group Norm がデフォルトのビルディング ブロックとして残り、ハイブリッドおよび正規化不要の代替手段の研究が継続される可能性があります。
実践する
なぜそれが重要なのか
- より明確な判決. これは、明確な技術的主張とマーケティング言語を区別するのに役立ちます。
- 費用と予算. お金や時間を費やす前に、実装に関するより良い質問をすることができます。
- チームとワークフロー. 共通の理解を持ったチームは、製品、ポリシー、学習に関する意思決定をより適切に行うことができます。
気をつけてください
- チームが異なれば、同じ用語の使用方法も異なる可能性があるため、範囲を早めに定義してください。
- ベンチマークは好調に見えても、実際のパフォーマンスにはばらつきがある場合があります。
- データの品質と評価計画を無視すると、多くの場合、脆弱な結果が生じます。
次のステップ
- 必要な結果を平易な言葉で定義することから始めます。
- テストする前に、成功指標と失敗条件を 1 つ選択します。
- 洗練されたデモセットではなく、代表的なデータを使用して小規模なパイロットを実行します。
- グループ正規化が役立つ場合と、より単純な方法の方が優れている場合を文書化します。
探検を続けましょう
よくある質問
What is Group Normalization?
グループ正規化は、サンプルごとに独立してチャネルの小さなグループ内の特徴を正規化することにより、ニューラル ネットワークのトレーニングを安定化する手法です。バッチ正規化とは異なり、バッチが小さい場合でも適切に機能するため、これは重要です。
グループ正規化はどの次元にわたって統計を計算しますか?
ガイドには、GN が各例内のチャネルのグループを正規化すると記載されています。
非常に小さなバッチの場合、BatchNorm よりも GroupNorm の方が適しているのはなぜですか?
この論文では、計算がバッチ統計に依存しないため、小さなバッチ サイズでの安定した動作が強調されています。
What does GroupNorm’s independence from batch size mean?
The paper’s computation uses within-example group statistics, independent of batch size.
Which GroupNorm setting corresponds to one group containing all channels?
The guide states that one group reduces the scheme to LayerNorm.
Which GroupNorm setting corresponds to one channel per group?
The guide says one channel per group corresponds to InstanceNorm.