基于空时信息的超低延时脉冲神经网络及学习方法

文档序号:29044311发布日期:2022-02-25 21:36阅读:128来源:国知局
基于空时信息的超低延时脉冲神经网络及学习方法

1.本发明涉及一种神经网络及学习法,具体涉及一种基于空时信息的超低延时脉冲神经网络及学习方法。


背景技术:

2.脉冲神经网络(spiking neural networks,snns)是一种脑启发式的神经网络模型,该模型可以充分利用空时信息并且具有事件驱动的特性。不同于传统的由静态连续的神经元模型构成的人工智能网络,脉冲神经网络由更具生物特性的神经元模型构成可以处理离散的脉冲事件,这些特性使得脉冲神经网络在计算上和功耗效率上具有非常大的潜力。
3.然而,对于目前的脉冲神经网络,需要几十甚至几百个脉冲构成的脉冲序列携带的时间信息才能训练出和传统人工智能网络(artificial neural networks,anns)同一级别精度的结果。这些长脉冲序列不仅给脉冲神经网络带来了功耗问题,同时引入的大量静态功耗也严重限制了脉冲神经网络在功耗方面的潜力。目前解决的方法主要是将训练好的人工智能网络转换成相对应的脉冲神经网络,这种方法可以使得获取的脉冲神经网络和人工智能网络具有相似的精度,但放弃了脉冲神经网络处理时间信息的能力,从而限制了脉冲神经网络在空时信息处理上的优势。另一种方法是直接训练脉冲神经网络,通过脉冲序列压缩等手段将脉冲序列缩短至几十甚至十几个脉冲长度,但该方法在高压缩率下存在精度下降严重的问题。


技术实现要素:

