【AI学习】Mamba学习(四):从SSM开始

embedded/2024/10/9 13:23:19/

Mamba的发展,是从SSM->HiPPO->S4->Mamba 演化过来。所以,了解Mamba,得从SSM开始。

SSM,状态空间模型

SSM,就是状态空间模型。
为什么需要SSM?查看三十年前的教科书,控制论的发展,让人们对控制系统不再只满足于研究输出量的变化,对于系统内部的状态变量同时感到兴趣,以便设计和控制这些参数达到最佳控制目的。所以 ,需要状态变量分析。

然后有大段的篇幅进行状态分析的名词定义和状态方程的公式推导,暂且放下,略去将来再看。
SSM的方程如下。
在这里插入图片描述
状态方程就是:状态的导数是关于状态和输入的函数。这里的定义是线性函数。
对应的结构图如下:
在这里插入图片描述
为什么状态的导数的可以表示为这种反馈的结构?不是很懂,教科书中还有很多课需要补,教科书里既然这么写,先放一下,就先接受这个结论。
由于矩阵D类似于跳跃连接,因此在没有跳跃连接的情况下,SSM可以只关注矩阵A、B、C:
在这里插入图片描述
上一篇《Mamba学习(三):离散化SSM的矩阵计算》提到,除了连续的输入之外,还会通常碰到离散的输入(如文本序列)。所以SSM需要离散化形式。
另外,为了加速训练过程,还需要卷积结构表示。
于是,整个SSM就是下面几个主要公式,分别是连续状态方程、离散状态方程和卷积结构表示:
在这里插入图片描述

连续状态方程如下:
在这里插入图片描述
连续和离散状态方程如下:
在这里插入图片描述

卷积结构表示

那上面的公式(4)如何得来?按照时间步骤展开就可以得到:
在这里插入图片描述
见《一文通透想颠覆Transformer的Mamba:从SSM、HiPPO、S4到Mamba》的例子,具体展开可以看到,和上面的公式(4)是一样的。
在这里插入图片描述
这样,SSM在训练的时候,就可以类似图形处理的CNN网络中的卷积核:
在这里插入图片描述
不过文本而不是图像,因此转换为一维结构:
在这里插入图片描述
根据上面的公式,其中的卷积核是:
在这里插入图片描述

与RNN的关系

RNN可以表示成如下,分别是循环和展开的表示:
在这里插入图片描述
SSM的表示对应如下:
在这里插入图片描述

可以看到,RNN和SSM在结构上非常相似。
前面文章《Mamba学习(一):总体架构》提到,Mamba可以简化为一个带门控的 RNN。

总结

SSM在推理时,可以类似RNN的循环结构,获得比较快的推理速度;而在训练的时候,可以通过采用卷积核实现并行化,获得较快的训练速读。

  • Transformer:训练快,推理慢
  • RNN:训练慢,推理快
  • Mamba:并行化训练,循环结构推理,一举两得

RNN为啥没法写成卷积形式?因为RNN多了一个非线性的激活函数。
RNN一般表示为ht=f(Wht-1 + Uxt),其中f是非线性的激活函数,比如tanh。

RNN的并行化

作为备注,需要继续前面的话题,那么,RNN就真的不能并行化处理吗?不然!

如果有兴趣,请继续观看苏神的两篇大作:
《Google新作试图“复活”RNN:RNN能否再次辉煌?》
文章链接:https://mp.weixin.qq.com/s/sTlUBXB-PVKI2l0HqRStSA
《脑洞大开:非线性RNN居然也可以并行计算?》
文章链接:https://mp.weixin.qq.com/s/Yj8XFpIgBxTASUeifeb6XQ

另有一篇《将注意力视为RNN!Bengio等人新作媲美Transformer,但超级省内存》也可以看看。


http://www.ppmy.cn/embedded/125088.html

相关文章

技术总监详解:怎么用 Unity 引擎技术开发智能座舱 HMI 相关应用

想象一下,当启动车辆,眼前的屏幕瞬间点亮,呈现出一个逼真的 3D 城市景观,无论是清晨的第一缕阳光穿透云层,还是夜幕降临时霓虹灯下的繁华都市,都能够通过细腻的光影效果展现在眼前。3D HMI 方案提供直观、立…

国外电商系统开发-运维系统文件上传-高级上传

如果您要上传文件到10台服务器中,有3台服务器的路径不是一样的,那么在这种情况下您就可以使用本功能,单独执行不一样的路径 点击【高级】上传

TCP BIC 的拟合函数分析

前面说了这么多,还没有对 bic 的数学性质进行分析,本文补上。 tcp reno 完全依赖 ack 时钟以 rtt 为单位线性增窗,增窗速度与 rtt 负相关,如何在 rtt 比较大时增加增窗速度,这就是 bic,以二分替换遍历。 …

ubuntu中挂载点内存不足,分配不合理后使用软链接的注意事项

有时候因为最初挂载点设置的时候没有完美契合现在的空间需求,我们要想对空间进行重新划分,就会收到提示“卸载当前磁盘”或者“当前分区正在被使用”,查到的教程很多是从U盘启动gparted。或者因为只有一个硬盘,只能重装系统。 但…

K8s域名解析方案CoreDNS(K8s Domain Name Resolution Solution CoreDNS)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

PostgreSQL升级:使用pg_upgrade进行大版本(16.3)升级(17.0)

1.pg_upgrade工具介绍 pg_upgrade 会创建新的系统表,并以重用旧的数据文件的方式进行升级。 pg_upgrade 的参数选项如下: -b bindir,--old-bindirbindir:旧的 PostgreSQL 可执行文件目录; -B bindir,--new-…

SQL Server—了解数据库和数据库的创建

了解数据库和数据库的创建 SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。 了解数据库 1. 服务器数据库需要配置几点: 1 …

如何从数码相机中恢复已删除的照片

照片恢复是恢复已删除照片的最佳工具,带有恢复 RAW 照片的选项。在本文中,我们将解释如何检索已删除的照片。 不仅适用于专业摄影师,而且对于像我们这样喜欢捕捉回忆的人来说,Moments 相机是一种重要的数字设备。可悲的是&#x…