神经网络验证与共享证书:加速验证的新方法
一、引言
神经网络在众多应用领域取得了巨大成功,然而,它们容易受到对抗攻击,这在自动驾驶和医疗设备等安全关键领域引发了对其可信度的担忧。为解决这一问题,神经网络的形式验证被提出,近年来,人们对验证神经网络的关键安全属性(如公平性、鲁棒性)的兴趣日益浓厚。
现有的神经网络验证器通过在每一层传播可达值的符号抽象来计算每个输入在给定扰动下被正确处理的证明。但对于整个数据集,这个过程需要为每个输入和扰动独立重新开始,导致整体证明工作成本高昂。本文提出了一种基于共享证书的新方法,以降低验证成本且不损失精度。
二、背景知识
2.1 神经网络
神经网络 (N) 是一个从 (R^{d_{in}}) 到 (R^{d_{out}}) 的函数,通常由多个层组成,即 (N = N_L \circ N_{L - 1} \circ \cdots \circ N_1)。在本文中,我们考虑前馈神经网络,其中每一层 (N_i(x) = \max(Ax + b, 0)),包含一个仿射变换 (Ax + b) 和一个逐元素应用的修正线性单元(ReLU)。一个将输入分类为 (c) 类的神经网络输出 (d_{out} := c) 个分数,每个类一个,并将分数最高的类作为预测结果。
2.2 (局部)神经网络验证
给定一组输入和一个后置条件 (\psi),神经网络验证的目标是证明 (\psi) 对于对应于给定输入集的神经网络输出成立。本文主要关注局部验证,即证明对于围绕输入 (x) 形成的给定区域 (I(x) \subseteq R^{d_{in}}),(\psi) 对于网络输出成立。形式上,问
超级会员免费看
订阅专栏 解锁全文
2504

被折叠的 条评论
为什么被折叠?



