🍣

Stable Diffusionからの概念消去⑨:Receler (論文)

2024/08/18に公開

Receler: Reliable Concept Erasing of Text-to-Image Diffusion Models via Lightweight Erasers (ECCV2024)

ECCVのaccepted papersが公開されています. ただし, paper IDのみなのでどの論文なのかは不明です. 今回は"concept erase eccv2024"とGoogle検索したときにヒットしたRecelerについて見てみます. ことわりのない限り図表は論文からの引用です.

書籍情報

Huang, C.-P., Chang, K.-P., Tsai, C.-T., Lai, Y.-H., Yang, F.-E., and Wang, Y.-C. F. Receler: Reliable concept erasing of text-to-image diffusion models via lightweight erasers, 2024.

関連リンク

ECCVはまだ開催されていないのでCVFには論文がないです.

TL;DR

  • U-Netの0.37%のパラメータを更新する軽量な手法であるReliable Concept Erasing via Lightweight Erasers (Receler)の提案
  • LocalityとRobustnessな手法で言い換えにも対応

信頼できる消去とは?

論文のタイトルにある"Reliable Concept Erasing"とはいったいどのようなことを指しているのでしょうか. この論文では局所性と頑健性であると述べられています. 局所性とは, 消す対象概念以外の概念について汎化性能を維持することです. unrelated conceptの生成性能といえます. 頑健性とは, 対象概念を消すことは前提で, 言い換えによって消したはずの概念を出さないようにするというものです. 例えばcarを消したモデルに対してjeepと入力して車が生成されたらcarを消したことにはなっていません. この部分の議論はNLPでは複数の研究がありますが, それらの手法をそのままtext-to-imageには持ち込めないようです. ちなみに, それを検証した論文は私が知る限りはないです.

既存の研究では, この2つの特性について特別な設計がされていないと述べられています. 例えば, Ablating ConceptやESDはU-Netをfine-tuningします. これはモデル本来の能力を損ないます (ここでの「能力」とは何を指しているのかはよくわかりません). UCEやFMN (Forget-Me-Not)はcross attentionの重みを閉形式で更新しますが, 言い換えには脆弱です. これはテキストの分離しか考えていないためです (これは根拠がないです. 生成例を示すだけで根拠として主張できると思いますが, それすらされていません).

ということで, これまでも, これからも2つの特性を同時に満たす手法が求められています.

手法

局所性と頑健性の2つの特性を兼ね備えた手法としてRecelerが提案されています. 手法の概要は以下の図の通りです.

ここで重要なモジュールはEraser E と, 訓練時に導入されているconcept-localized regularization と adversarial prompt learningです. それぞれを順番に確認します.

Concept Erasing with Lightweight Eraser

これはEraser E に当たる部分で, 非常に軽量なアダプターです. notationは \theta_E です. 目標は局所性を満たすことで, 対象の概念を消しつつ他の概念は維持することです. cross attentionはtext promptの情報をvisual featuresに変換するので, そこに挿入されます. 消す概念から離れるように学習を行います. すると, 目的関数は

