學界 | 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 採樣
本文為機器之心編譯,
轉載請聯繫本公眾號獲得授權
。?------------------------------------------------
加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com
投稿或尋求報道:
content
@jiqizhixin.com廣告 & 商務合作:bd@jiqizhixin.com
※Goodfellow點贊的相對鑒別器:表徵GAN中缺失的關鍵因素
※學界 | 利用AI精確重建多模光纖傳輸圖像,該技術或可改變醫療和通信行業
TAG:機器之心 |