編譯 | Troy·Chang、愛心心、reason_W
算法
校對 | reason_W網絡
下個月機器學習領域的頂會Nips就要在大洋彼岸開幕啦,那麼此次的Nips又有什麼值得關注的亮點呢?Bengio在新做中提出了RNN優化的新概念fraternal dropout,經過最小化使用不一樣的dropout mask的同一個RNN的預測差別,提高RNN對於不一樣dropout mask的不變性,來對RNN進行優化。模型在對比實驗中取得了很是驚豔的效果,同時在圖像標註和半監督任務上也表現不俗,下面就跟隨小編對這篇文章進行一發膜拜吧。架構
RNN做爲神經網絡中的一類十分重要的架構,主要用於語言建模和序列預測。然而,RNN的優化卻至關棘手,比前饋神經網絡要難的多,學界也提出了不少技術來解決這個問題。咱們在咱們中提出了一項叫作fraternal dropout的技術,主要經過利用dropout來實現這個目標。具體來講,咱們首先用不一樣的dropout mask對兩個如出一轍的RNN進行訓練,同時最小化它們(pre-softmax)預測的差別。經過這種方式,咱們的正則項會促進RNN的表示對dropout mask的不變性。咱們證實了咱們的正則項的上限是線性指望dropout目標,並且線性指望dropout目標已經被證實了能夠解決dropout在訓練和推理階段的差別致使的較大差別(gap)。咱們在兩個基準數據集(Penn Treebank 和Wikitext-2.)上進行了序列建模任務以評價咱們的模型,而且得到了十分驚豔的結果。咱們也證實了這種方法能夠爲圖像標註(Microsoft COCO)和半監督(CIFAR-10)任務帶來顯著的性能提高。機器學習
像LSTM網絡(LSTM; Hochreiter & Schmidhuber(1997))和門控循環單元(GRU; Chung et al. (2014))這樣的循環神經網絡都是處理諸如語言生成、翻譯、語音合成以及機器理解等序列建模任務的流行架構。然而因爲輸入序列的長度可變性,每一個時刻相同轉換算子的重複應用以及由詞彙量決定的大規模密集嵌入矩陣等問題的存在,與前饋網絡相比,這些RNNs網絡架構更加難以優化。也正是因爲同前饋神經網絡相比,RNNs在優化問題上遇到的這些挑戰,使得批歸一化以及它的變體(層歸一化,循環批歸一化,循環歸一化傳播),儘管確實帶來了很大的性能提高,但其應用依然沒有像它們在前饋神經網絡中對應的部件同樣成功(Laurent等, 2016),。一樣的,dropout的樸素應用(Srivastava等,2014)也已經證實在RNNs中是無效的(Zaremba等,2014)。所以,RNNs的正則化技術到目前爲止依然是一個活躍的研究領域。函數
爲了解決這些挑戰,Zaremba等人(2014)提出將dropout僅用於多層RNN中的非環式鏈接。Variational dropout(Gal&Ghahramani,2016))會在訓練期間在整個序列中使用相同的dropoutmask。DropConnect(Wan等,2013)在權重矩陣上應用了dropout操做。Zoneout(Krueger et al等(2016))以相似的dropout方式隨機選擇使用前一個時刻隱藏狀態,而不是使用當前時刻隱藏狀態。相似地,做爲批歸一化的替代,層歸一化將每一個樣本內的隱藏單元歸一化爲具備零均值和單位標準誤差的分佈。循環批標準化適用於批標準化,但對於每一個時刻使用非共享的mini-batch統計(Cooijmans等,2016)。性能
Merity等人(2017a)和Merity等(2017b)從另外一方面證實激活正則化(AR)和時域激活正則化(TAR)也是正則化LSTMs的有效方法。學習
咱們提出了一個基於dropout的簡單正則化,咱們稱之爲fraternal dropout。這個方法將最小化兩個網絡預測損失的等權重加權和(這兩個網絡由兩個不一樣dropoutmask在同一個LSTM上獲得),並將兩個網絡的(pre-softmax)預測結果的L2差做爲正則項相加。咱們分析證實了,該方法的正則化目標等於最小化來自不一樣的i.i.d. dropoutmask的預測結果的方差。該方法將會提高預測結果對於不一樣dropoutmask的不變性。同時,文章也討論了咱們的正則項和線性指望dropout(Ma等,2016)、II-model(Laine&Aila,2016)以及激活正則化(Merity等,2017a)的相關性,而且經過實驗證實了咱們的方法與這些相關方法相比帶來的性能提高,第五部分的ablation study將進一步解釋這些方法。測試
Dropout在神經網絡中是一種強大的正則化方式。它一般在密集鏈接的層上更有效,由於與參數共享的卷積層相比,它們更容易受到過擬合的影響。出於這個緣由,dropout是RNN系列一個重要的正則化方式。然而,dropout的使用在訓練和推理階段之間是存在gap的,由於推理階段假設是用線性激活的方式來校訂因子,所以每一個激活的指望值都會不一樣。(小編注:爲了更好的理解這部份內容,你們能夠參考Dropout with Expectation-linear Regularization - https://arxiv.org/abs/1609.08017 ,這篇文章從理論上分析了dropout的ensemble模式和通常的求指望模式的gap。而後提出了將這個gap做爲一種正則化方式,也就是說gap的優化目標就是要儘量小)。另外,帶有dropout的預測模型一般會隨着不一樣dropout mask而變化。然而,在這種狀況下理想的結果就是最後的預測結果不隨着dropout mask的變化而變化。優化
所以,提出fraternal dropout的想法就是在訓練一個神經網絡模型時,保證在不一樣dropout masks下預測結果的變化儘量的小。好比,假定咱們有一個RNN模型M(θ),輸入是X,θ 是該模型的參數,而後讓ui
在fraternal dropout中,咱們採用兩個相同的RNN來同時前饋輸入樣本X。這兩個RNN共享相同的模型參數θ,可是在每一個時刻t有不一樣的dropout masks 和
。這樣在每一個時間點t,會產生兩個損失值
所以,fraternal dropout總體的損失函數就能夠由下面公式表示,
其中κ是正則化係數,m是
咱們採用蒙特卡洛採樣來估計
咱們注意到,以下面所示,咱們正則化項的目標等價於最小化在不一樣dropout masks下,預測函數的方差(附錄中有證實)
備註1 假定 和
均是獨立同分布的,dropout masks和
是上述的預測函數。
所以,
3.1 線性指望dropout相關工做
Ma et al.(2016)分析研究顯示下述二者之間的預期偏差(在樣本上)是有上限的,即在全部的dropout mask下的模型的指望值與使用平均mask的指望值之間的偏差。基於這一結論,他們提出了明確地最小化差別(咱們在咱們的該符號表達中採用了他們的正則式),
其中,s是dropout mask。可是,基於可行性考慮,他們提出在實踐中使用下列正則式進行替代,
特別地,這個式子是經過在網絡中的兩次前饋輸入(分別使用和不使用dropout mask),以及最小化主要網絡損失(該損失是在有dropout的狀況下的)和前面指定的正則項(可是在無dropout的網絡中沒有反向傳播梯度)來實現的。Ma et al.(2016)的目標是最小化網絡損失以及指望差別,這個指望差別是指來自獨立的dropout mask的預測值和來自指望的dropout mask的預測值之間的差別。同時,咱們的正則項目標的上限是線性指望dropout,以下式所示(附錄中證實):
結果代表,最小化ELD目標能夠間接地最小化咱們的正則項。最終如前文所述,他們僅在無dropout的網絡中應用了目標損失(target loss)。實際上,在咱們的ablation研究中(參見第5節),咱們發現經過網絡(無dropout)反向傳播目標損失(target loss)會讓優化模型更難。可是,在該設置中,同時反向傳播目標損失(target loss)可以得到包括性能增益和收斂增益的網絡收益。咱們認爲因爲在所用實例(case)中,網絡權重更有可能經過反向傳播更新來達到目標,因此咱們的正則項收斂速度會更快。尤爲對於權重dropout(Wan et al., 2013)更是如此,由於在這種狀況下,dropout權重將不會在訓練的迭代中得到更新。
3.2 II –model 相關工做
爲了實如今半監督分類任務中提升性能的目標,Laine & Aila(2016)提出了II –model。他們提出的模型和咱們提出的模型類似,除了他們僅在其中一個網絡中應用了目標損失(target loss),而且使用的是依賴時間的權重函數(而咱們使用常量k/m),能夠等價因而咱們模型的深度前饋版本。他們實例的直覺(intuition)是利用未標記的數據來最小化兩種預測上的差別,即兩種使用不一樣dropout mask的同一網絡的預測值。並且,他們也在監督任務中測試了他們的模型,可是沒法解釋使用這一正則項帶來的提高。
經過對咱們的實例(case)進行分析,咱們證實了,最小化該正則項(在II –model中也使用了)同最小化模型預測結果(備註1)中的方差是等價的。此外,咱們也證實了正則項同線性指望dropout(命題1)之間的關係。在第5節,咱們研究了基於沒有在II –model中使用的兩種網絡損失的目標的影響。咱們發如今兩個網絡中應用目標損失(target loss)將使得網絡得到關鍵性的更快的收斂。最後,咱們注意到時域嵌入(temporal embedding ,Laine&Aila(2016)提出的另外一模型,聲稱對於半監督學習來講,是比II –model更好的版本)在天然語言處理應用中至關的棘手,由於保存全部時刻的平均預測值會十分消耗內存(由於預測值的數目每每很是大-數以萬計)。還有一點,咱們證實了在監督學習的實例(case)中,使用時間依賴的權重函數來代替一個常量值k/m是沒有必要的。由於標記的數據是已知的,咱們沒有觀察到Laine&Aila(2016)提到的問題,即當在早期訓練的epoch中太大時,網絡會陷入退化。咱們注意到尋找一個優化的常量值比調整時間依賴的函數更加容易,這也在咱們的實例中進行了實現。
和II –model的方法類似,咱們的方法也和其餘半監督任務相關,主要有Rasmus et al.(2015)和Sajjadi et al.(2016)。因爲半監督學習並非本文要關注的部分,所以咱們參考了Laine&Aila(2016)的更多細節。
4.1 語言模型
在語言建模的情形下,咱們在兩個基準數據集Penn Tree-bank(PTB)數據集(Marcus等,1993)和WikiText-2(WT2)數據集(Merity等,2016)上測試了咱們的模型。預處理操做參考了Mikolov等(2010)(用於PTB語料庫),而且用到了Moses tokenizer(Koehn等,2007)(用於WT2數據集)。
對於這兩個數據集,咱們都採用了Merity等人描述的AWD-LSTM 3層架構。 (2017a)。 用於PTB的模型中的參數數量是2400萬,而WT2的參數數量則是3400萬,這是由於WT2詞彙量更大,咱們要使用更大的嵌入矩陣。 除了這些差別以外,架構是相同的。
Penn Tree-bank(PTB)詞級任務
咱們使用混淆度指標來評估咱們的模型,並將咱們得到的結果與現有的最好結果進行比較。表1顯示了咱們的結果,在現有benchmark上,咱們的方法達到了最早進的性能。
WikiText-2詞級任務
在WikiText-2語言建模任務的狀況下,咱們的表現優於目前的最新技術水平。 表2列出了最終結果。關於實驗的更多細節能夠在5.4節中找到。
4.2 圖像標註
咱們也把fraternal dropout應用到了圖像標註任務上。咱們使用著名的show and tell模型做爲baseline(Vinyals等,2014)。這裏要強調的是,在圖像標註任務中,圖像編碼器和句子解碼器架構一般是一塊兒學習的。但既然咱們想把重點放在在RNN中使用fraternal dropout的好處上,咱們就使用了凍結的預訓練ResNet-101(He 等,2015)模型做爲咱們的圖像編碼器。這也就意味着咱們的結果不能與其餘最早進的方法直接比較,可是咱們提供了原始方法的結果,以便讀者能夠看到咱們的baseline良好的表現。表3提供了最終的結果。
咱們認爲,在這個任務中,κ值較小時,效果最好,由於圖像標註編碼器在開始時就被給予了全部信息,所以連續預測的方差會小於在無條件的天然語言處理任務中的方差。Fraternal dropout可能在這裏是有利的,主要是由於它對不一樣mask的平均梯度進行了平均,從而更新權重頻率更快。
在本節中,咱們的目標是研究與咱們方法密切相關的現有方法。expectation linear dropout (Ma et al. ,2016),Π-model(Laine & Aila 2016)和activity regularization(Merity et al. 2017b),咱們全部的ablation studies(小編注:ablation study是爲了研究模型中所提出的一些結構是否有效而設計的實驗)都是採用一個單層LSTM,使用相同的超參數和模型結構。
5.1 線性指望DROPOUT (ELD)
第二部分已經討論了咱們法方法和ELD方法的聯繫。這裏咱們進行實驗來研究使用ELD正則化和咱們的正則化(FD)性能上的差別。除了ELD,咱們還研究了一個ELD的改進版ELDM。ELDM就是跟FD的用法類似,將ELD應用在兩個相同的LSTM上(在原做者的實驗中只是在一個LSTM上用了dropout)。所以咱們獲得了一個沒有任何正則化方式的基準模型。圖1畫出了這幾種方法訓練過程的曲線。與其餘方法相比,咱們的正則化方法在收斂性上表現的更好。而在泛化性能上,咱們發現FD和ELD類似,而基準模型和ELDM表現得更差。有趣的是,若是一塊兒看訓練和驗證曲線,ELDM彷佛還有待進一步的優化。
5.2 Π-MODEL
由於Π-MODEL和咱們的算法類似(即便它是爲前饋網絡中的半監督學習而設計的),因此咱們爲了明確咱們算法的優點,分別從定性和定量的角度研究了它們在性能上的差別。首先,基於PTB(Penn Treebank Dataset)任務,咱們運行了單層LSTM和3層AWD-LSTM來在語言建模上對兩種算法進測試比較。圖1和2顯示了測試結果。咱們發現咱們的模型比Π-MODEL收斂速度明顯加快,咱們相信這是由於咱們採用兩個網絡(Π-MODEL相反)反向傳播目標損失,致使了更多的採用基於目標梯度的參數更新。
儘管咱們設計的算法是專門來解決RNN中的問題,但爲了有一個公平的對比,咱們在半監督任務上也與Π-MODEL作了對比。所以,咱們使用了包含10類由32x32大小圖像組成的CIFAR-10數據集。參照半監督學習文獻中一般的數據拆分方法,咱們使用了4000張標記的圖片和41000張無標記圖片做爲訓練集,5000張標記的圖片作驗證集合10000張標記的圖片作測試集。咱們使用了原版的56層殘差網絡結構,網格搜索參數
5.3激活正則化(AR)和時域激活正則化(TAR)分析
Merity et al.(2017b)的做者們研究了激活正則化(AR)的重要性,和在LSTM中的時域激活正則化(TAR),以下所示,
表4:基於ResNet-56模型在改變的(半監督任務)CIFAR-10數據集的準確率。咱們發現咱們提出的算法和II模型有同等的表現。當未標記數據沒有被使用,傳統dropout會破壞性能,可是fraternal dropout提供了略好的結果。這意味着當缺少數據和不得不使用額外的正則方法時,咱們的方法是有利的。
圖4:Ablation研究:使用PTB詞級模型的單層LSTM(10M參數)的訓練(左)和驗證(右)混淆度。顯示了基準模型、時域激活正則化(TAR)、預測模型(PR)、激活正則化(AR)和fraternal dropout(FD,咱們的算法)的學習動態曲線。咱們發現與對照的正則項相比,FD收斂速度更快,泛華性能更好。
其中,是LSTM在時刻t時的輸出激活(所以同時取決於當前輸入和模型參數)。注意AR和TAR正則化應用在LSTM的輸出上,而咱們的正則化應用在LSTM的pre-softmax輸出上。可是,由於咱們的正則項可以分解以下:
而且,封裝了一個項和點積項,咱們經過實驗肯定了在咱們的方法中的提高並非單獨由正則項決定的。TAR目標也有一個類似的爭論。咱們在上運行網格搜索,包括在Merity et al.(2017b)中提到的超參數。咱們在提出的正則項中使用。並且,咱們也在一個正則式爲正則項(PR)上進行了比較,以進一步排除僅來自於正則項的任何提高。基於這一網格搜索,咱們選擇了在驗證集上對全部正則化來講最好的模型,另外還報告了一個未使用已說起的4種正則化的基準模型。學習動態如圖4所示。與其餘方法相比,咱們的正則項在收斂和歸納期間都表現更好。當描述的任意正則項被應用時,平均隱藏態激活減小(如圖3所示)。
5.4 LANGUAGE MODELING FAIR COMPARISON(語言模型比較)
正如4.1小節所述,因爲Melis等人(2017)的影響,咱們要確保fraternal dropout可以超越現有的方法不只僅是由於普遍的超參數網格搜索。所以,在咱們的實驗中,咱們保留了原始文件中提到的絕大多數超參數,即嵌入和隱藏狀態大小,梯度裁剪值,權重衰減以及用於全部dropout層的值(詞向量上的dropout,LSTM層間的輸出,最終LSTM的輸出和嵌入dropout)。
固然,也進行了一些必要的變化:
AR和TAR的係數必須改變,由於fraternal dropout也影響RNN的激活(如5.3小節所述) - 咱們沒有進行網格搜索來得到最好的值,而是簡單地去除了AR和TAR正則項。
因爲咱們須要兩倍的內存,因此batch的size被減少了一半,從而讓模型產生大體相同的內存量需求,而且能夠安裝在同一個GPU上
最後一項變更的地方是改變ASGD的非單調間隔超參數n。咱們在n∈{5,25,40,50,60}上進行了一個網格搜索,而且在n取最大值(40,50和60)的時候得到了很是類似的結果。所以,咱們的模型使用普通SGD優化器的訓練時間要長於原始模型。
爲了確保咱們的模型效果,咱們在PTB數據集上經過使用不一樣種子的原始超參數(不進行微調)運行了10個學習程序來計算置信區間。平均最佳驗證混淆度爲60.64±0.15,最小值爲60.33。測試混淆度分別爲58.32±0.14和58.05。咱們的得分(59.8分驗證混淆度和58.0分測試混淆度)比最初的dropout得分好。
因爲計算資源有限,咱們在WT2數據集對fraternal dropout運行了一次單獨的訓練程序。在這個實驗中,咱們使用PTB數據集的最佳超參數(κ= 0.1,非單調間隔n = 60,batch size減半)。
咱們證明使用fine-tuning會對ASGD有好處(Merity等,2017a)。然而,這是一個很是耗時的作法,由於在這個附加的學習過程當中可能會使用不一樣的超參數,因此經過普遍的網格搜索而得到更好的結果的可能性更高。所以,在咱們的實驗中,咱們使用與官方存儲庫中實施的相同的fine-tunin程序(甚至沒有使用fraternal dropout)。表5中列出了fine-tuning的重要性。
咱們認爲,運行網格聯合搜索全部超參數可能會得到更好的結果(改變dropout率多是尤爲有利,由於咱們的方法就明確地使用了dropout)。然而,咱們這裏的目的是排除僅僅由於使用更好的超參數而表現更好的可能性。
在論文中,咱們提出了一個叫作fraternal dropout的簡單RNNs正則化方法,經過做爲正則項來減小模型在不一樣的dropout mask上預測結果的方差。經過實驗證實了咱們的模型具備更快的收斂速度,同時在基準語言建模任務上取得了最早進的成果。 咱們也分析研究了咱們的正則項和線性指望dropout (Ma 等,2016)之間的關係。咱們進行了一系列的ablation 研究,從不一樣的角度評估了模型,並從定性和定量的角度將其與相關方法進行了仔細比較。
論文連接 Fraternal Dropout
https://arxiv.org/abs/1711.00066