Swin Transformer

Swin Transformer๋Š” Vision Transformer(ViT) ๊ณ„์—ด์˜ ๋ชจ๋ธ๋กœ, Transformer ๊ธฐ๋ฐ˜์˜ self-attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”ํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. Swin Transformer๋Š” ํŠนํžˆ ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์—์„œ ๊ธฐ์กด CNN ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์„ ๋Šฅ๊ฐ€ํ•˜๋Š” ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์œผ๋ฉฐ, ํฌํŠธํ™€ ํƒ์ง€์™€ ๊ฐ™์€ ์ž‘์€ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•˜๋Š” ๋ฌธ์ œ์—์„œ๋„ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

Swin Transformer์˜ ์ฃผ์š” ํŠน์ง•

  1. Shifted Window Self-Attention:

    • Swin Transformer๋Š” ๊ธฐ์กด ViT์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด Shifted Window Self-Attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ Transformer ๋ชจ๋ธ์€ ์ด๋ฏธ์ง€ ์ „์ฒด์—์„œ self-attention์„ ๊ณ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๋†’์€ ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฐ˜๋ฉด, Swin Transformer๋Š” ์ด๋ฏธ์ง€๋ฅผ ์—ฌ๋Ÿฌ ์ž‘์€ ์œˆ๋„์šฐ๋กœ ๋ถ„ํ• ํ•˜๊ณ  ๊ทธ ์•ˆ์—์„œ self-attention์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

    • ๋˜ํ•œ, ๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ์œˆ๋„์šฐ๋ฅผ ์•ฝ๊ฐ„์”ฉ ์ด๋™์‹œํ‚ค๋Š” ๋ฐฉ์‹(shifted window)์„ ์‚ฌ์šฉํ•˜์—ฌ ์œˆ๋„์šฐ ๊ฐ„์˜ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋ฉฐ, ์ด๋Š” ๋ชจ๋ธ์ด ๋กœ์ปฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธ€๋กœ๋ฒŒํ•œ ๋ฌธ๋งฅ์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

  2. ๊ณ„์ธต์  ๊ตฌ์กฐ:

    • Swin Transformer๋Š” ์ด๋ฏธ์ง€์˜ ๊ณ„์ธต์  ํ‘œํ˜„์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์€ ํŒจ์น˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ ์ง„์ ์œผ๋กœ ํฐ ํŒจ์น˜๋กœ ํ™•์žฅํ•˜๋Š” ๋ฐฉ์‹์„ ๋”ฐ๋ฅด๋ฉฐ, ์ด๋Š” CNN์˜ ํ’€๋ง๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋Š” ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ฐ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํšจ๊ณผ์ ์ด๋ฉฐ, ์ž‘์€ ํŒจ์น˜๋กœ๋ถ€ํ„ฐ ํฐ ๊ตฌ์กฐ์  ์ •๋ณด๊นŒ์ง€ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ๊ณ„์‚ฐ ํšจ์œจ์„ฑ:

    • ๊ธฐ์กด ViT ๋ชจ๋ธ์€ ๋ชจ๋“  ํŒจ์น˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋งค์šฐ ๋†’์€ ์—ฐ์‚ฐ ๋น„์šฉ์ด ๋“ค์ง€๋งŒ, Swin Transformer๋Š” ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ์‚ฐ์„ ์ œํ•œํ•˜์—ฌ ๋” ํšจ์œจ์ ์ธ ๊ณ„์‚ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋Œ€ํ˜• ์ด๋ฏธ์ง€์—์„œ๋„ ๋” ์ ์€ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ๋Ÿ‰์œผ๋กœ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. ์œ ์—ฐํ•œ ์ ์šฉ:

    • Swin Transformer๋Š” ๊ฐ์ฒด ํƒ์ง€, ์ด๋ฏธ์ง€ ๋ถ„ํ• , ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์— ์œ ์—ฐํ•˜๊ฒŒ ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ํฌํŠธํ™€ ํƒ์ง€์™€ ๊ฐ™์€ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ์ž‘์—…์—์„œ๋Š” ์ •ํ™•ํ•œ ๊ฒฝ๊ณ„ ํƒ์ง€๊ฐ€ ์ค‘์š”ํ•œ๋ฐ, Swin Transformer๋Š” ์ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Swin Transformer์˜ ์•„ํ‚คํ…์ฒ˜

Swin Transformer์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์—์„œ ํšจ์œจ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๋™์‹œ์— ์žก๊ธฐ ์œ„ํ•ด Transformer ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณ€ํ˜•ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Vision Transformer(ViT)์˜ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ณ , CNN์ด ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์  ํŠน์„ฑ ํ•™์Šต๊ณผ ์œ ์‚ฌํ•œ ํšจ๊ณผ๋ฅผ Transformer ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์—์„œ ์–ป๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Swin Transformer๋Š” ์ฃผ๋กœ Shifted Window ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ•˜๊ณ , ๊ณ„์ธต์  ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€์˜ ๋ฉ€ํ‹ฐ์Šค์ผ€์ผ ํŠน์ง•์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” Swin Transformer์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

teaser

ํŒจ์น˜ ๋ถ„ํ•  ๋ฐ ํŒจ์น˜ ์ž„๋ฒ ๋”ฉ

