导读:现在迁移学习大热,它红,是有它的道理的。什么是迁移学习?本文用最通俗易懂的语言为你讲解。

作者:木羊同学

来源:大数据DT(ID:hzdashuju)

迁移学习现在是很热的一个前沿研究方向。

当然,无论什么时候,很热的研究方向总是有几个的,不过,就我的观察,一个前沿研究方向能够乘风破浪真正热起来,除了必不可少的玄学影响,总的来说有两个大的因素,一个因素是奇思妙想,创造了一个全新的脑洞,大家虽然不知道这个脑洞最终通不通,通向哪里,但实在太有趣了都忍不住钻进去看看,也就是被做研究的趣味性所吸引。

另一个因素看起来就务实很多了,直指一个痛点问题。一套新的理论推出来,大家可能首先被它表现出来的能力,以及可被挖掘的潜力所折服,想象的空间很大,纷纷不吝溢美之词——这是这套理论的高光时刻。

但时间会改变一切。随着研究和实践的深入,理论的局限性也逐渐浮出水面,这应该说是每套理论的必然宿命,现实就像一个热衷于乱涂乱画的熊孩子,再优美的理论放到了现实面前,总免不了被添上糟心的几笔。

很快,这就成了这套优美理论身上的一块极不协调的丑陋伤疤,这就是痛点问题。每次研究到这,大家都会忍不住发弹幕来吐槽。但时间会改变一切,吐槽声会慢慢稀落下来,大家开始逐渐接受这个痛点问题也是理论体系的一部分,爱她就要爱她的全部。

当然,这不是故事的全部。做研究毕竟是比单纯吐槽得要多一点的思考。对一个问题吐槽的人越多,往往意味着,想解决这个问题人就越多。这个痛点问题的价值也就自然水涨船高,受关注度就越高,从而又进一步吸引更多的人来思考研究,形成一种良性循环。

01 机器学习之“痛”

现在迁移学习大热,说起来也有一定的“天选”原因,上述的两种因素,它都能扯得上关系。它红,是有它的道理的。

首先,迁移学习直指一个痛点问题,即机器学习的痛点问题。机器学习有一个人尽皆知的痛点问题,不过可能太痛了,痛得人尽皆知了,以至于很多人都忘了这货居然是一个货真价实的痛点问题。

什么问题呢?打标签数据不足的问题。

我们说机器学习技术,甚至范围更大一点,说人工智能技术,一直在讲一个美好的童话。现在是互联网时代,互联网时代什么多呢?风口多,数据更多。多到什么程度呢?非常非常的多,说是恒河沙数都太保守了,唯有占据这个蓝色星球71%的那个蓝色玩意,对,海洋,才可以相提并论。

互联网有海量数据,那怎么挖掘其中的风口呢?人肯定是看不过来了,996也看不过来,怎办呢?让机器帮帮忙吧,机器不眠不休,天生就爱处理数据,不正好擅长做这个嘛。这一帮好家伙,把人工智能自己也帮成了下一个风口。

听起来确实很美好,实际怎样呢?

“你哭着对我说,童话里都是骗人的”——没错,人工智能技术,具体来说,是机器学习确实非常适合处理海量数据,可是,魔鬼藏在细节之处。使用机器学习模型,首先你得训练机器学习模型。训练机器学习模型需要数据,这里说的数据,不是随随便便什么数据都可以喔,机器学习可是一点也不随便的。

02 卡住机器学习脖子的人力瓶颈

我们知道,机器学习中用得最最最多的一类学习方式,叫有监督学习。听起来很怪异,其实很简单,我在《机器学习算法的数学原理和Python实现》中用一句话解释什么叫“有监督学习”:训练数据中给出参考答案叫有监督学习。

“给出参考答案”是有监督学习最最显眼的特征。所以,你要用有监督学习的方法训练模型,你得有数据,光有数据还不行,你还得给出参考答案,行话叫给数据打标签。你得把数据都先打好了标签,才能开始训练。

痛点问题就在这里。光是这么听,你好像也没什么感觉。可是你想一想,谁来完成数据打标签的工作呢?是机器吗?不是,是人,由人来给数据打标签。

这就导致出现了一个很尴尬的局面:你想用机器学习,是因为数据海量,人忙不过来,可是真要用机器学习,你首先还是得先找人来打标签。人的时间精力是有瓶颈的,所以对数据的处理能力也有瓶颈。你选择使用机器学习,就是因为机器学习能够突破这种人的能力瓶颈。

可是现在,要用上机器学习,你照样还得先让人来处理数据,工作再一次被人的能力瓶颈所限制。

