RNN模型总结笔记

定义

RNN(Recurrent Neural Network)循环神经网络
是一类用于处理序列数据的神经网络。
首先我们要明确什么是序列数据,摘取百度百科词条:时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。这是时间序列数据的定义,当然这里也可以不是时间,比如文字序列,但总归序列数据有一个特点——后面的数据跟前面的数据有关系。

理解

正着读可以,反着读不行。说明对于顺序预测排列多么重要
如果打乱了顺序,我们就不知道自己在说什么了。
在这里插入图片描述
使用Data0来预测Result0的结果,使用DATA1来预测Result1的结果。。。
每次使用的神经网络都是同一个NN
在这里插入图片描述
如果这些数据是有关联顺序的话,
就比如在厨房做菜,油要比盐先放,要不然就做不成了。
普通的神经网络结果并不能让NN神经网络了解这些数据集之间的关联。
那么我们如何让NN了解到我们数据集之间的关联呢?
人类是怎么知道这些之间的关联的呢?
——就是记住,记住之前发生的事
那么也让神经网络具备——记住之前发生事情的能力。
在分析Data0的时候,把分析结果存入记忆,然后当分析Data1的时候,NN会产生新的记忆,但是新的记忆和老的记忆并没有关联,我们就简单的把老记忆调用过来一起进行分析,通过继续分析更多的数据,NN会把之前的记忆都累计起来一起分析。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用数学表达式重复上述的流程
NN变成了我们所说的RNN循环神经网络
每次RNN运算完成以后都会产生一个对于当前状态的描述State()
用简写S,在t时刻S(t)来代替。
然后RNN开始分析在x(t+1)时刻,产生S(t+1),不过Y(t+1)是由S(t)和S(t+1)共同创造的
所以我们通常看到的RNN可以表达为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
RNN有多种形式:
如一个人说了一句话,判断这句话带有的感情色彩,是积极的还是消极的
那我们就可以用具有最后一个时间点输出判断结果的RNN
在这里插入图片描述
用于图片描述的RNN,我们只需要一个X来代替输入的图片,然后生成对图片描述的一段话或者语言翻译的RNN
在这里插入图片描述
有了这些不同形式的RNN,RNN就变得越来越强大

RNN

循环神经网络RNN。在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被成为前向神经网络(Feed-forward Neural Networks)。

而在RNN中,**神经元的输出可以在下一个时间戳直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!**表示成图就是这样的:
在这里插入图片描述
我们可以看到在隐含层节点之间增加了互连。

RNN激活函数

为什么RNN网络的激活函数要选用双曲正切而不是sigmod呢?(RNN的激活函数除了双曲正切,RELU函数也用的非常多)原因在于RNN网络在求解时涉及时间序列上的大量求导运算使用sigmod函数容易出现梯度消失,且sigmod的导数形式较为复杂。事实上,即使使用双曲正切函数,传统的RNN网络依然存在梯度消失问题,无法“记忆”长时间序列上的信息,这个bug直到LSTM上引入了单元状态后才算较好地解决。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值