読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】バッチ正規化・レイヤー正規化・インスタンス正規化・グループ正規化、どこで平均をとるかの違いって何?【G検定】

11レスカテゴリ:AI・機械学習
1: 名無しさん

正規化層が4種類あって、図を見てもどこがどう違うんか分からん

2: 名無しさん

前提のおさらい。畳み込み層の出力は「データの枚数 × チャンネル × 縦 × 横 」の4次元。正規化層は、このどこかの範囲で平均と分散を出して、値をそろえる

3: 名無しさん

>>1
やることはどれも同じで、範囲内の値から平均を引いて標準偏差で割り、そのあと学習するパラメータ (倍率)と (ずらし)をかける

値が 2, 4, 6, 8 なら、平均5・分散5で、 は約 −1.34, −0.45, 0.45, 1.34

4: 名無しさん

>>3
違うのは、平均と分散をどの範囲でとるか
バッチ正規化:チャンネルごとに、ミニバッチの全部のデータ・全部の画素で
レイヤー正規化:データ1件ごとに、全部のチャンネル・全部の画素で
インスタンス正規化:データ1件・チャンネル1つごとに、その画素だけで
グループ正規化:データ1件ごとに、チャンネルをいくつかのグループに分けて、グループ内で

5: 名無しさん

>>4
グループ正規化はあいだを取ったもの。32チャンネルを8グループにすると、4チャンネルずつで平均をとる
グループを1つにすればレイヤー正規化、32グループ(1チャンネルずつ)にすればインスタンス正規化と同じになる

6: 名無しさん

>>4
なんで4つもあるん?バッチ正規化だけでええやん

7: 名無しさん

>>6
バッチ正規化は、ミニバッチの中のほかのデータを使って平均をとるから、ミニバッチが小さいと平均がぶれる
画像が大きくて1回に2枚しか入らん検出やセグメンテーションでは困る。グループ正規化はデータ1件の中だけで計算するから、ミニバッチの大きさに左右されん

8: 名無しさん

>>7
文の長さがばらばらな系列のデータでも、バッチ正規化は使いにくい。だからRNNやTransformerではレイヤー正規化を使う

9: 名無しさん

>>4
インスタンス正規化は、画像のスタイル変換でよく使われる。1枚ごと・チャンネルごとに明るさやコントラストのくせを消すから、絵のタッチを入れかえやすい

10: 名無しさん

>>3
バッチ正規化は、学習のときと予測のときで計算が違うのも注意。予測のときはミニバッチがないから、学習中にためておいた平均と分散を使う

11: 名無しさん

>>10
正規化を入れると、層ごとの値の大きさがそろって、学習率を大きめにしても学習が安定しやすい。勾配消失や爆発の対策の1つに数えられるのはそのため

管理人のひとこと