医療系AIエンジニアの技術メモ

ディープラーニング(主に画像系)の技術メモブログです

NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection

スポンサーリンク


f:id:y_kurashina:20190427003436j:plain
Fig1. NAS-FPNアーキテクチャ

論文URL

https://arxiv.org/pdf/1904.07392.pdf

2019年4月公開

ポイント

  • Google Brainが強化学習でモデル構造を決定した物体検出モデル
    • ベースはRetinaNet
    • Feature Pyramid Network (FPN)ブロックの組み合わせを強化学習で生成
    • 得られた組み合わせは、FPNブロックを増やすほど精度が上がるような組み合わせになっている
      • 計算コストと精度のバランスをbackboneのモデルの選択だけでなく、FPNブロック数でも調整可能
  • Mask RCNNやSSDLiteと比べ、軽量で高精度なモデルが得られた

モデルの探索空間

  • FPNブロックでは、2つの層の特徴量をbinary operationで結合し、ReLU、3x3の畳み込み、バッチ正規化にかける。
    • 2層の解像度は最近隣内挿によるアップサンプリングもしくはmax poolingによるダウンサンプリングで合わせる。
    • binary operationはsumもしくはglobal pooling (Fig2)
    • 入力となる2つの層とbinary operationの種類をNeural Architecture Searchで探索する

f:id:y_kurashina:20190427005655j:plain
Fig2. binary operation

NAS-FPN

  • Fig3はオリジナルのFPN構造。Fig4はNAS-FPNのFPN構造。
    • 左橋の列の緑の丸が入力特徴量で、上の行に行くほど低解像度でより抽象的な特徴量となる
    • 赤丸は出力層で、計算コストに応じて最終出力層を変更できる
      • NAS-FPNではFPN数に対し精度が単調増加するが、オリジナルのFPNではFPN数を増やすと精度が低下することもある。
  • 論文中で評価しているbackboneはMobileNet V2、ResNet50、AmoebaNet
    • 処理速度を重視する場合はMobileNet V2
    • 精度を重視する場合はAmoebaNet

f:id:y_kurashina:20190427010610j:plain
Fig3. オリジナルのFPN構造
f:id:y_kurashina:20190427010659j:plain
Fig4. NAS-FPNのFPN構造