带你读《终身机器学习(原书第2版)》之一:引言

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
简介: 终身学习的目标就是模仿人类的这种学习能力,因为一个没有持续学习能力的AI系统不能算作真正的智能。本书介绍终身机器学习这种高级机器学习范式,该范式通过积累过去的知识持续地学习,并将所学到的知识用于帮助在未来进行其他学习和解决问题。本书适用于对机器学习、数据挖掘、自然语言处理或模式识别感兴趣的学生、研究人员。

智能科学与技术丛书
点击查看第二章
点击查看第三章
终身机器学习(原书第2版)
Lifelong Machine Learning,Second Edition

image.png

[美] 陈志源(Zhiyuan Chen)
刘 兵(Bing Liu) 著
陈 健 译

第1章 引  言

机器学习(ML)已经成为促进数据分析和人工智能(AI)发展的重要工具。最近深度学习取得的成功促使机器学习上升到了一个新的高度。机器学习算法已经应用于计算机科学、自然科学、工程学、社会科学以及其他学科的几乎所有领域,实际应用甚至更为广泛。如果没有有效的机器学习算法,许多行业不会存在,也不会得到快速发展,例如,电子商务和Web搜索。然而,目前的深度学习范式还存在缺陷。在这一章中,我们首先讨论传统的机器学习范式及其缺点,然后介绍终身机器学习(Lifelong Machine Learning,或简称终身学习(LL)),这是一个以建立像人类一样学习的机器为最终目标,能够克服目前机器学习缺点的新兴和极有潜力的方向。

1.1 传统机器学习范式

目前主流的机器学习范式是在一组给定的数据集上运行机器学习算法以生成一个模型,然后将这个模型应用到真实环境的任务中,监督学习和无监督学习都是如此。我们称这种学习范式为孤立学习(isolated learning),因为这种范式不考虑其他相关的信息和以前学过的知识。这种孤立学习的主要问题在于,它不保留和积累以前学习的知识,无法在未来的学习中使用这些知识,这与人类的学习过程存在鲜明的对比。人类从来都不会孤立地或者从零开始学习,我们始终保留过去已经学到的知识,并将其用于帮助未来的学习和解决问题。如果不能积累和使用已学的知识,机器学习算法往往需要大量的训练样本才能进行有效的学习。这个学习环境通常是静态的和封闭的。对于监督学习而言,训练数据的标签通常需要手工完成,这是一项非常消耗精力和时间的工作。由于这个世界存在许许多多可能的任务,非常复杂,因此,为了让一个机器学习算法进行学习而为每一个可能的任务或应用标记大量的样本几乎是不太可能的事情。更为糟糕的是,我们身边的事物总是在不断变化,因此,标记工作也需要持续进行,这对我们来说是一项艰巨的任务。即使是无监督学习,在很多情况下收集大量的数据也是比较困难的事情。
相比而言,人类的学习方式完全不同。我们从过去的任务中积累并保留知识,并无缝地使用这些知识来学习新的任务和解决新的问题。这就是为什么每当遇到新的情况或问题时,我们可能发现它的很多方面都不是第一次出现,而是在过去的一些场合就已经碰到过。当面对一个新的问题或一个新的环境时,我们能够运用先前所学的知识来处理新的情况,并且从中总结经验和吸取教训。久而久之,我们学到的东西越来越多,变得越来越有知识,学习效率越来越高。终身机器学习的目标就是模拟人类学习过程和学习能力,这种类型的学习方式是相当自然的,因为我们周边的事物都是密切相关且相互连通的。了解某些学科的知识有助于我们理解和学习其他学科。例如,对于一部电影,我们不需要像机器学习算法一样在网上抓取1000条正面评论和1000条负面评论作为训练数据,才能建立一个准确的分类器来对这部电影的正面评论和负面评论进行分类。事实上,对于这项任务,我们甚至不需要一个单独的训练样本就可以完成分类。我们是怎么做到的呢?原因很简单,对于用来赞美或者批评事物的语言表达,我们过去已经积累了足够多的这方面的知识,就算这些赞美或批评并没有出现在评论语句中,我们也能正确地分类。有趣的是,如果我们没有这样的先验知识,人类可能无法在较短的时间内通过这1000条正面评论和1000条负面评论来建立一个好的分类器。例如,如果你不懂阿拉伯语,而别人给你提供2000条已标识的阿拉伯语评论,并要求你手动构建一个分类器,在没有翻译的情况下,你几乎是做不到的。
为了在更具一般性的意义下讨论这个问题,我们使用自然语言处理(NLP)作为例子。很容易看出终身学习对自然语言处理的重要性,这有以下几个原因:首先,单词和短语在所有领域和所有任务中几乎都具有相同的含义;其次,每一个领域中的语句都遵循相同的语法和句法;最后,几乎所有的自然语言处理问题都是彼此密切相关的,这意味着这些问题是内联的,并且在某种程度上相互影响。前两个原因保证了已学的知识可以跨领域和跨任务使用,因为这些知识具有相同的形式、含义和语法,这就是人们在进入一个新应用领域时不需要重新学习语言(或者学习一门新的语言)的原因。例如,假设我们从未研究过心理学,而我们现在想要研究它,那么除了心理学领域的一些新概念之外,我们并不需要学习心理学文本中使用的语言,因为关于语言本身的一切都与其他领域相同。第三个原因确保终身学习可以应用到不同类型的任务中。例如,命名实体识别(NER)系统已经识别出iPhone是一个产品或实体,并且数据挖掘系统已经发现每一个产品都有价格和形容词“昂贵”来描述实体的价格属性。然后,从句子“iPhone的图像质量很好,但它相当昂贵”中,我们可以安全地提取出“图像质量”作为iPhone的特征或属性,并且在先验知识的帮助下检测出 “它”是指iPhone而不是指图像质量。习惯上,这些问题是孤立解决的,但是它们是相关的,而且可以互相帮助,因为一个问题的结果对于其他问题是有用的。这种情况对于所有的自然语言处理任务都是普遍的。请注意,我们把从未知到已知的任何事物都看作知识。这样,一个学习模型是知识,运用这个模型获得的结果同样也是知识,尽管这是两种不同类型的知识。例如,iPhone作为一个实体以及图像质量作为iPhone的一个属性是两种不同类型的知识。
实现和能够利用跨领域的单词和词组的共有特性以及任务之间的内在关联还不够。为了有效地帮助新任务进行学习,通常还需要大量的知识储备,因为从过去的任务中获得的知识只是很少一部分,这部分知识甚至无法适用于新任务(除非两个任务非常相似)。因此,从大量不同的领域学习以积累各种知识是非常重要的。未来的任务可以从过去学过的知识中挑选合适的知识来帮助其学习。正因为这个世界随时都在变化,所以学习也是一个持续或者终身的过程,就像人类学习一样。
虽然我们使用自然语言处理作为例子,但这其中的一般道理对于任何其他领域都是适用的,因为世间万物都是彼此联系的。没有什么事物与任何其他事物毫不相关。因此,在某些领域已经学到的知识可以应用到另一些领域的相似场景当中。传统的独立学习范式无法达到终身学习的效果。如上所述,这样的范式只能适用于封闭环境中狭隘和受限的任务,这对于建立一个不断学习以接近人类智能水平的智能系统仍然是不够的,终身学习旨在这个方向上取得进展。随着机器人、智能个人助理、聊天机器人的普及,终身学习变得越来越重要,因为这些系统都必须与人或其他系统交互,在千变万化的环境里通过这些交互过程不断地学习,并存储已学知识,从而随着时间的推移学到更多知识,能够更好地运作。

