Learning Dynamic Routing for Semantic Segmentation——在線動態定義網絡結構

Paper Link: https://arxiv.org/abs/2003.10401

GitHub (PyTorch): https://github.com/yanwei-li/DynamicRouting

Introduction

  • 如何有效應對輸入圖像中目標尺度的差異與多樣性,是語義分割面臨的一個難題;
  • 傳統的解法主要是設計良好的靜態網絡結構:
  1. FCN, U-Net, PSPNet, Conv-Deconv, SegNet等;
  • 針對特定場景與目標硬件,也可以通過NAS自動搜索有效的網絡結構:
  1. Auto-DeepLab等;
  • 然而,單一、靜態的網絡結構,缺乏對真實世界中多樣化尺度分佈的良好適應能力;
  • 本文提出了動態路由方法 (dynamic routing):
  1. 推理時能夠生成數據依賴路徑,即網絡結構會隨着輸入的變化而變化,以適應不同的目標尺度分佈情況,從而在獲得良好語義表徵的同時、確保較高的執行效率;
  2. 類似於SuperNet、DARTS的結合與延伸,Dynamic Routing將超網絡作爲主體,根據實時輸入數據生成網絡結構參數,用於在線、動態地選擇網絡結構;
  3. 具體例子如下:

Dynamic Routing結構

  • Dynamic Routing的總體結構如上圖所示,具體描述爲:
  1. Stem Block:包含三個網絡層(SepConv3x3),負責1/4降採樣;
  2. Routing Space:
    1. 包含L個網絡層,每層包含若干個cell,支持skip connection與multi-path routes;
    2. 相鄰cell之間,降採樣率或上採樣率=2;
    3. 相比於輸入,降採樣率最高可達32,因此每個layer的cell數最多爲4;
    4. 每個cell的輸出,存在三條尺度變換路徑,即:
      1. up-sampling:conv1x1+bilinear interpolation;
      2. down-sampling:conv1x1 with stride=2;
      3. keeping resolution;
    5. 在cell內部,會執行特徵變換/聚合(feature aggregation)、與尺度變換路徑選擇操作;
  • Routing Process:
  1. 輸入特徵相加:將cell的多尺度輸入特徵予以相加:

  2. Cell操作與特徵聚合:
    1. 基本的操作路徑包括SepConv、與identity mapping,其中每條SepConv路徑由若干SepConv3x3堆疊而成 (實驗表示兩個SepConv3x3堆疊,效果最好);
    2. 將不同操作路徑的輸出予以相加或聚合,獲得Hidden state:

  3. Soft Conditional Gate:
    1. 每條尺度路徑的選擇概率,由Gate function生成;Gate function是輕量的、可微分的卷積操作模塊:

    2. 歸一化的選擇概率、或激活因子,由生成,即;其中B表示batch size,數字3表示三條尺度變換路徑都有各自的激活因子;
    3. 針對第j 條尺度變換路徑 (),其輸出特徵可表示爲:

      其中表示尺度變換操作 (up-sampling、keeping resolution或down-sampling);
  4. 綜上所述,Routing Process可表示爲:

    根據data-dependent激活因子的實際取值,能夠支持cell drop、multi-path routes等dynamic routing,從而在線生成能夠有效應對多樣化尺度分佈的動態網絡結構。而一些經典的分割網絡模型,其靜態網絡結構亦可從routing space抽取表示:

  5. 資源預算約束與訓練loss:
    1. 考慮到每個操作的計算成本 (比如FLOPS),基於資源約束的loss function定義如下,其中C表示整個routing space的實際資源開銷,表示衰減因子:

    2. 則訓練時,結合資源約束的聯合loss表示爲:

Experiments

  • 數據集包括Cityscapes、PASCAL VOC;
  • 不同網絡結構的對比:
  1. 經典靜態網絡:FCN-32s, U-Net, DeepLabV3, HRNetV2, and Auto-DeepLab;
  2. 從routing space採樣的靜態網絡:

  3. Dynamic routing,Dynamic-A、B、C的資源約束 (FLOPS)分別爲45G、55G、65G;
  4. 對比結果:

  • Cell操作對比:對比了BottleNeck、MBConv與SepConv,實驗結果表明堆疊兩個SepConv3x3作爲特徵變換,效果最好;
  • 激活因子生成函數:實驗表明效果最好;
  • 在Cityscapes、PASCAL VOC上的實驗結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章