本发明属于增量学习,更具体地,涉及一种用于任务增量学习的脉冲神经网络模型构建方法。
背景技术:
1、脉冲神经网络是一种模拟真实神经元结构的神经网络,其模仿神经元的动作电位来编码信息。脉冲神经网络采用二进制脉冲而非模拟值,利用脉冲序列来表示时空信息。公开号为cn117009866a的专利申请提供的门控参数神经元(gated parametric neuron,gpn)是一种性能较好脉冲神经元,能够有效地处理时间复杂度高的序列数据,在多组实验上证明了gpn缓解梯度消失的效果。
2、增量学习是模拟生物不断学习进化过程的学习方式。与经典的机器学习场景不同,增量学习的数据随着时间分批到达,这样的场景设计与真实场景相似,更加考验算法的记忆能力。任务增量学习是增量学习中的一种场景,模型需要依次学习一系列不同的任务,其中模型知道当前数据来自哪一组任务(即任务序号)。对于一个总类别为c的分类任务,可以拆分为n个子任务,每个子任务执行c/n类别的分类任务。在每个子任务中,模型知晓当前的任务序号。
3、在任务增量学习场景中,以gpn组成的脉冲神经网络会遇到灾难性遗忘问题,即gpn在学习新的任务时,在旧任务上的性能下降严重。针对灾难性遗忘问题,已有基于正则化、基于回放以及基于结构等比较成熟的解决方法。xdg(context-dependent gating)算法作为基于结构的一种方法,其直接应用在if(integrate-and-fire)或lif(leakyintegrate-and-fire)脉冲神经元中时,可以很好的解决灾难性遗忘问题,但是将其与gpn脉冲神
4、屏蔽后的脉冲计算t时刻输入神经元的突触电流
5、屏蔽掩码生成单元,用于为任务增量学习的每个任务随机生成屏蔽掩码k表示当前任务的任务序号;其中,的长度与第l层门控参数神经元层的神经元数量一致;
6、屏蔽后的膜电压计算单元,用于将所述屏蔽掩码与t时刻神经元的膜电压vt相乘,得到t时刻屏蔽后的膜电压
7、脉冲发放模块,用于基于和所得到的门控值计算隐态膜电压ht,以确定t时刻神经元是否发放脉冲st;
8、屏蔽后的脉冲计算单元,用于计算t时刻发放的屏蔽后的脉冲并将传递给下一层门控参数神经元层的各神经元,以计算下一层各神经元发放的屏蔽后的脉冲;其中,⊙为逐元素相乘。
9、进一步地,所述脉冲发放模块包括:
10、门控值计算单元,用于基于和计算对应逻辑门在t时刻的输出值;其中,所述逻辑门包括遗忘门输入门阈值门及旁路门
11、隐态膜电压计算单元,用于计算t时刻神经元的隐态膜电压ht:
12、
13、其中,和表示遗忘门和输入门的输出值;
14、脉冲发放单元,用于发放脉冲st,其中,∈(·)为阶跃函数;表示阈值门的输出值;当时,st=1,表示脉冲发放;否则st=0,表示不发放脉冲。
15、进一步地,所述逻辑门输出值的计算公式为:
16、
17、其中,为或对应地,为或为或和分别为对应逻辑门的膜电压权重矩阵和突触电流权重矩阵,通过对所述脉冲神经网络训练得到;σ为激活函数。
18、进一步地,遗忘门,输入门和阈值门使用sigmoid函数,旁路门使用tanh激活函数。
19、进一步地,还包括:下一时刻膜电压计算单元,用于计算t+1时刻神经元的膜电压vt+1;计算公式为:
20、
21、其中,vreset为预设的重置电压,为旁路门的输出值。
22、进一步地,所述突触电流为:
23、
24、其中,wl-1为第l-1层门控参数神经元层的突触权重矩阵,通过对所述脉冲神经网络训练得到。
25、进一步地,所述任务增量学习数据集为音频或图像脉冲数据。
26、按照本发明的第二方面,提供了一种任务增量学习方法,包括:将不同任务输入至训练好的脉冲神经网络模型中,得到任务分类结果;
27、其中,所述脉冲神经网络模型通过第一方面任一项所述的用于任务增量学习的脉冲神经网络模型构建方法构建得到。
28、按照本发明的第三方面,提供了一种电子设备,包括计算机可读存储介质和处理器;
29、所述计算机可读存储介质用于存储可执行指令;
30、所述处理器用于读取所述计算机可读存储介质中存储的可执行指令执行第一方面任一项所述的用于任务增量学习的脉冲神经网络模型构建方法,或/和,执行第二方面所述的任务增量学习方法。
31、按照本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面任一项所述的用于任务增量学习的脉冲神经网络模型构建方法,或/和,实现如第二方面所述的任务增量学习方法。
32、总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
33、(1)本发明的用于任务增量学习的脉冲神经网络模型构建方法及任务增量学习方法,考虑到基于门控参数神经元gpn的脉冲神经网络具有时间和空间两条通路,gpn神经元会在时间上用到本层所有神经元的状态,导致某一神经元内部状态变化会影响到该层所有神经元。然而,xdg算法虽然能够在空间通路上对神经元输出进行屏蔽,但无法在时间通路上对神经元内部连接进行屏蔽,故直接采用xdg算法只屏蔽神经元外部输出的方式无法实现对基于门控参数神经元gpn的脉冲神经网络的真正屏蔽,导致仍然存在灾难性遗忘现象。基于此,本发明针对任务增量学习中的每个任务随机生成屏蔽掩码采用对应的屏蔽掩码对当前时刻神经元的膜电压vt以及神经元发放的脉冲st进行屏蔽,以屏蔽掉一些固定的神经元,而膜电压vt体现的是神经元在时间上的变化,代表了gpn神经元的时间通路,发放的脉冲st体现的神经元在空间上的变化,代表了gpn神经元的空间通路,不同逻辑门的输出值以及隐态膜电压ht均基于屏蔽后的膜电压和屏蔽后的脉冲计算,使得在时间和空间上均实现了gpn神经元之间的完全屏蔽;屏蔽之后,针对不同任务激活的神经元不同,使得每个任务都有相对独立的模型,降低任务之间的相互干扰,以缓解灾难性遗忘现象,进而提升了任务分类精度。
技术实现思路
1.一种用于任务增量学习的脉冲神经网络模型构建方法,其特征在于,包括:采用带分类标识的任务增量学习数据集作为输入,以任务分类结果作为输出对脉冲神经网络进行训练以使所述脉冲神经网络收敛,得到训练好的脉冲神经网络模型;
2.根据权利要求1所述的用于任务增量学习的脉冲神经网络模型构建方法,其特征在于,所述脉冲发放模块包括:
3.根据权利要求2所述的用于任务增量学习的脉冲神经网络模型构建方法,其特征在于,所述逻辑门输出值的计算公式为:
4.根据权利要求3所述的用于任务增量学习的脉冲神经网络模型构建方法,其特征在于,遗忘门,输入门和阈值门使用sigmoid函数,旁路门使用tanh激活函数。
5.根据权利要求2-4任一项所述的用于任务增量学习的脉冲神经网络模型构建方法,其特征在于,还包括:下一时刻膜电压计算单元,用于计算t+1时刻神经元的膜电压vt+1;计算公式为:
6.根据权利要求1所述的用于任务增量学习的脉冲神经网络模型构建方法,其特征在于,所述突触电流为:
7.根据权利要求1所述的用于任务增量学习的脉冲神经网络模型构建方法,其特征在于,所述任务增量学习数据集为音频或图像脉冲数据。
8.一种任务增量学习方法,其特征在于,包括:将不同任务输入至训练好的脉冲神经网络模型中,得到任务分类结果;
9.一种电子设备,其特征在于,包括计算机可读存储介质和处理器;
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7任一项所述的用于任务增量学习的脉冲神经网络模型构建方法,或/和,实现如权利要求8所述的任务增量学习方法。