深度学习 -- TensorFlow(9)循环神经网络RNN

目录

一、循环神经网络RNN介绍

二、Elman network && Jordan network

三、RNN的多种架构

1、一对一 

2、多对一

3、多对多

4、 一对多

5、Seq2Seq

四、传统RNN的缺点


一、循环神经网络RNN介绍

        循环神经网络 RNN 的基本结构是 BP 网络的结构,也是有输入层,隐藏层和输出层。只不过在 RNN 中隐藏层的输出不仅可以传到输出层,并且还可以传给下一个时刻的隐藏层

深度学习 -- TensorFlow(9)循环神经网络RNN_第1张图片深度学习 -- TensorFlow(9)循环神经网络RNN_第2张图片

深度学习 -- TensorFlow(9)循环神经网络RNN_第3张图片

        从结构上可以观察到 RNN 最大的特点是 之前序列输入的信息会对模型之后的输出结果造
成影响。 有记忆

例:        
        有一个句子是“我爱你”,那么先把句子做分词得到“我”,“爱”,“你”三个词,然后依次把这三个词输入到网络中。那么 "为“我” 所表示的信号, 为“爱”所表示的信号, 为“你”所 
表示的信号。而 "输出结果是主语, 输出结果是谓语, 输出结果是宾语,分别得
到 “我”,“爱”,“你”这三个词的词性。

二、Elman network && Jordan network

        循环神经网络 RNN 有两种常见的模型,一种是 Elman network 另一种是 Jordan network
        Elman network 和 Jordan network 也被称为:Simple Recurrent Networks (SRN) SimpleRNN ,即简单的循环神经网络。

 

公式:

 Elman network:

Jordan network: 

深度学习 -- TensorFlow(9)循环神经网络RNN_第4张图片

Elman network会更常用一些。

三、RNN的多种架构

1、一对一 

深度学习 -- TensorFlow(9)循环神经网络RNN_第5张图片

深度学习 -- TensorFlow(9)循环神经网络RNN_第6张图片 

 

2、多对一

深度学习 -- TensorFlow(9)循环神经网络RNN_第7张图片 

 深度学习 -- TensorFlow(9)循环神经网络RNN_第8张图片

 

3、多对多

深度学习 -- TensorFlow(9)循环神经网络RNN_第9张图片

 

4、 一对多

深度学习 -- TensorFlow(9)循环神经网络RNN_第10张图片

 深度学习 -- TensorFlow(9)循环神经网络RNN_第11张图片

5、Seq2Seq

Seq2SeqSequence to Sequence):序列到序列模型(算是多对多架构)。

深度学习 -- TensorFlow(9)循环神经网络RNN_第12张图片 

深度学习 -- TensorFlow(9)循环神经网络RNN_第13张图片

seq2seq作用

深度学习 -- TensorFlow(9)循环神经网络RNN_第14张图片

 

四、传统RNN的缺点

传统RNN的缺点:梯度消失

梯度消失:
        关于梯度消失的问题。就是模型计算得到的误差信号从输出层不断向前传播,以此来调整前面层的权值,使得模型的性能越来越好。但是由于误差信号在每次传递的时候都需要乘以激活函数的导数当激活函数的导数取值范围是 0-1 之间时,会使得误差信号越传越小,最终趋近于0

 

RNN中的梯度消失: 
        这个梯度消失的问题在 RNN 中同样存在RNN 的序列结构展开之后也可以看成是有很多的“层”在计算误差信号的时候同样会出现梯度消失的问题,使得网络输出的学习信号只能影响到它前面的几层,对它前面的几层的权值进行调节

深度学习 -- TensorFlow(9)循环神经网络RNN_第15张图片 

 

例:

RNN成功例子: 

深度学习 -- TensorFlow(9)循环神经网络RNN_第16张图片

 RNN失败例子

深度学习 -- TensorFlow(9)循环神经网络RNN_第17张图片

你可能感兴趣的:(#,tensorflow,深度学习,rnn,人工智能,神经网络)