LSTM和GRU vs 普通的循环神经网络RNN

news2025/4/21 3:19:20

1、考虑下列三种情况下,对比一下普通RNN的表现和LSTM和GRU表现:

(1)早期观测值对预测未来观测者具有非常重要的意义。

 考虑一个极端情况,其中第一个观测值包含一个校验和, 目标是在序列的末尾辨别校验和是否正确。 在这种情况下,第一个词元的影响至关重要。

RNN的表现:将不得不给这个观测值指定一个非常大的梯度, 因为它会影响所有后续的观测值。

LSTM和GRU的表现:提供某些机制能够在一个记忆元里存储重要的早期信息。

(2) 一些词元没有相关的观测值。

例如,在对网页内容进行情感分析时, 可能有一些辅助HTML代码与网页传达的情绪无关。

RNN的表现:没有机制来跳过隐状态表示中的此类词元。

LSTM和GRU的表现:有一些机制来跳过隐状态表示中的此类词元。

(3)序列的各个部分之间存在逻辑中断。

例如,书的章节之间可能会有过渡存在, 或者证券的熊市和牛市之间可能会有过渡存在。

RNN的表现:在这种情况下,没有办法来重置我们的内部状态表示。

LSTM和GRU的表现:在这种情况下,有一法来重置我们的内部状态表示。

2、LSTM和GRU能力相对占优的原理和机制

(1)GRU

支持隐状态的门控。 这意味着模型有专门的机制来确定应该何时更新隐状态, 以及应该何时重置隐状态。 这些机制是可学习的,并且能够解决了上面列出的问题。 例如,如果第一个词元非常重要, 模型将学会在第一次观测之后不更新隐状态。 同样,模型也可以学会跳过不相关的临时观测。 最后,模型还将学会在需要的时候重置隐状态。 

下面具体讨论各类门控的作用。

重置门有助于捕获序列中的短期依赖关系。

更新门有助于捕获序列中的长期依赖关系。

重置门的数学表达式:

对于给定的时间步t,假设输入是一个小批量\textbf{X}_{t}\in \mathbb{R}^{n\times d}(样本数n,输入数d),前一个时间步的隐状态是\mathbf{H}_{t-1}\in \mathbb{R}^{n\times h}(隐藏单元数h)。

那么,重置门\textbf{R}_{t}\in \mathbb{R}^{n\times h}和更新门\textbf{Z}_{t}\in \mathbb{R}^{n\times h}的计算方式如下所示:

\textbf{R}_{t}=\sigma \left ( \mathbf{X}_{t}\mathbf{W}_{xr}+\mathbf{H}_{t-1}\mathbf{W}_{hr}+\mathbf{b}_{r} \right )

\textbf{Z}_{t}=\sigma \left ( \mathbf{X}_{t}\mathbf{W}_{xz}+\mathbf{H}_{t-1}\mathbf{W}_{hz}+\mathbf{b}_{z} \right )

其中,\textbf{W}_{xr}\in \mathbb{R}^{d\times h}\textbf{W}_{xz}\in \mathbb{R}^{d\times h}\textbf{W}_{hr}\in \mathbb{R}^{h\times h}\textbf{W}_{hz}\in \mathbb{R}^{h\times h}是权重参数,\mathbf{b}_{r}\in \mathbb{R}^{1\times h}\mathbf{b}_{z}\in \mathbb{R}^{1\times h}是偏置参数。\sigma表示sigmoid函数,将输入值转换到区间(0,1)内。

将重置门\textbf{R}_{t}与常规隐状态更新机制集成,得到时间步t的候选隐状态\mathbf{\widetilde{H}}_{t}\in \mathbb{R}^{n\times h}

\mathbf{\widetilde{H}}_{t}=tanh\left ( \mathbf{X}_{t}\mathbf{W}_{xh}+\left (\textbf{R}_{t}\bigodot \mathbf{H}_{t-1} \right )\mathbf{W}_{hz}+\mathbf{b}_{h} \right )

候选隐状态结合更新门\textbf{Z}_{t},形成新的隐状态\mathbf{\widetilde{H}}_{t}\in \mathbb{R}^{n\times h}

\mathbf{H}_{t}=\mathbf{Z}_{t}\bigodot \mathbf{H}_{t-1}+\left (1-\mathbf{Z}_{t} \right )\bigodot \mathbf{\widetilde{H}}_{t}

每当更新门\textbf{Z}_{t}接近1时,模型就倾向只保留旧状态。 此时,来自\textbf{X}_{t}的信息基本上被忽略, 从而有效地跳过了依赖链条中的时间步t。 相反,当\textbf{Z}_{t}接近0时, 新的隐状态\textbf{H}_{t}就会接近候选隐状态\mathbf{\widetilde{H}}_{t}。 这些设计可以帮助我们处理循环神经网络中的梯度消失问题, 并更好地捕获时间步距离很长的序列的依赖关系。 例如,如果整个子序列的所有时间步的更新门都接近于1, 则无论序列的长度如何,在序列起始时间步的旧隐状态都将很容易保留并传递到序列结束。

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

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

相关文章

微软的word文档中内置背景音乐步骤(打开自动播放)

目录 一、前言 二、操作步骤 一、前言 有时候需要在word文档里面打开的时候就自动播放音乐或者音频,那么可以用微软的word来按照操作步骤去这样完成。 如果没有微软office的,可以下载这个是2021专业版的。因为office只能免费使用一段时间&#xff0c…

蓝牙物联网与嵌入式开发如何结合?

蓝牙物联网与嵌入式开发可以紧密结合,以实现更高效、更智能的物联网应用。以下是一些结合的方式: 嵌入式开发为蓝牙设备提供硬件基础设施和控制逻辑:嵌入式系统可以利用微处理器和各种外设组成的系统,为蓝牙设备提供硬件基础设施和…

【三】【C语言\动态规划】珠宝的最高价值、下降路径最小和、最小路径和,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略,它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题,并将每个小问题的解保存起来。这样,当我们需要解决原始问题的时候,我们就可以直接利…

docusaurus简介及使用心得

docusaurus简介 Docusaurus 是 Facebook 专门为开源项目开发者提供的一款易于维护的静态网站创建工具,使用 Markdown 即可更新网站。构建一个带有主页、文档、API、帮助以及博客页面的静态网站,只需5分钟。 同类竞品还有vuepress,docusaurus…

2.3_2 进程互斥的软件实现方法

2.3_2 进程互斥的软件实现方法 #mermaid-svg-MEJSSglXzFe6Q501 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MEJSSglXzFe6Q501 .error-icon{fill:#552222;}#mermaid-svg-MEJSSglXzFe6Q501 .error-text{fill:#5522…

Python实现AR协方差结构线性回归模型(GLSAR算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 GLSAR是具有AR协方差结构的广义最小二乘法线性回归模型。 本项目通过GLSAR回归算法来构建AR协方差结构…

Postman接口测试(超详细整理)

常用的接口测试工具主要有以下几种 Postman:简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, …

Rust学习:HelloWorld

Rust学习:HelloWorld HelloWorldRust语言简介主要特点先看程序分析程序 HelloWorld Rust语言简介 Rust是一种系统编程语言,旨在提供内存安全、并发性和性能。它由Mozilla Research开发,旨在解决C和C语言中的一些关键问题,特别是…

STM32的以太网外设+PHY(LAN8720)使用详解(7):以太网数据接收及发送测试

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册 4.Wireshark1 以太网数据接收测试 1.1 以太网数据接收测试(轮询) 我们在主循环内轮询RX DMA描述符标志位查看是否接收到了数据,如果接收到了则将数据…

漏洞复现-大唐电信AC集中管理平台敏感信息泄漏漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现Raw格式的图像保存(C#)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现Raw格式的图像保存(C#) Baumer工业相机Baumer工业相机通过SDK实现Raw格式的图像保存的技术背景通过SDK获取相机信息的代码分析Baumer工业相机回调函数里保存原始图像数据Baumer保存Raw图像格式重要核心代…

数据库开发之SQL简介以及DDL的详细解析

1.3 SQL简介 SQL:结构化查询语言。一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。 在学习具体的SQL语句之前,先来了解一下SQL语言的语法。 1.3.1 SQL通用语法 1、SQL语句可以单行或多行书写,以分号结尾…

基于STM32的HC-SR501红外感应模块驱动与应用

一、 简介 HC-SR501红外感应模块是一种常用的人体红外感应模块,常用于安防监控、智能家居等领域。本文将介绍如何在STM32单片机上驱动和应用HC-SR501红外感应模块,实现基本的人体检测功能。 二、 模块原理 HC-SR501红外感应模块基于红外热释电传感器&am…

深眸科技以AI+3D视觉技术引领技术创新,赋予工业自动化新的活力

随着工业4.0和智能制造时代的到来,3D机器视觉在工业各领域的应用越来越重要。这种技术改变了传统工业的生产方式,为现代工业带来了更高的生产效率和更精确的质量控制,广泛涉及物体识别、产品检测、尺寸测量、视觉引导定位等环节。 在工业领域…

跨平台应用程序开发软件,携RAD Studio 12新版上线

RAD Studio 是一款专为程序员而准备的跨平台应用程序开发软件,内置Delphi和CBuilder这两种开发工具,另外还提供了新的C功能,扩展了对ExtJS的RAD服务器支持,增强了对vcL的高dpi支持,提高了firemonk (FMX)的质量等等&…

利用Matplotlib画简单的线形图

实验题目:简单的线形图 实验目的:利用Matplotlib画简单的线形图 实验环境:海豚大数据和人工智能实验室,使用的Python库 名称 版本 简介 numpy 1.16.0 线性代数 Pandas 0.25.0 数据分析 Matplotlib 3.1.0 数据可视化 …

ESP8266 TCP/串口透传

简介 先在PC上做测试, 使用串口软件对ESP8266 模块进行设置, 使用网络助手软件与串口软件进行自由收发设置 ATRST ## 复位 ATCWMODE_DEF1 ## 设置为Station模式 ATCWJAP_DEF“路由器wifi名称”,“路由器wifi密码” ## 设置ESP连接的路由器名称密码 ATCIPSTART“TCP”,“192.1…

鸿蒙和各大厂合作,是不是要火起来

今年9月底,在华为秋季全场景新品发布会上,华为常务董事、终端BG CEO余承东宣布,鸿蒙原生应用全面启动,HarmonyOS NEXT开发者预览版将在2024年第一季度开放。 近日,腾讯、阿里、美团、网易,外包大厂中软国际…

评论回复功能数据库设计

1. 评论的场景 类似csdn博客评论 2. 建表sql CREATE TABLE comment (id varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT id,parent_id varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 父级评论id(…

【原理图PCB专题】原理图图纸锁定/解锁与PCB文件加密方式

在工作中我们会遇到需要冻结原理图进行评审和加密图纸防止被他人盗用的需求。那么在OrCAD Capture中如何对图纸进行锁定与解锁,如何在Allegro中对PCB工程进行加密呢? 原理图锁定与解锁 打开原理图,在图纸中单击右键,选择lock/unlock就可以进行锁定与解锁。 锁定时图纸图…