References

1. Introduction

1.1 Motivation

回顾 Projected Gradient Descent 和 Proximal Gradient Descent 方法. 给定如下一般有约束问题:

其中 是一个凸集, 是一个凸且光滑函数.

Projected Gradient Descent 方法非常直观: 在每一步迭代中先进行一次 GD, 再投影回 feasible set :

其中 是投影算子, 是步长

更一般地, Projected Gradient Descent 方法可以推广到 Proximal Gradient Descent 方法, 其迭代公式为:

相当于把之前的梯度下降替换为了一个局部的二次近似最小化问题, 然后再投影回 feasible set .

然而, 投影操作并不总是容易计算的, 例如在 是一个核范数约束集时, 投影操作就非常困难. Frank-Wolfe 方法, 也称 conditional gradient 方法, 是一种避免投影操作的算法.

1.2 Frank-Wolfe 方法

对于上述问题, Frank-Wolfe 方法会首先在当前迭代点 处对目标函数 进行线性展开, 然后在 feasible set 去求解这个线性问题的最优解:

接着再以系数 在 和 之间进行凸组合, 得到新的迭代点:

  • 通常默认 . 并且还可以把更新改写为 , 也就是沿着 的方向以 的步长进行更新, 且步长逐步减小.

一个典型的可视化如图. 下面的 是一个 polytope, 蓝色曲面为目标函数 , 红色点为当前迭代点 以及展开的 LP 问题的最优解 , 棕色平面为 在 处的线性展开.

  • 这里特别标注了一个当前迭代点和线性展开中的最小值点之差, 记为 Frank-Wolfe duality gap:

    其衡量了在线性近似意义下还能带来多大的下降, 也可以作为一个收敛的判据. 具体而言, 我们有如下结论:

    Proof

    根据凸性, 有对于任意

    对该不等式左右两侧在 上取最小值, 得到

    • 之所以称之为 duality gap, 是因为若引入 indicator function if , otherwise, 则原问题可以写为 而其对偶问题为 其中 是 的 Fenchel 对偶函数.
  • 此外注意, 如果约束本身 是一个 polytope, 那么 Frank-Wolfe 方法的每一步迭代都是在求解 LP 问题, 因此最优解定会落在 的一个顶点上. 因此在这些场景下, 只需要比较各个顶点的取值即可, 这也是 Frank-Wolfe 方法的一个优势.

1.3 Frank-Wolfe in Norm Constraints

当 是某种范数球约束时, Frank-Wolfe 方法可以有一个更为优雅的 closed-form solution.

考虑任意范数 约束:

其中 是半径常数.

则此时的 Frank-Wolfe 方法的 LP 子问题为:

  • 其中 是范数 的对偶范数, 定义为: 衡量给定输入向量 在范数 下的最大投影长度.

1.4 Constrained and Lagrange forms

在优化中, 面对约束需求, 通常有两种处理方式:

  • Constrained form: . 这里 是约束的严格程度, 越小则约束越严格.
  • Lagrange form: . 这里也可以看作是通过引入一个惩罚项来间接地处理约束问题, 是惩罚系数, 其大小决定了约束的严格程度.

当 和 分别从 取值时, 两种形式给出的解集是等价的. 即对于任意 , 都存在一个 使得两种形式的最优解相同, 反之亦然.

因此在解决统计学习等诸多问题时, 可以根据问题的便利程度选择使用 Constrained form 或 Lagrange form, 并可以使用类似 cross-validation 的方法来选择合适的 或 .

Frank-Wolfe 方法可以直接处理 Constrained form 的问题, 而类似 Proximal or Projected Gradient Descent 方法则更适合处理 Lagrange form 的问题.

2. Examples

2.1 l1 Regularization

对于 l1 范数约束, 即

可以立刻有

其中 , 也就是取梯度中绝对值最大的坐标, 然后在该坐标上取 或 .

此时更新为

其基本等价于一个贪心的 coordinate descent 方法, 每次迭代只更新一个坐标 (贪心地选择梯度最大的坐标), 并且每次迭代的步长逐渐减小.

2.2 lp Regularization

对于 lp 范数约束, 其中 , 即

由对偶关系有:

其中 , 且 , 是 的对偶范数, 满足 .

2.3 Trace Norm Regularization

进一步扩展到矩阵情景, 考虑

  • 其中 是矩阵的 trace norm, 也称 nuclear norm, 定义为矩阵奇异值的和.

则根据对偶形式, 有

  • 其中 是矩阵的 operator norm, 也就是矩阵的最大奇异值.

下具体求解该函数的次梯度.

  • Lemma 1. 给定凸集 , 设 . 若 , 则有 .

    Proof

    次梯度需证 对任意 成立. 由 的最优性, . 故 , 证毕.

  • Lemma 2. Operator norm 是 trace norm 的对偶范数, 即 . 且该最大值在 处取得, 其中 分别是 的最大奇异值对应的左、右奇异向量.

  • 综合上述两条 Lemma, 可得

3. Convergence Analysis

对于 Frank-Wolfe 方法, 其步长设置为 时, 有如下收敛性结论:

其中 是一个与 的 curvature 相关的常数, 定义为:

