程序员学长 | 快速学会一个算法,xLSTM

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。

原文链接:快速学会一个算法,xLSTM

今天给大家分享一个超强的算法模型,xLSTM。

xLSTM(Extended Long Short-Term Memory)是对传统 LSTM(Long Short-Term Memory)模型的扩展和改进,旨在提升其在处理时间序列数据和序列预测任务中的性能。

传统的 LSTM 模型通过引入遗忘门、输入门和输出门,解决了标准 RNN(Recurrent Neural Network)在长序列数据中存在的梯度消失和梯度爆炸问题。然而,LSTM 仍然存在一些局限性,尤其是在处理非常长的序列或需要更高维度特征提取时。xLSTM 的提出是为了克服这些限制。

xLSTM 中的核心增强功能

具体改进包括如下几个方面。

  1. 指数门控

    xLSTM 论文中引入的指数门控机制是对 LSTM 中使用的传统 S 形门控的重大改进。通过对输入门和遗忘门采用指数激活,xLSTM 增强了模型在处理新信息时有效修改和更新其记忆的能力。

    在传统的 LSTM 中,S 型门控函数限制了模型对记忆单元状态进行重大改变的能力,尤其是当函数值接近 0 或 1 时。这种限制阻碍了 LSTM 快速适应新数据的能力,并可能导致内存更新不理想。

    xLSTM 通过将 S 型激活替换为指数激活来解决此问题。指数门控允许记忆细胞状态发生更明显的变化,使模型能够快速整合新信息并相应地调整其记忆。规范化器状态有助于稳定指数门控并保持输入门和遗忘门之间的平衡。

  2. 先进的内存结构

    xLSTM 采用了 sLSTM 和 mLSTM 等先进的内存设计,它们分别使用了新的混合技术和基于矩阵的内存。这些结构允许更好的并行处理能力和更高效的数据存储和检索,这对于处理大规模数据至关重要。

  3. 残差连接

    通过在 LSTM 单元内集成残差块,xLSTM 可以维持甚至增强整个网络的梯度流,这对于有效训练更深层的模型至关重要。

  4. 可并行架构

    xLSTM 论文中最重要的进步之一是引入了可并行化的架构,这解决了传统 LSTM 的一个主要限制。

    在传统的 LSTM 中,标记的处理是按顺序进行的,每个标记一次处理一个,这限制了模型利用并行性的能力,并导致训练和推理时间变慢。

    xLSTM 架构引入了 mLSTM(矩阵内存 LSTM)和 sLSTM(标量 LSTM)块的灵活组合,从而实现了对 token 的并行处理。mLSTM 块旨在同时对整个 token 序列进行操作,从而实现与 Transformer 模型实现的并行性类似的高效并行计算。

    mLSTM 模块利用了前面讨论过的矩阵内存机制,使其能够并行捕获和处理所有 token 中丰富的高维信息。这种并行处理能力显著加快了训练和推理过程,使得 xLSTM 比传统 LSTM 具有更高的计算效率。

    另一方面,sLSTM 块保留了传统 LSTM 的顺序处理特性,使模型能够捕获对特定任务可能很重要的某些顺序依赖关系。

    在 xLSTM 架构中,可以灵活地以不同的比例组合 mLSTM 和 sLSTM 块,从而在并行性和顺序建模之间取得平衡,从而能够适应各种语言建模任务。

关于 xLSTM 更详细的说明,请参考对应的论文

https://arxiv.org/pdf/2405.04517

LSTM 基础知识

为了解释 xLSTM,我们首先简单回顾一下 LSTM。

原始 LSTM 的计算涉及几个关键组件:输入门、遗忘门、输出门和单元状态。

以下是 LSTM 单元的标准计算步骤。

xLSTM 解释

之所以被称为 xLSTM,是因为它将原始 LSTM 扩展为 LSTM 的多种变体,例如 sLSTM 和 mLSTM,每种变体都针对特定的性能和功能进行了优化,以处理各种复杂的序列数据问题。

1.sLSTM

sLSTM 在 LSTM 的基础上添加了标量更新机制。该设计通过对内部存储单元进行细粒度控制来优化门控机制,使其更适合处理具有细微时间变化的序列。

sLSTM 通常利用指数门控和归一化技术来提高处理长序列数据的稳定性和准确性。通过这种方法,sLSTM 能够提供与更复杂模型相当的性能,同时保持较低的计算复杂度,使其特别适合资源受限的环境或需要快速响应的应用程序。

2.mLSTM

mLSTM(矩阵 LSTM)通过将原始 LSTM 中的向量运算扩展为矩阵运算,显著增强了模型的内存容量和并行处理能力。

在 mLSTM 中,每个状态不再是单个向量,而是一个矩阵。这使得它能够在单个时间步内捕获更复杂的数据关系和模式。mLSTM 特别适合处理大规模数据集或需要识别高度复杂数据模式的任务。

