引言: 为未知系统建模

想象一下,你正试图为一个复杂的化学反应器或电网创建一个完美的数字孪生。这些系统由无数相互作用的物理过程支配——其中许多过程要么过于复杂,要么我们对其理解不足,以至于无法用简洁的数学方程式完整描述。当从第一性原理出发构建模型变得不可能时,工程师们会转向一种强大的替代方案:** 系统辨识**。

这个概念非常直接。与其解释系统的内部机理,不如构建一个“黑箱”模型,让它学会像真实系统一样运作。通过将相同的输入馈入我们的模型,并将其输出与实际系统的输出进行比较,我们可以训练模型复现系统的响应。这种经验式方法对于监控系统健康、预测故障以及设计自适应控制器等任务至关重要。

传统的系统辨识技术在处理线性系统时表现优异,因为线性系统中输入与输出的关系是成比例且易于建模的。然而,现实世界中的系统——化学反应、流体流动、机械振动——几乎总是非线性的,这使得它们的预测更加困难。

在 1991 年的一篇开创性论文中,一个研究团队利用人工神经网络的力量,提出了这一难题的创新解决方案。他们引入了一种名为循环多层感知机 (Recurrent Multilayer Perceptron, RMLP) 的混合架构,专门用于学习动态系统随时间变化的非线性行为。本文将解析他们的方法,展示 RMLP 的独特结构如何使神经网络不仅能够逼近复杂函数,还能记忆并建模时间相关的动态。


动态建模的挑战

在我们深入探讨 RMLP 的工作原理之前,先来明确什么是非线性动态系统。这种系统可以用以下通用形式表示:

非线性动态系统的一般状态空间表示。下一状态 x(k+1) 是当前状态 x(k) 和输入 u(k) 的函数 f;当前输出 y(k) 是当前状态 x(k) 的函数 g。

图: 描述系统状态和输出如何随时间演变的一般状态空间模型。

在任意时间步 \(k\):

  • \( \mathbf{u}(k) \) — 系统输入 (例如,开启一个阀门) 。
  • \( \mathbf{x}(k) \) — 内部状态 (例如,反应器内的温度或压力) 。
  • \( \mathbf{y}(k) \) — 可观测输出 (例如,流量或电压) 。

未知的函数 \( \mathbf{f} \) 和 \( \mathbf{g} \) 代表系统的底层物理规律。系统辨识的目标就是从观测数据中学习这些函数——推断系统如何随时间发展。

标准的前馈神经网络,如多层感知机 (Multilayer Perceptron, MLP),在学习输入与输出之间的静态关系方面非常出色。然而,它们缺失一个关键要素:** 记忆**。经典的 MLP 在时间 \(k\) 的输出仅取决于同一时刻的输入,无法回忆先前的状态。要捕捉动态行为,就需要一种能够保留过去状态的模型。

这正是循环多层感知机发挥作用的地方。


循环多层感知机: 具备记忆的网络

RMLP 是一种混合神经网络架构,它融合了前馈网络的强大函数逼近能力与循环网络的时间感知能力。

循环多层感知机 (RMLP) 架构示意图。图中包含输入层、两个隐藏层以及输出层,并展示了前馈、循环和跨层连接类型。

图 1: 循环多层感知机的架构,展示了前馈、循环和跨层连接。

乍看之下,RMLP 与标准 MLP 相似——都有输入层、隐藏层和输出层——但它具有额外的反馈机制,使网络具备时间意识。每类连接的作用如下:

  1. 前馈连接 (Feedforward Links): 标准连接,用于将信息从一层传递到下一层 (输入 → 隐藏层 → 输出层) 。这些连接负责函数逼近。
  2. 循环连接 (Recurrent Links): 在同一层内形成环路,将神经元的过去输出反馈到下一时间步的同一层。这使模型能够保留对历史状态的内部记忆。
  3. 跨层连接 (Cross-Layer Links / Crosstalk): 层与层之间的反馈连接,可实现更复杂的层间时间交互。

这些机制共同作用,使 RMLP 能够模拟输入、输出和内部状态的时间演变,从而成为动态系统辨识的有力工具。


理解数学原理

RMLP 中每个神经元的行为综合了当前与先前时间步的信息。在时间 \(k\),第 l 层第 i 个神经元的输出 (记作 \(x_{[l,i]}(k)\)) 计算如下:

RMLP 中神经元的控制方程。神经元的输出是一个激活函数作用于同层的循环输入、前一层的前馈输入以及偏置项的总和。

