类脑计算背后的计算神经科学框架

类脑计算, 是一个新兴的名词, 其实换一个名字, 就是我之前研究的计算神经科学。

大家了解人工智能, 而不了解计算神经科学, 事实上两者的关系就是一颗硬币的两面。

这枚硬币就是智能算法本身。宇宙中产生智能的过程, 孕育了生物智能, 我们取其道行之, 得到人工智能。而从生物的神经系统取出这个算法的过程, 就是计算神经科学。

计算神经科学有两个使命,一个是直接解决生命智能有关的问题, 如困扰我们的心理疾病, 器质性的神经退行性疾病如老年痴呆。因为你只有懂得了算法出现问题的原因, 才能去修正它。

另一方面,计算神经科学得到的启发可以直接用于人工智能, 好比一个蓄水池, 它的水位足够高, 就可以流出一部分做人工智能算法的应用。当下的AI的核心重磅RNN和CNN,都和8,90年代这个算法的积累有关。

计算神经科学的算法和人工智能算法的本质不同在于计算神经科学考虑生物细节的影响,试图解释生物现象, 而人工智能把这条缰绳脱去了。而这条缰绳是否有意义也是计算神经科学的热点问题。

研究计算神经科学的方法我们可以总结一种层级型的思维方法。因为计算神经科学本质是一个桥梁学科。它连接了从最基本的生物物理层级, 到神经回路(网络), 然后大尺度神经回路基础上涌现的动力系统,以及动力系统所carry的信息流, 而在信息尺度之上, 我们得到计算,或者算法本身, 在此基础上得到功能, 得到多种多样的心智现象, 这也就是最高层级。

一 生物物理层次

最低层级的现象往往可以由生化实验所测量, 最高层级就是心理学或认知科学, 可以由心理实验测量。中间的那些层次生物神经科学家通过各种各种的成像记录间接获得。而这些层次间的联系就是计算神经科学。

计算神经科学与人工智能的载体均是神经网络, 但是两者既有联系又有区别。这种区别主要体现在计算神经科学的神经网络试图用最简单的模型获取最多的生物真实性, 而AI的神经网络试图这种简化模型进一步工程化标准化最大化其功能。具体的区分度, 又在于神经元的细节, 连接懂得细节, 以及学习本身。

生物神经细胞本身其实极为复杂, 一个细胞甚至堪比一个神经网络。树突收集信息, 胞体做出决策, 传递到轴突。

Spike,神经元尖峰放电是生物神经网络的信息货币(bit),放电是一个典型的物理化学过程, 当输入超过某个阈值,细胞膜内外的钠离子和钾离子相继发放,引起一个由正反馈到负反馈主宰的过程, 由Hodykin Huxley 方程描述。

Häusser, Michael. “The Hodgkin-Huxley theory of the action potential.” nature neuroscience 3.11 (2000): 1165.

连续的尖峰放电把一个直流输入转化成脉冲输出 , 这个脉冲频率由直流输入大小决定, 对外表现为脑电波。如我们数值的alpha或gamma波。

把脉冲神经元放在一起组成脉冲神经网络。

这个步骤如何做一个大阔斧的简化呢? 我们把单位时间窗口的输出spike个数简化为发放率, 刚刚说脉冲神经元的输入和输出是简单线性的, 那么这个线性关系被以上方程概括。 w描述每个神经树突对信息的敏感性。

而神经脉冲那种输入超过阈值则引起正反馈的性质被一个非线性的门函数概括, 它可以是我们们熟悉的relu,sigmoid。

生物脉冲神经元和这种经过简化的实数神经元到底有何不同?同样是前馈网络,脉冲神经元构成的网络,由于尖峰脉冲的时间结构, 它的发放可以携带和时间有关的信息,是当下的深度学习所使用的rate神经元不具备的。同时,不同尖峰脉冲神经元发放间的correlation 被认为可以编码信息。而脉冲神经元和rate数值神经元到底有无本质区别, 也成为各种学派的争论焦点。

二 学习和网络架构层次

1, 生物学习vs机器学习