将矩阵引入状态表示使得 mLSTM 能够更自然、更有效地处理多维数据。通过以矩阵形式处理数据,mLSTM 可以同时处理多个数据点,从而提高吞吐量和学习过程的速度。这种能力在图像和视频处理等领域尤其有价值,因为这些领域的数据本质上以矩阵形式存在。

效率与性能分析

xLSTM 论文对所提架构的效率和性能进行了全面分析,突出了其相对于基于 Transformer 的模型的优势。作者进行了一系列实验和比较,以证明 xLSTM 卓越的计算效率和建模能力。

xLSTM 的一个关键效率优势在于其时间和内存复杂度。传统的基于 Transformer 的模型相对于序列长度 N 表现出 O(N²) 的二次方时间和内存复杂度。这意味着随着序列长度的增加,Transformer 的计算成本和内存需求呈二次方增长,使其处理长序列的效率较低。

相比之下,xLSTM 实现了线性时间复杂度 O(N) 和恒定内存复杂度 O(1)(相对于序列长度)。这比 Transformers 有了显著的改进,因为它允许 xLSTM 更有效地处理更长的序列,而无需二次方增加计算成本和内存使用量。线性时间复杂度可以缩短训练和推理时间,而恒定内存复杂度确保即使对于长序列,内存需求仍然是可控的。

为了验证效率和性能声明,作者通过在包含 150 亿个 token 的大规模数据集上训练多个模型进行了比较评估。评估中包括的模型是基于 Transformer 的语言模型 (LLM)、RWKV 模型和 xLSTM 的不同变体。

评估结果为 xLSTM 的卓越性能提供了有力证据。特别是,由一个 mLSTM 块和零个 sLSTM 块组成的 xLSTM[1:0] 变体在所有测试模型中实现了最低的困惑度。困惑度是语言建模中广泛使用的指标,用于衡量模型预测序列中下一个标记的能力。困惑度越低,语言建模性能越好。

下面是 xLSTM 的开源实现链接

https://github.com/muditbhargava66/PyxLSTM

感兴趣的小伙伴可以尝试一下。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

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

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

相关文章

Spring Boot的无缝衔接:深入解析与实践

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 🚀The begin🚗点点关注,收藏不迷路🚩 引言 在快速迭代的软件开发环境中,无缝衔接是提升开发效率、降低维护成本、增强系统稳定性的关键。Spring Boo…

Electron开发 - 如何在主进程Main中让node-fetch使用系统代理

背景 开发过程中,用户设置的系统代理是不同的,比如公司内的服务器,所以就要动态地使用系统代理来访问,但是主进程默认为控制台级别的请求,不走系统代理,除非你指定系统代理配置,这个就就有了这…

轻松上手MYSQL:MYSQL事务隔离级别的奇幻之旅

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索MYSQL索引数据结构之旅✨ 👋 大家好!文本学习…

【话题】IT专业入门,高考假期预习指南

IT专业入门,高考假期预习指南 亲爱的高考学子们, 七月的阳光,如同你们的梦想,炽热而明亮。当你们手中的笔落下最后一道题的答案,那不仅仅是对过去十二年寒窗苦读的告别,更是对未知世界探索的启程号角。你们…

ExtruOnt——为工业 4.0 系统描述制造机械类型的本体

概述 论文地址 :https://arxiv.org/abs/2401.11848 原文地址:https://ai-scholar.tech/articles/ontology/ExtruOnt 在工业 4.0 应用场景中,以机器可解释代码提供的、语义丰富的制造机械描述可以得到有效利用。然而,目前显然还缺…

无锡哲讯:SAP赋能汽车零配件行业,加速企业数字化转型

汽车零配件行业作为汽车工业的重要支撑,正处在一个快速变化和高度竞争的市场环境中。随着科技的不断进步和消费者需求的日益多样化,如何通过高效的资源管理和生产流程优化,提升竞争力,已成为汽车零配件企业亟待解决的问题。无锡哲…

玩转springboot之springboot项目监测

项目监测 springboot中提供了actuator项目来进行监测和度量 基于springboot2.x版本 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency> actuator中提…

【数智化人物展】天云数据CEO雷涛:大模型连接数据库 为数智化提供高价值数据...

雷涛 本文由天云数据CEO雷涛投递并参与由数据猿联合上海大数据联盟共同推出的《2024中国数智化转型升级先锋人物》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 这几天&#xff0c;奥特曼讲SQL数据库和大模型结合起来会产生什么样的化学变化引起行业关注。为…

大模型备案全网最详细流程【附附件】

