stable diffusion
テキストのみからの画像生成(text2img)に焦点を当てた説明
Stable Diffusion は複数のコンポーネントとモデルで構成されるシステム
Text Understander(Encoder)
テキスト情報を数値表現に変換するテキスト理解コンポーネント
入力: テキスト
出力: それぞれ768次元の77個のトークン埋め込みベクトル
Image Generator
Image Information Creator
このコンポーネントが Stable Diffusion の秘伝のタレとのこと
以前のモデルに比べてここのパフォーマンス向上が大きい
UNetニューラル・ネットワークとスケジューリング・アルゴリズムで構成されている
「拡散(diffuson)」という言葉は、このコンポーネントで起こることを現している
入力: テキスト埋め込みと、ノイズから構成される多次元配列(テンソルとも呼ばれる構造化された数値リスト)
出力: 処理された情報配列
Image Decorder
最終的な画像を描画する
入力: 処理済の情報配列 (次元: (4,64,64))
出力: 処理後の画像 (次元: (3, 512, 512) = (赤/緑/青、幅、高さ))
そもそも拡散とは?
>入力テキストを表すトークン埋め込みと、ランダムな画像情報配列(これを潜在と呼びます)を使用して、画像デコーダが最終画像を描くために使用する情報配列を生成します。
>この処理は段階的に行われます。各ステップで、より多くの関連性の高い情報が追加されていきます。
ここがよく理解できなかった
ノイズを追加したり、除去したり?
>スピードブースト: ピクセル画像ではなく、圧縮された(潜在的な)データに対する拡散
> Stable Diffusionの論文では、画像生成処理の高速化のために、ピクセル画像そのものではなく、画像を圧縮したもので拡散処理を実行します。論文ではこれを「潜在空間への旅立ち」と呼んでいます。
ピクセル画像そのものではなく、圧縮された画像を用いることで高速化を実現している。これが
潜在空間への旅立ちText Encoder が扱う Transformer 言語モデル
CLIP の学習方法は、画像とそのキャプションからなるデータセットで学習する