CNN transfer learning

http://cs231n.github.io/transfer-learning/

一 概念:

(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优化的时候采取小的学习率

时间: 2024-10-02 06:00:08

CNN transfer learning的相关文章

(转)Understanding, generalisation, and transfer learning in deep neural networks

Understanding, generalisation, and transfer learning in deep neural networks FEBRUARY 27, 2017 This is the first in a series of posts looking at the 'top 100 awesome deep learning papers.' Deviating from the normal one-paper-per-day format, I'll take

Transfer learning & The art of using Pre-trained Models in Deep Learning

原文网址:  https://www.analyticsvidhya.com/blog/2017/06/transfer-learning-the-art-of-fine-tuning-a-pre-trained-model/ Introduction Neural networks are a different breed of models compared to the supervised machine learning algorithms. Why do I say so? Th

transfer learning

作者:刘诗昆链接:https://www.zhihu.com/question/41979241/answer/123545914来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. Transfer learning 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练数据集.就跟其他知友回答的那样,考虑到大部分数据或任务是存在相关性的,所以通过transfer learning我们可以将已经学到的parameter 分享给新模型从而加快并优化模型的学

学习文章题目-Transfer learning for cross-company software defect prediction

所选主题:缺陷预测 论文题目: 1. Using class imbalance learning for software defect prediction 或 2.Transfer learning for cross-company software defect prediction 作者: 1. Wang Shuo, Yao Xin 2. Ying Ma, Guangchun Luo, Xue Zeng, Aiguo Chen 期刊: 1. IEEE transactions on

迁移学习(Transfer Learning)(转载)

原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我 们看到机器学习算法在当前的Web挖掘研究中存在着一个关键的问题:一些新出现的领域中的大量训练数据非常难得到.我们看到Web应用领域的发展非常快速.大量新的领域不断涌现,从传统的新闻,到网页,到图片,再到博客.播客等等.传统的机器学习需要

迁移学习( Transfer Learning )

在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关键的问题:一些新出现的领域中的大量训练数据非常难得到.我们看到Web应用领域的发展非常快速.大量新的领域不断涌现,从传统的新闻,到网页,到图片,再到博客.播客等等.传统的机器学习需要对每个领域都标定大量训练数据,这将会耗费大量的人力与物力.而没有大量的标注数据,会使得很多与学习相关研究与应用无法开展

【机器学习专刊】Transfer Learning Survey and Tutorials

首先感谢机器学习日报,上面总结的内容真的很棒! 本周看的内容主要是迁移学习[Transfer Learning ] 具体学习内容: Transfer Learning Survey and Tutorials [1]A Survey on Transfer Learning, Sinno Jialin Pan and Qiang Yang. In IEEE Transactions on Knowledge and Data Engineering (IEEE TKDE). Volume 22,

Pytorch tutorial 之Transfer Learning

引自官方:  Transfer Learning tutorial Ng在Deeplearning.ai中讲过迁移学习适用于任务A.B有相同输入.任务B比任务A有更少的数据.A任务的低级特征有助于任务B.对于迁移学习,经验规则是如果任务B的数据很小,那可能只需训练最后一层的权重.若有足够多的数据则可以重新训练网络中的所有层.如果重新训练网络中的所有参数,这个在训练初期称为预训练(pre-training),因为事先利用任务A的权重初始化.在预训练的基础上更新权重,那么这个过程叫微调(fine t

【论文阅读】Classification of breast cancer histology images using transfer learning

Classification of breast cancer histology images using transfer learning  一.数据集: BACH 2018 grand challenge (ICIAR 2018 Grand Challenge on BreAst Cancer Histology images) https://iciar2018-challenge.grand-challenge.org/home/ 其实算得上Camelyon 16和17 的后继版本.