Contenu connexe Similaire à CVPR 2022 Tutorial에 대한 쉽고 상세한 Diffusion Probabilistic Model (20) CVPR 2022 Tutorial에 대한 쉽고 상세한 Diffusion Probabilistic Model6. 𝐸 𝑋 =
𝑥
𝑥𝑝(𝑥)
𝐸 𝑓 𝑋 =
𝑥
𝑓 𝑥 𝑝(𝑥)
𝐸 −𝑙𝑜𝑔𝑝 𝑋 =
𝑥
−𝑙𝑜𝑔𝑝 𝑥 𝑝(𝑥)
-𝑙𝑜𝑔𝑝 𝑥
information
expectation
entropy
𝑝 𝑥, 𝑦 = 𝑝 𝑥 𝑝 𝑦 𝑥 = 𝑝 𝑦 𝑝(𝑥|𝑦)
𝑝 𝑥, 𝑦, 𝑧 = 𝑝 𝑥 𝑝 𝑦 𝑥 𝑝(𝑧|𝑥, 𝑦)
Bayes’ rule 𝑝 𝑦 𝑥 =
𝑝 𝑥, 𝑦
𝑝 𝑥
=
𝑝 𝑦 𝑝(𝑥|𝑦)
σ𝑦 𝑝 𝑦 𝑝(𝑥|𝑦)
𝑝 𝑥 =
𝑦
𝑝(𝑥, 𝑦) =
𝑦
𝑝 𝑦 𝑝(𝑥|𝑦)
6
random process
Markov
random process
KL divergence
cross-entropy 𝐸 −𝑙𝑜𝑔𝑝 𝑋
=
𝑥
−𝑙𝑜𝑔𝑝 𝑥
𝑞(𝑥)
𝑞(𝑥)
7. 𝑝 𝑥
𝑝 𝑥; 𝑢, 𝜎
𝑝𝜃 𝑥 , 𝜃 = (𝑢, 𝜎)
KL divergence between two Gaussian distributions
reparameterization trick
7
14. repeat T times
U-Net
DPM 신경망구조
14
U-Net
(Pix2Pix)
✓ Detail을 살려야 한다.
✓ Scene의 구조가 바뀌지 않는다.
이 목적으로, U-Net이 딱!
신경망 구조는 살펴봤고, 다음은 손실함수다.
15. 𝑇 = 1,000
가우시안 노이즈를 점진적으로 추가 (영상처리)
신경망
신경망 훈련
15
https://www.youtube.com/watch?v=HoKDTa5jHvg
Image credits:
각 스텝의 영상을
x_0, x_1, …, x_T라고 하자.
우리의 목적은 x_T로 부터 x_0를 생성하는 것이다.
근데, 신경망이 한번에 이것을 수행하기는 어렵기 때문에,
중간과정에 있는 모든 x_t도 생성할 것이다.
그래서, 느리다는 약점!
20. 20
tractable ?
이 분포를 우리가 다룰 수 있을까?
이게 되면 굳이 신경망으로 p_theta 구할 필요가 없다.
p_{theta}와 모양이 같은
q를 생각해 보자.
25. Loss L0
25
cross-entropy / mse
마지막으로 이 둘의 차이가 줄어
들도록.
물론 이전 슬라이드에 통합해도
되긴 하다.
그렇지만, x_1, x_0는 약간의 노
이즈 차이이므로 기존의 신경망
손실함수를 사용해도 좋을 듯.
58. U-Net
시간 정보를 주고, 반복!
이 가우시안 분포를
T를 파라미터로 갖는
U-Net으로 구현
𝑡 = 𝑡 + 1
58
가우시안으로 간주했다.
가우시안 분포는
평균과 (공)분산으로 표현
59. 결국, 신경망 훈련을 통해
구하는 것
공분산은 0이라고 간주한 것.
각 영상에 낀 노이즈끼리 독립!
59
정리하면,
60. 손실함수 유도
60
이 부분이 수식이 많다.
Variational Inference라고 불리우는,
VAE 목적함수 유도과정을 알고 있으면 도움이 된다.
- KL divergence 정의 알아야 한다.
- Expectation 정의 알아야 한다.
67. Variational Inference
𝑝 𝑧|𝑥
𝑞 𝑧|𝑥
구하기 어렵다.
꿩 대신 닭
변이
우리가 알고 있는 쉬운 분포; 정규분포로 대치하자.
𝑝 𝑧|𝑥 ≈ 𝑞 𝑧|𝑥
조건:
KL 최소화
min KL 𝑞 𝑧|𝑥 ||𝑝 𝑧|𝑥
67
Posterior 구하기
대체(변이) 사후확률 구함
𝑞 𝑧|𝑥
Reverse KL을 선호
VI : biased, low variance
MC: unbiased, high variance
68. 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧|𝑥 = − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑧|𝑥
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑝 𝑥
𝑞 𝑧|𝑥
1
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
1
𝑝 𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+ 𝑙𝑜𝑔
1
𝑝 𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+
𝑧
𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+ 𝑙𝑜𝑔 𝑝 𝑥
𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+ 𝑙𝑜𝑔 𝑝 𝑥
1
𝑙𝑜𝑔 𝑝 𝑥 = 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧|𝑥 + 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
𝑥 is given, then it is fixed
68
https://www.youtube.com/watch?v=uaaqyVS9-rM
𝑙𝑜𝑔 𝑝 𝑥 ≥
최소화
해야함
최대화
하면 된다.
꿩 대신 닭
≥ 0
𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
𝑥 in black: a random variable
𝑥 in gray: a fixed value of the random variable 𝑥
결국, 이 term을 최대화
69. 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧|𝑥 = − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑧|𝑥
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑝 𝑥
𝑞 𝑧|𝑥
1
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
1
𝑝 𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+ 𝑙𝑜𝑔
1
𝑝 𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+
𝑧
𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+ 𝑙𝑜𝑔 𝑝 𝑥
𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
+ 𝑙𝑜𝑔 𝑝 𝑥
1
𝑙𝑜𝑔 𝑝 𝑥 = 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧|𝑥 + 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
𝑥 is given, then it is fixed
69
https://www.youtube.com/watch?v=uaaqyVS9-rM
≥ 0
lower bound
𝑙𝑜𝑔 𝑝 𝑥 ≥
variational
최소화
해야함
최대화
하면 된다.
꿩 대신 닭
Log-Likelihood
크게 하는 것
𝑥 in black: a random variable
𝑥 in gray: a fixed value of the random variable 𝑥
70. 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
= 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥|𝑧 𝑝 𝑧
𝑞 𝑧|𝑥
= 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= 𝐸𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 − 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧
70
Evidence Lower BOund (ELBO)
𝑝 𝑧|𝑥 𝑝 𝑥
𝑙𝑜𝑔 𝑝 𝑥 ≥
Log-Likelihood
크게 하는 것
Lower Bound 정리하면…
71. 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
= 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥|𝑧 𝑝 𝑧
𝑞 𝑧|𝑥
= 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= 𝐸𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 − 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧
71
𝑝 𝑧|𝑥 𝑝 𝑥
𝑙𝑜𝑔 𝑝 𝑥 ≥
Log-Likelihood
크게 하는 것
KL divergence로 표현
Evidence Lower BOund (ELBO)
72. − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥|𝑧 𝑝 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= −𝐸𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧
72
𝑝 𝑧|𝑥 𝑝 𝑥
−𝑙𝑜𝑔 𝑝 𝑥 ≤
- Log-Likelihood
작게 하는 것
손실함수로…
Evidence Lower BOund (ELBO)
73. − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥|𝑧 𝑝 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= −𝐸𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧
73
𝑝 𝑧|𝑥 𝑝 𝑥
−𝑙𝑜𝑔 𝑝(𝑥) ≤
- Log-Likelihood
작게 하는 것
Evidence Lower BOund (ELBO)
−𝑙𝑜𝑔 𝑝 𝑥0 ≤
VAE
Diffusion Model
Learning Objective of DM
그래서,
74. − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥, 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑥|𝑧 𝑝 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= − 𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 − 𝑞 𝑧|𝑥 𝑙𝑜𝑔
𝑝 𝑧
𝑞 𝑧|𝑥
= −𝐸𝑞 𝑧|𝑥 𝑙𝑜𝑔 𝑝 𝑥|𝑧 + 𝐾𝐿 𝑞 𝑧|𝑥 ||𝑝 𝑧
74
𝑝 𝑧|𝑥 𝑝 𝑥
−𝑙𝑜𝑔 𝑝(𝑥) ≤
- Log-Likelihood
작게 하는 것
Evidence Lower BOund (ELBO)
VAE
Learning Objective of DM
−𝑙𝑜𝑔 𝑝 𝑥0 ≤
Diffusion Model
98. Proposed by Ho et al.
Denoising Diffusion Probabilistic Models (DDPM) - NeurlPS 2020
98
앞에서 x_0는 없애 놨다.
106. References
• [Paper] Jascha Sohl-Dickstein et al., "Deep Unsupervised Learning using Nonequilibrium
Thermodynamics", ICML, 2015.
• [Paper] Jonathan Ho et al., "Denoising diffusion probabilistic models", arXiv:2006.11239,
2020.
• [Tutorial] Karsten Kreis et al., "Denoising Diffusion-based Generative Modeling:
Foundations and Applications", June 19, CVPR 2022.
• [Tutorial] (한글) Injung Kim, "Diffusion Probabilistic Models", July 1, KCC 2022.
• [Tutorial] (한글) Jaepil Ko, "Tutorial on VAE", slideshare,
https://www.slideshare.net/jaepilko10/variational-autoencoder-vae-255270887
• [Blog] What are Diffusion Models, https://lilianweng.github.io/posts/2021-07-11-diffusion-
models/
• [Blog] Introduction to Diffusion Models for Machine Learning,
https://www.assemblyai.com/blog/diffusion-models-for-machine-learning-introduction/
• [Blog] (한글) https://developers-shack.tistory.com/8
• [YouTube] https://www.youtube.com/watch?v=HoKDTa5jHvg
106