图: 每个神经元的输出融合了当前前馈信号与过去循环信息的影响。

具体组成如下:

  • \(F_l\) — 激活函数 (如 sigmoid 或 tanh) 。
  • \( \sum_{j} w_{[l,j][l,i]} x_{[l,j]}(k-1) \) — 循环项,整合同层过去输出。
  • \( \sum_{j} w_{[l-1,j][l,i]} x_{[l-1,j]}(k) \) — 前馈项,使用前一层的当前输出。
  • \( b_{[l,i]} \) — 偏置项。

这种结构赋予每个神经元动态特性——学习的关系不仅跨层 (空间) ,也跨时间 (连续步骤) 。


训练 RMLP: 动态学习

接下来的挑战是如何训练这样的网络。目标是找到一组权重 \(w\),使网络的预测与真实系统输出之间的误差最小化。误差常用平方差来度量:

平方误差函数 E(k),其计算为网络输出 x 与目标输出 x_hat 在所有输出神经元上的平方差之和。

图: 平方误差 \(E(k)\),用于量化网络复现系统输出的精度。

对于 RMLP,作者采用了最速下降权重更新规则:

最速下降法权重更新规则。权重的变化量与误差关于该权重的负梯度成比例,对所有数据点求和后乘以学习率 eta。

图: 动态学习过程中使用的权重更新规则。

其中,\( \eta \) 是学习率,用于控制步长;而梯度 \( \frac{\partial E(k)}{\partial w} \) 表示某个权重变化对总误差的影响程度。

训练循环网络之所以困难,是因为每个权重的影响会通过时间传播,波及未来状态。传统算法如随时间反向传播 (Backpropagation Through Time, BPTT) 依赖昂贵的时间层级反向传递。

作者提出了一个更简洁的替代方案: 一种基于两次前向传播动态学习算法,而不是反向传播。

  1. 第一次前向传播: 计算网络在一系列输入上的输出。
  2. 第二次前向传播: 根据这些输出计算权重更新所需的梯度。

这种“全前向”方法简化了计算,消除了时间反向递归,且易于并行化,从而在性能和可扩展性上显著提升。


示例: 辨识一个非线性系统

为了展示 RMLP 的能力,作者将其用于辨识一个由下列方程定义的二阶非线性系统:

实验使用的二阶非线性差分方程: y(k) = y(k-1) - 0.6 * y(k-1) * y(k-2) + 0.7 * u^3(k)。

图: 用于实验测试的非线性差分方程。

在该方程中,系统输出 \(y(k)\) 取决于两个过去的输出 \(y(k-1)\)、\(y(k-2)\),以及当前输入 \(u(k)\) 的立方。这个方程同时引入了记忆效应与非线性混合,使其成为 RMLP 理想的测试对象。

研究团队训练了一个包含两层隐藏层的网络 (分别有 10 个和 8 个神经元) ,并使用多种输入模式: 阶跃、反阶跃、斜坡和反斜坡。经过 1000 次训练循环后,网络成功收敛。

为测试其泛化能力,他们输入了一个网络从未见过的带噪声的阶跃信号。结果如下:

时间序列图比较真实系统 (实线) 与神经网络预测 (虚线) 对带噪声阶跃输入的响应。两条曲线随时间几乎完全重合。

图 2: 即使存在噪声,RMLP 的输出 (虚线) 仍与真实系统响应 (实线) 高度吻合。

在噪声条件下,RMLP 仍精准跟踪真实系统的动态。这说明网络并非仅仅记住了训练样本,而是学会了系统潜在的行为规律


结论: 为何它仍具重要意义

1991 年提出的循环多层感知机概念远超时代,其核心思想至今仍是现代循环架构设计与训练的基础。

关键要点:

  1. 混合架构: 结合前馈与循环连接,使网络既能逼近复杂函数,又能建模随时间演变的行为。
  2. 高效学习: 采用两次前向传播的动态算法,在不依赖传统反向传播的情况下实现时间学习。
  3. 强大性能: 在具有噪声输入的复杂非线性系统上,RMLP 展现出稳健的预测能力。

尽管研究人员指出,针对真实物理系统的实验仍在进行中,但他们的工作为当今先进的循环模型——从 LSTMGRU 到最新的基于 Transformer 的架构——奠定了基础。RMLP 是连接经典神经计算与动态记忆的早期桥梁,它让机器不仅能思考,还能记忆