AI Speak and write (4)

SONยท2026๋…„ 1์›” 16์ผ

์ข‹์•„. ์ด์ œ ๐Ÿ”ฅ ViT + LoRA / Adapter ๋ฐฉ์‹์„
์™œ ํ•„์š”ํ•œ์ง€ โ†’ ๊ฐœ๋… โ†’ LoRA vs Adapter ์ฐจ์ด โ†’ ์ฝ”๋“œ โ†’ ์–ธ์ œ ๋ฌด์—‡์„ ์“ฐ๋Š”์ง€ ์ˆœ์„œ๋กœ ์™„์ „ํžˆ ์ดํ•ด๋˜๊ฒŒ ์„ค๋ช…ํ• ๊ฒŒ.


1๏ธโƒฃ ์™œ ViT์—์„œ LoRA / Adapter๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋๋‚˜?

์•ž์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๋ณธ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ฉด:

  • ViT๋Š”

    • ์ „์—ญ self-attention ๊ตฌ์กฐ
    • learning rate์— ๋ฏผ๊ฐ
    • ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ ํผ
  • ๊ทธ๋ž˜์„œ

    • full fine-tuning โ†’ ๋ถˆ์•ˆ์ • + ๋น„์šฉ ํผ
    • partial fine-tuning โ†’ ๊ทธ๋ž˜๋„ backbone์„ ๊ฑด๋“œ๋ฆผ

๐Ÿ‘‰ โ€œ์„ฑ๋Šฅ์€ ์œ ์ง€ํ•˜๋ฉด์„œ backbone์€ ๊ฑฐ์˜ ์•ˆ ๊ฑด๋“œ๋ฆด ์ˆ˜ ์—†์„๊นŒ?โ€
โ†’ ๊ทธ ํ•ด๋‹ต์ด LoRA / Adapter


2๏ธโƒฃ ํ•ต์‹ฌ ์•„์ด๋””์–ด (์•„์ฃผ ์ค‘์š”)

Backbone ๊ฐ€์ค‘์น˜๋Š” ๊ณ ์ •ํ•˜๊ณ ,
์•„์ฃผ ์ž‘์€ โ€˜์ถ”๊ฐ€ ๋ชจ๋“ˆโ€™๋งŒ ํ•™์Šตํ•œ๋‹ค

์ฆ‰,

โ„๏ธ ViT pretrained weights (freeze)
โž• ๐Ÿ”ฅ ์ž‘์€ ํ•™์Šต์šฉ ๋ชจ๋“ˆ (LoRA / Adapter)

์ด๋ ‡๊ฒŒ ํ•ด์„œ:

  • ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ โ†“
  • ๋ฉ”๋ชจ๋ฆฌ โ†“
  • ์•ˆ์ •์„ฑ โ†‘
  • ViT์— ํŠนํžˆ ์ž˜ ๋งž์Œ

3๏ธโƒฃ LoRA vs Adapter ์ง๊ด€ ๋น„๊ต

๊ตฌ๋ถ„LoRAAdapter
์•„์ด๋””์–ด๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ €๋žญํฌ ํ–‰๋ ฌ๋กœ ๊ทผ์‚ฌ์ž‘์€ FFN์„ ์ค‘๊ฐ„์— ์‚ฝ์ž…
backbone์™„์ „ freeze์™„์ „ freeze
์ถ”๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋งค์šฐ ์ ์Œ์ ์Œ
ViT ์ ํ•ฉ์„ฑโญโญโญโญโญโญโญโญโญ
์‹ค๋ฌด/LLM๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

๐Ÿ‘‰ ์š”์ฆ˜ ํŠธ๋ Œ๋“œ๋Š” LoRA, ํŠนํžˆ ViT/LLM์—์„œ


4๏ธโƒฃ LoRA๋ฅผ ์•„์ฃผ ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด

์›๋ž˜ weight ์—…๋ฐ์ดํŠธ:

W โ† W + ฮ”W

LoRA๋Š”:

ฮ”W โ‰ˆ A ยท B   (A,B๋Š” ์•„์ฃผ ์ž‘์€ ํ–‰๋ ฌ)

๊ทธ๋ž˜์„œ:

  • ํฐ W๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ 
  • ์ž‘์€ A,B๋งŒ ํ•™์Šต

๐Ÿ“Œ โ€œํฐ ๋ชจ๋ธ์„ ์ž‘์€ ์†์žก์ด๋กœ ์กฐ์ •ํ•˜๋Š” ๋А๋‚Œโ€


5๏ธโƒฃ ViT์—์„œ LoRA๋Š” ์–ด๋””์— ๋ถ™์ด๋ƒ?

๋ณดํ†ต Self-Attention์˜ Q, K, V projection์— ๋ถ™์ž„

ViT ๋ธ”๋ก ์ผ๋ถ€:

x โ†’ Linear(Q) โ†’ 
x โ†’ Linear(K) โ†’  Attention โ†’ output
x โ†’ Linear(V) โ†’

๐Ÿ‘‰ ์ด Linear(Q/K/V)์— LoRA๋ฅผ ์ถ”๊ฐ€


6๏ธโƒฃ ViT + LoRA ๊ตฌ์กฐ ๊ทธ๋ฆผ (๊ฐœ๋…)

Frozen ViT Block
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Linear(Q) + LoRA(Q) ๐Ÿ”ฅ  โ”‚
โ”‚  Linear(K) + LoRA(K) ๐Ÿ”ฅ  โ”‚
โ”‚  Linear(V) + LoRA(V) ๐Ÿ”ฅ  โ”‚
โ”‚        Attention         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  • ๊ธฐ์กด Linear: โ„๏ธ
  • LoRA ํŒŒ๋ผ๋ฏธํ„ฐ: ๐Ÿ”ฅ

7๏ธโƒฃ ์‹ค์ œ ์ฝ”๋“œ (๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ๋ฐฉ์‹)

์•„๋ž˜๋Š” PEFT ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ด ์‹ค์ „ ์ฝ”๋“œ ์˜ˆ์‹œ
(์—ฐ๊ตฌ/์‹ค๋ฌด ํ‘œ์ค€์— ๊ฐ€๊นŒ์›€)

1) ์„ค์น˜

pip install peft transformers timm

2) ViT + LoRA ์ ์šฉ

import torch
from transformers import ViTForImageClassification
from peft import LoraConfig, get_peft_model

model = ViTForImageClassification.from_pretrained(
    "google/vit-base-patch16-224",
    num_labels=5
)

# LoRA ์„ค์ •
lora_config = LoraConfig(
    r=8,                      # rank (์ž‘์„์ˆ˜๋ก ํŒŒ๋ผ๋ฏธํ„ฐ ์ ์Œ)
    lora_alpha=16,
    target_modules=["query", "key", "value"],  # attention QKV
    lora_dropout=0.1,
    bias="none"
)

model = get_peft_model(model, lora_config)

# ํ•™์Šต ํŒŒ๋ผ๋ฏธํ„ฐ ํ™•์ธ
model.print_trainable_parameters()

์ถœ๋ ฅ ์˜ˆ:

trainable params: 147,456
all params: 86,567,424
trainable%: 0.17%

๐Ÿ‘‰ ์ „์ฒด์˜ 0.1%๋งŒ ํ•™์Šต


8๏ธโƒฃ Adapter ๋ฐฉ์‹์€ ๋ญ๊ฐ€ ๋‹ค๋ฅด๋ƒ?

Adapter๋Š” ๋ธ”๋ก ์ค‘๊ฐ„์— ์ž‘์€ bottleneck FFN์„ ๋ผ์›Œ ๋„ฃ์Œ:

x โ†’ Transformer Block โ†’ Adapter โ†’ x

Adapter ๊ตฌ์กฐ

Linear(d โ†’ d/4)
ReLU
Linear(d/4 โ†’ d)
  • ์ง๊ด€์ 
  • ํ•ด์„ ์‰ฌ์›€
  • LoRA๋ณด๋‹ค ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์•ฝ๊ฐ„ ๋งŽ์Œ

์š”์ฆ˜์€:

  • LoRA = ๊ธฐ๋ณธ
  • Adapter = ์—ฐ๊ตฌ/ํ•ด์„ ์ค‘์‹ฌ

9๏ธโƒฃ Partial fine-tuning vs LoRA vs Adapter

