迴圈神經網路的 Dropout

2021-10-05 09:01:38 字數 1093 閱讀 8084

dropout是深度網路中常見的一種正則化技巧,在訓練過程中網路單元隨機的被隱藏/丟棄。但這種技巧在rnns中一直未被成功應用。實證結果使很多人相信迴圈層(rnn單元之間的連線)中加入的噪音在長序列中會被放大,並淹沒了訊號。因此現存的研究認為這種技巧應僅用於rnn的輸入和輸出。但這種方式在研究中發現依然會導致過擬合。dropout是乙個同正則化完全不同的技術,與l1和l2正規化正則化不同。dropout並不會修改代價函式而是修改深度網路本身。乙個相關的早期使用這種技術的**((**imagenetclassification with deep convolutional neural networks, by alexkrizhevsky, ilya sutskever, and geoffrey hinton (2012).))中啟發性的dropout解釋是:這種技術減少了神經元之間複雜的共適性。因為乙個神經元不能依賴其他特定的神經元。因此,不得不去學習隨機子集神經元間的魯棒性的有用連線。換句話說。想象我們的神經元作為要給**的模型,dropout是一種方式可以確保我們的模型在丟失乙個個體線索的情況下保持健壯的模型。在這種情況下,可以說他的作用和l1和l2正規化正則化是相同的。都是來減少權重連線,然後增加網路模型在缺失個體連線資訊情況下的魯棒性。

dropout 方法的使用最常出現於卷積神經網路中,通過 dropout 方法,卷積神經網路可以使魯棒性更強。dropout 方法不僅可以用在卷積神經網路中,在迴圈神經網路中使用 dropout方法也能夠得到良好的結果。在對迴圈神經網路使用 dropout時,需要注意的是,一般dropout只存在於相鄰層的迴圈體結構之間,而同一層的迴圈體結構之間不會使用dropout。迴圈神經網路使用 dropout 的示意圖如下圖。以t-3時刻的輸入x(t-3)得到t+1時刻的輸出 o(t+i)為例,x(t-3)經過兩層 lstm 迴圈體結構 得到這一時刻的輸出o(t-3)的過程需要用到 dropout,但是這兩層 lstm 迴圈體結構在將狀態傳遞到下一時刻相應的 lstm 迴圈體結構時沒有使用 dropout。在這之後的時刻,迴圈體結構的執行以及是否使用 dropout 也可以參考這一時刻的情況。

關注小鯨融創,一起深度學習金融科技!

神經網路之dropout層

因為在機器學習的一些模型中,如果模型的引數太多,而訓練樣本又太少的話,這樣訓練出來的模型很容易產生過擬合現象。在訓練bp網路時經常遇到的乙個問題,過擬合指的是模型在訓練資料上損失函式比較小,準確率較高 如果通過畫圖來表示的話,就是擬合曲線比較尖,不平滑,泛化能力不好 但是在測試資料上損失函式比較大,...

深度神經網路技巧之 Dropout

參考部落格 在機器學習,尤其是深度學習領域,經常會遇到模型引數過多,訓練樣本過少的情況,這種情況下訓練出來的模型通常是過擬合的,過擬合的具體表現形式為 模型在訓練集上損失函式小,準確率高 在測試集上損失函式大,準確率低。為了解決過擬合的問題,通常採用模型整合的方法,這樣多個模型的訓練和測試都及其費時...

迴圈神經網路

原文 迴圈神經網路也可以畫成下面這個樣子 對於語言模型來說,很多時候光看前面的詞是不夠的,比如下面這句話 我的手機壞了,我打算 一部新手機。可以想象,如果我們只看橫線前面的詞,手機壞了,那麼我是打算修一修?換一部新的?還是大哭一場?這些都是無法確定的。但如果我們也看到了橫線後面的詞是 一部新手機 那...