这种新方法让我们能够检测机器何时出错

Machine technicians work with EOS 3-D printer units as they build thermoplastic parts from "OXPEKK" material in the Laser Melting Room at Oxford Performance Materials Inc., the maker of more than 600 parts to be used on Boeing's new Starliner manned spacecraft, in South Windsor, Connecticut, U.S., January 31, 2017. Picture taken January 31,2017. REUTERS/Mike Segar
Convolutional neural networks (CNNs) are designed to process and classify images for computer vision.Image: REUTERS/Mike Segar
本内容由人工智能自动翻译。

麻省理工学院的研究人员设计出一种方法,通过检测神经网络模型是否出现不应有的错误,来评估这类机器学习模型在各种任务中的鲁棒性。

卷积神经网络(CNN)旨在处理和分类图像,应用于计算机视觉及许多其他任务。但细微到人眼难以察觉的改动——例如在图像中调暗几个像素——可能会导致 CNN 给出截然不同的分类结果。这类改动称为“对抗样本”。研究对抗样本对神经网络的影响,有助于研究人员判断模型在现实世界中可能如何受到意外输入的影响。

例如,无人驾驶汽车可以使用 CNN 处理视觉输入并作出适当响应。如果汽车驶近停车标志,就会识别标志并停车。但一篇 2018 年的论文发现,在停车标志上贴上某种黑白贴纸,实际上可能欺骗无人驾驶汽车的 CNN,使其错误分类该标志,甚至可能导致汽车完全不停下来。

然而,此前一直没有办法全面评估大型神经网络对所有测试输入中的对抗样本的抵御能力。在研究人员本周将在国际学习表征会议上发表的一篇论文中,他们介绍了一种技术:对于任何输入,要么找到一个对抗样本,要么保证所有经过扰动、但外观仍与原始输入相似的输入都能被正确分类。由此,该技术可以衡量网络在特定任务中的鲁棒性。

虽然已有类似的评估技术,但它们无法扩展到更复杂的神经网络。与这些方法相比,研究人员的技术运行速度快了三个数量级,并且能够扩展到更复杂的 CNN。

研究人员评估了一个 CNN 的鲁棒性,该网络用于对 MNIST 手写数字数据集中的图像进行分类。该数据集包含 60,000 张训练图像和 10,000 张测试图像。研究人员发现,约 4 percent 的测试输入只需稍作扰动,就能生成对抗样本,从而导致模型分类错误。

“对抗样本会欺骗神经网络,使其犯下人类不会犯的错误,”第一作者文森特·曾(Vincent Tjeng)说。他是计算机科学与人工智能实验室(CSAIL)的研究生。“对于给定的输入,我们想确定是否可以施加微小扰动,使神经网络产生与通常结果截然不同的输出。这样,我们就能评估不同神经网络的鲁棒性:找到至少一个与输入相似的对抗样本,或者保证该输入不存在这样的样本。”

与曾共同撰写论文的还有 CSAIL 研究生肖凯(Kai Xiao),以及 CSAIL 研究员、电气工程与计算机科学系(EECS)教授拉斯·特德雷克(Russ Tedrake)。

CNN 通过许多计算层处理图像,这些层包含称为神经元的单元。对于负责图像分类的 CNN,最后一层由每个类别对应的一个神经元组成。CNN 根据输出值最高的神经元对图像进行分类。设想一个用于将图像分为“猫”或“狗”两类的 CNN。如果它处理的是一张猫的图像,那么“猫”分类神经元的值应当更高。如果对图像稍作改动,导致“狗”分类神经元的值高于“猫”分类神经元,就出现了对抗样本。

研究人员的技术会检查图像中每个像素的所有可能改动。简单来说,如果 CNN 对每张经过改动的图像都给出正确分类(“猫”),那么该图像就不存在对抗样本。

这项技术的核心是一种经过改进的“混合整数规划”方法。这是一种优化方法,其中一些变量被限定为整数。混合整数规划本质上是在给定变量约束的条件下寻找某个目标函数的最大值,并且可以经过设计,高效扩展到评估复杂神经网络的鲁棒性。

研究人员设定了限制条件,允许每张输入图像中的每个像素最多变亮或变暗一定数值。在这些限制下,修改后的图像看起来仍会与原始输入图像非常相似,这意味着 CNN 理应不会受骗。混合整数规划用于寻找可能导致分类错误的最小像素改动。

其思路是,调整像素可能会使错误分类的数值升高。例如,如果将一张猫的图像输入用于宠物分类的 CNN,算法就会不断扰动像素,查看能否使对应“狗”的神经元数值高于“猫”神经元。

如果算法成功,就至少为该输入图像找到了一个对抗样本。算法可以继续调整像素,找出导致分类错误所需的最小改动。这个最小改动称为“最小对抗扰动”;其幅度越大,网络就越能抵御对抗样本。然而,如果在所有不同的像素改动组合下,正确分类的神经元始终被激活,那么算法就能保证该图像不存在对抗样本。

“对于一张输入图像,我们想知道能否以某种方式修改它,从而触发错误分类,”曾说。“如果不能,我们就能保证自己已经搜索了所有允许改动的范围,并确认原始图像不存在会被错误分类的扰动版本。”

最终,这项技术会计算出至少存在一个对抗样本的输入图像所占比例,并保证其余图像都不存在对抗样本。曾说,在现实世界中,CNN 含有许多神经元,会使用庞大的数据集进行训练,并涉及数十种不同分类,因此这项技术的可扩展性至关重要。

他说:“对于针对不同任务设计的各类网络,CNN 能够抵御对抗样本非常重要。我们能够证明不存在对抗样本的测试样本比例越大,网络在面对经过扰动的输入时就应当表现得越好。”

“鲁棒性的可证明界限很重要,因为几乎所有[传统]防御机制都可能再次被攻破,”萨尔大学数学与计算机科学教授马蒂亚斯·海因(Matthias Hein)说。他没有参与这项研究,但试用过这项技术。“我们使用精确验证框架证明了我们的网络确实具有鲁棒性……[并且]使得与常规训练相比,验证网络也成为可能。”

授权与转载
世界经济论坛发布的文章,可依据《知识共享署名-非商业性使用-禁止演绎4.0国际公共许可协议》以及我方《使用条款》进行转载。 本文所表达的观点仅代表作者个人立场,并不代表世界经济论坛的观点。