常見激活函數(shù)特點(diǎn)分析

一. 什么是激活函數(shù)

神經(jīng)網(wǎng)絡(luò)中,輸入神經(jīng)元線性組合后,傳入的非線性函數(shù)就是激活函數(shù)(大多是非線性的)。

二. 激活函數(shù)的主要功能

給神經(jīng)網(wǎng)絡(luò)引入非線性元素,使神經(jīng)網(wǎng)絡(luò)可以完成非線性映射。如果不使用激活函數(shù),無(wú)論神經(jīng)網(wǎng)絡(luò)有多少層,都只是線性組合而已。

三. 常見激活函數(shù)特點(diǎn)分析

1. sigmoid函數(shù)

曾經(jīng)最主流的激活函數(shù),現(xiàn)在很少用了,函數(shù)公式和圖像如下圖所示:




sigmoid函數(shù)輸入一個(gè)實(shí)值的數(shù),然后將其壓縮到0~1的范圍內(nèi)。特別地,大的負(fù)數(shù)被映射成0,大的正數(shù)被映射成1,數(shù)值絕對(duì)值越大,梯度越平坦,敏感度越低。也正是這個(gè)特點(diǎn),為它的失寵埋下了伏筆。

  • 缺點(diǎn):
  1. Sigmoid容易飽和,當(dāng)輸入非常大或者非常小的時(shí)候,函數(shù)曲線非常平坦,梯度就接近于0,從圖中可以看出梯度的趨勢(shì)。而反向傳播中,我們需要使用sigmoid的導(dǎo)數(shù)來(lái)更新權(quán)重,如果導(dǎo)數(shù)都基本為0,會(huì)導(dǎo)致權(quán)重基本沒什么更新,我們就無(wú)法遞歸地學(xué)習(xí)到輸入數(shù)據(jù)了,這種現(xiàn)象也可以叫做梯度彌散。
  2. Sigmoid 的輸出不是0均值的,這是我們不希望的,因?yàn)檫@會(huì)導(dǎo)致后層的神經(jīng)元的輸入是非0均值的信號(hào),這會(huì)對(duì)梯度產(chǎn)生影響:假設(shè)后層神經(jīng)元的輸入都為正,那么對(duì)w求局部梯度則都為正,這樣在反向傳播的過(guò)程中w要么都往正方向更新,要么都往負(fù)方向更新,導(dǎo)致有一種捆綁的效果,使得收斂緩慢。
  3. 計(jì)算量大,sigmod函數(shù)要進(jìn)行指數(shù)運(yùn)算,這個(gè)對(duì)于計(jì)算機(jī)來(lái)說(shuō)是比較慢的。
  • 優(yōu)點(diǎn):
    將所有數(shù)據(jù)映射成了(0,1)之間的數(shù),很好的表達(dá)神經(jīng)元的激活與未激活的狀態(tài),適合二分類。
2. tanh函數(shù)

tanh是在sigmoid基礎(chǔ)上的改進(jìn),將壓縮范圍調(diào)整為(-1,1)。




Tanh和Sigmoid是一對(duì)姐妹花,圖形基本是相似的,不同的是它把輸入壓縮到(-1,1)的范圍,因此它基本是0均值的。

  • 優(yōu)點(diǎn):
    它是0均值的,解決了上述Sigmoid缺點(diǎn)中的第二個(gè),所以實(shí)際中tanh會(huì)比sigmoid更常用。
  • 缺點(diǎn):
  1. 它還是存在梯度彌散的問(wèn)題。
  2. 計(jì)算量大,函數(shù)要進(jìn)行指數(shù)運(yùn)算,這個(gè)對(duì)于計(jì)算機(jī)來(lái)說(shuō)是比較慢的。
3. relu函數(shù)

relu函數(shù)是目前主流的激活函數(shù),它的公式很簡(jiǎn)單,輸入小于0的時(shí)候?yàn)?,大于0的時(shí)候是本身。



  • 優(yōu)點(diǎn):
  1. 正方向上,梯度不變,也就不會(huì)發(fā)生梯度彌散。
  2. 正方向上是線性函數(shù),相比于 sigmoid/tanh需要計(jì)算指數(shù)等,ReLU 只需要一個(gè)閾值就可以得到激活值。
  • 缺點(diǎn):
    只要輸入是負(fù)值,那么輸出就為0,這可能導(dǎo)致后面的網(wǎng)絡(luò)輸入都是0,造成網(wǎng)絡(luò)大面積壞死。
4. 改進(jìn)的relu
Erelu

ELU函數(shù)是針對(duì)ReLU函數(shù)的一個(gè)改進(jìn)型,相比于ReLU函數(shù),在輸入為負(fù)數(shù)的情況下,是有一定的輸出的,而且這部分輸出還具有一定的抗干擾能力。這樣可以消除ReLU死掉的問(wèn)題,不過(guò)還是有梯度飽和和指數(shù)運(yùn)算的問(wèn)題。



PReLU

PReLU也是針對(duì)ReLU的一個(gè)改進(jìn)型,在負(fù)數(shù)區(qū)域內(nèi),PReLU有一個(gè)很小的斜率,這樣也可以避免ReLU死掉的問(wèn)題。相比于ELU,PReLU在負(fù)數(shù)區(qū)域內(nèi)是線性運(yùn)算,斜率雖然小,但是不會(huì)趨于0,這算是一定的優(yōu)勢(shì)吧。

四. 神經(jīng)網(wǎng)絡(luò)的輸入為什么要0均值化

這樣做的優(yōu)點(diǎn)是為了在反向傳播中加快網(wǎng)絡(luò)中每一層權(quán)重參數(shù)的收斂。為什么0均值化就會(huì)加快收斂呢?


在梯度下降的時(shí)候,假設(shè)圖中藍(lán)色箭頭方向理想最優(yōu)向量,根據(jù)上述公式,我們可以想一想:

當(dāng)x全為正或者全為負(fù)時(shí),每次返回的梯度都只會(huì)沿著一個(gè)方向發(fā)生變化,這樣就會(huì)使得權(quán)重收斂效率很低。

但當(dāng)x正負(fù)數(shù)量“差不多”時(shí),那么梯度的變化方向就會(huì)不確定,這樣就能達(dá)到上圖中的變化效果,加速了權(quán)重的收斂。

參考:
https://blog.csdn.net/kangyi411/article/details/78969642
https://blog.csdn.net/mooneve/article/details/81943904

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容