๋ฐฉ์‹backbone ์ˆ˜์ •์•ˆ์ •์„ฑํŒŒ๋ผ๋ฏธํ„ฐViT ์ ํ•ฉ
Partial (last blocks)์ผ๋ถ€โญโญโญ์ค‘๊ฐ„โญโญโญโญ
Adapter์—†์Œโญโญโญโญ์ ์Œโญโญโญโญ
LoRA์—†์Œโญโญโญโญโญ๋งค์šฐ ์ ์Œโญโญโญโญโญ

๐Ÿ”Ÿ ์–ธ์ œ LoRA๋ฅผ ์จ์•ผ ํ•˜๋‚˜?

โœ… ๋ฐ์ดํ„ฐ ์ ์Œ
โœ… GPU ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ
โœ… ViT / LLM
โœ… ์—ฌ๋Ÿฌ ํƒœ์Šคํฌ์— ๋น ๋ฅด๊ฒŒ ์ ์‘
โœ… backbone์€ โ€œ๊ฑด๋“œ๋ฆฌ๋ฉด ์•ˆ ๋˜๋Š” ์ž์‚ฐโ€

๐Ÿ‘‰ ์š”์ฆ˜ ์‹ค๋ฌด/๋Œ€ํšŒ/๋…ผ๋ฌธ์—์„œ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์„ ํƒ์ง€


1๏ธโƒฃ1๏ธโƒฃ ํ•œ ๋ฌธ์žฅ ๋ฐœํ‘œ์šฉ ์ •๋ฆฌ

โ€œViT์—์„œ LoRA๋Š” self-attention ๊ฐ€์ค‘์น˜๋ฅผ ์ €๋žญํฌ ํ–‰๋ ฌ๋กœ ๊ทผ์‚ฌํ•ด backbone์„ ๊ณ ์ •ํ•œ ์ฑ„ ์†Œ๋Ÿ‰์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ํ•™์Šตํ•จ์œผ๋กœ์จ, ์•ˆ์ •์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋™์‹œ์— ํ™•๋ณดํ•˜๋Š” ์ „์ดํ•™์Šต ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.โ€


์•„์ฃผ ์ค‘์š”ํ•œ ์งˆ๋ฌธ์ด์•ผ.
์ด๊ฑด โ€œ๋ชจ๋ธ ์„ ํƒ ๊ธฐ์ค€โ€์„ ํ•œ ๋‹จ๊ณ„ ๋Œ์–ด์˜ฌ๋ ค ์ฃผ๋Š” ํ•ต์‹ฌ ๊ฐœ๋…์ด์•ผ.


๐Ÿ”ฅ CNN์€ ๋˜๋Š”๋ฐ ViT๋Š” ์•ˆ ๋˜๋Š” ๋ฐ์ดํ„ฐ์…‹์˜ ํŠน์ง•

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ๐Ÿ‘‡

ViT๋Š” โ€œ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ๊ตฌ์กฐ๋ฅผ ์Šค์Šค๋กœ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ๋ชจ๋ธโ€์ด๊ณ ,
CNN์€ โ€œ๊ตฌ์กฐ์  ํŽธํ–ฅ(inductive bias)์„ ์ด๋ฏธ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ชจ๋ธโ€์ด๊ธฐ ๋•Œ๋ฌธ
์ด์•ผ.

๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ์…‹์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ์„ฑํŒจ๊ฐ€ ๊ฐˆ๋ ค.

์•„๋ž˜ 3๊ฐ€์ง€ ํŠน์ง•์ด ์žˆ์œผ๋ฉด
๐Ÿ‘‰ CNN์€ ์ž˜ ๋˜๋Š”๋ฐ ViT๋Š” ํž˜๋“ค์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„.


1๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ˆ˜๊ฐ€ ์ ๊ณ  ๋‹ค์–‘์„ฑ์ด ๋‚ฎ๋‹ค

์™œ CNN์€ ๋˜๋Š”๋ฐ ViT๋Š” ์•ˆ ๋ ๊นŒ?

CNN

  • ๊ตญ์†Œ์„ฑ(locality), ์ด๋™ ๋ถˆ๋ณ€์„ฑ(translation invariance)์ด ๊ตฌ์กฐ์ ์œผ๋กœ ๋‚ด์žฅ

  • ์ ์€ ๋ฐ์ดํ„ฐ์—์„œ๋„:

    • ์—ฃ์ง€
    • ์งˆ๊ฐ
    • ํŒจํ„ด
      ์„ ๋น„๊ต์  ์•ˆ์ •์ ์œผ๋กœ ํ•™์Šต

ViT

  • ์ด๋Ÿฐ ํŽธํ–ฅ์ด ๊ฑฐ์˜ ์—†์Œ

  • ํŒจ์น˜ ๊ฐ„ ๊ด€๊ณ„, ์ „์—ญ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ์ง์ ‘ ํ•™์Šต

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์œผ๋ฉด:

    • attention์ด ๋ถˆ์•ˆ์ •
    • ์˜๋ฏธ ์—†๋Š” ํŒจ์น˜ ๊ด€๊ณ„ ํ•™์Šต
    • ๊ณผ์ ํ•ฉ or underfitting

๐Ÿ“Œ ViT๋Š” โ€œ๋งŽ์ด ๋ณด๊ณ  ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ํ•™์ƒโ€


๋Œ€ํ‘œ์ ์ธ ์˜ˆ

  • ์˜๋ฃŒ ์˜์ƒ (ํ™˜์ž ์ˆ˜ ์ ์Œ)
  • ์‚ฐ์—… ๊ฒฐํ•จ ์ด๋ฏธ์ง€ (์ˆ˜๋ฐฑ~์ˆ˜์ฒœ ์žฅ)
  • ์—ฐ๊ตฌ์‹ค ๋ฐ์ดํ„ฐ์…‹
  • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ๋ฐ์ดํ„ฐ

๐Ÿ‘‰ ์ด๋Ÿฐ ๊ฒฝ์šฐ CNN์ด ์••์Šน


2๏ธโƒฃ โ€œ๋กœ์ปฌ ํŒจํ„ดโ€์ด ํ•ต์‹ฌ์ธ ๋ฐ์ดํ„ฐ์…‹

ํ•ต์‹ฌ ์งˆ๋ฌธ

โ€œ์ด ๋ฌธ์ œ๋Š” ์ž‘์€ ๊ตญ์†Œ ํŒจํ„ด๋งŒ ์ž˜ ์žก์•„๋„ ๋˜๋Š”๊ฐ€?โ€

YES๋ผ๋ฉด โ†’ CNN์ด ์œ ๋ฆฌ


CNN์ด ๊ฐ•ํ•œ ์ด์œ 

  • ์ž‘์€ convolution ํ•„ํ„ฐ
  • ๊ตญ์†Œ receptive field
  • ๋ฏธ์„ธ ํŒจํ„ด์— ๊ฐ•ํ•จ

ViT๊ฐ€ ์•ฝํ•œ ์ด์œ 

  • ํŒจ์น˜ ๋‹จ์œ„(์˜ˆ: 16ร—16)
  • ํŒจ์น˜ ๋‚ด๋ถ€์˜ ๋ฏธ์„ธ ๊ตฌ์กฐ๋ฅผ ํ•œ ๋ฒˆ์— ์••์ถ•
  • ์•„์ฃผ ์ž‘์€ ๊ฒฐํ•จ/ํŒจํ„ด์„ ๋†“์น˜๊ธฐ ์‰ฌ์›€

๋Œ€ํ‘œ์ ์ธ ์˜ˆ

  • ํ‘œ๋ฉด ๊ฒฐํ•จ ๊ฒ€์‚ฌ (์Šคํฌ๋ž˜์น˜, ํฌ๋ž™)
  • X-ray ๊ฒฐํ•จ
  • ์„ฌ์œ /๊ธˆ์† ํ…์Šค์ฒ˜ ๋ถ„๋ฅ˜
  • ์œ„์„ฑ ์˜์ƒ์˜ ์ž‘์€ ๊ฐ์ฒด

๐Ÿ‘‰ โ€œ๋ฏธ์„ธํ•œ ์ฐจ์ดโ€๊ฐ€ ์ค‘์š”ํ• ์ˆ˜๋ก CNN ์œ ๋ฆฌ


