【LLM】从零开始学大语言模型 | SSM篇 | 4 | SSM 优化(上):为什么不能直接算,以及 HiPPO 理论
SSM 优化(上):为什么不能直接算,以及 HiPPO 理论 前面几篇文章建立了 SSM 的基础知识和 S4 Block 的架构理解。但我们刻意回避了一个核心问题:矩阵 $\mathbf{A}$ 到底该怎么初始化? 如果 $\mathbf{A}$ 随机初始化,SSM 在长序列上几乎必然失败——要么数值爆炸,要么瞬间遗忘。HiPPO 理论从数学上证明了什么样的 $\mathbf{A}$ 才是"理论上最优的"。本文将完整介绍 HiPPO 的推导过程和核心结论,为后续的 S4 工程化优化做好铺垫。 一、为什么不能随机初始化 $\mathbf{A}$ 1. 随机初始化的后果 回顾离散化后的 SSM 递推公式:$h_k = \bar{\mathbf{A}}h_{k-1} + \bar{\mathbf{B}}x_k$,其中 $\bar{\mathbf{A}} = e^{\mathbf{A}\Delta}$。 如果 $\mathbf{A}$ 像普通神经网络权重那样随机初始化(例如标准正态分布),会发生三种情况: $\mathbf{A}$ 的特征值实部为正: $\bar{\mathbf{A}}$ 的特征值大于 1。递推 $h_k = \bar{\mathbf{A}}h_{k-1} + \ldots$ 中,矩阵连乘 $\bar{\mathbf{A}}^k$ 会迅速趋于无穷大,状态 $h_k$ 数值爆炸。 $\mathbf{A}$ 的特征值实部为负且绝对值很大: $\bar{\mathbf{A}}$ 的特征值远小于 1。矩阵连乘 $\bar{\mathbf{A}}^k$ 迅速趋于 0,模型瞬间"遗忘"所有历史输入。 $\mathbf{A}$ 是一般随机矩阵: 特征值在复平面上近似均匀分布在某个圆内(Circular Law),无法保证全部实部为负,更无法控制衰减速率的分布。在这种情况下,训练几乎不可能稳定进行。 2. 问题的本质 SSM 需要一个特殊的 $\mathbf{A}$ 矩阵,它必须同时满足两个看似矛盾的要求: ...