1.2 案例

在上一节中,我们从人类学习和自然语言处理的角度阐述了终身学习的出现动机。在这一节中,我们将使用一些具体的例子(如情感分析、无人驾驶汽车和聊天机器人)来更进一步说明终身学习。我们研究终身学习的最初动机实际上源于几年前在一家初创公司中对情感分析(SA)的广泛应用。一个情感分析系统需要执行两个主要任务:第一个任务通常称为特征提取,目的是从类似在线评论的意见文档中发现实体(例如,iPhone)以及实体的属性或特征(例如,电池寿命)。这些实体和实体属性在情感分析中通常称为特征(aspect)。第二个任务是判断关于特征(实体或者实体属性)的意见是正面的、负面的还是中性的[Liu,2012,2015]。例如,从句子“iPhone 真的很酷,但是它的电池寿命很糟糕”中,情感分析系统会发现作者对iPhone持肯定的态度,但是对电池寿命的态度却是负面的。
这样的应用场景主要有两类:第一类是分析关于某个特定产品或者服务(或者少量产品或服务)的消费者评价,例如,iPhone或者某个酒店。这类应用是高度集中的,通常也不困难。第二类是分析消费者对于大量产品或服务的评价,例如,关于Amazon或Best Buy网站上销售的所有产品的评价。虽然和第一类应用场景相比,第二类应用场景只是产品或服务数量上的变化,但实际上却引发了质变,因为应用于第一类应用场景的技术可能不适用于第二类应用场景。下面让我们看看监督学习和无监督学习方法是如何执行这些任务的。
首先,我们来分析监督学习方法。对于第一类应用场景而言,花费一些时间和精力来对大量数据进行标记以便完成特征提取和情感分类是合理的。值得注意的是,这些都是不同类型的任务,因此也需要不同类型的标签或注释。通过已标记的训练数据,我们可以在不同的机器学习模型上进行实验、调整参数和设计不同特征,从而为特征提取和分类建立一个良好的模型。因为我们只需处理一种产品或服务的意见,所以这种方式是比较合理的。对于无监督学习方法,常用的做法是使用人工编译的语法规则来提取特征。对于情感分类,常用的做法是使用一组情感词和短语(例如,好、坏、漂亮、劣质、恐怖和糟糕)以及句法分析来判断情感。虽然这些方法被称为无监督学习,但并不能完全脱离具体领域。在不同的领域里,因为人们表达意见的方式可能不同,所以提取规则也会不同。对于情感分类来说,一个单词在一个领域的特定语境中是正面的,但是在另一个领域中却有可能是负面的。例如,对于“安静”这个词,句子“这辆车很安静”在汽车行业中是一个正面的评价,但是句子“这个耳机很安静”在耳机行业里却是负面的评价。还有其他一些难题[Liu et al.,2015b]。如果只需处理一个或两个领域(产品或服务),我们就可以花费时间手工制定规则,并识别那些特定领域的情感表达,以便建立准确的提取和分类系统。
然而,对于第二类应用场景,监督方法和无监督方法都存在问题,因为它们无法扩展。Amazon.com上可能会销售数十万甚至更多不同种类的产品,为每一种产品标记大量的数据是一项艰巨的任务,更不用说随时都有可能推出新的产品。众所周知,一个领域中标记的训练数据不适用于另一个领域。虽然迁移学习对此有所帮助,但也不一定准确。更糟糕的是,迁移学习往往需要使用者提供相似的源领域和目标领域,否则可能导致负向迁移,并产生较差的结果。虽然众包也可用于标签,但是标签数据的质量难以保证。更重要的是,网上销售的大部分产品没有足够多的评论来构建准确的分类器或提取器。无监督学习方式也同样存在此类问题。每种类型的产品都不同,手工提取规则并通过特定于领域的情感极性来识别情感词也是一项几乎不可能完成的任务。
虽然传统机器学习方法很难应用于第二类应用场景,但这并不意味着没有解决方案。在为初创公司的客户开展过多个项目之后,我们发现跨领域(或不同类型的产品)的特征提取和情感分类有大量的知识共享。随着我们观察越来越多的产品评论,新的事物越来越少。很显然,各个领域具有相同的情感词组和表达(例如,好、坏、贫穷、糟糕和昂贵),也有大量的共有特征(实体和属性)。例如,每一个产品都具有价格属性,大多数电子产品都有电池,很多还有电子屏幕。不采用这些共有特性来大幅度提高情感分析的准确度,而是单独处理每一类产品的评论,是不可取的做法。
这种经验和直觉促使我们试图找到一种系统的方法来利用过去学到的知识。终身学习正是这种自然而言的选择,因为它是一种持续学习、保留过去学到的知识,并利用积累的知识帮助未来学习和解决问题的范式。终身学习可以直接应用于情感分析的监督方法和无监督方法中,并使情感分析可以扩展到非常多的领域。在监督方法中,我们不再需要大量标记的训练样例。许多领域甚至已经不再需要训练数据,因为它们可能已经被其他过去的领域覆盖了,而且这些相似领域是自动发现的。在无监督方法中,借助知识的共享,系统将获得更准确的提取和情感分类,同时也有助于自动发现特定领域中单词的情感极性。我们将在本书介绍一些相关的技术。
有趣的是,终身学习的这种应用引发了两个关键问题,即知识的正确性和适用性。在对某个特定领域使用过去已学的知识之前,需要确保这些知识是正确的。如果这些知识是正确的,还必须保证它们适用于当前领域。如果这两个问题处理不好,在新领域中产生的结果可能会变得更糟糕。在本书后面的章节里,我们将讨论在监督和无监督学习的环境中解决这些问题的一些方法。
在无人驾驶汽车领域,也同样存在这类问题。学习驾驶有两种基本方法:基于规则的方法和基于学习的方法。在基于规则的方法中,很难制定出覆盖所有路面驾驶场景的规则,基于学习的方法也存在类似的问题,因为道路环境是动态变化而且非常复杂的。我们以感知系统为例,为了使感知系统能够检测和识别出道路上的各种事物,以便预测潜在的障碍和危险情况,仅仅使用经过标记的训练数据来训练系统是非常困难的。我们非常希望系统能够在驾驶期间进行持续学习,并且在该过程中识别从未见过的事物并学习识别它们,还可以通过运用过去的知识和周围环境的反馈来学习这些事物的行为以及对车辆的危险程度。例如,当汽车在道路上发现一个前所未见的黑色斑块时,它必须首先意识到这是一个从未见过的事物,然后逐渐学习识别它,并评估它的危险系数。如果其他汽车已经从这个黑色斑块上面开过去(环境反馈),这意味着这个黑色斑块不存在危险。事实上,汽车可以从路上其他来往的车辆中学习到很多知识。这种学习过程是自我监督(没有外部手动标记数据)并且永远不会结束。随着时间的推移,汽车将越来越有知识,而且越来越智能。
最后,我们使用聊天机器人的发展来进一步说明终身学习的必要性。近年来,聊天机器人变得越来越受欢迎,它们被广泛应用在执行目标导向的任务(比如协助消费者购物、预订机票等)上,还可以通过开放式聊天为人们减压。目前已经上市了大量的聊天机器人,还有一些正在开发中,许多研究人员也在积极研究聊天机器人技术。但是,目前的聊天机器人仍然存在一些重要的缺陷,由此限制了其应用范围,其中一个严重的缺陷是它们无法在聊天的过程中学习新知识,即它们的知识是事先设定好的,无法在聊天过程中自动扩展或更新,这与人类的聊天对话截然不同。人类通过交谈可以学到很多知识,我们既可以从别人的言语中学习,也可以在自己不明白的时候通过向别人询问来进行学习。例如,每当我们在别人的问题或者谈话中听到未知的概念时,在回答这个问题或对此谈话做出反应之前,我们会尽力收集关于这个未知概念的信息,并通过长期记忆中的相关知识进行推理。为了收集信息,我们通常会对交谈者提问,因为通过与他人互动来获取新知识是人类的基本技能。新获取的信息或知识不仅有助于完成当前的推理任务,还对未来的推理任务有用。因此,我们的知识会逐渐增加。随着时间的推移,我们变得越来越博学,越来越善于学习和交流。自然地,聊天机器人也应该具备这种终身学习或持续学习的能力。在第8章中,我们将看到让聊天机器人在对话中学习的一个新尝试。

