论文笔记-Training RNNs as Fast as CNNs

摘要

由于在并行状态计算上的内在困难,RNN架构很难扩展。
比如,h_t 的前向计算被阻止直到 h_(t−1) 的整个计算结束,这对并行计算来说是一个主要的瓶颈。在这项工作中,我们提出了Simple Recurrent Unit (SRU) 架构,简化了计算并展现更多的并行性。在SRU中,每一步的大部分计算都是独立的,可以很容易的并行化。SRU和卷积层一样快,并且优化后的LSTM实现快5-10x。我们在大量应用程序上研究了SRUs,包括分类、问题回答、语言建模、翻译与语音识别。我们的实验证明了SRU的有效性以及在速度和性能之间的折衷。

简介

这里写图片描述

方法

SRU

很多循环架构,包括LSTM和GRU,使用门来控制信息流来缓解梯度消失和爆炸的问题。我们将一个门定义为一个sigmoid激活函数的单层前馈网络。门输出使用点乘运算来组合两个输入,例如当前和之前的时间戳。 前馈网络的计算,特别是矩阵乘法是这个过程中最昂贵的操作,而点乘是相对较轻的。 SRU中的关键设计决策是使门计算仅依赖于递归的当前输入。 这只留下依赖于前面步骤的点乘计算。 前馈网络中涉及的矩阵乘法可以很容易地并行化。
SRU的基本形式包括一个遗忘门。 给定t时刻的输入xt,我们计算一个线性变换x~(Lei et al., 2017; Lee et al., 2017)和遗忘门ft:
这里写图片描述
这个计算仅依赖于xt,这使得它可以在所有时间步中并行的计算。遗忘门被用来调节内部状态ct,ct用于计算输出状态ht:
这里写图片描述
g(.)一个用来产出输出状态ht的激活函数。
完整架构还包括skip connection,skip connection已被证明可以提升大规模网络层的深层网络训练(He et al., 2016; Srivastava et al., 2015; Wu et al., 2016a)。 我们使用highway connection(Srivastava et al., 2015),并添加一个类似于遗忘门ft的重置门rt。重置门用来计算输出状态ht作为内部状态g(ct)和输入xt的组合。 完整的架构是:
这里写图片描述
注:(5)的最后一个xt是不应该是x~t。

和一般架构的关系

现有的RNN架构在循环计算中使用先前的输出状态h(t-1)。 例如,在LSTM中,通过ft =σ(Wf xt + Rf ht-1 + bf)来计算遗忘门矢量。 包含Rht-1破坏了独立性和并行化:隐藏状态ht的每个维度依赖于ht-1,并且ht的计算必须等到ht-1被完全计算后。 在GRU和其他RNN变体中都存在类似的设计选择,在整个计算中使用ht-1。
我们建议完全放弃步骤t的门控计算与步骤t-1状态之间、h和c的之间的连接。给定输入向量序列{x1,…,xn},不同时刻t=1,…,n的{x~t, ft, rt}之间是独立的,可以被并行计算。我们架构的计算瓶颈是在公式1-3中的是哪个矩阵乘法。在计算x~t, ft, rt后,公式4和5中的所有操作都是元素级的,计算速度很快。
这里写图片描述

对比LSTM

SRU少了一个输入门i,SRU的重置门相当于LSTM的输出门。
这里写图片描述
这里写图片描述
SRU is faster than LSTM.
To achieve the same performance, SRU has to stack more layers than LSTM.
Stacking multiple SRU layers is possible. Compared with 4 layers are the limit of LSTM, 10-layer SRU is still able to converge and get a lower perplexity.
2-layer LSTM works significantly better than 1-layer LSTM while 4-layer LSTM is no better than 2-layer LSTM.
Larger embedding size boots final result little.
Kowning previous attention surely helps model predict which is easy to notice. However, SRU achieves similar performance without previous attention information. I assume the skip connection and attention provides complementary information.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值