基于神经元输出行为模式的深度学习测试用例的选择方法技术

技术编号:22329954 阅读:53 留言:0更新日期:2019-10-19 12:14
本发明专利技术公开了一种基于神经元输出行为模式的深度学习测试用例的选择方法,包括下列步骤:1)获取对抗样本的神经元输出行为的行为模式。2)计算每一条测试用例的神经元输出行为与对抗样本神经元输出行为的行为模式的距离。3)根据距离对测试用例集进行优先级排序。本发明专利技术可以尽早的在测试用例集中找到对抗本,对测试用例进行优先级排序提高了测试效率。

【技术实现步骤摘要】
基于神经元输出行为模式的深度学习测试用例的选择方法
本专利技术涉及深度学习测试的
,特别涉及一种基于神经元输出行为模式的深度神经网络测试用例优先级排序方法。
技术介绍
深度学习是机器学习中的一种对数据进行表征学习的方法,它通过多层非线性处理单元的级联来进行特征的提取和数据的转换。深度学习自2016年被正式提出,使得人工智能产生了革命性的突破。随着AlphaGo的出现,深度学习开始被广泛的应用到各个领域,甚至是一些安全攸关的领域,例如:自动驾驶,医疗诊断,身份识别等。因此,深度学习系统中可能存在的质量问题会带来巨大的损失。以深度学习为核心的系统具有高维输入、多隐藏层、低维输出的特点,这些导致深度学习系统与传统软件系统大为不同,传统软件测试技术也无法在深度学习中应用。基于深度神经网络的模型还具有应用多样性,使用场景复杂及数据量大的特性,使得在对这类系统进行测试时面临很多挑战,例如:合适且高效的测试方法少,测试数据不足以及测试数据的质量不敢等等。目前深度学习系统很难通过常规的训练达到100%的准确率,面向深度神经网络的测试也仍然处于早期阶段。由于深度神经网络与传统的软件不同,一些已经比较成熟的传统软件测试技术将无法直接应用到深度学习系统的测试中,例如:如何用覆盖率引导测试,测试用例的选择,测试用例的优先级等等。而在测试系统的过程中测试用例的优先级是一个关键的核心。对于同一个测试用例集来说,不同的排序将会对测试的效率起到很大的影响。一个好的测试用例排序可以让测试者在尽可能短的时间内找到系统中隐藏的缺陷。
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,本专利技术提供一种基于神经元输出行为模式的深度学习测试用例的选择方法,解决对深度神经网络进行测试时,通过对测试用例进行排序,尽早从中找到对抗样本。所以如何确定对抗样本的神经元行为模式是后期对测试用例进行优先级排序的重点问题。技术方案:为实现上述目的,本专利技术采用的技术方案为:一种基于神经元输出行为模式的深度学习测试用例的选择方法,1)用几种对抗样本生成技术分别生成少量对抗样本。通过对少量对抗样本分析,总结出对抗样本神经元输出的行为模式2)根据提取的对抗样本的神经元行为模式对测试用例进行优先级排序,以便能尽早的在大批测试用例中找到对抗样本。具体包括以下步骤:步骤1,通过提取对抗样本在模型中神经元状态,分析出不同对抗样本的神经元输出行为,找到输出行为的分布规律,总结出对抗样本的神经元输出行为的行为模式;步骤1.1,提取测试用例的神经元状态;在深度神经网络中,输入测试用例后,神经元将会以实数值的形式将测试用例向后传播,每个神经元都对应一个实数值;设置激活函数的阈值,将实数值转化为判断是否激活的布尔值;获取每个神经元的输出布尔值作为神经元输出;将所有神经元输出组成一个高维向量,表示此测试用例下的神经元输出的行为;步骤1.2,通过两种以上的对抗样本生成技术分别生成对抗样本;在深度神经网络中,输入生成的对抗样本,神经元将会以实数值的形式将生成的对抗样本向后传播,每个神经元都对应一个实数值;设置激活函数的阈值,将实数值转化为判断是否激活的布尔值;获取每个神经元的输出布尔值作为神经元输出;将所有神经元输出组成一个高维向量,表示此对抗样本下的神经元输出的行为;提取对抗样本下的神经元输出的行为构成对抗样本集;分析对抗样本集的神经元输出行为的分布规律,总结出对抗样本的神经元输出行为模式;步骤2,根据总结的对抗样本的神经元输出行为模式对测试用例进行优先级排序;步骤2.1,提取测试用例集中每一条测试用例的神经元输出行为,与步骤1得到的对抗样本的神经元输出行为模式进行对比,计算出每一条测试用例神经元输出行为与对抗样本的神经元输出行为模式的距离;步骤2.2,利用步骤2.1中计算的每一条测试用例的神经元输出行为与对抗样本的神经元输出行为模式的距离对测试用例集进行优先级排序。优选的:步骤1.1中深度神经网络的神经元集合为N={n1,n2,…,nk},k表示神经元个数,n1,n2,…,nk表示神经元,测试用例集合为T={x1,x2,…,xm},m表示测试用例个数,x1,x2,…,xm表示测试用例,对于给定神经元ni∈N,测试用例xj∈T时,神经元通过激活函数ReLU之后的输出值为out(ni,xj),使用布尔值a(ni,xj)来替代实际的神经元实际的输出值out(ni,xj),其公式如下:公式(1)中的t是决定神经元状态是否激活的阈值,根据激活函数ReLU,将阈值t设置为0;利用得到的深度神经网络中的神经元输出状态,提取出对于给定一个测试用例xp∈T时,其模型中对应的所有神经元状态组成一个高维向量B(xp)来表示这条测试用例的神经元输出行为,B(xp)的具体公式如下:B(xi)=[a(n1,xp),a(n2,xp),…,a(nk,xp)](2)。优选的:对抗样本的神经元输出行为模式:其中,BP(TA)表示对抗样本的神经元输出行为模式,xp表示测试用例,B(xp)表示测试用例xp的神经元输出行为,bpk(TA)表示第k个神经元输出的行为模式。优选的:每一条测试用例神经元输出行为与对抗样本的神经元输出行为模式的距离dist:其中,bpi(TA)表示在输入对抗样本下,神经元ni的输出行为模式,a(ni,xp)表示在输入测试用例xp下,神经元ni的输出行为。优选的:根据每一条测试用例神经元输出行为与对抗样本的神经元输出行为模式的距离由低到高对测试用例集进行优先级排序。本专利技术相比现有技术,具有以下有益效果:本专利技术用于对测试用例集进行优先级排序,可以尽早的在测试用例集中找到对抗本,为深度神经网络测试用例提供了新的优先级排序方法,有助于测试人员尽早的找到对抗本,同时也能为深度学习测试的发展提供帮助,在深度学习系统测试中,对测试用例进行优先级排序提高了测试效率。附图说明图1为基于神经元输出行为模式的测试用例优先级排序方法流程图图2为获取测试用例集的神经元输出行为模式的流程图图3为根据距离进行测试用例优先级排序的流程图具体实施方式下面结合附图和具体实施例,进一步阐明本专利技术,应理解这些实例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。一种基于神经元输出行为模式的深度学习测试用例的选择方法,1)用几种对抗样本生成技术分别生成少量对抗样本。通过对少量对抗样本分析,总结出对抗样本神经元输出的行为模式2)根据提取的对抗样本的神经元行为模式对测试用例进行优先级排序,以便能尽早的在大批测试用例中找到对抗样本。具体包括以下步骤:步骤1,通过提取对抗样本在模型中神经元状态,分析出不同对抗样本的神经元输出行为,找到输出行为的分布规律,总结出对抗样本的神经元输出行为的行为模式;步骤1.1,提取测试用例的神经元状态;在深度神经网络中,输入测试用例后,神经元将会以实数值的形式将测试用例向后传播,每个神经元都对应一个实数值;设置激活函数的阈值,将实数值转化为判断是否激活的布尔值;获取每个神经元的输出布尔值作为神经元输出;将所有神经元输出组成一个高维向量,表示此测试用例下的神经元输出的行为;提取深度神经网络中神经元输出状态。对于一个深度神本文档来自技高网...

