💭

Stable Diffusionからの概念消去⑳:STEREO(論文)

に公開

STEREO: Towards Adversarially Robust Concept Erasing from Text-to-Image Generation Models (CVPR2025)

引き続きCVPR2025の採択論文をチェックします. 時が経つにつれて概念消去の (主要な会議に採択される)論文も段々増えてきて, チェックするのが大変になってきた感じがあります (特に私も学生から身分が変わったので自由に使える時間が減っていますが, とりあえず3月までに書いてた分をしばらくは出す感じかなと思います).

書籍情報

特に断りがなければ図表は以下の論文からの引用です.

Koushik Srivatsan, Fahad Shamshad, Muzammal Naseer, and Karthik Nandakumar. Stereo: Towards adversarially robust concept erasing from text-to-image generation models, 2024.

関連リンク

問題設定

手法に入る前に問題設定を確認します. 学習済みのtext-to-imageモデルを, 入力prompt p に基づく画像 x_0 を生成する f_\phi とし, \mathcal{C} を概念空間とします. 通常 (vanilla)の概念消去においては目標は消去済みモデル (concept erased model, 以降CEM) \tilde{f}_{\phi} を得ることです. \tilde{f}_{\phi}c_u\in\mathcal{C} を含む画像を出力しないようになっています. ここで, c_u は直接的にその概念を含む (例えばnudeなど)あるいは簡単な言い換えによってそれを表す (例えば a person without clothes)ものとします.

この論文ではadversarially robust concept erasingを扱います. これは, 悪意ある入力に対しても生成できないCEM \tilde{f}_{\phi} を得ることが目標です. この入力にはtext space \mathcal{T} かembedding space \mathcal{P} かは問いません. もちろんCEM \tilde{f}_{\phi} は他の概念は維持する必要があります.

定式化をしていきます. まず, \mathbb{O}_{\mathcal{X}}:\mathcal{X}\times\mathcal{C}\to\{0,1\}\mathbb{O}_{\mathcal{T}}:\mathcal{T}\times\mathcal{C}\to\{0,1\} をそれぞれ画像およびテキストに対して概念 c\in\mathcal{C} が含まれるかを表すground-truth oracle[1]とします. 例えば \mathbb{O}_{\mathcal{X}}(x, c)=1 のときは, 画像 x に概念 c が登場していると考えます. 同様に, \mathbb{O}_{\mathcal{T}}(p, c)=1 のときは prompt p に概念 c が含まれていると考えます. 両者共にそうでない場合は0です. concept generation ability\mathbb{P} を確率測度として

\mathcal{A}(c)=\mathbb{P}_{p\sim\mathcal{T}}([\mathbb{O}_\mathcal{X}(f_\phi(p), c)=1]\|[\mathbb{O}_\mathcal{T}(p, c)=1])

で表すことができます. また, utility

\mathcal{U}=\mathbb{E}_{c\sim\mathcal{C}}\mathcal{A}(c)

で定義できます. 理想的なCEMは3つの特性を満たす必要があります.

  1. Effectiveness: \tilde{\mathcal{A}}(c_u)=1-\mathbb{P}_{p\sim\mathcal{T}}([\mathbb{O}_\mathcal{X}(\tilde{f}_\phi(p), c_u)=1]\|[\mathbb{O}_\mathcal{T}(p, c_u)=1]) が高いこと.
  2. Robustness: \tilde{\mathcal{R}}(c_u)=1-\mathbb{P}_{p^*\sim\mathcal{T}}([\mathbb{O}_\mathcal{X}(\tilde{f}_\phi(p^*), c_u)=1]) で定義される値が高いこと. ここで, p^* はadversarial promptです.
  3. Utility preservation: \tilde{\mathcal{U}}=\mathbb{E}_{c\sim\backslash\mathcal{C}}\mathcal{A}(c) で定義されるCEMのutilityが \mathcal{U} に近いこと.

