| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Python
- 에이전트
- 머신러닝
- RNN
- 데이터엔지니어
- 트랜스포머
- ASR
- python기초
- Transformer
- UMAP
- dementional reduction
- 데이터 시각화
- 객체지향
- 랭그래프
- python 기초
- TTS
- 소프트웨어 개발
- RDBMS
- 정보처리기사
- 기초
- 자연어처리
- 힙정렬
- 딥러닝
- 알고리즘
- CLIP
- SQL
- CNN
- 캐글
- LangGraph
- 생성형 인공지능
- Today
- Total
수달이네 기술 블로그
0. 멀티모달 개요 본문
Multimodal Learning(멀티모달 학습)

Multimodal Learning
서로 다른 여러 모달리티의 데이터(이미지, 텍스트, 음성, 영상 등)을 함께 학습하는 방식
- 이미지를 입력으로 받아 텍스트로 설명하기
- 영상과 음성을 함께 활용해 감정을 인식하기
각 모달리티가 가진 상호 보완적 정보를 결합 → 단일 모달리티보다 풍부한 표현, 높은 성능을 기대
Unimodal model
하나의 데이터 모달리티만을 입력으로 받는 모델
- 입력, 출력이 단일 형태로 고정 → 구조 단순, 학습과 해석에 용이
- 특정 데이터 유형에 최적화된 성능
Multitask Learning
하나의 모델이 서로 다른 작업(task)을 동시에 학습하도록 설계하는 방법
- 하나의 신경망이 감성분류, 주제분류를 동시에 수행하는 등. (모달리티는 하나)
- 여러 작업에 필요한 표현을 공유해 일반화 성능이 향상됨.
- 데이터가 부족해도 안정적임.
멀티모달 모델의 종류
Vision-Language 모델(이미지 + 텍스트)
이미지 텍스트 정보를 동시에 활용해 이해, 변환하는 모델(가장 널리 활용)
- Image Captioning: 이미지를 보고 설명 생성
- Visual Question Answering: 이미지에 대한 질의응답
- Text-to-Image Retrieval: 텍스트를 통해 이미지를 검색
Audio-Visual 모델(음성+영상)
음성과 영상정보를 동시에 활용하는 모델
- 입 모양, 음성을 함께 사용한 음성 인식(음성 인식이 소음 환경에서도 강건함)
- 얼굴 표정과 음성 톤을 결합한 감정 인식
Audio-Language 모델(음성 + 텍스트)
음성과 텍스트를 함께 처리하는 모델
- 음성 기반 질의응답, 명령 이해 (대화형 AI, 음성 비서 시스템)
- STT(음성을 글로), TTS(글을 음성으로)
Vision-Audio-Language 모델(이미지/영상 + 음성 + 텍스트)
이미지/영상, 음성, 텍스트를 모두 받아 종합적인 정보를 이해 처리
- 영상 요약
- 질의응답
- 상황 이해 기반 추론
Sensor Fusion 기반 멀티모달 모델(비전 + 센서)
카메라, 라이다(레이저 기반), 레이더(전파 기반), GPS 등 센서를 결합한 멀티모달 모델
- 자율주행
- 로보틱스
- 스마트 팩토리
- 등 환경 인식, 의사 결정의 정확도를 높이는 것이 중요
Document Multimodal(텍스트+이미지+표)
문서내의 텍스트, 이미지, 표, 레이아웃을 모두 보고 처리하는 모델
- OCR(Optical Character Recognition): 문서 이미지 → 텍스트 문서 변환
- 문서 요약
- 문서 질의응답
- 계약서, 보고서 자동 분석
Multimodal Fusion(모달리티 결합)
각 모달리티의 형태, 차원, 의미, 표현방식이 달라 그대로 섞을 수 없음
- 적절한 시점, 수준에서 정보를 적절히 결합할 수 있어야 함.(Multimodal Fusion방식)

