
无论是寻找最稳定的结构、最准确的预测,还是最高效的设计,对“最佳”解的探寻是贯穿科学与工程的一项基本追求。这一追求在数学上可以被描述为寻找一个极小值点(minimizer)——即一个由成本、误差或能量函数定义的复杂“地形”中的最低点。然而,在这些地形中“导航”充满了挑战。简单直观的策略很容易陷入“局部”最小值,一个看似最优但远非真正“全局”最小值的解。理解二者之差,并懂得如何找到正确的最小值类型,是解决现实世界问题的关键。
本文将引导读者进入极小值点的世界。在第一部分“原理与机制”中,我们将探讨用于描述这些优化地形的数学语言,从微积分的基本概念到险峻的非凸问题与“行为良好”的凸问题之间的关键区别。在第二部分“应用与跨学科联系”中,我们将看到对极小值点的探寻如何成为推动医学成像、机器学习和物理学等不同领域创新的引擎,并揭示大自然本身也是一个不懈的优化者。
想象你是一位身处广阔、大雾笼罩山脉中的徒步者。你的目标是找到绝对最低点——海平面。在浓雾中,你只能看到周围的环境。一个简单而明智的策略是永远向下走。或早或晚,你会发现自己身处一个山谷的底部,在这里,任何方向都是上坡。你找到了一个局部最小值。但这是整个山脉的最低点吗?它是全局最小值吗?从你所处的位置,无法知晓。你可能身处高山中的一个山谷,而真正的最低点在数英里之外,被无数山峰和山脊所遮蔽。
这个简单的类比抓住了优化的核心挑战:寻找一个局部解与寻找真正的全局解之间的深刻差异。科学世界,从设计一座稳固的桥梁到训练一个人工智能,充满了这样的“地形”,它们不是由岩石和土壤构成,而是由描述成本、能量或误差的数学函数定义。我们的任务是在这些抽象的地形中“航行”,找到它们的最低点——它们的极小值点。为此,我们需要一种语言来描述地形,并需要工具来探索它。
微积分给我们提供了相当于这些数学地形的“地形图”和“指南针”。为了找到谷底,我们首先要寻找平坦的地面。
函数的梯度(gradient),记作 ,是一个指向最陡峭上升方向的向量。在最小值、最大值,甚至是平坦的“鞍点”处,地面都是平的。在数学上,这意味着梯度是零向量:。满足此条件的点被称为驻点(stationary points),它们是我们寻找极小值点的首要候选。
但身处平地还不够。我们是在碗底、穹顶之上,还是在一个像品客薯片形状的鞍座上?为了弄清这一点,我们必须观察曲率。这是 Hessian 矩阵 的任务,它由函数的所有二阶偏导数集合而成。Hessian 矩阵告诉我们梯度自身是如何变化的。对于一个二维地形,Hessian 矩阵是一个 的矩阵,其性质决定了局部形状:
当我们看到一个地形如何变形时,这种分析的美妙之处便显现出来。考虑一个最初是简单抛物碗面的函数,。它在 处有一个显而易见的全局最小值。现在,让我们添加一个微小的波浪状扰动,得到函数 。参数 控制波浪的振幅。
当 非常小时,地形仍以碗形为主, 仍然是唯一的全局最小值。但随着我们增加 ,波浪变得更加显著。在一个临界阈值 处,发生了非凡的变化。由 Hessian 矩阵度量的原点处的曲率,从正定转为不定。碗底转变为一个鞍点。取而代之的是,两个新的、完全对称的全局最小值诞生了,它们沿着新形成的山脊两侧滑下。类似的现象也发生在函数 中,当 时,在 处只有一个最小值;但对于任何无穷小的 ,原点会变成一个局部最大值,并出现两个新的全局最小值。这种极小值点数量和性质的突变是一种“分岔”(bifurcation),是复杂性从简单开端中产生的一种基本方式。
拥有多个山谷和山峰的地形被称为非凸(non-convex)的。对于像梯度下降(gradient descent)这样的局部搜索算法——即我们那个只朝下坡走的数学徒步者——这样的地形是一个险恶的迷宫。
假设我们的目标是找到离目标点 最近的点,但我们的搜索被限制在一个由两个不相连的圆盘组成的可行域内:一个是以原点为中心、半径为 1 的圆盘,另一个是以 为中心、半径为 0.8 的圆盘。一个从左侧圆盘内部(例如原点)开始的算法,会尽职地向下“行走”,直到碰到边界点 ,这是该圆盘内离目标点最近的点。它会自豪地报告找到了最小值。它说得没错——它找到了在该圆盘内的最佳解,一个局部极小值点。但它完全没有意识到,真正的全局最小值在另一个圆盘里,位于 ,一个离目标点近得多的点。
算法被困住了。这不是算法的失败,而是非凸问题的基本特征。没有简单的局部规则能够保证找到全局解。许多现代科学问题的地形,从蛋白质折叠到深度神经网络的训练,都是极其非凸的,拥有数量惊人的局部最小值。这就是为什么全局优化是计算科学中最困难也最重要的前沿之一。
如果说非凸性是问题,那么凸性(convexity)就是解药。如果一个函数图像上任意两点的连线段完全位于图像的上方,那么该函数就是凸函数。想象一个单一、完美的碗。这类函数有一个“神奇”的性质:任何局部最小值也是全局最小值。高山上没有误导人的山谷。如果我们的徒步者找到了一个谷底,她可以确定这就是整个地形的最低点。
如果函数是严格凸的,像一个完美的圆碗而不是带有平底的槽,那么好消息会更进一步:全局最小值也是唯一的。这种唯一性不仅是数学上的便利,它通常是一个结构良好的物理模型的基石。例如,在弹性理论中,一个结构在负载下的稳定性取决于一个势能泛函的最小化。如果材料的储存能量函数 是凸的,那么任何找到的平衡态都保证是稳定且全局最优的。 的严格凸性确保了这个稳定状态是唯一的。大自然以其自己的方式偏爱凸性。
当我们试图在一个凸集(如“概率单纯形”)中寻找离给定点 最近的点时,严格凸性的威力得到了绝佳的展示。如果我们使用标准的欧几里得距离(或其平方,这是严格凸的)来衡量“最近”,解永远是一个单一、独特的点。然而,如果我们把度量标准换成 距离(“曼哈顿距离”,它是凸的但不严格凸),答案可能是一整段由同等最优的点组成的线段。凸性与严格凸性之间的细微差别,正是找到一个答案与找到那个答案之间的区别。
对于受一组方程约束的问题,数学家们发展了一套名为 Karush-Kuhn-Tucker (KKT) 条件的“游戏规则”。这些条件是无约束问题中简单 梯度 = 0 规则的推广。如果一个问题是凸的并且满足一个温和的正则性条件(如 Slater 条件),这些 KKT 条件就成为完美的向导:一个点是全局极小值点当且仅当它满足 KKT 条件。如果 KKT 系统无解,我们就能确定地知道不存在可供寻找的极小值点。
当我们的问题是顽固的非凸问题时,我们能做些什么呢?我们不能总是期盼一个凸的世界。取而代之,我们发展出了巧妙的策略来驾驭,甚至拥抱这种复杂性。
有时,一个困难的非凸问题有一个更简单的凸“近亲”。一个著名的例子来自压缩感知,即从少量测量中重建信号的艺术。理想情况是找到“最稀疏”的解——即非零元素最少的解,这是一个由非凸的 伪范数度量的量。这个问题在计算上是难解的(NP-hard)。突破在于通过用 范数(其最接近的凸亲缘)替换 范数来松弛(relax)该问题。由此产生的问题是一个线性规划,这是一类可以以惊人效率求解的凸问题。神奇的是,在测量过程满足某些条件下,这个简单凸问题的解与那个不可能的非凸问题的解完全相同。
如果一个问题有太多的解怎么办?考虑一个其极小值点构成一条连续曲线的函数,例如 中的正弦波。曲线 上的每一点都是同等完美的全局最小值。我们应该选择哪一个呢?我们可以在函数中加入一个“决胜项”。例如,我们可以添加一个对远离原点的惩罚,。这被称为正则化(regularization)。这个额外的项就像一个温和的引力,打破了简并性,并将解拉向一个单一、独特的点——在本例中是 。这个思想,即权重衰减(weight decay),是现代机器学习的基石,用于防止过拟合并选择更简单的模型。
有时,多个最小值不是一个缺陷,而是反映了问题深层对称性的一个特征。在某些机器学习任务中,如果我们找到了一个解矩阵 ,其列的任何置换 也是一个完美的解。这产生了一整族等价的全局最小值。一个关键的洞见是,由于它们都通过一个基本对称性相关联,所以它们都同样好。我们不需要费力去寻找一个“真正”的极小值点;找到这个对称族中的任何一个成员都是一次成功。
最后,在深度学习那些极其复杂的地形中,一种新的智慧正在兴起。也许绝对的最低点并不是最佳去处。假设我们有两个局部最小值, 和 ,它们在训练数据上具有相同且低的误差。然而, 周围的山谷宽阔而“平坦”(低曲率),而 周围的山谷则是一个狭窄、“尖锐”的峡谷。哪个解更好呢?平坦的最小值 更具鲁棒性。如果你对参数进行轻微扰动——增加一点噪声——函数值不会增加太多。而在尖锐的最小值 中,同样小的扰动可能会让你沿着峡谷陡峭的峭壁急剧上升。这种对噪声的鲁棒性通常与在新的、未见过的数据上的更好表现(泛化)相关。因此,矛盾的是,一个“好”的局部最小值可能比一个“坏”的全局最小值更可取。目标从仅仅找到最低点转变为找到地形中一个稳定、鲁棒且可泛化的区域。
对极小值点的追寻是一段旅程,它将我们从一个球滚下山的简单直觉,带到现代科学核心的最深层问题。它讲述了我们如何用数学描绘世界,如何与世界固有的复杂性搏斗,以及如何学会在其中找到不仅仅是解,而是有意义的解。
在我们之前的讨论中,我们探索了寻找极小值点——给定数学地形中的最低点——的原理和机制。我们将其视为一个优美、自成一体的数学难题。现在,我们准备好看到这个思想在实践中的应用。毫不夸张地说,对极小值点的追求是贯穿现代科学技术结构的一条金线。它是大自然保持高效的方式,也是我们理解复杂世界、预测其行为以及构建智能系统的最强大工具。我们现在将穿越其中一些“地形”,从宇宙的宏大尺度到人工智能的复杂机制。
也许最小化最深刻的应用并非我们所发明,而是我们所发现。大自然似乎是一个不懈的优化者。物理定律通常不是以直接的因果命令形式表达,而是作为最小化原理。例如,最小作用量原理指出,一个物理系统随时间演变的路径是使一个称为“作用量”的量最小化的那条路径。光本身遵循费马最小时间原理,总是在两点之间选择最快的路线。
这个深刻的思想在一个美丽而具体的概念中得到了体现:测地线(geodesic)。测地线简单说就是可以在一个表面上画出的最直的路径。在平坦的平面上,它是一条直线。但在曲面上,比如地球表面,甚至是一个像圆锥这样的抽象物体上呢?这条路径至少在局部上仍然是距离的极小值点。想象一只蚂蚁在圆锥表面爬行。如果它想沿着最短路径从 A 点到 B 点,而不穿透圆锥或飞离它,它将描绘出一条测地线。这些路径可能具有令人惊讶的性质。对于一条环绕圆锥但不经过其顶点的测地线,它与中心轴的距离会振荡,周期性地达到最小半径点。圆锥的几何形状精确地决定了路径必须如何扭转和转弯,以保持其作为“最直”可能路径的状态。这种最小化与空间几何之间的联系是物理学的基石,最著名的体现是在爱因斯坦的广义相对论中,其中引力不是一种力,而是物体沿着弯曲[时空中的测地线](@entry_id:155237)运动的结果。
大自然最小化作用量,而我们人类最小化误差。当我们从世界接收数据时——无论是来自遥远星系的无线电信号、来自地震的地震波,还是病人的 CT 扫描图像——它几乎总是不完美的、充满噪声和不完整的。为了从这些数据中重建一幅有意义的图像,我们将任务构建为一个优化问题。我们定义一个成本函数,它捕捉了一个“好”的解决方案应该是什么样子,然后我们搜索该函数的极小值点。然而,这个成本函数的地形可能是险峻的。
信号处理领域的一项革命性思想是压缩感知,它使我们能够从极少的测量中重建信号。其魔力在于利用了大多数自然信号是稀疏的这一事实——意味着它们可以用很少的非零信息来描述。为了找到这个稀疏解,我们可以在成本函数中设计一个惩罚项,以偏爱具有少量非零值的解。其中最激进的惩罚项,即所谓的 的 范数,是非凸的。这个选择创造了一个崎岖的优化地形,并带有一个危险的陷阱:虚假的局部最小值。算法很容易陷入一个局部最优但并非我们所寻找的真实稀疏信号的解中。例如,全零向量可能成为一个诱人的局部最小值,从而阻止算法找到真实的信号。这说明了设计目标函数的精妙艺术:正是那个使惩罚项在促进稀疏性方面有效的特性,也可能使寻找极小值点的过程变得异常困难。
这个挑战以多种形式出现。在 X 射线晶体学和天文学等领域,探测器通常只能测量光的强度,而所有关于其相位的信息都丢失了。这就是相位恢复(phase retrieval)问题。为了恢复完整的图像,我们可以建立一个最小化问题,以找到一个其强度与我们测量结果相匹配的图像。我们再次面临一个非凸、非光滑的目标函数,一个布满了与真实底层图像不对应的局部最小值的地形。
在医学成像领域,不同类型极小值点之间的张力讲述了一场正在进行的革命。放射组学中的一项关键任务是从扫描中分割出肿瘤或器官。一种经典方法,即测地线活动轮廓或“蛇形模型”(snake),将边界视为一条弹性曲线,它会演化以紧贴物体的边缘。这是一个直观而强大的思想,但由于能量地形是非凸的,蛇形模型很容易被一个微弱的、虚假的边缘所困住,导致分割不正确。最终结果严重依赖于外科医生或放射科医生最初放置曲线的位置。
为了解决这个问题,一种新的哲学应运而生:凸松弛。问题被巧妙地重新表述,使得目标函数和可行集都是凸的。这保证了任何局部极小值点都是全局极小值点!一个算法,无论如何启动,总会找到相同、唯一的解。这带来了临床科学所必需的可重复性。但这件礼物并非免费的午餐。凸目标函数,通常使用全变分 (TV) 惩罚项,有其自身的偏见。它惩罚分割对象的周长,这可能导致其轻微收缩或将可能具有临床意义的尖锐角磨圆。这就提出了一个引人入胜的权衡:我们是更喜欢一个灵活但不可靠的非凸方法,还是一个可重复但可能存在偏见的凸方法?
在任何领域,对极小值点的探索都没有像在机器学习中那样核心。训练模型的行为本身就是一种优化实践,正式称为经验风险最小化(Empirical Risk Minimization, ERM)。我们定义一个损失函数来衡量模型在一组训练数据上的表现有多差,然后我们调整模型的参数以找到该损失的极小值点。
对于现代深度神经网络,这个损失地形极其复杂且高度非凸。它是一个超高维的山脉,有无数的山谷、峡谷和高原。一个优化算法,从一组随机参数开始,将下降到这些山谷之一——一个局部最小值。它最终停在哪里,会产生深远的影响。两个在相同数据上训练的相同模型,但具有不同的随机初始化,可能会收敛到不同的局部最小值,并表现出不同的预测行为。这意味着优化地形中的局部最小值给最终的“智能”系统引入了根本性的偏见和方差来源,影响其可靠性和公平性。
然而,在这样的复杂性中,我们发现了令人惊讶的简洁之处。考虑矩阵分解(matrix factorization)问题,它为从 Netflix 的推荐引擎到发现文本中隐藏主题的方法等一切提供动力。目标是找到两个较小的矩阵,其乘积近似于一个大的数据矩阵。目标函数是高度非凸的。按理说,这应该是一个优化的噩梦。然而,一个优美的数学结果表明,对于这个特定问题,每个局部最小值也是全局最小值。没有“坏”的山谷可以被困住。这个良性的地形是一份隐藏的礼物,使得许多现代数据科学应用能够大规模可行。它有力地提醒我们,我们必须超越“非凸”这个简单的标签,去研究我们问题的独特结构。
最小化在机器学习中的作用可以变得更加错综复杂,形成嵌套的、分层的系统。想想超参数调整(hyperparameter tuning)。一个“学徒”算法(模型)通过最小化其训练损失来学习。但一个“大师”算法必须通过最小化一个不同的目标——验证损失(衡量在未见过数据上的表现)——来调整学徒的学习设置(超参数,如学习率)。一个关键的挑战是可能出现的不匹配:对训练目标最优的参数可能对验证目标不是最优的。驾驭这种双层优化(bilevel optimization),即一个最小化问题嵌套在另一个之内,是自动化机器学习系统设计的核心挑战。
我们所见的原理同样适用于设计和控制庞大的现实世界系统。例如,天气预报是人类每天解决的最大的优化问题之一。像四维变分数据同化(4D-Var)这样的技术,旨在找到全球大气的初始状态,当这个状态根据物理定律向前演化时,能够最好地匹配我们在最近一个时间窗口内收集到的所有卫星和地面观测数据。
这是在一个拥有数十亿变量的空间中寻找极小值点。不完美数据的现实使任务变得更加困难;一些传感器可能有故障并产生异常值。标准的二次损失函数对这类异常值极其敏感,一个坏数据点就可能破坏整个预报。为了使系统具有鲁棒性,预报员使用非凸损失函数,这些函数能有效地忽略大的误差。但这又带回了我们的老对手:在成本函数中引入了虚假的局部最小值。为了解决这个问题,从业者使用复杂的连续或同伦方法。他们从解决一个简单的、凸版本的问题开始,然后慢慢地将其变形为他们真正想要解决的困难的、非凸的问题。这个过程温和地引导解进入一个高质量的吸引盆地,防止它过早地陷入一个差的局部最小值中。
即使在日常工程中,寻找极小值点也是一个强大、通用的工具。假设你需要求解一个形如 的复杂方程。最直接的攻击方法之一是将其重新表述为一个最小化问题:找到使平方误差 最小的 。 的全局最小值显然是零,这恰好发生在原始方程的解处。但正如我们所知,这个简单的技巧必须谨慎使用。如果原始函数 不是单调的,这种变换可能会产生新的、虚假的局部最小值,在这些点上误差很小但非零。一个不加防备的算法可能会收敛到这些伪解之一 [@problem-id:2421149]。
从光线的路径到学习算法的路径,对极小值点的追寻是一个统一的主题。这段旅程向我们展示了,定义正确的问题——精心设计正确的目标函数——是成功的一半。另一半是搜索的艺术:开发工具,从巧妙的数学重构到复杂的算法,以驾驭地形并找到通往底部的路。