KDD 2017 《ReasoNet: Learning to Stop Reading in Machine Comprehension》论文笔记

简介

本文面向机器阅读理解问题(Machine Reading Comprehension),作者来自微软研究院。
下载链接

动机

现有的方法可以分为两类:单步推理(Single turn)、多步推理(multiple turns)。多步推理是由单步推理衍生而来,单步推理又可以看做是多步推理的特例(turn=1)。这两种方法的共同点是,推理轮数固定,这不符合人类的阅读行为。人会根据当前是否得到了足够的信息,决定中止阅读或继续阅读。本文基于此动机,提出ReasoNet,可以动态决定推理轮数。

贡献

  1. 将强化学习和多步推理结合,可动态终止推理过程。
  2. 实验结果较好,是SOTA模型。

方法

本文方法的整体架构如下图所示。按照原文的划分,主要包括5个部分,下面一一介绍。

  • Memory
    是一个外部库, M = { m i } i = 1... D M=\{m_i\}_{i=1...D} M={mi}i=1...D,用于生成attention。
  • Attention
    通过隐状态和外部库,得到当前时间步的attention, x t = f a t t ( s t , M ; θ x ) x_t=f_{att}(s_t,M;\theta_x) xt=fatt(st,M;θx)
  • Internel State
    每个时间步的隐状态,通过RNN得到, s t + 1 = R N N ( s t , x t ; θ s ) s_{t+1}=RNN(s_t,x_t;\theta_s) st+1=RNN(st,xt;θs)
  • Termination Gate
    终止门,用于判断当前时间步是否终止, t t ∼ p ( ⋅ ∣ f t g ( s t ; θ t g ) ) t_t \sim p(·|f_{tg}(s_t;\theta_{tg})) ttp(ftg(st;θtg)) t t t_t tt是一个二值随机变量,当它是true时,终止。
  • Answer
    t t = t r u e t_t=true tt=true时,得到answer, a t ∼ p ( ⋅ ∣ f a ( s t ; θ a ) ) a_t \sim p(·|f_a(s_t;\theta_a)) atp(fa(st;θa))

整个Inference过程如算法1所示:

在模型的优化过程中,梯度计算公式为:

上式中, b T b_T bT一般是预设的值 b T = E π [ r T ] b_T=E_{\pi}[r_T] bT=Eπ[rT],并根据 b T = λ b T + ( 1 − λ ) b T b_T=\lambda b_T+(1-\lambda)b_T bT=λbT+(1λ)bT不断更新,被称作reward baseline(奖励基线),用于在强化学习任务中降低方差。但是在本文中,作者发现,这么做收敛很慢,因为 b T b_T bT不能捕获dynamic termination behavior。作者将梯度计算公式改为:

其中, b b b的计算公式为:

作者还说了,使用 r T b − 1 \frac{r_T}{b}-1 brT1代替 r T − b r_T-b rTb能够更快的收敛。

实验

在两个数据集上的实验结果:

在CNN数据集上, termination step的分布情况:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值