[发明专利]一种基于迭代抽象分析的神经网络安全性质验证方法在审
申请号: | 202010382022.4 | 申请日: | 2020-05-08 |
公开(公告)号: | CN111475321A | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 陈立前;尹帮虎;王戟;刘江潮;董威;毛晓光;文艳军;刘万伟;尹良泽 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F11/00 | 分类号: | G06F11/00;G06N3/04;G06N3/08 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 抽象 分析 神经网络 安全 性质 验证 方法 | ||
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是输入层的维度;对于每个输入神经元,引入表示它的区间值范围,其中
对于神经网络每个神经元s,定义它的抽象数据表示为(Rs,As),其中As表示神经元s的激活状态;具体而言,它有三种可能状态:激活、不激活和状态未知;Rs表示节点的抽象值表示,它是一个四元组其中:
(1)分别表示神经元s执行激活函数之前或后的符号化下界和上界,它们都是基于输入层神经元的线性表示;
(2)分别表示符号表达式的值下界和值上界;类似地,表示了符号表达式的的值下界和值上界;
整个神经网络N的抽象表示记作(R,A),即为N中的每个神经元都维护上述抽象数据表示。
4.根据权利要求3所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,首先,单个神经元s的符号化上下界的计算依赖于上一层节点的输出,如果s位于隐含层第一层,则:
其中,w1,w2,…,wn表示神经网络中对应边的权重值,b表示该神经元的偏移值;如果s位于隐含层第j(j≥2)层或者输出层,则:
其中,yi表示前一隐含层(即第(j-1)层)的第i个神经元,且:
其次,对于神经元s,基于其符号化上下界以及神经网络的区间输入域D,直接计算出的值上下界和
再次,基于神经元s当前的激活状态和计算得到的值上下界和对它的激活状态进行更新,并将更新后的激活状态记为′:
5.根据权利要求4所述的基于迭代抽象分析的神经网络安全性质验证方法,其特征在于,所述步骤S12中计算ReLU函数执行之后神经元抽象表示的线性松弛公式是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010382022.4/1.html,转载请声明来源钻瓜专利网。