激活函数
神经网络中引入非线性的关键组件。没有激活函数,多层网络等价于单层线性变换;有了它,网络才能学会复杂模式。常见的有 ReLU、Sigmoid、GELU 等。
一句话理解
激活函数是神经网络中每个神经元的"开关逻辑"——它决定这个神经元的信号要不要往下传、怎么传。
为什么需要激活函数
线性变换的叠加仍然是线性的:
W2(W1x+b1)+b2=W′x+b′无论叠多少层,最终效果和一层没有区别。激活函数在每层之间插入非线性变换,打破了这个限制,使得深层网络能拟合任意复杂的函数关系。
常见激活函数一览
如何选择
TIP
实用选择指南
- 隐藏层默认选 ReLU(或其变体 Leaky ReLU),简单高效
- Transformer 架构选 GELU,已成为行业标准
- 二分类输出层选 Sigmoid,将 logit 转为概率
- 多分类输出层选 Softmax,将 logit 转为概率分布
- RNN/LSTM 隐藏层选 Tanh,零中心有助于训练稳定性
激活函数的本质
从几何角度看,激活函数对空间进行"折叠"和"扭曲"。单层线性变换只能画直线分界面,加入激活函数后,网络可以画出任意复杂的曲面来区分不同类别的数据。层数越多,能表达的曲面就越复杂。