跳转至

Detecting Invariant Manifolds in ReLU-Based RNNs

会议: ICLR2026
OpenReview: https://openreview.net/forum?id=EAwLAwHvhk
代码: https://github.com/DurstewitzLab/DetectingManifolds
领域: 时间序列 / 动力系统重构 / RNN 可解释性
关键词: 分段线性 RNN、不变流形、吸引盆、同宿轨、混沌

一句话总结

这篇论文给基于 ReLU 的分段线性 RNN(PLRNN)提出了一套半解析算法,能直接计算鞍点/鞍周期点的稳定与不稳定流形,从而画出状态空间中不同吸引盆的边界、找到同宿/异宿交点并据此证明 RNN 内部存在混沌——填补了"离散时间、雅可比带间断的 ReLU RNN 该如何分析其动力学拓扑"这一长期空白。

研究背景与动机

领域现状:RNN 近年因为更稳的训练算法(避免梯度爆炸/消失)和新架构(含状态空间模型 SSM,本质是带非线性读出的线性 RNN)重新火起来,被广泛用于时间序列预测和动力系统重构(dynamical systems reconstruction, DSR)——即用训练好的 RNN 当作底层物理/生理系统的"代理模型",从观测时间序列里反推出生成它的动力学机制(气候、神经科学等)。

现有痛点:模型能拟合数据,但我们对"训练好的 RNN 内部到底在做什么动力学"理解严重滞后。一个动力系统的行为由其状态空间的拓扑与几何决定,其中鞍点/鞍周期点的稳定流形与不稳定流形尤为关键:稳定流形把状态空间切成不同的吸引盆(决定系统会落向哪个吸引子,即多稳态 multistability),而稳定流形与不稳定流形的相交会产生同宿点、引出分形几何与混沌。但这些不变流形在 ML 社区几乎没人能算。

核心矛盾:动力系统理论(DST)里现成的工具(如数值延拓 continuation methods)几乎全是为光滑、连续时间的 ODE 系统设计的;而 RNN 是离散时间映射,ReLU 又让雅可比在子区域边界上不连续。现有针对离散映射、尤其分段线性映射的方法都受维度灾难困扰,只能处理 ≤5 维系统,远小于实际 RNN 的隐空间维度。定位流形这件事,对 ReLU RNN 至今"无可用方法"。

切入角度:PLRNN 用 ReLU 把状态空间切成大量线性子区域,在每个子区域内动力学就是一个普通线性映射——既然局部是线性的,流形的局部段就能闭式解析地从局部雅可比的特征向量直接写出来。作者要做的就是把这种"局部解析 + 跨区域递归拼接"的思路落地。

核心 idea:在每个线性子区域内用特征向量解析地构造流形段,再通过前向/后向迭代 RNN 映射把相邻子区域的流形段递归拼成全局流形——用 PLRNN 的分段线性结构换来流形的精确定位

方法详解

整体框架

PLRNN 写作 \(z_t = A z_{t-1} + W\,\Phi(z_{t-1}) + h\),其中 \(A\) 对角、\(W\) 非对角、\(\Phi=\max(0,\cdot)\) 是逐元素 ReLU。关键的改写是把 ReLU 吸收进一个对角指示矩阵 \(D_{t-1}\)

\[z_t = F_\theta(z_{t-1}) = (A + W D_{t-1})\,z_{t-1} + h,\qquad D_t=\mathrm{diag}(d_t),\ d_{i,t}=\mathbb{1}[z_{i,t}>0].\]

这样状态空间被切成至多 \(2^M\) 个线性子区域,在每个子区域内 \(F_\theta\) 就是一个仿射映射,其雅可比恒为 \(A+W D\)。算法的全部巧思都建立在这一点上:流形在每个子区域内是仿射子空间(局部解析可得),跨区域时再迭代映射拼接。

