易八达全球华人第一资讯门户网站-

  • 纽约
  • 旧金山
  • 芝加哥
  • 西雅图
  • 洛杉矶
  • 学界 | CMU与谷歌新研究提出文本跳读方法,速度可达标准序贯LSTM的6倍

    2017-04-25 20:17:00 来源: 机器之心

    选自arXiv

    机器之心编译

    参与:吴攀

    因为很多文本内容都含有一些与主题不相关的东西,所以让机器学会根据上下文进行跳读可以大大节省文本处理的时间和效率。近日,卡内基梅隆大学和谷歌的研究者提出了一种让计算机可以学习跳读的新方法 LSTM-Jump,据该论文《Learning to Skim Text》介绍:这种模型的速度可以达到标准序贯 LSTM 的 6 倍,而且还能保证良好的准确度结果。机器之心对该研究的论文进行了摘要介绍,原论文可点击文末「阅读原文」查阅。想要更深入了解文本跳读研究的读者可参阅另一篇文章:《MetaMind 深度解读 NLP 研究:如何让机器学习跳读》。



    在自然语言处理的很多子领域,循环神经网络都表现出了很大的潜力,这些子领域涵盖文档分类、机器翻译和自动问答等等。尽管潜力巨大,但许多循环模型都必须要逐词阅读整个文本,这会使得长文档的处理速度缓慢。比如说,要使用一个循环网络阅读一本书并回答有关于其的问题是很困难的。在这篇论文中,我们提出了一种阅读文本的方法,其可以在有需要的时候跳过不相关的信息。该方法的底层模型是一个循环网络,其可以在阅读了少量输入文本的词之后了解需要跳过多少内容。我们使用一种标准的策略梯度方法训练了该模型,使其可以做出离散的跳跃决策。在不同的四种任务(包括数值预测、情感分析、新闻文章分类和自动问答)的基准上,我们提出的一种带有跳过(jumping)的修改过的 LSTM 的速度可以达到标准序贯 LSTM(sequential LSTM)的 6 倍,而且同时还能维持同样的准确度或甚至达到更好的准确度。


    2 方法


    在这一节,我们介绍了我们提出的模型 LSTM-Jump。我们首先描述了其主要结构,后面介绍了评估该模型部分参数由不可微分性(nondifferentiability)而造成的难点。为了解决这个问题,我们借助了一种强化学习形式并采用了一种策略梯度方法。


    2.1 模型概述


    我们提出的模型的主要架构如图 1 所示,该模型基于一个 LSTM 循环神经网络。在训练之前,首先要选择允许的 jump 的数量 K、每两次 jump 之间读取的 token 的数量 R 和最大的 jump 大小 K。对于该模型,K 是一个固定的参数,而 N 和 R 是可以在训练和测试中变化的超参数。另外,在这篇论文中,我们会使用 d1:p 来表示一个序列 d1, d2, ..., dp


    图 1:我们提出的用于处理文本文档的模型的一个合成样本。在这个例子中,jump K 的最大大小为 5,一次 jump 之前读取的 token R 为 2,允许的 jump 数量为 10. 绿色的 softmax 用于 jump 预测。处理过程终止的情况有三种:a) 这个 softmax 预测到了一个 0、b) jump 次数超过了 N、c) 该网络处理完了最后一个 token。图中仅给出了 a) 的情况。


    接下来,我们详细讨论该模型在处理文本时是如何工作的。给定一个训练样本 x1:T,该循环网络将读取第一个 R token x1:R 的嵌入,并输出隐藏状态(hidden state)。然后该状态会被用于计算 jumping softmax,其确定了 1 到 K jump 步骤上的分布。然后该模型会从这个分布采样一个 jump 步骤,其会被用于确定下一个被读入该模型的 token。设 κ 为被采样的值,那么下一个起始 token 是 xR+κ。这个过程会持续,直到遇到下列情况:


    a) 这个 jump softmax 采样了一个 0

    b) jump 次数超过了 N

    c) 该网络处理完了最后一个 token xT


    在停止之后,作为输出,最后的隐藏状态将会进一步被用于预测想得到的目标。怎样利用这个隐藏状态取决于当前特定的任务。比如说,对于 3.1、3.1 和 3.3 中的分类问题,其可以直接被用于产生一个用于分类的 softmax;而在 3.4 中的问答问题上,其可被用于计算与候选答案之间的关联,以便选择出其中最好的一个。图 1 给出的例子是 K = 5、R = 2、N = 10,终止于条件 a)。


    3 实验结果


    表 1:任务和数据集统计


    表 3:合成数值问题的测试准确度和时间。其 jumping level 是数值


    表 4:在 Rotten Tomatoes 评论分类数据集上的测试时间和准确度。在所有设置中,jump K 的最大大小被设置为 10。其 jumping level 是词


    表 5:在 IMDB 情感分析数据集上的测试时间和准确度。在所有设置中,jump K 的最大大小被设置为 40。其 jumping level 是词


    表 6:在 AG 新闻分类数据集上的测试时间和准确度。在所有设置中,jump K 的最大大小被设置为 40。其 jumping level 是字符


    表 7:在 Children‘s Book Test 数据集上的测试时间和准确度。在所有设置中,jump K 的最大大小被设置为 5。其 jumping level 是句子  



    本文为机器之心编译,转载请联系本公众号获得授权

    ✄------------------------------------------------

    加入机器之心(全职记者/实习生):hr@jiqizhixin.com

    投稿或寻求报道:editor@jiqizhixin.com

    广告&商务合作:bd@jiqizhixin.com

    来源: 机器之心
    您需要登录后才可以发布评论 登录 | 会员注册
    最新评论

      免责声明

      (1) 本网站中的文章(包括转贴文章)的版权仅归原作者所有,若作者有版权声明的或文章从其它网站转载而附带有原所有站的版权声明者,其版权归属以附带声明为准;文章仅代表作者本人的观点,与本网站立场无关;

      (2) 任何单位或个人认为本站内容可能涉嫌侵犯其合法权益,应该及时向本站书面反馈,并提供身份证明、权属证明及详细情况证明,本站在收到上述文件后将会尽快移除相关内容。

      Web Analytics
      Real Time Analytics