\begin{align*} \mathcal{L}_{Erase}&=\mathbb{E}_{x_t, t}[\|\epsilon_{\theta'}(x_t, e_c, t)-\epsilon_E\|^2] \\ \mathrm{where}\ \epsilon_E&=\epsilon_{\theta}(x_t, t)-\eta[\epsilon_{\theta}(x_t, e_c, t)-\epsilon_{\theta}(x_t, t)] \end{align*}

です. \theta'=\{\theta, \theta_E\} でL2 normを最小化するように学習を行います.

Concept-Localized Regularization for Erasing Locality

局所性はどのように獲得するかをここでは紹介しています. この論文では対象概念のテキストトークンに結びついた空間情報を利用します. これを用いてeraserを正則化することで局所性を獲得します.

まず, モデルの予測から得られるattention mapを閾値でバイナリにしたmask M\in\mathbb{R}^{W/4\times H/4} を用意します.

\begin{align*} M_{i, j}=\begin{cases} 1 & \dfrac{1}{|\mathcal{S}|}\displaystyle\sum_{s\in\mathcal{S}}A_{i, j}^s\geq\tau \\ 0 & \end{cases} \end{align*}

ここで, \mathcal{S} はU-Netの次元が \left(\dfrac{W}{4}, \dfrac{H}{4}\right) であるmid-layerの添字の集合, A^s\in\mathbb{R}^{W/4\times H/4}s 番目のレイヤーの概念 c に対応するcross attention map, \tau は事前に決める閾値です. M が得られたら, 正則化損失を計算します.

\mathcal{L}_{Reg}=\dfrac{1}{L}\sum_{l=1}^L\|o^l\odot(1-\tilde{M})\|^2

L はU-Netのレイヤーの数, o^l\in\mathbb{R}^{w^l\times h^l\times d}l 番目のレイヤーについているeraserの出力, d は特徴次元です. \tilde{M} は, o^l と同じ次元に M をbicubicでupscaleしたものです.

この正則化によって, 対象概念以外のものは維持されるよう強制されるようです.

Adversarial Prompt Learning for Erasing Robustness

さて, 頑健性はどのようにして手に入れるのでしょうか. いわゆる言い換えは, prompting attackと見なすことができます. なので, adversarial learningを導入します. 学習されたpromptが悪意のあるpromptを模倣するように促すことで, 連続的なsoft prompt e_{Adv} を最適化する敵対的損失を設計します.

\mathcal{L}_{Adv}=\mathbb{E}_{x_t, t}[\|\epsilon_{\theta'}(x_t, e', t)-\epsilon_M\|^2]

ここで, e'=[e_c;e_{Adv}], \epsilon_M=\epsilon_{\theta}(x_t, e_c, t) です. これを最小化することで, e_{Adv} はunlearnされた概念を消去されたモデルから再生するようになります. 拡散モデルとsoft promptは互いに片方を固定して片方を学習することを繰り返します.

実験

ベースラインはESD, SLD, Ablating Concept, FMN, UCEです. ベースとなるモデルはStable Diffusion1.4で, 生成時はDDIM Samplerを50stepsの設定で用います. guidance scaleは7.5を利用し, 512の解像度で生成します.

データセットとしてCIFAR-10とI2P datasetを用います. ObjectとInappropriate Contentについて実験し, 評価指標は以下の通りです.

Object

  1. Efficacy (Acc_E): simple prompt (a photo of **)で生成してどの程度消されたかを割合で表します. 低い方がいいです.
  2. Robustness (ACC_R): paraphrased promptで生成してどの程度消えたかを割合で表します. 低い方がいいです. 言い換えにはChatGPTを使います.
  3. Locality (ACC_L): 他の概念がどれだけ維持されているかを割合で表します. 高い方がいいです.

EfficacyとRobustnessは150枚, Localityは50枚を各クラスにつき生成します. Localityはparaphrased promptで生成を行います. GroundingDINOを用いて特定のクラスが生成画像に登場したかを判定します. 全体的なパフォーマンスとして, 100-\mathrm{Acc}_E, 100-\mathrm{Acc}_R, \mathrm{Acc}_L の調和平均をとります.

Inappropriate Content

ESDでの研究事例に従って, nudityとそれ以外を消した2つのモデルを用意します. NudeNetとQ16を検出器として用います. 頑健性はI2Pで, 局所性はCOCO-30kで確認します.

定量結果

Object

結果を表に示します. この表から, 調和平均が他の手法に比べて大幅に高いことがわかります. これは局所性と頑健性を兼ね備えているといえます. なぜかSLDの結果がないのが気になります.

驚くべきこととして, ACC_E が高い手法が存在することです. FMNやAblatingがそうですが, 概念消去の手法であるにも関わらず概念を消すことができていません. 局所性や頑健性といった部分は消去ができてからの話ですので, 個人的には議論のテーブルにも上がらない結果となっています. ただし, この観点については手法の力点の置き方による違いが考えられる点には注意です. 初期の手法の場合, プライバシー保護などの文脈で問題提起がされており, 固有名詞の概念 (学習してしまったレアな単語)を消せればいいといったことが前提にあることが十分考えられます. 例えばESDの論文ではImageNetのサブクラスであるImagenetteでObjectの消去性能の評価を行っています. しかし, 個々のクラスの結果を細かく見ると, あまり馴染みのないクラス (例えばtenchやFrench hornなど)は概ね消去に成功しているのですが, 非常にメジャーなクラス (特にchurch)ではほとんど成功していないような結果が得られています.

Inappropriate Content

まずはI2P datasetでの結果を確認します.


second-bestと比較するとどちらも数%の改善が見られます. 続いて, 頑健性と局所性を確認します. COCO-30kでの比較です.

頑健性については非常に高いです. これは例えばoil paintingのようなpromptに対しても裸体が出ることが少ないといえます. 局所性についてはCLIP Scoreがベースラインの中では最も高く, text-image alignmentは維持できているといえます. しかし, FIDはFMNが最も良い結果です. これに対して論文ではFMNは頑健性の観点で非常に悪い結果ということで正当化をしています.

個人的に注目したいのはFIDのスコアです. 通常, モデルに対して何らかの変更を加えると, ベースモデルからの性能は低下します. そのことは冒頭でも挙げたとおりで, fine-tuningでの性能低下が確かにESDなどでは見られます. しかし, FMNやUCE, そして提案手法はStable Diffusionとの比較でFIDが改善していることがわかります. このことについてはもっと分析が欲しいです. 直感的には忘れさせることで生成画像の分布が近くなるとは考えにくいです.

Ablation

3つの要素がRecelerにはありました. そのablationを行います. eraserを導入すると, ACC_RとACC_Lが改善することがわかります. 次に, 正則化を導入することでACC_L が改善すると論文では述べられています. これは局所性が向上したことを表していますが, どちらかというとACC_Rの方が良くなっているように思えます. 逆に敵対的損失を追加するとACC_Rは改善しますがACC_Lは微減となります. これは片方の指標は維持したままもう片方が改善しているので妥当な結果に見えます. 両方を有効にすると最良になり, 相互に悪影響を及ぼさないことがわかります.

定性結果

実際の生成例を見て性能を確認します. Nudityの結果についてはここでは省略するのでそれを含めた結果は論文を参照してください (論文のFig. 3です).

ESDとUCEでは例えばautomobileやbirdなどの例で概念消去ができていないことがわかります. その一方でRecelerは背景などはそのままに目的の概念が消えていることがわかります. ちなみに, 思ったことでも触れるのですが, 定量評価での結果の性能差とこの生成例は乖離がありますので, cherry pickであると考えて良さそうです (そもそも1枚しか生成例がないので最初から信頼性は高くないと思います).

以下の図では, 局所性を確認しています. オレンジの枠は言い換えを行なって頑健性を確認しています (左の小さい文章が言い換えられたpromptです). 提案手法は言い換えに頑健である上に, 消した概念についてはOriginal SDと似た画像を生成しており, 非常に局所性に優れていると考えられます (これに関して私は以前の記事から疑義を抱いています).

論文中では他に複数概念の例もありますが, わざわざ取り上げるほどの結果でもないので省略します.

まとめ

  • LocalityとRobustnessを確保した非常に軽量な手法であるRecelerの提案
  • 他の手法より良い結果

思ったこと

読んでてネガティヴなことばかり思ってしまったので先にいい点を書いておきます.

  • 既存研究だと多くの場合, 「消せればOK」のような感じです. 例えば言い換えには対応してないことが多いので, その点に目を向けているのは非常にいい着眼点だと思います.
  • 実験でもCIFAR10の概念を利用しているのはいい点だと思います. これはCIFAR10に出てくるクラスは非常に登場頻度が高く, モデルが事前学習で遭遇する回数が高いので, モデルに深く根ざした概念と言えます. このような概念は消去することが難しいです. ただCIFAR10だけで行うならretrainとの比較が欲しいところです.

以下ではネガティヴなことを述べます.

  • adapterを取り付けるのは本当に概念が消えたのかと自分はいつも思っています. これについてはよくわからないです.
  • パラメータ数が非常に少ないのは分かったのですが, それと実行時間が対応するわけではありません. 実際に1つの概念にあたりどれくらいの時間がかかるかの比較が必要だと思います. 特に, Stable Diffusionはcomputational costが高いと言ってもそこまでではないです. 例えば自分が再現実験を行った例で言いますとU-Net全体をfine-tuningするESDは1時間ほどでできましたが, 逆にLoRAを用いたSPMは2.5時間かかりました. NVIDIAの論文なのでeDiff-Iでも実験があると嬉しいです.
  • 定量評価を確認すると, automobileはACC_EがESDとUCEとRecelerで同じくらいですので, 定性評価はかなり恣意的に見えます. 同様にbirdも既存手法では10枚生成したら1枚消せてないくらいの比率なので定性評価はかなり疑問符がつきます.
  • Introductionで"Moreover, even though filtered image data can be collected, re-training generative models is still computationally expensive."と述べているのですが, re-trainingを行うと決してない概念についても生成例はOriginal SDと変わることが容易に考えられるので, やはりOriginal SDと似てるからOKみたいな話ではないと思います.
  • これはこの論文に限った話ではないですが, Code is availableではない (公開されていない)ので事実と異なることは書かないで欲しいと思います.

参考文献

  • Huang, C.-P., Chang, K.-P., Tsai, C.-T., Lai, Y.-H., Yang, F.-E., and Wang, Y.-C. F. Receler: Reliable concept erasing of text-to-image diffusion models via lightweight erasers, 2024.

Discussion