일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ROS2
- 책 #오늘 밤
- planning #ste #논문 리뷰
- Unity
- 소울러닝 #책리뷰 #느낀점
- ste
- 정보이론
- Infotaxis
- 자율주행 #로봇공학과
- vlm 정리 #glip #object detection
- AirSim #RL #Drone
- path planning #mcts
- 코드 트리 #개발자 #언어 공부 #코딩 공부
- 로봇 #로봇공학과 #공대생 #대학생 #일상 #휴무 #교수
- dino #grounding dino #vlm #object detection
- 개발 일기
- 탐색
- 경로 계획
- 세계에서 이 세상이 사라진다 해도
- vlm #clip #object detection
- vision language model #transformer
- ROS1
- Today
- Total
퇴근할게요 교수님
[논문 리뷰] VLM 돌파하기 - CLIP: Learning Transferable Visual Models from Natural Language Supervision 본문
[논문 리뷰] VLM 돌파하기 - CLIP: Learning Transferable Visual Models from Natural Language Supervision
휴무 교수 2025. 3. 3. 17:20CLIP: Learning Transferable Visual Models from Natural Language Supervision
0. 시작하기 전에
최근 DETR[End to End Detection]을 통해서 VLM을 이용한 객체 탐지[object detection]이 핫하다. 이 중 VLM의 시초라 할 수 있는 CLIP이라는 논문에 대해서 리뷰해 보았다.
1. CLIP란?
CLIP[Contrastive Language-Image Pre-training]은 OpenAI에서 제안한 모델로, 이미지와 텍스트 쌍을 통해 학습하는 대규모 학습 기법이다. 기존 이미지 분류 모델들은 고정된 범주를 예측하도록 학습되지만, CLIP은 훨씬 더 유연하게 동작한다. 인터넷에 있는 방대한 이미지-텍스트 쌍을 이용해 이미지와 텍스트를 같은 공간에서 표현하도록 학습하기 때문이다.
일반적으로 이미지 분류 모델을 만들기 위해서는 특정 레이블[예: dog, cat, car 등]이 달린 이미지가 대량으로 필요하다. 그러나 CLIP은 인터넷에서 수집된 수많은 이미지와 그에 대응하는 텍스트를 활용해, “어떤 이미지에 어떤 문장이 어울리는지”를 예측하도록 학습한다. 이 과정에서 별도의 라벨 없이도 자연어 형태의 텍스트만 주어지면, 해당 이미지가 무엇을 나타내는지 추론할 수 있다. 이를 Zero-Shot이라고 하며, 추가 데이터나 라벨 없이도 다양한 작업에 바로 적용할 수 있다는 점이 큰 장점이다.
2. 주요 개념
- 대조학습[Contrastive Learning]
CLIP에서는 한 배치에 여러 이미지와 텍스트가 섞여 들어왔을 때, 실제로 맞는 [image, text] 쌍인지 아닌지를 판별하도록 학습한다. 맞는 쌍은 벡터 유사도가 높아지도록, 틀린 쌍은 낮아지도록 만드는 원리다. - Encoder
이미지는 ResNet, Vision Transformer[ViT] 같은 모델로 임베딩하고, 텍스트는 Transformer 기반 인코더로 임베딩한다. 이렇게 서로 다른 모달을 같은 차원으로 매핑해, 의미적으로 유사한 [image, text]가 비슷한 임베딩을 갖도록 학습한다. - Zero-Shot Classification
학습이 완료되면, 예를 들어 “이 이미지가 고양이인지 강아지인지 구분하라” 같은 텍스트 라벨을 입력하는 것만으로 이미지를 분류할 수 있다. 기존에는 분류 태스크마다 별도의 학습이 필요했지만, CLIP은 “a photo of a cat”처럼 텍스트로 레이블을 정의하기만 하면 새로운 분류에도 적용 가능하다.
3. CLIP의 구조

CLIP 전체 프레임워크
- Image Encoder
- 이미지가 입력되면 ResNet 또는 ViT를 사용해 특징을 추출한다.
- 특징 벡터를 일정 차원으로 투영해 최종 임베딩을 만든다.
- Text Encoder
- 텍스트는 Transformer 기반 인코더를 거쳐 임베딩한다.
- 결과적으로 이미지 임베딩과 같은 공간상의 벡터로 매핑한다.
- Contrastive learning
- 하나의 배치에서 실제 짝인 [이미지, 텍스트]는 유사도를 높이고, 나머지는 낮추도록 학습한다.
- 최종적으로 이미지 임베딩과 텍스트 임베딩이 서로 올바르게 대응되도록 훈련된다.
즉, CLIP은 Transformer를 이용한 Encoder를 통하여, Image와 Text 간의 Contrastive learning을 통한 유사도를 가지고 새로운 이미지에 대해서 분류하는 모델이다.
4. 이걸로 어떤 게 가능해졌나?
ImageNet 같은 대규모 이미지 분류 작업에서도, CLIP은 추가 학습 없이 텍스트 라벨만으로 꽤 높은 정확도를 보인다. 전통적으로 데이터셋별로 모델을 학습해야 했으나, 이제는 “a photo of a cat” 등 텍스트만 제공하면 곧바로 분류할 수 있다. 이러한 것으로 인하여, 텍스트를 활용한 object detection 분야를 새롭게 시작한 모델이라 할 수 있다.
공부 출처
CLIP논문 : http://proceedings.mlr.press/v139/radford21a
xoft의 CLIP 블로그 : https://xoft.tistory.com/67#google_vignette