NCVX: A User-Friendly and Scalable Package for Nonconvex Optimization in Machine Learning

11/27/2021
by   Buyun Liang, et al.
0

Optimizing nonconvex (NCVX) problems, especially nonsmooth and constrained ones, is an essential part of machine learning. However, it can be hard to reliably solve such problems without optimization expertise. Existing general-purpose NCVX optimization packages are powerful but typically cannot handle nonsmoothness. GRANSO is among the first optimization solvers targeting general nonsmooth NCVX problems with nonsmooth constraints, but, as it is implemented in MATLAB and requires the user to provide analytical gradients, GRANSO is often not a convenient choice in machine learning (especially deep learning) applications. To greatly lower the technical barrier, we introduce a new software package called NCVX, whose initial release contains the solver PyGRANSO, a PyTorch-enabled port of GRANSO incorporating auto-differentiation, GPU acceleration, tensor input, and support for new QP solvers. NCVX is built on freely available and widely used open-source frameworks, and as a highlight, can solve general constrained deep learning problems, the first of its kind. NCVX is available at https://ncvx.org, with detailed documentation and numerous examples from machine learning and other fields.

READ FULL TEXT
research
10/03/2022

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

Imposing explicit constraints is relatively new but increasingly pressin...
research
03/30/2022

Optimization for Classical Machine Learning Problems on the GPU

Constrained optimization problems arise frequently in classical machine ...
research
06/25/2021

Linear solvers for power grid optimization problems: a review of GPU-accelerated linear solvers

The linear equations that arise in interior methods for constrained opti...
research
10/20/2018

The Ocean Tensor Package

Matrix and tensor operations form the basis of a wide range of fields an...
research
12/02/2021

Constrained Machine Learning: The Bagel Framework

Machine learning models are widely used for real-world applications, suc...
research
04/18/2019

DScribe: Library of Descriptors for Machine Learning in Materials Science

DScribe is a software package for machine learning that provides popular...
research
11/03/2020

PyLightcurve-torch: a transit modelling package for deep learning applications in PyTorch

We present a new open source python package, based on PyLightcurve and P...

Please sign up or login with your details

Forgot password? Click here to reset