近期,DeepMind在其博客中向我们描述了三种可以严格识别和消除学习预测模型中的错误的方法:对抗性测试,鲁棒学习和形式验证。
自计算机编程开始以来,Bug与软件就齐头并进。
随着时间的推移,软件开发人员在部署之前已经建立了一套测试和调试的最佳实践,但这些实践并不适合现代深度学习系统。
今天,机器学习的主流实践是在训练数据集上训练系统,然后在另一组上进行测试。虽然这揭示了模型在一般情况下的平均性能,但即使在最坏的情况下,确保模型的稳健性或可接受的高性能也是至关重要的。
近期,DeepMind在其博客中向我们描述了三种可以严格识别和消除学习预测模型中的错误的方法:对抗性测试,鲁棒学习和形式验证。
以下是博文内容:
机器学习系统一般是不稳健的。即使在特定领域中表现优于人类的系统,如果引入细微差异,也可能无法解决简单问题。例如图像扰动的问题:如果在输入图像中添加少量精心计算的噪声,那么对图像进行分类的神经网络,就会容易将树懒误认为是赛车。
覆盖在典型图像上的对抗性输入可能导致分类器将树懒错误地分类为赛车。两个图像在每个像素中相差至多0.0078。第一种被归类为三趾树懒,置信度> 99%。第二个被归类为赛车,概率> 99%。
这不是一个新问题。计算机程序总是有bug。几十年来,软件工程师开发了许多令人印象深刻的技术工具包,从单元测试到形式验证。这些方法在传统软件上运行良好,但是由于这些模型的规模和缺乏结构性(可能包含数亿个参数),因此采用传统方法来严格测试神经网络等机器学习模型非常困难。所以需要开发用于确保机器学习系统在部署时稳健的新方法。
从程序员的角度来看,Bug是指与系统规范(即预期功能)不一致的任何行为。DeepMInd对用于评估机器学习系统是否与训练集和测试集一致的技术,以及描述系统的期望属性的规范列表的技术进行了研究。这些属性包括:对输入中足够小的扰动的鲁棒性,避免灾难性故障的安全约束,或产生符合物理定律的预测能力等。
在本文中,我们将讨论机器学习社区面临的三个重要技术挑战,因为我们共同致力于严格开发和部署与所需规格可靠一致的机器学习系统:
测试一致性与规范有效性。我们探索有效的方法来测试机器学习系统是否与设计者和系统用户所期望的属性(例如不变性或鲁棒性)一致。揭示模型可能与期望行为不一致的情况的一种方法是在评估期间系统地搜索最坏情况的结果。
训练机器学习模型,使其产生规范一致的预测。即使有大量的训练数据,标准的机器学习算法也可以产生与鲁棒或公平等理想规范不一致的模型,这要求我们重新考虑训练算法,这些算法不仅要能够很好地拟合训练数据,而且能够与规范清单保持一致。
正式证明机器学习模型是规范一致的。需要能够验证模型预测可证明与所有可能输入的感兴趣的规范一致的算法。虽然形式验证领域几十年来一直在研究这种算法,但这些方法虽然取得了令人瞩目的进展,但却不能轻易地扩展到现代深度学习系统。
测试与规范性一致性
对抗性实例的稳健性是深度学习中相对研究充分的问题。这项工作的一个主要主题是评估强攻击的重要性,以及设计可以有效分析的透明模型。与社区的其他研究人员一起,我们发现许多模型在与弱对手进行评估时看起来很稳健。然而,当针对更强的对手进行评估时,精度几乎为0。
虽然大多数工作都在监督学习(主要是图像分类)的情景下的很少失败,但是需要将这些想法扩展到其他情景。
在最近关于发现灾难性故障的对抗方法的工作中,我们将这些想法应用于测试旨在用于安全关键设置的强化学习agent。开发自治系统的一个挑战是,由于单个错误可能会产生很大的后果,因此非常小的失败概率都是不可接受的。
我们的目标是设计一个“对手”,以便我们提前检测这些故障(例如,在受控环境中)。如果攻击者可以有效地识别给定模型的最坏情况输入,则允许我们在部署模型之前捕获罕见的故障情况。与图像分类器一样,针对弱攻击进行评估,很容易会在部署期间提供虚假的安全感。
我们为强化学习agent的对抗性测试开发了两种互补的方法。首先,使用无衍生优化来直接最小化agent的预期回报。然后学习一种对抗价值函数,该函数根据经验预测哪种情况最有可能导致agent失败。再接着,使用此学习函数进行优化,将评估重点放在最有问题的输入上。这些方法构成了丰富且不断增长的潜在算法空间的一小部分,我们对严格评估代理的未来发展感到兴奋。
这两种方法相比随机测试已经有了很大改进。使用我们的方法,可以在几分钟内检测到需要花费数天才能发现甚至完全未被发现的故障。我们还发现,对抗性测试可能会发现agent中与随机测试集的评估结果不同的行为。
特别是,使用对抗性环境构造,我们发现执行3D导航任务的agent一般会与人类级别的性能相匹配,但仍然无法在令人惊讶的简单迷宫上完全找到目标。我们的工作还强调,我们需要设计能够抵御自然故障的系统,而不仅仅是针对对手。
使用随机抽样,我们几乎从不观察具有高失败概率的地图,但是对抗性测试表明这样的地图确实存在。即使在移除了许多wall之后,这些地图仍然保留了高失败概率,从而产生比原始地图更简单的地图。
训练规范一致的模型
对抗性测试旨在找到违反规范的反例。因此,它往往会导致高估模型与这些规范的一致性。在数学上,规范是必须在神经网络的输入和输出之间保持的某种关系。这可以采用某些键输入和输出参数的上限和下限的形式体现。
受此观察的启发,一些研究人员,包括我们在DeepMind的团队,研究了与对抗性测试程序无关的算法(用于评估与规范的一致性)。这可以从几何学上理解 - 我们可以约束在给定一组输入的情况下,通过限制输出空间来最严重地违反规范。如果此界限相对于网络参数是可微分的并且可以快速计算,则可以在训练期间使用它。然后可以通过网络的每个层传播原始边界框。
结果证明了区间界限传播是快速、有效的,并且与先前的信念相反,可以获得强有力的结果。特别是,我们证明它可以降低MNIST和CIFAR-10数据集上图像分类中现有技术的错误率。
展望未来,下一个前沿将是学习正确的几何抽象,以计算更严格的输出空间过度近似值。我们还希望训练网络与更复杂的规范一致,捕获理想的行为,例如上面提到的不变性和与物理定律的一致性。
形式验证
严格的测试和训练可以大大有助于构建强大的机器学习系统。但是,没有多少测试可以完全保证系统的行为符合我们的要求。在大规模模型中,由于输入扰动的选择特别多(天文数级别),因此列举给定输入集的所有可能输出(例如,对图像的无穷小扰动)根本难以处理。但是,与训练的情况一样,我们可以通过在输出集上设置几何边界来找到更有效的方法。形式验证是DeepMind正在进行的研究的主题。
机器学习社区已经开发了几个关于如何计算网络输出空间上的精确几何边界的有趣想法。我们的方法基于优化和二元性,包括将验证问题转化为优化问题。通过在优化中使用二元性的思想,该问题变得易于计算。这导致额外的约束,其使用所谓的切割平面来细化由间隔界限传播计算的边界框。这种方法虽然合理但不完整:可能存在感兴趣的属性为真的情况,但此算法计算的界限不足以证明该属性。但是,一旦我们获得了约束边界,这将正式保证不会侵犯属性。下图以图形方式说明了该方法。
这种方法使我们能够将验证算法的适用性扩展到更一般的网络(激活函数,体系结构),更一般性的规范和更复杂的深度学习模型(生成模型,神经过程等)、超越对抗性鲁棒性的规范 。
展望
在高风险情况下部署机器学习带来了独特的挑战,需要做更多的工作来构建自动化工具,以确保现实世界中的AI系统能够做出“正确的事情”。特别是,我们对以下方向的进展感到兴奋:
学习对抗性评估和验证:随着AI系统的扩展和复杂性提高,设计适合AI模型的对抗性评估和验证算法将变得越来越困难。如果我们可以利用AI的强大功能来促进评估和验证,那么这个过程将大大加快,可实现自拓展。
开发用于对抗性评估和验证的公开工具:为AI工程师和从业者提供易于使用的工具非常重要,这些工具可以在AI系统导致广泛的负面影响之前阐明其可能的故障模式。这需要一定程度的对抗性评估和验证算法的标准化。
扩大对抗性示例的范围:到目前为止,大多数关于对抗性示例的工作都集中在对小扰动(通常是图像)的模型不变性上。这为开发对抗性评估,强大学习和验证方法提供了极好的测试平台。我们已经开始探索与现实世界直接相关的属性的替代规范,并对未来在这方面的研究感到兴奋。
学习规范:在AI系统中捕获“正确”行为的规范通常难以精确陈述。当我们构建能够展示复杂行为并在非结构化环境中行动的越来越智能的agent时,将需要构建可以使用部分人类规范并从评估反馈中学习进一步规范的系统。
-
编程
+关注
关注
88文章
3592浏览量
93594 -
人工智能
+关注
关注
1791文章
46853浏览量
237539
原文标题:DeepMind:三种方法突破AI鲁棒性极限
文章出处:【微信号:IV_Technology,微信公众号:智车科技】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论