日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dropout层_DNN,CNN和RNN的12种主要dropout方法的数学和视觉解释

發布時間:2025/3/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dropout层_DNN,CNN和RNN的12种主要dropout方法的数学和视觉解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深入研究DNN,CNN和RNNDropout方法以進行正則化,蒙特卡洛不確定性和模型壓縮

動機

在(深度)機器學習中訓練模型時的主要挑戰之一是協同適應。 這意味著神經元彼此非常依賴。 它們彼此之間影響很大,并且在輸入方面不夠獨立。 找到某些神經元具有比其他神經元重要的預測能力的情況也是很常見的。 換句話說,我們的輸出可能會過度依賴一個神經元。

為了避免這些影響,必須分配權重以防止過擬合。 某些神經元的共適應和高預測能力可以用不同的正則化方法來調節。 其中最常用的一種是Dropout。 但是,大多數情況下很少使用Dropout的全部功能。

根據網絡結構的不同,DNN,CNN還是RNN,可以應用不同的Dropout方法。 實際上,我們僅使用一個(或幾乎使用),大部分人并不對Dropout有深入的理解。 因此在本文中,我們將在數學上和視覺上深入Dropout的世界:

· 標準Dropout方法

· 標準Dropout的變體

· 應用于CNN的Dropout方法

· 應用于RNN的Dropout方法

· 其他Dropout應用程序(Monte Carlo和壓縮)

符號

Standard Dropout

最著名和最常用的方法是Hinton等人于2012年引入的標準dropout。出于明顯的原因,通常簡稱為"dropout",在本文中,我們將其稱為"標準dropout"。

為了防止在訓練階段過度擬合,會隨機省略神經元。 在密集(或完全連接)的網絡中引入的每一層,我們給出了丟失的概率p。 在每次迭代中,每個神經元都有被忽略的概率p。 Hinton等。 論文建議在輸入層上的丟失概率p = 0.2,在隱藏層上的概率p = 0.5。 顯然,我們對作為預測的輸出層感興趣。 因此,我們不會在輸出層上應用缺失。

在數學上,我們說每個神經元的遺漏概率遵循概率p的伯努利分布。 因此,我們用蒙版制作了神經元矢量(層)的逐個元素,其中每個元素都是遵循伯努利分布的隨機變量。

在測試(或推斷)階段,沒有退出。 所有神經元都活躍。 為了補償與訓練階段相比的其他信息,我們根據存在的可能性進行加權。 因此,神經元的概率不會被忽略。 它是1-p

DropConnect

我們找到了與"標準dropout"方法相同的機制。 除了掩碼(其元素是遵循分布的隨機變量)之外,不將其應用于圖層的神經元矢量,而是應用于將圖層連接至前一層的權重矩陣。

對于測試階段,可能具有與標準Dropout方法相同的邏輯。 我們可以乘以存在的概率。 但這不是L. Wan等人提出的方法。 有趣的是,即使在測試階段,他們也可以通過應用DropConnect的高斯近似來提出一種隨機的丟棄方法。 然后通過從該高斯表示中隨機抽取樣本。StandOut之后,我們將回到高斯近似。

Standout

作為標準的Dropout方法,L。J. Ba和B. Frey引入的Standout 基于伯努利蒙版(我將根據它們遵循的分布來稱呼這些蒙版,這會更簡單)。 區別在于神經元遺漏的概率p在該層上不是恒定的。 它根據權重的值是自適應的。

這可以用于任何g激活函數,甚至可以是單獨的神經網絡。 類似地,對于Ws可以是W的函數。然后對于測試階段,我們通過存在概率進行平衡。

有點晦澀,所以讓我們舉個例子。 他們在論文中表明,在實踐中,信念網絡權重可以近似為權重的仿射函數。 例如,我將S型曲線的絕對值作為激活函數。

我們可以看到,權重越大,將忽略神經元的可能性就越大。 這有力地限制了某些神經元可能具有的高預測能力。

Gaussian Dropout

應用于神經網絡的Dropout方法列表不斷增長。 因此,在繼續講DNN之前,我想談一談最引人入勝的Dropout方法類別。

僅舉幾個例子,快速Dropout,變項Dropout或具體Dropout是從貝葉斯角度解釋Dropout的方法。 具體而言,我們沒有使用伯努利蒙版,而是有一個蒙版,其元素是遵循高斯分布(正態分布)的隨機變量。 在這里,我將不進行大數定律的演示,這不是重點。 因此,讓我們嘗試直觀地理解這一點。

