0. Summary

기본 정보 : ArXiv,2020.06.19 (NeurIPS 2020), Denoising Diffusion Probabilistic Models

연구 배경

GAN, 자기회귀 모델, flow, VAE 등 다양한 심층 생성 모델이 이미지와 오디오에서 인상적인 샘플을 내고 있었고, 에너지 기반 모델과 score matching도 GAN에 견줄 만한 이미지를 만들기 시작했다. 확산 확률 모델(diffusion probabilistic model)은 Sohl-Dickstein 등(2015)이 제안한 것으로, 데이터에 노이즈를 점진적으로 더하는 확산 과정을 유한 시간 안에 거꾸로 되돌리도록 변분 추론으로 학습한 매개변수화된 Markov 체인이다. 확산이 작은 가우시안 노이즈로 이루어지면 샘플링 체인의 전이도 조건부 가우시안으로 둘 수 있어 신경망 매개변수화가 특히 단순하다. 정의하기 쉽고 학습도 효율적이지만, 논문 시점까지 확산 모델이 고품질 샘플을 생성할 수 있다는 시연은 없었다.

제안 방법

확산 모델이 실제로 고품질 샘플을 생성할 수 있음을 보이고, 그 과정에서 특정 매개변수화가 학습 시 다중 노이즈 수준의 denoising score matching과, 샘플링 시 annealed Langevin dynamics와 동치임을 밝힌다. 순방향 분산 $\beta_t$는 $10^{-4}$에서 $0.02$까지 선형으로 고정하고($T=1000$), 역방향 분산은 학습하지 않는 상수 $\sigma_t^2$로 둔다. 역방향 평균 $\mu_\theta$를 직접 예측하는 대신 $x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\epsilon$에 섞인 노이즈 $\epsilon$을 예측하는 네트워크 $\epsilon_\theta$ 로 재매개변수화하면, 변분 하한의 각 항이 노이즈 수준별 denoising score matching 형태의 가중 $\epsilon$-MSE가 되고 샘플링 식은 Langevin dynamics 한 스텝과 같아진다. 여기서 가중치를 모두 떼어낸 단순화된 목적 함수 $L_{simple}$ 로 학습하면 샘플 품질이 가장 좋다. 마지막 스텝 $p_\theta(x_0\mid x_1)$는 가우시안을 픽셀 구간별로 적분한 이산 디코더로 두어 이산 데이터의 무손실 코드 길이를 올바르게 정의한다. 네트워크는 group normalization과 16×16 self-attention을 쓰는 PixelCNN++ 스타일 U-Net이며, 시간 $t$는 Transformer sinusoidal position embedding으로 주입한다.

발견 사실

무조건 CIFAR10에서 Inception score 9.46, FID 3.17을 얻어 조건부 모델까지 포함해 문헌의 대부분을 넘어섰고(Table 1), 256×256 LSUN Church(FID 7.89)·Bedroom(큰 모델 4.90)과 CelebA-HQ에서 ProgressiveGAN과 비슷한 품질을 보였다(Table 3). Ablation에서는 $\tilde\mu$ 예측이 변분 하한으로 학습할 때만 동작하고(FID 13.22), $\epsilon$ 예측은 변분 하한에서는 비슷하지만(13.51) $L_{simple}$에서는 훨씬 좋으며(3.17), 분산을 학습하면 학습이 불안정했다(Table 2). 무손실 코드 길이는 테스트 3.75 bits/dim으로 다른 우도 기반 모델에 못 미치지만 train-test 격차가 0.03 bits/dim 이하라 과적합은 없고, rate-distortion 분석에서 전체 코드 길이의 절반 이상이 지각 불가능한 왜곡을 기술하는 데 쓰이는 것이 확인되었다(Table 4, Fig. 5). 샘플링은 큰 구조가 먼저, 세부가 나중에 나타나는 progressive decoding이며, 중간 잠재 $x_{750}$만 공유해도 성별·머리색·안경·자세 같은 고수준 속성이 보존된다(Fig. 7).

핵심 기여

  1. $\epsilon$-예측 재매개변수화와 score matching·Langevin dynamics와의 동치 규명 : 변분 하한의 $L_{t-1}$을 노이즈 예측 MSE로 다시 쓰면 다중 노이즈 수준의 denoising score matching과 같고, 샘플러는 $\epsilon_\theta$를 학습된 데이터 밀도 기울기로 쓰는 Langevin dynamics를 닮는다는 것을 보였다. 저자들은 이 동치를 주요 기여로 꼽는다.
  2. 단순화된 가중 변분 하한 $L_{simple}$ : 가중치를 뗀 손실이 작은 $t$(쉬운 denoising)의 비중을 낮추고 큰 $t$(어려운 denoising)에 집중하게 해 샘플 품질을 크게 올린다는 것을 보였으며, 이것이 GAN급 샘플 품질(CIFAR10 FID 3.17)을 처음 달성한 레시피다.
  3. Progressive lossy compression 해석 : 변분 하한을 rate(L_1~L_T)와 distortion(L_0)로 읽어 확산 모델이 뛰어난 손실 압축기라는 귀납적 편향을 가짐을 보이고, 샘플링을 데이터 좌표 재배열로는 표현할 수 없는 일반화된 비트 순서의 자기회귀 디코딩으로 해석했다.

