System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 利用神经元组合路径的深度学习模型测试样本生成方法技术_技高网

利用神经元组合路径的深度学习模型测试样本生成方法技术

技术编号:40233691 阅读:7 留言:0更新日期:2024-02-02 22:34
本发明专利技术涉及利用神经元组合路径的深度学习模型测试样本生成方法,属于深度学习测试领域。本发明专利技术首先将训练集中所有样本按类别输入待测模型,在模型各层选取平均输出值最高的n个神经元,构建各类别对应的神经元组合路径;其次将种子样本输入模型,计算模型神经元与种子样本所属类别神经元组合路径之间的输出值差异;然后以最大化该差异为优化目标,通过梯度上升算法生成新测试样本;最后判断测试样本是否符合保留条件。本发明专利技术针对现有测试样本生成方法忽略了样本类别特征和神经元输出之间的关联性问题,构建了不同类别对应的神经元组合路径,使种子样本偏离其所在的神经元组合路径,从而生成特征分布更多样的测试样本。

【技术实现步骤摘要】

本专利技术涉及利用神经元组合路径的深度学习模型测试样本生成方法,属于深度学习测试领域。


技术介绍

1、近年来,随着人工智能技术的不断发展,通过数据驱动的深度学习模型为自动驾驶、医疗诊断和漏洞检测等领域提供了优良的准确率。但与此同时,模型训练过程中可能存在过拟合、欠拟合和训练样本不平衡的问题,导致模型在面对异常分布的样本时输出错误的结果,严重影响模型的安全性与可靠性。因此,对于深度学习模型,必须针对异常分布的样本进行充分测试。在早期的模型正确性测试中,测试人员需要对真实环境下获取的样本进行手工标记以构建测试样本集,通常费时费力且需要领域相关经验,极大地降低了测试效率。同时,该类样本往往并不会呈现异常的分布,难以发现模型的正确性问题。因此,需要构建一种能够生成大量分布异常的测试样本的测试样本生成方法,以供模型进行测试。

2、当前主流的测试样本生成方法以神经元覆盖率为指导策略,对模型进行白盒模糊测试并生成能够发现模型决策错误的测试样本。为了增加测试的充分性,研究人员提升模型神经元的输出值,使其超过人为设定的神经元激活阈值,从而提升模型的神经元覆盖率。通过梯度上升算法最大化模型的神经元覆盖率和模型对输入的种子样本的错误预测标签的置信度以生成扰动,将扰动添加到种子样本上,生成使模型决策错误的分布异常的测试样本。将添加扰动后新生成的测试样本重新输入模型,并更新模型的神经元覆盖率,重复若干次模糊变异,最后筛选出符合条件的测试样本。

3、综上所述,现有的以神经元覆盖率为指导策略的测试样本生成方法存在以下两个问题:1)神经元激活阈值由测试人员基于经验设定,神经元覆盖率的提高与发现更多能够使模型决策错误的样本之间没有直接联系,导致生成的测试样本数量较少且特征分布单一。2)在模糊测试过程中需要反复更新神经元覆盖率,造成较大的计算开销,因此只能对样本进行较少次数粗粒度的模糊变异,降低了测试样本生成的数量和效率。


技术实现思路

1、本专利技术的目的是,解决现有的测试样本生成方法以神经元覆盖率为指导,而忽视了神经元输出值与模型决策逻辑之间的映射关系,导致测试样本生成效率低下、生成样本特征分布单一的问题,提出了利用神经元组合路径的深度学习模型测试样本生成方法。

2、本专利技术的设计原理为:首先,将训练集中的样本按类别依次输入模型,计算模型中每个神经元对该类别下样本的平均输出值,并在模型各层中选取输出值最高的n个神经元构成该类别对应的神经元组合路径;其次,在测试集中随机选取一个样本作为种子样本输入模型,得到模型输出的预测标签和每个神经元对种子样本的输出值,通过最大化该值与预测标签对应的组合路径中神经元输出值之间的差异,使种子样本尽可能地偏离原来的特征分布;然后,使用梯度上升算法对种子样本进行多次模糊变异,构造新的测试样本;最后,对新构造的测试样本进行条件判断:若生成的样本标签与种子样本标签不同,且与种子样本之间的l2距离小于预先设定的阈值,则将其作为能够使模型决策错误的异常分布的测试样本保留。重复上述过程,随机选择一定数量的种子样本继续生成新的测试样本,直到每个类别都生成了足够数量的测试样本。

