relu的全稱是rectified layer units,它是一層使用非飽和啟用函式的神經元。神經網路通常使用sigmoid 和 tanh 作為非線性啟用函式,它確實比早期的線性啟用函式有好的多的效果。但在深度神經網路中,如果不使用pre-traning,會導致gradient vanishing problem (梯度消失,無法收斂)。後來,兩位神經學家從腦神經元接收訊號的角度考慮,模擬出了更精確的啟用函式模型,就是relu啟用函式:
還有一種relu的平滑版本,叫做softplus:
這個是不是很眼熟啊?
relu啟用函式主要有以下兩個特點:
1.單側抑制
2.稀疏啟用性 (
x負軸完全沒有啟用)「
在神經科學方面,除了新的啟用頻率函式之外,神經科學家還發現了神經元的稀疏啟用性。
2023年,attwell等人基於大腦能量消耗的觀察學習上,推測神經元編碼工作方式具有稀疏性和分布性。
2023年,lennie等人估測大腦同時被啟用的神經元只有1~4%,進一步表明神經元工作的稀疏性。
從訊號方面來看,即神經元同時只對輸入訊號的少部分選擇性響應,大量訊號被刻意的遮蔽了,這樣可以提高學習的精度,更好更快地提取稀疏特徵。
從這個角度來看,在經驗規則的初始化w之後,傳統的sigmoid系函式同時近乎有一半的神經元被啟用,這不符合神經科學的研究,而且會給深度網路訓練帶來巨大問題。
softplus照顧到了新模型的前兩點,卻沒有稀疏啟用性。因而,校正函式max(0,x)
成了近似符合該模型的最大贏家。」
深度神經網路的致命問題就是gradient vanishing。上面說到在多層神經網路中使用sigmoid函式會導致梯度消失,無法收斂。原因就是,當神經網路進行誤差反向傳播梯度時,各層都要乘以啟用函式的一階導數 g
rad = er
ror*s
igmo
id』(x
)*x,
顯而易見,經過每一層,error都是成指數衰減,一旦神經網路層數太多的時候,梯度就會不停衰減直至消失,高層(靠近輸出層)訓練的比較好,而低層(靠近輸入層)幾乎由於梯度消失無法訓練。神經網路的正向傳播又是從低層開始的,高層再怎麼訓練也會被低層搞亂,使得低層學不動,高層在亂學,導致整個網路退化。
而relu啟用函式的梯度為1,而且只有在x右半軸才飽和,這樣使梯度可以很好的反向傳播中傳遞,不但提高了網路的訓練速度也避免了因為梯度消失導致的網路退化。
relu的使用,使網路引入了稀疏性並且大大縮短了學習週期,deep learning中大部分啟用函式都應該選擇relu。在theano中,可以直接使用t.maximum(0,x)來實現( 用t.max(0,x)不能求導)。
其實dropout是一種特殊的正則化方法,不像l1和l2(兩種通用正則化方法),它不用依靠修正cost function來實現,它直接修正神經網路本身。
dropout的工作原理,簡而言之就是隨機的不讓神經網路中某些神經元啟用,可以理解成這些神經元暫時
(臨時)不屬於網路結構中的一部分,但是該神經元的引數依舊要儲存下來,因為下一次該神經元有可能是啟用狀態。下圖形象對比了有無dropout的情況。
我們可以自由的去選擇禁止啟用神經元的數量,70%,50%,30%等等,上圖的dropout禁止的數量是當前層神經元數目的1/3。
dropout可以看作是平均模型的一種(一種in place平均,當取50%時),它在深度神經網路中有很好的泛化能力,
可以有效的減少overfitting。
created by 苑鵬掣
神經網路 卷積神經網路
這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...
神經網路 卷積神經網路
1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...
卷積神經網路 有趣的卷積神經網路
一 前言 最近一直在研究深度學習,聯想起之前所學,感嘆數學是一門樸素而神奇的科學。f g m1 m2 r 萬有引力描述了宇宙星河運轉的規律,e mc 描述了恆星發光的奧秘,v h d哈勃定律描述了宇宙膨脹的奧秘,自然界的大部分現象和規律都可以用數學函式來描述,也就是可以求得乙個函式。神經網路 簡單又...