code:https://github.com/beijixiong3510/OWM
paper:https://www.nature.com/articles/s42256-019-0080-x
发表于Nature机器智能子刊
近年来,由于当前深度学习面向应用的局限性,连续学习或者叫终生学习获得了很多的关注。
摘要
深度神经网络是学习复杂但固定的输入和输出之间映射规则的强大工具,因此限制了它们在更复杂和动态的情况下的应用,在这种情况下映射规则不是保持不变,而是根据不同的情景(上下文)变化。为了克服这些限制,我们开发了一种包含学习算法的方法,称为正交权值修改,并添加了情景相关的处理模块。我们证明了通过正交权值修改来克服灾难性遗忘,以及情景相关的处理模块来学习如何重用特征表示和用于不同情景的分类器,单个网络可以在线连续地获取大量情景相关的映射规则,每个规则只需要学习大约10个样本。我们的方法应该使高度紧凑的系统能够逐渐地学习现实世界的无数规则,并最终在其中做出适当的行为。
正文
高水平智能的特点之一是灵活性[1]。人类和非人灵长类动物在不同的情境下对同一刺激的反应是不同的,例如不同的目标、环境和内部状态[2-5]。这种被称为认知控制的能力,使我们能够以一种情境依赖的方式,动态地将感官输入映射到不同的动作上[6-8],从而使灵长类动物能够在有限的行为指令下,在无限多的情况下做出适当的行为[9,10]。这种灵活的、情景相关的处理与当前人工深度神经网络(DNNs)中发现的处理方法有很大不同。DNNs在从原始感官数据中提取高级特征和学习用于模式检测、识别和分类的复杂映射规则方面非常强大。然而,在大多数网络中,输出在很大程度上是由感官输入决定的,表现出刻板的输入-输出映射,这种映射通常在训练完成后是固定的。因此,目前的DNNs缺乏足够的灵活性,无法在复杂的情况下工作,例如(1)映射规则根据上下文而变化,(2)这些规则需要在少量的学习试验中依次学习。这在目前的DNNs和灵长类大脑的能力上形成了巨大的差距。
在此,我们提出一种方法,包括正交权值修正(OWM)算法和上下文相关处理(CDP)模块,使神经网络能够以上下文相关的方式逐步学习各种映射规则。我们证明,使用OWM来保护先前获得的知识,网络可以连续学习多达数千种不同的映射规则,而不受强干扰,而且每个规则只需要大约10个样本即可学习。此外,通过使用CDP模块使上下文信息能够调制感官特征的表示,一个网络可以学习不同的,上下文特定的映射,甚至相同的刺激。综上所述,我们提出的方法可以在线连续地向单个网络教授大量上下文相关的映射规则。
实现灵活的情景相关处理的第一步是实现高效且可伸缩的连续学习,即按顺序学习不同的映射,每次一个。这种能力对人类和人工智能体都至关重要,原因有二:(1)可能的上下文太多,无法同时学习;(2)有用的映射不能预先确定,但必须在遇到相应上下文时学习。实现持续学习的主要障碍是传统的神经网络模型存在灾难性遗忘,即训练具有新任务的模型干扰先前学习的知识,导致先前学习任务的性能显著下降【12-15】。为了避免灾难性遗忘,我们提出了OWM方法。具体地说,当为新任务训练一个网络时,它的权值只能在正交于所有以前学习过的输入所张成的子空间的方向上进行修改(以下称为输入空间))(Fig. 1a and Supplementary Fig. 1)。这将确保新的学习过程不干扰以前学习任务,由于网络中的权重变化作为一个整体不与旧的输入交互。因此,结合梯度下降为基础的搜索,OWM可以帮助网络找到一个权重配置,保证学习任务性能不变的情况下,能够完成新的任务(Fig. 1b)。具体来说,这是通过首先构造一个投影来实现的,该投影用于找到与输入空间垂直的方向,其中矩阵
包含所有之前训练过的输入向量作为它的列:
,
是单位矩阵,
是一个较小的常数,
是
的转置。然后权值的学习性修正被
确定,这儿
是学习率,
是由标准反向传播(BP)计算的权重调整值。为了计算P,可以使用迭代法(参见方法部分)。因此,该算法不需要存储所有以前的输入
。相反,只需要最后一个任务的当前输入和投影。该迭代方法与递推最小二乘(RLS)算法(详见补充信息)有关,可用于训练前馈和递推神经网络,实现快速收敛,抑制混沌活动,避免连续加载之间的干扰。模式或任务。
我们首先在连续学习的几个基准任务上测试了OWM的性能。MNIST数据集的随机和不联合修改实验,其中涉及手写数字识别的不同任务需要按顺序学习(有关在该数据集中使用的数据集的详细信息,请参阅Methods和Supplementary Information)。研究在具有校正线性单元(relu)【23】的前馈网络上进行。OWM被用来训练整个多层网络。对于三个或十个任务打乱和两个任务不相交的实验,与其他连续学习方法相比,OWM在没有存储以前的任务样本或动态地向网络添加新节点的情况下获得了更好或同等的性能【22】【24–26】(Tables 1 and 2)。在更具挑战性的10个不相交任务和100个打乱任务实验中,与其他方法相比,OWM表现出显著的性能改进(Fig. 2 and Table 1)。有趣的是,对于更困难的持续学习任务,我们发现任务的顺序很重要。由于特定课程的成绩会受到之前所学课程的显著影响(Fig. 2),这表明课程学习是持续学习中一个潜在的重要因素。
检查是否OWM是可伸缩的,也就是说,是否可以应用到学习更复杂的任务,涉及许多不同的映射和复杂的输入,我们测试了网络学习的能力将成千上万的手写汉字(CASIA-HWDB1.1数据集)和自然图像(ImageNet数据集)。汉字识别任务共包含3755个汉字,构成一级词汇量,占书面汉语使用频率的99%以上【27】(Fig. 3a)。在这个任务中,一个特征提取器被预先训练来分析原始图像。将特征向量输入到owm训练的分类器中,学习特征组合与各个类的标签之间的映射关系。我们发现,使用OWM训练的分类器可以连续学习识别全部3755个字符,最终的准确率在~92%左右,接近人类识别手写汉字时的性能结果(~96%)【28】。考虑到人类多年来学习这些特征,而学习必然包含复习,这些结果表明,我们的方法赋予神经网络强大的能力,不断学习感官特征和类标签之间的新映射。IMAGENET数据集也得到了类似的结果,其中由OWM训练的分类器与预先训练的特征抽取器相结合,能够连续学习1000类自然图像(补充表1),最终精度接近训练所得的结果。同时对所有类别进行分类的系统。这些结果表明,通过使用OWM,系统在分类中的性能接近前端特征抽取器设置的极限,有效地减轻了连续学习本身对分类器的影响。
在上述结果中,我们使用在相应任务中经过完整训练集预训练的特征提取器为经过owm训练的分类器提供特征向量。接下来,我们检查分类器是否能够学习未训练特征提取器的类别。结果是肯定的,如图3b所示。例如,用500个随机选择的汉字训练的特征提取器(3755个,不到类别的15%)已经可以支持分类器连续学习剩下的3255个字符,接近80%,展示了网络可以连续地学习以前没有遇到过的新类别。
然而,我们注意到,更高的预训练程度与更好的性能相关(Fig. 3b,c),这表明了在尽可能多的不同类别上训练特征提取器的重要性。
另一个重要的问题是,经过owm训练的分类器学习的速度有多快。如图3c所示,学习新的映射只需要很小的样本量。对于汉字,每类<10个样本就足以获得满意的性能。与同一任务中的其他方法进行比较,进一步证实了OWM在训练样本较少的情况下取得更好性能的优势(见补充图2)。我们注意到,用较少样本的OWM获得更好的性能是基于一个众所周知的事实,即我们推导OWM的RLS算法比最小均方算法收敛得更快,后者相当于标准的反向传播【16】【19】.重要的是,网络性能的变化与正交投影器秩的降低高度相关,这与我们关于基于owm的连续学习中的网络容量的理论分析是一致的(详见Methods)。
在对汉字的实验中,有一种可能是,虽然一个类从来没有被网络看到过,但它与其他用于特征提取器预训练的类共享特征。因此,为了进一步测试OWM在没有预先训练的特征提取器的情况下继续学习的能力,我们在独立的加拿大高级研究所(CIFAR)-10数据集任务中检验了它的性能。在这个任务中,训练网络每次识别两个类;因此,在总共五个连续的任务中,它学会了识别所有的十个类。重要的是,整个网络,包括特征提取器和分类器,都以端到端方式不断地训练。在这项任务中,OWM比其他最近提出的持续学习方法表现出了更大的优势(表3),显示出极大的潜力,可以提高网络学习新课程的能力。虽然端到端训练设置的性能仍然低于预先训练的特征提取器,但这是消除DNNs的训练和应用阶段之间区别的重要一步,从而允许高效的在线学习。我们注意到一种使用预先训练的特征提取器的分类器的连续学习方法也可能有效。虽然给定域中的特征(例如人脸)的数量通常是有限的,但是组合不同特征形成新对象(例如单个人脸)的可能方法几乎是无限的。因此,给定预先训练在足够多的样本集上的特征提取器,分类器可以从不断学习识别无数的新类中获益。
虽然一个系统可以在线和连续地学习许多不同的映射规则是非常理想的,但是这样的系统不能独自完成情景相关的学习。
要做到这一点,语境信息需要与感官信息进行适当的互动。在这里,我们采用了一个灵感来自前额皮质(PFC)的解决方案。PFC接收感官输入和上下文信息,这使它能够选择与当前任务最相关的感官特征来指导行动【4】【5】【29】.为了模拟这种结构,我们在owm训练分类器之前添加了CDP模块,该模块同时提供了感知特征向量和上下文信息。CDP模块由编码器子模块和“旋转器”子模块组成,前者将上下文信息转换为适当的控制信号,后者使用控制信号来操纵感官输入的处理。编码器子模块是可训练的,并以OWM的方式学习。从数学上讲,情境相关操作是通过根据情境信息旋转感官输入空间来实现的((Fig. 4b, see Methods),从而在不干扰感官信息内容的情况下改变其表征。输入空间的旋转使得OWM可以应用于不同环境下相同的感官输入。为了验证该CDP模块的有效性,我们训练系统根据40个不同的属性对一组人脸进行分类【30】,也就是说,用相同的感官输入顺序学习40种不同的映射。上下文信息是对应任务名称的嵌入向量,这些向量被投射出来控制感官输入的旋转。:如图4c所示,系统用一个分类器依次学习了所有40种不同的、与上下文相关的映射规则。通过多任务训练,利用40个独立的分类器对网络的40个属性进行分类,其准确率与多任务训练非常接近。此外,与学习汉字的结果相似,该网络能够快速学习情景相关的处理。在这里,对于简单的任务(例如,男性vs女性)和困难的任务(例如,有吸引力的任务vs没有吸引力的任务),大约20张面孔都足以达到学习平台(图4e)。在实验中,与其他连续学习方法相比,我们的方法在样本更少的情况下取得了更好的性能,这表明它有潜力使系统能够在高度动态的环境中快速适应随情景变化的规则(补充图2b)。有趣的是,我们发现CDP模块能够从有噪声的情景输入中识别有意义的信号(补充图3和补充图)表4,参见任务详细信息的方法),并学习如何有效地使用情景信息(补充图4)。这些结果表明,我们的方法允许系统从经验中推断出正确的上下文信号并正确地使用它。重要的是,这种能力将为智能体打开探索环境的大门,并以自主的方式逐渐学习大量的规则。
讨论Discussion
如果我们把传统的DNNs看作是强大的感官处理模块,那么当前的方法可以理解为在系统中添加一个灵活的认知模块。这个结构的灵感来自于灵长类动物的大脑。例如,灵长类的视觉通路致力于分析原始的视觉图像,并最终在较高的视觉区域(如颞下皮层)表现出约100个特征【32】.然后,这个“功能提取器”的输出被发送到pfc进行对象识别和分类【33-35】。特征提取器的训练是一项费时费力的工作。在人类,高级视觉皮质需要数年甚至数十年的时间才能发育完全,并达到最佳表现。然而,有了足够发达的视觉皮质,人类可以快速地学习新的视觉对象类别,通常只需看到一些正样本。通过在基于神经网络的特征提取器中添加一个支持持续学习的认知模块,我们发现神经网络中存在定性相似的行为。也就是说,虽然特征提取器的训练在计算上比较困难,并且需要大量的样本,但是通过训练有素的特征提取器,可以快速地学习新的类别。这表明,人类快速概念形成背后的机制,至少在一定程度上,可以从连接主义的角度来理解。除了支持快速学习新概念外,灵长类PFC的另一个功能是表示情景信息【9】,并用它来选择与当前任务最相关的感官特征【4】。这使得灵长类动物的行为表现出了灵活性,在这里我们证明了类似的结构可以在人工神经网络中做同样的事情。有趣的是,我们发现在CDP模块中,神经元的反应对感觉特征、上下文及其组合表现出混合的选择性(补充图5),这与真实的PFC神经元类似【38】。因此,它将信息输入空间的旋转是否采用我们的CDP模块捕获操作进行真正的曼宁任务类似于上面的脸分类测试中,实现上下文相关的处理的一种可能的解决方案是为每个新任务添加额外的分类器输出/上下文。但是,这种方法只有在特征提取器和最终输出层之间没有隐藏层时才有效。否则,不同分类器输出之间的共享权值将在持续学习过程中遭受灾难性的遗忘,尤其是在输入对所有情景都相同的情况下。更重要的是,为每个新任务/上下文添加额外的分类器输出(以及所有相关的权重)将导致系统越来越复杂和庞大(图4d,左)。由于可能上下文的总数可能是任意大的,所以这种解决方案显然是不可伸缩的。最后,对于人工智能系统,CDP模块的重要性取决于应用。在一个紧凑的系统需要“随时”学习大量上下文的场景中(类似于人类个体在其一生中需要做的事情),由owm支持的CDP模块重用分类器的能力是至关重要的。
如本研究结果所示,有效且可扩展的持续学习算法不仅对于实现灵活的上下文相关处理至关重要,而且对于更一般地确保添加的认知模块能够在遇到新任务时学习也很重要。在持续学习中,在保持原有知识的同时保持后续学习的可塑性是关键【15】.在大脑中,用于不同任务的突触的分离对于连续学习是至关重要的【39】。这启发了算法的发展,以保护之前学习任务中涉及的重要权重,同时为新的任务训练网络【24】【26】.然而,这些“冻结”权重必然会降低系统的自由度,也就是说,它们减少了搜索能够同时满足新旧任务的配置所需的参数空间。然而,需要进一步的研究来研究类似于OWM的算法是否在大脑中实现。最近,有人提出一种反向传播算法的变体,即“概念辅助支持”(CAB),可以通过屏蔽梯度来防止以前学习任务的退化,从而实现持续学习【22】。通过构造正交投影仪,对梯度进行了更有效的屏蔽,使得OWM对之前获得的知识具有更好的保护,与CAB相比,在实验测试中获得了非常有竞争力的结果(see Tables 1 and 2, Fig. 2 and Supplementary Information for details)。上面提到的OWM和持续学习方法都是正则化方法【15】。与此类别中的其他方法类似,由于用于巩固以前任务的知识的资源有限,OWM在新旧任务的性能之间表现出一种平衡。与正则化方法不同,其他类型的持续学习方法包括动态地在学习过程中引入额外的神经元或层【40】。这可能有助于减轻上述折中【15】。但是,正规化方法不需要额外的资源来容纳训练期间新获得的知识,因此能够产生紧凑而通用的系统。
我们注意到最近提出了一种基于情景相关处理的持续学习解决方案【41】。在这项工作中,一个情景相关的门控机制被用来分离子网络,在持续学习过程中处理单个任务。然而,要使这种方法发挥作用,在培训和测试阶段都需要提供相同的情景信息。由于在实际情况中很少有这种信息,这严重限制了方法的适用性。与此不同的是,我们工作中的CDP模块使网络能够根据情景信息调整其处理,以便在不同的情景中对相同的输入进行不同的处理。这个角色与持续学习无关,因为即使系统是并行训练的,同样的任务也需要CDP模块,如图4所示。重要的是,作为情景信息,例如,环境提示、手头的任务等等,对于任何需要CDP的输入都是可用的,对于我们的CDP模块来说,使用上下文相关的门控来持续学习的局限性不是问题。
其他受生物学启发的持续学习方法是基于互补学习系统(CLS:complementary learning systems)理论【42】【43】。这类系统包括两个类似哺乳动物海马和新皮质的子系统之间的相互作用,即一个任务解决网络(新皮质)和一个生成网络(海马),以维持对先前任务的记忆【44】。在不遗忘学习方法的帮助下,将生成模块采样的旧任务数据与当前任务数据交叉,训练神经网络,避免灾难性遗忘。尽管在这里我们使用了完全不同的方法来进行持续学习,CLS框架也可能对我们的方法的进一步开发有帮助。目前,CDP模块的编码器能够从环境中推断上下文信息,并学习如何有效地使用它。可以想象,它可以进一步发展,以识别和分类复杂的情景。这种用于识别适当情景信号的灵活模块可能类似于大脑中的海马体(hippocampus),海马体(hippocampus)通过模式分离和完成对不同的环境线索进行分类【43】.因此,研究当前的方法是否可以与CLS框架相结合,以实现更灵活和更复杂的上下文相关处理,将为未来的研究提供有益的信息。
综上所述,我们的研究表明,连续地教授高度紧凑的网络许多情景相关的映射是可能的。虽然我们在这里用监督学习范式演示了它的有效性,但是OWM有潜力应用于其他培训框架。另一种克服灾难性遗忘的正则化方法,即弹性权重巩固法(EWC),已成功地应用于强化学习【24】。因为EWC在某些情况下可以看作是OWM的一个特例(见补充),建议在无监督的情况下,可以扩展类似的过程来使用OWM和CDP模块,从而使网络能够通过强化学习来学习不同情景的不同映射规则。我们期望这种方法,结合知识转移的有效方法【46】【49】,可能最终导致系统具有足够的灵活性,在复杂和动态的情况下工作。
理论Methods
The OWM algorithm.考虑一个层的前馈网络,层编号是
,
是输入层,
是输出层。在所有的隐藏层中,激活函数
被使用。
表示第
层和第
层之间的连接
。
和
分别表示第第
层输出和输入,这儿
,
。
,
,这儿,
和
分别表示输入和输出的维数。
在OWM中,在第层输入空间定义的正交投影
是连续学习克服灾难性遗忘的关键。在实际中,可以递归地为每个任务更新
,方法类似于在RLS算法中计算相关逆矩阵
(see discussion on relationship of OWM and RLS in Supplementary Information)。该方法允许根据当前输入和最后一个任务的
来确定
。它也避免了原
定义中的矩阵反运算。
下面我们提供了OWM方法的具体实施步骤。
(1)参数初始化:对,随机初始化
,设置
,这儿
是正则化常量。
(2)在第任务向前传播的第
个batch输入,然后传播损失和利用标准BP为权重
计算权重修改值
。
(3)更新每一层的权值矩阵
这儿,是预定义的学习率
(4)为下一个batch重复步骤2到3。
(5)如果第个任务已经完成,则依次在第
个任务中传播每ge batch输入的平均值
。
这儿,是第
层对第
个任务,第
个batch输入平均值的响应。
(6)为下一个任务重复步骤2到5。
我们注意到,如果按公式(2)对每个批次的正交投影进行更新,
采用
衰减,该算法可以获得相同的性能。此方法可以理解为将每个批处理视为不同的任务。它避免了步骤4中额外的存储空间和数据重载,因此显著加快了处理速度。如果
且
,该过程本质上是以增强反向传播的名义使用RLS对神经网络进行训练,这是为了提高训练的收敛速度,因此,我们的算法具有与增强反向传播相同的计算复杂度
,其中
是神经元总数,
shi 每个神经元的输入权重的数量。
The CDP module:在情境依赖学习中,为了在不改变不同情境下信息内容失真的情况下改变感知输入的表示,我们在特征提取器的输出层之后添加了一层神经元(cf. Fig. 4a)。下面,我们以人脸分类任务为例,从数学的角度描述这个CDP层的工作原理。
在该任务中,旋转子模块被赋予了不同人脸的特征向量,并由非负控制信号
调制。控制信号
由编码器子模块从情景信息(对应任务名称的字向量)中提取。 CDP模块输出
,这儿
,共分类器进一步处理。CDP模块的输入
在所有情景中被随机初始化和固定。CDP模块中其他的权值,包括输出权重
和编码器中的权值,均采用OWM方法进行训练。CDP模块的功能可以概括为
这儿代表element-wise乘法,
是
和
之间的角度,注意,对于任何
,
本研究采用ReLU函数作为
,但并不是必须的,也可以选择为双曲正切函数或逻辑函数作为
。由于
在大多数情况下是由Xavier method【50】初始化的,所以
位于线性范围内。因此,式(3)对于除ReLU外的激活函数近似成立。我们确认了相同任务的平均精度
图4c双曲正切函数(90.93%)和logistic函数(90.05%)与ReLU(90.38%)比较接近;所有三种激活功能均使用3000个神经元旋转层)。