Mamaba3--RNN、状态方程、勒让德多项式
Mamaba3–RNN、状态方程、勒让德多项式
一、简单回顾
在Mamba1和Mamba2中分别介绍了RNN和状态方程。
下面从两个图和两个公式出发,对RNN和状态方程做简单的回顾:
R N N : s t = W s t − 1 + U x t ; O t = V s t RNN: s_t = Ws_{t-1}+Ux_t;O_t = Vs_t RNN:st=Wst−1+Uxt;Ot=Vst
状态方程: x t ^ = A x t − 1 + B u t ; y = C x t 状态方程:\hat{x_t}=Ax_{t-1}+Bu_t;y=Cx_t 状态方程:xt^=Axt−1+But;y=Cxt
可以看到RNN的本质表达是一个状态方程。
再重复一遍状态变量、状态方程和输出方程的定义,加深理解:
状态变量:刻画系统状态的变量称为状态变量(比如机械系统中的速度、位置)。
状态方程:描述系统输入如何影响状态变量变化的方程。
输出方程:描述状态变量与输出变量关系的一组代数方程。
二、勒让德多项式
勒让德多项式可以被理解为一组多项式基函数,和傅里叶级数类似,允许将某个未知信号分解为不同多项式函数的组合。
三、记忆的本质
记忆是通过重新复盘过去发生的事情,且记忆的内容 f ^ ( t ) \hat{f}(t) f^(t) ≠ 事件本身 f ( t ) f(t) f(t) 。而是拟合逼近的关系.
对于一段序列信号,可以被一组基函数(S4中为勒让德多项式) e i ( t ) e_i(t) ei(t)进行线性组合来表示。即:
f ^ ( t ) = ∑ i = 1 ∞ c i e i ( t ) \hat{f}(t)=\sum_{i=1}^{\infty}c_ie_i(t) f^(t)=∑i=1∞ciei(t)
在真实场景中,信号是持续输入的,因此,拟合和逼近也是在持续进行。
其中 f < t f_{<t} f<t表示目标函数f在t时刻之前的逼近。即不同时刻对应着不同的拟合系数
t 1 时刻: f ^ < t 1 ( t ) = ∑ i = 1 N c t 1 , i e i ( t ) t 4 时刻: f ^ < t 4 ( t ) = ∑ i = 1 N c t 4 , i e i ( t ) t_1时刻:\hat{f}_{<t_1}(t)=\sum_{i=1}^Nc_{t_1,i}e_i(t) \\ t_4时刻:\hat{f}_{<t_4}(t)=\sum_{i=1}^Nc_{t_4,i}e_i(t) t1时刻:f^<t1(t)=i=1∑Nct1,iei(t)t4时刻:f^<t4(t)=i=1∑Nct4,iei(t)
在上式中,勒让德多项式 e i ( t ) e_i(t) ei(t)是固定的, c i c_i ci表示多项式基函数的系数,且随着输入 f ( t ) f(t) f(t)不断更新。 介绍到这里,脑子里有一个想法,前面介绍的状态变量也是随着输入不断的更新!
使用N阶勒让德多项式逼近序列信号,即意味着将信号映射至N维空间中,而 c ( t ) c(t) c(t)是刻画信号的状态变量。
接下来计算 c ( t ) c(t) c(t)。
对上面的公式进行微分,并经过数学推理可以得到一个ODE:
对上式进行整理可得:
d d t c ( t ) = 1 t A c ( t ) + 1 t B f ( t ) − > c ˙ ( t ) = A c ( t ) + B f ( t ) \frac{d}{dt}c(t)=\frac{1}{t}Ac(t)+\frac{1}{t}Bf(t)->\dot{c}(t)=Ac(t)+Bf(t) dtdc(t)=t1Ac(t)+t1Bf(t)−>c˙(t)=Ac(t)+Bf(t)
其中,矩阵A(Hippo矩阵)为:
四、总结
本文说明了RNN、SSM与勒让德多项式之间的关系:
- RNN本质上是一个SSM
- S4将序列信号映射至勒让德基函数空间,状态向量即为多项式系数
- S4中将RNN中权重矩阵W替换成Hippo矩阵
额外说明
(PS:Mamba所采用的基本框架仍是S4, Mamba则在S4的基础上引入了若干关键改进,主要可以总结为以下几点:
选择性扫描算法(Selective Scan Algorithm):Mamba采用了一种硬件感知的并行化算法,称为选择性扫描算法,它能够在加速训练和推理速度的同时,保持对历史上下文的有效利用。与S4相比,Mamba不仅存储整个历史上下文,而且选择性地将部分历史上下文总结为固定上下文,这样既保留了详细的历史信息,又提高了处理效率。
参数化矩阵与Attention效果:Mamba模型通过参数化矩阵对输入信息进行有选择性的处理,类似于注意力机制(Attention),不同输入拥有不同的状态表示,增强了模型对不同token信息的处理能力。
简化的SSM模型:Mamba还可能包含了对SSM(Sparse State Machines或Structured State Machines)的简化,进一步提升了模型的效率和可解释性。)
五、参考文章
[1]一文通透想颠覆Transformer的Mamba:从SSM、HiPPO、S4到Mamba
[2]现代控制理论——状态、状态空间、状态空间描述
[3]Mamba:4 魔幻矩阵A
[4]Mamba:3 记忆殿堂
相关文章:

Mamaba3--RNN、状态方程、勒让德多项式
Mamaba3–RNN、状态方程、勒让德多项式 一、简单回顾 在Mamba1和Mamba2中分别介绍了RNN和状态方程。 下面从两个图和两个公式出发,对RNN和状态方程做简单的回顾: R N N : s t W s t − 1 U x t ; O t V s t RNN: s_t Ws_{t-1}Ux_t&…...

