작성자 : 17기 임청수
- Forward process q는 미세한 Gaussian noise를 원본 이미지 에 점차적으로 추가하는 과정을 의미함.
- Noise를 주입하고 제거하는 과정은 큰 변화이기 때문에 한번에 적용하기 어려움. 따라서 T=1000 step으로 변화를 매우 작게 하여 학습을 쉽게 만듦. 이때 Markov Chain으로 표현됨.
1. Markov Chain
정의 : Markov 성질을 갖는 이산 확률과정
Markov 성질 : 특정 상태의 확률(t+1)은 오직 현재t)의 상태에 의존한다. 이산 확률과정 : 이산적인 시간(0초, 1초, 2초 ...) 속에서의 확률적인 현상
0시점에서 T시점으로 noise를 주입하고 제거하는 과정에서 1000번의 step으로 나누어 수행하고 이때 Markov chain을 적용
위 식에서 평균과 표준편차는 학습되어야 하는 parameter임.
- Maximize log likelihood
DDPM은 Loss를 굉장히 간단하게 정의하여 성능을 개선함.
- L_T는 p가 generate하는 noise와 q가 가 주어졌을 때 generate하는 T시점의 noise간의 분포 차이
- DDPM에서는 beta를 학습 가능한 파라미터가 아니라 사전에 정의한 상수로 fix하기 때문에 고려하지 않아도 됨
- 이유
1000 step으로 나누고 noise를 linear하게 증가시키도록 linear noise scheduling을 설정할 경우 최종적인 X_T는 isotropic gaussian(원형 대칭) 분포와 매우 유사하게 형성되기 떄문에 굳이 학습 필요 X
- L_(t-1)는 p와 q의 reverse / forward process의 분포 차이를 의미함. Forward대로 Denoising하기 때문에 두 값이 최대한 비 슷해지는 방향으로 학습을 진행. 총 4가지에 대해서 최적화 진행
(1) 표준편차의 상수화
- P의 표준편차는 상수 행렬에 대응함. 따라서 학습 대상이 하나 줄어듦.
(2) q(x_(t-1)|x_t, x_0)
앞서 정의한 것처럼 표현할 수 있음
(3) p_theta(x_(t-1)|x_t)
(4) 평균(x_t,t)
(5) sampling
(6) L_(t-1) 정리
(7) L_simple(theta)
Loss function을 epsilon에 대한 식의 형태로 다시 한 번 표현할 수 있음.
이러한 형태를 simplified objective function이라 부르고 더 효율적인 학습이 가능함.
Reference
[blog] : https://process-mining.tistory.com/188
[Youtube] : https://www.youtube.com/watch?v=_JQSMhqXw-4
[paper] : https://arxiv.org/abs/2006.11239
댓글 영역