加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 经验 > 正文

百分点认知智能实验室出品:智能问答中的对抗攻击及防御策略

发布时间:2020-05-01 16:19:09 所属栏目:经验 来源:百分点
导读:副标题#e# 深度学习模型应用广泛,但其自身有一定的脆弱性,即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这个过程被称为对模型的对抗攻击。针对对抗攻击的研究,早期集中在图像领域,近几年,文本领域也逐渐增多。2019年,百分点
副标题[/!--empirenews.page--] 深度学习模型应用广泛,但其自身有一定的“脆弱性”,即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这个过程被称为对模型的对抗攻击。针对对抗攻击的研究,早期集中在图像领域,近几年,文本领域也逐渐增多。2019年,百分点从业务实际出发,与北京市科学技术委员会联合主办了数据智能创新应用(DIAC)大赛,聚焦于智能问答中的语义等价问题的对抗攻击。经过一个多月的研究实践,参赛队伍对该任务做了富有成效的探索,在优胜队伍的方案中,数据增强、对抗样本纠错、使用Focal Loss损失函数和基于FGM的对抗训练成为行之有效的策略。

本文作者:陈旭

一、对抗攻击概述

随着近些年深度学习的快速发展,深度神经网络逐渐成为机器学习领域的主流模型,被广泛应用于计算机视觉、自然语言处理等领域,但在研究与应用的同时,人们渐渐发现,深度神经网络具有一定的“脆弱性”。比如,在图像识别中,对模型的输入也就是图像像素值做轻微扰动,这种扰动不会改变图像的实际分类,人也难以觉察,却可能导致模型对图像的分类出错;或者在一段文本的情感分析中,文本中有一个字写错,这个错误不影响人的理解,也不会改变人对这段文本的情感判断,模型却可能判断出错。这类错误一方面会降低人们对系统使用体验的好感度,另一方面可能会造成严重的后果,从而也限制了深度神经网络在一些安全要求很高的场景下的应用。

近几年,人们开始对这一问题展开研究。如前文例子那样,人们精心设计一些样本,模型却判断出错,这个过程就是对抗攻击,这些样本就是对抗样本。通过研究对抗攻击以及相应的防御策略,有助于提高神经网络的鲁棒性和可解释性。

二、文本对抗攻击的主要方法

深度神经网络对抗攻击的研究最早在图像领域展开,现在在文本领域也有了一些相关研究。针对文本的对抗攻击,从不同的角度有不同的分类,常见的有:根据构造对抗样本时基于的信息分为白盒攻击和黑盒攻击;根据错误的输出是否是某个特定的结果,分为定向攻击和非定向攻击;根据改动文本的类型,分为基于字、词和句子的对抗攻击。这里我们主要介绍一下第一种分类。

2.1 白盒攻击

白盒攻击,是指在构造对抗样本的时候,有所要攻击的模型的知识,如模型的结构、参数、权重等。属于白盒攻击的攻击方式有很多种,这里举例介绍其中一种:基于FGSM的方法。例如,对于一个输入样本,一种方法是计算模型的损失对输入向量(对于文本来说,输入向量一般是文本的字向量或词向量)的梯度,然后将梯度量纲最大的维度所属的字定义为“热字”,包含足够多热字并且出现频繁的短语被定义为热短语。然后基于热短语,进行增删改,生成对抗样本。

2.2 黑盒攻击

黑盒攻击与白盒攻击相反,在构造对抗样本的时候,没有所要攻击的模型的知识。如果这个模型能被攻击者使用,则攻击者可以通过不断尝试,修改模型输入,观察模型输出来构造对抗样本。

如果不具备上述条件,但是能够对模型结果定义一个置信度打分函数,则可使用基于重要性的攻击方法。以文本分类为例,对文本中的每个词语,计算将该词语删除或替换为空格前后,文本分到正确类别上置信度分数(比如分到该类别的概率值)的变化量,将这个变化量作为这个词语重要性的分数,变化量越大越重要。然后,对重要性高的词语进行改动。

如果上述条件均不具备,则攻击者通常训练一个替代模型,然后针对替代模型,构造对抗样本,由于对抗样本具有一定可迁移性,可以用这些样本对目标模型进行攻击。在使用替代模型的情况下,构造对抗样本就可以运用白盒攻击中的一些方法。

三、语义等价问题的对抗攻击

2019年,百分点与北京市科委一起主办了数据智能创新应用大赛,大赛聚焦于智能问答中的语义等价问题的对抗攻击,要求参赛者通过研究智能对话的鲁棒性问题进行算法创新,来提高对话系统的“思考能力”和“解决问题”的能力,让机器实现从“听见”到“听懂”,最终提升用户体验感。

在这个过程中,判断两个问题是否语义等价,是基于FAQ的问答系统的核心环节。例如:“市政府管辖哪些部门?”和“哪些部门受到市政府的管辖?”是语义等价的两个问题,后者的答案可以回答前者;而“市政府管辖哪些部门?”和“市长管辖哪些部门?”则为不等价的问题。在问答系统实际使用中,用户问的一个问题可能和知识库中问题语义等价,但用户的问题表述方式和用词多样,有的会出现不影响理解的多字、少字、错字、语气词、停顿等;有的问题则和知识库里的问题字面上很相近,但由于关键信息的不同,二者语义并不完全等价。如果针对第一种情况,系统仍然能判断为等价,第二种情况能判断为不等价,则能较好地保证用户的使用体验。

如本文第一节所述,对抗攻击是指对模型的输入样本作微小改动,这个改动不影响样本的真实输出(如真实类别),但对应的模型输出改变的过程。在这里,我们对这个概念稍作扩展,将对输入作微小改动,使得输出由正确变为错误的,都认为是对抗攻击。

两个问题原本是不等价的,大多数情况,这两个问题字面上就相差比较大,经过微小改动,往往仍然是不等价的,而且模型预测结果也不容易出错,所以对抗样本的构造没有涉及这种情况,而是针对两个问题原本等价的情况进行,这种情况又分改动以后仍然等价和不等价两种情况。

由于对抗样本的构造过程中,没有待攻击的模型的信息,因此这里对抗样本的构造是个黑盒攻击的过程。我们利用比赛训练集,训练了一个基于BERT的语义等价模型,来辅助对抗样本的构造。对两个等价问题经过改造后不等价的情况,我们采取人工给问题中的某个词加影响语义的修饰限定成分或将关键词换成非同义词的方式改造,然后看模型是否仍然判断为等价,如果是,则改造成功。对两个等价问题,经过改造后仍然等价的情况,我们主要通过人工给原问题换同音字、形近字、同义词、增加无意义词或不影响语义的修饰限定成分的方式改造,同时保证所做的改造是合理且不改变语义的,改造后,看模型是否判断为不等价,如果是,则改造成功。

第二种情况,改动往往不容易成功,为了提高针对性,我们对一组两个问题中的每个词语,将其删除后,计算模型预测两个问题为等价的概率值,根据每个词语对应的概率值从低到高的顺序,对词语排序,排在前面的词语,认为是对模型预测这两个问题等价比较重要的词语,在问题改造时,重点围绕这些词语进行。构造的对抗样本举例如下图:

百分点认知智能实验室出品:智能问答中的对抗攻击及防御策略

四、文本对抗攻击的防御策略

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读