1行定義
グループ正規化とは、サンプルごとにチャネルをいくつかのグループに分け、グループ内の値の平均と分散で正規化する手法のことです。
くわしく
グループ正規化(Group Normalization)は、2018年にYuxin WuとKaiming Heが提案した正規化の手法です。バッチ正規化が苦手とする、ミニバッチが小さい場面でも安定して使えるように考えられました。
しくみ
CNNの中間層の出力は、サンプル数×チャネル数×高さ×幅の形をしています。グループ正規化は、1つのサンプルの中で、チャネルをいくつかのグループに分けます。たとえば64チャネルを32グループに分けると、1グループは2チャネルです。グループごとに、含まれるチャネルの縦横すべての値から平均と分散を求め、平均0・分散1にそろえます。最後に、チャネルごとに学習するパラメータで拡大と平行移動を加えます。提案論文では、32グループが標準の設定として使われました。
ほかの正規化との関係
統計量を求める範囲で整理すると、違いがはっきりします。
- バッチ正規化:ミニバッチ内の全サンプルにまたがり、チャネルごと
- レイヤー正規化:サンプルごとに、全チャネルをまとめて
- インスタンス正規化:サンプルごと、チャネルごと
- グループ正規化:サンプルごとに、チャネルのグループごと
グループ数を1にするとレイヤー正規化と、チャネル数と同じにするとインスタンス正規化と同じ計算になります。グループ正規化は、その中間に位置づけられます。
なぜ有効か
ほかのサンプルを使わないので、バッチサイズに左右されません。物体検出やセグメンテーションでは、高解像度の画像を使うため、GPUのメモリの制約でバッチを大きくできないことがよくあります。提案論文では、バッチを小さくするとバッチ正規化の誤差は大きく増えた一方、グループ正規化はバッチサイズによらず安定した精度を保ちました。
覚え方
「全部まとめるレイヤーと、1つずつのインスタンスの間をとって、グループでまとめる」と覚えます。
G検定での出題
出題のされ方
平均と分散を計算する範囲がバッチ正規化・レイヤー正規化・インスタンス正規化とどう違うか、ミニバッチのサイズに左右されない利点、グループ数を変えたときのほかの手法との関係が問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
グループ正規化は、学習時も推論時も、入力されたサンプルからその場で平均と分散を計算するため、両者で計算の方法が変わらない。
答えを見る
答え ◯ 正しい
統計量をサンプルの中だけで求めるためです。学習中に記録しておいた統計量を推論で使うバッチ正規化とは、この点が異なります。
-
グループ正規化の提案論文では、一般的な大きさのバッチで学習した場合、グループ正規化の精度はバッチ正規化を大きく上回ったと報告された。
答えを見る
答え × 誤り
一般的なバッチサイズでは、両者の精度は同程度でした。差が大きく開いたのは、バッチサイズ2のような小さなバッチで学習した場合です。
-
グループ正規化でも、平均0・分散1にそろえた値に、チャネルごとに学習するパラメータで拡大と平行移動を加える。
答えを見る
答え ◯ 正しい
バッチ正規化と同じく、スケールγとシフトβを学習します。正規化によって表現できる範囲が狭まらないようにするためです。