CN111475321A - 一种基于迭代抽象分析的神经网络安全性质验证方法 - Google Patents

一种基于迭代抽象分析的神经网络安全性质验证方法 Download PDF

Info

Publication number
CN111475321A
CN111475321A CN202010382022.4A CN202010382022A CN111475321A CN 111475321 A CN111475321 A CN 111475321A CN 202010382022 A CN202010382022 A CN 202010382022A CN 111475321 A CN111475321 A CN 111475321A
Authority
CN
China
Prior art keywords
verification
layer
abstract
neuron
property
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010382022.4A
Other languages
English (en)
Other versions
CN111475321B (zh
Inventor
陈立前
尹帮虎
王戟
刘江潮
董威
毛晓光
文艳军
刘万伟
尹良泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010382022.4A priority Critical patent/CN111475321B/zh
Publication of CN111475321A publication Critical patent/CN111475321A/zh
Application granted granted Critical
Publication of CN111475321B publication Critical patent/CN111475321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于迭代抽象分析的神经网络安全性质验证方法,其步骤包括:步骤S1:单遍抽象分析;对一个给定的输入域在神经网络的抽象语义下进行逐层推导,得到其对应的输出;步骤S2:基于不变式进行性质验证;通过检查不变式与待验证性质的关系,判断性质是否成立;步骤S3:输入域划分;对于给定的输入域,若单遍抽象分析产生的不变式无法验证性质是否成立时,则采用非确定首层神经元引导的划分策略产生划分谓词,再基于划分谓词对输入域进行划分,生成两个子验证问题;步骤S4:子验证问题精化;骤S5:迭代验证;对于每个无法验证的子问题,重复上述步骤。本发明具有原理简单、能够提高神经网络安全性质完备验证的效率等优点。

Description

一种基于迭代抽象分析的神经网络安全性质验证方法
技术领域
本发明主要涉及到神经网络技术领域,特指一种基于迭代抽象分析的神经网络安全性质验证方法。
背景技术
神经网络近年来被广泛应用于安全攸关领域,包括自动驾驶、医疗诊断、飞行器防碰撞***等。在此类***中,任何一个安全性质被违背都可能带来非常严重的后果。例如,近些年,特斯拉自动驾驶***因故障出现多起车毁人亡的事件。通常情况下,安全攸关***都进行了尽可能充分的测试,但这些测试难以保证在极端场景下***的高可靠性。因此,确保神经网络***的高可靠性已经成为人工智能技术在安全攸关领域广泛应用的重要前提。
验证技术是判断一个神经网络***是否可靠的重要途径。具体而言,验证问题是指给定一组关于输入的约束,对于输入约束中变量的每一组可能的具体取值,经过神经网络的逐层计算,都会得到一组输出,判断这些输出是否满足预先设定的关于输出的一组约束(即安全性质)。
现有的基于区间传播的神经网络安全性质完备验证方法包括以下四个步骤:
S1:基于区间值传播的单遍抽象分析。
S2:性质验证。
S3:基于区间二分法的输入域划分。
S4:对于划分得到的子验证问题,重复步骤S1至S3。
现有的神经网络安全性质完备验证技术存在的主要缺点是验证效率低,具体原因来自以下三个方面:
1)单遍抽象分析精度低;目前基于区间值传播的抽象分析过程在碰到ReLU激活函数时,需要利用ReLU函数之前的符号表示计算出ReLU函数之后的神经元的数值区间范围,该过程丢失了神经元之间的线性关系,从而导致逐层计算过程中引入大量精度损失。由于精度损失会逐层传播并放大,其后果是导致单遍抽象分析的精度很低,不足以验证性质是否成立,导致单遍抽象验证成功率低。
2)未利用待验证的目标性质;目前迭代验证过程中,每次都只利用了前向抽象分析产生的不变式来判断性质是否成立,而未利用待验证性质对待验证问题进行优化,从而导致迭代验证的目标性不强,验证效率低。
3)划分方法过于简单和盲目;目前的划分方法是从输入层选取一个神经元,对神经元的数值区间范围进行二分,得到两个子区间,再对每个子区间进行验证。这种划分方法没有考虑神经网络的结构特征,导致划分得到的子区间与原来的区间相比,对于验证性质是否成立的效果不显著,从而使得需要很深的划分深度才能验证性质,验证效率低。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、能够提高神经网络安全性质完备验证的效率、降低时间开销的基于迭代抽象分析的神经网络安全性质验证方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于迭代抽象分析的神经网络安全性质验证方法,其步骤包括:
步骤S1:单遍抽象分析;对一个给定的输入域在神经网络的抽象语义下进行逐层推导,得到其对应的输出;
步骤S2:基于不变式进行性质验证;通过检查不变式与待验证性质的关系,判断性质是否成立;
步骤S3:输入域划分;对于给定的输入域,若单遍抽象分析产生的不变式无法验证性质是否成立时,则采用非确定首层神经元引导的划分策略产生划分谓词,再基于划分谓词对输入域进行划分,生成两个子验证问题;
步骤S4:子验证问题精化;在每个子验证问题中,利用划分谓词对输入变量的区间值范围进行精化;
步骤S5:迭代验证;对于每个无法验证的子问题,重复步骤S1至S4。
作为本发明方法的进一步改进:所述步骤S1的步骤包括:
步骤S11:基于上一层神经元的抽象表示计算当前层神经元执行ReLU激活函数之前的抽象表示;
步骤S12:基于ReLU激活函数之前的抽象表示,对于激活函数状态无法确定的神经元利用线性松弛技术,近似计算ReLU激活函数执行之后的抽象表示;
步骤S13:从输入层开始,重复步骤S11和S12直到计算出输出层神经元的抽象表示。
作为本发明方法的进一步改进:所述步骤S11中神经元抽象表示的计算方式是:
给定一个神经网络N,设它的输入向量是X={x1,x2,…,xn},其中n是输入层的维度;对于每个输入神经元xi,引入
Figure BDA0002482520960000031
表示它的区间值范围,其中xi ,
Figure BDA0002482520960000032
都是数值常量;则
Figure BDA0002482520960000033
称为N的区间输入域。
对于神经网络每个神经元s,定义它的抽象数据表示为(Rs,As),其中As表示神经元s的激活状态;具体而言,它有三种可能状态:激活、不激活和状态未知;Rs表示节点的抽象值表示,它是一个四元组
Figure BDA0002482520960000034
其中:
(1)
Figure BDA0002482520960000035
分别表示神经元s执行激活函数之前或后的符号化下界和上界,它们都是基于输入层神经元的线性表示;
(2)
Figure BDA0002482520960000036
分别表示符号表达式
Figure BDA0002482520960000037
的值下界和值上界;类似地,
Figure BDA0002482520960000038
表示了符号表达式
Figure BDA0002482520960000041
的的值下界和值上界;
整个神经网络N的抽象表示记作(R,A),即为N中的每个神经元都维护上述抽象数据表示。
作为本发明方法的进一步改进:首先,单个神经元s的符号化上下界
Figure BDA0002482520960000042
的计算依赖于上一层节点的输出,如果s位于隐含层第一层,则:
Figure BDA0002482520960000043
其中,w1,w2,…,wn表示神经网络中对应边的权重值,b表示该神经元的偏移值;如果s位于隐含层第j(j≥2)层或者输出层,则:
Figure BDA0002482520960000044
Figure BDA0002482520960000045
其中,yi表示前一隐含层(即第(j-1)层)的第i个神经元,且:
Figure BDA0002482520960000046
其次,对于神经元s,基于其符号化上下界
Figure BDA0002482520960000047
以及神经网络的区间输入域D,直接计算出
Figure BDA0002482520960000048
的值上下界
Figure BDA0002482520960000049
Figure BDA00024825209600000410
再次,基于神经元s当前的激活状态和计算得到的值上下界
Figure BDA00024825209600000411
Figure BDA00024825209600000412
对它的激活状态进行更新,并将更新后的激活状态记为A′s
Figure BDA00024825209600000413
作为本发明方法的进一步改进:所述步骤S12中计算ReLU函数执行之后神经元抽象表示的线性松弛公式是:
Figure BDA00024825209600000414
Figure BDA0002482520960000051
作为本发明方法的进一步改进:所述步骤S2包括:
步骤S21:检查
Figure BDA0002482520960000052
是否成立;若成立,则性质关于输入域Ω成立,返回;否则继续下述步骤;其中ψR表示基于R将ψ表示成关于输入神经元的约束;
步骤S22:检查
Figure BDA0002482520960000053
是否成立;若成立,则性质关于输入域Ω不成立,生成一个反例,并终止整个验证过程;否则继续下述步骤;
步骤S23:
Figure BDA0002482520960000054
是可满足的,无法判断ψ关于输入域Ω是否成立,需进一步验证:基于
Figure BDA0002482520960000055
生成一个可疑反例;若可疑反例能够导致性质不成立,则性质不成立,返回一个反例,并终止整个验证过程;否则更新Ω为
Figure BDA0002482520960000056
返回更新之后的Ω,以待进一步验证;Ω的更新模拟了性质制导的后向分析的过程,实现了输入域的精化。
作为本发明方法的进一步改进:所述步骤S3包括:
S31:计算非确定首层FUL;非确定首层定义为:若隐含层L的所有神经元都具有确定的激活状态,则称L是确定层,否则称L是非确定层;最靠近输入层的非确定层被称之为非确定首层;
S32:选取划分目标神经元为FUL中的非确定神经元t,则
Figure BDA0002482520960000057
简记作tb
S33:基于t对Ω进行划分,得到两个子输入域,并修改t的激活状态:
Ω1=Ω∪{tb≥0},Ω2=Ω∪{tb<0}
Figure BDA0002482520960000058
作为本发明方法的进一步改进:所述步骤S4包括:对于每个子验证问题,基于Ω对区间输入域X进行精化,具体方法是对于划分产生的两个子验证问题,对应的抽象输入域分别是Ω1和Ω2,分别利用线性规划求解器计算每个输入层神经元的区间值范围。
作为本发明方法的进一步改进:所述步骤S5包括:对于划分产生的两个无法验证的子问题,重复步骤S1至S4,直到:(1)在某个子验证问题中生成一个反例使得性质不成立,立即终止整个验证过程;(2)所有划分产生的子验证问题都已经被验证是成立的,则结束验证过程,返回性质成立;该过程能够保证验证的完备性。
与现有技术相比,本发明的优点在于:
1、本发明提供新的抽象分析的抽象表示和ReLU激活函数的近似抽象方式,以提高单遍抽象分析的精度。本发明利用目标性质引导后向分析,以实现基于目标性质的输入域的精化。本发明提出了基于非确定首层神经元引导的谓词划分和区间输入域精化策略,以提高划分的效率。
2、本发明的优点在于能够提高神经网络安全性质完备验证的效率,具体而言是通过以下三方面提高验证效率并降低时间开销:
(1)、本发明的基于迭代抽象分析的神经网络安全性质验证方法,能够提高单遍抽象分析的精度。相比于现有抽象验证方法只使用区间值传播技术进行单遍抽象分析,本发明同时利用符号化上下界和区间值范围对神经网络进行抽象表示,在遇到ReLU激活函数时,不直接计算ReLU函数执行之后的区间值范围,而是基于线性松弛技术计算其符号化上下界,提高了单遍抽象分析的精度。
(2)、本发明的基于迭代抽象分析的神经网络安全性质验证方法,提出了目标性质制导的后向分析的过程,以实现输入域的精化,以提高下一遍迭代验证的精度。相比于现有验证方法,都只通过前向抽象分析获得抽象不变式,然后只基于不变式进行性质验证,本发明在此基础上,当性质无法通过前向分析得到验证时,对性质取反进一步实施后向抽象分析,求取性质不成立时输入层节点需满足的必要前置条件,该必要前置条件是输入域的一个子集,即实现了对输入域的精化。
(3)、本发明的基于迭代抽象分析的神经网络安全性质验证方法,能够提高验证问题划分的效率。相比于现有验证方法直接在输入神经元上进行区间二分以实现简单迭代验证,本发明基于非确定首层(FUL)神经元的启发式的输入域谓词划分策略,同时利用划分谓词对区间输入域进行精化,使得到的子验证问题更易于被单遍抽象分析过程所验证。
附图说明
图1是本发明方法的流程示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明的一种基于迭代抽象分析的神经网络安全性质验证方法,其步骤包括:
步骤S1:单遍抽象分析;
对一个给定的输入域在神经网络的抽象语义下进行逐层推导,得到其对应的输出;
步骤S2:基于不变式进行性质验证;
通过检查不变式与待验证性质的关系,判断性质是否成立,验证结果有三种可能:性质成立、性质不成立(产生反例)、无法验证性质是否成立;
步骤S3:输入域划分;
对于给定的输入域,若单遍抽象分析产生的不变式无法验证性质是否成立时,则采用非确定首层神经元引导的划分策略产生划分谓词,再基于划分谓词对输入域进行划分,生成两个子验证问题;
步骤S4:子验证问题精化;
在每个子验证问题中,利用划分谓词对输入变量的区间值范围进行精化,一方面可以通过使得更多非确定状态的神经元变成确定化状态;另一方面即便不能改变任何神经元的激活状态,也可以通过精化每层神经元的符号化上下界和值上下界提高最终的抽象输出精度,从而提高单遍抽象分析成功验证性质的可能性;
步骤S5:迭代验证;
对于每个无法验证的子问题,重复步骤S1至S4,直到:(1)在某个子验证问题中生成一个反例使得性质不成立,立即终止整个验证过程;(2)所有划分产生的子验证问题都已经被验证是成立的,则结束验证过程,返回性质成立。
其中,所述抽象分析是在神经网络的抽象语义下进行上近似分析,以获取每个神经元的可靠抽象数据表示(包含了该神经元所有可能出现的具体状态),即不变式约束。所述形式化验证是指使用数学上严格的方法证明一个***不存在某个缺陷或符合某种性质。
本发明在具体应用实例中,所述步骤S1的步骤包括:
步骤S11:基于上一层神经元的抽象表示计算当前层神经元执行ReLU激活函数之前的抽象表示;
步骤S12:基于ReLU激活函数之前的抽象表示,对于激活函数状态无法确定的神经元利用线性松弛技术,近似计算ReLU激活函数执行之后的抽象表示;
步骤S13:从输入层开始,重复步骤S11和S12直到计算出输出层神经元的抽象表示。
本发明在具体应用实例中,所述步骤S11的步骤包括:
所述步骤S11中神经元抽象表示的计算方式是:
给定一个神经网络N,设它的输入向量是X={x1,x2,…,xn},其中n是输入层的维度。对于每个输入神经元xi,引入
Figure BDA0002482520960000091
表示它的区间值范围,其中xi ,
Figure BDA0002482520960000092
都是数值常量;则
Figure BDA0002482520960000093
称为N的区间输入域。
对于神经网络每个神经元s,定义它的抽象数据表示为(Rs,As),其中As表示神经元s的激活状态。具体而言,它有三种可能状态:激活(记作active)、不激活(inactive)和状态未知(unknown)。Rs表示节点的抽象值表示,它是一个四元组
Figure BDA0002482520960000094
其中:
(1)
Figure BDA0002482520960000095
分别表示神经元s执行激活函数之前(后)的符号化下界和上界,它们都是基于输入层神经元的线性表示。
(2)
Figure BDA0002482520960000096
分别表示符号表达式
Figure BDA0002482520960000097
的值下界和值上界。类似地,
Figure BDA0002482520960000098
表示了符号表达式
Figure BDA0002482520960000099
的的值下界和值上界。
整个神经网络N的抽象表示记作(R,A),即为N中的每个神经元都维护上述抽象数据表示。
首先,单个神经元s的符号化上下界
Figure BDA00024825209600000910
的计算依赖于上一层节点的输出,如果s位于隐含层第一层,则:
Figure BDA00024825209600000911
其中,w1,w2,…,wn表示神经网络中对应边的权重值,b表示该神经元的偏移值。更一般的,如果s位于隐含层第j(j≥2)层或者输出层,则
Figure BDA00024825209600000912
Figure BDA00024825209600000913
其中,yi表示前一隐含层(即第(j-1)层)的第i个神经元,且
Figure BDA00024825209600000914
其次,对于神经元s,基于其符号化上下界
Figure BDA00024825209600000915
以及神经网络的区间输入域D,可以直接计算出
Figure BDA0002482520960000101
的值上下界
Figure BDA0002482520960000102
Figure BDA0002482520960000103
再次,基于神经元s当前的激活状态和计算得到的值上下界
Figure BDA0002482520960000104
Figure BDA0002482520960000105
对它的激活状态进行更新,并将更新后的激活状态记为A′s
Figure BDA0002482520960000106
此外对于每遍抽象分析,还维护一个线性约束集合(Linear Constraint Set),记作Ω。Ω中的每个元素都是关于输入变量集合X的一个线性约束。在性质开始验证之前,Ω将基于区间输入域X进行初始化。值得注意的是,在抽象分析过程中,只利用了区间输入域X所表示的变量值范围,而没有使用Ω。主要原因在于,一旦使用Ω进行抽象分析,则求符号变量(如
Figure BDA0002482520960000107
)对应的值区间(即
Figure BDA0002482520960000108
)则需要调用线性规划求解器,而这个线性规划求解的代价相对而言是比较大的。事实上,在迭代过程中,D表示的区间输入域是Ω的一个上近似,即Ω对应的输入域精度更高,而在抽象分析过程中之所以不使用Ω,也是为了取得效率和精度之间的一个折衷。
本发明在具体应用实例中,所述步骤S12中计算ReLU函数执行之后神经元抽象表示的线性松弛公式是:
Figure BDA0002482520960000109
Figure BDA00024825209600001010
本发明在具体应用实例中,所述步骤S2包括:
步骤S21:检查
Figure BDA00024825209600001011
是否成立。若成立,则性质关于输入域Ω成立,返回;否则继续下述步骤。其中ψR表示基于R将ψ表示成关于输入神经元的约束。
步骤S22:检查
Figure BDA00024825209600001012
是否成立。若成立,则性质关于输入域Ω不成立,生成一个反例,并终止整个验证过程;否则继续下述步骤;
步骤S23:
Figure BDA0002482520960000111
是可满足的,无法判断ψ关于输入域Ω是否成立,需进一步验证:基于
Figure BDA0002482520960000112
生成一个可疑反例。若可疑反例能够导致性质不成立,则性质不成立,返回一个反例,并终止整个验证过程;否则更新Ω为
Figure BDA0002482520960000113
返回更新之后的Ω,以待进一步验证。Ω的更新模拟了性质制导的后向分析的过程,实现了输入域的精化。
本发明在具体应用实例中,所述步骤S3包括:
S31:计算非确定首层FUL。非确定首层定义为:若隐含层L的所有神经元都具有确定的激活状态,则称L是确定层,否则称L是非确定层。最靠近输入层的非确定层被称之为非确定首层(First Undeterministic Layer,简称FUL)。
S32:选取划分目标神经元为FUL中的非确定神经元t,则
Figure BDA0002482520960000114
简记作tb
S33:基于t对Ω进行划分,得到两个子输入域,并修改t的激活状态(At=unknown):
Ω1=Ω∪{tb≥0},Ω2=Ω∪{tb<0}
Figure BDA0002482520960000115
本发明在具体应用实例中,所述步骤S4包括:
对于每个子验证问题,基于Ω对区间输入域X进行精化,以提高抽象分析精度,具体方法是对于划分产生的两个子验证问题(对应的抽象输入域分别是Ω1和Ω2),分别利用线性规划求解器计算每个输入层神经元的区间值范围,例如,设x是输入层神经元,则子问题一精化后的x的值范围是[min{x|Ω1},max{x|Ω1}]。
本发明在具体应用实例中,所述步骤S5包括:
对于划分产生的两个无法验证的子问题,重复步骤S1至S4,直到:(1)在某个子验证问题中生成一个反例使得性质不成立,立即终止整个验证过程;(2)所有划分产生的子验证问题都已经被验证是成立的,则结束验证过程,返回性质成立。该过程能够保证验证的完备性。
在本发明的上述过程中,对于步骤S2中基于目标性质的输入域精化方法,本发明只基于目标性质对输入层神经元的输入进行精化,其它基于目标性质对中间神经元的抽象表示进行精化的方法都属于本发明的基于目标性质的后向分析方法的一个应用,其关键在于后向分析能够求取目标性质违背的必要前置条件,该必要前置条件是前向分析过程中各个神经元抽象表示的一个子集,从而提高抽象分析的精度。
在本发明的上述过程中,对于S3中基于非确定首层神经元的输入域划分策略,本发明并没有限定在确定了非确定首层以后具体选取哪一个神经元来产生划分谓词,其它类似的关于非确定首层内神经元如何选取的策略都是本发明的有效变体,其关键点在于非确定首层中的神经元激活状态确定化以后能够有效提高整个抽象分析的精度。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (9)

