AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets
阅读原文时间:2022年05月26日阅读:1

目录

Wang X., He K., Guo C., Weinberger K., Hopcroft H., AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets. arXiv preprint, arXiv: 1904.00783, 2019.

用GAN生成adversarial samples, 且不需要样本(AdvGAN需要).

AT-GAN的训练过程主要分成俩步, 首先, 生成一个普通的条件GAN, 接着在这个条件GAN的基础上训练一个AT-GAN.

符号说明

\(x\): 样本;

\(y\):标签;

\(\mathcal{S}_y\): 标签为\(y\)为图像;

\(z\):随机噪声;

\(G(z, y)\): 生成器;

\(D:x\rightarrow \mathbb{R}\): 判别器;

\(f(x)\): 分类器;

Original Generator

首先, 我们需要训练一个普通的条件GAN, 为此, 关于\(G\)的损失函数为

\[\tag{11}
L_G(z,y)=\mathbb{E}_{z \sim p_z(z)} H(D(G(z,y)),1) + \mathbb{E}_{z \sim p_z(z)} H(f(G(z,y)),y),
\]

其中\(H(a,b)\)是a和b的熵(应该是指交叉熵吧, 当二分类是就是二分类熵). 显然这个损失就是希望生成器生成的图片既真实, 其标签亦为真实的标签.

关于判别器\(D\)的损失则是

\[\tag{12}
L_D(x, z, y) = \mathbb{E}_{x \sim p_{data}(x)} H(D(x), 1)+\mathbb{E}_{z \sim p_z(z)} H(D(G(z,y),0).
\]

关于分类器的损失则是

\[\tag{13}
L_f(x,y) = \mathbb{E}_{x \sim p_{data}(x)} H(f(x),y).
\]

注: 三者分别关于\(G,D,f\)最小化(虽然作者没有明讲).

Transfer the Generator

假设由上面的算法生成的生成器为\(G_{\mathrm{original}}\), 并给定我们希望攻破的分类器\(f_{\mathrm{target}}\), 我们要构建一个新的分类器\(G_{\mathrm{attack}}\)去生成对抗样本. 显然, \(G_{\mathrm{attack}}\)需要满足:

  1. 其生成的样本与真实样本无异, 即

\[\| G_{\mathrm{original}}(z, y)-G_{\mathrm{attack}} (z,y)\|_p
\]

足够小;

2. 其生成的图像能够骗过目标分类器\(f_{\mathrm{target}}\), 最好是存在一个一一映射\(g\), 使得

\[f_{\mathrm{target}}(G_{\mathrm{attack}}(z, y)) \not =y, \: g(f_{\mathrm{target}}(G_{\mathrm{attack}}(z, y)))=y.
\]

于是作者构建了俩个损失:

\[\tag{15}
L_a(z,y)=H(g(f_{\mathrm{target}} (G_{\mathrm{attack}} (z,y))),y),
\]

\[\tag{16}
L_d (z,y) = \|G_{\mathrm{orginal}} (z,y)+P-G_{\mathrm{attack}}(z,y)\|_p,
\]

其中\(g\)是我们给定的可逆函数. 显然\(L_a\)的目的是骗过目标分类器, 而\(L_d\)的目的是使得生成的样本具有足够的真实性, 另外\(P\)是额外加入的高斯噪声, 用于柔化距离(?).

于是训练\(G_{\mathrm{attack}}\)就是最小化下式

\[\tag{17}
L(z, y)=\alpha L_{d}(z,y)+\beta L_a (z,y).
\]

注: \(G_{\mathrm{attack}}\)的参数初始化为\(G_{\mathrm{orginal}}\).