配置用于实现低尖峰发放率的神经网络的制作方法

文档序号:10540887阅读:216来源:国知局
配置用于实现低尖峰发放率的神经网络的制作方法
【专利摘要】一种用于选择具有用户定义的激发率的神经元模型以用于在神经网络中操作的方法包括基于所选激发率带宽来选择该神经元模型。
【专利说明】配置用于实现低尖峰发放率的神经网络
[0001] 相关申请的交叉引用
[0002] 本申请要求2014年1月23日提交的美国临时专利申请No.61/930,858、2014年1月 23日提交的美国临时专利申请No. 61/930,849、以及2014年2月13日提交的美国临时专利申 请No. 61/939,537的权益,其全部公开通过援引明确纳入于此。
【背景技术】 [0003] 领域
[0004] 本公开的某些方面一般涉及神经系统工程,并且尤其涉及用于改进操作神经网络 的效率的系统和方法。
[0005] 背景
[0006] 可包括一群互连的人工神经元(即神经元模型)的人工神经网络是一种计算设备 或者表示将由计算设备执行的方法。人工神经网络可具有生物学神经网络中的对应的结构 和/或功能。然而,人工神经网络可为其中传统计算技术是麻烦的、不切实际的、或不胜任的 某些应用提供创新且有用的计算技术。由于人工神经网络能从观察中推断出功能,因此这 样的网络在因任务或数据的复杂度使得通过常规技术来设计该功能较为麻烦的应用中是 特别有用的。
[0007] 概述
[0008] 在一个方面,公开了一种用于选择具有用户定义的激发率的神经元模型以用于在 神经网络中操作的方法。该方法包括基于所选激发率带宽来选择该神经元模型。
[0009] 在另一方面,公开了一种用于选择具有用户定义的激发率的神经元模型以用于在 神经网络中操作的装置。该装置包括存储器以及耦合至该存储器的一个或多个处理器。该 处理器被配置成基于所选激发率带宽来选择该神经元模型。
[0010] 在又一方面,公开了一种用于选择具有用户定义的激发率的神经元模型以用于在 神经网络中操作的设备。该设备包括用于基于该神经网络将藉以操作的所选最小激发率与 该神经网络将藉以操作的所选最大激发率之差来选择激发率带宽的装置。该设备还包括用 于基于所选激发率带宽来选择该神经元模型的装置。
[0011] 在又一方面,公开了一种用于选择具有用户定义的激发率的神经元模型以用于在 神经网络中操作的计算机程序产品。该计算机程序产品包括其上编码有程序代码的非瞬态 计算机可读介质。该程序代码包括用于基于所选激发率带宽来选择该神经元模型的代码。
[0012] 这已较宽泛地勾勒出本公开的特征和技术优势以力图使下面的详细描述可以被 更好地理解。本发明的其他特征和优点将在下文描述。本领域技术人员应该领会,本发明可 容易地被用作改动或设计用于实施与本发明相同的目的的其他结构的基础。本领域技术人 员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本发明的教导。被认为 是本发明的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合 附图来考虑以下描述时将被更好地理解。然而要清楚理解的是,提供每一幅附图均仅用于 解说和描述目的,且无意作为对本发明的限定的定义。
[0013] 附图简述
[0014] 在结合附图理解下面阐述的详细描述时,本发明的特征、本质和优点将变得更加 明显,在附图中,相同附图标记始终作相应标识。
[0015] 图1解说根据本公开的某些方面的示例神经元网络。
[0016] 图2解说根据本公开的某些方面的计算网络(神经系统或神经网络)的处理单元 (神经元)的示例。
[0017] 图3解说根据本公开的某些方面的尖峰定时依赖可塑性(SIDP)曲线的示例。
[0018] 图4解说根据本公开的某些方面的用于定义神经元模型的行为的正态相和负态相 的示例。
[0019] 图5解说根据本公开的某些方面的使用通用处理器来设计神经网络的示例实现。
[0020] 图6解说根据本公开的某些方面的设计其中存储器可以与个体的分布式处理单元 对接的神经网络的示例实现。
[0021] 图7解说根据本公开的某些方面的基于分布式存储器和分布式处理单元来设计神 经网络的示例实现。
[0022] 图8解说根据本公开的某些方面的神经网络的示例实现。
[0023] 图9是解说根据本公开的各方面的用于神经网络的示例性结构的框图。
[0024] 图10A-D是解说根据本公开的各方面的精简的模型神经元集合的示例性示图。
[0025] 图11解说根据本公开的一方面的用于选择具有低激发率的神经元模型以用于在 神经网络中操作的方法。
[0026] 图12是解说根据本公开的一方面的用于选择神经网络中精简数目的模型神经元 的方法的框图。
[0027] 图13是解说根据本公开的一方面的用于生成神经网络的方法的框图。
[0028] 详细描述
[0029] 以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文 中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理 解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在 一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
[0030] 基于教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不 论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任 何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本 公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此 类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来 实施。
[0031] 措辞"示例性"在本文中用于表示"用作示例、实例或解说"。本文中描述为"示例 性"的任何方面不必被解释为优于或胜过其他方面。
[0032] 尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之 内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、 用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协 议,其中一些作为示例在附图以及以下对优选方面的描述中解说。该详细描述和附图仅仅 解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
[0033] 示例神经系统、训练及操作
[0034] 图1解说根据本公开的某些方面的具有多级神经元的示例人工神经系统100。神经 系统100可具有神经元级102,该级神经元102通过突触连接网络104(即,前馈连接)来连接 到另一神经元级106。为简单起见,图1中仅解说了两级神经元,尽管神经系统中可存在更少 或更多级神经元。应注意,一些神经元可通过侧向连接来连接至同层中的其他神经元。此 外,一些神经元可通过反馈连接来后向连接至先前层中的神经元。
[0035] 如图1所解说的,级102中的每一个神经元可以接收可由前级的神经元(未在图1中 示出)生成的输入信号108。信号108可表示级102的神经元的输入电流。该电流可在神经元 膜上累积以对膜电位进行充电。当膜电位达到其阈值时,该神经元可激发并生成输出尖峰, 该输出尖峰将被传递到下一级神经元(例如,级106)。在某些建模办法中,神经元可以连续 地向下一级神经元传递信号。该信号通常是膜电位的函数。此类行为可在硬件和/或软件 (包括模拟和数字实现,诸如以下所述那些实现)中进行仿真或模拟。
[0036] 在生物学神经元中,在神经元激发时生成的输出尖峰被称为动作电位。该电信号 是相对迅速、瞬态的神经冲激,其具有约为100mV的振幅和约为lms的历时。在具有一系列连 通的神经元(例如,尖峰从图1中的一级神经元传递至另一级神经元)的神经系统的特定实 施例中,每个动作电位都具有基本上相同的振幅和历时,并且因此该信号中的信息可仅由 尖峰的频率和数目、或尖峰的时间来表示,而不由振幅来表示。动作电位所携带的信息可由 尖峰、发放了尖峰的神经元、以及该尖峰相对于一个或数个其他尖峰的时间来确定。尖峰的 重要性可由向各神经元之间的连接所应用的权重来确定,如以下所解释的。
[0037] 尖峰从一级神经元向另一级神经元的传递可通过突触连接(或简称"突触")网络 104来达成,如图1中所解说的。关于突触104,级102的神经元可被视为突触前神经元,而级 106的神经元可被视为突触后神经元。突触104可接收来自级102的神经元的输出信号(即, 尖峰),并根据可调节突触权重?#/+1)来按比例缩放那些信号,其中P是级 102的神经元与级106的神经元之间的突触连接的总数,并且i是神经元级的指示符。在图1 的示例中,i表示神经元级102并且i+1表示神经元级106。此外,经按比例缩放的信号可被组 合以作为级106中每个神经元的输入信号。级106中的每个神经元可基于对应的组合输入信 号来生成输出尖峰11 〇。可使用另一突触连接网络(图1中未示出)将这些输出尖峰11 〇传递 到另一级神经元。
[0038] 生物学突触可以仲裁突触后神经元中的兴奋性或抑制性(超级化)动作,并且还可 用于放大神经元信号。兴奋性信号使膜电位去极化(即,相对于静息电位增大膜电位)。如果 在某个时间段内接收到足够的兴奋性信号以使膜电位去极化到高于阈值,则在突触后神经 元中发生动作电位。相反,抑制性信号一般使膜电位超极化(即,降低膜电位)。抑制性信号 如果足够强则可抵消掉兴奋性信号之和并阻止膜电位到达阈值。除了抵消掉突触兴奋以 外,突触抑制还可对自发活跃神经元施加强力的控制。自发活跃神经元是指在没有进一步 输入的情况下(例如,由于其动态或反馈而)发放尖峰的神经元。通过压制这些神经元中的 动作电位的自发生成,突触抑制可对神经元中的激发模式进行定形,这一般被称为雕刻。取 决于期望的行为,各种突触104可充当兴奋性或抑制性突触的任何组合。
[0039] 神经系统100可由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场 可编程门阵列(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组 件、由处理器执行的软件模块、或其任何组合来仿真。神经系统100可用在大范围的应用中, 诸如图像和模式识别、机器学习、电机控制、及类似应用等。神经系统100中的每一神经元可 被实现为神经元电路。被充电至发起输出尖峰的阈值的神经元膜可被实现为例如对流经其 的电流进行积分的电容器。
[0040] 在一方面,电容器作为神经元电路的电流积分器件可被除去,并且可使用较小的 忆阻器元件来替代它。这种办法可应用于神经元电路中,以及其中大容量电容器被用作电 流积分器的各种其他应用中。另外,每个突触104可基于忆阻器元件来实现,其中突触权重 改变可与忆阻器电阻的变化有关。使用纳米特征尺寸的忆阻器,可显著地减小神经元电路 和突触的面积,这可使得实现大规模神经系统硬件实现更为切实可行。
[0041] 对神经系统100进行仿真的神经处理器的功能性可取决于突触连接的权重,这些 权重可控制神经元之间的连接的强度。突触权重可存储在非易失性存储器中以在掉电之后 保留该处理器的功能性。在一方面,突触权重存储器可实现在与主神经处理器芯片分开的 外部芯片上。突触权重存储器可与神经处理器芯片分开地封装成可更换的存储卡。这可向 神经处理器提供多种多样的功能性,其中特定功能性可基于当前附连至神经处理器的存储 卡中所存储的突触权重。
[0042]图2解说根据本公开的某些方面的计算网络(例如,神经系统或神经网络)的处理 单元(例如,神经元或神经元电路)202的示例性示图200。例如,神经元202可对应于来自图1 的级102和106的任何神经元。神经元202可接收多个输入信号20^-20%,这些输入信号可以 是该神经系统外部的信号、或是由同一神经系统的其他神经元所生成的信号、或这两者。输 入信号可以是电流、电导、电压、实数值的和/或复数值的。输入信号可包括具有定点或浮点 表示的数值。可通过突触连接将这些输入信号递送到神经元202,突触连接根据可调节突触 权重soeiioewwpw N)对这些信号进行按比例缩放,其中n可以是神经元202的输入连接总 数。
[0043]神经元202可组合这些经按比例缩放的输入信号,并且使用组合的经按比例缩放 的输入来生成输出信号208(即,信号Y)。输出信号208可以是电流、电导、电压、实数值的和/ 或复数值的。输出信号可以是具有定点或浮点表示的数值。随后该输出信号208可作为输入 信号传递至同一神经系统的其他神经元、或作为输入信号传递至同一神经元202、或作为该 神经系统的输出来传递。
[0044]处理单元(神经元)202可由电路来仿真,并且其输入和输出连接可由具有突触电 路的电连接来仿真。处理单元202及其输入和输出连接也可由软件代码来仿真。处理单元 202还可由电路来仿真,而其输入和输出连接可由软件代码来仿真。在一方面,计算网络中 的处理单元202可以是模拟电路。在另一方面,处理单元202可以是数字电路。在又一方面, 处理单元202可以是具有模拟和数字组件两者的混合信号电路。计算网络可包括任何前述 形式的处理单元。使用这样的处理单元的计算网络(神经系统或神经网络)可用在大范围的 应用中,诸如图像和模式识别、机器学习、电机控制、及类似应用等。
[0045]在神经网络的训练过程期间,突触权重(例如,来自图1的权重? 和/或来自图2的权重206^206〃)可用随机值来初始化并根据学习规则而被增大或减小。本 领域技术人员将领会,学习规则的示例包括但不限于尖峰定时依赖可塑性(STDP)学习规 贝丨J、Hebb规则、0 ja规则、Bienenstock-Copper-Munro(BCM)规则等。在某些方面,这些权重可 稳定或收敛至两个值(即,权重的双峰分布)之一。该效应可被用于减少每个突触权重的位 数、提高从/向存储突触权重的存储器读取和写入的速度、以及降低突触存储器的功率和/ 或处理器消耗。
[0046]突触类型
[0047]在神经网络的硬件和软件模型中,突触相关功能的处理可基于突触类型。突触类 型可包括非可塑突触(权重和延迟没有改变)、可塑突触(权重可改变)、结构化延迟可塑突 触(权重和延迟可改变)、全可塑突触(权重、延迟和连通性可改变)、以及基于此的变型(例 如,延迟可改变,但在权重或连通性方面没有改变)。多种类型的优点在于处理可以被细分。 例如,非可塑突触不会使用待执行的可塑性功能(或等待此类功能完成)。类似地,延迟和权 重可塑性可被细分成可一起或分开地、顺序地或并行地运作的操作。不同类型的突触对于 适用的每一种不同的可塑性类型可具有不同的查找表或公式以及参数。因此,这些方法将 针对该突触的类型来访问相关的表、公式或参数。
[0048] 还进一步牵涉到以下事实:尖峰定时依赖型结构化可塑性可独立于突触可塑性地 来执行。结构化可塑性即使在权重幅值没有改变的情况下(例如,如果权重已达最小或最大 值、或者其由于某种其他原因而不被改变)也可被执行,因为结构化可塑性(即,延迟改变的 量)可以是前-后尖峰时间差的直接函数。替换地,结构化可塑性可被设为权重改变量的函 数或者可基于与权重或权重改变的界限有关的条件来设置。例如,突触延迟可仅在权重改 变发生时或者在权重到达〇的情况下才改变,但在这些权重为最大值时则不改变。然而,具 有独立函数以使得这些过程能被并行化从而减少存储器访问的次数和交叠可能是有利的。
[0049] 突触可塑性的确定
[0050] 神经元可塑性(或简称"可塑性")是大脑中的神经元和神经网络响应于新的信息、 感官刺激、发展、损坏、或机能障碍而改变其突触连接和行为的能力。可塑性对于生物学中 的学习和记忆、以及对于计算神经元科学和神经网络是重要的。已经研究了各种形式的可 塑性,诸如突触可塑性(例如,根据Hebbian理论)、尖峰定时依赖可塑性(STDP)、非突触可塑 性、活跃性依赖可塑性、结构化可塑性和自稳态可塑性。
[0051] STDP是调节神经元之间的突触连接的强度的学习过程。连接强度是基于特定神经 元的输出与收到输入尖峰(即,动作电位)的相对定时来调节的。在STDP过程下,如果至某个 神经元的输入尖峰平均而言倾向于紧挨在该神经元的输出尖峰之前发生,则可发生长期增 强(LTP)。于是使得该特定输入在一定程度上更强。另一方面,如果输入尖峰平均而言倾向 于紧接在输出尖峰之后发生,则可发生长期抑压(LID)。于是使得该特定输入在一定程度上 更弱,并由此得名"尖峰定时依赖可塑性"。因此,使得可能是突触后神经元兴奋原因的输入 甚至更有可能在将来作出贡献,而使得不是突触后尖峰的原因的输入更不可能在将来作出 贡献。该过程继续,直至初始连接集合的子集保留,而所有其他连接的影响减小至无关紧要 的水平。
[0052] 由于神经元一般在其许多输入都在一短时段内发生(即,累积性足以引起输出)时 产生输出尖峰,因此通常保留下来的输入子集包括倾向于在时间上相关的那些输入。另外, 由于在输出尖峰之前发生的输入被加强,因此提供对相关性的最早充分累积性指示的那些 输入将最终变成至该神经元的最后输入。
[0053] STDP学习规则可作为突触前神经元的尖峰时间tpre与突触后神经元的尖峰时间 tpost之间的时间差(即,t = tpcist-tpre )的函数地来有效地适配将该突触前神经元连接到该突 触后神经元的突触的突触权重。STDP的典型公式化是若该时间差为正(突触前神经元在突 触后神经元之前激发)则增大突触权重(即,增强该突触),以及若该时间差为负(突触后神 经元在突触前神经元之前激发)则减小突触权重(即,抑压该突触)。
[0054]在STDP过程中,突触权重随时间推移的改变可通常使用指数式衰退来达成,如由 下式给出的: ,、+,/,/ >()
[0055]雜的二
[◎-,,<0 , ⑴
[0056] 其中k+和k-Tsign(At)分别是针对正和负时间差的时间常数,a+和a-是对应的比例缩 放幅值,并且y是可应用于正时间差和/或负时间差的偏移。
[0057]图3解说了根据STDP,突触权重作为突触前(pre)和突触后(post)尖峰的相对定时 的函数而改变的示例性示图300。如果突触前神经元在突触后神经元之前激发,则对应的突 触权重可被增大,如曲线图300的部分302中所解说的。该权重增大可被称为该突触的LTP。 从曲线图部分302可观察到,LTP的量可作为突触前和突触后尖峰时间之差的函数而大致呈 指数式地下降。相反的激发次序可减小突触权重,如曲线图300的部分304中所解说的,从而 导致该突触的LTD。
[0058]如图3中的曲线图300中所解说的,可向STDP曲线图的LTP(因果性)部分302应用负 偏移lx轴的交越点306(y = 0)可被配置成与最大时间滞后重合以考虑到来自层i-1的各因 果性输入的相关性。在基于帧的输入(即,呈特定历时的包括尖峰或脉冲的帧的形式的输 入)的情形中,可计算偏移值y以反映帧边界。该帧中的第一输入尖峰(脉冲)可被视为要么 如直接由突触后电位所建模地随时间衰退,要么在对神经状态的影响的意义上随时间衰 退。如果该帧中的第二输入尖峰(脉冲)被视为与特定时间帧相关或有关,则该帧之前和之 后的有关时间可通过使STDP曲线的一个或多个部分偏移以使得这些有关时间中的值可以 不同(例如,对于大于一个帧为负,而对于小于一个帧为正)来在该时间帧边界处被分开并 在可塑性意义上被不同地对待。例如,负偏移y可被设置以偏移LTP以使得该曲线实际上在 大于帧时间的前-后时间处变得低于零并且它由此成为LID的一部分而非LTP的一部分。 [0059]神经元模型及操作
[0060]存在一些用于设计有用的尖峰发放神经元模型的一般原理。良好的神经元模型在 以下两个计算态相(regime)方面可具有丰富的潜在行为:一致性检测和功能性计算。此外, 良好的神经元模型应当具有允许时间编码的两个要素:输入的抵达时间影响输出时间,以 及一致性检测能具有窄时间窗。最后,为了在计算上是有吸引力的,良好的神经元模型在连 续时间上可具有闭合形式解,并且具有稳定的行为,包括在靠近吸引子和鞍点之处。换言 之,有用的神经元模型是可实践且可被用于建模丰富的、现实的且生物学一致的行为并且 可被用于对神经电路进行工程设计和反向工程两者的神经元模型。
[0061]神经元模型可取决于事件,诸如输入抵达、输出尖峰或其他事件,无论这些事件是 内部的还是外部的。为了达成丰富的行为库,能展现复杂行为的状态机可能是期望的。如果 事件本身的发生在撇开输入贡献(若有)的情况下能影响状态机并约束该事件之后的动态, 则该系统的将来状态并非仅是状态和输入的函数,而是状态、事件和输入的函数。
[0062]在一方面,神经元n可被建模为尖峰发放带泄漏积分激发神经元,其膜电压vn(t) 由以下动态来支配:
^ (2)
[0064] 其中a和是参数,Wm,n是将突触前神经元m连接至突触后神经元 n的突触的突触权 重,以及ym(t)是神经元m的尖峰发放输出,其可根据A tm,n被延迟达树突或轴突延迟才抵达 神经元n的胞体。
[0065] 应注意,从建立了对突触后神经元的充分输入的时间直至该突触后神经元实际上 激发的时间存在延迟。在动态尖峰发放神经元模型(诸如Izhikevich简单模型)中,如果在 去极化阈值vt与峰值尖峰电压v peak之间有差量,则可能招致时间延迟。例如,在该简单模型 中,神经元胞体动态可由关于电压和恢复的微分方程对来支配,即:
(3) (4)
[0068] 其中v是膜电位,u是膜恢复变量,k是描述膜电位v的时间尺度的参数,a是描述恢 复变量U的时间尺度的参数,b是描述恢复变量U对膜电位V的阈下波动的敏感度的参数,Vr 是膜静息电位,I是突触电流,并且C是膜的电容。根据该模型,神经元被定义为在 V>Vpeak时 发放尖峰。
[0069] Hunzinger Cold模型
[0070] Hunzinger Cold神经元模型是能再现丰富多样的各种神经行为的最小双态相尖 峰发放线性动态模型。该模型的一维或二维线性动态可具有两个态相,其中时间常数(以及 耦合)可取决于态相。在阈下态相中,时间常数(按照惯例为负)表示泄漏通道动态,其一般 作用于以生物学一致的线性方式使细胞返回到静息。阈上态相中的时间常数(按照惯例为 正)反映抗泄漏通道动态,其一般驱动细胞发放尖峰,而同时在尖峰生成中引发等待时间。
[0071] 如图4中所解说的,该模型400的动态可被划分成两个(或更多个)态相。这些态相 可被称为负态相402(也可互换地称为带漏泄积分激发(LIF)态相,勿与LIF神经元模型混 淆)以及正态相404(也可互换地称为抗漏泄积分激发(ALIF)态相,勿与ALIF神经元模型混 淆)。在负态相402中,状态在将来事件的时间趋向于静息(v-)。在该负态相中,该模型一般 展现出时间输入检测性质及其他阈下行为。在正态相404中,状态趋向于尖峰发放事件 ( Vs)。在该正态相中,该模型展现出计算性质,诸如取决于后续输入事件而引发发放尖峰的 等待时间。在事件方面对动态进行公式化以及将动态分成这两个态相是该模型的基础特 性。
[0072] 线性双态相二维动态(对于状态v和u)可按照惯例定义为: (5) ⑻
[0075] 其中qP和r是用于耦合的线性变换变量。
[0076] 符号p在本文中用于标示动态态相,在讨论或表达具体态相的关系时,按照惯例对 于负态相和正态相分别用符号或"+"来替换符号P。
[0077] 模型状态通过膜电位(电压)v和恢复电流u来定义。在基本形式中,态相在本质上 是由模型状态来决定的。该精确和通用的定义存在一些细微却重要的方面,但目前考虑该 模型在电压v高于阈值(v+)的情况下处于正态相404中,否则处于负态相402中。
[0078] 态相依赖时间常数包括负态相时间常数I和正态相时间常数T+。恢复电流时间常 数tu通常是与态相无关的。出于方便起见,负态相时间常数T-通常被指定为反映衰退的负 量,从而用于电压演变的相同表达式可用于正态相,在正态相中指数和将一般为正,正如 T U那样。
[0079] 这两个状态元素的动态可在发生事件之际通过使状态偏离其零倾线(nulled 1 ine) 的变换来耦合 ,其中 变换变量为:
[0080] qP = -TP0u-Vp (7)
[0081] r = 5(v+e)。(8)
[0082] 其中5、e、0和V-、V+是参数。Vp的两个值是这两个态相的参考电压的基数。参数v-是 负态相的基电压,并且膜电位在负态相中一般将朝向v-衰退。参数v+是正态相的基电压,并 且膜电位在正态相中一般将趋向于背离v+。
[0083] v和u的零倾线分别由变换变量qP和r的负数给出。参数S是控制u零倾线的斜率的 比例缩放因子。参数e通常被设为等于-V-。参数0是控制这两个态相中的v零倾线的斜率的 电阻值。t p时间常数参数不仅控制指数衰退,还单独地控制每个态相中的零倾线斜率。
[0084] 该模型可被定义为在电压v达到值vs时发放尖峰。随后,状态可在发生复位事件 (其可以与尖峰事件完全相同)之际被复位:
[0085] V = (9)
[0086] u = u+ A u (10)
[0087] 其中it和A u是参数。复位电压免通常被设为v-。
[0088] 依照瞬时耦合的原理,闭合形式解不仅对于状态是可能的(且具有单个指数项), 而且对于到达特定状态的时间也是可能的。闭合形式状态解为:
(11) (12)
[0091] 因此,模型状态可仅在事件之际被更新,诸如在输入(突触前尖峰)或输出(突触后 尖峰)之际被更新。还可在任何特定时间(无论是否有输入或输出)执行操作。
[0092] 而且,依照瞬时耦合原理,突触后尖峰的时间可被预计,因此到达特定状态的时间 可提前被确定而无需迭代技术或数值方法(例如,欧拉数值方法)。给定了先前电压状态VO, 直至到达电压状态Vf之前的时间延迟由下式给出:
(13)
[0094]如果尖峰被定义为发生在电压状态v到达vs的时间,则从电压处于给定状态v的时 间起测量的直至发生尖峰前的时间量或即相对延迟的闭合形式解为:
如果v>i^ (14) , 吾则
[0096] 其中< 通常被设为参数v+,但其他变型可以是可能的。
[0097] 模型动态的以上定义取决于该模型是在正态相还是负态相中。如所提及的,耦合 和态相P可基于事件来计算。出于状态传播的目的,态相和耦合(变换)变量可基于在上一 (先前)事件的时间的状态来定义。出于随后预计尖峰输出时间的目的,态相和耦合变量可 基于在下一(当前)事件的时间的状态来定义。
[0098] 存在对该Cold模型、以及在时间上执行模拟、仿真、或建模的若干可能实现。这包 括例如事件-更新、步点-事件更新、以及步点-更新模式。事件更新是其中基于事件或"事件 更新"(在特定时刻)来更新状态的更新。步点更新是以间隔(例如,lms)来更新模型的更新。 这不一定使用迭代方法或数值方法。通过仅在事件发生于步点处或步点间的情况下才更新 模型或即通过"步点_事件"更新,基于事件的实现以有限的时间分辨率在基于步点的模拟 器中实现也是可能的。
[0099]用于操作神经网络的最优化
[0100] 神经网络可包括多层神经元,这多层神经元可根据神经元模型和神经元状态在各 种时间激发。随着网络中神经元的总数增大,网络中发放尖峰的神经元的数目也增大并且 进而操作该神经网络所消耗的功率也类似地增大。
[0101] 本公开的各方面针对改进或者甚至最优化神经网络。在一些示例性配置中,这些 改进可包括以降低的激发率来操作神经网络和/或使用精简的模型神经元集合来操作。此 类改进可降低功耗并改进神经网络的可伸缩性以及具有其它益处。
[0102] 图5解说根据本公开的某些方面的使用通用处理器502来操作神经网络的示例实 现500。与计算网络(神经网络)相关联的变量(神经信号)、突触权重、系统参数,延迟,和/或 频率槽信息可被存储在存储器块504中,而在通用处理器502处执行的指令可从程序存储器 506中加载。在本公开的一方面,加载到通用处理器502中的指令可包括用于基于所选速率 带宽来选择神经元模型的代码。
[0103] 在另一示例性配置中,通用处理器502可包括用于生成非零解码矢量的第一稀疏 集合的代码,每个解码矢量与第一神经元层和第二神经元层之间的突触相关联。进一步,在 此示例性配置中,通用处理器502可包括用于仅用第一神经元层中与这些非零解码矢量相 关联的所选模型神经元来实现该神经网络的代码。
[0104] 在又一示例性配置中,通用处理器502可包括选择具有基于输入电流而线性改变 的膜电位的神经元模型的代码。进一步,在此示例性配置中,通用处理器502可包括用于在 膜电位达到阈值时将膜电位复位到预定值的代码。
[0105] 图6解说了根据本公开的某些方面的操作神经网络的示例实现600,其中存储器 602可经由互连网络604与计算网络(神经网络)的个体(分布式)处理单元(神经处理器)606 对接。与计算网络(神经网络)相关联的变量(神经信号)、突触权重、系统参数,延迟,和/或 频率槽信息可被存储在存储器602中,并且可从存储器602经由互连网络604的连接被加载 到每个处理单元(神经处理器)606中。在本公开的一方面,处理单元606可被配置成基于所 选速率带宽来选择神经元模型。
[0106] 在另一示例性配置中,处理单元606可被配置成生成非零解码矢量的第一稀疏集 合,每个解码矢量与第一神经元层和第二神经元层之间的突触相关联。进一步,在此示例性 配置中,处理单元606可被配置成仅使用第一神经元层中与这些非零解码矢量相关联的所 选模型神经元来实现该神经网络。
[0107] 在又一示例性配置中,处理单元606可被配置成选择具有基于输入电流而线性改 变的膜电位的神经元模型。进一步,在此示例性配置中,处理单元606可被配置成在膜电位 达到阈值时将膜电位复位到预定值。
[0108] 图7解说操作神经网络的示例实现700。如图7中所解说的,一个存储器组702可与 计算网络(神经网络)的一个处理单元704直接对接。每一个存储器组702可存储与对应的处 理单元(神经处理器)704相关联的变量(神经信号)、突触权重、和/或系统参数,延迟,以及 频率槽信息。在本公开的一方面,处理单元704可被配置成基于所选速率带宽来选择神经元 模型。
[0109] 在另一示例性配置中,处理单元704可被配置成生成非零解码矢量的第一稀疏集 合,每个解码矢量与第一神经元层和第二神经元层之间的突触相关联。进一步,在此示例性 配置中,处理单元704可被配置成仅使用第一神经元层中与这些非零解码矢量相关联的所 选模型神经元来实现该神经网络。
[0110] 在又一示例性配置中,处理单元704可被配置成选择具有基于输入电流而线性改 变的膜电位的神经元模型。进一步,在此示例性配置中,处理单元704可被配置成在膜电位 达到阈值时将膜电位复位到预定值。
[0111] 图8解说根据本公开的某些方面的神经网络800的示例实现。如图8中所解说的,神 经网络800可具有多个局部处理单元802,它们可执行本文所描述的方法的各种操作。每个 局部处理单元802可包括存储该神经网络的参数的局部状态存储器804和局部参数存储器 806。另外,局部处理单元802可具有用于存储局部模型程序的局部(神经元)模型程序(LMP) 存储器808、用于存储局部学习程序的局部学习程序(LLP)存储器810、以及局部连接存储器 812。此外,如图8中所解说的,每个局部处理单元802可与用于为该局部处理单元的各局部 存储器提供配置的配置处理器单元814对接,并且与提供各局部处理单元802之间的路由的 路由单元816对接。
[0112] 在一种配置中,神经元模型被配置成用于基于神经网络将藉以操作的所选最小激 发率与该神经网络将藉以操作的所选最大激发率之差来选择速率带宽,和/或基于所选速 率带宽来选择神经元模型。该神经元模型包括用于选择速率带宽的装置以及用于选择神经 元模型的装置。在一个方面,该用于选择带宽的装置和/或用于选择神经元模型的装置可以 是被配置成执行所叙述的功能的通用处理器502、程序存储器506、存储器块504、存储器 602、互连网络604、处理单元606、处理单元704、局部处理单元802、和/或路由连接处理元件 816。在另一配置中,前述装置可以是被配置成执行由前述装置所叙述的功能的任何模块或 任何设备。
[0113] 在又一配置中,神经元模型被配置成用于精简神经网络中模型神经元的数目。该 神经元模型包括用于生成非零解码矢量的第一稀疏集合的装置以及用于实现该神经网络 的装置。在一个方面,该生成装置和/或实现装置可以是被配置成执行所叙述的功能的通用 处理器502、程序存储器506、存储器块504、存储器602、互连网络604、处理单元606、处理单 元704、局部处理单元802、和/或路由连接处理元件816。在另一配置中,前述装置可以是被 配置成执行由前述装置所叙述的功能的任何模块或任何设备。
[0114] 在又一配置中,神经元模型被配置成生成神经网络。该神经元模型包括用于选择 具有基于输入电流而线性改变的膜电位的神经元模型的装置以及用于在膜电位达到阈值 时将膜电位复位到预定值的装置。在一个方面,该选择装置和/或复位装置可以是被配置成 执行所叙述的功能的通用处理器502、程序存储器506、存储器块504、存储器602、互连网络 604、处理单元606、处理单元704、局部处理单元802、和/或路由连接处理元件816。在另一配 置中,前述装置可以是被配置成执行由前述装置所叙述的功能的任何模块或任何设备。
[0115] 根据本公开的某些方面,每一个局部处理单元802可被配置成基于神经网络的期 望的一个或多个功能性特征来确定神经网络的参数,以及随着所确定的参数被进一步适 配、调谐和更新来使这一个或多个功能性特征朝着期望的功能性特征发展。
[0116] 以降低的激发率来操作神经网络
[0117] 本公开的各方面针对以降低的激发率操作神经网络。在神经网络中降低激发率或 达成低激发或尖峰发放率具有众多益处,包括降低的功耗。对于被配置或者甚至被最优化 以用于基于事件的仿真的硬件系统尤其如此。另外,降低的激发率可降低计算复杂度并改 进可在硬件系统上运行的网络的大小意义上的可伸缩性。
[0118] 图9是解说根据本公开的各方面的用于神经网络900的示例性结构的框图。参照图 9,神经网络900可具有三层:输入层902、隐藏层904、以及输出层906。虽然在神经网络900中 仅示出三层,但这仅仅是示例性的并为了易于解说和解释。当然,神经网络可被构造有更多 或更少层。
[0119] 神经网络的每一层可包括一个或多个神经元,其可按全部到全部(all-to-all)配 置、全部到一个(all-to-one)配置或任何其他配置经由突触(908、910)耦合在一起。
[0120] 输入层902的各神经元(例如,X〇,…,xD)可包括非线性尖峰发放神经元,其可被配 置成例如接收模拟输入并输出尖峰,该尖峰可经由突触908提供给隐藏层904的各神经元。 在一些方面,突触908可配置成具有随机初始化的权重。这些随机初始化的权重可以例如从 连续随机分布来提供。在其他方面,突触908的权重可被有差别地指派以使得每个突触的权 重是特异的。
[0121] 隐藏层904可包括一个或多个神经元912a、912b、……、912n(其可被统称为神经元 912)。神经元912在一些方面可包括非线性神经元模型的尖峰发放神经元。例如,隐藏层904 的神经元可包括带泄漏积分激发(LIF)神经元、二次积分激发(QIF)神经元、线性阈值(LT) 神经元、Cold神经元、基于映射的神经元模型、基于微分方程的神经元模型或类似物、和/或 其组合。
[0122] 输入数据(例如,输入电流I)可被编码在隐藏层神经元904的激发率(或神经响应 函数)中。输出层906(其可包括线性非尖峰发放神经元)可被配置成对激发率进行解码并输 出隐藏层神经元912的激发率的线性加权总和。输出权重(解码矢量)可被分析地确定以有 益地提供快速的一次性训练。如此,一种用于改进/最优化神经网络的机制可凭借控制神经 元的激发率来实现。
[0123] 在一种示例性配置中,神经网络900(其例如可以是神经工程框架(NEF)网络)可根 据有界的误差以较低或降低的激发率来操作。有界的误差可包括目标最大误差(E)。目标最 大误差(E)可对应于在操作该神经网络中用于达成模拟输入向尖峰的变换的误差容限阈 值。例如,目标最大误差可以是最大允许均方误差。
[0124] 速率带宽(rB)可基于激发率范围来选择。例如,速率带宽可被选择为使得:
(15)
[01 26] 其中rmax是最大编码频率并且rmin是最小编码频率。rmin和rmax的值可以是预先确定 或用户定义的。
[0127] 对于rmin(速率最小值)的给定值,神经元模型可被选择。期望将激发降低到尽可能 接近于〇。在一些方面,该神经元模型可基于以下条件来选择:
[0128] 突触活跃性 a(I〇Hrmin (16)
(17)
[0130] 其中I〇是输入电流,a(I)是突触活跃性(例如,激发率),Ith是尖峰阈值以使得在I〈 Ith时,a (I) = 0。Ith是所选神经元模型的函数。
[0131] 隐藏层904的神经元912可例如根据神经元模型来配置,该神经元模型诸如是带泄 漏积分激发(LIF)神经元模型、二次积分激发(QIF)模型、线性阈值(LT)神经元模型、以及 Cold神经元模型、或类似物等。
[0132] LIF神经元模型可表达如下:
如果y >你:r - % 。 (18)
[0134] 其中是时间常数,v是膜电位,Vr是复位值,并且Vth是阈值。
[0135] QIF神经元模型可表达如下:
兔!果衫髮-' tV (19)
[0137] 其中是时间常数,v是膜电位,Vr是复位值,并且Vth是阈值。
[0138] LT神经元模型可表达如下:
如果d泳;衫tv (20)
[0140] 其中是时间常数,v是膜电位,Vr是复位值,并且Vth是阈值。
[0141] 神经元模型可被选择以使得式16和17中指定的条件被满足。通过基于这些条件来 选择神经元模型并使用根据所选神经元模型配置的神经元912来填充隐藏层,神经网络900 就可以低激发率来被操作。
[0142]作为示例,使用各种神经元模型的神经网络的性能可被比较以标识隐藏层神经元 的期望或者甚至最优化模型神经元。根据本公开的各方面,神经元模型和速率带宽可被选 择。例如,对于LT模型,突触活跃性可由下式给出:
(21)
[0144] 相应地,以上式16和17在输入电流IQ = vth;并且时间常数TRC = 20ms的情况下对于 任何rB>0和rmin 20均被满足。
[0145] 在另一示例中,LIF模型的突触活跃性可由下式给出:
(22)
[0147] 相应地,以上式16和17在非标准模型参数(例如,相比于标准时间常数TRC = 20ms, 时间常数tRC = 400ms)的情况下对于rB = 60; rmin = 5被满足。然而,式16和17在标准模型参数 (即,trc = 20ms)的情况下对于rB = 60和rmin = 5可能不被满足。
[0148] 在进一步示例中,关于QIF模型的突触活跃性可由下式给出:
(23)
[0150] 如此,以上式16和17在输入电流IQ = vth并且时间常数TRC = 20ms的情况下对于rB> 10(^Prmin2 5被满足。
[0151] 在一个示例性方面,神经网络可被配置成以低激发率如下操作:
[0152] 选择用于隐藏神经元912的神经元激发率的范围,rmin到rmax。r min和rmax的值可以是 用户定义的或者可以是基于函数的输入和输出信号(诸如它们的奈奎斯特速率(例如,r min> 输入信号奈奎斯特速率))和目标硬件参数(诸如t步长)来选择的。
[0153] 选取速率范围和速率带宽(rB),以使得rB〈r max-rmin。在一些方面,可选取较大的rB 以满足此约束并配合其他因素,诸如用于定点的参数量化。
[0154] 选择满足如以上指定的式16和17的神经元模型。在一种示例性配置中,该神经元 模型可以是线性阈值神经元模型。当然,也可选择QIF、LIF和其他神经元模型。在一些方面, 例如在多个神经元满足式16和17的情况下,计算、功率、性能要求和可用神经元模型也可用 作神经元模型选择的基础。
[0155] 进一步,可选择满足式(16)和(17)的神经元模型的参数集合。在一些方面,例如, 这可使用参数搜索办法来发生。可进一步指定附加的准则用于神经网络最优化。替换地,神 经元模型的参数集合可使用以上指定的解空间或类似物等来确定。
[0156] 模型权重基于所选神经元模型和参数集合来确定以实现该功能。在一些方面,NEF 规程可确定模型权重。
[0157] 在一些方面,模型性能可比对目标性能来检查。进一步,在满足式16和17的同时, 模型参数可被修改以改进性能。
[0158] 使用精简数目的模型神经元来操作神经网络
[0159] 一旦检测到神经模型,神经网络900就可通过精简模型神经元902(和对应突触)的 集合来改进。使用精简数目的模型神经元912来操作神经网络900可具有显著的性能和成本 益处。例如,神经网络中精简的模型神经元集合可增进硬件系统上的存储容量(例如,更多 神经元层可被填塞到硬件系统上)并且可降低计算复杂度和功耗。
[0160] 根据本公开的示例性方面,可通过生成解码矢量炉(解码矢量识可表示突触连接 权重)的稀疏(即,具有一些零值的)集合来获得精简的模型神经元(可被称为"有效"神经 元)集合。进而,神经网络900可仅使用具有非零解码矢量的神经元来操作。也就是说,经由 具有零权重的突触连接(例如,910b、910c)耦合至输出层906的隐藏层神经元(例如,912b、 912c)可被移除以使得神经网络900可以仅使用剩余神经元来操作。
[0161] 解码矢量炉的稀疏集合可使用正则化技术来生成。正则化技术可降低可能导致过 拟合和其他问题的模型复杂度。相应地,正则化技术可减少神经网络中突触连接和/或神经 元的数目。正则化导致较少的小值,取而代之地,增加了零值的数目。
[0162] 例如,在一些方面,解码矢量炉的稀疏集合可使用具有L1正则化的最小二乘最优 化(也称为LASSO(最小绝对收缩和选择操作符)最优化)如下生成:
[0163] _ 4 A關!i)
[0164] 其中A是正则化项(其被变动以满足性能目标),并且|是与激发率的加权总和相对 应的输出的估计,其可被提供给输出层906并由下式给出:
(25)
[0166] 其中x是输入信号,ai(x)(i = l,…,N)是神经响应函数并且识是解码矢量。通过应 用L1正则化,可确定最优解码矢量。在执行L1正则化时,解码矢量识或突触连接中的一些可 被清零。
[0167] 方法 1:
[0168] 在一种示例性配置中,可通过生成在隐藏层中有N个节点的神经网络来确定精简 的模型神经元集合。在一些方面,该神经网络可以是NEF网络或类似物等。
[0169] LASSO处理可生成具有M(MSN)个非零解码矢量的稀疏集合。具有非零解码矢量的 神经元可被标记为有效模型神经元。该神经网络由此可仅使用有效模型神经元来操作。相 应地,该神经网络可使用精简的神经元集合以及其间的对应连接来操作。
[0170] 方法 2:
[0171] 在第二示例性配置中,可通过如方法1中描述地生成M〈N个有效模型神经元来确定 精简的模型神经元集合。可生成新层,该新层包括这M个有效模型神经元和具有N-M个模型 神经元的新集合。
[0172] LASSO处理可生成具有非零解码矢量的稀疏集合(L < M < N)。具有非零解码矢量的 L个神经元的集合可被标记为有效模型神经元。神经网络进而可仅使用有效模型神经元来 操作。相应地,神经网络可使用精简的神经元集合以及对应互连来操作。
[0173] 方法 3:
[0174] 在进一步示例性配置中,可通过重复方法1达L次以生成具有各自包括MSN个有效 模型神经元的L个隐藏层的神经网络的正则化组委来确定精简的模型神经元集合。神经网 络的组委可被统筹以实现包括NRe个有效模型神经元的神经网络,其中
(26)
[0176] 方法 4:
[0177] 在又一进一步示例性配置中,可通过对具有来自方法3的NRe个有效模型神经元的 集合执行LASSO处理以生成解码矢量的稀疏集合M Re < 1^来确定精简的模型神经元集合。神 经元网络可使用具有MRe个有效模型神经元的该新集合来实现。
[0178] 尽管上述示例性配置利用LASSO正则化,但也可使用L2正则化或其他正则化方法。 例如,在一个方面,可使用L2正则化。在一些方面,生成非零解码矢量的稀疏集合可进一步 包括将具有小值(例如,绝对值小于阈值)的解码矢量设置为零。
[0179]在一些方面,式24的正则化项(A)可被选择以精简对于预期的期望性能的给定值 而言有效神经元的数目或甚至使之最小化。也就是说,正则化项(A)可例如基于差错率、神 经元数目、其他系统和/或性能考量或度量来选择。例如,对于方法1,性能目标(例如,以MSE (最小均方误差)形式)可被设置并用于通过变动A来找到精简数目的有效神经元以满足期 望程度的性能目标。误差容限可以是用户选择的,并且随后正则化项可被相应地设置。 [0180]在一些方面,在隐藏层(例如904)中包括精简(例如根据以上方法1-4精简)的模型 神经元集合的神经网络(例如900)可如上所述地以低激发率被操作,由此产生进一步优化 的神经网络。
[0181] 在本公开的一些方面,可通过选择具有随输入电流线性改变的膜电位的神经元模 型(例如,尖峰发放神经元模型)并在膜电位达到阈值时将其复位来生成神经网络。
[0182] 图10A-D是解说精简的模型神经元集合的示例性示图。图10A解说了根据上述方法 1生成的精简的模型神经元集合。图10A示出神经网络的包括N个神经元(例如,1004a、……、 1004n,其可被称为神经元1004)的隐藏层1002。隐藏层1002可与图9的隐藏层904相类似地 配置。
[0183] 可执行LASSO处理(L1)以估计或学习由解码矢量(例如,1008)表示的突触后权重。 通过应用L1正则化,所估计或学习的解码矢量中的一些可被设为零,而剩余的解码矢量可 被设为非零值。具有零权重的解码矢量可被移除,由此生成精简的或更稀疏的解码矢量集 合,其可被称为非零解码矢量1008a、……、1008m(其可被统称为非零解码矢量1008)的稀疏 集合(MSN) 〇
[0184] 在一些方面,与具有零权重的解码矢量相关联的神经元从隐藏层1002被移除以产 生经修改的隐藏层1006。具有非零解码矢量(例如,1008a、……、1008m)的M个剩余隐藏层神 经元(例如,1004a、......、1004m)可被标记为有效模型神经元1004a、......、1004m。以此方式, 可实现具有M个隐藏层神经元1004的精简集合。相应地,神经网络可使用神经元1006的精简 集合以及对应互连来操作。
[0185] 图10B解说了根据上述方法2生成的精简的模型神经元集合。图10B示出包括根据 方法1(并如图10A中所示)生成的M个有效模型神经元和具有N-M个模型神经元1010的新集 合的神经网络的经修改隐藏层1006。在一些方面,这M个有效模型神经元(1006)的突触前连 接的权重可以是固定的,而具有N-M个模型神经元的该新集合的突触前连接的权重可以是 随机的。
[0186] 可对这M个有效模型神经元(1006)和具有N-M个模型神经元(1010)的新集合的组 合执行LASSO处理(L1)以学习解码矢量权重(例如,1008a)。如以上关于图10A讨论的,解码 矢量权重中的一些可以为零并且因此可被移除以由此生成具有L(L<M<N)个非零解码矢 量1008的稀疏集合。
[0187] 类似地,具有零权重解码矢量的隐藏层神经元也可被移除以产生包括L个神经元 的隐藏层1012。具有非零解码矢量的L个神经元的集合可被标记为有效模型神经元。该神经 网络进而可使用隐藏层1012中的仅这L个有效模型神经元来操作。相应地,该神经网络可使 用精简的神经元集合以及其间的对应连接来操作。
[0188] 图10C解说了根据上述方法3生成的精简的模型神经元集合。如图10C中所示,神经 网络的正则化组委包括含有各自根据上述(且在图10A中示出)的方法1生成的M(MSN)个有 效模型神经元(1021,1023,1025)的隐藏层。该神经网络的正则化组委可被统筹以实现包括 N Re个有效模型神经元1030的神经网络。
[0189] 图10D解说了根据上述方法4生成的精简的模型神经元集合。如图10D中所示,根据 方法3生成(并在图10C中示出)的具有N Re个有效模型神经元1030的集合可进一步通过对具 有NRe个有效模型神经元1030的该集合执行LASSO处理(L1)以产生解码矢量的稀疏集合M Re < NRe(1034)来得以减小。相应地,该神经网络可使用具有MRe个有效模型神经元1032的新集 合来实现。
[0190] 图11解说用于选择具有低激发率的神经元模型以用于在神经网络中操作的方法 1100。在框1102,该过程基于激发率范围来选择速率带宽。此外,在框1104,该过程基于所选 速率带宽来选择神经元模型。
[0191] 图12解说用于选择神经网络中精简数目的模型神经元的方法1200。在框1202,该 过程生成非零解码矢量的第一稀疏集合。每个解码矢量与第一神经元层和第二神经元层之 间的突触相关联。此外,在框1204,该过程仅使用第一神经元层中与这些非零解码矢量相关 联的所选模型神经元来实现该神经网络。
[0192] 图13解说了用于生成神经网络的方法1300。在框1302,该过程选择神经元模型(例 如,尖峰发放神经元模型)。该神经元模型具有基于输入电流而线性改变的膜电位。此外,在 框1304,该过程在膜电位达到阈值时将膜电位复位到预定值。
[0193] 以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。 这些装置可包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路 (ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号 的相应配对装置加功能组件。
[0194] 如本文所使用的,术语"确定"涵盖各种各样的动作。例如,"确定"可包括演算、计 算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。 另外,"确定"可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。 而且,"确定"可包括解析、选择、选取、确立及类似动作。
[0195] 如本文中所使用的,引述一列项目中的"至少一个"的短语是指这些项目的任何组 合,包括单个成员。作为示例,"a、b或c中的至少一个"旨在涵盖:a、b、c、a-b、a_c、b_c、和a-b-c〇
[0196] 结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文所 描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列 信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任 何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何 市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如 DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器或任何其它 此类配置。
[0197] 结合本公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件 模块中、或在这两者的组合中体现。软件模块可驻留在本领域所知的任何形式的存储介质 中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(R0M)、闪存、可 擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPR0M)、寄存器、硬盘、可移 动盘、CD-ROM,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码 段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得 该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
[0198] 本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。这些方 法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动 作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的 范围。
[0199] 所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示 例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统 的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处 理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适 配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用 户接口(例如,按键板、显示器、鼠标、操纵杆等)也可被连接至总线。总线还可链接各种其他 电路(诸如定时源、外围设备、稳压器、电源管理电路等),这些电路在本领域中是众所周知 的,因此将不再赘述。
[0200] 处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处 理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理 器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何 组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可 读介质可包括随机存取存储器(RAM)、闪存、只读存储器(R0M)、可编程只读存储器(PR0M)、 可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPR0M)、寄存器、磁盘、光 盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计 算机程序产品中。该计算机程序产品可以包括包装材料。
[0201] 在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如 本领域技术人员将容易领会的,机器可读介质、或其任何部分可在处理系统外部。作为示 例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有 这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质、或其任何部分可 被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的 各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某 些组件被配置成分布式计算系统的一部分。
[0202]处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理 器功能性的微处理器、和提供机器可读介质中的至少一部分的外部存储器,它们都通过外 部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神 经元形态处理器以用于实现本文所述的神经元模型和神经系统模型。作为另一替代方案, 处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和 至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门 阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其 他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实 现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最 佳地实现关于处理系统所描述的功能性。
[0203]机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理 系统执行各种功能的指令。这些软件模块可包括传输模块和接收模块。每个软件模块可以 驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬 驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高 速缓存中以提高访问速度。随后可将一个或多个高速缓存行加载到通用寄存器文件中以供 由处理器执行。在以下谈及软件模块的功能性时,将理解此类功能性是在处理器执行来自 该软件模块的指令时由该处理器来实现的。
[0204]如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质 上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括 促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何 可用介质。作为示例而非限定,这样的计算机可读介质可包括 它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的 期望程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介 质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸 如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电 缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定 义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用 碟(DVD)、软盘、和蓝光》碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学 地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形 介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上 述的组合应当也被包括在计算机可读介质的范围内。
[0205]因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类 计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一 个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括 包装材料。
[0206]此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置 能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦 合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文所述的各种 方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供, 以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。 此外,能利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。
[0207]应该理解的是,权利要求并不被限定于以上所解说的精确配置和组件。可在以上 所描述的方法和设备的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要 求的范围。
【主权项】
1. 一种用于选择具有用户定义的激发率的神经元模型以用于在神经网络中操作的方 法,包括: 至少部分地基于所选激发率带宽来选择所述神经元模型。2. 如权利要求1所述的方法,其特征在于,所述激发率带宽是至少部分地基于所述神经 网络将藉以操作的所选最小激发率与所述神经网络将藉以操作的所选最大激发率之差来 选择的。3. 如权利要求2所述的方法,其特征在于,所述最小激发率至少部分地基于模型生成的 神经响应函数相对于输入电流的变化率。4. 如权利要求2所述的方法,其特征在于,所述选择至少部分地基于满足以下条件:关 于所选神经元模型所生成的神经响应函数小于或等于所选最小激发率。5. 如权利要求1所述的方法,其特征在于,所述神经元模型是至少部分地基于输入电流 和尖峰发放阈值来选择的。6. 如权利要求1所述的方法,其特征在于,所述神经网络至少部分地基于神经工程框 架。7. 如权利要求1所述的方法,其特征在于,所述神经元模型是从包括以下各项的组中选 择的:带泄漏积分激发(LIF)神经元模型、二次积分激发(QIF)神经元模型、基于映射的神经 元模型、线性阈值(LT)神经元模型、基于微分方程的神经元模型以及Co Id神经元模型。8. -种用于选择具有用户定义的激发率的神经元模型以用于在神经网络中操作的装 置,包括: 存储器;以及 耦合至所述存储器的至少一个处理器,所述至少一个处理器被配置成: 至少部分地基于所选激发率带宽来选择所述神经元模型。9. 如权利要求8所述的装置,其特征在于,所述至少一个处理器被进一步配置成至少部 分地基于所述神经网络将藉以操作的所选最小激发率与所述神经网络将藉以操作的所选 最大激发率之差来选择所述激发率带宽。10. 如权利要求9所述的装置,其特征在于,所述至少一个处理器被进一步配置成至少 部分地基于模型生成的神经响应函数相对于输入电流的变化率来选择所述最小激发率。11. 如权利要求9所述的装置,其特征在于,所述至少一个处理器被进一步配置成至少 部分地基于满足以下条件来选择所述神经元模型:关于所选神经元模型所生成的神经响应 函数小于或等于所选最小激发率。12. 如权利要求8所述的装置,其特征在于,所述至少一个处理器被进一步配置成至少 部分地基于输入电流和尖峰发放阈值来选择所述神经元模型。13. 如权利要求8所述的装置,其特征在于,所述神经网络至少部分地基于神经工程框 架。14. 如权利要求8所述的装置,其特征在于,所述至少一个处理器被进一步配置成从包 括以下各项的组中选择所述神经元模型:带泄漏积分激发(LIF)神经元模型、二次积分激发 (QIF)神经元模型、基于映射的神经元模型、线性阈值(LT)神经元模型、基于微分方程的神 经元模型以及Cold神经元模型。15. -种用于选择具有用户定义的激发率的神经元模型以用于在神经网络中操作的设 备,包括: 用于至少部分地基于所述神经网络将藉以操作的所选最小激发率与所述神经网络将 藉以操作的所选最大激发率之差来选择激发率带宽的装置;以及 用于至少部分地基于所选激发率带宽来选择所述神经元模型的装置。16. 如权利要求15所述的设备,其特征在于,所述最小激发率至少部分地基于模型生成 的神经响应函数相对于输入电流的变化率。17. 如权利要求15所述的设备,其特征在于,所述用于选择所述神经元模型的装置至少 部分地基于满足以下条件来选择所述神经元模型:关于所选神经元模型所生成的神经响应 函数小于或等于所选最小激发率。18. 如权利要求15所述的设备,其特征在于,所述用于选择所述神经元模型的装置至少 部分地基于输入电流和尖峰发放阈值来选择所述神经元模型。19. 如权利要求15所述的设备,其特征在于,所述神经网络至少部分地基于神经工程框 架。20. 如权利要求15所述的设备,其特征在于,所述用于选择所述神经元模型的装置从包 括以下各项的组中选择所述神经元模型:带泄漏积分激发(LIF)神经元模型、二次积分激发 (QIF)神经元模型、基于映射的神经元模型、线性阈值(LT)神经元模型、基于微分方程的神 经元模型以及Cold神经元模型。21. -种用于选择具有用户定义的激发率的神经元模型以用于在神经网络中操作的计 算机程序产品,包括: 其上编码有程序代码的非瞬态计算机可读介质,所述程序代码包括: 用于至少部分地基于所选激发率带宽来选择所述神经元模型的程序代码。22. 如权利要求21所述的计算机程序产品,其特征在于,进一步包括,用于至少部分地 基于所述神经网络将藉以操作的所选最小激发率与所述神经网络将藉以操作的所选最大 激发率之差来选择所述激发率带宽的程序代码。23. 如权利要求22所述的计算机程序产品,其特征在于,进一步包括,用于至少部分地 基于模型生成的神经响应函数相对于输入电流的变化率来选择所述最小激发率的程序代 码。24. 如权利要求22所述的计算机程序产品,其特征在于,进一步包括,用于至少部分地 基于满足以下条件来选择所述神经元模型的程序代码:关于所选神经元模型所生成的神经 响应函数小于或等于所选最小激发率。25. 如权利要求21所述的计算机程序产品,其特征在于,进一步包括,用于至少部分地 基于输入电流和尖峰发放阈值来选择所述神经元模型的程序代码。26. 如权利要求21所述的计算机程序产品,其特征在于,所述神经网络至少部分地基于 神经工程框架。27. 如权利要求21所述的计算机程序产品,其特征在于,进一步包括,用于从包括以下 各项的组中选择所述神经元模型的程序代码:带泄漏积分激发(LIF)神经元模型、二次积分 激发(QIF)神经元模型、基于映射的神经元模型、线性阈值(LT)神经元模型、基于微分方程 的神经元模型以及Cold神经元模型。
【文档编号】G06N3/02GK105900115SQ201480071680
【公开日】2016年8月24日
【申请日】2014年12月3日
【发明人】S·S·塔拉迪, D·J·朱里安, V·S·R·安纳普莱蒂
【申请人】高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1