본문으로 건너뛰기

© 2026 Molayo

Lilian헤드라인2026. 05. 08. 02:54

What are Diffusion Models?

요약

확산 모델(Diffusion Models)은 데이터에 점진적으로 노이즈를 추가하는 '전방 확산 과정(forward diffusion process)'을 정의하고, 이 과정을 역으로 학습하여 순수한 노이즈로부터 고품질의 데이터를 생성하는 생성 모델입니다. GAN이나 VAE와 달리, 확산 모델은 비평형 열역학에서 영감을 받았으며, 마르코프 연쇄를 통해 점진적으로 노이즈를 제거(denoising)하며 원하는 데이터 샘플을 복원합니다. 이 과정은 스코어 기반 네트워크나 단순화된 목적함수를 사용하여 학습됩니다.

핵심 포인트

  • 확산 모델은 데이터를 노이즈로 서서히 변환하는 전방 과정을 정의하고, 그 역과정을 학습하여 생성합니다.
  • GAN의 불안정성이나 VAE의 대리 손실 의존성과 달리, 확산 모델은 고정된 절차(마르코프 연쇄)를 따릅니다.
  • 핵심 개념으로는 '전방 확산 과정' (Forward diffusion process), '스코어 매칭' (Score matching), 그리고 '노이즈 제거' (Denoising)가 있습니다.
  • 학습 목적함수는 노이즈 레벨 $t$에서의 예측 오차를 최소화하는 방식으로 단순화될 수 있습니다.

[2021-09-19 업데이트: Yang Song (참조된 핵심 논문들의 저자) 의 스코어 기반 생성 모델링에 대한 블로그 포스트를 강력히 추천합니다].