簡単に言えば1つめは正しく消去できたか, 2つめは堅牢か, 3つめは他の概念の維持といったところでしょうか. すなわち \tilde{\mathcal{A}}(c_u)\tilde{\mathcal{R}}(c_u) を最大化し, \tilde{\mathcal{U}}(c_u)\mathcal{U} に揃えることが目標です.

アプローチ

ここではtwo-stage approachを採用します. 概要図を示します.

上図の上側がstage-1, 下側がstage-2です. まずはstage-1のSearch Thoroughly Enough (STE) Stageを確認します.

STE Stage

STE Stageでの目標は強力なadversarial promptの集合を発見することです. 提案手法では分類モデルのadversarial trainingに着目し, タスクをmin-max最適化問題に落とし込みます. 通常のpromptではモデルが生成できないようにし, adversarial promptに対しては生成できるようなことを考えます. すると

\min_{\phi}\max_{p^*}\mathbb{P}([\mathbb{O}_{\mathcal{X}}(f_{\phi}(p^*), c_u)=1])

です. \mathbb{P} は確率で, 推論プロセスの初期化に使用されるノイズ z_T の確率的性質に基づいて定義されます. これを解く際には2つのstepを反復的に行います. 1つめは最小化, 2つ目は最大化です.

  1. 最小化: パラメータ空間において概念を消去する (特にU-Netのパラメータ)
  2. 最大化: adversarial promptをtext embedding spaceにおいて探索する.

それぞれ順番に見ていきます. まずは最小化です.

各step i において, U-Net \varepsilon_{\theta_i} からtarget concept c_u を消去します. このとき, まずは \varepsilon_{\theta_i} のコピーを作成し, \theta_i^* と表します. そして, \theta_i^* を固定しながら \theta をfine-tuningします. ここでのfine-tuningは生成画像 x_0\in\mathcal{X} が概念 c_u を含む確率を最小化するように行うので, negative guidanceを用います. これはESDで採用されたものと同じです. \eta をnegative guidanceの強さとすると, 以下の損失関数を最小化すれば良いことになります.

\mathcal{L}_{CE}=\mathbb{E}_{z_t\in\mathcal{E}(x), t, p_u}[\|\varepsilon_{\theta_i}(z_t, t, \mathcal{Y}_{\psi}(p_u))-\tilde{\varepsilon}_{\theta_i^*}(z_t, t, \mathcal{Y}_{\psi}(p_u))\|_2^2]

続いて最大化を見ます. 最大化ではadversarial promptの集合を見つけたいです. 単純な手法ではImplicit Promptを大量に用意することが考えられますが, 多様性の欠如のために依然として脆弱です. 実際に, Implicit Promptの集合も用いて概念消去を行った結果が下図のBaselineのようになります.

確かに言い換えに対しては堅牢ですが, 攻撃を行うとchurchが登場します. 対して提案手法ではそのようなことなく生成が可能になっています. これを実現する手法としてTextual Inversionを用います. 各step i において, adversarial prompt p^* をtext embedding spaceから見つけます. その際にU-Netは固定します. やっていることはConcept Inversion

https://openreview.net/forum?id=ag3o2T51Ht

と同じように見えますが, 画像を使うか使わないかの違いだそうです. ちなみに定式化すると

v_i^*=\argmax_{v}\mathbb{E}_{z_t\in\mathcal{E}(x),x\sim\mathcal{G},t,p,\varepsilon\sim\mathcal{N}(0,1)}[\|\varepsilon_i-\varepsilon_{\theta_i}(z_t, t, [\mathcal{Y}_{\psi}(\hat{p})\|v])\|_2^2]

です.

REO Stage

次に, stage-2のRobustly Erase Once (REO) Stageについて確認します. STE stageが終わったときのU-Netを \varepsilon_{\theta_K} とします. このモデルはロバストな概念消去を実現するモデルになっています.

ここでは K 個のadversarial promptの集合 \bold{p}_K^* を用いてtarget conceptを一度にロバストに消去することを考えます. 単純に考えるとfine-tuningにおける各iterationでランダムに \bold{p}_K^* から選んだものを条件として消去する, となります. しかし, ESDのようなnegative guidanceのみを利用するとモデルのutilityが失われてしまいます. また, AC (Ablating Concepts)のようにpositive guidanceのみを利用すると逆にrobustnessが失われてしまいます.

