深い言語理解によるフォトリアリスティックなテキストから画像への拡散モデル (論文の読書)

深い言語理解によるフォトリアリスティックなテキストから画像への拡散モデル

Chitwan Saharia、Google Research、Brain Team、Neurips2022、Cited:619、コード論文

1 はじめに

私たちは、前例のないレベルのリアリズムと深い言語理解を備えたテキストから画像への拡散モデルである Imagen を紹介します。Imagen は、テキストを理解するために大規模な Transformer 言語モデルに基づいて構築されており、高忠実度の画像生成においては拡散モデルの強みに依存しています。私たちの主な発見は、プレーンテキストコーパスで事前学習された一般的な大規模言語モデル (T5 など) が、画像合成用のテキストのエンコードに驚くほど効果的であるということです。Imagen で言語モデルのサイズを増やす方が、画像拡散モデルのサイズを増やすよりも高速です。より良いサンプルです。忠実度と画像テキストの配置。Imagen は、COCO でのトレーニングなしで COCO データセット上で 7.27 という最先端の FID スコアを達成しており、人間の評価者は、Imagen のサンプルが画像とテキストの位置合わせの点で COCO データ自体と同等であることを発見しました。テキストから画像へのモデルをより詳細に評価するために、テキストから画像へのモデルの包括的かつ挑戦的なベンチマークである DrawBench を紹介します。DrawBench を使用して、Imagen を VQ-GAN+CLIP、潜在拡散モデル、GLIDE、DALL-E 2 などの最近の手法と比較したところ、人間の評価者はサンプル品質の両方の点で並列比較において Imagen を好むことがわかりました。または画像とテキストの位置合わせ。

2. はじめに

近年、マルチモーダル学習が徐々に出現しており、その中でテキストと画像の合成と画像とテキストの対比学習が最も顕著です。これらのモデルは研究コミュニティを変革し、創造的な画像生成および編集アプリケーションを通じて広く世間の注目を集めました。この研究の方向性をさらに探求するために、トランスフォーマー言語モデル (LM) と高忠実度の拡散モデルの力を組み合わせて、前例のない写真のリアリズムと言語のより深い理解を提供する、テキストから画像への拡散モデルである Imagen を紹介します。画像テキストデータのみを使用したモデルトレーニングに関するこれまでの研究と比較して、Imagen の背後にある重要な発見は、プレーンテキストコーパスで事前トレーニングされた大きな Lm からのテキスト埋め込みがテキスト画像合成に非常に効果的であるということです。
ここに画像の説明を挿入
Imagen は概念的にはシンプルでトレーニングが簡単ですが、驚くほど強力な結果を生み出します。COCO での Imagen のゼロショット FID-30K は 7.27 で、他の方法を上回り、GLIDE (12.4) や DALL-E 2 (10.4) での並列作業などの以前の作業を大幅に上回っています。当社のゼロショット FID スコアは、COCO でトレーニングされた最先端のモデル (Make-A-Scene (7.6) など) よりも優れています。さらに、人間の評価者は、Imagen から生成されたサンプルが、画像とテキストの位置合わせの点で COCO キャプションの参照画像と一致していると指摘しました。

テキストから画像への評価のための構造化テキスト プロンプトの新しいスイートである DrawBench を紹介します。DrawBench は、テキストから画像へのモデルの多次元評価を通じてより深い洞察を提供し、テキスト ヒントはモデルのさまざまなセマンティック プロパティを調査することを目的としています。これらには、構成性、カーディナリティ、空間関係、複雑なテキストのキューや珍しい単語を含むキューを処理する能力、データのトレーニング範囲をはるかに超えて、非常にありそうもないシナリオを生成するモデルの能力の限界を押し上げる創造的なキューが含まれます。DrawBench を使用した広範な人間による評価では、Imagen が他の最近の方法よりも優れていることが示されています。さらに、CLIP などのマルチモーダル埋め込みを使用するのではなく、Imagen テキスト エンコーダーとして大規模な事前トレーニング済み言語モデルを使用することの明確な利点をいくつか示します。

