0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

吴恩达:将引领下一波机器学习技术”的迁移学习到底好在哪?

电子工程师 来源:未知 作者:工程师李察 2018-10-27 10:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

两年前,吴恩达在 NIPS 2016 的 Tutorial 上曾说“在监督学习之后,迁移学习将引领下一波机器学习技术商业化浪潮。”现实中不断有新场景的出现,迁移学习可以帮助我们更好地处理遇到的新场景。迁移学习到底有哪些优点,能够成为现在机器学习算法的新焦点?本文将通过与深度学习进行对比,让大家在应用层面了解迁移学习的原理及其优势。

前言

深度学习在许多很难用其它方法解决的问题上取得了长足的进步。深度学习的成功归功于它与传统的机器学习的几个关键不同点,这使得它在处理非结构化数据的时候能够大放异彩。如今,深度学习模型可以玩游戏,检测癌症,与人类交谈,以及驾驶汽车。

但是,使深度学习强大的这几个不同点同时也使得其成本巨大。你可能听说过深度学习的成功需要庞大的数据量,昂贵的硬件设施,甚至更加昂贵的精英工程人才。现在,一些公司开始对那些可以减少成本的创新想法和技术特别兴奋。比如多任务学习(Multi-task learning),这是一种可以让机器学习模型一次性从多个任务中进行学习的方法。这种方法的其中一种好处就是,可以减少对训练数据量的需求。

在这篇文章中,我们将会介绍迁移学习(transfer learning),一种可以让知识从一个任务迁移到另一个任务中的机器学习方法。迁移学习不需要为你的问题重新开发一个完全定制的解决方案,而是允许你从相关问题中迁移知识,以帮助你更轻松地解决您的自定义问题。通过迁移知识,你可以利用用于获取这些知识所需的昂贵资源,包括训练数据,硬件设备,研究人员,而这些成本并不需要你来承担。下面让我们看看迁移学习何时以及是怎样起作用的。

深度学习与传统机器学习的不同点

迁移学习并不是一项新技术,它也不是专门为深度学习服务的,但是鉴于最近在深度学习方面取得的进展,它很令人兴奋。所以首先,我们需要阐明深度学习究竟和传统的机器学习在哪些方面有所不同。

深度学习进行底层抽象

机器学习是机器自动学习把预测值或者标签分配给数值型输入(即数据)的一种方式。这里的难点是,如何确切地确定这个函数,使得其对于给定输入可以生成输出。不对函数添加任何限制条件的话,其可能性(复杂性)是无穷无尽的。为了简化这个任务,根据我们正在解决的问题的类型,相关领域的专业知识,或者简单的试错方法,我们通常会在函数上强加某种类型的结构。一种结构定义了某一类型的机器学习模型。

理论上,有无限种可能的结构可供选择,但在实践中,大多数机器学习用例可以通过应用少数几种结构中的其中一种来解决:线性模型,树的组合分类器,和支持向量机是其中的核心。数据科学家的工作就是从这一小组可能的结构中选择正确的结构。这些模型作为黑盒对象,可以从许多成熟的机器学习库中获得,并且只需几行代码即可训练。举个例子,你可以用 Python 的 scikit-learn 库像以下这样训练一个随机森林模型:

或者用 R 来训练一个线性回归模型:

与此不同的是,深度学习在更加底层运行。深度学习不是从一小组的模型结构中进行选择,而是允许开发人员组成任意结构。构建块是一些模块或者层,可以将其想象成基本的基础数据转换。这意味着当我们应用深度学习时,我们需要打开黑盒子了解数据转换,而不是把它当做被算法固定的一堆参数。

这种做法使得我们可以构建更加强大的模型,但是同时它也给整个模型构建过程添加了一种全新的挑战。尽管深度学习社区已经发表了大量研究,到处都有实用的深度学习指南,或者一些经验之谈,如何有效地组合这些数据转换依然是一个很困难的过程。

下面我们考虑一个极其简单的卷积神经网络图像分类器,这里是用一个流行的深度学习库 PyTorch 来进行定义的。

因为我们使用的是底层的构建块,我们可以轻松改变模型的某个单一部件(例如,将F.relu变为F.sigmoid)。这样做可以得到一个全新的模型架构,它可能会产生截然不同的结果,而且它的可能性,毫不夸张地说,是无止境的。

