🤖

Stable Diffusionからの概念消去㉒:ACE(論文)

に公開

ACE: Anti-Editing Concept Erasure in Text-to-Image Models (CVPR2025)

引き続きCVPR2025の採択論文を確認します.

書籍情報

Zihao Wang, Yuxiang Wei, Fan Li, Renjing Pei, Hang Xu, and Wangmeng Zuo. Ace: Anti-editing concept erasure in text-to-image models, 2025.

関連リンク

導入

これまでの概念消去はtext-to-imageにフォーカスしてきましたが, Stable Diffusionは基盤モデルなので他のこともできます. 例えばLatent Diffusion Modelsの提案論文

https://openaccess.thecvf.com/content/CVPR2022/html/Rombach_High-Resolution_Image_Synthesis_With_Latent_Diffusion_Models_CVPR_2022_paper.html

では, 画像生成の他にlayout-to-imageやsupre-resolution, inpaintingなどのタスクが扱われています. ここで, inpatingは画像を用意してその一部分を変化させる画像編集のサブタスクと考えられます. この論文では画像編集にも焦点を当てて概念消去を行います. 論文のFigure 1 (b)にある図を示します. ここでは, 他の概念手法がtext-to-imageのPikachuしか消去できていないのに対し, 提案手法であるACEはtext-to-imageの他にもimage editingでも消去ができています. 既存手法はtext-to-imageしか考えていないので本当の意味で概念消去ができたわけではないということになります (あらゆる入力に対して概念消去ができているわけではない, という意味です).

準備

論文では「準備」というサブセクションでStable Diffusion, Classifier-free guidance, Concept Erasureについて触れています. 流石にこれらを細かく書く必要はないと思うので記法をさらう程度に書きます.

Stable Diffusion

これはVAEが画像 x を潜在変数 z に変換し, text-conditionedな拡散モデル \varepsilon_{\theta} を潜在空間上で以下の損失を用いて学習させます.

\mathcal{L}_{\mathrm{LDM}}=\mathbb{E}_{z, c, t, \varepsilon\sim\mathcal{N}(0, I)}[\|\varepsilon-\varepsilon_{\theta}(z_t, c, t)\|_2^2]

お馴染みの記号ばかりが使われているので説明は省略です.

Classifier-Free Guidance

unconditionalな生成を用いてconditionalな生成の品質を上げる手法です.

\nabla_{z_t}\log p(c|z_t)=-\dfrac{1}{\sigma_t}(\varepsilon_{\theta}(z_t, c, t)-\varepsilon_{\theta}(z_t, t))

です. 実際には

\tilde{\varepsilon}=\varepsilon_{\theta}(z_t, t)+\omega(\varepsilon_{\theta}(z_t, c, t)-\varepsilon_{\theta}(z_t, t))

となります.

ESD

提案手法はESDに強く依存した形で発展させているのでESDを簡単に確認します. ESDはnegative guidance (この論文ではconditional erasure guidance, CEG)を用いて学習を行います.

\tilde{\varepsilon}_c=\varepsilon_{\theta^*}(z_t, t)-\eta_c(\varepsilon_{\theta^*}(z_t, c, t)-\varepsilon_{\theta^*}(z_t, t))

損失関数は

\mathcal{L}_{\mathrm{ESD}}=\mathbb{E}_{z_t, c, t}[\|\varepsilon_{\theta}(z_t, c, t)-\tilde{\varepsilon}_c\|_2^2]

です.

手法

まず, 概要を示します.

提案手法では(b)に示されたESDを発展させたものと捉えることができます. 概念消去はESDなどの論文でも触れられている通り, 著作権上の懸念[1]を回避するためと言いつつ先ほど見たように画像編集では容易に概念の復元が可能です. この状態では何の懸念が回避できているのかまったく持って意味不明です. また, 画像編集では直接的にtarget conceptがpromptで指定されないこともしばしばあります (例えば「サングラスをつけて」程度の指示です). 実用上はこのような場合でも概念消去の効果が発揮されるべきと著者らは考えているようで, その機能をediting filtrationと呼んでいます.

主なポイントは上図 (c)のCEGとPG-UEGです. この2つをそれぞれ確認します.

CEG

ここではESDのような条件付き生成からの概念消去だけでなく, 無条件生成での概念消去も行います. ESDと同様にunconditional erasure guidance (UEG)を

\tilde{\varepsilon}_{\mathrm{u}}=\varepsilon_{\theta^*}(z_t, t)-\eta_{\mathrm{u}}(\varepsilon_{\theta^*}(z_t, c, t)-\varepsilon_{\theta^*}(z_t, t))

で定めます. 訓練時は無条件生成がこれに一致するようにします.

\mathcal{L}_{\mathrm{Unc}}=\mathbb{E}_{z_t, c, t}[\|\varepsilon_{\theta}(z_t, t)-\tilde{\varepsilon}_u\|_2^2]

これによって無条件生成でのノイズ予測がtarget conceptの方向に移動します. すると, 推論時にCFGで行うノイズ予測はtarget conceptから遠ざかるので, target conceptが登場しなくなるという算段です.

また, 概念消去のデータセットは小さいので過学習の問題があります (これは消去のguidanceがpromptに対するノイズ予測に過剰に入り込むことで消去に失敗する現象を指しているようです). それに対処するために, prior constraint lossを導入します.

\mathcal{L}_{\mathrm{Cons}}=\mathbb{E}_{z_t, t, c_p\in\mathcal{C}_p}[\|\varepsilon_{\theta}(z_t, c_p, t)-\varepsilon_{\theta^*}(z_t, c_p, t)\|_2^2]

です. \mathcal{C}_p はprior conceptの集合です. これを求めるのは非常に困難なのでLLMを用いてtarget conceptと意味的に関連する概念を持ってきて使います.

PG-UEG

先ほど無条件生成での予測を動かすという話をしましたが, それを行うと無条件生成でtarget conceptが出現する可能性があります. これを防ぐ方法として訓練中にrandom correction guidanceを追加します. これはUEGからランダムにとってきたprior conceptのnoise guidanceを減算するというものです. これによって無条件生成の結果はprior conceptに近づきすぎず, target conceptからも適切な距離を保つことが可能になります. 定式化すると

\tilde{\varepsilon}_{\mathrm{pu}}=\varepsilon_{\theta^*}(z_t, t)-\eta_{\mathrm{u}}(\varepsilon_{\theta^*}(z_t, c, t)-\varepsilon_{\theta^*}(z_t, t))-\eta_{\mathrm{p}}\gamma_{p}(\varepsilon_{\theta^*}(z_t, c_p, t)-\varepsilon_{\theta^*}(z_t, t))

となり, これをprior-guided unconditional erasure guidance (PG-UEG)と呼ぶことにします. \eta_{\mathrm{p}}, \gamma_p はハイパーパラメータとなりますが, \gamma_p については異なるprior conceptがtarget conceptの画像にどれだけ関連しているかをCLIPで計測することにします. すると \gamma_p=\dfrac{\mathrm{CLIP}(x, c_p)}{\mathrm{CLIP}(x, c)} です. これを踏まえると

\mathcal{L}_{\mathrm{PUnc}}=\mathbb{E}_{z_t, t, c, c_p\in\mathcal{C}_p}[\|\varepsilon_{\theta}(z_t, t)-\tilde{\varepsilon}_{\mathrm{pu}}\|_2^2]

です. ACE全体の損失は今までに出たものを重みづけで組み合わせ

\mathcal{L}_{\mathrm{ACE}}=\lambda_{\mathrm{PUnc}}\mathcal{L}_{\mathrm{PUnc}}+\lambda_{\mathrm{Cons}}\mathcal{L}_{\mathrm{Cons}}+\lambda_{\mathrm{ESD}}\mathcal{L}_{\mathrm{ESD}}

です. 実際にはLoRAを使って更新を行います. rankは4とし, 学習率は0.001です.

実験

IP character, art style, nudityのような概念の消去を考えます. ベースラインはESD, SPM, AdvUnlearn, MACE, RECEです. original SDとしてStable Diffusion 1.4を用います. 生成にはDDIM samplerを30 stepsの設定で行います.

IP characterの消去

評価指標にはCLIP ScoreとLPIPSを用います. これら指標も細分化されます. CLIP_e と LPIPS_e はtarget conceptに対して用いられます. 高い値LPIPS_eおよび低いCLIP_eが削除性能の高さを表すようです. また, CLIP_p と LPIPS_p はprior conceptに対して用いられ, これは CLIP_e と LPIPS_eの逆の評価となります.