Swin Transformer์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ์ž‘์€ ํŒจ์น˜๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํฌ๊ธฐ: $H \times W \times 3$ (์ด๋ฏธ์ง€์˜ ๋†’์ด H, ๋„ˆ๋น„ W, ๊ทธ๋ฆฌ๊ณ  3๊ฐœ์˜ RGB ์ฑ„๋„)

  • ์ด ์ด๋ฏธ์ง€๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ $(P \times P)$์˜ ํŒจ์น˜๋กœ ๋‚˜๋ˆ„์–ด $n = \frac{H}{P} \times \frac{W}{P}$๊ฐœ์˜ ํŒจ์น˜๋กœ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ ํŒจ์น˜๋Š” ํฌ๊ธฐ $P^2 \times 3$์˜ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜๋˜๋ฉฐ, ์ด ๋ฒกํ„ฐ๋Š” ์„ ํ˜• ๋ณ€ํ™˜์„ ํ†ตํ•ด ๊ณ ์ •๋œ ์ฐจ์›์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ด ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๊ฐ€ Transformer์˜ ์ž…๋ ฅ์ด ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์€ CNN์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปจ๋ณผ๋ฃจ์…˜ ํ•„ํ„ฐ์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ด๋ฏธ์ง€์—์„œ ์ง€์—ญ์  ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๊ณ„์ธต์  ๊ตฌ์กฐ (Hierarchical Structure)

Swin Transformer๋Š” ๊ณ„์ธต์  ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์˜ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์™€ ์Šค์ผ€์ผ์—์„œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” Transformer ๋ธ”๋ก๋“ค์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์ ์šฉ๋˜๋ฉฐ, ๊ฐ ๊ณ„์ธต๋งˆ๋‹ค ์ด๋ฏธ์ง€ ํ•ด์ƒ๋„๊ฐ€ ์ ์ฐจ ์ค„์–ด๋“ค๊ณ  ํŒจ์น˜ ํฌ๊ธฐ๋Š” ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฒ˜์Œ์—๋Š” ์ž‘์€ ํŒจ์น˜์—์„œ ์ง€์—ญ์  ํŠน์ง•์„ ํ•™์Šตํ•˜๊ณ , ์ ์ฐจ์ ์œผ๋กœ ๋” ํฐ ํŒจ์น˜์—์„œ ์ „์—ญ์  ํŠน์ง•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” CNN์—์„œ์˜ ํ’€๋ง(pooling)๊ณผ ์œ ์‚ฌํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณ„์ธต์  ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 4๊ฐœ์˜ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

    1. Stage 1: ์ฒ˜์Œ ํŒจ์น˜ ๋ถ„ํ•  ํ›„ $P \times P$ ํฌ๊ธฐ์˜ ํŒจ์น˜์—์„œ ์ง€์—ญ์  ํŠน์ง•์„ ํ•™์Šต.

    2. Stage 2: ํŒจ์น˜ ํฌ๊ธฐ๋ฅผ 2๋ฐฐ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ๋” ํฐ ์˜์—ญ์—์„œ ํŠน์ง• ํ•™์Šต.

    3. Stage 3: ๋‹ค์‹œ ํŒจ์น˜ ํฌ๊ธฐ๋ฅผ 2๋ฐฐ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ๋” ์ „์—ญ์ ์ธ ํŠน์ง•์„ ํ•™์Šต.

    4. Stage 4: ์ตœ์ข…์ ์œผ๋กœ ์ „์ฒด ์ด๋ฏธ์ง€์˜ ์ „์—ญ์  ์ •๋ณด๋ฅผ ํ•™์Šต.

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

Shifted Window Self-Attention

๊ธฐ์กด Vision Transformer(ViT)์—์„œ๋Š” Self-Attention์ด ์ด๋ฏธ์ง€ ์ „์ฒด์˜ ํŒจ์น˜ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ–ˆ์ง€๋งŒ, ์ด๋Š” ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋งค์šฐ ํฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Swin Transformer๋Š” ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ Self-Attention์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ Self-Attention: Swin Transformer๋Š” ์ด๋ฏธ์ง€ ํŒจ์น˜๋ฅผ ์—ฌ๋Ÿฌ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ์œˆ๋„์šฐ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ์œˆ๋„์šฐ ์•ˆ์—์„œ Self-Attention์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์œˆ๋„์šฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ ๋น„์šฉ์ด ํฌ๊ฒŒ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

  • Shifted Window ๋ฉ”์ปค๋‹ˆ์ฆ˜: ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ๋Š” ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ Self-Attention์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์œˆ๋„์šฐ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์ œํ•œ๋œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, Swin Transformer๋Š” ์ผ์ •ํ•œ ์ฃผ๊ธฐ๋งˆ๋‹ค ์œˆ๋„์šฐ๋ฅผ ์•ฝ๊ฐ„ ์ด๋™์‹œํ‚ค๋Š” Shifted Window ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

    • ์ฒซ ๋ฒˆ์งธ Self-Attention์—์„œ๋Š” ๊ณ ์ •๋œ ์œˆ๋„์šฐ ์•ˆ์—์„œ๋งŒ ํ•™์Šตํ•˜๊ณ , ๊ทธ๋‹ค์Œ Self-Attention ๋‹จ๊ณ„์—์„œ๋Š” ์œˆ๋„์šฐ๋ฅผ ์•ฝ๊ฐ„ ์ด๋™์‹œ์ผœ์„œ ์ด์ „์— ๊ณ ๋ ค๋˜์ง€ ์•Š์€ ํŒจ์น˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

    • ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ๋ชจ๋ธ์€ ์ „์—ญ์  ๋ฌธ๋งฅ์„ ํ•™์Šตํ•˜๋ฉด์„œ๋„ ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MLP ํ—ค๋“œ (Multi-Layer Perceptron Head)

