一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于神经元影响程度的产品分类模型的测试方法与流程

2022-06-02 10:36:48 来源:中国专利 TAG:


1.本发明属于智能车间的产品分类领域,具体涉及一种基于神经元影响程度的产品分类模型的测试方法。


背景技术:

2.近年来,数据量爆发式增长、计算能力显著性提升、深度学习算法突破性应用,极大地推动了人工智能发展。然而,深度神经网络(deep neural networks,dnns)潜在的安全问题也给智能驱动的数字世界带来了极大的安全隐患。dnns在面对不确定输入时,往往会出现意料之外的错误行为,在诸如自动驾驶系统、机器翻译和医疗等安全关键应用,可能会造成灾难性的后果,阻碍深度模型的实际部署。因此,深度神经网络的可靠性问题引起了学术界和工业界的广泛关注。
3.在工业场景的智能车间中,深度神经网络被构建成产品分类模型,用于对智能车间的生产产品进行残次品的识别和判定。为了避免在分类过程中出现异常判断,需要在对产品分类模型部署之前,对其进行安全性评估和测试。如何全面且高效地对深度产品分类模型进行测试,实现极端情况的评估和监督,进一步提高产品分类模型应用的可靠性,成为安全可靠人工智能研究中的一个关键问题。
4.目前面向深度学习模型的测试方法可以分为白盒测试与黑盒测试。白盒测试从模型内部结构出发,使得模型展现出更活跃的多样性;黑盒测试不考虑模型内部结构,通过有限次尝试实现模型的全覆盖。白盒反馈指导测试方法deephunter利用传统软件测试中模糊测试的方法,利用突变生成测试样本,并以多种覆盖率反馈为指导生成变异样本。pei等人提出了deepxplore用于系统地查找可以触发多个模型之间不一致的输入,加快了测试。deeproad使用输入图像进行场景变换,并在两个自动驾驶场景(即下雪和下雨)中显示其测试的高效性。模型的黑盒测试同样重要,wicker等人提出一种尺度不变的特征变换特征引导黑盒测试方法,使用蒙特卡洛树搜索的方式来获取测试样本。deepmutation是一种不观察模型的运行时内部行为的突变黑盒测试,通过定义一组源级或模型级变异算子,从源级(训练数据和训练程序)或模型级(无需训练直接注入)注入故障用来以评估测试数据质量。
5.尽管现有测试方法能达到较好的效果,但它们仍面临以下挑战:测试样本无法涵盖多种不同类别的极端案例。因此亟需一种面向产品分类模型的测试方法,能够在早期阶段对模型进行可靠性且全面评估和潜在缺陷的检测,降低模型在运行过程中发生错误的概率,以提高产品分类模型的可靠性。


技术实现要素:

