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

인공지능 및 기계학습 심화

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

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

이번시간에는  Diffusion model이 likelihood-based model인지 likelihood-free model인지 알아보도록 하겠습니다.

먼저, 지난시간까지의 간략한 요약을 하면, Diffusion model은 data variable  x_0  x0 를 iterative한 Gaussian perturbation을 주어  x_{1},...,x_{T}  x1,...,xT 로 순차적으로 diffuse시킵니다. 이 결과 나오는 가장 마지막 variable인  x_{T}  xT 는 거의 prior distribution을 따르게 되는데요, 이러한 순차적인 perturbation 과정을 forward diffusion process라고 합니다.

수학적으로 증명이 된 바는, forward diffusion process와 정확히 같은 해를 가지는 reverse-time diffusion process가 존재한다는 것입니다. 조금 더 엄밀하게, continuous-time setting에서 forward-time process를  dx_{t}=f(x_{t},t)dt+g(t)dw_{t}  dxt=f(xt,t)dt+g(t)dwt 라고 정의하면, reverse-time diffusion process는  dx_{t}=[f(x_{t},t)-g^{2}(t)\nabla_{x_{t}}\log{p_{t}(x_{t})}]d\bar{t}+g(t)d\bar{w}_{t}  dxt=[f(xt,t)g2(t)xtlogpt(xt)]dt¯+g(t)dw¯t 라고 할 수 있습니다. 여기서,  \bar{t}  t¯ 와  \bar{w}_{t}  w¯t 는 각각 시간이 거꾸로 흐른다고 이해하시면 됩니다. forward process에서  f(x_{t},t)  f(xt,t) 와  g(t)  g(t) 는 미리 정해두기 때문에 우리가 모르는 것은 결국 data score라고 불리는  \nabla_{x_{t}}\log{p_{t}(x_{t})}  xtlogpt(xt) 입니다. 여기서,  p_{t}  pt 는 forward process의 시간  t  t 에서의 marginal distribution이 됩니다.

그렇기 때문에 diffusion model은 결국,  L=\int_{0}^{T}\lambda(t)E_{p_{t}(x_{t})}[\Vert\nabla_{x_{t}}\log{p_{t}(x_{t})}-s_{\theta}(x_{t},t)\Vert_{2}^{2}]dt  L=0Tλ(t)Ept(xt)[xtlogpt(xt)sθ(xt,t)22]dt 를 학습 objective function으로 삼아 학습합니다. 여기서  s_{\theta}(x_{t},t)  sθ(xt,t) 는 시간  t  t 일 때 x_{t}  xt 에서의 score function인  \nabla_{x_{t}}\log{p_{t}(x_{t})}  xtlogpt(xt) 를 regression target으로 삼는 score network이고,  \lambda(t)  λ(t) 는 시간에 따른 weight function이 되겠습니다.

Yang Song의 논문 "maximum likelihood training of score-based diffusion models"에는 아래와 같은 부등식이 증명되어 있습니다.

 E_{p_{r}(x_{0})}[-\log{p_{\theta}(x_{0})}]\le \frac{1}{2}\int_{0}^{T}g^{2}(t)E_{p_{t}(x_{t})}[\Vert \nabla_{x_{t}}\log{p_{t}(x_{t})}-s_{\theta}(x_{t},t)\Vert_{2}^{2}]dt+E_{p_{T}(x_{T})}[-\log{\pi(x_{T})}]  Epr(x0)[logpθ(x0)]2 10Tg2(t)Ept(xt)[xtlogpt(xt)sθ(xt,t)22]dt+EpT(xT)[logπ(xT)] 

위에 따르면,  \lambda(t)=g^{2}(t)  λ(t)=g2(t) 이 될 때 Diffusion model의 training objective는 log-likelihood의 upper bound가 되기 때문에 diffusion model은 결국 likelihood-based model로 categorize를 할 수 있습니다.

하지만, Jonathan Ho의 "denoising diffusion probabilistic models"를 포함하여 대부분의 diffusion model 계열의 논문은  \lambda(t)=\sigma^{2}(t)  λ(t)=σ2(t) 로 가정하고 학습하기 때문에 실질적으로 diffusion model의 학습 loss는 likelihood를 optimize한다고 보기 어렵습니다. 그럼에도 불구하고, 우리는 아래의 결론을 얻을 수 있습니다.

"Diffusion model은 likelihood-based model이며, 경우에 따라서는 likelihood가 아니라 sampling이 가장 잘 되는 방법으로 학습이 가능한 flexible한 모델이다!"