11.

Diffusion Model とは?画像生成 AI の仕組み・Stable Diffusion

編集

本稿は Diffusion Model(拡散モデル) に関する記事です。

この記事の要点
  • Diffusion Model はノイズを徐々に除去することでデータを生成する深層モデル
  • 2022 年以降の画像生成 AI の事実上の主流(Stable Diffusion / DALL·E / Midjourney / Imagen)
  • 近年は動画 (Sora / Veo) / 音声 / 音楽 / 3D / 分子生成まで応用が拡大
  • 2 ステップで動く: 順過程(画像にノイズを足す)逆過程(ノイズから画像を復元)
  • GAN や VAE よりも学習が安定し、多様性のある高品質出力が得られる
  • 計算コストが高い → Latent Diffusion / 蒸留 / Step 削減で実用化
  • 主要ライブラリ: Hugging Face diffusers / Stable Diffusion WebUI / ComfyUI

Diffusion Model とは?

Diffusion Model(拡散モデル) は、ノイズから徐々に意味のあるデータを生成するように学習された深層生成モデルです。物理学の拡散現象(インクが水に広がる様子)にヒントを得たことから「拡散」と名付けられています。

2020 年の DDPM (Denoising Diffusion Probabilistic Models) 論文以降に急速に発展し、2022 年の Stable Diffusion の公開で一気に一般化しました。現在は画像・動画・音声・音楽・3D・分子設計まで、幅広い「生成」タスクで主流の方式です。

動作の直感

補足: 「ノイズから絵を彫り出す」イメージ
大理石の塊から彫刻を彫り出すように、Diffusion Model は純粋なノイズ画像から始めて、テキストプロンプトに沿うように少しずつノイズを取り除き、最終的に絵を浮かび上がらせます。

学習時は逆に、訓練画像にノイズを徐々に加えていく過程と、それを 1 ステップずつ復元するモデルを学びます。これにより「ノイズだらけの画像を 1 ステップきれいにする方法」を覚え、推論時に純ノイズから逆向きに何ステップも巻き戻して絵を作るのです。

順過程と逆過程

フェーズ何をするかタイミング
順過程 (Forward Process)元の画像にガウス雑音を T ステップで足し、最終的に純ノイズへ学習時に行う
逆過程 (Reverse Process)純ノイズから T ステップでノイズ除去し、画像を生成推論時に行う

主要バリアントと進化

論文・モデル貢献
2015Sohl-Dickstein 等の初出論文拡散モデルの数学的提案
2020DDPM実用的な画像生成に成功
2021DDIM、Classifier-Free Guidanceサンプリング高速化、条件付け改善
2022Stable Diffusion (Latent Diffusion)潜在空間で拡散、OSS 公開
2022DALL·E 2、Imagenテキスト → 画像の高品質化
2023SDXL、ControlNet、LoRA高解像度、構図制御、軽量適応
2023〜Consistency Models、LCM、SDXL Turbo1〜4 ステップで生成、リアルタイム化
2024SD3 / FLUXTransformer ベースの Diffusion (DiT)
2024〜Sora / Veo / Runway Gen-3動画生成への拡張

Latent Diffusion(潜在拡散)

補足: Stable Diffusion が成功した最大の理由
高解像度画像(例: 1024×1024)にそのまま拡散モデルを適用すると、計算量が膨大になります。Latent Diffusion は、VAE で画像を 1/8 程度の潜在空間に圧縮してからその空間で拡散を行い、最後にデコーダで画像に戻します。

計算量を 1/64 以下に削減でき、個人 GPU でも動かせるようになったのが Stable Diffusion 革命の本質です。

条件付け(Classifier-Free Guidance)

テキストプロンプトに沿った画像を生成するため、条件あり予測と条件なし予測の差を強調する手法。guidance_scale(一般に 7〜10)で「プロンプトへの忠実度」を調整できます。値が大きすぎると過剰に従って画像が歪み、小さすぎるとプロンプトが無視されます。

主要モデル・サービス

