Swin Transformer (Shifted Window Transformer)
๐ ๊ด๋ จ ๋ ผ๋ฌธ: [ICCV 2021] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
ViT์ ํ๊ณ์
๊ณ ์ ๋ ํ ํฐ ์ค์ผ์ผ
๊ธฐ์กด ViT๋ ์
๋ ฅ ์ด๋ฏธ์ง๋ฅผ ๋์ผํ ํฌ๊ธฐ์ ํจ์น๋ค๋ก ์ชผ๊ฐ ๋ค, ์ด ํจ์น ํ๋ํ๋๋ฅผ ์ธ์ด ๋ชจ๋ธ์ ํ ํฐ์ฒ๋ผ ์ทจ๊ธํ๋ค.
๋ํ ์ด $16\times16$ ํฝ์
์ ๋ํํ๋ ํ๋์ ํ ํฐ์ ๋ชจ๋ธ์ ์
๋ ฅ์ธต๋ถํฐ ์ถ๋ ฅ์ธต๊น์ง ํฌ๊ธฐ๊ฐ ๋ณํ์ง ์๋๋ฐ, ์ด๋ ๋น์ task์์ ๋ฌธ์ ๊ฐ ๋๋ค.
์ด๋ฏธ์ง ์ ๊ฐ์ฒด๋ค์ ํฌ๊ธฐ๊ฐ ๋งค์ฐ ๋ค์ํ๊ธฐ ๋๋ฌธ์, ์์ ๊ฐ์ฒด์ ํฐ ๊ฐ์ฒด๋ฅผ ๋ชจ๋ ํจ๊ณผ์ ์ผ๋ก ์ธ์ํ๋ ค๋ฉด ๋ชจ๋ธ์ด ๋ค์ํ scale์ ํน์ง์ ํฌ์ฐฉํ ์ ์์ด์ผ ํ๋ค.
ํ์ง๋ง ์ฒ์๋ถํฐ ๋๊น์ง ๊ณ ์ ๋ ํฌ๊ธฐ์ ํ ํฐ๋ง ์ฌ์ฉํ๋ฉด ๋ค์ํ ํฌ๊ธฐ์ ๊ฐ์ฒด์ ๋์ํ๊ธฐ ์ด๋ ต๊ฒ ๋๋ค.
Attention ์ฐ์ฐ๋
๊ธฐ์กด ViT๋ ๋ชจ๋ ํ ํฐ๋ผ๋ฆฌ Attention์ ๊ณ์ฐํ๋ค.
์ ๋ ฅ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ํจ์น ๊ฐ์ $N$์ด ์ฆ๊ฐํ๊ณ , Self-Attention ๊ณ์ฐ๋์ $O(N^2)$์ด ๋์ด ์ฐ์ฐ๋๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ธ๊ฒฉํ ์ฆ๊ฐํ๋ค.
ViT์์๋ ํ๋์ ํจ์น ํฌ๊ธฐ๊ฐ $16\times16$์ด๊ธฐ ๋๋ฌธ์, ์ ๋ ฅ ์ด๋ฏธ์ง ํด์๋์ ๋ฐ๋ฅธ ํจ์น ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- $224\times224$ ์ด๋ฏธ์ง โ ํจ์น ๊ฐ์ $196$๊ฐ โ Attention ๋งต ํฌ๊ธฐ: $196\times196$
- $1024\times1024$ ์ด๋ฏธ์ง โ ํจ์น ๊ฐ์ $\text{4,096}$๊ฐ โ Attention ๋งต ํฌ๊ธฐ: $\text{4,096}\times\text{4,096}$
Swin Transformer
Swin Transformer์ ๋ชจ๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
Swin Transformer Block์์๋ ์๋ ๊ทธ๋ฆผ์ Transformer Block์ด ์ฐ์์ ์ผ๋ก ์ํ๋๋ค.
- W-MSA: Regular Window based Multi-head Self-Attention (feature๋ค์ ์ด๋์ํค์ง ์์)
- SW-MSA: Shifted Window based Multi-head Self-Attention
๋ํ ๊ฐ stage ์ดํ์ Patch Merging์ ํตํด ํจ์น ํ๋๊ฐ ๋ฐ๋ผ๋ณด๋ Receptive Field์ ์ ์ง์ ์ผ๋ก ํค์๋๊ฐ๋ค.
Shifted Window based Self-Attention
Swin Transformer์์๋ Global Attention์ ์ํํ์ง ์๊ณ , ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ๊ฐ์ ์๋์ฐ๋ก ์ชผ๊ฐ ํ ๊ทธ ์์์๋ง Local Attention์ ์ํํ๋ค.
Shifted Window based Self-Attention์ ํ์ดํ๋ผ์ธ์ ๋ค์๊ณผ ๊ฐ๋ค.
ํจ์น ๊ฐ์๋ฅผ $N$, 1๊ฐ์ ์๋์ฐ ๋ด์ ํจ์น ๊ฐ์๋ฅผ $M$์ด๋ผ๊ณ ํ ๋, Self-Attention ์ฐ์ฐ๋์ $O(NM)$์ด๋ค.
- ์๋์ฐ 1๊ฐ์ Self-Attention ์ฐ์ฐ๋: $M^2$
- ์ ์ฒด ์๋์ฐ ๊ฐ์: $\frac{N}{M}$
- ์ ์ฒด ์ฐ์ฐ๋: $\frac{N}{M}\times M^2=NM$
๋ฐ๋ผ์ $M$์ด ๊ณ ์ ์ด๋ฉด, ์ฌ์ค์ ์ ํ ๋ณต์ก๋์ ๊ฐ๊น์์ง๋ค.
Cyclic Shift
๋ง์ฝ Window Attention๋ง ์ฌ์ฉํ๋ค๋ฉด, ์๋ก ๋ค๋ฅธ ์๋์ฐ์ ์๋ ํจ์น๋ค์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๊ฒ ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๊ฐ ๋ธ๋ก์ Feature Map์ ์ผ์ชฝ์ผ๋ก $\frac{M}{2}$๋งํผ, ์์ชฝ์ผ๋ก $\frac{M}{2}$๋งํผ ์ํ ์ด๋์ํจ๋ค.
Masked Attention
Cyclic Shift๋ฅผ ํ๋ฉด Feature Map์ ๊ฐ์ฅ์๋ฆฌ๊ฐ ๋ฐ๋ํธ์ผ๋ก ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์, ์๋ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ํ ํฐ๋ค์ด ๊ฐ์ ์๋์ฐ์ ๋ค์ด๊ฐ ์ ์๋ค.
์๋์ ๊ทธ๋ฆผ์์ โข๋ฒ ์๋์ฐ์ $(A,B)$, $(C,D)$๋ ์๋ ์๋ก ์ด์์ด์์ง๋ง, $(A,C)$, $(B,D)$๋ ์๋ก ์ด์์ด ์๋์๋ค.
Swin Transformer์์๋ Local Attention๋ง ์ํํ๊ธฐ ๋๋ฌธ์, ์ด์์ด ์๋ ์์ญ๋ผ๋ฆฌ๋ Attention์ ํ์ง ์๋๋ก ์ค๊ณํด์ผ ํ๋ค.
์ด๋ฅผ ์ํด Attention Mask๋ฅผ ์ ์ฉํ์ฌ, ์๋ ์ธ์ ํ ์์ญ๋ผ๋ฆฌ๋ Attention์ ํ์ฉํ๊ณ Cyclic Shift ๋๋ฌธ์ ์ธ์์ ์ผ๋ก ๋ถ์ ์์ญ๋ผ๋ฆฌ๋ Attention์ ์ฐจ๋จํ๋๋ก ํ๋ค.
Patch Merging
Patch Merging์ ๋ค์ Stage๋ก ๋์ด๊ฐ ๋, ์ธ์ ํ $2\times2$๊ฐ์ ํจ์น๋ฅผ ํ๋๋ก ๋ณํฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๊ตฌ์ฒด์ ์ผ๋ก๋ $C$ ์ฐจ์์ ์ธ์ ํ $2\times2$ ํจ์น๋ค์ concatํ์ฌ $4C$ ์ฐจ์์ผ๋ก ๋ง๋ ๋ค, Linear layer๋ฅผ ๊ฑฐ์ณ ์ต์ข ์ถ๋ ฅ ์ฐจ์์ $2C$๋ก ์ถ์ํ๋ค.
- Stage 1: ์ฒ์์๋ ์๋ณธ ์ด๋ฏธ์ง์ $4\times4$ ํฝ์ ์์ญ์ด 1๊ฐ์ ํจ์น๊ฐ ๋๋ค. ์ด ํจ์น๋ค $7\times7$๊ฐ๋ฅผ ๋ชจ์ ํ๋์ ์๋์ฐ๋ฅผ ๊ตฌ์ฑํ์ฌ Attention์ ์ํํ๋ค.
- Patch Merging: ์ธ์ ํ $2\times2$๊ฐ์ ํจ์น๋ฅผ ํ๋๋ก ๋ณํฉํ๋ค.
- Stage 2: ์ด์ ํ๋์ ํจ์น๋ ์๋ณธ ์ด๋ฏธ์ง์ $8\times8$ ํฝ์ ๋ฉด์ ์ ๋ํํ๊ฒ ๋๋ค. ์๋์ฐ๋ ์ฌ์ ํ ๋๊ฐ์ด $7\times7$๊ฐ์ ํจ์น๋ฅผ ๋ด๊ณ ์์ง๋ง, ํจ์น ํ๋ํ๋๊ฐ ๋ ๊ฑฐ์์ ์ธ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์, ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋์ฐ 1๊ฐ๊ฐ ์ปค๋ฒํ๋ ์ค์ ์๋ณธ ์ด๋ฏธ์ง์ ์์ญ์ ์ด์ ๋ณด๋ค $4$๋ฐฐ ๋์ด์ง๊ฒ ๋๋ค.
- Patch Merging: ์ธ์ ํ $2\times2$๊ฐ์ ํจ์น๋ฅผ ํ๋๋ก ๋ณํฉํ๋ค.
- Stage 3: ์ด์ ํ๋์ ํจ์น๋ ์๋ณธ ์ด๋ฏธ์ง์ $16\times16$ ํฝ์ ๋ฉด์ ์ ๋ํํ๊ฒ ๋๋ค.
- Patch Merging: ์ธ์ ํ $2\times2$๊ฐ์ ํจ์น๋ฅผ ํ๋๋ก ๋ณํฉํ๋ค.
- Stage 4: ์ด์ ํ๋์ ํจ์น๋ ์๋ณธ ์ด๋ฏธ์ง์ $32\times32$ ํฝ์ ๋ฉด์ ์ ๋ํํ๊ฒ ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก Patch Merging์ ํตํด ๋ง๋ค์ด์ง Hierarchical Feature Map์ Multi-scale feature๋ค์ ์ ์ฐํ๊ฒ ํฌ์ฐฉํ ์ ์๊ฒ ๋๋ค.