๊ฐ ์œˆ๋„์šฐ ๋‚ด์—์„œ Self-Attention์„ ์ˆ˜ํ–‰ํ•œ ํ›„, Swin Transformer๋Š” MLP ํ—ค๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ถ”๊ฐ€์ ์ธ ๋น„์„ ํ˜• ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋Š” Self-Attention์ด ํ•™์Šตํ•œ ํŒจ์น˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋” ๋ณต์žกํ•œ ํŠน์ง•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. MLP ํ—ค๋“œ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ Fully Connected ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ํŒจ์น˜์˜ ํ‘œํ˜„์„ ๋”์šฑ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค.

ํŒจ์น˜ ๋ณ‘ํ•ฉ (Patch Merging)

๊ฐ Transformer ๋ธ”๋ก์ด ์™„๋ฃŒ๋  ๋•Œ๋งˆ๋‹ค, Swin Transformer๋Š” ํŒจ์น˜ ๋ณ‘ํ•ฉ(Patch Merging) ๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด ํŒจ์น˜ ํฌ๊ธฐ๋ฅผ ์ ์ง„์ ์œผ๋กœ ํ‚ค์›๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด CNN์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ’€๋ง(pooling)๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋” ๋†’์€ ๋ ˆ๋ฒจ์˜ ํŠน์ง•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • ํŒจ์น˜ ๋ณ‘ํ•ฉ์€ ์—ฐ์†๋œ ํŒจ์น˜๋“ค์„ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋” ํฐ ํŒจ์น˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, $2 \times 2$์˜ ํŒจ์น˜๋ฅผ ํ•˜๋‚˜์˜ ํŒจ์น˜๋กœ ๋ณ‘ํ•ฉํ•˜์—ฌ, ํ•ด์ƒ๋„๋Š” ์ค„์ด๋ฉด์„œ ํŠน์ง• ๊ณต๊ฐ„์€ ๋” ๋„“๊ฒŒ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ณ‘ํ•ฉ๋œ ํŒจ์น˜๋Š” ๋‹ค์‹œ Transformer ๋ธ”๋ก์œผ๋กœ ์ „๋‹ฌ๋˜์–ด ํ•™์Šต์ด ๊ณ„์†๋ฉ๋‹ˆ๋‹ค.

๋ถ„๋ฅ˜ ๋˜๋Š” ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ํ—ค๋“œ

Swin Transformer๋Š” ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ Fully Connected Layer๋‚˜ Segmentation Head๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜, ๊ฐ์ฒด ํƒ์ง€, ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ถ„๋ฅ˜ ์ž‘์—…์—์„œ๋Š” ์ตœ์ข… ํŒจ์น˜์˜ ์ถœ๋ ฅ ๋ฒกํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ ํ—ค๋“œ์— ์ „๋‹ฌํ•˜์—ฌ ๊ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ์ž‘์—…์—์„œ๋Š” ๊ฐ ํŒจ์น˜์— ํ•ด๋‹นํ•˜๋Š” ์ถœ๋ ฅ์„ Segmentation Head์— ์ „๋‹ฌํ•˜์—ฌ ์ด๋ฏธ์ง€์˜ ๊ฐ ํ”ฝ์…€์— ๋Œ€ํ•œ ํด๋ž˜์Šค๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.

