彻底看懂RNN,LSTM,GRU,用数学原理解释梯度消失或者梯度爆炸

Recurrent Neutral Network

章节

RNN概述

为什么它叫做递归神经网络呢?与其他网络有何不同?接下来用简单例子阐述:

这是比较简单的示意图,比如说一个网络只有一层,那么,那一层代表的函数方法就是这个网络实际对输入所起的作用,即Y = Funtion(X),我们实际上想找出那个function它究竟是什么。

在这里插入图片描述

可以从下图看出,RNN得到一个输出不仅仅靠输入的X,同时还依赖于h,h在RNN中被叫做cell state,那么h如何得出呢?由公式(1)可知,h_t是由h_(t-1)经过某种函数变换得到的,换句话说,我要得到目前这一个的,我还必须经过前一个才能做到。这里我们可以类比一下斐波那契数列,f(t) = f(t-1) + f(t-2),某一项需要由前两项一起才能完成,RNN是某一个h需要前面一个h来完成,这也是为什么被叫做递归神经网络。顺带一提,这里的function有权重参数,即为W,而这个W是共享的,意思是无论是h_1到h2还是h_2到h_3,它们用的function其实是一样的。
在这里插入图片描述

在这里插入图片描述

所以,复杂一点的RNN长这样:

在这里插入图片描述

每次输出完一个y,它同时还会有一个h出来,作为下一层的参数一起使用。从这一点来看,RNN跟其他网络不同的一点是前一层的输出同时可以作为后一层的输入,经过一层就会更新一次h,那么,h究竟是如何更新的呢?tanh是一种常用的激活函数,可见Activation

在这里插入图片描述

y_t可以由此得出:

在这里插入图片描述

从上述公式中可以看出有不同的W,即不同的权重矩阵,这些矩阵是机器自己去从数据中去学出来,同时也可以是人为设置的。注意,这些不同类之间的矩阵不同,但是如果说是同一个function,那么权重矩阵都是共享的。

传统的DNN,CNN的输入和输出都是固定的向量,而RNN与这些网络的最大不同点是它的输入和输出都是不定长的,具体因不同任务而定。

在这里插入图片描述


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值