整个流程是:先用已有的 SCYFI 算法(同实验室前作,多项式时间精确定位不动点/周期点)找到感兴趣的鞍点 \(p\);然后从 \(p\) 所在子区域出发,用局部特征向量初始化流形,采样若干支撑点,沿 \(F_\theta\)(求不稳定流形)或 \(F_\theta^{-1}\)(求稳定流形)把它们传播进相邻子区域,在新子区域里重新确定流形段,如此递归直到铺满状态空间。最终输出是:每个被访问到的子区域里,一组特征向量 + 至少一个支撑点,共同精确定义该区域的流形段。

关键设计

1. 子区域内解析构造 + 跨区域递归拼接:把"算流形"变成"局部线性代数 + 迭代"

这是算法的骨架,针对的就是"离散、不连续映射无法用延拓法"的核心痛点。在容纳 \(p\) 的子区域里,稳定(不稳定)流形就是局部雅可比 \(A+W D(p)\) 中特征值在单位圆内(外)的那些特征向量张成的仿射子空间,可直接闭式算出;复特征值成对出现、张成平面子空间,所以螺旋点也照样处理。要把流形延伸到相邻区域,就在当前流形段上随机采 \(N_s\) 个支撑点,用 \(F_\theta\)(不稳定)或 \(F_\theta^{-1}\)(稳定)把它们推过子区域边界;落进哪些新子区域,就在那些区域里继续构造。流形的维数跨区域不变,但会因为新区域动力学不同而弯曲(例如进入一个螺旋型区域)。理论上每个区域只需 \(d+1\) 个支撑点就能锚定一个 \(d\) 维流形段:若该段不弯则用 PCA 求仿射子空间,若弯则用核 PCA(kernel-PCA)。采样点数取 \(N_s = k_{\text{neigh}}\times d\)(相邻子区域数 × 流形维数),保证大概率触达所有延伸方向。这样"全局流形"= \(\bigcup_n F_\theta^{\pm n}(\text{局部流形})\) 被一段段递归组装出来。

2. 自洽的逆映射启发式:让 \(F_\theta^{-1}\) 在分段线性下可解

算稳定流形要后向迭代,于是必须解 \(z_{t-1}=(A+W D_{t-1})^{-1}(z_t-h)\)。难点在于 \(D_{t-1}\) 本身依赖于 \(z_{t-1}\) 的符号——解出来的 \(z_{t-1}\) 各分量符号必须和你假设的 \(D_{t-1}\) 一致(自洽性),否则这个逆是无效的。作者给了个简单而高效的启发式:① 先用当前子区域的 \(D_t\) 做一次后向步得到候选 \(z^*_{t-1}\);② 再正向一步检验 \(z_t \stackrel{?}{=} F_\theta(z^*_{t-1})\);③ 相等则完成;④ 不等就改用候选点所在子区域 \(D(z^*_{t-1})\) 重试;⑤ 仍失败则逐位翻转 \(D_{t-1}\) 的 bit 去检查邻近区域。它高效是因为候选点通常就落在正确子区域里,即便不在也多半只跨进相邻区域,于是搜索范围极小。

3. 用正则化在训练时强制 \(F_\theta\) 可逆:给"后向迭代"提供合法性前提

整套后向构造依赖 \(F_\theta\) 可逆。理论上这很合理——我们想逼近的多数底层 ODE 流映射由 Picard-Lindelöf 定理保证可逆;但训练出来的 \(F_\theta\) 不一定满足。可逆的充分条件是相邻子区域的雅可比行列式同号(符号条件)。作者把它写成一个 hinge 形式的正则项加进训练损失:

\[L_{\text{reg}} = \lambda\cdot\frac{1}{|S_{\text{reg}}|}\sum_{i\in S_{\text{reg}}}\max\big(0,\,-\det(J_i)\big),\qquad J_i=A+W D_i.\]

妙处在于:只需在实际轨迹经过的子区域里抽样 1% 做约束,就能让全状态空间几乎处处可逆,而对运行时间和重构精度几乎无影响。更进一步,由于很多科学动力系统本身有时间可逆性,这个正则不仅不拖后腿,在某些系统(如 10 维阻尼非线性振子)上还加快了训练收敛(达到 PE(20)≤0.5 的步数显著更少,\(p=0.023\))。

