• 在图像处理中,目前做的最好的是CNN
  • 自然语言处理中,表现比较好的是RNN

既然我们已经有了人工神经网络和卷积神经网络,为什么还要循环神经网络?

  • 原因很简单,无论是卷积神经网络,还是人工神经网络,他们的前提假设都是:元素之间是相互独立的,输入与输出也是独立的
  • 循环神经网络,他的本质是:像人一样拥有记忆的能力。因此,他的输出就依赖于当前的输入和记忆。

RNN结构:

RNN中的结构细节:

  1. 可以把 rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络
  2. rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络_02
  3. 很可惜的是,rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络
  4. 和卷积神经网络一样,这里的网络中每个 cell 都共享了一组参数(U,V,W),这样就能极大的降低计算量了。
  5. rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络_02

rnn循环神经网络的缺点 rnn循环神经网络的原理_人工智能_05

  • 用一句话解释RNN,就是一个单元结构重复使用。

定义:

  • rnn循环神经网络的缺点 rnn循环神经网络的原理_rnn_06
  • rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络_02
  • rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络

当前时刻的输出是由:以前的记忆和当前时刻的输入决定的,神经网络最擅长做的就是通过一系列参数把很多内容整合到一起,然后学习这个参数,因此就定义了RNN的基础:

下一状态:rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络_09
当前输出:rnn循环神经网络的缺点 rnn循环神经网络的原理_rnn循环神经网络的缺点_10

  • rnn循环神经网络的缺点 rnn循环神经网络的原理_深度学习_11
  • 套用一个激活函数,可以用来做一个非线性映射,也可以用来过滤信息
双向 RNN

在有些情况,比如有一部电视剧,在第三集的时候才出现的人物,现在让预测一下在第三集中出现的人物名字,你用前面两集的内容是预测不出来的,所以你需要用到第四,第五集的内容来预测第三集的内容,这就是双向RNN的想法。如图是双向RNN的图解:

rnn循环神经网络的缺点 rnn循环神经网络的原理_人工智能_12

从前往后:
rnn循环神经网络的缺点 rnn循环神经网络的原理_rnn_13
rnn循环神经网络的缺点 rnn循环神经网络的原理_人工智能_14

从后往前:
rnn循环神经网络的缺点 rnn循环神经网络的原理_rnn循环神经网络的缺点_15
rnn循环神经网络的缺点 rnn循环神经网络的原理_rnn循环神经网络的缺点_16

双向RNN需要的内存是单向RNN的两倍,因为在同一时间点,双向RNN需要保存两个方向上的权重参数,在分类的时候,需要同时输入两个隐藏层输出的信息。

深层双向 RNN

深层双向RNN 与双向RNN相比,多了几个隐藏层,因为他的想法是很多信息记一次记不下来,比如你去考研,复习考研英语的时候,背英语单词一定不会就看一次就记住了所有要考的考研单词吧,你应该也是带着先前几次背过的单词,然后选择那些背过,但不熟的内容,或者没背过的单词来背吧。

rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络_17

Pyramidal RNN(金字塔型RNN)

rnn循环神经网络的缺点 rnn循环神经网络的原理_人工智能_18


rnn循环神经网络的缺点 rnn循环神经网络的原理_循环神经网络_19