CN112734012B - 脉冲神经网络训练方法、数据处理方法、电子设备和介质 - Google Patents

脉冲神经网络训练方法、数据处理方法、电子设备和介质 Download PDF

Info

Publication number
CN112734012B
CN112734012B CN202110018629.9A CN202110018629A CN112734012B CN 112734012 B CN112734012 B CN 112734012B CN 202110018629 A CN202110018629 A CN 202110018629A CN 112734012 B CN112734012 B CN 112734012B
Authority
CN
China
Prior art keywords
threshold
pulse
target layer
adjusting
neural network
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.)
Active
Application number
CN202110018629.9A
Other languages
English (en)
Other versions
CN112734012A (zh
Inventor
吴臻志
张启坤
王红伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lynxi Technology Co Ltd
Original Assignee
Beijing Lynxi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Lynxi Technology Co Ltd filed Critical Beijing Lynxi Technology Co Ltd
Priority to CN202110018629.9A priority Critical patent/CN112734012B/zh
Publication of CN112734012A publication Critical patent/CN112734012A/zh
Priority to US18/004,013 priority patent/US11941526B2/en
Priority to PCT/CN2021/141981 priority patent/WO2022148272A1/zh
Application granted granted Critical
Publication of CN112734012B publication Critical patent/CN112734012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-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)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Investigating, Analyzing Materials By Fluorescence Or Luminescence (AREA)
  • Image Analysis (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

本公开提供了一种脉冲神经网络训练方法,包括:将训练样本对应的脉冲信号输入至待训练的脉冲神经网络中;基于反向传播规则对脉冲神经网络进行训练;其中,在训练的前向传播阶段,包括:根据训练样本在目标层的置信度对目标层的脉冲发放阈值进行调整。本公开还提供了一种基于脉冲神经网络的数据处理方法、电子设备和计算机可读介质。

Description

脉冲神经网络训练方法、数据处理方法、电子设备和介质
技术领域
本公开涉及计算机技术领域,特别涉及一种脉冲神经网络训练方法、基于脉冲神经网络的数据处理方法、电子设备和计算机可读介质。
背景技术
相比传统的神经网络,脉冲神经网络(Spiking Neuron Network,简称SNN)由于其更贴合实际的仿生设计,被广泛应用于模式识别、图像处理和计算机视觉等多个领域。现阶段,在利用反向传播(Back Propagation,简称BP)规则进行训练时,脉冲神经网络的稀疏性会导致其在训练过程中,较容易出现梯度消失或梯度爆炸的情况,使得基于该规则进行训练较为困难。
发明内容
本公开提供一种脉冲神经网络训练方法、基于脉冲神经网络的数据处理方法、电子设备和计算机可读介质。
第一方面,本公开提供了一种脉冲神经网络训练方法,包括:
将训练样本对应的脉冲信号输入至待训练的脉冲神经网络中;
基于反向传播规则对所述脉冲神经网络进行训练;其中,在训练的前向传播阶段,包括:根据所述训练样本在目标层的置信度对所述目标层的脉冲发放阈值进行调整。
第二方面,本公开提供了一种基于脉冲神经网络的数据处理方法,包括:
获取待处理数据对应的脉冲信号;
通过脉冲神经网络对所述脉冲信号进行处理,并输出处理结果;其中,在处理过程中,包括:根据所述待处理数据在目标层的置信度对所述目标层的脉冲发放阈值进行调整,所述脉冲神经网络是基于上述脉冲神经网络训练方法训练得到的。
第三方面,本公开提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的脉冲神经网络训练方法或者基于脉冲神经网络的数据处理方法。
第四方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的脉冲神经网络训练方法中的步骤或者基于脉冲神经网络的数据处理方法中的步骤。
本公开所提供的脉冲神经网络训练方法、基于脉冲神经网络的数据处理方法、电子设备和计算机可读介质,在基于反向传播规则对脉冲神经网络进行训练时,通过在训练的前向传播阶段,针对目标层,根据训练样本在该层的置信度对其脉冲发放阈值进行调整,由此实现脉冲神经网络在基于反向传播规则训练时能够自适应地进行门限调整,便于训练,提升训练效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种脉冲神经网络训练方法的流程图;
图2为图1所示的脉冲神经网络训练方法中前向传播阶段的流程图;
图3为本公开实施例中步骤S3的一种具体实施方法流程图;
图4为本公开实施例中步骤S3b的一种具体实施方法流程图;
图5为本公开实施例中步骤S3b的另一种具体实施方法流程图;
图6为本公开实施例中步骤S301的一种具体实施方法流程图;
图7为本公开实施例中步骤S302的一种具体实施方法流程图;
图8为本公开实施例提供的另一种脉冲神经网络训练方法的流程图;
图9为本公开实施例中步骤S3的另一种具体实施方法流程图;
图10为本公开实施例中步骤S305的另一种具体实施方法流程图;
图11为本公开实施例提供的一种电子设备的组成框图;
图12为本公开实施例提供的一种计算机可读介质的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1为本公开实施例提供的一种脉冲神经网络训练方法的流程图。如图所示,该方法包括:
步骤S1、将训练样本对应的脉冲信号输入至待训练的脉冲神经网络中。
其中,训练样本对应的脉冲信号即根据训练样本生成的脉冲信号;在一些实施例中,训练样本为脉冲信号的形式,或者,可通过对原始的训练样本进行脉冲编码以生成脉冲信号;脉冲信号可为脉冲序列的形式。
在一些实施例中,训练样本对应的脉冲信号包括图像样本对应的图像脉冲序列、音频样本对应的音频脉冲序列和文本样本对应的文本脉冲序列中的一者;在一些实施例中,训练样本对应的脉冲信号还可包括视频样本对应的视频脉冲序列,以及特征图、特征点和其他特征信息对应的脉冲信号等。
在一些实施例中,该脉冲神经网络的神经元模型采用线性积分放电(LeakyIntegrate-and-Fire,LIF)模型。
在一些实施例中,在将训练样本对应的脉冲信号输入至待训练的脉冲神经网络中的步骤之前,还包括:将脉冲神经网络的各项参数进行初始化,包括突触权重、激活参数等。
步骤S2、基于反向传播规则对脉冲神经网络进行训练。
其中,反向传播规则包括前向传播阶段和反向传播阶段,根据前向传播阶段的实际输出值和预期输出值的误差进行反向传播,循环迭代,以进行对神经网络模型参数的学习训练;在训练完成后,该脉冲神经网络可用于实现各种功能,例如,目标检测、行为识别和图像处理等;训练该神经网络时依照其所需要实现的功能选择相应的训练样本,例如图像特征信息、图像序列等。但不论该神经网络具体实现什么功能,都可采用本公开所提供的方法进行训练。
在一些实施例中,该反向传播规则为基于时间的反向传播(Back PropagationThrough Time,简称BPTT)规则。
图2为图1所示脉冲神经网络训练方法的前向传播阶段的流程图。如图2所示,在训练的前向传播阶段,包括:步骤S3。
步骤S3、根据训练样本在目标层的置信度对目标层的脉冲发放阈值进行调整。
在一些实施例中,训练样本在目标层的置信度体现了预期的脉冲发放稀疏度,该置信度为在先基于历史数据和历史训练结果的优选值离线配置。
需要说明的是,上述对置信度的配置方式的描述,仅为本公开实施例提供的一种具体实施方式,其不会对本公开的技术方案产生限制,训练样本在目标层的置信度可以灵活设置,其他置信度获取和设置方式同样适用于本公开的技术方案。
在一些实施例中,训练样本在目标层的置信度与目标层的预期发放率相关,二者相加等于1;在一些实施例中,可根据该发放率与预期发放率的对比结果对脉冲发放阈值进行调整,目标层的发放率为目标层当前的脉冲发放情况。
本公开实施例提供了一种脉冲神经网络训练方法,该方法可用于在基于反向传播规则对脉冲神经网络进行训练时,通过在训练的前向传播阶段,针对目标层,根据训练样本在该层的置信度对其脉冲发放阈值进行调整,由此实现脉冲神经网络在基于反向传播规则训练时能够自适应地进行门限调整,便于训练,避免出现梯度消失或梯度爆炸的情况从而影响模型训练。并且,在脉冲神经网络训练过程中以及在通过训练得到的脉冲神经网络进行推理时,均能够实现将目标层的稀疏度维护在目标范围内,进而提高脉冲神经网络的计算效率。
图3为本公开实施例中步骤S3的一种具体实施方法流程图。如图3所示,具体地,步骤S3,根据训练样本在目标层的置信度对目标层的脉冲发放阈值进行调整的步骤,包括:步骤S3a和步骤S3b。
步骤S3a、根据目标层对应的膜电位计算目标层对应的激活参数。
其中,基于步骤S1中输入的训练样本对应的脉冲信号,在一些实施例中,针对目标层,根据其前向层的输出计算得出目标层对应的膜电位隐状态。
具体地,采用如下公式:
ht,l=Wl-1·xt,l+bl-1
计算层标识为l的目标层对应的膜电位隐状态hi,l。其中,t为当前时间步长;Wl-1为权重,bl-1为偏置项;xt,l为目标层的输入,也即是目标层的前向层的输出,其包括多个值。
此后,根据目标层对应的膜电位隐状态计算得出目标层对应的膜电位。
具体地,采用如下公式:
vt,l=ht,l+α⊙vt-1,l
计算目标层对应的膜电位vt,l。α表示膜电位的泄露参数;⊙表示哈达玛积(Hadamard product)运算;vt-1,l表示目标层在前一个时间步长所对应的膜电位。
以及,根据目标层对应的膜电位基于激活函数计算目标层对应的激活参数,激活参数包括多个值。
在一些实施例中,采用如下公式:
yt,l=σ(vt,l+δ)
计算激活参数yt,l:其中,σ()表示激活函数,例如可以为自定义函数或者正则化函数;δ表示随机激活系数,例如可以为随机噪声。
需要说明的是,上述对激活参数的计算方式的描述,仅为本公开实施例提供的一种具体实施方式,其不会对本公开的技术方案产生限制,其他激活参数的计算方式同样适用于本公开的技术方案。
步骤S3b、根据激活参数和置信度计算得出目标调整阈值,并基于目标调整阈值对脉冲发放阈值进行调整。
在步骤S3b中,根据激活参数和置信度计算得出目标调整阈值,该目标调整阈值用于以阈值的形式表征置信度,由此基于目标调整阈值对脉冲发放阈值进行调整。在一些实施例中,对包括多个值的激活参数进行排序,并根据排序结果和置信度计算得出目标调整阈值;在一些实施例中,以升序对激活参数对应的激活参数值进行排序,并基于置信度k%,将排序结果中处于前(1-k)%的激活参数值确定为可发放或待发放的激活参数值,由此,目标调整阈值的取值小于等于任一处于前(1-k)%的激活参数值,且大于等于其余激活参数值;在一些实施例中,当存在多个置信度时,基于上述方式,相应地,目标调整阈值存在多个值。根据激活参数和置信度
在一些实施例中,在训练的前向传播阶段中,在步骤S3a和步骤S3b之间,还包括:对小批量数据(mini-batch)的形式对激活参数配置,具体地,还包括对小批量数据进行排序;针对各小批量数据分批次进行步骤S3a和步骤S3b以及其他相关步骤。
图4为本公开实施例中步骤S3b的一种具体实施方法流程图。如图4所示,具体地,目标调整阈值包括第一调整阈值;步骤S3b,根据激活参数和置信度计算得出目标调整阈值,并基于目标调整阈值对脉冲发放阈值进行调整的步骤,包括:
步骤S301、响应于脉冲发放阈值小于第一调整阈值的情况,对脉冲发放阈值进行调整。
在一些实施例中,若脉冲发放阈值小于第一调整阈值,则表示目标层对应的实时的置信度小于预期的置信度,发放门限过低,若以此门限进行发放会导致脉冲发放过多,由此对脉冲发放阈值进行调整以减少发放。
图5为本公开实施例中步骤S3b的另一种具体实施方法流程图。如图5所示,该方法为基于图4所示方法的一种具体化可选实施方案。具体地,目标调整阈值还包括第二调整阈值,即目标调整阈值包括第一调整阈值和第二调整阈值;在步骤S301的基础上,步骤S3b,根据激活参数和置信度计算得出目标调整阈值,并基于目标调整阈值对脉冲发放阈值进行调整的步骤,还包括:
步骤S302、响应于脉冲发放阈值大于第二调整阈值的情况,对脉冲发放阈值进行调整。
其中,第二调整阈值大于第一调整阈值。
在一些实施例中,若脉冲发放阈值小于第一调整阈值,则表示目标层对应的实时的置信度小于预期的最小置信度,发放门限过低,若以此门限进行发放会导致脉冲发放过多,由此对脉冲发放阈值进行调整以减少发放;若脉冲发放阈值大于第二调整阈值,则表示目标层对应的实时的置信度大于预期的最大置信度,发放门限过高,若以此门限进行发放会导致脉冲发放不足,由此对脉冲发放阈值进行调整以增加发放;脉冲发放阈值大于第二调整阈值或小于第一调整阈值,表示目标层对应的置信度不属于预期的置信度所对应的区间,需对脉冲发放阈值进行调整以使得置信度位于该区间内。
图6为本公开实施例中步骤S301的一种具体实施方法流程图。如图6所示,具体地,步骤S301,响应于脉冲发放阈值小于第一调整阈值的情况,对脉冲发放阈值进行调整的步骤,包括:步骤S3011。
步骤S3011、根据脉冲发放阈值与预先设置的兴奋参数之和对脉冲发放阈值进行调整,直至脉冲发放阈值等于第一调整阈值;和/或,根据脉冲发放阈值与兴奋参数之和对脉冲发放阈值进行调整,其中,进行调整的次数小于或等于预先设置的最大调整次数。
其中,将当前的脉冲发放阈值加上兴奋参数所得到的的和作为调整后的脉冲发放阈值。
图7为本公开实施例中步骤S302的一种具体实施方法流程图。如图7所示,具体地,步骤S302,响应于脉冲发放阈值大于第二调整阈值的情况,对脉冲发放阈值进行调整的步骤,包括:步骤S3021。
步骤S3021、根据脉冲发放阈值与预先设置的兴奋参数之差对脉冲发放阈值进行调整,直至脉冲发放阈值等于第二调整阈值;和/或,根据脉冲发放阈值与兴奋参数之差对脉冲发放阈值进行调整,其中,进行调整的次数小于或等于预先设置的最大调整次数。
其中,将当前的脉冲发放阈值减去兴奋参数所得到的的差作为调整后的脉冲发放阈值。
需要说明的是,步骤S3011和步骤S3021的分别实施仅为本公开实施例提供的一种具体实施方式,即,还存在以下实施方式:在一些实施例中,步骤S3011和步骤S3021组合实施,步骤S3011和步骤S3021依据步骤S300确定的同一个兴奋参数分别进行对脉冲发放阈值的调整,或者,步骤S300所确定的兴奋参数为多个值,步骤S3011和步骤S3021分别依据其中一个值进行对脉冲发放阈值的调整。
本公开实施例提供了一种脉冲神经网络训练方法,该方法可用于将目标层的置信度转化为目标调整阈值,直接以目标调整阈值与脉冲发放阈值的对比结果进行对脉冲发放阈值的调整,从而实现根据实际脉冲发放情况,自适应地调整发放门限。
在一些实施例中,在本公开实施例所提供的脉冲神经网络训练方法中,在步骤S3,根据训练样本在所述目标层的置信度对所述目标层的脉冲发放阈值进行调整的步骤之前,还包括:根据目标层对应的膜电位计算目标层对应的激活参数。
以及,步骤S3,根据训练样本在目标层的置信度对目标层的脉冲发放阈值进行调整的步骤,包括:根据目标层对应的激活参数,确定平均激活参数;根据平均激活参数以及置信度,确定脉冲发放阈值。
其中,类似于步骤S3a,可根据目标层对应的膜电位计算目标层对应的激活参数,在此不再赘述。
其中,根据目标层对应的激活参数,确定平均激活参数,在一些实施例中,采用如下公式:
确定平均激活参数其中,激活参数包括多个激活参数值,yi即表示激活参数值,1≤i≤N,N为激活参数值的个数。
其中,根据平均激活参数以及置信度,确定脉冲发放阈值。在一些实施例中,置信度可以为85%到98%中的任意一值,将平均激活参数与置信度的乘积作为目标层调整后的脉冲发放阈值。
通过这种方式,根据目标层的平均激活参数以及置信度自适应调整脉冲发放阈值,能够高效地控制目标层的发放率在目标范围内,从而减少训练过程中梯度消失或者梯度爆炸情况的发生。并且,在脉冲神经网络训练过程中以及在通过训练得到的脉冲神经网络进行推理时,均能够实现将目标层的稀疏度维护在目标范围内,进而提高脉冲神经网络的计算效率。
图8为本公开实施例提供的另一种脉冲神经网络训练方法的流程图。如图8所示,该方法为基于图2所示方法的一种具体化可选实施方案。具体地,在训练的前向传播阶段中,在步骤S3,根据训练样本在目标层的置信度对目标层的脉冲发放阈值进行调整的步骤之后,还包括:步骤S4。下面仅对步骤S4进行详细描述。
步骤S4、响应于激活参数大于或等于调整后的脉冲发放阈值的情况,进行脉冲发放。
其中,在根据置信度对目标层的脉冲发放阈值进行调整后,不同于根据膜电位和脉冲发放阈值触发脉冲发放的方案,在步骤S4中,根据激活参数和调整后的脉冲发放阈值,进行脉冲发放,其中,激活参数即激活值,其为激活函数的输出。
在一些实施例中,在训练的前向传播阶段中,在步骤S4之后,还包括执行膜电位的泄露,以及根据激活参数的当前值和调整后的脉冲发放阈值对激活参数的取值范围进行调整。
图9为本公开实施例中步骤S3的另一种具体实施方法流程图。如图9所示,具体地,步骤S3,根据训练样本在目标层的置信度对目标层的脉冲发放阈值进行调整的步骤,包括:
步骤S303、根据目标层对应的膜电位计算目标层对应的激活参数。
在一些实施例中,根据目标层的前向层的输出计算得出膜电位隐状态,根据隐状态参数计算得出目标层对应的膜电位,此后,根据目标层对应的膜电位基于激活函数计算目标层对应的激活参数。
步骤S304、响应于激活参数大于或等于脉冲发放阈值的情况,进行脉冲发放。
步骤S305、根据目标层的发放率和置信度对脉冲发放阈值进行调整。
在步骤S305中,不同于步骤S4和步骤S5中,基于置信度先调整后发放的方式,其根据目标层的实时的发放率和置信度对脉冲发放阈值进行调整。
图10为本公开实施例中步骤S305的另一种具体实施方法流程图。如图10所示,具体地,步骤S305,根据目标层的发放率和置信度对脉冲发放阈值进行调整的步骤,包括:
步骤S3051、根据置信度计算得出目标层对应的预期发放率。
其中,置信度包括多个值,其中包括预期的最大置信度和最小置信度,由此,预期发放率包括第一预期发放率和第二预期发放率,第二预期发放率大于第一预期发放率。
在一些实施例中,训练样本在目标层的置信度体现了预期的脉冲发放稀疏度,该置信度与目标层的预期发放率相关,二者相加等于1。
步骤S3052、响应于发放率小于第一预期发放率的情况,对脉冲发放阈值进行调整。
在一些实施例中,步骤S3052,响应于发放率小于第一预期发放率的情况,对脉冲发放阈值进行调整的步骤,包括:根据脉冲发放阈值与预先设置的兴奋参数之差对脉冲发放阈值进行调整。
步骤S3053、响应于发放率大于第二预期发放率的情况,对脉冲发放阈值进行调整。
在一些实施例中,步骤S3053,响应于发放率小于第二预期发放率的情况,对脉冲发放阈值进行调整的步骤,包括:根据脉冲发放阈值与预先设置的兴奋参数之和对脉冲发放阈值进行调整。其中,类似于步骤S3011和步骤S3021,基于兴奋参数对脉冲发放阈值进行调整。
其中,若发放率小于第一预期发放率,则表示目标层当前时间步长发放较少,对应的实时的置信度大于预期的最大置信度,发放门限过高,由此对脉冲发放阈值进行调整以在之后的时间步长增加发放;若发放率大于第二预期发放率,则表示目标层脉冲发放过多,对应的实时的置信度小于预期的最小置信度,发放门限过低,由此对脉冲发放阈值进行调整以减少后续发放。
下面对本公开提供的脉冲神经网络训练方法结合实际应用进行详细描述。具体地,待训练的脉冲神经网络的神经元模型采用线性积分放电模型,预先对训练样本进行脉冲编码,以生成训练样本对应的脉冲信号,该训练样本为图像样本,对应生成的脉冲信号为图像脉冲序列。
将该脉冲信号输入至脉冲神经网络中,并基于反向传播规则对脉冲神经网络进行训练,其中,该反向传播规则为基于时间的反向传播规则。
在训练的前向传播阶段,当时间步长为t时,在脉冲神经网络的l层,包括:根据目标层的前向层的输出计算得出膜电位隐状态并更新膜电位;根据更新后的膜电位通过激活函数确定激活参数;根据激活参数和训练样本在目标层的置信度对脉冲发放阈值进行调整;执行膜电位的泄露;调整激活参数的取值范围。
其中,根据激活参数和训练样本在目标层的置信度对脉冲发放阈值进行调整的过程中包括:根据激活参数和置信度计算得出目标调整阈值,目标调整阈值包括第一调整阈值和第二调整阈值,第一调整阈值对应预期的最小置信度,第二调整阈值对应预期的最大置信度,二者用于表征当前预期的脉冲发放稀疏度,前者对应85%,后者对应98%。激活参数包括多个激活参数值,将其以升序进行排序;第一调整阈值小于任一处于排序结果前15%的激活参数值,且大于其余85%的激活参数值,或者,第一调整阈值等于处于排序结果前15%的全部激活参数值中数值最小的激活参数值;第二调整阈值小于任一处于排序结果前2%的激活参数值,且大于其余98%的激活参数值,或者,第二调整阈值等于处于排序结果前2%的全部激活参数值中数值最小的激活参数值。
此后,响应于脉冲发放阈值小于第一调整阈值的情况,根据脉冲发放阈值与兴奋参数之和对脉冲发放阈值进行调整,直至脉冲发放阈值等于第一调整阈值,其中,兴奋参数取值为0.01,当调整次数大于预先设置的最大调整次数,而脉冲发放阈值仍小于第一调整阈值时,也同样完成调整,最大调整次数取值为50;响应于脉冲发放阈值大于第二调整阈值的情况,根据脉冲发放阈值与预先设置的兴奋参数之差对脉冲发放阈值进行调整,直至脉冲发放阈值等于第二调整阈值,相应地,当调整次数大于预先设置的最大调整次数,而脉冲发放阈值仍大于第二调整阈值时,也同样完成调整。在完成对脉冲发放阈值的调整后,执行膜电位的泄露,以及根据激活参数的当前值和调整后的脉冲发放阈值对激活参数的取值范围进行调整。
本公开实施例还提供了一种基于脉冲神经网络的数据处理方法,包括:获取待处理数据对应的脉冲信号;通过脉冲神经网络对脉冲信号进行处理,并输出处理结果;其中,在处理过程中,包括:根据待处理数据在目标层的置信度对目标层的脉冲发放阈值进行调整,该脉冲神经网络是基于如上述实施例中任一的脉冲神经网络训练方法训练得到。
其中,待处理数据可以为视频、图像、文本或者音频数据等各类数据,待处理数据与在对应的脉冲神经网络训练方法中所采用的训练样本为同类型的数据。
其中,在处理过程,也即脉冲神经网络推理过程中,对目标层的脉冲发放阈值进行调整与训练过程类似,即类似于上述的步骤S3及其他相关步骤,在此不再赘述。
通过这种方式,在通过训练得到的脉冲神经网络进行推理时,根据目标层的置信度对目标层的脉冲发放阈值进行调整,能够实现将目标层的稀疏度维护在目标范围内,进而提高脉冲神经网络的计算效率。
图11为本公开实施例提供的一种电子设备的组成框图。如图11所示,该电子设备包括:
一个或多个处理器101;
存储器102,其上存储有一个或多个程序,当该一个或多个程序被该一个或多个处理器执行,使得该一个或多个处理器101实现如上述实施例中任一的脉冲神经网络训练方法,或者如上述实施例的基于脉冲神经网络的数据处理方法;
一个或多个I/O接口103,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器101为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器102为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)103连接在处理器101与存储器102间,能实现处理器101与存储器102的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器101、存储器102和I/O接口103通过总线104相互连接,进而与计算设备的其它组件连接。
在一些实施例中,多个处理器101包括多个图形处理器(GPU),其组合设置构成图形处理器阵列。
图12为本公开实施例提供的一种计算机可读介质的组成框图。该计算机可读介质上存储有计算机程序,其中,该计算机程序在被处理器执行时实现如上述实施例中任一的脉冲神经网络训练方法中的步骤,和/或,如上述实施例的基于脉冲神经网络的数据处理方法中的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (14)