1.3 终身学习简史

终身学习(Lifelong Learning,LL)的概念是在1995年左右由Thrun和Mitchell[1995]提出的。从那以后,终身学习就开始向几个不同的方向发展,我们将在下面对每一个研究方向进行简单介绍。
1.终身监督学习。Thrun[1996b]首先研究了终身概念学习,其中每一个先前任务或新任务都使用二元分类法来识别一个特定的概念或类,并在基于记忆学习和神经网络的范围内提出了一些终身学习技术。Silver 和 Mercer[1996,2002]以及Silver等人[2015]改进了神经网络方法。Ruvolo和Eaton [2013b]提出了高效终身学习算法(Efficient Lifelong Learning Algorithm,ELLA)来改进Kumar等人[2012]提出的多任务学习(Multi-Task Learning,MTL)方法,其中学习任务是彼此独立的。Ruvolo和 Eaton [2013a]也在活动任务选择的环境中考虑了终身学习。Chen等人[2015]在朴素贝叶斯(NB)分类的范畴内提出了终身学习技术。Pentina和Lampert [2014]在PAC学习框架下完成了终身学习的理论研究。Shu等人[2017b]在模型应用或测试过程中提出了一个改进条件随机场(CRF)模型的方法,这有点类似于在工作中学习,在其他现有模型中是无法实现的。Mazumder等人[2018]沿着人机对话的方向进行研究,使聊天机器人能在对话过程中持续学习新知识。
2.深度神经网络中的持续学习。在过去的几年里,随着深度学习的普及,许多研究人员都在研究在深度学习背景下持续学习一系列任务的问题[Parisi et al.,2018a]。值得注意的是,终身学习在深度学习社区中也被称为持续学习 (continual learning)。对于深度学习中的持续学习来说,其主要动机是在学习一系列任务的过程中解决灾难性遗忘(catastrophic forgetting)的问题[McCloskey and Cohen,1989]。重点是在同一个神经网络中逐渐学习每一个新任务,而不会导致神经网络忘记已经在过去任务中学到的模型。关于如何利用过去已学到的知识帮助更好地学习新任务,人们也做了一些工作。而其他终身学习方法则强调利用过去已学知识来帮助进行新学习。
3.开放学习。传统的监督学习存在封闭世界假设(closed-world assumption),即假设测试实例的分类一定在训练中见过[Bendale and Boult,2015;Fei and Liu,2016]。这种方法不适用于开放且动态环境下的学习,因为这种环境下总会出现新的事物。也就是说,在模型测试或应用中,可能会出现一些从未出现过的实例。开放学习正是用于解决这种情况的[Bendale and Boult,2015;Fei et al.,2016;Shu et al.,2017a]。也就是说,开放环境下的学习者必须能够建立这样的模型,能在测试或模型应用过程中检测出从未出现过的类别,并且还可以基于新类和旧模型持续地学习新的类别。
4.终身无监督学习。该领域的论文主要是关于终身主题建模和终身信息提取的。Chen和Liu [2014a,b] 以及Wang等人 [2016]提出了几种终身主题建模技术,可以从许多先前任务产生的主题中挖掘知识,并用这些知识来帮助新任务产生更好的主题。Liu等人[2016]在观点挖掘的范围内为信息提取提出了一种基于推荐的终身学习方法。Shu等人[2016]提出一种终身松弛标记法来解决无监督分类问题。这些技术都是基于元级别挖掘,即跨任务挖掘共享知识。
5.终身半监督学习。这方面的代表是NELL(Never-Ending Language Learner)系统[Carlson et al.,2010a;Mitchell et al.,2015],该系统自2010年1月以来一直从Web中提取信息,已经积累了数百万的实体和关系。
6.终身强化学习。Thrun和Mitchell [1995]首先提出了一些用于机器人学习的终身学习算法,这些算法试图获取每一个单独任务的固定知识。Tanaka和 Yamamura [1997]将每一个环境视为终身学习的一个任务。Ring [1998]提出一种连续学习智能体,旨在通过学习简单任务来逐步解决复杂任务。Wilson等人[2007]在马尔可夫决策过程(Markov Decision Process,MDP)的框架下提出了一种分层贝叶斯终身强化学习方法。Fernández和Veloso [2013]致力于多任务环境中的策略重用。Deisenroth等人[2014]提出了一种跨任务泛化的非线性反馈策略。跟从ELLA 思想[Ruvolo and Eaton,2013b],Bou Ammar等人 [2014]提出了一种高效策略梯度的终身学习算法,这项工作进一步促进了跨领域的终身强化学习[Bou Ammar et al.,2015a]和基于安全约束的终身强化学习[Bou Ammar et al.,2015c]。
终身学习在其他领域也有应用。Silver等人[2013]在AAAI 2013春季研讨会上发表了早期终身学习研究报告。
正如我们看到的那样,虽然终身学习在20年前就已经被提出来,但是该领域的研究并不广泛。原因很多,其中一些原因如下。第一,在过去20多年里,机器学习研究一直专注于统计和算法。终身学习通常需要一种结合了多个组件和学习算法的系统方法,而系统的学习方法并不受欢迎。这可以在一定程度上解释虽然终身学习研究不流行,但与它紧密相关的迁移学习范式和多任务学习却已得到广泛的研究,因为它们可以通过统计和算法的方式完成。第二,过去的机器学习研究和应用大多都集中在使用结构化数据的监督学习上,这对于终身学习而言是比较困难的,因为多任务或领域之间的共有知识很少。例如,从贷款申请的监督学习系统中学到的知识很难在健康或教育之类的应用中使用,因为这些领域没有太多的共同点。此外,大多数监督学习算法只生成一个模型或分类器,不产生其他额外知识,这就使得即使在相似领域内也很难使用其他分类任务的先验知识。第三,许多有效的机器学习方法,如SVM和深度学习,都无法简单地使用先验知识,即使这些知识已经存在。这些分类器就像黑盒子,很难分解或解析。它们往往使用更多的训练数据来得到更准确的模型。第四,像迁移学习和多任务学习这类相关领域能够流行起来的原因是它们通常只需少数几个相似任务或者数据集,并不需要保留显性知识。另一方面,终身学习需要更多先前的任务和数据来学习和积累大量的显性知识,以便在新任务学习时能够挑选出合适的知识,这与人类的学习非常类似。如果一个人没有大量的知识储备,他就很难学到更多的知识。一个人拥有的知识越多,他就越容易学习。例如,小学生几乎不可能学习图模型,即使是成年人,如果他没有学过概率论,那么他也不可能学习图模型。
考虑到这些因素,我们认为终身学习的一个较有前景的领域是自然语言处理,正如我们前面讨论的那样,自然语言处理在领域和任务之间广泛地共享知识,任务内部的联系也比较紧密,可使用的文本数据也很充足。终身监督学习、无监督学习、半监督学习以及强化学习都可以应用于文本数据。

