こんにちは、タカムネ(@takamune_ai)です。
Stable Diffusionでイラスト生成する際には、いろんなパラメーターがありますが、今回はそのなかの一つであるCFG scaleについて説明します。
CFG scaleを変更することにより、かなりイラストの印象が変わるので、仕組みを知って使いこなせるようになると便利です。
CFG scaleとは?
CFG scale(Classifier-Free Guidance Scale)とは、プロンプトをどれくらい忠実に参照するかを規定している数値です。
CFG scaleの値を大きくするとプロンプトを忠実に再現するようになり、小さくするとプロンプトに縛られずモデルの創造性に従うようになります。
同じプロンプトでも、CFG scaleの値によってイラストの印象が変わるので、調整しがいのあるパラメーターだと思います。
CFG scaleの推奨値・イラストへの影響
CFG scaleの推奨値
CFG scaleの推奨値はモデルによって異なります。
例えば、Vすき焼き様(@Vsukiyaki_AIArt)の「ShiratakiMix」は、CFG scaleの推奨値が「7.5」です。CFG scaleのデフォルト値は「7」ですので、だいたいこの辺りの数値で生成することが多いと思います。

・Sampling Steps: 20 ~ 60
・Sampler: DPM++ SDE Karras
・CFG scale: 7.5
・Denoising strength: 0.55
・Hires steps: 20
・Hires upscaler: Latent or R-ESRGAN 4x+ Anime6B
・Clip skip: 2
CFG scaleの違いによるイラストへの影響
だいたいどのモデルでもCFG scaleの増減によって、生成されるイラストに同じような傾向が生じます。
今回はテストのために、幅広くCFG scaleを変化させて、イラストを生成してみます。その他のパラメーターは固定しています。
cute girl,indoors,antique shop,many antique goods,shop counter,display shelf,apron,happy smile,perspective
Negative prompt: (easynegative:1.0),(worst quality,low quality:1.2),(bad anatomy:1.4),(realistic:1.1),nose,lips,adult,fat,sad, (inaccurate limb:1.2),extra digit,fewer digits,six fingers,(monochrome:0.95)
・Sampling Steps: 30
・Sampler: DPM++ SDE Karras
・CFG scale: 7.5
・Denoising strength: 0.55
・Hires steps: 20
・Hires upscaler: Latent
・Clip skip: 2















CFG scaleが小さすぎるとボヤッとした抽象的なイラストになり、大きすぎるとノイズや細部の破綻が発生しています。
やはり推奨値付近が一番品質が良いイラストが生成されています。
CFG scaleとSampling stepsの関連性
前述の「CFG scaleによる違いと推奨値」の通り、CFG scaleを上げていくと、イラストにノイズが入ったり、破綻したりすることがあります。
この原因は、CFG scaleを上げた結果、Sampling stepsが不足してイラストの生成が不完全になっている可能性があります。
試しに、前述でノイズが発生した「CFG scale:40」のイラストで、Sampling stepsを上げて生成してみます。







Sampling stepsを増やすと、徐々にノイズが解消されました。ただし、生成時間が長くなるので、Sampling stepsを増しすぎるのは、あまり現実的ではないかもしれません。
【参考】Dynamic Thresholding (CFG Scale Fix)について
Dynamic Thresholding (CFG Scale Fix)は、CFG scaleを上げたときに起こるノイズや破綻を防いでくれる拡張機能です。
CFG scaleを上げたイラストが必要な場合は、こちらを導入するのもありです。


コメント