《白盒自适应神经元选择策略_优化DLFuzz》

时间:2020.07        CCF:A会

        1 动机     

         在DLFuzz中,为了确定突变的方向,白盒方法首先选择一组内部神经元,然后计算它们的度。因此,白盒测试的最终有效性取决于第一步中对神经元的选择。我们提出了一种新的测试技术,能够在测试过程中自适应地确定神经元选择策略,而不是使用预先确定的策略。

        2 PRELIMINARIES(DNN——NC——白盒测试)

        本文给出了(DNN——NC——白盒测试)非常清晰的数学定义。

        2.1 DNN

        对于一个总共D层的DNN系统。^{L_{1}}^{L_{D}}分别是输入层和输出层,^{L_{2}}...^{L_{D-1}}是隐藏层。

        对于神经网络中的第d层,表示如下,其中^{t_{d}}是第d层中神经元的个数。 

        对于第d层,它的权重矩阵可表示如下:即第(d-1)层和第d层相连。

给出Run(DNN,I)的表达式,是隐藏层中每个神经元的值。 

        2.2 NC/TKNC

        NC:

        

 即Cov(Run(DNN,I)是一个由二元组(d,i)组成的集合。表明高于激活阈值\theta的神经元的位置。

        TKNC:

 在每一层的神经元中,取神经元值为前k个的神经元,构成k个二元组表达神经元位置。那么TKNC的覆盖率始终为常数?

        2.3 白盒测试

         3 本文算法

        依据下式选择得分最高的m个神经元:

本文构建了29个神经元特征如下 ,作为度量每个神经元的分数的依据。表1中的这些特征分为两类:17个常量特征和12个变量特征。常量特征与变量特征的关键区别在于,在神经网络测试过程中,特征的布尔值是否发生变化;同一神经元的常量特征值不变,而变量特征值可能发生变化。

对于一个神经元n,它的特征向量是由29个布尔值组成的。再乘以参数向量p,得到该神经元的得分。其中,参数向量p就是本文的学习对象,不同的p就是不同的神经元选择策略。数学定义如下三个式子:

 

 

         表示连续均匀的概率密度函数。

        在第20行,与算法1不同,我们的技术在神经网络测试期间不断更新数据H,其中H中的每个元素表示策略p和策略p覆盖的标识符集合Cp的元组。在第21行,为了使用H中最新累积的信息作为学习数据,该算法通过应用Pop函数将数据H的大小保持为η3;该函数返回最近累积的η3个元素的集合H。然后,使用Learning函数(第22行)重新生成集合P。

        Learning.部分:信息集中在H(策略,期中覆盖的神经元)

        1.提取

        H*是H’的集合,H’是一部分二元组的集合,要求这部分策略使得覆盖的神经元最多。H*中含有多个满足条件的H’。在H*中选择出包含策略数最小的H’,把最小的H’中的每个元素的策略名称的集合作为S1。

        包含个元组的集合H’,H’有多个,选择激活神经元个数最多的那个H’。把这个H’中的每个元素的策略名称的集合作为S2。

S中共有 ^{\eta _{4}} 个元素:这一步背后的直觉是提取集合S,在积累的数据H中捕获核心知识。

 举例子:

        

 

 

        2.结合

        we generate new strategies by combining the features of the strategies in S, where the number of strategies to generate is given as the hyper-parameter η2. This step has a
genetic-algorithm flavor and repeats the next four phases until we have η2 new strategies.

        step1:从S中随机选择2个策略

       step2: 混合两种选择策略,我们生成了一个新的策略p ',一个参数向量。p '的第i个分量是随机从两个向量的第i个分量中选取的。

        step3:向策略p '中添加微小噪声服从正态分布,目的是在不过多改变新策略的情况下,探索可能的策略空间。 

        step4:最后,剪切新策略p ',使其满足区间

        3.说明

        随着整个过程(算法2)的进行,我们的技术能够基于积累的数据H生成有效的神经元选择策略,从而实现高覆盖率。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值