Abstract
Vision model에 자연어 텍스트 프롬프트를 활용하기 위한 모델
NLP 모델과 Vision 모델의 출력 벡터를 최대한 동일하게 하여 하나의 공간에 표현하도록 함
Labeling 필요성 줄이고 방대한 데이터셋 활용 가능
Zero-shot transfer에 유리
Former approach (Legacy)
이미지를 표현하는 각 자연어 단어를 모델이 이해할 수 있는 라벨로 만들어 데이터셋에 입력 (ex. one-hot encoding)
단점
라벨링 작업 부담
데이터셋 크기 제한 (방대한 양이 필요함)
학습 데이터에 없던 것을 예측하는 zero-shot learning 불가
경직적인 구조
Meanwhile in NLP
Transformer 기반 생성형 모델 개발을 통해 폭발적인 성장을 보임 (BERT & GPT etc)
자연어를 생성 과정을 제어하는 프롬프트로 이용할 수 있었고
인터넷 상 방대한 텍스트 자료를 이용해 학습하였기에 빠른 발전이 가능했었음
Attempts
Mori et al. (1999) 부터 ConVIRT (Zhang et al., 2020) 까지 이미지 처리 모델에 자연어를 이용하려는 시도 꾸준했음
다만 dataset 부족 등으로 인해 labeling model에 비해 성능이 높지 못했음
Prediction에 static softmax classifier을 이용하여 zero-shot 능력이 부족하고 output이 경직된 모습도 보임
CLIP : Text-Image multimodal model
CLIP(Contrastive Language-Image Pre-training)
텍스트와 이미지를 인코딩 한 후 비교 학습(contrastive learning)으로 서로를 matching하는 학습을 진행
이미지 인코더로 Vision Transformer, ResNet 사용
텍스트 인코더로 BPE tokenized Attention model 사용
이미지 벡터와 텍스트 벡터 간의 유사도 파악은 cosine similarity 이용
인터넷 상의 이미지 – 설명 텍스트 쌍을 크롤링해 4억 개의 데이터셋 제작
Cosline Similarity
두 임베딩 벡터를 좌표 평면상의 벡터로 취급 (linear algebra에서는 동일한 개념)
차원이 같다면 같은 좌표 평면상에 mapping 가능 (행렬곱 연산으로 차원 맞추기)
벡터의 길이를 정규화 한 후 Dot product (내적) 연산을 수행하면 1에 가까울 수록 (벡터의 방향이 같을수록) 유사
Visual Transformer (ViT) model
이미지를 적당한 패치 단위로 쪼개 토큰화
이미지 토큰들을 NLP 모델의 단어 토큰처럼 취급해 Attention layer에 투입
Bite Pair Encoding (BPE)
단순한 띄어쓰기와 단어 단위 토큰화는 구두점, 문법 요소, 신조 합성어 등을 분간하지 못함
-> 다른 토큰화 알고리즘 필요성
BPE는 단어를 글자 단위로 분해한 후 빈도수가 높은 글자들을 다시금 merging하여 토큰화.
Efficiency
자연어 기반 모델은 labeling 모델에 비해 3배 정도 느린 경향이 존재
이는 정확한 단어 단위 예측을 하려 하기 때문에 발생한다
학습 시 단어 단위가 아닌 이미지-문장 전체 단위로 학습하면 오히려 labeling model보다 4배 정도 효율적으로 변함
Zero-shot Transfer
학습되지 않은 것을 추론하는 능력
Clip에서의 확장된 정의 : 학습 당시 목적과 다른 task를 일반적으로 수행 가능한지 여부
학습되지 않은 입력을 추론할 때 -> image-text contrastive learning 데이터를 다시 가져와 cosine similarity로 가장 유사한
text와 image 쌍 찾아 확률적으로 출력
Clip vs Human
전반적인 성능은 zero-shot CLIP이 좋음
사람은 few-shot 성능이 좋은 특징을 보이는 반면 CLIP은 one-shot이 오히려 zero-shot에 비해 성능이 떨어짐
사람에게 어려운 문제는 CLIP에게도 어려움
Limitations
몇가지 데이터셋에서는 zero-shot performance가 낮음
추상적, 고급 task 실행 능력 부족
Training data에 있지 않은 data set을 zero-shot prediction하는 성능은 확연히 떨어짐
-> CLIP의 zero-shot은 완전히 generalized 되지는 않음
필요 데이터셋 과다 및 에너지 효율성 문제
학습 데이터의 사회적 편향으로 인한 오염 가능성
Text로 설명하기 힘든 내용을 학습시키기는 힘듬
Few-shot 성능의 제한