基于深度学习的图像识别问题中对抗样本的研究

2019-12-10 09:48王家
电脑知识与技术 2019年28期
关键词:图像分类深度学习

王家

摘要:神经网络在分类问题中表现出色。但最近研究表明,如果在原有输入数据上叠加一个很小的噪声,分类的效果就会受到严重干扰。本文主要研究基于FGS算法,针对图像分类问题生成对抗样本的原理与方法,该方法测试数据集上的测试表明,加入噪点后的任意图片所生成的对抗样本,能以99%以上的置信度被识别为我们指定的类别。

关键词:图像分类;对抗样本;深度学习

中图分类号:TP18        文献标识码:A

文章编号:1009-3044(2019)28-0222-02

1 引言

近几年,人工智能的发展特别是神经网络技术的突飞猛进,使用神经网络来解决分类问题也越加成熟。使用神经网络的来解决分类在很多生产生活场景中会被使用到,如自动驾驶汽车,人脸识别验证。但是随着研究的深入发现在已有的数据中故意加入细微的干扰,就可以让一个本来分类正确率很高的神经网络模型出现错误的分类。

因此,如何有效地对神经网络系统的安全性做检测和验证成了重要的研究课题[1]。此前,研究人员已经发现,同过现有的技术无法在关键应用中相信神经网络,直到能够理解为什么会发生上述问题或如何解决它。想象一下在手机登录验证中使用的人脸识别技术被用户被人照片骗过的情况,都是由于其神经网络误分类了输入图像而造成的。

2 神经网络与对抗样本

神经网络又被称为人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。

对抗样本(Adversarial Examples)是指在数据集中通过故意添加细微的干扰所形成输入样本,受干扰之后的输入数据将导致模型以高置信度给出了一个错误的输出。本文主要研究针对图像分类问题如何生成干扰样本,从而能够让图像分类问题出现错误的分类结果。

常见的威胁模型分为3类:白盒模型,黑盒模型,和转移模型。白盒模型中,攻击者可以利用网络结构和参数的所有知识产生攻击;黑盒模型中,攻击者可以利用对模型的询问得到输入输出对,但无法获知模型内部信息;转移模型中,攻击者不能向模型发起查询请求,对模型内部信息也不知情,但了解模型所要解决的具体问题是什么。

3 设计概览

3.1 图像分类模型

在研究对抗样本之前,我们需要确定作为图像分类神经网络。因为现在有各种不同的神经网络模型都能够解决分类的问题,同时也有根据不同的训练集作为训练神经网络参数的数据。

本文选择了Inception v3模型作为神经网络模型,同时基于大型图像数据库ImageNet中的数据对模型进行训练。Inception v3模型大约有2500万个参数,分类一张图像就用了50亿的乘加指令。在一台没有GPU的现代PC上,分类一张图像转眼就能完成。

Inception模型的输出是softmax函数, softmax输出有时也称为概率分布(probabilities),因为它介于0到1之间,所有结果的概率相加为一,与概率分布相同。但它们并不是传统语义上的概率分布,因为并不是由重复试验得来。

使用Inception对已知的图片进行分类,下图为输入的猴子的图片和分类的结果。

在上面的分类中, Inception模型将我们给出的猴子的图片,在猕猴类型上给出了很高的分数—85.33%,叶猴的评分为2.07%,可以从结果看出Inception图像分类模型,在图像分类问题上有很不错的表现。

3.2  算法描述

本文将使用FGS方法来生成针对神经网络图像分类的对抗样本。FGS快速梯度符号方法是生成对抗样本的方法之一[2]。其核心是让输入图像 x∈Rm朝着类别置信度降低的方向移动,令x∈Rm是输入图像,y 是输入 x 对应的类标签,η是模型参数,ε是步长,J(θ, x,y) 是所选的超参数, ?Jx(θ, x,y)是训练神经网络的损失函数, θ是损失函数的偏导数。我们可以在当前值θ附近对损失函数线性化得到干扰的最大范数限制:

4 实验方法与评测

