深度学习:学习率

原文作者:
https://blog.csdn.net/baobei0112/article/details/81542076
https://blog.csdn.net/u014090429/article/details/103736594.

Introduction

学习率 (learning rate),控制模型的学习进度: 
这里写图片描述

学习率大小

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

学习率设置

在训练过程中,一般根据训练轮数设置动态变化的学习率。

  • 刚开始训练时:学习率以 0.01 ~ 0.001 为宜。
  • 一定轮数过后:逐渐减缓。
  • 接近训练结束:学习速率的衰减应该在100倍以上。

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

学习率减缓机制

 轮数减缓指数减缓分数减缓
英文名step decayexponential decay decay
方法每N轮学习率减半学习率按训练轮数增长指数插值递减 , 控制减缓幅度, 为训练轮数

把脉 目标函数损失值 曲线

理想情况下 曲线 应该是 滑梯式下降 [绿线]: 
这里写图片描述

  1. 曲线 初始时 上扬 [红线]: 
    Solution:初始 学习率过大 导致 振荡,应减小学习率,并 从头 开始训练 。
  2. 曲线 初始时 强势下降 没多久 归于水平 [紫线]: 
    Solution:后期 学习率过大 导致 无法拟合,应减小学习率,并 重新训练 后几轮 。
  3. 曲线 全程缓慢 [黄线]: 
    Solution:初始 学习率过小 导致 收敛慢,应增大学习率,并 从头 开始训练 。

yolov2中的学习率一共有如下几种,CONSTANT, STEP, EXP, POLY, STEPS, SIG, RANDOM

CONSTANT:


即学习率固定,这个是最简单的学习率变化策略(不变),配置文件中只需要一个参数,实际中用得比较少,原因是:为了避免跳过全局最优,当参数状态越来越逼近全局最优点时,我们应该降低学习率。

fixed

STEP:


在迭代固定的次数之后以一定的比例降低学习率,这个策略很常用,是一种离散的学习率变化策略简单且非常优秀。

step

EXP:


表达式为:new_lr = base_lr * (gamma^iter),它符合指数函数的变化规律,是一种连续的学习率变化策略
这种策略的学习率衰减非常快,gamma越大学习率衰减越慢,在caffe中以iter为指数而iter通常非常大,所以学习率衰减仍然非常快。

è¿éåå¾çæè¿°

POLY:


表达式为:new_lr = base_lr * (1 - iter / maxiter)^power,从表达式可以看出学习率曲线主要由power值控制。当power = 1时,学习率曲线为一条直线。当power < 1时,学习率曲线为凸状。当power > 1时,学习率曲线为凹状

è¿éåå¾çæè¿°

STEPS:


在迭代预设的不同次数后以一定的比例降低学习率,这个策略也很常用,也是一种离散的学习率变化策略简单且非常优秀,与step不同的是学习率发生改变的迭代次数不均匀。

multistep

SIG:


表达式为:new_lr = base_lr * (1 / (1 + exp(-gamma * (iter - stepsize)))),其中,参数gamma控制学习率变化速率,gamma < 0时学习率才会下降。

sigmoid

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值