CN112733941B - 基于神经网络的高鲁棒用户分类方法及系统 - Google Patents
基于神经网络的高鲁棒用户分类方法及系统 Download PDFInfo
- Publication number
- CN112733941B CN112733941B CN202110038432.1A CN202110038432A CN112733941B CN 112733941 B CN112733941 B CN 112733941B CN 202110038432 A CN202110038432 A CN 202110038432A CN 112733941 B CN112733941 B CN 112733941B
- Authority
- CN
- China
- Prior art keywords
- neural network
- node
- nodes
- physical examination
- binary tree
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了基于神经网络的高鲁棒用户分类方法及系统,获取健康用户的体检数据;基于健康用户的体检数据,生成输入集合;将输入集合作为二叉树的根结点,每层结点都是由其父结点代表的超矩形二等分得到的,直到某层结点代表的超矩形达到指定的大小限制,那么不再继续二等分,当前层结点就是叶子结点,得到搜索用的二叉树;对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;如果搜索到某个叶子结点代表的超矩形的输出可达集合估计不包含在输出限制中,得到当前待验证的神经网络是不安全的结论;否则,得到当前待验证的神经网络是安全的结论。
Description
技术领域
本申请涉及神经网络安全验证或可信人工智能技术领域,特别是涉及基于神经网络的高鲁棒用户分类方法及系统。
背景技术
本部分的陈述仅仅是提到了与本申请相关的背景技术,并不必然构成现有技术。
目前神经网络得到了广泛的应用,如自然语言处理、语音识别、图像识别、自动驾驶、恶意软件检测、医疗领域等。特别是医疗领域,随着人口老龄化的加剧,现有的医疗体系越来越难以满足社会整体的医疗需求,因此以神经网络为基础的人工智能等新兴技术得到越来越广泛的应用。神经网络在辅助诊疗、健康管理、疾病风险预测等场景下都实现了较高的准确率。但是有研究表明,神经网络对于扰动非常敏感。当对正常的数据进行微小的扰动时,神经网络可能会对其产生错误的分类,而对人类医生来说这样的扰动不会影响他的判断。神经网络的这一特性导致了其在实际使用中存在着安全隐患。
因此,神经网络在实际应用之前普遍要验证其鲁棒性,来提高神经网络可信程度。鲁棒性能够保证在正常输入的某个邻域内的所有输入的分类都是相同的,具有鲁棒性的神经网络能够有效地抵抗上述扰动导致的误分类。然而,我们在对现有的验证方法的研究中,在验证一类满足每层的结点数不大于前一层的结点数的神经网络时,这些算法存在着冗余的计算量。
(1)深度神经网络:此处深度神经网络指的是深度神经网络中的前馈神经网络。一个n层前馈神经网络由一个输入层,对应变量和n个隐藏层,对应变量构成,最后一个隐藏层即为输出层,对应变量其中第i层由ki(i=1,…,n)个结点构成。每个结点代表一个实数变量,于是每层的所有结点组成的变量zi都可看作是ki维欧氏空间中的一个向量。
对隐藏层或输出层的任意一层zi,zi中所有结点的值均通过以下方式计算得出:要计算第i层第j个结点zi,j,首先将前一层的全部结点分别乘以权重再加上一个偏移量bi,j,得到的数值记为再将通过激活函数σi,j即可得到zi,j。将上面的计算写成向量形式:
于是可以将第i-1层到第i层的计算写成函数fi(x):
zi=fi(zi-1)=σi(Wizi+bi),
因此可以将整个网络写成函数f(x):
(2)深度神经网络的验证问题:神经网络的验证问题要验证一个神经网络的输入输出关系是否成立。给定一个前馈神经网络f(x),一个输入限制(在下文中也称为输入集合)和相应的输出限制验证问题需要证明下面的关系成立:
实际应用中,输出限制Y代表了安全限制,即任何Y的补集中的点代表了不安全的参数值。如果X中每个点通过神经网络后到达的集合R包含于Y,那么上述关系就是成立的,否则不成立。这里但是精确地计算R的过程是超多项式时间的,因此需要计算R的一个过度估计(下面将称为可达集合估计),满足然后通过检验是否成立来判断是否成立。如果则认为成立;否则认为不成立。显然如果那么一定有结论是正确的。但是如果而时,这种方法得到的结论是不正确的。因此,这样的算法是可靠的,但不是完备的。
(3)可靠性与完备性:一个验证深度神经网络安全性的方法具有可靠性意味着被它判定为安全的网络在事实上也一定是安全的(可能会将事实上安全的网络误判为不安全的)。一个验证深度神经网络安全性的方法具有完备性意味着任何事实上安全的网络都会被它判定为安全的(可能会将事实上不安全的网络误判为安全的)。
(4)现有技术中缺乏一种医疗用途神经网络鲁棒性验证的方法及系统。
发明内容
为了解决现有技术的不足,本申请提供了基于神经网络的高鲁棒用户分类方法及系统;
第一方面,本申请提供了基于神经网络的高鲁棒用户分类方法;
基于神经网络的高鲁棒用户分类方法,包括:
获取健康用户的体检数据;基于健康用户的体检数据,生成输入集合;
将输入集合作为二叉树的根结点,每层结点都是由其父结点代表的超矩形二等分得到的,直到某层结点代表的超矩形达到指定的大小限制,那么不再继续二等分,当前层结点就是叶子结点,得到搜索用的二叉树;
对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;如果搜索到某个叶子结点代表的超矩形的输出可达集合估计不包含在输出限制中,则得到当前待验证的神经网络是不安全的结论;否则,得到当前待验证的神经网络是安全的结论。
第二方面,本申请提供了基于神经网络的高鲁棒用户分类系统;
基于神经网络的高鲁棒用户分类系统,包括:
输入集合生成模块,其被配置为:获取健康用户的体检数据;基于健康用户的体检数据,生成输入集合;
二叉树构造模块,其被配置为:将输入集合作为二叉树的根结点,每层结点都是由其父结点代表的超矩形二等分得到的,直到某层结点代表的超矩形达到指定的大小限制,那么不再继续二等分,当前层结点就是叶子结点,得到搜索用的二叉树;
安全性验证模块,其被配置为:对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;如果搜索到某个叶子结点代表的超矩形的输出可达集合估计不包含在输出限制中,则得到当前待验证的神经网络是不安全的结论;否则,得到当前待验证的神经网络是安全的结论。
第三方面,本申请还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
第五方面,本申请还提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现前述第一方面任意一项的方法。
与现有技术相比,本申请的有益效果是:
本申请一种基于保壳性的医疗用途神经网络的鲁棒性验证方法与现有的验证方法相比,具有以下优势:
在验证满足每层的结点数不大于前一层的结点数的神经网络时,本申请提出的方法能够有效地减少时间复杂度,提高运行效率,输出医疗领域待验证神经网络的安全性,提高神经网络验证结果的鲁棒性。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的方法流程图;
图2为第一个实施例的二叉树构造过程;
图3为第一个实施例的二叉树示意图;
图4为第一个实施例的输入集合示意图;
图5为第一个实施例的神经网络的结构示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本申请使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了基于神经网络的高鲁棒用户分类方法;
如图1所示,基于神经网络的高鲁棒用户分类方法,包括:
S101:获取健康用户的体检数据;基于健康用户的体检数据,生成输入集合;
S102:将输入集合作为二叉树的根结点,每层结点都是由其父结点代表的超矩形二等分得到的,直到某层结点代表的超矩形达到指定的大小限制,那么不再继续二等分,当前层结点就是叶子结点,得到搜索用的二叉树;
S103:对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;如果搜索到某个叶子结点代表的超矩形的输出可达集合估计不包含在输出限制中,则得到当前待验证的神经网络是不安全的结论;否则,得到当前待验证的神经网络是安全的结论。
输入集合,即待验证的神经网络的一个正常输入的某一个指定大小的邻域,其大小由验证人员指定。
输出可达集合,即此结点代表的超矩形中全部的点在神经网络下的像的集合。
进一步地,所述方法还包括:
S104:对验证结果为安全的神经网络进行训练,训练集为已知健康或非健康标签的用户体检数据;
S105:将新用户的体检数据,输入到训练后的神经网络中,输出新用户的分类标签。
进一步地,所述神经网络为实现医疗数据分类的神经网络,所述神经网络的输入值为某体检人员的体检数据,输出值为当前体检人员为健康人员或非健康人员。
作为一个或多个实施例,所述S101:获取健康用户的体检数据,是指:
获取健康用户的体检报告;
将体检报告通过扫描仪扫描成电子体检报告;
对电子体检报告进行OCR识别,得到电子体检数据。
作为一个或多个实施例,所述S101:基于健康用户的体检数据,生成输入集合;具体包括:
S1011:对健康用户的电子体检数据,进行归一化处理;
S1012:设定允许的误差;
S1013:根据归一化处理后的电子体检数据和允许的误差,生成输入集合。
示例性的,所述S1011:对健康用户的电子体检数据,进行归一化处理;具体包括:
假设正常的用户数据包含身高、体重、血压等共k0个数据,将这些数据视为一个k0维向量,作为邻域的中心,记为c*,其第j个分量记为假设的可能的取值范围是那么归一化后的值为由所有cj(j=1,2,…,k0)构成的向量c就是c*归一化后的结果。
示例性的,所述S1012:设定允许的误差;具体包括:
假设本申请允许的误差大小是e,那么对于数据项cj(j=1,2,…,k0),任何在lj=cj-e与uj=cj+e之间的数值都是允许的。由k0个e构成的k0维向量记为r。
示例性的,所述S1013:根据归一化处理后的电子体检数据和允许的误差,生成输入集合;具体包括:
输入集合就是由|x-c|≤r确定的超矩形,记为X,这个超矩形也可以写成[l,u],l与u分别是由lj与uj(j=1,2,…,k0)构成的向量,它们是X的最低和最高的两个顶点。超矩形是矩形在高维空间上的推广,其不等式形式和区间形式是一一对应的。
作为一个或多个实施例,所述S102:得到搜索用的二叉树;具体包括:
S1021:将输入集合作为二叉树的根结点;
S1022:任意结点,通过超矩形二等分的形式产生两个子结点;
其中,二等分是按照宽度最大的维度等分的方式进行分割的,如果有多个维度的宽度同时是最大的,则选择顺序最靠前的维度作为分割的依据;
S1023:二叉树逐层不断生长,直至某层的结点代表的超矩形的最大宽度小于或等于某个给定的实数,这时,不再将这一层的超矩形进行分割,这一层的结点就是叶子结点。
应理解的,这棵二叉树的根结点是输入集合,超矩形X。任意结点的两个子结点由此结点的超矩形二等分产生。二等分是按照宽度最大的维度等分的方式分割的,如果有多个维度的宽度同时是最大的,那么选择顺序靠前的维度作为分割依据。这种分割使得二叉树逐层不断生长,(并且每层的结点代表的超矩形测度均相同),直到某层的结点代表的超矩形的最大宽度小于或等于某个给定的实数δ,这时不再将这一层的超矩形分割,这一层结点即是叶子结点。
作为一个或多个实施例,所述S103:对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;具体步骤包括:
S1031:初始化栈为空,将根结点压栈;
S1032:判断栈是否为空;当栈不为空时,循环S1033;当栈为空时,进入S1034;
S1033:S1033包括S10331、S10332和S10333三个步骤;
S10331:弹出栈顶元素(某个结点),如果此结点代表的超矩形位于输入集合边界上,那么计算其输出可达集合,进入下一步;否则返回S1032;
S10332:如果这个输出可达集合是输出限制的子集,那么返回S1032;否则,执行下一步。
S10333:如果此结点是叶子结点,终止循环,并得到当前待验证的神经网络是不安全的结论;否则,将此结点的两个子结点压栈;
S1034:如果栈为空,并且没有得到神经网络是不安全的结论,那么神经网络就是安全的。
应理解的,输出限制代表了输出层上标签相同的点的集合,如果某个输入集合的输出可达集合是输出限制的子集,那么这个输入集合就是鲁棒的。
进一步地,所述待验证的神经网络输出可达集合;具体步骤包括:
求出第一个隐藏层的各个结点的取值范围;
然后,求出第二个、第三个直到输出层各个结点的取值范围;
输出层各个结点的取值范围组成的超矩形即是Rk。
假设当前结点代表的超矩形为Hk=[lk,uk],其相应的输出可达集合估计记为Rk。求解输出可达集合Rk的过程如下:
由于神经网络任何一个隐藏层上结点的取值只取决于上一层的结点的取值,因此可以采用逐层传播的方式计算。由Hk=[lk,uk]我们可以得到输入层任意结点上的变量取值范围,即因此我们可以用下面的方法求出第一个隐藏层的各个结点的取值范围,然后可以求出第二个、第三个直到输出层各个结点的取值范围。输出层各个结点的取值范围组成的超矩形即是Rk。不失一般性,假设已经求出了第i-1层上全部结点上的取值范围[li-1,ui-1],那么第i层上任意一个结点j上取值范围[li,j,ui,j]由下面的公式求出:
li,j=σi,j([wi,j]+·li-1+[wi,j]-·ui-1+bi,j)
ui,j=σi,j([wi,j]+·ui-1+[wi,j]-·li-1+bi,j)
其中,[wi,j]+表示对wi,j取非负值,即非负元素不变,负元素取为零。类似地,[wi,j]-表示对wi,j取非正值。
一种基于保壳性的医疗用途神经网络的鲁棒性验证方法,属于神经网络安全,可信人工智能领域。包括以下步骤:步骤一、选择正常的输入和允许的误差来生成输入集合;步骤二、分割输入集合;步骤三、求解输入集合的外壳对应的输出可达集合估计;步骤四、检验输出集合估计是否满足输出限制。本申请提出的方法要求神经网络满足每层的结点数不大于前一层的结点数。本申请相对于已有的验证方法,能够有效减少时间复杂度,提高神经网络的验证速度。
本申请的目的在于针对一类满足每层的结点数不大于前一层的结点数的神经网络,设计了一种更加高效的鲁棒性验证方法。
本申请的核心思想是:在验证满足上述条件的神经网络时,只验证位于正常输入的给定邻域边界上的点,而忽略邻域内部的点,因此可以有效减少时间复杂度。
下面将证明上述思想的正确性:
首先介绍本申请的理论基础:保壳性。保壳性是本申请研究发现的部分扩展集合函数所具有的一个数学性质。以下是与保壳性有关的一些定义和定理。
定义(保壳性):对于一个集合函数F(X),如果F(X)满足:对任意的简单区域X和X的任意的一个外壳H,记Y=F(X),G=F(H),则G一定是Y的一个外壳,那么称F(X)具有保壳性。
下面两个定义用于解释保壳性的定义中用到的术语:
定义(简单区域):n维欧氏空间中的一个简单区域A是一个边界连续的单连通闭集。显然,n维欧氏空间中的凸多面体都是简单区域。
定义(外壳):一个n维欧氏空间中简单区域A的外壳是A的任意一个包含A的全部边界点的子集B。显然,A本身,A的边界都是A的外壳。
下面的定理用于后面证明某些集合函数具有保壳性:
定理1:保壳性对函数复合有传递性,即对任意两个具有保壳性的集合函数F(X)和G(X)(至少要求F的定义域包含G的值域,一般考虑F和G都定义n维欧氏空间上),它们的复合函数H(X)=F[G(X)]仍然具有保壳性。
推论:如果集合函数F(X)是由有限个具有保壳性的集合函数复合而成,那么F(X)具有保壳性。
定理2:对定义在n维欧氏空间上的函数f(x)与g(x),要求f的定义域包含g的值域,其扩展集合函数分别为F(X)和G(X),记h(x)=f[g(x)],h(x)的扩展集合函数为H(X),那么H(X)=F[G(X)]。
神经网络包含仿射变换和激活函数,下面将证明这两种函数的扩展集合函数都具有保壳性:
首先,证明特定的仿射变换的扩展集合函数具有保壳性:
推论:给定一个线性变换l(x):记相应的矩阵为l(x)的扩展集合函数为L(X),对任意一个简单区域的输入集合P是I的外壳,J=L(I),Q=L(P),如果ki≤ki-1,那么Q是J的外壳。也就是说,此时L(X)具有保壳性。
其次,证明激活函数的扩展集合函数具有保壳性:
ci,j(x)=y,
记ci,j(x)的扩展集合函数为Ci,j,那么有:
其中°表示函数的复合。
下面两个定义用来简化激活函数的扩展集合函数具有保壳性:
定义(强简单区域):一个强简单区域I是满足下面条件的简单区域:任意的lx,j与I的交集只可能是以下3中可能之一:空集,一个点,或者一条线段。
引理2:给定一个强简单区域I,J=Ci,j(I)是一个强简单区域,并且Ci,j具有保壳性。
定理5:激活函数σi的扩展集合函数为Di(X)具有保壳性。
定义(过度估计函数):本申请中用到的过度估计函数是一个集合函数,给定一个输入集合I,过度估计函数G(X)的输出是包含I的最小超矩形。
超矩形:{x∶|x-c|≤r},n维向量c是超矩形的中心,r是n维向量。超矩形是一种凸多面体。
定理6:过度估计函数G(X)具有保壳性。
由定理1推论,如果每层都有ki≤ki-1,那么Fe(X)具有保壳性。
以一个根据血常规指标进行二分类(健康/不健康)的神经网络为例,本申请选取了一个健康男性的检测结果作为正常输入,相关参数如表1所示:
表1 某健康男性检测结果相关参数表
项目 | 结果 | 单位 | 取值范围 | 归一化结果 |
白细胞 | 8.0 | 10^9/L | 0.0-10.0 | 0.8 |
中性粒细胞 | 5.0 | 10^9/L | 0.0-10.0 | 0.5 |
淋巴细胞 | 2.0 | 10^9/L | 0.0-5.0 | 0.4 |
血红蛋白 | 130.0 | g/L | 0.0-200.0 | 0.65 |
红细胞 | 3.0 | 10^12/L | 0.0-10.0 | 0.3 |
平均红细胞体积 | 90.0 | fL | 50.0-150.0 | 0.2 |
血小板计数 | 180.0 | 10^9/L | 0.0-400.0 | 0.45 |
平均血小板体积 | 11.0 | fL | 5.0-15.0 | 0.6 |
血小板平均宽度 | 14.0 | fL | 0.0-20.0 | 0.7 |
上表中数据的标签是“健康”
本申请要验证,当在这个样本上添加微小的扰动时,神经网络的预测结果(分类)不会产生变化,即仍然是“健康”。
步骤一:根据上表中的数据,取邻域中心
c=[0.8,0.5,0.4,0.65,0.3,0.2,0.45,0.6,0.7],
为了便于计算,取误差大小e=0.1,由此可以确定输入集合X。
步骤二:为了便于展示,不失一般性,我们以二维数据为例展示构造二叉树的过程,如图2所示。
这里的输入集合是图中最大的矩形,即二叉树的根结点,记为A0。然后我们沿着最中间的横线段(即按照宽度最大的第2维度)将其二等分,得到两个矩形A1,1和A1,2,作为A0的两个子结点。接着,将A1,1和A1,2分别沿着最中间的竖线段(即按照宽度最大的第1维度)二等分,得到攻击四个矩形A2,1,A2,2,A2,3和A2,4。假设这里δ=0.3,那么上述四个矩形的最大宽度是0.4,还需要对它们进行分割。沿着从上往下数第二条横线段对它们进行分割,得到了8个矩形,它们的最大宽度是0.3,满足δ要求,因此这八个矩形就是二叉树的叶子结点。最终的二叉树如图3所示。
步骤三:我们分别展示步骤3.1与3.2的具体过程
首先,不失一般性,我们同样以二维的输入层为例展示如何判别一个超矩形是否在根结点代表的超矩形(输入集合)边界上(步骤3.1)。
如图4所示,输入集合是最大的正方形,左侧小正方形和右侧小正方形是同一层的两个结点。将它们写成区间的形式:最大的正方形:[[0.0,0.0],[0.8,0.8]],左侧小正方形:[[0.0,0.4][0.2,0.6]],右侧小正方形:[[0.4,0.2][0.6,0.4]]。可见最大的正方形与左侧小正方形的区间形式在对应的位置有一个值相同,并且在图中左侧小正方形在最大正方形的边界上。而最大正方形与右侧小正方形的区间形式在对应的位置的值都不相同,并且在图中右侧小正方形不在最大正方形的边界上。更高维度上的输入层中的判别操作是类似的。
接着,不失一般性,我们以含有一个输入层和一个输出层的每层都有两个结点的神经网络为例展示求解给定输入集合的输出可达集合估计的过程:如图5所示。
上图是所述神经网络的结构,其参数如下:
激活函数设置为ReLU。
假设x1的取值范围是[0,1],x2的取值范围是[-2,-1],即
那么相应的输出可达集合估计计算过程如下:
[w1,1]+=[1,2],[w1,1]-=[0,0],[w1,2]+=[0,0],[w1,2]-=[-1,0]
l1,1=σ1,1([w1,1]+·l0+[w1,1]_·u0+b1,1)=-3
u1,1=σ1,1([w1,1]+·u0+[w1,1]_·l0+b1,1)=0
l1,2=σ1,2([w1,2]+·l0+[w1,2]-·u0+b1,2)=-2
u1,2=σ1,2([w1,2]+·u0+[w1,2]_·l0+b1,2)=-1
即输出可达集合估计是矩形R:{(y1,y2)|-3≤y1≤0,-2≤y2≤-1}。
更多层数和结点数的网络计算过程是类似的。
步骤四:
与其他发明的对比本发明能够有效减少时间复杂度,提高运行的速度。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
实施例二
本实施例提供了基于神经网络的高鲁棒用户分类系统;
基于神经网络的高鲁棒用户分类系统,包括:
输入集合生成模块,其被配置为:获取健康用户的体检数据;基于健康用户的体检数据,生成输入集合;
二叉树构造模块,其被配置为:将输入集合作为二叉树的根结点,每层结点都是由其父结点代表的超矩形二等分得到的,直到某层结点代表的超矩形达到指定的大小限制,那么不再继续二等分,当前层结点就是叶子结点,得到搜索用的二叉树;
安全性验证模块,其被配置为:对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;如果搜索到某个叶子结点代表的超矩形的输出可达集合估计不包含在输出限制中,则得到当前待验证的神经网络是不安全的结论;否则,得到当前待验证的神经网络是安全的结论。
此处需要说明的是,上述输入集合生成模块、二叉树构造模块和安全性验证模块对应于实施例一中的步骤S101至S103,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.基于神经网络的高鲁棒用户分类方法,其特征是,包括:
获取健康用户的体检数据;基于健康用户的体检数据,生成输入集合;
其中,获取健康用户的体检数据,是指:获取健康用户的体检报告;将体检报告通过扫描仪扫描成电子体检报告;对电子体检报告进行OCR识别,得到电子体检数据;
其中,基于健康用户的体检数据,生成输入集合;具体包括:对健康用户的电子体检数据,进行归一化处理;设定允许的误差;根据归一化处理后的电子体检数据和允许的误差,生成输入集合;
将输入集合作为二叉树的根结点,每层结点都是由其父结点代表的超矩形二等分得到的,直到某层结点代表的超矩形达到指定的大小限制,那么不再继续二等分,当前层结点就是叶子结点,得到搜索用的二叉树;
对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;如果搜索到某个叶子结点代表的超矩形的输出可达集合估计不包含在输出限制中,则得到当前待验证的神经网络是不安全的结论;否则,得到当前待验证的神经网络是安全的结论;
对验证结果为安全的神经网络进行训练,训练集为已知健康或非健康标签的用户体检数据;
将新用户的体检数据,输入到训练后的神经网络中,输出新用户的分类标签。
2.如权利要求1所述的基于神经网络的高鲁棒用户分类方法,其特征是,得到搜索用的二叉树;具体包括:
将输入集合作为二叉树的根结点;
任意结点,通过超矩形二等分的形式产生两个子结点;其中,二等分是按照宽度最大的维度等分的方式进行分割的,如果有多个维度的宽度同时是最大的,则选择顺序最靠前的维度作为分割的依据;
二叉树逐层不断生长,直至某层的结点代表的超矩形的最大宽度小于或等于某个给定的实数,这时,不再将这一层的超矩形进行分割,这一层的结点就是叶子结点。
3.如权利要求1所述的基于神经网络的高鲁棒用户分类方法,其特征是,对二叉树进行遍历,搜索二叉树的每个结点,将二叉树的每个结点代表的超矩形输入到待验证的神经网络中,待验证的神经网络输出可达集合;具体步骤包括:
S1031:初始化栈为空,将根结点压栈;
S1032:判断栈是否为空;当栈不为空时,循环S1033;当栈为空时,进入S1034;
S1033:S1033包括S10331、S10332和S10333三个步骤;
S10331:弹出栈顶元素某个结点,如果此结点代表的超矩形位于输入集合边界上,那么计算其输出可达集合,进入下一步;否则返回S1032;
S10332:如果这个输出可达集合是输出限制的子集,那么返回S1032;否则,执行下一步;
S10333:如果此结点是叶子结点,终止循环,并得到当前待验证的神经网络是不安全的结论;否则,将此结点的两个子结点压栈;
S1034:如果栈为空,并且没有得到神经网络是不安全的结论,那么神经网络就是安全的。
4.如权利要求1所述的基于神经网络的高鲁棒用户分类方法,其特征是,所述待验证的神经网络输出可达集合;具体步骤包括:
求出第一个隐藏层的各个结点的取值范围;
然后,求出第二个、第三个直到输出层各个结点的取值范围;
输出层各个结点的取值范围组成的超矩形即是Rk。
5.基于神经网络的高鲁棒用户分类系统,其特征是,包括:
输入集合生成模块,其被配置为:获取健康用户的体检数据;基于健康用户的体检数据,生成输入集合;
其中,获取健康用户的体检数据,是指:获取健康用户的体检报告;将体检报告通过扫描仪扫描成电子体检报告;对电子体检报告进行OCR识别,得到电子体检数据;
其中,基于健康用户的体检数据,生成输入集合;具体包括:对健康用户的电子体检数据,进行归一化处理;设定允许的误差;根据归一化处理后的电子体检数据和允许的误差,生成输入集合;
二叉树构造模块,其被配置为:将输入集合作为二叉树的根结点,每层结点都是由其父结点代表的超矩形二等分得到的,直到某层结点代表的超矩形达到指定的大小限制,那么不再继续二等分,当前层结点就是叶子结点,得到搜索用的二叉树;
安全性验证模块,其被配置为:对二叉树进行遍历,搜索二叉树的每个结点,如果此结点代表的超矩形位于输入集合边界上,则将其输入到待验证的神经网络中,待验证的神经网络输出可达集合;如果搜索到某个叶子结点代表的超矩形的输出可达集合估计不包含在输出限制中,则得到当前待验证的神经网络是不安全的结论;否则,得到当前待验证的神经网络是安全的结论;
训练模块,其被配置为:对验证结果为安全的神经网络进行训练,训练集为已知健康或非健康标签的用户体检数据;
输出模块,其被配置为:将新用户的体检数据,输入到训练后的神经网络中,输出新用户的分类标签。
6.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述权利要求1-4任一项所述的方法。
7.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110038432.1A CN112733941B (zh) | 2021-01-12 | 2021-01-12 | 基于神经网络的高鲁棒用户分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110038432.1A CN112733941B (zh) | 2021-01-12 | 2021-01-12 | 基于神经网络的高鲁棒用户分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112733941A CN112733941A (zh) | 2021-04-30 |
CN112733941B true CN112733941B (zh) | 2022-06-21 |
Family
ID=75591448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110038432.1A Active CN112733941B (zh) | 2021-01-12 | 2021-01-12 | 基于神经网络的高鲁棒用户分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112733941B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469339B (zh) * | 2021-06-30 | 2023-09-22 | 山东大学 | 基于降维的自动驾驶神经网络鲁棒性验证方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109147254A (zh) * | 2018-07-18 | 2019-01-04 | 武汉大学 | 一种基于卷积神经网络的视频野外火灾烟雾实时检测方法 |
CN109376615A (zh) * | 2018-09-29 | 2019-02-22 | 苏州科达科技股份有限公司 | 用于提升深度学习网络预测性能的方法、装置及存储介质 |
CN110991603A (zh) * | 2019-10-23 | 2020-04-10 | 广州市智能软件产业研究院 | 一种神经网络的局部鲁棒性验证方法 |
CN111475321A (zh) * | 2020-05-08 | 2020-07-31 | 中国人民解放军国防科技大学 | 一种基于迭代抽象分析的神经网络安全性质验证方法 |
CN111813581A (zh) * | 2020-07-24 | 2020-10-23 | 成都信息工程大学 | 一种基于完全二叉树的容错机制的配置方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11625487B2 (en) * | 2019-01-24 | 2023-04-11 | International Business Machines Corporation | Framework for certifying a lower bound on a robustness level of convolutional neural networks |
-
2021
- 2021-01-12 CN CN202110038432.1A patent/CN112733941B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109147254A (zh) * | 2018-07-18 | 2019-01-04 | 武汉大学 | 一种基于卷积神经网络的视频野外火灾烟雾实时检测方法 |
CN109376615A (zh) * | 2018-09-29 | 2019-02-22 | 苏州科达科技股份有限公司 | 用于提升深度学习网络预测性能的方法、装置及存储介质 |
CN110991603A (zh) * | 2019-10-23 | 2020-04-10 | 广州市智能软件产业研究院 | 一种神经网络的局部鲁棒性验证方法 |
CN111475321A (zh) * | 2020-05-08 | 2020-07-31 | 中国人民解放军国防科技大学 | 一种基于迭代抽象分析的神经网络安全性质验证方法 |
CN111813581A (zh) * | 2020-07-24 | 2020-10-23 | 成都信息工程大学 | 一种基于完全二叉树的容错机制的配置方法 |
Non-Patent Citations (3)
Title |
---|
Evaluating Robustness of Neural Networks with Mixed Integer Programming;Vincent Tjeng等;《arXiv:1711.07356v3》;20190218;正文全文 * |
Neural Network Robustness Verification on GPUs;Christoph Muller等;《arXiv:2007.10868v1》;正文全文;20200720;正文全文 * |
面向神经网络的启发式防御和鲁棒性验证技术研究;李长江;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20200815;正文全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112733941A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Combination of classifiers with optimal weight based on evidential reasoning | |
Derrac et al. | Evolutionary fuzzy k-nearest neighbors algorithm using interval-valued fuzzy sets | |
Bombara et al. | A decision tree approach to data classification using signal temporal logic | |
Lucca et al. | Preaggregation functions: Construction and an application | |
KR102492318B1 (ko) | 모델 학습 방법 및 장치, 및 데이터 인식 방법 | |
EP3074918B1 (en) | Method and system for face image recognition | |
Lanubile et al. | Comparing models for identifying fault-prone software components. | |
CN110147732A (zh) | 指静脉识别方法、装置、计算机设备及存储介质 | |
Bombara et al. | Offline and online learning of signal temporal logic formulae using decision trees | |
CN113407660B (zh) | 非结构化文本事件抽取方法 | |
Sekar et al. | Fused hierarchical neural networks for cardiovascular disease diagnosis | |
CN114664452A (zh) | 一种基于因果校验数据生成的全科多疾病预测系统 | |
Wang et al. | On lp-norm robustness of ensemble decision stumps and trees | |
CN112733941B (zh) | 基于神经网络的高鲁棒用户分类方法及系统 | |
Fine et al. | Query by committee, linear separation and random walks | |
CN109615080B (zh) | 无监督模型评估方法、装置、服务器及可读存储介质 | |
Boursinos et al. | Trusted confidence bounds for learning enabled cyber-physical systems | |
Betechuoh et al. | Using inverse neural networks for HIV adaptive control | |
CN111786999B (zh) | 一种入侵行为的检测方法、装置、设备和存储介质 | |
Mostafa et al. | A machine learning ensemble classifier for prediction of Brain Strokes | |
CN116416334A (zh) | 一种基于原型的嵌入网络的场景图生成方法 | |
US11574641B2 (en) | Method and device with data recognition | |
Rao et al. | Characterization of linearly separable Boolean functions: a graph-theoretic perspective | |
Martínez et al. | Generalized type-2 fuzzy logic in response integration of modular neural networks | |
US20230394304A1 (en) | Method and Apparatus for Neural Network Based on Energy-Based Latent Variable Models |
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 |