JA EN
体系生成モデル
·★ 会員·論文·12分で読めます

CFGとサンプラー — 生成AIの「強さ」パラメータの正体

画像生成ツールの「CFG Scale」と「Sampling steps / method」が内部で何をしているのかを、前提知識ゼロから解く。CFGは条件あり/なしの予測の差への外挿、サンプラーはODEの数値解法。忠実さ・多様性・時間の取引が、この2つのつまみでどう決まるか。

対象textタスクgeneration

Classifier-Free Diffusion Guidance

一次資料 — この記事の根拠

この解説の公開 2026-08-22

Classifier-Free Diffusion GuidancearXiv:2207.12598論文ページ·PDF
Denoising Diffusion Implicit ModelsarXiv:2010.02502論文ページ·PDF
Diffusion Models Beat GANs on Image SynthesisarXiv:2105.05233論文ページ·PDF

生成ツールに必ずある2つのつまみ

画像生成のUIには、ほぼ必ず2種類のつまみがあります。CFG Scale(guidance scale)と、Sampling steps / Sampling method(サンプラー)です。前者を上げると絵はプロンプトに忠実になりますが、上げすぎると色が焼け付きます。後者を減らすと速くなりますが、減らしすぎると絵が崩れます。多くの人は経験則で「だいたい7」「だいたい25ステップ」に落ち着かせ、なぜそこなのかは説明できないまま使っています。

この2つの役割はまったく違います。CFGは「条件が効く向きへ予測を余分に押し出す」外挿サンプラーは「決まった軌道を何歩で歩くか」の解き方です。前者は忠実さと多様性を、後者は品質と時間を取引します。そして両者は独立ではありません。片方を動かすと、もう片方の適正値もずれます。

前提: 生成は「ノイズを当てる」ことの繰り返し

拡散モデルの中身は拡散モデルを1から理解するで扱いました。ここで要る前提は1つだけです。ネットワークは、ノイズまみれの画像を渡されると「この中に混ざっているノイズはこれだ」と予測する。予測したノイズを少し引く、を繰り返すと砂嵐が絵になる。この予測を εθ\varepsilon_\theta と書きます。

条件つき生成では、ここにプロンプト cc が加わります。εθ(xt,c)\varepsilon_\theta(x_t, c) は「猫の絵という条件のもとで、この砂嵐に混ざっているノイズ」の予測です。理屈の上ではこれだけで条件つき生成は成立しますし、実際に動きます。ただしプロンプトへの忠実さが足りない。「青い机の上の赤い立方体」と書いても、赤っぽい何かがぼんやり乗った絵になりがちです。学習データの平均に引っぱられるからです。

比喩: 2つの証言の「差」だけを信じる

そこでclassifier-free guidance(CFG)は、同じネットワークに2回聞きます。プロンプトを見せて聞いた答え εcond\varepsilon_{\text{cond}} と、プロンプトを隠して(空文字で)聞いた答え εuncond\varepsilon_{\text{uncond}} です。

2つの差 εcondεuncond\varepsilon_{\text{cond}} - \varepsilon_{\text{uncond}} は、プロンプトを見たことで変わった分だけを取り出したベクトルです。条件がなくても出てくる分は引き算で消え、条件が効いた向きだけが残る。ならばその向きへ、1倍ぶんと言わず余分に押してやればいい。

ε~=εuncond+s(εcondεuncond)\tilde{\varepsilon} = \varepsilon_{\text{uncond}} + s\,(\varepsilon_{\text{cond}} - \varepsilon_{\text{uncond}})
(1)

要するに「条件なしの答えを出発点として、条件ありの答えの方向へ ss 倍だけ進む」と言っているだけです。s=0s=0 なら条件を無視、s=1s=1 は展開すると εcond\varepsilon_{\text{cond}} だけが残るので普通の条件つき生成と一致、s>1s>1条件つきの答えを追い越して、その先まで外挿する。UIの「CFG Scale 7.5」は、この ss が7.5という意味です。

FIG 1温度を下げると分布が尖り、上位の候補だけが残る。ガイダンスが確率分布に対してやっているのも、これと同じ「尖らせる」操作。この図は温度つきsoftmaxそのもので、拡散モデルの計算ではない

なぜ外挿すると忠実になるのか

式(1)がやっているのは、実は分布を尖らせる操作です。予測ノイズは対数確率密度の勾配(スコア)と符号違いで結びついていて、その対応でCFGの合成を書き直すと、次の分布からサンプリングしているのと同じことになります。

p~(xc)  p(xc)[p(cx)]s1\tilde{p}(x \mid c)\ \propto\ p(x \mid c)\,\bigl[\,p(c \mid x)\,\bigr]^{\,s-1}
(2)

言い換えると「素の条件つき分布に、その絵がプロンプトらしく見える度合いを s1s-1 乗したものを掛けた分布」です。指数が1より大きいと、プロンプトらしい領域は持ち上がり、そうでない領域は押し下げられる。上の図で温度を下げたときと同じで、山が尖り、裾が痩せます。

つまり忠実さが上がることと多様性が落ちることは、副作用ではなく同じ操作の裏表です。「忠実で、かつ多様に」は ss ひとつでは実現できません。

"classifier-free" は「分類器を使わない」という意味です。先にあった classifier guidance は、ノイズまみれの画像を分類できる別のモデルを用意し、その勾配を予測に足し込む方式でした。効きますが、専用の分類器を追加で学習する必要があり、推論時にも勾配計算が要ります。

この先にあるもの

§

ここから先は会員限定です

解説記事371本・教科書26章・学生モード48単元・論文精読6本が、月額¥490ですべて読み放題になります。新しい解説は毎日3本ずつ増えます。いつでも解約でき、解約後も期間の終わりまで読めます。

会員の方はログインすると続きが表示されます

参考文献

  1. Classifier-Free Diffusion Guidance. arXiv:2207.12598論文ページ·PDF
  2. Denoising Diffusion Implicit Models. arXiv:2010.02502論文ページ·PDF
  3. Diffusion Models Beat GANs on Image Synthesis. arXiv:2105.05233論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

コメント

コメントにはログインが必要です