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

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=Wst1+UxtOt=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^=Axt1+Buty=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=1ciei(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=1Nct1,iei(t)t4时刻:f^<t4(t)=i=1Nct4,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和状态方程。 下面从两个图和两个公式出发&#xff0c;对RNN和状态方程做简单的回顾&#xff1a; R N N : s t W s t − 1 U x t &#xff1b; O t V s t RNN: s_t Ws_{t-1}Ux_t&…...

PLC模拟量和数字量到底有什么区别?

PLC模拟量和数字量的区别 在工业自动化领域&#xff0c;可编程逻辑控制器&#xff08;PLC&#xff09;是控制各种机械设备和生产过程的核心组件。PLC通过处理模拟量和数字量来实现对工业过程的精确控制。了解模拟量和数字量的区别对于设计高效、可靠的自动化系统至关重要。 1. …...

html中如何写一个提示框,css画一个提示框

在HTML中&#xff0c;提示框通常使用<div>元素来创建&#xff0c;然后使用CSS进行样式化。以下是一个示例&#xff0c;展示如何在HTML中写一个提示框&#xff0c;并使用CSS来设计其外观。 HTML 首先&#xff0c;创建一个HTML文件&#xff0c;其中包含一个提示框的结构&…...

ExoPlayer 学习笔记

https://www.51cto.com/article/777840.html ExoPlayer支持多种媒体格式和流媒体协议的播放器 播放视频&#xff1a;player.play()暂停视频&#xff1a;player.pause()停止播放&#xff1a;player.stop() Media3 ExoPlayer | Android media | Android Developers implem…...

汽车IVI中控开发入门及进阶(二十七):车载摄像头vehicle camera

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

Transformer模型:未来的改进方向与潜在影响

Transformer模型&#xff1a;未来的改进方向与潜在影响 自从2017年Google的研究者们首次提出Transformer模型以来&#xff0c;它已经彻底改变了自然语言处理&#xff08;NLP&#xff09;领域的面貌。Transformer的核心优势在于其“自注意力&#xff08;Self-Attention&#xf…...

ROS 激光雷达

ROS 激光雷达 基本工作原理 激光雷达&#xff08;LIDAR&#xff0c;Light Detection and Ranging&#xff09;是一种用于测量距离的远程感应技术。它通过向目标发射激光并分析反射回来的光来测量目标与激光发射源之间的距离。激光雷达广泛应用于多种领域&#xff0c;包括地理…...

杂说咋说-关于城市化发展和城市治理的几点建议(浙江借鉴)

杂说咋说-关于城市化发展和城市治理的几点建议&#xff08;浙江借鉴&#xff09; 近年来&#xff0c;浙江省坚持一张蓝图绘到底&#xff0c;推动城市化发展和城市治理不断迈上新台阶&#xff0c;全省城市化水平和城市治理能力牢牢居于全国第一方阵。当前&#xff0c;国内外环境…...

Linux 常用命令 - which【定位可执行文件的位置】

简介 which 命令源自于英文单词 "which"&#xff0c;用于在环境变量 PATH 所指定的路径中搜索某个可执行文件或链接&#xff08;如一个系统命令&#xff09;的位置&#xff0c;并返回第一个搜索结果。这个命令会遍历 PATH 环境变量中的所有路径&#xff0c;直到找到…...

js文件导出功能

效果图&#xff1a; 代码示例&#xff1a; <!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系列 | 字符串的使用姿势

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

vue关于:deep穿透样式的理解

情况一 子组件&#xff1a; <div class"child"><div class"test_class">test_class<div class"test1">test1<div class"test2">test2</div></div></div></div>父组件&#xff1a; …...

算法 |数字计数

给出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常见的压缩文件种类与对应的压缩解压方法

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

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、编译安装…...

排序算法及源代码

堆排序&#xff1a; 在学习堆之后我们知道了大堆和小堆&#xff0c;对于大堆而言第一个节点就是对大值&#xff0c;对于小堆而言&#xff0c;第一个值就是最小的值。如果我们把第一个值与最后一个值交换再对最后一个值前面的数据重新建堆&#xff0c;如此下去就可以实现建堆排…...

力扣第206题“反转链表”

在本篇文章中&#xff0c;我们将详细解读力扣第206题“反转链表”。通过学习本篇文章&#xff0c;读者将掌握如何使用迭代和递归的方法来解决这一问题&#xff0c;并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释&#xff0c;以便于理解。 问题描述 力扣第…...

多模态大模型解读

目录 1. CLIP 2. ALBEF 3. BLIP 4. BLIP2 参考文献 &#xff08;2023年&#xff09;视觉语言的多模态大模型的目前主流方法是&#xff1a;借助预训练好的LLM和图像编码器&#xff0c;用一个图文特征对齐模块来连接&#xff0c;从而让语言模型理解图像特征并进行深层次的问…...

React是什么?

theme: condensed-night-purple highlight: atelier-cave-light React是什么&#xff1f; 官方的解释是&#xff1a;A JavaScript library for building user interfaces用于构建用户界面的 JavaScript 库 那为什么要选择用React呢&#xff1f; 原生的HTML、CSS、JavaScrip的…...

创新入门 | 病毒循环Viral Loop是什么?为何能实现指数增长

今天&#xff0c;很多高速增长的成功创业公司都在采用”病毒循环“的策略去快速传播、并扩大用户基础。究竟什么是“病毒循环”&#xff1f;初创公司的创始人为何需要重视这个策略&#xff1f;这篇文章中将会一一解答与病毒循环有关的各种问题。 一、什么是病毒循环&#xff08…...

鸿蒙HarmonyOS实战:渲染控制、路由案例

条件渲染 简单来说&#xff0c;就是动态控制组件的显示与隐藏&#xff0c;类似于vue中的v-if 但是这里写法就是用if、else、else if看起来更像是原生的感觉 效果 循环渲染 我们实际开发中&#xff0c;数据一般是后端返回来的对象格式&#xff0c;对此我们需要进行遍历&#…...

【Linux】进程控制2——进程等待(waitwaitpid)

1. 进程等待必要性 我们知道&#xff0c;子进程退出&#xff0c;父进程如果不管不顾&#xff0c;就可能造成"僵尸进程”的问题&#xff0c;进而造成内存泄漏。另外&#xff0c;进程一旦变成僵尸状态&#xff0c;那就刀枪不入&#xff0c;“杀人不眨眼”的kill -9 也无能为…...

SpringBoot 统计接口调用耗时的多种方式

在实际开发中&#xff0c;了解项目中接口的响应时间是必不可少的事情。SpringBoot 项目支持监听接口的功能也不止一个&#xff0c;接下来我们分别以 AOP、ApplicationListener、Tomcat 三个方面去实现三种不同的监听接口响应时间的操作。 AOP 首先我们在项目中创建一个类 &am…...

Linux系统安装Ruby语言

Ruby是一种面向对象的脚本语言&#xff0c;由日本的计算机科学家松本行弘设计并开发&#xff0c;Ruby的设计哲学强调程序员的幸福感&#xff0c;致力于简化编程的复杂性&#xff0c;并提供一种既强大又易于使用的工具。其语法简洁优雅&#xff0c;易于阅读和书写&#xff0c;使…...

网络安全练气篇——OWASP TOP 10

1、什么是OWASP&#xff1f; OWASP&#xff08;开放式Web应用程序安全项目&#xff09;是一个开放的社区&#xff0c;由非营利组织 OWASP基金会支持的项目。对所有致力于改进应用程序安全的人士开放&#xff0c;旨在提高对应用程序安全性的认识。 其最具权威的就是“10项最严重…...

python实现进度条的方法和实现代码

在Python中&#xff0c;有多种方式可以实现进度条。这里&#xff0c;我将介绍七种常见的方法&#xff1a;使用tqdm&#xff08;这是一个外部库&#xff0c;非常流行且易于使用&#xff09;、rich、click、progressbar2等库以及纯Python的print函数与time库来模拟进度条。 目录…...

被拷打已老实!面试官问我 #{} 和 ${} 的区别是什么?

引言&#xff1a;在使用 MyBatis 进行数据库操作时&#xff0c;#{} 和 ${} 的区别是面试中常见的问题&#xff0c;对理解如何在 MyBatis 中安全有效地处理 SQL 语句至关重要。正确使用这两种占位符不仅影响应用的安全性&#xff0c;还涉及到性能优化。 题目 被拷打已老实&…...

C# —— while循环语句

作用 让顺序执行的代码 可以停下来 循环执行某一代码块 // 条件分支语句: 让代码产生分支 进行执行 // 循环语句 : 让代码可以重复执行 语法 while循环 while (bool值) { 循环体(条件满足时执行的代码块) …...

力扣第205题“同构字符串”

在本篇文章中&#xff0c;我们将详细解读力扣第205题“同构字符串”。通过学习本篇文章&#xff0c;读者将掌握如何使用哈希表来解决这一问题&#xff0c;并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释&#xff0c;以便于理解。 问题描述 力扣第205题“…...

用bootstrap3做的网站/百度一下搜索网页

在 WEB 项目中返回 JSON 数据是常见的交互形式&#xff0c;在 Spring Boot 中这一切都变得十分简单。So easy!!!你所需具备的基础什么是 Spring Boot?Spring Boot 核心配置文件详解Spring Boot 开启的 2 种方式Spring Boot 自动配置原理、实战Spring Boot 2.x 启动全过程源码分…...

网站建设 英文版/百度一下你就知道首页

目标变量的作用定义变量认识数据类型一. 变量的作用我们去图书馆读书&#xff0c;怎么样快速找到自己想要的书籍呢&#xff1f;是不是管理员提前将书放到固定位置&#xff0c;并把这个位置进行了编号&#xff0c;我们只需要在图书馆中按照这个编号查找指定的位置就能找到想要的…...

深圳制作公司网站/seo系统是什么

Html5 canvas drawImage图片抗锯齿2018-01-26 11:17虽然drawImage会自动应用消除锯齿&#xff0c;但如果是从大尺寸变为小尺寸&#xff0c;某些图像就不尽人意了&#xff0c;比如曲线。对于可能的性能原因&#xff0c;浏览器似乎通常使用的是双线性(22采样)插值与画布元素而不是…...

dede茶叶网站模板/友情链接检索

温馨提示&#xff1a;文末有福利人生苦短&#xff0c;我用Python&#xff01;Python的前景光明不许要过多赘述了&#xff0c;那么作为新人如何快速上手这门语言呢&#xff1f;废话不多说&#xff0c;今天给大家分享三个极实用的Python爬虫案例。1爬取网站美图爬取图片是最常见的…...

烟台建网站/灰色项目推广渠道

异常名称&#xff1a; obj is AdvancedCard.Multimedia.Model.Gallery The type AdvancedCard.Multimedia.Model.Gallery exists in both AdvancedCard.Multimedia.dll and AdvancedCard.Multimedia.dll 重构说明&#xff1a;老版本项目是采用直接引用类库的方式加载组件模块&…...

如何编写一套网站模板/360广告推广平台

如果每个人都能修改root的密码,那么密码就没有存在的意义了.那么如何防止他人通过grub启动程序进入单用户模式从而修改root的密码呢???环境:虚拟机vmware8.0.4 CentOS 6.3一 通过grub-md5-crypt命令设置进入grub启动程序的密码二 用vi打开grub启动程序的配置文件/etc/grub.c…...