TensorFlow 的 RNN 单元和单元

TensorFlow's RNN units and cells

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

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

不,这不正确。

num_units指的是你的单元格可以代表的特征数量。在每个时间步,您都提供一定大小的输入(您正在调用 "the number of elements the RNN should process in sequence")。这就像神经网络的第 0 层。这个输入然后被处理成一个隐藏层,大小为num_units。这也是单元格输出的大小。

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

这里num_units指的是LSTM(或rnn)单元格中的单元数

num_units可以理解为前馈神经网络隐藏层的类比 network.The一个前馈神经网络的隐藏层节点数相当于num_units个数network.Following 图片的每个时间步长的 LSTM 单元中的 LSTM 单元应该清除任何混淆 - enter image description here

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