"Denoising Diffusion Probabilistic Models" 발표에서 DDPM 과 관련된 초기 논문이라고 하여, Diffusion Model에 대해 이해하는 것에 도움이 될 수 있을 것 같아 읽게 되었습니다. 수식이 연결되는 것에 필요한 부분들이 잘 나와있고, diffusion 과 관련된 배경지식을 찾기 좋은 논문으로 보입니다.
Forward Trajectory 데이터 분포인 $x^{(0)}$를 다루기 쉬운 분포인 $\pi (y)$ 로 바꾸는 forward trajectory를 $q(x^{(0...T)})$로 정의하며, Markov diffusion kernel 인 $T_\pi (y|y^\prime ; \beta )$ 를 활용하게 됩니다. 여기서 $\beta$는 diffusion rate 입니다. 그래서 여러 단계로 진행이 되며, 데이터 0 → 중간 t → 결과 T 인 부분의 각 단계를 (2)로 표시하고, 분포에 적용하면 (1) 과 같습니다.
여러 단계를 진행한 수식은 (3)과 같습니다.
Reverse Trajectory 변환된 분포인 $x^{(T)}$를 데이터 분포 $x^{(0)}$로 돌려놓는 reverse trajectory를 $p(x^{(0...T)})$로 정의하며, (4)와 (5)로 나타낼 수 있습니다.
Reverse trajectory에서는 diffusion kernel을 역을 model을 통해 학습하게 됩니다.
Train 학습은 forward trajectory로 바뀐 분포를 reverse trajectory로 되돌리는 model likelihood를 maximizing하는 방향으로 진행됩니다. model likelihood는 (10)처럼 표현할 수 있습니다.
학습은 (10)을 (13)으로 annealed importance sampling과 Jarzynski equality에 의해 바꾸어 lower bound인 K에 대한 수식을 만들어 KL divergence와 entropies로 정리하여 줍니다. 그 후 $K$를 maximzing하면 학습이 됩니다.
Loss 를 통한 학습 방법은 상윤님의 이전 발표인 "Denoising Diffusion Probabilistic Models" 발표에 나와있습니다. 관련 수식.
Flexibility와 Tractability Flexibility가 arbitrary data에 fit 할 수 있도록 딥러닝 모델을 활용하여 reverse process를 진행할 수 있다는 것이라면, Tractability는 diffusion process가 Gaussian mean 계산을 통해 근사할 수 있음과 Lower bound와 Upper bound를 계산할 수 있음을 Appendix에서 small perturbation (작은 noise를 넣어주는 것) 관련하여 energy function과 Taylor expansion에 의해 보입니다.
Model Multi-scale convolution을 활용한 Network를 활용하여 mean과 covariance를 예측하였습니다.
Result
추가적으로 가져온 논문은 "Autoregressive Diffusion Models" 입니다. Diffusion model에서 알고 있는 distribution에서 시작해서 학습을 할 수 있는 reverse 부분에서 아이디어를 가져와 Order-agnostic autoregressive model을 만든 논문입니다.
기존의 LSTM이나 GPT 같은 구조에서는 순차적으로 데이터를 생성합니다.
ARDMs에서는 아무 지점에서 시작할 수 있습니다. 그래서 length $D$의 permutation 만큼의 random order $S_D$ 순서로 만들어 질 수 있어, $S_D$의 log-likelihood를 활용합니다.
ex. 생성 순서가 3,1,2,4 로 진행될 때의 예시 그림입니다.
ex. 실제 문장 생성에 활용한 예시입니다. 내용을 보면 일부 오타가 존재합니다.