当前位置: 首页 > 专利查询>英特尔公司专利>正文

处理脉冲神经网络中的信号饱和制造技术

技术编号:19122764 阅读:20 留言:0更新日期:2018-10-10 05:32
本公开提供了用于生成脉冲神经网络。生成脉冲神经网络可以包括:确定从多个输入神经元到多个输出神经元中的每个输出神经元的第一输入扇入大于阈值;基于确定所述第一输入扇入大于所述阈值而生成多个中间神经元;以及将所述多个中间神经元耦合至所述多个输入神经元和所述多个输出神经元,其中,所述多个中间神经元中的每一个都具有小于所述第一输入扇入的第二输入扇入,并且所述多个输出神经元中的每一个都具有小于所述第一输入扇入的第三输入扇入。

【技术实现步骤摘要】
处理脉冲神经网络中的信号饱和
本公开涉及神经网络。具体地,本公开涉及脉冲神经网络。附图说明图1是简图,展示了根据各个实施例的脉冲神经网络中的多个神经元。图2、图3、图4、和图5是流程图,展示了根据各个实施例的用于处理脉冲神经网络中的信号饱和的方法。图6是框图,展示了根据各个实施例的适合用于实践本公开的各方面的示例计算设备。图7是框图,展示了根据各个实施例的具有用于实践参照图1至图6所描述的方法的指令的存储介质。具体实施方式在许多应用中,可能期望脉冲神经元的输出能够准确地反映其输入和扇入权重的点积。实现这种脉冲神经网络可能是困难的,因为脉冲神经元在单位时间窗口内就其可以产生的脉冲数量而言可能达到饱和。如本文中所使用的,脉冲神经网络是由脉冲神经元和突触组成的网络。脉冲神经元可以是不在每个传播周期都激发而是仅当膜电势达到特定值时才激发的神经元。膜电势是生物细胞的内部与外部之间的电势之间的差。在一些实施例中,脉冲神经元可以利用被称为节点的软件对象来实现。突触可以利用被称为链路的软件对象来实现。本文中所描述的示例还可以利用神经处理器被实现。一种用于处理脉冲神经元的饱和的手段是前馈抑制网络。然而,前馈抑制网络可以利用O(n2)个突触(例如,神经元之间的连接)和2n个神经元。突触的状态维护可能是昂贵的(例如,成本和/或时间)硬件事件。替代方案是增加时间步长的数量并使用更大的膜时间常数,但这可能与硬件所允许的精度相冲突。在本文中所描述的多个实施例中,提出了一种网络重构机制。实现网络重构机制的多个实施例可以结合缩放和深度来避免饱和效应。网络重构机制可以利用O(n.logn)个神经元(例如,节点)和O(n.logn)个附加突触(例如,链路)来实现。突触状态的数量(其对于硬件芯片维护是昂贵的)使得网络重组机制具有吸引力。突触的状态可以影响相关联神经元之间的信号传输。网络重构机制允许脉冲神经网络的设计者在各种设计常数之间作出权衡以便完成任务。可以通过引入神经元和突触(例如,O(n.logn)个神经元和/或O(n.logn)个突触)的中间层来重构原始网络,以使得适当地管理脉冲神经网络的输出神经元处的扇入从而使输出神经元保持在低于神经元的饱和水平的状况。如本文中所使用的,饱和水平可以指神经元的激发率的饱和。如果神经元在给定时间窗口内接收到数量大于输入脉冲阈值的输入脉冲,则所述神经元饱和。当饱和时,神经元随其膜电势达到阈值(例如,膜电势阈值)而激发。不会以任何有意义的方式使用超过使神经元饱和所需的任何另外的输入脉冲,并且其所承载的信息简单地被丢弃。与其他已知技术相比(如前馈抑制),重构网络所需的多个附加突触较少。多个实施例还描述了用于确定在给定网络的其他控制参数的情况下需要多少附加神经元层(例如,以及因此新的最大扇入尺寸)的导引方程。所述导引方程利用多个参数来获得所需结果。一种可能的方式是通对层响应进行归一化来处理饱和。对层响应进行归一化包括:对层的集体响应进行求和,并且然后将每个单个响应除以这个总和,以使得总响应维持在特定水平。然而,这种机制很难以单个神经元范围内的硬件来实现,因为求和过程包括从神经元池的每个元素收集响应。因此,这个过程无法在单个神经元的活动内“本地”实现,并且神经元被授权以非常非本地的方式进行通信。本文中所描述的多个实施例是完全本地的并且引入O(nlogn)个附加突触,这明显优于需要O(n2)个附加突触的前馈抑制技术的替代方案。当神经元的输入扇入大于阈值时,可以通过引入附加神经元(例如,中间神经元)来分解扇入,所述附加神经元中的每一个吸收原始输入扇入的一部分。如本文中所使用的,扇入还可以被称为扇入宽度。扇入可以描述可以连接至神经元的输入的数量。附加神经元可以组合以形成中间层。附加神经元中的一些或全部可以馈送到原始神经元中。中间层的数量可以基于最初制作了多少分区以及允许多少最大扇入来选择。在讨论神经网络的重构时,以下变量可能是相关的。令变量T表示大量脉冲被合成的时间窗口。变量x可以限定输入信号。变量y可以限定输出。变量n可以表示最大允许扇入宽度,其可以是可以利用期望深度和原始扇入来调整的控制变量。变量τ可以是假设膜时间常数在网络上是同质时神经元的膜时间常数。变量Δv可以表示膜电压变化的阈值范围,在所述膜电压变化之后生成脉冲。变量w是神经元的权重矩阵。变量λ是对应用(例如,脉冲神经网络)而言可以唯一的比例常数。神经元的输出可以大致与神经元的扇入权重和神经元的输入之间的点积成比例。为了实现这一点,可以通过引入辅助神经元和突触来重构原始网络。用于获得网络的结构参数的近似导引方程为:其可以被称为方程1(例如,(1))。方程1可以使λ、n和Δv的乘积与一减e的次幂和τ乘以w到L1的大小除以T的乘积相等。在给定网络神经元的情况下(输出可能由于高扇入和/或高输入脉冲速率而变得饱和),网络可以被重构以使得没有神经元接收多于n的扇入。重构神经网络可以包括将输入神经元分组成不同的组。不同组中的每个组可以扇入到至少一个新的中间神经元中。中间神经元层还可以被划分成扇入到下一个神经元层的相应组,以此类推。神经网络可以被重构为使得与原始神经网络相比输出神经元的扇入是减少的。方程1可以推导如下。考虑具有n个扇入连接和输入连接中的每一个都具有速率k的神经元。即在T时间步长的窗口内在每个输入通道上存在个脉冲。给定连接权重的固定集合,可以以输出速率来反映总输入脉冲的总数(例如,输出脉冲~λnr的数量)。输出响应y是输入神经元的非线性函数。对于简单的合成和激发神经元,输出响应的微分变化可以为任何时间的dy∝g(t)T.w,其中,g(t)是其输入脉冲的导电迹线并且w是输入连接权重。平均为这里,Δv是使得脉冲生成的阈值电压的范围。可能无法获得点积μ=g.w的确切值;脉冲可以是随机的并且因此可以是随机变量。最接近的估计值是对这个随机变量的期望。μ=g.w的点积可以是元素的向量。E[μ]=E[g.w]。令σt测量输入脉冲的平均导电迹线,然后这意味着,E[g]=σt1n,其中,1n表示长度为n的全部一个向量。因此,其可以被称为方程(2)(例如,假设+ve权重)。σt=T可以近似为被称为方程(3)的积分估计方程(3)中的上述积分并代入方程(2)可以导致方程(1)。在以下详细描述中,参考形成其一部分并且通过图解示出可以实践的实施例的附图,其中,相同的标号指代相同的部件。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例并且可以做出结构改变或逻辑改变。因此,以下具体实施方式不应被认为具有限制意义,并且实施例的范围由所附权利要求书及其等效物来限定。在所附的说明中公开了本公开的方面。可以在不脱离本公开的精神或范围的情况下设计本公开的替代性实施例及其等效物。应注意的是,在附图中由相似的参考号来指代在下文中公开的相似元素。可以采用对理解所要求保护的主题最有帮助的方式将各个操作依次描述为多个分立的动作或操作。然而,描述的顺序不应被解释为暗示这些操作必需依赖于顺序。特别地,这些操作可以不按所呈现的顺序来执行。可以按照与所描述的实施例不同的顺序来执行所描述的操作。可以执行和/或描述各种附加操作。可以在附加实施例中省略操作。出于本公开的目的,短语“A和本文档来自技高网...
处理脉冲神经网络中的信号饱和

