©NLP论文解读 原创•作者 | 吴雪梦Shinemon

研究方向 | 计算机视觉

导读说明

在NLP模型被建立后,如何更好的评价该模型一直以来都是被广泛讨论与关注的问题,而且评价方法不尽相同,研究人员通常会花费大量的时间提出不同的参数来评估该模型,评价指标也多元化。

现有的NLP评价指标中表现良好的模型,由于分布变化和噪声数据等漏洞,在部署到现实应用中并不一定能取得如期的良好表现。该论文提出的Robustness Gym(RG)评价框架,旨在减小学术上模型评价和现实应用之间的差距。

论文解读:

Robustness Gym: Unifying the NLP Evaluation Landscape

论文作者:

Karan Goel, Nazneen Rajani, Jesse Vig, Samson Tan, Jason Wu, Stephan Zheng, Caiming Xiong, Mohit Bansal, Christopher Ré

论文地址:

https://arxiv.org/pdf/2101.04840.pdf

代码地址:

https://github.com/robustness-gym/robustness-gym

研究背景

在NLP中,当训练数据和测试数据独立并具有相同分布时,说明该模型获得了较高的准确性。然而,一些研究表明[1],这些模型对于数据错误,分布位移或有害数据操作并不稳妥,从而进行预测的数据准确度有失偏颇。

事实上,这些缺陷限制了对不可见数据的应用,为了解决这些漏洞,对NLP模型的鲁棒性进行测试,并且引入了一个简单且可扩展的鲁棒性测试工具包Robustness Gym (RG)框架,它支持从对抗性攻击到基于规则的数据增强的所有评估方法。

该框架统一了四个标准评估范式: 评估集、子种群、转换和对抗性攻击。通过提供一个通用的评估平台,就可以比较所有四种评估范式的结果,还可以用于协作构建和共享评估和结果。

面临的挑战

RG框架用于系统地评估NLP系统,它可以跨多种习语用法工作,处理数据错误、分布变化、偏差等。目前面临的问题有以下几点:

●选择悖论: 给定一个特定的问题及其规范,要运行什么样的评估,比如偏向性、泛化等。

●习语锁定: 执行它的工具的选择。

●工作流碎片化: 通过保存所有的数据和生成报告来跟踪所有的进度。

论文作者解释了现有的工具和研究为何无法解决这些问题,详细说明见原论文。

然而,RG框架通过Contemplate(思考)->Create(创建)-> Consolidate(巩固)评估循环来解决上述挑战。

RG框架VS传统评价

传统评价

NLP模型在标准基准测试中和实际系统应用中的性能并不一致。最近的一项研究表明[2],60%的NLP结果与它们的训练数据相似度很高,这意味着模型只是在记忆他们的训练集。

许多研究人员正在测试这些NLP模型的鲁棒性,以应对各种挑战,如对抗性攻击和基于规则的数据转换。传统上,评价程序大致包括三个步骤:

◾加载数据;

◾使用内置模型生成预测;

◾计算指标。

RG框架评价

同样的过程被分为六步,如下图1所示。

图1. RG系统工作流程图

Fig1. Robustness Gym system design and workflow

加载数据

RG支持Huggingface数据集(轻量级库,467种语言和方言),易使用。

计算缓存端信息(Contemplate,示例见本文链接地址)

先对数据进行一些预处理,并计算示例中的一些信息,这些信息之后可以用于分析。CachedOperation的思想与数据集上的.map()非常相似,此外还可以提供之前缓存过的任何信息。

构建切片(Create)

在缓存信息的帮助下,制作数据切片。这些片只是计算示例的集合,它们提供了一种检索缓存信息的方法。目前,RG支持四种类型的切片:

①评估集:由预先存在的数据集构造的切片;

②子种群:通过过滤更大的数据集构建的切片;

③转换:通过转换数据集构造的切片;

④对抗性攻击:通过对抗性攻击数据集构造的切片。

评估切片(Consolidate)

RG提供了一个TestBench抽象类方法,用户可以组装并版本化一组切片,形成一套评估方式。

