热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《RecurrentChunkingMechanismsforLongTextMachineReadingComprehension》ACL2020论文阅读

目录论文认为的问题:主要解决办法:BERT的缺陷:模型架构:基于策略的强化学习(policy-basedRL):对目标函数求导

目录

论文认为的问题:

主要解决办法:

BERT的缺陷:

模型架构:

基于策略的强化学习(policy-based RL):

对目标函数求导

模型的loss:

测试阶段:

结果:

补充:



机构为:伊利诺伊大学厄巴纳-香槟分校、微软AI、腾讯AI。


论文认为的问题:

认为当前输入文本的长度是固定的(bert最大为512),而且预测答案是每段文本独立进行预测,获取的文本信息只能局限于本段。故提出了Recurrent Chunking Mechanisms。


主要解决办法:

提出通过增强学习让模型学习决定输入每段的长度。同时通过循环机制让每段文本流动,让机器做决定的时候可以参考除本段之外的信息。循环机制实现可使用gated recurrence和LSTM recurrence。通过上述方法可以在CoQA,QuAC以及TriviaQA数据集上取得较好的效果。


BERT的缺陷:

固定分割,Bert源码举例:

我们来一步一步的计算切分过程:


  • 首先start_offset=0,length=700>max_tokens_for_doc=500,所以第一次的切分就是[0-500],由于length=500>doc_stride=128,所以start_offset=128
  • 第二次start_offset=128,length=700-128=572>max_tokens_for_doc=500,所以第二次的切分就是[128-628],由于length=500>doc_stride=128,所以start_offset这时等于256
  • 第三次start_offset=256,length=700-256=444,所以第三次的切分就是[256-700]
    因此第一次切分的文章长度为500,第二次切分的文章长度为500,第三次剩下的文章长度为444

 切分后的每一篇segment与问题构成一个样本作为BERT的输入,比如在文章长度为700,doc_stride为128的情况下,会切分出来3个segment,于是也就和同一个问题组成了三个example,需要注意的是如果某个segment不包含有答案,那么这个segment是不用的。

所以出现问题:1.以固定长度分割文章,那么就可能导致某些分割后的文章所包含的答案的上下文不充分,也就是说答案在分割后的位置靠近边缘。

上图指出当答案的中心词位置与切分文章的中心词位置之间的距离影响着模型预测答案位置的准确率。

论文提出的第二个问题就是当文章分段送入bert中去,那么模型在阅读了第一个分割片段后的语义信息,应该是是对第二段阅读提取答案有所帮助。但是之前是忽略了这个问题。

首先bert的输入形式如下:

我们重点关注CLS,bert原文中对CLS的描述为:

The final hidden state corresponding to this token is used as the aggregate sequence representation for classification tasks.

也就是说CLS这个token的最终的hidden state聚集了整个sequence的表示,这篇论文的模型的循环机制的原理就是:

将CLS的hidden state通过LSTM/Gate达到循环的目的,具体做法就是将前一个segment的LSTM/Gate的输出作为当前LSTM的hidden state \ \ h_{t-1}

 

在论文源代码中,train_model、val_model、test_model都有这句 for t in range(args.max_read_times) 通过这行代码,我们了解到模型是固定了分割次数的,也就是说模型会在一篇document上分割max_read_times次数。

同样在这三个model中都有下面这行代码:

利用上述代码,实现循环机制。

因为步幅actions的选择是连续的决策过程,通过强化学习来训练分块策略是很自然的。

因此难点在于如何通过强化学习来解决分割document的问题


基于策略的强化学习(policy-based RL):

RL的思想是:环境environment输入给智能体agent一个状态s,agent根据策略 \pi_\theta

其中环境与agent交互,环境给agent的是状态和奖励,agent做出的行为会改变环境的状态。在深度学习中应用强化学习时,策略policy就是神经网络NN。

好的接下来我们定义目标函数:
我们从agent与环境交互所产生的轨迹的角度来定义目标函数:

参照上图,分别解释每一行公式:
首先,给定一个初始状态 s_1

第一行我们已经知道,它的含义就是对策略下 \pi_\theta

这里的第一行公式就是指一条轨迹的产生的概率为:初始状态s_1

在已知上面的公式后,我们对目标函数求导:

第一行公式就是对目标函数求导数,奖励是环境给的,与策略无关,因此只需要计算p(\tau|\theta)

即使不看上述推导过程,也没关系,我们只要知道P(a|s;\theta)

