LSTM中的隐藏状态和层?

时间:2018-09-15 21:44:46

标签: tensorflow lstm

根据我在网上阅读的信息,LSTM中的隐藏状态是根据输入/时间步骤生成的,例如,参见图像https://i.stack.imgur.com/SjnTl.png

但是,在Tensorflow中,隐藏状态的数量似乎是num_units,从我在线阅读的各种示例中,num_units可能与输入中的时间步长有很大不同。 (例如,对于28 * 28 MNIST图像输入,行的28个时间步可以有500 num_units。)

隐藏状态/ num_units在这里如何工作?

此外,我还看到在连接在一起的不同LSTM层中具有不同数量的隐藏状态的示例吗?在这种情况下,LSTM层如何连接?

1 个答案:

答案 0 :(得分:0)

  • num_units或隐藏状态的大小与时间步长无关。隐藏状态是大小为num_units的向量,将在每个时间步更新。因此,在链接的图中,如果我们看第一层(第0层),则h1(0)是长度为num_units的向量,h1(0),{{1}也是} ...

  • 在不同的层之间,h2(0)不必相同。较高层的num_units必须等于直接较低层的input_size,因为较低层的隐藏状态会作为输入馈送到高层。有关输入向量如何与隐藏状态向量连接的详细信息,请在Google LSTM单元格中进行搜索,您会找到一些很好的解释。