迁移学习——机器学习的下一个前沿阵地

yise001 2017-12-06

摘要: 深度学习作为机器学习的重要领域,在过去的几年时间里面发挥了巨大的作用。但是随着机器学习在不同领域的深入应用,迁移学习正在成为不可忽视的力量。

迁移学习——机器学习的下一个前沿阵地

我们越来越善于训练深度神经网络,从大量的标记数据中学习到从输入到输出的非常准确的映射,无论它们是图像,句子,标签预测等。

但,我们的模型所缺乏的是能够概括出不同于训练过程中遇到的情况。当你将模型应用于精心构建的数据集,它表现的总是不错。但,现实世界是混乱的,包含无数的新情景,其中许多是你的模型在训练期间没有遇到过的。将知识迁移到新情景的能力通常被称为迁移学习,这是我们将在本文的其余部分讨论的内容。

在本篇博文中,我将首先将转换学习与机器学习的最普遍和成功的范例 - 监督式学习进行对比。随后,我会给出一个更具技术性的定义和详细的不同迁移学习场景。然后,我将提供迁移学习的应用实例,然后深入研究可用于传授知识的实用方法。最后,我将对相关的方向进行概述,并提出展望未来。

什么是迁移学习?

在机器学习的监督学习场景中,如果我们打算为某个任务和领域A训练一个模型,我们假设我们为相同的任务和域提供了标签数据。我们可以在图1中清楚地看到这一点,其中我们模型A和B的训练和测试数据的任务和领域是一样的。让我们假设一个任务是我们的模型旨在执行的目标,例如识别图像中的对象,一个域是我们的数据来自旧金山咖啡店拍摄的图像。

迁移学习——机器学习的下一个前沿阵地

传统的方法是我们要分别训练模型A和B,这势必会造成大量的资源和时间上的浪费。

而且当我们没有足够的标记数据为我们训练可靠模型的任务或领域时,传统的监督式学习范式就会崩溃。

如果我们想要训练一个模型来检测夜间图像上的行人,我们可以应用一个已经在类似的领域进行训练的模型,例如在日间图像上。然而在实践中,由于模型继承了训练数据的偏见,这个时候我们就需要改动其中的一些参数或者寻找一些新的模型。

如果我们想要训练一个模型来执行一个新的任务,比如检测骑自行车的人,我们甚至不能重复使用现有的模型,因为任务之间的标签是不同的。

迁移学习——机器学习的下一个前沿阵地

迁移学习使我们能够利用已经存在的某些相关任务的标记数据来处理这些场景,新的模型继承了老模型的相关能力。

在实践中,我们试图将尽可能多的知识从源头迁移到目标任务或领域。这些知识可以根据数据采取多种形式:它可以涉及如何组成对象,使我们更容易识别新的对象等。

为什么要迁移学习?

斯坦福大学教授Andrew Ng在他广泛流行的NIPS 2016教程中表示,迁移学习将是在监督学习之后成为ML商业成功的下一个推动力。

迁移学习——机器学习的下一个前沿阵地

他在白板上画出了一张图表,据Andrew Ng介绍,迁移学习将成为机器学习在行业中取得成功的关键因素。

毫无疑问,ML在工业界的使用和成功迄今主要是由监督学习推动的。在深度学习、强大的算法和大量标记数据集的推动下,监督学习使得人类对人工智能兴趣大增,特别是我们已经看到的机器学习的应用近几年来,这已成为我们日常生活的一部分。

迁移学习——机器学习的下一个前沿阵地

然而,为什么迁移学习已经存在了几十年,目前在工业上很少被利用,为什么会看到吴恩达预测的爆炸性增长呢?与其他机器学习领域相比,迁移学习目前受到关注较少,例如无监督学习和强化学习。强化学习是由Google DeepMind领导,例如AlphaGo的成功,以及通过将Google的数据中心冷却费用降低40%。这两个领域虽然很有希望,但在可预见的未来可能只会产生相对较小的商业影响,大部分仍然处于尖端研究报告的范围内,因为它们仍然面临着许多挑战。

目前在工业中使用机器学习的特点是二分天下:

一方面:在过去的几年中,我们已经获得了训练越来越精确模型的能力。最先进的模型表现的非常好,已经满足了用户的需求。到底有多好?ImageNet上的最新残差网络在识别物体方面实现了超人的性能;天猫小秘的智能回复广泛应用,语音识别错误一直下降;我们可以自动识别皮肤癌以及其他症状。这种成熟度使得这些模型能够大规模地部署到数百万用户。

另一方面:这些成功的模型非常需要数据,并依靠大量的标记数据来实现其性能。对于一些任务和领域,这些数据是多年来一直苦心经营的。在一些情况下,它是公开的,例如ImageNet,但是大量的标记数据通常是专有的或昂贵的,就像语音或MT数据集一样,因此在数据上就有了竞争优势,有了竞争机器学习才能更好的商业化。

同时,在应用机器学习模型时,存在着大量问题,如:模型以前从未见过,不知如何处理的诸多条件,每个客户和每个用户都有自己的偏好,拥有与用于训练的数据不同的数据;一个模型被要求执行许多没有被训练的任务。在所有这些情况下,我们目前最先进的模型有的时候也会崩溃。

迁移学习可以帮助我们处理这些,首先我们必须学会将我们所获得的知识迁移到新的任务和领域。为了做到这一点,我们需要了解迁移学习涉及的概念。接着我们来介绍一些迁移学习的相关应用。

迁移学习的应用

迁移学习中一个特别重要的应用是模拟学习,对于许多依靠硬件进行交互的机器学习应用程序来说,在现实世界中收集数据和训练模型是昂贵的、耗时的。因此,以其他风险较小的方式收集数据是明智的。

迁移学习——机器学习的下一个前沿阵地

模拟就是这方面的首选方法,它已经被用于在现实世界中许多先进的ML系统。从模拟中学习并将获得的知识应用到现实世界中是一个迁移学习场景的实例,因为源域和目标域之间的特征空间是相同的(两者通常都依赖于像素),但是模拟和边界概率分布现实是在模拟和来源不同,即物体的样子不同,尽管这种差异随着模拟变得更现实而减少。与此同时,模拟和真实世界之间的条件概率分布可能是不同的,因为模拟不能完全复制现实世界中的所有反应,例如物理引擎不能完全模拟真实世界对象的复杂相互作用。

模拟的好处是可以方便地收集数据,因为可以轻松地绑定和分析对象,同时实现快速训练,因为学习可以跨多个实例并行化。因此,它是大型机器学习项目需要与现实世界交互的先决条件,如自驾车。据谷歌自驾汽车技术负责人赵引佳介绍,“如果你真的想做一辆自驾车,模拟是必不可少的”。Udacity已经开源了模拟器,它用于教自己驾驶的汽车工程师nanodegree,而且OpenAI的世界可能允许使用GTA 5或其他视频游戏来训练自驾车。

迁移学习——机器学习的下一个前沿阵地

其他的应用还有适应新的领域以及跨语言传输知识。这些应用都是非常有趣的,而且商业价值也比较高。

结论:迁移学习一定会成为未来继监督学习研究的热点,因为它本身可以创造足够多的经济价值。有了更清晰的商业价值,科技巨头才会更多的关注这项科技。

以上为译文,阿里云云栖社区组织翻译。

文章原标题《transfer-learning Machine Learning’s Next Frontier》,作者:Sebastian Ruder,译者:虎说八道,审校:袁虎。

相关推荐