1. Sigmoid
- 定义:
- 范围: (0, 1)
- 特性:
- 非线性函数,将输入映射到 (0, 1) 区间,常用于二分类问题的输出层。
- 导数平滑,但在 x 很大或很小时,梯度趋近于 0,导致“梯度消失”问题。
- 优点: 输出具有概率解释。
- 缺点: 不以零为中心,梯度消失问题限制了其在深层网络中的应用。
2. ReLU (Rectified Linear Unit)
- 定义: f(x)=max(0,x)
- 范围: [0, ∞)
- 特性:
- 线性(分段),计算简单,收敛速度快。
- 当 x<0 时,输出为 0,导数为 0,可能导致“神经元死亡”问题。
- 优点: 缓解梯度消失,提升训练效率。
- 缺点: 输出非零中心,可能导致偏置偏移;负值区域无梯度。
3. Leaky ReLU
- 定义:
,其中 α 是一个小的正数(如 0.01)
- 范围: (-∞, ∞)
- 特性:
- ReLU 的改进版,负值区域有微小斜率,避免“神经元死亡”。
- 优点: 保留 ReLU 的优点,同时对负输入有响应。
- 缺点: α 需要手动调参,效果依赖具体任务。
4. Tanh (双曲正切)
- 定义:
- 范围: (-1, 1)
- 特性:
- 非线性,以零为中心,输出对称。
- 类似 Sigmoid,但在两端饱和时梯度消失。
- 优点: 零中心化输出有助于梯度更新。
- 缺点: 依然存在梯度消失问题。
5. Swish
- 定义:
- 范围: 大约 (-∞, ∞),具体取决于 β
- 特性:
- 非线性,结合了 ReLU 和 Sigmoid 的特性。
- 平滑且非单调,负值区域有微小输出。
- 优点: 在某些任务中优于 ReLU,提升模型性能。
- 缺点: 计算复杂度稍高,β 需要调优。
6. GELU (Gaussian Error Linear Unit)
- 定义:
,其中 Φ(x) 是标准正态分布的累积分布函数 (CDF)。近似形式为
。
- 范围: 大约 (-∞, ∞),但负值区域输出较小。
- 特性:
- 非线性,结合了 ReLU 的线性特性和概率加权思想。
- 负值区域输出非零但被平滑压缩,类似于高斯分布的加权效果。
- 平滑且连续,导数存在且变化平缓。
- 优点:
- 在 Transformer 等模型中表现优异(如 BERT),比 ReLU 和 Swish 在某些任务中更具优势。
- 避免了 ReLU 的“神经元死亡”,负值区域仍有微弱响应。
- 缺点: 计算复杂度较高,因涉及 tanh或 erf 函数。