位置: IT常识 - 正文

fine-tuning(微调)的理解(微调是调哪里)

编辑:rootadmin
fine-tuning(微调)的理解 fine-tuning介绍什么情况下使用微调微调指导事项不同数据集下使用微调涉及到的其他知识学习率(learning-rate)卷积神经网络的核心迁移学习与微调什么是迁移学习为什么要迁移学习详细解释自己的理解(不知道对不对)介绍

推荐整理分享fine-tuning(微调)的理解(微调是调哪里),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微调是什么,微调是什么,finetuning微调,微调英文怎么说,微调是什么,微调怎么读,微调是调哪里,triovis微调,内容如对您有帮助,希望把文章链接给更多的朋友!

fine-tuning的过程就是用训练好的参数(从已训练好的模型中获得)初始化自己的网络,然后用自己的数据接着训练,参数的调整方法与from scratch训练过程一样(梯度下降)。对于初始化过程,我们可以称自己的网络为目标网络,训练好的模型对应网络为源网络,要求目标网络待初始化的层要与源网络的层相同(层的名字、类型以及层的设置参数等等均相同)。

fine-tuning已经成为了使用DL网络的一个常用技巧(trick)。使用深度网络做图像处理任务时,使用一个在大的数据集上预训练好的模型在自己数据上微调往往可以得到比直接用自己数据训练更好的效果,这是因为在imagenet上预训练的模型参数从微调一开始就处于一个较好的位置,这样微调能够更快的使网络收敛。对于相同类别的任务我们可以默认这样去做比较好。然而当我们要做一个不同的任务,那么可能直接拿预训练的模型进行微调就不是最好的了。

一般我们在训练from scratch的时候往往要在一些超大型的数据集上训练,一个目的是为了让训练得到的特征(尤其是底层特征)更加多样。而从generative pre-training(生成式预训练)到discriminative fine-tuning(判别微调)的过程是一个对泛化特征进行面向任务的特化的过程。首先,如果你将底层特征可视化出来,会发现底层特征多是一些边、角之类的基础几何形状,高层特征可能会发生一些有趣的变化,直接反映出你的task。 在大数据集上进行预训练的目的之一是为了获得丰富、一般化的底层特征,换言之就是学到丰富的“基础几何形状”。有了这些丰富的基础几何形状,等过渡到小数据集上 finetune 的时候,就可以通过它们组合出上层具有强判别力的特征。此时,如果你再将组合出来的上层特征可视化,就会发现它们已经有模有样了。底层特征非常重要,如果底层特征不够好,特征类型不够充分,很可能训练不出来好的高层抽象。这就是为什么需要在大规模数据集上进行genertive training的原因之一。

网络越深,底层的参数越难得到有效训练,这也是为什么经常有人用 vggNet finetune 的原因之一。使用 backpropagation(反向传播)进行训练的时候残差逐层传递,有可能到底层的时候残差就很小了(gradient vanishing),导致底层的参数不动。

finetune 就是直接从别人已经训练好的网络上拷贝参数,然后针对自己的数据训练新的模型。这时候需要比较小的learning_rate, 因为要在不破坏原有模型的情况下 fit 自己的数据,finetune 的好处就是可以直接获得我们难以或者无法训练的底层参数。

什么情况下使用微调

(1)你要使用的数据集和预训练模型的数据集相似,如果不太相似,比如你用的预训练的参数是自然景物的图片,你却要做人脸的识别,效果可能就没有那么好了,因为人脸的特征和自然景物的特征提取是不同的,所以相应的参数训练后也是不同的。 (2)自己搭建或者使用的CNN模型正确率太低。 (3)数据集相似,但数据集数量太少。 (4)计算资源太少。

微调指导事项fine-tuning(微调)的理解(微调是调哪里)

