AI解剖教室 · Part 6 トランスフォーマーを組み立てる
第57章 ゆれを抑える
Q. 結果を足し続けたら、96層あたりでは数がとんでもなく大きくならないでしょうか?
- 第56章で、結果を足し続けると言いましたね。層を通るたびに足すと、ベクトルの数がだんだん大きくなります。
- 同じ「学校に」なのに層ごとに大きさがこんなに違うと、部品は毎回ちがう物差しで計算することになります。計算がゆれます。
- そこで部品に入れる直前に、第15章の正規化をします。1つの単語ベクトルの中の数だけで、平均とばらつきを求めます。
- 平均10を引いて、ばらつき5で割るとこうなります。4倍に大きくなったベクトルでも同じ結果になります。
- この計算は単語ごとに別々にします。各単語が、自分の12,288個の数だけで平均とばらつきを求めます。
- 最後に、数ごとに倍率をかけて値を足します。この値は学習で決まるので、ちょうどいい大きさをモデルが選びます。
- GPTでは、アテンションとフィードフォワードに入る直前に毎回正規化します。高速道路の上の元の値はそのままです。
この章のまとめ
- 層を通りながら結果を足していくと、ベクトルの数が大きくなり、ばらばらになる。
- レイヤー正規化:単語ごとに自分の数で平均を引き、ばらつきで割る(第15章)。そのあと倍率をかけて値を足す。
- GPTは、アテンションとフィードフォワードに入る直前に毎回正規化する。