Explaining and Harnessing Adversarial Examples论文解读

摘要

包括神经网络在内的一些机器学习模型,会错分对抗样本并以高置信度输出错误答案。早期对这种现象的解释集中在非线性和过拟合上。相反,我们认为神经网络易受对抗性干扰的主要原因是其线性特性。这一解释得到了新的定量实验的支持,同时首次解释了关于它们的一个有趣的事实:对抗样本对模型结构以及训练集具有泛化性。此外,这种观点还提供了一种生成对抗样本的的简单而快速的方法。通过这种方法为对抗训练提供样本,我们减少了MNIST数据集上maxout网络的test error。

1 介绍

Szegedy等人(2014b)提出了一个有趣的发现:一些机器学习模型,包括SOTA神经网络,容易受到对抗样本的攻击。也就是说,这些机器学习模型对对抗样本进行了错误分类,这些对抗样本与从数据分布中提取的正确分类样本仅略有不同。在许多情况下,在训练数据的不同子集上训练的具有不同结构的各种模型会对同一个对抗样本进行错分。这表明对抗样本暴露了我们训练算法中的fundamental blind spots。

存在这些对抗样本的原因是一个谜,speculative explanations表明,这是由于extreme nonlinearity of deep neural networks,同时可能伴有insufficient model averaging以及insufficient regularization of the purely supervised learning problem。我们证明这些speculative hypotheses是不必要的。高维空间中的linear behavior足以引起对抗样本。这种观点使我们能够设计一种快速生成对抗样本的方法,从而使对抗训练变得切实可行。我们表明,对抗训练相比仅使用dropout可以提供额外的正规化优benefit。dropout、预训练和model averaging等通用正则化策略不会显著降低模型对对抗样本的脆弱性,但改用RBF网络等非线性模型族可以做到这一点。

我们的解释提出了 fundamental tension between designing models that are easy to train due to their linearity and designing models that use nonlinear effects to resist adversarial perturbation。从长远来看,通过设计更强大的优化方法,可以成功地训练更多的非线性模型,从而避免这种tradeoff。

2 相关工作

zegedy等人(2014b)展示了神经网络和相关模型的各种有趣特性。与本文最相关的内容包括:

  • Box-constrained L-BFGS can reliably find adversarial examples.
  • 在一些数据集上,例如ImageNet,对抗样本与原始样本非常接近,以至于肉眼无法区分差异。
  • 同一个对抗样本经常被具有不同结构或者在同一训练集的不同子集上训练得到的各种分类器错误分类。
  • 浅层softmax回归模型也容易受到对抗样本的影响
  • 在对抗样本上进行训练可以正则化模型-然而,由于在获取对抗样本时需要进行昂贵的计算,因此这种方式并不实用。

这些结果表明,基于现代机器学习技术的分类器,即使在测试集上已经获得了优异性能,也没有学习到决定正确输出标签的underlying concepts。取而代之的是,这些算法建立了一个Potemkin village,它可以很好地处理naturally occuring数据,but is exposed as a fake when one visits points in space that do not have high probability in the data distribution。这尤其令人失望,因为计算机视觉中的一种流行方法是使用convolutional network features as a space where Euclidean distance approximates perceptual distance。如果感知距离非常小的图像对应于网络输出中完全不同的类别,那么这种相似性显然是有缺陷的。

这些结果通常被解释为深层网络中的一个缺陷,尽管线性分类器也有同样的问题。我们认为了解这一缺陷是一个修复它的机会。事实上,Gu&Rigazio(2014)和Chalupka等人(2014)已经开始了设计能够抵抗对抗扰动的模型的第一步,尽管还没有一个模型能够成功地做到这一点并同时在干净的输入上保持SOTA准确性。

3 对对抗样本的线性解释

我们首先解释线性模型中存在的对抗样本。

在许多问题中,一个独立的输入特征的精度通常是有限的。例如,数字图片通常仅实用8位来表示一个像素,所以它们会 discard all information below 1/255 of the dynamic range。由于特征的精度受到限制, it is not rational for the classifier to respond differently to an input x x x than to an adversarial input x ~ = x + η \tilde{x}=x+\eta x~=x+η if every element of the perturbation η \eta η is smaller than the precision of the features. 对于problems with well-separated classes,我们期望分类器能够在 x x x x ~ \tilde{x} x~ ∥ η ∥ ∞ < ϵ \Vert\eta\Vert_{\infty}<\epsilon η<ϵ时对两者分配同样的类别,这里 ϵ \epsilon ϵ is small enough to be discarded by the sensor or data storage apparatus associated with our problem.

考虑权重向量 w w w以及对抗样本 x ~ 间 的 d o t p r o d u c t \tilde{x}间的dot product x~dotproduct

