Skip to content

线搜索的 Wolfe 条件

Wolfe conditions · Wolfe line-search conditions · Strong Wolfe conditions

以充分下降与方向导数曲率两项不等式判定线搜索步长是否可接受。

条目类型
原则

形式陈述

在点 xk 给定下降方向 pk,即

ϕ(0)=f(xk)pk<0,ϕ(α)=f(xk+αpk).

取常数 0<c1<c2<1。正步长 αk 满足 Wolfe 条件,若

(充分下降)ϕ(αk)ϕ(0)+c1αkϕ(0)

(弱曲率)ϕ(αk)c2ϕ(0).

第一式是 Armijo 条件,要求实际下降至少达到线性预测的一小部分;第二式防止步长小到新点仍保持几乎同样陡的负斜率。强 Wolfe 条件把第二式换成

|ϕ(αk)|c2|ϕ(0)|,

同时限制越过一维谷底后的正斜率。这里 ϕ(α)=f(xk+αpk)pk,需要计算梯度。这些是不等式验收规格,不是搜索步长的完整算法;bracketing、zoom、插值、求值预算与失败状态必须另行实现。

直觉

只要求函数值比起点低,会接受极小步长,算法看似每轮成功却几乎不动。Armijo 条件排除“下降太少相对于步长”的候选,但对趋零步长仍可能成立;曲率条件进一步要求沿当前方向的负斜率已经显著变平,说明这一步真正消耗了可用下降。两者把过大与过小步长夹在一个可接受区间内。

强曲率条件关注方向导数绝对值,因此不会接受越过谷底太远、斜率已变成很大正数的点。弱条件则允许一定的正斜率,只保证它不再像起点那样负。拟 Newton 分析特别需要的是位移 sk 与梯度差 yk 的正曲率内积;弱 Wolfe 已足以给出它,强 Wolfe 主要增强实际线搜索的控制。常数常取 c1 很小、c2 接近一,但它们不是无关紧要的装饰。

例子与边界

f(x)=x2/2,在 xk=1 取方向 pk=1,并设 c1=0.1,c2=0.9。此时

ϕ(α)=12(1α)2,ϕ(α)=α1.

Armijo 条件化为

12(1α)2120.1α0<α1.8.

弱曲率要求 α10.9,即 α0.1;强曲率给 |α1|0.9,再与 Armijo 相交仍得 [0.1,1.8]α=1 一步到极小点;α=0.05 虽通过 Armijo,却因仍太陡而被曲率条件拒绝;α=1.85 的斜率绝对值尚可,却因函数下降不足被 Armijo 拒绝。每项条件都排除了另一项放过的真实候选。

pk 不是下降方向,右侧线性模型没有下降空间,标准存在性定理不适用。若沿射线函数不下有界、梯度不连续、目标不可微,或求值返回 NaN,也可能找不到 Wolfe 步。有限预算内失败应显式返回,而不是静默接受最后一次试探。噪声函数与梯度还会让两项不等式互相矛盾,需要带容差的随机线搜索理论,不能直接降低精度继续套确定性证明。

推论与应用

sk=αkpk,yk=f(xk+sk)f(xk).

弱 Wolfe 曲率条件给

skyk=αk(ϕ(αk)ϕ(0))αk(c21)ϕ(0)>0.

这条严格正性使BFGS 更新的分母有效并保持正定近似。对拟 Newton 法,线搜索还提供全局化外壳:远离解时控制下降,接近解且完整步被接受后,局部割线近似才有机会表现超线性速度。

f 沿方向连续可微、pk 为下降方向且 f 沿正射线有下界时,可证明存在满足弱 Wolfe 的区间。这个存在性结论不等于任意实现都能在有限求值内找到它;插值失准、浮点舍入或错误梯度都能造成失败。实际日志至少应保留函数/梯度求值次数、最终括区间、验收残差与失败原因,才能区分目标问题和搜索器问题。

参考资料
  • Philip Wolfe, “Convergence Conditions for Ascent Methods,” SIAM Review 11(2), 1969, 226–235,original sufficient-decrease and curvature conditions。
  • Jorge Nocedal and Stephen J. Wright, Numerical Optimization, 2nd ed., Springer, 2006,§§3.1–3.5,Wolfe conditions, existence, and zoom algorithm。
  • Roger Fletcher, Practical Methods of Optimization, 2nd ed., Wiley, 1987,§2.6,inexact line searches and curvature conditions。
关系图谱10 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系