一种面向深度神经网络模型的测试用例选择方法

专利2026-02-05  0


本发明涉及一种面向深度神经网络模型的测试用例选择方法,属于计算机软件测试。


背景技术:

1、深度神经网络(dnn)目前已广泛应用于诸多领域,例如图像分类、语音识别、自然语言处理和自动驾驶。尽管在明确定义的任务中,基于dnn的系统表现良好,但它们的可靠性和质量问题仍然存在。

2、与通过程序员明确定义的业务逻辑开发的传统软件不同,由dnn驱动的系统遵循数据驱动的编程模型,这导致了测试方法上的显著不同。因此,开发者无法通过直接观察和调整其内部参数来改进系统,这使得传统的软件质量保证方法对于基于dnn的系统无效。在实践中,开发者使用大量数据来测试和重新训练dnn,以纠正模型错误并提升系统性能。手动标注全部的数据集通常既昂贵又耗时。然而,大型数据集中只有一小部分会触发系统错误。因此,开发者通常使用测试用例选择技术,选择一组具有代表性的测试用例进行标注和训练,而不会降低测试性能。

3、目前,研究人员已经提出了神经元覆盖率标准,用于评估dnn测试的充分性和指导测试选择。当前的神经元覆盖率指标主要关注前馈网络,包括卷积神经网络和全连接网络,通过独立评估层和神经元级别的激活情况来计算覆盖率大小进行测试用例选择。但是,当这种覆盖率方法应用于具有不同工作机制的反馈网络,如循环神经网络(rnn)时,存在一定的局限性,因为它们忽略了rnn的内部状态。


技术实现思路

1、针对现有技术存在的上述问题,本发明要解决的技术问题是:现有的基于神经元覆盖率的测试用例选择方法由于忽略rnn内部状态的变化和时间步顺序而失效。本发明提供一种面向深度神经网络模型的测试用例选择方法,以降低数据标注成本并节省计算资源。

2、为解决上述技术问题,本发明采用如下技术方案:一种面向深度神经网络模型的测试用例选择方法,包括以下步骤:

3、步骤1:将未标记的测试用例集合输入循环神经网络模型,循环神经网络模型对每条测试用例在每个时间步下输出其属于各个类别的预测概率的状态向量序列,根据该状态向量序列构建状态向量空间。

4、步骤2:根据步骤1获得的状态向量空间,定义距离不确定性和相似性属性,距离不确定性用于度量循环神经网络模型的不确定性,相似性属性用于度量各条测试用例在时间步改变过程中行为的相似性,对输入测试用例集合中的每条数据,分别计算其距离不确定性值和相似性属性值。

5、步骤3:根据步骤2中获得的距离不确定性值和相似性属性值,将输入测试集按照距离不确定性值降序排序,然后比较相邻的测试用例间的相似性属性值,若二者大小相等,则随机选择其中一个测试用例;若不相等,则两个测试用例均选择。

6、步骤4:判断所选择的测试用例数量是否达到所需要的总数,若未达到总数,则采用步骤3的方法继续选择,直到达到总数.

7、作为优选,所述步骤1状态向量序列构建状态向量空间如下:对于完成n分类任务,总时间步数为t的循环神经网络模型,其第m个时间步下产生的预测结果记为状态向量其中pn表示第m个时间步下模型对第n个类别的预测概率。

8、定义一条测试用例对应的状态向量序列如下:

9、

10、其中表示一条测试用例在第t时间步的状态向量,任何时间步的状态向量应具有以下形式:其中pt,n-1表示循环神经网络模型rnn预测x属于第n-1类的概率。

11、整个测试用例集合中的所有状态向量序列共同构成的向量空间称为状态向量空间。

12、作为优选,所述步骤2中距离不确定性值和相似性属性值的计算方法为:

13、步骤2.1:对于一条测试用例的状态向量序列,计算相邻两个时间步的状态向量序列之间的夹角,获得状态向量序列对应的偏转角度序列:

14、

15、

16、as(x)=[as(x)1,as(x)2,…,as(x)n-1]

17、其中,αt是两个相邻时间步的状态向量序列夹角大小,as(x)t是偏转角序列的第t个分量,τ是人为设定的阈值,as(x)表示一条测试用例(x)的偏转角度序列。

18、步骤2.2:根据一条测试用例的偏转角度序列,定义其相似性属性为偏转角度序列的加权和:

19、

20、其中cs(.)表示相似性属性,weight(t)表示时间步权重。

21、步骤2.3:对于一条测试用例的状态向量序列,计算该测试用例的距离不确定性如下:

22、

23、

24、其中pt,i是t时间步下的状态向量中对第i类的预测概率,du(x,t)表示测试用例x在第t个时间步的距离不确定性

25、相对于现有技术,本发明至少具有如下优点:

26、实验结果证明本发明提出的方法用于循环神经网络的测试用例选择时能够以较小的时间成本在大规模未标记数据集中寻找到更多的易引发模型错误行为的样本数据。这既有利于提高测试人员的测试效率,也能够降低数据标注成本,节省重训练时所需的时间和计算资源。



技术特征:

1.一种面向深度神经网络模型的测试用例选择方法,其特征在于,包括以下步骤:

2.如权利要求1所述的一种面向深度神经网络模型的测试用例选择方法,其特征在于,所述步骤1状态向量序列构建状态向量空间如下:

3.如权利要求1所述的一种面向深度神经网络模型的测试用例选择方法,其特征在于,所述步骤2中距离不确定性值和相似性属性值的计算方法为:


技术总结
本发明涉及一种面向深度神经网络模型的测试用例选择方法,属于计算机软件测试技术领域,该发明的核心思想是,度量循环神经网络对每个测试用例的置信度与测试用例之间的相似程度,选择出具有代表性的低置信度测试用例。该发明主要由状态向量空间构建、不确定性与相似性度量和测试优先级排序三个步骤组成。1)对于给定的测试集输入,提取循环神经网络在每个时间步下输出的概率向量。2)在此向量空间内度量模型对每条测试用例的不确定性和模型状态改变的相似性。3)根据不确定性对测试用例集排序,根据相似性决定测试用例的去留。本发明适用于从大规模未标记的数据集中筛选出易引发循环神经网络错误行为的数据子集,以降低数据标注的成本。

技术研发人员:鄢萌,蒋中豪,张小洪,孙松,黄黎,孙伟峰,刘超
受保护的技术使用者:重庆大学
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/index.php/read-1827145.html

最新回复(0)