深度神经网络中常用的激活函数及其性质
深度神经网络中常用的激活函数及其性质
在深度学习领域,激活函数是神经网络中的关键组件,它决定了神经元如何响应输入信号。通过引入非线性特性,激活函数使神经网络能够学习和模拟复杂的模式。本文将详细介绍几种常用的激活函数,包括它们的数学公式、图像特征、优缺点以及适用场景。
1. 前言
在神经网络中,激活函数(Activation Function)是决定神经元输出信号的关键组件。它通过引入非线性特性,使神经网络能够学习和模拟复杂的模式。
激活函数的作用:
引入非线性:神经网络的作用便是用于拟合难以描述的函数关系,如果没有激活函数,多层神经网络等价于单层现性变换,无法解决非线性问题,即无法拟合出非线性函数关系。
控制输出范围:比如 Sigmoid 将输出压缩到 (0, 1),适合概率输出
梯度传播:激活函数的导数影响反向传播的梯度,避免梯度消失或爆炸。
2. Sigmoid(Logistic 函数)
公式:
$$\sigma(x) = \frac{1}{1 + e^{-x}}$$图像:S 型曲线,输出范围为 (0, 1)。(如下所示)
优点:
输出可解释为概率。
平滑梯度,适合浅层网络。(深层网络不太适用)
缺点:
梯度消失:当输入绝对值较大时,导数接近 0 。
非零中心化:输出均值不为 0,影响梯度更新效率。
适用场景:二分类输出层、早期简单神经网络
3. Tanh(双曲正切函数)
公式:
$$tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}$$图像:S 型曲线,输出范围 (-1, 1)。(如下所示)
优点:
零中心化:输出均值为 0, 梯度更新更高效。
比 Sigmoid 更陡峭的梯度。
缺点:
仍存在梯度消失问题。
适用场景:隐藏层,尤其是 RNN、LSTM 等。
4. ReLU(Rectified Linear Unit 非线性激活单元)
公式:
$$ReLU(x) = max(0, x)$$图像:左半轴恒为 0,右半轴恒为线性。(如下所示)
优点:
计算高效:无指数运算。
缓解梯度消失:正区间导数为 1 。
缺点:
Dead ReLU 问题:输入为负时梯度为 0,神经元”死亡“。
输出非零中心化:
适用场景:大多数前馈神经网络的隐藏层(默认选择)。
前馈神经网络(Feedforward Neural Network, FNN)是人工神经网络中最基础、最广泛使用的类型之一,其核心是数据单向流动(从输入层到输出层),没有循环或反馈连接。
5. Leaky ReLU
ReLU 的升级版
公式:
$$LeakyReLU(x) =
\begin{cases}
x & \text{if } x > 0 \
\alpha x & \text{otherwise}
\end{cases}$$
(通常 $\alpha = 0.01$)图像:(如下所示)
改进:负区间引入小斜率 $\alpha$,缓解 Dead ReLU。
优点:
保留 ReLU 优点,减少神经元死亡。
缺点:
$\alpha$ 需手动设定或学习。
适用场景:需解决 Dead ReLU 问题的深层网络。
6. Parametric ReLU(PReLU)
Leaky ReLU 的升级版
公式:类似于 Leaky ReLU,但 $\alpha$ 是可学习参数
优点:自适应调整负区间斜率。
缺点:增加参数量,可能过拟合。
适用场景:大型网路(如 ResNet)
7. ELU(Exponential Linear Unit)
ReLU 的另一个升级版
公式:
$$ELU(x) =
\begin{cases}
x & \text{if } x > 0 \
\alpha(e^x - 1) & \text{otherwise}
\end{cases}$$
(通常 $\alpha = 1$)图像:(如下所示)
优点:
负区间平滑过渡,接近零均值输出。
缓解 Dead ReLU 问题。
缺点:
指数计算增加复杂度。
适用场景:深层网络,对噪声敏感的任务
8. Softmax
公式:
$$Softmax(x_i) = \frac{e^{x_i}}{\sum_{j=1}^n e^{x_j}}$$特点:将输出压缩为概率分布(总和为 1)。
适用场景:多分类输出层。
9. Swish
公式:
$$Swish(x) = x \cdot \sigma(\beta x)$$
($\sigma$ 为 Sigmoid,$\beta$ 常设为 1 或可学习)优点:
平滑且非单调,实验显示优于 ReLU。
缺点:计算量略大。
适用场景:替代 ReLU 的隐藏层。
10. Mish
- 公式:
$$Mish(x) = x \cdot \tanh(\ln(1+e^x))$$
优点:
更平滑的梯度,缓解 Dead ReLU。
缺点:计算成本高。
适用场景:计算机视觉任务。