怎样花较少的钱治好白癜风 http://pf.39.net/bdfyy/bdfyc/150612/4638465.html引用
SinghG,GehrT,PüschelM,etal.Anabstractdomainforcertifyingneuralnetworks[J].ProceedingsoftheACMonProgrammingLanguages,,3(POPL):1-30.
摘要
我们提出了新的神经网络可扩展性和精确性的证明方法,这种方法背后是一种新的抽象Domain,其结合了带间隔的浮点多面体,并配备了专门为神经网络设置的抽象转换器。具体地讲,这个转换器是为了affinetransform,therectifedlinearunit(ReLU),sigmoid,tanh,andmaxpoolfunctions设置的。这个方法在DeepPoly的系统中被实现,并在一系列数据集、神经架构(包括防御网络)和规范上对其进行了广泛的评估。我们的实验结果表明,在扩展到大型网络时,DeepPoly比以前的工作更精确。我们还展示了如何将DeepPoly与基于跟踪分区的抽象引用形式相结合。这使我们能够证明当输入图像受到复杂的扰动时网络的鲁棒性。
背景知识
在过去的几年里,深层神经网络已经变得越来越流行,现在已经开始渗透到安全的关键领域,如自动驾驶和医学诊断,在这些领域中,人们常常依赖它们来做出重要的决策。由于这种广泛采用,确保神经网络的行为可靠和符合预期变得更加重要。不幸的是,由于这些系统的黑箱性质,对其进行推理是具有挑战性的:很难理解网络的功能,因为它通常由难以解释的数千或数百万实值权重参数化。此外,人们还发现,神经网络有时会异常脆弱,表现出非鲁棒性行为,例如,将两个非常相似的输入(例如,亮度或一个像素不同的图像)分类到不同的标签。为了解决神经网络推理的挑战,最近的研究已经开始探索新的方法和系统,这些方法和系统可以自动证明给定的网络满足特定的兴趣特性(例如,对某些扰动的鲁棒性,前/后条件)。尽管这些工作取得了一定的进展,但是要想成功地解决整个神经网络的推理挑战还需要更多的研究。特别是,我们仍然缺乏一个可以扩展到大型网络的分析器,它能够处理流行的神经结构(例如前馈、卷积),而且还非常精确地证明了应用程序所需的相关属性。
在这项工作中,我们提出了一种新的方法和系统,称为DeepPoly,它在解决验证神经网络的可扩展性和准确性方面的挑战方面向前迈出了一步。DeepPoly背后的关键技术思想是一种专门针对神经网络设置的新型抽象解释器。具体地说这些抽象的转换器经过精心设计,以利用这些函数的关键特性,平衡分析的可伸缩性和精确性。
这篇论文的主要贡献:
1.
提出了一个关于神经网络验证的抽象Domain。
2.
提出了一种比目前考虑的更复杂的扰动特性的方法,包括基于抽象输入的线性插值的旋转。据我们所知,这是第一次验证这种扰动。
3.
我们的方法在DeepPoly系统中得到了完整的实现,该系统可以处理前馈和卷积神经网络,对一系列数据集和网络(包括防御数据集和网络)的广泛评估表明,DeepPoly比以前的工作更精确,可以扩展到大型网络。
4.
我们相信DeepPoly是解决神经网络推理挑战的重要一步,也是证明复杂的特性(例如旋转)和其他分析应用的有用模块。我们希望它能够帮助提高网络的整体鲁棒性。
提出的方法:抽象域和转换器
在本节中,我们将介绍我们的抽象域以及抽象转换器。在我们抽象域中的元素由一组特殊形式的多面体约束组成,超过n个变量。每个约束将一个变量与较小索引的变量的线性组合联系起来。每个变量都有两个相关的多面体约束:一个下界和一个上界。此外,抽象元素记录为每个变量导出的区间界限。
域不变:在我们的领域中,每一个抽象元素都保持着具体的下界和上界,这些下界和上界都过于接近这两个符号界。此属性对于创建有效的抽象转换器非常重要。
为了简化我们对抽象转换器的阐述,我们将只考虑所有变量都有界的情况,此外,我们要求变量只分配一次,按其索引的递增顺序分配。
在本节中,作者依次介绍了四个方面,在每一部分作者均使用形式化的方法和数学公式进行推导证明。这四个方面分别是:(1)四种转换器分别是,ReLUAbstractTransformer;SigmoidandTanhAbstractTransformers;MaxPoolAbstractTransformer;AfgineAbstractTransformer。(2)神经网络的鲁棒性分析方法。(3)抽象转换器的正确性。(4)浮点运算的可靠性。
实验评估
在本节中,我们将评估我们的方法的有效性,以验证大型、具有挑战性和多样化的神经网络集的鲁棒性。我们在一个叫做DeepPoly的分析仪中实现了我们的方法。分析器是用Python编写的,我们领域的抽象转换器是在ELINA库之上实现的,用于数值抽象。我们已经实现了转换器的一个顺序版本和一个并行版本。在我们的评估中使用的所有代码、网络、数据集和结果都可以在