1.4 终身学习的定义

终身学习的早期定义[Thrun,1996b]如下:假设在任一时间点,系统已经学习了N个任务,在遇到第N+1个任务时,系统能够利用前N个任务中学到的知识来帮助学习第N+1个任务。我们通过给出更多的细节和附加特征扩展这个定义。第一,增加一个显性知识库(Knowledge Base,KB)用于保存从以前的任务中学到的知识。第二,系统应具备在模型应用过程中发现新学习任务的能力。第三,还应具备边工作边学习(即在工作中学习)的能力。
定义1.1 终身学习(Lifelong Learning,LL)是一个持续学习的过程。在任一时间点,学习器已经执行了N个学习任务T1,T2,…,TN,这些任务也被称为先前任务(previous task),并且有各自对应的数据集D1,D2,…,DN。这些任务可以是不同类型(type),也可属于不同领域(domain)。当遇到第N+1个任务TN+1(被称为新任务或者当前任务)和其对应的数据集DN+1时,学习器可以利用知识库中的历史知识来帮助学习TN+1。这个任务可以是给定的,也可以是系统自身检测出来的(这将在后面进行介绍)。终身学习的目标通常是优化新任务TN+1的性能,但是它可以通过将其余任务视为先前任务来优化任何任务。知识库维护先前学习到的知识,并通过学习先前任务来进行知识积累。当完成学习TN+1后,根据从TN+1中学习到的知识(例如,中间和最后的结果)对知识库进行更新。这种更新包括更高层次知识的一致性检查、推理和元挖掘。理想的情况下,一个终身学习器应该具有以下功能:
1.在开放环境下学习和运作,不仅可以运用学到的模型和知识来解决问题,而且还能发现要学习的新任务
2.在应用和测试已学模型的过程中学会优化模型性能。这就像是职业培训之后,我们应会边做边学来提升工作技能
可以看到,这个定义既不正式也不具体,因为我们对于终身学习这个新兴的领域的理解还是有限的。例如,研究界还无法正式定义知识。我们相信终身学习的定义保留在概念层面会更好,而不必将其固定或形式化。显然,这并不妨碍我们在解决特定的终身学习问题时给出一个形式定义。下面我们给出一些额外的附注。

  1. 这个定义表明终身学习具有五个关键特性:
    (a) 持续学习过程

