“ LSTM单元中的单位数”是什么意思?


19

来自Tensorflow代码:Tensorflow。RnnCell。

num_units: int, The number of units in the LSTM cell.

无法理解这是什么意思。LSTM电池的单位是什么。输入,输出和忘记门?这是否表示“深度LSTM的循环投影层中的单位数”。那么为什么将其称为“ LSTM单元中的单位数”?什么是LSTM单元,与VS LSTM块的区别是什么?如果不是单元,最小LSTM单位是什么?



如果该层包含多个并行的LSTM单位,那么它如何处理输入x?情况1:h(1)= f(x)h(t)= f(h(t-1),x)h(t + 1)= f(h(t),x)情况2:h(1 )= f(x)h(t)= h(t-1)也许还有其他情况,例如ResNet。
user1908842 '17

Answers:


10

就像该函数中的有用注释所说的那样,

此包装中的单元格定义与文献中使用的定义不同。在文献中,像元是指具有单个标量输出的对象。此程序包中的定义是指此类单元的水平阵列。

本质上,该层将包含多个并行的LSTM单元,结构上相同,但每个单元最终“学会记住”一些不同的东西。


1
谢谢:)这个问题是在7天前添加的。经过一番挖掘后,我问Google小组的Tensorflow小组,为什么他们对LSTM单元格的定义不同于文献LSTM单元格..他们添加了该评论:)
Brans Ds

7

大多数LSTM / RNN图仅显示隐藏的单元格,而不显示这些单元的单位。因此,混乱。每个隐藏层都有隐藏的单元格,与时间步长一样多。而且,每个隐藏单元格都由多个隐藏单元组成,如下图所示。因此,RNN中隐藏层矩阵的维数为(时间步数,隐藏单位数)。

在此处输入图片说明


1

在位于TensorFlow或Theano顶部的model.add(LSTM(num_units))Keras中,当您调用时,num_units是输出空间的维数(从此处开始,行863)。对我来说,这num_units是其激活被发送到下一个时间步的隐藏单元的数量。


0

RNN中的单元数是指以垂直方式彼此连接的序列的每个输入的RNN存储单元数,并且每个人都将经过过滤的信息传递给下一个存储单元。

请记住,此概念的灵感来自于计算机科学概念,即将内存分配流分配给不同单位的位大小。

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.