首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解多层LSTM

理解多层LSTM
EN

Stack Overflow用户
提问于 2017-11-24 05:11:44
回答 4查看 10K关注 0票数 3

我正在努力理解和实现多层LSTM。问题是我不知道他们是怎么联系的。我有两个想法:

  1. 在每个时间步骤中,第一LSTM的隐藏状态H将成为第二LSTM的输入。
  2. 在每个时间步骤中,第一LSTM的隐藏状态H将成为传感器LSTM的隐藏状态的初始值,而第一LSTM的输入将成为第二LSTM的输入。

请帮帮我!

EN

回答 4

Stack Overflow用户

发布于 2018-08-09 12:46:18

TLDR:在时间t和级别l的每个LSTM单元在第一层具有输入x(t)和隐藏状态h(l,t),输入是实际的序列输入x(t)和先前的隐藏状态h(l,t-1),在下一层中,输入是上一层h(l-1,t)中对应单元的隐藏状态。

来自https://arxiv.org/pdf/1710.02254.pdf

为了提高GRU网络的容量(,2013年),可以将递归层叠加在一起。由于GRU没有两个输出状态,相同的输出隐藏状态h'2被传递到下一个垂直层。换句话说,下一层的h1将等于h'2,这迫使GRU学习在深度和时间上有用的转换。

票数 3
EN

Stack Overflow用户

发布于 2017-11-24 07:03:20

我正在接受colah的博客文章的帮助,只是我会缩短它,以使您了解具体的部分。

正如您可以看到上面的图像,LSTM有这个链状结构,每个有四个神经网络层。

我们传递给下一个时间戳(单元格状态)和下一个层(隐藏状态)的值基本上是相同的,它们是期望的输出。此输出将基于我们的单元格状态,但将是一个过滤版本。首先,我们运行一个乙状结肠层,它决定我们要输出的单元格状态的哪些部分。然后,我们将单元格状态通过tanh (将值推到−1和1之间)并乘以乙状结肠门的输出,从而只输出我们决定通过的部分。

我们还将前一个单元格状态信息(从顶部箭头到下一个单元格)传递到下一个时间戳(单元状态),然后决定使用乙状结肠层(忘记门层),我们将继续从以前的状态中获取新输入和输入的信息。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2019-11-08 19:11:24

在PyTorch中,多层LSTM的实现表明,上一层的隐藏状态将成为下一层的输入。所以你的第一个假设是正确的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47466715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档