CLIP: 텍스트와 이미지 연결하기
OpenAI는 자연어 감독을 통해 시각적 개념을 학습하는 신경망인 CLIP (Contrastive Language–Image Pre-training)을 도입했습니다. 인터넷에서 발견되는 방대한 종류의 이미지와 텍스트 쌍을 학습함으로써, CLIP은 작업별 학습 데이터 없이도 광범위한 시각적 분류 작업을 수행할 수 있으며, 이는 GPT-2 및 GPT-3에서 볼 수 있는 것과 유사한 "zero-shot" 능력을 효과적으로 가능하게 합니다.
표준 컴퓨터 비전의 한계 해결
CLIP은 전통적인 컴퓨터 비전 딥러닝 방식의 세 가지 주요 실패 요인을 해결합니다:
- 비용이 많이 드는 데이터셋의 감소: 전통적인 모델은 비용이 많이 들고 범위가 제한적인 수동 레이블 지정 데이터셋(예: 1,400만 개의 이미지를 주석 처리하기 위해 25,000명의 작업자가 필요했던 ImageNet)에 의존합니다. 대신 CLIP은 인터넷에서 공개적으로 사용 가능한 텍스트-이미지 쌍을 활용합니다.
- 유연성 증대: 표준 모델은 일반적으로 학습된 특정 카테고리에 국한됩니다. 표준 모델을 새로운 작업에 적응시키려면 실무자는 새로운 데이터셋을 구축하고 모델을 미세 조정해야 합니다. CLIP은 텍스트 인코더에 시각적 개념의 이름만 제공함으로써 거의 모든 시각적 분류 작업에 적응할 수 있습니다.
- 강건성 격차 해소: 벤치마크에서의 모델 성능과 실제 "wild" 환경에서의 배포 성능 사이에는 종종 상당한 격차가 존재합니다. OpenAI는 모델이 벤치마크에 특화되어 최적화됨으로써 "속임수"를 쓴다고 추측합니다. CLIP은 특정 데이터로 학습되지 않은 상태에서 벤치마크를 평가받기 때문에, 그 성능은 실제 세계의 유용성을 더 잘 나타냅니다. 테스트 결과, CLIP은 ImageNet zero-shot에서 원래의 ResNet-50 성능과 일치하면서도 이 강건성 격차를 최대 75%까지 줄였습니다.
기술적 접근 방식 및 학습 효율성
CLIP은 프록시 작업을 통해 학습됩니다: 이미지가 주어지면, 모델은 무작위로 샘플링된 32,768개의 텍스트 조각 중 어떤 것이 실제로 해당 이미지와 쌍을 이루는지 예측해야 합니다. 이는 모델이 광범위한 시각적 개념을 학습하고 이를 자연어 이름과 연관시키도록 강제합니다.
학습 컴퓨팅을 최적화하기 위해 OpenAI는 두 가지 핵심 알고리즘 선택을 구현했습니다:
- Contrastive Objective: CLIP은 텍스트와 이미지를 연결하기 위해 contrastive objective를 사용합니다. 소규모에서 중규모 규모의 실험에서, 이는 image-to-text 방식보다 zero-shot ImageNet 분류에서 4배에서 10배 더 효율적인 것으로 나타났습니다.
- Vision Transformer (ViT): Vision Transformer의 채택은 표준 ResNet에 비해 컴퓨팅 효율성을 3배 더 향상시켰습니다.
그 결과, 가장 성능이 좋은 CLIP 모델은 256개의 GPU를 사용하여 2주 동안 학습되었습니다.
능력 및 일반화
CLIP은 OCR, 비디오에서의 동작 인식, 지리적 위치 파악, 세밀한 객체 분류 등 30개 이상의 서로 다른 데이터셋에 걸쳐 높은 유연성을 보여줍니다. 선형 프로브(linear probes)를 사용한 표현 학습 평가에서, 가장 성능이 좋은 CLIP 모델은 26개의 서로 다른 전이 데이터셋 중 20개에서 Noisy Student EfficientNet-L2를 능가했습니다.
한계 및 과제
일반적인 능력에도 불구하고, CLIP은 특정 약점을 가지고 있습니다:
- 추상적 및 체계적 작업: CLIP은 이미지 내 객체의 수를 세거나 공간적 관계(예: 사진 속 자동차가 얼마나 가까운지)를 예측하는 데 어려움을 겪으며, 이 경우 성능은 무작위 추측보다 약간 더 나은 수준입니다.
- 세밀한 분류 (Fine-Grained Classification): 모델은 특정 항공기 변형, 꽃 종류, 또는 자동차 모델과 같이 매우 유사한 카테고리를 구분할 때 작업별 모델보다 효과적이지 않습니다.
- 학습 데이터 외 분포 (Out-of-Distribution Data): CLIP은 사전 학습에 포함되지 않은 이미지에 대해 낮은 일반화 성능을을 보여줍니다. 예를 들어, MNIST 데이터셋의 손글씨 숫자에 대해 88%의 정확도를 달성성하였는데, 이는 인간의 정확도인 99.75%보다 현상저히 낮습니다.
- 프롬프트 민감도 (Prompt Sensitivity): Zero-shot 분류기는 특정 단어 선택에 민감할 수 있으며, 때로는 최적의 성능을을 위해 "prompt engineering"이 필요할 수 있습니다.
더 넓은 영향 및 편향
사용자가 작업별 데이터 없이 자신만의 분류기를 설계할 수 있기 때문에, CLIP은 레이블 선택이 편향을 유도하거나 증폭폭할 수 있습니다. OpenAI는 인종 레이블과 "criminal" 또는 "animal"과 같은 극단적인 용어를 포함한 레이블 세트를 제공했을 때, 모델이 0-20세 사이의 사람들을 극단적인 카테고리로 분류하는 비율이 약 32.3%에 달했습니다. 레이블에 "child" 클래스를 추가하면 이 비율은 약 8.7%로 감소했습니다.
개인정보 보호 및 감시와 관련하여, CLIP은 100개의 후보군 중에서 선택할 때 "in the wild" 유명인 이미지 분류에서 top-1 정확도가 59.2%를를게 달성성하였고, 1,000개의 후보군 중에서 선택할 때 43.3%를를게 달성성하였습니다. OpenAI는 이러한 데모가 작업-agnostic 사전 학습을 통해 가능하지만, 이는 프로덕션 수준의나의 celebrity identification 모델과 경쟁할 수 있는 수준은 아니라고 언급합니다.
Sources
- OriginalCLIP: Connecting text and images