# Diffusion Models(확산 모델)
Diffusion Models는 데이터의 분포를 점진적으로 잡음으로 변환하는 Forward Process와 그 역방향 과정을 학습하는 Reverse Process를 통해 새로운 데이터를 생성하는 generative 모델의 한 축이다. 이 접근 방식은 이미지, 오디오, 비디오 등 다양한 도메인에서 높은 품질의 샘플을 생성하는 것으로 알려져 있다. 본 문서는 확산 모델의 기본 원리부터 주요 변형, 학습 및 샘플링 방법, 응용 분야까지 포괄적으로 다룬다.
## 목차
- 개요
- 역사 및 배경
- 수학적 모델 및 원리
- 학습 방법
- 샘플링 및 생성 과정
- 주요 변형 및 확장
- 데이터와 도메인
- 응용 분야
- 평가 지표
- 구현 및 라이브러리
- 한계와 도전과제
- 사회적 영향 및 윤리
- 참고문헌
---
## 개요
- 정의: Diffusion Model은 점진적으로 노이즈를 추가하는 Forward Process와 이 노이즈를 제거해 데이터를 재생성하는 Reverse Process로 구성된 확률적 생성 모델이다.
- 핵심 아이디어: 순수하게 노이즈에서 시작해 데이터의 구조를 점차 회복하는 방식으로 샘플을 생성한다.
- 용어 정리
- Forward Process: 데이터 x0에서 시작해 t 단계 동안 노이즈를 점진적으로 추가하는 과정
- Reverse Process: 노이즈로 가득 찬 상태 xt에서 시작해 원래 데이터 x0를 추정하는 역방향 마르코프 체인
- DDPM: Denoising Diffusion Probabilistic Model
- DDIM: Denoising Diffusion Implicit Model
- LDM: Latent Diffusion Model
- Score-based 모델: 데이터의 점진적 확률 밀도의 스코어를 학습하는 접근
- classifier-free guidance: 분류기 없이도 조건 정보를 활용하는 가이드 기법
---
## 수학적 모델 및 원리
- Forward Process(q): $x0 ~ p_data(x0), q(x1:T | x0) = ∏_{t=1}^T q(x_t | x_{t-1})$
- 일반적인 형태: $x_t = sqrt(α_t) x_{t-1} + sqrt(1 - α_t) ε_t, ε_t ~ N(0, I)$
- $α_t = 1 - β_t, β_t$은 noise schedule(선형, 코사인 등)
- Reverse Process$(p_θ): p_θ(x_{0:T}) = p_θ(x_T) ∏_{t=1}^T p_θ(x_{t-1} | x_t)$
- 학습 목표: 데이터 분포 p_data를 재현하는 역확산 과정을 근사하는 파라미터 θ를 학습
- 손실 함수(Loss)
- $L_DDPM: L_simple = E_{t, x_t, ε} [||ε - ε_θ(x_t, t)||^2]$, 여기서 ε_t를 이용해 노이즈를 추가한 상태로 학습
- 변형으로 L_vlb(variational lower bound)도 있지만, 실무적으로 L_simple이 널리 사용된다.
- 타임스텝(t)
- 정적 샘플링 대신 빠른 샘플링을 위한 DDIM 같은 비확률적/반확률적 접근도 존재
- Noise Schedule
- Linear, Cosine, square root 등 다양한 β_t 스케줄이 제안되고 실험적으로 차이가 보고된다.
- Latent Space 확산(LDM)
- 이미지 고해상도 샘플링의 계산 비용을 줄이기 위해 이미지를 잠재 공간(z)으로 매핑한 뒤 확산을 수행한다.
- Score-based 접근
- 데이터의 점별 스코어를 학습하고, 이를 통해 노이즈 제거 및 샘플링을 수행한다.
---
## 학습 방법
- 데이터 전처리
- 정규화, 해상도 통일, 데이터의 다양성 확보
- 모델 아키텍처
- 보통 UNet 계열 네트워크를 기반으로 시간 임베딩과 조건 임베딩을 결합
- 손실 구성
- L_simple 및 필요시 L_vlb 보조 항
- 조건부 샘플링
- 클래스 조건, 텍스트 조건 등 다양한 조건 정보를 주입 가능
- classifier-free guidance를 통한 조건 제어가 널리 사용됨
- 안정성 및 일반화
- 스케일링 법칙, 데이터 다양성, 노이즈 스케줄링의 조합을 통해 성능 향상
---
## 샘플링 및 생성 과정
- 기본 원리
- 역확산 체인 $p_θ(x_{t-1} | x_t)$을 차례대로 샘플링하여 x0를 재구성
- DDPM 샘플링 절차
- 시작점 x_T는 표준 정규분포로부터 샘플링
- t = T, T-1, ..., 1 순으로 $x_{t-1}$를 샘플링
- DDIM 및 비확률적 샘플링
- 결정적 경로를 도입해 샘플링 속도를 대폭 향상
- 조건부 샘플링
- 텍스트 프롬프트, 이미지 조건, 스타일 등 다양한 조건에 따른 샘플 제어 가능
- 텍스트-이미지 결합
- 텍스트-조건 Diffusion 모델이 발전하며 이미지 생성, 편집, 합성에 활용
---
## 주요 변형 및 확장
- DDPM/DIM 계열
- DDPM: 표준 확산 기반 샘플링
- DDIM: 더 빠른 샘플링을 위한 비확률적/암묵적 경로
- Latent Diffusion Model(LDM)
- 이미지 인코딩을 잠재 공간에서 수행하여 계산 효율 개선
- Score-based Models(SDE)
- 연속 시간 SDE 형태로 아이디어를 일반화
- Classifier-free Guidance
- 추가 분류기 없이도 조건 정보를 활용하는 지시적 제어 방법
- Multi-modal 및 영상 도메인 확장
- 텍스트-이미지, 오디오-비디오 등 멀티모달 생성으로 확장
- 속도 및 효율성 개선
- 지터 감소, 샘플링 시간 단축, 메모리 효율 향상 등의 연구 진행
---
## 데이터와 도메인
- 이미지 도메인
- 예: CIFAR-10, ImageNet, LSUN, CelebA-HQ, FFHQ 등
- 고해상도 샘플링
- Latent 공간에서의 샘플링으로 대규모 해상도 구현 가능
- 멀티모달 및 비전-언어
- 텍스트 프롬프트를 이용한 이미지 생성, 스타일 전이, 편집 등 가능
- 오디오 및 비디오
- 음성 합성, 음악 생성, 비디오 프레임 생성 및 편집 등으로 확장
---
## 응용 분야
- 예술 및 디자인
- 사진, 예술적 스타일링, 컨셉 아트 생성
- 콘텐츠 생성 및 편집
- 이미지 인페인팅, 초해상도, 색상 보정, object removal 등
- 멀티모달 생성
- 텍스트-이미지, 이미지-텍스트 간 변환
- 과학 및 의료
- 합성 데이터 생성, 데이터 증강, 시뮬레이션 데이터 생성
- 게임 및 시뮬레이션
- 고퀄리티 자율 생성 콘텐츠
---
## 평가 지표
- FID(Frechet Inception Distance)
- 생성된 샘플과 실제 데이터의 분포 차이를 측정
- IS(Identity/Inception Score)
- 샘플의 다양성과 품질을 함께 평가
- Precision/Recall 기반 지표
- 샘플의 다양성과 데이터 커버리지를 측정
- human evaluation
- 주관적 품질 평가를 통한 보완 지표
- 샘플 품질 vs. 속도 트ade오프
- 속도 개선과 품질 사이의 균형 평가
---
## 구현 및 라이브러리
- 프레임워크
- PyTorch, TensorFlow 등에서 구현 가능
- 대표 라이브러리/플랫폼
- HuggingFace diffusers, OpenAI의 Guided Diffusion 계열, Stable Diffusion 계열
- 구현 요소
- UNet 기반 네트워크, 시간 임베딩, noise scheduler, classifier-free guidance 구현
- 재현성
- 공개 데이터셋과 코드의 재현성 확보를 위해 seed 관리, 평균 및 분산의 고정, 평가 프로토콜의 명시가 필요
---
## 한계와 도전과제
- 계산 자원 소모
- 대규모 확산 모델 학습은 매우 높은 compute 자원을 요구
- 샘플링 속도
- 고퀄리티의 샘플링은 다단계 샘플링으로 인해 느릴 수 있음
- DDIM과 같은 방법으로 속도 개선 시 품질 전략 필요
- 데이터 의존성 및 편향
- 데이터 편향이 샘플링 결과에 직접 영향을 미칠 수 있다
- 안전성 및 저작권
- 데이터 소스의 저작권 및 프라이버시 문제를 주의해야 한다
- 해석 가능성
- 생성 모델의 내재적 작동 원리 해석의 어려움
---
## 사회적 영향 및 윤리
- 창작의 자유와 저작권 문제
- 생성된 콘텐츠의 저작권 귀속 및 원천 데이터의 문제
- 악용 가능성
- Deepfake, 부적절한 콘텐츠 생성 가능성에 대한 윤리적 고려
- 데이터 프라이버시
- 학습 데이터에 대한 민감 정보의 누출 가능성에 대한 위험성
---
## 참고문헌
- Diffusion probabilistic models, Sohl-Dickstein et al. (2015)
- Denoising Diffusion Probabilistic Models, Ho et al. (2020)
- Score-based Generative Modeling through Stochastic Differential Equations, Song, LeCun, Ermon 등
- Latent Diffusion Models: High-Resolution Image Synthesis with Latent Diffusion Models, Rombach et al.
- DDIM: Denoising Diffusion Implicit Models, Song et al.
- 최근 확산 모델 응용 및 실용 라이브러리 문서 및 튜토리얼
---
관련 문서: [[확산 모델의 수학적 기초]], [[Latent Diffusion Models(LDM) 개요]]