对抗样本是经过稍微修改实际样本而构造出的合成样本,以便于一个分类器以高置信度认为它们属于错误的分类。垃圾类的样本(如fooling images)是病态样本,即便它们不属于任意一个类,分类模型也会把它们以高置信度划分到某一个类别中去。html
一个对抗样本,修改一张熊猫的图片,让机器学习模型将它识别成一只长臂猿。git
使用32位浮点值做为网络的输入来执行修改,这个改变是如此的小以致于不会改变出版图像的8位表示。更多细节请参考这篇论文。算法
这些错误抓住了公众的想象力。在兴奋之余,关于对抗样本的一些误解已经普遍传播。在这篇博客中,我列出了其中的一些误解。安全
1. 神话:对抗样本并不重要,由于它们不会出如今实践中。网络
事实:的确,对抗样本不太可能天然发生。然而,对抗样本相当重要,由于训练一个模型来抵制它们,能够提升其非对抗样本的准确性。对抗样本也可能在实践中发生,若是它们的确是对抗性的。例如垃圾邮件发送者试图骗过垃圾邮件检测系统。架构
训练一个网络来正确分类对抗样本,下降它在训练数据集上的错误率,即便测试数据集的样本没有被扰动。这种技术提高了在MNIST数据集上的最高水平。机器学习
2. 神话:深度学习比其余类型的机器学习更容易受到对抗样本的干扰。工具
事实:到目前为止,咱们已经可以为咱们测试过的每个模型生成对抗样本,包括像最邻近这样的最传统的机器学习模型。深度学习是目前为止对对抗训练最有抵抗性的技术。学习
3. 神话:对抗样本是由极度非线性深度模型致使。开发工具
事实:咱们最近的实验代表,深度模型的表现是很是线性的。线性模型在外推远离训练数据的区域有着极度的优点。这也解释了对抗性和垃圾分类样本中发生的不少错误。
咱们能够描绘出一个输入空间中的线性路径,经过对一张清晰的汽车图像添加不一样的对抗性微扰。这里,咱们将比例因子范围从-10到+10来绘制出这条线性路径。咱们看到,网络的logits输出在远离数据的地方表现为线性。这将致使网络的预测变得极端,垃圾类输入数据以高置信度归为有意义分类。
4. 神话:对抗样本在小数据中很难找到或发生。
事实:空间中的大多数任意点都被误判。例如,咱们测试的一个网络,把大约70%的噪声样本以高置信度归类为马。
5. 神话:咱们能作到最好的是识别和拒绝处理对抗样本。
事实:拒绝处理对抗样本比将它错误分类要好,不过这不是一个使人满意的解决方案。若是真是一个对抗样本,如垃圾邮件发送者,对抗样本仍然能够经过产生系统拒绝分类的样本而占优点。咱们知道这多是正确分类的对抗样本,由于人们不会被它们迷惑,这也是咱们设计模型的目标。
6. 神话:攻击者必须访问到模型才能产生对抗样本。
事实:对抗样本在整个网络中扩散,用来训练执行相同的任务,即便这些模型有不一样的架构,由不一样训练数据集训练。这意味着攻击者能够训练本身的模型,产生对抗模型来对抗目标模型,而后将这些对抗样本部署到他们不能访问的模型中。
7. 神话:对抗样本能够很容易地用标准正则化技术解决。
事实:咱们已经测试了几种传统的正则化策略,包括均化多重模型,均化图像多采样观测(multiple glimpses),用时延权重或噪声训练模型,经过生成模型的推断进行分类,结果均以失败了结。
8. 神话:没人知道人脑是否也会犯类似的错误。
事实:神经学家和心理学家一般研究幻觉和认知误差。虽然咱们没法进入咱们的大脑,可是咱们能够确认咱们没有像现代机器学习那样被同一种对抗样本所影响。若是咱们的大脑和机器学习模型同样犯了一样的错误,那么因为交叉模型的泛化属性,机器学习模型的对抗样本将会使咱们产生视觉错乱。
总之,对抗样本是一个顽固的问题,研究如何克服它们能够帮助咱们避免潜在的安全问题,而且会让机器学习算法对所要解决的问题有一个更准确的了解。
推荐阅读