Denoising Diffusion Probabilistic Models (DDPM)

DDPMの理論的背景

Denoising Diffusion Probabilistic Models (DDPM)は、近年注目を集めている確率的生成モデルの一種です。従来の生成モデル(GANやVAEなど)では、学習の不安定性やモード崩壊(特定モードの未カバー)といった課題が知られていました。DDPMは、前方拡散過程(データに徐々にノイズを加える過程)と逆拡散過程(ノイズからデータを徐々に復元する過程)を組み合わせることで、安定した学習と高品質なサンプル生成を実現しています。この手法は、Sohl-Dicksteinら(2015)により初めて提案され(拡散モデルの概念を非平衡熱力学から着想)、その後Song & Ermon(2019)やHoら(2020)によって飛躍的な性能向上が達成されました。DDPMは変分推論の枠組みに基づき、観測データの対数尤度を最大化(= 負の対数尤度を最小化)するよう訓練されます。具体的には、変分下界 (ELBO) と呼ばれる損失関数を最大化することでモデルを学習し、これにより従来のVAEと同様に確率的オートエンコーダの考え方で最適化が行われます。また後述するように、この手法はスコアマッチング(データ分布の勾配=スコア関数を推定する手法)とも深い関係があり、score-basedモデルと理論的に表裏一体の関係にあります。総じてDDPMは、GANのような敵対的訓練を必要とせず、データ分布全体をカバーする安定した生成モデルとして位置づけられ、高品質な画像や音声の生成で最先端の成果を上げています。

モデルの構造(拡散過程と逆拡散過程)

DDPMは前方(拡散)過程後方(逆拡散)過程の2つのMarkov連鎖から構成されます。前方過程では、データ点(例えば画像)にガウスノイズを少しずつ追加していき、最終的に純粋なガウスノイズに変換します。具体的には、データ分布からサンプルされた実データ$x_0$に対し、時刻$t=1$から$t=T$まで逐次ノイズを加えます。各ステップは以下のようなMarkov過程として定義されます:

  • 拡散過程(前方過程): $q(x_t \mid x_{t-1}) = \mathcal{N}!\Big(x_t; \sqrt{1-\beta_t},x_{t-1},,\beta_t \mathbf{I}\Big)$。ここで${\beta_t}{t=1}^T$はバリアンススケジュールと呼ばれるノイズの強さのパラメータです。この式は「一歩前の状態$x{t-1}$に対し、分散$\beta_t$のガウスノイズを加える」ことを意味します。$\beta_t$は小さい値から大きい値へ単調増加するよう定められ(例: $\beta_1=10^{-4}$から$\beta_T=0.02$まで線形増加)、ステップを大きく重ねると$x_T$はほぼ標準正規分布(白色ノイズ)に従うようになります。さらにガウス分布の性質上、前方過程を積み重ねた合成分布も解析的に求めることができ、例えば任意の$t$について初期データ$x_0$から直接$x_t$をサンプリングする公式も導出できます。
  • 逆拡散過程(後方過程): 前方過程とは逆向きに、ノイズを徐々に除去してデータを生成する過程です。開始時点では$x_T \sim \mathcal{N}(0, \mathbf{I})$(純粋なガウスノイズ)をサンプリングし、学習済みモデルを用いて$x_{T-1}, x_{T-2}, \ldots, x_0$と逐次復元していきます。各ステップは学習された条件付き確率$p_\theta(x_{t-1} \mid x_t)$で表され、DDPMではこれをガウス分布で近似します。つまり、$p_\theta(x_{t-1}|x_t) = \mathcal{N}!\Big(x_{t-1};,\mu_\theta(x_t, t),,\Sigma_\theta(x_t, t)\Big)$と仮定し、ニューラルネットワークによって平均$\mu_\theta$(および場合によっては分散$\Sigma_\theta$)を予測します。Hoらのオリジナル論文では、$\Sigma_\theta$(分散項)は解析的に得られる事後分布の分散$\tilde{\beta}t$に固定し(学習させず)、ニューラルネットワークは平均(より正確には後述するノイズ項)の予測に専念させています。この逆過程の各ステップはベイズの定理に基づく事後推定とみなすことができます。すなわち、前方過程$q(x_t|x{t-1})$が既知なので、真の事後分布$q(x_{t-1}|x_t,x_0)$($x_0$も与えた場合の解析解)はガウス分布として求まります。モデルはこの事後分布を近似するよう学習され、結果として$p_\theta(x_{t-1}|x_t)$が「与えられたノイズ画像$x_t$から一歩前のクリーンな画像$x_{t-1}$を復元する」条件付き確率となるのです。下図は、前方拡散と逆拡散の関係を模式的に示したものです。

