티스토리 뷰
1. CLIP
기존의 고정된 class label(cat, dog 등)을 활용한 supervised learning은 이미지의 semantic 정보를 제대로 추출해내지 못한다는 한계가 존재했다. 그러나, 2021년 등장한 CLIP은 VL(Vision language) pretraining 분야의 새로운 패러다임을 열었다.
1-1 Contrastive Learning

Contrastive Learning은 레이블링 없이 학습하는 Self-supervised Learning 방법론 중에 한가지 방법이다. 특정 입력을 Embedding Network를 통해 임베딩 공간으로 이동시키고, 같은 class라면 임베딩 값의 거리를 최소화(d+)하고, 다른 class라면 임베딩 값의 거리를 최대화 (d-) 되도록 embedding network를 학습하는 방법이다.
1-2 CLIP란?
CLIP (Contrastive Language-Image Pre-training)은 OpenAI에서 개발한 다중모달 학습 아키텍처이다. 이 모델은 이미지와 텍스트 쌍을 학습 데이터셋으로 구성한 후, 각각을 인코더로 임베딩하여 같은 쌍에 대해 거리를 가깝게하고 다른 쌍에 대해 거리가 멀어지도록 텍스트/이미지 인코더를 학습시킨다. CLIP의 주요 특징은 별도의 태스크 특화된 학습 없이 다양한 태스크를 수행할 수 있는 능력이다. 이는 이미지와 텍스트의 쌍을 대규모 데이터셋으로 학습함으로써 달성된다.

이렇게 학습된 인코더로 Test 이미지와 Test 텍스트 간의 유사도를 계산 할 수 있다. 이미지와 Text의 관계를 사용하는 다양한 Task에 적용이 가능한데, Image Classification을 할 경우, 단어 보다 문장 형태인 a photo of {object}로 입력값으로 주면 더 성능이 좋다고 한다. 학습 시에는 이미지와 텍스트간의 코사인 유사도를 계산하고, 같은 쌍 간에는 유사도를 최대화하고 다른 쌍 간에는 최소화하도록 Cross Entropy Loss를 사용한다.

일반적으로 Image classification task의 class는 단일 라벨로 구성되어 있지만, CLIP의 text data는 짧은 문장으로 구성되어 있다. 단일 라벨의 경우, 충분한 semantic 정보를 포함하지 못 할 뿐만 아니라 다의성을 가질 문제도 존재하기 때문에 약간의 수정을 거쳐 text encoder에 삽입하게 된다. image encoder를 거쳐서 나온 feature는 text encoder의 결과들과 유사도 계산을 하게 되고, 최종적으로 가장 유사도가 높은 클래스를 정답으로 반환하게 된다.
이와 같이 text prompt의 문장 형식을 조정하는 것을 'Prompt Engineering'이라고 부른다. Prompt Engineering은 모델의 성능에 상당한 영향을 끼치므로, prompt를 잘 선택하는 것이 중요하다.
1-3 Contrastive Learning Loss
Contrastive Loss
주어진 xi, xj를 encoder(f)로 임베딩된 값간의 거리를 구하여, 같은 class(yi=yj)일 때 그 거리 만큼 loss로 가지고, 다른 class일 경우 가까울수록 loss가 커지도록 Loss가 설계되었다. 다른 class이면서 두 임베딩값의 거리가 너무 멀 경우(=margin m보다 클경우) Loss가 너무 커지지 않도록 Loss가 0이 되는게 특징이다.

Triplet Loss
위의 Loss는 2개 입력에 대한 관계로 Loss를 구했다. Triplet Loss는 3개 입력에 대한 관계로 나타내어진다. 기준 입력 Anchor(x)가 있고, Anchor와 같은 class입력 Positive(x+), 다른 Class입력 Negavie(x-)이 있을 때, 'x와x+의 거리'가 'x와x-의 거리'보다 상대적으로 가까워지도록 만들어준다.

(N+1)-Tuplet Loss
Triplet Loss에서는 Anchor(x), Positive(x+), Negative(x-) 3가지 입력으로 구성되었다면,
(N+1)-Tuplet Loss에서는 Anchor(x)1개, Positive(x+) 1개, Negative(x-)가 N-1개 있는 입력으로 Loss를 구하게 된다. f+는 x+를 인베딩한 값, fi는 x-를 임베딩한 값이다.

2. BLIP
CLIP, ALIGN의 등장으로 Large web scale 데이터로 VLP(Vision-Language Pretraining) 모델을 학습시키기 시작했다. 다만, Large web scale 데이터의 특성상 image와 text 데이터에 noise가 많다는 한계점이 존재했다. 2022년 1월에 등장한 BLIP은 잘못된 캡션을 걸러내고, 새로운 캡션을 사용하여 데이터 셋을 bootstrapping하는 CapFilt구조를 제시하여 위의 한계점을 극복하고자 했다.
또한, 기존의 VL- pretraining 모델들은 구조적 한계 때문에 특정 task(Image understanding, Text generation 등)에만 강력한 모습을 보이는 경향이 있었다. BLIP은 새로운 모델 구조인 MED를 통해 강한 일반화 성능을 보이는 VLP 모델을 선보이며 다양한 VL task에서 SOTA에 등극하였다.
2-1 BLIP란?
BLIP(Bootstrapping Language-Image Pre-training) Vision-Language Pre-training(VLP)을 위한 새로운 프레임워크로, 이미지와 텍스트 간의 이해 기반 작업과 생성 기반 작업을 모두 효과적으로 수행할 수 있도록 설계되었다. BLIP는 다양한 다운스트림 작업에서 뛰어난 성능을 발휘하며, 특히 이미지-텍스트 검색, 이미지 캡션 생성, 시각적 질문 응답, 시각적 추론, 시각적 대화 등에서 우수한 결과를 보인다.