【技术保护点】
1.一种基于神经元输出行为模式的深度学习测试用例的选择方法,其特征在于:包括以下步骤:步骤1,通过提取对抗样本在模型中神经元状态,分析出不同对抗样本的神经元输出行为,找到输出行为的分布规律,总结出对抗样本的神经元输出行为的行为模式;步骤1.1,提取测试用例的神经元状态;在深度神经网络中,输入测试用例后,神经元将会以实数值的形式将测试用例向后传播,每个神经元都对应一个实数值;设置激活函数的阈值,将实数值转化为判断是否激活的布尔值;获取每个神经元的输出布尔值作为神经元输出;将所有神经元输出组成一个高维向量,表示此测试用例下的神经元输出的行为;步骤1.2,通过两种以上的对抗样本生成技术分别生成对抗样本;在深度神经网络中,输入生成的对抗样本,神经元将会以实数值的形式将生成的对抗样本向后传播,每个神经元都对应一个实数值;设置激活函数的阈值,将实数值转化为判断是否激活的布尔值;获取每个神经元的输出布尔值作为神经元输出;将所有神经元输出组成一个高维向量,表示此对抗样本下的神经元输出的行为;提取对抗样本下的神经元输出的行为构成对抗样本集;分析对抗样本集的神经元输出行为的分布规律,总结出对抗样本的神经元输出行为模式;步骤2,根据总结的对抗样本的神经元输出行为模式对测试用例进行优先级排序;步骤2.1,提取测试用例集中每一条测试用例的神经元输出行为,与步骤1得到的对抗样本的神经元输出行为模式进行对比,计算出每一条测试用例神经元输出行为与对抗样本的神经元输出行为模式的距离;步骤2.2,利用步骤2.1中计算的每一条测试用例的神经元输出行为与对抗样本的神经元输出行为模式的距离对测试用例集进行优先级排序。...

