DropBlock: A regularization method for convolutional networks論文解讀

Paper:https://arxiv.org/pdf/1810.12890.pdf

Code:https://github.com/miguelvr/dropblock & https://github.com/DHZS/tf-dropblock

摘要:當前深度神經網絡被過度參數化或者訓練集多樣性充足或合適的正則化(權重衰減、丟棄法)訓練時,通常會取得很好地效果。儘管dropout被廣泛地用作全連接層的正則化技術,但它對卷積層的效果往往較差。卷積層的dropout不能成功的原因是卷積層中的激活單元在空間上相關的,所以即使使用dropout, 信息仍然可以通過卷積網絡流動。因此, 需要一種結構化的dropout形式來規範卷積網絡。在這篇論文中, 我們介紹DropBlock,一種結構化的dropout形式,它將一個特徵圖的連續區域中的單元丟棄。我們發現除了卷積層外,在跳躍鏈接中DropBlock也可以提高準確性。此外, 在訓練過程中逐漸增加dropout的單元數可以提高超參數選擇的準確性和魯棒性。大量實驗表明,在正則化卷積神經網絡中,DropBlock比dropout更有效。在ImageNet分類中, 使用DropBlock的ResNet-50架構準確率達到78.13%, 比基準提高了1.6%以上。在COCO檢測數據集上, DropBlock將RetinaNet提高平均精度從36.8%到38.4%。

 

知識點解析:DropBlock是一個類似於dropout的簡單方法。它與dropout的主要區別是,它從一個層的特徵圖中丟棄連續的區域,而不是丟棄獨立的隨機單元。僞代碼如下圖所示。DropBlock有兩個主要參數:block_size和\gamma。block_size是要丟棄的塊的大小,\gamma控制丟棄多少激活單元。

       

我們嘗試在不同的特徵通道上共享一個DropBlock掩碼,或者每個特徵通道都有它自己的DropBlock掩碼。後一種在實驗中顯示較好。

和dropout類似,我們在預測階段不適用DropBlock。可以理解爲在指數個子網絡集合中進行平均預測。這些子網絡包括由丟棄覆蓋的子網絡的一個特殊子集, 其中每個子網絡都看不到完整的特徵圖。

block_size值得設置:在我們的實現中, 我們爲所有的特徵圖設置了常量的block_size, 而不考慮特徵圖的分辨率。當block_size = 1時, DropBlock類似於dropout, 當block_size覆蓋整個特徵圖時, 它類似於SpatialDropout。

\gamma值得設置:在實現中,我們沒有明確的設置\gamma的值。如前文所述,\gamma控制丟棄特徵圖裏神經元的數量。假設我們想要保持每個單元激活的概率爲keep_prob, 在dropout中, 二進制掩碼採樣採用伯努利分佈,即(1 - keep_prob)。但是,考慮到掩碼中每個0單元都將被block_size擴展,並且考慮到這些塊將完全包含在feature map中,我們需要在採樣初始二進制掩碼時進行相應的調整。在我們實現中,\gamma由下式得到:\gamma = \frac{1 - keep_prob}{block_size^{2}} \frac{feat_size^{2}}{\left ( feat_size - block_size + 1 \right )^{2}}, 其中在dropout中keep_prob是保留單元的概率。有效區域的大小\left ( feat\:size - block\:size + 1 \right )^{2}, 其中feat_size表示特徵圖的大小。在drop block中會有區域的重疊,所以上式只是近似值。在實驗中,我們最初設定kee_prob在(0.75~0.95)之間,然後上式計算\gamma

 

設定DropBlock:我們發現在訓練過程中,固定DropBlock的keep_prob不好,使用小的keep_prob值會在開始時影響學習。相反,將keep_prob隨着時間從1逐漸減少到目標值更魯邦,併爲keep_prob的大多數值增加了改進。在我們的實現中,我們使用了線性方程來降低keep_prob的值,這在許多超參數的設置中都很有效。

 

簡單的說,Dropout強迫神經網絡不單獨依賴某一個特徵,從而提高網絡的泛化能力,但使用卷積網絡處理的數據(不僅僅是圖像數據)通常具有空間上的關聯性,因而對於位於某一空間區域的對象,隨機丟棄難以drop掉該對象的信息,Dropout的目的也就不能充分達到。DropBlock則drop掉一整塊區域(由超參數控制區域的大小)的激活值,強迫網絡使用其他區域的特徵。論文還指出,在訓練過程中線性的逐步降低keep_prob的值可以獲得更好的結果。

 

結論:論文實驗部分值得精讀;代碼值得細看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章