Intriguing properties of neural network(Box-constrained L-BFGS)
论文简述
本篇论文首先提出了对抗样本(Adversarial example)的概念,找出神经网络的盲点,为之后对抗攻击系列奠定下基础。本文提出了两个神经网络的反直觉属性:
- there is no distinction between individual high level units and random linear combinations of high level units,it is the space that contains the semantic information。(神经网络中独立的高层激活单元和这些单元的随机线性组合在语义分析方面是无差别的,是这些单元的空间关系包含着语义信息) --unit-level
- deep neural networks learn input-output mappings that are fairly discontinuous to a significant extent(深层网络的输入输出映射是相当的不连续的),因此可以通过最大化预测误差,产生不易察觉的扰动,使网络误分类。且同样的扰动能使不同数据集训练的网络,不同结构、超参数的网络均产生误分类。–global,network level
semantic meaning of individual units
先前工作
传统的计算机视觉系统依赖特征提取,且单个特征都易于解释,所以就很容易将特征空间中的坐标元与输入域关联。类比,在分析神经网络时,将隐单元的激活视为有意义的特征,因此会去寻求能够最大化激活单个特征的输入图像。
这里的ei是指自然基向量(0,…,0,1,0,…,0),也就是说图像x’最突出地反映了ei分量所在的神经元代表的语义特征。
作者观点
而作者取随机单位矢量v,也可以认为是多个基向量的线性组合,这样找到的图像集合具有类似的可解释性语义特征。所以,作者认为在检验 φ(x)性能时,自然基向量的表现并不比随机向量好,是整个的激活空间,而不是单个的激活单元,包含了大量的语义信息。
此处,借鉴了word representation(the various directions in the vector space representing the words are shown to give rise to a surprisingly rich semantic encoding of relations and analogies,the vector representations are stable up to a rotation of the space)。
验证方法
- 以前发现使用特定类型的输入能够使某些基向量实现最大激活,因此认为这些基单元的激活能够独立去体现图像的某个语义特征。
- 然而作者用实验说明,即使是随机向量也能够达到类似的效果,所以基单元跟随机向量的地位是一样的,所以不能认为基单元具有特殊性,那这个时候,就是整个空间,向量间的关系起到了对图像特征提取的作用。
- (作者是逆向进行的,给定激活,去寻找能够最大激活的图像,然后总结这些图像共有的语义信息,便认为该激活表示这个语义信息)
思考
- 如果基向量也是具有冗余性质的向量,整个隐层激活空间是可以降维的,我们并没有完全将其实现单个特征的对应,如果将空间降维,那么此时通过本文方法找到的语义信息,会不会就是该层最基本的语义信息呢
- 此外,这篇论文的验证方法也是通过人去判别特征,如果神经网络不是按照这种方式定义基本语义特征呢
adversarial example
简述
- 在探测深层神经网络对于微小扰动的稳定性时,发现通过最大化预测错误来优化输入图像,产生的不易察觉的扰动会改变测试图像的分类,且这些对抗样本具有鲁棒性。
- 对抗样本的存在在某种程度上推翻了光滑性假设(相似的样本应该以很高的概率被判为同一类别)
先前工作
在此之前,人们认为神经网络输入与输出之间的高度非线性使得其对输入空间的非局部泛化先验进行编码的方式,也即学习到的是全局特征(不变性),直观上讲,默认局部泛化是起作用的。
生成方式
- 本节的出发点在于增强模型鲁棒性和判别能力等,先前都是通过输入图像的变形,但这些变形与原图像的分布是相同的,所以是低效的。
- 采用的优化方法同hard-negative mining原理相似,本文要选取的是false negative,本应是高概率样本,却被判定为低概率样本,将其重新贴标签并送入网络训练,从而增强模型的鲁棒性
- 在此过程中发现了对抗样本,也即找到了产生误分类的最小扰动,并将其拿去训练,从而提高模型的判别能力
将被误检测的样本打上相反的标记再用作训练样本的过程即为hard-negative mining。
对于目标检测中我们会事先标记处ground truth,然后在算法中会生成一系列proposal,这些proposal有跟标记的ground truth重合的,也有没重合的,那么重合度(IOU)超过一定阈值(通常0.5)的则认定为是正样本,以下的则是负样本,然后扔进网络中训练。
然而,这也许会出现一个问题那就是正样本的数量远远小于负样本,这样训练出来的分类器的效果总是有限的,会出现许多false positive。
便将其中得分较高的这些false positive(也即更容易当成正样本的负样本)当做所谓的Hard negative,将负样本集中多包含些hard negative,然后把精简后的负样本集再扔进网络训练,从而加强分类器判别假阳性的能力。
- 我们所描述的是一种以有效的方式(通过优化)遍历网络表示的流形,并在输入空间中找到对抗样本的方法。
- 寻求f(x)≠l时的最小扰动。
但上式是个hard problem,所以采用下式来近似该优化问题,并采用 box-constrained L-BFGS的方法来求取最终结果。
将f(x+r)=l的条件转换为lossf(x+r,l)的优化条件,并加了c|r|的惩罚函数。
find the minimum c > 0 for which the minimizer r of the following problem satisfies f(x + r) = l
扰动程度标准:使训练集能达到0准确度的最小平均像素级失真
Av. min. distortion:
实验结果
- 对研究的所有网络,我们都能成功找到难以区分但会误分类的对抗样本
- 跨模型泛化(其他模型产生的对抗样本,也会使该模型的准确度下降,即使与方差更大的高斯噪声进行对比,高斯噪声产生的可读性更差,但准确度却比对抗样本的高,更能说明对抗样本不是简单的随机噪声现象)
- 且还能看出神经网络和AE网络更加稳定些,且AE与其他方式的生成方式有所不同,相互影响力不大
- 跨训练集泛化(效果较跨模型泛化不明显)
不稳定分析
通过衡量每个修正层的幅度来衡量和控制网络的附加稳定性
约束: upper Lipschitz constant
作者给定Lipschitz条件,通过求出Lipschitz常数,根据常数的大小来分析该层的稳定性,常数越大,说明该层结构的改变速度越快,相对稳定性越低。
Lipschitz条件,即利普希茨连续条件(Lipschitz continuity)。其定义为:对于函数f(x),若其任意定义域中的x1,x2,都存在L>0,使得|f(x1)-f(x2)|≤L|x1-x2|,则函数f(x)称为在定义域上满足利普希茨(Lipschitz)条件
每层需满足的upper Lipschitz约束
使得最终的输出满足:
通过计算各类网络层的约束,发现在该条件下,不稳定性主要是由卷积层和全连接层产生的,全连接层的算子范数可以直接由最大奇异值得到,卷积层作者给出了具体的算法,最终结果如下:
因此,可以采用利普希茨连续条件的上确界来约束网络,从而帮助改善网络的常规错误
思考
- 对抗样本的生成是不是因为像GAN的缺点那样,神经网络会根据最终要求偷懒,只选择典型特征或者片面消息,也就是说神经网络里并没有充分学习(类似于人有可能会根据考试要点去选择性记重点,同样的题型换汤不换药可以应对,但一旦遇到细节问题或者没复习到的知识点,就是盲点,就歇菜),从而使得对抗样本产生。
- 所以如果要全面学习,就需要神经网络自己主动寻求知识,外界条件来辅助调整(强化生成??),这样才有可能尽量的全面覆盖
- 为什么对抗样本可以在于原样本很相似的条件下,产生误分类,这个盲点的根本原因,目前常见的解释有:如何看待机器视觉的“对抗样本”问题,其原理是什么? - 翻翻学姐的回答 - 知乎 https://www.zhihu.com/question/49129585/answer/307639891
- 需要补充下相关的知识:link
- np hard problem等及如何作出相应的判断
- L-GBFS牛顿法,拟牛顿法相关内容
- 凸优化函数和非凸优化等(需要以后仔细研究)
- autoencoder
- upper Lipschitz constant