Transformer in Transformer

Transformerは、アテンション機構を用いて入力データを強力な特徴に変換する新しいニューラルアーキテクチャである。基本的には、視覚的Transformerは入力画像を複数の局所的なパッチに分割し、それらの表現および相互関係を計算する。自然画像は非常に複雑であり、豊富な詳細情報や色情報を持つため、単純に大きなパッチ(例:16×16)に分割するだけでは、異なるスケールや位置に存在する物体の特徴を十分に抽出するには粒度が粗すぎる。本論文では、これらの局所パッチ内部におけるアテンションも、高性能な視覚的Transformerを構築する上で極めて重要であることを指摘し、新たなアーキテクチャ「Transformer in Transformer(TNT)」を提案する。具体的には、局所パッチ(例:16×16)を「視覚的文(visual sentence)」とみなした上で、さらに小さなパッチ(例:4×4)に分割し、「視覚的単語(visual word)」として扱う。各単語間のアテンションは、与えられた視覚的文中で他の単語と計算され、計算コストはほとんど増加しない。このようにして、単語と文の両方の特徴を統合することで、表現能力を向上させる。複数のベンチマークにおける実験により、提案するTNTアーキテクチャの有効性が実証された。例えば、ImageNetにおいて81.5%のトップ1精度を達成し、同等の計算コストを持つ最先端の視覚的Transformerと比較して約1.7%高い性能を示した。PyTorch実装コードは https://github.com/huawei-noah/CV-Backbones にて公開されており、MindSpore実装コードは https://gitee.com/mindspore/models/tree/master/research/cv/TNT で入手可能である。