AI²:用抽象解释证明神经网络的安全性和鲁棒性


文献来源:Timon Gehr, Matthew Mirman, Dana Drachsler-Cohen, Petar Tsankov, Swarat Chaudhuri∗, and Martin Vechev. AI²: Safety and Robustness Certification of Neural Networks with Abstract Interpretation[C]. IEEE Symposium on Security and Privacy 2018. pp.3-18.
这是由苏黎世理工学院的团队提出的,最早的一种基于抽象解释的框架。

摘要

  AI²(Abstract Interpretation)是第一个针对深度神经网络的完备且可扩展的分析框架。基于过度逼近(overapproximation)的方法,AI²可以自动证明真实神经网络(比如卷积神经网络)的安全性质(例如鲁棒性)。

  AI²的主要思想是利用经典的抽象解释来表达关于神经网络的安全性和鲁棒性的推理。具体来说,论文使用一组带条件的仿射函数来建模基于ReLU的神经网络,可以刻画神经网络中的全连接层、卷积层和最大池化层结构。并在验证过程中使用各种抽象域来分析这些仿射函数,最后得到输出层变量的取值范围或变量之间的约束关系。

  论文完整实现了AI²并用其在20个神经网络上进行了广泛的评估。实验结果表明AI²有以下几个优点:

(1)AI²足够精确,可以证明诸如鲁棒性之类有价值的性质;

(2)AI²可以用来证明神经网络领域内最先进的防御技术的有效性;

(3)AI²比现有的基于符号分析的分析框架验证速度快得多;

(4)AI²可以处理卷积神经网络,这是目前其他基于线性规划和SMT的方法做不到的。

论文的几个背景知识点

条件仿射变换CAT(conditional affine transformation)
在这里插入图片描述
论文把神经网络表示为条件仿射变换的组合,下面是AI²支持的三种神经网络结构的计算过程示例图。

在这里插入图片描述

卷积层中定义了一个矩阵WF来和输入向量相乘,模拟卷积过程。
在这里插入图片描述
最大池化层处理输入向量的几个步骤:
在这里插入图片描述
上图中每一步转换都定义了对应的矩阵:
在这里插入图片描述在这里插入图片描述

整个转化过程用矩阵乘法过程表示出来就是:在这里插入图片描述

抽象解释AI(Abstract Interpretation)

抽象解释使得人们无需运行程序就可以在一组输入上证明程序的性质,它的基本思想是利用抽象域的概念来对某个输入集合的计算进行近似。
在这里插入图片描述
上图就是一个抽象解释的过程。

抽象域

抽象域由一组可被表达为逻辑约束的形状组成。几个常用的数字抽象域有:Box(即区间)、Zonotope(环带胞形)、Polyhedron(多面体)。

在上面例子的(a)图中,
区间抽象域:
在这里插入图片描述
Zonotope抽象域:
在这里插入图片描述
多面体抽象域:
在这里插入图片描述
这几个抽象域均满足可靠性(soundness)。因为(b)中转换后的的抽象域包括了(a)中抽象域所包含全部结点的对应计算结果。

如何用抽象解释过度逼近条件仿射函数

在这里插入图片描述
AI框架如何逼近神经网络的各个状态。

在这里就可以初步验证神经网络的鲁棒性,论文中把局部鲁棒性定义为一个对(X,CL),X是一个鲁棒性区域(输入集合),CL包含拥有相同标签的输出。在上图的例子中,鲁棒性(X,C2)成立,其中
X = { ( 0 , 1 ) , ( 1 , 1 ) , ( 1 , 3 ) , ( 2 , 2 ) } C 2 = { y ˉ   ∣   a r g m a x ( y 1 , y 2 ) = 2 } X=\{(0,1),(1,1),(1,3),(2,2)\}\quad C_2=\{ {\bar{y}}\ |\ argmax(y_1,y_2)=2\} X={ (0,1),(1,1),(1,3),(2,2)}C2={ yˉ  argmax(y1,y2)=2}

AI²的实现

AI²是用D语言实现的(D语言源自C/C++),它支持验证属性(X,C),X由Zonotope抽象域表示,C由输出向量的线性约束组合组成。

AI²的评估

  • AI²在具有53000个神经元的卷积神经网络和具有1800个神经元的大型全连接前馈神经网络上证明了有用的鲁棒性。

  • AI²受益于精确的抽象域:Zonotope,这使得它能够比Box抽象域证明更多属性。

  • AI²比基于SMT的Reluplex工具更高效:AI²能够在几分钟内验证具有大于1200个神经元的大型网络的鲁棒性,而Reluplex则需要几个小时。

    所用数据集:MNIST数据集和CIFAR-10数据集

    所用神经网络:卷积神经网络(LeNet结构)和全连接前馈神经网络(7个不同尺寸的网络),当每个网络的测试集准确度至少为0.9时,训练完成。

    验证的鲁棒性:用局部鲁棒性(X,CL),其中区域X捕捉照明条件的变化(亮化攻击方法,通过把阈值1 - δ \delta δ之上的像素改变为最亮的可能值来干扰图像),实验中考虑6个不同的鲁棒性边界值 δ \delta δ = {0.001,0.005,0.025,0.045,0.065,0.085}。
    在这里插入图片描述
    每个数据集中选择10幅图像,两个数据集中使用不同抽象域的分类准确度比较。

    不同抽象域的精度

在这里插入图片描述
更精确的抽象域能使AI²证明更多的鲁棒性。

和Reluplex的比较

目前验证神经网络性质的最先进的系统是Reluplex。Reluplex支持带ReLU激活函数的全连接神经网络,其分析功能比较健全完整。Reluplex最终要么验证给定的属性,要么返回一个反例。
在这里插入图片描述

利用AI²比较三种防御技术的有效性

比较防御性能的一个自然标准是某个测试集上的鲁棒性区域的平均大小。一般来说,这个规模越大,防御性能就越强大。

论文比较了三种目前最先进的防御技术:GSS,Ensemble,MMSTV。所有这些防御都试图降低FGSM(快速梯度下降法)攻击的有效性。
在这里插入图片描述

总结和未来工作展望

  本文介绍了AI²,第一个能够证明卷积和大型全连接神经网络的系统。其关键思想是用抽象解释的经典框架来描述分析神经网络的问题。实验结果表明,AI²可以有效地处理现有方法无法处理的神经网络。

  在未来工作中,会继续考虑用其他抽象转换器扩展AI²,以支持更多的神经网络功能。同时,团队还在建立一个库来模拟常见的扰动,比如旋转、平滑和侵蚀,这些扩展将进一步提高AI2的适用性。

猜你喜欢

转载自blog.csdn.net/GGG_Yu/article/details/114292171