Optimizing nonconvex (NCVX) problems, especially those nonsmooth (NSMT) and constrained (CSTR), is an essential part of machine learning and deep learning. But it is hard to reliably solve this type of problems without optimization expertise. Existing general-purpose NCVX optimization packages are powerful, but typically cannot handle nonsmoothness. GRANSO is among the first packages targeting NCVX, NSMT, CSTR problems. However, it has several limitations such as the lack of auto-differentiation and GPU acceleration, which preclude the potential broad deployment by non-experts. To lower the technical barrier for the machine learning community, we revamp GRANSO into a user-friendly and scalable python package named NCVX, featuring auto-differentiation, GPU acceleration, tensor input, scalable QP solver, and zero dependency on proprietary packages. As a highlight, NCVX can solve general CSTR 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.
翻译:优化非混凝土(NCVX)问题,特别是那些非摩擦(NSMT)和受约束(CSTR)问题,是机器学习和深层学习的一个基本部分。但是,如果没有优化的专业知识,很难可靠地解决这类问题。现有的通用NCVX优化软件包是强大的,但通常无法处理非抽吸。GRANSO是针对NCVX、NSMT、CSTF问题的第一批包之一。然而,它有一些局限性,例如缺乏自动差异和GPU加速,这排除了非专家的广泛部署的可能性。为了降低机器学习界的技术障碍,我们将GRANSO改造为用户友好和可扩展的Python软件包,名为NCVX, 其特点是自动差异、GPU加速、高压输入、可缩缩放QP解答器和对专利软件零依赖。作为突出的强调,NCVX可以解决一般的CSTR深层学习问题,这是同类的首个。NCVX可以在 https://nvx.org上查阅详细的文件和从机器学习和其他领域获得许多例子。