Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks
概
作者改进了PGD攻击方法, 并糅合了不同种类的攻击方法于一体, 使得AA的估计更为有效可靠. 特别是不需要调参.
主要内容
Auto-PGD
Auto-PGD, 其最大的改进的地方就是不需要调节参数(其实作者自己调得比较好啦). 普通的PGD:
\]
其中\(P\)是投影算子, \(\eta\) 是学习率, \(f\)是损失函数.
Momentum
x^{(k+1)} = P_S(x^{(k)}+\alpha \cdot (z^{(k+1)}-x^{(k)})+(1-\alpha) \cdot (x^{(k)}-x^{(k-1)})).
\]
注: 作者选择 \(\alpha=0.75\)
Step Size
首先确定总的迭代次数\(N_{iter}\), 然后确定一些检查的结点\(w_0=0, w_1, \cdots, w_n\), 在每一个检查结点检查如下条件
\(\sum_{i={w_{i-1}}}^{w_{i}-1} 1_{f(x^{(i+1)}> f(x^{(i)}))}< \rho \cdot (w_j - w_{j-1})\);
\(\eta^{w_{j-1}}\equiv \eta^{w_j}\) and \(f_{max}^{(w_{j-1})}\equiv f_{max}^{(w_j)}.\)
其中\(f_{max}^{(k)}\)是前\(k\)个结点前的最高的函数值, 若其中条件之一满足, 则对之后的迭代的学习率减半, 即
\]
注: 学习率\(\eta^{(0)}=2\epsilon\).
- 条件1是为了检查这一阶段的迭代是否有效(即损失是否升高的次数), 这里作者选择\(\rho=0.75\);
- 条件二如果成立了, 说明这一阶段相较于之前的阶段并没有提升, 所以需要减半学习率.
注: 一旦学习率减半了, 作者会令\(x^{(w_j+1)}:=x_{max}\), 从最好的结果处restart.
剩下一个问题是, 如何选择\(w_i\), 作者采取如下方案
p_{j+1} = p_j + \max \{p_j - p_{j-1} - 0.03, 0.06\}, p_0=0, p_1=0.22.
\]
损失函数
一般来说, 大家用的是交叉熵, 即
\]
其梯度为
\]
若\(p_y\)比较接近于\(1\), 也就是说分类的置信度比较高, 则会导致梯度消失, 而置信度可以单纯通过\(h=\alpha g\)来提高, 即这个损失对scale是敏感的. 替代的损失使用DLR损失
\]
其中\(\pi_i\)是按照从大到小的一个序. 这个损失就能避免scale的影响, 同时还有一个target版本
\]
AutoAttack
AutoAttack糅合了不同的攻击方法:
- \(\mathrm{APGD_{CE}}\)
- \(\mathrm{APGD_{DLR}}\)
- \(\mathrm{FAB}\)
- \(\mathrm{Square \: Attack}\): black-box
Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks的更多相关文章
- Improving Adversarial Robustness via Channel-Wise Activation Suppressing
目录 概 主要内容 代码 Bai Y., Zeng Y., Jiang Y., Xia S., Ma X., Wang Y. Improving adversarial robustness via ...
- Improving Adversarial Robustness Using Proxy Distributions
目录 概 主要内容 proxy distribution 如何利用构造的数据 Sehwag V., Mahloujifar S., Handina T., Dai S., Xiang C., Chia ...
- Second Order Optimization for Adversarial Robustness and Interpretability
目录 概 主要内容 (4)式的求解 超参数 Tsiligkaridis T., Roberts J. Second Order Optimization for Adversarial Robustn ...
- Certified Adversarial Robustness via Randomized Smoothing
目录 概 主要内容 定理1 代码 Cohen J., Rosenfeld E., Kolter J. Certified Adversarial Robustness via Randomized S ...
- IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES
目录 概 主要内容 符号 MART Wang Y, Zou D, Yi J, et al. Improving Adversarial Robustness Requires Revisiting M ...
- Inherent Adversarial Robustness of Deep Spiking Neural Networks: Effects of Discrete Input Encoding and Non-Linear Activations
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2003.10399v2 [cs.CV] 23 Jul 2020 ECCV 2020 1 https://github.com ...
- Adversarial Detection methods
目录 Kernel Density (KD) Local Intrinsic Dimensionality (LID) Gaussian Discriminant Analysis (GDA) Gau ...
- 壁虎书7 Ensemble Learning and Random Forests
if you aggregate the predictions of a group of predictors,you will often get better predictions than ...
- 生成对抗网络资源 Adversarial Nets Papers
来源:https://github.com/zhangqianhui/AdversarialNetsPapers AdversarialNetsPapers The classical Papers ...
随机推荐
- Vue 前端配置多级目录实践(基于Nginx配置方式)
前情提要 有阵子没更新博客了,因为快年结了工作比较多,这不,最近公司的对外演示环境出现问题这个活儿也落到了我的头上-- 事情是这样的,原来演示环境有很多服务,每个服务都是对外单独开一个端口,比如 ht ...
- Hive(六)【分区表、分桶表】
目录 一.分区表 1.本质 2.创建分区表 3.加载数据到分区表 4.查看分区 5.增加分区 6.删除分区 7.二级分区 8.分区表和元数据对应得三种方式 9.动态分区 二.分桶表 1.创建分桶表 2 ...
- 练习1--爬取btc论坛的title和相应的url
爬不到此论坛的html源码,应该涉及到反爬技术,以后再来解决,代码如下 import requests from lxml import etree import json class BtcSpid ...
- 利用python爬取城市公交站点
利用python爬取城市公交站点 页面分析 https://guiyang.8684.cn/line1 爬虫 我们利用requests请求,利用BeautifulSoup来解析,获取我们的站点数据.得 ...
- 【leetcode】451. Sort Characters By Frequency
Given a string s, sort it in decreasing order based on the frequency of the characters. The frequenc ...
- 关于mysql自动备份的小方法
目前流行几种备份方式:逻辑备份.物理备份.双机热备份.备份脚本的编写等,本文分别从这些方面总结了MySQL自动备份策略的经验和技巧,一起来看看. 目前流行几种备份方式: 一.逻辑备份:使用mysql自 ...
- LVS nat模型+dr模型
nat模型 在 rs1 和 rs2 安装httpd 并配置测试页,启动 [root@rs1 ~]# yum install httpd -y[root@rs1 ~]# echo "thi ...
- Spring Boot下使用JSP页面
一.创建webapp目录 在src/main下创建webapp目录,用于存放jsp文件.这就是一个普通的目录,无需执行Mark Directory As 二.创建jsp 1.指定web资源目录 在sp ...
- 【力扣】337. 打家劫舍 III
在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为"根". 除了"根"之外,每栋房子有且只有一个" ...
- 玩转 Mockjs,前端也能跑的很溜
mockjs作用就是,生成随机模拟数据,拦截 ajax 请求,可以对数据进行增删改查.在生成数据时,我们就需要能够熟练使用 mock.js 的语法. Mockjs 的语法规范包括两部分:数据模板定 ...