斯坦福教授骆利群:为何人脑比计算机慢1000万倍,却如此高效?
作者:骆利群 编译:王一丁、Shan Liu、小鱼 AI源于人类大脑的结构,并尝试达到与大脑相当的能力。那么二者的差异究竟在哪里?斯坦福大学神经生物学教授骆利群(Liqun Luo)认为,大脑性能高于AI是因为大脑可以大规模并行处理任务。 一起来看李飞飞教授推荐的这篇文章,深入了解大脑与计算机相似性和差异性。 人类大脑的构造十分复杂,它由大约1千亿个神经元组成,并由约100万亿个神经突触连接。人们经常将人脑与计算机——这一有超强计算能力的复杂系统相比较。 大脑和计算机都由大量的基本单元组成。神经元和晶体管,这些基本单元互相连接构成复杂的网络,处理由电信号传导的信息。宏观来看,大脑和计算机的体系结构非常类似,由输入、输出、中央处理和内存等独立的单元组成[1]。 大脑和计算机,哪一种系统解决问题的能力更强呢?鉴于过去几十年计算机技术的迅速发展,你可能会认为计算机更具优势。的确,在一些特定领域,通过编写程序可以使计算机在复杂的竞赛中击败人类大师,远至上世纪90年代国际象棋比赛,近及与AlphaGo的围棋对决,以及参加知识竞赛类电视节目(例如Jeopardy)。 然而,计算机在面对许多现实世界的任务时远不及人类——比如在拥挤的城市街道上识别自行车或特定行人,或伸手端起一杯茶并稳稳地送到嘴边,更不用说那些需要概念化和创造力的工作。 那么,为什么计算机擅长某些任务,而大脑在其他方面表现更优呢?对计算机和大脑进行比较,将为计算机工程师和神经科学家的工作提供指导意义。 在现代计算机时代的开端,一本短小而精深的著作《计算机与人脑》开展了这种比较。该书作者是著名的博学家冯·诺伊曼,他在20世纪40年代首次设计了计算机的体系结构,仍是现代大多数计算机的体系结构的基础[2]。让我们看看下图中的数字。 就基本操作的速度而言,计算机有巨大优势[3]。目前,个人计算机能以每秒100亿次操作的速度执行基本算术运算(如加法运算)。 大脑的速度可以通过神经元相互通信的过程来估算。 例如,神经元激发动作电位——在神经元细胞体附近释放脉冲电流,并沿着轴突传递,轴突连接着下游神经元。在上述过程中,信息按脉冲电流的频率和时间进行编码,且神经元放电的频率最高约为每秒1000次。 又如,神经元主要通过突触释放神经递质来将信息传递给其他神经元,接收到信息的神经元在突触传递的过程中将神经递质结合转换回电信号。最快的突触传递大约需要1毫秒。因此无论在脉冲电流还是突触传递方面,大脑每秒最多可执行大约1000次基本运算,比计算机慢1000万倍。 注:假设算术运算必须将输入转换为输出,所以大脑运算的速度受到神经元信息传递的基本操作的限制,如动作电位和突触传递。当然也有例外情况,例如,具有电突触的无动作电位神经元(神经元之间的连接不存在神经递质)原则上传输信息的时间要快于1毫秒;同一神经元的树突传递信息的速度也比较快。 计算机在基本操作的精确度方面有巨大优势。计算机可以根据位数(二进制数字,即0和1)来表示不同精确度的数字。例如,用32位二进制数表示数字精度可以达到1/(2^32)或1/42亿。实验表明,神经系统中的大部分数量(例如,神经元的发射频率,通常用于表示刺激的强度),由于生物噪声可能会上下浮动几个百分点,精度最高可以达到1/100,比计算机低几百万倍。 注:噪声反映了神经生物学的多个过程,例如神经递质释放具有概率性。例如,在重复试验中,相同的神经元可能会产生不相同的脉冲电流以响应相同的刺激。 专业的网球运动员可以计算出网球以160英里/小时飞行的轨迹大脑进行计算时,同时兼顾了速度和准确性。例如,当网球以每小时160英里的速度飞出后,职业网球运动员可以计算网球的运动轨迹,移动到球场上的最佳位置,将手臂放到适当的位置上,并在几百毫秒内挥动球拍,将球击回给对方。 此外,大脑在控制身体并完成击球动作的过程中,其能耗大约只有个人计算机的十分之一。大脑如何实现这一过程?计算机和大脑之间的一个重要区别在于两个系统内处理信息的方式。 计算机主要以串行步骤执行任务,工程师也是通过创建顺序指令流来进行计算机的程序设计。因为串行步骤中的产生的误差会累积和放大,所以对于这种串行操作的级联,对每个步骤的精度要求都特别高。 大脑也使用串行步骤进行信息处理,在将网球击回这一实例中,信息从眼睛流向大脑,然后流向脊髓,以控制腿部,躯干,手臂和手腕的肌肉收缩。 但同时,大脑也利用数量众多的神经元和神经元之间的突触连接来大规模并行处理任务。例如,视网膜中的感光细胞捕捉到移动的网球,并将光信号转换为电信号。这些信号被并行传递到视网膜中的许多不同类型的神经元。 当源自感光细胞的信号传递至视网膜中的2~3个突触连接时,并行神经元网络已经提取了网球的位置,方向和速度的信息,并将这些信息在同一时间传输至大脑。同样,运动皮层(大脑皮层中负责意志运动控制的部分)并行发送命令以控制腿部,躯干,手臂和手腕的肌肉收缩,从而使身体和手臂同时运动,准备好回击飞来的网球。 更多详细内容请戳: 大脑之所以可以执行大规模并行任务处理,是因为每个神经元都从许多神经元接收信息,并将信息发送到其他神经元。哺乳动物输入和输出神经元的平均数量级为1000(相比之下,每个晶体管全部的输入和输出仅靠三个引脚)。单个神经元的信息可以传递到许多平行的下游网络。 同时,处理相同信息的神经元可以将它们的输入信息整合到相同的下游神经元,这种整合特性对于提高信息处理的精度特别有用。例如,由单个神经元表示的信息可能含有噪声(比如说,精确度可以达到1/100),通过求取100个携带相同信息的神经元的输入信息的平均值,共同的下游神经元能以更高的精度提取信息(精度约为1/1000)。 注:假设每个输入的平均方差σ约等于噪声的方差σ(σ反映了分布的宽度,单位与平均值相同)。对于n个独立输入的平均值,平均期望方差为σ=σ/√•n。在本文示例中,σ=0.01,n=100,因此平均方差σ=0.001。 计算机和大脑的基本单元的信号模式既有相同点又有差异性。晶体管采用数字信号,它使用离散值(0和1)来表示信息。神经元轴突中的脉冲电流也是一种数字信号,因为任何时刻,神经元要么在释放脉冲电流,要么处于静默状态。当神经元释放脉冲电流时,其信号的大小和形状大致相同,这些属性有助于脉冲电流的远距离传播。 此外,神经元也释放模拟信号,即使用连续的值来表示信息。一些神经元(像视网膜中的多数神经元)并不释放脉冲电流,它们的输出信号通过分级电信号进行传递(与脉冲电流不同,它的大小可以不断变化),这种信号比脉冲电流能承载更多信息。神经元的接收端(信号通常由树突进行接收)也使用模拟信号来集成数以千计的输入,使树突能够执行复杂的计算。 注:例如,树突可以作为重合检测器对不同上游神经元的同步兴奋输入进行求和。树突也可以从兴奋输入中减去抑制输入。树突中电压门控性离子通道能够使其表现出“非线性”,例如将简单信号中的电信号进行放大。 你的大脑比计算机慢1000万倍大脑的另一个显著特点是神经元之间的连接强度可以根据活动和经验进行修改,这一点可以在回击网球的例子中得以体现,神经科学家普遍认为,这种特点也是学习和记忆的基础。重复训练使得神经元网络可以更好地执行任务,从而大大提高速度和精度。 在过去的几十年里,工程师们通过研究大脑获得的灵感来改进计算机的设计。并行处理策略和根据实际情况来修改连接强度,已经在现代计算机设计中得以体现。例如,增加并行性,在计算机中使用多核处理器,已经是现代计算机设计的趋势。又如,机器学习和人工智能领域的“深度学习”近年来取得了巨大的成功,并且促进了计算机和移动设备中的目标和语音识别方面的快速发展,这都得益于对哺乳动物视觉系统的研究[4]。 与哺乳动物视觉系统一样,深度学习采用多层结构来表示越来越抽象的特征(例如视觉对象或语音),并且通过机器学习来调整不同层之间的连接权重,不再依赖工程师的设计。这些最新进展已经扩展到了计算机执行任务的指令表中。当然,大脑依然比先进的计算机具有更高的灵活性,泛化和学习能力。 借助于计算机,神经科学家将逐步发掘大脑的工作机理,也有助于激发工程师们的灵感,进一步改善计算机的体系结构和性能。无论谁在特定任务中胜出,跨学科的相互影响将推动神经科学和计算机工程的发展。 本文发表于《智库:四十位科学家探索人类经验的生物根源》(Think Tank: Forty Scientists Explore the Biological Roots of Human Experience),耶鲁大学出版社出版。 References [1]Luo, L. Principles of Neurobiology (Garland Science, New York, NY, 2015) [2]von Neumann, J. The Computer and the Brain (Yale University Press, New Haven, CT, 2012), 3rd ed [3]Patterson, D.A. & Hennessy, J.L. Computer Organization and Design (Elsevier, Amsterdam, 2012), 4th ed. [4]LeCun, Y. Bengio, Y., & Hinton, G. Deep learning. Nature 521, 436–444 (2015)
|