深度学习-迁移学习

姓名:陈婷

学号:19021210968

转载:https://blog.csdn.net/winone361/article/details/82284860

【嵌牛导读】迁移学习是深度学习中一个比较新的概念,这里主要介绍了什么是迁移学习,迁移学习的分类,迁移学习的

【嵌牛鼻子】深度学习 模型迁移 迁移学习 

【嵌牛提问】 我们为什么需要迁移学习?

【嵌牛正文】

一. 了解迁移学习

迁移学习(Transfer Learning)目标是将从一个环境中学到的知识用来帮助新环境中的学习任务。

           > The ability of a system to recognize and apply knowledge and skills learned in previous tasks to novel tasks。

入门推荐一篇公认的比较好的 【Survey】:A Survey on Transfer Learning,Sinno JialinPan, Qiang Yang,IEEE Trans

另外,戴文渊的硕士学位论文也可以看一下:基于实例和特征的迁移学习算法研究


       Survey 作者归纳了 Transfer Learning 相关的知识域,有必要了解一下这些名词:

● Learning学习 - learning to learn

● 终身学习 - life-long learning

● 知识转移 - knowledge transfer

● 归纳迁移 - inductive transfer

● 多任务学习 - multi-task learning

● 知识的巩固 - knowledge consolidation

● 上下文相关学习 - context sensitive learning

● 基于知识的归纳偏差 - knowledge-based inductive bias

● 元学习 - meta learning

● 增量学习 - and incremental/cumulative learning

另外,进展及 Open Source Toolkit 可以参考:http://www.cse.ust.hk/TL/index.html

二. 迁移学习分类

迁移学习(Transfer Learning)根据 领域 和 任务的相似性,可以这样划分:

        我们根据 源Domain和目前Domain 之间的关系,源Task 和 目标Task之间的关系,以及任务方法更详细的整理为下表:

  典型方法:TrAdaBoost基于特征的迁移学习

  找到 “好”特征 来减少源Domain和目标Domain之间的不同,能够降低分类、回归误差。

  典型方法:Self-taught learning,multi-task structure learning基于参数的迁移学习发现源Domain和目标Domain之间的共享参数或先验关系。

 典型方法:Learning to learn,Regularized multi-task learning

基于相关性的迁移学习建立源Domain和目标Domain之间的相关知识映射。

典型方法:Mapping 方法

       迁移学习方法虽然在学术有很多研究工作,实际上在应用领域并不算成熟,这本身就是一个很大的命题,关于迁移学习的条件 和 本质也并未形成一套正统的体系来引领研究方向,更多的也是在实验摸索。

       迁移学习 目前面临如下几个问题:

1. 哪种情况适合做迁移学习? - What

    这里先给个自己的理解:

        分类和回归问题是比较适合做迁移学习的场景,有标签的源数据是最好的辅助。

2. 该选择哪种方法? - Which

    简单而行之有效的方法是首选,领域在快速发展,也不必拘泥算法本身,改善结果才是硬道理。

3. 如何避免负迁移? - How

    迁移学习的目标是改善目标域的 Task效果,这里面 负迁移(Negative Transfer)是很多研究者面临的一个问题,如何得到行之有效的改进,避免负迁移是需要大家去评估和权衡的。


三. 经典算法 TrAdaBoost

TrAdaBoost 算法是基于 样本迁移的 开山之作,由戴文渊提出,有着足够的影响力放在第一位来进行讲解。

论文下载:Boosting for Transfer Learning


       算法的基本思想是 从源 Domain 数据中 筛选有效数据,过滤掉与目标 Domain 不match的数据,通过 Boosting方法建立一种权重调整机制,增加有效数据权重,降低无效数据权重,下图是 TrAdaBoost 算法的示意图(截图来自于  庄福振 - 迁移学习研究进展):

       TrAdaBoost 算法比较简单,用一句话概括就是 从过期数据里面 找出和目标数据最接近的样本数据。

       来看 TrAdaBoost 的算法步骤:

       这里需要说明的一点就是 权重的更新方式,对于辅助样本来讲,预测值和标签越接近,权重越大;而对于目标数据则是相反,预测值和标签差异越大,权重越大。这种策略狠容易理解,我们想找到辅助样本中 和 目标数据分布最接近的样本,同时放大目标样本Loss的影响,那么理想的结果就是:

       目标样本预测值与标签尽量匹配(不放过一个没匹配好的数据),辅助样本在前面的基础上筛选出最 match(权重大的) 的部分。

       作者在后面给出了理论证明,这里有两个公式(来证明算法收敛):

        因篇幅问题,这里就不再展开了(和作者说的一样),有兴趣可以参考原Paper,看下实验结果:

实验发现,当 同分布数据(目标数据)占比当低于0.1时,算法效果明显,当比例超过 0.1时,TrBoost 退化为 SVM 的效果

       这又是一个显而易见的结论,我们认为大于0.1时,仅仅依靠 目前数据就足够完成样本训练,这种情况下,辅助样本的贡献可以忽略。

       另外,当 目标数据 和 辅助数据 差别比较大时,该方法是不 Work的,印证了最初的假设,这里不再展开证明。

最后,给出网友提供的C代码:【下载地址


四. 多任务学习

       多任务学习(Multi-Task Learning, MTL)是一种同时学习多个任务的机器学习方法,该方法由来已久,和深度学习没什么关系。

       如果非要把它 和深度学习加上一个 link,我们可以这样来表示:

       input1 -> Hidden1-> H1-> Out1                          input1                                       -> Out1

       input2 -> Hidden2-> H2-> Out2         ==>          input2 -> Hidden123 -> H123   -> Out2

       input3 -> Hidden3-> H3-> Out3                         input3                                        -> Out3

       也比较好理解,相当于把多个 Task网络进行合并,同时训练多个任务,这种情况并不鲜见,比如以下2个方向:

1)目标检测 - 复合多任务

    目标检测是 分类问题+回归问题的组合,这是一个典型的 Multi-Task,比如:

        Detection=Classification+Location

        Mask RCNN = Classification+Location+Segmentation

    检测问题前面描述的比较多了,这里就不再贴图了。

2)特征提取 

    多任务特征提取,多个输出,这一类问题代表就是 数据结构化,特征识别。

    下图是港中文 汤晓鸥组发表的TCDCN(Facial Landmark Detection by Deep Multi-task Learning),很多讲 Multi-Task的软文都拿出来说,我们也借用一下。

    在这里 Multi-Task 被同时用作 人脸关键点定位、姿态估计和属性预测(比如性别、年龄、人种、微笑?戴眼镜?)

       多任务学习适用于这样的情况:

1)多个任务之间存在关联,比如行人和车辆检测,对于深度网络也可以理解为有部分共同的网络结构;

2)每个独立任务的训练数据比较少,单独训练无法有效收敛;

3)多个任务之间存在相关性信息,单独训练时无法有效挖掘;

可以看一下这篇 Tutorial:www.public.asu.edu/~jye02/Software/MALSAR/MTL-SDM12.pdf

       关于多任务学习的应用,比如 分类任务下的二级分类,人脸识别等,大家可以更进一步了解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353