Open AI์์ ๊ฒ์ฌํ(ICML2021) Contrastive Language-Image Pre-training(CLIP)๋ฅผ ์ ์ํ ๋ ผ๋ฌธ์ ์๊ฐํฉ๋๋ค.
Introduction & Motivation
๋ฅ๋ฌ๋์ด computer vision์ ๊ฑฐ์ ๋ชจ๋ ๋ถ์ผ์์ ๊ต์ฅํ ์ ํ์ฉ๋์ง๋ง ํ์ฌ ์ ๊ทผ ๋ฐฉ์์๋ ๋ช๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ธฐ์กด์ vision model๋ค์ ํ์ต๋ task์๋ ์ฑ๋ฅ์ด ์ฐ์ํ์ง๋ง ์๋ก์ด task์ ์ ์ฉ์ํค๊ธฐ ์ํด์๋ ์๋ก ํ์ต์ ์ํค์ผ ํ๋(๊ทธ๋ฌ๋ฉด ์๋ก์ด ๋ฐ์ดํฐ์ ๊ณผ ์ถ๊ฐ ๋ ์ด๋ธ๋ง์ด ํ์..) ๋ฒ๊ฑฐ๋ก์(?) ์ด ์์ต๋๋ค. ๋ฒค์น๋งํฌ์์ ์ ์ํ๋๋ ๋ช๋ช model๋ค์ stress test์์ ์ข์ง ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํฉ๋๋ค.
๋์์ผ๋ก raw text์ image๋ฅผ pair๋ก ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ณธ ๋ ผ๋ฌธ์์๋ ์ธํฐ๋ท์์ ํ๋ถํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ natural language supervision์ ํตํด ๋ค์ํ ์ด๋ฏธ์ง์์ ํ์ต๋๋ network๋ฅผ ์ ์ํฉ๋๋ค.
๊ฐ๋จํ๊ฒ ์๊ธฐํ๋ฉด, ๊ธฐ์กด์ image classification model์ ์ฌ์ฉํ๋ dataset์ด ๊ณ ์ ๋ label์ ๊ฐ์ต๋๋ค. ๋๋ฌธ์ image๋ง feature space ๋ก embeddingํ์ฌ predictionํ๊ณ , ์ ๋ต label๊ณผ ๋น๊ตํ์ฌ loss๋ฅผ ๊ณ์ฐํ์ฌ ํ์ตํฉ๋๋ค. ํ์ง๋ง, ์ ์ํ๋ ๋ฐฉ๋ฒ์ ์น์์์ image-text ์์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ๊ณ ์ ๋ label์ด ์๋๊ณ ์ฌ์ง์ด text๋ ๋ฌธ์ฅ์ ํํ๋ฅผ ํฌํจํฉ๋๋ค. ๋๋ฌธ์ text์ image๋ฅผ ๋ชจ๋ feature space๋ก embeddingํ๊ณ ์ด๋ค์ similarity๋ฅผ ๊ณ์ฐํ์ฌ ํ์ตํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
Pre-training ํ์ ์์ฐ์ด๋ visual concept๋ฅผ ์ฐธ๊ณ ํ๋๋ฐ๋ง ์ฌ์ฉ๋์ด downstream tsak๋ก zero-shot transfer ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. model์ ๋ง์ task์ transfer๊ฐ ์ฑ๊ณต์ ์ด๊ณ ์ฌ์ง์ด ๊ธฐ์กด์ supervision model ๋ณด๋ค ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ์ง๋ง, ์ฌ์ ํ complexํ task์๋ ์ ์ฉํ๊ธฐ ํ๋ ํ๊ณ์ ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํฉ๋๋ค.
NLP ๋ถ์ผ๋ ์ ๋ชจ๋ฅด์ง๋ง...(Attention Is All You Need ์ ๋?..) ๋ณธ ๋ ผ๋ฌธ์ ๋ฐ๋ฅด๋ฉด ์น์์ ๊ฐ์ ธ์จ raw text๋ก pre-trainingํ ๋ชจ๋ธ์ด ๊ธฐ์กด์ supervision model(์ฌ๋์ด ๋ ์ด๋ธ๋งํ ๋ฐ์ดํฐ์ ์ผ๋ก ํ์ตํ) ์ ์ฑ๋ฅ์ ๋ฅ๊ฐํ๋ค๊ณ ํฉ๋๋ค. ํ์ง๋ง, ์ด๋๊น์ง vision ๋ถ์ผ์์๋ raw text ๋ก pre-trainingํ๋ ๋ฐฉ๋ฒ์ ์์๊ณ ๋ณธ ๋ ผ๋ฌธ์์ ์๋ํ์ฌ ์ข์ ์ฑ๊ณผ๋ฅผ ์ด๋์ด ๋ ๋๋ค.
image-text pair์ multi-modal ์ ๋ํ ์ฐ๊ตฌ๋ ์ค๋ซ๋์ ์ง์๋์ด ์์ง๋ง, ์์ฐ์ด๋ฅผ ์ด๋ฏธ์ง representation learning์ ํ์ฉํ๋ ๊ฒ์ ์ฌ์ ํ ๋๋ฌผ๋ค๊ณ ํฉ๋๋ค. ์ด์ ๋ ์ฑ๋ฅ์ด ๊ทธ๋งํผ ์ ์๋์๋ค๊ณ ํฉ๋๋ค. ๋์ 2018๋ ๋ ผ๋ฌธ์์๋ weakly supervised learning์ผ๋ก ์ธ์คํ๊ทธ๋จ ์ด๋ฏธ์ง์์ ImageNet๊ณผ ๊ด๋ จ๋ ํด์ฌํ๊ทธ๋ฅผ ์์ธกํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ธ pre-training ๋ฐฉ๋ฒ์์ ๋ณด์ฌ์ฃผ๊ธด ํ์ต๋๋ค.
๋ณธ ๋ ผ๋ฌธ์์๋ ์์์ ์ธ๊ธํ weakly supervised approach์ zero shot learning using raw text approcah ๊ฐ์ ๊ฐ๊ทน์ ์ค์ด๊ธฐ ์ํด Contrastive Language-Image Pre-training(CLIP) ๋ผ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
* Natural Language Supervision ์ ์ฌ์ฉํ๋ ์ด์ ?
์์ฐ์ด ๊ด๋ จ ์ง์์ด ๋ถ์กฑํ์ฌ ์ ์์ฐ์ด๋ก supervision learning์ ํ๋์ง์ ๋ํ ๋ ผ๋ฌธ์ ์ธ๊ธ๋ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค.
1) ๊ธฐ์กด์ vision task์์ ์ฌ์ฉ๋๋ label์ ๋นํด scaling์ด ์ฝ์ต๋๋ค.
๊ธฐ์กด์ ์ฌ๋์ด ์ง์ ๋ ์ด๋ธ๋ง์ ํ์ง๋ง, ๊ทธ๋ฐ ๊ณผ์ ์ด ํ์์๊ณ ์์ฐ์ด๋ฅผ ์ด์ฉํ ํ์ต์ ์ธํฐ๋ท์ ๋ฐฉ๋ํ ์๋ฃ์ ํฌํจ๋ ํ ์คํธ๋ฅผ supervision์ผ๋ก ์ฌ์ฉํ์ฌ ํ์ต์ด ๊ฐ๋ฅํฉ๋๋ค.
2) ์ธ์ด์ ๋ํ representation์ ํ์ตํ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
์์ฐ์ด๋ฅผ ์ด์ฉํ๋ ํ์ต ๋ฐฉ๋ฒ์ un/semi/self-supervised learning ๋ฐฉ๋ฒ๊ณผ๋ ๋ฌ๋ฆฌ ์ด๋ฏธ์ง representation ๋ฟ๋ง ์๋๋ผ, ์ธ์ด representation์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ ๋ ์ ์ฐํ๊ณ robustํ ์ฅ์ ์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
CLIP
1. Contrasive pre-training
์ธํฐ๋ท์ ๊ณต๊ฐ๋ ๋ง์ ๋ฐ์ดํฐ์ ์ ํตํด 4์ต๊ฐ์ ์ด๋ฏธ์ง-ํ ์คํธ ์์ผ๋ก ์๋ก์ด ๋ฐ์ดํฐ์ ์ ๊ตฌ์ถํ์ฌ CLIP๋ฅผ pre-trainingํฉ๋๋ค. N๊ฐ์ ์ด๋ฏธ์ง-ํ ์คํธ pair๊ฐ ์ฃผ์ด์ก์ ๋, CLIP๋ image embedding feautre์ text embedding feature๋ค๋ก NxN๊ฐ์ cosine similarity map์ ๋ง๋ญ๋๋ค. ๊ทธ๋ฆฌ๊ณ positive pair(์ ๋ต)์ similarity๋ ์ต๋ํํ๊ณ ๋๋จธ์ง N^2-N ๊ฐ์ negative pair(์ค๋ต)์ similarity๋ ์ต์ํํ๋ ๋ฐฉํฅ์ผ๋ก image encoder์ texte encoder๋ฅผ ํ์ตํ์ฌ multi-modal embedding space๋ฅผ ํ์ตํฉ๋๋ค.
๋ํ ์ ์ํ๋ method์์๋ ์ ํํ ๋จ์ด๊ฐ ์๋ ํ ์คํธ ์ ์ฒด๋ก ์ง์ง์ด์ ธ ํ์ต์ ์์ผฐ์ต๋๋ค.
Image encoder๋ก๋ ResNet50๊ณผ Vision Transformer(ViT)๋ฅผ ์ฌ์ฉํ๊ณ Text encoder๋ก๋ Transformer๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
2. Create dataset classifier from label text / Use for zero-shot prediction
CLIP๋ ์ด๋ฏธ์ง์ ์ ํํ ๋จ์ด๋ฅผ ์์ธกํ๋๋ก ํ์ตํ์ง ์๊ณ ํ ์คํธ ์ ์ฒด๋ก ์ง์ ์ง์ด ํ์ต์ํต๋๋ค. ๋๋ฌธ์ ํ ์คํธ ์์๋ A photo of {object} ๋๋ A photo of {object}, a type of food ๋ฑ์ ํ ์คํธ์ ๋ชจ๋ class label์ ๋ฃ๊ณ text encoder์ ๋ฃ์ด text imbedding feature๋ฅผ ๋ง๋ค๊ณ , image๋ image encoder๋ฅผ ํต๊ณผ์์ผ image imbedding feature 1๊ฐ๋ฅผ ๋ง๋ญ๋๋ค. ์ด ๋ ๋ชจ๋ text feature๋ค๊ณผ 1๊ฐ์ image feature ๊ฐ์ similarity๋ฅผ ๋ณด๊ณ ๊ฐ์ฅ ๋์ similarity๋ฅผ ๊ฐ์ง๋ ํ ์คํธ๋ฅผ ์ ํํฉ๋๋ค.
์๋์ ๊ฐ์ ๋ฌธ์ฅํ์์ผ๋ก prediction์ ํ๋ ์ด์ ๋, ์ ์ ๋๋ฌผ์ ์ข ๋ฅ ์ค ํ๋, ์์ ์ค ํ๋, ๋ฑ๋ฑ์ ์ถ๊ฐ ์ ๋ณด๋ฅผ text encoding์์ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ถ๋ฅ ์ฑ๋ฅ์ด ํฅ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
- "A photo of a {label}, a type of pet."
- "a satellite photo of a {label}."
- "A photo of big {label}"
- "A photo of small {label}"
Experiments
๋ณธ ๋ ผ๋ฌธ์์ ๋งํ๋ zero-shot ์ ํ๋ฒ๋ ๋ณด์ง ๋ชปํ datasets์ ๋ํด ๋ถ๋ฅ๋ฅผ ํ๋ ์์ ์ ๋งํฉ๋๋ค. ์ ์๋ค์ zero-shot transfer ๋ฅผ task-learning capabilties๋ฅผ ์ธก์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐํฉ๋๋ค.
CLIP๋ ๋ค์ํ dataset๊ณผ task์์ fully supervision learning ๋ฐฉ๋ฒ๊ณผ ๋น๊ตํ์ฌ ์๋์ ๊ฐ์ด ๊ฒฝ์๋ ฅ ์๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋๋ค. ๊ทธ ์ธ์๋ few-shot learning ๊ณผ์ ๋น๊ต, vision sota์์ ๋น๊ต ๋ฑ๋ฑ์ ๋ํ ๋ค์ํ ์คํ์ด ๋ ผ๋ฌธ์ ํฌํจ๋์ด ์์ต๋๋ค.
* task : fine-grained object classification, geo-localization, action recognition and OCR,... etc
Zero-shot transfer ์ฑ๋ฅ์ด ๋ฌผ์ฒด๋ฅผ ์ธ์ํ๋ task์์๋ ๋งค์ฐ ์ฐ์ํ์ง๋ง, ๋ฌผ์ฒด์ ๊ฐ์๋ฅผ ์ธ๊ฑฐ๋ ๋ฌผ์ฒด๊ฐ ์ผ๋ง๋ ๊ฐ๊น์ด ์๋์ง๋ฅผ ์์ธกํ๋ ์กฐ๊ธ ๋ ๋ณต์กํ task์์๋ ์ข์ง ์์ต๋๋ค. ๋ํ fine-grained recognition ๋ถ์ผ์ ๊ฐ์ ์ด๋ฏธ์ง์ ์ธ๋ฐํ ์ฐจ์ด๋ก ํด๋์ค๊ฐ ๋๋๋ task์์๋ ์ฑ๋ฅ์ด ์ข์ง ์์ต๋๋ค.
* ๋ ผ๋ฌธ์๋ ๋์์์ง ์์ง๋ง, ์๋ง ์น์์ ์ป์ด์ง ์ด๋ฏธ์ง-ํ ์คํธ ์์์ ํ ์คํธ๊ฐ ์ผ๋ง๋ ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ๋ํ๋ด๋์ง๊ฐ ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ง๋ง ๋๋ถ๋ถ์ ํ ์คํธ๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ฌํํ๊ฒ ๋ฌ์ฌํ ๊ฒ์ด๋ฏ๋ก ํ์ฌ ๋ฐฉ๋ฒ์ ์น์์ ํํ ๋ณผ ์ ์๋ ๋ฌผ์ฒด๋ฅผ ์ธ์ํ๋ task์์๋ ํ์ํ transfer ์ฑ๋ฅ์ ๊ฐ์ง์ง๋ง, ํน์ ๋ถ์ผ์ ํ์ ๋ ๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๊ฑฐ๋ ๋งค์ฐ ์ธ๋ฐํ ์ฐจ์ด๊ฐ ์ค์ํ task์์๋ ์ฑ๋ฅ์ด ์ข์ ์ ์์ ๊ฒ์ ๋๋ค.
์ฌ๋ด์ธ๋ฐ, main ์คํ์ 2์ฃผ๋์ 256๊ฐ์ V100 GPU๋ก ์งํํฉ๋๋ค. ๊ณ ๋ก... ์ผ๋ฐ์ ์ธ ๋๋ถ๋ถ์ ํ๊ฒฝ์์๋ ์คํ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. GPU ๊ฐ๊ฒฉ๋ง 1๊ฐ๋น 600์ก๊ณ 15์ต์ ๊ฐ๋ํฉ๋๋ค...
์ 2๊ฐ์ ์คํ์ ๋ฐ์ดํฐ์ distribution shift์ ์ผ๋ง๋ robustํ์ง ์คํํ ๊ฒฐ๊ณผ์ ๋๋ค. ์ฒซ ๋ฒ์งธ ์คํ(Fig 12)์ ๋ค๋ฅธ task๋ก transfer ํ์ ๋์ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅธ method ๋ค์ ๋นํด CLIP๊ฐ ์๋ฑํ ์ข์ ๊ฒ์ผ๋ก ๋ณด์ task shift์ robustํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋ ๋ฒ์งธ ์คํ(Fig 13)์ ImageNet์ผ๋ก pre-trainingํ ResNet101๊ณผ CLIP์ distriution shift ์ ๋ํ ์คํ์ด๊ณ ๊ฒฐ๊ณผ๋ ์ญ์ CLIP๊ฐ ์๋ฑํ ์ข์ต๋๋ค.
์ด์ ๊ฐ์ ๊ฒฐ๊ณผ๋.... CLIP๊ฐ ์น์์์ ๊ฐ์ ธ์จ 4์ต๊ฐ์ ๋ฐ์ดํฐ๋ก ํ์ต์ ์ํค๋๊น ํ์ต ๋ฐ์ดํฐ์ distribution์ด ํฌ๊ณ ๋ง์ case์ ์ด๋ฏธ์ง(์ค์ ์ด๋ฏธ์ง, ๊ทธ๋ฆผ, ์ค์ผ์น ๋ฑ๋ฑ)๋ค์ ํฌํจํ๊ธฐ ๋๋ฌธ์ distribution shift์ robustํ ์ ์์ต๋๋ค.
* ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๊ฒฝ์ฐ ๊ต์ฅํ ์ฑ๋ฅ์ด ์ข์ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ง๋ง ์ค์ ๋ก๋ ํ์ตํ ๋ฐ์ดํฐ์ ๊ต์ฅํ ์์กด์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ๋ ํฉ๋๋ค. Test set์ ๊ฒฐ๊ณผ๊ฐ ์ข๋คํ๋๋ผ๋ train data๊ณผ test data์ distribution์ด ๊ฑฐ์ ์ ์ฌํ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ distribution shift์ robustํ๋ค๊ณ ๋ณผ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ด๋ จ task๋ก domain adaptation/generalization ์ด ์์ต๋๋ค.
์ค์ ๊ฒฐ๊ณผ
๊ฒฐ๋ก
CLIP๋ ์ด๋ฏธ์ง-์์ฐ์ด ์์ผ๋ก task agnosticํ pre-trainingํ์ฌ ๋ค๋ฅธ task์ ๋ฅ๋ฌ๋ ์ฑ๋ฅ์ ํฅ์์์ผ์ค ์ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์์ฐ์ด๋ฅผ vision task์ ์ฑ๊ณต์ ์ผ๋ก ํ์ฉํ ๋ฐฉ๋ฒ์ด๋ฉฐ ์์ฃผ ๋ง์ ๋ฐ์ดํฐ์ ๊ฐ๋ ฅํ computing power๋ก ๋ชจ๋ธ์ ํ์ต์์ผ ์ฌ์ธ์ ๋ชจ๋ธ์ ๋ง๋ ๋๋์ ๋๋ค. ํ์ง๋ง, ์ด๋ค์ด ๋ชจ๋ task๋ฅผ ์ปค๋ฒํ ์์๋ ๋ชจ๋ธ์ ์๋๊ธฐ ๋๋ฌธ์ transfer/knowledge distillation ๋ฑ์ ์ฌ์ฉํ์ฌ ํน์ ํ task์ model์ fine-tuningํ์ฌ ๋น๊ต์ ์ฝ๊ฒ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.