4. 维度无关的重构质量度量 \(\Delta_\sigma\):让高维流形也能验证对错

2 维时流形是线段,肉眼就能验证;但高维流形没法可视化,需要一个可量化的对错指标。作者对从邻域 \(U\) 或从重构流形上采的点 \(x_0\) 定义

\[\delta_\sigma(x_0):=\min_{k_\sigma\ge 0}\frac{\lVert F_\theta^{k}(x_0)-p\rVert_2^2}{\lVert x_0-p\rVert_2^2}\in[0,1],\]

直觉是:真落在稳定/不稳定流形上的点,会被(前向/后向)迭代拉向 \(p\),于是 \(\delta_\sigma\approx 0\);不在流形上的点 \(\delta_\sigma\) 则散布在更宽的范围。据此对邻域点设指示 \(I_U=\mathbb{1}[\delta_\sigma(x_0\in U)>\delta_\sigma^{\max}]\)\(\delta_\sigma^{\max}\) 取流形上采样点 \(\delta_\sigma\) 的最大值),最终报告 \(\Delta_\sigma:=\langle I_U\rangle-\tilde\delta_\sigma(x_0\in W^\sigma(p)\cap U)\) 作为质量统计量,越接近 1 越好(实验里多在 0.76~0.97)。⚠️ 具体记号以原文为准。

损失函数 / 训练策略

RNN 本身用前作的 shPLRNN(浅层 PLRNN)或 ALRNN(almost-linear RNN,只保留最少必要的非线性单元)训练,主损失是常规 MSE,配合稀疏 teacher forcing;流形算法作为训练后的分析工具,唯一对训练的介入就是上面的可逆性正则项 \(L_{\text{reg}}\)(系数取 \(\lambda=0.1\,e^{M}\) 量级)。

实验关键数据

主实验

论文以"能否正确还原状态空间结构"为主线,在合成系统和真实数据上逐级验证。

系统 / 模型 设置 验证内容 流形质量 \(\Delta_\sigma\)
2D 分段线性玩具映射 解析已知逆与不动点 前/后向迭代点全部落在算法所得流形上;吸引盆边界与"网格初值 \(t\to\infty\)"经典法完全吻合
Duffing 双稳振子 shPLRNN, \(M{=}2,H{=}10\) 中心鞍点的稳定流形即两螺旋吸引子的盆边界,与真系统流向一致 ≈0.97
2-选择决策任务 ALRNN, \(M{=}15,P{=}6\) 分隔两选择吸引盆的鞍点稳定流形(含平面+弯曲段),两吸引子到边界距离≈0.34 vs 0.32,对应两选项权重相当 ≈0.95
Lorenz-63 混沌系统 shPLRNN, \(M{=}3,H{=}20\) 算法所得鞍点稳定/不稳定流形,与对原始 Lorenz ODE 数值延拓所得高度吻合,证明 RNN 真学到了状态空间几何而非仅拟合吸引子 ≈0.78
皮层神经元膜电位记录 ALRNN, \(M{=}25,P{=}6\) 训练出含 38-周期(对应放电节律)+ 稳定不动点,鞍点 24 维稳定流形分隔"放电"与"静息"两盆;放电态到边界距离 2.3 > 静息态 1.2,即放电更抗扰动 ≈0.76

消融 / 分析实验

配置 关键发现 说明
可逆正则采样比例 $ S_{\text{reg}} /
可逆正则 开 vs 关(阻尼振子) 收敛到 PE(20)≤0.5 显著更快,\(p=0.023\)(Mann-Whitney U) 时间可逆系统受益明显
可逆正则 开 vs 关(Lorenz-63) 性能基本不变,\(p=0.122\) 对混沌系统无害
同宿点检测(2D PL 映射) 算法找到的同宿交点与附录解析推导一致;据 Smale-Birkhoff 定理证明存在混沌 分岔图 + 两条 Lyapunov 指数佐证"鲁棒混沌"