(b) 知识库中的知识积累和保存
(c) 使用积累的已学知识帮助未来学习的能力
(d) 发现新任务的能力
(e) 边工作边学的能力
这些特性使得终身学习区别于其他相关的学习范式,如迁移学习[Jiang,2008;Pan and Yang,2010;Taylor and Stone,2009]和多任务学习[Caruana,1997;Chen et al.,2009;Lazaric and Ghavamzadeh,2010],它们都不同时具备以上特性。我们将在第2章中详细介绍这些相关的学习范式以及它们与终身学习的不同之处。
如果不具备这些特性和能力,机器学习系统就无法在动态开放的环境下自学,也就无法真正实现智能化。所谓的开放环境,是指应用环境可能包含之前没有学习过的新事物和场景。例如,我们想要为酒店开发一个迎宾机器人。在机器人已经学会识别所有已入住酒店客人之后,当它看到一个已识别过的客人时,它应该能够叫出客人的名字并与客人聊天。并且,它还应能检测出之前未见过的新客人,在看到一个新客人时,它可以打招呼,询问客人的名字,给客人拍照并学会识别这个客人。当它再见到这个客人时,它就可以叫出客人的名字,并且像老朋友一样聊天。无人驾驶汽车的真实道路环境则是另一个比较典型的动态开放环境。

  1. 既然在终身学习中知识是日渐积累并使用的,这个定义就促使我们思考先验知识及其在学习过程中所起的作用。因此,终身学习将人工智能的许多方面引入机器学习中,例如,知识的表示、获取、推理和存储。事实上,知识是一个核心规则,它不仅能帮助促进未来的学习,还能帮助收集和标记训练数据(自我监督学习),并检测要学习的新任务以实现学习的主动性。数据驱动学习和知识驱动学习的结合很可能就是人类学习的全部。目前的机器学习几乎全部集中在数据驱动的优化学习上,这是我们人类不擅长的。相反,我们非常善于利用过去所学到的知识。众所周知,对于人类而言,懂的越多,学到的就越多,也更容易进一步学习。如果我们什么都不懂,那么学习其他东西就很困难。因此,对机器学习的研究应该更多地关注知识,并建立像人类一样学习的机器。
  2. 我们区分两种不同类型的任务:
    (a) 独立任务:每个任务Ti都与其他任务相互独立。这意味着每个任务是单独进行学习的,尽管任务之间可能是相似的,也可能共有一些潜在的知识结构,可以利用从先前任务中学到的知识来学习Ti。

(b) 依赖任务:每个任务Ti在一定程度上依赖于其他任务。例如,在开放学习中(第5章)[Fei et al.,2016]中,每个新的监督学习任务都为先前的分类问题添加一个新类,然后需要构建一个新的多类分类器来对所有先前和当前的数据进行分类。

  1. 这些任务不一定来自相同的领域。值得注意的是,还没有一个文献对领域(domain)做出统一的定义,使之能够适用于所有领域。在大多数情况下,非正式地使用该术语时,是指一个具有固定特征空间的环境,其中可以存在相同类型或不同类型的多个任务(例如,信息提取、指代消解以及实体链接)。一些研究人员甚至交替使用“领域”和“任务”,因为在他们的研究中每个领域只有一个任务。基于此,我们在本书的很多地方也互换使用这两个概念,但在需要时会将其区分开来。
  2. 向新任务的转变可以突然或逐渐发生,并且这些任务及其数据不必由外部系统或客户提供。理想状态下,终身学习器还应该能够在与人和环境交互时找到自己的学习任务和训练数据,或使用先前学到的知识来实现开放世界和自我监督的学习。
  3. 这个定义表明终身学习是一个系统方法,需要结合多个学习算法和不同的知识表达方式。一个单独的学习算法是不太可能实现终身学习的目标的。事实上,终身学习代表一个庞大而丰富的问题空间,需要进行大量研究来设计算法以实现每一个性能和特征。

基于定义1.1,我们可以概述终身学习的一般过程及其系统架构,这与仅具有单个任务T和数据集D的孤立学习范式不同。图1.1展示了经典的孤立学习范式,其中,学习得到的模型在预期应用中使用。

image.png

图1.2是新的终身学习的系统架构。下面我们首先介绍该系统的关键组件,然后介绍终身学习的过程。需要注意的是,这种通用架构仅用于说明,并非所有的系统必须使用所有组件或子组件。事实上,大多数现有的系统相对简单。此外,目前还没有通用的终身学习系统可以在所有可能的领域为所有可能类型的任务执行终身学习算法。事实上,我们距离这个目标还非常遥远。对于许多机器学习算法(如SVM和深度学习)来说,只要数据符合这些算法所需要的特定格式要求,就可以应用在任何学习任务上。与之不同,当前的终身学习算法仍然只能针对特定类型的任务和数据。

  1. 知识库(KB):主要用于存储以前学习的知识,它有一些子组件:
    (a) 历史信息库(Past Information Store,PIS):用于存储之前的学习产生的信息,包括结果模型、模式或其他形式的输出。PIS可能包括信息的子库,例如:(1)每个历史任务中使用的原始数据;(2) 来自每个历史任务的中间结果;(3) 每个历史任务学习的最终模型或模式。至于应该保留哪些新信息或知识,取决于学习任务和学习算法。对于特定系统,用户需要决定保留什么知识来帮助未来的学习。