3、本专利技术的技术方案是通过如下步骤实现的:

4、步骤1,构建不同类别所对应的神经元组合路径。

5、步骤1.1,从深度学习模型的训练集中按类别将样本依次输入模型。假设某类别下的样本个数有n个,模型中各神经元对于单个样本的输出值记为output(i,j),其中i和j代表模型第i层的第j个神经元。计算深度学习模型中每个神经元对该类别下所有样本的平均输出值其计算公式为:

6、步骤1.2,选取模型各层神经网络中神经元输出值最高的n个神经元组成对应类别的神经元组合路径。

7、步骤2,随机选择种子样本,构造优化目标,使种子样本尽可能偏离神经元组合路径。

8、步骤2.1,在测试集中随机选择一个样本作为种子样本。

9、步骤2.2,将种子样本输入模型,得到模型输出的预测标签以及模型中所有神经元对于该样本的输出值。

10、步骤2.3,比较与预测标签对应的神经元组合路径中神经元平均输出值和对应位置的神经元对种子样本的输出值。将这些神经元分为两部分,一部分是对种子样本的输出值低于的神经元,另一部分是对种子样本的输出值高于的神经元,以此决定神经元输出值所要偏离的方向。

11、步骤2.4,构造优化目标,优化目标为最小化输出值低于的神经元输出值,同时最大化输出值高于的神经元输出值,使模型对种子样本的神经元输出值尽可能偏离组合路径中神经元输出值。

12、步骤3,对单个种子样本多次使用梯度上升算法求解步骤2.4中的优化目标并生成扰动矩阵,将扰动矩阵与人为设定的扰动步长相乘,将相乘后得到的新扰动矩阵添加到种子样本上,大量构造新的测试样本。

13、步骤4,对生成的测试样本进行条件判断。

14、步骤4.1,l2距离判断:计算生成的测试样本与种子样本的l2距离,若l2距离大于预设的阈值,则直接丢弃该样本,否则继续进行标签判断。

15、步骤4.2,标签判断:将生成的测试样本输入模型,若模型对其的预测标签和种子样本的标签不一致,则将生成的测试样本添加至测试集,否则继续进行模糊变异。

16、步骤5,继续随机选择种子样本,重复以上步骤,生成不同特征分布的测试样本以扩充现有测试集。

17、有益效果

18、相比于使用以神经元覆盖率为指导策略的测试样本生成方法,本专利技术考虑了模型各层神经元之间的组合关系,并构建了神经元输出值和模型决策逻辑之间的映射关系。使种子样本偏离其类别对应的神经元组合路径,本专利技术能够生成包含更多特征分布的测试样本。此外,由于无需反复更新神经元覆盖率,本专利技术在模糊变异过程中可以对同一个种子样本进行多次变异,即对种子样本多次添加微小扰动,使新生成的样本更细粒度地逼近模型的决策边界,更加高效地生成测试样本,从而大量扩充现有测试集。

本文档来自技高网...

【技术保护点】

1.利用神经元组合路径的深度学习模型测试样本生成方法,其特征在于所述方法包括如下步骤:

2.根据权利要求1所述的利用神经元组合路径的深度学习模型测试样本生成方法,其特征在于:步骤2中使用优化目标:最大化模型神经元对种子样本的输出值和组合路径中的神经元输出值之间的差异。

【技术特征摘要】

1.利用神经元组合路径的深度学习模型测试样本生成方法,其特征在于所述方法包括如下步骤:

2.根据权利要求1所述的利用神经元组合路...

【专利技术属性】
技术研发人员:罗森林刘洧光潘丽敏夏志豪张钊
申请(专利权)人:北京理工大学
类型:发明
国别省市:

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

1