System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于模糊测试的深度神经网络模型稳定性测试方法技术_技高网

基于模糊测试的深度神经网络模型稳定性测试方法技术

技术编号:42352723 阅读:9 留言:0更新日期:2024-08-16 14:40
本发明专利技术主要解决深度神经网络模型在应对异常输入样本时存在分类结果不稳定的问题,提出基于模糊测试的模型稳定性测试方法,不断生成新的变异样本测试模型稳定性,主要步骤包括:(1)将正常样本输入模型,测试模型分类准确率,同时构建样本语料库;(2)对样本语料库中的某个样本变异生成变异样本;(3)将变异样本输入模型进行推理计算;(4)计算模型覆盖率并判断是否更新样本语料库;(5)判断是否继续生成新的变异样本来进行测试;(6)根据所有变异样本的分类结果判断模型稳定性,本发明专利技术能够帮助开发人员在模型正式部署应用之前对其开展稳定性测试,从而尽可能避免在模型实际应用中出现问题,对提升人工智能应用的稳定性具有重要意义。

【技术实现步骤摘要】

本专利技术涉及一种针对深度神经网络模型的稳定性测试方法,基于模糊测试技术以变异的形式生成变异样本来对模型进行稳定性测试,检测模型的推理结果是否受到影响,涉及领域包括深度学习、人工智能安全。


技术介绍

1、随着人脸识别、语音识别、自动驾驶等人工智能应用在人们的生活中越来越普遍,其所暴露出的问题也越来越受到人们的关注。智能应用所依赖的核心通常是深度神经网络模型,该模型会处理来自现实世界的输入数据,如人脸、语音、交通标志等,输出相应的分类结果,使得智能应用具备人脸身份认证、语音内容识别、交通标志识别等功能。但是,深度神经网络模型的分类能力和输入数据有关,当遇到异常数据时,模型可能会发生崩溃,或者输出错误的分类结果,造成整个人工智能应用无法正常使用。这些异常数据可能只是对现实世界中的正常数据做变暗处理、或仅仅遮挡很小的局部、或发生很小的变化,但由于模型的稳定性比较差,使得模型的计算处理极容易受到影响。如果在模型正式部署到人工智能应用之前对其进行充分的稳定性测试,能够在一定程度上降低异常数据带来的影响。

2、深度神经网络模型主要有训练和推理两个阶段,训练阶段通常是开发人员内部研发时根据大量样本数据不断尝试参数计算得到一个具有高分类准确率的模型,推理阶段通常是模型在实际应用过程中对来自外部的输入数据给出分类结果。但是,如果训练阶段所采用的大量样本数据与推理阶段所输入的新的外部数据在分布上存在差异的话,就会造成模型在实际应用过程中较容易给出错误的分类结果,表明模型在训练阶段所使用的样本数据不够全面而使得模型的稳定性很差。

<p>3、对模型在内部研发阶段进行测试,常见的方式是采用对抗性攻击的方式,即采用fgsm或deepfool等算法生成对抗样本然后再测试模型是否能正确处理对抗样本,但是这种方式主要偏向模型的安全性,且测试过程需要很长的时间,效率比较低。还有一种方式是对模型采用随机输入不同样本数据的方式来进行测试,这种方式由于随机性而使得很多重复的样本数据、或者无效的样本数据导致模型测试浪费了大量的时间。如何生成合理的测试输入数据,以及如何测试模型是否稳定是本专利技术解决的问题。

4、模糊测试是一种能够有效测试程序中是否存在安全缺陷的技术,在程序动态运行过程中不断输入新的外部数据,监测程序执行过程,观察程序的执行是否发生异常。模糊测试会根据不同的变异算法不断生成新的外部数据,将这些外部数据依次作为程序动态运行过程的输入,并根据一定的约束条件判断是否结束测试过程。模糊测试的过程和深度神经网络模型测试很接近,所测试的目标对象由程序变成了模型,所输入的数据则变成了模型能处理的数据,将模糊测试技术应用到模型测试上,能够发现模型在处理变异样本时存在的问题,帮助开发人员提升模型的稳定性。