4.本发明的目的是解决目前对于携带长脉冲序列的脉冲神经网络训练难以兼顾处理精度和处理时间信息能力的技术问题,提出一种基于空时信息的超低延时脉冲神经网络及学习方法,可以在保证处理精度的前提下有效缩短脉冲神经网络的延时。
5.为了实现上述目的,本发明所采用的技术方案是:
6.一种基于空时信息的超低延时脉冲神经网络,其特殊之处在于:基于脉冲神经元的多层感知机或卷积神经网络,采用多阈值lif模型构建,包括依次设置的输入层、多个中间隐藏层和输出层;
7.所述输入层用于转化神经网络信息,采用归一化的方法将输入信息转化为0-1的实数值,作为输入电流传递给下一层网络;
8.所述中间隐藏层的脉冲神经元模型中突触模型采用零阶模型;
9.所述输出层将学习样本的标签转化为仅目标序号所对应的神经元可以产生脉冲,其余神经元均不产生脉冲。
10.进一步地,所述多阈值lif模型为:
11.[0012][0013][0014]
其中:
[0015]
i[t]为上一层脉冲神经网络给第i个脉冲神经元发送的突触输入电流;
[0016]
i表示脉冲神经网络的第i个脉冲神经元;
[0017]
j表示上一层脉冲神经网络中第j个脉冲神经元;
[0018]
n为上一层脉冲神经网络脉冲神经元的数量;
[0019]
ω
ij
为上一层脉冲神经网络中第j个脉冲神经元与本级脉冲神经网络中第i个脉冲神经元之间的权重;
[0020]
sj[t]代表上一层脉冲神经网络中第j个脉冲神经元在t时刻的输出脉冲;
[0021]
ui[t]为第i个脉冲神经元在t时刻的膜电压;
[0022]
ui[t-1]为第i个脉冲神经元在前一时刻的膜电压;
[0023]ureset
[t]为脉冲神经元在t时刻的复位电压;
[0024]
τm为脉冲神经元的膜电压时间常数;
[0025]
si[t]为第i个脉冲神经元在t时刻的输出脉冲;
[0026]smax
为脉冲神经元的输出脉冲上限;
[0027]vth
为脉冲神经元的阈值电压。
[0028]
为了简化计算,中间隐藏层的脉冲神经元模型中突触模型采用零阶模型,即模型中i[t]采用零阶模型进行计算。
[0029]
同时,本发明还提出一种基于空时信息的超低延时脉冲神经网络学习方法,其特殊之处在于,包括以下步骤:
[0030]
步骤1、将传统单阈值lif模型替换为多阈值lif模型,并构建基于多阈值lif模型的脉冲神经网络;
[0031]
步骤2、基于多阈值lif模型的脉冲神经网络,根据公式(1)采用正态分布初始化脉冲神经元权重:
[0032][0033]
其中:
[0034]
l表示第l层脉冲神经网络;
[0035]w(l)
为第l层脉冲神经网络的权重;
[0036]vth
为脉冲神经元的阈值电压;
[0037]nl-1
为上一层脉冲神经网络的脉冲神经元数量;
[0038]
步骤3、根据脉冲神经元权重,计算基于多阈值lif模型的脉冲神经网络前向传播,获得脉冲神经元的输出脉冲;
[0039]
步骤4、计算脉冲神经网络损失函数,判断误差是否满足误差要求:
[0040]
4.1)根据脉冲神经元的输出脉冲,通过公式(2)计算脉冲神经网络在tk时刻的损失函数:
[0041][0042]
其中:
[0043]
i表示脉冲神经网络的第i个脉冲神经元;
[0044]
l[tk]为脉冲神经网络在tk时刻的误差;
[0045]
no为脉冲神经网络输出层脉冲神经元的数量;
[0046]
yi[tk]为在tk时刻期望的输出脉冲;
[0047]
si[tk]为在tk时刻的实际输出脉冲;
[0048]
4.2)判断误差l[tk]是否满足误差要求:若是,则完成脉冲神经网络学习;若否,则执行步骤5;
[0049]
步骤5、根据脉冲神经元权重和误差,计算基于多阈值lif模型的脉冲神经网络误差反向传播,更新脉冲神经元权重,然后返回步骤3。
[0050]
进一步地,步骤1中,所述多阈值lif模型具体为公式(3)、(4)、(5):
[0051][0052][0053][0054]
公式(3)用于计算上一层脉冲神经网络的突触输入电流;
[0055]
其中:
[0056]
i[t]为上一层脉冲神经网络给第i个脉冲神经元发送的突触输入电流;
[0057]
i表示脉冲神经网络的第i个脉冲神经元;
[0058]
j表示上一层脉冲神经网络中第j个脉冲神经元;
[0059]
n为上一层脉冲神经网络脉冲神经元的数量;
[0060]
ω
ij
为上一层脉冲神经网络中第j个脉冲神经元与本级脉冲神经网络中第i个脉冲神经元之间的权重,ω
ij
为矩阵w
(l)
中的元素;
[0061]
sj[t]代表上一层脉冲神经网络中第j个脉冲神经元在t时刻的输出脉冲;
[0062]
公式(4)用于计算更新脉冲神经元的膜电压;
[0063]
其中:
[0064]
ui[t]为第i个脉冲神经元在t时刻的膜电压;
[0065]
ui[t-1]为第i个脉冲神经元在前一时刻的膜电压;
[0066]ureset
[t]为脉冲神经元在t时刻的复位电压;
[0067]
τm为脉冲神经元的膜电压时间常数;
[0068]
公式(5)用于计算获得的输出脉冲:
[0069]
其中:
[0070]
si[t]为第i个脉冲神经元在t时刻的输出脉冲;
[0071]smax
为脉冲神经元的输出脉冲上限;
[0072]vth
为脉冲神经元的阈值电压。
[0073]
进一步地,步骤3中,所述前向传播的计算过程具体为:
[0074]
首先,根据公式(3)计算上一层神经元产生的突触电流;
[0075]
其次,根据公式(4)和上一时刻的脉冲神经元的膜电压值,计算更新脉冲神经元的膜电压;
[0076]
最后,通过公式(5)与阈值电压v
th
比较确定是否产生脉冲,并计算获得的输出脉冲。
[0077]
进一步地,步骤5中,所述误差反向传播计算过程具体为:
[0078]
5.1)根据公式(6)计算膜电压对权重的偏导:
[0079][0080]
其中:
[0081]s(l)
[tk]为第l层脉冲神经网络在tk时刻的输出脉冲;
[0082]s(l-1)
[tk]为上一层脉冲神经网络在tk时刻的输出脉冲;
[0083]u(l)
[tk]为第l层脉冲神经网络在tk时刻的膜电压;
[0084]u(l-1)
[tk]为上一层脉冲神经网络在tk时刻的膜电压;
[0085]
为第l层脉冲神经网络在tk时刻的输出脉冲对膜电压的偏导;
[0086]
为第l层脉冲神经网络在tk时刻膜电压对权重的偏导;
[0087]
为第l层脉冲神经网络在t
k-1
时刻膜电压对权重的偏导;
[0088]
5.2)根据公式(10)、(11)计算误差对权重的偏导:
[0089][0090][0091]
其中:
[0092]w(l+1)
为下一层脉冲神经网络的权重;
[0093]
δ
(l)
[tk]为第l层脉冲神经网络在tk时刻误差对膜电压的偏导;
[0094]
δ
(l+1)
[tk]为下一层脉冲神经网络在tk时刻误差对膜电压的偏导;
[0095]
5.3)采用adam算法更新权重w
(l)

