1 はじめに

グループ正規化(Group Normalization, GN)は、深層学習におけるニューラルネットワークの訓練を安定化させる正規化手法の一つである。2018年にYuxin WuとKaiming Heによって提案され、バッチ正規化Batch Normalization)がバッチサイズに依存して性能が低下する問題を解決するために開発された。グループ正規化は、チャンネル方向の特徴マップを複数のグループに分割し、各グループ内で平均分散を計算して正規化を行う。これにより、バッチサイズが小さい場合やバッチサイズ制約がある環境(例えば、大規模画像認識やビデオ処理)でも高い性能を発揮する。

1.1 背景と動機

深層学習モデルの訓練において、内部共変量シフト(Internal Covariate Shift)は収束を遅らせる主要な要因の一つである。内部共変量シフトとは、各層の入力分布が訓練中に変化する現象を指す。バッチ正規化はこの問題を緩和するために2015年に提案され、広く普及した。しかし、バッチ正規化はミニバッチ全体の統計量に依存するため、バッチサイズが小さいと推定不安定になり、誤差が増大する。この制約は、メモリ制限によりバッチサイズを大きくできない環境(例えば、高解像度画像や3Dボリュームデータの処理)で顕著となる。グループ正規化は、バッチサイズに依存せずに正規化を実現するための代替手法として登場した。

1.2 バッチ正規化の問題点

バッチ正規化の主な問題点は、バッチサイズに対する感度の高さにある。バッチサイズが小さい場合(例えば2や4)、推定される平均と分散のノイズが大きくなり、訓練の不安定性や性能低下を引き起こす。また、バッチ正規化は訓練時と推論時で動作が異なり、推論時には移動平均を使用するため、訓練分布と推論分布に乖離が生じる可能性がある。さらに、バッチ正規化はバッチ全体のサンプル間で統計量を共有するため、バッチ構成がランダムでない場合(例えばシーケンシャルデータ)に問題を生じることがある。グループ正規化はこれらの問題を、グループごとに独立して統計量を計算することで解決する。

2 技術的詳細

グループ正規化の核心は、特徴マップのチャンネル次元をグループに分割し、各グループ内で独立に正規化を施す点にある。このアプローチにより、バッチ次元の影響を受けずに統計量を計算できる。

2.1 グループ分割の定義

グループ正規化では、入力テンソルの形状を (N, C, H, W) と仮定する。ここでNはバッチサイズ、Cはチャンネル数、HとWは空間的な高さと幅である。チャンネル次元CをG個のグループに分割し、各グループは C/G 個のチャンネルを含む。分割は連続したチャンネルに対して行われる。各グループ内で、空間次元H×Wとグループ内チャンネル方向を合わせた (H×W×(C/G)) 個の要素に対して平均と分散が計算される。グループ数Gはハイパーパラメータであり、一般的な値は32や16などである。

2.2 正規化の計算手順

グループ正規化の計算は、グループごとに平均と分散を求め、正規化を行った後、スケールとシフトの変換を適用する。

2.2.1 平均と分散の算出

入力テンソルを x とし、グループ g (g=1,...,G) に属する要素の集合を S_g とする。各グループの平均 μ_g と分散 σ_g^2 は次のように計算される。

μ_g = (1/S_g) Σ_{i∈S_g} x_i
σ_g^2 = (1/S_g) Σ_{i∈S_g} (x_i - μ_g)^2
ここでS_g= (H×W×(C/G)) である。これらの統計量はバッチ内のサンプルごとに独立に計算されるため、バッチサイズNに依存しない。

2.2.2 スケール・シフト変換

正規化の後、各グループ内の要素に対して学習可能なスケールパラメータ γ とシフトパラメータ β を用いて線形変換が行われる。変換はチャンネル単位で適用され、各チャンネルが独自の γ と β を持つ。最終的な出力 y_i は次のようになる。

y_i = γ · (x_i - μ_g) / √(σ_g^2 + ε) + β

ここで ε はゼロ除算を防ぐための微小な定数である。

2.3 他の正規化手法との関係

グループ正規化は、バッチ正規化(BN)、レイヤー正規化(LN)、インスタンス正規化(IN)と密接に関連している。これらの手法はすべて、特徴マップの特定の次元に沿って統計量を計算する。BNはバッチ次元と空間次元をまたいで計算し、LNはチャンネル次元と空間次元をまたぐ。INは空間次元のみで計算する。グループ正規化は、チャンネル次元をグループに分割した上で空間次元と組み合わせて計算する点で、LNとINの中間に位置する。グループ数G=1のときGNはLNと等価になり、G=CのときGNはINと等価になる。

3 応用

グループ正規化は、バッチサイズが制限されるさまざまなタスクで有効である。特に、画像認識やビデオ処理、生成モデルにおいて顕著な効果を示す。

3.1 画像認識タスク

画像分類や物体検出などのタスクでは、高解像度の入力画像を扱う場合にバッチサイズを大きく取れないことがある。グループ正規化は、バッチサイズが2や4といった小さい設定でも、バッチ正規化と同等以上の精度を達成できる。例えば、Mask R-CNNを用いた物体検出において、グループ正規化はバッチサイズ2の設定でバッチ正規化より優れた結果を示した。

