層正規化Layer Normalization

層ごとに数値の目盛りを整え直す仕組み

ポイント
  • 層正規化は層を一つ通るたびに数字の目盛りを整え直す仕組みです。
  • 整える基準は一つの場所が持つ数字の束の中です。隣の例や他の文は見ません。
  • 目盛りを整えたあとにはまた広げたりずらしたりするつまみが二つ付きます。どれだけ広げるかはモデルが学習で決めます。
  • この仕組みがないと、層が深くなるほど数字がとんでもなく大きくなるか0近くまで消えて学習が止まります。
  • 最近のモデルは層に入る前に目盛りを整えておく配置を主に使います。
目次

1たとえで理解する

模試の成績表には素点だけがぽつんと書いてあるわけではありません。国語は100点満点、数学は200点満点、理科は50点満点なので、素点をそのまま並べると満点の大きい科目が全体を左右してしまいます。だから成績表は散らばった点数を同じ目盛りに換算して並べて見せます。

ニューラルネットワークの中でも同じことが起きます。層を一つ通るたびに数字は勝手に大きくなったり小さくなったりします。ある場所は数百まで跳ね上がり、ある場所は0の近くに固まっています。この状態のまま次の層に渡すと、跳ねた一か所が判断全体を飲み込んでしまいます。

層正規化は層が終わるたびに成績表を作り直す作業です。その場所にある数字の平均を真ん中に寄せ、広がった幅を一定に狭めて次の層へ渡します。

2くわしく

目盛りがずれると学習が止まります

層が深くなるほど問題は大きくなります。ある層で数字が1.5倍に膨らむ癖がつくと、層を二十回通る間にその癖が掛け合わさり、最初の何千倍にもなります。逆に毎層少しずつ縮むなら、最後の層に着く頃にはほとんど0です。

学習は最後から最初の方向へ誤差を送り返すことで進みますが、送り返される値も同じ掛け算をたどります。だから手前の層は何の信号も受け取れないか、抱えきれない大きさの信号を受け取ります。手前の層が学べなければ、深く積んだ意味がなくなります。

層正規化は、この掛け算が積み重ならないよう毎層で目盛りを元の位置に戻します。おかげで層を何十も重ねても、最初の層と最後の層が似た大きさの数字を扱えます。

基準は一つの場所の中だけです

ここでいう一つの場所とは、文の中の一片が持つ数字の束のことです。言語モデルは一片ごとに数千個の数字を持ち歩きます。層正規化はその数千個の中だけで平均と幅を求めます。

隣を見ないという点が重要です。一度に何文をまとめて計算しても、文が長くても短くても、それぞれの場所は自分の数字だけを見て目盛りを合わせます。だから文一つだけを入れて答えを作るときも、学習のときとまったく同じように動きます。

長さがまちまちな文章を扱うモデルでは、この性質が特に有利です。複数の例をまたいで平均を取る方式は、短い文と長い文が混ざると基準が揺らいでしまうからです。一片ずつ完結して計算できるおかげで、文の長さや一度に処理する文の数が変わっても同じ計算がそのまま使えます。

戻すためのつまみが二つ

目盛りを強制的に合わせると、モデルがせっかく作った大きさの違いが消えてしまうことがあります。そこで正規化のあとにはつまみが二つ付きます。一つは幅をまた広げたり狭めたりし、もう一つは全体を上下にずらします。

このつまみは人が決めるのではなく学習で決まります。特定の場所の違いを大きく残すほうが有利なら、モデルはその場所のつまみを大きくします。正規化は情報を捨てているのではなく、出発点だけをそろえておき、どれだけ広げるかはモデルに任せているわけです。

層の前に置くか後に置くか

初期の構造は層の計算が終わったあとに正規化を付けていました。この配置は層がとても深くなると学習の序盤が大きく揺れるので、学習率をごく小さく始めてゆっくり上げる準備運動が必要でした。

最近よく使われる配置は逆です。層に入る前に先に目盛りを合わせ、層が作った結果は近道を通ってきた手つかずの値に足します。こうすると最初から最後までつながる通路がきれいに残り、非常に深いモデルでも安定して学習できます。

同じ仕組みでもどこに置くかで学習がうまくいくかどうかが分かれるわけです。目盛りを合わせる計算そのものより、どの場所に差し込むかのほうが大きな違いを生んだという点が、深いモデルを扱う中で得られた教訓の一つです。ほんの少しの配置の違いが、モデルを学習できるかできないかを分けてしまうこともあります。

3もう少し正確に

層正規化は、一つの例の特徴値の束の中で平均と標準偏差を求め、平均を引いて標準偏差で割ったあと、学習される二つの値で改めて広げてずらす演算です。複数の例をまたいで同じ位置どうしをまとめて計算するバッチ正規化とは、まとめる方向が正反対です。最近のモデルは平均を引く段階を省いて大きさだけを合わせる、より軽い変形を使うこともあり、計算が減るのに性能差がほとんどないため広まりました。

たとえがずれる点もあります。成績表の換算は人が見やすいように一度行って終わりですが、層正規化は答えを一片作るたびに層の数だけ繰り返されます。また成績表は科目ごとの順位を教えてくれますが、正規化は順位をつけません。数字どうしの相対的な位置関係はそのままにして、目盛りだけを変えます。最後に、名前に正規化が入っていますが、過学習を防ぐ規則化とは目的がまったく違います。こちらは学習が崩れないよう支える計算の安定装置です。

4やってみる

5よくある誤解

  • データを入れる前に一度だけ行う前処理と同じだと思われがちですが、実際にはモデルの中で層を通るたびに毎回新しく行われます。

  • 目盛りを合わせると情報が消えると心配されがちですが、実際には相対的な大きさの関係がそのまま残り、学習されたつまみで望むだけ取り戻せます。

  • 過学習を防いでくれる仕組みだと思われがちですが、実際には深い層で数字が跳ねたり消えたりしないよう支える安定装置です。

7ひとこと要約

つまり層正規化は層を通るたびに数字の目盛りを元の位置に戻し、深く積んだニューラルネットワークが崩れずに学習できるようにする仕組みです。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02