4、 highway LSTM
highwayLSTM是LSTM的变体,主要解决多层LSTM网络引起的梯度弥散问题。Highway翻译成中文就是”高速公路“,也就是说Highway LSTM提供了一条”高速公路“,让信息(细胞状态)可以在不同层之间畅通无阻的流通。通过在相邻层的记忆单元之间引入门控直接连接来扩展深度长短期记忆(DLSTM)循环神经网络。这些直接连接被称为highway连接,使不同层之间的信息流动不受阻碍,从而缓解了构建深度长短时记忆的梯度消失问题。进一步,作者介绍了延迟控制的双向LSTM(BLSTM),它可以在控制延迟的情况下利用整个历史信息。
图9 Highway长短期记忆RNNs
通过上图,我们可以看出Highway LSTM增加了一个控制门,叫carry gate(上图中的(d_t)^(l+1) ),用来控制低层的细胞状态有多少信息可以传递给高层的细胞状态(这是一种空间上的捷径)。如果carry gate为1,那么就像是一条highway,低层的细胞状态就可以畅通无阻的流向高层
LSTM RNN最初是为了解决RNN中的梯度递减问题而提出的。它在时间t的记忆单元状态c_t和t-1的同一单元状态c_t-1之间引入了线性依赖关系。引入非线性门以控制信息流。网络运行遵循以下公式:
深度LSTM RNNs是由多层LSTM单元堆叠而成。具体来说,下层LSTM单元的输出(y_t)^l作为输入(x_t)^l+1被送入上层。每个LSTM层在时间上是很深的,因为它可以在时间上展开,成为一个前馈神经网络,其中每层共享相同的权重,但深度LSTM RNNs仍然大大超过了单层LSTM RNNs的表现。在经典的DLSTM RNNs中,不同层的单元之间的互动必须通过输出-输入连接。
本文提出的Highway LSTM(HLSTM)RNN如图9所示。它在下层l的存储单元(c_t)^l和上层l+1的存储单元(c_t)^l+1之间有一个直接的门控连接(红色块)。carry gate控制多少信息可以从下层细胞直接流向上层细胞。在时间t的l+1层的门控函数为
使用carry gate,一个HLSTM RNN在第(l+1)层计算单元状态
因此,根据carry gate的输出,highway连接可以在普通LSTM层之间平滑地改变其行为,或者简单地从上一层传递其单元记忆。不同层的单元之间的highway连接使得从一层的单元到另一层的影响更加直接,并且在训练较深的LSTM RNNs时可以缓解梯度消失的问题。
上面描述的单向LSTM RNNs只能利用过去的历史。然而,在语音识别中,未来的上下文也传递信息,应该利用它来进一步增强声学模型。双向RNN通过用两个独立的隐藏层处理两个方向的数据来利用过去和未来的上下文,因此可以提高语音识别结果。将HLSTM RNNs从单向扩展到双向。后向层遵循前向层使用的相同方程,只是t-1被t+1取代,以利用未来的帧,模型的运行时间为t=T到1。前向和后向层的输出被串联起来,形成下一层的输入。
前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及API等资源。