目录

Samangouei P, Kabkab M, Chellappa R, et al. Defense-GAN: Protecting Classifiers Against Adversarial Attacks Using Generative Models.[J]. arXiv: Computer Vision and Pattern Recognition, 2018.

@article{samangouei2018defense-gan:,

title={Defense-GAN: Protecting Classifiers Against Adversarial Attacks Using Generative Models.},

author={Samangouei, Pouya and Kabkab, Maya and Chellappa, Rama},

journal={arXiv: Computer Vision and Pattern Recognition},

year={2018}}

本文介绍了一种针对对抗样本的defense方法, 主要是利用GAN训练的生成器, 将样本\(x\)投影到干净数据集上\(\hat{x}\).

主要内容

我们知道, GAN的损失函数到达最优时, \(p_{data}=p_G\), 又倘若对抗样本的分布是脱离于\(p_{data}\)的, 则如果我们能将\(x\)投影到真实数据的分布\(p_{data}\)(如果最优也就是\(p_G\)), 则我们不就能找到一个防御方法了吗?

对于每一个样本, 首先初始化\(R\)个随机种子\(z_0^{(1)}, \ldots, z_0^{(R)}\), 对每一个种子, 利用梯度下降(\(L\)步)以求最小化

\[\tag{DGAN}
\min \quad \|G(z)-x\|_2^2,
\]

其中\(G(z)\)为利用训练样本训练的生成器.

得到\(R\)个点\(z_*^{(1)},\ldots, z_*^{(R)}\), 设使得(DGAN)最小的为\(z^*\), 以及\(\hat{x} = G(z^*)\), 则\(\hat{x}\)就是我们要的, 样本\(x\)在普通样本数据中的投影. 将\(\hat{x}\)喂入网络, 判断其类别.

另外, 作者还在实验中说明, 可以直接用\(\|G(z^*)-x\|_2^2 \frac{<}{>} \theta\) 来判断是否是对抗样本, 并计算AUC指标, 结果不错.

注: 这个方法, 利用梯度方法更新的难处在于, \(x \rightarrow \hat{x}\)这一过程, 包含了\(L\)步的内循环, 如果直接反向传梯度会造成梯度爆炸或者消失.

DEFENSE-GAN: PROTECTING CLASSIFIERS AGAINST ADVERSARIAL ATTACKS USING GENERATIVE MODELS的更多相关文章

  1. Mind the Box: $\ell_1$-APGD for Sparse Adversarial Attacks on Image Classifiers

    目录 概 主要内容 Croce F. and Hein M. Mind the box: \(\ell_1\)-APGD for sparse adversarial attacks on image ...

  2. Defending Adversarial Attacks by Correcting logits

    目录 概 主要内容 实验 Li Y., Xie L., Zhang Y., Zhang R., Wang Y., Tian Q., Defending Adversarial Attacks by C ...

  3. Towards Deep Learning Models Resistant to Adversarial Attacks

    目录 概 主要内容 Note Madry A, Makelov A, Schmidt L, et al. Towards Deep Learning Models Resistant to Adver ...

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

    目录 概 主要内容 符号说明 Original Generator Transfer the Generator Wang X., He K., Guo C., Weinberger K., Hopc ...

  5. 论文阅读 | Real-Time Adversarial Attacks

    摘要 以前的对抗攻击关注于静态输入,这些方法对流输入的目标模型并不适用.攻击者只能通过观察过去样本点在剩余样本点中添加扰动. 这篇文章提出了针对于具有流输入的机器学习模型的实时对抗攻击. 1 介绍 在 ...

  6. KDD 2019放榜!录取率仅14%,强调可重现性

    [导读]KDD 2019录取结果终于放榜了,今年Research和ADS两个 track共评审论文1900篇,其中Research track的录取率只有14%.今年也是KDD第一次采用双盲评审政策, ...

  7. Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks

    目录 概 主要内容 算法 一些有趣的指标 鲁棒性定义 合格的抗干扰机制 Nicolas Papernot, Patrick McDaniel, Xi Wu, Somesh Jha, Ananthram ...

  8. 论文解读(GAN)《Generative Adversarial Networks》

    Paper Information Title:<Generative Adversarial Networks>Authors:Ian J. Goodfellow, Jean Pouge ...

  9. Generative Adversarial Nets[Wasserstein GAN]

    本文来自<Wasserstein GAN>,时间线为2017年1月,本文可以算得上是GAN发展的一个里程碑文献了,其解决了以往GAN训练困难,结果不稳定等问题. 1 引言 本文主要思考的是 ...

随机推荐

  1. cookie规范(RFC6265)翻译

    来源:https://github.com/renaesop/blog/issues/4 RFC 6265 要点翻译 1.简介 本文档定义了HTTP Cookie以及HTTP头的Set-Cookie字 ...

  2. 【swift】用Xib实现自定义警告框(Alert)(安卓叫法:Dialog对话框)

    在写这篇博客前,先感谢两篇博客 [如何自定义的思路]:https://www.cnblogs.com/apprendre-10-28/p/10507794.html [如何绑定Xib并且使用]:htt ...

  3. C++ 继续(3n+1)猜想

    1005 继续(3n+1)猜想 (25分)   卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过 ...

  4. Output of C++ Program | Set 1

    Predict the output of below C++ programs. Question 1 1 // Assume that integers take 4 bytes. 2 #incl ...

  5. Linux学习 - 压缩解压命令

    一." .gz "压缩文件 1 压缩语法 gzip  [文件] 2 解压语法 gunzip  [压缩文件] 3 注 gzip只能压缩文件 gzip不保留原文件 二." . ...

  6. 数据源(Data Source

    数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体.在数据源中存储了所有建立数据库连接的信息.就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数 ...

  7. 什么是maven(一)

    转自博主--一杯凉茶 我记得在搞懂maven之前看了几次重复的maven的教学视频.不知道是自己悟性太低还是怎么滴,就是搞不清楚,现在弄清楚了,基本上入门了.写该篇博文,就是为了帮助那些和我一样对于m ...

  8. C#编程概述(摘抄)

    C#编程概述 一个简单的C#程序 标识符 标识符是一种字符串,用来命名变量.方法.参数和许多后面将要阐述的其他程序结构. 关键字 所有C#关键字都由小写字母组成,但是.NET类型名使用Pascal大小 ...

  9. linux文件属性和系统信息

    文件属性 1.权限 权限指某一个用户针对某个文件所能做的操作 1.权限的种类 可读(r) 可写(w) 可执行(x) 无权限(-) 2.权限位 linux中的权限位分为三个部分,分别是属主.属组和其他人 ...

  10. JavaScript中的NaN

    论装逼我只服NaN 首先这逼自己都不愿意等于自己 console.log(NaN == NaN); // false 这逼够嫌弃自己的 其次这逼本身的意思是非数字就是NaN 然鹅typeof NaN结 ...