로그인 바로가기 하위 메뉴 바로가기 본문 바로가기

인공지능 및 기계학습 심화

임시 이미지 KAIST 산업및시스템공학과 문일철 교수
http://kooc.kaist.ac.kr/aiml-adv/forum/127119
좋아요 689 수강생 3324

안녕하세요, 조교 김동준입니다.

이번 시간에는 Diffusion Model이 Score matching과 어떤 관계에 있는지 설명드리도록 하겠습니다.

Diffusion model은 그 탄생 초기부터 KL divergence의 upper bound인 ELBO를 학습하는 모델로 알려져 있었습니다.

여기서, 오랫동안 score-based model을 연구하였던 Yang Song이라는 학자가 혜성처럼(?) 등장하여 score-based model은 사실은 알고보면 diffusion model과 다른 것이 아니라 정확히 한 몸이었다는 사실을 증명해냅니다.

여기서, score-based model이란, data distribution  p_{data}  pdata 와 model distribution  p_{\theta}  pθ 의 score function을 matching하는 모델로 알려져 있었습니다.

즉, score-based model의 학습 loss는  E[\Vert\nabla\log{p_{data}(x)}-\nabla\log{p_{\theta}(x)}\Vert_{2}^{2}]  E[logpdata(x)logpθ(x)22] 가 되는데요, 이 모델에서는 model distribution  p_\theta  pθ 의 값인 model likelihood를 maximize해서 학습하는 MLE 방법이 아니라 두개의 score function을 matching시키는 방식으로 학습하게 됩니다.

그런데  \nabla\log{p_{data}(x)}  logpdata(x) 는 구할 수 없기 때문에 score-based model의 많은 이전 논문들은 어떻게 하면 학습 loss를 tractable한 형태로 만들까 고민하였습니다. 예를 들면  E[\Vert\nabla\log{p_{\theta}(x)}\Vert_{2}^{2}]+2\text{tr}(\nabla \log{p_{\theta}(x)})]  E[logpθ(x)22]+2tr(logpθ(x))] 를 학습하면 E[\Vert\nabla\log{p_{data}(x)}-\nabla\log{p_{\theta}(x)}\Vert_{2}^{2}]  E[logpdata(x)logpθ(x)22] 학습과 동치라는 것이 기존의 문헌에서 알려져 있었습니다.

이것은 완전히 새로운 일인겁니다! 다시 말해 기존에는 GAN을 제외하면 모든 ML 논문들은 MLE를 training objective로 학습하고 있었던 것인데 아주 간단한 질문인 "학습 loss에 likelihood가 아니라 그 미분까지 포함하면 어떤 학습 loss로도 training할 수 있을까?" 에서부터 시작하여 더이상 MLE가 아닌 학습 loss로 training이 가능해진 것입니다.

그렇지만, 새로운 분야가 기존의 모델들과 성공적으로 beating하기까지는 지난하고 험난한 과정이 기다리고 있듯이, 초기 단계의 score-based model도 가능성으로만 존재하였지, GAN은 물론 VAE에도 미치지 못하는 성능을 가지고 있었습니다. 느리고, 잘 안됐죠.

그러다가 Yang Song이 2019년에 Noise Conditional Score Network (NCSN)라는 논문을 NeurIPS에서 발표합니다. 이 논문은 최초로 어쩌면 score-based model이 generative model의 주요 taxonomy중 하나가 될 수 있지 않을까 사람들에게 생각을 심어주었던 논문으로, data variable에 noise를 준 noised data variable들의 score function을 score network로 approximate한 후, 샘플링은 denoising을 통해 하면 되지 않을까? 라는 생각에서 출발한 논문입니다.

이 논문 이후에 Yang Song은 Score-based Model과 Diffusion Model은 사실은 서로 다른 것이 아니라 Stochastic Differential Equation (SDE) framework로 하나로 묶이는 정확히 같은 방법론이었다는 것을 기념비적 논문인 "Score-based Generative Modeling Through Stochastic Differential Equations"라는 논문에서 증명해 냅니다. 즉, diffusion model 또한 Jonathan Ho로부터 출한한 모델이지만, 결국에는 noised data의 score estimation을 내부에서 하는 모델이었다는 것입니다. 더 정확하게는, diffusion model의 학습 loss는 score-based model의 score matching loss와 정확히 같은 것으로 판명되었습니다.


위의 논문에서 data variable은 SDE를 따라 "diffuse"됩니다. 즉,  dx_{t}=f(x_{t},t)dt+g(t)dw_{t}  dxt=f(xt,t)dt+g(t)dwt 라는 SDE를 따라서 초기 조건인 data variable x_{0}  x0 을 입력으로 넣어 equation을 풀면 나오는  x_{T}  xT 는 결국 noise variable이 됩니다. Yang Song은 "수학적으로" 위 SDE를 forward SDE라고 규정하고, 위 SDE와 정확히 같은 solution을 가지는 reverse SDE는  dx_{t}=-[f(x_{t},t)-g^{2}(t)\nabla\log{p_{t}(x_{t})}]dt+g(t)d\bar{w}_{t}  dxt=[f(xt,t)g2(t)logpt(xt)]dt+g(t)dw¯t 임을 아주 예전의 수학 논문에서 가져오고, 이 reverse SDE를 푸는데는 perturbed data variable의 score function인  \nabla\log{p_{t}(x_{t})}  logpt(xt) 를 알아야 함에 주목하였습니다.

이 perturbed score를 regression loss인  E[\Vert\nabla\log{p_{t}(x_{t})}-s_{\theta}(x_{t},t)\Vert_{2}^{2}]  E[logpt(xt)sθ(xt,t)22] 를 optimize하면 estimate할 수 있기 때문에 reverse SDE를 풀수 있게 되는 것입니다. 이것은 Jonathan Ho가 DDPM 논문에서 보인 방법과 정확히 같은 방법으로, 결국 score-based model도, diffusion model도 continuous SDE framework로 하나로 묶임을 알 수 있습니다.