CN111291861A - 一种应用于脉冲神经网络的输入脉冲编码方法 - Google Patents

一种应用于脉冲神经网络的输入脉冲编码方法 Download PDF

Info

Publication number
CN111291861A
CN111291861A CN202010032068.3A CN202010032068A CN111291861A CN 111291861 A CN111291861 A CN 111291861A CN 202010032068 A CN202010032068 A CN 202010032068A CN 111291861 A CN111291861 A CN 111291861A
Authority
CN
China
Prior art keywords
input
layer
weight
pulse
forwarding
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
Application number
CN202010032068.3A
Other languages
English (en)
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202010032068.3A priority Critical patent/CN111291861A/zh
Publication of CN111291861A publication Critical patent/CN111291861A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/045Combinations of networks
    • 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/048Activation functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种应用于脉冲神经网络的输入脉冲编码方法。所述输入脉冲编码方法包括:在输入层和第一神经元层添加转发层,其神经元数量与输入层的神经元数量相等,且转发层的神经元与输入层的神经元一对一连接,输入层与转发层之间的权重为输入层权重,转发层与第一神经元层的连接和权重与原脉冲神经网络的输入层和第一神经元层的连接和权重相等;对输入数据标准化后,根据标准化结果将输入数据都转化成1并更新输入层权重,并根据阈值电压更新转发层的神经元参数;对输入数值1编码成脉冲序列,并设置所有输入脉冲均为对对输入数值1编码成的脉冲序列。

Description

