维纳与卡尔曼滤波
维纳滤波(Wiener Filter) 和 卡尔曼滤波(Kalman Filter) 是线性解码器的两大主力。它们把群体向量从"瞬时估计"扩展到"时间序列估计",是 BrainGate 2004–2012 的核心算法,也是所有后续 BCI 动力学解码器的原点。
一、从瞬时到时间序列
PVA 每个时刻独立估计方向:
但运动是连续的——用历史信号能显著改善估计:
这就是维纳/卡尔曼的核心。
二、维纳滤波
数学形式
其中 \(\mathbf{f}_{t-\tau}\) 是 \(\tau\) 时刻前的神经活动向量,\(W_\tau\) 是对应滤波器权重,\(L\) 是历史窗口长度。
求解
在最小均方误差意义下,\(W = (F^T F)^{-1} F^T v\) —— 一个大的线性回归。
特点
- 非因果视角:本质是 FIR 滤波器
- 无状态:每个时刻独立估计,不维护"当前状态"
- 对噪声不鲁棒:直接吃原信号
BCI 应用
Carmena et al. 2003 PLOS Biology:猴子用维纳滤波闭环控制机械臂,是侵入式 BCI 早期里程碑。
三、卡尔曼滤波
状态空间模型
卡尔曼滤波假设一个状态空间模型:
其中: - \(\mathbf{x}_t\) = 运动状态(位置、速度) - \(\mathbf{y}_t\) = 神经发放率 - \(A\) = 状态转移矩阵(平滑假设:速度不会突变) - \(H\) = 每个神经元的调谐矩阵 - \(\mathbf{w}_t, \mathbf{v}_t\) = 高斯噪声
递推公式
预测:
更新:
\(K_t\) 称为 Kalman 增益——平衡预测和观测的权重。
直觉
- 如果观测噪声大:\(K_t\) 小,更依赖动力学预测
- 如果状态预测不准:\(K_t\) 大,更听观测
这是 BCI 解码器中第一个带"状态记忆"的模型——知道"用户意图不会瞬间跳变"。
四、卡尔曼在 BCI 中的优势
对比维纳:
| Wiener | Kalman | |
|---|---|---|
| 结构 | FIR 滤波器 | 状态空间模型 |
| 平滑先验 | 无 | 显式 |
| 在线更新 | 慢 | 递推(\(O(n^2)\)) |
| 可解释性 | 低 | 高(有真实状态) |
| 对噪声鲁棒性 | 低 | 高 |
Wu et al. 2006 Neural Computation 首次证明卡尔曼在 BCI 上优于维纳——从此成为 BrainGate 默认解码器。
五、ReFIT-Kalman
ReFIT(Gilja et al. 2012, Nature Neuroscience) 是卡尔曼的两阶段改进:
- 第一次训练:标准卡尔曼闭环运行
- 重校准:观察用户实际行为轨迹,重新估计 \(H\) 矩阵
- 假设修正:训练时假设用户意图直接指向目标(即便实际轨迹偏移)
这个"假设用户做对了"的重校准让性能显著提升——从 ~3 bps 到 >5 bps。详见 ReFIT与在线校准。
六、扩展卡尔曼与非线性
扩展卡尔曼滤波(EKF)
对非线性系统线性化:
在运动 BCI 中用途有限(线性调谐已足够好)。
无迹卡尔曼(UKF)
用 sigma points 近似非线性传播,Li et al. 2009 在 BCI 上测试,增益有限。
粒子滤波
对高度非线性 / 非高斯系统更强,但计算开销大——不适合实时 BCI。
七、卡尔曼的局限性
- 线性假设:神经调谐实际是高度非线性的
- 高斯噪声:spike 计数实际上是 Poisson
- 固定参数:不适应神经元响应的日内漂移
- 单时间步:不建模长期依赖
这些限制推动了后续 LFADS、RNN、NDT 的发展——深度学习解码器都是在卡尔曼基础上松弛这些假设。
八、点过程滤波
Point Process Filter(PPF) 用 Poisson 观测模型替代高斯:
Eden et al. 2004、Shanechi et al. 2012 在 BCI 上展示 PPF 相比卡尔曼的优势——特别是 spike 稀疏、bin 小时。
九、混合与神经-卡尔曼
现代 BCI 把卡尔曼结构 + 深度网络观测模型结合:
\(f_\theta, g_\phi\) 为神经网络。这给了"端到端学习 + 状态空间结构"的最佳平衡——LFADS 就是其中一支。
十、逻辑链
- 维纳滤波把 PVA 扩展到时间维,加入历史提升估计精度。
- 卡尔曼滤波加入状态空间结构,显式建模"意图平滑演化"。
- ReFIT-Kalman 重校准了观测矩阵,让线性解码器达到更高性能。
- 卡尔曼的线性/高斯假设是局限,推动深度学习解码器取代它。
- 现代 LFADS/NDT 保留卡尔曼的"潜状态演化"结构,替换为非线性网络——卡尔曼的精神延续至今。
参考文献
- Wu et al. (2006). Bayesian population decoding of motor cortical activity using a Kalman filter. Neural Computation. https://www.mitpressjournals.org/doi/10.1162/089976606774841585
- Carmena et al. (2003). Learning to control a brain-machine interface for reaching and grasping by primates. PLOS Biology.
- Gilja et al. (2012). A high-performance neural prosthesis enabled by control algorithm design. Nat Neurosci. — ReFIT
- Eden et al. (2004). Dynamic analysis of neural encoding by point process adaptive filtering. Neural Comp.
- Shanechi et al. (2012). Neural population partitioning and a concurrent brain-machine interface for sequential motor function. Nat Neurosci.