3๏ธโƒฃ ์œ„์น˜ ์ •๋ณด๊ฐ€ ๊ฐ•ํ•˜๊ฒŒ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ

CNN

  • ์œ„์น˜ ์ •๋ณด๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์œ ์ง€
  • ํ•„ํ„ฐ๊ฐ€ ์œ„์น˜ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™

ViT

  • ํŒจ์น˜๋ฅผ ํ† ํฐ์œผ๋กœ ์ฒ˜๋ฆฌ

  • ์œ„์น˜ ์ •๋ณด๋Š” positional embedding์— ์˜์กด

  • ์ด๊ฒŒ ์ถฉ๋ถ„ํžˆ ํ•™์Šต๋˜์ง€ ์•Š์œผ๋ฉด:

    • โ€œ์–ด๋””์— ์žˆ๋Š”์ง€โ€๋ณด๋‹ค โ€œ๋ฌด์—‡์ธ์ง€โ€๋งŒ ๋ณด๊ฒŒ ๋จ

๋Œ€ํ‘œ์ ์ธ ์˜ˆ

  • OCR / ๋ฌธ์„œ ๋ ˆ์ด์•„์›ƒ
  • ํšŒ๋กœ ๊ธฐํŒ ๊ฒ€์‚ฌ
  • ์˜๋ฃŒ ์˜์ƒ์—์„œ ๋ณ‘๋ณ€ ์œ„์น˜๊ฐ€ ์ค‘์š”
  • ๊ตํ†ต/์ฐจ์„  ์ธ์‹

๐Ÿ‘‰ โ€œ์–ด๋””์— ์žˆ๋А๋ƒโ€๊ฐ€ ์ค‘์š”ํ•˜๋ฉด CNN์ด ๋” ์•ˆ์ •์ 


๐Ÿ” ์š”์•ฝ ํ‘œ (์ด๊ฑฐ ์™ธ์›Œ๋„ ๋จ)

๋ฐ์ดํ„ฐ ํŠน์ง•CNNViT
๋ฐ์ดํ„ฐ ์ ์Œ๐Ÿ‘๐Ÿ‘Ž
๋กœ์ปฌ ํŒจํ„ด ์ค‘์š”๐Ÿ‘๐Ÿ‘Ž
์œ„์น˜ ์ •๋ณด ์ค‘์š”๐Ÿ‘๐Ÿ‘Ž
๋ฐ์ดํ„ฐ ํผ๐Ÿ‘๐Ÿ‘๐Ÿ‘
์ „์—ญ ๊ด€๊ณ„ ์ค‘์š”๐Ÿ‘Ž๐Ÿ‘๐Ÿ‘

๐Ÿง  ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌ

CNN์€ ๊ตฌ์กฐ์  ํŽธํ–ฅ ๋•๋ถ„์— ์ ์€ ๋ฐ์ดํ„ฐยท๊ตญ์†Œ ํŒจํ„ดยท์œ„์น˜ ๋ฏผ๊ฐ ๋ฌธ์ œ์— ๊ฐ•ํ•˜๊ณ ,
ViT๋Š” ์ถฉ๋ถ„ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ ์ „์—ญ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜๋Š” ๋ฐ ๊ฐ•ํ•˜๋‹ค.


๐ŸŽค ๋ฐœํ‘œ/๋ฉด์ ‘์šฉ ํ•œ ๋ฌธ์žฅ

โ€œ๋ฐ์ดํ„ฐ ์ˆ˜๊ฐ€ ์ ๊ฑฐ๋‚˜ ๋กœ์ปฌ ํŒจํ„ด๊ณผ ์œ„์น˜ ์ •๋ณด๊ฐ€ ์ค‘์š”ํ•œ ๋ฌธ์ œ์—์„œ๋Š” CNN์ด ๋” ์•ˆ์ •์ ์ด๋ฉฐ, ViT๋Š” ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ์  ํŽธํ–ฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ถฉ๋ถ„ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.โ€

์•„์ฃผ ์ข‹์€ ๋งˆ๋ฌด๋ฆฌ ์งˆ๋ฌธ์ด์•ผ.
์ด์ œ โ€œ์–ธ์ œ ViT๋ฅผ ์จ์•ผ ํ•˜๋Š”๊ฐ€โ€๊ฐ€ ๋”ฑ ์ •๋ฆฌ๋œ๋‹ค.


๐Ÿ”ฅ ViT๊ฐ€ CNN์„ ์ด๊ธฐ๋Š” ๋ฐ์ดํ„ฐ์…‹์€ ์–ธ์ œ์ธ๊ฐ€?

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ๐Ÿ‘‡

๋ฐ์ดํ„ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ํฌ๊ณ ,
์ „์—ญ์ ์ธ ๊ด€๊ณ„ยท๊ตฌ์กฐยท๋งฅ๋ฝ์ด ์ค‘์š”ํ•  ๋•Œ
ViT๋Š” CNN์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ด๊ธด๋‹ค.

์•„๋ž˜ 5๊ฐ€์ง€ ์กฐ๊ฑด ์ค‘ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋™์‹œ์— ๋งŒ์กฑ๋˜๋ฉด
๐Ÿ‘‰ ViT๊ฐ€ CNN๋ณด๋‹ค ์œ ๋ฆฌํ•ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.


1๏ธโƒฃ ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ๊ฐ€ ํฌ๊ณ  ๋‹ค์–‘ํ•˜๋‹ค (๊ฐ€์žฅ ์ค‘์š”)

๊ธฐ์ค€ ๊ฐ๊ฐ

  • ์ˆ˜๋งŒ ์žฅ ์ด์ƒ โ†’ ViT ๊ฐ€๋Šฅ์„ฑ ์ƒ๊น€
  • ์ˆ˜์‹ญ๋งŒ ~ ์ˆ˜๋ฐฑ๋งŒ ์žฅ โ†’ ViT ๋งค์šฐ ๊ฐ•ํ•จ

์ด์œ 

  • ViT๋Š” inductive bias๊ฐ€ ์•ฝํ•ด์„œ
  • โ€œํŒจ์น˜ ๊ด€๊ณ„ + ์ „์—ญ ๊ตฌ์กฐโ€๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต
  • ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ํ‘œํ˜„๋ ฅ์ด ํญ๋ฐœ

๐Ÿ“Œ ImageNet-21k, JFT-300M์—์„œ ViT๊ฐ€ CNN์„ ์••๋„ํ•œ ์ด์œ 


2๏ธโƒฃ ์ „์—ญ ๊ด€๊ณ„(Global context)๊ฐ€ ์„ฑ๋Šฅ์„ ์ขŒ์šฐํ•œ๋‹ค

CNN์˜ ํ•œ๊ณ„

  • ๊นŠ์–ด์ ธ๋„ ๊ธฐ๋ณธ์€ ๊ตญ์†Œ์  ๋ˆ„์ 
  • ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๊ด€๊ณ„๋ฅผ ์žก์œผ๋ ค๋ฉด ๋งŽ์€ ์ธต ํ•„์š”

ViT์˜ ๊ฐ•์ 

  • self-attention์œผ๋กœ ํ•œ ๋ฒˆ์— ์ „์—ญ ๊ด€๊ณ„
  • ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ํŒจ์น˜๋„ ์ง์ ‘ ์—ฐ๊ฒฐ

๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐ

  • ์žฅ๋ฉด ๋ถ„๋ฅ˜ (scene classification)
  • ์œ„์„ฑ/ํ•ญ๊ณต ์˜์ƒ (๋„“์€ ์˜์—ญ์˜ ๊ด€๊ณ„)
  • ๊ตฐ์ค‘ ๋ถ„์„
  • ์˜ˆ์ˆ /์Šคํƒ€์ผ ๋ถ„๋ฅ˜

๐Ÿ‘‰ โ€œ์ „์ฒด ๊ตฌ์„ฑ์ด ์˜๋ฏธ๋ฅผ ๋งŒ๋“ ๋‹คโ€ โ†’ ViT


3๏ธโƒฃ ๊ฐ์ฒด์˜ ์œ„์น˜ยท์Šค์ผ€์ผ ๋ณ€ํ™”๊ฐ€ ๋งค์šฐ ํฌ๋‹ค