w T x ~ = w T x + w T η w^T\tilde{x}=w^Tx+w^T\eta wTx~=wTx+wTη

对抗扰动导致activation增加 w T η w^T\eta wTη。我们可以通过指定 η = sign ( w ) \eta=\text{sign}(w) η=sign(w),在 η \eta η受最大范数约束下最大化该增加。如果 w w w n n n个维度,且权重向量的一个元素的平均大小为 m m m,则activation将增加 ϵ m n \epsilon mn ϵmn。由于 ∥ η ∥ ∞ \Vert\eta\Vert_{\infty} ηdoes not grow with the dimensionality of the problem,但 η \eta η的扰动引起的activation变化可以随 n n n线性增长,然后对于高维问题,我们可以对输入进行许多微小的更改,这些更改加起来等于对输出的一个很大的更改。我们可以将其视为一种“accidental steganography”,其中线性模型被迫专门关注与其权重最接近的信号,即使存在多个信号,并且其他信号的振幅要大得多。

这种解释表明,如果一个简单的线性模型的输入具有足够的维度,那么它可能会存在对抗样本。先前对对抗样本的解释援引了神经网络的假设属性,例如它们假定的highly non-linear nature。我们基于线性的假设更简单,也可以解释为什么softmax回归容易受到对抗扰动的影响。

4 非线性模型的线性扰动

从线性视角看待对抗样本提供了一种快速生成它们的方法。我们假设神经网络过于线性,无法抵抗线性对抗扰动。LSTM、ReLUs和maxout网络都被有意设计为以非常线性的方式运行,以便更容易进行优化。出于同样的原因,许多非线性模型(如sigmoid网络)会被仔细调整,使其大部分时间都处于非饱和、更线性的状态。这种线性行为表明cheap, analytical perturbations of a linear model should also damage neural networks。

我们使用 θ \theta θ表示模型的参数, x x x表示模型输入, y y y表示 x x x的标签, J ( θ , x , y ) J(\theta,x,y) J(θ,x,y)表示用于训练网络的cost。我们可以线性化当前 θ \theta θ附近的cost function,获取an optimal max-norm constrained pertubation of:

η = ϵ sign ( ∇ x J ( θ , x , y ) ) \eta=\epsilon\text{sign}(\nabla_xJ(\theta,x,y)) η=ϵsign(xJ(θ,x,y))

我们将这种方式称为生成对抗样本的“fast gradient sign method”。注意我们所需的梯度可以通过反向传播有效进行计算。

我们发现,这种方法可以有效使得各种各样的模型对输入进行错误分类。图1展示了ImageNet上的一个例子。

在这里插入图片描述
我们发现,使用 ϵ = 0.25 \epsilon=0.25 ϵ=0.25,我们使浅层softmax分类器在MNIST上测试集的错误率为99.9%,且平均置信度为79.3%。在相同的设定下,maxout网络错误分类了89.4%的对抗样本,平均置信度为97.6%。类似地,在预处理版本的CIFAR-10测试集上使用卷积maxout网络时,使用 ϵ = 0.1 \epsilon=0.1 ϵ=0.1,我们获得87.15%的错误率和96.6%的平均置信度。其他生成对抗性示例的简单方法也是可能的。例如,我们还发现,rotating x x x by a small angle in the direction of the gradient reliably produces adversarial examples。

简单的算法能够生成错误分类的对抗样本,这一事实为我们解释线性导致的对抗样本提供了证据。这些算法还可以作为一种加速对抗训练甚至只是分析训练网络的方法。

5 线性模型对抗训练 versus weight decay

我们可以考虑的最简单的模型是Logistic回归。在这种情况下,fast gradient sign方法是精确的。我们可以利用这个案例来获得一些直观理解,了解如何在简单的设定下生成对抗样本。图二展示了部分图像:

在这里插入图片描述

如果我们使用 P ( y = 1 ) = σ ( w T x + b ) P(y=1)=\sigma(w^T x+b) P(y=1)=σ(wTx+b)来训练一个模型识别标签 y ∈ { − 1 , 1 } y\in\{-1,1\} y{1,1},这里 σ ( z ) \sigma(z) σ(z)是logistic sigmoid function,那么训练过程包含gradient descent on:

E x , y ∼ p d a t a ζ ( − y ( w T x + b ) ) \mathbb{E}_{x,y\sim p_{data}}\zeta(-y(w^Tx+b)) Ex,ypdataζ(y(wTx+b))

这里 ζ ( z ) = l o g ( 1 + e x p ( z ) ) \zeta(z)=log(1+exp(z)) ζ(z)=log(1+exp(z))是softplus函数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值