このブログ記事では、コンピュータビジョンにおける条件付き画像生成を行うための方法(CFG, CADS等)について紹介します。

前回の記事では、U-NetやTransformerで構築される、ノイズ除去拡散確率モデル(DDPMs)を使用した画像生成の進歩について説明しました。 しかし、私たちは無条件画像生成についてのみ議論しました。これでは、欲しい種類の画像を得るために生成を誘導することができず、実用的ではありません。 そこで、本記事では条件付き画像生成を実行する方法について説明します。
分類器ガイダンス
Dhariwal, P. et al. (2021)は、GANsにインスパイアされ、推論時に事前訓練された画像分類器を使用して無条件モデルを望ましいクラスに導く分類器ガイダンスを提案しました。 この方法は、条件付き生成がとして表現できるという観察に基づいています。 ここで、は正規化定数、は無条件生成、は分類を表し、条件付き生成は無条件生成器と分類器によって達成できることを意味しています。
数学的な導出(引用された論文に記載されており、この記事の範囲外です)の後、、 つまりをとして分類するために必要な変更を表す分類器勾配をノイズから差し引くことで、モデルを提供されたクラスの画像の方向に潜在変数のノイズを除去するよう誘導できることを発見しました。 ハイパーパラメータで勾配をスケーリングすることで、分類器勾配がノイズ除去をどの程度誘導するかを制御できます。
の場合、モデルは無条件生成のように振る舞い、の場合は無条件と通常の条件付き生成の間を補間します。 分類器ガイダンスは無条件のDDPMsを変更せずに推論時に様々な程度の条件付き生成を実行することを可能にしますが、 初期のノイズの多い画像に対する分類器からの信号は役に立たないか、あるいは邪魔である可能性があります。 また、分類器がそれらのノイズの多い画像で訓練される必要があるため、訓練の複雑さも増します。
分類器フリーガイダンス (CFG)
前述の分類器ガイダンスの欠点に加えて、分類器ガイダンスは、ImageNetで事前学習された分類器からの勾配を使用することで、 現実的な画像を生成するというよりも、高いISおよびFIDスコアを達成するためにInception-v3を「欺く」ことに貢献しているだけかもしれません。 代替案を検討するために、分類器ガイダンスの背後にある数学的な導出を分析することができます。
分類器ガイダンスでは、を分類器でパラメータ化しました。 しかし、分類器なしで分類器ガイダンス(分類器フリーガイダンス (CFG))を適用するために、これを異なる方法で導出することができます。 ベイズの定理を使用すると、をとして表現できます。 に関するログの微分を取ると、をとして置き換えることができます。 ハイパーパラメータを用いて、ガイダンスを次のように書き直すことができます。
このアプローチにより、条件付き生成器、無条件生成器、およびガイダンスの重みのみで構成される勾配が得られ、 これは暗黙的な分類器勾配または条件付けの強さを制御するハイパーパラメータとして機能します。更なる数学的な導出の後、 新しいノイズサンプラーを得ることができます。 以前の定式化とは異なり、無条件モデルの上に新しい条件付きモデルを訓練する必要がありますが、欠点の主な原因であった分類器を避けることができます。 さらに、条件付きモデルを作成し、それを無条件モデルと共同で訓練することは、入力にクラス埋め込みを単に付加し、 トレーニング中に時々(通常10〜20%)それをドロップアウトすれば良いだけで、幸い複雑ではありません。
生成された画像のクラスに対する優れた制御が欲しいので、一般的に高いガイダンスの重みでモデルを訓練することを好みます (また、大規模なデータセットで事前訓練されたモデルには、一貫性のある画像生成を達成するために強い条件付けが必要です)。 しかし、高いガイダンスの重みは、多様性が低下し、の正規化されたピクセル値の範囲を超える過度のガイダンスにより、 高彩度の画像をもたらすことが経験的に分かっています。後者については、通常、動的閾値処理に頼ります。 動的閾値処理は、現在の任意の彩度のパーセンタイル(通常99.5%)である動的閾値を選択し、各サンプリングステップ後にに適用します。
CADS
動的閾値処理は高い彩度の問題にある程度対処できますが、多様性に関する元の問題はまだ解決する必要があります。 問題を分析すると、多様性の問題は初期段階での過度に高いガイダンスの重みによって引き起こされている可能性があります。 ノイズの少ない画像に対しては高品質と妥当性を確保するために高いガイダンス重みを維持したいですが、 ノイズの多い画像に高いガイダンス重みを適用すると、生成を過度に制約し、最も分類しやすい画像を生成する傾向があり、多様性を損なう可能性があります。
そこで、条件アニーリング拡散サンプリング(CADS)は、クラス埋め込みに対して強いノイズから弱いノイズへとスケジュールされたガウスノイズを適用することでこの問題に対処します。 これにより、モデルの初期段階でのクラスへの依存度を低くして多様な生成を可能にし、その後徐々にクラス依存性を回復させて高い生成品質を確保できます。
ここで、とはユーザー定義の閾値です。はノイズ除去中に逆方向に進むため、このアプローチは初期段階でより多くのノイズを適用し、 その後徐々にノイズレベルを減少させます。しかし、ガウスノイズを追加すると、はモデルが学習した元のとは異なる平均値を持つことになり、 パフォーマンスに影響を与える可能性があります。これを軽減するために、をスケーリングし直しつつ、画像生成における多様性のレベルを確保するためにスケーリングの程度を制御する以下の式を使用することができます。
ここで、はスケーリングの程度を制御するハイパーパラメータであり、はノイズの加えられたクラス埋め込みとして条件付きモデルに渡されます。 このアプローチとハイパーパラメータの調整(記事の最後に引用されている原論文で確認できます)により、CADSは画像品質とFIDを維持しながら、 事実上すべての事前学習された条件付きモデルにおいて画像生成の多様性を向上させることに成功しました。 また、CADSと動的CFG(推論中に条件付きノイズにアニーリングされた重みを使用する方法)を比較し、多様性と品質の両面でCADSの優位性を確認しました。 この優位性は、スカラーの重みでは達成できないノイズによるクラス埋め込みの方向の変化によって引き起こされていることが推測されます。
結論
この記事では、分類器ガイダンス、CFG、CADSについて説明しました。これらは推論中のノイズサンプリング方法(事前学習された分類器または条件付きDDPMを使用)であり、 条件付けの強さを制御し、クラスラベルに基づいた多様で高品質な条件付き画像生成を実現します。記事全体を通して条件がクラス埋め込みであると仮定していましたが、 これら3つの方法は必ずしもクラスラベルの使用に制限されるわけではありません。例えば、ラフなスケッチの画像埋め込みや、より詳細なキャプションのテキスト埋め込みなど、 様々な条件を使用して、より制御された細かい生成が可能です。したがって、次の記事では、より実用的で性能の高い条件付き画像生成のために、 テキストを視覚情報に最適に紐づけられるテキスト埋め込みの生成方法について説明します。
リソース
- Adaloglou, N. & Kaiser, T. 2024. An overview of classifier-free guidance for diffusion models. AI Summer.
- Dhariwal, P. et al. 2021. Diffusion Models Beat GANs on Image Synthesis. ArXiv.
- Ho, J. & Salimans, T. 2022. Classifier-Free Diffusion Guidance. ArXiv.
- Sadat, S. et al. 2024. CADS: Unleashing The Diversity Of Diffusion Models Through Condition-Annealed Sampling. ICLR 2024.
- sasgawy. 2024. 最新の高性能 Diffusion Models (2024年). Qiita.