Deep learning系列(十三)Transfer learning 和 caffe Fine-tuning

本文详细介绍了Transfer Learning的概念及其在深度学习中的应用,包括使用预训练模型作为特征提取器和微调整个网络。针对不同场景,如数据库大小和相似度,提出了选择策略。此外,通过Caffe平台,讲解了如何进行数据格式转化、定义net、solver以及进行训练,以实现模型的微调,并分享了一个使用flickr数据库进行20类分类的案例,最终达到34%的分类准确率。
摘要由CSDN通过智能技术生成

1. Transfer Learning

在实践中因为数据库大小的限制,我们通常不会从头开始(参数随机初始化)训练卷积神经网络。相反,通常会在一个大的数据库上(比如ImageNet,包含1000类总数为120万的图像分类数据库)进行CNN的训练,得到训练好的网络(下面简称ConvNet),然后ConvNet以下面两种方式用到我们的项目中:

  • 将ConvNet作为特征提取器。去掉ConvNet最后一层全连接层,将ConvNet剩下的部分当作特征提取器用到我们的分类任务中。对于AlexNet来说,这将生成一个4096维的特征向量,用这得到的特征向量,训练一个线性分类器(线性SVM或者softmax分类器),用在我们的分类任务中。
  • 用新数据库的数据微调ConvNet。对于在ImageNet预训练的网络ConvNet,我们可以在新的数据库上使用反向传播算法微调它的权重参数。在微调过程中,既可以调整所有层的参数,也可以将前几层的参数固定,微调后面几层。这样做的原因在于预训练的网络前几层通常是通用的特征(比如边缘提取器),而网络的后几层则是与数据库和分类任务相关的,因而可以在给定新的数据库和分类任务时仅调整后面几层。

2. 怎样fine-tune

在fine-tune时,究竟该选择哪种方式的Transfer Learning?需要考虑的因素有许多,其中最重要的两条是新数据库的规模和它与预训练数据库的相似程度,根据这两条因素的不同配置,存在四种场景:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值