[논문 리뷰] CLIP: 텍스트로 이미지를 이해하는 비전 모델 (OpenAI)

2026. 2. 12. 10:31·1. AI 논문 + 모델 분석/AI 논문 분석

컴퓨터 비전(Computer Vision) 분야에서 모델을 학습시키려면 항상 ‘라벨링(Labeling)’이라는 거대한 장벽이 존재했습니다. "이것은 고양이", "이것은 강아지"라고 사람이 일일이 정답을 달아준 고정된 데이터셋(예: ImageNet)으로만 모델을 학습시켜야 했죠. 하지만 OpenAI가 발표한 CLIP(Contrastive Language-Image Pre-training)은 이 패러다임을 완전히 뒤집었습니다.

인터넷에 널려 있는 방대한 ‘이미지와 텍스트 쌍’을 그대로 활용하여, 처음 보는 이미지도 텍스트 설명만으로 척척 분류해 내는 놀라운 능력을 보여준 CLIP. 이 논문의 핵심 내용과 실험 결과, 그리고 한계점까지 상세히 정리해봅니다.

 

CLIP 논문 링크:

https://arxiv.org/abs/2103.00020

 

Learning Transferable Visual Models From Natural Language Supervision

State-of-the-art computer vision systems are trained to predict a fixed set of predetermined object categories. This restricted form of supervision limits their generality and usability since additional labeled data is needed to specify any other visual co

arxiv.org


1. 기존 비전 모델의 한계와 CLIP의 등장 배경

1-1 닫힌 세계(Closed-set)에 갇힌 비전 모델

기존의 컴퓨터 비전 시스템(ResNet, VGG 등)은 고정된 범주의 객체만 예측하도록 훈련되었습니다. 만약 1,000개의 클래스만 학습한 모델에게 1,001번째 새로운 시각 개념(Visual Concept)을 인식시키려면, 또다시 엄청난 양의 데이터를 수집하고 라벨링을 한 뒤 모델을 재학습해야 합니다. 일반성과 활용성이 극도로 제한될 수밖에 없습니다.

1-2 자연어 처리(NLP) 분야의 혁신에서 얻은 힌트

반면, 자연어 처리 분야는 GPT-3와 같이 인터넷의 방대한 원시 텍스트(Raw Text)를 그대로 활용하는 사전 훈련(Pre-training) 방식을 통해 엄청난 혁신을 이루었습니다. 막대한 컴퓨팅 자원과 데이터를 쏟아부어 스케일링을 한 결과, 별도의 파인튜닝 없이도 다양한 작업을 수행하는 제로샷 전이(Zero-shot Transfer) 능력을 갖추게 된 것입니다.

 

비전 분야에서도 이미지 캡션을 예측하거나 인스타그램 해시태그를 예측하는 등 자연어 지도를 활용하려는 초기 시도들이 있었지만, 기존 최첨단(SOTA) 모델의 성능에는 한참 미치지 못했습니다. (예: ImageNet 제로샷 정확도 11.5% 수준).

 

CLIP의 목표:

  • 제한된 클래스가 아닌, 무한에 가까운 자연어를 지도(Supervision) 삼아 확장성 높고 전이 가능한(Transferable) 시각 모델을 만들어보자!

2. CLIP의 핵심 접근 방식 (Approach)

이 이미지는 CLIP (Contrastive Language-Image Pre-training) 모델의 핵심 아이디어와 작동 방식을 시각적으로 보여줍니다. CLIP은 자연어 설명을 통해 이미지를 이해하고 분류하는 것을 목표로 합니다.