5、本专利技术采用模糊测试的思想针对深度神经网络模型开展稳定性测试,通过变异方法产生新的不同的输入样本来交给模型进行推理计算,通过模型的推理结果判断模型是否稳定,在模型正式部署到人工智能应用前帮助开发人员提升模型稳定性。


技术实现思路

1、本专利技术主要解决深度神经网络模型在应对不同的异常输入样本时存在分类结果不稳定的问题,应用传统软件测试中模糊测试的思想,通过对正常的输入样本进行变异来产生新的输入样本,将变异后的输入样本再交给深度神经网络模型进行推理计算,通过模型的分类结果来判断模型的稳定性,实现在深度神经网络模型正式部署到人工智能应用前对其进行稳定性测试,最终达到提升依赖深度神经网络模型的人工智能应用稳定性的效果。

2、本专利技术针对深度神经网络模型开展稳定性测试,步骤如图1所示,前提条件是需要具备用于测试模型分类准确率的正常样本,且模型在这些正常样本上具有很好的分类准确率,能够达到实际应用的要求。具体的测试过程主要分成五步:

3、步骤s1.将正常样本输入到深度神经网络模型,测试模型分类准确率,同时构建样本语料库

4、该步骤将正常样本输入到待测深度神经网络模型,模型对每一个样本进行分类,根据模型在所有正常样本上的分类结果计算得到模型的分类准确率。同时随机地从正常样本中选择部分样本构建样本语料库,所述样本语料库用于存储对模型进行稳定性测试的样本,包括初始随机选取的正常样本与后续添加的异常样本。

5、步骤s2.对样本语料库中的某个样本进行变异生成变异样本

6、该步骤对步骤s1构建的样本语料库中的某个样本进行变异,通过基于字节的变异算法对所述样本的部分数据进行细微变异,生成新的变异样本依然能够满足模型输入数据的要求。

7、步骤s3.将变异样本输入深度神经网络模型进行推理计算

8、该步骤将步骤s2生成的变异样本输入到待测深度神经网络模型中,模型会针对所述变异样本进行分类识别,同时在模型的推理计算过程中监视模型是否出现异常,获取模型的中间层数据、输出层数据,以及相应的异常信息。

9、步骤s4.计算深度神经网络模型的覆盖率并判断是否更新样本语料库

10、该步骤根据待测深度神经网络模型在推理计算过程中所覆盖的中间层数据计算覆盖值,根据覆盖值在样本语料库中搜索与当前变异样本最相似的样本,基于覆盖判定算法比较当前变异样本与其最相似样本的覆盖值,判断该变异样本是否触发了新覆盖,如果是新覆盖,就将该变异样本加入样本语料库,否则直接舍弃,具体如图2所示。

11、步骤s5.判断是否继续生成新的变异样本来进行测试

12、该步骤根据测试之前所设定的测试时间或测试次数来判断当前的变异样本是否已经达到测试终止条件,如果未达到测试终止条件,则从步骤s2开始进行下一轮测试,如果达到条件要求,则进入下一步开展结果分析。

13、步骤s6.根据所有变异样本的分类结果判断模型稳定性

14、该步骤根据深度神经网络模型对每一次变异样本的推理计算所记录得到的结果数据进行分析,如果某个变异样本在模型推理计算过程中导致模型执行异常,说明模型存在缺陷,向开发人员提供异常信息来辅助修复模型缺陷;同时还需要统计模型在所有变异样本上的分类准确率,将该准确率与步骤s1中模型在所有正常样本上的分类准确率进行比较,如果相差很大,也说明模型的稳定性有待提高。

15、本专利技术能够支持对深度神经网络模型进行稳定性测试,借鉴传统软件测试中模糊测试技术的思想,对输入样本进行不断变异来生成新的变异样本,通过模型在变异样本上的推理计算结果来评估模型的稳定性,可以帮助开发人员修复模型来提高稳定性。

16、本专利技术的有益效果是针对深度神经网络模型开展了稳定性测试,待测模型在正常输入样本上具有很好的分类准确率,根据这些正常样本不断变异生成新的变异样本对待测模型进行测试,判断待测模型是否会出现异常以及分类准确率是否会下降。根据对待测模型的稳定性测试结果,开发人员可以采取相应的措施来修复模型。本专利技术对以深度神经网络模型为核心的人脸识别、语音识别、自动驾驶等人工智能应用的稳定性具有重要的意义,在模型正式部署应用之前对其开展稳定性测试能够更好地避免在本文档来自技高网...

