六、长短时记忆网络语言模型(LSTM)

news2024/11/17 12:42:47

为了解决深度神经网络中的梯度消失问题,提出了一种特殊的RNN模型——长短期记忆网络(Long Short-Term Memory networks, LSTM),能够有效的传递和表达长时间序列中的信息并且不会导致长时间前的有用信息被忽略。

 长短时记忆网络原理图:参考LSTM Networks

 原理图中的图形及其含义:一张图理解LSTM参数 和 timestep、inputsize、batchsize的区别

  • 黄色矩形框是神经网络层,常见的激活函数有sigmoid,tanh和线性修正单元relu;
  • 粉色圆圈表示对向量进行点向运算,如向量加法、点乘;
  • 直线表示每一行都带有一个向量,该向量从一个节点输出到其他节点的输入;
  • 线的合并表示连接;
  • 线的交叉表示其内容正在复制,副本将转到不同的位置。

长短期记忆网络结构包括:参考LSTM

遗忘门 forget gate:LSTM会先根据新的输入和上一时刻的输出决定遗忘掉之前的哪些记忆——输入和上一步的输出会整合为一个单独的向量,然后通过sigmoid神经层,最后点对点的乘在单元状态上。

如何实现“遗忘”:sigmoid 函数会先将前一个输出 h(t-1) 和当前输入 x(t) 压缩到 (0,1) 的区间上,然后点对点的乘以单元状态。如果整合后的向量在通过sigmoid层后变为0,会“遗忘删除记忆”;通过sigmoid层后为1,单元状态会“保持完整记忆”。代码解析:官网案例理解

遗忘门的计算公式如下,f(t)是 sigmoid 神经层的输出向量:

输入门 input gate:用来控制是否将在 t 时刻(当前时刻)的数据并入单元状态中的控制单位。用 tanh 函数层将当前时刻向量中的有效信息提取出来压缩映射到区间 (-1, 1) 中创造了一个当前单元状态的候选 C'(t),然后使用图中 tanh 函数层左侧的 sigmoid 函数来控制这些记忆要放“多少”进入单元状态(为每个分量做出评级 (0, 1),评级越高的会有越多的记忆进入单元状态)

输入门的计算公式如下:

