在Tensorflow中实施BPTT

时间:2018-07-16 21:45:22

标签: tensorflow

我对Tensorflow中BPTT算法的实现有疑问。根据人们在互联网上所说的话,我认为基本上是这样完成的:

  1. 展开计算图并获取每个输出时间步长(O1,O2等)的梯度
  2. 通过计算图反向传播每个输出时间步长(dO1,dO2等)的梯度
  3. 累积在图中每个节点处收集的所有梯度,并根据需要进行更新

但是,不应该有一个更有效的实现方式吗?即,似乎要计算dO2 / dWf,例如,将需要计算dC2 / dWf和dH2 / dWf。但是,一旦有了这两个梯度,就可以使用它们直接计算dO3 / dWf。那么tensorflow是否在计算梯度时使用任何类似的动态编程技术?

0 个答案:

没有答案