时间序列的反向传播算法
BPTT : Back-Propagation Through Time

∂U∂L=∑t∂U∂Lt
例如t=4 时,
∂U∂L4=∂y4∂L4∂h4∂y4∂U∂h4
where h4=tanh(Wh3+Ux4)
注意到 h3也依赖U
∂U∂Lt=∑s=0t∂yt∂Lt∂ht∂yt∂hs∂ht∂U∂hs
参数共享是双刃剑,网络预测时具有平稳性,但是梯度计算的时候会有依赖。
随着t和s的距离越来越大,梯度传播的计算,长时序的依赖不足。
∂hs∂ht=∂ht−1∂ht∂ht−2∂ht−1...∂hs∂hs+1
Truncated BPTT

BPTT 只在子序列的内部去做反向传播,只关心内部的计算。在实际的计算中,很少有人用 full BPTT,一般是使用 Truncated BPTT。