用于共用神经元模型的高效实现的方法和装置的制造方法

文档序号:10699132阅读:217来源:国知局
用于共用神经元模型的高效实现的方法和装置的制造方法
【专利摘要】本公开的某些方面支持共用神经元模型的高效实现。在一方面,可以为第一神经元模型的实例的参数和状态变量分配第一存储器布局,并且可为具有不同于第一神经元模型的复杂度的第二神经元模型的实例的参数和状态变量分配不同于第一存储器布局的第二存储器布局。
【专利说明】用于共用神经元模型的高效实现的方法和装置
[0001 ]根据35U.S.C.§119的优先权要求
[0002]本申请要求于2014年2月28日提交的美国临时专利申请S/N. 61/946,051、W及于 2014年5月1日提交的美国专利申请S/N. 14/267,394的权益,运两篇申请通过援引整体纳入 于此。
[000;3]背景
[0004] 领域
[0005] 本公开的某些方面一般设及人工神经系统,尤其设及用于共用神经元模型的高效 实现的方法和装置。
[0006] 背景
[0007]可包括一群互连的人工神经元(即神经处理单元)的人工神经网络是一种计算设 备或者表示将由计算设备执行的方法。人工神经网络可具有生物学神经网络中的对应的结 构和/或功能。然而,人工神经网络可为其中传统计算技术是麻烦的、不切实际的、或不胜任 的某些应用提供创新且有用的计算技术。由于人工神经网络能从观察中推断出功能,因此 运样的网络在因任务或数据的复杂度使得通过常规技术来设计该功能较为麻烦的应用中 是特别有用的。
[000引一种类型的人工神经网络是尖峰(spiking)神经网络,其将时间概念W及神经元 状态和突触状态纳入到其工作模型中,由此提供了丰富的行为集,在神经网络中能从该行 为集涌现出计算功能。尖峰神经网络基于W下概念:神经元基于该神经元的状态在一个或 多个特定时间激发或发放"尖峰",并且该时间对于神经元功能而言是重要的。当神经元激 发时,它生成一尖峰,该尖峰行进至其他神经元,运些其他神经元继而可基于接收到该尖峰 的时间来调整它们的状态。换言之,信息可被编码在神经网络中的尖峰的相对或绝对定时 中。
[0009] 概述
[0010] 本公开的某些方面提供了一种用于操作人工神经系统的方法。该方法一般包括: 为第一神经元模型的实例的参数和状态变量分配第一存储器布局;为具有不同于第一神经 元模型的复杂度的第二神经元模型的实例的参数和状态变量分配不同于第一存储器布局 的第二存储器布局;W及在操作该人工神经系统时,更新用于第一神经元模型或第二神经 元模型中的至少一者的至少一个实例的状态变量。
[0011] 本公开的某些方面提供了一种用于操作人工神经系统的装置。该装置一般包括: 第一电路,其被配置成为第一神经元模型的实例的参数和状态变量分配第一存储器布局; 第二电路,其被配置成为具有与第一神经元模型不同的复杂度的第二神经元模型的实例的 参数和状态变量分配不同于第一存储器布局的第二存储器布局;W及第Ξ电路,其被配置 成在操作该人工神经系统时,更新用于第一神经元模型或第二神经元模型中的至少一者的 至少一个实例的状态变量。
[0012] 本公开的某些方面提供了一种用于操作人工神经系统的设备。该设备一般包括: 用于为第一神经元模型的实例的参数和状态变量分配第一存储器布局的装置;用于为具有 与第一神经元模型不同的复杂度的第二神经元模型的实例的参数和状态变量分配不同于 第一存储器布局的第二存储器布局的装置;W及用于在操作该人工神经系统时,更新用于 第一神经元模型或第二神经元模型中的至少一者的至少一个实例的状态变量的装置。
[0013] 本公开的某些方面提供了一种用于操作人工神经系统的计算机程序产品。该计算 机程序产品一般包括具有指令的非瞬态计算机可读介质(例如,存储设备),该指令可执行 W用于:为第一神经元模型的实例的参数和状态变量分配第一存储器布局;为具有不同于 第一神经元模型的复杂度的第二神经元模型的实例的参数和状态变量分配不同于第一存 储器布局的第二存储器布局;W及在操作该人工神经系统时,更新用于第一神经元模型或 第二神经元模型中的至少一者的至少一个实例的状态变量。
[0014] 附图简述
[0015] 为了能详细理解本公开的W上陈述的特征所用的方式,可参照各方面来对W上简 要概述的内容进行更具体的描述,其中一些方面在附图中解说。然而应该注意,附图仅解说 了本公开的某些典型方面,故不应被认为限定其范围,因为本描述可允许有其他等同有效 的方面。
[0016] 图1解说了根据本公开的某些方面的示例神经元网络。
[0017] 图2解说了根据本公开的某些方面的计算网络(神经系统或神经网络)的示例处理 单元(神经元)。
[0018] 图3解说了根据本公开的某些方面的示例尖峰定时依赖可塑性(STDP)曲线。
[0019] 图4是根据本公开的某些方面的用于人工神经元的状态的示例曲线图,其解说用 于定义神经元的行为的正态相和负态相。
[0020] 图5解说根据本公开的某些方面的用于复杂神经元网络的每一实例的示例存储器 布局。
[0021] 图6解说根据本公开的某些方面的用于共用神经元模型的每一实例的示例存储器 布局。
[0022] 图7是根据本公开的某些方面的用于操作人工神经系统的示例操作的流程图。
[0023] 图7A解说了能够执行图7中所示的操作的示例装置。
[0024] 图8解说了根据本公开的某些方面的用于使用通用处理器来操作人工神经系统的 示例实现。
[0025] 图9解说了根据本公开的某些方面的用于操作人工神经系统的示例实现,其中存 储器可与个体分布式处理单元对接。
[0026] 图10解说了根据本公开的某些方面的用于基于分布式存储器和分布式处理单元 来操作人工神经系统的示例实现。
[0027] 图11解说了根据本公开的某些方面的人工神经系统的示例实现。
[0028] 图12是根据本公开的某些方面的人工神经系统的示例硬件实现的框图。
[0029] 详细描述
[0030] W下参照附图更全面地描述本公开的各个方面。然而,本公开可用许多不同形式 来实施并且不应解释为被限定于本公开通篇给出的任何具体结构或功能。相反,提供运些 方面是为了使得本公开将是透彻和完整的,并且其将向本领域技术人员完全传达本公开的 范围。基于本文中的教导,本领域技术人员应领会,本公开的范围旨在覆盖本文中所披露的 本公开的任何方面,不论其是与本公开的任何其他方面相独立地实现还是组合地实现的。 例如,可W使用本文所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围 旨在覆盖使用作为本文中所阐述的本公开的各个方面的补充或者另外的其他结构、功能 性、或者结构及功能性来实践的此类装置或方法。应当理解,本文中所披露的本公开的任何 方面可由权利要求的一个或多个元素来实施。
[0031 ]措辞"示例性"在本文中用于表示"用作示例、实例或解说"。本文中描述为"示例 性"的任何方面不必被解释为优于或胜过其他方面。
[0032] 尽管本文描述了特定方面,但运些方面的众多变体和置换落在本公开的范围之 内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、 用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协 议,其中一些作为示例在附图W及W下对优选方面的描述中解说。详细描述和附图仅仅解 说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
[0033] 示例神经系统
[0034] 图1解说根据本公开的某些方面的具有多级神经元的示例神经系统100。神经系统 100可包括一级神经元102,该级神经元102通过突触连接网络104(即,前馈连接)来连接到 另一级神经元106。为简单起见,图1中仅解说了两级神经元,但在典型的神经系统中可存在 更少或更多级神经元。应注意,一些神经元可通过侧向连接来连接至同层中的其他神经元。 此外,一些神经元可通过反馈连接来后向连接至先前层中的神经元。
[0035] 如图1所解说的,级102中的每一神经元可接收输入信号108,输入信号108可W是 由前一级(图1中未示出)的多个神经元所生成的。信号108可表示至级102的神经元的输入 (例如,输入电流)。此类输入可在神经元膜上累积W对膜电位进行充电。当膜电位达到其阔 值时,该神经元可激发并生成输出尖峰,该输出尖峰将被传递到下一级神经元(例如,级 106)。此类行为可在硬件和/或软件(包括模拟和数字实现)中进行仿真或模拟。
[0036] 在生物学神经元中,在神经元激发时生成的输出尖峰被称为动作电位。该电信号 是相对迅速、瞬态、全有或全无的神经脉冲,其具有约为lOOmV的振幅和约为1ms的历时。在 具有一系列连通的神经元(例如,尖峰从图1中的一级神经元传递至另一级)的神经系统的 特定方面,每个动作电位都具有基本上相同的振幅和历时,因此该信号中的信息仅由尖峰 的频率和数目(或尖峰的时间)来表示,而不由振幅来表示。动作电位所携带的信息由尖峰、 发放尖峰的神经元、W及该尖峰相对于一个或多个其他尖峰的时间来决定。
[0037] 尖峰从一级神经元向另一级神经元的传递可通过突触连接(或简称"突触")网络 104来达成,如图1所解说的。突触104可从级102的神经元(相对于突触104而言的突触前神 经元)接收输出信号(即尖峰)。对于某些方面,运些信号可根据可调节突触权重 wpj、……、^I'w)巧中P是级102和106的神经元之间的突触连接的总数)来缩放。对于 其它方面,突触104可W不应用任何突触权重。此外,(经缩放的)信号可被组合W作为级106 中每个神经元(相对于突触104而言的突触后神经元)的输入信号。级106中的每个神经元可 基于对应的组合输入信号来生成输出尖峰110。随后可使用另一突触连接网络(图1中未示 出)将运些输出尖峰110传递到另一级神经元。
[0038] 生物学突触可被分类为电的或化学的。电突触主要用于发送兴奋性信号,而化学 突触可调停突触后神经元中的兴奋性或抑制性(超极化)动作,并且还可用于放大神经元信 号。兴奋性信号通常使膜电位去极化(即,相对于静息电位增大膜电位)。如果在某个时段内 接收到足够的兴奋性信号W使膜电位去极化到高于阔值,则在突触后神经元中发生动作电 位。相反,抑制性信号一般使膜电位超极化(即,降低膜电位)。抑制性信号如果足够强则可 抵消掉兴奋性信号之和并阻止膜电位到达阔值。除了抵消掉突触兴奋W外,突触抑制还可 对自发活跃神经元施加强力的控制。自发活动神经元是指在没有进一步输入的情况下(例 如,由于其动态或反馈而)发放尖峰的神经元。通过压制运些神经元中的动作电位的自发生 成,突触抑制可对神经元中的激发模式进行定形,运一般被称为雕刻。取决于期望的行为, 各种突触104可充当兴奋性或抑制性突触的任何组合。
[0039] 神经系统100可由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场 可编程口阵列(FPGA)或其他可编程逻辑器件(PLD)、分立的口或晶体管逻辑、分立的硬件组 件、由处理器执行的软件模块、或其任何组合来仿真。神经系统100可用在大范围的应用中, 诸如图像和模式识别、机器学习、电机控制、及类似应用等。神经系统100中的每一神经元可 被实现为神经元电路。被充电至发起输出尖峰的阔值的神经元膜可被实现为例如对流经其 的电流进行积分的电容器。
[0040] 在一方面,电容器作为神经元电路的电流积分器件可被除去,并且可使用较小的 忆阻器元件来替代它。运种办法可应用于神经元电路中,W及其中大容量电容器被用作电 流积分器的各种其他应用中。另外,每个突触104可基于忆阻器元件来实现,其中突触权重 改变可与忆阻器电阻的变化有关。使用纳米特征尺寸的忆阻器,可显著地减小神经元电路 和突触的面积,运可使得实现超大规模神经系统硬件实现变得可行。
[0041] 对神经系统100进行仿真的神经处理器的功能性可取决于突触连接的权重,运些 权重可控制神经元之间的连接的强度。突触权重可存储在非易失性存储器中W在掉电之后 保留该处理器的功能性。在一方面,突触权重存储器可实现在与主神经处理器忍片分开的 外部忍片上。突触权重存储器可与神经处理器忍片分开地封装成可更换的存储卡。运可向 神经处理器提供多种多样的功能性,其中特定功能性可基于当前附连至神经处理器的存储 卡中所存储的突触权重。
[0042] 图2解说根据本公开的某些方面的计算网络(例如,神经系统或神经网络)的处理 单元(例如,人工神经元202)的示例200。例如,神经元202可对应于来自图1的级102和106的 任一个神经元。神经元202可接收多个输入信号204i-204n(xi-xn),运些输入信号可W是该 神经系统外部的信号、或是由同一神经系统的其他神经元所生成的信号、或运两者。输入信 号可W是实数值或复数值的电流或电压。输入信号可包括具有定点或浮点表示的数值。可 通过突触连接将运些输入信号递送到神经元202,运些突触连接根据可调节突触权重2061- 206n(wi-wn)对运些信号进行缩放,其中N可W是神经元202的输入连接的总数。
[0043] 神经元202可组合运些经缩放的输入信号,并且使用组合的经缩放的输入来生成 输出信号208(即,信号y)。输出信号208可W是实数值或复数值的电流或电压。输出信号可 包括具有定点或浮点表示的数值。随后该输出信号208可作为输入信号传递至同一神经系 统的其他神经元、或作为输入信号传递至同一神经元202、或作为该神经系统的输出来传 递。
[0044] 处理单元(神经元202)可由电路来仿真,并且其输入和输出连接可由具有突触电 路的导线来仿真。处理单元、其输入和输出连接也可由软件代码来仿真。处理单元也可由电 路来仿真,而其输入和输出连接可由软件代码来仿真。在一方面,计算网络中的处理单元可 包括模拟电路。在另一方面,处理单元可包括数字电路。在又一方面,处理单元可包括具有 模拟和数字组件两者的混合信号电路。计算网络可包括任何前述形式的处理单元。使用运 样的处理单元的计算网络(神经系统或神经网络)可用在大范围的应用中,诸如图像和模式 识别、机器学习、电机控制、及类似应用等。
[0045] 在神经网络的训练过程期间,突触权重(例如,来自图1的权重w!"")、……、wf+i; 和/或来自图2的权重2O61-2O6N)可用随机值来初始化并根据学习规则而增大或减小。学习 规则的某些示例是尖峰定时依赖型可塑性(STDP)学习规则、Hebb规则、Oja规则、 Bienenstock-Coppe;r-Mun;ro(BCM)规则等。很多时候,运些权重可稳定至两个值(即,权重的 双峰分布)之一。该效应可被用于减少每突触权重的位数、提高从/向存储突触权重的存储 器读取和写入的速度、W及降低突触存储器的功耗。
[0046] 突触类型
[0047] 在神经网络的硬件和软件模型中,突触相关功能的处理可基于突触类型。突触类 型可包括非可塑突触(对权重和延迟没有改变)、可塑突触(权重可改变)、结构化延迟可塑 突触(权重和延迟可改变)、全可塑突触(权重、延迟和连通性可改变)、W及基于此的变型 (例如,延迟可改变,但在权重或连通性方面没有改变)。此举的优点在于处理可W被细分。 例如,非可塑突触不会要求执行可塑性功能(或等待此类功能完成)。类似地,延迟和权重可 塑性可被细分成可一起或分开地、顺序地或并行地运作的操作。不同类型的突触对于适用 的每一种不同的可塑性类型可具有不同的查找表或公式W及参数。因此,运些方法将针对 该突触的类型来访问相关的表。
[004引还进一步牵设到W下事实:尖峰定时依赖型结构化可塑性可独立于突触可塑性地 来执行。结构化可塑性即使在权重幅值没有改变的情况下(例如,如果权重已达最小或最大 值、或者其由于某种其他原因而不改变)也可执行,因为结构化可塑性(即,延迟改变的量) 可W是pre-post(突触前-突触后)尖峰时间差的直接函数。替换地,结构化可塑性可被设为 权重改变量的函数或者可基于与权重或权重改变的界限有关的条件来设置。例如,突触延 迟可仅在发生权重改变时或者在权重到达0的情况下才改变,但在权重达到最大极限时不 改变。然而,具有独立函数W使得运些过程能被并行化从而减少存储器访问的次数和交叠 可能是有利的。
[0049] 突触可塑性的确定
[0050] 神经元可塑性(或简称"可塑性")是大脑中的神经元和神经网络响应于新的信息、 感官刺激、发展、损坏、或机能障碍而改变其突触连接和行为的能力。可塑性对于生物学中 的学习和记忆、W及对于计算神经元科学和神经网络是重要的。已经研究了各种形式的可 塑性,诸如突触可塑性(例如,根据赫布理论)、尖峰定时依赖可塑性(STDP)、非突触可塑性、 活动性依赖可塑性、结构化可塑性和自身稳态可塑性。
[0051] STDP是调节神经元(诸如大脑中的那些神经元)之间的突触连接的强度的学习过 程。连接强度是基于特定神经元的输出与收到输入尖峰(即,动作电位)的相对定时来调节 的。在STDP过程下,如果至某个神经元的输入尖峰平均而言倾向于紧挨在该神经元的输出 尖峰之前发生,则可发生长期增强化TP)。于是使得该特定输入在一定程度上更强。相反,如 果输入尖峰平均而言倾向于紧接在输出尖峰之后发生,则可发生长期抑压化TD)。于是使得 该特定输入在一定程度上更弱,由此得名为"尖峰定时依赖可塑性"。因此,使得可能是突触 后神经元兴奋原因的输入甚至更有可能在将来作出贡献,而使得不是突触后尖峰的原因的 输入较不可能在将来作出贡献。该过程继续,直至初始连接集的子集保留,而所有其他连接 的影响减轻至0或接近0。
[0052] 由于神经元一般在其许多输入都在一短时段内发生(即,足W累积到引起输出)时 产生输出尖峰,因此通常保留下来的输入子集包括倾向于在时间上相关的那些输入。另外, 由于在输出尖峰之前发生的输入被加强,因此提供对相关性的最早充分累积指示的输入将 最终变成至该神经元的最后输入。
[0053] STDP学习规则可因变于突触前神经元的尖峰时间tpre与突触后神经元的尖峰时间 tpDst之间的时间差(即,t = tpDst-tpre)来有效地适配将该突触前神经元连接到该突触后神经 元的突触的突触权重。STDP的典型公式是若该时间差为正(突触前神经元在突触后神经元 之前激发)则增大突触权重(即,增强该突触),W及若该时间差为负(突触后神经元在突触 前神经元之前激发)则减小突触权重(即,抑压该突触)。
[0054] 在STDP过程中,突触权重随时间推移的改变可通常使用指数衰退来达成,如由下 式给出的:
[0055]
(1)
[0056] 其中k+和k-分别是针对正和负时间差的时间常数,a+和a-是对应的缩放幅值,W及 μ是可被应用于正时间差和/或负时间差的偏移。
[0057] 图3解说根据STDP,突触权重因变于突触前尖峰(pre)和突触后尖峰(post)的相对 定时而改变的示例曲线图300。如果突触前神经元在突触后神经元之前激发,则可使对应的 突触权重增大,如曲线图300的部分302中所解说的。该权重增大可被称为该突触的LTP。从 曲线图部分302可观察到,LTP的量可因变于突触前和突触后尖峰时间之差而大致呈指数地 下降。相反的激发次序可减小突触权重,如曲线图300的部分304中所解说的,从而导致该突 触的LTD。
[0058] 如图3中的曲线图300中所解说的,可向STDP曲线图的LTP(因果性)部分302应用负 偏移μηΧ轴的交越点306(y = 0)可被配置成与最大时间滞后重合W考虑到来自层i-1(突触 前层)的各因果性输入的相关性。在基于帖的输入(即,输入是按包括尖峰或脉冲的特定历 时的帖的形式)的情形中,可计算偏移值μΚ反映帖边界。该帖中的第一输入尖峰(脉冲)可 被视为随时间衰退,要么如直接由突触后电位所建模地、要么W对神经状态的影响的形式 而随时间衰退。如果该帖中的第二输入尖峰(脉冲)被视为与特定时间帖关联或相关,则可 通过偏移STDP曲线的一个或多个部分W使得相关时间中的值可W不同(例如,对于大于一 个帖为负,而对于小于一个帖为正)来使该帖之前和之后的相关时间在该时间帖边界处被 分开并在可塑性方面被不同地对待。例如,负偏移μ可被设为偏移LTPW使得曲线实际上在 大于帖时间的pre-post时间处变得低于零并且它由此为LTD而非LTP的一部分。
[0化9]神经元模型及操作
[0060]存在一些用于设计有用的尖峰发放神经元模型的一般原理。良好的神经元模型在 W下两个计算态相(regime)方面可具有丰富的潜在行为:重合性检测和功能性计算。此外, 良好的神经元模型应当具有允许时间编码的两个要素:输入的抵达时间影响输出时间,W 及重合性检测能具有窄时间窗。最后,为了在计算上是有吸引力的,良好的神经元模型在连 续时间上可具有闭合形式解,并且具有稳定的行为,包括在靠近吸引子和鞍点之处。换言 之,有用的神经元模型是可实践且可被用于建模丰富的、现实的且生物学一致的行为并且 可被用于对神经电路进行工程设计和反向工程两者的神经元模型。
[0061] 神经元模型可取决于事件,诸如输入抵达、输出尖峰或其他事件,无论运些事件是 内部的还是外部的。为了达成丰富的行为库,能展现复杂行为的状态机可能是期望的。如果 事件本身的发生在撇开输入贡献(若有)的情况下能影响状态机并约束在该事件之后的动 态,则该系统的将来状态并非仅是状态和输入的函数,而是状态、事件和输入的函数。
[0062] 在一方面,神经元η可被建模为尖峰带漏泄积分激发化IF)神经元,其膜电压vn(t) 由W下动态来管控:
[0063]

