计算神经学笔记-population coding and bayesian estimation

来源:互联网 发布:淘宝店铺号怎么选靓号 编辑:程序博客网 时间:2024/05/16 11:20

在我们的身体里,通常是有很多神经元参与决策的。那么这么多的神经元的输出信息如何给他们解码呢?首先,介绍一下蟋蟀(cricket)的cercal cell。

cricket对于空气的流动非常敏感。这些信息能够帮助他们躲避移动的捕食者(predator)或者飞行的苍蝇拍(swatter)。 他们可以依靠一个像天线一样的结构看到这些移动的东西,英文叫cerci,这个东西长在在腹部的背后。 这个结构将风的速度转换为电信号,协助蟋蟀来完成躲避的动作。


上图表示了不同的神经元所出现的不同的firing rate。有意思的事情是,在这些众多的神经元中,只有这四种曲线。神经元只在四哥个角度达到最大值,而这四个角度恰好是45度,135度,225度和315度。将这四个方向作为坐标系,如下图所示:


c1表示的是45度,以此类推。上边的曲线可以近似的用cos函数来表示,那么,对于不同类型的神经元来说,就相当于将cos函数做平移然后只取他正的部分啦。比如对于45度的这个曲线,我们可以用这个方程来表达:


其中Sa表示的是45,方程左边是对于firing rate做了归一化的处理。从几何上来解释,归一化的firing rate实际上是对风的速度在制定的坐标轴上做投影。如果将v的模值设为1的话,对45度这个坐标轴(也就是c1)的投影就为r1*cos45。因此,上边的方程也就能写成下边的形式:


a=1,2,3,4

有了这个式子做基础,我们就可以计算所有的神经元的响应,也叫population vector。


上边的式子的意思是说将每一个神经元的贡献乘上对应的方向基底加起来,就得到了风的方向。我认为前边乘的系数实际上就是投影到坐标系的坐标,当然坐标非负。下图展示了这种方法得到的风得方向与真实的风得方向的误差,大概差了5-6度:


注意到,在真实的生物中使用了冗余的基底,本来我们表示一个二维向量用两个坐标轴就可以了,但是在蟋蟀的生物体内用了四个坐标轴。这是因为:

1.生物的神经元无法表示负的firing rate;

2.一个神经元传感器只能表示一个正方向,他无法表示负方向。这根我们的现实世界相符。

类似的机制我们也可以用在motor system中。 不同之处在于,motor system里有8个基底。依然假设我们的手臂有一个运动方向v,这个v是一个单位化后的向量,那么,类似的就有下图的样子与式子:


对应的population vector就如上图所示。

那么,对于那些不是cos形式的tuning curve来说,似乎我们无法写成这种简洁的投影形式了。那么怎么办呢?一种方法就是贝叶斯推断。

 

上图复习了一下贝叶斯公式,在这里我们主要关注的是likelihood function和posteriori distribution。通过这两种函数,我们引入两种方法:1.maximum likelihood;2.maximum a posteriori。如果是maximum a posteriori,我们就假设我们已经知道了stimulus和events。

0 0
原创粉丝点击