CNN

  • local filter + pooling
  • ํฐ ์Šค์ผ€์ผ ๋ณ€ํ™”์—” ๋ถˆ๋ฆฌ

ViT

  • ํŒจ์น˜ ๊ฐ„ ๊ด€๊ณ„๋กœ ์Šค์ผ€์ผ ๋ณ€ํ™”์— ์œ ์—ฐ
  • attention์ด ์ค‘์š”ํ•œ ์˜์—ญ์— ์ž๋™ ์ง‘์ค‘

์˜ˆ์‹œ

  • ๋“œ๋ก  ์˜์ƒ
  • ์ž์—ฐ ์ด๋ฏธ์ง€ (์•ผ์ƒ๋™๋ฌผ, ์Šคํฌ์ธ )
  • ๋‹ค์–‘ํ•œ ๊ฑฐ๋ฆฌ/๊ฐ๋„์˜ ๊ฐ์ฒด

๐Ÿ‘‰ โ€œ์ด๊ฒŒ ์–ด๋””์— ์–ผ๋งˆ๋‚˜ ํฌ๊ฒŒ ์žˆ๋“  ์ƒ๊ด€์—†๋‹คโ€ โ†’ ViT


4๏ธโƒฃ ํƒœ์Šคํฌ๊ฐ€ โ€œ๋ถ€๋ถ„์˜ ํ•ฉโ€์ด ์•„๋‹ˆ๋ผ โ€œ๊ด€๊ณ„์˜ ๋ฌธ์ œโ€๋‹ค

CNN

  • ๋ถ€๋ถ„ โ†’ ๋ˆ„์  โ†’ ์ „์ฒด
  • ๊ด€๊ณ„๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ํ•™์Šต

ViT

  • ๊ด€๊ณ„ ์ž์ฒด๋ฅผ ์ง์ ‘ ๋ชจ๋ธ๋ง

๋Œ€ํ‘œ์ ์ธ ์˜ˆ

  • ์‚ฌ๋žŒโ€“์‚ฌ๋žŒ ์ƒํ˜ธ์ž‘์šฉ ์ธ์‹
  • ๊ฐ์ฒด ๊ฐ„ ๊ด€๊ณ„ ๋ถ„๋ฅ˜
  • ๋ณตํ•ฉ ์žฅ๋ฉด ์ดํ•ด (์˜ˆ: โ€œ์‚ฌ๋žŒ์ด ์ž์ „๊ฑฐ๋ฅผ ํƒ€๊ณ  ์žˆ๋‹คโ€)

๐Ÿ‘‰ ๊ด€๊ณ„๊ฐ€ ํ•ต์‹ฌ์ด๋ฉด ViT


5๏ธโƒฃ ์‚ฌ์ „ํ•™์Šต(pretraining)์˜ ์ด์ ์„ ํฌ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

ViT์˜ ๊ฐ•์ 

  • ๋Œ€๊ทœ๋ชจ pretraining + transfer ์„ฑ๋Šฅ ๋งค์šฐ ์ข‹์Œ
  • CLIP, DINO, MAE ๊ฐ™์€ ์ž๊ธฐ์ง€๋„ํ•™์Šต๊ณผ ๊ถํ•ฉ ์ตœ๊ณ 

์ด๋Ÿฐ ๊ฒฝ์šฐ

  • foundation model ์‚ฌ์šฉ
  • zero-shot / few-shot
  • ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ™•์žฅ

๐Ÿ‘‰ ViT๋Š” โ€œ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ์‹œ๋Œ€โ€์— ์ตœ์ ํ™”


๐Ÿง  CNN vs ViT ๊ฒฐ์ •ํ‘œ (์‹ค์ „์šฉ)

์กฐ๊ฑดCNNViT
๋ฐ์ดํ„ฐ ์ ์Œ๐Ÿ‘๐Ÿ‘Ž
๋ฐ์ดํ„ฐ ํผ๐Ÿ‘๐Ÿ‘๐Ÿ‘
๋กœ์ปฌ ํŒจํ„ด๐Ÿ‘๐Ÿ‘Ž
์ „์—ญ ๊ด€๊ณ„๐Ÿ‘Ž๐Ÿ‘๐Ÿ‘
์œ„์น˜ ๊ณ ์ •๐Ÿ‘๐Ÿ‘Ž
์Šค์ผ€์ผ ๋‹ค์–‘๐Ÿ‘Ž๐Ÿ‘
๊ด€๊ณ„ ์ค‘์‹ฌ ํƒœ์Šคํฌ๐Ÿ‘Ž๐Ÿ‘๐Ÿ‘
foundation ๋ชจ๋ธ ํ™œ์šฉ๐Ÿ‘Ž๐Ÿ‘๐Ÿ‘

๐ŸŽฏ ํ•œ ๋ฌธ์žฅ ์š”์•ฝ

ViT๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ํฌ๊ณ , ์ „์—ญ์  ๊ด€๊ณ„์™€ ๋งฅ๋ฝ์ด ์ค‘์š”ํ•œ ๋ฌธ์ œ์—์„œ CNN์„ ๋Šฅ๊ฐ€ํ•œ๋‹ค.


๐ŸŽค ๋ฐœํ‘œ/๋ฉด์ ‘์šฉ ํ•œ ๋ฌธ์žฅ

โ€œ์ „์—ญ์ ์ธ ๋ฌธ๋งฅ๊ณผ ๊ด€๊ณ„ ์ •๋ณด๊ฐ€ ์ค‘์š”ํ•œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋Š” self-attention ๊ธฐ๋ฐ˜์˜ ViT๊ฐ€ CNN๋ณด๋‹ค ๋” ๊ฐ•๋ ฅํ•œ ํ‘œํ˜„๋ ฅ์„ ๋ณด์ž…๋‹ˆ๋‹ค.โ€


์•„์ฃผ ํ•ต์‹ฌ ์งˆ๋ฌธ์ด์•ผ.
์ด๊ฑธ ์ดํ•ดํ•˜๋ฉด โ€œ์™œ ์š”์ฆ˜ ViT + ์ž๊ธฐ์ง€๋„ํ•™์Šต์ด ๊ฑฐ์˜ ํ‘œ์ค€์ฒ˜๋Ÿผ ์“ฐ์ด๋Š”์ง€โ€๊ฐ€ ๋”ฑ ์ •๋ฆฌ๋ผ.


๐Ÿ”ฅ ์ž๊ธฐ์ง€๋„ํ•™์Šต(MAE / DINO) ์ดํ›„ ViT๊ฐ€ ์™œ ๋” ๊ฐ•ํ•ด์ง€๋Š”๊ฐ€

ํ•œ ์ค„ ์š”์•ฝ๋ถ€ํ„ฐ ํ•˜๋ฉด ๐Ÿ‘‡

์ž๊ธฐ์ง€๋„ํ•™์Šต์€ ViT์—๊ฒŒ โ€˜CNN์ด ์›๋ž˜ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๊ตฌ์กฐ์  ๊ฐ๊ฐ(inductive bias)โ€™์„
๋ฐ์ดํ„ฐ๋กœ ๋Œ€์‹  ํ•™์Šตํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

๊ทธ๋ž˜์„œ ViT์˜ ์•ฝ์ ์ด ๊ฑฐ์˜ ์‚ฌ๋ผ์ง€๊ณ , ๊ฐ•์ ๋งŒ ๋‚จ๊ฒŒ ๋จ.


1๏ธโƒฃ ViT์˜ ์›๋ž˜ ์•ฝ์ ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋ณด์ž

ViT๊ฐ€ ํž˜๋“ค์—ˆ๋˜ ์ด์œ 

  • CNN์ฒ˜๋Ÿผ ๋กœ์ปฌ/์ด๋™ ๋ถˆ๋ณ€์„ฑ bias๊ฐ€ ์—†์Œ

  • ํŒจ์น˜ ๊ฐ„ ๊ด€๊ณ„, ๊ตฌ์กฐ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋กœ ๋ฐฐ์›Œ์•ผ ํ•จ

  • ๋ผ๋ฒจ์ด ์ ์œผ๋ฉด:

    • attention์ด ์—‰๋šฑํ•œ ๊ณณ์„ ๋ด„
    • ํ‘œํ˜„์ด ๋ถˆ์•ˆ์ •
    • downstream ์„ฑ๋Šฅ์ด ๋‚ฎ์Œ

