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。这里有一个需要理解的概念,即神经元集群的解码,不是取决于神经元的发放率,而是发放率的变化。朝哪个方向运动能有神经元有强烈的发放率变化,那么朝这个方向的运动解码就准确。
为了解决上述问题,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)}
B∈RN×(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)=(B′B)−1B′r(t)
以上就是OLE算法的计算内容。和PVA算法比较,似乎没什么太大的差别。但是思想是不同的。
首先,PVA的计算,前提假设就包括了神经元的分布是均匀的。体现在这里,即
B
′
B
=
I
B'B=I
B′B=I,其中
I
I
I表示单位矩阵。那么上述公式可以写为:
d
p
r
e
d
(
t
)
=
B
′
r
(
t
)
d_{pred}(t) = B'r(t)
dpred(t)=B′r(t)。即PVA的计算方法,单独计算每个神经元的发放率,然后计算在当前偏好方向的投影,然后求和之后得到预测的运动方向。
对于OLE的计算,更加像是先计算了神经元分布的均匀度。然后根据不同方向的运动权重重新分布当前的偏好方向。使得神经元分布更加均匀。即
B
′
B
B'B
B′B这个矩阵的计算值,也就是运动维度的协方差。这里举个例子,假设所有神经元的偏好方向都是x轴正方向,那么
B
′
B
=
[
[
1
,
1
]
,
[
0
,
0
]
]
B'B=[[1, 1], [0, 0]]
B′B=[[1,1],[0,0]]。 这个时候x轴和y轴的运动都会存在。即我们把神经元的偏好方向从x轴正方向旋转了45度。Chase的文章中的图可以很好的解释这个原理:
需要注意的是,在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)−1B′r(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.