1. 대조적 사전 학습 (Contrastive Pre-training)
이미지와 텍스트 인코더: 이미지 인코더(녹색)는 이미지를 벡터 표현으로 변환하고, 텍스트 인코더(보라색)는 텍스트 설명을 벡터 표현으로 변환합니다.
학습 목표: CLIP은 수억 개의 (이미지, 텍스트) 쌍으로 구성된 대규모 데이터셋을 사용하여 학습합니다. 핵심 학습 목표는 "어떤 텍스트가 어떤 이미지에 해당하는지"를 예측하는 것입니다.
대조적 학습: 배치 내의 N개 이미지와 N개 텍스트가 주어졌을 때, CLIP은 N x N의 모든 가능한 (이미지, 텍스트) 쌍을 생성하고, 실제 짝을 이룬 N개의 쌍에 대해서는 임베딩 벡터 간의 코사인 유사도를 최대화합니다. 반대로, 짝이 되지 않는 N^2 - N개의 쌍에 대해서는 코사인 유사도를 최소화합니다. 이는 모델이 의미론적으로 유사한 이미지와 텍스트를 같은 공간에 배치하도록 학습시킵니다.
이미지: 좌측 상단의 "Pepper the aussie pup"와 같은 텍스트와 여러 장의 강아지 이미지가 주어지고, 이를 통해 텍스트 인코더와 이미지 인코더가 학습되며, 우측의 N x N 행렬은 각 이미지와 텍스트 간의 유사도를 나타냅니다. 파란색으로 강조된 대각선 요소는 실제 짝을 이루는 (이미지, 텍스트) 쌍을 의미합니다.

2. 제로샷 예측 (Zero-Shot Prediction)
클래스 목록: 분류하고자 하는 대상(예: plane, car, dog, bird)들의 목록이 있습니다.
프롬프트 엔지니어링: CLIP은 각 클래스 이름을 "A photo of a {object}." 와 같은 템플릿 문장으로 변환하여 텍스트 인코더에 입력합니다. 이는 모델이 학습한 자연어와 이미지 간의 관계를 활용하여 특정 클래스의 시각적 개념을 이해하도록 돕습니다.
제로샷 분류:
- 새로운 이미지가 주어지면, 이미지 인코더는 해당 이미지의 벡터 표현(I1)을 생성합니다.
- 미리 정의된 클래스 목록을 "A photo of a {label}." 형식의 텍스트로 변환하여 텍스트 인코더에 통과시켜 각 클래스에 대한 텍스트 벡터(T1, T2, ..., TN)를 생성합니다.
- 이미지 벡터(I1)와 각 텍스트 벡터(T1, T2, ..., TN) 간의 코사인 유사도를 계산합니다.
- 가장 높은 유사도를 가진 텍스트 클래스가 해당 이미지의 예측 레이블이 됩니다. 예시에서는 "A photo of a dog."과 가장 높은 유사도를 보여 "dog"으로 분류됩니다.
핵심: CLIP은 훈련 과정에서 특정 클래스에 대한 명시적인 레이블링 없이도, 이미지와 텍스트 간의 일반적인 관계를 학습했기 때문에 이러한 제로샷 분류가 가능합니다.

이 그림은 CLIP이 어떻게 대규모의 자연어 감독을 통해 강력한 시각적 표현을 학습하고, 이를 활용하여 새로운 작업에 대해 추가적인 훈련 없이도(제로샷) 이미지를 분류할 수 있는지를 명확하게 보여줍니다.

2-1 4억 개의 거대한 데이터셋 구축 (WIT)

기존의 MS-COCO나 Visual Genome 같은 데이터셋은 품질은 좋지만 규모가 너무 작았습니다. CLIP 연구진은 인터넷에 공개된 방대한 데이터를 수집하여, 50만 개의 검색어 쿼리를 바탕으로 4억 개의 (이미지, 텍스트) 쌍으로 구성된 WIT(WebImageText)라는 거대한 데이터셋을 독자적으로 구축했습니다. 이는 GPT-2 학습에 사용된 WebText와 맞먹는 엄청난 규모입니다.

2-2 생성(Generation)이 아닌 대조(Contrastive) 학습의 선택

초기에는 이미지에 달린 정확한 캡션(문장)을 단어 단위로 예측하도록 모델을 훈련시켰습니다. 하지만 인터넷의 이미지 설명은 너무나 다양하고 노이즈가 많아, 정확한 단어를 예측하는 방식은 연산량만 엄청나게 소모하고 학습 효율은 극도로 떨어졌습니다.

