論文情報
- タイトル: Classifier-Free Diffusion Guidance
- 著者: Jonathan Ho, Tim Salimans (Google Brain)
- 発表: 2022年
- arXiv: 2207.12598
AI画像生成で使われるネガティブプロンプトの仕組みを理解するには、この論文が不可欠です。プロンプトの基本法則やネガティブプロンプト完全ガイドで述べた内容の理論的な裏付けとなる論文です。
どんなもの?
条件付き拡散モデル(テキストから画像を生成するモデル)において、テキスト条件への追従度を制御する手法です。
従来の方法(Classifier Guidance)では別途学習した画像分類器が必要でしたが、本手法では分類器を使わずに同等以上のガイダンス効果を実現しています。
一言で言えば:「テキストに従う画像」と「テキストを無視した画像」の予測を両方学ばせ、その差分を増幅することで、より条件に忠実な画像を生成する方式です。
先行研究と比べてどこがすごい?
Classifier Guidance(従来手法)
Dhariwal & Nichol, 2021が提案した方法では:
- 拡散モデルとは別に画像分類器を訓練する必要がある
- 分類器の勾配(gradient)を使ってノイズ予測を修正
- 分類器の品質がそのまま生成品質に影響
Classifier-Free Guidance(本手法)
- 分類器が不要 — 拡散モデル1つで完結
- 実装がシンプル(訓練時にテキスト条件をランダムにドロップするだけ)
- テキスト条件に限らず、任意の条件タイプに適用可能
- Stable Diffusion、DALL-E 2、Midjourneyなど主要サービスの標準技術として採用
技術や手法のキモはどこ?
訓練:条件のランダムドロップ
訓練時、確率 p_uncond(例えば10〜20%)でテキスト条件を空テキスト(∅)に置き換えます。これにより、1つのモデルが2つの予測能力を獲得します:
- 条件付き予測 ε(x_t, t, c) : テキストcに従ったノイズ予測
- 無条件予測 ε(x_t, t, ∅) : テキストを無視したノイズ予測
推論:Guidance Scaleによる制御
推論時、guidance scale w を使って2つの予測を合成します:
ε̂ = ε(x_t, t, ∅) + w × [ε(x_t, t, c) − ε(x_t, t, ∅)]
整理すると:
ε̂ = (1 − w) × ε(x_t, t, ∅) + w × ε(x_t, t, c)
| guidance scale w | 効果 |
|---|---|
| w = 0 | 無条件予測のみ(テキスト完全無視) |
| w = 1 | 標準的な条件付き予測(ガイダンスなし) |
| w > 1 | テキストへの追従を強化(実用的な範囲) |
| w = 7.5 | Stable Diffusionのデフォルト値 |
| w » 1 | 過度に強化(画質が劣化する) |
直感的な理解: 「テキストに従う方向」と「テキストを無視する方向」の差ベクトルをw倍に増幅しています。wが大きいほどテキストに忠実ですが、大きすぎると画像が不自然になります。
ネガティブプロンプトへの応用
本論文の直接の貢献ではありませんが、上記の式を応用してネガティブプロンプトが実現されています。
無条件予測 ε(x_t, t, ∅) の「空テキスト」を別のテキスト条件(ネガティブプロンプト)に置き換えます:
ε̂ = ε(x_t, t, c_negative) + w × [ε(x_t, t, c_positive) − ε(x_t, t, c_negative)]
つまり:
- c_positive = 生成してほしいもの(通常のプロンプト)
- c_negative = 生成してほしくないもの(ネガティブプロンプト)
モデルは「ネガティブプロンプトの方向から離れつつ、ポジティブプロンプトの方向に進む」形で画像を生成します。
これがネガティブプロンプトで (worst quality, low quality:1.4) を指定すると品質が向上する理由です。
z-image-turboとの関係
z-image-turboのようなTurbo/蒸留モデルは、蒸留(distillation)によってガイダンスをモデル自体に焼き込んでいるため、デフォルトCFG値は1.0です。通常のStable DiffusionモデルがCFG 7.5前後を必要とするのとは異なり、推論時のCFG増幅なしでプロンプトに追従できます。
ただし、CFG=1.0ではネガティブプロンプトは機能しません。上記の数式でw=1.0を代入すると、ネガティブプロンプトの項が打ち消されてポジティブプロンプトのみが残るためです。ネガティブプロンプトで品質を制御したい場合は、CFG > 1.0に対応した通常のStable Diffusionモデルを使いましょう。
どうやって有効だと検証した?
評価指標
- FID(Fréchet Inception Distance): 生成画像の品質(低いほど良い)
- IS(Inception Score): 品質と多様性のバランス(高いほど良い)
主な結果
| 条件 | FID | 備考 |
|---|---|---|
| CFG w=1.0(ガイダンスなし) | 高い | テキストへの追従が弱い |
| CFG w=3.0 | 改善 | バランスが取れ始める |
| CFG w=7.5 | 最良の品質 | COCOデータセットで |
| CFG w=15.0 | やや劣化 | 過度なガイダンス |
Classifier Guidanceと同等以上の生成品質を、より少ない計算コストで達成しています。
議論はある?
トレードオフ
- 品質 vs 多様性: guidance scaleを上げると品質は上がるが、生成画像の多様性(バリエーション)は減少する
- 最適なwはデータセット依存: 画像の種類によって最適なguidance scaleが異なる
制限事項
- guidance scaleの選択が経験的(理論的な最適値の導出がない)
- 訓練時の条件ドロップ確率 p_uncond のチューニングが必要
- 過度なガイダンスによるアーティファクト(色の飽和、不自然なテクスチャ)
計算コスト
推論時に条件付き・無条件の2回のforward passが必要なため、計算コストが約2倍になります。これを軽減するための蒸留(distillation)手法が後続研究で提案されています。
次に読むべき論文は?
| 論文 | 関連性 |
|---|---|
| Diffusion Models Beat GANs on Image Synthesis (Dhariwal & Nichol, 2021) | Classifier Guidanceの元論文。本論文の直接の先行研究 |
| CLIP (Radford et al., 2021) | テキスト条件の埋め込みに使われるモデル → CLIP論文解説 |
| Latent Diffusion Models (Rombach et al., 2022) | 本手法を採用したStable Diffusionの基礎 → LDM論文解説 |
| Progressive Distillation for Fast Sampling of Diffusion Models | CFGの計算コスト問題に対する蒸留アプローチ |
| SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis | LDMの改良版。CFGの実践的な利用方法を含む |
この論文がAI画像生成に与えた影響
Classifier-Free Diffusion Guidanceは、現代のテキスト→画像生成モデルの標準コンポーネントになっています。Stable Diffusion、DALL-E 2、Imagen、Midjourney等のすべてがこの手法を採用しており、ユーザーが日常的に使う「guidance scale」や「ネガティブプロンプト」の背後にはこの論文の理論があります。
関連記事
- プロンプトの基本法則 — 強調構文やネガティブプロンプトの実践
- ネガティブプロンプト完全ガイド — CFGに基づくネガティブプロンプトの使い方
- CLIP論文解説 — テキスト条件の埋め込み
- LDM論文解説 — 潜在拡散モデルの全体像