[2022-08-27 업데이트: 분류자 없는 안내 (classifier-free guidance), GLIDE, unCLIP, Imagen 추가.

[2022-08-31 업데이트: 잠재 공간 확산 모델 (latent diffusion model) 추가.

[2024-04-13 업데이트: 점진적 정제 (progressive distillation), 일관성 모델 (consistency models), 그리고 모델 구조 섹션 추가.

지금까지 저는 세 가지 유형의 생성 모델에 대해 작성했습니다. GAN, VAE, 그리고 Flow-based 모델입니다. 이들은 고품질 샘플을 생성하는 데 큰 성공을 거두었지만, 각각 고유한 한계가 있습니다. GAN 모델은 적대적 학습 (adversarial training) 의 특성으로 인해 잠재적으로 불안정한 훈련과 생성의 다양성이 낮다는 문제가 있습니다. VAE 는 대리 손실 (surrogate loss) 을 의존합니다. Flow 모델은 되돌릴 수 있는 변환 (reversible transform) 을 구성하기 위해 특수한 구조를 사용해야 합니다.

확산 모델은 비평형 열역학에 영감을 받았습니다. 데이터를 서서히 무작위 노이즈로 추가하고, 그 확산 과정을 역으로 학습하여 노이즈에서 원하는 데이터 샘플을 구축하는 마르코프 연쇄 (Markov chain) 의 확산 단계를 정의합니다. VAE 나 Flow 모델과 달리, 확산 모델은 고정된 절차로 학습되며 잠재 변수는 고차원성 (원본 데이터와 동일한 차원) 을 가집니다.

What are Diffusion Models?

여러 가지 유사한 아이디어 아래에 기반한 확산 기반 생성 모델이 제안되었습니다. 확산 확률적 모델 (diffusion probabilistic models) (Sohl-Dickstein et al., 2015), 노이즈 조건부 스코어 네트워크 (noise-conditioned score network) (NCSN; Yang & Ermon, 2019), 그리고 데노이징 확산 확률적 모델 (denoising diffusion probabilistic models) (DDPM; Ho et al. 2020) 이 포함됩니다.

Forward diffusion process

실제 데이터 분포에서 샘플링된 데이터 포인트 $\f{x}_0 \sim q(\bf{x})$ 를 주어진다면, $T$ 단계에 걸쳐 샘플에 작은 양의 가우스 노이즈를 추가하여 노이즈가 포함된 샘플 시퀀스 $\f{x}_1, \dots, \bf{x}T$ 를 생성하는 전방 확산 과정 (forward diffusion process) 을 정의해 보겠습니다. 단계 크기는 분산 스케줄 ($\{\beta_t \in (0, 1)\}{t=1}^T$) 으로 제어됩니다.

데이터 샘플 $\f{x}_0$ 은 단계 $t$ 가 커짐에 따라 구별 가능한 특징을 점차 상실합니다. 결국 $T \to \infty$ 일 때, $\f{x}_T$ 는 등방성 가우스 분포와 동등합니다.

위 과정의 좋은 속성은 재매개화 트릭 (reparameterization trick) 을 사용하여 임의의 시간 단계 $t$ 에서 $\f{x}_t$ 를 닫힌 형태로 샘플링할 수 있다는 것입니다. $\alpha_t = 1 - \beta_t$ 와 $\bar{\alpha}t = \prod{i=1}^t \alpha_i$ 를 정의하면:

(*) 두 가지 다른 분산의 가우스를 합치면, $\mathcal{N}(\bf{0}, \sigma_1^2\bf{I})$ 와 $\mathcal{N}(\bf{0}, \sigma_2^2\bf{I})$, 새로운 분포는 $\mathcal{N}(\bf{0}, (\sigma_1^2 + \sigma_2^2)\bf{I})$ 입니다. 여기서 합쳐진 표준 편차는 $\sqrt{(1 - \alpha_t) + \alpha_t (1-\alpha_{t-1})} = \sqrt{1 - \alpha_t\alpha_{t-1}}$ 입니다.

일반적으로, 샘플이 더 노이즈가 될수록 더 큰 업데이트 단계를 허용할 수 있으므로 $\beta_1 < \beta_2 < \dots < \beta_T$ 이고 따라서 $\bar{\alpha}_1 > \dots > \bar{\alpha}_T$ 입니다.

Connection with stochastic gradient Langevin dynamics

Langevin dynamics 는 분자 시스템을 통계적으로 모델링하기 위해 개발된 물리학 개념입니다. 확률적 경사 하강 (stochastic gradient descent) 과 결합하면, 마르코프 연쇄의 업데이트를 사용하여 확률 밀도 $p(\bf{x})$ 에서 샘플을 생성할 수 있습니다. 이는 $
abla_{\bf{x}} \log p(\bf{x})$ 만 사용합니다.

여기에서 $eta$는 학습률입니다.


손실 항 $L_t$ 는 $ ilde{oldsymbol{μ}}$ 와의 차이를 최소화하도록 파라미터화됩니다:

단순화

경험적으로, Ho et al. (2020) 은 가중치 항을 무시한 단순화된 목적함수로 확산 모델을 학습시키는 것이 더 효과적임을 발견했습니다:

최종 단순한 목적함수는 다음과 같습니다:

여기서 $C$ 는 $ heta$ 에 의존하지 않는 상수입니다.

노이즈 조건부 스코어 네트워크 (NCSN) 와의 연결

Song & Ermon (2019) 은 데이터 분포를 score matching 으로 추정하여 Langevin dynamics 를 사용하여 샘플을 생성하는 스코어 기반 생성 모델링 방법을 제안했습니다. 각 샘플 $θ$ 의 밀도 확률의 스코어는 그 기울기 $
abla_{θ} \α \log q(θ)$ 로 정의됩니다. 스코어 네트워크 $θ_θ: \mathbb{R}^D \to \mathbb{R}^D$ 는 이를 추정하도록 훈련되며, $θ_θ(θ) \approx
abla_{θ} \α \log q(θ)$ 입니다.

심층학습 설정에서 고차원 데이터와 확장성을 높이기 위해, 그들은 denoising score matching (Vincent, 2011) 또는 sliced score matching (무작위 투영 사용; Song et al., 2019) 을 사용하는 것을 제안했습니다. Denosing score matching 은 데이터 $q( ilde{θ} \vert \u03b8)$ 에 사전 지정된 작은 노이즈를 추가하고, score matching 으로 $q( ilde{θ})$ 를 추정합니다.

Langevin dynamics 는 스코어 $
abla_{θ} \α \log q(θ)$ 만 사용하여 반복 과정에서 확률 밀도 분포에서 데이터 포인트를 샘플링할 수 있음을 기억하세요.

그러나 manifold hypothesis 에 따르면, 관측된 데이터가 임의적으로 고차원처럼 보일지라도 대부분의 데이터는 저차원 manifold 에 집중될 것으로 예상됩니다. 이는 스코어 추정에 부정적인 영향을 미치며, 데이터 포인트가 전체 공간을 커버할 수 없기 때문입니다. 데이터 밀도가 낮은 영역에서는 스코어 추정이 신뢰성이 떨어집니다. 작은 가우시안 노이즈를 추가하여 perturbed data distribution 을 전체 공간 $\mathbb{R}^D$ 를 커버하도록 하면, 스코어 추정자 네트워크의 훈련이 더 안정적으로 됩니다. Song & Ermon (2019) 은 데이터에 다른 수준의 노이즈로 데이터를 perturbating 하고, noise-conditioned score network 를 훈련하여 모든 perturbed data 의 다른 노이즈 수준에서의 스코어를 jointly 추정하도록 개선했습니다.

노이즈 수준을 증가하는 schedule 은 forward diffusion process 와 유사합니다. 만약 우리가 diffusion process annotation 을 사용한다면, 스코어는 $θ_θ(θ_t, t) \approx
abla_{θ_t} \α \log q(θ_t)$ 를 근사합니다. 가우시안 분포 $θ \sim \mathcal{N}(μ, \sigma^2 \mathbf{I})$ 를 사용하면, 그 밀도 함수의 로그의 미분을 다음과 같이 쓸 수 있습니다: $
abla_{θ}\α p(θ) =
abla_{θ} \Big(- rac{1}{2\sigma^2}(\u03b8 - \boldsymbol{μ})^2 \Big) = - \frac{\u03b8 - \boldsymbol{μ}}{\sigma^2} = - \frac{\boldsymbol{φ}}{\sigma}$ 여기서 $oldsymbol{φ} \sim \mathcal{N}(\boldsymbol{0}, \mathbf{I})$ 를 기억하세요. $q(θ_t \vert \u03b8_0) \sim \mathcal{N}(\sqrt{\bar{μ}_t} \u03b8_0, (1 - \bar{μ}_t)\mathbf{I})$ 이므로,

$eta_t$ 의 파라미터화

Ho et al. (2020) 에서 전진 분산은 $eta_1=10^{-4}$ 부터 $eta_T=0.02$ 까지 선형적으로 증가하는 일련의 상수로 설정됩니다. 이는 정규화된 이미지 픽셀 값 $[-1, 1]$ 에 비해 상대적으로 작습니다. 확산 모델 실험에서 고품질 샘플을 얻었지만 다른 생성 모델과 경쟁력 있는 모델 로그 가능도를 달성하지 못했습니다.

Nichol & Dhariwal (2021) 은 확산 모델이 더 낮은 NLL 을 얻도록 돕기 위해 여러 개선 기술을 제안했습니다. 그 중 하나는 코사인 기반 분산 스케줄링을 사용하는 것입니다. 스케줄링 함수의 선택은 임의적일 수 있으며, 훈련 과정 중간에 거의 선형적인 감소와 $t=0$ 및 $t=T$ 주변에서 미묘한 변화를 제공해야만 합니다.

여기서 작은 오프셋 $s$ 는 $t=0$ 근처에서 $eta_t$ 가 너무 작아지지 않도록 방지합니다.

역 과정 분산 $oldsymbol{\Sigma}_ heta$ 파라미터화

Ho et al. (2020) 은 학습 가능한 것이 아니라 상수로 $eta_t$ 를 고정하고, $oldsymbol{\ ext{\Sigma}}_\theta(\mathbf{x}_t, t) = \sigma^2_t \mathbf{I}$ 로 설정했습니다. 여기서 $oldsymbol{\sigma}_t$ 는 학습되지 않고 $eta_t$ 또는 $ ilde{\beta}t = \frac{1 - \bar{\alpha}{t-1}}{1 - \bar{\alpha}t} \cdot \beta_t$ 로 설정됩니다.因为他们发现学习对角线方差 $\boldsymbol{\Sigma}\theta$ 会导致训练不稳定和样本质量较差。

Nichol & Dhariwal (2021) 은 모델이 혼합 벡터 $oldsymbol{v}$ 를 예측함으로써 $oldsymbol{\Sigma}_\theta(\mathbf{x}_t, t)$ 를 $eta_t$ 와 $ ilde{\beta}_t$ 사이의 보간으로 학습하도록 제안했습니다:

그러나 단순한 목표 $L_\text{simple}$ 는 $\boldsymbol{\Sigma}\theta$ 에 의존하지 않습니다. 의존성을 추가하기 위해 그들은 $L\text{hybrid} = L_\text{simple} + \lambda L_\text{VLB}$ 와 같은 하이브리드 목표를 구성했습니다. 여기서 $\lambda=0.001$ 은 작고, $L_\text{VLB}$ 항에서 $oldsymbol{\mu}\theta$ 에 대한 기울기를 멈추게 하여 $L\text{VLB}$ 가 $\boldsymbol{\Sigma}\theta$ 학습을 안내할 뿐입니다. 경험적으로 그들은 $L\text{VLB}$ 를 최적화하기가 매우 어렵다는 것을 관찰했습니다. 아마도 잡음스러운 기울기 때문에, 중요 표본 추출을 사용한 $L_\text{VLB}$ 의 시간 평균 평활 버전을 사용하는 것이 제안되었습니다.

조건부 생성

이미지 조건부 정보와 함께 생성 모델을 훈련할 때 ImageNet 데이터셋과 같이 클래스 라벨이나 설명 텍스트에 조건부 샘플을 생성하는 것은 일반적입니다.

분류기 유도 확산

확산 과정에 명시적으로 클래스 정보를 통합하기 위해, Dhariwal & Nichol (2021) 은 노이즈 이미지 $oldsymbol{\mathbf{x}}t$ 에서 분류기 $f\phi(y \vert \mathbf{x}t, t)$ 를 훈련하고, 조건부 정보 $y$ (예: 목표 클래스 라벨) 로 확산 샘플링 프로세스를 안내하기 위해 기울기 $\nabla\mathbf{x} \log f_\phi(y \vert \mathbf{x}t)$ 를 사용했습니다. 이는 노이즈 예측을 변경함으로써 이루어집니다. Recall that $
abla
{\mathbf{x}_t} \log q(\mathbf{x}_t) = - \frac{1}{\sqrt{1 - \bar{\alpha}t}} \boldsymbol{\epsilon}\theta(\mathbf{x}_t, t)$ 이고, 합성 분포 $q(\mathbf{x}_t, y)$ 의 점수 함수는 다음과 같이 쓸 수 있습니다.

따라서 새로운 분류기 유도 예측자 $ar{\boldsymbol{\epsilon}}_\theta$ 는 다음과 같은 형태를 가집니다.

분류기 가이드의 강도를 제어하기 위해, 우리는 델타 부분에 가중치 $w$ 를 추가할 수 있습니다,

결과적인 ablated diffusion model (ADM) 과 분류기 가이드가 추가된 모델 (ADM-G) 은 SOTA 생성 모델 (예: BigGAN) 보다 더 나은 결과를 달성할 수 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Lilian Weng Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
2

댓글

0