当前位置: 首页 > news >正文

xLSTM技术介绍

各位朋友大家好呀,欢迎大家来到每日前沿技术分享专栏,每日进步一点点,积跬步,才能致千里。见证从量变到质变的成长。


今天要分享的是xLSTM技术,看看它到底是怎么让LSTM重获新生的。

LSTM自 20 世纪 90 年代诞生以来,就凭借其处理序列数据的强大能力,在自然语言处理、语音识别等诸多领域大显身手,成为了深度学习领域的一颗明星。它能够有效地解决传统循环神经网络(RNN)面临的梯度消失问题,出色地捕捉时间序列中的长期依赖关系。

然而,随着时代的发展和技术的进步,数据量如同滚雪球一般越来越大,任务也越来越复杂。在这样的大环境下,传统的 LSTM 模型也开始有些力不从心了。它在处理长序列和大规模数据场景时,无论是处理能力还是效率方面,都出现了一些局限性。这时候,Transformer 等新架构迅速吸引了大家的目光,在很多任务中取得了优于 LSTM 的表现, 让 LSTM 一度有些黯然失色。

就当大家都以为 Transformer 将在语言模型领域稳稳占据主导地位的时候,LSTM 以一种全新的姿态 ——xLSTM,强势回归了!xLSTM技术已发表了论文,大家也可以去看看,

项目代码链接:https://github.com/NX-AI/xlstm

image.png

一、xLSTM 要解决什么问题

1. 无法修改存储决策

假设有一堆参考向量,现在要按顺序扫描一个序列,在这个序列里找出与参考向量最相似的向量,并且在序列末端给出它的附加值。在这个过程中,如果 LSTM 已经存储了一个看起来比较相似向量的信息,但是后面又遇到了一个更相似的向量,这时候 LSTM 想要修改之前存储的值,就会变得非常困难。这就好像在写一篇文章,已经记录了某个观点,但是后来发现有个更好的观点,却很难把之前记录的内容完全擦掉,重新记录新的观点。

2、 存储容量有限

LSTM 的存储容量是有限的,它必须把信息压缩成标量单元状态来存储。在 LSTM 处理数据时,当遇到一些不常见的 token(可以理解为文本中的单词或者其他数据单元)时,**由于存储容量有限,它就很难很好地处理这些信息,**表现自然也就不尽如人意了。

3. 缺乏可并行性

LSTM 由于内存混合的原因,需要进行顺序处理。从一个时间步到下一个时间步的隐藏状态之间存在隐藏 - 隐藏连接,**所以它不能像 Transformer 那样,同时对所有的 token 进行处理,而只能一个一个按顺序来。**在面对大规模数据时,LSTM 的这种顺序处理方式,就显得效率低下了。

image.png

二、xLSTM 的核心方法

1、 指数门控

在 xLSTM 中,一个重要的改进就是引入了指数门控。我们先来回顾一下传统 LSTM 中的门控机制,在传统 LSTM 里,有输入门、遗忘门和输出门,这些门就像是一个个开关,控制着信息的流入、保留和流出。它们通常是由 sigmoid 函数来实现的,sigmoid 函数会把输入的值映射到 0 到 1 之间,以此来决定信息通过的程度。

而在 xLSTM 中,对门控机制进行了升级,引入了指数门控。简单来说,就是对门控的计算方式进行了改变,通过适当的归一化和稳定技术,让门控的作用更加有效。指数门控能够增强每个时刻输入信息对模型状态的修正作用。我们在前面提到过 LSTM 在 “最近邻搜索” 场景中会遇到问题,指数门控就像是给 LSTM 的 “记忆力” 加上了一个 “智能修正器”,当遇到更相似的向量时,它能够更容易地修改之前存储的值,从而更好地适应数据的变化。

2、 sLSTM(标量内存)

image.png

image.png

sLSTM 具有标量内存和标量更新的特点。它在存储信息时,采用标量的形式,这和传统 LSTM 有一定的相似性。但是在更新内存的方式上,它又有自己独特的地方。它通过指数门控来对内存进行混合,这种新的内存混合方式,让 sLSTM 在处理信息时更加灵活

另外,LSTM 可以扩展到多个存储单元,并且具有跨单元内存混合的特点。而且,sLSTM 还可以有多个头,不过需要注意的是,不存在跨头的内存混合,而只存在每个头内单元间的内存混合。这样的设计,既保证了模型能够从多个方面提取信息,又避免了不同头之间信息的混乱干扰。

3、 mLSTM(矩阵内存)

点击xLSTM技术介绍查看全文

http://www.xdnf.cn/news/704647.html

相关文章:

  • 技术文档写作大纲
  • JWT 不对外,Session ID 对外:构建安全可控的微服务认证架构
  • jenkins集成gitlab实现自动构建
  • 力扣-最长回文子串
  • 【课堂笔记】EM算法
  • stm32cube ide如何将工具链替换成arm-none-eabi-gcc
  • 零基础设计模式——结构型模式 - 代理模式
  • 安装flash-attention失败的终极解决方案(WINDOWS环境)
  • 按照状态实现自定义排序的方法
  • 机器学习数据降维方法
  • Apache Airflow
  • 【MySQL】联合查询(下)
  • 微服务各个部分的作用
  • 【基于SpringBoot的图书购买系统】操作Jedis对图书图书的增-删-改:从设计到实战的全栈开发指南
  • 汽车总线分析总结(CAN、LIN、FlexRay、MOST、车载以太网)
  • 机器视觉2,硬件选型
  • [低代码表单生成器设计基础]ElementUI中Layout布局属性Form表单属性详解
  • 华为OD机试真题——矩形相交的面积(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • spring4第4课-ioc控制反转-详解如何注入参数
  • Flutte ListView 列表组件
  • 主流Markdown编辑器的综合评测与推荐
  • <el-date-picker>组件传参时,选中时间和传参偏差8小时
  • allWebPlugin中间件VLC专用版之录像功能介绍
  • 测试Bug篇
  • Flutter GridView网格组件
  • 测试概念 和 bug
  • 003 flutter初始文件讲解(2)
  • 使用 Flutter 开发 App 时,想要根据 Figma 设计稿开发出响应式 UI 界面
  • 基于python脚本进行Maxwell自动化仿真
  • 代码随想录算法训练营第五十三天