风采哥 發表於 2026-3-26 21:31:00

图片防御与lvlm攻击论文阅读笔记

<h2 id="anti-tamper-protection-for-unauthorized-individual-image-generation">Anti-Tamper Protection for Unauthorized Individual Image Generation</h2>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213032169-1179229701.png" class="lazyload"></p>
<p>图1.(a)伪造攻击者通过从社交媒体上拍照生成数据所有者的虚假个人图像,并将其提交给服务提供商。(b)数据所有者可以在服务提供商的协助下,向其图像中注入保护性扰动,这样当攻击者试图生成虚假个人图像时,会得到质量低下的结果。然而,如果攻击者对受保护的图像进行净化处理,这种保护就可能失效。(c)我们的解决方案:我们提出了带有防篡改机制的防篡改扰动。如果未进行净化处理,该扰动会通过降低生成图像的质量来保护数据所有者的肖像权和隐私权。相反,如果伪造攻击者进行了净化处理,图像就会变为未授权状态,服务提供商将拒绝生成请求。</p>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213032980-832503777.png" class="lazyload"></p>
<p>图2. 防篡改扰动流程。原始图像首先通过块离散余弦变换(BDCT)转换到频域。在二进制掩码的引导下,授权扰动和保护扰动在频域中独立应用,以获得受保护且经过授权的图像。</p>
<h3 id="掩码引导的扰动融合">掩码引导的扰动融合</h3>
<p>保护扰动和授权扰动都是通过改变图像信息来工作的。它们可能会因为改变相同的图像像素而相互干扰。为了解决这个问题,我们建议通过如下掩码来区分扰动:</p>
<p></p><div class="math display">\[P_{A P}(I)=M \odot P_{A u t h}(I)+(1-M) \odot P_{Prot }(I)
\]</div><p></p><p>其中,I表示图像,M表示掩码,由0和1组成。<span class="math inline">\(P_{A P}(\cdot)\)</span>、<span class="math inline">\(P_{Auth }(\cdot)\)</span>、<span class="math inline">\(P_{Prot }(\cdot)\)</span>分别指防篡改扰动、授权扰动和保护扰动。掩码使两种扰动能够独立发挥作用,确保它们不会相互干扰。</p>
<p>局限性:扰动在像素空间中变得可区分,这可能会使净化方法能够有选择地针对保护扰动。</p>
<p>为了解决这个问题,我们可以采用一种变换函数,将图像映射到频域,在频域中施加扰动:</p>
<p></p><div class="math display">\
\]</div><p></p><p>其中,<span class="math inline">\(F(\cdot)\)</span>和<span class="math inline">\(F^{-1}(\cdot)\)</span>分别表示将图像从像素域投影到频域的函数及其逆函数。由于每个像素值都是频域系数的线性组合,因此这两种扰动在像素域内均呈均匀分布。这种方法确保了授权扰动和保护扰动在像素域中无法区分。扰动的均匀分布还提高了授权扰动对净化尝试的敏感性。</p>
<h3 id="块离散余弦变换f">块离散余弦变换(F)</h3>
<p>我们采用BDCT函数作为变换函数F,这比直接对整个图像采用离散余弦变换(DCT)更高效。</p>
<blockquote>
<p>具体来说,我们首先在像素域中将图像I划分为不重叠的块。我们记录块在像素域中的位置,对每个块,我们按如下方式应用DCT:</p>
<p></p><div class="math display">\[C_{u, v}=\alpha(u) \alpha(v) \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} I_{i, j} \phi(u, i, N) \phi(v, j, N), (3)
\]</div><p></p><p>其中<span class="math inline">\(\phi(u, i, N)=cos (\frac{\pi(2 u+1) i}{2 N})\)</span>。当<span class="math inline">\(i=0\)</span>时,<span class="math inline">\(\alpha(i)=\sqrt{\frac{2}{N}}\)</span>;否则为<span class="math inline">\(\alpha(i)=\sqrt{\frac{1}{N}}\)</span>。N表示块的高度和宽度。C表示频率系数。然后,我们根据块在像素域中的位置对其进行合并。这样,我们就能得到一个与原始图像尺度相同的频率系数张量。我们对该张量进行掩码引导的授权和保护扰动。为了将图像从频域转换回图像域,我们应用块逆离散余弦变换(BIDCT)。我们按照与BDCT相同的方式将张量分割成块,并应用逆离散余弦变换(Inverse-DCT)以获得像素域中的扰动图像:</p>
<p></p><div class="math display">\[I_{i, j}=\sum_{u=0}^{N-1} \sum_{v=0}^{N-1} \alpha(u) \alpha(v) C_{u, v} \phi(u, i, N) \phi(v, j, N) . (4)
\]</div><p></p></blockquote>
<h3 id="授权扰动">授权扰动</h3>
<p>我们考虑将授权消息嵌入频域,作为一种可行的授权扰动方法。参考已被证明在像素域隐藏信息方面有效的研究,我们使用卷积自编码器<span class="math inline">\(f_{\theta}(\cdot)\)</span>来完成授权扰动。如图2所示,编码器从经过掩码处理的输入频率系数中提取中间特征图。授权消息m表示为由{0,1}组成的长度为L的二进制字符串,它在空间上被复制并与中间特征图连接。然后,解码器从这些修改后的特征图中重建系数。同时,还训练了一个消息解码器<span class="math inline">\(D_{m}\)</span>,用于从重建的系数中检索编码信息。授权扰动的整个流程可表述如下:</p>
<p></p><div class="math display">\,
\]</div><p></p><p>其中<span class="math inline">\(I_{enc }\)</span>表示经过授权扰动的图像。我们引入图像重建损失<span class="math inline">\(L_{rec }\)</span>和对抗损失<span class="math inline">\(L_{a d v, G}\)</span>,以最小化扰动后对图像内容的改变。为保证信息隐藏的准确性,我们采用掩码引导的消息一致性损失和在频域中计算的正则化损失:</p>
<p></p><div class="math display">\[\mathcal{L}_{con }=\left\| D_{m}\left(M \odot f_{\theta}(C)\right)-m\right\| _{2}^{2}, \mathcal{L}_{reg }=\left\| f_{\theta}(C)-C\right\| _{2}^{2}. (6)
\]</div><p></p><p>一致性损失有助于信息隐藏,而正则化则抑制频域中的显著变化,以将像素域值保持在逆变换后的允许范围。总损失公式如下:</p>
<p></p><div class="math display">\[\mathcal{L}=\mathcal{L}_{con }+\lambda_{adv } \mathcal{L}_{adv , G}+\lambda_{rec } \mathcal{L}_{rec }+\lambda_{reg } \mathcal{L}_{reg. } (7)
\]</div><p></p><blockquote>
<p><strong>HiDDeN: Hiding Data With Deep Networks</strong>(ECCV2018)</p>
<h4 id="1-图像重建损失-image-reconstruction-loss">1. 图像重建损失 (Image Reconstruction Loss)</h4>
<p></p><div class="math display">\[L_I(I_{co}, I_{en}) = \frac{\| I_{co} - I_{en} \|_2^2}{CHW}
\]</div><p></p><ul>
<li><strong>含义</strong>:
<ul>
<li><span class="math inline">\(I_{co}\)</span>: 原始载体图像 (Cover Image)。</li>
<li><span class="math inline">\(I_{en}\)</span>: 编码后的图像 (Encoded Image / Stego Image)。</li>
<li><span class="math inline">\(C, H, W\)</span>: 图像的通道数、高度和宽度。</li>
<li><span class="math inline">\(\| \cdot \|_2^2\)</span>: L2 范数的平方(即像素差值的平方和)。</li>
</ul>
</li>
<li><strong>作用</strong>: 衡量编码图像与原始图像之间的像素级差异(均方误差 MSE),目的是让嵌入信息后的图像在视觉上与原始图像尽可能相似,保持不可察觉性。</li>
</ul>
<h4 id="2-对抗损失-adversarial-loss">2. 对抗损失 (Adversarial Loss)</h4>
<p></p><div class="math display">\[L_G(I_{en}) = \log(1 - A(I_{en}))
\]</div><p></p><ul>
<li><strong>含义</strong>:
<ul>
<li><span class="math inline">\(A(I_{en})\)</span>: 判别器 (Discriminator/Adversary) 输出图像 <span class="math inline">\(I_{en}\)</span> 是“编码图像”的概率值(范围在 0 到 1 之间)。</li>
<li><span class="math inline">\(1 - A(I_{en})\)</span>: 判别器认为该图像是“原始图像”(即未被编码)的概率。</li>
<li><span class="math inline">\(\log(\cdot)\)</span>: 对数函数。</li>
<li><strong>作用</strong>: 编码器试图最小化这个损失,即最大化 <span class="math inline">\(\log(1 - A(I_{en}))\)</span>,也就是让判别器 <span class="math inline">\(A\)</span> 认为编码后的图像 <span class="math inline">\(I_{en}\)</span> 是原始图像(使 <span class="math inline">\(A(I_{en})\)</span> 趋近于 0)。这迫使编码器生成统计分布上更接近自然图像的结果,从而消除人眼可见的伪影。</li>
</ul>
</li>
</ul>
<hr>
<h4 id="补充判别器的损失-discriminator-loss">补充:判别器的损失 (Discriminator Loss)</h4>
<p>为了完整理解对抗过程,判别器自身的损失 <span class="math inline">\(L_A\)</span> 定义如下:</p>
<p></p><div class="math display">\[L_A(I_{co}, I_{en}) = \log(1 - A(I_{co})) + \log(A(I_{en}))
\]</div><p></p><ul>
<li>判别器试图最小化此损失:让 <span class="math inline">\(A(I_{co})\)</span> 趋近于 0(认为原始图是原始的),让 <span class="math inline">\(A(I_{en})\)</span> 趋近于 1(认为编码图是编码过的)。</li>
</ul>
</blockquote>
<h3 id="保护扰动">保护扰动</h3>
<p>所有的保护扰动算法本质上都是根据从扩散模型损失函数导出的梯度来生成扰动。</p>
<p></p><div class="math display">\[I_{p e r} \leftarrow \Pi_{\epsilon, I}\left(I+\alpha \cdot sgn\left(F^{-1}\left(M_{p} \odot F(\nabla)\right)\right)\right), \quad(8)
\]</div><p></p><p>其中∇表示从扩散模型损失计算出的梯度,ϵ是PGD半径。<span class="math inline">\(\Pi_{\epsilon, I}(\cdot)\)</span>将其输出约束在I周围的ϵ球内。sgn(·)是符号函数,α是步长。<span class="math inline">\(M_{p}\)</span>是一个二进制掩码。</p>
<blockquote>
<p>说白了这里扩散模型损失随便抄个之前的工作的loss就行,这就是他所谓的可以和其他方法集成</p>
</blockquote>
<p>然而,我们发现通过公式8更新扰动会使掩码引导失效。原因是每个像素值都是所有频率系数的线性组合。单个像素值的修改会影响所有频率系数。像素域中的Π(·)、sgn(·)变换不可避免地改变了掩码想要保留的频率系数。为了解决这个问题,我们在算法1中提出了改进的频域PGD算法。<span class="math inline">\(\Pi(\cdot)\)</span>、sgn(·)被移至频域中应用,以确保基于掩码对特定频率系数进行精确修改。</p>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213033327-324138352.png" class="lazyload"></p>
<p>输入包括:扰动损失 <span class="math inline">\(\mathcal{L}\)</span>、原始图像 <span class="math inline">\(I\)</span>、引导掩码 <span class="math inline">\(M_p\)</span>、块 DCT 变换 <span class="math inline">\(F\)</span> 及其逆变换 <span class="math inline">\(F^{-1}\)</span>、PGD 半径 <span class="math inline">\(\epsilon\)</span>、步长 <span class="math inline">\(\alpha\)</span>。</p>
<ol>
<li>
<p><strong>计算梯度</strong>:$ \nabla \leftarrow \frac{\partial \mathcal{L}}{\partial I} $ 损失函数相对于输入图像的梯度</p>
</li>
<li>
<p><strong>掩码过滤</strong>:$ \nabla_{freq} \leftarrow M_p \odot F(\nabla) $</p>
</li>
<li>
<p><strong>频率域内梯度上升与逆变换</strong>:$ \nabla \leftarrow F^{-1}(\alpha \cdot \text{sgn}(\nabla_{freq})) $</p>
</li>
<li>
<p><strong>初步添加扰动</strong>:$ I_{per} \leftarrow I + \nabla $ 将生成的扰动加到原始图像上。</p>
</li>
<li>
<p><strong>频率域投影截断</strong>:</p>
<p></p><div class="math display">\[I_{per} \leftarrow F^{-1}(\Pi_{\epsilon, F(I)}(F(I_{per})))
\]</div><p></p><ul>
<li>将初步扰动后的图像 <span class="math inline">\(I_{per}\)</span> 再次变换到频率域 <span class="math inline">\(F(I_{per})\)</span>。</li>
<li>使用投影算子 <span class="math inline">\(\Pi\)</span>,将其限制在以原始图像频率系数 <span class="math inline">\(F(I)\)</span> 为中心、半径为 <span class="math inline">\(\epsilon\)</span> 的球体内。</li>
</ul>
</li>
</ol>
<h3 id="实验设置">实验设置</h3>
<p><strong>实验目标</strong>:验证ATP抗伪造攻击效果、美学影响、授权扰动鲁棒性与纯化敏感性<br>
<strong>数据集</strong>:FFHQ(授权网络训练)、CelebAHQ+VGGFace2(保护扰动/性能验证)<br>
<strong>基线算法</strong>:Anti-DB、AdvDM、CAAT、MetaCloak<br>
<strong>评估指标</strong>:</p>
<ul>
<li><strong>授权性能</strong><br>
<strong>Bit-error(比特错误率)</strong></li>
<li><strong>保护性能</strong>
<ol>
<li><strong>PSR(保护成功率)</strong>:以CLIP-IQAC为阈值判定保护是否成功,若生成图质量低于阈值或图像授权验证失败则记为保护成功。</li>
<li><strong>CLIP-IQAC</strong>:基于CLIP改进的人脸图像质量评估指标,数值越低表示生成的伪造图像质量越差,保护效果越好。</li>
<li><strong>LIQE</strong>:贴合人类视觉感知的盲图像质量评估指标,适用于各类图像,数值越低代表生成伪造图的感知质量越差。</li>
<li><strong>FDFR(人脸检测失败率)</strong>:通过Retinaface模型检测生成图的人脸失败概率,数值越高表示伪造图中人脸越难被检测,保护扰动的干扰效果越好。</li>
<li><strong>ISM(身份匹配分数)</strong>:通过Arcface提取特征并计算生成图与原图的余弦相似度,数值越低表示生成图的身份一致性越差,有效阻止了特定人物的伪造生成。</li>
</ol>
</li>
</ul>
<p><strong>实验场景</strong>:1. 含纯化攻击(JPEG/Resize/GridPure);2. 无纯化攻击;3. ATP自适应攻击(攻击者知部分/全部ATP参数);4. ATP美学影响(ISM/CLIP-IQAC);5. 授权扰动鲁棒性(抗保护扰动干扰);6. 授权扰动纯化敏感性(频域vs像素域ATP,对比FaceSigns)<br>
<strong>关键超参数</strong>:掩码比例p=0.5、BDCT块宽N=16<br>
<strong>核心结论</strong>:纯化攻击下ATP使基线均达100%PSR;无纯化时保留基线保护性能;自适应攻击下仅全参数泄露时失效;美学影响小;频域授权扰动鲁棒性高、纯化敏感性强。</p>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213033698-686837424.png" class="lazyload"></p>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213034288-496445346.png" class="lazyload"></p>
<h2 id="dct-shield-a-robust-frequency-domain-defense-against-malicious-image-editing">DCT-Shield: A Robust Frequency Domain Defense against Malicious Image Editing</h2>
<p></p><div class="math display">\[\alpha = \text{JPEG}_E(\mathbf{x}; Q_{\text{alg}}), \quad \alpha(c) \in \mathbb{Z}^{n_p(c) \times 8 \times 8}
\]</div><p></p><p>x:        原始输入图像<br>
JPEG_E:RGB→YCbCr 色域转换→色度子采样→8×8 分块 DCT 变换→DCT 系数量化<br>
Qalg:​        JPEG 编码的质量参数(论文中默认 0.95)<br>
α:        经 JPEG_E 编码后得到的量化 DCT 系数张量<br>
α(c):        系数张量在单个色域通道c上的分量,c∈{Y,Cb,Cr}</p>
<p></p><div class="math display">\[\delta = \arg\min_{\|\delta\|_\infty \leq \epsilon} \mathcal{L}(\mathcal{E}(\mathbf{x}')),\text{where } \mathbf{x}' = \text{JPEG}_D(\alpha + \delta; Q_{\text{alg}})
\]</div><p></p><blockquote>
<p><span class="math inline">\(\mathcal{L}\)</span>就是texture loss</p>
</blockquote>
<p>δ:        对抗扰动张量<br>
α+δ:        施加扰动后的新量化 DCT 系数<br>
JPEG_D:        JPEG解码操作,是JPEG_E​的逆过程<br>
x′:        最终生成的免疫图像(像素空间)</p>
<p><strong>数据集</strong>:OmniEdit(150样本,多编辑任务)、自建修复数据集(56样本,PPR10K+网络人像)<br>
<strong>基线</strong>:PhotoGuard、MIST、AdvDM、SDS、DiffusionGuard<br>
<strong>编辑模型</strong>:InstructPix2Pix、Stable Diffusion Inpainting 1.0<br>
<strong>实验设置</strong>:DCT-Shield默认<span class="math inline">\(Q_{alg}=0.95\)</span>、<span class="math inline">\(\epsilon=1\)</span>、迭代1000,512×512分辨率;基线像素预算16/255<br>
<strong>验证维度</strong>:噪声可感知性、编辑保护效果、净化鲁棒性(JPEG压缩/裁剪缩放/AdvClean)<br>
<strong>评价指标</strong>:LPIPS、FID、PSNR、SSIM、VIFp,修复加CLIPScore,辅以人工评估<br>
<strong>核心结果</strong>:</p>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213042013-381710677.png" class="lazyload"></p>
<h2 id="antipure">AntiPure</h2>
<blockquote>
<p>Towards Robust Defense against Customization via Protective Perturbation Resistant to Diffusion-based Purification<br>
通过抗扩散净化的保护性扰动实现对定制化攻击的鲁棒防御</p>
</blockquote>
<h3 id="分析">分析</h3>
<h4 id="抗净化整体公式">抗净化:整体公式</h4>
<p>对于能抵抗净化的理想扰动,我们首先将目标形式化如下:</p>
<p></p><div class="math display">\[\delta^{a d v}=\underset{\| \delta\| _{\infty} \leq \eta}{arg max } min _{\theta_{c}} \mathbb{E}_{x} \mathcal{L}_{l d m}\left( Pure \left(x_{0}+\delta\right) ; \theta_{c}\right), (4)
\]</div><p></p><p>其中,<span class="math inline">\(\delta^{a d v}\)</span> 通过最大化<span class="math inline">\(L_{l d m}\)</span> 进行类似优化,但用净化后的输入替代原始输入。然而,直接反向传播在此处计算效率低下,因为净化会在多次迭代中生成极深的计算图。</p>
<p>两个相反的目标可以实现这一点:</p>
<p></p><div class="math display">\[\delta_{min }^{a d v \prime}=\underset{\| \delta\| _{\infty} \leq \eta}{arg min }\left\| Pure\left(x_{0}+\delta\right)-\left(x_{0}+\delta\right)\right\| _{\infty}(5)
\]</div><p></p><p></p><div class="math display">\[\delta_{max }^{a d v \prime}=\underset{\| \delta\| _{\infty} \leq \eta}{arg max }\left\| Pure\left(x_{0}+\delta\right)-\left(x_{0}+\delta\right)\right\| _{\infty}(6)
\]</div><p></p><p>最小化目标:打破净化→微调的节点 —— 净化未去扰动.<br>
最大化目标:打破扰动→净化的节点 —— 净化生成失真图像。</p>
<h4 id="反净化为何更难">反净化:为何更难?</h4>
<h5 id="原因1缺乏易受攻击的组件">原因1:缺乏易受攻击的组件</h5>
<p>针对LDMs/SD的攻击更容易实施,因为它们的编码器更易受攻击。相比之下,DDPMs的唯一组件(即UNet)极其稳健。</p>
<h5 id="原因2无需训练的冻结参数">原因2:无需训练的冻结参数</h5>
<p>在反净化中,预训练的净化模型不需要额外调整,因此对抗样本无法影响嵌入在冻结的<span class="math inline">\(\theta_{p}\)</span>中的良性先验。</p>
<h5 id="原因3固定高时间步去噪">原因3:固定高时间步去噪</h5>
<p>净化过程可以被视为高时间步去噪固定的生成过程。本质上,对净化过程本身的攻击是局限于低时间步高频组件的攻击。</p>
<h3 id="方法antipure">方法:AntiPure</h3>
<h4 id="逐块频率引导">逐块频率引导</h4>
<p>我们对带噪声的对抗样本<span class="math inline">\(x_{t}\)</span>利用UNet的输出<span class="math inline">\(\epsilon_{\theta}(x_{t}, t)\)</span>通过以下方式近似预测的去噪图像<span class="math inline">\(\widehat{x}_{0}\)</span>:</p>
<p></p><div class="math display">\[\hat{x}_{0}=\left(x_{t}-\sqrt{1-\overline{\alpha}_{t}} \epsilon_{\theta}\left(x_{t}, t\right)\right) / \sqrt{\overline{\alpha}_{t}} . (9)
\]</div><p></p><p>接下来,基于补丁的频率引导在<span class="math inline">\(\widehat{x}_{0}\)</span>上运行,以跟踪UNet的梯度,同时强调高频成分,其可形式化为:</p>
<p></p><div class="math display">\[\mathcal{L}_{fre }\left(x_{0} ; \delta^{adv }\right)=\sigma\left(\mathbb{E}_{P} \frac{4}{s^{2}} \sum_{m, n=\frac{s}{2}}^{s-1} PatchDCT\left(\hat{x}_{0}, s\right)_{m, n}\right),
\]</div><p></p><p>其中,PatchDCT(·)将<span class="math inline">\(\widehat{x}_{0}\)</span>展开为P个大小为<span class="math inline">\(s ×s\)</span>的补丁,并对每个补丁应用离散余弦变换(DCT)。经过DCT后,低频成分位于频谱图的左上角,而高频成分位于右下角。因此,每个补丁的右下角四分之一区域会被过滤、平均,然后通过<span class="math inline">\(\sigma(\cdot)\)</span>进行sigmoid归一化,得到<span class="math inline">\(L_{fre }\)</span>。</p>
<h4 id="错误时间步引导">错误时间步引导</h4>
<p>我们选择一个错误的时间步<span class="math inline">\(t_{err }\)</span>作为UNet的输入,以在更高的时间步获得<span class="math inline">\(x_{t}\)</span>的噪声预测,并且我们将错误时间步<span class="math inline">\(\epsilon_{\theta}(x_{t}, t_{e r r})\)</span>的预测噪声与正确预测<span class="math inline">\(\epsilon_{\theta}(x_{t}, t)\)</span>之间的差异最小化:</p>
<p></p><div class="math display">\[\mathcal{L}_{err -t}\left(x_{0} ; \delta^{a d v}\right)=-\left\| \epsilon_{\theta}\left(x_{t}, t_{err }\right)-\epsilon_{\theta}\left(x_{t}, t\right)\right\| _{2}^{2} . (11)
\]</div><p></p><h4 id="整体攻击">整体攻击</h4>
<p>如图6所示,我们的攻击将<span class="math inline">\(L_{fre }\)</span>和<span class="math inline">\(L_{err-t }\)</span>的引导与原始的<span class="math inline">\(L_{ddpm }\)</span>相结合。为了平衡不同训练目标之间的数值范围,PGD中用于梯度上升的总损失可以形式化为:</p>
<p></p><div class="math display">\[\mathcal{L}_{p g d}\left(x_{0} ; \delta^{a d v}\right)=\mathbb{E}_{\epsilon, t}\left(\mathcal{L}_{d d p m}+\lambda_{1} e^{\overline{\alpha}_{t}-1} \mathcal{L}_{f r e}+\lambda_{2} e^{\mathcal{L}_{e r r-t}}\right),
\]</div><p></p><p>其中,攻击时间步<span class="math inline">\(t ~ U(1, t^{p})\)</span>被限制在净化步骤范围<span class="math inline">\(t^{p}\)</span>内,以避免无效攻击。PGD 最大化 <span class="math inline">\(L_{p g d}\)</span> 以找到最优的 <span class="math inline">\(\delta^{a d v}\)</span></p>
<h3 id="实验设置-1">实验设置</h3>
<ul>
<li>数据集:采用CelebA-HQ、VGGFace2人脸数据集,各选50个ID、每ID12张512×512图像;</li>
<li>基线方法:AdvDM、Mist、Anti-DB、SimAC四种主流保护性扰动方法;</li>
<li>量化指标:生成效果(FID、ISM/FDFR、BRISQUE)、扰动感知性(LPIPS),FID/BRISQUE越高、ISM越低对抗效果越好,LPIPS越低扰动越隐蔽;</li>
<li>配置:统一PGD训练/净化/定制化流程,用GrIDPure净化(2轮20迭代、<span class="math inline">\(t^p\)</span>=10),CelebA-HQ数据做JPEG压缩验证鲁棒性。</li>
</ul>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213059275-2123467011.png" class="lazyload"></p>
<h2 id="promptflare-prompt-generalized-defense-via-cross-attention-decoy-in-diffusion-based-inpainting">PromptFlare: Prompt-Generalized Defense via Cross-Attention Decoy in Diffusion-Based Inpainting</h2>
<h3 id="background">Background</h3>
<p>噪声预测模型<span class="math inline">\(\epsilon_{\theta}\)</span>使用以下损失函数进行训练,以最小化预测噪声与添加的实际噪声之间的差异:</p>
<p></p><div class="math display">\, \epsilon \sim \mathcal{N}(0,1)}\left\| \epsilon-\epsilon_{\theta}\left(\overline{z}_{t}, t, e\right)\right\| _{2}, (3)
\]</div><p></p><p>其中,<span class="math inline">\(\bar{z}_{t}\)</span>是<span class="math inline">\((z_{t} \cdot M', z_{0}^{M})\)</span>的拼接,<span class="math inline">\(M' \in \mathbb{R}^{1 ×w ×h}\)</span>是与潜在维度对齐的下采样掩码M,e是提示嵌入。</p>
<h3 id="方法">方法</h3>
<h4 id="问题陈述">问题陈述</h4>
<p>此前相关研究仅将提示词嵌入视为空文本嵌入或图像语义描述嵌入,通过最大化图像级不一致性实现防御,但这类方法仅能部分干扰无条件采样过程,对与提示词语义直接对齐的条件采样无效;且攻击者可通过提高CFG尺度强化提示词影响力,使即便带有大量扰动的图像仍能生成符合恶意提示词的结果。</p>
<p>PromptFlare通过明确针对提示词和图像之间通过交叉注意力机制的交互来解决这一局限性。我们提出了两种新颖的策略:(1)隔离所有提示词中不变的共享标记,并强制注意力仅集中在该标记上;(2)确保该标记在语义上无意义,以防止模型获取与提示词相关的信息。这种泛化提示词的设计确保了无论攻击者的输入提示词或CFG规模如何,保护都能保持有效。</p>
<h4 id="提示词的共享标记">提示词的共享标记</h4>
<p>要将提示词P输入到图像修复模型中,首先需要使用文本编码器Γ将该提示词转换为提示词嵌入e。具体来说,提示词会被标记化为<span class="math inline">\(|p|\)</span>个标记,前面会添加一个序列起始(BOS)标记,后面会添加<span class="math inline">\(N-|p|-1\)</span>个序列结束(EOS)标记,总长度为N。由此得到的提示词嵌入e表示如下:</p>
<p></p><div class="math display">\\in \mathbb {R}^{N × K} . (7)
\]</div><p></p><p>对于任何给定的提示词P,两个标记嵌入<span class="math inline">\(e^{BOS}\)</span>和<span class="math inline">\(e_{N-|p|-2}^{EOS}\)</span>始终存在。由于这两个都是特殊标记,它们起初可能看起来不包含任何有意义的信息。然而,基于CLIP文本编码器的设计和运行原理,有研究表明序列中后面的标记会在其嵌入中整合前面标记的信息。因此,嵌入<span class="math inline">\(e_{N-|p|-2}^{EOS}\)</span>包含了关于整个提示词𝑝的全面信息。这样一来,即使某些标记被忽略,模型仍然可以通过<span class="math inline">\(e_{N-|p|-2}^{EOS}\)</span>有效地获取P中的信息。相比之下,由于<span class="math inline">\(e^{BOS}\)</span>出现在序列的开头,它不会对提示词P的任何信息进行编码。基于这一观察,我们选择<span class="math inline">\(e^{BOS}\)</span>,并构建了一个专门针对该标记的掩码<span class="math inline">\(M^{BOS} \in \mathbb{R}^{1 ×N}\)</span>。</p>
<h4 id="对交叉注意力的对抗性攻击">对交叉注意力的对抗性攻击</h4>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213104045-870538689.png" class="lazyload"></p>
<p>图2:我们的方法PromptFlare概述。在提示预处理阶段(a),提示被分词和嵌入,并生成一个BOS掩码。在数据输入阶段(b),带有和不带有BOS掩码的两个版本的输入被批量处理,并直接输入到每个注意力层。在注意力层(c),根据是否应用BOS掩码,以不同的方式计算交叉注意力。然后更新对抗性噪声,以最小化两种结果之间的差异。</p>
<blockquote>
<p>省流:类似对vae的textural loss,这里对交叉注意力构造一个target</p>
</blockquote>
<p>交叉注意力可选择采用长度为N的提示掩码<span class="math inline">\(M_{p}\)</span>,该长度与提示嵌入的维度相对应。注意力图A的计算如下:</p>
<p></p><div class="math display">\[\mathcal{A}\left(\phi\left(\overline{z}_{t}\right), e, M_{p}\right)=softmax\left(\frac{Q K^{T}}{\sqrt{d}}+\left(M_{p} × c\right)\right)
\]</div><p></p><p>其中,<span class="math inline">\(\phi(\bar{z}_{t})\)</span>是交叉注意力之前上一层的输出特征,Q是从<span class="math inline">\(\phi(\tilde{z}_{t})\)</span>中提取的查询,K是从提示嵌入e中提取的键,d是Q的维度。式9意味着,注意力图A在所有区域中仅关注被掩码标记的概率显著增加。</p>
<p>我们旨在实现以下两个效果:1)提示泛化行为:通过仅关注<span class="math inline">\(e^{BOS}\)</span>而忽略e的其余部分,我们的方法确保对条件采样和无条件采样过程都有一致的影响。2)交叉注意力的中断:由于<span class="math inline">\(e^{BOS}\)</span>不携带任何与提示P相关的信息,交叉注意力机制无法将原始提示中的任何语义内容纳入输出特征中。</p>
<p>目标定义为通过<span class="math inline">\(M^{BOS}\)</span>计算出的交叉注意力轨迹,并通过将其与未使用<span class="math inline">\(M^{BOS}\)</span>时获得的交叉注意力输出进行比较,构建一个损失项:</p>
<p></p><div class="math display">\[L_{CA}=\left\| CA\left(\phi\left(\tilde{z}_{t}\right), e, M^{BOS}\right) \otimes M'-CA\left(\phi\left(\tilde{z}_{t}\right), e\right) \otimes M'\right\| _{2}
\]</div><p></p><h4 id="质量标签提示词">质量标签提示词</h4>
<p>为了提高对抗性攻击的效果,我们采用质量标签提示作为计算对抗性噪声的基础提示。该提示包含语义中性但影响力强的标记,例如“杰作”和“最佳质量”,这些标记在附加到提示时,被广泛认为能够提高基于扩散的图像生成模型的视觉保真度。</p>
<p>最终的目标函数整合了我们提出的所有方法,其公式如下:</p>
<p></p><div class="math display">\[\underset{\| \delta\| _{\infty} \leq \epsilon}{arg min } \mathbb{E}_{l}\left
\]</div><p></p><p>其中,𝑙表示噪声预测模型中的第I层。根据经验,I被设置为仅包含注意力层,但不包括最外层的注意力层,因为最外层主要捕捉过于细粒度的信息,与该目标的相关性较低。</p>
<h3 id="实验">实验</h3>
<ol>
<li><strong>实验设置</strong>:数据集为EditBench(240张图,含真实/生成图及对应掩码、提示词);基线方法包括PhotoGuard、DDD等,以无保护的Oracle为参照;评估指标分无参考(CLIP Score等,越低表示提示词抑制效果越好)和有参考(LPIPS等,反映与Oracle的视觉差异);硬件为NVIDIA A5000 GPU,默认参数含PGD噪声预算12/255、400迭代等。</li>
<li><strong>定性结果</strong>:PromptFlare有效抑制恶意提示词生成,修复区域更贴合图像本身语境,无异常纹理/色彩偏移;基线方法在高CFG尺度下易遵循提示词。</li>
<li><strong>定量结果</strong>:PromptFlare在无参考指标(如CLIP Score)上达SOTA,超AdvPaint等基线;有参考指标中表现接近次优,因该类指标默认Oracle为真值,无法完全反映提示词抑制效果。</li>
<li><strong>CFG尺度对比</strong>:PromptFlare在5.0-15.0全CFG尺度下稳定抑制生成,CLIP Score增长幅度仅为基线的一半,基线在高CFG尺度下防御失效。</li>
<li><strong>注意力图可视化</strong>:PromptFlare使模型仅关注无意义BOS令牌,恶意提示词核心令牌无激活;基线方法仍受核心令牌和EOS令牌(聚合提示词信息)影响。</li>
<li><strong>消融实验</strong>:替换质量标签为null prompt时防御效果下降,掩码EOS令牌则无保护作用,验证BOS令牌和质量标签的必要性。</li>
<li><strong>效率分析</strong>:运行速度为基线的2-7.5倍,GPU内存占用最低,适配消费级硬件。</li>
<li><strong>额外实验(附录)</strong>:涵盖 unseen掩码、模型迁移性、不同噪声预算/推理步数/强度参数、对抗噪声移除攻击等场景,PromptFlare在多数场景下保持最优或次优性能,鲁棒性突出。</li>
</ol>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213120242-24830236.png" class="lazyload"></p>
<h2 id="safe--safe--unsafe-exploring-how-safe-images-can-be-exploited-to-jailbreak-large-vision-language-models">Safe + Safe = Unsafe? Exploring How Safe Images Can Be Exploited to Jailbreak Large Vision-Language Models</h2>
<h3 id="introduction">Introduction</h3>
<p>通用推理能力:大型视觉语言模型(LVLMs)展现出高级推理能力,使其能够整合和解释视觉与文本输入之间的复杂关系。虽然这有助于进行复杂的内容理解和生成,但也可能导致过度解读,即模型会在安全输入中推断出非预期的关系,并生成不期望的有害输出。例如,在图1中,GPT-4o将银行与警车概念联系起来,最终生成了宣扬有害活动的内容。</p>
<p>安全滚雪球效应:近期的研究记录了在大型语言模型(LLMs)和大型视觉语言模型(LVLMs)中存在一种级联效应,即初始的错误输出会放大后续的不准确信息。通过我们在第3节中的实验,我们观察到在安全性方面存在类似的效应,即初始的不安全陈述会导致生成更多有害内容。我们将这种效应称为“安全滚雪球效应”。</p>
<h3 id="our-approach-safety-snowball-agent-ssa">Our Approach: Safety Snowball Agent (SSA)</h3>
<p>威胁模型:黑盒</p>
<h4 id="任务制定">任务制定</h4>
<p>我们的框架涉及两个主要阶段:<br>
(1)初始响应生成:在这个阶段,我们使用生成器G生成越狱图像<span class="math inline">\(v^{*}\)</span>,基于输入图像v和由生成助手A识别的预定义有害主题h。然后,我们结合v和<span class="math inline">\(v^{*}\)</span>来提示目标LVLMθ产生初始不安全响应<span class="math inline">\(y_{f}\)</span>通过应用特定主题的提示模板<span class="math inline">\(p_{f}\)</span>形成<span class="math inline">\(h \oplus p_{f}\)</span>。<br>
(2)有害滚雪球:在随后的阶段,我们利用<span class="math inline">\(y_{f}\)</span>建立的上下文来诱导进一步的不安全响应。这是通过利用特定主提示词模板<span class="math inline">\(p_{s}\)</span>用于开发<span class="math inline">\(h \oplus p_{s}\)</span>,使Θ能够生成更多不安全的响应。评估器J随后对大视觉语言模型(LVLM)的响应进行评估,以生成最终响应<span class="math inline">\(y_{s}\)</span>。<br>
形式上,智能体的任务可以表示为:</p>
<p></p><div class="math display">\[y_{s}=J \circ \Theta\left(v, v^{*} ; h \oplus p_{f}, y_{f}, h \oplus p_{s}\right), (1)
\]</div><p></p><p>其中<span class="math inline">\(y_{f}=\Theta(v, v^{*} ; h \oplus p_{f})\)</span>,<span class="math inline">\(h=A(v)\)</span> <span class="math inline">\(v^{*}=G(v, h)\)</span>,Θ是被攻击的模型</p>
<h4 id="初始响应生成">初始响应生成</h4>
<p>先前的研究表明,<strong>图像模态中的安全对齐落后于文本模态中的安全对齐</strong>。因此,给定输入图像v,我们选择使用生成器G自动获取一个越狱图像<span class="math inline">\(v^{*}\)</span>,旨在触发与'相关的潜在不安全推理。这一过程包括三个主要步骤:</p>
<ol>
<li>
<p>意图识别。为了识别图像中潜在的有害意图,我们采用先进的大型视觉语言模型(如GPT4o)作为意图分类器,通过预定义的查询从预定义的主题集H中选择有害主题。这一过程被形式化为<span class="math inline">\(h=A(v)\)</span>,其中<span class="math inline">\(h \in H\)</span>代表与视觉输入相关的有害主题。</p>
</li>
<li>
<p>图像生成。给定有害主题h,我们从工具池<span class="math inline">\(T: t=h \oplus T\)</span>中检索相应的工具t。然后,我们使用特定于工具的提示模板<span class="math inline">\(p_{t}\)</span>生成工具调用指令,即<span class="math inline">\(q_{t}=\)</span> <span class="math inline">\(A(t \oplus p_{t}, v)\)</span>。之后,我们使用工具生成或检索越狱图像。该过程可表述为:<span class="math inline">\(v=t(q_{t})\)</span>,其中<span class="math inline">\(v={v_{1}, ..., v_{k}}\)</span>。最后,我们使用CLIP作为过滤器来选择与<span class="math inline">\(q_{t}\)</span>最接近的图像。过滤过程可以表示为:</p>
</li>
</ol>
<p></p><div class="math display">\[v^{*}=arg max _{v \in v} \mathcal{S}\left(\mathcal{E}(v), \mathcal{E}\left(q_{t}\right)\right)$$    其中,$E(\cdot)$是一个嵌入函数,用于将文本和图像转换为数值向量。$S(\cdot, \cdot)$是一个相似度函数,本研究中使用的是余弦相似度。

1. 通过对越狱图像的推理进行过度解读。我们使用特定主题的提示模板$p_{f}$构建新的输入集${v, v^{*} ; h \oplus p_{f}}$,以形成$h \oplus p_{f}$。该输入旨在促使LVLM基于v和$v^{*}$生成内容。响应生成过程形式化为:
$$y_{f}=\Theta\left(v, v^{*} ; h \oplus p_{f}\right) , (3)\]</div><p></p><p>其中Θ是被攻击的模型,<span class="math inline">\(y_{f}\)</span>表示模型的生成的响应。在此过程中,越狱图像<span class="math inline">\(v^{*}\)</span>充当了一个触发器,会使模型倾向于过度解读来自不同模态的安全输入之间的关系,最终生成不期望的有害输出。</p>
<h4 id="有害滚雪球效应">有害滚雪球效应</h4>
<p>滚雪球式响应生成。我们基于初始响应<span class="math inline">\(y_{f}\)</span>生成更具危害性的响应。通过利用初始不安全答案所建立的语境,我们使用后续特定主题的提示模板<span class="math inline">\(p_{s}\)</span>来形成<span class="math inline">\(h \oplus p_{s}\)</span>。响应生成过程形式化为:</p>
<p></p><div class="math display">\[y_{s}=\Theta\left(v, v^{*} ; h \oplus p_{f}, y_{f}, h \oplus p_{s}\right) . (4)
\]</div><p></p><p>通过判断进行再生。获得<span class="math inline">\(y_{s}\)</span>后,我们指示模型判断<span class="math inline">\(y_{s}\)</span>和<span class="math inline">\(y_{p}\)</span>之间哪个响应更具危害性。如果<span class="math inline">\(y_{s}\)</span>的危害程度不超过<span class="math inline">\(y_{p}\)</span>,模型将重新生成<span class="math inline">\(y_{s}\)</span>,直到达到预期的危险水平。我们正式将一轮生成定义为:</p>
<p></p><div class="math display">\[y_{s}^{i}=\Theta\left(v, v^{*} ; h \oplus p_{f}, y_{f}, h \oplus p_{s}\right) i=0,1, ..., N, (5)
\]</div><p></p><p>其中N是最大生成轮数。</p>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213120923-1526354755.png" class="lazyload"></p>
<h3 id="discussion">Discussion</h3>
<h4 id="滚雪球式回应的危害程度">滚雪球式回应的危害程度</h4>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213121246-473955184.png" class="lazyload"></p>
<p>为了说明安全图像可能带来的潜在危害性,我们比较了各种大型视觉语言模型(LVLMs)对我们精心构建的数据集中的安全图像和MM-SafetyBench 中的不安全图像的危害性等级响应。具体而言,我们部署了SSA来从这些图像中获取越狱攻击响应。我们采用危害性评分作为指标,该评分范围为0到5(5表示最高危险等级)。该评分由GPT-4o评估,能够反映模型根据所处理内容生成有害响应的倾向。图7展示了评估结果。这表明即使没有明确的危险视觉内容,这些模型也可能被触发生成有害输出。</p>
<h4 id="激活模式相似性">激活模式相似性</h4>
<p>对于给定的输入<span class="math inline">\(w=&lt; v, w_{0}, ..., w_{t}&gt;\)</span>(其中包含图像U和一个问题),我们将不安全的越狱响应记为<span class="math inline">\(w_{u}=&lt; w_{t+1}, ..., w_{t+m}&gt;\)</span>,将安全响应记为<span class="math inline">\(w_{s}=&lt; w_{t+1}', ..., w_{t+n}'&gt;\)</span> 。其中不安全响应记为<span class="math inline">\(\bar{w}_{u}\)</span>,安全响应记为<span class="math inline">\(\bar{w}_{s}\)</span>。设<span class="math inline">\(a_{i}^{(l)}(w) \in \mathbb{R}\)</span>为提示词u的第j个标记在第l层中<span class="math inline">\(\dot{z}\)</span>号神经元的激活值。给定提示词数据集D,我们将第l层中<span class="math inline">\(\dot{z}\)</span>号神经元的不安全激活分数<span class="math inline">\(S_{i}^{(\tilde{l})}(D)\)</span>定义为不安全响应和安全响应期间激活值差异的均方根:</p>
<p></p><div class="math display">\}{\left|\overline{w}_{u}\right|}-\frac{\sum_{j=|w|}^{\left|\overline{w}_{s}\right|-1} a_{i}^{(l)}\left(\overline{w}_{s}\right)}{\left|\overline{w}_{s}\right|}\right]^{2}\right)
\]</div><p></p><blockquote>
<p>安全激活均值 - 不安全激活均值 的平方 在不同提示词下的均值</p>
</blockquote>
<p><img alt="alt text" loading="lazy" src="https://img2024.cnblogs.com/blog/3535675/202603/3535675-20260326213121629-1560780050.png" class="lazyload"></p>
<p>(a)不安全图片 安全响应和不安全响应 的激活差,证明我们找到的 “危险神经元” 和有害输出强相关<br>
(b)不安全图片和安全响应 不安全响应的激活差,证明安全图像和不安全图像通过 SSA 攻击,最终都会激活同类危险神经元</p>
<h3 id="实验-1">实验</h3>
<ol>
<li><strong>攻击对象</strong>:4个最新LVLMs(黑盒处理)——闭源GPT-4o-latest,开源Intern-VL2 40B、Qwen-VL2 72B、VILA1.5 40B;</li>
<li><strong>数据集与指标</strong>:
<ul>
<li>危险图片:MM-SafetyBench</li>
<li>安全图片:自建SafeAttack-Bench(COCO, ImageNet, Celebrity Face, Politics 经Google Cloud Vision过滤掉危险图),指标为危害度评分(0-5分);</li>
</ul>
</li>
<li><strong>基线方法</strong>:无图查询、SD生成图配对查询、排版修改查询、SD图+排版修改查询;</li>
<li><strong>核心结果</strong>:
<ul>
<li>SSA在MM-SafetyBench上大幅超越基线,GPT-4o越狱成功率达88.6%,其他模型均约88%;</li>
<li>SSA使SafeAttack-Bench中所有模型危害度评分显著提升(GPT-4o 4.45分、VILA 4.38分),“暴力”“制作非法物品”类提升最显著;</li>
</ul>
</li>
<li><strong>关键验证</strong>:消融实验证实“越狱图片+有害滚雪球”协同作用是攻击核心;案例研究验证SSA对不同场景的泛化性;</li>
<li><strong>核心结论</strong>:SSA可利用LVLMs固有特性(通用推理+安全滚雪球效应),通过安全输入实现高效越狱,对现有AI安全防护构成新挑战。</li>
</ol><br><br>
来源:https://www.cnblogs.com/dinosauria/p/19778236
頁: [1]
查看完整版本: 图片防御与lvlm攻击论文阅读笔记