Softmax 归一化、欧拉数 e 与求导
记录于 2026-05-25,手算 Self-Attention 时的推导
从一道练习题顺藤摸瓜,挖到了微积分的根基
Softmax 公式
softmax(x_i) = e^x_i / Σ e^x_j三步走:
输入:[1, 0, 1]
① 每个数取 e 的幂: [e^1, e^0, e^1] = [2.718, 1, 2.718]
② 求总和: 2.718 + 1 + 2.718 = 6.436
③ 每个除以总和: [2.718/6.436, 1/6.436, 2.718/6.436]
= [0.422, 0.155, 0.422]
验证:0.422 + 0.155 + 0.422 = 1 ✓核心:把任意数字变成概率分布(全部 ≥0,加起来 = 1)。
用大白话说
三步,像分蛋糕:
① 把每个人变"正数"(取 e 的幂)
1 → 2.7
0 → 1
-3 → 0.05保证没有人是负数,都能分到蛋糕。
② 全部加起来 — 看看蛋糕总共多大
2.7 + 1 + 2.7 = 6.4③ 每人除以总和 — 算出各自的比例
2.7 ÷ 6.4 = 0.42
1 ÷ 6.4 = 0.16
2.7 ÷ 6.4 = 0.42结果:三份加起来 = 1。原来只看到 [1, 0, 1],归一化后变成 [42%, 16%, 42%]——这个词用 42% 注意力,那个词只用 16%。
不是按年龄分,是按"谁更饿"(原始分数更大)分。越饿分到越多,但盘子永远是完整的一个。
为什么用 e,不用 10 或 2?
换个底数也能归一化:
| 底数 | ① 取幂 | ② /总和 | 结果 |
|---|---|---|---|
| e | e^1=2.72, e^0=1, e^1=2.72 | /6.44 | 0.42, 0.16, 0.42 |
| 10 | 10^1=10, 10^0=1, 10^1=10 | /21 | 0.48, 0.05, 0.48 |
| 2 | 2^1=2, 2^0=1, 2^1=2 | /5 | 0.40, 0.20, 0.40 |
规律:底数越大,注意力越集中(大的更大,小的更小)。都能归一化。
那为什么选 e?
因为训练时要反向传播,要对 softmax 求导:
(e^x)' = e^x ← 导数 = 自己,干净
(10^x)' = 10^x·ln(10) ← 多一个常数 2.3
(2^x)' = 2^x·ln(2) ← 多一个常数 0.69e 是唯一让导数等于自己的底数。论文不是偏爱 e,而是数学上只有它能做到。
求导是什么
求导 = 问某一瞬间的变化速度。
y = x^2
x=1 → y=1
x=2 → y=4 变化+3
x=3 → y=9 变化+5
x=4 → y=16 变化+7问:x=3 这一刻,y 的变化速度是多少?
用极限定义:
f'(x) = lim (f(x+Δx) - f(x)) / Δx
Δx→0推导 y=x^2:
((x+Δx)^2 - x^2) / Δx
= (x^2 + 2x·Δx + (Δx)^2 - x^2) / Δx ← 展开平方
= (2x·Δx + (Δx)^2) / Δx ← x^2 抵消
= 2x + Δx ← 约掉 Δx
→ 2x ← Δx→0y' = 2x。x=3 时,瞬时速度 = 6。
欧拉数 e 从哪里来
e 不是拍脑袋定的,是算出来的:
存 1 块钱,年利率 100%。如果无限次复利:
一年结一次: (1 + 1)^1 = 2
半年结一次: (1 + 0.5)^2 = 2.25
每月结一次: (1+1/12)^12 = 2.613
每天结一次: (1+1/365)^365 = 2.7146
⋮
无限趋近: lim (1+1/n)^n = e ≈ 2.71828
n→∞e 的意义:连续复利的极限。 任何「每一刻都在按当前值的比例增长」的现象,轨迹都是 e^x。
| 现象 | 规律 |
|---|---|
| 细菌繁殖 | 每秒按当前数量增长 → e^x |
| 放射性衰变 | 每秒按当前数量衰减 → e^(-x) |
| 钱生钱(连续复利) | 理论上限 → e |
为什么 e^x 的导数是它自己
(e^x)' = e^x因为 e 的定义就保证了这点:
(任意底数 a^x)' = a^x · ln(a)
要让导数是自己,需要 ln(a) = 1
ln 等于 1 的那个数,就是 e类比:π 是「周长 ÷ 直径」= 3.14,e 是「ln=1 的那个数」≈ 2.718。都不是谁定的,是算出来的。
这些怎么串起来
手算 Attention 的 softmax 步骤
↓
"为什么是 e^x 不是 10^x?"
↓
因为训练时要反向传播(求导)
↓
"什么是求导?"
↓
极限定义:(f(x+Δx)-f(x))/Δx,Δx→0
↓
"为什么 e^x 求导 = 自己?"
↓
因为 e 的定义就是 ln(e)=1,令 (a^x)'=a^x 的唯一解
↓
"e 从哪来?"
↓
lim (1+1/n)^n,连续复利的极限一道 Attention 练习题,把微积分的根基全翻出来了。