【论文阅读】xLSTM: Extended Long Short-Term Memory

news2024/11/18 2:30:38

xLSTM: Extended Long Short-Term Memory

引用: Beck M, Pöppel K, Spanring M, et al. xLSTM: Extended Long Short-Term Memory[J]. arXiv preprint arXiv:2405.04517, 2024.

论文链接: [2405.04517] xLSTM: Extended Long Short-Term Memory (arxiv.org)

作者: Maximilian Beck, Korbinian Pöppel, Markus Spanring, Andreas Auer, Oleksandra Prudnikova, Michael Kopp, Günter Klambauer, Johannes Brandstetter, Sepp Hochreiter

机构: ELLIS Unit, LIT AI Lab, Institute for Machine Learning, JKU Linz, Austria; NXAI Lab, Linz, Austria; NXAI GmbH, Linz, Austria

文章目录

  • xLSTM: Extended Long Short-Term Memory
    • 摘要
    • 引言
    • xLSTM架构
      • 1. **sLSTM(Scalar LSTM)**
      • 2. **mLSTM(Matrix LSTM)**
      • 3. **xLSTM块(xLSTM Blocks)**
      • 4. **xLSTM架构(xLSTM Architecture)**
    • 实验
    • 结论

摘要

在这里插入图片描述

  • 论文提出了xLSTM,一种扩展的长短期记忆网络,旨在解决传统LSTM的局限性,并在大规模参数下进行语言建模。
  • xLSTM引入了指数门控和适当的归一化与稳定技术,修改了LSTM记忆结构,包括标量记忆的sLSTM和完全可并行化的具有矩阵记忆和协方差更新规则的mLSTM。
  • 通过将这些LSTM变体集成到残差块中,构建了xLSTM架构,这些架构在性能和扩展性方面与最先进的Transformers和状态空间模型相媲美。

引言

  • LSTM自1990年代引入以来,在多个领域取得了成功,特别是在大型语言模型(LLMs)中。
  • 引入Transformer技术后,其并行化的自注意力机制使得LSTM在大规模应用中的性能受到挑战。
  • 论文提出了一个问题:当LSTM扩展到数十亿参数,并结合现代LLMs的最新技术,同时克服LSTM的已知限制时,我们能在语言建模中走多远?

xLSTM架构

1. sLSTM(Scalar LSTM)

指数门控是sLSTM中的一个创新点,它允许模型更有效地更新其记忆状态。在传统的LSTM中,门控机制通常涉及sigmoid函数,但在xLSTM中,输入门( i t i_t it)和遗忘门( f t f_t ft)可以具有指数激活函数:

c t = f t c t − 1 + i t z t c _ { t } = f _ { t } c _ { t - 1 } + i _ { t } z _ { t } ct=ftct1+itzt

n t = f t n t − 1 + i t n _ { t } = f _ { t } n _ { t - 1 } + i _ { t } nt=ftnt1+it

h t = o t h t ~ , h t ~ = o t / n t h _ { t } = o _ { t } \tilde{h _ { t }}, \quad \tilde{h _ { t }} = o _ { t } / n _ { t } ht=otht~,ht~=ot/nt

z t = φ ( z ~ t ) , z ~ t = w z T x t + r z h t − 1 + b z z _ { t } = \varphi ( \tilde { z } _ { t } ), \quad \tilde { z } _ { t } = w _ { z } ^ { T } x _ { t } + r _ { z } h _ { t - 1 } + b _ { z } zt=φ(z~t),z~t=wzTxt+rzht1+bz

i t = e x p ( i ~ t ) , i ~ t = w i T x t + r i h t − 1 + b i i _ { t } = exp ( \tilde { i } _ { t } ), \quad \tilde { i } _ { t } = w _ { i } ^ { T } x _ { t } + r _ { i } h _ { t - 1 } + b _ { i } it=exp(i~t),i~t=wiTxt+riht1+bi

