Transformer の数学

Deep Learning の文脈で正規化とはデータの分布を平均が 0 、分散が 1 のように統計的性質をもつように調整することです。

標準正規分布

確率変数 Z が標準正規分布に従うとは、以下の確率密度関数( PDF: Probability Density Function )を持つことをいいます。

  • f(z)z は実現値( realization )を表す小文字
  • 確率変数は Z(大文字)
\[f(z) = \frac{1}{\sqrt{2\pi}} e^{-\frac{z^2}{2}} \quad \text{※ Probability Density Function}\]

$Z \sim \mathcal{N}(0, 1)$

性質
平均(期待値)E[Z] 0
分散 $Var(Z) = σ^2$ 1
標準偏差 σ 1
歪度(skewness) 0(左右対称)
尖度(kurtosis) 3(超過尖度は 0

累積分布関数( CDF: Cumulative Distribution Function )

\[\Phi(z) = \int_{-\infty}^{z} \frac{1}{\sqrt{2\pi}} e^{-\frac{t^2}{2}} dt\]

GELU関数と標準正規分布の関係

GELUの定義

GELU( Gaussian Error Linear Unit )は以下のように定義されます。

\[\text{GELU}(x) = x \cdot P(Z \leq x) = x \cdot \Phi(x)\]

ここで Z ~ N(0, 1)Φ(x) は標準正規分布の累積分布関数( CDF )です。

展開すると

\[\text{GELU}(x) = x \cdot \int_{-\infty}^{x} \frac{1}{\sqrt{2\pi}} e^{-\frac{t^2}{2}} dt\]

つまり標準正規分布のCDFで入力をスケーリングする関数です。

直感的な解釈

入力 x Φ(x) 挙動
x → +∞ → 1 ≈ x(線形)
x = 0 = 0.5 = 0
x → -∞ → 0 ≈ 0(消滅)

「大きい正の値はそのまま通し、大きい負の値は抑制する」確率的なゲートとして機能します。

近似式(実装で使われる)

厳密な Φ(x) は計算コストが高いため、実用上は近似が使われます:

tanh 近似( OpenAI / BERT 等で使用):

\[\text{GELU}(x) \approx \frac{x}{2} \left(1 + \tanh\left(\sqrt{\frac{2}{\pi}}\left(x + 0.044715x^3\right)\right)\right)\]

sigmoid近似:

\[\text{GELU}(x) \approx x \cdot \sigma(1.702x)\]

ReLUとの比較

\[\text{ReLU}(x) = \max(0, x)\]
特性 ReLU GELU
微分可能性 x=0 で不連続 全域で滑らか
負の入力 完全にゼロ 確率的に抑制
計算コスト 高(近似で軽減)
採用モデル CNN等 BERT, GPT, ViT等

LLMでの重要性

GELUは BERT・GPT・PaLM・Gemini 等の主要LLMで活性化関数として採用されています。標準正規分布のCDFを使うことで:

  • 滑らかな勾配 → 学習が安定
  • 確率的解釈 → 「この入力を通す確率」として自然に解釈可能

標準正規分布がLLMのアーキテクチャに直接組み込まれている好例です。

確率密度関数と累積分布関数

サイコロは離散型なので「確率密度関数」ではなく確率質量関数(PMF: Probability Mass Function)と呼びます。

確率質量関数:

\[P(Z = k) = 1/6, k = 1, 2, 3, 4, 5, 6\]

累積分布関数:

\[F(k) = Σ P(Z = n) = k/6, k = 1, 2, 3, 4, 5, 6 n=1\]
  離散型(サイコロ) 連続型(正規分布)
関数名 PMF PDF
合計/積分 Σ = 1 ∫ = 1
CDF F(k) = Σ P(Z=n) Φ(z) = ∫ f(t)dt