Ma X, Li B, Wang Y, et al. Characterizing Adversarial Subspaces Using Local Intrinsic Dimensionality[J]. arXiv: Learning, 2018.

@article{ma2018characterizing,

title={Characterizing Adversarial Subspaces Using Local Intrinsic Dimensionality},

author={Ma, Xingjun and Li, Bo and Wang, Yisen and Erfani, Sarah M and Wijewickrema, Sudanthi and Houle, Michael E and Schoenebeck, Grant and Song, Dawn and Bailey, James},

journal={arXiv: Learning},

year={2018}}

本文介绍了一种local intrinsic dimensionality(LID)的指标用以揭示普通样本和对抗样本的本质区别, 这个指标可以用用来进行防御(即在样本进来的时候, 提前预判其是否是对抗样本).

主要内容

已有的一些用来区分普通样本和对抗样本的方法, 诸如KD(核密度估计) 和 BU(贝叶斯不确定度, 这个不是很了解), 但是其效果不明显, 本文提出的LID指标能够在各方面胜过他们.

比如在下图中, KM(k均值距离: 取样本\(x\)到最近的k个样本的距离的平均), 以及核密度估计(KD), 在普通样本和对抗样本上的指标是一致的, 此时无法判断, 而本文的LID的方法却能够判断(LID越大越偏离普通样本).

LID

由一个点为中心, 向外以超距体的方式发散, 其体积\(V\)与边长\(r\)的关系可知

\[\frac{V_2}{V_1} = (\frac{r_2}{r_1})^m \rightarrow m= \frac{\log (V_2/V_1)}{ \log (r_2 / r_1)},
\]

其中\(m\)为维度.

于是有人就想出把这种思想推广到一般的数据(数据的分布可能是一个低维的流形)

定义(LID): 给定样本\(x \in \mathcal{X}\), 令\(R >0\)表示\(x\)到其它样本的距离的随机变量, 并用\(F(r)\)表示概率\(P(R\le r)\), 且假设其关于\(r>0\)连续可微, 则在\(x\)点的距离为\(r\)的LID定义为

