论文-阅读理解-Adversary Resistant Deep Neural Networks with an Application to Malware Detection

xiaoxiao2021-02-28  20

整体来说,Adversary Resistant DeepNeural Networks with an Application to Malware Detection 这篇论文是利用了生成对抗网络和深度学习网络俩个模型提出的一种对恶意软件和应用检测的方法。

  通过对GAN网络的学习和理解,简单描述这个过程:通过建立2个功能相同,性能相似的俩个DNN模型分别作为生成器和判定器。通过加入利用生成器生成的敌对样本,产生的数据对于训练模型达到了一个数据增强的效果,这也是这篇论文中提到的为了防御敌对样本的一个方法。而生成器生成敌对样本和判定器不断调整连接权和阈值来优化模型就是生成对抗网络对抗训练的过程。本文中提到的另一个增强抵抗性的方法就是增强模型的复杂性,而该防御策略是通过增加随机层来实现的(还有一个重要的原因是为了防御学习2个模型后的攻击者产生针对增强DNN模型的敌对样本),这里判定器的训练优化主要是针对影响最大的敌对样本的(its best approximation)使其对最大影响的敌对样本的“免疫”。

  文中提到的生成器的训练法主要是在损失函数训练中引用快速梯度符号法(在UnifyingAdversarial Training Algorithms with Flexible Deep Data GradientRegularization这篇论文中的方法),这个DataGrad的引入可以计算敌对扰动,表示扰动的方向,(通俗讲就是向真实数据加入敌对扰动)可以改善标准DNN的最差情况。

  文中提到判定器的改进优化整体的原则是尽可能的提高随机性,在执行随机去掉(利用掩模矩阵的元素乘法)会不可避免的丢掉某些特征信息,为此文中采用为每个样本数据选择一个无用率。实验证明这个无用率、神经元被取消和被取消的个数都是随机确定会产生更好的测试结果(即分类结果)。训练是以方程(2)作为优化目标函数的:

方程的求解也是通过随机梯度下降法(与标准类似,通过前一个点的梯度方向寻找到新的迭代点,不同的地方是:一般输入样本x,产生相应的I作为二进制向量(0或1),每次训练样本时,随机挑选的I在向后向前传播时都是固定的,直到下一个训练样本到达才更新),为了得到更稳定的结果,本文作者采用高斯分布作为随机变量的替代值。

    文中还给出了攻击者使用计算得到的最有力的敌对扰动进行攻击,我们的对抗模型对其的“免疫”的证明——不再是欺骗DNN的最有效的扰动。

   总体而言,这种方法对于恶意的抵抗是很有效的,但对于检测分类的精确度可能不够。

添加一个随机层的DNN模型:

对抗训练的模型(上面的DNN作为生成器,下面的DNN作为判定器):

转载请注明原文地址: https://www.6miu.com/read-2250357.html

最新回复(0)