激活函數快速理解

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問題

 

 

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