안녕하세요, 조교입니다.
distribution p(x)p(x) 가 주어져 있을 때 MCMC 등의 방법을 이용하여 sampling을 할 수 있습니다.
특히, 이러한 sampling 방법은 최근에 대두되고 있는 energy-based model에서 많이 사용되고 있습니다.
그렇다면, distribution p(x)p(x) 혹은 unnormalized distribution exp(-E(x))exp(−E(x)) 가 주어져 있지 않은 상황에서 어떠한 정보가 주어진다면 p(x)p(x) 에서 하나의 sample x\sim p(x)x∼p(x) 를 얻을 수 있을까요?
그 힌트는 Langevin dynamics에서 얻을 수 있습니다. Langevin dynamics는 distribution p(x)p(x) 의 gradient가 주어져 있을 때 sample을 얻을 수 있는 방식입니다.
즉, 우리가 p(x)p(x) 대신 \nabla_{x}log{p(x)}∇xlogp(x) 를 계산할 수 있다고 하면, Langevin dynamics는 x_{t}=x_{t-1}+\frac{\epsilon}{2}\nabla_{x}\log{p(x_{t-1})}+\sqrt{\epsilon}z_{t}xt=xt−1+2ϵ∇xlogp(xt−1)+√ϵzt 를 통하여 iterative한 방식으로 sample을 random noise x_{0}\sim N(0,I)x0∼N(0,I) 로부터 update하면 x_{\infty}\sim p(x)x∞∼p(x) 임을 수학적으로 증명할 수 있습니다. 여기서, \epsilon>0ϵ>0 은 step size이고, z_{t}\sim N(0,I)zt∼N(0,I) 는 standard Gaussian distribution에서 sample한 noise입니다.
위와 같은 Langevin dynamics를 통해 우리는 distribution p(x)p(x) 를 모델링 하는 대신 \nabla_{x}\log{p(x)}∇xlogp(x) 를 모델링 할 수 있고, 이와 같은 모델링 방법을 score-based model이라고 부릅니다.
감사합니다
comment