CN112766317B - 基于记忆回放的神经网络权重训练方法以及计算机设备 - Google Patents
基于记忆回放的神经网络权重训练方法以及计算机设备 Download PDFInfo
- Publication number
- CN112766317B CN112766317B CN202011635041.XA CN202011635041A CN112766317B CN 112766317 B CN112766317 B CN 112766317B CN 202011635041 A CN202011635041 A CN 202011635041A CN 112766317 B CN112766317 B CN 112766317B
- Authority
- CN
- China
- Prior art keywords
- neural network
- layer
- sample
- last layer
- weights
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Image Analysis (AREA)
Abstract
本申请提出一种基于记忆回放的神经网络权重训练方法、设备和存储介质。其中方法包括:接收针对神经网络的输入信息,输入信息包括已标注样本;在初步学习阶段,首先基于已标注样本通过前馈计算的方式计算输出,再根据末层的输入层的神经元输出状态设置一部分的已激活神经元。接着通过目标输出与实际输出的差别调整神经网络末层的权重,直至可以正确分类该样本。在回放预演阶段,首先继续通过前馈的方法计算输出,同样选择一部分神经元作为已激活神经元。如果实际输出与理想输出不符合,则通过调整目前没有固定的最后一层的网络权重,使其达到正确分类的目标。重复该步骤,直至每一层的权重都已经确定。解决传统神经网络训练方法中梯度消失等问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于记忆回放的神经网络权重训练方法、计算机设备和存储介质。
背景技术
目前,随着深度学习的发展,各种不同架构神经网络的数量呈现井喷的态势,而人工神经网络的训练仍然广泛采用反向传播算法进行迭代来优化求解网络的权重,以得到较优的可以用于完成复杂任务的神经网络。数学证明反向传播算法可以实现任何复杂非线性映射的功能,因此反向传播算法目前是用来训练人工神经网络的最常用、最有效的算法。然而这种算法存在着训练时间过长、梯度消失等方面的缺陷。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种基于记忆回放的神经网络权重训练方法,以解决传统神经网络训练方法中存在的训练时间过长、梯度消失等方面的问题。
本申请的第二个目的在于提出一种计算机设备。
本申请的第三个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种基于记忆回放的神经网络权重训练方法,包括:
接收针对神经网络的输入信息,所述输入信息包括已标注样本,其中,所述已标注样本包括样本特征向量和样本类别;
在初步学习阶段,初始化神经网络的所有权重,并基于所述已标注样本进行前馈计算,获得所述神经网络之中最后一层的输出信息,并根据所述最后一层的输出信息计算预判的类别;
根据所述神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,并根据所述样本类别和所述预判的类别调整所述神经网络的末层的权重,以确定所述末层的权重以形成初步记忆;
在回放预演阶段,重新初始化所述神经网络之中尚未固定的各层的权重,对于所述已标注样本在最新神经网络的基础上重新进行前馈计算,得到记忆预演的结果,并根据所述记忆预演的结果和所述样本类别调整所述神经网络之中尚未固定部分末层的权重,以确定所述神经网络之中尚未固定部分末层的权重;
重复所述回放预演阶段的步骤,直至所述神经网络之中所有层的权重均被固定,以完成所述神经网络的训练。
在一些实施例中,所述方法还包括:
将已经完成训练的神经网络作为分类网络;
接收未标注样本;
将所述未标注样本输入至所述分类网络,获得针对所述未标注样本的分类预测结果。
在一些实施例中,当所述神经网络之中各层神经元所使用的激活函数为Relu;所述根据所述神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,包括:
获取所述神经网络的末层的输入层的神经元输出值;
选择输出值最大的前N个神经元标记为激活,其中,N为正整数。
在一些实施例中,所述根据所述样本类别和所述预判的类别调整所述神经网络的末层的权重,包括:
判断所述样本类别与所述预判的类别是否一致;
如果所述样本类别与所述预判的类别一致,则保持所述神经网络的末层的权重不变;
如果所述样本类别与所述预判的类别不一致,则根据所述样本类别和所述预判的类别,采用Hebbian学习理论对所述神经网络的末层的权重进行修改。
在一些实施例中,对于样本i,修改权重的公式如下:
其中:
其中,α为学习率,为第n+1次迭代时第l-1层神经元j到第l层神经元r(这两个神经元应该同时被激活但却没有)之间的权重;为第l-1层神经元j到第l层神经元c(这两个神经元不该同时被激活但激活了)之间的权重;n为迭代的次数;为所述神经网络之中l-1层的第j个神经元的输出;为所述l-1层的第j个神经元的状态设为激活;yir为对于第i个样本是否属于第r类的实际值;为对于第i个样本是否属于第r类的预测;yic为对于第i个样本是否属于第c类的实际值;为对于第i个样本是否属于第c类的预测。
在一些实施例中,在对所述神经网络之中尚未固定的各层的权重进行训练时,所述方法还包括:
在已有的激活函数的输出条件下,根据所述神经网络之中最新已更新权重的网络层的上一层神经元的输出状态,从所述上一层神经元中选取至少一个神经元设置为激活状态。
本申请第二方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,用于实现如下步骤:
接收针对神经网络的输入信息,所述输入信息包括已标注样本,其中,所述已标注样本包括样本特征向量和样本类别;
在初步学习阶段,初始化神经网络的所有权重,并基于所述已标注样本进行前馈计算,获得所述神经网络之中最后一层的输出信息,并根据所述最后一层的输出信息计算预判的类别;
根据所述神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,并根据所述样本类别和所述预判的类别调整所述神经网络的末层的权重,以确定所述末层的权重以形成初步记忆;
在回放预演阶段,重新初始化所述神经网络之中尚未固定的各层的权重,对于所述已标注样本在最新神经网络的基础上重新进行前馈计算,得到记忆预演的结果,并根据所述记忆预演的结果和所述样本类别调整所述神经网络之中尚未固定部分末层的权重,以确定所述神经网络之中尚未固定部分末层的权重;
重复所述回放预演阶段的步骤,直至所述神经网络之中所有层的权重均被固定,以完成所述神经网络的训练。
在一些实施例中,所述处理器还用于:
将已经完成训练的神经网络作为分类网络;
接收未标注样本;
将所述未标注样本输入至所述分类网络,获得针对所述未标注样本的分类预测结果。
在一些实施例中,当所述神经网络之中各层神经元所使用的激活函数为Relu;所述根据所述神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,包括:
获取所述神经网络的末层的输入层的神经元输出值;
选择输出值最大的前N个神经元标记为激活,其中,N为正整数。
在一些实施例中,所述根据所述样本类别和所述预判的类别调整所述神经网络的末层的权重,包括:
判断所述样本类别与所述预判的类别是否一致;
如果所述样本类别与所述预判的类别一致,则保持所述神经网络的末层的权重不变;
如果所述样本类别与所述预判的类别不一致,则根据所述样本类别和所述预判的类别,采用Hebbian学习理论对所述神经网络的末层的权重进行修改。
在一些实施例中,对于样本i,修改权重的公式如下:
其中:
其中,α为学习率,为第n+1次迭代时第l-1层神经元j到第l层神经元r(这两个神经元应该同时被激活但却没有)之间的权重;为第l-1层神经元j到第l层神经元c(这两个神经元不该同时被激活但激活了)之间的权重;n为迭代的次数;为所述神经网络之中l-1层的第j个神经元的输出;为所述l-1层的第j个神经元的状态设为激活;yir为对于第i个样本是否属于第r类的实际值;为对于第i个样本是否属于第r类的预测;yic为对于第i个样本是否属于第c类的实际值;为对于第i个样本是否属于第c类的预测。
在一些实施例中,在对所述神经网络之中尚未固定的各层的权重进行训练时,所述处理器还用于:
在已有的激活函数的输出条件下,根据所述神经网络之中最新已更新权重的网络层的上一层神经元的输出状态,从所述上一层神经元中选取至少一个神经元设置为激活状态。
本申请第三方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请第一方面实施例所述的基于记忆回放的神经网络权重训练方法。
根据本申请实施例的技术方案,通过采用逐层训练的方法确定权重,相比传统方法,可根据任务的难易程度以及当前神经网络的固化程度灵活更改训练方法,提高学习记忆的自适应能力。本申请在修改人工神经网络的隐藏层权重时,无需通过反向传播算法估计误差,因此摆脱了反向传播算法导致的梯度消失等问题的出现,避免需要加入其他方法进行优化。另外,通过模拟人脑记忆形成被证实的神经回放机制,能够有效提高模型少样本学习能力及模型的泛化能力。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种基于记忆回放的神经网络权重训练方法的流程示意图;
图2为本申请实施例的基于记忆回放的神经网络权重训练方法的示例图;
图3为本申请实施例的基于记忆回放的神经网络权重训练方法在四层神经网络中的示意图;
图4是根据本申请一个实施例的计算机设备的结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
目前,随着深度学习的发展,各种不同架构神经网络的数量呈现井喷的态势,而人工神经网络的训练仍然广泛采用反向传播算法进行迭代来优化求解网络的权重,以得到较优的可以用于完成复杂任务的神经网络。数学证明反向传播算法可以实现任何复杂非线性映射的功能,因此反向传播算法目前是用来训练人工神经网络的最常用、最有效的算法。然而这种算法存在着训练时间过长、梯度消失等方面的缺陷。近年来学者设计了不同的改进策略,比如特别的初始化方法、特定的神经网络层等来弥补反向传播的缺点。然而,针对不同的问题,鲜有普适的方法解决反向传播的缺陷。同时,反向传播算法与人脑的神经网络信息传递方式并不相符,不具备脑科学理论依据。误差反向传播过程中,反馈连接传递的误差信号仅影响突触的更新,不会影响前馈传播产生的神经元的活动状态,而大脑中反馈会改变神经元活动并具有功能性作用,如增强或抑制神经反应而提高网络效率。因此,亟需从脑科学的角度出发,设计一种具有可解释性强、仿生高效的新型人工神经网络更新权重方法解决现有人工神经网络训练过程中反向传播算法导致的一系列问题、提出一种新的更新权重的研究方向、在脑科学与机器学习领域真正搭起桥梁。
研究人员发现,大脑中存在着一种称为尖波涟漪(Sharp waves and ripples)的电信号。该电信号是由高度同步的神经元活动引起的,快速且短暂的神经振荡活动。尖波涟漪最初由Vanderwolf于1969年观察到。后来John O’Keefe于1978年在研究大鼠的空间记忆时更详细地研究了SPW-R。随后Buzsák及其合作者对尖波涟漪进行了详细的研究和表征,并描述了它们在动物不同状态下的生理功能和作用。
记忆可以分为两个阶段——学习阶段和放松/慢波睡眠阶段。在学习阶段中,大脑皮层会向海马提供新的信息,以促进海马神经环路暂时性的快速重组。在放松或慢波睡眠阶段,大脑自发产生的尖波涟漪会不断将海马重组或整合的信息又重新传输到大脑皮层进行长期存储。记忆通过这两个阶段不断地产生、加固。
尖波涟漪在记忆的产生与加固中起着重要的作用,在清醒阶段,与生成记忆时出现的大脑电信号类似的尖波涟漪的重复出现证明记忆存在着回放的过程,即获取了新的记忆的人或生物会快速地回忆经历过的事件,并将这些小事件整合,形成一个连续的完整场景。另外,在清醒时,尖波涟漪的出现可以使已经具备了相关记忆的生物的大脑中出现一个预演的过程,帮助其对即将发生的事件进行预判,即在大脑中进行一次彩排与规划。
广泛的实验证明了上述尖波涟漪与记忆方面的相关理论。Roumis和Frank通过实验发现,小鼠走迷宫后清醒状态下,尖波涟漪产生的同时,表征空间信息的海马位置细胞按照位置顺序依次放电,即出现尖波涟漪时,小鼠大脑中回放了学习过程。Norman等人在2019年进行了与人类记忆有关的实验,让一批被试观看一系列图片并在图片消失之后要求被试回忆、描绘图片中的细节,他们发现,当海马尖中的波涟漪产生的时候,大脑中已经存储的记忆信息会被重新激活。同年,Vaz等人让被试学习一系列词语配对,之后给被试提供配对中的一个词语要求被试回忆配对中的另一个词语。发现内侧颞叶在正确的回忆时的尖波涟漪的数量大于错误回忆时的数量,且海马的尖波涟漪产生的时间和颞叶联合皮层的涟漪的时间存在高度的重叠。由此可以得出结论:大脑中存在着一个记忆信息的重现、激活与再提取的过程,以加固已有记忆,具体表现形式为大脑电信号中存在的尖波涟漪。
因此,本申请从脑科学角度出发,根据记忆回放的原理设计一种具有可解释性的神经网络权值更新方式,解决传统神经网络训练方法中梯度消失等问题,可用于基于人工神经网络的分类器的训练。本申请旨在根据大脑中的尖波涟漪对于记忆的回放重演与纠正加固设计一种可以用于人工神经网络训练的网络权重更新算法。这种算法可以替代梯度下降算法并且可以被广泛用于各种基于人工神经网络的分类问题的训练中。
下面参考附图描述本申请实施例的基于记忆回放的神经网络权重训练方法、计算机设备和存储介质。
图1为本申请实施例所提供的一种基于记忆回放的神经网络权重训练方法的流程示意图。需要说明的是,本申请实施例的基于记忆回放的神经网络权重训练方法可应用于本申请实施例的计算机设备。如图1所示,该基于记忆回放的神经网络权重训练方法可以包括如下步骤。
在步骤101中,接收针对神经网络的输入信息,输入信息包括已标注样本,其中,已标注样本包括样本特征向量和样本类别。
在步骤102中,在初步学习阶段,初始化神经网络的所有权重,并基于已标注样本进行前馈计算,获得神经网络之中最后一层的输出信息,并根据最后一层的输出信息计算预判的类别。
在步骤103中,根据神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,并根据样本类别和预判的类别调整神经网络的末层的权重,以确定末层的权重以形成初步记忆。
在步骤104中,在回放预演阶段,重新初始化神经网络之中尚未固定的各层的权重,对于已标注样本在最新神经网络的基础上重新进行前馈计算,得到记忆预演的结果,并根据记忆预演的结果和样本类别调整神经网络之中尚未固定部分末层的权重,以确定神经网络之中尚未固定部分末层的权重;重复回放预演阶段的步骤,直至神经网络之中所有层的权重均被固定,以完成神经网络的训练。
举例而言,如图2所示,为本申请实施例的基于记忆回放的神经网络权重训练方法的示例图。如图2所示,首先接收神经网络的输入,即已经标注好的输入样本。接着开始学习的过程。网络训练过程模拟大脑记忆的回放与重演,分为初步学习阶段、回放预演阶段与记忆形成阶段。其中,初步学习阶段模拟生物第一次学习时大脑的反应,形成初步记忆。回放预演阶段模拟生物学习之后,即拥有初步记忆之后的状态下通过脑电中的尖波涟漪的出现回放重演这部分记忆的过程,包括了重演、预测相关记忆之后基于事实对于本身已有初步记忆的不断修正。经过反复的重演与修正的过程,大脑进入记忆的形成阶段,此时对于该样本的学习已经初步完成。
这三个记忆阶段落实到算法层面又分为一系列具体步骤。具体为:在初步学习阶段,首先通过前馈计算的方式计算输出,再根据末层的输入层的神经元输出状态设置一部分的已激活神经元。这部分已激活神经元被主要用于该样本的学习。接着通过目标输出与实际输出的差别调整神经网络末层的权重,直至可以正确分类该样本。这一系列的训练步骤在算法层面看,可以确定神经网络的末层权重,在脑科学层面看,表示大脑对于事物拥有了初步的记忆。
在回放预演阶段,首先继续通过前馈的方法计算输出,同样选择一部分神经元作为已激活神经元。如果实际输出与理想输出不符合,则通过调整目前没有固定的最后一层的网络权重,使其达到正确分类的目标。这一步骤象征着,在学习过程中,通过尖波涟漪的不断出现以及预演与现实的差别带来的记忆修正,大脑中的记忆渐渐巩固、渐渐确定。重复这一步骤,直至每一层的权重都已经确定。此时已经达到了记忆形成阶段。
在如图3所示中,以四层的神经网络为例,显示出了本申请的训练方法的训练步骤。例如,如图3所示的第一张图为初步学习阶段,学习出了最后一层的神经网络权重。如图3所示的第二张图和第三张图为回放预演阶段,逐渐确定前一层的权重,直至所有权重确定。此时最终记忆形成。
为了方便本领域技术人员更加清楚地了解本申请,下面将对本申请进行详细描述。举例而言,本申请实施例的基于记忆回放的神经网络权重训练方法具体步骤如下所示:
(1)输入已标注样本
其中,神经网络的输入信息可包括样本特征向量以及样本类别向量。特征向量xi=(xi1,xi2,...,xin)表示第i个样本的共n维的特征,其中xij表示第i个向量的第j维特征。本申请基于监督学习,因此需要输入样本所对应的目标类别(即样本类别)输出yi=(yi1,yi2,...,yim),一共m个类别。其中,yij∈{0,1}。yij=1时,表示yi属于j类,yij=0时,表示yi不属于j类。容易发现,二进制向量yi有且仅有一个j使得yij=1。
(2)前馈计算输出
初始化神经网络中的所有权重,然后开始前馈计算。为了描述方便,将输入层定义为第0层,假设神经网络有l层,即输出层为l,则第k层的输出Ok的计算公式为:
其中,Nk为第k层神经元的数目,N0=n,Nl=m。Okq表示第k层第q个神经元的输出,fk表示第k层的激活函数,表示第k-1层第p个神经元到第k层第q个神经元的连接权重。按照以上步骤逐层计算,前馈得到最后一层的输出,即Ol。接下来,根据最后一层的输出Ol计算预判的类别
由此完成了大脑对于新输入知识的接收的过程。
(3)设置l-1层神经元的激活状态
第l层的神经元的激活状态可以由(2)中的结果得到,输出值为1的末层神经元状态为激活,但l-1层神经元激活状态需要在此步骤单独定义。值得注意的是,此处定义的激活表示主要参与到该样本的学习中的神经元,与激活函数对于神经元的激活不同,它是基于激活函数的输出结果,重新定义的一部分形成当前记忆主要参与的神经元。在使用Sigmoid、Relu等常见激活函数时,由于激活函数的输出值绝对值越大,相对而言越容易影响后一层的输出,此处假定激活函数为Relu,则选择激活函数输出值最大的前N个神经元标记为激活。即对于任意属于Ol-1中较大的N个输出,则即l-1层的第j个神经元的状态设为激活。对于其他特殊的激活函数,本步骤可以做适当调整。
(4)反馈修改末层权重
其中:
其中,α为学习率,为第n+1次迭代时第l-1层神经元j到第l层神经元r(这两个神经元应该同时被激活但却没有)之间的权重;为第l-1层神经元j到第l层神经元c(这两个神经元不该同时被激活但激活了)之间的权重;n为迭代的次数;为所述神经网络之中l-1层的第j个神经元的输出;为所述l-1层的第j个神经元的状态设为激活;yir为对于第i个样本是否属于第r类的实际值;为对于第i个样本是否属于第r类的预测;yic为对于第i个样本是否属于第c类的实际值;为对于第i个样本是否属于第c类的预测。以上修改权重的公式用于指示:将l-1层激活的神经元与正确输出类别的神经元之间的连接权重增强,将l-1层激活的神经元与错误预测输出类别的神经元之间的连接权重减弱。
(5)确定末层权重,形成初步记忆
对所有待学习样本重复(2)-(4)步骤。对于每个样本i,前馈的输出结果正确后可以开始进行对于第i+1个样本的学习。所有样本都学习完后,完成了最后一层权重的训练,即大脑完成了对所有样本的初步记忆的过程。
(6)回放记忆与预演
重新初始化尚未固定的各层的权重,对于样本i在已经确定了末层权重的网络的基础上重新进行步骤(2)的计算,得到记忆预演的结果如果输出结果正确,即则进行第i+1个样本的计算。若输出结果错误,即则进入步骤(7)修正第k层的连接权重。所有样本学习结束后该步骤结束。
(7)记忆的修正与完善,更改第k层的连接权重
通过与步骤(3)相似的方式计算此时第k层的被激活的神经元并确定第k-1层的被激活的神经元Ak-1。由于此时k+1层及其以后的各层连接权重皆已经固定,Ak的值在之前步骤中已有记录。根据与Ak的差异,具体更新权重公式如下:
其中:
以上公式即将第k-1层激活的神经元与第k层本该激活却没有激活的神经元之间的连接加强,将第k-1层激活的神经元与第k层本不该激活却激活了的神经元之间的连接减弱。重复上述更新公式的步骤直至步骤(2)的前馈计算结果可以将样本正确分类。其中p表示第k-1层被激活的神经元的编号,q表示第k层需要被激活但是没有被激活的神经元的编号;s表示第k层不需要被激活但是被激活了的神经元的编号。
(8)记忆形成阶段
重复进行步骤(6)与步骤(7)直至神经网络每一层的权重已确定。此时整个人工神经网络训练完毕。
(9)模型使用
训练好的人工神经网络可以被用作分类器。输入需要分类的样本的特征向量xi=(xi1,xi2,...,xin),通过神经网络的逐层前馈,最终得到目标类别输出yi=(yi1,yi2,...,yim)。其中,yij∈{0,1}。yij=1时,表示yi属于j类。由此,成功完成样本的分类任务。
由此可见,本申请实施例的基于记忆回放的神经网络权重训练方法,基于脑科学中的与尖波涟漪相关的理论,模拟了大脑学习的记忆形成过程——初步记忆阶段、回放修正阶段、最终形成阶段,使得训练神经网络的过程具有了生物学方面的解释依据。并采用Hebbian学习理论的思想进行各层的权重调整,相比梯度下降算法等传统算法更加具有可解释性,模拟了大脑中神经元的连接与激活。另外,本申请模拟人脑记忆形成被证实的神经回放机制,能够有效提高模型少样本学习能力及模型的泛化能力。本申请通过采用逐层训练的方法确定权重,相比传统方法,可根据任务的难易程度以及当前神经网络的固化程度灵活更改训练方法,提高学习记忆的自适应能力。
此外,本申请实施例通过修改人工神经网络的隐藏层权重时,无需通过反向传播算法估计误差,因此摆脱了反向传播算法导致的梯度消失等问题的出现,避免需要加入其他方法进行优化。此方法拓展了神经网络训练的思路,提出了一个新的方向。
在本申请实施例中,将已经完成训练的神经网络作为分类网络;接收未标注样本;将未标注样本输入至分类网络,获得针对未标注样本的分类预测结果。也就是说,本申请在已有的激活函数的输出条件下,每层都重新激活一定个数的神经元,一方面可以控制每层参与训练的神经元个数,保证每层都能进行有效的学习。另一方面本方法可以模拟大脑神经元激活稀疏性,相比传统的多层一起训练的方法可以为低功耗计算提供基础。
为了实现上述实施例,本申请还提出了一种计算机设备。
图4是根据本申请一个实施例的计算机设备的结构框图。如图4所示,该计算机设备400可以包括:存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序403,处理器402执行计算机程序403时,用于实现如下步骤:
步骤101’,接收针对神经网络的输入信息,输入信息包括已标注样本,其中,已标注样本包括样本特征向量和样本类别;
步骤102’,在初步学习阶段,初始化神经网络的所有权重,并基于已标注样本进行前馈计算,获得神经网络之中最后一层的输出信息,并根据最后一层的输出信息计算预判的类别;
步骤103’,根据神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,并根据样本类别和预判的类别调整神经网络的末层的权重,以确定末层的权重以形成初步记忆;
步骤104’,在回放预演阶段,重新初始化神经网络之中尚未固定的各层的权重,对于已标注样本在最新神经网络的基础上重新进行前馈计算,得到记忆预演的结果,并根据记忆预演的结果和样本类别调整神经网络之中尚未固定部分末层的权重,以确定神经网络之中尚未固定部分末层的权重;重复回放预演阶段的步骤,直至神经网络之中所有层的权重均被固定,以完成神经网络的训练。
在本申请一些实施例中,处理器还可用于:将已经完成训练的神经网络作为分类网络;接收未标注样本;将未标注样本输入至分类网络,获得针对未标注样本的分类预测结果。
在本申请一些实施例中,处理器根据样本类别和预判的类别调整神经网络的末层的权重的具体实现过程可如下:判断样本类别与预判的类别是否一致;如果样本类别与预判的类别一致,则保持神经网络的末层的权重不变;如果样本类别与预判的类别不一致,则根据样本类别和预判的类别,采用赫布理论Hebbian学习理论对神经网络的末层的权重进行修改。
需要说明的是,前述对基于记忆回放的神经网络权重训练方法实施例的解释说明也适用于该实施例的计算机设备,此处不再赘述。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,实现本申请上述任一个实施例所述的基于记忆回放的神经网络权重训练方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于记忆回放的神经网络权重训练方法,其特征在于,包括:
接收针对神经网络的输入信息,所述输入信息包括已标注样本,其中,所述已标注样本包括样本特征向量和样本类别;
在初步学习阶段,初始化神经网络的所有权重,并基于所述已标注样本进行前馈计算,获得所述神经网络之中最后一层的输出信息,并根据所述最后一层的输出信息计算预判的类别;
根据所述神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,并根据所述样本类别和所述预判的类别调整所述神经网络的末层的权重,以确定所述末层的权重以形成初步记忆;
在回放预演阶段,重新初始化所述神经网络之中尚未固定的各层的权重,对于所述已标注样本在最新神经网络的基础上重新进行前馈计算,得到记忆预演的结果,并根据所述记忆预演的结果和所述样本类别调整所述神经网络之中尚未固定部分末层的权重,以确定所述神经网络之中尚未固定部分末层的权重;
重复所述回放预演阶段的步骤,直至所述神经网络之中所有层的权重均被固定,以完成所述神经网络的训练。
2.根据权利要求1所述的方法,其特征在于,还包括:
将已经完成训练的神经网络作为分类网络;
接收未标注样本;
将所述未标注样本输入至所述分类网络,获得针对所述未标注样本的分类预测结果。
3.根据权利要求1所述的方法,其特征在于,当所述神经网络之中各层神经元所使用的激活函数为Relu;所述根据所述神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,包括:
获取所述神经网络的末层的输入层的神经元输出值;
选择输出值最大的前N个神经元标记为激活,其中,N为正整数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述样本类别和所述预判的类别调整所述神经网络的末层的权重,包括:
判断所述样本类别与所述预判的类别是否一致;
如果所述样本类别与所述预判的类别一致,则保持所述神经网络的末层的权重不变;
如果所述样本类别与所述预判的类别不一致,则根据所述样本类别和所述预判的类别,采用赫布理论Hebbian学习理论对所述神经网络的末层的权重进行修改。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在对所述神经网络之中尚未固定的各层的权重进行训练时,所述方法还包括:
在已有的激活函数的输出条件下,根据所述神经网络之中最新已更新权重的网络层的上一层神经元的输出状态,从所述上一层神经元中选取至少一个神经元设置为激活状态。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,用于实现如下步骤:
接收针对神经网络的输入信息,所述输入信息包括已标注样本,其中,所述已标注样本包括样本特征向量和样本类别;
在初步学习阶段,初始化神经网络的所有权重,并基于所述已标注样本进行前馈计算,获得所述神经网络之中最后一层的输出信息,并根据所述最后一层的输出信息计算预判的类别;
根据所述神经网络的末层的输入层的神经元输出状态设置至少一个已激活神经元,并根据所述样本类别和所述预判的类别调整所述神经网络的末层的权重,以确定所述末层的权重以形成初步记忆;
在回放预演阶段,重新初始化所述神经网络之中尚未固定的各层的权重,对于所述已标注样本在最新神经网络的基础上重新进行前馈计算,得到记忆预演的结果,并根据所述记忆预演的结果和所述样本类别调整所述神经网络之中尚未固定部分末层的权重,以确定所述神经网络之中尚未固定部分末层的权重;
重复所述回放预演阶段的步骤,直至所述神经网络之中所有层的权重均被固定,以完成所述神经网络的训练。
8.根据权利要求7所述的计算机设备,其特征在于,所述处理器还用于:
将已经完成训练的神经网络作为分类网络;
接收未标注样本;
将所述未标注样本输入至所述分类网络,获得针对所述未标注样本的分类预测结果。
9.根据权利要求7所述的计算机设备,其特征在于,所述处理器具体用于:
判断所述样本类别与所述预判的类别是否一致;
如果所述样本类别与所述预判的类别一致,则保持所述神经网络的末层的权重不变;
如果所述样本类别与所述预判的类别不一致,则根据所述样本类别和所述预判的类别,采用Hebbian学习理论对所述神经网络的末层的权重进行修改。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一所述的基于记忆回放的神经网络权重训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011635041.XA CN112766317B (zh) | 2020-12-31 | 2020-12-31 | 基于记忆回放的神经网络权重训练方法以及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011635041.XA CN112766317B (zh) | 2020-12-31 | 2020-12-31 | 基于记忆回放的神经网络权重训练方法以及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112766317A CN112766317A (zh) | 2021-05-07 |
CN112766317B true CN112766317B (zh) | 2022-10-04 |
Family
ID=75699666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011635041.XA Active CN112766317B (zh) | 2020-12-31 | 2020-12-31 | 基于记忆回放的神经网络权重训练方法以及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112766317B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113554081B (zh) * | 2021-07-15 | 2024-07-19 | 清华大学 | 模拟树突棘变化的神经网络架构的构建方法和装置 |
CN113589695B (zh) * | 2021-08-02 | 2023-11-10 | 郑州大学 | 基于记忆序列回放机制的机器人行为决策方法及设备 |
CN113688882B (zh) * | 2021-08-03 | 2024-09-06 | 清华大学 | 一种记忆增强的连续学习神经网络模型的训练方法及装置 |
CN113762402B (zh) * | 2021-09-14 | 2024-09-06 | 清华大学 | 基于小样本持续学习的图像分类方法、装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423745A (zh) * | 2017-03-27 | 2017-12-01 | 浙江工业大学 | 一种基于神经网络的鱼类活性分类方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6751235B2 (ja) * | 2016-09-30 | 2020-09-02 | 富士通株式会社 | 機械学習プログラム、機械学習方法、および機械学習装置 |
US20190378009A1 (en) * | 2018-06-12 | 2019-12-12 | Nokia Technologies Oy | Method and electronic device for classifying an input |
-
2020
- 2020-12-31 CN CN202011635041.XA patent/CN112766317B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423745A (zh) * | 2017-03-27 | 2017-12-01 | 浙江工业大学 | 一种基于神经网络的鱼类活性分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112766317A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112766317B (zh) | 基于记忆回放的神经网络权重训练方法以及计算机设备 | |
Taherkhani et al. | A review of learning in biologically plausible spiking neural networks | |
US11138503B2 (en) | Continuously learning and optimizing artificial intelligence (AI) adaptive neural network (ANN) computer modeling methods and systems | |
Rao | Decision making under uncertainty: a neural model based on partially observable markov decision processes | |
CN110310350B (zh) | 基于动画的动作预测生成方法和装置 | |
US8694449B2 (en) | Neuromorphic spatiotemporal where-what machines | |
Gross et al. | Generative character of perception: A neural architecture for sensorimotor anticipation | |
US20140222738A1 (en) | Agent-Based Brain Model and Related Methods | |
Mannella et al. | Know your body through intrinsic goals | |
US11119483B2 (en) | System and method for conscious machines | |
Norman et al. | Computational models of episodic memory | |
Hu et al. | Monitor-based spiking recurrent network for the representation of complex dynamic patterns | |
US20210178113A1 (en) | Systems and methods for audible sleep therapy | |
Pedersen et al. | Evolving and merging hebbian learning rules: increasing generalization by decreasing the number of rules | |
Najnin et al. | A predictive coding framework for a developmental agent: Speech motor skill acquisition and speech production | |
Tokuda et al. | New insights into olivo-cerebellar circuits for learning from a small training sample | |
Millidge et al. | Predictive coding networks for temporal prediction | |
Gosmann et al. | CUE: A unified spiking neuron model of short-term and long-term memory. | |
Vijayan et al. | A cerebellum inspired spiking neural network as a multi-model for pattern classification and robotic trajectory prediction | |
Bahmer et al. | Modern artificial neural networks: Is evolution cleverer? | |
Taeckens et al. | A biologically plausible spiking neural network for decoding kinematics in the hippocampus and premotor cortex | |
Kubo et al. | Combining backpropagation with equilibrium propagation to improve an actor-critic reinforcement learning framework | |
CN113554081B (zh) | 模拟树突棘变化的神经网络架构的构建方法和装置 | |
Ling et al. | A deep learning framework for lifelong machine learning | |
Wu et al. | The emergent-context emergent-input framework for temporal processing |
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 |