結論
バッチ正規化は、ミニバッチ内の複数のサンプルにまたがって、特徴(チャネル)ごとに平均と分散を求めて値をそろえます。レイヤー正規化は、1つのサンプルの中で、その層のすべてのユニットをまとめて平均と分散を求めるため、バッチサイズに左右されません。
比較表
| 観点 | バッチ正規化 | レイヤー正規化 |
|---|---|---|
| 英語 | batch normalization | layer normalization |
| 提案 | 2015年(IoffeとSzegedy) | 2016年(Baら) |
| 平均と分散を計算する範囲 | ミニバッチ内の複数のサンプルにまたがり、特徴(チャネル)ごと | 1つのサンプルの中で、その層のすべてのユニットをまとめて |
| バッチサイズの影響 | 小さいと統計量の推定がぶれ、学習が不安定になりやすい | 受けない(バッチサイズ1でも同じ計算) |
| 推論時の統計量 | 学習中に移動平均などで記録しておいた値を使う | 入力されたサンプルからその場で計算する(学習時と同じ) |
| そろえた後の処理 | 学習するパラメータγとβで拡大・平行移動する | 同じく、学習するパラメータγとβで拡大・平行移動する |
| 主な使用先 | CNN(畳み込み層の直後など) | RNN、Transformer(BERTやGPT系を含む) |
| シラバス項目 | 技術分野 項目19 正規化層 | 技術分野 項目19 正規化層 |
それぞれの説明
バッチ正規化
バッチ正規化は、2015年にIoffeとSzegedyが提案しました。学習はミニバッチ単位で進みます。バッチ正規化は、そのミニバッチに含まれる複数のサンプルの値を特徴(CNNではチャネル)ごとに集めて平均と分散を求め、平均0・分散1にそろえます。
各層への入力の大きさがそろうので、大きめの学習率でも発散しにくくなり、学習が速く進みます。ただし、統計量がほかのサンプルに依存するため、ミニバッチが小さいと推定がぶれます。また、推論では1件ずつ予測することもあるので、学習中に記録しておいた平均と分散を使います。学習時と推論時で計算が変わる点が特徴です。
レイヤー正規化
レイヤー正規化は、2016年にBaらが提案しました。1つのサンプルの中で、その層のすべてのユニットの値をまとめて平均と分散を求めます。ほかのサンプルを使わないので、バッチサイズが1でも同じ計算ができます。学習時と推論時の計算も同じです。
時刻ごとに計算し、系列の長さもデータごとに違うRNNと相性がよい手法です。現在はTransformerの標準的な部品で、元のTransformerでは、各サブ層の出力に入力を足し合わせた後に置かれています。
共通点と使い分け
どちらも、そろえた値に学習するパラメータ(γとβ)で拡大と平行移動を加えてから、次の層へ渡します。違うのは、平均と分散を計算する範囲です。
目安として、CNNではバッチ正規化、RNNやTransformerではレイヤー正規化が使われます。CNNでもバッチサイズを大きく取れないときは、チャネルをいくつかのグループに分けて計算するグループ正規化が選ばれます。
見分けるコツ
- どの向きに平均をとるかで見分けます。複数のサンプルを見比べて特徴ごとにそろえるならバッチ正規化、1つのサンプルの中だけでそろえるならレイヤー正規化です。
- 推論時の扱いが分かれ目になります。学習中に記録しておいた統計量を推論で使うのは、バッチ正規化のほうです。
- 問題文に「バッチサイズを小さくしか取れない」とあれば、レイヤー正規化やグループ正規化を選ぶ場面です。「系列の長さがデータごとに違う」RNNやTransformerなら、レイヤー正規化です。
◯×チェック
-
レイヤー正規化では、同じミニバッチに含まれるほかのサンプルの値が、あるサンプルの正規化の結果に影響する。
答えを見る
答え × 誤り
レイヤー正規化は、1つのサンプルの中だけで平均と分散を計算します。ほかのサンプルの値が影響するのは、ミニバッチ全体で統計量を求めるバッチ正規化です。
-
メモリの制約でミニバッチを数件程度にしか取れない場合、バッチ正規化は平均と分散の推定がぶれて、性能が下がりやすい。
答えを見る
答え ◯ 正しい
少ないサンプルから求めた統計量はぶれが大きくなります。こうした場面では、サンプルごとに計算するレイヤー正規化やグループ正規化が候補になります。
-
レイヤー正規化は、平均0・分散1にそろえた後に、学習するパラメータによる拡大と平行移動を行わない点がバッチ正規化と異なる。
答えを見る
答え × 誤り
どちらも、そろえた後に学習するパラメータ(γとβ)で拡大と平行移動を加えます。2つの違いは、平均と分散を計算する範囲です。
関連問題
問題の一覧(2問)
出典と作成について
作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術19
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目19 正規化層)2026年10月30日閲覧
- Sergey Ioffe, Christian Szegedy, Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (2015)2026年10月30日閲覧
- Jimmy Lei Ba, Jamie Ryan Kiros, Geoffrey E. Hinton, Layer Normalization (2016)2026年10月30日閲覧
- Yuxin Wu, Kaiming He, Group Normalization (2018)2026年10月30日閲覧
- Ashish Vaswani et al., Attention Is All You Need (2017)2026年10月30日閲覧
ほかの違い比較51件
- アジャイルとウォーターフォールの違い
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- CBOWとスキップグラムの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- Faster R-CNNとYOLOの違い
- GANと拡散モデル(Diffusion Model)の違い
- GANとVAEの違い
- GDPRと個人情報保護法の違い
- 勾配降下法と誤差逆伝播法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LIMEとSHAPの違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い
- Zero-shotとFew-shotの違い