| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 캐글
- 정보처리기사
- UMAP
- LangGraph
- 자연어처리
- 데이터엔지니어
- 소프트웨어 개발
- 객체지향
- 랭그래프
- 알고리즘
- Python
- CLIP
- TTS
- dementional reduction
- 기초
- 힙정렬
- SQL
- Transformer
- RNN
- python기초
- 딥러닝
- 트랜스포머
- python 기초
- ASR
- 데이터 시각화
- 에이전트
- RDBMS
- CNN
- 머신러닝
- 생성형 인공지능
Archives
- Today
- Total
수달이네 기술 블로그
1. CLIP 모델 이해 본문
CLIP모델은 이전 모델에 비해 이해하는데 약간 어려움이 있었다. 지금은 조금이나마 이해한 상황이기에 글로 남기고, 이후에 논문도 읽고 리뷰할 예정이다.
CLIP
Learning Transferable Visual Models From Natural Language Supervision(CLIP논문)
이미지와 텍스트를 같은 의미 공간으로 정렬하기 위해 대비 학습을 사용하는 Pre-trained Vision-Language 모델
이전에서 학습한 멀티모달의 모델 중 Visual-Language모델이다.
- 이미지 인코더와 텍스트 인코더를 각각 학습(Dual Encoder구조) → 올바른 이미지-텍스트 쌍은 가깝게, 관련 없는 쌍은 멀어지게 학습(의미적 대응 관계 형성)
- 위와 같은 구조 덕분에 zero-shot 분류가 가능함. (이미지-텍스트 검색에 특히 강점)
등장 배경
기존 컴퓨터 비전 모델의 한계
- 데이터셋마다 고정된 라벨 구조에 의존
- 새로운 클래스는 재학습이 필요함
- 현실 세계처럼 열린(open-world)개념을 다루기 어려움
모델 구조
두 개의 독립된 인코더로 구성됨
- Vision Encoder
- CNN(ResNet)혹은 ViT
- 이미지를 하나의 벡터로 변환
- Text Encoder
- Transformer
- 문장을 하나의 벡터로 변환
두 인코더의 출력은 같은 차원의 임베딩 공간에 존재하고 코사인 유사도(cosine similarity)로 비교된다.
CLIP에서 사용한 데이터셋
인터넷에서 수집한 이미지-텍스트 쌍(4억 개)
- 블로그 캡션, 뉴스 기사, 이미지 설명 등에서 추출(웹 규모의 자연어 신호를 활용)
- 사진, 그림, 스크린샷 등 자료 ↔ 짧은 캡션, 긴 문장(자연어)까지 정제되고, 라벨링된 데이터셋이 아닌 비정제 데이터셋을 그대로 이용
- 즉, 라벨 개수가 정해지지 않았고, 이미지와 문장을 각각 하나의 벡터로 만들어 임베딩 공간에 둔다. →따라서 정해진 라벨은 없음
- 위 같은 데이터셋의 이용으로 다양한 태스크에 일반화됨.(zero-shot)
- 그런데 위와 같은 데이터 셋 내엔 잘못된 데이터셋도 분명 존재, 그러나 많은 양과 대비학습의 존재 때문에 통계적으로 더 많은 양인 올바른 의미 관계로 엮인 의미를 학습한다.
- 논문 상에서도 sparse and of varying quality(부족하고 다양한 퀄리티)라고 언급
대비 학습(Contrastive Learning)
올바른 이미지-텍스트 쌍은 임베딩 거리를 가깝게 배치하고,
관계없는 이미지-텍스트 쌍은 임베딩 거리를 멀게 배치한다.
- 웹에서 추출한 이미지-텍스트 데이터 쌍은 정답이라고 판단. 이후 해당 이미지-텍스트 임베딩 벡터가 가까워지도록 학습한다.
- 그렇기 때문에 만약 정답 쌍과 비슷한 형태의 문장이 들어오면 그것도 가까운 위치에 들어올 것이다.
- 한 배치에 N개의 이미지(N)-텍스트(N) 쌍이 들어오면 실제 쌍 N개(정답쌍)는 코사인 유사도를 높임, 나머지 조합은 낮춤
유사도 행렬 계산

이미지 임베딩 ↔ 텍스트 임베딩 간의 유사도 행렬을 계산하여 가까워진다.
- 이미지-텍스트 쌍을 학습 → 임베딩 공간에 넣음
- 다른 이미지-텍스트 쌍이 들어옴 → 유사도 행렬 계산
- 가까우면 가깝게 멀면 멀게 만든다.
- Softmax기반 대칭적 Cross-Entropy loss를 사용한다.
- 대칭: 이미지→텍스트 방향, 텍스트 →이미지 방향 학습
- 위 때문에 이미지 검색, 텍스트 검색을 모두 잘한다.
Zero-shot Learning이 가능한 이유
- 공유 임베딩 공간에 많은 양의 학습 데이터로 만든 이미지, 텍스트 벡터 존재
- 새로운 문장 or 이미지가 들어옴
- 이미지나 문장의 임베딩 유사도를 계산
- 이후 가장 유사한 문장 or 이미지를 예측으로 선택
'AI공부 > 자연어처리' 카테고리의 다른 글
| 15. PLM(Pre-trained Language Model) / BERT, GPT, T5 요약 (0) | 2026.03.08 |
|---|---|
| 14. 트랜스포머 구현(한국어 감성 분류 모델) (0) | 2026.03.07 |
| 13. 트랜스포머(포지셔널 인코딩, 피드포워드 신경망, 잔차연결...) (0) | 2026.03.06 |
| 12. Attention 연산 구현 (0) | 2026.03.05 |
| 11. Attention (0) | 2026.03.04 |