主な貢献は次のとおりです。

  1. テキスト データのみでトレーニングされた大規模なフリーズ言語モデルは、テキストから画像への生成に非常に効果的なテキスト エンコーダーであること、およびフリーズ テキスト エンコーダーのサイズをスケーリングすることで、画像拡散モデルのサイズをスケーリングするよりもサンプルの品質が大幅に向上することがわかりました。
  2. 新しい拡散サンプリング手法である動的しきい値処理を導入し、高いブートストラップ ウェイトを利用して、以前よりもリアルで詳細な画像を生成します。
  3. 私たちは、いくつかの重要な拡散アーキテクチャ設計の選択肢を強調し、よりシンプルで、より高速に収束し、よりメモリ効率の高い新しいアーキテクチャのバリアントである Efficient U-Net を提案します。
  4. 最新の COCO FID 7.27 を実装しました。人間の評価者は、画像とテキストの配置の点で、Imagen が参照画像と同等であることを発見しました。
  5. テキストから画像へのタスクのための新しい包括的で挑戦的な評価ベンチマークである DrawBench を紹介します。DrawBench による人間による評価では、Imagen が DALL-E 2 での同時作業を含む他のすべての作業よりも優れていることがわかりました [54]。

3. 画像

Imagen は、テキストを一連の埋め込みにマッピングするテキスト エンコーダーと、これらの埋め込みを解像度を上げていく画像にマッピングする条件付き拡散モデルのカスケードで構成されます (図を参照)。次のサブセクションでは、各コンポーネントについて詳しく説明します。
ここに画像の説明を挿入

3.1 事前トレーニングされたテキストエンコーダー

テキストから画像へのモデルには、任意の自然言語テキスト入力の複雑さと構成を捕捉するための強力なセマンティック テキスト エンコーダーが必要です。現在のテキストから画像へのモデルでは、ペアの画像とテキストのデータでテキスト エンコーダをトレーニングするのが標準的な手順であり、最初からトレーニングすることも、画像とテキストのデータ (CLIP など) で事前にトレーニングすることもできます。画像からテキストへのトレーニング目標は、これらのテキスト エンコーダーが、特にテキストから画像への生成タスクに関連する視覚的なセマンティクスと意味のある表現をエンコードできることを示しています。テキストをエンコードするためのもう 1 つのオプションは、大規模な言語モデルです。大規模言語モデル (BERT、GPT、T5 など) の最近の進歩により、テキストの理解と生成能力が飛躍的に向上しました。言語モデルは、テキストのみのコーパスでトレーニングされます。テキストのみのコーパスは、画像とテキストのペアのデータよりもはるかに大きいため、非常に豊富で広範囲に分布するテキストにさらされます。これらのモデルは、通常、現在の画像からテキストへのモデルのテキスト エンコーダーよりもはるかに大きくなります。

したがって、テキストから画像へのタスクでは 2 つのテキスト エンコーダー ファミリを検討するのが自然になります。Imagen は、事前トレーニングされたテキスト エンコーダー (BERT、T5、および CLIP) を探索します。簡単にするために、これらのテキスト エンコーダーの重みを固定します。フリーズには、埋め込みのオフライン計算などの利点があり、テキスト画像モデルのトレーニング中の計算やメモリの使用量は無視できます。私たちの研究では、テキスト エンコーダーのサイズをスケーリングすると、テキストから画像への生成の品質が向上するという明確な確信が得られました。

3.2 普及モデルと分類子を使用しないガイダンス