【技术特征摘要】
1.一种基于神经元输出行为模式的深度学习测试用例的选择方法,其特征在于:包括以下步骤:步骤1,通过提取对抗样本在模型中神经元状态,分析出不同对抗样本的神经元输出行为,找到输出行为的分布规律,总结出对抗样本的神经元输出行为的行为模式;步骤1.1,提取测试用例的神经元状态;在深度神经网络中,输入测试用例后,神经元将会以实数值的形式将测试用例向后传播,每个神经元都对应一个实数值;设置激活函数的阈值,将实数值转化为判断是否激活的布尔值;获取每个神经元的输出布尔值作为神经元输出;将所有神经元输出组成一个高维向量,表示此测试用例下的神经元输出的行为;步骤1.2,通过两种以上的对抗样本生成技术分别生成对抗样本;在深度神经网络中,输入生成的对抗样本,神经元将会以实数值的形式将生成的对抗样本向后传播,每个神经元都对应一个实数值;设置激活函数的阈值,将实数值转化为判断是否激活的布尔值;获取每个神经元的输出布尔值作为神经元输出;将所有神经元输出组成一个高维向量,表示此对抗样本下的神经元输出的行为;提取对抗样本下的神经元输出的行为构成对抗样本集;分析对抗样本集的神经元输出行为的分布规律,总结出对抗样本的神经元输出行为模式;步骤2,根据总结的对抗样本的神经元输出行为模式对测试用例进行优先级排序;步骤2.1,提取测试用例集中每一条测试用例的神经元输出行为,与步骤1得到的对抗样本的神经元输出行为模式进行对比,计算出每一条测试用例神经元输出行为与对抗样本的神经元输出行为模式的距离;步骤2.2,利用步骤2.1中计算的每一条测试用例的神经元输出行为与对抗样本的神经元输出行为模式的距离对测试用例集进行优先级排序。2.根据权利要求1所述基于神经元输出行为模式的深度学习测试用例的选择方法,其特征在于:步骤1.1中深度神经网络...

【专利技术属性】
技术研发人员:王子元陈炎杉
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1