RNN/LSTM/GRU/Transformer

RNN的局限1:长期依赖(Long-TermDependencies)问题

但是同样会有一些更加复杂的场景。比如我们试着去预测“I grew up in France...I speak fluent French”最后的词“French”。当前的信息建议下一个词可能是一种语言的名字,但是如果我们需要弄清楚是什么语言,我们是需要先前提到的离当前位置很远的“France”的上下文。这说明相关信息和当前预测位置之间的间隔就肯定变得相当的大。

不幸的是,在这个间隔不断增大时,RNN会丧失学习到连接如此远的信息的能力。

RNN的局限2:梯度消失和梯度爆炸问题

如果你正在尝试处理一段文本进行预测,RNN 可能从一开始就会遗漏重要信息。在反向传播期间(反向传播是一个很重要的核心议题,本质是通过不断缩小误差去更新权值,从而不断去修正拟合的函数),RNN 会面临梯度消失的问题。

因为梯度是用于更新神经网络的权重值(新的权值 = 旧权值 - 学习率*梯度),梯度会随着时间的推移不断下降减少,而当梯度值变得非常小时,就不会继续学习。

换言之,在递归神经网络中,获得小梯度更新的层会停止学习—— 那些通常是较早的层。 由于这些层不学习,RNN会忘记它在较长序列中以前看到的内容,因此RNN只具有短时记忆。

而梯度爆炸则是因为计算的难度越来越复杂导致。

然而,幸运的是,有个RNN的变体——LSTM,可以在一定程度上解决梯度消失和梯度爆炸这两个问题!

二、LSTM网络

三. GRU

  • LSTM:功能更强,能更精细地控制记忆(但慢)。

  • GRU:简化版,更快、更省资源,在很多任务上效果相当,甚至更好。

  • 在工业界,如果资源有限,GRU 往往更受欢迎;而学术研究/复杂任务里,LSTM 更常用。

Transformer和RNN(原始 or LSTM or GRU)的区别:

1.RNN采用一种类似于递归的方式运行,无法执行并行化操作,也就无法利用GPU强大的并行化能力,而Transfomer基于Attention机制,使得模型可以并行化操作,而且能够拥有全局的信息。

2.Transformer本身是不能利用单词之间的位置信息的,所以需要在输入中添加一个位置embedding信息,否则Transformer就类似于词袋模型了。

3.RNN利用循环顺序结构,对于长句需要的训练步骤很多,加大了训练的难度和时间。而Transfomer不需要循环,并行地处理单词,而且其多头注意力机制可以将很远的词联系起来,大大提高了训练速度和预测准确度。

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

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

相关文章

浏览器开发CEFSharp+X86 (十六)网页读取电子秤数据——仙盟创梦IDE

一、东方仙盟智能浏览器:跨平台,畅连百种硬件,速启现场编译东方仙盟 VOS 智能浏览器在网页调用硬件 SDK 领域堪称卓越典范。它全面兼容多平台,无论是电脑、手机还是各类移动终端,都能完美适配,无缝对接。令…

腾讯云EdgeOne免费套餐:零成本开启网站加速与安全防护

腾讯云EdgeOne免费套餐:零成本开启网站加速与安全防护 ​一键解锁全球3200节点,让网站速度提升53%,同时获得企业级安全防护作为一名站长或个人开发者,你是否曾为网站加载速度缓慢而苦恼?是否担心网站遭遇DDoS攻击或恶意…

服务器数据恢复—Raid6阵列崩溃导致上层分区无法访问的数据恢复案例

服务器存储数据恢复环境: 一台infortrend某型号存储,存储设备上有12块硬盘,组建一组raid6磁盘阵列。阵列上层有一个lun,映射到WINDOWS系统上使用。WINDOWS系统划分了一个GUID Partition Table分区。服务器存储故障: 存…

【生产故事会】Kafka 生产环境参数优化实战案例

Kafka 3.9.1 生产环境参数优化实战案例(8核32G HDD场景) 一、背景与硬件/业务配置 某企业级全链路日志采集平台需构建高稳定Kafka集群,承担核心业务日志流转(涵盖用户行为、系统监控、交易链路日志),单集群3节点部署,硬件与业务特征如下: 维度 具体配置 硬件配置 C…

推荐 Eclipse Temurin 的 OpenJDK

推荐 Eclipse Temurin 的 OpenJDK 发行版 https://adoptium.net/zh-CN/temurin/releases,是基于其在技术可靠性、生态中立性、许可友好性和社区支持等多个维度的综合优势。 以下是详细的原因,解释了为什么 Eclipse Temurin 通常是基于 OpenJDK 构建的 J…

分布式3PC理论

目录 为什么需要 3PC? 核心结论 3PC的优缺点 3PC与 Paxos / Raft 对比 本篇文章内容的前置知识为 分布式2PC理论,如果不了解,可点击链接学习 分布式2PC理论-CSDN博客 为什么需要 3PC? 1) 2PC 的根本问题:阻塞 不…

Web 前端可视化开发工具对比 低代码平台、可视化搭建工具、前端可视化编辑器与在线可视化开发环境的实战分析

