AI/Classification
[๋ ผ๋ฌธ๋ฆฌ๋ทฐ] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
ํด๋์๊ทธ
2025. 2. 12. 14:58
๋ฐ์ํ
Intro
* ViT ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ๋ฐฑ๋ณธ์ด๋ค.
* Swin Transformer = Vit + 1.๊ณ์ธต์ ๊ตฌ์กฐ + 2. shift window ๋ผ๊ณ ํ ์ ์๋ค.
* window ์์์๋ง attention์ฐ์ฐ์ ํ ํ, ๊ฐ๊ฐ window๋ผ๋ฆฌ attention ์ฐ์ฐ์ ํ๋ ํํ์ด๋ค.
Method
์ ๋ฐ์ ์ธ ๊ตฌ์กฐ๋ ์์ ๊ฐ๋ค.
Network
- input: H x W x 3์ ํด์๋ ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๊ณ , ๊ฒน์น์ง ์๊ฒ ๊ฐ๊ฐ์ ์ด๋ฏธ์ง ํจ์น๋ฅผ ๋๋
- stage 1: Transformer ํ์ต์ ์ํด ์ฌ์ฉ์๊ฐ ์ ์ํ C์ฐจ์์ผ๋ก ๋งคํํด์ค(Linear Embedding), ์ฌ๊ธฐ์ 2๊ฐ๋ก ๊ตฌ์ฑ ๋ swin transformer block์ผ๋ก ์ ๋ ฅ๋์ด ๋์ผํ ์ฐจ์์ผ๋ก ์ถ๋ ฅ๋จ (H/4*W/4*C)
- stage 2: Patch Merging์ผ๋ก (H/4*W/4*C) ์ ํด์๋๊ฐ (H/8*W/8*2C)๋ก ์ค์ด๋ฆ, 2๊ฐ๋ก ๊ตฌ์ฑ ๋ swin transformer block์ผ๋ก ์ ๋ ฅ๋์ด ๋์ผํ ์ฐจ์์ผ๋ก ์ถ๋ ฅ๋จ.
- stage 3,4๋ ์ฐจ์๊ณผ block ๊ฐ์๋ง ๋ค๋ฅด๊ณ ๋๋จธ์ง๋ ๋์ผํจ.
Patch Merging : ํด์๋๋ฅผ ์ค์ด๋ ๊ณผ์
- stage 1์ ์ถ๋ ฅ์ธ (H/4*W/4*C)์ ์ฐจ์์ 2*2 ๊ทธ๋ฃน์ผ๋ก ๋๋.
- ๋๋ ์ง ๊ทธ๋ฃน์ (H/8*W/8*C)์ ์ฐจ์์ ๊ฐ์ง๊ณ , 4๊ฐ์ ๊ทธ๋ฃน๋ค์ ์ฑ๋์ ๊ธฐ์ค์ผ๋ก concatํจ.]
- (H/8*W/8*4C) ๋ณํฉ๋ ์ฐจ์ ์ถ์๋ฅผ ์ํด ์ ๋ฐ์ธ 2C๋ก ์ถ์ํจ.
- ๋ชจ๋ ์คํ ์ด์ง์์ ์ ๊ณผ์ ์ ๋์ผํ๊ฒ ์์ฉํจ.
=> ๊ณ์ธต์ ๊ตฌ์กฐ๋ฅผ ํตํด representations์ ๋ ์ ํ์ตํ ์ ์๊ณ ์ฐ์ฐ์๋์๋ ์ด์ ์ด ์์.
Swin Transformer Block
Window
Swin์ window๋ก ์ชผ๊ฐ๋ ๋ฐฉ์์ผ๋ก ViT๋ณด๋ค ์ฐ์ฐ์ ์ด์ ์ด ์๋ค.
์ฐ์ฐ์ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋ ์ง ์ธก์ ํ ๊ฒฐ๊ณผ์ด๋ค.
Swin์ ๊ฒฝ์ฐ ์๋์ฐ์ ํฌ๊ธฐ๋ ๊ณ ์ ๋์ด ์์ผ๋ฏ๋ก ์์ ์ทจ๊ธ์ด ๊ฐ๋ฅํ๊ณ , HW์ ํฌ๊ธฐ์์๋ง ์ ํ์ ์ผ๋ก ๊ณ์ฐ๋์ด ์ฆ๊ฐํ๋ค.
Shift Window
- window๋ก ๋๋์ด ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก self-attention์ ์ํ
- cyclic-shifting ๋ฐฉ์์ ํตํด ์ถ๊ฐ์ ์ธ ๊ณ์ฐ์ ๊ฑฐ์ ์๊ตฌํ์ง x
- ํํฐ์ ์ข์๋จ์์ ์ฐํ๋จ์ผ๋ก ์งํ
Relative Position Bias
- ํ์ฌ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋์ ๊ฑฐ๋ฆฌ๋ฅด ๊ณ์ฐํด์
๋ฐ์ํ