人工神经网络的最大弹性(Maximum Resilience of Artificial Neural Networks)

该文提出了一种计算人工神经网络最大扰动域的新方法,将其转化为混合整数规划问题。通过大M法线性化非线性表达式,结合启发式编码策略,减少了求解时间。实验在多种神经网络基准集上验证了方法的有效性和可扩展性,涉及图像识别和机器人操纵场景。研究证明了并行化在计算核心数量上的线性增益,为神经网络验证提供了新的途径。
摘要由CSDN通过智能技术生成

作者:Chih-Hong Cheng, Georg Nuhrenberg, and Harald Ruess

单位:慕尼黑工业大学

文献来源:Cheng, C.-H., Nuhrenberg, G., and Ruess, H. Maximum resilience of artificial neural networks. In International Symposium on Automated Technology for Verification and Analysis, pp. 251–268. Springer, 2017.

摘要

  本文将基于人工神经网络的分类器的弹性定义为可容忍的最大扰动输入量。计算神经网络最大扰动域的问题被简化为求解混合整数规划(Mixed Integer Progamming, MIP)问题。许多MIP启发式编码方法被提出,大大减少MIP求解器的运行时间,并且在我们的实验中,使用MIP求解器的并行化导致计算核心数量几乎线性增加(达到一定的限制)。我们通过计算大量人工神经网络基准集的最大弹性边界来证明我们方法的有效性和可扩展性,这些基准集从典型的图像识别场景到机器人的自主操纵。

背景知识

大M法:

在MIP简化过程中,本文使用大M法的一个变种来将许多非线性表达式线性化。

在约束条件中人为地加入非负的人工变量,以便使它们对应的系数列向量构成单位阵。由于M是充分大的正数,在极大化目标函数的过程中,就会迫使人工变量离基。

举例:
在这里插入图片描述
[ 1 1 1 1 0 0 0 − 2 1 − 1 0 − 1 1 0 0 3 1 0 0 0 1 ] \left[\begin{array}{cccc} 1 & 1 & 1 & 1 & 0 & 0 & 0 \\ -2 & 1 & -1 & 0 & -1 & 1 & 0\\ 0 & 3 & 1 & 0 & 0 & 0 & 1 \end{array}\right] 120113111100010010001

前馈神经网络:
在这里插入图片描述

一个四层的小型前馈网络结构,每一层都有不同类型的节点函数。

sofmax函数:

为了进行多类分类,输出层的输出通常通过softmax函数转换成概率分布,softmax函数可以把一些输入映射为0-1之间的实数,并且归一化保证和为1。
在这里插入图片描述
sofmax函数的形式,首先转化到指数函数上,这样保证了概率的非负性。将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的百分比。
在这里插入图片描述

人工神经网络的算术编码

我们考虑了ReLU、max-pooling和softmax等函数。

编码ReLU激活函数:这里的非线性部分大M法进行处理,引入了一个二进制整数变量 b i ( l ) b_i^{(l)} bi(l)和一个正的常数 M i ( l ) M_i^{(l)} Mi(l),使得 − M i ( l ) ≤ i m i ( l ) -M_i^{(l)}≤im_i^{(l)} Mi(l)imi(l) x i ( l ) ≤ M i ( l ) x_i^{(l)}≤M_i^{(l)} xi(l)Mi(l)
在这里插入图片描述
编码Max-Pooling函数:该函数可写为 x i ( l ) = m a x ( i m 1 , i m 2 ) x_i^{(l)}=max(im_1,im_2) xi(l)=max(im1,im2),其中 i m 1 = m a x ( x j 1 ( l − 1 ) , x j 2 ( l − 1 ) ) im_1=max(x_{j1}^{(l-1)},x_{j2}^{(l-1)}) im1=max(xj1(l1),xj2(l1)) i m 2 = m a x ( x j 3 ( l − 1 ) , x j 4 ( l − 1 ) ) im_2=max(x_{j3}^{(l-1)},x_{j4}^{(l-1)}) im2=max(xj3(l1),xj4(l1))。将 m a x ( x 1 , x 2 ) max(x_1,x_2) max(x1x2)函数编码为MIP约束是使用大M法引入三个二进制整数变量来编码 y = m a x ( x 1 , x 2 ) y = max(x_1,x_2) y=max(x1x2)来实现的。

编码softmax函数:softmax定义中的指数函数无法编码成线性MIP约束。然而,如果要分析的属性不考虑来自神经元的输出具体值,而只考虑比率排序,那么省略输出层的构造就好了,并且可以用 x i ( L − 1 ) x_i^{(L-1)} xi(L1)来替代 x i ( L ) x_i^{(L)} xi(L)来重写属性。
在这里插入图片描述

扰动界限

m类分类器的最大扰动域:

对于可将结果分为m类的分类器,我们允许每个输入 a i a_i ai有一个小的扰动 ϵ i \epsilon_i ϵi,其扰动的全局值就是每个扰动的绝对值之和,即 ∣ ϵ 1 ∣ + ∣ ϵ 2 ∣ + … + ∣ ϵ d ∣ |\epsilon_1|+|\epsilon_2|+…+|\epsilon_d| ϵ1+ϵ2++ϵd
在这里插入图片描述
人工神经网络的扰动域:

基于上述m类分类器的最大扰动域的解释,寻找最小扰动值的过程可编码为如下形式:
在这里插入图片描述
现在要把上面的优化问题转换为一个MIP问题,需要考虑的问题主要由三个:

(1)由于绝对值函数的引入,目标不是线性的;

(2)softmax函数带来的非线性:

(3)条件约束中存在的析取符号。
在这里插入图片描述

启发式问题编码

为了验证人工神经网络,我们列出了一些简单但重要的启发式方法来有效地解决MIP问题。

(1)通过回顾多层的小型大M法;

(2)分支优先级;

(3)从样本和求解器初始化生成约束。

实现和评估

我们用C++实现了一个验证和计算神经网络扰动域的实验平台,该平台基于IBM CPLEX Optimization Studio 12.7(学术版)进行MIP求解。我们使用了三个不同的基准集作为我们评估的基础:(1)数字识别的Mnist;(2)代理游戏;(3)深度交通用于模拟高速公路超车场景。这些基准分别用 I M N I S T I_{MNIST} IMNIST I A g e n t I_{Agent} IAgent I d e e p t r a f f i c I_{deeptraffic} Ideeptraffic表示。
在这里插入图片描述
单个输入实例上验证扰动问题的执行时间
在这里插入图片描述
计算最大弹性 Φ m \Phi_m Φm的计算时间和结果

总结

  本文使用基于MIP的优化来定义和计算神经网络的最大扰动域是新颖的。通过开发专门的启发式编码方法和使用并行化,我们展示了该神经网络验证方法在现实世界应用中的可扩展性和可能的适用性。尽管如此,我们认为本文的发展只是实现人工神经网络形式化验证技术的全部潜力的第一步,以后可将其用于验证新的安全关键功能,如自动驾驶汽车。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值