RANet : 解析度自適應網路,效果和效能的best trade-off | CVPR 2020

曉飛的演算法工程筆記發表於2020-05-01

基於對自適應網路的研究,論文提出了自適應網路RANet(Resolution Adaptive Network)來進行效果與效能上的取捨,該網路包含多個不同輸入解析度和深度的子網,難易樣本的推理會自動使用不同的計算量,並且子網間的特徵會進行融合,從實驗結果來看,在效能和速度上取得了很不錯的trade-off

來源:曉飛的演算法工程筆記 公眾號

論文: Resolution Adaptive Networks for Efficient Inference

Introduction


  深度CNN帶來了效能提升的同時也帶來了過高的計算量,許多研究放在瞭如何進行網路加速上面,其中比較直接的是根據樣本難易程度進行自動調整的自適應網路。基於對自適應網路的研究,論文提出了自適應網路RANet(Resolution Adaptive Network),思想如圖1所示,網路包含多個不同輸入解析度和深度子網,樣本先從最小的子網開始識別,若結果滿足條件則退出,否則繼續使用更大的子網進行識別,子網的特徵不是獨有的,下一級別的子網會融合上一級別的子網特徵,從實驗來看,論文在效果和效能上取得了很不錯的trade-off。

Method


Adaptive Inference Setting

  構建包含K個分類器的自適應模型,對於輸入圖片$x$,第$k$個分類器的輸出如公式1,$\theta_k$為分類器對應的子網引數,部分引數是分類器間共享的,$p_c^k\in [0, 1]$為$c$類別置信度。

  自適應網路根據圖片的複雜程度動態選擇合適的計算分支,即若當前分類器的輸出達到預期,則退出,論文采用softmax輸出的置信度來進行判斷,如公式2和公式3所示

Overall Architecture

  RANet的整體結構如圖2所示,包含初始層(Initial Layer)和$H$個對應不同解析度的子網,每個子網包含多個分類器。具體流程先使用初始層獲得不同解析度的特徵圖,然後使用最低解析度的子網進行預測,如果子網沒有獲得可靠的結果,則使用下一個解析度稍大的子網進行預測,重複直到獲得可靠的結果或者到達最大解析度子網。
  在重複迭代預測的過程中,高解析度層會融合低解析度層的特徵。儘管RANet已經在初始層對圖片進行了從細​粒度到粗粒度的處理,子網仍然會繼續對其進行下采樣,直到特徵圖大小為$s=1$ scale(表示初始層產生的最小解析度),分類器只加在最後幾個特徵圖大小$s=1$ scale的block上。

Network Details

  • Initial Layer

  初始層用於生成$H$個基礎特徵,特徵有$S$個尺寸,圖2的初始層包含3個不同尺寸的特徵,第一個特徵通過Regular-Conv層產生,後面的特徵通過Strided-Conv層產生

  • Sub-networks with Different Scales

  Sub-network 1處理解析度最低的特徵圖$x_0^{1,1}$,使用圖3(a)的$l$層regular Dense Blocks,每層的輸出$x_i^{1,1}$都將傳遞到Sub-network 2中
  輸入大小為$s$ scale的Sub-network $h$($h>1$)處理基礎特徵$x^{s,h}$,並且使用圖3(b,c)的Fusion Blocks來融合自Sub-network ($h-1$)的特徵,包含兩種型別,一種為圖3b的保持特徵圖大小的型別,另一種為圖3c的降低特徵圖大小型別。對於低維特徵的上取樣視當前特徵的大小使用Up-Conv(Regular-Conv+Bilinear interpolation)或Regular-Conv,對於前後特徵也會進行連線,具體結構細節見圖3。
  對於輸入為$s$ scale的Sub-network $h$的建立如下:假設$h$子網包含$b_h$ blocks,block 1至 block $b_{h-1}(b_{h-1} < b_{h})$為Fusion Blocks,特徵會下采樣$s$次,保證輸出的特徵圖為$s=1$ scale進行分類,剩餘的block為regular Dense Blocks。

  • Transition layer

  RANet也使用了DeseNet稠密的transition layer,具體為$1\times 1$卷積+BN+ReLU,為了簡單沒有在圖2體現

  • Classifiers and loss function

  分類器加在每個子網的後幾個block中,在訓練階段,樣本會按順序傳給所有的子網,最終的損失是每個分類器計算交叉熵損失加權累積,具體邏輯和權重跟MSDNet一樣

Resolution and Depth Adaptation

  RANet的整體結構和MSDNet十分類似,論文與其進行了對比,MSDNet的分類器放到解析度最低的路徑中,如果中間的分類器沒有得到符合預期的結果,則會進行下一步全部尺寸的推理預測。而RANet則是從低尺寸到高尺寸逐步使用不同的子網進行推理預測,這樣的方式能更好地自適應結合深度和解析度。

Experiments


Anytime Prediction

  限制單圖的計算量FLOPs,直接記錄自適應網路中所有分類器的效能以及其計算量進行對比

Budgeted Batch Classification

  限制一批圖片的資源總量,需要根據資源總量設定閾值來控制推理的提前退出,記錄自適應網路的效能以及對應的資源限制

Visualization and Discussion

  圖7展示了RANet識別的一些樣例,easy為前階段的分類器能識別成的樣本,hard為前階段識別失敗,但後階段能識別成功的樣本,主要的挑戰為多目標、小目標和類間特徵不明顯的物體

Conclusion


  基於對自適應網路的研究,論文提出了自適應網路RANet(Resolution Adaptive Network)來進行效果與效能上的取捨,該網路包含多個不同輸入解析度和深度的子網,難易樣本的推理會自動使用不同的計算量,並且子網間的特徵會進行融合,從實驗結果來看,在效能和速度上取得了很不錯的trade-off

參考內容



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

work-life balance.

相關文章