Jascha Sohl-Dickstein - Stanford University,
Eric A. Weiss - UC Berkeley,
Niru Maheswaranathan, Surya Ganguli - Stanford University
https://proceedings.mlr.press/v37/sohl-dickstein15.html
https://arxiv.org/abs/1503.03585
non-equilibrium statistic physics에서 영감을 얻어 flexibility와 tractability를 동시에 만족하는 생성 모델을 새롭게 제안한다.
1) 반복적인 forward diffusion process를 통해 현 데이터 분포 구조를 파괴한다.
2) reverse diffusion process를 통해 데이터 분포를 복원함으로써 flexibility와 tractability한 생성 모델의 데이터를 산출한다.
확률론적 모델들은 tractability와 flexibility라는 두 상충되는 tradeoff로 인해 고통 받는다.
1) Tractability
모델이 tractable하다는 것은 분석적으로 평가할 수 있고 데이터에 쉽게 fit한다. 그러나 많은 데이터에 대해서 적절하게 구조를 묘사하기 어렵다.
2) Flexibility
모델이 flexible하다는 것은 임의의 데이터에 대해 구조를 fit할 수 있다는 것을 의미한다. 다만 이때의 normalization 상수는 일반적으로 계산하는 것이 불가능하기 때문에 Monte Carlo process를 사용해야 하는데 값비싼 대가를 치뤄야 한다.
저자들이 제안한 새로운 확률론 모델 방식의 특징
1) extreme flexibility in model structure (flexibility)
2) exact sampling (tractable)
3) easy multiplication with other distribution (in order to compute a posterior)
4) the model log likelihood and the probability of individual state to be cheaply evaluated
저자들은 non-equilibrium statisticl physics에서 영감을 얻은 Markov chain을 활용한다.
Diffusion process를 사용해서 단순하게 알려진 분포(e.g. Gaussian)에서 target 분포로 전환하는 generative Markov chain을 설계한다.
참조) Markov property : 다음 상태로의 변환할 때는 오직 현재 상태에 대한 영향을 받는다. (과거 상태들에 대해 독립)
목표
1) forward (or inference) diffusion process를 통해 복잡한 데이터 분포를 쉽고 tractable한 분포로 전환한다. ($q(x^{(0...T)})$)
2) 유한한 시간 동안의 reversal diffusion process를 통해 새로운 생성 모델 분포를 정의한다. ($p(x^{(0...T)})$)
실제 데이터 분포 label $q(x^{(0)})$
데이터 분포는 분석적으로 tractable하게 잘 정의된 분포 $\pi(y)$로 점진적으로 전환된다. 전환 시 사용되는 Markov diffusion kernel는 $T_{\pi}(y|y^\prime ; \beta)$로 정의 된다.
$\beta$ : diffusion rate
초기 데이터 분포에서 T번의 diffusion step을 수행한 Forward trajectory는 위 식 (3)과 같다.
$q(x^{(t)} | x^{(t-1)})$는 궁극적으로 identity-covariance Gaussian / independent binomial diffusion distribution을 가지게 된다.
Gaussian과 Binomial diffusion에서 $\beta$가 매우 작다면 reversal diffusion process는 forward process와 동일하다.(Feller ,1949)
즉, $q(x^{(t)} | x^{(t-1)})$이 Gaussain(binomial) 분포이고 $\beta$가 매우 작다면, $q(x^{(t-1)} | x^{(t)})$ 역시 Gaussain(binomial) 분포이다.
Reverse diffusion process를 통해 생성된 모델의 데이터는 다음과 같이 나타낼 수 있다.
이 식은 intractable(계산불가)하다. 그러나 annealed importance sampling과 Jarzynski equality로부터 상대적 확률을 구할 수 있다.
참조)
식 (8)에서 (9)로 넘어갈 때 분자는 식(5)를 활용하고 분모는 식 (3)을 활용한다.
식 (3)을 수정하면 다음과 같이 나타낼 수 있다.
$q(x^{(1...T)} | x^{(0)}) = \prod_{t=1}^T q(x^{(t)} | x^{(t-1)}) = {q(x^{(0...T)}) \over q(x^{(0)})}$
forward trajectory $q(x^{(1...T)} | x^{(0)})$로부터 샘플들을 평균함으로써 빠르게 평가할 수 있다.
2.2에서 설명한 바와 같이 극소의 $\beta$에서 reversal diffusion process는 forward process와 동일하다. 이 경우 $q(x^{(1...T)} | x^{(0)})$로부터 오직 하나의 샘플만이 적분에 필요하다.
본 내용은 statistical physics 중 quasi-static process (Spinney & Ford, 2013; Jarzynmski, 2011)의 경우와 일치한다.
훈련은 모델의 log-likelihood를 최대화하는 것을 의미한다.
식 11은 식 10에 식 9를 대입한 것이다.
그리고 식 11에 Jensen's inequality를 설정하면 다음과 같다.
식 12를 Appendix B의 내용처럼 lower bound를 구하면 다음과 같이 나타낼 수 있다.
entropy와 KL divergence는 통계적으로 계산할 수 있다.
2.3에서 설명한 바와 같이 forward와 reverse trajectories가 동일하다면 식 13을 동치이다.
훈련은 log likelihood의 lower bound를 최대화시키는 Reverse Markov transition를 발견하는 것으로 구성된다.
2.4.1 Setting the diffusion rate $\beta$
$\beta$의 선택은 성능에 있어 매우 중요하다.
Gaussian diffusion의 경우, 저자들은 $\beta_{2...T}$는 K에 대한 gradient ascent에 의해 학습하도록 한다. 다만 $\beta_{1}$은 overfitting을 방지하기 위해 작은 상수로 고정한다.
Denoising이나 inpainting을 위해서 모델 분포 $p (x^{(0)})$에 bounded positive function $r (x^{(0)})$를 곱해야 한다.
$$\tilde{p} (x^{(0)}) \propto p (x^{(0)}) r (x^{(0)})$$
분포를 곱하는 것은 기존 기술들에 있어 비용이 많이들고 어렵지만 diffusion model에서는 perturbation으로 간주하여 다룰 수 있다.
2.5.1 Modified Marginal Distribution
normalizing constant을 포함한 방정식 계산
2.5.2 Modified Diffusion Steps
식 1에 대한 reverse trajectory 버전을 구하면 위와 같다.
reverse diffusion process에 대한 Markov kernel $p(x^{(t)} | x^{(t+1)})$는 equilibrium condition을 따른다.
perturbed Markov kernel에도 똑같이 적용하고 식 16을 활용하면 다음과 같이 정리 가능하다.
식 21이라면 식 20을 만족함을 보인다. (식 17참조)
2.5.3 Applying $\gamma (x^{(t)})$
$ r (x^{(t)})$가 충분히 부드럽다면 reverse diffusion kernel에 대해 작은 perturbation으로 취급할 수 있다. 이는 $\tilde{p}, p$가 동치
Appendix C 참조
2.5.4 Choosing $\gamma (x^{(t)})$
$ r (x^{(t)})$는 trajectory에 따라 천천히 변해아는 것을 선택해야만 한다.
본 논문에서는 상수 취급
Appendix A 참조
MNIST
CIFAR-10
Dead Leaf Images
Bark Texture Images
https://github.com/Sohl-Dickstein/Diffusion-Probabilistic-Models
https://jihoonerd.github.io/deep-unsupervised-learning-using-nonequilibrium-thermodynamics/