RNN标准模型及其变种

1.概念:RNN又名循环神经网络,是一类处理序列数据的神经网络,这个序列数据不仅包括时间序列,还有文字序列等,即序列数据中后面的数据与前面的数据有关系网络

2.结构:学习

如上图所示,左边为RNN折叠图,右边为展开图。与基础的神经网络相比,RNN的不一样之处在于在隐层之间的神经元之间也创建了权链接,随着序列的不断推动,隐层的前部将会经过W权链接影响到后部。测试

3.特色编码

(1)可以处理序列化数据,隐层神经元之间也有权链接翻译

(2)权值共享,输入层,隐层,输出层的权值在不一样序列中都相同3d

(3)每个输入值只与它自己的那条线路创建权链接,不与别的神经元链接code

4.其余RNN结构blog

除了上述标准的RNN结构以外,在实际中须要采用标准结构的变体来解决问题递归

(1)若是输入为一串文字,输出为分类类别,也就是多输入对单输出的问题,能够采用以下结构class

(2)一样,有时会碰到单输入与多输出的问题,采用以下结构

(3)若输入为序列,但不随时间变化,可采用以下结构

(4)原始的N vs N RNN要求输入序列等长,然而有时咱们遇到的大部分问题中序列不是等长的,如在机器翻译中源语言与目标语言的句子每每并无相同的长度,这时可采用N vs M 模型,这种结构又叫Encoder-Decoder 模型,也称Seq2Seq模型

顾名思义,这个结构的原理是先编码再解码,左侧的RNN用来编码获得c,再用右侧的RNN进行解码。

获得c有多种方式,最简单的方法就是把Encoder的最后一个隐状态赋值给c,还能够对最后的隐状态作一个变换获得c,也能够对全部的隐状态作变换

(5)输出循环型:将输出做为循环链接,因为时间步的解耦,能够并行训练,使用导师驱动过程训练,下图训练时标记y做为循环链接输入,测试时使用输出o做为循环链接输入

(6)有向图型,没有x输入,只有y序列

(7)上下文型

上图主要用于图注,也就是x为图像,y为词序。经过输入图像x产生输出词序列

在标准结构中,添加一个标记到隐层的连接,代表在给定x的序列后相同长度y序列上的分布建模

(9)双向型

时间t的输出不只依赖过去信息ht,还依赖将来相关的信息gt。经常使用于手写识别与语音识别

(10)递归型

再也不构形成RNN的链状结构,而是树的深层结构,必定程度避免长期依赖问题,对于固定长度L的序列,将深度由L变为logL,可用于学习推论