RNN的前向传播和反向传播

本文详细介绍了RNN的前向传播过程,包括参数W、U、V和b_o的作用,并指出输出O(t)的计算可能因循环体的不同而变化。接着,讨论了RNN的损失函数,它是所有时刻损失函数的总和。然后,阐述了RNN的反向传播算法(BPTT),强调了参数共享和梯度计算的特点。最后,提到了梯度爆炸和消失问题,以及LSTM和GRU等解决方案,预告了后续章节将深入探讨这些模型。
摘要由CSDN通过智能技术生成

在上一节当中,我们讲到了RNN的其中一个特点是参数共享,在这一节当中,我们用具体代码来展示RNN的前向传播。

首先是给出每一个参数具体的值:
在这里插入图片描述

W指的是相邻时刻隐藏单元间的权重矩阵,U指的是从X(t)计算得到的对应隐藏单元时用到的权重矩阵;V是由h(t)计算得到o(t)时用到的权重矩阵;b_o是由h(t)计算得到o(t)时用到的偏置值。
在这里插入图片描述

这就是一个简单循环神经网络的前向传播计算过程,输出的O(t)就是网络在时刻t的前向传播结果,这个计算过程可能会因为不同的循环体而出现差异,视实际的网络情况而定。使用t(1)时刻的状态也可以通过上述的过程去推导出t(2)的状态。优化循环神经网络时也需要对其进行损失函数的计算 。定义循环神经 网络的损失函数也可以从其他类型的神经网络中借鉴思路,但是要注意的是,由于循环神经网络的输出和时刻有关,其损失是所有时刻(或者部分时刻)上损失函数的总和,接下来就是介绍循环神经网络的反向传播知识。

有了RNN前向传播算法的基础,就容易推导出RNN反向传播算法的流程了。RNN反向传播算法的思路和DNN是一样的,即通过梯度下降法每一轮的迭代,得到合适的RNN模型参数U,W,V 由于我们是基于时间反向传播,所以RNN的反向传播有时也叫做BPTT(back-propagation throughtime)。当然这里的BPTT和DNN也有很大的不同点,即这里所有的U,W,V在序列

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值