文章目录
以下是常用的激活函数总结
1. ReLU (Rectified Linear Unit) (2010年)
-
函数:
-
优点:
- 简单易实现,计算效率高。
- 在正值区域梯度不会消失,有助于缓解梯度消失问题。
-
缺点:
- 当输入为负时,梯度为零,导致神经元可能会“死亡”,即永远不会被激活。
-
使用场景:
- 广泛用于多层感知机、卷积神经网络等深度学习模型中。
2. Leaky ReLU (2013年)
-
函数:
其中, α \alpha α是一个小于1的常数(例如0.01)。 -
优点:
- 解决了ReLU的“死亡神经元”问题。
-
缺点:
- 仍然存在非零的负值区域,可能对某些任务不够理想。
-
使用场景:
- 深度神经网络中代替ReLU,尤其是在处理稀疏输入时。
3. ELU (Exponential Linear Unit) (2015年)
- 函数:
其中,
α
\alpha
α通常为1。
-
优点:
- 保持非负激活值,有助于梯度流动。
-
缺点:
- 计算复杂度高于ReLU。
-
使用场景:
- 深度神经网络中的隐藏层。
4. GELU (Gaussian Error Linear Unit) (2016年)
- 函数:
-
优点:
- 表现出更好的学习能力和稳健性,尤其在Transformer模型中。
-
缺点:
- 计算复杂度高于ReLU和Leaky ReLU。
-
使用场景:
- Transformer模型、BERT等大型预训练模型中。
5. SELU (Scaled Exponential Linear Unit) (2017年)
- 函数:
其中,
λ
\lambda
λ 和
α
\alpha
α 是定值,通常为
λ
≈
1.0507
\lambda \approx 1.0507
λ≈1.0507 和
α
≈
1.6733
\alpha \approx 1.6733
α≈1.6733。
-
优点:
- 自归一化特性,有助于保持网络中的激活值在一定范围内。
-
缺点:
- 对输入数据有一定要求,通常需要中心化和标准化处理。
-
使用场景:
- 自归一化神经网络(Self-Normalizing Neural Networks, SNNs)中。
6. SiLU (Sigmoid Linear Unit) / Swish (2017年)
-
函数:
-
优点:
- 平滑且连续可导,有助于梯度流动。
- 在某些任务中表现优于ReLU。
-
缺点:
- 计算复杂度高于ReLU。
-
使用场景:
- 图像分类、自然语言处理等任务中。
7. Tanh (Hyperbolic Tangent)
- 函数:
-
优点:
- 输出值在-1和1之间,对称性较好。
-
缺点:
- 仍然可能导致梯度消失问题。
-
使用场景:
- 隐藏层中的激活函数。
8. Sigmoid
- 函数:
-
优点:
- 输出值在0和1之间,适用于二分类问题。
-
缺点:
- 容易导致梯度消失问题。
-
使用场景:
- 输出层用于二分类问题。
9. Softmax
- 函数:
-
优点:
- 输出值为概率分布,适用于多分类问题。
-
缺点:
- 计算复杂度高。
-
使用场景:
- 输出层用于多分类问题。
Enjoy~
∼ O n e p e r s o n g o f a s t e r , a g r o u p o f p e o p l e c a n g o f u r t h e r ∼ \sim_{One\ person\ go\ faster,\ a\ group\ of\ people\ can\ go\ further}\sim ∼One person go faster, a group of people can go further∼