深度学习还没有被充分地理解

即使给定了一个固定的神经网络架构,训练它也是众所周知的极其困难。首先,深度学习的损失函数通常不是凸函数,这意味着训练并不一定产生最优的可能解。第二,深度学习现在还是非常新的技术,它的许多组成部分仍未被充分理解。举个例子,批标准化(Batch Normalization)最近备受关注,因为似乎将其包含在某些模型中是取得良好结果的关键,但是专家无法就其原因达成一致。研究人员 Ali Rahimi 最近在一场机器学习会议上甚至把深度学习与炼金术相提并论,引发了一场论战。

自动特征工程

深度学习的复杂性促进了一门叫表示学习(representation learning)的技术的发展,这也是为什么经常有人说神经网络做的是“自动特征工程”。简单来说就是,我们不是让人类来手动从数据集中提取有效特征,而是构建一个模型,让模型可以自己学习对于当前任务来说哪些是需要的和有用的特征。把特征工程的任务交给模型来处理非常有效,但是代价是模型需要庞大的数据量,也因此需要庞大的计算能力。

你可以做什么?

和其他机器学习方法相比,深度学习太过于复杂,看上去似乎无法将其整合到你的业务中。对于那些资源有限的组织机构来说,这种感觉更加强烈。

对于那些需要走在前沿的组织机构来说,可能的确需要聘请专家和购买专业的硬件设施。但是很多情况下这不是必需的。有方法可以让你不需要进行大量的投资就可以有效地应用深度学习技术。这里就是迁移学习可以大展拳脚的地方了。

迁移学习可以让知识从一个机器学习模型迁移到另一个模型上。这些模型可能是对模型结构进行了长年研究、用相当多数据集对模型进行训练、用数以年计的计算时间对模型进行优化而得到的结果。利用迁移学习,你不需要承担上面说的任何成本就能获得这项工作的大部分好处!

什么是迁移学习

大多数机器学习任务始于零知识,意思是它的结构和模型的参数是从随机猜测开始的。当我们说模型是从头开始学习的时候,意思也是如此。

随机猜测开始训练的一个猫检测模型。通过它见过的许多不同的猫,该模型从中整合出相同的模式,逐渐学习到猫是什么。

在这种情况下,该模型学习到的所有内容都来自于你展示给它的数据。但是,这是解决问题的唯一方法吗?在某些情况下,看上去的确如此。

猫检测模型在不相关的应用中,例如欺诈检测,很有可能没有什么用处。它只知道如何应付猫的图片,而不是信用卡交易。

但是在某些情况下,我们似乎可以在不同任务之间共享信息。

猫检测模型在相关任务中作用很大,例如猫的脸部定位。该检测器已经知道怎么检测猫胡子,鼻子,以及眼睛,所有这些对于定位猫的脸部都很有用处。

这就是迁移学习的本质:采用一种模型,学习如何很好地完成某项任务,将其部分或者所有知识迁移到一个相关的任务。

想想我们自己的学习经验,就会发现这其实很有道理:我们经常迁移以往习得的技能,这样可以更快地学习新的技能。举个例子,学过投掷棒球的人不需要重新学习抛东西的机制就能很好地学习到怎么扔一个足球。这些任务本质上是相通的,能够处理其中一件任务的话自然而然可以把学习到的能力迁移到另一项任务。

在机器学习领域,可能过去 5 年最好的例子就是计算机视觉领域。现在几乎没人会从头开始训练一个图像模型。相反,我们会从一个预训练好的模型开始,这个模型已经知道怎么区分一些简单的对象,例如猫,狗,还有雨伞。学习区分图像的模型首先学习如何检测一些通用图像特征,例如边缘,形状,文本,以及脸部。预训练模型具有以上这些的基本技能(还有更加具体的技能,例如区分狗和猫的能力)。

此时,预训练的分类模型可以通过添加层或者在一个新的数据集上重新训练,来继承那些花费巨大而获得的基本技能,然后将其延伸到新的任务。这就是迁移学习。

这种方法的好处很明显。

迁移学习训练数据量需求量更小

