LoginSignup
1
0
お題は不問!Qiita Engineer Festa 2023で記事投稿!

ViTに局所的バイアスを持つCNNを追加【CeiT】

Last updated at Posted at 2023-06-28

原論文
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の構造と異なる部分を以下に解説する.

スクリーンショット 2023-06-28 20.27.35.png

mojikyo45_640-2.gif

パッチトークン

ViTのパッチトークンは下図の上ルートで作成される.CeiTは下ルートを採用する.はじめに,1層の畳み込みとMax-poolingを行い,パッチ分割する.
これによって,画像のエッジなどの局所的な情報(Low-level)を獲得する.

スクリーンショット 2023-06-28 20.38.30.png

LeFF

LeFFはFFNに畳み込みを導入して局所的な認識を補助する.

  1. パッチトークンを線形射影
  2. 3次元に並べる
  3. $3 \times 3$or$5 \times 5$のDW畳み込み(空間情報のみを認識)+バッチノルム
  4. 2次元に戻す
  5. 線形変換

これにより,MSAの大局的な認識,LeFFの局所的な認識を交互に行い有効な認識を期待する.

スクリーンショット 2023-06-28 20.39.27.png

LCA

LCAはクラス識別をするMSAを別に用意してCeiTのOutputとするモジュールである.LCAはMSAとFFNが一層ずつ用意される.入力には,各層のクラストークンが使用される.
ViTは各層で抽出される特徴は異なる.ViTの分析によって,浅い層では局所的な認識,深い層では大局的な認識をする傾向がある.これらの情報を各層で集約したクラストークンを使用する.

実験

ImageNetを含む,様々なデータセットで良い精度を達成した.
また,CeiTはDeiTと比較して3倍の速さで同じ精度を達成する.

mojikyo45_640-2.gif

まとめ

今回は,ViTに局所的バイアスを持つCNNを追加するCeiTについて解説した.各層のクラストークンを使用してSAをすることは新しいですね.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0