(b) 元知识挖掘器(Meta-Knowledge Miner,MKM):在PIS和元知识库中执行知识的元挖掘。之所以称为元挖掘(meta-mining),是因为它能够从已保存的知识中挖掘更高层次的知识,由此生成的知识被存储在元知识库中。这里可以使用多种挖掘算法来产生不同类型的结果。
(c) 元知识库(Meta-Knowledge Store,MKS):存储从PIS和MKS本身挖掘或合并的知识。每种应用都需要一些合适的知识表示模式。
(d) 知识推理器(Knowledge Reasoner,KR):基于MKS和PIS中的知识进行推理以产生更多知识。目前大多数系统都没有这个子组件。然而,随着终身学习的发展,这个组件将变得越来越重要。

image.png

如前所述,目前的终身学习研究仍处于初期阶段,没有一个现有系统包含所有这些子组件。

  1. 基于知识的学习器(Knowledge-Based Learner,KBL):对于终身学习而言,学习器必须能够在学习中使用先验知识,我们称之为基于知识的学习器,它可以利用知识库中的知识来学习新任务。该组件通常包含两个子组件:(1) 任务知识挖掘器(Task Knowledge Miner,TKM),利用知识库中未经加工的知识或信息来挖掘或识别适用于当前任务的知识,这是非常有必要的,因为在某些情况下KBL无法直接使用知识库中的原始知识,但是又需要从知识库中挖掘某些任务特定和通用的知识[Chen and Liu,2014a,b];(2) 学习器,能够在学习中使用已挖掘的知识。
  2. 基于任务的知识挖掘器(Task-based Knowledge Miner,TKM):这个组件专门为新任务挖掘知识库中的知识。
  3. 模型(Model):这是一个学习模型,可以是监督学习中的预测模型或分类器,也可以是无监督学习中的聚类或主题、强化学习中的策略等。
  4. 应用(Application):这是该模型的实际应用。重要的是在模型应用中,系统仍然可以学习新知识(即“结果中的知识”),并且可能发现要学习的新任务。应用还可以向基于知识的学习器提供反馈以便进行模型优化。
  5. 任务管理器(Task Manager,TM):接收和管理到达系统的任务,处理任务转变,并以终身方式向KBL呈现新的学习任务。

终身学习过程:典型的终身学习过程从任务管理器向KBL分配新任务开始(这个任务可以是给定的,也可以是自动识别的)。然后,KBL利用知识库(KB)中存储的知识为用户生成模型,并将需要保留的信息或知识发送给KB以供未来使用。在应用过程中,系统还可以发现新任务并在工作中学习。从应用中获取的一些知识还可以存储起来,以便帮助未来的学习任务。

1.5 知识类型和关键挑战

定义1.1没有给出任何关于知识库的知识及其表示形式的细节描述,这主要是因为我们对其了解有限。目前仍然没有广为接受的知识定义和通用的表示模式。在当前的终身学习研究中,过去的知识通常被用作新任务的某种先验信息(例如,先验模型参数或先验概率)。目前的每一篇论文都使用一种或两种特定形式的知识,仅适用于文中所提出的技术和预期的应用。例如,一些方法使用一组共享的潜在参数作为知识[Ruvolo and Eaton,2013b;Wilson et al.,2007];一些方法则直接使用先前任务的模型参数作为知识[Chen et al.,2015;Shu et al.,2016];一些方法使用过去模型的应用结果作为知识,比如主题建模中的主题[Chen and Liu,2014a;Chen et al.,2015]和从先前信息提取模型提取出来的特征词 [Liu et al.,2016;Shu et al.,2017b];还有一些方法使用过去的相关数据作为知识来补充新任务的数据[Xu et al.,2018]。通常基于在各个算法中的使用方式来表示知识。目前仍然没有通用的知识表示模式适用于不同的算法或不同的任务类型,定义1.1也没有指定应如何存储或更新知识库。对于特定的终身学习算法和特定形式的共享知识而言,要根据算法和知识表示需求来设计知识库及其对应的存储和更新方法。
目前主要有两种类型的共享知识可用于学习新任务。
1.全局知识(global knowledge)。许多现有的终身学习方法都假设所有任务共享一个全局潜在结构(global latent structure) [Bou Ammar et al.,2014;Ruvolo and Eaton,2013b;Thrun,1996b;Wilson et al.,2007](3.2、3.4、9.1、9.2和9.3节)。这个全局潜在结构可以在新任务中被学习和利用。基于全局知识迁移和共享的方法主要来源于多任务学习(即共同优化多个相似任务的学习),或受到多任务学习的启发。这种知识更适用于同一领域中的相似任务,因为这些任务往往具有高度相关性,或具有非常相似的分布。

