DA-RNN中的细胞状态

时间:2019-07-08 11:52:29

标签: python-3.x tensorflow deep-learning lstm recurrent-neural-network

我想在此paper中实现DA-RNN。研究论文的第3页讨论了编码器网络。具体来说,我想实现以下等式:

enter image description here

我想确认在上式中我在每个时间步都需要单元状态s吗?通常,在RNN中,我们只需要上一个时间步的单元状态即可。因此,我的意思是,如果我们有一批5个时间戳,则在h的所有时间步中都使用隐藏状态1 to 5,而仅在第5个时间步中使用单元格状态s(而不是对于所有时间步长)。

张量流中的out,s = dynamic_rnn函数也为我提供了此输出,其中out将具有在每个时间步长计算的隐藏状态,而s将是c和{{ 1}}。例如,如果我的输入的大小为h,并且假设batch_size x max_timestep x num_features,则max_timestep=5s.c将从第5个时间步开始包含单元格状态和隐藏状态,而不是时间步长s.h。但是,在本文中,一般的表示法是时间1,2,3,4的单元状态s。因此,如果我们要谈论5个时间步,则需要在时间步t-1处的单元格状态s,而我无法通过1,2,3,4函数获得状态。

总结一下

  1. 我的假设是否正确,我需要在所有时间步中都使用单元格状态dynamic_rnn才能在图像中实现上述方程式?
  2. 如果是的话,我该如何在tensorflow中做到这一点?我应该编写自己的LSTM包装器吗?

更新:

answer解决了我的问题。事实证明,没有直接函数可以在每个时间步获取单元状态,但是我们可以包装RNN单元,并将其作为tf中s函数的输入。

0 个答案:

没有答案