카테고리 없음

DDPM에서의 ELBO 유도 - KL 발산의 비음수성(non-negativity)편

hyungyum 2025. 3. 6. 12:58



먼저, 앞에 보이는 수식(사진)은 DDPM 논문의 3번 수식이고, $-\log p_\theta(x_0)$를 최소화 하는 대신 Variatoinal Bound를 최소화 하는 식으로 바뀌게 됩니다. 위 수식에서는 $\log p_\theta(x_0)$에 음수가 곱해졌기에 ELBO(Evidence Lower Bound)에도 음수가 곱해진 형태라서 ELBO라는 표현 대신 Variational Bound라는 표현을 사용했습니다.

 


 

KL의 비음수성을 이용한 ELBO 유도

DDPM과 같은 확률 모델에서는 관측 데이터 $x_0$에 대한 우도 $p_\theta(x_0)$를 직접 최적화하기 어렵습니다.  
대신, 변분 추론(Variational Inference) 기법을 통해 Evidence Lower Bound (ELBO) 또는 변분 하한을 최적화하여 모델을 학습합니다.

이 글에서는 KL 발산의 비음수성(non-negativity)을 이용해 ELBO를 유도하는 전개 과정을 단계별로 설명합니다.  
우선, $p_\theta(x_0)$는 잠재 변수 $x_1, x_2, \dots, x_T$에 대해 마진화된 값(상수)입니다.
즉,
$$
p_\theta(x_0) = \int p_\theta(x_0, x_1, \dots, x_T) \, dx_{1:T}.
$$  
상수의 기댓값은 그 상수와 같으므로,
$$
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\bigl[-\log p_\theta(x_0)\bigr] = -\log p_\theta(x_0).
$$  
전개 과정에서는 잠재 변수 $x_{1:T}$에 대한 확률분포에 대한 기댓값을 이용해서 수식을 전개합니다. 




1. 음의 로그 우도와 기댓값 도입

모델 학습의 목표는 $\log p_\theta(x_0)$를 최대화하는 것이며,  
실제 구현에서는 이를 $-\log p_\theta(x_0)$를 최소화하는 문제로 전환합니다.

우리는 샘플링이 용이한 분포 $q(x_1, x_2, \dots, x_T \mid x_0)$를 도입하여,  
우도를 아래와 같이 기댓값 형태로 표현합니다.
$$
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\Bigl[-\log p_\theta(x_0)\Bigr].
$$  
여기서 $x_0$는 주어지고, $x_1, x_2, \dots, x_T$에 대한 적분(평균)을 $q$로 수행하는 것입니다.




2. 조건부 분포를 통한 분해

우도 $p_\theta(x_0)$는 잠재 변수에 대해 마진화된 결과이므로,
$$
p_\theta(x_0) = \int p_\theta(x_0, x_1, \dots, x_T) \, dx_{1:T}.
$$
조건부 분포의 정의에 따라,
$$
p_\theta(x_1, \dots, x_T \mid x_0) = \frac{p_\theta(x_0, x_1, \dots, x_T)}{p_\theta(x_0)}.
$$
따라서 로그를 취하면,
$$
\log p_\theta(x_0) = \log p_\theta(x_0, x_1, \dots, x_T) - \log p_\theta(x_1, \dots, x_T \mid x_0).
$$
음수 부호를 붙이면,
$$
-\log p_\theta(x_0) = -\log p_\theta(x_0, x_1, \dots, x_T) + \log p_\theta(x_1, \dots, x_T \mid x_0).
$$
이 식을 $x_{1:T} \sim q(\cdot \mid x_0)$에 대해 기댓값으로 취하면,
$$
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\Bigl[-\log p_\theta(x_0)\Bigr]
=
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\Bigl[-\log p_\theta(x_0, x_1, \dots, x_T) + \log p_\theta(x_1, \dots, x_T \mid x_0)\Bigr].
$$




 3. $q/q=1$ 삽입으로 로그 항 분해

