激活函数快速理解

1、sigmoid函数

                                            f(x)=1/(1+e^{-x})    0 < f(x) < 1

                                             f(x)^{'}=f(x)*(1-f(x))   0 < f(x^{'}) < 0.25

所以啊很明显,会导致梯度消失(因为在反向传播BPTT过程中,在对w求导时,会包含f(x)的导数,多层时就相当于0.25的n次方,前面的单元更新态度太小了,所以是梯度消失啦)

2、tanh函数

                                              f(x)=(e^{x}-e^{-x})/(e^{x}+e^{-x})    -1 < f(x) < 1

0 < f(x)^{'} < 1,且有很大概率在0附近,且有很大概率在0附近,所以根据上面所述,就是会梯度消失呀

3、Relu函数

                                             f(x)=max(0,x)

  1. 优点:避免梯度消失问题,每一层的权重更新同等对待。计算速度快+收敛速度快。
  2. 缺点:1、Dead Relu Problem问题:learning rate较大时,如果初始w分布是一个均值是0.1,方差较小的分布,那么激活函数的输入就是一个正值,BPTT时,由于learning rate大,可能会出现w变成一个均值是0.1,方差较小的分布,那么这时激活函数的输入就是一个负值,这就会导致梯度更新时梯度一直是0,w更新不了。2、Relu的输出不是zero-centered的

4、Prelu函数

                                             f(x)=max(\alpha x, x)

α为0.01,这样就可以有效解决dead relu问题,因为梯度值不会为0了呀

5、ELU函数

                                             f(x)=x, x > 0 | \alpha (e^{x}-1), otherwise

这样就可以解决zero-centered问题了,尽量时均值为0嘛,同时避免dead relu问题

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章