AAAI 2020 | BERT稳吗?亚马逊、MIT等提出针对NLP模型的对抗攻击框架TextFooler

简介: 不久前,AAAI 2020 在美国纽约召开。大会官方公布了今年的论文收录信息:收到 8800 篇提交论文,评审了 7737 篇,接收 1591 篇,接收率 20.6%。为向读者们分享更多的优质内容、促进学术交流,机器之心策划了多期 AAAI 2020 论文线上分享。
不久前,AAAI 2020 在美国纽约召开。大会官方公布了今年的论文收录信息:收到 8800 篇提交论文,评审了 7737 篇,接收 1591 篇,接收率 20.6%。为向读者们分享更多的优质内容、促进学术交流,机器之心策划了多期 AAAI 2020 论文线上分享。


在最新一期的 AAAI 2020 线上论文分享中,机器之心邀请了在亚马逊上海人工智能实验室做实习研究的金致静,通过线上分享的方式介绍他们入选 AAAI 2020 的研究论文《Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment》,详细解读有关自然语言对抗样本生成的研究工作。


2 月 12 日,本期 AAAI 2020 线上论文分享结束,本文对此次分享的视频与论文内容进行了整理。


image.png

                                                                点击查看原视频


b 站链接:https://www.bilibili.com/video/av90072410/


对抗攻击在视觉和语音领域已经得到了大量研究,但文本分析领域的对坑攻击还较为罕见。本文提出了一种新基准 TextFooler,并通过文本分类与文本蕴涵实验验证了其有效性。



微信图片_20211203130802.jpg


对抗样本与原始样本往往没有肉眼可见的差异,但却能成功骗过当前最佳的机器学习模型。通过让模型学习恶意设计的对抗样本,有助于评估和提升这些模型的稳健性。为此,本论文提出了 TextFooler,这是一种可用于生成对抗文本的简单却又强大的基准。


研究者在文本分类与文本蕴涵这两种基础自然语言处理任务上应用了该基准,结果成功实现了对 3 个目标模型的成功攻击,其中包括强大的预训练 BERT 模型以及被广泛使用的卷积神经网络和循环神经网络。这一框架有三大优势:(1)效果好——其成功率和扰动率表现优于之前的攻击框架;(2)效用可得到保留——其会保留人类分类的语义内容、语法以及正确的拼写;(3)效率高——其生成对抗文本时的计算复杂度与文本长度呈线性关系。

 

引言

 

机器学习模型已在分类、回归和决策等多种不同任务上取得了显著的成功。但是,近来的研究表明,只需要对合法输入进行微小且往往乃以肉眼察觉的扰动,就能实现对机器学习模型的有效攻击,让其得到错误的结果。这种攻击方式被称为对抗攻击。对人类而言,对抗样本都能被正确地分类,但是目标模型却能被轻易欺骗,这也引起了人们对现有机器学习算法的安全性和完整性的严重关切。另一方面,这也表明如果在训练数据集中包含高质量的对抗样本,就能够有效提升机器学习模型的稳健性和泛化能力。


尽管图像和语音领域的对抗样本研究已经取得了很大的成功,但文本由于本质上的离散性,所以还依然颇具挑战。严格来说,要打造一个成功的自然语言攻击系统,除了让其具备欺骗目标模型的能力之外,还应使其满足三项关键的效用保留性质:(1)人类预测的一致性——人类的预测结果应当保持不变;(2)语义相似性——在人类看来,新构建的样本应该具有与源文本一样的语义;(3)语言流畅度——新生成的样本应当表达自然且语法正确。

 

针对黑盒设置(即无法获取模型架构和参数的情况)下的自然语言攻击问题,本论文提出了一种简单却又强大的基准 TextFooler。

 

方法

 

威胁模型(Threat Model)

 

在黑盒设置下,攻击者并不知道模型的架构、参数或训练数据,只能通过提供输入并获取预测结果及对应的置信度分数来了解目标模型的情况。


微信图片_20211203131014.jpg


算法 1 展示了新提出的对抗文本生成方法,其主要分为两个步骤:

 

步骤 1:词重要度排序(第 1-6 行)

 

给定由 n 个词构成的句子 X={w_1,w_2,...,w_n},可以观察到影响预测模型 F 结果的关键信号其实只有其中部分关键词。实际上,Niven and Kao 2019 就曾发现仅会关注某些词的统计信息。

 

因此,研究者创造了一种筛选机制,可以选择出对最终预测结果影响最大的词。使用这一筛选机制,可以尽可能地减少修改量,由此就能够尽可能地维持语义相似性。

 

基于黑箱设置,模型梯度是未知的。因此,这一筛选机制使用了一个分数 I 来度量 X 中的词 w_i 对最终分类结果的影响程度。

 

