Advertisement

[paper]Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks

阅读量:

该防御算法被本文提出,在不影响其架构设计的同时具有较强的抗 adversarial attacks的能力。

The knowledge obtained through distillation is utilized to minimize the amplitude of network gradients exploited by adversaries, thereby enabling the creation of adversarial samples. When adversarial gradient magnitudes are elevated, generating adversarial samples becomes more feasible as minor perturbations can cause significant changes in DNN outputs. To mitigate these perturbations, it is necessary to minimize variations around the input data, which in turn reduces the amplitude of adversarial gradients.

基于蒸馏过程中所获取的知识来降低攻击者利用具有较高梯度值生成对抗样本的可能性。当存在较大的梯度值时,微小的扰动可能导致DNN输出发生较大波动。为了抵消这种影响,需要降低输入数据集的空间维数,并相应地降低模型在该空间上的敏感性程度。

本文做出了以下贡献:

  1. 明确阐述了对抗性样本下DNN防御设计的标准要求。这些标准深入揭示了防御性鲁棒性、输出准确性和DNN性能之间的内在联系。
  2. 防御性蒸馏作为一种创新的技术方案被提出。这种基于深度神经网络(DNN)的分类器模型训练机制具有显著的优势,在面对外界干扰时表现出更强的抗干扰能力(即更高的鲁棒性)。该机制通过提取与训练点相关的知识信息,并将其转化为类概率向量的形式进行反馈,在提升分类器性能的同时实现了更好的泛化能力。
  3. 这种技术方案与传统的蒸馏方法存在显著差异(即大相径庭)。传统的蒸馏方法主要目标在于通过简化网络结构来提高计算效率,并将提炼出的知识反馈机制应用到原始模型上。
  4. 通过对蒸馏参数空间的研究发现,在合理设置参数化的基础上能够显著提升算法的效果(即大幅降低了深度神经网络对输入干扰数据的高度敏感度)。

在这里插入图片描述

理论上来讲,在发动对抗样本攻击时,攻击者必须具备对该系统深入了解的能力;然而,在现实场景中,在没有充分掌握目标攻击模型F的具体架构的情况下进行攻击也是完全可行的:

  1. 通过训练一个深度神经网络模型F' ,使其无限接近目标攻击模型F。
  2. 利用训练所得的模型F' 生成对抗样本。

本文研究中所采用的白盒攻击方法假定攻击者能够直接访问待分析的模型F。如图所示的架构图展示了模型F的组成结构:其包含输入层、隐藏层(即隐含层)、输出 layer 以及softmax激活函数。通常情况下,在深度神经网络(DNN)中为输入 layer 提供一个具有M维特特性的数据样本作为 input,默认情况下权重参数会自动将训练数据中的模式映射到对应的类别概率分布上。随后,在网络的最后一部分使用softmax激活函数将原始预测结果转化为概率分布形式。

在这里插入图片描述

其中输出层的空间维度被定义为 N;对于隐含层的最后一层神经元 i 来说,在输入样本 X 下其对应的原始预测结果表示为 Z_{i}(X);温度参数 T 在整个训练过程中扮演着关键的角色;在本文中我们将其特别称为蒸馏温度

采用类别概率而非硬标签的优势明显,因为这些概率能够编码每个类别相关的详细信息,而不仅仅提供正确的分类结果。此外,在这种熵的基础上还可以推断出相关信息。

在这里插入图片描述

对抗样例生成框架如图所示,分为两个步骤:

  1. 方向敏感性估计
  2. 扰动选择

方向敏感性估计:
评估DNN模型F对样本X各输入分量变化所带来的影响程度。进而获得相关灵敏度数据。研究者采用正向导数这一概念(即雅可比矩阵J(T,i,j))来进行分析计算,在此过程中可以得到模型F在各个输入维度上的灵敏度值。该方法能够直接计算输出层各单元对于输入层各单元的变化率关系;其中雅可比矩阵定义为J(T,i,j)=\frac{\partial F_{i}(X)}{\partial X_{j}}|_{T}

在这里插入图片描述

