AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets

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 ightarrow mathbb{R}): 判别器;
(f(x)): 分类器;

Original Generator

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

[ ag{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)的损失则是

[ ag{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). ]

关于分类器的损失则是

[ ag{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)) ot =y, : g(f_{mathrm{target}}(G_{mathrm{attack}}(z, y)))=y. ]

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

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

[ ag{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}})就是最小化下式

[ ag{17} L(z, y)=alpha L_{d}(z,y)+eta L_a (z,y). ]

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

原文地址:https://www.cnblogs.com/MTandHJ/p/13151494.html