dropout是cnn(卷積神經網路)中的乙個trick,能防止過擬合。
關於dropout的詳細內容,還是看**原文好了:
hinton, g. e., et al. (2012). "improving neural networks by preventing co-adaptation of feature detectors." arxiv preprint arxiv:1207.0580.
我這裡簡單理解為:dropout相當於同時搞了多個cnn網路,然後取它們的平均。但是形式上呢,我們只看到乙個cnn網路。那怎麼平均呢?比如在某乙個全連線層上搞dropout,每個mini-batch過來和回去的時候,都是僅僅使用部分神經元。被選中的神經元也不是「關係戶」,而是憑運氣按照概率被選中的,而且也不存在「壟斷」情況,下次隨機的時候就可能是其他神經元了。
那麼dropout有啥理論依據嗎?個人認為比較靠譜的說法是,dropoup相當於bagging的乙個特例,每個樣本只有乙個mini-batch的資料。anyway,如果你理解隨機森林,那麼你應該懂我的意思,這明顯是用來防止過擬合的啊!
**中的一些說法,總結下:
bagging->乙個特例是dropout
dropout->乙個特例是***** bayes
dropout理解 簡易理解
所謂的dropout,從字面意思理解,就是 拋棄 拋棄什麼呢?拋棄的是網路中隱藏層的節點 輸入層和輸出層是由資料型別和問題型別決定的,當然不能動啦!怎麼拋棄呢?dropout有乙個引數p,p的取值介於0和1,含義是每個節點有p概率被拋棄。被拋棄對這個節點有什麼影響呢?dropout對於節點的影響表現...
深度學習 dropout理解
深度神經網路的訓練是一件非常困難的事,涉及到很多因素,比如損失函式的非凸性導致的區域性最優值 計算過程中的數值穩定性 訓練過程中的過擬合等。其中,過擬合是很容易發生的現象,也是在訓練dnn中必須要解決的問題。過擬合我們先來講一下什麼是 過擬合 過擬合是指模型訓練到一定程度後,在訓練集上得到的測試誤差...
深度學習 理解dropout
dropout是指在深度學習網路的訓練過程中,對於神經網路單元,按照一定的概率將其暫時從網路中丟棄。注意是暫時,對於隨機梯度下降來說,由於是隨機丟棄,故而每乙個mini batch都在訓練不同的網路。dropout是cnn中防止過擬合提高效果的乙個大殺器。dropout如何工作 dropout以概率...