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

AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets的更多相关文章

  1. 论文笔记之:Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks

    Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks NIPS 2015  摘要:本文提出一种 ...

  2. DEFENSE-GAN: PROTECTING CLASSIFIERS AGAINST ADVERSARIAL ATTACKS USING GENERATIVE MODELS

    目录 概 主要内容 Samangouei P, Kabkab M, Chellappa R, et al. Defense-GAN: Protecting Classifiers Against Ad ...

  3. 论文《A Generative Entity-Mention Model for Linking Entities with Knowledge Base》

    A Generative Entity-Mention Model for Linking Entities with Knowledge Base   一.主要方法 提出了一种生成概率模型,叫做en ...

  4. Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples

    Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples 目录 概 主要内容 实验 ...

  5. 从贝叶斯模型(Bayes)到生成模型(Generative models)(生成式分类器,generative classifier)

    0. 基于贝叶斯公式的生成式分类器 生成式分类器(generative classifier)即是已知类别得样本: p(y=c|x,θ)∝p(x|y=c,θ)p(y=c|θ) p(x|y=c,θ) 称 ...

  6. Theano3.1-练习之初步介绍

    来自 http://deeplearning.net/tutorial/,虽然比较老了,不过觉得想系统的学习theano,所以需要从python--numpy--theano的顺序学习.这里的资料都很 ...

  7. 机器学习——深度学习(Deep Learning)

    Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,近期研究了机器学习中一些深度学习的相关知识,本文给出一些非常实用的资料和心得. Key W ...

  8. Deep Learning Tutorial - Classifying MNIST digits using Logistic Regression

    Deep Learning Tutorial 由 Montreal大学的LISA实验室所作,基于Theano的深度学习材料.Theano是一个python库,使得写深度模型更容易些,也可以在GPU上训 ...

  9. Deep Learning(4)

    四.拓展学习推荐 Deep Learning 经典阅读材料: The monograph or review paper Learning Deep Architectures for AI (Fou ...

随机推荐

  1. A Child's History of England.8

    CHAPTER 3 ENGLAND UNDER THE GOOD SAXON, ALFRED Alfred [born in 849 CE, 唐: 618年-907年] the Great was a ...

  2. 转 Android Studio中Junit调试

    转:https://blog.csdn.net/xanthus_li/article/details/54314189 在程序开发完成后,需要交给专业的调试人员进行相关的专业调试(白盒测试,黑盒测试, ...

  3. linux 磁盘满了,vim 编辑文件时无法保存

    早上来发现 redis 不能用,报 MISCONF Redis is configured to save RDB snapshots, but it is currently not able to ...

  4. 记一次SQL Server insert触发器操作

    需求:在河道水情表(ST_RIVER_R )新增插入数据时,更新实时数据表(SS_data) 中关联字段的值. 需求概括下:当A表中新增数据时,同时更新B表中的某字段 代码如下: USE [DBCNB ...

  5. 4个优化方法,让你能了解join计算过程更透彻

    摘要:现如今, 跨源计算的场景越来越多, 数据计算不再单纯局限于单方,而可能来自不同的数据合作方进行联合计算. 本文分享自华为云社区<如何高可靠.高性能地优化join计算过程?4个优化让你掌握其 ...

  6. 11、Redis的配置文件

    Redis的配置文件 一.Redis配置文件简介 Redis是通过配置文件启动的 Redis对大小写字母不敏感 Redis基本上环境搭建都在配置文件 关于Redis配置文件位置是安装时放的位置,关于R ...

  7. 安装Java1.8教程图解

    在服务器上配置Java环境 第一步: 因为我们系统是centOS7 64位的,所以我下载的是最新版本的jdk X64位的 因为阿里云服务器事先就安装好了ssh,我们可以用xsell连上去,我把下载好的 ...

  8. CentOS7学习笔记(四) 常用命令记录

    查看命令的帮助信息 man 命令查看帮助信息 在想要获取帮助信息的命令前面加上man即可,例如查看ls命令的帮助信息 [root@localhost ~]# man ls help 命令查看帮助信息 ...

  9. Mybatis中原生DAO实现和Mapper动态代理实现

    Mybatis开发dao的方法通常用两种,一种是传统DAO的方法,另一种是基于mapper代理的方法. 一.传统DAO方式开发 1.sql语句映射文件编写 User.xml <?xml vers ...

  10. 如何实现 range 函数的参数?

    关于 range 函数 Python内置的range函数可以接收三个参数: class range(stop): ... class range(start, stop[, step]): ... 标 ...