当前位置:   article > 正文

【深度学习】迁移学习 (Transfer Learning)

迁移学习

Introduction

把别处学得的知识,迁移到新场景的能力,就是“迁移学习”。

具体在实践中体现为:

将 A任务上 预训练好的模型 放在B任务上,加上少量B任务训练数据,进行微调 。

与传统学习的比较

传统学习中,我们会给不同任务均提供足够的数据,以分别训练出不同的模型:
这里写图片描述

但是如果 新任务 和旧任务类似,同时 新任务 缺乏足够数据 去从头训练一个新模型,那该怎么办呢?

迁移学习所做的事,就是将旧任务上训练好的模型拿过来放在新任务上,再加上点少量数据稍微调一调,效果往往并不输海量数据下的从头训练:
这里写图片描述

这是因为A任务和B任务很多共同特征:
这里写图片描述

迁移学习试图把处理A任务获取的知识,应用于B任务中。此时因为B任务中的大部分特征已经被A任务中预训练好的模型学得了,相当于提前完成了B任务中大部分的活儿,那么B任务自然只需再提供少量数据,即可炼得新模型。

优势

高效、省事。

影响

迁移学习被视为未来的几个重要研究领域之一:
这里写图片描述

目前,大部分的模型训练都是 迁移学习 ,已经很少有人从头开始新训练一个模型了。

比如基于深度网络的Detection算法,都是在用ImageNet训好的basemodel上,再用COCO或者自己的数据集fine-tune个20epoch足以。

Note

  • 一个epoch等于遍历该数据集所有图片一遍。
  • 只需要在COCO上fine-tune20个epoch足矣的原因,是因为basemodel已经在ImageNet上训练了几十轮。因此再经过COCO的fine-tune,此时模型就已经得到了 几十 + 20轮 的训练了。
  • CVPR2018 Best Paper 就是关于Transfer Learning的研究。
  • 蒸馏、在已预训好的模型上finetune,也都属于迁移学习。

[1] 为什么吴恩达认为未来属于迁移学习?
[2] 一文读懂迁移学习

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/916958
推荐阅读
相关标签
  

闽ICP备14008679号