美文网首页
阅读与实践:EXPLAINING AND HARNESSING

阅读与实践:EXPLAINING AND HARNESSING

作者: winddy_akoky | 来源:发表于2019-07-18 22:07 被阅读0次

1、主要观点

对抗样本 --是指源输入加入一点不可察觉性的扰动,却能使模高置信度的分类错误。

早期对这种线性的解释是非线性和过拟合。

但是,我们却认为:之所以对抗样本会造成网络的这种不稳定性,原因是网络的线性特性

2、对抗样本的线性解释

对于许多问题,输入的特征的精度是有限制。如用8个bits编码的数字图片,它的每一个像素值都在1到255之间,不在这区间内的值都讲没截断掉。因为特征的精度是受限制的,所以如果每个元素的扰动\eta都小于特征的精度的话,分类器就不应该把x\tilde{\boldsymbol{x}}=\boldsymbol{x}+\boldsymbol{\eta}分成不同的类别。形式化一点的讲,对于一个分类比较好的分类器,我们希望它在\|\eta\|_{\infty}<\epsilon时对x\tilde{\boldsymbol{x}}=\boldsymbol{x}+\boldsymbol{\eta}赋予相同的标签。

现在分析一下线性关系如何会产生对抗样本。考虑权重向量\boldsymbol{w}和对抗样本\tilde{\boldsymbol{x}}的点击关系:
\boldsymbol{w}^{\top} \tilde{\boldsymbol{x}}=\boldsymbol{w}^{\top} \boldsymbol{x}+\boldsymbol{w}^{\top} \boldsymbol{\eta}
上面公式看出,对抗的扰动造成w^{\top} \eta的激活增长量。作者提出,通过让
\eta=\operatorname{sign}(\boldsymbol{w})使得w^{\top} \eta最大化。如果\boldsymbol{w}n维,且每一个权重向量的元素的均量维m,那么activation的增长便是\epsilon m n。又因为\|\eta\|_{\infty}不会随着问题的维度的增长而增加,然而由扰动\eta造成的activate的增长却会随着n线性地增加。因此对于高维的问题,即便输入加入了无限小的扰动,其结果也会产生比较大的变化。

这个解释表明:当输入的维度足够大时,一个简单的线性模型是能够产生对样样本的。
其实这篇文章只是提出模型的线性关系也能产生对抗样本,没说对抗样本就是因为模型的太线性而产生的。

3、非线性模型的线性扰动

根据对抗样本的线性解释的观点,作者提出了一种快速产生对抗样本的方法:FGSM。
作者假设:神经网络是太线性了以至于不能抵御对抗扰动。像是LSTM、ReLU和maxout 网络等都是为了让模型更线性一点而设计出来的(利于计算)。然而这些线性行为有可能反而会破坏神经网络。

假设\theta是模型的参数,x是输入,y是目标输出。J(\boldsymbol{\theta}, \boldsymbol{x}, y)是神经网络的误差函数。作者通过在\theta周围线性化误差函数,得到一个可优化的max-norm constrained扰动:
\boldsymbol{\eta}=\epsilon \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J(\boldsymbol{\theta}, \boldsymbol{x}, y)\right)
这个扰动是永远小于或等于\|\eta\|_{\infty}(也就是说输入误差控制在一定范围内,希望输出结果变化比较大)

image.png

以上结果表明:简单的算法能够产生对抗样本,它能为我们对对抗样本的线性解释提供有力的证据。

4、线性模型的对抗训练与权重衰减的比较

作者用的线性模型是:逻辑回归。
针对逻辑回归这个模型,它的FGSM是明确的(显示表示)。
假如去训练一个逻辑回归去识别标签:y \in\{-1,1\}P(y=1)=\sigma\left(\boldsymbol{w}^{\top} \boldsymbol{x}+b\right),其中\sigma(z)就是逻辑sigmoid函数了。可以通过计算下面公式的梯度来训练模型:
\mathbb{E}_{\boldsymbol{x}, y \sim p_{\text { data }}} \zeta\left(-y\left(\boldsymbol{w}^{\top} \boldsymbol{x}+b\right)\right)
其中\zeta(z)=\log (1+\exp (z))是softplus函数。应用FGSM算法,可以得到对抗版本的逻辑回归的损失函数:
\mathbb{E}_{\boldsymbol{x}, y \sim p_{\text { data }}} \zeta\left(y\left(\epsilon\|\boldsymbol{w}\|_{1}-\boldsymbol{w}^{\top} \boldsymbol{x}-b\right)\right)
(读者如果真的按论文去计算这个式子,会发现计算出来的结果跟作者的不太一样。但按论文的公式是可以训练并得到结果的。)

值得注意的是,这对抗版本的损失函数,它跟L1正则化好像。但是却又不一样。(也许对抗训练就是起来正则作用??)。L1正则化是加载激活函数作用之后,而不是加在激活函数之前。也就说:如果网络节点饱和了,这种惩罚作用就会消失。(这个挺有意思的。。。)

5、深度网络的对抗训练

作者提出:深度网络可能含有能抵抗对抗样本的函数。因为已经证明:只要网络的隐藏层节点足够多,该网络是能逼近任意函数的。

文章给出了一个根据FGSM算法改进损失函数的方法:
\tilde{J}(\boldsymbol{\theta}, \boldsymbol{x}, y)=\alpha J(\boldsymbol{\theta}, \boldsymbol{x}, y)+(1-\alpha) J\left(\boldsymbol{\theta}, \boldsymbol{x}+\epsilon \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J(\boldsymbol{\theta}, \boldsymbol{x}, y)\right)\right.

这个公式也挺好理解,前一项正常样本的分类,后一项是根据该样本得到的对抗样本,最终是希望这两种样本都是分类正确。


待续。。。

相关文章

网友评论

      本文标题:阅读与实践:EXPLAINING AND HARNESSING

      本文链接:https://www.haomeiwen.com/subject/hdgmkctx.html