用单元状态 C(t) 表示神经元在 t 时刻过后的“记忆”,这个向量涵盖了在 t+1 时刻前神经网络对于所有输入信息的“概括总结” (C'(t) 可以理解为短期记忆的加工沉淀,可理解为期望输入)

更新上一个单元状态值 C(t−1):将上一个状态值 C(t-1) 更新为当前状态值 C(t)。将上一个状态值 C(t-1) 乘以 f(t),以此表达期待忘记的部分。之后我们将得到的值加上 i(t) * C'(t),以此得到新的候选值。

 更新上一个状态值的计算公式如下:

输出门 output gate:首先,运行一个 sigmoid 层,它决定了我们要输出的细胞状态的哪些部分。然后,将单元格状态 C(t) 通过 tanh 函数(将值规范化到-1和1之间),并将其乘以 sigmoid 门的输出,至此我们输出了我们决定的那些部分。

 输出门计算公式如下:

 参考长短期记忆网络

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1501523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot244基于SpringBoot和VUE技术的智慧生活商城系统设计与实现

智慧生活商城系统的设计与实现 摘 要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了&…

【wine】winetricks部署一个windows xp 应用程序的基础运行环境

AI 的资料 我想基于wintricks的“安装windows dll 或组件”功能,安装一个基础的windows xp运行环境,应当安装那些项目? 为了基于winetricks创建一个基础的Windows XP运行环境,您应该考虑安装以下项目以提高兼容性: 核…

非常好用的Java诊断工具Arthas(阿尔萨斯)

小伙伴们好,欢迎关注,一起学习,无限进步 文章目录 Window 安装Linux 安装SpringBoot 整合 arthas其他使用场景 Arthas是阿里巴巴开源的一款Java诊断工具,可以用于线上诊断问题、监控应用性能等。支持 Linux/Mac/Windows&#xff0…

3D-Genome | Hi-C互作矩阵归一化指南

Hi-C 是一种基于测序的方法,用于分析全基因组染色质互作。它已广泛应用于研究各种生物学问题,如基因调控、染色质结构、基因组组装等。Hi-C 实验涉及一系列生物化学反应,可能会在输出中引入噪声。随后的数据分析也会产生影响最终输出噪声&…

【C++】浅谈 vector 迭代器失效 深拷贝问题

目录 前言 一、底层空间改变 【错误版本1】 🌟【解答】正确版本 ​ 【错误版本2】 🌟【解答】正确版本 二、指定位置元素的删除操作--erase 【错误版本1】 🌟【解答】 【错误版本2】 🌟【解答】 三、深拷贝问题 前言 迭…

基于Jupyter快速入门Python,Numpy,Scipy,Matplotlib

文章目录 Jupyter 和 Colab 笔记本PythonPython 版本基础数据类型数字Numbers布尔值Booleans字符串Strings 容器列表List字典Dictionaries集合Sets元组Tuples 函数类 Numpy数组Array数组索引Array indexing数据类型DatatypesArray math广播Broadcasting Scipy图像操作MATLAB文件…

Pytorch_lightning先前版本的官方文档地址

https://lightning.ai/docs/pytorch/1.4.2/https://lightning.ai/docs/pytorch/1.4.2/ Pytorch_lightning更新到2后,和之前版本的变化较大,以前原有的api被删除了 比如:on_pretrain_routine_start 官方也没有在显眼的位置放置先前版本的文档…

3D数字孪生运行不起来?该检查你的电脑配置了

运行3D数字孪生项目通常需要一定的计算资源和图形处理能力。以下是一些常见的电脑配置要求,可以作为参考:1处理器(CPU):推荐使用多核心处理器,如Intel Core i7或更高级别的处理器。较高的时钟频率和较大的缓…

3DES算法的起源与演进:保障信息安全的重要里程碑

title: 3DES算法的起源与演进:保障信息安全的重要里程碑 date: 2024/3/8 21:25:19 updated: 2024/3/8 21:25:19 tags: 3DES算法起源安全性增强三次迭代加密密钥管理复杂效率对比AES应用场景广泛Python实现示例 一、3DES算法的起源与演进 3DES算法是DES算法的增强版…

粉嘟嘟的免费wordpress模板

粉色好看的wordpress免费模板,用免费wordpress模板也可以搭建网站。 https://www.wpniu.com/themes/11.html

利用Python副业赚钱,看完这篇你就懂了!_自学python能干些什么副业?

Python都可以做哪些副业? 1、兼职处理数据Excel整理数据功能虽然很强大,但在Python面前,曾经统治职场的它也的败下阵来。因为Python在搜集数据整理分析数据的过程中更加便捷,通过几行代码还可以实现自动化操作。 如果你学会Pyth…

VSCode国内镜像下载方法

VSCode国内镜像下载方法: 找到下载界面,点击下载后,发现下载速度非常慢。 复制下载链接,然后替换图中画线部分: 改为:vscode.cdn.azure.cn 然后将链接粘贴到浏览器回车,会发现嗖的一下就好了

(未解决)macOS matplotlib 中文是方框

reference: Mac OS系统下实现python matplotlib包绘图显示中文(亲测有效)_mac plt 中文值-CSDN博客 module ‘matplotlib.font_manager‘ has no attribute ‘_rebuild‘解决方法_font_manager未解析-CSDN博客 # 问题描述(笑死 显而易见 # solve 找到…

Docker容器化解决方案

什么是Docker? Docker是一个构建在LXC之上,基于进程容器的轻量级VM解决方案,实现了一种应用程序级别的资源隔离及配额。Docker起源于PaaS提供商dotCloud 基于go语言开发,遵从Apache2.0开源协议。 Docker 自开源后受到广泛的关注和…

springboot整合redis redis连idea

首先是maven项目里pom.xml添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-redis</artifactId> </dependency> 然后是application.properties 中增加redis配置 spring.redis.host=lo…

【Spring知识体系】1.1 Java 注解(Annotation)

文章目录 1.1 注解&#xff08;Annotation&#xff09;1.1.1 什么是注解1.1.2 内置注解1.1.3 元注解&#xff08;5种&#xff09;1.14 自定义注解1.15 注解使用场景介绍※ 本文小结 1.1 注解&#xff08;Annotation&#xff09; 1.1.1 什么是注解 注解的定义&#xff1a;它提…

FFmpeg教程(干货快速上手)

什么是FFmpeg&#xff1f; FFmpeg是一款免费、开源的跨平台多媒体处理工具&#xff0c;它支持几乎所有的视频格式和编码标准。FFmpeg包含了一系列的子项目和工具&#xff0c;如ffmpeg命令行工具用于转码和处理视频和音频文件&#xff0c;ffplay用于播放多媒体内容&#xff0c;…

​谷歌seo外链服务哪家好?

首先你要知道的&#xff0c;就是外链能起到的作用&#xff0c;不是说工具查一查外链数有增加就可以的&#xff0c;外链最重要的作用就是提升关键词排名&#xff0c;发的外链没有效果是没有任何意义的&#xff0c;而且外链基本上是一次性服务&#xff0c;服务完了没有效果完全就…

知识管理系统原来搭建起来这么简单,秘诀在这!

随着信息技术的发展&#xff0c;知识管理系统已经成为组织和团队必不可少的一部分&#xff0c;它可以帮助我们收集、组织和共享知识信息&#xff0c;提升工作效率。然而&#xff0c;搭建一套好的知识管理系统并不会一帆风顺&#xff0c;但放心&#xff0c;我们有简单易行的建设…

2024年最强云桌面科普来啦

云桌面&#xff08;Cloud Desktop&#xff09;是一种最终用户计算方法&#xff0c;它将虚拟桌面和应用程序托管在基于云的资源上&#xff0c;而不是传统的本地企业数据中心资源上。这使得用户只需通过互联网连接&#xff0c;就能够从任何地方、任何设备访问云桌面。云桌面也被称…