最新AI論文をキャッチアップ

拡散モデルを組み合わせた合成画像生成

拡散モデルを組み合わせた合成画像生成

Image generation

3つの要点
✔️ 拡散モデルを用いて、合成画像を生成する手法を提案した。
✔️ 拡散モデルをエネルギーベースモデルと見なして組み合わせ、論理積と否定を用いて異なるドメイン間でも結合できるようにした。
✔️ 複数のデータセットに対して実験し、定量的・定性的にベースラインモデルを上回る結果となった。

Compositional Visual Generation with Composable Diffusion Models
written by Nan LiuShuang LiYilun DuAntonio TorralbaJoshua B. Tenenbaum
(Submitted on 3 Jun 2022 (v1), last revised 17 Jan 2023 (this version, v6))
Comments: ECCV 2022. First three authors contributed equally.

Subjects:
Computer Vision and Pattern Recognition (cs.CV)

code:

本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。 

はじめに

DALLE-2など言語入力式の拡散モデルは、自然言語文から非常に精巧な画像を生成することができますが、物体間の関係のような概念の組み合わせを理解するのは不十分です。そこで本論文では、拡散モデルを組み合わせて合成画像を生成する手法を提案しました。

手法

拡散モデルによるノイズ除去

Denoising Diffusion Probabilistic Models(DDPMs)はノイズ除去をする生成モデルの一種です。ガウシアン分布から作られたノイズ${\bf x}_T$から$T$ステップで出力画像${\bf x}_0$を生成するとすると、ノイズを掛けるフォワードプロセス$q({\bf x}_t|{\bf x}_{t-1})$とノイズ除去するリバースプロセス$p({\bf x}_{t-1}|{\bf x}_{t})$は次のようになります。

ここで$q({\bf x}_0)$は真のデータ分布、$p({\bf x}_T)$は正規ガウス分布です。生成プロセス$p_{\theta}({\bf x}_{t-1}|{\bf x}_t)$はリバースプロセスを近似して真の画像を生成するよう学習します。各生成プロセスは平均と分散パラメータを学習して次のように表されます。

つまり${\bf x}_{t-1}$はよりノイズのある${\bf x}_t$に摂動項${\epsilon}_{\theta}({\bf x}_t,t)$を加えた値である平均$\mu_\theta({\bf x}_t, t)$と分散${\sigma}_t$によってパラメトライズされ、次のように表現されます。

エネルギーベースモデル

エネルギーベースモデル(EBMs)は生成モデルの一種で、画像${\bf x}\in {\mathbb R}^D$は次のような非正規化確率密度で表現されます。

$$p_\theta({\bf x})\propto e^{-E_\theta({\bf x})}$$

ここで$E_\theta({\bf x})$はニューラルネットワークです。勾配ベースのMCMC過程では、ランジュバン力学を用いて次のように生成画像が精製されていきます。

$${\bf x}_t={\bf x}_{t-1}-\frac{\lambda}{2}\nabla_{\bf x}E_\theta({\bf x}_{t-1})+{\mathcal N}(0,\sigma^2)$$

上式と拡散モデルでの生成過程の式を見比べると、数式的に似ていることが分かります。

エネルギーベースモデルとしての拡散モデル

前述のように、拡散モデルではノイズ除去ネットワーク$\epsilon_\theta({\bf x}_t,t)$を学習して画像を生成し、EBMsはエネルギー勾配$\nabla_{\bf x}E_\theta({\bf x}_t)\propto \nabla_{\bf x}\log p_\theta(\bf x)$を通して生成します。どちらの項もデータ分布のスコアに起因するので、数式的に等価と見なせます。従って、EBMsを組み合わせ、拡散モデルに適用することができます。

今、$n$個の独立EBM $E^1_\theta({\bf x}),\cdots ,E^n_\theta({\bf x})$が与えられた時、これらを組み合わせて新しいEBMが次のように得られます。

$$p_{compose}({\bf x})\propto p_{\theta}^1({\bf x})\cdots p_\theta^n({\bf x})\propto e^{-\Sigma_iE_\theta^i({\bf x})}=e^{-E_\theta({\bf x})}$$

ここで$p_\theta^i$は${\bf x}$の確率密度です。生成画像は次のようになります。

