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

author author     2023-03-21     500

关键词:

编者按

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

本文作者:陈旭

一、对抗***概述

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

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

二、文本对抗***的主要方法

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

2.1 白盒***

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

2.2 黑盒***

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

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

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

三、语义等价问题的对抗***

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

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

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

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

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

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

针对文本对抗***的防御策略主要包括两个方面,一方面是去发现对抗样本,比如有一些对抗***,是将文本中的字改成音近字、形近字或错字,可以检测包含这类异常字的文本,然后对其做额外的处理;另一方面是对模型进行对抗性训练,包括在训练样本中加入对抗样本,对损失函数和模型结构进行改动等,本次大赛方案中有一些应对对抗***的策略,具体在下面章节介绍。
五、DIAC大赛方案分享

DIAC大赛优胜队伍普遍选择RoBERTa_wwm作为语义等价任务的基础模型,即将两个问题拼起来,进入模型,然后选择[cls]位置对应的向量,经过一个全连接层和softmax操作,输出在2个类别上的概率。在模型训练之前,进行了对抗样本的数据增强;在模型训练阶段,采用FocalLoss作为损失函数,利用Fast Gradient Method(FGM)在embedding层上添加扰动;在测试集上作预测时,对疑似对抗样本进行纠错。

5.1 数据增强

根据对抗样本举例,通过以下方式进行了数据增强:

方法一:音近字替换、形近字替换、同义词替换、词序调整。用开源的音近字、形近字、同义词词典,以一定比例对问题中的字或词进行替换,同时限制一组问题中替换的总字数小于3,或以一定比例对问题中的词语词序随机调整,限制最远的词序调整,两个词汇间隔不超过2个词。

方法二:反义词替换、增加或删除否定词。以一定比例进行将问题中的某个词替换为反义词、增加或删除问题中的否定词,如:“未”、“没有”、“无”、“非”,并修改样本标签。

方法三:用开源的错别字校正工具,对问题进行校正,矫正结果矫正错误率接近100%,但错误矫正只影响1-2个字,不影响对问题的理解,故可以用这种方式生成对抗样本。

通过上面的一种或几种方式,进行数据增强,训练的模型与不进行数据增强相比,在最终测试集上的宏F1值有约1.5~2个百分点的提升。

5.2 智能纠错

针对对抗样本特点,有下面几种纠错方式:

方法一:召回与待纠错问题相似的问题,对比相似片段,进行纠错。具体做法是:以两个问题分词集合的差集中包含的词语数目作为二者相关性的一个度量。对一个问题,从整个数据集合中,召回一些和它相关性较高的问题。相关问题召回后,接着对原问题与相关问题进行共现的相似文本片段查找,文本片段相似采用汉明距离作为度量,由于一般对抗样本中错别字都只有一个,若是有两个错别字一般都是连在一起的,因此将汉明距离小于2且满足不同字必须连续做为判断相似文本片段的依据。

相似片段找到后,对相似片段的每个位置进行一一对比,如果不同,考虑这两个字是否是同音字,如果不是同音的字再考虑是否是形近字,若都不是就不进行纠错。判断是否同音采用一个汉字转拼音的模块,同形的判断采用笔顺的编辑距离作为相似度的判断,同音或同形的错别字在相似文本片段中的位置确定后,接下来就是确定两个文本片段哪个有错别字。通过对相似片段分词,然后计算所有词的在训练集中出现次数的总和,判定总和小的片段包含错别字,然后用总和大的对总和小的进行修正。

方法二:统计问题中词语上下文的ngram,根据ngram为对抗样本中的错误词语寻找纠错建议。具体做法为:对问题进行分词及词性标注,对具有词性为m、nr、ns、nt、nz、r、x、w的词替换为对应的词性标记。对每个词语,分别统计上文的一、二、三元ngram和下文一、二、三元ngram共6个词条,添加到ngram词表里。在纠错阶段,对问题中的词W,利用其上下文的6个ngram词条和前一步统计的ngram词表,获得纠错的候选词及候选词的词频,基于拼音编辑距离,计算候选词与词W的拼音相似度。按照如下公式,进行候选词得分计算:
技术图片
其中x为候选词,c为原错词,d为词表,为候选词的词频,为候选词与原错词的拼音相似度数,为对应的词表字典的权重。对所有候选词按照分值从大到小进行排序。取前N(这里取N为10)个,如果存在候选词与错词的编辑距离小于等于1,则优先返回这个候选词,否则返回所有候选词分值最高的词。

方法三:将测试样本中两个句子中的同音字或形近字相互替换。当句A中连续两个字的读音与句B中连续两个字的读音相同时,可以用B中的同音字替代A中同音字,构造句A‘,那么A‘与B即可组成样本[A‘,B]。同理可以构造[A,B‘],它们与[A,B]共同组成一组测试样本,用训练好的模型预测这组测试样本,预测结果只要存在一个正样本,即认为原测试样本为正样本。