관련 개념

배경: 확산 모델의 정의와 변분 하한

확산 모델은 $p_\theta(x_0):=\int p_\theta(x_{0:T})\,dx_{1:T}$ 형태의 잠재 변수 모델이며, 잠재 $x_1,\dots,x_T$는 데이터 $x_0\sim q(x_0)$와 같은 차원입니다. 다른 잠재 변수 모델과 구별되는 점은 근사 사후분포 $q(x_{1:T}\mid x_0)$, 즉 순방향(확산) 과정이 학습되지 않고 고정되어 있다는 것입니다(Sec. 2).


🔁 1. 역방향 과정과 순방향 과정 (Eq. 1–2)

역방향 과정은 $p(x_T)=\mathcal N(x_T;0,I)$에서 시작하는 학습된 가우시안 전이의 Markov 체인입니다.

\[p_\theta(x_{0:T}):=p(x_T)\prod_{t=1}^{T}p_\theta(x_{t-1}\mid x_t),\qquad p_\theta(x_{t-1}\mid x_t):=\mathcal N\!\big(x_{t-1};\mu_\theta(x_t,t),\Sigma_\theta(x_t,t)\big)\]

순방향 과정은 분산 스케줄 $\beta_1,\dots,\beta_T$에 따라 가우시안 노이즈를 점진적으로 더하는 고정 Markov 체인입니다.

\[q(x_{1:T}\mid x_0):=\prod_{t=1}^{T}q(x_t\mid x_{t-1}),\qquad q(x_t\mid x_{t-1}):=\mathcal N\!\big(x_t;\sqrt{1-\beta_t}\,x_{t-1},\beta_t I\big)\]

$\beta_t$는 재매개변수화로 학습할 수도, 상수 하이퍼파라미터로 둘 수도 있습니다. $\beta_t$가 작으면 순방향과 역방향이 같은 함수 형태를 가지므로 역방향을 가우시안 조건부로 두는 것이 표현력을 보장합니다.


⏩ 2. 임의 시점 샘플링 (Eq. 4)

순방향 과정의 주목할 성질은 임의의 $t$에서 $x_t$를 닫힌 형태로 샘플링할 수 있다는 것입니다. $\alpha_t:=1-\beta_t$, $\bar\alpha_t:=\prod_{s=1}^{t}\alpha_s$로 두면

\[q(x_t\mid x_0)=\mathcal N\!\big(x_t;\sqrt{\bar\alpha_t}\,x_0,(1-\bar\alpha_t)I\big)\]

이 덕분에 $L$의 임의의 항을 확률적 경사 하강으로 최적화하는 효율적 학습이 가능합니다.


📐 3. 분산 감소된 변분 하한 (Eq. 3, 5–7)

음의 로그 우도에 대한 통상적 변분 하한은

\[\mathbb E[-\log p_\theta(x_0)]\le\mathbb E_q\!\left[-\log\frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)}\right]=:L\]

이며, 분산을 줄이기 위해 다음과 같이 다시 씁니다.

\[\mathbb E_q\Big[\underbrace{D_{KL}\big(q(x_T\mid x_0)\,\|\,p(x_T)\big)}_{L_T}+\sum_{t>1}\underbrace{D_{KL}\big(q(x_{t-1}\mid x_t,x_0)\,\|\,p_\theta(x_{t-1}\mid x_t)\big)}_{L_{t-1}}\underbrace{-\log p_\theta(x_0\mid x_1)}_{L_0}\Big]\]

여기서 순방향 과정의 사후분포는 $x_0$가 주어지면 처리 가능합니다.

\[q(x_{t-1}\mid x_t,x_0)=\mathcal N\!\big(x_{t-1};\tilde\mu_t(x_t,x_0),\tilde\beta_t I\big)\] \[\tilde\mu_t(x_t,x_0):=\frac{\sqrt{\bar\alpha_{t-1}}\beta_t}{1-\bar\alpha_t}x_0+\frac{\sqrt{\alpha_t}(1-\bar\alpha_{t-1})}{1-\bar\alpha_t}x_t,\qquad\tilde\beta_t:=\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}\beta_t\]

따라서 모든 KL 항이 가우시안 사이의 비교가 되어, 분산이 큰 Monte Carlo 추정 대신 Rao-Blackwell화된 닫힌 형태로 계산됩니다. 이 유도는 Sohl-Dickstein 등의 것이며 Appendix A에 완전성을 위해 수록되어 있습니다.

💡 Key Takeaway 확산 모델의 학습은 “순방향 사후분포 $q(x_{t-1}\mid x_t,x_0)$와 역방향 전이 $p_\theta(x_{t-1}\mid x_t)$ 사이의 가우시안 KL 합”을 줄이는 것입니다. 이 구조 자체는 2015년과 같고, DDPM의 기여는 그 안의 자유도를 어떻게 채우느냐에 있습니다.