그래서 연구진은 더 쉬운 프록시(Proxy) 작업으로 방향을 틉니다. 바로 대조 학습(Contrastive Learning)입니다. "이 이미지가 이 정확한 문장과 똑같니?"를 맞추는 것이 아니라, "수많은 텍스트 중에서 이 이미지와 가장 잘 어울리는 텍스트 짝꿍이 누구니?"를 찾도록 한 것입니다. 이 방식을 도입하자 학습 효율이 무려 4배나 폭발적으로 향상되었습니다.

2-3 CLIP의 학습 원리와 핵심 의사코드 (Pseudocode)

CLIP은 이미지 인코더(ResNet 또는 ViT)와 텍스트 인코더(Transformer)를 동시에 훈련시킵니다.

한 번에 N개의 (이미지, 텍스트) 쌍이 배치(Batch)로 들어오면, 모델은 N x N개의 가능한 조합을 만듭니다. 여기서 실제 짝을 이루는 N개의 쌍은 코사인 유사도(Cosine Similarity)를 끌어올리고(최대화), 잘못 짝지어진 나머지 N^2 - N개의 쌍은 유사도를 밀어냅니다(최소화).

# image_encoder: ResNet 또는 Vision Transformer
# text_encoder: Text Transformer
# I, T: 미니배치로 들어온 이미지와 텍스트 쌍
# W_i, W_t: 임베딩 공간으로 보내는 선형 투사 가중치

# 1. 각 양식(Modality)의 특징 표현 추출
I_f = image_encoder(I) 
T_f = text_encoder(T) 

# 2. 동일한 차원의 멀티모달 임베딩 공간으로 투사 및 정규화
I_e = l2_normalize(np.dot(I_f, W_i), axis=1)
T_e = l2_normalize(np.dot(T_f, W_t), axis=1)

# 3. 이미지와 텍스트 간의 코사인 유사도 계산 (스케일링 포함)
logits = np.dot(I_e, T_e.T) * np.exp(t)

# 4. 대칭적 교차 엔트로피 손실 함수(Symmetric Cross Entropy Loss) 적용
labels = np.arange(n) # 정답은 대각선(Diagonal)에 위치
loss_i = cross_entropy_loss(logits, labels, axis=0) # 이미지 기준 손실
loss_t = cross_entropy_loss(logits, labels, axis=1) # 텍스트 기준 손실
loss = (loss_i + loss_t) / 2 # 두 손실의 평균으로 최종 모델 업데이트

이 학습을 위해 무려 32,768이라는 엄청난 크기의 미니 배치를 사용했으며, 가장 큰 ViT-L/14 모델의 경우 256개의 V100 GPU를 사용하여 12일 동안 학습시켰습니다.


3. 놀라운 실험 결과 (Experiments)

3.1 압도적인 제로샷 전이 (Zero-Shot Transfer) 성능

제로샷 전이는 모델이 훈련 과정에서 단 한 번도 보지 못한 데이터셋의 클래스를 맞추는 능력을 말합니다. CLIP은 이미지 특징을 추출한 뒤, 타겟 데이터셋의 모든 클래스 이름을 텍스트 인코더에 넣어 각각의 문장 벡터를 만듭니다. 그리고 이미지 벡터와 가장 유사도가 높은 문장을 정답으로 예측합니다.

결과는 놀라웠습니다. CLIP의 최고 모델은 ImageNet에서 76.2%의 제로샷 정확도를 달성했습니다. 이는 모델이 ImageNet의 128만 개 훈련 데이터를 단 한 장도 보지 않고도, 해당 데이터로 빡빡하게 학습한 원본 ResNet-50의 성능과 맞먹는 수준입니다. 이전 제로샷 연구(11.5%)와 비교하면 말도 안 되는 진전입니다.

3.2 프롬프트 엔지니어링 (Prompt Engineering)의 힘

단순히 "cat", "dog"라는 단어만 텍스트 인코더에 넣으면 동음이의어(다의성) 문제나 문맥 부족으로 성능이 떨어집니다. 연구진은 여기에 텍스트 템플릿을 씌웠습니다.

  • 기본: "A photo of a {label}." (이것만으로도 ImageNet 정확도 1.3% 상승)
  • 맞춤형: 반려동물 데이터셋이라면 "A photo of a {label}, a type of pet."
  • 앙상블: 크기나 위치 등 다양한 문맥을 담은 80개의 프롬프트를 앙상블 적용했더니 성능이 추가로 약 3.5%나 향상되었습니다.

