掌桥专利:专业的专利平台
掌桥专利
首页

脉冲神经网络

文献发布时间:2023-06-19 12:16:29


脉冲神经网络

技术领域

本公开一般涉及组成脉冲神经网络。本公开更具体地但非专门地涉及组成由脉冲神经元构建的模式识别器,以及一种用于使用独特的响应方法以组成方式构建脉冲神经网络的系统和方法。

背景技术

自动信号识别(ASR)是指通过识别信号的构成特征来识别信号。ASR被用于一系列的应用中,例如在语音/话音识别系统中识别说话人语音和口语、在心电图(ECG)中识别心律失常、在运动控制系统中确定手势的形状,等等。ASR通常通过表征输入信号的短样本中存在的模式来执行,并因此准确的模式识别能力是有效ASR系统的基础。

测量一些物理量以导出用于ASR系统的输入信号可能需要融合来自多种类型传感器的数据。例如,使用手持输入装置识别手势可能需要融合来自加速度计的数据以测量运动,以及融合来自陀螺仪的数据以测量取向。组合来自这两个传感器的数据使得能够在三维空间中检测手势。

一般来说,数据融合是指整合从不同的并且可能是异质的来源收集的数据,以便降低对来自那些单独来源的数据的解释的不确定性。重要的是,在融合过程期间,不同输入信号中的基本特征在经融合的信号中得到充分表现。

模式识别和融合通常使用微处理器和/或数字信号处理器执行,两者都实现了存储程序架构。这种架构对于分析流式数据来说是本质上是低效的。在单个处理器上,模式的提取和识别是顺序进行的。这是因为模式提取和识别是按照通用的简单指令集(例如RISC或CISC指令集)来实现的,从而导致针对信号样本中的每个模式的冗长的执行次序。输入信号中的复杂模式需要使用更复杂的信号处理算法,在需要来自模式识别引擎的实时响应的系统中,这就进一步需要为处理器使用更高的时钟频率。在功率受约束的装置(诸如便携式电子装置、可穿戴装置等)中,这是不可行的。此外,由于顺序的执行范式,微处理器上的模式识别操作的延迟和功率消耗随着模式的复杂性和清单增加而大大增加。输入信号中噪声的存在进一步增加了分析的复杂性,并对性能和效率产生不利影响。

数据融合是微处理器的非原生操作。这意味着在输入信号或数据流可被融合之前,其信息内容必须被提取,并且此后与来自其他流的对应内容组合。因此,在微处理器实现方式中,用于融合的每个输入信号/数据源都由独立的模式识别管道单独处理,之后由基于规则的框架来组合不同的模式识别结果。这种方法需要为每个输入信号或数据流多次调用模式识别基础结构,从而导致功率消耗的增加。此外,用于模式识别的负载存储架构微处理器和数字信号处理器(DSP)的局限性意味着,随着模式复杂性增加,识别这些模式的功率和延迟成本也增加。尽管延迟成本可以通过提高时钟频率来缓解,但这是以进一步增加功率消耗为代价实现的。类似地,融合的质量受限于对输入信号进行的处理和ASR的复杂性、被融合的信号数量以及微处理器或DSP的计算能力。处理的顺序性质降低了基于融合的ASR的吞吐量,因此,随着信号中模式的复杂性增加,使用微处理器或DSP可以融合的输入信号的数量减少。

人工神经网络已被提议作为微处理器实现方式的替代方案。脉冲神经网络(SNN)是为许多不同应用实现ASR的一种有希望的手段。SNN以一个或多个精确定时的(电压)脉冲的形式,而不是以整数或实值矢量的形式编码信息。用于模式分类的计算在模拟域和时间域中有效执行。出于这个原因,SNN通常在硬件中实现为全定制的混合信号集成电路。这使得它们能够以比它们的人工神经网络对应物低若干个数量级的能耗进行模式分类,此外还具有较小的网络规模。

SNN由通过突触互连的脉冲神经元的网络组成,该突触决定了脉冲神经元之间的连接强度。这种强度表示为权重,权重调节突触前神经元的输出对突触后神经元的输入的影响。通常,这些权重是在训练过程中设置的,该训练过程涉及将网络暴露于大量的标记输入数据中,并逐渐调整突触的权重直到实现期望的网络输出。然而,实际上,这些大量的标记数据可能根本不存在。

此外,以单一的方式训练大型多层网络是耗时的,因为网络规模导致了复杂的优化问题,由于需要在网络的若干层上反向传播误差,因此该问题的解决方案在计算上是昂贵的。

为了确定误差的的目的,脉冲神经网络通常依靠学习规则,该学习规则基于由突触连接的两个神经元的相对激发时间(firing time)。常见的学习规则被称为脉冲定时依赖可塑性或STDP。尽管这种方法使得能够潜在地在无监督的情况下训练SNN来设置突触的权重,但其本身是不稳定的。这是因为STDP以在单独突触处的权重调整为目标,并且缺乏在网络级平衡突触权重的机制。因此,STDP过程可能是不稳定的,并产生分歧的突触权重配置。尽管可以通过平衡网络中由突触形成的兴奋性和抑制性连接的量值和分布来缓解该问题,但该过程难以实现并需要详尽的搜索以产生稳定、收敛的权重配置。脉冲神经网络也可以用传统的反向传播方法进行训练。然而,由于跨网络不同层的神经元之间的复杂的因果的关系,因此这些技术在应用于深层、多层网络时在计算上是昂贵的。

发明内容

为了解决以上讨论的现有技术的缺点,根据本公开的一个方面,提出了一种用于对输入模式信号进行分类的脉冲神经网络,包括以硬件或硬件和软件的组合实现的多个脉冲神经元,与将该脉冲神经元互连以形成网络的多个突触元件。每个突触元件适于接收突触输入信号并将权重应用于突触输入信号以生成突触输出信号,该突触元件被配置为调整每个突触元件施加的权重,并且脉冲神经元中的每个适于从突触元件中的一个或多个接收突触输出信号中的一个或多个,并响应于所接收的一个或多个突触输出信号生成时空脉冲序列输出信号。

脉冲神经网络包括第一子网络,该第一子网络包括脉冲神经元的第一子集,其被连接以从突触元件的第一子集接收突触输出信号。第一子网络适于响应于施加到突触元件的第一子集的子网络输入模式信号,从脉冲神经元的第一子集生成子网络输出模式信号,并且通过在所述子网络输入模式信号的训练集上训练所述子网络来配置所述突触元件的第一子集的所述权重,使得子网络输出模式信号对于训练集的每个独特的子网络输入模式信号都是不同的。

