Stable Diffusionとは
Stable Diffusionの読み方
Stable Diffusionは平仮名で表すと「ステーブル ディフュージョン」と読みます。
Stable Diffusionの概要
Stable Diffusionは、2022年に公開されたディープラーニング(深層学習)のtext-to-imageモデルです。ディープラーニングとはAIに使われる機械学習のことです。
text-to-imageモデルとは、一見難しいような言葉ですが、単に入力されたテキストに応じて画像を生成する機能のことです。
text-to-imageは「txt2img」または「t2i」とも略され、テキスト条件(プロンプト)と画像を関連付けるCLIPという技術を用いています。
Stable Diffusionは、Stability AI社からオープンソースとして公開されています。
よって、Stable Diffusionは無料で使えます。
Stable Diffusionという名前について
Stable Diffusionとはどういった意味なのでしょうか?結論から言うと、Stability AI社が開発した、Diffusionモデル(拡散モデル)の略です。
では、拡散モデルとは何でしょうか?
拡散モデルは、画像にノイズを加えてデータが破壊される過程を学習した画像生成AIのモデルの1つのことです。
開発者について
Stable Diffusionの研究主体は、大学の研究グループであるCompVisで、StabilityAIとRunwayMLは、その資金提供と論文の共同執筆者です。Stable Diffusionの構成
Stable Diffusionの生成時の内部の仕組み
Stable Diffusionの生成時は、具体的には以下の構成になっています。流れとしては、文字の入力(プロンプト)からテキストエンコーダで潜在ベクトルに変換され、拡散モデルの逆拡散過程を通してVAEでデコードされ、画像が生成されます。
テキストエンコーダ
Transformer
テキストエンコーダとして使われるTransformerは、入力された文章(プロンプト)を潜在ベクトルへと変換しています。拡散モデル
拡散モデルには、がありますが、拡散過程は学習時、逆拡散過程は生成時に使われる過程となります。
逆拡散過程
逆拡散過程では、U-Netが使われています。U-Net内のCross-Attentionで、テキストによる条件付けをしています。
VAE
VAEは、U-Netで扱う画像潜在ベクトルとRGB画像を相互に変換しています。VAEデコーダ
生成時に使用するのはVAEのデコーダ部分のみです。VAEエンコーダは学習時に使用されるため、生成時には関与しません。
Stable Diffusionの学習元について
Stable Diffusionの画像生成モデルの学習には、画像とその内容に関連したテキストのペアを大量に集めた学習データが使われています。LAION
この学習データは、LAIONという非営利団体が作ったLAION-5Bというデータセットが使われています。Wikipedia
LAION(大規模人工知能オープンネットワークの略)は、オープンソースの人工知能モデルとデータセットを作るドイツの非営利団体です。
データセットとは、ある目的で集められ、一定の形式に整えられたデータの集合体のことです。
こちらの記事
にも詳しくまとめられていますね。
Stable Diffusionの歴史
では、まずStable Diffusionの歴史を知っておくためにリリースノート履歴を見ていきましょう。なお、ここにあるStable Diffusionのバージョンは、Stable Diffusion Web UI(AUTOMATIC1111など)のバージョンとは全く別で、Stable Diffusion自体のバージョンとなります。
Stable Diffusion v1
2022年8月22日に、Stable Diffusionは公開されました。https://huggingface.co/CompVis
v1.0
バージョン1.0はなく、1.1からになります。v1.1
laion2B-enデータセットにて、解像度256x256で237kステップ、または解像度512x512で194kステップにて学習。Hugging Face(CompVis)
v1.2
laion-improved-aestheticsデータセットにて、解像度512x512で515kステップにて学習。Hugging Face(CompVis)
v1.3
laion-improved-aestheticsデータセットにて、解像度512x512で195kステップにて学習。画像の10%がトレーニングされるようです。
Hugging Face(CompVis)
v1.4
laion-aesthetics v2 5+データセットによって、解像度512x512で225kステップにて学習。画像の10%がトレーニングされるようです。
Hugging Face(CompVis)
v1.5
laion-aesthetics v2 5+データセットによって、解像度512x512で595kステップにて学習。画像の10%がトレーニングされるようです。
Hugging Face(RunwayML)
Stable Diffusion v2
Stable Diffusion バージョン2は、2022年11月24日にリリースされました。Stable Diffusionバージョン2では、主に以下の点が変更されました。
- 生成される画像のデフォルトの解像度が512×512ピクセルとなるモデルと、768×768ピクセルとなるモデル
- LAIONのNSFWフィルタを使用してアダルトコンテンツをフィルタリング
- 画像を入力すると4倍の大きさにアップスケール可能なモデル
- 入力された画像の深度を推測し、深度とプロンプトから新たな画像を生成可能なモデル
- 画像(および変更したい部分を示すマスク画像)とプロンプトを入力すると、画像の一部だけをプロンプトに応じて書き換えるモデル
v2.0
同じデータセットにて150kステップ、768x768画像で14万ステップにて訓練。Hugging Face(Stability AI)
v2.1
Stable Diffusion 2.0を維持しながら、基準を見直したデータセットで55kステップ、基準を若干修正したデータセットで155kステップの調整。Hugging Face(Stability AI)
Stable Diffusion v3
Stable Diffusion バージョン3は、2024年02月23日にリリースされましたが、一般公開はまだです。画像内での文字の表示も可能になっています。
SDXL
Stable Diffusionの拡張版であるSDXLは、2023年7月26日にリリースされました。SDXLは、下記リンク
ai-illust.art
SDXL
にて書き留めています。
SDXL Turbo
SDXL Turboは、2023年11月28日に、Stable Diffusionと同じStability AI社によってリリースされました。こちらは、2024年6月現在、商用利用は禁止されており、非商用での利用のみとなってます。
詳しくは以下のリンクに記載されています。
公式サイト