拡散モデルの先読み勾配ガイダンス
NeurIPS 2024 に採択された論文 “Gradient Guidance for Diffusion Models: An Optimization Perspective” (Guo et al. 2024) を読んでみたので紹介します。 拡散モデルにおいて Classifier Guidance / Classifier-free Guidance などを用いたガイダンス手法が広く用いられているなか、この論文はユーザーが定義した任意の目的関数 $f$ を最大化するようにガイダンスを行うための手法について検討しています。 この論文では単純な勾配 $\nabla f$ を用いた勾配法による最適化では生成物が崩壊してしまうことを示し、“Look-ahead Loss” という損失を定義し、生成されたデータによるスコア関数のファインチューニングを繰り返しながら最小化するようなガイダンス手法を提案しています。 1. 背景と課題 拡散モデルにおいて、拡散過程を $\mathrm{d}\mathbf{x} = f( t)\mathbf{x}\mathrm{d}t + g(t)\mathrm{d}\mathbf{w}$ と表す場合の逆拡散過程は次のような確率微分方程式(SDE)で表されます。 ($\mathrm{d}t$: 無限小ステップ, $\bar{\mathbf{w}}$: 時刻 $T \rightarrow 0$ まで逆向きにたどった際の標準ウィーナー過程) $$\mathrm{d}\mathbf{x} = [f(t)\mathbf{x}-g(t)^2\nabla_\mathbf{x}\log p_t(\mathbf{x})]\mathrm{d}t + g(t) \mathrm{d}\bar{\mathbf{w}}$$論文では拡散過程・逆拡散過程を以下のように表記しています。 $$\mathrm{d}{X}_t = -\frac12 q(t){X}_t\mathrm{d}t + \sqrt{q(t)}\mathrm{d}{W}_t\tag{1}$$ $$\mathrm{d}X_t^{\leftarrow} = \left[ \frac{1}{2}X_t^{\leftarrow} + \nabla \log p_{T-t}(X_t^{\leftarrow}) \right] \mathrm{d}t + \mathrm{d}\overline{W}_t \tag{2}$$ここで、ベイズの定理より条件付きスコアが以下のように展開できることを考えます。 ...