$${\bf x}_t={\bf x}_{t-1}-\frac{\lambda}{2}\nabla_{\bf x}\Sigma_iE_\theta^i({\bf x}_{t-1})+{\mathcal N}(0,\sigma^2)$$

同様にして、拡散モデルでの生成過程は次のように表現できます。

$$p_{compose}({\bf x}_{t-1}|{\bf x}_t)=\mathcal N({\bf x}_t+\Sigma_i \epsilon^i_\theta({\bf x}_t,t),\sigma_t^2)$$

このように$\epsilon_\theta({\bf x},t)$をEBMの勾配と見なしてパラメトライズすることで、拡散モデルを組み合わせることができます。

合成画像生成

合成画像を生成するために、それぞれ独立した概念${\bf c}_i$を持つ拡散モデルを組み合わせます。用いる演算子に論理積(AND)と否定(NOT)を用います。

・AND

$$p({\bf x}|{\bf c}_1,\cdots ,{\bf c}_n)\propto p({\bf x},{\bf c}_1,\cdots ,{\bf c}_n)=p({\bf x})\Pi_i p({\bf c}_i|{\bf x})=p({\bf x})\Pi_i\frac{p({\bf x}|{\bf c}_i)}{p({\bf x})}$$

上で求めた生成過程の式を代入して次式を得ます。

$$p^*({\bf x}_{t-1}|{\bf x}_t):=\mathcal N({\bf x}_t+\epsilon^*({\bf x}_t,t),\sigma_t^2),$$

$$\epsilon^*({\bf x}_t,t)=\epsilon_\theta({\bf x}_t,t)+\alpha \Sigma_i(\epsilon_\theta({\bf x}_t,t|{\bf c}_i)-\epsilon_\theta({\bf x}_t,t))$$

ここで$\alpha$は温度パラメータです。

・NOT

否定したい概念を$\tilde{{\bf c}}_j$として

$$p({\bf x}|not\ \tilde{{\bf c}_j},{\bf c_1},\cdots ,{\bf c}_n)\propto p({\bf x}, not\ \tilde{{\bf c}_j},{\bf c}_1,\cdots, {\bf c}_n)=p({\bf x})\frac{\Pi_i p({\bf c}_i|{\bf x})}{p(\tilde{{\bf c}_j}|{\bf x})^\beta}=p({\bf x})\frac{p({\bf x})^\beta}{p({\bf x}|\tilde{{\bf c}_j})^\beta}\Pi_i\frac{p({\bf x}|{\bf c}_i)}{p({\bf x})}$$ 

$$\epsilon^*({\bf x}_t,t)=\epsilon_\theta({\bf x}_t,t)+\alpha\{-\beta(\epsilon_\theta({\bf x}_t,t|\tilde{\bf c}_j)-\epsilon_\theta({\bf x}_t,t))+\Sigma_i(\epsilon_\theta({\bf x}_t,t|{\bf c}_i)-\epsilon_\theta({\bf x}_t,t))\}$$

ここで$\alpha,\beta$は温度パラメータです。

結果

本手法とベースラインモデルで、異なるドメインのデータセットに対して画像生成し、評価しました。

自然言語結合

学習済みのGLIDEモデルを用いて、自然言語文の組み合わせによる生成結果を比較しました。本手法では、一枚目の"polar bear"や三枚目の"bangalows"のように、より正確に画像を生成できていることが分かります。

物体結合

物体の二次元上の位置から、画像を生成します。下図から、本手法ではベースラインモデルでミスしたものも正しく生成できていることが分かります。また、下表からAcc、FIDともに大幅に更新しています。

物体関係

物体間の位置関係を記述した文から画像を生成します。下図から、EBMと本手法では良く再現できていることが分かります。また、下表では本手法はEBMを除くモデルよりもAccがずっと高く、かつ EBMでは高くなってしまうFIDを低く保持しています。

まとめ

本論文では、拡散モデルを組み合わせて画像を生成しました。その結果、拡散モデルをエネルギーベースモデルと見なすことで、複雑な概念を組み合わせた画像を高精度で生成することに成功しました。制限としては、異なるデータセットで学習した拡散モデルを組み合わせた場合は失敗することがあり、EBMの構造をさらにうまく導入することで改善ができるかもしれません。

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする