【深度学习】ReLU激活函数的缺点

关于ReLU的详细介绍可以参考:
ReLU激活函数 - 知乎

训练的时候很”脆弱”,很容易就”die”了,训练过程该函数不适应较大梯度输入,因为在参数更新以后,ReLU的神经元不会再有激活的功能,导致梯度永远都是零。
例如,一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了,那么这个神经元的梯度就永远都会是 0.
如果 learning rate 很大,那么很有可能网络中的 40% 的神经元都”dead”了。

原因:

假设有一个神经网络的输入W遵循某种分布,对于一组固定的参数(样本),w的分布也就是ReLU的输入的分布。假设ReLU输入是一个低方差中心在+0.1的高斯分布。

在这个场景下:

  • 大多数ReLU的输入是正数,因此
  • 大多数输入经过ReLU函数能得到一个正值(ReLU is open),因此
  • 大多数输入能够反向传播通过ReLU得到一个梯度,因此
  • ReLU的输入(w)一般都能得到更新通过随机反向传播(SGD)

现在,假设在随机反向传播的过程中,有一个巨大的梯度经过ReLU,由于ReLU是打开的,将会有一个巨大的梯度传给输入(w)。这会引起输入w巨大的变化,也就是说输入w的分布会发生变化,假设输入w的分布现在变成了一个低方差的,中心在-0.1高斯分布。

在这个场景下:

  • 大多数ReLU的输入是负数,因此大多数输入经过ReLU函数能得到一个0(ReLU is close),因此大多数输入不能反向传播通过ReLU得到一个梯度,因此ReLU的输入w一般都得不到更新通过随机反向传播(SGD)

发生了什么?只是ReLU函数的输入的分布函数发生了很小的改变(-0.2的改变),导致了ReLU函数行为质的改变。我们越过了0这个边界,ReLU函数几乎永久的关闭了。更重要的是ReLU函数一旦关闭,参数w就得不到更新,这就是所谓的‘dying ReLU’。

(译者:下面有一段关于神经元死亡后能够复活的讨论,未翻译)

从数学上说,这是因为ReLU的数学公式导致的

r(x)=max(x,0)

导数如下

Δxr(x)=1(x>0)

所以可以看出,如果在前向传播的过程中ReLU is close,那么反向传播时,ReLU也是close的。

参考:

https://www.zhihu.com/question/59031444

https://www.jianshu.com/p/22d9720dbf1a

https://blog.csdn.net/disiwei1012/article/details/79204243



 

ReLU激活函数的缺点

标签:关于   orm   更新   参考   pen   导数   article   learning   frame   

原文地址:https://www.cnblogs.com/Time-LCJ/p/9235711.html

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
应用场景 1. ReLU激活函数 原理:ReLU激活函数是一种简单的非线性激活函数,它将所有负数输入映射到零,将所有正数输入保持不变。即: $$ f(x) = \max(0, x) $$ 优点: - 计算简单,速度快,不需要像sigmoid和tanh一样进行复杂的计算和指数运算; - 避免了梯度消失问题,能够有效地训练深度神经网络; - 只有两种输出情况,计算量小,容易实现并行计算。 缺点: - ReLU的输出不是中心化的,会导致一些神经元永远不会被激活,这被称为“死亡ReLU”问题; - 当输入为负数时,梯度为0,这会导致神经元在训练过程中永远不会被更新,称为“ReLU坍塌”问题; - ReLU对于输入的负数部分完全忽略,没有进行任何处理,这可能会导致激活函数无法充分利用输入中的信息。 应用场景:ReLU适用于大多数深度学习任务,特别是在卷积神经网络中的卷积层和池化层中,因为图像和视频数据通常具有稀疏性,ReLU可以有效减少计算量并提高模型性能。 2. Leaky ReLU激活函数 原理:Leaky ReLU激活函数是对ReLU的改进,它在输入为负数时,不直接将其变为0,而是乘上一个小的正数$\alpha $,通常取0.01,即: $$ f(x) = \begin{cases} x & \text{if } x\geq 0 \\ \alpha x & \text{if } x<0 \end{cases} $$ 优点: - Leaky ReLU能够缓解ReLU的“死亡ReLU”问题,使得神经元在输入为负数时也能够被激活; - Leaky ReLU比ReLU更加鲁棒,即更能够处理异常数据和噪声数据。 缺点: - Leaky ReLU仍然存在“ReLU坍塌”问题; - Leaky ReLU的计算比ReLU要复杂一些。 应用场景:Leaky ReLU适用于大多数深度学习任务,特别是在卷积神经网络中的卷积层和池化层中,因为它能够有效减少计算量并提高模型性能。 3. Parametric ReLU激活函数 原理:Parametric ReLU激活函数是对Leaky ReLU的改进,它允许学习一个参数$\alpha$,使得该参数能够在训练过程中自适应地调整,即: $$ f(x) = \begin{cases} x & \text{if } x\geq 0 \\ \alpha x & \text{if } x<0 \end{cases} $$ 其中$\alpha$是一个可学习的参数。 优点: - Parametric ReLU能够在训练过程中自适应地调整参数,从而更加灵活和适应不同的数据分布; - Parametric ReLU比Leaky ReLU更加强大,因为它可以学习一个适合当前数据的$\alpha$值。 缺点: - Parametric ReLU的计算量比Leaky ReLU更大; - Parametric ReLU的参数量比Leaky ReLU更多。 应用场景:Parametric ReLU适用于各种深度学习任务,特别是在需要自适应地调整参数的任务中,如图像分类、目标检测和语音识别等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值