2.局部知识(local knowledge)。许多其他的方法并没有全局潜在结构假设[Chen and Liu;2014a,b;Chen et al.,2015;Fei et al.,2016;Liu et al.,2016;Shu et al.,2016;Tanaka and Yamamura,1997] (3.5、5.2、6.2、6.3、7.1、7.2、7.3和7.4节),相反,在学习新任务的过程中,这些方法根据当前任务的需要从先前任务学到的知识里挑选出一部分来使用。这意味着不同的任务可以使用从不同的先前任务中学到的不同知识,我们将这些知识称为局部知识,因为这些知识都是之前各自任务的本地知识,并且不被认为能形成一致的全局结构。局部知识可能更适用于来自不同领域的相关任务,因为来自任意两个领域的可共享知识可能很少。但是,可以被新任务利用的先验知识还是相当多的,因为先验知识可以来自很多过去的领域。
基于局部知识的终身学习方法通常侧重于借助过去的知识来优化当前的任务性能。通过将该任务视为新任务或当前任务,基于局部知识的终身学习方法还可以用于提高任何先前任务的性能。这些方法的主要优点是非常灵活,因为它们可以选择对新任务有用的任意已学到的知识。如果没有可用的知识,也可以不用。基于全局知识的终身学习方法所具有的主要优点是,它们通常逼近所有任务的最优解,包括先前和当前的任务。这是从多任务学习中继承来的特性,然而,当任务高度多样化或数量庞大的时候,这将很难实现。
由于涉及之前学到的知识,除了前面讨论的关于知识的典型问题(例如,保留什么知识,如何表示和使用知识,以及如何维护知识库)以外,在终身学习中,还有两个关于知识的基本挑战。我们将在稍后的章节中介绍一些能够处理这些挑战的现有技术。

  1. 知识的正确性:显然,使用错误的过去知识不利于新任务的学习。简言之,终身学习可以被视为一个连续的自举过程。先前任务的错误可以传播到后续的任务中,并且会产生更多的错误。人类似乎很清楚什么是正确的,什么是错误的,但是目前还没有一项令人满意的技术能够检测错误的知识。很多文献都没有涉及这个问题 [Silver and Mercer,2002;Silver et al.,2015;Thrun,1996b],或只是在某种程度上隐含地处理这类问题[Ruvolo and Eaton,2013b;Wilson et al.,2007]。也有一些文章明确处理这一问题 [Chen and Liu,2014a,b;Chen et al.,2015;Liu et al.,2016;Mitchell et al.,2015;Shu et al.,2016]。例如,一个策略是找出许多先前任务或领域中那些共有的知识[Chen and Liu,2014a,b;Chen et al.,2015;Shu et al.,2016]。另一个策略是确保使用不同的技术从不同内容中发现知识[Mitchell et al.,2015]。尽管这些策略都有用,但是仍然存在两个令人不太满意的问题。首先,这些策略并非绝对正确,因为它们仍然会产生错误的知识;其次,这些策略具有较低的召回率,因为大部分的正确知识无法通过这些策略,继而无法在后续的学习中使用,这使终身学习无法产生更好的结果。我们将在后面的章节详细讨论这些策略。
  2. 知识的适用性:虽然一些知识在某些先前任务中可能是正确的,但是可能无法应用到当前的任务中。应用不恰当的知识同样会导致如上文所介绍的负面结果。同样,人类比较擅长识别知识应用的正确背景,但是,这对自动化系统却是非常困难的。很多文献都没有涉及知识适用性的问题,而部分文献对此进行了处理,如Chen和Liu [2014a]、Chen等人[2015]、Shu 等人[2016]以及Xu等人 [2018]。我们将在后面引用这些文献时详细介绍。

显然,知识的正确性和适用性这两个挑战密切相关。看起来我们只需关注适用性这个挑战,而不必理会知识是否正确,因为如果一项知识不正确,它就不适用于新任务。但事实往往并非如此,因为在决定知识是否适用时,我们可能只能判断新任务或领域是否与过去某些旧的任务或领域内容相似。如果相似,我们就可以使用从先前任务获取的知识,这时就必须确保知识是正确的。

1.6 评估方法和大数据的角色

针对传统的孤立学习算法的评估方法是基于相同任务/领域的数据进行训练和测试,与此不同,终身学习由于涉及一系列的任务,并且期望在新任务的学习中得到提高,因此需要一种不同的评估方法。在目前的研究中,终身学习算法的实验性评估通常遵循以下步骤:

  1. 在先前任务的数据上运行:首先在一组先前任务的数据上运行算法,按指定的顺序每次运行一个,并将获得的知识保存到知识库。显然,用来做实验的算法可以有多种变体或版本(例如,使用不同类型的知识,以及或多或少的知识)。
  2. 在新任务的数据上运行:接下来利用知识库中的知识在新任务的数据上运行终身学习算法。
  3. 运行基准算法:为了进行比较,运行一些基准算法。通常有两种类型的基准算法:第一种是在不使用任何过去知识的情况下对新数据执行孤立学习的算法,第二种是现有的终身学习算法。
  4. 分析结果:比较步骤2和3的结果并加以分析、观察,以证明步骤2中终身学习算法的结果要优于步骤3中基准算法的结果。

在进行终身学习实验评估时,还有几个需要额外考虑的因素。

  1. 大量任务:评估终身学习算法需要大量的任务和数据集。这是因为从少量任务中获得的知识不可能大幅度提高新任务的学习,原因是每个任务可能只为新任务提供非常少量的有用知识(除非所有任务都非常相似),而且新任务中的数据通常很少。
  2. 任务顺序:要学习的任务的顺序是非常重要的,这意味着不同的任务顺序会产生不同的结果。这是因为终身学习算法通常不保证所有先前任务的最优解。为了在实验中考虑顺序因素的影响,可以尝试使用几个随机的任务顺序并生成结果,然后汇总结果进行比较。目前的论文在其实验中大多仅使用一个随机序列。
  3. 渐进式实验:越多的先前任务会产生越多的知识,越多的知识会促进终身学习为新任务产生更好的结果,因此有必要知道随着先前任务的增加算法在新任务上的性能。

请注意,我们无意覆盖目前终身学习研究中所有可能的评估方法,目的只是介绍通用的评估方法。在评估特定算法时,必须考虑算法的特殊性(例如,其假设和参数设置)以及相关研究,以便设计一套全面的实验。
大数据在终身学习评估中的作用:众所周知,我们懂得越多,就学得越多,也学得越容易。如果我们什么都不懂,那就很难学到任何东西。这些都是很直观的,因为在我们每个人的生活中都有过这样的经历。计算机算法也是如此。因此,终身学习系统必须从大量不同的领域中学习,以便为系统提供广泛的词汇和知识,从而帮助它在不同未来领域中进行学习。此外,与迁移学习不同,终身学习需要自动识别它可以使用的过去知识,并非每一个过去任务/领域对当前任务都是有用的。因此,终身学习的实验和评估需要来自大量领域或任务的数据。幸运的是,在许多应用中大型数据集都是现成的,例如可用于评估终身学习的图像和文本。

1.7 本书大纲