๐Ÿ‘‰ ์ฆ‰,

โ€œViT๋Š” ์›์„์ธ๋ฐ, ์—ฐ๋งˆ๊ฐ€ ์•ˆ ๋œ ์ƒํƒœโ€


2๏ธโƒฃ ์ž๊ธฐ์ง€๋„ํ•™์Šต์˜ ํ•ต์‹ฌ ์—ญํ• 

์ž๊ธฐ์ง€๋„ํ•™์Šต(MAE, DINO)์€ ๊ณตํ†ต์ ์œผ๋กœ ์ด๊ฑธ ๊ฐ•์ œํ•จ:

โ€œ์ด๋ฏธ์ง€์˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“ ๋‹คโ€

๋ผ๋ฒจ ์—†์ด๋„:

  • ํŒจ์น˜ ๊ฐ„ ๊ด€๊ณ„
  • ์ „์—ญ ๊ตฌ์กฐ
  • ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„ vs ๋œ ์ค‘์š”ํ•œ ๋ถ€๋ถ„
    ์„ ํ•™์Šตํ•˜๋„๋ก ์œ ๋„ํ•จ.

๐Ÿ‘‰ ์ด๊ฒŒ ViT์—๊ฒŒ CNN์˜ inductive bias๋ฅผ โ€˜๊ฒฝํ—˜์œผ๋กœ ์ฃผ์ž…โ€™ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๋ƒ„.


3๏ธโƒฃ MAE๊ฐ€ ViT๋ฅผ ๊ฐ•ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ด์œ 

MAE (Masked AutoEncoder)์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด

  • ์ด๋ฏธ์ง€ ํŒจ์น˜์˜ ๋Œ€๋ถ€๋ถ„(์˜ˆ: 75%)์„ ๊ฐ€๋ฆผ
  • ๋‚จ์€ ํŒจ์น˜๋กœ ์ „์ฒด ์ด๋ฏธ์ง€๋ฅผ ๋ณต์›

์ด๊ฑธ ํ•˜๋ ค๋ฉด ๋ชจ๋ธ์€ ๋ฐ˜๋“œ์‹œ:

  • ์ „์—ญ ๊ตฌ์กฐ ์ดํ•ด
  • ํŒจ์น˜ ๊ฐ„ ๊ด€๊ณ„ ํŒŒ์•…
  • ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„์— ์ง‘์ค‘

ViT์™€ MAE์˜ ๊ถํ•ฉ์ด ์ข‹์€ ์ด์œ 

  • ViT๋Š” ์›๋ž˜ ์ „์—ญ ๊ด€๊ณ„๋ฅผ ์ž˜ ๋ชจ๋ธ๋ง
  • MAE๋Š” โ€œ์ „์—ญ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋ผโ€๊ณ  ๊ฐ•์ œ

๐Ÿ‘‰ ๊ฒฐ๊ณผ:

  • ์˜๋ฏธ ์—†๋Š” ํ…์Šค์ฒ˜ ๋Œ€์‹  ๊ตฌ์กฐ ์ค‘์‹ฌ ํ‘œํ˜„
  • ๋ฐ์ดํ„ฐ ์ ์€ downstream์—์„œ๋„ ๊ฐ•ํ•จ

๐Ÿ“Œ CNN์œผ๋กœ MAE๋ฅผ ํ•˜๋ฉด ์ •๋ณด ์†์‹ค์ด ํผ
๐Ÿ“Œ ViT๋Š” ๋งˆ์Šคํฌ๋œ ์ƒํƒœ์—์„œ๋„ ๊ตฌ์กฐ ์ถ”๋ก ์ด ๊ฐ€๋Šฅ


4๏ธโƒฃ DINO๊ฐ€ ViT๋ฅผ ๊ฐ•ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ด์œ 

DINO์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด

  • ๊ฐ™์€ ์ด๋ฏธ์ง€์˜ ์„œ๋กœ ๋‹ค๋ฅธ view๋ฅผ
  • ๊ฐ™์€ ํ‘œํ˜„ ๊ณต๊ฐ„์œผ๋กœ ์ •๋ ฌ

๋ผ๋ฒจ ์—†์ด๋„:

  • โ€œ์ด๊ฑด ๊ฐ™์€ ์ด๋ฏธ์ง€๋‹คโ€
  • โ€œ์ด๊ฑด ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋‹คโ€
    ๋ฅผ ํ‘œํ˜„์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•จ.

ViT์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ณ€ํ™”

  • attention์ด ๊ฐ์ฒด ์ค‘์‹ฌ์œผ๋กœ ๋ชจ์ด๊ธฐ ์‹œ์ž‘
  • ๋ฐฐ๊ฒฝ๋ณด๋‹ค ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„์„ ์ž๋™์œผ๋กœ ์„ ํƒ
  • class token์ด ์‹ค์ œ โ€œ๋Œ€ํ‘œ ์˜๋ฏธโ€๋ฅผ ๋‹ด์Œ

๐Ÿ‘‰ ์‹ค์ œ๋กœ:

  • DINO ViT attention map = ๊ฐ์ฒด ๋ถ„ํ•  ์ˆ˜์ค€
  • CNN์—์„œ๋Š” ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€

5๏ธโƒฃ MAE / DINO ์ดํ›„ ViT๋Š” ๋ญ๊ฐ€ ๋‹ฌ๋ผ์ง€๋‚˜?

(1) ๋ฐ์ดํ„ฐ ํšจ์œจ์„ฑ ํญ๋ฐœ

  • ๋ผ๋ฒจ ์ ์–ด๋„ ์ž˜ ๋จ
  • few-shot์—์„œ๋„ ์•ˆ์ •

(2) fine-tuning ์•ˆ์ •์„ฑ ์ฆ๊ฐ€

  • learning rate์— ๋œ ๋ฏผ๊ฐ
  • backbone์„ ์กฐ๊ธˆ ํ’€์–ด๋„ ์ž˜ ์•ˆ ๋ง๊ฐ€์ง

(3) CNN์ด ํ•˜๋˜ ์—ญํ• ์„ ViT๊ฐ€ โ€œ์Šค์Šค๋กœ ํ•™์Šตโ€

  • ๋กœ์ปฌ + ์ „์—ญ ๊ตฌ์กฐ ๋™์‹œ ์ดํ•ด
  • ์œ„์น˜/ํ˜•ํƒœ ๊ฐ๊ฐ ์ƒ๊น€

๐Ÿ‘‰ ๊ทธ๋ž˜์„œ

โ€œ์ž๊ธฐ์ง€๋„ํ•™์Šต + ViT = CNN์˜ ์•ˆ์ •์„ฑ + ViT์˜ ํ‘œํ˜„๋ ฅโ€


6๏ธโƒฃ ์™œ ViT๋Š” ์ž๊ธฐ์ง€๋„ํ•™์Šต์—์„œ CNN์„ ์ด๊ธฐ๋‚˜?

ํ•ญ๋ชฉCNNViT
๋งˆ์Šคํ‚น ๋ณต์›์–ด๋ ค์›€โญโญโญโญโญ
์ „์—ญ ๊ตฌ์กฐ๊ฐ„์ ‘์ โญโญโญโญโญ
attention ๊ธฐ๋ฐ˜ ์˜๋ฏธ ์ง‘์ค‘์•ฝํ•จโญโญโญโญโญ
SSL ์‹œ ์„ฑ๋Šฅ ์ƒ์Šนํญ์ค‘๊ฐ„๋งค์šฐ ํผ

๐Ÿ‘‰ ViT๋Š” SSL์„ ๋งŒ๋‚˜์•ผ โ€˜์™„์ „์ฒดโ€™๊ฐ€ ๋จ


7๏ธโƒฃ ์‹ค์ „์—์„œ ๋ณด์ด๋Š” ํ˜„์ƒ (์ค‘์š”)

  • ImageNet supervised ViT โ†’ ๋ณ„๋กœ

  • MAE/DINO pretrained ViT โ†’ CNN ์••๋„

  • downstream:

    • ๋ถ„๋ฅ˜
    • ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜
    • ๊ฒ€์ถœ
    • ์˜๋ฃŒ/์œ„์„ฑ
      ์ „๋ถ€์—์„œ ์„ฑ๋Šฅ ๊ธ‰์ƒ์Šน

