对抗样本有哪些经典baselines?

摘要:扩散模型对抗样本经典baselines baselines: AdvDM(+) [30] [ICML23] AdvDM(-) [59] [ICLR24] PhotoGuard [40] [Arxiv23] Mist [29
扩散模型对抗样本经典baselines baselines: AdvDM(+) [30] [ICML23] AdvDM(-) [59] [ICLR24] PhotoGuard [40] [Arxiv23] Mist [29] [Arxiv23] SDS(+) [59] [ICLR24] SDS(-) [59] [ICLR24] SDTS(-) [59] [ICLR24] Adversarial Example Does Good - AdvDM(+) 背景 传统对抗样本:通常针对分类器,目标是让模型把“猫”认成“狗”。 扩散模型:扩散模型不是直接分类,而是先提取特征,再基于特征生成新图像。 扩散模型的对抗样本:阻止扩散模型正确提取图像的特征。如果特征提取错了,生成的图像就会崩坏,从而保护原图的版权(风格或内容不被模仿)。 扩散模型的对抗样本 作者将针对扩散模型的对抗样本 \(x'\) 定义为: \[x' = x + \delta \] 其中 \(x\) 是原图,\(\delta\) 是人眼不可见的微小扰动(满足 \(\|\delta\| \le \epsilon\))。 优化目标: 我们要找到一个 \(\delta\),使得扩散模型认为 \(x'\) 是“真实数据”的概率 \(p_\theta(x')\) 最小化。 \[\delta := \arg \min_{\delta} p_\theta(x + \delta) \] 直观理解:让这张加了扰动的图,在扩散模型眼里变得“极其不自然”、“不可能由该模型生成”。 难点:然而,在扩散模型中,\(p_{\theta}\)实际上是无法计算的。借助潜变量\(p_{\theta}(x)\),我们可以通过蒙特卡洛方法估计\(p_{\theta}(x+\delta)\)。为此,我们展开(涉及所有时间步的潜变量 \(x_{1:T}\)),无法直接计算。 \[p_\theta(x) = \int p_\theta(x_{0:T}) dx_{1:T} \] 我们将对抗样本\(x+\delta\)记为\(x'\),通过在\(x_{1: T}\)的不同采样过程中最小化\(p_{\theta}(x_{0: T})\),我们近似地最小化了\(p_{\theta}(x')\)。 最终优化目标变成了最大化扩散模型的训练损失函数 \(\mathcal{L}_{DM}\) 的期望: \[\max_{\delta} \mathbb{E}_{x'_{1:T} \sim u(x'_{1:T})} [\mathcal{L}_{DM}(x', \theta)] \] 直观理解:如果能让模型在去噪过程中每一步都犯较大的错,那么这张图对模型来说就是“对抗样本”。 AdvDM 算法:基于蒙特卡洛的生成方法 算法公式 第 \(i+1\) 步的对抗样本更新公式为: \[x^{(i+1)}_0 = x^{(i)}_0 + \alpha \cdot \text{sgn}(\nabla_{x^{(i)}_0} \mathcal{L}_{DM}(\theta)) \] \(\alpha\):步长。 \(\text{sgn}\):符号函数(只取梯度方向,限制步长)。 算法流程(附录中的AdvDM具体实现) 初始化 \(x^{(0)}_0\) 为原图。 循环 \(N\) 次(蒙特卡洛采样次数): 从后验分布 \(q(x_{1:T}|x^{(i)}_0)\) 中采样一条噪声轨迹。 计算当前轨迹下的损失梯度。 更新图像:\(x \leftarrow x + \text{step} \times \text{gradient}\)。 裁剪扰动,确保 \(\|x - x_{original}\|_\infty \le \epsilon\)。 输出最终的对抗样本 \(x'_0\)。 评估指标 使用生成图像 \(x_g\) 与原图数据集的分布差异来衡量: FID (Fréchet Inception Distance):FID 衡量的是两组图像在特征空间中的分布距离。将所有原图和 所有生成图分别通过 Inception-V3,得到两组特征向量集合越高越好(表示生成分布与真实分布差异大,攻击效果好)。 Precision (精确率):衡量的是生成图像中有多少比例是“高质量”且“逼真”的(即落在真实数据流形内的比例)。超球体的并集,构成了真实数据的流形区域。越低越好(表示生成的图像中,属于真实图像特征的比例低,即模型没能学到真东西)。
阅读全文