バッチ正規化の説明として、最も適切なものを1つ選びなさい。
- ①学習データ全体を一度だけ0から1の範囲にそろえ、以後は同じ値を使い続ける。
- ②データ1件ごとに、そのデータのすべてのチャネルをまとめて正規化する手法である。
- ③ミニバッチごとに各層への入力を平均0・分散1に近づけ、学習を安定させて速める。
- ④ネットワークの重みを正規分布に従う乱数で初期化し、学習を始める手法である。
答えと解説を見る
バッチ正規化(Batch Normalization)は、ニューラルネットワークの各層で、ミニバッチ単位で入力(や出力)を平均0・分散1に近づけるように正規化する手法です。各層に入ってくる値の分布が学習中に大きく変わらないようにすることで、学習が安定して速く進み、重みの初期値への依存も小さくなります。過学習を抑える効果もあると考えられています。一方、ミニバッチの統計量を使うため、バッチサイズが小さいと効果が不安定になるという弱点があります。
他の選択肢が不適切な理由
・データ全体を一度だけ0から1にそろえる:これは前処理としての正規化の説明で、ネットワークの層の中で行うバッチ正規化とは異なります。
・データ1件ごとに全チャネルをまとめて正規化する:これは「レイヤー正規化」の説明です。
・重みを正規分布に従う乱数で初期化する:これは重みの初期化の説明です。
覚え方のポイント
正規化層は「どの範囲で平均と分散をとるか」で区別します。「バッチ正規化=ミニバッチ全体で、チャネルごと」「レイヤー正規化=データ1件ごとに、全チャネル」「インスタンス正規化=データ1件ごと・チャネルごと」です。