通过将学习系统建模为纤维丛来实现连续学习

作者:Z. Cao
原文标题:Realizing Continual Learning through Modeling a Learning System as a Fiber Bundle
原文链接https://arxiv.org/abs/1903.03511

image001

导读

人类大脑天生就有一种叫做连续学习(Continual Learning)的能力,然而目前的主流神经网络存在一种叫做灾难性遗忘(Catastrophic Forgetting)的问题。所谓灾难性遗忘,即突然和充分地学习一套新的模式,会导致完全遗忘已经学习过的模式。这篇文章提出一种将学习系统看作一个纤维丛(Fiber Bundle)的通用学习模型。通过在一系列的机器学习的实验中将文章提出的模型与传统模型的学习能力进行对比,作者发现文章提出的模型不仅仅有着极佳的连续学习能力,而且具有很大的信息容量。此外,作者发现,在某些学习情景下,假如我们让模型能够对时间产生意识(类似于人类大脑的情景记忆机制),模型的连续学习能力能够进一步得到增强。最后,作者发现文章提出的模型的遗忘性质和人类记忆的遗忘性质有着很好的对应。这个工作或许能够增进我们对人类大脑学习机制的认识。

什么是纤维丛?

纤维丛是一种满足特定约束条件的映射。通俗地讲,纤维丛就像一把梳子:梳子上的每一根纤维根据某种相似性“扎根”在梳子的柄上的某个唯一的点上。从数学建模角度来看,纤维丛有一个特点,即它能有效而自然地同时对强关联和弱关联进行建模:我们可以用不同的纤维来表达两个事物的差异,而用它们在梳子柄上的位置来表达两个事物的相似性。此外,当一个函数(例如一个传统的神经网络)只在输入变量(数据)空间的某个局部有效时,用纤维丛来建模是极佳的选择。这些性质,正好适应于机器学习里连续学习的情景:不同任务的学习数据可能差异很大(弱关联),而同一任务的数据可能具有某种强的相似性(强关联);此外,适合处理任务A的神经网络,不一定适合处理任务B(即局部有效性)。关于纤维丛的数学定义,感兴趣的读者可以自行通过”Fiber Bundle”关键字查找维基百科。接下来,我们介绍文章所给出的模型的细节。

image003

一个简单的具有纤维丛结构的学习模型

文章给出了一个具有纤维丛结构的学习系统,该系统的概念示意图如下:

image005

上图中A图是传统的学习模型的示意图,B图是文章提出的学习模型的示意图。简单地来讲,我们可以看到,文章提出的学习模型对每个输入样本,根据某种学习得到的表征相似性的特征动态地生成一个理解器(interpretor)来处理该样本。相比而言,传统的学习模型,用同一个神经网络(或几个有限的神经网络组成的集群)来处理所有数据样本。

基于以上认识,作者提出了一个简单的纤维丛神经网络层 (A simple bundle layer),其公式表述摘录如下(更多细节读者可以参照原文):

image007

什么是情景框架(Context Frame)

通俗地讲,所谓的情景框架就是对一个事件(或一个观测数据)的特殊标记,类似于我们写记叙文的时间、地点、人物等等。又例如“英语”方面的知识和“数学”方面的知识具有明显的差异,那些一个特定领域(或学习任务)所特有的特征,也可以被认为是一种情景框架。这些情景框架,对于防止遗忘和长期记忆的形成有着至关重要的作用。试想一下,假如我们没有时间方面的觉知,那么我们所有关于个人人生阅历的记忆,将会是一团混乱。正因如此,文章作者给学习模型引入一个简易的“生物钟”(Bioclock),让模型对时间有所感知。

image009

该生物钟的数学表述如下:

image011

简单地将,其用某种周期性函数来对时间编码。编码之后,我们在后续的处理中对特定时刻下所观测到的数据增加一个该时刻的编码标记,然后与其他状态信息一同作为主神经网络的输入。之所以用周期性函数,是因为周期性函数可以很方便地将数值限定在一定的范围内,能够保证训练的稳定性(此外,也有可能能够捕捉数据里一些潜在的周期性规律)。

主要实验结果

1. 信息容量