一种应用于脉冲神经网络的输入脉冲编码方法
技术领域
本发明涉及脉冲神经网络领域,具体涉及一种应用于脉冲神经网络的输入脉冲编码方法。
背景技术
人工神经网络(ANN,Artificial Neural Network)是一系列旨在模仿大脑结构及其学习、记忆、存储等功能的信息处理系统,其具有并行处理、分布式信息存储和自主学习等优点。自2006年“深度学习”的概念提出以来,神经网络的研究取得了突飞猛进的发展,并被广泛应用在模式识别、图像分类、语音识别、人脸识别、自然语言处理等多个领域,并都取得突破性成果。人工神经网络的发展同时也离不开图形处理器(GPU,Graphics ProcessingUnit),CPU(central processing unit)等计算设备的发展。由于ANN并行计算的特性,大量的GPU被使用,来提高神经网络的训练和推理速度。然而,GPU的计算功耗巨大,已成为制约人工神经网络发展的巨大障碍。
脉冲神经网络(SNN,Spiking Neural Network)被誉为第三代人工神经网络,是一种基于离散神经脉冲处理信息的人工神经网络。相比于人工神经网络,其更具有生物合理性。脉冲神经网络各层神经元之间通过离散的脉冲来进行信息的传递,只有当一个神经元产生或收到脉冲时,才会进行信息的传递和处理。这一事件驱动的特性,使得脉冲神经网络的功耗可以大大降低,有效的解决了传统人工神经网络计算功耗大的问题。于此同时,为了更好的发挥脉冲神经网络的优势,出现了一些神经拟态计算芯片,如Intel公司的Loihi,IBM公司的TrueNorth等。相比于GPU,这些芯片可以在非常低的功耗下运行神经网络。
因为脉冲神经网络中的神经元信息传递都依靠脉冲,所以,需要将输入网络的实数值也编码成脉冲序列。现有的脉冲编码方式主要有基于速率的编码方式,如:泊松编码;还有基于时间的编码,如:延时编码。当使用最为常用的泊松编码时,脉冲神经网络输入层的每个神经元对应的实数值均需要编码成脉冲序列,生成的脉冲序列的频率与输入的数值成正比,并且在脉冲出现的时刻上服从泊松分布。但是这种脉冲编码方式在实际使用时,在有限的网络运行时间内,脉冲序列的脉冲个数无法与输入数值成比例,所以会给输入数据带来误差,进而导致脉冲神经网络在实现某任项务时的表现效果较差。另外,当泊松编码应用于可以运行脉冲神经网络的神经拟态计算芯片时,由于每个输入的脉冲都需要生成一条命令然后传输到芯片中去进行输入脉冲的设置,而由这种编码方式产生的每个输入神经元的脉冲序列都各不相同,因此需要对所有的输入脉冲都生成相应的输入命令,而这将导致巨大的时间消耗。
发明内容
本发明的目的是提供一种应用于脉冲神经网络的输入脉冲编码方法,该输入脉冲编码方法能够解决脉冲序列的频率与输入值不成正比导致的输入数据存在误差的问题,并且对于可以运行脉冲神经网络的神经拟态计算芯片,可以有效的减少用于设置输入脉冲的时间消耗。
为实现上述发明目的,本发明提供以下技术方案:
一种应用于脉冲神经网络的输入脉冲编码方法,所述输入脉冲编码方法包括:
在输入层和第一神经元层添加转发层,转发层的神经元数量与输入层的神经元数量相等,且转发层的神经元与输入层的神经元一对一连接,输入层与转发层之间的权重为输入层权重,转发层与第一神经元层的连接和权重与原脉冲神经网络的输入层和第一神经元层的连接和权重相等;
对原始输入数据标准化后,根据标准化结果将原始输入数据都转化成1并更新输入层权重,并根据阈值电压设置转发层的神经元参数;
将输入数值1编码成脉冲序列,并设置输入层的所有输入脉冲均为均为由数值1编码成的脉冲序列。
优选地,在添加转发层后,输入层权重的初始化为1。
一般情况下,网络的原始输入数据都是包括正负的实数值,然而,负的输入数据不便于编码成脉冲序列,所以,需要对输入数据进行标准化,使其数值都在0到1之间。具体地,利用以下公式对原始输入数据进行标准化:
Figure BDA0002364677080000031
其中,x为原始输入数据,xmin为最小的原始输入数据,xmax为最大的原始输入数据,xstd为标准化之后的结果值。
进一步地,所述根据标准化结果将原始输入数据都转化成1并更新输入层权重包括:
对于每个输入数据,输入层权重都需要进行改变,输入层权重的计算过程为:
z=xstd·Winput (2)
其中,xstd为输入数据的标准化结果值,Winput为初始的输入层权重,值为1;
对公式(2)按照公式(3)进行恒等变换后,Wnew为更新的输入层权重,xnew为输入层的新输入,也就是1;
z=1·(xstd·Winput)=1·Wnew=xnew·Wnew (3)
根据公式(3)设置输入层的数值为1,输入层权重更新为Wnew
在每次出现新输入数据时,输入层权重都需要重新计算更新为输入层权重Wnew,而输入值将都变成1,这样只需要对输入数值1进行一次编码,减小了编码的数据量,同时也减少了编码时间。
为了保证输入数据的准确性,需要对转发层的电压参数进行设置和更新。具体地,所述根据阈值电压设置转发层的神经元参数包括:
当转发层的神经元的模电压vmem超过阈值电压vth时,复位后的模电压vreset等于当前模电压vmem减去阈值电压vth,表示为公式(4):
vreset=vmem-vth (4)。
阈值电压vth数值大小与输入层权重的大小应成线性关系,具体地,当输入层权重在0~1之间时,设置阈值电压vth为1。当输入层权重被量化缩放时,设置阈值电压vth缩放倍数与输入层权重相同。
由于脉冲神经网络通过脉冲的形式进行信息处理,所以需要将输入数据编码成脉冲序列。当输入层权重和转发层的神经元参数确定好后,即可以对输入数值1进行编码。由于所有原始输入数据均转化为了1,所以只需进行一次编码。将数值1编码成脉冲序列后,设置输入层的所有输入脉冲均为由数值1编码成的脉冲序列,这样大大降低了编码的数据量和编码时间。并且,在有限的运行时间内,能够保证输入脉冲序列的数目与输入数值成比例,这将提升输入数据的准确性。
若输入脉冲序列采用用σ(t)=∑iδ(t-ti),ti∈[1,N],N为大于1的自然数,即在每个时刻都产生脉冲的序列,那么只要编码一个时刻的输入命令,其它时刻只需要传输相同的输入命令,而不需重新编码。
本发明的有益效果至少包括:
(1)由于输入层与转发层之间为一对一的单连接,可以显著地减少脉冲神经网络第一层(也就是输入层)的连接数目,对于可以运行脉冲神经网络神经拟态计算芯片来说,可以有效的减少用于设置输入脉冲的数据量;
(2)输入脉冲的编码可以仅需一个脉冲序列,并且只需编码一个时间步。由于此编码方式对于每个不同的输入,输入层的权重都会改变,而每个输入值始终都为1,所以可以仅使用一个输入脉冲序列。同时,假如使用特殊脉冲序列σ(t),其在每个时间步都相同,都会产生脉冲,那么输入序列只需编码一个时间步;
(3)本发明提出的编码方式其输入数值与脉冲数目具有严格的线性关系,这会减小输入带来的误差,在使用脉冲神经网络来完成分类任务时,可有效的提高准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的原始脉冲神经网络的结构示意图;
图2是实施例提供的在原始脉冲神经网络添加转发层之后的网络结构示意图;
图3是实施例提供的对原始输入数据进行标准化后的网络结构示意图;
图4是实施例提供的计算完新输入层权重,并设置好转发层神经元参数的网络结构示意图;
图5是实施例提供的对输入层权重进行放大之后的网络结构示意图;
图6是实施例提供的输入层设置好脉冲之后的网络结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
为了解决脉冲序列的频率与输入值不成正比导致的输入数据存在误差的问题,并且减少神经拟态计算芯片用于设置输入脉冲的时间消耗。实施例提供了一种应用于脉冲神经网络的输入脉冲编码方法,包括以下步骤:
1.添加脉冲转发层
如图1所示,为一个原始的脉冲神经网络,首先在输入层与脉冲神经网络第一层之间添加一个转发层,转发层的神经元数量与输入层神经元相同,并且与输入神经元的连接方式为一对一连接,连接权值都为1。转发层与神经网络第一层的连接和权重与原来脉冲神经网络的输入层与第一层的连接和权重相同,添加转发层后的脉冲神经网络如图2所示。
2.输入数据标准化
由于输入数据一般为实数,并且负的输入值不便于编码成脉冲序列。所以按照上面所述的方式对输入值进行标准化,使其数值都在0到1之间。所以对于原始输入数据[20,40,60,70]标准化后转变为[0,0.4,0.8,1],网络结构变化如图3所示。
3.重新设置输入层权重并设置转发层神经元参数
对于每个不同的输入数据,输入层的权重w都需要进行改变。权重的计算过程如上所述,最终的得到新输入层权重wnew=[0,0.4,0.8,1],输入x变为[1,1,1,1]。同时,设置转发层神经元的阈值电压vth为1;神经元的复位模式为当前模电压减去阈值电压vth。转换后的网络如图4所示。
4.对权重进行缩放
当需要对脉冲神经网络的权重放大100倍时,转发层权重变为wnew=[0,40,80,100],同时,转发层神经元的阈值电压vth变为100。最终网络结构图如图5所示。
5.设置输入层脉冲序列
将输入层的输入脉冲都设置为脉冲序列σ(t)。由于输入层的输入值都为1,所以可以只需要一个输入脉冲序列。其结构图如图6所示。在网络运行100个时间步之后,转发层的神经元将分别产生0、40、80、100个脉冲,与进行标准化后的输入值0、0.4、0.8、1成严格的线性关系。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种应用于脉冲神经网络的输入脉冲编码方法,其特征在于,所述输入脉冲编码方法包括:
在输入层和第一神经元层添加转发层,转发层的神经元数量与输入层的神经元数量相等,且转发层的神经元与输入层的神经元一对一连接,输入层与转发层之间的权重为输入层权重,转发层与第一神经元层的连接和权重与原脉冲神经网络的输入层和第一神经元层的连接和权重相等;
对原始输入数据标准化后,根据标准化结果将原始输入数据都转化成1并更新输入层权重,并根据阈值电压设置转发层的神经元参数;
将输入数值1编码成脉冲序列,并设置输入层的所有输入脉冲均为由数值1编码成的脉冲序列。
2.如权利要求1所述的应用于脉冲神经网络的输入脉冲编码方法,其特征在于,在添加转发层后,输入层权重的初始化为1。
3.如权利要求1所述的应用于脉冲神经网络的输入脉冲编码方法,其特征在于,利用以下公式对原始输入数据进行标准化:
Figure FDA0002364677070000011
其中,x为原始输入数据,xmin为最小的原始输入数据,xmax为最大的原始输入数据,xstd为标准化之后的结果值。
4.如权利要求1所述的应用于脉冲神经网络的输入脉冲编码方法,其特征在于,所述根据标准化结果将原始输入数据都转化成1并更新输入层权重包括:
对于每个输入数据,输入层权重都需要进行改变,输入层权重的计算过程为:
z=xstd·Winput (2)
其中,xstd为输入数据的标准化结果值,Winput为初始化的输入层权重,值为1;
对公式(2)按照公式(3)进行恒等变换后,Wnew为更新后的输入层权重,xnew为输入层的新输入,也就是1;
z=1·(xstd·Winput)=1·Wnew=xnew·Wnew (3)
根据公式(3)设置输入层的数值为1,输入层权重更新为Wnew
5.如权利要求1所述的应用于脉冲神经网络的输入脉冲编码方法,其特征在于,所述根据阈值电压设置转发层的神经元参数包括:
当转发层的神经元的模电压vmem超过阈值电压vth时,复位后的模电压vreset等于当前模电压vmem减去阈值电压vth,表示为公式(4):
vreset=vmem-vth (4)。
6.如权利要求1或4所述的应用于脉冲神经网络的输入脉冲编码方法,其特征在于,当输入层权重在0~1之间时,设置阈值电压vth为1。
7.如权利要求1所述的应用于脉冲神经网络的输入脉冲编码方法,其特征在于,当输入层权重被量化缩放时,设置阈值电压vth缩放倍数与输入层权重相等。
8.如权利要求1所述的应用于脉冲神经网络的输入脉冲编码方法,其特征在于,若输入脉冲序列采用σ(t)=∑iδ(t-ti),ti∈[1,N],N为大于1的自然数,即在每个时刻都产生脉冲的序列,那么只要编码一个时刻的输入命令,其它时刻只需要传输相同的输入命令,而不需重新编码。
CN202010032068.3A 2020-01-13 2020-01-13 一种应用于脉冲神经网络的输入脉冲编码方法 Pending CN111291861A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010032068.3A CN111291861A (zh) 2020-01-13 2020-01-13 一种应用于脉冲神经网络的输入脉冲编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010032068.3A CN111291861A (zh) 2020-01-13 2020-01-13 一种应用于脉冲神经网络的输入脉冲编码方法

