循环神经网络,一般用于处理时序数据。
原理
前一个节点的输出传递到下一个节点的输入。根据不同的输入输出模式,RNN 可以构造成为不同的结构。
一般来讲,RNN 是首位相接的。
一般使用 RNN,分为两个阶段:
- 建模阶段:利用已有数据创建模型。
- 采样阶段:对已有模型采样,并获得一个输出,一般是随机采样。
应用
最典型的时序数据就是语言句子。语句时从前往一个一个单词出现的,所以即为时序数据。
例如我们要评估:“一句话的出现概率”,就是对语句做概率建模。
在采样过程中,前序的单词已经出现的情况下,采样下一个单词。
在这种情境下,问题为:
那么根据条件概率的推导,就可以得到
也就是下一个单词出现的概率。
此种方式和语言模型颇为类似,可见 RNN 是一个比较基础的对语言序列建模的方法。