在一个实施例中,每个不同的子网络输出模式信号之间的距离大于预定的阈值,该距离是通过输出模式度量进行测量的。脉冲神经元和突触元件可以被配置为使得:通过输出模式度量进行测量的在所述子网络的两个输出模式信号之间的相应距离对于所述训练集的所有子网络输入模式信号被最大化,所述子网络的两个输出模式信号响应于两个相应的不同子网络输入模式信号而生成。每个相应距离可以被最大化,直到输出模式信号至少满足区分输入模式信号的特征所需的第一最小灵敏度阈值。

特征是输入模式信号的任何特性,该特性使得能够识别该信号和/或该信号内的所关注模式。模式可以由一个或多个特征组成。例如,ECG输入信号中的相关特征可以是表征心跳不同阶段的各种时变振幅,对于音频输入信号,相关特征可以是音频信号被采样的每个离散时间间隔内的信号的频率内容,或者对于图像输入信号,相关特征可以是图像中存在的基本形状和线条。本文中提供了附加示例。

在脉冲神经网络中,脉冲神经元中的每个被配置为调整神经元对所接收的一个或多个突触输出信号的响应。脉冲可由脉冲神经元在一个或多个激发时间生成,并且突触元件的子集和/或神经元的子集被配置为使得:为两个不同的子网络输入模式信号而激发的所述神经元的子集的两组激发时间的并集对于所述训练集的所有子网络输入模式信号被最小化。每个并集可以被最小化,直到输出模式信号至少满足区分输入模式信号的特征所需的第二最小灵敏度阈值。

脉冲神经网络可包括第二子网络,该第二子网络包括脉冲神经元的第二子集,其被连接以从突触元件的第二子集接收突触输出,其中该第二子网络适于接收施加到突触元件的第二子集的第二子网络输入模式信号,并从神经元的第二子集生成对应的第二子网络输出模式信号,并且其中调整突触元件的第二子集的配置,使得第二子网络输出模式信号对于第二子网络输入模式信号中的每个独特特征都是不同的,其中该网络包括第三子网络,该第三子网络包括脉冲神经元的第三子集,其被连接以从突触元件的第三子集接收突触输出,其中第一子网络输出模式信号和第二子网络输出模式信号是第三子网络的输入模式信号,并且其中调整突触元件的第三子集的配置,使得第三子网络输出模式信号对于来自第一子网络和第二子网络两者的输入模式信号中的每个独特特征与它们的独特组合都是不同的,使得来自第一子网络和第二子网络两者的输入模式信号中存在的特征由第三子网络编码。

第三子网络的突触元件可以被配置为使得,来自第一子网络和第二子网络的输入模式信号根据特定输入模式的重要性进行加权。该网络可以包括突触元件和脉冲神经元的多个子网络,为此,子网络输出模式信号对于子网络输入模式信号中的每个独特特征都都是不同的,其中该网络可以被划分为在网络中具有特定相继次序的多个层,并且其中多个子网络以每个相应子网络所属的多个层的特定相继次序被实例化。

在脉冲神经网络中,突触元件可以被布置为可配置的开关矩阵。

神经元、突触元件、神经元和突触元件的互连拓扑结构和/或神经网络的输出配置的配置信息可以保存在配置存储器上,并且当神经网络被带到初始化状态时,配置信息可以从配置存储器加载。

一组神经元可被布置在一个或多个神经元模板网络中,特定的神经元模板网络的神经元形成神经网络的子网络,其中子网络输出模式信号对于子网络输入模式信号中的每个独特特征都是不同的,并且其中神经网络中的每个模板网络以预训练方式被实例化。

神经网络可以被配置为将一个或多个采样的输入信号作为输入,并将输入信号转换成一组代表性的神经网络输入模式信号。神经网络的输出模式信号可以分类在一个或多个输出类别中。

根据本发明的一个方面,提出了一种用于使用脉冲神经网络对输入模式信号进行分类的方法,该脉冲神经网络包括以硬件或硬件和软件的组合实现的多个脉冲神经元,与将脉冲神经元互连以形成网络的多个突触元件,其中突触元件中的每个适于接收突触输入信号并对突触输入信号施加权重以生成突触输出信号,该突触元件被配置为调整每个突触元件施加的权重,并且其中脉冲神经元中的每个适于从突触元件中的一个或多个接收突触输出信号中的一个或多个,并响应于所接收的一个或多个突触输出信号生成时空脉冲序列输出信号。该方法包括以下步骤:定义脉冲神经网络的第一子网络,该第一子网络包括脉冲神经元的第一子集,其被连接以从突触元件的第一子集接收突触输出信号;通过在子网络输入模式信号的训练集上训练该子网络来配置突触元件的第一子集的权重,使得子网络输出模式信号对于训练集的每个独特的子网络输入模式信号都是不同的;将子网络输入模式信号施加到脉冲神经网络的第一子网络,该第一子网络包括脉冲神经元的第一子集,其被连接以从突触元件的第一子集接收突触输出信号;以及接收由脉冲神经元的第一子集响应于子网络输入模式信号而生成的子网络输出模式信号,其中该输出模式信号识别输入模式信号的一个或多个特征。

根据本发明的另一个方面,提出了一种用于对输入信号中的预定特征进行分类的方法。该方法包括建立和训练如上所述的神经网络,将至少一个采样的输入信号提交给神经网络,并将该至少一个采样的输入信号中的特征分类在神经网络的一个或多个输出类别中。

根据本发明的又一个方面,提供了一种模板库,其包括脉冲神经元的一个或多个模板网络用作脉冲神经网络的子网络或关于其配置的信息,其中每个模板网络包括一组脉冲神经元,其被连接以从一组突触元件接收突触输出。每个模板网络适于接收施加到该组突触元件的模板网络输入模式信号,并从该组神经元生成对应的模板网络输出模式信号。通过在模板网络输入模式信号的训练集上训练模板网络来调整该组突触元件的配置,使得模板网络输出模式信号对于训练集的每个独特的模板网络输入模式信号都是不同的,其中训练集用于训练模板网络执行特定任务,使得每个模板网络能够以预训练方式用作脉冲神经网络的子网络以执行特定任务,或使得脉冲神经网络的子网络可以基于关于模板网络配置的信息以预训练方式实例化以执行特定任务。

根据本发明的又一个方面,提出了一种用于组成脉冲神经网络的方法,该方法包括从如上所述的模板库获得一个或多个模板网络或关于一个或多个模板网络的配置的信息,并将该一个或多个模板网络实例化为脉冲神经网络的子网络,使得该脉冲神经网络的子网络能够执行模板网络被预训练执行的特定任务。

