大脑的本质就是一个 CPU 吗？
之所以会有“大脑的本质是一个 CPU ”的想法，大概在于我们对大脑了解太少了，我们甚至不能量化我们所了解的部分所占的比例是多少，一些业内研究者甚至暗示“脑科学是22世纪的前沿学科”[1]. 如果大脑真的像CPU这样简单或者类似的结构复杂度，那么它何以能思考自身，并认识现实世界呢——至少现有的CPU结构再复杂百倍、构成集群都做不到[2]. 在计算机科学发展的过程中，我们有很多次这样类似的过于乐观的论断，比如在刚做了一点状态机理论和实践之后，很快就有人绘制了计算智能发展的路线图，并预言计算智能的爆发以至于迅速出现替代人类智能的“第五代计算机”[3][4]，这种思潮推进了上世纪80-90年代的机器人取代人类的科幻热。显然地，“第五代计算机”除了让美国人紧张一番，给当时本已紧张的美-日关系火上浇油，并没有产生更大的现实影响力[5]. 几年前出现的“深度学习”又让这种思潮涌起了一番[6]，但这次的潮起潮落来的更快一些。 说到底，“大脑的本质是一个 CPU”是一个典型的'Not Even Wrong'的论断[7]，它无法被否定，在现有的信息和科学框架下，也无法被证实，甚至于，在原教旨主义(Fundamentalism)框架下，永远不能被证实。讨论这个论断本身，我们不如讨论这个论断的两个外延：大脑与CPU的相似性和差异性。当然，即便是这两个外延，也是在不断的发展过程中的，其范畴在不断的扩展。需要注意的是，最初设计CPU时，并没有考虑让它尽可能地类似于人脑的运作机制[8][9]. 以当时对人脑的了解水平，即便想要这么设计，恐怕也做不到。在CPU发展到一定水平，并且人脑研究在过去几十年迅速发展之后，我们才越来越多的观察到这两者之间相似的地方。 CPU的基本计算单元是逻辑们，包括与门、非门、与或门等，一般时钟前进一次各门进行一次运算。门电路的输入以电平表示为0或1。这是纯数字的，并且计算只对当前时间的输入进行计算，也就是说计算只发生在空间范畴。对应地，如果把神经元作为一个基本的计算单元的话，其特性更像是一系列门的组合，并且每个神经元都有一个微分计算单元(参见 神经自适应性)[10]和一系列非线性计算单元，这使得神经元的计算同时发生在时间和空间范畴，其输出不仅与当前时间的输入状态有关，还与之前一段时间的输入有关。 严格来说，眼底的视网膜也属于大脑。从视网膜、视神经、视交叉到初级视觉皮层以及更高级的视觉皮层，视觉信号经由一系列的处理（参见 视觉信号编码与处理过程）. 这些处理结构和功能有些像ASIC（专用电路，包括CPLD和FPGA等），其输入信号格式是固定的，对应的结构的功能也是固定的。另外一些则像是更为复杂的通用计算单元，其计算结构和资源可以为其他的计算/思维所服用，剩下一些结构则介于这两者之间。小脑不属于严格意义上的“大脑”，虽然在大众眼中是属于的。从结构上来看，小脑是由一系列基础结构单元通过重复的累加组成的（参见 小脑结构和功能），如果说大脑皮层负责通用思维与计算的话，小脑则负责运动、平衡等方面的对时间响应要求高的快速计算[11]。小脑与大脑皮层的功能对应关系 相当于GPU之于CPU. 当然，这种类比是简单化的。被广泛忽视的自主神经系统，负责身体的器官和组织的功能，包括呼吸、心跳、新陈代谢、内分泌等[12]，它处理的信息并不直接进入我们的意识领域，不参与大脑的通用计算/思维。对于CPU来说并不存在这样类似的结构或功能。 当代CPU一般设计有多个核心，这是物理上的计算资源。但是在实际计算中由于资源不是时刻占用的，一个核心可以虚拟成支持两个线程。也就是说计算资源是有限的，同时支持的线程数是有限的。对于大脑的“通用计算”来说，其计算资源就更为有限了，只有被注意力锚定的那个“线程”有资格占据大脑的通用计算资源[13]，其他思维线程只能等待，有些甚至在等待的过程中被杀死了（被忘记了）(参见 大脑注意力与通用计算). 所以我们在忙碌时很容易忘记做或思考一些事情。 在计算机系统中，CPU的高速缓存(Cache)用于存储常用资源，从而减少CPU访问内存所需的时间。在大脑皮层中，也有广泛存在的“高速缓存”结构，用于存储我们的工作记忆(working memory)[14][15]. 当然，与CPU不同的是，大脑的工作记忆存储结构也参与到其他多种任务中，而CPU的高速缓存只能作为缓存使用。因为对大脑来说，记忆存储本质上只是神经元之间突触结构的连接、强化以及协同，而大脑中的这种结构是高度活跃可变的（参见 大脑记忆的结构本质）。对CPU来说，结构一旦确定(被制造出来)，功能也就确定了。大脑微观结构的灵活性使得其结构的多任务性远超人类设计的CPU. 并且，微观结构的灵活性也构成了大脑可塑性的基础，使得大脑结构在局部损坏之后可以迅速由健康结构进行功能替代。由于老化、代谢等因素，即便是健康人，其大脑内部的结构损坏也在时刻发生，但我们并不总是受这类损伤的影响。 除了认知/计算之外，大脑还能调控自身的免疫过程[16]. 对代谢废物进行清理，同时也对很少被使用到的记忆等功能结构进行资源释放[17]。大脑的计算资源是按照认知任务进行即时分配和构建的，具有自主组织能力。在认知任务完成后，计算资源也被迅速释放，进行结构重构[18]。这对CPU来说都是不可能的，更不必说，大脑的认知任务可以使用自然语言进行“编程”，而对当代计算智能来说，“自然语言”是一个老大难问题(参见 自然语言理解难在哪儿？)。 我们目前对大脑的了解还处在“捡芝麻”式的积累性研究阶段。对于这个学科，还远远谈不上研究系统的构建。对大脑无知的方面，恐怕是不可估量的多。更重要的是，以上的复杂性、灵活性、智能性、高效性、多任务性、容错性、接口友好性等 是在极为有限的功耗设计下实现的。将大脑和CPU比，恐怕是“夏虫不可语冰”。