下给出理解和证明.

  • 首先观察 , 其衡量了 在 上的非线性程度. 注意到 是 在 处的线性展开, 故 衡量了 在 处相对于 的线性展开的偏离程度, 称为 Bregman divergence. 而 则是对该偏离程度在可行域 上的最大值, 并且对 进行了归一化. 因此 越小, 表明 越接近线性函数, Frank-Wolfe 方法的收敛速度也就越快.

  • 因此对于单步更新 , 令 定义中 , 则有

    整理有

  • 回顾 Frank-Wolfe 的 Duality gap , 则有

    故

    又根据 dual 的性质 , 故有

  • 现已有递推关系 , 且 . 根据数学归纳法,

    • 可另外验证当 时, 有 , 满足结论.
    • 假设当 时, 有 成立, 则当 时, 有 该命题可通过代数整理放缩得到.

4. Properties and Variants

4.1 Affine Invariance

Frank-Wolfe 方法具有仿射不变性.

给定原始空间的约束问题:

以及 affine transformation 关系 其中 是非奇异的, 变换后的空间, 对应的约束问题为:

该性质表明, 在原始空间中进行 Frank-Wolfe 方法的迭代

与在变换空间中进行 Frank-Wolfe 方法的迭代

是完全等价的. 换言之, 对在原空间中进行 Frank-Wolfe 方法的迭代的结果, 通过 affine transformation 可以得到在变换空间中进行 Frank-Wolfe 方法的迭代的结果, 反之亦然.

该性质的作用是: Frank-Wolfe 方法对于问题的 conditioning 不敏感. 只要该问题可以通过 affine transformation 转换为一个 well-conditioned 的问题, 则 Frank-Wolfe 方法在原问题 (即使是 ill-conditioned) 上的收敛速度也不会受到影响. 故对于一些几何形状复杂的约束问题, Frank-Wolfe 方法仍然可以有较好的收敛速度.

4.2 Inexact Updates

Inexact Updates 是指在 Frank-Wolfe 方法中, 允许在每一步迭代中不精确地求解 LP 子问题. 只要近似解的误差在一定范围内, 仍然可以保证 Frank-Wolfe 方法的收敛性. 具体地, 在标准 Frank-Wolfe 方法中, 我们需要最小化:

然而若在实践中, 这样的求解复杂度过高, 则可以允许我们在每一步迭代中只求得一个近似解 , 使得给定一个误差 比例, 有:

则仍然能够保证有

注意, 这里的误差 是相对于 curvature 的, 而不是绝对误差. 绝对的误差要随着迭代次数的增加而逐渐减小.

4.3 Some Variants

Line Search 是指在 Frank-Wolfe 方法的每一步迭代中, 不再使用固定的步长 , 而是再次求解一个一维的最优化问题, 来选择最优的步长 :

如果本身这个一维问题结构良好有闭式解, 则可以直接优化; 否则也可以考虑使用 backtracking, 从一个较大的步长开始, 逐步减小, 直到满足某种条件如 Armijo condition.

可以证明, 其复杂度仍然是 .

4.3.2 Fully Corrective Frank-Wolfe

标准的 Frank-Wolfe 方法每一步迭代只使用当前的 来和上一步的 进行凸组合, 而 Fully Corrective Frank-Wolfe 方法则会在每一步迭代中, 将之前所有的 都纳入考虑, 并重新求解一个凸组合的最优解. 具体地, 在第 步迭代中, 首先还是会和标准的 Frank-Wolfe 方法一样, 求解 :

接着, 将之前所有的 都纳入考虑, 并求解一个凸组合的最优解:

其中 表示这些点的凸包.

由于本身 也是线性的, 因此这个问题相当于求解单纯形上的一个凸优化问题:

这时, 我们将问题进行了极大的简化, 从原先的 上的凸优化问题, 转化为了一个 维的 simplex 约束问题.

可以证明, 其复杂度仍然是 .

4.3.3 Away Steps

对于标准的 Frank-Wolfe 方法, 每一步迭代都是沿着历史的顶点进行加权. 历史的信息只能被逐渐稀释, 而不能被删除. 而 Away Steps 方法则允许在每一步迭代中, 选择一个历史的顶点, 并沿着该顶点的反方向进行更新, 也就是允许删除历史信息.

具体地, 在第 步迭代中, 除了还是和正常的 Frank-Wolfe 方法一样, 求解 作为前进方向:

此外还会求解一个历史顶点 作为后退方向 (away step):

  • 其中 是当前活跃的顶点集合, 也就是之前迭代中被选中的顶点的集合 (而不是 的所有顶点).

然后在更新中, 每次从如下两个方向中选择一个最优的方向进行更新:

  • Forward step:
  • Away step:

可以证明, 若约束集 是一个 polytope, 且 是一个 strongly convex 函数, 则 Away Steps 方法可以达到线性收敛的速度:

5. Path Following

在实践当中, 在面对问题

往往并不知道最优的参数 的选择是什么. 因此有时需要在不同的 下, 进行一系列的求解, 也就是所谓的 path following 方法. 如果在求解 Path Following 时, 把每一个 的问题都当作一个独立的问题, 则是非常低效的.

一个可能的处理思路如下. 对于任意给定 , 设 是一个误差不超过 的近似解. 对 进行离散化, 得到一系列的分段 , 在每一个分段中都使用同一个 作为近似解.

因此核心问题是: 如何选择这些分段的端点 , 区间内的误差能够充分利用但不超过 . 故这里再次引出 dual gap. 回顾其定义为:

这说明, 给定 , 其 dual gap 是一个关于 的线性函数, 且斜率为 .

因此, 若在 处求得的近似解 满足精度要求 , 且在 处恰超过 , 即:

从中可以反过来解出, 在

范围内, 近似解 都可以满足精度要求. 因此可以选择 作为下一个分段的端点, 并在该分段内使用 作为近似解.