因此,重要度分数 I 的计算方式即为检测词 w_i 前后预测结果的变化情况,这可以定义为如下形式:


微信图片_20211203131019.jpg


根据重要度分数对词进行排序之后,研究者进一步滤除了 the、when、more 等停止词。这一步操作使用了 NLTK2 和 spaCy3 库。

 

步骤 2:词转换器(第 7-30 行)

 

适当的替换词需要满足以下标准:(1)应当与原句子有类似的语义含义;(2)与上下文契合;(3)会让目标模型得出错误的预测结果。

 

同义词提取:作者首先为所选词 w_i 的所有可能的替换词收集了一个候选词集 Candidates。Candidates 的初始化使用了词典中 N 个与 w_i 的余弦相似度最近的同义词。

 

词的表征使用了来自 Mrkšić, et al. 2016 的词嵌入。这些词向量为同义词寻找任务进行过精心调节,并在 SimLex-999 数据集上的表现为当前最佳。SimLex-999 数据集的设计目标是度量不同模型评估词之间的语义相似度的能力。

 

使用这个嵌入向量数据集,研究者找到了 N 个与 w 的余弦相似度大于 δ 的同义词。在实验中,作者根据经验将 N 设置为 50,δ 设置为 0.7。这样的设置能在多样性与语义相似度控制之间实现较好的平衡。

 

词性检查:在词 w_i 的候选词集 Candidates 中,仅保留与 w_i 词性相同的词。这一步是为了确保文本的语法正确(算法 1 第 10 行)。


语义相似度检查:对于候选词集 Candidates 中的每个词 c,将其替换到句子 X 中 w_i 的位置,得到对抗样本。然后再使用目标模型 F 来计算对应的预测分数。研究者还计算了源句子 X 与对抗句子 X_adv 之间的句子语义相似度。

 

对抗样本的最终确定:在最终得到的候选词库 FinCandidates 中,如果其中存在任意已经可以改变目标模型的预测结果的候选词,则从这些候选词中选出语义相似度分数最高的词。但如果没有可以改变预测结果的候选词,则选择标签 y 的置信度分数最低的词作为 w_i 的最佳替换词。然后重复步骤 2,转换下一个被选中的词(第 20-30 行)。

 

实验

 

研究者在文本分类和文本蕴涵这两个重要的 NLP 任务上检验了新提出的对抗攻击方法的效果。


image.jpeg

表 1:数据集概况


攻击目标模型

 

对于每个数据集,研究者在训练集上训练了三个当前最佳的模型,并得到了与原有实现相近的测试集准确度分数。然后,研究者又生成了与测试集语义相似的对抗样本来攻击训练后的模型,并使它们得到了不同的结果。


微信图片_20211203131107.jpg

表 2:目标模型在标准测试集上的原有准确度


在句子分类任务上,研究者攻击了三种模型:基于词的卷积神经网络(WordCNN,Kim 2014)、基于词的长短期记忆网络(WordLSTM,Hochreiter and Schmidhuber 1997)、当前最佳的使用 Transformer 的双向编码器表征网络(BERT,Devlin et al. 2018)。

 

WordCNN 模型的配置是使用了三种窗口大小:3、4、5,每种窗口大小 100 个过滤器,dropout 设为 0.3。WordLSTM 使用了有 150 个隐藏单元的 1 层双向 LSTM,dropout 设为 0.3。这两个模型都使用了 200 维的 Glove 词嵌入,这个词嵌入是在来自 Wikipedia 和 Gigawords 的 60 亿个 token 上训练的。BERT 模型则采用了 12 层的配置,其包含 768 个隐藏单元和 12 个头,共有 1.1 亿个参数,即 BERT 模型的 base-uncased 版本。


结果

 

image.jpeg

表 3:攻击系统在文本分类数据集上的自动评估结果。


上图中,Original Accuracy 是未被攻击的原始模型的预测准确度,After-Attack Accuracy 是被对抗攻击时的模型准确度,% Perturbed Words 是以原始句子长度为参考时经过扰动的词所占的百分比,Semantic Similarity 是原始和对抗样本之间的语义相似度。


image.jpeg

表 4:攻击系统在文本蕴涵数据集上的自动评估结果。m 是指匹配,mm 是指不匹配,这是 MultiNLI 开发集的两种变体。


image.jpeg

表 6:来自 MR(WordLSTM)和 SNLI(BERT)数据集的原句子和对抗样本句子示例



微信图片_20211203131246.jpg

表 4:攻击系统在文本蕴涵数据集上的自动评估结果。m 是指匹配,mm 是指不匹配,这是 MultiNLI 开发集的两种变体。


image.jpeg

表 6:来自 MR(WordLSTM)和 SNLI(BERT)数据集的原句子和对抗样本句子示例


