text: 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_15: 
  @cite_16: The dynamics of the modified canonical nonlinear programming circuit are studied and how to guarantee the stability of the network's solution. By considering the total cocontent function, the solution of the canonical nonlinear programming circuit is reconciled with the problem being modeled. In addition, it is shown how the circuit can be realized using a neural network, thereby extending the results of D.W. Tank and J.J. Hopefield (ibid., vol.CAS-33, p.533-41, May 1986) to the general nonlinear programming problem. >
  @cite_10: We introduce a method to stabilize Generative Adversarial Networks (GANs) by defining the generator objective with respect to an unrolled optimization of the discriminator. This allows training to be adjusted between using the optimal discriminator in the generator's objective, which is ideal but infeasible in practice, and using the current value of the discriminator, which is often unstable and leads to poor solutions. We show how this technique solves the common problem of mode collapse, stabilizes training of GANs with complex recurrent generators, and increases diversity and coverage of the data distribution by the generator.
summary: In the machine learning setting, a wide array of applications consider optimization as a means to perform inference in learning. Among many other applications, these architectures are well-studied for generic classification and structured prediction tasks ; in vision for tasks such as denoising ; and uses unrolled optimization within a network to stabilize the convergence of generative adversarial networks @cite_10 . Indeed, the general idea of solving restricted classes of optimization problem using neural networks goes back many decades @cite_16 @cite_15 , but has seen a number of advances in recent years. These models are often trained by one of the following four methods.