-
디퓨전 확률 모델(Diffusion probabilistic models) (1)카테고리 없음 2023. 6. 22. 23:18
원래는 아래 논문을 읽고 정리하려고 했는데, 너무 어렵더라.
[2006.11239] Denoising Diffusion Probabilistic Models (arxiv.org)
다행히 2015년 논문은 설명을 매우 친절하게 설명 해놓으셨다.
https://arxiv.org/abs/1503.03585
두 논문을 살펴보면 처음 아이디어를 제시한 논문보다 Denoising diffusion probabilistic models(DDPM) 논문이 더 인용수가 높다.
- Deep Unsupervised Learning using Nonequilibrium Thermodynamics (1524 citations)
- Denoising diffusion probabilistic models (2604 citations)
본 글에서는 첫번째 논문에 대해서 먼저 살펴보기로 한다.
먼저, 질문으로 시작해본다. 확률 모델을 만드는데 있어 중요한 요소가 무엇일까?
저자는 생성모델에 있어 다음과 같은 두가지 상충되는 요소를 제시한다.
- Tractability
- 수치적으로 확률분포 함수를 얼마나 쉽게 표현할 수 있는가? 수치가 주어지면 확률 계산이 가능.
- 예) 가우시안 분포
- 단점: 복잡한 데이터셋을 설명하기 어렵다.
- Flexibility
- 복잡한 분포를 사용하여 임의의 데이터에 대해서 적절히 설명 가능하고, 고품질의 데이터를 생성할 수 있는가?
- 예) GAN
- 단점: 샘플 생성이 매우 복잡하다.
이 두 마리 토끼를 잡기 위한 수단으로 확산 과정(diffusion process)에 영감을 얻어 이른바, 확산 확률 모델(Diffusion probabilistic models)을 제시한다.
디퓨전이란 무엇인가?
- 물질의 특정한 분포가 조금씩 와해되는 과정(destroyed)
- Data distribution ⇒ Uniform distribution
- 정보가 많은 상태 ⇒ 정보가 없는 상태
여기서 thermodynamics 이론을 활용하여, 비지도학습에 활용하게 된다.
먼저 q 과정과 p 과정이 있는데,
- Diffusion process: 고의로 패턴을 와해시키는(noising) Forward 인 q 과정
- Reverse process: 이를 다시 복원하는 조건부 PDF(probability density function)를 학습 (denoising) 시키는 reverse p 과정
이 있다. 따라서 학습하는 부분은 Revese process만 존재한다.
또한 기존 GAN, VAE, Flow-based model 과도 비교해보면 더 깊이 이해할 수 있다.
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
inverse process 와 iterative technique을 이용한다는 측면에서는 Flow-based models 과 비슷하다.
또한 다수의 latent variable 을 이용한다는 측면에서 hiearchical VAE과도 유사하다.
이를 고려대학교 김정섭 님이 잘 정리해놓으셨는데, VAE와 수식유도 측면에서 매우 비슷하다.
http://dsba.korea.ac.kr/seminar/?mod=document&uid=2352
즉 Reverse process에서 VAE는 single latent variable를 사용하는 반면, Diffusion 에서는 markov chain을 이용하여 다수의 latent variable를 이용한다.
또한 VAE에서 regularization 과 reconstruction term을 동일하게 썼지만, 복수의 latent variable을 씀으로써 항이 더 늘어난 것을 볼 수 있다.
즉 denoising process가 매우 중요한 항이 된다.
자세한 내용은 김정섭님의 ppt 및 lilianweng 블로그를 참고하면 좋을 것 같다.