相关文章:
- 机器学习中的数学——激活函数(一):Sigmoid函数
- 机器学习中的数学——激活函数(二):Tanh函数
- 机器学习中的数学——激活函数(三):ReLU(Rectified Linear Unit)函数
- 机器学习中的数学——激活函数(四):Leaky ReLU函数
- 机器学习中的数学——激活函数(五):ELU函数
- 机器学习中的数学——激活函数(六):Parametric ReLU(PReLU)函数
- 机器学习中的数学——激活函数(七):Swish
ReLU(Rectified Linear Unit)激活函数详解
1.数学定义:
ReLU
(
x
)
=
max
(
0
,
x
)
=
{
x
如果
x
≥
0
,
0
如果
x
<
0
\text{ReLU}(x) = \max(0, x) = \begin{cases} x & \text{如果 } x \geq 0, \\ 0 & \text{如果 } x < 0 \end{cases}
ReLU(x)=max(0,x)={x0如果 x≥0,如果 x<0

2.函数特性:
- 输出范围:[0, +∞),非负输出。
- 计算简单:仅需比较和取最大值,无指数运算。
- 稀疏激活:负输入直接输出0,可产生稀疏性。
- 当输入为正时,不存在梯度饱和问题
- 导数:
ReLU ′ ( x ) = { 1 如果 x > 0 , 0 如果 x < 0 , 未定义 在 x = 0 处(实际实现中常设为 0 或 1 ) \text{ReLU}'(x) = \begin{cases} 1 & \text{如果 } x > 0, \\ 0 & \text{如果 } x < 0, \\ \text{未定义} & \text{在 } x = 0 \text{ 处(实际实现中常设为 } 0 \text{ 或 } 1\text{)} \end{cases} ReLU′(x)=⎩ ⎨ ⎧10未定义如果 x>0,如果 x<0,在 x=0 处(实际实现中常设为 0 或 1)
- 在 x≠0 时,ReLU 的导数是明确的分段函数(x>0 时为 1,x<0 时为 0)。
- x=0 处的导数:数学上不可导(左导数为 0,右导数为 1),但实际编程(如深度学习框架)中通常约定为 0 或 1(例如 TensorFlow 默认为 1)。
3. 优点:
- . 缓解梯度消失:正区间的梯度恒为1,彻底解决梯度消失问题(相比Sigmoid/Tanh)。
- 计算高效:无需复杂运算,加速训练和推理。
- 稀疏性:约50%的神经元可能被抑制(输出0),提升模型泛化能力。
4.缺点:
- Dead ReLU问题:
- 当输入为负时,ReLU完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零
- 解决方案:使用Leaky ReLU或初始化时偏置设小正值(如0.01)。
- 非零中心化:输出均值大于0,可能影响梯度下降效率(但影响小于Sigmoid)。
5. 变体改进
| 变体名称 | 公式 | 特性 |
|---|---|---|
| Leaky ReLU | max(0.01x,x) | 负区间小斜率,缓解Dead ReLU |
| PReLU | max(αx,x)(α可学习) | 自适应负区间斜率 |
| ELU | f ( x ) = { x if x ≥ 0 , α ( e x − 1 ) if x < 0 f(x) = \begin{cases} x & \text{if } x \geq 0, \\ \alpha(e^x - 1) & \text{if } x < 0 \end{cases} f(x)={xα(ex−1)if x≥0,if x<0 | 平滑处理负区间 |
6. 应用场景
- CNN/全连接网络:90%以上隐藏层的默认选择。
- 深层网络:避免梯度消失的核心工具。
- 输出层:不适合需要概率输出或负值的场景(如回归问题可能需线性激活)。
7. 与其他激活函数对比
| 激活函数 | 计算复杂度 | 梯度消失 | Dead Neurons | 输出范围 |
|---|---|---|---|---|
| ReLU | O(1) | 无 | 可能 | [0, +∞) |
| Tanh | 高(指数) | 严重 | 无 | (-1, 1) |
| Sigmoid | 高(指数) | 严重 | 无 | (0, 1) |
8. 使用建议
- 初始化:配合He初始化(方差为2/n)效果更佳。
- Batch Normalization:可进一步减少Dead ReLU概率。
- 监控:训练中跟踪神经元激活率(理想为30-50%)。
:ReLU(Rectified Linear Unit)函数&spm=1001.2101.3001.5002&articleId=146910997&d=1&t=3&u=125cc8dd60284045a32dee5742bd8464)
1074

被折叠的 条评论
为什么被折叠?



