English

NCVX: A General-Purpose Optimization Solver for Constrained Machine and Deep Learning

Machine Learning 2022-11-15 v2 Computer Vision and Pattern Recognition Mathematical Software Signal Processing Optimization and Control

Abstract

Imposing explicit constraints is relatively new but increasingly pressing in deep learning, stimulated by, e.g., trustworthy AI that performs robust optimization over complicated perturbation sets and scientific applications that need to respect physical laws and constraints. However, it can be hard to reliably solve constrained deep learning problems without optimization expertise. The existing deep learning frameworks do not admit constraints. General-purpose optimization packages can handle constraints but do not perform auto-differentiation and have trouble dealing with nonsmoothness. In this paper, we introduce a new software package called NCVX, whose initial release contains the solver PyGRANSO, a PyTorch-enabled general-purpose optimization package for constrained machine/deep learning problems, the first of its kind. NCVX inherits auto-differentiation, GPU acceleration, and tensor variables from PyTorch, and is built on freely available and widely used open-source frameworks. NCVX is available at https://ncvx.org, with detailed documentation and numerous examples from machine/deep learning and other fields.

Keywords

Cite

@article{arxiv.2210.00973,
  title  = {NCVX: A General-Purpose Optimization Solver for Constrained Machine and Deep Learning},
  author = {Buyun Liang and Tim Mitchell and Ju Sun},
  journal= {arXiv preprint arXiv:2210.00973},
  year   = {2022}
}

Comments

Accepted by the NeurIPS Workshop on Optimization for Machine Learning (OPT 2022). arXiv admin note: text overlap with arXiv:2111.13984

R2 v1 2026-06-28T02:37:02.646Z