OptNet: Differentiable Optimization as a Layer in Neural Networks

Abstract

This paper presents OptNet, a network architecture that integrates optimization problems (here, specifically in the form of quadratic programs) as individual layers in larger end-to-end trainable deep networks. These layers encode constraints and complex dependencies between the hidden states that traditional convolutional and fully-connected layers often cannot capture. In this paper, we explore the foundations for such an architecture: we show how techniques from sensitivity analysis, bilevel optimization, and implicit differentiation can be used to exactly differentiate through these layers and with respect to layer parameters; we develop a highly efficient solver for these layers that exploits fast GPU-based batch solves within a primal-dual interior point method, and which provides backpropagation gradients with virtually no additional cost on top of the solve; and we highlight the application of these approaches in several problems. In one notable example, we show that the method is capable of learning to play mini-Sudoku (4x4) given just input and output games, with no a priori information about the rules of the game; this highlights the ability of our architecture to learn hard constraints better than other neural architectures.

Cite

Text

Amos and Kolter. "OptNet: Differentiable Optimization as a Layer in Neural Networks." International Conference on Machine Learning, 2017.

Markdown

[Amos and Kolter. "OptNet: Differentiable Optimization as a Layer in Neural Networks." International Conference on Machine Learning, 2017.](https://mlanthology.org/icml/2017/amos2017icml-optnet/)

BibTeX

@inproceedings{amos2017icml-optnet,
  title     = {{OptNet: Differentiable Optimization as a Layer in Neural Networks}},
  author    = {Amos, Brandon and Kolter, J. Zico},
  booktitle = {International Conference on Machine Learning},
  year      = {2017},
  pages     = {136-145},
  volume    = {70},
  url       = {https://mlanthology.org/icml/2017/amos2017icml-optnet/}
}