๊ทธ๋ž˜์„œ ์š”์ฆ˜ ๋…ผ๋ฌธ/์‹ค๋ฌด๋Š”:

โ€œViT๋ฅผ ์“ฐ๋ฉด, ๊ฑฐ์˜ ๋ฌด์กฐ๊ฑด SSL pretrained๋ฅผ ์“ด๋‹คโ€


8๏ธโƒฃ ํ•œ ๋ฌธ์žฅ ์š”์•ฝ (์ง„์งœ ํ•ต์‹ฌ)

์ž๊ธฐ์ง€๋„ํ•™์Šต์€ ViT์—๊ฒŒ CNN์˜ ๊ตฌ์กฐ์  ํŽธํ–ฅ์„ โ€˜๋ฐ์ดํ„ฐ๋กœ ํ•™์Šตํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ โ€™,
ViT์˜ ์ „์—ญ ํ‘œํ˜„๋ ฅ์„ ๊ทน๋Œ€ํ™”ํ•ด downstream ์„ฑ๋Šฅ์„ ํญ๋ฐœ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.


๐ŸŽค ๋ฐœํ‘œ/๋ฉด์ ‘์šฉ ๋ฌธ์žฅ

โ€œMAE๋‚˜ DINO ๊ฐ™์€ ์ž๊ธฐ์ง€๋„ํ•™์Šต์€ ViT๊ฐ€ ํŒจ์น˜ ๊ฐ„ ์ „์—ญ ๊ตฌ์กฐ์™€ ์˜๋ฏธ ์ค‘์‹ฌ ํ‘œํ˜„์„ ํ•™์Šตํ•˜๋„๋ก ์œ ๋„ํ•ด, ๊ธฐ์กด CNN์˜ inductive bias ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ ํšจ์œจ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.โ€


์•„์ฃผ ์ข‹์€ ์งˆ๋ฌธ์ด์•ผ.
์ด๊ฑด โ€œ์ž๊ธฐ์ง€๋„ํ•™์Šต์„ ์“ธ ์ค„ ์•ˆ๋‹คโ€ โ†’ โ€œ์–ธ์ œ ๋ฌด์—‡์„ ์„ ํƒํ• ์ง€ ์•ˆ๋‹คโ€๋กœ ๊ฐ€๋Š” ํ•ต์‹ฌ ํฌ์ธํŠธ์•ผ.


๐Ÿ”ฅ MAE vs DINO โ€” ์–ธ์ œ ๋ฌด์—‡์„ ์จ์•ผ ํ•˜๋‚˜?

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ๐Ÿ‘‡

๊ตฌ์กฐ/์ „์—ญ ์ดํ•ด๊ฐ€ ์ค‘์š”ํ•˜๋ฉด โ†’ MAE
๊ฐ์ฒด/์˜๋ฏธ ์ค‘์‹ฌ ํ‘œํ˜„์ด ์ค‘์š”ํ•˜๋ฉด โ†’ DINO

์•„๋ž˜์—์„œ ์ฐจ์ด โ†’ ์ด์œ  โ†’ ์‹ค์ „ ์„ ํƒ ๊ฐ€์ด๋“œ๋กœ ์ •๋ฆฌํ• ๊ฒŒ.


1๏ธโƒฃ MAE์™€ DINO์˜ ๋ชฉํ‘œ๊ฐ€ ๋‹ค๋ฅด๋‹ค

MAE (Masked AutoEncoder)

โ€œ๋ณด์ด์ง€ ์•Š๋Š” ํŒจ์น˜๋ฅผ ๋ณต์›ํ•˜๋ผโ€

  • ์ž…๋ ฅ์˜ ๋Œ€๋ถ€๋ถ„์„ ๋งˆ์Šคํ‚น(์˜ˆ: 75%)
  • ๋‚จ์€ ์ •๋ณด๋กœ ์ „์ฒด ๊ตฌ์กฐ ๋ณต์›
  • ์ „์—ญ ๊ตฌ์กฐ ์ดํ•ด ๊ฐ•์ œ

๐Ÿ‘‰ โ€œ์ด ์ด๋ฏธ์ง€์˜ ์ „์ฒด ๋ผˆ๋Œ€๋ฅผ ์ดํ•ดํ–ˆ๋Š”๊ฐ€?โ€


DINO (Self-Distillation with No Labels)

โ€œ๊ฐ™์€ ์ด๋ฏธ์ง€๋Š” ๊ฐ™์€ ํ‘œํ˜„์„ ๊ฐ€์ ธ๋ผโ€

  • ์„œ๋กœ ๋‹ค๋ฅธ view(ํฌ๋กญ/์ƒ‰์ƒ ๋“ฑ)
  • ๊ฐ™์€ ์ด๋ฏธ์ง€ โ†’ ๊ฐ™์€ embedding
  • ๋‹ค๋ฅธ ์ด๋ฏธ์ง€ โ†’ ๋‹ค๋ฅธ embedding

๐Ÿ‘‰ โ€œ์ด ์ด๋ฏธ์ง€์˜ โ€˜์˜๋ฏธโ€™๋Š” ๋ฌด์—‡์ธ๊ฐ€?โ€


2๏ธโƒฃ ๊ทธ๋ž˜์„œ ํ‘œํ˜„ ์„ฑ๊ฒฉ์ด ์™„์ „ํžˆ ๋‹ค๋ฅด๋‹ค

ํ•ญ๋ชฉMAEDINO
ํ•™์Šต ๋ชฉํ‘œ๋ณต์›์˜๋ฏธ ์ •๋ ฌ
์ฃผ๋ ฅ ํ‘œํ˜„๊ตฌ์กฐ/ํ˜•ํƒœ๊ฐ์ฒด/์˜๋ฏธ
attention ์„ฑํ–ฅ๋ถ„์‚ฐ์ ๊ฐ์ฒด ์ง‘์ค‘์ 
class token์•ฝํ•จ๋งค์šฐ ๊ฐ•ํ•จ
segmentation ์นœํ™”โญโญโญโญโญโญโญโญโญ
classification ์นœํ™”โญโญโญโญโญโญโญโญ

3๏ธโƒฃ MAE๋ฅผ ์“ฐ๋ฉด ์ข‹์€ ๊ฒฝ์šฐ (์ด๋Ÿด ๋•Œ MAE)

โœ… 1) ์ „์—ญ ๊ตฌ์กฐยทํ˜•ํƒœ๊ฐ€ ์ค‘์š”ํ•œ ๋ฌธ์ œ

  • ์œ„์„ฑ / ํ•ญ๊ณต ์˜์ƒ
  • ์˜๋ฃŒ ์˜์ƒ (CT, MRI)
  • ์žฅ๋ฉด ์ดํ•ด
  • ์ด์ƒ ํƒ์ง€(Anomaly)

๐Ÿ‘‰ โ€œ์ด๊ฒŒ ์–ด๋–ค ๊ตฌ์กฐ๋ฅผ ๊ฐ€์กŒ๋Š”๊ฐ€?โ€๊ฐ€ ์ค‘์š”


โœ… 2) ๋งˆ์Šคํฌ/๋ณต์› ๊ธฐ๋ฐ˜ downstream

  • inpainting
  • reconstruction
  • denoising
  • generation ์ชฝ์œผ๋กœ ํ™•์žฅ

โœ… 3) ๋ผ๋ฒจ์ด ๊ฑฐ์˜ ์—†๊ณ , ์‚ฌ์ „ํ•™์Šต์„ ์˜ค๋ž˜ ํ•  ์ˆ˜ ์žˆ์Œ

  • ๋Œ€๊ทœ๋ชจ unlabeled ๋ฐ์ดํ„ฐ
  • ํ•™์Šต ๋น„์šฉ ๊ฐ์ˆ˜ ๊ฐ€๋Šฅ

4๏ธโƒฃ DINO๋ฅผ ์“ฐ๋ฉด ์ข‹์€ ๊ฒฝ์šฐ (์ด๋Ÿด ๋•Œ DINO)

โœ… 1) ๊ฐ์ฒด ์ค‘์‹ฌ ํƒœ์Šคํฌ

  • ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜
  • object detection
  • instance segmentation
  • retrieval