f t = σ ( f ~ t ) O R e x p ( f ~ t ) , f ~ t = w f T x t + r f h t − 1 + b f f _ { t } = \sigma ( \tilde { f } _ { t } ) \quad OR \quad e x p ( \tilde { f } _ { t } ), \quad \tilde { f } _ { t } = w _ { f } ^ { T } x _ { t } + r _ { f } h _ { t - 1 } + b _ { f } ft=σ(f~t)ORexp(f~t),f~t=wfTxt+rfht1+bf

o t = e x p ( o ~ t ) , o ~ t = w o T x t + r o h t − 1 + b o o _ { t } = exp ( \tilde { o } _ { t } ), \quad \tilde { o } _ { t } = w _ { o } ^ { T } x _ { t } + r _ { o } h _ { t - 1 } + b _ { o } ot=exp(o~t),o~t=woTxt+roht1+bo

指数激活函数可能导致较大的值,从而导致溢出。因此,用一个额外的状态 m t m_t mt来稳定门:

m t = max ⁡ ( log ⁡ ( f t ) + m t − 1 , log ⁡ ( i t ) ) m _ { t } = \max ( \log ( f _ { t } ) + m _ { t - 1 } , \log ( i _ { t } ) ) mt=max(log(ft)+mt1,log(it))

i t ′ = e x p ( log ⁡ ( i t ) − m t ) = e x p ( i ~ t − m t ) i _ { t } ^ { \prime } = e x p ( \log ( i _ { t } ) - m _ { t } ) = e x p ( \tilde { i } _ { t } - m _ { t } ) it=exp(log(it)mt)=exp(i~tmt)

f t ′ = e x p ( log ⁡ ( f t ) + m t − 1 − m t ) f _ { t } ^ { \prime } = e x p ( \log ( f _ { t } ) + m _ { t - 1 } - m _ { t } ) ft=exp(log(ft)+mt1mt)

其中,$m_t​ $是稳定状态,用于防止梯度爆炸。

同时,sLSTM引入了新的记忆混合技术,允许在多个内存单元之间进行更复杂的交互。多个存储器单元使得能够分别经由从隐藏状态向量 h h h到存储器单元输入 z z z和门 i i i f f f o o o的循环连接 R z R_z Rz R i R_i Ri R f R_f Rf R o R_o Ro进行存储器混合。sLSTM可以有多个头,每个头内混合内存,但不能跨头混合。

2. mLSTM(Matrix LSTM)

mLSTM使用矩阵记忆来增强存储容量,并通过协方差更新规则来存储关键值对。

C t = f t C t − 1 + i t v t k t T C _ { t } = f _ { t } C _ { t - 1 } + i _ { t } v _ { t } k _ { t } ^ { T } Ct=ftCt1+itvtktT

n t = f t n t − 1 + i t k t n _ { t } = f _ { t } n _ { t - 1 } + i _ { t } k _ { t } nt=ftnt1+itkt

h t = o t ⊙ h ~ t , h ~ t = C t q t / max ⁡ { ∣ n t T q t ∣ , 1 } h _ { t } = o _ { t } \odot \tilde { h } _ { t } , \quad \tilde { h } _ { t } = C _ { t } q _ { t } / \max \left\{ | n _ { t } ^ { T } q _ { t } | , 1 \right\} ht=oth~t,h~t=Ctqt/max{ntTqt,1}

q t = W q x t + b q q _ { t } = W _ { q } x _ { t } + b _ { q } qt=Wqxt+bq

k t = 1 d W k x t + b k k _ { t } = \frac { 1 } { \sqrt { d } } W _ { k } x _ { t } + b _ { k } kt=d 1Wkxt+bk

v t = W v x t + b v v _ { t } = W _ { v } x _ { t } + b _ { v } vt=Wvxt+bv

i t = e x p ( i ~ t ) , i ~ t = w i T x t + b i i _ { t } = e x p ( \tilde { i } _ { t } ) , \quad \tilde { i } _ { t } = w _ { i } ^ { T } x _ { t } + b _ { i } it=exp(i~t),i~t=wiTxt+bi

