DDPM 논문: https://arxiv.org/abs/2006.11239


닉네임 답게 통계도 모르는 지잡컴공인데 나름 몸 비틀면서 수식 유도과정을 아주 대충 이야기로 풀어서라도 이해해보려고 했어.

맞게 이해한건지 확인좀 부탁할게...


<과정>

1. 아~~ Gaussian noise X_T ~ N(0, I^2)에서 조금씩 noise를 걷어내서 이미지 X_0 ~ P_data를 만들어 내고 싶다. 이 과정을 Markov chain으로 modeling 하자. 그리고 이 과정을 reverse process라고 한다.


2. X_0를 잘 만든다는 뜻은 log-likelihood인 log{p(x_0)}를 최대화 하는 것. 하지만 직접적인 likelihood를 계산하는 것은 intractable 하므로 variational inference를 도입하여 posterior를 estimation 하자.


3. 이 posterior를 estimation 한 것이 바로 forward (diffusion) process.


4. 새로 도입한 posterior의 추정인 forward process를 이용하여 forward process와 관련된 loss인 L_T, reverse process와 관련된 loss인 L_{1:T-1}와 L_0 를 유도하였음.


5. Loss와 reverse process를 적당히 잘 학습할 것으로 보이는 간단한 NN model로 구현해서 학습해봤더니 매우 잘 된다.