本文提出了计算概率神经网络局部鲁棒性的方法,特别是由贝叶斯推理得到的鲁棒性。从理论上讲,将贝叶斯推理应用到神经网络参数的学习中,有望解决频繁主义学习范式下出现的许多实际困扰问题。特别是,贝叶斯学习允许有原则的架构比较和选择,先验知识的编码,以及预测不确定性的校准。最近的研究表明,贝叶斯学习可以导致更多的对抗鲁棒预测。虽然从理论上讲是这样的,并且在具体实例中已经证明了这一点,但提高鲁棒性的轶事证据并不能为那些希望在安全关键环境中部署贝叶斯深度学习的人提供足够的保证。虽然有方法可以保证确定性神经网络的鲁棒性,但贝叶斯神经网络权重的概率性质使这些方法不可操作。本文研究了贝叶斯神经网络的鲁棒性概念,允许同时考虑模型的随机性和模型决策的鲁棒性保证。本文提供了一种方法,可以为给定的贝叶斯神经网络计算这些数量,这些方法要么对估计的精度有先验的统计保证,要么有可靠的概率上下界。最后,我们将鲁棒性作为神经网络参数贝叶斯推断的主要要求,并演示了如何修改似然,以推断出具有良好鲁棒性的后验分布。对似然的修正使我们的方法对贝叶斯神经网络的近似推理技术是透明的。
我们使用贝叶斯神经网络来评估我们提出的方法的实用性,这些神经网络训练了几个真实的数据集,包括空中碰撞避免和交通标志识别。此外,我们评估了使用五种不同近似推理方法近似推断的贝叶斯后验分布的鲁棒性。我们发现,我们的方法为贝叶斯神经网络提供了第一个可证明的鲁棒性保证,从而使它们能够部署在安全关键场景中。此外,我们提出的神经网络参数的鲁棒贝叶斯推理方法使我们能够推断出后验分布,这大大提高了可证明的鲁棒性,即使是在全色图像上。概述经典计算机科学关注的是如何创建解决给定问题的程序。相应地,经典程序验证是确保(通常通过形式证明)给定程序在每个实例[6]中正确解决给定问题的任务。近年来,计算机科学家们已经将他们想要解决的问题的类别扩大到那些过于复杂或定义欠佳而无法用经典编程范式处理的任务。在程序不能再由人类设计的地方,它们可以通过示例[57]学习。随着学习到的解决方案变得比手工编码的解决方案好得多,它们所应用的领域也变得更加复杂。学习具有最大潜在影响的领域也具有最大的危害风险,这并不奇怪[1,10]。针对这类任务(包括医疗诊断和自动驾驶汽车)的学习解决方案,在部署和获得公众信任之前,必须保证其安全性。不幸的是,为这些任务编写经典程序的障碍也阻碍了它们的正式验证[79]。此外,检验习得解的基本稳定性的初步尝试揭示了它们显著的脆弱性[136]。这种脆弱性表现为过度自信、不正确的预测,几乎对学习算法的每个输入都可能产生这种预测。
因此,如果我们想要利用机器学习算法的光明未来,我们必须确保它们在部署之前是安全的。在这篇论文中,我们将关注到目前为止最流行和最强大的学习算法:深度神经网络神经网络是功能强大的函数逼近器,它有望在广泛的任务中对先进性能的进步做出持续和重要的贡献。神经网络已经在诸如医疗诊断和病理以及控制和规划等安全关键领域取得了显著的强大性能。然而,在这些领域采用神经网络的主要障碍是它们的预测缺乏可解释性和可靠性[1]。我们将使用两个主要漏洞来激发贝叶斯神经网络(BNNs)的鲁棒性研究,BNNs是由贝叶斯规则推断的参数分布的神经网络。第一个潜在的漏洞是确定性神经网络(DNNs)缺乏校准的不确定性,即知道自己不知道什么[81]。当确定性神经网络用于对统计上偏离训练数据的数据点进行推断时,这是一个特别的挑战。在这种情况下,DNN经常会做出高度自信、不正确的预测,如果依赖这些预测,可能会导致糟糕的行为[104]。第二个弱点是对抗性的例子[136]。一个对抗性的例子是一个输入,它被精心设计成与自然发生的输入无法区分,但这会导致神经网络在输出中做出错误的分类或不安全的更改。在医学诊断中,这可能是由于病理幻灯片色调的轻微变化而预测患者患有癌症,或者在自主导航中,这可能是基于照明条件的轻微变化而预测转向角度的较大变化[105]。对抗攻击已被证明不仅在图像分类[58]中存在安全隐患,在音频识别[163]、恶意软件识别[126]和自然语言处理[41]中也存在安全隐患。这些对安全性和安全性关键型应用程序构成了巨大的安全风险。当然,证明对抗实例的安全性是在安全关键环境下部署任何神经网络的先决条件。
在过去几年里,证明神经网络预测的安全性一直是一个重要而活跃的研究领域,并且在有效证明对抗例子不存在方面取得了巨大进展[79,22,152]。虽然这满足了我们的一个愿望(缺乏对抗性的例子),但确定性神经网络在校准不确定性方面仍然提供很少的东西。特别是,给定一个确定性神经网络和一个我们想要分类的输入,通常的情况是,如果一个对抗的例子存在,那么它被错误地分类,置信度非常高[58]。这意味着,基于输出,无法推断输入是否可能不正确或损坏。此外,有关于确定性神经网络的研究表明,对于许多任务来说,对抗实例的存在是不可避免的[47,46],进一步说,鲁棒确定性学习是不可能的[59]。虽然合理的局部验证(证明不存在对抗性例子)对于向用户保证在特定情况下的正确性能是必要的,但贝叶斯学习范式提供了一种系统的方法,可以在更一般的水平上减轻这些不可能结果的担忧。通过引入校准的不确定性,贝叶斯神经网络在理论和经验上都被证明对对抗性例子具有更强的鲁棒性,并且可以潜在地削弱或击败确定性网络的不可能结果[53,23,7]。因此,在需要安全性和鲁棒性证明的安全关键场景中,贝叶斯神经网络似乎是一种自然和可行的部署方案。
尽管贝叶斯神经网络有许多吸引人的特性,但无法用确定性神经网络开发的技术直接分析贝叶斯神经网络[168]。贝叶斯网络与确定性网络的主要区别在于前者的参数值具有后验分布。为了验证这种模型的鲁棒性,必须找到一种方法来执行确定性神经网络可用的正确性分析,同时以合理的方式考虑到范围或可能的参数值。这样做是在安全关键场景中安全部署贝叶斯神经网络的必要前提。在这篇论文中,我们开发了一些工具,允许我们在贝叶斯环境下利用确定性神经网络的鲁棒性量化方面的进展。特别地,我们研究了贝叶斯神经网络鲁棒性的两个概念,这允许从业者在给定贝叶斯神经网络部署之前量化其最坏情况的行为。贝叶斯神经网络鲁棒性的第一个概念是概率鲁棒性(在第4章中定义)。这允许从业者理解模型固有的随机性及其对抗鲁棒性之间的相互作用,也可以被视为不确定性的最坏情况度量。鲁棒性的第二个概念是贝叶斯决策鲁棒性。贝叶斯神经网络除了在其权重上有一个分布之外,还与确定性神经网络不同,因为我们必须对其预测分布和错误决策的风险或损失进行推理,以便做出预测。决策鲁棒性考虑了考虑中的贝叶斯模型的决策过程,并允许我们证明即使在对手存在的情况下,也会发布正确的决策。这些定义允许我们量化贝叶斯神经网络的概率正确性。