为什么在这种情况下梯度步骤不垂直于等高线?

数据挖掘 深度学习 梯度下降 线性代数 图书
2022-02-06 20:20:42

有一个定理,点处的梯度垂直于给定点处的切线到轮廓线。为什么在这张照片中,这条规则似乎没有得到尊重? 梯度下降

来源:http ://www.deeplearningbook.org/contents/numerical.html第 89 页

在这种情况下: 最陡下降 来源:http ://www.deeplearningbook.org/contents/optimization.html第 310 页

在第二种情况下,它甚至更奇怪,因为这些步骤似乎并不垂直于轮廓线而是垂直于先前的梯度向量?我是否遗漏了某些东西或将图像严肃对待?在此先感谢和问候。

1个回答

如果梯度下降所采取的步骤在数学意义上是“无穷小的”,情况就是如此。但实际上,它采用由学习率定义的有限长度的步骤。但问题是,梯度是在每个点上计算的,并没有真正计算斜率在稍后的某个有限长度处如何变化。如果选择较大的学习率,可能会如图所示从最优方向“偏离”。如果您选择足够小的学习率,那么这些振荡将是最小的,您可能会“几乎”垂直于轮廓线移动,看起来就像您在问题中描述的那样,但是完成训练需要很长时间。

问题的第二部分指的是标题为“共轭梯度”的部分,它指的是一种特定的优化方法。第二部分出现垂直线的原因是因为转折点处的梯度消失。引用正文:

最速下降法涉及在每一步的初始点沿着由梯度定义的线跳到成本最低的点

这样的点是相对于 theta 的“方向导数”消​​失的地方,theta 是给定方向上的参数。当导数相对于方向参数消失时,唯一可能的方法将是垂直方向。这就是为什么它们被称为“共轭”,因此优化方法的名称。这在图上方的文字中有详细说明。

总结该图的情况;通过计算那里的梯度,在起点选择一个初始方向,然后继续沿该方向移动,直到梯度消失。那个点是那个方向的最小值,所以如果你在那条直线上走得更远,成本函数就会增加。成本函数不增加的唯一方向可以垂直于初始方向。

为了可视化这一点,请查看您第一次上传的图像 4.5 - 第 88 页。从鞍座的顶部开始,沿着渐变,您向下到鞍座的中间。在那一点上,朝着同一个方向走得更远只会把你带上去,而你却想往下走。实现这一点的唯一方法是在鞍座中间转 90 度。