如何正确使用迁移学习
在使用迁移学习之前,有两点需要特别注意的地方:
- 你的数据的尺寸大小
- 你的数据和预训练好网络结构数据(典型的比如说是ImageNet)的相似程度
关注上面的问题可以帮助我们确定何种数据迁移策略。我们以表格的形式来展示一下。
相似数据 | 不同数据 | |
---|---|---|
小数据 | 使用全连接进行特征提取+分类 | 使用高层卷积特征提取+分类 |
大数据 |
可以尝试微调网络 也可以尝试从头训练自己的网络 |
微调网络可能有效果也可能没有效果 可以尝试从头训练自己的网络 |
原始样本数据是小数据并且和要迁移模型数据相似
因为数据较小,所以很有可能没有办法从头获取CNN特征而不发生过拟合,微调网络也有可能会遇到这样的问题。
原始数据和预训练模型的数据很像,用来进行特征提取通常是一个不错的办法。然后使用一个简单的机器学习分类器对这些特征进行分类。通常建议可以从更深的网络结构中(更高的层)提取特征,因为这些特征更丰富,更能代表中原始数据中学到的模式。
原始样本数据是大数据并且和要迁移模型的数据相似
对于大数据,微调网络通常不会发生过拟合现象。你也可以尝试自己从头训练一个模型(至少这个想法值得做实验尝试一下)。因为原始样本数据和要迁移模型数据十分相似,那么迁移的预训练模型可能已经有了足够好的特征,因此使用微调网络会很不错。
原始样本是小数据并且和要迁移模型数据不同
这是最糟糕的一种情况。
为了防止过拟合,我们不可能从新训练模型。因为数据集不同,提取特征的话,我们也要使用预训练模型的较低的层来提取特征。
我们应该知道的是,对于网络结构而言,更深的网络(更高的层)通常有更好的区分度,更符合训练数据本身。因此,对于现在这种情况,我们一定要从低层网络结构中提取特征。
原始样本是大数据并且和要迁移模型数据不同
对于这种情况,既然有足够的数据,从头训练一个网络可能应该是首要选择的点。然而,像是从ImageNet这样的数据集中预训练的模型仍有很强的参考意义,即使这两个数据看起来没有什么相关性。进行微调网络迁移学习值得一试。可以作为一个基线评估,看看和从头训练网络相比,哪个效果更好。
如何正确使用迁移学习相关推荐
- 迁移学习:如何为您的机器学习问题选择正确的预训练模型
https://www.toutiao.com/a6687923187298075144/ 在这篇文章中,我们将简要介绍一下迁移学习是什么,以及如何使用它. 什么是迁移学习? 迁移学习是使用预训练模型 ...
- 【图像分类案例】(2) DenseNet 天气图片四分类(权重迁移学习),附Tensorflow完整代码
各位同学好,今天和大家分享一下使用 Tensorflow 构建 DenseNet 卷积神经网络模型,并使用预训练模型的权重,完成对四种天气图片的分类. 完整代码在我的 Gitee 中,有需要的自取: ...
- 【神经网络】(7) 迁移学习(CNN-MobileNetV2),案例:乳腺癌二分类
各位同学好,今天和大家分享一下Tensorflow2.0中如何使用迁移学习的方法构造神经网络.需要数据集的在评论区留个言. 1. 迁移学习 官方文档:Module: tf.keras.applicat ...
- T5,一个探索迁移学习边界的模型
作者 | Ajit Rajasekharan 译者 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读]10月,Google 在<Exploring the Limits o ...
- 如何用最强模型BERT做NLP迁移学习?
作者 | 台湾大学网红教授李宏毅的三名爱徒 来源 | 井森堡,不定期更新机器学习技术文并附上质量佳且可读性高的代码. 编辑 | Jane 谷歌此前发布的NLP模型BERT,在知乎.Reddit上都引起 ...
- 吴恩达说“将引领下一波机器学习技术”的迁移学习到底好在哪?
AI技术年度盛会即将开启!11月8-9日,来自Google.Amazon.微软.Facebook.LinkedIn.阿里巴巴.百度.腾讯.美团.京东.小米.字节跳动.滴滴.商汤.旷视.思必驰.第四范式 ...
- 迁移学习:领域自适应的理论分析
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 领域自适应即Domain Adaptation,是迁移学习中很重要 ...
- 4个计算机视觉领域用作迁移学习的模型
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|AI公园 导读 使用SOTA的预训练模型来通过迁移学习解决 ...
- 迁移学习:如何使用TensorFlow对图像进行分类
导言 在机器学习环境中,迁移学习是一种技术,使我们能够重用已经训练的模型并将其用于另一个任务.图像分类是将图像作为输入并为其分配具有概率的类(通常是标签)的过程.这个过程使用深度学习模型,即深度神经网 ...
最新文章
- Excel-姓名列中同一个人汇总金额列,得出总金额
- 常用Maven插件介绍(上)
- 音叉晶体振荡器-32.768Hz
- Python 列表(List)操作方法详解
- 利用奇异值分解(SVD)简化数据
- ulink php,【转载】15款USB数字界面横向评测(对比顶级CD转盘)!多看点!
- 蓝桥杯基础模块7:PWM脉宽调制
- 钉钉项目任务怎么添加审批表单
- quartz集群重复调度的解决
- 做数据中心,腾讯是认真的!
- WCF BasicHttpBinding 安全解析(1)BasicHttpBinding基本配置
- 安装完Final Cut Pro X后出现了打不开的情况的解决方法
- C++编程读取注册表文件
- 什么是火星坐标系(GCJ-02)
- 【信号与系统】(十三)傅里叶变换与频域分析——周期信号的傅里叶级数
- 电大计算机教学自我测评,电大计算机自我鉴定.doc
- 熵增定律与人际关系-整理
- win10锁屏c语言,Win10锁屏状态怎么设置打开任意应用程序?
- 线性回归实战---Abalone鲍鱼年龄预测
- 【爬坑】解决“ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘ ”的问题
热门文章
- python几种排序_python各种排序算法
- 3、编写一个prod()函数,可以接受一个list并利用reduce()求积
- 一地鸡毛 OR 绝地反击,2019年区块链发展指南
- 解析:一种合适的数据中心建造方式有多重要?
- linux的Nginx安装、默认虚拟主机、用户认证、域名重定向配置介绍
- 华月互网获得2012全国十大IDC服务商
- 主从同步出现一下错误:Slave_IO_Running: Connecting
- 让MySQL支持Emoji表情 mysql 5.6
- Android测试分析3
- 介绍几个好用的android自定义控件