1.一种基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,步骤包括:
步骤S1:单遍抽象分析;对一个给定的输入域在神经网络的抽象语义下进行逐层推导,得到其对应的输出;
步骤S2:基于不变式进行性质验证;通过检查不变式与待验证性质的关系,判断性质是否成立;
步骤S3:输入域划分;对于给定的输入域,若单遍抽象分析产生的不变式无法验证性质是否成立时,则采用非确定首层神经元引导的划分策略产生划分谓词,再基于划分谓词对输入域进行划分,生成两个子验证问题;
步骤S4:子验证问题精化;在每个子验证问题中,利用划分谓词对输入变量的区间值范围进行精化;
步骤S5:迭代验证;对于每个无法验证的子问题,重复步骤S1至S4。
2.根据权利要求1所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S1的步骤包括:
步骤S11:基于上一层神经元的抽象表示计算当前层神经元执行ReLU激活函数之前的抽象表示;
步骤S12:基于ReLU激活函数之前的抽象表示,对于激活函数状态无法确定的神经元利用线性松弛技术,近似计算ReLU激活函数执行之后的抽象表示;
步骤S13:从输入层开始,重复步骤S11和S12直到计算出输出层神经元的抽象表示。
3.根据权利要求2所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S11中神经元抽象表示的计算方式是:
给定一个神经网络N,设它的输入向量是X={x1,x2…,xn},其中n是输入层的维度;对于每个输入神经元,引入
Figure FDA0002482520950000021
表示它的区间值范围,其中xi ,
Figure FDA0002482520950000022
都是数值常量;则
Figure FDA0002482520950000023
称为N的区间输入域;
对于神经网络每个神经元s,定义它的抽象数据表示为(Rs,As),其中As表示神经元s的激活状态;具体而言,它有三种可能状态:激活、不激活和状态未知;Rs表示节点的抽象值表示,它是一个四元组
Figure FDA0002482520950000024
其中:
(1)
Figure FDA0002482520950000025
分别表示神经元s执行激活函数之前或后的符号化下界和上界,它们都是基于输入层神经元的线性表示;
(2)
Figure FDA0002482520950000026
分别表示符号表达式
Figure FDA0002482520950000027
的值下界和值上界;类似地,
Figure FDA0002482520950000028
表示了符号表达式
Figure FDA0002482520950000029
的的值下界和值上界;
整个神经网络N的抽象表示记作(R,A),即为N中的每个神经元都维护上述抽象数据表示。
4.根据权利要求3所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,首先,单个神经元s的符号化上下界
Figure FDA00024825209500000210
的计算依赖于上一层节点的输出,如果s位于隐含层第一层,则:
Figure FDA00024825209500000211
其中,w1,w2,…,wn表示神经网络中对应边的权重值,b表示该神经元的偏移值;如果s位于隐含层第j(j≥2)层或者输出层,则:
Figure FDA00024825209500000212
Figure FDA00024825209500000213
其中,yi表示前一隐含层(即第(j-1)层)的第i个神经元,且:
Figure FDA00024825209500000214
其次,对于神经元s,基于其符号化上下界
Figure FDA00024825209500000215
以及神经网络的区间输入域D,直接计算出
Figure FDA0002482520950000031
的值上下界
Figure FDA0002482520950000032
Figure FDA0002482520950000033
再次,基于神经元s当前的激活状态和计算得到的值上下界
Figure FDA0002482520950000034
Figure FDA0002482520950000035
对它的激活状态进行更新,并将更新后的激活状态记为′:
Figure FDA0002482520950000036
5.根据权利要求4所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S12中计算ReLU函数执行之后神经元抽象表示的线性松弛公式是:
Figure FDA0002482520950000037
Figure FDA0002482520950000038
6.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S2包括:
步骤S21:检查
Figure FDA0002482520950000039
是否成立;若成立,则性质关于输入域Ω成立,返回;否则继续下述步骤;其中ψR表示基于R将ψ表示成关于输入神经元的约束;
步骤S22:检查
Figure FDA00024825209500000310
是否成立;若成立,则性质关于输入域Ω不成立,生成一个反例,并终止整个验证过程;否则继续下述步骤;
步骤S23:
Figure FDA00024825209500000311
是可满足的,无法判断ψ关于输入域Ω是否成立,需进一步验证:基于
Figure FDA00024825209500000312
生成一个可疑反例;若可疑反例能够导致性质不成立,则性质不成立,返回一个反例,并终止整个验证过程;否则更新Ω为
Figure FDA00024825209500000313
返回更新之后的Ω,以待进一步验证;Ω的更新模拟了性质制导的后向分析的过程,实现了输入域的精化。
7.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S3包括:
S31:计算非确定首层FUL;非确定首层定义为:若隐含层L的所有神经元都具有确定的激活状态,则称L是确定层,否则称L是非确定层;最靠近输入层的非确定层被称之为非确定首层;
S32:选取划分目标神经元为FUL中的非确定神经元t,则
Figure FDA0002482520950000041
简记作tb
S33:基于t对Ω进行划分,得到两个子输入域,并修改t的激活状态:
Ω1=Ω∪{tb≥0},Ω2=Ω∪{tb<0}
Figure FDA0002482520950000042
8.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S4包括:对于每个子验证问题,基于Ω对区间输入域X进行精化,具体方法是对于划分产生的两个子验证问题,对应的抽象输入域分别是Ω1和Ω2,分别利用线性规划求解器计算每个输入层神经元的区间值范围。
9.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S5包括:对于划分产生的两个无法验证的子问题,重复步骤S1至S4,直到:(1)在某个子验证问题中生成一个反例使得性质不成立,立即终止整个验证过程;(2)所有划分产生的子验证问题都已经被验证是成立的,则结束验证过程,返回性质成立;该过程能够保证验证的完备性。
CN202010382022.4A 2020-05-08 2020-05-08 一种基于迭代抽象分析的神经网络安全性质验证方法 Active CN111475321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010382022.4A CN111475321B (zh) 2020-05-08 2020-05-08 一种基于迭代抽象分析的神经网络安全性质验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010382022.4A CN111475321B (zh) 2020-05-08 2020-05-08 一种基于迭代抽象分析的神经网络安全性质验证方法

