研究人员提出了“Skim-RNN”的概念,用很少的时间进行快速阅读

电子说

1.2w人已加入

描述

循环神经网络(RNN)是用于自然语言建模的主流架构,通常,RNN按顺序读取输入的token,再输出每个token的分布式表示。通过利用相同的函数来循环更新隐藏状态,RNN的计算成本将保持不变。虽然这一特点对于某些应用来说很常见,但在语言处理过程中,并不是所有token都同等重要,关键要学会取舍。例如,在问答题中,只对重要部分进行大量计算,不相关部分分配较少的计算才是有效的方法。

虽然有注意力模型和LSTM等方法提高计算效率或挑选重要任务,但它们的表现都不够好。在本篇论文中,研究人员提出了“Skim-RNN”的概念,用很少的时间进行快速阅读,不影响读者的主要目标。

Skim-RNN的构成

循环神经网络

受人类快速阅读原理的启发,Skim-RNN的结构由两个RNN模型构成:较大的默认RNN模型d和较小的RNN模型d’。d和d’是用户定义的超参数,并且d’<< d。

如果当前token比较重要,Skim-RNN就会使用大的RNN;如果不重要,它就会转向使用小的RNN。由于小RNN比大RNN需要的浮点运算次数更少,所以该模型比单独使用大RNN所得结果更快,甚至更好。

推理过程

在每一步骤t中,Skim-RNN将输入的Xt∈Rd和之前的隐藏状态ht-1∈Rd作为其参数,输出新的状态ht。k代表每一步做出harddecision的次数。在Skim-RNN中,不论是完全阅读或跳过,k=2。

研究人员使用多项随机变量Qt对选择概率分布Pt的决策过程进行建模。Pt表示为:

循环神经网络

这里,W∈Rk×2d,b∈Rk。

接下来我们定义随机变量Qt,通过从概率分布Pt对Qt进行采样:

循环神经网络

如果Qt=1,那么该模型与标准RNN模型一样。如果Qt=2,那么模型选用了较小RNN模型以获取较小的隐藏状态。即:

循环神经网络

其中f是带有d输出的完全RNN,而f'是带有d'输出的小RNN,d'<< d。

实验结果

研究人员在七组数据集上对Skim-RNN进行测试,包括分类测试和问答题两种形式,目的是为了检验模型的准确度和浮点运算减少率(Flop-R)。

循环神经网络

文本分类

在这项任务中,输入的是单词序列,输出的是分类概率的向量。最终,下表显示出Skim-RNN模型与LSTM、LSTM-Jump的精确度和计算成本对比。

循环神经网络

以SST、烂番茄、IMDB和AGnews四个网站为例进行本文分类,在标准LSTM、Skim-RNN、LSTM-Jump和最先进的模型(SOTA)上进行对比

循环神经网络

改变较小隐藏状态的尺寸的影响,以及参数γ对精确度和计算成本的影响(默认d=100,d'=10,γ=0.02)

下图是IMDB数据集中的一个例子,其中Skim-RNN的参数为:d=200,d'=10,γ=0.01,最终将本段文字正确分类的概率为92%。

循环神经网络

其中黑色的字被略过(用小LSTM模型,d'=10),蓝色的字表示被阅读(用较大的LSTM模型,d=200)

和预期的一样,模型忽略了类似介词等不重要的词语,而注意到了非常重要的单词,例如“喜欢”、“可怕”、“讨厌的”。

回答问题

这项任务的目的是在给定段落中找到答案的位置。为了检测Skim-RNN的准确度,研究人员建立了两个不同的模型:LSTM+注意力和BiDAF。结果如下所示:

循环神经网络

F1和EM值可表明Skim-RNN的准确度。最终发现,速读(skimming)模型的F1分数比默认没有速读(non-skimming)的模型相同甚至更高,并且计算成本消耗得更少(大于1.4倍)。

循环神经网络

LSTM+注意力模型中,不同层的LSTM速度率(skimming rate)随γ的变化而变化的情况

循环神经网络

LSTM+注意力模型的F1分数。计算成本越大,模型表现得越好。在同样的计算成本下,Skim LSTM(红色)比标准LSTM(蓝色)的表现要好。另外,Skim-LSTM的F1分数在不同参数和计算成本下都更稳定

循环神经网络

F1分数与Flop-R之间的关系

下图是模型回答问题的一个例子,问题为:最大的建筑项目(construction project)也称作什么?(正确答案:megaprojects)

模型给出的答案:megaprojects。

循环神经网络

红色代表阅读,白色代表略过

运行时间

循环神经网络

上图显示了与标准LSTM相比,Skim-LSTM的相对速度增益的隐藏状态有不同大小和速度速率。在这一过程中,研究人员使用的是NumPy,并在CPU的单个线程上进行推论。

可以看到,实际增益(实线)和理论增益(虚线)之间的差距无法避免。随着隐藏状态增大,这一差距会减小。所以对于更大的隐藏状态,Skim-RNN的表现会更好。

结语

本次研究表明,新型循环神经网络Skim-RNN可以根据输入的重要性决定使用大的RNN还是小的RNN,同时计算成本比RNN更低,准确度与标准LSTM和LSTM-Jump相比类似甚至更好。由于Skim-RNN与RNN具有相同的输入输出接口,因此可以轻松替换现有应用中的RNN。

所以,这样工作适用于需要更高隐藏状态的应用,比如理解视频,同时还可以利用小RNN做不同程度的略读。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分