入力したプロンプトを基に画像を生成するAI「Stable Diffusion」は一般公開以降、世界中の人々から注目を浴びており、さまざまなツールや応用方法も発表されています。そんなStable Diffusionで画像を生成する際の設定項目には、「画像生成でどれだけプロンプトに従うか」を決める「CFG(classifier-free guidance)スケール」という値があります。

CLASSIFIER-FREE DIFFUSION GUIDANCE.pdf

https://arxiv.org/pdf/2207.12598.pdf

【論文解説】OpenAI 『GLIDE』を理解する | 楽しみながら理解するAI・機械学習入門

https://data-analytics.fun/2022/02/13/openai-glide/#toc5

The Road to Realistic Full-Body Deepfakes - Metaphysic.ai

https://metaphysic.ai/the-road-to-realistic-full-body-deepfakes/

AIで画像や音声などを生成させる際、単にラベル付きデータを入力して学習させるだけでなく、サンプリング時に別途分類モデル(classifier)を用意し、これを頼りにより本物らしい画像に誘導する「Classifier guidance」という手法があります。この手法を改善し、別途分類モデルを用意するのではなく、拡散モデルと分類モデルを同時に学習させる手法が「CFG(classifier-free guidance)」です。

CFGを導入することにより、拡散モデルにおけるサンプルの多様性を減少させる一方で、品質を向上させることが可能とのこと。CFGを発表したGoogleの研究者が公開した以下の画像は、左が「CFGを使わないで生成した画像」、右が「CFGを使用して生成した画像」です。CFGを使用して生成した画像は、構図やオブジェクトがどれもよく似ていますが、品質も高いことがわかります。



CFGはStable Diffusionにおける主要なパラメーターの1つでもあり、CFGスケールが大きければ大きいほどプロンプトや「img2img」で入力した画像に沿って新たな画像を生成できますが、画像が崩れる可能性が高くなります。一方、CFGスケールが小さければ小さいほどプロンプトや入力画像からは離れる可能性があるものの、品質は向上するという仕組みになっています。



AI開発企業のMetaphysicは、「モデルを訓練したLAIONデータセットは信頼性があり、短くシンプルなimg2imgの指示でも有効な結果をもたらすため、多くの場合はCFGスケールを大きくする必要はありません」と述べています。しかし、Stable Diffusionが事前に訓練していないものを生成したかったり、AIにとって首尾一貫した生成が困難だったり、複数の人や概念を結合したかったりする場合は、CFGスケールまたはノイズ除去強度を上げる必要があるとのこと。

Stable Diffusionがimg2imgを使った画像生成で苦手にしていることの1つに、「服の色を変える」というものが挙げられます。以下はMetaphysicがStable Diffusionを使い、赤いドレスを着た女性の写真をimg2imgで入力し、それを基に「A woman in a blue evening dress(青いイブニングドレスを着た女性)」というプロンプトに沿って画像を生成させようとした画面です。CFGスケールは一般的な推奨値(7〜11程度)よりやや高い「13.5」に設定し、禁止ワードに「red(赤)」を入れているにもかかわらず、女性のイブニングドレスは赤いままになっています。



また、Metaphysicが「パフォーマーが着ている服の色を紺色から赤色に変更し、顔をサルマ・ハエックにする」という処理をStable Diffusionで試みた動画が以下。

Hayek CFG comparison - YouTube

左側が「CFG:12、ノイズ除去:0.46」という標準的なパラメーターで生成したもので、右側が「CFG:28、ノイズ除去:0.94」というほぼ最大値に近いパラメーターで生成したもの。左下の枠に写っているのが入力データとなる女性パフォーマーの動きです。左側と右側では質感もポーズも明らかに異なっており、左側の方が画像としての精度がはるかに高いことがわかりますが、ドレスの色だけは右側の方がプロンプトに沿ったものとなっています。



左側はほぼパフォーマーと同じ動きになっていますが、右側はパフォーマーとまったく違うポーズをすることもあります。



CFGスケールが大きすぎると品質が落ち、一瞬ごとにまったく異なる画像が生成されてしまいます。確かに「ドレスの色を赤色に変更する」という指示は忠実に守っていますが、そこ以外の部分が大きく損なわれていました。



Metaphysicはこれらの問題を改善する方法として、少しでも最終的に生成したいものに近い素材を使うことを提案しています。