DDPM에서의 ELBO 유도 - Jensen’s Inequality 편

장현겸·2025년 3월 3일

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


DDPM에서는 관측 데이터 x0x_0의 우도 logpθ(x0)\log p_\theta(x_0)를 직접 최적화(최대화)하기 어려워, 이 우도(likelihood)의 하한(Evidence Lower Bound, ELBO)을 최대화하는 방식으로 모델을 학습합니다. 우선, 모델의 likelihood는 잠재 변수(latent variable) x1:Tx_{1:T}를 모두 적분하여 다음과 같이 표현할 수 있습니다:

logpθ(x0)=logpθ(x0,x1:T)dx1:T.\log p_\theta(x_0) = \log \int p_\theta(x_0, x_{1:T}) \, dx_{1:T}.

이 적분은 직접 계산하기 어려우므로, 변분 추론(Variational Inference)의 표준 기법을 적용합니다. 여기서는 분자와 분모에 동일한 항, 즉 q(x1:Tx0)q(x1:Tx0)\frac{q(x_{1:T}\mid x_0)}{q(x_{1:T}\mid x_0)}를 곱해도 값은 변하지 않는다는 점을 이용합니다:

logpθ(x0)=logpθ(x0,x1:T)q(x1:Tx0)q(x1:Tx0)dx1:T.\log p_\theta(x_0) = \log \int p_\theta(x_0, x_{1:T}) \, \frac{q(x_{1:T}\mid x_0)}{q(x_{1:T}\mid x_0)} \, dx_{1:T}.

분수 형태를 기댓값으로 표현하면 다음과 같이 쓸 수 있습니다:

logpθ(x0)=log(Ex1:Tq(x0)[pθ(x0,x1:T)q(x1:Tx0)]).\log p_\theta(x_0) = \log \Bigl( \mathbb{E}_{x_{1:T}\sim q(\cdot\mid x_0)} \Bigl[\frac{p_\theta(x_0, x_{1:T})}{q(x_{1:T}\mid x_0)}\Bigr] \Bigr).

여기서 log\log 함수는 오목(concave) 함수이므로, Jensen’s Inequality (즉, logE[X]E[logX]\log \mathbb{E}[X] \ge \mathbb{E}[\log X])를 적용할 수 있습니다:

logpθ(x0)=log(Ex1:Tq(x0)[pθ(x0,x1:T)q(x1:Tx0)])Ex1:Tq(x0)[logpθ(x0,x1:T)q(x1:Tx0)].\log p_\theta(x_0) = \log \Bigl( \mathbb{E}_{x_{1:T}\sim q(\cdot\mid x_0)} \Bigl[\frac{p_\theta(x_0, x_{1:T})}{q(x_{1:T}\mid x_0)}\Bigr] \Bigr) \ge \mathbb{E}_{x_{1:T}\sim q(\cdot\mid x_0)} \Bigl[ \log \frac{p_\theta(x_0, x_{1:T})}{q(x_{1:T}\mid x_0)} \Bigr].

이 부등식은 logpθ(x0)\log p_\theta(x_0)에 대한 하한을 제공하며, 가장 오른쪽 항을 ELBO라고 부릅니다. 즉,

logpθ(x0)Ex1:Tq(x0)[logpθ(x0,x1:T)logq(x1:Tx0)].\log p_\theta(x_0) \ge \mathbb{E}_{x_{1:T}\sim q(\cdot\mid x_0)} \Bigl[ \log p_\theta(x_0, x_{1:T}) - \log q(x_{1:T}\mid x_0) \Bigr].

실제 학습에서는 최대화 대신 logpθ(x0)-\log p_\theta(x_0)를 최소화하는 관점으로 문제를 재구성하므로, 위 식에 음수를 씌워 표현하면 (참고: 음수를 곱하면 부등호는 반대가 되고, 기댓값의 성질에 의해 스칼라(-1)가 곱해지면 기댓값 안에 넣을 수 있습니다.)

logpθ(x0)Ex1:Tq(x0)[logpθ(x0,x1:T)+logq(x1:Tx0)].-\log p_\theta(x_0) \le \mathbb{E}_{x_{1:T}\sim q(\cdot\mid x_0)} \Bigl[ -\log p_\theta(x_0, x_{1:T}) + \log q(x_{1:T}\mid x_0) \Bigr].

DDPM 논문에서는 이 ELBO 식을 체인 룰을 사용하여 pθ(x0,x1:T)p_\theta(x_0, x_{1:T})q(x1:Tx0)q(x_{1:T}\mid x_0)를 인수분해합니다. 예를 들어, 만약 모델이 역방향 마코프 체인으로 구성되어 있다면
(참고: 확률분포의 chain rule과 각 상태가 markov chain을 이룰 때 어떻게 역방향과 정방향의 전체 과정을 나타내는 조인트 분포가 우변처럼 전개가 되는지에 대해서는 다른 페이지에서 다루겠습니다.)