๐Ÿ‘‰ โ€œ๋ฌด์—‡์ด ์žˆ๋Š”๊ฐ€?โ€๊ฐ€ ์ค‘์š”


โœ… 2) attention map ํ™œ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ

  • ์•ฝ์ง€๋„ ๋ถ„ํ• (weakly-supervised)
  • ๊ฐ์ฒด ์œ„์น˜ ์‹œ๊ฐํ™”
  • pseudo label ์ƒ์„ฑ

๐Ÿ“Œ DINO ViT attention = ๊ฐ์ฒด ๋งˆ์Šคํฌ ์ˆ˜์ค€


โœ… 3) downstream ์„ฑ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ๋ฝ‘๊ณ  ์‹ถ์„ ๋•Œ

  • MAE๋ณด๋‹ค downstream ํŠœ๋‹์ด ์‰ฌ์›€
  • class token์ด ์ด๋ฏธ ์ž˜ ์ •๋ ฌ๋จ

5๏ธโƒฃ ์‹ค์ „ ์„ ํƒ ๊ฐ€์ด๋“œ (์ด๊ฑฐ ๊ทธ๋Œ€๋กœ ์จ๋„ ๋จ)

๐Ÿ”น ๋ถ„๋ฅ˜ / ๊ฒ€์ถœ / ์ธ์‹

๐Ÿ‘‰ DINO

๐Ÿ”น ๊ตฌ์กฐ ์ดํ•ด / ๋ณต์› / ์ด์ƒ ํƒ์ง€

๐Ÿ‘‰ MAE

๐Ÿ”น ์ž˜ ๋ชจ๋ฅด๊ฒ ์œผ๋ฉด?

๐Ÿ‘‰ DINO ๋จผ์ € โ†’ ๋ถ€์กฑํ•˜๋ฉด MAE


6๏ธโƒฃ ์„ฑ๋Šฅ vs ์•ˆ์ •์„ฑ vs ๋น„์šฉ

ํ•ญ๋ชฉMAEDINO
์‚ฌ์ „ํ•™์Šต ๋น„์šฉ๋†’์Œ์ค‘๊ฐ„
fine-tuning ์•ˆ์ •์„ฑโญโญโญโญโญโญโญโญโญ
small data ์ ์‘โญโญโญโญโญโญโญโญ
class separationโญโญโญโญโญโญโญโญ

7๏ธโƒฃ ๋‘˜์„ ๊ฐ™์ด ์“ฐ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค

์‹ค๋ฌด/์—ฐ๊ตฌ์—์„œ๋Š”:

  • MAE pretrain โ†’ DINO fine-tune
  • ๋˜๋Š”
  • MAE backbone + DINO head

๐Ÿ‘‰ ๊ตฌ์กฐ + ์˜๋ฏธ ๋‘˜ ๋‹ค ์ฑ™๊น€


8๏ธโƒฃ ํ•œ ๋ฌธ์žฅ ์š”์•ฝ (์ง„์งœ ํ•ต์‹ฌ)

MAE๋Š” โ€œ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ํ‘œํ˜„โ€์„ ๋งŒ๋“ค๊ณ ,
DINO๋Š” โ€œ์˜๋ฏธ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ํ‘œํ˜„โ€์„ ๋งŒ๋“ ๋‹ค.


๐ŸŽค ๋ฐœํ‘œ/๋ฉด์ ‘์šฉ ํ•œ ๋ฌธ์žฅ

โ€œ์ „์—ญ ๊ตฌ์กฐ์™€ ํ˜•ํƒœ ์ดํ•ด๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” MAE๊ฐ€, ๊ฐ์ฒด ์ค‘์‹ฌ์˜ ์˜๋ฏธ ํ‘œํ˜„๊ณผ ๋ถ„๋ฅ˜ ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” DINO๊ฐ€ ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.โ€


์ข‹์•„. ์ด์ œ DINO๊ฐ€ โ€œ๋ฌด์—‡์ธ์ง€โ€๋ฅผ ์ฒ˜์Œ ๋“ฃ๋Š” ์‚ฌ๋žŒ๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ,
๊ฐœ๋… โ†’ ์™œ ๋‚˜์™”๋Š”์ง€ โ†’ ์–ด๋–ป๊ฒŒ ํ•™์Šต๋˜๋Š”์ง€ โ†’ ViT์—์„œ ์™œ ๊ฐ•ํ•œ์ง€ ์ˆœ์„œ๋กœ ์„ค๋ช…ํ• ๊ฒŒ.


๐Ÿ”ฅ DINO ๋ชจ๋ธ์ด๋ž€?

DINO (Self-Distillation with NO labels) ๋Š”
๐Ÿ‘‰ ๋ผ๋ฒจ ์—†์ด๋„ ์ด๋ฏธ์ง€์˜ โ€œ์˜๋ฏธ ์žˆ๋Š” ํ‘œํ˜„โ€์„ ํ•™์Šตํ•˜๋Š” ์ž๊ธฐ์ง€๋„ํ•™์Šต ๋ฐฉ๋ฒ•์ด์•ผ.

ํ•œ ์ค„๋กœ ์š”์•ฝํ•˜๋ฉด:

โ€œ๊ฐ™์€ ์ด๋ฏธ์ง€์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ์Šต์€ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹คโ€
์ด ์›์น™๋งŒ์œผ๋กœ ํ•™์Šตํ•˜๋Š” ๋ชจ๋ธ


1๏ธโƒฃ ์™œ DINO๊ฐ€ ๋‚˜์™”๋‚˜?

๊ธฐ์กด ๋ฌธ์ œ:

  • ๋ผ๋ฒจ ๋งŒ๋“ค๊ธฐ ๋น„์Œˆ
  • ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์— ๋ผ๋ฒจ ๋ถ™์ด๊ธฐ ์–ด๋ ค์›€
  • ViT๋Š” ๋ผ๋ฒจ ์—†์œผ๋ฉด ํŠนํžˆ ํ•™์Šต์ด ๋ถˆ์•ˆ์ •

๊ทธ๋ž˜์„œ ๋‚˜์˜จ ์งˆ๋ฌธ:

โ€œ๋ผ๋ฒจ ์—†์ด๋„, ์˜๋ฏธ ์ค‘์‹ฌ ํ‘œํ˜„์„ ๋ฐฐ์šธ ์ˆ˜ ์—†์„๊นŒ?โ€

๐Ÿ‘‰ ๊ทธ ํ•ด๋‹ต์ด DINO


2๏ธโƒฃ DINO์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด (์ง„์งœ ์ค‘์š”)

DINO๋Š” ๊ต์‚ฌโ€“ํ•™์ƒ(studentโ€“teacher) ๊ตฌ์กฐ๋ฅผ ์“ฐ๋Š”๋ฐ,
์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ์€ ๐Ÿ‘‡

โ— ๊ต์‚ฌ๋Š” โ€œ์ •๋‹ต ๋ผ๋ฒจโ€์ด ์•„๋‹ˆ๋‹ค

  • ๊ต์‚ฌ๋„ ๊ฐ™์€ ๋ชจ๋ธ
  • ๋‹จ์ง€ ์กฐ๊ธˆ ๋” ์•ˆ์ •์ ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ(EMA) ๋ฅผ ์‚ฌ์šฉ

์ฆ‰,

๋ชจ๋ธ์ด ์ž๊ธฐ ์ž์‹ ์„ ๊ฐ€๋ฅด์นœ๋‹ค
โ†’ Self-Distillation


3๏ธโƒฃ ํ•™์Šต์€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜?

(1) ๊ฐ™์€ ์ด๋ฏธ์ง€์—์„œ ์—ฌ๋Ÿฌ view ์ƒ์„ฑ

์˜ˆ:

  • ํฐ ํฌ๋กญ
  • ์ž‘์€ ํฌ๋กญ
  • ์ƒ‰์ƒ ๋ณ€ํ™”
  • ๋ธ”๋Ÿฌ
Image
 โ”œโ”€ View 1 (large crop)
 โ”œโ”€ View 2 (large crop)
 โ”œโ”€ View 3 (small crop)
 โ””โ”€ View 4 (small crop)

(2) ํ•™์ƒ๊ณผ ๊ต์‚ฌ์— ๊ฐ๊ฐ ์ž…๋ ฅ

  • Student: ๋ชจ๋“  view ์ž…๋ ฅ
  • Teacher: ํฐ view๋งŒ ์ž…๋ ฅ

