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 の進化ダル・E 1DALL·E の最初のバージョンは、テキスト入力とオプションの画像ヘッダーから 256×256 の画像を自己回帰的に生成できる GPT-3 スタイルのトランスフォーマー デコーダーです。 あなたはこれらのアボカドチェアを見たことがあるはずです: 元のブログ投稿より。 GPT のようなトランスフォーマーがどのように機能するかを理解したい場合は、Jay Alammar の優れた視覚的な説明をご覧ください: https://jalammar.github.io/how-gpt3-works-visualizations-animations/ テキストは BPE トークン (最大 256 個) によってエンコードされ、画像は離散変分オートエンコーダ (dVAE) によって生成された特別な画像トークン (1024 個) によってエンコードされます。 dVAE は、256×256 の画像を 32×32 トークンのグリッドにエンコードし、8192 個の可能な値を持つ語彙を持ちます。 dVAE では、生成された画像の一部の詳細と高周波の特徴が失われるため、DALL·E によって生成された画像の特徴には、ある程度のぼかしとスムージングが使用されます。 元の画像 (上) と dVAE 再構成画像 (下) の比較。オリジナル論文からの画像。 ここで使用されるトランスフォーマーは、12B のパラメータを持つ大規模なモデルで、64 個のスパース トランスフォーマー ブロックで構成され、内部には 1) 従来のテキスト間アテンション マスク メカニズム、2) 画像間アテンション、3) 画像間スパース アテンションなどの複雑なアテンション メカニズムのセットが含まれています。 3 つのアテンション タイプはすべて 1 つのアテンション操作に結合されます。このモデルは、2億5000万の画像とテキストのペアのデータセットでトレーニングされています。 GPT-3のようなトランスフォーマーデコーダーは、一連のテキストトークンと(オプションで)画像トークン(ここではID 42の単一の画像トークン)を受け取り、画像の続き(ここではID 1369の次の画像トークン)を生成します。 トレーニングされたモデルは、提供されたテキストに基づいていくつかのサンプル (最大 512 個) を生成し、その後、これらすべてのサンプルが CLIP と呼ばれる特別なモデルを通じてランク付けされ、最もランクの高いものがモデルの結果として選択されます。 元の論文からの画像生成の例をいくつか示します。 クリップCLIP はもともと、DALL·E の結果をランク付けするために使用される別の補助モデルでした。その名前はContrastive Language-Image Pre-Trainingの略称です。 CLIP の背後にあるアイデアはシンプルです。著者は、インターネットから画像とテキストのペアのデータセット (サイズ 400 MB) をクロールし、そのデータセットで比較モデルをトレーニングしました。対照モデルは、同じペアの画像とテキストに対して高い類似度スコアを生成し (つまり、類似している)、一致しないテキストと画像に対しては低いスコアを生成します (現在のトレーニング バッチ内の画像と他のテキストのペアの間で高い類似度結果が得られる可能性を小さくしたい)。 このモデルは、テキスト用と画像用の 2 つのエンコーダーで構成されています。エンコーダーは埋め込み(オブジェクトの多次元ベクトル表現、たとえば 512 バイトのベクトル)を生成します。次に、2 つの埋め込みを使用してドット積が計算され、類似度スコアが導出されます。埋め込みは正規化されているため、この類似度スコア計算の出力はコサイン類似度になります。同じ方向を指すベクトル(ベクトル間の角度が小さい)の場合、コサイン類似度は 1 に近くなり、直交ベクトルの場合、コサイン類似度は 0 に近くなり、反対ベクトルの場合、コサイン類似度は -1 に近くなります。 事前トレーニングプロセスの視覚化の比較(元の投稿からの画像) CLIP はモデルのセットです。画像エンコーダーが 9 個、畳み込みエンコーダーが 5 個、トランスフォーマー エンコーダーが 4 個あります。畳み込みエンコーダーは、ResNet-50、ResNet-101、および RN50x4、RN50x16、RN50x64 と呼ばれる EfficientNet のようなモデルです (数字が大きいほど、モデルの品質は高くなります)。トランスフォーマー エンコーダーは Visual Transformer (または 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、2022年1月にRN50x64とViT-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 埋め込みではすべてをキャプチャできるわけではなく、いくつかの興味深いデモンストレーションでその弱点が示されています。よく知られている例としては、プリンティング攻撃があります。この攻撃では、画像上のテキストによって画像の誤分類が発生する可能性があります。 Google の ALIGN や Huawei の FILIP など、CLIP と同様の構造を持つ代替モデルがいくつかあります。 グライド GLIDE (Guided Language to Image Diffusion for Generation and Editing) は、OpenAI が立ち上げたテキスト誘導型画像生成モデルです。現在 DALL·E に勝っていますが、あまり注目されていません。 OpenAI の Web サイトには専用の投稿すらありません。 GLIDE は 256×256 ピクセルの解像度の画像を生成します。 35 億個のパラメータを持つ GLIDE モデル (ただし、15 億個のパラメータを持つ別のアップサンプリング モデルがあるため、正しい数は 5 億個のパラメータのようです) は、12 億個のパラメータを持つ DALL·E よりも優先され、FID スコアでも DALL·E を上回ります。 GLIDEからのサンプル。オリジナル論文からの画像。 GLIDE モデルは、画像の修復を実行するように微調整することもでき、DALL·E 2 で使用される強力なテキスト駆動型画像編集が可能になります。 GLIDE からのテキスト条件付き画像修復の例。緑色の領域が消去され、モデルは与えられたヒントに基づいてこの領域を塗りつぶします。モデルは周囲のスタイルや照明に合わせて調整できるため、リアルな仕上がりになります。例は元の論文からのものです。 GLIDE は、発売時には「DALL・E 2」と呼ばれる可能性があります。さて、別の DALL·E 2 システムがリリースされると (論文では実際に unCLIP と呼ばれ、GLIDE 自体を多用します)、GLIDE を DALL·E 1.5 と呼ぶことができます :) GLIDE は、拡散モデルと呼ばれる別のモデルに似ています。つまり、拡散モデルは、一連の拡散ステップを通じて入力データにランダムなノイズを追加し、その後、拡散プロセスを逆にしてノイズから画像を構築することを学習します。 ノイズ除去拡散モデルで生成された画像。 以下は、拡散モデルを使用して Google が生成した画像の視覚化です。 拡散モデルと他のカテゴリの生成モデルの比較。 まず、著者らはテキスト エンコーダーを使用して、自然言語記述を条件とする 35 億のパラメーター拡散モデルをトレーニングしました。次に、研究者らは、拡散モデルをテキストプロンプトにブートストラップする 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 つの方法で使用されます。まず、最終的なトークン埋め込みを使用して、ADM モデル内のクラス埋め込みを置き換えます。次に、トークン埋め込みの最後のレイヤー (K 個の特徴ベクトルのシーケンス) を ADM モデル全体の各注意レイヤーの次元に投影し、各レイヤーの注意コンテキストに連結します。 テキスト トランスフォーマーには幅 2048 の残余ブロックが 24 個あり、結果として約 12 億個のパラメーターが生成されます。 64×64 解像度用にトレーニングされたモデルのビジョン部分は、23 億個のパラメータで構成されています。 35 億パラメータのテキスト条件付き拡散モデルに加えて、著者らは解像度を 256×256 に上げるために別の 15 億パラメータのテキスト条件付きアップサンプリング拡散モデルもトレーニングしました (このアイデアは DALL·E でも使用されています)。 アップサンプリング モデルは、ベース モデルと同じようにテキストに基づいて調整されますが、幅が 2048 ではなく 1024 のより小さなテキスト エンコーダーを使用します。 CLIP ガイダンスのために、ノイズの多い 64×64 ViT-L CLIP モデルもトレーニングしました。 GLIDE は DALL·E と同じデータセットでトレーニングされており、トレーニング計算の合計は DALL·E のトレーニングに使用される計算とほぼ等しくなります。 GLIDE は、設定によって DALL·E がより多くのテスト時間計算を使用して優れたパフォーマンスを達成し、GLIDE サンプル品質を低下させる (VAE ぼかしによる) にもかかわらず、すべての設定で最適です。 モデルは、無条件の画像生成をサポートするように微調整されています。トレーニング プロセスは事前トレーニングとまったく同じですが、テキスト トークン シーケンスの 20% が空のシーケンスに置き換えられます。この方法では、モデルはテキスト条件付き出力を生成する機能を保持しますが、無条件で画像を生成することもできます。 モデルは、修復を実行するために明示的に微調整されています。微調整中に、トレーニング例のランダムな領域が削除され、残りの部分が追加の条件情報としてマスク チャネルとともにモデルに入力されます。 GLIDE は、ゼロショット生成とそれに続く一連の修復編集を使用して複雑なシーンを反復的に生成できます。 まず、「快適なリビングルーム」というプロンプトの画像が生成され、次に修復マスクを使用して、後続のテキストプロンプトで壁に絵画、コーヒーテーブル、コーヒーテーブルの上の花瓶が追加され、最後に壁がソファに移動します。例は元の論文からのものです。 DALL·E 2/クリップなし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 モデルよりも劣ります。たとえば、2 つの別個のオブジェクト (立方体) を 2 つの別個の属性 (色) にバインドする必要があるという点では、unCLIP は GLIDE よりも面倒です。 unCLIP では、一貫性のあるテキストを生成する際にもいくつかの問題があります。 もう 1 つの問題は、unCLIP では複雑なシーンの詳細を生成するのが難しいことです。 モデル内部にいくつかの変更が発生しました。下の図は、CLIP と GLIDE を組み合わせたものです。モデル自体 (完全な条件付き画像生成スタック) は、CLIP 画像エンコーダーを反転して画像を生成するため、論文内では unCLIP と呼ばれています。 モデルは次のように動作します: CLIP モデルは個別にトレーニングされます。次に、CLIP テキスト エンコーダーは入力テキスト (タイトル) の埋め込みを生成します。次に、特別な事前モデルがテキスト埋め込みに基づいて画像埋め込みを生成します。次に、拡散デコーダーは画像の埋め込みに基づいて画像を生成します。デコーダーは基本的に、画像の埋め込みを元に戻して画像に戻します。 システムの概要。一部の詳細(デコーダーテキストの条件など)は表示されません。オリジナル論文からの画像。 CLIP モデルは、256×256 解像度の画像、幅 1280、および 32 個の Transformer ブロック (元の CLIP 作業の最大の ViT-L よりも深い) を使用する ViT-H/16 画像エンコーダーを使用します。テキスト エンコーダーは、因果アテンション マスク、幅 1024、24 個の Transformer ブロック (元の CLIP モデルには 12 個の Transformer ブロックがあります) を備えた Transformer です。テキスト トランスフォーマーの注意持続時間が元の CLIP モデル (76 トークン) と同じかどうかは不明です。 拡散デコーダーは、3.5B のパラメータを持つ修正された GLIDE です。 CLIP 画像の埋め込みが投影され、既存の時間ステップの埋め込みに追加されます。 CLIP 埋め込みは 4 つの追加コンテキスト トークンにも投影され、GLIDE テキスト エンコーダーの出力シーケンスに連結されます。元の GLIDE のテキスト条件パスは、CLIP が捕捉できなかった自然言語の側面を拡散モデルが学習できるようにするため保持されました (ただし、あまり役に立ちません)。トレーニング中、CLIP 埋め込みは 10% の時間でランダムにゼロに設定され、テキスト キャプションは 50% の時間でランダムに削除されました。 デコーダーは 64×64 ピクセルの画像を生成し、その後、2 つのアップサンプリングされた拡散モデルが 256×256 と 1024×1024 の画像を生成します。前者は 700M のパラメーターを持ち、後者は 300M のパラメーターを持ちます。アップサンプリングの堅牢性を向上させるために、トレーニング中に条件付き画像がわずかに破損します。最初のアップサンプリング段階ではガウスぼかしが使用され、2 番目の段階では、JPEG 圧縮アーティファクト、カメラ センサー ノイズ、バイリニアおよびバイキュービック補間、ガウス ノイズなどのより多様な BSR 劣化セットが使用されます。モデルは、ターゲット サイズの 4 分の 1 のランダムな画像でトレーニングされます。テキスト条件付けはアップサンプリング モデルには使用されません。 テキストの説明から事前に画像の埋め込みを生成します。著者らは、自己回帰 (AR) 事前分布と拡散事前分布という 2 つの異なる事前分布モデルのモデル クラスを調査します。どちらの事前モデルにも 1B パラメータがあります。 AR 事前学習では、CLIP 画像の埋め込みが一連の離散コードに変換され、キャプションに基づいて自己回帰予測が実行されます。拡散事前分布では、タイトルに条件付けられたガウス拡散モデルを使用して、連続埋め込みベクトルが直接モデル化されます。 タイトルに加えて、CLIP テキスト埋め込みはタイトルの決定論的な関数であるため、事前モデルは CLIP テキスト埋め込みにも条件付けることができます。サンプリング品質を向上させるために、著者らは、トレーニング中にこのテキスト条件情報を 10% の割合でランダムに削除することにより、AR および拡散事前分布の分類器ガイダンスなしでのサンプリングも可能にしました。 AR 事前分布の場合、主成分分析 (PCA) によって CLIP 画像埋め込みの次元が削減されます。 1024 個の主成分のうち 319 個が 99% を超える情報を保持しました。各次元は 1024 個のバケットに量子化されます。著者らは、テキストタイトルと CLIP テキスト埋め込みをシーケンスのプレフィックスとしてエンコードすることにより、AR 事前条件を設定します。さらに、テキスト埋め込みと画像埋め込みの間の(量子化された)ドット積を表すトークンを追加します。これにより、テキストと画像のドット積が高いほど、画像をより適切に説明するキャプションに対応するため、モデルをより高いドット積で調整できるようになります。ドット積は分布の上半分からサンプリングされます。因果注意マスクを備えた Transformer モデルを使用して、生成されたシーケンスを予測します。 拡散事前確率については、因果注意マスクを備えたデコーダーのみのトランスフォーマーが、次からなるシーケンスでトレーニングされます。
Transformer からの出力である最終的な埋め込みは、ノイズのない CLIP 画像の埋め込みを予測するために使用されます。 拡散事前条件を設定するためにドット積を使用しないでください。代わりに、サンプリング時の品質を向上させるために、2 つの画像埋め込みサンプルが生成され、ドット積とテキスト埋め込みが高い方が選択されます。 同等のモデル サイズと削減されたトレーニング計算の場合、拡散事前分布は AR 事前分布よりも優れています。 GLIDE とのペア比較でも、拡散事前分布は AR 事前分布よりも優れたパフォーマンスを発揮します。 著者らは事前確率の重要性についても調査した。彼らは、異なる信号を使用して同じデコーダーを調整しようとしました: 1. テキスト キャプションとゼロ CLIP 埋め込み、2. テキスト キャプションと CLIP テキスト埋め込み (画像埋め込みのように)、3. 事前生成されたテキストと CLIP 画像埋め込み。デコーダーをタイトルのみに条件付けすることは明らかに最悪ですが、テキスト埋め込みゼロショットに条件付けすると、期待どおりの結果が生成されます。 異なる変調信号を使用して、元のテキストから画像を作成します。 エンコーダーをトレーニングする際、著者らは CLIP および DALL-E データセット (合計約 6 億 5000 万枚の画像) から等確率でサンプリングしました。デコーダー、アップサンプラー、および以前のモデルをトレーニングする際には、DALL-E データセット (約 2 億 5000 万枚の画像) のみを使用しました。これは、結果として得られるスタックをトレーニングする際にノイズの多い CLIP データセットがマージされ、初期評価でサンプルの品質に悪影響を与えたためです。 モデルの合計サイズは 632M のようです。パラメータ(CLIP ViT-H/16画像エンコーダ)+340M? (CLIP テキスト エンコーダー) + 1B (拡散事前) + 3.5B (拡散デコーダー) + 1B (2 つの拡散アップサンプラー) = 約 6.5B のパラメーター (正確に覚えている場合)。この方法では、テキストの説明に基づいて画像を生成できます。ただし、他にも興味深いアプリケーションがいくつか考えられます。 元の論文からの例。 各画像 x は、デコーダーが正確な再構成を生成するのに十分なバイナリ潜在表現 (z_i、x_T) にエンコードできます。潜在 z_i は、CLIP が認識する画像の側面を記述する CLIP 画像埋め込みです。潜在変数 x_T は、z_i を条件として、デコーダーを使用して x に DDIM (ノイズ除去拡散暗黙モデル) 反転を適用することによって取得されます。言い換えれば、これは画像 x (または同等の x_0、GLIDE セクションのノイズ除去拡散モデル スキームを参照) を生成するときの拡散プロセスの開始ノイズです。 このバイナリ表現により、3 つの興味深い操作が可能になります。 まず、デコーダーで η > 0 の DDIM を使用してサンプリングすることにより、特定のバイナリ潜在表現 (z_i、x_T) の画像バリアントを作成できます。 η = 0 の場合、デコーダーは決定論的になり、指定された画像 x を再構築します。 η パラメータが大きいほど変動が大きくなり、CLIP 画像の埋め込みでキャプチャされ、すべてのサンプルに存在する情報を確認できます。 画像のバリエーションを調べます。 次に、画像 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 を反映するように画像を変更するには、まずその CLIP テキスト埋め込み z_t と、現在の画像のタイトル (「写真」のようなダミー タイトルまたは空のタイトルの場合があります) を記述する CLIP テキスト埋め込み z_t0 を取得します。次に、テキスト差分ベクトル z_d = norm(z_t - z_t0) を計算します。次に、slerp を使用して、画像 CLIP と z_i に埋め込まれたテキスト差分ベクトル z_d の間を回転させ、軌跡全体にわたって固定された基本 DDIM ノイズ x_T を持つ画像を生成します。 元のテキストとのテキストの違いを調べます。 著者らは、CLIP 潜在空間を探索するための一連の実験も実施しました。これまでの研究では、CLIP は印刷攻撃に対して脆弱であることが示されています。これらの攻撃では、テキストがオブジェクトの上に重ねられ、CLIP は画像に記述されているオブジェクトではなく、テキストに記述されているオブジェクトを予測します (「iPod」バナーの付いたリンゴを覚えていますか?)。今回、著者らはそのような画像のバリエーションを生成してみたところ、画像が正しく分類される確率は非常に低いものの、生成されたバリエーションは高い確率で正しいことがわかった。そのタイトルの相対的な予測確率は非常に高いにもかかわらず、モデルは iPod の画像を生成することはありません。 印刷攻撃の例。 もう一つの興味深い実験は、より多くの主成分を使って画像を再構築することです。下の図では、少数のソース画像の CLIP 画像埋め込みを取得し、PCA 次元を増やして再構築し、DDIM を備えたデコーダーを使用して再構築された画像埋め込みを視覚化しています。これにより、さまざまな次元でエンコードされた意味情報を見ることができます。 元の論文から、主成分がどんどん増えています。 また、unCLIP では、属性のバインディング、テキストの生成、複雑なシーンの詳細に関して困難があることにも留意してください。 最初の 2 つの問題は、CLIP 埋め込みプロパティが原因である可能性があります。 CLIP 埋め込み自体は属性をオブジェクトに明示的にバインドしないため、デコーダーが画像を生成するときに属性とオブジェクトを混同し、属性のバインドの問題が発生する可能性があります。 ハードバインディング問題の再構築の別のセット (元のテキストから)。 テキスト生成の問題は、CLIP 埋め込みがレンダリングされたテキストのスペル情報を正確にエンコードしていないために発生する可能性があります。 デコーダー階層は 64×64 の基本解像度で画像を生成し、それをアップサンプリングするため、詳細度が低い問題が発生する可能性があります。したがって、より高い基本解像度を使用すると、問題は解消される可能性があります (追加のトレーニングと推論の計算が必要になります)。 OpenAI のテキストベースの画像生成モデルの進化はすでに見てきました。この分野で活動している企業は他にもあります。 DALL·E 2 (または unCLIP) は、システムの最初のバージョンである DALL·E 1 から大幅に改良され、わずか 1 年で完成しました。しかし、まだ改善の余地は大いにあります。 残念ながら、これらの強力で興味深いモデルはオープンソース化されていません。著者は、このようなモデルがさらに公開されるか、少なくとも API を通じて利用できるようになることを望んでいます。そうでなければ、これらすべての成果は、非常に限られた対象者にしか適用されなくなります。 確かに、このようなモデルは不正確であり、誤った種類のコンテンツを生成したり、悪意のあるエージェントによって使用されたりすることがあります。著者はこれらの問題にどう対処するかについて議論を呼びかけている。これらのモデルには潜在的な有用な用途が無数にありますが、上記の問題に対処できなかったため、これらの探求は妨げられてきました。 著者は、DALL·E 2 (または他の同様のモデル) がオープン API を通じてすぐに誰でも利用できるようになることを期待しています。 |
<<: 北京大学の学部生がチップ研究で世界大会で優勝!筆頭著者はトップクラスのEDAカンファレンスで8本の論文を発表
>>: 宇宙の力を活用してデータを処理しましょう! 「物理ネットワーク」はディープニューラルネットワークよりもはるかに優れている
近年、スマートカーの継続的な発展に伴い、LIDARはますます注目を集めており、特にテスラと他の自動車...
仮想現実や人工知能などのテクノロジーが人体とどのように統合されるかを探ります。将来、仮想現実と現実の...
科学者は長い間ロボット工学の分野に興味を持っており、最近のバイオニックソフトロボットはロボット工学の...
[[248484]] [51CTO.com クイック翻訳] アプリケーション セキュリティの脅威の背...
[[352986]] 2020 年の多くの運用上の課題を踏まえて、公益事業会社は、運用する物理的およ...
シリコンバレーの大企業からのオファーは多くのプログラマーにとって依然として非常に魅力的であり、今年は...
人工知能技術は私たちの日常の仕事、勉強、生活に溶け込み、静かに社会生活を変えています。人工知能技術は...
2020年、新型コロナウイルスのせいで世界中の人々が恐怖におののいていることでしょう…しかし、これは...
コーダー向けAIアーティファクトがまたアップグレードされました!先ほど、Github は Copil...
大規模言語モデル (LLM) は私たちの生活や仕事の一部となり、その驚くべき汎用性とインテリジェンス...
最近、海外メディアの報道によると、サンフランシスコ市は7月1日に導入予定の「偏見削減ツール」を発表し...