CLIP과 DALL·E는 멀티모달 모델
-CLIP (Contrastive Language–Image Pre-training)
OpenAI가 개발한 멀티모달 AI 모델
텍스트와 이미지를 함께 학습해 두 데이터의 의미를 연결한다. 이미지와 가장 잘 맞는 문장을 찾고, 문장과 가장 잘 맞는 이미지를 찾거나 이미지 검색, 이미지 분류, 이미지와 텍스트의 의미를 비교할 수 있다.
이미지와 텍스트를 동일한 의미공간 embedding space에 표현해 서로 의미적 유사성을 비교하는 멀티모달.
┌────────────┐
이미지 ─────►│ Image Encoder │
└─────┬──────┘
│
이미지 특징 벡터
│
│ 유사도 계산
▼
Cosine Similarity
▲
│
텍스트 특징 벡터
┌─────┴──────┐
텍스트 ─────►│ Text Encoder │
└────────────┘
일반적인 대화영 모델이 아니라 텍스트와 이미지의 유사도를 계산하는 모델로 이미지와 문장이 얼마나 잘 맞는지 점수를 계산하는 것이 대표적인 사용법.
from PIL import Image
import torch
from transformers import CLIPProcessor, CLIPModel
# 모델 불러오기
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
# 이미지
image = Image.open("cat.jpg")
# 비교할 문장들
texts = [
"고양이",
"강아지",
"자동차",
"비행기"
]
# 전처리
inputs = processor(
text=texts,
images=image,
return_tensors="pt",
padding=True
)
# 추론
outputs = model(**inputs)
# 이미지와 텍스트의 유사도
logits = outputs.logits_per_image
probs = logits.softmax(dim=1)
print(probs)
여러 이미지중 가장 알맞은 이미지를 찾거나
image1.jpg -> 강아지
image2.jpg -> 고양이
image3.jpg -> 자동차
text = "검은 고양이가 앉아 있다."
images = [
Image.open("image1.jpg"),
Image.open("image2.jpg"),
Image.open("image3.jpg")
]
inputs = processor(
text=[text],
images=images,
return_tensors="pt",
padding=True
)
outputs = model(**inputs)
scores = outputs.logits_per_text.softmax(dim=1)
print(scores)
image1.jpg : 0.01
image2.jpg : 0.98
image3.jpg : 0.01
학습을 다시 하지않아도 이미지를 분류할 수 있다. 이미지자동분류 zero-shot.
labels = [
"고양이",
"강아지",
"호랑이",
"사자"
]
예측 결과
고양이 : 98.8%
강아지 : 0.9%
호랑이 : 0.2%
사자 : 0.1%
-DALL·E
OpenAI가 개발한 텍스트 기반 이미지 생성(Text-to-Image) 멀티모달 모델
사용자가 자연어로 원하는 장면을 입력하면 그 내용을 바탕으로 새로운 이미지를 생성한다.
일러스트 제작, 광고 디자인, 콘텐츠 제작, 게임 및 영화 콘셉트 아트, 교육 자료 제작에 사용된다.
사용자가 텍스트를 입력하면 일러스트이미지로 생성한다.
from openai import OpenAI
client = OpenAI()
result = client.images.generate(
model="gpt-image-1",
prompt="A cat wearing a space suit playing a piano on the moon.",
size="1024x1024"
)
print(result.data[0].url)
아주간단하다!!!
자연어로 작성된 설명을 이해한뒤 그 내용을 반영한 새로운 이미지를 생성하는 멀티모델 ai
'이론' 카테고리의 다른 글
| 파인튜닝(Fine-Tuning): 전이학습시 사전학습된 모델에 새로운 데이터를 추가해 목적에 맞게 다시 학습시키는 과정 (0) | 2026.07.02 |
|---|---|
| 자연어 처리(NLP) 모델, Google이 개발한 언어모델 T5와 ELECTRA (0) | 2026.07.02 |
| 자동번역 기술 PBMT와 GNMT (0) | 2026.07.01 |
| BERT란? 구글이 2018년에 공개한 33억 단어에 대해 약 4일간 학습시킨 사전 훈련된 언어 모델 (0) | 2026.07.01 |
| 자연어 처리에서 사용하는 대표적인 딥러닝 모델: DNN, CNN , RNN , LSTM , GRU , Seq2Seq , Attention, Transformer, BERT, GPT (0) | 2026.06.26 |