利用超球嵌入来增强对抗训练
利用超球嵌入来增强对抗训练
这次介绍一篇NeurIPS2020的工作,"Boosting Adversarial Training with Hypersphere Embedding",一作是清华的Tianyu Pang。
该工作主要是引入了一种技术,称之为Hypersphere Embedding,本文将其称作超球嵌入。
该方法和现有的一些对抗训练的变种是正交的,即可以互相融合提升效果。
这里指的对抗训练的变种有 ALP, TRADE 等
对抗训练框架
首先,如下图所示,我们列出来AT以及其变种,用粉色标识出来其训练目标的差异
对抗训练框架其中, 是对抗样本,右边的对抗目标可以理解为用于生成对抗样本的误差函数。
我们可以简单地看出来这些变种的设计:
- ALP是加上了正常样本的交叉熵误差,并引入了一个正则化项, 其实就是
- TRADES则是在引入正常样本的交叉熵误差之后,将原本的对抗样本的误差做了修改,即,从原本的标签 改为正常样本的输出
HE的修改部分主要有两块:
- 在模型 上面
- 在交叉熵误差 上面
方法介绍
记号描述
这里首先给出一些基础的记号,方便后面的描述
我们考虑分类任务,记标签数量为 , 记模型为:
其中, 代表着基于模型参数 抽取出来的特征,矩阵 以及偏置 可以理解为最后的线性层,函数 是softmax函数。
我们记交叉熵误差为:
其中, 就是标签 的 one-hot 编码,也就是在 位置上为1,其余都是0。
我们使用 表示向量 和 之间的夹角
融合HE的对抗训练框架
首先,大多数的对抗训练可以写成如下的二阶段框架:
其实就是,先生成对抗样本,然后优化训练目标。
在多次迭代之后, 以及 就会逐渐收敛,为了提高这种对抗训练的性能,有一些工作将metric learning引入进对抗学习之中,不过这些工作的计算代价比较高昂,会导致一些类别偏向,在更强的对抗攻击之下仍然也是脆弱的。
相关材料:
- NeurIPS 2019: Metric learning for adversarial robustness.
- IWSBPR 2015: Deep metric learning using triplet network.
- 更强的对抗攻击:https://github.com/Line290/FeatureAttack
其实这里的motivation并不充分,给的理由仍然不够有力
接下来,直接给出HE的形式,其实就是对特征 以及权重 进行标准化
其中 ,
我们令
从而有
计算交叉熵函数的时候,引入一个变量 ,记:
其中 是一个系数,用于提高训练时候的数值的稳定性
这个 的引入是参考了CVPR2018的一篇文章,Cosface: Large margin cosine loss for deep face recognition
理论分析
首先我们定义一个向量函数
其中
引理1:给定一个对抗目标误差函数 ,令 ,利用一阶泰勒展开,可得 的解为 。进一步的,
证明:
不妨令 ,其中
从而,
在 处进行泰勒展开,得到
故
这里需要用到ICML2019 First-order Adversarial Vulnerability of Neural Networks and Input Dimension的一个结 论, 即
通过引理1,我们获得了对抗样本 对于损失函数 的影响,同时给出了 对 的方向。
引理2:令 为两个权重的差值, 为 的特征向量,便有
证明:
在引理2之上,记 是对抗样本 的预测输出,其中
基于一些先验的观测,通常预测输出标签的概率值(Top1 的概率)要远大于其他标签的概率值
于是有
其中
令 , 并且 不依赖于
从而,每次攻击的迭代下, 的增量为
而先前介绍的方法,会使得 ,进而使得攻击的样本更贴近分类边界
如上图所示, 会影响下降的方向,导致生成的对抗样本产生的作用比较差,进而抑制了对抗训练的效率
实验分析
首先是CIFAR-10上的白盒攻击测试
cifar10-whitebox可以看到,加了HE之后防御效果会有一定的提升,少数情况下会下降
然后是ImageNet上的测试
imagenet相比FreeAT,防御效果会比较明显