$\epsilon$-예측 재매개변수화와 Score Matching의 연결

확산 모델의 설계 자유도는 순방향 분산 $\beta_t$, 모델 구조, 역방향 가우시안의 매개변수화에 있습니다. 논문은 denoising score matching과의 새로운 명시적 연결(Sec. 3.2)을 세워 이 선택을 안내하고, 그 결과 단순화된 가중 변분 하한(Sec. 3.4)에 도달합니다. 논의는 Eq. 5의 항별로 진행됩니다.


🔒 1. 순방향 과정과 $L_T$ (Sec. 3.1), 역방향 분산

$\beta_t$를 재매개변수화로 학습할 수 있다는 사실을 무시하고 상수로 고정합니다. 그러면 근사 사후분포 $q$에 학습 파라미터가 없으므로 $L_T$는 학습 중 상수가 되어 무시할 수 있습니다.

역방향 분산은 $\Sigma_\theta(x_t,t)=\sigma_t^2I$로 학습하지 않는 시간 의존 상수로 둡니다. 실험적으로 두 선택이 비슷한 결과를 냈습니다.

선택 최적인 경우 의미
$\sigma_t^2=\beta_t$ $x_0\sim\mathcal N(0,I)$ 역방향 엔트로피의 상한
$\sigma_t^2=\tilde\beta_t=\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}\beta_t$ $x_0$가 한 점으로 결정적 역방향 엔트로피의 하한

이 둘은 좌표별 단위 분산 데이터에 대한 역방향 엔트로피 상·하한에 대응하는 양 극단의 선택입니다.


🧮 2. $L_{t-1}$의 전개 (Eq. 8–12)

$p_\theta(x_{t-1}\mid x_t)=\mathcal N(x_{t-1};\mu_\theta(x_t,t),\sigma_t^2I)$이면

\[L_{t-1}=\mathbb E_q\!\left[\frac{1}{2\sigma_t^2}\big\lVert\tilde\mu_t(x_t,x_0)-\mu_\theta(x_t,t)\big\rVert^2\right]+C\]

이므로 가장 직접적인 매개변수화는 $\mu_\theta$가 순방향 사후 평균 $\tilde\mu_t$를 예측하는 것입니다. 그러나 Eq. 4를 $x_t(x_0,\epsilon)=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\epsilon$, $\epsilon\sim\mathcal N(0,I)$로 재매개변수화하고 사후 평균 공식(Eq. 7)을 적용하면

\[L_{t-1}-C=\mathbb E_{x_0,\epsilon}\!\left[\frac{1}{2\sigma_t^2}\Big\lVert\frac{1}{\sqrt{\alpha_t}}\Big(x_t(x_0,\epsilon)-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\epsilon\Big)-\mu_\theta(x_t(x_0,\epsilon),t)\Big\rVert^2\right]\]

즉 $\mu_\theta$는 $x_t$가 주어지면 $\frac{1}{\sqrt{\alpha_t}}\big(x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\epsilon\big)$를 예측해야 합니다. $x_t$는 모델 입력으로 주어지므로 다음 매개변수화를 택할 수 있습니다.

\[\mu_\theta(x_t,t)=\tilde\mu_t\!\Big(x_t,\tfrac{1}{\sqrt{\bar\alpha_t}}\big(x_t-\sqrt{1-\bar\alpha_t}\,\epsilon_\theta(x_t)\big)\Big)=\frac{1}{\sqrt{\alpha_t}}\Big(x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\epsilon_\theta(x_t,t)\Big)\]

여기서 $\epsilon_\theta$는 $x_t$로부터 $\epsilon$을 예측하는 함수 근사기입니다. 이 매개변수화에서 Eq. 10은 다음으로 단순화됩니다.

\[\mathbb E_{x_0,\epsilon}\!\left[\frac{\beta_t^2}{2\sigma_t^2\alpha_t(1-\bar\alpha_t)}\big\lVert\epsilon-\epsilon_\theta\big(\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\epsilon,t\big)\big\rVert^2\right]\]

🔗 3. 두 가지 동치

  • 학습 = denoising score matching : Eq. 12는 $t$로 색인된 다중 노이즈 스케일의 denoising score matching과 닮았습니다. Eq. 12가 Langevin 류 역방향 과정(Eq. 11)의 변분 하한의 (한 항과) 같으므로, denoising score matching을 닮은 목적을 최적화하는 것은 Langevin dynamics를 닮은 샘플링 체인의 유한 시간 주변분포를 변분 추론으로 맞추는 것과 동치입니다.
  • 샘플링 = Langevin dynamics : $x_{t-1}\sim p_\theta(x_{t-1}\mid x_t)$를 샘플링하는 것은 $x_{t-1}=\frac{1}{\sqrt{\alpha_t}}\big(x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\epsilon_\theta(x_t,t)\big)+\sigma_t z$, $z\sim\mathcal N(0,I)$를 계산하는 것이며, 전체 절차(Algorithm 2)는 $\epsilon_\theta$를 데이터 밀도의 학습된 기울기로 쓰는 Langevin dynamics를 닮았습니다.

