CNN之fine-tuning

fine-tuning:使用已用于其他目标、预训练好模型的权重或者部分权重,作为初始值开始训练。

为什么要用fine-tuning?

自己从头训练卷积神经网络容易出现问题;而用fine-tuning能很快收敛到一个理想的状态。

怎么做?

复用相同层的权重,新定义层取随机权重初始值;调大新定义层的学习率,调小复用层学习率。

具体来说就是:如果层次不变,则只需修改输入输出即可;如果层次改变,就添加/删减层次。优先学习权放在新加层,每一层都有控制学习率的参数:blobs_lr,一般会把前面层学习率调低,最后新加层调高,甚至可以freeze前面的层次不动;一般来说,fine-tuning的前期loss下降非常快,中间会有一个瓶颈期,这个时候就需要有耐心了。学习率在solver处进行调整,记录中间结果(snapshot),以免出现意外。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值