์ข์. ์ด์ ๐ฅ ViT + LoRA / Adapter ๋ฐฉ์์
์ ํ์ํ์ง โ ๊ฐ๋
โ LoRA vs Adapter ์ฐจ์ด โ ์ฝ๋ โ ์ธ์ ๋ฌด์์ ์ฐ๋์ง ์์๋ก ์์ ํ ์ดํด๋๊ฒ ์ค๋ช
ํ ๊ฒ.
์์์ ์ฐ๋ฆฌ๊ฐ ๋ณธ ๋ฌธ์ ๋ฅผ ๋ค์ ์ ๋ฆฌํ๋ฉด:
ViT๋
๊ทธ๋์
๐ โ์ฑ๋ฅ์ ์ ์งํ๋ฉด์ backbone์ ๊ฑฐ์ ์ ๊ฑด๋๋ฆด ์ ์์๊น?โ
โ ๊ทธ ํด๋ต์ด LoRA / Adapter
Backbone ๊ฐ์ค์น๋ ๊ณ ์ ํ๊ณ ,
์์ฃผ ์์ โ์ถ๊ฐ ๋ชจ๋โ๋ง ํ์ตํ๋ค
์ฆ,
โ๏ธ ViT pretrained weights (freeze)
โ ๐ฅ ์์ ํ์ต์ฉ ๋ชจ๋ (LoRA / Adapter)
์ด๋ ๊ฒ ํด์:
| ๊ตฌ๋ถ | LoRA | Adapter |
|---|---|---|
| ์์ด๋์ด | ๊ฐ์ค์น ์ ๋ฐ์ดํธ๋ฅผ ์ ๋ญํฌ ํ๋ ฌ๋ก ๊ทผ์ฌ | ์์ FFN์ ์ค๊ฐ์ ์ฝ์ |
| backbone | ์์ freeze | ์์ freeze |
| ์ถ๊ฐ ํ๋ผ๋ฏธํฐ | ๋งค์ฐ ์ ์ | ์ ์ |
| ViT ์ ํฉ์ฑ | โญโญโญโญโญ | โญโญโญโญ |
| ์ค๋ฌด/LLM | ๐ฅ๐ฅ๐ฅ | ๐ฅ๐ฅ |
๐ ์์ฆ ํธ๋ ๋๋ LoRA, ํนํ ViT/LLM์์
์๋ weight ์ ๋ฐ์ดํธ:
W โ W + ฮW
LoRA๋:
ฮW โ A ยท B (A,B๋ ์์ฃผ ์์ ํ๋ ฌ)
๊ทธ๋์:
๐ โํฐ ๋ชจ๋ธ์ ์์ ์์ก์ด๋ก ์กฐ์ ํ๋ ๋๋โ
๋ณดํต Self-Attention์ Q, K, V projection์ ๋ถ์
ViT ๋ธ๋ก ์ผ๋ถ:
x โ Linear(Q) โ
x โ Linear(K) โ Attention โ output
x โ Linear(V) โ
๐ ์ด Linear(Q/K/V)์ LoRA๋ฅผ ์ถ๊ฐ
Frozen ViT Block
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Linear(Q) + LoRA(Q) ๐ฅ โ
โ Linear(K) + LoRA(K) ๐ฅ โ
โ Linear(V) + LoRA(V) ๐ฅ โ
โ Attention โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
์๋๋ PEFT ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด ์ค์ ์ฝ๋ ์์
(์ฐ๊ตฌ/์ค๋ฌด ํ์ค์ ๊ฐ๊น์)
pip install peft transformers timm
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%๋ง ํ์ต
Adapter๋ ๋ธ๋ก ์ค๊ฐ์ ์์ bottleneck FFN์ ๋ผ์ ๋ฃ์:
x โ Transformer Block โ Adapter โ x
Linear(d โ d/4)
ReLU
Linear(d/4 โ d)
์์ฆ์:
| ๋ฐฉ์ | backbone ์์ | ์์ ์ฑ | ํ๋ผ๋ฏธํฐ | ViT ์ ํฉ |
|---|---|---|---|---|
| Partial (last blocks) | ์ผ๋ถ | โญโญโญ | ์ค๊ฐ | โญโญโญโญ |
| Adapter | ์์ | โญโญโญโญ | ์ ์ | โญโญโญโญ |
| LoRA | ์์ | โญโญโญโญโญ | ๋งค์ฐ ์ ์ | โญโญโญโญโญ |
โ
๋ฐ์ดํฐ ์ ์
โ
GPU ๋ฉ๋ชจ๋ฆฌ ์ ํ
โ
ViT / LLM
โ
์ฌ๋ฌ ํ์คํฌ์ ๋น ๋ฅด๊ฒ ์ ์
โ
backbone์ โ๊ฑด๋๋ฆฌ๋ฉด ์ ๋๋ ์์ฐโ
๐ ์์ฆ ์ค๋ฌด/๋ํ/๋ ผ๋ฌธ์์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์ ํ์ง
โViT์์ LoRA๋ self-attention ๊ฐ์ค์น๋ฅผ ์ ๋ญํฌ ํ๋ ฌ๋ก ๊ทผ์ฌํด backbone์ ๊ณ ์ ํ ์ฑ ์๋์ ํ๋ผ๋ฏธํฐ๋ง ํ์ตํจ์ผ๋ก์จ, ์์ ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์์ ํ๋ณดํ๋ ์ ์ดํ์ต ๋ฐฉ์์ ๋๋ค.โ
์์ฃผ ์ค์ํ ์ง๋ฌธ์ด์ผ.
์ด๊ฑด โ๋ชจ๋ธ ์ ํ ๊ธฐ์คโ์ ํ ๋จ๊ณ ๋์ด์ฌ๋ ค ์ฃผ๋ ํต์ฌ ๊ฐ๋
์ด์ผ.
๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ๐
ViT๋ โ๋ฐ์ดํฐ๋ก๋ถํฐ ๊ตฌ์กฐ๋ฅผ ์ค์ค๋ก ๋ฐฐ์์ผ ํ๋ ๋ชจ๋ธโ์ด๊ณ ,
CNN์ โ๊ตฌ์กฐ์ ํธํฅ(inductive bias)์ ์ด๋ฏธ ๊ฐ๊ณ ์๋ ๋ชจ๋ธโ์ด๊ธฐ ๋๋ฌธ์ด์ผ.
๊ทธ๋์ ๋ฐ์ดํฐ์ ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ์ฑํจ๊ฐ ๊ฐ๋ ค.
์๋ 3๊ฐ์ง ํน์ง์ด ์์ผ๋ฉด
๐ CNN์ ์ ๋๋๋ฐ ViT๋ ํ๋ค์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์.
๊ตญ์์ฑ(locality), ์ด๋ ๋ถ๋ณ์ฑ(translation invariance)์ด ๊ตฌ์กฐ์ ์ผ๋ก ๋ด์ฅ
์ ์ ๋ฐ์ดํฐ์์๋:
์ด๋ฐ ํธํฅ์ด ๊ฑฐ์ ์์
ํจ์น ๊ฐ ๊ด๊ณ, ์ ์ญ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ดํฐ๋ก ์ง์ ํ์ต
๋ฐ์ดํฐ๊ฐ ์ ์ผ๋ฉด:
๐ ViT๋ โ๋ง์ด ๋ณด๊ณ ๋ฐฐ์์ผ ํ๋ ํ์โ
๐ ์ด๋ฐ ๊ฒฝ์ฐ CNN์ด ์์น
โ์ด ๋ฌธ์ ๋ ์์ ๊ตญ์ ํจํด๋ง ์ ์ก์๋ ๋๋๊ฐ?โ
YES๋ผ๋ฉด โ CNN์ด ์ ๋ฆฌ
๐ โ๋ฏธ์ธํ ์ฐจ์ดโ๊ฐ ์ค์ํ ์๋ก CNN ์ ๋ฆฌ
ํจ์น๋ฅผ ํ ํฐ์ผ๋ก ์ฒ๋ฆฌ
์์น ์ ๋ณด๋ positional embedding์ ์์กด
์ด๊ฒ ์ถฉ๋ถํ ํ์ต๋์ง ์์ผ๋ฉด:
๐ โ์ด๋์ ์๋๋โ๊ฐ ์ค์ํ๋ฉด CNN์ด ๋ ์์ ์
| ๋ฐ์ดํฐ ํน์ง | CNN | ViT |
|---|---|---|
| ๋ฐ์ดํฐ ์ ์ | ๐ | ๐ |
| ๋ก์ปฌ ํจํด ์ค์ | ๐ | ๐ |
| ์์น ์ ๋ณด ์ค์ | ๐ | ๐ |
| ๋ฐ์ดํฐ ํผ | ๐ | ๐๐ |
| ์ ์ญ ๊ด๊ณ ์ค์ | ๐ | ๐๐ |
CNN์ ๊ตฌ์กฐ์ ํธํฅ ๋๋ถ์ ์ ์ ๋ฐ์ดํฐยท๊ตญ์ ํจํดยท์์น ๋ฏผ๊ฐ ๋ฌธ์ ์ ๊ฐํ๊ณ ,
ViT๋ ์ถฉ๋ถํ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ์ ์ญ ๊ด๊ณ๋ฅผ ํ์ตํ๋ ๋ฐ ๊ฐํ๋ค.
โ๋ฐ์ดํฐ ์๊ฐ ์ ๊ฑฐ๋ ๋ก์ปฌ ํจํด๊ณผ ์์น ์ ๋ณด๊ฐ ์ค์ํ ๋ฌธ์ ์์๋ CNN์ด ๋ ์์ ์ ์ด๋ฉฐ, ViT๋ ์ด๋ฌํ ๊ตฌ์กฐ์ ํธํฅ์ด ์๊ธฐ ๋๋ฌธ์ ์ถฉ๋ถํ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.โ
์์ฃผ ์ข์ ๋ง๋ฌด๋ฆฌ ์ง๋ฌธ์ด์ผ.
์ด์ โ์ธ์ ViT๋ฅผ ์จ์ผ ํ๋๊ฐโ๊ฐ ๋ฑ ์ ๋ฆฌ๋๋ค.
๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ๐
๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ ํฌ๊ณ ,
์ ์ญ์ ์ธ ๊ด๊ณยท๊ตฌ์กฐยท๋งฅ๋ฝ์ด ์ค์ํ ๋
ViT๋ CNN์ ๋ช ํํ๊ฒ ์ด๊ธด๋ค.
์๋ 5๊ฐ์ง ์กฐ๊ฑด ์ค ์ฌ๋ฌ ๊ฐ๊ฐ ๋์์ ๋ง์กฑ๋๋ฉด
๐ ViT๊ฐ CNN๋ณด๋ค ์ ๋ฆฌํด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๐ ImageNet-21k, JFT-300M์์ ViT๊ฐ CNN์ ์๋ํ ์ด์
๐ โ์ ์ฒด ๊ตฌ์ฑ์ด ์๋ฏธ๋ฅผ ๋ง๋ ๋คโ โ ViT
๐ โ์ด๊ฒ ์ด๋์ ์ผ๋ง๋ ํฌ๊ฒ ์๋ ์๊ด์๋คโ โ ViT
๐ ๊ด๊ณ๊ฐ ํต์ฌ์ด๋ฉด ViT
๐ ViT๋ โ๊ธฐ๋ฐ ๋ชจ๋ธ ์๋โ์ ์ต์ ํ
| ์กฐ๊ฑด | CNN | ViT |
|---|---|---|
| ๋ฐ์ดํฐ ์ ์ | ๐ | ๐ |
| ๋ฐ์ดํฐ ํผ | ๐ | ๐๐ |
| ๋ก์ปฌ ํจํด | ๐ | ๐ |
| ์ ์ญ ๊ด๊ณ | ๐ | ๐๐ |
| ์์น ๊ณ ์ | ๐ | ๐ |
| ์ค์ผ์ผ ๋ค์ | ๐ | ๐ |
| ๊ด๊ณ ์ค์ฌ ํ์คํฌ | ๐ | ๐๐ |
| foundation ๋ชจ๋ธ ํ์ฉ | ๐ | ๐๐ |
ViT๋ ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ ํฌ๊ณ , ์ ์ญ์ ๊ด๊ณ์ ๋งฅ๋ฝ์ด ์ค์ํ ๋ฌธ์ ์์ CNN์ ๋ฅ๊ฐํ๋ค.
โ์ ์ญ์ ์ธ ๋ฌธ๋งฅ๊ณผ ๊ด๊ณ ์ ๋ณด๊ฐ ์ค์ํ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์์๋ self-attention ๊ธฐ๋ฐ์ ViT๊ฐ CNN๋ณด๋ค ๋ ๊ฐ๋ ฅํ ํํ๋ ฅ์ ๋ณด์ ๋๋ค.โ
์์ฃผ ํต์ฌ ์ง๋ฌธ์ด์ผ.
์ด๊ฑธ ์ดํดํ๋ฉด โ์ ์์ฆ ViT + ์๊ธฐ์ง๋ํ์ต์ด ๊ฑฐ์ ํ์ค์ฒ๋ผ ์ฐ์ด๋์งโ๊ฐ ๋ฑ ์ ๋ฆฌ๋ผ.
ํ ์ค ์์ฝ๋ถํฐ ํ๋ฉด ๐
์๊ธฐ์ง๋ํ์ต์ ViT์๊ฒ โCNN์ด ์๋ ๊ฐ์ง๊ณ ์๋ ๊ตฌ์กฐ์ ๊ฐ๊ฐ(inductive bias)โ์
๋ฐ์ดํฐ๋ก ๋์ ํ์ตํ๊ฒ ๋ง๋ค์ด ์ค๋ค.
๊ทธ๋์ ViT์ ์ฝ์ ์ด ๊ฑฐ์ ์ฌ๋ผ์ง๊ณ , ๊ฐ์ ๋ง ๋จ๊ฒ ๋จ.
CNN์ฒ๋ผ ๋ก์ปฌ/์ด๋ ๋ถ๋ณ์ฑ bias๊ฐ ์์
ํจ์น ๊ฐ ๊ด๊ณ, ๊ตฌ์กฐ๋ฅผ ์ฒ์๋ถํฐ ๋ฐ์ดํฐ๋ก ๋ฐฐ์์ผ ํจ
๋ผ๋ฒจ์ด ์ ์ผ๋ฉด:
๐ ์ฆ,
โViT๋ ์์์ธ๋ฐ, ์ฐ๋ง๊ฐ ์ ๋ ์ํโ
์๊ธฐ์ง๋ํ์ต(MAE, DINO)์ ๊ณตํต์ ์ผ๋ก ์ด๊ฑธ ๊ฐ์ ํจ:
โ์ด๋ฏธ์ง์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ์ง ์์ผ๋ฉด ๋ฌธ์ ๋ฅผ ํ ์ ์๊ฒ ๋ง๋ ๋คโ
๋ผ๋ฒจ ์์ด๋:
๐ ์ด๊ฒ ViT์๊ฒ CNN์ inductive bias๋ฅผ โ๊ฒฝํ์ผ๋ก ์ฃผ์ โํ๋ ํจ๊ณผ๋ฅผ ๋.
์ด๊ฑธ ํ๋ ค๋ฉด ๋ชจ๋ธ์ ๋ฐ๋์:
๐ ๊ฒฐ๊ณผ:
๐ CNN์ผ๋ก MAE๋ฅผ ํ๋ฉด ์ ๋ณด ์์ค์ด ํผ
๐ ViT๋ ๋ง์คํฌ๋ ์ํ์์๋ ๊ตฌ์กฐ ์ถ๋ก ์ด ๊ฐ๋ฅ
๋ผ๋ฒจ ์์ด๋:
๐ ์ค์ ๋ก:
๐ ๊ทธ๋์
โ์๊ธฐ์ง๋ํ์ต + ViT = CNN์ ์์ ์ฑ + ViT์ ํํ๋ ฅโ
| ํญ๋ชฉ | CNN | ViT |
|---|---|---|
| ๋ง์คํน ๋ณต์ | ์ด๋ ค์ | โญโญโญโญโญ |
| ์ ์ญ ๊ตฌ์กฐ | ๊ฐ์ ์ | โญโญโญโญโญ |
| attention ๊ธฐ๋ฐ ์๋ฏธ ์ง์ค | ์ฝํจ | โญโญโญโญโญ |
| SSL ์ ์ฑ๋ฅ ์์นํญ | ์ค๊ฐ | ๋งค์ฐ ํผ |
๐ ViT๋ SSL์ ๋ง๋์ผ โ์์ ์ฒดโ๊ฐ ๋จ
ImageNet supervised ViT โ ๋ณ๋ก
MAE/DINO pretrained ViT โ CNN ์๋
downstream:
๊ทธ๋์ ์์ฆ ๋ ผ๋ฌธ/์ค๋ฌด๋:
โViT๋ฅผ ์ฐ๋ฉด, ๊ฑฐ์ ๋ฌด์กฐ๊ฑด SSL pretrained๋ฅผ ์ด๋คโ
์๊ธฐ์ง๋ํ์ต์ ViT์๊ฒ CNN์ ๊ตฌ์กฐ์ ํธํฅ์ โ๋ฐ์ดํฐ๋ก ํ์ตํ๊ฒ ๋ง๋ค๊ณ โ,
ViT์ ์ ์ญ ํํ๋ ฅ์ ๊ทน๋ํํด downstream ์ฑ๋ฅ์ ํญ๋ฐ์ ์ผ๋ก ํฅ์์ํจ๋ค.
โMAE๋ DINO ๊ฐ์ ์๊ธฐ์ง๋ํ์ต์ ViT๊ฐ ํจ์น ๊ฐ ์ ์ญ ๊ตฌ์กฐ์ ์๋ฏธ ์ค์ฌ ํํ์ ํ์ตํ๋๋ก ์ ๋ํด, ๊ธฐ์กด CNN์ inductive bias ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ฐ์ดํฐ ํจ์จ์ฑ๊ณผ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํต๋๋ค.โ
์์ฃผ ์ข์ ์ง๋ฌธ์ด์ผ.
์ด๊ฑด โ์๊ธฐ์ง๋ํ์ต์ ์ธ ์ค ์๋คโ โ โ์ธ์ ๋ฌด์์ ์ ํํ ์ง ์๋คโ๋ก ๊ฐ๋ ํต์ฌ ํฌ์ธํธ์ผ.
๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ๐
๊ตฌ์กฐ/์ ์ญ ์ดํด๊ฐ ์ค์ํ๋ฉด โ MAE
๊ฐ์ฒด/์๋ฏธ ์ค์ฌ ํํ์ด ์ค์ํ๋ฉด โ DINO
์๋์์ ์ฐจ์ด โ ์ด์ โ ์ค์ ์ ํ ๊ฐ์ด๋๋ก ์ ๋ฆฌํ ๊ฒ.
โ๋ณด์ด์ง ์๋ ํจ์น๋ฅผ ๋ณต์ํ๋ผโ
๐ โ์ด ์ด๋ฏธ์ง์ ์ ์ฒด ๋ผ๋๋ฅผ ์ดํดํ๋๊ฐ?โ
โ๊ฐ์ ์ด๋ฏธ์ง๋ ๊ฐ์ ํํ์ ๊ฐ์ ธ๋ผโ
๐ โ์ด ์ด๋ฏธ์ง์ โ์๋ฏธโ๋ ๋ฌด์์ธ๊ฐ?โ
| ํญ๋ชฉ | MAE | DINO |
|---|---|---|
| ํ์ต ๋ชฉํ | ๋ณต์ | ์๋ฏธ ์ ๋ ฌ |
| ์ฃผ๋ ฅ ํํ | ๊ตฌ์กฐ/ํํ | ๊ฐ์ฒด/์๋ฏธ |
| attention ์ฑํฅ | ๋ถ์ฐ์ | ๊ฐ์ฒด ์ง์ค์ |
| class token | ์ฝํจ | ๋งค์ฐ ๊ฐํจ |
| segmentation ์นํ | โญโญโญโญ | โญโญโญโญโญ |
| classification ์นํ | โญโญโญ | โญโญโญโญโญ |
๐ โ์ด๊ฒ ์ด๋ค ๊ตฌ์กฐ๋ฅผ ๊ฐ์ก๋๊ฐ?โ๊ฐ ์ค์
๐ โ๋ฌด์์ด ์๋๊ฐ?โ๊ฐ ์ค์
๐ DINO ViT attention = ๊ฐ์ฒด ๋ง์คํฌ ์์ค
๐ DINO
๐ MAE
๐ DINO ๋จผ์ โ ๋ถ์กฑํ๋ฉด MAE
| ํญ๋ชฉ | MAE | DINO |
|---|---|---|
| ์ฌ์ ํ์ต ๋น์ฉ | ๋์ | ์ค๊ฐ |
| fine-tuning ์์ ์ฑ | โญโญโญโญ | โญโญโญโญโญ |
| small data ์ ์ | โญโญโญ | โญโญโญโญโญ |
| class separation | โญโญโญ | โญโญโญโญโญ |
์ค๋ฌด/์ฐ๊ตฌ์์๋:
๐ ๊ตฌ์กฐ + ์๋ฏธ ๋ ๋ค ์ฑ๊น
MAE๋ โ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ ํํโ์ ๋ง๋ค๊ณ ,
DINO๋ โ์๋ฏธ๋ฅผ ๊ตฌ๋ถํ๋ ํํโ์ ๋ง๋ ๋ค.
โ์ ์ญ ๊ตฌ์กฐ์ ํํ ์ดํด๊ฐ ์ค์ํ ๊ฒฝ์ฐ์๋ MAE๊ฐ, ๊ฐ์ฒด ์ค์ฌ์ ์๋ฏธ ํํ๊ณผ ๋ถ๋ฅ ์ฑ๋ฅ์ด ์ค์ํ ๊ฒฝ์ฐ์๋ DINO๊ฐ ๋ ์ ํฉํฉ๋๋ค.โ
์ข์. ์ด์ DINO๊ฐ โ๋ฌด์์ธ์งโ๋ฅผ ์ฒ์ ๋ฃ๋ ์ฌ๋๋ ์ดํดํ ์ ์๊ฒ,
๊ฐ๋
โ ์ ๋์๋์ง โ ์ด๋ป๊ฒ ํ์ต๋๋์ง โ ViT์์ ์ ๊ฐํ์ง ์์๋ก ์ค๋ช
ํ ๊ฒ.
DINO (Self-Distillation with NO labels) ๋
๐ ๋ผ๋ฒจ ์์ด๋ ์ด๋ฏธ์ง์ โ์๋ฏธ ์๋ ํํโ์ ํ์ตํ๋ ์๊ธฐ์ง๋ํ์ต ๋ฐฉ๋ฒ์ด์ผ.
ํ ์ค๋ก ์์ฝํ๋ฉด:
โ๊ฐ์ ์ด๋ฏธ์ง์ ์๋ก ๋ค๋ฅธ ๋ชจ์ต์ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ ธ์ผ ํ๋คโ
์ด ์์น๋ง์ผ๋ก ํ์ตํ๋ ๋ชจ๋ธ
๊ธฐ์กด ๋ฌธ์ :
๊ทธ๋์ ๋์จ ์ง๋ฌธ:
โ๋ผ๋ฒจ ์์ด๋, ์๋ฏธ ์ค์ฌ ํํ์ ๋ฐฐ์ธ ์ ์์๊น?โ
๐ ๊ทธ ํด๋ต์ด DINO
DINO๋ ๊ต์ฌโํ์(studentโteacher) ๊ตฌ์กฐ๋ฅผ ์ฐ๋๋ฐ,
์ฌ๊ธฐ์ ํต์ฌ์ ๐
์ฆ,
๋ชจ๋ธ์ด ์๊ธฐ ์์ ์ ๊ฐ๋ฅด์น๋ค
โ Self-Distillation
์:
Image
โโ View 1 (large crop)
โโ View 2 (large crop)
โโ View 3 (small crop)
โโ View 4 (small crop)
โ๊ฐ์ ์ด๋ฏธ์ง์์ ๋์จ ํํ์ ๊ฐ์์ผ ํ๋คโ
์์์ ์ผ๋ก๋:
๋ผ๋ฒจ ์์
ํด๋์ค ์์
์ค์ง ํํ ์ ๋ ฌ(align) ๋ง ์์
์๊ธฐ์ง๋ํ์ต์ ๊ฐ์ฅ ํฐ ์ํ:
๋ชจ๋ ์ด๋ฏธ์ง๊ฐ ๊ฐ์ ๋ฒกํฐ๋ก ๊ฐ๋ฒ๋ฆฌ๋ ๊ฒ (collapse)
DINO๋ ์ด๊ฑธ ๋ ๊ฐ์ง ์ฅ์น๋ก ๋ง์:
๐ ๊ทธ๋์ ์๋ฏธ ์๋ ๋ถ์ฐ๋ ํํ์ด ์ ์ง๋จ
์๋ฌด supervision๋ ์ ํ๋๋ฐ
ViT attention์ด ๊ฐ์ฒด๋ฅผ ์ ํํ ๊ฐ๋ฆฌํจ๋ค
์ฆ:
๐ ์ด๊ฑด CNN์์๋ ๊ฑฐ์ ์ ๋ณด์ด๋ ํ์
๐ ๊ฒฐ๊ณผ:
ViT์ attention = ๊ฐ์ฒด ์ธ์๊ธฐ์ฒ๋ผ ํ๋
| ํญ๋ชฉ | ์ง๋ํ์ต | DINO |
|---|---|---|
| ํ์ ๋ฐ์ดํฐ | ๋ผ๋ฒจ ํ์ | ๋ผ๋ฒจ โ |
| ํ์ต ๋ชฉํ | ์ ๋ต ํด๋์ค | ์๋ฏธ ์ ๋ ฌ |
| attention | ๋ถ์ฐ์ | ๊ฐ์ฒด ์ง์ค |
| few-shot | ์ฝํจ | ๊ฐํจ |
๐ ๋ฐฉ๋ฒ(method) ์ด๋ค.
์ฒ๋ผ ์ด๋ค backbone์๋ ์ ์ฉ ๊ฐ๋ฅ
ํ์ง๋ง:
ViT์์ ํจ๊ณผ๊ฐ ์๋์ ์ผ๋ก ํผ
โ
๋ผ๋ฒจ์ด ๊ฑฐ์ ์์
โ
๊ฐ์ฒด/์๋ฏธ ์ค์ฌ ํ์คํฌ
โ
๋ถ๋ฅ, ๊ฒ์ถ, ๋ถํ ๋ก ํ์ฅ ์์
โ
foundation model ๊ธฐ๋ฐ ์์
DINO๋ ๋ผ๋ฒจ ์์ด๋ ๊ฐ์ ์ด๋ฏธ์ง์ ๋ค์ํ ๊ด์ ์ ๊ฐ์ ์๋ฏธ ๊ณต๊ฐ์ผ๋ก ์ ๋ ฌํด,
๊ฐ์ฒด ์ค์ฌ์ ๊ฐ๋ ฅํ ํํ์ ํ์ตํ๋ ์๊ธฐ์ง๋ํ์ต ๋ฐฉ๋ฒ์ด๋ค.
โDINO๋ self-distillation ๊ธฐ๋ฐ์ ์๊ธฐ์ง๋ํ์ต ๋ฐฉ๋ฒ์ผ๋ก, ๋ผ๋ฒจ ์์ด๋ ์ด๋ฏธ์ง์ ์๋ฏธ ์ผ๊ด์ฑ์ ํ์ตํด ViT์์ ๊ฐ์ฒด ์ค์ฌ์ ๊ฐ๋ ฅํ ํํ์ ํ์ฑํฉ๋๋ค.โ