學界 | Hinton提出的經典防過擬合方法Dropout,只是SDR的特例

選自arXiv

作者:Noah Frazier-Logue、Stephen José Hanson

機器之心編譯

參與:Geek AI、王淑婷

Hinton 等人提出的 Dropout 方案在避免神經網絡過擬合上非常有效,而本文則提出,Dropout 中的按概率刪除神經元的原則只是二項隨機變量的特例。也就是說,研究者用神經元權重的連續分佈替換了原先的二值(零/非零)分佈,實現了廣義的 Dropout——隨機 delta 規則(SDR)。基準實驗表明,SDR 能顯著降低分類誤差和損失值,並且收斂得更快。

1 引言

多層神經網絡在文本、語音和圖像處理的多種基準任務上都取得了令人矚目的效果。儘管如此,這些深層神經網絡也會產生難以搜索的高維、非線性超參數空間,進而導致過擬合以及泛化能力差。早期的神經網絡使用反向傳播算法,它們會由於缺乏足夠的數據、梯度損失恢復以及很可能陷入性能較差的局部最小值而失效。深度學習(Hinton et al,2006)引入了一些創新技術來減少、控制這些過擬合和過度參數化問題,包括用線性整流單元(ReLU)來減少連續梯度損失,用 Dropout 技術避免陷入局部最小值,以及通過有效的模型平均技術來增強泛化能力。儘管數據海嘯可以爲各種各樣的分類和迴歸任務提供大量的數據,在本文中,作者仍將重點討論深層神經網絡的過度參數化問題。Dropout 可以用來緩解過度參數化以及過度參數化引起的深度學習應用過擬合問題,還能夠避免陷入性能較差的局部最小值。具體而言,Dropout 實現了一個概率爲 p(有偏的 0-1 抽籤法)的伯努利隨機變量,在每一輪更新時從網絡架構中隨機刪除隱藏單元及其連接,從而產生一個稀疏的網絡架構——其中剩餘權重被更新並保留到下一個 dropout 步驟中。在學習結束時,通過計算每個權重 p_w_ij 的期望值,重構了深度學習網絡,這樣的做法近似於對指數級數量的一組神經網絡進行模型平均。在大多數情況下,帶 Dropout 機制的深度學習能夠在常見的基準測試中降低 50% 以上的誤差率。

在本文餘下的部分中,作者將介紹一種通用類型的 Dropout 技術,它能夠在權值級別上進行操作並在每輪更新中注入依賴於梯度的噪聲,這種技術被稱爲隨機 delta 規則(SDR,參見 Murray & Andrews, 1991)。SDR 爲每個權重實現了一個隨機變量,並且爲隨機變量中的每個參數提供了更新規則,本文使用了帶自適應參數的高斯分佈(均值爲µ_w_ij,標準差爲 σ_w_ij)。儘管所有的 SDR 可以作用於任意的隨機變量(gamma 分佈、beta 分佈、二項分佈等)。本文將說明,Dropout 是一個帶有固定參數 (np, np(1 − p)) 的二項隨機變量的特例。最後,作者將用高斯 SDR 在標準基準(例如,CIFAR-10 和 CIFAR-100)中測試 DenseNet 框架,並且說明其相對於二項分佈的 Dropout 具有很大的優勢。

論文:Dropout is a special case of the stochastic delta rule: faster and more accurate deep learning

論文地址:https://arxiv.org/pdf/1808.03578v1.pdf

摘要:多層神經網絡在文本、語音和圖像處理的各種基準任務中都取得了令人矚目的效果。然衆所周知,層次模型中的非線性參數估計存在過擬合問題。Dropout(Srivastava, et al 2014, Baldi et al 2016)是一種用來解決這種過擬合以及相關問題(局部最小值、共線性、特徵發現等)的方法。這種方法在每輪更新中通過帶有概率 p 的伯努利隨機變量刪除隱藏單元。在本文中,我們說明了 Dropout 是一種更加通用的模型特例,這種被稱爲隨機 delta 規則(「SDR」, Hanson, 1990)的模型於 1990 年被首次發表。SDR 用一個均值爲µ_w_ij、標準差爲 σ_w_ij 的隨機變量將網絡中的權值參數化。這些隨機變量在每一次前饋激活中通過採樣得到,從而建立指數級數量的共享權值的潛在網絡。這兩個參數都會根據預測誤差而更新,從而實現了反映預測誤差局部歷史的權值噪聲注入和高效的模型平均。因此,SDR 對每個權值實現了一個局部梯度依賴的模擬退火,從而收斂爲一個貝葉斯最優網絡。使用改進版的 DenseNet 在標準基準(CIFAR)上進行測試的結果顯示,SDR 相較於標準 dropout 誤差率降低了 50% 以上,損失也減少了 50% 以上。此外,SDR 的實現在指定的解決方案上收斂得更快,而且,採用 SDR 的 DenseNet-40 只需要訓練 15 個 epoch 就實現誤差率爲 5% 的目標,而標準 DenseNet-40 實現這一目標需要訓練 94 個 epoch。