1.通常的做法是截断预先训练好的网络的最后一层( softmax层),并用与我们自己的问题相关的新的softmax层替换它。例如,ImageNet上预先训练好的网络带有1000个类别的softmax图层。如果我们的任务是对10个类别的分类,则网络的新softmax层将由10个类别组成,而不是1000个类别。然后,我们在网络上运行预先训练的权重。确保执行交叉验证,以便网络能够很好地推广。 ⒉.使用较小的学习率来训练网络。由于我们预计预先训练的权重相对于随机初始化的权重已经相当不错,我们不想过快地扭曲它们太多。通常的做法是使初始学习率比用于从头开始训练(Training from scratch )的初始学习率小10倍。 3.如果数据集数量过少,我们进来只训练最后一层,如果数据集数量中等,冻结预训练网络的前几层的权重也是一种常见做法。这是因为前几个图层捕捉了与我们的新问题相关的通用特征,如曲线和边。我们希望保持这些权重不变。相反,我们会让网络专注于学习后续深层中特定于数据集的特征。

不同数据集下使用微调

1.数据量少,但数据相似度非常高。在这种情况下,我们所做的只是修改最后几层或最终的softmax图层的输出类别。 2.数据量少,数据相似度低。在这种情况下,我们可以冻结预训练模型的初始层(比如k层),并再次训练剩余的( n-k )层。由于新数据集的相似度较低,因此根据新数据集对较高层进行重新训练具有重要意义。 3.数据量大,数据相似度低。在这种情况下,由于我们有一个大的数据集,我们的神经网络训练将会很有效。但是,由于我们的数据与用于训练我们的预训练模型的数据相比有很大不同。使用预训练模型进行的预测不会有效。因此,最好根据你的数据从头开始训练神经网络(Training from scatch )。 4.数据量大,数据相似度高。这是理想情况。在这种情况下,预训练模型应该是最有效的。使用模型的最好方法是保留模型的体系结构和模型的初始权重。然后,我们可以使用在预先训练的模型中的权重来重新训练该模型。

涉及到的其他知识学习率(learning-rate)

将输出误差反向传播给网络参数,以此来拟合样本的输出。本质上是最优化的一个过程,逐步趋向于最优解。但是每一次更新参数利用多少误差,就需要通过一个参数来控制,这个参数就是学习率(Learning rate),也称为步长。

学习率越大,输出误差对参数的影响就越大,参数更新的就越快,但同时受到异常数据的影响也就越大,梯度可能会在最小值附近来回震荡,甚至可能无法收敛。当学习率设置的过小时,收敛过程将变得十分缓慢。

最理想的学习率不是固定值,而是一个随着训练次数衰减的变化的值,也就是在训练初期,学习率比较大,随着训练的进行,学习率不断减小,直到模型收敛。

学习率大学习率小学习速度快慢使用时间点刚开始训练时一定轮数过后副作用1.易损失值爆炸;2.易振荡1.易过拟合;2.收敛速度慢

如果是迁移学习 ,由于模型已在原始数据上收敛,此时应设置较小学习率 (≤10^−4) 在新数据上进行微调 。

卷积神经网络的核心

(1)浅层卷积层提取基础特征,比如边缘,轮廓等基础特征。 (2)深层卷积层提取抽象特征,比如整个脸型。 (3)全连接层根据特征组合进行评分分类。

迁移学习与微调什么是迁移学习

迁移学习(Transfer learning) 顾名思义就是把已训练好的模型参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务都是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习。

为什么要迁移学习

1)站在巨人的肩膀上:前人花很大精力训练出来的模型在大概率上会比你自己从零开始搭的模型要好。 2)训练成本可以很低:如果采用导出特征向量的方法进行迁移学习,后期的训练成本非常低,用CPU都完全无压力,没有深度学习机器也可以做。 3)适用于小数据集:对于数据集本身很小(几千张图片)的情况,从头开始训练具有几千万参数的大型神经网络是不现实的,因为越大的模型对数据量的要求越大,过拟合无法避免。这时候如果还想用上大型神经网络的超强特征提取能力,只能靠迁移学习。

详细解释

1)Transfer Learning:冻结预训练模型的全部卷积层,只训练自己定制的全连接层。 2)Extract Feature Vector:先计算出预训练模型的卷积层对所有训练和测试数据的特征向量,然后抛开预训练模型,只训练自己定制的简配版全连接网络。 3)Fine-tune:冻结预训练模型的部分卷积层(通常是靠近输入的多数卷积层),训练剩下的卷积层(通常是靠近输出的部分卷积层)和全连接层。

