Hinton 等人提出的 Dropout 方案在避免神經(jīng)網(wǎng)絡(luò)過擬合上非常有效,而本文則提出,Dropout 中的按概率刪除神經(jīng)元的原則只是二項(xiàng)隨機(jī)變量的特例。也就是說,研究者用神經(jīng)元權(quán)重的連續(xù)分布替換了原先的二值(零/非零)分布,實(shí)現(xiàn)了廣義的 Dropout——隨機(jī) delta 規(guī)則(SDR)?;鶞?zhǔn)實(shí)驗(yàn)表明,SDR 能顯著降低分類誤差和損失值,并且收斂得更快。
1 引言
多層神經(jīng)網(wǎng)絡(luò)在文本、語音和圖像處理的多種基準(zhǔn)任務(wù)上都取得了令人矚目的效果。盡管如此,這些深層神經(jīng)網(wǎng)絡(luò)也會產(chǎn)生難以搜索的高維、非線性超參數(shù)空間,進(jìn)而導(dǎo)致過擬合以及泛化能力差。早期的神經(jīng)網(wǎng)絡(luò)使用反向傳播算法,它們會由于缺乏足夠的數(shù)據(jù)、梯度損失恢復(fù)以及很可能陷入性能較差的局部最小值而失效。深度學(xué)習(xí)(Hinton et al,2006)引入了一些創(chuàng)新技術(shù)來減少、控制這些過擬合和過度參數(shù)化問題,包括用線性整流單元(ReLU)來減少連續(xù)梯度損失,用 Dropout 技術(shù)避免陷入局部最小值,以及通過有效的模型平均技術(shù)來增強(qiáng)泛化能力。盡管數(shù)據(jù)海嘯可以為各種各樣的分類和回歸任務(wù)提供大量的數(shù)據(jù),在本文中,作者仍將重點(diǎn)討論深層神經(jīng)網(wǎng)絡(luò)的過度參數(shù)化問題。Dropout 可以用來緩解過度參數(shù)化以及過度參數(shù)化引起的深度學(xué)習(xí)應(yīng)用過擬合問題,還能夠避免陷入性能較差的局部最小值。具體而言,Dropout 實(shí)現(xiàn)了一個(gè)概率為 p(有偏的 0-1 抽簽法)的伯努利隨機(jī)變量,在每一輪更新時(shí)從網(wǎng)絡(luò)架構(gòu)中隨機(jī)刪除隱藏單元及其連接,從而產(chǎn)生一個(gè)稀疏的網(wǎng)絡(luò)架構(gòu)——其中剩余權(quán)重被更新并保留到下一個(gè) dropout 步驟中。在學(xué)習(xí)結(jié)束時(shí),通過計(jì)算每個(gè)權(quán)重 p_w_ij 的期望值,重構(gòu)了深度學(xué)習(xí)網(wǎng)絡(luò),這樣的做法近似于對指數(shù)級數(shù)量的一組神經(jīng)網(wǎng)絡(luò)進(jìn)行模型平均。在大多數(shù)情況下,帶 Dropout 機(jī)制的深度學(xué)習(xí)能夠在常見的基準(zhǔn)測試中降低 50% 以上的誤差率。
在本文余下的部分中,作者將介紹一種通用類型的 Dropout 技術(shù),它能夠在權(quán)值級別上進(jìn)行操作并在每輪更新中注入依賴于梯度的噪聲,這種技術(shù)被稱為隨機(jī) delta 規(guī)則(SDR,參見 Murray & Andrews, 1991)。SDR 為每個(gè)權(quán)重實(shí)現(xiàn)了一個(gè)隨機(jī)變量,并且為隨機(jī)變量中的每個(gè)參數(shù)提供了更新規(guī)則,本文使用了帶自適應(yīng)參數(shù)的高斯分布(均值為μ_w_ij,標(biāo)準(zhǔn)差為 σ_w_ij)。盡管所有的 SDR 可以作用于任意的隨機(jī)變量(gamma 分布、beta 分布、二項(xiàng)分布等)。本文將說明,Dropout 是一個(gè)帶有固定參數(shù) (np, np(1 ? p)) 的二項(xiàng)隨機(jī)變量的特例。最后,作者將用高斯 SDR 在標(biāo)準(zhǔn)基準(zhǔn)(例如,CIFAR-10 和 CIFAR-100)中測試 DenseNet 框架,并且說明其相對于二項(xiàng)分布的 Dropout 具有很大的優(yōu)勢。
論文:Dropout is a special case of the stochastic delta rule: faster and more accurate deep learning
論文地址:https://arxiv.org/pdf/1808.03578v1.pdf
摘要:多層神經(jīng)網(wǎng)絡(luò)在文本、語音和圖像處理的各種基準(zhǔn)任務(wù)中都取得了令人矚目的效果。然眾所周知,層次模型中的非線性參數(shù)估計(jì)存在過擬合問題。Dropout(Srivastava, et al 2014, Baldi et al 2016)是一種用來解決這種過擬合以及相關(guān)問題(局部最小值、共線性、特征發(fā)現(xiàn)等)的方法。這種方法在每輪更新中通過帶有概率 p 的伯努利隨機(jī)變量刪除隱藏單元。在本文中,我們說明了 Dropout 是一種更加通用的模型特例,這種被稱為隨機(jī) delta 規(guī)則(「SDR」, Hanson, 1990)的模型于 1990 年被首次發(fā)表。SDR 用一個(gè)均值為μ_w_ij、標(biāo)準(zhǔn)差為 σ_w_ij 的隨機(jī)變量將網(wǎng)絡(luò)中的權(quán)值參數(shù)化。這些隨機(jī)變量在每一次前饋激活中通過采樣得到,從而建立指數(shù)級數(shù)量的共享權(quán)值的潛在網(wǎng)絡(luò)。這兩個(gè)參數(shù)都會根據(jù)預(yù)測誤差而更新,從而實(shí)現(xiàn)了反映預(yù)測誤差局部歷史的權(quán)值噪聲注入和高效的模型平均。因此,SDR 對每個(gè)權(quán)值實(shí)現(xiàn)了一個(gè)局部梯度依賴的模擬退火,從而收斂為一個(gè)貝葉斯最優(yōu)網(wǎng)絡(luò)。使用改進(jìn)版的 DenseNet 在標(biāo)準(zhǔn)基準(zhǔn)(CIFAR)上進(jìn)行測試的結(jié)果顯示,SDR 相較于標(biāo)準(zhǔn) dropout 誤差率降低了 50% 以上,損失也減少了 50% 以上。此外,SDR 的實(shí)現(xiàn)在指定的解決方案上收斂得更快,而且,采用 SDR 的 DenseNet-40 只需要訓(xùn)練 15 個(gè) epoch 就實(shí)現(xiàn)誤差率為 5% 的目標(biāo),而標(biāo)準(zhǔn) DenseNet-40 實(shí)現(xiàn)這一目標(biāo)需要訓(xùn)練 94 個(gè) epoch。
5 實(shí)驗(yàn)結(jié)果
表 1:采用 SDR 的 DenseNet 與采用 dropout 的 DenseNet 誤差率對比
上述結(jié)果表明,在 DenseNet 測試中,用 SDR 替換 dropout 技術(shù)會使所有 CIFAR 基準(zhǔn)測試的誤差減少 50 % 以上,降幅高達(dá) 64%。原始 DenseNet 實(shí)現(xiàn)的誤差結(jié)果低于原始 DenseNet 論文中的誤差結(jié)果,因?yàn)槲覀儼l(fā)現(xiàn)使用更大的批處理會帶來更高的總體準(zhǔn)確率。
表 2:達(dá)到訓(xùn)練誤差率為 15%,10%,5% 分別所需的 epoch 數(shù)量。
如表 2 所示,使用 SDR 后,在訓(xùn)練中將誤差率降到 15%,10%,5% 所需的時(shí)間明顯縮短。使用了 SDR 的 DenseNet-40 只需要原本 1/6 的 epoch 就能夠取得 5% 的誤差率,而使用了 SDR 的 DenseNet-100 則只需原來 60% 的 epoch 就能實(shí)現(xiàn) 5% 的誤差率。
圖 3:采用 dropout 的 DenseNet-100 訓(xùn)練 100 個(gè) epoch 之后的準(zhǔn)確率(橙色曲線)和采用 SDR 的 DenseNet-100 訓(xùn)練 100 個(gè) epoch 的準(zhǔn)確率(藍(lán)色曲線)。比起 dropout,SDR 不僅能夠更快地提高訓(xùn)練準(zhǔn)確率(訓(xùn)練 17 個(gè) epoch 達(dá)到了 96% 的準(zhǔn)確率,drouout 達(dá)到相同的準(zhǔn)確率需要 33 個(gè) epoch),而且還能夠在訓(xùn)練 40 個(gè) epoch 后達(dá)到 98% 的準(zhǔn)確率。
圖 4:表示采用 SDR 的 DenseNet-100 的第 21 層第 1 塊的權(quán)重值頻率的直方圖,其中每個(gè)切片都是來自訓(xùn)練一個(gè) epoch 的 snapshot,而最上面的切片是來自第一個(gè) epoch 的 snapshot。在訓(xùn)練 100 個(gè) epoch 的過程中,隨著權(quán)值的標(biāo)準(zhǔn)差趨近于零,曲線變窄。
2 隨機(jī) delta 規(guī)則
眾所周知,實(shí)際的神經(jīng)傳播包含噪聲。如果一個(gè)皮質(zhì)分離的神經(jīng)元周期性地受到完全相同的刺激,它永遠(yuǎn)不會產(chǎn)生相同的反應(yīng)(如燒傷等刺激)。設(shè)計(jì) SDR 的部分原因是生物系統(tǒng)中通過神經(jīng)元傳遞信號的隨機(jī)性。顯然,平滑的神經(jīng)速率函數(shù)是建立在大量的刺激試驗(yàn)基礎(chǔ)上的。這讓我們想到了一種實(shí)現(xiàn)方法,即兩個(gè)神經(jīng)元之間的突觸可以用一個(gè)具有固定參數(shù)的分布來建模。與這種分布相關(guān)的隨機(jī)變量在時(shí)域內(nèi)可能是一個(gè) Gamma 分布(或在分級響應(yīng)中,參見泊松分布)。在這里,我們假設(shè)有一個(gè)符合中心極限定理的獨(dú)立同分布集合,并且采用高斯分布作為一般形式。盡管如此,對于獨(dú)立成分分析(ICA)來說,同等情況下,長尾分布可能更具優(yōu)勢。
圖 1:SDR 采樣
如圖 1 所示,我們按照圖中的方法實(shí)現(xiàn)采用均值為 μwij、標(biāo)準(zhǔn)差為 σwij 的高斯隨機(jī)變量的 SDR 算法。因此,將從高斯隨機(jī)變量中采樣得到每個(gè)權(quán)值,作為一種前饋運(yùn)算。實(shí)際上,與 Dropout 類似,指數(shù)級別的網(wǎng)絡(luò)集合通過訓(xùn)練期間的更新采樣獲取。與 Dropout 在這一點(diǎn)上的區(qū)別是,SDR 會調(diào)整每個(gè)權(quán)重上附加的隱藏單元的權(quán)重和影響,以便在更新時(shí)隨誤差梯度自適應(yīng)地變化。這里的效果也與 Dropout 相類似,除了每個(gè)隱藏單元的響應(yīng)會分解到權(quán)重上(與分類誤差對信用分配的影響成比例)。因此,每個(gè)權(quán)重梯度本身也是基于隱藏單元預(yù)測性能的隨機(jī)變量,它讓系統(tǒng)能夠:(1)在相同的例程/刺激下接受多值響應(yīng)假設(shè),(2)保留一個(gè)預(yù)測歷史,與 Dropout 不同,Dropout 是局部的隱藏單元權(quán)重,在某個(gè)集合上是有條件的,甚至是一個(gè)特定的例程(3)可能返回由于貪婪搜索得到的性能較差的局部最小值,但是同時(shí)也遠(yuǎn)離了更好的局部最小值。局部噪聲注入的結(jié)果對網(wǎng)絡(luò)的收斂具有全局影響,并且為深度學(xué)習(xí)提供了更高的搜索效率。最后一個(gè)優(yōu)點(diǎn)是,如 G. Hinton 所說,局部噪聲注入可能通過模型平均平滑誤差表面的溝壑,使模型能夠更快更穩(wěn)定地收斂到更好的局部最小值。
圖 2:Dropout 采樣