AT-GAN: A Generative Attack Mode

2020-06-17  本文已影响0人  馒头and花卷

[TOC]

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}}.

上一篇下一篇

猜你喜欢

热点阅读