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

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

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,译者:虎说八道,审校:袁虎。

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

相关文章
|
3月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
101 0
|
12天前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之机器学习PAI的学习方法不知道如何解决
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
1月前
|
机器学习/深度学习 前端开发 测试技术
机器学习第10天:集成学习
机器学习第10天:集成学习
28 0
|
3月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
57 1
|
10天前
|
机器学习/深度学习 分布式计算 物联网
【Python机器学习专栏】联邦学习:保护隐私的机器学习新趋势
【4月更文挑战第30天】联邦学习是保障数据隐私的分布式机器学习方法,允许设备在本地训练数据并仅共享模型,保护用户隐私。其优势包括数据隐私、分布式计算和模型泛化。应用于医疗、金融和物联网等领域,未来将发展更高效的数据隐私保护、提升可解释性和可靠性的,并与其他技术融合,为机器学习带来新机遇。
|
10天前
|
机器学习/深度学习 自然语言处理 搜索推荐
【Python机器学习专栏】迁移学习在机器学习中的应用
【4月更文挑战第30天】迁移学习是利用已有知识解决新问题的机器学习方法,尤其在数据稀缺或资源有限时展现优势。本文介绍了迁移学习的基本概念,包括源域和目标域,并探讨了其在图像识别、自然语言处理和推荐系统的应用。在Python中,可使用Keras或TensorFlow实现迁移学习,如示例所示,通过预训练的VGG16模型进行图像识别。迁移学习提高了学习效率和性能,随着技术发展,其应用前景广阔。
|
10天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习中的Bagging与Boosting
【4月更文挑战第30天】本文介绍了集成学习中的两种主要策略:Bagging和Boosting。Bagging通过自助采样构建多个基学习器并以投票或平均法集成,降低模型方差,增强稳定性。在Python中可使用`BaggingClassifier`实现。而Boosting是串行学习,不断调整基学习器权重以优化拟合,适合弱学习器。Python中可利用`AdaBoostClassifier`等实现。示例代码展示了如何在实践中运用这两种方法。
|
10天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】关联规则学习:Apriori算法详解
【4月更文挑战第30天】Apriori算法是一种用于关联规则学习的经典算法,尤其适用于购物篮分析,以发现商品间的购买关联。该算法基于支持度和置信度指标,通过迭代生成频繁项集并提取满足阈值的规则。Python中可借助mlxtend库实现Apriori,例如处理购物篮数据,设置支持度和置信度阈值,找出相关规则。
|
10天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。
|
11天前
|
机器学习/深度学习 人工智能 算法
【机器学习】探究Q-Learning通过学习最优策略来解决AI序列决策问题
【机器学习】探究Q-Learning通过学习最优策略来解决AI序列决策问题

热门文章

最新文章