常见的激活函数有:
一、Sigmoid 函数
公式:
σ(x) = 1/(1+e^(-x))
优点:
- 激活值范围在(0,1)之间,方便理解
- 在0处梯度最大
缺点: - 梯度消失问题严重
二、 tanh 函数
公式:
tanh(x)=(e^x - e^(-x))/(e^x + e^(-x))
优点:
- 激活值在(-1,+1)之间
- 均匀对称
缺点: - 梯度消失问题同Sigmoid
三、ReLU 函数
公式:
relu(x) = max(0,x)
优点:
- 计算简单,训练速度快
- 没有梯度消失问题
缺点: - 激活死区
四、LeakyReLU 函数
公式:
LeakyReLU(x) = {
x, if x >= 0
ax, otherwise
}
优点:
- 解决ReLU激活死区问题
五、Softmax 函数
优点:
- 输出值在(0,1)之间,便于解释为概率分布
总的来说:
- Sigmoid、Tanh存在梯度消失问题
- ReLU解决梯度消失,但有激活死区问题
- LeakyReLU解决激活死区的问题
- Softmax适用于概率分布式问题
不同的激活函数应用于不同场景:
- Sigmoid 分类问题
- Tanh GAN 等生成模型
- ReLU 中卷积层
- LeakyReLU RNN
- Softmax 多分类输出