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

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

DropBlock: A regularization method for convolutional networks

スポンサーリンク


f:id:y_kurashina:20190503221156j:plain
Fig1. DropBlockの概念図

論文URL

https://arxiv.org/pdf/1810.12890.pdf

2018年10月公開

ポイント

  • 畳み込み層用正規化手法DropBlockをGoogle Brainが提案
  • dropoutを拡張した正規化手法で、ランダムな画素をマスクする(Fig1(b))のではなく、ランダムな領域をマスクする(Fig1(c))
    • dropoutは全結合層に対し適用すると効果が高いが、畳み込み層の特徴量マップに適用しても、ランダムにマスクした画素の周囲の画素に(畳み込み演算の結果)入力情報が洩れるため、正則化が非効率になる
    • DropBlockでは領域をマスクするため、入力情報の洩れがなくなり、効率的に正則化できる
    • DropBlockの特性評価は主にResNet50で行われた
  • 性能
    • ResNet50でImageNetの画像分類:精度が1.6%改善
    • RetinaNetでCOCOの物体認識:Average Precitionが1.6%改善

DropBlock

  • マスクをかけない有効画素の割合keep\verb|_|probからマスク領域中心画素割合\gammaを計算
    f:id:y_kurashina:20190503234248j:plain
    • この式はFig2(b)のような領域の重複を無視した概略式
    • Fig2(a)の緑枠内の画素から\gammaの割合でマスク領域中心を選択し、block\verb|_|sizeの大きさの領域をマスクする
      • Fig2(a)の緑枠はマスク領域が画像からはみ出さない領域
  • 学習時は、dropout同様にマスク画素割合の逆数を特徴量Aの各要素に乗算し、マスクによる特徴量の減少分を補正する
  • 推論時は、DropBlockは何も行わない

f:id:y_kurashina:20190503231036j:plain
Fig2. DropBlockの領域選択概念図

ResNet50+DropBlock

  • ResNetのconv4_x, conv5_xブロック(Fig3)の各畳み込み層とスキップコネクションの後にDropBlockを追加
  • マスクする領域は特徴量のチャンネル毎に独立に計算
  • keep\verb|_|probは学習の進行に合わせ、線形に小さくする
    • 初期値は1(=マスクしない)で、最後は0.9(=論文で評価した中の最良値)
  • block\verb|_|sizeの最良値は7画素
    • conv4_xのマップサイズは14x14画素、conv5_xのマップサイズは7x7画素であることから、DropBlockでは空間的にかなり広い領域(入力画像の1/4ないし全域)をマスクしていることになる

f:id:y_kurashina:20190503235237j:plain
Fig3. ResNetアーキテクチャ

Class Activation Map (CAM)で評価した活性化領域

  • DropBlock込みで学習すると入力画像の広い領域を使ってクラス分類する傾向がある(Fig4)
    • Fig4 1行目:入力画像
    • Fig4 2行目:ResNet50
    • Fig4 3行目:ResNet50+DropBlock、block\verb|_|size=1
    • Fig4 4行目:ResNet50+DropBlock、block\verb|_|size=7

f:id:y_kurashina:20190504000323j:plain
Fig4. CAMによる活性化領域