联系我们
- 地 址:北京市海淀区北四环西路9号 ,主 营:人脸识别,活体检测,身份证识别,银行卡识别,名片识别,车牌识别,OCR识别等及智能识别技术。
- 电 话:13146317170 廖经理
- 传 真:
- 邮 箱:398017534@qq.com
迁移学习来了?深度学习已经成为过去?
迁移学习来了?深度学习已经成为过去?
做AI研讨就像造宇宙飞船,除了充足的燃料之外,强劲的引擎也是必不可少的。假定燃料缺乏,则飞船就无法进入预定轨道。而引擎不够强劲,飞船以致不能升空。类比于AI,深度学习模型就似乎引擎,海量的锻炼数据就似乎燃料,这两者关于AI而言同样缺一不可。在锻炼深度神经网络、学习输入到输出的精准映射上,近年来大家做得越来越好。不管是针对图像、语句,还是标签预测,有了大量做过标志的样例,都已不再是难题。
但是!今天的深度学习算法仍然欠缺的,是在新情况(不同于锻炼集的情况)上的泛化才干和锻炼模型所必需的海量数据难以获取。
深度学习的局限性
在深度学习如火如荼,全民深度的时分说深度学习的坏话,而且关于那些没有看完本文的标题党,会不会打我。但是我还是要鼓足勇气说一下深度学习目前面临的困难:
1. 表达才干的限制。由于一个模型毕竟是一种理想的反映,等于是理想的镜像,它能够描画理想的才干越强就越准确,而机器学习都是用变量来描画世界的,它的变量数是有限的,深度学习的深度也是有限的。另外它对数据的需求量随着模型的增大而增大,但理想中有那么多高质量数据的情况还不多。所以一方面是数据量,一方面是数据里面的变量、数据的复杂度,深度学习来描画数据的复杂度还不够复杂。
2.缺乏反响机制。目前深度学习对图像识别、语音识别等问题来说是最好的,但是对其他的问题并不是最好的,特别是有延迟反响的问题,例如机器人的行动,AlphaGo下围棋也不是深度学习包打一切的,它还有强化学习的一部分,反响是直到最后那一步才知道你的胜负。还有很多其他的学习任务都不一定是深度学习才干来完成的。
3. 模型复杂度高。以下是一些当前比较盛行的机器学习模型和其所需的数据量,可以看到随着模型复杂度的进步,其参数个数和所需的数据量也是惊人的。
640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1
OK,从上面的阐述,我们可以得出目前传统的机器学习方法(包括深度学习)三个待处置的关键问题:
1.随着模型复杂度的进步,参数个数惊人。
2.在新情况下模型泛化才干有待进步。
3.锻炼模型的海量的标志费时且昂贵。
4.表达才干有限且缺乏反响机制。
迁移学习帮你搞定一切,让你的模型小而轻,还能举一反三!
到底什么是迁移学习?
“你永远不能理解一种言语——除非你至少理解两种言语”。
任何一个学过第二言语的人,对英国作家杰弗里·威廉斯的这句话应该都会“感同身受”。但为什么这样说呢?其缘由在于学习运用外语的过程会不可避免地加深一个人对其母语的理解。事实上,歌德也发现这一理念的强大才能,致使于他不由自主地做出了一个与之类似但更为极端的断言:
“一个不会外语的人对其母语也一无所知”。
这种说法极为有趣,但令人惊讶的是恐怕更在于其实质——对某一项技艺或心理机能的学习和精进能够对其他技艺或心理机能产生积极影响——这种效应即为迁移学习。它不只存在于人类智能,对机器智能同样如此。往常,迁移学习已成为机器学习的基础研讨范畴之一,且具有普遍的理论应用潜力。
一些人或许会很惊讶,计算机化的学习系统怎样能展现出迁移学习的才干。Google经过一项触及两套机器学习系统的实验来思索了这个问题,为了简单起见,我们将它们称为机器A和机器B。机器A运用全新的DNN,机器B则运用曾经接受锻炼并能理解英语的DNN。往常,假定我们用一组完好相同的普通话录音及对应文本来对机器A和B中止锻炼,大家觉得结果会怎样?令人称奇的是,机器B(曾接受英语锻炼的机器)展现出比机器A更好的普通话技艺,由于它之前接受的英语锻炼将相关才干迁移到了普通话理解任务中。
不只如此,这项实验还有另一个令人更为惊叹的结果:机器B不只普通话才干更高,它的英语理解才干也会进步!看来威廉斯和歌德确实说对了一点——学习第二言语确实能够加深对两种言语的理解,即使机器也不例外。
其实这就是计算机化的迁移学习。但是在我们身边,迁移学习的例子太多太多,一个知晓吉他的人会比那些没有音乐基础的人能更快地学习钢琴;一个会打乒乓球的人比没有阅历的人更容易接受网球;会骑自行车的人能更快学习骑电动车,等等,迁移学习就在你身边。
640?wx_fmt=jpeg
迁移学习和传统机器学习的差别
在机器学习的经典监视学习场景中,假设我们要针对一些任务和域A 锻炼一个模型,我们会假定被提供了针对同一个域和任务的标签数据(也就是说锻炼集和测试集的数据必需是iid的,即独立同分布)。我们可以在下图中清楚地看到这一点,其中我们的模型 A 在锻炼数据和测试数据中的域和任务都是一样的(后面我会细致地定义什么是任务(task),以及什么是域(domain))。
640?wx_fmt=jpeg
往常我们可以在这个数据集上锻炼一个模型 A,并希冀它在同一个任务和域中的未知数据上表现良好。在另一种情况下,当给定一些任务或域 B 的数据时,我们还需求可以用来锻炼模型 B 的有标签数据,这些数据要属于同一个任务和域,这样我们才干预期能在这个数据集上表现良好。
但是,理想常常很残酷,当我们没有足够的来自于我们关心的任务或域的标签数据来锻炼可靠的模型时(新的标签数据很难获取,或者很费时),传统的监视学习范式就支持不了了。
但传统的监视学习方法也会失灵——在缺乏某任务/范畴标志数据的情况下,它常常无法得出一个可靠的模型。举个例子,假设我们想要锻炼出一个模型,对夜间的行人图像中止监测,我们可以应用一个相近范畴的锻炼模型——白昼的行人监测。理论上这是可行的。但理论上,模型的表现效果经常会大幅恶化,以致崩溃。这很容易理解,模型从白昼锻炼数据获取了一些倾向,不知道怎样泛化到新场景。
假设我们想要执行全新的任务,比如监测自行车骑手,重复运用原先的模型是行不通的。这里有一个很关键的缘由:不同任务的数据标签不同。但是迁移学习就允许我们经过借用曾经存在的一些相关的任务或域的标签数据来处置这些场景,充分应用相近任务/范畴的现有数据我们尝试着把在源域中处置源任务时获得的学问存储下来,并将其应用在我们感兴味的目的域中的目的任务上去,如下图所示。
640?wx_fmt=jpeg
迁移学习的概念、定义及分类
1.迁移学习的基本概念:域和任务,源和目的
一个域D由一个特征空间X和特征空间上的边沿概率分布P(X)组成,其中 X=x1,…, xn∈X。关于有很多词袋表征(bag-of-words representation)的文档分类,X 是一切文档表征的空间,xi是第i个单词的二进制特征,X是一个特定的文档。对我来说,粗浅的理解就是域D就是特征的空间及分布。
给定一个域D={X,P(X)},一个任务T由一个标签空间y以及一个条件概率分布P(Y|X)构成,这个条件概率分布通常是从由特征——标签对xi∈X,yi∈Y 组成的锻炼数据中学习得到。在我们的文档分类的例子中,Y是一切标签的集合(即真(True)或假(False)),yi要么为真,要么为假。
源域 Ds,一个对应的源任务Ts,还有目的域 Dt,以及目的任务Tt,这个就很好理解了,源就是对应的我们的锻炼集,目的就是对应我们的测试集。
2.迁移学习的定义
在Ds≠Dt和/或Ts≠Tt的情况下,让我们在具备来源于Ds 和Ts的信息时,学习得到目的域Dt中的条件概率分布P(Yt|Xt)。绝大多数情况下,假定可以获得的有标签的目的样本是有限的,有标签的目的样本远少于源样本。
3.迁移学习的分类
(1) XS≠XT,即源域和目的域的特征空间不同,举个例子,文档是用两种不同的言语写的。在自然言语处置的背景下,这通常被称为跨言语顺应(cross-lingual adaptation),我们将这种情况称为异构迁移学习(Heterogeneous TL)。
(2) XS=XT,即源域和目的域的特征空间相同,称为同构迁移学习(Homogenrous TL)
(3) P(Xs)≠P(Xt),源域和目的域的边沿概率分布不同,例如,两个文档有着不同的主题。这种情况通常被称为域顺应(domain adaptation)。
(4) P(Ys|Xs)≠P(Yt|Xt),源任务和目的任务的条件概率分布不同,例如,两个不同数据集的标签规则是不一样的。
(5)YS≠YT,两个任务的标签空间不同,例如源域是二分类问题,目的域是4分类问题,由于不同的任务具有不同的标签空间,但是具有相同的条件概率分布,这是极端稀有的。借用一张之前自己做的幻灯片。
640?wx_fmt=jpeg
4.迁移学习的四种常见处置方法
640?wx_fmt=png
四种方法分别为:基于样本的迁移学习、基于特征的迁移学习、基于参数/特征的迁移学习和基于关系的迁移学习。
(1) 基于样本的迁移学习
640?wx_fmt=jpeg
第一种为样本迁移,就是在数据集(源范畴)中找到与目的范畴相似的数据,把这个数据的权值中止调整,使得新的数据与目的范畴的数据中止匹配(将分布变成相同)。样本迁移的特性是:
a)需求对不同例子加权;
b)需求用数据中止锻炼,上图的例子就是找到源范畴的例子;
c) 然后加重该样本的权值,使得在预测目的范畴时的比重加大。
(2) 基于特征的迁移学习
640?wx_fmt=jpeg
640?wx_fmt=jpeg
第二种为特征迁移,就是经过观察源范畴图像与目的域图像之间的共同特征,然后应用观察所得的共同特征在不同层级的特征间中止自动迁移,上图左侧的例子就是找当两种狗在不同层级上的共同特征,然后中止预测。
(3) 基于参数/模型的迁移学习
640?wx_fmt=jpeg
第三种为模型迁移,其原理时应用上千万的狗狗图象锻炼一个识别系统,当我们遇到一个新的狗狗图象范畴,就不用再去找几千万个图象来锻炼了,可以原来的图像识别系统迁移到新的范畴,所以在新的范畴只用几万张图片同样能够获取相同的效果。模型迁移的一个好处是我们可以区分,就是可以和深度学习别离起来,我们可以区分不同层次可迁移的度,相似度比较高的那些层次他们被迁移的可能性就大一些。
(4) 基于关系的迁移学习
640?wx_fmt=jpeg
这种关系的迁移,我研讨的较少,定义说明是可以将两个相关域之间的相关性学问树立一个映射,例如源域有皇帝、皇后,那么就可以对目的域的男和女之间树立这种关系,普通用在社会网络,社交网络之间的迁移上比较多。
迁移学习到底可以处置哪些问题
迁移学习主要可以处置两大类问题:小数据问题和个性化问题。
小数据问题:比方说我们新开一个网店,卖一种新的糕点,我们没有任何的数据,就无法树立模型对用户中止举荐。但用户买一个东西会反响到用户可能还会买另外一个东西,所以假设知道用户在另外一个范畴,比方说卖饮料,曾经有了很多很多的数据,应用这些数据建一个模型,别离用户买饮料的习气和买糕点的习气的关联,我们就可以把饮料的举荐模型给成功地迁移到糕点的范畴,这样,在数据不多的情况下可以成功举荐一些用户可能喜欢的糕点。这个例子就说明,我们有两个范畴,一个范畴曾经有很多的数据,能成功地建一个模型,有一个范畴数据不多,但是和前面那个范畴是关联的,就可以把那个模型给迁移过来。
个性化问题:比如我们每个人都希望自己的手机能够记住一些习气,这样不用每次都去设定它,我们怎样才干让手机记住这一点呢?其实可以经过迁移学习把一个通用的用户运用手机的模型迁移到个性化的数据上面。我想这种情况以后会越来越多。
迁移学习的应用
1. 我到底是什么颜色?
640?wx_fmt=jpeg
大家一看这幅图就知道,这里以此前网上盛行的一个连衣裙图片为例。如图所示,假设你想经过深度学习判别这条裙子到底是蓝黑条纹还是白金条纹,那就必需搜集大量的包含蓝黑条纹或者白金条纹的裙子的图像数据。参考上文提到的问题范围和参数范围之间的对应关系,树立这样一个精准的图像识别模型至少需求140M个参数,1.2M张相关的图像锻炼数据,这几乎是一个不可能完成的任务。
往常引入迁移学习,用如下公式可以得到在迁移学习中这个模型所需的参数个数:
No. of parameters = [Size(inputs) + 1] * [Size(outputs) + 1] = [2048+1]*[1+1]~ 4098parameters
可以看到,经过迁移学习的引入,针对同一个问题的参数个数从140M减少到了4098,减少了10的5次方个数量级!这样的对参数和锻炼数据的消减程度是惊人的。
这里给大家引见一个迁移学习的工具NanoNets,它是一个简双便当的基于云端完成的迁移学习工具,其内部包含了一组曾经完成好的预锻炼模型,每个模型有数百万个锻炼好的参数。用户可以自己上传或经过网络搜索得到数据,NanoNets将自动根据待解问题选择最佳的预锻炼模型,并根据该模型树立一个NanoNets(纳米网络),并将之适配到用户的数据。以上文提到的蓝黑条纹还是白金条纹的连衣裙为例,用户只需求选择待分类的称号,然后自己上传或者网络搜索锻炼数据,之后NanoNets就会自动适配预锻炼模型,并生成用于测试的web页面和用于进一步开发的API接口。如下所示,图中为系统根据一张连衣裙图片给出的分析结果。细致运用方法详见NanoNets官网:http://nanonets.ai/ 。
640?wx_fmt=jpeg
2. Deepmind的作品 progressive neural network(机器人)
Google的Deepmind向来是大家关注的热点,就在去年,其将三个小游戏Pong, Labyrinth, Atari经过将已学其一的游戏的parameter经过一个lateral connection feed到一个新游戏。外墙的可以看youtub的视频:https://www.youtube.com/watch?v=aWAP_CWEtSI,与此同时,DeepMind最新的成果Progressive Neural Networks终于伸向真正的机器人了!
640?wx_fmt=jpeg
它做了什么事情呢?就是在仿真环境中锻炼一个机械臂移动,然后锻炼好之后,可以把学问迁移到真实的机械臂上,真实的机械臂稍加锻炼也可以做到和仿真一样的效果!视频在这:https://www.youtube.com/watch?v=YZz5Io_ipi8
3. 舆情分析
640?wx_fmt=jpeg
迁移学习也可应用在舆情分析中,如用户评价方面。以电子产品和视频游戏留言为例,上图中绿色为好评标签,而红色为差评标签。我们可以从上图左侧的电子产品评价中找到特征,促使它在这个范畴(电子产品评价)树立模型,然后应用模型把其迁移到视频游戏中。这里可以看到,舆情也可以中止大范围的迁移,而且在新的范畴不需求标签。
4. 个性化对话
640?wx_fmt=jpeg
锻炼一个通用型的对话系统,该系统可能是闲谈型,也可能是一个任务型的。但是,我们可以根据在特定范畴的小数据修正它,使得这个对话系统顺应不同任务。比如,一个用户想买咖啡,他并不想回答一切繁琐的问题,例如是要大杯小杯,热的冷的?
5. 基于迁移学习的举荐系统
640?wx_fmt=jpeg
在线举荐系统中应用迁移学习,可以在某个范畴做好一个举荐系统,然后应用在稠密的、新的垂直范畴。(影像资料——>书籍资料)
6.迁移学习在股票中的预测
香港科技大学杨强教授的学生就把迁移学习应用到大家公认的很难的范畴中——预测股市走势。下图所示为A股里面的某个股票,用过去十年的数据锻炼该模型。首先,运用数据之间的衔接,产生不同的状态,让各个状态之间能够互相迁移。其次,不同状态之间将发作变化,他们用了一个强化学习器模拟这种变化。最后,他们发现深度学习的隐含层里面会自动产生几百个状态,基本就能够对这十年来的经济状况做出一个很完善的总结。
杨强教授也表示,这个例子只是在金融范畴的一个小小的实验。不过,一旦我们对一个范畴有了透彻的了解,并控制更多的高质量数据,就可以将人工智能技术迁移到这个范畴来,在应用过程中对所遇到的问题作明晰的定义,最终能够完成通用型人工智能的目的。
640?wx_fmt=jpeg
迁移学习的应用越来越普遍,这里仅仅引见了冰山一角,例如生物基因检测、异常检测、疾病预测、图像识别等等。
风头正劲的迁移学习
640?wx_fmt=jpeg
当今全世界都在推进迁移学习,当今 AAAI 中大约有 20 多篇迁移学习相关文章,而往年只需五六篇。与此同时,如吴恩达等深度学习代表人物也开端做迁移学习。正如吴恩达在 NIPS 2016 讲座上画了一副草图,大致的意义如下图所示:
640?wx_fmt=jpeg
有一点是无须置疑的:迄今为止,机器学习在业界的应用和成功,主要由监视学习推进。而这又是树立在深度学习的进步、更强大的计算设备、做了标志的大型数据集的基础上。近年来,这一波公众对人工智能技术的关注、投资收购浪潮、机器学习在日常生活中的商业应用,主要是由监视学习来引领。但是,该图在吴恩达眼中是推进机器学习取得商业化成果的主要驱动技术,而且从中可以看出,吴恩达以为下一步将是迁移学习的商业应用大迸发。
最后,自创香港科技大学计算机与工程系主任,全球第一位华人AAAI Fellow杨强教授在2016年底腾讯暨KDD China 大数据峰会上的一页胶片来作为终了。
但是!今天的深度学习算法仍然欠缺的,是在新情况(不同于锻炼集的情况)上的泛化才干和锻炼模型所必需的海量数据难以获取。
深度学习的局限性
在深度学习如火如荼,全民深度的时分说深度学习的坏话,而且关于那些没有看完本文的标题党,会不会打我。但是我还是要鼓足勇气说一下深度学习目前面临的困难:
1. 表达才干的限制。由于一个模型毕竟是一种理想的反映,等于是理想的镜像,它能够描画理想的才干越强就越准确,而机器学习都是用变量来描画世界的,它的变量数是有限的,深度学习的深度也是有限的。另外它对数据的需求量随着模型的增大而增大,但理想中有那么多高质量数据的情况还不多。所以一方面是数据量,一方面是数据里面的变量、数据的复杂度,深度学习来描画数据的复杂度还不够复杂。
2.缺乏反响机制。目前深度学习对图像识别、语音识别等问题来说是最好的,但是对其他的问题并不是最好的,特别是有延迟反响的问题,例如机器人的行动,AlphaGo下围棋也不是深度学习包打一切的,它还有强化学习的一部分,反响是直到最后那一步才知道你的胜负。还有很多其他的学习任务都不一定是深度学习才干来完成的。
3. 模型复杂度高。以下是一些当前比较盛行的机器学习模型和其所需的数据量,可以看到随着模型复杂度的进步,其参数个数和所需的数据量也是惊人的。
640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1
OK,从上面的阐述,我们可以得出目前传统的机器学习方法(包括深度学习)三个待处置的关键问题:
1.随着模型复杂度的进步,参数个数惊人。
2.在新情况下模型泛化才干有待进步。
3.锻炼模型的海量的标志费时且昂贵。
4.表达才干有限且缺乏反响机制。
迁移学习帮你搞定一切,让你的模型小而轻,还能举一反三!
到底什么是迁移学习?
“你永远不能理解一种言语——除非你至少理解两种言语”。
任何一个学过第二言语的人,对英国作家杰弗里·威廉斯的这句话应该都会“感同身受”。但为什么这样说呢?其缘由在于学习运用外语的过程会不可避免地加深一个人对其母语的理解。事实上,歌德也发现这一理念的强大才能,致使于他不由自主地做出了一个与之类似但更为极端的断言:
“一个不会外语的人对其母语也一无所知”。
这种说法极为有趣,但令人惊讶的是恐怕更在于其实质——对某一项技艺或心理机能的学习和精进能够对其他技艺或心理机能产生积极影响——这种效应即为迁移学习。它不只存在于人类智能,对机器智能同样如此。往常,迁移学习已成为机器学习的基础研讨范畴之一,且具有普遍的理论应用潜力。
一些人或许会很惊讶,计算机化的学习系统怎样能展现出迁移学习的才干。Google经过一项触及两套机器学习系统的实验来思索了这个问题,为了简单起见,我们将它们称为机器A和机器B。机器A运用全新的DNN,机器B则运用曾经接受锻炼并能理解英语的DNN。往常,假定我们用一组完好相同的普通话录音及对应文本来对机器A和B中止锻炼,大家觉得结果会怎样?令人称奇的是,机器B(曾接受英语锻炼的机器)展现出比机器A更好的普通话技艺,由于它之前接受的英语锻炼将相关才干迁移到了普通话理解任务中。
不只如此,这项实验还有另一个令人更为惊叹的结果:机器B不只普通话才干更高,它的英语理解才干也会进步!看来威廉斯和歌德确实说对了一点——学习第二言语确实能够加深对两种言语的理解,即使机器也不例外。
其实这就是计算机化的迁移学习。但是在我们身边,迁移学习的例子太多太多,一个知晓吉他的人会比那些没有音乐基础的人能更快地学习钢琴;一个会打乒乓球的人比没有阅历的人更容易接受网球;会骑自行车的人能更快学习骑电动车,等等,迁移学习就在你身边。
640?wx_fmt=jpeg
迁移学习和传统机器学习的差别
在机器学习的经典监视学习场景中,假设我们要针对一些任务和域A 锻炼一个模型,我们会假定被提供了针对同一个域和任务的标签数据(也就是说锻炼集和测试集的数据必需是iid的,即独立同分布)。我们可以在下图中清楚地看到这一点,其中我们的模型 A 在锻炼数据和测试数据中的域和任务都是一样的(后面我会细致地定义什么是任务(task),以及什么是域(domain))。
640?wx_fmt=jpeg
往常我们可以在这个数据集上锻炼一个模型 A,并希冀它在同一个任务和域中的未知数据上表现良好。在另一种情况下,当给定一些任务或域 B 的数据时,我们还需求可以用来锻炼模型 B 的有标签数据,这些数据要属于同一个任务和域,这样我们才干预期能在这个数据集上表现良好。
但是,理想常常很残酷,当我们没有足够的来自于我们关心的任务或域的标签数据来锻炼可靠的模型时(新的标签数据很难获取,或者很费时),传统的监视学习范式就支持不了了。
但传统的监视学习方法也会失灵——在缺乏某任务/范畴标志数据的情况下,它常常无法得出一个可靠的模型。举个例子,假设我们想要锻炼出一个模型,对夜间的行人图像中止监测,我们可以应用一个相近范畴的锻炼模型——白昼的行人监测。理论上这是可行的。但理论上,模型的表现效果经常会大幅恶化,以致崩溃。这很容易理解,模型从白昼锻炼数据获取了一些倾向,不知道怎样泛化到新场景。
假设我们想要执行全新的任务,比如监测自行车骑手,重复运用原先的模型是行不通的。这里有一个很关键的缘由:不同任务的数据标签不同。但是迁移学习就允许我们经过借用曾经存在的一些相关的任务或域的标签数据来处置这些场景,充分应用相近任务/范畴的现有数据我们尝试着把在源域中处置源任务时获得的学问存储下来,并将其应用在我们感兴味的目的域中的目的任务上去,如下图所示。
640?wx_fmt=jpeg
迁移学习的概念、定义及分类
1.迁移学习的基本概念:域和任务,源和目的
一个域D由一个特征空间X和特征空间上的边沿概率分布P(X)组成,其中 X=x1,…, xn∈X。关于有很多词袋表征(bag-of-words representation)的文档分类,X 是一切文档表征的空间,xi是第i个单词的二进制特征,X是一个特定的文档。对我来说,粗浅的理解就是域D就是特征的空间及分布。
给定一个域D={X,P(X)},一个任务T由一个标签空间y以及一个条件概率分布P(Y|X)构成,这个条件概率分布通常是从由特征——标签对xi∈X,yi∈Y 组成的锻炼数据中学习得到。在我们的文档分类的例子中,Y是一切标签的集合(即真(True)或假(False)),yi要么为真,要么为假。
源域 Ds,一个对应的源任务Ts,还有目的域 Dt,以及目的任务Tt,这个就很好理解了,源就是对应的我们的锻炼集,目的就是对应我们的测试集。
2.迁移学习的定义
在Ds≠Dt和/或Ts≠Tt的情况下,让我们在具备来源于Ds 和Ts的信息时,学习得到目的域Dt中的条件概率分布P(Yt|Xt)。绝大多数情况下,假定可以获得的有标签的目的样本是有限的,有标签的目的样本远少于源样本。
3.迁移学习的分类
(1) XS≠XT,即源域和目的域的特征空间不同,举个例子,文档是用两种不同的言语写的。在自然言语处置的背景下,这通常被称为跨言语顺应(cross-lingual adaptation),我们将这种情况称为异构迁移学习(Heterogeneous TL)。
(2) XS=XT,即源域和目的域的特征空间相同,称为同构迁移学习(Homogenrous TL)
(3) P(Xs)≠P(Xt),源域和目的域的边沿概率分布不同,例如,两个文档有着不同的主题。这种情况通常被称为域顺应(domain adaptation)。
(4) P(Ys|Xs)≠P(Yt|Xt),源任务和目的任务的条件概率分布不同,例如,两个不同数据集的标签规则是不一样的。
(5)YS≠YT,两个任务的标签空间不同,例如源域是二分类问题,目的域是4分类问题,由于不同的任务具有不同的标签空间,但是具有相同的条件概率分布,这是极端稀有的。借用一张之前自己做的幻灯片。
640?wx_fmt=jpeg
4.迁移学习的四种常见处置方法
640?wx_fmt=png
四种方法分别为:基于样本的迁移学习、基于特征的迁移学习、基于参数/特征的迁移学习和基于关系的迁移学习。
(1) 基于样本的迁移学习
640?wx_fmt=jpeg
第一种为样本迁移,就是在数据集(源范畴)中找到与目的范畴相似的数据,把这个数据的权值中止调整,使得新的数据与目的范畴的数据中止匹配(将分布变成相同)。样本迁移的特性是:
a)需求对不同例子加权;
b)需求用数据中止锻炼,上图的例子就是找到源范畴的例子;
c) 然后加重该样本的权值,使得在预测目的范畴时的比重加大。
(2) 基于特征的迁移学习
640?wx_fmt=jpeg
640?wx_fmt=jpeg
第二种为特征迁移,就是经过观察源范畴图像与目的域图像之间的共同特征,然后应用观察所得的共同特征在不同层级的特征间中止自动迁移,上图左侧的例子就是找当两种狗在不同层级上的共同特征,然后中止预测。
(3) 基于参数/模型的迁移学习
640?wx_fmt=jpeg
第三种为模型迁移,其原理时应用上千万的狗狗图象锻炼一个识别系统,当我们遇到一个新的狗狗图象范畴,就不用再去找几千万个图象来锻炼了,可以原来的图像识别系统迁移到新的范畴,所以在新的范畴只用几万张图片同样能够获取相同的效果。模型迁移的一个好处是我们可以区分,就是可以和深度学习别离起来,我们可以区分不同层次可迁移的度,相似度比较高的那些层次他们被迁移的可能性就大一些。
(4) 基于关系的迁移学习
640?wx_fmt=jpeg
这种关系的迁移,我研讨的较少,定义说明是可以将两个相关域之间的相关性学问树立一个映射,例如源域有皇帝、皇后,那么就可以对目的域的男和女之间树立这种关系,普通用在社会网络,社交网络之间的迁移上比较多。
迁移学习到底可以处置哪些问题
迁移学习主要可以处置两大类问题:小数据问题和个性化问题。
小数据问题:比方说我们新开一个网店,卖一种新的糕点,我们没有任何的数据,就无法树立模型对用户中止举荐。但用户买一个东西会反响到用户可能还会买另外一个东西,所以假设知道用户在另外一个范畴,比方说卖饮料,曾经有了很多很多的数据,应用这些数据建一个模型,别离用户买饮料的习气和买糕点的习气的关联,我们就可以把饮料的举荐模型给成功地迁移到糕点的范畴,这样,在数据不多的情况下可以成功举荐一些用户可能喜欢的糕点。这个例子就说明,我们有两个范畴,一个范畴曾经有很多的数据,能成功地建一个模型,有一个范畴数据不多,但是和前面那个范畴是关联的,就可以把那个模型给迁移过来。
个性化问题:比如我们每个人都希望自己的手机能够记住一些习气,这样不用每次都去设定它,我们怎样才干让手机记住这一点呢?其实可以经过迁移学习把一个通用的用户运用手机的模型迁移到个性化的数据上面。我想这种情况以后会越来越多。
迁移学习的应用
1. 我到底是什么颜色?
640?wx_fmt=jpeg
大家一看这幅图就知道,这里以此前网上盛行的一个连衣裙图片为例。如图所示,假设你想经过深度学习判别这条裙子到底是蓝黑条纹还是白金条纹,那就必需搜集大量的包含蓝黑条纹或者白金条纹的裙子的图像数据。参考上文提到的问题范围和参数范围之间的对应关系,树立这样一个精准的图像识别模型至少需求140M个参数,1.2M张相关的图像锻炼数据,这几乎是一个不可能完成的任务。
往常引入迁移学习,用如下公式可以得到在迁移学习中这个模型所需的参数个数:
No. of parameters = [Size(inputs) + 1] * [Size(outputs) + 1] = [2048+1]*[1+1]~ 4098parameters
可以看到,经过迁移学习的引入,针对同一个问题的参数个数从140M减少到了4098,减少了10的5次方个数量级!这样的对参数和锻炼数据的消减程度是惊人的。
这里给大家引见一个迁移学习的工具NanoNets,它是一个简双便当的基于云端完成的迁移学习工具,其内部包含了一组曾经完成好的预锻炼模型,每个模型有数百万个锻炼好的参数。用户可以自己上传或经过网络搜索得到数据,NanoNets将自动根据待解问题选择最佳的预锻炼模型,并根据该模型树立一个NanoNets(纳米网络),并将之适配到用户的数据。以上文提到的蓝黑条纹还是白金条纹的连衣裙为例,用户只需求选择待分类的称号,然后自己上传或者网络搜索锻炼数据,之后NanoNets就会自动适配预锻炼模型,并生成用于测试的web页面和用于进一步开发的API接口。如下所示,图中为系统根据一张连衣裙图片给出的分析结果。细致运用方法详见NanoNets官网:http://nanonets.ai/ 。
640?wx_fmt=jpeg
2. Deepmind的作品 progressive neural network(机器人)
Google的Deepmind向来是大家关注的热点,就在去年,其将三个小游戏Pong, Labyrinth, Atari经过将已学其一的游戏的parameter经过一个lateral connection feed到一个新游戏。外墙的可以看youtub的视频:https://www.youtube.com/watch?v=aWAP_CWEtSI,与此同时,DeepMind最新的成果Progressive Neural Networks终于伸向真正的机器人了!
640?wx_fmt=jpeg
它做了什么事情呢?就是在仿真环境中锻炼一个机械臂移动,然后锻炼好之后,可以把学问迁移到真实的机械臂上,真实的机械臂稍加锻炼也可以做到和仿真一样的效果!视频在这:https://www.youtube.com/watch?v=YZz5Io_ipi8
3. 舆情分析
640?wx_fmt=jpeg
迁移学习也可应用在舆情分析中,如用户评价方面。以电子产品和视频游戏留言为例,上图中绿色为好评标签,而红色为差评标签。我们可以从上图左侧的电子产品评价中找到特征,促使它在这个范畴(电子产品评价)树立模型,然后应用模型把其迁移到视频游戏中。这里可以看到,舆情也可以中止大范围的迁移,而且在新的范畴不需求标签。
4. 个性化对话
640?wx_fmt=jpeg
锻炼一个通用型的对话系统,该系统可能是闲谈型,也可能是一个任务型的。但是,我们可以根据在特定范畴的小数据修正它,使得这个对话系统顺应不同任务。比如,一个用户想买咖啡,他并不想回答一切繁琐的问题,例如是要大杯小杯,热的冷的?
5. 基于迁移学习的举荐系统
640?wx_fmt=jpeg
在线举荐系统中应用迁移学习,可以在某个范畴做好一个举荐系统,然后应用在稠密的、新的垂直范畴。(影像资料——>书籍资料)
6.迁移学习在股票中的预测
香港科技大学杨强教授的学生就把迁移学习应用到大家公认的很难的范畴中——预测股市走势。下图所示为A股里面的某个股票,用过去十年的数据锻炼该模型。首先,运用数据之间的衔接,产生不同的状态,让各个状态之间能够互相迁移。其次,不同状态之间将发作变化,他们用了一个强化学习器模拟这种变化。最后,他们发现深度学习的隐含层里面会自动产生几百个状态,基本就能够对这十年来的经济状况做出一个很完善的总结。
杨强教授也表示,这个例子只是在金融范畴的一个小小的实验。不过,一旦我们对一个范畴有了透彻的了解,并控制更多的高质量数据,就可以将人工智能技术迁移到这个范畴来,在应用过程中对所遇到的问题作明晰的定义,最终能够完成通用型人工智能的目的。
640?wx_fmt=jpeg
迁移学习的应用越来越普遍,这里仅仅引见了冰山一角,例如生物基因检测、异常检测、疾病预测、图像识别等等。
风头正劲的迁移学习
640?wx_fmt=jpeg
当今全世界都在推进迁移学习,当今 AAAI 中大约有 20 多篇迁移学习相关文章,而往年只需五六篇。与此同时,如吴恩达等深度学习代表人物也开端做迁移学习。正如吴恩达在 NIPS 2016 讲座上画了一副草图,大致的意义如下图所示:
640?wx_fmt=jpeg
有一点是无须置疑的:迄今为止,机器学习在业界的应用和成功,主要由监视学习推进。而这又是树立在深度学习的进步、更强大的计算设备、做了标志的大型数据集的基础上。近年来,这一波公众对人工智能技术的关注、投资收购浪潮、机器学习在日常生活中的商业应用,主要是由监视学习来引领。但是,该图在吴恩达眼中是推进机器学习取得商业化成果的主要驱动技术,而且从中可以看出,吴恩达以为下一步将是迁移学习的商业应用大迸发。
最后,自创香港科技大学计算机与工程系主任,全球第一位华人AAAI Fellow杨强教授在2016年底腾讯暨KDD China 大数据峰会上的一页胶片来作为终了。
上一条:各手机厂商纷纷推出支持人脸识别解锁的新品
下一条:基于深度学习的图像分割