4.1 实验的目标

实验的目标是研究如何针对神经网络结构的图像分类器寻找对抗样本的方法。研究预先设置了图片的一个错误分类结果,对抗样本会使神经网络误分类任何输入图像为预设的错误分类结果。

4.2 实验的方法

通过简向输入图像添加小部分“特定”噪声图片的方式。人类在观察对抗样本图片时不会觉察到这些变化,但它却能骗过Inception模型神经网络,让Inception模型给出的分类是错误的类别。

首先使用Inception模型图片分类网络,然后修改 Inception模型的结构,来寻找可以引起Inception模型誤分类输入图像的对抗样本。在下面的流程图中,我们在“猴子”的图像上添加了一些噪声,然后作为Inception模型的输入。最终目标是找到使Inception模型将图像误分类成我们目标类型的噪声,我们选择将猴子的图片错误的分类为书柜类型(分类号300)。

它是Inception模型分类噪声图像的性能度量。由于Inception模型是由很多相结合的基本数学运算构造的,使用微分链式法则,TensorFlow让我们很快就能找到损失函数的梯度。

第三步,使用损失函数关于输入图像的梯度,来寻找对抗噪声。要寻找的是那些可以增加'书柜'类别而不是输入图像原始类别的评分(即概率)的噪声。这本质上是用梯度下降法来执行优化的。

新的损失函数找出了要添加到输入图像上的噪声,这样(输入图像)就会被分类到想要的目标型。这个函数本质上是用梯度下降来执行优化。噪声被初始化为零,然后用损失函数关于输入噪声图像的梯度来逐步优化,这样,每次迭代噪声都使分类更接近于想要的目标类型。当分类评分达到要求(比如99%)或者执行了最大迭代次数时,就停止优化。

最后,函数对输入做归一化,则输入值在0.0到1.0之间,这样才能正确地显示出噪声。它先找到对抗噪声,然后画出图像和噪声。这个例子将一张猴子的图作为输入,然后找到对抗噪声,使得Inception模型将图像误分类成一个书架(类别号300)。

噪声界限设为3.0,这表示只允许每个像素颜色在3.0范围内波动。像素颜色在0到255之间,因此3.0的浮动对应大约1.2%的可能范围。这样的少量噪声对人眼是不可见的,因此噪声图像和原始图像看起来基本一致,如下所示。要求评分设为0.99,这表示当目标分类的评分大于等于0.99时,用来寻找对抗噪声的优化器就会停止,这样Inception模型几乎确定了噪声图像展示的是期望的目标类别。

4.3实验的结果

如上所示,猕猴的原始图像与噪声图像看起来几乎一致。人眼无法区分开两张图像。原始图被Inception模型正确地分类成猕猴,评分为85.33%。但噪声图像对猕猴的分类评分是0.00%,对书架的评分是99.66%。

这样,我们糊弄了Inception模型,让它相信一张猴子的图像展示的是一个书架。只是添加了一些“特定的”噪声就导致了这个误分类。注意,上面展示的噪声是被放大数倍的。实际上,噪声只在输入图像每个像素颜色强度的最多1.2%范围内调整图像(假定噪声界限像上面的函数一样设置为3.0)。由于噪声很弱,人类观察不到,但它导致Inception模型完全误分类的输入图像。

5 结束语

文中实现了一种基于白盒模型的深度神经网络对抗样本的生成方法。文中所提出的方法利用对损失函数的梯度下降的优化方法,成功的生成高质量对抗样本。

参考文献:

[1] 孟东宇.黑盒威胁模型下深度学习对抗样本的生成[J].电子设计工程,2018,26(24):164-167,173.

[2] 张思思,左信,刘建伟.深度学习中的对抗样本问题[J].计算机学报,2018(8):1-20.

【通联编辑:唐一东】

猜你喜欢
图像分类深度学习
基于数据挖掘的图像分类算法
基于云计算的图像分类算法
基于锚点建图的半监督分类在遥感图像中的应用
有体验的学习才是有意义的学习
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望