每週學習新知識1-1:深度學習中的Dropout

今天仔細看了一下AlexNet,發現最後有個dropout層,按以前理解還以爲類似降採樣。

在這裏插入圖片描述
圖片來自這裏

出現原因

神經網絡神經元可能過多,會導致過擬合,所以dropout作用就是隨機刪減一些神經元,給定刪減概率p,如下圖:
在這裏插入圖片描述
圖片來自這裏

具體工作流程

正常流程

在這裏插入圖片描述
x -> net -> y 計算誤差,反向傳播更新net參數

Dropout

在這裏插入圖片描述

  1. 刪除虛線部分神經元,虛線是隨機指定,參數net1
  2. x -> net1 -> y 計算誤差,反向更新net(正常網絡)參數
  3. 恢復被刪除神經元,跳步驟1

動機論

來自這裏
雖然直觀上看dropout是ensemble在分類性能上的一個近似,然而實際中,dropout畢竟還是在一個神經網絡上進行的,只訓練出了一套模型參數。那麼他到底是因何而有效呢?這就要從動機上進行分析了。論文中作者對dropout的動機做了一個十分精彩的類比:

在自然界中,在中大型動物中,一般是有性繁殖,有性繁殖是指後代的基因從父母兩方各繼承一半。但是從直觀上看,似乎無性繁殖更加合理,因爲無性繁殖可以保留大段大段的優秀基因。而有性繁殖則將基因隨機拆了又拆,破壞了大段基因的聯合適應性。

但是自然選擇中畢竟沒有選擇無性繁殖,而選擇了有性繁殖,須知物競天擇,適者生存。我們先做一個假設,那就是基因的力量在於混合的能力而非單個基因的能力。不管是有性繁殖還是無性繁殖都得遵循這個假設。爲了證明有性繁殖的強大,我們先看一個概率學小知識。

比如要搞一次恐怖襲擊,兩種方式:

  • 集中50人,讓這50個人密切精準分工,搞一次大爆破。
  • 將50人分成10組,每組5人,分頭行事,去隨便什麼地方搞點動作,成功一次就算。

哪一個成功的概率比較大? 顯然是後者。因爲將一個大團隊作戰變成了游擊戰。

那麼,類比過來,有性繁殖的方式不僅僅可以將優秀的基因傳下來,還可以降低基因之間的聯合適應性,使得複雜的大段大段基因聯合適應性變成比較小的一個一個小段基因的聯合適應性。

dropout也能達到同樣的效果,它強迫一個神經單元,和隨機挑選出來的其他神經單元共同工作,達到好的效果。消除減弱了神經元節點間的聯合適應性,增強了泛化能力。

個人補充一點:那就是植物和微生物大多采用無性繁殖,因爲他們的生存環境的變化很小,因而不需要太強的適應新環境的能力,所以保留大段大段優秀的基因適應當前環境就足夠了。而高等動物卻不一樣,要準備隨時適應新的環境,因而將基因之間的聯合適應性變成一個一個小的,更能提高生存的概率。

參考

深度學習中Dropout原理解析
理解dropout

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