RIPGeo参文27—30(关于参数扰动):克服模型脆弱性问题

RIPGeo中有:

(参数扰动)训练目标对应于最小化:

虽然上述高斯扰动可能会缓解不可靠的测量问题,但以往的研究发现,通过随机噪声和随机增强的标准各向同性平滑(standard isotropic smoothing往往使预测器特别容易受到特定方向[27],[28]的小扰动的影响。事实上,训练样本的质量会显著影响学习性能。(这是在说加入扰动的好)

[27] C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow, and R. Fergus, “Intriguing properties of neural networks,” in ICLR, 2014.

[28] I. J. Goodfellow, J. Shlens, and C. Szegedy, “Explaining and harnessing adversarial examples,” in ICLR, 2015.


[27] 神经网络的有趣特性

这篇文章在2014年发表,ICLR ,作者阵容极其强大。

论文地址:https://arxiv.org/abs/1312.6199v4

一. Abstract and Introduction

因为强大的表现能力,深度神经网络在各个领域都取得了state-of-the-art的表现,但是其学习到的特征往往是反直觉特性的(counter-intuitive)和无法解释的(uninterpretable)。这篇文章对此做出了解释:

1、神经网络如何表示语义信息?

在神经网络的高层中,包含语义信息的是整个空间,而不是某个单元。

(利用unit analysis可以发现独立的高级单元与这些高级单元的随机线性组合之间没有区别)

2、神经网络对输入中的微小扰动的稳定性如何?

神经网络学习的输入-输出映射是相当不连续的,增加某些难以感知的扰动(imperceptible perturbation)就可以使网络产生错误的分类。

带有扰动的输入被称为对抗样本(adversarial examples)。(这些扰动可以通过最大化网络的预测误差来获得)

3、对抗样本的鲁棒性很强

对抗样本并不是学习过程中的随机产物。(即使一个不同的网络在不同的数据子集上训练,同样的扰动依然会导致错误分类)

二. 如何证明神经网络的单个神经元不足以表示语义信息?

其中, x 表示输入图像, ϕ(x) 表示某一层的激活函数值, I 表示未经训练的数据分布的图像集, e_{i} 是与第 i 个隐藏单元关联的自然基向量。在之前的一些计算机视觉的方法中,认为单个神经元表示着单个特征,可以通过最大化单个神经元的激活值来寻找特征。

但是,如果对某一隐藏层的所有神经元线性加权后,再进行最大化激活,同样也能表示出类似的语义特征。

其中, v 表示任意的随机方向。

作者在MNIST数据集上得到的实验结果:

我们使用在MNIST上训练的卷积神经网络评估了上述主张。我们将MNIST测试集用于 I 。图1显示了在自然基础上最大化激活的图像,图2显示了在随机方向上最大化激活的图像。 在这两种情况下,生成的图像都有许多高级相似之处。因此,并不是单个的神经元包含了语义信息。

三. 神经网络中的盲点Blind Spots —— 寻找Adversarial Examples

以上所用的单位级别(unit-level inspection)的检查方法不足以解释神经网络的复杂的表示,因此,这篇文章考虑使用全局网络级别(global network level inspection)的检查方法来解释输入-输出映射。

1、神经网络存在盲点

神经网络的输出层单元是其输入的高度非线性函数。比如,对于分类问题,使用交叉熵损失,相当于用神经网络来计算输入图像对应类别的条件分布,可以理解为神经网络在对输入空间的非局部泛化先验(non-local generalization prior)进行编码。也就是说,输出层单元为输入空间中不存在训练样本的周围区域分配一个不重要的概率。但这些区域可以从不同的角度表示相同的对象,只是这些不同角度下的对象不经常出现而已,它们与训练集中的那些对象虽然在像素上距离很远,但是依然与训练集中的输入共享标签和统计结构。

在这种假设下,如果给定一个很小的半径 \epsilon > 0 和输入样本 x ,对于满足x+r,\left \| r \right \|< \epsilon的输入样本依然有机会被正确的分类。这种平滑先验通常对计算机视觉问题是有效的,即给图像细微扰动通常不会改变它本来的类别。

但是对于深层神经网络,这篇文章的得到的结果是上述的平滑假设并不成立。并且可以通过简单的优化过程找到对抗样本(对正确分类的输入图像进行不明显的微小扰动),让神经网络不能再正确分类。

2、寻找对抗样本的思路

很多计算机视觉方法采取输入变形来增加模型的鲁棒性和收敛性。但是,对抗样本是低概率高维度的“pockets” ,在给定的输入样本中进行简单的随机采样是很难有效发现这些“pockets” 的,因为对于给定的样本往往是高度相关的,也就是说,整个模型训练过程都是从相同的分布中得出的。

计算机视觉中,hard-negative mining是为了识别出那些训练集样本(被模型赋予了较低的概率,但是实际应该为高概率),然后强调这些样本,更改训练集分布,再执行训练。这篇文章在寻找对抗样本的过程中,也是接近这种思想,提出了一种自适应方案,利用了模型和训练数据周围的局部空间建模中的缺陷。

3、公式化描述

其中, loss_{f}为损失函数,l为错误分类的类别( f(x+r)=l,f(x)\neq l), c 为惩罚参数用于控制\left | r \right | 。这个问题可以用box-constrained L-BFGS方法来求解。

4、实验结果(具体详见原文)

 

(a)若干网络结构都可以用上述方法生成对抗样本;对于我们研究的所有网络(MNIST,QuocNet,AlexNet),对于每个样本,我们都能生成非常接近、在视觉上难以区分的对抗样本,这些样本被上述网络错误分类。

(b)对抗样本具有跨模型的泛化能力—— A、B 两个模型的结构相同,超参数不同,在 A 上生成的对抗样本也能够让 B 错误分类;

(c)对抗样本具有跨数据的泛化能力—— D1、D2 为数据集 D 的不同子集,各自用不同模型训练,在 D1 上生成的对抗样本在 D2 上也有效。

四. 讨论

我们证明了深度神经网络在单个单元的语义含义和不连续性方面都具有违反直觉的属性。 对抗性负面因素的存在似乎与该网络实现高泛化性能的能力相矛盾。的确,如果网络能够很好地推广,那么如何将这些对抗性的否定与常规的例子区分开来呢?可能的解释是,对抗性否定集的可能性极低,因此从未(或很少)在测试集中观察到,但是它很密集(很像有理数),因此几乎在每个测试用例中都可以找到它。但是,我们对对抗性否定出现的频率没有深刻的了解,因此应该在以后的研究中解决这个问题

五. 总结

(1)使用Box-constrained L-BFGS能够找到对抗样本

(2)在很多数据集中(如ImageNet),对抗样本和原始样本的差别非常小,人眼不可分别

(3)可移植性:对于同一个对抗样本,哪怕不同的分类器使用了不同的结构和训练集,也都会(有很大的可能)将这个对抗样本错误分类

(4)浅层的softmax回归模型对对抗样本也很脆弱

(5)在对抗样本上训练能够正则化模型,但是在实际应用中代价高昂


[28] (FGSM)Explaining and harnessing adversarial examples

这篇文章在2015年发表,,ICLR ,作者阵容极其强大。提出了经典的攻击方法— FGSM(Fast Gradient Sign Method),第1-5节为重点部分,包括原文第5节的公式推导。

论文地址:https://arxiv.org/abs/1412.6572

在这篇论文中,Goodfellow等人对现有的工作进行了一个全面的总结,更重要的是,这篇论文:

(1)解释了神经网络对干扰表现脆弱的原因是神经网络的线性(而早期的解释是对抗样本的原因是非线性和过拟合)。

(2)论文中设计了一种快速生成adversarial examples的方法(Fast Gradient Sign Method),这个方法被之后的工作所广泛采用。

一. 对抗扰动

寻找对抗样本的目标是:

(1)模型将其错误分类;(2)人眼无法分辨对抗扰动。

已知对抗样本 \tilde{x} 的公式为:

其中,x为干净样本/原始样本/自然样本,\eta为对抗扰动。需要对扰动加以限制以保证扰动小得难以被人眼识别:\left \| \eta \right \|_{\propto }< \varepsilon这个约束表示:图片中每个像素点的扰动范围必须小于 \varepsilon

L-infinity norm:||x||∞=max(|xi|),其中 x_{i} 向量x 中的元素。

二. 线性模型

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值