1.一种脉冲神经网络训练方法,包括:
将训练样本对应的脉冲信号输入至待训练的脉冲神经网络中;所述训练样本包括图像样本、音频样本、视频样本或文本样本;
基于反向传播规则对所述脉冲神经网络进行训练;其中,在训练的前向传播阶段,包括:根据所述训练样本在目标层的置信度对所述目标层的脉冲发放阈值进行调整;
在所述根据所述训练样本在目标层的置信度对所述目标层的脉冲发放阈值进行调整的步骤之前,还包括:
根据所述目标层对应的膜电位计算所述目标层对应的激活参数;
所述根据所述训练样本在目标层的置信度对所述目标层的脉冲发放阈值进行调整的步骤,包括:
根据所述激活参数和所述置信度计算得出目标调整阈值,并基于所述目标调整阈值对所述脉冲发放阈值进行调整。
2.根据权利要求1所述的方法,其中,所述目标调整阈值包括:第一调整阈值;
所述根据所述激活参数和所述置信度计算得出目标调整阈值,并基于所述目标调整阈值对所述脉冲发放阈值进行调整的步骤,包括:
响应于所述脉冲发放阈值小于所述第一调整阈值的情况,对所述脉冲发放阈值进行调整。
3.根据权利要求2所述的方法,其中,所述响应于所述脉冲发放阈值小于所述第一调整阈值的情况,对所述脉冲发放阈值进行调整的步骤,包括:
根据所述脉冲发放阈值与预先设置的兴奋参数之和对所述脉冲发放阈值进行调整,直至所述脉冲发放阈值等于所述第一调整阈值;和/或,根据所述脉冲发放阈值与所述兴奋参数之和对所述脉冲发放阈值进行调整,其中,进行调整的次数小于或等于预先设置的最大调整次数。
4.根据权利要求2所述的方法,其中,所述目标调整阈值还包括:第二调整阈值;
所述根据所述激活参数和所述置信度计算得出目标调整阈值,并基于所述目标调整阈值对所述脉冲发放阈值进行调整的步骤,还包括:
响应于所述脉冲发放阈值大于所述第二调整阈值的情况,对所述脉冲发放阈值进行调整,其中,所述第二调整阈值大于所述第一调整阈值。
5.根据权利要求4所述的方法,其中,所述响应于所述脉冲发放阈值大于所述第二调整阈值的情况,对所述脉冲发放阈值进行调整的步骤,包括:
根据所述脉冲发放阈值与预先设置的兴奋参数之差对所述脉冲发放阈值进行调整,直至所述脉冲发放阈值等于所述第二调整阈值;和/或,根据所述脉冲发放阈值与所述兴奋参数之差对所述脉冲发放阈值进行调整,其中,进行调整的次数小于或等于预先设置的最大调整次数。
6.根据权利要求1至5中任一所述的方法,其中,在所述根据所述训练样本在所述目标层的置信度对所述目标层的脉冲发放阈值进行调整的步骤之后,还包括:
响应于所述激活参数大于或等于调整后的所述脉冲发放阈值的情况,进行脉冲发放。
7.根据权利要求1所述的方法,其中,所述根据所述训练样本在目标层的置信度对所述目标层的脉冲发放阈值进行调整的步骤,包括:
根据所述目标层对应的膜电位计算所述目标层对应的激活参数;
响应于所述激活参数大于或等于所述脉冲发放阈值的情况,进行脉冲发放;
根据所述目标层的发放率和所述置信度对所述脉冲发放阈值进行调整。
8.根据权利要求7所述的方法,其中,所述根据所述目标层的发放率和所述置信度对所述脉冲发放阈值进行调整的步骤,包括:
根据所述置信度计算得出所述目标层对应的预期发放率,其中,所述预期发放率包括第一预期发放率和第二预期发放率,所述第二预期发放率大于所述第一预期发放率;
响应于所述发放率小于所述第一预期发放率的情况,对所述脉冲发放阈值进行调整;
或者,响应于所述发放率大于所述第二预期发放率的情况,对所述脉冲发放阈值进行调整。
9.根据权利要求8所述的方法,其中,所述响应于所述发放率小于所述第一预期发放率的情况,对所述脉冲发放阈值进行调整的步骤,包括:
根据所述脉冲发放阈值与预先设置的兴奋参数之差对所述脉冲发放阈值进行调整;
所述响应于所述发放率大于所述第二预期发放率的情况,对所述脉冲发放阈值进行调整的步骤,包括:
根据所述脉冲发放阈值与预先设置的兴奋参数之和对所述脉冲发放阈值进行调整。
10.根据权利要求1所述的方法,其中,在所述根据所述训练样本在目标层的置信度对所述目标层的脉冲发放阈值进行调整的步骤之前,还包括:
根据所述目标层对应的膜电位计算所述目标层对应的激活参数;
其中,所述根据所述训练样本在目标层的置信度对所述目标层的脉冲发放阈值进行调整的步骤,包括:
根据所述目标层对应的激活参数,确定平均激活参数;
根据所述平均激活参数以及所述置信度,确定所述脉冲发放阈值。
11.根据权利要求1所述的方法,其中,训练样本对应的脉冲信号包括:图像样本对应的图像脉冲序列、音频样本对应的音频脉冲序列和文本样本对应的文本脉冲序列中的一者。
12.一种基于脉冲神经网络的数据处理方法,包括:
获取待处理数据对应的脉冲信号;
通过脉冲神经网络对所述脉冲信号进行处理,并输出处理结果;其中,在处理过程中,包括:根据所述待处理数据在目标层的置信度对所述目标层的脉冲发放阈值进行调整,所述脉冲神经网络是基于权利要求1-11中任一所述的脉冲神经网络训练方法训练得到的。
13.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的脉冲神经网络训练方法,或者实现如权利要求12所述的一种基于脉冲神经网络的数据处理方法中的步骤。
14.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现如权利要求1-11中任一所述的脉冲神经网络训练方法中的步骤,或者实现如权利要求12所述的一种基于脉冲神经网络的数据处理方法中的步骤。
CN202110018629.9A 2021-01-07 2021-01-07 脉冲神经网络训练方法、数据处理方法、电子设备和介质 Active CN112734012B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110018629.9A CN112734012B (zh) 2021-01-07 2021-01-07 脉冲神经网络训练方法、数据处理方法、电子设备和介质
US18/004,013 US11941526B2 (en) 2021-01-07 2021-12-28 Methods, electronic devices, and computer-readable media for training, and processing data through, a spiking neuron network
PCT/CN2021/141981 WO2022148272A1 (zh) 2021-01-07 2021-12-28 脉冲神经网络训练方法、数据处理方法、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110018629.9A CN112734012B (zh) 2021-01-07 2021-01-07 脉冲神经网络训练方法、数据处理方法、电子设备和介质

