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. Hadoop入门 集群崩溃的处理方法

    目录 集群崩溃的处理方法 搞崩集群 错误示范 正确处理方法 1 回到hadoop的家目录 2 杀死进程 3 删除每个集群的data和logs 4 格式化 5 启动集群 总结 原因分析 集群崩溃的处理方 ...

  2. Android 实现微信QQ分享以及第三方登录

    集成准备 在微信开放平台创建移动应用,输入应用的信息,包括移动应用名称,移动应用简介,移动应用图片信息,点击下一步,选择Android 应用,填写信息提交审核. 获取Appkey 集成[友盟+]SDK ...

  3. OpenStack之六: plancement服务(端口8778)

    官网地址:https://docs.openstack.org/placement/stein/install/install-rdo.html #:创建placement库,并授权 MariaDB ...

  4. Spring Cloud使用

    一.创建提供者工程01-provider-8081 (1) 创建工程 创建一个Spring Initializr工程,并命名为01-provider-8081.导入Lombok.Web.JPA及MyS ...

  5. liunx 安装ActiveMQ 及 spring boot 初步整合 activemq

    源码地址:  https://gitee.com/kevin9401/microservice.git 一.安装 ActiveMQ: 1. 下载 ActiveMQ wget  https://arch ...

  6. [PROC FREQ] 单组率置信区间的计算

    本文链接:https://www.cnblogs.com/snoopy1866/p/15674999.html 利用PROC FREQ过程中的binomial语句可以很方便地计算单组率置信区间,SAS ...

  7. 使用matplotlib中的bar函数绘制柱状图

    使用柱状图显示三日电影的票房信息 要显示的数据为2018年12月7日-9日四场电影的票房信息 四场电影分别为:无名之辈,狗十三,毒液:知名守卫者,憨豆特工3 2018年12月7日四场电影票房分别为:[ ...

  8. Linux下安装中文字体

    目录 一.Centos系列 二.Ubuntu系列 一.Centos系列 1.安装字体库 yum -y install fontconfig 2.添加中文字体,建立存储中文字体的文件夹 mkdir /u ...

  9. HUST-计算机网络实验-socket编程

    随笔---HUST计网实验:socket编程 博主大三在读,第一次写随笔,水平有限,就当记录一下学习的过程,顺便面试前复习项目的时候看看. 实验要求: 编写一个 Web 服务器软件,要求如下: 基本要 ...

  10. 工作簿拆分(Excel代码集团)

    一个工作簿中包括N个工作表,将各个工作表拆分成工作簿. 工作表数量不定,表内内容不限,拆分后保存于当前文件夹内. Sub Sample() Dim MySheetsCount As Long For ...