当你在一个与猫相关的新任务中重复使用你最喜爱的猫检测模型时,你的模型已经拥有了“一百万只猫的智慧”,这意味着你不需要再使用那么多的猫图片来训练新任务了。减少训练数据量可以让你在只有很少数据,或者要获得更多数据的成本过高或者不可能获得更多数据的情况下也能训练,同时可以让你在比较廉价的硬件设施上更快地训练模型。

迁移学习训练模型泛化能力更强

迁移学习可以改进模型的泛化能力,或者说增强其在非训练数据上分类良好的能力。这是因为在训练预训练模型时,是有目的性地让模型可以学习到对相关任务都很有用的通用特征。当模型迁移到一个新任务时,它将很难过拟合新的训练数据,因为它将仅从一个很一般的知识库中继续学习而已。构建一个泛化能力强的模型是机器学习中最难以及最重要的部分之一。

迁移学习训练过程更加鲁棒

从一个预训练的模型开始,也可以避免训练一个带有数百万参数的复杂模型,这个过程非常令人沮丧,非常不稳定,而且令人困惑。迁移学习可以将可训练参数的数量减少多达 100%,使得训练更稳定,而且更容易调试。

迁移学习降低深度学习的入门门槛

最后,迁移学习降低深度学习的门槛,因为你不需要成为专家就能获得专家级的结果。举例来说,流行的图像分类模型 Resnet-50,这个特定的结构是怎么选择的呢?这是许多深度学习专家的多年研究和实验的结果。这个复杂的结构中包含有 2500 万个权重,如果没有对这个模型中各个部件的深入了解,从头优化这些权重可以说是几乎不可能的任务。幸运的是,有了迁移学习,你可以重用这个复杂的结构,以及这些优化过的权重,因此显著降低了深度学习的入门门槛。

多任务学习又是什么?

迁移学习是用于训练机器学习模型的知识共享技术的其中一种,已被证明是非常有效的。目前,知识共享技术中最有趣的两种就是迁移学习和多任务学习。在迁移学习中,模型首先在单个任务中进行训练,然后可以用于相关任务的起始点。在学习相关任务时,原始的被迁移模型会学习如何专门处理新的任务,而不需要担心会不会影响其在原来任务上的效果。而在多任务学习中,单个模型一次性学习处理多个任务,对模型的性能评估则取决于它学习之后能够多好地完成这些任务。后续我们也会分析讨论更过有关多任务学习的好处以及其何时能起作用。

结论

迁移学习是一项知识共享技术,其可以减少构建深度学习模型时对训练数据量,计算能力,以及工程人才的依赖。由于深度学习可以提供与传统机器学习相比的显著改进,迁移学习成为一项必不可少的工具。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3831

    浏览量

    52281
  • 机器学习
    +关注

    关注

    67

    文章

    8567

    浏览量

    137241
  • 深度学习
    +关注

    关注

    73

    文章

    5610

    浏览量

    124646