生物学习和机器学习的比较:同为学习, 生物学习和机器学习的本质相同而形式迥异。所谓本质相同, 它们都是输出导致的对自身的反馈, 且这种反馈的方向使得总体的信息增加而熵减少。

这就决定了,学习的过程需要的是输出的结果,被一个函数衡量, 作用到信息流动的载体,神经网络里, 使得新的输出向着某个确定方向变化 。

如果从一个较大的尺度看生物学习, 那么大部分的学习实质上是“进化” 。因为我们先天的已经具备大量的学习能力, 比如先验的语言能力(乔姆斯基)。而真正通过生物后天学习可以得到的, 反而是一小部分内容。

如果但看学习, 生物学习的关键词是Hebian学习, 神经可塑性和强化学习, 而机器学习是监督学习, 非监督学习和强化学习。

机器学习的基础是监督学习。这个对输出的度量由一个绝对真理的代表-导师提供,与它不匹配的时候, 一个错误信号向整个网络传递, 而最终网络结构向着减少这个错误的方向改变。

而生物学习的基础是无监督学习。它本质所的工作是相似度匹配。

这种学习的基础正是著名的赫布法则, 它说的是当一个上游神经元可以引发下游神经元的放电, 它们的加强就会增强。

“Hebb suggested that such synaptic modification could produce neuronal

assemblies that reflect the relationships experienced during training.

For example, consider applying this rule to neurons that fire together during training

due to an association between a stimulus and a response. These neurons

would develop strong interconnections, and subsequent activation

of some of them by the stimulus could produce the synaptic drive needed

to activate the remaining neurons and generate the associated response.

赫布法则导致的一个直接结果是神经元集团的生成,对应一个经常一起发生的事件序列进行反应。这其实就是在挖掘事件间的相关性。把这种相关性学习直接写成数学公式, 我们会发现这种学习的效果类似PCA主成分分析,也就是通过学习神经元集团掌握了数据样例间的共同特征(oja’s law),而不同的“相关特征组”就可能是概念形成的基础 。

把上面的想法变成一个非常典型的例子, 通过无监督学习, 神经网络可以特征的共同出现(假设我们具有一组分别感受颜色和形状的细胞, 那么红色和圆形, 或者黄色和长形对应苹果和香蕉两个共同概念)来学习苹果和香蕉的概念。

那么通过这样的学习能否得到丰富复杂的生物大脑模型呢?答案是否定的, 因为生物的多样性建立在复杂的进化历程基础上, 这种长期与环境交互的“学习”被写在基因里 。这种进化的复杂性表现在神经元的种类, 网络的拓扑结构, 全脑连接等等因素上, 即使如此,我们可以发现不同神经网络的共性, 比如多层级结构(hierarchy structure), 小世界网络(small world networks), 兴奋抑制平衡(Dale Principle balanced network)等, 它们可能反应了神经网络的共同原则。同时我们可以通过这些原则给AI设计人工神经网络。

目前我们对这些共同原则知之甚少, 比较程序的框架有efficient coding, sparse coding 或者 predictive coding。它们都处在我们下面要讲的编码层次。

三 大脑信息编码层次

有了学习和通过进化与学习得到的结构,下一个level就是编码, 编码又分为大脑神经网络的编码和解码。这个层次的本质是信息的流动, 外界刺激需要通过编码被内在神经活动加载, 而后面内在神经活动需要通过解码等转化为肌肉的运动和语言等。

让我们来具体看几个生物计算系统的案例;

1,视网膜,一个人们研究极为透彻的系统。

视网膜看似如同照相机的ccd,事实上确是一个非常核心的计算单元。视网膜其实是一个类似CNN的典型多层神经网络。从最底层的感受色彩的像素,然后对物体的边缘进行对比度分析提出边缘,最终还可以对运动方向等一些信号进行处理(ganglia cells)。视网膜是视觉神经编码的开始, 关于视网膜计算的根本编码原理被称为 efficient coding 框架。这个框架说神经编码的根本在于maximize mutual information with input(增大神经活动与外部信号的互信息), 的方向尽可能减少冗余的发放达到节能的目的。根据这个原则,我们可以理解视网膜编码对某些色彩或运动方向(如水平, 竖直方向)的编码精确度高于其它色彩或方向。

