深度学习 学习率策略 burn-in

遇到burn-in不明白,所以记录下来:

"burn-in"这个概念最早来自于统计学和机器学习中的马尔可夫链蒙特卡洛(MCMC)采样,其中在开始采样之前,通常会运行一段时间的马尔可夫链以达到平稳分布。同样的概念也被应用到了循环神经网络(RNN)的训练中。

在RNN中,"burn-in"过程是指在开始学习之前先通过网络运行一段时间的序列数据,使得RNN的隐藏状态有机会收敛到某种有意义的状态。这样,当我们开始学习时,RNN的隐藏状态就已经包含了一些有用的历史信息,而不仅仅是初始的零状态。这种方法尤其对处理长序列的任务有帮助,因为这些任务可能需要网络记住距离当前时刻较远的历史信息。

具体实施的话,对于一段序列,首先运行RNN一段时间(称为"burn-in"期),然后再开始训练。"burn-in"期间的输出通常会被忽略,不用于训练。实际的"burn-in"长度可能需要通过实验来确定。

---------------------------------------------------------------------------------------------------------------------------------

burn_in=1000:在迭代次数小于burn_in时候,学习率的更新有一种方式,大于burn_in时,才采用policy的更新方式

---------------------------------------------------------------------------------------------------------------------------------

darknet的cfg文件中有一个配置参数: burn_in

burn_in=1000

这个参数在caffe中是没有的,一旦设置了这个参数,当update_num小于burn_in时,不是使用配置的学习速率更新策略,而是按照下面的公式更新

lr = base_lr * power(batch_num/burn_in,pwr)

其背后的假设是:全局最优点就在网络初始位置附近,所以训练开始后的burn_in次更新,学习速率从小到大变化。update次数超过burn_in后,采用配置的学习速率更新策略从大到小变化,显然finetune时可以尝试。

参考:
1.RNN in RL - 知乎

2.深度学习参数(1) - 简书

3.https://www.cnblogs.com/sddai/p/14652658.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值