3.3 어디에 강하고, 어디에 약한가?

  • 강점: Kinetics700, UCF101 같은 행동 인식(Action Recognition)에서 기존 지도 학습 모델을 압도했습니다. 자연어에는 명사뿐만 아니라 '동사'에 대한 풍부한 정보가 담겨 있기 때문입니다.
  • 약점: 위성 이미지 분류, 림프절 종양 탐지, 이미지 내 객체 개수 세기 등 고도로 전문적이거나 추상적인 작업에서는 성능이 떨어졌습니다.
💡행동 인식(Action Recognition)은 AI가 짧은 동영상을 보고 사람이 "무슨 행동을 하고 있는지(예: 피아노 치기, 달리기, 양치하기 등)" 맞추는 기술입니다.
Kinetics700과 UCF101은 AI가 이 기술을 얼마나 잘하는지 테스트하기 위해 만든 유명한 '동영상 문제집(데이터셋)'의 이름입니다.
1) UCF101: 101가지 행동 영상이 들어있는 기본 문제집
2) Kinetics700: 700가지 행동 영상이 들어있는 아주 방대한 심화 문제집

3.4 자연 분포 변화에 대한 미친 강건성 (Robustness)

일반적인 딥러닝 모델은 ImageNet으로 학습하면 ImageNet 특유의 구도나 화질(분포)에 과적합(Overfitting)됩니다. 그래서 이미지를 스케치로 바꾸거나 구도가 조금만 달라져도 정확도가 폭락합니다.

하지만 인터넷의 날것 그대로의 데이터를 학습한 제로샷 CLIP은 이러한 분포 변화(Distribution Shift)에서도 성능 저하가 거의 발생하지 않았습니다. 기존 모델들과 ImageNet 정확도는 비슷할지라도, 변형된 데이터셋에 대한 '효과적인 강건성'은 기존 모델과의 격차를 최대 75%까지 줄여버렸습니다.


4. 한계점 및 고려사항 (Limitations & Broader Impacts)

혁신적인 모델임에도 논문은 CLIP의 한계를 명확히 짚고 있습니다.

  1. 여전한 성능 격차: 제로샷 CLIP이 기본 ResNet-50과는 경쟁하지만, 각 분야의 최신 SOTA 모델을 이기려면 현재보다 컴퓨팅 자원이 1000배는 더 필요할 것으로 추정됩니다.
  2. 세밀하고 추상적인 작업의 한계: 자동차 모델명 구분, 꽃의 종 분류 같은 세분화된(Fine-grained) 작업이나 단순 객체 개수 세기, MNIST 손글씨 인식 같은 체계적 작업에서는 여전히 취약합니다. 딥러닝의 고질적인 '취약한 일반화' 문제를 완전히 해결한 것은 아닙니다.
  3. 생성 모델은 아님: 진정한 의미의 이미지 캡셔닝처럼 새로운 문장을 줄줄 써 내려가는 것이 아니라, 주어진 텍스트 후보군 내에서 '선택'만 할 수 있습니다.
  4. 사회적 편향 (Bias): 필터링되지 않은 인터넷 데이터로 학습했기 때문에, 인종, 성별 등 사회적 편향을 그대로 답습합니다. FairFace 벤치마크 테스트에서도 이러한 편향성이 확인되었으며, 얼굴 인식이나 감시 시스템 등 민감한 분야에 오용될 위험을 내포하고 있습니다.

요약 및 결론

CLIP은 컴퓨터 비전이 나아가야 할 새로운 방향을 제시했습니다. 수작업 라벨링의 늪에서 벗어나, "자연어"라는 무한한 지식의 바다를 활용해 이미지를 이해하는 방법을 증명해 냈습니다. 비록 특정 도메인에서는 한계가 있고 편향성 문제도 숙제로 남아있지만, CLIP이 보여준 멀티모달(Multi-modal) 임베딩 공간의 가능성은 이후 DALL-E와 같은 이미지 생성 AI의 핵심 기반 기술로 자리 잡으며 AI 역사에 굵직한 발자취를 남기게 됩니다.

