diffusuion model은 deep generative model의 일종으로, data에 noise를 조금씩 더해가면서 data를 완전한 noise로 만드는 forward process와 noise로부터 복원해가면서 data를 만들어내는 reverse process를 활용합니다.
diffusion model은 data에 조금씩 noise를 더하거나 noise로부터 조금씩 복원해가는 과정을 통해 data를 generate하는 모델입니다.

는 실제 데이터, 는 최종 noise, 그리고 는 중간 시점의 데이터를 의미합니다.
우선 위 그림의 오른쪽에서 왼쪽 방향으로 noise를 점점 더해가는 forward process를 진행합니다. 그리고 forward process를 반대로 추정하는 reverse process를 학습함으로써 noise로 부터 data를 복원하는 과정을 학습합니다. 최종적으로 diffusuion model은 random noise로 부터 우리가 원하는 image를 생성할 수 있는 실제 데이터의 분포를 학습합니다.