VLM 기초 (Vision-Language Model Fundamentals)¶
비전-언어 모델의 이론적 기반과 핵심 원리. 시각과 언어를 통합하는 방법론부터 현대 VLM의 작동 방식까지 상세히 다룬다.
1. 멀티모달 학습의 이론적 기반¶
1.1 모달리티(Modality)란¶
모달리티는 정보가 표현되거나 인식되는 방식.
| 모달리티 | 데이터 특성 | 구조 | 차원성 |
|---|---|---|---|
| 텍스트 | 이산적, 기호적 | 토큰 시퀀스 | 1D (순차) |
| 이미지 | 연속적, 밀집 | 픽셀 그리드 | 2D (공간) |
| 오디오 | 연속적, 파형 | 스펙트로그램 | 1D (시간) |
| 비디오 | 공간+시간 | 프레임 시퀀스 | 3D |
1.2 멀티모달 학습의 핵심 문제¶
"이질적인 형태의 정보를 어떻게 하나로 통합할 것인가?"
1.3 시각-언어 접지 (Visual-Linguistic Grounding)¶
핵심 논문: The Symbol Grounding Problem (Harnad, 1990)
접지(Grounding): 추상적 기호(단어)를 감각 경험(이미지)과 연결하는 것
"How do symbols get their meaning?" — Harnad
접지의 유형:
| 유형 | 설명 | 예시 | 난이도 |
|---|---|---|---|
| 참조 접지 | 명사 → 객체 영역 | "dog" → 🐕 영역 | 기본 |
| 속성 접지 | 형용사 → 시각 특성 | "red" → 빨간색 | 기본 |
| 관계 접지 | 전치사 → 공간 관계 | "on top of" → 위치 | 중간 |
| 행동 접지 | 동사 → 동작 | "running" → 움직임 | 어려움 |
| 추상 접지 | 추상 개념 → 시각 | "freedom" → ? | 매우 어려움 |
1.4 멀티모달 표현 학습의 목표¶
수학적 정의: 두 모달리티의 의미적으로 관련된 정보를 동일한 벡터 공간에 매핑
이미지 인코더 \(f_v\), 텍스트 인코더 \(f_t\)에 대해:
2. 컴퓨터 비전 기초: CNN에서 ViT까지¶
2.1 CNN (Convolutional Neural Network)¶
핵심 논문: ImageNet Classification with Deep CNNs (AlexNet, Krizhevsky et al., 2012)
Convolution 연산:
CNN의 귀납적 편향 (Inductive Bias):
| 편향 | 설명 | 장점 |
|---|---|---|
| 지역성 (Locality) | 인접 픽셀이 더 관련 | 데이터 효율적 |
| 변환 등변성 (Translation Equivariance) | 패턴 위치 무관 | 위치 불변 인식 |
| 계층 구조 (Hierarchy) | 저→고수준 조합 | 복잡한 개념 학습 |
주요 CNN 아키텍처:
| 모델 | 연도 | 깊이 | 핵심 기여 |
|---|---|---|---|
| AlexNet | 2012 | 8 | GPU 학습, ReLU, Dropout |
| VGGNet | 2014 | 16/19 | 3×3 커널 스택 |
| GoogLeNet | 2014 | 22 | Inception 모듈 |
| ResNet | 2015 | 50/101/152 | Skip Connection |
| EfficientNet | 2019 | 가변 | Compound Scaling |
ResNet Residual Connection:
핵심 논문: Deep Residual Learning for Image Recognition (He et al., 2015)
2.2 Vision Transformer (ViT)¶
핵심 아이디어: 이미지를 패치 시퀀스로 변환하여 Transformer 적용
패치 임베딩 수식:
- \(\mathbf{x}_p^i \in \mathbb{R}^{P^2 \cdot C}\): i번째 패치 (flatten)
- \(\mathbf{E} \in \mathbb{R}^{(P^2 \cdot C) \times D}\): 패치 임베딩 행렬
- \(\mathbf{E}_{\text{pos}} \in \mathbb{R}^{(N+1) \times D}\): 위치 임베딩
2.3 CNN vs ViT 상세 비교¶
| 측면 | CNN | ViT |
|---|---|---|
| 귀납적 편향 | 강함 (지역성, 등변성) | 약함 (거의 없음) |
| 데이터 효율성 | 적은 데이터에 좋음 | 대규모 데이터 필요 |
| 전역 문맥 | 깊은 층에서만 (receptive field) | 첫 층부터 (Self-Attention) |
| 계산 복잡도 | O(n) - 이미지 크기에 선형 | O(n²) - 패치 수의 제곱 |
| 스케일링 | 제한적 | 우수 (스케일링 법칙 적용) |
| 위치 정보 | 암묵적 (Conv 구조) | 명시적 (Position Embedding) |
왜 ViT가 VLM에 적합한가?
- 아키텍처 통일성: LLM과 동일한 Transformer → 쉬운 통합
- 전역 문맥: Self-Attention으로 이미지 전체 관계 파악
- 스케일링: 모델/데이터 스케일에 따른 성능 예측 가능
- 유연성: 가변 해상도, 멀티스케일 처리 용이
2.4 Vision Encoder 발전¶
| 모델 | 연도 | 핵심 기여 | 사용처 |
|---|---|---|---|
| ViT-B/16 | 2020 | 기본 ViT | 연구 기준 |
| DeiT | 2021 | 데이터 효율적 학습 | 적은 데이터 |
| Swin Transformer | 2021 | 윈도우 기반, 계층적 | 객체 탐지 |
| CLIP ViT-L/14 | 2021 | 대조 학습 사전학습 | VLM 기본 |
| EVA-CLIP | 2022 | 스케일업, 마스킹 | 고성능 VLM |
| SigLIP | 2023 | 시그모이드 손실 | 최신 VLM |
| InternViT | 2024 | 6B 파라미터 | 초대형 VLM |
3. 대조 학습 (Contrastive Learning)¶
3.1 대조 학습의 원리¶
핵심 아이디어: "유사한 것은 가깝게, 다른 것은 멀게"
핵심 논문: Representation Learning with Contrastive Predictive Coding (Oord et al., 2018)
3.2 InfoNCE 손실 함수¶
수식:
구성 요소: - \(z_i\): 앵커 (예: 이미지 임베딩) - \(z_j\): 긍정 예시 (매칭되는 텍스트 임베딩) - \(z_k\): 모든 예시 (긍정 + 부정) - \(\tau\): Temperature (0.07~0.5) - \(\text{sim}\): 유사도 함수 (주로 코사인 유사도)
정보이론적 해석:
InfoNCE는 상호 정보 \(I(z_i; z_j)\)의 하한(lower bound)을 최대화:
→ 배치 크기 \(N\)이 클수록 더 tight한 하한
3.3 CLIP (Contrastive Language-Image Pre-training)¶
핵심 논문: Learning Transferable Visual Models From Natural Language Supervision (Radford et al., 2021)
CLIP 학습 데이터: WebImageText (WIT) - 4억 이미지-텍스트 쌍
CLIP의 혁신:
- 자연어 감독: 사전 정의 레이블 불필요
- 제로샷 전이: 학습 안 한 태스크 수행 가능
- 오픈 어휘: 임의의 텍스트로 분류 가능
제로샷 분류 예시:
# 이미지 임베딩
image_features = clip_model.encode_image(image)
# 클래스 텍스트 임베딩
text_inputs = ["a photo of a dog", "a photo of a cat", "a photo of a bird"]
text_features = clip_model.encode_text(text_inputs)
# 유사도 계산 → 가장 높은 것이 예측 클래스
similarity = image_features @ text_features.T
prediction = similarity.argmax()
3.4 CLIP 이후 발전¶
| 모델 | 연도 | 핵심 개선 |
|---|---|---|
| ALIGN | 2021 | 10억 쌍, 노이즈 로버스트 |
| FLIP | 2022 | 마스킹으로 효율적 학습 |
| EVA-CLIP | 2022 | 스케일업, EVA 초기화 |
| SigLIP | 2023 | Sigmoid 손실 (Softmax 대체) |
| MetaCLIP | 2023 | 데이터 큐레이션 |
| DFN | 2023 | 데이터 필터링 |
SigLIP 손실:
장점: 배치 크기에 덜 민감, 안정적 학습
4. Modality Gap 문제¶
4.1 현상¶
대조 학습으로 정렬해도 이미지와 텍스트 임베딩이 완전히 섞이지 않음
4.2 원인 분석¶
| 원인 | 설명 | 영향 |
|---|---|---|
| 초기화 차이 | 인코더들의 초기 표현이 다름 | Gap 형성 시작점 |
| 학습 동역학 | 같은 모달리티끼리 더 빨리 정렬 | Gap 유지 |
| 표현 용량 | 이미지=풍부, 텍스트=추상 | 비대칭 Gap |
| 배치 내 부정 예시 | 같은 모달리티 내 부정 없음 | 모달리티 분리 유도 |
| Temperature | 낮은 τ → 더 큰 Gap | 조절 가능 |
4.3 영향¶
- 검색 비대칭: Image→Text vs Text→Image 성능 차이
- Cross-modal 생성: VLM에서 환각 유발 가능
- 제로샷 정확도: 최적 성능에서 Gap만큼 손실
4.4 해결 접근법¶
| 방법 | 설명 | 논문 |
|---|---|---|
| Gap 보정 | 추론 시 평균 Gap 빼기 | Liang et al., 2022 |
| Cross-modal Negative | 같은 모달리티 내 부정 추가 | UniCL, 2022 |
| Soft Label | Hard 대신 Soft matching | SLIP, 2022 |
| Modality-agnostic | 모달리티 구분 없는 학습 | FLAVA, 2022 |
5. VLM 아키텍처 유형¶
5.1 Type 1: Dual Encoder (CLIP 계열)¶
5.2 Type 2: Fusion Encoder (Flamingo 계열)¶
핵심 논문: Flamingo: a Visual Language Model for Few-Shot Learning (Alayrac et al., 2022)
Gated Cross-Attention:
- \(\alpha\): 학습 가능한 게이트 (초기값 0)
- 학습 시작 시 원래 LLM처럼 동작 (안정적 초기화)
5.3 Type 3: Unified Decoder (LLaVA/GPT-4V 계열)¶
핵심 논문: Visual Instruction Tuning (LLaVA, Liu et al., 2023)
5.4 Type 4: Q-Former 기반 (BLIP-2 계열)¶
5.5 아키텍처 비교 요약¶
| 유형 | 장점 | 단점 | 대표 모델 | 용도 |
|---|---|---|---|---|
| Dual Encoder | 빠른 검색, 효율적 | 얕은 상호작용 | CLIP, SigLIP | 검색, 분류 |
| Fusion Encoder | 깊은 이해 | 검색 어려움 | Flamingo | Few-shot VQA |
| Unified Decoder | 범용, LLM 활용 | 토큰 비용 | LLaVA, GPT-4V | 대화, 생성 |
| Q-Former | 효율적 압축 | 정보 손실 가능 | BLIP-2 | 효율적 VLM |
6. 이미지 토큰화와 Projection¶
6.1 Vision Encoder 출력¶
- \(N\): 패치 수 (해상도와 패치 크기에 의존)
- \(D_v\): Vision 임베딩 차원
| 설정 | 해상도 | 패치 크기 | 패치 수 (N) | 예시 |
|---|---|---|---|---|
| 기본 | 224×224 | 14×14 | 256 | CLIP ViT-B |
| 고해상도 | 336×336 | 14×14 | 576 | LLaVA-1.5 |
| 초고해상도 | 448×448 | 14×14 | 1024 | InternVL |
| 동적 | 가변 | 14×14 | 가변 | LLaVA-NeXT |
6.2 Projection 방식¶
| 방식 | 구조 | 파라미터 | 특징 | 사용 |
|---|---|---|---|---|
| Linear | \(W \cdot z_v\) | D_v × D_t | 단순, 빠름 | - |
| MLP | \(W_2 \cdot \text{GELU}(W_1 \cdot z_v)\) | 2× | LLaVA 기본 | LLaVA |
| C-Abstractor | Conv + Attn | 적음 | 공간 구조 유지 | Honeybee |
| Q-Former | Cross-Attn + Queries | 많음 | 토큰 수 압축 | BLIP-2 |
| Perceiver | Cross-Attn Resampler | 중간 | 가변→고정 | Flamingo |
MLP Projection (LLaVA):
6.3 토큰 수 효율화¶
문제: 고해상도 = 많은 토큰 = LLM 컨텍스트 소모 + 느린 추론
| 해상도 | 토큰 수 | LLM 컨텍스트 점유 (4K 기준) |
|---|---|---|
| 224 | 256 | 6.4% |
| 336 | 576 | 14.4% |
| 448 | 1024 | 25.6% |
| 672 | 2304 | 57.6% |
해결책:
- Q-Former: 고정 수의 학습 가능한 쿼리 (32~64개)
- Pooling: 2×2 평균 풀링으로 토큰 수 1/4
- 동적 해상도: 필요한 만큼만 고해상도 (LLaVA-NeXT)
- 토큰 병합: 유사한 토큰 합치기
7. VLM 학습 단계¶
7.1 전형적인 2단계 학습¶
7.2 학습 데이터¶
Pre-training 데이터:
| 데이터셋 | 규모 | 특징 |
|---|---|---|
| CC3M | 3M | 고품질 캡션 |
| CC12M | 12M | 웹 크롤링 |
| LAION-400M | 400M | 대규모, 노이즈 |
| LAION-5B | 5B | 초대규모 |
| DataComp | 12.8B | 필터링 |
Instruction Tuning 데이터:
| 데이터셋 | 규모 | 특징 |
|---|---|---|
| LLaVA-Instruct-150K | 150K | GPT-4 생성 대화 |
| ShareGPT4V | 100K+ | 상세한 캡션 |
| ALLaVA | 700K+ | 다양한 태스크 |
| TextVQA | 45K | 이미지 내 텍스트 |
| DocVQA | 50K | 문서 이해 |
7.3 손실 함수¶
캡션 생성 손실 (응답 부분만):
- \(\mathbf{x}_v\): 이미지 토큰
- \(y_{<t}\): 이전 텍스트 토큰
- 프롬프트/질문 부분은 손실에서 제외
8. 주요 VLM 모델¶
8.1 상용 API¶
| 모델 | 회사 | 출시 | 강점 | 가격 (1M 토큰) |
|---|---|---|---|---|
| GPT-4V | OpenAI | 2023.09 | 범용 SOTA | $10-30 |
| GPT-4o | OpenAI | 2024.05 | 네이티브 멀티모달 | $2.5-10 |
| Claude 3 Opus | Anthropic | 2024.03 | 문서, 추론 | $15-75 |
| Claude 3.5 Sonnet | Anthropic | 2024.06 | 균형, 빠름 | $3-15 |
| Gemini 1.5 Pro | 2024.02 | 긴 컨텍스트 (1M) | $1.25-5 | |
| Gemini 2.0 Flash | 2024.12 | 빠름, 저렴 | $0.075-0.3 |
8.2 오픈소스¶
| 모델 | 파라미터 | 출시 | 특징 | 벤치마크 |
|---|---|---|---|---|
| LLaVA-1.5 | 7B/13B | 2023.10 | 간단, 효율적 | MMBench 68 |
| LLaVA-NeXT | 7B-34B | 2024.01 | 동적 해상도 | MMBench 72 |
| Qwen-VL-2 | 7B/72B | 2024.08 | 다국어, 고해상도 | MMMU 58 |
| InternVL-2 | 1B-76B | 2024.07 | 스케일링 SOTA | MMMU 62 |
| Phi-3-Vision | 4.2B | 2024.05 | 초경량 | MMBench 65 |
| Idefics2 | 8B | 2024.04 | 인터리브드 | MMBench 65 |
| CogVLM2 | 19B | 2024.05 | 고해상도 | OCRBench 81 |
8.3 모델 선택 가이드¶
| 상황 | 추천 | 이유 |
|---|---|---|
| 최고 성능 필요 | GPT-4o / Claude 3 Opus | SOTA |
| 문서/차트 분석 | Claude 3.5 Sonnet | 긴 문맥, 구조 이해 |
| 비용 민감 | Qwen-VL-2 7B | 무료, 좋은 성능 |
| 엣지/모바일 | Phi-3-Vision | 4B, 빠름 |
| 커스텀 학습 | LLaVA-NeXT | 오픈소스, 문서화 |
| 고해상도 | InternVL-2 | 동적 해상도 |
| 긴 비디오 | Gemini 1.5 Pro | 1M 컨텍스트 |
9. VLM의 한계와 도전¶
9.1 환각 (Hallucination)¶
핵심 논문: Evaluating Object Hallucination in Large Vision-Language Models (POPE, Li et al., 2023)
| 환각 유형 | 설명 | 예시 |
|---|---|---|
| 객체 환각 | 없는 물체를 있다고 함 | "사진에 고양이가 있어요" (없음) |
| 속성 환각 | 색상, 크기 등 오류 | "빨간 차" (실제는 파란색) |
| 관계 환각 | 공간 관계 오류 | "왼쪽에" (실제는 오른쪽) |
| 숫자 환각 | 개수 오류 | "3마리" (실제는 2마리) |
| 텍스트 환각 | OCR 오류 | 글자 잘못 읽음 |
원인: 1. 언어 모델 prior가 너무 강함 (시각 정보 무시) 2. 학습 데이터의 편향 3. 이미지 토큰의 정보 병목
완화 기법: - RLHF/DPO로 환각 페널티 - 더 많은 이미지 토큰 - 시각 프롬프팅 (bounding box, 포인팅)
9.2 공간 추론¶
질문: "왼쪽 빨간 공과 오른쪽 파란 공 중 어느 것이 더 커?"
요구되는 능력:
1. 객체 탐지 (공 두 개)
2. 색상 인식 (빨강, 파랑)
3. 위치 파악 (왼쪽, 오른쪽)
4. 크기 비교 (추론)
→ VLM은 특히 복합적인 공간 추론에 취약
9.3 Fine-grained 이해¶
- 작은 텍스트 (메뉴, 영수증)
- 미세한 차이 (비슷한 물체 구분)
- 복잡한 다이어그램/차트
- 밀집된 장면
10. 토픽 목록 (하위 문서)¶
| 토픽 | 내용 | 링크 |
|---|---|---|
| 멀티모달 학습 | Contrastive, Generative 접근 | 바로가기 |
| 이미지 인코딩 | ViT, CLIP Encoder 상세 | 바로가기 |
| Cross-Attention | Fusion 메커니즘 | 바로가기 |
| Token Fusion | Q-Former, Perceiver 비교 | 바로가기 |
| OCR vs VLM | 언제 무엇을 쓸지 | 바로가기 |
11. 필수 논문 목록¶
컴퓨터 비전 기초¶
| 논문 | 연도 | 핵심 내용 |
|---|---|---|
| AlexNet (Krizhevsky) | 2012 | 딥러닝 이미지 분류 |
| VGGNet (Simonyan) | 2014 | 깊은 CNN |
| ResNet (He) | 2015 | Skip Connection |
| ViT (Dosovitskiy) | 2020 | Vision Transformer |
| Swin Transformer (Liu) | 2021 | 윈도우 기반 ViT |
대조 학습¶
| 논문 | 연도 | 핵심 내용 |
|---|---|---|
| SimCLR (Chen) | 2020 | 단순 대조 학습 |
| MoCo (He) | 2019 | 모멘텀 대조 학습 |
| CLIP (Radford) | 2021 | 이미지-텍스트 대조 |
| ALIGN (Jia) | 2021 | 10억 쌍 학습 |
| SigLIP (Zhai) | 2023 | Sigmoid 손실 |
VLM 아키텍처¶
| 논문 | 연도 | 핵심 내용 |
|---|---|---|
| ViLBERT (Lu) | 2019 | 초기 VLM |
| LXMERT (Tan) | 2019 | Cross-modal Encoder |
| UNITER (Chen) | 2019 | Unified Transformer |
| Flamingo (Alayrac) | 2022 | Few-shot VLM |
| BLIP (Li) | 2022 | 부트스트래핑 |
| BLIP-2 (Li) | 2023 | Q-Former |
| LLaVA (Liu) | 2023 | Visual Instruction |
| LLaVA-1.5 (Liu) | 2023 | 개선된 LLaVA |
| Qwen-VL (Bai) | 2023 | 동적 해상도 |
| InternVL (Chen) | 2023 | 스케일링 |
분석/평가¶
| 논문 | 연도 | 핵심 내용 |
|---|---|---|
| Modality Gap (Liang) | 2022 | Gap 분석 |
| POPE (Li) | 2023 | 환각 평가 |
| MMBench (Liu) | 2023 | VLM 벤치마크 |
| MMMU (Yue) | 2023 | 대학 수준 평가 |
서베이¶
| 논문 | 연도 | 범위 |
|---|---|---|
| A Survey on Multimodal LLMs (Yin) | 2023 | 종합 |
| Vision-Language Models (Zhang) | 2023 | VLM 태스크 |
| Multimodal Foundation Models (Bordes) | 2023 | 파운데이션 |