1. 程式人生 > >[一種通用的正則化方法Dropout] 深入理解Dropout正則化思想和實現方法

[一種通用的正則化方法Dropout] 深入理解Dropout正則化思想和實現方法

論文題目: Dropout: A Simple Way to Prevent Neural Networks from
Overfitting

(1)過擬合問題:
具有大量引數的深度神經網路是非常強大的機器學習系統。然而,在這樣的網路中,過度擬合是一個嚴重的問題。
包含多個非線性隱含層的深層神經網路,具有非常強大的表現力型,能夠學習輸入和輸出之間非常複雜的關係。然而,在訓練資料有限的情況下,許多學到的複雜關係包括了資料中的噪音資訊,即神經網路將噪音的資訊也學習出來了

目前有許多減少過擬合的方法,比如:利用驗證集的表現來儘快停止對模型的訓練,當在驗證集上的正確率下降時,提前終止模型的訓練;引入權重的懲罰項(L1正規化和L2正規化);軟權重共享。

(2)模型組合:
在無限的計算力的條件下,提高預測正確率的最簡單最好的方法就是使用訓練集訓練大量的不同的模型,然後在測試時,取他們的平均值來作為最後的結果(即模型組合)。然而這是非常耗時和消耗計算資源的。

我們希望用更少的計算來接近貝葉斯黃金標準的效能。dropout是解決這兩個問題的一種技術。 它不僅防止了過度擬合,並提供了一種有效地以指數級方式組合許多不同的神經網路體系結構的方法。

Dropout:
dropout是指: 在訓練模型時,神經網路隨機(以一定概率)的丟棄一些神經元。
丟棄一個神經元,意味著在神經網路中“臨時”的將其和與其相連的全部輸入和輸出連結刪除。最簡單的情況就是:每一個神經元以一個固定的獨立的概率P保留(1-P的概率被丟棄)。如下圖所示:
在這裡插入圖片描述

在測試階段dropout到底是如何進行的?
將模型訓練好後,在進行測試時,我們不再使用dropout丟棄神經元,而是將每個權重值乘上保留概率P,在這裡插入圖片描述,表示他們對最後的預測結果的平均貢獻,以達到與在訓練時使用dropout相同的效果。
在這裡插入圖片描述
將dropout應用到神經網路中,相當於從神經網路中取樣一個“細”網路。這個細網路由那些在使用dropout後保留下來的神經元組成。由於每個神經元有一定的概率被丟棄或保留,所以一個擁有n個神經元節點的網路,通過dropout後可能產生 2^n 個細網路。並且,這些細網路都共享權重,因此引數的總數仍然是 O(n^2) 或更少。
在訓練過程中,每一個樣例都在一個新的取樣得到的“細網路”中進行訓練和表示,所以訓練一個使用dropout的神經網路,相當於在訓練一個共享權重的2^n個細網路的網路集合,並且每一個細網路被訓練的次數都很少。

在使用dropout時,神經網路中的每個隱藏單元必須學會與隨機選擇的其他單元樣本一起工作。這將使每個隱藏單元更加健壯,並推動它自己建立有用的特性,而不需要依賴其他隱藏單元來糾正錯誤。

減少神經元之間的依賴。
比如在一次期末考試中,4個人為一個小組。
(1)若最後考核的方式是:取4個人的平均值為最後每個人的分數,平均值>60則通過。那麼在這種情況下就有了很強的依賴關係,對於某一小組成員,他可以不進行復習,考試可以隨便考,只需要其餘3個人考的很好就可以了。他相當於是無用的。
(2)若最後考核的方式是:老師隨機從他們中選取一個人去考試,這個人的考試分數就是他們所有人的分數。那麼為了考核通過,他們中每一人都需要去好好複習,不能去依賴別人。
這樣就是的他們每一個人的作用最大化,沒有無用的人浪費資源。

dropout可以解釋為一種通過在神經網路的隱藏單元中加入噪聲來實現神經網路正則化的方法。丟棄20%的輸入單元和50%的隱藏單元通常是最理想的。

Dropout網路模型:
在這裡插入圖片描述
假設一個神經網路擁有L個隱藏層,標號在這裡插入圖片描述,在這裡插入圖片描述表示第l層的輸入向量,在這裡插入圖片描述表示第l層的輸出向量,那麼在這裡插入圖片描述表示輸入X,在這裡插入圖片描述表示第l層的權重矩陣和偏差值,
那麼對於普通的神經網路模型的前反饋操作滿足(i表示該層的第i個神經單元):
在這裡插入圖片描述
其中f表示任意的啟用函式,例如在這裡插入圖片描述

使用dropout的網路模型的前反饋操作為:
在這裡插入圖片描述
在每一層中,在這裡插入圖片描述是一個滿足伯努利分佈的向量,其中每個變數為1的概率為P,在這裡插入圖片描述產生細網路中的輸出在這裡插入圖片描述,這個輸出將作為下一層的輸入。使用dropout相當於對原網路進行了將取樣得到一個細的子網路,在反向傳播演算法進行學習時,依然是在這個子網路中進行反向傳播。

在dropout網路中使用隨機梯度下降法進行訓練時,除了使用dropout,使用學習率下降、高動量和max-norm正則化方法依然可以進一步提高模型的正確率。
Max-norm: 將每個隱藏單元的傳入權向量的範數值限制為一個以固定常數c為上界的值,即滿足在這裡插入圖片描述。當權向量w的範數值大於c時,將w投影到一個以c為半徑的球面上。

Dropout是一個通用的正則化技術。