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


相关推荐

  • 如何关闭nginx服务_如何启动nginx

    如何关闭nginx服务_如何启动nginxNginx服务器启停命令Nginx安装完成后,接下来我们要学习的是如何启动、重启和停止Nginx的服务。对于Nginx的启停在linux系统中也有很多种方式,我们本次课程介绍两种方式:Nginx服务的信号控制Nginx的命令行控制方式一:Nginx服务的信号控制前面在提到Nginx的高性能,其实也和它的架构模式有关。Nginx默认采用的是多进程的方式来工作的,当将Nginx启动后,我们通过ps-ef|grepnginx命令可以查看到如下内容:从上图中可以看到,Nginx后台进程中包含

    2022年8月13日
    0
  • vue网络图片url转Base64「建议收藏」

    vue网络图片url转Base64「建议收藏」单张图片转Base64<script>methods:{ //异步执行 imageUrlToBase64(){ //一定要设置为let,不然图片不显示 letimage=newImage(); //解决跨域问题 image.setAttribute(‘crossOrigin’,’anonymous’); let…

    2022年9月16日
    1
  • 使用Jenkins 自动部署发布

    使用Jenkins 自动部署发布

    2022年3月2日
    51
  • 软件激活成功教程教程2[通俗易懂]

    软件激活成功教程教程2[通俗易懂]第四章–调试器及相关工具入门在写这章之前,我看了一下看雪以往的教程。本来想参考一下,可忽然发现,写这样的一章,是一件非常愚蠢的事情,因为我觉的关于这些工具的使用教程。看雪教程中已经写的够详细的了,我并不认为你会看不懂。所以我不想做浪费时间的人,本章就此搁浅。推荐看《CrackTutorial2001》,推荐看《看雪论坛精华一、二、三、四》,推荐看《加密与解密--软件保护技术及完全解决方案》,

    2022年6月18日
    36
  • pytest fixtures_figure可数吗

    pytest fixtures_figure可数吗fixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

    2022年7月28日
    3
  • Vue 提交表单[通俗易懂]

    Vue 提交表单[通俗易懂]1、form标签@submit.prevent=”submit($event)”<form@submit.prevent=”submit($event)”><inputtype=”text”class=”form-control”placeholder=”请输入姓名”name=”username”><inputtype=”s…

    2022年10月7日
    0

发表回复

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

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