六、长短时记忆网络语言模型(LSTM)
为了解决深度神经网络中的梯度消失问题,提出了一种特殊的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 门的输出,至此我们输出了我们决定的那些部分。

输出门计算公式如下:

参考长短期记忆网络
相关文章:
六、长短时记忆网络语言模型(LSTM)
为了解决深度神经网络中的梯度消失问题,提出了一种特殊的RNN模型——长短期记忆网络(Long Short-Term Memory networks, LSTM),能够有效的传递和表达长时间序列中的信息并且不会导致长时间前的有用信息被忽略。 长短时记忆网络原理…...
Filter过滤器+JWT令牌实现登陆验证
一、背景 我们需要在客户端访问服务器的时候给定用户一定的操作权限,比如没有登陆时就不能进行其他操作。如果他需要进行其他操作,而在这之前他没有登陆过,服务端则需要将该请求拦截下来,这就需要用到过滤器,过滤器可以…...
SQL学习十八~十九
...
2024 AI 辅助研发的新纪年
随着人工智能技术的持续发展与突破,2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计,从软件开发到材料科学,AI正逐渐渗透到研发的各个环节,变革着传统的研发模式。在这一背景下,AI辅助研发不仅…...
【牛客】HJ87 密码强度等级 CM62 井字棋
题目一:密码强度等级 题目链接:密码强度等级_牛客题霸_牛客网 (nowcoder.com) 本题主要考察C语言中逻辑分支语句,基本语句以及对各种特殊字符 ,ASCII值以及条件表达中的逻辑运算符关系运算符各自功能的理解,以及基本使用&#x…...
【论文速读】 | DeGPT:通过大语言模型优化反编译器输出
本次分享论文为:DeGPT: Optimizing Decompiler Output with LLM 基本信息 原文作者:Peiwei Hu, Ruigang Liang, Kai Chen 作者单位:中国科学院信息工程研究所;中国科学院大学网络空间安全学院 关键词:反向工程&…...
【DP】蓝桥杯第十三届-费用报销
#include<iostream> #include<algorithm> #include<cstring> #include<set> #include<queue> using namespace std; const int N1010; int dp[N][5010];//dp[i][j]:选到第i个物品是否能取到价值j; int month[13]{0,31,28,31,30,31,30…...
15. C++泛型与符号重载
【泛型编程】 若多组类型不同的数据需要使用相同的代码处理,在C语言中需要编写多组代码分别处理,这样做显然太过繁琐,C增加了虚拟类型,使用虚拟类型可以实现一组代码处理多种类型的数据。 虚拟类型是暂时不确定的数据类型&#…...
老司机都懂的!【打赏】完美运营的最新视频打赏系统
完美运营的最新视频打赏系统优于市面上95%的打赏系统,与其他打赏系统相比,功能更加强大,完美运营且无bug。支付会调、短链接生成、代理后台、价格设置和试看功能等均没有问题。 以上为原简介,经测试验证。成功搭建并可以正常进入…...
JavaWeb笔记 --- 二、Maven
二、Maven Maven概述 所有的IDE创建的Maven项目都可以使用 Maven简介 Maven模型 Maven常用命令 Maven生命周期 Maven坐标 依赖管理 dpendencies:依赖 依赖范围...
【C++】C++11---右值引用和移动语义
目录 1、什么是左值引用和右值引用2、左值引用与右值引用比较3、右值引用使用场景和意义4、右值引用引用左值的分析5、完美转发 1、什么是左值引用和右值引用 传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前学习…...
消息队列-kafka-消息发送流程(源码跟踪) 与消息可靠性
官方网址 源码:https://kafka.apache.org/downloads 快速开始:https://kafka.apache.org/documentation/#gettingStarted springcloud整合 发送消息流程 主线程:主线程只负责组织消息,如果是同步发送会阻塞,如果是异…...
机器学习笔记 计算机视觉中的测距任务常见技术路线
一、计算机视觉中的测距任务 测距是计算机视觉中的一项关键任务,涉及测量物体和相机之间的距离。这些信息可用于多种应用,包括机器人、自动驾驶汽车和增强现实。测距技术有很多种,包括主动式和被动式,每种技术都有自己的优点和局限性。主动测距技术,例如飞行时间、结构光和…...
云计算 3月8号 (wordpress的搭建)
项目wordpress 实验目的: 熟悉yum和编译安装操作 锻炼关联性思维,便于以后做项目 nginx 编译安装 1、安装源码包 [rootlinux-server ~]# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel [rootlinux-server ~]# wget http://nginx.…...
【CSS】(浮动定位)易忘知识点汇总
浮动特性 加了浮动之后的元素,会具有很多特性,需要我们掌握的. 1、浮动元素会脱离标准流(脱标:浮动的盒子不再保留原先的位置) 2、浮动的元素会一行内显示并且元素顶部对齐 注意: 浮动的元素是互相贴靠在一起的(不会有缝隙)&…...
Vitual Box虚拟机打开后,键盘鼠标失效
Vitual Box虚拟机打开后,键盘鼠标失效 作者在使用Vitual Box虚拟机软件时,偶然发现打开VitualBox后,鼠标和键盘均无法使用。 你以为是“主机热键”引起的?NO! 废话少说 直接上干货: 在VitualBox设置下有…...
宠物空气净化器值得入手吗?选购宠物空气净化器关注哪些方面?
一开始养猫时,每天看着可爱的猫咪在家里快乐奔跑,让人心情愉悦。然而,作为铲屎官都知道,猫咪会掉毛,特别是在换毛期间,地板、沙发上都会有一大堆猫毛,甚至衣服也可能沾满猫毛。养猫家庭中&#…...
前端发起请求,后端模型需处理很久,怎样设置前端直接完成请求响应,后端计算完在返回结果给前端?
在这种情况下,可以采用异步处理的方式来解决。具体步骤如下: 前端发起请求:前端向后端发送请求,但是不等待后端处理完成而是立即得到响应。 后端异步处理:后端接收到请求后,不立即进行处理,而是…...
DDD领域驱动设计
一、什么是领域驱动设计DDD 领域驱动设计(Domain-Driven Design,DDD)是一种软件开发方法论,它提出了一组关于如何设计和构建软件系统的原则和方法。 二、DDD的诞生是为了解决哪些问题 对复杂业务领域的理解不足:传统…...
网络编程第1天
OSI的七层网络模型有哪些,每一层有什么作用? (1)应用层 负责处理不同应用程序之间的通信,需要满足提供的协议,确保数据发送方和接收方的正确 应用层提供的协议: HTTP:超文本传输…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...