前方拡散過程(青矢印)ではデータ$x_0$から徐々にノイズを加えて最終的に白色ノイズ$x_T$に至る。一方、逆拡散過程(赤矢印)は学習したモデル$p_\theta$によりノイズを除去し、ノイズからデータを生成する。

以上のように、DDPMでは前方過程$q(x_{0:T})$と後方過程$p_\theta(x_{0:T})$をそれぞれ定義します。前者はデータ分布からノイズへの既知の変換過程、後者はノイズからデータへの学習された生成過程です。十分大きなステップ数$T$と適切な$\beta_t$のスケジュールにより、前方過程の終点$x_T$はほぼ完全なランダムノイズとなり、逆過程はこのノイズから元のデータ分布に従うサンプルを生成することが目標となります。Sohl-Dicksteinら(2015)の理論結果によれば、各ステップのノイズ添加量$\beta_t$が極めて小さい場合、逆過程もガウス分布という前方と同形式の遷移になることが示されています。この性質により、逆過程をガウス分布でパラメトライズする現在のアプローチ(平均をニューラルネットで予測)は正当化されています。

学習アルゴリズム(損失関数とトレーニング手順)

DDPMの学習はデータの対数尤度を最大化すること、すなわち負の対数尤度(NLL)の最小化を目的としています。しかし直接的に尤度を最適化することは困難なため、変分推論の手法にならいELBO(Evidence Lower Bound)による近似的な目的関数を用います。DDPMでは前方過程$q$とモデル$p_\theta$を組み合わせて逐次的な潜在変数モデルとみなし、VAEと同様に変分下界を導出すると、損失関数は各時刻$t$での項$L_t$の和として表現できます。各$L_t$は主にモデルの$p_\theta(x_{t-1}|x_t)$と前方過程の事後分布$q(x_{t-1}|x_t,x_0)$との間のKLダイバージェンスとなり、多くの場合**二乗誤差(L2損失)**の形に書き換え可能です。

Hoら(2020)のオリジナル論文では、この損失をさらに単純化し、モデルに**「ノイズを直接予測させる」ように設定しました。具体的には、ニューラルネットワークが出力する平均$\mu_\theta$を「ノイズ項$\epsilon$」**を介して再パラメータ化します。前方過程において、ある時刻$t$のノイズ付きデータ$x_t$は元のデータ$x_0$とガウスノイズ$\epsilon$から次式で得られます:

xt=αˉt x0+1−αˉt ϵ,x_t = \sqrt{\bar{\alpha}_t}\,x_0 + \sqrt{1-\bar{\alpha}_t}\,\epsilon,

ここで$\bar{\alpha}t = \prod{s=1}^t (1-\beta_s)$です。この「ナイスな性質」により、$x_t$を求めるのに逐次的にシミュレーションしなくても直接サンプリングできるため、任意の$t$で$(x_0, \epsilon)$から$x_t$を生成できます。Hoらはこれを利用し、ネットワークに$\mu_\theta$の代わりにノイズ$\epsilon$自体を予測させるよう変換しました。その結果、各時刻の損失$L_t$は「真のノイズ$\epsilon$」と「ネットワークの予測したノイズ$\epsilon_\theta(x_t, t)$」との平均二乗誤差(MSE)になります。最終的なトレーニング目標は以下の形になります:

Lt=Ex0,ϵ[∥ϵ−ϵθ(xt,t)∥2],L_t = \mathbb{E}_{x_0,\epsilon}\Big[\|\epsilon – \epsilon_\theta(x_t, t)\|^2\Big],

つまり「ノイズ付きデータ$x_t$から元のノイズベクトル$\epsilon$を当てる」というノイズ予測タスクとして学習が定式化されます。この単純化により、損失関数における各タイムステップの重み付けを均一にすることができ、学習が安定化しサンプル品質も向上することが報告されています(実際には学習時に$L_t$を一様サンプリングして最適化します)。

