Practical Black-Box Attacks against Machine Learning
@article{papernot2017practical,
title={Practical Black-Box Attacks against Machine Learning},
author={Papernot, Nicolas and Mcdaniel, Patrick and Goodfellow, Ian and Jha, Somesh and Celik, Z Berkay and Swami, Ananthram},
pages={506--519},
year={2017}}
概
Adversarial samples 构造策略中的black-box策略. black-box attacks, 即不依赖所针对的神经网络\(O\)的参数(像FGSM需要关于样本求导), 不依赖训练\(O\)所需的样本.
主要内容
算法为:
策略如下, 我们现在仅有一个黑盒般的神经网络\(O\), 我们喂入一个样本\(x\)就会有一个输出, 记\(\tilde{O}(x)\)为对应的预测的类, 即
\]
其中\(O_j(x)\)是概率向量\(O(x)\)的第\(j\)个元素.
我们构造一个新的神经网络\(S\), 以期望训练\(S\)使得\(S\)和\(O\)二者的分类边界近似. 因为没有训练样本, 一种想法是人工生成训练样本(随机生成是可以预料到的方法, 但是这种方法作者说不好).
Jacobian-based Dataset Augmentation
假设有一批最开始的样本(可以是找的少量训练样本, 或者随机生成的样本), 设为\(S_0\), 将这批样本畏入\(O\)获得对应的样本标签(虽然可能是误判, 我们的目的是拟合\(O\)),
\]
再将这批数据喂入\(S\)训练\(S\), 现在我们需要更新\(S_0\):
\]
其中\(J_F[\tilde{O}(x)]\)表示\(\tilde{O}(x)\)关于\(x\)的导数(这个idea应该是中FGSM中来的, 比较Goodfellow是联合作者).
后续的数据的更新是类似的.
现在假设我们已经训练好了\(S\), 我们需要在\(S\)的基础上构造adversarial samples, 这些作者直接借鉴了部分关于white-box的工作(FGSM等), 我们只需利用white-box attacks 去欺骗\(S\)即可.
Note
- 网络结构, 比如网络的层数, 训练时的epoch等等对结果的影响有限.
- white-box 方法选择对结果的影响有限.
- 该方法可以扩展到除DNN以外的机器学习上, 比如逻辑斯蒂回归(决策树似乎也可, 但是没找到怎么实现的方案).
- 为了提高网络的稳定性, 我们可以在训练的时候加入adversarial samples, 但是作者发现, 最好是在\(\epsilon\)(输入摄动)较大但有限的adversarial samples 上训练比较好.
Practical Black-Box Attacks against Machine Learning的更多相关文章
- (转)Is attacking machine learning easier than defending it?
转自:http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier- ...
- Federated Machine Learning: Concept and Applications
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Qiang Yang, Yang Liu, Tianjian Chen, and Yongxin Tong. 2019. Federate ...
- Practical Machine Learning For The Uninitiated
Practical Machine Learning For The Uninitiated Last fall when I took on ShippingEasy's machine learn ...
- Lessons learned developing a practical large scale machine learning system
原文:http://googleresearch.blogspot.jp/2010/04/lessons-learned-developing-practical.html Lessons learn ...
- How do I learn machine learning?
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644 How Can I Learn X? ...
- How do I learn mathematics for machine learning?
https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning How do I learn mathematics f ...
- [C5] Andrew Ng - Structuring Machine Learning Projects
About this Course You will learn how to build a successful machine learning project. If you aspire t ...
- [C2P1] Andrew Ng - Machine Learning
About this Course Machine learning is the science of getting computers to act without being explicit ...
- [C2P2] Andrew Ng - Machine Learning
##Linear Regression with One Variable Linear regression predicts a real-valued output based on an in ...
随机推荐
- 零基础学习java------day15--------collections用法,比较器,Set(TreeSet,TreeMap),异常
1. Collections用法 Collections: 集合的工具类public static <T> void sort(List<T> list) 排序,升序publi ...
- git stash命令及提交指定文件
一.git stash命令 常用git stash命令: (1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stas ...
- 利用extern共享全局变量
方法: 在xxx.h中利用extern关键字声明全局变量 extern int a; 在xxx.cpp中#include<xxx.h> 再定义 int a; 赋不赋初值无所谓,之后该全局变 ...
- 【分布式】Zookeeper伪集群安装部署
zookeeper:伪集群安装部署 只有一台linux主机,但却想要模拟搭建一套zookeeper集群的环境.可以使用伪集群模式来搭建.伪集群模式本质上就是在一个linux操作系统里面启动多个zook ...
- vue引入d3
单页面使用 cnpm install d3 --save-dev 指定版本安装 cnpm install d3@6.3.1 -S <script> import * as d3 from ...
- entfrm开发平台,一个免费开源可视化的无代码开发平台
简介 entfrm开发平台,是一个以模块化为核心的无代码开发平台,是一个集PC和APP快速开发.系统管理.运维监控.开发工具.OAuth2授权.可视化数据源管理与数据构建.API动态生成与统计.工作流 ...
- OpenStack之二: 安装OpenStack的yum源及相关组件
#: 在所有节点执行 [root@localhost ~]# yum install centos-release-openstack-stein -y #: 安装相关组件(只在管理端和计算几点安装) ...
- Maven配置大全
maven项目打jar包(带依赖) <build> <plugins> <plugin> <artifactId>maven-assembly-plug ...
- CDN服务的含义
CDN的全称是Content Delivery Network,即内容分发网络.CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全 ...
- Service Worker的应用
Service Worker的应用 Service worker本质上充当Web应用程序.浏览器与网络(可用时)之间的代理服务器,这个API旨在创建有效的离线体验,它会拦截网络请求并根据网络是否可用来 ...