DRConv:曠視提出區域感知動態卷積,多任務性能提升 | CVPR 2020
論文提出 DRConv,很好地結合了局部共享的思想並且保持平移不變性,包含兩個關鍵結構,從實驗結果來看,DRConv 符合設計的預期,在多個任務上都有不錯的性能提升
來源:曉飛的演算法工程筆記 公眾號
論文: Dynamic Region-Aware Convolution
Introduction
目前主流的卷積操作都在空間域進行權值共享,而如果想得到更豐富的資訊,只能通過增加卷積的數量來實現,這樣不僅計算低效,也會帶來網路優化困難。與主流卷積不同,local conv 在不同的像素位置使用不同的權值,這樣能夠高效地提取豐富的資訊,主要應用在人臉識別領域,但 local conv 不僅會帶來與特徵圖大小相關的參數量,還會破壞平移不變性。
考慮到以上兩種卷積的優劣,論文提出了 DRConv(Dynamic Region-Aware Convolution),DRConv 的結構如圖 1,首先通過標準卷積來生成 guided feature,根據 guided feature 將空間維度分成多個區域,卷積核生成模組G(\cdot)根據輸入圖片動態生成每個區域對應的卷積核。DRConv 能夠可學習地為不同的像素位置匹配不同的卷積核,不僅具有強大的特徵表達能力,還可以保持平移不變性。由於卷積核是動態生成的,能比 local conv 減少大量的參數,而整體計算量幾乎和標準卷積一致。
論文的主要貢獻如下:
- 提出 DRConv,不僅具有強大的語義表達能力,還能很好地維持平移不變性。
- 巧妙的設計了可學習 guided mask 的反向傳播,明確區域共享的規則(region-sharing-pattern),並根據損失函數回傳的梯度進行更新。
- 只需簡單地替換,DRConv 就能在圖片分類,人臉識別,目標檢測和語義分割等多個任務上達到很好的性能。
Our Apporach
Dynamic Region-Aware Convolution
對於標準卷積,定義輸入X\in \mathbb{R}^{U\times V\times C},空間維度S\in \mathbb{R}^{U\times V},輸出Y\in \mathbb{R}^{U\times V\times O},權重W\in \mathbb{R}^C,輸出的每個 channel 的計算如公式 1,*為二維卷積操作。
對於基礎的 local conv,定義非共享權重W\in \mathbb{R}^{U\times V\times C},輸出的每個 channel 計算如公式 2,其中W_{u,v,c}^{(o)}表示位置(u,v)上的獨立非共享卷積核,即卷積在特徵圖上移動時,每次更換不同的卷積核。
結合以上公式,定義 guided maskM={S_0, \cdots,S_{m-1}}用來表示空間維度劃分的m個區域,M根據輸入圖片的特徵進行提取,每個區域S_t(t\in [0, m-1])僅使用一個共享的卷積核。定義卷積核集W=[W_0,\cdots,W_{m-1}],卷積核W_t \in \mathbb{R}^C對應於區域S_t。輸出的每個 channel 的計算如公式 3,即卷積在特徵圖上移動時,每次根據 guided mask 更換對應的卷積核。
從上面的描述可以看到,DRConv 包含兩個主要部分:
- 使用可學習的 guided mask 來將空間維度劃分為多個區域,如圖 1 所示,guided mask 中相同顏色的像素歸為同一區域,從語義的角度來看,即將語義相似的特徵歸為統一區域。
- 對於每個共享區域,使用卷積核生成模組來生成訂製的卷積核來進行常規的 2D 卷積操作,訂製的卷積核能夠根據輸入圖片的重要特徵自動地進行調節。
Learnable guided mask
作為 DRConv 的重要部分,guided mask 決定了卷積核在空間維度上的分布,該模組由損失函數指導優化,從而能夠適應輸入的空間資訊變化,從而改變卷積核的分布。
對於包含m個 channel 的k\times kDRConv,定義F為 guided feature,M為 guided mask,M上的每個位置(u,v)的值計算如公式 4,函數argmax(\cdot)輸出最大值的下標,F_{u,v}為位置(u,v)上的 guided feature 向量,所以M的值為[0, m-1],用來指示該位置對應的卷積下標。
為了讓 guided mask 可學習,必須得到用來生成 guided feature 的權值的梯度,但由於argmax(\cdot)的使用導致 guided feature 的梯度無法計算,所以論文設計了類似的梯度。
-
Forward propagation
根據公式 4 獲得 guided mask,根據公式 5 得到每個位置(u,v)得到卷積核\tilde{W}_{u,v},其中W_{M_{u,v}}是G(\cdot)生成的卷積核集[W_0, \cdots, W_{m-1}]中的一個,M_{u,v}是 guided feature 在位置(u,v)上值最大的 channel 下標,通過這種方式來m個卷積核與所有位置的關係,將空間像素分為m個組。使用相同卷積核的像素包含相似的上下文資訊,主要由於具有平移不變性標準卷積將這些資訊傳遞給了 guided feature。
-
Backward propagation
為了使梯度得到回傳,首先用\hat{F}來代替 guided mask 的 one-hot 表示,計算如公式 6 所示,在 channel 維度上進行softmax(\cdot),期望\hat{F}_{u,v}^j能儘可能地接近 0 和 1,這樣\hat{F}_{u,v}^j與 guided mask 的 one-hot 表示將非常相似。公式 5 可以看作是卷積核集[W_0,\cdots,W_{m-1}]乘以M_{u,v}的 one-hot 表示,這裡替換為\hat{F}_{u,v}^j。
\hat{F}_{u,v}^j的梯度計算如公式 7,\langle, \rangle 為點積,\bigtriangledown_{\cdot} \mathcal{L}表示 guided mask 對應 loss 函數的梯度,如圖 a,公式 7 近似於公式 5 的反向傳播。
公式 8 為公式 6 的反向傳播,\odot為逐元素相乘,如果不設計特殊的反向傳播,SGD 將不能對相關的參數進行優化,因為函數argmax(\cdot)是不可導的。因此,softmax(\cdot)是用來接近argmax(\cdot),通過替換函數將梯度回傳到 guided feature,是的 guided mask 可學習。
Dynamic Filter: Filter generator module
在 DRConv 中,使用卷積核生成模組來生成不同區域的卷積核,由於不同圖片的特徵不同,在圖片間共享的卷積核不能高效地提取其獨有的特徵,需要訂製化的特徵來專註不同圖片的特性。
定義輸入X\in \mathbb{R}^{U\times V\times C},包含兩層卷積的卷積核生成模組G(\cdot),m個卷積W=[W_0,\cdots,W_{m-1}],每個卷積僅用於區域R_t。如圖 b 所示,為了獲得m個k\times k卷積,先使用自適應平均池化將X下取樣為k\times k,然後使用兩個連續的1\times 1卷積,第一個使用sigmoid(\cdot)進行激活,第二個設定group=m,不使用激活。卷積核生成模組能夠增強網路獲取不同圖片特性的能力,由於根據輸入的特徵生成卷積核,每個卷積核的關注點能夠根據輸入的特性進行自動地調整。
Experiments
Classification
Face Recognition
COCO Object Detection and Segmentation
Ablation Study
Visualization of dynamic guided mask
Different model size
Different region number
Different spatial size
CONCLUSION
論文提出 DRConv,很好地結合了局部共享的思想並且保持平移不變性,包含兩個關鍵結構,首先使用 guided mask 對特徵圖中的像素劃分到不同的區域,其次使用卷積核生成模組動態生成區域對應的卷積核。從實驗結果來看,DRConv 符合設計的預期,特別是圖 3 的 guided mask 的可視化結果,在多個任務上都有不錯的性能提升。
如果本文對你有幫助,麻煩點個贊或在看唄 ~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】