NIPS 2018 | Quoc Le提出卷積網絡專屬正則化方法DropBlock

選自arXiv

機器之心編譯

作者:Golnaz Ghiasi、Tsung-Yi Lin、Quoc V. Le

參與:路

近日,谷歌大腦團隊在 arXiv 上發佈論文,提出了一種卷積網絡正則化方法 DropBlock,它是 dropout 的變體,但青出於藍而勝於藍。

深度神經網絡在具備大量參數、使用大量正則化和噪聲時效果很好,如權重衰減和 dropout [1]。儘管 dropout 的首次成功與卷積網絡相關,但近期的卷積架構很少使用 dropout [3–10]。大部分情況下,dropout 主要用於卷積網絡的全連接層。

本論文認爲 dropout 的主要缺陷在於它隨機丟棄特徵。儘管這對全連接層有效,但對特徵具備空間關聯的卷積層而言沒那麼有效。當特徵互相關聯時,即使使用 dropout,輸入信息仍然能傳輸到下一層,導致網絡過擬合。這表明我們需要 dropout 的更結構化形式來更好地正則化卷積網絡。

本論文介紹了一種 dropout 的結構化形式 DropBlock,對於正則化卷積網絡格外有效。在 DropBlock 中,同一模塊中的特徵會被一起丟棄,即特徵圖的相鄰區域也被丟棄了。由於 DropBlock 丟棄了相關區域中的特徵,該網絡必須從其他地方尋找證據來擬合數據(見圖 1)。

圖 1:(a) 卷積神經網絡的輸入圖像。(b) 和 (c) 中的綠色區域包括激活單元,其包含輸入圖像中的語義信息。隨機丟去激活單元在移除語義信息方面並沒有效果,因爲附近的激活單元包含高度相關的信息。而丟棄相鄰區域可以移除特定語義信息(如頭或腳),使剩餘的單元學習可以分類輸入圖像的特徵。

實驗中,DropBlock 在大量模型和數據集中的性能大大優於 dropout。向 ResNet-50 架構添加 DropBlock 使其在 ImageNet 數據集上的圖像分類準確率從 76.51% 提升到 78.13%。在 COCO 檢測任務上,DropBlock 將 RetinaNet 的 AP 從 36.8% 提升到 38.4%。

論文:DropBlock: A regularization method for convolutional networks

論文鏈接:https://arxiv.org/pdf/1810.12890.pdf

摘要:深度神經網絡在過參數化和使用大量噪聲和正則化(如權重衰減和 dropout)進行訓練時往往性能很好。dropout 廣泛用於全連接層的正則化,但它對卷積層的效果沒那麼好。原因可能在於卷積層中的激活單元是空間關聯的,使用 dropout 後信息仍然能夠通過卷積網絡傳輸。因此我們需要 dropout 的一種結構化變體來對卷積網絡進行正則化。本論文就介紹了這樣一種變體 DropBlock,它會丟棄特徵圖相鄰區域中的單元。此外,在訓練過程中逐漸增加丟棄單元的數量會帶來更高的準確率,使模型對超參數選擇具備更強的魯棒性。大量實驗證明,DropBlock 在正則化卷積網絡方面性能優於 dropout。在 ImageNet 分類任務上,具備 DropBlock 的 ResNet-50 架構達到了 78.13% 的準確率,比基線模型提高了 1.6%。在 COCO 檢測任務上,DropBlock 將 RetinaNet 的 AP 從 36.8% 提升到 38.4%。

DropBlock 是類似 dropout 的簡單方法。二者的主要區別在於 DropBlock 丟棄層特徵圖的相鄰區域,而不是丟棄單獨的隨機單元。Algorithm 1 展示了 DropBlock 的僞代碼。DropBlock 具備兩個主要參數 block_size 和 γ。block_size 是要丟棄的 block 的大小,γ 控制要丟棄的激活單元的數量。

我們在不同特徵通道上對共享 DropBlock mask 進行了實驗,也在每個特徵通道上對 DropBlock mask 進行了實驗。Algorithm 1 對應後者,它的效果在實驗中也更好一些。

圖 2:DropBlock 中的掩碼採樣(mask sampling)。(a) 與 dropout 類似,我們先在每個特徵圖上採樣掩碼 M。我們僅從綠色框中採樣掩碼,該區域中的每個採樣條目(sampled entry)都可以擴展到完全包含在特徵圖中的掩碼。(b) M 中每個 zero entry 都可以擴展爲 block_size × block_size zero block。

與 dropout 類似,我們不將 DropBlock 用於推斷。

設置 block_size 的值。在實現中,我們爲所有特徵圖設置常數 block_size,無論特徵圖的分辨率是多少。當 block_size = 1 時,DropBlock 類似 dropout,當 block_size 覆蓋完整特徵圖的時候,DropBlock 類似 SpatialDropout。

設置 γ 的值。在實踐中,我們沒有顯性地設置 γ 的值。如前所述,γ 控制要丟棄的特徵的數量。假設我們想把每個激活單元的保留概率設置爲 keep_prob,則在 dropout 中二進制掩碼會被使用伯努利分佈進行採樣。但是,由於掩碼中的每個 zero entry 將使用 block_size^2 進行擴展,得到的 block 將被完全包含在特徵圖中,因此我們在採樣初始二進制掩碼時需要據此調整 γ 的值。在我們的實現中,γ 可以按照下列公式計算:

其中 keep_prob 是傳統 dropout 中單元被保留的概率。有效種子區域的大小是 (feat_size − block_size + 1)^2,其中 feat_size 是特徵圖的大小。DropBlock 的奧妙在於被丟棄的 block 會有一些重疊,因此上述公式只是近似。實驗中,我們首先估計 keep_prob 的值(0.75 到 0.95 之間),容納後根據上述公式計算 γ 的值。

Scheduled DropBlock。我們發現具備固定 keep_prob 的 DropBlock 在訓練過程中表現不好。最初 keep_prob 的值過小會影響模型的學習。而逐漸降低 keep_prob 的值(從 1 下降到目標值)更具魯棒性,改進了大多數 keep_prob 的值。實驗中,我們使用線性機制來降低 keep_prob 的值,其在很多超參數設置中都表現良好。該線性機制類似於 ScheduledDropPath。

4 實驗

表 1:ResNet-50 架構在 ImageNet 數據集上的驗證準確率。對於 dropout、DropPath 和 SpatialDropout,我們使用不同的 keep_prob 值進行訓練,報告的是最優結果。DropBlock 使用 block_size = 7 進行訓練。上表顯示的是 3 次運行的平均值。

圖 3:x 軸爲 keep_prob,ResNet-50 模型在 ImageNet 數據集上的驗證準確率變化(y 軸)。所有方法丟棄的都是第 3、4 組的激活單元。

圖 4:在 ImageNet 數據集上訓練的 ResNet-50 對比,DropBlock 應用於 group 4 或 groups 3、4。

表 2:AmoebaNet-B 架構在 ImageNet 數據集上的 top-1 和 top-5 驗證準確率。

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