'1. AI 논문 + 모델 분석 > AI 논문 분석' 카테고리의 다른 글

[논문 구현] 멀티모달 병목 트랜스포머(MBT) PyTorch 구현 및 RAVDESS 감정 인식 테스트  (0) 2026.02.16
[논문 리뷰] Multimodal Bottleneck Transformer (MBT)  (0) 2026.02.15
[논문 리뷰] Bahdanau Attention: 정렬과 번역을 동시에 학습하는 신경망 기계 번역  (0) 2026.02.09
[논문 리뷰] DenseNet: Densely Connected Convolutional Networks  (0) 2026.01.28
[논문 분석]Using artificial intelligence to automate meat cut identification from the semimembranosus muscle on beef boning lines  (0) 2026.01.27
'1. AI 논문 + 모델 분석/AI 논문 분석' 카테고리의 다른 글
  • [논문 구현] 멀티모달 병목 트랜스포머(MBT) PyTorch 구현 및 RAVDESS 감정 인식 테스트
  • [논문 리뷰] Multimodal Bottleneck Transformer (MBT)
  • [논문 리뷰] Bahdanau Attention: 정렬과 번역을 동시에 학습하는 신경망 기계 번역
  • [논문 리뷰] DenseNet: Densely Connected Convolutional Networks
고니3000원
고니3000원
공부 내용 정리, 자기발전 블로그 입니다. 기존 네이버 블로그에서 티스토리로 이전했습니다. https://blog.naver.com/pak1010pak
  • 고니3000원
    곤이의 공부 블로그
    고니3000원
  • 전체
    오늘
    어제
    • 분류 전체보기 (176)
      • 1. AI 논문 + 모델 분석 (19)
        • AI 논문 분석 (13)
        • AI 모델 분석 (6)
      • 2. 자료구조와 알고리즘 (16)
        • 2-1 자료구조와 알고리즘 (13)
        • 2-2 강화학습 알고리즘 (3)
      • 3. 자습 & 메모(실전, 실습, 프로젝트) (25)
        • 3-1 문제 해석 (4)
        • 3-2 메모(실전, 프로젝트) (14)
        • 3-3 배포 실전 공부 (7)
      • 4. [팀] 프로젝트 및 공모전 (14)
        • 4-1 팀 프로젝트(메모, 공부) (1)
        • 4-2 Meat-A-Eye (6)
        • 4-3 RL-Tycoon-Agent (3)
        • 4-4 구조물 안정성 물리 추론 AI 경진대회(D.. (4)
      • 5. [개인] 프로젝트 및 공모전 (0)
        • 4-1 귀멸의칼날디펜스(자바스크립트 활용) (5)
        • 4-2 바탕화면 AI 펫 프로그램 (4)
        • 4-3 개인 프로젝트(기타) (3)
      • 개념 정리 step1 (32)
        • Python 기초 (7)
        • DBMS (1)
        • HTML | CSS (3)
        • Git | GitHub (1)
        • JavaScript (5)
        • Node.js (5)
        • React (1)
        • 데이터 분석 (6)
        • Python Engineering (3)
      • 개념 정리 step2 (56)
        • Machine | Deep Learning (15)
        • 멀티모달(Multi-modal) (23)
        • 강화 학습 (10)
        • AI Agent (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 네이버 곤이의 블로그(Naver->Tistory)
    • Github
  • 공지사항

  • 인기 글

  • 태그

    자바스크립트
    Ai
    pandas
    학습
    transformer
    javascript
    bottleneck
    강화 학습
    데이터분석
    paddleocr
    EfficientNet
    강화학습
    Grad-CAM
    파이썬
    프로젝트
    Attention Is All You Need
    귀칼
    논문 리뷰
    구현
    Vision
    파인튜닝
    html
    OCR학습
    Python
    ViT
    알고리즘
    OCR
    공모전
    자료구조
    github
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고니3000원
[논문 리뷰] CLIP: 텍스트로 이미지를 이해하는 비전 모델 (OpenAI)
상단으로

티스토리툴바