Stand-Alone Self-Attention in Vision
2019/10/03
神戸瑞樹
Prajit Ramachandran∗ Niki Parmar∗ Ashish Vaswani∗
Irwan Bello Anselm Levskaya† Jonathon Shlens
Google Research, Brain Team
{prajit, nikip, avaswani}@google.com
https://arxiv.org/pdf/1906.05909.pdf
∗Denotes equal contribution. Ordering determined by random shuffle.
†Work done as a member of the Google AI Residency Program
概要
• 畳み込み層をlocal self-attentionに変更したFull
Attention のvision modelを提案
• 同程度の精度を少ない計算量とパラメータで達成
2
Introduction
• 画像認識は畳み込みで成功を収めた
• 自然言語処理はAttentionで成功している
• 近年では、Attentionはvision modelにもアドオン
的に導入されている(Squeeze-Excitenなど)
• 畳み込みの補強ではなく、コア要素として使えないか
• Full Attention モデルを提案
3
Attention
• 自然言語処理の基盤
• RNNを潰した
4
参考・引用:https://qiita.com/halhorn/items/c91497522be27bde17ce
Self-Attention
• query, key, valueがすべて同じ場所(self)から
• CNNにも導入され、精度の上昇に寄与
• 畳み込みの補強
5
Stand-alone self-attention
• globalでやると計算コストが大きすぎる
• k*kで処理(local self-attention)
• 実際は次元をN個に分割し、N個のアテンショ
ンで並列処理して連結
6
x
q
k
v
y
1*1畳み込み
Stand-alone self-attention
• 前ページだけだと位置情報が入っていない
• k*kをシャッフルしても同じ結果に
• 絶対位置を基にしたSinusoidal embeddingsよ
りも相対位置の embeddingsの方がよい結果
7
Stand-alone self-attention
• Attentionのパラメータはkのサイズが大きく
なっても変わらない
• 畳み込みは増加
• 計算コストの増え方も畳み込みと比べると緩や
か
• 入力と出力が128次元で、k=3の畳み込みと
k=19のAttentionの計算コストが一緒
8
空間的畳み込みの置き換え
• k>1の畳み込みを空間的畳み込み(spatial
convolution)と定義
• 既存モデルの空間的畳み込みをattentionで置き
換える
• ダウンサンプリングが必要な時はストライド2
の2*2平均プーリングを使用
• 他の構造は全て保持
9
stem
• CNNの最初のレイヤーはstemと呼ばれることがある
• エッジなどの局所特徴の学習を行い後のレイヤーにグロー
バルオブジェクトを認識させる役割をもつ
• 入力画像が大きいため、ステムは通常、コアブロッ
クとは異なり、空間的ダウンサンプリングによる軽
量操作に焦点を当てている
• ステムレイヤーではコンテンツはRGBピクセルであ
り、これらは個別には情報がなく、空間的に強く相
関している
• self-attentionなどのコンテンツベースメカニズムでは、
エッジなどの役に立つ特徴の学習が困難
• 畳み込みの方がいい結果に
10
stemの置き換え
• 空間的に変化する線形返還を通じて、距離ベー
スの情報を1*1畳み込み(Wv)に注入する
11
ImageNet
• ResNetを使用
• k=7
• 8 attention heads
• 計算量とパラメータ
の減少
• 精度の上昇
12
COCO Object Detection
• RetinaNetを使用
• 画像分類のネットワーク
• Feature Pyramid Network(FPN)と2つのアウトプッ
ト用ネットワークdetection heads
• 計算量とパラメータを減らし同程度の精度
13
Ablation study(置き換える場所)
• 空間的畳み込みの置き換え場所を変化
• stemは畳み込み
• 畳み込みは早い段階で有効
• low-levelな特徴を掴みやすい
• attentionは後の段階で有効
• globalな情報を統合しやすい
14
Ablation study(kの値)
• kの値を変化
• k=11周辺の大きい数字を使うことで精度が上
がる
• 精度が高いkの値は特徴量のサイズやattention
headsの数などのハイパーパラメータに依存す
るかもしれない
15
Ablation study(位置情報)
• 与える位置情報を変化
• 与えたほうがよく、エンコード方法も大事
• 位置情報を与えれば、qTkを消しても0.5%しか
下がらない
16
discussion
• Fully attentional networkの提案
• 計算量とパラメータを減らして同等以上の精度
• attentionはネットワークの後ろでよく効く
• ネットワークを改善する方法がいくつかある
• 幾何を捉えられるattentionメカニズムの開発
• attention layerをコンポーネントとしてネットワークを探索
• 初期レイヤーでlow-levelの特徴を掴めるattentionの提案
• attentionベースは計算量が減るが実時間では遅い
• 最適化されたハードが存在しないため
• 畳み込みとattentionをうまく組み合わせたい
• CNNが使われている他のタスクでもattentionの適用が
期待される
• セグメンテーション、キーポイント検出、姿勢推定など
17

Stand alone self attention in vision models