1. Early Fusion(초기 결합)
입력 단계에서 모달리티를 바로 결합
- 이미지 특징 벡터와 텍스트 임베딩을 추출하고, 하나의 벡터로 단순 연결(concatenation)해 모델에 입력
- 구조가 단순, 구현이 쉬움
- 모달 간의 상호작용을 초반부터 학습 가능
- 그러나, 모달리티 간의 노이즈가 그대로 섞일 수 있고, 한 모달이 다른 모달을 방해할 수 있음
- 즉, 강한 모달이 약한 모달의 표현을 덮어버릴 수 있음.(고유한 표현력 감소)
- 한쪽 모달의 의미가 약화되어 결과가 부정확해질 수 있음.
예시(Vision-Language) - 자세한 의미가 이해가 안 가서 예시를 추가해보았다.
- 이미지를 CNN, ViT 같은 모델을 활용해 임베딩 벡터로 변환
- 텍스트도 word embedding, transformer encoder등을 활용해 벡터로 변환
- 이미지의 임베딩 벡터, 텍스트의 임베딩 벡터를 한 벡터공간에 넣고, 차이를 학습
- 점차 학습하며 두 임베딩 벡터간의 벡터차를 줄여감(loss fuction)
2. Late Fusion(후기 결합)
각 모달리티를 독립적으로 처리한 후, 최종 결과를 결합
- 모달별 모델을 독립적으로 최적화 할 수 있어 안정성이 높음
- 한 모달이 없어도 동작하기 쉬움
- 그러나 모달 간의 깊은 상호작용을 학습하기 어려움
예시(Vision-Language)
- 각 모달리티 독립 처리
- 이미지를 CNN, ViT같은 모델을 활용해 임베딩 벡터 생성
- 텍스트를 word embedding, transformer encoder를 활용해 임베딩 벡터 생성
- 모달리티별 독립적 의미 유지
- 즉, Early Fusion처럼 이미지-텍스트의 임베딩 벡터가 한 공간에서 가까워지지 않고,
- 그대로 유지되며 최적화됨.
- 결합
- 최적화된 두 벡터를 단순 연결(concatenation), 벡터 합(addition, weighted sum)을 해 연결
3. Intermediate Fusion(중간 결합, Feature-level Fusion)
각 모달리티에서 의미있는 특징을 추출하고, 은닉 표현 단계에서 결합
- Early Fusion보다 안정적
- Late Fusion보다 표현력이 뛰어남.
- 그러나 모델이 복잡해져 계산량이 많아짐.
예시(Vision-Language)
- 각 모달리티 독립 처리
- 이미지를 CNN, ViT같은 모델을 활용해 임베딩 벡터 생성
- 텍스트를 word embedding, transformer encoder를 활용해 임베딩 벡터 생성
- 중간 레이어에서 결합
- 이미지 토큰, 텍스트 토큰을 MLP or Cross-Attention 모듈에 넣음
- Attention 예시: 텍스트 토큰이 질문(Query)가 되고, 이미지 토큰이 key/value가 됨. → 이로 인해 각 임베딩 정보가 서로의 정보를 반영해 업데이트됨.
4. Attention-based Fusion(어텐션 기반 결합)
어떤 모달의 정보가 더 중요한지 학습적으로 선택하는 방식
- 텍스트 질문을 기준으로 이미지의 특정 부분을 집중
- 음성 신호 중 감정이 강한 구간에 가중치 부여 가능
- VQA나 멀티모달 추론 모델에서 핵심적 역할을 함.
Attention Bottlenecks for Multimodal Fusion(Attention-based Fusion의 한 방법)
- 모달 간 정보 교환을 소수의 bottleneck latent token을 통해 함.
- 각 모달이 내부에서 self-attention을 수행하나, 다른 모달과의 정보는 bottleneck토큰으로만 가능(cross-attention)
- 정보 압축, 공유로 계산량이 줄고 성능이 높아짐.
예시(Vision-Language)
- 각 모달리티 독립 처리
- 이미지를 CNN, ViT같은 모델을 활용해 임베딩 벡터 생성
- 텍스트를 word embedding, transformer encoder를 활용해 임베딩 벡터 생성
- Bottleneck 토큰 추가
- 소수의 bottleneck latent token 삽입(정보 교환 통로)
- Cross-Attention(bottleneck이 매개체)
- 텍스트 토큰 = Query, bottleneck토큰 Key/Value역할로 이미지 정보를 받음
- 이미지 토큰 = Query, bottleneck토큰 Key/Value역할로 텍스트 정보를 받음
- 결합
- 이미지or텍스트 벡터를 연결, 벡터합하여 downstream task에 입력
- 혹은 같은 임베딩 공간에 매핑하여 가까워지도록 학습(CLIP)
5. Hybrid Fusion(혼합 결합)
Early, Intermediate, Late Fusion을 모두 조합한 방식
- 중간 단계에서 어텐션 기반 결합(Intermediate)후, 최종 출력단계에서 결과를 다시 결합(Late)
- 구조가 복잡하고, 계산 비용이 큼
Pretrained Vision Language Models(VLMs)
이미지와 텍스트를 동시에 이해하도록 설계된 멀티모달 모델을 이미지-텍스트 쌍으로 pretraining시킨 모델
- 사전학습 단계: 이미지의 시각적 특징, 텍스트의 의미 표현을 같은 임베딩 공간에서 정렬하도록 학습
- Fine-Tuning 단계: task에 맞도록 추가학습(이미지 캡셔닝, 이미지-텍스트 검색, VQA(Visual Question Answering), 멀티모달 추론)
- vision, language의 공통 의미 표현을 학습해두어 여러 멀티모달 태스크에 범용적으로 활용
CLIP계열 모델(Contrastive Learning 기반/Contrastive Language-Image Pre-training)
이미지, 텍스트를 각각 인코더로 처리해,두 임베딩을 같은 공간에서 대비하여 학습함(contrastive learning)
- Text-to-Image, Image-to-Text에 매우 강함
- zero-shot분류가 가능
- 사전 학습된 데이터셋 덕에 특정 태스크에 맞춰 재학습(Fine-Tuning) 하지 않아도 강한 성능 발휘
ALIGN계열 모델(대규모 웹 데이터 기반)
매우 큰 규모의 이미지-텍스트 쌍 데이터를 활용해 사전학습된 모델
- CLIP과 유사한 대비 학습 구조이나, 스케일이 매우 커진 모델
- zero-shot 성능이 더 좋음.
ViBERT/LXMERT계열(Dual-stream Transformer)
이미지, 텍스트를 Transformer로 처리한 후 Cross-Attention으로 상호작용 시키는 구조(dual-stream)
- 구조적으로 멀티모달임이 명확하지만, 최근엔 덜쓰인다.
BLIP/BLIP-2계열(이해+생성 통합/Bootstrapping Language-Image Pre-training)
이미지-텍스트 이해와 생성(Image Captioning, VQA)를 하나의 프레임워크로 통합한 모델
- Bootstrapping: 웹에서 수집한 이미지-텍스트 데이터의 노이즈를 BLIP자체의 캡션 생성 모델을 써 학습 품질을 높임.(데이터 품질을 스스로 개선)
- BLIP-2(Q-former): Q-former라는 Query 토큰으로 이미지 특징 압축, 언어모델에 전달
Flamingo 계열(Few-shot 멀티모달 LLM)
LLM에 비전 인코더를 연결한 구조, 소량의 예시(few-shot)으로 다양한 태스크 수행 가능
- 텍스트, 이미지를 함께 처리(Vision+LLM 결합의 흐름을 본격화)
최신 멀티모달 파운데이션 모델 계열Zero-shot Few-shot 정의 아무런 예시도 주어지지 않은 상태에서 새로운 태스크 수행 소수의 예시를 보고 새로운 태스크 수행 방법 텍스트 프롬프트, 클래스 명만 제공
→모델 자체의 일반화 능력으로 대응함.태스크에 맞는 입-출력 예시 제공
→ 모델이 참고해 일반화모델 CLIP, ALIGN Flamingo, GPT-3 계열 장점 완전한 범용성, 추가 데이터 불필요 적은 예시로도 도메인 적응 가능 한계 특정 도메인에서 성능이 제한됨 예시 품질에 성능이 변동됨. - 이미지 이해, 문서 이해, 추론, 생성까지 하나의 모델로 처리
- 최근엔 Vision-Language모델이 단독이 아닌 범용 멀티모달 파운데이션 모델로 확장되어감
'AI공부 > 멀티모달' 카테고리의 다른 글
| 6. DINO(Zero-shot Object Detection, DETR, Hungarian matching, Swim Transformer) (0) | 2026.03.18 |
|---|---|
| 5. CLIP모델과 UMAP을 이용한 차원축소 시각화 (0) | 2026.03.17 |
| 4. 차원 축소 시각화(t-SNE, UMAP, initialization: random, PCA) (0) | 2026.03.16 |
| 3. 차원 축소(PCA, t-SNE, UMAP...) (0) | 2026.03.15 |
| 2. CLIP모델 구현 (0) | 2026.03.14 |