Optimal Linear Estimation (OLE)


Optimal Linear Estimation

背景

最优线性估计算法是神经解码中一种比较常用的算法。在算法刚提出来的时候,其解码精度和解码速度都属于较高的水准,因此在脑机接口实验中应用广泛。随着神经网络的兴起以及传统机器学习算法的更新,BCI领域用来解码的算法也越来越多,例如KF,UKF,RNN,CNN等。OLE尽管计算精度不如目前的算法,但是计算量小,反馈迅速。因此目前在线的BCI实验OLE的应用仍然较多。

算法推导

OLE算法是PVA算法的改进,PVA算法在之前的Blog中有提到,是BCI中应用最早的算法。但是PVA有自己的缺陷,即很依赖数据的质量。这里的质量指的是用于解码的神经元集群的偏好方向分布。如果偏好方向的分布不均匀,朝某个方向的神经元占大多数,那么解码得到的方向就会偏向于这个方向,导致朝其他方向的运动很困难。为了解决这个问题,Chase等人提出了对于PVA算法的改进方法,即OLE算法[1]。
OLE算法的核心思想就是利用线性插值的方法,把神经元的偏好方向调整到尽量在各个方向都是均匀分布的。我们假设有2个神经元,偏好方向如图1中红色和蓝色的虚线所示。当朝各个方向运动时,神经元的发放率变化程度会不一样。当朝着神经元偏好方向运动时,神经元会更活跃,朝反方向运动时,会更加被抑制。但是当朝着垂直于偏好方向的方向运动时,神经元的发放率不会有明显变化,此时,解码误差会很大,或者说,很难解码到朝这个方向的运动。
为了便于理解这个问题,我们可以用一个更极端的假设,即所有神经元的偏好方向都朝向x轴正方向,那么此时对于y轴的运动,是无法通过神经元解码得到的。PVA的计算公式里,y轴运动的参数 b 1 b_1 b1是0。这里有一个需要理解的概念,即神经元集群的解码,不是取决于神经元的发放率,而是发放率的变化。朝哪个方向运动能有神经元有强烈的发放率变化,那么朝这个方向的运动解码就准确。
图1: 神经元偏好方向不均匀导致解码结果不准确
为了解决上述问题,Chase等人提出了OLE算法,具体的计算方法如下:
假设神经元的发放率为 r ( t ) r(t) r(t)。神经元的偏好方向矩阵为 B B B,当前的运动方向为 d ( t ) d(t) d(t)。那么有:
r ( t ) = B × d ( t ) + ϵ ( t ) r(t) = B \times d(t) + \epsilon(t) r(t)=B×d(t)+ϵ(t)
其中 ϵ ( t ) \epsilon(t) ϵ(t)表示 t t t时刻的噪声。假设神经元的个数为 N N N,那么 r ( t ) ∈ R N × 1 r(t) \in R^{N \times 1} r(t)RN×1。假设解码的维度为 d d d,那么 B ∈ R N × ( d + 1 ) B \in R^{N \times (d+1)} BRN×(d+1)。这里加1表示常数项。
那么,预测的运动方向为:
d p r e d ( t ) = ( B ′ B ) − 1 B ′ r ( t ) d_{pred}(t) = (B'B)^{-1}B'r(t) dpred(t)=(BB)1Br(t)
以上就是OLE算法的计算内容。和PVA算法比较,似乎没什么太大的差别。但是思想是不同的。
首先,PVA的计算,前提假设就包括了神经元的分布是均匀的。体现在这里,即 B ′ B = I B'B=I BB=I,其中 I I I表示单位矩阵。那么上述公式可以写为: d p r e d ( t ) = B ′ r ( t ) d_{pred}(t) = B'r(t) dpred(t)=Br(t)。即PVA的计算方法,单独计算每个神经元的发放率,然后计算在当前偏好方向的投影,然后求和之后得到预测的运动方向。
对于OLE的计算,更加像是先计算了神经元分布的均匀度。然后根据不同方向的运动权重重新分布当前的偏好方向。使得神经元分布更加均匀。即 B ′ B B'B BB这个矩阵的计算值,也就是运动维度的协方差。这里举个例子,假设所有神经元的偏好方向都是x轴正方向,那么 B ′ B = [ [ 1 , 1 ] , [ 0 , 0 ] ] B'B=[[1, 1], [0, 0]] BB=[[1,1],[0,0]]。 这个时候x轴和y轴的运动都会存在。即我们把神经元的偏好方向从x轴正方向旋转了45度。Chase的文章中的图可以很好的解释这个原理:
OLE插值计算后的结果

需要注意的是,在OLE中 B B B矩阵是通过最小二乘法计算得到,需要计算不同神经元发放直接的协方差。而在PVA中, B B B矩阵中的每一个神经元分量需要分别计算。
以上就是OLE算法的计算过程了,OLE的计算方法和PVA很像,但是解决了神经元分布不均匀的问题。这个问题在BCI中很常见,所以OLE相较于PVA,效果一般都是会更好的。还有一种改进版的OLE算法-‘full OLE’。之前介绍的这种是’minimal OLE’。 ‘full OLE’ 相较于’minimal OLE’的区别在于其假设了神经信号中存在了同源或相似的噪声。那么在计算过程中,这种噪声会体现在解码的结果上,导致运动方向产生误差。其改进方法也很简单,只是在预测公式中,加入了所有通道神经元的协方差矩阵,如下:
d p r e d ( t ) = ( B ′ Σ B ) − 1 B ′ r ( t ) d_{pred}(t) = (B'\Sigma B)^{-1}B'r(t) dpred(t)=(BΣB)1Br(t)
这里的 Σ \Sigma Σ就是协方差矩阵,如果神经信号之间没有相关性,即没有同源噪声的话, Σ = I \Sigma = I Σ=I。也就是’minial OLE’的计算方法了。

[1] S. M. Chase, A. B. Schwartz, and R. E. Kass, “Bias, optimal linear estimation, and the differences between open-loop simulation and closed-loop performance of spiking-based brain–computer interface algorithms,” Neural networks, vol. 22, no. 9, pp. 1203-1213, 2009.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值