pθ(x0,x1:T)=pθ(x0:T)=pθ(xT)t=1Tpθ(xt1xt),p_\theta(x_0, x_{1:T}) = p_\theta(x_{0:T}) = p_\theta(x_T) \prod_{t=1}^T p_\theta\bigl(x_{t-1}\mid x_t\bigr),

로 나타낼 수 있고, Forward process는

q(x1:Tx0)=t=1Tq(xtxt1)q(x_{1:T}\mid x_0) = \prod_{t=1}^T q(x_t\mid x_{t-1})

와 같이 인수분해됩니다.


이를 이용해 체인 룰로 pθ(x0,x1:T)p_\theta(x_0, x_{1:T})q(x1:Tx0)q(x_{1:T}\mid x_0)를 전개하면, 단계별 KL 항을 명시적으로 얻을 수 있습니다. 먼저, 식

logpθ(x0)        Ex1:Tq(x0)[logpθ(x0,x1:T)  +  logq(x1:Tx0)]-\log p_\theta(x_0) \;\;\le\;\; \mathbb{E}_{x_{1:T}\sim q(\cdot\mid x_0)} \Bigl[ -\log p_\theta\bigl(x_0, x_{1:T}\bigr) \;+\; \log q\bigl(x_{1:T}\mid x_0\bigr) \Bigr]

에서, pθ(x0,x1:T)p_\theta(x_0, x_{1:T})q(x1:Tx0)q(x_{1:T}\mid x_0)를 각각 마코프 체인 형태로 인수분해합니다.


이제 우변의 기댓값 안을 구체적으로 써 보면,

logpθ(x0,x1:T)=logpθ(xT)    t=1Tlogpθ(xt1xt),-\log p_\theta\bigl(x_0, x_{1:T}\bigr) = -\log p_\theta(x_T) \;-\; \sum_{t=1}^T \log p_\theta\bigl(x_{t-1}\mid x_t\bigr),
logq(x1:Tx0)=t=1Tlogq(xtxt1).\log q\bigl(x_{1:T}\mid x_0\bigr) = \sum_{t=1}^T \log q\bigl(x_t\mid x_{t-1}\bigr).

두 식을 합치면,

logpθ(xT)    t=1Tlogpθ(xt1xt)  +  t=1Tlogq(xtxt1).-\log p_\theta(x_T) \;-\; \sum_{t=1}^T \log p_\theta\bigl(x_{t-1}\mid x_t\bigr) \;+\; \sum_{t=1}^T \log q\bigl(x_t\mid x_{t-1}\bigr).

이를 기댓값 Eq(x0)[]\mathbb{E}_{q(\cdot\mid x_0)}[\cdots] 안에 넣고 정리하면, 각 단계마다

logq(xtxt1)    logpθ(xt1xt)\log q\bigl(x_t\mid x_{t-1}\bigr) \;-\; \log p_\theta\bigl(x_{t-1}\mid x_t\bigr)

라는 항이 등장합니다. 이것을

KL(q(xt1xt,x0)    pθ(xt1xt))\mathrm{KL}\Bigl( q(x_{t-1}\mid x_t, x_0) \;\|\; p_\theta(x_{t-1}\mid x_t) \Bigr)

형태로 묶을 수 있으며, 그 합산이 곧 DDPM 논문에서 말하는 최종 Variational Bound가 됩니다.


따라서

logpθ(x0)        Eq(x0)[logpθ(xT)    t=1Tlogpθ(xt1xt)  +  t=1Tlogq(xtxt1)]논문 식 (3)의 우변,-\log p_\theta(x_0) \;\;\le\;\; \underbrace{ \mathbb{E}_{q(\cdot\mid x_0)}\Bigl[ -\log p_\theta(x_T) \;-\; \sum_{t=1}^T \log p_\theta(x_{t-1}\mid x_t) \;+\; \sum_{t=1}^T \log q(x_t\mid x_{t-1}) \Bigr] }_{\text{논문 식 (3)의 우변}},

이/가 되고, 이를 단계별로 재배열하면 각 tt에 대한 KL 항이 합쳐진 꼴로 나타나게 됩니다. 이렇게 유도된 Variational Bound를 최소화하는 것이, 곧 logpθ(x0)-\log p_\theta(x_0)를 최소화(= logpθ(x0)\log p_\theta(x_0) 최대화)하는 것과 동일한 목표가 되며, DDPM에서 역방향 분포 pθ(xt1xt)p_\theta(x_{t-1}\mid x_t)를 학습하는 이론적 근거가 됩니다.

profile
생성 공부ing.. 피드백 주시면 언제나 확인하고 반영하겠습니다.

0개의 댓글