Physarum Powered Differentiable Linear Programming Layers and Applications

Zihang Meng, Sathya N. Ravi, Vikas Singh
4/30/2020
cs.LGcs.CVstat.ML

Official code: yingxin-jia/SuperGlue-pytorch (612 stars, PyTorch, last commit 2021-10-12). 1 more implementation below.

Abstract

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.

View on arXivView PDF

Code Implementations(2)

PyTorch

[SuperGlue: Learning Feature Matching with Graph Neural Networks] This repo includes PyTorch code for training the SuperGlue matching network on top of SIFT keypoints and descriptors.

612135PythonApr 25, 20205 years agoNOASSERTION
pytorchsuperglue

Physarum Powered Differentiable Linear Programming Layers

172PythonApr 29, 20204 years ago

Similar Papers

Cite this paper

@article{meng2020physarum,
  title  = {Physarum Powered Differentiable Linear Programming Layers and Applications},
  author = {Zihang Meng and Sathya N. Ravi and Vikas Singh},
  year   = {2020},
  eprint = {2004.14539},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2004.14539}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2004.14539.svg)](https://codeofpaper.com/paper/2004.14539)

Discussion