이미지 생성 — Diffusion 모델
노이즈를 점진적으로 제거하여 이미지를 생성하는 혁신적 방법
1. 생성 모델의 진화
| 모델 | 원리 | 장단점 |
|---|---|---|
| GAN | 생성자 vs 판별자 경쟁 | 고품질이지만 학습 불안정, 모드 붕괴 |
| VAE | 잠재 공간으로 인코딩/디코딩 | 안정적이지만 이미지가 흐릿 |
| Diffusion | 노이즈 추가 → 복원 과정 학습 | ✅ 안정적 + 고품질. 현재 주류 |
2. Diffusion 모델 원리
2.1 핵심 아이디어
- Forward: 원본 이미지에 점진적으로 노이즈를 추가 (수학적으로 정의됨, 학습 불필요)
- Reverse: 노이즈에서 원본을 복원하는 과정을 Neural Network(U-Net)가 학습
- 추론 시: 랜덤 노이즈에서 시작 → 반복적 노이즈 제거 → 이미지 생성
2.2 Stable Diffusion 아키텍처
| 컴포넌트 | 역할 |
|---|---|
| Text Encoder (CLIP) | 텍스트 프롬프트를 벡터로 변환 |
| U-Net | 잠재 공간에서 노이즈를 예측/제거 (핵심) |
| VAE | 이미지 ↔ 잠재 공간 변환 (압축/복원) |
| Scheduler | 노이즈 제거 스케줄 (DDPM, DDIM, Euler 등) |
💡 **잠재 공간(Latent Space)**에서 작업하는 것이 핵심. 512×512 이미지를 직접 다루면 너무 크지만, 64×64 잠재 벡터에서 작업하면 GPU 메모리와 계산이 대폭 절약됨.
3. 제어와 확장
| 기법 | 설명 |
|---|---|
| ControlNet | 포즈, 엣지, 깊이맵 등으로 생성을 정밀 제어 |
| LoRA (이미지용) | 특정 스타일/캐릭터를 학습한 소형 어댑터 |
| Inpainting | 이미지 일부를 마스킹하고 새로 생성 |
| Outpainting | 이미지 바깥을 확장 |
| Image-to-Image | 기존 이미지를 기반으로 변형 |
| Upscaling | 저해상도 → 고해상도 |
4. 주요 서비스/모델
| 모델/서비스 | 특징 |
|---|---|
| Stable Diffusion (Stability AI) | ✅ 오픈소스, 자체 호스팅 가능, 커스터마이즈 자유 |
| DALL-E 3 (OpenAI) | API 기반, ChatGPT 통합, 프롬프트 이해력 우수 |
| Midjourney | Discord 기반, 예술적 품질 최고, 폐쇄형 |
| Flux (Black Forest Labs) | SD 후속, 고품질 오픈소스 |
| Ideogram | 텍스트 렌더링에 강함 |
5. 실무 활용과 제약
| 활용 | 예시 |
|---|---|
| 프로토타입 | UI 목업, 제품 컨셉 이미지 |
| 콘텐츠 | 블로그 삽화, 프레젠테이션 이미지 |
| 디자인 | 로고 초안, 배경 이미지 |
| 제약/이슈 | 설명 |
|---|---|
| 저작권 | 학습 데이터의 저작권 논쟁 (소송 진행 중) |
| 딥페이크 | 실제 인물 이미지 생성 위험 |
| 일관성 | 같은 캐릭터를 여러 장면에서 일관되게 생성하기 어려움 |
| 텍스트 생성 | 이미지 내 텍스트가 깨지는 문제 (개선 중) |
다음 글
→ 멀티모달 AI