Denoising diffusion probabilistic models(DDPM)은 다음 두 과정을 거치며 데이터의 분포를 학습하는 생성형 모델이다.
이미지에 노이즈를 추가하는 Forward process
이미지의 노이즈를 제거하며 원본 이미지로 복원하는 Reverse Diffusion process
Diffusion Model의 목표는 노이즈 이미지를 원본의 이미지로 복원하는 것이며, 이 과정에서 원본 이미지의 데이터 분포에 대한 학습이 이루어진다.
Forward process
매 Time-step마다 원본 이미지 x0에 고정된 가우시안 분포에서 추출한 노이즈를 추가하는 과정이다.
노이즈는 가우시안 분포에서 추출되었기 때문에, 노이즈 추가 과정이 반복됨에 따라 원본 이미지의 데이터 분포는 점진적으로 가우시안 분포에 수렴하도록 변환된다.
Forward process는 현재 상태 xt가 이전 상태 xt−1에 종속적이라는 마르코프(Markov) 원칙을 따른다. 따라서 전체 식은 각 Time-step 별 조건부 확률로 나타낼 수 있으며, 이 조건부 확률은 마르코프 체인(Markov chain)에 따라 다음과 같이 정리할 수 있다.
결국 입력 이미지 x0가 주어졌을 때 특정 시점 t의 확률 분포는 다음과 같이 정의된다.
q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I)
αt=1−βtαˉt=i=1∏tαi
Reverse process
Forward process에서 각 노이즈들은 가우시안 분포에서 샘플링 되었기 때문에, 노이즈 이미지 xT는 가우시안 분포를 따를 것이다.
p(xT)=N(0,I)
따라서 Reverse process는 Forward process를 한 단계씩 되돌리며 가우시안 분포를 따르는 이미지 xT를 원본 이미지 x0의 분포로 복원하는 과정이다.
Reverse process의 각 Time-step에서의 확률 분포의 평균 μθ과 분산 σ2은 학습 가능한 파라미터이며, 샘플링 알고리즘은 다음과 같이 정의한다.
pθ(xt−1∣xt):=N(xt;μθ(xt),σt2I)
Forward process와 마찬가지로 Reverse process는 마르코프 체인에 따라 정리될 수 있으며, 주어진 xT에 대해 x0는 다음과 같이 정의한다.
pθ(x0:T):=p(xT)t=1∏Tpθ(xt−1∣xt),
결국 모델은 복원 과정에서 원본 이미지의 데이터의 분포를 학습하게 되며, 이후 유사한 분포의 데이터를 생성하는 능력을 얻게 되는 것이다.