トレーニング手順は以下のように実装されます:

  1. データサンプリング: 訓練データ分布からバッチでサンプル$\mathbf{x}_0$を取得する。
  2. 時刻サンプリング: ある範囲${1,\dots,T}$からノイズ付加ステップ$t$をランダムに選ぶ。
  3. ノイズサンプリング: 標準正規分布$\mathcal{N}(0,\mathbf{I})$からノイズ$\boldsymbol{\epsilon}$をサンプルする。
  4. ノイズ付加: 上記の「ナイスな性質」の公式を用い、$x_0$にノイズ$\boldsymbol{\epsilon}$を加えてノイズ混入データ$x_t$を生成する(式: $x_t = \sqrt{\bar{\alpha}_t},x_0 + \sqrt{1-\bar{\alpha}_t},\boldsymbol{\epsilon}$)。
  5. ノイズ予測: ノイズ混入データ$x_t$とタイムステップ$t$をニューラルネットワーク(パラメータ$\theta$)に入力し、予測ノイズ$\epsilon_\theta(x_t, t)$を得る。
  6. 損失計算: 真のノイズ$\boldsymbol{\epsilon}$とのMSE損失$|\boldsymbol{\epsilon} – \epsilon_\theta(x_t, t)|^2$を計算する。
  7. パラメータ更新: 損失の勾配を計算し、バックプロパゲーションによってネットワークのパラメータ$\theta$を更新する(勾配降下法)。

上記の手順をデータバッチごとに繰り返し、モデルが徐々にノイズ除去の能力を獲得するよう学習します。ポイントは、ランダムな$t$を選んで訓練することで、全タイムステップの損失期待値に対して効率的に最適化できる点です。またモデルは時刻条件付きで学習されるため、同一のネットワークが全ステップでパラメータを共有してノイズ除去を行います。このときネットワークがどの時刻(ノイズレベル)の入力を処理しているかを識別できるよう、タイムステップ$t$を**条件(コンテキスト)**として埋め込みベクトルに変換し、ネットワークに与える工夫がなされています(詳細は次節で説明します)。

以上のようにDDPMの学習は、変分下界に基づく逐次的な潜在変数モデルの最適化として理解できます。その結果得られるモデル$p_\theta(x_{t-1}|x_t)$は、前方過程の事後分布$q(x_{t-1}|x_t)$に近づくよう訓練されており、学習後は$x_T \sim \mathcal{N}(0,\mathbf{I})$から逐次サンプリングすることで新たなデータサンプル$x_0$を生成できるようになります。

なお、このノイズ予測学習は**(復元)スコアマッチングとも密接に関連しています。実際、各時刻$t$のノイズ付加データ分布に対するスコア(対数確率の勾配)をニューラルネットで近似し、そのスコアに従ってLangevinダイナミクスでサンプリングする手法がscore-basedモデルとして提案されており、Hoらの手法はその変分推論版と見ることもできます。この関係については「発展形」で改めて触れますが、Nichol & Dhariwal(2021)はDDPMとスコアベースモデルが本質的に同等の手法**であることを指摘しています。

実装概要(ネットワーク構造とフレームワーク)

DDPMにおけるニューラルネットワークは、入力と出力が同じ次元(例えば入力が$64\times64$画像なら出力も同サイズのノイズ推定)である必要があります。この制約の下、U-Netアーキテクチャがモデルとして広く採用されています。U-Netは元々医用画像セグメンテーションで提案されたエンコーダ・デコーダ型のネットワークで、途中にボトルネック層を持ちつつエンコーダとデコーダをスキップ接続で結ぶ構造が特徴です。エンコーダ(ダウンサンプラー)で入力画像を徐々に低解像度・高チャンネルの特徴量に圧縮し、デコーダ(アップサンプラー)で元の解像度に復元する過程で、各解像度レベルの特徴をスキップ接続で伝播させ統合することで、細部の情報高レベルな文脈を両立して再現できます。この仕組みにより勾配の流れも改善され、高品質な画像生成に寄与します。下図にU-Netの典型構造を示します。

