ホームページ >テクノロジー周辺機器 >AI >テキストで生成された画像は非常に人気があるため、これらのテクノロジーの進化を理解する必要があります
OpenAI は最近、AI の世界に「激震」を引き起こした、テキストの記述に基づいて画像を作成できる DALL・E 2 システムをリリースしました。これは DALL・E システムの 2 番目のバージョンであり、最初のバージョンはほぼ 1 年前にリリースされました。ただし、OpenAI 内では、DALL・E 2 の背後にあるモデルは unCLIP と呼ばれており、これはオリジナルの DALL・E よりも OpenAI の GLIDE システムに近いものです。
著者にとって、DALL・E 2 システムの影響は AlphaGo に匹敵します。このモデルは多くの複雑な概念を捉え、それらを意味のある方法で組み合わせているようです。ほんの数年前までは、コンピューターがそのようなテキストの説明から画像を生成できるかどうかを予測することは困難でした。サム・アルトマン氏は、ブログ投稿の中で、AI は機械的で反復的な作業だけでなく、創造的な作業にも影響を及ぼし始めているため、AI に関する私たちの予測は間違っているようであり、更新する必要があると述べました。
この記事は、DALL・E の第 1 バージョンと第 2 バージョン、およびその他のモデルを含む、OpenAI のテキストガイドによる画像生成モデルの進化を読者に紹介することを目的としています。
DALL·E の最初のバージョンは、テキスト入力とオプションで、画像が自己回帰を開始してサイズ 256×256 の画像を生成します。
あなたはこれらのアボカドチェアを見たことがあるはずです:
元のブログ投稿より。
GPT のようなトランスフォーマーがどのように機能するかを理解したい場合は、Jay Alammar による優れた視覚的な説明を参照してください: https://jalammar.github.io/how-gpt3-works-visualizations-animations/
テキストは BPE トークン (最大 256) によってエンコードされ、画像は離散変分オートエンコーダー (dVAE) によって生成された特別な画像トークン (そのうち 1024 個) によってエンコードされます。 dVAE は、256×256 の画像を 8192 個の可能な値のボキャブラリを備えた 32×32 トークンのグリッドにエンコードします。 dVAE は生成された画像の一部の詳細と高周波の特徴を失うため、DALL・E は生成された画像の特徴のぼかしと平滑化を使用します。
元の画像 (上) と dVAE 再構成 (下) の比較。元の紙からの画像。
ここで使用されているトランスフォーマーは、12B サイズのパラメーターを持つ大規模なモデルであり、64 個のスパース トランスフォーマー ブロックで構成されています。内部には次のような複雑なアテンション メカニズムが備わっています: 1) クラシック テキストからテキストへアテンションマスキングメカニズム、2) 画像からテキストへのアテンション、3) 画像から画像へのスパースアテンション。 3 つのアテンション タイプはすべて 1 つのアテンション操作に結合されます。このモデルは、2 億 5,000 万個の画像とテキストのペアのデータセットでトレーニングされます。
GPT-3 のようなトランスフォーマー デコーダーは、一連のテキスト トークンと (オプションの) 画像トークン (ここでは ID 42 の単一の画像トークン) を使用して、画像を生成します。 (ここに ID 1369 の次の画像トークンがあります)
トレーニングされたモデルは、提供されたテキストに基づいていくつかのサンプル (最大 512) を生成し、これらすべてのサンプルを CLIP と呼ばれるプログラムに渡します。特別なモデルは次のとおりです。ソートされ、最上位のものがモデル結果として選択されます。
元の論文からのいくつかの画像生成例。
CLIP は元々、DALL·E の結果を並べ替えるための別個の補助モデルでした。名前はContrastive Language-Image Pre-Trainingの略です。
CLIP の背後にある考え方はシンプルです。著者は、インターネットから画像とテキストのペアのデータセット (サイズ 400M) を取得し、そのようなデータセットで比較モデルをトレーニングしました。対照モデルでは、同じペアの画像とテキスト (つまり、類似している) については高い類似性スコアが生成され、不一致のテキストと画像については低いスコアが生成されます (特定の画像が現在のトレーニング バッチ内の他の画像と同じであることが必要です)。テキストのペア間で高い類似性の結果が得られる可能性は非常に小さいです)。
モデルは 2 つのエンコーダーで構成されています。1 つはテキスト用、もう 1 つは画像用です。エンコーダは、エンベディング (オブジェクトの多次元ベクトル表現、たとえば 512 バイトのベクトル) を生成します。次に、2 つの埋め込みを使用してドット積が計算され、類似性スコアが導出されます。埋め込みは正規化されているため、類似性スコアを計算するこのプロセスではコサイン類似度が出力されます。コサイン類似度は、同じ方向を向いているベクトル (間の角度が小さい) では 1 に近く、直交するベクトルでは 0、反対のベクトルでは -1 に近づきます。
トレーニング前のプロセスの比較視覚化 (元の投稿からの画像)
CLIP はモデルのセットです。 9 つの画像エンコーダー、5 つの畳み込みエンコーダー、および 4 つのトランスフォーマー エンコーダーがあります。畳み込みエンコーダーは、ResNet-50、ResNet-101、および RN50x4、RN50x16、RN50x64 と呼ばれる EfficientNet に似たモデルです (数字が大きいほど、モデルは優れています)。トランスフォーマー エンコーダーは、ビジュアル トランスフォーマー (または ViT)、ViT-B/32、ViT-B/16、ViT-L/14、および ViT-L/14@336 です。最後のものは解像度 336 × 336 ピクセルの画像で微調整され、他のものは 224 × 224 ピクセルでトレーニングされました。
OpenAI は段階的にプログラムをリリースし、最初に ViT-B/32 と ResNet-50、次に ResNet-101 と RN50x4、2021 年 7 月に RN50x16 と ViT-B/16、そして RN50x64 と ViT をリリースしました。 2022年1月にL/14が発売され、2022年4月にはついにViT-L/14@336が登場しました。
テキスト エンコーダは通常のトランスフォーマ エンコーダですが、マスクされたアテンション メカニズムを備えています。このエンコーダは 12 層で構成され、各層には 8 つのアテンション ヘッドがあり、合計 63M のパラメータがあります。興味深いことに、アテンション スパンはわずか 76 トークンです (GPT-3 では 2048 トークン、標準 BERT では 512 トークンと比較して)。したがって、モデルのテキスト部分はかなり短いテキストにのみ適しており、大きなテキスト ブロックをモデルに配置することはできません。 DALL・E 2 と CLIP はほぼ同じであるため、同じ制限があるはずです。
CLIP を事前トレーニングした後は、(優れた基本モデルを活用して) さまざまなタスクに使用できます。
最も重要なことは、読者は DALL·E でソートされたモデルを使用して複数の結果を採点し、最良のものを選択できることです。あるいは、CLIP 関数を使用してその上にカスタム分類子をトレーニングすることもできますが、成功した例はまだ多くありません。
次に、CLIP を使用して、任意の数のクラスに対してゼロショット分類を実行できます (モデルがこれらのクラスを使用するように特別にトレーニングされていない場合)。これらのクラスは、モデルを再トレーニングせずに調整できます。
簡単に言えば、必要な数のクラスに対して、画像内のオブジェクトを説明するテキスト データ セットを作成できます。次に、これらの説明に対してテキスト埋め込みが生成され、ベクトルとして保存されます。分類に画像が使用される場合、画像エンコーダを使用して画像埋め込みが生成され、画像埋め込みとすべての事前計算されたテキスト埋め込みの間の内積が計算されます。最も高いスコアを持つペアが選択され、そのペアに対応するクラスが結果となります。
CLIP を使用したゼロショット分類のためのプログラム。
ゼロショット分類モデルは、モデルが特定のカテゴリのセットに対してトレーニングされていないことを意味します。分類器を最初からトレーニングしたり、事前トレーニングされた画像モデルを微調整したりする代わりに、オンザフライ エンジニアリングに事前トレーニングされた CLIP を使用するオプションが追加されました (GPT モデルを使用するのと同じです)。
多くの人は、(そのように事前設定されていない場合でも) CLIP を使用して画像を生成することもできることを知りません。成功例としては、CLIPDraw や VQGAN-CLIP などがあります。
CLIPD 描画の例。元の論文からの写真。
#VQGAN-CLIP とそのテキストプロンプトの生成例。元の論文からの写真。このプロセスはシンプルで美しく、DeepDream とよく似ています。目的の画像のテキスト説明と初期画像 (ランダムな埋め込み、スプラインまたはピクセルでのシーンの説明、区別可能な方法で作成された画像) から開始し、画像を生成するループを実行して、安定性プロパティの強化を追加し、次の結果を取得します。結果の画像の CLIP 埋め込みを取得し、それを画像を説明するテキストの CLIP 埋め込みと比較します。この差に基づいて損失が計算され、勾配降下プログラムが実行されて画像が更新され、損失が削減されます。何度か繰り返すと、テキストの説明とよく一致する画像を取得できます。初期シーンの作成方法 (スプライン、ピクセル、レンダリング プリミティブ、VQGAN の基礎となるコードなどを使用) は、画像の特性に大きな影響を与える可能性があります。
CLIPDraw 生成プロセス: ランダムなベジェ曲線のセットから開始して、生成されたグラフィックスが指定された説明プロンプトに最もよく一致するように、曲線の位置と色が最適化されます。元の論文からの写真。
VQGAN-CLIP の生成プロセス。元の論文からの写真。
CLIP 埋め込みはすべてを捕捉できるわけではありません。いくつかの興味深いデモはその弱点を示しています。最もよく知られた例の 1 つは、誤植攻撃です。この攻撃では、画像上のテキストが画像の誤分類につながる可能性があります。
現在、Google の ALIGN や Huawei の FILIP など、CLIP と同様の構造を持つ代替モデルがいくつかあります。
GLIDE
GLIDE (生成と編集のためのガイド付き言語から画像への拡散) は、OpenAI によって開始されたテキストガイド付き画像生成モデルです。DALL・E を打ち破りましたが、評価は比較的低かったです。ご注意ください。 OpenAI Web サイトには専用の投稿さえありません。 GLIDE は、256×256 ピクセルの解像度で画像を生成します。
3.5B パラメータを持つ GLIDE モデル (ただし、1.5B パラメータを持つ別のアップサンプリング モデルがあるため、正しい数は 5B パラメータのようです) は、12B パラメータ DALL·E よりも好まれ、DALL にも勝ります・FIDスコアはE。
GLIDE のサンプル。元の紙からの画像。
GLIDE モデルは、画像修復を実行するように微調整することもでき、DALL·E 2 で使用される強力なテキスト駆動の画像編集を可能にします。
GLIDE のテキスト条件付き画像修復の例。緑色の領域が消去され、モデルは指定されたプロンプトに従ってこの領域を塗りつぶします。モデルは周囲のスタイルや照明に合わせることができ、リアルな仕上がりになります。例は元の論文からのものです。
GLIDE は、発売当時は「DALL・E 2」と呼ばれていたかもしれません。さて、別の DALL·E 2 システム (論文では実際には unCLIP と呼ばれ、GLIDE 自体を多用する) がリリースされると、GLIDE を DALL·E 1.5 と呼ぶことができます :)
GLIDE は別のモデルに似ていますを拡散モデルといいます。簡単に言うと、拡散モデルは一連の拡散ステップを通じて入力データにランダム ノイズを追加し、その後逆拡散プロセスを学習してノイズから画像を構築します。
ノイズ除去拡散モデルにより画像が生成されます。
次の図は、Google が画像を生成するために拡散モデルを使用していることを視覚的に示しています。
拡散モデルと他のカテゴリの生成モデルとの比較。
まず、著者らは、テキスト エンコーダーを使用して、自然言語記述を条件とした 3.5B パラメーター拡散モデルをトレーニングしました。次に、拡散モデルをテキスト プロンプトにブートストラップするための 2 つの手法、CLIP ブートストラップと分類器を使用しないブートストラップ (後者の方が良い結果が得られました) を比較しました。
分類器ブートストラップを使用すると、拡散モデルを分類器のラベルで条件付けでき、分類器からの勾配を使用してサンプルをラベルに向けてガイドできます。
分類子を使用しないブートストラップでは、別個の分類子モデルをトレーニングする必要はありません。これはブートストラップの単なる形式であり、ラベル付きとラベルなしの拡散モデルの予測間を補間します。
著者が述べたように、分類のないガイダンスには 2 つの魅力的な特性があります。まず、ブートストラップ プロセス中に、別個の (場合によっては小規模な) 分類モデルの知識に依存するのではなく、単一のモデルが独自の知識を活用できるようになります。 2 番目に、テキストなどの分類子では予測が難しい情報に基づいて条件付けを行う際のガイダンスが簡素化されます。
CLIP ガイダンスに従って、分類子は CLIP モデルに置き換えられます。画像のドット積と、画像のキャプションに関してエンコードされた勾配を使用します。
分類器と CLIP ブートストラップでは、逆拡散中に正しい勾配を取得するために、ノイズの多い画像で CLIP をトレーニングする必要があります。著者らは、ノイズを認識するように明示的にトレーニングされた CLIP モデルを使用しました。これらのモデルは、ノイズのある CLIP モデルと呼ばれます。ノイズのある画像でトレーニングされていないパブリック CLIP モデルも拡散モデルのガイドに使用できますが、ノイズのある CLIP ガイダンスはこのアプローチで適切に機能します。
テキスト条件付き拡散モデルは、ノイズの多い画像 xₜ と対応するテキスト キャプション c に基づいて次の拡散ステップの画像を予測する、強化された ADM モデル アーキテクチャです。
ビジュアル部分は、変更された U-Net アーキテクチャです。 U-Net モデルは、一連の残差レイヤーとダウンサンプリング畳み込みを使用し、その後、一連の残差レイヤーとアップサンプリング畳み込みを使用し、残差接続 (スキップ接続) を使用してレイヤーを同じ空間サイズで接続します。
オリジナルの U-Net アーキテクチャ。元の論文からの写真。
GLIDE は、元の U-Net アーキテクチャの幅や深さなどにさまざまな変更が加えられており、8×8、16×16、32×32 の解像度で複数のアテンション ヘッドを使用してグローバルな注目を追加します。 。さらに、タイム ステップ埋め込みの投影が各残差ブロックに追加されます。
分類器ブートストラップ モデルの場合、分類器アーキテクチャは、最終出力を生成するための 8×8 層のアテンション プールを備えた U-Net モデルのダウンサンプリングされたバックボーン ネットワークです。
テキストは、トランスフォーマー モデルを通じて K 個のトークンのシーケンスにエンコードされます (最大注意持続時間はまだ不明です)。
トランスフォーマーの出力は 2 つの方法で使用できます: 1 つ目は、最後のトークン埋め込みを使用して ADM モデル内のクラス埋め込みを置き換えます; 2 つ目は、トークン埋め込みの最後の層 (K 個の特徴ベクトルのシーケンス) ) は全体に投影されます。ADM モデルの各アテンション層の次元は、各層のアテンション コンテキストに接続されます。
テキスト トランスフォーマーには幅 2048 の残差ブロックが 24 個あり、約 1.2B のパラメータになります。 64×64 解像度向けにトレーニングされたモデルの視覚部分は、2.3B パラメーターで構成されます。 3.5B パラメータを持つテキスト条件付き拡散モデルに加えて、著者は 1.5B パラメータを持つ別のテキスト条件付きアップサンプリング拡散モデルもトレーニングし、解像度を 256×256 に高めました (このアイデアは DALL·E でも使用されます)。
アップサンプリング モデルは、ベース モデルと同じ方法でテキストを条件としますが、幅が 2048 ではなく 1024 の小さいテキスト エンコーダを使用します。 CLIP ガイダンスのために、ノイズの多い 64×64 ViT-L CLIP モデルもトレーニングしました。
GLIDE は DALL・E と同じデータセットでトレーニングされ、トレーニングの合計計算量は DALL・E のトレーニングに使用される量とほぼ同じになります。
GLIDE はすべての設定で最適であり、(VAE ブラーによる) GLIDE サンプル品質を低下させながら、DALL・E がより多くのテスト時間計算を使用して優れたパフォーマンスを達成できる設定も含みます。
モデルは、無条件の画像生成をサポートするために微調整されています。このトレーニング プロセスは、テキスト トークン シーケンスの 20% が空のシーケンスに置き換えられることを除いて、事前トレーニングとまったく同じです。このように、モデルはテキストの条件付き出力を生成する機能を保持しますが、無条件に画像を生成することもできます。
モデルは、修復を実行するために明示的に微調整されています。微調整中に、トレーニング サンプルのランダムな領域が削除され、残りの部分がマスク チャネルとともに追加の条件情報としてモデルに入力されます。
GLIDE は、ゼロショット生成とそれに続く一連の修復編集を使用して、複雑なシーンを繰り返し生成できます。
最初に「快適なリビング ルーム」というイメージ プロンプトを生成し、次に修復マスクを使用して、テキスト プロンプトを使用して壁に絵画とコーヒー テーブルを追加します。花瓶もあり、最後は壁をソファに移動。例は元の論文からのものです。
OpenAI は、2022 年 4 月 6 日に DALL・E 2 システムをリリースしました。 DALL・E 2 システムは、オリジナルの DALL・E に比べて結果が大幅に向上しました。 (オリジナルの DALL・E および GLIDE と比較して) 4 倍の高解像度、最大 1024×1024 ピクセルの画像を生成します。 DALL・E 2 システムの背後にあるモデルは unCLIP と呼ばれます。
著者らは、人間はフォトリアリズムの点で unCLIP よりも GLIDE をわずかに好むが、その差は非常に小さいことを発見しました。同様のリアリズムを備えた unCLIP は、多様性の点で GLIDE よりも好まれており、その利点の 1 つが強調されています。 GLIDE 自体は DALL・E 1 よりも人気があるため、DALL・E 2 は以前の DALL・E 1 に比べて大幅に改良されていることに留意してください。
「日の出の野原に座るキツネの絵をクロード・モネ風に描きたい」というリクエストに対して、システムの 2 つのバージョンが生成されました。元の記事。
DALL·E 2 概念、属性、スタイルを組み合わせることができます:
元の記事の例。
DALL・E 2は、GLIDEの機能であるテキストガイダンスに基づいた画像編集も行うことができます。影、反射、テクスチャを考慮しながら要素を追加および削除できます。
#元の紙から画像上の特定の位置にコーギーを追加します。
DALL·E 2 は、元の画像のバリエーションを生成するために使用することもできます。
画像のバリエーションを生成します。画像は元のテキストからのものです。 。
DALL・E 2 にもいくつか問題があります。特に、オブジェクトにプロパティをバインドする場合、unCLIP は GLIDE モデルよりも劣ります。たとえば、unCLIP は、2 つの別個のオブジェクト (立方体) を 2 つの別個のプロパティ (色) にバインドする必要があるというプロンプトに直面するのが GLIDE よりも困難です。
##unCLIP には、一貫したテキストを生成する際にもいくつかの困難があります。
もう 1 つの問題は、unCLIP が複雑なテキストを生成するのが難しいことです。シーンの生成の詳細:
# モデル内でいくつかの変更が行われました。下の画像は CLIP と GLIDE を組み合わせたもので、モデル自体 (フルテキスト条件付き画像生成スタック) は、CLIP 画像エンコーダーを反転して画像を生成するため、論文内では unCLIP と呼ばれています。
モデルの仕組みは次のとおりです。CLIP モデルは個別にトレーニングされます。次に、CLIP テキスト エンコーダは、入力テキスト (タイトル) の埋め込みを生成します。次に、特別な事前モデルがテキスト埋め込みに基づいて画像埋め込みを生成します。次に、拡散デコーダが画像埋め込みに基づいて画像を生成します。デコーダは基本的に、埋め込まれた画像を反転して画像に戻します。
システムのマクロの概要。一部の詳細 (デコーダのテキスト条件など) は示されていません。元の論文からの写真。
CLIP モデルは、ViT-H/16 イメージ エンコーダーを使用します。これは、幅 1280 の 256 x 256 解像度のイメージと 32 個の Transformer ブロックを使用します (元の CLIP の最大の ViT-L よりも大きいです)。より深く作業します)。テキスト エンコーダは、因果的注意マスク、幅 1024、24 の Transformer ブロックを備えた Transformer です (元の CLIP モデルには 12 の Transformer ブロックがあります)。テキスト トランスフォーマーの注意範囲が元の CLIP モデル (76 トークン) と同じかどうかは不明です。
拡散デコーダは、3.5B パラメータを備えた修正された GLIDE です。 CLIP イメージのエンベディングが投影され、既存のタイム ステップのエンベディングに追加されます。 CLIP 埋め込みは、GLIDE テキスト エンコーダーの出力シーケンスに接続される 4 つの追加のコンテキスト トークンにも投影されます。元の GLIDE のテキスト条件付きパスは、CLIP がキャプチャできなかった自然言語の側面を拡散モデルが学習できるようにするため、保持されます (ただし、あまり役に立ちません)。トレーニング中、時間の 10% は CLIP 埋め込みをランダムにゼロに設定するのに費やされ、時間の 50% はテキスト キャプションをランダムに削除するのに費やされます。
デコーダは 64×64 ピクセルの画像を生成し、続いて 2 つのアップサンプリング拡散モデルによって 256×256 と 1024×1024 の画像が生成されます。前者は 700M のパラメータを持ち、後者は 300M のパラメータを持ちます。アップサンプリングの堅牢性を向上させるために、条件付き画像はトレーニング中にわずかに破損します。最初のアップサンプリング段階ではガウスぼかしが使用され、第 2 段階では JPEG 圧縮アーティファクト、カメラ センサー ノイズ、バイリニアおよびバイキュービック補間、ガウス ノイズなどのより多様な BSR 劣化が使用されます。モデルは、ターゲットの 4 分の 1 のサイズのランダムな画像でトレーニングされます。テキスト コンディショニングはアップサンプリング モデルには使用されません。
テキストの説明に基づいて画像埋め込みをアプリオリに生成します。著者らは、自己回帰 (AR) 事前分布と拡散事前分布という、事前モデルの 2 つの異なるモデル クラスを調査します。以前のモデルは両方とも 1B パラメータを持っています。
AR の先例では、CLIP 画像の埋め込みが一連の離散コードに変換され、キャプションに基づいて自己回帰予測が行われます。拡散事前処理では、タイトルに条件付けされたガウス拡散モデルを使用して、連続埋め込みベクトルが直接モデル化されます。
タイトルに加えて、以前のモデルでは、CLIP テキストの埋め込みも条件付けできます。これは、タイトルの決定論的な関数であるためです。サンプリングの品質を向上させるために、著者らは、トレーニング中にこのテキスト条件情報を 10% の確率でランダムに削除することで、AR および拡散事前分布の分類子を使用しないガイド付きサンプリングも有効にしました。
AR 事前分布の場合、主成分分析 (PCA) により、CLIP 画像埋め込みの次元が削減されます。 1,024 個の主成分のうち 319 個の情報が 99% 以上保持されていました。各ディメンションは 1024 個のバケットに量子化されます。著者らは、テキスト タイトルと CLIP テキスト埋め込みをシーケンスのプレフィックスとしてエンコードすることで、事前に AR を調整しました。さらに、テキスト埋め込みと画像埋め込みの間の (量子化された) ドット積を表すトークンを追加します。これにより、より高いテキスト画像のドット積が画像をより適切に説明するキャプションに対応するため、より高いドット積でモデルを調整することができます。内積は分布の上半分からサンプリングされます。因果的注意マスクを備えた Transformer モデルを使用して、生成されたシーケンスを予測します。
事前拡散の場合、因果的注意マスクを備えたデコーダ専用の Transformer は、以下で構成されるシーケンスでトレーニングされます。
Transformerからの出力が使用される最終埋め込み ノイズレスCLIP画像埋め込みを予測します。
ドット積は拡散事前調整には使用されません。代わりに、サンプリング時間の品質を向上させるために、2 つの画像埋め込みサンプルが生成され、内積とテキスト埋め込みがより高い方が選択されました。
拡散事前分布は、同等のモデル サイズとトレーニング計算量の削減において、AR 事前分布よりも優れたパフォーマンスを発揮します。拡散事前分布は、GLIDE とのペア比較でも AR 事前分布よりも優れたパフォーマンスを示しました。
# 著者らは事前分布の重要性についても調査しています。彼らは、同じデコーダを異なる信号で条件付けしようとします: 1. テキスト キャプションとゼロの CLIP 埋め込み、2. テキスト キャプションと CLIP テキストの埋め込み (画像埋め込みであるかのように)、3. 以前の CLIP 画像埋め込みによって生成されたテキスト。タイトルのみに基づいてデコーダを調整するのは明らかに最悪ですが、サンプルを埋め込まないテキストを調整すると、望ましい結果が得られます。
別の調整信号を使用してください。画像は元のテキストからのものです。
エンコーダーをトレーニングする際、著者は CLIP および DALL-E データセット (合計約 6 億 5,000 万の画像) から等しい確率でサンプリングしました。デコーダー、アップサンプラー、および以前のモデルをトレーニングするとき、生成スタックをトレーニングするときにノイズの多い CLIP データセットがマージされたため、DALL-E データセット (約 2 億 5,000 万の画像) のみが使用されました。そのため、最初はサンプル品質が評価で悪影響を受けました。
モデルの合計サイズは 632M のようです?パラメータ(CLIP ViT-H/16イメージエンコーダー) 340M? (CLIP テキスト エンコーダー) 1B (事前拡散) 3.5B (拡散デコーダー) 1B (2 つの拡散アップサンプラー) = ~ 約 6.5B パラメーター (私の記憶が正しければ)。この方法では、テキストの説明に基づいて画像を生成できます。ただし、他の興味深いアプリケーションもいくつか可能です。
元の論文からの例。
各画像 x は、2 部構成の潜在表現 (z_i, x_T) にエンコードできます。これは、デコーダーが正確な再構成を生成するのに十分です。 latent z_i は、CLIP によって認識される画像の側面を記述する CLIP 画像の埋め込みです。潜在 x_T は、z_i を条件に x にデコーダを使用して DDIM (ノイズ除去拡散暗黙モデル) 逆変換を適用することによって取得されます。言い換えれば、これはイメージ x (または同等の x_0、GLIDE セクションのノイズ除去拡散モデル スキームを参照) を生成するときの拡散プロセスの開始ノイズです。
このバイナリ表現では 3 つの興味深い操作が可能です。
まず、デコーダで η > 0 の DDIM を使用してサンプリングすることにより、特定のバイナリ潜在表現 (z_i、x_T) のイメージ バリアントを作成します。 η = 0 の場合、デコーダは決定論的になり、指定された画像 x を再構築します。 η パラメータが大きいほど変化も大きくなり、CLIP 画像の埋め込みにどのような情報がキャプチャされ、すべてのサンプルに表示されるかを確認できます。
画像の変化を調べてください。
2 番目に、画像 x1 と x2 の間を補間できます。これを行うには、CLIP イメージの埋め込み z_i1 および z_i2 を取得し、slerp (球面線形補間) を適用して中間の CLIP イメージ表現を取得する必要があります。対応する中間 DDIM 潜在 x_Ti には 2 つのオプションがあります: 1) slerp を使用して x_T1 と x_T2 の間を補間する、2) DDIM 潜在を軌道内のすべての補間に対してランダムにサンプリングされた値に固定する (軌道の数は無制限に生成可能) 。次のイメージは 2 番目のオプションを使用して生成されました。
2 つの画像の補間を調べます。
最後の 3 つ目は、言語による画像操作またはテキストの区別です。新しいテキスト説明 y を反映するように画像を変更するには、まず z_t を埋め込んだ CLIP テキストと、現在の画像を説明するタイトル (おそらく「写真」などのダミー タイトルまたは空のタイトル) の z_t0 を埋め込んだ CLIP テキストを取得します。次に、テキスト差分ベクトル z_d = Norm(z_t - z_t0) を計算します。次に、slerp を使用して、画像 CLIP 埋め込み z_i とテキスト差分ベクトル z_d の間で回転し、軌跡全体で固定ベース DDIM ノイズ x_T を持つ画像を生成します。
# 元のテキストとのテキストの違いを調べます。
著者は、CLIP の潜在空間を探索するために一連の実験も実施しました。以前の調査では、CLIP が印刷攻撃に対して脆弱であることが示されています。これらの攻撃では、テキストの一部がオブジェクトの上にオーバーレイされるため、CLIP は画像に記述されているオブジェクトではなく、テキストが記述しているオブジェクトを予測します (「iPod」のバナーを掲げた Apple を覚えていますか?)。著者らは現在、そのような画像のバリアントを生成しようと試みており、画像が正しく分類される確率は非常に低いものの、生成されたバリアントは高い確率で正しいことを発見しました。このタイトルの相対予測確率は非常に高いですが、このモデルは iPod の画像を生成しません。
#攻撃ケースを印刷します。 もう 1 つの興味深い実験は、主成分をさらに増やして画像を再構成することです。以下の画像では、少数のソース画像の CLIP 画像埋め込みを取得し、PCA 次元を増加させてそれらを再構築し、DDIM を備えたデコーダを使用して再構築された画像埋め込みを視覚化しました。これにより、さまざまな次元でエンコードされた意味情報を表示できるようになります。 元の論文からの主成分がますます増えています。 また、unCLIP では、プロパティ バインディング、テキスト生成、および複雑なシーンの詳細に関して困難があることにも留意してください。 最初の 2 つの問題は、CLIP 埋め込み属性が原因である可能性があります。 プロパティ バインディングの問題は、CLIP 埋め込み自体がプロパティをオブジェクトに明示的にバインドしないため、画像生成時にデコーダがプロパティとオブジェクトを混同するために発生する可能性があります。 困難な結合問題を元のテキストから再構成した別のセット。 テキスト生成の問題は、CLIP 埋め込みがレンダリングされたテキストのスペル情報を正確にエンコードしていないことが原因で発生する可能性があります。デコーダ階層が 64×64 の基本解像度で画像を生成し、それをアップサンプリングするために、低精細度の問題が発生する可能性があります。したがって、より高い基本解像度を使用すると、問題が解消される可能性があります (追加のトレーニングと推論計算が必要になります)。
OpenAI のテキストベースの画像生成モデルの進化を見てきました。この分野に取り組んでいる企業は他にもあります。
DALL・E 2 (または unCLIP) は、わずか 1 年前に作成されたシステムの最初のバージョンである DALL・E 1 に比べて大幅に改善されました。ただし、まだ改善の余地がたくさんあります。
残念ながら、これらの強力で興味深いモデルはオープンソースになっていません。著者は、そのようなモデルがさらに公開されるか、少なくとも API 経由で利用できるようにしたいと考えています。そうしないと、これらの結果はすべて、非常に限られた対象者にのみ適用されます。
そのようなモデルにはエラーが発生したり、間違ったタイプのコンテンツが生成されたり、悪意のあるエージェントによって使用されたりする可能性があることは否定できません。著者はこれらの問題にどう対処するかを議論する必要があると訴えている。これらのモデルには潜在的に良い用途が無数にありますが、上記の問題に対処できていないため、これらの探求は妨げられています。
著者は、DALL・E 2 (または他の同様のモデル) がオープン API を通じてすぐに誰でも利用できるようになることを望んでいます。
以上がテキストで生成された画像は非常に人気があるため、これらのテクノロジーの進化を理解する必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。