跳转至

激活函数

激活函数给网络引入非线性。没有它,再深的全连接堆叠也只是一个大线性变换。

为什么必须有

两层线性:

\[ W_2(W_1 x + b_1) + b_2 = (W_2 W_1)x + (W_2 b_1 + b_2) \]

仍是线性。中间插入非线性 \(\phi\) 后,才能拟合弯曲的决策边界。

常用激活

名称 形式 / 特点 常见场景
Sigmoid \((0,1)\),易饱和 门控、二分类输出
Tanh \((-1,1)\),零中心 部分 RNN
ReLU \(\max(0,x)\),快 隐藏层默认
Leaky ReLU 负轴小斜率 缓解死神经元
GELU / SiLU 平滑「软 ReLU」 Transformer 等

Softmax 一般作为输出层把 logits 变成概率,见 概率统计。

怎么选

  1. 隐藏层默认 ReLU(Transformer 常用 GELU)。
  2. 二分类输出:Sigmoid + BCE;多分类:logits + CrossEntropy。
  3. 回归输出通常不加激活,或按值域选择。

激活的局部导数 \(\phi'(z)\) 会乘在回传梯度上;饱和区易导致梯度消失。