【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记(微调)

微调

1.微调的步骤

1.在源数据集(如ImageNet数据集)上预训练一个神经网络模型,即源模型。
2.创建一个新的神经网络模型,即目标模型。它复制了源模型上除了输出层外的所有模型设计及其参数。我们假设这些模型参数包含了源数据集上学习到的知识,且这些知识同样适用于目标数据集。我们还假设源模型的输出层与源数据集的标签紧密相关,因此在目标模型中不予采用。
3.为目标模型添加一个输出大小为目标数据集类别个数的输出层,并随机初始化该层的模型参数。
4.在目标数据集(如椅子数据集)上训练目标模型。我们只需要从头训练输出层,而其余层的参数都是基于源模型的参数微调得到的。

2.微调的训练过程

1.是一个目标数据集上的正常训练任务
2.相当于使用了更强的正则化:
更小的学习率(大stride在初始模型中已走过了,相当于已经有一个比较好的模型了)
更少的迭代次数
3.源数据集远复杂于目标数据,通常得到的微调效果更好

3. 常用的微调技术

1.重用分类器权重 是对最后的分类层进行的处理
源数据可能也有目标数据中的部分标号
可以使用预训练好的模型分类器中对应标号对应的向量作初始化值
2.固定一些层
神经网络通常学习有层次的特征表示(底层描述的特征更加通用,而高层的特征和数据集相关性更强)
可以固定相对底部的层,不参与参数更新(应用了更强的正则化)

4.总结

1.微调通过使用在大数据上得到的预训练模型来初始化权重来提高精度
2.预训练模型质量非常重要
3.微调通常速度更快、精度更高

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jul7_LYY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值