Learn to Pay Attention

06 May 2018

TL;DR

  • 目標はSaliency Mapを使ってCNNが分類を行うときに使う有効な視覚的情報の空間的なサポートを見つけ出し,利用すること
  • Saliency Mapを用いることで有効な領域の情報を重視し,無関係な情報を抑制する
  • Local feature vector (CNNの中間層の出力)とGlobal feature vector (CNNの後段のFCの出力)を組み合わせる
  • 適合度によって重要なLocal feature vectorだけを分類に活用する

構造

$S$個のAttention Moduleを持っている.
$s$個目のAttention Moduleは,長さ$M$のベクトル$N$個からなる集合である.
ここで,ベクトルの長さ$M$はFeature Mapのチャネル数に等しく,ベクトルの個数$N$はFeature Mapの画素数に等しい.

$L^s$のshapeは,$(BS, N, M)$

各ベクトルの長さをFC-1の出力$\bold{g}$の長さ$M’$に揃える

$\hat{L^s}$のshapeは,$(BS, N, M’)$

Compatibility scoresを求める

$C^s(\bold{\hat{L_s}}, \bold{g})$のshapeは,$(BS, N)$
Compatibility scoresをSoftmaxで正規化する

各Moduleの出力$\bold{g^s}$は

最終的には,全Moduleの出力を連結することでModule全体の出力として,最後にFC層