これはnegative guidanceだとtarget conceptから遠ざけるので消去は行われるがモデルの正則化が行われないので破壊されてしまい, 逆にpositive guidanceでは単純に概念をマッピングしているだけなので消せていないという状況になるからです.

その解決策としてanchor conceptを利用します. p_aL 個あるanchor conceptを含むpromptとした際に, STE stageでは次の予測を行います.

\begin{align*} \varepsilon_{anchor}&=\dfrac{1}{L}\sum_{i=1}^L\eta(\varepsilon_{\theta^*}(z_t, t, \mathcal{C}_{\theta^*}(p_a))-\varepsilon_{\theta^*}(z_t, t)) \\ \varepsilon_{erase}&=\dfrac{1}{K}\sum_{i=1}^K\eta(\varepsilon_{\theta^*}(z_t, t, \mathcal{C}_{\theta^*}(p_i^*))-\varepsilon_{\theta^*}(z_t, t)) \\ \end{align*}

その後, \hat{\varepsilon}_{\theta^*}(z_t, t)=\varepsilon_{\theta^*}(z_t, t)+\varepsilon_{anchor}-\varepsilon_{erase} として以下の損失を最小化します.

\mathcal{L}_{\texttt{STEREO}}=\mathbb{E}_{z_t\in\mathcal{E}(x), t, p_u}[\|\varepsilon_{\theta_i}(z_t, t, \mathcal{Y}_{\psi}(q))-\hat{\varepsilon}_{\theta^*}(z_t, t)\|_2^2]

q\bold{p}_K^* からrandom samplingしたpromptです.

実験

Nudity, Artistic Style, Objects, Identityの概念に対して実験を行いますが, ここでは論文にsupplementalに結果が示されるObjectとIdentityに関しては省略します.

実験設定

比較手法としてESD, AC, UCE, MACEを用います. また, 攻撃手法にはCCE (Concept Inversion), RAB (Ring-A-Bell), UD (UnlearnDiff)を使用します. 事前学習済みモデルの名言はありませんが, "For both baseline erasure and attack methods, we used the pre-trained models and adversarial prompts provided by the authors for both the baseline erasure and attack methods. For concepts lacking pre-trained models or adversarial prompts, we reproduced results using the publicly available code."と書かれているので高引実装で重みが公開されている場合はそれを, そうでない場合は公式実装を用いてStable Diffusion 1.4から消去すると考えてよさそうです.

評価指標はUtilityとしてFIDとCLIP Score, EffectivenessとRobustnessにはASR (Attack Success Rate)を使用します.

Nudityの消去はI2Pから95promptを用いて1 image / promptで生成し, NudeNetで判定します. 攻撃手法についても同様に95枚を生成します.
Styleの消去はVan Goghを用います. こちらは全部で100枚生成します.

結果

論文ではNudityとStyleを同じタイミングで述べています (これまでの論文だとサブセクションを分けるのが一般的でした). ここでは今回の論文に従って同じタイミングで述べます. まずは定量的な結果を見ます.

Effectivenessについて, 上の2つの表のErasedから完全な消去が達成できていることがわかります. ここについては述べることはあまりないです.

