Hu S, Yu T, Guo C, et al. A New Defense Against Adversarial Images: Turning a Weakness into a Strength[C]. neural information processing systems, 2019: 1633-1644.

@article{hu2019a,

title={A New Defense Against Adversarial Images: Turning a Weakness into a Strength},

author={Hu, Shengyuan and Yu, Tao and Guo, Chuan and Chao, Weilun and Weinberger, Kilian Q},

pages={1633--1644},

year={2019}}

代码.

本文介绍了一种检测是否为adversarial sample的defense.

主要内容

准则1

一般的CNN网络, 抗干扰(随机噪声)的能力是很强的, 这说明, 数据分布应当是如下图一样, \(x\)(其类别为\(A\)) 的周围的点大部分类别仍为\(A\), 落入\(B,C,D\)需要一些更强的干扰(如gradient-based adversaries).



这启发了作者, 采样\(\epsilon \sim \mathcal{N}(0, \sigma^2I)\), 比较

\[\Delta = \| h(\mathbf{x}) - h(\mathbf{x}+\epsilon)\|_1,
\]

其中\(h(\cdot)\)为网络, 其输出为概率向量, 显然\(\Delta\)越大, 说明\(x\)对随机噪声的抗干扰能力不强, 说明\(x\)越有可能是adversarial sample.

准则2

同样如上图, 可以发现, 普通的样本往往落在分类边界周围, 所以利用adversaries 可以很容易(表现为迭代次数少)就能将其转移到另外的类别区域中去, 相反的, adversarial samples往往落在分类区域内部, 所以如果我们将adversarial samples移动到别的区域是不容易的(表现为需要更多的迭代次数).

所以, 假设将\(x\)移动到别的区域内的最少迭代次数为\(K\), \(K\)越大越有可能是adversarial samples. 由于攻击分为untarget, target所以, 所以作者也将准则2细分为C2(t/u)

总策略

有了\((\Delta,K_t,K_u)\), 当其中任何一个大于(分别)\((t_{C1}, t_{C2t},t_{C2u})\)时, 我们就认为\(x\)是一个adversarial sample, 其中\((t_{C1}, t_{C2t},t_{C2u})\)是认为设置的阈值.

注: 这俩个直觉还是挺有趣的, 只是感觉很难实用, 毕竟这些指标不仅是依赖于网络本身, 对干净数据也是一个挑战.

A New Defense Against Adversarial Images: Turning a Weakness into a Strength的更多相关文章

  1. Limitations of the Lipschitz constant as a defense against adversarial examples

    目录 概 主要内容 Huster T., Chiang C. J. and Chadha R. Limitations of the lipschitz constant as a defense a ...

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

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

  3. (转)Awesome Knowledge Distillation

    Awesome Knowledge Distillation 2018-07-19 10:38:40  Reference:https://github.com/dkozlov/awesome-kno ...

  4. (转)Is attacking machine learning easier than defending it?

    转自:http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier- ...

  5. Adversarial Defense by Restricting the Hidden Space of Deep Neural Networks

    目录 概 主要内容 Mustafa A., Khan S., Hayat M., Goecke R., Shen J., Shao L., Adversarial Defense by Restric ...

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

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

  7. Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples

    目录 概 主要内容 Obfuscated Gradients BPDA 特例 一般情形 EOT Reparameterization 具体的案例 Thermometer encoding Input ...

  8. Automysqlbackup: WARNING: Turning off multicore support, since pigz isn’t there.

    在使用Automysqlbackup备份MySQL时,有时候你会在邮件里面看见"WARNING: Turning off multicore support, since pigz isn' ...

  9. StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记

    StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks  本文将利 ...

随机推荐

  1. Slay 全场!Erda 首次亮相 GopherChina 大会

    来源|尔达 Erda 公众号 相关视频:https://www.bilibili.com/video/BV1MV411x7Gm 2021 年 6 月 26 日,GopherChina 大会准时亮相北京 ...

  2. Linux后台启动服务

    systemctl 启动/关闭/启用/禁用服务 总结 启动服务 systemctl start test.service 关闭服务 systemctl stop test.service 重启服务 s ...

  3. 【Linux】【Problems】在fedora 9上解决依赖问题

    summary: 在32bit的fedora9上安装EMC客户端遇到无法解决的依赖问题 detail: rpm 安装: [root@hcszmons02 tmp]# rpm -ivh lgtoclnt ...

  4. ASP.NET管道模型简析

    我相信在第一次听到这个名词时,有的小伙伴会一脸懵,而且还有很多疑问,其实我在第一次接触这个概念时跟很多小伙伴一样一脸懵. 接下来我将以我自己的理解来讲述什么是管道模型. 什么是管道模型 首先有没有小伙 ...

  5. Mysql的基操

    创建一个数据库   (myschool是数据库名) create database myschool; 删除数据库 drop database myschool 创建一个表:(Student是 表名) ...

  6. xtra+binlog增量备份脚本

    目录 一.备份原理 innobackupex原理 binlog原理 特点 备份策略 二.环境准备 开启binlog 创建授权用户 安装innobackupex 三.添加脚本 全量备份 增量备份 bin ...

  7. MySQL如何把varchar类型字段转换成int类型进行倒叙排序

    SELECT * FROM sheet2 t1 WHERE t1.`金额`+'0' ORDER BY t1.`金额` DESC;

  8. react功能实现-组件创建

    这里主要从两个角度来分析创建一个组件需要怎么做,一个是元素,一个是数据.整理向,大量借鉴,非原创. 1.渲染组件. 我们先明确一点,所有的元素都必须通过render方法来输出渲染.所有,每个组件类最终 ...

  9. [BUUCTF]REVERSE——[V&N2020 公开赛]strangeCpp

    [V&N2020 公开赛]strangeCpp 附加 步骤 查壳,无壳,64位程序 64位ida载入,没有main函数,根据程序里的字符串,去查看函数 __int64 __fastcall s ...

  10. 对QuerySet的理解

    1. 如何通过Django的Model操作数据库? 在Django的Model中,QuerySet是一个很重要的概念.因为我们同数据库的所有查询以及更新交互都是通过它来完成的. 2. Django的M ...