原論文
Incorporating Convolution Designs into Visual Transformers
https://arxiv.org/abs/2103.11816
日本語解説
Incorporating Convolution Designs into Visual Transformers
https://speakerdeck.com/abeta/incorporating-convolution-designs-into-visual-transformers
関連研究
Vison Transformerの解説
https://qiita.com/wakanomi/items/55bba80338615c7cce73
CNN+ViTモデルの傾向【サーベイ】
https://qiita.com/wakayama_90b/items/96bf5d32b09cb0041c39
結論
ViTに局所的バイアスを持つCNNを追加してImageNetで精度向上.
概要
画像認識分野のスタンダードになってきたViTがある.しかし,ViTには様々な問題点がある.その1つとして,局所バイアスが無いことで大量のデータが必要であり,ImageNetでは学習不十分である.
ViTは画像全体を並列に処理するため,画像全体を考慮する利点があるが,近い画素は関係が深いといった局所的バイアスの獲得が困難である.この前提知識を補うために大量のデータが必要である.反対に,CNNはカーネルの範囲($3 \times 3$)の特徴量を認識する構造であり,局所的バイアスを獲得しImageNetではViTを上回る精度である.
ここで,ViTに局所的バイアスを追加するために,CNNをViTの構造に導入する.これが,CeiTである.
モデル構造
CeiTのモデル構造を下図に示す.CNNは,パッチトークンとLeFFで導入される.ViTの構造と異なる部分を以下に解説する.
パッチトークン
ViTのパッチトークンは下図の上ルートで作成される.CeiTは下ルートを採用する.はじめに,1層の畳み込みとMax-poolingを行い,パッチ分割する.
これによって,画像のエッジなどの局所的な情報(Low-level)を獲得する.
LeFF
LeFFはFFNに畳み込みを導入して局所的な認識を補助する.
- パッチトークンを線形射影
- 3次元に並べる
- $3 \times 3$or$5 \times 5$のDW畳み込み(空間情報のみを認識)+バッチノルム
- 2次元に戻す
- 線形変換
これにより,MSAの大局的な認識,LeFFの局所的な認識を交互に行い有効な認識を期待する.
LCA
LCAはクラス識別をするMSAを別に用意してCeiTのOutputとするモジュールである.LCAはMSAとFFNが一層ずつ用意される.入力には,各層のクラストークンが使用される.
ViTは各層で抽出される特徴は異なる.ViTの分析によって,浅い層では局所的な認識,深い層では大局的な認識をする傾向がある.これらの情報を各層で集約したクラストークンを使用する.
実験
ImageNetを含む,様々なデータセットで良い精度を達成した.
また,CeiTはDeiTと比較して3倍の速さで同じ精度を達成する.
まとめ
今回は,ViTに局所的バイアスを持つCNNを追加するCeiTについて解説した.各層のクラストークンを使用してSAをすることは新しいですね.