BLIP은 ALBEF라는 논문에서 제시한 모델과 유사한 구조를 가지고 있다. Image, text 데이터를 encoder(ViT, BERT 등)로 인코딩하고, task에 맞는 Loss 함수를 활용한다.
2-2 Method
2-2-1 MED (Multimodal mixture of Encoder-Decoder)

학습 Loss 로는 3가지를 사용 하였다 :
Image-Text Contrastive Loss (ITC)
CLIP 등에서 사용된 positive image-text pair의 image representation과 text reprsentation의 유사도를 높게 학습시키는 방식이다. 두 feature space 를 align 시키는 효과도 있고 Vision-Language Task 에서 효과성을 입증해온 방법이다. 이 loss 를 계산할 때 ALBEF 에서 제안된 momentum encoder 를 활용한 soft-label 로 학습했다고 한다.
Image-Text Matching Loss (ITM)
Image-grounded text encoder 를 학습시키는 Loss 로, 주어진 Image - Text 쌍이 매치되는지 binary classification task 이다. Informative 한 Negative Pair 를 선택하는 전략으로 ITC 를 계산할 때 가장 높은 유사성을 가지는 쌍을 선택하였다고 한다.
Language Modeling Loss (LM)
Image-grounded text encoder를 학습시키기 위한 다음 단어를 예측하는 loss이다.
2-2-2 CapFilt (Captioner & Filter)
논문에서 제안한 웹데이터를 Bootstrapping(정제/증강) 하는 방식은 다음과 같다 :
STEP 1. 먼저 고품질 데이터셋(human-annotated, COCO 데이터셋) + 웹 데이터로 위에 설명한 모델을 pre-train 한다.
STEP 2. Image-grouonded Text Encoder 와 Text Decoder 를 고품질 데이터셋만 이용해 fine-tuning 한다.
STEP 3. (증강) 웹 데이터의 이미지를 Step 2의 Text Decoder 에 입력으로 넣어 새로운 text caption 을 생성한다.
STEP 4. (정제) 웹 데이터에 존재하던 페어와 STEP3 에서 만들어진 페어를 Step2 의 Text Encoder 에 입력으로 넣어 높은 점수를 받은 Pair 만 걸러낸다.
이 과정을 통해 새로운 데이터셋을 만들고, 모델을 다시 Pretrain 시켰다고 한다.
참조
CLIP: Contrastive Language-Image Pre-training (대조적 언어-이미지 사전 학습)
**CLIP (Contrastive Language-Image Pre-training)**은 OpenAI에서 개발한 다중모달 학습 아키텍처이다. 이 모델은 이미지와 텍스트 쌍을 …
wikidocs.net
[기본 개념] CLIP (Contrastive Language-Image Pre-training)
CLIP. 너무나도 유명한 연구죠. OpenAI에서 2021년에 발표한 논문입니다.Learning Transferable Visual Models From Natural Language Supervision, Alec Radford, ICML2021, OpenAI CLIP은 Text와 Image간의 관계성을 모델링한 연구입
xoft.tistory.com
https://seandoprep.tistory.com/3
📎빠르게 보는 CLIP 논문 리뷰📎
CLIP : Learning Transferable Visual Models From Natural Language Supervision 2021년 등장한 CLIP은 VL(Vision language) pretraining 분야의 새로운 패러다임을 열었습니다. 기존의 고정된 class label(cat, dog 등)을 활용한 supervise
seandoprep.tistory.com
https://arxiv.org/abs/2201.12086
BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
Vision-Language Pre-training (VLP) has advanced the performance for many vision-language tasks. However, most existing pre-trained models only excel in either understanding-based tasks or generation-based tasks. Furthermore, performance improvement has bee
arxiv.org
BLIP: Bootstrapping Language-Image Pre-training
BLIP (Bootstrapping Language-Image Pre-training)는 비전-언어 이해와 생성 작업을 위한 통합된 모델이다. BLIP는 기존의 비전-언어 사전학…
wikidocs.net
https://han0ahblog.tistory.com/3
Vision-Language Pretrained Model 리뷰 - BLIP, BLIP2
BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation International Conference on Machine Learning. PMLR, 2022 https://arxiv.org/abs/2201.12086 https://huggingface.co/docs/transformers/main/model_doc/blip
han0ahblog.tistory.com
[Paper Review] (BLIP, BLIP-2) Bootstrapping Language-Image Pre-training 설명 및 논문 리뷰
BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 논문 링크: https://arxiv.org/abs/2201.12086 BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generatio
2na-97.tistory.com
https://seandoprep.tistory.com/5
📹빠르게 보는 BLIP 논문 리뷰📹
BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation CLIP이 생각나는 이름인 BLIP...!! 논문의 내용과 결과도 훌륭하지만, 이름을 정말 잘 지었다는 생각이 드네요. 리뷰
seandoprep.tistory.com
'용어 정리' 카테고리의 다른 글
| VQA 시리즈 (3) | 2025.07.30 |
|---|---|
| LLM, LMM, LAM (3) | 2025.07.29 |
| ViT (2) | 2025.07.28 |
| SOTA(State Of The Art) (0) | 2025.07.23 |
| Diffusion Model과 Stable Diffusion (0) | 2025.07.23 |