Publications (1)

Publication Number Publication Date
CN111291861A true CN111291861A (zh) 2020-06-16

Family

ID=71021200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010032068.3A Pending CN111291861A (zh) 2020-01-13 2020-01-13 一种应用于脉冲神经网络的输入脉冲编码方法

Country Status (1)

Country Link
CN (1) CN111291861A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114611686A (zh) * 2022-05-12 2022-06-10 之江实验室 基于可编程神经拟态核的突触延时实现系统及方法
CN114819121A (zh) * 2022-03-28 2022-07-29 中国科学院自动化研究所 基于脉冲神经网络的信号处理装置及信号处理方法
CN116070682A (zh) * 2023-04-06 2023-05-05 浙江大学 神经元计算机操作系统的snn模型动态映射方法及装置
WO2023115891A1 (zh) * 2021-12-23 2023-06-29 广东浪潮智慧计算技术有限公司 一种脉冲编码方法、系统、电子设备及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023115891A1 (zh) * 2021-12-23 2023-06-29 广东浪潮智慧计算技术有限公司 一种脉冲编码方法、系统、电子设备及存储介质
CN114819121A (zh) * 2022-03-28 2022-07-29 中国科学院自动化研究所 基于脉冲神经网络的信号处理装置及信号处理方法
CN114819121B (zh) * 2022-03-28 2022-09-27 中国科学院自动化研究所 基于脉冲神经网络的信号处理装置及信号处理方法
CN114611686A (zh) * 2022-05-12 2022-06-10 之江实验室 基于可编程神经拟态核的突触延时实现系统及方法
CN116070682A (zh) * 2023-04-06 2023-05-05 浙江大学 神经元计算机操作系统的snn模型动态映射方法及装置
CN116070682B (zh) * 2023-04-06 2023-08-15 浙江大学 神经元计算机操作系统的snn模型动态映射方法及装置

