IP Library › Granted Patent US 12,001,961
Granted Patent B2
US 12,001,961 · App. 18/079,588 · Granted Jun 4, 2024

Embedding constrained and unconstrained optimization programs as neural network layers

Inventors: Tarek Aziz Lahlou (McLean, VA); Christopher Larson (Washington, DC); Oluwatobi Olabiyi (Arlington, VA)
Assignee: Capital One Services, LLC
G06N3/10G06F17/11G06F17/16G06N3/044
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,001,961
App. No.
18/079,588
Filed
Dec 12, 2022
Granted
Jun 4, 2024
Kind
B2
Art Unit
3627
USPC
706/27
Abstract

Aspects discussed herein may relate to methods and techniques for embedding constrained and unconstrained optimization programs as layers in a neural network architecture. Systems are provided that implement a method of solving a particular optimization problem by a neural network architecture. Prior systems required use of external software to pre-solve optimization programs so that previously determined parameters could be used as fixed input in the neural network architecture. Aspects described herein may transform the structure of common optimization problems/programs into forms suitable for use in a neural network. This transformation may be invertible, allowing the system to learn the solution to the optimization program using gradient descent techniques via backpropagation of errors through the neural network architecture. Thus these optimization layers may be solved via operation of the neural network itself.

Claims (68)

1. A computer-implemented method for embedding a convex optimization program as an optimization layer in a neural network architecture comprising a plurality of layers, the method comprising:

determining a set of parameters associated with the convex optimization program comprising associated primal decision variables and dual decision variables, wherein a coefficient matrix corresponding to one or more constraints of the convex optimization program imposes linear feasibility constraints on the decision variables;

determining a set of intermediary functions, wherein one function of the set of intermediary functions is equal to a cost term associated with a range of permitted values and a second function of the set of intermediary functions is equal to infinity for a range of unpermitted values;

generating, based on applying a scattering coordinate transform to the decision variables, a set of network variables associated with the optimization layer, wherein the set of network variables comprises an input value of the optimization layer and an intermediate value of the optimization layer;

generating, based on the coefficient matrix, a linear component of the optimization layer;

generating, based on a second transformation to the set of intermediary functions, a non-linear component of the optimization layer, wherein the second transformation is based on the intermediate value of the optimization layer;

iteratively determining, based on the linear and non-linear components of the optimization layer and the input values and intermediate values of the optimization layer, fixed point values of the network variables;

determining, based on applying an inverse of the scattering coordinate transform to the fixed point values of the network variables, fixed point values for the decision variables;

providing, by the optimization layer and based on the determined fixed point values for the decision variables, a first output to a next layer of the neural network architecture;

providing, by the optimization layer, a second output, wherein the second output is based on the first output;

determining, based on the second output, an error;

backpropagating the determined error through the plurality of layers; and

generating, by the neural network architecture and based on a trained set of parameters associated with the convex optimization program, one or more predictions.

2. The method of claim 1 , wherein the backpropagating comprises determining an updated set of parameters associated with the convex optimization program based on applying gradient descent to the linear component and the non-linear component of the optimization layer.

3. The method of claim 1 , wherein the one or more constraints of the convex optimization program define the range of permitted values and the range of unpermitted values.

4. The method of claim 1 , wherein the neural network architecture is configured to generate predictions regarding speech recognition.

5. The method of claim 1 , wherein the neural network architecture is configured to generate predictions regarding image recognition.

6. The method of claim 1 , wherein the neural network architecture comprises a convolutional neural network.

7. The method of claim 1 , wherein the neural network architecture comprises at least one of a recurrent neural network or a feed forward neural network.

8. The method of claim 1 , wherein the optimization layer has a direct form structure, from an input of the optimization layer, consisting of a single path comprising a single matrix multiplication followed by a non-linearity.

9. The method of claim 1 , wherein the optimization layer has a residual form structure, from an input of the optimization layer, comprising:

a first path, comprising a single matrix multiplication followed by a non-linearity,

a second path, comprising an identity path from the input of the optimization layer, and

a weighted combination of the input and a product of the single matrix multiplication and the non-linearity.

10. The method of claim 1 , wherein the convex optimization program is one of a linear optimization program or a quadratic optimization program.

11. A computing device configured to embed a convex optimization program as an optimization layer in a neural network architecture comprising a plurality of layers, the computing device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

determine a set of decision variables as parameters associated with the convex optimization program, wherein a coefficient matrix corresponding to one or more constraints of the convex optimization program imposes constraints on the decision variables;

