由于知识获取与表示的困难,以及当时计算机计算能力的限制,符号主义的主张没有得到应有的发展和大规模的应用,以知识为基础的学习方法也同样受到重创。21 世纪初,机器学习中的一个分支——概率统计学习(特别是深度学习)异军突起,获得巨大成功。它不仅建立了较好的理论基础和有效的算法,还成功地得到商业应用,成为推动产业和社会发展的重要力量,使 AI 进入了以数据驱动为主导的第二代 AI 发展时代。为了迈向真正的 AI,我们需要第三代 AI,而迁移学习正在向这一道路迈进。
本文节选自《迁移学习》一书,由杨强教授与其学生在多年研究的基础上撰写的,它包含了迁移学习的基础、方法、技术和应用。
人工智能(Artificial Intelligence,AI)是艾伦·图灵受其提出的“机器会思考吗?”这一著名图灵测试问题启发而得到的愿景。该图灵测试问题激励了几代研究人员探索机器智能运行的方法。然而纵观最近二三十年的发展,人工智能研究经历了多次起伏,其中大部分都围绕着机器如何从外部世界获取知识这一核心问题而演变。
从人工建立基于规则的知识库到从数据中进行机器学习,使机器像人类一样思考的尝试已经走了很长的路。目前,机器学习(machine learning)已经从一个模糊的学科发展成为一种推动工业和社会发展的重要力量,可以实现从电子商务和广告投放到教育和医疗等领域的自动化决策。由于机器学习具有使机器通过在标注和未标注的数据中进行学习和适应来获得知识的强大能力,因此它正在成为一种世界通用的技术。机器学习根据数据生成预测模型,因此往往需要高质量的数据作为“老师”来帮助调控统计模型。这种对未来事件进行准确预测的能力是基于对任务领域的观察和理解。训练样本中的数据通常是被标注的,也就是说训练样本中的观察和预测结果是相互耦合和相关的。之后,这些样本就能够被机器学习算法当成“老师”来“训练”可应用到新数据的模型。现实生活中有许多应用机器学习的成功例子。基于计算机的图像分析领域中的人脸识别是一个很好的例子。假设我们已经获得了大量的医疗影像照片。那么,机器学习系统可以使用这些照片训练模型,从而判断新照片中是否有某种疾病的可能性。机器学习模型还可以应用于公司的安保系统中,以判断访客是否是公司的员工。
尽管机器学习模型可以具有高质量,但它也有可能出错,尤其是当模型应用于有别于训练环境的场景中时。例如,如果从具有不同光照强度和不同程度的噪声(如阴影、不同角度的光照、路人的遮挡等)的室外环境拍摄照片,那么系统的识别能力将会显著下降。这是由于由机器学习系统训练的模型被应用于“不同”的场景。性能下降表明模型可能已过时,当出现新情况时需要及时更新。正是这种将模型从一种场景更新或者迁移到另一场景的需求体现了本书主题的重要性。
对迁移学习(transfer learning)的需求不仅仅局限于图像理解,通过自然语言处理(Natural Language Processing,NLP)技术理解 Twitter 文本消息是另一个例子。假设我们希望将 Twitter 消息根据用户的不同情绪(如高兴、伤心等)进行分类。那么,当使用来自青少年群体的一组 Twitter 消息构建一个模型然后将其用于成年人的新数据时,模型的性能就会急剧下降,因为不同群体很可能会以不同的方式表达他们的观点。
如上面的例子所述,在许多应用中使用机器学习的一个重要挑战是,现有的模型不能很好地适应到新的领域中。究其原因,训练数据量小、场景变化、任务变化等都可能导致这一问题。例如,在医学诊断和医学图像领域,短期内往往无法获得新病症的大量高质量训练数据用于模型的重训练。没有充足的训练数据的支撑,机器学习模型的性能往往不尽如人意。获得和标注新应用场景下的数据通常要花费很多精力和资源,这已然是现实生活中实现人工智能的一个主要障碍。打个比方,拥有一个精心设计却没有训练数据的 AI 系统就像一辆没有油或电的跑车。
上述讨论显示了将机器学习应用于实际场景的一个主要障碍:在应用机器学习算法前,我们无法获得各个领域的大量训练数据。除此之外,还有其他几个重要原因:
1)许多应用场景数据量小。当前机器学习的成功应用依赖于大量有标签数据的可用性。然而,高质量有标签数据总是供不应求。传统的机器学习算法常常因为数据量小而产生过拟合问题,因而无法很好地泛化到新的场景中。
2)机器学习模型需要强鲁棒性。传统的机器学习算法假设训练和测试数据来自相同的数据分布。然而,这种假设对于许多实际应用场景来说太强。在许多情况下,数据分布不仅会随着时间和空间而变化,也会随着不同的情况而变化,因此我们可能无法使用相同的数据分布来对待新的训练数据。在不同于训练数据的新场景下,已经训练完成的模型需要在使用前进行调整。
3)个性化和定制问题。根据个人喜好和需求为每个用户提供个性化的服务是至关重要且具有经济效应的。在许多实际应用中,我们只能从单个用户收集到非常少的个人数据。因此,当我们尝试将通用的模型应用到特定的场景时,传统的机器学习算法会遇到冷启动问题。
4)用户隐私和数据安全。在实际应用中,我们常常需要和其他组织合作,从而需要利用多个数据集。这些数据集通常属于不同的所有者,并且出于隐私或者安全考虑不能彼此泄露。当利用多个数据集构建同一模型时,我们希望提取每个数据集的“本质”并在构建模型中拟合它们。例如,如果能够在网络设备的“边缘”调整通用模型,那么就不需要上传存储在设备上的数据来增强该通用模型,因此边缘设备的隐私将得以保证。
智能系统的上述目标促进了迁移学习的发展。简而言之,迁移学习是一种机器学习范式,其算法能够从一个或多个应用场景中提取知识以帮助提高目标场景中的学习性能。与需要大量精心准备的训练数据作为输入的传统机器学习技术相比,迁移学习可以被理解为一种新的学习范式,我们将在本书对其进行详细介绍。除此之外,迁移学习也是解决许多大规模线上应用中数据稀疏性和冷启动问题的一种方式,例如,线上推荐场景中可能因为有标签用户评分数据太少而无法构建高质量的推荐系统。
迁移学习能够在应用开发初期以及技术上发展较少的地理场景中帮助提升 AI 的性能,即使在这些场景中没有太多的有标签数据。例如,假设我们希望在一个新的线上购物应用中构建书籍推荐系统,并且假设在这个全新的书籍购物领域没有太多的交易记录。那么,如果遵循监督学习(supervised learning)方法在这个全新的书籍领域中用不充分的训练数据构建预测模型,我们就无法对用户的下一次购买行为建立可信的预测。然而,通过迁移学习,可以找到相关的、开发完善的但是不同的领域寻求帮助,比如现有的电影推荐领域。利用迁移学习,可以找到书籍和电影两个领域之间的相似性和差异性。例如,一些作者会将他们的书拍成电影,因此这样的电影和书籍会吸引类似的用户群体。值得一提的是,领域之间的相似性允许模型聚焦于书籍推荐领域的独特之处进行优化,从而有效地利用数据集之间的潜在相似性。那么,书籍领域的分类和用户偏好模型就能够从电影领域进行优化。
基于迁移学习的方法,一旦我们在一个领域中获得了训练好的模型,就可以将这个模型引入其他类似的领域。因此,为了设计一个合理的迁移学习方法,找到不同领域任务间准确的“距离”度量方式是必需的。如果两个领域间的“距离”过大,那么我们可能不希望应用迁移学习技术,因为这样的学习可能产生一些负面影响。另一方面,如果两个领域非常“靠近”,则可以有效地应用迁移学习。
在机器学习中,领域之间的距离通常根据描述数据的特征来度量。在图像分析中,特征可以是图像中的像素或者区域,例如颜色和形状。在自然语言处理中,特征可以是单词或者短语。一旦了解两个领域非常接近,我们就能确保 AI 模型可以从一个已开发好的领域迁移到一个欠开发的领域,从而使 AI 应用更少地依赖数据。这对于成功的迁移学习应用来说是一个好的预兆。
能够将知识从一个领域迁移到另一个领域说明机器学习系统能够将其适用范围扩展到其源域外。这种泛化能力使得在 AI 能力或者计算能力、数据和硬件等资源相对匮乏的领域内,更加容易实现 AI 且 AI 更加鲁棒。在某种程度上,迁移学习可以促进 AI 成为一种更为包容的、为每个人服务的技术。
为了给出一个直观的例子,我们可以使用类比的方式突出迁移学习背后的关键要素。考虑在世界不同国家开车的情况。在美国和中国,驾驶员位置在汽车的左侧并且汽车靠右行驶。在英国,驾驶位置在汽车右侧并且汽车靠左行驶。对于习惯在美国开车的人来说,在英国开车时,其驾驶习惯的转换尤为困难。然而,迁移学习能够帮助我们找到两个驾驶领域中的不变性并将其作为一种共同特征。仔细观察可以发现,无论驾驶员坐在哪边,其离道路中心始终是最近的。换言之,驾驶员坐在离路边最远的位置。这一事实能够使驾驶员将驾驶习惯顺利地从一个国家“迁移”到另一个国家。因此,迁移学习背后的关键要素是寻找不同领域和任务之间的“不变性”。在人工智能领域,迁移学习已在知识重用、基于案例的推理、类比学习、领域自适应、预训练和微调等不同术语下得到了广泛研究。在教育和学习心理学领域,学习迁移与机器学习中的迁移学习有类似的概念。具体地说,学习迁移是指从之前的源任务中获得的历史经验可用于影响目标情境中的未来学习和表现(L.Thorndike 和 S.Woodworth,1901)。教育领域中的学习迁移和机器学习中的迁移学习有一个共同目标,即在一个场景中处理学习的过程,然后将学习应用到另一个场景中。在这两个领域中,学习到的知识或者模型都在进行了一定程度的适应后应用到后继的目标任务中。深入研究教育理论和学习心理学的文献 (Ellis,1965;Pugh 和 Bergin,2006;Schunk,1965;Cree 和 Macaulay,2000) 可以发现,尽管机器学习中的迁移学习旨在赋予机器适应场景的能力,教育领域中的学习迁移试图研究人在教育中的适应性,但是二者在迁移的过程或者处理方式上却是相似的。
最后关于迁移学习的好处需要提及的是模拟技术。在诸如机器人和药物设计等复杂任务中,在真实的环境中进行试验的成本通常是非常昂贵的。在机器人领域,移动机器人或自动驾驶汽车需要收集大量的训练数据。例如,汽车碰撞可能有多种方式,但在现实生活中造成汽车碰撞的成本太高。相反,研究人员通常建立复杂的模拟器,以便在模拟环境训练出来的模型可以通过迁移学习应用到实际环境中。迁移学习的作用是考虑模拟环境中许多未知的未来情况,并使模拟环境中得到的预测模型(诸如汽车自动驾驶中的躲避障碍物模型)适应不可预见的未来情况。
正如上面提到的,迁移学习中存在三个研究问题,即“迁移什么”“如何迁移”和“何时迁移”。由于迁移学习的目标是跨不同领域迁移知识,因此第一个问题就是可以迁移哪些跨域的知识来提高目标域的泛化性能,也就是“迁移什么”问题。在确定了要迁移的知识后,后续问题便是如何将知识编码到学习算法中进行迁移,这对应于“如何迁移”问题。“何时迁移”是询问在哪些情况下应该进行迁移学习或者可以安全地进行迁移学习。这三个问题背后的一个基本研究问题是如何衡量任何一对域或者任务之间的“距离”。通过域或者任务之间的距离度量,可以确定任务之间的哪些共有知识可以用于减少域或者任务之间的距离,即“迁移什么”,并根据识别出来的共有知识确定如何减少域或者任务之间的距离,即“如何迁移”。此外,通过域或任务之间的距离度量,可以在逻辑上决定“何时迁移”:如果距离太大,则建议不进行迁移学习。否则,迁移才是“安全的”。
因此,随后的问题是如何进行距离度量。传统上,对于任何两个概率分布之间的距离存在各种类型的统计度量方法。其中,典型的度量方法包括但不限于 KL 散度、A 距离和最大均值差异(Maximum Mean Discrepancy,MMD)。回顾一下,域包含特征空间和边缘概率分布两个组成部分,任务也包含标签空间和条件概率分布两个组成部分。因此,通过假设源域(源任务)和目标域(目标任务)共享一个特征(标签)空间,可以将现有的概率分布间距离的统计度量方法用于度量域或者任务之间的距离。但是,使用统计距离度量方法进行迁移学习存在一些限制。首先,研究人员发现这些基于通用分布的距离度量通常过于粗糙,并且在两个域或者任务之间的可迁移性距离度量方面不能很好地发挥作用。其次,如果域具有不同的特征空间和 / 或标签空间,则必须首先将数据映射到相同的特征空间和 / 或标签空间,然后将统计距离度量方法应用到后续步骤中。因此,需要对两个域或者任务之间距离的泛化度量进行更多的研究。
从目标识别到行为识别的很多图像理解任务已经运用了迁移学习。通常,这些计算机视觉任务需要大量有标签数据来训练模型,例如使用众所周知的 ImageNet 数据集。然而,当计算机视觉的情景稍有变化(例如从室内到室外、从静止摄像机变为移动摄像机)时,需要调整模型以适应新情况。迁移学习是解决这些适应问题的常用技术。
在图像分析领域,许多最近的方法将深度学习架构和迁移学习相结合。例如,Long 等人(2015)利用深度学习框架将源域和目标域之间的距离最小化。在 Facebook 上发表的一篇文章中,Mahajan 等人(2018)将迁移学习应用到图像分类中。该方法首先在非常大的图像数据集上训练深度学习模型,然后在目标域的特定任务中利用相对少量的有标签数据对预先训练的模型进行调整。该模型是一个为基于数十亿社交媒体图片主题标签的分类任务而训练的深度卷积网络,目标任务是目标识别或图像分类。他们的分析表明,增加预训练数据集的大小以及在源任务和目标任务之间选择密切相关的标签空间都很重要。这一观察结果说明,迁移学习需要设计“标签空间工程”方法以匹配源和目标的学习任务。他们的工作还表明,可以通过提高源模型的复杂度和增加数据集大小获得对目标任务的改进。
迁移学习还使得图像分析在具有巨大社会影响的应用中发挥重要作用。在 Xie 等人(2016)的研究中,斯坦福大学地球科学的学者基于卫星图像, 利用迁移学习来预测全球贫困水平。首先,他们使用白天的图像预测夜间光照图像,然后将所得模型迁移到预测贫困的问题上。与传统的基于调查的方法相比,该方法得到了非常准确的预测结果并且只需要很少的人工标注工作。
在生物学中,许多实验成本高昂且数据很少。例如,医生尝试使用计算机发现潜在疾病时的生物成像,以及使用软件模型扫描复杂的 DNA 和蛋白质序列以寻找特定疾病以及治愈的模式。迁移学习越来越多地被用于帮助将知识从一个领域迁移到另一个领域来解决生物学中有标签数据获取成本高昂的难题。例如,Xu 和 Yang(2011)对在生物信息学应用中利用迁移学习和多任务学习进行了早期调研。Xu 等人(2011)提出了一种迁移学习过程以识别在有标签数据极少的目标域中的蛋白质细胞结构。在生物医学图像分析中,一个难题是收集足够的训练数据来训练模型以识别诸如癌症等指定疾病的图像模式。这种识别需要大量的训练数据。然而,这些数据通常因为需要专家进行标注而十分昂贵。此外,预训练模型和未来模型的数据通常来自不同的分布。这些问题激发了许多应用迁移学习来使预训练模型适应新任务的研究工作。例如,在 Shin 等人(2016)的研究中,基于 ImageNet 数据的预训练模型被用作源域模型,然后被迁移到医学成像领域中用于胸腹淋巴结检测和间质性肺病分类,该研究取得了巨大的成功。
通常情况下,由于冷启动问题,在线产品推荐系统难以建立。如果我们能发现域之间的相似性并将推荐模型从一个成熟域适应到新域,那么就可以缓和冷启动问题。这通常可以节省成功完成一个原本不可能的任务所耗费的时间和资源。例如,Li 等人(2009b)和 Pan 等人(2010b)开创性地将迁移学习应用到了在线推荐领域。在他们的应用中,跨域推荐系统将用户偏好模型从现有域(如图书推荐领域)迁移到一个新域(如电影推荐领域)中。该场景对应于在线商务站点开放新业务线时希望在新业务线中快速部署推荐模型的商业案例。在这样做时,必须克服新业务线中缺少交易数据的问题。另一项工作是整合强化学习(reinforcement learning)和推荐系统,从而使依据用户历史记录和潜在的兴趣多样性推荐的项目是准确的。例如,Liu 等人(2018)提出了一种在推荐准确度和主体多样性中达到平衡的 bandit 算法,以允许系统挖掘新主题以及迎合用户最近的选择。关于迁移学习,该工作表明平衡探索和利用的推荐策略确实可以在域之间进行迁移。
在设计机器人和汽车自动驾驶时,从模拟场景中学习是一种特别有用的方法。在硬件交互部分,收集用于训练强化学习和监督学习模型的有标签数据是十分昂贵的。正如 Taylor 和 Stone(2007) 所描述的,迁移学习能够帮助研究人员在一个或多或少理想的域(源域)中构建模型,然后在目标域中学习处理预期事件的策略。目标域模型可以处理更多现实世界中的情况,以进一步处理更多未预料到的噪声数据。当模型很好地适应后,可以在重新训练目标域模型的过程中节省大量劳动力和资源。Tai 等人(2017)设计了基于 10 维稀疏范围发现的无地图支持运动规划器,并通过端到端的深度强化学习算法对其进行了训练,然后通过真实样本将学习好的规划器泛化迁移到了现实场景中。
自然语言处理和文本挖掘
文本挖掘是迁移学习算法的一个很好的应用场景。文本挖掘旨在从文本中发现有用的结构性知识并将其应用于其他领域中。在文本挖掘的所有问题中,文本分类旨在用不同的类标签标记新的文本文档。一个典型的文本分类问题是情感分类。在线论坛、博客、社交网络等在线网站上有大量用户生成的内容,能够总结消费者对产品和服务的看法非常重要。情感分类能够通过将评论分为正面和负面两个类别来解决这个问题。但是,在不同的域中,例如不同类型的产品、不同类型的在线网站、不同的行业,用户可能使用不同的词语表达他们具有相同情感的观点。因此,在一个域上训练的情感分类器可能在其他域上表现不佳。在这种情况下,迁移学习可以帮助调整已训练完成的情感分类器以适应不同的领域。
近期,对预训练的研究获得了迁移学习本质的新见解。Devlin 等人(2018)发现了迁移学习应用成功的一个条件:拥有足够数量的源域训练数据。例如,谷歌的自然语言处理系统 BERT(Bidirectional Encoder Representations from Transformers,Transformer 的双向编码器表示)(Devlin 等人,2018)将迁移学习应用于许多 NLP 任务中,证明使用强大的预训练模型可以解决许多传统自然语言处理领域的棘手问题(如问答系统)。在公开的 SQuAD 2.0 竞赛中,BERT 在许多任务中取得了令人惊讶的领先结果(Rajpurkar 等人,2016)。其源域由非常庞大的自然语言文本语料库组成,BERT 使用该语料库训练基于注意力机制的双向 Transformer 模型。预训练模型能够使语言模型中的各种预测比以前更准确,并且其预测能力随着源域中训练数据量的增加而增加。然后,通过在诸如下一句子分类、问答和命名实体识别(Named Entity Recognition,NER)中向源模型添加额外的较小的层,便可以将 BERT 模型应用于目标域中的特定任务。这种迁移学习方法属于基于模型的迁移,其中大多数超参数保持相同,但是会选择几个超参数通过目标域中的新数据进行调整。
作者介绍:
《迁移学习》一书由杨强教授领衔撰写,是研究团队十余年艰苦研究工作的积累。张钹院士倾情作序,邓力、高文、李开复、周志华(按姓氏拼音排序)联袂推荐,本书也是全球首本迁移学习中文专著。
领取专属 10元无门槛券
私享最新 技术干货