6.鉴于上述,本发明的目的是提供一种基于神经元影响程度的产品分类模型的测试方法,能发现更多产品分类模型中的潜在缺陷,实现对产品分类模型的安全测试评估。
7.为实现上述发明目的,实施例提供以下技术方案:
8.一种基于神经元影响程度的产品分类模型的测试方法,包括以下步骤:
9.步骤1,获取待测试的产品分类模型和正常产品图像;
10.步骤2,将正常产品图像输入至产品分类模型,以计算关注网络层的所有神经元的影响程度;
11.步骤3,依据影响程度将关注网络层的所有神经元划分为前段神经元、中段神经元、以及后端神经元;
12.步骤4,根据选定的前段神经元和后段神经元构建适应度函数,并依据适应度函数生成扰动,依据扰动生成中间样本图像;
13.步骤5,将中间样本图像作为正常产品图像后,迭代循环步骤2-步骤4,直到达到迭代终止条件为止,将迭代终止时得到的中间样本图像作为测试样本图像;
14.步骤6,利用测试样本图像对产品分类模型进行测试,根据产品分类模型的输出结果判断产品分类模型的缺陷情况。
15.一个实施例中,产品分类模型包括卷积层、flatten层、池化层、全连接层以及激活层,选择处于卷积层和全连接层中间的flatten层或池化层作为关注网络层。
16.一个实施例的步骤2中,采用以下公式计算关注网络层的所有神经元的影响程度σn:
[0017][0018]
其中,n为神经元的索引,表示第n个神经元对输入图像x的计算输出,yc表示产品分类模型对于输入图像x关于预测类标c的置信度,表示求偏导,影响程度σn越大,表示神经元对分类标签的贡献越大。
[0019]
一个实施例的步骤3中,将关注网络层的所有神经元的影响程度降序排列后,选择前a%的神经元为前段神经元,中间b%的神经元为中段神经元,后c%的神经元为后段神经元,其中,a b c=100,且a<b<c。
[0020]
一个实施例的步骤4中,根据选定的前段神经元和后段神经元构建适应度函数loss
x
为:
[0021][0022]
其中,i为前段神经元的索引,j为后段神经元的索引,k1和k2分别为选定的参与计算适应度函数的前段神经元个数和后段神经元个数,φi(x)和φj(x)分别表示第i个前段神经元和第j个后段神经元对输入图像x的计算输出。
[0023]
一个实施例的步骤4中,将对适应度函数的求导作为扰动,并将扰动添加到输入的正常产品图像以生成中间样本图像。
[0024]
一个实施例的步骤5中,迭代终止条件为达到预设最大迭代次数或扰动大于预设阈值。
[0025]
一个实施例中,利用测试样本图像对产品分类模型进行测试时,根据产品分类模型的输出结果进行如下判断:当产品分类模型的错误分类占比小于设定阈值时,则改变迭代终止条件、增大选定的前段神经元和后段神经元的个数,重新执行步骤2-步骤4,生成更
多的测试样本图像,利用新生成的测试样本图像再进行产品分类模型的测试。
[0026]
一个实施例中,所述方法还包括:步骤7,将测试样本图像和原正常产品图像对产品分类模型进行重新训练,以对产品分类模型进行修复,得到修复后的产品分类模型。
[0027]
与现有技术相比,本发明具有的有益效果至少包括:
[0028]
通过计算神经元重要性,增强后段神经元,削弱前段神经元,以生成更多使产品分类模型错误分类的多样化与产品相关的测试样本图像,提前发现产品分类模型中运行过程中可能存在的异常情况。此外,利用生成的测试样本图像对产品分类模型进行重新训练,可以修复其中的漏洞,使对产品分类模型在在残次品检验判定的过程中更加安全可靠。
附图说明
[0029]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
[0030]
图1是实施例提供的基于神经元影响程度的产品分类模型的测试方法的流程图;
[0031]
图2实施例提供的基于神经元影响程度的产品分类模型的测试方法的框图。
具体实施方式
[0032]
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
[0033]
图1是实施例提供的基于神经元影响程度的产品分类模型的测试方法的流程图;图2实施例提供的基于神经元影响程度的产品分类模型的测试方法的框图。如图1和图2所示,实施例提供的基于神经元影响程度的产品分类模型的测试方法,包括以下步骤:
[0034]
步骤1,获取待测试的产品分类模型和正常产品图像。
[0035]
实施例中,从窗帘智能车间采集窗帘图像作为正常产品图像。该正常产品图像用来验证产品分类模型并生成测试样本图像。
[0036]
实施例中,待测试的产品分类模型是用于对产品图像进行缺陷检测,即残次品检验,且经过窗帘图像训练,参数以优化好。产品分类模型采用深度学习网络,具体可以包括卷积层、flatten层、池化层、全连接层以及激活层,激活层一般使用softmax函数,最后输出预测置信度。需要说明的是,深度学习网络中,卷积层、flatten层、池化层、全连接层的个数不受限制。
[0037]
步骤2,将正常产品图像输入至产品分类模型,以计算关注网络层的所有神经元的影响程度。
[0038]
实施例中,通过产品分类模型对正常产品图像的正向推导过程来计算关注网络层的所有神经元的影响程度。其中,选择处于卷积层和全连接层中间的flatten层或池化层作为关注网络层,关注网络层内神经元包含了像素特征和高维分类特征,对模型判断结果非常重要,因此,计算关注网络层的神经元的影响程度。具体地,计算过程为:
[0039]
将正常产品图像输入至产品分类模型中,定义n={n1,n2,

}是关注网络层中的神
经元集合,表示第n个神经元的计算输出。对于输入图像x,神经元影响程度σn定义为:
[0040][0041]
其中,yc表示产品分类模型对于输入图像x关于预测类标c的置信度,表示求偏导,神经元影响程度衡量了神经元对下一层的影响大小,影响程度σn越大,表示神经元对分类标签的贡献越大。
[0042]
步骤3,依据影响程度将关注网络层的所有神经元划分为前段神经元、中段神经元、以及后端神经元。
[0043]
实施例中,在对所有神经元进行阶段划分时,将关注网络层的所有神经元的影响程度降序排列后,选择前a%的神经元为前段神经元,用ωf表示;中间b%的神经元为中段神经元,用ωm表示;后c%的神经元为后段神经元,用ω
t
表示;其中,a b c=100,且a<b<c。优选地,a取值为10,b取值为30,c取值为60。
[0044]
步骤4,根据选定的前段神经元和后段神经元构建适应度函数,并依据适应度函数生成扰动,依据扰动生成中间样本图像。
[0045]
实施例中,采用模糊测试方式生成测试样。模糊测试通过多种策略随机生成大量测试样本来进行多次测试,以观察模型是否出现误分类,由此发现模型中可能存在的漏洞。这些策略可以基于变异、搜索和组合测试。
[0046]
实施例中,构建适应度函数前,先选定参数构建适应度函数的前段神经元和的后段神经元,具体包括:对于给定输入图像x和同一层上的神经元n1和n2,若σ
n1
>σ
n2
,则神经元n1比神经元n2的重要程度更高,将top-k表示给定输入图像x在l层中重要程度最大的k个神经元,通过自定义参与适应度函数的前段神经元个数k1和后段神经元个数k2,可以确定参与适应度函数的前段神经元和后段神经元。优选地,k1=k2。
[0047]
实施例中,根据选定的前段神经元和后段神经元构建适应度函数loss
x
为:
[0048][0049]
其中,i为前段神经元的索引,j为后段神经元的索引,φi(x)和φj(x)分别表示ωf中第i个前段神经元和ω
t
中第j个后段神经元对输入图像x的计算输出。该适应度函数中,由于对前段神经元的求和前面为负号,对后段神经元的求和前面为正号,这样即强化了后段神经元,削弱了前段神经元,容易导致产品分类模型出现错误分类。
[0050]
实施例中,以将对适应度函数的求导作为扰动ρ
x
,并将扰动ρ
x
添加到输入的正常产品图像以生成中间样本图像x’,具体计算公式为:
[0051][0052]
x

