【论文快读】Explaining and Harnessing Adversarial Examples(2015)

作者:Ian J. Goodfellow, Jonathon Shlens & Christian Szegedy
链接:https://arxiv.org/abs/1412.6572
摘要:
【论文快读】Explaining and Harnessing Adversarial Examples(2015)
机器学习模型中,对抗样本的存在实很普遍的。早期认为,这一现象存在的原因实非线性和过拟合。本文发现了高维模型的线性性质对于对抗样本产生具有重要作用。而dropout、pretraining和model averaging等正则化方法有效,正好是因为它们增加了模型的非线性。基于此,借助简单快速生成的对抗样本,可以减小maxout网络的误差。

对抗样本的线性解释

在实际example space中,由于模拟信号数字化的存在,真实样本x到扰动样本x~=x+η的误差是不可避免的。所以我们期望当误差足够小(||η||<ϵ)时,分类依然正确。对于线性模型w,原始误差η产生的分类误差为wTη,计算结果为ϵ×dimensionw×average_magnitudew,即:即使噪声再小,高维空间中也会随着维度线性膨胀(“accidental steganography,”)。所以softmax回归同样易被攻击。

非线性模型

LSTM、ReLU、maxout网络都是线性的,sigmoid也大多工作在线性区域,所有这些具有线性性质的模型都能以下FGSM方法简单获得对抗样本:

η(x)=ϵsign(xJ(θ,x,y))

这很容易理解:把样本朝着增加成本函数的方向拉。这一方案在实验中也取得了很好的效果。

对抗训练

以逻辑回归为例,用如下的softplus(来自交叉熵损失)做cost function:

E[ζ(y(wTx+b))]

考虑到对抗训练之后,wTsign(w)=||w||1,cost function改为以下面的形式:
E[ζ(y(ϵ||w||1wTxb))]

(不是L1正则化!!!正则化是暂时的,会随着训练而消亡,对抗训练是永恒的,始终在弱化模型)

在深度网络中,对抗训练使用如下的cost function:

J~(θ,x,y)=αJ(θ,x,y)+(1α)J(θ,x+ϵsign(xJ(θ,x,y)),y)
其中α=0.5即可。

一些分析

1.为什么对抗样本的存在如此广泛?
答:只要η的方向正确,ϵ足够大,就能找到对抗样本,实验证明,以ϵ为自变量,对抗样本呈抱团出现。
2.为什么干扰可以跨模型?
答:作者假设神经网络是一些基于相同训练集的线性分类器集合。分类其能从不同的子训练集上得到参数仅仅是因为算法本身具有泛化能力。