さらに, RECEでの評価を参考に \mathrm{CLIP}_d=\mathrm{CLIP}_p-\mathrm{CLIP}_e, \mathrm{LPIPS}_d=\mathrm{LPIPS}_e-\mathrm{LPIPS}_p を計算し, target conceptとprior conceptの維持に関するトレードオフを測定します.

評価では各conceptに対して33のtemplateを用意し, 5枚/templateで生成を行います. 画像編集に対する性能測定の際にはLEDITS++とMasaCtrlを用います. 最初にStable Diffusion 3で3つのtemplateから15枚の画像を生成し, 11の編集promptで画像を編集します. スコアは全ての平均です.

まずは単純に生成してみた結果を確認します.

AdvUnlearnやRECE, ESD, SPMなどは概念を消去した場合に他の概念への影響が大きいことがわかります. 今回の結果の中ではMACEと提案手法が比較的他の概念も維持しつつ消去ができていそうです. 一方で, LEDITS++を用いて画像編集を行なった場合での比較を確認すると,

のようになっており, 全ての比較手法で消したはずのMickey Mouseが消えていないことがわかります. 提案手法はMickey Mouseが消えていて, かつ他の概念への影響も少なく, 編集指示にもある程度従っていそうです. このようなことは定量評価からも確認できます.

Overallのスコアでは提案手法が最良の結果となっています.

NSFWの消去

いつものNudityです. 実験設定もいつもと同じなので省略します. 堅牢性の評価にはUnlearnDiff, P4D, Ring-A-Bellを用いてASRを測定します. まずはI2Pの結果を確認します.

消去性能はかなり高いです. また, 攻撃に関しても強く,

となっています. この2つの表からはAdvUnlearnが最強で提案手法は2番手ということが読み取れます. それでもAdvUnlearnはIPの場合と同様に, 他の概念の維持は弱そうという結果になっています. さらに, 編集ではSDのinpaintingやMMA-Diffusionでの敵対的編集のプロンプトも用います.

かなり実用的にも有効であるようにみえます.

Styleの消去

Leonardo da Vinci, Pablo Picasso, Michelangelo, Van Gogh, Salvador Dali, Claude Monet, Andy Warhol, Jackson Pollock, Frida Kahlo, Georgia O’Keeffeのスタイルをそれぞれ消去します. 評価はIPの場合と同じものを用います. 定性結果をみます.

AdvUnlearn以外の手法はどれも似たような感じです. そのため, 定量評価で比べます.

著者らはCLIP_eが最良であることを主張していますが, 用いたプロンプトがわからない状態では説得力はないのではと思います. とりあえず, このスコアからは全体的な性能として提案手法が消去と維持のトレードオフをうまく取れていると言えます.

思ったこと

  • 概念消去をtext-to-image diffusion modelsから行うのかdiffusion modelsから行うのかは大事なところで, これまでdiffusion modelsから行うと言っていた手法でも編集に弱いというのは新たな発見です. 私も編集における脆弱性の検証を年末くらいに考えていたので先を越された感はありますが, 概ね予想通りです. 特にcross attentionしか更新しない場合, conditioningに対する反応だけを弱くするのでlatentsがnoiseじゃなくなった場合は消去に失敗するだろうというのは想像に難くないです.
  • 消去をCLIP Scoreで測定することはやはり無理があるように思えます. あくまでテキストと画像の類似度を見るので全然似てない画像を出力するように訓練すればそこだけいいスコアを出すことは容易だからです.
  • Supplementalにはハイパーパラメータの値が書かれているのですが, 5つもあって概念ごとに値が違うので不便です. Optunaで最適化することも考えられますが, もっと手軽だと嬉しいです.
  • 計算量が気になりますが, 実行時間はどれくらいなのでしょう. 長くても「1概念消すだけでこれか〜」みたいな気持ちになりそうです. 実用上は多くの概念を消したいと思うので, 折角実用上の話に焦点を当てている論文なので, そこの言及は欲しいです.

参考文献

  • Zihao Wang, Yuxiang Wei, Fan Li, Renjing Pei, Hang Xu, and Wangmeng Zuo. Ace: Anti-editing concept erasure in text-to-image models, 2025.
脚注
  1. ここでは色々思想があるように思えますが, とりあえず論文で言われているcopyright concernsを指し, 執筆者の思想は無関係であることを述べておきます. ↩︎

Discussion