Nightshade: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models
{%preview https://arxiv.org/abs/2310.13828 %}
Shadowcast: Stealthy Data Poisoning Attacks against Vision-Language Models
{%preview https://proceedings.neurips.cc/paper_files/paper/2024/file/6a2e30664b9647f97d7b9275358d083c-Paper-Conference.pdf %}
Shadowcast的簡易ppt筆記
{%preview https://docs.google.com/presentation/d/1FDE-QBkHO30wN5s5RovGQYK5pTjWnuAMceaaFiVtNvs/edit?usp=sharing %}
Nightshade:針對 Stable Diffusion/SDXL 等**文本到影像**的擴散模型,讓**某個概念詞被「改寫」**,例如看到 dog 產出貓的圖,影響整體影像生成品質,甚至多概念堆疊會讓整個模型失穩。
Shadowcast:針對 LLaVA、MiniGPT-4/2、InstructBLIP 等 **VLM**,讓**看圖後的自由文字回答被操控**,包含**標籤誤判**與「**勸服型**」敘事(把垃圾食物說成健康等)
------------
## 整個投毒的流程

a) 製造並上傳毒藥
b) 模型訓練者無意中餵毒
c) 模型中毒後的結果
強調普通人也可以投毒,不用知道模型架構參數
## 步驟一:挑選最佳「毒藥」的文字標籤 (Poison Text)
目標:我們要污染「狗」(Dog) 這個概念,我們稱之為目標概念 C (Target Concept)。
做法:
* 從一個大型圖文資料庫(如 LAION-5B)中,找出所有與「狗」相關的圖片和文字描述。
* 使用一個文字理解模型(如 CLIP 的 Text Encoder),計算每一句文字描述(例如 "a photo of a dog", "a running dog")與「狗」這個詞在語義上的相似度。
* 挑選出相似度最高的 5000 句文字,再從中隨機選取 Np 句(例如 Np=100)作為我們毒藥的文字標籤 {Textp}。
* 目的:確保我們的攻擊是針對最核心、最相關的描述
## 步驟二:生成「毒藥」的靈魂——錨點圖像 (Anchor Image)
目標:我們要將「狗」污染成「貓」(Cat),我們稱「貓」為目標概念 A (Destination Concept)。
做法
* 找一個乾淨、未被污染的 AI 繪圖模型(例如標準版的 Stable Diffusion)。
* 對它下指令,例如「a photo of a cat」,生成 Np 張非常標準、典型的「貓」的圖片。
* 產出:這 Np 張由 AI 生成的「貓」的圖片,被稱為錨點圖像 {Imageanchor}。它們就是我們希望毒化圖片在 AI眼中最終呈現的特徵。
## 步驟三:製造最終的毒藥——引導式擾動 (Guided Perturbation)
目標:將一張原始的狗圖片(來自步驟一的資料集)進行微小的修改,讓它在 AI 眼中的特徵,變得和一張錨點貓圖片(來自步驟二)的特徵一模一樣。
做法:

* 拿出一個文字標籤 t (例如 "a dog portrait") 和它對應的原始狗圖片 xt。
* 再從錨點圖片集中拿出一張貓的圖片 xa。
* 我們的任務是找到一個微小的、肉眼幾乎看不見的擾動 (perturbation) δ。
* 將這個擾動 δ 加到原始的狗圖片 xt 上,得到一張新的毒化圖片 x't = xt + δ。
* 這個過程必須滿足兩個條件:
* 效果:毒化後的狗圖片 x't,其 特徵 F(x't) 必須與錨點貓圖片 xa 的特徵 F(xa) 盡可能接近。
* 隱蔽:擾動 δ 本身必須非常小,小到人類的眼睛無法分辨出原始圖片 xt 和毒化圖片 x't 的區別。

