ホームページ  >  記事  >  テクノロジー周辺機器  >  ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

WBOY
WBOY転載
2023-04-11 11:13:021652ブラウズ

インターネット上で人気を博したグラフィックのトランスフォーマーをまだ覚えていますか?

最近、この大物ブロガー Jay Alammar も人気の安定拡散モデルに関する図をブログに書きました。これにより、モデルを完全にゼロから構築できるようになります。画像生成モデルの原理、超詳しい動画解説付き!

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

記事リンク: https://jalammar.github.io/illustrated-stable-diffusion/

#ビデオリンク: https://www.youtube.com/watch?v=MXmacOUJUaw安定拡散の図

AI モデルが実証した最新の画像生成能力は、人々の期待をはるかに超えています。テキストの説明に直接基づいて、驚くべき視覚効果を持つ画像を作成できます。その背後にある動作メカニズムは非常に神秘的で魔法のように見えますが、人間に影響を与えます芸術を創造する方法。

Stable Diffusion のリリースは、AI 画像生成開発におけるマイルストーンであり、一般に使用可能な高性能モデルを提供することに相当します。速度は非常に高いですが、実行速度も非常に高く、高速であり、リソースとメモリの要件が低くなります。

AI 画像生成を試したことのある人は、その仕組みを知りたいと思うと思いますが、この記事では、安定拡散がどのように機能するのかについての謎を明らかにします。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

Stable Diffusion には、機能に関して主に 2 つの側面が含まれます。 1) その中心的な機能は、入力としてのテキスト プロンプトのみに基づいて画像を生成することです (text2img) ); 2) テキストの説明に基づいて画像を変更するために使用することもできます (つまり、テキスト画像として入力)。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

安定拡散のコンポーネント、それらがどのように相互作用するか、画像生成オプションとその意味を説明するために、以下の図を使用します。パラメーター。

安定拡散コンポーネント

安定拡散は、単一のモデルではなく、複数のコンポーネントとモデルで構成されるシステムです。

モデル全体の観点からモデルの内部を観察すると、セマンティックを捉えるためにテキスト情報を数値表現 (数値表現) に変換するためのテキスト理解コンポーネントが含まれていることがわかります。テキスト内の情報。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

モデルはまだマクロの観点から分析されており、モデルの詳細については後ほど説明しますが、このテキスト エンコーダーは大まかに推測することもできます。特別な Transformer 言語モデル (特に CLIP モデルのテキスト エンコーダー)。

モデルの入力はテキスト文字列で、出力はテキスト内の各単語/トークンを表すために使用される数値のリストです。つまり、各トークンは、ベクター。

この情報は、内部に複数のコンポーネントを含むイメージ ジェネレーター (イメージ ジェネレーター) に送信されます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

画像生成は主に 2 つの段階で構成されます:

1. 画像情報作成者

このコンポーネントは安定拡散の独自の秘伝レシピであり、以前のモデルと比較して、そのパフォーマンスの多くの向上がここで達成されます。

このコンポーネントは複数のステップを実行して画像情報を生成します。ステップは安定拡散インターフェイスおよびライブラリのパラメーターでもあり、通常はデフォルトで 50 または 100 になります。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

#画像情報クリエーターは、完全に画像情報空間 (または潜在空間) で動作します。この機能により、ピクセル空間で動作する他の機能よりも優れています。拡散モデルはより高速に実行されます。技術的には、このコンポーネントは UNet ニューラル ネットワークとスケジューリング アルゴリズムで構成されています。

拡散という言葉は、このコンポーネントの内部動作中に何が起こるかを表しています。つまり、情報が段階的に処理され、最終的に次のコンポーネント (画像デコーダー) によって使用されます。高品質の画像。

2. 画像デコーダ

画像デコーダは、画像情報作成者から得た情報をもとに描画を行います。ペイントでは、プロセス全体が 1 回だけ実行されて、最終的なピクセル イメージが生成されます。

ご覧のとおり、安定拡散には合計 3 つの主要コンポーネントが含まれており、それぞれに独立したニューラル ネットワークがあります。

1) Clip Text はテキストのエンコードに使用されます。

#入力: テキスト

出力: 77 個のトークン埋め込みベクトル (それぞれに 768 次元が含まれます)

2)

UNet Scheduler 情報(潜在)空間内で情報を段階的に処理/拡散します。

入力: テキスト埋め込みとノイズで構成される初期多次元配列 (テンソルとも呼ばれる構造化された数値リスト)。

