(潜在)一貫性モデル / (Latent) Consistency Models
23年の年末は拡散モデルをさらに高速に実行できる一貫性モデルが流行っています。簡単にモデルを把握したいので、確認したいと思います。
拡散モデル
まずは簡単に拡散モデルのおさらいをします。
Denoising Diffusion Probabilistic Models
Jonathan Ho, Ajay Jain, Pieter Abbeel
https://arxiv.org/abs/2006.11239
画像:https://arxiv.org/abs/2006.11239
拡散モデルは、あるノイズから少しずつノイズ除去して画像を復元するモデルとなっていて、初期の
拡散モデルは、初期のノイズ状態が下記のガウス分布から始まり、
途中の過程は、
と定義づけられ、最終的な復元状態はこの過程を経て得られる。逆拡散過程と呼ばれるらしい。
式の通り、初期状態から順番に確率的に状態を決めながら画像を復元していくらしい。
一貫性モデル
この一般的に見られる拡散モデルの説明は見た感じ時間ステップで離散的なので、この時間の関数を連続に捉える、連続時間拡散モデルを導入するところからスタートし、理論を拡張するのが一貫性モデルという新しいモデルらしい。この新しいモデルを利用することで、最近の画像生成などで1秒間にたくさんの画像を高速に出力できる理論のベースとなっている。
Consistency Models Yang Song, Prafulla
Dhariwal, Mark Chen, Ilya Sutskever
https://arxiv.org/abs/2303.01469
Score-Based Generative Modeling through Stochastic Differential Equations
Yang Song, Jascha Sohl-Dickstein, Diederik P. Kingma, Abhishek Kumar, Stefano Ermon, Ben Poole
https://arxiv.org/abs/2011.13456
連続時間拡散モデルと確率微分方程式
連続時間拡散モデルは、下記の確率微分方程式の形でかける。
確率微分方程式(かくりつびぶんほうていしき、英: Stochastic differential equation)とは、1つ以上の項が確率過程である微分方程式であって、その結果、解自身も確率過程となるものである。(wikipediaより)
ウィキペディア
ブラウン運動とウィーナー過程
上記の式は、ブラウン運動の数学的なモデルである、ウィーナー過程の形で書かれている。
ブラウン運動(ブラウンうんどう、英: Brownian motion)とは、液体や気体中に浮遊する微粒子(例:コロイド)が、不規則(ランダム)に運動する現象である。ウィーナー過程は離散型であるランダムウォークの極限となる確率過程。(wikipediaより)
ウィキペディア
下記の形で書かれるのが、
ドリフト項
ウィキペディア
フォッカー・プランク方程式と常微分方程式
この確率微分方程式(Stochastic Differential Equation / SDE)は常微分方程式の形に書き換えられる。
常微分方程式(じょうびぶんほうていしき、英: ordinary differential equation, O.D.E.)とは、数学において、未知関数とその導関数からなる等式で定義される方程式である微分方程式の一種で、未知関数が本質的にただ一つの変数を持つものである場合をいう。(wikipediaより)
ウィキペディア
こちらの資料にて、フォッカープランク方程式への導出(?)をされていました。
あと、この本にも同じようなことが書いてありました(上のスライドを見て気づきました)。。。
下記のような確率微分方程式を、
次のように書き換えられるようです。
フォッカー・プランク方程式(英: Fokker–Planck equation)とは、統計力学でクラマース・モヤル方程式(英語版)においてn ≥ 3 の項のない次の方程式のことをいう。(wikipediaより)
ウィキペディア
確率フロー常微分方程式
最終的には整理されて、
の形に。
スコア関数は、尤度関数の自然対数の勾配。(wikipediaより)
wikipedia
経験的確率フロー常微分方程式 (Empirical PF ODE)
上記の式をさらに変形したいが、生成AIで利用される
とかける。最終的なノイズの分布は、
PF ODEを解けば答えが出るので良いが、既存のソルバーや元の逆拡散過程を使って画像を復元するにはステップ数がかかってしまうので、論文では一貫性モデルと呼ばれるモデルを提案している。
一貫性モデル / Consistency Models
上記の確率フローODEを解く際に、今回は一貫性関数という関数を仮定している。これは、ある
となるような関数を決める。この一貫性関数は自己整合性(self-consistency)を持っていて、ある一つのPF ODEの軌跡を取った場合、その軌跡上のどの(x_t,t)をとっても最終的に同じ答えに行き着くというものになっている。そのため、任意のポイントから必ず終状態である
これによって、これまで拡散モデルのようにステップを順番に経て最終の絵が出力されるという状態から、1ステップで高速に絵を出力できるようになったのがLatent Consistency Modelとなっている。
そのうち学習などについても触れてみたいと思います。
以上