Swin Transformer์˜ ์žฅ์ 

  • ํšจ์œจ์ ์ธ ๊ณ„์‚ฐ:

    • Swin Transformer๋Š” ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ self-attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์„ ์ง€์—ญ์ ์œผ๋กœ ์ œํ•œํ•จ์œผ๋กœ์จ, ๊ธฐ์กด Vision Transformer(ViT)๋ณด๋‹ค ํ›จ์”ฌ ์ ์€ ์—ฐ์‚ฐ๋Ÿ‰์œผ๋กœ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋‚˜ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ฐ์ฒด ์ฒ˜๋ฆฌ:

    • Swin Transformer๋Š” ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋กœ ์ž‘์€ ํŒจ์น˜์—์„œ ํฐ ํŒจ์น˜๋กœ ์ ์ง„์ ์œผ๋กœ ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž‘์€ ๊ฐ์ฒด๋ถ€ํ„ฐ ํฐ ๊ฐ์ฒด๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ฐ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋งค์šฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํฌํŠธํ™€๊ณผ ๊ฐ™์ด ํฌ๊ธฐ์™€ ํ˜•ํƒœ๊ฐ€ ๋‹ค์–‘ํ•œ ์†์ƒ์„ ํƒ์ง€ํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

  • ๋กœ์ปฌ ๋ฐ ๊ธ€๋กœ๋ฒŒ ์ •๋ณด ๊ฒฐํ•ฉ:

    • Shifted Window ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์ง€์—ญ์ ์ธ ์ •๋ณด(๋กœ์ปฌ)์™€ ์ด๋ฏธ์ง€ ์ „๋ฐ˜์˜ ์ •๋ณด(๊ธ€๋กœ๋ฒŒ)๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์–ด, ๋” ์ •๋ฐ€ํ•œ ํƒ์ง€์™€ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์€ ์˜์—ญ์˜ ๊ฐ์ฒด๋ผ๋„ ์ฃผ๋ณ€ ๋งฅ๋ฝ์„ ๊ณ ๋ คํ•ด ์ •ํ™•ํ•œ ์œ„์น˜๋ฅผ ์ฐพ๋Š” ๋ฐ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ํ™•์žฅ์„ฑ:

    • Swin Transformer๋Š” ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜, ๊ฐ์ฒด ํƒ์ง€, ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋น„์ „ ์ž‘์—…์— ์ ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋™์ผํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์— ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์— ์œ ์—ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฐ ์žฅ์ ์ž…๋‹ˆ๋‹ค.

  • ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ:

    • ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€์—์„œ๋„ ๊ณ„์‚ฐ ๋ณต์žก๋„๋ฅผ ์ค„์ด๋ฉด์„œ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์–ด, ๋Œ€ํ˜• ์ด๋ฏธ์ง€์—์„œ ์„ธ๋ฐ€ํ•œ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•˜๋Š” ์ž‘์—…์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํฌํŠธํ™€ ํƒ์ง€์—์„œ ๊ณ ํ•ด์ƒ๋„ ๋„๋กœ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํŠนํžˆ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ์ •ํ™•๋„์™€ ์†๋„ ๊ท ํ˜•:

    • Swin Transformer๋Š” ๋†’์€ ์ •ํ™•๋„์™€ ํšจ์œจ์ ์ธ ์†๋„ ์‚ฌ์ด์—์„œ ๊ท ํ˜•์„ ์žก๊ณ  ์žˆ์–ด, ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์ด๋‚˜ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—๋„ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์žฅ์ ๋“ค ๋•๋ถ„์— Swin Transformer๋Š” ์ตœ์‹  ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ์ค‘์—์„œ๋„ ํŠนํžˆ ์ด๋ฏธ์ง€ ๋ถ„์„ ์ž‘์—…์—์„œ ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

Swin Transformer์˜ ๋‹จ์ 

  • ๋ณต์žกํ•œ ๊ตฌ์กฐ๋กœ ์ธํ•œ ๊ตฌํ˜„ ๋‚œ์ด๋„:

    • Swin Transformer๋Š” ๊ธฐ์กด CNN ๊ธฐ๋ฐ˜ ๋ชจ๋ธ๋ณด๋‹ค ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. Shifted Window ๋ฐ ๊ณ„์ธต์  self-attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์„ค๊ณ„์™€ ๊ตฌํ˜„ ๋ฉด์—์„œ ๋” ๋งŽ์€ ์„ธ๋ถ€์ ์ธ ์กฐ์ •์ด ํ•„์š”ํ•˜๋ฉฐ, ์ด๋ฅผ ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ด๋Ÿฌํ•œ ๋ณต์žก์„ฑ ๋•Œ๋ฌธ์— Swin Transformer๋ฅผ ์ฒ˜์Œ ๋‹ค๋ฃจ๋Š” ์—ฐ๊ตฌ์ž๋‚˜ ๊ฐœ๋ฐœ์ž๋Š” CNN ๊ธฐ๋ฐ˜ ๋ชจ๋ธ๋ณด๋‹ค ๋” ๋งŽ์€ ํ•™์Šต ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ, ๊ทธ๋ฆฌ๊ณ  ํ•˜๋“œ์›จ์–ด ์ž์›์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ›ˆ๋ จ ์‹œ๊ฐ„ ๋ฐ ์ž์› ์š”๊ตฌ๋Ÿ‰ ์ฆ๊ฐ€:

    • Transformer ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์€ CNN์— ๋น„ํ•ด ๋” ๋งŽ์€ ํ›ˆ๋ จ ์ž์›์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ๋Ÿ‰์ด ๋งค์šฐ ๋†’์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ›ˆ๋ จ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • Swin Transformer๋Š” ํšจ์œจ์„ฑ์„ ๊ฐœ์„ ํ–ˆ์ง€๋งŒ, ์—ฌ์ „ํžˆ CNN์— ๋น„ํ•ด ๋ชจ๋ธ ํฌ๊ธฐ์™€ ํ›ˆ๋ จ ์‹œ๊ฐ„ ์ธก๋ฉด์—์„œ ๋ฌด๊ฑฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์„ฑ๋Šฅ GPU๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ, ์‹ค์‹œ๊ฐ„ ์‘์šฉ์—์„œ๋Š” ์ถ”๊ฐ€์ ์ธ ์ตœ์ ํ™”๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์š”๊ตฌ๋Ÿ‰:

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

    • ์†Œ๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋Š” ๊ณผ์ ํ•ฉ(overfitting) ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ์ด ๊ฒฝ์šฐ ๋ชจ๋ธ์˜ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‹ค์‹œ๊ฐ„ ์‘์šฉ์—์„œ์˜ ์ œํ•œ:

    • Swin Transformer๋Š” CNN์— ๋น„ํ•ด ํšจ์œจ์„ฑ์ด ๊ฐœ์„ ๋˜์—ˆ์ง€๋งŒ, ์‹ค์‹œ๊ฐ„ ์‘์šฉ์—์„œ ์š”๊ตฌ๋˜๋Š” ์†๋„๋ฅผ ์ถฉ์กฑํ•˜๋Š” ๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋„๋กœ์—์„œ ํฌํŠธํ™€์„ ํƒ์ง€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋†’์€ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ, ์ถ”๊ฐ€์ ์ธ ๊ฒฝ๋Ÿ‰ํ™” ์ž‘์—…์ด๋‚˜ ์ตœ์ ํ™”๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜์˜ ํ•œ๊ณ„:

    • Swin Transformer์˜ Shifted Window ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์œˆ๋„์šฐ ๊ฐ„์˜ ์ •๋ณด๋ฅผ ์ž˜ ๊ตํ™˜ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์ง€๋งŒ, ์—ฌ์ „ํžˆ ๊ฐ ์œˆ๋„์šฐ ๋‚ด์—์„œ๋งŒ self-attention์„ ๊ณ„์‚ฐํ•œ๋‹ค๋Š” ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํฐ ๊ฐ์ฒด๋‚˜ ๋ณต์žกํ•œ ์ „์—ญ์  ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•ด์•ผ ํ•  ๋•Œ CNN์ด๋‚˜ ๋‹ค๋ฅธ Transformer ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์— ๋น„ํ•ด ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •์˜ ๋ณต์žก์„ฑ:

    • Swin Transformer๋Š” ๋‹ค์–‘ํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ(์˜ˆ: ์œˆ๋„์šฐ ํฌ๊ธฐ, ๊ณ„์ธต์˜ ๊นŠ์ด, ํ—ค๋“œ ์ˆ˜ ๋“ฑ)๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋“ค์ด ์ž‘์—…์— ๋งž๊ฒŒ ์ œ๋Œ€๋กœ ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด ๋ชจ๋ธ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹์— ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋‹จ์ ๋“ค์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Swin Transformer๋Š” ์ตœ์‹  ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์—์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ ์ ˆํ•œ ์ž์›๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ๋‹ค๋ฉด ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ๋ชจ๋ธ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌํŠธํ™€ ํƒ์ง€์—์„œ์˜ Swin Transformer ํ™œ์šฉ

