RNN——循环神经网络

为什么需要RNN(循环神经网络)

他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。

RNN结构

首先看一个简单的循环神经网络如,它由输入层、一个隐藏层和一个输出层组成:

RNN——神经网络 Keras个人学习笔记(2)

我们现在这样来理解,如果把上面有W的那个带箭头的圈去掉,它就变成了最普通的全连接神经网络。x是一个向量,它表示输入层的值(这里面没有画出来表示神经元节点的圆圈);s是一个向量,它表示隐藏层的值(这里隐藏层面画了一个节点,你也可以想象这一层其实是多个节点,节点数与向量s的维度相同);

U是输入层到隐藏层的权重矩阵,o也是一个向量,它表示输出层的值;V是隐藏层到输出层的权重矩阵

那么,现在我们来看看W是什么。循环神经网络隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s。权重矩阵 W就是隐藏层上一次的值作为这一次的输入的权重。

我们给出这个抽象图对应的具体图:

RNN——神经网络 Keras个人学习笔记(2)

我们从上图就能够很清楚的看到,上一时刻的隐藏层是如何影响当前时刻的隐藏层的。

如果我们把上面的图展开,循环神经网络也可以画成下面这个样子:

RNN时间线展开图

RNN——神经网络 Keras个人学习笔记(2)

用公式表示如下:

RNN——神经网络 Keras个人学习笔记(2)

RNN公式

总结

好了,到这里大概讲解了RNN最基本的几个知识点,能够帮助大家直观的感受RNN和了解为什么需要RNN,后续总结它的反向求导知识点。

相关文章:

  • 2021-07-06
  • 2021-05-28
  • 2021-07-24
  • 2021-09-01
  • 2022-01-01
  • 2021-07-15
猜你喜欢
  • 2021-11-09
  • 2021-05-09
  • 2021-04-13
  • 2021-08-15
  • 2022-12-23
  • 2022-01-07
  • 2021-11-23
相关资源
相似解决方案