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

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

1025dc536cb2ffd4e9f3c72a60a84477cfb29895

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

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

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

什么是迁移学习?

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

3e25bd8c3f924870901c084a918bfdcade9bcfa3

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

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

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

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

39942735ef0cf1a798f224f31bd6eab0c6e0b874

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

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

为什么要迁移学习?

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

04235e94194da14b69cbc7afc04a215784ba6993

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

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

d4dc9cbaa55fa62ad6e2c3d1b697e6ccfa4f3423

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

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

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

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

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

迁移学习的应用

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

db18f206ad5a37512458a4d1343d1ae6092ca3c0

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

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

a1c874ad47103acfa5de67904c0719ef515004b3

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

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

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

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

文章为简译,更为详细的内容,请查看原文

相关文章
|
2天前
|
机器学习/深度学习 算法
【机器学习】迅速了解什么是集成学习
【机器学习】迅速了解什么是集成学习
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习、深度学习、强化学习和迁移学习简介、相互对比、区别与联系。
机器学习、深度学习、强化学习和迁移学习都是人工智能领域的子领域,它们之间有一定的联系和区别。下面分别对这四个概念进行解析,并给出相互对比、区别与联系以及应用场景案例分析。
48 1
|
2月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
56 7
|
2月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
47 9
|
2月前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
43 1
|
2月前
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
94 0
|
3月前
|
机器学习/深度学习 算法 前端开发
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
|
3月前
|
机器学习/深度学习 人工智能 缓存
人工智能平台PAI使用问题之如何配置学习任务
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4月前
|
机器学习/深度学习 算法 前端开发
机器学习中的集成学习(二)
**集成学习概述** 集成学习通过结合多个弱学习器创建强学习器,如Bagging(Bootstrap Aggregating)和Boosting。Bagging通过随机采样产生训练集,训练多个弱模型,然后平均(回归)或投票(分类)得出结果,减少方差和过拟合。Boosting则是迭代过程,每个弱学习器专注于难分类样本,逐步调整样本权重,形成加权平均的强学习器。典型算法有AdaBoost、GBDT、XGBoost等。两者区别在于,Bagging模型并行训练且独立,而Boosting模型间有依赖,重视错误分类。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习中的集成学习(一)
集成学习是一种将多个弱学习器组合成强学习器的方法,通过投票法、平均法或加权平均等策略减少错误率。它分为弱分类器集成、模型融合和混合专家模型三个研究领域。简单集成技术包括投票法(用于分类,少数服从多数)、平均法(回归问题,预测值取平均)和加权平均法(调整模型权重以优化结果)。在实际应用中,集成学习如Bagging和Boosting是与深度学习并驾齐驱的重要算法,常用于数据竞赛和工业标准。