determine a set of intermediary functions, wherein one function of the set of intermediary functions is equal to a cost term associated with a range of permitted values and a second function of the set of intermediary functions is equal to infinity for a range of unpermitted values;

generate, based on applying a scattering coordinate transform to the decision variables, a set of network variables associated with the optimization layer, wherein the set of network variables comprises an input value of the optimization layer and an intermediate value of the optimization layer;

generate, based on the coefficient matrix, a linear component of the optimization layer;

generate, based on a second transformation to the set of intermediary functions, a non-linear component of the optimization layer;

generate, based on an input of the optimization layer, the optimization layer as a direct form structure;

receive, by the optimization layer and from a prior layer of the neural network architecture, input values;

iteratively compute, based on the linear and non-linear components of the optimization layer and the input values and intermediate values of the optimization layer, fixed point values of the network variables;

determine, based on applying an inverse of the scattering coordinate transform to the fixed point values of the network variables, fixed point values for the decision variables;

provide, by the optimization layer and based on the determined fixed point values for the decision variables, a first output to a next layer of the neural network architecture;

provide, based on the first output of the neural network architecture, a second output of the neural network architecture; and

generate, by the neural network architecture and based on a trained set of parameters associated with the convex optimization program, one or more predictions.

12. The computing device of claim 11 , further comprising:

determine, based on the second output of the neural network architecture and before generating the one or more predictions, an error; and

backpropagate the determined error through the plurality of layers by at least determining an updated set of parameters associated with the convex optimization program based on applying gradient descent to the linear non-linear component of the optimization layer.

13. The computing device of claim 11 , wherein the direct for structure comprises a single path comprising a single matrix multiplication followed by a non-linearity.

14. The computing device of claim 11 , wherein the one or more constraints of the convex optimization program define the range of permitted values and the range of unpermitted values of the set of intermediary functions.

15. The computing device of claim 11 , wherein the convex optimization program is at least one of a linear optimization program or a quadratic optimization program.

16. The computing device of claim 11 , wherein the neural network architecture comprises at least one of a convolutional neural network, a recurrent neural network, or a feed forward neural network.

17. A non-transitory computer readable medium comprising instructions that, when executed by one or more processors, cause a computing device to perform steps configured to embed a convex optimization program as an optimization layer in a neural network architecture comprising a plurality of layers, the steps comprising:

determining decision variables as a set of parameters associated with the convex optimization program, wherein a coefficient matrix corresponding to one or more constraints of the convex optimization program imposes linear constraints on the decision variables;

determining a set of intermediary functions equal to a cost term associated with a range of permitted values and equal to infinity for a range of unpermitted values, wherein the one or more constraints of the convex optimization program define the range of permitted values and the range of unpermitted values;

generating, based the decision variables, a set of network variables associated with the optimization layer;

generating, based on the coefficient matrix, a linear component of the optimization layer;

generating, based on the set of intermediary functions, a non-linear component of the optimization layer;

generating, based on an input of the optimization layer, the optimization layer as a residual form structure;

receiving, by the optimization layer and from a prior layer of the neural network architecture, input values;

iteratively computing, based on the linear and non-linear components of the optimization layer and the input values of the optimization layer, fixed point values of the network variables;

determining, based on the fixed point values of the network variables, fixed point values for the decision variables;

providing, by the optimization layer and based on the determined fixed point values for the decision variables, a first output to a next layer of the neural network architecture;

providing, by the optimization layer, a second output, wherein the second output is based on the first output;

determining, based on second output, an error;

backpropagating the determined error through the plurality of layers; and

generating, by the neural network architecture and based on a trained set of parameters associated with the convex optimization program, one or more predictions.

18. The non-transitory computer readable medium of claim 17 , wherein the residual form structure wherein the residual form structure comprises:

a first path, comprising a single matrix multiplication followed by a non-linearity;

a second path, comprising an identity path from the input of the optimization layer; and

a weighted combination of the input and a product of the single matrix multiplication and the non-linearity.

19. The non-transitory computer readable medium of claim 17 , wherein the backpropagating comprises determining an updated set of parameters associated with the convex optimization program based on applying gradient descent to the linear component and the non-linear component of the optimization layer.

20. The non-transitory computer readable medium of claim 17 , wherein the set of network variables comprises an input value of the optimization layer and an intermediate value of the optimization layer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: LAHLOU, TAREK AZIZ; LARSON, CHRISTOPHER; OLABIYI, OLUWATOBI
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 062059/0742 →
Continuity (3)
Continuation 16791945 · Feb 14, 2020
Provisional Application 62806341 · Feb 15, 2019
Related Publication 20230108193A1 · Apr 6, 2023