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

目录

一、循环神经网络RNN介绍

二、Elman network && Jordan network

三、RNN的多种架构

1、一对一 

2、多对一

3、多对多

4、 一对多

5、Seq2Seq

四、传统RNN的缺点


一、循环神经网络RNN介绍

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

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

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

二、Elman network && Jordan network

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

 

公式:

 Elman network:

Jordan network: 

Elman network会更常用一些。

三、RNN的多种架构

1、一对一 

 

 

2、多对一

 

 

 

3、多对多

 

4、 一对多

 

5、Seq2Seq

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

 

seq2seq作用

 

四、传统RNN的缺点

传统RNN的缺点:梯度消失

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

 

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

 

 

例:

RNN成功例子: 

 RNN失败例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_(*^▽^*)_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值