如何将最后一个输出y(t-1)作为输入馈送以在张量流RNN中生成y(t)?

Poo*_*Pzm 8 tensorflow recurrent-neural-network

我想在Tensorflow中设计单层RNN,以便最后输出(y(t-1))参与更新隐藏状态.

h(t) = tanh(W_{ih} * x(t) + W_{hh} * h(t) + **W_{oh}y(t - 1)**)
y(t) = W_{ho}*h(t)
Run Code Online (Sandbox Code Playgroud)

如何将最后输入y(t - 1)作为输入提供以更新隐藏状态?

小智 2

y(t-1) 是最后的输入还是输出?在这两种情况下,它都不能直接适合 TensorFlow RNN 单元抽象。如果你的 RNN 很简单,你可以自己编写循环,那么你就拥有完全的控制权。我使用的另一种方法是预处理 RNN 输入,例如执行以下操作:

processed_input[t] = tf.concat(input[t], input[t-1])

然后使用processed_input调用RNN单元并在那里进行分割。

  • 它本身使用最后生成的输出。如何为简单的 RNN 编写循环?这样幕后优化就可以了。 (2认同)