3.2 ビデオ解析

ビデオデータは時系列情報を含み、フレーム数が増えるとメモリ消費が大きくなる。そのため、バッチサイズを小さくせざるを得ない状況が多い。グループ正規化は、ビデオ分類や行動認識において、バッチサイズ制限下でも安定した訓練を可能にする。3D CNNを用いたビデオ解析タスクで、グループ正規化はバッチ正規化よりも高い汎化性能を示すことが報告されている。

3.3 生成モデル

生成敵対ネットワーク(GAN)や変分オートエンコーダ(VAE)などの生成モデルでは、バッチサイズが小さいと生成品質が低下しやすい。グループ正規化は、スタイル変換や画像生成タスクにおいて、バッチサイズに依存せずに安定した生成を実現する。特に、大規模な生成モデルの訓練では、グループ正規化がバッチ正規化の代替として採用されることが多い。

4 実装上の考慮点

グループ正規化を実際のモデルに組み込む際には、いくつかの実装上の注意点がある。

4.1 グループ数の選択

グループ数Gの選択は、タスクやモデルアーキテクチャに依存する。一般的な推奨値は32または16であり、チャンネル数Cが大きいモデル(例えばResNetではC=64〜2048)では、G=32がよく用いられる。Gが小さすぎると(G=1、つまりLN)、チャンネル間の相互作用を適切に捉えられない場合がある。一方、Gが大きすぎると(G=C、つまりIN)、空間的な統計量のみに依存し、チャンネル間の情報が失われる。実験的に最適なGを決定することが推奨される。

4.2 訓練時の注意点

グループ正規化はバッチ依存性がないため、訓練時のバッチサイズを自由に変更しても動作に影響がない。ただし、グループ数は固定する必要があり、チャンネル数がグループ数で割り切れるかどうかを確認する必要がある。割り切れない場合は、適切な処理(例えば余ったチャンネルを最後のグループにまとめるなど)が必要となる。また、グループ正規化はバッチ正規化よりも計算コストがやや高いが、その差は無視できる程度である。

4.3 推論時の振る舞い

グループ正規化は訓練時と推論時で同一の動作をするため、バッチ正規化のように移動平均を管理する必要がない。これにより、推論時の複雑さが低減され、コードの実装が簡潔になる。また、バッチ正規化で問題となる訓練分布と推論分布の乖離も発生しない。この特性は、オンライン学習や動的なネットワーク構造を持つモデルにおいて特に有利である。

5 関連手法との比較

グループ正規化は、他の正規化手法と比較していくつかの独自の利点と欠点を持つ。以下に主要な手法との対比を示す。

5.1 バッチ正規化との対比

バッチ正規化(BN)は、ミニバッチ全体の平均と分散を使用するため、バッチサイズが大きいほど統計推定が安定する。一方、グループ正規化(GN)はバッチサイズに依存しない。BNは大規模バッチ(例:32以上)で高い性能を発揮するが、バッチサイズが小さいと性能が低下する。GNは小規模バッチでも安定した性能を示すが、バッチサイズが十分大きい場合にはBNに劣る傾向がある。また、BNは訓練時と推論時の挙動が異なるのに対し、GNは一貫している。

5.2 レイヤー正規化との対比

レイヤー正規化(LN)は、チャンネル次元と空間次元をまとめて正規化するため、チャンネル全体の情報を均一に扱う。グループ正規化(GN)はチャンネルをグループに分割することで、グループ間の独立性を保持する。LNはチャンネル数が大きい場合に、異なるチャンネル間の特徴が平均化されすぎる問題がある。GNはグループ単位で正規化するため、各グループ内で局所的な特徴を維持しやすい。LNは主にTransformerやRNNなどのシーケンスモデルで使用され、GNは畳み込みネットワークでよく使われる。

5.3 インスタンス正規化との対比

インスタンス正規化(IN)は、各サンプルごとに空間次元のみで正規化するため、チャンネル間の相互作用を完全に無視する。グループ正規化(GN)はグループ内のチャンネルをまとめて正規化するため、チャンネルごとの統計量の違いを一部保持できる。INはスタイル転送などのタスクで有効だが、画像認識などのタスクではチャンネル間の情報が失われやすい。GNはINとLNの中間的な特性を持ち、チャンネル間の関係を適度に保持しながらバッチ非依存性を実現する。

6 参考文献

  • Wu, Y., & He, K. (2018). Group Normalization. *Proceedings of the European Conference on Computer Vision (ECCV)*, 3-19.
  • Ioffe, S., & Szegedy, C. (2015). Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. *Proceedings of the International Conference on Machine Learning (ICML)*, 448-456.
  • Ba, J. L., Kiros, J. R., & Hinton, G. E. (2016). Layer Normalization. *arXiv preprint arXiv:1607.06450*.
  • Ulyanov, D., Vedaldi, A., & Lempitsky, V. (2016). Instance Normalization: The Missing Ingredient for Fast Stylization. *arXiv preprint arXiv:1607.08022*.