激活函数是神经网络中不可或缺的一部分,它为神经网络引入了非线性特性,使得神经网络能够学习到更复杂的模式。本文将深入探讨深度学习中常见的激活函数。
常见激活函数
1. Sigmoid 函数
Sigmoid 函数是最早的激活函数之一,其公式如下:
$$ \sigma(x) = \frac{1}{1 + e^{-x}} $$
Sigmoid 函数的输出范围在 0 到 1 之间,非常适合用于二分类问题。然而,Sigmoid 函数存在梯度消失的问题,不利于神经网络的训练。
2. ReLU 函数
ReLU(Rectified Linear Unit)函数是最受欢迎的激活函数之一,其公式如下:
$$ \text{ReLU}(x) = \max(0, x) $$
ReLU 函数在负值时输出 0,在正值时输出输入值。ReLU 函数具有计算简单、梯度信息丰富等优点,但存在梯度消失和死亡ReLU的问题。
3. Leaky ReLU 函数
Leaky ReLU 函数是对 ReLU 函数的改进,可以解决死亡ReLU问题。其公式如下:
$$ \text{Leaky ReLU}(x) = \max(0.01x, x) $$
其中,0.01 是 Leaky ReLU 函数的斜率。
4. Tanh 函数
Tanh 函数的公式如下:
$$ \text{Tanh}(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} $$
Tanh 函数的输出范围在 -1 到 1 之间,类似于 Sigmoid 函数,但具有更好的数值稳定性。
5. ELU 函数
ELU(Exponential Linear Unit)函数的公式如下:
$$ \text{ELU}(x) = \begin{cases} x & \text{if } x > 0 \ \alpha(e^x - 1) & \text{if } x \leq 0 \end{cases} $$
其中,$\alpha$ 是一个参数,通常取值为 0.01。
总结
本文介绍了深度学习中常见的激活函数,包括 Sigmoid、ReLU、Leaky ReLU、Tanh 和 ELU。这些激活函数在神经网络中扮演着重要的角色,可以帮助神经网络学习到更复杂的模式。