一种基于聚类的神经网络测试多方法混合挑选输入方法与流程

文档序号:24335766发布日期:2021-03-19 12:16阅读:125来源:国知局
一种基于聚类的神经网络测试多方法混合挑选输入方法与流程
本发明属于神经网络测试中的自动化测试
技术领域
,具体提出了一种基于聚类的神经网络测试多方法混合挑选输入方法,即cms-dnnt。
背景技术
:在深度神经网络日新月异发展的今天,像图像分类、人脸识别、甚至是自然语言处理等领域都得到了广泛的应用。但是,随着更多安全至上的领域(比如自动驾驶、医疗诊断等)开始逐步使用深度神经网络,使得人们对深度神经网络又提出了一个新的要求,即鲁棒性。而作为近些年来应运而生的神经网络测试,在这些方面上的的确确具有一定的现实意义。在神经网络测试过程中,为提升模型在多样化异常模式下的泛化性,扩张样本可以说是一个良策,但在扩张样本的同时,也将带来一个新的问题,那就是会使得被测模型通常有较为庞大的图像输入,因此选择一部分可以有效识别模型失效的测试输入作为测试用例具有重要意义。与此同时,深度学习系统规模的发展也不断推进着神经网络测试技术多样性的发展。在众多的测试手段中,随机测试(randomtesting,rt)因为其简单的概念和应用手段被广泛应用于各种深度学习系统的质量保障中。更具体一点,rt就是在输入域中随机产生测试用例驱动待测神经网络的执行,判断该测试用例是否导致神经网络输出异常。然而,rt只是盲目随机产生测试用例,而忽略了已经执行过的测试用例的相关信息,同时也没有注意到触发故障的神经网络输入本身具有的属性。因此,研究人员对于rt效能产生了一定的争议性。针对rt的故障检测能力,自适应随机测试(adaptiverandomtesting,art)就是针对rt提出的改进方法之一。art在文献上的出现可以追溯到2001年chen等人发表的一篇期刊论文。art由来自多个不同领域的许多研究人员独立报告的关于软件故障模式的观察所激发,这种故障模式指:触发程序故障的输入趋向于聚集到连续区域,称之为故障区域。chan等人在论文中定义了三种失效模式:块状失效模式、条状失效模式和点状失效模式,如图1,图中表示了这三种失效模式在输入域为二维的情况,边界框表示输入域边界。其中黑色长条、块或点表示导致故障的输入分布。早期的研究表明,条状和块状的失效模式比点状模式更常见。经上分析,如果故障区域是连续的,那么非故障区域在整个输入域中也应该是连续的。具体来说:如果一个测试用例tc是一个触发程序故障的输入,那么它的邻居也很可能是触发程序故障的输入。基于此,art的目标是在确保rt的随机性前提下,在输入域上实现测试用例的均匀分布。通常包括两个过程:一个是测试输入的随机生成,另一个是确保生成的测试用例在整个输入域内的均匀分布。art是多种基于多样的直觉和准则的测试方法组成的方法簇,其中固定候选集的art算法(fixedsizecandidatessetversionofart,fscs-art)是诸多算法中最为经典、最为普遍接受的一种算法。fscs-art用的核心技术是:①两个测试用例之间相似度的概念,即距离度量;②使用了两个测试用例集合:已执行测试用例集e(已经被执行过的并且没有捕获被测程序中任何异常的测试用例构成的集合)和候选测试用例集c(在输入域中随机产生的k个测试用例构成的集合)。若c′∈c要想成为下一个测试用例,则必须满足条件:c′∈c,mine∈ed(c′,e)≥mine∈ed(c,e),其中,d(x,y)用于描述测试用例x和y之间的相似度,表示x和y之间的欧几里得距离(euclideandistance,欧氏距离)。欧式距离定义如下:测试用例tc1和tc2之间的欧式距离记作:d(tc1,tc2)。针对m维的输入域,有测试用例a={a1,a2,...,am}和测试用例b={b1,b2,...,bm},则:art引入到深度学习系统中,可以追溯到2019年yan等人发表的一篇期刊论文。为了提高rt的有效性,在基于传统软件测试中表现突出的固定候选集自适应随机算法fscs-art的基础上提出了该算法与深度学习系统相结合的artdl。该算法的基本思想旨在设计一个基于深度学习系统的自动化黑盒测试方法,进而来改善并代替使用rt。在实验设计过程中,在提取神经网络各卷积层输出的特征向量基础上,定义了基于深度学习系统的特征欧几里得距离(featureeuclideandistance,fed),进而提出特征向量可视化dl模型的失效模式,即引起故障的输入和非引起故障的输入的三维空间图。图2表明了特征欧几里得距离可以用来作为比较引起故障的输入和非引起故障的输入两者相似性的度量。特征欧式距离定义如下:测试用例ta和tb之间的欧式距离记作fed(ta,tb)。针对m维的特征向量,有测试用例ta=va={a1,a2...am}和测试用例tb=vb={b1,b2...bm},则:经上分析,artdl方法单纯的将传统软件测试中表现性能突出的固定候选集自适应随机测试方法(fixedsizecandidatessetversionofart,fscs-art),引入到了深度学习系统中。作为深度学习系统随机性测试的改进版,minyan提出的artdl在性能上的确有了质一般的飞跃。但在应对如今更多安全至上领域的高鲁棒性要求时,性能上还略显不足,在考虑到提取得到的图像特征数据相似性越大则对应的测试能力越一致的情况下,本发明将立足于深度学习系统中传统的聚类算法,对artdl进行优化,使得深度学习系统性能上有进一步的改良。将具有不同测试能力的测试输入划分为不同组后,再从每个组内挑选测试用例以构成测试输入的小集合。针对测试性能较为一致的多性能类,因为很难做到完美通过聚类区分不同的测试能力,每一组都有噪声,即测试输入不应该被分成这个组。为了避开各组噪音的影响,选择最能代表测试能力的测试输入是可解释的组,也称为原型。而机器学习中最先进的基于实例的最大均值差异算法(maximummeandiscrepancy,mmd)在增加所选测试输入的可解释性上具有一定的优势,该算法通过计算原型分布与小组分布之间的差异,在保证差异值最小的情况下确定所选原型。mmd通过在函数空间f计算原型与小组的期望值,从而将其作为衡量原型与小组之间差异的一种度量,具体表达形式如下:技术实现要素:针对上述问题,为了能够有效地提高自适应随机神经网络测试方法的效率,本发明提出一种基于聚类神经网络测试多方法混合挑选输入方法。本发明的技术方案包括如下步骤:步骤1,确定已经预训练过的待测神经网络模型d′以及对抗样本集合s;步骤2,提取对抗样本特征集合v;步骤3,获取两种不同的类别:占总样本数绝大部分的若干性能类l1,l2...lj以及占少数的噪音类l0;步骤4,在确定挑选用例个数为n的情况下,设置两种类别的挑选比例值α=0.6;步骤5,针对两种不同的类别,采用分而治之思想将传统的机器学习与传统的软件测试算法相结合,分别挑选测试用例α*n个和(1-α)*n个;步骤6,将挑选所得用例作为训练集t,再训练旧模型d′得到新模型d″;步骤7,最后返回新模型d″针对对抗样本的预测错误个数,将其作为评判各种挑选算法性能好坏的度量;进一步,所述步骤1的具体过程如下:步骤1.1,根据前期的软件设计文档,确定被测神经网络模型d,以及对应的种子图像数据库(n张种子图像集合i);步骤1.2,根据步骤1.1确定的被测神经网络模型d,以及对应的种子图像数据库(n张种子图像集合i),初始化被测神经网络模型,即通过对应的种子图像数据库预训练被测神经网络模型d,进而确定已经预训练过的待测神经网络模型d′;步骤1.3,根据步骤1.1确定的种子图像数据库(n张种子图像集合i),在表1所示的33种变换方式上,进行样本扩张,生成33*n张对抗样本集合s。上述步骤2的具体过程如下:步骤2.1,根据1.2确定的d′,得到其所有的卷积层cov1,cov2,...;步骤2.2,根据1.3确定的s,提取其在cov1,cov2,...的特征集合v1,v2,...,挑选将会影响性能好坏的一个变量vi。通过实验结果验证,效果最佳所使用的特征集作为最佳特征集合v;上述步骤3的具体过程如下:步骤3.1,使用密度分层聚类算法(densityhierarchicalclusteringalgorithm,hdbscan)。以距离作为相似性度量,根据测试性能越一致,则对应的测试用例越集中的思想,把所有的测试用例按照测试性能归在不同的类别中。具体步骤如下所示:步骤3.1.1,根据密度/稀疏度对空间进行变换。聚类算法的核心是单链接聚类,它对噪声非常敏感:一个位于错误位置的单个噪声数据点可以充当岛屿之间的桥梁,将它们粘合在一起。为消除噪声带来的影响,即密集点(核心距离较低)彼此保持相同的距离,但较稀疏的点则被推开,以使其核心距离至少远离任何其他点。定义相互可达距离如下所示:dmreach-k(a,b)=max{corek(a),corek(b),d(a,b)}其中corek(a)、corek(b)分别表示为点a、b到各自k近点的距离,d(a,b)表示点a、b间的原始距离。步骤3.1.2,建立距离加权图的最小生成树。将数据看作一个加权图,其中数据点为顶点,任意两点之间的边的权重等于这些点之间的相互可达距离,即步骤3.1.1确定值。找到一个最小的边集合,这样从集合中删除任何边都会导致组件断开,即通过prim算法非常有效地构建最小生成树。步骤3.1.3,构造连接组件的簇层次结构。根据距离对树的边进行排序(按增加的顺序),然后遍历,为每条边创建一个新的合并的簇。通过联合查找数据结构,确定每个将2个簇接在一起的边。最终,在不同的阈值水平上得到一个连接组件的层次结构(从完全连接到完全不连接)。步骤3.1.4,根据最小的簇大小压缩簇层次结构。引入一个最小簇大小的概念,将其作为hdbscan的一个参数。遍历层次结构过程中,每次分割时判断是否有一个由分割创建的新簇的点数少于最小簇大小。若少于最小的簇大小的点,则将其声明‘从簇中剔除的点’,并将较大的簇保留父簇的身份。若拆分所得簇尺寸均大于最小簇大小,则将其拆分保留在树中。最终得到了一个拥有少量节点的小得多的树,每个节点都有关于该节点的簇大小如何随着不同距离减小的数据。步骤3.1.5,从压缩树中提取稳定的簇。为保证选择的簇能够持续存在并且有更长的生命周期,即选择了一个簇,就不能选择它后代的任何簇。考虑使用一种不同于距离的度量方法来考虑簇的持久性,即定义每个点的密度度量为:其中distance表示该点与剩余聚类重点之间的最短距离。针对给定的簇,定义值λbirth和λdeat为当簇分离并成为它自己簇时的λ值,其中λbi表示团簇形成时的λ值;λdeath表示团簇分裂为两个子团簇时的λ值;以及当簇分别拆分为较小的簇时的λ值(如果有)。反过来,对于给定的集群,对于集群中的每个点p,我们可以将值λp定义为“从簇中掉出来”的λ值,该值介于λbir和λdeath之间。现在,对于每个簇,稳定性计算如下:scluster=∑p∈cluster(λp-λbirt)λp为从团簇中分离出去时的λ值。将所有叶节点声明为选定的簇,通过遍历树(反向拓扑排序顺序),判断子簇的稳定性之和是否大于簇的稳定性。若满足,则将簇稳定性设置为子簇稳定性之和,否则将簇声明为选定簇,并取消选择其所有子簇。当遍历到根节点时,返回当前选定的所有簇集合。步骤3.2,根据步骤3.1.4,将最小簇参数值设定为50,判断所得簇中测试用例个数是否小于阈值50,将所有阈值≤50的簇,即所有‘从簇中剔除的点’汇聚成一个噪音类l0,将剩余占总样本数绝大部分的簇l1,l2,...,lj定义为若干性能类。上述步骤5的具体过程如下:步骤5.1,即针对若干性能类,选取机器学习中,在测试能力较一致的用例中挑选能力突出的最大均值差异算法(maximummeandiscrepancy,mmd)。在挑选过程中,分别求出各性能类中所挑用例在该所在性能类内的分布p1、p2...pj,以及各性能类在总的性能类中的类分布g,取mmd作为检验统计量。为使得两个分布尽可能相同,所挑α*n个测试用例需使得mmd值尽可能的小。此外,每个性能类中挑选测试用例个数依据该性能类所具有的测试用例个数占总性能类测试用例个数总和的比例值挑选;步骤5.2,针对噪音类,选取传统软件测试中,在较为分散用例中表现性能较强的基于固定候选集的自适应随机挑选(adaptiverandomselection,fscs-ars)方法,挑选测试用例个数(1-α)*n;步骤5.2.1,本发明使用特征欧几里得距离(featureeuclideandistance,fed)来进行测试用例之间的相似性度量,距离越近,表明这两个测试用例的相似性越高;步骤5.2.2,根据步骤2所得v,初始化已执行测试用例集e以及候选测试用例集c;e初始值t0为随机选取的一个非异常对抗样本向量特征向量v0,c大小固定为10。步骤5.2.3,计算c中每一个候选测试用例ci与e中每一个元素ei(目前e中只有一个元素t0)的特征欧氏距离,选择最小距离为该候选测试用例的相似性值,选择候选测试用例中相似性值最低(最小距离最大)的测试用例为下一个待测用例t1;特征欧式距离定义如下:测试用例ta和tb之间的欧式距离记作fed(ta,tb)。针对m维的特征向量,有测试用例ta=va={a1,a2,...,am}和测试用例tb=vb={b1,b2,...,bm},其中ai、bi分别表示测试用例ta、tb在第i维的特征向量,则:步骤5.2.4,如果t1检测到了异常,将t1加入到e中,重复步骤5.2.3,直到所挑选用例个数达到(1-α)*n。上述步骤6的具体过程如下:步骤6.1,将步骤5挑选所得的n个测试用例作为再训练旧模型d′的训练集t={t0,t1,...,tn};步骤6.2,根据步骤6.1所得t再训练模型d′,得到最终的新模型d″;上述步骤7的具体过程如下:步骤7.1,将步骤1中剩余的对抗样本作为再训练旧模型d′的测试集t′={t′0,t′1,...,t′n};步骤7.2,根据步骤7.1所得t′,输入新模型d″,判断其预测值与标签值是否相符,进而由得出的错误个数来判断挑选测试用例算法性能的好坏。表1对原始数据库进行样本扩张时所进行的33种变换方式本发明的有益效果:1、本发明构建了一种基于聚类的神经网络测试多方法混合挑选输入方法,在测试用例个数一定时,能够提升artdl在应用与神经网络测试中的算法性能。2、在测试用例挑选过程中,本发明基于聚类算法,采用分而治之思想,很好的把传统测试中的fscs-ars与mmd算法恰当组合,使得在神经网络测试输入选择的过程中,相比现有技术的artdl直接使用fscs-ars有了本质上的提升。附图说明图1是二维情况下的三种失效模式;图2是不同卷积层下特征向量可视化dl模型的失效模式;图3是fscs_ars方法的流程图;图4是本发明方法的流程图。具体实施方式本发明将传统的机器学习与传统的软件测试算法相结合,通过使用聚类算法,按照其聚类效果,把所有的测试用例分成两大类:一部分可聚类的多个性能类,以及另一部分无法聚类的噪音类。在两种类别中分别使用传统的机器学习与传统的软件测试中表现突出的算法,在保证两者局部最优的情况下,实现测试用例挑选全局最优化,进而有效的提升再训练神经网络模型的性能。本发明主要包括:1、样本扩张,生成对抗样本;2、基于神经网络不同卷积层的对抗样本特征提取;3、使用密度分层聚类算法,把所有的测试用例按照测试性能归在不同的类别中,由于少数的测试用例性能特殊,导致所聚成的类过小,将这些小类归成一个大类,即噪音类。此时就有了如下几个不同的类:占总数大头的若干性能类;占少数的噪音类。4、在确定挑选用例个数为n的情况下,设置两种类别的挑选比例值α=0.6;5、针对两种不同的类别,分别采用传统的机器学习与传统的软件测试算法,即针对若干性能类,选取机器学习中,在测试能力较一致的用例中挑选能力突出的最大均值差异算法(maximummeandiscrepancy,mmd);针对噪音类,选取软件测试中,在较为分散用例中表现性能较强的基于固定候选集的自适应随机测试(adaptiverandomselection,fscs-ars)方法。6、将挑选所得用例作为训练集,再训练旧模型,实现利用少量对抗样本,在减少人工标签所带来干扰的同时,又能最大程度的提升神经网络在多种异常环境下的识别精度。通过实验验证,本发明提出的方法与ars-dnnt相比,就挑选的效果而言,无论挑选测试用例取值是高是低,cms-dnnt的有效性实验效果均优于ars-dnnt。实验结果表明,cms-dnnt所挑用例再训练模型的精度相比ars-dnnt至少提升了26%。下面结合附图对本发明作进一步说明。本发明以提高fscs_ars方法挑选性能为目的,提供一种基于聚类的神经网络测试多方法混合挑选输入方法。为此验证本发明的方法,采用挑选用例个数为10,20,30,40,50,输入数据库为mnist的实验对其进行说明。如图4所示,本发明提出的算法包含如下步骤:步骤1,确定已经预训练过的待测神经网络模型d′以及对抗样本集合s;步骤2,提取对抗样本特征集合v;步骤3,获取两种不同的类别:占总样本数绝大部分的若干性能类l1,l2,...,lj以及占少数的噪音类l0;步骤4,在确定挑选用例个数为n的情况下,设置两种类别的挑选比例值α=0.6;步骤5,针对两种不同的类别,采用分而治之思想将传统的机器学习与传统的软件测试算法相结合,分别挑选测试用例α*n个和(1-α)*n个;步骤6,将挑选所得用例作为训练集t,再训练旧模型d′得到新模型d″;步骤7,最后返回新模型d″针对对抗样本的预测错误个数,将其作为评判各种挑选算法性能好坏的度量;上述步骤1的具体过程如下:步骤1.1,根据前期的软件设计文档,确定被测神经网络模型d,以及对应的种子图像数据库(n张种子图像集合i);步骤1.2,根据步骤1.1确定的被测神经网络模型d,以及对应的种子图像数据库(n张种子图像集合i),初始化被测神经网络模型,即通过对应的种子图像数据库预训练被测神经网络模型d,进而确定已经预训练过的待测神经网络模型d′;步骤1.3,根据步骤1.1确定的种子图像数据库(n张种子图像集合i),在表1所示的33种变换方式上,进行样本扩张,生成33*n张对抗样本集合s。上述步骤2的具体过程如下:步骤2.1,根据1.2确定的d′,得到其所有的卷积层cov1,cov2,...;步骤2.2,根据1.3确定的s,提取其在cov1,cov2,...的特征集合v1,v2,...,挑选将会影响性能好坏的一个变量vi。通过实验结果验证,效果最佳所使用的特征集作为最佳特征集合v;上述步骤3的具体过程如下:步骤3.1,使用密度分层聚类算法(densityhierarchicalclusteringalgorithm,hdbscan)。以距离作为相似性度量,根据测试性能越一致,则对应的测试用例越集中的思想,把所有的测试用例按照测试性能归在不同的类别中。具体步骤如下所示:步骤3.1.1,根据密度/稀疏度对空间进行变换。聚类算法的核心是单链接聚类,它对噪声非常敏感:一个位于错误位置的单个噪声数据点可以充当岛屿之间的桥梁,将它们粘合在一起。为消除噪声带来的影响,即密集点(核心距离较低)彼此保持相同的距离,但较稀疏的点则被推开,以使其核心距离至少远离任何其他点。定义相互可达距离如下所示:dmreach-k(a,b)=max{corek(a),corek(b),d(a,b)}其中corek(a)、corek(b)分别表示为点a、b到各自k近点的距离,d(a,b)表示点a、b间的原始距离。步骤3.1.2,建立距离加权图的最小生成树。将数据看作一个加权图,其中数据点为顶点,任意两点之间的边的权重等于这些点之间的相互可达距离,即步骤3.1.1确定值。找到一个最小的边集合,这样从集合中删除任何边都会导致组件断开,即通过prim算法非常有效地构建最小生成树。步骤3.1.3,构造连接组件的簇层次结构。根据距离对树的边进行排序(按增加的顺序),然后遍历,为每条边创建一个新的合并的簇。通过联合查找数据结构,确定每个将2个簇接在一起的边。最终,在不同的阈值水平上得到一个连接组件的层次结构(从完全连接到完全不连接)。步骤3.1.4,根据最小的簇大小压缩簇层次结构。引入一个最小簇大小的概念,将其作为hdbscan的一个参数。遍历层次结构过程中,每次分割时判断是否有一个由分割创建的新簇的点数少于最小簇大小。若少于最小的簇大小的点,则将其声明‘从簇中剔除的点’,并将较大的簇保留父簇的身份。若拆分所得簇尺寸均大于最小簇大小,则将其拆分保留在树中。最终得到了一个拥有少量节点的小得多的树,每个节点都有关于该节点的簇大小如何随着不同距离减小的数据。步骤3.1.5,从压缩树中提取稳定的簇。为保证选择的簇能够持续存在并且有更长的生命周期,即选择了一个簇,就不能选择它后代的任何簇。定义一种不同于距离的度量方法来考虑簇的持久性,即定义每个点的密度度量为:其中distance表示该点与剩余聚类重点之间的最短距离。针对给定的簇,定义值λbirt和λdeath为当簇分离并成为它自己簇时的λ值,以及当簇分别拆分为较小的簇时的λ值(如果有)。反过来,对于给定的集群,对于集群中的每个点p,我们可以将值λp定义为“从簇中掉出来”的λ值,该值介于λbirth和λdeat之间。现在,对于每个簇,稳定性计算如下:scluster=∑p∈cluster(λp-λbirth)其中λbirth:团簇形成时的λ值;λdeath:团簇分裂为两个子团簇时的λ值;λp从团簇中分离出去时的λ值。将所有叶节点声明为选定的簇,通过遍历树(反向拓扑排序顺序),判断子簇的稳定性之和是否大于簇的稳定性。若满足,则将簇稳定性设置为子簇稳定性之和,否则将簇声明为选定簇,并取消选择其所有子簇。当遍历到根节点时,返回当前选定的所有簇集合。步骤3.2,根据步骤3.1.4,将最小簇参数值设定为50,判断所得簇中测试用例个数是否小于阈值50,将所有阈值≤50的簇,即所有‘从簇中剔除的点’汇聚成一个噪音类l0,将剩余占总样本数绝大部分的簇l1,l2,...,lj定义为若干性能类。上述步骤5的具体过程如下:步骤5.1,即针对若干性能类,选取机器学习中,在测试能力较一致的用例中挑选能力突出的最大均值差异算法(maximummeandiscrepancy,mmd)。在挑选过程中,分别求出各性能类中所挑用例在该所在性能类内的分布p1、p2...pj,以及各性能类在总的性能类中的类分布g,取mmd作为检验统计量。为使得两个分布尽可能相同,所挑α*n个测试用例需使得mmd值尽可能的小。此外,每个性能类中挑选测试用例个数依据该性能类所具有的测试用例个数占总性能类测试用例个数总和的比例值挑选;步骤5.2,针对噪音类,选取传统软件测试中,在较为分散用例中表现性能较强的基于固定候选集的自适应随机挑选(adaptiverandomselection,fscs-ars)方法,挑选测试用例个数(1-α)*n;步骤5.2.1,本发明使用特征欧几里得距离(featureeuclideandistance,fed)来进行测试用例之间的相似性度量,距离越近,表明这两个测试用例的相似性越高;步骤5.2.2,根据步骤2所得v,初始化已执行测试用例集e以及候选测试用例集c;e初始值t0为随机选取的一个非异常对抗样本向量特征向量v0,c大小固定为10。步骤5.2.3,计算c中每一个候选测试用例ci与e中每一个元素ei(目前e中只有一个元素t0)的特征欧氏距离,选择最小距离为该候选测试用例的相似性值,选择候选测试用例中相似性值最低(最小距离最大)的测试用例为下一个待测用例t1;特征欧式距离定义如下:测试用例ta和tb之间的欧式距离记作fed(ta,tb)。针对m维的特征向量,有测试用例ta=va={a1,a2,...,am}和测试用例tb=vb={b1,b2,...,bm},其中ai、bi分别表示测试用例ta、tb在第i维的特征向量,则:步骤5.2.4,如果t1检测到了异常,将t1加入到e中,重复步骤5.2.3,直到所挑选用例个数达到(1-α)*n。上述步骤6的具体过程如下:步骤6.1,将步骤5挑选所得的n个测试用例作为再训练旧模型d′的训练集t={t0,t1,...,tn};步骤6.2,根据步骤6.1所得t再训练模型d′,得到最终的新模型d″;上述步骤7的具体过程如下:步骤7.1,将步骤1中剩余的对抗样本作为再训练旧模型d′的测试集t′={t′0,t′1,...,t′n};步骤7.2,根据步骤7.1所得t′,输入新模型d″,判断其预测值与标签值是否相符,进而由得出的错误个数来判断挑选测试用例算法性能的好坏。表1对原始数据库进行样本扩张时所进行的33种变换方式算法验证结果分析本发明旨在挑选测试用例个数一定的情况下,提升挑选的性能。在神经网络测试中,测试用例输出结果正确与否是衡量该模型性能好坏的一个显著特征,因此,将挑选所得对抗样本再训练神经网络模型后,预测剩余对抗样本造成的错误个数作为检查标准就具有重要的实际意义。将神经网络测试过程中,预测剩余对抗样本造成的平均错误个数作为衡量标准,称之为error_num。对于本发明的方法,采用5%的准确率和95%的置信水平,根据中心极限定理,所需实验次数至少为2000次。本发明设置输入样本数据库为mnist,同时设定挑选用例个数为10,20,30,40,50,这五组实验,获取了分别采用rt方法、mmd方法、fscs-ars方法和本发明的方法检测用这些方法所挑样本再训练所得新模型的预测错误个数,具体对比结果如表2所示。通过实验验证,尽管在挑选样本规模较小的情况下,mmd-dnnt性能要优于本发明提出的方法,但普遍情况下,cms挑选效果都要优于mmd。本发明提出的方法与ars-dnnt相比,就挑选的效果而言,无论挑选测试用例取值是高是低,cms-dnnt的有效性实验效果均优于ars-dnnt。实验结果表明,cms-dnnt所挑用例再训练模型的精度相比art-dnnt至少提升了26%。表2error_num实验结果对比挑选个数nrtmmdfscs-art本发明方法提高率n=10860931369927.20%n=2052467684927.90%n=3038674503726.00%n=4029789413026.80%n=50252105342526.40%上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技术所创的等效方式或变更均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1