kurffzhou作者

AI 到底是怎么「想」的?

最近,Nature发表了一篇关于深度学习系统被欺骗的新闻文章,该文指出了对抗样本存在的广泛性和深度学习的脆弱性,以及几种可能的解决方法。安全平台部基础研究组自2017年来在对抗样本的生成及防守方法进行了深入研究,在这里团队通过在攻击方面的经验,分享我们对于防守对抗样本的一些思考,欢迎共同讨论。

深度学习在现实生活中的应用越来越广,然而越来越多的例子表明,深度学习系统很容易受到对抗样本的欺骗。那么,AI到底是怎么“想”的?为什么这么容易被骗?

要回答这个问题,我们首先看图片来做个小实验——

图1
  • 图1左图:原始图片(图片来源:ImageNet数据集)

  • 图1中图:局部块保持像素的布局不变,但是整体图像的全局布局改变

  • 图1右图:局部块的像素的布局变化,但是整体图像的全局布局不变

对于这三幅图,神经网络会“认为”图1中图图1右图哪张图片更与图1左图是一致的呢?

毫无疑问,对于人的直觉来说,相对图1中图而言,图1右图更与图1左图一致,因为人类普遍倾向于对整体图像的布局进行识别。

然而我们通过统计实验发现,利用神经网络进行预测,图1中图的预测结果更加倾向于与图1左图的预测结果保持一致。可见,人与机器对图片的识别结果存在较大差异。

为了深入解释这种差异,下文首先对深度学习常用的模型进行简单介绍,再对深度学习模型所学习得到的特征进行可视化来解释深度学习模型在图像方面的优势,并通过相关实验研究深度学习模型到底在“想”什么、学习了什么。

1、深度学习常用模型以及特征可视化

深度学习常用模型之一的Alexnet模型:Alexnet模型通过多层卷积以及max-pooling操作,最后通过全连层得到最后预测结果,通过计算损失L来刻画网络预测结果与我们人工标注类别的差异大小,然后通过计算损失对可学习参数的梯度,通过梯度下降的方式来更新网络的权重,直到损失L下降到网络预测的结果与我们人工标注差异很小时,即神经网络通过对输入图像的层层卷积、max-pooling、全连等操作获得了正确的结果。

图2:Alex网络结构(图片来源:文献9)

我们首先对多种不同类型的网络(AlexNet, ResNet等)的底层卷积核进行可视化,我们发现这些底层特征存在一定的共性:这些网络底层卷积核都在提取梯度、颜色等局部模式,对应图像中边和线等,如图3所示。

图3:神经网络底层卷积核可视化(图片来源:链接11)

为了可视化高层特征,我们通过梯度上升优化目标函数的方式来直观认识高层特征所对应的直观图像。我们首先将图像初始化为0,并通过计算如图4中损失函数对图像的梯度,并不断修改图像像素就会得到图5中的可视化结果。这些图表示,要使得最终某类的分数最大,那么所对应的输入图像应该是什么样子,从图5中可以直观看出大概所属类别洗衣机、键盘、狐狸、鹅、鸵鸟以及轿车。如果我们换一种考虑特征多面性的可视化方法,就可以得到一个更加清晰的可视化图,从中可以更加清晰、直观地看出所属类别不同层次的特征,如图6所示。

图4:神经网络高层特征的使用方法(图片来源:链接11)

图5:高层特征可视化结果(图片来源:文献12)
图6:不同层次特征可视化结果(图片来源:文献13)



2、深度学习模型到底学习了什么?

那么,深度学习模型到底都在学习什么呢?

首先输入一张正常图像,我们通过放大的方式来可视化神经网络看到的模式:首先将原始图片通过神经网络进行计算,得到当前图片的输出结果,然后用梯度上升的方式最大化该输出结果,利用如图4中所使用的方法,最后得到如图8所示的结果。

图7:自然风景图片(图片来源:链接14)

从图中可以看出,神经网络对输入图像中的颜色和纹理进行了语义类别的放大,并产生对应的语义理解。例如,在山的区域,神经网络进行了建筑以及动物的解释,在天空区域有某些海洋生物的解释。但是由于这幅输入图像的这种解释所产生的特征响应并没有达到一定的程度,因此不会影响最后网络的识别,即神经网络不会把山那块区域识别成动物等。

图8:DeepDream结果(图片来源:链接14)

从上述可视化的结果可以看出,神经网络是对纹理颜色等进行了语义的理解,但并没有显著对全局的形状等信息进行了理解,最近一系列工作都表明了这点,例如Geirhos, Robert等人指出,在ImageNet预训练的网络对纹理存在偏向,他们利用实验做了说明:如下图所示:

图9:纹理实验(图片来源:文献2)

第一幅没有任何全局形状的信息,神经网络预测该幅图像为大象,对于第二幅图像预测为猫,对于第三幅图像,神经网络依然预测为大象,尽管人可能会识别出是一只猫,因此从这个对比实验中可以看出,神经网络更倾向于对纹理等信息进行了语义理解。

