首页 > 其他分享 >On the Parameterization and Initialization of Diagonal State Space Models

On the Parameterization and Initialization of Diagonal State Space Models

时间:2024-06-12 14:43:41浏览次数:24  
标签:mathbb tau bar Space Models Initialization Bu ldots tA

目录

Gu A., Gupta A., Goel K. and Re C. On the parameterization and initialization of diagonal state space models. NeurIPS, 2022.

Mamba 系列第四作: S4D.

符号说明

  • \(u(t) \in \mathbb{R}\), 输入信号;
  • \(x(t) \in \mathbb{R}^N\), 中间状态;
  • \(y(t) \in \mathbb{R}\), 输出信号

S4D

  • LSSL 中我们已经阐述了线性系统:

    \[x'(t) = A x(t) + Bu(t), \\ y(t) = C x(t) + Du(t) \]

    在兼顾 RNN, CNN 的优势的可能性, 并且离散化后说明 LSSL 实际上可以改写成卷积的形式, 从而实现高效的并行化:

    \[y = \mathcal{K}_L (\bar{A}, \bar{B}, C) * u + Du, \\ \mathcal{K}_L (A, B, C) := (CB, CAB, \ldots, CA^{L-1}B). \]

  • S4 的初衷是对角化 \(A\) 来避免卷积过程中 \(A^l\) 的复杂运算, 不过考虑到完全对角化的一个数值问题, 最终 S4 给出的策略是重参数化 \(A\) 为对角矩阵 + 低秩矩阵.

  • 不过最近 DSS 发现通过合理的初始化, 就能够避免数值问题, 本文在此基础上进一步探索.

  • 首先作者考虑简化的 ODE:

    \[x'(t) = A x(t) + Bu(t), \\ y(t) = C x(t), \]

    并给出一个等价的卷积形式:

    \[K(t) = C e^{tA} B, \\ y(t) = (K * u)(t). \]


proof:

  • 首先注意到:

    \[\begin{array}{ll} & x'(t) = Ax(t) + Bu(t) \\ \Rightarrow & x'(t) - Ax(t) = Bu(t) \\ \Rightarrow & e^{-tA} x'(t) - e^{-tA} Ax(t) = e^{-tA} Bu(t) \\ \Rightarrow & (e^{-tA} x(t))' = e^{-tA} Bu(t) \\ \Rightarrow & e^{-tA} x(t) = e^{-tA}x(0) + \int_0^t e^{-\tau A} Bu(\tau) d \tau \\ \Rightarrow & x(t) = x(0) + \int_0^t e^{(t-\tau) A} Bu(\tau) d \tau \\ \Rightarrow & y(t) = \int_0^t C e^{(t-\tau) A} Bu(\tau) d \tau = (K * u)(t) \quad \leftarrow x(0) = 0 \\ \end{array} \]


  • 接下来我们假设 \(A \in \mathbb{C}^{N \times N}\) 为一个对角矩阵, 考虑到 \(B \in \mathbb{C}^{N \times 1}, C \in \mathbb{C}^{1 \times N}\), 我们可以令 \(A_n, B_n, C_n\) 对应的第 \(n\) 个元素. 由此一来, 我们就会有

    \[K(t) = \sum_{n=0}^{N-1} C_n K_n(t), \quad K_n(t) := \bm{e}_n^T e^{t A} B, \]

    其中 \(\bm{e}_n \in \{0, 1\}^N\) 表示第 \(n\) 个元素为 1 其余为 0 的向量.

  • 离散化后, 我们有:

    \[y = u * \bar{K}, \quad \bar{K} = (C\bar{B}, C\overline{AB}, \ldots, C\bar{A}^{L-1} \bar{B}) \in \mathbb{C}^L. \]

  • 容易证明:

    \[\bar{K} = [\bar{B}_0 C_), \ldots, \bar{B}_{N-1} C_{N-1}] \left [ \begin{array}{cccc} 1 & \bar{A}_0 & \bar{A}_0^2 & \ldots & \bar{A}_0^{L-1} \\ 1 & \bar{A}_1 & \bar{A}_1^2 & \ldots & \bar{A}_1^{L-1} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & \bar{A}_{N-1} & \bar{A}_{N-1}^2 & \ldots & \bar{A}_{N-1}^{L-1} \\ \end{array} \right ], \]

    这是 Vandermonde matrix-vector multiplication.

  • 正常算, \(\bar{K}\) 需要 \(O(NL)\) 的计算量, 不过 Vandermonde matrix-vector multiplication 实际上有更快的算法, 可以达到 \(O(N + L)\) 的复杂度.

  • 最后, 作者讨论了初始化, \(A\) 可以用 HiPPO 矩阵的 DPLR 后的对角矩阵初始化, 或者用直接用对角线, 以及额外还有两种:

    \[\text{S4D-Inv}: \quad A_n = -\frac{1}{2} + i \frac{N}{\pi} (\frac{N}{2n + 1} - 1), \\ \text{S4D-Lin}: \quad A_n = -\frac{1}{2} + i\pi n. \]

  • 作者给了算法:

代码

[official-code]

标签:mathbb,tau,bar,Space,Models,Initialization,Bu,ldots,tA
From: https://www.cnblogs.com/MTandHJ/p/18243924

相关文章

  • Arcee’s MergeKit: A Toolkit for Merging Large Language Models
    本文是LLM系列文章,针对《Arcee’sMergeKit:AToolkitforMergingLargeLanguageModels》的翻译。Arcee的MergeKit:一个用于合并大型语言模型的工具包摘要1引言2背景和相关工作3库设计:关键设计原则4MergeKit的可扩展性5MergeKit的普及性和有效性6结论和......
  • CoLLEGe: Concept Embedding Generation for Large Language Models
    本文是LLM系列文章,针对《CoLLEGe:ConceptEmbeddingGenerationforLargeLanguageModels》的翻译。CoLLEGe:大型语言模型的概念嵌入生成摘要1引言2相关工作3CoLLEGe:概念学习与语言嵌入生成4用于训练CoLLEGe的数据集5实验6结论和讨论摘要当前的语言......
  • Efficiently Modeling Long Sequences with Structured State Spaces
    目录概符号说明S4代码GuA.,GoelK.andReC.Efficientlymodelinglongsequenceswithstructuredstatespaces.NeurIPS,2022.概Mamba系列第三作.符号说明\(u(t)\in\mathbb{R}\),输入信号;\(x(t)\in\mathbb{R}^N\),中间状态;\(y(t)\in\mathbb{R}\),输......
  • Combining Recurrent, Convolutional, and Continuous-time Models with Linear State
    目录概符号说明LSSL和其它方法的联系代码GuA.,JohnsonI.,GoelK.,SaabK.,DaoT.,RudraA.,andReC.Combiningrecurrent,convolutional,andcontinuous-timemodelswithlinearstate-spacelayers.NeurIPS,2021.Statespacerepresentaion-wiki.概Mamba......
  • 关于namespace
    namespace和cgroup被称为当下轻量虚拟化技术的核心。namespace实现资源隔离。cgroup实现资源限制,主要是针对cpu和mem。那linux系统下namespace是如何实现资源隔离的呢?具体都隔离了哪些方面?资源类型提到资源隔离,所包含的资源类型包括:cpu内存网络存储空间进程和上下文环境......
  • Vision-Language Models are Zero-Shot Reward Models for Reinforcement Learning
    发表时间:2024(ICLR2024)文章要点:文章提出用预训练的视觉语言模型作为zero-shot的rewardmodel(VLM-RMs)。好处在于可以通过自然语言来给定一个具体的任务,通过VLM-RMs让强化学习基于reward学习这个任务(usingpretrainedvision-languagemodels(VLMs)aszeroshotrewardmodels......
  • 三、SpaceVim配置
    一、基本键位映射在配置vim的快捷键时,需要掌握基本键位的描述符。除了基本的<CR>,<ESC>,<SPACE>,<C-..>外,补充下列常用映射表:<k0>-<k9>小键盘数字0-9<BS>退格键backspace<S-...>代表shift<M-...>或<A-...>Windows和Linux下代表alt/meta键,在m......
  • Android 13.0 Launcher3单层模式workspace中app列表页排序功能实现
    1.概述在13.0的定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了,接下来就来实现这个功能如图:2.Launcher3单层模式workspace中app列表页排序功能实现的核心......
  • SpaceX 首席火箭着陆工程师 MIT论文详解:非凸软着陆最优控制问题的控制边界和指向约束
    上一篇blog翻译了LarsBlackmore(LarsBlackmoreisprincipalrocketlandingengineeratSpaceX)的文章,SpaceX使用CVXGEN生成定制飞行代码,实现超高速机载凸优化。利用地形相对导航实现了数十米量级的导航精度,着陆器在着陆过程中成像行星表面并将特征与机载地图匹配......
  • k8s - namespace
    简介命名空间,可以根据ns区分业务线、应用、权限一般默认命名空间指向default,可以在kubeconfig中修改默认配置清单文件apiVersion:v1kind:Namespacemetadata:#命名空间名称name:yky常用操作#创建名为yky的nskubectlcreatensyky#删除名为yky......