一种深度学习模型的测试方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37665871 阅读:12 留言:0更新日期:2023-05-26 04:24
本申请一种深度学习模型的测试方法,包括:将图片数据I输入深度学习模型,根据添加噪声E前后所述深度学习模型中每一个神经元输出的差异,获得神经元的扰动值,所述深度学习模型M中神经元的数量为n个;从所述n个神经元中选取k个扰动值最大的神经元作为采样神经元,其中k<<n;根据k个所述采样神经元的扰动值,获得所述k个采样神经元中每个神经元的扰动分布;所述神经元的扰动分布包括收敛和未收敛;根据所述k个神经元中每个神经元的扰动分布确定扰动分布为未收敛的神经元的数量为m个,其中m<k;对m个所述扰动分布为未收敛的神经元通过反向传播更新所述噪声E的参数,重复上述步骤;在在所述扰动分布为未收敛的神经元的数量为0的情况下,完成所述深度学习模型测试。完成所述深度学习模型测试。完成所述深度学习模型测试。

【技术实现步骤摘要】
一种深度学习模型的测试方法、装置、电子设备和存储介质


[0001]本申请实施例涉及人工智能领域,尤其涉及一种深度学习模型的测试方法、装置、电子设备和存储介质。

技术介绍

[0002]深度学习是用于建立、模拟人脑进行分析学习的一种数学方程,通过模仿人脑的机制来解释数据的一种技术。深度学习模型是针对实际深度学习问题进行分析,完成求解后获得的模型。神经元是深度学习模型中的重要组成部分,用于连接模型上下层并传递参数。
[0003]包括自动驾驶、智能制造在内的智能应用都会用到深度学习模型,然而大量文献和现实案例都指出,当深度学习模型的输入出现噪声时,深度学习模型的输出容易出错。
[0004]图1展示了一个深度学习模型受噪声影响而输出错误的例子,给定输入数据I,也就是路况图片,当路况图片I输入到自动驾驶深度学习模型M时,输出M(I)为停车;在这个例子里M(I)为停车是正确的深度学习模型输出;如果把环境噪声E(如雨滴)加到路况图片I,然后把I+E输入到深度学习模型,输出M(I+E)为加速,由于M(I+E)不等于M(I),而M(I)是正确的输出,因此,M(I+E)是错误输出。
[0005]而深度学习模型测试的目的就是要找出尽可能多的错误M(I+E),也就是不等于M(I)的M(I+E)。
[0006]大量研究指出,即使深度学习模型被训练得很好,输出M(I)的精度已经达到最高(例如达到百分之九十九以上的精度),少量噪声足以导致输出错误M(I+E)的精度显著低于正确输出M(I)的精度。
[0007]深度学习测试技术的目的,就是找到尽量多的错误输出M(I+E),然后利用这些错误的M(I+E)以修复深度学习模型,使得输出M(I)和M(I+E)有接近一致的精度。
[0008]传统软件测试原理是测试工具利用静态或动态分析方法生成测试集,以遍历软件里尽可能多的控制流分支,从而找到目标软件里的所有错误,如错误输出,程序奔溃等,这样做比随机搜索软件错误的方法更高效,随机搜索软件错误的方法是指随机生成软件输入以搜索程序错误。
[0009]深度学习模型测试受软件测试启发,通过遍历深度学习模型的“控制流分支”,以搜索深度学习模型错误,理论上深度学习模型的神经元承载着深度学习模型的控制流分支,因此,深度学习模型测试的原理是生成测试集I+E,从而遍历深度学习模型神经元的控制流分支,即神经元的输出值,高效的搜索大量深度学习模型错误。

技术实现思路