[0064] 其中α和β是参数,Wm,η是将突触前神经元m连接至突触后神经元η的突触的突触权 重,W及ym(t)是神经元m的尖峰输出,其可根据Δ tm,n被延迟达树突或轴突延迟才抵达神经 元η的胞体。
[0065] 应注意,从建立了对突触后神经元的充分输入的时间直至突触后神经元实际上激 发的时间之间存在延迟。在动态尖峰神经元模型(诸如Izhikevich简单模型)中,如果在去 极化阔值Vt与峰值尖峰电压Vpeak之间有差量,则可引发时间延迟。例如,在该简单模型中,神 经元胞体动态可由关于电压和恢复的微分方程对来管控,即:
[0068] 其中V是膜电位,U是膜恢复变量,k是描述膜电位V的时间尺度的参数,a是描述恢 复变量U的时间尺度的参数,b是描述恢复变量U对膜电位V的阔下波动的敏感度的参数,Vr 是膜静息电位,I是突触电流,W及C是膜的电容。根据该模型,神经元被定义为在V>Vpeak时 发放尖峰。
[0069] Hunzinger Cold模型
[0070] 化nzinger Cold神经元模型是能再现丰富多样的各种神经行为的最小双态相尖 峰发放线性动态模型。该模型的一维或二维线性动态可具有两个态相,其中时间常数及 禪合)可取决于态相。在阔下态相中,时间常数(按照惯例为负)表示漏泄通道动态,其一般 作用于W生物学一致的线性方式使细胞返回到静息。阔上态相中的时间常数(按照惯例为 正)反映抗漏泄通道动态,其一般驱动细胞发放尖峰,而同时在尖峰生成中引发等待时间。
[0071] 如图4中所示,该模型的动态可被划分成两个(或更多个)态相。运些态相可被称为 负态相402(也可互换地称为带漏泄积分激发化IF)态相,勿与LI巧巾经元模型混淆)W及正 态相404(也可互换地称为抗漏泄积分激发(ALIF)态相,勿与ALI巧巾经元模型混淆)。在负态 相402中,状态在将来事件的时间趋向于静息(V-)。在该负态相中,该模型一般展现出时间 输入检测性质及其他阔下行为。在正态相404中,状态趋向于尖峰发放事件(Vs)。在该正态 相中,该模型展现出计算性质,诸如取决于后续输入事件而引发发放尖峰的等待时间。在事 件方面对动态进行公式化w及将动态分成运两个态相是该模型的基础特性。
[0072]线性双态相二维动态(对于状态V和U)可按照惯例定义为:
[0075] 其中qp和r是用于禪合的线性变换变量。
[0076] 符号P在本文中用于标示动态态相,在讨论或表达具体态相的关系时,按照惯例对 于负态相和正态相分别用符号或V'来替换符号P。
[0077] 模型状态通过膜电位(电压)v和恢复电流U来定义。在基本形式中,态相在本质上 是由模型状态来决定的。该精确和通用的定义存在一些细微却重要的方面,但目前考虑该 模型在电压V高于阔值(V+)的情况下处于正态相404中,否则处于负态相402中。
[0078] 态相依赖型时间常数包括负态相时间常数τ-和正态相时间常数τ+。恢复电流时间 常数Tu通常是与态相无关的。出于方便起见,负态相时间常数τ-通常被指定为反映衰退的负 量,从而用于电压演变的相同表达式可用于正态相,在正态相中指数和τ+将一般为正,正如 Tu那样。
[0079] 运两个状态元素的动态可在发生事件之际通过使状态偏离其零倾线(nul Ι? ο 1 ine) 的变换来禪合 ,其中 变换变量为:
[0082] 其中δ、ε、β和v-、v+是参数。VP的两个值是运两个态相的参考电压的基数。参数V-是 负态相的基电压,并且膜电位在负态相中一般将朝向V-衰退。参数V+是正态相的基电压,并 且膜电位在正态相中一般将趋向于背离V+。
[0083] V和U的零倾线分别由变换变量qp和r的负数给出。参数δ是控制U零倾线的斜率的 缩放因子。参数ε通常被设为等于-V-。参数β是控制运两个态相中的V零倾线的斜率的电阻 值。τρ时间常数参数不仅控制指数衰退,还单独地控制每个态相中的零倾线斜率。
[0084] 该模型被定义为在电压V达值VS时发放尖峰。随后,状态通常在发生复位事件(其 在技术上可W与尖峰事件完全相同)时被复位:
[0085] V 二(― (9)
[0086] u = u+ Δ U (10)
[0087] 其中ク_和Δu是参数。复位电压枉通常被设为V-。
[0088] 依照瞬时禪合的原理,闭合形式解不仅对于状态是可能的(且具有单个指数项), 而且对于到达特定状态所需的时间也是可能的。闭合形式状态解为:
[0091]因此,模型状态可仅在发生事件之际被更新,诸如在输入(突触前尖峰)或输出(突 触后尖峰)之际被更新。还可在任何特定时间(无论是否有输入或输出)执行操作。
[0092]而且,依照瞬时禪合原理,可W预计突触后尖峰的时间,因此到达特定状态的时间 可提前被确定而无需迭代技术或数值方法(例如,欧拉数值方法)。给定了先前电压状态V0, 直至到达电压状态Vf之前的时间延迟由下式给出:
[OOW]
(巧)
[0094] 如果尖峰被定义为发生在电压状态V到达VS的时间,则从电压处于给定状态V的时 间起测量的直至发生尖峰前的时间量或即相对延迟的闭合形式解为:
[0095]
(14)
[0096] 其中通常被设为参数V+,但其他变型可W是可能的。
[0097] 模型动态的W上定义取决于该模型是在正态相还是负态相中。如所提及的,禪合 和态相P可基于事件来计算。出于状态传播的目的,态相和禪合(变换)变量可基于在上一 (先前)事件的时间的状态来定义。出于随后预计尖峰输出时间的目的,态相和禪合变量可 基于在下一(当前)事件的时间的状态来定义。
[0098] 存在对该Cold模型、W及在时间上执行模拟、仿真、或建模的若干可能实现。运包 括例如事件-更新、步阶-事件更新、W及步阶-更新模式。事件更新是其中基于事件或"事件 更新"(在特定时刻)来更新状态的更新。步阶更新是W间隔(例如,1ms)来更新模型的更新。 运不一定要求迭代方法或数值方法。通过仅在事件发生于步阶处或步阶间的情况下才更新 模型或即通过步阶事件"更新,基于事件的实现W有限的时间分辨率在基于步阶的模拟 器中实现也是可能的。
[0099] 神经编码
[0100] 有用的神经网络模型(诸如包括图1的人工神经元102、106的神经网络模型)可经 由各种合适的神经编码方案(诸如重合性编码、时间编码或速率编码)中的任一种来编码信 息。在重合性编码中,信息被编码在神经元集群的动作电位(尖峰发放活动性)的重合性(或 时间邻近性)中。在时间编码中,神经元通过对动作电位(即,尖峰)的精确定时(无论是W绝 对时间还是相对时间)来编码信息。信息由此可被编码在一群神经元间的相对尖峰定时中。 相反,速率编码设及将神经信息编码在激发率或集群激发率中。
[0101] 如果神经元模型能执行时间编码,则其也能执行速率编码(因为速率正好是定时 或尖峰间间隔的函数)。为了提供时间编码,良好的神经元模型应当具有两个要素:(1)输入 的抵达时间影响输出时间;W及(2)重合性检测能具有窄时间窗。连接延迟提供了将重合性 检测扩展到时间模式解码的一种手段,因为通过恰适地延迟时间模式的元素,可使运些元 素达成定时重合性。
[0102] 抵达时间
[0103] 在良好的神经元模型中,输入的抵达时间应当对输出时间有影响。突触输入-- 无论是狄拉克δ函数还是经定形的突触后电位(PSP)、无论是兴奋性的化PSP)还是抑制性的 (IPSP)一一具有抵达时间(例如,δ函数的时间或者阶跃或其他输入函数的开始或峰值的时 间),其可被称为输入时间。神经元输出(即,尖峰)具有发生时间(无论其是在何处(例如在 胞体处、在沿轴突的一点处、或在轴突末端处)测量的),其可被称为输出时间。该输出时间 可W是尖峰的峰值时间、尖峰的开始、或与输出波形有关的任何其他时间。普适原理是输出 时间取决于输入时间。
[0104]乍看起来可能认为所有神经元模型都遵循该原理,但一般并不是运样。例如,基于 速率的模型不具有此特征。许多尖峰模型一般也并不遵循运一点。带漏泄积分激发化IF)模 型在有额外输入(超过阔值)的情况下并不会更快一点地激发。此外,在W非常高的定时分 辨率来建模的情况下或许遵循运一点的模型在定时分辨率受限(诸如限于1ms步阶)时通常 将不会遵循运一点。
[010引输入
[0106] 神经元模型的输入可包括狄拉克δ函数,诸如电流形式的输入、或基于电导率的输 入。在后一种情形中,对神经元状态的贡献可W是连续的或状态依赖型的。
[0107] 用于共用神经元模型的高效实现的系统
[0108] 虽然在神经科学界已提出了许多不同神经元模型,但是尖峰发放神经网络的研究 者往往只使用它们的有限子集。运些共用神经元模型可主要基于灵活性或计算效率来被选 取,因为更灵活的神经元要仿真起来通常在计算上更密集。为达成计算效率,研究者可首先 确定该模型的哪些能力被需要W及哪些是过剩的。此后,研究者可W实现该神经元模型的 简化版W用于他们的特定网络(例如,来自图1的神经网络100)或应用。
[0109] 标识神经元模型的哪些特征对特定神经网络而言是需要的W及如何最佳地简化 神经元模型W用于高效仿真的过程可能是困难的。另外,针对不同神经网络或应用重复运 一过程可W是耗时的。
[0110] 本公开的某些方面提供了在硬件平台中的共同地使用的神经元模型的实现W及 用于为神经网络(人工神经系统)中的每一神经元实例指定唯一性参数值的装置。
[0111] 共用神经元模型
[0112] 存在许多具有不同灵活度和复杂度的神经元模型。本公开中呈现的神经元模型决 不旨在成为穷尽性列表,而是要提供用于展示所提出的硬件实现解决方案的基础。
[0113] 最普遍使用的神经元模型之一是泄漏积分激发化IF)神经元模型。LI巧巾经元模型 的管控方程可如下定义:
[0114]
(15)
[011引其中Vm是膜电位,Vr是静息膜电位,Cm是膜电容,Rm是膜电阻,是先前尖峰时间,tr 是不应期,且Is是输入突触电流。
[0116] 另一普遍使用的神经元模型是双稳态神经元模型。虽然双稳态神经元模型存在于 许多表现中,但在本公开中提供了简化版。经简化的双稳态神经元模型的管控方程可如下 定义:
[0117]
(1巧 [011引 W及
[0119]
, (17)
[0120] 其中vm是膜电位,~是尖峰发放时段时间常数,A( ·)是活动函数,且Is是输入突触 电流。
[0121] 共用神经元模型的高效实现
[0122] 基于分段线性神经元建模的方法是用于定义神经元模型的高度灵活的框架。然 而,运一灵活性的代价是复杂性。更具体而言,该方法需要大量参数和状态变量来表示不同 神经元模型的富集。参数和状态变量的数量太大,W致于参数和状态变量两者不能被一起 存储作为单个神经元实例的一部分。运要求决定该神经元的动态或类型的参数变量在各神 经元群之间被共享。另外,与共用神经元的简单管控方程相比,与运一框架相关联的方程通 常在计算上可能更加昂贵。
[0123] 管控方程的本机实现
[0124] 基于分段线性神经元建模的方法能够产生与共用神经元模型相同的管控动态。然 而,共用神经元模型被太频繁地使用且管控方程太简单,W致于本机实现是合理的。代替重 用运些管控由分段线性神经元建模框架所创建的神经元模型的方程的是,用于共用神经元 的管控方程被本机地实现在硬件中。进而,由共用神经元代替使用分段线性神经元建模框 架所创建的那样的神经元来组成的神经网络(人工神经系统)可被更高效地仿真。
[0125] 状态存储器的重用
[0126] 因为共用神经元模型比用分段线性神经元建模框架所创建的神经元模型简单得 多,所W它们在存储器中的表示可更紧凑。实际上,运些共用神经元模型的紧凑性使得它们 的参数和状态变量两者要求的存储器与使用分段线性神经元建模框架所创建的神经元的 仅状态变量所要求的存储器相同或更少。换言之,只存储用分段线性神经元建模框架所创 建的神经元的状态变量所需的存储器大于或等于存储该共用神经元模型的参数和状态变 量两者所需的存储器量。
[0127] 使用分段线性神经元建模框架所创建的神经元的实例的存储器布局在图5中解 说。从图5中可W观察到,参数变量被存储在共享存储器502中,运规定了该网络中的诸神经 元实例子集共享相同的动态。
[0128] 图5解说根据本公开的某些方面的用于使用分段线性神经元建模框架所创建的神 经元模型的每一实例的示例存储器布局500。每一神经元实例可被指派与共享存储器502中 运些参数值所存储在的位置相对应的类型。每一神经元实例还具有分配给其具体状态变量 的相同的存储器量,即图5中解说的存储器504。
[0129] 图6解说根据本公开的某些方面的用于共用神经元的诸实例的存储器布局602的 示例600。从图6可W观察到,共用神经元的诸实例的参数和状态变量两者可被存储在仅为 使用分段线性神经元建模框架所创建的神经元实例的状态变量保留的相同存储器中。因 此,对于共用神经元而言不存在神经元类型的概念,并且共用神经元的每一实例可具有唯 一性动态。图6解说共用神经元模型的每一实例的存储器布局602。与使用分段线性神经元 建模框架所创建的神经元实例形成对比的是,诸分开的参数值可被存储用于共用神经元的 每一实例。
[0130] 图5和图6解说了为使用分段线性神经元建模框架所创建的每一神经元实例的状 态变量所保留的存储器可由每一共用神经元实例所重用。运允许相同的存储器被用于使用 分段线性神经元建模框架所创建的神经元的状态变量或用于共用神经元的参数和状态变 量两者。因此,可需要附加存储器标志来指示当前是共用神经元实例还是使用分段线性神 经元建模框架所创建的实例被存储在存储器中。
[0131] 扩展
[0132] 神经动态的全异构性
[0133] 由于为复杂神经元(使用分段线性神经元建模框架所创建的那些)的状态变量所 保留的存储器也可被用于存储共用神经元的参数和状态变量两者,所W要设计共用神经元 的神经网络(其中每一神经元具有唯一性动态)是可能的。例如,存在已知存在于生物学中 的具有高级神经异构性的神经网络。换言之,几乎每一神经元的动态性可能稍微不同于该 网络中的其他神经元。通过利用共用神经元,神经网络可被创建,其中每一神经元具有唯一 性动态,且与不具有全神经异构性的网络相比在生物学上更准确。
[0134] 共用和复杂神经元的同时仿真
[0135] 由于为复杂神经元(使用分段线性神经元建模框架所创建的那些)的状态变量所 保留的存储器也可被用于存储共用神经元的参数和状态变量两者,所W要具有包括复杂神 经元和共用神经元两者的神经网络是可能的。例如,神经网络的某些部分可能要求由分段 线性神经元建模框架来使之成为可能的复杂动态,且该神经网络的其他部分可能不需要。 根据本公开的某些方面,共用神经元模型可被用于该神经网络中不需要复杂动态的其他部 分。如此,"混合"神经网络将存在,其中该网络的各部分是使用具有复杂动态的神经元来实 现的并且该网络的其他部分是使用具有较简单动态的共用神经元来实现的。
[0136] 共用神经元和复杂神经元的动态交换
[0137] 由于为复杂神经元(使用分段线性神经元建模框架所创建的那些)的状态变量所 保留的存储器也可被用于存储共用神经元的参数和状态变量两者,所W要用复杂神经元动 态地交换共用神经元是可能的,反之亦然。例如,基于某些统计,在神经网络的某些部分中 具有更简单或更复杂的动态可能是合乎需要的。对于神经网络中的被认为需要不那么复杂 的动态的那些部分,可W用共用神经元的参数和状态变量来动态地重写存储了复杂神经元 的状态变量的存储器。反之也是可能的,其中在需要更复杂的动态时可使用复杂神经元的 状态变量来重写用于共用神经元的参数和状态变量的存储器。
[0138] 对共用神经元动态的动态修改
[0139] 因为共用神经元的参数和状态变量被存储作为该神经元实例本身的一部分,所W 要动态地改变参数值并且因此改变该共用神经元实例的动态是可能的。例如,在神经网络 中具有基于该神经网络的统计而行为不同的神经元子集可能是合乎需要的。运些统计可包 括例如该子集的平均尖峰发放速率W及该速率是否因为过刺激或欠刺激而超过某个值。随 后,该子集中共用神经元的参数可被动态地改变,W达到新的更恰适的平均尖峰发放速率。
[0140] 图7是根据本公开的某些方面的用于操作人工神经系统的示例操作700的流程图。 操作700可W硬件(例如由一个或多个神经处理单元,诸如神经元形态处理器)、W软件或W 固件来执行。该人工神经系统可被建模在各种生物或虚构神经系统中的任一者上,诸如视 觉神经系统、听觉神经系统、海马体等。
[0141] 操作700可在702始于为第一神经元模型的实例的参数和状态变量分配第一存储 器布局。在704,可为具有不同于第一神经元模型的复杂度的第二神经元模型的实例的参数 和状态变量分配不同于第一存储器布局的第二存储器布局。在706,在操作该人工神经系统 时,用于第一神经元模型或第二神经元模型中的至少一者的至少一个实例的状态变量可被 更新。
[0142] 根据本公开的某些方面,第一存储器布局可包括用于存储在第一神经元模型的至 少一实例子集之间共享的参数的共享存储器。第一存储器布局可进一步包括用于存储第一 神经元模型的实例的状态变量的状态变量存储器。第二存储器布局可包括用于存储第二神 经元模型的实例的参数和状态变量两者的共用存储器。
[0143] 在本公开的一方面中,可W用第二神经元模型的至少一实例子集的参数和状态变 量来重写状态变量存储器的至少一部分。可由标志来指示是第一神经元模型的至少一个实 例的状态变量还是第二神经元模型的至少一个实例的参数和状态变量被存储在状态变量 存储器中。
[0144] 在本公开的一方面中,可W用第一神经元模型的至少一实例子集的状态变量来重 写共用存储器的至少一部分。在一方面,对于关联于第二神经元模型的实例的每一人工神 经元而言,第二存储器布局中的参数子集可W是唯一性的。
[0145] 在一方面,在操作该人工神经系统时,第一神经元模型的一个或多个实例的状态 变量W及第二神经元模型的一个或多个实例的状态变量可被同时更新。在另一方面,在操 作人工神经系统时,第二神经元模型的实例的参数可被动态地修改。
[0146] 图8解说了根据本公开的某些方面的使用通用处理器802来操作人工神经系统的 前述方法的示例框图800。与计算网络(神经网络)相关联的变量(神经信号)、突触权重和/ 或系统参数可被存储在存储器块804中,而在通用处理器802处执行的有关指令可从程序存 储器806中加载。在本公开的一方面,加载到通用处理器802中的指令可包括用于W下操作 的代码:为第一神经元模型的实例的参数和状态变量分配第一存储器布局;为具有不同于 第一神经元模型的复杂度的第二神经元模型的实例的参数和状态变量分配不同于第一存 储器布局的第二存储器布局;W及在操作该人工神经系统时,更新用于第一神经元模型或 第二神经元模型中的至少一者的至少一个实例的状态变量。
[0147] 图9解说了根据本公开的某些方面的用于操作人工神经系统的前述方法的示例框 图900,其中存储器902可经由互连网络904与计算网络(神经网络)的个体(分布式)处理单 元(神经处理器)906对接。与计算网络(神经网络)相关联的变量(神经信号)、突触权重、和/ 或系统参数可被存储在存储器902中,并且可从存储器902经由互连网络904的连接被加载 到每个处理单元(神经处理器)906中。在本公开的一方面,处理单元906可被配置成:为第一 神经元模型的实例的参数和状态变量分配第一存储器布局;为具有不同于第一神经元模型 的复杂度的第二神经元模型的实例的参数和状态变量分配不同于第一存储器布局的第二 存储器布局;W及在操作该人工神经系统时,更新用于第一神经元模型或第二神经元模型 中的至少一者的至少一个实例的状态变量。
[0148] 图10解说了根据本公开的某些方面的用于基于分布式权重存储器1002和分布式 处理单元(神经处理器)1004来操作人工神经系统的前述方法的示例框图1000。如图10中所 解说的,一个存储器组1002可直接与计算网络(神经网络)的一个处理单元1004对接,其中 该存储器组1002可存储与该处理单元(神经处理器)1004相关联的变量(神经信号)、突触权 重和/或系统参数。在本公开的一方面,处理单元1004可被配置成:为第一神经元模型的实 例的参数和状态变量分配第一存储器布局;为具有不同于第一神经元模型的复杂度的第二 神经元模型的实例的参数和状态变量分配不同于第一存储器布局的第二存储器布局;W及 在操作该人工神经系统时,更新用于第一神经元模型或第二神经元模型中的至少一者的至 少一个实例的状态变量。
[0149] 图11解说了根据本公开的某些方面的神经网络1100的示例实现。如图11中所解说 的,神经网络1100可包括多个局部处理单元1102,它们可执行W上描述的方法的各种操作。 每个处理单元1102可包括存储该神经网络的参数的局部状态存储器1104和局部参数存储 器1106。另外,处理单元1102可包括具有局部(神经元)模型程序的存储器1108、具有局部学 习程序的存储器1110、W及局部连接存储器1112。此外,如图11中所解说的,每个局部处理 单元1102可与用于配置处理的单元1114对接并且与路由连接处理元件1116对接,单元1102 可提供对局部处理单元的局部存储器的配置,路由连接处理元件元件1116提供局部处理单 元1102之间的路由。
[0150] 根据本公开的某些方面,每个局部处理单元1102可被配置成基于神经网络的一个 或多个期望功能性特征来确定神经网络的参数,W及随着所确定的参数被进一步适配、调 谐和更新来使运一个或多个功能性特征朝着期望的功能性特征发展。
[0151] 图12是根据本公开的某些方面的人工神经系统的示例硬件实现的框图1200。如上 所述的STDP更新可发生在效果可塑性更新和重组块1202中。对于某些方面,经更新的突触 权重可经由高速缓存行接口 1204存储在片外存储器(例如,动态随机存取存储器(DRAM) 1206)中。
[0152] 在典型的人工神经系统中,存在比人工神经元多许多的突触,并且对于大型神经 网络,W高效方式处理突触更新是期望的。大量突触可使得想到将突触权重和其他参数存 储在存储器(例如,DRAM 1206)中。当人工神经元在所谓的"超神经元(SN)"中生成尖峰时, 运些神经元可通过DRAM查找W确定突触后神经元和对应神经权重来将那些尖峰转发给突 触后神经元。为了实现快速和高效的查找,突触排序可例如基于来自神经元的扇出被连贯 地保持在存储器中。稍后当在块1202中处理STDP更新时,效率可在给定此存储器布局的情 况下要求基于转发扇出来处理更新,运是因为不需要捜索DRAM或较大的查找表来确定针对 LTP更新的反向映射。图12中示出的办法促成了运一点。实施可塑性更新和重组块1202可查 询超神经元W力图获得突触前和突触后尖峰时间,由此再次减少所设及的状态存储器量。
[0153] 在本公开的一方面,对于使用分段线性神经元建模框架所创建的神经元的实例, 图12中解说的DRAM 1206可被组织成来自图5的存储器布局500(即,第一存储器布局)。在本 公开的另一方面,对于共用神经元的实例,图12中解说的DRAM1206可被组织成来自图6的存 储器布局604(即,第二存储器布局)。
[0154] W上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。 运些装置可包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路 (ASIC)、或处理器。例如,各种操作可由图8-12中所示的各种处理器中的一个或多个处理器 来执行。一般而言,在存在附图中解说的操作的场合,运些操作可具有带相似编号的相应配 对装置加功能组件。例如,图7中所解说的操作700对应于图7A中所解说的装置700A。
[0155] 例如,用于显示的装置可包括显示器(例如,监视器、平面屏幕、触摸屏等)、打印 机、或任何其他用于输出数据W供视觉描绘(例如表、图表或图形)的合适装置。用于处理的 装置、用于接收的装置、用于跟踪的装置、用于调节的装置、用于更新的装置、或用于确定的 装置可包括处理系统,该处理系统可包括一个或多个处理器或处理单元。用于感测的装置 可包括传感器。用于存储的装置可包括可由处理系统访问的存储器或任何其它合适的存储 设备(例如,RAM)。
[0156] 如本文所使用的,术语"确定"涵盖各种各样的动作。例如,"确定"可包括演算、计 算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、查明、及类似动作。 而且,"确定"可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。 同样,"确定"还可包括解析、选择、选取、建立、及类似动作。
[0157] 如本文所使用的,引述一列项目中的"至少一个"的短语是指运些项目的任何组 合,包括单个成员。作为示例,"a、b或C中的至少一者"旨在涵盖:曰、13、(3、曰-13、曰-(3、13-(3、^及 曰-b-Co
[0158] 结合本公开描述的各种解说性逻辑框、模块、W及电路可用设计成执行本文中描 述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程口阵列 (FPGA)或其他可编程逻辑器件(PLD)、分立的口或晶体管逻辑、分立的硬件组件、或其任何 组合来实现或执行。通用处理器可W是微处理器,但在替换方案中,处理器可W是任何市售 的处理器、控制器、微控制器、或状态机。处理器还可W被实现为计算设备的组合,例如DSP 与微处理器的组合、多个微处理器、与DSP核屯、协同的一个或多个微处理器、或任何其它此 类配置。
[0159] 结合本公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件 模块中、或在运两者的组合中体现。软件模块可驻留在本领域所知的任何形式的存储介质 中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、 EPROM存储器、EEPR0M存储器、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可包括单条 指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间W及跨多个存 储介质分布。存储介质可被禪合到处理器W使得该处理器能从/向该存储介质读写信息。在 替换方案中,存储介质可W被整合到处理器。
[0160] 本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。运些方 法步骤和/或动作可W彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动 作的特定次序,否则具体步骤和/或动作的次序和/或使用可W改动而不会脱离权利要求的 范围。
[0161] 所描述的功能可在硬件、软件、固件或其任何组合中实现。如果W硬件实现,则示 例硬件配置可包括设备中的处理系统。处理系统可W用总线架构来实现。取决于处理系统 的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处 理器、机器可读介质、W及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适 配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用 户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可W被连接到总线。总线还可W链接 各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路w及类似电路,它们在本领域 中是众所周知的,因此将不再进一步描述。
[0162] 处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处 理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理 器、W及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何 组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可 读介质可包括RAM(随机存取存储器)、闪存、ROM(只读存储器)、PR0M(可编程只读存储器)、 EPROM(可擦式可编程只读存储器)、邸PR0M(电可擦式可编程只读存储器)、寄存器、磁盘、光 盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计 算机程序产品中。该计算机程序产品可W包括包装材料。
[0163] 在硬件实现中,机器可读介质可W是处理系统中与处理器分开的一部分。然而,如 本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例, 机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有运 些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被 集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是运种情形。
[0164] 处理系统可W被配置为通用处理系统,该通用处理系统具有一个或多个提供处理 器功能性的微处理器、W及提供机器可读介质中的至少一部分的外部存储器,它们都通过 外部总线架构与其他支持电路系统链接在一起。替换地,处理系统可W用带有集成在单块 忍片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的ASIC (专用集成电路)来实现,或者用一个或多个FPGA(现场可编程口阵列)、化D(可编程逻辑器 件)、控制器、状态机、Π 控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行 本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体 系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功 能性。
[0165] 机器可读介质可包括数个软件模块。运些软件模块包括当由处理器执行时使处理 系统执行各种功能的指令。运些软件模块可包括传送模块和接收模块。每个软件模块可W 驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可W从硬 驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可W将一些指令加载到高 速缓存中W提高访问速度。随后可将一个或多个高速缓存行加载到通用寄存器文件中W供 处理器执行。在参照W下述及软件模块的功能性时,将理解此类功能性是在处理器执行来 自该软件模块的指令时由该处理器来实现的。
[0166] 如果W软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质 上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,运些介质包括 促成计算机程序从一地向另一地转移的任何介质。存储介质可W是能被计算机访问的任何 可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、R0M、EEPR0M、CD-R0M或其他 光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望 程序代码且能被计算机访问的任何其他介质。任何连接也被正当地称为计算机可读介质。 例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(D化)、或无线技术(诸如红 夕KIR)、无线电、W及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光 纤电缆、双绞线、D化或无线技术(诸如红外、无线电、W及微波)就被包括在介质的定义之 中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟 (DVD)、软盘、和蓝光*'碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地 再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介 质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上述 的组合应当也被包括在计算机可读介质的范围内。
[0167] 因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此种 计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,运些指令能由一 个或多个处理器执行W执行本文中所描述的操作。对于某些方面,计算机程序产品可包括 包装材料。
[0168] 另外,应领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能 由设备在适用的场合下载和/或W其他方式获得。例如,此类设备能被禪合至服务器W促成 用于执行本文中所描述的方法的装置的转移。替换地,本文中所描述的各种方法能经由存 储装置(例如,RAM、R0M、诸如压缩碟(CD)或软盘之类的物理存储介质等)来提供,W使得一 旦将该存储装置禪合到或提供给设备,该设备就能获得各种方法。此外,可利用适于向设备 提供本文所描述的方法和技术的任何其他合适的技术。
[0169] 将理解,权利要求并不被限定于W上所解说的精确配置和组件。可在W上所描述 的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范 围。
【主权项】
1. 一种用于操作人工神经系统的方法,包括: 为第一神经元模型的实例的参数和状态变量分配第一存储器布局; 为具有与所述第一神经元模型不同的复杂度的第二神经元模型的实例的参数和状态 变量分配不同于所述第一存储器布局的第二存储器布局;以及 在操作所述人工神经系统时,更新用于所述第一神经元模型或所述第二神经元模型中 的至少一者的至少一个实例的状态变量。2. 如权利要求1所述的方法,其特征在于: 所述第一存储器布局包括用于存储在所述第一神经元模型的至少一实例子集之间共 享的所述参数的共享存储器, 所述第一存储器布局进一步包括用于存储所述第一神经元模型的实例的状态变量的 状态变量存储器;以及 所述第二存储器布局包括用于存储所述第二神经元模型的实例的参数和状态变量两 者的共用存储器。3. 如权利要求2所述的方法,其特征在于,进一步包括: 用所述第二神经元模型的至少一实例子集的参数和状态变量来重写所述状态变量存 储器的至少一部分。4. 如权利要求3所述的方法,其特征在于,进一步包括: 由标志来指示是所述第一神经元模型的至少一个实例的状态变量还是所述第二神经 元模型的至少一个实例的参数和状态变量被存储在所述状态变量存储器中。5. 如权利要求2所述的方法,其特征在于,进一步包括: 用所述第一神经元模型的至少一实例子集的状态变量来重写所述共用存储器的至少 一部分。6. 如权利要求1所述的方法,其特征在于,所述第二存储器布局中的参数子集对于关联 于所述第二神经元模型的实例的每一人工神经元而言是唯一性的。7. 如权利要求1所述的方法,其特征在于,进一步包括: 在操作所述人工神经系统时,同时更新所述第一神经元模型的一个或多个实例的状态 变量以及所述第二神经元模型的一个或多个实例的状态变量。8. 如权利要求1所述的方法,其特征在于,进一步包括: 在操作所述人工神经系统时动态地修改所述第二神经元模型的实例的参数。9. 一种用于操作人工神经系统的装置,包括: 第一电路,其被配置成为第一神经元模型的实例的参数和状态变量分配第一存储器布 局; 第二电路,其被配置成为具有与所述第一神经元模型不同的复杂度的第二神经元模型 的实例的参数和状态变量分配不同于所述第一存储器布局的第二存储器布局;以及 第三电路,其被配置成在操作所述人工神经系统时,更新用于所述第一神经元模型或 所述第二神经元模型中的至少一者的至少一个实例的状态变量。10. 如权利要求9所述的装置,其特征在于: 所述第一存储器布局包括用于存储在所述第一神经元模型的至少一实例子集之间共 享的所述参数的共享存储器, 所述第一存储器布局进一步包括用于存储所述第一神经元模型的实例的状态变量的 状态变量存储器;以及 所述第二存储器布局包括用于存储所述第二神经元模型的实例的参数和状态变量两 者的共用存储器。11. 如权利要求10所述的装置,其特征在于,进一步包括: 第四电路,其被配置成用所述第二神经元模型的至少一实例子集的参数和状态变量来 重写所述状态变量存储器的至少一部分。12. 如权利要求11所述的装置,其特征在于,进一步包括: 第五电路,其被配置成由标志来指示是所述第一神经元模型的至少一个实例的状态变 量还是所述第二神经元模型的至少一个实例的参数和状态变量被存储在所述状态变量存 储器中。13. 如权利要求10所述的装置,其特征在于,进一步包括: 第四电路,其被配置成用所述第一神经元模型的至少一实例子集的状态变量来重写所 述共用存储器的至少一部分。14. 如权利要求9所述的装置,其特征在于,所述第二存储器布局中的参数子集对于关 联于所述第二神经元模型的实例的每一人工神经元而言是唯一性的。15. 如权利要求9所述的装置,其特征在于,进一步包括: 第四电路,其被配置成在操作所述人工神经系统时,同时更新所述第一神经元模型的 一个或多个实例的状态变量以及所述第二神经元模型的一个或多个实例的状态变量。16. 如权利要求9所述的装置,其特征在于,进一步包括: 第四电路,其被配置成在操作所述人工神经系统时动态地修改所述第二神经元模型的 实例的参数。17. -种用于操作人工神经系统的设备,包括: 用于为第一神经元模型的实例的参数和状态变量分配第一存储器布局的装置; 用于为具有与所述第一神经元模型不同的复杂度的第二神经元模型的实例的参数和 状态变量分配不同于所述第一存储器布局的第二存储器布局的装置;以及 用于在操作所述人工神经系统时,更新用于所述第一神经元模型或所述第二神经元模 型中的至少一者的至少一个实例的状态变量的装置。18. 如权利要求17所述的设备,其特征在于: 所述第一存储器布局包括用于存储在所述第一神经元模型的至少一实例子集之间共 享的所述参数的共享存储器, 所述第一存储器布局进一步包括用于存储所述第一神经元模型的实例的状态变量的 状态变量存储器;以及 所述第二存储器布局包括用于存储所述第二神经元模型的实例的参数和状态变量两 者的共用存储器。19. 如权利要求18所述的设备,其特征在于,进一步包括: 用于用所述第二神经元模型的至少一实例子集的参数和状态变量来重写所述状态变 量存储器的至少一部分的装置。20. 如权利要求19所述的设备,其特征在于,进一步包括: 用于由标志来指示是所述第一神经元模型的至少一个实例的状态变量还是所述第二 神经元模型的至少一个实例的参数和状态变量被存储在所述状态变量存储器中的装置。21. 如权利要求18所述的设备,其特征在于,进一步包括: 用于用所述第一神经元模型的至少一实例子集的状态变量来重写所述共用存储器的 至少一部分的装置。22. 如权利要求17所述的设备,其特征在于,所述第二存储器布局中的参数子集对于关 联于所述第二神经元模型的实例的每一人工神经元而言是唯一性的。23. 如权利要求17所述的设备,其特征在于,进一步包括: 用于在操作所述人工神经系统时,同时更新所述第一神经元模型的一个或多个实例的 状态变量以及所述第二神经元模型的一个或多个实例的状态变量的装置。24. 如权利要求17所述的设备,其特征在于,进一步包括: 用于在操作所述人工神经系统时动态地修改所述第二神经元模型的实例的参数的装 置。25. -种用于操作人工神经系统的计算机程序产品,包括具有指令的非瞬态计算机可 读介质,所述指令能执行以用于: 为第一神经元模型的实例的参数和状态变量分配第一存储器布局; 为具有与所述第一神经元模型不同的复杂度的第二神经元模型的实例的参数和状态 变量分配不同于所述第一存储器布局的第二存储器布局;以及 在操作所述人工神经系统时,更新用于所述第一神经元模型或所述第二神经元模型中 的至少一者的至少一个实例的状态变量。26. 如权利要求25所述的计算机程序产品,其特征在于: 所述第一存储器布局包括用于存储在所述第一神经元模型的至少一实例子集之间共 享的所述参数的共享存储器, 所述第一存储器布局进一步包括用于存储所述第一神经元模型的实例的状态变量的 状态变量存储器;以及 所述第二存储器布局包括用于存储所述第二神经元模型的实例的参数和状态变量两 者的共用存储器。27. 如权利要求26所述的计算机程序产品,其特征在于,所述计算机可读介质进一步包 括用于以下操作的代码: 用所述第二神经元模型的至少一实例子集的参数和状态变量来重写所述状态变量存 储器的至少一部分。28. 如权利要求27所述的计算机程序产品,其特征在于,所述计算机可读介质进一步包 括用于以下操作的代码: 由标志来指示是所述第一神经元模型的至少一个实例的状态变量还是所述第二神经 元模型的至少一个实例的参数和状态变量被存储在所述状态变量存储器中。29. 如权利要求26所述的计算机程序产品,其特征在于,所述计算机可读介质进一步包 括用于以下操作的代码: 用所述第一神经元模型的至少一实例子集的状态变量来重写所述共用存储器的至少 一部分。30. 如权利要求25所述的计算机程序产品,其特征在于,所述第二存储器布局中的参数 子集对于关联于所述第二神经元模型的实例的每一人工神经元而言是唯一性的。31. 如权利要求25所述的计算机程序产品,其特征在于,所述计算机可读介质进一步包 括用于以下操作的代码: 在操作所述人工神经系统时,同时更新所述第一神经元模型的一个或多个实例的状态 变量以及所述第二神经元模型的一个或多个实例的状态变量。32. 如权利要求25所述的计算机程序产品,其特征在于,所述计算机可读介质进一步包 括用于以下操作的代码: 在操作所述人工神经系统时动态地修改所述第二神经元模型的实例的参数。
【文档编号】G06N3/10GK106068519SQ201580010482
【公开日】2016年11月2日
【申请日】2015年2月12日 公开号201580010482.1, CN 106068519 A, CN 106068519A, CN 201580010482, CN-A-106068519, CN106068519 A, CN106068519A, CN201580010482, CN201580010482.1, PCT/2015/15637, PCT/US/15/015637, PCT/US/15/15637, PCT/US/2015/015637, PCT/US/2015/15637, PCT/US15/015637, PCT/US15/15637, PCT/US15015637, PCT/US1515637, PCT/US2015/015637, PCT/US2015/15637, PCT/US2015015637, PCT/US201515637
【发明人】A·莎拉, J·A·莱文, J·B·格尔哈尔
【申请人】高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1