Towards Evaluating the Robustnes

2020-04-08  本文已影响0人  馒头and花卷

Nicholas Carlini, David Wagner, Towards Evaluating the Robustness of Neural Networks

提出了在不同范数下\ell_0, \ell_2, \ell_{\infty}下生成adversarial samples的方法, 实验证明此类方法很有效.

主要内容

基本的概念

本文主要针对多分类问题, 假设神经网络F:x \in \mathbb{R}^n \rightarrow y \in \mathbb{R}^m, 其网络参数为\theta.

假设:
F(x)=\mathrm{softmax}(Z(x))=y,
其中\mathrm{softmax}(x)_i=\frac{e^{x_i}}{\sum_j e^{x_j}}.

C(x) = \arg \max_i F(x)_i,
x的预测类, 不妨设C^*(x)为其真实的类别.

Adversarial samples 的目标就是构建一个与x相差无几的x'(\|x-x'\|足够小),但是C(x')\not =C^*(x). 很多构建Adversarial samples可以指定类别:

文章中介绍了不少现有的方法, 这里不多赘述.

目标函数

一般可以通过如下问题求解x'=x+\delta:
\begin{array}{ll} \min & \mathcal{D}(x, x+\delta) \\ \mathrm{s.t.} & C(x+\delta)=t \\ & x + \delta \in [0, 1]^n, \end{array}
其中\mathcal{D}衡量x,x+\delta之间的距离, 常常为\ell_0, \ell_2, \ell_{\infty}.

但是C(x+\delta)=t这个条件离散, 这个问题很难直接求解, 作者给出的思路是构造一些函数f(x,t), 使得当且仅当f(x,t)\le0的时候此条件满足.
则问题转换为:
\begin{array}{ll} \min & \mathcal{D}(x, x+\delta) \\ \mathrm{s.t.} & f(x,t) \le 0 \\ & x + \delta \in [0, 1]^n, \end{array}
进一步
\begin{array}{ll} \min & \mathcal{D}(x, x+\delta) + cf(x,t) \\ \mathrm{s.t.} & x + \delta \in [0, 1]^n. \end{array}
作者给出了7种符合此类条件的函数(作者尤为推荐第6种):

在这里插入图片描述

如何选择c

binary search

如何应对Box约束

图片的元素需要满足0\le x_i \le 1, 如何满足此约束:

L_2 attack

\min \quad \|\frac{1}{2}(\tanh(w)+1)-x\|_2^2+c\cdot f(\frac{1}{2}(\tanh(w)+1), t),
其中
f(x',t)=\max(\max \{Z(x')_i:i \not =t\}-Z(x')_t, -\kappa),
是对第6种方法的一个小改进, 其中\kappa反应了我们对误判发生的信心.

L_0 attack

因为L_0范数不可微, 所以每一次, 我们先利用L_2 attack来寻找合适的\delta, 令g=\nabla f(x+\delta), 根据g_i \delta_i判断每个像素点的重要性, 最不重要的我们删去(根据文中的意思是永久删去).

在利用L_2寻找\delta的过程中, 若失败, 令c=2c并重复进行, 直到其成功或者超过了最大的迭代次数.

L_{\infty} attack

\|\delta\|_{\infty}作为惩罚项(?)只会针对个别元素, 这在实际实验的时候并不友好, 往往会出现振荡, 于是作者想了一种替代
\min \quad c \cdot f( x+ \delta) + \sum_i [(\delta_i-\tau)^+],
这样我们就把可以关注部分突出而非个别.

上一篇下一篇

猜你喜欢

热点阅读