안녕하세요,
재재입니다.
이번 포스팅은,
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가지 입니다.
- model capacity 를 올리면서 생기는 training unstability 문제
- high window resolution 으로 올리면서 생기는 accuracy drop 문제
(2) Related Work
(기존) swin transformer 에서 해결하고자 했던 것은,
ViT (vision transformer) 가 가지고 있는 quadratic complexity 문제였습니다.
바로 input resolution 이 늘면서 복잡도가 quadratic 하게 증가하는 문제였고,
이 문제를 해결하기 위해 shifted windows 라는 테크닉을 활용했습니다.
(3) Swin Transformer V2
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 에서 다룬 첫번째 이슈에 내용을 다룹니다.
layer 가 깊어지면서, activation 의 output 이 크게 증가하는데,
pre normalization 을 사용하는 H(huge) 모델이 발산했습니다.
pre-norm 에서 post-norm 으로 변경한 H 모델은,
loss 가 비교적 안정적입니다.
첫번째 이슈인, Training unstability 의 해결방법은 2가지입니다.
- residual post normalization
- scaled cosine attention 입니다.
(위의 swin transformer v2 구조 그림에서 노란색 1의 영역)
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
미미하지만, model 의 capacity 를 올리기 위한 실험입니다.
(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 까지 늘었습니다.