Dropout — 隨機關閉神經元 | 模擬人腦神經元原理 | 避免模型過擬合
Dropout簡單介紹
Mar 22, 2020
聲明
為了更好地閱讀體驗,所以請連結到此網頁閱讀
介紹
Dropout
這個概念是在2014年被提出的,它的概念其實很簡單,在訓練的時候,隨機將一些神經元關閉,這樣避免神經元之間過度依賴(prevents units from co-adapting too much),並在Inference時將所有神經元開啟,這樣可以輕鬆估計各個不同小的神經網路的平均值,使用dropout
可以大幅降低overfitting的可能
原理
乍聽之下很簡單的原理,用一個機率p來開啟神經元,但其實背後做到了model combination
, weight sharing
的動作。假設我們有n
顆神經元,每顆都可能開或不開,因此我們的神經網路的可能總共為2n種,我們稱每個小的神經網路為thinned network
,所以在我們訓練途中,其實是在訓練2n個 thinned network ,並且由於各個 thinned network 之間又是使用同個權重,因此可以看作權重的分享(weight sharing)
在test time
的時候,理論上我們要平均2n個 thinned network 的預測,但不可能這樣做,我們透過將神經元權重scale-down
的動作,也就是將每個神經元的權重乘以它被開啟的機率p,這使得我們可以將2n個 thinned network 合併成單一個神經網路
公式
這邊直接將原論文的段落引述出來,因為一些符號的意義直接看原文定義是最精準的