神经网络激活函数:从ReLU到前沿SwiGLU
摘要
本文全面介绍了神经网络中常用的激活函数,包括Sigmoid、Tanh、ReLU等传统函数,以及2017年后出现的Swish、Mish、SwiGLU等新兴函数。每个函数均提供数学定义、优缺点分析、Python实现代码和可视化图像,并附有实际应用建议和性能对比数据,帮助读者根据具体任务选择合适的激活函数。
1. 激活函数核心概念与作用
激活函数是神经网络中的非线性变换组件,其主要作用包括:
- 引入非线性:使神经网络能够学习复杂模式和关系
- 控制输出范围:限制神经元输出值在合理范围内
- 影响梯度流动:通过导数影响反向传播中的梯度计算
- 增强表示能力:提高模型对复杂数据的拟合能力
理想激活函数的特性:
- 非线性
- 可微分(至少几乎处处可微)
- 单调性(多数但不必须)
- 近似恒等性(f(x)≈x near 0)