通过上面的方式,对测试集进行纠错,预测结果的宏F1值有约2~3个百分点的提升。

5.3 Focal Loss

在给出的训练集中,正负样本比例较不平衡,适合采用Focal Loss作为损失函数。Focal Loss公式如下:
技术图片
通过设定α的值来控制正负样本对总的loss的共享权重,α取比较小的值来降低多的那类样本的权重,通过设置γ来减少易分类样本的权重,从而使得模型在训练时更专注于难分类的样本。

实验表明,使用Focal Loss相比于不使用FocalLoss作为损失函数,验证集预测结果的宏F1值有约0.5个百分点的提升。

5.4 Fast Gradient Method

对抗训练采用的是Fast Gradient Method(FGM),其目的是提高模型对小的扰动的鲁棒性,扰动添加在bert模型的字向量上。对于分类问题,具体做法就是添加一个对抗损失:
技术图片
上式表达的意思即,对样本x加入的扰动radv是可以使得预测为分类y的损失最大,radv的定义如下:
技术图片****
在具体训练时采取的损失,是原始损失与对抗损失的组合。实验表明,使用FGM训练的模型和没有使用的模型相比,验证集的宏F1值能有约0.5~1个百分点的提升。

5.5 各种方法的效果

总结上面提到的几种方法,在该任务上的效果如下表:
技术图片

大赛优胜队伍以上面几种方案为主。第一名采取了除上面智能纠错以外的方案,同时,针对只是在局部进行个别词的增删改替换的对抗样本,设计了Absolute Position-Aware 的模型输入方式进行捕捉,另外,在固定的网络结构中进行对抗训练。第二名和第三名的队伍,没有做太多数据增强,在使用Focal Loss和Fast Gradient Method的同时,将重点放在了智能纠错上,他们分别设计了巧妙的智能纠错方案,利用对抗样本和其他样本之间的相似特性,进行纠错,取得了不错的效果。

综合看前三名的队伍,除了数据增强和对抗训练等其他任务中也可能有效的方法,他们针对本次比赛的赛题特点,从数据出发,进行对抗样本的发现与纠错,方法巧妙,最终脱颖而出。

六、总结

通过这次比赛,大家对防御智能问答中语义等价问题的对抗***、增强模型鲁棒性的方法进行了许多探索与实践,发现在数据处理阶段的数据增强、对抗样本纠错和模型训练阶段使用Focal Loss和采用FGM的方法进行训练是行之有效的策略。这些实践与结论,将实现机器与人之间更加智能的对话,为实际的生产生活带来切实帮助。当然,随着研究的深入与应用的普及,还会出现新的对抗***的方法,我们也期待新的防御策略被发明,共同促进模型鲁棒性的提升,使系统更好地落地应用。

参考资料

[1] Wang, W., Wang,L., Wang, R., Ye, A., & Tang, B. (2019). A Survey: Towards a Robust DeepNeural Network in Text Domain. arXiv preprint arXiv:1902.07285.

[2] Wei Emma Zhang,Quan Z. Sheng, Ahoud Alhazmi, and Chenliang Li. 2019. Adversarial Attacks onDeep Learning Models in Natural Language Processing: A Survey. 1, 1 (April2019), 40 pages.

https://doi.org/10.1145/nnnnnnn.nnnnnnn

[3] DIAC大赛优胜队伍(比较牛的丹棱街5号、观、沐鑫、XiaoduoAI-NLP、zhys513、苏州课得乐-强行跳大)解决方案

百分点认知智能实验室:nlp模型开发平台在舆情分析中的设计和实践(下)

...时间内即可获得高精度NLP模型,真正为业务赋能。在北京百分点信息科技有限公司的NLP模型开发平台发布后,舆情分析业务中上线了超过200个个性化定制实时预测模型,依靠强大的资源调度和计算平台,每天都会有数十个模型在... 查看详情

百分点coo刘钰:人工智能落地,如何实现从认知到决策

...智能高峰论坛。爱分析特别邀请了人工智能领域标杆公司百分点的COO刘钰进行主题演讲。百分点是大数据+AI行业的头部服务商,在人工智能落地进行了诸多实践,特别对于人工智能如何实现感知、认知、决策产生了诸多思考。现... 查看详情

中国认知智能行业报告

...分析师报告执笔人姜凯燕爱分析分析师特别鸣谢目录一.认知智能行业概览二.认知智能的落地条件及挑战三.认知智能的市场空间分析四.认知智能的重要场景应用分析五.认知智能的未来趋势六.认知智能厂商竞争分析及典型厂商介... 查看详情

paddle进阶实战系列:保险文本视觉认知问答(代码片段)

