从变分法的角度看Nesterov加速算法

我们介绍一下从变分法的角度看Nesterov加速算法。我们首先简要介绍一下变分法的基础,然后介绍一下Nesterov加速算法生成的路径如何表示为某个变分问题的最优解。

0.简介

这里,我们分享一下Nesterov加速算法生成的路径如何表示为某个变分问题的最优解。首先,我们简要介绍一下变分法的基础,推导欧拉—拉格朗日等式。然后,我简述一下Wibisono,Wilson与Jordan的论文,AVariationalPerspectiveonAcceleratedMethodsinOptimization,介绍Nesterov算法如何表示为某个变分问题的欧拉—拉格朗日等式。

1.变分法简介

常规的优化问题通常要求解一个函数

的最大或者最小值点,其中函数

的取值范围为

维的欧几里得空间。变分法更进一步的推广了优化的概念。在变分理论中,我们不再寻找一个点,而是寻找一个依赖于时间

的函数

,使得“函数”

(这里我们把

叫做泛函。它以函数为参数,返回值为实数。“泛”即泛化,即为对函数的推广)在

处取得最小值,即我们需要求解下列问题

我们为什么要处理上述问题呢?即,我们为什么要处理泛函的优化?这里我们举两个例子。假设现在我们要发射登月的航天器,在设计的时候,需要确定航天器运行的轨道,使得航天器消耗的能量最小。因此,我们可以用函数

来表示航天器运行的轨道,泛函

衡量轨道

所消耗的能量。所以问题

表示我们要找到一条最优的运行轨道,使得航天器所消耗的能量最小。另外一个例子是我们在做智能机器人时候,需要机器人去取指定位置的货物,我们需要让机器人算出一个最优的行走路线,使得机器人的耗电量最小。那么函数

就可以用来表示机器人的可能行走路线,泛函

衡量路线为

的情况下机器人的耗电量。所以,问题

表示寻找一个最优的路径使得机器人能取到货物的同时耗能最低。当然,真实的情况下,我们要考虑的问题会比

更为复杂,这里只是给出一个模型框架。

一般地,在变分问题中,我们考虑下列的

形式:

在公式

中,我们考虑的是时间

在范围

内的问题。如果我们将

看做某个对象的运行轨迹,那么

对时间的导数

可以理解为该对象的速率。此时,被积项

衡量的是

时刻该对象位置为

、速率为

的状态下的消耗函数。因此,从

积分,得到的是整个运行过程中,该对象的总的损耗。此框架下,问题

即为寻找一条该对象的运行轨迹

使得等式

中的泛函

的值最小。

接下来,我们如何求解

呢?我们知道如何求解一个普通函数的优化问题,即,求函数

的最小值点,我们只需要考虑

的导数为

的点即可。类似地,我们也需要对问题

中的泛函

求导。是否可以将对

的求导转换为对普通函数的求导呢?我们看看如何操作。

假设

是问题

的最小值点,那么,对于任意的函数

和正实数

,我们有

不等式

是成立的,因为

是最小值点。那么我们就可以定义一个函数

于是,根据不等式

,函数

时取得最小值。函数

为以实数为参数的函数。因此,

时,我们有

这里,我们考虑

定义下的

形式。从公式

,我们得到

因此,我们从上式与条件

得到

使用分部积分,我们得到

因为

是任意选择的函数,我们可以选择

时为

。即,

以及

因此,

的最后两项消失掉了。我们得到

因为

对满足

的任意

都成立,所以我们有

备注:从

得到

需要严格的证明。这里我们略去证明。通过下列类比,读者可以感受一下它的正确性。假设对于任意实数

,我们有

=0。那么,我们可以知道

。这里,可以将

看做是

,而将

看做是

等式

叫做欧拉——拉格朗日等式。求解

,我们就能得到问题

的最优解。

2.从变分的观点看Nesterov加速算法

在之前的一篇



转载请注明地址:http://www.duanxua.com/dxzx/6615.html
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章