本发明由一种以自下而上的方式使用单独训练的较小网络级实现模式分类器的方法构成。模式分类器的每个级都使用一种共同方法为其特定功能进行训练,该方法与特定于被实现的功能的不同训练目标一起应用。训练过程得到了在适应权重时考虑了突触的长距离因果影响的方法的帮助,因此克服了STDP面临的不稳定性问题。这三种方法可以彼此独立使用。本发明的方法使得能够实现低延迟的模式识别器,其可应用于不同的信号类型,并且可以识别和关联跨多个信号的模式。本发明的方法简化了模式识别器的训练和部署时间,便于重复使用以前训练的模式识别网络,同时伴随地确保实现方式保持灵活性。

附图说明

现在将仅通过示例的方式参考所附示意图描述实施例,在所附示意图中对应附图标记指示对应部分,并且其中:

图1示出了由神经元和突触元件构成的示例性的神经网络;

图2示出了通过整合数据转换器级、输入编码器级和模式分类器级组成的模式识别器,每个级都单独训练并在后续级实例化;

图3A示意性地示出了输入编码器如何将采样的输入信号变换为时空脉冲序列;

图3B示出了以脉冲元组的形式描述的三种输入模式的期望脉冲响应的示例;

图4示出了因果链STDP的原理,用于识别突触后神经元和后续网络层的神经元之间的深层因果、反因果和非因果的关系;

图5A示出了通过融合两个单独的脉冲编码数据流组成传感器融合的模式识别器,以及随后使用融合的脉冲序列进行模式分类;

图5B示意性地示出了如何将多个时间脉冲序列融合成单个融合的脉冲序列;

图6示出了用于融合多个数据流的系统,并且该系统可以使用脉冲神经元的网络对融合的数据流进行自动信号识别;

图7A示出了如何将输入信号接合到神经元的示例;

图7B示出了如何将输入信号接合到神经元的示例;

图8示出了如何生成复位脉冲的示例;

图9示出了用于使用脉冲神经元的网络融合多个数据流,并对所产生的融合数据流执行自动信号识别的方法;

图10示出了通过可配置的开关矩阵互连的神经元和突触元件的阵列;

图11示出了配置阵列的示例,说明了ASR管道级在神经元和突触元件上的映射示例。

附图仅旨在用于说明问题,并且不用作对权利要求所规定的范围或保护的限制。

具体实施方式

下文中将进一步详细描述某些实施例。然而,应该理解的是,这些实施例不能被解释为限制本公开的保护范围。

图1是神经网络100的简化图。神经元1经由突触元件2彼此连接。为了不使图像杂乱,仅示出了少量的神经元和突触元件(并且仅一些具有附接到它们的附图标记)。图1中所示的连接拓扑结构,即突触元件2将神经元彼此1连接的方式只是示例,并且可以采用许多其他的拓扑结构。每个突触元件2可以向神经元1的输入端传输信号,并且接收信号的每个神经元1可以处理信号并可以随后生成输出,该输出经由进一步的突触元件2传输到其他神经元1。每个突触元件2具有分配给其的一定权重,该权重被应用于突触元件接收和传输的每个突触输入信号,以产生加权的突触输出信号。因此,突触元件的权重是由突触元件2连接的两个神经元1之间因果的关系的种类的度量。该关系可以是因果关系(正权重)、反因果关系(负权重)或不存在(零权重)。

神经元1和突触元件2可以以硬件实现,例如使用模拟电路元件或数字硬接线逻辑电路。它们也可以部分以硬件实现并且部分以软件实现,或完全以软件实现。为了实现更快的处理,以硬件实现是优选的,例如使得能够实现快得多的模式识别,以及事件驱动的处理(其中神经元和突触元件的块仅在需要时被激活)。

神经网络100可以是脉冲神经网络。然后,神经元1是脉冲神经元,其以一个或多个脉冲的形式生成神经元输出信号。脉冲神经元1可以被配置为仅在神经元内的膜电位(例如能量电位,或电压或电流电平)达到预定的阈值时才会激发(即生成输出脉冲)。由于所接收的输入信号,即神经元从突触元件接收的突触输出信号被累积、积分或以其他方式处理以改变膜电位,因此脉冲神经元的膜电位发生变化。当突触元件2的权重为正时,从该突触元件接收的突触输出信号激励接收该信号的脉冲神经元1,提高其膜电位。当突触元件2的权重为负时,从该突触元件接收的突触输出信号抑制接收该信号的脉冲神经元1,降低其膜电位。当突触元件2的权重为零时,从该突触元件接收的突触输出信号对接收该信号的脉冲神经元1没有任何影响。

当脉冲神经元1的膜电位达到阈值时,该神经元激发,在激发时生成脉冲,并且膜电位由于激发而降低。如果膜电位随后再次达到阈值,则神经元将再次激发,生成第二脉冲。因此,每个脉冲神经元1被配置为响应于从连接的突触元件2接收的输入信号而生成一个或多个脉冲,该脉冲形成时空脉冲序列。由于脉冲神经元1仅在其膜电位达到预定阈值时才会激发,因此时间信息的编码和处理被结合到神经网络100中。这样,在脉冲神经网络100中生成时空脉冲序列,其是由网络100的脉冲神经元1生成的脉冲的时间顺序。

脉冲序列的时间特性对输入信号的振幅和频率特征进行编码。时间特性包括:刺激(例如来自突触元件的输入信号)开始与神经元输出端处生成脉冲之间的延迟;来自同一神经元的连续脉冲之间的延迟;以及在施加输入刺激的持续时间中神经元激发脉冲的数量。

突触元件2可以是可配置的,使得例如突触元件的相应权重可以改变,例如通过训练神经网络100。神经元1可以以其对来自突触元件的信号做出响应的方式进行配置。例如,在脉冲神经网络的情况下,神经元1可以按以下方式被配置:某个信号提高或降低膜电位、膜电位向静止电位自然衰减所需的时间、静止电位的值、触发脉冲神经元1的脉冲的阈值。神经元1的配置例如可以在训练期间保持恒定,或者是可变的,并在神经网络100的训练中对特定训练集进行设置。

输入信号11例如是多个不同的、采样的输入信号,或时空脉冲序列。输入可以是信号样本的模数转换值,或者在例如模拟或数字积分器的情况下是样本的数字值,或者在模拟积分器的情况下是样本的模拟值。

神经网络100的输出信号12例如是时空脉冲序列,其可以从输出神经元1中读出,并通过输出变换级进一步分类和变换为与用户选择的输出代码的类型对应的一组数字值。

