dropout的比例 Dropout正則化原理

2021-10-14 13:35:26 字數 966 閱讀 5914

1、dropout 如何工作

典型的神經網路其訓練流程是將輸入通過網路進行正向傳導,然後將誤差進行反向傳播。dropout就是針對這一過程之中,隨機地刪除隱藏層的部分單元,進行上述過程。步驟如下:

隨機刪除網路中的一些隱藏神經元,保持輸入輸出神經元不變將輸入通過修改後的網路進行前向傳播,然後將誤差通過修改後的網路進行反向傳播對於另外一批的訓練樣本,重複上述操作訓練階段使用dropout,測試階段把dropout遮蔽。

所以,在訓練的時候為每個存活下來的神經元做同取樣比例的放大,或者,另外一種選擇就是把測試結果根據取樣比例縮小。

dropout之所以具有正則化能力的兩個解釋:

強迫網路擁有冗餘的表示:dropout在訓練乙個大規模的網路組合(ensemble)強迫網路擁有冗餘的表示:在每輪迭代中,總是隨機遮蔽一定比例的神經元,因此輸出並不知道它正在組合哪些特徵,比起沒有dropout時過於專注於某些特徵(比如拿識別貓來說,過於專注於貓的眼睛),現在模型把專注力分散到每個特徵,使得這些特徵也能具備比較好的**能力。由於原本具有很高權重的那些特徵現在被壓縮,達到了正則化的效果。 dropout相當於模型平均、模型組合:看作是模型平均的一種,平均乙個大量不同的網路。不同的網路在不同的情況下過擬合,但是共用乙個損失函式,相當於同時進行了優化,取了平均;相比之前使用所有的資料在乙個模型裡面訓練,dropout相當於在訓練階段每次針對一批資料就生成乙個獨特的小模型,然後再將這些模型組合起來的一種方法。我們在《透徹理解整合演算法及其思想》一文中對於整合模型的優勢有很好的闡述。

減少複雜依賴性:由於每次用輸入網路的樣本進行權值更新時,隱含節點都是以一定概率隨機出現,因此不能保證某兩個隱含節點每次都同時出現,這樣就減少了神經元之間的依賴性,即每個神經元不能依賴於某幾個其他的神經元(指層與層之間相連線的神經元),阻止了某些特徵僅在有其他特徵存在才有效的情況,減少神經元之間複雜的依賴性。

dropout的實現方法

dropout詳解 dropout的實現方法 演算法實現概述 1 其實dropout很容易實現,原始碼只需要幾句話就可以搞定了,讓某個神經元以概率p,停止工作,其實就是讓它的啟用值以概率p變為0。比如我們某一層網路神經元的個數為1000個,其啟用值為x1,x2 x1000,我們dropout比率選擇...

Tensorflow中的dropout的使用方法

hinton在 improving neural networks by preventing co adaptation of feature detectors 中提出了dropout。dropout用來防止神經網路的過擬合。tensorflow中可以通過如下3中方式實現dropout。tf.n...

C 求解近似比例 比例的壓縮

在日常生活中,我們在收集資料之後,習慣用比例描述兩數之間的比例關係,但是如果資料量過大,如566487 3842145,我們很難看出兩者之間的實際關係,但是如果把資料範圍壓縮,變成3 20,雖然數值上造成了一定損失,但是依舊能看出兩者之間的關係,並更容易理解。所以有以下的演算法問題 對於任意的輸入n...