Stable Diffusionからの概念消去⑯:CoGFD(論文)

2025/03/04に公開

Erasing Concept Combination from Text-to-Image Diffusion Model (ICLR2025)

引き続きICLR2025採択論文をチェックします.

書籍情報

Hongyi Nie, Quanming Yao, Yang Liu, Zhen Wang, and Yatao Bian. Erasing concept combination from text-to-image diffusion model. In The Thirteenth International Conference on Learning Representations, 2025.

関連リンク

現時点 (2025/3/3)ではarXivなどにはないです.

問題意識

既存の研究ではvisual concept combination eraing problemを解くことができません. 例えば, \{Kids, Drink, Wine\} といったvisual conceptは, underage drinking (未成年飲酒)と結びつきます. Kids, Drink, Wineのそれぞれは不適当ではないですが, それを組み合わせると不適当になってしまいます. また, 言い換えのような形にも弱いです. 著者らはこのことをConcept Combination Erasing (CCE) problemと名付け, それを解く手法としてConcept Graph-based high-level Feature Decoupling framework (CoGFD)を提案しています. LLMでconcept graphを作り, 意味理解をしながらvisual concept combinationを分解します.

CCE

さっそくCCEの定義を見ます. text-to-imageモデルを \Phi_{\theta} とします. \boldsymbol{c} をvisual concept, \mathcal{C}\Phi_{\theta} が生成可能な全てのvisual conceptが含まれる概念集合とします. visual concept combination \boldsymbol{m} を, \mathcal{C} の要素をいくつか連結させたものとします. すなわち, \boldsymbol{m}=\boldsymbol{c}_1\land\boldsymbol{c}_2\land\cdots\land\boldsymbol{c}_k です. また, d を複数のvisual conceptを組み合わせることで得られる画像のテーマとします. 例えば"Kids drink wine"と"Boys drink beer"はどちらも"underage drinking"という同じテーマに含まれます.

CCEの目標は \theta\theta' に変更することです. \theta'\Phi_{\theta'}d に一致する画像を生成する可能性を大幅に減少させるようなパラメータです. 当然ですが, \Phi_{\theta'} は他のテーマに関しては \Phi_{\theta} と同等の性能を維持する必要があります.

Concept Graph-based High-Level Feature Decoupling

提案手法のCoGFDに入っていきます. 主に

  1. LLM-based concept logic graph generation
  2. gradient-based high-evel feature decoupling

の2つのモジュールから成り立ちます. 概要を示します.

それぞれ順番に確認します.

Concept Logic Graph Generation with LLMs

visual conceptとconceptの組み合わせは多くの場合, 意味的に一致するtextual conceptまたはconceptの組み合わせを持っています. 例えば"wine"というvisual conceptは, 「wine」というtextual conceptとの対応関係があります. 拡散モデルはtextual conceptを利用して対応するvisual conceptを生成していると見ることができます. すなわち, visual concept間の関係を分析することは, 対応するtextual conceptを分析することと概ね同じと言えます. そこで, Concept Logic Graphと名付けた概念に関する知識グラフを設計し, 消去したい画像のテーマについて, 関連するvisual conceptの組み合わせとその中の個々のvisual conceptを整理します. 形式的にConcept Logic Graphのentityは, visual conceptまたはconcept combinationに対応するtextual conceptまたはconcept combinationです.

Concept Logic Graphは類似した意味を持つentityをつなげるために, 論理関係である, Equivalence (同値関係, \equiv)Inclusion (包含関係, \subseteq) を使用します. また, textual conceptの組み合わせと, その構成要素となるtextual conceptを結びつけるために Conjunction (論理積, \land) も使います. 例えばunderage drinkingという画像のテーマについては以下のようなConcept Logic Graphが期待されます.

これをLLMで生成しようというのが提案手法ですが, LLMによるグラフの生成は不安定で, グラフが大きくなると性能が低下します. なので自動生成は難しいです. ここでは, 2つのagentを用いることで反復的にグラフを生成する戦略を採用します. 先ほどの概要図の(a)を取り出します.