[0010]本申请实施例所要解决的技术问题包括全局测试所有神经元在时间上会成为瓶颈。遍历神经元输出值的最优粒度无法通过理论分析,因此需要人工调试,困难且容易出错。
[0011]为了解决上述的问题,本申请的实施例提供了一种深度学习模型的测试的方法、装置、终端设备和系统。
[0012]第一方面,本申请的实施例提供了一种深度学习模型的测试方法,所述方法包括:将图片数据输入深度学习模型;根据添加噪声前后所述深度学习模型中每一个神经元输出的差异,获得模型中每一个神经元的扰动值,所述深度学习模型中神经元的数量为n个;从所述n个神经元中选取k个扰动值最大的神经元作为采样神经元,其中k<<n;根据k个所述采样神经元的扰动值,获得所述k个采样神经元中每个神经元的扰动分布;所述神经元的扰动分布包括收敛和未收敛;根据所述k个神经元中每个神经元的扰动分布确定扰动分布为未收敛的神经元的数量为m个,其中m<k;对m个所述扰动分布为未收敛的神经元通过反向传播更新所述噪声E的参数;在所述扰动分布为未收敛的神经元的数量为0的情况下,完成所述深度学习模型测试。以此,本申请能够找出易触发错误的神经元,优先的遍厉易触发错误的神经元输出值,以避免暴力搜索;采用反向传播进行训练获得新的测试集,使得测试完程度在达到百分之百时,大量深度学习模型错误能被找到。
[0013]在一种实施方式中,所述根据添加噪声前后所述深度学习模型中每一个神经元输出的差异,获得模型中每一个神经元的扰动值,包括:根据输入的所述图片数据,获得所述深度学习模型中每一个神经元的输出为第一输出;在所述图片数据中添加噪声,获得所述深度学习模型中每一个神经元的输出为第二输出;根据所述第一输出和第二输出之间差值,得到所述每一个神经元的扰动值。以此,获得当前噪声对深度学习模型中每一个神经元输出的影响。
[0014]在一种实施方式中,所述从所述n个神经元中选取k个扰动值最大的神经元作为采样神经元,包括:遍历每一个神经元对抽样数据集上每一个图片数据输出的扰动值,计算所述n个神经元中每一个神经元的扰动值方差;所述抽样数据集包括多个不同的图片数据;从所述n个神经元中选取k个扰动值方差最大的神经元作为采样神经元。以此,利用神经元扰动的值大小,从深度学习模型上百万的神经元中可以找出占比少数的神经元,优先遍历这些神经元的输出值能更高效的搜索深度学习模型的错误,降低了后续测试模型过程时所需的计算量。
[0015]在一种实施方式中,所述根据k个所述采样神经元的扰动值,获得所述k个采样神经元中每个神经元的扰动分布,包括:根据根据k个所述采样神经元的扰动值,通过MCMC算法拟合所述k个采样神经元中每个神经元的扰动分布。以此,采用MCMC算法获得k个扰动值最大的神经元扰动分布的收敛程度,在现有的微分方程理论中基于神经元扰动和马尔可夫链蒙特卡洛(MCMC)是检测微分算子扰动分布收敛程度的最优方法,能够获得遍历神经元输出值的最优粒度。在一种实施方式中,所述根据k个所述采样神经元的扰动值,获得所述k个采样神经元中每个神经元的扰动分布,包括:根据所述k个采样神经元中每一个神经元在抽样数据集上每一个数据的扰动值,计算所述k个采样神经元中每一个神经元的扰动值方差;所述抽样数据集包括多个不同的图片数据;根据所述k个采样神经元每一个神经元的扰动值方差,通过MCMC算法拟合所述k个采样神经元中每个神经元的扰动分布。以此,能够通过MCMC算法拟合所述k个扰动值最大的采样神经元中每个神经元的扰动分布的收敛情况,获得遍历神经元输出值的最优粒度,以便后续计算完成度。
[0016]在一种实施方式中,所述所述根据k个所述采样神经元的扰动值,获得所述k个采
样神经元中每个神经元的扰动分布,包括:根据每个神经元的扰动分布,计算所述每个神经元扰动分布的蒙特卡洛标准误差(MCSE)值;在所述MCSE值为零的情况下,对应的神经元的扰动分布为收敛;在所述MCSE值不为零的情况下,对应的神经元的扰动分布为未收敛。以此,能够获得扰动分布为未收敛的神经元,也就是易触发错误的神经元,优先的遍厉这些易触发错误的神经元输出值,可以避免暴力搜索。
[0017]在一种实施方式中,所述对m个所述扰动分布为未收敛的神经元通过反向传播更新所述噪声E的参数,包括:根据m个所述扰动分布为未收敛的神经元计算噪声的梯度;根据所述噪声的梯度进行反向传播;根据所述反向传播的结果更新所述噪声E参数的值。以此,能够生成新的测试集I+E,以最优粒度遍历深度学习模型神经元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度学习模型的测试方法,其特征在于,所述方法包括:将图片数据输入深度学习模型;根据添加噪声前后所述深度学习模型中每一个神经元输出的差异,获得模型中每一个神经元的扰动值,所述深度学习模型中神经元的数量为n个;从所述n个神经元中选取k个扰动值最大的神经元作为采样神经元,其中k<<n;根据k个所述采样神经元的扰动值,获得所述k个采样神经元中每个神经元的扰动分布;所述神经元的扰动分布包括收敛和未收敛;根据所述k个神经元中每个神经元的扰动分布确定扰动分布为未收敛的神经元的数量为m个,其中m<k;对m个所述扰动分布为未收敛的神经元通过反向传播更新所述噪声E的参数;在所述扰动分布为未收敛的神经元的数量为0的情况下,完成所述深度学习模型测试。2.根据权利要求1所述的深度学习模型的测试方法,其特征在于,所述根据添加噪声前后所述深度学习模型中每一个神经元输出的差异,获得模型中每一个神经元的扰动值,包括:根据输入的所述图片数据,获得所述深度学习模型中每一个神经元的输出为第一输出;在所述图片数据中添加噪声,获得所述深度学习模型中每一个神经元的输出为第二输出;根据所述第一输出和第二输出之间差值,得到所述每一个神经元的扰动值。3.根据权利要求1所述的深度学习模型的测试方法,其特征在于,所述从所述n个神经元中选取k个扰动值最大的神经元作为采样神经元,包括:遍历每一个神经元对抽样数据集上每一个图片数据输出的扰动值,计算所述n个神经元中每一个神经元的扰动值方差;所述抽样数据集包括多个不同的图片数据;从所述n个神经元中选取k个扰动值方差最大的神经元作为采样神经元。4.根据权利要求1所述的深度学习模型的测试方法,其特征在于,所述根据k个所述采样神经元的扰动值,获得所述k个采样神经元中每个神经元的扰动分布,包括:根据根据k个所述采样神经元的扰动值,通过MCMC算法拟合所述k个采样神经元中每个神经元的扰动分布。5.根据权利要求1所述的深度学习模型的测试方法,其特征在于,所述根据k个所述采样神经元的扰动值,获得所述k个采样神经元中每个神经元的扰动分布,包括:根据所述k个采样神经元中每一个神经元在抽样数据集上每一个数据的扰动值,计算所述k个采样神经元中每一个神经元的扰动值方差;所述抽样数据集包括多个不同的图片数据;根据所述k个采样神经元每一个神经元的扰动值方差,通过MCMC算法拟合所述k个采样神经元中每个神经元的扰动分布。6.根据权利要求1

5之一所述的深度学习模型的测试方法,其特征在于,所述所述根据k个所述采样神经元的...

【专利技术属性】
技术研发人员:李梓安黄东崔鹤铭王森陈力张弓
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1