对抗性样本本质探讨与技术构建

本文深入分析对抗性样本的产生机制,提出新型非迁移性对抗样本构建方法,通过集成分类器梯度解耦技术消除特征泄漏,并在CIFAR10数据集上验证其有效性,同时探讨数据分布中非鲁棒特征的存在性问题。

对抗性样本本质探讨与技术构建

背景

多数研究者将Ilyas等人的观点解读为“对抗性样本不是缺陷而是特征”。Ilyas等人假设存在两种可能性:

世界1:对抗性样本利用与分类无关的方向(“缺陷”)
分类器在非自然图像分布上表现不佳,对抗性样本出现在任意方向,与真实数据分布无关。

世界2:对抗性样本利用分类有用方向(“特征”)
对抗性样本出现在“分布内”方向,包含目标类特征。例如将狗图像扰动为猫的扰动方向与猫特征相关,且该扰动可迁移到其他猫狗分类器。

本文核心贡献在于证明这两种世界并非互斥——标准PGD方法发现特征,但缺陷同样大量存在。

非迁移性定向对抗样本构建

方法设计

设${f_i: \mathbb{R}^n \to \mathcal{Y}}i$为与目标分类器$f$解决相同分类问题的集成分类器(例如从不同随机初始化训练的ResNet18集合)。对于输入样本$(x,y)$和目标类$y{\text{targ}}$,通过迭代更新寻找对抗攻击,但梯度方向改为:

$$x_{t+1} \leftarrow \Pi_\varepsilon \left( x_t - \alpha \left( \nabla_x L(f, x_t, y_{\text{targ}}) + \mathbb{E}_i [\nabla_x L(f_i, x_t, y)] \right) \right)$$

其中$\Pi_\varepsilon$为$x$周围$\varepsilon$球的投影操作。该损失函数鼓励找到对$f$对抗但对集成${f_i}$非对抗的样本。

实验结果

在CIFAR10上训练ResNet18作为目标分类器$f$,集成10个随机初始化的ResNet18。测试针对$f$的定向攻击迁移到新模型的成功率:

L∞攻击结果

攻击方法 攻击成功率 迁移成功率
PGD 99.6% 52.1%
本文方法 98.6% 0.8%

L2攻击结果

攻击方法 攻击成功率 迁移成功率
PGD 99.9% 82.5%
本文方法 99.3% 1.7%

无特征对抗样本

复制Ilyas等人的“非鲁棒特征足以实现标准分类”实验(第3.2节),但使用本文方法构建的对抗样本时实验失败:

L∞攻击下的测试准确率

攻击方法 CIFAR测试准确率$(X,Y)$ 偏移CIFAR测试准确率$(X,Y+1)$
PGD 23.7% 40.4%
本文方法 2.5% 75.9%

L2攻击下的测试准确率

攻击方法 CIFAR测试准确率$(X,Y)$ 偏移CIFAR测试准确率$(X,Y+1)$
PGD 33.2% 27.3%
本文方法 2.8% 70.8%

对抗方块:来自鲁棒特征的对抗样本

通过玩具问题证明即使真实数据分布没有“非鲁棒特征”,对抗样本仍可出现。定义分布如下:

随机选择标签$Y \in {\pm 1}$,定义: $$X := \begin{cases} (\vec{+1} + \vec{\eta}\varepsilon) \cdot \eta & \text{if } Y=1 \ (\vec{-1} + \vec{\eta}\varepsilon) \cdot \eta & \text{if } Y=-1 \end{cases}$$

其中$\vec{\eta}_\varepsilon \sim [-0.1, +0.1]^d$为均匀L∞像素噪声,$\eta \in {\pm 1} \sim \text{Bernoulli}(0.1)$为10%标签噪声。

使用10000训练图像训练ResNet18至99.9%训练准确率,所得分类器高度非鲁棒:$\varepsilon=0.01$扰动足以翻转几乎所有测试样本的类别。

附加说明:通过对抗样本的数据投毒

Ilyas等人的“非鲁棒特征”实验直接暗示数据投毒攻击:允许对手不可察觉地更改训练集中每个图像时,可破坏学习分类器的准确性,并可对分类器输出标签应用任意排列(如交换猫和狗)。

实验细节

  • 使用交叉熵损失
  • 图像归一化到$[0,1]^{32\times32\times3}$
  • L2攻击:$\varepsilon=2.5$,步长$\alpha=0.5$,10步PGD
  • L∞攻击:$\varepsilon=8/255$,$\alpha=2/255$,10步PGD

投影梯度下降(PGD)算法

  1. 输入:分类器$f$,输入样本$(x,y)$,目标类$y_{\text{targ}}$
  2. 初始化:$x_0 \leftarrow x$
  3. 迭代步骤:沿目标类梯度方向步进 $$x_{t+1} \leftarrow \Pi_\varepsilon [x_t - \alpha \nabla_x L(f, x_t, y_{\text{targ}})]$$ 其中$\alpha>0$为步长,$L(f,x,y)$为分类器$f$在输入$x$、标签$y$上的损失,$\Pi_\varepsilon$为$x$周围$\varepsilon$球的投影操作。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计