扰动选择:
研究者发现,在第一步计算出敏感性信息后会优先选择那些通过最小幅度扰动即可达到攻击目标的影响维度,并在此基础上生成对抗样本。允许存在的扰动通常依据输入空间的距离度量来定义,在实际应用中可以选择L1范数或L2范数等方法进行度量评估(取决于具体情况)。
在实验过程中发现,在实际应用中研究者选取的有效影响维度数量有限。虽然理论上大量加入可能会导致模型误判,并且这种做法同样可能干扰到人类感知效果;但为了达到最佳平衡点就必须找到既能实现目标又能在不影响人类感知效果的前提下进行操作的最佳方案。为了确保该方案的有效性需要满足以下基本条件:

在这里插入图片描述

防御方法的要求:

该网络架构对系统性能的作用较小
系统设计能确保准确性
系统设计能确保运行速度
防御方法能够有效应对靠近训练数据集的对抗样本

在这里插入图片描述

防御蒸馏机制是在不改变网络结构的前提下实现的有效对抗攻击手段,并能在最小程度上影响模型准确性

这种防御方法思路较为简洁明了。首先基于原始训练样本 X 和标签 Y 训练初始深度神经网络并获得概率分布 F(X) 。随后在此基础上构建架构相同的蒸馏网络,并将第一步的概率分布输出作为新的标签继续训练蒸馏网络这一过程可帮助提升模型抗扰动能力

从以下几个方面展开分析:第一阶段是通过多轮蒸馏过程不断优化模型鲁棒性;第二阶段则是通过引入对抗学习策略进一步增强模型抗攻击能力

优化问题
在训练初始网络的时候,我们的优化问题可以定义为:

在这里插入图片描述

其中, Y_{i}(X)是硬标签,如果分类正确则为1否则为0. 我们的对数似然函数为:

在这里插入图片描述

基于此优化问题被定义为计算每个训练样本上的对数似然的平均值。同样地, 我们可将其定义为在蒸馏网络训练过程中所涉及的优化问题。

在这里插入图片描述

在其中,F_{i}(X) 作为第二个网络的分类标记呈现出来,并且该标记属于模糊分类标记(即概率分布)。这种防御机制之所以奏效是因为 DNN 在训练过程中所获取的知识不仅储存在由 DNN 学习所得的权重参数之中,并且还储存在由网络生成的概率向量之中。因此,在蒸馏方法下,则可从中提取类别知识并将其转移至不同体系结构之中。

减小雅可比振幅,在本研究中所采用的方法即为模型 [公式] 在每个输入变量上的梯度信息。

在这里插入图片描述

众所周知,在梯度值显著高的情况下,攻击者只需加入微小的干扰即可生成对抗样本以达到攻击目标。

在模型训练的过程中存在着一个关键参数即蒸馏温度 T 的作用。具体而言当温度 T 较低时会使得分类器输出的概率分布变得更加集中;而当温度 T 较高时则会导致神经网络为每个类别输出具有相对较高概率值的向量。特别地当温度 T 趋近于无限大时分类器输出的结果将趋于均匀分布即概率 F(X) 会趋近于1/N这种情况下增大温度 T 可以有效降低神经网络输出结果对于输入扰动的敏感度从而提升模型的整体鲁棒性。

需要注意的是,在训练过程中(或步骤中),我们通常会将变量 T 设定为较大的值(或数值),其主要目的在于使模型更加平滑(或特性),从而有效减少(或降低)模型对对抗性干扰(或攻击)的敏感度(或易变性)。然而,在进行预测过程时(或操作中),我们应当将 T 设置为1(单位值),这是因为这有助于适应新增的数据样本(或类别)。如果在实际应用中我们选择将 T 设置得过大,则可能导致模型对于新样本中的变化不够敏感(或察觉到),从而可能出现误判的情况。

实验结果:

  1. 随着 T的增大,对抗样本攻击的成功率迅速的下降。说明这种防御方法能有效地抵御对抗样本的攻击。
  2. 尽管这种防御方式在一定程度上会降低模型的准确率,但对模型准确率的负面影响最多不会超过1.5%。
  3. 随着 T的增加,模型的梯度在逐渐减小,模型愈趋平滑
  4. 随着 T的增加,DNN的鲁棒性越来越强。

全部评论 (0)

还没有任何评论哟~