ReLU家族

作者: 9933fdf22087 | 来源:发表于2019-04-12 16:09 被阅读4次

概述:ReLU函数的计算是在卷积之后进行的,因此它与tanh函数和sigmoid函数一样,同属于非线性激活函数。ReLU函数的倒数在正数部分是恒等于1的,因此在深度网络中使用relu激活函数就不会导致梯度小时和爆炸的问题。并且,ReLU函数计算速度快,加快了网络的训练。不过,如果梯度过大,导致很多负数,由于负数部分值为0,这些神经元将无法激活(可通过设置较小学习率来解决)。

1. ReLU 数学表达:\operatorname{Re} \operatorname{LU}(\mathrm{x})=\max (\mathrm{x}, 0)=\left\{\begin{array}{l}{0, x<0} \\ {x, x>0}\end{array}\right\}

后向过程推导:设第l层输出为z^l,经过激活函数后的输出为z^{l+1};记损失函数L关于第l层的输出z^l的偏导为\delta^{l}=\frac{\partial L}{\partial z^{l}},则损失函数L关于第l层的偏导为:

\delta^{l}=\frac{\partial L}{\partial z^{l+1}} \frac{\partial z^{l+1}}{\partial z^{l}}      

 =\delta^{l+1} \frac{\partial \operatorname{Re} L U\left(z^{l}\right)}{\partial z^{l}}      

 =\delta^{l+1} \left\{\begin{array}{ll}{1} & {z^{l}>0} \\ {0} & {z^{l} </p><p> <img class=  

2.LeakReLU 数学表达式:LeakReLU (z)=\left\{\begin{array}{ll}{z} & {z>0} \\ {\alpha z} & {z<=0, \alpha=0.1}\end{array}\right.       
 ,在负数部分给予一个小的梯度。由Relu可知损失函数L关于关于第l层的偏导为\delta^{l}=\left\{\begin{array}{ll}{\delta^{l+1}} & {z^{l}>0} \\ {\alpha \delta^{l+1}} & {z^{l}<=0, \alpha=0.1}\end{array}\right.    
   

3. PReLU :与LeakReLU相同,只不过\alpha 可以学习。损失函数L关于关于参数α的偏导为:

\frac{\partial L}{\partial \alpha}=\frac{\partial L}{\partial z^{l+1}} \frac{\partial z^{l+1}}{\partial \alpha} 

 \delta^l = \delta^{l+1} \frac{\partial P R e L U\left(z^{l}\right)}{\partial \alpha} 

 \delta^l = \delta^{l+1} \left\{\begin{array}{ll}{0} & {z^{l}>0} \\ {z^{l}} & {z^{l} => <img class= 

 \delta^l=\left\{\begin{array}{ll}{0} & {z^{l}>0} \\ {\delta^{l+1} z^{l}} & {z^{l}</p><p><b>4. ELU </b>数学表达式:<img class=

4. ELU 数学表达式:f(z)=\left\{\begin{array}{ll}{z} & {\text z>0} \\ {\alpha(\exp (z)-1)} & {\text z \leq 0}\end{array}\right.    ,由LeakyRelu可知损失函数L关于关于第l层的偏导为:\delta^{l}=\left\{\begin{array}{ll}{\delta^{l+1}} & {z^{l}>0} \\ {\alpha \delta^{l+1} \exp {\left(z^{l}\right)}} & {z^{l}<=0}\end{array}\right.  
    

5. SELU 数学表达式:SELU(z)=\lambda \left\{\begin{array}{ll}{z} & {z>0} \\ {\alpha(\exp (z)-1)} & {z<=0}\end{array}\right.     
 由ELU可知损失函数L关于关于第l层的偏导为:\delta^{l}=\lambda \left\{\begin{array}{ll}{\delta^{l+1}} & {z^{l}>0} \\ {\alpha \delta^{l+1} \exp {\left(z^{l}\right)}} & {z^{l}<=0}\end{array}\right.        
   

总结:当激活值的均值非0时,就会对下一层造成一个bias,如果激活值之间不会相互抵消(即均值非0),会导致下一层的激活单元有bias shift。如此叠加,单元越多时,bias shift就会越大。除了ReLU,其它激活函数都将输出的平均值接近0,从而加快模型收敛,类似于Batch Normalization的效果,但是计算复杂度更低。虽然LeakReLU和PReLU都也有负值,但是它们不保证在不激活状态下(就是在输入为负的状态下)对噪声鲁棒。反观ELU在输入取较小值时具有软饱和的特性,提升了对噪声的鲁棒性。

相关文章

  • ReLU家族

    概述:ReLU函数的计算是在卷积之后进行的,因此它与tanh函数和sigmoid函数一样,同属于非线性激活函数。R...

  • 激活函数

    常用的激活函数有sigmoid, ReLU,leaky-ReLU,parameter-ReLU,ReLU6,SEL...

  • 深度学习--激活函数

    激活函数: Sigmoid Leaky ReLU ReLU tanh(x) ELU

  • ReLU

    1 修正线性单元(ReLU) 从上图可以看到,ReLU 是从底部开始半修正的一种函数。数学公式为: 当输入 x<0...

  • 02-1tensorflow.nn主要功能模块

    Activation Functions relu relu6 elu softplus softsign dro...

  • 深度学习

    激活函数 Sigmod Tanh ReLU Leaky ReLU Softmax Applies the Soft...

  • 深度学习知识总结 (1)

    ReLU ReLU激活函数的优势 ReLU求导容易ReLU会使一部分神经元的输出值为0,这样就造成了网络的稀疏性,...

  • CNN Activation Function的介绍和对比

    Activation Functions 关键词:Sigmoid、tanh、ReLU、Leaky ReLU、ELU...

  • 分位数回归

    tau越大,对正error的惩罚越大:0 --> 1 ,从-relu变化到relu

  • ReLU和Dropout

    概述 从解决最小的问题开始。 1 激活函数 ReLU家族的激活函数通常是神经网络中激活函数的首选项,其优点在于: ...

网友评论

    本文标题:ReLU家族

    本文链接:https://www.haomeiwen.com/subject/asoqwqtx.html