精读《基于神经元覆盖的深度神经网络白盒测试》_Jing Yu

文章提出了Test4Deep方法,针对深度学习模型(DNN)的测试,优化神经元选择策略以提高神经元覆盖率和测试效率。Test4Deep在不需人工标注的情况下,能生成更多对抗用例,且在保持高覆盖率的同时,显著减少了生成时间和干扰。实验结果显示,与DLFuzz和DeepXplore相比,Test4Deep在覆盖率和效率上有显著提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间:2022.03        TNNLS_B刊

一.前提:

        DeepXplore和LFuzz等研究表明,在对DNN的测试中,NC越高,对DNN的逻辑探索就越丰富。这意味着更高的NC可以使我们提高检测出(DNN潜在缺陷)的概率。

二.要解决的问题:

        1.如何选择和激活神经元以提高NC?

         2.如何提高测试生成[14]的效率?,即在有限的时间内生成更多具有高级别神经元覆盖率的测试用例来捕获各种错误和故障。

        3.如何进行测试结果的判定?即判别(测试用例的真实标签)与(DUT的预判结果)是否一

致。

        4.生成的对抗用例是否有助于提高DNN的鲁棒性。

三.方法:

        提出Test4Deep方法,神经元选择策略。

        当任意的神经元n的输出值>阈值t,就认为n被激活, 给出NC的公式:

根据DeepXplore,测试用例覆盖的神经元越多,表明测试用例的多样性就越大,这就会触发DUTs更多的错误行为。因此本文也采用神经元覆盖率作为测试指标。下图是框架:

由于对种子和输出约束的细微扰动叠加,x不需要人工标记,即x直接接收到种子的标记,从而形成一个测试用例τ,并将其加入到维持的测试用例集T中。

        下式表明失活神经元的和,再乘以一个超参数。使obj1(x)函数变大,倾向于激活更多的失活神经元。

在DLFuzz中,基于四种神经元选择策略,选择了m个失活神经元。而Test4Deep对所有的失活神经元进行求梯度,也不需要进行神经元选择。

        下式用来偏离原始标签,利用L2距离度量了(测试用例的类别向量)与(种子的类别向量)。并添加一个惩罚项来通过一个梯度来控制向同一方向偏离的扰动。(添加惩罚项的意义在于通过对模型的参数进行限制或约束,来避免过拟合和提高模型的泛化能力。)

   &

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值