モデル提供形態特徴
Stable Diffusion 系 (SD1.5 / SDXL / SD3)OSSローカル実行・派生モデル豊富
FLUX (Black Forest Labs)OSS + API新世代の高品質モデル
DALL·E 3SaaS (ChatGPT)指示忠実度・自然な文字描画
MidjourneySaaS (Discord/Web)アート品質・統一感
Adobe FireflySaaS商用安全・Photoshop 統合
Imagen (Google)SaaS (Gemini)Google エコシステム統合
Sora (OpenAI)SaaS動画生成の代表
Veo (Google)SaaS動画生成
Runway Gen-3SaaS映像制作向け
Stable Video DiffusionOSSOSS 動画生成
AudioLDM / Stable AudioOSS / SaaS音声・音楽生成
RFDiffusion / AlphaFold (一部要素)研究タンパク質構造生成

派生機能(実用上重要)

機能用途
img2img既存画像をベースに変換
inpaint / outpaint部分修正・周囲拡張
ControlNet線画・ポーズ・深度マップで構図制御
IP-Adapter参照画像の画風を反映
LoRA軽量ファインチューニングで特定キャラ・画風を後付け
Textual Inversion / Embedding新しい概念を学習
Upscaler解像度を引き上げる後段モデル
SDEdit / DDIM Inversion編集タスクへの応用

最小サンプル: Hugging Face diffusers

pip install diffusers transformers accelerate torch

from diffusers import StableDiffusionPipeline
import torch

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

image = pipe(
    "a cute robot reading a book, photorealistic, 4k",
    num_inference_steps=30,
    guidance_scale=7.5,
).images[0]
image.save("output.png")

Diffusion vs GAN vs VAE

観点 Diffusion GAN VAE
画質非常に高い高いぼやけがち
学習の安定性安定不安定(モード崩壊)安定
サンプル多様性高い低くなりやすい高い
推論速度遅い(多段サンプリング)速い(1 回)速い
条件付け得意(CFG / ControlNet)難しい得意
2026 年現在の位置主流限定的用途圧縮・補助モデル

サンプリングの高速化

手法概要
DDIMDDPM より少ない手数で同等品質
DPM-Solver / DPM-Solver++10〜20 ステップで高品質
Consistency Models / LCM1〜4 ステップで生成可能
SDXL Turbo / SD3 Turbo蒸留で 1〜4 ステップ化
Latent Diffusion潜在空間で計算量削減
Flash Attention / TorchCompile低レベル最適化

主要ライブラリ・ツール

ツール用途
diffusers (Hugging Face)Python API。プログラムから扱う標準
AUTOMATIC1111 WebUI定番のローカル UI。プラグイン豊富
ComfyUIノードベースの UI。ワークフロー再現性高い
Forge / Fooocus軽量・初心者向け
InvokeAI企業向け OSS UI
Replicate / RunPodクラウド GPU で API 利用

運用上のヒント

Tips
  • 初心者はSDXL / SD3 系 + AUTOMATIC1111 / Fooocus から始める
  • VRAM 不足なら fp16 化とtiled VAE / Latent サイズ縮小
  • 負のプロンプト (Negative Prompt) で「描いてほしくない要素」を指定すると品質向上
  • 同じ seed で再現可能。試行錯誤の比較に便利
  • 商用利用はモデルごとのライセンス確認必須(Stability AI / FLUX / Adobe Firefly 等で条件が違う)
  • safetensors 形式のモデルを選ぶ(.ckpt は任意コード実行リスク)
  • 本番 API はReplicate / Stability API / Vertex AI で従量課金

注意点

よくある落とし穴・倫理
  • 著作権・肖像権: 実在人物・既存キャラクターを意図的に再現するモデル / LoRA は権利侵害になりうる
  • 学習データの法的議論が継続中。商用利用ではリスク評価を
  • NSFW・違法生成: 児童画像など違法コンテンツの生成は厳禁
  • ディープフェイク悪用: 偽情報拡散・なりすましのリスク
  • EU AI Act 等で出所表示・透かし義務化が進む
  • サンプリング設定で大きく品質が変わる: ステップ数・スケジューラ・guidance_scale を試行錯誤
  • OOM (メモリ不足): バッチサイズ・解像度・モデルサイズで容易に発生
  • 動画生成は計算が桁違いに重い: 数秒動画でも数分〜数十分

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. LLM (大規模言語モデル)
  2. Transformer
  3. Attention (注意機構)
  4. Embedding (埋め込み)
  5. Prompt Engineering
  6. RAG (検索拡張生成)
  7. ファインチューニング
  8. AIエージェント
  9. マルチモーダルAI
  10. トークンとコンテキストウィンドウ
  11. Diffusion Model (拡散モデル)

最近更新/作成されたページ