U-Netの構造図(Ronnebergerら 2015)。左がエンコーダ(ダウンサンプル)、右がデコーダ(アップサンプル)で、中間にボトルネック層がある。灰色の矢印はスキップ接続を表し、エンコーダ側の特徴マップを対応するデコーダ側に連結して用いる。

DDPMではこのU-Netをベースに、残差ブロック(ResNet)や自己注意機構を組み込んだ改良も加えられています。例えばオリジナルの実装ではWide ResNetブロックを採用し、Group NormalizationやSiLU活性化関数と組み合わせる工夫をしています。また、各残差ブロックには**時間埋め込み(時間的位置エンコーディング)**から得た特徴ベクトルを加算し、時刻$t$の情報をネットワークに提供します。具体的には、時間ステップ$t$を正弦波に基づく埋め込みベクトル(例えば次元256程度)に変換し、それをネットワーク内部の各層に注入します。これによってモデルは「今どのノイズレベルを扱っているか」を認識でき、適切な出力(ノイズ予測)が可能となります。

実装に関しては、近年オープンソースのライブラリも整備されてきています。例えばHugging Faceの提供するdiffusersライブラリや、HoらのTensorFlow実装に基づいたPyTorch実装(Phil Wang氏のdenoising-diffusion-pytorchなど)が公開されており、比較的簡単にDDPMを利用・拡張できる環境が整っています。研究コミュニティでも、多数のオープンソース実装やチュートリアルが登場し、PyTorchベースでのDDPMトレーニング・サンプリング手順が広く共有されています。訓練には高性能なGPUが必要ですが、推論(サンプリング)はバッチサイズ1でも逐次的に行えるため、多少時間はかかるものの手元のGPUでも高画質なサンプル生成を試すことが可能です。

速度面の課題: DDPMの欠点として、**サンプリングにステップ数$T$(通常数百~千)**の反復が必要で遅い点が挙げられます。1ステップ当たりは比較的軽量な畳み込み計算ですが、例えば$T=1000$なら1000回のネットワーク推論が必要です。これに対し、後述する改良手法(DDIMなど)ではステップ数削減や高速化が図られています。また、高解像度画像生成ではピクセル空間でそのまま拡散を行うと計算負荷が大きいため、潜在拡散(後述)が提案されています。実装面でも、効率化のために16ビット精度訓練やマルチGPU並列など様々な工夫が取り入れられています。

応用事例(画像生成、音声合成、テキスト生成など)

DDPMおよび関連する拡散モデルは、様々な分野の生成タスクで驚くべき成果を上げています。主な応用例を以下に挙げます。

  • 画像生成: 拡散モデルは画像生成の分野で最も顕著な成功を収めています。無条件画像生成では、CIFAR-10やImageNetといったデータセットでGANを凌駕する画質を達成し、FIDやInception Scoreといった指標で新記録を樹立しました。また条件付き画像生成にも応用され、代表例としてOpenAIのDALL-E 2やGoogleのImagenではテキスト条件付きの高解像度画像生成に拡散モデルが使われています。特にStable Diffusion(Rombachら 2022)では、潜在拡散モデル(後述)とテキスト埋め込みのクロスアテンションを組み合わせることで、誰でも手軽にプロンプトから高品質な画像を生成できるモデルが実現されました。この他にも画像分野では、塗りつぶし(inpainting)や超解像画像から画像への変換(ノイズや欠損の除去など)に拡散モデルが応用され、いずれも最先端の性能を示しています。
  • 音声・音響合成: 拡散モデルは音声波形やオーディオの生成にも応用されています。代表的な例として、FacebookによるDiffWaveやGoogleによるWaveGradは、拡散モデルを用いてテキストから音声への波形生成(テキスト音声合成, TTS)を高品質に行いました。これらは従来のオートレグレッシブな音声生成(例: WaveNet)に匹敵する音質を達成しつつ、拡散モデル特有の安定した訓練により開発が容易となっています。また、拡散モデルはオーディオ効果の適用(ノイズ除去、音声のスタイル変換など)やBGM生成にも応用が模索されています。さらに、画像と音声を組み合わせたビデオから音響の生成(与えられたミュート動画に対応する音声を生成する、といったタスク)にも拡散モデルが応用されつつあり、マルチモーダルな生成の方向にも発展が期待されます。
  • テキスト生成: 自然言語の生成(文章生成)の分野でも、拡散モデルを適用しようとする研究が進んでいます。ただしテキストは離散データであるため直接扱うことが難しく、工夫が必要です。最近のアプローチでは、文章を連続ベクトル(例えば単語埋め込みの系列)にマッピングし、その空間で拡散過程を定義する方法がとられています。Diffusion-LMはその例で、連続拡散を用いた非自己回帰型の言語モデルにより、高い文法性を保ちながら文章の細粒度な属性制御(文体や構文の制約など)を実現しました。このような手法により、従来の自己回帰言語モデルでは困難だった高度な条件付きテキスト生成(例:「文体はシェイクスピア風、かつ感情はポジティブ」など)が可能になることが報告されています。テキスト分野での拡散モデルは現状研究段階ですが、将来的にはチャットボットの発話生成や物語のプロット生成などへの応用が期待できます。

以上のように、拡散モデルは画像・音声・テキストと幅広いドメインで応用可能であり、それぞれの領域で最先端の成果を上げています。特に画像生成においては研究の爆発的進展がみられ、2022年にはMidjourneyやStable Diffusionなど一般ユーザも利用できるサービスが登場し話題となりました。音声やテキストにおいても、拡散モデルが既存手法(GANやTransformer言語モデルなど)の長所を取り込みつつ弱点を補完する技術として注目されています。

発展形(DDIM、Score-Based Modelsなど)との関係と違い

DDPMの成功を受けて、高速化や拡張を目的とした様々な派生手法が提案されています。その中でも代表的なものが**DDIM(Denoising Diffusion Implicit Models)Score-Based Models(スコアベース生成モデル)**です。それぞれの特徴とDDPMとの違いを解説します。

  • DDIM(DDPMの暗黙的サンプラー): DDIMはサンプリング速度の高速化を狙った手法で、同じ訓練手法を維持しながら生成過程だけを改変しています。通常のDDPMではマルコフ連鎖に沿ってランダム性を伴う遷移を$T$ステップ繰り返しますが、DDIMでは非マルコフな(隣接ステップ間で相関のある)拡散過程を新たに定義し直します。驚くべきことに、この新しい過程でも元のDDPMと同一の訓練目的(損失関数)がそのまま適用でき、学習済みモデルを流用してサンプリングを行えます。DDIMによる生成過程は確定的(ランダムノイズを逐次足さない)であるため、ステップ数を大幅に減らしても画像品質があまり劣化しないという利点があります。実際、原著論文では10~50倍高速にサンプルを生成可能であることが示されています。DDIMはオーディナリ微分方程式(ODE)的な解釈も可能で、後に述べるscore-basedモデルの確率流(Probability Flow)ODE解法とも密接に関連します。要約すると、DDIMは「DDPMの学習済みモデルをそのまま使って、より少ないステップで高速に生成するテクニック」であり、実用上重要なブレイクスルーとなりました。
  • Score-Based Models(スコアベース生成モデル): こちらは拡散モデルとほぼ同時期にSong & Ermonらによって提案された手法で、視点を変えてデータ分布のスコア関数を直接学習するアプローチです。score-basedモデルでは、一連のノイズスケール${\sigma_i}$を設定し、データに様々な強さのガウスノイズを加えたサンプルを作ります。そして各ノイズレベルにおける**「ノイズ付きデータの確率密度の勾配」(=スコア)をニューラルネットで推定するよう学習します。この学習にはスコアマッチングと呼ばれる手法を用い、特に「復元的スコアマッチング(Denoising Score Matching)」によって実現します。学習後、生成段階ではLangevinダイナミクスという確率過程(ノイズを徐々に減らしながらデータをサンプルする手法)を用いて、推定したスコアに従いノイズを減衰させていくことでデータを生成します。言い換えれば、score-basedモデルは「様々なノイズレベルでのデータ分布$q(x_t)$を想定し、その確率流**(SDE)をシミュレーションしてデータ生成する」枠組みです。Songらの後続研究(2020-2021年)では、この手法が連続時間の確率微分方程式(SDE)の形式に拡張され、時間微分方程式を解くことでサンプルを得るアプローチ(Predictor-Corrector法など)が提案されました。このScore-Based SDEの枠組みにより、離散ステップのDDPMやscore-based(NCSN)手法が一つの統一的な理論で説明できることが示されています。実際、HoらのDDPMは変分法で学習したスコアベースモデルと見做すことができ、両者の目的関数は密接に関係しています。総じて、score-basedモデルと拡散モデルは本質的に同じコインの裏表といえる関係であり、前者は「スコア関数の直接学習」、後者(DDPM)は「逐次的潜在変数モデルとしての尤度最大化」というアプローチの違いこそあれ、得られる生成能力に大きな差はありません。ただし実装面では、score-basedモデルの方がマルチステップの最適化(逐次的ではない同時学習)のため学習安定性で若干難しさがあり、一方でDDPMは厳密な尤度評価(対数尤度の計算)が困難などの差異もあります。それでも現在では両者の手法は融合しつつあり、例えばNichol & Dhariwal(2021)の研究で両者が理論的に等価であることや、ハイブリッドな目的関数による性能向上が示されています。

