冻结训练和解冻训练的区别

冻结训练与解冻训练

原理

大部分深度学习框架(例如pytorch和tensorflow)都提供了一些比较经典,且预训练好的网络模型(resnet、alexnet等),这些训练好的网络模型有较好的泛化性能。简而言之就是能拿来即用,而且针对大部分常见的任务(检测、分割、识别等)有比较不错的效果。

我们只要确定任务的类别,然后把这些别人(通常是DL大神)训练好的模型拿过来,换成自己的数据,调整一下参数,再训练一遍。就能省去从头开始训练自己模型的冗杂过程,从而节省大量的时间。

并且在自己训练数据不够充足的情况下,把这些网络模型作为自己的骨干网络,就相当于已经在coco、imagenet等主流数据集上训练过很多个epoch,从而能有效地提高自己网络的性能。

以上过程又被称为迁移学习(transfer learning)或者微调(fine tuning),总感觉深度学习有关的词汇都那么高级且玄学呢😓
详见这里(pytorch官方中文文档)

为什么进行冻结训练

根据以上迁移学习的思想,因为神经网络主干特征提取部分(上述网络模型)所提取到的特征是通用的,我们冻结起来训练可以加快训练效率,也可以防止权值被破坏,而且前人花很大精力训练出来的模型在大概率上会比你自己从零开始搭的模型要强悍,没有必要重复造轮子。

区别

在冻结阶段,模型的主干被冻结了,特征提取网络不发生改变。占用的显存较小,仅对网络进行微调。
在解冻阶段,模型的主干不被冻结了,特征提取网络会发生改变。占用的显存较大,网络所有的参数都会发生改变。

参考

https://blog.csdn.net/weixin_44791964/article/details/107517428?utm_term=%E8%A7%A3%E5%86%BB%E5%90%8E%E8%AE%AD%E7%BB%83&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-0-107517428&spm=3001.4430

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

事多做话少说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值