(3) ๋ชฉํ‘œ๋Š” ๋‹จ ํ•˜๋‚˜

โ€œ๊ฐ™์€ ์ด๋ฏธ์ง€์—์„œ ๋‚˜์˜จ ํ‘œํ˜„์€ ๊ฐ™์•„์•ผ ํ•œ๋‹คโ€

์ˆ˜์‹์ ์œผ๋กœ๋Š”:

  • student output โ‰ˆ teacher output

๋ผ๋ฒจ ์—†์Œ
ํด๋ž˜์Šค ์—†์Œ
์˜ค์ง ํ‘œํ˜„ ์ •๋ ฌ(align) ๋งŒ ์žˆ์Œ


4๏ธโƒฃ Collapse(๋ถ•๊ดด)๋Š” ์™œ ์•ˆ ์ƒ๊ธฐ๋‚˜?

์ž๊ธฐ์ง€๋„ํ•™์Šต์˜ ๊ฐ€์žฅ ํฐ ์œ„ํ—˜:

๋ชจ๋“  ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ™์€ ๋ฒกํ„ฐ๋กœ ๊ฐ€๋ฒ„๋ฆฌ๋Š” ๊ฒƒ (collapse)

DINO๋Š” ์ด๊ฑธ ๋‘ ๊ฐ€์ง€ ์žฅ์น˜๋กœ ๋ง‰์Œ:

โ‘  Teacher๋Š” gradient ์—…๋ฐ์ดํŠธ โŒ

  • teacher๋Š” EMA๋กœ๋งŒ ์—…๋ฐ์ดํŠธ
  • student๋งŒ ํ•™์Šต

โ‘ก Centering + Sharpening

  • ์ถœ๋ ฅ ๋ถ„ํฌ๊ฐ€ ํ•œ์ชฝ์œผ๋กœ ์ ๋ฆฌ์ง€ ์•Š๊ฒŒ ์กฐ์ ˆ
  • entropy ์œ ์ง€

๐Ÿ‘‰ ๊ทธ๋ž˜์„œ ์˜๋ฏธ ์žˆ๋Š” ๋ถ„์‚ฐ๋œ ํ‘œํ˜„์ด ์œ ์ง€๋จ


5๏ธโƒฃ DINO๋ฅผ ์“ฐ๋ฉด ViT์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜?

๐Ÿ”ฅ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ํ˜„์ƒ

์•„๋ฌด supervision๋„ ์•ˆ ํ–ˆ๋Š”๋ฐ
ViT attention์ด ๊ฐ์ฒด๋ฅผ ์ •ํ™•ํžˆ ๊ฐ€๋ฆฌํ‚จ๋‹ค

์ฆ‰:

  • ์‚ฌ๋žŒ
  • ๋™๋ฌผ
  • ์ž๋™์ฐจ
    ๊ฐ™์€ ๊ฐ์ฒด ์˜์—ญ์— attention์ด ์ž๋™ ์ง‘์ค‘

๐Ÿ“Œ ์ด๊ฑด CNN์—์„œ๋Š” ๊ฑฐ์˜ ์•ˆ ๋ณด์ด๋Š” ํ˜„์ƒ


6๏ธโƒฃ ์™œ ViT + DINO ์กฐํ•ฉ์ด ํŠนํžˆ ๊ฐ•ํ•œ๊ฐ€?

์ด์œ  1๏ธโƒฃ ViT์˜ self-attention ๊ตฌ์กฐ

  • ํ† ํฐ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์ง์ ‘ ํ•™์Šต
  • โ€œ์˜๋ฏธ ์žˆ๋Š” ํŒจ์น˜โ€๋ฅผ ๊ณ ๋ฅด๊ธฐ ์‰ฌ์›€

์ด์œ  2๏ธโƒฃ DINO์˜ ๋ชฉํ‘œ๊ฐ€ โ€œ์˜๋ฏธ ์ •๋ ฌโ€

  • ๋ณต์›์ด ์•„๋‹ˆ๋ผ ์˜๋ฏธ ์ผ๊ด€์„ฑ
  • ๊ฐ์ฒด ๋‹จ์œ„ ํ‘œํ˜„์„ ๊ฐ•์ œ

๐Ÿ‘‰ ๊ฒฐ๊ณผ:

ViT์˜ attention = ๊ฐ์ฒด ์ธ์‹๊ธฐ์ฒ˜๋Ÿผ ํ–‰๋™


7๏ธโƒฃ DINO vs ์ผ๋ฐ˜ ์ง€๋„ํ•™์Šต (๊ฐ๊ฐ ์ฐจ์ด)

ํ•ญ๋ชฉ์ง€๋„ํ•™์ŠตDINO
ํ•„์š” ๋ฐ์ดํ„ฐ๋ผ๋ฒจ ํ•„์ˆ˜๋ผ๋ฒจ โŒ
ํ•™์Šต ๋ชฉํ‘œ์ •๋‹ต ํด๋ž˜์Šค์˜๋ฏธ ์ •๋ ฌ
attention๋ถ„์‚ฐ์ ๊ฐ์ฒด ์ง‘์ค‘
few-shot์•ฝํ•จ๊ฐ•ํ•จ

8๏ธโƒฃ DINO๋Š” โ€œ๋ชจ๋ธโ€์ธ๊ฐ€, โ€œ๋ฐฉ๋ฒ•โ€์ธ๊ฐ€?

๐Ÿ‘‰ ๋ฐฉ๋ฒ•(method) ์ด๋‹ค.

  • DINO-ViT
  • DINO-ResNet
  • DINO-Swin

์ฒ˜๋Ÿผ ์–ด๋–ค backbone์—๋„ ์ ์šฉ ๊ฐ€๋Šฅ

ํ•˜์ง€๋งŒ:

ViT์—์„œ ํšจ๊ณผ๊ฐ€ ์••๋„์ ์œผ๋กœ ํผ


9๏ธโƒฃ ์–ธ์ œ DINO๋ฅผ ์“ฐ๋ฉด ์ข‹์€๊ฐ€?

โœ… ๋ผ๋ฒจ์ด ๊ฑฐ์˜ ์—†์Œ
โœ… ๊ฐ์ฒด/์˜๋ฏธ ์ค‘์‹ฌ ํƒœ์Šคํฌ
โœ… ๋ถ„๋ฅ˜, ๊ฒ€์ถœ, ๋ถ„ํ• ๋กœ ํ™•์žฅ ์˜ˆ์ •
โœ… foundation model ๊ธฐ๋ฐ˜ ์ž‘์—…


๐Ÿ”Ÿ ํ•œ ๋ฌธ์žฅ ์š”์•ฝ (ํ•ต์‹ฌ)

DINO๋Š” ๋ผ๋ฒจ ์—†์ด๋„ ๊ฐ™์€ ์ด๋ฏธ์ง€์˜ ๋‹ค์–‘ํ•œ ๊ด€์ ์„ ๊ฐ™์€ ์˜๋ฏธ ๊ณต๊ฐ„์œผ๋กœ ์ •๋ ฌํ•ด,
๊ฐ์ฒด ์ค‘์‹ฌ์˜ ๊ฐ•๋ ฅํ•œ ํ‘œํ˜„์„ ํ•™์Šตํ•˜๋Š” ์ž๊ธฐ์ง€๋„ํ•™์Šต ๋ฐฉ๋ฒ•์ด๋‹ค.


๐ŸŽค ๋ฐœํ‘œ/๋ฉด์ ‘์šฉ ๋ฌธ์žฅ

โ€œDINO๋Š” self-distillation ๊ธฐ๋ฐ˜์˜ ์ž๊ธฐ์ง€๋„ํ•™์Šต ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ผ๋ฒจ ์—†์ด๋„ ์ด๋ฏธ์ง€์˜ ์˜๋ฏธ ์ผ๊ด€์„ฑ์„ ํ•™์Šตํ•ด ViT์—์„œ ๊ฐ์ฒด ์ค‘์‹ฌ์˜ ๊ฐ•๋ ฅํ•œ ํ‘œํ˜„์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค.โ€


profile
Like it, and it will be the best.

0๊ฐœ์˜ ๋Œ“๊ธ€