CLIP 배경 설명
- CLIP(Contrastive Language-Image Pre-training)은 OpenAI가 2021년 1월 발표한 멀티모달 AI 모델이다.
- 자연어의 대규모 데이터들을 이용한 학습 방법을 Computer vision 분야에 확장했다는데 그 의의가 있다.
Abstract
- SOTA(그 당시) Computer vision 모델들은 정해진 카테고리 내에서 학습되었고, 새로운 label에 대해 새로운 학습이 필요하다는 일반화의 약점이 있었다.
- 이미지를 raw text(category화 되지 않은)으로부터 직접 학습하는 것은 일반화의 약점을 극복할 수 있는 방법이다..
- 이미지와 텍스트 쌍들의 데이터 중, 어떤 캡션이 어떤 이미지에 해당하는지를 예측하는 간단한 pre training task를 진행하면 이미지의 representation을 일반화의 단점을 극복할 수 있다.
- pre training model을 이용하여, 자연어를 통해, 모델이 학습한 visual concept를 호출하거나, 다양한 downstream task에 zero-shot 방식의 transfer가 가능하다.
- 이 방법의 효과성을 입증하기 위해, 30개 이상의 Computer vision 데이터셋 대상으로 벤치마킹을 수행하였다. 그 결과, 각 데이터셋에 대한 학습 없이도, 해당 dataset으로 학습한 모델들과 필적할만한 좋은 성능을 보였다. (ex. ResNet-50 ImageNet에서 비슷한 성능)
Introduction
[NLP 분야의 성공]
- NLP 분야에서 raw text(별도 데이터셋으로 가공되지 않은 텍스트들)를 이용하여 pre-training 하는 방법은 모델의 성능을 비약적으로 상승시켰다.
- 별도의 task 없이, text masking을 통한 pre-training은, 추가적인 학습 없이 여러 목적의 task에 쉽게 적용할 수 있게 되었다.
- 이런 NLP에서의 성공은, 고품질의 수작업 라벨링 데이터들보다, 정제되지 않은 web의 수많은 데이터들이 더 유용함을 내포한다.
[CV 분야의 Scale 한계]
- 하지만, Computer vision 등의 분야에서는 아직도 web 기반의 데이터가 아닌, 수작업 라벨링 데이터들로 pre-training을 진행하는 일이 빈번하다.
- web 기반의 방대한 데이터를 활용하기 위해, 여러 연구들이 있었지만, 성능 측면과 일반화 측면에서 한계들을 보였다. 이러한 한계들이 발생한 이유는 학습에 사용한 데이터의 규모의 차이 때문이다.
[CLIP 소개]
- 이 연구에서는 데이터 규모의 한계를 극복하여, 온라인에 존재하는 방대한 데이터들을 사용할 수 있는 CLIP이라는 모델을 제안한다.
- 이를 위해, 400만의 이미지-텍스트 pair 데이터셋을 구축하였고, CLIP을 처음부터 학습하였다.
- CLIP의 효과성을 입증하기 위해, 30개의 데이터셋에서 각 데이터셋으로 학습한 모델들과 성능 비교를 하였고, 기존 모델들과 필적할만한 좋은 성능을 보였다.
Approach
자연어를 이용한 학습
- 자연어를 통한 학습은 별도의 라벨링을 요구하지 않기 때문에, 방대한 데이터셋을 활용할 수 있다는 확장성의 장점이 있다.
- 또한, 자연어를 이용한 학습은 단순 representation 만을 학습하는 것이 아니라, representation과 자연어 사이를 결합하여, 유연한 zero-shot transfer가 가능하도록 하였다.
대규모 데이터셋 구축
- 기존 연구들은 MS-COCO 등의 크라우드소싱 기반 라벨 데이터셋 형태로 존재하였다. 이런 데이터셋은 약 10만 장쯤의 이미지로 현대적 기준으로 매우 적은 규모의 데이터셋이다.
- 앞서 소개한 자연어를 통한 학습의 장점인 확장성의 장점을 활용하기 위해, 인터넷에 공개된 다양한 데이터로부터 총 4억 개의 이미지 -텍스트 pair로 구성된 새로운 데이터셋을 구축했다.
- 또한, 다양한 visual concept를 포함하기 위해, 50만 개의 query 리스트를 만들고, 이 중 하나 이상의 텍스트를 포함한 이미지-텍스트 pair를 검색해 수집하도록 했다.
효율적인 Pre-training 방법 선택
- 초기에는 VirText와 유사한 접근법으로 CNN과 Transformer를 함께 학습시켜, 각 이미지에 해당하는 Caption 문장을 예측하도록 하였지만, 연산 비용으로 인해 확장성의 문제가 있었다.
- 이 방법의 문제는 이미지에 해당하는 정확한 문장을 예측하려 한다는 것이다. 실제 이미지를 표현하는 텍스트에는 여러 방법이 있으며, 정확한 정답 문장이라는 것이 존재하지 않는다.
- 따라서, 이미지 표현을 predictive 기반의 objective보다, contrastive objective를 통해 학습하는 것이 더 나은 representation을 학습할 수 있다.
- contrastive objective를 도입하여, 기존의 방식보다 zero shot transfer의 속도가 4배 더 빨라지는 효율성 향상을 보였다.
- CLIP은 하나의 batch에 포함된 N개의 이미지-텍스트 pair를 통해 학습된다. 학습의 목표는 batch 내의 NXN개의 가능한 이미지-텍스트 조합 중에서 실제로 짝지어진 N개의 쌍이 무엇인지를 예측하는 것이다.
- 이를 위해 1) 이미지 인코더와 텍스트 인코더를 함께 학습시키고, 2) 실제 pair인 N개의 이미지-텍스트 쌍에 대해서는 cosine similarity를 최대화하고, 3) 나머지 N(N-1) 개의 잘못된 조합에 대해 최소화하도록 학습한다.
- CLIP은 대규모 데이터셋으로 학습하기 때문에, overfitting에 대한 우려가 덜하여, 이미지 인코더 학습 시, 별도의 ImageNet pretrained 모델을 쓰지 않았고, 텍스트 인코더 학습 시, 별도의 Laguage 모델을 사용하지 않고 처음부터 학습했다.
Scaling Model 선택
- 이미지 인코더로는 확장성 증명을 위해, ResNet-50 기반구조와 ViT 구조를 사용하였고, 텍스트 인코더로는 Transformer를 사용하였다.
- EfficientNet의 Scaling 전략을 따라, 계산 자원을 depth, width, resolution에 골고루 분배하는 방법을 사용했다.
Experiments
- CLIP은 별도의 fine tuning 없이, 텍스트 프롬프트 만으로 다양한 이미지 분류 작업을 수행한다.
- OCR, 행동인식, 지리 위치 추정등 30개 이상의 벤치마크에서 zero shot transfer를 통해 높은 성능을 확보했다.
- 모델의 크기와 연산량이 커질수록 성능이 예측 가능하게 향상된다. (smooth scaling)
- 가장 큰 ViT-L/14@336px 모델에서 가장 좋은 성능을 보였다.
- contrastive learning은 기존 문장 예측 방식보다 최대 4배 효율적이었다.
Conclusion
- 이 논문에서는 NLP 분야에서 task-agnostic web 규모의 pre-training 방식의 성공을 Computer vision에 적용할 수 있음을 보였다.
- CLIP은 pre-training 중, 다양한 task를 자동으로 학습하게 되고, 이를 자연어 프롬프트를 활용하면, 기존의 여러 데이터셋에 제로샷 방식으로 전이할 수 있게 된다.
- 이 방식들은 task-specific supervised model(특정 목적을 위해 수집된 데이터셋으로 학습한 모델)과 필적할 만한 좋은 성능을 보이지만, 개선 가능한 부분도 많이 존재한다.
'Computer Vision' 카테고리의 다른 글
EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention 논문 리뷰 (1) | 2024.12.30 |
---|---|
MobileViT v2 논문 리뷰 (34) | 2024.01.08 |
Fine-tuning Image Transformers using Learnable Memory 논문 리뷰 (21) | 2023.12.12 |
MobileViT 논문 리뷰 (57) | 2023.12.07 |
DETR : End-to-End Object Detection with Transformers 논문 리뷰 (47) | 2023.11.07 |