f t = σ ( f ~ t ) O R e x p ( f ~ t ) , f ~ t = w f T x t + b f f _ { t } = \sigma ( \tilde { f } _ { t } ) \quad OR \quad exp(\tilde { f } _ { t }), \quad \tilde { f } _ { t } = w _ { f } ^ { T } x _ { t } + b _ { f } ft=σ(f~t)ORexp(f~t),f~t=wfTxt+bf

o t = σ ( o ~ t ) , o ~ t = w o T x t + b o o _ { t } = \sigma ( \tilde { o } _ { t } ) , \quad \tilde { o } _ { t } = w _ { o } ^ { T } x _ { t } + b _ { o } ot=σ(o~t),o~t=woTxt+bo

3. xLSTM块(xLSTM Blocks)

在这里插入图片描述
在这里插入图片描述

xLSTM块结合了sLSTM和mLSTM的特性,并通过残差连接来进一步提高性能。对于残差sLSTM块,输入首先进入sLSTM,然后是一个门控的多层感知机(MLP)。对于残差mLSTM块,输入首先通过两个MLP,然后是mLSTM,通过卷积、可学习的跳跃连接和输出门。

4. xLSTM架构(xLSTM Architecture)

xLSTM架构通过残差堆叠xLSTM块来构建,利用了预层归一化(preLayerNorm)残差骨干网络。

实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 论文在合成任务和长距离竞技场(Long Range Arena)上测试了xLSTM,并与其他方法进行了比较。
  • 在SlimPajama数据集上进行了语言建模实验,比较了不同方法的性能。
  • 进行了扩展实验,训练了更大的模型,并在更多的训练数据上评估了它们的扩展行为。

结论

  • xLSTM在语言建模方面的表现至少与当前的Transformer或状态空间模型相当。
  • xLSTM有潜力在强化学习、时间序列预测或物理系统建模等深度学习领域产生重大影响。

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

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

相关文章

Nocobase快速上手 -第一个collection

本文记录Nocobase中如何创建collection,以及如何将collection展示到页面中,并且配置CRUD相应的操作. Collection 在NocoBase中,collection(集合)是用来组织和存储各种数据的容器,如订单、产品、用户、评论…

VMware中的虚拟机设置开启VT虚拟化

虚拟机系统关机打开虚拟机设置-----点击处理器----勾选虚拟化引擎---确定即可

【UML】-01-UML基本元素的介绍

1、UML的词汇表 (1)事物; (2)关系; (3)图。 事物是对模型中首要成分的抽象;关系把事物结合在一起;图聚集了相关的事物。 注:事物也称为元素 2…

Springboot项目——网页版本五子棋

网页五子棋:本项目简单实现了网页版本的五子棋对战功能,同时会根据用户的天梯分数来匹配,可供多位用户同时提供对战功能。大致可分为三个模块,用户模块,匹配模块,对战模块,下面重点介绍以下三个…

交叉熵损失函数计算过程(tensorflow)

交叉熵损失函数通常用于多类分类损失函数计算。计算公式如下: P为真实值,Q为预测值。 使用tensorflow计算 import tensorflow as tf import keras# 创建一个示例数据集 # 假设有3个样本,每个样本有4个特征,共2个类别 # 目标标签…

简爱的思维导图怎么做?从这三个角度

简爱的思维导图怎么做?《简爱》作为夏洛蒂勃朗特的代表作,不仅是一部经典的爱情小说,也是探索女性独立与自我成长的文学巨著。为了深入理解这部作品,制作思维导图是一种高效的学习和分析工具。以下是三种不同的角度来创建《简爱》…

excel数据丢失怎么办?表格文件恢复的3个方法

Excel作为一个常用的表格文件,我们在工作中经常都需要用到它。最令人崩溃的事就是有时候我们辛辛苦苦用Excel完成了工作,但是突然发现Excel数据丢失。这可怎么办呢?如何找回丢失的Excel数据?下面小编就分享几种恢复办法。 方法一&…

抖音 v27.8.0 内置增强模块,自动播放、无水印下载(可登录,助手增强版)

