强化学习新模型Jumper,让神经网络学习在阅读中何时做决定

栏目: 数据库 · 发布时间: 6年前

内容简介:雷锋网论文题目:JUMPER: Learning When to Make Classification Decisions in Reading论文地址:

雷锋网 (公众号:雷锋网) 按:本文原作者为深度好奇研究组,原发表于公众号“深度好奇AI”(deeplycurious)。雷锋网已获授权转载。

论文题目:JUMPER: Learning When to Make Classification Decisions in Reading

论文地址: (请戳此处)

文本理解是自然语言处理领域的一个核心目标,最近取得了一系列的进展,包括机器翻译、问答等。不过之前的工作大多数是关心最终的效果,而人们对于模型何时做出决定(或做决定的原因)却知之甚少,这是一个对于理论研究和实际应用都非常重要的课题。深度好奇(DeeplyCurious.AI) 最近在IJCAI-2018上展示了一个学习何时做分类决策的强化学习模型:Jumper, 该论文将文本分类问题建模成离散的决策过程,并通过强化学习来优化,符号化表征模型的决策过程具有很好的可解释性,同时分类效果也达到最高水平。

本文提供了一种新的框架,将文本理解建模为一个离散的决策过程。通常在阅读过程中,人们寻找线索、进行推理,并从文本中获取信息;受到人类认知过程的启发,我们通过将句子逐个地递送到神经网络来模仿这个过程。在每个句子中,网络基于输入做出决策(也称为动作),并且在该过程结束时,该决策序列可以视为是对文本有了一些“理解”。

特别一提的是,我们专注于几个预定义子任务的文本分类问题。当我们的神经网络读取一个段落时,每个子任务在开始时具有默认值“无”(None)。 在每个决策步骤中,段落的句子按顺序被递送到神经网络;之后,网络来决定是否有足够的信心“跳转”到非默认值作为特定时间的预测。我们施加约束,即每次跳转都是最终决定,它不可以在后面的阅读中被更改。如图1所示,给定一段话,有多个预先定义好的问题等待回答;模型按句子阅读,在阅读过程中,问题的答案陆续被找到。模型从默认决策到非默认决策都是一个“跳转”的过程,正因此我们称模型为Jumper。在人类阅读的过程中,人们通常会获得一致的阅读理解的结果,但是阅读理解过程中的很多环节却经常是微妙和难以捉摸的。同样,我们也假设我们的训练标签仅包含最终结果,并且没有给出关于模型应该做出决定的步骤的监督信号。也就是说,我们通过强化学习在弱监督信号情况下训练Jumper模型。

强化学习新模型Jumper,让神经网络学习在阅读中何时做决定

图1 Jumper模型在阅读段落的决策过程

Jumper模型主要由编码层、控制器、符号输出层构成。编码层将句子编码成定长的向量,控制器根据历史和当前输入产生当前的决定,符号输出层使模型的输出满足跳转约束,即每个决策过程最多只能有一次跳转。

强化学习新模型Jumper,让神经网络学习在阅读中何时做决定

图2 Jumper模型的基本框架

跳转约束的作用在于使模型更加慎重地决定何时跳转。因此,Jumper模型的优化目标有两个,第一个是尽可能早地“跳转”,第二个是尽可能预测准。假设t* 是最佳的跳转时间,那么如果模型在t* 时刻之前跳转,则模型还没有看到真正的pattern,那么得到的答案等同于随机猜;如果模型在t* 时刻之后跳转,而t* +1句话可能不存在,因此没有机会跳转从而预测错误。

通过上述建模,论文把文本分类问题转化为离散的决策过程,训练好的Jumper输出的离散决策过程就可以表达模型对文本的理解过程;而决策过程本身并没有标签,因此我们用policy gradient强化学习算法来训练,如果最终的决定和分类标签一致,就奖励整个决策动作,如果不一致,则惩罚。

我们对三个任务评估了Jumper,包括两个基准数据集和一个实际工业应用。我们首先分析了Jumper的分类准确性,并与几个基线进行了比较。表1显示Jumper在所有这些任务上实现了相当或更好的性能,这表明将文本分类建模为顺序决策过程不仅不会损害、甚至提高了分类准确性。

强化学习新模型Jumper,让神经网络学习在阅读中何时做决定

表1 在电影评论数据集(MR)、新闻数据集(AG)和工伤数据集(OI)的测试集上的准确率

我们想指出,“准确性”并不是我们关注的唯一表现。更重要的是,提出的模型能够减少阅读过程,或者找到文本分类的关键支撑句。只要在阅读过程中基于“跳转约束”限制而看到足够的证据,Jumper就能做出决定,并且在预测之后不需要再阅读之后的句子。在表2中可以看到,我们的模型与强基线相比达到了相似或更高的性能,与此同时,它还将文本读取的长度缩减了30-40%,从而加速了推断预测。

强化学习新模型Jumper,让神经网络学习在阅读中何时做决定

表2

除了准确率高和推断速度快以外,我们更好奇Jumper是否能够在信息提取式任务(例如工伤级别分类任务)中找到正确的位置做出决策。我们在400个数据点中标注关键支撑句(即最佳跳转位置)作为测试基础。需要注意的是,在这个实验中我们仍然没有跳转位置的训练标签。我们将Jumper与使用相同神经网络的层级CNN-GRU模型进行比较,但在训练方法方面有所不同;层级CNN-GRU在训练时,用段落末尾的交叉熵作为损失函数。在测试期间,我们将预测器应用于每个步骤并找到它做出预测的第一个位置。我们还列出了一个经典CNN的结果作为基线模型,并使用了最大池化操作(max-pooling)选择的单词最多的那些句子来作为测试数据。我们使用了跳转动作的准确率来评测Jumper。通过表3可知,Jumper准确地找到了测试集中所有关键支撑句的位置,说明我们的单跳约束迫使模型更仔细地思考何时做出决策,也验证了强化学习是学习决策正确位置的有效方法。

强化学习新模型Jumper,让神经网络学习在阅读中何时做决定

表3 各模型在工伤等级分类任务(OI-Level)上寻找关键支撑句的效果统计。该任务的关键支撑句在文本中通常聚集于一处,不存在歧义,便于衡量各模型效果。CA:分类准确率,JA:跳跃准确率,OA:在分类准确条件下的跳跃准确率

图3则显示了Jumper在阅读时做出决策的过程。其中,Jumper在前六个句子中保持默认决策(不做跳转),而在到达关键支撑句时突然跳转,这体现了Jumper可以识别关键支撑句,从而找到最佳跳跃位置。因此,在这类关键支撑语句集中出现时,Jumper可以在完成分类任务的同时找到关键支撑句,因此具有较强的可解释性。 强化学习新模型Jumper,让神经网络学习在阅读中何时做决定

图3 Jumper决策序列展示

总结

我们提出了一种新的模型Jumper,它在阅读段落时将文本分类建模为逐个句子的顺序决策过程。我们通过强化学习训练带有跳转约束的Jumper,实验表明:1) Jumper的性能与基线相当或更高;2) 它在很大程度上减少了文本阅读量;3) 如果所需信息在文中的分布是局域性的,它可以找到关键的支撑句子,具有很好的可解释性。

雷锋网版权文章,未经授权禁止转载。详情见 转载须知


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

STL源码剖析

STL源码剖析

侯捷 / 华中科技大学出版社 / 2002-6 / 68.00元

学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。 这本书所呈现的源码,使读者看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;看到各种算法(排序、查找、排列组合、数据移动与复制技术......一起来看看 《STL源码剖析》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具