-
Learning Transferable Visual Models From Natural Language Supervision (CLIP 심플 요약)카테고리 없음 2022. 7. 23. 14:49
Contrastive pre-training의 서막을 알린 CLIP에 대해서 알아보자.
사실 내용은 상당히 심플하다.
인터넷에서 각종 사진과 거기에 대한 cpationing들을 데이터셋으로 모았다. image and text pairs
총 400 million pairs 4억개의 데이터셋을 확보했고 2개의 embedding을 dot product를 통해 pretrain 시켰다.
vision의 경우 여러가지 모델을 시도하였고 vision transformer가 가장 결과가 좋아 이미지와 텍스트 모두 각각의 트랜스포머를 트레이닝 시켰다.
예를들어 트레이닝을 mini-batch형태로 10개씩 시킨다고 해보자, 왼편에는 10개의 사진이, 오른편에는 10개의 해당 텍스트들이 있다.
이를 각각의 트랜스포머에 넣는다. 그러면 텍스트와 사진의 총 10*10, 100개의 dot product 결과 값이 나온다. 그중에는 당연히 원래 쌍인 10개가 있고, 이 10개 쌍의 dot-product 값을 높이는 방향으로 각각의 트랜스포머를 backpropagation 학습시킨다.
이를 통해 일종의 텍스트 비전간의 common feature space를 만드는 셈이다.
당시 imagenet의 경우, sota에 매우 근접한 결과를 냈다. 당시만해도 accuracy-1의 경우 85%대(현재는 90%의 coca가 차지했고 이 모델 또한 CLIP에 중추인 vision text간 contrastive learning을 주요하게 사용하였다)를 기록하였다.
이 모델이 놀라운 점은 사실 이 논문이 발표되었던 21년 3월초에 같이 발표되었던 text based image generator 모델인 Dalle 의 text encder로써 사용되었다는 점이었는데 이후 올해 발표된 Dalle-2에서도 주요하게 사용되었다는 점이다.
특히 Dalle-2는 특히 텍스트 이해도가 가히 인간에 가깝다고 할 수준의 결과물을 내놓았다.
(아주 간단히 Dalle-2를 설명하자면 이러하다. 크게 내가지로 나뉜다. 첫번째는 CLIP의 text encociding transformer, image encoding transformer이다. 원래는 이미지의 텍스트를 인코더에 넣는다
두번째는 이러한 text와 dot product 값이 높을 것으로 예상되는 vector embedding을 만드는 diffusion model이다(autoregressive transformer로도 시도했으나, diffusion model의 값이 더 좋았다고 한다)
세번째는 이 diffusion model을 통해 만든 vector embedding을 참고로 하여, 이미지를 제작하는 diffusion model이다.
마지막 diffusion model은 64*64의 해당 이미지를 만든다, 그러면 diffusion의 또 다른 특기인 upscaling을 말도안되게 잘 실행한다. 총 두개 upscaling diffusion models가 64pixels -> 256pixels, 256pixels -> 1024 pixels 로 수행하여 최종 결과물을 산출한다. 따라서 CLIP, vision embedding predicting diffusion model, image creating diffusion model, upscaling diffusion models 등 크게 네가지 핵심 모델들이 존재한다고 할 수 있다.)
오히려 나는 달리2의 결과물을 보며 CLIP모델이 가지고 있는 언어적 이해 수준이 말도 안되게 높다고 생각했다.
특히 딥러닝 자체로 AGI를 만들어낼 수 없다고 생각하는 Gary Marcus는 Dalle2의 결과물을 가지고 Dalle2 제작 회사인 Open AI 주요 창업자 및 연구자들과 트위터내에서 설전을 벌이기도했다.
즉 Dalle2의 결과물들을 보면 인공지능이 아직 compositinality에 대한 이해가 부족하며 이것이 deep learning의 한계이며 절대 극복못할거다. 라는 주장이다.
생각해보면 Dalle2는 이미지 모델에 불과하다. CLIP은 기존의 언어 모델인 GPT-3나 BERT같은 모델과 달리 오로지 이미지와의 contrastive learning을 통해 '이미지와 그에 대한 인간의 언어적 해석' 을 겨우 dot product로 이어주는 수준의 작은 파라미터를 가진 모델이라는 점에서 사실 Gary Marcus가 Dalle2가 마치 AGI에 준하느냐를 혹은 가능하냐 안하냐를 판가름하는 잣대로 쓰려고 하는 것은 오히려 딥러닝에 대한 찬사가 아닐까?