我是靠谱客的博主 烂漫紫菜,最近开发中收集的这篇文章主要介绍从RNN到LSTM,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里写目录标题

    • RNN的引入
      • RNN的类别
        • 两种Network
        • 两边同时进行RNN
      • LSTM
        • LSTM流程
        • 深入LSTM结构
      • RNN带来的梯度消失和梯度爆炸
        • 解决梯度消失的方法:LSTM
      • RNN的应用

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的应用

最后

以上就是烂漫紫菜为你收集整理的从RNN到LSTM的全部内容,希望文章能够帮你解决从RNN到LSTM所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部