1. Introduction
GAN이나 Autoregressive Models, VAEs 등의 많은 generative model들이 high quality samples를 잘 만들고 있는데 여기선 또 다른 generative model인 Diffusion Probabilistic Model을 제안한다. (이제부턴 줄여서 diffusion model이라고 부름.)
저자는 이 방법으로 high quality samples을 만들었고 때론 다른 모델들보다 더 좋은 성능을 내었다고 함.
2. Background
Diffusion Model엔 2가지 process가 있음
1) Forward Process or Diffusion Process : $q(x_{1:T}|x_0)$
$q(x_{1:T}|x_0)$는 variance schedule $\beta_1, ..., \beta_T$에 따라서 데이터에 점점 Gaussian noise를 더해가는 Markov chain을 사용한다.
Diffusion Process 수식
2) Reverse Process : $p_\theta(x_{0:T})$
Reverse Process는 $q(x_{t-1}|x_t)$를 알아야 하는데 noise가 많은 상태의 분포를 추정하기 어려우니 이와 유사한 $p_\theta(x_{t-1}|x_t)$로 근사하여 학습 (mean과 variance를 학습)
학습 과정은 variational bound를 최적화하여 아래와 같이 학습됨
Loss Function 수식
여기서 notation이 추가되는데 $\alpha_t := 1-\beta_t$와 $\overline{\alpha_t} := \prod_{s=1}^{t}\alpha_s$를 정의하면서 우리는 아래와 같은 수식을 얻을 수 있다.
위의 (3) 식을 정리하면 Loss function은 아래와 같이 정의된다.
위의 식에서 q에 대한 식을 아래와 같다.
수식
결과적으로 Gaussian들끼리의 KL divergence로 비교한다.
3. Diffusion models and denoising autoencoders
이제 위 (5)식의 각 term들에 대해 살펴보자.
3.1. Forward Process $L_T$
이 term은 무시된다. Forward Process의 variance인 $\beta_t$는 reparameterization에 의해 학습된다는 것을 무시하고 상수로 고정시킨다. 결국 q에는 학습시킬 parameter들이 없기 때문에 $L_T$는 상수이고 학습하는 동안 무시된다.
3.2. Reverse Process $L_{1:T-1}$
먼저 Reverse Process의 분산 $\sum_\theta(x_t,t) = \sigma_t^2I$로 세팅한다. 저자는 경험적으로 $\sigma_t^2=\beta_t$나 $\sigma_t^2=\widetilde{\beta_t}$가 유사한 결과를 낸다고 말한다. 따라서 mean $\mu_\theta(x_t,t)$만 생각하면 된다.
그 다음 $\mean_\theta(x_t,t)$를 표현하기 위해, 구체적인 parameterization을 제안한다. 아래의 식을 이용해서
아래와 같이 식을 정의할 수 있다.
수식
C는 $\theta$에 의존하지 않는 상수이다. 따라서 $\mu_\theta$의 가장 간단한 parameterization은 Forward Process posterior mean인 $\widetilde{mu_t}$를 예측하는 모델이다. 저자는 여기서 위의 $L_{t-1}$을 확장시킬 수 있다고 말한다.
먼저 Equation 4를 reparameterzing하여 아래와 같은 식을 구할 수 있고 위의 fomula 7을 적용시켜서 $L_{t-1}$을 확장 시킬 수 있다.
확장된 $L_{t-1}$은 아래와 같다.
Equaion 10은 $x_t$가 주어졌을 때 $\mu_\theat$는 $\frac{1}{\sqrt{\alpha_t}}(x_t - \frac{\beta}{\sqrt{1-\overline{\alpha_t}}}\epsilon)$을 예측하는 것을 나타내고 따라서 $x_t$는 model의 input이며 아래와 같이 parameterization이 될 수 있다고 말한다.
위 식에서 등장하는 $\epsilon_\theta$는 $x_t$로부터 $\epsilon$을 예측하는 모델이며 따라서 $x_{t-1} = \frac{1}{\sqrt{\alpha_t}}(x_t - \frac{\beta_t}{\sqrt{1-\overline{\alpha_t}}}\epsilon_\theta(x_t, t))$의 식을 계산하면서 $p_\theta(x_{t-1}|x_t$에서 $x_{t-1}$를 sampling하는 것이 가능하다고 말한다.
저자는 아래의 Algorithm 2가 Langevin dynamics와 유사하며
위의 10, 11식을 통해 아래와 같이 단순화시킬 수 있는데 denoising score matching과도 유사하다고 말한다.
위 Equation 12는 Langevin-like reverse process의 variational bound와 똑같기 때문에 denoising score matching과 유사한 objective를 최적화 하는 것은 Langevin dynamics와 유사한 sampling chain의 finite-time marginal을 학습시키기 위한 variational inference(변분 추론)를 사용하는 것과 같다고 말한다.
요약하자면, 저자는 reverse process의 mean function approximator인 $\mu_\theta$를 통해 $\widetilde{\mu_t}$를 학습시키거나 parameterization을 조금 수정해서 $\epsilon$을 예측할 수 있다고 말한다. ($x_0$를 예측할 수도 있지만 저자는 실험을 통해 worse sample quality였다고 함.)
또한, $\epsilon$을 예측하게 하는 parameterization은 Langevin dynamics와 유사하며 denoising score matching과 유사한 objective에 대한 diffusion model's variational bound를 단순화한다는 것을 보여주었다.
3.3. Data scaling, reverse process decoder, and $L_0$
저자는 먼저 0~255로 구성된 이미지를 -1~1로 scale했다고 가정한다. 여기서 discrete한 log-likelihood를 얻기 위해 마지막 term을 Gaussian에서 파생된 independent discrete decoder로 setting했다.
위 식에서의 D는 데이터의 차원, i 첨자는 하나의 좌표를 추출한 것이다. VAE decoder와 autoregressive models에서 사용되는 discretized contunuous distributions와 유사하며 이런 선택은 variational bound가 lossless codelength임을 보장한다.
3.4. Simplified training objective
저자는 다음과 같은 Simplified식으로 훈련하는 것이 sample quality에 더 좋다고 말한다.
위 식에서 t는 1과 T 사이의 값을 가진다.
4. Experiments
본 논문에서의 모든 실험은 T=1000으로 설정하였으며 forward process variance인 $\beta_1 = 10^-4$부터 $\beta_T = 0.02$까지 linear하게 증가하도록 설정하였다. Reverse Process를 표현하기 위해, U-Net backbone을 사용하였으며 16*16 feature map resolution에 self-attention을 적용하였다.
4.1. Sample quality
아래의 Table 1은 CIFAR10에서의 Inception Score, FID(Frechet Inception Distance), negative log-likelihood를 보여준다.
4.2. Reverse process parameterization and training objective ablation
아래의 Table 2를 보면 reverse process parameterization과 training objective의 sample quality effects를 확인할 수 있다. $\wildtilde{\mu}$는 MSE보다 실제 variational bound에 대해 학습된 경우에 더 좋은 결과가 나왔다. 그리고 reverse process variance를 학습시키는 것이 고정시킨 것보다 더 unstable하고 poorer했다. $\epsilon$은 예측하는 것은 fixed variance에서 variational bound를 학습할 때 $\wildtilde{\mu}$와 근사하게 수행했고 simplified objective일 때, much better이다.
4.3. Progressive coding
위의 Table 1에서 제안했던 모델의 codelengths를 볼 수 있는데 train과 test 사이의 gap은 0.03bits/dim이며 이 수치는 diffusion model이 overfitting하지 않았다는 것을 암시한다.
lossless codelength는 energy based model과 score matching보다 더 좋지만 likelohood-based generative models에 비해 경쟁력이 없다. 그럼에도 sample quality는 높기 때문에 저자는 diffusion model에 inductive bias가 있다고 결론지었다.
variational bound $L_1 + ... + L_T$를 rate로, $L_0$를 distortion으로 취급할 때, CIFAR10 model은 1.78bits/dim의 rate, 1.97bits/dim의 distortion을 가지는데 RMSE로 봤을 때 약 0.95정도의 값이다.
(개인적인 생각으로 codelength가 codevector가 아닐까 함. )
Progressive lossy compression
아래의 minimal random coding같은 procedure으로의 접근을 가정한 Algorithm3, 4는 $D_KL(q(x)||p(x))$를 통해 sample x ~ q(x)를 transmit할 수 있다. 그리고 $x_0 ~ q(x_0)$에 적용될 때, Algorithm 3,4는 $X_T, ..., x_0$를 순차적으로 transmit한다.
any time t에서의 receiver는 t의 부분 정보 $x_t$를 완전하게 사용할 수 있고 점진적으로 아래를 추정할 수 있다.
아래의 Figure 5는 CIFAR10 test set에 대한 rate distortion plot을 나타낸다.
1번째 그래프는 Reverse process steps (T-t)가 0~1000까지 증가할 때(from noise to image)의 RMSE가 감소하는 것을 확인할 수 있다.
2번째 그래프는 Reverse process steps (T-T)가 증가할수록 Rate가 점점 증가하는 것을 확인할 수 있다.
3번째 그래프를 보면 rate가 낮은 비율에서 distortion이 빠르게 감소하므로 이는 대다수의 bits가 감지할 수 없는 왜곡에 있다는 것을 나타낸다. (즉, rate가 낮은 비율에서 왜곡(noise)을 충분히 줄이는 정보가 들어있다.)
Progressive generation
저자는 임의의 bits에서 progressive decompression(압축 해제?)로부터 주어진 progressive unconditional generation을 수행한다고 말한다. 위의 Algorithm 2를 통해 reverse process에서 $x_0$를 예측한다. 아래의 Figure 6은 $x_0$를 예측한 결과이며 Large scale image는 처음에 형태가 나타났다가 뒤로 갈수록 detail들이 나타난다.
아래의 Figure 7은 다양한 t에 대해 $x_t$가 고정된 stochastic한 예측 결과 $x_0$를 나타낸다.
t가 작을수록 detail들을 제외한 것들이 보존되고, t가 클수록 large scale features만 보존된다.
Connection to autoregressive decoding
위의 Equation 5식은 아래와 같이 다시 쓰여질 수 있다.
diffusion process length T를 data의 dimensionality로 세팅한다. 위 식을 사용하면 저자가 제안한 diffusion model은 data 좌표를 재정렬하면서 표현될 수 없는 generalized bit를 가진 autogressive model의 한 종류라고 볼 수 있다. 저자는 이전의 재정렬은 inductive bias가 나타났는데 Gaussian noise가 masking noise보다 더 자연스러우므로 더 큰 효과가 있을 것으로 추측한다.
4.4. Interpolation
q를 stochastic encoder로 사용해서 latent space안에 있는 $x_0$, $x'_0$를 보간할 수 있다. 그 다음 reverse process를 통해 $\overline{x_t}$를 image space로 decoding할 수 있다. 아래의 Figure 8 왼쪽처럼 손상된 부분을 선형 보간하여 artifacts를 제거하기 위해 Reverse process $\overline{x_0}$를 사용하여 얻을 수 있다. FIgure 8 오른쪽은 보간의 결과를 보여준다.
5. Conclusion
저자는 diffusion model을 사용하여 high quality image saple을 얻는 방법을 제안했고 diffusion model과 variational inference사이의 connection을 발견했다.