深入解析Dropout——基本思想:以概率P舍棄部分神經元,其它神經元以概率q=1-p被保留,舍去的神經元的輸出都被設置為零


深度學習網絡大殺器之Dropout——深入解析Dropout

 轉自:https://yq.aliyun.com/articles/68901

摘要: 本文詳細介紹了深度學習中dropout技巧的思想,分析了Dropout以及Inverted Dropout兩個版本,另外將單個神經元與伯努利隨機變量相聯系讓人耳目一新。

過擬合深度神經網DNN)中的一個常見問題:模型只學會訓練集分類這些年提出的許多擬合問題解決方案;其中dropout具有簡單並取得良好的結果

Dropout

7e31586d15d887ae0901452e2e1b1c6cb94f882e

上圖為Dropout的可視化表示,左邊是應用Dropout之前的網絡,右邊是應用了Dropout的同一個網絡。

Dropout的思想是訓整體DNN,並平均整個集合的結果,而不是訓練單個DNNDNNs以概率P舍棄部分神經元其它神經元以概率q=1-p被保留舍去的神經元的輸出都被設置為零。

引述作者

在標准神經網絡中,每個參數的導數告訴應該如何改變,以致損失函數最后被減少因此神經元可以通過這種方式修正其他單的錯誤。但這可能導致復雜的協調,反過來導致過擬合,因為這些協調沒有推廣到未知數據。Dropout通過使其他隱藏單元存在不可靠來防止共擬合。

簡而言之:Dropout在實踐很好工作因為在訓階段阻止神經元的共適應。

Dropout如何工作

Dropout以概率p舍棄神經元並讓其它神經元以概率q=1-p保留。每個神經元被關閉的概率是相同的。這意味着:

假設:

h(x)=xW+bdi維的輸入xdh維輸出空間上的線性投影;

a(h)是激活函數

在訓練階段中,將假設的投影作為修改的激活函數:

650f8f00ffeb3ef346a61ee248670abe173c4acb

其中D=(X1,...,Xdh)dh維的伯努利變量Xi伯努利隨機變量具有以下概率質量分布:

32363b313f65d3bf4231c5c57eace39d6fb7cb2c

其中k是可能的輸出。

Dropout應用在第i個神經元上:

8899c12575bca1550dfd8127fd7eb0a2912a8f2a

其中P(Xi=0)=p

由於在訓練階段神經元保持q概率,在測試階段必須仿真出在訓練階段使用的網絡集的行為。

為此,作者建議通過系數q來縮放激活函數:

訓練階段fdb59b52bfa583cf08eaf7980e26e8fad453d148

測試階段d6a2b220ee68540890eaf0dc537188c738600fb7

Inverted Dropout

dropout稍微不同。該方法在訓練階段期間對激活值進行縮放,而測試階段保持不變。

倒數Dropout的比例因子為223ab9380c566fb9a74ff8a0a127e1174593bdf8,因此:

訓練階段:6ebd718f4256f50134f7428bc5df4d3cc9ddceae

測試階段6ccbf2b63a56155b6403093e8771952bb3e3515b

Inverted DropoutDropout在各種深度學習框架實踐中實現的,因為它有助於一次性定義模型,並只需更改參數(保持/舍棄概率)就可以在同一模型上運行訓練和測試過程

一組神經元的Dropout

n個神經元的第h層在每個訓練步驟中可以被看作是n個伯努利實驗的集合,每個成功的概率等於p

因此舍棄部分神經元后h層的輸出等於:

f580cf9006a568171c48ac7ec10f1d8997bf7d81

因為每一個神經元建模為伯努利隨機變量,且所有這些隨機變量是獨立同分布的,舍去神經元的總數也是隨機變量,稱為二項式:

023627f0453afe34e4bebb9ee10dfb7678d87989

n次嘗試中有k次成功的概率由概率質量分布給出:

55460b3bb5d23fc5fbc732366679150a56a67fec

當使用dropout,定義了一個固定的舍去概率p對於選定的層,成比例數量的神經元被舍棄

3be3ad14ec1d82ebafe981d1d3fc40ef6132e020

圖可以看出,無論p是多少舍去的平均神經元數量均衡為np

933a160e2ead33c8ea51c1c7d41a69d3bb369eda

此外可以注意到,圍繞在p = 0.5附近的分布對稱。

Dropout與其它正則化

Dropout通常使用L2歸一化以及其他參數約束技術。正則化有助於保持較小的模型參數

L2歸一化是損失附加項,其中λ是一種超參數F(W;x)是模型以及ε真值y和預測值y^之間的誤差函數。

e596c69e772f833df283a96e806dde994d8b979d

通過梯度下降進行反向傳播,減少了更新量。

a762ce896975e697de82661ee4e69a11f6e92fad

Inverted Dropout和其他正則化

由於Dropout不會阻止參數增長和彼此壓制,應用L2正則化可以起到作用

明確縮放因子上述等式變為:

337e71fd721fded5b9298cad73ba6c3310057d6c

可以看出使用Inverted Dropout,學習率是由因子q進行縮放 。由於q[0,1]之間,ηq之間的比例變化:

71cf583c223c9f4e2d7a3021640ae747b9f5dacd

q稱為推動因素,因為其能增強學習速率,將r(q)稱為有效的學習速率

有效學習速率相對於所選的學習速率而言更高:基於此約束參數值的規化可以幫助簡化學習速率選擇過程。

總結

1 Dropout存在兩個版本:直接(不常用)和反轉

2 單個神經元上的dropout可以使用伯努利隨機變量建模

3 可以使用二項式隨機變量來對一組神經元上的舍棄進行建模

4 即使舍棄神經元恰巧為np的概率是低的,但平均上np神經元被舍棄

5 Inverted Dropout提高學習率

6 Inverted Dropout應該與限制參數值的其他歸一化技術一起使用,以便簡化學習速率選擇過程

7 Dropout有助於防止深層神經網絡中的過度擬合

 

作者介紹:Paolo Galeone,計算機工程師以及深度學習研究者,專注於計算機視覺問題的研究

 

bafcc5518a0f203dc66a08af1dd9a6ce1e386173

 

Bloghttps://pgaleone.eu/

Linkedinhttps://it.linkedin.com/in/paolo-galeone-6782b311b

Twitterhttps://twitter.com/paolo_galeone


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM