形式陈述
给定连续可微的目标函数 f 、当前位置 x 和下降方向 p ,定义沿这条射线的一元函数
ϕ ( α ) = f ( x + α p ) , ϕ ′ ( α ) = ∇ f ( x + α p ) ⊤ p , ϕ ′ ( 0 ) < 0. 最后一个不等式通过梯度 公理库 梯度 Gradient 标量函数微分在内积下对应的向量。 判断:从 x 沿 p 走一个足够小的正步,目标值会下降。方向已经给定,线搜索负责选择走多远。沿 p 的方向导数接近零,不等于整个梯度接近零,也不要求步长恰好达到射线上的最优点。
固定 0 < c 1 < c 2 < 1 。一个正步长 α 满足 Wolfe 条件,当且仅当它同时满足
充 分 下 降 (Armijo 充分下降) ϕ ( α ) ≤ ϕ ( 0 ) + c 1 α ϕ ′ ( 0 ) 和
弱 曲 率 (弱曲率) ϕ ′ ( α ) ≥ c 2 ϕ ′ ( 0 ) . 强 Wolfe 条件保留 Armijo 不等式,把曲率条件换成
强 曲 率 (强曲率) | ϕ ′ ( α ) | ≤ c 2 | ϕ ′ ( 0 ) | . 由于 ϕ ′ ( 0 ) < 0 ,强曲率意味着 c 2 ϕ ′ ( 0 ) ≤ ϕ ′ ( α ) ≤ − c 2 ϕ ′ ( 0 ) ,所以强 Wolfe 蕴含弱 Wolfe。这些条件是步长的验收规则;产生候选、维护区间和决定何时停止,还需要另一个搜索过程。[1,2]
直觉
在起点,用切线预测下降量为 − α ϕ ′ ( 0 ) > 0 。Armijo 要求实际下降 ϕ ( 0 ) − ϕ ( α ) 至少达到预测量的 c 1 倍。它不是“只要下降一点就行”,而是把下降量与所走的步长联系起来。
但 Armijo 自己不能防止原地挪动。可微性给出 ϕ ( α ) = ϕ ( 0 ) + α ϕ ′ ( 0 ) + o ( α ) ,所以所有足够小的正步都会通过 Armijo。此时方向导数仍接近原来的负数,沿同一方向明明还有下降空间,搜索却可能过早停下。
弱曲率补上这一缺口:因为 c 2 ϕ ′ ( 0 ) 比 ϕ ′ ( 0 ) 更接近零,新点的负斜率必须已经有所缓和。强曲率还限制越过谷底后的正斜率。正向缩放方向不改变可接受的实际位移:改用 p ~ = c p 、c > 0 ,同时令 α ~ = α / c ,新点及 Armijo 中的乘积不变,两端方向导数同乘 c ,曲率条件也不变。因此不能仅凭步长参数的裸数值判断进展。它限制的是沿当前方向的导数,而不是直接限制“距极小点多少米”;没有额外曲率假设时,不能把导数阈值解释成距离阈值。
图片加载失败 Wolfe 条件筛选步长 图中的带状区间只是该例的精确计算结果。一般非凸目标的可接受步长可能分成多个区间,不能把这幅图的单区间形状当作定义。
例子与边界
同一个抛物线,分清三种验收
取 f ( x ) = x 2 / 2 、x = 1 、p = − 1 ,则
ϕ ( α ) = 1 2 ( 1 − α ) 2 , ϕ ′ ( α ) = α − 1. 先保留参数,逐项解不等式:Armijo 等价于 0 < α ≤ 2 ( 1 − c 1 ) ;弱曲率等价于 α ≥ 1 − c 2 ;强曲率等价于 1 − c 2 ≤ α ≤ 1 + c 2 。
现在令 c 1 = 0.1 , c 2 = 0.5 。弱 Wolfe 的可接受范围是 [ 0.5 , 1.8 ] ,强 Wolfe 的范围是 [ 0.5 , 1.5 ] 。
步长
Armijo
弱曲率
强曲率
0.2
通过
不通过
不通过
1
通过
通过
通过
1.7
通过
通过
不通过
1.9
不通过
通过
不通过
0.2 说明“足够下降”不等于“走得足够远”;1.7 区分弱、强曲率;1.9 则说明曲率条件不能替代函数值检查。
为什么存在满足条件的步长
假设 ϕ 在整条正射线上连续可微、下有界,且 ϕ ′ ( 0 ) < 0 。导数不可能一直小于 c 2 ϕ ′ ( 0 ) < 0 :否则由中值定理 公理库 中值定理 Mean value theorem 由等高端点与内部极值导出平均变化率,区分 Lagrange、Rolle、Cauchy 版本并给出可计算的增量界。 ,ϕ ( α ) ≤ ϕ ( 0 ) + c 2 ϕ ′ ( 0 ) α ,会趋向负无穷,与下有界矛盾。
因而存在第一次达到水平 c 2 ϕ ′ ( 0 ) 的正时刻 α ∗ 。连续性保证这个首次时刻存在,且此前 ϕ ′ ( t ) < c 2 ϕ ′ ( 0 ) 。再对 [ 0 , α ∗ ] 应用中值定理,得到
ϕ ( α ∗ ) − ϕ ( 0 ) ≤ c 2 α ∗ ϕ ′ ( 0 ) < c 1 α ∗ ϕ ′ ( 0 ) . 所以它满足 Armijo;同时 ϕ ′ ( α ∗ ) = c 2 ϕ ′ ( 0 ) ,也满足强曲率。这个证明说明了两个条件相容的原因,并未假定目标函数凸或沿射线只有一个谷底。
若改为 ϕ ( α ) = − α ,函数没有下界,导数始终为 − 1 ;任何正步都通过 Armijo,却没有一步通过曲率条件。方向不下降、函数不可微或导数不连续时,也不能直接调用上述存在性结论。
推论与应用
曲率条件如何进入 BFGS
设 s = α p 、y = ∇ f ( x + s ) − ∇ f ( x ) 。弱 Wolfe 直接给出
s ⊤ y = α ( ϕ ′ ( α ) − ϕ ′ ( 0 ) ) ≥ α ( c 2 − 1 ) ϕ ′ ( 0 ) > 0. 因此,在当前矩阵正定的前提下,BFGS 更新 公理库 BFGS 更新 BFGS update · Broyden-Fletcher-Goldfarb-Shanno update 以满足割线方程的对称秩二修正更新 Hessian 或逆 Hessian 正定近似。 所需的正曲率条件成立,更新可以继续保持正定。强 Wolfe 不是这条结论的必要条件;弱曲率已经足够。强 Wolfe 在非线性共轭梯度分析中也有用途,但仍须配合相应的方向生成规则和光滑性假设。线搜索与拟 Newton 法 公理库 拟 Newton 法 Quasi-Newton method · Variable metric method 由相邻梯度差逐步近似 Hessian 或其逆,从而构造曲率缩放搜索方向的方法族。 在此通过一个可核对的内积相接,而不只是“常常配合使用”。
验收规则怎样变成搜索
只会把步长不断缩小的 Armijo 回溯,可能永远无法修复“步长太小、曲率不合格”。例如从上面抛物线的 α = 0.25 开始反复减半,导数 α − 1 只会更接近 − 1 ,永远达不到 − 0.5 的曲率门槛。Wolfe 搜索通常先扩张试探步长,找到值得进一步搜索的括区间,再在区间内用插值与保守收缩进行 zoom;每次候选仍须实际检查函数值和方向导数,插值预测不能代替验收。[2]
数学存在性也不等于任意浮点程序都能在任意预算内找到步长。实现应区分“已满足条件”和“达到求值上限”,并记录两项不等式的残差及函数、梯度求值次数。若目标或梯度带噪声,得到的是另一种观测模型,需要相应的容差或概率保证;简单沿用精确不等式并不能自动保留证明。
在目标下有界、梯度具有适当 Lipschitz 正则性,且下降方向与负梯度的夹角一致远离直角等条件下,Wolfe 步可以参与推出梯度范数趋零的全局收敛分析。“全局”表示从允许的初值出发,而不是保证找到非凸函数的全局最小值。接近解时能否接受完整步、能否超线性收敛,还依赖拟 Newton 更新本身的条件。
参考资料
[1] Philip Wolfe, “Convergence Conditions for Ascent Methods,” SIAM Review 11(2), 1969, pp. 226–235;充分进展与曲率条件的原始研究。
[2] Jorge Nocedal and Stephen J. Wright, Numerical Optimization , 2nd ed., Springer, 2006,§3.1 与 §3.5;Wolfe 条件、存在性、括区间与 zoom。作者提供的目录 可用于定位章节。
[3] David F. Gleich, Computational Methods in Optimization ,Purdue University,Spring 2012,Lecture 9 及“Proof of global convergence of line search”讲义;线搜索条件与整体收敛分析。
[4] SciPy line_search 官方文档 ,在线 API 参考,访问于 2026-09-21:强 Wolfe、下降方向及失败返回的接口约定。