Nobisuke
Dekisugi
RAG
Privacy policy
2023/12/20 02:59
23年の年末は拡散モデルをさらに高速に実行できる一貫性モデルが流行っています。簡単にモデルを把握したいので、確認したいと思います。
まずは簡単に拡散モデルのおさらいをします。
Denoising Diffusion Probabilistic Models Jonathan Ho, Ajay Jain, Pieter Abbeel
拡散モデルは、あるノイズから少しずつノイズ除去して画像を復元するモデルとなっていて、初期のからへと状態を戻していきます。その戻し方はU-Netと呼ばれるニューラルネットワークを利用するのが一般的ですが、今回はさらにその拡散モデルを拡張した一貫性モデルを見てみたいと思います。
拡散モデルは、初期のノイズ状態が下記のガウス分布から始まり、
途中の過程は、
と定義づけられ、最終的な復元状態はこの過程を経て得られる。逆拡散過程と呼ばれるらしい。
式の通り、初期状態から順番に確率的に状態を決めながら画像を復元していくらしい。
この一般的に見られる拡散モデルの説明は見た感じ時間ステップで離散的なので、この時間の関数を連続に捉える、連続時間拡散モデルを導入するところからスタートし、理論を拡張するのが一貫性モデルという新しいモデルらしい。この新しいモデルを利用することで、最近の画像生成などで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より)
ウィキペディア
こちらの資料にて、フォッカープランク方程式への導出(?)をされていました。
https://speakerdeck.com/misawann/diffusion-model-part-3-dot-6-probability-flow-ode?slide=3
あと、この本にも同じようなことが書いてありました(上のスライドを見て気づきました)。。。
下記のような確率微分方程式を、
次のように書き換えられるようです。
フォッカー・プランク方程式(英: Fokker–Planck equation)とは、統計力学でクラマース・モヤル方程式(英語版)においてn ≥ 3 の項のない次の方程式のことをいう。(wikipediaより)
ウィキペディア
最終的には整理されて、
の形に。はスコア関数と呼ばれているようです。この式は確率フロー常微分方程式、Probability Flow ODEと呼ばれています。
スコア関数は、尤度関数の自然対数の勾配。(wikipediaより)
wikipedia
上記の式をさらに変形したいが、生成AIで利用されるはガウス分布に近いことから、 及び を代入し、スコア関数をとすると、
とかける。最終的なノイズの分布は、で初期化される。
PF ODEを解けば答えが出るので良いが、既存のソルバーや元の逆拡散過程を使って画像を復元するにはステップ数がかかってしまうので、論文では一貫性モデルと呼ばれるモデルを提案している。
上記の確率フローODEを解く際に、今回は一貫性関数という関数を仮定している。これは、あるに対して、
となるような関数を決める。この一貫性関数は自己整合性(self-consistency)を持っていて、ある一つのPF ODEの軌跡を取った場合、その軌跡上のどの(x_t,t)をとっても最終的に同じ答えに行き着くというものになっている。そのため、任意のポイントから必ず終状態であるに行き着くような関数となっている。有名(?)な模式図が下のようで、軌跡を選ぶと終点が決まる。
これによって、これまで拡散モデルのようにステップを順番に経て最終の絵が出力されるという状態から、1ステップで高速に絵を出力できるようになったのがLatent Consistency Modelとなっている。
そのうち学習などについても触れてみたいと思います。 以上
Copy
© 2024, blueqat Inc. All rights reserved