ディープラーニングアルゴリズム
機械学習 において 、 拡散モデルは 拡散確率モデル または スコアベースの生成モデル とも呼ばれ、 潜在変数 生成 モデルの一種です 。拡散モデルは、順方向プロセス、逆方向プロセス、およびサンプリング手順という3つの主要なコンポーネントで構成されます。 [1] 拡散モデルの目的は、与えられたデータセットの 拡散プロセス を学習し、そのプロセスによって元のデータセットと同様に分布する新しい要素を生成できるようにすることです。拡散モデルは、拡散プロセスによって生成されたデータをモデル化し、新しいデータが すべての可能なデータの空間を ドリフトしながらランダムウォークを実行します。 [2] トレーニングされた拡散モデルは、さまざまな方法でサンプリングでき、効率と品質が異なります。
同等の形式論としては、 マルコフ連鎖 、ノイズ除去拡散確率モデル、ノイズ条件付きスコアネットワーク、確率微分方程式などが挙げられます。 [3]これらは通常、 変分推論 を使用してトレーニングされます 。 [4]ノイズ除去を担当するモデルは通常、「バックボーン」と呼ばれます。バックボーンの種類は問いませんが、通常は Uネット または トランスフォーマー です 。
2024年現在 [update] 、拡散モデルは主に コンピュータビジョンの タスクに使用されており、 画像ノイズ除去 、 インペインティング 、 超解像 、 画像生成 、ビデオ生成などがある。これらには通常、 ガウスノイズ でぼやけた画像を順次ノイズ 除去 するようにニューラルネットワークをトレーニングすることが含まれる。 [2] [5] このモデルは、画像にノイズを追加するプロセスを逆にするようにトレーニングされる。収束するまでトレーニングした後は、ランダムノイズで構成された画像から始めて、ネットワークを繰り返し適用して画像ノイズを除去することで、画像生成に使用できる。
拡散ベースの画像生成器は、安定拡散 や DALL-E など、商業的に広く関心を集めています 。これらのモデルは通常、拡散モデルとテキストエンコーダやクロスアテンションモジュールなどの他のモデルを組み合わせて、テキスト条件付き生成を可能にします。 [6]
コンピュータビジョン以外にも、拡散モデルは 自然言語処理 [7] [8]、 例えば テキスト生成 [9] [10] や 要約 [11] 、 音声生成 [12] 、強化学習 [13] [14] などにも応用されています。
ノイズ除去拡散モデル
非平衡熱力学
拡散モデルは、非常に複雑な確率分布からサンプリングできるモデルを学習する方法として2015年に導入されました。拡散モデルでは、 非平衡熱力学 、特に 拡散 の技術が使用されました。 [15]
たとえば、自然発生写真の分布をモデル化する方法を考えてみます。各画像はすべての画像の空間内の点であり、自然発生写真の分布は空間内の「雲」です。画像に繰り返しノイズを追加することで、雲がガウス分布とほとんど区別がつかなくなるまで、画像空間の残りの部分に拡散します。 その後 、拡散を近似的に元に戻すことができるモデルを使用して、元の分布からサンプリングすることができます。これは、「非平衡」熱力学で研究されます。これは、最終的な分布とは異なり、開始分布が平衡状態ではないためです。
N
(
0
,
I
)
{\displaystyle N(0,I)}
平衡分布はガウス分布 で 、確率密度関数 です 。これは、温度 1 の ポテンシャル井戸内の粒子の マクスウェル・ボルツマン分布 です。初期の分布は平衡から大きく外れているため、平衡分布に向かって拡散し、純粋なランダム性 ( ブラウン運動 のような) とポテンシャル井戸の勾配降下法の合計である偏ったランダムステップを作成します。ランダム性は必須です。粒子が勾配降下法のみを経ると、粒子はすべて原点に落ち、分布が崩壊します。
N
(
0
,
I
)
{\displaystyle 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)が提案されました 。 [4] [16]
前方拡散
モデルを提示するには、何らかの表記が必要です。
β
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 N(\mu ,\Sigma )}
は平均、分散 の正規分布であり 、 における確率密度です 。
μ
{\displaystyle \mu }
Σ
{\displaystyle \Sigma }
N
(
x
|
μ
,
Σ
)
{\displaystyle 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 N(0,I)}
x
0
{\displaystyle x_{0}}
lim
t
x
t
|
x
0
{\displaystyle \lim _{t}x_{t}|x_{0}}
N
(
0
,
I
)
{\displaystyle 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})N(x_{1}|{\sqrt {\alpha _{1}}}x_{0},\beta _{1}I)\cdots 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 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 N(0,I)}
x
T
{\displaystyle x_{T}}
N
(
0
,
I
)
{\displaystyle 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 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})=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})=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})]}
損失関数を定義し 、今度は確率的勾配降下法によって損失を最小化することを目標とします。式は [17] のように簡略化できます。ここで、は パラメータに依存しないため、無視できます。 また、もパラメータに依存しないため、項 も無視できます。これにより、最小化する必要がある のは、 だけです 。
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})=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 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 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 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 N({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),{\tilde {\sigma }}_{t}^{2}I)}
時間を変更する
t
←
t
−
1
{\displaystyle t\leftarrow t-1}
スコアベースの生成モデル
スコアベースの生成モデルは拡散モデリングの別の定式化である。ノイズ条件付きスコアネットワーク(NCSN)またはランジュバンダイナミクスによるスコアマッチング(SMLD)とも呼ばれる。 [18] [19] [20] [21]
スコアマッチング
スコア関数の考え方
画像生成の問題を考えてみましょう。 が画像を表し、 が すべての可能性のある画像に対する確率分布であるとします。 がそれ 自身を持っている場合、特定の画像がどのくらいありそうかを確実に言うことができます。しかし、これは一般に扱いにくいものです。
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 }
スコア関数の学習
密度が与えられたとき 、スコア関数の近似値を学習したいとします 。これが スコアマッチングです 。 [22]通常、スコアマッチングは フィッシャーダイバージェンス 関数を 最小化するものとして形式化されます 。積分を展開し、部分積分を実行すると、 ヒュヴァリネンスコアリングルール とも呼ばれる損失関数が得られ 、確率的勾配降下法によって最小化できます。
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
∇
2
⋅
f
θ
]
+
C
{\displaystyle E_{q}[\|f_{\theta }(x)-\nabla \ln q(x)\|^{2}]=E_{q}[\|f_{\theta }\|^{2}+2\nabla ^{2}\cdot f_{\theta }]+C}
スコア関数のアニーリング
画像の分布をモデル化する必要があり、 ホワイト ノイズ画像 が必要だとします。ほとんどのホワイト ノイズ画像は実際の画像のようには見えないため、 の広い範囲では と なります。これにより、スコア関数の学習に問題が発生します。特定の点の周囲にサンプルがない場合、その点のスコア関数を学習できないためです。その点のスコア関数がわからない場合は 、時間発展方程式を粒子に適用できません。 この問題に対処するには、 アニーリング を実行します。 がホワイト ノイズ分布と大きく異なる場合は、ホワイト ノイズ分布と区別がつかなくなるまで徐々にノイズを追加します。つまり、順方向拡散を実行し、スコア関数を学習し、スコア関数を使用して逆方向拡散を実行します。
x
0
∼
N
(
0
,
I
)
{\displaystyle x_{0}\sim N(0,I)}
q
(
x
0
)
≈
0
{\displaystyle q(x_{0})\approx 0}
x
0
∼
N
(
0
,
I
)
{\displaystyle x_{0}\sim 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 N(0,I)}
ρ
t
{\displaystyle \rho _{t}}
t
{\displaystyle t}
ρ
0
=
q
;
ρ
T
≈
N
(
0
,
I
)
{\displaystyle \rho _{0}=q;\quad \rho _{T}\approx 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 }
逆拡散プロセス
時間 について 解くことができれば 、雲の進化を正確に逆転させることができます。密度 の別の粒子雲から始めて 、雲内の粒子が に従って進化すると仮定する と、フォッカー・プランク方程式に代入すると、 であることがわかります 。したがって、この点の雲は元の雲であり、逆方向に進化しています。 [23]
ρ
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}}
∂
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 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 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とスコアベースの生成モデルは同等である。 [19] [2] [24] これは、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 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})}
したがって、スコアベースのネットワークは拡散のノイズ除去に使用できます。
逆に、後方方程式の
連続極限は、
スコアベースの拡散とまったく同じ方程式を与えます。
したがって、ノイズ除去ネットワークはスコアベースの拡散と同様に使用できます。
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 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 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 [25]は、 DDPM損失でトレーニングされた任意のモデルを取得し、いくつかのステップをスキップしてサンプリングすることで、調整可能な量の品質を犠牲にする手法です。DDPMのマルコフ連鎖ケースを非マルコフケースに生成すると、DDIMは逆プロセスの分散が0になるケースに対応します。言い換えれば、逆プロセス(および順プロセス)は決定論的です。より少ないサンプリングステップを使用する場合、DDIMはDDPMよりも優れています。
詳細には、DDIM サンプリング法は次のとおりです。順方向拡散プロセス から開始します 。次に、逆方向ノイズ除去プロセス中に、 が与えられた場合、 元のデータは と推定されます。その後、 逆方向拡散プロセスは任意のステップ にジャンプでき 、次のノイズ除去サンプル は になります。ここで、 は 範囲 内の任意の実数 、 は 新しくサンプリングされたガウスノイズです。 [17] すべてが の場合 、逆方向プロセスは決定論的になり、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 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)
拡散モデルは確率分布をモデル化する一般的な方法であるため、画像上の分布をモデル化したい場合は、まずエンコーダーによって画像を低次元空間にエンコードし、次に拡散モデルを使用してエンコードされた画像上の分布をモデル化することができます。次に、画像を生成するには、拡散モデルからサンプルを抽出し、デコーダーを使用してそれを画像にデコードします。 [26]
エンコーダーとデコーダーのペアは、ほとんどの場合、 変分オートエンコーダー (VAE) です。
アーキテクチャの改善
[27]は 様々なアーキテクチャの改善を提案した。例えば、彼らは後方サンプリング中に対数空間補間を提案した。彼らは、 からサンプリングする代わりに、 学習したパラメータ からサンプリングすることを推奨した 。
x
t
−
1
∼
N
(
μ
~
t
(
x
t
,
x
~
0
)
,
σ
~
t
2
I
)
{\displaystyle x_{t-1}\sim 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 N({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),(\sigma _{t}^{v}{\tilde {\sigma }}_{t}^{1-v})^{2}I)}
v
{\displaystyle v}
v-予測 形式では 、ノイズ式は 角度 と定義される「速度」 によって再パラメータ化されます 。 ネットワーク は速度 を予測するようにトレーニングされ 、ノイズ除去は によって行われます 。 [28] このパラメータ化により、モデルが総ノイズ (つまり ) に到達してそれを逆転するようにトレーニングできるため、パフォーマンスが向上することがわかりました 。一方、標準的なパラメータ化では が常に真であるため、総ノイズに到達することはありません 。 [29]
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テキストエンコーダーを 使用してテキスト条件付き画像生成を改善しました。 [30]
画像の分布全体からではなく、画像の説明に応じてサンプリングするとします。一般的な画像をサンプリングするのではなく、「赤い目の黒猫」という説明に一致する画像をサンプリングします。一般的に、分布 からサンプリングします。 ここで、 は 画像全体にわたり、 は 画像のクラスにわたります (「赤い目の黒猫」という説明は非常に詳細なクラスであり、「猫」というクラスは非常に漠然とした説明です)。
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})}
分類器ガイダンスはスコア関数の勾配に対して定義されるため、スコアベースの拡散ネットワークに対しては となるが、前述のように、スコアベースの拡散モデルは によるノイズ除去モデルと同等であり 、同様に となる。 したがって、分類器ガイダンスは、修正されたノイズ予測を使用して、ノイズ除去拡散にも機能する。 [30]
ϵ
θ
(
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}}}
温度とともに
分類器誘導拡散モデルは、 最大事後推定値 の周囲に集中しているからサンプルを採取します。モデルを 最大尤度推定値 に向かって強制的に動かしたい場合は 、 を使用することができます
。
ここで、は 温度の逆数 として解釈できます。拡散モデルの文脈では、これは通常、 ガイダンススケール と呼ばれます 。 が高いと、 モデルは の周囲に集中している分布からサンプルを採取するように強制されます 。これにより、生成される画像の品質が向上する場合があります。 [30]
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)}
これは前の式を修正したものである。 ノイズ除去モデルの場合、これは [31]に相当する。
∇
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)
分類器がない場合でも 、画像モデル自体から分類器を抽出することは可能です。 [31]
このようなモデルは通常、との両方を提示することでトレーニングされ 、 との 両方をモデル化できるようになります 。
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でサンプリングすると、アルゴリズムは次のように記述できる。 [32] 同様の手法が言語モデルのサンプリングにも適用される。また、無条件生成 を に置き換えると 、否定的なプロンプトが生成され、生成が条件から遠ざかる 。 [33] [34]
ϵ
θ
(
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(調整可能なノイズ量)を使用できます。ノイズを追加する場合は、祖先サンプリングと呼ばれることがあります。 [35] ノイズとノイズなしの間を補間できます。DDIMの論文では、 ノイズの量(「イータ値」)が示され、 は ノイズなし( 決定論的 DDIMの場合)を示し、 は 完全なノイズ(DDPMの場合)を示します。
η
{\displaystyle \eta }
η
=
0
{\displaystyle \eta =0}
η
=
1
{\displaystyle \eta =1}
SDEの観点からは、 オイラー・丸山法 、 ホイン法 、 線形多段階法 などの 数値積分法 のいずれかを使用することができます。離散の場合と同様に、積分中に調整可能な量のノイズを追加することができます。 [36]
画像生成の文脈におけるサンプラーの調査と比較は行われている。 [37]
その他の例
注目すべき変種としては、 [38] ポアソンフロー生成モデル、 [39] コンシステンシーモデル、 [40] 臨界減衰ランジュバン拡散、 [41] GenPhys、 [42] 冷拡散、 [43] 離散拡散、 [44] [45] などがある。
フローベースの拡散モデル
抽象的に言えば、拡散モデルの考え方は、未知の確率分布(自然に見える画像の分布)を取り、それらを接続した完全に連続した確率パスを構築することによって、それを既知の確率分布(標準ガウス分布)に段階的に変換することです。確率パスは、実際にはスコア関数によって暗黙的に定義されます 。
∇
ln
p
t
{\displaystyle \nabla \ln p_{t}}
拡散モデルのノイズ除去では、順方向プロセスでノイズを追加し、逆方向プロセスでノイズを除去します。順方向プロセスと逆方向プロセスはどちらも SDE ですが、順方向プロセスは閉形式で積分可能なので、計算コストをかけずに実行できます。逆方向プロセスは閉形式で積分できないので、標準的な SDE ソルバーで段階的に積分する必要があり、非常にコストがかかります。拡散モデルの確率パスは イトー過程 によって定義され、確率 ODE フロー定式化を使用して決定論的プロセスを取得できます。 [2]
フローベースの拡散モデルでは、順方向プロセスは時間依存のベクトル場に沿った決定論的なフローであり、逆方向プロセスも同じベクトル場に沿った決定論的なフローですが、逆方向に進みます。どちらのプロセスも ODE の解です。ベクトル場が適切に動作する場合、ODE も適切に動作します。
2 つの分布 とが与えられた場合 、フローベースのモデルは における時間依存の速度場 となり 、点 をサンプリングすることから始めて 、速度場に従って移動させると、
点 が得られます 。上記の ODE の解は、 プッシュフォワード測定 演算子によって 確率経路を定義します 。特に、 です。
π
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]}
最適な輸送フロー
最適輸送フロー [46] の考え方は、 ワッサーシュタイン計量 を 最小化する確率経路を構築することです 。条件となる分布は 、 と :および の間の最適輸送計画です。 ここ で は最適輸送計画であり、 ミニバッチ最適輸送 によって近似できます。
π
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 }
整流フロー
整流フロー [47] [48] の考え方は 、各フローパスに沿って速度がほぼ一定になるようにフローモデルを学習することです。これは、非常に少ないステップでそのようなベクトル場に沿って積分できるため便利です。たとえば、常微分方程式が 完全に直線のパスをたどる場合、それは に簡略化され 、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 を時間離散化なしで正確にシミュレートできるため、最適輸送の理論的妥当性と計算効率の両方を実現できます。
整流輸送 [47]
具体的には、正規化フローは、分布 と の点の間の 線形補間 の周辺分布と常微分方程式を一致させようとします。 観測値 と が与えられる と 、標準線形補間により、 なしでは因果的にシミュレートできない 自明なケース が生成されます 。これに対処するために、 方向 に関する最小二乗損失を最小化することにより、 は因果的にシミュレート可能な常微分方程式の空間に「投影」されます 。
π
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.}
データペアは、 とを 任意に組み合わせたもので 、通常は独立(つまり、 )であり、 とからの観測値をランダムに組み合わせることで得られる 。このプロセスにより、軌跡は 軌跡の密度マップを厳密に反映しますが、交差点では因果関係を確保するために 経路が変更されます。この修正プロセスは、フローマッチング、 [49]、 確率的補間、 [50] 、およびアルファブレンディング としても知られています。 [ 引用が必要 ]
(
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}}
リフロープロセス [47]
整流フローの特徴的な側面は、ODE パスの軌跡を直線化する「 リフロー 」機能です。 から誘導される整流フロー を と表します 。この演算子を再帰的に適用すると、 一連の整流フローが生成されます 。 この「リフロー」プロセスは、輸送コストを削減するだけでなく、整流フローのパスを直線化し、 が増加するにつれてパスがより直線的になります 。
ϕ
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 と確率フロー ODE が含まれます 。ただし、 のパスが直線でない場合は 、リフロープロセスによって凸輸送コストが削減されなくなり、 のパスも直線化されなくなります 。 [47]
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}}
アニメーション付きのフローマッチングのチュートリアルについては
[51] を参照してください。
アーキテクチャの選択
安定拡散のアーキテクチャ
Stable Diffusionが使用するノイズ除去プロセス
拡散モデル
DDPMで画像を生成するには、時間 とノイズ画像を受け取り 、そこからノイズを予測するニューラルネットワークが必要です 。ノイズを予測することは、ノイズ除去された画像を予測し、それをから減算することと同じなので 、ノイズ除去アーキテクチャはうまく機能する傾向があります。たとえば、画像のノイズ除去に適していることがわかった U-Netは 、画像を生成する拡散モデルのノイズ除去によく使用されます。 [52]
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 ベースのノイズ除去拡散モデルと同じです。 [53] 専門家の混合 - トランスフォーマーも適用できます。 [54]
DDPMは、自然な画像だけでなく、一般的なデータ分布をモデル化するために使用できます。たとえば、Human Motion Diffusion [55] は、DDPMによって人間の動作の軌跡をモデル化します。各人間の動作の軌跡は、関節の回転または位置のいずれかで表されるポーズのシーケンスです。Transformerネットワークを使用して、 ノイズ の多い軌跡からノイズの少ない軌跡を生成します。
コンディショニング
基本拡散モデルは、分布全体から無条件に生成することしかできません。たとえば、 ImageNet で学習された拡散モデルは、ImageNet からのランダムな画像のように見える画像を生成します。1 つのカテゴリからのみ画像を生成するには、条件を課してから、条件付き分布からサンプリングする必要があります。課す条件が何であれ、まず条件付けを浮動小数点数のベクトルに変換し、それを基礎となる拡散モデル ニューラル ネットワークに入力する必要があります。ただし、条件付けをベクトルに変換する方法は自由に選択できます。
例えば、安定拡散は、クロスアテンションメカニズム の形で条件付けを課します 。ここで、クエリはU-Net内の画像の中間表現であり、キーと値の両方が条件付けベクトルです。条件付けは画像の一部にのみ選択的に適用することができ、ControlNetで使用されているように、新しい種類の条件付けを基本モデルに微調整することができます。 [56]
特に単純な例として、 画像の修復 を考えてみましょう。条件は 、参照画像 、 修復 マスク です。条件付けは、まず のノイズバージョンをサンプリングし、次に に 置き換えること で、 後方拡散プロセスの各ステップで行われます 。ここで、 は 要素ごとの乗算 を 意味します。 [57] クロスアテンションメカニズムの別の応用は、プロンプトツープロンプト画像編集です。 [58]
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 }
条件付けは、特定のカテゴリからの画像の生成や、特定のキャプション(テキストから画像への変換など)に従って画像を生成することだけに限定されません。たとえば、 [55] では、人間の歩行の音声クリップ(サウンドトラックと同期した動きが可能)や人間の走行のビデオ、人間の動きのテキスト説明などを条件として、人間の動きを生成することが実証されています。条件付き拡散モデルが数学的にどのように定式化されるかについては、 [59]の方法論的要約を参照してください。
アップスケーリング
画像の生成には長い時間がかかるため、まずは基本拡散モデルで小さな画像を生成し、それを他のモデルでアップスケールするという方法があります。アップスケールは GAN 、 [60]、 Transformer 、 [61]、または Lanczosリサンプリング などの信号処理手法で行うことができます 。
拡散モデル自体もアップスケーリングに使用できます。カスケーディング拡散モデルは、 プログレッシブGAN のスタイルで、複数の拡散モデルを次々に積み重ねます。最下層は32x32の画像を生成する標準的な拡散モデルであり、次にその画像はアップスケーリング用に特別にトレーニングされた拡散モデルによってアップスケーリングされ、このプロセスが繰り返されます。 [52]
より詳細には、拡散アップスケーラは次のように訓練される。 [52]
サンプル 、は 高解像度の画像、 は同じ画像ですが低解像度に縮小されたもの、 は条件付けであり、画像のキャプションや画像のクラスなどになります。
(
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 分類器で、DALL-E はこれを使用して、生成された画像をテキストにどれだけ近いかに基づいてランク付けしました。
GLIDE(2022-03) [62] は35億の拡散モデルであり、その小規模バージョンが公開されました。 [6] その後すぐに、DALL-E 2がリリースされました(2022-04)。 [63] 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で、条件付き画像生成を可能にするクロスアテンションブロックを備えています。 [64] [26]
安定拡散3(2024-03) [65] は潜在拡散モデルをUNetからTransformerモデルに変更したため、DiTとなっている。整流フローを使用している。
Stable Video 4D(2024-07) [66] は、3Dオブジェクトのビデオ用の潜在拡散モデルです。
グーグル
Imagen (2022) [67] [68] は、T5-XXL言語モデルを 使用して 、入力テキストを埋め込みベクトルにエンコードします。これは、3つのサブモデルを持つカスケード拡散モデルです。最初のステップでは、テキストの埋め込みベクトルを条件として、ホワイトノイズを64×64の画像にノイズ除去します。このモデルには2Bのパラメーターがあります。2番目のステップでは、埋め込みを条件として、画像を64×64→256×256にアップスケールします。このモデルには650Mのパラメーターがあります。3番目のステップも同様で、256×256→1024×1024にアップスケールします。このモデルには400Mのパラメーターがあります。3つのノイズ除去ネットワークはすべてU-Netです。
Muse(2023-01) [69] は拡散モデルではなく、マスクされていない画像トークンからマスクされた画像トークンを予測するように訓練されたエンコーダーのみのTransformerです。
Imagen 2(2023-12)も拡散ベースです。画像とテキストを混ぜたプロンプトに基づいて画像を生成することができます。詳細情報はありません。 [70]
Veo(2024)は潜在拡散によってビデオを生成します。拡散はテキストプロンプトと画像プロンプトの両方をエンコードしたベクトルに条件付けられます。 [71]
Make-A-Video(2022)はテキストからビデオへの拡散モデルです。 [72] [73]
CM3leon(2023)は拡散モデルではなく、 LLaMa -2とほぼ同じアーキテクチャを持つ自己回帰因果マスクTransformerです 。 [74] [75]
輸血アーキテクチャ図
Transfusion(2024)は、自己回帰テキスト生成とノイズ除去拡散を組み合わせたTransformerです。具体的には、自己回帰的にテキストを生成し(因果マスキングを使用)、画像トークンに対して複数回のノイズ除去を行って画像を生成します(全対全注意を使用)。 [76]
映画「Gen(2024)」は、潜在空間とフローマッチングによって動作する拡散トランスフォーマーのシリーズです。 [77]
参照
さらに読む
レビュー論文
Yang, Ling (2024-09-06)、YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy 、 2024-09-06 取得
ヤン、リン。張志龍。ソン、ヤン。ホン、シェンダ。シュウ・ルンシェン。趙、越。張文涛。崔、斌。ヤン・ミンシュアン(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 。 土井 :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-09-25 に閲覧 。
チュートリアル
ナッキラン、プリータム。ブラッドリー、アルウェン。周、ハッティ。アドヴァニ、マドゥ (2024)。 「ステップバイステップの普及: 初歩的なチュートリアル」。 arXiv : 2406.08929 [cs.LG]。
「ガイダンス:拡散モデルのチートコード」。2022年5月26日。 分類子ガイダンスと分類子フリーガイダンスの概要。数学的な詳細については省略します。
参考文献
^ Chang, Ziyi; Koulieris, George Alex; Shum, Hubert PH (2023). 「拡散モデルの設計の基礎について:概観」. arXiv : 2306.04542 [cs.LG].
^ 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 。 土井 :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-09-22、2023-09-24 取得
^ ニー、シェン;朱、鳳起。ドゥ、チャオ。パン、ティエンユー。劉、銭。曾、広島。リン、ミン;李崇玄(2024)。 「テキスト上のマスクされた拡散モデルのスケールアップ」。 arXiv : 2410.18514 [cs.AI]。
^ 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 。
^ Han, Xiaochuang; Kumar, Sachin; Tsvetkov, Yulia (2023). 「SSD-LM: テキスト生成とモジュール制御のための半自己回帰シンプレックスベースの拡散言語モデル」。 計算言語学協会第61回年次会議の議事録(第1巻:長編論文) 。米国ペンシルバニア州ストウズバーグ:計算言語学協会:11575–11596。arXiv :2210.17432。doi : 10.18653 / v1 /2023.acl-long.647 。
^ 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 . 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-09-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). 「ネガティブプロンプトアルゴリズムを再考する:2D拡散を3Dに変換し、ヤヌス問題とその先を軽減する」。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。 土井 :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: ノイズなしで任意の画像変換を反転する」. ニューラル情報処理システムの進歩 . 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].
^ Lipman, Yaron; Chen, Ricky TQ; Ben-Hamu, Heli; Nickel, Maximilian; Le, Matt (2023-02-08). 「ジェネレーティブモデリングのためのフローマッチング」. arXiv : 2210.02747 [cs.LG].
^ Albergo, Michael S.; Vanden-Eijnden, Eric (2023-03-09). 「確率的補間による正規化フローの構築」. arXiv : 2209.15571 [cs.LG].
^ 「フローマッチング入門 · Cambridge MLG ブログ」 。mlg.eng.cam.ac.uk 。2024 年 8 月 20 日 閲覧 。
^ 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 国際コンピュータービジョン会議 (ICCV) ワークショップの議事録 。国際コンピュータービジョン会議、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. 「The Illustrated Stable Diffusion」. 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). 「深い言語理解を備えたフォトリアリスティックなテキストから画像への拡散モデル」。 ニューラル 情報処理 システムの進歩 。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日 閲覧。
^ 「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: メディア基盤モデルのキャスト 、The Movie Genチーム@Meta、2024年10月4日。