SE4AI测试 备受争议的覆盖率法

本文探讨了深度学习模型测试中的神经元覆盖率方法,与传统软件工程测试相比较,强调了这种方法在全面评估模型性能和发现潜在问题上的优势。同时,文中提到了DeepXplore和DeepGauge的研究,以及覆盖率测试与梯度方法的优缺点,指出在实际应用中需平衡成本和效率,以选择合适的测试策略。
摘要由CSDN通过智能技术生成

背景

        深度学习是热门的核心技术,然而深度学习的测试手法并不丰富。对比通用软件测试的诸多测试手法, 深度学习大部分测试场景使用的准确率和测试集损失值,过于浮于表面,它们无法包含对模型更多象限的考量和模型全面的认知。

软件测试界的观点是: 测试黑盒的深度学习算法模型可以借鉴于软件工程(SE)的覆盖率方法。通读意义上的,SE测试覆盖率追求最大程度覆盖一个软件源码在限定的测试用例中是否覆盖。 更高的覆盖率,奠定了更大发现系统缺陷的可能。

类比思想

            模型的本质可视为其参数,其中包括权重、残差等。模型进行前向推理的过程类比于一个程序针对某个输入产生输出的过程,每一层的输出值(或者说是激活值)就相当于各个调用函数的输出。在前向神经网络中,输出由上一层的多个神经元按权重决定。然而,对于个体例子的输出,例如将车分类到正确的标签上,每一层中只有少数的神经元提供了激活值,这些神经元被称为被覆盖的神经元。

汽车的神经元激活路径

        

        在低神经元覆盖率下,比如使用数量较少的测试数据集,只有部分神经元被激活,因此测试结果只能反映这些神经元组合下功能的正确性。然而,如果更多的神经元被激活,模型的正确性就无法保证。当某个测试数据集中的测试案例能够激活模型中尽可能多的神经元时,我们通常将其称为“覆盖率高”的测试数据集。增大神经元覆盖率是一种有效的方法,可以揭示模型中的潜在问题。

热门研究

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值