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 ...
随机推荐
- ssh : connect to host XXX.XXX.XXX.XXX port : 22 connect refused
初学者 写博客 如有不对之处请多多指教 我是要在俩个主机的俩个虚拟机上 用scp (security copy)进行文件远程复制. 但是 终端 提示 ssh : connect to host XXX ...
- 2021广东工业大学十月月赛 F-hnjhd爱序列
题目:GDUTOJ | hnjhd爱序列 (gdutcode.cn) 一开始是用双指针从尾至头遍历,但发现会tle!! 后来朋友@77给出了一种用桶的做法,相当于是用空间换时间了. 其中用到的一个原理 ...
- GO 数字运算
大整数运算 // bigint project main.go package main import ( "fmt" "math" "math/bi ...
- Type of 'this' pointer in C++
In C++, this pointer is passed as a hidden argument to all non-static member function calls. The typ ...
- 封装一个按Key排序的Map工具
Map是集合的存放顺序是按哈希值定的,有时候不是我们需要的,当想要一个按自己规定顺序存放顺序,可以用LinkedHashMap,这里自己把LinkedHashMap封装了一次 package test ...
- 1945-祖安say hello-string
1 #include<bits/stdc++.h> 2 char str[100][40]; 3 char s[1005]; 4 5 int remark[2000][2] = { 0 } ...
- 利用代码覆盖率提高嵌入式软件的可靠性 - VectorCAST
简介 代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程中已检查的程序源代码比例 计算得出.代码覆盖率可以有效避免包含未测试代码的程序被发布. 代码覆盖率能不能提高软件的可靠性?答案是肯定的,代 ...
- python模块(三)
hashilib模块 hashilib模块的主要作用是加密,可以将明文数据通过一系列算法转化为秘闻数据. 目的是为了数据的安全. 加密算法包括md系列,sha系列,base系列,hmac系列. 基本使 ...
- KubeCon 2021|使用 eBPF 代替 iptables 优化服务网格数据面性能
作者 刘旭,腾讯云高级工程师,专注容器云原生领域,有多年大规模 Kubernetes 集群管理及微服务治理经验,现负责腾讯云服务网格 TCM 数据面产品架构设计和研发工作. 引言 目前以 Istio[ ...
- malloc实现
任何一个用过或学过C的人对malloc都不会陌生.大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放 掉.但是,许多程序员对malloc背后的事情并不熟悉,许多人甚 ...