您的位置:首页 > 其它

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

2021-03-25 21:17 113 查看
迁移学习现在是很热的一个前沿研究方向。


当然,无论什么时候,很热的研究方向总是有几个的,不过,就我的观察,一个前沿研究方向能够乘风破浪真正热起来,除了必不可少的玄学影响,总的来说有两个大的因素,一个因素是奇思妙想,创造了一个全新的脑洞,大家虽然不知道这个脑洞最终通不通,通向哪里,但实在太有趣了都忍不住钻进去看看,也就是被做研究的趣味性所吸引。
另一个因素看起来就务实很多了,直指一个痛点问题。一套新的理论推出来,大家可能首先被它表现出来的能力,以及可被挖掘的潜力所折服,想象的空间很大,纷纷不吝溢美之词——这是这套理论的高光时刻。
但时间会改变一切。随着研究和实践的深入,理论的局限性也逐渐浮出水面,这应该说是每套理论的必然宿命,现实就像一个热衷于乱涂乱画的熊孩子,再优美的理论放到了现实面前,总免不了被添上糟心的几笔。
很快,这就成了这套优美理论身上的一块极不协调的丑陋伤疤,这就是痛点问题。每次研究到这,大家都会忍不住发弹幕来吐槽。但时间会改变一切,吐槽声会慢慢稀落下来,大家开始逐渐接受这个痛点问题也是理论体系的一部分,爱她就要爱她的全部。
当然,这不是故事的全部。做研究毕竟是比单纯吐槽得要多一点的思考。对一个问题吐槽的人越多,往往意味着,想解决这个问题人就越多。这个痛点问题的价值也就自然水涨船高,受关注度就越高,从而又进一步吸引更多的人来思考研究,形成一种良性循环。

01 机器学习之“痛”
现在迁移学习大热,说起来也有一定的“天选”原因,上述的两种因素,它都能扯得上关系。它红,是有它的道理的。
首先,迁移学习直指一个痛点问题,即机器学习的痛点问题。机器学习有一个人尽皆知的痛点问题,不过可能太痛了,痛得人尽皆知了,以至于很多人都忘了这货居然是一个货真价实的痛点问题。
什么问题呢?打标签数据不足的问题。


我们说机器学习技术,甚至范围更大一点,说人工智能技术,一直在讲一个美好的童话。现在是互联网时代,互联网时代什么多呢?风口多,数据更多。多到什么程度呢?非常非常的多,说是恒河沙数都太保守了,唯有占据这个蓝色星球71%的那个蓝色玩意,对,海洋,才可以相提并论。
互联网有海量数据,那怎么挖掘其中的风口呢?人肯定是看不过来了,996也看不过来,怎办呢?让机器帮帮忙吧,机器不眠不休,天生就爱处理数据,不正好擅长做这个嘛。这一帮好家伙,把人工智能自己也帮成了下一个风口。
听起来确实很美好,实际怎样呢?
“你哭着对我说,童话里都是骗人的”——没错,人工智能技术,具体来说,是机器学习确实非常适合处理海量数据,可是,魔鬼藏在细节之处。使用机器学习模型,首先你得训练机器学习模型。训练机器学习模型需要数据,这里说的数据,不是随随便便什么数据都可以喔,机器学习可是一点也不随便的。

02 卡住机器学习脖子的人力瓶颈
我们知道,机器学习中用得最最最多的一类学习方式,叫有监督学习。听起来很怪异,其实很简单,我在《机器学习算法的数学原理和Python实现》中用一句话解释什么叫“有监督学习”:训练数据中给出参考答案叫有监督学习。
“给出参考答案”是有监督学习最最显眼的特征。所以,你要用有监督学习的方法训练模型,你得有数据,光有数据还不行,你还得给出参考答案,行话叫给数据打标签。你得把数据都先打好了标签,才能开始训练。
痛点问题就在这里。光是这么听,你好像也没什么感觉。可是你想一想,谁来完成数据打标签的工作呢?是机器吗?不是,是人,由人来给数据打标签。
这就导致出现了一个很尴尬的局面:你想用机器学习,是因为数据海量,人忙不过来,可是真要用机器学习,你首先还是得先找人来打标签。人的时间精力是有瓶颈的,所以对数据的处理能力也有瓶颈。你选择使用机器学习,就是因为机器学习能够突破这种人的能力瓶颈。
可是现在,要用上机器学习,你照样还得先让人来处理数据,工作再一次被人的能力瓶颈所限制。


打标签数据不足,是机器学习最人尽皆知的痛点问题,这个问题非常严重,让机器学习陷入了一个非常狼狈的境地:你说数据是机器学习的燃料?那好,现在到处塞满的都是数据,就等着你来处理,可是偏偏你就没办法处理。
这个狼狈境地非常类似海难幸存者,自己非常口渴,而举目四望周围就是取之不尽的海水,偏偏自己一滴也喝不下去。最后造成的结果是,大家绕了一个大圈,最根本的问题还是没有很好地解决,人的瓶颈再次成了机器学习的瓶颈。
看起来,不论是互联网时代、大数据时代还是人工智能时代,最终还是没能逃脱人的时间精力有限的魔咒。最近渐渐有一些声音,说机器学习、人工智能技术已经泡沫化了,未来发展前景暗淡,这也是其中一种重要的论据。

03 标签数据不足的解渴之道
那业界主流是什么态度呢?简单——有条件要上,没条件创造条件也要上,你说打标签的样本少,数据集小模型学不了?那我就偏搞小样本学习。
这不是说气话,业界真的有一种研究方向就叫小样本学习,而且已经成了学术界和工业界一致关注的高价值问题,每年都有成吨的论文从不同方向朝着这个问题砸上去。其中知名度比较高的有三个:

  • 第一个是从标签信息传播角度下手,想把未打标签数据也用起来的半监督学习
  • 第二个是从提高打标签工作价值的角度下功夫,让机器自己举手提问的主动学习
  • 第三个是排在最后只是因为谦虚,其实效果很不错的迁移学习。这也是本文的主角。


