深度神經網路 正則化(二)dropout正則化

2021-09-24 23:41:54 字數 1990 閱讀 1472

深度學習可能存在過擬合問題——高方差,有兩個解決辦法,一是正則化,另乙個是準備更多的資料,但由於無法時時刻刻準備足夠多的訓練資料或者獲取資料的成本高,所以通常使用正則化的方法來避免過擬合。

正則化的主要方法有:l2正則化

dropout

資料增廣

early stopping

bagging

在樣本中增加雜訊

本篇介紹dropout正則化

dropout(隨機失活)也是一種非常使用的正則化方法。

1. dropout工作原理

假設在訓練下圖的神經網路時,它存在過擬合(這就是dropout做要處理的),dropout會遍歷網路的每一層,並設計消除神經網路中節點的概率

假設網路中的每一層,每乙個節點都以拋硬幣的方式設定概率,每個節點得以保留和消除的概率都是0.5,設定完節點概率,會消除一些節點,最後得到乙個節點更少,網路規模更小的網路,然後使用backprop方法進行訓練。

這是網路節點精簡後的乙個樣本,對於其他樣本,重複這一過程。

2. dropout實現

在訓練階段:

我們設定乙個保留因子keep_prop,表示保留某個隱藏單元的概率,可以是0.5,0.8等。

假設我們對上圖中的第三層進行實施dropout,設keep_prop=0.8,意味著消除每乙個神經單元的概率為0.2。若從第三層中獲取啟用函式的值為a3(是乙個向量),為a3中的每乙個值乘以乙個以1或0(為0的概率是20%),得到新的a3值。最後向外擴充套件a3,用它除以0.8(即keep_prop引數)。

a3 /= keep_prop

解釋以下為什麼這麼做?

假設第三個隱藏層上有50個單元或者神經元,keep_prop=0.8,那麼保留和刪除它們的概率分別為80%和20%,這意味著有最後被刪除或者歸零的單元平均有10(50x20%=10)個,那麼在下一層第四層z4,z4=w4 * a3+b4,我們的預期是a3減少20%,也就是a3中有20%的元素被歸零,為了不影響z4的期望值,需要用w4*a3/0.8,它將會修正或者彌補損失的20%,保證a3的期望值不會變。

在測試階段:

與訓練階段不同,測試階段不需要額外新增尺度引數,inverted dropout函式會在除以keep-prop時可以記住上一步操作,可以確保在測試階段不執行dropout來調整數值範圍,啟用函式的預期結果也不會發生變化,使測試階段變得容易。

注:如果在訓練階段使用dropout,部分神經元置零後,沒有對a3進行修正,那麼在測試階段,就需要對權重進行縮放,即w(test) = keep_prop * w。

3. 為什麼dropout可以起到正則化作用

直觀上理解,即不依賴於任何乙個特徵,因為該特徵可能隨時被清除。如下圖所示的紫色單元,它不能依靠任何特徵,所以,他不願意把所有賭注放在乙個節點上,不願意給任何乙個輸入加上太多權重,因為它有可能會被刪除,因此該單元將通過這種方式積極地傳播開,並為單元的四個輸入增加一點權重,通過傳播所有權重,dropout 將產生收縮權重的平方範數的效果,和我們之前講過的?2正則化類似,實施 dropout的結果是它會壓縮權重,並完成一些預防過擬合的外層正則化。

4. dropout的缺點

dropout 一大缺點就是代價函式?不再被明確定義,每次迭代,都會隨機移除一些節點,如果再三檢查梯度下降的效能,實際上是很難進行複查的。定義明確的代價函式?每次迭代後都會下降,因為我們所優化的代價函式 j 實際上並沒有明確定義,或者說在某種程度上很難計算。

深度神經網路正則化

在深層網路學習中,為了防止過擬合問題,正則化是個有效措施。以下是用tensorflow搭建的小例子,配合tensorboard。import tensorflow as tf import os os.environ tf cpp min log level 2 cpu加速 def get weig...

神經網路的正則化

神經網路的vc dimension的值與神經元的個數以及權重的個數有關。所以個數越多,神經網路模型越強大越複雜。相應的就有可能出現過擬合的現象。那麼如何預防過擬合呢,有兩種方法。正則化項,這是最常見的方法,不同的是,神經網路用梯度下降法優化權重,所以需要損失函式是可導得,如果使用l1正則化項,就不可...

神經網路正則化方法

在訓練資料不夠多時,或者overtraining時,常常會導致overfitting 過擬合 其直觀的表現如下圖所示,隨著訓練過程的進行,模型複雜度增加,在training data上的error漸漸減小,但是在驗證集上的error卻反而漸漸增大 因為訓練出來的網路過擬合了訓練集,對訓練集外的資料卻...