通过时间反向传播
从 t=1t=1 到 t=τt=τ 应用如下更新方程:
a(t)=b+Wh(t−1)+Ux(t)a(t)=b+Wh(t−1)+Ux(t)
h(t)=tanh(a(t))h(t)=tanh(a(t))
o(t)=c+Vh(t)o(t)=c+Vh(t)
y^(t)=softmax(o(t))y^(t)=softmax(o(t))
设损失函数L(t)L(t)为给定x(1),...,x(τ)x(1),...,x(τ)后 y(t)y(t)的负对数似然,则:
L(x,y)=−∑tlogpmodel(y(t)|{ x(1),...,x(τ)})L(x,y)=−∑tlogpmodel(y(t)|{ x(1),...,x(τ)})
=−logexp(o(t)y(t))∑iexp(o(t)i)=−logexp(oy(t)(t))∑iexp(oi(t))
=−logy^(t)=−logy^(t)
其中ii为

该博客详细介绍了如何通过时间反向传播计算循环神经网络(RNN)的梯度,包括o(t)、h(t)和其他参数的梯度。内容涵盖了从t=1到t=τ的更新方程,以及损失函数L(t)的定义。通过实例解释了在不同情况下o(t)和h(t)的梯度计算,并展示了其他参数如c、b、V、W和U的梯度计算过程。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



