我想知道在什么情况下堆叠 LSTM 是有利的?
堆叠 LSTM 的优势?
数据挖掘
机器学习
神经网络
深度学习
lstm
2021-10-13 00:33:58
3个回答
从堆叠多个 LSTM 有什么好处?(我只会在那里更新答案):
从 {1}:
虽然理论上不清楚更深的架构获得的额外能力是什么,但根据经验观察到,在某些任务上,深度 RNN 比浅层 RNN 工作得更好。特别是,Sutskever 等人 (2014) 报告说,4 层深度架构对于在编码器-解码器框架中实现良好的机器翻译性能至关重要。Irsoy 和 Cardie (2014) 还报告了从单层 BI-RNN 迁移到多层架构的改进结果。许多其他工作报告了使用分层 RNN 架构的结果,但没有明确与 1 层 RNN 进行比较。
参考:
- {1} 戈德堡,约夫。“自然语言处理的神经网络模型入门”。J.人工。英特尔。水库 (JAIR) 57 (2016): 345-420。 https://scholar.google.com/scholar?cluster=3704132192758179278&hl=en&as_sdt=0,5 ;http://u.cs.biu.ac.il/~yogo/nnlp.pdf
堆叠 LSTM 有利的一种情况是,当我们想要学习时间序列数据的分层表示时。在堆叠 LSTM 中,每个 LSTM 层输出一个向量序列,这些向量将用作后续 LSTM 层的输入。这种隐藏层的层次结构可以更复杂地表示我们的时间序列数据,捕获不同尺度的信息。
例如,堆叠 LSTM 可用于提高时间序列分类的准确性,例如活动预测,其中心率、步数、GPS 和其他信号可用于预测活动,例如步行、跑步、骑自行车、爬楼梯或休息。有关使用 EEG 数据的堆叠 LSTM 的时间序列分类示例,请查看以下ipython 笔记本。
在序列到序列模型中:编码器网络的工作是将输入序列读取到我们的 Seq2Seq 模型并为序列生成一个固定维度的上下文向量 C。为此,编码器将使用循环神经网络单元(通常是 LSTM)来一次读取一个输入标记。然后单元格的最终隐藏状态将变为 C。但是,由于将任意长度的序列压缩为单个固定大小的向量非常困难(特别是对于像翻译这样的困难任务),编码器通常由堆叠的 LSTM组成:一系列 LSTM “层”,其中每一层的输出都是下一层的输入序列。最后一层的 LSTM 隐藏状态将用作上下文向量。
其它你可能感兴趣的问题