Transformer の数学
Transformer の数学
Deep Learning の文脈で正規化とはデータの分布を平均が 0 、分散が 1 のように統計的性質をもつように調整することです。
標準正規分布
確率変数 Z が標準正規分布に従うとは、以下の確率密度関数( PDF: Probability Density Function )を持つことをいいます。
f(z)のzは実現値( realization )を表す小文字- 確率変数は
Z(大文字)
$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 | |
| 合計/積分 | Σ = 1 |
∫ = 1 |
| CDF | F(k) = Σ P(Z=n) |
Φ(z) = ∫ f(t)dt |