| CPC G06N 3/10 (2013.01) [G06F 17/11 (2013.01); G06F 17/16 (2013.01); G06N 3/044 (2023.01)] | 20 Claims |

|
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;
generating, based on the coefficient matrix, a linear component of the optimization layer;
generating, based on a second transformation to a set of intermediary functions, a non-linear component of the optimization layer, wherein the second transformation is based on an intermediate value of the optimization layer;
iteratively determining, based on the linear component and non-linear component of the optimization layer and input values of the optimization layer and intermediate values of the optimization layer, 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.
|