2021-08-24fine-tuning 模型
fine-tuning 模型的三种状态
状态一:只预测,不训练。 特点:相对快、简单,针对那些已经训练好,现在要实际对未知数据进行标注的项目,非常高效;
状态二:训练,但只训练最后分类层。 特点:fine-tuning的模型最终的分类以及符合要求,现在只是在他们的基础上进行类别降维。
状态三:完全训练,分类层+之前卷积层都训练 特点:跟状态二的差异很小,当然状态三比较耗时和需要训练GPU资源,不过非常适合fine-tuning到自己想要的模型里面,预测精度相比状态二也提高不少。
2. 微调时候网络参数是否更新?
答案:会更新。
- finetune 的过程相当于继续训练,跟直接训练的区别是初始化的时候。
- 直接训练是按照网络定义指定的方式初始化。
- finetune是用你已经有的参数文件来初始化。
1.1. 什么是预训练
你需要搭建一个网络模型来完成一个特定的图像分类的任务。首先,你需要随机初始化参数,然后开始训练网络,不断调整直到网络的损失越来越小。在训练的过程中,一开始初始化的参数会不断变化。当你觉得结果很满意的时候,你就可以将训练模型的参数保存下来,以便训练好的模型可以在下次执行类似任务时获得较好的结果。这个过程就是 pre-training。
深度网络存在问题:
网络越深,需要的训练样本数越多。若用监督则需大量标注样本,不然小规模样本容易造成过拟合。深层网络特征比较多,会出现的多特征问题主要有多样本问题、规则化问题、特征选择问题。
多层神经网络参数优化是个高阶非凸优化问题,经常得到收敛较差的局部解;
梯度扩散问题,BP算法计算出的梯度随着深度向前而显著下降,导致前面网络参数贡献很小,更新速度慢。
解决方法:
逐层贪婪训练,无监督预训练(unsupervised pre-training)即训练网络的第一个隐藏层,再训练第二个…最后用这些训练好的网络参数值作为整体网络参数的初始值。
经过预训练最终能得到比较好的局部最优解。
2.2. 什么是模型微调fine tuning
用别人的参数、修改后的网络和自己的数据进行训练,使得参数适应自己的数据,这样一个过程,通常称之为微调(fine tuning).
模型的微调举例说明:
我们知道,CNN 在图像识别这一领域取得了巨大的进步。如果想将 CNN 应用到我们自己的数据集上,这时通常就会面临一个问题:通常我们的 dataset 都不会特别大,一般不会超过 1 万张,甚至更少,每一类图片只有几十或者十几张。这时候,直接应用这些数据训练一个网络的想法就不可行了,因为深度学习成功的一个关键性因素就是大量带标签数据组成的训练集。如果只利用手头上这点数据,即使我们利用非常好的网络结构,也达不到很高的 performance。这时候,fine-tuning 的思想就可以很好解决我们的问题:我们通过对 ImageNet 上训练出来的模型(如CaffeNet,VGGNet,ResNet) 进行微调,然后应用到我们自己的数据集上。
所以,预训练 就是指预先训练的一个模型或者指预先训练模型的过程;微调 就是指将预训练过的模型作用于自己的数据集,并使参数适应自己数据集的过程
2021-08-24fine-tuning 模型相关推荐
- GNSS数据下载网站整理,包括gamit、bernese更新文件地址[2021.08更新]
本人博客园同名原创文章,展示到CSDN供大家参考,转载请声明地址:https://www.cnblogs.com/ydh2017/p/6474654.html 从事GNSS研究的小伙伴大都离不开GNS ...
- 【Yolov5】1.认真总结6000字Yolov5保姆级教程(旧版本2021.08.03作为备份)
旧版本2021.08.03 新版本https://blog.csdn.net/m0_53392188/article/details/119334634 以作备份 目录 一.前言 二.学 ...
- 2021.08.09【普及组】模拟赛C组比赛总结
文章目录 2021.08.09[普及组]模拟赛C组比赛总结 写在前面: T1 :[普及模拟]生产武器 题目大意: 正解: T2 :[普及模拟]城市连接 题目大意: 正解: T3 :[普及模拟]抢救文件 ...
- 《安富莱嵌入式周报》第227期:2021.08.23--2021.08.29
往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...
- 纯Go实现的Firebase的替代品 | Gopher Daily (2021.08.11) ʕ◔ϖ◔ʔ
每日一谚:Global variables should have longer names. Go技术生态 如何才能成功将Python切换到Go - https://itnext.io/opinio ...
- 本博客导读(2021/08/09更新)
文章目录 1. 简介 1.1 博客精神 1.2 写作目的 1.3 技术方向 1.4 博主 1.5 版权说明 2 推荐内容 2.1 主要代表作 2.2 其他推荐内容 3. 程序类 3.1 C#程序设计 ...
- Doris Weekly FAQ】2021.07.19~2021.08.01
观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月19日 - 2021年08月01日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...
- Task 08(树模型组队总结
这次的团队学习,我学习到了什么? 理论上的 从基础模型树模型到集成模型Bagging, Boosting和stacking以及blending,学起来感觉特别地舒服.从信息论到树的生成,从信息熵到gi ...
- 【2021.08】python会员数据化运营task2
基于RFM的精细化用户管理 1.案例背景 对用户进行分组可以更好的了解用户价值.本案例使用某企业四年的家电订单数据,使用RFM模型对用户进行分组,基于业务部门的用户分群需求,我们计划将RFM的3个维度 ...
- 2021.08.28-MMsegmentation0.16.0+Cuda10.1+Ubuntu16.04+Pytorch1.8环境安装
个人在目标检测方向的学习比较深入,但在深度学习的图像处理中,语义分割也是一个很重要的方向,所以也想一探究竟,熟悉一下基本流程和工作原理. 现打算在LINUX系统Ubuntu16.04上安装mmsegm ...
最新文章
- python codecs.open()及文件操作-文本处理 with open
- Linux改变输出字体颜色,linux下 C编程改变输出字体颜色
- winform解析json
- 博士称因待遇不公要离职,被学校要求返还51万元补偿费
- c语言约束函数,求解能不能用c或c++语言实现下面的约束条件
- Topaz Labs AI深度学习图像处理(Gigapixel、Video Enhance)
- ITK:计算图像谱密度
- js img图片加载失败,重新加载+断网检查
- 5.11 加权Gram-Schmidt 分解
- oracle跨越千年处理
- 联信高效的数据传输机制
- java 反射 方法 修饰符_超类中使用默认修饰符的Java反射访问方法
- 计算机二级c语言程序设计题(一)
- Pytorch中文视频教程,Pytorch实战视频教程
- apktool助手转java_apktool助手
- python输出一棵树_如何用Python画一棵树
- 杨百翰大学计算机科学,2019上海软科世界一流学科排名计算机科学与工程专业排名杨百翰大学排名第401-500...
- SecureCRT 水平显示不全解决办法
- 02335网络操作系统
- 年薪 170 万阿里 P8 程序员征婚上热搜,程序员婚恋观大曝光!