Generating Adversarial Examples with Adversarial Networks 研读报告 | 刘广睿的思维实验室
0%

Generating Adversarial Examples with Adversarial Networks 研读报告

研究发现深度神经网络(DNN)容易受到对抗性样攻击。对抗样本指在神经网络的输入中添加精心构造的微小扰动,这种对抗样本会导致DNN错误。虽然已经提出了多种产生对抗样本的方案,但如何高效的在黑盒环境下产生对抗样本,仍然需要更深入的研究。本文借助生成对抗网络(GAN),通过学习并将对抗样本分布逼近目标类别样本分布,以达到高准确率、高效快速的批量产生对抗样本的效果。本工作由 Chaowei Xiao 在京东公司与加州大学伯克利分校合作完成,论文发表于IJCAI2018

1 课题创新点

  • 生成不仅视觉上逼真,而且还能误导目标模型的对抗样本。
  • 使用前馈神经网络生成对抗样本,比基于优化的方法有更高的攻击成功率。
  • 通过查询信息动态提炼模型,可产生对黑盒DNN的对抗样本。

2 方案设计

2.1 问题定义

$ X $: 特征空间$ X \subseteq R^n $

$ n $: 特征数量

$ (x_i,y_i) $: 训练集中第 $ i $ 个样本

$ x_i $: 特征向量 $ x_i \in X $, 服从未知分布 $ x_i \sim P_{data} $

$ y_i $: 样本真实类别标签 $ y_i \in Y $, 其中$ \left | Y \right | 表示可能的输出分类数量 $

学习系统旨在从样本空间 $ X $ 域到分类输出 $ Y $ 集合中学习分类器 $ f: X \rightarrow Y $

对抗攻击旨在对于给定样本 $ x $, 生成对抗样本 $ x_A $,其分类 $ f(x_A) \neq y $ (无目标攻击),其中 $ y $ 为样本x的真实类别标签;或者 $ f(x_A)=t $ (有目标攻击),其中 $ t $ 为目标类别。

就 $ L_2 $ 或其他距离度量而言,$ x_A $ 还应接近原始样本 $ x $

2.2 结构框架

图1:AdvGAN结构框架
AdvGAN结构框架如图1所示,其主要由三部分组成:生成器 $ G $、描述器 $ D $ 和目标神经网络 $ f $。首先生成器 $ G $ 根据输入的原始样本 $ x $ 计算出对抗扰动 $ G(x) $。然后分别将原始样本 $ x $ 和对抗样本 $ x+G(x) $ 输入判别器$ D $,训练判别器 $ D $ 使其可区分原始数据和生成的数据($ D $ 的目的是促进生成的对抗样本无法与原始样本类别区分开来)。
为了可以欺骗目标分类器 $ f $,将 $ x+G(x) $ 输入 $ f $ 中,在白盒环境下输出分类器损失 $ L_{adv} $,表示输出类别与目标类别 $ t $ 的距离(有目标攻击);或表示输出类别与原始类别 $ y $ 的相反数(无目标攻击)。

则对抗损失可以交叉熵表示为:

\begin{equation}
L_{GAN} = E_x log D(x) + E_x log (1-D(x+G(x)))
\label{G_Loss}
\end{equation}

欺骗目标神经网络损失可表示为:

\begin{equation}
L_{adv}^{f} = E_x l_f (x+G(x),t)
\label{f_Loss}
\end{equation}

其中f表示目标神经网络使用的损失函数(比如交叉熵损失)
另增加一正则项损失,为约束对抗扰动,避免扰动过大:

\begin{equation}
L_{hinge} = E_x max(0,||G(x)||_2 - c)
\label{hinge_Loss}
\end{equation}

其中 $ c $ 为用户设定的约束值,其也可以稳定GAN的训练过程。

最终整体目标损失可表示为:

\begin{equation}
L=L_{adv}^{f} + \alpha L_{GAN} + \beta L_{hinge}
\label{Full_Loss}
\end{equation}

其中 $ \alpha $ 与 $ \beta $ 控制每一项的重要程度。$ L_{GAN} $ 鼓励对抗样本从视觉上与原始数据相似,而 $ L_{adv}^{f} $ 旨在生成高攻击成功率的对抗样本。最后通过最大最小值算法计算 $ arg \ min_G \ max_D \ L $ 得到 $ G $ 与 $ D $。

一旦在目标模型中将生成器 $ G $ 训练好,之后就可以对任意输入添加扰动以生成对抗样本,且无需再访问目标神经网络。

2.3 黑盒攻击

静态蒸馏法优化黑盒模型 $ b(x) $ 与蒸馏模型 $ f(x) $ 的交叉熵,得到一个功能与黑盒模型功能相似的蒸馏模型。将蒸馏模型作为目标神经网络训练对抗样本。

\begin{equation}
arg \ \underset{f}{min} \ E_x \ H(f(x),b(x))
\label{Static_Distillation}
\end{equation}

动态蒸馏法由于静态蒸馏方案无法确定蒸馏模型与原模型的差距,故提出动态蒸馏方案,联合训练蒸馏模型 $ f $ 与生成器 $ G $。具体分为两步:
  1. 固定 $ f_{i-1} $ 更新 $ G_i $:

\begin{equation}
G_i,D_i = arg \ min_G \ max_D \ L_{adv}^{f_i-1} + \alpha L_{GAN} + \beta L_{hinge}
\label{Dynamic_Distillation_1}
\end{equation}

  1. 固定 $ G_i $ 更新 $ f_i $:

\begin{equation}
f_i = arg \ min_f \ E_x \ H(f(x),b(x)) + E_x \ H(f(x+G(x)),b(x+G(x)))
\label{Dynamic_Distillation_2}
\end{equation}

3 实验

3.1 实验配置

  • 实验数据;MINTSI, CIFAR-10, NIPS 2017 DEV数据集
  • 测试环境:半白盒测试,黑盒测试
  • 对比攻击算法:梯度法(FGSM), 优化法(Opt.), 迁移攻击(Trans.)
  • 对比防御算法:对抗训练(Adv.), 整体对抗训练(Ens.) ,迭代对抗训练(Iter.Adv)

3.2 攻击测试

  1. AdvGAN在运行时间、有目标攻击和黑盒攻击等方面存在优势:
    表1:AdvGAN对比其他对抗攻击算法优势
  2. AdvGAN在不同环境下(原始数据集p、半白盒攻击w、黑盒攻击-动态整理b-D、黑盒攻击-静态蒸馏b-S)的攻击成功率:
    表2:AdvGAN对比其他对抗攻击算法优势
  3. AdvGAN在MINIS和CIFAR-10数据集上攻击效果图:
    图2:AdvGAN在MINIS数据集上攻击效果图
    图3:AdvGAN在CIFAR-10数据集上攻击效果图
  4. AdvGAN半白盒环境下在各对抗输入对御法案的攻击成功率:
    表3:AdvGAN半白盒环境下在各对抗输入对御法案的攻击成功率
  5. AdvGAN黑盒环境下在各对抗输入对御法案的攻击成功率:
    表4:AdvGAN黑盒环境下在各对抗输入对御法案的攻击成功率
  6. 白盒环境中不同攻击算法的MadryLab公共模型准确性对比:
    表5:白盒环境中不同攻击算法的MadryLab公共模型准确性对比
  7. AdvGAN在高分辨率对抗样本生成效果(NIPS 2017 DEV数据集):
    图4:AdvGAN在高分辨率对抗样本生成效果

参考


- - - - - - - - - - - - - - - - 本 文 结 束 啦 感 谢 您 阅 读 - - - - - - - - - - - - - - - -