MIT开发新算法,判断机器学习系统是否足够稳健以适应现实世界
2019年05月13日 由 董灵灵 发表
123795
0
麻省理工学院的研究人员设计出一种方法,通过检测模型什么时候犯了不该犯的错误,来评估对于各种任务来说,该机器学习模型的稳健性。
对抗性示例的挑战
卷积神经网络(CNN)旨在处理和分类图像以用于计算机视觉和许多其他任务。但是人眼难以察觉的轻微修改,比如图像中的一些较暗的像素,这可能会导致CNN产生截然不同的分类。这些修改被称为“对抗性示例”,研究对抗性示例对神经网络的影响可以帮助研究人员确定模型有多容易受到现实世界中意外输入的影响。
例如,自动驾驶汽车可以使用CNN来处理视觉输入并产生适当的响应。如果汽车接近停车标志,它将识别出标志并停止。但一篇论文指出,在停车标志上放置一个贴纸实际上可以欺骗CNN,使其对标志进行错误分类,这可能会导致汽车不会停下。
还没有一种方法可以完全评估大型神经网络对所有测试输入的对抗性示例的弹性。在本周的一篇论文中,研究人员描述了一种技术,对于任何输入,要么找到一个对抗式的例子,要么确保所有与原始输入类似的扰动输入都被正确分类。通过这样做,它提供了可以测量网络对特定任务的稳健性的方法。
虽然类似的评估技术确实存在,但还无法扩展到更复杂的神经网络。
评估稳健性
与这些方法相比,MIT研究人员的技术运行速度提高了三个数量级,并且可以扩展到更复杂的CNN。
研究人员评估了CNN的稳健性,旨在对MNIST手写数字数据集中的图像进行分类,其中包括6万个训练图像和1万个测试图像。研究人员发现,大约4%的测试输入可能会受到轻微扰动,从而产生可能导致模型错误分类的对抗性示例。
第一作者Vincent Tjeng表示,“对抗性的例子会愚弄神经网络,使其犯人类不会犯的错误。对于给定的输入,我们想确定是否有可能引入一些小扰动,使神经网络产生与通常情况下截然不同的输出。通过这种方式,我们可以评估不同神经网络的稳健程度,找到至少一个与输入类似的对抗性示例,或者保证对于输入不存在任何对抗性示例。”
CNN通过包含称为神经元的单元的许多计算层来处理图像。对于对图像进行分类的CNN,最后一层由每个类别的一个神经元组成。当一个CNN旨在将图像分为两类:“猫”或“狗”。如果它处理猫的图像,“猫”分类神经元的值应该更高。当对该图像的微小修改导致“狗”分类神经元的值更高时,会出现对抗性示例。
研究人员的技术检查对图像每个像素的所有可能修改。基本上,如果CNN为每个修改的图像分配正确的分类(“猫”),则不存在该图像的对抗性示例。
算法背后
该技术的背后是“混合整数规划”的修改版,这是一种优化方法,其中一些变量被限制为整数。本质上,混合整数规划是在给定变量的约束条件下,求出某一目标函数的最大值,并可设计成有效的尺度来评估复杂神经网络的稳健性。
研究人员设定了限制,允许每个输入图像中的每个像素都被提亮或变暗到一定的设定值。给定限制,修改后的图像看起来仍然与原始输入图像非常相似,这意味着CNN不会被愚弄。混合整数规划用于找到可能导致错误分类的像素的最小可能修改。
这个想法源于调整像素可能会导致错误分类的值上升。例如,如果将猫图像输入到宠物分类CNN中,算法会不断地扰动像素,看看是否能将狗对应的神经元的值提高到高于猫的值。
如果算法成功,则它已找到输入图像的至少一个对抗性示例。该算法可以继续调整像素,以找到导致错误分类所需的最小修改量。最小修正称为最小对抗性失真,失真越大,网络对对抗性越强。但是,如果对所有不同的修改后的像素组合都能正确地对神经元进行分类,那么该算法就能保证图像没有对抗性的示例。
Tjeng表示,“给定一个输入图像,我们想知道我们是否可以通过触发错误分类的方式对其进行修改,如果不能,那么我们就可以保证我们在整个空间中搜索了允许的修改,并发现原始图像没有被错误分类的扰动版本。”
最后,这将为至少有一个对抗性示例的输入图像生成一个百分比,并确保其余图像没有任何对抗性示例。Tjeng说,在现实世界中,CNN有许多神经元,它们将在数十种不同分类的海量数据集中进行训练,因此这项技术的可扩展性至关重要。