ํฌํŠธํ™€ ํƒ์ง€๋Š” ์ด๋ฏธ์ง€ ๋‚ด์—์„œ ์ž‘์€ ์†์ƒ์„ ์ •ํ™•ํ•˜๊ฒŒ ํƒ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Swin Transformer๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ํฌํŠธํ™€ ํƒ์ง€์—์„œ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค:

  • ์ •๋ฐ€ํ•œ ์˜์—ญ ํƒ์ง€: ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ self-attention์„ ํ†ตํ•ด ์ž‘์€ ํŒจ์น˜ ๋‚ด์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์–ด ํฌํŠธํ™€๊ณผ ๊ฐ™์€ ์ž‘์€ ๊ฐ์ฒด๋ฅผ ์ž˜ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • ์ „์—ญ์  ๋ฌธ๋งฅ ๊ณ ๋ ค: Shifted Window๋ฅผ ํ†ตํ•ด ์ฃผ๋ณ€ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ๊ณ ๋ คํ•˜์—ฌ ํฌํŠธํ™€์˜ ์ •ํ™•ํ•œ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ณ ํšจ์œจ ์ฒ˜๋ฆฌ: ๊ณ„์‚ฐ ํšจ์œจ์ด ๋›ฐ์–ด๋‚˜ ๊ณ ํ•ด์ƒ๋„ ๋„๋กœ ์ด๋ฏธ์ง€์—์„œ๋„ ๋น ๋ฅด๊ฒŒ ํฌํŠธํ™€์„ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Swin Transformer๋Š” ์ตœ์‹  ๋น„์ „ Transformer ๋ชจ๋ธ๋กœ, ํฌํŠธํ™€ ํƒ์ง€์™€ ๊ฐ™์€ ๊ณ ์ •๋ฐ€ ์ž‘์—…์—์„œ ๋งค์šฐ ์œ ์šฉํ•œ ์„ ํƒ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์ฒด ํƒ์ง€ PyTorch ์˜ˆ์ œ

Swin Transformer๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ์ฒด ํƒ์ง€ ์ž‘์—…์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์†์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Swin Transformer๋Š” PyTorch ๊ธฐ๋ฐ˜์˜ timm(PyTorch Image Models) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๊ฐ์ฒด ํƒ์ง€ ์ž‘์—…์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” PyTorch์™€ timm์„ ์‚ฌ์šฉํ•˜์—ฌ Swin Transformer๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ๊ฐ์ฒด ํƒ์ง€ ์ž‘์—…์„ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ์˜ˆ์ œ๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