打标签数据不足,是机器学习最人尽皆知的痛点问题,这个问题非常严重,让机器学习陷入了一个非常狼狈的境地:你说数据是机器学习的燃料?那好,现在到处塞满的都是数据,就等着你来处理,可是偏偏你就没办法处理。

这个狼狈境地非常类似海难幸存者,自己非常口渴,而举目四望周围就是取之不尽的海水,偏偏自己一滴也喝不下去。最后造成的结果是,大家绕了一个大圈,最根本的问题还是没有很好地解决,人的瓶颈再次成了机器学习的瓶颈。

看起来,不论是互联网时代、大数据时代还是人工智能时代,最终还是没能逃脱人的时间精力有限的魔咒。最近渐渐有一些声音,说机器学习、人工智能技术已经泡沫化了,未来发展前景暗淡,这也是其中一种重要的论据。

03 标签数据不足的解渴之道

那业界主流是什么态度呢?简单——有条件要上,没条件创造条件也要上,你说打标签的样本少,数据集小模型学不了?那我就偏搞小样本学习。

这不是说气话,业界真的有一种研究方向就叫小样本学习,而且已经成了学术界和工业界一致关注的高价值问题,每年都有成吨的论文从不同方向朝着这个问题砸上去。其中知名度比较高的有三个:

  • 第一个是从标签信息传播角度下手,想把未打标签数据也用起来的半监督学习

  • 第二个是从提高打标签工作价值的角度下功夫,让机器自己举手提问的主动学习

  • 第三个是排在最后只是因为谦虚,其实效果很不错的迁移学习。这也是本文的主角。

什么是迁移学习呢?

迁移学习的根本目的,前面我们已经一再说过了,是为了应对机器学习需要大量打标签数据,而实际场景中打标签数据往往十分缺乏的问题,也即行话所说的小样本学习。这一题是有多解的,那迁移学习的解题思路是什么呢?

由于迁移学习尚属比较前沿的研究领域,我想首先给出权威的书面定义,让大家在脑海里对迁移学习建立一个比较准确的概念,当然,书面定义总会比较有“嚼劲”,不过不要紧,随后我会根据自己的理解嚼碎了来解释。

在迁移学习领域,杨强教授可以说是无人不知的泰斗。根据杨教授专门介绍迁移学习的新书《迁移学习》给出的迁移学习的定义(定义1.1):

给定源域Ds和学习任务Ts、目标域Dt和学习任务Tt,迁移学习是获取源域Ds和学习任务Ts中的知识以帮助提升目标域的预测函数的学习。

这段定义给我的感觉,很像早前网上对周董rap的评价:你要是知道他想说什么,你会发现他每一个字都咬得无比精准,但你要不知道他想说什么,你再怎么听都觉得他不知所云。如果你看完了上面的定义,产生的是第二种感觉,不要紧,待我细细说来,保证也让你体会到定义的“无比精准”。

理解迁移学习的关键,就在“迁移”二字上面。迁移有个“搬”的动作,从A地搬到B地,就叫迁移。所以,想要迁移,首先你得有两个“地址”,源地址和目标地址。这就是定义中说的源域和目标域,这也是迁移学习和很多其它方法,譬如前面提到的半监督学习重要的区别之处。把“知识”从源域“搬到”目标域,这就是所谓迁移学习。

04 为什么要“迁移”

可是等等,我们不是在聊“打标签数据”,研究“小样本学习”吗?怎么搞出了两个地址?这和打标签又有什么关系?

这就聊到了迁移学习的基本思想。以下是我个人的理解:

迁移学习最本初的出发点,我觉得更像是从经济学获得的灵感。现代经济学对我们的世界有一个最基本的假设:资源的分布是不均衡的。

迁移学习显然认同这个假设,如果我们把“打标签的数据”看作是一种资源,那么在迁移学习看来,这类资源在不同的领域是有不同的分布的。也就是说,在有一些领域,已经打了标签的数据会比较多,而另一些领域,打了标签的数据则要少得多。

这个假设是理解迁移学习的一把钥匙。这个假设乍看简单粗暴毫无道理,细想其实非常符合现实。在现实生活中,主流和小众就像光和影一样相伴相生,数据集也不例外,虽然已经打了标签的数据在总体上来说非常稀缺,但具体到各个领域还是有明显的“贫富”差距。

这个差距要怎样运用于解决打标签数据不足的问题呢?你可能已经猜到了,没错,就是“迁移”!

05 照猫画虎:迁移学习的核心奥义

既然有一些领域的打标签数据比较充分,足够让我们的机器学习模型学习,那么,只要我们能够把模型在这些领域学习到的知识“搬”出来,搬到缺乏打标签数据的领域,因为有了基础知识做底子,在新领域训练所需的打标签数据也就大大减少,虽然这个领域打标签数据的数量仍然很少,但因为需求降下来了,也就足够让模型正常运转起来。你看,这不就找到一种解决打标签数据不足的方案了吗?

