Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【南洋理工&&含源码】鲁棒问答的内省蒸馏(IntroD)

【南洋理工&&含源码】鲁棒问答的内省蒸馏(IntroD)

作者头像
ShuYini
发布于 2021-11-26 08:37:24
发布于 2021-11-26 08:37:24
5541
举报

引言

众所周知,问答(QA)模型会利用数据偏差,如视觉问答中的语言优先和阅读理解中的位置偏差,目前大部分去偏方法在很大程度上牺牲了分布内(ID)性能,实现了良好的分布外(OOD)泛化,它们只适用于提前知道测试分布的领域。为此,今天给大家分享一篇新的去偏方法,称为内省蒸馏(introspecture, IntroD)它能够让分布内性能和分布外性能都保持最佳

论文及源码下载链接在文章后面。

正文开始

1

背景概述

问答(QA)是最基本的人工智能任务之一,它要求机器在给定的背景下回答问题。常见的上下文是视觉(例如,VQA的图像)和自然语言(例如,抽取QA的段落)。通过观察可以发现,目前大部分 QA 模型更倾向于过度利用训练偏差,从而绕过上下文理解以获得快捷答案。 例如,VQA模型仅利用问题和答案之间的语言相关性,就能正确回答大多数问题。同样,提取性QA模型也可以利用虚假的位置线索来定位文章中的答案。因此,不管训练数据和模型的规模有多大,已经实现了强大的分布内(ID)性能的QA模型都可能不可避免地在分布外(OOD)测试场景中失败。

最近,有几种去偏方法旨在缩小ID和OOD性能之间的差距[12,17,13,35]。然而,他们中的许多人认为训练分布和测试分布是非常不同的,甚至是相反的,例如,如果在训练中有更多的“是”答案,那么在测试中一定有更多的“否”答案。因此,这些方法在ID评估时遇到严重的性能下降,尽管它们在OOD性能方面明显优于非偏置基线。从上图中观察到:非偏置方法(圆点表示的:S-MRL、UpDn)获得ID的准确率高,但OOD的准确率低,而去偏方法(方块表示的:LMH、CFVQA、CSS)获得OOD的准确率高,但ID的准确率低。

S-MRL、UpDn、LMH、CFVQA、CSS参考论文下载在后面!!】

2

文章思路

针对上述问题,文章构建了在 ID 和 ODD 评估中都实现强大性能的强大QA 模型。本文指出,如果模型在一个区域过度利用偏差,在另一个区域中的性能将显着下降。因此,“两者兼而有之”的模型应该公平对待任何一个区域的归纳偏差。为此,提出了一个简单而有效的训练范式——内省蒸馏 (IntroD)——以公平地融合两个区域的归纳偏差。 假设我们有两个专家教师模型:ID-teacher 和 OOD-teacher,每个模型都捕获 ID 或 OOD 归纳偏差并代表相应的区域。下图说明了关于一个内省的学生如何从两个截然不同的老师那里学习的三个案例。

其中:(a) 当 ID 归纳偏差主导学习时,学习模型应该更多地倾听 OOD 感知知识。 (c) 当 OOD 归纳偏差主导学习时,学习模型更多地听取 ID 感知知识。(b) 当学习公平时,学生模型平等地听取两位老师的意见。“ID”和“OOD”条中的区域代表预测概率的比例。

情况 1:情况 1:如果 ID-bias > OOD-bias,则 ID-teacher < OOD-teacher。ID归纳偏差主导了学习,学生应该更多地听OOD老师。当 ID-teacher 的训练损失较低而 OOD-teacher 的训练损失较高时,就会发生这种情况。如图 2 (a) 所示,如果没有额外的上下文,QA 模型很难断定烤箱是否是电动的。由于在训练数据中存在归纳偏差,即大多数以“is”开头的问题回答为“yes”,ID-teacher的结论过于自信,而OOD-teacher则没有。

情况 2:如果 ID-bias < OOD-bias,则 ID-teacher > OOD-teacher。OOD 归纳偏差在学习中占主导地位,学生应该多听 ID 老师。当 ID-teacher 的训练损失较高而 OOD-teacher 的训练损失较低时,就会发生这种情况。如图2(c)所示,至少有两个年长的男人,一个穿着蓝色衬衫卖水果,一个穿着白色衬衫走在人群中。因此,“蓝色”和“白色”都应该是正确的。然而,由于大多数以“什么颜色”开头的训练问题都被标记为“白色”答案,“OOD应该与ID不同”的偏见迫使OOD-teacher不公平地淡化“白色”,而ID-teacher则没有。

