# 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) 개요]]