什么是迁移学习 作为学生,要具举一反三能力。举一反三这句话来自《论语》。孔子曾对他的学生说:“举一隅,不以三隅反,则不复也。”意思是说“我举出一个方面,你们应该要能灵活的推想到另外几个方面,如果不能的话,我也不会再教你们了。”后来,大家就把孔子说的这段话变成了“举一反三”这句成语,意思是说,学一件东西,要可以灵活地思考,运用到其他相类似的东西上。 图:孔夫子大人哈哈哈 孔子的这句话的意思是,我如果教你学会骑马,你就应该学会骑摩托。如果你学了骑马还不会骑摩托,那我就不认你这个徒弟了。孔子的这句话说明了举一反三这个技能的重要性。我们人类只要稍微聪明一点,都会举一反三。但是,对于机器呢,它要学习起来,如何拥有这个技能呢?答案就是迁移学习。 迁移学习的英文是TransferLearning.通俗来讲,就是运用已有的知识来学习新的知识。它的核心是找到已有知识和新知识之间的相似性。由于直接对目标域从头开始学习成本太高,我们故而转向运用已有的相关知识来辅助尽快地学习新知识。比如,已经会下中国象棋,就可以类比着来学习国际象棋;已经会编写Java程序,就可以类比着来学习C#;已经学会英语,就可以类比着来学习法语;等等。世间万事万物皆有共性,如何合理地找寻它们之间的相似性,进而利用这个桥梁来帮助学习新知识,是迁移学习的核心问题。 图:迁移学习与传统机器学习的不同。(a)传统机器学习对不同的学习任务建立不同的模型,(b)迁移学习利用源域中的数据将知识迁移到目标域,完成模型建立。插图来自:SinnoJialinPanandQiangYang,Asurveyontransferlearning.IEEETKDE. 迁移学习的意义 机器要学到人类知识,除了机器学习算法,还需要大数据作为其训练样本。以AlphaGo为例。和天才的人类棋手相比,战胜李世石的AlphaGo其实是个“笨小孩”,它观摩和训练的棋局数以千万计,胜在了“勤能补拙”。AlphaGo结合了深度学习、强化学习和蒙特卡洛树搜索这三种算法,其中最主要的原理是深度学习。所谓深度学习,即搭建多层的人工神经网络,通过输入大数据来训练它的方法。围棋的大数据约从年开始积累,人们上网对弈的无数棋局逐渐汇聚成了人工智能的“启蒙教材”。 图:AlphaGo和李世石 简单的说,你要创建一个AlphaGo,你必须先要攒够足够的棋谱。事实上,目前各种风头正劲的人工智能应用,从搜索引擎、网购推荐到语音识别、自动驾驶,都离不开基于大数据大样本的深度学习。 这个大数据大样本,不是谁都有的。以语音识别领域的样本标注为例。你要标注每段语音是什么意思(文字表达)。你能标注1万小时,而我能标注7万小时,我就比你强。获得这种标注,虽然技术含量不高,但需要投入大量的人力和时间,因此很昂贵,像谷歌、百度这些大公司都是花很多钱让别的公司为他们标注数据。 拥有越多数据,就拥有越多资本,而投入越多资本,又会获得越多标注的数据。驴打滚又打滚,到时,所有的人工智能创新将全都集中在几家大公司手里。那时候才真正是数据为王啊。可以预见的是,那时候会出现多个数据寡头,做不做新的技术,做什么样的新技术,全由这几家公司说了算。这不是一件好事,这违反了人类所追求的自由。幸好,我们是最近十来年才步入信息化时代,拥有大数据的领域还相对较少,这就制约了人工智能的发展。(也给了我们这代人好多机遇哈,嘿嘿,数据寡头!想想都有点小激动哈) 不管怎么样,在这个背景和预见下,出现了迁移学习。年,迁移学习的概念被提出来,目标是让计算机把大数据领域习得的知识和方法迁移到数据不那么多的领域,这样,计算机也可以“举一反三”“触类旁通”,而不必在每个领域都依赖大数据从头学起。比如说,我花了大价钱买了万套国际象棋棋谱,浩浩荡荡的训练后,让我的机器学会了国际象棋。之后,我还想让我的机器学会下中国象棋。但是,我不想再花钱买万套中国象棋的棋谱了。我发现,国际象棋和中国象棋就比较相近,有部分棋子相同、走法相近,计算机学会了国际象棋,运用迁移学习的方法,只用观摩较少的棋局,就可以学会中国象棋。 迁移学习的缺陷 注意,迁移学习用在相近的领域,效果才能比较明显。比如,如果你的机器学会了下国际象棋,现在要学下围棋,那是迁移不得的哈,因为象棋和围棋就相隔较远,不适宜用迁移学习的方法。同理,你要让它学会打麻将,你还得重新去找大数据样本去学习。 迁移学习目前还面临很多困难,比如,衡量两个领域远近的标准还没有完善;也没有形成一个理论模型,告诉大家在运用这项技术时到底去除哪部分、迁移哪部分,现在只能一个项目一个项目地去研究,通用性较差。对此,一些笃信深度学习的业内人士认为,迁移学习并不是当前热点,也未必引领人工智能未来的发展。 那如何搞这个迁移学习呢? 迁移学习按照学习方式可以分为基于样本的迁移,基于特征的迁移,基于模型的迁移,以及基于关系的迁移。基于样本的迁移通过对源域中有标定样本的加权利用完成知识迁移;基于特征的迁移通过将源域和目标域映射到相同的空间(或者将其中之一映射到另一个的空间中)并最小化源域和目标域的距离来完成知识迁移;基于模型的迁移将源域和目标域的模型与样本结合起来调整模型的参数;基于关系的迁移则通过在源域中学习概念之间的关系,然后将其类比到目标域中,完成知识的迁移。 理论上,任何领域之间都可以做迁移学习。但是,如果源域和目标域之间相似度不够,迁移结果并不会理想,出现所谓的负迁移情况。比如,一个人会骑自行车,就可以类比学电动车;但是如果类比着学开汽车,那就有点天方夜谭了。如何找到相似度尽可能高的源域和目标域,是整个迁移过程最重要的前提。 迁移学习方面,代表人物有香港科技大学的QiangYang教授,南洋理工大学的SinnoJialinPan,以及第四范式的CEO戴文渊等。代表文献是SinnoJialinPan和QiangYang的Asurveyontransferlearning。 [参考资料] [1]PanSJ,YangQ.Asurveyontransferlearning[J].IEEETransactionsonknowledgeanddataengineering,,22(10):-. [2]IntroductiontoTransferLearning:北京哪家皮肤科医院好治疗皮肤病最好医院在哪里
|