意外充分性引导的深度神经网络测试样本生成

文章提出了一种基于意外充分性改进的深度神经网络测试样本生成方法,通过筛选重要神经元、优化种子样本选择和利用梯度上升生成扰动,提升测试样本的多样性和个体揭错能力。

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

意外充分性引导的深度神经网络测试样本生成

摘要:

​ 由于深度神经网络(deep neural network, DNN)模型的复杂性和不确定性等属性,对模型的一般行为和边界行为进行充分的测试是保障模型质量的重要手段.当前的研究主要基于制定的覆盖准则,结合模糊测试技术生成衍生测试样本,从而提升测试充分性,但较少综合考虑测试样本的多样性及个体揭错能力.意外充分性指标量化测试样本与训练集在神经元输出方面的差异,是测试充分性评估的重要指标,目前缺乏基于此指标的测试样本生成方法.因此,提出了一种意外充分性引导的深度神经网络测试样本生成方法,首先,筛选对于决策结果贡献较大的重要神经元,以其输出值为特征,改进意外充分性指标;其次,基于测试样本的意外充分性度量筛选具有揭错能力的种子样本;最后,利用覆盖引导的模糊测试思想,将测试样本的意外充分性值和DNN模型预测的类别概率差异作为联合优化目标,利用梯度上升算法计算扰动,迭代生成测试样本.

介绍:

​ 种子测试样本是影响DNN模型测试样本生成有效性的关键,然而已有测试样本生成方法多采用随机的方式筛选种子样本,忽略对种子样本揭错能力的考虑;同时,筛选种子样本时未充分覆盖原始测试集的全部类别,生成的测试样本多样性不足。

​ 本文提出了意外充分性引导的深度神经网络测试样本生成方法(surprise adequacy for deep neural networks, DeepSA).考虑到对于决策结果影响较大的重要神经元能够刻画模型的决策逻辑,DNN 模型在相似的样本上的决策逻辑很大程度上具有一定的相似性,利用重要神经元的输出值作为特征,从而可以更精准地刻画样本间的差异程度.因此DeepSA 首先筛选出对于决策结果影响较大的神经元,利用这些神经元的输出改进意外充分性指标,并进一步提升计算效率.其次,基于测试样本的意外充分性选取种子样本;为了使得生成的样本能够探索模型的不同内部逻辑,选取种子时覆盖原始测试样本的所有类别.最后,利用覆盖引导的模糊测试思想,将样本的意外充分性和模型预测的类别概率间差异作为联合优化目标,利用梯度上升算法迭代产生扰动,对种子样本进行变异,生成新的测试样本.

1)本文提出了意外充分性引导的测试样本生成方法,基于意外充分性指标选取种子样本,并将样本的意外充分性作为反馈,迭代引导测试样本的生成.方法能够在生成对抗样本的同时,提升意外覆盖率.
2)本文改进了意外充分性指标,利用对于决策结果影响较大的神经元的输出值,量化模型在测试样本和训练样本上决策的差异;改进的指标可减少测试集意外充分性计算的时间开销.

  1. 基于似然的意外充分性(LSA):利用核密度估计DNN模型D在训练过程中出现相似样本的可能性。对于所有的训练集中的用例,每个用例使用高斯核函数计算该用例与新输入x的激活迹的差值,概率密度低说明输入更加稀有,概率密度高说明输入更加相似。

LSA

  1. 基于距离的意外充分性(DSA):该指标基于单个测试样本的神经元输出向量与训练样本的神经元输出向量间的欧氏距离,量化样本间的差异,越接近 2 个类间决策边界的测试样本与训练集的差异越大,仅适用于分类模型,DSA越大,说明对于类别来说越surprise。

DSA

  1. 意外覆盖:给定一个测试集,L 为测试集的SA 值下界,U为预先设置的 SA 值上界,将[L,U]区间平均分成 k 段,Si表示第 i 段;若测试样本 x 计算出的 DSA 或 LSA 值位于段 Si内,则该段被覆盖,意外覆盖计算被测试集覆盖的段的比例,测试集对应的意外覆盖率越高,则表明该测试集更加多样化,既包含与训练数据相似的输入,也包含与训练数据具有差异的输入.
    SC
框架:

框架

  1. 重要神经元筛选:DeepSA 选取网络中特定隐藏层为目标层,利用LRP 算法,输入训练集,利用神经元的正向输出值和神经元间的权重,度量 DNN 模型中各神经元与输出结果的相关性得分,捕捉网络中每个神经元对决策的实际贡献,识别目标层中的重要神经元。
  2. 意外充分性引导的测试样本生成:
    • 改进的意外充分性:意外充分性指标利用 DNN 模型产生的中间表示,即样本的神经元输出值,量化单个测试样本与训练集的差异,能够发现使得模型产生错误预测行为的测试样本.DeepSA 将目标层中重要神经元的输出值作为特征,利用 NlC代替式(1) (2)中的 Nl,以度量测试样本的 LSA 值和 DSA 值.DeepSA 改进的 2 种意外充分性度量指标表示为 LSAv和DSAv,对应的意外覆盖指标表示为 LSCv和DSCv.

    • 种子测试样本选择:多样性的种子测试样本能够提升模糊测试探索 DNN 模型内部的能力;并且对具有错误揭示能力的种子样本进行变异生成新的测试样本,能够尽可能多的揭露原始测试集无法暴露的错误;种子选择策略:DeepSA 设计 2 种种子测试样本选择策略,第 1种选择策略表示为 ST-Dall 和 ST-Lall,即分别依据DSAv 和 LSAv 值将测试样本进行降序排序,选取前num 个样本作为种子测试样本,其中 num 为预先定义的种子测试样本数量.第 2 种是考虑类别标签的选择策略 ST-Dper 和 ST-Lper.由于不同类别的种子测试样本能够探索模型的不同内部逻辑,受沐燕舟等人工作启发,DeepSA 在选择种子测试样本时,不仅考虑意外充分性值,还覆盖到原始测试集中包含的全部测试样本类别.需要说明的是,沐燕舟等人提出的测试样本选择方法旨在筛选小规模的测试子集,以精确估计原始测试集的准确率.尽管该方法与 DeepSA在测试样本选择上的目标不同,但核心思想与动机类似,即筛选测试样本时尽可能多地覆盖到原始测试集中包含的测试样本类别.具体而言,ST-Dper和ST-Lper种子样本选择策略以样本的真实标签作为区分测试样本类别的依据,针对每个类别,算法选取相同数量的样本作为种子样本,以保证所选的种子测试样本集覆盖全部的样本类别.种子测试样本选择算法如算法1 所示.

      在这里插入图片描述
      测试样本生成:DeepSA采用基于梯度的变异方法,将如何对种子样本迭代产生扰动建模成联合优化问题,通过设计目标损失函数,将目标损失函数作为优化目标,采用梯度上升算法最大化目标损失函数,产生扰动,迭代生成测试样本.目标损失函数定义如下:

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值