关键发现

  • 流形质量 \(\Delta_\sigma\) 随系统复杂度递减(玩具/Duffing≈0.95+ → Lorenz≈0.78 → 真实神经元≈0.76),但即便 24 维弯曲流形也能量化验证。
  • 算法不止"画图":通过计算状态到流形(盆边界)的距离,能定量回答"哪个状态更稳/更抗扰动""两个选择是否等权"这类机制性问题。
  • 同宿/异宿交点的检测把"系统是否混沌"从经验观察变成可判定的几何事实,甚至在人体 ECG 这类高维实测信号上确认了混沌。

亮点与洞察

  • 把"分段线性"从负担变成红利:ReLU 让雅可比不连续、传统延拓法失效,作者反过来利用"每块子区域内严格线性"做局部解析构造,是典型的"顺着模型结构的弱点找到分析的钥匙"。
  • 训练-分析闭环:可逆性不是被动假设,而是用一个只约束 1% 子区域的轻量正则主动塑造出来,几乎零代价地让后向流形构造合法化——这个"为可分析性而正则"的思路可迁移到其他需要逆映射的 PL 系统分析。
  • 维度无关的验证指标 \(\Delta_\sigma\):用"迭代是否被拉向鞍点"作为流形归属判据,巧妙绕开高维不可视化的难题,对任何"声称重构了某流形"的方法都可复用。
  • 从代理模型读出机制:在真实皮层神经元上,算法直接给出"放电态比静息态更抗扰动"的可量化结论,展示了 DSR + 流形分析作为科学发现工具的潜力。

局限与展望

  • 混沌区域失效:当不变流形折叠成分形结构时,"用支撑向量张成弯曲/平面段"的解析构造会崩溃,无法刻画自相似几何;此时只能退而求其次去找同宿/异宿交点来确认混沌。
  • 最坏情况指数复杂度:算法最坏可随线性子区域数按 \(2^P\) 增长;但作者指出训练好的 PLRNN 实际用到的子区域数会很快饱和,限制在数据探索到的区域内时多为多项式量级。
  • 依赖鞍点先被找到:能否恢复所有相关流形,前提是 SCYFI 先把所有鞍点找全——漏检鞍点会直接漏掉对应流形。
  • 展望:作者认为方法可推广到其他分段线性系统(SLDS、TLN/阈值线性网络、控制论的 Lur'e 系统),但 SLDS 在边界不连续、TLN 是连续时间,都需要额外处理(如离散↔连续时间 PLRNN 互转)。

相关工作与启发

  • vs SCYFI(Eisenmann et al. 2023):SCYFI 只能多项式时间定位不动点/周期点,本文在其基础上更进一步去构造这些点的不变流形;两者是"找骨架点"与"长出流形面"的接力关系。
  • vs 数值延拓法(continuation methods):延拓法面向光滑连续时间 ODE,且受维度灾难限制(实际只能 ≤5 维);本文专攻离散、雅可比不连续的 ReLU RNN,靠分段线性结构实现精确定位且可扩展到高维。
  • vs 针对 PL 映射的近期方法(Simpson 2023):同样面向分段线性映射,但仍受维度灾难困扰;本文借助"局部解析 + 仅访问数据探索到的子区域"在实践中规避了爆炸。
  • vs 固定点分析(Golub & Sussillo 2018 等):以往 RNN 可解释性工作几乎只关注不动点/周期点,忽略了真正切割状态空间、决定多稳态与混沌的不变流形;本文正是补这块空白,且号称是 ReLU RNN 上第一个检测不变流形的算法。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首个针对 ReLU RNN 不变流形的检测算法,思路清晰且填补明确空白
  • 实验充分度: ⭐⭐⭐⭐ 从玩具到 Lorenz 再到真实神经元/ECG 层层验证,并与解析解/数值延拓交叉核对,唯高维流形难直观展示
  • 写作质量: ⭐⭐⭐⭐⭐ 定义、算法、动机层次分明,DST 背景交代充分
  • 价值: ⭐⭐⭐⭐⭐ 为"读懂训练好的 RNN/作为科学代理模型"提供了可量化的机制分析工具