Diffusion model 概要
2022/09/23 機械学習の社会実装勉強会第15回
岩澤 幸太朗
➢ Diffusion modelの概要と実例紹介
➢ 拡散過程の定義および逆拡散過程の定式化
➢ 逆拡散過程の学習
今回の内容
Diffusion Model
➢ 2020年ごろから急速に注目された生成モデル (初出は2015年)
○ 生成品質が高い
○ 多様なデータが生成できる(画像、音楽、条件づけ、自然言語)
○ 安定した学習
○ 生成に時間がかかるのが難点
“Diffusion Models Beat GANs on Image Synthesis” (Prafulla Dhariwal and Alex Nichol, NeurIPS 2021, arXiv: 2112.10741)
Textから画像生成: GLIDE
Text to image Image editing by text
“GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models” (Alex Nichol and et al., 2021, arXiv: 2112.10741)
➢ ノイズからデータへの変換を学習
○ GAN, VAE
➢ データからノイズへの変換の逆変換を学習
○ Diffusion model
他の生成モデルとの違い
❖ “Deep Unsupervised Learning using Nonequilibrium Thermodynamics” (Sohl-Dickstein and et al., 2015, arXiv: 1503.03585) : 初出
❖ “Denoising diffusion probabilistic models” (Ho and et al., 2020, NeurIPS, arXiv: 2006.11239): 多くの論文のベースライン
❖ “Understanding Diffusion Models: A Unified Perspective” (Calvin Luo, 2022, arXiv: 2208.11970) : 最近の解説
本スライドは以下の論文をベースに解説
GAN
Diffusion Model 概要
➢ 拡散過程に基づく生成モデル
○ 徐々に拡散する(ノイズが追加される)過程を考える
○ その逆過程を辿ることによりデータを生成する
○ 時刻0: 生成データ, 時刻T: 完全なノイズ
図は“Denoising diffusion probabilistic models” arXiv: 2006.11239より引用
{xi} (i = 1,2,...,T) , x0と同じ次元を持つ潜在変数
徐々にノイズを除去
ガウシアンノイズ
微弱なノイズを追加
生成データ
T >> 1
Δt << 1
逆拡散過程
拡散過程
繰り返すことで
ノイズをデータに変換
繰り返すことで
データをノイズに変換
拡散過程とその逆過程
図は“Denoising diffusion probabilistic models” arXiv: 2006.11239より引用
学習の過程
● 拡散過程を定義
○ データからノイズへの変換を定義
● 逆拡散過程を定式化
○ ノイズからデータへの変換を定式化
● 逆拡散過程の学習
○ 対数尤度の最大化
ガウシアンノイズ 微弱なノイズを追加
生成データ
拡散過程
拡散過程の定義
- 完全なデータ⇨完全なガウシアンノイズ に置きかわる過程
- 元のデータを 1−βt だけ小さくして、その分ノイズ √βt εに置き換える
- 任意の時刻tにおいて時刻 t のデータ は データ x0 とノイズの和
: 時刻tで残っているデータ信号の強度
以下のマルコフ過程を定義
q(x1:T) は{xi} (i = 1,2,...,T) となる同
時分布を持つ確率
ガウシアンノイズ
徐々にノイズを削除
生成データ
逆拡散過程
逆拡散過程の定式化
Jonathan Hoらの工夫
“Denoising diffusion probabilistic models” (Ho and et al., 2020,
NeurIPS, arXiv: 2006.11239):
データを生成するための逆方向の過程
→ β << 1 の時、逆過程もガウス分布となる
→ 平均と分散をモデルで推定する
→ 今のデータ xtとの差分 としての ϵθ(xt ,t)を学習(この時 ϵ はノイズそのものと見做せる)
拡散過程と逆拡散過程のまとめ
十分小さい変化量で徐々にガウス分布になる以下のような過程
の逆過程は同様にガウス分布となり、以下のようにモデル化できる
それぞれのステップの平均と分散を推定するモデルによって生成モデルを得る
次のステップ:対数尤度をθについて最大化する
逆拡散過程の学習
対数尤度 を最大化⇨下限を定式化
各時刻tにおける拡散過程qによってxt−1からxtへのノイズが加えられたデータ
逆拡散過程pによって xt から xt−1 に戻る確率が高くなるよう最適化
→逆拡散過程はノイズが加えられたデータからノイズを取り除くデノイジングを学習
データ x0の尤度は潜在変数を周辺化して求まる
最適化
(イェンセンの不等式: )
学習の過程 (再掲)
● 拡散過程を定義
○ データからノイズへの変換を定義
● 逆拡散過程を定式化
○ ノイズからデータへの変換を定式化
● 逆拡散過程の学習
○ 対数尤度の最大化
- “Deep Unsupervised Learning using Nonequilibrium Thermodynamics” (Sohl-Dickstein and et al., 2015, arXiv: 1503.03585)
- “Denoising diffusion probabilistic models” (Ho and et al., 2020, NeurIPS, arXiv: 2006.11239)
- “Understanding Diffusion Models: A Unified Perspective” (Calvin Luo, 2022, arXiv: 2208.11970)
- What are Diffusion Models?
- https://zenn.dev/nakky/articles/09fb1804001ff8
- 【論文解説】Diffusion Modelを理解する (-> ELBOの最適化についての計算を詳細に解説)
- https://data-analytics.fun/2022/02/03/understanding-diffusion-model
- 【Deep Learning研修(発展)】データ生成・変換のための機械学習 第7回前編「Diffusion models」
- https://www.youtube.com/watch?v=10ki2IS55Q4
参考資料

12. Diffusion Model の数学的基礎.pdf