CLASSIFIER-FREE DIFFUSION GUIDANCE
どんなものか ( 要約、システムのI/Oなど)
拡散生成モデルを分類器なしで条件づける手法
拡散生成モデルの学習で、ランダムノイズと同時に条件を入力する場合と条件を入力しない(代わりに定義したtoken φを入力)場合を作ることでターゲットの分布を条件付けした方向に近づけるように重みを更新する
In terms of power-to-simplicity ratio, classifier-free guidance is up there with dropout, in my opinion: a real game changer! - Guidance: a cheat code for diffusion models
先行研究と比べてすごいところ、貢献
既存の問題点:分類器を用いた生成の条件付け手法は、エンコーダ・デコーダモデルやGANsのような非再帰的な画像生成モデルには有効だが、拡散生成モデルは徐々にノイズを除去することによって動作するため、ガイダンスに用いる分類器は高いノイズレベルでも正しく分類しなければならない。が、ランダムノイズの画像を正しくガイダンスすることはどう考えてもタスク難易度として高すぎる。 たとえ正しく分類できる分類器が存在したとしても、
分類器に入力される条件は生成モデルに入力されるわけでは無いので、独立した事象として扱っている時点で表現力に限界がある。
ノイズ画像は摂動が大きいので分類器に対してAdversarial attackを発生する可能性が大きい
貢献:条件付きの拡散モデルに対して、条件となるtokenをφでpaddingした無条件の入力をを学習させることで、条件付きの生成 / 無条件の生成の推論結果を重みつき加算し、その重み(CFD Scale)を調整することで生成結果の「多様性<->品質」のトレードオフ(GANのTruncationのようなもの)を作ることができるようになった。 手法
Classifier Guidance
分類器のスコアをLossに加算することによって、ガイダンスする。
https://gyazo.com/f874ce24854b3d262785ecd888f6ebaa
ベイズの定理から、ある出力xが観測された際にyという条件になる確率に式変形する。
既存の問題点を参照
Classifier-Free Guidance
https://gyazo.com/891cc57cad4dc5fe7d382fcf9d3ee7fd
実際には無条件の確率分布を負とすることで無条件の尤度を減少させている
https://gyazo.com/4724d599babc582d10fd281dda2a899f
無条件を示すtokenφを10%~20%の確率で入れることによって、条件付き / 無条件の分布双方を学習
条件付き / 無条件の分布のどちらに寄るかをScaleで制御する
生成過程を学習すると同時に、φとそれ以外の有効な条件付けの分布を学習する
Classifier Guidanceと異なるのは、生成過程の学習と同時にGuidanceの学習を行う必要があるため、モデル間の互換性は無い点。
It is not obvious a priori that inverting a generative model using Bayes’ rule yields a good classifier that provides a useful guidance signal.
生成モデルの学習と同時に行うGuidanceの学習が「上手くいく」ことはこの実験より以前は明らかでなかった。
検証方法
https://gyazo.com/37f603135859833efac191eaa5cc841e
FID / IS Score間のトレードオフ
https://gyazo.com/18035f40afd114cb39754523b43af018
https://gyazo.com/4bb91167f6e72d527e89074441479c1a
wが高くなればなるほどISスコアが上昇し、wが低くなるほどFIDスコアが上昇する
Inception Score(↑)
生成される画像の多様性と品質の評価
Fréchet Inception Distance(↓)
生成した画像の分布がデータセットの画像の分布とどれくらい近いか
なぜClassifier Guidance よりも良い生成ができるのか?
生成過程で得る特徴量がそのまま無条件 / 条件付きの分布となるため、Classifier Guidanceのように生成画像の再度のエンコードによる特徴の欠損が発生しにくいため?
議論、課題
純粋な生成器のみでの多様性<->品質トレードオフを達成した。この方法は、Diffusion models以外のモデルにも応用可能性がある。
実際、Compressed ideographs(DALL-E)ではCFGを用いたガイダンスをしている
無条件の場合と条件付きの場合の2つの場合をforward passしなければならないためclassifier guidanceよりも計算コストは高くなる。
データセットの分布外にある未知の条件をもとに推論する場合、実用上は現実の忠実度よりもサンプルを多様に生成してその中から品質の高い出力を得ることの方が重要になる。そのため、「どの程度多様性の減少を許容できるか」という問題はconditionalな生成ひいては多様性と忠実度のトレードオフを図る生成モデルに共通する問題となる。
次に読むべき論文
コメント
原論文がかなり難しい書き方をしているので解説記事を参考にサーベイをまとめています。そのため、論文中の記号と異なる表記をしています。
FID<->ISのトレードオフが、多様性<->品質のトレードオフになる理由がなんとなくしかわからない。
FID(↓)は学習データと生成画像の潜在空間上の観測のKLダイバージェンスだからFIDスコアが低い=学習データの分布に近い=表現可能な範囲が広い。
ISはあるラベルytのKL(ある画像xiをInception-v3にかけた時のy0~yiとなる確率分布 || yの周辺確率)(↑)
ある画像xiをInception-v3にかけた時のy0~yiとなる確率分布のエントロピーが
高い = ある一つのラベルのprobabilityだけが高い= 分類がしやすい = 品質が高い
低い = 全てのラベルのprobabilityがだいたい同じ = 分類がしにくい = 品質が低い
yの周辺確率のエントロピーが
高い = 全てのテスト画像を分類した時にある一つのラベルに出力が寄る = 多様性が低い
低い = 全てのテスト画像を分類した時に、全てのクラスに同じくらい分類される = 多様性が高い
https://gyazo.com/4df06e1f29abeb31aae4eb8b87db24d2
Inception Scoreは品質と同時に多様性も測っているので、多様性と品質のトレードオフにはなりにくいのではないか?
yの周辺確率はテスト画像に対する分類であるため、weightに依存しない。weightを高くすると、生成した画像群Xに対する特定のラベルの条件付き確率が高くなるため、ダイバージェンスは高くなる...というのであってる??
参考文献
Guidance: a cheat code for diffusion models
【論文解説】OpenAI 『GLIDE』を理解する
自然対数
なぜ特徴量を対数変換するのか?
ベイズの定理
Inception Score
FID Score