梯度下降中小步长假设可能是错误的


梯度下降算法可以通过包含意想不到的大步长来更快地工作,而研究人员长期以来认为呈梯度逐步完善的,所以取名梯度下降。

寻找最佳解决方案场景到处都是:

  • 手机的 GPS 会计算到达目的地的最短路线。
  • 旅游网站会搜索与您的行程相匹配的最便宜的航班组合。

机器学习应用程序通过分析数据模式进行学习,试图为任何给定的问题提供最准确、最人性化的答案。

1847 年,法国数学家奥古斯丁-路易斯·柯西 (Augustin-Louis Cauchy) 正在研究一个相当复杂的例子——天文计算——当时他开创了一种常见的优化方法,现​​在称为梯度下降。如今,大多数机器学习程序都严重依赖该技术,其他领域也使用它来分析数据和解决工程问题。

150 多年来,数学家们一直在完善梯度下降,但上个月的一项研究证明,有关该技术的基本假设可能是错误的。

该技术本身看似简单。它使用一种称为成本函数的东西,它看起来像一条平滑的曲线,在图表中上下蜿蜒。对于该线上的任何点,高度都以某种方式代表成本 - 当调整到特定设置时,操作将产生多少时间、精力或错误。点越高,系统离理想状态越远。当然,您希望找到这条线上的最低点,即成本最小的地方。

梯度下降算法通过选取一个点并计算其周围曲线的斜率(或梯度),然后向斜率最陡的方向移动来摸索到底部。

想象一下,这就像在黑暗中摸索下山一样。您可能不知道要搬到哪里、需要徒步多长时间或最终会到达海平面多近,但如果您沿着最陡峭的下降路线走下去,您最终应该会到达该地区的最低点。

优化研究人员可以对其梯度下降算法进行编程,以采取任何大小的步骤。
大步骤是很诱人,但也有风险,因为它们可能会超出答案。
几十年来该领域的传统观点一直是采取小步骤。在梯度下降方程中,这意味着步长不大于 2,尽管没有人能证明步长越小越好。


随着计算机辅助证明技术的进步,优化理论家已经开始测试更极端的技术。在一项于2022 年首次发表、[url=https://link.springer.com/article/10.1007/s10107-023-01973-1]最近发表[/url]在《数学编程》上的研究中,Das Gupta 和其他人要求计算机为仅限运行 50 步的算法找到最佳步长——这是一种元优化问题,因为它正在尝试来优化优化。

他们发现,最佳的 50 个步骤的长度变化很大,序列中间的一个步骤几乎达到长度 37,远高于长度 2 的典型上限。

格里默探索了可以重复的序列的最佳步长,每次重复都更接近最佳答案。他让计算机进行了数百万次步长序列的排列,帮助找到那些最快收敛到答案的序列。
格里默​​发现最快的序列总是有一个共同点:中间的一步总是很大。它的大小取决于重复序列中的步骤数:

  • 对于三步序列,大步的长度为 4.9。
  • 对于 15 步序列,算法建议长度为 29.7 的一步。
  • 对于测试的最长的 127 步序列来说,中间的大跳跃高达 370 步。

他的论文表明,这个序列达到最佳点的速度比连续小步快近三倍。

这种循环方法代表了梯度下降的一种不同思维方式:
我不应该一步一步地思考,而应该连续地思考一些步骤——我认为这是很多人忽视的事情 
(banq:连续步骤 连续动作 连续事件 都是上下文

虽然这些见解可能会改变研究人员对梯度下降的看法,但它们可能不会改变该技术目前的使用方式。
格里默的论文只关注光滑函数(没有尖锐的扭结)和凸函数(形状像碗,底部只有一个最佳值)。
这些类型的函数对于理论来说是基础,但在实践中不太相关。
机器学习研究人员使用的优化程序通常要复杂得多。
大步方法虽然更快,但这些技术需要额外的运营成本,因此人们希望常规梯度下降能够通过正确的步长组合获胜。

继续放大并细分序列,你会得到一个“几乎分形的图案”,较大的台阶被较小的台阶包围。这种重复表明了一种管理最佳解决方案的基本结构,但目前还没有人能够解释这一点。