Deep learning algorithm
機械学習 において 、 拡散モデル( 拡散ベースの生成モデル 、 スコアベースの生成モデル とも呼ばれる)は、 潜在変数 生成 モデルの一種である 。拡散モデルは、順方向拡散プロセスと逆サンプリングプロセスという2つの主要コンポーネントから構成される。拡散モデルの目的は、与えられたデータセットの 拡散プロセス を学習し、元のデータセットと同様に分布する新しい要素を生成できるようにすることである。拡散モデルは、拡散プロセスによって生成されたデータをモデル化し、新しいデータは すべての可能なデータの空間を ドリフトしながらランダムウォークを実行する。 [1] 訓練された拡散モデルは、さまざまな方法でサンプリングすることができ、効率や品質が異なる。
同等の形式論としては、 マルコフ連鎖 、ノイズ除去拡散確率モデル、ノイズ条件付きスコアネットワーク、確率微分方程式などが挙げられます。 [2]これらは通常、 変分推論 を用いて学習されます 。 [3]ノイズ除去を担うモデルは通常、「バックボーン」と呼ばれます。バックボーンの種類は問いませんが、通常は Uネット または トランスフォーマー です 。
2024年現在 [update] 、拡散モデルは主に コンピュータビジョンの タスクに利用されており、 画像ノイズ 除去、 インペインティング 、 超解像 、 画像生成、動画生成などが含まれます。これらのタスクでは、典型的には、 ガウスノイズ でぼやけた画像を ニューラルネットワークに逐次的にノイズ 除去 するように学習させます。 [1] [4] このモデルは、画像にノイズを追加するプロセスを逆にするように学習されます。収束するまで学習した後、ランダムノイズで構成された画像から始めて、ネットワークを反復的に適用することで画像生成に使用できます。
拡散ベースの画像生成器は、安定拡散 や DALL-E など、商業的に広く関心を集めています 。これらのモデルは通常、拡散モデルとテキストエンコーダやクロスアテンションモジュールなどの他のモデルを組み合わせることで、テキスト条件付き生成を可能にします。 [5]
コンピュータビジョン以外にも、拡散モデルは 自然言語処理 [6] 、例えば テキスト生成 [7] や 要約 [8] 、 音声生成 [9] 、強化学習 [10] [11] などにも応用されています。
ノイズ除去拡散モデル
非平衡熱力学 拡散モデルは、非常に複雑な確率分布からサンプリングできるモデルを訓練する方法として2015年に導入されました。このモデルでは、 非平衡熱力学 、特に 拡散の 手法が用いられました。 [12]
例えば、自然発生的な写真の分布をどのようにモデル化できるかを考えてみましょう。各画像はすべての画像空間における点であり、自然発生的な写真の分布は空間における「雲」です。画像にノイズを繰り返し加えることで、雲は画像空間の残りの部分に拡散し、最終的には ガウス分布 とほとんど区別がつかなくなります。この拡散を近似的に元に戻すモデルを用いて、元の分布からサンプルを採取することができます。これは「非平衡」熱力学で研究されています。これは、最終的な分布とは異なり、初期分布が平衡状態ではないためです。 N ( 0 , I ) {\displaystyle {\mathcal {N}}(0,I)}
平衡分布はガウス分布 で、確率密度関数 である 。これは、温度1における ポテンシャル井戸内の粒子の マクスウェル・ボルツマン分布 に等しい。初期の分布は平衡状態から大きく外れているため、平衡分布に向かって拡散し、純粋なランダム性( ブラウン運動 のような)とポテンシャル井戸の勾配降下法を合わせた、偏ったランダムステップを形成する。このランダム性は必要不可欠である。粒子が勾配降下法のみに従うと、すべての粒子が原点に落ち込み、分布が崩壊してしまうからである。 N ( 0 , I ) {\displaystyle {\mathcal {N}}(0,I)} ρ ( x ) ∝ e − 1 2 ‖ x ‖ 2 {\displaystyle \rho (x)\propto e^{-{\frac {1}{2}}\|x\|^{2}}} V ( x ) = 1 2 ‖ x ‖ 2 {\displaystyle V(x)={\frac {1}{2}}\|x\|^{2}}
ノイズ除去拡散確率モデル(DDPM) 2020年の論文では、 変分推論 によって従来の方法を改良したノイズ除去拡散確率モデル(DDPM)が提案されました。 [3] [13]
前方拡散 モデルを提示するには、何らかの表記が必要です。
β 1 , . . . , β T ∈ ( 0 , 1 ) {\displaystyle \beta _{1},...,\beta _{T}\in (0,1)} 固定定数です。 α t := 1 − β t {\displaystyle \alpha _{t}:=1-\beta _{t}} α ¯ t := α 1 ⋯ α t {\displaystyle {\bar {\alpha }}_{t}:=\alpha _{1}\cdots \alpha _{t}} σ t := 1 − α ¯ t {\displaystyle \sigma _{t}:={\sqrt {1-{\bar {\alpha }}_{t}}}} σ ~ t := σ t − 1 σ t β t {\displaystyle {\tilde {\sigma }}_{t}:={\frac {\sigma _{t-1}}{\sigma _{t}}}{\sqrt {\beta _{t}}}} μ ~ t ( x t , x 0 ) := α t ( 1 − α ¯ t − 1 ) x t + α ¯ t − 1 ( 1 − α t ) x 0 σ t 2 {\displaystyle {\tilde {\mu }}_{t}(x_{t},x_{0}):={\frac {{\sqrt {\alpha _{t}}}(1-{\bar {\alpha }}_{t-1})x_{t}+{\sqrt {{\bar {\alpha }}_{t-1}}}(1-\alpha _{t})x_{0}}{\sigma _{t}^{2}}}} N ( μ , Σ ) {\displaystyle {\mathcal {N}}(\mu ,\Sigma )} は平均、分散 の 正規分布であり 、 における確率密度です 。 μ {\displaystyle \mu } Σ {\displaystyle \Sigma } N ( x | μ , Σ ) {\displaystyle {\mathcal {N}}(x|\mu ,\Sigma )} x {\displaystyle x} 縦棒は 条件付け を示します。 順 方向拡散プロセスは 、 学習対象となる確率分布で ある開始点 から始まり、 から IID サンプル をで繰り返しノイズとして追加します 。係数 と は、 を仮定して となる ことを保証します 。 の値は 、の任意の開始分布に対して が に収束する ように選択されます 。 x 0 ∼ q {\displaystyle x_{0}\sim q} q {\displaystyle q} x t = 1 − β t x t − 1 + β t z t {\displaystyle x_{t}={\sqrt {1-\beta _{t}}}x_{t-1}+{\sqrt {\beta _{t}}}z_{t}} z 1 , . . . , z T {\displaystyle z_{1},...,z_{T}} N ( 0 , I ) {\displaystyle {\mathcal {N}}(0,I)} 1 − β t {\displaystyle {\sqrt {1-\beta _{t}}}} β t {\displaystyle {\sqrt {\beta _{t}}}} Var ( X t ) = I {\displaystyle {\mbox{Var}}(X_{t})=I} Var ( X 0 ) = I {\displaystyle {\mbox{Var}}(X_{0})=I} β t {\displaystyle \beta _{t}} x 0 {\displaystyle x_{0}} lim t x t | x 0 {\displaystyle \lim _{t}x_{t}|x_{0}} N ( 0 , I ) {\displaystyle {\mathcal {N}}(0,I)}
すると、拡散過程全体は またはを満たします。 ここで は正規化定数であり、しばしば省略されます。特に、は ガウス過程 であり 、これにより の 再パラメータ化 においてかなりの自由度が得られることに留意してください。例えば、ガウス過程を用いた標準的な操作では、となります。 特に、 が大きい場合 、変数 は に収束することに注目してください 。つまり、十分に長い拡散過程の後、 は に 非常に近くなり 、元の の痕跡はすべて 消え去ります。 q ( x 0 : T ) = q ( x 0 ) q ( x 1 | x 0 ) ⋯ q ( x T | x T − 1 ) = q ( x 0 ) N ( x 1 | α 1 x 0 , β 1 I ) ⋯ N ( x T | α T x T − 1 , β T I ) {\displaystyle q(x_{0:T})=q(x_{0})q(x_{1}|x_{0})\cdots q(x_{T}|x_{T-1})=q(x_{0}){\mathcal {N}}(x_{1}|{\sqrt {\alpha _{1}}}x_{0},\beta _{1}I)\cdots {\mathcal {N}}(x_{T}|{\sqrt {\alpha _{T}}}x_{T-1},\beta _{T}I)} ln q ( x 0 : T ) = ln q ( x 0 ) − ∑ t = 1 T 1 2 β t ‖ x t − 1 − β t x t − 1 ‖ 2 + C {\displaystyle \ln q(x_{0:T})=\ln q(x_{0})-\sum _{t=1}^{T}{\frac {1}{2\beta _{t}}}\|x_{t}-{\sqrt {1-\beta _{t}}}x_{t-1}\|^{2}+C} C {\displaystyle C} x 1 : T | x 0 {\displaystyle x_{1:T}|x_{0}} x t | x 0 ∼ N ( α ¯ t x 0 , σ t 2 I ) {\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)} x t − 1 | x t , x 0 ∼ N ( μ ~ t ( x t , x 0 ) , σ ~ t 2 I ) {\displaystyle x_{t-1}|x_{t},x_{0}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},x_{0}),{\tilde {\sigma }}_{t}^{2}I)} t {\displaystyle t} x t | x 0 ∼ N ( α ¯ t x 0 , σ t 2 I ) {\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)} N ( 0 , I ) {\displaystyle {\mathcal {N}}(0,I)} x T {\displaystyle x_{T}} N ( 0 , I ) {\displaystyle {\mathcal {N}}(0,I)} x 0 ∼ q {\displaystyle x_{0}\sim q}
たとえば、 すべての中間ステップを実行するのではなく、「1 つのステップで」直接 サンプリングできるためです 。 x t | x 0 ∼ N ( α ¯ t x 0 , σ t 2 I ) {\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)} x t | x 0 {\displaystyle x_{t}|x_{0}} x 1 , x 2 , . . . , x t − 1 {\displaystyle x_{1},x_{2},...,x_{t-1}}
再パラメータ化による導出 はガウス分布であり、は別のガウス分布であること が分かっています 。また、これらは独立であることも分かっています。したがって、再パラメータ化を行うことができます。 ここで、 はIIDガウス分布です。 x t − 1 | x 0 {\textstyle x_{t-1}|x_{0}} x t | x t − 1 {\textstyle x_{t}|x_{t-1}} x t − 1 = α ¯ t − 1 x 0 + 1 − α ¯ t − 1 z {\displaystyle x_{t-1}={\sqrt {{\bar {\alpha }}_{t-1}}}x_{0}+{\sqrt {1-{\bar {\alpha }}_{t-1}}}z} x t = α t x t − 1 + 1 − α t z ′ {\displaystyle x_{t}={\sqrt {\alpha _{t}}}x_{t-1}+{\sqrt {1-\alpha _{t}}}z'} z , z ′ {\textstyle z,z'}
5つの変数と2つの線形方程式があります 。乱数の2つの発生源は です 。IIDガウス分布は回転対称であるため、回転によって再パラメータ化できます。 x 0 , x t − 1 , x t , z , z ′ {\textstyle x_{0},x_{t-1},x_{t},z,z'} z , z ′ {\textstyle z,z'}
これらの方程式を代入すると、最初の再パラメータ化を解くことができます。 ここで は平均が 0 で分散が 1 のガウス分布です。 x t = α ¯ t x 0 + α t − α ¯ t z + 1 − α t z ′ ⏟ = σ t z ″ {\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\underbrace {{\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}z+{\sqrt {1-\alpha _{t}}}z'} _{=\sigma _{t}z''}} z ″ {\textstyle z''}
2番目を見つけるには、回転行列を完成させます。 [ z ″ z ‴ ] = [ α t − α ¯ t σ t β t σ t ? ? ] [ z z ′ ] {\displaystyle {\begin{bmatrix}z''\\z'''\end{bmatrix}}={\begin{bmatrix}{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}&{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}\\?&?\end{bmatrix}}{\begin{bmatrix}z\\z'\end{bmatrix}}}
回転行列はすべて の形をしているので 、行列は であることがわかります。 回転行列の逆行列はその転置行列なので、 [ cos θ sin θ − sin θ cos θ ] {\textstyle {\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{bmatrix}}} [ z ″ z ‴ ] = [ α t − α ¯ t σ t β t σ t − β t σ t α t − α ¯ t σ t ] [ z z ′ ] {\displaystyle {\begin{bmatrix}z''\\z'''\end{bmatrix}}={\begin{bmatrix}{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}&{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}\\-{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}&{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}\end{bmatrix}}{\begin{bmatrix}z\\z'\end{bmatrix}}} [ z z ′ ] = [ α t − α ¯ t σ t − β t σ t β t σ t α t − α ¯ t σ t ] [ z ″ z ‴ ] {\displaystyle {\begin{bmatrix}z\\z'\end{bmatrix}}={\begin{bmatrix}{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}&-{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}\\{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}&{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}\end{bmatrix}}{\begin{bmatrix}z''\\z'''\end{bmatrix}}}
元に戻って、シンプルにすることで、 x t = α ¯ t x 0 + σ t z ″ {\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}z''} x t − 1 = μ ~ t ( x t , x 0 ) − σ ~ t z ‴ {\displaystyle x_{t-1}={\tilde {\mu }}_{t}(x_{t},x_{0})-{\tilde {\sigma }}_{t}z'''}
後方拡散 DDPMの核となるアイデアは、 によってパラメータ化されたニューラルネットワークを用いることです 。このネットワークは2つの引数 を受け取り 、ベクトル と行列を出力します 。これにより、順方向拡散過程の各ステップは によって近似的に元に戻すことができます。これにより、 で定義される 逆方向拡散過程が得られます。 ここでの目標は、 が に可能な限り近くなるようなパラメータを学習することです 。そのためには、変分推論を用いた 最尤推定 を用います。 θ {\displaystyle \theta } x t , t {\displaystyle x_{t},t} μ θ ( x t , t ) {\displaystyle \mu _{\theta }(x_{t},t)} Σ θ ( x t , t ) {\displaystyle \Sigma _{\theta }(x_{t},t)} x t − 1 ∼ N ( μ θ ( x t , t ) , Σ θ ( x t , t ) ) {\displaystyle x_{t-1}\sim {\mathcal {N}}(\mu _{\theta }(x_{t},t),\Sigma _{\theta }(x_{t},t))} p θ {\displaystyle p_{\theta }} p θ ( x T ) = N ( x T | 0 , I ) {\displaystyle p_{\theta }(x_{T})={\mathcal {N}}(x_{T}|0,I)} p θ ( x t − 1 | x t ) = N ( x t − 1 | μ θ ( x t , t ) , Σ θ ( x t , t ) ) {\displaystyle p_{\theta }(x_{t-1}|x_{t})={\mathcal {N}}(x_{t-1}|\mu _{\theta }(x_{t},t),\Sigma _{\theta }(x_{t},t))} p θ ( x 0 ) {\displaystyle p_{\theta }(x_{0})} q ( x 0 ) {\displaystyle q(x_{0})}
変分推論 ELBO 不等式 は と表し 、さらに1つの期待値を取ると が得られます。 右辺の量を最大化することで、観測データの尤度の下限が得られることがわかります。これにより、変分推論を行うことができます。 ln p θ ( x 0 ) ≥ E x 1 : T ∼ q ( ⋅ | x 0 ) [ ln p θ ( x 0 : T ) − ln q ( x 1 : T | x 0 ) ] {\displaystyle \ln p_{\theta }(x_{0})\geq E_{x_{1:T}\sim q(\cdot |x_{0})}[\ln p_{\theta }(x_{0:T})-\ln q(x_{1:T}|x_{0})]} E x 0 ∼ q [ ln p θ ( x 0 ) ] ≥ E x 0 : T ∼ q [ ln p θ ( x 0 : T ) − ln q ( x 1 : T | x 0 ) ] {\displaystyle E_{x_{0}\sim q}[\ln p_{\theta }(x_{0})]\geq E_{x_{0:T}\sim q}[\ln p_{\theta }(x_{0:T})-\ln q(x_{1:T}|x_{0})]}
損失関数を定義し 、確率的勾配降下法によって損失を最小化することを目標とする。式は [14] のように簡略化できる。ここで 、はパラメータに依存しないため、無視できる。 また、もパラメータに依存しないため、項 も無視できる。これにより、最小化すべき項は、 のみと なる 。 L ( θ ) := − E x 0 : T ∼ q [ ln p θ ( x 0 : T ) − ln q ( x 1 : T | x 0 ) ] {\displaystyle L(\theta ):=-E_{x_{0:T}\sim q}[\ln p_{\theta }(x_{0:T})-\ln q(x_{1:T}|x_{0})]} L ( θ ) = ∑ t = 1 T E x t − 1 , x t ∼ q [ − ln p θ ( x t − 1 | x t ) ] + E x 0 ∼ q [ D K L ( q ( x T | x 0 ) ‖ p θ ( x T ) ) ] + C {\displaystyle L(\theta )=\sum _{t=1}^{T}E_{x_{t-1},x_{t}\sim q}[-\ln p_{\theta }(x_{t-1}|x_{t})]+E_{x_{0}\sim q}[D_{KL}(q(x_{T}|x_{0})\|p_{\theta }(x_{T}))]+C} C {\displaystyle C} p θ ( x T ) = N ( x T | 0 , I ) {\displaystyle p_{\theta }(x_{T})={\mathcal {N}}(x_{T}|0,I)} E x 0 ∼ q [ D K L ( q ( x T | x 0 ) ‖ p θ ( x T ) ) ] {\displaystyle E_{x_{0}\sim q}[D_{KL}(q(x_{T}|x_{0})\|p_{\theta }(x_{T}))]} L ( θ ) = ∑ t = 1 T L t {\displaystyle L(\theta )=\sum _{t=1}^{T}L_{t}} L t = E x t − 1 , x t ∼ q [ − ln p θ ( x t − 1 | x t ) ] {\displaystyle L_{t}=E_{x_{t-1},x_{t}\sim q}[-\ln p_{\theta }(x_{t-1}|x_{t})]}
騒音予測ネットワーク なので 、 を使うべきであることが示唆されます 。しかし、ネットワークは にアクセスできない ため、代わりに を推定する必要があります。さて、 なので 、 と書くことができます。 ここで は未知のガウスノイズです。ここで、 を推定することは を推定することと等価であることが わかります 。 x t − 1 | x t , x 0 ∼ N ( μ ~ t ( x t , x 0 ) , σ ~ t 2 I ) {\displaystyle x_{t-1}|x_{t},x_{0}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},x_{0}),{\tilde {\sigma }}_{t}^{2}I)} μ θ ( x t , t ) = μ ~ t ( x t , x 0 ) {\displaystyle \mu _{\theta }(x_{t},t)={\tilde {\mu }}_{t}(x_{t},x_{0})} x 0 {\displaystyle x_{0}} x t | x 0 ∼ N ( α ¯ t x 0 , σ t 2 I ) {\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)} x t = α ¯ t x 0 + σ t z {\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}z} z {\displaystyle z} x 0 {\displaystyle x_{0}} z {\displaystyle z}
したがって、ネットワークにノイズベクトル を出力させ 、 を予測させる。 残るは を設計することだ 。DDPMの論文では、 を学習するのではなく(「トレーニングが不安定になり、サンプル品質が低下する」ため)、 をある値 に固定することが提案されている。 この場合、どちらの場合も 同等のパフォーマンスが得られる。 ϵ θ ( x t , t ) {\displaystyle \epsilon _{\theta }(x_{t},t)} μ θ ( x t , t ) = μ ~ t ( x t , x t − σ t ϵ θ ( x t , t ) α ¯ t ) = x t − ϵ θ ( x t , t ) β t / σ t α t {\displaystyle \mu _{\theta }(x_{t},t)={\tilde {\mu }}_{t}\left(x_{t},{\frac {x_{t}-\sigma _{t}\epsilon _{\theta }(x_{t},t)}{\sqrt {{\bar {\alpha }}_{t}}}}\right)={\frac {x_{t}-\epsilon _{\theta }(x_{t},t)\beta _{t}/\sigma _{t}}{\sqrt {\alpha _{t}}}}} Σ θ ( x t , t ) {\displaystyle \Sigma _{\theta }(x_{t},t)} Σ θ ( x t , t ) = ζ t 2 I {\displaystyle \Sigma _{\theta }(x_{t},t)=\zeta _{t}^{2}I} ζ t 2 = β t or σ ~ t 2 {\displaystyle \zeta _{t}^{2}=\beta _{t}{\text{ or }}{\tilde {\sigma }}_{t}^{2}}
これにより、損失は次のように単純化され、 確率的勾配降下法によって最小化される可能性があります。この論文では、経験的に、さらに単純な損失関数を用いることで、 より優れたモデルが得られることが示されています。 L t = β t 2 2 α t σ t 2 ζ t 2 E x 0 ∼ q ; z ∼ N ( 0 , I ) [ ‖ ϵ θ ( x t , t ) − z ‖ 2 ] + C {\displaystyle L_{t}={\frac {\beta _{t}^{2}}{2\alpha _{t}\sigma _{t}^{2}\zeta _{t}^{2}}}E_{x_{0}\sim q;z\sim {\mathcal {N}}(0,I)}\left[\left\|\epsilon _{\theta }(x_{t},t)-z\right\|^{2}\right]+C} L s i m p l e , t = E x 0 ∼ q ; z ∼ N ( 0 , I ) [ ‖ ϵ θ ( x t , t ) − z ‖ 2 ] {\displaystyle L_{simple,t}=E_{x_{0}\sim q;z\sim {\mathcal {N}}(0,I)}\left[\left\|\epsilon _{\theta }(x_{t},t)-z\right\|^{2}\right]}
逆拡散プロセス ノイズ予測ネットワークをトレーニングした後、次のようにループで元の分布のデータ ポイントを生成するために使用できます。
ノイズ推定値を計算する ϵ ← ϵ θ ( x t , t ) {\displaystyle \epsilon \leftarrow \epsilon _{\theta }(x_{t},t)} 元のデータの推定値を計算する x ~ 0 ← ( x t − σ t ϵ ) / α ¯ t {\displaystyle {\tilde {x}}_{0}\leftarrow (x_{t}-\sigma _{t}\epsilon )/{\sqrt {{\bar {\alpha }}_{t}}}} 以前のデータのサンプル x t − 1 ∼ N ( μ ~ t ( x t , x ~ 0 ) , σ ~ t 2 I ) {\displaystyle x_{t-1}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),{\tilde {\sigma }}_{t}^{2}I)} 時間を変更する t ← t − 1 {\displaystyle t\leftarrow t-1}
スコアベースの生成モデル スコアベースの生成モデルは、拡散モデリングの別の定式化である。ノイズ条件付きスコアネットワーク(NCSN)またはランジュバンダイナミクスを用いたスコアマッチング(SMLD)とも呼ばれる。 [15] [16] [17] [18]
スコアマッチング
スコア関数の考え方 画像生成の問題を考えてみましょう。 を画像とし、 を すべての画像における確率分布とします。 がそれ 自身であれば、ある画像がどの程度の確率で存在するかを確実に知ることができます。しかし、これは一般には扱いにくい問題です。 x {\displaystyle x} q ( x ) {\displaystyle q(x)} q ( x ) {\displaystyle q(x)}
多くの場合、私たちは特定の画像の絶対的な確率を知ることに興味はありません。むしろ、特定の画像が隣接する画像と比較してどの程度の確率で出現するかを知りたいだけなのです。例えば、猫の画像は、その小さなバリエーションと比較してどの程度の確率で出現するのでしょうか?画像にひげが2本、3本、あるいはガウスノイズが追加されている方が確率は高くなるのでしょうか?
その結果、私たちは実際には それ自体にはほとんど興味がなく、むしろ…です 。これには2つの大きな効果があります。 q ( x ) {\displaystyle q(x)} ∇ x ln q ( x ) {\displaystyle \nabla _{x}\ln q(x)}
1 つ目は、 を正規化する必要がなくなり 、任意の ( は私たちにとって重要でない任意の未知の定数)を使用できるようになり ます 。 q ( x ) {\displaystyle q(x)} q ~ ( x ) = C q ( x ) {\displaystyle {\tilde {q}}(x)=Cq(x)} C = ∫ q ~ ( x ) d x > 0 {\displaystyle C=\int {\tilde {q}}(x)dx>0} 2つ目は、近隣のもの を比べることです 。 q ( x ) {\displaystyle q(x)} q ( x + d x ) {\displaystyle q(x+dx)} q ( x ) q ( x + d x ) = e − ⟨ ∇ x ln q , d x ⟩ {\displaystyle {\frac {q(x)}{q(x+dx)}}=e^{-\langle \nabla _{x}\ln q,dx\rangle }} スコア関数 を とし 、 で何ができるかを考えてみましょう 。 s ( x ) := ∇ x ln q ( x ) {\displaystyle s(x):=\nabla _{x}\ln q(x)} s ( x ) {\displaystyle s(x)}
結局のところ、熱力学を用いて からサンプルを採取することができます 。具体的には、ポテンシャルエネルギー関数 と、ポテンシャル井戸内に多数の粒子がある場合、熱力学的平衡における分布は ボルツマン分布 となります。温度 では 、ボルツマン分布は とまったく同じです 。 s ( x ) {\displaystyle s(x)} q ( x ) {\displaystyle q(x)} U ( x ) = − ln q ( x ) {\displaystyle U(x)=-\ln q(x)} q U ( x ) ∝ e − U ( x ) / k B T = q ( x ) 1 / k B T {\displaystyle q_{U}(x)\propto e^{-U(x)/k_{B}T}=q(x)^{1/k_{B}T}} k B T = 1 {\displaystyle k_{B}T=1} q ( x ) {\displaystyle q(x)}
したがって、 をモデル化するには 、任意の都合の良い分布(例えば標準的なガウス分布)でサンプリングされた粒子から始め、 ランジュバン方程式 とボルツマン分布に従って粒子の前方への運動をシミュレートします。ボルツマン分布は、 フォッカー・プランク方程式によれば、唯一の熱力学的平衡 です。したがって、 がどのような分布 であっても、 の分布はの とき に分布 に収束します 。 q ( x ) {\displaystyle q(x)} d x t = − ∇ x t U ( x t ) d t + d W t {\displaystyle dx_{t}=-\nabla _{x_{t}}U(x_{t})dt+dW_{t}} x 0 {\displaystyle x_{0}} x t {\displaystyle x_{t}} q {\displaystyle q} t → ∞ {\displaystyle t\to \infty }
スコア関数の学習 密度が与えられた場合 、スコア関数の近似値を学習したいとします 。これが スコアマッチングです 。 [19]一般的に、スコアマッチングは フィッシャーダイバージェンス 関数を 最小化するものとして定式化されます 。積分を展開し、部分積分を行うことで、 ヒュヴァリネンスコアリングルール としても知られる損失関数が得られます 。これは確率的勾配降下法によって最小化できます。 q {\displaystyle q} f θ ≈ ∇ ln q {\displaystyle f_{\theta }\approx \nabla \ln q} E q [ ‖ f θ ( x ) − ∇ ln q ( x ) ‖ 2 ] {\displaystyle E_{q}[\|f_{\theta }(x)-\nabla \ln q(x)\|^{2}]} E q [ ‖ f θ ( x ) − ∇ ln q ( x ) ‖ 2 ] = E q [ ‖ f θ ‖ 2 + 2 ∇ ⋅ f θ ] + C {\displaystyle E_{q}[\|f_{\theta }(x)-\nabla \ln q(x)\|^{2}]=E_{q}[\|f_{\theta }\|^{2}+2\nabla \cdot f_{\theta }]+C}
スコア関数のアニーリング 画像の分布をモデル化する必要があり、 ホワイト ノイズ画像 が必要だとします。ほとんどのホワイト ノイズ画像は実際の画像のようには見えないため、 の大きな領域ではと なります。これにより、スコア関数の学習で問題が発生します。特定の点の周囲にサンプルがない場合、その点のスコア関数を学習できないためです。 その点のスコア関数がわからないと、時間発展方程式を粒子に適用できません。この問題に対処するには、 アニーリング を 実行します 。 がホワイト ノイズ分布と大きく異なる場合は、ホワイト ノイズ分布と区別がつかなくなるまで徐々にノイズを追加します。つまり、順方向拡散を実行し、スコア関数を学習し、最後にスコア関数を使用して逆方向拡散を実行します。 x 0 ∼ N ( 0 , I ) {\displaystyle x_{0}\sim {\mathcal {N}}(0,I)} q ( x 0 ) ≈ 0 {\displaystyle q(x_{0})\approx 0} x 0 ∼ N ( 0 , I ) {\displaystyle x_{0}\sim {\mathcal {N}}(0,I)} ∇ x t ln q ( x t ) {\displaystyle \nabla _{x_{t}}\ln q(x_{t})} d x t = ∇ x t ln q ( x t ) d t + d W t {\displaystyle dx_{t}=\nabla _{x_{t}}\ln q(x_{t})dt+dW_{t}} q {\displaystyle q}
連続拡散プロセス
前方拡散プロセス 再び順方向拡散過程を考えてみましょう。ただし、今回は連続時間です。極限 を取ることで、 確率微分方程式 の形式で連続拡散過程が得られます 。 ここで、 は ウィーナー過程 (多次元ブラウン運動)です 。 x t = 1 − β t x t − 1 + β t z t {\displaystyle x_{t}={\sqrt {1-\beta _{t}}}x_{t-1}+{\sqrt {\beta _{t}}}z_{t}} β t → β ( t ) d t , d t z t → d W t {\displaystyle \beta _{t}\to \beta (t)dt,{\sqrt {dt}}z_{t}\to dW_{t}} d x t = − 1 2 β ( t ) x t d t + β ( t ) d W t {\displaystyle dx_{t}=-{\frac {1}{2}}\beta (t)x_{t}dt+{\sqrt {\beta (t)}}dW_{t}} W t {\displaystyle W_{t}}
さて、この式は、拡散テンソル、 温度、ポテンシャルエネルギー 場である 過減衰ランジュバン方程式 の特殊ケースそのものです 。を に代入すると 、上記の式が再現されます。これが、拡散モデルにおいて「ランジュバン力学」という用語が使われることがある理由です。 d x t = − D k B T ( ∇ x U ) d t + 2 D d W t {\displaystyle dx_{t}=-{\frac {D}{k_{B}T}}(\nabla _{x}U)dt+{\sqrt {2D}}dW_{t}} D {\displaystyle D} T {\displaystyle T} U {\displaystyle U} D = 1 2 β ( t ) I , k B T = 1 , U = 1 2 ‖ x ‖ 2 {\displaystyle D={\frac {1}{2}}\beta (t)I,k_{B}T=1,U={\frac {1}{2}}\|x\|^{2}}
さて、上記の式は単一粒子の確率運動を表しています。時刻 において に従って分布する粒子群があるとします。 その後、長い時間が経つと、粒子群は の安定分布に落ち着きます 。 時刻 における粒子群の密度を とすると 、 となります。 目標は、何らかの方法でこのプロセスを逆転させ、端から開始して最初に拡散させることです。 q {\displaystyle q} t = 0 {\displaystyle t=0} N ( 0 , I ) {\displaystyle {\mathcal {N}}(0,I)} ρ t {\displaystyle \rho _{t}} t {\displaystyle t} ρ 0 = q ; ρ T ≈ N ( 0 , I ) {\displaystyle \rho _{0}=q;\quad \rho _{T}\approx {\mathcal {N}}(0,I)}
フォッカー・プランク方程式 によれば 、雲の密度は に従って変化する。 ここで は空間の次元であり、は ラプラス演算子 である 。同様に、 ∂ t ln ρ t = 1 2 β ( t ) ( n + ( x + ∇ ln ρ t ) ⋅ ∇ ln ρ t + Δ ln ρ t ) {\displaystyle \partial _{t}\ln \rho _{t}={\frac {1}{2}}\beta (t)\left(n+(x+\nabla \ln \rho _{t})\cdot \nabla \ln \rho _{t}+\Delta \ln \rho _{t}\right)} n {\displaystyle n} Δ {\displaystyle \Delta } ∂ t ρ t = 1 2 β ( t ) ( ∇ ⋅ ( x ρ t ) + Δ ρ t ) {\displaystyle \partial _{t}\rho _{t}={\frac {1}{2}}\beta (t)(\nabla \cdot (x\rho _{t})+\Delta \rho _{t})}
逆拡散プロセス 時間 について 解けば 、雲の進化を正確に逆算することができます。密度 の別の粒子雲から始めて 、雲内の粒子が に従って進化するとします。 ρ t {\displaystyle \rho _{t}} t ∈ [ 0 , T ] {\displaystyle t\in [0,T]} ν 0 = ρ T {\displaystyle \nu _{0}=\rho _{T}}
d y t = 1 2 β ( T − t ) y t d t + β ( T − t ) ∇ y t ln ρ T − t ( y t ) ⏟ score function d t + β ( T − t ) d W t {\displaystyle dy_{t}={\frac {1}{2}}\beta (T-t)y_{t}dt+\beta (T-t)\underbrace {\nabla _{y_{t}}\ln \rho _{T-t}\left(y_{t}\right)} _{\text{score function }}dt+{\sqrt {\beta (T-t)}}dW_{t}}
これをフォッカー・プランク方程式に代入すると、 となる 。したがって、この点群は元の点群を逆方向に進化させたものである。 [20] ∂ t ρ T − t = ∂ t ν t {\displaystyle \partial _{t}\rho _{T-t}=\partial _{t}\nu _{t}}
ノイズ条件付きスコアネットワーク(NCSN) 連続極限では となり、 特に
、連続拡散過程の任意の点から、まず をサンプリングし 、次に を得る ことで、中間段階を経ることなく直接サンプリングできることがわかります。つまり、 任意の について 迅速にサンプリングできるということです 。 α ¯ t = ( 1 − β 1 ) ⋯ ( 1 − β t ) = e ∑ i ln ( 1 − β i ) → e − ∫ 0 t β ( t ) d t {\displaystyle {\bar {\alpha }}_{t}=(1-\beta _{1})\cdots (1-\beta _{t})=e^{\sum _{i}\ln(1-\beta _{i})}\to e^{-\int _{0}^{t}\beta (t)dt}} x t | x 0 ∼ N ( e − 1 2 ∫ 0 t β ( t ) d t x 0 , ( 1 − e − ∫ 0 t β ( t ) d t ) I ) {\displaystyle x_{t}|x_{0}\sim N\left(e^{-{\frac {1}{2}}\int _{0}^{t}\beta (t)dt}x_{0},\left(1-e^{-\int _{0}^{t}\beta (t)dt}\right)I\right)} x 0 ∼ q , z ∼ N ( 0 , I ) {\displaystyle x_{0}\sim q,z\sim {\mathcal {N}}(0,I)} x t = e − 1 2 ∫ 0 t β ( t ) d t x 0 + ( 1 − e − ∫ 0 t β ( t ) d t ) z {\displaystyle x_{t}=e^{-{\frac {1}{2}}\int _{0}^{t}\beta (t)dt}x_{0}+\left(1-e^{-\int _{0}^{t}\beta (t)dt}\right)z} x t ∼ ρ t {\displaystyle x_{t}\sim \rho _{t}} t ≥ 0 {\displaystyle t\geq 0}
ここで、上の 特定の確率分布を定義すると 、スコアマッチング損失関数は期待されるフィッシャーダイバージェンスとして定義されます。 をトレーニングした後、となるので、最初に をサンプリングし、次に から までの SDE を積分すること で、後方拡散プロセスを実行できます 。
これは、 オイラー–丸山法 などの任意の SDE 積分法で実行できます 。 γ {\displaystyle \gamma } [ 0 , ∞ ) {\displaystyle [0,\infty )} L ( θ ) = E t ∼ γ , x t ∼ ρ t [ ‖ f θ ( x t , t ) ‖ 2 + 2 ∇ ⋅ f θ ( x t , t ) ] {\displaystyle L(\theta )=E_{t\sim \gamma ,x_{t}\sim \rho _{t}}[\|f_{\theta }(x_{t},t)\|^{2}+2\nabla \cdot f_{\theta }(x_{t},t)]} f θ ( x t , t ) ≈ ∇ ln ρ t {\displaystyle f_{\theta }(x_{t},t)\approx \nabla \ln \rho _{t}} x T ∼ N ( 0 , I ) {\displaystyle x_{T}\sim {\mathcal {N}}(0,I)} t = T {\displaystyle t=T} t = 0 {\displaystyle t=0} x t − d t = x t + 1 2 β ( t ) x t d t + β ( t ) f θ ( x t , t ) d t + β ( t ) d W t {\displaystyle x_{t-dt}=x_{t}+{\frac {1}{2}}\beta (t)x_{t}dt+\beta (t)f_{\theta }(x_{t},t)dt+{\sqrt {\beta (t)}}dW_{t}}
「ノイズ条件付きスコア ネットワーク」という名前は次のように説明されます。
「ネットワーク」 はニューラルネットワークとして実装されているためです。 f θ {\displaystyle f_{\theta }} ネットワークの出力はスコア関数を近似するものとして解釈されるため、「スコア」となります 。 ∇ ln ρ t {\displaystyle \nabla \ln \rho _{t}} 「ノイズ条件付き」というのは、時間の経過とともに増加するガウスノイズを追加してぼかしたものに 等しいため 、スコア関数は追加されるノイズの量に依存するからです。 ρ t {\displaystyle \rho _{t}} ρ 0 {\displaystyle \rho _{0}}
それらの同等性 DDPMとスコアベースの生成モデルは同等である。 [16] [1] [21] これは、DDPMを使用して学習されたネットワークはNCSNとして使用でき、その逆も同様であることを意味する。
が分かっているので、 Tweedieの公式 より 、次の式が得られます
。 前述のように、DDPM損失関数は、 の式 で
表されます 。変数の変更により、 の項は最小二乗回帰となり、ネットワークが実際に損失の大域的最小値に到達した場合、次の式が得られます。 x t | x 0 ∼ N ( α ¯ t x 0 , σ t 2 I ) {\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)} ∇ x t ln q ( x t ) = 1 σ t 2 ( − x t + α ¯ t E q [ x 0 | x t ] ) {\displaystyle \nabla _{x_{t}}\ln q(x_{t})={\frac {1}{\sigma _{t}^{2}}}(-x_{t}+{\sqrt {{\bar {\alpha }}_{t}}}E_{q}[x_{0}|x_{t}])} ∑ t L s i m p l e , t {\displaystyle \sum _{t}L_{simple,t}} L s i m p l e , t = E x 0 ∼ q ; z ∼ N ( 0 , I ) [ ‖ ϵ θ ( x t , t ) − z ‖ 2 ] {\displaystyle L_{simple,t}=E_{x_{0}\sim q;z\sim {\mathcal {N}}(0,I)}\left[\left\|\epsilon _{\theta }(x_{t},t)-z\right\|^{2}\right]} x t = α ¯ t x 0 + σ t z {\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}z} L s i m p l e , t = E x 0 , x t ∼ q [ ‖ ϵ θ ( x t , t ) − x t − α ¯ t x 0 σ t ‖ 2 ] = E x t ∼ q , x 0 ∼ q ( ⋅ | x t ) [ ‖ ϵ θ ( x t , t ) − x t − α ¯ t x 0 σ t ‖ 2 ] {\displaystyle L_{simple,t}=E_{x_{0},x_{t}\sim q}\left[\left\|\epsilon _{\theta }(x_{t},t)-{\frac {x_{t}-{\sqrt {{\bar {\alpha }}_{t}}}x_{0}}{\sigma _{t}}}\right\|^{2}\right]=E_{x_{t}\sim q,x_{0}\sim q(\cdot |x_{t})}\left[\left\|\epsilon _{\theta }(x_{t},t)-{\frac {x_{t}-{\sqrt {{\bar {\alpha }}_{t}}}x_{0}}{\sigma _{t}}}\right\|^{2}\right]} ϵ θ ( x t , t ) = x t − α ¯ t E q [ x 0 | x t ] σ t = − σ t ∇ x t ln q ( x t ) {\displaystyle \epsilon _{\theta }(x_{t},t)={\frac {x_{t}-{\sqrt {{\bar {\alpha }}_{t}}}E_{q}[x_{0}|x_{t}]}{\sigma _{t}}}=-\sigma _{t}\nabla _{x_{t}}\ln q(x_{t})}
したがって、優れたスコアベースのネットワークが与えられれば、その予測スコアは( によるスケーリング後)ノイズの優れた予測となり 、ノイズ除去に使用できます。 σ t {\displaystyle \sigma _{t}}
逆に、後方方程式の 連続極限は、 スコアベースの拡散とまったく同じ方程式を与えます。 したがって、DDPM の微小ステップで、ノイズ除去ネットワークはスコアベースの拡散を実行します。 x t − 1 = x t − d t , β t = β ( t ) d t , z t d t = d W t {\displaystyle x_{t-1}=x_{t-dt},\beta _{t}=\beta (t)dt,z_{t}{\sqrt {dt}}=dW_{t}} x t − 1 = x t α t − β t σ t α t ϵ θ ( x t , t ) + β t z t ; z t ∼ N ( 0 , I ) {\displaystyle x_{t-1}={\frac {x_{t}}{\sqrt {\alpha _{t}}}}-{\frac {\beta _{t}}{\sigma _{t}{\sqrt {\alpha _{t}}}}}\epsilon _{\theta }(x_{t},t)+{\sqrt {\beta _{t}}}z_{t};\quad z_{t}\sim {\mathcal {N}}(0,I)} x t − d t = x t ( 1 + β ( t ) d t / 2 ) + β ( t ) ∇ x t ln q ( x t ) d t + β ( t ) d W t {\displaystyle x_{t-dt}=x_{t}(1+\beta (t)dt/2)+\beta (t)\nabla _{x_{t}}\ln q(x_{t})dt+{\sqrt {\beta (t)}}dW_{t}}
主な変種
騒音スケジュール 線形拡散ノイズスケジュールの図解。設定付き 。 β 1 = 10 − 4 , β 1000 = 0.02 {\displaystyle \beta _{1}=10^{-4},\beta _{1000}=0.02} DDPMでは、数列は(離散時間) ノイズスケジュール と呼ばれます 。一般に、 シグモイド関数 のような、 型の単調増加関数を考えてみましょう 。この場合、ノイズスケジュールは実数列です 。そして、ノイズ列を定義し 、そこから他の量を導出します 。 0 = σ 0 < σ 1 < ⋯ < σ T < 1 {\displaystyle 0=\sigma _{0}<\sigma _{1}<\cdots <\sigma _{T}<1} σ {\displaystyle \sigma } R → ( 0 , 1 ) {\displaystyle \mathbb {R} \to (0,1)} λ 1 < λ 2 < ⋯ < λ T {\displaystyle \lambda _{1}<\lambda _{2}<\cdots <\lambda _{T}} σ t := σ ( λ t ) {\displaystyle \sigma _{t}:=\sigma (\lambda _{t})} β t = 1 − 1 − σ t 2 1 − σ t − 1 2 {\displaystyle \beta _{t}=1-{\frac {1-\sigma _{t}^{2}}{1-\sigma _{t-1}^{2}}}}
任意のノイズ スケジュールを使用するには、ノイズ予測モデルをトレーニングする代わりに 、 をトレーニングします 。 ϵ θ ( x t , t ) {\displaystyle \epsilon _{\theta }(x_{t},t)} ϵ θ ( x t , σ t ) {\displaystyle \epsilon _{\theta }(x_{t},\sigma _{t})}
同様に、ノイズ条件付きスコア ネットワークの場合、 をトレーニングする代わりに 、 をトレーニングします 。 f θ ( x t , t ) {\displaystyle f_{\theta }(x_{t},t)} f θ ( x t , σ t ) {\displaystyle f_{\theta }(x_{t},\sigma _{t})}
ノイズ除去拡散暗黙的モデル (DDIM) 画像生成のための従来のDDPM法は、順方向拡散プロセスで の分布を ガウス分布に近づけるのに通常 かかるため、処理速度が遅くなります。しかし、これは逆方向拡散プロセスにも1000ステップかかることを意味します。 は すべての に対してガウス分布であるためステップを省略できる順方向拡散プロセスとは異なり 、逆方向拡散プロセスではステップを省略できません。例えば、 をサンプリングするには、 まず をサンプリングする必要があります 。直接サンプリングしようとすると を周辺化する必要がありますが 、これは一般的に扱いが困難です。 T ∼ 1000 {\displaystyle T\sim 1000} x T {\displaystyle x_{T}} x t | x 0 {\displaystyle x_{t}|x_{0}} t ≥ 1 {\displaystyle t\geq 1} x t − 2 | x t − 1 ∼ N ( μ θ ( x t − 1 , t − 1 ) , Σ θ ( x t − 1 , t − 1 ) ) {\displaystyle x_{t-2}|x_{t-1}\sim {\mathcal {N}}(\mu _{\theta }(x_{t-1},t-1),\Sigma _{\theta }(x_{t-1},t-1))} x t − 1 {\displaystyle x_{t-1}} x t − 2 | x t {\displaystyle x_{t-2}|x_{t}} x t − 1 {\displaystyle x_{t-1}}
DDIM [22] は、DDPM損失で学習した任意のモデルを、いくつかのステップをスキップしてサンプリングする手法であり、調整可能な量の品質を犠牲にする。DDPMから非マルコフ連鎖の場合にマルコフ連鎖を生成すると、DDIMは逆過程の分散が0となる場合に対応する。言い換えれば、逆過程(および順過程)は決定論的である。サンプリングステップ数が少ない場合、DDIMはDDPMよりも優れた性能を示す。
詳細には、DDIMサンプリング法は以下のとおりです。まず、順方向拡散プロセスから始めます 。次に、逆方向ノイズ除去プロセス中に、 が与えられた場合 、元のデータは と推定されます。その後、 逆方向拡散プロセスは任意のステップ にジャンプでき 、次のノイズ除去サンプルは となります。 ここで 、 は範囲内の任意の実数 、 は 新たにサンプリングされたガウスノイズです。 [14] すべてが の場合 、逆方向プロセスは決定論的になり、DDIMのこの特殊なケースは「DDIM」とも呼ばれます。元の論文では、プロセスが決定論的である場合、わずか20ステップで生成されたサンプルは、高レベルでは1000ステップで生成されたサンプルと非常によく似ていると指摘されています。 x t = α ¯ t x 0 + σ t ϵ {\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}\epsilon } x t , ϵ θ ( x t , t ) {\displaystyle x_{t},\epsilon _{\theta }(x_{t},t)} x 0 ′ = x t − σ t ϵ θ ( x t , t ) α ¯ t {\displaystyle x_{0}'={\frac {x_{t}-\sigma _{t}\epsilon _{\theta }(x_{t},t)}{\sqrt {{\bar {\alpha }}_{t}}}}} 0 ≤ s < t {\displaystyle 0\leq s<t} x s = α ¯ s x 0 ′ + σ s 2 − ( σ s ′ ) 2 ϵ θ ( x t , t ) + σ s ′ ϵ {\displaystyle x_{s}={\sqrt {{\bar {\alpha }}_{s}}}x_{0}'+{\sqrt {\sigma _{s}^{2}-(\sigma '_{s})^{2}}}\epsilon _{\theta }(x_{t},t)+\sigma _{s}'\epsilon } σ s ′ {\displaystyle \sigma _{s}'} [ 0 , σ s ] {\displaystyle [0,\sigma _{s}]} ϵ ∼ N ( 0 , I ) {\displaystyle \epsilon \sim {\mathcal {N}}(0,I)} σ s ′ = 0 {\displaystyle \sigma _{s}'=0}
元の論文では、 となる 単一の「イータ値」 を定義することが推奨されていました 。 の場合 、これは元のDDPMです。 の場合 、これは完全に決定論的なDDIMです。中間値については、プロセスはそれらの値の間を補間します。 η ∈ [ 0 , 1 ] {\displaystyle \eta \in [0,1]} σ s ′ = η σ ~ s {\displaystyle \sigma _{s}'=\eta {\tilde {\sigma }}_{s}} η = 1 {\displaystyle \eta =1} η = 0 {\displaystyle \eta =0}
同様に、DDIM アルゴリズムはスコアベースの拡散モデルにも適用されます。
潜在拡散モデル(LDM) 拡散モデルは確率分布をモデル化する一般的な手法であるため、画像上の分布をモデル化したい場合、まず画像をエンコーダーによって低次元空間にエンコードし、次に拡散モデルを用いてエンコードされた画像上の分布をモデル化することができる。そして、画像を生成するには、拡散モデルからサンプルを取得し、デコーダーを用いてそれを画像にデコードする。 [23]
エンコーダーとデコーダーのペアは、ほとんどの場合、 変分オートエンコーダー (VAE) です。
アーキテクチャの改善 [24] は様々なアーキテクチャ上の改良を提案した。例えば、彼らは後方サンプリングにおける対数空間補間を提案した。彼らは、 学習済みパラメータ に対して、 からサンプリングする代わりに 、 からサンプリングすることを推奨した 。 x t − 1 ∼ N ( μ ~ t ( x t , x ~ 0 ) , σ ~ t 2 I ) {\displaystyle x_{t-1}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),{\tilde {\sigma }}_{t}^{2}I)} N ( μ ~ t ( x t , x ~ 0 ) , ( σ t v σ ~ t 1 − v ) 2 I ) {\displaystyle {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),(\sigma _{t}^{v}{\tilde {\sigma }}_{t}^{1-v})^{2}I)} v {\displaystyle v}
v予測 形式においては 、ノイズ計算式は角度 と「速度」 によって定義される 角度 によって再パラメータ化される 。ネットワークは速度 を予測するように訓練され 、ノイズ除去は によって行われる 。 [25] このパラメータ化は性能を向上させることがわかった。これは、モデルを総ノイズ(すなわち )に到達させてからそれを反転するように訓練することができるからである。一方、標準的なパラメータ化では が 常に真であるため、総ノイズに到達することはない。 [26] x t = α ¯ t x 0 + 1 − α ¯ t ϵ t {\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+{\sqrt {1-{\bar {\alpha }}_{t}}}\epsilon _{t}} ϕ t {\displaystyle \phi _{t}} cos ϕ t = α ¯ t {\displaystyle \cos \phi _{t}={\sqrt {{\bar {\alpha }}_{t}}}} cos ϕ t ϵ t − sin ϕ t x 0 {\displaystyle \cos \phi _{t}\epsilon _{t}-\sin \phi _{t}x_{0}} v ^ θ {\displaystyle {\hat {v}}_{\theta }} x ϕ t − δ = cos ( δ ) x ϕ t − sin ( δ ) v ^ θ ( x ϕ t ) {\displaystyle x_{\phi _{t}-\delta }=\cos(\delta )\;x_{\phi _{t}}-\sin(\delta ){\hat {v}}_{\theta }\;(x_{\phi _{t}})} ϕ t = 90 ∘ {\displaystyle \phi _{t}=90^{\circ }} α ¯ t > 0 {\displaystyle {\sqrt {{\bar {\alpha }}_{t}}}>0}
分類器ガイダンス 分類器ガイダンスは、分類器を用いてクラス条件付き画像生成を改善するために2021年に提案されました。最初の出版物では、 CLIPテキストエンコーダ を用いてテキスト条件付き画像生成を改善しました。 [27]
画像全体の分布からではなく、画像の説明に基づいて条件付きでサンプリングしたいとします。一般的な画像ではなく、「赤い目の黒い猫」という説明に当てはまる画像をサンプリングしたいとします。一般的には、分布 からサンプリングしたいと考えます 。ここで、 は 画像全体、 は 画像のクラス全体にわたります(「赤い目の黒い猫」という説明は非常に詳細なクラスであり、「猫」というクラスは非常に漠然とした説明です)。 p ( x | y ) {\displaystyle p(x|y)} x {\displaystyle x} y {\displaystyle y}
ノイズチャネルモデル の観点から見ると 、このプロセスは次のように理解できます。 記述 を条件として画像を生成するには 、リクエスト元が実際には画像 を念頭に置いていたものの 、その画像がノイズチャネルを通過した結果、 のように文字化けした形で出力されたと仮定します 。つまり、画像生成とは、リクエスト元がどの画像を念頭に置いていたかを推測することなのです 。 x {\displaystyle x} y {\displaystyle y} x {\displaystyle x} y {\displaystyle y} x {\displaystyle x}
言い換えれば、条件付き画像生成とは、単に「テキスト言語を画像言語に変換する」ことです。そして、ノイズチャネルモデルと同様に、ベイズの定理を用いて、言い換えれば 、すべての画像空間の優れたモデルと、優れた画像クラス変換があれば、クラス画像変換を「無料で」得ることができるのです。後方拡散の式において、スコアは次の ように置き換えることができます
。 ここで 、スコア関数は前述のように学習され、 微分可能な画像分類器を用いて求められます。 p ( x | y ) ∝ p ( y | x ) p ( x ) {\displaystyle p(x|y)\propto p(y|x)p(x)} ∇ ln p ( x ) {\displaystyle \nabla \ln p(x)} ∇ x ln p ( x | y ) = ∇ x ln p ( x ) ⏟ score + ∇ x ln p ( y | x ) ⏟ classifier guidance {\displaystyle \nabla _{x}\ln p(x|y)=\underbrace {\nabla _{x}\ln p(x)} _{\text{score}}+\underbrace {\nabla _{x}\ln p(y|x)} _{\text{classifier guidance}}} ∇ x ln p ( x ) {\displaystyle \nabla _{x}\ln p(x)} ∇ x ln p ( y | x ) {\displaystyle \nabla _{x}\ln p(y|x)}
拡散プロセス中は、時間を条件として を与える必要があります が、通常、分類器モデルは時間に依存しないため、 となります 。 ∇ x t ln p ( x t | y , t ) = ∇ x t ln p ( y | x t , t ) + ∇ x t ln p ( x t | t ) {\displaystyle \nabla _{x_{t}}\ln p(x_{t}|y,t)=\nabla _{x_{t}}\ln p(y|x_{t},t)+\nabla _{x_{t}}\ln p(x_{t}|t)} p ( y | x t , t ) = p ( y | x t ) {\displaystyle p(y|x_{t},t)=p(y|x_{t})}
分類器ガイダンスはスコア関数の勾配に対して定義され、したがってスコアベース拡散ネットワークに対しても定義されますが、前述のように、スコアベース拡散モデルは 、 によるノイズ除去モデルと同等であり、同様に です 。したがって、分類器ガイダンスは、修正されたノイズ予測を用いることで、ノイズ除去拡散にも適用できます。 [27] ϵ θ ( x t , t ) = − σ t ∇ x t ln p ( x t | t ) {\displaystyle \epsilon _{\theta }(x_{t},t)=-\sigma _{t}\nabla _{x_{t}}\ln p(x_{t}|t)} ϵ θ ( x t , y , t ) = − σ t ∇ x t ln p ( x t | y , t ) {\displaystyle \epsilon _{\theta }(x_{t},y,t)=-\sigma _{t}\nabla _{x_{t}}\ln p(x_{t}|y,t)} ϵ θ ( x t , y , t ) = ϵ θ ( x t , t ) − σ t ∇ x t ln p ( y | x t , t ) ⏟ classifier guidance {\displaystyle \epsilon _{\theta }(x_{t},y,t)=\epsilon _{\theta }(x_{t},t)-\underbrace {\sigma _{t}\nabla _{x_{t}}\ln p(y|x_{t},t)} _{\text{classifier guidance}}}
温度とともに 分類器誘導拡散モデルは、 最大事後推定値 の 周囲に集中する からサンプリングを行います 。モデルを 最大尤度推定値 に近づけたい場合は、 を使用することができます
。 ここで、 は 温度の逆数 として解釈できます 。拡散モデルの文脈では、これは通常、 ガイダンススケール と呼ばれます。 が高いと、 モデルは の周囲に集中する分布からサンプリングを行うように強制されます 。これにより、生成される画像の品質が向上する場合があります。 [27] p ( x | y ) {\displaystyle p(x|y)} arg max x p ( x | y ) {\displaystyle \arg \max _{x}p(x|y)} arg max x p ( y | x ) {\displaystyle \arg \max _{x}p(y|x)} p γ ( x | y ) ∝ p ( y | x ) γ p ( x ) {\displaystyle p_{\gamma }(x|y)\propto p(y|x)^{\gamma }p(x)} γ > 0 {\displaystyle \gamma >0} γ {\displaystyle \gamma } arg max x p ( y | x ) {\displaystyle \arg \max _{x}p(y|x)}
これは前の式を修正したものである。 ノイズ除去モデルの場合、これは [28]に相当する。 ∇ x ln p β ( x | y ) = ∇ x ln p ( x ) + γ ∇ x ln p ( y | x ) {\displaystyle \nabla _{x}\ln p_{\beta }(x|y)=\nabla _{x}\ln p(x)+\gamma \nabla _{x}\ln p(y|x)} ϵ θ ( x t , y , t ) = ϵ θ ( x t , t ) − γ σ t ∇ x t ln p ( y | x t , t ) {\displaystyle \epsilon _{\theta }(x_{t},y,t)=\epsilon _{\theta }(x_{t},t)-\gamma \sigma _{t}\nabla _{x_{t}}\ln p(y|x_{t},t)}
分類器フリーガイダンス(CFG) 分類器がない場合でも 、画像モデル自体から分類器を抽出することは可能です。 [28] このようなモデルは通常、との両方を提示することでトレーニングされ 、 との 両方をモデル化できるようになります 。 p ( y | x ) {\displaystyle p(y|x)} ∇ x ln p γ ( x | y ) = ( 1 − γ ) ∇ x ln p ( x ) + γ ∇ x ln p ( x | y ) {\displaystyle \nabla _{x}\ln p_{\gamma }(x|y)=(1-\gamma )\nabla _{x}\ln p(x)+\gamma \nabla _{x}\ln p(x|y)} ( x , y ) {\displaystyle (x,y)} ( x , N o n e ) {\displaystyle (x,{\rm {None}})} ∇ x ln p ( x | y ) {\displaystyle \nabla _{x}\ln p(x|y)} ∇ x ln p ( x ) {\displaystyle \nabla _{x}\ln p(x)}
CFGの場合、拡散モデルは単にデータ分布全体の生成モデルであってはならないことに注意してください 。条件付き生成モデルである必要があります。例えば、安定拡散では、拡散バックボーンはノイズモデル 、時間 、および条件付けベクトル(テキストプロンプトをエンコードしたベクトルなど) を入力として受け取り 、ノイズ予測を生成します 。 ∇ x ln p ( x ) {\displaystyle \nabla _{x}\ln p(x)} ∇ x ln p ( x | y ) {\displaystyle \nabla _{x}\ln p(x|y)} x t {\displaystyle x_{t}} t {\displaystyle t} y {\displaystyle y} ϵ θ ( x t , y , t ) {\displaystyle \epsilon _{\theta }(x_{t},y,t)}
ノイズ除去モデルの場合、これは に相当する 。DDIMでサンプリングされた の場合、アルゴリズムは次のように記述できる [29]。 同様の手法は言語モデルのサンプリングにも適用できる。また、無条件生成 を に置き換える と、否定的なプロンプトが生成され、生成が条件から遠ざかる 。 [30] [31] ϵ θ ( x t , y , t , γ ) = ϵ θ ( x t , t ) + γ ( ϵ θ ( x t , y , t ) − ϵ θ ( x t , t ) ) {\displaystyle \epsilon _{\theta }(x_{t},y,t,\gamma )=\epsilon _{\theta }(x_{t},t)+\gamma (\epsilon _{\theta }(x_{t},y,t)-\epsilon _{\theta }(x_{t},t))} ϵ uncond ← ϵ θ ( x t , t ) ϵ cond ← ϵ θ ( x t , t , c ) ϵ CFG ← ϵ uncond + γ ( ϵ cond − ϵ uncond ) x 0 ← ( x t − σ t ϵ CFG ) / 1 − σ t 2 x s ← 1 − σ s 2 x 0 + σ s 2 − ( σ s ′ ) 2 ϵ uncond + σ s ′ ϵ {\displaystyle {\begin{aligned}\epsilon _{\text{uncond}}&\leftarrow \epsilon _{\theta }(x_{t},t)\\\epsilon _{\text{cond}}&\leftarrow \epsilon _{\theta }(x_{t},t,c)\\\epsilon _{\text{CFG}}&\leftarrow \epsilon _{\text{uncond}}+\gamma (\epsilon _{\text{cond}}-\epsilon _{\text{uncond}})\\x_{0}&\leftarrow (x_{t}-\sigma _{t}\epsilon _{\text{CFG}})/{\sqrt {1-\sigma _{t}^{2}}}\\x_{s}&\leftarrow {\sqrt {1-\sigma _{s}^{2}}}x_{0}+{\sqrt {\sigma _{s}^{2}-(\sigma _{s}')^{2}}}\epsilon _{\text{uncond}}+\sigma _{s}'\epsilon \\\end{aligned}}} ϵ uncond ← ϵ θ ( x t , t ) {\displaystyle \epsilon _{\text{uncond}}\leftarrow \epsilon _{\theta }(x_{t},t)} ϵ neg cond ← ϵ θ ( x t , t , c ′ ) {\displaystyle \epsilon _{\text{neg cond}}\leftarrow \epsilon _{\theta }(x_{t},t,c')} c ′ {\displaystyle c'}
サンプラー 拡散モデルが与えられた場合、それを連続過程とみなしてSDEを積分することでサンプルを取得することも、離散過程とみなして離散ステップを反復することでサンプルを取得することも可能である。「 ノイズスケジュール 」の選択 もサンプルの品質に影響を与える可能性がある。ノイズスケジュールとは、自然数をノイズレベルに送る関数である。 ノイズスケジュールは、多くの場合、マップ によって指定される 。 であるため、2つの定義は同等である 。 β t {\displaystyle \beta _{t}} t ↦ β t , t ∈ { 1 , 2 , … } , β ∈ ( 0 , 1 ) {\displaystyle t\mapsto \beta _{t},\quad t\in \{1,2,\dots \},\beta \in (0,1)} t ↦ σ t {\displaystyle t\mapsto \sigma _{t}} β t = 1 − 1 − σ t 2 1 − σ t − 1 2 {\displaystyle \beta _{t}=1-{\frac {1-\sigma _{t}^{2}}{1-\sigma _{t-1}^{2}}}}
DDPMの観点からは、DDPM自体(ノイズあり)またはDDIM(ノイズ量を調整可能)を使用することができます。ノイズを追加する場合は、祖先サンプリングと呼ばれることがあります。 [32] ノイズありとノイズなしの間を補間することができます。DDIMの論文では、ノイズの量は 「イータ値」で示され、 は ノイズなし( 決定論的 DDIMの場合)を示し、 は 完全なノイズ(DDPMの場合)を示します。 η {\displaystyle \eta } η = 0 {\displaystyle \eta =0} η = 1 {\displaystyle \eta =1}
SDEの観点からは、 オイラー・丸山法 、 ホイン法 、 線形多段階法 などの 数値積分法 のいずれかを使用できます。離散の場合と同様に、積分中に調整可能な量のノイズを追加できます。 [33]
画像生成の文脈におけるサンプラーの調査と比較は行われている。 [34]
その他の例 注目すべき変種としては、 [35] ポアソンフロー生成モデル、 [36] コンシステンシーモデル、 [37] 臨界減衰ランジュバン拡散、 [38] GenPhys、 [39] 冷拡散、 [40] 離散拡散、 [41] [42] などがある。
フローベースの拡散モデル 抽象的に言えば、拡散モデルの考え方は、未知の確率分布(自然に見える画像の分布)を、それらを結ぶ絶対連続な確率経路を構築することで、既知の確率分布(標準ガウス分布)へと段階的に変換するというものです。この確率経路は、実際にはスコア関数によって暗黙的に定義されます 。 ∇ ln p t {\displaystyle \nabla \ln p_{t}}
拡散モデルのノイズ除去では、順方向プロセスでノイズを追加し、逆方向プロセスでノイズを除去します。順方向プロセスと逆方向プロセスはどちらも SDE ですが、順方向プロセスは閉形式で積分可能であるため、計算コストはかかりません。逆方向プロセスは閉形式で積分できないため、標準的なSDEソルバーを用いて段階的に積分する必要があり、非常にコストがかかる場合があります。拡散モデルにおける確率経路は イトー過程 によって定義され、確率常微分方程式のフロー定式化を用いることで決定論的過程を復元できます。 [1]
フローベースの拡散モデルにおいて、順方向過程は時間依存ベクトル場に沿った決定論的な流れであり、逆方向過程も同じベクトル場に沿った決定論的な流れですが、逆方向に進みます。どちらの過程も 常微分方程式 の解です。ベクトル場が適切に振る舞う場合、常微分方程式も適切に振る舞います。
2つの分布 と が与えられた場合 、 フローベースモデルは における時間依存の速度場であり 、点 をサンプリングすることから始めて 、それを速度場に従って移動させると、 点 が得られます 。上記の常微分方程式の解は、 プッシュフォワード測度 演算子によって 確率経路を定義します 。特に、 です 。 π 0 {\displaystyle \pi _{0}} π 1 {\displaystyle \pi _{1}} v t ( x ) {\displaystyle v_{t}(x)} [ 0 , 1 ] × R d {\displaystyle [0,1]\times \mathbb {R} ^{d}} x ∼ π 0 {\displaystyle x\sim \pi _{0}} d d t ϕ t ( x ) = v t ( ϕ t ( x ) ) t ∈ [ 0 , 1 ] , starting from ϕ 0 ( x ) = x {\displaystyle {\frac {d}{dt}}\phi _{t}(x)=v_{t}(\phi _{t}(x))\quad t\in [0,1],\quad {\text{starting from }}\phi _{0}(x)=x} x 1 ∼ π 1 {\displaystyle x_{1}\sim \pi _{1}} ϕ t {\displaystyle \phi _{t}} p t = [ ϕ t ] # π 0 {\displaystyle p_{t}=[\phi _{t}]_{\#}\pi _{0}} [ ϕ 1 ] # π 0 = π 1 {\displaystyle [\phi _{1}]_{\#}\pi _{0}=\pi _{1}}
確率経路と速度場は、 確率分布の意味で 連続方程式 を満たす。
確率経路を構築するには、まず条件付き確率経路 と、それに対応する条件付き速度場を ある条件付き分布上に構築する 。自然な選択肢はガウス条件付き確率経路である。 条件付きガウス経路間の測地線経路に対応する条件付き速度場は、 次の通りである。確率経路と速度場は、周辺化によって計算される。 ∂ t p t + ∇ ⋅ ( v t p t ) = 0 {\displaystyle \partial _{t}p_{t}+\nabla \cdot (v_{t}p_{t})=0} p t ( x | z ) {\displaystyle p_{t}(x\vert z)} v t ( x | z ) {\displaystyle v_{t}(x\vert z)} q ( z ) {\displaystyle q(z)} p t ( x | z ) = N ( m t ( z ) , ζ t 2 I ) {\displaystyle p_{t}(x\vert z)={\mathcal {N}}\left(m_{t}(z),\zeta _{t}^{2}I\right)} v t ( x | z ) = ζ t ′ ζ t ( x − m t ( z ) ) + m t ′ ( z ) {\displaystyle v_{t}(x\vert z)={\frac {\zeta _{t}'}{\zeta _{t}}}(x-m_{t}(z))+m_{t}'(z)}
p t ( x ) = ∫ p t ( x | z ) q ( z ) d z and v t ( x ) = E q ( z ) [ v t ( x | z ) p t ( x | z ) p t ( x ) ] {\displaystyle p_{t}(x)=\int p_{t}(x\vert z)q(z)dz\qquad {\text{ and }}\qquad v_{t}(x)=\mathbb {E} _{q(z)}\left[{\frac {v_{t}(x\vert z)p_{t}(x\vert z)}{p_{t}(x)}}\right]}
最適な輸送フロー 最適輸送フロー [43] の考え方は、 ワッサーシュタイン計量 を最小化する確率経路を構築することです 。条件となる分布は、 と の間の最適輸送計画の近似値です 。 ここ では最適輸送計画であり、 ミニバッチ最適輸送 によって近似できます。 バッチサイズが大きくない場合、計算される輸送は真の最適輸送から大きく離れる可能性があります。 π 0 {\displaystyle \pi _{0}} π 1 {\displaystyle \pi _{1}} z = ( x 0 , x 1 ) {\displaystyle z=(x_{0},x_{1})} q ( z ) = Γ ( π 0 , π 1 ) {\displaystyle q(z)=\Gamma (\pi _{0},\pi _{1})} Γ {\displaystyle \Gamma }
整流された流れ 整流フロー [44] [45] の考え方は 、各流路に沿って速度がほぼ一定となるようなフローモデルを学習することです。これは、そのようなベクトル場に沿って非常に少ないステップで積分できるため、有益です。例えば、常微分方程式が 完全に直線の経路をたどる場合、それは と簡約され 、1ステップで正確な解を得ることができます。実際には、このような完璧さには到達できませんが、フロー場がほぼ直線である場合、多くの小さなステップではなく、いくつかの大きなステップを踏むことができます。 ϕ t ˙ ( x ) = v t ( ϕ t ( x ) ) {\displaystyle {\dot {\phi _{t}}}(x)=v_{t}(\phi _{t}(x))} ϕ t ( x ) = x 0 + t ⋅ v 0 ( x 0 ) {\displaystyle \phi _{t}(x)=x_{0}+t\cdot v_{0}(x_{0})}
基本的な考え方は、2つの分布とから始め 、 そこから 流れ場を構築し、「リフロー」操作を繰り返し適用して 、それぞれが前のものよりも直線的な流れ場を次々に得るというものです。流れ場が適用に十分な直線性を持つようになったら、処理を終了します。 π 0 {\displaystyle \pi _{0}} π 1 {\displaystyle \pi _{1}} ϕ 0 = { ϕ t : t ∈ [ 0 , 1 ] } {\displaystyle \phi ^{0}=\{\phi _{t}:t\in [0,1]\}} ϕ 1 , ϕ 2 , … {\displaystyle \phi ^{1},\phi ^{2},\dots }
一般に、任意の時間微分可能プロセスについては 、 次を解くことで推定できます。 ϕ t {\displaystyle \phi _{t}} v t {\displaystyle v_{t}} min θ ∫ 0 1 E x ∼ p t [ ‖ v t ( x , θ ) − v t ( x ) ‖ 2 ] d t . {\displaystyle \min _{\theta }\int _{0}^{1}\mathbb {E} _{x\sim p_{t}}\left[\lVert {v_{t}(x,\theta )-v_{t}(x)}\rVert ^{2}\right]\,\mathrm {d} t.}
整流フローでは、中間軌道が直線であるという強力な事前条件を注入することで、直線パスを持つ ODE を時間離散化なしで正確にシミュレートできるため、最適輸送の理論的妥当性と計算効率の両方を実現できます。
整流輸送 [44] 具体的には、正規化フローは、分布 と の点間の 線形 補間 の周辺分布と常微分方程式を一致させることを目指します 。観測値 と が与えられた場合 、 標準線形補間は 自明なケース をもたらします が、これは なしでは因果的にシミュレートできません 。これに対処するために、 は因果的にシミュレート可能な常微分方程式の空間に「投影」され、方向 に関する最小二乗損失を最小化します 。 π 0 {\displaystyle \pi _{0}} π 1 {\displaystyle \pi _{1}} x 0 ∼ π 0 {\displaystyle x_{0}\sim \pi _{0}} x 1 ∼ π 1 {\displaystyle x_{1}\sim \pi _{1}} x t = t x 1 + ( 1 − t ) x 0 , t ∈ [ 0 , 1 ] {\displaystyle x_{t}=tx_{1}+(1-t)x_{0},t\in [0,1]} x ˙ t = x 1 − x 0 {\displaystyle {\dot {x}}_{t}=x_{1}-x_{0}} x 1 {\displaystyle x_{1}} x t {\displaystyle x_{t}} x 1 − x 0 {\displaystyle x_{1}-x_{0}} min θ ∫ 0 1 E π 0 , π 1 , p t [ ‖ ( x 1 − x 0 ) − v t ( x t ) ‖ 2 ] d t . {\displaystyle \min _{\theta }\int _{0}^{1}\mathbb {E} _{\pi _{0},\pi _{1},p_{t}}\left[\lVert {(x_{1}-x_{0})-v_{t}(x_{t})}\rVert ^{2}\right]\,\mathrm {d} t.}
データペアは、 との任意 の組み合わせで 、通常は独立(つまり )であり、 とからの観測値をランダムに組み合わせることで得られます 。このプロセスにより、軌跡は 軌跡の密度マップを厳密に反映しますが、交差点では因果関係を確保するために 経路が変更されます 。 ( x 0 , x 1 ) {\displaystyle (x_{0},x_{1})} π 0 {\displaystyle \pi _{0}} π 1 {\displaystyle \pi _{1}} ( x 0 , x 1 ) ∼ π 0 × π 1 {\displaystyle (x_{0},x_{1})\sim \pi _{0}\times \pi _{1}} π 0 {\displaystyle \pi _{0}} π 1 {\displaystyle \pi _{1}} x t {\displaystyle x_{t}}
リフロープロセス [44] 整流フローの特徴的な側面は、「リフロー 」と呼ばれる機能であり、これ により 常微分方程式の経路の軌跡が直線化されます。 から誘導される整流フローを と表記します 。この演算子を再帰的に適用すると、 一連の整流フローが生成されます 。この「リフロー」プロセスは、輸送コストを削減するだけでなく、整流フローの経路を直線化し、 が増加するにつれて経路がより直線化されます 。 ϕ 0 = { ϕ t : t ∈ [ 0 , 1 ] } {\displaystyle \phi ^{0}=\{\phi _{t}:t\in [0,1]\}} ( x 0 , x 1 ) {\displaystyle (x_{0},x_{1})} ϕ 0 = R e c t f l o w ( ( x 0 , x 1 ) ) {\displaystyle \phi ^{0}={\mathsf {Rectflow}}((x_{0},x_{1}))} R e c t f l o w ( ⋅ ) {\displaystyle {\mathsf {Rectflow}}(\cdot )} ϕ k + 1 = R e c t f l o w ( ( ϕ 0 k ( x 0 ) , ϕ 1 k ( x 1 ) ) ) {\displaystyle \phi ^{k+1}={\mathsf {Rectflow}}((\phi _{0}^{k}(x_{0}),\phi _{1}^{k}(x_{1})))} ϕ k {\displaystyle \phi ^{k}} k {\displaystyle k}
整流フローには、線形補間を、 と を結ぶ 任意の時間微分可能曲線に置き換えた 非線形拡張が含まれます。この枠組みは、 と の特定の選択を伴うDDIMおよび確率フロー常微分方程式を特別なケースとして包含します 。しかし、 の経路が直線でない場合 、リフロープロセスはもはや凸輸送コストの削減を保証せず、 の経路も直線化しません 。 [44] x t {\displaystyle x_{t}} x 0 {\displaystyle x_{0}} x 1 {\displaystyle x_{1}} x t = α t x 1 + β t x 0 {\displaystyle x_{t}=\alpha _{t}x_{1}+\beta _{t}x_{0}} α t {\displaystyle \alpha _{t}} β t {\displaystyle \beta _{t}} x t {\displaystyle x_{t}} ϕ t {\displaystyle \phi _{t}}
アーキテクチャの選択 安定拡散の構造 Stable Diffusionで使用されるノイズ除去プロセス
拡散モデル DDPMによる画像生成には、時間 とノイズ画像を受け取り 、 そこからノイズを予測するニューラルネットワークが必要です。ノイズを予測することは、ノイズ除去後の画像を予測し、それを から減算することと同じなので 、ノイズ除去アーキテクチャはうまく機能する傾向があります。例えば、画像のノイズ除去に適していることがわかっている U-Netは 、画像を生成する拡散モデルのノイズ除去にもよく使用されます。 [46] t {\displaystyle t} x t {\displaystyle x_{t}} ϵ θ ( x t , t ) {\displaystyle \epsilon _{\theta }(x_{t},t)} x t {\displaystyle x_{t}}
DDPMの場合、基盤となるアーキテクチャ(「バックボーン」)はU-Netである必要はありません。何らかの方法でノイズを予測できれば十分です。例えば、拡散トランスフォーマー(DiT)は、テキスト条件付けと部分的にノイズ除去された画像が与えられた場合、 トランスフォーマー を用いてノイズの平均共分散と対角共分散を予測します。これは、U-Netの代わりにトランスフォーマーが用いられる標準的なU-Netベースのノイズ除去拡散モデルと同じです。 [47] 専門家混合型 トランスフォーマーも適用可能です。 [48]
DDPMは、自然な画像だけでなく、一般的なデータ分布をモデル化するために使用できます。例えば、Human Motion Diffusion [49] は、DDPMを用いて人間の動作軌跡をモデル化します。人間の動作軌跡は、関節の回転または位置によって表されるポーズのシーケンスです。この手法では、 Transformer ネットワークを用いて、ノイズの多い軌跡からノイズの少ない軌跡を生成します。
コンディショニング ベースとなる拡散モデルは、分布全体から無条件に生成することしかできません。例えば、 ImageNet で学習した拡散モデルは、ImageNetからランダムに抽出した画像のような画像を生成します。1つのカテゴリからのみ画像を生成するには、まず条件を課し、その後条件付き分布からサンプリングする必要があります。どのような条件を課すにしても、まず条件付けを浮動小数点数のベクトルに変換し、それを基盤となる拡散モデルニューラルネットワークに入力する必要があります。ただし、条件付けをベクトルに変換する方法は自由に選択できます。
例えば、安定拡散は、クロスアテンションメカニズム の形で条件付けを課します。 この場合、クエリはU-Netにおける画像の中間表現であり、キーと値の両方が条件付けベクトルとなります。この条件付けは画像の一部にのみ選択的に適用することができ、ControlNetで使用されているように、ベースモデルに対して新しい種類の条件付けを微調整することも可能です。 [50]
特に単純な例として、 画像修復 を 考えてみましょう。条件は 、 (参照画像)と (修復 マスク) です。この条件付けは、後方拡散プロセスの各ステップで、まず (ノイズを含む )をサンプリングし 、 次に( 要素 ごとの の乗算) に置き換えることで行われます 。 [51] クロスアテンションメカニズムの別の応用として、プロンプトツープロンプト画像編集があります。 [52] x ~ {\displaystyle {\tilde {x}}} m {\displaystyle m} x ~ t ∼ N ( α ¯ t x ~ , σ t 2 I ) {\displaystyle {\tilde {x}}_{t}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}{\tilde {x}},\sigma _{t}^{2}I\right)} x ~ {\displaystyle {\tilde {x}}} x t {\displaystyle x_{t}} ( 1 − m ) ⊙ x t + m ⊙ x ~ t {\displaystyle (1-m)\odot x_{t}+m\odot {\tilde {x}}_{t}} ⊙ {\displaystyle \odot }
条件付けは、特定のカテゴリから画像を生成することや、特定のキャプション(テキストから画像を生成する場合など)に基づいて画像を生成することだけに限定されません。例えば、 [49] は、人間の歩行の音声クリップ(サウンドトラックと同期した動きが可能)、人間の走行のビデオ、人間の動きに関するテキスト記述などを条件として、人間の動きを生成することを実証しました。条件付き拡散モデルが数学的にどのように定式化されるかについては、 [53]の方法論的概要を参照してください。
アップスケーリング 画像生成には長い時間がかかるため、まずベースとなる拡散モデルで小さな画像を生成し、それを他のモデルでアップスケールするという方法があります。アップスケールは GAN [54] 、 [ 55 ] 、 [56] 、あるいは Lanczosリサンプリング などの信号処理手法によって行うことができます 。
拡散モデル自体もアップスケーリングに使用できます。カスケーディング拡散モデルは、プログレッシブGAN のスタイルで、複数の拡散モデルを次々に積み重ねます 。最下層は32×32の画像を生成する標準的な拡散モデルで、次にアップスケーリング用に特別に学習された拡散モデルによって画像がアップスケーリングされ、このプロセスが繰り返されます。 [46]
より詳細には、拡散アップスケーラーは次のように訓練される。 [46]
サンプル 、 は高解像度画像、 は低解像度に縮小された同じ画像、は 条件付けであり、画像のキャプション、画像のクラスなどになります。 ( x 0 , z 0 , c ) {\displaystyle (x_{0},z_{0},c)} x 0 {\displaystyle x_{0}} z 0 {\displaystyle z_{0}} c {\displaystyle c} 2つのホワイトノイズ 、2つのタイムステップをサンプリングします 。高解像度画像と低解像度画像のノイズバージョンを計算します 。 ϵ x , ϵ z {\displaystyle \epsilon _{x},\epsilon _{z}} t x , t z {\displaystyle t_{x},t_{z}} { x t x = α ¯ t x x 0 + σ t x ϵ x z t z = α ¯ t z z 0 + σ t z ϵ z {\displaystyle {\begin{cases}x_{t_{x}}&={\sqrt {{\bar {\alpha }}_{t_{x}}}}x_{0}+\sigma _{t_{x}}\epsilon _{x}\\z_{t_{z}}&={\sqrt {{\bar {\alpha }}_{t_{z}}}}z_{0}+\sigma _{t_{z}}\epsilon _{z}\end{cases}}} 与えられた を 予測するようにノイズ除去ネットワークを訓練します 。つまり、 L2損失 に勾配降下法を適用します 。 ϵ x {\displaystyle \epsilon _{x}} x t x , z t z , t x , t z , c {\displaystyle x_{t_{x}},z_{t_{z}},t_{x},t_{z},c} θ {\displaystyle \theta } ‖ ϵ θ ( x t x , z t z , t x , t z , c ) − ϵ x ‖ 2 2 {\displaystyle \|\epsilon _{\theta }(x_{t_{x}},z_{t_{z}},t_{x},t_{z},c)-\epsilon _{x}\|_{2}^{2}}
例 このセクションでは、いくつかの注目すべき拡散モデルを収集し、そのアーキテクチャについて簡単に説明します。
オープンAI OpenAI の DALL-E シリーズは、画像のテキスト条件付き拡散モデルです。
DALL-Eの最初のバージョン(2021)は、実際には拡散モデルではありません。代わりに、Transformerアーキテクチャを使用してトークンのシーケンスを自己回帰的に生成し、離散VAEのデコーダーによって画像に変換します。DALL-Eと同時にリリースされたCLIP分類器は、生成された画像をテキストとの適合度に基づいてランク付けするために使用されました。
GLIDE(2022-03) [56] は35億の拡散モデルであり、その小型版が公開されました。 [5] その後まもなく、DALL-E 2がリリースされました(2022-04)。 [57] DALL-E 2は35億のカスケード拡散モデルであり、「CLIP画像エンコーダを反転」することでテキストから画像を生成します。この手法は「unCLIP」と呼ばれています。
unCLIP法には、CLIP画像エンコーダ、CLIPテキストエンコーダ、画像デコーダ、そして事前モデル(拡散モデルまたは自己回帰モデル)の4つのモデルが含まれています。学習中、事前モデルはCLIP画像エンコーディングをCLIPテキストエンコーディングに変換するように学習されます。画像デコーダは、CLIP画像エンコーディングを画像に戻すように学習されます。推論中、テキストはCLIPテキストエンコーダによってベクトルに変換され、事前モデルによって画像エンコーディングに変換され、画像デコーダによって画像に変換されます。
Sora (2024-02)は拡散トランスフォーマーモデル(DiT)です。
安定性AI Stability AIがリリースしたStable Diffusion (2022-08)は、ノイズ除去潜在拡散モデル(8億6000万パラメータ)、VAE、テキストエンコーダで構成されています。ノイズ除去ネットワークはU-Netで、条件付き画像生成を可能にするクロスアテンションブロックを備えています。 [58] [23]
Stable Diffusion 3 (2024-03) [59] は、 潜在拡散モデルをUNetからTransformerモデルに変更したため、DiTとなっています。整流フローを使用しています。
Stable Video 4D(2024-07) [60] は、3Dオブジェクトのビデオのための潜在拡散モデルです。
グーグル Imagen (2022) [61] [62]は T5-XXL言語モデル を用いて 入力テキストを埋め込みベクトルにエンコードする。これは3つのサブモデルを持つカスケード型拡散モデルである。第1段階では、テキストの埋め込みベクトルを条件として、ホワイトノイズを64×64の画像にノイズ除去する。このモデルは2B個のパラメータを持つ。第2段階では、埋め込みを条件として、画像を64×64→256×256にアップスケールする。このモデルは650M個のパラメータを持つ。第3段階でも同様で、256×256→1024×1024にアップスケールする。このモデルは400M個のパラメータを持つ。3つのノイズ除去ネットワークはすべてU-Netである。
Muse(2023-01) [63] は拡散モデルではなく、マスクされていない画像トークンからマスクされた画像トークンを予測するように訓練されたエンコーダのみのTransformerである。
Imagen 2 (2023-12) も拡散型です。画像とテキストを混ぜたプロンプトに基づいて画像を生成できます。詳細は不明です。 [64] Imagen 3 (2024-05) も同様です。詳細は不明です。 [65]
Veo (2024) は潜在拡散によって動画を生成する。この拡散は、テキストプロンプトと画像プロンプトの両方をエンコードしたベクトルに基づいている。 [66]
Make-A-Video(2022)はテキストからビデオへの拡散モデルです。 [67] [68]
CM3leon(2023)は拡散モデルではなく、 LLaMa -2 とほぼ同じアーキテクチャを持つ自己回帰因果マスクトランスフォーマーです。 [69] [70]
輸血アーキテクチャ図 Transfusion (2024) は、自己回帰テキスト生成とノイズ除去拡散を組み合わせたTransformerです。具体的には、自己回帰的にテキストを生成し(因果マスキングを使用)、画像トークンに対して複数回のノイズ除去を行うことで画像を生成します(全対全アテンションを使用)。 [71]
ムービー・ジェン(2024)は、潜在空間とフローマッチングによって動作する拡散トランスフォーマーのシリーズです。 [72]
参照
さらに読む レビュー論文 Yang, Ling (2024-09-06), YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy 、 2024年9月6日取得 ヤン、リン。張志龍。ソン、ヤン。ホン、シェンダ。シュウ・ルンシェン。趙、越。張文涛。崔、斌。ヤン・ミンシュアン(2023-11-09)。 「普及モデル: 手法とアプリケーションの包括的な調査」。 ACM コンピューティング。生き残る 。 56 (4): 105:1–105:39。 arXiv : 2209.00796 。 土井 :10.1145/3626235。 ISSN 0360-0300。 Austin, Jacob; Johnson, Daniel D.; Ho, Jonathan; Tarlow, Daniel; Rianne van den Berg (2021). 「離散状態空間における構造化ノイズ除去拡散モデル」. arXiv : 2107.03006 [cs.LG]. クロイトル、フロリネル・アリン。ホンドル、ヴラド。イヨネスク、ラドゥ・チューダー。シャー、ムバラク (2023-09-01)。 「ビジョンにおける拡散モデル: 調査」。 パターン分析とマシン インテリジェンスに関する IEEE トランザクション 。 45 (9 ) : 10850–10869.arXiv : 2209.04747 。 Bibcode :2023ITPAM..4510850C。 土井 :10.1109/TPAMI.2023.3261988。 ISSN 0162-8828。 PMID 37030794。 数学的な詳細は記事では省略されています。 「拡散モデルの力」 AstraBlog 2022年9月25日 2023年9月25日 閲覧 。 Luo, Calvin (2022-08-25). 「拡散モデルの理解:統一的な視点」 arXiv : 2208.11970 [cs.LG]. Weng, Lilian (2021-07-11). 「拡散モデルとは何か?」 lilianweng.github.io . 2023年9月25日 閲覧 。 チュートリアル ナッキラン、プリータム。ブラッドリー、アルウェン。周、ハッティ。アドヴァニ、マドゥ (2024)。 「ステップバイステップの普及: 初級チュートリアル」。 arXiv : 2406.08929 [cs.LG]。 「ガイダンス:拡散モデルのためのチートコード」。2022年5月26日。 分類器ガイダンスと分類器フリーガイダンスの概要。数学的な詳細は省略します。
参考文献 ^ abcd Song, Yang; Sohl-Dickstein, Jascha; Kingma, Diederik P.; Kumar, Abhishek; Ermon, Stefano; Poole, Ben (2021-02-10). 「確率微分方程式によるスコアベースの生成モデリング」. arXiv : 2011.13456 [cs.LG]. ^ クロイトール、フロリネル=アリン;ホンドル、ヴラド。イヨネスク、ラドゥ・チューダー。シャー、ムバラク (2023)。 「ビジョンにおける拡散モデル: 調査」。 パターン分析とマシン インテリジェンスに関する IEEE トランザクション 。 45 (9 ) : 10850–10869.arXiv : 2209.04747 。 Bibcode :2023ITPAM..4510850C。 土井 :10.1109/TPAMI.2023.3261988。 PMID 37030794。S2CID 252199918 。 ^ ab Ho, Jonathan; Jain, Ajay; Abbeel, Pieter (2020). 「拡散確率モデルのノイズ除去」. ニューラル情報処理システムの進歩 . 33. Curran Associates, Inc.: 6840–6851 . ^ 顧、朔陽;チェン、ドン。バオ、ジャンミン。ウェン、ファン。張、博。チェン、ドンドン。ユアン、ルー。郭白寧(2021)。 「テキストから画像への合成のためのベクトル量子化拡散モデル」。 arXiv : 2111.14822 [cs.CV]。 ^ ab GLIDE、OpenAI、2023年9月22日、 2023年9月24日 閲覧 ^ Li, Yifan; Zhou, Kun; Zhao, Wayne Xin; Wen, Ji-Rong (2023年8月). 「非自己回帰テキスト生成のための拡散モデル:概説」. 第32回国際人工知能合同会議議事録 . カリフォルニア州: 国際人工知能合同会議機構. pp. 6692– 6701. arXiv : 2303.06574 . doi :10.24963/ijcai.2023/750. ISBN 978-1-956792-03-4 。 ^ Xu, Weijie; Hu, Wenxiang; Wu, Fanyou; Sengamedu, Srinivasan (2023). 「DeTiME: エンコーダー・デコーダーベースのLLMを用いた拡散強化トピックモデリング」. 計算言語学協会の成果: EMNLP 2023. 米国ペンシルベニア州ストウズバーグ: 計算言語学協会: 9040–9057 . arXiv : 2310.15296 . doi :10.18653/v1/2023.findings-emnlp.606. ^ Zhang, Haopeng; Liu, Xiao; Zhang, Jiawei (2023). 「DiffuSum: 拡散による生成強化抽出要約」. 計算言語学協会の調査結果: ACL 2023. 米国ペンシルベニア州ストウズバーグ: 計算言語学協会: 13089– 13100. arXiv : 2305.01735 . doi :10.18653/v1/2023.findings-acl.828. ^ Yang, Dongchao; Yu, Jianwei; Wang, Helin; Wang, Wen; Weng, Chao; Zou, Yuexian; Yu, Dong (2023). 「Diffsound: テキストから音声への生成のための離散拡散モデル」. IEEE/ACM Transactions on Audio, Speech, and Language Processing . 31 : 1720– 1733. arXiv : 2207.09983 . Bibcode :2023ITASL..31.1720Y. doi :10.1109/taslp.2023.3268730. ISSN 2329-9290. ^ Janner, Michael; Du, Yilun; Tenenbaum, Joshua B.; Levine, Sergey (2022-12-20). 「柔軟な行動合成のための拡散を用いたプランニング」. arXiv : 2205.09991 [cs.LG]. ^ チー、チェン;徐、鎮佳。フォン、思源。エリック・クスノー。ドゥ、イールン。バーフフィール、ベンジャミン。テドレイク、ラス。歌、シュラン(2024-03-14)。 「普及政策:行動の普及による視覚運動政策の学習」。 arXiv : 2303.04137 [cs.RO]。 ^ Sohl-Dickstein, Jascha; Weiss, Eric; Maheswaranathan, Niru; Ganguli, Surya (2015-06-01). 「非平衡熱力学を用いた教師なし深層学習」 (PDF) . 第32回国際機械学習会議論文集 . 37. PMLR: 2256– 2265. arXiv : 1503.03585 . ^ Ho、Jonathan (2020 年 6 月 20 日)、hojonathanho/diffusion 、 2024-09-07 取得 ^ ab Weng, Lilian (2021-07-11). 「拡散モデルとは何か?」 lilianweng.github.io . 2023年9月24日 閲覧 。 ^ 「データ分布の勾配の推定による生成モデリング | Yang Song」 yang-song.net . 2023年9月24日 閲覧 。 ^ ab Song, Yang; Ermon, Stefano (2019). 「データ分布の勾配推定による生成モデリング」. ニューラル情報処理システムの進歩 . 32. Curran Associates, Inc. arXiv : 1907.05600 . ^ ソン、ヤン;ソール=ディックスシュタイン、ヤッシャ。キングマ、ディーデリク P.クマール、アビシェク。エルモン、ステファノ。プール、ベン (2021-02-10)。 「確率微分方程式によるスコアベースの生成モデリング」。 arXiv : 2011.13456 [cs.LG]。 ^ ermongroup/ncsn、ermongroup、2019年、 2024年9月7日 閲覧。 ^ 「スライススコアマッチング:密度とスコア推定へのスケーラブルなアプローチ | Yang Song」. yang-song.net . 2023年9月24日 閲覧 。 ^ アンダーソン, ブライアン・DO (1982年5月). 「逆時間拡散方程式モデル」 . 確率過程とその応用 . 12 (3): 313– 326. doi :10.1016/0304-4149(82)90051-5. ISSN 0304-4149. ^ Luo, Calvin (2022). 「拡散モデルの理解:統一的な視点」 arXiv : 2208.11970v1 [cs.LG]. ^ Song, Jiaming; Meng, Chenlin; Ermon, Stefano (2023年10月3日). 「拡散暗黙モデルのノイズ除去」. arXiv : 2010.02502 [cs.LG]. ^ ab ロンバック、ロビン;ブラットマン、アンドレアス。ローレンツ、ドミニク。エッサー、パトリック。オマー、ビョルン(2022年4月13日)。 「潜在拡散モデルによる高解像度画像合成」。 arXiv : 2112.10752 [cs.CV]。 ^ Nichol, Alexander Quinn; Dhariwal, Prafulla (2021-07-01). 「改良型ノイズ除去拡散確率モデル」. 第38回国際機械学習会議論文集 . PMLR: 8162– 8171. ^ Salimans, Tim; Ho, Jonathan (2021-10-06). 拡散モデルの高速サンプリングのための漸進的蒸留. 第10回国際学習表現会議 (ICLR 2022). ^ Lin, Shanchuan; Liu, Bingchen; Li, Jiashi; Yang, Xiao (2024). 共通拡散ノイズスケジュールとサンプルステップには欠陥がある. IEEE/CVF Winter Conference on Applications of Computer Vision (WACV). pp. 5404– 5411. ^ abc ダリワル、プラフラ;ニコル、アレックス (2021-06-01)。 「拡散モデルは画像合成で GAN に勝つ」。 arXiv : 2105.05233 [cs.LG]。 ^ ab Ho, Jonathan; Salimans, Tim (2022-07-25). 「分類器フリー拡散ガイダンス」. arXiv : 2207.12598 [cs.LG]. ^ Chung, Hyungjin; Kim, Jeongsol; Park, Geon Yeong; Nam, Hyelin; Ye, Jong Chul (2024-06-12). 「CFG++: 拡散モデルのための多様体制約付き分類器フリーガイダンス」. arXiv : 2406.08070 [cs.CV]. ^ Sanchez, Guillaume; Fan, Honglu; Spangher, Alexander; Levi, Elad; Ammanamanchi, Pawan Sasanka; Biderman, Stella (2023-06-30). 「分類子を使用しないガイダンスでトピックに沿った議論を続ける」 arXiv : 2306.17806 [cs.CL]. ^ Armandpour, Mohammadreza; Sadeghian, Ali; Zheng, Huangjie; Sadeghian, Amir; Zhou, Mingyuan (2023-04-26). 「ネガティブプロンプトアルゴリズムの再考:2次元拡散を3次元に変換し、ヤヌス問題とその先へ」 arXiv : 2304.04968 [cs.CV]. ^ ヤン、リン;張志龍。ソン、ヤン。ホン、シェンダ。シュウ・ルンシェン。趙、越。張文涛。崔、斌。ヤン・ミンシュアン (2022)。 「普及モデル: 手法とアプリケーションの包括的な調査」。 arXiv : 2206.00364 [cs.CV]。 ^ Shi, Jiaxin; Han, Kehang; Wang, Zhe; Doucet, Arnaud; Titsias, Michalis K. (2024). 「離散データに対する簡略化および一般化マスク拡散法」 arXiv : 2406.04329 [cs.LG]. ^ テロ、カラス;アイッタラ、ミイカ。アイラ、ティモ。サムリ州レイン(2022)。 「拡散ベースの生成モデルの設計空間の解明」。 arXiv : 2206.00364v2 [cs.CV]。 ^ 曹操、漢群;タン、チェン。高、張陽。徐宜倫。チェン、広永。ヘン、ペンアン。リー、スタン Z. (2024 年 7 月)。 「生成拡散モデルに関する調査」。 知識およびデータエンジニアリングに関する IEEE トランザクション 。 36 (7): 2814–2830 。 ビブコード :2024ITKDE..36.2814C。 土井 :10.1109/TKDE.2024.3361474。 ISSN 1041-4347。 ^ Xu, Yilun; Liu, Ziming; Tian, Yonglong; Tong, Shangyuan; Tegmark, Max; Jaakkola, Tommi (2023-07-03). 「PFGM++:物理学に着想を得た生成モデルの潜在能力を解き放つ」. 第40回国際機械学習会議議事録 . PMLR: 38566– 38591. arXiv : 2302.04265 . ^ Song, Yang; Dhariwal, Prafulla; Chen, Mark; Sutskever, Ilya (2023-07-03). 「一貫性モデル」. 第40回国際機械学習会議論文集 . PMLR: 32211– 32252. ^ Dockhorn, Tim; Vahdat, Arash; Kreis, Karsten (2021-10-06). 「臨界減衰ランジュバン拡散法を用いたスコアベース生成モデリング」 arXiv : 2112.07068 [stat.ML]. ^ Liu, Ziming; Luo, Di; Xu, Yilun; Jaakkola, Tommi; Tegmark, Max (2023-04-05). 「GenPhys: 物理プロセスから生成モデルへ」. arXiv : 2304.02637 [cs.LG]. ^ Bansal, Arpit; Borgnia, Eitan; Chu, Hong-Min; Li, Jie; Kazemi, Hamid; Huang, Furong; Goldblum, Micah; Geiping, Jonas; Goldstein, Tom (2023-12-15). 「Cold Diffusion: ノイズのない任意の画像変換の反転」. Advances in Neural Information Processing Systems . 36 : 41259–41282 . arXiv : 2208.09392 . ^ Gulrajani, Ishaan; Hashimoto, Tatsunori B. (2023-12-15). 「尤度ベース拡散言語モデル」. ニューラル情報処理システムの進歩 . 36 : 16693–16715 . arXiv : 2305.18619 . ^ Lou, Aaron; Meng, Chenlin; Ermon, Stefano (2024-06-06). 「データ分布の比率推定による離散拡散モデリング」 arXiv : 2310.16834 [stat.ML]. ^ Tong, Alexander; Fatras, Kilian; Malkin, Nikolay; Huguet, Guillaume; Zhang, Yanlei; Rector-Brooks, Jarrid; Wolf, Guy; Bengio, Yoshua (2023-11-08). 「ミニバッチ最適トランスポートを用いたフローベース生成モデルの改良と一般化」. Transactions on Machine Learning Research . arXiv : 2302.00482 . ISSN 2835-8856. ^ abcd Liu, Xingchao; Gong, Chengyue; Liu, Qiang (2022-09-07). 「Flow Straight and Fast: Rectified Flowを用いたデータ生成と転送の学習」. arXiv : 2209.03003 [cs.LG]. ^ Liu, Qiang (2022-09-29). 「整流フロー:最適輸送への限界保存アプローチ」 arXiv : 2209.14577 [stat.ML]. ^ abc Ho, Jonathan; Saharia, Chitwan; Chan, William; Fleet, David J.; Norouzi, Mohammad; Salimans, Tim (2022-01-01). 「高忠実度画像生成のためのカスケード拡散モデル」. The Journal of Machine Learning Research . 23 (1): 47:2249–47:2281. arXiv : 2106.15282 . ISSN 1532-4435. ^ ピーブルズ、ウィリアム;謝、サイニング(2023年3月)「トランスフォーマーを用いたスケーラブルな拡散モデル」 arXiv : 2212.09748v2 [cs.CV]. ^ フェイ、ジェンコン;ファン・ミンユアン;ユウ、チャンキアン。リー、デバン。黄、潤士(2024-07-16)。 「拡散トランスを 160 億パラメータに拡張」。 arXiv : 2407.11633 [cs.CV]。 ^ ab テベット、ガイ;ラーブ、シガル。ゴードン、ブライアン。シャフィール、ヨナタン。コーエン・オル、ダニエル。ベルマーノ、アミット H. (2022)。 「ヒューマンモーション拡散モデル」。 arXiv : 2209.14916 [cs.CV]。 ^ Zhang, Lvmin; Rao, Anyi; Agrawala, Maneesh (2023). 「テキストから画像への拡散モデルへの条件制御の追加」 arXiv : 2302.05543 [cs.CV]. ^ Lugmayr, Andreas; Danelljan, Martin; Romero, Andres; Yu, Fisher; Timofte, Radu; Van Gool, Luc (2022). 「RePaint: ノイズ除去拡散確率モデルを用いたインペインティング」. arXiv : 2201.09865v4 [cs.CV]. ^ Hertz, Amir; Mokady, Ron; Tenenbaum, Jay; Aberman, Kfir; Pritch, Yael; Cohen-Or, Daniel (2022-08-02). 「Cross Attention Controlを用いたプロンプト間画像編集」. arXiv : 2208.01626 [cs.CV]. ^ 趙、鄭;ルオ、ツィウェイ。イェンス・シェーランド。シェーン、トーマス B. (2024)。 「生成拡散モデル内の条件付きサンプリング」。 arXiv : 2409.09650 [stat.ML]。 ^ Wang, Xintao; Xie, Liangbin; Dong, Chao; Shan, Ying (2021). 「Real-ESRGAN: 純粋な合成データを用いた実世界ブラインド超解像のトレーニング」 (PDF) . IEEE/CVF 国際コンピュータビジョン会議 (ICCV) ワークショップ議事録, 2021. 国際コンピュータビジョン会議. pp. 1905– 1914. arXiv : 2107.10833 . ^ Liang, Jingyun; Cao, Jiezhang; Sun, Guolei; Zhang, Kai; Van Gool, Luc; Timofte, Radu (2021). 「SwinIR: Swin Transformerを用いた画像復元」 (PDF) . IEEE/CVF International Conference on Computer Vision (ICCV) Workshops Proceedings . International Conference on Computer Vision, 2021. pp. 1833– 1844. arXiv : 2108.10257v1 . ^ Nichol, Alex; Dhariwal, Prafulla; Ramesh, Aditya; Shyam, Pranav; Mishkin, Pamela; McGrew, Bob; Sutskever, Ilya; Chen, Mark (2022-03-08). 「GLIDE: テキスト誘導拡散モデルを用いたフォトリアリスティック画像生成および編集に向けて」 arXiv : 2112.10741 [cs.CV]. ^ Ramesh, Aditya; Dhariwal, Prafulla; Nichol, Alex; Chu, Casey; Chen, Mark (2022-04-12). 「CLIP Latents を用いた階層的テキスト条件付き画像生成」. arXiv : 2204.06125 [cs.CV]. ^ Alammar, Jay. 「図解安定拡散」. jalammar.github.io . 2022年10月31日 閲覧 。 ^ Esser, Patrick; Kulal, Sumith; Blattmann, Andreas; Entezari, Rahim; Müller, Jonas; Saini, Harry; Levi, Yam; Lorenz, Dominik; Sauer, Axel (2024-03-05). 「高解像度画像合成のための整流フロートランスフォーマーのスケーリング」 arXiv : 2403.03206 [cs.CV]. ^ Xie, Yiming; Yao, Chun-Han; Voleti, Vikram; Jiang, Huaizu; Jampani, Varun (2024-07-24). 「SV4D: マルチフレーム・マルチビューの一貫性を備えた動的3Dコンテンツ生成」. arXiv : 2407.17470 [cs.CV]. ^ 「Imagen: テキストから画像への拡散モデル」 imagen.research.google . 2024年4月4日 閲覧 。 ^ Saharia, Chitwan; Chan, William; Saxena, Saurabh; Li, Lala; Whang, Jay; Denton, Emily L.; Ghasemipour, Kamyar; Gontijo Lopes, Raphael; Karagol Ayan, Burcu; Salimans, Tim; Ho, Jonathan; Fleet, David J.; Norouzi, Mohammad (2022-12-06). 「深層言語理解によるフォトリアリスティックなテキストから画像への拡散モデル」. Advances in Neural Information Processing Systems . 35 : 36479– 36494. arXiv : 2205.11487 . ^ Chang, Huiwen; Zhang, Han; Barber, Jarred; Maschinot, AJ; Lezama, Jose; Jiang, Lu; Yang, Ming-Hsuan; Murphy, Kevin; Freeman, William T. (2023-01-02). 「Muse: マスク付き生成トランスフォーマーによるテキストから画像への生成」. arXiv : 2301.00704 [cs.CV]. ^ 「Imagen 2 - 最も先進的なテキスト画像変換テクノロジー」 Google DeepMind . 2024年4月4日 閲覧。 ^ Imagen-チーム-Google;ボールドリッジ、ジェイソン。バウアー、ヤコブ。ブータニ、ムクル。ブリヒトヴァ、ニコール。バンナー、アンドリュー。カトレホン、リュイス;チャン、ケルビン。チェン、宜昌 (2024-12-13)、 Imagen 3 、 arXiv : 2408.07009 ^ “Veo”. Google DeepMind . 2024年5月14日. 2024年5月17日 閲覧 。 ^ 「Make-A-Videoの紹介:テキストから動画を生成するAIシステム」 ai.meta.com . 2024年9月20日 閲覧 。 ^ Singer, Uriel; Polyak, Adam; Hayes, Thomas; Yin, Xi; An, Jie; Zhang, Songyang; Hu, Qiyuan; Yang, Harry; Ashual, Oron (2022-09-29). 「Make-A-Video: テキストビデオデータを使用しないテキストビデオ生成」. arXiv : 2209.14792 [cs.CV]. ^ 「CM3leonの紹介:より効率的で最先端のテキストと画像の生成モデル」 ai.meta.com . 2024年9月20日 閲覧 。 ^ カメレオンチーム (2024-05-16). 「カメレオン:混合モーダル早期融合基盤モデル」. arXiv : 2405.09818 [cs.CL]. ^ 周、チュンチン;ゆう、リリ。バブ、アルン。ティルマラ、クシャル。安永道弘;シャミス、レオニード。カーン、ジェイコブ。マ、シュエゼ。ゼトルモイヤー、ルーク (2024-08-20)。 「輸血: 1 つのマルチモーダル モデルで次のトークンを予測し、画像を拡散する」。 arXiv : 2408.11039 [cs.AI]。 ^ Movie Gen: メディア基盤モデルのキャスト 、Movie Genチーム@Meta、2024年10月4日。