この図にあるように, LLM-agentによって複数のsubgraphを生成し, それを統合して1つのConcept Logic Graphとします. 単一のLLMでは自身の誤りを検知して修正することが難しいので, GeneratorとReviewerというagentを用意します. 具体的には, 与えられたvisual concept combination \boldsymbol{m} に対応するtextual concept combination \hat{\boldsymbol{m}} をseed entityとして, Generatorがルールベースでsubgraphを逐次生成します. subgraphにはtextual concept combination \hat{\boldsymbol{m}} を構成するconcept entityと \hat{\boldsymbol{m}} と同じ画像テーマに対応するconcept combination entityが含まれます. 生成が終わるとReviewerがentity間の論理関係を確認し, 修正提案をします. これはGeneratorが誤りを生成しなくなるまで行いますが, Reviewerのhallucinationsは考慮されていなさそうです (Appendixで示されているpromptには「注意深く」のような指示が一応あります). このフェーズが終了すると, 既存のConcept Logic Graphにsubgraphを統合し, 次のsubgraph生成に移行します. これを示したのが以下のアルゴリズムです.

High-Level Feature Decoupling

一般に画像の特徴では, visual conceptの本質的な意味というのは構造やテクスチャなどのhigh-levelな特徴を通じて表現されています. 一方でlow-levelな特徴は詳細情報を多く含んでいます. 複数のvisual conceptのhigh-levelな特徴が画像内に同時に存在する場合, 画像の内容はそれらの組み合わせに対応すると考えられます. すると, target visual conceptを削除しつつ, その中に含まれるvisual concept自体を損なわないためには拡散モデルからvisual conceptの共起するhigh-levelな特徴を削除するのではなく, 分離する必要があると考えられます. そこで, 提案手法では拡散モデルをfine-tuningするさいにhigh-level feature decouplingの手法を提案しています.

具体的な話に入っていきますが, その前にnotationを示します.

Notation 意味
\Phi_{\theta} text-to-image diffusion model
T denoiseに要するtimestep
t timestep. t\in T を満たす.
\boldsymbol{x}_0 画像
\boldsymbol{x}_T\sim\mathcal{N}(\boldsymbol{0}, \bold{I}) ガウシアンノイズ
\varepsilon_t 時刻 t において拡散モデル \Phi_{\theta}(\boldsymbol{x}_{T-t}, \boldsymbol{p}, t) が予想したノイズ
\boldsymbol{p} prompt

さて, DDPMの論文ではhigh-levelな特徴は早い段階で生成され, low-levelな特徴はその後に生成されるという挙動が観察されています. そこで, 2つの拡散モデル \phi_{\theta}, \phi_{\omega} が生成したhigh-levelな特徴を以下の指揮によって計測することができます.

D(\phi_{\theta}, \phi_{\omega}, \boldsymbol{p})=\sum_{t\in[T-\tau, T]}\|\phi_{\theta}(\boldsymbol{x}_{T-t}, \boldsymbol{p}, t)-\phi_{\omega}(\boldsymbol{x}_{T-t}, \boldsymbol{p}, t)\|^2

この式に基づいて, concept combination内で共起するhigh-levelな特徴をgradient adversarial loss functionを用いて分離します. concept combination \boldsymbol{m}=\boldsymbol{c}_1\land\boldsymbol{c}_2\land\cdots\land\boldsymbol{c}_k が与えられたとき, gradient adversarial loss functionを以下のように定義します.

\mathcal{L}(\hat{\boldsymbol{m}}, \{\hat{\boldsymbol{c}_1}, \ldots, \hat{\boldsymbol{c}_k}\})=\alpha\underbrace{\exp(-D(\phi_{\theta}, \phi_{\tilde{\theta}}, \hat{\boldsymbol{m}}))}_{\text{勾配上昇}}+(1-\alpha)\underbrace{\exp\left(\sum_{i\in[1, k]}D(\phi_{\theta}, \phi_{\tilde{\theta}}, \hat{\boldsymbol{c}_i})\right)}_{\text{勾配降下}}

ここで \phi_{\tilde{\theta}} はパラメータ固定を表します. また, \hat{\boldsymbol{m}}, \{\hat{\boldsymbol{c}_1}, \ldots, \hat{\boldsymbol{c}_k}\} はそれぞれ \boldsymbol{m}, \{\boldsymbol{c}_1, \ldots, \boldsymbol{c}_k\} に対応するtextual concept combinationおよび個々のconceptを表します. fine-tuningではこれを最小化します.

提案手法全体のアルゴリズムを示します.

実験

主に2つの観点から実験を行います.

  1. 提案手法の有効性の検証
  2. CCE taskにおける提案手法の性能評価

実験設定

CCE taskの評価のために, 実験で使うデータセットには以下の2種類の概念の組み合わせが含まれています.

  1. object概念の組み合わせ
  2. object概念とstyle概念の組み合わせ

それに加えて2つのAIGC (AI generated contents)シナリオを考えます.

  • 日常生活のシナリオ
  • AI生成のペインティングのシナリオ

これらを満たしたデータセットとして以下の2つを用います. 20種類の一般的なobjectと50種類の異なるstyleの組み合わせを含む1000の異なるvisual conceptの組み合わせで構成されるUnlearnCanvasとMSCOCO-30kです.

さらに, 新たにHarmfulCmbというデータセットを作成してそれでも実験を行います. これは10種類の不適切な画像テーマを含み, 各テーマに対して複数の無害な概念から構築された概念の組み合わせを設定します. 例えばUnderage Drinkingというテーマの場合, child, drink, wineというそれぞれは無害でも組み合わせることで有害となる概念を用意します. これらの組み合わせでpromptを100個作り, 1個をfine-tuningに, 99個を評価に用います.

ベースラインには, CA, FMN, UCE, SalUn, ESDを用います. 評価指標は主に「生成画像の品質評価」と「生成品質の変動の評価」の2種類に分けられ, 全部で6つを使います. 前者はCLIP Score, FID, Classification Accuracyに加えて人手の評価を行います. 後者ではCLIP ScoreによるPearson CorrelationとErasure-Retain Scoreを用います.

original SDとしてStable Diffusion 1.5を使用しています. decouplingでは \alpha=0.1 とし, Concept Logic Graph生成の K はHarmfulCmbのとき2を, UnlearnCanvasのとき1にします. fine-tuningではcross attention層のみを更新します.

CCE taskにおける提案手法の性能評価

ここでは主にablationのようなことをします. 提案手法には, Concept Logic GraphとHigh-Level Feature Decouplingの2つの要素がありました. それぞれの有効性を確認します. UnlearnCanvasから特定の概念の組み合わせを選んで消去します.

まずはConcept Logic Graphです. Conjunction, Equivalence, Inclusionをそれぞれ消してみて, 性能にどの程度影響があるのかを調べます.

例えば, Conjunctionを除外すると, 概念の組み合わせの分解ができなくなくなっていることがわかります. また, EquivalenceやInclusionを除外するとconcept combinationなどが悪化します. これは, 意味的に類似した概念の組み合わせを十分に取得できなくなり, 多様な概念の組み合わせや豊富な個別概念を網羅することが難しくなることに起因します. 全体として, combinationに対するCLIP Scoreは上昇するものの, 概念に対するCLIP Scoreは低下します. これによってどの論理関係を除外してもErase-Retain Scoreは低下します. これはConcept Logic Graphが適切に生成できなくなることによって生じると考えてよさそうです.

続いてHigh-Level Feature Decouplingです.

low-levelのfeature decouplingは t\in[0, 250] 程度のdenoisingの後半部分で発生し, high-levelの場合は t\in[750, 1000] 程度の初期段階で発生していることがわかります. low-levelの特徴は画像の細部の話なのでconcept combinationにはほとんど影響がありません. 一方でhigh-levelの特徴はconcept combinationは悪化します (これは目論見通りだと思います)が, 個々の概念は保持しているので高いErase-Retain Scoreとなっています. これを可視化すると下図のようになります.