Publications (2)

Publication Number Publication Date
CN112734012A CN112734012A (zh) 2021-04-30
CN112734012B true CN112734012B (zh) 2024-03-05

Family

ID=75590997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110018629.9A Active CN112734012B (zh) 2021-01-07 2021-01-07 脉冲神经网络训练方法、数据处理方法、电子设备和介质

Country Status (3)

Country Link
US (1) US11941526B2 (zh)
CN (1) CN112734012B (zh)
WO (1) WO2022148272A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734012B (zh) 2021-01-07 2024-03-05 北京灵汐科技有限公司 脉冲神经网络训练方法、数据处理方法、电子设备和介质
WO2022253229A1 (zh) * 2021-06-04 2022-12-08 北京灵汐科技有限公司 突触权重训练方法、目标识别方法及电子设备、介质
CN113269313B (zh) * 2021-06-04 2024-05-10 北京灵汐科技有限公司 突触权重训练方法、电子设备和计算机可读介质
CN113537455B (zh) * 2021-06-04 2024-04-12 清华大学 突触权重训练方法、电子设备和计算机可读介质
CN113627599B (zh) * 2021-06-22 2023-11-24 深圳微灵医疗科技有限公司 神经元信号的处理方法、处理装置以及可读存储介质
CN115456149B (zh) * 2022-10-08 2023-07-25 鹏城实验室 脉冲神经网络加速器学习方法、装置、终端及存储介质
CN117437382B (zh) * 2023-12-19 2024-03-19 成都电科星拓科技有限公司 一种数据中心部件的更新方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103323749A (zh) * 2013-05-16 2013-09-25 上海交通大学 多分类器信息融合的局部放电诊断方法
CN106875005A (zh) * 2017-01-20 2017-06-20 清华大学 自适应阈值神经元信息处理方法和系统
CN107167716A (zh) * 2017-07-11 2017-09-15 国网福建省电力有限公司泉州供电公司 一种局部放电缺陷类型识别方法及装置
CN109616104A (zh) * 2019-01-31 2019-04-12 天津大学 基于关键点编码和多脉冲学习的环境声音识别方法
DE102019100320A1 (de) * 2019-01-08 2020-07-09 Rohde & Schwarz Gmbh & Co. Kg Peilverfahren sowie Peilsystem
CN111639754A (zh) * 2020-06-05 2020-09-08 四川大学 一种神经网络的构建、训练、识别方法和系统、存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930257B2 (en) * 2007-01-05 2011-04-19 Knowm Tech, Llc Hierarchical temporal memory utilizing nanotechnology
CN109871940B (zh) * 2019-01-31 2021-07-27 清华大学 一种脉冲神经网络的多层训练算法
CN110826602B (zh) 2019-10-23 2022-04-26 中国科学院自动化研究所 基于膜电位调控脉冲神经网络的图像分类方法、系统
CN111275742B (zh) * 2020-01-19 2022-01-11 北京大学 一种目标识别方法、装置、系统及计算机可读存储介质
CN112734012B (zh) * 2021-01-07 2024-03-05 北京灵汐科技有限公司 脉冲神经网络训练方法、数据处理方法、电子设备和介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103323749A (zh) * 2013-05-16 2013-09-25 上海交通大学 多分类器信息融合的局部放电诊断方法
CN106875005A (zh) * 2017-01-20 2017-06-20 清华大学 自适应阈值神经元信息处理方法和系统
CN107167716A (zh) * 2017-07-11 2017-09-15 国网福建省电力有限公司泉州供电公司 一种局部放电缺陷类型识别方法及装置
DE102019100320A1 (de) * 2019-01-08 2020-07-09 Rohde & Schwarz Gmbh & Co. Kg Peilverfahren sowie Peilsystem
CN109616104A (zh) * 2019-01-31 2019-04-12 天津大学 基于关键点编码和多脉冲学习的环境声音识别方法
CN111639754A (zh) * 2020-06-05 2020-09-08 四川大学 一种神经网络的构建、训练、识别方法和系统、存储介质

