pytorch 学习之 优化器

优化器

管理并更新模型中的可学习参数的值,使得模型输出更接近真实标签。

初始化函数

class Optimizer(object):
    def __init__(self, params, defaults):
        # 优化器超参数,是一个dict{超参数:值}
        self.defaults = defaults
        # 参数的缓存,如momentum的缓存
        self.state = defaultdict(dict)
        # 管理的参数组,每个参数组用字典存储
        self.param_groups = []
        param_groups = [{'params':para_groups}]

基本方法:

zero_grad()			# 清空所管理参数的梯度
step()				# 执行一步更新
add_param_group()	# 添加参数组,不同参数,可以设置不同学习率
state_dict()		# 获取优化器当前状态信息字典
load_state_dict() 	# 加载状态信息字典

Tips:

  1. 优化器通过地址管理参数,节省内存消耗
学习率(learning rate)

学习率过大会梯度爆炸,过小收敛慢

动量(momentum)

结合当前梯度与上一次更新信息,用于当前更新。

指数加权平均:

y = ∑ i N ( 1 − β ) ∗ β i ∗ θ N − i y=\sum^N_i(1-\beta)*\beta^i*\theta_{N-i} y=iN(1β)βiθNi

前面的值对当前值的影响, β \beta β 为影响权重(记忆周期 ),记忆过往数值个数 1 1 − β \frac{1}{1-\beta} 1β1 N N N 为所有值的个数 。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

万俟淋曦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值