中文

CDOpt:一类Riemann流形优化的Python包

最优化与控制 2024-10-15 v3 数学软件

摘要

由约束c(x)=0c(x) = 0定义的嵌入子流形上的优化因其在各领域的广泛应用,在过去几十年中引起了极大兴趣。许多相关的优化包已基于Riemann优化方法开发,这些方法依赖于Riemann流形的某些基本几何素材,包括收缩、向量转移等。这些几何素材一般而言可能难以确定。现有包仅容纳少数几何素材易得的知名流形。对于未包含在这些包中的其他流形,用户必须自行开发几何素材。此外,将各种最先进的无约束优化求解器中的高级特性应用于Riemann优化方法并非总是可行。我们介绍CDOpt(可从 https://cdopt.github.io/ 获取),一个面向一类Riemann优化的用户友好Python包。基于约束消解方法,Riemann优化问题在CDOpt中被转化为等价的无约束问题。因此,通过CDOpt求解Riemann优化问题直接受益于各种现有求解器以及数十年来无约束优化积累的丰富经验。而且,CDOpt中所有与所讨论流形相关的计算均在其约束表达式上进行,因此用户无需微分几何背景即可在CDOpt中轻松定义新流形。此外,CDOpt扩展了PyTorch与Flax的神经网络层,从而允许用户直接通过无约束优化求解器训练流形约束神经网络。大量数值实验表明,CDOpt在求解各类Riemann优化问题时高效且鲁棒。

关键词

引用

@article{arxiv.2212.02698,
  title  = {CDOpt: A Python Package for a Class of Riemannian Optimization},
  author = {Nachuan Xiao and Xiaoyin Hu and Xin Liu and Kim-Chuan Toh},
  journal= {arXiv preprint arXiv:2212.02698},
  year   = {2024}
}

备注

48 pages