原文标题:吴恩达说“将引领下一波机器学习技术”的迁移学习到底好在哪?

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    中科创智浦共同打造面向下一代汽车中央计算架构的参考设计方案

    2026年4月26日,在北京国际汽车展览会上,中科创宣布与智浦半导体合作,基于智浦S32N5与S32J100产品组合,共同打造面向下一代汽车中央计算架构的参考设计方案。该方案同时
    的头像 发表于 04-30 15:41 66次阅读

    汽电发布基于英伟平台的机器人域控与多维感知产品

    3月26日下午,豪汽电举行豪机器人域控与多维感知产品发布暨投资者交流会,现场座无虚席,线上线下合计超过250名机构投资者与个人投资者,共同见证公司首款基于英伟Jetson Tho
    的头像 发表于 03-30 10:33 1337次阅读

    智浦与英伟携手推出面向先进物理AI的创新方案

    ● 与英伟合作开发,面向下一代物理AI应用的安全、可靠实时数据处理与传输解决方案 ● 英伟达人形机器人解决方案整合至智浦安全可靠的边缘
    的头像 发表于 03-17 10:12 1899次阅读
    <b class='flag-5'>恩</b>智浦与英伟<b class='flag-5'>达</b>携手推出面向先进物理AI的创新方案

    人工智能与机器学习在这些行业的深度应用

    自人工智能和机器学习问世以来,多个在线领域的数字化格局迎来了翻天覆地的变化。这些技术从诞生之初就为企业赋予了竞争优势,而在线行业正是受其影响最为显著的领域。人工智能(AI)与机器
    的头像 发表于 02-04 14:44 698次阅读

    强化学习会让自动驾驶模型学习更快吗?

    种让机器通过“试错”学会决策的办法。与监督学习不同,监督学习是有人提供示范答案,让模型去模仿;而强化学习不会把每
    的头像 发表于 01-31 09:34 846次阅读
    强化<b class='flag-5'>学习</b>会让自动驾驶模型<b class='flag-5'>学习</b>更快吗?

    机器学习和深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作段时间,机器学习和深度学习中都存在些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不
    的头像 发表于 01-07 15:37 358次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    基于ETAS嵌入式AI工具链机器学习模型部署到量产ECU

    AI在汽车行业的应用日益深化,如何机器学习领域的先进模型(如虚拟传感器)集成到ECU软件中,已成为业界面临的核心挑战。
    的头像 发表于 12-24 10:55 6401次阅读
    基于ETAS嵌入式AI工具链<b class='flag-5'>将</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型部署到量产ECU

    探索PSOC Edge E84 AI Kit:开启下一机器学习边缘设备设计之旅

    探索PSOC Edge E84 AI Kit:开启下一机器学习边缘设备设计之旅 在电子工程师的世界里,不断追求创新和高效是永恒的主题。今天,我们深入探讨
    的头像 发表于 12-18 14:45 929次阅读

    PSoC™ Edge E84 评估套件:开启下一机器学习边缘设备设计之旅

    PSoC™ Edge E84 评估套件:开启下一机器学习边缘设备设计之旅 在电子工程师不断追求创新与高效的今天,款优秀的评估套件能够极大地加速产品的设计与开发进程。英飞凌的 PSo
    的头像 发表于 12-18 14:40 798次阅读

    如何在机器视觉中部署深度学习神经网络

    人士而言往往难以理解,人们也常常误以为需要扎实的编程技能才能真正掌握并合理使用这项技术。事实上,这种印象忽视了该技术机器视觉(乃至生产自动化)带来的潜力,因为深度学习并非只属于计算机
    的头像 发表于 09-10 17:38 1065次阅读
    如何在<b class='flag-5'>机器</b>视觉中部署深度<b class='flag-5'>学习</b>神经网络

    蔚来新ES6技术到底好在哪

    新ES6采用铝合金及高强度钢混合架构的高性能车身,铝合金及高强度钢占比85.7%,同级领先。拥有体式压铸的全铝车身后地板和C/D柱,刚度效率更高,铸造工艺更好。相比全钢焊接工艺,在保证同样强度的情况下,重量显著降低,安全和性能两手抓、两手都硬。
    的头像 发表于 08-11 17:47 1449次阅读

    贸泽电子2025边缘AI与机器学习技术创新论坛回顾(上)

    2025年,随着人工智能技术的快速发展,边缘AI与机器学习市场迎来飞速增长,据Gartner预计,2025年至2030年,边缘AI市场保持23%的复合年增长率。
    的头像 发表于 07-21 11:08 1337次阅读
    贸泽电子2025边缘AI与<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>技术</b>创新论坛回顾(上)

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为种灵活且高效
    的头像 发表于 07-16 15:34 3109次阅读

    CES Asia 2025蓄势待发,聚焦低空经济与AI,引领未来产业新变革

    CES Asia 2025 第七届亚洲消费电子技术贸易展即将盛大开启,作为科技领域一年一度的盛会,今年的 CES Asia 承载着更多的期待与使命,致力于成为前沿科技与未来产业深度融合的引领
    发表于 07-09 10:29

    NVIDIA及合作伙伴在Automatica 重点展示下一机器人、自动化与AI技术

    人与协作系统, AI 技术深度融入实际制造业场景。在欧盟委员会 2,000 亿美元投资计划与协同举措的支持下,欧洲正致力于引领下一波 AI 驱动的工业自动化浪潮。 近期在德国慕尼黑举
    的头像 发表于 06-30 19:53 1600次阅读