Also Published As

Publication number Publication date
CN112734012A (zh) 2021-04-30
US20230196102A1 (en) 2023-06-22
WO2022148272A1 (zh) 2022-07-14
US11941526B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
CN112734012B (zh) 脉冲神经网络训练方法、数据处理方法、电子设备和介质
Ramalho et al. Adaptive posterior learning: few-shot learning with a surprise-based memory module
US10380479B2 (en) Acceleration of convolutional neural network training using stochastic perforation
EP3136304A1 (en) Methods and systems for performing reinforcement learning in hierarchical and temporally extended environments
WO2018192200A1 (en) System and method for training neural network
US20220237465A1 (en) Performing inference and signal-to-noise ratio based pruning to train sparse neural network architectures
US20190378009A1 (en) Method and electronic device for classifying an input
JP7284825B2 (ja) 回帰型ニューラルネットワークのルジャンドルメモリユニット
CN113269113B (zh) 人体行为识别方法、电子设备和计算机可读介质
CN113537455B (zh) 突触权重训练方法、电子设备和计算机可读介质
CN113240102B (zh) 神经元的膜电位更新方法、类脑神经元器件、处理核
CN114091597A (zh) 基于自适应组样本扰动约束的对抗训练方法、装置及设备
WO2022018548A1 (en) Online training of neural networks
CN111507396B (zh) 缓解神经网络对未知类样本产生错误分类的方法及装置
CN113269313B (zh) 突触权重训练方法、电子设备和计算机可读介质
CN115358485A (zh) 一种基于图自注意力机制与霍克斯过程的交通流预测方法
WO2020177863A1 (en) Training of algorithms
CN111582462B (zh) 权值原位更新方法、装置、终端设备和可读存储介质
CN111582461A (zh) 神经网络训练方法、装置、终端设备和可读存储介质
EP4036808A1 (en) Method for modelling synthetic data in generative adversarial networks
CN114612750B (zh) 自适应学习率协同优化的目标识别方法、装置及电子设备
US20230114610A1 (en) Neural network construction method and apparatus having average quantization mechanism
CN111582484A (zh) 学习速率自调节方法、装置、终端设备和可读存储介质
CN116205276A (zh) 多房室神经元模型运算的装置和方法、计算机可读介质
US20200202220A1 (en) Neural network training method and device thereof and computer storage medium

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
GR01 Patent grant
GR01 Patent grant