初期段階の t を持ってくると, 概念同士の共起がなくなっています. 左下では猫と女性は別々に生成され, なかなか女性が猫を抱いている画像は出てこなくなります.

提案手法の有効性の検証

他の手法との比較を行います. まずはHarmfulCmbを用いて「生成画像が対応するテーマと一致しているか」を人手で評価します. テーマを消去したいので低い方がいいです.

比較手法ではテーマの消去能力はないので, 提案手法と比較するとかなり高いスコアになっています. 論文にはあまり記述はないです. これに関する生成結果があればいいなと思いますが, ないのであまり参考にはならなそうです. ちなみに人手評価に用いた詳細情報もないので信憑性はかなり下がっていると思うのですが, 査読にもそのようなコメントはありませんでした.

続いて概念の分離に関してです. target concept combinationと, それを構成する個々の概念との間の生成性能の変動におけるPearson Correlationを示します. 各手法のfine-tuningにおいて複数のcheckpointを保存し, checkpointごとに生成を行って変化を記録します.

(a) に示されるように, 提案手法は相関が低いことがわかります. これは概念の分離がうまくいっているということを示唆しています. さらに, (b)と(c)を比較すると, 提案手法はconcept combinationを消去しながら個々の概念は維持できていることがわかります.

target conceptの組み合わせを消去した後の性能をUnlearnCanvasを用いて確認します. 10個のobjectとstyleから100種類のconcept combinationを作成し, 各組み合わせについてobjectおよびstyleの分類精度が0になるまでfine-tuningします. そのモデルで残りの99個の組み合わせを生成し, 分類精度を確認します.

overlapは, 消去した概念と重複する概念を表します. この表から, 比較手法ではoverlapの概念は大幅に分類精度が低下するのに対して提案手法はかなり高い精度を維持していることがわかります. この表はobject overlapですが, 下表のようにstyle overlapでも同様の現象が確認できます.

SalUnでは, objectのoverlapは高い性能を出しているのに対してstyleではそうではありません. また, 逆のことがFMNでも起きています. これらが特定の概念を消去することで概念の組み合わせも消去する傾向があることを示しています. これは, target conceptをoriginal SDで生成した際に一緒に生成されやすい概念がconcept combinationに使われているだけなのではと思いますが, その分析はありませんでした.

最後に定性評価をしておきます. "an image of a cat in sketch style" というconcept combinationを消した場合の比較です. これを見ると他の手法はcatを消してしまっていたり, sketch styleを消していたりしますが提案手法はそうではないです.

まとめ

  • Concept Logic GraphとHigh-level Feature Decouplingを組み合わせたCoGFDの提案
  • Concept Combination Erasing taskで高い性能を発揮

思ったこと

  • 他の手法との比較ですが, fine-tuningに用いるpromptの選び方に起因しそうです. 例えばESDなんかではCLIP ImageNet Templateを用いて消去していますが, これをconcept combinationの言い換えに変更するとまた違った結果が見れそうに思います. 論文には既存手法の実装について述べられていないのでフェアではないなと思います.
  • 人的評価もあまりフェアではないなと思います. この手の評価は評価UIなども影響を与えるのでどの程度公平な評価が行われているかは論文からはわかりませんでした.
  • concept combinationは新しい着眼点でいいなと思ったのでもっと生成例が豊富だと嬉しいです. 少し似ているものとして画像内の概念同士の関係性 (例えば「握手している」など)を学習するReVersionみたいなものがあります.

https://dl.acm.org/doi/abs/10.1145/3680528.3687658

  • 消した後の画像がこれでいいのかは少し疑問の余地があるのではと思います. この生成例ならoriginal SDで生成した後に検知して適当な画像に差し替えた方が実用上は便利でしょう. 実用上のことを考えると「確かにプロンプトは反映しているがちょっと違う」みたいな状況がベストだと個人的には思います.

参考文献

  • Hongyi Nie, Quanming Yao, Yang Liu, Zhen Wang, and Yatao Bian. Erasing concept combination from text-to-image diffusion model. In The Thirteenth International Conference on Learning Representations, 2025.

Discussion