为什么非凸性是优化中的问题?


20

当我开始阅读一般关于非凸优化的文章时,我感到非常惊讶,并且看到如下语句:

许多重要的实际问题都是非凸性的,大多数非凸性问题很难(如果不是不可能)在合理的时间内准确解决。(来源

要么

通常,很难找到局部最小值,许多算法可能会陷入困境。(来源

我每天都在进行某种非凸优化-即放松分子几何。我从来没有考虑过棘手,缓慢并且容易卡住。在这种情况下,我们显然具有多维非凸曲面(> 1000自由度)。我们主要使用源自最陡下降和动态淬火的一阶技术,例如FIRE,它们以几百步的速度收敛到局部最小值(小于自由度数)。我希望,除了随机噪声外,它还必须像地狱般坚固。(全局优化是另一回事)

我莫名其妙地无法想象势能表面会是什么样子,从而使这些优化方法陷入困境或缓慢收敛。例如,这种螺旋结构是非常病理性的PES(但不是由于非凸性所致),但这并不是一个大问题。您能举例说明病理性非凸PES吗​​?

因此,我不想与上面的引号争论。相反,我感觉到我在这里缺少一些东西。也许是上下文。


4
这里的关键词是“一般”-您可以构造任意讨厌的功能,尤其是在非常高的维度上,它们基本上是“所有鞍点”。另一方面,可以很好地表现特定类别的非凸函数,特别是如果您使用适当的全球化策略。
克里斯蒂安·克拉森

2
我认为最佳控制理论和工程/运筹学应用非常重视正确性/鲁棒性,而您认为到达“足够好”的位置就足够了。可能存在性能限制(必须保证收敛,以便及时计算机器人的轨迹)或正确性限制(如果稍微更改问题参数,则不会出乎意料地得到完全不同的结果)。因此,获得一些最佳点是不够的,它们还必须具有某些规定的属性。
基里尔

Answers:


23

误解在于构成“解决”优化问题的原因,例如。对于数学家,只有在具备以下条件后,才认为该问题已“解决”argminf(x)

  1. 候选解决方案:决策变量及其对应的目标值的特定选择,并且 ˚F X xf(x)
  2. 最优性的证明:关于的选择是全局最优的数学证明,即对于每个选择都成立。 ˚F X ˚F X Xxf(x)f(x)x

当为凸形时,容易获得两种成分。梯度下降可找到使梯度消失的候选解。最优性的证明来自于MATH101中教导的一个简单事实,即,如果是凸的,并且其梯度在消失,则是全局解。X ˚F X = 0 ˚F ˚F X X fxf(x)=0ffxx

当为非凸时,可能仍然很容易找到候选解,但是最优性的证明变得极为困难。例如,我们可以运行梯度下降并找到一个点。但是,当为非凸时,条件是必要的,但对于全局最优而言已不再足够。实际上,对于局部最优而言,这甚至是不够的,即,我们甚至不能仅基于其梯度信息来保证是局部最小值。一种方法是枚举满足所有点,即使仅在一维或二维上,这也可能是一项艰巨的任务。˚F X = 0 ˚F ˚F X = 0 X ˚F X = 0ff(x)=0ff(x)=0xf(x)=0

当数学家说大多数问题无法解决时,他们实际上是无法构造(甚至局部)最优性的证明。但是在现实世界中,我们通常只对计算“足够好”的解决方案感兴趣,这可以通过无数种方式找到。对于许多高度非凸的问题,我们的直觉告诉我们,即使我们无法完全证明“足够好”的解决方案实际上也是全局最优的!


全局最优与局部最优是完全不同的问题。但是其余的都有意义。可以说更多有关“甚至不能仅凭其梯度信息就不能保证x是局部最小值”还是可以更好地说明这一点?
普罗科普·哈帕拉

假设我们有函数和作为黑匣子(即,我们只能求值,但看不到它们的形式)。点使两个梯度都消失,即和,但该点只是的局部最小值。实际上,此时它们的二阶导数也为零,因此,这两种情况与前两个导数相同!f(x)=x3g(x)=x4f x = 0 g x = 0 x=0f(x)=0g(x)=0g
理查德·张

AHA,OK,我总是自动假设惯性=>该算法不会趋向于收敛于点在在所有。但是可以肯定的是,在这里我们使用了先前步骤中的其他信息(惯性),而不仅仅是一个点的梯度。g x = x 3x=0g(x)=x3
Prokop Hapala '16

我明白你的意思。也许这确实是在严格的数学意义上非凸优化被认为很难的原因。但是,我仍然对实际应用更感兴趣,在这种情况下启发式方法(我认为是算法的自然组成部分)会惨遭失败。
普罗科普·哈帕拉

准凸度呢?通过这种逻辑((是足够的),就不会拟凸的问题是为便于优化为凸的问题?我的理解是,后者ISN”真(凸问题仍然更容易)。f(x)=0
阿梅里奥·瓦兹奎兹·雷纳(Amelio Vazquez-Reina)

6

一个棘手的低维问题的示例可能是:

在此处输入图片说明

考虑到您达到了局部最小值,您如何确定它与全局最小值一样好?考虑到全局最优,您如何知道结果是否是唯一的最优解决方案?您如何创建对所有山丘和山谷都健壮的算法,从而不会卡在某处?

这样的例子可能会使事情变得困难。显然,并非所有问题都是这样,但是有些问题是这样。更糟糕的是,在工业环境中,成本函数的计算可能会很耗时,并且会遇到上述问题。

实际问题示例

我可以在工作中解决的一个示例是对导弹制导算法进行优化,该算法在许多发射条件下都可能很健壮。使用我们的集群,我可以在大约10分钟内获得单个条件下所需的性能度量。现在要充分判断稳健性,我们至少需要一个条件样本进行判断。假设我们运行了六个条件,则对该成本函数的评估需要一个小时。

非线性导弹动力学,大气动力学,离散时间过程等导致制导算法变化产生相当非线性的反应,从而使优化难以解决。该成本函数将是非凸的,这使得评估一个大问题非常耗时。像这样的例子就是我们在给出的时间内力求做到最好。


1
好的,我认为这是一个不同的问题...全局优化的解决方案,这显然是困难的,并且在大多数情况下是无法解决的。但这不是人们在非凸优化方面所提到的,他们说NP很难找到局部最小值,许多算法可能会陷入困境。
Prokop Hapala '16

1
@ProkopHapala我的评论更多地是引用引号。许多重要的实际问题都是非凸的,并且大多数非凸问题很难(如果不是不可能)在合理的时间内准确解决,尤其是因为OP谈论的是多么简单他们一直致力于解决研究中的非凸问题。对我来说,确切地解决这个问题是为寻求全局最佳解决方案(或接近解决方案)而努力。因此,我想描绘一幅与这些评论相关的现实挑战的图片。
spektr

我明白。严格来说,您是对的,但我仍然认为它并不能解决我的意思……也许我应该更好地表述它。
Prokop Hapala '16

5

问题是鞍点的问题,您在链接的文章中对此进行了讨论。从其中一篇链接文章的摘要中:

但是,由于存在高维复杂的鞍点结构,通常很难保证此类算法甚至收敛到局部最小值。许多函数具有退化的鞍点,因此一阶和二阶导数无法通过局部最优来区分它们。在本文中,我们使用高阶导数来逃避这些鞍点:我们设计了第一种有效算法,保证收敛到三阶局部最优(而现有技术最多是二阶)。我们还表明,将其进一步扩展到找到四阶局部最优是NP难的。

本质上,当查看一阶,二阶和三阶导数时,可以具有与局部最小值没有区别的鞍点。您可以通过使用更高阶的优化器来解决此问题,但他们表明,确定4阶局部最小值对NP来说很困难。

我建议阅读本文,因为它们还显示了此类功能的几个示例。例如,函数在(0,0)处具有这样的点。x2y+y2

您可以使用多种启发式方法来逃避此类问题,这可能适用于许多(大多数?)现实世界中的示例,但无法证明始终有效。
在您链接的博客文章中,他们还讨论了在多项式时间内可以摆脱此类鞍点的条件。


是的,很明显,从值和梯度的一点上您无法区分这一点。但是我不知道为什么普通的启发式方法(如随机梯度下降或FIRE)在这种情况下会失败。我敢肯定,它将对。因此,我试图想象某些形态学功能将无法正常工作。x2y+y2
普罗科普·哈帕拉

2
您必须换一种方式看它。不是我们知道随机梯度下降将失败,而是我们不知道它将成功。对于玩具问题,这在实践中不太可能发生,但对于较大尺寸的问题则可能发生。我敢打赌,对于您的化学问题,这将永远不会发生,但是我很难证明这一点。
LKlevin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.