没错,迁移学习就是这么认为的,我们有句俗语,叫“照猫画虎”,这大家都听过,这照猫画虎就是迁移学习。

你仔细想想,照猫画虎首先是因为什么呀?因为老虎的样本太少,满大街都不太好找,属于典型的“小样本”。而猫就好找多了,更别说现在还能云养猫,样本集的“贫富”悬殊,十分符合我们上面的描述。

06 迁移学习的三个灵魂之问

但是,还有隐藏的一个重要因素。

《迁移学习》提醒我们,在设计一个迁移学习算法时,一定别忘了考虑三个主要问题,第一个就是“何时迁移”问题。何时迁移,也就是要关注什么情况下才能通过迁移学习提高模型的学习性能。

迁移学习并不是包治百病的神药,在部分情况下,譬如说“照鹿画虎”,或者“照猴画虎”,源域与目标域彼此并不相关,使用迁移学习反而可能造成学习性能下降,术语称为“负迁移”,这是迁移学习所需要努力避免的,应该放在首要位置考虑。

那还有两个问题是什么呢?

第二个问题是迁移什么?前面我们说迁移学习就是给知识搬家,可这里“知识”指的是什么呢?不同的场景不同,不可一概而论,因此,划定“知识”的范畴是迁移学习的第二项重要工作。

第三个问题是如何迁移,这就要具体到迁移学习的算法了。《迁移学习》归纳出四类算法,分别是基于样本的算法、基于特征的算法、基于模型的算法和基于关系的算法。这也是迁移学习的核心内容,有很多知识点,书里专门分了4章来进行介绍。

迁移学习就介绍到这里。当然了,作为时下热门的研究方向,迁移学习的玩法还有很多,譬如说异构迁移学习。异构,指的是源域和目标域有着不同模态,也就是说照猫画虎已经算不得什么了,现在我们要照狗(的图片)来学猫叫,而《迁移学习》这本书不仅权威,而且是迁移学习的玩法大全。

07 迁移学习,还能学些什么

最后,我想分享个人对迁移学习的一个看法:迁移学习正在努力回答那个我们熟视无睹的本质问题,究竟什么是“学习”?

这不是一个很好回答的问题。机器学习现在大放异彩,解决了很多问题,提升了很多效率,这点有很多事实依据。

但是,从学术的角度看,机器学习模型的可用性和可解释性,并不是一对线性关系,简单来说,就是“我知道它很好用,但我并不知道它为什么能够这么好用。”机器学习机器学习,既然叫“学习”,自然得有“知识”,但机器学习学到的究竟是个什么“知识”呢?

有人不以为然,认为机器学习就是一种统计学工具,所谓的知识,无非就是概率分布,拒绝继续深入。更多的人,则故意忘掉了这个难缠的问题,选择实用至上。

而在迁移学习这里,我看到了大家重新拾起那个看似简单的问题,尝试用形式化的语言,来描述和操纵我们熟悉又陌生的抽象名词,“知识”。我推荐大家可以通过《迁移学习》这本书,从迁移学习这个前沿方向切入,了解业内对机器学习的“知识”的各种思考。

关于作者:莫凡,网名木羊同学。娱乐向机器学习解说选手,《机器学习算法的数学解析与Python实现》作者,前沿技术发展观潮者,擅长高冷技术的“白菜化”解说,微信公众号“睡前机器学习”,个人知乎号“木羊”。

延伸阅读《迁移学习》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:杨强教授领衔撰写,迁移学习“开山之作”,解决人工智能的“最后一公里”问题。张钹院士作序,邓力、高文、李开复、周志华(按姓氏拼音排序)联袂推荐。

划重点????

干货直达????

  • 西安交大送大一新生这本书,你读过吗?12本有趣有料的科普书盘点

  • 终于有人把AI、BI、大数据、数据科学讲明白了

  • 监督学习、非监督学习、强化学习都是什么?终于有人讲明白了

  • 一条SQL引发的“血案”:与SQL优化相关的4个案例

更多精彩????

在公众号对话框输入以下关键词

查看更多优质内容!

PPT | 读书 | 书单 | 硬核 | 干货 讲明白 | 神操作

大数据 | 云计算 | 数据库 | Python | 可视化

AI | 人工智能 | 机器学习 | 深度学习 | NLP

5G | 中台 | 用户画像 1024 | 数学 | 算法 数字孪生

据统计,99%的大咖都完成了这个神操作

????