操作诸如模式识别可在多个步骤中完成(例如,数据转换、特征编码、分类)。本实施例使这些步骤能够使用突触元件和神经元(单元)的标准化子网络来实现,并为每个应用领域使用灵活的训练方法进行配置。训练方法的目标是配置神经网络的每个级或子网络,以对输入信号中的每个独特模式或特征产生独特响应。

图2示出了神经网络的组成,其由多个组成级的整合形成,在该示例中包括数据转换器级201、输入编码器级202和模式分类器级203。每个级都可以单独训练,并在网络中实例化以用于训练后续级。术语“实例化”是指一个过程,其中形成子网络的网络的一部分,例如网络的级或单元已先前被配置,通常是通过训练,并且子网络的配置数据被用来在整个网络中配置该子网络。

数据转换器级201接收输入模式信号以用于由神经网络处理。在该示例中,数据转换器级201被示出为单元(cell)301,数据转换器级202被示出为单元302的一部分,并且模式分类器级203被示出为单元303的一部分。每个单元301、302、303包括由网络的突触元件2的子集和神经元1的子集形成的子网络,其以实现该单元意图实行的功能的拓扑结构连接。每个单元301、302、303都被参数化,即可以被配置为具有不同数量的突触元件2、神经元1、输入连接、输出连接、隐藏层连接(即对输出的输入不可见的神经元层之间的连接)等等。

级201、202、203中的每个级中的突触元件2的权重可以通过训练来配置。在该示例中,数据转换器级201首先在单元301中训练。在训练数据转换器级201后,可以保存训练后的数据转换器级201和单元301的配置设置。然后,这些保存的设置可用于配置单元302,其包括数据转换器级201和输入编码器级203两者。

然后可以训练单元302,并且可以保存训练后的编码器级203和单元302的配置设置。然后,这些保存的设置可用于配置单元303,其包括数据转换器级201、输入编码器级203和模式分类器级203。然后可以训练单元303,并保存训练后的模式分类器级203和单元303的所得配置设置。

训练可以使用独特的响应算法来完成。独特的响应算法实现了每个单元的突触元件的权重配置,这引起输入信号中的独特特征被转码为单元的神经元1的独特响应。在脉冲神经元的情况下,这可以是独特的脉冲响应。下面进一步描述独特的响应算法。上述单元响应的独特性指示该单元有能力将输入模式信号11中的不同特征分离成单元的不同输出信号12A、12B、12C。在脉冲神经元的情况下,这些不同的输出信号12A、12B、12C可以是不同的输出脉冲序列,例如,来自单元的输出神经元的一组独特的时空脉冲序列输出。一组时空脉冲序列输出的独特性可由单元的每个输出神经元生成的脉冲的数量和/或脉冲的时间决定。因此,在网络的训练期间,在输入呈现给网络并转换成脉冲后,测试每个响应的独特性,并使用独特的响应方法对被训练的单元的突触元件的权重进行调整,直到每个单元301、302、303的输出响应12A、12B、12C满足独特性(uniqueness)标准。教师输入(teacherinput)13A、13B、13C可用于获得每个单元301、302、303的所期望的独特响应,如下所述。

为了实现更高级的功能,先前训练的单元301、302、303可以以自下而上的方式被实例化和互连,即最低级的单元301可以首先被训练,然后在包含后续级202的更高级的单元302中被实例化。然后,中级单元302可以在包含后续级203的更高级单元303中被实例化。在每次创建更高级单元之后,都会调用独特响应算法。

单元301、302、303可以以这种方式为不同应用领域的特定功能进行训练,并将训练过的单元的配置设置保存在模板库中,从那里它们可以在不同的网络中重复使用。例如,口语识别网络的输入编码器级202可以在热词触发网络中重复使用而不做任何改变。此种重复使用有利于减少整体训练时间和降低复杂性。

图3A示意性地示出了输入编码器22如何将采样的输入信号20变换成时空脉冲序列24。输入编码器22的每个输出神经元形成输出信号23,其为时空脉冲序列。输入编码器22通过配置21进行配置,其中例如输入编码器的突触元件的权重被设置。

图3B示出了对脉冲神经网络的单元的三种不同的输入模式的三种期望的脉冲响应14A、14B、14C的示例。该示例中的每个响应都采取由该单元的输出神经元Nl、N2、N3、N4、N5生成的一组一个或多个时空脉冲序列的形式。每个响应14A、14B、14C是针对可以为每个网络选择的离散的时间仓(time bin)15A、15B、15C描述的。时间仓15A、15B、15C可以至少与单元的第一输入刺激的开始和来自该单元的输出神经元的最后响应之间的时间一样大。该时间仓可以是单元的下降延迟的倍数,该倍数等于该单元的每个输出神经元由于输入刺激而生成的脉冲的典型数量。

在每次调用独特的响应方法期间,单元301、302、303可以暴露到从要处理的输入模式导出的输入数据11中。输入数据11从呈现给神经网络用于处理的输入模式p导出。

输入模式p可以包括例如用于语音识别应用的音频信号、用于图像识别应用的静止图像或视频图像,或适合于模式识别系统的许多其他类型的模式。输入数据11可以由以下组成:单项时变数据(例如,从音频信号,例如由麦克风输出的模拟或数字信号导出的单个数据流)、多项数据(例如,代表由CCD阵列输出的静止图像的单独像素的一组输入数据)、多项时变数据(例如,代表视频图像的单独像素的一组输入数据流),或由单项数据生成的多个增强版本(例如,输入信号的组合)。

单元301、302、303的突触元件2的权重可以使用因果链脉冲定时依赖可塑性(CC-STDP)来适应,这是在适应突触权重时考虑长程因果关系的学习规则。在这个意义上,其与传统的脉冲定时依赖可塑性(STDP)学习规则不同,后者在适应权重时仅考虑短程因果关系,使得使用一些训练集的权重更新相当不稳定和混乱,并且主要是局部行为的结果。下面进一步提出CC-STDP。一旦单元被训练,用于训练后的单元的配置设置可以存储到模板单元库中,随后可以从那里调用和重复使用该配置设置。