=x ρ
x
×
μ
[0053]
其中,μ为[0,1]区间内的常数,控制扰动的大小,一般设置为0.5。再者,中间样本图像的像素值被限制在0到255之间。
[0054]
步骤5,将中间样本图像作为正常产品图像后,迭代循环步骤2-步骤4,直到达到迭
代终止条件为止,将迭代终止时得到的中间样本图像作为测试样本图像。
[0055]
实施例中,为了生成多样化和产品相关的测试样本图像,采用迭代循环的方式,即将中间样本图像作为正常产品图像后,迭代循环步骤2-步骤4,直到达到迭代终止条件为止,迭代停止的判断条件为:当前迭代数iter>最大迭代数iter_max,或扰动大小超过阈值,即|x

i-xi|>λ,其中xi表示x中的第i张样本,|
·
|表示l2范数,λ表示先前设定的阈值,一般为小于0.02的常数。迭代结束时得到中间样本图像即为测试样本图像。
[0056]
步骤6,利用测试样本图像对产品分类模型进行测试,根据产品分类模型的输出结果判断产品分类模型的缺陷情况。
[0057]
实施例中,利用测试样本图像对产品分类模型进行测试时,判断产品分类模型的输出结果的正确分类和错误分类的占比,以判断产品分类模型的缺陷情况。当错误分类占比比较少时,认为缺陷比较少。
[0058]
实施例中,利用测试样本图像对产品分类模型进行测试时,根据产品分类模型的输出结果进行如下判断:当产品分类模型的错误分类占比小于设定阈值时,则改变迭代终止条件,如增加最大迭代数iter_max,或/和增大选定的前段神经元和后段神经元的个数k1和k2,重新执行步骤2-步骤4,生成更多的测试样本图像,利用新生成的测试样本图像再进行产品分类模型的测试。
[0059]
步骤7,将测试样本图像和原正常产品图像对产品分类模型进行重新训练,以对产品分类模型进行修复,得到修复后的产品分类模型。
[0060]
实施例中,在测试产品分类模型有缺陷时,利用测试样本图像对缺陷进行修复训练,以得到修复后的产品分类模型。
[0061]
上述实施例提供的基于神经元影响程度的产品分类模型的测试方法,通过计算不同神经元对于模型预测结果的影响程度划分神经元的前中后段,削弱前段神经元,增强后段神经元,基于梯度和模糊测试生成多样化的测试样本,以触发更多极端案例,提前发现模型中的潜在缺陷。再利用生成的测试样本对模型进行重新训练,可以修复其中的漏洞,且不影响正常样本的分类准确率,使产品分类模型在应用时更加安全可靠。
[0062]
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献