深度學習網絡大殺器之Dropout——深入解析Dropout
首發地址:https://yq.aliyun.com/articles/68901
更多深度文章,請關注雲計算頻道:https://yq.aliyun.com/cloud
過擬合是深度神經網(DNN)中的一個常見問題:模型隻學會在訓練集上這些年提出的許多過擬合問題的解決方案;其中dropout性並取得良好的結果:
上圖為Dropout表示,左邊是應用Dropout之前的網絡,右邊是應用了Dropout的同一個網絡。
Dropout的思想是訓練DNN,而不是訓練單個DNNDNNs以概率P神經元,其它神經元以概率q=1-p,舍去的神經元的輸出都被設置為零。
在標準神經網絡中,每個參數的導數告訴其應該如何改變,以致損失函數最後被減少。因此神經元元可以通過這種方式修正其他單元的錯誤。但這可能導致複雜的協調,反過來導致過擬合,因為這些協調沒有推廣到未知數據。Dropout通過使其他隱藏單元存在不可靠性來防止共擬合。
簡而言之:Dropout在實踐中能很好工作是因為其在訓練階段阻止神經元的共適應。
Dropout
Dropout
假設:
h(x)=xW+bdixdh維輸出空間上的線性投影;
a(h)是
在訓練階段中,將假設的投影作為修改的激活函數:
其中D=(X1,...,Xdh)是dhXi伯努利隨機變量具有以下概率質量分布:
k
Dropouti
其中P(Xi=0)=p
q
q
訓練階段:
測試階段:
Inverted Dropout
dropout
Dropout的比例因子為,因此:
訓練階段:
測試階段:
Inverted Dropout過程。
Dropout
nhnp
h
因為每一個神經元建模為伯努利隨機變量,且所有這些隨機變量是獨立同分布的,舍去神經元的總數也是隨機變量,稱為二項式:
nk由概率質量分布給出:
當使用dropout,定義了一個固定的舍去概率p對於選定的層,成比例數量的神經元被舍棄。
從上圖可以看出,無論p值是多少,舍去的平均神經元數量均衡為np
此外可以注意到,p = 0.5值附近的分布是對稱。
Dropout
Dropout通常使用L2以及其他參數約束技術有助於保持較小的模型參數值。
L2的附加項,其中λ是一種超參數F(W;x)是模型ε是y和預測值y^誤差函數。
通過梯度下降進行反向傳播,減少了更新數量。
Inverted Dropout
Dropout壓製L2起到作用。
明確縮放因子後,上述等式變為:
可以看出使用Inverted Dropout,學習率是由因子q q在[0,1]和q變化:
q推動因素r(q)有效的學習速率。
有效學習速率相對於所選的學習速率而言更高:基於此約束參數值的規一化可以幫助簡化學習速率選擇過程。
1 Dropout存在兩個版本:直接(不常用)和反轉
2 dropout可以使用伯努利隨機變量建模
3
4 np的概率是低np神經元被舍棄。
6 Inverted Dropout應該與限製參數值的其他歸一化技術一起使用,以便簡化學習速率選擇過程
7 Dropout有助於防止深層神經網絡中的過度擬合
作者介紹:Paolo Galeone
Linkedinhttps://it.linkedin.com/in/paolo-galeone-6782b311b
Twitterhttps://twitter.com/paolo_galeone
本文由北郵@愛可可-愛生活 老師推薦,阿裏雲雲棲社區組織翻譯。
Analysis of DropoutPaolo Galeone
最後更新:2017-07-12 22:10:00