【技术保护点】
1.一种用于生成脉冲神经网络的设备的装置,所述装置包括:电子存储器,用于存储脉冲神经网络的多个输入神经元和多个输出神经元;一个或多个处理器,被配置成:确定从所述多个输入神经元到所述多个输出神经元中的每个输出神经元的第一输入扇入大于阈值;基于确定所述第一输入扇入大于所述阈值而生成多个中间神经元;以及将所述多个中间神经元耦合至所述多个输入神经元和所述多个输出神经元,其中:所述多个中间神经元中的每一个都具有小于所述第一输入扇入的第二输入扇入;并且所述多个输出神经元中的每一个都具有小于所述第一输入扇入的第三输入扇入。

【技术特征摘要】
2017.03.24 US 15/468,8381.一种用于生成脉冲神经网络的设备的装置,所述装置包括:电子存储器,用于存储脉冲神经网络的多个输入神经元和多个输出神经元;一个或多个处理器,被配置成:确定从所述多个输入神经元到所述多个输出神经元中的每个输出神经元的第一输入扇入大于阈值;基于确定所述第一输入扇入大于所述阈值而生成多个中间神经元;以及将所述多个中间神经元耦合至所述多个输入神经元和所述多个输出神经元,其中:所述多个中间神经元中的每一个都具有小于所述第一输入扇入的第二输入扇入;并且所述多个输出神经元中的每一个都具有小于所述第一输入扇入的第三输入扇入。2.如权利要求1所述的装置,其中,所述电子存储器是神经处理器的一部分。3.如权利要求1所述的装置,其中,被配置成将所述多个中间神经元耦合至所述多个输入神经元和所述多个输出神经元的所述一个或多个处理器进一步被配置成耦合所述多个中间神经元,以使得所述第二输入扇入和所述第三输入扇入之和等于所述第一输入扇入。4.如权利要求1、2或3所述的装置,其中,被配置成将所述多个中间神经元耦合至所述多个输入神经元和所述多个输出神经元的所述一个或多个处理器进一步被配置成耦合所述多个中间神经元,以使得所述第二输入扇入小于所述阈值。5.如权利要求1、2或3所述的装置,其中,被配置成将所述多个中间神经元耦合至所述多个输入神经元和所述多个输出神经元的所述一个或多个处理器进一步被配置成耦合所述多个中间神经元,以使得所述第三输入扇入小于所述阈值。6.如权利要求1、2或3所述的装置,其中,所述阈值表示所述多个输出神经元的饱和点,并且其中,所述饱和点基于所述多个输出神经元的扇入和所述多个输出神经元的多个输入脉冲速率。7.一种用于生成脉冲神经网络的方法,包括:将多个输入神经元划分成第一多个组;将多个中间神经元划分成第二多个组,其中,所述第二多个组中的每个组与所述第一多个组中的至少一个组相对应;将所述第一多个组的每个组中的所述多个输入神经元耦合至来自所述第二多个组的相应组中的所述多个中间神经元;将所述第二多个组的每个组中的所述多个中间神经元耦合至多个输出神经元;以及通过所述多个输入神经元、所述多个中间神经元和所述多个输出神经元来处理到脉冲神经网络的多个输入。8.如权利要求7所述的方法,其中,生成被划分成所述第二多个组的所述多个中间神经元进一步包括:将所述多个中间神经元中的每一个分配至所述第二多个组中的不同的一个组。9.如权利要求8所述的方法,其中,所述第二多个组的每个组中的神经元的数量等于所述多个输出神经元的数量。10.如权利要求8所述的方法,其中,所述第二多个组的每个组中的神经元的数量少于所述多个输出神经元的数量。11.如权利要求7、8、9或10所述的方法,其中,将所述多个输入神经元划分成所述第一多个组进一步包括:将所述多个输入神经元中的每一个分配至第一多个组中的不同的一个组。12.一种用于生成脉冲神经网络的方法,所述方法包括:在脉冲神经网络中将多个输入神经元与多个输出神经元解耦;将所述多个输入神经元分组成第一多个组;生成被划分成第二多个组的多个中间神经元,其中,所述第一多个组中的每个组与来自所述第二多个组的不同组相对应;将在所述第一多个组的每个组中的来自所述多个输...

【专利技术属性】
技术研发人员:A·保尔N·斯里尼瓦萨
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1