生成对抗网络 - Adversarial Examples 对抗样本



[1] Intriguing properties of neural networks
文章发现,通过在原图是加入一些不可察觉的非随机扰动,可以极大改变网络的预测结果。这些扰动是通过最大化预测误差来训练获得输入的,称这种输入为对抗样本。


对抗例子是相对鲁棒的, 即神经网络A生成的对抗样本,在神经网路B下仍然是,即使B是不同的网络结构、超参、和训练数据。因此,神经网络含有一些内在的盲点和非显示的特征,其结构与数据分布相关。
为了解释网络中激活在特征表达上的含义,有研究者用尝试一些训练图像使得这些特征的激活值达到最大的可视化检测 (visual inspection)。 研究发现区分变化的因素是跨越整个网络空间的,而不是网络某个单元。 如下图。 事实上,在对深度神经网络学到的复杂表达来说,单元级局部的可视化检测方法相对网络级全局的方法要差。
生成对抗网络 - Adversarial Examples 对抗样本
文章图片


这里有个感念叫局部泛化(local generalization)。 一个可局部泛化是说输入空间中在训练样本近邻区域也有较高的识别正确率,也就是说不可察觉的非随机扰动是不会影响预测结果的,这是所谓的平滑(smoothness)假设。然而深度神经网络通过堆叠非线性单元来对输入空间进行编码,它是non-local generalization的,即对输入空间中训练样本的领域是无法获得高识别概率的,虽然这些区域不含训练样本,但也表达了同一个样本在不同视角或是远处。通过这种非平滑,我们便可以通过优化方法来在输入空间中寻找对抗样本了。
通过在输入空间中的样本领域随机采样是很难获得这种对抗样本的。文章提出一种寻找方法去发现模型在对训练数据周围的局部空间建模时的缺陷,证明存在输入空间小的扰动生成最后输出层的大扰动。这种方法类似于难误样本挖掘(hard-negative mining),即搜集分类器误判大的样本,使得进一步迭代的输入分布着重这些难误样本的分布。文章通过最小化畸变函数D, 如下面公式,来获得adversarial examples,公式中x表示输入图像,l表示label,x+r是离x最近的且被函数f分类为l的图像。


生成对抗网络 - Adversarial Examples 对抗样本
文章图片


我们通过在不同训练数据和网络下,获得adversarial examples,其在测试集合上的错误如下表,可以看出,adversarial examples的确欺骗了网络。
生成对抗网络 - Adversarial Examples 对抗样本
文章图片




TODO
【生成对抗网络 - Adversarial Examples 对抗样本】

    推荐阅读