Barlow, Horace B. “Possible principles underlying the transformation of sensory messages.” Sensory communication 1 (1961): 217-234.

2,视觉皮层回路

视网膜之后, 主要的视觉运算在视皮层内进行, 与视网膜不同的是, 视皮层的运算需要涉及到视觉概念的处理。

不用多说, 视觉皮层回路的研究来是计算神经科学和人工智能的交叉点, 早期对视觉皮层的研究工作启发了CNN的工作(Witz), 而当下的CNN则已经是计算神经科学经常用的工具。

CNN用到的大脑视觉编码处理原理称为层级编码, 用这个方法我们把可以把信息表征成从低级到高级的组合形式, 从而高效的表达概念, 如下图的桌子和祖母细胞的例子。

视觉问题是激发表征学习进步的核心。关于视觉表征一个非常基本的原理称为 sparse coding , sparse coding的基本假设是视觉信息的编码虽然看似高维繁复, 但是实质上常见的物体就那么多, 因此从有效的角度, 视觉回路完全由更智慧的方法用最小的神经元来编码它们。具体怎么做?你可以做一个字典, 这个字典里包含我们万千日常可见事物, 这些事物被称作引发神经元发放的隐变量, 事实上视皮层的神经元很大部分就是参与这些隐变量的表征。但是我用一个先验prior给不同的事物进行概率编码, 这样一些常见的事物如天空, 草地, 动物等就会占有那些最高频的词汇表, 而有更高的几率发放。由此导致的结果是视觉皮层的发放看起来非常稀疏(因为世界本来是低维的, 那些引发发放的常见事物就那么多, 所谓太阳之下并无新事)。这个原理和刚刚讲的efficient coding既相关又略有区别。

除了sparse coding, 视觉表征的另一个问题是如何表达视觉概念所包含的各种连续变化。比如一个人的头像, 你去对他进行各种旋转,表情的变化它还是那个人。事实上我们可以把它假定为一个空间的变换, 而概念相对这种变换是不变的。一个叫做DIsentangled representation的框架能够非常好的解释这种空间的实现。这个框架巧妙的利用空间的正交性, 把那些不影响概念的变化放到概念的正交空间里。

Chalk, Matthew, Olivier Marre, and Gašper Tkačik. “Toward a unified theory of efficient, predictive, and sparse coding.” Proceedings of the National Academy of Sciences 115.1 (2018): 186-191.

Higgins, Irina, et al. “Towards a definition of disentangled representations.” arXiv preprint arXiv:1812.02230 (2018).

Barello, Gabriel, Adam Charles, and Jonathan Pillow. “Sparse-Coding Variational Auto-Encoders.” bioRxiv (2018): 399246.

然而被动的表征不是视觉理解的全部, 因为人从来不是在机械的表征客观的世界, 而是不停的加入自己的主观修饰, 俗称脑补。比如你看到的底下的两个图篇都是非常有争议的错觉图, 舞女是左到右旋转还是从右向左旋转, 从来没有一个一致的答案。

那么这些“脑补”的意义是什么?一个基本的理论框架下我们的大脑在进行预测性编码,也就是其实感知关心的并非当下, 而是未来,用信息学的语言说, 就是我们最大化的那个互信息, 是当下神经编码与未来的外界信号变化的互信息。

这里不能不提的就是Karl Friston大神的一系列关于自由能和预测编码的作品,通过贝叶斯的概率预测来建立整套大脑运作的框架。

Friston, Karl, and Stefan Kiebel. “Predictive coding under the free-energy principle.” Philosophical Transactions of the Royal Society B: Biological Sciences 364.1521 (2009): 1211-1221.

预测未来, 就离不开记忆。人脑认知的任何环节离不开记忆,来自我们记忆的信息时刻不停的塑造从感知,到认知,到决策的过程。