什么是迁移学习呢?
迁移学习的根本目的,前面我们已经一再说过了,是为了应对机器学习需要大量打标签数据,而实际场景中打标签数据往往十分缺乏的问题,也即行话所说的小样本学习。这一题是有多解的,那迁移学习的解题思路是什么呢?
由于迁移学习尚属比较前沿的研究领域,我想首先给出权威的书面定义,让大家在脑海里对迁移学习建立一个比较准确的概念,当然,书面定义总会比较有“嚼劲”,不过不要紧,随后我会根据自己的理解嚼碎了来解释。
在迁移学习领域,杨强教授可以说是无人不知的泰斗。根据杨教授专门介绍迁移学习的新书《迁移学习》给出的迁移学习的定义(定义1.1):

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


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


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

04 为什么要“迁移”
可是等等,我们不是在聊“打标签数据”,研究“小样本学习”吗?怎么搞出了两个地址?这和打标签又有什么关系?
这就聊到了迁移学习的基本思想。以下是我个人的理解:
迁移学习最本初的出发点,我觉得更像是从经济学获得的灵感。现代经济学对我们的世界有一个最基本的假设:资源的分布是不均衡的。
迁移学习显然认同这个假设,如果我们把“打标签的数据”看作是一种资源,那么在迁移学习看来,这类资源在不同的领域是有不同的分布的。也就是说,在有一些领域,已经打了标签的数据会比较多,而另一些领域,打了标签的数据则要少得多。
这个假设是理解迁移学习的一把钥匙。这个假设乍看简单粗暴毫无道理,细想其实非常符合现实。在现实生活中,主流和小众就像光和影一样相伴相生,数据集也不例外,虽然已经打了标签的数据在总体上来说非常稀缺,但具体到各个领域还是有明显的“贫富”差距。
这个差距要怎样运用于解决打标签数据不足的问题呢?你可能已经猜到了,没错,就是“迁移”!

05 照猫画虎:迁移学习的核心奥义
既然有一些领域的打标签数据比较充分,足够让我们的机器学习模型学习,那么,只要我们能够把模型在这些领域学习到的知识“搬”出来,搬到缺乏打标签数据的领域,因为有了基础知识做底子,在新领域训练所需的打标签数据也就大大减少,虽然这个领域打标签数据的数量仍然很少,但因为需求降下来了,也就足够让模型正常运转起来。你看,这不就找到一种解决打标签数据不足的方案了吗?
没错,迁移学习就是这么认为的,我们有句俗语,叫“照猫画虎”,这大家都听过,这照猫画虎就是迁移学习。
你仔细想想,照猫画虎首先是因为什么呀?因为老虎的样本太少,满大街都不太好找,属于典型的“小样本”。而猫就好找多了,更别说现在还能云养猫,样本集的“贫富”悬殊,十分符合我们上面的描述。



06 迁移学习的三个灵魂之问
但是,还有隐藏的一个重要因素。
《迁移学习》提醒我们,在设计一个迁移学习算法时,一定别忘了考虑三个主要问题,第一个就是“何时迁移”问题。何时迁移,也就是要关注什么情况下才能通过迁移学习提高模型的学习性能。
迁移学习并不是包治百病的神药,在部分情况下,譬如说“照鹿画虎”,或者“照猴画虎”,源域与目标域彼此并不相关,使用迁移学习反而可能造成学习性能下降,术语称为“负迁移”,这是迁移学习所需要努力避免的,应该放在首要位置考虑。
那还有两个问题是什么呢?
第二个问题是迁移什么?前面我们说迁移学习就是给知识搬家,可这里“知识”指的是什么呢?不同的场景不同,不可一概而论,因此,划定“知识”的范畴是迁移学习的第二项重要工作。
第三个问题是如何迁移,这就要具体到迁移学习的算法了。《迁移学习》归纳出四类算法,分别是基于样本的算法、基于特征的算法、基于模型的算法和基于关系的算法。这也是迁移学习的核心内容,有很多知识点,书里专门分了4章来进行介绍。
迁移学习就介绍到这里。当然了,作为时下热门的研究方向,迁移学习的玩法还有很多,譬如说异构迁移学习。异构,指的是源域和目标域有着不同模态,也就是说照猫画虎已经算不得什么了,现在我们要照狗(的图片)来学猫叫,而《迁移学习》这本书不仅权威,而且是迁移学习的玩法大全。

07 迁移学习,还能学些什么
最后,我想分享个人对迁移学习的一个看法:迁移学习正在努力回答那个我们熟视无睹的本质问题,究竟什么是“学习”?
这不是一个很好回答的问题。机器学习现在大放异彩,解决了很多问题,提升了很多效率,这点有很多事实依据。


但是,从学术的角度看,机器学习模型的可用性和可解释性,并不是一对线性关系,简单来说,就是“我知道它很好用,但我并不知道它为什么能够这么好用。”机器学习机器学习,既然叫“学习”,自然得有“知识”,但机器学习学到的究竟是个什么“知识”呢?
有人不以为然,认为机器学习就是一种统计学工具,所谓的知识,无非就是概率分布,拒绝继续深入。更多的人,则故意忘掉了这个难缠的问题,选择实用至上。
而在迁移学习这里,我看到了大家重新拾起那个看似简单的问题,尝试用形式化的语言,来描述和操纵我们熟悉又陌生的抽象名词,“知识”。我推荐大家可以通过《迁移学习》这本书,从迁移学习这个前沿方向切入,了解业内对机器学习的“知识”的各种思考。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: