TL

スコアベース生成モデルとスコアマッチング

確率密度そのものを諦め、対数尤度の勾配だけを当てれば生成できる。スコアマッチングとLangevin動力学の原理から、拡散モデルと同じSDEへ行き着く道筋がつかめます。

応用スコアマッチング生成モデル拡散モデル確率微分方程式サンプリング最終更新: 2026-06-21
TL;DR要点だけ先に
  • 1.スコアとは対数密度の入力に関する勾配のこと。正規化定数が消えるので、扱いにくい確率密度を直接モデル化せずに済む。
  • 2.真のスコアは未知だが、デノイジングスコアマッチングを使えばノイズ除去の回帰問題に置き換えて学習できる。
  • 3.学習したスコアを使い、Langevin動力学でサンプリングする。連続時間に拡張するとSDEになり、拡散モデルと数学的に同値であることが示せる。

出発点:密度ではなく「勾配」をモデル化する

生成モデルの王道は、データ分布 p(x) を直接モデル化して最尤推定することです(損失関数の数理 で扱った発想)。ところが任意の関数 f_θ(x) を密度にするには、全空間で積分が1になるよう正規化定数 Z_θ で割る必要があり、この Z_θ が高次元で計算不能になります。これがエネルギーベースモデルの根本的な壁です。

スコアベースの発想は、この壁を回避します。密度そのものではなく、対数密度の勾配だけをモデル化するのです。これを スコア(score) と呼びます。

s(x) = ∇_x log p(x)

ここで決定的に重要なのは、p(x) = f_θ(x) / Z_θ の対数を取って x で微分すると、log Z_θx を含まない定数なので勾配が消えることです。

∇_x log p(x) = ∇_x log f_θ(x) − ∇_x log Z_θ = ∇_x log f_θ(x)

つまりスコアは正規化定数 Z_θ に一切依存しません。やっかいな積分を計算せずに、密度の「形(どちらが密度の高い方向か)」だけを学べる——これがスコアベース生成モデルの土台です。スコアは各点でデータが集まる方向を指すベクトル場だと捉えると直感的です。

スコアマッチング:未知のスコアをどう学ぶか

問題は、真のスコア ∇_x log p_data(x)未知なことです。データはサンプルとしてしか手元になく、密度の式は分かりません。素朴には、モデル s_θ(x) と真のスコアの二乗誤差を最小化したいところです。

J = E_{p_data}[ ‖ s_θ(x) − ∇_x log p_data(x) ‖² ]

しかし右辺の ∇_x log p_data(x) が分からないので、このままでは計算できません。ここに2つの解法があります。

手法考え方コスト実用性
陽なスコアマッチング部分積分で未知のスコア項を消し、s_θ のヤコビアンのトレースに帰着高次元でトレース計算が重い理論的だが大規模には不向き
デノイジングスコアマッチング(DSM)データにノイズを足し、そのノイズを取り除く方向を当てるノイズ除去の回帰のみ実用の主流。拡散モデルと直結

陽なスコアマッチングは、Hyvärinen による部分積分の技で Js_θ だけで書ける形に変換できますが、ヤコビアンのトレース tr(∇_x s_θ(x)) が必要で、画像のような高次元では計算が現実的でありません。

実務を支えるのは デノイジングスコアマッチング(denoising score matching, DSM) です。データ x に小さなガウスノイズを足して x̃ = x + σ·ε を作ると、ノイズ付き分布のスコアは解析的に書けます。具体的には、ノイズ付きサンプルから元へ戻る方向 −ε/σ(= (x − x̃)/σ²)が、ちょうどノイズ付き条件付き分布のスコアに一致します。これを目標にすると、目的関数はノイズ除去の回帰になります。

J_DSM = E_{x, ε}[ ‖ s_θ(x̃) − (x − x̃)/σ² ‖² ],  x̃ = x + σ·ε
なぜノイズを足すと学べるのか

真のデータは低次元の多様体の上に薄く分布しがちで、多様体を外れた場所ではサンプルが無く、スコアの推定が不安定になります。ノイズを足すと分布が空間全体に「にじみ」、どこでも勾配が定義され、推定が安定します。DSM は「未知のスコアを当てる」難問を、「足したノイズを当てる」易しい回帰へ等価変換した点が本質です。これは 拡散モデルの数理 のノイズ予測と数式上ほぼ同じものを別角度から導いたことになります。

Langevin動力学:スコアだけでサンプリングする

スコア s_θ(x) ≈ ∇_x log p(x) が手に入ったとして、そこから実際のサンプルをどう生むのか。答えが Langevin動力学(Langevin dynamics) です。適当な初期点から出発し、スコアの方向へ少し進めつつ、毎ステップ小さなガウスノイズを注入する反復を回します。

x_{k+1} = x_k + (η/2)·s_θ(x_k) + √η · z_k,   z_k ~ N(0, I)

