作者: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]
⎣⎡1−201131−111000−10010001⎦⎤
前馈神经网络:
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(l−1),xj2(l−1))且
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(l−1),xj4(l−1))。将
m
a
x
(
x
1
,
x
2
)
max(x_1,x_2)
max(x1,x2)函数编码为MIP约束是使用大M法引入三个二进制整数变量来编码
y
=
m
a
x
(
x
1
,
x
2
)
y = max(x_1,x_2)
y=max(x1,x2)来实现的。
编码softmax函数:softmax定义中的指数函数无法编码成线性MIP约束。然而,如果要分析的属性不考虑来自神经元的输出具体值,而只考虑比率排序,那么省略输出层的构造就好了,并且可以用
x
i
(
L
−
1
)
x_i^{(L-1)}
xi(L−1)来替代
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的优化来定义和计算神经网络的最大扰动域是新颖的。通过开发专门的启发式编码方法和使用并行化,我们展示了该神经网络验证方法在现实世界应用中的可扩展性和可能的适用性。尽管如此,我们认为本文的发展只是实现人工神经网络形式化验证技术的全部潜力的第一步,以后可将其用于验证新的安全关键功能,如自动驾驶汽车。