Sleep like a pillow

Deep Learning関係の話。

Transformer in Transformer

論文リンク

リポジトリリンク

どんなもの?

  • ViTは画像をパッチのシーケンスとして扱うが、各パッチ内の本質的な構造情報(局所的な特徴)を使えていない。
  • 本論文では、Transformer-iN-Transformer (TNT)を提案。パッチレベルの特徴とピクセルレベルの特徴の両方を獲得することができる。
  • TNTは、従来のViTのようなパッチレベルのembedding (Patch embedding)に加えて、ピクセルレベルのembedding (Pixel embedding) を使用する。Pixel embeddingは各パッチをUnfold (im2col) して、FC層で線形変換したembedding。TNTの処理手順は以下。
    1. Pixel EmbeddingにTransformer (Inner T-Block) をかける
    2. 1をconcat
    3. 2をPatch embeddingと同じ次元にFC層で変換して、Patch embeddingに足し合わせる
    4. 3にTransformer (Outer T-Block) をかける
    5. 1と4をそれぞれ次のレイヤのPixel embeddingとPatch embeddingとして用いる
  • TNTブロックを多層にすることで画像認識用のTNTモデルを構築する。
  • ImageNetのtop-1 accuracyで81.3%を達成。DeiTと同程度の計算コストで精度は1.5%高い。

f:id:uiiurz1:20210317065206p:plain