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 im plicit differentiation can be used to exactly diff entiate through these layers and with respect to layer parameters; we develop a highly efficient solver for these layers that exploits fast GPUbased batch solves within a primal-dual interior point method, and which provides backpropagation gradients with virtually no additional cost o 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 lear hard constraints better than other neural architec tures.