TensorFlow的RNN单元和单元

时间:2017-10-07 19:15:27

标签: tensorflow neural-network rnn

许多RNN类(BasicRNNCellLSTMCell等)的构造函数接受名为num_units的参数。这设置了单元格中的单元数。

我认为这确定了RNN应按顺序处理的元素数量。因此,如果您希望RNN处理长度为N的序列,则每个单元格的N个单位。它是否正确?什么是RNN单位?

2 个答案:

答案 0 :(得分:1)

不,这不正确。

num_units指的是您的单元格可以表示的要素数量。在每个时间步,您给出一定大小的输入(您称之为“RNN应按顺序处理的元素数量”)。这就像你的神经网络的第0层。然后将此输入处理为大小为num_units的隐藏层。这也是单元格输出的大小。

你所谓的N,是由输入张量的大小决定的。 num_units是您模型的超参数。它越大,模型的自由度就越大(更具描述性的特征)。

答案 1 :(得分:1)

此处num_units是指LSTM(或rnn)单元格中的单位数。

num_units可以解释为来自前馈神经网络的隐藏层的类比。前馈神经网络的隐藏层中的节点数量等于LSTM单元中每个时间步长的LSTM单元的num_units数量。网络。以下图片应该清除任何混淆 - enter image description here

(引自https://jasdeep06.github.io/posts/Understanding-LSTM-in-Tensorflow-MNIST/