Meng Zihang, Ravi Sathya N, Singh Vikas
University of Wisconsin-Madison.
University of Illinois at Chicago.
Proc AAAI Conf Artif Intell. 2021 Feb;35(10):8939-8949. Epub 2021 May 18.
Consider a learning algorithm, which involves an internal call to an optimization routine such as a generalized eigenvalue problem, a cone programming problem or even sorting. Integrating such a method as a layer(s) within a trainable deep neural network (DNN) in an efficient and numerically stable way is not straightforward - for instance, only recently, strategies have emerged for eigendecomposition and differentiable sorting. We propose an efficient and differentiable solver for general linear programming problems which can be used in a plug and play manner within DNNs as a layer. Our development is inspired by a fascinating but not widely used link between dynamics of slime mold (physarum) and optimization schemes such as steepest descent. We describe our development and show the use of our solver in a video segmentation task and meta-learning for few-shot learning. We review the existing results and provide a technical analysis describing its applicability for our use cases. Our solver performs comparably with a customized projected gradient descent method on the first task and outperforms the differentiable CVXPY-SCS solver on the second task. Experiments show that our solver converges quickly without the need for a feasible initial point. Our proposal is easy to implement and can easily serve as layers whenever a learning procedure needs a fast approximate solution to a LP, within a larger network.
考虑一种学习算法,它涉及对诸如广义特征值问题、锥规划问题甚至排序等优化例程的内部调用。以高效且数值稳定的方式将这样一种方法作为一层集成到可训练的深度神经网络(DNN)中并非易事——例如,直到最近,才出现了用于特征分解和可微排序的策略。我们提出了一种用于一般线性规划问题的高效且可微的求解器,它可以在DNN中作为一层以即插即用的方式使用。我们的开发灵感来自于黏菌(Physarum)动力学与诸如最速下降等优化方案之间一种引人入胜但未被广泛使用的联系。我们描述了我们的开发过程,并展示了我们的求解器在视频分割任务和用于少样本学习的元学习中的应用。我们回顾了现有结果,并提供了一项技术分析,描述了其在我们的用例中的适用性。在第一个任务上,我们的求解器与定制的投影梯度下降方法表现相当,在第二个任务上则优于可微的CVXPY - SCS求解器。实验表明,我们的求解器无需可行的初始点就能快速收敛。我们的提议易于实现,并且每当学习过程在更大的网络中需要对线性规划进行快速近似求解时,都可以轻松地作为层来使用。