이제, $\log p_\theta(x_1, \dots, x_T \mid x_0)$를 다루기 쉽게 하기 위해,  
"1"을 의미하는 
$$
\frac{q(x_1, x_2, \dots, x_T \mid x_0)}{q(x_1, x_2, \dots, x_T \mid x_0)}
$$  
를 삽입합니다.
$$
\log p_\theta(x_1, \dots, x_T \mid x_0)
=\log\!\left(\frac{p_\theta(x_1, \dots, x_T \mid x_0)}{q(x_1, x_2, \dots, x_T \mid x_0)} \cdot q(x_1, x_2, \dots, x_T \mid x_0)\right).
$$
로그의 성질에 따라 분리하면,
$$
\log p_\theta(x_1, \dots, x_T \mid x_0)
=\log \frac{p_\theta(x_1, \dots, x_T \mid x_0)}{q(x_1, x_2, \dots, x_T \mid x_0)}
+ \log q(x_1, x_2, \dots, x_T \mid x_0).
$$
따라서 전체 전개는
$$
\begin{aligned}
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\Bigl[-\log p_\theta(x_0)\Bigr]
=\; &\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\Bigl[-\log p_\theta(x_0, x_1, \dots, x_T) \\
&\quad + \log \frac{p_\theta(x_1, \dots, x_T \mid x_0)}{q(x_1, x_2, \dots, x_T \mid x_0)}
+ \log q(x_1, x_2, \dots, x_T \mid x_0)\Bigr].
\end{aligned}
$$




 4. KL 발산 도입과 부등호 형성

위 식에서 두 번째 항,
$$
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\!\left[\log \frac{p_\theta(x_1, \dots, x_T \mid x_0)}{q(x_1, x_2, \dots, x_T \mid x_0)}\right],
$$
는 정의에 따라
$$
-\mathrm{KL}\Bigl(q(x_1, x_2, \dots, x_T \mid x_0) \,\|\, p_\theta(x_1, \dots, x_T \mid x_0)\Bigr)
$$
가 됩니다.  
KL 발산은 항상 $0$ 이상이므로,
$$
-\mathrm{KL}(\cdot) \le 0.
$$
따라서 전체 식은 다음과 같이 부등호가 형성됩니다.
$$
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}[-\log p_\theta(x_0)]
\le
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\!\left[-\log p_\theta(x_0, x_1, \dots, x_T) + \log q(x_1, x_2, \dots, x_T \mid x_0)\right].
$$




5. Markov Chain 인수분해

마지막 단계에서는 모델과 forward process를 각각 Markov Chain 가정하에 인수분해합니다.

- Reverse Process (모델):
  
  $$
  p_\theta(x_0, x_1, \dots, x_T)
  = p_\theta(x_T) \prod_{t=1}^{T} p_\theta(x_{t-1} \mid x_t).
  $$
  
  따라서,
  
  $$
  -\log p_\theta(x_0, x_1, \dots, x_T)
  = -\log p_\theta(x_T) - \sum_{t=1}^{T} \log p_\theta(x_{t-1} \mid x_t).
  $$

- Forward Process:
  
  $$
  q(x_1, x_2, \dots, x_T \mid x_0)
  = \prod_{t=1}^{T} q(x_t \mid x_{t-1}),
  $$
  
  so,
  
  $$
  \log q(x_1, x_2, \dots, x_T \mid x_0)
  = \sum_{t=1}^{T} \log q(x_t \mid x_{t-1}).
  $$

대입하면 최종적으로,
$$
\begin{aligned}
\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}[-\log p_\theta(x_0)]
\le\; &\mathbb{E}_{x_{1:T} \sim q(\cdot \mid x_0)}\Biggl[
-\log p_\theta(x_T)
- \sum_{t=1}^{T} \log p_\theta(x_{t-1} \mid x_t) \\
&\quad\quad\quad\quad\quad + \sum_{t=1}^{T} \log q(x_t \mid x_{t-1})
\Biggr].
\end{aligned}
$$

이 식이 바로 DDPM 논문의 식 (3)에 해당하는 Variational Bound (음의 ELBO)입니다.




다음은 ELBO (3) 에서 DDPM의 수식 5번으로 가는 과정을 다뤄보겠습니다.