根据定义,Relu确实具有0个梯度,那么为什么对于x <0梯度不消失呢?


10

根据定义,Relu是max(0,f(x))。然后将其梯度定义为: 1 if x > 0 and 0 if x < 0

这不就是说当x <0时梯度总是为0(消失)吗?那么为什么我们说Relu不会遇到梯度消失问题呢?

Answers:


5

您基本上是正确的!ReLU确实存在梯度消失的问题,但仅存在于一侧,因此我们称之为“垂死的ReLU问题”。有关更多信息,请参见此堆栈溢出响应:神经网络中的“垂死的ReLU”问题是什么?

这是一个小的语义差异。当您超出标准操作范围时,许多函数(tanh和logistic / Sigmoid)的导数都非常接近零。这是“消失的梯度”问题。你变得越糟,就越难回到好的领域。ReLU 在正方向上越远不会变差,因此(在那一侧)没有消失的梯度问题。这种不对称可能足以证明将其称为不同的东西,但是想法却非常相似。


2
值得补充的是:消失的梯度问题往往与网络深度上的逐渐变化有关,而与神经元传递函数的性质无关。
尼尔·斯莱特

1

消失意味着它趋向于0,但永远不会真正为0。渐变为0使得计算非常容易,渐变接近0意味着存在变化,只是很小的变化就意味着学习缓慢和数值问题。1和0是在这类优化问题中最容易计算的两个数字。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.