ML学习速率

在梯度下降算法中,我们用梯度乘以一个称为学习速率(有时也称为步长)的标量,以确定下一个点的位置。例如,如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择距离前一个点 0.025 的位置作为下一个点。

超参数是编程人员在机器学习算法中用于调整的旋钮。大多数机器学习编程人员会花费相当多的时间来调整学习速率。如果学习速率过小,就会花费太长的学习时间:

学习速率过小 相同的 U 形曲线。很多点都相互非常接近,它们的轨迹朝着 U 形底部缓慢前进。

相反,如果学习速率过大,下一个点将永远在 U 形曲线的底部随意弹跳,就好像量子力学实验出现了严重错误一样:

学习速率过大 相同的 U 形曲线。这条曲线包含的点非常少。点的轨迹会跳过 U 形底部,然后再次跳回。

每个回归问题都存在一个“恰好”的学习速率,这个值与损失函数的平坦程度有关。例如,若已知损失函数的梯度较小,则可以放心地试着采用更大的学习速率,以补偿较小的梯度并获得更大的步长。

学习速率恰好 相同的 U 形曲线。点的轨迹大约需要 8 步达到最低点。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus