我正在尝试在 tensorflow 中创建一个带有 GRU 单元(以及 LSTM 单元)的多层循环神经网络。我查看了多个来源,包括官方教程。但我一直看到多层 RNN 的以下模式(此处显示为 GRU 单元)。
cell = GRUCell(num_neurons) # Or LSTMCell(num_neurons)
cell = DropoutWrapper(cell, output_keep_prob=dropout)
cell = MultiRNNCell([cell] * num_layers)
此代码片段取自RNN Tensorflow Introduction。我的理解[cell] * num_layers
是同一个对象在列表中cell
被引用num_layer
次数。因此,不会MultiRNNCell
创建一个深层网络,其中每一层的权重都与前一层相同。如果有人可以澄清这里到底发生了什么,那将是非常有见地的。