全球人工智能
文章来源:大数据与多模态计算 作者: 王洪松
导读:长短期记忆网络(Long Short-Term Memory,LSTM)适合于处理和预测时间序列中间隔和延迟较长的问题,近年来在语音处理、行为识别、视频分析等领域得到了广泛应用。本文将为大家深入介绍LSTM方法及其不同的变体。
RNN的缺点
前馈网络(多层感知器和卷积神经网络)的输入是一个没有上下文联系的单位,无法处理有明显的上下文关联的输入(比如,时间序列)。递归神经网络(Recurrent Neural Network, RNN)就适合处理序列化输入,最简单的RNN结构计算如下:

在时间上展开,结构如下:

这种结构可以看作是时间上的深度神经网络,与一般的深度前馈网络的不同之处在于它不同层的参数是共享的,比如,以上不同时刻的WR是一样的。
普通RNN最大的问题是网络训练的时候会出现梯度膨胀或者梯度消失(Vanishing / Exloding Gradients)[1]。原因可以通过对参数的求导来解释:

可以看到,当T很大的时候,若W的范数大于1,就出现梯度膨胀,若W的范数小于1,就出现梯度消失。
LSTM的设计
长短期记忆网络(Long Short-Term Memory,LSTM)就是为了解决这个问题。结构图如下所示。

公式如下:

可以发现,相比于传统的RNN结构,主要增加了三个控制门:输入门、输出门、遗忘门。输入门学习来决定何时让激活传入存储单元,而输出门学习何时让激活传出存储单元,遗忘门学习何时让上一个时刻的存储单元传入下一个时刻的存储单元。
如果去掉三个控制门(或者,把三个控制门的值设定为常数1),LSTM就退化为简单的RNN结构。
High Way Networks 与 LSTM
LSTM最大的创新是控制门的引入,解决了梯度膨胀或者消失的问题,使得在时间上展开的深度神经网络变得容易训练。这让我们不禁联想到,控制门的思路能否利用到前馈网络之中,使得可以训练 very deep 的网络?High Way Networks [2] 就是受到这种思想的启发。
普通的前馈网络的某一层表达如下:
High Way Networks 增加了一个非线性的含参数的控制门transformgate:
容易发现:

后来名声远扬的 ResNet [3] 则更近一步,它令T为无参数控制的 identify mapping,也就是令T等于0,结构如下图所示:

GRU 与 LSTM
LSTM的一个简化版本是Gated Recurrent Unit (GRU),结构如下图:

比较GRU和LSTM的结构,发现GRU的改进主要有如下两点。
第一,GRU把LSTM的cell (记作c,也可以理解为memory)去掉了,而把LSTM 的 input gate 和 forget gate 建立约束,令它们加起来和等于1,把这两个门变为一个门,也就是update gate。
第二,把LSTM之前作用于c上的output gate 变为作用于h上的remember gate (因为把c去掉了),另外把remember gate放在激活函数tanh的里面。
比较GRU和普通RNN结构,发现就是增加了两个控制门:update gate和remember gate。如果令它们都等于1,就退化为普通的RNN结构了。
不同的LSTM 结构
在[1]中,最开始的LSTM(Vanilla LSTM)结构为:

图中不同类型的线条表示如Legend所描述,公式如下:

这里有两点需要注意:第一,最开始的LSTM是有peepholes连接的。peepholes就是以上公式中的pi,pf,po,是从cell到三个控制门的weighted connection。第二,控制门的激活函数都为sigmoid,输出的激活函数为tanh。
为探索LSTM是否为最合适的RNN结构,在[4]中,作者以Vanilla LSTM(简称V)为基准,比较了以下8种不同结构:

前6种比较好理解,就是去掉了LSTM的部分单元。第7种是令input gate 和 forget gate加起来和等于1,类似于GRU的设计思路。第8种是类似于peepholes的思路,在三个门之间彼此建立连接,这样会增加3*3=9个权值矩阵,大大增加了模型参数。
经过实验验证,结论主要有三点:
第一,令input gate 和 forget gate加起来和等于1,或者去掉peepholes连接可以简化模型且不会影响结果。这可能也是现在大家用的LSTM都没用peepholes的原因吧。
第二,forget gate 和output activation function对结果影响很大。没有forget gate,也就是memory没有起到作用。Output activation的非线性映射增加了模型的表达能力。
第三,full gate recurrence 不能提高效果。既然peephole对结果提高不大,full gate recurrence 当然也不会提高结果。
参考文献
[1]. Hochreiter S, Schmidhuber J. Long short-termmemory[J]. Neural computation, 1997, 9(8): 1735-1780.
[2]. Srivastava R K, Greff K, SchmidhuberJ. Training very deep networks[C]//Advances in neural information processingsystems. 2015: 2377-2385.
[3]. He K, Zhang X, Ren S, et al. Deepresidual learning for image recognition[C]//Proceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition. 2016: 770-778.
[4]. Greff K, Srivastava R K, Koutník J, etal. LSTM: A search space odyssey[J]. IEEE transactions on neural networks andlearning systems, 2016.
兼职翻译 招聘
《全球人工智能》面向全球招聘多名:图像技术、语音技术、自然语言、机器学习、数据挖掘等专业技术领域的兼职翻译,工作内容及待遇请在公众号内回复“兼职+个人微信号”联系工作人员。
热门文章推荐