Publications (2)

Publication Number Publication Date
CN111475321A true CN111475321A (zh) 2020-07-31
CN111475321B CN111475321B (zh) 2024-04-26

Family

ID=71762224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010382022.4A Active CN111475321B (zh) 2020-05-08 2020-05-08 一种基于迭代抽象分析的神经网络安全性质验证方法

Country Status (1)

Country Link
CN (1) CN111475321B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733941A (zh) * 2021-01-12 2021-04-30 山东大学 基于保壳性的医疗用途神经网络鲁棒性验证方法及***

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19610849C1 (de) * 1996-03-19 1997-10-16 Siemens Ag Verfahren zur iterativen Ermittlung einer optimierten Netzarchitektur eines Neuronalen Netzes durch einen Rechner
CN103729523A (zh) * 2014-01-22 2014-04-16 中国人民解放军国防科学技术大学 一种面向参数化***的自动验证方法
US20150154096A1 (en) * 2013-11-29 2015-06-04 The Regents Of The University Of Michigan Verification of complex systems that can be described by a finite state transition system
CN107222333A (zh) * 2017-05-11 2017-09-29 中国民航大学 一种基于bp神经网络的网络节点安全态势评估方法
US20190138898A1 (en) * 2017-11-07 2019-05-09 Samsung Electronics Co., Ltd. Method and apparatus with neural network performing deconvolution
US10474543B1 (en) * 2019-01-28 2019-11-12 Stradivision, INC. Method and device for economizing computing resources to be used during a process of verification of convolutional parameters using test pattern to enhance fault tolerance and fluctuation robustness in extreme situations
CN110443348A (zh) * 2019-06-26 2019-11-12 西安电子科技大学 一种基于msvl的神经网络***的建模和验证方法
CN110633788A (zh) * 2019-08-14 2019-12-31 南京大学 面向神经网络模型的基于层间剖析的输入实例验证方法
WO2020042832A1 (zh) * 2018-08-29 2020-03-05 厦门快商通信息技术有限公司 神经网络节点的自增减方法、装置及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19610849C1 (de) * 1996-03-19 1997-10-16 Siemens Ag Verfahren zur iterativen Ermittlung einer optimierten Netzarchitektur eines Neuronalen Netzes durch einen Rechner
US20150154096A1 (en) * 2013-11-29 2015-06-04 The Regents Of The University Of Michigan Verification of complex systems that can be described by a finite state transition system
CN103729523A (zh) * 2014-01-22 2014-04-16 中国人民解放军国防科学技术大学 一种面向参数化***的自动验证方法
CN107222333A (zh) * 2017-05-11 2017-09-29 中国民航大学 一种基于bp神经网络的网络节点安全态势评估方法
US20190138898A1 (en) * 2017-11-07 2019-05-09 Samsung Electronics Co., Ltd. Method and apparatus with neural network performing deconvolution
WO2020042832A1 (zh) * 2018-08-29 2020-03-05 厦门快商通信息技术有限公司 神经网络节点的自增减方法、装置及存储介质
US10474543B1 (en) * 2019-01-28 2019-11-12 Stradivision, INC. Method and device for economizing computing resources to be used during a process of verification of convolutional parameters using test pattern to enhance fault tolerance and fluctuation robustness in extreme situations
CN110443348A (zh) * 2019-06-26 2019-11-12 西安电子科技大学 一种基于msvl的神经网络***的建模和验证方法
CN110633788A (zh) * 2019-08-14 2019-12-31 南京大学 面向神经网络模型的基于层间剖析的输入实例验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汪洋等: "基于深度学习算法的铁路列车运行安全检测", 《中国安全科学学报》, pages 1 - 5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733941A (zh) * 2021-01-12 2021-04-30 山东大学 基于保壳性的医疗用途神经网络鲁棒性验证方法及***
CN112733941B (zh) * 2021-01-12 2022-06-21 山东大学 基于神经网络的高鲁棒用户分类方法及***