本文要点&#xff1a;大模型备案最详细说明&#xff0c;大模型备案条件有哪些&#xff0c;《算法安全自评估报告》模板&#xff0c;大模型算法备案&#xff0c;大模型上线备案&#xff0c;生成式人工智能(大语言模型)安全评估要点&#xff0c;网信办大模型备案。 大模型备案安…

Geoserver源码解读五 Catalog

系列文章目录 Geoserver源码解读一 环境搭建 Geoserver源码解读二 主入口 Geoserver源码解读三 GeoServerBasePage Geoserver源码解读四 REST服务 Geoserver源码解读五 Catalog 目录 系列文章目录 前言 一、定义 二、前置知识点 1.Spring 的 Bean 生命周期 ApplicationCon…

中国石油大学(华东)24计算机考研数据速览,计科学硕复试线288分!

中国石油大学&#xff08;华东&#xff09;计算机与通信工程学院是中国石油大学(华东)十三个教学院部之一&#xff0c;其前身是创建于1984年的计算机科学系&#xff0c;2001年撤系建院。伴随着学校50多年的风雨历程&#xff0c;计算机与通信工程学院也已经有了20多年的发展历史…

神经网络和算力共享结合:基于深度学习的算力资源智能分配机制;一种支持跨云、跨边缘计算平台的协同训练框架(联邦学习);模型自适应优化策略

目录 神经网络和算力共享结合 论文标题 摘要 引言 理论基础 技术实现 创新点 实验验证 结论与展望 基于深度学习的算力资源智能分配机制 一、机制概述 二、关键技术 三、应用场景 四、优势与挑战 优势 挑战 五、未来展望 一种支持跨云、跨边缘计算平台的协同…

5.pwn Linux的延迟绑定机制

动态链接库 我们程序开发过程中都会用到系统函数&#xff0c;比如read&#xff0c;write&#xff0c;open等等 这些系统函数不需要我们实现&#xff0c;因为系统已经帮你完成这些工作&#xff0c;只需要调用即可&#xff0c;存放这些函数的库文件就是动态链接库。 通常情况下&…

[激光原理与应用-100]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 4 - 3C电池行业应用 - 不同的电池类型、焊接方式类型

目录 前言&#xff1a; 一、激光在3C行业的应用概述 1.1 概述 1.2 激光焊接在3C-电池行业的应用 1.3 动力电池的激光焊接工艺 1.3.1 概述 1.3.2 动力电池常见的焊接应用 1.电池壳体与盖板焊接 2.电池防爆阀密封 焊接 二、不同的电池的外形 2.1 软包锂电池 2.1.1 概述…

《机器学习》读书笔记:总结“第4章 决策树”中的概念

&#x1f4a0;决策树 基于树结构进行决策。 一棵决策树包括&#xff1a; 一个 根节点&#xff08;起点&#xff09;若干 叶节点&#xff08;没有下游节点的节点&#xff09;若干 内部节点(分支节点) 即&#xff1a; #mermaid-svg-Mxe3d0kNg29PM2n8 {font-family:"treb…

Open3D 删除点云中重叠的点(方法二)

目录 一、概述 1.1原理 1.2应用 二、代码实现 三、实现效果 3.1原始点云 3.2处理后点云 3.3数据对比 一、概述 在点云处理中&#xff0c;重叠点&#xff08;即重复点&#xff09;可能会对数据分析和处理的结果产生负面影响。因此&#xff0c;删除重叠点是点云预处理中常…

NextJs - SSR渲染解决antd首屏加载CSS样式的闪烁问题

NextJs - SSR渲染解决antd首屏加载CSS样式的闪烁问题 闪烁现状解决方案 闪烁现状 我们写一个非常简单的页面&#xff1a; import { Button } from antdexport default async function Page() {return <><Button typeprimary>AAA</Button></> }NextJs…

《昇思25天学习打卡营第14天|onereal》

第14天学习内容如下&#xff1a; Diffusion扩散模型 本文基于Hugging Face&#xff1a;The Annotated Diffusion Model一文翻译迁移而来&#xff0c;同时参考了由浅入深了解Diffusion Model一文。 本教程在Jupyter Notebook上成功运行。如您下载本文档为Python文件&#xff0c…

张量分解(1)——初探张量

&#x1f345; 写在前面 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;这里是hyk写算法了吗&#xff0c;一枚致力于学习算法和人工智能领域的小菜鸟。 &#x1f50e;个人主页&#xff1a;主页链接&#xff08;欢迎各位大佬光临指导&#xff09; ⭐️近…

linux系统巡检

通过Shell脚本实现批量Linux服务器巡检-阿里云开发者社区 (aliyun.com) cat sysinfocheck.sh #!/bin/bash os_sys(){ #系统信息 os_typeuname echo "操作系统的类型: $os_type"os_versioncat /etc/redhat-release echo "操作系统的版本号&#xff1a;$os_versio…