Towards Deep Learning Models Resistant to Adversarial Attacks
@article{madry2017towards,
title={Towards Deep Learning Models Resistant to Adversarial Attacks.},
author={Madry, Aleksander and Makelov, Aleksandar and Schmidt, Ludwig and Tsipras, Dimitris and Vladu, Adrian},
journal={arXiv: Machine Learning},
year={2017}}
概
利用特定的方法产生"坏"样本(Adversarial samples), 以此来促进网络的稳定性是当下的热点之一, 本文以实验为主, 比较PGD( projected gradient descent) 和 FGSM(fast gradient sign method)在不同数据下的表现, 以及由普通样本产生"坏"样本会出现的一些现象.
主要内容
Adversarial attacks 主要聚焦于下列问题:
\min_{\theta} \rho (\theta) \quad where \quad \rho(\theta) =\mathbb{E}_{(x,y)\sim D}[\max_{\delta \in S} L(\theta, x+\delta, y)].
\]
其中\(S\)是我们指定的摄动集合, 直接一点就是\(|\delta| <constant\)之类.
通过FGSM产生"坏"样本:
\]
这个思想是很直接的(从线性感知器谈起, 具体看here).
PGD的思路是, 给定摄动集\(S\), 比如小于某个常数的摄动(e.g. \(\{\tilde{x}:\|x-\tilde{x}\|_{\infty}<c\}\)), 多次迭代寻找合适的adversarial samples:
\]
其中\(\prod\)表示投影算子, 假设\(S=\{\tilde{x}:\|x-\tilde{x}\|_{\infty}<c\}\),
\]
实际上, 可以分开讨论第\((i,j)\)个元素, \(y:=(x^t + \alpha \: \mathrm{sgn} (\nabla_x L(\theta,x, y))\), 只需找到\(z_{ij}\)使得
\]
最小即可. 此时有显示解为:
\left \{
\begin{array}{ll}
x_{ij} +c & y_{ij} > x_{ij}+c \\
x_{ij} -c & y_{ij} < x_{ij}-c \\
y_{ij} & else.
\end{array} \right.
\]
简而言之就是一个截断.
重复几次, 至到\(x^t\)被判断的类别与初始的\(x\)不同或者达到最大迭代次数.
Note
- 如果我们训练网络能够免疫PGD的攻击, 那么其也能很大一部分其它的攻击.
- FGSM对抗训练不能提高网络的稳定性(在摄动较大的时候).
- weak models may fail to learn non-trival classfiers.
- 网络越强(参数等程度)训练出来的稳定性越好, 同时可转移(指adversarial samples 在多个网络中被误判)会变差.
Towards Deep Learning Models Resistant to Adversarial Attacks的更多相关文章
- How to Grid Search Hyperparameters for Deep Learning Models in Python With Keras
Hyperparameter optimization is a big part of deep learning. The reason is that neural networks are n ...
- a Javascript library for training Deep Learning models
w强化算法和数学,来迎接机器学习.神经网络. http://cs.stanford.edu/people/karpathy/convnetjs/ ConvNetJS is a Javascript l ...
- Run Your Tensorflow Deep Learning Models on Google AI
People commonly tend to put much effort on hyperparameter tuning and training while using Tensoflow& ...
- What are some good books/papers for learning deep learning?
What's the most effective way to get started with deep learning? 29 Answers Yoshua Bengio, ...
- (转) Awesome Deep Learning
Awesome Deep Learning Table of Contents Free Online Books Courses Videos and Lectures Papers Tutori ...
- (转)分布式深度学习系统构建 简介 Distributed Deep Learning
HOME ABOUT CONTACT SUBSCRIBE VIA RSS DEEP LEARNING FOR ENTERPRISE Distributed Deep Learning, Part ...
- The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near
The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near ...
- Paper Reading——LEMNA:Explaining Deep Learning based Security Applications
Motivation: The lack of transparency of the deep learning models creates key barriers to establishi ...
- Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week1, Assignment(Regularization)
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Regularization Welcome to the second assignment of this week. Deep ...
随机推荐
- day06 模板层
day06 模板层 今日内容 常用语法 模板语法传值 模板语法之过滤器 模板语法之标签 自定义过滤器.标签.inclusion_tag(BBS作业用一次) 模板的继承(django前后端结合 那么使用 ...
- Scala(三)【函数式编程】
目录 一.方法和函数 1.方法 1)基本语法 2)简化原则 3)方法参数 2.函数 3.方法和函数的区别 二.高阶函数 三.匿名函数 四.柯里化 五.闭包 一.方法和函数 1.方法 1)基本语法 de ...
- linux系统下命令的学习
本博客是本人工作时做的笔记 ps aux |grep ^profile |grep A190200024 ^ 表示行首匹配 linux查看文件大小: 具体可查看:https://www.cnblogs ...
- Spring AOP通过注解的方式设置切面和切入点
切面相当于一个功能的某一个类,切入点是这个类的某部分和需要额外执行的其他代码块,这两者是多对多的关系,在代码块处指定执行的条件. Aspect1.java package com.yh.aop.sch ...
- JSP常见的状态码
1.404错误 -- 找不到访问的页面或资源 a.URL输入错误: b.未部署项目. 2.500错误 -- JSP页面代码有错误 3.302状态码+200状态码 -- 重定向 4.200状态码 -- ...
- 【JavaWeb】【学习】【过滤器】Filter 的简单应用
实现效果 在编辑框中输入暗号:如果暗号正确,则跳转到正确页面:如果暗号错误,则跳转到错误界面. [入口界面] [错误界面] [成功界面] [项目结构] JSP文件 本练习有两个jsp页面 页面1:in ...
- RocketMQ架构原理解析(三):消息索引
一.概述 "索引"一种数据结构,帮助我们快速定位.查询数据 前文我们梳理了消息在Commit Log文件的存储过程,讨论了消息的落盘策略,然而仅仅通过Commit Log存储消息是 ...
- Nginx支持php
目录 一.简介 二.配置 三.测试 四.参数 一.简介 Nginx本身只能解析html文件,但有些网页是php写的,就需要Nginx连接php,将网页解析成html再发给客户端. 配置中将.php 结 ...
- java多线程6:ReentrantLock
下面看下JUC包下的一大并发神器ReentrantLock,是一个可重入的互斥锁,具有比synchronized更为强大的功能. ReentrantLock基本用法 先来看一下ReentrantLoc ...
- thinkphp or查询
$map['source'] = array(array('eq',0),array('eq',1), 'or'); $this->model->where($map)