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

인공지능 및 기계학습 심화

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

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

이번시간에는 diffusion model의 대표적인 perturbation 방법인 Variance Exploding (VE) SDE와 Variance Preserving (VP) SDE에 대해 살펴보도록 하겠습니다.

지난시간까지 diffusion model에 대한 간략한 소개와 diffusion model이  \lambda(t)=g^{2}(t)  λ(t)=g2(t) 일 때 likelihood의 surrogate을 optimize하는 것이라고 설명드렸습니다. 이 모든 것은 forward diffusion process  dx_{t}=f(x_{t},t)dt+g(t)dw_{t}  dxt=f(xt,t)dt+g(t)dwt 에서  f(x_{t},t)  f(xt,t) 와  g(t)  g(t) 를 우리가 미리 알고 있다는 가정 하에 성립하는데, 이번 시간에는 어떤  f,g  f,g 를 실질적으로 다룰 수 있는지에 대해 설명드리도록 하겠습니다.

먼저, VESDE는  f(x_{t},t)\equiv 0  f(xt,t)0 인 형태의 process를 일컫습니다. 즉, process는  dx_{t}=g(t)dt  dxt=g(t)dt 가 됩니다. 이것의 '의미'는 data variable인  x_{0}  x0 를 시간에 따라 계속 white noise perturbing을 주는 것입니다. 즉,  x_{t}=x_{0}+\sigma(t)\epsilon  xt=x0+σ(t)ϵ , where  \epsilon\sim N(0,I)  ϵN(0,I) 를 의미합니다. 여기서  \sigma^{2}(t)=\int_{0}^{t}g^{2}(s)ds  σ2(t)=0tg2(s)ds 로 유도되기 때문에,  g(t)  g(t) 는 diffusion이 얼마나 빠른 속도로 일어나는지를 설명해주는 함수입니다. 이러한 VESDE는 시간이 흐름에 따라  (보통의 경우) \sigma^{2}(t)  σ2(t) 가 무한대로 발산하기 때문에 Variance인  \sigma^{2}  σ2 가 "발산" (explode)하는 SDE라고 하는 것이고, 그래서 Variance Exploding SDE라고 하는 것입니다. Yang Song은 그의 논문 "score-based generative modeling through stochastic differential equations"에서  \sigma^{2}(t)  σ2(t) 가 주어졌을 때 거꾸로  g^{2}(t)=\sqrt{\frac{d [\sigma^{2}(t)]}{dt}}  g2(t)=dt d[σ2(t)]  로 유도하였습니다.

VESDE는 Stochastic Calculus에서는 Brownian motion이라고 부릅니다. 두번째 category인 VPSDE는 Stochastic Calculus에서 두번째로 유명한 SDE인 Ornstein-Uhlenbeck Process인데요, 가장 일반적인 형태의 식은  dx_{t}=-\frac{1}{2}\beta(t)x_{t}dt+\sqrt{\beta(t)}dw_{t}  dxt=2 1β(t)xtdt+β(t) dwt 가 됩니다. 식이 처음에는 익숙하지 않아서 고생하실 것으로 생각합니다. VESDE의 transition probability가  p_{0t}(x_{t}\vert x_{0})=N(x_{t};x_{0},\sigma^{2}(t)I)  p0t(xtx0)=N(xt;x0,σ2(t)I) 였다면 VPSDE의 transition probability는  p_{0t}(x_{t}\vert x_{0})=N(x_{t};\mu(t)x_{0},\sigma^{2}(t)I)  p0t(xtx0)=N(xt;μ(t)x0,σ2(t)I) 로 주어집니다. 여기서  \mu(t)=e^{-\frac{1}{2}\int_{0}^{t}\beta(s)ds}  μ(t)=e2 10tβ(s)ds ,  \sigma^{2}(t)=1-e^{-\int_{0}^{t}\beta(s)ds}  σ2(t)=1e0tβ(s)ds 가 되는데,  \mu^{2}(t)+\sigma^{2}(t)=1  μ2(t)+σ2(t)=1 이 되는 preservation property가 있기 때문에 이 SDE를 VPSDE라고 부릅니다. SDE에서  f(x_{t},t)  f(xt,t) 는 data variable  x_{t}  xt 가  x_{t+\Delta t}  xt+Δt 만큼 변할 때 얼만큼 "전체적으로" distribution shift가 일어나는지를 설명해주는 "drift term"입니다. VPSDE는  -\frac{1}{2}\beta(t)x_{t}  2 1β(t)xt 만큼의 drift가 계속 가해지고 있기 때문에 data가 처음 있었던 곳으로부터 계속하여 0 근처로  \mu(t)x_{0}  μ(t)x0 만큼 빨려들어가고 있는 diffusion process입니다.