情况3:如果ID ≈ OOD,则ID-teacher ≈ OOD-teacher。学习是公平的,学生应该平等地听取两位老师的意见。这种情况发生在两者的训练损失接近时。如图 2 (b) 所示,ID-teacher 和 OOD-teacher 产生了相似的预测。

上述内省可以表示为两位教师的混合知识,将其提炼为学习模型。然而,一个悬而未决的挑战是如何获得“oracle”教师,尤其是 OOD-teacher,因为在训练中看不到 OOD 分布,更不用说训练一个教师模型了。由于最近的基于因果关系的方法,可以使用因果模型来近似 OOD-teacher,该模型通过事实外推理想象看不见的世界。

文章中的 IntroD 旨在公平地混合 ID 和 OOD 归纳偏差。如下图所示,它由三个关键部分组成:1) 用于捕获 ID 和 OOD 归纳偏差的因果教师,2) 混合两种不同归纳偏差的内省,以及 3) 对稳健学习模型的蒸馏。其中下图,首先,给定输入问题 q 和上下文 c,因果教师输出 ID-aware 和 OOD-aware 预测;然后,在自省训练样本是否受到归纳偏差的影响后,ID 和 OOD 知识被自适应地混合;最后,混合知识被提炼为学习模型。

3

实验快照

不失一般性,我们将保证视觉质量和提取质量作为案例研究。在VQA-CP 、VQA v2 和 SQuAD上进行实验并验证了文章 IntroD 的有效性

1、VQA 的比较,其中灰色方法表示基线模型

2、用于分布内 (ID) 评估的 VQA-CP v2 val 集的比较。