$x_0$를 예측하는 세 번째 선택지도 있지만 초기 실험에서 샘플 품질이 나빴습니다. $\epsilon$ 예측은 결국 $p_\theta(x_{t-1}\mid x_t)$의 또 다른 매개변수화일 뿐이므로, 그 효과는 Sec. 4의 ablation에서 $\tilde\mu$ 예측과 비교해 검증됩니다.

💡 Key Takeaway “평균을 맞춰라”를 “섞인 노이즈를 맞춰라”로 바꾸는 것은 대수적으로 동치이지만, 손실의 형태를 score matching으로, 샘플러의 형태를 Langevin dynamics로 드러냅니다. 이 재서술이 score 기반 모델과 확산 모델을 하나로 묶었습니다.

이산 디코더와 단순화된 목적 함수 $L_{simple}$

$L_0$와 데이터 스케일링(Sec. 3.3), 그리고 단순화된 학습 목적(Sec. 3.4)은 DDPM이 실제로 동작하게 만드는 두 가지 실용적 선택입니다.


🎚️ 1. 데이터 스케일링과 이산 디코더 (Eq. 13)

이미지 데이터는 ${0,1,\dots,255}$의 정수를 $[-1,1]$로 선형 스케일한 것으로 가정합니다. 이렇게 하면 표준정규 prior $p(x_T)$에서 출발하는 역방향 네트워크가 일관되게 스케일된 입력에서 동작합니다. 이산 로그 우도를 얻기 위해 역방향 과정의 마지막 항을 가우시안 $\mathcal N(x_0;\mu_\theta(x_1,1),\sigma_1^2I)$에서 유도된 독립 이산 디코더로 둡니다.

\[p_\theta(x_0\mid x_1)=\prod_{i=1}^{D}\int_{\delta_-(x_0^i)}^{\delta_+(x_0^i)}\mathcal N(x;\mu_\theta^i(x_1,1),\sigma_1^2)\,dx\] \[\delta_+(x)=\begin{cases}\infty & x=1\\ x+\frac{1}{255} & x<1\end{cases},\qquad\delta_-(x)=\begin{cases}-\infty & x=-1\\ x-\frac{1}{255} & x>-1\end{cases}\]

$D$는 데이터 차원, 위첨자 $i$는 한 좌표입니다. VAE 디코더와 자기회귀 모델의 이산화된 연속 분포처럼, 이 선택은 데이터에 노이즈를 더하거나 스케일링의 Jacobian을 로그 우도에 넣지 않고도 변분 하한이 이산 데이터의 무손실 코드 길이가 되게 합니다. 조건부 자기회귀 모델 같은 더 강한 디코더는 향후 과제로 남깁니다. 샘플링 끝에서는 $\mu_\theta(x_1,1)$을 노이즈 없이 표시합니다.


✂️ 2. $L_{simple}$ (Eq. 14)

위 역방향 과정과 디코더로 정의된 변분 하한은 $\theta$에 대해 미분 가능해 바로 쓸 수 있지만, 다음 변형으로 학습하는 것이 샘플 품질에 유익하고 구현도 단순했습니다.

\[L_{simple}(\theta):=\mathbb E_{t,x_0,\epsilon}\Big[\big\lVert\epsilon-\epsilon_\theta\big(\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\epsilon,t\big)\big\rVert^2\Big],\qquad t\sim\mathrm{Uniform}(\{1,\dots,T\})\]
항 $L_{simple}$에서의 대응
$t=1$ $L_0$. 이산 디코더의 적분을 가우시안 밀도 × 구간 폭으로 근사하고 $\sigma_1^2$와 경계 효과를 무시한 것
$t>1$ Eq. 12의 가중치 없는 버전. NCSN denoising score matching의 손실 가중과 유사
$L_T$ 순방향 분산이 고정이므로 나타나지 않음

⚖️ 3. 왜 가중치를 떼면 좋아지는가

Eq. 12의 가중치 $\frac{\beta_t^2}{2\sigma_t^2\alpha_t(1-\bar\alpha_t)}$를 버린 $L_{simple}$은 표준 변분 하한과 다른 측면의 재구성을 강조하는 가중 변분 하한입니다. Sec. 4의 확산 설정에서 이 단순화는 작은 $t$에 해당하는 손실 항의 비중을 낮춥니다. 작은 $t$ 항은 아주 적은 노이즈를 제거하도록 네트워크를 학습시키는 쉬운 과제이므로, 비중을 낮춰 네트워크가 큰 $t$의 더 어려운 denoising 과제에 집중하게 하는 것이 유익합니다. 실험에서 이 재가중이 더 좋은 샘플 품질로 이어집니다.

Algorithm 1 (Training)

  1. 반복: $x_0\sim q(x_0)$, $t\sim\mathrm{Uniform}({1,\dots,T})$, $\epsilon\sim\mathcal N(0,I)$
  2. $\nabla_\theta\big\lVert\epsilon-\epsilon_\theta(\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\epsilon,t)\big\rVert^2$ 로 경사 하강
  3. 수렴까지

