Basic RNN、LSTM的前向传播和反向传播详细解析

Basic RNN、LSTM的前向传播和反向传播详细解析

Basic RNN、LSTM由于它们独特的架构,被大量应用在自然语言处理和序列模型的任务上。通过它们自身特殊的结构,可以记住之前的输入中的部分内容和信息,并对之后的输出产生影响。

  • 本文主要针对 :对RNN和LSTM有一定基础了解,但是对公式推导还不是完全掌握的童鞋(尤其是lstm的反向传播部分),欢迎各位批评指正~
  • 由于markdown编辑公式太麻烦了,所以公式也都是本地编辑之后的截图,有不正确的地方欢迎指正

Basic RNN架构简介

整体架构

模型的整体结构如下图所示,输入的是序列x、输出y,长度为Tx。当然还有针对输入输出不相等的RNN结构,这里只是为了详解RNN的公式推导,特别是反向传播的推导,所以不再赘述。
Alt text

Figure 1: Basic RNN model

上图其实是沿时间轴展开的RNN模型,其实图中所有的RNN-cell都共用一套参数,每个cell输入当前时间点的输入x < t >和前一个cell输出的a < t-1 >,得到当前cell的输出a < t >和y < t >

BasicRNN 前向传播

  • 现在我们单独对每个cell进行公式推导,最终整个模型的公式其实就是单个cell的循环调用。
  • 下图是单个cell的具体结构图,以及前向传播的公式,非常的简洁明了
    这里写图片描述
    Figure 2: Basic RNN cell

BasicRNN 反向传播

针对前面介绍的每个cell前向传播图和公式,我们能很快的写出针对每个cell的反向传播公式:

这里写图片描述

Figure 3: Basic RNN BP

由前向传播的单个cell图,根据梯度反向传播易知。当前cell的 Ja<t> ∂ J ∂ a < t > 由两部分构成:
- 当前cell的输出 ŷ  y ^ < t >与真实标签代入损失函数,通过损失函数对a< t >求导得到的梯度da< t >1
- 输入到下一个cell的a< t >传回的梯度da< t >2

公式推导前我们还需要知道 tanh(x)x=1(tanh(x))2 ∂ t a n h ( x ) ∂ x = 1 − ( t a n h

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值