最近在研究对抗样本的迁移能力,但发现目前很少有文章解释迁移性产生的原因。发现了这篇论文,对迁移性提出了一种新的解释: 对抗扰动不是噪声,而是一种人类无法察觉或理解的特征,作者称之为non-robust feature。不同的网络可能学习到相同的non-robust feature, 因此导致对抗样本在不同模型之间迁移。
论文链接:
https://arxiv.org/pdf/1905.02175.pdfhttps://arxiv.org/pdf/1905.02175.pdf
作者除了提出新的假设,还提出了一种验证方法: 通过分离robust feature和non-robust feature,作者可以构建两个数据集。 一个是robust dataset, 在上面训练的模型即使采用正常的训练框架(不引入对抗训练), 模型仍然对对抗样本有一定的抵抗能力。一个是non-robust dataset, 在上面训练的模型虽然也能在测试集上表现出良好的泛化能力,但是模型对对抗样本的抵抗力比较差。如下图所示。
那么怎么分离robust feature和non-robust feature呢,作者提出利用一个训练好的鲁邦模型C,使得
其中Fc是鲁邦特征集合,在这里作者用鲁邦模型的倒数第二层的输出作为Fc. D是原始的训练数据集,Dr是构建的鲁邦数据集。所以在实际优化的时候,优化的是一下这个公式:
其中g(x)就是鲁棒模型的倒数第二层的输出。
那么怎么让和Fc无关的特征为0呢,作者这里把xr初始化为和x的label不同的图片,这样xr本身一开始不包含和x有关的特征。
那么怎么获得non-robust特征呢,作者这里是直接把鲁邦模型C替换成了标准模型。由于x0和原来的x的label不同,因此non-robust dataset更类似于对抗样本,但是在其上训练的模型却可以正确的分类测试数据集。如下图所示:
理论分析
除此之外,作者还构建了从高斯分布采样的数据集进行理论分析
根据理论分析 作者得出三个结论:
(1)非鲁邦特征源于度量的不对齐。对手使用的是l2度量,而训练使用的是Mahalanobis distance. 由于度量的不同,l2度量在某个特定方向上的小的扰动,可能导致输出的特征发生大的改变。
(2)当允许的扰动变大时,预测的方差矩阵越来越接近单位阵,表明分类器对某个特定方向变得不敏感,而是关注整体和均值。
(3)鲁邦模型的梯度变得更加语义可解释。例如在高斯分布的例子中,梯度的方向(垂直于分类边界)和均值的方向变得对齐。