Algorithm 2 (Sampling)

  1. $x_T\sim\mathcal N(0,I)$
  2. $t=T,\dots,1$: $z\sim\mathcal N(0,I)$ ($t>1$), $z=0$ ($t=1$); $x_{t-1}=\frac{1}{\sqrt{\alpha_t}}\big(x_t-\frac{1-\alpha_t}{\sqrt{1-\bar\alpha_t}}\epsilon_\theta(x_t,t)\big)+\sigma_t z$
  3. $x_0$ 반환

💡 Key Takeaway $L_{simple}$은 “우도에 최적”이 아니라 “샘플 품질에 최적”인 손실입니다. 가중치를 떼는 것이 어려운 노이즈 수준에 학습을 집중시킨다는 해석은 이후 손실 가중 설계 연구의 출발점이 됩니다.

실험 설정과 CIFAR10 결과

실험 설정은 CIFAR10 샘플 품질에 맞춰 하이퍼파라미터를 탐색한 뒤 다른 데이터셋으로 옮긴 것입니다(Sec. 4, Appendix B).


⚙️ 1. 확산 설정과 네트워크

항목 값
$T$ 1000 (이전 연구와 샘플링 시 네트워크 평가 횟수를 맞추기 위해, 탐색 없이)
$\beta_t$ $\beta_1=10^{-4}$에서 $\beta_T=0.02$까지 선형 (상수·선형·이차 중 $L_T\approx0$ 제약 하에 선택)
$L_T$ $D_{KL}(q(x_T\mid x_0)\,|\,\mathcal N(0,I))\approx10^{-5}$ bits/dim
백본 PixelCNN++ 류 U-Net(Wide ResNet 기반), weight normalization 대신 group normalization
해상도 수준 32×32 모델은 4단계(32→4), 256×256 모델은 6단계. 수준당 conv residual block 2개
Self-attention 16×16 해상도의 conv block 사이
시간 조건 Transformer sinusoidal position embedding을 각 residual block에 더함 (파라미터는 시간 간 공유)
파라미터 수 CIFAR10 35.7M, LSUN·CelebA-HQ 114M, 큰 LSUN Bedroom 약 256M
최적화 Adam, lr $2\times10^{-4}$ (256×256은 $2\times10^{-5}$), 배치 128 (큰 이미지 64), EMA 0.9999
정규화 CIFAR10 dropout 0.1 (${0.1,0.2,0.3,0.4}$ 중, 없으면 PixelCNN++ 류 과적합 artifact), 다른 데이터셋 0. 무작위 수평 뒤집기(LSUN Bedroom 제외)
학습 TPU v3-8. CIFAR10 800k 스텝(21 steps/s, 10.6시간), CelebA-HQ 0.5M, LSUN Bedroom 2.4M, Cat 1.8M, Church 1.2M
샘플링 시간 CIFAR10 256장 배치 17초, 256×256 128장 배치 300초

$\beta_t$는 $[-1,1]$로 스케일된 데이터에 비해 작게 잡아 역방향과 순방향이 거의 같은 함수 형태를 갖게 하면서도 $x_T$의 신호 대 잡음비를 가능한 한 작게 유지합니다.


📊 2. Table 1: CIFAR10 결과 (NLL은 bits/dim)

모델 IS FID NLL Test (Train)
조건부      
EBM 8.30 37.9  
JEM 8.76 38.4  
BigGAN 9.22 14.73  
StyleGAN2 + ADA (v1) 10.06 2.67  
무조건      
Diffusion (original, 2015)     $\le5.40$
Gated PixelCNN 4.60 65.93 3.03 (2.90)
Sparse Transformer     2.80
PixelIQN 5.29 49.46  
EBM 6.78 38.2  
NCSNv2   31.75  
NCSN 8.87±0.12 25.32  
SNGAN 8.22±0.05 21.7  
SNGAN-DDLS 9.09±0.10 15.42  
StyleGAN2 + ADA (v1) 9.74±0.05 3.26  
Ours ($L$, 고정 등방 $\Sigma$) 7.67±0.13 13.51 $\le3.70$ (3.69)
Ours ($L_{simple}$) 9.46±0.11 3.17 $\le3.75$ (3.72)

FID 3.17은 조건부 모델을 포함한 문헌 대부분보다 좋습니다. FID는 관례대로 학습셋 기준이며, 테스트셋 기준으로는 5.24로 여전히 문헌의 많은 학습셋 FID보다 좋습니다. 진짜 변분 하한으로 학습하면 코드 길이는 더 좋지만(3.70 vs 3.75) 샘플 품질은 $L_{simple}$이 가장 좋습니다.


🧪 3. Table 2: 매개변수화와 목적 함수 ablation

목적 함수 IS FID
$\tilde\mu$ 예측 (baseline)    
$L$, 학습된 대각 $\Sigma$ 7.28±0.10 23.69
$L$, 고정 등방 $\Sigma$ 8.06±0.09 13.22
$\lVert\tilde\mu-\tilde\mu_\theta\rVert^2$ – –
$\epsilon$ 예측 (ours)    
$L$, 학습된 대각 $\Sigma$ – –
$L$, 고정 등방 $\Sigma$ 7.67±0.13 13.51
$\lVert\epsilon-\epsilon_\theta\rVert^2$ ($L_{simple}$) 9.46±0.11 3.17

