Swin Transformer:シフトされたウィンドウを用いた階層的ビジョンTransformer

本稿では、コンピュータビジョンにおける汎用バックボーンとして機能可能な新しいビジョン変換器「Swin Transformer」を提案する。自然言語からビジョン領域へのTransformerの適用には、両領域間の本質的な差異が課題となる。具体的には、視覚的エンティティのスケール変動の大きさや、画像におけるピクセルの高解像度がテキストにおける単語と比較して顕著である点が挙げられる。これらの差異に対処するため、階層的なTransformerアーキテクチャを提案する。このアーキテクチャでは、\textbf{S}hifted \textbf{win}dows(シフト付きウィンドウ)を用いて表現を計算する。シフト付きウィンドウ方式は、自己注意(self-attention)の計算を重複しない局所的なウィンドウ内に限定することで、計算効率を向上させる一方で、ウィンドウ間の接続性も維持できる。この階層構造は、さまざまなスケールでのモデリングが可能であり、画像サイズに対して線形の計算複雑度を実現する。Swin Transformerのこれらの特徴により、画像分類(ImageNet-1Kでtop-1精度87.3%)、オブジェクト検出(COCO test-devでボックスAP 58.7、マスクAP 51.1)、セマンティックセグメンテーション(ADE20K valでmIoU 53.5)など、幅広いビジョンタスクに適応可能である。特にCOCOデータセットにおいて、従来の最先端技術を+2.7ボックスAPおよび+2.6マスクAPの大幅な差で上回り、ADE20Kでは+3.2 mIoUの向上を達成した。これは、Transformerベースのモデルがビジョンバックボーンとして極めて高い潜在能力を有していることを示している。また、階層構造とシフト付きウィンドウアプローチは、すべてMLP(全結合層)構造のアーキテクチャにも有益であることが実証された。コードおよびモデルは、~\url{https://github.com/microsoft/Swin-Transformer} にて公開されている。