CN113287122A - 脉冲神经网络 - Google Patents
脉冲神经网络 Download PDFInfo
- Publication number
- CN113287122A CN113287122A CN201980088638.6A CN201980088638A CN113287122A CN 113287122 A CN113287122 A CN 113287122A CN 201980088638 A CN201980088638 A CN 201980088638A CN 113287122 A CN113287122 A CN 113287122A
- Authority
- CN
- China
- Prior art keywords
- network
- sub
- synaptic
- input
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
一种用于对输入模式信号进行分类的脉冲神经网络,包括以硬件或硬件和软件的组合实现的多个脉冲神经元,与将该脉冲神经元互连以形成网络的多个突触元件。每个突触元件件适于接收突触输入信号并将权重应用于突触输入信号以生成突触输出信号,该突触元件被配置为调整每个突触元件施加的权重,并且脉冲神经元中的每个适于从突触元件中的一个或多个接收突触输出信号中的一个或多个,并响应于所接收的一个或多个突触输出信号生成时空脉冲序列输出信号。
Description
技术领域
本公开一般涉及组成脉冲神经网络。本公开更具体地但非专门地涉及组成由脉冲神经元构建的模式识别器,以及一种用于使用独特的响应方法以组成方式构建脉冲神经网络的系统和方法。
背景技术
自动信号识别(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而激发的单元的输出神经元群(Ap),以及它们的精确激发时间(Bp)。响应的独特性是通过计算其与单元对其他输入模式的响应的距离来确定的,该计算使用距离函数或度量(例如Victor Purpura或Van Rossum距离函数),这通常是Ap和Bp的函数。
在优选实施例中,对于每个输入模式p,集合Ap可以描述包含单个输出神经元1的不相交集合,并且集合Bp可以描述对应于该输出神经元1响应时的时间仓。因此,在该实施例中,每个输入模式p可以由最早做出响应的单个神经元1来识别。来自相同或其他神经元的后期响应可以例如使用赢家通吃网络来抑制,或者忽略。为了获得额外的稳健性,该元组可以用额外的字段(Cp)来扩大,该字段描述了神经元响应的强度(表达为在应用输入数据11期间,由单个最早脉冲神经元生成的脉冲事件的数量,Cp)。
在可替代实施例中,对于每个模式p,集合Ap可以是包含多个输出神经元1的不相交集合,并且集合Bp可以是包含那些神经元的响应时间的相同大小的集合。使用下面提出的因果链STDP规则,单元的响应可以被引导朝向不同的Ap和Bp值以便实现期望的脉冲元组。
可以通过增加对于对应神经元1的激发有贡献的突触元件中的权重来减小Bp值,而可以通过减少那些权重来增大Bp值。这可以通过人工促进输出神经元1的因果激发,或通过诱导与输入数据11的应用相伴的早期脉冲来促进反因果激发来实现。这分别引起贡献途径的正或负的突触权重调整。
在图3B中,示出了三个输入模式p的期望脉冲响应14A、14B、14C。第一输入模式的响应在第一时间仓15A期间生成,第二模式的响应在第二时间仓15B期间生成,并且第三模式的响应在第三时间仓15C期间生成。第一模式(p1)具有元组和第二模式(p2)具有元组和最后,第三模式(p3)具有元组和
独特响应方法的目标可以是为每个特定的输入模式生成一组独特的时空脉冲序列。这些时空脉冲序列可以组成为一系列精确定时的电脉冲。响应的独特性可以按下面的解释来描述。
令A表示一组生成输出脉冲序列的神经元。将p取为给定的已知输入模式。Ap是A的子集,表示对于给定输入模式p激发的该组神经元。取As={Ap|p∈P}为对于该组所有已知输入模式P的每个输入模式激发的所有组神经元的集合。
此外,令Fi p是神经元i对于特定输入模式p的精确激发时间的集合。取为所有输出神经元1,2,...,NO对特定输入模式p的精确激发时间的集合。表示Bs={Bp|p∈P}是包含该组所有已知输入模式P的所有输入模式p的精确激发时间的多组的集合。
在一个实施例中,如果在例如时变输入的每个给定采样窗口内,应用以下规则中的一个或多个,则网络对输入数据11的响应可被称为独特的。作为第一规则,对于P中所有独特输入模式p、q(因此p≠q),应该认为Δ(Ap,Aq)≠0。作为第二规则,对于P中所有独特输入模式p、q,应该认为Δ(Bp,Bq)≠0。
距离Δ(Ap,Aq)和Δ(Bp,Bq)可以使用适当的脉冲距离度量Δ(·;·)一起计算,诸如Victor-Purpura、Van Rossum、ISI或脉冲-距离等。
这些规则可以作为突触权重配置的目标来应用,其中它们可以重新表述如下。第一权重配置目标可以是:对于As中的所有Ap,最大化As中每个Aq的距离Δ(Ap,Aq),其中q是P中特定的不同输入模式。第二权重配置目标可以是:对于Bs中的所有Bp,最大化Bs中每个Bq的距离A(Bp,Bq),并且最小化Bs中每个Bq的并集Bp∪Bq,其中q是P中特定的不同输入模式。
可以基于这些权重配置目标生成期望的脉冲元组,并且例如,可以使用如下面提出的CC-STDP训练输入编码器级202。该练习的目标是达到输入编码器级202的配置,其产生独特响应,后续级可以使用该独特响应来区分输入模式中的特征。
尽管配置目标旨在产生最佳结果,但这可能是计算上昂贵的。更简单的方法是约束目标,使得A(Ap,Aq)、A(Bp,Bq)增大,并且Bp∪Bq减小,直到输入编码器级的输出至少满足在后续处理级中区分特征所需的最小灵敏度阈值。这使得权重配置训练过程的运行时间减少,而不影响编码的稳健性和质量。
一旦为所有所关注模式描述或生成脉冲元组的完整集合,就可以训练单元301、302、303中神经元1连接的突触元件2的权重,使得其对提出的输入模式表现出所期望的独特响应。在监督学习制度中,这种训练是用监督方法进行的(例如自动编码器方法、穷举搜索、梯度下降、使用反向传播等)。然而,这在计算上是昂贵的。在下面,我们描述了半监督的训练方法,其依赖于新的STDP权重促进方案。半监督可能意味着人们不说所产生的错误是什么,但是,例如,为了获得对某种输入模式的独特响应,人们说所期望或需要的脉冲是什么。
在传统的STDP中,突触元件的权重变化取决于由该特定突触元件2彼此连接的两个神经元1的相对激发时间。然而,所得的权重变化主要是局部行为的结果。因果链STDP(CC-STDP)代替地将权重的变化预示在突触前神经元的较长因果链上,即仅当激发事件对网络后续层中神经元的激发有贡献的情况下,才会调整权重。
图4示出了CC-STDP学习规则的原理,该规则可以识别具有权重w1,2的特定突触元件2的突触前神经元N1和突触后神经元N2与网络后续层中的神经元N3、N4、N5之间的深因果、反因果和非因果的关系。
CC-STDP规则可以应用于单元的半监督训练,以获得特定的输出脉冲响应。例如,假设n是特定的输出神经元,其中在特定时间tspike n期望脉冲。在训练期间,通过在神经元n处的时间tspike n人工诱导脉冲,可以建立网络早期层中的神经元和神经元n之间关系的性质。这些关系可以是因果(早期层中的神经元引起输出神经元处的脉冲)、反因果(早期层的神经元不引起输出神经元处的脉冲,但两个神经元的激发是同步的,其中早期神经元激发在输出神经元之后),或者非因果(两个神经元的激发行为没有任何同步性)。因此,CC-STDP使得能够识别网络先前层中的神经元和所期望的输出神经元之间的因果的关系,并能使其在网络中的输出神经元中找到输出神经元之间的因果的关系,并可使沿该因果关系路径的介于中间的突触元件的权重得到调整。
在可能不期望脉冲的神经元处,可以通过伴随着输入样本提交给单元来诱导脉冲,即在同一时间间隔内,来模拟反因果的关系。这可以使输出神经元在所有先前层中的神经元之前激发,因此产生反因果关系,并继而引起沿该路径的介于中间的突触元件的局部抑制。
因此,通过在特定时间tspike n诱导(多个)所期望的输出神经元处的脉冲,以及在伴随着施加输入刺激的时间诱导其他神经元处的脉冲,网络被配置为以所期望的脉冲响应模式进行响应。
例如,定位在神经元i和神经元j之间的突触元件的权重wi,j可以根据以下规则变化:
这里在公式(1)中,Δwi,j是神经元i和j之间的突触元件的有效权重变化,wj,k是神经元j和后续层的神经元k之间的突触元件的权重。tspike i、tspike j和tspike k是指神经元i、j和k分别出现脉冲的精确时间。δwi,j是神经元i和j之间的由于它们的相对脉冲定时引起的突触元件的权重变化,并且可以使用STDP学习规则来计算。
因此,根据公式(1)的学习规则,如果神经元i和j之间的突触元件的权重变化应当是正的,并且如果神经元j和k之间的权重是非零的,并且如果神经元k的脉冲比神经元i和j两者都更迟,则Δwi,j=δwi,j。最后,如果神经元k没有脉冲,如果神经元k立即出现脉冲,或如果神经元k的脉冲早于神经元i或j,或如果神经元j和k之间的权重为零,则权重变化将为零。在后一种情况下,神经元i的激发和神经元k的激发之间似乎没有因果的关系。
可替代地,也可以使用学习规则,在这种情况下,上式中的脉冲时间参数可以由所选择的学习规则的基本参数(如脉冲率)代替。
该原理可以参考图4来解释。例如,在特定的输出神经元中,在特定时间诱导脉冲(例如,在神经元N3中在脉冲时间tspike N3=4ms,在神经元N4中在脉冲时间tspike N4=3ms,并且在神经元N5处没有诱导脉冲)。以这种方式,期望的特定时空脉冲输出模式被制成。该期望的输出模式属于脉冲神经网络的特定时空输入模式(例如,神经元N1在tspike N1=1ms处激发)。例如,由于该输入模式和特定突触权重w1,2,神经元N2在tspike N2=3ms处激发。突触元件的有效权重变化Δw1,2可以使用例如上述公式(1)来计算。由于w2,3≠0,并且如果w1,2>0,那么来自神经元N3在该特定时间点处激发的贡献是δw1,2。由于w2,4=0,因此来自神经元N4激发的对突触权重的所得变化为零。由于神经元N5没有脉冲,因此来自神经元N5的所得变化为零。
在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β中编码特征,并产生两组脉冲序列Pα和Pβ。
人们想要编码的信号Mα中的该组u个已知特征被给定为Φ(α)={φ1,φ2,...,φu},其因此是信号Mα的特征空间。对于{1,...,u}中的i,每个特征φi被编码为一组时空脉冲序列。Aα={A1,A2,...,Au}是为特征φi激发的多组输出神经元Ai的集合。包含所有u个已知特征的神经元的精确激发时间的多组的集合是Bα={B1,B2,...,Bu},其中Bα中的每个Bi是用于特征φi的输出神经元的精确激发时间的集合。
为了使数据融合无损失,(多个)融合的脉冲序列Φ(γ)的特征空间可以涵盖不同输入信号的单独特征空间:
Φ(γ)=Φ(α)·Φ(β)+Φ(α)+Φ(β)。 (2)
对应于特征空间Φ(γ)的时空脉冲序列可以遵守如所陈述用于输入编码的规则1和2,也就是说,使得它们可以有足够的独特性,以使后续处理级能够区分脉冲编码特征。因此,脉冲元组的生成可以使用上述独特的响应方法,其中输入脉冲序列中的特征的每个独特组合在融合块中产生一组独特的输出时空脉冲序列。
图5B示意性地示出了在工作示例中如何将多个时间脉冲序列30A、30B融合成单个融合的脉冲序列35。时间脉冲序列30A、30B各自通过突触元件31A、31B传输,并进入神经元34。神经元34可以具有经由一个或多个突触元件33连接到神经元34的循环连接32。融合的脉冲序列35代表了第一时间脉冲序列30A和第二时间脉冲序列30B两者的特征空间的组合。后续处理级可以区分第一时间脉冲序列30A和第二时间脉冲序列30B的脉冲编码特征,因为这些特征在融合的脉冲序列35中的表示是足够独特的。
在使用数据融合的信号识别系统中,数据源的重要性可以基于它们对最终结果的影响而有所变化。某些特征可能是信号识别过程的主要特征,而其他特征只是为了增强识别结果的质量。因此,Aγ(其为代表Aα和Aβ的融合的特征空间的该组脉冲序列)的大小可以通过缩小不太重要的特征的效果来减小大小。这可以以至少三种方式完成。
第一,通过在数据融合级203的输出神经元中引入反因果脉冲(其伴随有特定输入脉冲序列的不太重要的特征)。该方法可应用于输入模式都不包含所期望特征的情况。
第二,不太期望的特征也可以通过在数据融合级203的输入突触元件中引入权重偏置来抑制,该输入突触元件接收来自每个输入编码器级202A和202B的对应于融合过程中每个级的优先权的输出。因此,来自输入编码器级202A、202B的脉冲序列在融合之前,可以根据它们对数据融合级203的输出的期望影响进行加权。这有利于控制输入信号和所得的融合表示之间的能量转移。增大信号的优先权偏置可以提高该信号对融合表示的影响。为信号最大化偏置会引起融合表示复制输入信号。相反,为信号最小化优先权偏置权重可以减小其对融合表示的影响,而全部取消权重完全消除该信号对融合结果的影响。在融合期间,空间脉冲分布Aα和Aβ通过数据融合级203的配置实现的传递函数f变换为融合的空间分布Aγ。因此,在基于优先权的实施例中,融合分布采取以下形式
Aγ=f((Aα,wα),(Aβ,wβ))和Bγ=f((Bα,wα),(Bβ,wβ))。 (3)
在公式(3)中,wα和wβ是优先权偏置权重集,其控制脉冲训练集Pα和Pβ对数据融合级203的影响。
第三种方式,可以说是最简单的,涉及到不压制或缩小任何特征,而是将其影响包括在融合表示中。在随后的分类级204中,与该特征对应的表示可以简单地被忽略,即分配给不关注的类别。这种方法有助于提高准确度,因为它明显地对不期望的特征组合进行了分类,由此使得能够更准确地识别所期望的特征。
接下来,描述了上述原理在融合和模式识别的系统中的应用。
图6是用于数据融合和自动信号识别的系统700的实施例的简化框图,该系统基于与微处理器或硬件逻辑系统600接合的脉冲神经网络400。
脉冲神经网络400包括一个或多个输入编码器级4011,...,401N;输入编码器级4011,...,401N中的每个可由配置数据717配置。输入编码器级4011,...,401N可接收输入模式信号7111,...,711N,并将这些输入模式信号转换成对每个输入模式信号7111,...,711N的特征空间进行编码的时空脉冲序列P1,...,PN。该组输入模式信号7111,...,711N可以例如通过以下方法导出:对输入模式数据进行采样以生成该组信号,例如使用CCD阵列图像传感器记录图像以生成一组输入模式信号7111,...,711N,其每个代表由图像传感器的一个或多个像素记录的图像数据。
每个脉冲序列P1,...,PN可包括一系列精确定时的电压脉冲,其由输入编码器级4011,...,401N的一个或多个神经元响应于每个输入模式信号7111,...,711N而生成。
如果使用多个神经元来编码单个输入模式信号7111,...,711N,则来自多个神经元中的每个的输出可以是脉冲序列,其包括具有上述时间特性中的一个或多个特性的一个或多个脉冲。由输入编码器级4011,...,401N的输出神经元生成的累积脉冲序列P1,...,PN共同代表对提出的输入模式信号7111,...,711N的编码的时空脉冲响应。
图7A示出了神经元1如何与输入信号801,诸如来自突触元件2的输出信号接合。神经元1具有能更改神经元1对输入信号1的反应方式的某种配置,其中神经元配置可以使用配置信号CN设置。取决于输入信号801和神经元配置,神经元1将输出某个时空脉冲序列S。在图7B中,输入信号802是来自多个突触元件2A、2B的突触输出信号的组合,每个突触元件以某种方式配置,其中每个突触元件的配置可使用配置信号CSB、CSB设置。突触元件2A、2B可以具有输入信号803或来自另一个神经元804的循环输入作为输入。
每个神经元1可以具有控制该神经元1的精确激发行为的一组配置参数C。例如,神经元可以被设计成具有激发阈值,其代表电压、能量或其他变量的阈值,这些变量由于接收输入而在神经元中累积,并且其中当累积的变量达到或超过激发阈值时,神经元生成输出脉冲(诸如电压、电流或能量脉冲)。神经元可以实现积分函数,其对神经元的输入进行积分以确定对累积变量的调整。此外,该神经元还可以设计成具有:(a)泄漏率,其表示神经元中的累积变量随时间衰减的速率;(b)累积变量的静止值,其表示在没有任何输入信号给神经元的情况下,累积变量将随时间衰减的值;(c)积分时间常数,其表示输入信号被积分以确定神经元中累积变量的任何增大或减小的时间;(d)防激发水平,其表示神经元激发后立即在神经元中的累积变量的值;(e)防激发期,其表示神经元激发后,神经元中累积变量上升到静止值所需的时期。这些参数可以为每个神经元预先确定和/或可配置和/或可调整。例如,通过调整神经元的激发阈值、泄漏率、积分时间常数和防激发期以匹配关键输入信号特征的能量含量,当用包含该特征的输入信号刺激时,神经元1将生成一个或多个精确定时的脉冲。
回到图6,每个输入编码器级4011,...,401N可以包括多个脉冲神经元1。输入编码器级4011,...,401N的输入可以是模拟值或数字值(例如,输入模式数据的模数转换值)。当使用具有数字积分器的神经元时,到神经元的每个输入信号的数字值作为直接输入提供给神经元的积分器。输入信号的位宽(Bs)和积分器的位宽(Bi)通过以下示例性方法中的一种或组合进行匹配。
作为第一种方法,当Bs>Bi时,数字输入的尾部(Bs-Bi)位被丢弃。作为第二种方法,当Bi<Bs时,使用(Bs-Bi)尾部“0”位来填充数字输入。作为第三种方法,使用Bn尾部“0”位来填充数字输入,或Bn尾部位被丢弃,其中Bn可以是允许数字输入的振幅在膜的电压范围内移位的可配置参数。当输入信号和积分器位宽匹配时,通过使用填充和截断样本值的组合,也可以实现这种移位。
当使用具有模拟积分器的神经元1时,数字值可以作为突触前输入提供给Bs突触元件2,其突触后输出端子连接到输入编码器级4011,...,401N的神经元1。振幅移位可以通过对输入信号矢量(包括一串位)进行填充和/或截断Bn位来实现,如先前对数字神经元的描述。在另一个实施例中,输入信号的模拟值可以作为输入直接提供给模拟积分器。模拟值可以在一段时间内提出到积分器,例如使积分器积累电荷。通过选择合适的阈值电压,神经元的精确激发时间可以与模拟输入信号值的振幅成反比变化(即振幅越高,神经元越早激发)。此外,通过利用具有适当选择的灵敏度阈值的多个神经元1,可以实现复杂的多级模拟到脉冲转换器。
在此种实施例中,可以包括数据转换器级2011,...,201N,其将输入模式信号7111,...,711N的提出的模拟电压值转换成独特的、等效的脉冲表示,例如,其中输入值之间的距离和输出脉冲响应之间的对应距离是成比例的。然后,输入编码器级4011,...,401N将来自数据转换器级2011,...,201N的转码脉冲响应中识别的特征编码为独特表示。
提供给系统700的输入模式信号7111,...,711N可能具有不同的动态范围:有些低,有些高。尽管绝对动态范围本身可能并不重要,但区分不同振幅下的特征的能力可能是重要的。因此,可能有必要确保输入编码器级4011,...,401N的配置引起所有所关注的已知特征,并且无论它们出现在哪个振幅,都被编码为独特的脉冲表示,即意图可以是在所关注的范围内获得在不止一个振幅下的特定脉冲特性。
因此,输入编码器级4011,...,401N可以包括一群神经元1,其连接任意数量的输入并产生任意数量的脉冲序列输出P1,...,PN,这些输出对存在于输入模式信号7111,...,711N中的特征进行编码,其中输入信号7111,...,711N可以定义为例如输入模式信号的单个采样数据点,或输入模式信号的空间或时间或空间-时间系列的采样数据点。
在输入模式信号中要检测的特征或模式可以是,例如,单个采样的输入数据点或一组采样的输入数据点的特定内容,例如,在特定时间点的输入信号的振幅,在二进制图像帧中某个位置处的“ON”像素的存在,在特定时间点的特定输入信号属性的强度。
要检测的特征或模式也可以在形成输入信号的一系列采样数据点中的内容的空间顺序中,例如对应于二进制图像中物体边缘的“ON”像素。
要检测的特征或模式也可以在跨形成输入信号的单个数据点的多个样本的内容的时间顺序中,或在跨采样数据点的多个空间顺序的内容的时间顺序中。例如,振幅的上升顺序,然后是振幅的下降顺序,表征输入信号中的三角波模式,或物体边缘的跨形成输入信号的视频图像的多个帧的位移,对应于物体随时间的移动。
回到图6所示的实施例,由输入编码器级4011,...,401N生成的脉冲序列输出P1,...,PN首先如上面所解释的在优先权偏置模块402中根据优先权偏置方案选择性地加权,然后在图6中描绘的数据融合级403中融合。然后由对时空脉冲序列712进行分类的分类器级404接收所得的时空脉冲序列712。分类器级404可以识别转码表示中存在的最强的时空模式,并将其与例如特定的输出神经元相关联。
分类器的输入例如可以是来自输入编码器级的一组脉冲序列P1,...,PN,例如在仅具有一组输入信号7111,...,711N,或者是来自数据融合级403的一组脉冲序列712的系统的情况下,在具有多组输入信号7111,...,711N的系统的情况下,该多组输入信号被编码并此后融合成一组代表性的脉冲序列712。在图6中,分类器级404从数据融合级403获得其输入712。
分类器的输出713可以是输出端口R上的一组分类的时空脉冲序列713,其中每个脉冲序列713可以由分类器404中的单个特定输出神经元,或由多个输出神经元生成。在符合独特响应原理的分类器实施例中,脉冲可以由单独的输出神经元为输入模式信号中每个独特的输入特征或输入特征的独特组合生成。在该实施例中,每个所关注模式的脉冲元组由单个神经元(即Ap是模式p的单元集)组成,其在特定的时间间隔内出现脉冲,至少有一个脉冲。因此,输出端口可以包含至少与所关注模式一样多的脉冲序列。
按照前面描述的权重配置目标来重述这一点,将A看作是分类器输出神经元的通用集合,这些神经元响应于已知的输入模式生成输出脉冲序列713,并且令Ap是A的子集,包含为给定的已知输入模式p激发的神经元,并且对于该组已知输入模式P中的所有p,令As={Ap|p∈P}是所有Ap的超集,那么对于上述情况成立的分类器级404:As中的每个Ap将是单元集,并且对于P中的每个q,其中p≠q,则Ap≠Aq成立。
接下来,再看图6,包括输出变换级501的逻辑单元500可以将来自分类器级404的输出713(例如一组时空脉冲序列713)变换成例如可以从例如字典601存储和检索的数字代码714。
因此,分类器级404的输出可以是一组时空脉冲序列713,其中一个或多个特定脉冲序列713表现出特定特性,因此例如允许输入模式7111,...,711N被识别为属于特定类别或标签。输出变换级501可以通过将脉冲序列特性变换成可以从字典601存储和检索的数字代码714来促进该识别过程。
脉冲序列中的特征信息可以以若干种形式编码,例如:群体编码(populationcode),其中分类器级404的输出神经元1在其中存在输入刺激的经过时间段内激发;群体时间编码,其中分类器级404的输出神经元1在自存在输入刺激起的特定时间段内首先激发;群体速率编码,其描述在其中存在输入刺激的经过时间段内,分类器404的输出神经元1生成了多少脉冲;时间编码,其描述分类器级404的特定输出神经元1激发的精确时间;并且最后是速率编码,其描述分类器级404的特定输出神经元1的激发率。
与纯粹的空间分类器404的输出相比,空间和时间脉冲信息的组合可以提供更大程度的细节。例如,考虑输入模式信号7111,...,711N包含两个主导特征X和Y,一个比另一个更强。这两个特征的相对强度可以通过测量它们相应的分类级输出713的激发率来确定。可替代地,可以基于对应的输出神经元1的时间编码来识别更强的特征,具体来说,就是通过确定哪个输出神经元1更早地激发。
输出变换级501可以包含分析分类器输出端口上的脉冲活动的电路。例如,根据用户配置717激活电路,这基于用户希望对阵列的神经元1的脉冲行为进行的分析类型:脉冲群体、精确的脉冲定时、激发率及其组合。
对于编码类型群体,变换方法由以下构成:分类器级404的每个输出神经元具有一个寄存器,以表示在施加输入模式信号后,该神经元在当前时间间隔内是否出现脉冲。对于编码类型群体时间性,变换方法由以下构成:分类器级404的每个输出神经元具有一个寄存器,以表示在施加输入模式信号后,在当前时间间隔内哪些神经元首先出现脉冲。在最早的脉冲事件被登记后,其他寄存器被禁用。对于编码类型群体率,变换方法由以下构成:分类器级404的每个输出神经元具有计数器,以在施加输入模式信号后,对当前时间间隔内由输出神经元生成的脉冲数量进行计数。具有非零脉冲计数值的计数器也表示群体编码。对于编码类型时间,变换方法由以下构成:分类器级404的每个输出神经元具有时间-数字转换器,以精确测量自施加输入模式信号到输出神经元脉冲为止所经过的时间。最后,对于编码类型的速率,变换方法由以下构成:分类器级404的每个输出神经元具有计数器,以计算在施加输入模式信号后,在当前时间间隔内由输出神经元生成的脉冲的数量。
到输出变换级501的输入可以是来自分类器级404的所有输出神经元1的脉冲的矢量713,并且来自电路501的输出714可以是对应于用户选择的输出代码类型的一组数字值。到输出变换级501的输入713可以在其中信号样本有效的时间窗口的持续时间内存在。来自输出变换级501的输出714可以在时间窗口结束时有效,并且可以在下一个时间窗口开始之前被复位。分类输出713可以变换成单个哈希码,或一组哈希码,其可以用作(多个)输入模式信号7111,...,711N中的模式的独特指纹。
接下来,再看图6,包括哈希表或字典查找功能601的微处理器或逻辑电路600取数字代码714,并且随后可以执行哈希表或字典查找操作,以确定对应于识别特征的用户空间标识符。
该操作允许将分类器级404的输出解码为用户空间,即用户定义的输入模式标识符。在配置阶段期间,可以用样本特征和模式来训练模式识别器400,并且可以记录所生成的哈希码。样本模式可以被分配用户定义的标识符,其可以与所生成的哈希码一起存储在例如哈希表或字典601中。在运行时,当识别器400被用来识别信号中的特征时,所生成的哈希码被用于哈希表或字典查找操作,以确定对应于所识别特征的用户空间标识符。
图6所示的复位发生器和排序器718可以复位例如数据融合级403、分类器级404和输出变换级501的内容,例如在新的采样窗口开始时。该操作从网络400去除残留的脉冲,并允许下一个采样窗口被评估,而不受以前窗口的影响。
采样窗口可以实现为深度等于窗口大小的输入缓冲区。作为替代,可配置的虚拟采样窗口可以通过使用周期性的复位信号来实现,该信号阻止网络中的脉冲行为并复位输出级。此种方法中的采样窗口可以有与复位信号相同的周期。当配置采样窗口时,周期应足够长以完全适应最长的已知特征,但又要足够小,使每个窗口的特征内容最小化,因此提高特征识别的准确性。采样窗口的宽度可能影响系统700可检测到的特征的粒度。一般来说,可以说采样窗口持续时间必须大于输入信号中特征存在的时间尺度,其中采样率大于或等于奈奎斯特速率。在不同时间尺度的特征可以通过使用多个输入编码器级4011,...,401N,或单个输入编码器级4011,...,401N来检测。采样窗口的长度也可以对输出变换级501中使用的计数器的宽度具有影响。
图8示出了生成复位脉冲的示例。时钟信息904更改了升计数器901的值。与关于采样周期的信息905一起,上升计数器901的值被提交给比较器902。比较器902检查上升计数器901的值是否仍在采样周期905之内。如果不再是这样,比较器902发送信号到脉冲发生器903,其将复位信号906作为图6中的信号716发送到上升计数器901和系统700内的相应模块两者。
类似地,对于复位信号,两个连续的复位脉冲之间的周期例如可以遵循以下公式:
treset≥max(tfeature)+max(tfallthrough)+toutput+max(tlookup)。 (4)
在公式(4)中,tfeature是特征的持续时间,tfallthrough是脉冲序列从输入编码器级传播到分类器级输出的下降延迟,toutput是输出变换级生成哈希或一组哈希的延迟,并且tlookup是哈希表/字典查找操作的最坏情况延迟。
复位脉冲的持续时间必须足以触发适当部件的复位电路。在复位期间,网络400中的所有神经元1的状态被复位,即例如膜电压被带回静止状态,接口信号被复位到它们的初始化状态(即系统被编程后它们的状态),突触读出电路系统被复位(权重被保留),并且飞行中的突触(inflight synaptic)更新被放弃。在输出级500,跟踪神经元1中的群体和激发率的计数器和寄存器也可以被复位。复位不影响输入编码器级4011,...,401N,从而确保输入模式信号7111,...,711N连续编码为脉冲,即使在采样窗口之间的过渡期间。
图9示出了方法1000,其将多个不同的输入模式信号融合成一组单个代表性脉冲序列,并且随后对该脉冲序列执行自动信号识别,以便检测和识别特征/特性。该方法1000从起点1000S开始。
在第一步1001中,新的信号样本被一个或多个输入编码器级4011,...,401N编码为时空脉冲序列。一个或多个输出编码器的输出是时空脉冲序列P1,...,PN。
在第二步1002中,脉冲序列P1,...,PN根据它们在融合中的重要性被优先权偏置进行加权。优先权偏置模块402的输出是加权的不同时空的脉冲序列。
在第三步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)可写存储介质,例如,硬盘驱动器或任何类型的固态随机存取半导体存储器、闪存,其上可存储可更改信息
上述实施例中的两个或更多个可以以任何适当的方式组合。
Claims (19)
1.一种用于对输入模式信号进行分类的脉冲神经网络,包括以硬件或硬件和软件的组合实现的多个脉冲神经元,与将所述脉冲神经元互连以形成所述网络的多个突触元件,
其中每个突触元件适于接收突触输入信号并向所述突触输入信号施加权重以生成突触输出信号,所述突触元件被配置为调整每个突触元件施加的所述权重,以及
其中所述脉冲神经元中的每个适于从所述突触元件中的一个或多个接收所述突触输出信号中的一个或多个,并响应于所接收的一个或多个突触输出信号生成时空脉冲序列输出信号,
其中所述脉冲神经网络包括第一子网络,所述第一子网络包括所述脉冲神经元的第一子集,所述脉冲神经元的第一子集被连接以从所述突触元件的第一子集接收突触输出信号,
其中所述第一子网络适于响应于施加到所述突触元件的第一子集的子网络输入模式信号,从所述脉冲神经元的第一子集生成子网络输出模式信号,以及
其中,通过在所述子网络输入模式信号的训练集上训练所述子网络来配置所述突触元件的第一子集的所述权重,使得所述子网络输出模式信号对于所述训练集的每个独特的子网络输入模式信号都是不同的。
2.根据权利要求1所述的脉冲神经网络,其中每个不同的子网络输出模式信号之间的距离大于预定阈值,所述距离是通过输出模式度量进行测量的。
3.根据前述权利要求中任一项所述的脉冲神经网络,其中所述脉冲神经元和突触元件被配置为使得:通过输出模式度量进行测量的在所述子网络的两个输出模式信号之间的相应距离对于所述训练集的所有子网络输入模式信号被最大化,所述子网络的两个输出模式信号响应于两个相应的不同子网络输入模式信号而生成。
4.根据权利要求3所述的脉冲神经网络,其中每个相应距离被最大化,直到所述输出模式信号至少满足区分所述输入模式信号的特征所需的第一最小灵敏度阈值。
5.根据前述权利要求中任一项所述的脉冲神经网络,其中所述脉冲神经元中的每个被配置为调整所述神经元对所述所接收的一个或多个突触输出信号的响应。
6.根据前述权利要求中任一项所述的脉冲神经网络,其中脉冲由所述脉冲神经元在一个或多个激发时间生成,并且其中所述突触元件的子集和/或所述神经元的子集被配置为使得:为两个不同的子网络输入模式信号而激发的所述神经元的子集的两组激发时间的并集对于所述训练集的所有子网络输入模式信号被最小化。
7.根据权利要求6所述的脉冲神经网络,其中使每个并集最小化,直到所述输出模式信号至少满足区分所述输入模式信号的特征所需的第二最小灵敏度阈值。
8.根据前述权利要求中任一项所述的脉冲神经网络,其中所述网络包括第二子网络,所述第二子网络包括所述脉冲神经元的第二子集,所述脉冲神经元的第二子集被连接以从所述突触元件的第二子集接收突触输出,
其中所述第二子网络适于接收施加到所述突触元件的第二子集的第二子网络输入模式信号,并从所述神经元的第二子集生成对应的第二子网络输出模式信号,以及
其中调整所述突触元件的第二子集的配置,使得所述第二子网络输出模式信号对于所述第二子网络输入模式信号中的每个独特特征都是不同的,
其中所述网络包括第三子网络,所述第三子网络包括所述脉冲神经元的第三子集,所述脉冲神经元的第三子集连接以从所述突触元件的第三子集接收突触输出,
其中所述第一子网络输出模式信号和所述第二子网络输出模式信号是所述第三子网络的输入模式信号,以及
其中调整所述突触元件的第三子集的配置,使得所述第三子网络输出模式信号对于来自所述第一子网络和所述第二子网络两者的所述输入模式信号中的每个独特特征与它们的独特组合都是不同的,使得来自所述第一子网络和所述第二子网络两者的所述输入模式信号中存在的所述特征由所述第三子网络编码。
9.根据权利要求6所述的脉冲神经网络,其中所述第三子网络的突触元件被配置为使得:根据所述特定输入模式的重要性对来自所述第一子网络和所述第二子网络的所述输入模式信号进行加权。
10.根据前述权利要求中任一项所述的脉冲神经网络,其中所述网络包括突触元件和脉冲神经元的多个子网络,为此,所述子网络输出模式信号对于所述子网络输入模式信号中的每个独特特征都是不同的,
其中所述网络能够被划分为在所述网络中具有特定相继次序的多个层,以及
其中所述多个子网络以每个相应子网络所属的所述多个层的所述特定相继次序被实例化。
11.根据前述权利要求中任一项所述的脉冲神经网络,其中所述突触元件被布置为可配置的开关矩阵。
12.根据前述权利要求中任一项所述的脉冲神经网络,其中所述神经元、所述突触元件、所述神经元和所述突触元件的互连拓扑结构和/或所述神经网络的输出配置的配置信息保存在配置存储器上,以及
其中当所述神经网络被带到初始化状态时,从所述配置存储器加载所述配置信息。
13.根据前述权利要求中任一项所述的脉冲神经网络,其中一组神经元布置在一个或多个神经元模板网络中,特定的神经元模板网络的所述神经元形成所述神经网络的子网络,
其中所述子网络输出模式信号对于所述子网络输入模式信号中的每个独特特征都是不同的,以及
其中所述神经网络中的每个模板网络以预训练方式被实例化。
14.根据前述权利要求中任一项所述的脉冲神经网络,其中所述神经网络被配置为将一个或多个采样的输入信号作为输入,并将所述输入信号转换成一组代表性的神经网络输入模式信号。
15.根据前述权利要求中任一项所述的脉冲神经网络,其中将所述神经网络的输出模式信号分类在一个或多个输出类别中。
16.一种用于使用脉冲神经网络对输入模式信号进行分类的方法,所述脉冲神经网络包括:以硬件或硬件和软件的组合实现的多个脉冲神经元,和将所述脉冲神经元互连以形成所述网络的多个突触元件,
其中所述突触元件中的每个适于接收突触输入信号并对所述突触输入信号施加权重以生成突触输出信号,所述突触元件被配置为调整每个突触元件施加的所述权重,以及
其中所述脉冲神经元中的每个适于从所述突触元件中的一个或多个接收所述突触输出信号中的一个或多个,并响应于所述所接收的一个或多个突触输出信号生成时空脉冲序列输出信号,
所述方法包括:
定义所述脉冲神经网络的第一子网络,所述第一子网络包括所述脉冲神经元的第一子集,所述脉冲神经元的第一子集被连接以从所述突触元件的第一子集接收突触输出信号;
通过在子网络输入模式信号的训练集上训练所述子网络来配置所述突触元件的第一子集的所述权重,使得所述子网络输出模式信号对于所述训练集的每个独特的子网络输入模式信号都是不同的;
将子网络输入模式信号施加到所述脉冲神经网络的第一子网络,所述第一子网络包括所述脉冲神经元的第一子集,所述脉冲神经元的第一子集被连接以从所述突触元件的第一子集接收突触输出信号;以及
接收由所述脉冲神经元的第一子集响应于所述子网络输入模式信号而生成的子网络输出模式信号,其中所述输出模式信号识别所述输入模式信号的一个或多个特征。
17.一种对输入信号中的预定特征进行分类的方法,所述方法包括:
根据权利要求14和权利要求15来构建并训练神经网络;
将至少一个采样的输入信号提交给所述神经网络;以及
将至少一个采样的输入信号中的所述特征分类在所述神经网络的一个或多个输出类别中。
18.一种模板库,其包括脉冲神经元的一个或多个模板网络,所述脉冲神经元的一个或多个模板网络用作脉冲神经网络的子网络或关于脉冲神经网络的子网络的配置的信息,
其中每个模板网络包括一组所述脉冲神经元,该一组所述脉冲神经元被连接以从一组所述突触元件接收突触输出,以及
其中每个模板网络适于接收施加到所述组突触元件的模板网络输入模式信号,并从所述组神经元生成对应的模板网络输出模式信号,以及
其中,通过在模板网络输入模式信号的训练集上训练所述模板网络来调整所述组突触元件的配置,使得所述模板网络输出模式信号对于所述训练集的每个独特的模板网络输入模式信号都是不同的,
其中所述训练集用于训练所述模板网络执行特定的任务,
使得每个模板网络能够以预训练方式用作脉冲神经网络的子网络以执行所述特定的任务,或使得所述脉冲神经网络的所述子网络能够基于关于所述模板网络的所述配置的所述信息以预训练方式被实例化以执行所述特定的任务。
19.一种组成脉冲神经网络的方法,所述方法包括:
从根据权利要求17所述的模板库获得一个或多个模板网络或关于一个或多个模板网络的配置的信息,以及
将所述一个或多个模板网络实例化为脉冲神经网络的子网络,使得所述所述脉冲神经网络的所述子网络能够执行所述模板网络被预训练执行的所述特定的任务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862768927P | 2018-11-18 | 2018-11-18 | |
US62/768,927 | 2018-11-18 | ||
PCT/EP2019/081373 WO2020099583A1 (en) | 2018-11-18 | 2019-11-14 | Spiking neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113287122A true CN113287122A (zh) | 2021-08-20 |
Family
ID=68583418
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980088638.6A Pending CN113287122A (zh) | 2018-11-18 | 2019-11-14 | 脉冲神经网络 |
CN201980084907.1A Pending CN113272828A (zh) | 2018-11-18 | 2019-11-18 | 弹性神经网络 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980084907.1A Pending CN113272828A (zh) | 2018-11-18 | 2019-11-18 | 弹性神经网络 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20220230051A1 (zh) |
EP (2) | EP3881241A1 (zh) |
JP (2) | JP7562522B2 (zh) |
KR (2) | KR20210124960A (zh) |
CN (2) | CN113287122A (zh) |
WO (2) | WO2020099583A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200069901A (ko) * | 2018-12-07 | 2020-06-17 | 삼성전자주식회사 | 뉴럴 네트워크를 분할하는 방법 및 뉴로모픽 장치 |
US20200293860A1 (en) * | 2019-03-11 | 2020-09-17 | Infineon Technologies Ag | Classifying information using spiking neural network |
US11468276B2 (en) * | 2020-04-16 | 2022-10-11 | Robert Bosch Gmbh | System and method of a monotone operator neural network |
CN111723726B (zh) * | 2020-06-17 | 2023-09-19 | 苏州大学 | 一种脉冲神经膜系统干燥剂包装袋识别模型的识别方法 |
EP4226281A1 (en) | 2020-10-05 | 2023-08-16 | Innatera Nanosystems B.V. | Adaptation of snns through transient synchrony |
US20220156564A1 (en) * | 2020-11-18 | 2022-05-19 | Micron Technology, Inc. | Routing spike messages in spiking neural networks |
KR20220081782A (ko) | 2020-12-09 | 2022-06-16 | 삼성전자주식회사 | 뉴럴 네트워크를 이용하는 데이터 처리 방법, 데이터 처리 장치 및 이를 포함한 전자 장치 |
EP4323923A1 (en) * | 2021-04-16 | 2024-02-21 | Innatera Nanosystems B.V. | Hierarchical reconfigurable multi-segment spiking neural network |
US12001529B1 (en) * | 2021-11-05 | 2024-06-04 | Validate Me LLC | Counting machine for manufacturing and validating event-relevant identities via an ensemble network |
CN114528983A (zh) * | 2021-12-29 | 2022-05-24 | 北京时代民芯科技有限公司 | 一种脉冲神经元加固电路、加固方法 |
CN114781597B (zh) * | 2022-03-28 | 2024-09-06 | 华中科技大学 | 面向时间序列预测的漂移脉冲神经网络构建方法及其应用 |
EP4303766A1 (en) | 2022-07-07 | 2024-01-10 | Centre national de la recherche scientifique | A neuro-synaptic system for real time processing of trading data and associated computer program |
CN115496195A (zh) * | 2022-08-08 | 2022-12-20 | 西安电子科技大学 | 基于mzi阵列和fp-sa的光脉冲神经网络实现装置 |
TW202416178A (zh) * | 2022-08-16 | 2024-04-16 | 荷蘭商因納特拉納米系統有限公司 | 用於可重組態之模組化神經突觸運算結構之系統及方法 |
US20240086682A1 (en) * | 2022-09-13 | 2024-03-14 | International Business Machines Corporation | Function-based activation of memory tiers |
CN115421929A (zh) * | 2022-11-04 | 2022-12-02 | 北京大学 | MoE模型训练方法、装置、设备以及存储介质 |
EP4369032A1 (en) * | 2022-11-09 | 2024-05-15 | VoxelSensors SRL | Optical sensing system |
CN117688992B (zh) * | 2024-02-01 | 2024-06-04 | 之江实验室 | 神经元计算机操作系统的资源映射方法和装置 |
CN118096500B (zh) * | 2024-03-15 | 2024-09-13 | 山东科技大学 | 基于多稳态耦合神经网络动力学特性的图像储存方法及系统 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2810202B2 (ja) * | 1990-04-25 | 1998-10-15 | 株式会社日立製作所 | ニューラルネットワークによる情報処理装置 |
JP3560670B2 (ja) * | 1995-02-06 | 2004-09-02 | 富士通株式会社 | 適応的認識システム |
US8942466B2 (en) * | 2010-08-26 | 2015-01-27 | Brain Corporation | Sensory input processing apparatus and methods |
US8856055B2 (en) * | 2011-04-08 | 2014-10-07 | International Business Machines Corporation | Reconfigurable and customizable general-purpose circuits for neural networks |
US9147156B2 (en) * | 2011-09-21 | 2015-09-29 | Qualcomm Technologies Inc. | Apparatus and methods for synaptic update in a pulse-coded network |
US8725662B2 (en) * | 2011-09-21 | 2014-05-13 | Brain Corporation | Apparatus and method for partial evaluation of synaptic updates based on system events |
US9159020B2 (en) * | 2012-09-14 | 2015-10-13 | International Business Machines Corporation | Multiplexing physical neurons to optimize power and area |
JP5284530B2 (ja) * | 2012-11-22 | 2013-09-11 | キヤノン株式会社 | 情報処理方法、情報処理装置 |
EP2973240A4 (en) * | 2013-03-15 | 2017-09-27 | HRL Laboratories, LLC | Neural network and method of programming |
US20150120627A1 (en) * | 2013-10-29 | 2015-04-30 | Qualcomm Incorporated | Causal saliency time inference |
US20150170028A1 (en) * | 2013-12-13 | 2015-06-18 | Qualcomm Incorporated | Neuronal diversity in spiking neural networks and pattern classification |
US20150242745A1 (en) | 2014-02-21 | 2015-08-27 | Qualcomm Incorporated | Event-based inference and learning for stochastic spiking bayesian networks |
US9990580B2 (en) * | 2015-03-13 | 2018-06-05 | International Business Machines Corporation | Neuromorphic synapses |
US10586150B2 (en) * | 2015-03-18 | 2020-03-10 | HTL Laboratories, LLC | System and method for decoding spiking reservoirs with continuous synaptic plasticity |
US9984323B2 (en) * | 2015-03-26 | 2018-05-29 | International Business Machines Corporation | Compositional prototypes for scalable neurosynaptic networks |
US10460237B2 (en) * | 2015-11-30 | 2019-10-29 | International Business Machines Corporation | Neuron-centric local learning rate for artificial neural networks to increase performance, learning rate margin, and reduce power consumption |
US20170236027A1 (en) * | 2016-02-16 | 2017-08-17 | Brainchip Inc. | Intelligent biomorphic system for pattern recognition with autonomous visual feature extraction |
US10671912B2 (en) * | 2016-09-13 | 2020-06-02 | Sap Se | Spatio-temporal spiking neural networks in neuromorphic hardware systems |
US10338629B2 (en) * | 2016-09-22 | 2019-07-02 | International Business Machines Corporation | Optimizing neurosynaptic networks |
US10885425B2 (en) * | 2016-12-20 | 2021-01-05 | Intel Corporation | Network traversal using neuromorphic instantiations of spike-time-dependent plasticity |
CN107092959B (zh) * | 2017-04-07 | 2020-04-10 | 武汉大学 | 基于stdp非监督学习算法的脉冲神经网络模型构建方法 |
US10878313B2 (en) * | 2017-05-02 | 2020-12-29 | Intel Corporation | Post synaptic potential-based learning rule |
WO2020049541A1 (en) * | 2018-09-09 | 2020-03-12 | Gore Mihir Ratnakar | A neuromorphic computing system |
-
2019
- 2019-11-14 CN CN201980088638.6A patent/CN113287122A/zh active Pending
- 2019-11-14 WO PCT/EP2019/081373 patent/WO2020099583A1/en active Application Filing
- 2019-11-14 US US17/294,430 patent/US20220230051A1/en active Pending
- 2019-11-14 JP JP2021527165A patent/JP7562522B2/ja active Active
- 2019-11-14 KR KR1020217016977A patent/KR20210124960A/ko unknown
- 2019-11-14 EP EP19805259.9A patent/EP3881241A1/en active Pending
- 2019-11-18 JP JP2021527142A patent/JP7520829B2/ja active Active
- 2019-11-18 WO PCT/EP2019/081662 patent/WO2020099680A2/en active Application Filing
- 2019-11-18 KR KR1020217016976A patent/KR20210127133A/ko active Search and Examination
- 2019-11-18 EP EP19805656.6A patent/EP3881246A2/en active Pending
- 2019-11-18 CN CN201980084907.1A patent/CN113272828A/zh active Pending
- 2019-11-18 US US17/294,697 patent/US20220012564A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3881246A2 (en) | 2021-09-22 |
KR20210127133A (ko) | 2021-10-21 |
CN113272828A (zh) | 2021-08-17 |
US20220230051A1 (en) | 2022-07-21 |
JP2022507721A (ja) | 2022-01-18 |
JP7562522B2 (ja) | 2024-10-07 |
WO2020099680A3 (en) | 2020-07-23 |
KR20210124960A (ko) | 2021-10-15 |
JP7520829B2 (ja) | 2024-07-23 |
WO2020099583A1 (en) | 2020-05-22 |
WO2020099680A2 (en) | 2020-05-22 |
JP2022509618A (ja) | 2022-01-21 |
EP3881241A1 (en) | 2021-09-22 |
US20220012564A1 (en) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113287122A (zh) | 脉冲神经网络 | |
Wang et al. | Neuromorphic hardware architecture using the neural engineering framework for pattern recognition | |
US20180247199A1 (en) | Method and apparatus for multi-dimensional sequence prediction | |
US20170286828A1 (en) | Cognitive Neural Architecture and Associated Neural Network Implementations | |
US20170337469A1 (en) | Anomaly detection using spiking neural networks | |
WO2016145850A1 (zh) | 基于选择性注意原理的深度长短期记忆循环神经网络声学模型的构建方法 | |
US20180225562A1 (en) | System and Method for Spontaneous Machine Learning and Feature Extraction | |
CN109063820A (zh) | 利用时频联合长时循环神经网络的数据处理方法 | |
CN113313240B (zh) | 计算设备及电子设备 | |
JP2017516192A (ja) | ニューラルネットワークにおける差分符号化 | |
US11551076B2 (en) | Event-driven temporal convolution for asynchronous pulse-modulated sampled signals | |
WO2000016212A1 (en) | Method and apparatus for neural networking using semantic attractor architecture | |
WO2016036664A1 (en) | Event-driven spatio-temporal short-time fourier transform processing for asynchronous pulse-modulated sampled signals | |
US20180075341A1 (en) | Regularization of neural networks | |
CN112422493B (zh) | SDN网络架构下基于多层感知神经网络MLDNN的DDoS攻击检测方法 | |
US11080592B2 (en) | Neuromorphic architecture for feature learning using a spiking neural network | |
CN109886343A (zh) | 图像分类方法及装置、设备、存储介质 | |
CN108304912A (zh) | 一种运用抑制信号实现脉冲神经网络监督学习的系统和方法 | |
Weidel et al. | WaveSense: Efficient temporal convolutions with spiking neural networks for keyword spotting | |
Kaur | Implementation of backpropagation algorithm: A neural net-work approach for pattern recognition | |
Wilinski et al. | Toward the border between neural and Markovian paradigms | |
Singh et al. | A novel procedure for recognising human activity using machine learning | |
Frid et al. | Temporal pattern recognition via temporal networks of temporal neurons | |
Mohanty et al. | Recognition of voice signals for Oriya language using wavelet neural network | |
US20230351165A1 (en) | Method for operating neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Holland Wei grams of rice Applicant after: Innatra nano Systems Co.,Ltd. Address before: Delft, the Netherlands Applicant before: Innatra nano Systems Co.,Ltd. |