回想一下使用Bagging學習,我們定義 k 個不同的模型,從訓練集有替換采樣構造 k 個不同的數據集,然后在訓練集上訓練模型 i。
Dropout的目標是在指數級數量的神經網絡上近似這個過程。Dropout訓練與Bagging訓練不太一樣。在Bagging的情況下,所有模型是獨立的。
在Dropout的情況下,模型是共享參數的,其中每個模型繼承的父神經網絡參數的不同子集。參數共享使得在有限可用的內存下代表指數數量的模型變得可能。在Bagging的情況下,每一個模型在其相應訓練集上訓練到收斂。
在Dropout的情況下,通常大部分模型都沒有顯式地被訓練,通常該模型很大,以致到宇宙毀滅都不能采樣所有可能的子網絡。取而代之的是,可能的子網絡的一小部分訓練單個步驟,參數共享導致剩余的子網絡能有好的參數設定。