この他にも、DDPMには様々な改良・発展があります。Improved DDPM(Nichol & Dhariwal, 2021)では、学習目標にオリジナルの変分ロス(ELBO項)と単純化ロス(ノイズMSE)を組み合わせるハイブリッド損失を導入し、生成サンプルの質をほとんど落とさずに対数尤度を大幅に向上できることが示されました。また尤度の直接最適化が勾配ノイズを増加させる問題を指摘し、重要度サンプリングによる緩和などのテクニックも提案されています。Classifier GuidanceClassifier-Free Guidanceといった手法も発展形の一つです。これは条件付き生成において生成画像をガイドする信号を導入する技術で、Dhariwal & Nichol (2021)はクラスラベルで訓練した分類器の勾配をサンプル生成に加えるClassifier GuidanceによってImageNet画像生成のFIDを劇的に改善し、「拡散モデルがGANを打ち負かす」ことを示しました。さらに後続で提案されたClassifier-Free Guidanceでは、条件情報を直接拡散モデルに織り込んで学習し、推論時に条件あり/なしの両出力を補間することでガイダンスをかける手法が登場し、現在のテキスト条件付き画像生成(例えばStable DiffusionやImagen)の高性能化に大きく寄与しています。

最後にLatent Diffusion Models(潜在拡散モデル)について言及します。これは高解像度画像生成のための実用的な改良で、Rombachら(2022)が提案しました。通常の拡散モデルはピクセル空間で直接ノイズ拡散を行うため高解像度では計算量が莫大になります。Latent Diffusionではまず事前学習済みのオートエンコーダで画像を低次元の潜在表現$z$に圧縮し、その潜在空間上で拡散モデルを訓練します。これにより計算効率が飛躍的に向上し、かつオートエンコーダの再構成能力によって詳細情報も保たれるため、画質をほとんど損なわずに高解像度画像の生成が可能となりました。さらにモデル内にクロスアテンション層を導入することでテキストやバウンディングボックスなど任意の条件を与えて生成できる柔軟性も獲得しています。Stable Diffusionはこの手法の代表例で、潜在拡散とテキスト条件を組み合わせることで、従来数百GPU日を要していたような高解像度生成モデルを一般ユーザでも扱える形で公開することに成功しました。潜在拡散モデルは今後、動画生成など更なる高次元データへの展開も期待されています。

以上、DDPMを中心に関連手法との関係・差異を述べました。DDIMは「同じモデルで高速サンプリング」、Score-Basedモデルは「スコア関数への別視点」、Latent Diffusionは「高解像度対応の効率化」とまとめることができます。これらの発展形により、拡散モデルの実用範囲は飛躍的に広がっており、現在も活発に研究が進められています。

関連論文紹介とリンク

