小白学深度之RNN循环神经网络

不懂CNN的建议先看一下CNN

前言

我们先看一下普通的神经网络,只要训练的数据和次数足够,这种网络是可以拟合任意函数的。
在这里插入图片描述
但是这种最基本的网络肯定是有很多不足的,上面那种网络只能单独的处理每一个输入进行预测,也就是所有输入之间是没有联系的。但如果我们要对时间序列这种类似的数据进行结果预测,也就是这种的前因和后果都是有联系的数据,传统神经网络就不行了,所以我们引进了RNN。

RNN循环神经网络

RNN要解决的问题就是怎样把前后关系联系在一起

从上图我们可以看出,基础的神经网络包含输入层、隐层、输出层,通过激活函数控制输出,层与层之间通过权值连接。激活函数是事先确定好的,那么神经网络模型通过训练“学“到的东西就蕴含在“权值“中。

基础的神经网络只在层与层之间建立了权连接,RNN最大的不同之处就是在层之间的神经元之间也建立的权连接

RNN的基本结构

先看一个简单的描述图
在这里插入图片描述
从下往上看,先是输入层输入X这个向量,经过U这个输入层到隐藏层的权重矩阵到达隐藏层S,然后经过V这个隐藏层到输出层的权重矩阵到达输出层O。这是基本的神经网络的处理模式。但这里还有一个W,W也是一个权重矩阵,他的作用就是把隐藏层上一次的权重值进行权重计算、更新,并作为下一次的输入权重的一部分。
我们把上面那个图展开就是这个图。
在这里插入图片描述

RNN的工作原理

这个可能更好看明了一点

我们可以把 x t 1 x_{t-1} 看作第一个输入的值,然后经过两个权重矩阵的迭代,输出为 O t 1 O_{t-1} ;当然 x t x_t 就是第二个输入值了,可以看到,他在进入权重矩阵V的时候,不只是进入的他本身的权重 s t s_t 还有前面 s t 1 s_{t-1} 进过权重矩阵W更新后传过来的权重,两者的权重加起来之后才经过V更新然后输出的。后面过程都是这样类似的。

在这里插入图片描述
用公式表达为
在这里插入图片描述
可以根据上面的理解,来看下下面的图。
在这里插入图片描述

RNN 的应用场景

  • 机器翻译:输入为源语言中的一个序列数据(比如:英语),输出是目标语言序列数据(比如:汉语),比如谷歌翻译、有道翻译等。
  • 情感分类:输入为一段文本或者一段评论数据,输出相应的打分数据,来判别这段话的情感。
  • 文本摘要:输入为一段文本序列,输出是这段文本序列的摘要序列。
  • 图像描述:输入为一张图片,输出是对这张图片的描述信息。
  • 语音识别:输入为语音新号序列数据,输出为文本序列,比如 ASR 功能。
  • 阅读理解:输入为一段文章和问题,对其分别编码,在对其进行解码,输出得到问题的答案。

RNN的不足

前面我们说了,RNN可以通过前面的数据来预测后面的数据,这对时间序列或自然语言处理方面比较强势。
但是对较长的时间,或者较长的string,很多时候前面的数据对后面的数据影响就很小甚至没影响了,这是我们就要加强前面的数据的权值;或者数据不是很长,但是最开始的数据对很往后的数据基本没啥影响,但RNN记住了,并对后面的数据产生了影响,这时我们就要往往要增大近期数据的权值。
所以在这时RNN就体现出他的不足了,所以我们就要引入LSTM长短期记忆神经网络这个网络结构。

LSTM明天一定更新完。实战教程在后面肯定也会出的。
如果想对RNN进入更深的数学层次的理解,建议看一下这个博客。
https://zybuluo.com/hanbingtao/note/541458

猜你喜欢

转载自blog.csdn.net/weixin_45755332/article/details/107305189
今日推荐