
几十年来,计算一直是冯·诺依曼架构的同义词,这是一种顺序处理的范式,尽管功能强大,但与大脑自身的计算策略有着根本的不同。随着对复杂智能系统需求的增长,这种传统方法的能源和效率限制日益明显。这激发了对一种新型计算的探索——一种直接从大脑的大规模并行、事件驱动和极其高效的结构中汲取灵感的计算。数字神经拟态计算代表了实现这一目标的务实而强大的途径,旨在将神经计算的精髓捕捉到可扩展的硅片中。
本文探讨了该领域的核心挑战:如何使用现代电子学的离散数字世界,忠实而高效地模拟大脑的模拟、连续时间动力学。文章规划了一条从基础理论到实际应用的路线,全面概述了这项革命性技术。在“原理与机制”部分,我们将解构数字神经拟态系统的构建模块,探索神经元如何进行数学建模并在硬件中实现,它们如何通过脉冲进行通信,以及它们如何应对热力学的物理定律。随后,“应用与跨学科联系”部分将揭示这些受大脑启发的芯片的用途,它们如何被编程以学习和适应,以及它们如何与机器学习和计算机工程等不同领域建立强大的联系。首先,我们必须从根本上转变对计算是什么的看法。
为了真正领会神经拟态计算这场革命,我们必须首先改变对计算本身的思考方式。半个多世纪以来,数字世界一直跟随着一个无情时钟的节拍前进。在基于冯·诺依曼架构的传统计算机中,中央处理器从独立的存储器中获取指令和数据,并以离散、同步的步骤执行它们。这是一个极其强大且成功的范式,但它不是大脑的计算方式。大脑没有时钟。它不会以如此鲜明的方式将存储和处理分开。它在一个完全不同的维度上进行计算:时间。
想象一个神经元不是一个逻辑门,而是一个微小的、会漏水的水桶。雨滴——即传入的信号——落入桶中。当水位上升时,一个缓慢的泄漏会不断地排掉一些水。如果雨下得足够快,水位最终会达到桶边。当它达到时,桶会瞬间倾倒,将自己完全清空,并发出一个响亮的“叮”声!这个“叮”声就是一个脉冲,然后整个过程重新开始。
这个简单的类比抓住了神经拟态计算中最基本模型的精髓:泄漏整合发放(Leaky Integrate-and-Fire, LIF)神经元。水位是神经元的膜电位,。桶本身是一个电容器,电容为 ,用于存储电荷。泄漏是一个电阻器,电导为 ,允许电荷消散。传入的“雨滴”是突触电流,。美丽的基尔霍夫电流定律精确地告诉我们电压随时间如何变化:
这里, 是在没有输入时电压会稳定下来的静息电位。这个方程描述了一个动力学系统。神经元的状态,,在物理时间中连续演化,由输入电流的流动驱动。没有全局时钟强制它更新。计算发生在神经元整合其输入时,其电压随之平滑地上升和下降。
当 达到一个阈值 时,神奇的事情就发生了。在那一精确时刻,神经元发放一个脉冲——一个时间中的事件——并且其电压被重置。信息不是编码在一个持续一个时钟周期的二进制 1 或 0 中。相反,信息编码在这些脉冲的时间本身。一个强的输入电流会使神经元更快地充电和发放脉冲;一个弱的输入则会更慢。来自整个神经元群体的脉冲的精确时间形成了一个丰富、复杂的编码,承载了系统中的所有信息。
这与传统计算有着深刻的区别。存储(决定每个“雨滴”强度的突触权重 )和计算(电容器上电流的整合)不是在独立的盒子中。它们在物理上是共同定位的,被编织到处理单元本身的结构中。这种事件驱动、连续时间、存储与处理融合的范式是神经拟态计算的核心。
但在这里我们遇到了一个美妙的悖论。我们如何能构建一个本质上以离散步骤运行的数字机器,来模拟一个在连续时间中运行的系统?这是数字神经拟态工程的核心挑战——也是其卓越成就。在一个依靠时钟运行的硅芯片上,我们无法拥有真正的连续时间。我们必须对其进行近似。
最优雅的方法是为每个微小的时间步长 求解神经元的微分方程。如果我们假设输入电流 在那个小区间内是恒定的(如果 足够小,这是一个合理的假设),方程就变成一个我们可以精确求解的简单一阶线性常微分方程。解为我们提供了一个精确的更新规则,用于根据当前电压 计算下一个时间步的电压 。对于一个简单的基于电流的突触,得到的方程大致如下:
这个指数衰减项 是连续动力学的幽灵,被忠实地捕捉在一个离散的更新中。然而,人们可能会倾向于使用一个更简单、计算上更“廉价”的近似,比如前向欧拉法。这将用一个简单的线性步长取代优雅的指数项。但要当心!近似是有后果的。如果所选的时间步长 相对于神经元的自然时间常数 太大,数值模拟可能会变得不稳定并“爆炸”,电压会疯狂地振荡至无穷大。对于前向欧拉法,只有当 时才能保证稳定性。这是一个至关重要的教训:将大脑的动力学引入数字领域需要数学上的谨慎。
时间并不是唯一必须离散化的东西。在数字系统中,所有值都由有限数量的位表示。神经元的膜电位和其突触权重的强度不能是无限精确的实数。它们必须被量化到可表示值的网格上。这引入了一个虽小但不可避免的量化误差。当我们将一个真实值四舍五入到硬件可以存储的最接近的数字时,误差最多是两个可表示数字之间间隙的一半。即使是脉冲时间本身,在理想模型中是连续时间中的瞬间,也必须被捕捉到硬件的离散时间网格上,该网格的节拍周期比如说为 。这为每个脉冲引入了高达 的时间误差。
这种“数字困境”可能会让人发问:为什么不直接在硬件中构建神经元呢?为什么不使用真正的模拟电容器和真正的模拟电阻器?这是模拟神经拟态计算的道路,它带来了一个有趣的权衡,阐明了数字方法的核心。
一个模拟神经拟态系统,如 BrainScaleS 平台,是漏水桶类比的物理体现。它在能源效率上惊人,因为设备的物理特性直接完成了计算。然而,它也遭受着物理世界那美丽而混乱的现实。由于硅制造中不可避免的微观差异,没有两个模拟晶体管是完全相同的。这被称为器件失配。每个模拟神经元都是独一无二的;每个突触都有其自己微小的个性。此外,电路还受到持续、随机的热噪声的冲击。结果是,模拟系统中的误差是随机的——随机且不可预测,其特征是统计分布()而不是一个硬性界限。
一个数字神经拟态系统,如 Intel 的 Loihi 或 IBM 的 TrueNorth,选择了另一条道路。它接受了时间步进和值量化带来的“误差”。但这些误差是确定性的、有界的并且是众所周知的。每个用相同参数编程的数字神经元都会表现得完全相同。系统是可复现和可预测的。代价是每次操作的能耗更高,并且需要更复杂的电路来执行离散的数学更新。数字系统的可扩展性通常受到存储所有量化权重所需的内存以及传输所有脉冲事件所需的通信带宽的限制。
这是工程学中一个深刻的哲学选择:你是拥抱模拟世界嘈杂但高效的优雅,还是选择数字世界可预测、可复现但更耗电的精确性?
构建一个大脑不仅需要神经元,还需要连接——数以万亿计的连接。一个大规模的数字神经拟态系统如何管理数百万或数十亿个脉冲神经元之间的通信?如果每个神经元在每个时钟周期都向其他所有神经元广播一个‘1’或‘0’,那将是不可思议的低效。
答案是一个名为地址-事件表示(Address-Event Representation, AER)的优雅协议。其原理很简单:“除非有话要说,否则不要说话。”一个神经元在大部分时间里保持沉默。只有当它发放脉冲时,它才需要通信。当它这样做时,它会向一个共享的通信总线广播一个包含其独特“名称”——即其地址——的数字数据包。其他神经元监听这条总线,如果它们看到自己所连接的神经元的地址,它们就会记录下这个脉冲并更新自己的状态。接收方在事件到达时为其加上时间戳,从而保留了关键的时间信息。
这是一种事件驱动的数据压缩形式。对于神经元稀疏发放脉冲的网络,AER 极大地减少了所需的通信量。然而,它也带来了一个新的挑战。如果许多神经元决定同时发放脉冲怎么办?它们都争相使用共享总线,造成交通堵塞。这可以用优美的排队论数学进行分析。总线就像一个服务器,对每个事件有固定的服务时间 。脉冲是到达的顾客。如果脉冲的平均到达率 大于总线为它们提供服务的速率(),等待的脉冲队列将无限增长,系统将变得不稳定。整个网络的稳定性取决于一个简单而深刻的条件:通信量强度 必须小于 1。
不同目标——可编程性、能源效率、速度和可扩展性——之间的这种张力导致了大型架构的精彩多样性。
最后,我们绝不能忘记这些“芯片上的大脑”是物理实体。它们生活在我们的热力学世界中。每一个被传达的脉冲,每一次执行的数字计算,都会消耗能量并产生热量。这些热量必须被散发掉,芯片的温度根据基本定律 上升,其中 是消耗的功率, 是芯片封装的热阻。
这带来了深远的影响。对于像 Loihi 这样的数字芯片,高网络活动意味着高功耗和更高的温度。如果温度超过安全操作极限(例如,),芯片必须通过节流——减慢其操作以产生更少的热量——来保护自己。这为系统的峰值性能设置了一个硬性上限。此外,硅芯片的可靠性随温度呈指数级下降。仅仅几度的看似微小的增加,就可能使芯片的预期寿命减半。
对于像 BrainScaleS 这样的模拟系统,温度的影响更为微妙但同样重要。构成模拟神经元和突触的晶体管的物理特性本身就依赖于温度。随着芯片升温,电路的时间常数会发生漂移。一个原本以生物时间 10,000 倍速度运行的模拟,在变热时可能会减慢到 9,800 倍。硅时间与生物时间之间的映射不是固定的,而是系统物理状态的一个动态变量。
于是,我们的旅程回到了起点。我们从一个受大脑连续时间动力学启发的想法开始。我们面临着在数字硅的离散、量化世界中捕捉该想法的数学和工程挑战。我们学会了用定时的事件爆发进行通信。最终,我们被提醒,这些会思考的机器不仅仅是算法,而是物理实体,受制于支配我们所有人的相同的热和能量定律。这种从抽象概念到数学近似再到物理实现的相互作用,正是神经拟态工程内在的美与统一。
在了解了数字神经拟态计算的基本原理之后,我们现在面临一个关键问题:这一切究竟是为了什么?一个优美的理论或一个优雅的硬件是一回事,但其真正的价值只有在它与世界互动、解决问题并与其他人类探究领域建立联系时才能显现。在这里,我们将探索数字神经拟态系统蓬勃发展的应用,发现其影响远不止于对大脑的简单模仿。我们将看到这些系统如何解决现实世界的问题,它们如何学习,为何高效,以及它们如何与从机器学习到经典计算机工程等领域建立起充满活力的对话。
在我们深入探讨我们的硅大脑的具体细节之前,退后一步,审视整个脑启发计算的蓝图是很有用的。像大脑一样计算的梦想正沿着几条引人入胜、有时甚至是奇异的路径被追求。在光谱的一端是类器官计算,这是一项未来主义的努力,它使用三维大脑类器官——由干细胞生长而成的微小、自组织的活体神经元簇。在这里,计算和学习是活体组织本身的内在属性,由驱动我们自身思想的相同代谢过程、相同的 ATP 驱动的离子泵提供动力。一个近亲是生物混合计算,它将更平坦的二维活体神经元培养物与电子多电极阵列连接起来。
在这个光谱的另一端是我们故事的主题:数字神经拟态计算。在这里,基底不是活体组织,而是我们熟悉、可靠且可扩展的硅。 “神经元”和“突触”不是生物细胞,而是巧妙设计的 CMOS 电路。至关重要的是,学习不是材料的内在、涌现属性,而是算法化的——工程师和科学家必须明确设计和实现可塑性规则。能量不是由营养液提供,而是由墙上的插座提供,其消耗不受 ATP 水解的热力学支配,而是受电容器充放电的物理学支配,其中每个数字开关都会花费一份大约为 的微小能量。
虽然类器官和生物混合系统为了解生物学本身提供了一个深刻的窗口,但数字神经拟态计算代表了一门务实的工程学科。它旨在在一个我们今天可以构建、控制和扩展的框架中,捕捉神经计算的原理——事件驱动的通信、共同定位的存储和处理、大规模并行。
假设你有一个绝妙的想法,关于一个可以识别手写数字的脉冲神经网络。你已经在计算机上训练过它,并且它运行得非常好。现在,你如何让它在一个神经拟态硬件上运行,比如说,一个 Intel Loihi 或一个 SpiNNaker 芯片?你可能以为这只是一个“编译”你的网络那么简单的问题,就像编译一段软件一样。现实要复杂和有趣得多。
这个映射过程是硬件-软件协同设计的深刻体现。考虑一下现代人工智能的一个标准组件:一个卷积层。在软件中,这是一个优雅的数学抽象,其中一个单一的核(一个小权重矩阵)在图像上滑动,在每个位置共享其权重。然而,大多数神经拟态硬件没有“滑动共享核”的原生概念。一个突触是两个神经元之间的一个物理连接,有其自己特定的权重。为了实现一个卷积层,人们通常必须将其“展开”,明确地创建数百万个独立的突触连接,并为每一个连接复制核的权重。
此外,每个神经拟态平台都有其自己独特的个性和约束。
这个映射过程不仅仅是一个技术细节;它是一个核心挑战和创新的源泉。它迫使算法与硬件之间进行对话,揭示了从理论模型到工作应用的路径是一段创造性的适应之旅。
一个永远固定的应用是有用的,但一个能够自我适应和学习的系统是革命性的。这是片上学习的承诺。但是,一个建立在脉冲——即离散的全或无事件——之上的系统,怎么可能使用驱动现代人工智能的光滑、基于梯度的数学方法来学习呢?
问题在于,神经元发放的行为就像一个开关翻转——其输出从 0 跳到 1。这个跳跃的导数在数学上是棘手的:它几乎处处为零,而在脉冲发生的精确瞬间为无穷大。基于这样一个导数的学习算法是盲目的;它接收不到关于如何调整其权重以提高性能的信息。这通常被称为“死亡神经元”问题。
解决方案是一个被称为代理梯度训练的优雅技巧。在学习阶段,我们对学习规则“撒谎”。我们假装那个坚硬的、不连续的脉冲实际上是一个光滑、连续的函数,仅仅在发放阈值附近的局部区域是这样。我们用一个“伪导数”——一个简单的、有界的形状,如一个小三角形或一个光滑的凸起——来代替那个无穷大和零的导数。这个代理提供了一个合理的、非零的梯度,可以引导权重朝正确的方向调整,使我们能够使用强大的反向传播工具来训练脉冲网络。在一个优美的硬件-软件协同设计的例子中,这个“谎言”的形状甚至可以选择来匹配模拟电路的自然物理响应,从而最小化模拟与现实之间的差距。
除了在软件中进行训练,更宏大的雄心是让芯片能够直接从经验中自我学习。这依赖于在芯片上实现各种形式的突触可塑性。两种基本类型的可塑性协同工作:
在数字电路中实现这些规则,并配有权重衰减和边界限制以确保稳定性的机制,最终将使神经拟态设备成为真正具有适应性的智能体。
为什么要费这么大劲?一个主要的动机是追求极致的能源效率。但这种效率从何而来?它不是魔法;它是物理学。
在任何标准的数字 CMOS 芯片中,能耗的主要来源是晶体管的开关动作——对一个微小的电容器进行充放电。单次充电事件的能量由简单而著名的公式 给出,其中 是电容, 是电源电压。神经拟态系统通过“事件驱动”来获得效率。它们大部分时间是黑暗和安静的,直到一个“脉冲”事件发生才消耗很少的电力。一个脉冲是一个信息包,当它在芯片中路由并被突触处理时,会触发一连串微小的 能量消耗。总能量是这些离散、稀疏事件的总和。
我们可以从头开始构建一个系统级的能量模型。一次推理的总能量是一个小的固定开销加上每次脉冲路由事件、每次神经元更新、每次算术运算,以及——至关重要的是——每次内存访问的能量之和。最后一项通常是能耗中沉默的巨人。传统计算机的冯·诺依曼架构将处理器与内存分离,迫使数据在两者之间进行持续的、耗能巨大的穿梭。相比之下,神经拟态系统力求将内存(突触权重)尽可能地靠近处理单元(神经元)。
这凸显了一个关键的见解:大部分的节能不仅仅来自于脉冲,还来自于最小化数据移动。从一个小的、本地的 SRAM 缓存中访问一个权重,比从一个大的、遥远的 DRAM 库中获取它要高效几个数量级。因此,一个 SNN(脉冲神经网络)的能量成本对其发放率以及其内存占用如何适应本地、高效的片上存储高度敏感。
神经拟态计算是一个典型的跨学科领域,与许多其他科学和工程领域建立了强有力的对话。
考虑联邦学习,这是一种范式,其中许多设备(如手机)协同训练一个单一的人工智能模型,而从不共享它们的私有数据。相反,它们各自计算一个本地更新,并只将该更新发送到中央服务器进行聚合。当这些边缘设备配备了神经拟态硬件时会发生什么?数字和模拟方法之间出现了一个有趣的比较。
像 Loihi 这样的数字神经拟态核心具有噪声源(来自量化和脉冲统计),这些噪声源基本上是随机且均值为零的。当你对来自数千个此类设备的更新进行平均时,这种随机噪声会相互抵消,随着客户端数量的增加而趋向于零。然而,一个模拟设备通常会遭受系统性偏差——例如,其忆阻器电导的微小、持续的漂移。这种偏差具有非零均值,不会被平均掉。即使有一百万个客户端,最终的模型也会被这种系统性误差所污染。一项理论分析表明,模拟系统的最终均方误差受一个持续的偏差项限制,而数字系统的误差可以通过足够多的客户端被任意地降低。这为数字精度在分布式学习系统中的优点提供了一个鲜明、定量的教训。
在其核心,数字神经拟态芯片是一种专用的并行计算机。将脉冲从一个神经元发送到许多其他神经元的问题是一个网络路由问题。地址-事件表示(AER)协议,其中一个脉冲被编码为包含发放神经元“地址”的数字数据包,是该领域的基石。基于其宽度和握手时序,分析 AER 总线的最大吞吐量和可持续的脉冲速率,是数字通信理论中的一个经典练习。
此外,这些芯片是物理设备,受制于物理世界的变幻莫测。一束杂散的宇宙射线可能会翻转存储突触权重的 SRAM 中的一个位,从而可能破坏网络的功能。确保可靠性是计算机工程中的一个经典挑战。像纠错码(Error Correcting Codes, ECC)(如汉明码)这样的解决方案可以在片上实现,以保护突触内存。这些码向权重添加了几个额外的奇偶校验位,允许硬件在学习过程中自动检测和纠正单位错误,确保突触保持稳健和可靠。
最后,神经拟态计算与科学哲学本身相联系。我们经常听到相互竞争的主张:信息编码在脉冲的速率中更好,还是在它们的精确时间中更好?要科学地回答这样一个问题,需要的不仅仅是一个直觉;它需要一个严谨设计的实验。
例如,在速率编码和时间编码之间进行公平比较是一件微妙的事情。人们不能简单地为两者各自调整以达到最佳性能,然后比较优胜者。这就像比较一个马拉松运动员和一个短跑运动员,却没有指定比赛的距离。为了分离编码方案的影响,所有其他混杂变量都必须被精细地控制:网络架构、神经元参数、硬件布局和路由、观察的时间窗口,以及至关重要的是,每个图像的输入脉冲总“预算”必须保持不变。只有这样,通过在这些受控条件下测量准确性、延迟和能量等指标,并使用统计学来评估任何观察到的差异的显著性,我们才能提出一个有意义的科学主张。
这种纪律严明的方法,这种科学方法的完整性,也许是所有联系中最重要的。因为正是通过这个仔细、诚实的探究过程,神经拟态计算领域将从一系列引人入胜的想法,发展成为一个成熟且有影响力的工程现实。