激活函数的导数是否必须在[0,1]范围内?

时间:2019-04-29 23:07:40

标签: deep-learning recurrent-neural-network activation-function

我发现常见激活函数的导数的范围是[0,1]。 https://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html

这是RNN中梯度消失的原因。

首次将激活函数引入深度学习时,导数保留在[0,1]中的原因是什么?如果我们使用Relu的变体,例如f(x)= max(0,2x),且导数的范围为[0,2],那么MLP将会发生什么

1 个答案:

答案 0 :(得分:0)

消失梯度的相反是爆炸梯度,导致梯度达到非常高的值。正如消失的梯度会在梯度下降过程中造成很大的麻烦一样,爆炸梯度也是如此,在优化过程中要采取特别大的步骤。

在使用反向传播时,这种现象在RNN中非常重要,因为在反向传播过程中,连续时间步长的梯度有效地彼此相乘。因此,将梯度值增加到[0,2]将导致2^n的梯度增加,从而增加了梯度的可能性。