PyTorch基础(四)

优化

损失函数通常被称为优化问题的目标函数,优化关注的是最小化目标函数,深度学习关注的是在有限数据量的情况下寻找合适的模型,在此过程中,不仅要使用优化算法来减少训练误差,还要注意过拟合。

  • 最小化训练误差并不能保证我们找到最佳的参数集来最小化泛化误差。
  • 优化问题可能有许多局部最小值
  • 梯度消失可能会导致优化停滞,重参数化通常有所帮助,对参数进行良好的初始化也可能是有益的。
  • 凸函数中,局部极小值是全局极小值。
  • 添加惩罚是确保近似满足约束的一种好方法
  • 根据詹森不等式,“一个多变量凸函数的总期望值”大于或等于“用每个变量的期望值计算这个函数的总值”。
  • 学习率(learning rate)决定目标函数能否收敛到局部最小值,以及何时收敛到最小值。
  • 学习率太大会使模型发散,学习率太小会没有进展。
  • 梯度下降会可能陷入局部极小值,而得不到全局最小值。
  • 使用梯度下降法,则每个自变量迭代的计算代价随n线性增长,随机梯度下降SGD可降低每次迭代时的计算代价。
  • 一般来说,小批量随机梯度下降比随机梯度下降和梯度下降的速度快,收敛风险较小。
  • 动量法用过去梯度的平均值来替换梯度,这大大加快了收敛速度。
  • 对于无噪声梯度下降和嘈杂随机梯度下降,动量法都是可取的。
  • 动量法可以防止在随机梯度下降的优化过程停滞的问题。

学习率调度器

因为学习率的大小、衰减速率、初始化参数等细节问题很重要,所以引入学习率调度器来有效管理学习率。

  • 在训练期间逐步降低学习率可以提高准确性,并且减少模型的过拟合。
  • 在实验中,每当进展趋于稳定时就降低学习率,这是很有效的。
  • 余弦调度器在某些计算机视觉问题中很受欢迎。
  • 对于同样的训练误差而言,选择不同的优化算法和学习率调度,除了最大限度地减少训练时间,可以导致测试集上不同的泛化和过拟合量。

本篇博文参考资料:李沐《动手学深度学习》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值