循环神经网络,一般用于处理时序数据。

原理

前一个节点的输出传递到下一个节点的输入。根据不同的输入输出模式,RNN 可以构造成为不同的结构。

一般来讲,RNN 是首位相接的。

一般使用 RNN,分为两个阶段:

  • 建模阶段:利用已有数据创建模型。
  • 采样阶段:对已有模型采样,并获得一个输出,一般是随机采样。

应用

最典型的时序数据就是语言句子。语句时从前往一个一个单词出现的,所以即为时序数据。

例如我们要评估:“一句话的出现概率”,就是对语句做概率建模。

在采样过程中,前序的单词已经出现的情况下,采样下一个单词。

在这种情境下,问题为:

那么根据条件概率的推导,就可以得到

也就是下一个单词出现的概率。

此种方式和语言模型颇为类似,可见 RNN 是一个比较基础的对语言序列建模的方法。