ここで普及モデルを簡単に紹介します。拡散モデルは、反復的なノイズ除去プロセスを通じてガウス ノイズを学習データ分布からのサンプルに変換する生成モデルのクラスです。これらのモデルは、クラス ラベル、テキスト、または低解像度の画像などに基づいて条件付きにすることができます。損失関数の形式:
E x , c , ϵ , t [ wt ∥ x ^ θ ( α tx + σ t ϵ , c ) − x ∥ 2 2 ] \mathbb{E}_{\mathbf{x}, \mathbf {c}, \boldsymbol{\epsilon}, t}\left[w_{t}\left\|\hat{\mathbf{x}}_{\theta}\left(\alpha_{t} \mathbf {x }+\sigma_{t} \boldsymbol{\epsilon}, \mathbf{c}\right)-\mathbf{x}\right\|_{2}^{2}\right]Ex c ϵ t[ wバツ^( _バツ+pϵc )× 22]
これは通常表示されるものとは異なります。言っておきますが、これは予測されたx 0 = x x_{0}=xバツ0=×cccx 0 x_{0}バツ0対応する条件。重さはtt付きtに依存します。つまり、異なるttt値には異なる重みが与えられ、tttの損失は異なります、つまりtt難易度別に分かれています

分類子ガイダンスは、サンプリング中に事前トレーニングされたモデルからの勾配補正を使用して、条件付き拡散モデルの多様性を低減しながらサンプルの品質を向上させる手法です。詳細については、「ガイド付き拡散/拡散モデルが画像合成で GAN に勝つ (論文の読み取り)」を参照してください分類子なしのブートストラップは、トレーニング中に条件cc をランダムに削除する代替手法です。c (例: 10% の確率)、条件付きターゲットと無条件ターゲットで単一の拡散モデルを共同トレーニングすると、この事前トレーニング モデルが回避されます。この記事では調整されたxxxは、ノイズϵ θ \epsilon_{\theta}を予測します。ϵただし、最初に次の式によってノイズをx ^ \hat xに変換します。バツ^方程式を指定します:
ϵ ~ θ ( xt , c ) = w ϵ θ ( xt , c ) + ( 1 − w ) ϵ θ ( xt ) \tilde \epsilon_{\theta}(x_{t}, c) = w\epsilon_{\theta}(x_{t}, c) + (1-w)\epsilon_{\theta}(x_{t})ϵ( ×c )=_( ×c )+( 1w ) ϵ( ×)
は実際には条件付きおよび無条件の平衡です、w = 1 w=1w=1は条件付きです (w > 1 w>1w>1、条件が強化されます。

3.3 大型ガイダンスウェイトサンプラー

私たちは、テキストガイド付き拡散に関する最近の研究の結果を裏付け、分類子を使用しないブートストラップ重みを追加すると、画像とテキストの位置合わせが向上しますが、画像の忠実度が損なわれ、その結果、飽和度が高く不自然な画像が生成されることがわかりました。これは、ブートストラップの重みが高いことによって引き起こされるトレインテストの不一致が原因であることがわかりました。各サンプリングステップでtt××xの予測はxxと同じトレーニング データ内に存在する必要がありますxは同じ範囲内、つまり [-1, 1] 内にありますが、ブートストラップの重みが大きいとxxxの予測はこれらの境界を超えます。これはトレーニングとテストの不一致であり、サンプリング プロセス全体を通じて拡散モデルがそれ自体の出力に繰り返し適用されるため、サンプリング プロセスでは不自然な画像が生成され、場合によっては発散します。この問題に対処するために、静的しきい値処理と動的しきい値処理を調査します。効果の視覚化は次のとおりです。

ここに画像の説明を挿入
「馬に乗った宇宙飛行士の写真」の 256×256 サンプルの閾値処理手法。ブートストラップの重みは、上から下に向かって 1 から 5 まで増加します。しきい値処理を行わずに処理すると、ブートストラップの重みが高く、画像が粗悪になります。静的しきい値処理は改善ですが、依然としてサンプルの過飽和につながります。当社の動的しきい値処理により、最高品質の画像が実現されます。

3.4 ロバストなカスケード拡散モデル

Imagen は、ベース 64×64 モデルのパイプラインと 2 つのテキスト条件付き超解像度拡散モデルを使用して、64×64 で生成された画像を 256×256 画像にアップサンプリングし、さらに 1024×1024 画像にアップサンプリングします。ノイズ調整された拡張を備えたカスケード拡散モデルは、高忠実度の画像を段階的に生成する場合に非常に効果的です (高忠実度画像生成のためのカスケード拡散モデル)。さらに、ノイズ レベルの調整を通じて超解像モデルに追加ノイズの量を認識させることで、サンプルの品質が大幅に向上し、低解像度モデルによって生成されるアーティファクトに対処するための超解像モデルの堅牢性の向上に役立ちます。 。Imagen は両方の超解像度モデルにノイズ調整された拡張を使用します。これは高忠実度の画像を生成するために重要であることがわかりました。

条件付きの低解像度画像と拡張レベル ($aug_level とも呼ばれる) (例: ガウス ノイズやぼかしの強度) を指定すると、低解像度画像を拡張 (aug_level に対応) で破損し、aug_level 拡散モデルで条件付けします。トレーニング中は aug_level がランダムに選択されますが、推論中はそのさまざまな値をスキャンして最高のサンプル品質を見つけます私たちのケースでは、拡張の形式としてガウス ノイズを使用し、拡散モデルで使用される順プロセスと同様の分散を保存するガウス ノイズ拡張を適用します。

4. 評価と実験

ここに画像の説明を挿入
64×64 のテキストから画像への合成用に 20 億のパラメーター モデルをトレーニングし、64 から 256 へ、256 から 1024 へそれぞれ 600M と 400M のパラメーター モデルをトレーニングします。すべてのモデルに対して 2048 のバッチ サイズと 250 万のトレーニング ステップを使用します。基本の 64×64 モデルは 256 個の TPU-v4 チップを使用し、両方の超解像度モデルは 128 個の TPU-v4 チップを使用します。この GPU だけで 1 日あたり約 600 万元かかると計算しました

5. 効率的な U-Net

私たちは、Efficient U-Net と呼ばれる超解像度モデルの新しいアーキテクチャ バリアントを導入します。私たちの効率的な U-Net は、特に高解像度の場合、以前の実装よりもシンプルで、より高速に収束し、メモリ効率が高いことがわかりました。モデル パラメーターを高解像度ブロックから低解像度ブロックにシフトしたり、スキップ接続を1 / 2 1/\sqrt{2}だけスケーリングしたりするなど、U-Net アーキテクチャにいくつかの重要な変更を加えました。1/2 、ダウンサンプリング/アップサンプリング操作の順序を逆にして、フォワード パスの速度を向上させます。Efficient U-Net は、典型的な U-Net モデルにいくつかの重要な変更を加えています。

  1. 低解像度の残差ブロックをさらに追加することで、モデル パラメーターを高解像度ブロックから低解像度ブロックに転送します。通常、低解像度のブロックにはより多くのチャネルがあるため、法外なメモリや計算コストを発生させることなく、より多くのモデル パラメーターを使用してモデルの容量を増やすことができます。
  2. 低解像度で多数の残差ブロックを使用する場合 (低解像度では 8 つの残差ブロックを使用します)、スケーリングにより接続が1 / 2 1/\sqrt{2}だけスキップされることがわかります。1/2 収束速度が大幅に向上しました。
  3. 一般的な U-Net のダウンサンプリング ブロックでは、ダウンサンプリング操作は畳み込みの後に行われますが、アップサンプリング ブロックのアップサンプリング操作は畳み込みの前に行われます。ダウンサンプリング ブロックとアップサンプリング ブロックの順序を逆にして、U-Net のフォワード パスを大幅に高速化し、パフォーマンスの低下を確認しました。

これらの重要な簡単な変更により、Efficient U-Net は以前の一部の U-Net 実装よりもシンプルになり、より速く収束し、メモリ効率が向上しました。以下の図は効率的な U-Net の完全なアーキテクチャを示し、図 A.28 と A.29 はそれぞれ効率的な U-Net のダウンサンプリング ブロックとアップサンプリング ブロックの詳細な説明を示します。

ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_43800752/article/details/130133033