CLIP: Connecting Text and Images

Thursday, April 28, 2022

OpenAI CLIP 관련 자료를 읽고 정리합니다.

Summary

  • 이미지와 텍스트를 매우 잘 representation 하는 모델을 만들어, 이미지 데이터에 대한 높은 zero-shot 성능을 이끌어내고자 했음
  • 학습 방법
    1. mini-batch N개 만큼의 이미지와 텍스트를 준비하여, N개씩 이미지 임베딩과 텍스트 임베딩을 제작
    2. 그러면 이미지 임베딩과 텍스트 임베딩 대해서 N x N matrix 형태의 similarity를 계산할 수 있는데, 동일한 셋에서 나온 이미지와 텍스트의 similairty가 최대가 되도록 contrastive loss를 사용하여 모델을 학습
  • Zero-shot classification 방법 (테스트)
    1. 먼저 dataset 내의 label을 텍스트 인코더에 넣어줘서 텍스트 임베딩을 미리 다 뽑아 놓은 다음에,
    2. 이미지 인코더에 이미지를 입력을 제공하여, 현재 존재하는 텍스트 임베딩 중에서 어떤 것과 가장 similarity가 높은지 확인

Comment

  • 어떠한 모든 데이터셋에 대해서도 zero-shot으로 classification 할 수 있는 강력한 모델
  • 최근에 유명한 DALL-E 도 CLIP 임베딩을 활용했다고 함
  • Fully supervised 방식과 견줄만 하다는 것이 매우 인상적임. 좋은 representation을 배웠기 때문에 타겟 데이터셋을 한 장도 보지 않더라도 해당 데이터 셋으로만 학습시킨 모델과 견줄 수 있다는 것이니, 그 어느 알고리즘보다도 generalization 성능이 높다는 생각이 들었음

References

PaLM: Pathway Language Model

Solving ImageNet