拡散モデルを1から理解する — ノイズを足して、引く
DDPM原論文(Ho et al., 2020)を本文だけを根拠に読む。ノイズを足す前向き過程と引く逆過程、なぜ目的関数が「ノイズを当てる」形に落ち着くのか、単純化した損失が尤度を悪化させながら品質を上げた理由、そしてステップ数と品質の関係。
Denoising Diffusion Probabilistic Models
一次資料 — この記事の根拠
論文の発表 2020-06-19→この解説の公開 2026-08-066年2か月後
Denoising Diffusion Probabilistic ModelsJonathan Ho, Ajay Jain, Pieter Abbeel · 2020-06-19 · v2arXiv:2006.11239論文ページ·PDF原文の要旨(Abstract)を読む
We present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models inspired by considerations from nonequilibrium thermodynamics. Our best results are obtained by training on a weighted variational bound designed according to a novel connection between diffusion probabilistic models and denoising score matching with Langevin dynamics, and our models naturally admit a progressive lossy decompression scheme that can be interpreted as a generalization of autoregressive decoding. On the unconditional CIFAR10 dataset, we obtain an Inception score of 9.46 and a state-of-the-art FID score of 3.17. On 256x256 LSUN, we obtain sample quality similar to ProgressiveGAN. Our implementation is available at https://github.com/hojonathanho/diffusion
ノイズを足す道を、逆にたどる
拡散モデルとは、有限時間でデータに一致するサンプルを作るために変分推論で学習された、パラメータ付きマルコフ連鎖です(§1)。この連鎖の遷移は「拡散過程」——データに少しずつノイズを加え、信号が壊れるまで進むマルコフ連鎖——を逆向きにたどるように学習されます。
ここに設計上の急所があります。論文いわく、拡散が少量のガウスノイズの積み重ねでできているなら、サンプリング側の遷移も条件付きガウスで足りる。これが「特に単純なニューラルネットのパラメータ化」を可能にした(§1)。壊し方を細かく刻めば、戻し方も単純な形で書ける、ということです。
前向き過程: 縮めて、足す
前向き過程は学習しません。分散スケジュール に従って固定されています(式2):
記号を日常語に置き換えると、 は「いま手元にある絵から、少しだけ汚れた次の絵を作る手順」、 は「釣鐘型のくじを引け」という指示で、セミコロンの後ろの2つはそのくじの中心と振れ幅です。言い換えると、1ステップごとに画像を 倍に縮めてから分散 のノイズを足す。絵をわずかに薄めて、その上に砂をまく——1ステップはそれだけです。縮めるのは、ノイズを足しても分散が膨らまないようにするためです(付録C)。
この過程には便利な性質があります。、 と置くと、任意の時刻 の状態が閉じた形で書ける(式4):
ここで は「 ステップ後に元の絵がどれだけ残っているか」を表す1つの数、 は「どれだけノイズに置き換わったか」です。日常語に直すと、この式は「くじの中心は元画像を 倍に薄めたもので、振れ幅はノイズに明け渡した分ちょうど」と言っています。つまり元画像から任意のステップ数まで一足飛びに飛べる。1000回ループを回す必要がないので、 をランダムに選んで学習できます(§2)。実験では 、 は から への線形増加。この値は にスケールしたデータに対して十分小さく、前向きと逆向きがほぼ同じ関数形になることを保ちつつ、終点 の信号対雑音比を可能な限り小さくするために選ばれています(§4)。
逆過程は、勾配を少し下る操作に似ている
逆過程は から始まる学習済みガウス遷移の連鎖です(式1)。学習は負の対数尤度の変分上界で行います(式3)。
ここで論文が指摘する対応関係が効いてきます。後述する 予測のパラメータ化を採ると、サンプリング手続き(Algorithm 2)はランジュバン動力学に似た形になり、 はデータ密度の学習された勾配として振る舞う(§3.2)。1ステップは「勾配に沿って少し動いて、ノイズを足す」に近い、ということです。
変分上界を、扱える形にほどく
変分上界は分散を減らすために書き換えられます(式5)。、各 、 の3種類の項に分かれ、 を定数に固定しているため は学習中の定数として無視できます(§3.1)。中間の項は、前向き過程の事後分布を で条件付けると扱える形になり(式6・7)、すべてのKLがガウス同士の比較になるので閉形式で計算できる(§2)。
そこから は「 と の二乗誤差」に落ちます(式8)。素直に読めば、ネットワークは事後分布の平均 を当てればよい。ここまでは自然な流れですが、論文はもう一段だけ書き換えます。
コメント
コメントにはログインが必要です