728x90

Score-based generative modeling through stochastic differential equations는 NCSNDDPM의 개념을 연결하는 논문으로, noise scale의 개수를 무한으로 늘림으로써 SDE를 활용해 diffusion process와 reverse process를 모두 표현하는 개념을 제시한 논문이다. 이를 통해 더 높은 퀄리티의 샘플들을 생성하고, bound가 아닌 정확한 log-likelihood의 계산까지 가능하게 하여 diffusion model의 새로운 길을 열었다. 이번 글에서는 이 Score-based generative modeling through SDEs 논문에 대해 알아보겠다.

Score-based generative modeling through SDEs

이 논문은 앞서 설명한 것처럼 noise sclae의 개수를 무한으로 늘림으로써 diffusion process와 reverse process를 SDE로 모두 표현한다. 우선, diffusion (forward) process는 다음과 같은 SDE의 형태로 표현된다.

Forward SDE의 diffusion process
SDE로 표현된 diffusion process

이 식은 가장 기본적인 SDE 형태 중 하나로, 간단하게 설명하면 f(x,t)는 시간이 흐름에 따라 식이 전반적으로 어떻게 변하는지를 표현하는 drift coefficient, dt는 infinitesimal time step, g(t)는 diffusion coefficient, w는 randomness를 표현하는Wiener process를 의미한다.

다음으로, 샘플을 generate하는 reverse process는 다음과 같은 SDE 형태로 표현된다.

Reverse SDE의 reverse process
SDE로 표현된 reverse process

 이 때, 어떠한 forward SDE도 위 식과 같은 reverse SDE 형태를 가지기 때문에, 우리는 forward process를 나타내는 SDE만 정의하면 이를 활용해 샘플을 생성하는 reverse SDE는 쉽게 정의할 수 있다. 위 식에서 dt는 SDE와는 반대로 시간을 역행하는 negative infinitesimal time step을 의미하고, $\nabla_x \log p_t(x)$는 log probability의 gradient를 의미하는 score function이다. 그렇기 때문에 score matching에서 간단하게 살펴봤던 것처럼 이 (time-dependent) score function만 학습하면, 우리는 데이터를 생성하는 reverse SDE를 얻을 수 있게 된다. 이는 다음과 같이 표현된다. 

Estimating scores for reverse SDE

이렇게 학습된 score function을 reverse SDE에 대입함으로써 우리는 estimated reverse SDE를 얻을 수 있고, 이를 간단하게 SDE solver를 활용해서 풀면 샘플을 생성할 수 있게 된다. 이것이 SDE를 diffusion process에 활용하는 것의 장점 중 하나이다.

Estimated reverse SDE

 SDE solver로는 어떤 형태의 것이든 활용될 수 있다. 예를 들어, Euler-Maruyama method를 활용해 위 reverse SDE를 푼다고 하자. 그러면 다음과 같은 형태로 x와 t를 계속 업데이트하면서 식을 풀 수 있다.

Euler Maruyama method for reverse SDE

Integration of NCSN and DDPM

 이제 Score-based generative modeling through SDEs가 어떻게 NCSN과 DDPM의 개념을 연결하는지에 대해 알아보겠다. 결론부터 말하자면, NCSN과 DDPM은 Score-based generative modeling through SDE의 special case로, forward SDE를 어떻게 정의하느냐에 따라 결정된다.

Forward SDE for NCSN and DDPM

먼저, NCSN의 forward process는 점점 더 커지는 variance를 가지는 noise perturbation process를 가진다. 이는 다음과 같은 식으로 표현할 수 있다.

NCSN의 forward process

이를 표현하는 forward SDE는 다음과 같은 형태로 정의된다. 이 식을 살펴보면, t가 증가할수록 x(t)의 variance가 점점 증가하는, variance exploding하는 특성을 가지는 것을 알 수 있다. 그래서 우리는 이 NCSN을 위한 forward SDE를 variance-exploding SDE라고 부른다.

NCSN의 variance-exploding forward SDE

 다음으로, DDPM의 forward process는 다음과 같은 형태로 정의된다. 

DDPM의 forward process

이를 표현하는 forward SDE는 다음과 같은 형태로 정의된다. 이 식은 위의 NCSN과 반대로, t가 증가함에 따라 x(t)의 variance가 점정 증가하는 것이 아닌, 어떤 값에 bound되는 특성을 가진다. 그래서 우리는 이 DDPM을 위한 forward SDE를 variance-preserving SDE라고 부른다.

DDPM의 variance-preserving forward SDE

 

이번 글을 통해 우리는 score matching with SDE가 무엇인지에 대해 알아보았다. 이번 글을 마지막으로 diffusion model의 기본이 되는 논문들을 대부분 다루었다. 이제 이 시리즈의 후속작은 미래의 나에게 맡기고, 다시 그래프 논문 시리즈로 돌아가서 올해 안에 시리즈를 마무리지어 보겠다..

References

Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., & Poole, B. (2020). Score-based generative modeling through stochastic differential equations. arXiv preprint arXiv:2011.13456. 

 

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기