从RNN到LSTM

RNN的引入

RNN:具有记忆的神经网络。
一个词汇表示成一个Vector
在这里插入图片描述
输入一个向量,第n个词的输入和第n-1个词的输出相加,然后生成第n个词的概率
在这里插入图片描述
多层的
在这里插入图片描述

RNN的类别

两种Network

在这里插入图片描述

两边同时进行RNN

除了可以获取从头到尾的信息,还能获取从尾到头的信息。
在这里插入图片描述

LSTM

LSTM流程

简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。现在的所说的RNN就是LSTM。
在这里插入图片描述
**一个局部LSTM:**每个f(x)函数都是用的sigmoid函数,就是生成0~1的值来表示这个阀门的打开程度大小。
流程:输入向量,输入门(Input Gate)以一定概率控制输入输入,遗忘门(Forget Gata)一一定概率记住这个值,然后输出门(Output Gate)以一定概率输出。

LSTM的参数是普通神经网络的四倍
在这里插入图片描述

深入LSTM结构

1、首先使用LSTM的当前输入 x t x^t xt和上一个状态传递下来的 h ( t − 1 ) h^(t-1) ht1拼接经过线性激活函数训练得到四个状态。
在这里插入图片描述

RNN带来的梯度消失和梯度爆炸

RNN不好训练,因为梯度容易爆炸或者消失。
首先得明白RNN中梯度消失和平常的梯度消失不是一个概念。
RNN 所谓梯度消失的真正含义是,梯度被近距离梯度主导,导致模型难以学到远距离的依赖关系。
原因: 因为每次记忆都会覆盖上一次的值,长久的记忆下去,梯度被近距离梯度主导,远距离梯度很小,导致模型难以学到远距离的信息。
在这里插入图片描述

解决梯度消失的方法:LSTM

**原因:**一开始的LSTM没有遗忘门,也就是类似一个残差网络(ResNet),上一次的数据完整的传给了下一次。后面产生遗忘门,每次都选择上次记忆的部分+这次的新值,不是直接覆盖。可以解决RNN中梯度消失的问题。

RNN的应用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值