LSTM变种比较

转载 2018年04月15日 14:54:46

LSTM简介

LSTM(Long Short Term Memory)是在标准RNN基础上改进而来的一种网络结构,其出现的主要作用是为了解决标准RNN训练过程中的梯度消失问题,LSTM的结构如下图所示。因此其可以处理时间间隔和延迟较长的序列问题,近年来在语音识别,机器翻译,OCR等领域得到了广泛的应用并取得了比较可观的效果。
相比于标准RNN模型,LSTM主要是增加了三个控制门单元:遗忘门,输入门和输出门。如果去掉三个门控制单元(或者将三个门控制函数都设置为1),LSTM就会退化成标准的RNN模型。

细胞状态:LSTM的关键就是细胞状态(如下图所示的水平线),在图上方贯穿运行,它类似于一条传送带,只有少量的信息交互,很容易保存信息不变。

遗忘门:结构如下图所示,决定细胞状态的信息需要丢弃多少。其读取ht1xt的信息,输出一个0到1之间的数值个细胞状态Ct1,1表示细胞状态完全保留,0表示细胞状态完全丢弃。
输入门:结构如下图所示,确定什么新的信息需要被添加到细胞状态中。这里包含两方面的内容:
1.sigmod层决定了什么值需要被更新;
2.tanh层用来生成新的候选信息向量C̃ t会被更新到细胞状态中。

接下来就要对细胞状态进行更新,将Ct1更新为Ct,更新方法如下图所示。将旧状态Ct1ft相乘,可以丢弃到确定的需要丢弃的状态,然后加上新的需要加入的信息itC̃ t即可完成细胞状态的更新。

输出门:确定细胞状态的什么信息需要被输出,结构图如下所示。首先是需要一个sigmod函数用来确定上一隐层和新输入信息有多少需要被保留,然后将更新后的细胞状态经过tanh变到[-1,1]的区间后再进行相乘,这样就确定了最终的输出信息。

LSTM及其变种

比较的基准LSTM被称为Vanilla LSTM,其结构如下图所示:
主要分析LSTM的八种变体形式,其各种表示分别如下:

其主要变化是在三个控制门的输入分别加入了细胞状态信息,这个连接被称为peephole connection
GRU:是一个改动比较大的变体版本,在2014年被提出。主要变化是将遗忘门和输入门合成为一个更新门,然后将细胞状态信息流和隐层状态信息流合并为一个信息流。它的结构相对于标准的LSTM来说要简单,也是现在应用的比较多的一个变体。

NIG:No Input Gate: it=1
NFG:No Forget Gate: ft=1
NOG:No Output Gate:ot=1
NIAG:No Input Activation Function:
g(x)=x
NOAG:No Output Activation Function: h(x)=x
CIFG(GRU):Coupled Input Forget Gate: ft=1it
NP:No Peephole
FGR:Full Gate Recurrence:

ĩ t=Wixt+Riyt1+pict1+bi+Rii+Rfift1+Roiot1

f̃ t=Wfxt+Rfyt1+pfct1+bf+Rif+Rffft1+Rofot1

õ t=Woxt+Royt1+poct1+bo+Rio+Rfoft1+Rooot1

比较数据集

1.TIMIT数据集:来自美国630个人,每个人说十个给定的句子,每一个句子都有标记,标记分为两种方法,经过时间点对其的单词内容和经过时间点对其的音素内容。
2.TAM Online数据集:是一个手写体句子的数据集,每个样本包括一个多句话的手写体文本。其示例如下图所示:

3.JSB Chorales数据集:复调音乐数据集。

测试方法

共需要实现27种测试过程(9个LSTM变种,3个数据集),每个测试过程需要测试200组超参数(LSTM隐层数量,学习率,momentum,输入高斯噪声的标准差),因此一共需要进行5400次的测试。

测试结果

测试结果如下图所示:

第一行结果为所有测试数据综合后的结果,第二行为各个结构的前10%的结果综合后的结果。其中每个数据集中蓝色标注的为该结构在本数据集上的表现较差,对原模型的性能有较大幅度的降低。红色横线为该测试结果的中值,红色点为该测试结果的均值。灰色背景柱状图为该模型的参数量级。
更近上图的测试结果可以得出下面几个结论:
1.NFG和NOAF两个变体在三个数据集上的表现都比较差,对原始LSTM的性能影响比较大。主要原因是去掉遗忘门后,细胞状态的原始数据不会被很好的抑制,必然会导致结果边差;同理,去掉输出门后,输出块的信息会增长的比较大。
2.GRU在TIMIT数据集上的误差均值取得最好的结果,NP在TAM Online数据集上取得了字符错误率最低的结果,同事两个机构在其它数据集上都不会使得结果非常差,因此这两个模式在实际应用中可以使用(实际情况也是如此)。
3.FGR在TIMIT和IAM Online数据集上表现和标准LSTM差别不大,但在JSB Chorales数据集上表现不佳。由于该结构增加了循环层,导致其参数量也非常大,因此也不建议使用。
4.NIG,NOG和NIAF在TIMIT和IAM Online数据集上表现都不好,NIG和NIAF在JSB Chorales数据集上表现有小幅提升。因此这个三个结构也不建议使用。
综上所述可得:输入门、输出门和输入激活函数对结构的性能影响比较大。

LSTM与GRU

从上面的分析可以看出,原始LSTM和GRU在性能上基本相当,因此对这两个模型单独进行更全面的测试。测试在两个数据集,共六个数据上进行,单独对LSTM和GRU进行了性能和训练速度的比较,比较方法基本与上面的方法相同,只列出比较结果:



从上述测试结果很容易看出,LSTM和GRU的性能差异并不大,但是GRU明显在收敛速度上更胜一筹,因此可以作为一种RNN的结构来使用。

引用

LSTM: A Search Space Odyssey
Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling

循环神经网络RNN及其变种LSTM

首先说一句,对于理解RNN这个概念,上策是先从数学角度理解,然后再画图理解。在这个前提下,一切上来就放图的书、论文、教程都是耍流氓。 循环神经网络是一种神经网络,那数学上神经网络是什么?是函数。普通...
  • WUTab
  • WUTab
  • 2017-03-27 22:07:55
  • 760

LSTM模型(转载)

(一)LSTM模型理解 1.长短期记忆模型(long-short term memory)是一种特殊的RNN模型,是为了解决RNN模型梯度弥散的问题而提出的;在传统的RNN中,训练算法使用的是BPTT...
  • oangle1234
  • oangle1234
  • 2017-04-01 15:34:22
  • 264

LSTM沉淀

年纪大了,不把东西写下来,就会忘掉。深度学习应用到单维度时间序列最近在处理一些时序序列,目前暂时发现单纯的lstm不work,原因目前正在排查中,先积累一波原理。首先在处理时序数据时候,RNN出现一些...
  • u011854875
  • u011854875
  • 2018-01-14 16:26:33
  • 90

RNN, LSTM, GRU 公式总结

RNN参考 RNN wiki 的描述,根据隐层 hth_t 接受的是上时刻的隐层(hidden layer) ht−1h_{t-1} 还是上时刻的输出(output layer)yt−1y_{t-1}...
  • zhangxb35
  • zhangxb35
  • 2017-04-11 17:09:28
  • 7985

RNN的四种变形:Attention and Augmented Recurrent Neural Networks【译文】

觉得总结的不错,所以记录一下。 原文:http://distill.pub/2016/augmented-rnns/ 译文:http://geek.csdn.net/news/detail/106...
  • mmc2015
  • mmc2015
  • 2017-02-12 13:26:00
  • 1626

台湾大学深度学习课程 学习笔记 Lecture 5-1: Gated RNN(LSTM与GRU介绍)

以下内容和图片均来自台湾大学深度学习课程。 课程地址:https://www.csie.ntu.edu.tw/~yvchen/f106-adl/syllabus.html Review首先复习...
  • sscc_learning
  • sscc_learning
  • 2018-01-10 14:18:06
  • 225

YJango:循环神经网络——实现LSTM/GRU

循环神经网络——实现 gitbook阅读地址 知乎阅读地址 梯度消失和梯度爆炸 网络回忆:在《循环神经网络——介绍》中提到循环神经网络用相同的方式处理每个时刻的数据。 * 动态图: ...
  • u010751535
  • u010751535
  • 2017-03-02 16:01:14
  • 2734

汉诺塔问题的一个变种

汉诺塔问题的一个变种 最近碰到的一个有意思的算法题。
  • huangbo10
  • huangbo10
  • 2014-11-18 17:38:57
  • 1486

深度学习笔记——RNN(LSTM、GRU、双向RNN)学习总结

本文是关于RNN和RNN的变种LSTM、GRU以及BiRN的学习总结。
  • mpk_no1
  • mpk_no1
  • 2017-07-23 22:27:47
  • 4372

LSTM与GRU的一些比较 - 论文笔记

参考:关于序列建模门控回归神经网络的实证评价 链接:http://blog.csdn.net/meanme/article/details/48845793 1.概要: 传统的RNN在训练长期依赖的...
  • tsb831211
  • tsb831211
  • 2016-08-06 15:21:42
  • 3461
收藏助手
不良信息举报
您举报文章:LSTM变种比较
举报原因:
原因补充:

(最多只允许输入30个字)