RNN标准模型及其变种

1. 概念:

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

2. 结构:


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

3. 特点

(1)能够处理序列化数据,隐层神经元之间也有权连接

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

(3)每一个输入值只与它本身的那条线路建立权连接,不与别的神经元连接

4. 其他RNN结构

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

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


(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,可用于学习推论

版权声明:本文为CSDN博主「杨晓茹」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42421001/article/details/81603740

最新文章