欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2025/3/15 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 KDD 2017 《ReasoNet: Learning to Stop Reading in Machine Comprehension》论文笔记 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

  • 简介
  • 动机
  • 贡献
  • 方法
  • 实验

简介

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

动机

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

贡献

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

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

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

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

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

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

    其中,bbb的计算公式为:

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

    实验

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

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

    总结

    以上是生活随笔为你收集整理的KDD 2017 《ReasoNet: Learning to Stop Reading in Machine Comprehension》论文笔记的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。