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
4.3.1 Line Search
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 是一个关于 的线性函数, 且斜率为 .
因此, 若在 处求得的近似解 满足精度要求 , 且在 处恰超过 , 即:
从中可以反过来解出, 在
范围内, 近似解 都可以满足精度要求. 因此可以选择 作为下一个分段的端点, 并在该分段内使用 作为近似解.