双层优化中的“近似驻点”及其可计算性
双层优化中的“近似驻点”及其可计算性
双层优化(Bilevel Optimization, BO)是一类具有明显层级结构的优化问题。
简单来说,它包含两个决策者:上层的 leader 先做决定,下层的 follower 再根据上层的决定求解自己的优化问题。许多超参数优化、元学习、信号处理问题,都可以写成这种形式。
本文整理自苏文藻(Anthony Man-Cho So)在清华大学丘成桐数学科学中心的讲座 On Efficiently Computable Approximate Stationarity Concepts in Bilevel Optimization (https://www.bilibili.com/video/BV1dWKr6bE6o?t=1530.7) ,相关工作由 He Chen、Jiajin Li 与 Anthony Man-Cho So 合作完成。
文章关注一个很基础、但并不容易的问题:
当下层最优解不唯一时,我们应该怎样定义双层优化的“驻点”?更重要的是,这种驻点能不能真正算出来?
1. 双层优化:乐观模型与悲观模型
考虑下层问题
其中 \(x\) 是上层变量,\(y\) 是下层变量。
如果 \(S(x)\) 只有一个解,事情相对简单;但如果下层最优解不唯一,follower 究竟选择哪一个解,就会直接影响 leader。
于是产生两种经典模型。
乐观模型假设 follower 会在所有下层最优解中,选择对 leader 最有利的一个:
悲观模型则假设 follower 会选择对 leader 最不利的一个:
因此对应的双层问题分别为
悲观模型还包含一般非凸—非凹 min-max 问题作为特殊情形,因此从理论上看更加困难。
2. 下层解唯一时:问题相对简单
如果 \(f(x,\cdot)\) 强凸,那么对每个 \(x\),下层最优解唯一,可以写成 \(y^\star(x)\)。
此时双层问题实际上变成一个普通的单层问题:
利用下层的一阶最优条件和隐函数求导,可以得到著名的 hypergradient
因此,近似驻点也很自然:
这一类问题已经有很多成熟方法,例如 implicit gradient、fully first-order 方法等。
真正困难的是:当下层解不唯一时,怎么办?
3. 下层解多值以后,hyperobjective 可能不光滑
当 \(S(x)\) 是一个集合时,\(\varphi_o\) 和 \(\varphi_p\) 不再一定光滑,甚至可能出现不连续。
因此,第一步不是急着设计算法,而是先问:
当 \(x\) 发生小变化时,下层解集 \(S(x)\) 会不会剧烈跳动?
一个自然的要求是:\(S\) 是 Lipschitz 的集合值映射。直观地说,如果 \(x\) 变化一点,那么整个最优解集合也只能变化一点。
用 Hausdorff 距离表示,就是
一旦 \(S\) 具有这种稳定性,同时上层目标 \(F\) 本身也是 Lipschitz 的,就可以推出
也是 Lipschitz 的。只有先得到 hyperobjective 的局部 Lipschitz 性,才能合理讨论 Clarke 次微分和非光滑驻点。
4. 为什么下层解集会是 Lipschitz 的?
讲座中一个关键条件是 uniform error bound
它的含义很直观:
如果一个点的下层梯度已经很小,那么这个点距离真正的下层最优解集也不会太远。
再结合下层函数的光滑性,可以得到
也就是说,
进一步,
这条链条是后面所有驻点分析的基础。
5. 三种驻点:Clarke、NAS 与 GAS
对于不可微函数,最自然的一阶驻点概念之一是 Clarke stationarity:
其中 \(\partial h(x)\) 是 Clarke 次微分。
如果 \(h\) 是光滑函数,它就退化为熟悉的
问题在于:对于一般 Lipschitz 函数,直接找到一个近似 Clarke 驻点并不容易。
于是出现两种近似概念。
Near-approximate stationarity
NAS 要求在 \(x\) 附近真的存在一个点 \(z\),使
它与真正的 Clarke 驻点非常接近,因此是一个比较强的概念。
但问题也恰恰在这里:
对一般 Lipschitz 函数,即使允许随机一阶 oracle,也无法保证在有限次查询内找到非平凡的 NAS 点。
换句话说,Lipschitz continuity 还不够。
Goldstein approximate stationarity
Goldstein 驻点则把邻域中不同点的次梯度放在一起,再取凸包:
若
就称 \(x\) 为 GAS 点。
两者之间有
但反过来一般不成立。原因在于,GAS 允许不同邻近点的次梯度相互抵消,所以它更弱,也更容易计算。
6. 真正关键的结构:Set smoothness
那么,有没有可能在“可计算”的同时,得到比 GAS 更强的 Clarke/NAS 保证?讲座给出的核心答案是:
Set smoothness。
可以把它理解为“集合值映射版本的光滑性”。
普通 Lipschitz continuity 只要求:
\(x\) 改变一点,\(S(x)\) 不要变化太多。
Set smoothness 则更进一步要求:
沿着 \(x_1\) 到 \(x_2\) 的线段移动时,中间解集中的点,可以被两端解集中的适当点以二阶误差逼近。
因此,它不仅控制“距离”,还保留了类似光滑函数二阶余项的结构。
这正是问题的关键。在前面的下层光滑性、闭凸解集和 uniform error bound 等条件下,可以证明下层解映射 \(S\) 不仅 Lipschitz,而且具有 set smoothness。
7. 乐观问题与悲观问题隐藏着不同曲率
Set smoothness 进一步揭示了两个 hyperobjective 的隐藏结构。
在相应正则条件下:
而
表面上看,\(\varphi_o\) 和 \(\varphi_p\) 只是两个一般的非光滑函数;但下层解映射的 set smoothness,实际上给它们带来了额外的曲率结构。
也正是这种结构,使得原本对一般 Lipschitz 函数难以计算的 approximate Clarke stationarity,在双层优化中重新变得可计算。
这也是论文标题
Set Smoothness Unlocks Clarke Hyper-stationarity in Bilevel Optimization
中“Unlocks”的真正含义。
8. 不需要显式次梯度:用函数值也可以做
还有一个现实问题:hyperobjective 的次梯度往往很难直接计算。但函数值却相对容易获得——只需要近似求解一次下层问题,就可以得到 \(\widetilde\varphi(x)\)。
因此,可以采用随机 zeroth-order 方法。例如随机选取单位方向 \(u\),用两点函数值构造梯度估计:
然后进行类似梯度下降的迭代:
在 set-smooth solution mapping 等条件下,这类方法可以对 optimistic 和 pessimistic BO 给出 approximate Clarke hyper-stationarity 的非渐近复杂度保证。
9. 总结
整场讲座可以压缩成下面这条主线:
但 Lipschitz continuity 只能比较自然地支持 GAS,仍不足以保证更强的 NAS/Clarke stationarity 可以高效计算。
进一步利用
可以得到
从而使 approximate Clarke hyper-stationarity 具有可计算性和复杂度保证。
在双层优化中,尤其是在下层解不唯一的情况下,“正确的驻点概念”和“可计算的驻点概念”并不天然是一回事。Set smoothness 提供了一座连接两者的桥梁。
参考文献
He Chen, Jiajin Li, Anthony Man-Cho So,
Set Smoothness Unlocks Clarke Hyper-stationarity in Bilevel Optimization,
NeurIPS 2025, Spotlight.
本文来自博客园,作者:来者可追2019,转载请注明原文链接:https://www.cnblogs.com/wjma2719/p/22352173

浙公网安备 33010602011771号