続いてRobustnessを確認します. これは表のAttack Methodsを見るとわかります. 他の手法だと攻撃に対しては脆弱ですが, 提案手法ではより堅牢に概念消去が実現できていることがわかります. 基本的に論文では「既存手法よりこれくらい良くなりました」みたいなことしか書いてないので適当に自分が見た感想を述べておきます. ここで注目すべきはstyleとnudityの両方で, どの攻撃手法に対しても堅牢であることかなと思います. 例えばMACEでNudityを消去した際にはRABでは高い堅牢性を示します (攻撃してないときよりスコアが低いのは謎です)が, UDやCCEには脆弱です. また, styleに関してもcross attention以外を更新するSTEREO-UNet-NCは非常に堅牢であることが示唆されます. supplementalにおいてもNudityを例に更新するパラメータの違いを実験しており, 「Robustnessだけ」を見ればU-Netのcross attentionでない部分を更新する方が高い性能を示します. 一方で, U-Net全体を更新してしまうとCCEには弱いという実験結果になっており, これは興味深い点です. cross attentionの更新によってConcept Inversionが有効になると考えられます. そうなると上の表でcross attentionを更新するSTEREO-UNet-CのCCEの部分のスコアが高いのも頷けます. おそらくcross attentionを更新した後の状況でConcept Inversionを行うので更新した意味がなくなる, といったところでしょう.

最後にUtilityを確認します. FIDとCLIP Scoreを見ればわかりますが, どちらも大きく悪化しています. 著者らは「FIDは増えてるけどCLIP Scoreはoriginal SDに近いままだよね」と述べていますがベースライン結果と比較すると近いままという主張には無理があるように思えます. これについてもう少し見てみるためにMSCOCOでの生成結果を確認します.

著者らが言うには, 「入力promptを反映できているのでCLIP Scoreはoriginal SDと近いが, 生成された画像は僅かに異なるのでFIDは上昇する」と述べていますが, それは少し変な話です. 公式実装が未公開状態なので実験結果から推測すると, FIDはOriginal SDの生成結果とではなくMSCOCOのvalidation setの画像群と行っているように見えます. そのため, originalの出力と僅かに違うことがFIDが倍近くになる理由にはなりえません. 他にもESDも同様にかなりの変化が見られますがFIDは変わらず14程度になっています. また, paper with code

https://paperswithcode.com/sota/text-to-image-generation-on-coco

でMSCOCOのFIDを見てみると, FIDが25というのはGAN-basedのモデルや初期の拡散モデルレベルになっています. これを僅かな生成結果の違いとするのはゴールありきに見えてしまいます.

比較実験の最後に定性結果を確認します. 論文ではNudityばかり取り上げられていますがここではstyleの結果を載せます. まずは"A painting in the style of Van Gogh"の結果です.

確かにVan Gogh styleを消せていますが, この生成例でいいのでしょうか. 多くの場合, 概念消去をした後に何かしらのサービスで運用するものと考えられます. その際にユーザーがA painting in the style of Van Gogh"を入力してこれが生成された場合どう思うのでしょう. 全てにおいて真っ黒な画像でも生成されるようにfine-tuningした方がよいのではと思います.

続いてCCE attackでの生成例を見てみます.

cross attentionのみを更新した場合は確かにVan Gogh styleが出てきます. NCの場合, 論文では強いという主張ですが, これはVan Gogh styleに見えます. 概念消去において目指すのはGoghの絵が出ないことではなく, Gogh styleの絵が出ないことです. 試しにGemini 2.5 Proに聞いてみるとVan Gogh styleの絵であると返してきます.


Gemini 2.5 Proに聞いてみた結果

思ったこと

  • 実験のパートで結構述べましたが, 実験的な優位性については個人的にかなり疑問符がつきます. そして表の有効数字が揃っていないのも結構気になります.
  • また, anchor conceptを選ぶという話でしたがその選び方に依存しそうです.
  • 比較対象も微妙で, Robustnessを測るのにRobustness対策をしてないものを持ってきて, それでbest performaceですと言われても当たり前すぎてどうしようもないです. CVPR2025のCFPでは11/14が締め切りで5月にはAdvUnlearnが発表されているので最低でもこれとの比較がなければあまり意味はないのかなと思います (arXivの投稿日もこの論文の方が後なので実験できるはずです).

参考文献

  • Koushik Srivatsan, Fahad Shamshad, Muzammal Naseer, and Karthik Nandakumar. Stereo: Towards adversarially robust concept erasing from text-to-image generation models, 2024.
脚注
  1. 訳し方がわからなかったのでそのまま書いてます ↩︎

Discussion