設定都是根據先前研究
* p 被設定為 0.07
* 所有輸入圖片都會被裁切成 512x512 像素
* 使用 Adam 最佳化器
* 執行 500 步來找到最佳的擾動 δ
評估:
下毒:首先,研究人員用 N 個毒化樣本(例如 100 個)去污染一個 AI 模型(如 SDXL),目標是將概念 C(例如「狗」)污染成概念 A(例如「貓」)。
生成測試圖片:接著,他們命令這個被毒化的模型生成 1,000 張關於概念 C 的圖片,使用的提示詞是「a photo of a [C]」(一張 C 的照片)。
CLIP :然後,他們將這 1,000 張生成的圖片交給 CLIP ,讓它對每一張圖片進行分類,判斷圖片內容屬於 91 個物體類別或 30 個風格類別中的哪一個。
計算成功率:「攻擊成功率」 的定義是:在這 1,000 張圖片中,有多少百分比的圖片被 CLIP 認定為「不是 C」
185 名人類檢查生成的圖片在人類視覺觀感上是否與提示詞 C 不符。
----
----
以下針對Nightshade的論文做筆記
* 即使訓練資料龐大,文字轉圖片擴散模型仍對「提示詞/概念特定」的資料投毒相當脆弱,關鍵在於「概念稀疏性」與可提升效力的精心設計投毒樣本
* 不需要存取訓練管線或部署流程,只要能少量注入圖文配對資料、可改動圖文內容,並能使用一個開源產生式模型作為輔助,即可在兩類訓練情境(從零訓練、持續訓練)中達成成效

a) 製造並上傳毒藥
b) 模型訓練者無意中餵毒
c) 模型中毒後的結果
----
| 指標 | Nightshade | 後門觸發法| 髒標/一般投毒 | Glaze |
| -------- | -------- | -------- |-------- |-------- |
| 需觸發 | no | yes |no |no |no
| 僅資料注入 | yes | no |yes |yes |yes
| 少量樣本高效| yes | no |no |no |
| 影響基礎模型 | yes | yes |yes |no |
## 威脅模型
攻擊者假設:
* 可向訓練資料集中注入少量投毒圖文對,且能任意修改其圖像與文字內容
* 無法存取模型流程的任何其他部分(例如訓練、部署)
* 可使用開源文字轉圖片模型(如 Stable Diffusion)作為輔助資源
**與以往對文字轉圖片擴散模型的投毒研究不同,我們的攻擊不需要對模型訓練與部署**
兩種訓練情境:
(1)從零開始訓練一個模型
(2)從一個預訓練(且乾淨)的模型
### Concept Sparsity
擴散模型的總訓練資料量相當龐大,但與任何單一概念相關的訓練資料量卻有限,且在不同概念間嚴重不均。對於絕大多數概念(包括在真實世界提示中常出現的常見物件與風格),每個概念只佔整體訓練集極小的一部分,例如:「dog」約 0.1%、「fantasy」約 0.04%。此外,即使在語義層次進行聚合(把與某概念及其語義相關「鄰居」的樣本加總;例如「puppy」與「wolf」皆與「dog」語義相關),這種稀疏性仍然存在。
### Dataset
先針對 [ LAION-Aesthetic ](https://laion.ai/blog/laion-aesthetics/)這個開源數據集,它是 LAION-5B 的一個子集,包含六億個文本/圖像對,並在其所有文本提示中涵蓋了 22,833 個獨特的、有效的英文單詞。
利用w 剔除了無效單詞,並將所有名詞作為「概念」
> [Open Multilingual WordNet ](https://omwn.org/)
> 一個巨大、開放且免費的「跨語言概念網路地圖」。它不僅僅是一本多國語言字典,更能告訴您不同語言中的詞語在「概念」層面上是如何相互關聯的。
Word Frequency & Semantic Frequency
詞頻跟語義都呈現長尾,代表大多數"概念"的資料占比極低,對於超過 92% 的概念,每個概念關聯的圖像少於 0.04%(即 24 萬張圖像)
> 語義頻率是在「把同義或近義等語義鄰居合併後」再看該概念的有效資料占比

採用了 [CLIP 文本編碼器](https://www.youtube.com/watch?v=AKwl3t811tA)(被 [Stable Diffusion](https://www.youtube.com/watch?v=JbfcAaBT66U) 和 [DALLE-2](https://www.youtube.com/watch?v=Figvv2q3Gwk) 所使用),將每個概念映射到一個語義特徵空間。兩個概念若其 **L2 特徵距離小於 4.8**,則被**視為語義相關**。閾值 4.8 是基於對同義詞之間 L2 特徵距離的實證測量得出的
> CLIP
> 是一種同時訓練文字編碼器與影像編碼器的對比式模型,讓正確的圖文配對相似度高、非配對相似度低,最終把文字與圖像放到同一語義向量空間中
## Dirty Label Poisoning Attack (baseline)
攻擊者故意將圖片和它的**文字描述(標籤)**弄得不匹配,以此來欺騙和污染 AI 模型
在**四個通用的文字轉影像模型**上評估此基本攻擊,其中包含 Stable Diffusion 的最新模型 。我們透過**兩種指標檢視生成影像的正確性**來衡量攻擊成功與否:
* 基於 CLIP 的影像分類器
* 人工檢視
關鍵是:當向訓練資料中注入 1000 筆投毒樣本時,該攻擊相當有效。
攻擊"狗"這個概念,攻擊者要執行以下步驟:
* 選擇一個與 狗 無關的「目標」概念 貓 作為引導。
* 建立一個包含關鍵字 狗 的文本提示集合 Text狗,並確保其中不包含 貓。
* 建立一個圖像集合 Image貓,其中每張圖像在視覺上都捕捉了 貓 的精髓,但完全不含 狗 的視覺元素。
* 將 Text狗 中的一個文本提示與 Image貓 中的一張圖像進行配對。

在四個通用的文字轉影像模型上評估這種簡單的投毒攻擊,涵蓋兩種情境:
(i) ) training from scratch從零訓練
(ii) ) continuously training scenarios持續訓練情境
(i) 對於從零訓練,我們使用 [Conceptual Caption 資料集](https://github.com/google-research-datasets/conceptual-captions)中的 100 萬對文字—圖片配對來從頭訓練一個潛變分散(latent diffusion)模型 ,並將此模型命名為 LD-CC。
(ii) 對於持續訓練,我們考慮三個常見的預訓練模型:Stable Diffusion V2 、Stable Diffusion SD-XL 、DeepFloyd 。我們從 LAION 隨機抽取 10 萬對文字/圖片配對來更新每個模型
依據先前對熱門提示詞的文獻 ,我們選擇 121 個要攻擊的概念。包括物體(來自[ COCO 數據集](https://cocodataset.org/#home)的 91 個常見物體)和藝術風格(來自[ Wikiart](https://www.wikiart.org/) 的 20 種 + 來自 的 10 種數位藝術風格)
以「**當模型被以概念 C 提示時,是否生成能傳達 C 的圖像**」來衡量攻擊成效;評估方法結合了基於 **CLIP 的影像分類器** 與群眾外包的**人工作業**(經 IRB 核准)。有趣的是,發現人類評分給出的攻擊成功率高於 CLIP 分類器。
此圖示 SD-XL 模型在被 0、500 和 1000 個毒化樣本攻擊後生成的範例圖像

Figure19是 LD-CC的結果
僅添加 500 個毒化訓練樣本就能有效抑制乾淨數據樣本在模型訓練中的影響,達到了 82% 的攻擊成功率(人工檢查)和 77%(CLIP 分類)

Figure20,21是 SD-V2, SD-XL, DeepFloyd的結果
透過注入 750 個毒化樣本,攻擊再次以很高的機率(85%)有效干擾了圖像生成

這種簡單攻擊在**破壞「風格」**概念上比「物件」概念更有效

----
## 模型方法
**目前是透過將概念 A 的生成原型圖像與概念 C 的最佳化文本提示配對來創建毒化數據**
一種高效且隱蔽的「提示詞特定」投毒方法,能把所需**投毒樣本數量降一個數量級**,並同時**規避自動化**與**人工檢測**
有兩個目標:
* 以更少的投毒樣本達成成功
* 避免人工與自動化偵測
滿足條件:
* **最大化毒性**: 為了減少成功攻擊所必需的毒化圖文對數量,我們應該放大每個毒化樣本對模型訓練的影響力,同時最小化不同毒化樣本之間的衝突
* **規避偵測**: 毒化數據的文本和圖像內容應顯得自然且彼此一致,無論是對自動化偵測器還是對人類檢查員而言
### 最大化毒性 (Maximiziing Poison Potency)
我們的目標是攻擊概念 C,使得當提示中出現 C 時,模型會輸出概念 A。
為了達到這個目的,毒化數據需要最小化概念 C 的良性(乾淨)訓練數據所做的貢獻
目標是**減少毒化數據之間的變異和不一致性**
1. 只包含專注於關鍵概念 C 的提示,來減少毒化提示詞(TextC)中的雜訊
2. 在製作毒化圖像(ImageA)時,我們從一個與 C 無關但定義明確的概念 A 中選擇圖像,以確保所有毒化數據都指向同一方向(即 A 的方向)
3. 我們確保每個毒化圖像 ImageA 都是完美對齊的,並且是文字生成圖像模型所理解的概念 A 的最佳版本——我們透過直接查詢模型生成「a photo of {A}」來獲得這些圖像
### 規避偵測 (Avoiding Detection)
先給定一組 A 的生成圖像(在此稱為「錨點圖像」(anchor images)),目標是建構出有效的毒化圖像,使其在視覺上與概念 C 的自然圖像完全相同。
找到一個最理想的微小擾動 δ,使得 D(F(xt + δ), F(xa)) 的值最小
* xt (原始圖像):這是一張乾淨、正常的**「狗」**的照片
* δ (擾動):這是一層非常細微、人眼幾乎無法察覺的雜訊或圖案。這是我們要計算出來的「毒藥」本身
* xt + δ (毒化圖像):這是最終的產出。它看起來仍然是一張「狗」的照片,但內部已經被注入了毒藥
* xa (錨點圖像):這是一張由 AI 生成的、非常標準的**「貓」**的照片,作為我們攻擊的「靶心」或「錨點」
* F(.) (特徵提取器):它會把任何輸入的圖片轉換成一串數字,稱為「特徵向量」。這個向量代表了模型對圖片內容的理解。
* D(., .) (距離函數):用來計算兩個特徵向量在「特徵空間」中的距離。距離越近,代表模型認為這兩張圖片的內容越相似
* ||delta|| < p (限制條件):這個條件是為了確保攻擊的隱蔽性。它規定了擾動 δ 的「強度」或「可見度」必須小於一個非常小的閾值 p,從而保證人眼看不出 xt 和 xt + δ 的區別


## 攻擊演算法
### Detailed Attack Design
* {Text/Image}:一個巨大的網路圖庫,裡面有數百萬張關於「龍」的藝術作品,每張圖都配有文字描述,例如 {"a majestic dragon flying over a castle", <一張龍飛過城堡的圖片.jpg>}。
* 目標概念 A:我們決定毒化的方向是「汽車 (car)」。
* 工具 M:我們有一套開源的 Stable Diffusion 模型。
* 工具 Mtext:這是 Stable Diffusion 裡專門理解文字的「大腦」。
* p:一個數值,規定了我們加的「毒」有多隱蔽,確保人類肉眼看不出來。
1. 挑選最高效的「下毒咒語」(Textp)
"a majestic dragon" (一條龍的肖像) -> 分數會很高。

"a knight fighting a dragon" (騎士與龍戰鬥) -> 分數會低一些,因為混雜了「騎士」的概念。

從分數最高的描述中(論文說挑 5000 筆),隨機選出 Np 筆作為我們最終的「下毒咒語」{Textp}。這些就是我們毒性最強的文本彈藥。
2.創造完美的「毒藥靶心」(Image_anchor)
需要一個非常清晰、一致的「汽車」形象,作為所有毒藥攻擊的最終目標
* AI 生成:我們命令手上的 Stable Diffusion 工具 M,生成 100 次「a photo of a car」。
* 會得到 100 張非常標準、非常典型的汽車圖片。這些就是我們的「錨點圖像」{Image_anchor},也就是毒藥在 AI 腦中應該指向的「靶心
**AI 生成的圖片特徵更為一致,可以讓所有的毒藥樣本都朝著同一個「特徵方向」努力,力量更集中**
3. 要讓一張「龍」的圖片,在 AI 眼裡看起來完全就是一張「汽車」
* 從步驟一,拿出第一句咒語 t_1 (例如 "a majestic dragon") 和它對應的原始「龍」圖片 xt_1。
* 從步驟二,拿出第一張靶心 xa_1 (一張 AI 生成的**「汽車」圖片**)。

底下公式會做一件事:它會計算出一個微小的、人眼看不見的擾動 δ

當把它疊加到原始的「龍」圖片 xt_1 上後,產生的新圖片 x't_1 會具備以下特點:
* 對人:x't_1 看起來和 xt_1 幾乎一模一樣,仍然是一條龍。因為 δ 的強度被 p 限制住了。
* 對 AI:AI 的特徵提取器 F(.) 看到 x't_1 時,它提取出的特徵向量,竟然和它看到靶心「汽車」圖片 xa_1 時提取的特徵向量極度相似!
將這張被毒化的龍圖片 x't_1,和它原始的文字 t_1 ("a majestic dragon") 打包在一起。這就是我們的第一個「毒藥樣本」
重複 N 次:我們對剩下 N 組「龍的咒語/圖片」和 N 個「汽車靶心」重複上述過程
這是中毒的圖

這是我自己的小實驗,確實可以毒化樣本,但跟作者的相比解析度有點差,


----
## 實驗
* 從零開始訓練 (Training from scratch / LD-CC):我們使用 Conceptual Caption (CC) 資料集中的超過三百三十萬筆圖文對,從零開始訓練一個潛在擴散模型 (Latent Diffusion, LD)。我們完全遵循了論文 的訓練設定,並在從 CC 資料集隨機抽樣的 100 萬筆圖文對上訓練 LD 模型。這個乾淨模型的表現(FID=17.5)與使用完整 CC 資料集訓練的版本(FID=16.8)相當。
訓練每一個 LD-CC 模型需要在一張 NVidia A100 GPU 上花費 8 天時間
* 持續訓練 (Continuous training / SD-V2, SD-XL, DF):在此情境中,模型訓練者會用新的訓練資料持續更新一個預訓練好的模型。我們考慮了三個最先進的開源模型:Stable Diffusion V2 (SD-V2) 、Stable Diffusion XL (SD-XL) 以及 DeepFloyd (DF) 。它們擁有截然不同的模型架構,並使用不同的預訓練資料集(細節見附錄 A.1)。我們從 LAION-5B 資料集中隨機選取 10 萬筆樣本作為新資料來更新這些模型 。
LAION-5B(排除了 LAION-Aesthetic 子集)中隨機選取 5,000 個樣本作為我們的自然資料集 {Text/Image}。我們確保這些樣本與表 2 中的 10 萬個訓練樣本沒有重疊
當攻擊一個概念 C 時,我們會從概念列表(在相同的物體/風格類別中)隨機選擇一個目標概念 A。
guided perturbation,我們首先將所有圖像資料裁切成 512x512 的正方形(擴散模型的輸入尺寸),然後遵循先前研究的作法,使用 LPIPS 預算 p = 0.07,並運行 Adam 優化器 500 步
初步測試中,我們假設攻擊者可以接觸到目標的特徵提取器,即 M 是被攻擊模型的未毒化版本(對於 LD-CC)或是持續更新前的乾淨預訓練模型(對於 SD-V2, SD-XL, DF)
CLIP 對齊分數與 FID 評估細節。 我們依循先前研究 [19, 37],使用 20K 筆 MSCOCO 文本提示(涵蓋各種物件與風格)對中毒模型進行查詢並生成 20K 張影像。我們利用 CLIP 模型 計算每張生成影像與其對應提示之間的對齊分數。我們則透過與 MSCOCO 資料集中乾淨影像比較,並使用影像特徵擷取模型 [88],來計算 FID(Fréchet Inception Distance)。
----
### 吸一口毒,送半條命
Nightshade 成功地攻擊了所有四種擴散模型,且僅使用了極少量的(約 100 個)毒化樣本
用了Nightshade之後,在CLIP和人工檢測底下,攻擊成功率上升


研究參與者對這些「正確」生成圖片的可用性 (usability) 進行評分
**發現隨著注入更多毒化樣本,可用性迅速下降**:25 個毒化樣本時可用性為 40%,50 個樣本時則降至 20%。這意味著,即使是極少數(25 個)的毒化樣本,也足以大幅降低生成圖像的品質與可用性
交叉注意力層 (cross-attention layers):
當你輸入提示詞「一隻戴著帽子的狗」時,模型內部需要知道:
* 「狗」這個詞應該對應畫面中的哪個像素區域?
* 「帽子」這個詞又該對應哪個區域?
* 這兩者之間的位置關係是什麼?(帽子在狗的頭上)
交叉注意力層就是完成這項「對位」工作的關鍵模組 。

當輸入詞為概念C(例:Hat、Handbag),乾淨模型的高注意力落在對應物體區域,而被毒化後的高注意力改落在目標概念A(例:Banana、Fork)對應的影像區域。
毒化不只是輸出結果改變,模型在理解詞與影像關係時,會把「帽子」當成「香蕉」、把「手袋」當成「叉子」來看。
### 灑泡尿在泳池裡有沒有效果?
在模型訓練過程中,乾淨樣本和毒化樣本會相互競爭。在這裡,我們探討不同組態的乾淨訓練樣本如何影響攻擊效能。
* 從相關概念中增加乾淨資料
毒大海簡單還是毒一杯水?
作者在LD-CC進行了測試,攻擊一個概念,要讓CLIP攻擊成功率超過90%所需要的毒樣本,會隨著乾淨資料線性增加,斜率是2%,意思是只要有乾淨資料的2%毒樣本就可以成功中毒拉。

* 後續僅在乾淨資料上進行持續訓練
那有沒有可能今天你撒了拋尿在泳池中,然後就停止了尿尿行為,之後泳池的水會換水麻,所以毒性就減弱了。
一個被 500 個毒化樣本成功毒化的 SD-V2 模型開始,並使用從 LAION-5B 隨機抽樣的、數量遞增的乾淨資料來更新模型,再額外用 20 萬個乾淨樣本進行訓練後,該攻擊仍然高度有效(攻擊成功率達 84%)
好毒的尿阿......

### 近朱者赤,近墨者黑
再來是看中毒滲透
* 對鄰近概念的滲透
* 對相關提示詞的滲透
連相近語意的詞彙都受到汙染,要死一起死,真是好兄弟!

連風格中毒都可以影響到概念
意思是片單中毒了,點開NYKD54後,你人生就有了這個陰影,之後看到日本片,腦中就浮現兩個奶奶,不妨換個思路,那就看歐美片,這樣就不會想到了。對吧?

這裡的奇幻風格中毒,影響到了龍,但沒有影響到梵谷
### 百毒散
1)CLIP 對齊分數 (alignment score),它捕捉生成圖像與其提示詞的對齊程度
2) FID 分數,它捕捉圖像品質

可以疊加"概念"
我們從訓練資料集中隨機抽樣一些概念(名詞),並為每個概念注入 100 個毒化樣本進行攻擊
當 250 個不同概念分別被 100 個樣本毒化時,對齊分數降至 0.24 以下,而 FID 分數則高於 39.6。根據這些指標,最終模型的表現比一個 2017 年的 GAN 模型還要差 ,並且接近於一個只會輸出隨機雜訊的模型

當有 250 個概念被毒化時,圖像品質開始明顯下降;當 500 到 1000 個概念被毒化時,模型生成的圖像看起來就像是隨機雜訊。對於從頭開始訓練的模型(LD-CC),要達到類似的退化程度需要毒化 500 個概念
**目前還不知道原因!!!!!!!**
### 我的毒沒有解藥
先看這個連結,這就是對不同模型都有效果的最佳解釋
{%preview https://www.youtube.com/watch?v=e1mXmGRKCWQ&feature=youtu.be %}
* 對不同模型的可轉移性
假設攻擊者使用我們四個模型中的一個乾淨模型來建構毒化資料,將其應用於一個使用不同模型架構的模型上,用「代理模型 A」製作的毒藥,是否成功地毒化了「目標模型 B」

* 以四種模型(LD‑CC、SD‑V2、SD‑XL、DeepFloyd)互作來源/目標評估,注入200張Nightshade毒樣本後,跨模型攻擊成功率(CLIP衡量)多數落在約「72–96%」範圍
* 當攻擊者使用 SD-XL 來生成攻擊時,其攻擊可轉移性會顯著更高,理由是這個模型比較強大
* 在多樣化提示詞上的攻擊表現
主要專注於評估在通用提示詞(如「a photo of C」或「a painting in C style」)上的攻擊表現

即使把使用者的文字提示改得更複雜、更多樣,成功「觸發被投毒後的錯誤行為」的機率依然很高(在使用200張投毒樣本時,各類改寫提示的攻擊成功率都≥89%),所以單靠「改寫提示」並不能繞過或消解投毒效果
投毒是「概念層級」的污染,不是只對某一句固定字串生效
## 我的毒真的沒有解藥嗎?
設計並評估了 Nightshade 在面對 3 種毒化檢測方法和 1 種毒化移除方法時的表現。在每個實驗中,為每個被毒化的概念(包含物體和風格)生成 300 個毒化樣本。
報告了防禦方的精確率 (precision) 和召回率 (recall),以及當模型訓練者過濾掉所有被檢測為毒化的資料後,對攻擊性能的影響。
在「從零開始訓練」(LD-CC) 和「持續訓練」(SD-XL) 兩種場景下都進行了測試。
* 過濾高損失資料 (Filtering high loss data)
* 頻率分析 (Frequency analysis)
* 圖文對齊過濾 (Image-text alignment filtering)
* 自動圖像標註 (Automated image captioning)
* 基於梯度的離群點檢測 (Gradient-based Outlier Detection)
結論是無法有效識別出 Nightshade 樣本,要麼在過濾時會誤傷大量無辜的正常資料,導致模型性能嚴重下降,得不償失
用在版權
----
## 後續
Alignment Model 防禦會失效?
是因為不同模型基於其不同的訓練目標,學到了不同層次的特徵
文生圖模型的特徵提取器必須關注圖像的細粒度細節
對齊模型的特徵提取器 (如 CLIP)任務是理解圖片的高層次語義,以便將其與文字對應
不同類型的概念污染,對模型穩定性造成損害的路徑與效率有何不同?能否建立一個預測模型崩潰的指標?
提供針對防禦nightshade的論文
下次會專門對這篇寫個介紹
LightShed: Defeating Perturbation-based Image Copyright Protections
https://www.usenix.org/conference/usenixsecurity25/presentation/foerster
-----
CLIP: