CN111475321B - 一种基于迭代抽象分析的神经网络安全性质验证方法 - Google Patents
一种基于迭代抽象分析的神经网络安全性质验证方法 Download PDFInfo
- Publication number
- CN111475321B CN111475321B CN202010382022.4A CN202010382022A CN111475321B CN 111475321 B CN111475321 B CN 111475321B CN 202010382022 A CN202010382022 A CN 202010382022A CN 111475321 B CN111475321 B CN 111475321B
- Authority
- CN
- China
- Prior art keywords
- layer
- verification
- abstract
- neural network
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004458 analytical method Methods 0.000 title claims abstract description 57
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 54
- 210000002569 neuron Anatomy 0.000 claims abstract description 83
- 238000005192 partition Methods 0.000 claims abstract description 12
- 238000007670 refining Methods 0.000 claims abstract description 11
- 230000004913 activation Effects 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 36
- 238000000638 solvent extraction Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 8
- 210000002364 input neuron Anatomy 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000009849 deactivation Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 239000004576 sand Substances 0.000 claims 1
- 230000006872 improvement Effects 0.000 description 8
- 230000007547 defect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000017511 neuron migration Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (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,设它的输入向量是,其中n 是输入层的维度;对于每个输入神经元/>,引入[/>,/>] 表示它的区间值范围,其中/>,/>都是数值常量;则称为N 的区间输入域。
对于神经网络每个神经元s,定义它的抽象数据表示为,其中/>表示神经元s的激活状态;具体而言,它有三种可能状态:激活、不激活和状态未知;/>表示节点的抽象值表示,它是一个四元组/>,其中:
(1)(/>)分别表示神经元s 执行激活函数之前或后的符号化下界和上界,它们都是基于输入层神经元的线性表示;
(2)分别表示符号表达式/>的值下界和值上界;类似地,/>表示了符号表达式/>的的值下界和值上界;
整个神经网络N的抽象表示记作,即为N中的每个神经元都维护上述抽象数据表示。
作为本发明方法的进一步改进:首先,单个神经元s的符号化上下界的计算依赖于上一层节点的输出,如果s位于隐含层第一层,则:
其中,表示神经网络中对应边的权重值,b表示该神经元的偏移值;如果s位于隐含层第j(j/>2) 层或者输出层,则:
其中,表示前一隐含层(即第(j-1)层)的第i个神经元,且:
,/>
其次,对于神经元s, 基于其符号化上下界,以及神经网络的区间输入域D,直接计算出/>的值上下界/>和/>;
再次,基于神经元s 当前的激活状态和计算得到的值上下界和/>对它的激活状态进行更新,并将更新后的激活状态记为/>:
。
作为本发明方法的进一步改进:所述步骤S12中计算ReLU函数执行之后神经元抽象表示的线性松弛公式是:
。
作为本发明方法的进一步改进:所述步骤S2包括:
步骤S21:检查是否成立;若成立,则性质关于输入域/>成立,返回;否则继续下述步骤;其中/>表示基于/>将/>表示成关于输入神经元的约束;
步骤S22:检查是否成立;若成立,则性质关于输入域/>不成立,生成一个反例,并终止整个验证过程;否则继续下述步骤;
步骤S23:是可满足的,无法判断𝜓关于输入域/>是否成立,需进一步验证:基于/>生成一个可疑反例;若可疑反例能够导致性质不成立,则性质不成立,返回一个反例,并终止整个验证过程;否则更新/>为/>,返回更新之后的/>,以待进一步验证;的更新模拟了性质制导的后向分析的过程,实现了输入域的精化。
作为本发明方法的进一步改进:所述步骤S3包括:
S31:计算非确定首层FUL;非确定首层定义为:若隐含层L的所有神经元都具有确定的激活状态,则称L是确定层,否则称L是非确定层;最靠近输入层的非确定层被称之为非确定首层;
S32:选取划分目标神经元为FUL中的非确定神经元t,则=/>简记作/>;
S33:基于t对进行划分,得到两个子输入域,并修改t的激活状态:
,/>
,/>。
作为本发明方法的进一步改进:所述步骤S4包括:对于每个子验证问题,基于对区间输入域D进行精化,具体方法是对于划分产生的两个子验证问题,对应的子输入域分别是/>和/>,分别利用线性规划求解器计算每个输入层神经元的区间值范围。
作为本发明方法的进一步改进:所述步骤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,设它的输入向量是,其中n 是输入层的维度。对于每个输入神经元/>,引入[/>,/>] 表示它的区间值范围,其中/>,/>都是数值常量;则称为N 的区间输入域。
对于神经网络每个神经元s,定义它的抽象数据表示为,其中/>表示神经元s的激活状态。具体而言,它有三种可能状态:激活(记作active)、不激活(inactive)和状态未知(unknown)。/>表示节点的抽象值表示,它是一个四元组/>,其中:
(1)(/>)分别表示神经元s 执行激活函数之前(后)的符号化下界和上界,它们都是基于输入层神经元的线性表示。
(2)分别表示符号表达式/>的值下界和值上界。类似地,/>表示了符号表达式/>的的值下界和值上界。
整个神经网络N的抽象表示记作,即为N中的每个神经元都维护上述抽象数据表示。
首先,单个神经元s的符号化上下界的计算依赖于上一层节点的输出,如果s位于隐含层第一层,则:
其中,表示神经网络中对应边的权重值,b表示该神经元的偏移值。更一般的,如果s位于隐含层第j(j/>2) 层或者输出层,则
其中,表示前一隐含层(即第(j-1)层)的第i个神经元,且
,/>
其次,对于神经元s, 基于其符号化上下界,以及神经网络的区间输入域D,可以直接计算出/>的值上下界/>和/>。
再次,基于神经元s 当前的激活状态和计算得到的值上下界和/>对它的激活状态进行更新,并将更新后的激活状态记为/>:
此外对于每遍抽象分析,还维护一个线性约束集合(Linear Constraint Set),记作。/>中的每个元素都是关于输入变量集合X 的一个线性约束。在性质开始验证之前,/>将基于区间输入域X 进行初始化。值得注意的是,在抽象分析过程中,只利用了区间输入域X所表示的变量值范围,而没有使用/>。主要原因在于,一旦使用/>进行抽象分析,则求符号变量(如/>)对应的值区间(即/>)则需要调用线性规划求解器,而这个线性规划求解的代价相对而言是比较大的。事实上,在迭代过程中,D表示的区间输入域是/>的一个上近似,即/>对应的输入域精度更高,而在抽象分析过程中之所以不使用/>,也是为了取得效率和精度之间的一个折衷。
本发明在具体应用实例中,所述步骤S12中计算ReLU函数执行之后神经元抽象表示的线性松弛公式是:
本发明在具体应用实例中,所述步骤S2包括:
步骤S21:检查是否成立。若成立,则性质关于输入域/>成立,返回;否则继续下述步骤。其中/>表示基于/>将/>表示成关于输入神经元的约束。
步骤S22:检查是否成立。若成立,则性质关于输入域/>不成立,生成一个反例,并终止整个验证过程;否则继续下述步骤;
步骤S23:是可满足的,无法判断𝜓关于输入域/>是否成立,需进一步验证:基于/>生成一个可疑反例。若可疑反例能够导致性质不成立,则性质不成立,返回一个反例,并终止整个验证过程;否则更新/>为/>,返回更新之后的/>,以待进一步验证。的更新模拟了性质制导的后向分析的过程,实现了输入域的精化。
本发明在具体应用实例中,所述步骤S3包括:
S31:计算非确定首层FUL。非确定首层定义为:若隐含层L的所有神经元都具有确定的激活状态,则称L是确定层,否则称L是非确定层。最靠近输入层的非确定层被称之为非确定首层(First Undeterministic Layer,简称FUL)。
S32:选取划分目标神经元为FUL中的非确定神经元t,则=/>简记作/>。
S33:基于t对进行划分,得到两个子输入域,并修改t的激活状态(/>):
,/>
,/>
本发明在具体应用实例中,所述步骤S4包括:
对于每个子验证问题,基于对区间输入域/>进行精化,以提高抽象分析精度,具体方法是对于划分产生的两个子验证问题(对应的抽象输入域分别是/>和/>),分别利用线性规划求解器计算每个输入层神经元的区间值范围,例如,设x是输入层神经元,则子问题一精化后的x的值范围是[min{x|/>}, max{x|/>}]。
本发明在具体应用实例中,所述步骤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,设它的输入向量是,其中n 是输入层的维度;对于每个输入神经元/>,引入[/>,/>] 表示它的区间值范围,其中/>,/>都是数值常量;则称为N 的区间输入域;
对于神经网络每个神经元s,定义它的抽象数据表示为,其中/>表示神经元s 的激活状态,具体而言,它有三种可能状态:激活、不激活和状态未知;/>表示节点的抽象值表示,它是一个四元组/>,其中:
(1)分别表示神经元s 执行激活函数之前的符号化下界和上界,/>分别表示神经元s 执行激活函数之后的符号化下界和上界,它们都是基于输入层神经元的线性表示;
(2)分别表示符号表达式/>的值下界和值上界;类似地,/> 表示了符号表达式/>的值下界和值上界;
整个神经网络N的抽象表示记作,即为N中的每个神经元都维护上述抽象数据表示。
4.根据权利要求3所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,首先,单个神经元s的符号化下界和上界,的计算依赖于上一层节点的输出,如果s位于隐含层第一层,则:
,
其中,表示神经网络中对应边的权重值,b表示该神经元的偏移值;如果s位于隐含层第j(j/>2) 层或者输出层,则:
,
其中,表示前一隐含层,即第j-1层的第i个神经元,/>表示神经网络中对应边的权重值,/>和/>的定义分别为:
, />
其次,对于神经元s, 基于其符号化下界和上界,以及神经网络的区间输入域D,直接计算出/>的值下界和上界/>和/>;
再次,基于神经元s 当前的激活状态和计算得到的值下界和上界和/>对它的激活状态进行更新,并将更新后的激活状态记为/>:
。
5.根据权利要求4所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S12中计算ReLU函数执行之后神经元抽象表示的线性松弛公式是:
。
6.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S2包括:
步骤S21:检查是否成立;若成立,则性质关于输入域/>成立,返回;否则继续下述步骤;其中/>表示基于/>将/>表示成关于输入神经元的约束;
步骤S22:检查是否成立;若成立,则性质关于输入域/>不成立,生成一个反例,并终止整个验证过程;否则继续下述步骤;
步骤S23:是可满足的,无法判断/>关于输入域/>是否成立,需进一步验证:基于生成一个可疑反例;若可疑反例能够导致性质不成立,则性质不成立,返回一个反例,并终止整个验证过程;否则更新/>为/>,返回更新之后的/>,以待进一步验证;/>的更新模拟了性质制导的后向分析的过程,实现了输入域的精化。
7.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S3包括:
S31:计算非确定首层FUL;非确定首层定义为:若隐含层L的所有神经元都具有确定的激活状态,则称L是确定层,否则称L是非确定层;最靠近输入层的非确定层被称之为非确定首层;
S32:选取划分目标神经元为FUL中的非确定神经元t,则= />简记作/>;
S33:基于t对进行划分,得到两个子输入域/>和/>,并修改t的激活状态:
,/>
,/>。
8.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S4包括:对于每个子验证问题,基于对区间输入域D进行精化,具体方法是对于划分产生的两个子验证问题,对应的子输入域分别是/>和/>,分别利用线性规划求解器计算每个输入层神经元的区间值范围。
9.根据权利要求2-5中任意一项所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S5包括:对于划分产生的两个无法验证的子问题,重复步骤S1至S4,直到:(1)在某个子验证问题中生成一个反例使得性质不成立,立即终止整个验证过程;(2)所有划分产生的子验证问题都已经被验证是成立的,则结束验证过程,返回性质成立。
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 CN111475321A (zh) | 2020-07-31 |
CN111475321B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733941B (zh) * | 2021-01-12 | 2022-06-21 | 山东大学 | 基于神经网络的高鲁棒用户分类方法及系统 |
Citations (7)
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 | 中国人民解放军国防科学技术大学 | 一种面向参数化系统的自动验证方法 |
CN107222333A (zh) * | 2017-05-11 | 2017-09-29 | 中国民航大学 | 一种基于bp神经网络的网络节点安全态势评估方法 |
CN110443348A (zh) * | 2019-06-26 | 2019-11-12 | 西安电子科技大学 | 一种基于msvl的神经网络系统的建模和验证方法 |
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 |
CN110633788A (zh) * | 2019-08-14 | 2019-12-31 | 南京大学 | 面向神经网络模型的基于层间剖析的输入实例验证方法 |
WO2020042832A1 (zh) * | 2018-08-29 | 2020-03-05 | 厦门快商通信息技术有限公司 | 神经网络节点的自增减方法、装置及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9389983B2 (en) * | 2013-11-29 | 2016-07-12 | The Regents Of The University Of Michigan | Verification of complex systems that can be described by a finite state transition system |
KR20190051697A (ko) * | 2017-11-07 | 2019-05-15 | 삼성전자주식회사 | 뉴럴 네트워크의 디컨벌루션 연산을 수행하는 장치 및 방법 |
-
2020
- 2020-05-08 CN CN202010382022.4A patent/CN111475321B/zh active Active
Patent Citations (7)
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 | 中国人民解放军国防科学技术大学 | 一种面向参数化系统的自动验证方法 |
CN107222333A (zh) * | 2017-05-11 | 2017-09-29 | 中国民航大学 | 一种基于bp神经网络的网络节点安全态势评估方法 |
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)
Title |
---|
基于深度学习算法的铁路列车运行安全检测;汪洋等;《中国安全科学学报》;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111475321A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177417B (zh) | 基于网络安全知识图谱的安全事件关联方法、系统、介质 | |
Dutta et al. | Learning and verification of feedback control systems using feedforward neural networks | |
Zou et al. | Verifying simulink diagrams via a hybrid hoare logic prover | |
Tran et al. | Verification approaches for learning-enabled autonomous cyber–physical systems | |
Kravchik et al. | Poisoning attacks on cyber attack detectors for industrial control systems | |
CN113271321B (zh) | 一种基于网络异常攻击的传播预测处理方法及系统 | |
Dimitrova et al. | Deductive control synthesis for alternating-time logics | |
Muller et al. | On beta models with trust chains | |
Naeem et al. | Scalable mutation testing using predictive analysis of deep learning model | |
CN111475321B (zh) | 一种基于迭代抽象分析的神经网络安全性质验证方法 | |
CN114928493B (zh) | 基于威胁攻击大数据的威胁情报生成方法及ai安全系统 | |
KR20220025455A (ko) | 적대적 공격에 대한 방어 방법 및 그 장치 | |
Bartocci et al. | Adaptive testing for specification coverage in CPS models | |
Sheikhi et al. | Coverage-guided fuzz testing for cyber-physical systems | |
Ibias et al. | SqSelect: Automatic assessment of failed error propagation in state-based systems | |
Bak et al. | Falsification using Reachability of Surrogate Koopman Models | |
Chong et al. | Quantitative robustness analysis of sensor attacks on cyber-physical systems | |
Romdhana et al. | IFRIT: Focused Testing through Deep Reinforcement Learning | |
CN116992452A (zh) | 一种漏洞PoC驱动的双回路模糊测试方法及系统 | |
CN116663018A (zh) | 一种基于代码可执行路径的漏洞检测方法及装置 | |
Bartocci et al. | Adaptive testing for specification coverage and refinement in CPS models | |
CN116224248A (zh) | 一种干扰意图推理方法、存储介质及设备 | |
Köylü et al. | Deterministic and statistical strategies to protect anns against fault injection attacks | |
Kamaleson | Model reduction techniques for probabilistic verification of Markov chains | |
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 |