為什么要使用激活函數(shù)赢赊?目前只介紹了sigmoid函數(shù)筝闹。下面多介紹幾個激活函數(shù)街图。
sigmoid
現(xiàn)在已經(jīng)不使用阻荒,除非在輸出層進(jìn)行0~1的概率輸出時使用
tanh
幾乎在任何場合都比sigmoid好用闻丑,因為它和sigmoid圖像相同漩怎,只是進(jìn)行了平移,但是使數(shù)據(jù)在函數(shù)輸出以0為中心的嗦嗡,這樣會使權(quán)重更新效率提高勋锤。
ReLU
目前最常用的激活函數(shù),基本就是默認(rèn)使用
在輸入為正數(shù)的時候侥祭,不存在梯度飽和問題叁执。
計算速度要快很多茄厘。ReLU函數(shù)只有線性關(guān)系,不管是前向傳播還是反向傳播谈宛,都比sigmod和tanh要快很多次哈。(sigmod和tanh要計算指數(shù),計算速度會比較慢)
當(dāng)然吆录,缺點也是有的:
當(dāng)輸入是負(fù)數(shù)的時候窑滞,ReLU是完全不被激活的,這就表明一旦輸入到了負(fù)數(shù)恢筝,ReLU就會死掉哀卫。這樣在前向傳播過程中,還不算什么問題滋恬,有的區(qū)域是敏感的聊训,有的是不敏感的。但是到了反向傳播過程中恢氯,輸入負(fù)數(shù),梯度就會完全到0鼓寺,這個和sigmod函數(shù)勋拟、tanh函數(shù)有一樣的問題。
-
我們發(fā)現(xiàn)ReLU函數(shù)的輸出要么是0妈候,要么是正數(shù)敢靡,這也就是說,ReLU函數(shù)也不是以0為中心的函數(shù)苦银。
6
非線性激活函數(shù)的必要性
如果一直使用線性激活函數(shù)啸胧,也就是直接把輸入給輸出,實則是一直在計算線性激活函數(shù)幔虏,這樣對于隱層沒有意義纺念。線性的因?qū)右稽c用也沒有。因為兩個線性函數(shù)的組合本身也還就是線性函數(shù)想括。
當(dāng)然也有一個例外陷谱,當(dāng)你需要在輸出層進(jìn)行回歸的時候,可以使用線性函數(shù)瑟蜈,例如房價預(yù)測這樣的烟逊。