(更新中) 迁移学习概述

1.什么是迁移学习(What)

迁移学习是指把别处学来的知识,迁移到新的场景中。具体实践中,就是指将 A任务上 预训练好的模型 放在B任务上,加上少量B任务训练数据,进行微调

2.为什么要使用迁移学习(Why)

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

为什么å´æ©è¾¾è®¤ä¸ºæœªæ¥å±žäºŽè¿ç§»å­¦ä¹ ï¼Ÿ

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

这时就需要使用高效且省事的迁移学习了,将旧任务上训练好的模型拿过来放在新任务上,再加上点少量数据稍微调一调,效果往往并不输海量数据下的从头训练:

为什么å´æ©è¾¾è®¤ä¸ºæœªæ¥å±žäºŽè¿ç§»å­¦ä¹ ï¼Ÿ

这是由于新任务B和旧任务A具有很多相似的特征,如

这里写图片æè¿°

3.迁移学习发展

迁移学习被视为未来的几个重要研究领域之一:

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

比如基于深度网络的Detection算法,都是在用ImageNet训练好的base model上,再用COCO或者自己的数据集微调(fine-tune)20个epoch左右足以。

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

4.怎样实现迁移学习(How)

 

 

参考链接:

[1]: https://blog.csdn.net/JNingWei/article/details/79247546

[2]: http://lamda.nju.edu.cn/weixs/book/CNN_book.html

[3]: https://www.leiphone.com/news/201704/K8QDO71QkJuqxFh5.html

[4]: https://blog.csdn.net/lqfarmer/article/details/73195060

[5]: https://blog.csdn.net/jiandanjinxin/article/details/54133521

转载于:https://www.cnblogs.com/jngwl/articles/10230893.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值