BFGS对梯度精度的敏感性

计算科学 优化 准牛顿
2021-12-12 06:22:10

我正在研究如何使用量子计算技术加速 BFGS 方法。

我使用了一种加速函数梯度的方法,但是牺牲了梯度的精度值。更具体地说,梯度是使用计算的O(n/ϵ)函数调用,其中n是维度。ϵ是一个精度参数,可确保|~ff|<ϵ. 因此,如果误差有可能严格低于1n(说1n3) 那将是完美的。

所以,我的问题是,梯度需要多精确才能使 BFGS 正常工作?

编辑:与此同时,我尝试自己进行分析,假设所有先前的迭代都是完全准确的,我在第 k 次迭代中遇到了错误。

||Bk1(f~f)||ϵλk
, 在哪里Bk是 Hessian 的第 k 个近似值,并且λk是的最小特征值Bk.

唯一的问题仍然是近似的最小特征值如何随着迭代次数的变化而变化。

1个回答

从纯粹的收敛的角度来看,我认为唯一需要的是满足全球化方法(例如线搜索或信任区域)的收敛标准。即使您在确定搜索方向时使用了精确的梯度,这通常也是收敛所必需的。意思是,BFGS一般不会自行收敛,除非它还与线搜索方法结合使用。因此,您的分析可能需要关注 Nocedal 和 Wright 的数值优化中的定理 3.2:

收敛定理 1 收敛定理 2 收敛定理 3 收敛定理 4

在你的情况下,pk应用您不精确的 BFGS 方法的结果。只要你能证明满足 Wolfe 条件(3.6),你与实际梯度(3.12)并不始终正交,并且问题表现良好(3.13),那么原始梯度的范数问题必须归零才能使级数 (3.14) 收敛。当然,这并没有说明性能,这是很难定义的。如果您离最优解太远,即使牛顿法也不会二次收敛。有趣的是,你可以实现一个可怕的优化方法通过找到一个随机搜索方向,将其翻转为下降方向,然后将其与梯度正交,只要上述条件成立,它仍然会收敛。大多数情况下,至少在理论上,全球化甚至可以修复糟糕的算法。