笔记:深度学习中常见激活函数的概述(ReLU、ELU、Leakly ReLU等)
在深度学习中,激活函数在神经网络中扮演着重要的角色,它们为模型带来了非线性能力,使其能够学习复杂的数据模式。以下是一些常见的激活函数及其特点:
ReLU(Rectified Linear Unit):
- 公式: ( f(x) = \max(0, x) )
- 特点: 简单易用,计算效率高,因为在正区域没有复杂的计算。
- 优点: 解决了梯度弥散问题,相较于Sigmoid和Tanh,训练收敛速度更快。
- 缺点: 存在“死亡ReLU”问题,即在训练过程中某些神经元可能会一直输出0,从而导致永不更新。
Leaky ReLU:
- 公式: ( f(x) = \max(\alpha x, x) ),通常(\alpha)是一个很小的常数,例如0.01。
- 特点: 类似于ReLU,但在(x < 0)时允许一个小的梯度通过。
- 优点: 通过在负区域引入轻微的斜率,可以部分解决ReLU的“死亡”问题。
- 缺点: 相对ReLU稍微复杂一些。
ELU(Exponential Linear Unit):
- 公式:
[
f(x) =
\begin{cases}
x, & \text{if } x > 0 \
\alpha (e^x - 1), & \text{if } x \leq 0
\end{cases}
] - 特点: 在负区域具有指数衰减,输出平均值接近0。
- 优点: 可以更有效地处理负值输入,因为负域的输出非零,使网络更鲁棒。
- 缺点: 相比于ReLU,计算稍微复杂一些。
- 公式:
Sigmoid:
- 公式: ( f(x) = \frac{1}{1 + e^{-x}} )
- 特点: 将输入映射到(0, 1)之间。
- 优点: 将输出映射为0和1之间的值,很适合做二元分类。
- 缺点: 引起梯度消失问题,尤其是在深层网络中,因为当输入远离0时梯度会非常小。
Tanh(双曲正切):
- 公式: ( f(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} )
- 特点: 将输入映射到(-1, 1)之间。
- 优点: 输出有中心性,适合用于处理归一化输入。
- 缺点: 同样存在梯度消失问题,但比Sigmoid有更好的梯度流动。
在选择激活函数时,需根据具体问题、网络架构和实验结果来选择最适合的激活函数。通常ReLU及其变种在许多应用中表现出色,但在特殊场景中也可以考虑使用其他激活函数。