乘风破浪的迁移学习!四字成语讲明白这个大热研究方向相关推荐

  1. 小初高四字成语学习笔记

    小学.初中.高中,四字成语大全分享,本来想把笔记粘贴出来的,太多了,没法弄,粘贴出来的格式都"糊了". 最后,还是努力的粘贴.编辑好了,同学们赶快收藏吧. 了如指掌    陈陈相因 ...

  2. abab的四字成语_关于abab的四字成语大全

    [导语]ABAC式的成语是指第一.第三字一样,其他两字不一样的成语.下面是无忧考网整理分享的关于abab的四字成语大全,欢迎阅读与借鉴,希望对你们有帮助! [篇一] 彼此彼此于思于思 彼哉彼哉 彼此彼 ...

  3. app式成语_成语大全四字成语下载-成语大全appv2.2.2 安卓版-腾牛安卓网

    成语大全app是一款特别不错的线下成语学习软件,这里有多种模式帮你更深刻的学习成语知识,看图猜成语,考验成语积累量,成语词典功能,随时可以查阅,还有饱含深意的成语故事,功能十分强大,感兴趣的朋友快来下 ...

  4. 编写一个猜成语的小游戏。要求:使用一个字符串数组来保存10个四字成语,例如: String [] idioms = {“凉拌黄瓜”, “红烧肘子”, …};

    编写一个猜成语的小游戏. 要求:使用一个字符串数组来保存10个四字成语,例如: String [] idioms = {"凉拌黄瓜", "红烧肘子", -}; ...

  5. abab的四字成语_关于abab的四字成语

    aabc类的词语,就是指前两个字相同,后面是两个不同的字.那么有哪些常用的aabc的四字成语呢?下面是学习啦小编给大家整理的关于abab的四字成语,供大家阅读! 关于abab的四字成语 搅和搅和 拨拉 ...

  6. python 成语接龙1-爬去四字成语

    # coding=utf-8 import requests import random import xpinyin from bs4 import BeautifulSoup #定义爬取的网站地址 ...

  7. 喜什么颜什么的成语(喜什么颜什么四字成语大全)

    喜什么颜什么的成语(喜什么颜什么四字成语大全) 喜笑颜开: 颜开:脸面舒开,指笑容.形容心里高兴,满面笑容. 喜逐颜开: 逐:追随:颜:脸面,面容.形容十分喜悦,满脸笑容. 推荐阅读:令狐姓起名 宝宝 ...

  8. 奋什么直什么的成语(奋什么直什么四字成语大全)

    奋什么直什么的成语(奋什么直什么四字成语大全) 奋笔直书: 奋笔:提起笔来.指精神昂扬地挥笔快速书写.同"奋笔疾书". 奋起直追: 振作起来,紧紧赶上去. 奋勇直前: 奋:振起.勇 ...

  9. 8个成语接龙首尾相连_四字成语接龙连接8个

    四字成语接龙连接8个以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 1. 用四开头成语接龙8个,再用成语接龙中4个写作文 ...

最新文章

  1. max 安装 mysql5.x_MySQL5.7安装
  2. MVC+JSON 无限滚动翻页
  3. curses颜色操作
  4. [异常记录] Error: Could not find header file for MYSQL
  5. 催人泪下!一个程序员的悲惨故事
  6. javascript-04 引用类型
  7. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)
  8. HTTP之Cache-Control基本概念以及实例(C++ Qt实现)
  9. kafka面试题简答
  10. 黑马程序员全套Java教程_Java基础教程_目录
  11. 皮克定理(计算多边形面积)
  12. 寻找因数——算法简化
  13. 运维部门工作总结_IT部门运维年终总结报告
  14. scratch实现秋天的画
  15. n1装哪个版本的linux,斐讯t1/N1是装Ubuntu,还是LinuxDeploy,哪个更好?
  16. 用Python写一个拼音输入法
  17. 原生JavaScript实现连缀调用
  18. java 解析器_高性能Java解析器实现过程详解
  19. python行为驱动测试开发_行为驱动开发在 Python 开发测试中的应用
  20. 30行Python代码,打造一个微信群聊助手~

热门文章

  1. Java文档阅读笔记-JPA Tutorial
  2. C++获取虚表中的函数并调用
  3. C++工作笔记-C++中assert的作用
  4. 计算机组成原理 北理,北京理工大学计算机组成原理期末复习.pdf
  5. MYSQL 表 部分数据导出、导入
  6. 怎样格式化电脑_硬盘数据销毁最安全的步骤是怎样的?有公司可以做吗
  7. (王道408考研数据结构)第一章绪论-第二节1:算法的基本概念、算法的特性及设计要求
  8. 2-5:套接字(Socket)编程之从内核角度深入理解套接字
  9. Linux下设计一个简单的线程池
  10. 面试题 01.06. 字符串压缩