這幾篇論文表明,我們可以用正常定律模擬我們的Dropout的伯努利掩碼。 但這有什么區別。 一切都什么都沒有。 關于這些方法與由于過度適應和/或我們神經元的預測能力而導致的過度擬合的相關性,它沒有改變。 但是,與之前介紹的方法相比,它改變了訓練階段所需的執行時間。

從邏輯上講,通過在每個迭代中省略具有缺失的神經元,在迭代過程中不會更新在迭代中省略的神經元。 它們不存在。 因此,訓練階段變慢了。 另一方面,通過使用高斯Dropout方法,在每次迭代和每個訓練樣本中都暴露了所有神經元。 這樣可以避免減速。

在數學上,有一個與高斯掩碼的乘法(例如,以伯努利定律標準偏差p(1-p)為中心的1)。 通過在每次迭代中使所有神經元保持活動狀態來隨機加權其預測能力,從而模擬了Dropout現象。 該方法的另一個實用優勢集中于1:在測試階段,與沒有Dropout的模型相比,無需進行任何修改。

Pooling Dropout

圖像或特征圖的問題在于像素非常依賴于它們的鄰居。 簡而言之,在貓的圖片上,如果拍攝一個與其外衣相對應的像素,則所有相鄰像素都將與同一外衣相對應。 幾乎沒有差異。

因此,我們了解了標準Dropout方法的局限性。 我們甚至可以說它效率低下,唯一帶來的變化就是額外的計算時間。 如果我們隨機忽略圖像上的像素,則幾乎不會刪除任何信息。 省略的像素與其周圍幾乎相同。 這意味著性能不佳,無法防止過擬合。

為什么不利用CNN中經常使用的池化呢? 例如最大池化層。 對于那些不知道的人:"最大池化層"是通過圖片或(功能圖)選擇重疊區域的最大激活程度的濾鏡。

Max-Pooling Dropout 是一種應用于H. Wu和X. Gu提出的CNN的丟棄方法。 在執行合并操作之前,它將伯努利的遮罩直接應用于"最大池化層"內核。 憑直覺,這允許最小化高活化劑的聚集。 限制某些神經元的沉重預測能力是一個很好的觀點。 在測試階段,然后可以根據存在的可能性對以前的方法進行加權。

以最大池化層為例,但其他池化層也可以這樣做。 例如,對于平均池化層,我們可以在訓練階段以相同的方式應用Dropout。 然后在測試階段,因為它已經是加權平均值,所以不會有任何變化。

Spatial Dropout

對于CNN,我們可以利用池化層。 但是我們也可以遵循J. Tompson等人提出的Spatial Dropout 方法,變得更聰明。 他們提議用經典的丟失方法來克服該問題,因為相鄰像素高度相關。

除了可以在像素上隨機應用濾除之外,我們還可以考慮對每個像素貼圖應用濾除。 如果我們以貓為例,那就像從圖像中去除紅色,然后將其強制推廣到圖像的藍色和綠色。 然后在接下來的迭代中將其他特征圖隨機刪除。

我不知道如何正確地數學寫作以使其易于理解。 但是,如果您了解以前的方法,則不會有任何麻煩。 在訓練階段,每個特征圖都應用伯努利遮罩,其概率為p。 然后在測試階段,沒有丟失,而是通過存在概率1-p進行加權。

Cutout

讓我們更深入地研究克服相鄰像素高度相關這一事實的方法。 可以在區域中應用它們,而不是在每個特征圖上應用伯努利遮罩。 這是T. DeVries和G. W. Taylor提出的Cutout方法。

上一次以貓圖像為例:該方法可以通過隱藏圖像區域來進行泛化,從而限制過擬合。 我們最終得到的圖像是貓頭掉落的地方。 這迫使CNN識別描述貓的不太明顯的屬性。

同樣在本節中沒有數學。 這種方法在很大程度上取決于我們的想象力:正方形區域,矩形,圓形,所有要素地圖,一次或可能多次……取決于您。

Max-Drop

最后,總結本節有關CNN的過程,我必須指出,顯然可以組合幾種方法。 當我們知道不同的方法時,這就是使我們變得強大的原因:我們可以同時利用它們的好處。 這就是S. Park和N. Kwak提出的最大下降方法

這種方法在某種程度上是Pooling Dropout和Gaussian Dropout的混合。 刪除是在最大池化層上執行的,但是使用貝葉斯方法。

在他們的論文中,他們證明了這種方法所產生的結果與使用Spatial Dropout一樣有效。 除了在每次迭代中,所有神經元都保持激活這一事實之外,這還限制了訓練階段的減速。這些結果是在μ = 0.02和σ2= 0.05的條件下獲得的。

RNNDrop

好吧,我們已經看到了DNN和CNN的一些Dropout方法。 該研究還試圖找出哪種方法對遞歸神經網絡(RNN)可能有效。 它們通常依賴于LSTM,因此我將以RNN的這種特殊情況為例。 它將可以推廣到其他RNN。

問題很簡單:在RNN上應用dropout很危險。 從某種意義上說,RNN的目的是長期保留事件的記憶。 但是經典的丟棄方法效率不高,因為它們會產生噪音,從而阻止這些模型長期保持記憶。 將介紹的方法可以長期保留此內存。

T. Moon等人提出的RNNDrop 。 是最簡單的方法。 伯努利遮罩僅應用于隱藏的單元狀態。 但是此掩碼在序列之間彼此相同。 這稱為Dropout的按順序采樣。 這僅表示在每次迭代中我們都會創建一個隨機掩碼。 然后從一個序列到另一個序列,此掩碼保持不變。 因此,放置的元素仍然保留,而當前的元素仍然存在。 而這在所有序列上。

Recurrent Dropout

S. Semeniuta等人提出的遞歸dropout。 是一個有趣的變體。 單元狀態保持不變。 Dropout僅應用于更新單元狀態的部分。 因此,在每次迭代中,伯努利的遮罩都會使某些元素不再有助于長期記憶。 但是內存沒有改變。

Variational RNN dropout

最后,由Y. Gal和Z. Ghahramani提出的簡單但有效的RNN Dropout 是在內部閘門之前應用基于序列的dropout。

腦洞 Monte Carlo Dropout

仍然有很多不同的Dropout方法,但本文將在此處停止。 最后,我發現了解Dropout方法不僅是正則化方法。

Dropout方法還可以提供模型不確定性的指標。 對于相同的輸入,遇到缺失的模型在每次迭代中將具有不同的體系結構。 這導致輸出差異。 如果網絡相當籠統,并且共同適應受到限制,那么預測將分布在整個模型中。 這會導致在每次迭代中使用相同輸入的情況下輸出的方差較小。 研究此方差可以給出可以分配給模型的置信度的概念。 這可以通過Y. Gal和Z. Ghahramani方法看到。

最后,直觀地,通過隨機地應用丟棄,我們可以看到給定神經元進行預測的效率或效率低下。 根據這一觀察,我們可以通過減少參數數量同時最小化性能下降來壓縮模型。 K.Neklyudov等。 提出了一種使用變差丟棄DNN和CNN的方法。

引用

[1] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R. R. Salakhutdinov, Improving neural networks by preventing co-adaptation of feature detectors

[2] L. Wan, M. Zeiler, S. Zhang, Y. LeCun, and R. Fergus, Regularization of neural networks using dropconnect

[3] L. J. Ba and B. Frey, Adaptive dropout for training deep neural networks

[4] S. Wang and C. Manning, Fast dropout training

[5] D. P. Kingma, T. Salimans, and M. Welling, Variational dropout and the local reparameterization trick

[6] Y. Gal, J. Hron, A. Kendall, Concrete Dropout

[7] H. Wu and X. Gu, Towards dropout training for convolutional neural networks

[8] J. Tompson, R. Goroshin, A. Jain, Y. LeCun, and C. Bregler, Efficient object localization using convolutional networks

[9] T. DeVries and G. W. Taylor, Improved regularization of convolutional neural networks with cutout

[10] S. Park and N. Kwak, Analysis on the dropout effect in convolutional neural networks

[11] T. Moon, H. Choi, H. Lee, and I. Song, Rnndrop

[12] S. Semeniuta, A. Severyn, and E. Barth, Recurrent dropout without memory loss

[13] Y. Gal and Z. Ghahramani, A theoretically grounded application of dropout in recurrent neural networks

[14] Y. Gal and Z. Ghahramani, Dropout as a bayesian approximation: Representing model uncertainty in deep learning

[15] K. Neklyudov, D. Molchanov, A. Ashukha, and D. P. Vetrov, Structured bayesian pruning via log-normal multiplicative noise

[16] A. Labach, H. Salehinejad, Survey of Dropout Methods for Deep Neural Networks

作者:Axel Thevenot

總結

以上是生活随笔為你收集整理的dropout层_DNN,CNN和RNN的12种主要dropout方法的数学和视觉解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。