当前位置:网站首页>一、迁移学习与fine-tuning有什么区别?
一、迁移学习与fine-tuning有什么区别?
2022-07-29 05:22:00 【MY头发乱了】
一、迁移学习
举个例子,假设boss让你做一下目标检测,这个数据集是关于光纤箱喷码字符检测的。问题是,数据集很少(只有1000张数据),里面有多干扰的信息,你发现从零训练开始训练yolo的效果很差,很容易过拟合。怎么办呢,于是你想到了使用Transfer Learning,用别人已经训练好的Imagenet的模型来做。
二、迁移学习有哪些手法
- 把Alexnet里卷积层最后一层输出的特征拿出来,然后直接用SVM分类。这是Transfer Learning,因为你用到了Alexnet中已经学到了的“知识”。
- Vggnet卷积层最后的输出拿出来,用贝叶斯分类器分类。思想基本同上。
- 至你可以把Alexnet、Vggnet的输出拿出来进行组合,自己设计一个分类器分类。这个过程中你不仅用了Alexnet的“知识”,也用了Vggnet的“知识”。
- 最后,你也可以直接使用fine-tune这种方法,在Alexnet的基础上,重新加上全连接层,再去训练网络。
三、fine-tune使用策略
决定如何使用迁移学习的因素有很多,这是最重要的只有两个:新数据集的大小、以及新数据和原数据集的相似程度。有一点一定记住:网络前几层学到的是通用特征,后面几层学到的是与类别相关的特征。这里有使用的四个场景:
- 新数据集比较小且和原数据集相似。因为新数据集比较小,如果fine-tune可能会过拟合;又因为新旧数据集类似,我们期望他们高层特征类似,可以使用预训练网络当做特征提取器,用提取的特征训练线性分类器。
- 新数据集大且和原数据集相似。因为新数据集足够大,可以fine-tune整个网络。
- **新数据集小且和原数据集不相似。**新数据集小,最好不要fine-tune,和原数据集不类似,最好也不使用高层特征。这时可是使用前面层的特征来训练SVM分类器。
- **新数据集大且和原数据集不相似。**因为新数据集足够大,可以重新训练。但是实践中fine-tune预训练模型还是有益的。新数据集足够大,可以fine-tine整个网络。
四、总结
综上,Transfer Learning关心的问题是:什么是“知识”以及如何更好地运用之前得到的“知识”。这可以有很多方法和手段。而fine-tune只是其中的一种手段。
边栏推荐
- Markdown syntax
- 【Attention】Visual Attention Network
- These process knowledge you must know
- 深入理解MMAP原理,让大厂都爱不释手的技术
- The differences and reasons between MySQL with and without quotation marks when querying string types
- Ffmpeg creation GIF expression pack tutorial is coming! Say thank you, brother black fly?
- 【DL】搭建卷积神经网络用于回归预测(数据+代码详细教程)
- Lock lock of concurrent programming learning notes and its implementation basic usage of reentrantlock, reentrantreadwritelock and stampedlock
- 【Transformer】SegFormer:Simple and Efficient Design for Semantic Segmentation with Transformers
- 研究生新生培训第一周:深度学习和pytorch基础
猜你喜欢

【ML】机器学习模型之PMML--概述

【目标检测】6、SSD

ANR优化:导致 OOM 崩溃及相对应的解决方案

【Transformer】AdaViT: Adaptive Vision Transformers for Efficient Image Recognition

ABSA1: Attentional Encoder Network for Targeted Sentiment Classification

简单聊聊 PendingIntent 与 Intent 的区别

GA-RPN:引导锚点的建议区域网络

备份谷歌或其他浏览器插件

并发编程学习笔记 之 Lock锁及其实现类ReentrantLock、ReentrantReadWriteLock和StampedLock的基本用法

Exploration of flutter drawing skills: draw arrows together (skill development)
随机推荐
研究生新生培训第二周:卷积神经网络基础
简单聊聊 PendingIntent 与 Intent 的区别
Android studio login registration - source code (connect to MySQL database)
nacos外置数据库的配置与使用
【Transformer】AdaViT: Adaptive Tokens for Efficient Vision Transformer
Isaccessible() method: use reflection techniques to improve your performance several times
【图像分类】如何使用 mmclassification 训练自己的分类模型
FFmpeg创作GIF表情包教程来了!赶紧说声多谢乌蝇哥?
【语义分割】SETR_Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformer
Nailing alarm script
【Transformer】SegFormer:Simple and Efficient Design for Semantic Segmentation with Transformers
GA-RPN:引导锚点的建议区域网络
Spring, summer, autumn and winter with Miss Zhang (2)
【Transformer】AdaViT: Adaptive Vision Transformers for Efficient Image Recognition
Thinkphp6 output QR code image format to solve the conflict with debug
Exploration of flutter drawing skills: draw arrows together (skill development)
【ML】机器学习模型之PMML--概述
These process knowledge you must know
【Transformer】ACMix:On the Integration of Self-Attention and Convolution
【go】defer的使用