可變形卷積系列(三) 創意滿滿的可變形卷積核 | ICLR 2020
論文提出可變形卷積核(DK)來自適應有效感受域,每次進行卷積操作時都從原卷積中取樣出新卷積,是一種新穎的可變形卷積的形式,從實驗來看,是之前方法的一種有力的補充。
論文: Deformable Kernels: Adapting Effective Receptive Fields for Object Deformation
論文地址:https://arxiv.org/abs/1910.02940
程式碼地址:https://github.com/hangg7/deformable-kernels
Introduction
傳統的卷積由於存在硬性的規則,在對於物體放大或旋轉時,不能作出適應性的改變,而可變形卷積則透過改變輸入的取樣位置來進行適應性的改變,即改變理論感受域。但理論感受域並不能度量畫素對輸出的貢獻,相比理論感受域,更重要的是有效感受域(ERF),透過計算輸出對應輸入的偏導獲得(與卷積權重相關),改變理論感受域只是改變有效感受域的一種手段。
為此,論文提出可變形卷積核(Deformable Kernels, DK),用於進行可變形建模的新型卷積操作,在推理時根據輸入直接生成新的卷積核來改變有效感受域。如圖d,DK學習卷積核的偏移來對原卷積進行重新取樣,而不改變輸入資料。從實驗結果來看,DK對分類任務和檢測任務都十分有效,結合舊的可變形卷積方法能產生更好的結果。
Approach
對有效感受域概念不感興趣的可以直奔後面對可變形卷積核的描述,前面有效感受域的介紹不影響後面內容。
A Dive into Convolutions
2D Convolution
大小為
,stride為1的二維卷積操作如公式1,輸出為目標區域畫素與卷積核乘積的和,
。
Theoretical Receptive Field
卷積層單個輸出相對於上一層的輸入的感受域大小為卷積核大小
,當卷積層疊加起來時,單個輸出的對應的隔層感受域也會因此而疊加,得到的疊加區域即理論感受域,與卷積核大小
和網路深度
線性相關。
Effective Receptive Field
由於卷積的疊加以及非線性啟用的引入,理論感受域內的畫素對輸出的貢獻各不相同,可以使用有效感受域(ERF)來度量區域內每個畫素對輸出的影響,透過計算輸出對應畫素值的偏導得到,具體可以看參考論文。
Analysis on Effective Receptive Fields
這裡主要分析如何根據輸入和一系列卷積來計算有效感受域,先分析線性卷積網路的情景,再拓展到非線性卷積網路。
對於線性卷積網路,給定
為輸入圖片以及stride為1的
卷積權重合集
,公式1可以展開為公式2,特徵圖
和卷積權重
的上標以及卷積核位置
的下標為層數
。
根據ERF的定義,輸出座標
對應輸入座標
的有效感受域值
計算為公式3,
為指示函式。公式3的意義為所有從
到
的路徑的權重和,權重的計算為卷積核權重的累積,有效感受域值跟輸出的取樣位置
、卷積核位置
以及卷積核權重
有關。
假設將第
個卷積核
替換為
卷積核
,ERF的計算會變為公式4,
\
即不包含
層,這裡每條路徑權重直接乘上
,因為
層只有一個路徑,符合指示函式的路徑必定包含
。
卷積可以看成分散在矩形區域內的
個
卷積,因此,公式3可以改寫成公式5,將
層的
卷積看成多個
卷積,相對的輸出位置也要進行相應的修改(這裡應該為
比較合適)。
對於複雜的非線性卷積,在公式1中加入ReLU啟用得到公式6,即每層卷積都接啟用函式。
非線性版本的有效感受域值計算為上式,因子
使得ERF值變成與資料相關,實際中的有效感受域是不規則的形狀,包含許多不規則分佈的零值。
需要注意,公式4和公式5的計算是線性的,使得有效感受域值計算能與核心的線性取樣操作相容,比如使用雙線性插值獲得小數位置的核心值,即可以認為核心取樣等對資料進行線性ERF取樣(ERF與輸出的取樣位置
、卷積核位置
以及卷積核權重
有關),這種相容性也可以相似地推廣到非線性的情況下。基於以上的分析,論文提出可變形卷積核(Deformable Kernels, DK)。
Deformable Kernels(DK)
DK添加了可學習的核偏移值,使得輸出的計算從公式1變為公式7,ERF的計算也變成了與核偏移值相關的公式8。由於偏移值通常包含小數,使用雙線性插值來計算偏移後的值。 原卷積核的大小稱為score size,一般DK對scope size是沒有約束的,即可以從大小為
的原卷積中取樣出
的新卷積,然後用於大小為
區域上。這樣網路能夠儘可能使用更大的原卷積而不會帶來太多的額外計算,論文最大的原卷積為
。
如圖2,DK有兩種實現形式,全域性模式和區域性模式,
為可學習的核偏移值生成器,將輸入塊轉換為核心的偏移值:
全域性模式
的實現為global average pooling層+全連線層,分別用於降維以及輸出
個偏移值。
區域性模式
的實現為與目標卷積大小一樣的卷積操作,輸出為
維,最終輸出為
。
全域性模式更關注整體圖片,根據整圖進行核偏移,而區域性模式則更關注圖片的區域性區域,對於小物體,生成形狀特別的核(值差異大),從而使得ERF更密集,而對於大物體,生成較扁平的核(值差異小),使得ERF更廣闊。一般情況下,區域性模式的自由度更高。
Computation Flow of Deformable Kernels
圖5展示了局部DK的計算示意圖,偏移值生成器根據輸入生成偏移值,將目標卷積的點均勻平鋪在原卷積中,然後根據偏移值進行偏移,使用雙線性插值計算偏移後的權重更新目標卷積,最後使用目標卷積對輸入進行卷積輸出。
前向時,給予原卷積
和學習到的卷積核偏移
,結合雙線性插值
生成目標卷積
,然後使用目標卷積對輸入進行常規的卷積輸出。
DK的反向傳播需要生成3種梯度:
前一層特徵圖的梯度
當前層原生卷積的梯度
當前層偏移值生成器的梯度
前兩種的計算方法與普通的卷積一樣,第三種則使用公式13結合雙線性插值的計算方法。
Link with Deformable Convolutions
DK的核心是學習適應輸入的偏移值來原卷積進行取樣,從而達到可變形的目的,整體思想可能與可變形卷積類似。
可變形卷積的計算如公式9,主要是對資料進行偏移,而有效感受域則為公式10。如前面說到的,有效感受域與輸出的取樣位置以及卷積核位置有關,這在一定程度上了解釋可變形卷積為何適用於學習形狀多變的目標。
假設同時對資料和核進行偏移,輸出的計算以及有效感受域的計算如公式11,儘管兩種方法的目的是類似的,但在實際中發現,兩種方法協作能夠帶來很好更好的效果。
Experiments
實驗主要針對深度卷積(depthwise convolutions)進行最佳化,核心偏移不能超過越過score size。基礎模型為ResNet-50-DW和MobileNetV2,對比實驗加入條件卷積(Conditional Convolutions)和可變形卷積(Deformable Convolutions)的對比。
Image Classification
Object Detection
What do Deformable Kernels Learn?
將MobileNet-V2的最後一層卷積進行t-SNE降維得到視覺化結果,點的顏色為類別(10類)或bbox尺寸(10等分),對比DK和條件卷積,條件卷積學習到語義相關的特徵,而DK則學習到尺寸相關的特徵,這解釋了前面的實驗兩種方法同時使用效果更好。
對不同的卷積的有效感受域進行了視覺化,可變形卷積與DK都能產生類似的適應ERF,但可變形卷積傾向於更廣闊的響應,DK則傾向於集中在物體內部,兩者結合效果最佳。
CONCLUSION
論文提出可變形卷積核(DK)來自適應有效感受域,每次進行卷積操作時都從原卷積中取樣出新卷積,是一種新穎的可變形卷積的形式,從實驗來看,是之前方法的一種有力的補充。
如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】
如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】