阅读与实践:EXPLAINING AND HARNESSING
1、主要观点
对抗样本 --是指源输入加入一点不可察觉性的扰动,却能使模高置信度的分类错误。
早期对这种线性的解释是非线性和过拟合。
但是,我们却认为:之所以对抗样本会造成网络的这种不稳定性,原因是网络的线性特性
2、对抗样本的线性解释
对于许多问题,输入的特征的精度是有限制。如用8个bits编码的数字图片,它的每一个像素值都在1到255之间,不在这区间内的值都讲没截断掉。因为特征的精度是受限制的,所以如果每个元素的扰动都小于特征的精度的话,分类器就不应该把和分成不同的类别。形式化一点的讲,对于一个分类比较好的分类器,我们希望它在时对和赋予相同的标签。
现在分析一下线性关系如何会产生对抗样本。考虑权重向量和对抗样本的点击关系:
上面公式看出,对抗的扰动造成的激活增长量。作者提出,通过让
使得最大化。如果有维,且每一个权重向量的元素的均量维,那么activation的增长便是。又因为不会随着问题的维度的增长而增加,然而由扰动造成的activate的增长却会随着线性地增加。因此对于高维的问题,即便输入加入了无限小的扰动,其结果也会产生比较大的变化。
这个解释表明:当输入的维度足够大时,一个简单的线性模型是能够产生对样样本的。
其实这篇文章只是提出模型的线性关系也能产生对抗样本,没说对抗样本就是因为模型的太线性而产生的。
3、非线性模型的线性扰动
根据对抗样本的线性解释的观点,作者提出了一种快速产生对抗样本的方法:FGSM。
作者假设:神经网络是太线性了以至于不能抵御对抗扰动。像是LSTM、ReLU和maxout 网络等都是为了让模型更线性一点而设计出来的(利于计算)。然而这些线性行为有可能反而会破坏神经网络。
假设是模型的参数,是输入,是目标输出。是神经网络的误差函数。作者通过在周围线性化误差函数,得到一个可优化的max-norm constrained扰动:
这个扰动是永远小于或等于(也就是说输入误差控制在一定范围内,希望输出结果变化比较大)
以上结果表明:简单的算法能够产生对抗样本,它能为我们对对抗样本的线性解释提供有力的证据。
4、线性模型的对抗训练与权重衰减的比较
作者用的线性模型是:逻辑回归。
针对逻辑回归这个模型,它的FGSM是明确的(显示表示)。
假如去训练一个逻辑回归去识别标签:,,其中就是逻辑sigmoid函数了。可以通过计算下面公式的梯度来训练模型:
其中是softplus函数。应用FGSM算法,可以得到对抗版本的逻辑回归的损失函数:
(读者如果真的按论文去计算这个式子,会发现计算出来的结果跟作者的不太一样。但按论文的公式是可以训练并得到结果的。)
值得注意的是,这对抗版本的损失函数,它跟L1正则化好像。但是却又不一样。(也许对抗训练就是起来正则作用??)。L1正则化是加载激活函数作用之后,而不是加在激活函数之前。也就说:如果网络节点饱和了,这种惩罚作用就会消失。(这个挺有意思的。。。)
5、深度网络的对抗训练
作者提出:深度网络可能含有能抵抗对抗样本的函数。因为已经证明:只要网络的隐藏层节点足够多,该网络是能逼近任意函数的。
文章给出了一个根据FGSM算法改进损失函数的方法:
这个公式也挺好理解,前一项正常样本的分类,后一项是根据该样本得到的对抗样本,最终是希望这两种样本都是分类正确。
待续。。。