Swin Transformer๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ์ฒด ํƒ์ง€ ์˜ˆ์ œ ์ฝ”๋“œ

  1. timm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ:

    • timm์€ ๋‹ค์–‘ํ•œ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋Š” PyTorch ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. Swin Transformer๋ฅผ ํฌํ•จํ•˜์—ฌ ๋งŽ์€ ์ตœ์‹  ๋ชจ๋ธ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์œ„ ์ฝ”๋“œ์—์„œ timm.create_model์„ ํ†ตํ•ด swin_base_patch4_window7_224 ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ์ด๋Š” 224x224 ํฌ๊ธฐ์˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋œ Swin Transformer ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

  2. ์ด๋ฏธ์ง€ ์ „์ฒ˜๋ฆฌ:

    • torchvision.transforms๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ๋ชจ๋ธ์— ์ž…๋ ฅํ•˜๊ธฐ ์ „ ํ•„์š”ํ•œ ์ „์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์ด ๊ธฐ๋Œ€ํ•˜๋Š” ์ž…๋ ฅ ํฌ๊ธฐ์™€ ์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  3. ์˜ˆ์ธก ์ˆ˜ํ–‰:

    • Swin Transformer ๋ชจ๋ธ์„ ํ†ตํ•ด ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, torch.no_grad() ๋ธ”๋ก ์•ˆ์—์„œ ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•˜์—ฌ ๊ทธ๋ž˜๋””์–ธํŠธ ๊ณ„์‚ฐ์„ ๋ง‰๊ณ  ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ ๋†’์ž…๋‹ˆ๋‹ค.

  4. ์ถœ๋ ฅ:

    • ๋ชจ๋ธ์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋Š” ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๊ฐ ํด๋ž˜์Šค์˜ ์˜ˆ์ธก๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค. Swin Transformer๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๋ชจ๋ธ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ์ฒด ํƒ์ง€ ์ž‘์—…์„ ์œ„ํ•ด์„œ๋Š” ์ถ”๊ฐ€์ ์ธ ํ›„์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์ฒด ํƒ์ง€ ์ž‘์—… ํ™•์žฅ

์œ„ ์˜ˆ์ œ๋Š” ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ์ž‘์—…์— Swin Transformer๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด ํƒ์ง€ ์ž‘์—…์„ ์œ„ํ•ด Swin Transformer๋ฅผ ํ™œ์šฉํ•˜๋ ค๋ฉด Detectron2์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Detectron2๋Š” Mask R-CNN, Faster R-CNN ๋“ฑ์˜ ์ตœ์‹  ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์„ ์ง€์›ํ•˜๋ฉฐ, Swin Transformer์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ๋”์šฑ ๊ฐ•๋ ฅํ•œ ๊ฐ์ฒด ํƒ์ง€ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Detectron2์™€ Swin Transformer๋ฅผ ๊ฒฐํ•ฉํ•œ ์˜ˆ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค:

  1. Detectron2 ์„ค์น˜:

  2. Detectron2์™€ Swin Transformer ๊ฒฐํ•ฉ ์ฝ”๋“œ: Detectron2์—์„œ Swin Transformer backbone์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Detectron2์˜ ๊ธฐ๋ณธ Mask R-CNN์ด๋‚˜ Faster R-CNN์˜ backbone์„ Swin Transformer๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ํ†ตํ•ด ๊ฐ์ฒด ํƒ์ง€ ์ž‘์—…์— Swin Transformer๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CNN ๋ฐฑ๋ณธ(Backbone)์„ ๋Œ€์ฒด

Swin Transformer๋ฅผ ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์˜ CNN ๋ฐฑ๋ณธ(Backbone) ๋ถ€๋ถ„์„ ๋Œ€์ฒดํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ๋ณธ์€ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๋„คํŠธ์›Œํฌ๋กœ, ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์˜ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

๊ธฐ์กด ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์ธ Faster R-CNN์ด๋‚˜ Mask R-CNN ๋“ฑ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ResNet ๋˜๋Š” VGG์™€ ๊ฐ™์€ CNN ๊ธฐ๋ฐ˜์˜ ๋ฐฑ๋ณธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์—์„œ ํŠน์ง•์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ตœ๊ทผ Transformer ๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ๋“ค์ด ๋“ฑ์žฅํ•˜๋ฉด์„œ, CNN ๋Œ€์‹  Swin Transformer์™€ ๊ฐ™์€ Transformer ๊ธฐ๋ฐ˜ ๋ฐฑ๋ณธ์„ ์‚ฌ์šฉํ•ด ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CNN๊ณผ Swin Transformer์˜ ์ฐจ์ด์ 

  • CNN ๋ฐฑ๋ณธ:

    • CNN์€ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต์„ ํ†ตํ•ด ์ง€์—ญ์ ์ธ ํŠน์ง•์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ด๋ฏธ์ง€ ๋‚ด์˜ ์ž‘์€ ํŒจ์น˜๋“ค์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ตญ์†Œ์ ์ธ ์ •๋ณด๋ฅผ ์ž˜ ์บก์ฒ˜ํ•˜์ง€๋งŒ, ์ „์—ญ์ ์ธ ์ •๋ณด๋‚˜ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ํ”ฝ์…€๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Swin Transformer ๋ฐฑ๋ณธ:

    • Swin Transformer๋Š” self-attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์˜ ์ „์—ญ์ ์ด๊ณ  ๋ณตํ•ฉ์ ์ธ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ Swin Transformer๋Š” Shifted Window ๋ฐฉ์‹์„ ๋„์ž…ํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ์ง€์—ญ์ ์ธ ์ •๋ณด์™€ ์ „์—ญ์ ์ธ ์ •๋ณด๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    • ์ด ๋ฐฉ์‹์€ CNN์— ๋น„ํ•ด ๋” ๊ฐ•๋ ฅํ•œ ํŠน์ง• ํ‘œํ˜„์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ์ž‘์€ ๊ฐ์ฒด๋‚˜ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ๋” ์ž˜ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์–ด, ํฌํŠธํ™€ ํƒ์ง€์™€ ๊ฐ™์€ ์ž‘์—…์— ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Swin Transformer ๋ฐฑ๋ณธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์—์„œ ๋ฐฑ๋ณธ ๊ต์ฒด:

    • ๊ธฐ์กด์˜ ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์ธ Faster R-CNN์ด๋‚˜ Mask R-CNN์—์„œ ResNet๊ณผ ๊ฐ™์€ CNN ๋ฐฑ๋ณธ์„ ์ œ๊ฑฐํ•˜๊ณ , ๊ทธ ์ž๋ฆฌ์— Swin Transformer๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • Detectron2์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฑ๋ณธ ๊ต์ฒด๊ฐ€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

  2. Swin Transformer ๋ฐฑ๋ณธ ์˜ˆ์‹œ (Detectron2 ๊ธฐ๋ฐ˜): Detectron2์™€ Swin Transformer๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ๊ณผ์ •์—์„œ Swin Transformer๋ฅผ ๋ฐฑ๋ณธ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

  3. Swin Transformer ๋ฐฑ๋ณธ์˜ ์ด์ :

    • ๋” ๋ณต์žกํ•œ ๊ด€๊ณ„ ํ•™์Šต: Swin Transformer๋Š” ์ด๋ฏธ์ง€์˜ ๋” ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋„๋กœ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์™€ ํ˜•ํƒœ์˜ ํฌํŠธํ™€์„ ํƒ์ง€ํ•˜๋Š” ๋ฐ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

    • ์ „์—ญ์  ๋ฌธ๋งฅ ์ •๋ณด: CNN๊ณผ ๋‹ฌ๋ฆฌ self-attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ „์—ญ์ ์ธ ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ํ•™์Šตํ•˜๋Š” ๋ฐ ๊ฐ•์ ์ด ์žˆ์–ด, ํฌํŠธํ™€ ์ฃผ๋ณ€์˜ ํ™˜๊ฒฝ๊นŒ์ง€ ๊ณ ๋ คํ•œ ํƒ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    • ํ™•์žฅ์„ฑ: Swin Transformer๋Š” ๋‹ค์–‘ํ•œ ๋น„์ „ ์ž‘์—…์— ์ ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ์ฒด ํƒ์ง€๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์ด๋‚˜ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ์ž‘์—…์—์„œ๋„ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