[0096]
通过进行脉冲神经网络误差反向传播计算的方式更新权重,逐步减小误差,从而保证了脉冲神经网络获得高精度和低延时。
[0097]
进一步地,步骤5.1)中,所述由近似等效函数f1(u)、f2(u)或f3(u)替代,具体为公式(7)、(8)、(9):
[0098][0099][0100][0101]
其中:
[0102]
u为脉冲神经元的膜电压;
[0103]ah
为第一近似等效函数参数,控制等效函数曲线的高度;
[0104]aw
为第二近似等效函数参数,控制等效函数曲线的宽度。
[0105]
采用近似等效函数f1(u)、f2(u)或f3(u)解决了误差反向传播过程中脉冲发生时离散过程无法计算获得的问题,该三种近似等效函数均可获得较好的输出精度。
[0106]
进一步地,步骤1中,所述基于脉冲神经元的多层感知机或卷积神经网络,采用pytorch架构实现,仿真步长为1ms,训练时间为2个步长;所述输入信息包括像素及音频信息,定义输入信息的数量为批量数n
batch

[0107]
步骤5.3)中权重更新采用adam算法作为优化器,采用数据集mnist、fashionmnist、cifar10的一种或几种,所述数据集mnist、fashionmnist、cifar10对应的学习率分别为η1、η2、η3。
[0108]
进一步地,步骤3、步骤5中:
[0109]
所述膜电压时间常数τm为10ms;所述阈值电压v
th
为10mv;
[0110]
所述第一近似等效函数参数αh为1;所述第二近似等效函数参数αw为20;
[0111]
所述输出脉冲上限s
max
为15;
[0112]
所述批量数n
batch
为128;
[0113]
所述数据集mnist、fashionmnist、cifar10的学习率η1、η2、η3分别为0.005、0.005、0.0005。
[0114]
进一步地,所述数据集采用cifar10,所述脉冲神经网络的训练周期为100个,所述近似等效函数选择f2(u)。
[0115]
与现有技术相比,本发明的有益效果是:
[0116]
1)本发明基于空时信息的超低延时脉冲神经网络学习方法,将传统单阈值lif模型替换为多阈值lif模型,并构建基于脉冲神经元的多层感知机(muti-layer perception,mlp)或卷积神经网络,通过计算基于多阈值lif模型的脉冲神经网络前向传播和误差反向传播,使得脉冲神经网络的误差满足要求,在保证处理精度的前提下有效缩短
脉冲神经网络的延时。
[0117]
2)本发明方法中基于多阈值lif模型采用正态分布初始化脉冲神经元权重的方式,可使脉冲神经网络获得的输出精度提高。
[0118]
3)本发明通过进行脉冲神经网络误差反向传播计算的方式更新权重,逐步减小误差,从而保证了脉冲神经网络获得高精度和低延时。
[0119]
4)本发明在脉冲神经网络误差反向传播计算过程中,提出了三种近似等效函数,解决了误差反向传播过程中脉冲发生时离散过程无法计算获得的问题,采用三种近似等效函数均可获得较好的输出精度。
附图说明
[0120]
图1为本发明基于空时信息的超低延时脉冲神经网络学习方法中多阈值lif模型的脉冲神经网络任意两层神经网络的示意图;
[0121]
图2为本发明中的近似等效函数替代的示意图,f1,f2,f3为三种近似等效函数,横坐标为膜电压(以阈值电压v
th
为单位);
[0122]
图3为本发明中针对cifar10数据集,采用不同的近似等效函数训练网络的比较;其中,横坐标为迭代次数,纵坐标为精度;
[0123]
图4为图3的局部放大图。
具体实施方式
[0124]
为了更清楚地说明本发明的技术方案,下面结合附图和具体实施例对本发明进行详细说明。
[0125]
一种基于空时信息的超低延时脉冲神经网络学习方法,包括以下步骤:
[0126]
步骤1、将传统单阈值lif(leaky integrate and fired model)模型替换为多阈值lif模型,并构建基于脉冲神经元的多层感知机(muti-layer perception,mlp)或卷积神经网络。构建的多层感知机或卷积神经网络包括输入层、多个中间隐藏层和输出层。
[0127]
步骤2、根据公式(1)采用正态分布初始化神经元权重。
[0128][0129]
其中,w
(l)
为第l层脉冲神经网络的权重,矩阵中的元素记为ω
ij
,v
th
是脉冲神经元的电压阈值,n
l-1
为上一层脉冲神经网络的神经元数量。
[0130]
步骤3、计算基于多阈值lif模型的脉冲神经网络前向传播,获得脉冲神经元输出脉冲的值。
[0131]
根据多阈值lif模型,首先计算上一层神经元产生的突触电流,再根据上一时刻的脉冲神经元的膜电压值,计算更新脉冲神经元的膜电压,最后通过与阈值电压v
th
比较确定是否产生脉冲,并计算获得产生脉冲的值。
[0132]
步骤4、根据公式(2)计算损失函数,并判断误差是否满足要求。
[0133][0134]
其中,l[tk]为脉冲神经网络在tk时刻的误差,no是输出层神经元的数量,yi[tk]和si[tk]分别是在tk时刻期望的脉冲和实际脉冲。
[0135]
步骤5、若误差不满足要求,计算基于多阈值lif模型的脉冲神经网络误差反向传播,更新脉冲神经元权重,返回步骤3,直至误差满足要求。
[0136]
对本发明基于空时信息的超低延时脉冲神经网络学习方法的上述步骤进一步说明如下:
[0137]
步骤1中,多阈值lif模型由公式(3)-(5)描述:
[0138][0139][0140][0141]
公式(3)描述了上一层突触输入电流i[t]的计算,其中n为上一层脉冲神经网络的脉冲神经元数量,ω
ij
为上一层神经网络中神经元j与本级神经网络中神经元i之间的权重,sj[t]代表上一层脉冲神经网络中第j个脉冲神经元在t时刻的输出脉冲。
[0142]
公式(4)描述了脉冲神经元膜电压ui[t]更新计算,其中ui[t-1]代表上一时刻的膜电压值,u
reset
[t]代表复位电压,i[t]为上一层神经网络给神经元i发送的突触输入电流的总和,τm为膜电压的时间常数。
[0143]
公式(5)描述了多阈值lif模型的产生过程,其中si[t]为第i个脉冲神经元的输出脉冲,s
max
为输出脉冲值的上限,v
th
为阈值电压,ui[t]为神经元在t时刻的膜电压。
[0144]
多阈值lif模型,可用于构建但不限于基于脉冲神经元的多层感知机(mlp)或卷积神经网络。
[0145]
步骤3中计算基于多阈值lif模型的脉冲神经网络前向传播,首先根据公式(3)计算上一层神经元产生的突触电流,第二步根据公式(4)和上一时刻的脉冲神经元的膜电压值,计算更新脉冲神经元的膜电压,最后根据公式(5)通过与阈值电压v
th
比较确定是否产生脉冲,并计算获得产生脉冲的值。
[0146]
步骤5中,误差反向传播计算的具体过程为:
[0147]
5.1)根据公式(6)计算膜电压对权重的偏导:
[0148][0149]
其中,为在tk时刻产生的脉冲对膜电压的偏导,为在t
k-1
时刻
膜电压对权重的偏导,s
(l-1)
[tk]为上一层神经网络在tk时刻产生的脉冲,τm为膜电压的时间常数。
[0150]
由于脉冲发生时离散过程无法计算获得本发明中提出了三个近似等效函数取代三个近似等效函数f1、f2、f3见公式(7)、(8)、(9):
[0151][0152][0153][0154]
其中,u为脉冲神经元的膜电压,ah和aw为近似等效函数的两个参数,分别控制曲线的高度和宽度。
[0155]
5.2)根据公式(10)(11)计算误差对权重的偏导:
[0156][0157][0158]
其中,w
(l+1)
为下一层脉冲神经网络的权重,δ
(l+1)
[tk]为下一层神经网络在tk时刻误差对膜电压的偏导。
[0159]
5.3)采用adam算法更新权重w
(l)
[0160]w(l)
代表第l层的神经网络的权重。adam算法采用数据集包括mnist、fashionmnist、cifar10,其中mnist为手写体数据识别数据集,fashionmnist为衣物图像数据集,cifar10是用于普通物体识别的数据集,三个数据集对应的学习率分别记为η1、η2、η3。当然不限于上述三个数据集,adam算法也可以用于其他数据集。此外,更新权重的算法不限于adam算法,也可以采用其他算法实现。
[0161]
实施例
[0162]
如图1所示,为基于多阈值lif模型的脉冲神经网络中任意两层神经网络的示意图,实施例中的脉冲神经网络为多层感知机,在其他实施例中,也可以用于卷积神经网络。
具体构建脉冲神经神经网络步骤如下:
[0163]
脉冲神经网络的输入层主要功能是转化神经网络信息,采用归一化的方法将像素、音频等输入信息转化为0-1的实数值,作为输入电流传递给下一层神经网络。
[0164]
在中间隐藏层(即除去第一层输入层和最后一层输出层后的多个隐藏层)中为了简化计算,步骤1中脉冲神经元模型中的突触模型采用零阶模型,具体计算见公式(3)。
[0165]
在输出层中将学习样本的标签,转化为仅目标序号所对应的神经元可以产生脉冲,其余神经元均不产生脉冲。
[0166]
该脉冲神经网络采用本发明基于空时信息的超低延时脉冲神经网络学习方法进行学习训练:采用正态分布初始化脉冲神经元权重;根据权重,计算脉冲神经网络前向传播,获得输出脉冲;根据输出脉冲和期望的输出脉冲计算tk时刻的损失函数,判断误差是否满足误差要求;若不满足要求,则根据权重和误差,计算脉冲神经网络误差反向传播,更新权重;然后重新计算脉冲神经网络前向传播、损失函数,直至误差满足要求。
[0167]
在本发明的优选实例中,采用pytorch架构实现,仿真步长选用1ms,训练时间设置为2个步长。adam算法作为优化器,更新权重。
[0168]
本实施例中前向传播和计算误差反向传播计算过程中所涉及的参数见表1。其中,批量数n
batch
是指同时读入的输入信息数量。adam算法采用数据集包括mnist、fashionmnist、cifar10,对应的学习率分别记为η1、η2、η3。
[0169]
表1.前向传播和误差反向传播计算过程中所涉及的参数
[0170][0171]
如图2所示,为的近似等效函数替代的示意图,本发明中的近似等效函数f1,f2,f3为本发明核心技术之一,图中横坐标为膜电压,以阈值电压v
th
的倍数表示,可以看出,在不同膜电压下,三个函数对的近似等效值情况。
[0172]
如图3、图4所示,在本发明的优选实例中采用数据集cifar10,比较采用近似等效
函数f1,f2,f3的脉冲神经网络训练100个周期,识别精度的情况。图中可以看出,三种近似等效函数f1,f2,f3的均获得较好的精度,其中f2为最优选择。
[0173]
以上仅是对本发明的优选实施方式进行了描述,并非对本发明技术方案的限制,本领域技术人员在本发明主要技术构思的基础上所作的任何变形都属于本发明所要保护的技术范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1