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

【Versatile Diffusion】テキストと画像を統合的に扱う拡散モデル

【Versatile Diffusion】テキストと画像を統合的に扱う拡散モデル

Diffusion Model

3つの要点
✔️ テキストと画像を統合的に扱うマルチモーダル拡散モデル
✔️ CLIPを用いてテキストと画像のコンテキスト情報を取得

✔️ Global Layerによってモデル全体の情報を共有

Versatile Diffusion: Text, Images and Variations All in One Diffusion Model
written by Xingqian XuZhangyang WangEric ZhangKai WangHumphrey Shi
(Submitted on 15 Nov 2022 (v1), last revised 23 Mar 2023 (this version, v3))
Comments: Github link: this https URL

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

code:  

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

はじめに

本研究では、画像とテキストのマルチモーダル拡散モデルである「Versatile Diffusion(VD)」が提案されました。このモデルを用いることで、以下のようなタスクが実現できます。

  • Text-to-Image
  • Image-to-Text
  • Image-to-Image
  • Text-to-Text

要するに、画像とテキストを用いたAny-to-Anyが可能になるのです。また、「この絵を油絵にして」のようにプロンプトを入力することで、画像の編集をすることも可能です。

本研究のVersatile Diffusionは、以下のHugging Faceのデモページで、簡単に実行することができます。本論文で記載されているすべてのタスクで実行できるので、興味がある方はぜひ試してみてください。

https://huggingface.co/spaces/shi-labs/Versatile-Diffusion

さっそく、モデルの内部を見ていきましょう。なお、これ以降ではVersatile Diffusionを「VD」と表現します。

Versatileのモデルアーキテクチャ

VDの核となる技術は、画像やテキストのコンテキストを条件として、様々な形式のデータを生成できる「マルチフロー・マルチモーダル拡散モデル」です。

ここで、「シングルフロー」とは、「単一モダリティm」のコンテクストを用いて、「単一モダリティn」のデータを生成することを指します。Stable DiffusionやImagenなどの、近年話題の「Text-to-Image」は、VDにおける単一フローの定義と同じです。

VDの場合、Text-to-Imageだけではなく、様々な生成タスクをこなせるため、マルチフローと言えるでしょう。

以下の「VDの1ステップ分の逆拡散過程の図」で示されているように、VDのモデルは「Global Layer」「Data Layer」「Context Layer」の3つで構成されます。

各層の振る舞いと「Stable Diffusionのモデルにおいて対応する層」を、以下の表にまとめています。

振る舞い Stable Diffusionで例えると
Global Layer

・フローに依存せず常に活性化

・異なるフロー間でのパラメータの共有

・時間情報の統合

 時間埋め込み層
Data Layer ネットワークが「対応する出力モダリティ」を生成したときに活性化  Residual Block(時間による条件付け)
Context Layer 「対応するコンテキストモダリティ」が入力されたときに活性化  Cross Attention層(テキストによる条件付け)

Text-to-Imageを例に挙げると、xtは画像用のData Layerとテキスト用のContext Layerに送られ、次のステップの結果xt-1が生成されます。同様に、Image-to-Imageであれば、xtは画像用のData Layerと画像用のContext Layerに送られます。

こうして、VDの全体のネットワークは、以下の図のように構成されいます。

この図の右下にあるように、VDの生成フローは4種類存在します。

  • Text-to-Image
  • Image-to-Text
  • Image-Variation
  • Text-Variation

要するに、Data LayerとContext Layerが繰り返し用いられているため、従来の拡散モデルにおけるU-Netを踏襲した構造を持つことが分かります。

従来のモデルと異なるのは、CLIPのテキストエンコーダだけではなく、画像エンコーダも導入されている点です。これは、テキストによる条件付けだけでなく、画像による条件付けも想定されているからです。

さらに、Global Layerによって、「時間情報」と「ネットワーク全体のパラメータ」が各層に共有されるため、マルチモーダル生成を単一のモデルで実現可能になっています。

出典:https://github.com/shi-labs/versatile-diffusion

また、VDでは、画像をVAEによって潜在表現に変換し、テキストをOptimus Bertによって潜在表現に変換しています。

ちなみに推論時では、完全なノイズの画像・テキストデータが、VDネットワークに入力されます。そして、画像プロンプトやテキストプロンプトは、CLIPの各エンコーダを通じて、条件付け生成に利用されます。

評価実験

VDとStable Diffusionによって生成されたデータの比較表は、以下の通りです。

定性的に見ても、VDの生成能力は高いことが分かります。また、定量的な評価結果は、以下の通りです。

FIDスコアを見ると、Text-to-Image・Image-Variationタスクにおいて、VDは他のベースラインよりも、高い性能を持つことが分かります。

また、各モデルによって生成された画像の中で、どの画像が最もクオリティが高いと思うか、被験者に投票をしてもらう実験も行っています。その結果は、以下の通りです。

「Stable Diffusionによって生成された画像の方がクオリティが高い」と投票された数はブルー、VDはシアン、「クオリティは同じくらい」と投票された数はグレーで表されています。

その結果、Text-to-Imageでは「クオリティは同じくらい」といった意見が目立ちますが、Image-Variationでは、VDの方が高く評価されていることが分かります。

まとめ

VDはText-to-Image、Image-to-Text、画像のバリエーション生成など、複数のタスクを処理できます。他にも、画像とテキスト間のセマンティクスとスタイルの解離、およびデュアル・マルチコンテキストブレンディングなど、さまざまな応用が可能であることが示唆されています。

さらに、将来的には、3D生成や音声、音楽など、さらに多くのモダリティをカバーできる可能性が論じられています。

そのためには、他のモーダル用エンコーダを用意し、本研究と同様にモデル構築することで、実現できるかもしれません。もちろん、各モーダルに適した詳細設計やコーディングが必要になるでしょう。

 

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

お問い合わせする