Swin Transformer๋ฅผ CNN ๋ฐฑ๋ณธ ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ์กด ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. Detectron2์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Swin Transformer๋ฅผ ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํฌํŠธํ™€ ํƒ์ง€์™€ ๊ฐ™์€ ์ž‘์—…์—์„œ ๋” ๋†’์€ ์ •ํ™•๋„์™€ ์„ฑ๋Šฅ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์š”๊ตฌ ์ž์›

Swin Transformer๋Š” ๊ธฐ์กด CNN ๋ฐฑ๋ณธ์— ๋น„ํ•ด ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ ์ž์›์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ self-attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋งŽ์€ ๊ณ„์‚ฐ์„ ์š”๊ตฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Swin Transformer์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๊ณ„์‚ฐ ์ž์› ์š”๊ตฌ ์‚ฌํ•ญ์€ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์˜ ํฌ๊ธฐ์™€ ์ด๋ฏธ์ง€์˜ ํ•ด์ƒ๋„์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

Swin Transformer ๋ชจ๋ธ์˜ ํฌ๊ธฐ ๋ฐ ์ž์› ์š”๊ตฌ

Swin Transformer๋Š” Tiny, Small, Base, Large ๋“ฑ ์—ฌ๋Ÿฌ ๋ฒ„์ „์ด ์žˆ์œผ๋ฉฐ, ๊ฐ ๋ฒ„์ „์€ ๋‹ค๋ฅธ ์ž์› ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” Swin Transformer์˜ ๊ฐ ๋ชจ๋ธ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๊ณ„์‚ฐ ์ž์› ์š”๊ตฌ ์‚ฌํ•ญ์˜ ๋Œ€๋žต์ ์ธ ๋น„๊ต์ž…๋‹ˆ๋‹ค.

๋ชจ๋ธ ๋ฒ„์ „
์ž…๋ ฅ ํฌ๊ธฐ
ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜
FLOPs (Floating Point Operations)
VRAM ์š”๊ตฌ ์‚ฌํ•ญ (๋Œ€๋žต)

Swin-Tiny (Swin-T)

224x224

28M

4.5 GFLOPs

์•ฝ 4~6 GB

Swin-Small (Swin-S)

224x224

50M

8.7 GFLOPs

์•ฝ 8~10 GB

Swin-Base (Swin-B)

224x224

88M

15.4 GFLOPs

์•ฝ 10~12 GB

Swin-Large (Swin-L)

224x224

197M

34.5 GFLOPs

์•ฝ 16~20 GB

์ž์› ์š”๊ตฌ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์š”์†Œ

  1. ๋ชจ๋ธ ํฌ๊ธฐ:

    • Swin Transformer๋Š” ์—ฌ๋Ÿฌ ํฌ๊ธฐ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. Swin-Tiny์™€ Swin-Small์€ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ€๋ฒผ์šด ๋ฒ„์ „์œผ๋กœ, ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ ์ž์›์ด ๋น„๊ต์  ์ ๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    • ๋ฐ˜๋ฉด, Swin-Base๋‚˜ Swin-Large๋Š” ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ ์ž์›์„ ํ•„์š”๋กœ ํ•˜์ง€๋งŒ, ๋” ๋†’์€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ํ•ด์ƒ๋„:

    • ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ํ•ด์ƒ๋„๊ฐ€ ๋†’์„์ˆ˜๋ก self-attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ํŒจ์น˜ ์ˆ˜๊ฐ€ ๋งŽ์•„์ ธ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ ์ž์› ์š”๊ตฌ๋Ÿ‰์ด ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 224x224 ํ•ด์ƒ๋„๋ณด๋‹ค ๋” ํฐ ํ•ด์ƒ๋„์˜ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ, VRAM ์‚ฌ์šฉ๋Ÿ‰์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    • Swin Transformer์˜ ๊ฒฝ์šฐ ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜์˜ attention์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ํ•ด์ƒ๋„๊ฐ€ ํด์ˆ˜๋ก ์œˆ๋„์šฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•ด ์—ฐ์‚ฐ๋Ÿ‰์ด ์ปค์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  3. Batch Size:

    • ๋ฐฐ์น˜ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ๋” ๋งŽ์€ ์ด๋ฏธ์ง€๊ฐ€ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ, ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ˜• ๋ฐฐ์น˜ ํฌ๊ธฐ๋กœ ํ•™์Šตํ•˜๋ ค๋ฉด GPU VRAM ์šฉ๋Ÿ‰์ด ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  4. GPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ ์‚ฌํ•ญ:

    • Swin Transformer๋Š” ์—ฐ์‚ฐ๋Ÿ‰์ด ๋งŽ์•„ ๊ณ ์„ฑ๋Šฅ GPU๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, NVIDIA RTX 3090๊ณผ ๊ฐ™์€ ๊ณ ์šฉ๋Ÿ‰ VRAM์„ ๊ฐ€์ง„ GPU๊ฐ€ Swin-Base ์ด์ƒ์˜ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

    • ํ•™์Šต์— ํ•„์š”ํ•œ VRAM ์š”๊ตฌ๋Ÿ‰์€ ๋ฐ์ดํ„ฐ์˜ ํ•ด์ƒ๋„, ๋ฐฐ์น˜ ํฌ๊ธฐ, ๋ชจ๋ธ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋˜๋ฉฐ, ๋Œ€๋žต์ ์œผ๋กœ 8GB ์ด์ƒ์˜ GPU ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ๋” ํฐ ๋ชจ๋ธ์ด๋‚˜ ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ 16GB ์ด์ƒ์˜ VRAM์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ์ถ”๋ก  ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ ์‚ฌํ•ญ:

    • ํ•™์Šต ๋‹จ๊ณ„์—์„œ๋Š” ๋งŽ์€ ์—ฐ์‚ฐ ์ž์›์ด ํ•„์š”ํ•˜์ง€๋งŒ, ์ถ”๋ก  ๋‹จ๊ณ„์—์„œ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ ์ถ”๋ก  ์‹œ์—๋„ ์ถฉ๋ถ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ: Swin-Base๋ฅผ ์ด์šฉํ•œ ๊ฐ์ฒด ํƒ์ง€

  • FLOPs: ์•ฝ 15.4 GFLOPs

  • VRAM: ์•ฝ 10~12 GB (224x224 ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€ ์ž…๋ ฅ ์‹œ)

  • ํ•™์Šต ์‹œ๊ฐ„: ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€ ๋ฐ ๋Œ€ํ˜• ๋ฐฐ์น˜ ํฌ๊ธฐ์˜ ๊ฒฝ์šฐ NVIDIA RTX 3090 ๋˜๋Š” A100๊ณผ ๊ฐ™์€ GPU๊ฐ€ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

์ž์› ์ตœ์ ํ™” ๋ฐฉ๋ฒ•

  1. Mixed Precision Training:

    • FP16(Half-precision)์„ ์‚ฌ์šฉํ•˜๋Š” ํ˜ผํ•ฉ ์ •๋ฐ€๋„ ํ•™์Šต์„ ๋„์ž…ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ , ์—ฐ์‚ฐ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PyTorch์—์„œ๋Š” Apex์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ mixed precision์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. Gradient Checkpointing:

    • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด gradient checkpointing ๊ธฐ๋ฒ•์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ถ€ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•จ์œผ๋กœ์จ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  3. ์œˆ๋„์šฐ ํฌ๊ธฐ ์ตœ์ ํ™”:

    • Swin Transformer๋Š” ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ attention์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ์œˆ๋„์šฐ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์™€ ์„ฑ๋Šฅ์˜ ๊ท ํ˜•์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Swin Transformer๋Š” ๊ธฐ์กด CNN ๋ฐฑ๋ณธ๋ณด๋‹ค ๋” ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ ์ž์›์„ ์š”๊ตฌํ•˜์ง€๋งŒ, self-attention์˜ ์ด์ ์„ ํ†ตํ•ด ๋” ์ •ํ™•ํ•˜๊ณ  ์„ธ๋ฐ€ํ•œ ํŠน์ง•์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ํฌ๊ธฐ, ์ด๋ฏธ์ง€ ํ•ด์ƒ๋„, ๋ฐฐ์น˜ ํฌ๊ธฐ ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ž์›์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋ฉฐ, ๊ณ ์„ฑ๋Šฅ GPU๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋„ ๋งŽ์Šต๋‹ˆ๋‹ค.

Last updated