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

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

Deep Layer Aggregation

スポンサーリンク


f:id:y_kurashina:20190609220257j:plain
DLA-60

論文URL

https://arxiv.org/pdf/1707.06484.pdf

2017年7月公開

ポイント

  • ResNetで導入されたresidual blockのような"浅い"skip connectionに留まらず、より"深い"aggregationを導入し、パラメータ数や演算回数の観点でより効率的なモデルDLA(Deep Layer Aggregation)を提案
  • DLAでのaggregation nodeでは、出力層の異なる特徴量マップを集約(aggregate)している。skip connectionの一形態と理解すればよい。
  • 2つのaggregation構造を提案
    • IDA : Iterative Deep Aggregation
      • Fig2の繰り返し構造で、解像度やスケールの異なる特徴量を混ぜ合わせる
        f:id:y_kurashina:20190609223408j:plain
        Fig2. Iterative Deep Aggregation

        ※黒枠は畳み込みブロック(詳細は後述)、緑枠はaggregation node
    • HDA : Hierarchical Deep Aggregation
      • Fig3の木構造で、全モジュールの特徴量を混ぜ合わせる
        f:id:y_kurashina:20190609224008j:plain
        Fig3. Hierarchical Deep Aggregation
      • 2つの畳み込みブロックごとにaggregation nodeで特徴量が集約され、集約された特徴量が次の畳み込みブロックの入力となっている。

Aggregation Node

  • Aggregation Nodeの出力Nは以下の式で算出
    • N( x _ 1 , x _ 2 , ... , x _ n ) = \sigma (BatchNorm(\Sigma _ i W _ i x _ i + b))
      •  x _ 1 , x _ 2 , ... , x _ n : 入力特徴量
      •  \sigma : 活性化関数(論文では何を使ったか記載されていない)
      • 畳み込みを1x1で行っている
  • IDAで解像度の異なる特徴量の解像度をどのように合わせているのか記載されていない。

DLAモデル構造

f:id:y_kurashina:20190609224431j:plain

  • 上記の構造のモデルが提案されている。
  • Block列は畳み込みブロックの構造(Fig2,3の黒枠)
    • Basic : ResNet18,34で使用されているBasic構造
    • BottleNeck : ResNet50,101,154で使用されているBottleNeck構造
    • Split : ResNeXtで使用されているSplit構造
  • Stage1,2の数字はチャンネル数
  • Stage3~6の数字d-n
    • d : HDAのaggregationの深さ
    • n : チャンネル数
  • モデル名称の末尾がCのモデルはパラメータ数を百万程度に抑えたコンパクトモデル
  • DLA-60等の60層ネットワークの概念図がFig1

ImageNetでの評価

f:id:y_kurashina:20190609230744j:plain