前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Learning Rate Decay

Learning Rate Decay

作者头像
mathor
发布2020-01-13 15:54:12
5040
发布2020-01-13 15:54:12
举报
文章被收录于专栏:mathormathor

学习率对整个函数模型的优化起着至关重要的作用

最左边的图由于learning rate设置小了,可能需要大量时间才能找到全局最小值;中间的图表示learning rate设置的刚刚好,则很快就能找到全局最小值;最右边的图表示learning rate设置过大,可能造成loss忽大忽小,无法找到全局最小值

由此可以看出,选择合适的learning rate是很讲究技巧的。如下图所示,设置一个可以自动衰减的learning rate可能会在一定程度上加快优化

在pytorch中有一个函数可以帮助我们实现learning rate decay

代码语言:javascript
复制
class torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10,
verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-8)
代码语言:javascript
复制
# patience=10代表的是耐心值为10,
# 当loss出现10次不变化时,即开始调用learning rate decay功能
optimizer = torch.optim.SGD(model.parameters(),
                            args.lr,
                            momentum=args.momentum,
                            weight_decay=args.weight_decay)
scheduler = ReduceLROnPlateau(optimizer, 'min')

for epoch in xrange(args.start_epoch, args.epochs):
    train(train_loder, model, criterion, optimizer, epoch)
    result_avg, loss_val = validate(val_loder, model, criterion, epoch)
    scheduler.step(loss_val)
    # 设置监听的是loss
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档