PLC模拟量和数字量到底有什么区别?
PLC模拟量和数字量的区别 在工业自动化领域,可编程逻辑控制器(PLC)是控制各种机械设备和生产过程的核心组件。PLC通过处理模拟量和数字量来实现对工业过程的精确控制。了解模拟量和数字量的区别对于设计高效、可靠的自动化系统至关重要。 1. …...
html中如何写一个提示框,css画一个提示框
在HTML中,提示框通常使用<div>元素来创建,然后使用CSS进行样式化。以下是一个示例,展示如何在HTML中写一个提示框,并使用CSS来设计其外观。 HTML 首先,创建一个HTML文件,其中包含一个提示框的结构&…...
ExoPlayer 学习笔记
https://www.51cto.com/article/777840.html ExoPlayer支持多种媒体格式和流媒体协议的播放器 播放视频:player.play()暂停视频:player.pause()停止播放:player.stop() Media3 ExoPlayer | Android media | Android Developers implem…...

汽车IVI中控开发入门及进阶(二十七):车载摄像头vehicle camera
前言: 在车载IVI、智能座舱系统中,有一个重要的应用场景就是视频。视频应用又可分为三种,一种是直接解码U盘、SD卡里面的视频文件进行播放,一种是手机投屏,就是把手机投屏软件已视频方式投屏到显示屏上显示,另外一种就是对视频采集设备(主要就是摄像头Camera)的视频源…...

Transformer模型:未来的改进方向与潜在影响
Transformer模型:未来的改进方向与潜在影响 自从2017年Google的研究者们首次提出Transformer模型以来,它已经彻底改变了自然语言处理(NLP)领域的面貌。Transformer的核心优势在于其“自注意力(Self-Attention…...
ROS 激光雷达
ROS 激光雷达 基本工作原理 激光雷达(LIDAR,Light Detection and Ranging)是一种用于测量距离的远程感应技术。它通过向目标发射激光并分析反射回来的光来测量目标与激光发射源之间的距离。激光雷达广泛应用于多种领域,包括地理…...

杂说咋说-关于城市化发展和城市治理的几点建议(浙江借鉴)
杂说咋说-关于城市化发展和城市治理的几点建议(浙江借鉴) 近年来,浙江省坚持一张蓝图绘到底,推动城市化发展和城市治理不断迈上新台阶,全省城市化水平和城市治理能力牢牢居于全国第一方阵。当前,国内外环境…...
Linux 常用命令 - which【定位可执行文件的位置】
简介 which 命令源自于英文单词 "which",用于在环境变量 PATH 所指定的路径中搜索某个可执行文件或链接(如一个系统命令)的位置,并返回第一个搜索结果。这个命令会遍历 PATH 环境变量中的所有路径,直到找到…...

js文件导出功能
效果图: 代码示例: <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title>html 表格导出道</title><script src"js/jquery-3.6.3.js"></script><st…...

PHP转Go系列 | 字符串的使用姿势
大家好,我是码农先森。 输出 在 PHP 语言中的输出比较简单,直接使用 echo 就可以。此外,在 PHP 中还有一个格式化输出函数 sprintf 可以用占位符替换字符串。 <?phpecho 码农先森; echo sprintf(码农:%s, 先森);在 Go 语言中调用它的输…...

vue关于:deep穿透样式的理解
情况一 子组件: <div class"child"><div class"test_class">test_class<div class"test1">test1<div class"test2">test2</div></div></div></div>父组件: …...

算法 |数字计数
给出n个数字,请你求出在给出的这n个数字当中,最大的数字与次大的数字之差,最大的数字与次小的数字之差,次大的数字与次小的数字之差,次大的数字与最小的数字之差. 易错点 1 1 2 3 4 4 次小不是a[1]了 次大也不是a[n-2]了 #include<bits/stdc.h> using namespace std; …...

通义千问调用笔记
如何使用通义千问API_模型服务灵积(DashScope)-阿里云帮助中心 package com.ruoyi.webapp.utils;import com.alibaba.dashscope.aigc.generation.Generation; import com.alibaba.dashscope.aigc.generation.GenerationOutput; import com.alibaba.dashscope.aigc.generation.G…...
Linux常见的压缩文件种类与对应的压缩解压方法
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
LNMP网站架构
一、安装nginx服务 1、关闭防火墙和核心防护 systemctl stop firewalld systemctl disable firewalld setenforce 0 2、安装依赖包 yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c make 3、创建运行用户 useradd -M -s /sbin/nologin nginx 4、编译安装…...

排序算法及源代码
堆排序: 在学习堆之后我们知道了大堆和小堆,对于大堆而言第一个节点就是对大值,对于小堆而言,第一个值就是最小的值。如果我们把第一个值与最后一个值交换再对最后一个值前面的数据重新建堆,如此下去就可以实现建堆排…...
力扣第206题“反转链表”
在本篇文章中,我们将详细解读力扣第206题“反转链表”。通过学习本篇文章,读者将掌握如何使用迭代和递归的方法来解决这一问题,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于理解。 问题描述 力扣第…...

多模态大模型解读
目录 1. CLIP 2. ALBEF 3. BLIP 4. BLIP2 参考文献 (2023年)视觉语言的多模态大模型的目前主流方法是:借助预训练好的LLM和图像编码器,用一个图文特征对齐模块来连接,从而让语言模型理解图像特征并进行深层次的问…...
React是什么?
theme: condensed-night-purple highlight: atelier-cave-light React是什么? 官方的解释是:A JavaScript library for building user interfaces用于构建用户界面的 JavaScript 库 那为什么要选择用React呢? 原生的HTML、CSS、JavaScrip的…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...