本书介绍了终身学习这个重要的新兴领域。虽然文献体系不是特别大,但是相关的论文发表在大量的会议和期刊上。还有很多论文没有表现出终身学习的所有特征,但在某种程度上与之相关。涵盖该领域的所有重要工作很难而且也不太可能,因此,本书不应被视为该领域所有内容的详尽说明。
本书的组织框架如下:
在第2章中,讨论一些相关的机器学习范式来介绍其发展和背景。我们将看到这些现有范式与终身学习的差异,因为这些范式缺少终身学习的一个或多个关键特征。然而,所有这些范式都涉及某些形式的知识共享或跨任务迁移,甚至在某些情况下还可以持续进行。因此,我们认为终身学习是一种先进的机器学习范式,它是对现有机器学习范式的扩展,使其更智能,也更接近人类的学习过程。
在第3章中,我们重点讨论有关监督终身学习的现有研究状况,详细介绍一些早期和最近的监督终身学习方法。在第4章中,我们继续讨论在深度神经网络(DNN)背景下的监督终身学习,终身学习有时也称为持续学习,其主要目标是在学习多项任务时解决深度学习中的灾难性遗忘问题。第5章也与监督学习相关。但顾名思义,主要讨论开放环境下的学习类型,其中的测试数据可能包含未知类别的实例(即在训练中不存在的类别)。这与典型封闭环境下的学习形成鲜明对比,在封闭环境下的学习中,所有实例都来自训练。
在第6章中,我们讨论终身主题模型。这些模型对之前任务所发现的主题进行挖掘,以提取出可靠的知识供新模型推导使用,从而为新任务产生更好的主题。第7章讨论终身信息提取。信息提取对于终身学习来说是非常合适的,因为过去提取的信息对未来的信息提取通常很有帮助,这是因为存在跨任务和领域的知识共享。第8章切换主题,将讨论人机对话中终身交互知识学习的初步工作。这是一个崭新的方向,因为现有的聊天机器人在构建或部署后无法学习新知识。第9章介绍终身强化学习。第10章总结本书,并讨论终身学习研究所面临的主要挑战和未来方向。

相关文章
|
3月前
|
机器学习/深度学习 自然语言处理
机器学习查漏补缺
机器学习查漏补缺
|
3月前
|
机器学习/深度学习 数据挖掘 PyTorch
🎓PyTorch深度学习入门课:编程小白也能玩转的高级数据分析术
踏入深度学习领域,即使是编程新手也能借助PyTorch这一强大工具,轻松解锁高级数据分析。PyTorch以简洁的API、动态计算图及灵活性著称,成为众多学者与工程师的首选。本文将带你从零开始,通过环境搭建、构建基础神经网络到进阶数据分析应用,逐步掌握PyTorch的核心技能。从安装配置到编写简单张量运算,再到实现神经网络模型,最后应用于图像分类等复杂任务,每个环节都配有示例代码,助你快速上手。实践出真知,不断尝试和调试将使你更深入地理解这些概念,开启深度学习之旅。
41 1
|
4月前
|
机器学习/深度学习 人工智能 算法
AI基础科普:机器学习入门与实践
本文全面介绍了机器学习及其在信用评分预测中的应用。首先概览了机器学习作为人工智能核心领域的重要性及其实现数字化转型的作用。接着定义了机器学习,并区分了监督、无监督和强化学习等主要类型。随后,通过一个具体的场景——利用Python与scikit-learn库构建逻辑回归模型来预测客户的信用等级,详细阐述了从数据准备、模型训练到评估的全过程。此外,还介绍了如何借助阿里云机器学习平台PAI进行云上的模型训练和部署。最后,通过总结逻辑回归算法和其在金融领域的应用,鼓励读者深入学习并实践AI技术,以适应快速发展的科技趋势。
117 2
AI基础科普:机器学习入门与实践
|
4月前
|
机器学习/深度学习 人工智能 算法
探索机器学习的奥秘:从理论到实践
【8月更文挑战第23天】在这篇文章中,我们将深入探讨机器学习的世界,从基础理论到实际应用。我们将了解机器学习的基本概念,探索不同类型的机器学习算法,并讨论如何将这些算法应用于实际问题。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和知识。让我们一起踏上这段激动人心的旅程吧!
|
6月前
|
机器学习/深度学习 数据采集 算法
机器学习入门:算法与数据的探索之旅
【6月更文挑战第13天】本文介绍了机器学习的基础,包括算法和数据处理的重要性。机器学习算法分为监督学习(如线性回归、决策树)、非监督学习(如聚类、降维)和强化学习。数据处理涉及数据清洗、特征工程、数据分割及标准化,是保证模型性能的关键。对于初学者,建议学习基础数学、动手实践、阅读经典资料和参与在线课程与社区讨论。
|
机器学习/深度学习
机器学习面试重点
机器学习面试重点
171 0
|
机器学习/深度学习 算法 数据可视化
如何入门机器学习?需要学习哪些方面的知识
如何入门机器学习?需要学习哪些方面的知识
|
机器学习/深度学习 人工智能 分布式计算
数据科学、人工智能与机器学习傻傻分不清楚,看这篇就够了
数据科学、人工智能与机器学习傻傻分不清楚,看这篇就够了
383 1
数据科学、人工智能与机器学习傻傻分不清楚,看这篇就够了
|
机器学习/深度学习 SQL 自然语言处理
自学机器学习、数据挖掘的几点建议
自学机器学习、数据挖掘的几点建议
135 0
|
机器学习/深度学习 数据采集 人工智能
《机器学习案例实战(第2版)》出版
机器学习是人工智能的重要技术基础,涉及的内容十分广泛。本书基于Python语言,实现了12个典型的实战案例,其内容涵盖了机器学习的基础算法,主要包括统计学习基础、可视化、常用的分类算法、文本分析、卷积神经网络、循环神经网络、注意力机制、生成对抗网络、电子推荐系统等理论。本书深入浅出,以实际应用的项目作为案例,实践性强,注重提升读者的动手操作能力,适合作为高等院校本科生、研究生机器学习、深度学习、数据挖掘等课程的实验教材,也可作为对机器学习和深度学习感兴趣的研究人员和工程技术人员的参考资料。 感谢阿里云计算有限公司在案例写作过程中的支持!
809 0
《机器学习案例实战(第2版)》出版