ReLU

ReLU

Relu(rectified liner unit) 線性修正單元

​ 在深度神經網絡中,通常使用一種叫**修正線性單元(Rectified linear unit,ReLU)**作爲神經元的激活函數。ReLU起源於神經科學的研究:2001年,Dayan、Abott從生物學角度模擬出了腦神經元接受信號更精確的激活模型,如下圖:

img

其中橫軸是時間(ms),縱軸是神經元的放電速率(Firing Rate)。同年,Attwell等神經科學家通過研究大腦的能量消耗過程,推測神經元的工作方式具有稀疏性和分佈性;2003年Lennie等神經科學家估測大腦同時被激活的神經元只有1~4%,這進一步表明了神經元的工作稀疏性。而對於ReLU函數而言,類似表現是如何體現的?其相比於其他線性函數(如purlin)和非線性函數(如sigmoid、雙曲正切)又有何優勢?

簡單之美

首先,我們來看一下ReLU激活函數的形式,如下圖:

這裏寫圖片描述

​ 從上圖不難看出,ReLU函數其實是分段線性函數,把所有的負值都變爲

0,而正值不變,這種操作被成爲單側抑制。可別小看這個簡單的操作,正因爲有

了這單側抑制,才使得神經網絡中的神經元也具有了稀疏激活性。尤其體現在深

度神經網絡模型(如CNN)中,

&&&當模型增加N層之後,理論上ReLU神經元的激活率將降低2的N次方倍。這裏

或許有童鞋會問:ReLU的函數圖像爲什麼一定要長這樣?反過來,或者朝下延伸

行不行?其實還不一定要長這樣。只要能起到單側抑制的作用,

無論是鏡面翻轉還是180度翻轉,最終神經元的輸出也只是相當於加上了一個常數

項係數,並不影響模型的訓練結果。之所以這樣定,或許是爲了契合生物學角

度,便於我們理解吧。

​ 那麼問題來了:這種稀疏性有何作用?換句話說,我們爲什麼需要讓神經元稀疏?不妨舉栗子來說明。當看名偵探柯南的時候,我們可以根據故事情節進行思考和推理,這時用到的是我們的大腦左半球;而當看蒙面唱將時,我們可以跟着歌手一起哼唱,這時用到的則是我們的右半球。左半球側重理性思維,而右半球側重感性思維。也就是說,當我們在進行運算或者欣賞時,都會有一部分神經元處於激活或是抑制狀態,可以說是各司其職。再比如,生病了去醫院看病,檢查報告裏面上百項指標,但跟病情相關的通常只有那麼幾個。

與之類似,當訓練一個深度分類模型的時候,和目標相關的特徵往往也就那麼幾個,因此通過ReLU實現稀疏後的模型能夠更好地挖掘相關特徵,擬合訓練數據。

ReLU VS sigmoid 、 線性函數

對於線性函數而言,ReLU的表達能力更強,尤其體現在深度網絡中;

對於非線性函數而言,ReLU由於非負區間的梯度爲常數,因此不存在梯度消失問題(Vanishing Gradient Problem),使得模型的收斂速度維持在一個穩定狀態。這裏稍微描述一下什麼是梯度消失問題:&&&當梯度小於

1時,預測值與真實值之間的誤差每傳播一層會衰減一次,如果在深層模型中使用sigmoid作爲激活函數,這種現

象尤爲明顯,將導致模型收斂停滯不前。


sigmoid=11ezsigmoid=\frac{1}{1-e^{-z}}在這裏插入圖片描述
sigmiod 函數
把我們計算的結果當成自變量放進去,讓它的值域變爲0~1之間
è¿éåå¾çæè¿°

ReLU與softplus函數與前圖中的傳統sigmoid系激活函數相比,主要變化有三點:

①單側抑制 ②相對寬闊的興奮邊界 ③稀疏激活性(重點,可以看到紅框裏前端狀態完全沒有激活

@@@my thinking 不同的輸入激活不同的區域,maybe就像我們大腦裏不同的神經元一樣專業分工,各司其職

ReLU 函數使不同的輸入激活不同的區域,即稀疏激活性,總不能有個啥輸入,全部細胞都一起來幹活吧,雜七雜八的,容易把活幹砸了。@@@

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