요새 자연어와 이미지를 함께 사용하는 멀티 모달(multi-modal)에 대한 연구가 활발하다. 자연어와 이미지의 멀티모달에 대한 유명한 베이스 논문으로 CLIP:Learning Transferable Visual Models From Natural Language Supervision[1]이 있다. CLIP은 2021년 OpenAI에서 발표한 Language와 Image 간의 연결을 학습하는데 중점을 둔 모델이다. Stable Diffusion이나 Dall-E 같은 기술의 베이스가 되는 논문이라고도 할 수 있다.
CLIP은 (image, text) 쌍이 되는 데이터 샘플을 웹에서 약 4억장정도 모아서 학습에 사용한다. n개의 (image, text) 샘플을 가진 mini-batch에서 모든 image와 모든 text를 쌍으로 맺고, 옳은 쌍과 틀린 쌍을 구별한다. 이미지 인코더와 텍스트 인코더를 동시에 학습해서 multi-model 임베딩 공간을 구성하는데 옳은 쌍의 코사인 유사도는 최대화하고 틀린 쌍의 코사인 유사도는 최소화하도록 대조 학습(Constrastive learning)을 적용한다.
CLIP
CLIP(Contrastive Language-Image Pre-Training)은 다양한 (이미지, 텍스트) 쌍에 대해 학습된 신경망이다. 그림 1은 CLIP의 아키텍처이다.
CLIP는 이미지와 텍스트를 입력으로 받아 공통의 임베딩 공간으로 변환한다. 이 공통 임베딩 공간은 이미지와 텍스트 간의 유사성을 반영하도록 설계되어 있다. 따라서 유사한 이미지와 텍스트는 임베딩 공간에서 가까이 위치하게 되고, 이미지와 텍스트 임베딩 간의 상호작용을 모델링한다. 상호작용은 임베딩 간의 유사성 점수를 계산하는 방식으로 이루어진다. 논문에서는 ImageNet weights로 이미지 인코더를 초기화하거나 미리 학습된 가중치로 텍스트 인코더를 초기화하지 않고 처음부터 훈련했다고 한다.
그림 2는 CLIP의 핵심 부분을 pseudocode로 작성한 것이다. 이미지와 텍스트에 대한 encoder 를 만들고 정규화 후 loss를 구하는 부분이다. 논문에서는 다양한 실험을 통해 이렇게 학습된 모델의 성능을 보여주고 있다. 특히 zero-shot learning의 성능 관련해서, 논문에서 정의하는 zero-shot learning은 학습과정에서 한번도 보지 못한 데이터셋에 대해서 그 성능을 평가하는 것이다. 이미지가 입력되면 이미지 인코더로 feature를 추출하고, 모든 클래스 (e.g., 개, 고양이 등)를 텍스트 인코더에 통과시켜 텍스트 특징을 추출한다. 이 텍스트 특징들 중 이미지 특징과 가장 높은 상관관계를 가지는 텍스트를 입력 이미지의 물체 분류 결과로 선택하여 출력하였다. ImageNet에 대한 zero-shot learning 실험 결과로 76.2%의 높은 성능을 보였다고 한다.
CLIP의 주요한 특징은 다양한 데이터셋에서 사전 학습되었고, 이미지와 텍스트 간의 유사성을 공유하는 임베딩 공간을 사용한다는 점인것같다. 이를 통해서 이미지와 텍스트를 함께 처리하고 상호작용을 모델링함으로써 다양한 응용 프로그램에 적용할 수 있는 강력한 모델이다.
'Computer Vision' 카테고리의 다른 글
PP-OCR 기술 리뷰 (0) | 2023.07.03 |
---|---|
Text Detection : DPText-DETR (0) | 2023.06.28 |
Swin Transformer 논문 리뷰 (0) | 2023.06.23 |
CRNN(Convolutional Recurrent Neural Network) 모델 개요 (0) | 2023.06.20 |
컴퓨터비전에서의 Attention Mechanism에 대한 개요 (0) | 2023.06.20 |