【论文笔记】Improving neural networks by preventing co-adaptation of feature detectors
多倫多大學計算機科學系12年的一篇文章,大量實驗討論了dropout的效果和直觀解釋了為什么dropout這么強大。
?
為什么強大?主要是參數獨立訓練,大量網絡共享參數但是相當于獨立訓練出來的,參數之間只是部分協同工作而不是整個網絡的參數協同,特征計算時不會因為輸入有微小變化出現整體性能變特別差,因此泛化性會比全部協同工作的網絡強。另外dropout也相當于bagging、貝葉斯平均方法,當然效果好了。
?
當一個大的前向神經網絡在一個小的訓練集上訓練時,它通常在測試數據上表現不佳。通過在每個訓練用例上隨機省略一半的特征檢測器(feature detectors ),可以大大減少這種“過度擬合”。這就防止了復雜的協同適應(feature detectors),協同適應中,一個特征檢測器在內部環境中只對其他幾個特定的特征檢測器有幫助。相反,每一個神經元學習檢測一個特征,這個特征通常有助于產生正確的答案,因為它必須在各種各樣的內部環境中進行操作。使用隨機“dropout”在許多基準測試任務上有了很大的提升,并創造了語音和物體識別的新紀錄。
?
前向人工神經網絡在輸入和輸出之間使用一層層非線性的“隱藏”單元。通過調整這些隱藏單元的傳入連接的權重,它學習特征檢測器,使它能夠在給定輸入向量(1)時預測正確的輸出。如果輸入和正確輸出之間的關系很復雜,并且網絡有足夠的隱藏單元來精確地建模,那么通常會有許多不同的權重設置來幾乎完美地建模訓練集,特別是如果只有有限數量的標記訓練數據。每一個權重向量都會對測試數據做出不同的預測,而且幾乎所有的權重向量在測試數據上的表現都會比在訓練數據上做得更差,因為特征檢測器已經被調整為在訓練數據上而不是在測試數據上協同工作。
?
通過使用“dropout”可以減少過度擬合,以防止對訓練數據進行復雜的協同適應。在每個訓練案例的每次呈現中,每個隱藏單元都以0.5的概率從網絡中隨機刪除,因此一個隱藏單元不能依賴于其他隱藏單元的存在。另一種觀點是用神經網絡進行模型平均,這是一種非常有效的方法。減少測試集錯誤的一個好方法是對大量不同網絡產生的預測進行平均。
?
這樣做的方法是訓練多個獨立的網絡,然后將這些網絡中的每一個應用到測試數據中,但這在訓練和測試過程中的計算成本都很高。隨機輟學使得在合理的時間內訓練大量不同的網絡成為可能。幾乎可以肯定的是,每個訓練案例的每個呈現都有一個不同的網絡,但是所有這些網絡對于存在的隱藏單元共享相同的權重。
?
我們使用標準的隨機梯度下降法在小批量的訓練案例中訓練dropout神經網絡,但是修改了常用于防止權值增長過大的懲罰項。我們沒有懲罰整個權重向量的平方長度(L2范數),而是為每個單獨的隱藏單元設置傳入權重向量的L2范數的上界。如果權重更新違反了這個約束,將通過除法重新規范化隱藏單元的權重。使用約束而不是懲罰可以防止權重變得非常大。這使模型有可能在帶衰減的學習過程中從非常大的學習率開始,從而允許對權重空間進行比從小權重開始并使用小學習率的方法更徹底的搜索。
?
在測試時,我們使用“平均網絡”,它包含所有隱藏的單元,但它們的輸出權重減半,以補償兩倍多的單元處于活動狀態的事實。事實上,這與大量的dropout網絡的輸出平均有非常類似的性能。在具有N個單元的單個隱藏層和用于計算類標簽概率的“softmax”輸出層的網絡中,使用平均網絡完全等效于取所有2的N方個可能網絡預測的標簽上概率分布的幾何平均值。假設dropout網絡并非都做出相同的預測,則平均網絡的預測保證為正確答案分配比單個dropout網絡分配的平均對數概率更高的對數概率(2)。同樣地,對于線性輸出單位的回歸,平均網絡的平方誤差總是優于dropout網絡的平方誤差的平均值。
?
通過使用變換后的圖像增強訓練數據(3),或者通過將空間變換的知識連接到卷積神經網絡(4),或者通過不使用標簽而使用預訓練模型從訓練圖像中提取有用的特征(5),可以極大地提高測試集的性能。如果不使用這些技巧,標準前饋神經網絡的最佳結果是測試集上的160個錯誤。通過對每個隱藏單元的傳入權重使用具有單獨L2約束的50%丟棄,這可以減少到大約130個錯誤,并且還通過隨機丟棄20%的像素,進一步減少到大約110個錯誤(參見圖1)。
?
dropout也可以與生成式預訓練相結合,但是在這種情況下,我們使用較小的學習率和無權重約束來避免丟失預訓練得到的特征檢測器。在(5)中描述的公開的、預先訓練好的深度信念網,當使用標準反向傳播進行微調時得到118個錯誤,當使用當使用URL上公開的代碼對deep-Boltzmann機器進行五次預訓練時,展開的網絡在使用標準反向傳播進行微調時得到103、97、94、93和88個錯誤,在使用50%的隱藏單元丟失時得到83、79、78、78和77個錯誤。79個錯誤的平均值是不使用先驗知識或增強訓練集的方法的記錄(詳情見附錄a)。
?
當使用URL上公開的代碼對deep-Boltzmann機器進行五次預訓練時,展開的網絡在使用標準反向傳播進行微調時得到103、97、94、93和88個錯誤,在使用50%的隱藏單元丟失時得到83、79、78、78和77個錯誤。79個錯誤的平均值是不使用先驗知識或增強訓練集的方法的記錄(詳情見附錄a)。
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
各種神經網絡結構的MNIST測試集上的錯誤率用反向傳播訓練,所有隱藏層使用50%的輟學率。較低的一組也使用20%的輸入層衰減。此任務的最佳先前發布結果顯示為水平線,使用反向傳播(backpropagation)無預先訓練、權重共享或訓練集增強。
?
然后,我們將dropout應用于TIMIT,TIMIT是一個廣泛使用的小詞匯量干凈語音識別基準。語音識別系統使用隱馬爾可夫模型(HMMs)來處理時間上的變化,它們需要一個聲學模型來確定從聲學輸入中提取的系數幀與每個隱馬爾可夫模型的每個可能狀態的匹配程度。最近,將短幀序列映射到HMM狀態的概率分布的深度、預訓練、前饋神經網絡在TIMIT(6)和各種更現實的大詞匯量任務(7,8)上的表現都優于傳統的高斯混合模型。當窗口的中心幀被神經網絡分類為概率最大的HMM狀態時,顯示TIMIT基準的核心測試集上的幀分類錯誤率。網絡的輸入是21個相鄰幀,每幀提前10毫秒。神經網絡有4個完全連接的隱藏層,每層4000個單元和185個“softmax”輸出單元,這些單元隨后被合并到39個不同的類中,用于基準測試。刪除50%的隱藏單元可顯著提高各種不同網絡體系結構的分類(見圖2)。為了獲得幀識別率,將神經網絡輸出的每一幀的類概率提供給解碼器,解碼器知道HMM狀態之間的轉移概率,并運行Viterbi算法來推斷HMM狀態的最佳序列。如果沒有漏掉,識別率為22.7%,漏掉后識別率提高到19.7%,這是不使用任何說話人身份信息的方法的記錄。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
TIMIT基準的核心測試集上的幀分類錯誤率。不同網絡架構下標準和差分微調的比較。dropout為50%的隱藏單元和20%的輸入單元可以提高分類效率。
?
。。。其他的實驗說明dropout的厲害 略
?
dropout比貝葉斯模型平均法簡單得多,貝葉斯模型平均法通過給定訓練數據的后驗概率對每個模型進行加權。對于復雜的模型類,如前饋神經網絡,貝葉斯方法通常使用馬爾可夫鏈蒙特卡羅方法從后驗分布中采樣模型(14)。相比之下,概率為0.5的dropout假設所有模型最終在組合中都會被賦予同等的重要性,但共享權重的學習會考慮到這一點。在測試時,每個單元是否要被dropout是獨立的,這一事實使得通過使用平均網的一次傳遞來近似指數多個退出網的組合意見非常容易。這比平均許多獨立模型的預測要有效得多。
?
貝葉斯模型平均法的一個流行的替代方法是“bagging”,即根據訓練集中不同的隨機案例選擇訓練不同的模型,并且所有模型在組合中的權重相等(15)。Bagging最常用于決策樹之類的模型,因為這些模型很快就能適應數據,而且在測試時也很快(16)。Dropout允許將類似的方法應用于更強大的前饋神經網絡模型。dropout可以看作是一種極端形式的bagging,在這種bagging中,每個模型都在一個單獨的情況下進行訓練,并且模型的每個參數通過與所有其他模型中相應的參數共享而得到非常強的正則化。這是一個更好的正則化比標準方法收縮參數向零。
?
“樸素貝葉斯”是dropout的一種極端情況,在這種情況下,每個輸入特征被分別訓練以預測類標簽,然后在測試時將所有特征的預測分布相乘。當訓練數據非常少時,這通常比logistic分類效果更好,logistic分類訓練每個輸入特征在所有其他特征的上下文中都能很好地工作。
?
最后,輟學者和最近關于性別在進化中的作用的理論之間有一個有趣的相似之處(17)。對(17)中闡述的可混合性理論的一種可能解釋是,性打破了一組共同適應的基因,這意味著通過使用一大組共同適應的基因來實現一個功能,遠不如通過多種替代方式實現相同的功能,也許不如最佳,每一種都只使用了少量的共適應基因。這使得進化能夠避免死胡同,在這種死胡同中,適應性的提高需要對大量協同適應的基因進行協同改變。它還降低了環境中的微小變化會導致適應度大幅下降的可能性,這種現象在機器學習領域被稱為“過度擬合”。
總結
以上是生活随笔為你收集整理的【论文笔记】Improving neural networks by preventing co-adaptation of feature detectors的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车ECU AUTOSAR 开发
- 下一篇: 如何调用浏览器打印功能来打印页面