出力: 処理された情報配列

3)

Autoencoder Decoder(Autoencoder Decoder)、処理された情報行列を使用します。デコーダが最終イメージを描画するために使用します。

入力: 処理された情報行列、次元は (4, 64, 64)

出力: 結果画像、各次元は ( 3, 512, 512)、つまり (赤/緑/青、幅、高さ)

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり拡散とは何ですか?

拡散は、下図のピンク色の画像情報作成コンポーネントで発生するプロセスです。このプロセスには、入力テキストを表すトークンの埋め込みと、ランダムな初期画像情報行列 (潜在とも呼ばれます) が含まれます。 )、このプロセスでは、最終画像の情報マトリックスを描画するために画像デコーダの使用も必要になります。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

実行プロセス全体は段階的に行われ、各段階でより関連性の高い情報が追加されます。

プロセス全体をより直観的に感じるために、ランダム潜在行列を途中で表示し、それが視覚的なノイズにどのように変換されるかを観察できます。そこでは、画像デコーダーによる視覚的な検査が進行中です。 。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

拡散プロセス全体には複数のステップが含まれており、各ステップは入力潜在行列に基づいて動作し、「入力」間でより適切に適合する別の潜在行列を生成します。モデル画像セットから得られる「テキスト情報」と「視覚情報」。

これらの潜在力を視覚化すると、この情報が各ステップでどのように加算されるかを確認できます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

#プロセス全体がゼロから行われるため、非常にエキサイティングに見えます。

ステップ 2 と 4 の間のプロセスの移行は、まるでノイズから絵の輪郭が浮かび上がるかのように、特に興味深いものに見えます。

拡散の仕組み

拡散モデルを使用して画像を生成するという中心的な考え方は、依然として既存の強力なコンピューター ビジョン モデルに基づいています。十分なデータセットが入力されると、これらのモデルは任意の複雑な操作を学習できます。

すでに画像があり、ノイズを生成して画像に追加すると、その画像をトレーニング サンプルとみなすことができるとします。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

同じ操作を使用して、画像生成モデルのコア コンポーネントをトレーニングするための多数のトレーニング サンプルを生成できます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

#上記の例は、元の画像 (レベル 0、ノイズなし) からすべてのノイズが追加された (レベル 4) まで、いくつかのオプションのノイズ値を示しています。画像に追加するノイズの量を簡単に制御できます。

したがって、このプロセスを数十のステップに分散し、データセット内の画像ごとに数十のトレーニング サンプルを生成できます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり#上記のデータセットに基づいて、優れたパフォーマンスを備えたノイズ予測器をトレーニングできます。各トレーニング ステップは他のモデルのトレーニングと同様です。 。特定の構成で実行すると、ノイズ プレディクターはイメージを生成できます。

#ノイズを除去して画像を描画する

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

トレーニングされたノイズ予測子は、追加されたノイズ (追加されたノイズの量) を含む画像のノイズを除去できます。も予測できます。

#サンプルのノイズは予測可能なため、画像からノイズを差し引くと、最終的な画像はモデルのトレーニング済み画像に近くなります。 。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

#取得された画像は、正確な元の画像ではなく、ワールド内のピクセルの配置、つまり分布です。空は通常青で、人には目が 2 つあり、猫には耳が尖っています。生成される特定の画像スタイルは、トレーニング データ セットに完全に依存します。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

Stable Diffusion だけでなく、DALL-E 2 や Google の Imagen モデルもノイズ除去を通じて画像を生成します。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

これまで説明した拡散プロセスでは、画像の生成にテキスト データを使用しないことに注意することが重要です。したがって、このモデルをデプロイすると、見栄えの良い画像を生成できますが、ユーザーは生成されるものを制御する方法がありません。

次のセクションでは、モデルによって生成される画像の種類を制御するプロセスに条件付きテキストを組み込む方法について説明します。

加速: 圧縮データ上の拡散

画像生成プロセスを高速化するために、安定拡散はピクセル画像自体に対して拡散プロセスを実行することを選択しません。しかし、論文では「潜在空間への出発」とも呼ばれる、画像の圧縮バージョンで実行することを選択します。

後続の画像の解凍と描画を含む圧縮プロセス全体は、画像を潜在空間に圧縮するオートエンコーダを通じて完了し、デコーダを使用して圧縮された情報のみを使用します。再構築すること。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

前方拡散プロセスは、潜在を圧縮するときに完了します。ノイズ スライスは、ピクセル イメージではなく、潜在に適用されるノイズです。そのため、ノイズ プレディクターは実際には圧縮表現 (潜在空間) 内のノイズを予測するように訓練されています。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

前方プロセス、つまり、オートエンコーダー内のエンコーダーを使用してノイズ予測子をトレーニングします。トレーニングが完了すると、逆のプロセス (オートエンコーダー内のデコーダー) を実行することで画像を生成できます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

#前方プロセスと後方プロセスを以下に示します。この図には、モデルが生成する画像のテキスト プロンプトを記述する条件付けコンポーネントも含まれています. .

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

テキスト エンコーダー: Transformer 言語モデル

モデル内の言語理解コンポーネントは、Transformer 言語モデルを使用します。入力テキスト プロンプトは、トークン埋め込みベクトルに変換されます。リリースされている安定拡散モデルは ClipText (GPT ベースのモデル) を使用していますが、この記事では便宜上 BERT モデルを選択します。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

Imagen 論文の実験では、より大きな言語モデルを使用すると、より大きな画像生成コンポーネントを選択するよりも多くの画像が生成される可能性があり、品質が向上することが示されています。

初期の Stable Diffusion モデルでは、OpenAI によってリリースされた事前トレーニング済み ClipText モデルが使用されていましたが、Stable Diffusion V2 では、新しくリリースされたより大きな CLIP モデル バリアントに切り替わりました。

CLIP はどのようにトレーニングされますか?

#CLIP が必要とするデータは画像とそのタイトルであり、データセットには約 4 億枚の画像と説明が含まれています。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

データセットは、インターネットから取得した画像と、対応する「alt」タグのテキストから収集されます。

CLIP は、画像エンコーダーとテキスト エンコーダーを組み合わせたもので、そのトレーニング プロセスは、画像とテキストの説明を取得し、2 つのエンコーダーを使用してデータを個別にエンコードするように簡素化できます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

次に、コサイン距離を使用して結果の埋め込みを比較します。最初にトレーニングを開始するときは、たとえテキストの説明と画像が一致していても、間の類似性は彼ら それは間違いなく非常に低いです。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

モデルが継続的に更新されると、後続の段階で、エンコーダーが画像とテキストをエンコードすることによって得られる埋め込みは、徐々に似てきます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

このプロセスをデータセット全体で繰り返し、大きなバッチ サイズのエンコーダーを使用することで、最終的には、次のような埋め込みベクトルを生成できます。犬の画像 「犬の画像」という文に似ています。

word2vec と同様に、トレーニング プロセスにも、不一致の画像とキャプションのネガティブ サンプルを含める必要があり、モデルはそれらに低い類似性スコアを割り当てる必要があります。

#テキスト情報が画像生成プロセスに入力される

テキスト条件を画像生成プロセスの一部として組み込むには、ノイズ予測器の入力を調整する必要がありますテキストになること。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

#エンコードされたテキスト、入力画像、予測ノイズなど、すべての操作は潜在空間上で行われます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

Unet でテキスト トークンがどのように使用されるかをより深く理解するには、まず Unet モデルを理解する必要があります。

ノイズ予測器のネット層 (テキストなし)

1 つは使用されません テキストdiffusion Unet の入力と出力は次のとおりです:

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

モデル内では次のことがわかります:

1. Unet モデルのレイヤーは主に潜在を変換するために使用されます;

2. 各レイヤーは前のレイヤーの出力に基づいて動作します;

3. 特定の出力 (残留接続経由) は、ネットワークの背後の処理に供給されます

4. タイム ステップをタイム ステップ埋め込みベクトルに変換し、レイヤーで使用できます。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

Unet ノイズ プレディクターのレイヤー (テキスト付き)

さて、以前のシステムをテキスト版に変換するために必要です。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

#主な変更部分は、テキスト入力 (用語: テキスト コンディショニング) のサポートを追加することです。つまり、ResNet ブロック間にアテンション レイヤーを追加します。 。

ジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかり

ResNet ブロックはテキスト コンテンツを直接参照するのではなく、アテンション レイヤーを通じて潜在的なテキストの表現をマージすることに注意してください。 、次の ResNet はこのプロセスで上記のテキスト情報を利用できます。

以上がジェイ・アラマー氏がまたしても新作「安定拡散の超高画質イラスト」を公開 読めば「画像生成」の原理が丸わかりの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。