3、SQuAD比较

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AINLPer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
大佬,java 使用restclient方式该怎么实现呢
大佬,java 使用restclient方式该怎么实现呢
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
ES[7.6.x]学习笔记(七)IK中文分词器
在上一节中,我们给大家介绍了ES的分析器,我相信大家对ES的全文搜索已经有了深刻的印象。分析器包含3个部分:字符过滤器、分词器、分词过滤器。在上一节的例子,大家发现了,都是英文的例子,是吧?因为ES是外国人写的嘛,中国如果要在这方面赶上来,还是需要屏幕前的小伙伴们的~
小忽悠
2020/05/07
1.3K0
ES[7.6.x]学习笔记(七)IK中文分词器
ElasticSearch 小白从入门到精通
ElasticSearch 简称为 ES,ES 是一个分布式的开源搜索和分析引擎,适用于文本、数字、地理空间、结构化数据、非结构化数据等数据的搜索。ES 是在 Apache Lucene 的基础上完成开发。由 Elastic 于 2010 年发布。ES 通过其简单的 REST 风格的 API、分布式特性、速度和可扩容闻名世界。是 Elastic Stack 的核心组件。Elastic Stack 是一套用于数据采集、扩充、保存、分析、可视化的开源工具。Elastic Stack 称之为 ELK。目前 ELK 包含一系列丰富的轻量数据采集代理,这些代理被称之为 Beats。
写bug的高哈哈
2024/03/21
2900
ElasticSearch 小白从入门到精通
ES 分词器相关
规范化,主要实在ES对文本类型进行分词后,按照各自分词器的规范标准,对分词进行二次处理的过程.如was=>is(时态转换),brother‘s=>brother(复数变单数),Watch=>watch(大小写转换)等等,且还可能去掉量词a、an,is等和搜索无关的词语,不同的分词器规范化的过程不一样
郑小超.
2022/09/21
3650
ElasticSearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解
墨墨导读:之前我们分享了ElasticSearch最全详细使用教程:入门、索引管理、映射详解,本文详细介绍ElasticSearch的索引别名、分词器、文档管理、路由、搜索详解。
数据和云
2019/08/16
4.2K0
Elasticsearch 默认分词器和中分分词器之间的比较及使用方法
转载出处:https://zhuanlan.zhihu.com/p/29183128 介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
皇上得了花柳病
2020/05/18
4.1K0
Elasticsearch自定义分词,从一个问题说开去
设计索引的Mapping阶段,要根据业务用途确定是否需要分词,如果不需要分词,建议设置keyword类型;需要分词,设置为text类型并指定分词器。
铭毅天下
2019/05/08
1.4K0
Elasticsearch自定义分词,从一个问题说开去
ElasticSearch 分词器,了解一下
这篇文章主要来介绍下什么是 Analysis ,什么是分词器,以及 ElasticSearch 自带的分词器是怎么工作的,最后会介绍下中文分词是怎么做的。
武培轩
2020/03/09
2.6K0
ElasticSearch 分词器,了解一下
ElasticSearch权威指南学习(索引管理)
"char_filter": { "&_to_and": { "type": "mapping", "mappings": [ "&=> and "] } }
老梁
2019/09/10
5020
Elasticsearch 的分词运用
每个全文索引都是一个倒排索引,ES 在进行检索操作时,会建立倒排索引,将拆分的词进行处理,提高索引命中率。
shanizeng
2020/06/11
1.4K0
018.Elasticsearch分词器原理及使用
默认分词器:按照非字母和非数字字符进行分隔,单词转为小写 测试文本:a*B!c d4e 5f 7-h 分词结果:a、b、c、d4e、5f、7、h
CoderJed
2020/07/06
1.5K0
一起学 Elasticsearch 系列-分词器
在Elasticsearch中,分词器是用于将文本数据划分为一系列的单词(或称之为词项、tokens)的组件。这个过程是全文搜索中的关键步骤。
BookSea
2023/11/27
5340
一起学 Elasticsearch 系列-分词器
Elasticsearch实战(五)-倒排索引与分词
将文本转换成一系列单词的过程,也称文本分析,在 ES 里称为 Analysis。 比如文本【JavaEdge 是最硬核的公众号】,分词结果是【JavaEdge、硬核、公众号】
JavaEdge
2021/02/23
1.3K0
Elasticsearch实战(五)-倒排索引与分词
ElasticSearch中文分词器-IK分词器的使用
得到如下结果,可以发现es的默认分词器无法识别中文中农业、银行这样的词汇,而是简单的将每个字拆完分为一个词,这显然不符合我们的使用要求。
海向
2019/11/08
1.7K0
Elasticsearch分词:内置分词器
"Set the shape to semi-transparent by calling set_trans(5)" 标准分词器(默认使用) 分词结果: set, the, shape, to, semi, transparent, by, calling, set_trans, 5 POST _analyze { "analyzer": "standard", "text": "Like X 国庆放假的" } { "tokens" : [ { "token"
HLee
2020/12/18
2.2K0
Elasticsearch分词:内置分词器
Elasticsearch从入门到放弃:分词器初印象
Elasticsearch 系列回来了,先给因为这个系列关注我的同学说声抱歉,拖了这么久才回来,这个系列虽然叫「Elasticsearch 从入门到放弃」,但只有三篇就放弃还是有点过分的,所以还是回来继续更新。
Jackeyzhe
2020/07/03
5850
Elasticsearch之索引管理、自定义分析器、地理坐标点
Elasticsearch权威指南-索引管理 我们之前的index都是在创建document,让es自动帮我们创建index。现在我们来讲解如何手动创建index,以便更好适用我们的应用。
丁D
2022/08/12
5010
elasticsearch倒排索引与分词
单词词典的实现一般用B+树,B+树构造的可视化过程网址: B+ Tree Visualization
小旋锋
2019/01/21
1.6K0
Elasticsearch 常用分词器介绍与 ik 分词器自定义词库添加
Elasticsearch 是一个基于 Lucene 的搜索服务器,拥有非常强大的全文检索能力。 用户完全可以通过搭建一个 Elasticsearch 集群来实现搜索引擎的基本功能。 但是,Elasticsearch 本身并不支持中文分词,但好在他支持编写和安装额外的分词管理插件,而开源的中文分词器 — ik 就非常强大,具有20万以上的常用词库,可以满足一般的常用分词功能。 本文,我们就来介绍如何安装 ik 分词库,如何为 ik 分词库添加自定义词库。
用户3147702
2022/06/27
2.6K0
Elasticsearch 常用分词器介绍与 ik 分词器自定义词库添加
Elasticsearch常见实用配置与说明(二)
ES索引最常用的设置就是分片数量和副本的数量了,还有一个refresh的时间,关于refresh是怎样的操作,可以参考Elasticsearch倒排索引与文档添加原理
问道白发
2019/12/15
2.3K0
Elasticsearch常见实用配置与说明(二)
elasticsearch分词器
在IKAnalyzer.cfg.xml目录下新建ext.dic文件,stopword.dic(已存在)
九转成圣
2024/04/10
1290
推荐阅读
相关推荐
ES[7.6.x]学习笔记(七)IK中文分词器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档