Skip to main content

DDPM Training Objective

DDPM の training objective は、variational lower bound から導出されます。ただし、実装上は noise prediction の simple loss として使われることが多いです。

Variational lower bound

DDPM は latent variable model として見ることができます。各 xtx_t は latent variable のように扱われ、negative log likelihood は variational bound によって最小化されます。

Loss は複数の term に分解されますが、重要なのは各時刻 tt で reverse transition を正しく学習することです。

Noise prediction

DDPM では、network が xtx_t と時刻 tt を受け取り、forward process で加えられた noise ϵ\epsilon を予測するように training されます。

ϵθ(xt,t)ϵ\epsilon_\theta(x_t, t) \approx \epsilon

実用上よく使われる simplified objective は次の形です。

Lsimple=Et,x0,ϵ[ϵϵθ(xt,t)2]\mathcal{L}_{\text{simple}} = \mathbb{E}_{t, x_0, \epsilon}\left[\|\epsilon - \epsilon_\theta(x_t, t)\|^2\right]

この simple loss は、denoising の問題として解釈できます。

Score matching との関係

Noise prediction は、noise-conditioned score network とも関係します。Score は log density の gradient です。

xlogpt(x)\nabla_x \log p_t(x)

Diffusion Model は、各 noise level における score を学習し、それを使って data distribution へ戻る direction を推定していると見ることができます。

関連ページ