最後に、DDPMおよび関連する重要な論文を年代順に紹介します。各論文のタイトルと簡単な内容、リンクを示します。

  1. Sohl-Dicksteinら (2015)“Deep Unsupervised Learning using Nonequilibrium Thermodynamics”(拡散確率モデルの原型となる研究)。データ分布に徐々にノイズを加える拡散過程と、それを元に戻す逆拡散過程を学習する発想を提案しました。非平衡熱力学に着想を得て「構造を徐々に破壊し、学習したプロセスで復元する」アイデアを示した先駆的論文です。
  2. Song & Ermon (2019)“Generative Modeling by Estimating Gradients of the Data Distribution”(NeurIPS 2019)。データ分布の勾配(スコア)を推定することでサンプリングするスコアベース生成モデル(別名NCSN)の手法を初めて示した論文です。複数のノイズレベルでの復元的スコアマッチングを用いてモデルを学習し、Langevinダイナミクスで画像を生成するという新しいアプローチを提案しました。
  3. Hoら (2020)“Denoising Diffusion Probabilistic Models”(NeurIPS 2020)。DDPMのオリジナル論文で、本レポートの中心テーマです。前方拡散・後方拡散の枠組みに変分推論を適用し、高品質な画像生成モデルを実現しました。特にU-Netによるノイズ予測ベータスケジュールの工夫により、当時最先端だったGANに匹敵する画像多様性と品質を達成した画期的な研究です。
  4. Song et al. (2020)“Score-Based Generative Modeling through Stochastic Differential Equations”(ICLR 2021 Oral)。スコアベースモデルを連続時間SDEの形式に拡張した論文です。データ分布からノイズ分布への連続的な変換をSDEで表現し、その逆過程としてSDEを解くことでサンプル生成します。逆SDEは時間依存のスコア関数にのみ依存し、ニューラルネットでそれを推定して数値解く手法を示しました。この枠組みで離散拡散モデルとスコアマッチングモデルを統合的に扱え、生成アルゴリズムの新たな展開(Predictor-Corrector法や確率流ODEによる高速サンプリングなど)を可能にしました。
  5. Nichol & Dhariwal (2021)“Improved Denoising Diffusion Probabilistic Models”(ICLR 2021)。DDPMの改良版を提案した論文で、いくつかの小さな修正によりモデルの対数尤度を大幅に向上し、サンプル品質を保ったままサンプリングを10倍高速にできることを示しました。具体的には逆拡散の分散項の再パラメータ化や、ELBO項とノイズ予測損失を組み合わせたハイブリッド損失、**新しいベータスケジュール(例えば余弦スケジュール)**の導入などによって、ImageNetなど多様なデータセットでも拡散モデルが高いlog-likelihoodと高品質サンプルを両立できることを示しています。
  6. Song et al. (2021)“Denoising Diffusion Implicit Models”(ICLR 2021)。先述のDDIMに関する論文です。DDPMと同一の訓練目標を維持しつつ、生成過程を非マルコフ的なものに再構成することで、高速サンプリングを実現しました。DDIMでは逆過程におけるランダム性を排除でき、モデルはわずか数十ステップで高品質画像を生成できます。この論文では、DDIMがDDPMの特殊ケースであり、異なるサンプリングプロセスでも同じ学習が適用できること、さらにサンプリング速度と生成品質のトレードオフ調整が可能であることが示されています。
  7. Rombach et al. (2022)“High-Resolution Image Synthesis with Latent Diffusion Models”(CVPR 2022)。いわゆる潜在拡散モデル(Stable Diffusionの基盤技術)に関する論文です。画像のピクセル空間ではなく、事前学習したオートエンコーダの潜在空間で拡散モデルを訓練し、高解像度画像生成を大幅に効率化しました。潜在空間での拡散により計算コストを削減しつつ、オートエンコーダによる適度な圧縮で詳細情報を保持できる点がポイントです。さらにクロスアテンション機構を導入し、テキストや構造情報など多様な条件付き生成を可能にしています。本手法により、画像インペインティングやセマンティック変換など様々なタスクで最先端の成果を出し、ピクセルベースの拡散モデルに比べて計算資源の要求を劇的に引き下げることに成功しました。

以上、DDPMおよび関連する重要論文を紹介しました。DDPMは確率的生成モデルの新たな柱として位置づけられ、これらの研究を通じて生成モデルの品質・安定性・効率の面で大きな進歩が遂げられました。それぞれの論文は本レポートで説明した内容の詳細や拡張を扱っていますので、興味のある方は是非リンク先も参照してください。今後も拡散モデルとその派生技術の発展から目が離せません。