本文开头的小实验也进一步验证了这个假设:局部纹理的打乱,能够显著破坏神经网络的高层语义理解,但是全局结构的打乱并不能显著破坏神经网络的语义理解。

3、对抗样本生成

那么,一般是如何生成对抗样本呢?主要有两种方法:

1)基于梯度的方法:一般采用类似可视化的方法,只不过优化的目标不同,通过梯度更新的方式使得损失变大,并将生成纹理扰动叠加到原始图像上得到对抗样本。比较常用的方法有FGSM,BIM,基于momentum的方法,基于所有图片的梯度进行平滑的方法UAP,以及我们为了解决黑盒迁移性提出的TAP方法,这类方法速度较慢,一般通过多次迭代得到对抗样本,这类方法简单易扩展到其他任务。

2)基于神经网络对抗样本生成方法:采用神经网络直接输出对抗样本,例如,AdvGAN、ATN等方法。这类方法的速度较快,但由于神经网络参数固定后生成的对抗样本会存在不丰富的问题。

4、如何避免“被骗”?

如Nature新闻中所说,不停的加入对抗样本训练能够获得对对抗样本的鲁棒性吗?我们给出答案是NO。对于对抗训练生成的模型,我们论文中的方法已经实验证明无法扛住低频扰动的对抗样本,文献3通过大量的实验也已证明,NIPS 2017对抗样本挑战赛中所使用的防守方法都无法防住包含低频扰动的对抗样本

此外,底层图像去噪这种方法也是见效甚微。底层图像去噪只能防止高频的噪声的对抗样本,对于低频的噪声的对抗样本也无法完全抵抗。

通过在攻击方面的经验,团队对于对抗样本的防守方法有以下思考:

1)对特征值进行截断限制

神经网络里使用truncated relu这类激活函数,对特征值进行截断处理,防止因为对抗样本造成的特征突变太大,影响网络最终预测结果。

2)设计模型更加关注图像整体结构,而不是纹理特征获得更强的鲁棒性

如Nature新闻中指出的,DNN和符号AI的结合,加入结构化的规则来融合整体的结构信息。

安全平台部公共平台中心基础研究组在对抗样本方面进行了深入的研究,并在计算机视觉顶级会议之一的ECCV 2018上发表对抗样本生成的论文,在NIPS 2017对抗样本挑战赛、极棒上海邀请赛等国内外大赛中均取得优异成绩。欢迎各位对对抗样本生成以及防守感兴趣的同学与我们交流。

参考文献:

1、Zhou, Wen, et al. "Transferable adversarial perturbations." Proceedings of the European Conference on Computer Vision (ECCV). 2018.

2、Geirhos, Robert, et al. "ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness." arXiv preprint arXiv:1811.12231 (2018).

3、Sharma, Yash, Gavin Weiguang Ding, and Marcus Brubaker. "On the Effectiveness of Low Frequency Perturbations." arXiv preprint arXiv:1903.00073 (2019).

4、https://www.nature.com/articles/d41586-019-03013-5

5、Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep con- volutional neural networks. In: Advances in neural information processing systems. (2012) 1097–1105

6、Carlini, N., Wagner, D.: Towards evaluating the robustness of neural networks. arXiv preprint arXiv:1608.04644

7、Dong, Y., Liao, F., Pang, T., Su, H., Zhu, J., Hu, X., Li, J.: Boosting adversar- ial attacks with momentum. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (June 2018)

8、Shumeet Baluja and Ian Fis- cher. Adversarial transformation networks: Learn- ing to generate adversarial examples. arXiv preprint arXiv:1703.09387, 2017

9、Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.

10、http://www.image-net.org

11、http://cs231n.stanford.edu

12、Simonyan K, Vedaldi A, Zisserman A. Deep inside convolutional networks: Visualising image classification models and saliency maps[J]. arXiv preprint arXiv:1312.6034, 2013.

13、Nguyen A, Yosinski J, Clune J. Multifaceted feature visualization: Uncovering the different types of features learned by each neuron in deep neural networks[J]. arXiv preprint arXiv:1602.03616, 2016.

14、https://ai.googleblog.com/2015/06/inceptionism-going-deeper-into-neural.html

腾讯技术工程
腾讯技术工程

腾讯技术工程事业群在机器之心的内容专栏

入门损失函数神经网络对抗样本深度学习
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

Alex网络技术

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

对抗训练技术

对抗训练涉及两个模型的联合训练:一个模型是生成器,学习生成假样本,目标是骗过另一个模型;这另一个模型是判别器,通过对比真实数据学习判别生成器生成样本的真伪,目标是不要被骗。一般而言,两者的目标函数是相反的。

对抗样本技术

对抗样本是一类被设计来混淆机器学习器的样本,它们看上去与真实样本的几乎相同(无法用肉眼分辨),但其中噪声的加入却会导致机器学习模型做出错误的分类判断。

特征可视化技术

用于解决神经网络广受诟病的黑箱问题的方法之一,通过可视化的方法来理解神经网络的运算机理,以解决可解释性问题。

图像去噪技术

图像去噪是从图像中去除噪声的任务,例如,高斯噪声在图像中的应用。

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

推荐文章
暂无评论
暂无评论~