【CoDi】ほぼ全てのモダリティを扱えるAny-to-Anyの拡散モデル
3つの要点
✔️ 複数の入力モーダルからデータを生成可能
✔️ Latent Alignmentによりモーダル共通の特徴空間を条件として利用
✔️ 一部の組み合わせのデータセットだけで他のモーダルへの汎化達成
Any-to-Any Generation via Composable Diffusion
written by Zineng Tang, Ziyi Yang, Chenguang Zhu, Michael Zeng, Mohit Bansal
(Submitted on 19 May 2023)
Comments: Project Page: this https URL
Subjects: Computer Vision and Pattern Recognition (cs.CV); Computation and Language (cs.CL); Machine Learning (cs.LG); Sound (cs.SD); Audio and Speech Processing (eess.AS)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
本記事では、複数のモダリティを同時に入力し、様々なデータを生成できるAny-to-Anyの拡散モデル「CoDi(Composable Diffusion)」をご紹介します。
先ほど「複数のモダリティを同時に入力し、様々なデータを生成できる」と言いましたが、具体的には、以下のような11個の生成タスクが可能です。
- Text→Image
- Image→Text
- Text→Audio
- Audio→Text
- Image→Audio
- Audio→Image
- Text→Video
- Video→Text
- Text + Image + Audio→Image
- Text→Image + Text
- Text→Video + Audio
つまり、様々な入出力が可能なのです。特に、動画や音声を扱えたり、2つ以上の入力条件を受け付けていたりする点は、本研究の目玉とも言えるでしょう。具体的な生成タスクの結果は、以下のプロジェクトページで確認できます。
そんなCoDiについて詳しく説明する前に、まずは研究概要と背景について触れていきます。
研究概要と背景
従来のマルチモーダルモデルは、Text-to-ImageやText-to-Audioなど、単一のモダリティから別の単一モダリティを生成できますが、複数のモダリティを同時に扱うのは難しいという問題がありました。
CoDiはこの問題に対応し、任意のモダリティの組み合わせから、任意の組み合わせのモダリティを生成することが可能です。具体的には、異なるモダリティに対して個別に訓練された潜在拡散モデル(LDM)を基に、組み合わせて構築されています。
さらに、各入力モダリティは共有特徴空間に射影され、出力モデルはこの組み合わせた特徴に基づいて生成を行います。
このアプローチにより、CoDiは複数のモダリティをシームレスに生成することができ、例えば、テキストから「同期したビデオとオーディオ」を生成することが可能です。
上記の図では、同じ色の線が、対応する入出力を表します。
このようなマルチモーダル生成を、どのように実現しているのか、次のセクションで見ていきましょう。
CoDiの仕組み
まずは、任意のモダリティを扱うAny-to-Anyに存在する課題に触れ、その課題に対処するためのCoDiのモデル構成を見ていきましょう。
Any-to-Anyにおける課題
入力モダリティの任意の組み合わせから、任意の出力を生成することは、計算とデータの両面で膨大な要件を伴います。例えば、先ほど「11個のCoDiの生成タスク例」ご紹介しましたが、通常であれば各タスクに特化した拡散モデルを、11個分も用意する必要がありました。
その場合、11個の巨大なディープラーニングモデルを、個別に学習する必要があるため、計算量が膨大になるのです。
また、多くのモダリティの組み合わせに対する整合した訓練データは少なく、全ての可能な入出力組み合わせでの訓練は現実的ではありません。例えば、テキスト-画像のペアデータは大量にありますが、動画-音声のペアデータは少ないです。
当然、そのようなモダリティの組み合わせのモデルを学習するのは、データ不足の観点から困難です。
モデル構成と学習方法
先ほど述べた課題を解決するために、CoDiでは全てのモダリティを、1つの拡散モデルで統合的に扱えるようにしました。
CoDiの学習や推論方法は、以下の図の通りです。
具体的には、まず各4つのモダリティに対する潜在拡散モデル(LDM)を、個別に訓練します。これらのモデルは、独立して並行して訓練することができ、単一モダリティの生成品質を確保できます。
そして、上図のStage 1において、多様な条件入力を受け付けるよう学習されます。この際、各モダリティを共通の特徴空間に射影するために「Bridging Alignment」という技術が用いられています。
Bridging Alignment
Bridging Alignmentを実現するために、まず「CLIP」という「テキスト-画像」の対照学習モデルを学習させます。
次に、CLIPの重みを凍結した状態で、対照学習を用いて、音声と動画のプロンプトエンコーダにおいても、音声-テキスト、動画-テキストのペアデータセットで学習されます。
ここで、上記のほとんどの対照学習でテキストが使用されているのは、テキストデータの量が多く、「テキスト-データ」のペアデータを構成しやすいからです。
この方法により、4つのモーダリティを共通の特徴空間に射影でき、統合的に扱えるようになります。
Latent Alignmentによるマルチモーダル生成
最後のStage 2の目標は、各モーダルの拡散フロー間のクロスアテンションを可能にすること、すなわち、2つ以上のモダリティを同時に生成することです。そのためにも、先ほどのBridging Alignmentと同様の設計に従い、Latent Alignmentによる条件付け生成を行います。
このLatent Alignmentは、各モーダルの潜在変数を、共通の潜在空間に射影するような技術です。
Latent Alignmentによる条件付け生成の手順は、以下の通りです。
- 画像とテキストの拡散モデルにおけるCross-Attentionと、それぞれの環境エンコーダVを、テキスト-画像のペアデータで学習
- テキスト拡散モデルの重みを凍結し、音声の拡散モデルの環境エンコーダーとCross-Attentionをテキスト-音声のペアデータで学習
- 音声の拡散モデルとその環境エンコーダーを凍結し、音声-動画のペアデータで動画のマルチモーダル生成を学習
ここで、CoDiでは3つのペアデータ(テキスト-音声、テキスト-画像、ビデオ-音声)のマルチモーダル生成タスクでしか学習されていません。しかし、「画像-テキスト-音声」のマルチモーダル生成のように、学習では使われていないモダリティの組み合わせも、同時に生成することができます。
モーダルAとBのマルチモーダル生成における目的関数
2つ以上のモダリティAとBを同時に生成するためには、UNetにCross-Attentionのサブレイヤーを追加します。そして、先ほどのLatent AlignmentによってモダリティBの潜在変数を、共通の潜在空間に射影し、それをモダリティAのU-NetのCross-Attention層に通します。
そうすると、モダリティAを生成するための目的関数は、以下のようになります。
上記の$t$はタイムステップを表し、$y$は条件付けのためのデータを表します。
こうして、モダリティAの拡散モデルは、モダリティBの情報を含む形で学習されるのです。ちなみに、モダリティAとBの同時生成では、$L^{A}_{Cross}$ + $L^{B}_{Cross}$を目的関数とします。
また、環境エンコーダVは、対照学習によって学習されます。
評価実験
本研究で使用されたデータセットは、以下の表の通りです。
使用されるデータセットには、画像+テキスト(キャプション付き画像)、オーディオ+テキスト(キャプション付きオーディオ)、オーディオ+ビデオ(キャプション付きビデオ)、ビデオ+テキスト(キャプション付きビデオ)があります。
また、訓練タスクには、単一モダリティ生成、マルチモーダル生成、およびプロンプトエンコーダを整合させるための対照的学習が含まれます。
結果
CoDiによる単一モダリティ生成の例は、以下の通りです。
確かに、様々な条件入力を受け付けているのが分かります。
また、評価指標を用いた定量的な評価の結果は、以下の通りです。
単一モダリティ生成では、CoDiは音声キャプショニングと音声生成で、最先端の成果を達成しています。画像キャプションでは、Transformerベースの最先端モデルと比較して、同等の性能を示しています。
また、本研究では、生成されたモダリティ間の一貫性と整合性を測るために、新しいメトリック「SIM」が導入されました。この指標は、生成されたモダリティの埋め込み間のコサイン類似度を計算することで、モダリティ間の一致度を定量化できます。
オーディオ→画像+テキスト、画像→オーディオ+テキスト、テキスト→ビデオ+オーディオなどの設定で評価され、独立生成と比較して一貫してより強い整合性が示されました。
さらに、マルチモーダル生成の例は、以下の通りです。
マルチモーダル生成でも、高品質なデータ生成が可能であることが分かります。
まとめ
CoDiはテキスト、画像、動画、音声を含む様々なモダリティを処理し、同時に生成することができます。様々な入力モーダリティの組み合わせから、高品質で一貫性のある出力を生み出すことができ、人とコンピュータの対話をよりリアリティなものにするための重要な一歩となってるでしょう。
そして、このようなマルチモーダルモデルを、汎用的な人工知能の研究に、役立てられるかもしれません。
この記事に関するカテゴリー