在前端开发领域,“可视化”已经成为提升效率和降低门槛的重要方向。从 低代码平台 到 前端可视化编辑器,再到 在线可视化开发环境,这些工具都在改变前端的开发方式。 本文将结合真实项目,分析常见的 Web 前端可视化开发工具&#…

单例模式(C++)(错误日志实现)

单例模式一、核心原理二、常见的单例模式实现方式1. 懒汉式(Lazy Initialization)2. 饿汉式(Eager Initialization)三、关键实现细节解析四、单例模式的适用场景与特点使用场景日志工具(确保日志写入的唯一性&#xff…

stm32 链接脚本没有 .gcc_except_table 段也能支持 C++ 异常

stm32 使用 cubemx 生成的 gnu ld 链接脚本没有 .gcc_except_table 段。如下所示 /* ****************************************************************************** ** ** file : LinkerScript.ld ** ** author : Auto-generated by STM32CubeIDE ** ** Abst…

SpringBoot改造MCP服务器(StreamableHTTP)

项目地址: https://gitee.com/kylewka/smart-ai 1 项目说明 MCP(Model Context Protocol)协议是一个用于 AI 模型和工具之间通信的标准协议。随着 AI 应用变得越来越复杂并被广泛部署,原有的通信机制面临着一系列挑战。 近期 MCP …

【数学建模】烟幕干扰弹投放策略优化:模型与算法整合框架

烟幕干扰弹投放策略优化:模型与算法整合框架 基于文献研究和问题需求分析,我们构建了完整的模型与算法整合框架。 一、整体建模框架 1. 核心问题分解 物理层:烟幕弹道运动与扩散特性建模博弈层:导弹识别与决策机制建模优化层&…

结合大数据知识体系对仓库建模方法总结

传统的仓库建模理论(如维度建模)仍然是基石,但大数据的“4V”特性(Volume, Velocity, Variety, Value)要求我们对这些方法进行演进和补充。 以下是结合大数据知识体系对仓库建模方法的总结:一、核心目标&am…

C 语言第一课:hello word c

C 语言第一课&#xff1a;hello word c开发工具创建项目快速学习平台开发工具 个人推荐使用 jetBrains 公司的 CLion 开发工具下载地址 https://www.jetbrains.com/clion/ 创建项目 编写代码 //头文件 #include <stdio.h>//程序入口 int main(){printf("hello w…

基于Java Spring Boot的云原生TodoList Demo 项目,验证云原生核心特性

以下是一个基于 Java Spring Boot 的云原生 TodoList Demo 项目&#xff0c;涵盖 容器化、Kubernetes 编排、CI/CD、可观测性、弹性扩缩容 等核心云原生特性&#xff0c;代码简洁且附详细操作指南&#xff0c;适合入门学习。项目概览 目标&#xff1a;实现一个支持增删改查&…

开源一个轻量级 Go 工具库:go-commons

项目背景 在日常 Go 开发中&#xff0c;我们经常需要处理字符串操作和系统监控相关的功能。虽然 Go 标准库提供了基础的字符串处理能力&#xff0c;但在实际项目中&#xff0c;我们往往需要一些更便捷的工具函数来提高开发效率。 基于"尽可能不使用第三方依赖"的原…

clang(clangd)与arm-linux-gcc、ARMGCC、ICCARM(IAR)、C51编译器的兼容性

环境&#xff1a;vscodeclangdEIDE开发开发单片机&#xff08;C51 keilMDK IAR&#xff09;。 vscode远程clangdarm-linux-gcc(交叉编译工具链)。 &#xff08;1&#xff09;首先clang&#xff08;clangd&#xff09;是兼容gcc的&#xff0c;也就是兼容arm-linux-gcc&#xff…

Docker 部署 Rancher2.4.4

获取2.4.4镜像包docker pull rancher/rancher:v2.4.4创建目录并赋予权限mkdir -p /home/rancher/{data,log} && chmod -R 777 /home/rancher启动容器docker run -d \ --privileged \ --name rancher \ --restartunless-stopped \ -p 80:80 -p 443:443 \ -v /home/ranc…

无root使用adb模式下的scene 用shizuku激活scene教程

本次教程是用shizuku和ShizukuRunner激活scene的adb模式&#xff0c;实现大部分功能&#xff0c;比较简单&#xff0c;如果手机已经root直接使用root模式即可。 工具 scene(点我下载) Shizuku(点我下载) ShizukuRunner(点我下载) 教程 1.首先要有一台支持无线调试的手机(安…

《UE5_C++多人TPS完整教程》学习笔记50 ——《P51 多人游戏中的俯仰角(Pitch in Multiplayer)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P51 多人游戏中的俯仰角&#xff08;Pitch in Multiplayer&#xff09;》 的学习笔记&#xff0c;该系列教学视频为计算机工程师、程序员、游戏开发者、作家&#xff08;Engineer, Programmer, Game Developer, Author&…

树莓派 Ubuntu 24.04 开机换源总结

1. 图形界面 (桌面版) 如果你刷的是 Ubuntu Desktop 24.04&#xff1a;打开 Software & Updates&#xff08;软件和更新&#xff09;。在 Ubuntu Software 标签里找到 Download from 下拉菜单。默认只有 Main server 和 Server for China&#xff0c;如果想要更多选择&…