利用lrp和训练集中各类样本,分别找出最后一个dense层中为对应类的样本负责的神经元
    在后续的变异的过程中,优先对这些重要神经元进行变异
    1.对重要神经元进行扰动使得变异更有效
    2.分类分别对负责各类的神经元进行扰动能够有助于帮助我们更均匀地识别错误样本(而不是找到只找到某一类或某几类的样本,希望我们最后选择出的测试用例的单类精度也能和整个测试集的单类精度尽可能地相似)

    根据ratio选择relevance_score较高的神经元进行扰动,为了有所区分,ratio的值不能太大,否则定位对每类样本重要的神经元就失去了意义,而且如此一来扰动就失去了随机性,所以需要人为再在某个地方插入随机性。
    WS::0-0.5 shuffle本身存在随机性
    NAI::0-0.5->再从这些神经元中随机挑选80%的神经元进行扰动
    NEB:0-0.5->再从这些神经元中随机挑选80%的神经元进行扰动
    GF:由于之前利用GF算子生成的变异模型与原模型差异都比较小,需要适当地调大STD(至于调大到什么范围需要预先做一个小实验,PRIMA使用GF的效果不是很理想,需要注意,调到了10),在生成随机的正太分布的值也存在随机性,所以不再人为插入随机性。

    新生成的模型相较于之间的模型不同的地方:
    1.GF:为了GF能生成变异程度较大的变异模型,STD调大到了10
    2.对于所有的变异算子,从随机选择神经元进行扰动改成了选择relevance score值较高的神经元进行扰动
    3.固定扰动倒数第二层

    初步实验结果:新生成的模型的总体效果(同样的采样方法)与之前选出的模型的效果差不多,原本是针对一层的神经元随机进行扰动,现在是针对每一类重要的神经元进行扰动(但是每一类重要的神经元又有区别),这样看来有可能也几乎扰动了所有神经元,整体效果类似应该是在预料之中,但需要对比单类精度的效果。