LSTM为什么用sigmoid,tanh不用relu?

https://cloud.tencent.com/developer/article/1498959

1. why is an activation function not being zero-centred an disadvantage?

Say there are two parameters w1 and w2. If the gradients of two dimensions are always of the same sign, it means we can only move roughly in the direction of northeast or southwest in the parameter space. If our goal (the optimal solution in the weights hyperspace) happens to be in the northwest, we can only move in a zig-zagging fashion to get there; i.e. very inefficient. However, it is not clear why the gradients of the parameters would be the same sign — this may just be an empirical result for non-zero centred activation functions.

2、神经网络中的激活函数:对比ReLU与Sigmoid、Tanh的优缺点?ReLU有哪些变种?

  1. 优点:

从计算的角度上,Sigmoid和Tanh激活函数均需要计算指数,复杂度高,而ReLU只需要一个阈值即可得到激活值; ReLU的非饱和性可以有效地解决梯度消失的问题,提供相对宽的激活边界。 ReLU的单侧抑制提供了网络的稀疏表达能力。 修正线性单元(Rectified Linear Unit,ReLU):ReLU函数被认为有生物上的解释性,比如单侧抑制、宽兴奋边界(即兴奋程度 也可以非常高)。在生物神经网络中,同时处于兴奋状态的神经元非常稀疏。人 脑中在同一时刻大概只有1 ∼ 4%的神经元处于活跃状态。Sigmoid型激活函数会导致一个非稀疏的神经网络,而ReLU却具有很好的稀疏性,大约50%的神 经元会处于激活状态。

  1. 缺点:

ReLU和Sigmoid一样,它们的输出是非零中心化的,给后一层的神经网络引入偏置偏移, 会影响梯度下降的效率。

ReLU的局限性在于其训练过程中会导致神经元死亡的问题。 在训练时,如果参数在一次不恰当的更新后,第一个隐藏层中的某个ReLU神经元在所有的训练数据上都不能被激活。那么,这个神经元自身参数的梯度永远都会是 0,在以后的训练过程中永远不能被激活。这种现象称为死亡 ReLU 问题 (Dying ReLU Problem),并且也有可能会发生在其它隐藏层。

ReLU的变种

在实际使用中,为了避免上述情况,有几种ReLU的变种也会被广泛使用:Leaky ReLU、ELU以及softplus函数

ReLU、Leaky ReLU、ELU以及softplus函数.

3. RNN中为什么要采用tanh而不是ReLu作为激活函数?为什么普通的前馈网络或 CNN 中采取ReLU不会出现问题?

循环神经网络RNN是同一个权重矩阵在不同时刻反复被使用,根据BPTT推导,只有权重矩阵的取值在单位矩阵附近时才能取到较好的效果。因此,初始化W为单位矩阵,搭配ReLu,能达到类似于LSTM的效果。 那么为什么普通的前馈网络或 CNN 中采取ReLU不会出现梯度消失或梯度爆炸的问题呢?

4. 神经网络优化方法有哪些?

经验分享 程序员 微信小程序 职场和发展