논문 링크: https://arxiv.org/abs/2011.13456
ABSTRACT
- Noise를 주입하면서 complex data distribution을 알고있는 prior distribution으로 부드럽게 변환하는 Stochastic Differential Equation (SDE)를 소개한다.
- 또한 천천히 노이즈를 제거하면서 pior distribution을 다시 complex data distribution으로 변환하는 것은 reverse-time SDE라고 한다.
- 이러한 reverse-time SDE는 오직 perturbed data distribution의 time-dependent gradient field에만 의존한다.
- 신경망으로 score를 예측하고, numerical SDE solver를 통해 샘플을 생성한다.
- 이러한 프레임워크는 이전의 접근법인 score-based generative modeling과 diffusion probabilistic modeling을 통합한다.
- 특히, discretized reverse-time SDE를 발전 시키는 predictor-corrector 프레임워크를 소개한다.
- 또한, SDE와 동일한 neural ODE를 소개한다. 이는 정확한 likelihood 계산과 더 효율적인 샘플링이 가능하다.
- 그리고 class-conditional generation, image inpainting, colorization의 실험을 통해 score-based models로 inverse problems를 해결하는 새로운 방법을 소개한다.
INTRODUCTION
- 현재 2가지 뛰어난 성능을 보여주는 모델로 Score matching with Langevin dynamics (SMLD)와 Denoising diffusion probabilistic modeling (DDPM)가 있다.
- 연속적인 공간에서 DDPM의 학습 과정은 함축적으로 각 noise scale에서의 score를 구하는 것이다.
- 연속적인 공간을 SDE로 표현하면 SDE framework 상에서 두 모델은 같은 의미를 가진다.
- Flexible sampling and likelihood computation
- 일반적인 모든 가능한 SDE solvers를 통해 샘플링을 할 수 있다.
- SDE를 그에 대응하는 ODE로 변환하여, deterministic한 sampler로도 계산할 수 있다.
- Controllable generation
- Unconditional scroe로부터 conditional reverse SDE 문제를 효율적으로 해결할 수 있다.
- Unified framework
- SMLD와 DDPM는 SDE라는 framework 안에서 사실 같은 종류의 생성 모델이다.
BACKGROUND
Denoising Score Matching With Langevin Dynamics (SMLD)
- Score matching을 통해 데이터 분포의 기울기를 얻고,Langevin dynamics을 통한 샘플링으로 데이터를 생성하는 생성 모델
- Training objective
- 자세한 내용은 이전 논문 리뷰 참고
Denoising Diffusion Probabilistic Models (DDPM)
- Noise를 여러 스텝을 걸쳐 추가하는 forwad diffusion process와 이러한 노이즈를 지우는 과정인 reverse denoising process의 구조를 가진 생성 모델
- Training objective
- 자세한 내용은 이전 논문 리뷰 참고
- 아래와 같이 SMLD와 DDPM은 거의 유사한 식을 가진다.
Score-Based Generative Modeling with SDEs
- 여러 단계로 noise를 추가하는 것이 이전 work들의 성공 요인이었다.
- 이에 따라, 본 논문에서는 SDE를 이용하여 무한한 단계로 noise를 추가하는 방식을 제안한다.
Perturbing Data with SEDs
- 최종 목표는 contiuous time variable에 대해 diffusion 과정을 정의하는 것이다.
- 이토적분을 통해 위와 같이 식을 정의할 수 있다.
- w는 Wiener process(Brownian Motion)
- f()는 x(t)의 drift coefficient
- g(t)는 x(t)의 diffusion coefficient
- Lipschitz 조건을 만족하는 식으로 정의하므로 해당 SDE는 strong unique soluiton이 항상 존재한다.
Generating Samples by Reversing the SDEs
- Anderson 정리(1982)를 통해 이전 식인 fowrad diffusion process의 reverse과정 또한 아래의 SDE식으로 표현할 수 있음이 증명되어있다.
- 위의 식을 보면 SCORE값을 제외하고는 이미 forward process에서 정의한 값으로 모두 알고 있는 값이다.
- 따라서 score 값만 추정할 수 있다면 SDE solver를 통해 reverse SDE 과정도 풀 수 있다.
Estimating Scores for the SDE
- Score 값을 추정하기 위해 time-dependent score-based model을 학습시킨다.
- 위 식의 오른쪽 term은 transition kernel이며 Linear SDE로 정의하므로 closed form으로 구할 수 있다.
- Linear SDE: drift function이 x_t에 대해 linear(affine).
- Linear SDE라면 가우시안 커널로 표현할 수 있어 계산이 용이하다.
- Kolmogorov’s forward equation를 이용해 해당 식의 SDE를 closed form으로 풀 수 있다..
- 기존의 SMLD와 DDPM은 위의 식의 lambda를 아래처럼 정의한 것.
Examples: VE, VP SEDs and Beyound
- SMLD와 DDPM을 discretization of SDEs로서 해석한다.
- 위의 식은 SMLD의 식으로 N을 무한으로 보내면 연속된 공간에서의 식으로 볼 수 있다.
- Continous 공간에서 식을 정리하면 위의 식으로 나오며, 이는 x는 그대로 두고 노이즈만 계속해서 추가하는 것으로 볼 수 있다.
- sigma(t)가 시간에 따라 증가하므로 Variance Exploding이라고 한다.
- 위의 식은 DDPM의 식으로 동일하게 N을 무한으로 보내면 연속된 공간에서의 식으로 볼 수 있다.
- 정리하면 위와 같으며, Variance가 I로 bound되있으므로 Variance Preserving이라고 한다.
- x를 감소시키며 노이즈를 추가하는 것을 볼 수 있다.
- Reverse SDE를 푸는 것이 기존 DDPM에서 사용한 Markov Chain을 이용한 sampling이라고 볼 수 있다.
- 기존의 위 식들을 참고하여 본 논문에서는 새롭게 식을 정의한 sub-VP SDE를 정의한다.
- 위의 식은 t를 무한으로 보냈을 때, transitional kernel의 variance 값이 I가 되도록 DDPM의 식을 조정한 것이다.
- 각 식들을 transition kernel에 대해 정리하면 위와 같다.
Solving the Reverse SDE
- Reverse SDE 식에는 결국 score 값이 포함되어 있기에 이를 풀기 위해서는 score function을 추정해야한다. (해당 과정은 기존 NCSN과 유사)
- 즉, score function을 통해 reverse SDE 과정을 정의하고, SDE solver로 SDE를 풀 수 있다.
General-Purpose Numerical SDE Solvers
- SDE는 기존에 존재하던 Numerical Solvers로 풀 수 있다. (Euler-Mayurama, Runge-Kutta, ...)
Predictor-Corrector Samples
- 본 논문은 Predictor–Corrector Sampling라는 샘플링 과정을 새롭게 정의하면서 더 좋은 품질의 sample을 생성할 수 있었다.
- Predictor: Reverse SDE를 풀어서 데이터를 생성하는 과정 (Numerical SDE solver)
- Corrector: Predictor에서 생성된 데이터에 Annealed Langevin Dynamis를 적용하는 과정 (Score-based MCMC)
- 즉, Predictor로 예측한 값을 Corrector로 refine하며 sampling을 진행하는 느낌
- SMLD와 DDPM을 PC sampling 관점으로 보면 아래와 같다.
- SMLD
- Predictor: Identity
- Corrector: Annealed Langevin dynamics
- DDPM
- Predictor: Ancestral sampling
- Corrector: Identity
- SMLD
- SMLD와 DDPM을 PC sampling 관점으로 보면 아래와 같다.
Probability Flow and Connection to Neural ODEs
- 모든 SDE에 대해서는 해당 식의 marginal distribution과 동일한 값을 가지는 ODE식이 존재한다.
- 위의 식을 보면 ODE이므로 browian motion에 관련된 term이 없어졌으며 deterministic하다.
- 이러한 ODE를 probability flow ODE라고 한다.
- 각 foward 과정과 reverse과정이 deterministic해지므로 아래의 장점을 가진다. (DDIM과 유사한 느낌)
- Exact likelihood computation
- Manipulating latent representations
- Uniquely identifiable encoding
- Efficient sampling
Architecture Improvements
- 기존 모델들에서 Resnet block을 추가하는 등 층을 더 깊게 쌓으며 아키텍쳐를 발전시키고 기존 이름 뒤에 ++을 붙였다.
CONTROLLABLE GENERATION
- 기존의 reverse SDE 식은 Bayes rule을 이용하여 아래와 같이 표현할 수 있다.
- 즉, 기존의 unconditional score값과 classifier의 gradient값만 있다면 conditional generation이 가능해진다.
- Diffusion의 기존 noise를 score로 표현하므로써 가능해진 Classifier Guidence method의 첫 시작으로 보인다.
- Imputation, Colorization 등에서 좋은 성능을 보인다. (Inverse problem에서 좋은 성능)
CONCLUSION
- 기존의 서로 다른 두가지 생성모델인 SMLD와 DDPM이 사실 SDE framework에서 같은 것을 의미함을 보였다.
- SDE로 forward와 reverse 과정을 정의하면서, 다양한 기존 numerical SDE solver로 해당 과정을 풀 수 있게 되었다.
- 각 SDE에 대응하는 ODE가 존재하므로, 각 과정을 deterministic하게 볼 수 있었으며, 효율적인 샘플링이 가능해졌다.
- Noise를 주입하면서 complex data distribution을 알고있는 prior distribution으로 부드럽게 변환하는 Stochastic Differential Equation (SDE)를 소개한다.
- 또한 천천히 노이즈를 제거하면서 pior distribution을 다시 complex data distribution으로 변환하는 것은 reverse-time SDE라고 한다.
- 이러한 reverse-time SDE는 오직 perturbed data distribution의 time-dependent gradient field에만 의존한다.
- 신경망으로 score를 예측하고, numerical SDE solver를 통해 샘플을 생성한다.
- 이러한 프레임워크는 이전의 접근법인 score-based generative modeling과 diffusion probabilistic modeling을 통합한다.
- 특히, discretized reverse-time SDE를 발전 시키는 predictor-corrector 프레임워크를 소개한다.
- 또한, SDE와 동일한 neural ODE를 소개한다. 이는 정확한 likelihood 계산과 더 효율적인 샘플링이 가능하다.
- 그리고 class-conditional generation, image inpainting, colorization의 실험을 통해 score-based models로 inverse problems를 해결하는 새로운 방법을 소개한다.Conditional Generation에 있어서 해당 과정을 score로 표현하며 controllable generation 발전에 크게 기여했다.