靜網PWA視頻評論

神經網絡法節點遺失:規避神經網絡過擬合的一種簡單方法

2023年09月07日

- txt下載

推薦原因:帶有大量參數的深度神經網絡是非常強大的機器學習系統,但過擬合是此類網絡中一個比較嚴重的問題。節點遺失(Dropout)是解決此類系統中過擬合問題的一種簡單方法。這種方法的基本思想是在訓練時隨機丟棄節點,防止不同單元之間過度地相互適應。相對於其他正則化方法,節點遺失能夠更明顯地改善過擬合問題。我們在之後的文章中展示了節點遺失的使用效果,它能明顯地改善語音識別、文檔分類、生物計算等領域中有監督學習的表現效果。神經網絡法-
1:
簡介
深度神經網絡包含多個可以學習輸入和輸出變量之間關係的、非線性隱藏層,使其具備較好的表現力。但是當訓練數據較為有限時,許多關聯只是由樣本中的噪音造成的,這很可能會導致模型的過擬合。目前已經有幾種方法來處理過擬合的問題,例如在測試集表現變差時停止訓練模型以及多種引入權重懲罰的方法。
如果計算能力不受限制,正則化的最好方式是對所有可能參數集的預測結果取平均,並使用給定訓練集的後驗機率對參數設置進行加權。但是我們現在想用較少的計算量達到近似貝葉斯黃金標準的表現效果,所以我們提出使用遺失節點的方法。神經網絡法
模型組合一般都能提高機器學習的模型表現,但是對於大型的神經網絡,將多個獨立訓練模型的輸出結果取平均是很難實現的。當各個模型之間有明顯的差異的時候,模型組合是比較有效的。為了找到差異化的模型,我們要麼構建結構不同的模型,要麼使用完全不同的數據進行訓練。為不同結構下的模型尋找最優的超參數並不是一個簡單的任務並且需要非常大的計算量。使用不同的訓練集也非易事,本身大型神經網絡需要的訓練數據就比較多,我們可能很難拿到足夠多的數據用以訓練不同的模型。神經網絡法
節點(或稱「神經元」)遺失的方法能夠很好的解決上述問題,這種方法近似於對非常多的(約為指數倍的量級)、具備不同結構的模型進行組合。這裡的「節點遺失」是指隨機丟棄神經網絡中的節點(包括隱含和可見節點)以及該節點的傳入和傳出連接。
2:
模型描述
3:
帶有節點遺失的神經網絡學習過程
3.1 後向計算
類似於標準神經網絡,帶有節點遺失的神經網絡模型可以使用隨機梯度下降的方法進行訓練。唯一的不同是,前向和後向計算都是在「變薄」的神經網絡上進行,每個參數的梯度是在每個訓練案例集上取平均。任何提升隨機梯度下降模型的方法在帶有節點遺失的神經網絡模型中同樣適用。
3.2 無監督的預訓練
神經網絡可以使用RBMs(Restricted Boltzmann Machines)、自動編碼器、DBMs(DeepBoltzmann Machines)進行預訓練。預訓練是利用無標籤數據的有效方式。預訓練疊加反向算法微調,在某些情景下,會比使用隨機初始化進行微調的效果要好。
節點遺失算法可以應用在被預訓練過的數據集。預訓練過程保持不變,預訓練得到的權重要乘以1/p,以確保每個節點在使用節點遺失方法時的預期輸出與預訓練一致。我們原本擔心節點遺失的隨機性會抹去預訓練權重中的信息。當微調期間使用的學習速率與隨機初始化網絡中的最優學習速率相當的時候,這種情況確實會發生。但只要學習速率降低一些,預訓練權重中的信息就會被保留下來,並且與不使用節點遺失的方法相比,提升了模型在最終泛化誤差方面的表現。神經網絡法
4:
實驗結果
我們使用以下不同類型的標準數據集對使用節點遺失方法的神經網絡進行訓練,在所有數據集中都發現節點遺失確實提升了神經網絡的模型表現。我們使用的數據集描述如下:
• MNIST:手寫數字的標準數據集。
• TIMIT:用於語音識別的標準演講數據集。
• CIFAR-10 and CIFAR-100:微小的自然圖像.神經網絡法
• 街景門牌號數據集 :Google Street View收集的房屋號碼的圖片.
• ImageNet:大量的自然影象。
• Reuters-RCV1:路透社新聞專線的文章合集。
• 替代(基因)剪接數據集:用於預測替代基因剪接的RNA特徵數據.
我們之所以選取多個不同類型的數據集是為了說明節點遺失是提升神經網絡表現的普適方法,並不會限定在某個特定領域。本文我們僅展示TIMIT數據的模型結果,其他模型結果可參看原始文獻。神經網絡法
4.1 TIMIT測試結果
TIMIT數據集收錄了680位演講者的錄音,涵蓋了美式英語的8種方言。我們在21個對數濾波器窗口上訓練使用節點遺失的神經網絡,來預測中心幀的標籤。下表比較了使用節點遺失和其他方法在表現上的差別。如果使用6層神經網絡模型,普通神經網絡的出差率為23.4%,使用節點遺失後,出錯率降低到21.8%。如果我們對權重進行預訓練,4層神經網絡模型的出錯率降低到22.7%,加入節點遺失之後出錯率降低到19.7%;8層神經網絡的原始出錯率為20.5%,加入節點遺失之後,出錯率降低到19.7%。
4.2 與標準正則化方法的對比
目前已經有幾種正則化的方法用於減輕神經網絡的過擬合問題,例如L2權重衰減、LASSO、KL稀疏和最大範數正則化。節點遺失可以被視為另一種正則化神經網絡的方法。我們使用MNIST數據集比較了節點遺失和其他正則化方法的優劣。神經網絡法
使用不同正則化方法的隨機梯度下降訓練相同的神經網絡結構模型(784- 1024- 1024- 2048- 10)。下表展示了模型結果,每種正則化方法的超參數從測試集獲得,我們發現節點遺失疊加最大化範數的出錯率最低。
5:
節點遺失神經網絡模型的使用指引
在超參數調試方面,神經網絡模型確實「聲名狼藉」,即使我們加入節點遺失,也不能改善這個問題。本部分我們介紹一些在使用節點遺失方面的探索。神經網絡法-
5.1 神經網絡的大小
我們可以預期遺失節點會減弱單個神經網絡的效果,如果我們用n表示隱含層的節點數量,p表示單個節點的保留機率,那麼在經過節點遺失之後,預期只會有pn個節點被保留下來,並且這pn各節點每次都不一樣、相互之間也不能任意的相會適應。因而如果在給定任務下,帶有n個節點的標準神經網絡是比較合適的,那麼在帶有節點遺失的神經網絡中至少要使用n/p個節點。
5.2 學習速率和動量
與標準的隨機梯度下降相比,節點遺失引入了更多噪音。因而在使用節點遺失的方法時,為了彌補這種缺陷,通常要使用標準神經網絡中最優學習速率的10-100倍速率。另一種降低這種噪音影響的方法是使用更高的動量。標準神經網絡中的動量值通常為0.9,在使用節點遺失的方法後,我們發現0.95-0.99的動量值更為合適。使用更高的學習速率/動量值也能明顯加快學習過程。神經網絡法
5.3 最大範數正則化
雖然更高的動量值/學習速率能夠加快學習過程,但是有時候也會導致權重增長到非常高的水平,為了防止這一現象,我們使用最大範數正則化進行限制。這種方法將每個隱含層的傳入向量的範數限制在一個常數c以內,c的取值通常在3到4之間。
5.4 遺失率
節點遺失的方法又引入了一個新的超參數——節點的保留機率p。這個超參數控制了節點遺失的強度。p=1意味著不進行遺失,p越低節點遺失的機率越大。隱含層節點的p值一般在0.5-0.8之間取值。對於輸入層,p的取值取決於輸入數據的類型。對於實值輸入(例如圖像或者演講音頻),p值通常為0.8。對於隱含層,p值的選取與隱含節點數量n有關,如果p比較小就需要一個比較大的n,但這樣會降低訓練的速度並且導致擬合不足,但p太大也不利於降低過擬合問題。神經網絡法
6:
結論
節點遺失通過減輕過擬合提升神經網絡的模型表現。標準的後向算法無法避免節點之間的相會適應從而使得模型在訓練集上表現較好,但是測試集或者其他新的數據集上表現較差。隨機遺棄節點使得每個節點是否出現變得不確定,從而打破了節點之間的相互適應。我們發現這種方法在很多領域都能提升神經網絡的表現,例如對象分類、數字識別、演講識別、文檔分類等。這說明節點遺失的方法是普適的、並不限定於某個特定領域。
節點遺失的一個缺陷是它會增加訓練時間。訓練帶有節點遺失的神經網絡所用的時間一般是相同構造下標準神經網絡的2-3倍。時長增加的主要原因是參數更新帶有更多噪音。這種隨機性阻止了過擬合但也消耗了時間。神經網絡法-

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.