안녕하세요, 조교 김동준입니다.
이번시간에는 Diffusion model이 likelihood-based model인지 likelihood-free model인지 알아보도록 하겠습니다.
먼저, 지난시간까지의 간략한 요약을 하면, Diffusion model은 data variable x_0x0 를 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의 시간 tt 에서의 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}]dtL=∫0Tλ(t)Ept(xt)[∥∇xtlogpt(xt)−sθ(xt,t)∥22]dt 를 학습 objective function으로 삼아 학습합니다. 여기서 s_{\theta}(x_{t},t)sθ(xt,t) 는 시간 tt 일 때 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)]≤21∫0Tg2(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한 모델이다!"
comment