빈 칸은 학습이 불안정해 범위 밖 점수의 나쁜 샘플을 낸 경우입니다. 세 가지가 확인됩니다.

  • $\tilde\mu$ 예측은 진짜 변분 하한으로 학습할 때만 동작하고, 가중치 없는 MSE로는 실패합니다.
  • 역방향 분산을 학습하면(매개변수화된 대각 $\Sigma_\theta$를 변분 하한에 넣으면) 학습이 불안정하고 샘플 품질이 나쁩니다.
  • $\epsilon$ 예측은 고정 분산의 변분 하한에서는 $\tilde\mu$ 예측과 비슷하지만, $L_{simple}$과 결합하면 훨씬 좋습니다.

💡 Key Takeaway FID 13 수준과 3 수준을 가르는 것은 네트워크가 아니라 “$\epsilon$ 예측 + 가중치 없는 손실”이라는 조합입니다. 둘 중 하나만으로는 안 됩니다.

Progressive Coding: Rate-Distortion과 자기회귀 디코딩과의 관계

Progressive coding(Sec. 4.3) 은 DDPM의 우도가 왜 낮은데도 샘플은 좋은지를 손실 압축의 언어로 설명합니다.


📉 1. 코드 길이와 과적합

CIFAR10 모델의 train-test 코드 길이 격차는 최대 0.03 bits/dim으로 다른 우도 기반 모델과 비슷하며, 확산 모델이 과적합하지 않음을 뜻합니다(최근접 이웃 시각화는 Appendix D). 무손실 코드 길이는 에너지 기반 모델과 score matching에 대해 보고된 AIS 추정치보다는 좋지만, 다른 우도 기반 생성 모델(Sparse Transformer 2.80)과는 경쟁이 안 됩니다. 그럼에도 샘플은 고품질이므로, 논문은 확산 모델이 뛰어난 손실 압축기가 되게 하는 귀납적 편향을 가진다고 결론짓습니다.

변분 하한 항 $L_1+\dots+L_T$를 rate, $L_0$를 distortion으로 보면, 샘플 품질이 가장 좋은 CIFAR10 모델은 rate 1.78 bits/dim, distortion 1.97 bits/dim이며 이는 0~255 척도에서 RMSE 0.95에 해당합니다. 무손실 코드 길이의 절반 이상이 지각 불가능한 왜곡을 기술합니다.


📡 2. Progressive lossy compression (Algorithm 3–4, Fig. 5, Table 4)

Eq. 5의 형태를 반영하는 progressive lossy code를 도입합니다. 수신자가 $p$만 미리 아는 상황에서 $x\sim q(x)$를 평균 약 $D_{KL}(q|p)$ bits로 전송하는 minimal random coding 같은 절차가 있다고 가정하면, 송신자는 $x_T\sim q(x_T\mid x_0)$를 $p(x_T)$로, $x_t\sim q(x_t\mid x_{t+1},x_0)$를 $p_\theta(x_t\mid x_{t+1})$로 차례로 보내고 마지막에 $x_0$를 $p_\theta(x_0\mid x_1)$로 보냅니다. 총 기대 코드 길이는 Eq. 5와 같습니다. 수신자는 임의의 시점 $t$에 $x_t$를 완전히 갖고 있으므로 Eq. 4에 의해 점진적으로 추정할 수 있습니다.

\[x_0\approx\hat x_0=\big(x_t-\sqrt{1-\bar\alpha_t}\,\epsilon_\theta(x_t)\big)/\sqrt{\bar\alpha_t}\]
역방향 시간 $T-t+1$ Rate (bits/dim) Distortion (RMSE, [0,255])
1000 1.77581 0.95136
900 0.11994 12.02277
800 0.05415 18.47482
700 0.02866 24.43656
500 0.00716 38.03236
300 0.00081 54.18826
100 0.00000 67.60125

Distortion은 rate-distortion 곡선의 저율 영역에서 급격히 감소합니다. 즉 대부분의 비트가 지각 불가능한 왜곡에 할당됩니다. 논문은 이 알고리즘이 고차원 데이터에 대해 처리 불가능한 minimal random coding에 의존하므로 실용적 압축 시스템이 아니라 변분 하한의 압축 해석임을 명시합니다.


🎞️ 3. Progressive generation과 잠재 구조

Algorithm 2로 샘플링하면서 $\hat x_0$를 예측하면 큰 규모 이미지 특징이 먼저, 세부가 나중에 나타납니다(Fig. 6, 10). $x_t$를 고정하고 $x_0\sim p_\theta(x_0\mid x_t)$를 여러 번 뽑으면(Fig. 7), $t$가 작을 때는 세부를 제외한 모든 것이, $t$가 클 때는 큰 규모 특징만 보존됩니다. CelebA-HQ에서 $t\in{1000,750,500,250}$에서 체인을 분기시키면, $x_T$ 직후 분기는 샘플이 크게 다르지만 더 진행한 뒤 분기하면 성별·머리색·안경·채도·자세·표정 같은 고수준 속성을 공유합니다. $x_{750}$ 같은 중간 잠재가 지각 불가능함에도 이런 속성을 부호화한다는 뜻이며, 논문은 이를 conceptual compression의 힌트로 봅니다.


