本文是一篇软件工程硕士论文,本文的主要研究工作和研究成果总结如下:(1)本文研究了深度学习模型在情感分析领域的脆弱性问题,首先搭建了 CNN,LSTM和Bi-LSTM三种深度学习模型,利用这三种深度学习模型对IMDB,Yelp Review和AG’s News三种数据集进行情感分析,然后设计了一种评分函数算法来寻找影响情感分类结果的重要词语,最后利用这些重要词语的同义词来修改原始文本产生对抗性样本,我们的方法有效地实现了在深度学习模型上的黑盒对抗攻击。
第一章 绪论
1.1 研究背景与意义
随着云计算技术的快速发展,云服务模型 SaaS(Software as a service,软件即服务)服务模式已经逐渐地成为各个公司的首要选择。然而,随着云服务模型 SaaS 服务模式市场需求的不断增多,SaaS 服务提供商之间的竞争也在不断增加。使用深度学习模型对 SaaS 服务的用户评论进行情感分析,根据用户评论的情感极性判断其对 SaaS 服务提供商提供的云服务产品的满意程度,可以为商家更好的挑选 SaaS 服务提供保障。
但近日以来,最新的一些研究指出,深度学习算法虽然在各个领域表现出色,但其本身也面临着很多安全问题。在对抗性环境下,深度学习模型非常容易受到恶意的攻击者的攻击,当将一个输入样本加上十分细微的改动时就可以导致深度学习模型给出一个错误的输出结果。在图像识别中,攻击者通过在原始图片中添加人类不可察觉的扰动,深度学习模型就可以用一个高的置信度对原始图片做出错误的分类结果。以图 1.1 为例,在 2015 年,Goodfellow 通过在一张置信度为 57.7%的原始熊猫图片中添加一些人为精心构造但人眼无法察觉的扰动,深度学习模型却以 99.3%的置信度将其识别为长臂猿。由于这类攻击的目标是让深度学习模型产生误分类,所以把这样的攻击称为对抗攻击,把被深度学习模型识别错误的样本称为对抗样本。
图 1. 1 对抗攻击示意图
..........................
1.2 本文研究内容
深度学习的出现为各个领域中的应用解决了重要的实际问题,例如在自然语言处理[8],计算机视觉[14],语音识别[9]中。深度学习算法的迅速发展离不开它出色的表示能力,它很好的利用了大数据的优势,通过不断的将大量的数据喂入到神经网络中进行训练,可以逐渐地提高深度学习模型的准确性。在机器学习中,当样本的数据量达到一定程度后,模型的效果提升会越来越慢。但深度学习则可以很好地利用大数据的训练。深度学习优秀的网络结构和训练模式让它得到了快速地发展。
但在对抗性环境下,深度学习模型的脆弱性也引起了学者们的担忧。深度学习模型的脆弱性表现在在对抗环境下攻击者恶意地修改一些数据后,就可以使得深度学习模型对新构造的样本产生错误的分类结果,这会让深度学习模型在进行不管是图像识别还是情感分析的时候的准确性迅速降低。深度学习模型在进行训练的时候利用了大量的参数,从而使得深度学习模型的复杂度很高,这也就是为什么当攻击者对原始输入数据增加一点微小的变动的时候,深度学习模型的输出准确率就会迅速降低,深度学习模型的这种不稳定性是在追求高准确率的同时也必须关注的问题。由于 LSTM,Bi-LSTM 和 CNN 这三种深度学习模型在情感分析领域中的脆弱性还未被研究过,因此为了更好地探究这三种深度学习模型在情感分析领域的脆弱性问题,本文将在这三个模型上进行对抗攻击和对抗防御实验,通过探究三种深度学习模型不稳定性的原因,明确当前模型存在的缺点,研究出有效的对抗攻击方法来产生对抗样本,同时在对抗防御上,针对目前的对抗攻击方法研究出有效的对抗防御方法来增强深度学习模型的鲁棒性。通过在这三个模型上进行实验,也可以对比出随着深度学习模型的复杂度提升,深度学习模型在情感分析领域中的脆弱性如何变化。LSTM 是深度学习模型中应用最广泛的一个模型,LSTM 模型是由 RNN 模型发展而来,它的出现是为了解决 RNN 长期依赖的问题,LSTM 的出现很好的弥补了 RNN 的这个缺陷[60]。Bi-LSTM 是为了解决传统的 RNN和 LSTM 模型中信息只能向前传播的缺点而提出的一个深度学习模型,它是通过一个向前传播的 LSTM 模型与一个向后传播的 LSTM 模型组合而成的一个深度学习模型。CNN 卷积神经网络很早就被提出,但是由于当时没有足够多的训练数据和计算机性能的低下,因此它一直没有得到人们的关注和研究,但随着当今社会互联网上数据量的不断增多,计算机性能的不断增长,CNN 在图像识别和情感分析领域中得到了广泛的应用并取得了优秀的成绩。
...............................
第二章 相关工作概述
2.1 前言
本文的主要工作内容是研究对抗环境下深度学习模型在情感分析领域的脆弱性问题,目前深度学习在对抗攻击下的脆弱性问题已经成为了情感分析领域的首要威胁,因此引起了学者们极大的关注和担忧。为了进一步探究深度学习在情感分析领域的脆弱性,许多研究者从对抗攻击和对抗防御两个方面对情感分析领域中的深度学习进行了深入研究,并且提出了一系列的对抗攻击和对抗防御方法。前人在对抗环境下对情感分析和对抗攻击和对抗防御三个方面做了许多值得借鉴的工作,这些工作对本文研究的内容具有参考和启发意义。
在九十年代后期,神经网络就被提出,然而研究者们对它失去了兴趣,主要是因为研究者们认为它仅适用于“浅”神经网络[15]。但是,在过去的几年时间里,由于大数据和人工智能技术的飞速发展,深度学习的发展也取得了巨大的成功。深度学习可以取得如此大的成功可以归结于许多因素,主要包括:由于硬件的进步获得了计算机的高速计算能力,大数据的快速发展给深度学习带来了大量的训练数据等。深度学习是人工智能领域中一个重要的研究方向,它的学习和训练过程与人脑类似,它的工作原理是搭建一系列连续的神经网络,然后在大量的训练样本中学习数据的特征,最后利用损失函数不断调整预测值和真实值之间的差距来提高分类准确性[16]。深度学习复杂的内部结构使得深度学习可以处理非常复杂的任务,这也是最近几年深度学习一直受到社会各界研究者推崇的原因。
...............................
2.2情感分析
2.2.1 基于情感词典的情感分析
情感分析或者观点挖掘是人们对产品,服务,主题,事件,组织及其属性等实体的观点,情感,评估和态度的研究[3]。情感分析的发展主要经历了三个发展阶段:第一个发展阶段是基于情感词典的研究方法,该方法是利用样本中的情感词语构建情感词典,通过计算收集到的样本中情感词的情感分值来分析用户评论情感极性[17]。由于情感词典需要大量的人力来构建,并且词汇的更新速度快,所以情感词典需要不断地更新,并且情感词的情感极性会随着上下文的改变而改变,同一情感词的情感极性可能会根据评价主体的不同而产生不同的结果[18]。所以,现在已经很少用情感词典去进行情感分析了。
2.2.2基于机器学习的情感分析
第二个发展阶段是基于机器学习的研究方法,基于机器学习的研究方法是在训练数据上进行标记,接着利用机器学习模型对标记好的数据进行训练,从而得出该训练数据的情感倾向。Pang 等人首次提出了采用机器学习算法来处理情感分类任务,他们提出了三种机器学习模型,有朴素贝叶斯,支持向量机,和最大熵,实验结果证实了机器学习中的这三种方法进行情感分析时具有很好的效果[19]。Niu 等人提出了一种改进版朴素贝叶斯算法,他们在新模型中通过推荐一系列有用的方法来选择特征词,确定权重后对情感任务进行分类[20]。Celikyilmaz 等人提出了一种基于语音的词聚类方法,该方法使用混合模型方法来生成情感词,随后将这个情感词用作分类模型的指示符[21]。
图 2. 1 深度学习训练过程
....................................
第三章 基于同义词替换的文本对抗攻击 ................................. 15
3.1 基本概述 .................................. 15
3.2 问题定义 ................................... 15
3.3 对抗攻击方法 ......................................... 16
第四章 基于对抗训练的对抗防御方法 .................................... 34
4.1 基本概述 ..................................... 34
4.2 对抗性训练定义 ........................................ 35
4.3 实验结果与分析 ......................................... 36
第五章 总结与展望 .......................... 40
5.1 总结 ........................................ 40
5.2 展望 ...................................... 41
第四章 基于对抗训练的对抗防御方法
4.1 基本概述
在对抗环境下,攻击者不断地提出新的对抗攻击方法来产生对抗性样本,从而对深度学习模