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

이번 포스팅은,
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
[paper] Swin Transformer V2 리뷰 9

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

(3) Swin Transformer V2

swin transformer v2 리뷰 image 62
[paper] Swin Transformer V2 리뷰 10
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
[paper] Swin Transformer V2 리뷰 11

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

swin transformer v2 리뷰 image 61
[paper] Swin Transformer V2 리뷰 12

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
[paper] Swin Transformer V2 리뷰 13

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
[paper] Swin Transformer V2 리뷰 14

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

swin transformer v2 리뷰 image 65
[paper] Swin Transformer V2 리뷰 15

(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 리뷰
태그:                             

답글 남기기

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