🔢 4. 자기회귀 디코딩과의 연결 (Eq. 16)

변분 하한은 다음과 같이도 쓸 수 있습니다(추정은 불가능하지만 논의에 유용).

\[L=D_{KL}\big(q(x_T)\,\|\,p(x_T)\big)+\mathbb E_q\Big[\sum_{t\ge1}D_{KL}\big(q(x_{t-1}\mid x_t)\,\|\,p_\theta(x_{t-1}\mid x_t)\big)\Big]+H(x_0)\]

$T$를 데이터 차원으로 두고, $q(x_t\mid x_0)$가 처음 $t$개 좌표를 마스킹한 $x_0$에 모든 질량을 두도록 순방향을 정의하고, $p(x_T)$를 빈 이미지로, $p_\theta(x_{t-1}\mid x_t)$를 완전히 표현력 있는 조건부로 두면, $D_{KL}(q(x_T)|p(x_T))=0$이고 각 KL 최소화는 $t$번째 좌표를 $t+1,\dots,T$번째 좌표로부터 예측하도록 학습시킵니다. 즉 이 특정 확산으로 $p_\theta$를 학습하는 것은 자기회귀 모델을 학습하는 것입니다. 따라서 가우시안 확산 모델은 데이터 좌표 재배열로는 표현할 수 없는 일반화된 비트 순서를 가진 일종의 자기회귀 모델로 해석됩니다. 좌표 재배열이 샘플 품질에 영향을 주는 귀납적 편향을 도입한다는 선행 연구에 비추어, 가우시안 노이즈가 마스킹 노이즈보다 이미지에 더 자연스러워 더 큰 효과를 낼 것이라고 추측합니다. 또 가우시안 확산의 길이는 데이터 차원과 같을 필요가 없어 빠른 샘플링을 위해 짧게, 표현력을 위해 길게 할 수 있습니다.

💡 Key Takeaway DDPM의 낮은 우도는 결함이 아니라 “사람이 못 보는 비트에 코드 길이를 쓰지 않는” 성질의 반영입니다. 확산을 “큰 구조부터 복원하는 일반화된 자기회귀”로 보는 관점은 이후 확산 모델 해석의 표준이 됩니다.

보간, 고해상도 결과, NCSN과의 차이

추가 실험은 잠재 공간 보간(Sec. 4.4)과 256×256 데이터셋 결과이며, Appendix C는 같은 시기의 NCSN과 DDPM이 어떻게 다른지를 정리합니다.


🔀 1. 보간 (Fig. 8, 9)

원본 이미지 $x_0,x_0’\sim q(x_0)$를 $q$를 확률적 인코더로 써서 $x_t,x_t’\sim q(x_t\mid x_0)$로 보낸 뒤, 선형 보간한 잠재 $\bar x_t=(1-\lambda)x_t+\lambda x_t’$를 역방향 과정으로 이미지 공간에 디코딩합니다($\bar x_0\sim p(x_0\mid\bar x_t)$). 사실상 손상된 원본의 선형 보간에서 생기는 artifact를 역방향 과정이 제거하는 것입니다. $\lambda$가 달라도 $x_t,x_t’$가 같도록 노이즈를 고정했습니다.

  • CelebA-HQ 256×256, $t=500$에서 고품질 재구성과 자세·피부색·헤어스타일·표정·배경이 매끄럽게 변하는 그럴듯한 보간을 얻습니다. 다만 안경은 보간되지 않습니다.
  • $t$가 클수록 더 거칠고 다양한 보간이 되며 $t=1000$에서는 새로운 샘플이 됩니다. 확산 스텝 0이면 픽셀 공간 혼합입니다(Fig. 9의 coarse-to-fine 보간).

🏙️ 2. Table 3: LSUN 256×256 FID

모델 LSUN Bedroom LSUN Church LSUN Cat
ProgressiveGAN 8.34 6.42 37.52
StyleGAN 2.65 4.21 8.53
StyleGAN2 - 3.86 6.93
Ours ($L_{simple}$) 6.36 7.89 19.75
Ours ($L_{simple}$, large) 4.90 - -

256×256 LSUN에서 ProgressiveGAN과 비슷한 샘플 품질입니다. StyleGAN2에는 못 미치며, 이 격차는 이후 ADM 등에서 좁혀집니다.


🔍 3. NCSN과의 미묘하지만 중요한 차이 (Appendix C)

