Theory/Computer Vision

[Diffusion 스터디] 확산 모델의 수학 머릿말 ~ 1.4 정리

YeonJuJeon 2025. 4. 13. 12:46

0. 머리말 (p.XI–XIII)

0.1 확산 모델이 주목받는 이유

  • 생성 모델의 하나로서 확산 모델은 매우 강력한 성능을 보여주고 있음.
  • 특히 높은 확장성품질, 그리고 다양성에서 기존 GAN, VAE 기반 모델들을 압도함.
  • 대표적 성과: 2022년 등장한 DALL·E2, Midjourney, Stable Diffusion 등.

0.2 기존 생성 모델과의 차이점

  • GAN은 학습의 불안정성과 mode collapse 문제 등 한계가 있었음.
  • 확산 모델은 안정적인 우도 추정 기반 학습이 가능하며,
  • 복잡한 분포를 점진적으로 학습하여 고품질 데이터를 생성함.

0.3 확산 모델의 장점

  1. 안정적인 학습
    • 단 하나의 모델만으로도 안정적으로 학습 가능 (GAN은 Generator + Discriminator 필요)
  2. 복잡한 분포도 학습 가능
    • 어려운 분포도 여러 단계에 나누어 생성 가능
  3. 조건부 생성 가능
    • 다양한 조건을 입력으로 추가할 수 있음 → 예: 텍스트, 스타일, 클래스
  4. 역확산 과정을 통해 제어 가능
    • Diffusion 과정의 제어 가능성이 높음

0.4 중요한 키워드

  • 잠복 변수(latent variable): 보이지 않는 정보가 내재된 변수
  • 다이노이징(denoising): 노이즈 제거 방식으로 잠재 공간의 데이터를 복원
  • SDE, ODE: 시간 연속 확산 방정식 기반으로 모델 확장됨
  • Score Function: 로그우도의 기울기(∇ log p(x))를 나타냄
  • 스코어 기반 생성(score-based generation): 확산 모델의 핵심

0.5 연도별 주요 연구

  • 2019년 Yang Song: 스코어 기반 잠재 생성 모델 제안
  • 2020년 Jonathan Ho: DDPM 제안. 시간별 노이즈 제거 기반으로 고품질 이미지 생성
  • 2021년 이후: SDE/ODE 확산 모델 등장 → 이미지, 음성, 텍스트 생성 모두 적용 가능

기호 일람 정리 (p.XVI)

기호 의미
$x \in \mathbb{R}^d$ d차원 실수 벡터
$x_i$ 벡터 $x$의 i번째 성분
$D = \{x^{(1)}, ..., x^{(N)}\}$ 훈련 데이터 집합
$x^{(i)}$ i번째 훈련 데이터
$p(x)$ 목표 확률분포 (ex. GAN, Diffusion)
$\exp(-f(x)) / Z(\theta)$ 확률분포 모델링 식
$f(x)$ 에너지 함수
$Z(\theta)$ 정규화 상수 (Partition Function)
$\nabla = \left( \frac{\partial}{\partial \theta_1}, ..., \frac{\partial}{\partial \theta_m} \right)$ 나블라, 그래디언트 연산자
$\nabla f(x)$ 함수 f(x)의 기울기 벡터
$\mathbb{E}[x]$ 기대값
$\mathbf{0}$ 0 벡터
$u$ 샘플링용 잡음, 보통 $u \sim \mathcal{N}$
$\mathcal{N}(\mu, \sigma^2)$ 평균 $\mu$, 분산 $\sigma^2$인 정규분포
$\|x\|_2$ L2 노름 (유클리드 거리) = $\sqrt{x^T x}$

확률 이론 기반

  1. 결합 확률$$P(A, B) = P(A) \cdot P(B | A)$$
  2. 조건부 확률$$P(A|B) = \frac{P(A, B)}{P(B)}$$
  3. 베이즈 정리$$P(B|D) = \frac{P(D|B) \cdot P(B)}{P(D)}$$
  4. Markov 성질$$P(x_{t+1} | x_t, x_{t-1}, \dots) = P(x_{t+1} | x_t)$$

확률 분포 표현 및 비교

  1. PDF (Probability Density Function)
    예: 정규분포$$p(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x - \mu)^2}{2\sigma^2} \right)$$
  2. Log-likelihood$$\log p(x|\theta)$$
  3. KL Divergence $$D_{\mathrm{KL}}(P \parallel Q) = \int P(x) \log \left( \frac{P(x)}{Q(x)} \right) \, dx$$
  4. Score Function$$s(x) = \nabla_x \log p(x)$$

Chapter 1. 생성 모델

1.1 생성 모델이란 무엇인가 (p.1~3)

정의

  • 생성 모델(generative model)이란, 데이터를 생성하는 모델을 의미함.
  • 목적은 주어진 데이터의 분포를 모사하여 새로운 데이터를 생성하는 것.

수학적 표현

  • 목표는 확률분포 $p(x)$를 학습하는 것.
    여기서 $x$는 데이터 (예: 이미지, 텍스트, 음성 등)를 의미함.
  • 학습 데이터 집합:$D = \{x^{(1)}, x^{(2)}, \dots, x^{(N)}\}$이들은 미지의 확률분포 $p(x)$에서 독립적으로 추출된 표본.

벡터 표현

  • 각 샘플 $x^{(i)} \in \mathbb{R}^d$: d차원 벡터
  • $x^{(i)}_j$: i번째 데이터의 j번째 성분

목표

  • 훈련 데이터 $D$로부터 확률분포 $q_{\theta}(x)$를 학습하여
    실제 분포 $p(x)$를 최대한 잘 근사하는 것.

학습 데이터 분포와 모델 분포의 차이를 보여주는 그림.
→ $p(x)$는 실제 데이터 분포, $q_\theta(x)$는 모델 분포.

확률분포 간의 거리

  • 분포 $q_{\theta}(x)$와 $p(x)$의 유사도는
    KL Divergence (Kullback–Leibler Divergence)로 측정됨:$$D_{\mathrm{KL}}(p(x) \parallel q_{\theta}(x)) = \int p(x) \log \frac{p(x)}{q_{\theta}(x)} dx$$

조건부 생성 모델

  • 조건부 확률모델: $p(x|c)$
    → 조건 $c$ (예: 텍스트, 라벨 등)에 따라 데이터를 생성하는 모델

예시:

  • 텍스트 조건 → 이미지 생성
  • 흑백 이미지 → 컬러화 문제 (채색)

조건부 vs. 비조건부

  • 조건이 없는 경우: 일반적인 확률분포 $p(x)$
  • 조건이 있는 경우: 조건부 확률분포 $p(x|c)$

예시:
흑백 이미지를 채색하는 경우,
$p(y|x)$: 흑백 이미지 $x$에 대해 다양한 색상 $y$가 존재
→ 조건부 생성 모델은 이 다양성을 반영할 수 있음.

  • 왼쪽: 결정론적 함수 $y = f(x)$로는 하나의 출력만 가능
  • 오른쪽: 확률모델 $p(y|x)$은 여러 결과 가능

1.2 에너지 기반 모델과 분배함수 (p.4~5)

에너지 기반 모델 (Energy-Based Model, EBM)

  • 확률분포를 다음과 같이 정의함:$$q_{\theta}(x) = \frac{\gamma_{\theta}(x)}{Z(\theta)}$$

여기서,

  • $\gamma_{\theta}(x)$: 비정규화 확률 (unnormalized probability), 항상 ≥ 0
  • $Z(\theta)$: 분배함수 (partition function)$$Z(\theta) = \int_{x' \in \mathcal{X}} \gamma_{\theta}(x') dx'$$

→ $\gamma_{\theta}(x)$가 에너지 함수 기반으로 표현되면:
$$q_{\theta}(x) = \frac{\exp(-f_{\theta}(x))}{Z(\theta)}$$ $$Z(\theta) = \int \exp(-f_{\theta}(x)) dx$$

  • $f_{\theta}(x)$: 에너지 함수 (낮을수록 해당 데이터가 더 잘 맞음)

의미 해석

  • $f(x)$가 작을수록 $x$는 출현하기 쉬운 데이터
  • $f(x)$가 클수록 출현하기 어려운 데이터

→ 확률모델이 에너지를 통해 데이터를 평가함

장점

  • 임의의 함수 $f(x)$를 자유롭게 사용할 수 있어 모델 설계의 유연성이 높음
  • 하지만 단점은 $Z(\theta)$ 계산이 어려워 학습이 힘들다는 것

1.2.1 구성 가능성 (Composability)

  • 두 확률분포 $q_1(x), q_2(x)$가 있다고 하자.
  • 각각 에너지 $f_1(x), f_2(x)$에 의해 정의됨.
  • 이 두 에너지를 더한 분포:$q(x) \propto \exp(-f_1(x) - f_2(x)) = q_1(x) \cdot q_2(x)$

→ 즉, 곱 연산으로 두 분포를 결합할 수 있음
→ 이것은 여러 조건을 조합할 수 있는 매우 강력한 특성임.


1.3 학습 방법 (p.6~13)

학습 방식은 크게 두 가지

  1. 우도 기반 모델 (Likelihood-based Model)
  2. 암묵적 생성 모델 (Implicit Model)

(1) 우도 기반 모델

개념

  • 주어진 데이터 $x$의 우도(likelihood)를 최대화하는 방향으로 학습하는 모델.
  • 훈련 데이터의 우도가 가장 크게 되는 매개변수 $\theta$를 찾는 것:$$\theta_{MLE} = \arg \max_{\theta} \log q_{\theta}(D)$$

수식 유도 (p.7)

  • $D = \{x^{(1)}, x^{(2)}, ..., x^{(N)}\}$
  • 각 데이터의 우도는 $q_{\theta}(x^{(i)})$
  • 로그우도 $L(\theta) = \frac{1}{N} \sum_{i=1}^{N} \log q_{\theta}(x^{(i)})$

: 우도 기반 모델에서 관찰된 데이터의 우도를 크게 만드는 방향으로 확률분포가 변하는 모습

에너지 기반 모델의 경우 (p.8)

  • 분포 정의:$q_{\theta}(x) = \frac{\exp(-f_{\theta}(x))}{Z(\theta)}$
  • 로그우도:$L(\theta) = - \frac{1}{N} \sum_{i=1}^{N} f_{\theta}(x^{(i)}) - \log Z(\theta)$
  • 즉, 첫 항은 훈련 데이터의 에너지를 낮추고
    둘째 항은 전체 분포의 정규화 상수를 고려하여 조정함.

: $Z($\theta)$를 구하기 어려움

기울기 계산 (p.9)

  • 최적화의 목적은 로그우도 $L(\theta)$를 증가시키는 방향으로 매개변수 $\theta$를 조정하는 것.
  • 최종 유도 결과:$\frac{\partial L(\theta)}{\partial \theta} = \frac{1}{N} \sum_{i=1}^{N} \left[ \frac{\partial f_{\theta}(x^{(i)})}{\partial \theta} - \mathbb{E}_{q_{\theta}(x)}\left[ \frac{\partial f_{\theta}(x)}{\partial \theta} \right] \right]$

→ 첫 항은 실제 데이터의 평균 기울기,
→ 둘째 항은 모델 분포에 따른 평균 기울기.

(2) 암묵적 생성 모델 (p.9–10)

개념

  • 분포 $q(x)$를 직접적으로 정의하지 않고,
    샘플링할 수만 있도록 만드는 모델.
  • 대표적 예시: GAN (Generative Adversarial Network)

수식적 접근

  • 생성자: $x = G(z)$, z는 정규분포 $z \sim \mathcal{N}(0, I)$
  • 판별자: $D(x)$, 훈련 데이터와 생성 데이터를 구분

  • 위쪽: 잠재 변수 공간(z-space)에서 샘플링
  • 아래쪽: 생성된 데이터가 실제 데이터와 얼마나 비슷한지를 판별하는 구조

우도 기반 vs 암묵적 모델 비교 (p.11)

liklihood based model implicit density model
로그우도를 최대화하는 안정적 학습 KL Divergence 최소화 문제로 불안정할 수 있음
로그우도 계산 가능 직접 계산 어려움, 샘플링 기반 평가
정규화된 분포 필요 분포를 명시적으로 쓰지 않아도 됨
확률분포 $p(x)$로부터 모델이 생성한 $q(x)$를 근사 반대로 모델 $q(x)$로부터 실제 분포를 판별하는 방식

KL Divergence 관점에서 해석 (p.11–12)

  • 우도 기반 학습:$\min_{\theta} D_{\text{KL}}(p(x) \parallel q_{\theta}(x))$→ 실제 데이터 분포 $p(x)$가 기준이며, 모델이 이를 따라야 함.
  • 암묵적 생성 모델:$\min_{\theta} D_{\text{KL}}(q_{\theta}(x) \parallel p(x))$→ 생성 모델이 기준이며, 실제 데이터처럼 보이게 학습.

  • (a) 우도 기반 모델은 모든 모드를 커버하려 하지만 mode collapse 없음.
  • (b) 암묵적 모델은 특정 모드에만 집중 → mode collapse 발생 가능

1.4 고차원에서의 다봉분포 데이터 생성의 어려움 (p.13)

  • 고차원 데이터 (이미지, 영상 등)는 대부분 다봉분포(multi-modal)를 가짐
  • 다양한 모드(mode)를 가지는 분포를 직접 모델링하거나 샘플링하는 건 매우 어렵다.

분포 함수의 문제점

  • 분포함수 $Z(\theta)$, 기울기 $\nabla Z(\theta)$ 계산이 불가능할 정도로 복잡
  • 이를 해결하기 위해 MCMC (Markov Chain Monte Carlo) 방식 사용

MCMC 개념

  • 분포를 직접 알지 못해도 비율만으로 샘플링 가능:$$\frac{p(x)}{p(x')} = \exp(-f(x) + f(x'))$$

: MCMC는 낮은 에너지 영역에서 높은 영역으로 넘어가야 하지만, 확률이 매우 작아 표본 추출이 어려움

MCMC의 한계

  1. 표본추출의 효율성 문제
    • 고차원 공간에서는 저차원의 극히 일부 영역에만 데이터가 존재함 (당양체 가설)
  2. 모드 간 이동 어려움
    • MCMC는 현재 위치의 에너지에 매우 의존적
    • 에너지가 높은 구간을 넘기 위해서는 매우 많은 샘플 필요