循环神经网络(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做不同程度的略读。
-
循环神经网络
+关注
关注
0文章
38浏览量
2969
原文标题:用Skim-RNN显著降低计算成本,实现“速读”
文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论