Post

Swin Transformer (Shifted Window Transformer)

Swin Transformer (Shifted Window Transformer)

๐Ÿ“„ ๊ด€๋ จ ๋…ผ๋ฌธ: [ICCV 2021] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

ViT์˜ ํ•œ๊ณ„์ 

๊ณ ์ •๋œ ํ† ํฐ ์Šค์ผ€์ผ

๊ธฐ์กด ViT๋Š” ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํŒจ์น˜๋“ค๋กœ ์ชผ๊ฐ  ๋’ค, ์ด ํŒจ์น˜ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์–ธ์–ด ๋ชจ๋ธ์˜ ํ† ํฐ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•œ๋‹ค.
๋˜ํ•œ ์ด $16\times16$ ํ”ฝ์…€์„ ๋Œ€ํ‘œํ•˜๋Š” ํ•˜๋‚˜์˜ ํ† ํฐ์€ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์ธต๋ถ€ํ„ฐ ์ถœ๋ ฅ์ธต๊นŒ์ง€ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋ฐ, ์ด๋Š” ๋น„์ „ task์—์„œ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.

์ด๋ฏธ์ง€ ์† ๊ฐ์ฒด๋“ค์€ ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ๋‹ค์–‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž‘์€ ๊ฐ์ฒด์™€ ํฐ ๊ฐ์ฒด๋ฅผ ๋ชจ๋‘ ํšจ๊ณผ์ ์œผ๋กœ ์ธ์‹ํ•˜๋ ค๋ฉด ๋ชจ๋ธ์ด ๋‹ค์–‘ํ•œ scale์˜ ํŠน์ง•์„ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
ํ•˜์ง€๋งŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ํ† ํฐ๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ฐ์ฒด์— ๋Œ€์‘ํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋œ๋‹ค.

fig1

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์˜ ๋ชจ๋ธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

fig2

Swin Transformer Block์—์„œ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ์˜ Transformer Block์ด ์—ฐ์†์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค.

fig3

  • 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์˜ ํŒŒ์ดํ”„๋ผ์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

fig4

ํŒจ์น˜ ๊ฐœ์ˆ˜๋ฅผ $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}$๋งŒํผ ์ˆœํ™˜ ์ด๋™์‹œํ‚จ๋‹ค.

fig5

Masked Attention

Cyclic Shift๋ฅผ ํ•˜๋ฉด Feature Map์˜ ๊ฐ€์žฅ์ž๋ฆฌ๊ฐ€ ๋ฐ˜๋Œ€ํŽธ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์—, ์›๋ž˜ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋˜ ํ† ํฐ๋“ค์ด ๊ฐ™์€ ์œˆ๋„์šฐ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜์˜ ๊ทธ๋ฆผ์—์„œ โ‘ข๋ฒˆ ์œˆ๋„์šฐ์˜ $(A,B)$, $(C,D)$๋Š” ์›๋ž˜ ์„œ๋กœ ์ด์›ƒ์ด์—ˆ์ง€๋งŒ, $(A,C)$, $(B,D)$๋Š” ์„œ๋กœ ์ด์›ƒ์ด ์•„๋‹ˆ์—ˆ๋‹ค.

fig6

Swin Transformer์—์„œ๋Š” Local Attention๋งŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด์›ƒ์ด ์•„๋‹Œ ์˜์—ญ๋ผ๋ฆฌ๋Š” Attention์„ ํ•˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด Attention Mask๋ฅผ ์ ์šฉํ•˜์—ฌ, ์›๋ž˜ ์ธ์ ‘ํ•œ ์˜์—ญ๋ผ๋ฆฌ๋Š” Attention์„ ํ—ˆ์šฉํ•˜๊ณ  Cyclic Shift ๋•Œ๋ฌธ์— ์ธ์œ„์ ์œผ๋กœ ๋ถ™์€ ์˜์—ญ๋ผ๋ฆฌ๋Š” Attention์„ ์ฐจ๋‹จํ•˜๋„๋ก ํ•œ๋‹ค.

fig7

Patch Merging

Patch Merging์€ ๋‹ค์Œ Stage๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ, ์ธ์ ‘ํ•œ $2\times2$๊ฐœ์˜ ํŒจ์น˜๋ฅผ ํ•˜๋‚˜๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ๋Š” $C$ ์ฐจ์›์˜ ์ธ์ ‘ํ•œ $2\times2$ ํŒจ์น˜๋“ค์„ concatํ•˜์—ฌ $4C$ ์ฐจ์›์œผ๋กœ ๋งŒ๋“  ๋’ค, Linear layer๋ฅผ ๊ฑฐ์ณ ์ตœ์ข… ์ถœ๋ ฅ ์ฐจ์›์„ $2C$๋กœ ์ถ•์†Œํ•œ๋‹ค.

fig8

  • 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๋“ค์„ ์œ ์—ฐํ•˜๊ฒŒ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.