迁移学习&domain adaption



一 概念:


(1)learning from scratch  即学一个CNN网络with random initialization


  (2)  在新的学习任务中,可以利用现有训练好的imagenet网络提取特征,去掉最后一个分类的全连接层,在classifier层之前提取4096维的特征,这些特征称为CNN code


(3)在CNN网络结构中,前面的卷积层保留更多的普遍特征 generic features(edge detectors 或者corlor blob detectors),后面的卷积层包含更多的 task specific 特征


二 迁移学习的两种方法:


 (1)利用已有的model提取特征,后面再训练分类器,比如linear svm或者softmax classifier。


 (2)finetune 已有的model: 即在已训练好参数的CNN结构上,利用自己的数据进行back propagation, finetune网络已有的weights.


      (可以finetune 整个CNN ,也可以保持前面的一些层的参数不变,只finetune网络的高层部分,这样做可以防止过拟合)


三  迁移学习方法的选择:


    主要取决于数据集的大小,以及与之前预训练数据集的相关性


(1)数据集很小,与预训练数据集相似: 直接提特征,提最后一层的CNN code, 训练linear 分类器


 (2) 数据集很小,与预训练数据集不同: 在前面的网络层中提feature,训练线性分类器


(3)数据集很大,与预训练数据相似:finetune 整个网络层


(4)数据集很大,与预训练数据不同:可以learning from scratch,也可以在预训练的model上finetune


四 一些实用的建议:


(1)finetune的时候输入图片的大小不受限制,因为forward function的与输入的spatial 大小无关,只要stride能fit


(2)把需要finetune的网络层的学习率设低一点: 因为我们默认预训练的model的参数已经很好了,因此在finetune优化的时候采取小的学习率




迁移学习

CNN for Visual Rcognition --- Stanford 2015 (二)

迁移学习的相关概念

迁移学习论文杂读(门外汉级)


Sinno Jialin Pan, Qiang Yang, A Survey on Transfer Learning, IEEE Transactions on Knowledge and Data Engineering (IEEE TKDE)




此外在下面的这个链接中还有一些开源的软件和数据库:


http://www.cse.ust.hk/TL/index.html


迁移学习( Transfer Learning )




https://kwotsin.github.io/tech/2017/02/11/transfer-learning.html






  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值