Similar Documents

Publication Publication Date Title
CN111291861A (zh) 一种应用于脉冲神经网络的输入脉冲编码方法
Neil et al. Learning to be efficient: Algorithms for training low-latency, low-compute deep spiking neural networks
Rueckauer et al. Conversion of analog to spiking neural networks using sparse temporal coding
Panda et al. Unsupervised regenerative learning of hierarchical features in spiking deep networks for object recognition
CN110555523B (zh) 一种基于脉冲神经网络的短程跟踪方法及系统
WO2019127363A1 (zh) 神经网络权重编码方法、计算装置及硬件系统
KR102399548B1 (ko) 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치
CN109829541A (zh) 基于学习自动机的深度神经网络增量式训练方法及系统
Liu et al. Comparisions on KNN, SVM, BP and the CNN for Handwritten Digit Recognition
WO2022134268A1 (zh) 一种具有深度结构的增量堆叠式宽度学习系统
Wang et al. Deep spiking neural networks with binary weights for object recognition
CN111352965A (zh) 序列挖掘模型的训练方法、序列数据的处理方法及设备
CN112906828A (zh) 一种基于时域编码和脉冲神经网络的图像分类方法
CN108446766A (zh) 一种快速训练堆栈自编码深度神经网络的方法
Su et al. Deep directly-trained spiking neural networks for object detection
CN114266351A (zh) 基于无监督学习时间编码的脉冲神经网络训练方法及系统
CN109635938A (zh) 一种自主学习脉冲神经网络权值量化方法
CN116596150A (zh) 基于多分支自注意力的Transformer霍克斯过程模型的事件预测方法
Zhou Deep embedded clustering with adversarial distribution adaptation
CN113297374B (zh) 一种基于bert和字词特征融合的文本分类方法
CN111783688B (zh) 一种基于卷积神经网络的遥感图像场景分类方法
Li Computer network connection enhancement optimization algorithm based on convolutional neural network
Sulaiman et al. Weight quantization in spiking neural network for hardware implementation
CN114239405A (zh) 一种脉冲神经网络神经元膜电压计算方法
Ho et al. MiCE: an ANN-to-SNN conversion technique to Enable High Accuracy and Low Latency

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200616