Introduction & Motivation
- NLP 분야에서는 Transformer의 발표 이후, Seq2Seq와는 다르게 긴 문장도 잘 처리할 수 있는 능력을 갖게 되었다.
- 그러한 능력을 기반으로, 인터넷 상의 많은 raw text data를 이용하여 큰 모델, 큰 데이터셋을 이용하여 대규모로 학습(Pre-train)할 수 있게 되었음. → 이러한 배경에 힘입어, NLP 쪽은 혁명적으로 발전하여 GPT, BERT와 같은 LLM 등이 등장하게 되었다.
- 그러나 Vision 분야에서는 아직 ImageNet과 같은 제한된 크기의 Labeled dataset이 관행적으로 사용되고 있었음. ImageNet의 데이터셋의 양이 적은 편은 아니나, 사람이 직접 사전 처리를 해주어야 하는 labeled dataset으로 학습하는 방식은 사용할 수 있는 데이터의 개수에 한계가 있었다.
- NLP에서와 같이, Vision 분야에서도 대규모의 raw data(Image-text data)를 이용하여 학습(Pre-train)하는 방식을 차용한다면, 어떤 돌파구가 될 수 있지 않을까 - 라는 생각에서 기존의 한계를 극복하고자 했다.
Approach
1. Natural Language Supervision
- Text data와는 다르게, vision data(image)는 기존의 방법으로는 대규모의 raw data를 이용하여 학습할 수 없었다.
- text는 간단하게 인터넷 상에서 많은 raw한 text data를 가져와 그대로 dataset으로 사용할 수 있었지만, 같은 방법으로 raw image data를 모으기에는, 많은 양의 image에 하나하나 label을 달아줄 수 없었기 때문이다.
- CLIP에서는 대규모의 data를 확보하기 위해, 이러한 문제들을 Natural Language Supervision(자연어 감독)을 사용하였다.
- 이미지에 각각 대응되는 label을 사용하는 것이 아닌, 인터넷 상에서 이미지에 달려 있는 설명 그대로를 대응시켜 이용하자는 것.
- Image(visual) representation을 학습하는 데에 Natural Language Supervision(자연어 감독)을 사용하려는 시도 자체가 이전에 없었던 것은 아니다. 그러나 다른 방법에 비해 성능이 낮았기 때문에, 일반적으로 널리 사용되지 않았다.
- Natural Language Supervision을 이용하는 것이 아니더라도, Image-text 쌍을 학습하는 예시는 이전에도 많이 존재했다. 예를 들어, VirTex, ConVIRT와 같은 것들이 존재한다.
- 각각 간단하게 소개하자면, VirTex에서는 Image-caption 쌍을 이용해 학습하였으며, 이미지로부터 특정 캡션을 생성하는 것을 목표로 학습한다.
학습 과정에서 Image Encoder와 Text Decoder를 동시에 학습하며, 이 task를 통해 간접적으로 Image에 대한 Representation 과정을 학습할 수 있다.
- ConVIRT는 CLIP과 꽤나 유사한데, Image-Text 쌍을 Contrastive Learning을 이용해 학습한다.
Image, Text를 각각 encoding하여, 같은 쌍의 image-text 쌍의 임베딩은 가깝게, 다른 쌍은 멀어지도록 학습한다.
학습 과정에서 Image encoder, text encoder가 함께 학습되며, 이미지-텍스트 쌍의 연관성을 학습할 수 있다.
그러나 의료 도메인에 특화된 모델로써, text encoder로 BioBERT를 이용하였고, 의료 도메인 쪽의 데이터만을 활용하였다는 특징이 존재.
- 결국 다른 모델들과의 가장 큰 차이점은, 인터넷 상에서 수집한 약 4억 개의 이미지-텍스트 쌍이라는 대규모 데이터를 통해 학습시켜 generality를 얻었다는 것이다.
2. Contrastive Learning, Select Training Method

- VirTex와 같이, 위의 bag-of-word나 transformer를 이용하는 방식은 각 Image에 대해 정확히 대응되는 text를 predict하도록 학습한다. 이러한 접근 방식은 대규모의 데이터를 학습하기에는 시간이 너무 오래 걸린다.
- (위의 이미지에서, 이미 transformer language model이 bag-of-word보다 ImageNet data에 대해 동일한 zero-shot accuracy에 도달하는 데에 3배나 오랜 시간이 걸린다는 것을 알 수 있다. 심지어 transformer 학습에 2배 정도의 compute power를 사용했음에도.)
- 최근 연구에서는(이 논문 기준. 2021.01), 이러한 predict 방식보다 constrastive한 representation learning 방식이 더 나은 representation을 학습할 수 있다는 것을 확인했다.
또한, 위의 그래프와 같이 contrastive objective를 이용함으로써 더 적은 연산을 필요로 한다는 것을 실험적으로 확인하였다.

- CLIP에서는 N개의 Image, text 쌍을 가진 하나의 batch에서, 위 그림과 같이 NxN개의 페어링을 생성한다.
이러한 페어링에서, 원래의 Image-text 쌍에 대한 N개의 페어링의 cosine similarity가 높아지도록, 다른 맞지 않는 N^2-N개의 페어링에 대해서는 cosine similarity가 낮아지도록 학습한다.
