神经编码
引入
我们可以简单的用encoding—decoding理论描述大脑的神经元活动:
- encoding:一个刺激如何引起神经环路一系列的响应?显然易见,这是关于"how"也就是建立机械模型的问题。
- decoding:通过神经环路的一系列响应我们该如何辨别不同的刺激?换句话说,我们怎么通过计算重构大脑的信息处理过程?比如说一个用来驱动机械臂的神经假肢,其工作将是读取一些神经数据的测量并激活手臂以朝着那个人的预期方向移动。
因此我们的目标可以分为构建探究机制的encoding模型,以及实际应用的decoding模型这两种。
因为神经系统是嘈杂的或可能包含很多无用的信息,我们认为所建立的模型在本质上是概率性。即在给定刺激产生响应是具有一定概率的。
简单模型的构建
在这一节中我们将会构建一个由特定神经元产生的单个spike的响应模型,即一个encoding模型。考虑到在引入中所提到的条件概率P,我们作一下变换:
我们将考虑在特定时间t,刺激s下观察到的单个spike的概率r(t)。
简单线性关系
我们可以想到刺激与响应之间最简单的关系就是线性关系,即通过乘上一个系数
ϕ
\phi
ϕ实现大小的缩放,或者时间的延迟。
时域滤波器
但是一般来说,我们期望响应r(t)不仅仅取决于过去特定时间段t内的刺激s(t),而是取决于近期输入的总和。换句话说,我们希望此刻的响应不仅与上一时刻的刺激有关,而是与过去所有时刻输入的信号都有关。
为了达到上文提到的"全局"的概念,我们引入"卷积"这一经典的信号处理方法。
- 对卷积这个名词的理解:所谓两个函数的卷积,本质上就是先将一个函数翻转,然后进行滑动叠加。
- 在连续情况下,叠加指的是对两个函数的乘积求积分,在离散情况下就是加权求和,为简单起见就统一称为叠加。
由于神经信号的spike为离散数据,所以在这里我们基于一个线性滤波器
f
f
f对s(t)进行加权求和:
running average
如果神经元的响应r与时间步长n上输入刺激s的均值成比例的话,我们建立的模型就要基于一个有n个时步的时间窗。
我们会在n个时步中取每个s的值 并用n分之一做为权重进行加权,由此我们可以得到长度为n的时间窗内的平均值。
leaky average
如果r依赖于s对于时间的平均值 但是其记忆会随着时间消退;即时间t附近的时间点会有更大的权重,此时我们建立的就是一个呈指数递减,且存在leaky-integrator的模型。
有关leaky average的模型在之前的博文有多提及:
The Leaky Integrate-and-Fire (LIF) Neuron Mode-LIF神经元模型
空间滤波器
我们之前所提到的时域滤波定义都是随着时间推移的输入刺激,那么如果此时我们的输入刺激是随着空间进行推移:例如视网膜上的感受野响应总是集中在特定区域。而此时我们就需要基于空间的滤波器。
我们先假设一个视觉场景,里面有视网膜感受野的空间中心(x,y),我们取在二维空间内的模式光作为刺激,并用神经元感受野 f f f 对它的每个点进行加权求和,但这只是以x和y为中心的s,我们还需要改变位置(x’,y’),再用 f f f加权求和。
与时域滤波器相同,我们希望响应r与每一个位置的s都有关。
上图可以看出,通过建立空间滤波,我们将中间周围型感受野很好的表示了出来。
空间时域滤波器
就视觉信号处理而言,感觉神经元的响应既依赖于时间又依赖于光刺激在视网膜上的空间分布(感受野),这就表明我们需要的滤波器
f
f
f是一个空间时域滤波器:
线性滤波器不足与改进
不足:
- r(t)不能是负值,因为r(t)为一个条件概率
- 可能出现随输入增加而无限制增加这样不符合生物学的情况
改进:
- 我们可以在滤波之后添加一种应用于滤波刺激的非线性函数。它的作用是s与
f
f
f加权求和(卷积)的滤波刺激较小或负时 我将调用这个g使r(t)趋近于0;当它非常大的时候,r(t)会饱和到某个固定值
欢迎大家关注公众号奇趣多多一起交流!