激活函数(Activation Function)是神经网络中每个神经元输出前施加的非线性变换:接收加权和(输入×权重之和),输出一个激活值。它是不起眼但不可或缺的零件——如果去掉所有激活函数,无论叠多少层网络,整体仍等价于一个线性模型,学不会任何复杂模式。
为什么必须“非线性”
现实世界的问题(识别图片、理解语言)都不是线性关系能描述的。激活函数引入弯折,让多层网络能逼近任意复杂的函数。
代表函数
- ReLU:负数归零、正数保留,计算极快,是深度学习时代的功臣
- GELU:更平滑的 ReLU 变体,GPT、BERT 等 Transformer 模型标配
- SwiGLU:门控变体,当前主流大模型(Llama、DeepSeek、Qwen)的 FFN 层普遍采用,效果略优
- Sigmoid / Tanh:早期常用,深层网络中易梯度消失,现多用于输出层或门控
位置
在 Transformer 中,激活函数主要出现在前馈网络(FFN)子层;注意力机制本身不使用非线性激活。