항목 DDPM NCSN (v1/v2)
구조 self-attention이 있는 U-Net. 모든 층에 sinusoidal embedding으로 $t$ 조건화 dilated conv를 쓰는 RefineNet. $t$ 조건은 정규화 층(v1) 또는 출력(v2)에만
순방향 스케일링 매 스텝 $\sqrt{1-\beta_t}$로 데이터를 줄여 노이즈를 더해도 분산이 커지지 않음 → 일관된 입력 스케일 이 스케일 인자가 없음
신호 파괴 $D_{KL}(q(x_T\mid x_0)\,|\,\mathcal N(0,I))\approx0$으로 prior와 $x_T$의 집계 사후분포가 일치. $\beta_t$가 매우 작아 조건부 가우시안 Markov 체인으로 가역 두 조건 모두 해당 없음 → 샘플링 시 분포 이동 가능
샘플러 계수 학습률·노이즈 크기 등이 순방향 $\beta_t$에서 엄밀히 유도. 학습이 샘플러를 잠재 변수 모델로서 변분 추론으로 직접 학습 사후에 손으로 설정. 학습이 샘플러의 품질 지표를 직접 최적화한다는 보장 없음

💡 Key Takeaway DDPM과 NCSN은 수학적으로 같은 가족이지만, “샘플러를 학습 목적 안에 넣었는가”가 다릅니다. DDPM은 샘플러의 모든 계수가 순방향 과정에서 따라 나오므로 학습과 샘플링이 어긋나지 않습니다.

한계와 열린 방향

논문의 결론은 확산 모델로 고품질 이미지 샘플을 제시하고, 확산 모델과 Markov 체인 학습을 위한 변분 추론, denoising score matching과 annealed Langevin dynamics(확장하면 에너지 기반 모델), 자기회귀 모델, progressive lossy compression 사이의 연결을 찾았다는 것입니다. 확산 모델이 이미지 데이터에 훌륭한 귀납적 편향을 가진 것으로 보이므로 다른 모달리티와 다른 생성 시스템의 구성 요소로서의 효용을 기대한다고 맺습니다. 그러나 이 논문 시점에 남은 한계도 분명합니다.


⚠️ 1. 논문이 드러낸 한계

  • 샘플링 비용 : $T=1000$번의 네트워크 평가가 필요해 256×256 128장 배치에 300초가 걸립니다. GAN은 한 번의 forward로 끝납니다.
  • 우도 경쟁력 부족 : 테스트 NLL 3.75 bits/dim은 Sparse Transformer(2.80)나 PixelCNN++ 류에 못 미칩니다. $L_{simple}$은 우도를 더 희생합니다(3.70 → 3.75).
  • 분산 학습 실패 : 역방향 분산을 학습하면 불안정했고, 고정 분산 두 극단($\beta_t$, $\tilde\beta_t$)만 시험되었습니다.
  • 디코더의 단순성 : $p_\theta(x_0\mid x_1)$는 독립 이산 가우시안 디코더이며, 조건부 자기회귀 디코더 같은 더 강한 선택은 미래 과제입니다.
  • 고해상도에서 GAN과의 격차 : LSUN에서 StyleGAN/StyleGAN2보다 FID가 높습니다.
  • 보간의 한계 : 안경 같은 일부 속성은 매끄럽게 보간되지 않습니다.
  • 압축의 비실용성 : progressive coding은 minimal random coding에 의존하는 개념 증명입니다.

🔭 2. 이후 연구가 이어 간 방향

한계 후속 연구 방법
느린 샘플링 DDIM, 증류(progressive distillation), 고차 ODE 솔버 비Markov 샘플러, 스텝 수 축소
분산 학습 불안정, 우도 Improved DDPM $\beta_t$와 $\tilde\beta_t$ 사이를 보간하는 분산 학습, cosine 스케줄, 하이브리드 손실
GAN과의 FID 격차 ADM (Diffusion Models Beat GANs) 구조 개선, classifier guidance
손실 가중 P2 weighting, EDM 등 $L_{simple}$의 암묵적 가중을 명시적으로 설계
고해상도 비용 Latent Diffusion 오토인코더 잠재 공간에서 확산
연속시간 통합 Score SDE DDPM(VP SDE)과 NCSN(VE SDE)을 하나의 SDE 틀로

🧭 3. 읽을 때 유의할 점

  • Table 1의 “Ours ($L$)”와 “Ours ($L_{simple}$)”는 같은 구조, 다른 손실입니다. FID 13.51과 3.17의 차이가 손실 선택만으로 생깁니다.
  • CIFAR10 FID는 학습셋 기준(3.17)과 테스트셋 기준(5.24)이 다르므로 비교 시 기준을 확인해야 합니다.
  • LSUN Bedroom의 4.90은 약 256M 파라미터의 큰 모델 결과이고, 기본 114M 모델은 6.36입니다.
  • 논문의 $\sigma_t^2$ 선택($\beta_t$ 또는 $\tilde\beta_t$)은 “둘 다 비슷하다”는 것이지 어느 쪽이 최적이라는 결론은 아닙니다.

💡 Key Takeaway DDPM은 새로운 모델을 발명한 것이 아니라, 2015년의 틀에서 올바른 매개변수화와 손실을 찾아낸 논문입니다. 그 선택이 score 기반 모델과의 통합을 드러냈고, 이후 확산 모델 연구의 거의 모든 방향(가속, 가중, guidance, 잠재 확산)이 여기서 갈라져 나왔습니다.