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

인공지능 및 기계학습 심화

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

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

이번 시간에는 Diffusion Model을 열었던 DDPM 논문을 설명드리도록 하겠습니다.

Denoising Diffusion Probabilistic Models (DDPM)은 Jonathan Ho와 Ajay Jain이 박사과정 마지막 년차에 Pieter Abbeel 교수님 연구실에서 쓴 논문입니다.

DDPM은 나오자마자 학계에서 매우 큰 반향을 불러일으킨 논문입니다.

DDPM은 기존의 thermodynamics 즉 열역학에서 열이 퍼지는 diffusion 현상을 generative model에 이용하여 high-dimensional data를 처음으로 성공적으로 생성한 모델입니다.

DDPM을 이해하기 위하여 data variable을  x_0  x0 라고 하고, 이 data variable이 시간  t  t 가 지남에 따라 서서히 붕괴하여 종국에는 아주 큰 시간  T  T 에 noise variable  x_T  xT 로 collapse된다고 하겠습니다.

여기서 시간  t  t 에 따른 중간에 있는 적당히 붕괴한 variable은  x_t  xt 라고 명명하겠습니다.

이 때, DDPM은 영리하게,  x_{t-1}  xt1 로부터  x_{t}  xt 로 데이터가 붕괴하는 과정이 Gaussian distribution에 따르면

 x_t  xt 로부터  x_{t-1}  xt1 을 예측할 수 있음을 관측하였는데요, 다시 말하여

 x_{t}\vert x_{t-1}\sim N(x_{t}\vert \sqrt{1-\beta_{t}}x_{t-1},\beta_{t}I)  xtxt1N(xt1βt xt1,βtI) 이면  x_{t-1}\vert x_{t},x_{0}\sim N(x_{t-1}\vert \mu(x_{t},x_{0},t),\tilde{\beta}_{t}I)  xt1xt,x0N(xt1μ(xt,x0,t),β~tI) 가 되는 것을 관측하였습니다.

여기서  \mu(x_{t},x_{0},t)  μ(xt,x0,t) 는  x_{0}, x_{t}, t  x0,xt,t 에 따른 우리가 알고 있는 값인데, 문제가 되는 것은  x_{0}  x0 가 input argument에 들어 있다는 점입니다.

또,  \tilde{\beta}_{t}  β~t 는 바로 구할 수 있어서 variance보다는 posterior mean이 진정 추정의 대상이 되는 것입니다.

DDPM에서는 그렇기 때문에 이 intractable한  \mu  μ 를 Neural Network  \mu_{\theta}(x_{t},t)  μθ(xt,t) 를 이용하여 추측합니다.

학습 loss는  L=\sum_{t=1}^{T}E[\Vert\mu(x_{t},x_{0},t)-\mu_{\theta}(x_{t},t)\Vert_{2}^{2}]  L=t=1TE[μ(xt,x0,t)μθ(xt,t)22] 가 되어, DDPM은 결국 generative task를 regression task로 supervised learning으로 바꾸어 supervised learning의 이점을 가지게 됩니다.

DDPM 이후의 모델들은 DDPM의 학습 loss를  \sum_{t=1}^{T}E{\Vert\epsilon-\epsilon_{\theta}(\sqrt{\bar{\alpha}_{t}}x_{0}+\sqrt{1-\bar{\alpha}_{t}}\epsilon,t)\Vert_{2}^{2}}  t=1TEϵϵθ(α¯t x0+1α¯t ϵ,t)22 으로 notation을 통일하였으며, DDPM은 결국, data가 noise로 변화해 가는 noise  \epsilon  ϵ 을 noise가 data로 변화해 가는 noise  \epsilon_{\theta}  ϵθ 로 학습하는 모델이라고 해석되고 있습니다.