image.jpeg


表 7:MR(WordLSTM)和 SNLI(BERT)中的原始句子和对抗样本句子符合语法的程度(1-5 分,越高表明越符合语法)




相关文章
|
2月前
|
机器学习/深度学习 数据采集 人工智能
35_BERT与RoBERTa:优化编码器模型
2018年,Google发布的BERT(Bidirectional Encoder Representations from Transformers)模型彻底改变了自然语言处理领域的格局。作为第一个真正意义上的双向预训练语言模型,BERT通过创新的掩码语言模型(Masked Language Model, MLM)预训练策略,使模型能够同时从左右两侧的上下文信息中学习语言表示,从而在多项NLP任务上取得了突破性进展。
|
2月前
|
人工智能 自然语言处理 调度
24_BERT模型详解:从预训练到微调的全方位指南
BERT(Bidirectional Encoder Representations from Transformers)是由Google AI在2018年推出的革命性预训练语言模型,它彻底改变了自然语言处理(NLP)领域的格局。通过创新的双向训练方式,BERT能够捕捉词语在上下文环境中的完整语义信息,从而在各种下游任务中取得了突破性的表现。
|
6月前
|
存储 机器学习/深度学习 自然语言处理
避坑指南:PAI-DLC分布式训练BERT模型的3大性能优化策略
本文基于电商搜索场景下的BERT-Large模型训练优化实践,针对数据供给、通信效率与计算资源利用率三大瓶颈,提出异步IO流水线、梯度压缩+拓扑感知、算子融合+混合精度等策略。实测在128卡V100集群上训练速度提升3.2倍,GPU利用率提升至89.3%,训练成本降低70%。适用于大规模分布式深度学习任务的性能调优。
325 3
|
人工智能 自然语言处理 PyTorch
BrushEdit:腾讯和北京大学联合推出的图像编辑框架,通过自然语言指令实现对图像的编辑和修复
BrushEdit是由腾讯、北京大学等机构联合推出的先进图像编辑框架,结合多模态大型语言模型和双分支图像修复模型,支持基于指令引导的图像编辑和修复。
267 12
BrushEdit:腾讯和北京大学联合推出的图像编辑框架,通过自然语言指令实现对图像的编辑和修复
|
12月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
3025 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
人工智能 自然语言处理 前端开发
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
Director 是一个构建视频智能体的 AI 框架,用户可以通过自然语言命令执行复杂的视频任务,如搜索、编辑、合成和生成视频内容。该框架基于 VideoDB 的“视频即数据”基础设施,集成了多个预构建的视频代理和 AI API,支持高度定制化,适用于开发者和创作者。
651 9
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
|
人工智能 自然语言处理
Promptriever:信息检索模型,支持自然语言提示响应用户搜索需求
Promptriever 是一种新型信息检索模型,由约翰斯·霍普金斯大学和 Samaya AI 联合推出。该模型能够接受自然语言提示,并以直观的方式响应用户的搜索需求。通过在 MS MARCO 数据集上的训练,Promptriever 在标准检索任务上表现出色,能够更有效地遵循详细指令,提高查询的鲁棒性和检索性能。
271 6
Promptriever:信息检索模型,支持自然语言提示响应用户搜索需求
|
10月前
|
机器学习/深度学习 自然语言处理
预训练语言模型:从BERT到GPT,NLP的新纪元
自然语言处理(NLP)近年来因预训练语言模型(PLMs)的崛起而发生巨大变革。BERT和GPT等模型在学术与工业界取得突破性进展。本文探讨PLMs原理、发展历程及其实际应用,涵盖文本分类、命名实体识别、问答系统等场景,并通过实战案例展示如何使用这些强大的工具解决复杂的NLP任务。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
昇腾AI行业案例(四):基于 Bert 模型实现文本分类
欢迎学习《昇腾行业应用案例》的“基于 Bert 模型实现文本分类”实验。在本实验中,您将学习如何使用利用 NLP (natural language processing) 领域的AI模型来构建一个端到端的文本系统,并使用开源数据集进行效果验证。为此,我们将使用昇腾的AI硬件以及CANN等软件产品。
841 0
|
人工智能 自然语言处理 PyTorch
AutoVFX:自然语言驱动的视频特效编辑框架
AutoVFX是一个先进的自然语言驱动的视频特效编辑框架,由伊利诺伊大学香槟分校的研究团队开发。该框架能够根据自然语言指令自动创建真实感和动态的视觉特效(VFX)视频,集成了神经场景建模、基于大型语言模型(LLM)的代码生成和物理模拟技术。本文详细介绍了AutoVFX的主要功能、技术原理以及如何运行该框架。
299 1
AutoVFX:自然语言驱动的视频特效编辑框架

热门文章

最新文章