那么记忆是怎么实现的。计算神经科学对记忆的原理有着比当下深度学习深刻的多的理解。记忆分很多种, 从最短时间的工作记忆,到中间时间尺度的情景记忆, 到长时间尺度的记忆。首先,要搞定这些记忆的物理实现, 从刚刚讲的神经元层次解释清楚这些事情是如何构成的。最经典的莫过于hopefield吸引子网络对关联记忆的解释。这里说的是具备大量对称连接的循环神经网络, 可以把输入信息锁定在网络的固定内在状态里, 这些状态对应大量神经元体系的势能最低点(类似物理的spin glass model),活动动力系统的定点, 被称为吸引子。记忆的存储对应某种信息的吸引子的形成, 而记忆的提取类似于通过某些关联信息进入到这些吸引子里(如吃到某个儿时的食物联想到孩童时代)。

Hopfield, John J. “Neural networks and physical systems with emergent collective computational abilities.” Proceedings of the national academy of sciences 79.8 (1982): 2554-2558.

Amit, Daniel J., and Daniel J. Amit. Modeling brain function: The world of attractor neural networks . Cambridge university press, 1992.

当然这个记忆解释了一些比较长期的记忆, 对于短期的记忆描述不佳。同样的循环神经网络, 也可以描述短期记忆。混沌边缘的蓄水池网络, 可以有效的通过网络内的“回声”保存这种过去的信息(暂留记忆),可以作为工作记忆的一种解释。

四 高级功能层次, 决策,推理,情感….

有了感知和记忆, 另一个大脑计算的焦点就是如何决策。而决策问题的本质是如何通过奖励和惩罚调整行为, 这里一定包含的是行为, 环境受到行为的影响,

对于这些高层级的问题, 心理学是最早给出相关的线索, 比如强化学习。强化学习的基本框架如下图。

强化学习的最重要的反馈信号是多巴胺, 多巴胺奖励的调节回路如下图所示:

关于各种神经活动的高级模型如推理,我们所知道的不多 。而当下一个已经取得一定进展的方向, 是和导航相关的空间推理与表征,以及它们的载体place cells, grid cells。

空间导航某种角度可以看作实现推理的第一步, 因为它把不同来源的感知信息(如视觉, 触碰, 肌肉动作)合成在一起, 对引发这些感知的共同外部信息, 如位置,空间进行推测。我们从某个地标开始, 向东500米, 向南500米, 与向南500米, 向东500米, 其实达到的目的是一致的, 通过视觉等信号大量观测到的这种不同路径组合但是目标的一致性,其实背后的概念正是位置引起的。能够通过整合感知信息对位置这正背后更本质的抽象事物进行推断, 某种程度与我们更广义的推理能力是相通的。

Using Grid Cells for Navigation Daniel Bush,1,2,5,∗Caswell Barry,3,5Daniel Manson,3,4andNeil Burgess1,2,∗∗

Generalisation of structural knowledge in the hippocampal-entorhinal system James C. R. Whittington,Timothy H. Muller,Shirley Mark,Caswell Barry,Timothy E. J. Behrens

Accurate Path Integration in Continuous Attractor Network Models of Grid Cells Yoram Burak , Ila R. Fiete

Generalisation of structural knowledge in the hippocampal-entorhinal system

真正了解高层级的认知功能, 离不开理解多脑区的配合模式。这方面已有大量脑科学研究表明大脑在工作状态存在一个多脑区互相配合的default network。

一些多脑区模拟的先驱工作正在逐步帮我们揭开这个奥秘, 如下图的spaun。

在高级认知功能这块, 当下的一个趋势是,将深度学习和计算神经科学结合起来。而这种结合如果要进行的更有效, 首先要把硬件计算的效率提升上来,正如同过去的GPU计算引爆深度学习革命。而深度学习和计算神经科学的基本组成单元就有不同, 为了让它们在硬件尺度就可以统一,清华大学开发的具有异步融合功能的天机芯片算是开拓先河。

更多阅读
2019计算与系统神经科学大会Cosyne 前沿研究汇总
为什么你需要计算神经科学(上)
为什么你需要计算神经科学(下)