生成评估报告

共享TestBench类,生成一份可共享的鲁棒性报告,其他用户可以在协作中复用或重做分析。

过程迭代

RG框架帮助用户了解各种变量(如任务结构),评估需求(如测试泛化、偏差或安全性)以及资源限制,从而完成评估任务。

如下图2所示,传统评估过程是无法达到上述要求的:

图2. RG框架VS传统评价

Fig2. Robustness Gym system VS traditional evaluation model

实验结果

论文作者与Salesforce的商业情绪建模团队用一案例进一步验证了RG框架过程,目的是测量他们模型的偏差。

在跨越三个评估习语用法的172个切片上测试了他们的系统,发现12个切片的性能下降高达18%,由此可见RG系统的必要性。

最后,研究人员为团队生成了一个单一的测试平台和鲁棒性报告,总结了研究结果。测试结果如下图3所示的鲁棒性报告:

图3. 基于Bert的自然语言推理

SNLI数据集鲁棒性报告

Fig3. Robustness Report for Natural Language Inference using bert-base on SNLI

此外,论文作者使用命名实体链接(NEL)系统进行了一项研究,并对摘要模型进行了关键分析。

他们将微软、谷歌和亚马逊的商业API与开源系统Bootleg,WAT和REL进行了比较,对比了两个基准数据集:Wikipedia 和AIDA-CoNLL。

结果显示,上面提到的商业系统,很难将稀有实体联系起来,落后于学术同行10%以上,而摘要模型在需要抽象和蒸馏的例子上也不乐观,下降了9%以上。

如下图4所示可以看出,微软的表现优于其他商业系统,而Bootleg在不同的部分表现最平稳。详细过程见原论文。

图4. AIDA数据集上NEL鲁棒性报告

Fig4. Robustness Report for NEL on AIDA

RG框架加载后平台显示数据详细信息如下图5,直观且快捷,根据显示的信息可以对NLP模型作进一步优化:

图4. RG系统中SNLI数据集分析结果

Fig4. SNLI Dataset analysis on Robustness Gym system

实验

RG框架已经被开发为NLP模型的评估工具包,它支持广泛的评估习语用法,并与传统方法相比,研究了该框架中所需的所有步骤,显然效果更加显著。

该框架可以用于协作构建和共享评估和结果。为了解决实践者面临的挑战,论文作者将框架嵌入到上述评估循环中。

实验结果表明,RG框架对研究人员和实践者来说是一个很有前途的工具。有兴趣的语言模型爱好者可以在论文代码地址中下载包,体验测评,感受它的魅力。

参考文献:

[1] Yonatan Belinkov and Yonatan Bisk. Synthetic and natural noise both break neural machine translation. ArXiv, abs/1711.02173, 2018.

[2] Question and Answer Test-Train Overlap in Open-Domain Question Answering Datasets. ArXiv:2008.02637,2020.

