LSTM模型详解_LSTM模型建立

LSTM模型详解_LSTM模型建立(一)LSTM模型理解1.长短期记忆模型(long-shorttermmemory)是一种特殊的RNN模型,是为了解决RNN模型梯度弥散的问题而提出的;在传统的RNN中,训练算法使用的是BPTT,当时间比较长时,需要回传的残差会指数下降,导致网络权重更新缓慢,无法体现出RNN的长期记忆的效果,因此需要一个存储单元来存储记忆,因此LSTM模型被提出;2.下面两个图可以看出RNN与LSTM的区别:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

(一)LSTM模型理解

1.长短期记忆模型(long-short term memory)是一种特殊的RNN模型,是为了解决RNN模型梯度弥散的问题而提出的;在传统的RNN中,训练算法使用的是BPTT,当时间比较长时,需要回传的残差会指数下降,导致网络权重更新缓慢,无法体现出RNN的长期记忆的效果,因此需要一个存储单元来存储记忆,因此LSTM模型被提出;

2.下面两个图可以看出RNN与LSTM的区别:

(1)RNN

LSTM模型详解_LSTM模型建立

(2)LSTM

LSTM模型详解_LSTM模型建立

PS:

(1)部分图形含义如下:

LSTM模型详解_LSTM模型建立

(2)RNN与LSTM最大的区别在于LSTM中最顶层多了一条名为“cell state”的信息传送带,其实也就是信息记忆的地方;

3.LSTM的核心思想:

(1)理解LSTM的核心是“cell state”,暂且名为细胞状态,也就是上述图中最顶的传送线,如下:

LSTM模型详解_LSTM模型建立

(2)cell state也可以理解为传送带,个人理解其实就是整个模型中的记忆空间,随着时间而变化的,当然,传送带本身是无法控制哪些信息是否被记忆,起控制作用的是下面将讲述的控制门(gate);

(3)控制门的结构如下:主要由一个sigmoid函数跟点乘操作组成;sigmoid函数的值为0-1之间,点乘操作决定多少信息可以传送过去,当为0时,不传送,当为1时,全部传送;

LSTM模型详解_LSTM模型建立

(4)LSTM中有3个控制门:输入门,输出门,记忆门;

4.LSTM工作原理:

(1)forget gate:选择忘记过去某些信息:

LSTM模型详解_LSTM模型建立

(2)input gate:记忆现在的某些信息:

LSTM模型详解_LSTM模型建立

(3)将过去与现在的记忆进行合并:

LSTM模型详解_LSTM模型建立

(4)output gate:输出

LSTM模型详解_LSTM模型建立

PS:以上是标准的LSTM的结构,实际应用中常常根据需要进行稍微改善;

5.LSTM的改善

(1)peephole connections:为每个门的输入增加一个cell state的信号

LSTM模型详解_LSTM模型建立

(2)coupled forget and input gates:合并忘记门与输入门

LSTM模型详解_LSTM模型建立

(二)LSTM模型推导

LSTM模型详解_LSTM模型建立

1.LSTM模型的思想是将RNN中的每个隐藏单元换成了具有记忆功能的cell(如上图所示),其余的跟RNN一样;

2.每个cell的组成如下:

(1)输入节点(gc):与RNN中的一样,接受上一个时刻点的隐藏节点的输出以及当前的输入作为输入,然后通过一个tanh的激活函数;

(2)输入门(ic):起控制输入信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid(原因为sigmoid的输出为0-1之间,将输入门的输出与输入节点的输出相乘可以起控制信息量的作用);

(3)内部状态节点(sc):输入为被输入门过滤后的当前输入以及前一时间点的内部状态节点输出,如图中公式;

(4)忘记门(fc):起控制内部状态信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid(原因为sigmoid的输出为0-1之间,将内部状态节点的输出与忘记门的输出相乘可以起控制信息量的作用);

(5)输出门(oc):起控制输出信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid(原因为sigmoid的输出为0-1之间,将输出门的输出与内部状态节点的输出相乘可以起控制信息量的作用);

3.LSTM层的计算可以表示如下(若干个cell组成一个LSTM层):

LSTM模型详解_LSTM模型建立

PS:公式1 中的Wih应改为Wgh;圆圈表示点乘;

4.具有2个cell的LSTM模型如下:

LSTM模型详解_LSTM模型建立

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195049.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • FPN总结[通俗易懂]

    FPN总结[通俗易懂]经典的twostage检测网络有:fasterRCNN和SSD,它们用于做bboxregression的模型各有不同,fasterRCNN是VGG,featuremap经过不断地下采样,最后的featuremap送入RPN层,这样不断地下采样使得小检测框的像素非常小,无法进行训练的到,得到很好的结果。而SSD则是分别对不同尺寸的featuremap进行bboxregression,…

    2022年5月2日
    50
  • IP代理池的使用

    IP代理池的使用参考书籍:python3网络爬虫开发与实战作者个人博客:https://cuiqingcai.com/下载IP代理池的程序,其作者放在了GitHub:https://github.com/Python3WebSpider/ProxyPool需要的工具:pycharm、各种库、python37、redis安装、redis可视化工具(在参考书籍作者博客中都有安装方法)1、下载IP…

    2022年5月9日
    65
  • 实验室仪器管理系统_实验室设备管理系统代码

    实验室仪器管理系统_实验室设备管理系统代码实验室设备管理系统主要包括:实验室设备信息的管理模块,实验室设备信息的浏览查询模块,设备事故记录模块,设备资料管理模块设备的损坏管理模块,设备损坏信息浏览查询,设备类别设置,系统用户的管理。通过本系统,可以更加有效的管理学生实验室设备信息开发技术:php,mysql,apache课题名称:实验室设备管理系统1)系统简介每学年要对实验室设备使用情况进行统计、更新。其中:(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号

    2022年10月13日
    4
  • 解决Ubuntu18.04无法安装旧版本gfortran4.6

    解决Ubuntu18.04无法安装旧版本gfortran4.61 问题描述在使用中国镜像源后无法使用 apt get 安装 gfortran4 6 如下图所示 2 解决方案只需将以下几行添加到我的 etc apt sources list 文件中即可满足我的需求 debhttp archive ubuntu com ubuntutrusty security ubuntu com ubuntutrusty securitymain

    2025年11月22日
    3
  • acwing-143. 最大异或对(Trie+异或)「建议收藏」

    acwing-143. 最大异或对(Trie+异或)「建议收藏」在给定的 N 个整数 A1,A2……AN 中选出两个进行 xor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数 N。第二行输入 N 个整数 A1~AN。输出格式输出一个整数表示答案。数据范围1≤N≤105,0≤Ai<231输入样例:31 2 3输出样例:3#include<bits/stdc++.h>using namespace std;const int N = 31e5 + 10;int trie[N][2],ctx,cnt[N];

    2022年8月10日
    12
  • C#解析json文件的方法

    C#解析json文件的方法

    2021年8月26日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号