Tsiligkaridis T., Roberts J. Second Order Optimization for Adversarial Robustness and Interpretability. arXiv preprint axXiv 2009.04923, 2020.

也算是一种对抗训练吧, 有区别的是构造对抗样本的方式, 以及用的是惩罚项而非仅用对抗样本训练.

主要内容

考虑干净样本\(x\)和扰动\(v\), 则我们自然希望

\[\tag{*}
\min_{\theta} \max_{\|v\|\le \epsilon} \ell(x+v;\theta)- \ell(x),
\]

其中\(\ell\)是分类损失. 注意到右端项的二阶近似为

\[\tag{3}
Q(v;x):= \nabla_x \ell(x) \cdot v + \frac{1}{2} v^T \nabla_x \ell(x) v.
\]

故我们可以转而优化此近似项. 当然, 一般的AT方法是用project gradient去逼近右端项, 假设前者

\[\tag{4}
v_Q = \arg \max_{\|v\|_p \le \epsilon} Q(v;x),
\]

后者

\[v_A = \arg \max_{\|v\|_p \le \epsilon} \ell (x+v).
\]

那么二者的差距有下面的定理保证

说实话, 这个定理没多大意义.

如果单纯优化(*)没法带来精度, 所以构造一个正则化项

\[\min_{\theta} \mathbb{E}_{x\sim \mathcal{D}} [\ell(x)+r \cdot \ell_Q(x)],
\]

其中\(\ell_Q(x)=\ell(x+v_Q)-\ell(x)\).

注: 有一个疑问, 按照道理\(r \in (0, 1)\), 可是论文的实验是\((0.5, 1.5)\), 而且有几个实验挑了的确大于1, 这不就意味着需要\(\min (1-r)\ell(x)\), 这不就让分类变差了?

(4)式的求解

作者利用Frank-Wofle (FW) 去求解(4)式, 即

\[\tag{7}
\left \{
\begin{array}{l}
s^k := \arg \max_{\|s\|_p\le \epsilon} \: s \cdot \nabla_v Q(v^k)\\
v^{k+1} := (1-\gamma^k) v^k + \gamma^k s^k,
\end{array} \right.
\]

其中\(v^k=\frac{2}{k+2}\), \(v^0=\epsilon g/\|g\|_p, \: g=\nabla_x \ell(x)\). (7)式的第一步式可以显示求解的

\[\tag{8}
s^k=P_{FW}(v^k;p)=\alpha \cdot \mathrm{sgn} (\nabla_v Q(v^k)_i) |\nabla_v Q(v^k)_i|^{p/q},
\]

其中\(\alpha\)使得\(\|s^k\|_p=\epsilon\), \(|x|^m\)是逐项的.

因为

\[\tag{9}
\nabla_x Q(v) = \nabla_x \ell(x) + \nabla^2_x \ell(x)v,
\]

而计算hessian矩阵需要大量的计算, 故采用差分逼近

FE:

\[\tag{10}
\nabla_x^2 \ell(x)v \approx \frac{\nabla_x \ell(x+hv)-\nabla_x \ell(x)]}{h},
\]

CD:

\[\tag{11}
\nabla_x^2 \ell(x)v \approx \frac{\nabla_x \ell(x+hv)-\nabla_x \ell(x-h)]}{2h}.
\]

超参数

\((h, r)\).

CIFAR10:

\(L_2\): FE(3): (1.15, 1.05) , CD(3): (0.95, 0.999);

\(L_{\infty}\): FE(3): (1.05, 1.05), CD(3): (0.95, 1.15).

Second Order Optimization for Adversarial Robustness and Interpretability的更多相关文章

  1. Improving Adversarial Robustness via Channel-Wise Activation Suppressing

    目录 概 主要内容 代码 Bai Y., Zeng Y., Jiang Y., Xia S., Ma X., Wang Y. Improving adversarial robustness via ...

  2. Improving Adversarial Robustness Using Proxy Distributions

    目录 概 主要内容 proxy distribution 如何利用构造的数据 Sehwag V., Mahloujifar S., Handina T., Dai S., Xiang C., Chia ...

  3. Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks

    目录 概 主要内容 Auto-PGD Momentum Step Size 损失函数 AutoAttack Croce F. & Hein M. Reliable evaluation of ...

  4. Certified Adversarial Robustness via Randomized Smoothing

    目录 概 主要内容 定理1 代码 Cohen J., Rosenfeld E., Kolter J. Certified Adversarial Robustness via Randomized S ...

  5. IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES

    目录 概 主要内容 符号 MART Wang Y, Zou D, Yi J, et al. Improving Adversarial Robustness Requires Revisiting M ...

  6. 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 ...

  7. Adversarial Detection methods

    目录 Kernel Density (KD) Local Intrinsic Dimensionality (LID) Gaussian Discriminant Analysis (GDA) Gau ...

  8. Research Guide: Pruning Techniques for Neural Networks

    Research Guide: Pruning Techniques for Neural Networks 2019-11-15 20:16:54 Original: https://heartbe ...

  9. ICLR 2013 International Conference on Learning Representations深度学习论文papers

    ICLR 2013 International Conference on Learning Representations May 02 - 04, 2013, Scottsdale, Arizon ...

随机推荐

  1. 虚拟机中安装centos系统的详细过程

    linux-centos的安装 检查电脑是否开启虚拟化,只有开启虚拟化才能安装虚拟机 新建虚拟机 鼠标点进去,选中红框所示,回车 登录: 输入默认用户名(超级管理员 root) 密码:安装时设置的密码

  2. 【Reverse】DLL注入

    DLL注入就是将dll粘贴到指定的进程空间中,通过dll状态触发目标事件 DLL注入的大概流程 https://uploader.shimo.im/f/CXFwwkEH6FPM0rtT.png!thu ...

  3. 通信方案软件设计(环形动态申请内存,支持USART+IIC+SPI+CAN协议

    1 <STM32进阶之串口环形缓冲区实现>中讲得比较清楚(链接) 2 amobbs中讲的方法有点复杂,以下是链接和参考源码: 通信方案软件设计(环形动态申请内存,支持USART+IIC+S ...

  4. An internal error occurred during: “Updating Maven Project”. Unsupported IClasspathEntry kind=4解决办法

    An internal error occurred during: "Updating Maven Project". Unsupported IClasspathEntry k ...

  5. recyclerView DiffUtil使用

    DiffUtil是和RecyclerView一块用的,DiffUtil用来比较两个数据集,他的最大用处是在RecyclerView刷新时,不在无脑. 以前adapter.notifyDataSetCh ...

  6. vue2 页面路由

    vue官方文档 src/views/Login.vue <template> <div> <h2>登录页</h2> </div> </ ...

  7. UNIX基本命令

    ### 1. 必学命令 help [子命令] : 查看某一个具体的子命令的使用方法### 2. 常用命令 - cd path : 将当前路径切换到path路径 - pwd : 查看当前所在路径 - l ...

  8. FindUserByPageServlet

    package com.hopetesting.web.servlet;import com.hopetesting.domain.PageBean;import com.hopetesting.do ...

  9. EntityFramework Core (一)记一次 .net core 使用 ef 6

    使用传统的sql去操作数据库虽然思路更加清晰,对每一步数据库读写操作都能监控到,但是对大数据存储,或存储规则复杂的程序就需要编写大量的SQL语句且不易维护..orm大大方便了复杂的数据库读写操作, 让 ...

  10. Springboot 入门及Demo

    一:SpringBoot入门1.1:SpringBoot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的 ...