吳恩達深度學習筆記(十一)—— dropout正則化


 

主要內容:

一、dropout正則化的思想

二、dropout算法流程

三、dropout的優缺點

 

 

一、dropout正則化的思想

在神經網絡中,dropout是一種“玄學”的正則化方法,以減少過擬合的現象。它的主要思想就是:在訓練神經網絡的每一輪迭代中,隨機地關閉一些神經元,以此降低神經網絡的復雜程度:

 

 

 二、dropout算法流程

1)對於第k層的結點,選擇一個范圍在(0,1]的數keep_prob,表明每一個結點的存在幾率為keep_prob

2)在每一輪迭代中,為第k層的所有結點隨機分配一個范圍在[0,1]的數D。如果某個結點的D小於等於keep_prob,那么這個結點在此輪迭代中能保存;否則,這個結點將在這輪迭代中被暫時刪去,所謂刪去,其實就是將該節點在這輪前向傳播的輸出值設為0。

3)對於保存下來的點,還需要做一步操作:新輸出值 = 原輸出值/keep_prob。

問:為何輸出值要除以keep_prob呢?

答:因為這樣能保證第k層輸出的期望不發生改變,或者說是保持第k層輸出值的scale。

4)以上是前向傳播的過程,在反向傳播中,同樣需要對保留下來的結點的導數dA除以keep_prob。

5)每一層的keep_prob可以不一樣,其中輸入層X一般不進行dropout,結點數大的隱藏層其keep_prob可以小一點以降低其復雜度。

 

 

三、dropout的優缺點

優點:使用dropout正則化的神經網絡,不會過分依賴於某個或某些特征,使得權重分散。因為在每一輪迭代中隱藏層的任何一個結點都有可能被刪除,那么原本屬於它的權重就會被分配到其他結點上,多次迭代平均下來,就能降低對某個特征或者是某個結點的依賴了。

缺點:損失函數在每一輪迭代中不一定是逐漸減小,因為此時的損失函數沒有明確的定義。(這個不理解)

 


免責聲明!

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



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