发明内容
针对现有技术中的问题,本发明实施例提供一种脑活动状态分类模型训练方法、装置和设备。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种脑活动状态分类模型训练方法,包括:
获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;
将各个所述训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型,基于目标规则对所述脑活动状态分类模型进行训练;其中,在目标规则中的前向传播阶段,根据各个训练任务对应的所述脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定所述脑活动状态分类模型中的突触权值;所述赫布信息基于突触的共放电频率确定;所述赫布信息用于表示训练任务与突触的关联程度;所述脑活动状态分类模型基于脉冲神经网络构建。
进一步地,所述根据各个训练任务对应的所述脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息,包括:
利用如下公式更新脑活动状态分类模型中各个突触对应的赫布信息:
其中,表示脉冲序列中第j个任务之前第i个突触的赫布信息;/>表示脉冲序列中第j个任务之后第i个突触的赫布信息;ω表示预设的更新率;fi,j表示脉冲序列中第j个任务所对应的脑活动状态分类模型中第i个突触的共放电频率;Qi表示目标列表;所述目标列表中存放各个训练任务对应的突触的赫布信息;qj,i表示目标列表中存放的第j个任务对应的第i个突触的赫布信息。
进一步地,所述更新脑活动状态分类模型中各个突触对应的赫布信息,包括:
基于单个时间窗下突触的共放电状态对突触的赫布信息进行更新;和/或,
基于多个时间窗内的平均放电率对突触的赫布信息进行更新。
进一步地,在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定所述脑活动状态分类模型中的突触权值,包括:
在反向传播阶段,对于脑活动状态分类模型的任意一个突触,在突触的赫布信息大于第一阈值的情况下,则确定突触与任务关联,对脑活动状态分类模型中的突触权值进行锁定;否则,根据反向传播结果修改突触权值。
第二方面,本发明实施例还提供了一种脑活动状态分类方法,包括:
获取目标脑电信号对应的脉冲序列;
将所述目标脑电信号对应的脉冲序列,输入脑活动状态分类模型,得到脑活动状态分类结果,其中,所述脑活动状态分类模型为基于如第一方面所述的脑活动状态分类模型训练方法训练得到的。
第三方面,本发明实施例还提供了一种脑活动状态分类模型训练装置,包括:
获取模块,用于获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;
训练模块,用于将各个所述训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型,基于目标规则对所述脑活动状态分类模型进行训练;其中,在目标规则中的前向传播阶段,根据各个训练任务对应的所述脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定所述脑活动状态分类模型中的突触权值;所述赫布信息基于突触的共放电频率确定;所述赫布信息用于表示训练任务与突触的关联程度;所述脑活动状态分类模型基于脉冲神经网络构建。
第四方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述脑活动状态分类模型训练方法或第二方面所述的脑活动状态分类方法。
第五方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述脑活动状态分类模型训练方法或第二方面所述的脑活动状态分类方法。
第六方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述脑活动状态分类模型训练方法或第二方面所述的脑活动状态分类方法。
本发明实施例提供的脑活动状态分类模型训练方法、装置和设备,对多个训练任务对应的脑电信号样本的脉冲序列进行连续学习的过程中,在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,并在目标规则中的反向传播阶段,通过记录的赫布信息确定突触权值,从而使得在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被准确识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的方法可以应用于医学信号处理场景中,实现脑活动状态的准确分类。
相关技术中,通过人工神经网络进行脑活动状态分类,但在数据分布持续变化的场合下,人工神经网络模型和传统方法一样受到灾难性遗忘问题的困扰,即对新知识的学习会干扰对旧知识的记忆,使得脑活动状态分类结果的准确性和分类效率较低。
本发明实施例的脑活动状态分类模型训练方法,对多个训练任务对应的脑电信号样本的脉冲序列进行连续学习的过程中,在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,并在目标规则中的反向传播阶段,通过记录的赫布信息确定突触权值,从而使得在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被准确识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
下面结合图1-图6以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1是本发明实施例提供的脑活动状态分类模型训练方法一实施例的流程示意图。如图1所示,本实施例提供的方法,包括:
步骤101、获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;
具体地,相关技术中,通过人工神经网络进行脑活动状态分类,但在数据分布持续变化的场合下,人工神经网络模型和传统方法一样受到灾难性遗忘问题的困扰,即对新知识的学习会干扰对旧知识的记忆,使得脑活动状态分类结果的准确性和分类效率较低。
为了解决上述问题,本发明实施例中首先获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;可选地,在各个脑活动状态分类训练任务中,将心率信号、脑信号和音频等信号输入,利用脉冲编码器(例如泊松编码器)将非脉冲输入信号编码为新的脉冲序列,以进行脑活动状态分类模型的训练。例如,对于一段心率信号输入,将其分成N帧,每帧被编码为一个正态分布或其他分布的脉冲序列。
步骤102、将各个训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型,基于目标规则对脑活动状态分类模型进行训练;其中,在目标规则中的前向传播阶段,根据各个训练任务对应的脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定脑活动状态分类模型中的突触权值;赫布信息基于突触的共放电频率确定;赫布信息用于表示训练任务与突触的关联程度;脑活动状态分类模型基于脉冲神经网络构建。
具体地,在获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列后,本发明实施例中将各个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型进行连续学习,基于目标规则对脑活动状态分类模型进行训练;可选地,目标规则包括前向传播阶段和反向传播阶段,根据前向传播阶段的实际输出值和预期输出值的误差进行反向传播,循环迭代,以进行对脑活动状态分类模型参数的学习训练;在训练完成后,脑活动状态分类模型就可以用于脑活动状态的分类。可选地,在目标规则中的前向传播阶段,本发明实施例中根据各个训练任务对应的脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定脑活动状态分类模型中的突触权值;也就是在对多个训练任务对应的脑电信号样本的脉冲序列进行连续学习的过程中,在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,并在目标规则中的反向传播阶段,通过记录的赫布信息和反向传播结果确定突触权值,从而使得在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,即在多任务训练时记录突触的赫布信息,从而找到不同任务对应的高活跃性神经元,将此部分神经元分配为该任务的子系统,并锁定其权值以在之后其他任务的学习中不被改变,从而使得新训练任务不影响前期已经训练的任务,而不会遗忘前面的任务,创新性地实现一种能高效率训练且能在不明确多任务信息的情况下自适应分配神经元形成子系统的模型和方法,从而解决灾难性遗忘问题。
例如,第1个训练任务对应的脑电信号样本的脉冲序列为用户观看图片时对应的脉冲序列,其对应第一种脑活动类型,在目标规则中的前向传播阶段,根据第1个训练任务记录脑活动状态分类模型中突触A的赫布信息为a,在目标规则中的反向传播阶段,根据反向传播的结果和突触A对应的赫布信息a共同确定突触A权值的变化量;第2个训练任务对应的脑电信号样本的脉冲序列为用户听语音时对应的脉冲序列,其对应第二种脑活动类型,在目标规则中的前向传播阶段,根据第2个训练任务记录脑活动状态分类模型中突触B的赫布信息为b,在目标规则中的反向传播阶段,根据反向传播的结果和突触B对应的赫布信息b,确定脑活动状态分类模型中突触B的权值,即在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,在目标规则中的反向传播阶段,根据反向传播的结果和赫布信息共同确定突触权值的变化量,在完成第二个训练任务后,脑活动状态分类模型仍可以正确的对第一种脑活动类型进行分类;也就是在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被准确识别,即在多个任务的情况下,新训练任务不影响前期已经训练的任务,而不会遗忘前面的任务,从而解决灾难性遗忘问题。
需要说明的是,相关技术中,会将神经网络模块化,给不同任务随机分配包含定量神经元的子系统。从生物的角度上讲,这更符合大脑对于多任务连续学习的特征(例如,记忆和运动控制属于不同脑区控制)。但这种范式也会存在一些问题,第一个问题是子系统训练效率的问题。由于神经网络给每个任务随机分配了定量神经元构成子系统进行训练,意味着在任务数量过多或任务训练体量过大的情况下,比如输入脑电信号这种高通量多模式的数据流,训练数据相对于神经元数量将会不平衡,子系统的训练效率过低,进而导致整个网络训练效率过低。训练效率第二个问题是这种模块化架构需要提前知道任务数量和训练顺序,以便划分各任务子系统。这意味着在未预先明确任务数量和学习顺序的情况下,比如脑电信号这种无法确定顺序和数量的分类任务,将难以使用这种模块化架构的范式进行多任务训练。而本发明实施例中,通过对多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列进行连续学习,并在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,在目标规则中的反向传播阶段,通过记录的赫布信息和反向传播结果确定突触权值,从而使得在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被准确识别,而不会遗忘前面的任务,从而解决灾难性遗忘问题。本发明实施例相较于神经网络模块化的训练过程,具有更强的连续学习能力,在给连续学习的任务分配子系统时,是自适应的计算与分配,相较于深度神经网络和传统的模块化架构连续学习范式都具有更强的连续学习能力,且可以更加高效率的完成多任务训练,本发明实施例中对不同任务的学习均运用了整个网络,多任务和大任务的训练效率更高,这是传统模块化架构连续学习范式无法具备的能力。
另外,由于脉冲神经网络相比深度神经网络具有更加复杂的神经元和突触结构,而现有人工网络所忽略的很多生物规则恰恰是实现通用类人脑智能的关键,这些生物规则加入到更加类脑的脉冲神经网络中将使得现有网络获得更为强大的计算能力和适应能力,本申请实施例中脑活动状态分类模型基于脉冲神经网络构建,使得脑活动状态分类模型的设计和和连续学习方法都更具有生物合理性。本发明实施例中在多任务训练时记录突触的赫布信息,从而找到不同任务对应的高活跃性神经元,将此部分神经元分配为该任务的子系统,并锁定其权值以在之后其他任务的学习中不被改变,创新性地实现一种能高效率训练且能在不明确多任务信息的情况下自适应分配神经元形成子系统的模型和方法,解决了模块化架构范式存在的两个问题,极大地增强了脉冲神经网络地连续学习能力。
上述实施例的方法,对多个训练任务对应的脑电信号样本的脉冲序列进行连续学习的过程中,在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,并在目标规则中的反向传播阶段,通过记录的赫布信息和反向传播结果确定突触权值,从而使得在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被准确识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
在一实施例中,根据各个训练任务对应的脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息,包括:
利用如下公式更新脑活动状态分类模型中各个突触对应的赫布信息:
其中,表示脉冲序列中第j个任务之前第i个突触的赫布信息;/>表示脉冲序列中第j个任务之后第i个突触的赫布信息;ω表示预设的更新率;fj,i表示脉冲序列中第j个任务所对应的脑活动状态分类模型中第i个突触的共放电频率;Qj表示目标列表;目标列表中存放各个训练任务对应的突触的赫布信息;qi,j表示目标列表中存放的第j个任务对应的第i个突触的赫布信息。
具体地,本发明实施例中通过对多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列进行连续学习,并在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,在目标规则中的反向传播阶段,通过记录的赫布信息和反向传播结果确定突触权值,从而使得在多个任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,而不会遗忘前面的任务,从而解决灾难性遗忘问题。可选地,利用如下公式更新和记录脑活动状态分类模型中各个突触对应的赫布信息:
其中,表示脉冲序列中第j个任务之前第i个突触的赫布信息;/>表示脉冲序列中第j个任务之后第i个突触的赫布信息;ω表示预设的更新率;fi,j表示脉冲序列中第j个任务所对应的脑活动状态分类模型中第i个突触的共放电频率;Qi表示目标列表;目标列表中存放各个训练任务对应的突触的赫布信息;qj,i表示目标列表中存放的第j个任务对应的第i个突触的赫布信息。也就是为突触定义一个用于描述共放电现象频率的变量,该变量被称为赫布信息,在每个任务训练的前向传播阶段,每个突触计算更新任务对应的赫布信息并进行记录。具体处理方式如下所示:所有任务依次输入网络以连续学习的范式进行学习,每项任务的学习过程中均只呈现该任务的数据,而不呈现历史任务的数据。在每个任务的前传阶段,每个突触都会进行对应任务的赫布信息计算更新,如下公式所示:
其中ω表示更新率,和/>分别表示第j个任务前传阶段第i个突触更新前与更新后的赫布信息,fj,i表示当前任务的前传阶段中各突触的共放电频率。ω为人为设定的参数,/>的初始化值为0。Qj是第i个突触存放各历史任务对应赫布信息的列表,qi,j即为列表中存放的第j个任务对应的赫布信息,也就是在多任务训练时对于每个任务记录突触的赫布信息,从而找到不同任务对应的高活跃性神经元,将此部分神经元分配为该任务的子系统,并锁定其权值以在之后其他任务的学习中不被改变,实现了在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
上述实施例的方法,通过将所有任务依次输入脑活动状态分类模型以连续学习的范式进行学习,在每个任务训练的前向传播阶段,每个突触计算更新任务对应的赫布信息并进行记录,也就是在多任务训练时对于每个任务记录突触的赫布信息,从而找到不同任务对应的高活跃性神经元,将此部分神经元分配为该任务的子系统,并锁定其权值以在之后其他任务的学习中不被改变,实现了在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
在一实施例中,更新脑活动状态分类模型中各个突触对应的赫布信息,包括:
基于单个时间窗下突触的共放电状态对突触的赫布信息进行更新;和/或,
基于多个时间窗内的平均放电率对突触的赫布信息进行更新。
具体地,可以基于两种方式对突触赫布信息进行更新,第一种方式为根据数个时间窗内的神经元活动信息对赫布信息进行更新,即在前向传播阶段,根据数个时间窗内的平均放电率对赫布信息进行更新,fi,j表示为:
Spre t和Spost t分别表示突触前和突触后神经元在第t个时间窗下的发放状态,此时赫布信息每T个时间窗更新一次。
第二种方式为根据单个时间窗下突触的共放电状态对赫布信息进行更新计算,即在前向传播阶段,根据单个时间窗内的神经元活动信息对赫布信息进行更新,fi,j表示为:
fi,j=Spre t·Spost t
此时赫布信息每1个时间窗更新一次。
其中,第i个突触前后的神经元活动越活跃,共放电现象越频繁,fi,j就越大,更新后的赫布信息也就会越大,表示第i个突触对于第j个任务更为重要。
上述实施例的方法,通过数个时间窗内的神经元活动信息对赫布信息进行更新,或者根据单个时间窗下突触的共放电状态对赫布信息进行更新,从而实现了赫布信息的及时准确的更新,使得训练任务对应的突触活动越活跃的情况下,更新后的赫布信息也就越大,该突触对于该训练任务也就更为重要,进而也就可以找到不同任务对应的高活跃性突触,将此部分突触分配为该任务的子系统,并锁定其权值以在之后其他任务的学习中不被改变,实现了在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
在一实施例中,在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定脑活动状态分类模型中的突触权值,包括:
在反向传播阶段,对于脑活动状态分类模型的任意一个突触,在突触的赫布信息大于第一阈值的情况下,则确定突触与任务关联,对脑活动状态分类模型中的突触权值进行锁定;否则,根据反向传播结果修改突触权值。
具体地,本发明实施例中通过对多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列进行连续学习,并在目标规则中的前向传播阶段,通过赫布信息记录训练任务和突触的关联程度,在目标规则中的反向传播阶段,通过记录的赫布信息和反向传播结果确定突触权值,从而使得在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,而不会遗忘前面的任务,从而解决灾难性遗忘问题。可选地,在神经网络反向传播阶段根据赫布信息进行赫布突触锁操作:在反向传播阶段,根据记录的历史任务累积的赫布信息为突触生成掩膜(mask)进行掩蔽,进而保护网络中历史任务相关的知识,提高网络的连续学习能力。具体地,在每个任务的反向传播阶段,会根据前向传播阶段各突触记录的历史任务对应的赫布信息,判断突触是否与某项历史任务关联。第i个突触的关联判据通过计算得到,如下所示:
表示第i个突触存放各历史任务对应赫布信息的列表中,第j个任务对应的赫布信息值为最大的赫布信息值,Pi为关联标志,如果最大的赫布信息值/>大于阈值qth,则认为第i个突触与第j个任务关联,反传时将会通过掩膜来掩蔽掉第i个突触的变化量,保证关联突触i不被当前任务改变权值,即为突触权值的锁定;否则,根据前向传播阶段的实际输出值和预期输出值的误差进行反向传播,循环迭代,以进行对脑活动状态分类模型参数的学习训练。其中,将突触与任务的关联判断和突触掩蔽方式为赫布突触锁的主要内容,从而实现了对多个任务的连续学习,并在每个任务训练的前向传播阶段,每个突触计算更新该任务对应的赫布信息并进行记录,从而找到不同任务对应的高活跃性神经元,将此部分神经元分配为该任务的子系统,并锁定其权值以在之后其他任务的学习中不被改变,实现了在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
上述实施例的方法,通过在每个任务训练的前向传播阶段,每个突触计算更新任务对应的赫布信息并进行记录,也就是在多任务训练时对于每个任务记录突触的赫布信息,从而找到不同任务对应的高活跃性神经元,在反向传播阶段,将此部分高活跃性神经元分配为该任务的子系统,并锁定其权值以在之后其他任务的学习中不被改变,实现了在多个训练任务的连续学习过程中,通过记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,从而解决灾难性遗忘问题,使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。
在一实施例中,脑活动状态分类方法,包括:
获取目标脑电信号对应的脉冲序列;
将目标脑电信号对应的脉冲序列,输入脑活动状态分类模型,得到脑活动状态分类结果,其中,脑活动状态分类模型为基于脑活动状态分类模型训练方法训练得到的。
具体地,本发明实施例通过在多个训练任务的连续学习过程中,记录赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被正常识别,解决灾难性遗忘问题,从而也就使得训练后的脑活动状态分类模型可以准确的进行脑活动状态的分类,提高脑活动状态分类的效率和准确性。可选地,在对脑活动状态分类模型进行训练后,就可以将待识别的脑电信号对应的脉冲序列,输入脑活动状态分类模型,得到脑活动状态分类结果,实现了脑活动状态的准确识别和分类,进而基于准确识别和分类的脑活动状态,就可以辅助医生判断信号来源,确认患者大脑状态和身体情况,以便更精确地进行治疗。
上述实施例的方法,通过将待识别的脑电信号对应的脉冲序列,输入训练后的脑活动状态分类模型,准确的得到脑活动状态分类结果,实现了脑活动状态的准确识别。
示例性的,如图2所示的脑活动状态分类模型的训练方法流程图,基于赫布突触锁的脉冲神经网络连续学习模型及方法,可实现更强的连续学习能力,更高的训练效率,同时提供一种更生物可信的神经网络学习模型及方法,具体如下:
(1)输入数据编码为脉冲序列:对心率信号、脑信号和音频等信号输入,利用脉冲编码器(例如泊松编码器)将非脉冲输入信号编码为某种分布形式的新的脉冲序列,以供后面的脉冲神经元使用处理。例如,对于一段心率信号输入,将其分成N帧,每帧被编码为一个正态分布或其他分布的脉冲序列。
(2)具有预定义阈值的动力学神经元处理脉冲信息:动力学神经元编码输入信息,根据预定义的神经元发放阈值,确定动力学特性。基础的LIF神经元处理当前时刻信息的过程如下:
Vi(t)=Vrest,S=1if(Vi(t)=Vth)
S=1if(t-tspike<τref),t∈(1,T1)
其中,Vi(t)是具有历史整合状态的膜电位,S是神经元发放状态,S=1表示神经元i的膜电位Vi(t)达到发放阈值Vth时的脉冲。同时S通过重置膜电位而非直接阻断膜电位的方式模拟神经元的不应期τref。
基于上述LIF神经元的基础,神经元发放阈值是人为设定的静态值,具体由所需神经元动力学特性决定。
(3)使用动力学神经元构建具有自适应赫布信息计算的脉冲神经网络:为突触定义一个用于描述共放电现象频率的变量,该变量被称为赫布信息,在每个任务训练的前向传播阶段,每个突触计算更新任务对应的赫布信息并进行记录。具体处理方式如下所示:
如图3所示的脑活动状态分类模型的训练方法流程图,所有任务依次输入网络以连续学习的范式进行学习,每项任务的学习过程中均只呈现该任务的数据,而不呈现历史任务的数据。在每个任务的前传阶段,每个突触都会进行对应任务的赫布信息计算更新,如下公式所示:
其中ω表示更新率,和/>分别表示第j个任务前传阶段第i个突触更新前与更新后的赫布信息,fi,j表示当前任务的前传阶段中各突触的共放电频率,经由赫布信息更新的两种技术路线计算得到。ω为人为设定的参数,/>的初始化值为0。Qi是第i个突触存放各历史任务对应赫布信息的列表,qi,j即为列表中存放的第j个任务对应的赫布信息。
具体地,突触赫布信息更新存在两种方式,第一种方式根据数个时间窗内的神经元活动信息对赫布信息进行更新,即fi,j此时表示为:
Spre t和Spost t分别表示突触前和突触后神经元在第t个时间窗下的发放状态,此时赫布信息每T个时间窗更新一次。
第二种方式为根据单个时间窗下突触的共放电状态对赫布信息进行更新计算,即fi,j此时表示为:
fi,j=Spre t·Spost t
此时赫布信息每1个时间窗更新一次。
可选地,第i个突触前后的神经元活动越活跃,共放电现象越频繁,fi,j就越大,更新后的赫布信息也就会越大,表示第i个突触对于第j个任务更为重要。
(4)反向传播阶段根据赫布信息进行赫布突触锁操作:在反向传播阶段,根据记录的历史任务累积的赫布信息为突触生成掩膜进行掩蔽,进而保护网络中历史任务相关的知识,提高连续学习能力。具体地,在每个任务的反向传播阶段,会根据各突触记录的历史任务对应的赫布信息,判断突触是否与某项历史任务关联。第i个突触的关联判据通过公式中的Qi计算得到,如公式所示:
表示第i个突触存放各历史任务对应赫布信息的列表中,第j个任务对应的赫布信息值为最大的赫布信息值,Pi为关联标志,如果最大的赫布信息值/>大于阈值qth,则认为第i个突触与第j个任务关联,反传时将会通过掩膜来掩蔽掉第i个突触的变化量,保证关联突触i不被当前任务改变权值,即为突触权值的锁定。这里我们将这种突触与任务的关联判断和突触掩蔽方式视为赫布突触锁的主要内容。
(5)用基于赫布突触锁的脉冲神经网络连续学习模型识别心率、脑信号等序列。即通过训练后的脑活动状态分类模型进行心率、脑信号等序列信息识别在输出层使用群组决策的方式,对于一个输入,有最多响应的类别作为模型分类的最终输出类别。
示例性的,如图4所示的脑活动状态分类模型的训练方法流程图,具体如下:
步骤S1:使用具有预定义阈值的动力学神经元构建具有自适应赫布信息计算的脉冲神经网络,进而基于脉冲神经网络建立初始脑活动状态分类模型;
步骤S2:对于信号输入,也就是对于多个脑活动状态分类训练任务对应的脑电信号样本,将其分成N帧,每帧被编码为一个正态分布或其他分布的脉冲序列;
步骤S3:将当前任务的脉冲信号输入已构建的初始脑活动状态分类模型,在任务训练的前向传播阶段,每个突触计算更新任务对应的赫布信息并进行记录;
步骤S4:在反向传播阶段,根据记录的历史任务累积的赫布信息为突触生成掩膜进行掩蔽,进而保护网络历史任务相关的知识;通过赫布信息保护已经训练过的任务的信息,使得已经训练过的任务还可以被准确识别,从而解决灾难性遗忘问题。
步骤S5:并判断是否遇到未学习过的任务;若存在未学习过的任务,则重复步骤S3和步骤S4,直至初始脑活动状态分类模型完成所有学习过的任务,完成脑活动状态分类模型的训练。
示例性的,选取MNIST数据集进行Task-IL连续学习任务验证,Task_IL为任务增量学习,在这种场景下,无论是训练阶段还是测试阶段,模型都被告知了当前的任务ID,且不同任务具有独立的输出层。使用上述分类学习方法,验证平均准确率与网络规模、放电稀疏度、突触锁定比例的关系。其中准确率的定义为,正确识别的样本数量除以全部的样本数量。阈值定义为,锁定突触所占比例。验证结果表明使用本发明的方法在Task-IL连续学习中具有较高的准确率优势,且平均准确率与三种参数的变化关系均满足我们设计的网络性质。
示例性的,选取MNIST数据集进行Domain-IL连续学习任务验证,Domain_IL为域增量学习,相较于Task-IL在测试阶段增加了新的限制,即在预测阶段并不会告知任务的ID,且不同任务共用同一输出层。模型需要在不知道任务ID的情况下,将数据正确的分类。使用上述分类学习方法,验证平均准确率与网络规模、放电稀疏度、突触锁定比例的关系。其中准确率的定义为,正确识别的样本数量除以全部的样本数量。验证结果表明平均准确率与三种参数的变化关系十分明显,且符合本发明构建网络的性质。
以上两个实例中参数的具体设置如表1所示:
表1
其中g是电导系数,Vth是神经元的放电阈值,τref是不应期,T是模拟动态神经元的时间窗。进一步地,在本发明中膜电位的电容C=1μF/cm2,复位膜电位Vrest=0mV。
可以看出本发明具有以下优点:
更强的连续学习能力:本发明在给连续学习的任务分配子系统时,是自适应的计算与分配,相较于深度神经网络和传统的模块化架构连续学习范式都具有更强的连续学习能力。
高效率多任务训练:本发明中对不同任务的学习均运用了整个网络,多任务和大任务训练效率更高,这是传统模块化架构连续学习范式无法具备的能力。
生物合理性:本发明中依据赫布理论的突触选择和赫布突触锁的加入,任务子系统的自适应分配,使得模型设计和连续学习方法都更具有生物合理性。
下面对本发明提供的脑活动状态分类模型训练装置进行描述,下文描述的脑活动状态分类模型训练装置与上文描述的脑活动状态分类模型训练方法可相互对应参照。
图5是本发明提供的脑活动状态分类模型训练装置的结构示意图。本实施例提供的脑活动状态分类模型训练装置,包括:
获取模块710,用于获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;
训练模块720,用于将各个训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型,基于目标规则对脑活动状态分类模型进行训练;其中,在目标规则中的前向传播阶段,根据各个训练任务对应的脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定脑活动状态分类模型中的突触权值;赫布信息基于突触的共放电频率确定;赫布信息用于表示训练任务与突触的关联程度;脑活动状态分类模型基于脉冲神经网络构建。
可选地,所述训练模块720,具体用于:利用如下公式更新脑活动状态分类模型中各个突触对应的赫布信息:
其中,表示脉冲序列中第j个任务之前第i个突触的赫布信息;/>表示脉冲序列中第j个任务之后第i个突触的赫布信息;ω表示预设的更新率;fi,j表示脉冲序列中第j个任务所对应的脑活动状态分类模型中第i个突触的共放电频率;Qi表示目标列表;目标列表中存放各个训练任务对应的突触的赫布信息;qi,j表示目标列表中存放的第j个任务对应的第i个突触的赫布信息。
可选地,所述训练模块720,具体用于:基于单个时间窗下突触的共放电状态对突触的赫布信息进行更新;和/或,
基于多个时间窗内的平均放电率对突触的赫布信息进行更新。
可选地,所述训练模块720,具体用于:在反向传播阶段,对于脑活动状态分类模型的任意一个突触,在突触的赫布信息大于第一阈值的情况下,则确定突触与任务关联,对脑活动状态分类模型中的突触权值进行锁定;否则,根据反向传播结果修改突触权值。
本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和技术效果类似,此次不再赘述。
图6示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行脑活动状态分类模型训练方法,该方法包括:获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;将各个训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型,基于目标规则对脑活动状态分类模型进行训练;其中,在目标规则中的前向传播阶段,根据各个训练任务对应的脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定脑活动状态分类模型中的突触权值;赫布信息基于突触的共放电频率确定;赫布信息用于表示训练任务与突触的关联程度;脑活动状态分类模型基于脉冲神经网络构建。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的脑活动状态分类模型训练方法,该方法包括:获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;将各个训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型,基于目标规则对脑活动状态分类模型进行训练;其中,在目标规则中的前向传播阶段,根据各个训练任务对应的脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定脑活动状态分类模型中的突触权值;赫布信息基于突触的共放电频率确定;赫布信息用于表示训练任务与突触的关联程度;脑活动状态分类模型基于脉冲神经网络构建。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的脑活动状态分类模型训练方法,该方法包括:获取多个脑活动状态分类训练任务对应的脑电信号样本的脉冲序列;将各个训练任务对应的脑电信号样本的脉冲序列输入初始脑活动状态分类模型,基于目标规则对脑活动状态分类模型进行训练;其中,在目标规则中的前向传播阶段,根据各个训练任务对应的脉冲序列更新脑活动状态分类模型中各个突触对应的赫布信息;在目标规则中的反向传播阶段,根据各个突触对应的赫布信息和反向传播结果,确定脑活动状态分类模型中的突触权值;赫布信息基于突触的共放电频率确定;赫布信息用于表示训练任务与突触的关联程度;脑活动状态分类模型基于脉冲神经网络构建。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。