堆叠多个LSTM有什么优势?


25

有什么优势,为什么一个人在深度网络中使用多个并排堆叠的LSTM?我正在使用LSTM将一系列输入表示为单个输入。因此,一旦有了这种单一表示形式,为什么还要再次通过呢?

我之所以这样问是因为我在自然语言生成程序中看到了这一点。


1
您是否真的是说LSTM像水平方向(沿时间步长)并排堆叠?还是指垂直方向堆叠(每个时间步长有多个LSTM单元)?
wabbit

Answers:


18

我认为您指的是垂直堆叠的LSTM层(假设水平轴是时间轴)。

在那种情况下,堆叠LSTM的主要原因是允许更大的模型复杂性。在简单的前馈网络的情况下,我们堆叠图层以创建输入数据的分层特征表示,然后将其用于某些机器学习任务。堆叠的LSTM也是如此。

除了循环输入外,每个时间步都有一个LSTM。如果输入已经是LSTM层(或前馈层)的结果,则当前LSTM可以创建当前输入的更复杂的特征表示。

现在,在特征输入和LSTM层之间具有前馈层与具有另一个LSTM层之间的区别在于,前馈层(例如,完全连接的层)不会收到来自其先前时间步长的反馈,因此无法说明某些问题。模式。代替使用LSTM(例如,使用堆叠的LSTM表示),可以在每一层描述更复杂的输入模式


4
一层内的LSTM单元已经完全相互循环连接(一层的输出具有到同一层所有输入的连接)。因此,单个单元已经可以将特征合并到其他单元的输出之上,并且都在一层之内。您能否详细说明为什么多层会导致更复杂的模式?
danijar '16

6

来自{1}:

虽然从理论上讲,较深的体系结构还可以带来什么附加功能,但从经验上可以看出,在某些任务上,较深的RNN比较浅的RNN效果更好。特别是,Sutskever等人(2014年)报告说,四层深度架构对于在编码器-解码器框架中实现良好的机器翻译性能至关重要。Irsoy和Cardie(2014)还报告了从单层BI-RNN过渡到多层结构的改进结果。许多其他工作报告使用分层RNN架构的结果,但没有明确地与1层RNN进行比较。

仅供参考:


参考文献:


2

通过使用LSTM进行序列分类,与增加CNN中的模型容量(如果您熟悉它们)具有相同的效果。因此,您肯定会有所收获,尤其是在数据不足的情况下。

当然,双刃刀也可以使您过度适应并获得较差的性能。就我而言,我从1 LSTM升至2的堆栈,并且得到了即时的改进。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.