初步理解RNN和LSTM

RNN

RNN(Recurrent Neural Network,循环神经网络)是一种能够处理序列数据的神经网络。这里的时序信息可以指例如对于这一句话 “我吃了一个苹果”,“苹果” 的词性和意思,在这里取决于前面词的信息,如果没有 “我吃了一个” 这些词,“苹果” 也可以翻译为乔布斯搞出来的那个被咬了一口的苹果。

基本结构

在一个标准的RNN中,每一个时刻 tt 的输入 x_tx**t 和上一时刻 t-1t−1 的隐藏状态 h_{t-1}h**t−1 会通过网络生成当前时刻的输出 y_ty**t 和当前隐藏状态 h_th**t

RNN的每一层都有一个共享的参数(例如权重矩阵),这个参数在每一时刻的计算中都会被使用,确保网络能够在整个序列中共享信息。

数学表达

  1. 隐藏状态计算:每个时刻的隐藏状态 h_t​ 是由当前输入 x_t​ 和上一时刻的隐藏状态 h_{t-1}计算得到的,公式如下:

    $$
    h_t = \text{tanh}(W_h \cdot [h_{t-1}, x_t] + b_h)
    $$

     

    其中:

    • W_h 是隐藏状态的权重矩阵。

    • [h_{t-1}]是上一时刻的隐藏状态与当前时刻的输入拼接而成的向量。

    • b_h是偏置项。

    • \text{tanh} 是激活函数。

  2. 输出计算:当前时刻的输出 y_ty**t 是由当前隐藏状态 h_th**t 计算得到的,公式为:
    y_t = W_y \cdot h_t + b_y

     

    其中:

    • W_y是输出的权重矩阵。

    • b_y 是偏置项。

梯度消失问题

RNN 所有的 timestep 共享一套参数 U,V,W在 RNN 反向传播过程中,需要计算 $U,V,W& 等参数的梯度,由公式可知,由于他是多层网络 ,计算梯度时是将各层的梯度链式 相乘的,由于激活函数的局限性,梯度会变得过大或过小,尤其是远距离的,虽然梯度不会消失,但是它是无法学习到远距离的信息的。

LSTM

LSTM(Long Short-Term Memory)是RNN的一种特殊变体,专门为了解决RNN在处理长序列时面临的梯度消失问题而设计的。LSTM通过引入“门控”机制,控制信息的流动,能够有效地保留长期依赖信息。

结构图:

虽然看不太懂数学公式,但是他是通过引入门控结构来控制远距离的信息的,即

  1. 遗忘门(Forget Gate)

  2. 输入门(Input Gate)

  3. 输出门(Output Gate)

简单来说,就是引入更多的参数以便更细致的调整模型,这也是为什么结构这么复杂,实质上还是为了解决RNN的梯度下降问题。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【华为OD机考】华为OD笔试真题解析(18)--找出通过车辆最多的颜色

题目描述 在一个狭小的入口,每秒只能通过一辆车,假如车辆的颜色只有3种,找出N秒内经过的最多颜色的车辆数量,三种颜色编号为0、1、2。 输入描述 第一行输入的是通过的车辆颜色信息,[0,1,1,2]代表4秒钟通过的车辆颜色…

基于POI的Excel下拉框自动搜索,包括数据验证的单列删除

目录 目标 例子 1.搜索下拉框页 2.数据源页 3.效果 代码以及注意事项 1.代码 2.注意事项 1.基于Excel的话,相当于加入了一个【数据验证】 2.代码中的一些方法说明 目标 期望在Excel利用代码创建具备自动搜索功能的下拉框 例子 1.搜索下拉框页 2.数据源…

【最后203篇系列】010 关于矩阵的一点思考

说明 今天拿起一本矩阵的书又翻了翻,毕竟AI搞到最后还得是数学。 我是感觉自己高数始终有点学的迷迷糊糊的,就打算这一年慢慢把矩阵部分扫一遍,毕竟这快肯定是实打实有用的。其他高级部分就等我发财之后再说了,哈哈。 内容 今…

(动态规划 最长递增的子序列)leetcode 300

这道题我第一眼反应就是暴力,但是暴力的话就是n*n-1*n-2*...n-(n-1) 也就是O(n^n)dfs做绝对超时 贪心也不行,这里是子序列,要考虑在ni的范围内考虑多种路线取最优,所以用动态规划 如何用动态规划呢? 答:…

本地大模型编程实战(26)用langgraph实现基于SQL数据构建的问答系统(5)

本文将将扩展上一篇文章完成的 langgraph 链,继续使用基于 langgraph 链 ,对结构化数据库 SQlite 进行查询的方法。该系统建立以后,我们不需要掌握专业的 SQL 技能,可以用自然语言询问有关数据库中数据的问题并返回答案。主要完善…

Linux---共享内存

1.ipcs命令 IPC机制是一个让人烦恼的问题:编写错误的程序或因为某些原因而执行失败的程序将把它的IPC资源(如消息队列中的数据)遗留在系统里,并且这些资源在程序结束后很长时间让然在系统中游荡,这导致对程序的新调用…

RAG 阿里云

RAG-阿里云Spring AI Alibaba官网官网 RAG-阿里云Spring AI Alibaba官网官网 AI应用跑起来,取消一下航班的操作666

M4 Mac mini运行DeepSeek-R1模型

前言 最近DeepSeek大模型很火,实际工作中也有使用,很多人觉得需要很好的显卡才能跑起来,至少显存需要很高,但实际上一般的核显机器也能跑起来,只不过内存要求要大,对于个人而言,实际上Mac M芯片…

【Cadence射频仿真学习笔记】2.4GHz低噪放LNA仿真设计

课程分为3个部分, 一、LNA结构与噪声优化方法 噪声优化的方法是:限定功耗的噪声和功率同时匹配噪声匹配和功率匹配一般不会同时达到, 对于PCSNIM结构的噪声分析,我们只需要了解与哪些参数有关优化思路是:1.信号源阻抗…

机器学习:线性回归,梯度下降,多元线性回归

线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归(Multiple Linear Regression)

C++22——哈希

目录 1.unordered_map的文档介绍 2.unordered_set的文档介绍 3.底层结构 3.1哈希的概念 3.2哈希冲突 3.3哈希函数 3.4哈希冲突解决 3.4.1闭散列 3.4.2开散列 1.unordered_map的文档介绍 unordered_map在线文档说明 unordered_map是存储<key&#xff0c;value>键值…

Docker 搭建 Gitlab 服务器 (完整详细版)

参考 Docker 搭建 Gitlab 服务器 (完整详细版)_docker gitlab-CSDN博客 Docker 安装 (完整详细版)_docker安装-CSDN博客 Docker 日常命令大全(完整详细版)_docker命令-CSDN博客 1、Gitlab镜像 # 查找Gitlab镜像 docker search gitlab # 拉取Gitlab镜像 docker pull gitlab/g…

如何杀死僵尸进程?没有那个进程?

在题主跑代码的时候遇到了这样一种很奇怪的问题&#xff1a; 可以看到显卡0没有跑任何程序但是还是被占据着大量显存&#xff0c;这种进程称为“僵尸进程”&#xff0c;并且当我想kill它的时候&#xff0c;出现下面这种情况&#xff1a; 查过各种资料&#xff0c;最后我的解决…

从0开始的IMX6ULL学习篇——裸机篇之分析粗略IMX6ULL与架构

目录 简单的说一下Cortex-A7架构 讨论ARMv7a-cortex系列的运行模式 寄存器 后言 让我们到NXP的官网上扫一眼。 i.MX 6ULL应用处理器_Arm Cortex-A7单核&#xff0c;频率为900 MHz | NXP 半导体 我们先看CPU Platform&#xff0c;这个是我们的核心。 这里我们的芯片是基于Ar…

从UNIX到Linux:操作系统进化史与开源革命

从UNIX到Linux&#xff1a;操作系统进化史与开源革命 一、操作系统&#xff1a;数字世界的基石 1.1 什么是操作系统&#xff1f; 操作系统&#xff08;OS&#xff09;是计算机系统的核心管理者&#xff0c;承担着三大核心使命&#xff1a; 硬件指挥官&#xff1a;直接管理C…

风控算法技术图谱和学习路径

风控算法技术图谱和学习路径可以从以下几个方面进行详细阐述: 一、风控算法技术图谱 基础知识与理论框架 风控算法技术的核心在于数据处理、特征工程、模型构建及优化。基础知识包括统计学、机器学习、深度学习、图算法等。例如,基于Python的智能风控书籍详细介绍了信贷风控…

Word 插入图片会到文字底下解决方案

一、现象描述 正常情况下&#xff0c;我们插入图片都是这样的。 但有时突然会这样&#xff0c;插入的图片陷于文字底部。 二、网上解决方案 网上有教程说&#xff0c;修改图片布局选项&#xff0c;从嵌入型改成上下型环绕。改完之后确实有用&#xff0c;但是需要手动拖动图片…

NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)

B2093 查找特定的值 - 洛谷 题⽬要求下标是从0开始的&#xff0c;和数组的下标是吻合的&#xff0c;存放数据应该从下标0开始n的取值范围是1~10000数组中存放的值的绝对值不超10000&#xff0c;说明int类型就⾜够了找到了输出下标&#xff0c;找不到要输出-1&#xff0c;这⼀点…

SQL server2022的详细安装流程以及简单使用

鉴于SQL Server2008R2版本过于老旧&#xff0c;本文主要讲述如何安装SQL Server 2022。 本文主要详细介绍SQL server2022的详细安装流程以及简单使用&#xff0c;以《数据库系统概论&#xff08;第5版&#xff09;》的第79页—第80页为例&#xff0c;详细介绍如何使用SQL serv…

泰勒公式详解与应用

前言 本文隶属于专栏《机器学习数学通关指南》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 &#x1f4dd; 一句话总结 泰…