일단 조건부에 x0가 붙었으니 결국 non-Markovian
평균의 식이 굉장히 복잡하지만, 이는 DDPM의 marginal을 유지할 수 있도록 선택된것이며, 이렇게 했을 때 marginal이 유지된다는 lemma는 appendix에서 증명된다.
암튼 이 식들을 가지고 Bayes rule 써서 forward process를 정의하면 되겠다. (수식 귀찮아)
그리고 여기서 σ 가 0에 가까워질 수록 분산도 0에 가까워지면서 deterministic하게 된다는 점을 기억합시다.
Generative Process And Unified Variational Inference Objective
generative process
생성 프로세스 pθ(x0:T) 를 정의해봅시다.
기존 DDPM에서는 그냥 통짜로 이걸 학습 때렸지만, 이제 미리는 미리 정의해둔 joint를 활용할수가 있다. (pθ(t)(xt−1∣xt)가 관심사이지만 qσ(xt−1∣xt,x0)을 알고 있으므로.. ㅎㅎ)
요 프로세스는 xt 를 가지고 x0를 예측해놓고 이거로 qσ(xt−1∣xt,x0)를 계산해서 xt−1 를 샘플링하는 형태로 이루어질 수 있다.
이 요런식으로 2σt21 가 붙어있었고 이게 γ 인데요... 실험적으로 1로 취급해도 잘된다구 해서 빼버렸었읍니다...
암튼 theorem을 풀어서 이야기 하자면 σ는 어떻게 놓더라도 DDPM loss에 대응되는 형태로 풀어지기 때문에 사실상 DDPM 방식으로 학습해도 요 non Markvian 모델을 쓸 수 있다.
이 또한 굉장히 중요해보이지만 증명은 appendix 참조..
슬쩍 보았을때 KLD 형태의 loss 식을 잘 만져서 공분산 같은 두 분포의 KLD로 만들고 이걸 MSE 형태로 바꿔서 어찌저찌 유도를 해냈다
추가로 γ 는 만약 모델 ϵθ(t)의 파라미터 θ가 서로 다른 timestep t 간에 공유되지 않는다면,
각 항을 개별적으로 최적화할 수 있기 때문에, 최적해는 가중치 γ에 의존하지 않게 된다.
이거 이해 안됐어서 조금 더 부연을 하자면,
Lγ=t=1∑Tγt⋅Losst(θ(t))
요런 식으로 loss가 쓰일수가 있을텐데 t 시점에서는 그냥 그 시점에서의 최적값만 찾으면 전체도 최적화 되기 때문에 γ가 최적점 자체에 직접적인 영향을 끼치진 않을것이란 뜻이다.
암튼 요렇게 밑밥을 깔아줬으니 이전 논문에서 L1을 쓴게 정당화가 됐고 여기서도 Lemma 따라서 Jσ는 알아서 정해질테니 L1 쓰겠다 라는 것임
Sampling From Generalized Generative Processes
앞에서 보았듯 이제 L1 학습은 Markovian process 학습만을 나타내는 것이 아니고, σ로 파라미터화된 Non-Markovian process를 학습하는 것이 된다.
즉 학습은 그냥 DDPM으로 하고, σ를 달리해가면서 샘플 생성을 다양한 목적에 맞게 진행할수 있게 된다.
Denoising Diffusion Implicit Models
xt−1=αt−1“predicted x0”(αtxt−1−αt⋅ϵθ(t)(xt))+“direction pointing to xt”1−αt−1−σt2⋅ϵθ(t)(xt)+random noiseσt⋅ϵt
사악 종합해서 xt로부터 xt−1를 뽑는 식을 위 형태로 쓸 수 있다.
위 식의 특성을 뜯어보자면
1) DDPM 학습 그대로 해도 된다.
σ를 다르게 놓아서 생성 과정 자체를 달리 할수는 있지만, 여기서 활용되는 모델 즉 ϵθ 는 똑같은걸 써도 된다.
2) 일반화된 식이다.
σt=1−αt−11−αt⋅1−αtαt−1
로 두면, forward process는 Markovian process가 되고, 생성 과정도 DDPM과 똑같다.
3) σ=0 일 때:
랜덤성이 부여되는 노이즈항이 완전히 사라지고, xt−1이 xt와 x0 에 대해 deterministic해진다.
요걸 이제 DDIM이라고 한다. 참고로 발음은 /d:Im/ 이라고 한다. (응 난 디디아이엠이라 할거야)
아무튼 요건 implicit probabilistic model 의 한 형태가 된다고 하는데 이 논문 모르고 보기도 귀찮아서 챗지피티한테 물어보았다.
📌 정의:
명시적인 확률분포(explicit distribution)를 정의하지 않고,
대신 샘플링 과정을 통해서만 간접적으로 데이터 분포를 모델링하는 모델을 의미해.
즉, 수학적으로 "이게 우리가 모델링하는 확률분포다" 라는 p(x)를 정확하게 써줄 수는 없지만,
그 분포로부터 샘플을 생성하는 절차만 정의되어 있는 모델이야.
음 그렇군요
아무튼 요 시그마 제로! 이게 이제 stochastic한 생성과정을 deterministic하게 만들어 주었다는것이 포인트입니다
요렇게 deterministic한 샘플링 과정 덕분에 중간 중간 그냥 스킵하고 짬프를 뛰어도 샘플링을 해낼 수가 있게 되고 생성 프로세스를 줄일수가 있더라~하는 이야기
Relevance To Neural ODES
요 파트가 이해하기도 어렵기도하고 논문 나왔을 당시로서는 큰 의미도 모르겠고 해서 예전엔 제끼면서 넘어갔던 부분이고, 다른 블로그 리뷰글에서도 잘 다루어지지는 않는것 같다. 하지만 글 초반에서 언급했던 이론적 인사이트의 핵심이 될 부분이 아닌가 싶다.