안녕하세요,
재재입니다.

이번 포스팅은,
Swin Transformer v2 리뷰입니다.

한줄로 Swin transformer v2 를 설명해본다면,
다음과 같이 이야기 할 수 있겠습니다.

“Swin Transformer 의 Model Capacity 를 키우는 과정에서 생긴,
Activation amplification 과 Accuracy drop 을 해결하려고 하였다.”

Swin Transformer v2 논문 리뷰에 앞서,
개요부터 살펴보시죠.

(0) 개요

CVPR 2022 에 Accepted 되었으며,
Microsoft 에서 제출한 논문입니다.

Github https://github.com/microsoft/Swin-Transformer
Paper https://arxiv.org/abs/2111.09883

(1) Introduction

이 논문에서 다룰 주요 이슈는 2가지 입니다.

  1. model capacity 를 올리면서 생기는 training unstability 문제
  2. high window resolution 으로 올리면서 생기는 accuracy drop 문제

(2) Related Work

swin transformer v2 리뷰 image 66

(기존) swin transformer 에서 해결하고자 했던 것은,
ViT (vision transformer) 가 가지고 있는 quadratic complexity 문제였습니다.
바로 input resolution 이 늘면서 복잡도가 quadratic 하게 증가하는 문제였고,
이 문제를 해결하기 위해 shifted windows 라는 테크닉을 활용했습니다.

(3) Swin Transformer V2

swin transformer v2 리뷰 image 62
1. Relative position bias

기존의 Swin Transformer 에서 사용하는 relative position bias 는,
$$ [-M+1, M+1] $$ 의 범위 내에 존재했고 학습 된 position bias 를
다른 사이즈에 적용할 때 bi-cubic interpolation 을 사용했습니다.

2. Scailing Up Model Capacity

(1) introduction 에서 다룬 첫번째 이슈에 내용을 다룹니다.

swin transformer v2 리뷰 image 60

layer 가 깊어지면서, activation 의 output 이 크게 증가하는데,
pre normalization 을 사용하는 H(huge) 모델이 발산했습니다.

swin transformer v2 리뷰 image 61

pre-norm 에서 post-norm 으로 변경한 H 모델은,
loss 가 비교적 안정적입니다.

첫번째 이슈인, Training unstability 의 해결방법은 2가지입니다.

  1. residual post normalization
  2. scaled cosine attention 입니다.
    (위의 swin transformer v2 구조 그림에서 노란색 1의 영역)
swin transformer v2 리뷰 image 63

MLP 전에 Layer normalization 을 수행하고,
뒤에서 residual 을 더하는 과정이 activation 을
폭발시키는 문제를 야기했다고 주장합니다. (V1)
그래서, 이를 해결하기 위해 MLP 다음 Layer normalization 을 수행하고,
residual 을 더하면서 방지 하였으며 거기에 cos similiarity 를 사용해서 (normalization 의 효과) 값이 발산하지 못하도록 할 수 있습니다. (V2)

3. Scailing Up Window Resolution

두번째 이슈인, accuracy drop 문제를 해결하기 위한 방법을 다룹니다.

V2에 와서는 Position Bias 를 표현하기 위해 별도의 모델을 사용합니다.
$$ B(\Delta x, \Delta y) = G(\Delta x, \Delta y) $$
여기서 G는 작은 모델로, arbitrary relative coordinates 의 생성을 위해 사용됩니다.

또한, 조금 더 넓은 숫자를 효과적으로 사용하기 위해,
log 를 활용합니다. (log spaced coordinates)
$$ \Delta x_new = sign(x) log(1+\vert\Delta x\vert) $$
$$ \Delta y_new = sign(y) log(1+\vert\Delta y\vert) $$

(4) Ablation Study

swin transformer v2 리뷰 image 64

미미하지만, model 의 capacity 를 올리기 위한 실험입니다.

swin transformer v2 리뷰 image 65

(5) Experiments

조금 지난 논문이라,
Experiments 는 간략히 하겠습니다!

요약하면, 4개의 Task 에서 SOTA 를 달성했다고 합니다.

(6) Conclusion

(1) introduction 에서 언급한 두 이슈를 해결하였습니다.

res-post-norm 과 scaled cosine attention – model capacity
log spaced continuous position bias – window resolution

model parameter 의 갯수가 3 billion 까지 늘었습니다.

[paper] Swin Transformer V2 리뷰
태그:                             

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다