η はステップ幅です。スコア項 s_θ は密度の高い方向へ点を引き寄せ、ノイズ項 √η·z は確率的な揺らぎを与えます。理論上、η を十分小さく、ステップ数を十分多くすると、この反復で得られる点列の分布は真の p(x) に収束します。決定的に勾配を登るだけ(ノイズ無し)だと最頻値(モード)の1点に潰れますが、ノイズ注入があるおかげで分布全体からサンプリングできるのが要点です。

単一ノイズでは失敗する:アニーリングが必須

小さい σ ひとつだけで学習・サンプリングすると、密度の低い領域でスコア推定が外れ、初期点がそこに落ちると正しい方向へ進めません。実用版(NCSN)は、大→小と段階的に減るノイズスケール {σ_1, …, σ_L} を用意し、大きいノイズで全体像をつかんでから徐々に小さいノイズへ移る アニーリングLangevin を使います。これが拡散モデルの多段階の巻き戻しと対応します。

連続時間への拡張:SDEと拡散モデルの同値性

ノイズスケールを離散的な {σ_1, …, σ_L} ではなく連続時間 t で考えると、データを徐々に壊す過程は 確率微分方程式(SDE) で書けます。前向き(データ→ノイズ)の一般形は次のとおりです。

dx = f(x, t)·dt + g(t)·dw

f はドリフト項、g は拡散係数、dw はウィーナー過程(ブラウン運動)です。この前向きSDEには、対応する 逆向きSDE(ノイズ→データ)が存在することが知られており、その式にはスコアがそのまま現れます

dx = [ f(x, t) − g(t)²·∇_x log p_t(x) ]·dt + g(t)·dw̄

つまり、各時刻のスコア ∇_x log p_t(x) さえ推定できれば、純粋なノイズから出発してこの逆向きSDEを数値的に解くことで生成ができます。スコアの学習はまさに時刻条件付きのデノイジングスコアマッチングであり、生成はSDEソルバによるサンプリングに帰着します。

拡散モデルとスコアモデルは同じものの二つの顔

拡散モデルの数理 で学ぶDDPMの「ノイズ予測 ε_θ」と、本稿の「スコア s_θ」は単なるスケール変換で結ばれます。具体的には、ノイズ付き分布のスコアは s_θ(x_t, t) = −ε_θ(x_t, t) / √(1−ᾱ_t) の関係にあり、ノイズを当てることとスコアを当てることは等価です。離散ステップのDDPMは、この連続SDEの特定の離散化(分散保存型, VP-SDE)に対応します。両者は別々に生まれましたが、SDEの枠組みで一つに統合されました。

さらにこのSDEには、同じ周辺分布 p_t(x) を持つ**決定的な常微分方程式(確率フローODE)**が対応します。ノイズ項を持たないこのODEを解けば、サンプリングが決定的になり、少ないステップで高速に生成でき、しかも対数尤度を厳密に計算できます。DDIMのような高速・決定的サンプラはこの視点から自然に導けます。

まとめ:正規化を捨てた先に生成がある

論点中身押さえどころ
スコアs(x) = ∇_x log p(x)正規化定数 Z が消える。密度の積分計算を回避できる
学習デノイジングスコアマッチング足したノイズを当てる回帰。ノイズ予測と等価
生成Langevin動力学 / 逆向きSDEスコア方向+ノイズ注入の反復。アニーリングが鍵
統合拡散モデル = スコアモデルVP-SDE の離散化がDDPM。ODE版で決定的高速化

スコアベース生成モデルの核心は、「扱えない確率密度そのものを諦め、勾配(スコア)だけを学ぶ」という割り切りです。正規化定数を捨てたことで学習可能になり、Langevin動力学でサンプリングでき、連続時間に拡張すれば拡散モデルと完全に同じ数学に到達します。生成モデル全体の地図の中でこの系統がどこに位置するかは 生成モデルの系統図 を、変分下界という別の生成原理との対比は VAE の数理 を合わせて読むと、現代の生成AIを貫く骨格が一本につながります。なお学習の最適化自体は通常の 勾配降下法 であり、新しいのは「何を目標に回帰するか」という設計だけです。

AI/機械学習 Article

スコアベース生成モデルとスコアマッチングを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

スコアマッチング

比較で見る軸

難易度: advanced / カテゴリ: AI/機械学習 / タグ数: 5

導入後に効く点

真のスコアは未知だが、デノイジングスコアマッチングを使えばノイズ除去の回帰問題に置き換えて学習できる。

先に潰すリスク

用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。

数字・仕様の読み方
難易度
advanced
カテゴリ
AI/機械学習
タグ数
5

判断チェックリスト

  • 自社の用途が「スコアマッチング / 生成モデル」に近いか確認する。
  • 強みである「スコアとは対数密度の入力に関する勾配のこと。正規化定数が消えるので、扱いにくい確率密度を直接モデル化せずに済む。」が本当に評価軸になるか確認する。
  • 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

スコアマッチング生成モデル拡散モデル確率微分方程式サンプリングスコアマッチング生成モデル拡散モデル
参考: 公式情報