注:Transfer Learning关心的问题是:什么是“知识”以及如何更好地运用之前得到的“知识”,这可以有很多方法和手段,eg:SVM,贝叶斯,CNN等。而fine-tune只是其中的一种手段,更常用于形容迁移学习的后期微调中。自己的理解(不知道对不对)

1.迁移学习,学习的是整个结构,包括函数权重参数等; 而fine-tuning,学习的是前n层的参数。 2.fine-tuning是迁移学习的方法之一。

本文链接地址:https://www.jiuchutong.com/zhishi/299599.html 转载请保留说明!

上一篇:HTML生日快乐-生日祝福(烟花+粒子动画)(生日快乐html5代码)

下一篇:python命令 解释器、交互式、面向对象的编程语言(python 命令行参数解析)

  • oppo手机禁止安装恶意应用在哪里修改(oppo手机禁止安装程序,要怎么设置才能解除?)

    oppo手机禁止安装恶意应用在哪里修改(oppo手机禁止安装程序,要怎么设置才能解除?)

  • 华为p20pro手机支持5g吗(华为p20pro支持u盘吗)

    华为p20pro手机支持5g吗(华为p20pro支持u盘吗)

  • 三星note10+屏幕刷新率(三星Note10+屏幕材质M9)

    三星note10+屏幕刷新率(三星Note10+屏幕材质M9)

  • 手机录屏最多能多久(手机录屏最多能录多长时间vivo)

    手机录屏最多能多久(手机录屏最多能录多长时间vivo)

  • 小米cc9怎么隐藏APP(小米cc9pro怎么隐藏app)

    小米cc9怎么隐藏APP(小米cc9pro怎么隐藏app)

  • 苹果手机死机自动重启怎么回事(苹果手机死机自动关机重启)

    苹果手机死机自动重启怎么回事(苹果手机死机自动关机重启)

  • 苹果手机发烫充不进电怎么办(苹果手机发烫充电慢怎么回事)

    苹果手机发烫充不进电怎么办(苹果手机发烫充电慢怎么回事)

  • 乐外手环app叫什么(乐外手环app叫什么名字)

    乐外手环app叫什么(乐外手环app叫什么名字)

  • 手机升级后没有声音怎么办(手机升级后没有声音了怎么回事)

    手机升级后没有声音怎么办(手机升级后没有声音了怎么回事)

  • 苹果充电头中间有裂纹(苹果充电头有个孔)

    苹果充电头中间有裂纹(苹果充电头有个孔)

  • 5g双模可以用4g吗(5g双模好吗)

    5g双模可以用4g吗(5g双模好吗)

  • 抖音注销对方关注里还有我吗(抖音注销后关注我的人还可以看到吗)

    抖音注销对方关注里还有我吗(抖音注销后关注我的人还可以看到吗)

  • 换货卖家不发货怎么办(换货卖家不发货,退款怎么处理)

    换货卖家不发货怎么办(换货卖家不发货,退款怎么处理)

  • 快手直播有哪些规则需要注意(快手直播有哪些软件)

    快手直播有哪些规则需要注意(快手直播有哪些软件)

  • ps斜切怎么用(ps斜切怎么弄)

    ps斜切怎么用(ps斜切怎么弄)

  • realme x机身尺寸多少(realme x大小)

    realme x机身尺寸多少(realme x大小)

  • iphone11pro max支持双卡吗(iphone11promax支持20w快充吗)

    iphone11pro max支持双卡吗(iphone11promax支持20w快充吗)

  • mate30pro声音怎么调(mate30pro声音怎么样)

    mate30pro声音怎么调(mate30pro声音怎么样)

  • qq上的照片怎么打印(QQ上的照片怎么删除)

    qq上的照片怎么打印(QQ上的照片怎么删除)

  • 暗黑模式怎么设置(暗黑模式怎么添加到控制面板)

    暗黑模式怎么设置(暗黑模式怎么添加到控制面板)

  • 苹果蓝牙双耳机只能响一边(苹果蓝牙耳机双耳机配对)

    苹果蓝牙双耳机只能响一边(苹果蓝牙耳机双耳机配对)

  • 复印机复印步骤(复印机复印步骤图)

    复印机复印步骤(复印机复印步骤图)

  • 如何关闭网络位置服务(如何关闭手机的网络位置服务)

    如何关闭网络位置服务(如何关闭手机的网络位置服务)

  • 苹果原彩显示在哪里(苹果原彩显示功能)

    苹果原彩显示在哪里(苹果原彩显示功能)

  • React中CodeMirror插件的使用及封装(react img onerror)

    React中CodeMirror插件的使用及封装(react img onerror)

  • 一品红叶子特写 (© Charles Floyd/Alamy)(一品红叶发黄咋回事儿)

    一品红叶子特写 (© Charles Floyd/Alamy)(一品红叶发黄咋回事儿)

  • phpcms上传不了图片怎么办(php实现上传图片功能)

    phpcms上传不了图片怎么办(php实现上传图片功能)

  • python列表访问的方法(python怎么访问属性)

    python列表访问的方法(python怎么访问属性)

  • 怎样理解一般纳税人
  • 应纳税所得额是利润总额吗
  • 增值税的纳税人是谁
  • 计提房产税要含税吗
  • 补缴所得税的账务处理
  • 以前年度亏损弥补会计分录
  • 金税盘维护费申报
  • 小规模纳税人核算方式选什么
  • 缴纳个税和社保
  • 公司员工的伙食费计入什么科目
  • 集团内部是什么意思
  • 汇算清缴前未取得发票账务处理
  • 劳务发票需要身份证原件吗
  • 免抵退说
  • 油品沥青消费税征收范围
  • 劳务和工资合并扣税吗
  • 公账转私账备注借款
  • 固定资产销售账务处理的例题
  • 2020年运费发票备注栏新规定
  • 纳税人享受增值服务
  • 库存月底怎么一次性结转成本?
  • 工会账户销户
  • 城建税的会计分录是什么
  • 出差人员餐费,进项可以抵扣吗
  • 转账凭证摘要怎么写原材料的
  • msoxmled.exe是什么软件
  • php需要的软件
  • 甲产品生产耗用a材料10000千克,单位成本
  • 税收协定与国内税法发生冲突
  • 一般纳税人简易计税
  • 企业研发费用加计扣除是什么意思
  • 进价金额核算法例题
  • php 通信
  • 小规模纳税人出租不动产免征增值税
  • 如何把html数据导入表格
  • 猿创设计科技有限公司
  • python导入其他文件的函数
  • 其他免税销售额大于0免税性质代码
  • 工地购买的厨房用品计入哪个科目
  • 出差费算什么科目
  • 秸秆回收加工项目
  • 汇算清缴期间费用保险费是什么
  • Python中自定义异常
  • mysql四种常见日志
  • 企业所得税的会计处理怎么做
  • 外资企业国内审批手续繁琐
  • 在建工程会计科目明细
  • sqlserver2000分页
  • sql 附加数据库
  • 公对私转账交税
  • 公司亏损后盈利分红
  • 盈余公积包括哪两个明细科目
  • 非盈利组织固定资产金额标准最新规定
  • 公户里的钱可以随便转出嘛
  • acca中ebq等于
  • 研发费用摊销方法
  • 短期流动负债计算公式
  • 企业送员工的礼品
  • 员工缴纳工伤保险怎么赔偿
  • 土地出让金抵减增值税
  • 原材料入库损耗
  • 餐饮打包盒 标准
  • mysql union join
  • linux i
  • win10怎么设置加快电脑速度
  • windows任务管理器占用cpu过高
  • 进程spoolsv.exe
  • 64位windows8系统安装驱动时出现签名错误的解决方法
  • win8电脑d盘不见了怎么恢复
  • win8iis安装配置
  • CCMoveBy与CCMoveTo
  • opengl 缓存
  • 基于重大误解实施的民事法律行为
  • 手机屏幕适配
  • JavaScript中Number.MIN_VALUE属性的使用示例
  • unity第三人称视角跟随物体移动
  • github docs
  • 如何查询汽车发票
  • 辽宁税务局代码是多少
  • 四川省成都市地图高清版大图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设