介绍 抖音应用作为全球领先的短视频平台,其内置功能允许用户将喜欢的内容保存至本地设备,但默认情况下,这些视频会带有抖音的水印。为了解决这一限制,该版本使用户能够直接保存不带水印的视频到手机中,无需使用任何第…

TikTok电商带货特训营,跟随时代潮流,跨境掘金(8节课)

课程内容: 1-先导课 2-一、店铺运营认知与思路 3-二、店铺风控注意事项 4-三、美区Tiktok前期工作-1店铺入驻模式 5-三、美区Tiktok前期工作-2指纹浏览器介绍 6-三、美区Tiktok前期工作-4绑定电话号码 7-三、美区Tiktok前期工作-5添加仓库地址 8-三、美区Ti…

央视网视频下载和花屏问题处理

央视网(www.cctv.com)视频下载往往是花屏的,如何处理呢? 如果您是IT技术开发者,那么您可以通过下面步骤自己实现。 用chrome浏览器,F2打开开发者工具,找到当前页面的network 然后找一个接口:https://vdn.a…

JRebel 激活及使用

插件下载 JRebel and XRebel - IntelliJ IDEs Plugin | Marketplace 从磁盘安装下载的插件 windows下载激活服务 Releases ilanyu/ReverseProxy GitHub mac没有对应版本,需要Docker搭建本地激活服务 docker pull qierkang/golang-reverseproxy docker run -d -…

(2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch

Eagle and Finch: RWKV withMatrix-Valued States and Dynamic Recurrence 公众号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. Eagle/Finch 架构 4. 方法 4.1 Eagle 4.1.1 Eagle…

基于Pytorch框架的深度学习RegNet神经网络二十五种宝石识别分类系统源码

第一步:准备数据 25种宝石数据,总共800张: { "0": "Alexandrite","1": "Almandine","2": "Benitoite","3": "Beryl Golden","4": "Carne…

ctfshow web入门 黑盒测试

web380 这里文章看的我好有感触 但是影响做题 扫描一下 访问flag.php啥也没有再访问page.php page.php?idflagweb381 扫出来page.php但是没啥用哇,查看源代码 这些文件挨个试发现啥也没,最后仔细对比发现其实都是layui,然后尝试着访问…

神经网络的工程基础(零)——PyTorch基础

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下:regression2chatgpt/ch06_optimizer/gradient_descent.ipynb 本文将介绍PyTorch的基础。…

Centos安装,window、ubuntus双系统基础上安装Centos安装

文章目录 前言一、准备工作二、开始安装1、2、首先选择DATE&TIME2、选择最小安装3、 选择安装位置 总结 前言 因工作需要,我需要在工控机上额外装Centos7系统,不过我是装在机械硬盘上了不知道对性能是否有影响,若有影响,后面…

MyBatis系统学习篇 - MyBatis逆向工程

MyBatis的逆向工程是指根据数据库表结构自动生成对应的Java实体类、Mapper接口和XML映射文件的过程。逆向工程可以帮助开发人员快速生成与数据库表对应的代码,减少手动编写重复代码的工作量。 我们在MyBatis中通过逆向工具来帮我简化繁琐的搭建框架,减少…

macOS上用Qt creator编译并跑shotcut

1 简介 Shotcut是一个开源的跨平台的视频编辑软件,支持WIN/MACOS/LINUX等平台,由于该项目的编译较为麻烦,踩坑几许,因此写此文章记录完整编译构建过程,后续按此法编译,可减少走弯路,提高生产力。…

vue+antd实践:在输入框光标处插入内容

今天来看一个很简单的需求。 需求描述:在输入框光标处,插入指定的内容。 效果如下: 实现思路:刚开始还在想怎么获取光标的位置,但是发现所做的项目是基于vue3antd组件,那么不简单了嘛,只要调…

SpringBoot Redis 扩展高级功能

环境:SpringBoot2.7.16 Redis6.2.1 1. Redis消息发布订阅 Spring Data 为 Redis 提供了专用的消息传递集成,其功能和命名与 Spring Framework 中的 JMS 集成类似。Redis 消息传递大致可分为两个功能区域: 信息发布 信息订阅 这是一个通常…