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,$*$爲二維卷積操做。ide

  對於基礎的local conv,定義非共享權重$W\in \mathbb{R}^{U\times V\times C}$,輸出的每一個channel計算如公式2,其中$W_{u,v,c}^{(o)}$表示位置$(u,v)$上的獨立非共享卷積核,即卷積在特徵圖上移動時,每次更換不一樣的卷積核。函數

  結合以上公式,定義guided mask$M={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 k$DRConv,定義$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的梯度沒法計算,因此論文設計了相似的梯度。ui

  • 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。spa

  • 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的可視化結果,在多個任務上都有不錯的性能提高。



若是本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公衆號【曉飛的算法工程筆記】

work-life balance.

相關文章
相關標籤/搜索