保险文本视觉认知问答1.项目介绍1.1背景随着人工智能技术的逐渐成熟,计算机视觉、语音、自然语言处理等技术在金融行业的应用从广度和深度上都在加速,这不仅降低了金融机构的运营和风险成本,而且有助于提... 查看详情

基于语义级认知攻击的思考

        最近OpenAI发布的最新chatGPT引起了信息业界的轰动,既有专业的技术人员,也有普通爱好者通过对chatGPT的问答来进行各类测试。不可否认chatGPT通过超大规模预训练模型实现了一个智能问答质的飞跃,体现... 查看详情

对抗搜索

一、对抗搜索问题竞争环境中每个智能体的目标之间是有冲突的通常称为博弈二、人工智能中的博弈1-确定的、完全可查的环境2-智能体轮流行动3-零和博弈4-每一步行动的结果确定三、效能函数用效能函数来评估终止状态四、博... 查看详情

常识推理问答相关最新研究进展

...。目前,人工智能的研究领域已经逐渐从感知智能向认知智能领域过渡,其中,深度学习无法解决的一个主要问题是常识推理问题。常识知识是人类智能的重要体现,在计算机中通常以符号逻辑的知识表示形式存... 查看详情

论文笔记基于知识图谱的农业智能问答系统

基于知识图谱的农业智能问答系统前言知识图谱简介知识图谱生命周期知识获取知识抽取知识存储与应用相关技术和工具农业知识图谱构建流程本体层构建实体层构建基于Neo4j的农业知识图谱问答系统算法设计基于知识图谱的问... 查看详情

腾讯算法高级研究员陈松坚:智能问答技术及其应用

参考技术A随着人工智能的飞速发展以及广泛落地应用,越来越多的设备将会被植入智能问答技术,人机交互场景随处可见,智能问答在未来将会成为一个非常重要的入口。腾讯小知凭借着业界领先的智能AI引擎算法和海量大数据... 查看详情

问答集锦人工智能/机器学习技术在电商场景下的应用

近年来阿里不断运用深度学习、强化学习等人工智能领域的相关知识优化自身电商平台的搜索引擎和推荐系统,让其从冷冰冰的系统不断成长为越来越懂用户的智能购物助手。  日前,《尽在双11》人工智能部分执笔人&阿... 查看详情

智能问答系统的产品化思路

一、智能问答系统最大的价值在于为客服附能  现在普遍认为智能问答能够独立解决很多问题,但是必须要承认现在技术所处的初级阶段的性质。也就是说,智能问答系统在现阶段最大的  价值在于为客服人员附能,而并非... 查看详情

人工智能机器学习和认知计算入门指南

几千年来,人们就已经有了思考如何构建智能机器的想法。从那时开始,人工智能(AI)经历了起起落落,这证明了它的成功以及还未实现的潜能。如今,随时都能听到应用机器学习算法来解决新问题的新闻。从癌症检测和预测到... 查看详情

认知计算及认知安全

“认知安全”是怎样一种安全?http://www.aqniu.com/tools-tech/16808.html利用机器学习、人工智能和认知计算找到威胁http://www.aqniu.com/tools-tech/18243.html本文出自“IT技术学习与交流”博客,谢绝转载! 查看详情

2018年智能音箱排行榜预测

...bsp;阿里巴巴参考报价 ¥499天猫精灵X1由阿里人工智能实验室出品,内置第一代中文人机交流系统AliGenie,采用SmartAudio专业处理芯片,搭载思必驰环形六麦阵列技术(AISpeech6mic) 查看详情

[当人工智能遇上安全]3.安全领域中的机器学习及机器学习恶意请求识别案例分享(代码片段)

...续分享网络安全的文章会越来越少。但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个《当人工智能遇上安全》系列博客,详细介绍人工智能与安全相关的论文、实践,并分享各种... 查看详情

问答知识库快速构建技术解析及行业实践

...应用。随着科技创新支撑下的高质量行业发展,人工智能已成为数字经济时代的核心生产力。其中对话式AI,作为人工智能技术的一个分支,随着深度学习、预训练模型等技术的突破,逐渐在各行各业中实现了从... 查看详情

深度学习攻防对抗(jcai-19阿里巴巴人工智能对抗算法竞赛)

最近在参加IJCAI-19阿里巴巴人工智能对抗算法竞赛(点击了解),初赛刚刚结束,防御第23名,目标攻击和无目标攻击出了点小问题,成绩不太好都是50多名,由于找不到队友,只好一个人跟一群大佬PK,双拳难敌四手,差点自闭... 查看详情

阿里雲免费人工智能精华课程集锦

免费人工智能精华课程集锦:1.【入门】机器学习入门:概念原理及常用算法O网页链接2.【应用】机器学习PAI快速入门与业务实战O网页链接3.【MIT出品】深度学习与自动驾驶O网页链接4.【牛津出品】深度学习与自然语言处理O网页... 查看详情