兼容并“包”NLP评价指标:Robustness Gym框架相关推荐

  1. java9 多版本兼容jar_Java 9 多版本兼容 jar 包

    Java 9 多版本兼容 jar 包 多版本兼容 JAR 功能能让你创建仅在特定版本的 Java 环境中运行库程序时选择使用的 class 版本. 通过 --release 参数指定编译版本. 具体的 ...

  2. 中兴远航10 root获取 ZTE 7530N 刷机magisk 刷机包TWRP下载安装LS框架

    中兴远航10  root获取 ZTE 7530N 刷机magisk 刷机包TWRP下载安装LS框架 MT6833 preloader_k6833v1_64.bin 此款机器需要先解锁BL才可以root ...

  3. Android系统运行Java程序执行jar包(2-包含spring框架)

    前言 上一篇文章中,通过把jar转换为安卓系统可以执行的dex文件,从而运行java程序,但这种方法只不适用于复杂的框架. 为了运行更为复杂的java程序,我在安卓设备上安装了linux虚拟机,在虚拟 ...

  4. Java9 jar兼容_java9新特性-6-多版本兼容jar包

    1.官方Feature 2.使用说明 当一个新版本的Java出现的时候,你的库用户要花费数年时间才会切换到这个新的版本.这就意味着库得去向后兼容你想要支持的最老的Java版本(许多情况下就是Java ...

  5. 一加3t android 7.1,一加3T 7.1 ROM刷机包 7.1.2 Xposed框架主题号码归属地杜比全息来电闪光网...

    设置默认开机语言为中文 最新Busybox,玩机党必备! 添加OMS 主题服务支持,可使用Substratum主题管理器加载你喜欢的主题 添加蝰蛇音效支持,基佬紫配色 添加黑域,黑科技禁止app后台启 ...

  6. NLP学习笔记-Pytorch框架(补充)

    PDF Pytorch初步应用 使用Pytorch构建一个神经网络 学习目标 掌握用Pytorch构建神经网络的基本流程. 掌握用Pytorch构建神经网络的实现过程. 关于torch.nn: 使用P ...

  7. 类似手机html框架,GitHub - 925800521/sjs: 一个类似于jquery和zepto的兼容于移动端html5的js框架,详细说明请参考api文档,看到中文是不是很亲切...

    简介 之所以写这个库,缘起于一次baidu无线阿拉丁项目,本来作为前端开发者,使用惯了jquery,而且jquery也给力的发布了jquery的mobile库.但是....悲剧的是他居然是依赖于原来的 ...

  8. C# Vs2019 发布跨平台程序包,使用net5.0框架

    net5.0 不是LTS版本,建议以后可以使用 微软出的net6.0 .根据官网上的及其民间说法 net5.0 实际就是netcore的 后续, 传统的net framework 将不再更新(已死) ...

  9. 三两下实现NLP训练和预测,这四个框架你要知道

    作者 | 狄东林 刘元兴 朱庆福 胡景雯 编辑 | 刘元兴,崔一鸣 来源 | 哈工大SCIR(ID:HIT_SCIR) 引言 随着人工智能的发展,越来越多深度学习框架如雨后春笋般涌现,例如PyTorc ...

最新文章

  1. C/C++包管理工具Conan简介
  2. (pytorch-深度学习系列)模型参数的初始化与访问操作-学习笔记
  3. ajax参数中有加号,浅谈在js传递参数中含加号(+)的处理方式
  4. 命令行linux iso,linux – 有没有办法从命令行更改.iso文件卷id?
  5. java 页面 传送参数,Struts2的action接收JSP页面传输的参数
  6. CF-1156F Card Bag
  7. python求高阶导数_python – TensorFlow:计算Hessian矩阵(和更高阶导数)
  8. 关于readonly修饰符
  9. 了解一个百万级 PHP 网站的架构
  10. Spring框架利用PropertyPlaceholderConfigurer初始化加载多properties文件
  11. Android Service中的android:process=:remote
  12. 手机 html5 hammer drag widget,javascript – HTML5使用Hammer.js拖放事件拖放div上的元素
  13. 软件测试 之Web项目实战解析(附全套实战项目教程+视频+源码)
  14. RGB与CMYK以及加色与减色
  15. .NET MongoDB Driver GridFS 2.2原理及使用示例
  16. Nodejs+vue网上鲜花店销售信息系统express+mysql
  17. mysql 表情符号 用什么类型_使MySQL能够存储emoji表情字符的设置教程
  18. VBA中的正则表达式(一)
  19. 行为识别(Action Recognition)初探
  20. 洪金宝坦言婚姻全靠“忍”。网友:好男人啊

热门文章

  1. css特效之openbox
  2. 计算机视觉大型攻略 —— 特征与匹配(3)特征描述符
  3. Flink启动报错could not be determined automatically
  4. 某公司欲建用户付薪平台
  5. Adblock Plus使用教程
  6. 《你好啊,程序员》学习笔记
  7. 广工操作系统课设--多用户多级目录的文件系统
  8. Can't execute code from a freed script
  9. 试论社会学专业定×××方法课程教学现状及改革途径
  10. 一路走来的飞控设计研发之路