【技术保护点】

1.一种基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于:采用模糊测试的思想不断生成新的变异样本测试深度神经网络模型的稳定性,主要步骤包括:将正常样本输入模型测试模型分类准确率且构建样本语料库,对样本语料库中的某个样本变异生成变异样本,将变异样本输入模型进行推理计算,计算模型覆盖率并判断是否更新样本语料库,判断是否继续生成新的变异样本来进行测试,根据所有变异样本的分类结果判断模型稳定性。

2.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述将正常样本输入模型测试模型分类准确率且构建样本语料库步骤将正常样本输入到待测模型,模型对每一个样本进行分类,根据模型在所有正常样本上的分类结果计算得到模型的分类准确率,同时随机地从正常样本中选择部分样本构建样本语料库。

3.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述对样本语料库中的某个样本变异生成变异样本步骤对所构建的样本语料库中的某个样本进行变异,通过基于字节的变异算法对所述样本的部分数据进行细微变异,生成新的变异样本依然能够满足模型输入数据的要求。

4.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述将变异样本输入模型进行推理计算步骤将生成的变异样本输入到待测模型中,模型会针对所述变异样本进行分类识别,同时在模型的推理计算过程中监视模型是否出现异常,获取模型的中间层数据、输出层数据,以及相应的异常信息。

5.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述计算模型覆盖率并判断是否更新样本语料库步骤将根据待测模型在推理计算过程中所覆盖的中间层数据计算覆盖值,根据覆盖值在样本语料库中搜索与当前变异样本最相似的样本,基于覆盖判定算法比较当前变异样本与其最相似样本的覆盖值,判断该变异样本是否触发了新覆盖,如果是新覆盖,就将该变异样本加入样本语料库,否则直接舍弃。

6.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述判断是否继续生成新的变异样本来进行测试步骤将根据测试之前所设定的测试时间或测试次数来判断当前的变异样本是否已经达到测试终止条件,如果未达到测试终止条件,则进行下一轮测试,如果达到条件要求,则开展结果分析。

7.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述根据所有变异样本的分类结果判断模型稳定性步骤将根据模型对每一次变异样本的推理计算所记录得到的结果数据进行分析,如果某个变异样本在模型推理计算过程中导致模型执行异常,说明模型存在缺陷,向开发人员提供异常信息来辅助修复模型缺陷;同时统计模型在所有变异样本上的分类准确率,将该准确率与模型在所有正常样本上的分类准确率进行比较,如果相差很大,也说明模型的稳定性有待提高。

...

【技术特征摘要】

1.一种基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于:采用模糊测试的思想不断生成新的变异样本测试深度神经网络模型的稳定性,主要步骤包括:将正常样本输入模型测试模型分类准确率且构建样本语料库,对样本语料库中的某个样本变异生成变异样本,将变异样本输入模型进行推理计算,计算模型覆盖率并判断是否更新样本语料库,判断是否继续生成新的变异样本来进行测试,根据所有变异样本的分类结果判断模型稳定性。

2.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述将正常样本输入模型测试模型分类准确率且构建样本语料库步骤将正常样本输入到待测模型,模型对每一个样本进行分类,根据模型在所有正常样本上的分类结果计算得到模型的分类准确率,同时随机地从正常样本中选择部分样本构建样本语料库。

3.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述对样本语料库中的某个样本变异生成变异样本步骤对所构建的样本语料库中的某个样本进行变异,通过基于字节的变异算法对所述样本的部分数据进行细微变异,生成新的变异样本依然能够满足模型输入数据的要求。

4.根据权利要求1所述的基于模糊测试的深度神经网络模型稳定性测试方法,其特征在于,所述将变异样本输入模型进行推理计算步骤将生成的变异样本输入到待测模型中,模型会针对所述变异样本进行分类识别,同时在模型的推理计算过程中监视模...

【专利技术属性】
技术研发人员:吴振东张毅王泽辉
申请(专利权)人:中芯未来北京科技有限公司
类型:发明
国别省市:

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

1