{\widetilde{v}}_c

模型的loss有三个,第一个是答案提取器(Answer Extractor)的loss,它的值是模型预测的答案位置与真实位置的交叉熵:

BERT产生第c个segment中的第i个token产生的vector representation h_{c,i}

 

前两个的损失函数都是交叉熵损失函数,属于监督学习,有明确的标签,但是第三个损失值:

L_{CP}

不过根据前面推导,我们已经推导出该损失函数的导数为:

所以现在我们只需要计算出logP(a|s;\theta)

定义:

作为当前的segment预测答案位置的分数

然后根据当前状态下所作出的行为a^\ast

总计会有max_read_times个,我们取出来其中值最大的作为模型在切分了一篇文章max_read_times后所作出的综合预测。


结果:

根据此表我们可以看出来,当最大长度max_seq_len限制为512的时候,其实这种循环切分的机制并没有比BERT-large有什么明显的效果,主要原因是,CoQA和QuAC数据集的文章大部分不是特别的长

根据上图我们了解到,CoQA和QuAC的训练集合的文章长度平均为352和516个单词,显然很多文章并不需要切分。因此Recurrent chunking机制发挥不了什么作用,但是随着最大长度的减小,比如,当最大长度限制为192的时候,也就是说当一篇文章会被切分成很多长度不超过192的segment的时候,循环切分的方式明显好于baseline,因为baseline的做法是将切分的各个segment独立的预测答案,而且也不考虑answer在segment中的位置,前面已经分析了,那些answer位置在segment位置中心的答案容易预测出来,而处于segment边缘的答案由于缺少足够的上下文,是不容易准确的预测出来的。

下表是在TriviaQA数据集上的实验结果:

因为TriviaQA数据集比较长,max_seq_len固定为512的情况下,显然循环切分机制效果要好于baseline的,说明循环切分机制适用于处理长文本。

上图指的是BERT-large这个基线模型和RCM这个循环切分机制在切分文本时,切分的文本包含完整答案在切分的所有文本中的比例,也叫Hit rate,命中率。显然循环切分机制切分的文章中有大部分都是包含完整答案的。而baseline这种按照固定滑动步数切分文章的做法,有相当一部分的文章是不包含有答案的。


补充:

在循环切分机制当中,对于不包含有答案的segment,仍然会保留下来作为样本参与训练,因为整个切分过程是在一篇document上连续切分的,中间断了显然是不行的,而且我们需要让模型学会避免切分出这种不包含answer的segment.具体的做法是,对于不包含答案的segment,和question构成一个example输入到BERT当中,BERT的CLS的表示和上一时刻的segment的LSTM的输出一起输入到LSTM当中,得到{\widetilde{v}}_c

红色字体代表的是answer,第一次切分时,固定到max_seq_length为止,也就是图片中的黄色部分,第二次切分时,向右滑动128个单词,滑动有点多,答案到右边界,也就是蓝色部分chunk 2,第三次切分下模型向左移动了16个单词,目的是使得第三个chunk包含答案更多的上下文,也就是图片中的橘色部分,显然这种切分方式比固定切分要好,而且固定的切分方式是不会向左移动的。

 


推荐阅读
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 使用多项式拟合分析淘宝双11销售趋势
    根据天猫官方数据,2019年双11成交额达到2684亿元,再次刷新历史记录。本文通过多项式拟合方法,分析并预测未来几年的销售趋势。 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 类加载机制是Java虚拟机运行时的重要组成部分。本文深入解析了类加载过程的第二阶段,详细阐述了从类被加载到虚拟机内存开始,直至其从内存中卸载的整个生命周期。这一过程中,类经历了加载(Loading)、验证(Verification)等多个关键步骤。通过具体的实例和代码示例,本文探讨了每个阶段的具体操作和潜在问题,帮助读者全面理解类加载机制的内部运作。 ... [详细]
  • Flowable 流程图路径与节点展示:已执行节点高亮红色标记,增强可视化效果
    在Flowable流程图中,通常仅显示当前节点,而路径则需自行获取。特别是在多次驳回的情况下,节点可能会出现混乱。本文重点探讨了如何准确地展示流程图效果,包括已结束的流程和正在执行的流程。具体实现方法包括生成带有高亮红色标记的图片,以增强可视化效果,确保用户能够清晰地了解每个节点的状态。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
author-avatar
淘宝杂谈网z
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有