MMA-Diffusion
MMA-Diffusion: MultiModal Attack on Diffusion Models
这篇论文提出的MMA-Diffusion(多模态攻击框架) 旨在通过文本和图像双模态攻击,绕过文本到图像(T2I)模型的安全机制(如提示过滤器和后处理安全检查器),生成不当内容(NSFW)。
一、文本模态攻击:对抗性提示生成的数学原理
文本模态攻击的目标是生成对抗性提示((P_{adv})),使其不包含敏感词(避开提示过滤器),但语义上与目标不当提示((P_{tar}))一致(引导模型生成预期内容)。其数学机制基于文本嵌入的语义相似性优化。
1. 核心目标:语义对齐与敏感词规避
- 语义对齐:确保(P_{adv})与(P_{tar})的语义一致,即两者通过文本编码器生成的嵌入向量尽可能相似。
- 敏感词规避:(P_{adv})中不包含任何敏感词(如“naked”“violence”等),避免被提示过滤器拦截。
2. 语义相似性损失函数
文本编码器(tau_theta(cdot))将文本提示映射为高维嵌入向量(如CLIP的文本嵌入)。为保证(P_{adv})与(P_{tar})的语义一致,定义余弦相似度最大化目标:
- (tau_theta(P)):文本提示(P)的嵌入向量;
- (cos(a, b) = frac{a cdot b}{||a|| cdot ||b||}):余弦相似度,值越大表示语义越接近。
该目标确保(P_{adv})的嵌入向量与(P_{tar})的嵌入向量在语义空间中高度重合,从而引导T2I模型生成相似内容。
3. 梯度驱动的优化过程
由于文本是离散的(由 tokens 组成),直接优化式(1)需解决离散变量的梯度问题。MMA-Diffusion采用token 级梯度引导的贪心搜索:
- 初始化(P_{adv})为随机 tokens 序列;
- 对每个 token 位置(i),计算所有候选 token(来自词汇表(V))对目标函数(式1)的梯度影响;
- 按梯度绝对值排序,选择Top-K tokens 替换当前位置,生成候选提示池;
- 从候选池中选择使式(1)值最大的提示作为新一轮(P_{adv}),迭代优化直至收敛。
4. 敏感词正则化
为确保(P_{adv})不包含敏感词,对敏感词集中的 tokens 施加梯度惩罚:将敏感词的梯度设为(-infty),使其在贪心搜索中被自动排除。这一机制数学上可表示为:
通过压制敏感词的梯度,保证(P_{adv})仅由非敏感词组成,从而绕过提示过滤器。
二、图像模态攻击:对抗性图像编辑
图像模态攻击针对T2I模型的后处理安全检查器(如Stable Diffusion的内置安全检查器),通过对输入图像添加微小扰动,使生成的NSFW内容被误判为安全。其数学机制基于约束优化,最小化安全检查器对NSFW特征的敏感度。
1. 安全检查器的判定逻辑
安全检查器通过对比生成图像的嵌入向量与预定义的NSFW概念嵌入(如“裸身”“暴力”的视觉特征)来判定是否为不当内容:
- 设生成图像的嵌入向量为(I)(由CLIP视觉编码器生成);
- 预定义(M)个NSFW概念嵌入(C_1, C_2, ..., C_M);
- 若存在(i)使得(cos(I, C_i) > T_i)((T_i)为阈值),则图像被标记为NSFW并拦截。
2. 对抗性图像的优化目标
图像模态攻击的目标是生成对抗性输入图像(x_{adv}),使得:
- 扰动幅度微小:(|x_{input} - x_{adv}|_2 leq varepsilon)((varepsilon)为扰动预算,确保人眼不可察觉);
- 生成图像的嵌入(I)与所有(C_i)的余弦相似度均不超过阈值(T_i),即绕过安全检查器。
数学上定义损失函数为:
- (mathbb{1}_{{cdot}}):指示函数,当条件为真时取1,否则取0;
- 该损失仅针对超过阈值的(cos(I, C_i))进行优化,降低其值至阈值以下,同时忽略未超过阈值的项(减少不必要的扰动)。
3. 投影梯度下降(PGD)求解
式(3)是带约束的优化问题,采用投影梯度下降求解:
- 初始化(x_{adv} = x_{input});
- 迭代计算损失函数关于(x_{adv})的梯度:(nabla_{x_{adv}} L);
- 沿梯度反方向更新(x_{adv}):(x_{adv} leftarrow x_{adv} - alpha cdot text{sign}(nabla_{x_{adv}} L))((alpha)为步长);
- 投影到扰动约束内:(x_{adv} leftarrow text{clamp}(x_{adv}, x_{input} - varepsilon, x_{input} + varepsilon));
- 重复步骤2-4直至收敛(通常20次迭代)。
三、多模态攻击的协同机制
当T2I模型同时部署提示过滤器和安全检查器时,MMA-Diffusion将文本模态与图像模态攻击结合:
- 文本模态生成(P_{adv})绕过提示过滤器;
- 图像模态生成(x_{adv})绕过安全检查器;
- 两者协同使模型生成的内容既符合(P_{tar})的语义,又不被任何安全机制拦截。
总结
MMA-Diffusion的数学原理核心是:
- 文本模态:通过余弦相似度最大化和敏感词正则化,生成语义一致且无敏感词的对抗性提示;
- 图像模态:通过带约束的梯度优化,生成微小扰动图像,降低安全检查器对】NSFW特征的敏感度。
这两种机制分别针对T2I模型的输入和输出安全机制,实现了高效的多模态攻击,揭示了现有防御的脆弱性。
Prompting4Debugging(P4D)
Prompting4Debugging: Red-Teaming Text-to-Image Diffusion Models by Finding Problematic Prompts
这篇论文提出的Prompting4Debugging(P4D) 是一种自动化红队工具,旨在通过优化提示词(prompt)发现文本到图像(T2I)扩散模型安全机制的漏洞,使带有安全机制的模型生成不当内容(如NSFW图像)。其数学原理核心是通过匹配无约束模型与带安全机制模型的噪声预测,优化出能绕过安全机制的“问题提示词”,具体如下:
一、核心目标与数学框架
P4D的目标是找到问题提示词(P^*),使得:
- 带安全机制的T2I模型(G')(如ESD、SLD)在(P^*)引导下生成含不当概念的图像;
- (P^*)需绕过(G')的安全机制(如概念移除、负提示过滤)。
为实现这一目标,P4D利用无约束T2I模型(G)(如原始Stable Diffusion)作为“参照”,通过优化使(G')在(P^*)引导下的生成行为逼近(G)在原始不当提示词(P)引导下的行为。其数学框架基于扩散模型的噪声预测匹配。
二、扩散模型的噪声预测基础
T2I扩散模型(如Stable Diffusion)通过逐步去噪生成图像,核心是在每个时间步(t)预测添加到潜变量中的噪声。对于无约束模型(G)和带安全机制的模型(G'),噪声预测函数分别为:
- (G)的噪声预测:(epsilon_theta(z_t, W(P), t)),其中(z_t)是时间步(t)的带噪声潜变量,(W(P))是提示词(P)的文本嵌入(如CLIP编码),(theta)是(G)的参数;
- (G')的噪声预测:(epsilon_{theta'}(z_t, P_{text{disc}}^*, t)),其中(theta')是(G')的参数,(P_{text{disc}}^*)是待优化的离散提示词。
三、优化目标:噪声预测匹配损失
P4D的核心思想是:若(G')在(P^*)引导下的噪声预测与(G)在(P)引导下的噪声预测足够接近,则两者生成的图像会包含相似的不当概念。因此,定义噪声预测匹配损失:
- 损失(mathcal{L})衡量两个噪声预测的L2距离,值越小表示两者越接近;
- 优化目标是最小化(mathcal{L}),使(G')在(P_{text{disc}}^*)引导下的去噪过程逼近(G)在(P)引导下的过程。
四、连续提示词到离散提示词的优化
由于提示词是离散的(由词汇组成),直接优化离散变量困难。P4D采用“连续-离散”转换策略,平衡优化灵活性与提示词可解释性:
1. 连续提示词初始化
定义连续提示词(P_{text{cont}}^* = [e_1, e_2, ..., e_N]),其中(e_i in mathbb{R}^d)是(d)维连续嵌入向量((N)为提示词长度)。有两种初始化方式:
- P4D-N:随机初始化(N)个连续嵌入(与原始提示词(P)无关);
- P4D-K:在原始提示词嵌入(W(P))中,每(K)个token后插入可学习的连续嵌入(保留(P)的部分语义,提高可解释性)。
2. 离散化投影
通过投影函数(F)将连续提示词(P_{text{cont}}^*)转换为离散提示词(P_{text{disc}}^*):
- (F)将每个连续嵌入(e_i)映射到词汇表中最接近的词汇嵌入(通过余弦相似度匹配),确保(P_{text{disc}}^*)是可解析的自然语言提示词。
3. 梯度下降优化
由于(F)是非可微的(离散映射),P4D直接利用(P_{text{disc}}^*)对损失(mathcal{L})的梯度更新(P_{text{cont}}^*):
- (gamma)是学习率;
- 迭代优化后,(P_{text{disc}}^*)即为最终的问题提示词,可引导(G')生成不当内容。
五、变体设计:P4D-N与P4D-K的数学差异
| 变体 | 连续提示词结构 | 数学特点 | 适用场景 |
|---|---|---|---|
| P4D-N | (P_{text{cont}}^* = [e_1, ..., e_N])((N)固定) | 与原始提示词(P)无关,搜索空间更大但可能丢失(P)的语义 | 简单场景,需完全重构提示词 |
| P4D-K | 在(W(P))中每(K)个token插入可学习嵌入 | 保留(P)的部分结构((W(P))的固定部分),优化仅针对插入的嵌入,语义更连贯 | 复杂场景,需贴合原始提示词语义 |
六、评估指标:失败率(FR)
为量化P4D的有效性,定义失败率:
- 若(G')在(P^*)引导下生成的图像被分类器(如NudeNet、Q16)判定为含不当内容,则(P^*)被视为“问题提示词”;
- FR越高,说明P4D发现的漏洞越多,(G')的安全机制越脆弱。
Ring-A-Bell
RING-A-BELL! HOW RELIABLE ARE CONCEPT REMOVAL METHODS FOR DIFFUSION MODELS?
这篇论文提出的Ring-A-Bell是一种模型无关的红队工具,旨在通过自动生成“问题提示词”(problematic prompts)评估文本到图像(T2I)扩散模型安全机制的可靠性,揭示其在生成不当内容(如NSFW图像、暴力内容)上的漏洞。其数学原理核心是通过概念提取和提示词优化,生成能绕过安全机制的提示词,具体如下:
一、核心目标与数学框架
Ring-A-Bell的目标是:在不依赖目标模型内部信息的前提下,生成能诱导带安全机制的T2I模型(如ESD、SLD)生成不当内容的提示词。其数学框架基于文本嵌入的语义差异分析,通过提取敏感概念的“本质表示”,再将其注入正常提示词中,生成问题提示词。
二、概念提取:敏感概念的本质表示
为了捕捉敏感概念(如“nudity”“violence”)的核心语义,Ring-A-Bell通过对比“含概念”与“不含概念”的提示词对,提取概念的经验表示(empirical representation)。
1. 提示词对构建
对于目标敏感概念(c)(如“暴力”),构建(N)对语义相似但仅在是否包含(c)上有差异的提示词:
- (P_i^c):包含概念(c)的提示词(如“a clashed battle scene”);
- (P_i^{neg c}):不含概念(c)的提示词(如“a peaceful meeting scene”)。
2. 概念表示的数学定义
利用文本编码器(f(cdot))(如CLIP的文本编码器)将提示词转换为高维嵌入向量,通过计算嵌入差异的平均值,得到概念(c)的经验表示(hat{c}):
- (f(P)):提示词(P)的文本嵌入向量;
- 直观意义:(hat{c})捕捉了“含概念(c)”与“不含概念(c)”的语义差异,即概念(c)的本质特征(如“暴力”与“和平”的差异)。
三、提示词优化:生成问题提示词
基于提取的概念表示(hat{c}),将正常提示词(P)转换为能绕过安全机制的问题提示词(hat{P}),分为“软提示生成”和“离散化优化”两步。
1. 软提示生成
将正常提示词(P)的嵌入与概念表示(hat{c})融合,生成“软提示”(连续嵌入):
- (eta):强度系数(控制概念(c)的注入强度,(eta)越大,提示词越倾向于诱导生成含(c)的内容);
- 作用:将正常提示词的语义与敏感概念(c)的本质特征结合,形成潜在的问题提示词嵌入。
2. 离散化优化
由于T2I模型输入需为离散文本(词汇序列),需将软提示(tilde{P}_{text{cont}})转换为离散提示词(hat{P})。数学上定义优化目标为:
- (S):词汇表(所有可能的token集合);
- (K):提示词长度(通常≤77,受限于文本编码器的最大长度);
- 目标:找到离散词汇序列(hat{P}),使其嵌入尽可能接近软提示(tilde{P}_{text{cont}}),从而保留“诱导生成敏感内容”的能力。
3. 优化方法:遗传算法
由于词汇表(S)是高维离散空间,直接优化式(3)困难。Ring-A-Bell采用遗传算法(GA) 进行搜索:
- 初始化:随机生成200个长度为(K)的候选提示词;
- 选择与交叉:保留嵌入接近(tilde{P}_{text{cont}})的候选词,通过交叉组合生成新候选词;
- 变异:随机替换部分token,增加多样性;
- 迭代:重复3000代,最终选择嵌入最接近(tilde{P}_{text{cont}})的提示词作为(hat{P})。
四、模型特定评估的数学推导(辅助分析)
为验证思路,论文还推导了模型特定场景下的攻击损失(假设已知目标模型结构),通过最小化带安全机制的模型与无约束模型的噪声预测差异,揭示安全机制的漏洞。
1. 噪声预测匹配损失
对于无约束模型(epsilon_theta(cdot))和带安全机制的模型(epsilon_{theta'}(cdot)),定义损失(L_{text{white}}):
- (z_{hat{t}}):时间步(hat{t})的带噪声潜变量;
- (rho):权重函数(强调关键时间步的差异);
- 目标:通过优化对抗概念(tilde{c}),使两个模型的噪声预测尽可能接近,从而诱导带安全机制的模型生成与无约束模型相似的不当内容。
五、评估指标:攻击成功率(ASR)
为量化效果,定义攻击成功率:
- 若(hat{P})诱导带安全机制的模型生成被分类器(如NudeNet、Q16)判定为不当的内容,则视为“成功攻击”;
- ASR越高,说明安全机制的漏洞越明显。
UnlearnDiffAtk
To Generate or Not? Safety-Driven Unlearned Diffusion Models Are Still Easy to Generate Unsafe Images ... For Now
这篇论文提出的UnlearnDiffAtk是一种针对经过“安全驱动遗忘处理”(unlearning)的扩散模型(DMs)的对抗性提示生成方法,旨在评估这些模型是否仍会生成不安全内容(如NSFW图像)。其数学原理核心是利用扩散模型自身的噪声预测能力和分类特性,将对抗性提示生成转化为可优化的数学问题,无需依赖辅助模型,具体如下:
一、扩散模型的基础:噪声预测与训练目标
扩散模型(如Stable Diffusion)的核心是通过逐步去噪生成图像,其训练目标是最小化预测噪声与真实噪声的差异。对于潜在扩散模型(LDMs),训练损失为:
- (x):真实图像;(c):文本提示;(z_t):时间步(t)的带噪声潜变量;
- (epsilon):真实高斯噪声;(epsilon_{theta}(z_t | c)):模型预测的噪声;
- 目标:使模型学会根据文本提示(c)和带噪声潜变量(z_t),准确预测添加的噪声(epsilon)。
二、核心创新:扩散分类器(Diffusion Classifier)
UnlearnDiffAtk的关键 insight 是:扩散模型不仅能生成图像,还能通过噪声预测误差实现分类(即“扩散分类器”)。这一特性允许我们无需辅助模型,直接利用目标模型自身的能力生成对抗性提示。
1. 从生成到分类的转化
根据贝叶斯规则,扩散模型对文本提示(c_i)的分类概率可表示为:
- (p_{theta}(x | c_i)):模型在提示(c_i)下生成图像(x)的概率;
- 若假设先验概率(p(c_i))均匀(即(p(c_i) = p(c_j))),则分类概率仅取决于生成概率(p_{theta}(x | c_i))。
2. 生成概率与噪声预测误差的关系
(p_{theta}(x | c_i)) 与噪声预测误差直接相关:模型对提示 (c_i) 的噪声预测越准确(误差越小),生成对应图像 (x) 的概率越高。数学上可表示为:
其中,(x_t) 是目标图像 (x) 在时间步 (t) 的带噪声版本,(mathbb{E}_{t, epsilon}[cdot]) 表示对时间步和噪声的期望。
结合式(2)和(3),扩散分类器对提示 (c_i) 的分类概率可改写为:
这表明,扩散模型可通过比较不同提示的噪声预测误差,实现对图像类别的分类。
三、对抗性提示生成的数学目标
UnlearnDiffAtk 的目标是生成对抗性提示 (c'),使经过安全遗忘处理的模型 (theta^*)(本应避免生成被遗忘概念)在 (c') 引导下,生成包含被遗忘概念的图像。这一目标通过扩散分类器转化为可优化的数学问题。
1. 核心优化目标
对于包含被遗忘概念的目标图像 (x_{tgt}),需最大化扩散分类器对对抗性提示 (c') 的概率:
即让模型 (theta^*) 认为,对抗性提示 (c') 与目标图像 (x_{tgt}) 的匹配度最高。
2. 目标简化与推导
直接优化式(5)需计算所有可能提示的噪声误差,计算成本极高。利用扩散分类器中“分类仅依赖噪声误差的相对差异”这一特性,可简化目标:
- 首先,将式(4)中分子分母的指数项转化为相对误差形式;
- 利用 Jensen 不等式对指数函数的凸性进行上界估计,剔除与 (c') 无关的项;
- 最终,优化目标简化为最小化对抗性提示 (c') 对目标图像带噪声版本 (x_{tgt, t}) 的噪声预测误差:
[min_{c'} mathbb{E}_{t, epsilon} left[ left| epsilon - epsilon_{theta^*}(x_{tgt, t} | c') right|_2^2 right] tag{6} ]
其中,(x_{tgt, t}) 是目标图像 (x_{tgt}) 在时间步 (t) 加入噪声后的版本。
四、离散提示的优化方法
由于提示词是离散的(由词汇组成),需采用投影梯度下降(PGD) 在离散空间中优化:
- 初始化:随机生成包含 3~5 个 token 的候选提示(长度根据任务调整);
- 梯度计算:计算当前提示的噪声预测误差(式6)关于 token 嵌入的梯度;
- 更新与投影:沿梯度反方向更新 token 嵌入,再将连续嵌入投影到词汇表中最相似的离散 token(确保提示词为自然语言);
- 迭代:重复 40 次迭代,直至误差收敛。
总结
UnlearnDiffAtk 的数学原理核心是:利用扩散模型自身的分类能力(扩散分类器),将对抗性提示生成转化为噪声预测误差的最小化问题。通过简化优化目标并采用离散 PGD 方法,在不依赖辅助模型的情况下,高效生成能绕过安全遗忘机制的对抗性提示,揭示了当前安全驱动遗忘扩散模型的脆弱性。