GELU(高斯误差线性单元)

Gaussian Error Linear Unit,一种平滑的非线性激活函数。与 ReLU 的"硬截断"不同,GELU 对负值做概率性保留而非直接归零,输出更平滑。GPT、BERT 等主流 Transformer 模型的 FFN 层默认使用 GELU 替代 ReLU。

直觉

ReLU 对负值一刀切——小于 0 全部归零。GELU 更柔和:它根据输入值的大小,用一个概率来决定"保留多少"。值越负,被抑制得越多;值越正,保留得越完整;在零附近是平滑过渡而非硬拐点。

GELU(x)=xΦ(x)\text{GELU}(x) = x \cdot \Phi(x)GELU(x)=xΦ(x)

其中 Φ(x)\Phi(x)Φ(x) 是标准正态分布的累积分布函数(CDF)。直觉上:Φ(x)\Phi(x)Φ(x) 返回一个 0-1 之间的概率值,乘以 xxx 本身就是"按概率保留输入"。

为什么 Transformer 用 GELU

Transformer 的 FFN 层对每个 token 独立做非线性变换。ReLU 在零点不可导(硬拐点),大量神经元输出恒为零("dead neurons")。GELU 的平滑曲线让梯度在零附近更稳定,训练更顺畅。

实证上,GELU 在 GPT-2、BERT、GPT-3 等模型上始终优于 ReLU,已成为 Transformer FFN 的事实标准激活函数。

引用本术语的文章