首先,作者对所提出的模型以及传统的模型的信息容量进行了对比研究。实验结果如下如所示:

image013

简单地讲,作者通过将所提出的模型(Bundle)与由传统线性层简单堆砌而成的多层神经网络(Multilayer Peceptrons, MLP)在一组随机生成的训练数据上进行对比训练,发现尽管完成相同的训练次数(Epochs)Bundle模型耗时增加了2-4倍,但是1. 达到相同的训练精度,Bundle模型比MLP模型所需时间更短,2. 相同的训练参数数目的情况下,Bundle模型能够达到更高的收敛精度。这些暗示着Bundle模型具有更高的信息容量。

2. 连续学习能力

然后,作者通过一系实验对文章所提出的模型以及传统的模型的连续学习能力进行了对比测试。实验结果如下图所示:

image015

简单地来讲,作者将本文提出的模型(Bundle)与传统模型(MLP)在连续学习任务(依次学习10个不同的数据集)中的表现进行对比发现:

1) MLP模型学了新任务就几乎把旧任务忘得精光,即便增加重复学习的次数,也不顶什么用;然而 Bundle模型灾难性遗忘明显比MLP低,能够有效地进行跨任务连续学习,并且如果我们允许模型少次重复学习已经学过的任务,Bundle能够很明显地改进学习的效果。(图A、B)

2)Bundle模型抗干扰能力极强:当我们用随机噪音数据对已经训练好的模型进行干扰时,MLP很快就把学的东西忘记得精光,而Bundle模型的遗忘要明显地比MLP慢。(图C)

3)两个模型的遗忘曲线与心理学、认知科学里观测到的人类遗忘曲线很相似(图C);此外间歇性重复学习(learning with spaced repetition)能够有效减少学习所需时间,特别是Bundle模型(图D)。这些结果和认知科学里的实验结果很好地吻合。

3. 增强学习中的应用

最后,作者将所提出的模型在增强学习任务中进行了对比测试。实验结果如下图所示:

image017

简单地来讲,文章把 MLP 和 Bundle 在两个经典的增强学习任务里(LunarLander-v2的动作空间是离散的,Pendulum-v0 的动作空间是连续的)进行了对比测试。前人的研究表明,为了达到较好的学习效果,我们有必要引入经验重演(experience replay);而对于动作空间是连续的情况,我们则更是需要引入一个缓慢更新的目标神经网络(target network)来保证训练稳定性。作者为了测试 Bundle 超强的连续学习的能力是否能够帮助增强学习算法避免这些额外的需求,对比研究了两个模型在不允许经验重演、允许一定程度的经验重演、以及没有目标神经网络的情况下的表现。作者发现:

1)Bundle 模型学习速度要明显快于 MLP 模型,并且有更大概率收敛到更好的结果。特别是对于动作空间连续的情况,当不引入 target 网络时,MLP 模型几乎不能学习(即便增加经验重演所需要的缓存记忆大小也无济于事),而 Bundle 模型却可以轻易地进行学习。

2)当经验重演受到明显限制时,MLP 模型呈现出明显的周期性的遗忘,而 Bundle 模型则能持续地进步。

3)增加经验重演所用的缓存大小,能够有效地改善 Bundle 模型的学习效果。然而,作者认为,并非缓存越大就越好,有时候有选择性地继承和遗忘比什么都记住在学习上能更有效率。

4)在所测试的任务中,引入生物钟能进一步改善学习的效果,尽管作者认为是否需要引入对时间的感知需要具体情况具体分析。

结束语

作者认为模型的连续学习能力对于实现强人工智能至关重要;然而目前这项工作还很初步,还有很多开放性课题有待探讨。例如,大脑是如何从生物学、解剖学角度实现文章所示拓扑结构的功能的?基于目前提出的模型,我们是否可以进一步研究如何选择性地遗忘,以治愈各种因不好的记忆而形成的心理疾病?我们是否以让机器具有人类的多种感官,并基于本文提出的模型拓扑,构建一个神经网络,同时处理多渠道的信息,以自动对他们的相关性进行描述?是否有比纤维丛更合适描述人类大脑学习系统的结构……

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s