\[\tag{2}
\mathrm{LID}_F(r) := \lim_{\epsilon \rightarrow 0} \frac{\log (F((1+\epsilon)\cdot r) / F(r))}{\log (1+\epsilon)}=\frac{r\cdot F'(r)}{F(r)},
\]

若极限存在.

注: 最后一个等式成立, 只需中间式子上下同除以\(\epsilon\)再分别取极限即可(既然二者的极限都存在).

最后,

\[\tag{3}
\mathrm{LID}_F := \lim_{r \rightarrow 0} \mathrm{LID}_F(r).
\]

此即位我们最后要的LID(\(r \rightarrow 0\)是因为我们关注的是局部信息).

LID估计

\[\tag{4}
\widehat{\mathrm{LID}}(x)= - (\frac{1}{k} \sum_{i=1}^k \log \frac{r_i(x)}{r_k(x)})^{-1}.
\]

算法

作者为了利用LID区分对抗样本, 训练了一个分类器. 在预先训练好的网络\(H\)上, 对每一个样本, 第i层的输出为\(H^i(x)\), 对每一层的输出, 我们都计算其LID(这一步会用到别的训练数据)并保存下来. 利用这些提取出来的特征(LID), 训练二分类器(作者采用逻辑斯蒂回归).

实验

1

作者首先分析了, 普通样本(normal), 噪声样本(noisy), 对抗样本(adv)的LID指标, 可以发现,LID对对抗样本很敏感, 下面右图分析了在不同层中提取出来的LID值用于区分对抗样本的成功率.

2

比较了不同方法 KD, BU, KD+BU, LID在不同数据下, 对利用不同攻击方法生成的对抗样本进行区分的效果(途中的指标为AUC, AUC指标越大越好)

3

作者在FGM上计算LID并训练分类器, 再用别的方法生成对抗样本, 再测试效果.

4

作者为了探究每一个batch的大小, 以及超参数\(k\)的影响, 做了实验, 显然batch size大一点比较好.

5

作者最小化下式生成对抗样本,

结果这些样本不能够欺骗过LID.

注: 已经别的文章指出, 其成功的原因在于破坏了梯度, 更改一下损失函数就能攻破.

CHARACTERIZING ADVERSARIAL SUBSPACES USING LOCAL INTRINSIC DIMENSIONALITY的更多相关文章

  1. Adversarial Detection methods

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

  2. KDD2015,Accepted Papers

    Accepted Papers by Session Research Session RT01: Social and Graphs 1Tuesday 10:20 am–12:00 pm | Lev ...

  3. 壁虎书8 Dimensionality Reduction

    many Machine Learning problems involve thousands or even millions of features for each training inst ...

  4. 降维工具箱drtool

    工具箱下载:http://leelab.googlecode.com/svn/trunk/apps/drtoolbox/ ——————————————————————————————————————— ...

  5. matlab 降维工具 转载【https://blog.csdn.net/tarim/article/details/51253536】

    降维工具箱drtool   这个工具箱的主页如下,现在的最新版本是2013.3.21更新,版本v0.8.1b http://homepage.tudelft.nl/19j49/Matlab_Toolb ...

  6. t-SNE完整笔记

    http://www.datakit.cn/blog/2017/02/05/t_sne_full.html t-SNE(t-distributed stochastic neighbor embedd ...

  7. Context Encoder论文及代码解读

    经过秋招和毕业论文的折磨,提交完论文終稿的那一刻总算觉得有多余的时间来搞自己的事情. 研究论文做的是图像修复相关,这里对基于深度学习的图像修复方面的论文和代码进行整理,也算是研究生方向有一个比较好的结 ...

  8. 100 Most Popular Machine Learning Video Talks

    100 Most Popular Machine Learning Video Talks 26971 views, 1:00:45,  Gaussian Process Basics, David ...

  9. 理解 t-SNE (Python)

    t-SNE(t-distribution Stochastic Neighbor Embedding)是目前最为流行的高维数据的降维算法. t-SNE 成立的前提基于这样的一个假设:我们现实世界观察到 ...

随机推荐

  1. Redis | 第11章 服务器的复制《Redis设计与实现》

    目录 前言 1. 旧版复制功能的实现 1.1 同步与命令传播 1.2 旧版复制功能的缺陷 2. 新版复制功能的实现 2.1 部分重同步的实现原理 3. PSYNC 命令的实现 4. 复制的详细步骤 4 ...

  2. ES6必知,变量的结构赋值。

    对象和数组时 Javascript 中最常用的两种数据结构,由于 JSON 数据格式的普及,二者已经成为 Javascript 语言中特别重要的一部分. 在编码过程中,我们经常定义许多对象和数组,然后 ...

  3. spring注解-自动装配

    Spring利用依赖注入(DI)完成对IOC容器中中各个组件的依赖关系赋值 一.@Autowired 默认优先按照类型去容器中找对应的组件(applicationContext.getBean(Boo ...

  4. redis 之 哨兵

    #:编译安装redis4.0 [root@master ~]# tar xf redis-4.0.14.tar.gz [root@master ~]# cd redis-4.0.14/ [root@m ...

  5. 3.2 go WaitGroup代码示例

    sync.WaitGroup提供了一种安全的多协程处理方法,内部使用race.atomic来处理,避免了资源竞争及锁的产生. 主要的方法有Add.Done.Wait,可以等待一组协程全部执行完毕后,主 ...

  6. JS - 获取当前的时间,并且转换成年 - 月 - 日格式!

    先获取当前时间,并转换成年月日格式! function getNowFormatDate() { var date = new Date(); var seperator1 = "-&quo ...

  7. python中的虚拟环境(在jupyter和pycharm中的使用)

    1.通过anaconda新建虚拟环境 创建虚拟环境:conda create -n your_env_name python=3.6 激活虚拟环境:activate your_env_name(虚拟环 ...

  8. 前端浅谈---协议相关(TCP连接)

    TCP连接 http的描述里面,我弱化了交互过程的描述,因为它相对复杂.所以我在此单独描述.客户端和服务端传递数据时过程相对谨慎和复杂,主要是开始和结束的过程.而这整个过程就是TCP连接.连接流程大体 ...

  9. [BUUCTF]PWN——[V&N2020 公开赛]warmup

    [V&N2020 公开赛]warmup 附件 步骤: 例行检查,64位程序,除了canary,其他保护都开 本地运行一下,看看大概的情况 64位ida载入,从main函数开始看程序 看到程序将 ...

  10. CF34A Reconnaissance 2 题解

    Content 有 \(n\) 士兵站成一个环,第 \(i\) 个士兵的身高为 \(h_i\),试求两个士兵身高差最小的两个人的编号,如果有多组解,输出任意一组即可. 数据范围:\(2\leqslan ...