5 實驗結果

表 1:採用 SDR 的 DenseNet 與採用 dropout 的 DenseNet 誤差率對比

上述結果表明,在 DenseNet 測試中,用 SDR 替換 dropout 技術會使所有 CIFAR 基準測試的誤差減少 50 % 以上,降幅高達 64%。原始 DenseNet 實現的誤差結果低於原始 DenseNet 論文中的誤差結果,因爲我們發現使用更大的批處理會帶來更高的總體準確率。

表 2:達到訓練誤差率爲 15%,10%,5% 分別所需的 epoch 數量。

如表 2 所示,使用 SDR 後,在訓練中將誤差率降到 15%,10%,5% 所需的時間明顯縮短。使用了 SDR 的 DenseNet-40 只需要原本 1/6 的 epoch 就能夠取得 5% 的誤差率,而使用了 SDR 的 DenseNet-100 則只需原來 60% 的 epoch 就能實現 5% 的誤差率。

圖 3:採用 dropout 的 DenseNet-100 訓練 100 個 epoch 之後的準確率(橙色曲線)和採用 SDR 的 DenseNet-100 訓練 100 個 epoch 的準確率(藍色曲線)。比起 dropout,SDR 不僅能夠更快地提高訓練準確率(訓練 17 個 epoch 達到了 96% 的準確率,drouout 達到相同的準確率需要 33 個 epoch),而且還能夠在訓練 40 個 epoch 後達到 98% 的準確率。

圖 4:表示採用 SDR 的 DenseNet-100 的第 21 層第 1 塊的權重值頻率的直方圖,其中每個切片都是來自訓練一個 epoch 的 snapshot,而最上面的切片是來自第一個 epoch 的 snapshot。在訓練 100 個 epoch 的過程中,隨着權值的標準差趨近於零,曲線變窄。

2 隨機 delta 規則

衆所周知,實際的神經傳播包含噪聲。如果一個皮質分離的神經元週期性地受到完全相同的刺激,它永遠不會產生相同的反應(如燒傷等刺激)。設計 SDR 的部分原因是生物系統中通過神經元傳遞信號的隨機性。顯然,平滑的神經速率函數是建立在大量的刺激試驗基礎上的。這讓我們想到了一種實現方法,即兩個神經元之間的突觸可以用一個具有固定參數的分佈來建模。與這種分佈相關的隨機變量在時域內可能是一個 Gamma 分佈(或在分級響應中,參見泊松分佈)。在這裏,我們假設有一個符合中心極限定理的獨立同分布集合,並且採用高斯分佈作爲一般形式。儘管如此,對於獨立成分分析(ICA)來說,同等情況下,長尾分佈可能更具優勢。

圖 1:SDR 採樣

如圖 1 所示,我們按照圖中的方法實現採用均值爲 µwij、標準差爲 σwij 的高斯隨機變量的 SDR 算法。因此,將從高斯隨機變量中採樣得到每個權值,作爲一種前饋運算。實際上,與 Dropout 類似,指數級別的網絡集合通過訓練期間的更新採樣獲取。與 Dropout 在這一點上的區別是,SDR 會調整每個權重上附加的隱藏單元的權重和影響,以便在更新時隨誤差梯度自適應地變化。這裏的效果也與 Dropout 相類似,除了每個隱藏單元的響應會分解到權重上(與分類誤差對信用分配的影響成比例)。因此,每個權重梯度本身也是基於隱藏單元預測性能的隨機變量,它讓系統能夠:(1)在相同的例程/刺激下接受多值響應假設,(2)保留一個預測歷史,與 Dropout 不同,Dropout 是局部的隱藏單元權重,在某個集合上是有條件的,甚至是一個特定的例程(3)可能返回由於貪婪搜索得到的性能較差的局部最小值,但是同時也遠離了更好的局部最小值。局部噪聲注入的結果對網絡的收斂具有全局影響,並且爲深度學習提供了更高的搜索效率。最後一個優點是,如 G. Hinton 所說,局部噪聲注入可能通過模型平均平滑誤差表面的溝壑,使模型能夠更快更穩定地收斂到更好的局部最小值。

圖 2:Dropout 採樣

本文爲機器之心編譯,轉載請聯繫本公衆號獲得授權。

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