본문 바로가기

프로젝트/(Vision)이미지 검색 및 상품추천

(*on-going)(논문 정리) Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

2021년 3월 25일 arxiv에 기재된 "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows"에 대한 리뷰이다.

 

arxiv.org/abs/2103.14030

 

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

This paper presents a new vision Transformer, called Swin Transformer, that capably serves as a general-purpose backbone for computer vision. Challenges in adapting Transformer from language to vision arise from differences between the two domains, such as

arxiv.org

code

github.com/microsoft/Swin-Transformer?utm_source=catalyzex.com

 

microsoft/Swin-Transformer

This is an official implementation for "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows". - microsoft/Swin-Transformer

github.com

 

Abstract

  • computer vision의 general-purpose backbone을 위해 제안되었다.
  • Transformer를 language에서 vision영역에 adapt하는 어려움은 visual entities의 scale variation에 기인한다. 
  • 따라서 shifted windows로 계산되는 hierarchical Transformer를 도입할 것이다.
  • shifted windows를 도입함으로써 self-attention의 계산을 non-overlapping local windows로 limit하고 cross-window connection을 allow한다.
    #non-overlapping -> 윈도우 간 겹치는 영역이 없는
  • 이러한 계층적 구조를 통해
    1. scale에 대해 flexibility를 갖게 되고
    2. image size에 대해 linear computational complexity를 갖게 된다.
  • Swin Transformer는 위의 특성 덕분에
    image classification(86.4 top-1 accuracy)
    dense prediction task(58.7 box AP , 51.1 mAP on COCO test-dev)
    #dense prediction task -> image의 each pixel에 대한 label을 predict하는 task
    semantic segmentation (53.5 mIoU on ADE20K val) 를 비롯한 여러 vision task에 compatible하게 사용될 수 있다.

 

Introduction

Swin Transformer는 small-sized patches부터 시작하여 점진적으로 더 깊은 Transformer layers에서 neighboring patch와 merge된다.

Swin Transformer의 key design은 window의 shift이다. 

shift window는 sliding window에 비하면 훨씬 낮은 latency를 갖는다.

 

 

Related Works

Transformer based vision backbones

ViT는 large-scale training datasets를 요구하지만, DeiT는 ImageNet-1K datasets에서도 효율적으로 학습하는 방법을 제시했다.

하지만 architecture이 general-purpose에 부적합하고, low-resolution feature maps와 quadratic complexity with image size로 인해, 고 해상도 task에 부적합하다는 문제가 존재하며, 이에 대처하는 모델들의 성능도 좋지 않다.

 

Method