学界 | CMU与谷歌新研究提出文本跳读方法,速度可达标准序贯LSTM的6倍

选自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 是句子

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

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-04-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

可能提高GAN性能的方法介绍

生成器试图找到最好的图像来欺骗鉴别器。当两个网络互相对抗时,“最佳”图像不断变化。但是,优化可能会变得过于贪心,使其陷入永无止境的猫捉老鼠游戏中。这是模型不收敛...

25740
来自专栏AI科技评论

学界 | ACL论文精彩论文演讲:simGAN+domain tag训练出表现优异的半监督问答模型(图文全文)

AI 科技评论按:虽然ACL 2017已经落下帷幕,但对精彩论文的解读还在继续。下面是 AI 科技评论在ACL现场记录的Zhilin Yang的报告。Zhili...

34840
来自专栏数据派THU

独家 | 一文带你上手卷积神经网络实战(附数据集、学习资料)

原文标题:Understanding deep Convolutional Neural Networks with a practical use-case ...

43580
来自专栏IT派

推荐!PlayGround:可视化神经网络

PlayGround是一个在线演示、实验的神经网络平台,是一个入门神经网络非常直观的网站。这个图形化平台非常强大,将神经网络的训练过程直接可视化。同时也能让我们...

15920
来自专栏机器学习、深度学习

车牌检测识别--Towards End-to-End Car License Plates Detection and Recognition with Deep Neural Networks

Towards End-to-End Car License Plates Detection and Recognition with Deep Neural...

52790
来自专栏奇点大数据

深度学习入门

机器学习技术正越来越多的出现在消费级产品上,比如照相机和智能手机。 机器学习系统可用于识别图像中的对象,将语音转换成文本,选择搜索结果的相关项,以及匹配新闻、帖...

10030
来自专栏LhWorld哥陪你聊算法

【深度学习篇】--神经网络中的调优一,超参数调优和Early_Stopping

1、适当调整隐藏层数 对于许多问题,你可以开始只用一个隐藏层,就可以获得不错的结果,比如对于复杂的问题我们可以在隐藏层上使用足够多的神经元就行了, 很长一段时间...

1K30
来自专栏Zephery

Adaboost

NaiveBayesSpamFilter 利用朴素贝叶斯算法实现垃圾邮件的过滤,并结合Adaboost改进该算法。 1 Naive Bayes spam fil...

29470
来自专栏数据派THU

独家 | 初学者的问题:在神经网络中应使用多少隐藏层/神经元?(附实例)

本文将通过两个简单的例子,讲解确定所需隐藏层和神经元数量的方法,帮助初学者构建神经网络。

30300
来自专栏null的专栏

可扩展机器学习——线性回归(linear Regression)

注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图...

34350

扫码关注云+社区

领取腾讯云代金券