【问题标题】:Learning rate & gradient descent difference?学习率和梯度下降的区别?
【发布时间】:2019-10-07 09:40:03
【问题描述】:

两者有什么区别?例如,两者的作用是达到函数的最小点(较低的损失)。

我理解(我认为)学习率乘以梯度(斜率)以使梯度下降,但是这样吗?我错过了什么吗?

lr和梯度有什么区别?

谢谢

【问题讨论】:

标签: machine-learning deep-learning pytorch cross-validation fast-ai


【解决方案1】:

深度学习神经网络使用随机梯度下降算法进行训练。

随机梯度下降是一种优化算法,它使用训练数据集中的示例估计模型当前状态的误差梯度,然后使用误差的反向传播更新模型的权重算法,简称反向传播。

在训练期间更新权重的量称为步长或“学习率”。

具体来说,学习率是一个可配置的超参数 用于训练具有小积极性的神经网络 值,通常在 0.0 到 1.0 之间。

学习率控制模型适应问题的速度。鉴于每次更新对权重所做的更改较小,较小的学习率需要更多的训练 epoch,而较大的学习率会导致快速变化并且需要更少的训练 epoch。

学习率太大会导致模型过快收敛到次优解,而学习率太小会导致过程卡住。

训练深度学习神经网络的挑战在于仔细选择学习率。它可能是模型最重要的超参数。

学习率可能是最重要的超参数。如果您有时间只调整一个超参数,请调整学习率。

——第 429 页,深度学习,2016 年。

有关学习率是什么以及它是如何工作的更多信息,请参阅帖子:

How to Configure the Learning Rate Hyperparameter When Training Deep Learning Neural Networks

也可以参考这里:Understand the Impact of Learning Rate on Neural Network Performance

【讨论】:

  • 考虑到当今许多算法会自动“缩放”梯度(例如 Adam、RMSProp 等...)
猜你喜欢
  • 2020-08-07
  • 2019-02-22
  • 2012-08-17
  • 2016-10-27
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 2014-04-30
相关资源
最近更新 更多