AI 공부 도전기

[논문 Summary] Diffusion model 시초 (2015 ICML) "Deep Unsupervised Learning Using Nonequilibrium Thermodynamics"

 

     

 

논문 정보

Citation : 2022.08.03 목요일 기준 339회

저자

 

Jascha Sohl-Dickstein - Stanford University,

Eric A. Weiss - UC Berkeley,

Niru Maheswaranathan, Surya Ganguli - Stanford University

 

논문 링크

Official

https://proceedings.mlr.press/v37/sohl-dickstein15.html

 

Deep Unsupervised Learning using Nonequilibrium Thermodynamics

A central problem in machine learning involves modeling complex data-sets using highly flexible families of probability distributions in which learning, sampling, inference, and evaluation are stil...

proceedings.mlr.press

 

Arxiv

https://arxiv.org/abs/1503.03585

 

Deep Unsupervised Learning using Nonequilibrium Thermodynamics

A central problem in machine learning involves modeling complex data-sets using highly flexible families of probability distributions in which learning, sampling, inference, and evaluation are still analytically or computationally tractable. Here, we devel

arxiv.org

 

 

논문 Summary

Abstract

 

0. 설명 시작 전 Overview

 

non-equilibrium statistic physics에서 영감을 얻어 flexibility와 tractability를 동시에 만족하는 생성 모델을 새롭게 제안한다.

 

1) 반복적인 forward diffusion process를 통해 현 데이터 분포 구조를 파괴한다.

2) reverse diffusion process를 통해 데이터 분포를 복원함으로써 flexibility와 tractability한 생성 모델의 데이터를 산출한다.

 

1. Introduction

 

확률론적 모델들은 tractabilityflexibility라는 두 상충되는 tradeoff로 인해 고통 받는다.

 

1) Tractability

 

모델이 tractable하다는 것은 분석적으로 평가할 수 있고 데이터에 쉽게 fit한다. 그러나 많은 데이터에 대해서 적절하게 구조를 묘사하기 어렵다.

 

2) Flexibility

 

모델이 flexible하다는 것은 임의의 데이터에 대해 구조를 fit할 수 있다는 것을 의미한다. 다만 이때의 normalization 상수는 일반적으로 계산하는 것이 불가능하기 때문에 Monte Carlo process를 사용해야 하는데 값비싼 대가를 치뤄야 한다.

  

1.1 Diffusion probabilistic models

 

저자들이 제안한 새로운 확률론 모델 방식의 특징

 

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 :  다음 상태로의 변환할 때는 오직 현재 상태에 대한 영향을 받는다. (과거 상태들에 대해 독립)

 

2. Algorithm

 

목표

 

1) forward (or inference) diffusion process를 통해 복잡한 데이터 분포를 쉽고 tractable한 분포로 전환한다. ($q(x^{(0...T)})$)

2) 유한한 시간 동안의 reversal diffusion process를 통해 새로운 생성 모델 분포를 정의한다. ($p(x^{(0...T)})$)

 

2.1 Forward Trajectory

 

실제 데이터 분포 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을 가지게 된다.

 

2.2 Reverse Trajectory

 

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) 분포이다. 

 

2.3 Model Probability

 

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)의 경우와 일치한다.

 

2.4 Training

 

훈련은 모델의 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을 방지하기 위해 작은 상수로 고정한다.

 

 

 

2.5 Multiplying Distributions and Computing Posteriors

 

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에 따라 천천히 변해아는 것을 선택해야만 한다.

본 논문에서는 상수 취급

 

2.6 Entropy of Reverse Process

Appendix A 참조

 

 

3. Experiments

 

MNIST

CIFAR-10

 

Dead Leaf Images

Bark Texture Images

 

 

Appendix D. Experimental Details

 

 

Reference

공식 Github - Theano

https://github.com/Sohl-Dickstein/Diffusion-Probabilistic-Models

 

GitHub - Sohl-Dickstein/Diffusion-Probabilistic-Models: Reference implementation for Deep Unsupervised Learning using Nonequilib

Reference implementation for Deep Unsupervised Learning using Nonequilibrium Thermodynamics - GitHub - Sohl-Dickstein/Diffusion-Probabilistic-Models: Reference implementation for Deep Unsupervised ...

github.com

 

 

도움이 되는 YouTube 1.

https://youtu.be/_JQSMhqXw-4

 

도움이 되는 YouTube 2. 지도 교수 Surya Ganguli NIPS 2016 Workshop 발표

https://youtu.be/TIOZX4MqJO4

 

 

도움이 되는 블로그 1.

https://jihoonerd.github.io/deep-unsupervised-learning-using-nonequilibrium-thermodynamics/

 

Deep Unsupervised Learning using Nonequilibrium Thermodynamics

Deep Unsupervised Learning using Nonequilibrium THermodynamics

jihoonerd.github.io

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading