개인 공부

CLIP : Connecting text and images. (기본 개념)

Beige00 2024. 6. 25. 14:15

* https://openai.com/index/clip/ 를 읽고 작성한 글입니다.

 

CLIP(Contrastive Language-Image Pre-training) 모델은 자연어를 통해 시각적 개념을 효율적으로 학습할 수 있게 설계된 신경망이다. 이 모델은 GPT-2, GPT-3의 "제로 샷"과 유사하게, 인식해야 할 시각적 카테고리의 이름마 제공하면 어떤 시각적 분류 벤치마크에도 이용할 수 있다.

 

CLIP은 인터넷에서 발견되는 (이미지-텍스트) 쌍을 이용한다. 이 데이터를 이용하여 주어진 이미지에 대해 무작위로 샘플링된 32,768 개의 텍스트 스니펫 세트 중에서 실제로 데이터 세트에서 어떤 것과 쌍을 이루었는지 예측하는 proxy training task를 만든다.

더보기

Proxy Training Task란 본질적은 학습 목표를 달성하기 위해 사용되는 간접적이거나 대체적인 훈련 과제이다.

이러한 Proxy Training Task는 보통 더 크고 복잡한 목표를 달성하기 위한 중간 단계로 사용한다.

(복잡한 문제를 해결할 때, 데이터가 부족하거나 비용이 많이 들 때에 사용한다.)

이러한 Proxy Training Task를 해결하기 위해, CLIP 모델은 이미지에서 다양한 visual concept을 추출하고, 그들의 name과 연관시켜야한다.

CLIP은 이미지 인코더, 텍스트 인코더를 주어진 (I,C) 쌍으로 학습한다.(Pre-train) 그 후, 이 동작을 사용하여 CLIP을 제로 샷 분류기로 바꾼다.

 

결과적으로 CLIP 모델은 거의 대부분의 시각적 분류 작업에 이용될 수 있다. 

 

CLIP을 사용할 때 이점

1. 기존 딥러닝과 비교하여 비용이 적은 DataSet 

=> 딥 러닝에는 많은 데이터가 필요하며 비전 모델은 전통적으로 construct cost가 올라가고 미리 결정된 제한된 부분에서만 훈련되어 왔다. 예를들면 ImageNet DataSet는 25000명 이상의 작업자가 22000개의 객체 범주에 대해 1400만 개의 이미지에 주석을 달아야만 했다. 이와 대조적으로, CLIP은 인터넷에서 공개적으로 사용할 수 있는 텍스트-이미지 쌍에서 학습한다.

 

2. Scalbility가 좋다.

=> 기존 ImageNet 모델과 같은 딥러닝 방식은 주어진 작업 범위 내에서만 돌아갔다. 다른 작업을 수행하려면 ML 실무자가 새로운 DataSet을 구축하고 출력 헤드를 추가하고 모델을 Fine tuning 해야하는 것이다. 

이와 대조적으로 CLIP은 추가 교육 예제가 없이 다양한 시각적 분류 작업을 수행할 수 있도록 조정할 수 있다.(Zeroshot)
새로운 작업에 CLIP을 적용하려면 CLIP의 텍스트 인코더에 작업의 시각적 개념 이름을 "알려주기"만 하면 된다.

 

3. Real-world performance가 좋다.

=> 딥 러닝 시스템은 종종 비전 벤치마크에서 인간 또는 초인간의 성능을 가질 수 있는 것으로 여겨지지만, 실제로 Real-world에 적용되면 성능이 벤치마크에서 설정한 기대치에 미치치 못하기 쉽다. 마치 "시험 공부"만 하여 "시험"을 통과한 학생이 현업에 적응하지 못하는 경우와 흡사하다. 이와 대조적으로 CLIP은 데이터를 훈련할 필요 없이 벤치마크 과정에서 평가가 가능하므로 이 부분의 예방이 가능하다.

 

4. 매우 효율적이다.

=> CLIP은 필터링되지 않고 매우 다양하며 노이즈가 많은 데이터에서 학습하며 제로 샷 방식으로 사용하기 위한 것이다.

물론 이 방법은 상당히 많은 Traning computing이 필요하다. 이러한 컴퓨팅을 줄이기 위해 접근 방식의 훈련 효율성을 향상시키기 위한 알고리즘 방법에 중점을 두었다.

- Constrative objective를 채택하여 텍스트를 이미지와 연결한다.

- Transformer를 사용하여 표준 ResNet보다 효율성을 향상시킨다.

 

5. Generalize 성능과 유연성이 좋다.

=> CLIP 모델은 자연어에서 다이렉트로 광범위한 시각적 개념을 학습하기 때문에 기존 ImageNet 모델보다 훨씬 유연하고 일반적이다.(정해진 Class 내에서 추론하거나 하지 않음.) 특히 OCR에 대한 학습은 표준 ImageNet 모델에서는 발생하지 않는 흥미로운 동작이다.

 

CLIP의 한계점

=> CLIP은 일반적으로 물체를 인식하는 데 잘 작동하지만, 이미지에서 물체의 수를 세는 것과 같은 더 추상적이거나 체계적인 작업, 가장 가까운 물체가 얼마나 더 가까운지를 설명하는 등의 복잡한 작업에서 어려움을 겪는다.

또한 제로샷 CLIP은 자동차 모델, 항공기의 변형 또는 꽃 종들의 차이를 알려주는 것과 같은 specific한 작업에 대해 Specific한 작업별 model에 비해 어려움을 겪는다.

또한 CLIP은 Pre-training data set에서 다루지 않는 이미지에 대한 일반화도 좋다고 할 수 없다.