每个输入模式p的所期望脉冲响应14A、14B、14C可以被描述为元组(tuple),其规定了在每个时间仓中的脉冲响应,其中提出了从输入模式p导出的输入数据11。例如,该元组可以指定响应于输入数据11而激发的单元的输出神经元群(A

在优选实施例中,对于每个输入模式p,集合A

在可替代实施例中,对于每个模式p,集合A

可以通过增加对于对应神经元1的激发有贡献的突触元件中的权重来减小B

在图3B中,示出了三个输入模式p的期望脉冲响应14A、14B、14C。第一输入模式的响应在第一时间仓15A期间生成,第二模式的响应在第二时间仓15B期间生成,并且第三模式的响应在第三时间仓15C期间生成。第一模式(p

独特响应方法的目标可以是为每个特定的输入模式生成一组独特的时空脉冲序列。这些时空脉冲序列可以组成为一系列精确定时的电脉冲。响应的独特性可以按下面的解释来描述。

令A表示一组生成输出脉冲序列的神经元。将p取为给定的已知输入模式。A

此外,令F

在一个实施例中,如果在例如时变输入的每个给定采样窗口内,应用以下规则中的一个或多个,则网络对输入数据11的响应可被称为独特的。作为第一规则,对于P中所有独特输入模式p、q(因此p≠q),应该认为Δ(A

距离Δ(A

这些规则可以作为突触权重配置的目标来应用,其中它们可以重新表述如下。第一权重配置目标可以是:对于A

可以基于这些权重配置目标生成期望的脉冲元组,并且例如,可以使用如下面提出的CC-STDP训练输入编码器级202。该练习的目标是达到输入编码器级202的配置,其产生独特响应,后续级可以使用该独特响应来区分输入模式中的特征。

尽管配置目标旨在产生最佳结果,但这可能是计算上昂贵的。更简单的方法是约束目标,使得A(A

一旦为所有所关注模式描述或生成脉冲元组的完整集合,就可以训练单元301、302、303中神经元1连接的突触元件2的权重,使得其对提出的输入模式表现出所期望的独特响应。在监督学习制度中,这种训练是用监督方法进行的(例如自动编码器方法、穷举搜索、梯度下降、使用反向传播等)。然而,这在计算上是昂贵的。在下面,我们描述了半监督的训练方法,其依赖于新的STDP权重促进方案。半监督可能意味着人们不说所产生的错误是什么,但是,例如,为了获得对某种输入模式的独特响应,人们说所期望或需要的脉冲是什么。

在传统的STDP中,突触元件的权重变化取决于由该特定突触元件2彼此连接的两个神经元1的相对激发时间。然而,所得的权重变化主要是局部行为的结果。因果链STDP(CC-STDP)代替地将权重的变化预示在突触前神经元的较长因果链上,即仅当激发事件对网络后续层中神经元的激发有贡献的情况下,才会调整权重。

图4示出了CC-STDP学习规则的原理,该规则可以识别具有权重w

CC-STDP规则可以应用于单元的半监督训练,以获得特定的输出脉冲响应。例如,假设n是特定的输出神经元,其中在特定时间t

在可能不期望脉冲的神经元处,可以通过伴随着输入样本提交给单元来诱导脉冲,即在同一时间间隔内,来模拟反因果的关系。这可以使输出神经元在所有先前层中的神经元之前激发,因此产生反因果关系,并继而引起沿该路径的介于中间的突触元件的局部抑制。

因此,通过在特定时间t

例如,定位在神经元i和神经元j之间的突触元件的权重w

这里在公式(1)中,Δw

因此,根据公式(1)的学习规则,如果神经元i和j之间的突触元件的权重变化应当是正的,并且如果神经元j和k之间的权重是非零的,并且如果神经元k的脉冲比神经元i和j两者都更迟,则Δw

可替代地,也可以使用学习规则,在这种情况下,上式中的脉冲时间参数可以由所选择的学习规则的基本参数(如脉冲率)代替。

该原理可以参考图4来解释。例如,在特定的输出神经元中,在特定时间诱导脉冲(例如,在神经元N3中在脉冲时间t

在CC-STDP用于训练脉冲神经网络的实施例中,可能需要能够在特定时间诱导和/或抑制在特定神经元1处的脉冲生成。作为示例,这可以通过以下方式完成(该列表不是详尽的)。为了诱导脉冲,一种方法是借助于偏置电压输入,将对应神经元的膜驱动到超过激发阈值的电压,由此诱导脉冲生成。另一种方式可以是在所期望的时间向神经元的输出注入人工脉冲。为防止脉冲,一种方法是将对应神经元的膜驱动到防激发电压或最低可能电压,从而防止脉冲生成。可替代地,人们可以通过例如将神经元输入与积分器断开,由此例如将脉冲生成电路系统与输出端断开,禁止神经元处生成脉冲。用于诱导或禁止神经元中生成脉冲的这些信号被示为教师输入13A、13B、13C,其可用于为每个单元301、302、303获得所期望的独特响应。

图5A示出了通过融合两个单独数据流11A、11B,以及随后在模式分类器级204中使用融合流12C进行模式分类的传感器融合模式识别器的组成。模式分类器级204的输出12D例如可以是由模式分类器级204的输出神经元生成的一组时空脉冲序列12D,其中该组12D的每个脉冲序列由模式分类器级204中的单个特定输出神经元生成。

也就是说,如果在级中一层具有多个并发单元的情况下(例如多个输入编码器202A、202B形成融合系统中的输入编码器),这些单元202A、202B中的每个可以在具有后续级203的单元中被实例化之前首先被配置。网络的所有级可以使用教师输入13A1、13A2、13B1、13B2、13C、13D进行训练。在所有并发单元对相同数据执行相同功能的情况下(例如雷达收发器中不同接收天线的输入编码,或指向不同方向的不同麦克风的输入编码),可能没有必要为每个实例运行单独的训练顺序。相反,单个训练单元可以被多次实例化。因此,训练过的单元或其配置可以在不同的脉冲神经网络中实现,以执行相同的功能。因此,在脉冲神经网络的组成期间,如果需要相同功能,可以实现已经训练过的单元,而不需要任何新的训练。因此,脉冲神经网络的组成将花费更少的时间,并且将不那么复杂。

存储器装置可以被配置为用作训练过的单元的模板库。在此种存储器装置上,可以存储脉冲神经网络的一个或多个训练过的单元的软件和/或硬件设置。此种单元的突触元件2的配置设置可以是例如突触元件的相应权重。此种单元的神经元1的配置设置可以是例如激发阈值、泄漏率、静止值、防激发水平、防激发期或神经元的其他参数。

每个单元都被训练来执行特定功能。当在特定脉冲神经网络中需要此种具有该特定功能的新单元时,该单元不必从头开始训练,这节省了时间并且使实现脉冲神经网络的效率大大提高。相反,来自为该功能设计的预训练单元的配置设置可以从被配置为模板库的存储器装置获得。通过使用预训练单元配置设置来实例化新单元,新单元将能够以与预训练单元相同的方式运作。

存储器装置可以是任何计算机可读存储介质。存储器装置可以是非暂时性存储介质。说明性的计算机可读存储介质包括但不限于:(i)非可写存储介质(例如,计算机内的只读存储器装置,诸如可由CD-ROM驱动器读取的CD-ROM光盘、ROM芯片或任何类型的固态非易失性半导体存储器),其上可永久存储信息;以及(ii)可写存储介质,例如,硬盘驱动器或任何类型的固态随机存取半导体存储器、闪存,其上可存储可更改信息。

模板库也可以是硬件脉冲神经网络单元的集合,这些单元被预训练成各自执行特定功能。这些硬件单元可以直接用于需要具有该特定功能的单元的脉冲神经网络中。

在图5A中,两个数据转换器级201A、201B可以分别在单元301A、301B中用输入模式信号11A、11B进行训练,从而生成脉冲响应输出12A1、12AB。单元301A、301B的配置可在单元302A、302B中被保存并实例化,每个单元也包括后续级,即输入编码器级202A、202B。单元302A、302B可分别用输入模式信号11A、11B进行训练,这引起数据转换器级201A、201B的输出12A1、12B1成为输入编码器级202A、202B的输入数据。单元302A、302B的配置可以在单元303中被类似地保存并实例化,该单元也包括后续级即数据融合级203。单元303可使用输入模式信号11A和11B两者进行训练,这引起输入编码器级202A和202B的输出12A2和12B2成为数据融合级203的输入数据。输入编码器级202A和202B的输出12A2和12B2的时空脉冲序列随后在数据融合级203的一个或多个神经元1上重合。数据融合级203的输出12C是一个时间脉冲序列(如果数据融合级203仅包括一个输出神经元1)或一组时空脉冲序列(如果数据融合级203包括多个输出神经元1),该序列响应于多个脉冲序列(来自输入编码器级202A、202B的输出12A2和12B2)的联合刺激而生成。该组所得的(多个)融合的脉冲序列12C代表已被融合的所有输入模式信号11A、11B的特征空间的组合。因此,融合的脉冲序列对当前时间窗口中的输入模式信号中存在的所有特征进行编码。

例如,当融合分别包含输入模式11A、11B的特征e和f的两组输入脉冲序列12A2、12B2时,所得的(多个)融合的脉冲序列12C包含特征e和f两者的对应独特表示。配置数据融合级203的目的是实现每个输入模式信号11A、11B的完整特征空间与融合的输出信号12C的特征子空间的这种独特映射。

考虑两个输入编码器α和β,它们在其相应的输入模式信号M

人们想要编码的信号M

为了使数据融合无损失,(多个)融合的脉冲序列Φ(γ)的特征空间可以涵盖不同输入信号的单独特征空间:

Φ(γ)=Φ(α)·Φ(β)+Φ(α)+Φ(β)。 (2)

对应于特征空间Φ(γ)的时空脉冲序列可以遵守如所陈述用于输入编码的规则1和2,也就是说,使得它们可以有足够的独特性,以使后续处理级能够区分脉冲编码特征。因此,脉冲元组的生成可以使用上述独特的响应方法,其中输入脉冲序列中的特征的每个独特组合在融合块中产生一组独特的输出时空脉冲序列。

图5B示意性地示出了在工作示例中如何将多个时间脉冲序列30A、30B融合成单个融合的脉冲序列35。时间脉冲序列30A、30B各自通过突触元件31A、31B传输,并进入神经元34。神经元34可以具有经由一个或多个突触元件33连接到神经元34的循环连接32。融合的脉冲序列35代表了第一时间脉冲序列30A和第二时间脉冲序列30B两者的特征空间的组合。后续处理级可以区分第一时间脉冲序列30A和第二时间脉冲序列30B的脉冲编码特征,因为这些特征在融合的脉冲序列35中的表示是足够独特的。

在使用数据融合的信号识别系统中,数据源的重要性可以基于它们对最终结果的影响而有所变化。某些特征可能是信号识别过程的主要特征,而其他特征只是为了增强识别结果的质量。因此,A

第一,通过在数据融合级203的输出神经元中引入反因果脉冲(其伴随有特定输入脉冲序列的不太重要的特征)。该方法可应用于输入模式都不包含所期望特征的情况。

第二,不太期望的特征也可以通过在数据融合级203的输入突触元件中引入权重偏置来抑制,该输入突触元件接收来自每个输入编码器级202A和202B的对应于融合过程中每个级的优先权的输出。因此,来自输入编码器级202A、202B的脉冲序列在融合之前,可以根据它们对数据融合级203的输出的期望影响进行加权。这有利于控制输入信号和所得的融合表示之间的能量转移。增大信号的优先权偏置可以提高该信号对融合表示的影响。为信号最大化偏置会引起融合表示复制输入信号。相反,为信号最小化优先权偏置权重可以减小其对融合表示的影响,而全部取消权重完全消除该信号对融合结果的影响。在融合期间,空间脉冲分布A

Aγ=f((A

在公式(3)中,w

第三种方式,可以说是最简单的,涉及到不压制或缩小任何特征,而是将其影响包括在融合表示中。在随后的分类级204中,与该特征对应的表示可以简单地被忽略,即分配给不关注的类别。这种方法有助于提高准确度,因为它明显地对不期望的特征组合进行了分类,由此使得能够更准确地识别所期望的特征。

接下来,描述了上述原理在融合和模式识别的系统中的应用。

图6是用于数据融合和自动信号识别的系统700的实施例的简化框图,该系统基于与微处理器或硬件逻辑系统600接合的脉冲神经网络400。

脉冲神经网络400包括一个或多个输入编码器级401

每个脉冲序列P

如果使用多个神经元来编码单个输入模式信号711

图7A示出了神经元1如何与输入信号801,诸如来自突触元件2的输出信号接合。神经元1具有能更改神经元1对输入信号1的反应方式的某种配置,其中神经元配置可以使用配置信号C

每个神经元1可以具有控制该神经元1的精确激发行为的一组配置参数C。例如,神经元可以被设计成具有激发阈值,其代表电压、能量或其他变量的阈值,这些变量由于接收输入而在神经元中累积,并且其中当累积的变量达到或超过激发阈值时,神经元生成输出脉冲(诸如电压、电流或能量脉冲)。神经元可以实现积分函数,其对神经元的输入进行积分以确定对累积变量的调整。此外,该神经元还可以设计成具有:(a)泄漏率,其表示神经元中的累积变量随时间衰减的速率;(b)累积变量的静止值,其表示在没有任何输入信号给神经元的情况下,累积变量将随时间衰减的值;(c)积分时间常数,其表示输入信号被积分以确定神经元中累积变量的任何增大或减小的时间;(d)防激发水平,其表示神经元激发后立即在神经元中的累积变量的值;(e)防激发期,其表示神经元激发后,神经元中累积变量上升到静止值所需的时期。这些参数可以为每个神经元预先确定和/或可配置和/或可调整。例如,通过调整神经元的激发阈值、泄漏率、积分时间常数和防激发期以匹配关键输入信号特征的能量含量,当用包含该特征的输入信号刺激时,神经元1将生成一个或多个精确定时的脉冲。

回到图6,每个输入编码器级401

作为第一种方法,当B

当使用具有模拟积分器的神经元1时,数字值可以作为突触前输入提供给B

在此种实施例中,可以包括数据转换器级201

提供给系统700的输入模式信号711

因此,输入编码器级401

在输入模式信号中要检测的特征或模式可以是,例如,单个采样的输入数据点或一组采样的输入数据点的特定内容,例如,在特定时间点的输入信号的振幅,在二进制图像帧中某个位置处的“ON”像素的存在,在特定时间点的特定输入信号属性的强度。

要检测的特征或模式也可以在形成输入信号的一系列采样数据点中的内容的空间顺序中,例如对应于二进制图像中物体边缘的“ON”像素。

要检测的特征或模式也可以在跨形成输入信号的单个数据点的多个样本的内容的时间顺序中,或在跨采样数据点的多个空间顺序的内容的时间顺序中。例如,振幅的上升顺序,然后是振幅的下降顺序,表征输入信号中的三角波模式,或物体边缘的跨形成输入信号的视频图像的多个帧的位移,对应于物体随时间的移动。

回到图6所示的实施例,由输入编码器级401

分类器的输入例如可以是来自输入编码器级的一组脉冲序列P

分类器的输出713可以是输出端口R上的一组分类的时空脉冲序列713,其中每个脉冲序列713可以由分类器404中的单个特定输出神经元,或由多个输出神经元生成。在符合独特响应原理的分类器实施例中,脉冲可以由单独的输出神经元为输入模式信号中每个独特的输入特征或输入特征的独特组合生成。在该实施例中,每个所关注模式的脉冲元组由单个神经元(即A

按照前面描述的权重配置目标来重述这一点,将A看作是分类器输出神经元的通用集合,这些神经元响应于已知的输入模式生成输出脉冲序列713,并且令A

接下来,再看图6,包括输出变换级501的逻辑单元500可以将来自分类器级404的输出713(例如一组时空脉冲序列713)变换成例如可以从例如字典601存储和检索的数字代码714。

因此,分类器级404的输出可以是一组时空脉冲序列713,其中一个或多个特定脉冲序列713表现出特定特性,因此例如允许输入模式711

脉冲序列中的特征信息可以以若干种形式编码,例如:群体编码(populationcode),其中分类器级404的输出神经元1在其中存在输入刺激的经过时间段内激发;群体时间编码,其中分类器级404的输出神经元1在自存在输入刺激起的特定时间段内首先激发;群体速率编码,其描述在其中存在输入刺激的经过时间段内,分类器404的输出神经元1生成了多少脉冲;时间编码,其描述分类器级404的特定输出神经元1激发的精确时间;并且最后是速率编码,其描述分类器级404的特定输出神经元1的激发率。

与纯粹的空间分类器404的输出相比,空间和时间脉冲信息的组合可以提供更大程度的细节。例如,考虑输入模式信号711

输出变换级501可以包含分析分类器输出端口上的脉冲活动的电路。例如,根据用户配置717激活电路,这基于用户希望对阵列的神经元1的脉冲行为进行的分析类型:脉冲群体、精确的脉冲定时、激发率及其组合。

对于编码类型群体,变换方法由以下构成:分类器级404的每个输出神经元具有一个寄存器,以表示在施加输入模式信号后,该神经元在当前时间间隔内是否出现脉冲。对于编码类型群体时间性,变换方法由以下构成:分类器级404的每个输出神经元具有一个寄存器,以表示在施加输入模式信号后,在当前时间间隔内哪些神经元首先出现脉冲。在最早的脉冲事件被登记后,其他寄存器被禁用。对于编码类型群体率,变换方法由以下构成:分类器级404的每个输出神经元具有计数器,以在施加输入模式信号后,对当前时间间隔内由输出神经元生成的脉冲数量进行计数。具有非零脉冲计数值的计数器也表示群体编码。对于编码类型时间,变换方法由以下构成:分类器级404的每个输出神经元具有时间-数字转换器,以精确测量自施加输入模式信号到输出神经元脉冲为止所经过的时间。最后,对于编码类型的速率,变换方法由以下构成:分类器级404的每个输出神经元具有计数器,以计算在施加输入模式信号后,在当前时间间隔内由输出神经元生成的脉冲的数量。

到输出变换级501的输入可以是来自分类器级404的所有输出神经元1的脉冲的矢量713,并且来自电路501的输出714可以是对应于用户选择的输出代码类型的一组数字值。到输出变换级501的输入713可以在其中信号样本有效的时间窗口的持续时间内存在。来自输出变换级501的输出714可以在时间窗口结束时有效,并且可以在下一个时间窗口开始之前被复位。分类输出713可以变换成单个哈希码,或一组哈希码,其可以用作(多个)输入模式信号711

接下来,再看图6,包括哈希表或字典查找功能601的微处理器或逻辑电路600取数字代码714,并且随后可以执行哈希表或字典查找操作,以确定对应于识别特征的用户空间标识符。

该操作允许将分类器级404的输出解码为用户空间,即用户定义的输入模式标识符。在配置阶段期间,可以用样本特征和模式来训练模式识别器400,并且可以记录所生成的哈希码。样本模式可以被分配用户定义的标识符,其可以与所生成的哈希码一起存储在例如哈希表或字典601中。在运行时,当识别器400被用来识别信号中的特征时,所生成的哈希码被用于哈希表或字典查找操作,以确定对应于所识别特征的用户空间标识符。

图6所示的复位发生器和排序器718可以复位例如数据融合级403、分类器级404和输出变换级501的内容,例如在新的采样窗口开始时。该操作从网络400去除残留的脉冲,并允许下一个采样窗口被评估,而不受以前窗口的影响。

采样窗口可以实现为深度等于窗口大小的输入缓冲区。作为替代,可配置的虚拟采样窗口可以通过使用周期性的复位信号来实现,该信号阻止网络中的脉冲行为并复位输出级。此种方法中的采样窗口可以有与复位信号相同的周期。当配置采样窗口时,周期应足够长以完全适应最长的已知特征,但又要足够小,使每个窗口的特征内容最小化,因此提高特征识别的准确性。采样窗口的宽度可能影响系统700可检测到的特征的粒度。一般来说,可以说采样窗口持续时间必须大于输入信号中特征存在的时间尺度,其中采样率大于或等于奈奎斯特速率。在不同时间尺度的特征可以通过使用多个输入编码器级401

图8示出了生成复位脉冲的示例。时钟信息904更改了升计数器901的值。与关于采样周期的信息905一起,上升计数器901的值被提交给比较器902。比较器902检查上升计数器901的值是否仍在采样周期905之内。如果不再是这样,比较器902发送信号到脉冲发生器903,其将复位信号906作为图6中的信号716发送到上升计数器901和系统700内的相应模块两者。

类似地,对于复位信号,两个连续的复位脉冲之间的周期例如可以遵循以下公式:

t

在公式(4)中,t

复位脉冲的持续时间必须足以触发适当部件的复位电路。在复位期间,网络400中的所有神经元1的状态被复位,即例如膜电压被带回静止状态,接口信号被复位到它们的初始化状态(即系统被编程后它们的状态),突触读出电路系统被复位(权重被保留),并且飞行中的突触(inflight synaptic)更新被放弃。在输出级500,跟踪神经元1中的群体和激发率的计数器和寄存器也可以被复位。复位不影响输入编码器级401

图9示出了方法1000,其将多个不同的输入模式信号融合成一组单个代表性脉冲序列,并且随后对该脉冲序列执行自动信号识别,以便检测和识别特征/特性。该方法1000从起点1000S开始。

在第一步1001中,新的信号样本被一个或多个输入编码器级401

在第二步1002中,脉冲序列P

在第三步1003中,通过数据融合级403,将不同的时空脉冲序列统一为涵盖各个特征子空间的一组代表性的脉冲序列712。数据融合级的输出是融合的时空脉冲序列712。

在第四步1004中,分类器级404对融合后的脉冲序列712中的空间、时间和速率特征进行分类。因此,时间脉冲序列被归类。

在第五步1005中,输出变换级501将归类的脉冲序列713转换成分类代码714。

在第六步1006中,该方法可以等待直到新的采样窗口开始。

在第七步中,在哈希表或字典601中执行与分类代码714对应的模式标识符700的查找和输出。

最后,在第八步1008中,数据融合级403、分类器级404和输出变换级501被复位。

然后可以再次在第一步骤1001开始重复该方法。

一般来说,本发明中所述的系统和方法使用脉冲神经元1的网络作为响应于独特刺激生成独特的时空脉冲序列的手段,其中响应的独特性可通过脉冲神经元1和互连网络的操作参数来控制。该系统由脉冲神经元1的阵列构成,其具有可配置参数,通过具有可配置参数的突触元件2互连。通过将阵列虚拟地划分成多个不同的网络,系统可以同时实现多种功能。

例如,一个网络可以实现将多个不同的采样输入信号转换成一组代表性的时空脉冲序列,其完全编码了输入信号的特征空间。

在第二配置中,本发明可以实现将多个不同的采样输入信号转换成具有特征空间的一组单独的代表性时空脉冲序列,该特征空间是所有输入信号的个别特征空间的超集。

在第三配置中,本发明可以通过适当配置网络的独特性,实现将时空脉冲序列分类成一个或多个输出类别。

本发明的神经元、突触元件和互连网络的可配置性有利于在同一阵列中的单独神经元群上以不同的组合同时实现所有三种配置。突触元件充当可配置的开关矩阵。

根据实施例的脉冲神经网络1100在图10中示出,其中神经元N0,...,N7布置在神经元阵列1101中,通过可配置的开关矩阵互连,该开关矩阵由可经由可配置开关1103配置的突触元件2的阵列1102构成。

根据突触元件2的权重,输入信号1104可以经由突触元件阵列1102传输到神经元N0,...,N7。此外,根据突触元件2的权重和可配置开关1103的连接拓扑结构,两个神经元N0,...,N7可以经由突触元件阵列1102和可配置开关1103互连。在将输入信号1104连接到神经元N0,...,N7,或互连一对神经元N0,...,N7的突触元件2中的正权重引起突触后神经元N0,...,N7的激励。在这些连接突触元件2中的负权重引起突触后神经元N0,...,N7的抑制,并且在这些连接突触元件2中的零权重引起没有到突触后神经元N0,...,N7的连接。

神经元N0,...,N7和突触元件2的配置参数、互连拓扑结构和输出级配置参数可以在每次将脉冲神经网络1100设置为初始化状态时从配置存储器加载。该操作使神经元N0,...,N7根据加载的互连拓扑结构和突触权重进行互连,神经元和突触元件参数根据相关的加载配置参数进行初始化,系统参数根据相关的加载配置参数进行初始化,并且输出字典或哈希表用存储在配置存储器中的条目进行填充。

输入信号1104被提交给突触元件2的子集,并且网络1100产生可以被发送到输出解码器的某个输出1105。

脉冲神经网络1100可以如图11所示实现,该图11示出了配置的突触阵列1202的示例,图示了所描述的神经网络级对神经元N0,...,N7和突触元件2的示例映射。

输入编码器级1211A、1211B,数据融合级1212,以及分类器级1213可以如图所示在脉冲神经网络1200中实现。输出变换可以使用数字逻辑电路实现,并且哈希表/字典查找操作可以在一个实施例中作为在伴随脉冲神经网络的微处理器上执行的软件代码实现,以及在另一个实施例中,使用数字逻辑电路实现。

网络级1211A、1211B、1212、1213中的每个的基本原理是相同的,每个级1211A、1211B、1212、1213根据其配置参数,在受到输入刺激时生成独特响应。输入编码器级1211A、1211B的目标可以是为输入模式信号1204A、1204B中存在的每个独特特征生成独特响应。数据融合级1212的目标可以是为来自输入编码器级1211A、1211B的输入脉冲序列的每个独特组合生成独特响应。分类器级1213的目标可以是为每个独特特征或特征组合生成独特的分类响应。

一个或多个实施例可以被实现为用于与计算机系统一起使用的计算机程序产品。程序产品的(多个)程序可以定义实施例的功能(包括本文中描述的方法),并且可以包含在各种计算机可读存储介质上。计算机可读存储介质可以是非暂时性存储介质。说明性的计算机可读存储介质包括但不限于:(i)非可写存储介质(例如,计算机内的只读存储器装置,诸如可由CD-ROM驱动器读取的CD-ROM光盘、ROM芯片或任何类型的固态非易失性半导体存储器),其上可永久存储信息;以及(ii)可写存储介质,例如,硬盘驱动器或任何类型的固态随机存取半导体存储器、闪存,其上可存储可更改信息

上述实施例中的两个或更多个可以以任何适当的方式组合。

相关技术
  • 脉冲神经网络加速方法及脉冲神经网络的事件驱动加速器
  • 脉冲神经网络层内数据处理方法及设备、处理芯片
技术分类

06120113236160