时间序列的反向传播算法(BPTT)

本文深入解析了时间序列预测中的反向传播算法BPTT(Back-Propagation Through Time),阐述了其在长时序依赖下的计算挑战及解决方案Truncated BPTT。通过详细公式推导,揭示了参数共享对网络预测的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间序列的反向传播算法

BPTT : Back-Propagation Through Time
在这里插入图片描述
∂L∂U=∑t∂Lt∂U\frac{\partial L}{\partial U} = \sum_t\frac{\partial L_t}{\partial U}UL=tULt

例如t=4 时,

∂L4∂U=∂L4∂y4∂y4∂h4∂h4∂U\frac{\partial L_4}{\partial U} =\frac{\partial L_4}{\partial y_4} \frac{\partial y_4}{\partial h_4} \frac{\partial h_4}{\partial U}UL4=y4L4h4y4Uh4

where h4=tanh(Wh3+Ux4)h_4 = tanh(Wh_3 + Ux_4)h4=tanh(Wh3+Ux4)

注意到 h3也依赖U
∂Lt∂U=∑s=0t∂Lt∂yt∂yt∂ht∂ht∂hs∂hs∂U\frac{\partial L_t}{\partial U} = \sum_{s=0}^t\frac{\partial L_t}{\partial y_t} \frac{\partial y_t}{\partial h_t} \frac{\partial h_t}{\partial h_s}\frac{\partial h_s}{\partial U}ULt=s=0tytLthtythshtUhs

参数共享是双刃剑,网络预测时具有平稳性,但是梯度计算的时候会有依赖。

随着t和s的距离越来越大,梯度传播的计算,长时序的依赖不足。
∂ht∂hs=∂ht∂ht−1∂ht−1∂ht−2...∂hs+1∂hs\frac{\partial h_t}{\partial h_s} = \frac{\partial h_t}{\partial h_{t-1}} \frac{\partial h_{t-1}}{\partial h_{t-2}} ... \frac{\partial h_{s+1}}{\partial h_{s}}hsht=ht1htht2ht1...hshs+1

Truncated BPTT

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝鲸123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值