# 拡散モデル
前がき
拡散モデルの勉強のメモとして残す。
教科書として『拡散モデル』 岡野原著を使用する。
目次
1.生成モデル
2.拡散モデル
3.連続時間化拡散モデル
4.拡散モデルの発展
5.アプリケーション
前提
$\bf{x} \in \bf{X}$,訓練データ $N個 D=\{\textbf{x}^{(1)},...,\textbf{x}^{(N)}\}$ が未知の確率分布$p(\bf{x})$から互いに独立にサンプリングされている($\textbf{x}^{(i)} \in \mathbb{R}^d$, $x_i \in \mathbb{R}$)。
生成モデル $q_{\theta}(\textbf{x})$という確率分布を持つ。この確率分布はパラメータ$\theta$で特徴付けられている。
1.1生成モデルとは?
生成モデルとは、対象ドメインのデータ生成できるモデルのことである。
生成モデルの学習の目標は、目標確率分布$p(\bf{x})$にできるだけ近い確率分布$q_{\theta}(\textbf{x})$を獲得することである。
近さを定義するには最適輸送距離やKLダイバージェンスがあり、この中ではKLダイバージェンスを用いることが多い。
1.2エネルギーベースモデル・分配関数
非負正規化確率密度関数$\gamma_\theta(\bf{x})>0$、正規化定数$Z(\theta)>0$(分配関数とも呼ばれる)を用いて生成モデルは
\displaylines{
q_{\theta}(\textbf{x})=\gamma_\theta(\bf{x})/Z(\theta) \\
Z(\theta)=\int_{\bf{x}^{'}\in \bf{X}}\gamma_\theta(\bf{x}^{'})d\bf{x^{'}}
}
で表すことができる。$Z(\theta)$は全てのデータ$\bf{x}^{'}\in \bf{X}$で積分した値であり、生成モデルが確率分布となるような役割がある。
この分配関数は取りうる全てのデータについて積分が必要であるため計算が困難である。