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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue文件上传问题合集

    Vue文件上传问题合集目录1.背景2.环境3.问题集1)文件上传完成后,文件名的回显2)文件上传完成前的加载状态3)文件上传作为必填项1.背景在使用Vue+ElementUI进行前端工程开发中,遇到一些文件上传的问题,包括上传、回显、等待等。这里做一些记录,方便以后查看2.环境npm 6.14.12 vue-admin-template 4.4.0 axios 0.18.1 element-ui 2.13.2 3.问题集1)文件上传完成后,文件名

    2022年8月16日
    6
  • 解决webIDE里git push报错的问题

    解决webIDE里git push报错的问题issueYouhavefinisheddevelopmentinWebIDE.WhenyoutrytopushyourchangesdoneinWebIDEtogithub,andyoumeetwiththeerrorbelow:https://github.com/i042416/ui5-fiori:cannotopengit-rec…

    2022年10月17日
    2
  • 使用POI替换word中的特定字符/文字改进版

    推荐:http://www.cnblogs.com/roucheng/p/3504465.html

    2021年12月26日
    98
  • Ztree简介

    Ztree简介介绍 zTree 是利用 JQuery 的核心代码 实现一套能完成大部分常用功能的 Tree 插件 兼容 IE FireFox Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成和 Ajax 异步加载两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动 编辑 删除 支持任意更换皮肤 个性化图

    2025年11月1日
    2
  • 根据前序遍历和中序遍历创建二叉树

    根据前序遍历和中序遍历创建二叉树Contents 前言四种遍历树的方法简介简介两种快速获得遍历结果的方法根据前序遍历和后续遍历创建树代码实现四种遍历树的方法的代码前言昨天参加了两场笔试 都考了这个题 第一场是根据 pre

    2025年10月22日
    2
  • 关于 IPv6 你需要知道的 10 件事

    关于 IPv6 你需要知道的 10 件事

    2021年8月8日
    62

发表回复

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

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