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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 不久前,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 分,越高表明越符合语法)




相关文章
|
5天前
|
机器学习/深度学习 自然语言处理 PyTorch
从零开始构建nlp情感分析模型!
本教程介绍了如何使用PyTorch和Hugging Face的Transformers库构建一个情感分析模型。主要内容包括导入所需库、读取训练数据集、加载预训练的BERT模型和分词器、定义情感数据集类、划分训练集和验证集、创建数据加载器、设置训练参数、训练模型、评估模型性能以及定义和测试预测函数。通过这些步骤,可以实现一个简单而有效的情感分析模型。
12 2
|
1月前
|
自然语言处理 PyTorch 算法框架/工具
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
【10月更文挑战第1天】随着深度学习技术的进步,预训练模型已成为自然语言处理(NLP)领域的常见实践。这些模型通过大规模数据集训练获得通用语言表示,但需进一步微调以适应特定任务。本文通过简化流程和示例代码,介绍了如何选择预训练模型(如BERT),并利用Python库(如Transformers和PyTorch)进行微调。文章详细说明了数据准备、模型初始化、损失函数定义及训练循环等关键步骤,并提供了评估模型性能的方法。希望本文能帮助读者更好地理解和实现模型微调。
63 2
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
|
30天前
|
机器学习/深度学习 自然语言处理 知识图谱
|
23天前
|
机器学习/深度学习 自然语言处理 算法
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
72 0
|
2月前
|
搜索推荐 算法
模型小,还高效!港大最新推荐系统EasyRec:零样本文本推荐能力超越OpenAI、Bert
【9月更文挑战第21天】香港大学研究者开发了一种名为EasyRec的新推荐系统,利用语言模型的强大文本理解和生成能力,解决了传统推荐算法在零样本学习场景中的局限。EasyRec通过文本-行为对齐框架,结合对比学习和协同语言模型调优,提升了推荐准确性。实验表明,EasyRec在多个真实世界数据集上的表现优于现有模型,但其性能依赖高质量文本数据且计算复杂度较高。论文详见:http://arxiv.org/abs/2408.08821
57 7
|
30天前
|
机器学习/深度学习 自然语言处理 并行计算
探索深度学习中的Transformer模型及其在自然语言处理中的应用
【10月更文挑战第6天】探索深度学习中的Transformer模型及其在自然语言处理中的应用
81 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
|
1月前
|
机器学习/深度学习 自然语言处理 异构计算
【NLP自然语言处理】初识深度学习模型Transformer
【NLP自然语言处理】初识深度学习模型Transformer
|
1月前
|
机器学习/深度学习 自然语言处理 算法
【NPL自然语言处理】带你迅速了解传统RNN模型
【NPL自然语言处理】带你迅速了解传统RNN模型
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用与挑战
【10月更文挑战第3天】本文将探讨AI技术在自然语言处理(NLP)领域的应用及其面临的挑战。我们将分析NLP的基本原理,介绍AI技术如何推动NLP的发展,并讨论当前的挑战和未来的趋势。通过本文,读者将了解AI技术在NLP中的重要性,以及如何利用这些技术解决实际问题。

热门文章

最新文章

下一篇
无影云桌面