如何实现图像的纯化与抗纯化之间的平衡策略?

摘要:Purification and Anti-purification 相关工作 纯化方法利用生成模型在分类前去除对抗噪声,从而增强对对抗性操作的抵抗能力。 DiffPure 在此基础上,DiffPure利用扩散模型的前向与反向过程来净化对抗
Purification and Anti-purification 相关工作 纯化方法利用生成模型在分类前去除对抗噪声,从而增强对对抗性操作的抵抗能力。 DiffPure 在此基础上,DiffPure利用扩散模型的前向与反向过程来净化对抗样本。 对抗训练,即在对抗样本上训练神经网络。然而,大多数对抗训练方法只能防御他们所训练的特定攻击。对于未知的攻击,但它们的性能显着下降。 对抗净化依靠生成模型在分类之前净化受到对抗扰动的图像。与对抗训练方法相比,对抗净化可以以即插即用的方式防御未知的威胁,而无需重新训练分类器。 在生成过程中,扩散模型净化了噪声样本,起到了与净化模型类似的作用。它们良好的生成质量和多样性确保纯化的图像紧密遵循干净数据的原始分布。此外,扩散模型中的随机性可以形成强大的随机防御。这些特性使扩散模型成为生成对抗净化的理想候选者。 因此,作者提出了一种新的对抗净化方法,称为DiffPure,给定一个预先训练的扩散模型,我们的方法包括两个步骤: 我们首先通过较小扩散时间步长的前向过程向对抗样本添加噪声; 然后求解逆随机微分方程(SDE)以从扩散的对抗样本中恢复干净的图像。 随机微分方程(Stochastic Differential Equation, SDE)是描述受连续随机扰动影响的动态系统演化的数学工具。它在普通微分方程(ODE)基础上引入随机过程(通常是布朗运动),使解本身成为随机过程(每次求解产生不同轨迹),而非确定性函数 SDE 与 DDPM 的关系:DDPM 是 VP-SDE 在均匀时间网格上的欧拉离散化特例。当离散步长 Δt → 0 时,DDPM 的前向过程严格收敛于 VP-SDE。 该方法中的一个重要设计参数是扩散时间步长的选择,因为它代表了前向过程中添加的噪声量。 理论分析表明,噪声需要足够高以消除对抗扰动,但又不能太大以破坏纯化图像的标签语义。 GridPure 此外,GridPure 提出了一种基于网格的迭代扩散方法,专为高分辨率图像设计,提升了净化效果。 这篇论文指出,现有的 DiffPure 类方法存在两个致命弱点:结构丢失和分辨率瓶颈。 为什么 DiffPure 等现有方法表现不佳 为了保护数据,Glaze/AdvDM 添加的扰动 \(\delta\) 通常幅度很大且集中在高频细节(纹理、边缘)。为了彻底抹除 \(\delta\),DiffPure 必须将图像扩散到较深的时间步 \(t\)(即加入大量噪声)。 当 \(t\) 较大时,原始图像的结构信息(如人脸的具体五官形状、画作的笔触走向)大部分已被噪声覆盖。此时,扩散模型在反向生成时,不再是在“恢复”原图,而是在根据提示词(或隐式先验)“重绘”一张新图。 生成的图像虽然干净了,但有身份特征丢失(人脸变样)、艺术风格改变(笔触被平滑化)等问题。 分辨率受限:显存爆炸与训练数据偏差 显存瓶颈:大多数开源的强效扩散模型(如 SD 1.5/2.1)原生训练分辨率仅为 \(512 \times 512\)。强行在高分辨率下运行会导致 OOM(显存溢出)或需要极昂贵的计算资源。 分布偏移:如果直接将高分辨率图像缩放到 \(512 \times 512\) 进行 DiffPure 处理,然后再放大,会导致细节模糊。更重要的是,扩散模型在低分辨率下学到的先验分布与高分辨率细节不匹配,直接生成高分辨率往往会产生伪影或不连贯的结构。 GrIDPure 是如何解决这些问题的? GrIDPure (Grid-based Iterative Diffusion Pure) 核心思想是:分而治之(网格化) + 小步快跑(迭代混合)。 基于网格的裁剪策略 (Grid-based Cropping) —— 解决分辨率问题 GrIDPure 不再一次性处理整张大图,而是采用“分块处理,全局整合”的策略: 操作步骤: 将高分辨率输入图像 \(x_{adv}\) 切割成多个重叠的小块(Patches),例如 \(512 \times 512\)。 对每个小块独立执行 DiffPure 流程。 平均合并策略 (Average Merging) —— 解决边界伪影 问题:简单的拼接会在网格边界处产生明显的接缝(Seams),因为相邻块的去噪过程是独立的,边缘像素可能不连续。 GrIDPure 方案: 在切割时设置重叠区域 (Overlap)。 在重组时,对于重叠区域的像素,采用加权平均(通常是距离权重,离中心越近权重越高)进行融合。 小步迭代 DiffPure (Small-step Iterative DiffPure) —— 解决结构丢失 传统 DiffPure 的做法:一步到位。
阅读全文