NeurIPS2018: DropBlock: A regularization method for convolutional networks


NIPS 改名了!改成了neurips了。。。

深度神經網絡在過參數化和使用大量噪聲和正則化(如權重衰減和 dropout)進行訓練時往往性能很好。dropout 廣泛用於全連接層的正則化,但它對卷積層的效果沒那么好。原因可能在於卷積層中的激活單元是空間關聯的,使用 dropout 后信息仍然能夠通過卷積網絡傳輸到下一層。相比於dropout一個一個扔掉神經元,自然而然我們就要成塊成塊扔。因此就產生了這種叫dropblock的方法來對卷積網絡進行正則化約束,它會丟棄特征圖相鄰區域中的單元。此外,在訓練過程中逐漸增加丟棄單元的數量會帶來更高的准確率,使模型對超參數選擇具備更強的魯棒性。

如下圖更加形象生動:

圖(a)中圖片狗的區域是包含語義信息的,(b)中dropout扔神經元基本是這樣隨機扔,這就導致了很多狗這個實例的相關性信息被保存下來了,如(c), dropblock的思想是隨機找一些點,然后自定義一個區域(block)把這里的信息一股腦全扔了。這樣語義信息就不會冗余,從一定程度上使學習到的特征更加魯棒。

如何操作:

block_size: 控制block的區域大小

: 控制丟掉多少神經元,注意這里的神經元不是真正丟了,而是某一次不用它的概率。

 

參數設置:

Blocksize設置為1的時候和dropout類似,但是只在圖中綠色區域丟

設置:

Keep_prob 為保存信息的比率

feat_size 為整個feature map的大小

feat_size-block_size+1 為綠色區域的大小,我把它命名為語義信息區域吧。。

 

我的想法:

讀了這篇文章,我倒是有些想法,我們的目標不是去除圖像像素之間的冗余特征嗎,那么我們根據這樣一句話:

the m best features are not the best m features....在卷積層與全連接層的中間加一個去冗余層。

扔特征的目標是不是就是找出含有個特征的特征子集S?其實相對於也是丟棄一部分特征

那我們這樣:

1:與標簽的最大相關性:

(2)

C為類別,S 為特征子集,為第i個特征。

變量間的最小冗余度:

(3)

其中I函數為給定兩個隨機變量x和y,他們的概率密度函數(對應於連續變量)為p(x),p(y),p(x,y)p(x),p(y),p(x,y),則互信息為 :

那么我們整個神經網絡優化公式為:

傳統損失 - 公式(2)+公式(3)

當然上面思想主要來自於mrmr算法,正好可以結合卷積來做一下。一點初步的idea,有空實現下,在來分享。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM