CN113378009A - 基于二元决策图的二值神经网络定量分析方法 - Google Patents

基于二元决策图的二值神经网络定量分析方法 Download PDF

Info

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
Application number
CN202110619510.7A
Other languages
English (en)
Other versions
CN113378009B (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.)
ShanghaiTech University
Original Assignee
ShanghaiTech University
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 ShanghaiTech University filed Critical ShanghaiTech University
Priority to CN202110619510.7A priority Critical patent/CN113378009B/zh
Publication of CN113378009A publication Critical patent/CN113378009A/zh
Application granted granted Critical
Publication of CN113378009B publication Critical patent/CN113378009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-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)中输入样本扰动允许两种定义方式:基于汉明距离的样本扰动和基于固定索引的样本扰动。
进一步,所述基于汉明距离的样本扰动所对应的样本空间编码方法如下:1.1.1)给定一个输入样本
Figure BDA0003099022350000031
以及汉明距离k,
Figure BDA0003099022350000032
是一个向量,向量大小为整数n,输入样本空间
Figure BDA0003099022350000033
用如下的基数约束来表示:
Figure BDA0003099022350000034
该约束同时存在另外一种等价的表示形式
Figure BDA0003099022350000035
其中,对于任意的j∈{1,...,n},lj表示一个数理逻辑中的文字,j角标表示此n个文字中的第j个文字,上面的基数约束表示n个文字累加之和小于等于汉明距离k;设
Figure BDA0003099022350000036
是一个由布尔变量组成的n维布尔向量,
Figure BDA0003099022350000037
表示向量
Figure BDA0003099022350000038
中第j个布尔变量;输入样本
Figure BDA0003099022350000039
中的每项对应与
Figure BDA00030990223500000310
中的每项做异或计算,得到的
Figure BDA00030990223500000311
Figure BDA00030990223500000312
布尔向量的汉明距离满足基数约束;
1.1.2)将1.1.1)的基数约束编码为二元决策图,每个节点被基数约束中的一个文字lj标记,图中由节点发出的有向边,实线表示将文字lj赋值为1,虚线则表示将其赋值为0,如果
Figure BDA00030990223500000313
则直接用
Figure BDA00030990223500000314
节点来替换lj,其他保持不变;如果
Figure BDA0003099022350000041
则除了用
Figure BDA0003099022350000042
节点来替换lj节点外,还要将该节点的实线边与虚线边互换获得编码成二元决策图输出。
进一步,所述基于固定索引的样本扰动所对应的样本空间编码方法如下:1.2.1)给定一个输入样本
Figure BDA0003099022350000043
以及一个固定索引集合
Figure BDA0003099022350000044
则样本扰动后输入样本空间
Figure BDA0003099022350000045
表示为如下集合:
Figure BDA0003099022350000046
Figure BDA0003099022350000047
是一个由布尔变量组成的n维布尔向量,
Figure BDA0003099022350000048
表示向量
Figure BDA0003099022350000049
中第j个布尔变量;用布尔表达式描述则为:
Figure BDA00030990223500000410
∧为集合与操作,对于所有j,都进行括号内的与操作,括号里表示:如果
Figure BDA00030990223500000411
那么就跟
Figure BDA00030990223500000412
做与操作,否则就跟
Figure BDA00030990223500000413
做与操作,最终得到一个布尔表达式;
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个元素;
Figure BDA00030990223500000414
是该模块第t个神经元的bias偏置值,即该模块线性层的偏置向量的第t个元素;μtttt是该模块第t个神经元的正则化参数,分别为正则计算层中的均值、偏置、方差和权重;
接下来,对于内部模块的每个神经元t∈{1,...,m},得到如下基数约束:
Figure BDA0003099022350000051
且对于任意j∈{1,...,n},如果Wj,t=+1,
Figure BDA0003099022350000052
反之,如果Wj,t=-1,则
Figure BDA0003099022350000053
Figure BDA0003099022350000054
代表着输入的第j个布尔变量,如果用
Figure BDA0003099022350000055
表示第t个神经元所对应的输出布尔变量,可有如下命题成立:
约束Ct成立
Figure BDA0003099022350000056
神经元t的输出为
Figure BDA0003099022350000057
以上命题刻画了所有输入变量
Figure BDA0003099022350000058
与第t个输出变量
Figure BDA0003099022350000059
的函数关系;
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个元素;
Figure BDA00030990223500000510
是输出模块第t个神经元的bias偏置值;
接下来,给定某个输出类别t,以及一个其他类别t',t'≠t,将按照如下方式编码得到一个基数约束:
Figure BDA00030990223500000511
且对于任意j∈{1,...,s},如果Wj,t-Wj,t'=+2,
Figure BDA0003099022350000061
如果Wj,t-Wj,t'=-2,
Figure BDA0003099022350000062
其中,NEG=|{j∈{1,...,s}|Wj,t-Wj,t'=-2}|,基数约束Ct s'所表示的含义为:输出模块中的第t个神经元的输出值要比第t'个神经元的输出值大,同时,由于输出模块的取最大值运算会返回输出值最大的那个神经元所对应的类别最为最终的分类结果,因此,有如下命题成立:
分类结果为
Figure BDA0003099022350000063
进而,对于s个分类结果,可得到类似以上的s个命题。
本发明的有益效果在于:本发明基于二元决策图的二值神经网络定量分析方法,使用的编码数据结构——二元决策图(BDD)在安全分析以及决策解释方面有广泛的应用,相比于已有的基于SAT的分析方法,本发明不仅在精度上有很大的提升,在性能上也有更好的表现,且在所能处理的网络的规模上,本发明也远大于其他基于BDD的编码方法。
附图说明
图1为本发明基于二元决策图的二值神经网络定量分析方法示意图;
图2为本发明方法中一种通用基数约束对应的二元决策示意图;
图3为本发明方法中基数约束具体实施例示意图;
图4为本发明方法中基数约束具体实施例示意图;
图5为本发明方法与已有基于SAT的定量分析工具NPAQ的对比图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本发明方法实施重点是对输入样本空间和神经网络进行二元决策图编码,其中样本空间的定义包括两种:基于汉明距离的定义方式和基于固定索引的定义方式。此处对本发明作进一步的详细说明,具体实施技术方案如图1所示。
步骤1:将待分析的输入样本以及样本扰动映射得到的样本空间进行编码,编码成二元决策图(二元决策图是一种被用来表达布尔函数的一种数据结构)BDD输出,其中输入样本扰动空间允许两种定义方式:基于汉明距离的样本扰动和基于固定索引的样本扰动。下面将对这两种扰动方式所映射的样本空间BDD编码方式分别加以描述:
1.1、基于汉明距离的样本扰动所对应的样本空间编码:
1.1.1:给定一个输入样本
Figure BDA0003099022350000071
(
Figure BDA0003099022350000072
在这里是一个向量,向量大小为整数n)以及汉明距离k,输入样本空间
Figure BDA0003099022350000073
可以用如下的基数约束来表示:
Figure BDA0003099022350000074
该约束同时存在另外一种等价的表示形式
Figure BDA0003099022350000075
其中,对于任意的j∈{1,...,n},lj表示一个数理逻辑中的文字(literal),j角标表示此n个文字中的第j个文字。上面的基数约束表示n个文字累加之和小于等于汉明距离k。直观上理解,该扰动表示对于一个输入样本
Figure BDA0003099022350000076
以图片为例,可以任意改变k个位置的像素值。那么该样本空间
Figure BDA0003099022350000077
则表示,将原始输入图片
Figure BDA0003099022350000078
任意改动k个位置的像素值后,所得到的所有可能的图片的集合。设
Figure BDA0003099022350000079
是一个由布尔变量组成的n维布尔向量,
Figure BDA00030990223500000710
表示向量
Figure BDA00030990223500000711
中第j个布尔变量。(在本文中角标j均l j用来表示一组值中的第j个位置的元素,此后将不再做重复说明)。在这里,存在两种可能的形式:如果
Figure BDA00030990223500000712
Figure BDA00030990223500000713
否则
Figure BDA00030990223500000714
例如,考虑输入样本
Figure BDA00030990223500000715
于是可以得到
Figure BDA00030990223500000716
Figure BDA00030990223500000717
布尔向量的汉明距离如下:
Figure BDA00030990223500000718
上述汉明距离函数的自变量是
Figure BDA00030990223500000719
(5个布尔自变量组成的向量自变量),
Figure BDA00030990223500000720
是一个预先给定的已知值。
因此,此样本空间可用基数约束表示为如下形式:
Figure BDA0003099022350000081
Figure BDA0003099022350000082
其中
Figure BDA0003099022350000083
是逻辑符号,表示一个命题的否定。
1.1.2:将基数约束编码为二元决策图,先给出针对
Figure BDA0003099022350000084
的通用编码方式,具体如图2所示:其中,每个节点被基数约束中的一个文字lj标记,图中由节点发出的有向边,实线表示将文字lj赋值为1,虚线则表示将其赋值为0。因此,从l1节点到叶子节点1的一条路径便捕获了一组使得约束成立的赋值,其中,不在该路径上的文字可以任意取值。显然,对于每一组估值,至少有k个文字被赋值为1,显然有约束
Figure BDA0003099022350000085
成立。接下来,根据这个通用的编码方式得到最终的BDD编码:如果
Figure BDA0003099022350000086
则直接用
Figure BDA0003099022350000087
节点来替换lj,其他保持不变;如果
Figure BDA0003099022350000088
则除了用
Figure BDA0003099022350000089
节点来替换lj节点外,还要将该节点的实线边与虚线边互换。以步骤1.1.1中的例子为例,首先将基数约束
Figure BDA00030990223500000820
表示为:
Figure BDA00030990223500000810
进而得到如图3所示的通用编码;接下来根据文字lj的具体形式
Figure BDA00030990223500000811
得到图4所示的BDD。特别地,以箭头路径所对应的赋值为例,图3中的赋值为l1=0,l2=1,l3=1,l4=0,l5=1对应到BDD(图4)的赋值为:
Figure BDA00030990223500000812
1.2、基于固定索引的样本扰动所对应的样本空间编码
1.2.1:给定一个输入样本
Figure BDA00030990223500000813
以及一个固定索引集合
Figure BDA00030990223500000814
则样本扰动后输入样本空间
Figure BDA00030990223500000815
可表示为如下集合:
Figure BDA00030990223500000816
Figure BDA00030990223500000817
是一个由布尔变量组成的n维布尔向量,
Figure BDA00030990223500000818
表示向量
Figure BDA00030990223500000819
中第j个布尔变量;用布尔表达式描述则为:
Figure BDA0003099022350000091
∧为集合与操作,对于所有j,都进行括号内的与操作,括号里表示:如果
Figure BDA0003099022350000092
那么就跟
Figure BDA0003099022350000093
做与操作,否则就跟
Figure BDA0003099022350000094
做与操作,最终得到一个布尔表达式。
直观上理解,基于固定索引的样本扰动表示对于一个输入样本
Figure BDA0003099022350000095
同样以图片为例,可以改变图片中除了固定索引之外的任意索引位置的像素值。如,对于输入样本
Figure BDA0003099022350000096
及索引集合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)}
此样本空间用布尔函数则可表示为
Figure BDA0003099022350000097
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个元素,
Figure BDA0003099022350000098
是该模块第t个神经元的bias偏置值(即,该模块线性层的偏置向量的第t个元素),μtttt是该模块第t个神经元的正则化参数,分别为正则计算层中的均值、偏置、方差和权重。接下来,对于内部模块的每个神经元t∈{1,...,m},可得到如下基数约束:
Figure BDA0003099022350000101
且对于任意j∈{1,...,n},如果Wj,t=+1,
Figure BDA0003099022350000102
反之,如果Wj,t=-1,则
Figure BDA0003099022350000103
在这里,
Figure BDA0003099022350000104
代表着输入的第j个布尔变量,如果用
Figure BDA0003099022350000105
表示第t个神经元所对应的输出布尔变量,可以有如下命题成立:
约束Ct成立
Figure BDA0003099022350000106
神经元t的输出为
Figure BDA0003099022350000107
直观地,以上命题刻画了所有输入变量
Figure BDA0003099022350000108
与第t个输出变量
Figure BDA0003099022350000109
的函数关系。
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个元素,
Figure BDA00030990223500001010
是输出模块第t个神经元的bias偏置值。接下来,给定某个输出类别t,以及一个其他类别t'(t'≠t),将按照如下方式编码得到一个基数约束:
Figure BDA0003099022350000111
且对于任意j∈{1,...,s},如果Wj,t-Wj,t'=+2,
Figure BDA0003099022350000112
如果Wj,t-Wj,t'=-2,
Figure BDA0003099022350000113
其中,NEG=|{j∈{1,...,s}|Wj,t-Wj,t'=-2}|。基数约束Ct s,所表示的含义为:输出模块中的第t个神经元的输出值要比第t'个神经元的输出值大,同时,由于输出模块的取最大值运算会返回输出值最大的那个神经元所对应的类别最为最终的分类结果,因此,有如下命题成立:
分类结果为
Figure BDA0003099022350000114
进而,对于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中对输入与输出变量的关系的定义,即,
Figure BDA0003099022350000115
Figure BDA0003099022350000121
Figure BDA0003099022350000122
Figure BDA0003099022350000123
{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编码所对应的布尔函数形式为
Figure BDA0003099022350000124
即该BDD刻画了n个输入变量和m个输出变量的关系。
对于输出模块,根据步骤2.2,可得到s个约束集合(为每个分类类别都生成s个约束集合,含义是:分类为此类别当且仅当此类别对应的约束集合里的约束全都成立),其中每个约束集合的大小为s-1.接下来,将每个约束集合编码成BDD集合,并直接做集合内部的BDD与操作,进而为输出模块编码得到s个BDD。
接下来,通过与存在提取(ExistAbstract)操作对所有的内部模块所对应的BDD进行整合。假设有两个内部模块(输入输出向量的大小分别为(n,m)和(m,p)以及一个输出模块(输出类别个数为s),其中,两个内部模块所对应的BDD的布尔函数分别为
Figure BDA0003099022350000125
Figure BDA0003099022350000126
于是通过对两个布尔函数的公共变量进行与存在提取操作,可以对这两个内部模块的BDD进行组合,从而得到一个刻画第一个模块的输入
Figure BDA0003099022350000127
和第二个模块的输出
Figure BDA0003099022350000128
的函数关系的BDD。于是,通过这种方法,将会得到所有内部模块的BDD的整合结果(为了方便,这里用布尔函数代替BDD来描述此运算):
Figure BDA0003099022350000131
最后再和输入空间所对应的BDD以及输出模块所对应的s个BDD分别进行与存在提取操作,最终得到网络在给定输入空间下的s个类别的BDD编码。
设输出模块对应的s个BDD的布尔函数形式为
Figure BDA0003099022350000132
输入空间的BDD的布尔函数形式为
Figure BDA0003099022350000133
所有内部模块整合后的BDD的布尔函数形式为
Figure BDA0003099022350000134
那么最终的s个BDD所刻画的函数为:
Figure BDA0003099022350000135
因此,编码的最后,会针对所给定的输入样本以及样本扰动,为每一个分类类别都生成一个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对应的函数为
Figure BDA0003099022350000141
则提取得到的所有可能的输出为:
Figure BDA0003099022350000142
该输出将作为第二个内部模块的输入样本空间进一步传播。这样优化的好处是,减少了每次模块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所述基于二元决策图的二值神经网络定量分析方法,其特征在于,所述基于汉明距离的样本扰动所对应的样本空间编码方法如下:
1.1.1)给定一个输入样本
Figure FDA0003099022340000011
以及汉明距离k,
Figure FDA0003099022340000012
是一个向量,向量大小为整数n,输入样本空间
Figure FDA0003099022340000013
用如下的基数约束来表示:
Figure FDA0003099022340000014
该约束同时存在另外一种等价的表示形式
Figure FDA0003099022340000021
其中,对于任意的j∈{1,...,n},lj表示一个数理逻辑中的文字,j角标表示此n个文字中的第j个文字,上面的基数约束表示n个文字累加之和小于等于汉明距离k;设
Figure FDA0003099022340000022
是一个由布尔变量组成的n维布尔向量,
Figure FDA0003099022340000023
表示向量
Figure FDA0003099022340000024
中第j个布尔变量;输入样本
Figure FDA0003099022340000025
中的每项对应与
Figure FDA0003099022340000026
中的每项做异或计算,得到的
Figure FDA0003099022340000027
Figure FDA0003099022340000028
布尔向量的汉明距离满足基数约束;
1.1.2)将1.1.1)的基数约束编码为二元决策图,每个节点被基数约束中的一个文字lj标记,图中由节点发出的有向边,实线表示将文字lj赋值为1,虚线则表示将其赋值为0,如果
Figure FDA0003099022340000029
则直接用
Figure FDA00030990223400000210
节点来替换lj,其他保持不变;如果
Figure FDA00030990223400000211
则除了用
Figure FDA00030990223400000212
节点来替换lj节点外,还要将该节点的实线边与虚线边互换获得编码成二元决策图输出。
4.根据权利要求2所述基于二元决策图的二值神经网络定量分析方法,其特征在于,所述基于固定索引的样本扰动所对应的样本空间编码方法如下:
1.2.1)给定一个输入样本
Figure FDA00030990223400000213
以及一个固定索引集合
Figure FDA00030990223400000214
则样本扰动后输入样本空间
Figure FDA00030990223400000215
表示为如下集合:
Figure FDA00030990223400000216
Figure FDA00030990223400000217
是一个由布尔变量组成的n维布尔向量,
Figure FDA00030990223400000218
表示向量
Figure FDA00030990223400000219
中第j个布尔变量;用布尔表达式描述则为:
Figure FDA00030990223400000220
∧为集合与操作,对于所有j,都进行括号内的与操作,括号里表示:如果
Figure FDA00030990223400000221
那么就跟
Figure FDA00030990223400000222
做与操作,否则就跟
Figure FDA00030990223400000223
做与操作,最终得到一个布尔表达式;
1.2.2)将步骤1.2.1中得到的布尔表达式G转化为二元决策图。
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个元素;
Figure FDA0003099022340000031
是该模块第t个神经元的bias偏置值,即该模块线性层的偏置向量的第t个元素;μtttt是该模块第t个神经元的正则化参数,分别为正则计算层中的均值、偏置、方差和权重;
接下来,对于内部模块的每个神经元t∈{1,...,m},得到如下基数约束:
Figure FDA0003099022340000032
且对于任意j∈{1,...,n},如果Wj,t=+1,
Figure FDA0003099022340000033
反之,如果Wj,t=-1,则
Figure FDA0003099022340000034
Figure FDA0003099022340000035
代表着输入的第j个布尔变量,如果用
Figure FDA0003099022340000036
表示第t个神经元所对应的输出布尔变量,可有如下命题成立:
Figure FDA0003099022340000037
的输出为
Figure FDA0003099022340000038
以上命题刻画了所有输入变量
Figure FDA0003099022340000039
与第t个输出变量
Figure FDA00030990223400000310
的函数关系;
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个元素;
Figure FDA0003099022340000041
是输出模块第t个神经元的bias偏置值;
接下来,给定某个输出类别t,以及一个其他类别t',t'≠t,将按照如下方式编码得到一个基数约束:
Figure FDA0003099022340000042
且对于任意j∈{1,...,s},如果Wj,t-Wj,t'=+2,
Figure FDA0003099022340000043
如果Wj,t-Wj,t'=-2,
Figure FDA0003099022340000044
其中,NEG=|{j∈{1,...,s}|Wj,t-Wj,t'=-2}|,基数约束
Figure FDA0003099022340000045
所表示的含义为:输出模块中的第t个神经元的输出值要比第t'个神经元的输出值大,同时,由于输出模块的取最大值运算会返回输出值最大的那个神经元所对应的类别最为最终的分类结果,因此,有如下命题成立:
分类结果为
Figure FDA0003099022340000046
进而,对于s个分类结果,可得到类似以上的s个命题。
CN202110619510.7A 2021-06-03 2021-06-03 基于二元决策图的二值神经网络定量分析方法 Active CN113378009B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663491A (zh) * 2023-07-26 2023-08-29 北京云枢创新软件技术有限公司 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
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 广州市智能软件产业研究院 一种神经网络的局部鲁棒性验证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
吕伟锋, 王柏祥, 章专: "数字逻辑的稳健神经网络实现", 浙江大学学报(理学版), no. 06 *

Cited By (2)

* Cited by examiner, † Cited by third party
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