CN113378009A - 基于二元决策图的二值神经网络定量分析方法 - Google Patents
基于二元决策图的二值神经网络定量分析方法 Download PDFInfo
- Publication number
- CN113378009A CN113378009A CN202110619510.7A CN202110619510A CN113378009A CN 113378009 A CN113378009 A CN 113378009A CN 202110619510 A CN202110619510 A CN 202110619510A CN 113378009 A CN113378009 A CN 113378009A
- Authority
- CN
- China
- Prior art keywords
- module
- neural network
- output
- binary
- input
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 54
- 238000010586 diagram Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004445 quantitative analysis Methods 0.000 title claims abstract description 21
- 239000013598 vector Substances 0.000 claims description 54
- 210000002569 neuron Anatomy 0.000 claims description 46
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000013432 robust analysis Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 3
- 201000003231 brachydactyly type D Diseases 0.000 claims 3
- 230000006870 function Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000035508 accumulation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种基于二元决策图的二值神经网络定量分析方法,借助二元决策图(BDD),并通过分析二值神经网络的内部结构特征,提出一种基于二元决策图的BNN网络编码方式。本发明充分利用神经网络的内部结构,以模块为单位,将神经网络的输入输出关系转换为基数约束集合,并由二元决策图对得到的约束集合进行BDD编码,进而完成整个神经网络的BDD编码。本发明相比于已有可证明近似的定量分析方案更高效更精准,且支持对神经网络的增量编码,可对神经网络的鲁棒性和可解释性进行精准分析。本发明不仅在精度上有很大的提升,在性能上也有更好的表现,且在所能处理的网络的规模上,本发明也远大于其他基于BDD的编码方法。
Description
技术领域
本发明涉及一种神经网络技术,特别涉及一种基于二元决策图的二值神经网络定量分析方法。
背景技术
目前深度神经网络技术被越来越多地纳入到各种应用领域中,如自动驾驶和医疗诊断。现代神经网络通常包含大量的参数,这些参数通常以32/64位浮点数存储,并且需要大量的浮点运算来计算单个输入的输出。因此,在资源受限的嵌入式设备上部署它们往往是一种挑战。为了缓解这个问题,量化技术成为一种有前途的技术。特别地,1位量化的二值神经网络(binaried neural networks,BNNs)不仅可以减少内存存储开销,同时通过执行位操作来计算输出,从而大幅缩短运行时间并提升能源效率。
深度神经网络(deep neural networks,DNNs)已经被证明常常缺乏对对抗性样本的鲁棒性。因此,人们提出了各种形式化的技术来分析DNN,但其中大多数只关注参数为实数的DNN。截止目前,对量化DNN的验证还没有得到彻底的探讨。现有的量化DNN技术是利用布尔可满足性(Boolean satisfiability,SAT)、可满足性模理论(Satisfiability ModuleTheory,SMT)或二元决策图(binary decision diagrams,BDDs)的约束求解,大部分的工作都采用SAT/SMT求解法。对于1位量化,BNNs通常先被转化为布尔公式,进而利用SAT求解。另一方面,基于BDD的方法目前只能解决BNNs。该类方法通过BDD学习的方法将BNN和输入样本空间转化为BDD,从而把BNN和输入样本空间编码的分析转化了BDD的分析。该方法的效率非常低,只能处理含有几十个神经元的BNN网络。
另一方面,现有的工作大多集中在定性验证上,即判定神经网络是否存在一个输入(在一个指定的输入空间内)违反了一个属性(如局部鲁棒性)。在许多实际应用中,只检查存在性是远远不够的。事实上,对于局部鲁棒性来说,这样的(对抗性)输入几乎肯定存在,这使得定性分析的实际应用价值不大。相反,定量验证,即计算一个属性被满足或违反的频率,要有用得多,因为它可以为神经网络的行为提供概率保证。这样的定量保证在自动驾驶汽车的安全标准中是至关重要的认证指标。然而,一般神经网络的定量分析是具有挑战性的,因此很少受到关注,截至目前,其研究结果相当有限。特别地,对于BNN来说,现有的方法NPAQ虽然可以提供可证明近似的结果,但要达到更高的精度和置信度,验证成本通常高得惊人。因此目前,如何精准且高效地定量分析神经网络依然是一个亟待解决的问题。
目前,量化深度神经网络的定量分析研究结果非常有限,针对二值神经网络,现有的方法或者只支持规模很小的BNNs,或者只能提供可证明近似的结果,要达到更高的精度和置信度,验证成本通常高的惊人。
发明内容
针对提高二值神经网络定量分析精度和定量分析置信度的问题,提出了一种基于二元决策图的二值神经网络定量分析方法,借助二元决策图(BDD),并通过分析二值神经网络的内部结构特征,提出一种基于二元决策图的BNN网络编码方式。该方案充分利用神经网络的内部结构,以模块为单位,将神经网络的输入输出关系转换为基数约束集合,并由二元决策图对得到的约束集合进行BDD编码,进而完成整个神经网络的BDD编码。本发明相比于已有可证明近似的定量分析方案更高效更精准,且支持对神经网络的增量编码,可对神经网络的鲁棒性和可解释性进行精准分析。
本发明的技术方案为:一种基于二元决策图的二值神经网络定量分析方法,具体包括如下步骤:
1)将待分析的输入样本以及样本扰动映射得到的样本空间进行编码,编码成二元决策图输出;
2)将二值神经网络视为一系列模块的线性组合,以模块为单位进行划分,将每个模块编码成基数约束的集合;
3)基于步骤2)中得到的二值神经网络所有模块的基数约束,进一步编码成一个二元决策图:对于单个模块,对每个模块中的每个基数约束进行二元决策图转换编码后,与步骤1)输入样本空间所对应的二元决策图进行与操作,再分别与各自对应的输出变量做一次同或操作,然后完成一个模块集合与操作;将所有模块的二元决策图组合,得到最终组合二元决策图;
4)对步骤3)所得最终组合二元决策图进行进行二值神经网络鲁棒性分析及可解释性分析;
鲁棒性分析,直接对所有错误类别的BDD的最小项进行计数,得到的数量累加即为输入空间的所有误分类样本的数量;
可解释性分析,给定一个输入样本,以及样本扰动,借助已有运算BDD的工具直接提取步骤3)中得到的错误类别BDD的质蕴含项以及共有特征,进而定位输入样本在BNN分类时起到关键作用的特征。
进一步,所述步骤1)中输入样本扰动允许两种定义方式:基于汉明距离的样本扰动和基于固定索引的样本扰动。
该约束同时存在另外一种等价的表示形式其中,对于任意的j∈{1,...,n},lj表示一个数理逻辑中的文字,j角标表示此n个文字中的第j个文字,上面的基数约束表示n个文字累加之和小于等于汉明距离k;设是一个由布尔变量组成的n维布尔向量,表示向量中第j个布尔变量;输入样本中的每项对应与中的每项做异或计算,得到的与布尔向量的汉明距离满足基数约束;
1.1.2)将1.1.1)的基数约束编码为二元决策图,每个节点被基数约束中的一个文字lj标记,图中由节点发出的有向边,实线表示将文字lj赋值为1,虚线则表示将其赋值为0,如果则直接用节点来替换lj,其他保持不变;如果则除了用节点来替换lj节点外,还要将该节点的实线边与虚线边互换获得编码成二元决策图输出。
设是一个由布尔变量组成的n维布尔向量,表示向量中第j个布尔变量;用布尔表达式描述则为:∧为集合与操作,对于所有j,都进行括号内的与操作,括号里表示:如果那么就跟做与操作,否则就跟做与操作,最终得到一个布尔表达式;
1.2.2)将步骤1.2.1中得到的布尔表达式G转化为二元决策图。
进一步,所述步骤2)将每个模块编码成基数约束的集合的具体实现方法如下:
2.1)将神经网络的每个内部模块转化成约束集合:假设某内部模块的输入是一个n维向量,输出是一个m维向量,即该内部模块共有m个神经元,每个神经元输出值为+1或-1;
首先,将此模块的输入向量的每个元素值进行布尔转换,即,将输入的值域从原来的{+1,-1}n映射到{1,0}n;参数定义:设W:,t∈{+1,-1}n是该模块第t个神经元的权重向量,即该模块线性层的权重矩阵W∈{+1,-1}n×m的第t个列向量;Wj,t是W:,t向量的第j个元素;是该模块第t个神经元的bias偏置值,即该模块线性层的偏置向量的第t个元素;μt,γt,σt,αt是该模块第t个神经元的正则化参数,分别为正则计算层中的均值、偏置、方差和权重;
接下来,对于内部模块的每个神经元t∈{1,...,m},得到如下基数约束:
2.2)将神经网络的输出模块转化成约束集合:假设共计s个输出类,即s个神经元,接下来将为每个神经元t,都生成s-1个基数约束,即共计生成s×(s-1)个约束;
先将模块的输入映射到布尔域,参数定义:对于输出模块,约束转化中只有线性层的参数,给出以下定义:设W:,t∈{+1,-1}n是输出模块第t个神经元的权重向量,即该模块线性层的权重矩阵W∈{+1,-1}n×m的第t个列向量;Wj,t是W:,t向量的第j个元素;是输出模块第t个神经元的bias偏置值;
接下来,给定某个输出类别t,以及一个其他类别t',t'≠t,将按照如下方式编码得到一个基数约束:
且对于任意j∈{1,...,s},如果Wj,t-Wj,t'=+2,如果Wj,t-Wj,t'=-2,其中,NEG=|{j∈{1,...,s}|Wj,t-Wj,t'=-2}|,基数约束Ct s'所表示的含义为:输出模块中的第t个神经元的输出值要比第t'个神经元的输出值大,同时,由于输出模块的取最大值运算会返回输出值最大的那个神经元所对应的类别最为最终的分类结果,因此,有如下命题成立:
本发明的有益效果在于:本发明基于二元决策图的二值神经网络定量分析方法,使用的编码数据结构——二元决策图(BDD)在安全分析以及决策解释方面有广泛的应用,相比于已有的基于SAT的分析方法,本发明不仅在精度上有很大的提升,在性能上也有更好的表现,且在所能处理的网络的规模上,本发明也远大于其他基于BDD的编码方法。
附图说明
图1为本发明基于二元决策图的二值神经网络定量分析方法示意图;
图2为本发明方法中一种通用基数约束对应的二元决策示意图;
图3为本发明方法中基数约束具体实施例示意图;
图4为本发明方法中基数约束具体实施例示意图;
图5为本发明方法与已有基于SAT的定量分析工具NPAQ的对比图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本发明方法实施重点是对输入样本空间和神经网络进行二元决策图编码,其中样本空间的定义包括两种:基于汉明距离的定义方式和基于固定索引的定义方式。此处对本发明作进一步的详细说明,具体实施技术方案如图1所示。
步骤1:将待分析的输入样本以及样本扰动映射得到的样本空间进行编码,编码成二元决策图(二元决策图是一种被用来表达布尔函数的一种数据结构)BDD输出,其中输入样本扰动空间允许两种定义方式:基于汉明距离的样本扰动和基于固定索引的样本扰动。下面将对这两种扰动方式所映射的样本空间BDD编码方式分别加以描述:
1.1、基于汉明距离的样本扰动所对应的样本空间编码:
该约束同时存在另外一种等价的表示形式其中,对于任意的j∈{1,...,n},lj表示一个数理逻辑中的文字(literal),j角标表示此n个文字中的第j个文字。上面的基数约束表示n个文字累加之和小于等于汉明距离k。直观上理解,该扰动表示对于一个输入样本以图片为例,可以任意改变k个位置的像素值。那么该样本空间则表示,将原始输入图片任意改动k个位置的像素值后,所得到的所有可能的图片的集合。设是一个由布尔变量组成的n维布尔向量,表示向量中第j个布尔变量。(在本文中角标j均l j用来表示一组值中的第j个位置的元素,此后将不再做重复说明)。在这里,存在两种可能的形式:如果则否则例如,考虑输入样本于是可以得到与布尔向量的汉明距离如下:
因此,此样本空间可用基数约束表示为如下形式:
1.1.2:将基数约束编码为二元决策图,先给出针对的通用编码方式,具体如图2所示:其中,每个节点被基数约束中的一个文字lj标记,图中由节点发出的有向边,实线表示将文字lj赋值为1,虚线则表示将其赋值为0。因此,从l1节点到叶子节点1的一条路径便捕获了一组使得约束成立的赋值,其中,不在该路径上的文字可以任意取值。显然,对于每一组估值,至少有k个文字被赋值为1,显然有约束成立。接下来,根据这个通用的编码方式得到最终的BDD编码:如果则直接用节点来替换lj,其他保持不变;如果则除了用节点来替换lj节点外,还要将该节点的实线边与虚线边互换。以步骤1.1.1中的例子为例,首先将基数约束表示为:进而得到如图3所示的通用编码;接下来根据文字lj的具体形式得到图4所示的BDD。特别地,以箭头路径所对应的赋值为例,图3中的赋值为l1=0,l2=1,l3=1,l4=0,l5=1对应到BDD(图4)的赋值为:
1.2、基于固定索引的样本扰动所对应的样本空间编码
设是一个由布尔变量组成的n维布尔向量,表示向量中第j个布尔变量;用布尔表达式描述则为:∧为集合与操作,对于所有j,都进行括号内的与操作,括号里表示:如果那么就跟做与操作,否则就跟做与操作,最终得到一个布尔表达式。
直观上理解,基于固定索引的样本扰动表示对于一个输入样本同样以图片为例,可以改变图片中除了固定索引之外的任意索引位置的像素值。如,对于输入样本及索引集合I={3,4},相应的扰动后的样本空间为:R((1,0,0,0),{3,4})={(1.0,0,0),(1,0,0,1),(1,0,1,0),(1,0,1,1)}
1.2.2:将步骤1.2.1中得到的布尔表达式G转化为二元决策图。
步骤2:将待分析的二值神经网络以模块为单位进行划分(即,将二值神经网络视为一系列模块的线性组合),再将每个模块编码成基数约束的集合。其中,模块共有两类:内部模块、输出模块。每个内部模块都由三个(计算)层组成:线性层(LIN)、正则化层(BN)以及激活层(BIN);输出模块则由线性层和一个取最大值层(ARGMAX)组成。由于二值神经网络的特点,每个模块的输入输出均是二值向量。
2.1:将神经网络的每个内部模块转化成约束集合。假设某内部模块的输入是一个n维向量,输出是一个m维向量(即,该内部模块共有m个神经元,每个神经元输出值为+1或-1)。首先,将此模块的输入向量的每个元素值进行布尔转换,即,将输入的值域从原来的{+1,-1}n映射到{1,0}n。下面先给出一些参数定义:设W:,t∈{+1,-1}n是该模块第t个神经元的权重向量(即,该模块线性层的权重矩阵W∈{+1,-1}n×m的第t个列向量),Wj,t是W:,t向量的第j个元素,是该模块第t个神经元的bias偏置值(即,该模块线性层的偏置向量的第t个元素),μt,γt,σt,αt是该模块第t个神经元的正则化参数,分别为正则计算层中的均值、偏置、方差和权重。接下来,对于内部模块的每个神经元t∈{1,...,m},可得到如下基数约束:
2.2:将神经网络的输出模块转化成约束集合。假设共计s个输出类(即s个神经元),接下来将为每个神经元t(对于输出模块,每个神经元对应着一个类别)都生成s-1个基数约束,即,共计生成s×(s-1)个约束。
类似步骤2.1,先将模块的输入映射到布尔域。同样先给出参数定义,对于输出模块,在下面的约束转化中只会用到线性层的参数,同样地,给出以下定义:设W:,t∈{+1,-1}n是输出模块第t个神经元的权重向量(即,该模块线性层的权重矩阵W∈{+1,-1}n×m的第t个列向量),Wj,t是W:,t向量的第j个元素,是输出模块第t个神经元的bias偏置值。接下来,给定某个输出类别t,以及一个其他类别t'(t'≠t),将按照如下方式编码得到一个基数约束:
且对于任意j∈{1,...,s},如果Wj,t-Wj,t'=+2,如果Wj,t-Wj,t'=-2,其中,NEG=|{j∈{1,...,s}|Wj,t-Wj,t'=-2}|。基数约束Ct s,所表示的含义为:输出模块中的第t个神经元的输出值要比第t'个神经元的输出值大,同时,由于输出模块的取最大值运算会返回输出值最大的那个神经元所对应的类别最为最终的分类结果,因此,有如下命题成立:
进而,对于s个分类结果,可以得到类似以上的s个命题。
步骤3:基于步骤2中得到的所有约束,将网络进一步编码成一个二元决策图。其中,以模块为单位,对单个模块的基数约束集合进行BDD编码。再对多个模块的BDD进行组合编码。然后结合步骤1中得到的输样本空间所对应的BDD,组合得到最终的BNN网络的BDD编码。下面将对这一步骤进行详细描述。
首先,对于单个内部模块,在步骤2中已经为单个模块都生成了相应的约束集合,例如若某内部模块共有4个神经元,那么在步骤2中将得到此模块的基数约束集合{C1,C2,C3,C4}。首先根据步骤1.2(情况一)中的BDD编码方法,可以对此约束集合内的每个约束进行BDD编码,并分别与各自对应的输出变量做一次同或操作,进而得到一个BDD集合。例如,假设基数约束集合{C1,C2,C3,C4}对应的BDD集合为{Bvalli-1,Bvalli-2,Bvalli-3,Bvalli-4},则通过将每个BDD与所对应的输出变量做同或操作完成步骤2中对输入与输出变量的关系的定义,即,
{B1,B2,B3,B4}就是得到的针对此内部模块的BDD编码集合。最后,整个模块的BDD编码等价于对此BDD集合做集合内部的与操作,即B=(B1∧B2∧B3∧B4)。其中,为了提升性能引入分治法,即:在对BDD集合做与操作时,可分别递归地对集合的前半部分(如{B1,B2})和后半部分(如{B3,B4})进行与操作,分别得到这两个子集所对应的BDD(如Bpre=B1∧B2,Bpost=B3∧B4),再对这两个BDD进行最终的与操作(如B=Bpre∧Bpost)。注:假设该模块的输入输出分别是维度为n和m的布尔向量,那么该模块的BDD编码所对应的布尔函数形式为即该BDD刻画了n个输入变量和m个输出变量的关系。
对于输出模块,根据步骤2.2,可得到s个约束集合(为每个分类类别都生成s个约束集合,含义是:分类为此类别当且仅当此类别对应的约束集合里的约束全都成立),其中每个约束集合的大小为s-1.接下来,将每个约束集合编码成BDD集合,并直接做集合内部的BDD与操作,进而为输出模块编码得到s个BDD。
接下来,通过与存在提取(ExistAbstract)操作对所有的内部模块所对应的BDD进行整合。假设有两个内部模块(输入输出向量的大小分别为(n,m)和(m,p)以及一个输出模块(输出类别个数为s),其中,两个内部模块所对应的BDD的布尔函数分别为和于是通过对两个布尔函数的公共变量进行与存在提取操作,可以对这两个内部模块的BDD进行组合,从而得到一个刻画第一个模块的输入和第二个模块的输出的函数关系的BDD。于是,通过这种方法,将会得到所有内部模块的BDD的整合结果(为了方便,这里用布尔函数代替BDD来描述此运算):
最后再和输入空间所对应的BDD以及输出模块所对应的s个BDD分别进行与存在提取操作,最终得到网络在给定输入空间下的s个类别的BDD编码。
因此,编码的最后,会针对所给定的输入样本以及样本扰动,为每一个分类类别都生成一个BDD。
为了进一步提升编码效率,本发明还引入了输入传播的概念,即:在对第i个模块进行BDD编码时,通过对初始样本空间进行模块间传播,得以只考虑该模块针对初始样本空间的所有可能的输入,从而缩减了该模块在编码时需要考虑的输入空间。即:在对第一个内部模块进行BDD编码时(步骤3),在对BDD集合进行与操作前,将集合中的每一个BDD都先与输入样本空间所对应的BDD进行一次与操作,然后再完成步骤3中的集合与操作。即,在步骤3的例子中,我们先把B1,B2,B3,B4分别与输入样本空间的BDDBIR做一次与操作,得到新的BDD集合:
{B1',B'2,B3',B'4}(B1'=B1∧BIR,B'2=B2∧BIR,B3'=B3∧BIR,B'4=B4∧BIR),然后在对这个新的BDD集合进行步骤3中所描述的集合与操作。于此同时,通过一次存在提取操作得到该模块的所有可能的输出,并作为下一个模块的输入样本空间。即,当第一个内部模块编码完成后,假设引入了初始样本空间之后的BDD对应的函数为则提取得到的所有可能的输出为:
该输出将作为第二个内部模块的输入样本空间进一步传播。这样优化的好处是,减少了每次模块BDD编码需要考虑的样本空间。因为在未引入初始样本空间传播前,每次模块BDD编码所需要考虑的样本空间是指数倍依赖输入向量的大小的。(例如,一个模块的输入向量大小是n,那么在不引入初始样本空间传播的情况下,该模块的BDD编码需要考虑的样本空间则是2n)
步骤4:对步骤3中得到的最终BDD进行鲁棒性分析及可解释性分析。
在分析鲁棒性时,可直接对所有错误类别的BDD的最小项进行计数,得到的数量累加即为输入空间的所有误分类样本的数量(例如,如果该神经网络共有s个类别,则只需对s-1个类别所对应的BDD进行最小项计数即可)。同样以图片分类任务为例,给定一个具体的输入样本图片以及图片的扰动,本发明可以精准计算出在该扰动下(在此样本空间下),有多少张图片会被分类错误/正确,即,本发明可以精准分析出该BNN针对此样本,在所给定的样本扰动下,分类正确的概率;图5展示了本发明(BDD4BNN)与已有基于SAT的定量分析工具NPAQ的对比。在这里一共选取了115个有效输入作为测试用例(不包含表中括号所代表的超时用例数量)。其中,第1列的P7,P8,P9,P11分别表示不同大小的BNNs,第2列的汉明距离r作为待分析的输入样本空间的度量指标。第3,4,5列分别展示了针对给定的样本空间以及待分析网络,用可证明近似方法NPAQ分析得到的反例(即:被分类错误的样本)的数量、分析总耗时以及反例在整个输入样本空间的占比,第6,7,8列分别展示了针对给定的样本空间以及待分析网络,用本发明方法BDD4BNN分析得到的反例的数量、分析总耗时以及反例在整个输入样本空间的占比,第9列表示可证明近似方法NPAQ的错误率(即:1-估计数量/真实反例数量),第10列则展示了本发明相比于可证明近似方法NPAQ在分析效率上的提升;
在分析可解释性时,给定一个输入样本,以及样本扰动,本发明则可借助已有运算BDD的工具(如CUDD)直接提取步骤3中得到的错误类别BDD的质蕴含项(CUDD工具的Cudd_FirstPrime接口)以及共有特征(CUDD工具的Cudd_FindEssential接口),进而定位输入样本的哪些特征在BNN分类时起到关键作用。例如,对于一个图片分类的任务,给定一个具体的图片,以及图片的扰动,本发明可以定位输入图片的哪些像素点在BNN分类时起到关键作用,即定位到一些关键的像素点,使得只要将这些像素点保持与原输入样本一致,那么,无论其他像素点如何在此扰动范围内改变,得到的图片都不会被BNN分类错误。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种基于二元决策图的二值神经网络定量分析方法,其特征在于,具体包括如下步骤:
1)将待分析的输入样本以及样本扰动映射得到的样本空间进行编码,编码成二元决策图输出;
2)将二值神经网络视为一系列模块的线性组合,以模块为单位进行划分,将每个模块编码成基数约束的集合;
3)基于步骤2)中得到的二值神经网络所有模块的基数约束,进一步编码成一个二元决策图:对于单个模块,对每个模块中的每个基数约束进行二元决策图转换编码后,与步骤1)输入样本空间所对应的二元决策图进行与操作,再分别与各自对应的输出变量做一次同或操作,然后完成一个模块集合与操作;将所有模块的二元决策图组合,得到最终组合二元决策图;
4)对步骤3)所得最终组合二元决策图进行进行二值神经网络鲁棒性分析及可解释性分析;
鲁棒性分析,直接对所有错误类别的BDD的最小项进行计数,得到的数量累加即为输入空间的所有误分类样本的数量;
可解释性分析,给定一个输入样本,以及样本扰动,借助已有运算BDD的工具直接提取步骤3)中得到的错误类别BDD的质蕴含项以及共有特征,进而定位输入样本在BNN分类时起到关键作用的特征。
2.根据权利要求1所述基于二元决策图的二值神经网络定量分析方法,其特征在于,所述步骤1)中输入样本扰动允许两种定义方式:基于汉明距离的样本扰动和基于固定索引的样本扰动。
3.根据权利要求2所述基于二元决策图的二值神经网络定量分析方法,其特征在于,所述基于汉明距离的样本扰动所对应的样本空间编码方法如下:
其中,对于任意的j∈{1,...,n},lj表示一个数理逻辑中的文字,j角标表示此n个文字中的第j个文字,上面的基数约束表示n个文字累加之和小于等于汉明距离k;设是一个由布尔变量组成的n维布尔向量,表示向量中第j个布尔变量;输入样本中的每项对应与中的每项做异或计算,得到的与布尔向量的汉明距离满足基数约束;
5.根据权利要求1所述基于二元决策图的二值神经网络定量分析方法,其特征在于,所述步骤2)将每个模块编码成基数约束的集合的具体实现方法如下:
2.1)将神经网络的每个内部模块转化成约束集合:假设某内部模块的输入是一个n维向量,输出是一个m维向量,即该内部模块共有m个神经元,每个神经元输出值为+1或-1;
首先,将此模块的输入向量的每个元素值进行布尔转换,即,将输入的值域从原来的{+1,-1}n映射到{1,0}n;参数定义:设W:,t∈{+1,-1}n是该模块第t个神经元的权重向量,即该模块线性层的权重矩阵W∈{+1,-1}n×m的第t个列向量;Wj,t是W:,t向量的第j个元素;是该模块第t个神经元的bias偏置值,即该模块线性层的偏置向量的第t个元素;μt,γt,σt,αt是该模块第t个神经元的正则化参数,分别为正则计算层中的均值、偏置、方差和权重;
接下来,对于内部模块的每个神经元t∈{1,...,m},得到如下基数约束:
2.2)将神经网络的输出模块转化成约束集合:假设共计s个输出类,即s个神经元,接下来将为每个神经元t,都生成s-1个基数约束,即共计生成s×(s-1)个约束;
先将模块的输入映射到布尔域,参数定义:对于输出模块,约束转化中只有线性层的参数,给出以下定义:设W:,t∈{+1,-1}n是输出模块第t个神经元的权重向量,即该模块线性层的权重矩阵W∈{+1,-1}n×m的第t个列向量;Wj,t是W:,t向量的第j个元素;是输出模块第t个神经元的bias偏置值;
接下来,给定某个输出类别t,以及一个其他类别t',t'≠t,将按照如下方式编码得到一个基数约束:
且对于任意j∈{1,...,s},如果Wj,t-Wj,t'=+2,如果Wj,t-Wj,t'=-2,其中,NEG=|{j∈{1,...,s}|Wj,t-Wj,t'=-2}|,基数约束所表示的含义为:输出模块中的第t个神经元的输出值要比第t'个神经元的输出值大,同时,由于输出模块的取最大值运算会返回输出值最大的那个神经元所对应的类别最为最终的分类结果,因此,有如下命题成立:
进而,对于s个分类结果,可得到类似以上的s个命题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110619510.7A CN113378009B (zh) | 2021-06-03 | 2021-06-03 | 基于二元决策图的二值神经网络定量分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110619510.7A CN113378009B (zh) | 2021-06-03 | 2021-06-03 | 基于二元决策图的二值神经网络定量分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113378009A true CN113378009A (zh) | 2021-09-10 |
CN113378009B CN113378009B (zh) | 2023-12-01 |
Family
ID=77575623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110619510.7A Active CN113378009B (zh) | 2021-06-03 | 2021-06-03 | 基于二元决策图的二值神经网络定量分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378009B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663491A (zh) * | 2023-07-26 | 2023-08-29 | 北京云枢创新软件技术有限公司 | 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007119540A1 (ja) * | 2006-03-31 | 2007-10-25 | Kyushu Institute Of Technology | 連想メモリ |
WO2018058426A1 (zh) * | 2016-09-29 | 2018-04-05 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
CN109360179A (zh) * | 2018-10-18 | 2019-02-19 | 上海海事大学 | 一种图像融合方法、装置及可读存储介质 |
CN110991603A (zh) * | 2019-10-23 | 2020-04-10 | 广州市智能软件产业研究院 | 一种神经网络的局部鲁棒性验证方法 |
-
2021
- 2021-06-03 CN CN202110619510.7A patent/CN113378009B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007119540A1 (ja) * | 2006-03-31 | 2007-10-25 | Kyushu Institute Of Technology | 連想メモリ |
WO2018058426A1 (zh) * | 2016-09-29 | 2018-04-05 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
CN109360179A (zh) * | 2018-10-18 | 2019-02-19 | 上海海事大学 | 一种图像融合方法、装置及可读存储介质 |
CN110991603A (zh) * | 2019-10-23 | 2020-04-10 | 广州市智能软件产业研究院 | 一种神经网络的局部鲁棒性验证方法 |
Non-Patent Citations (1)
Title |
---|
吕伟锋, 王柏祥, 章专: "数字逻辑的稳健神经网络实现", 浙江大学学报(理学版), no. 06 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663491A (zh) * | 2023-07-26 | 2023-08-29 | 北京云枢创新软件技术有限公司 | 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质 |
CN116663491B (zh) * | 2023-07-26 | 2023-10-13 | 北京云枢创新软件技术有限公司 | 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113378009B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112464641B (zh) | 基于bert的机器阅读理解方法、装置、设备及存储介质 | |
US10963685B2 (en) | Generating variations of a known shred | |
CN109034368B (zh) | 一种基于dnn的复杂设备多重故障诊断方法 | |
US20170076152A1 (en) | Determining a text string based on visual features of a shred | |
CN106682343B (zh) | 一种基于图的邻接矩阵的形式化验证方法 | |
EP3311311A1 (en) | Automatic entity resolution with rules detection and generation system | |
Serratosa et al. | Interactive graph-matching using active query strategies | |
US20170351786A1 (en) | Scalable spectral modeling of sparse sequence functions via a best matching algorithm | |
CN101404045A (zh) | 为组合验证生成自动化假设的方法、系统和计算机程序产品 | |
CN114048468A (zh) | 入侵检测的方法、入侵检测模型训练的方法、装置及介质 | |
CN111444937B (zh) | 一种基于集成tsk模糊分类器的众包质量提升的方法 | |
CN112529071A (zh) | 一种文本分类方法、系统、计算机设备和存储介质 | |
Guidotti et al. | Explaining image classifiers generating exemplars and counter-exemplars from latent representations | |
Li | Analysis on the nonlinear dynamics of deep neural networks: Topological entropy and chaos | |
Schwier et al. | Zero knowledge hidden markov model inference | |
CN117077586B (zh) | 一种电路设计的寄存器传输级资源预测方法、装置及设备 | |
CN113378009B (zh) | 基于二元决策图的二值神经网络定量分析方法 | |
CN117077587A (zh) | 一种电路设计的资源预测方法、装置及设备 | |
Jaiswal et al. | Schema matching and embedded value mapping for databases with opaque column names and mixed continuous and discrete-valued data fields | |
Manning-Dahan | PCA and Autoencoders | |
US20220164705A1 (en) | Method and apparatus for providing information based on machine learning | |
US20220309335A1 (en) | Automated generation and integration of an optimized regular expression | |
CN110196976B (zh) | 文本的情感倾向分类方法、装置和服务器 | |
Giraldi | Machine Learning and Pattern Recognition | |
CN110378262B (zh) | 基于加性高斯核的核非负矩阵分解人脸识别方法、装置、系统及存储介质 |
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 |