Re Reference AI

モデル

Stable Diffusionとは

Stability AIが公開した、オープンウェイトの拡散モデルベースによるテキストから画像を生成するモデル

生成AI画像生成

ひとことで言うと

文章から画像を作る、誰でも重みをダウンロードして使えるオープンな画像生成AI

概要

Stable Diffusionは、Stability AIが中心となって開発・公開した、テキストの説明文から画像を生成する拡散モデルベースの画像生成AIで、モデルの重みが公開されているオープンウェイトモデルである点が大きな特徴。 画素空間ではなく、より低次元に圧縮された潜在空間上でノイズ除去の拡散過程を進めるLatent Diffusion Modelという設計を採用しており、DALL-E 2など画素空間で直接拡散するモデルと比べて計算コストを抑えつつ高解像度の画像を生成できる。 モデルの重みが公開されているため、個人のPCやオンプレミス環境で実行したり、独自のデータで追加学習(ファインチューニング)したりでき、多数の派生モデルやツール(ControlNet、LoRAアダプタなど)がコミュニティによって開発されている。 テキストから画像だけでなく、画像から画像への変換(img2img)やインペインティング(部分修正)など、幅広い画像生成・編集用途に応用されている。

背景

DALL-E 2など初期の高品質な画像生成AIの多くはクローズドなAPI経由でのみ利用可能で、モデルの重みも非公開だった。 Stable Diffusionは、画像生成モデルの重みを公開することで、個人や企業が自由に実行・改変・商用利用できるオープンなエコシステムを作る目的で開発された。

歴史

2022年: Stability AI、CompVis、Runwayの共同研究としてStable Diffusionが公開される。 2022年: バージョン2系列が発表され、解像度と品質が向上。 2023-2024年: SDXL、Stable Diffusion 3など、アーキテクチャを改良した後継モデルが登場。

アーキテクチャ

テキストエンコーダプロンプト埋め込みベクトルへ変換し、画像はVAE(変分オートエンコーダ)のエンコーダによって低次元の潜在空間へ圧縮される。 この潜在空間上でU-Net構造のネットワークが、テキスト埋め込みを条件としながらノイズ除去の拡散過程を繰り返し、画像の潜在表現を生成する。 最終的に、VAEデコーダが潜在表現を画素空間の画像へ変換して出力する。

ワークフロー

テキストプロンプトをテキストエンコーダ埋め込みベクトルに変換する。 ランダムなノイズを潜在空間上に生成し、テキスト埋め込みを条件としながらU-Netがステップごとにノイズを予測してそれを差し引く処理を、数十ステップ程度繰り返して潜在表現を徐々に洗練させる。 最終的に得られた潜在表現をVAEデコーダで画素空間の画像へ変換し、出力する。

コード例

diffusersでの画像生成

from diffusers import StableDiffusionPipeline
import torch

pipe = StableDiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-2", torch_dtype=torch.float16
).to("cuda")

image = pipe("a photo of a cat wearing sunglasses").images[0]
image.save("output.png")

利点

  • モデルの重みが公開されており、ローカル環境での実行や独自データでの追加学習が可能
  • 潜在空間上で拡散過程を行うため、画素空間で直接処理するモデルより計算コストを抑えられる
  • ControlNetやLoRAなど、コミュニティによる拡張・派生ツールが豊富に存在する

欠点

  • モデルが公開されているため、著作権侵害や実在人物の偽画像など、有害な用途に悪用されるリスクがある
  • 手や指など細部の描写が不自然になりやすいという、拡散モデル一般に共通する弱点を抱える
  • 高品質な画像を生成するには、プロンプトの工夫や追加のファインチューニングなど、ある程度の習熟が必要になる

比較

  • 拡散モデルStable Diffusionは、潜在空間上で拡散過程を行うLatent Diffusion Modelを採用した代表的な拡散モデルの実装
  • VAEStable Diffusionは、画像を潜在空間へ圧縮・復元する部分にVAEを利用している
  • CLIPテキストプロンプトの理解には、CLIPに類似したテキストエンコーダの技術が活用されている
  • 潜在拡散モデルStable Diffusionは、潜在拡散モデルのアーキテクチャを採用した代表的な画像生成モデル

関連用語

拡散モデルVAECLIPU-NetMidjourneyFLUX潜在拡散モデル

よくある質問

Stable DiffusionとDALL-Eの違いは?

DALL-EはOpenAIが提供するクローズドなAPI経由のサービスであるのに対し、Stable Diffusionはモデルの重みが公開されており、ローカル環境で実行・改変できる点が大きく異なる。

Stable Diffusionは自分のPCで動かせる?

十分なVRAMを持つGPUがあれば、個人のPC上でも実行できる。モデルサイズやバージョンによって必要なGPUスペックは異なる。

参考文献

関連Zenn記事