Also Published As

Publication number Publication date
CN111475321B (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
Dutta et al. Reachability analysis for neural feedback systems using regressive polynomial rule inference
Katz et al. Reluplex: An efficient SMT solver for verifying deep neural networks
Tiwari et al. A technique for invariant generation
US20190370473A1 (en) Detecting vulnerabilities to fault injection in computer code using machine learning
Tran et al. Verification approaches for learning-enabled autonomous cyber–physical systems
André et al. Parametric analyses of attack-fault trees
Dimitrova et al. Deductive control synthesis for alternating-time logics
Gopinath et al. Symbolic execution for importance analysis and adversarial generation in neural networks
Duggirala et al. Lyapunov abstractions for inevitability of hybrid systems
Dong et al. Towards repairing neural networks correctly
Isac et al. Neural Network Verification with Proof Production.
US8601459B2 (en) Control structure refinement of loops using static analysis
CN111475321A (zh) 一种基于迭代抽象分析的神经网络安全性质验证方法
Garcez et al. Combining abductive reasoning and inductive learning to evolve requirements specifications
Wan et al. Accelerating robustness verification of deep neural networks guided by target labels
Hocking et al. Proving critical properties of Simulink models
EP4184398A1 (en) Identifying, or checking integrity of, a machine-learning classification model
Köylü et al. Deterministic and statistical strategies to protect anns against fault injection attacks
Mili et al. Towards the verification and validation of online learning adaptive systems
CN115063652A (zh) 一种基于元学习的黑盒攻击方法、终端设备及存储介质
Moradi et al. Machine learning-assisted fault injection
CN113837253A (zh) 一种单步对抗训练方法、***、设备、存储介质及产品
Wang et al. Credible autocoding of fault detection observers
Demarchi et al. Counter-Example Guided Abstract Refinement for Verification of Neural Networks.
Moukahal et al. Boosting grey-box fuzzing for connected autonomous vehicle systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant