深度學習 理解dropout

2021-10-01 18:12:58 字數 1584 閱讀 7782

dropout是指在深度學習網路的訓練過程中,對於神經網路單元,按照一定的概率將其暫時從網路中丟棄。注意是暫時,對於隨機梯度下降來說,由於是隨機丟棄,故而每乙個mini-batch都在訓練不同的網路。

dropout是cnn中防止過擬合提高效果的乙個大殺器。

dropout如何工作

dropout以概率p捨棄神經元並讓其它神經元以概率q=1-p保留。每個神經元被關閉的概率是相同的

參考文獻中第一篇中的觀點,hinton老大爺提出來的,關於hinton在深度學習界的地位我就不再贅述了,光是這地位,估計這一派的觀點就是「武當少林」了。注意,派名是我自己起的,各位勿笑。

該**從神經網路的難題出發,一步一步引出dropout為何有效的解釋。大規模的神經網路有兩個缺點:

這兩個缺點真是抱在深度學習大腿上的兩個大包袱,一左一右,相得益彰,額不,臭氣相投。過擬合是很多機器學習的通病,過擬合了,得到的模型基本就廢了。而為了解決過擬合問題,一般會採用ensemble方法,即訓練多個模型做組合,此時,費時就成為乙個大問題,不僅訓練起來費時,測試起來多個模型也很費時。總之,幾乎形成了乙個死鎖。

dropout的出現很好的可以解決這個問題,每次做完dropout,相當於從原始的網路中找到乙個更的網路,如下圖所示:

因而,對於乙個有n個節點的神經網路,有了dropout後,就可以看做是2n個模型的集合了,但此時要訓練的引數數目卻是不變的,這就解脫了費時的問題。

雖然直觀上看dropout是ensemble在分類效能上的乙個近似,然而實際中,dropout畢竟還是在乙個神經網路上進行的,只訓練出了一套模型引數。那麼他到底是因何而有效呢?這就要從動機上進行分析了。**中作者對dropout的動機做了乙個十分精彩的模擬:

在自然界中,在中大型動物中,一般是有性繁殖,有性繁殖是指後代的基因從父母兩方各繼承一半。但是從直觀上看,似乎無性繁殖更加合理,因為無性繁殖可以保留大段大段的優秀基因。而有性繁殖則將基因隨機拆了又拆,破壞了大段基因的聯合適應性。

但是自然選擇中畢竟沒有選擇無性繁殖,而選擇了有性繁殖,須知物競天擇,適者生存。我們先做乙個假設,那就是基因的力量在於混合的能力而非單個基因的能力。不管是有性繁殖還是無性繁殖都得遵循這個假設。為了證明有性繁殖的強大,我們先看乙個概率學小知識。

比如要搞一次恐怖襲擊,兩種方式: 

- 集中50人,讓這50個人密切精準分工,搞一次大爆破。 

- 將50人分成10組,每組5人,分頭行事,去隨便什麼地方搞點動作,成功一次就算。

哪乙個成功的概率比較大? 顯然是後者。因為將乙個大團隊作戰變成了游擊戰。

那麼,模擬過來,有性繁殖的方式不僅僅可以將優秀的基因傳下來,還可以降低基因之間的聯合適應性,使得複雜的大段大段基因聯合適應性變成比較小的乙個乙個小段基因的聯合適應性。

dropout也能達到同樣的效果,它強迫乙個神經單元,和隨機挑選出來的其他神經單元共同工作,達到好的效果。消除減弱了神經元節點間的聯合適應性,增強了泛化能力。

個人補充一點:那就是植物和微生物大多採用無性繁殖,因為他們的生存環境的變化很小,因而不需要太強的適應新環境的能力,所以保留大段大段優秀的基因適應當前環境就足夠了。而高等動物卻不一樣,要準備隨時適應新的環境,因而將基因之間的聯合適應性變成乙個乙個小的,更能提高生存的概率。

深度學習 dropout理解

深度神經網路的訓練是一件非常困難的事,涉及到很多因素,比如損失函式的非凸性導致的區域性最優值 計算過程中的數值穩定性 訓練過程中的過擬合等。其中,過擬合是很容易發生的現象,也是在訓練dnn中必須要解決的問題。過擬合我們先來講一下什麼是 過擬合 過擬合是指模型訓練到一定程度後,在訓練集上得到的測試誤差...

深度學習 Drop out

1.原理 在每個訓練批次的前向傳播中,以概率p保留部分神經元。目的是 簡化神經網路的複雜度,降低過擬合風險。根據保留概率p計算乙個概率向量r 1,0,1,0,0,1,1.然後保留部分節點。2.注意點 因為dropout一般只使用在訓練時,而測試時所有的神經元都會保留。為了使訓練和測試時對應,可以有以...

深度學習基礎 初見dropout

dropout是2012年深度學習視覺領域的開山之作 imagenet classification with deep convolutional 所提到的演算法,用於防止過擬合。基本思想 dropout是指在深度學習網路訓練的過程中,對於神經網路單元,按照一定的概率將其 暫時 從網路中丟棄,對於...