大模型里的「激活函数」到底是啥?
不堆公式、不绕弯子。用一张图和几个交互,把"激活函数"从名词变成你脑子里的画面。
一、一句话答案
激活函数(Activation Function)是神经网络里一个"套在线性计算外面"的非线性函数。 它决定一个神经元「该输出多少信号」,就像给每个神经元配了个智能阀门: 输入小就少放、输入大就多放、该关的时候干脆关死。
没有它,成千上万个"矩阵乘法"叠在一起,本质上还是一条直线 —— 再深的网络也学不会"弯曲",学不了真实世界里那些弯弯绕绕的规律。
二、为什么必须有它:没有激活 → 退化为一条直线
先看一个扎心的真相:神经网络里绝大部分计算都是「加权求和」——本质是线性变换。
如果激活函数是「什么都不做」(恒等函数 f(x)=x),那么:
—— 两个线性层叠起来,还是一个线性层!无论叠 100 层还是 1000 层,整体永远是一条直线(或超平面)。
三、形象类比:智能水龙头 / 门
把每个神经元想成一条水管里的阀门,你就能秒懂:
🚰 比喻成水龙头
输入是水压,激活函数是水龙头开关。线性层负责"加压/减压",激活函数是"拧阀门"。只加压不拧阀门,水还是按固定比例流,没变化。
🧠 比喻成神经元
生物神经元:突触加权求和 → 超过阈值才放电。激活函数就是「放电规则」——它让网络里有的路通、有的路断,形成稀疏而灵活的表示。
四、它到底算什么:一个神经元里的小剧场
一个神经元的标准动作分两步:
z,输出也是一个实数 a。
正因为它简单又能改"形状",才适合塞进每一层、每个位置。
五、常见激活函数全家福
下面这些是大模型发展史上真正出场过的几位。先记住一句话:Transformer 的前馈网络(FFN)几乎都用 GELU / SiLU,注意力里用的是 Softmax(另一种归一化)。
Sigmoid
老牌选手,把实数压到 (0,1)。像"概率"。但两端太平,梯度几乎为 0 → 梯度消失,大模型基本淘汰。
Tanh
压到 (-1,1),比 Sigmoid 好在"零中心"。但同样饱和、梯度消失,也少见了。
ReLU
最简单:负的变 0,正的不变。早期 Transformer 用过。便宜、不消失梯度,但负区"死掉"。
LeakyReLU
ReLU 的改良:负区给一点小斜率,避免彻底死掉。
GELU ⭐
BERT / GPT-2 默认。平滑、非负、带「门控」思想:越不确定的输入越被压制。
SiLU / Swish ⭐
LLaMA、Mistral 等现代大模型主力。SiLU 即 β=1 的 Swish,平滑且自带门控。
六、交互:亲眼看看曲线
拖动滑块改变输入 x,看不同激活函数在同个点上的输出;点击下方按钮切换函数。
七、大模型里,激活函数到底用在哪?
以经典 Transformer(GPT / LLaMA 之类)为例,激活函数主要出现在两个地方:
常见大模型的激活选择
| 模型 | FFN 激活 | 备注 |
|---|---|---|
| BERT / GPT-2 | GELU | 带动量的经典默认 |
| GPT-3 | GELU | 沿用 GPT-2 设计 |
| LLaMA 1/2/3、Mistral | SiLU | = Swish(β=1),现代主流 |
| PaLM | Swish | Google 提出 Swish |
| 早期 Transformer(原论文) | ReLU | 2017 原始版本 |
八、为什么大模型选了 GELU / SiLU,而不是 ReLU?
1. 平滑,没有"硬折点"
ReLU 在 0 处是弯折的,反向传播时梯度不连续;GELU/SiLU 处处可导且平滑,训练更稳定、收敛更好。
2. 自带"门控"思想
它们形如 x · σ(...),相当于"用 sigmoid 当门,决定让多少 x 通过"。这跟注意力机制的"加权"思想一脉相承,很契合 Transformer。
3. 保留负信息
ReLU 直接把负数砍成 0,可能丢掉有用信息;SiLU 在负区很接近 0 但不等于 0,保留了微弱信号。
4. 实验效果更好
在大规模语言任务上,GELU/SiLU 的困惑度(perplexity)普遍优于 ReLU,于是被默认沿用。
九、它到底解决了什么问题(收口)
- 非线性表达:让多层网络能拟合任意复杂映射,而不是退化成一条线。
- 特征筛选 / 稀疏:像阀门一样,让某些信号通过、某些被压制,形成有意义的分布式表示。
- 梯度可训练:好的激活(ReLU→GELU→SiLU)缓解梯度消失,让深层网络训得动。
- 门控语义:GELU/SiLU 把"按置信度放行"做成可学习的旋钮,和注意力天然合拍。
十、小结速记
| 你的问题 | 答案 |
|---|---|
| 激活函数是啥? | 套在线性计算外的非线性函数,逐元素地决定"放出多少信号" |
| 原理? | 引入非线性 → 多层叠加能逼近任意函数(万能逼近) |
| 形象理解? | 智能水龙头 / 神经元的放电规则 |
| 大模型用哪个? | FFN 里用 GELU / SiLU,注意力里用 Softmax |
| 解决什么问题? | 非线性表达、稀疏筛选、梯度可训练、门控语义 |