Patent ID: 9390370
Filing Date: 2016-07-12
CPC Classification: G06N

Claim Text:
1. A method for training a neural network, the method comprising: receiving labeled training data at a master node; generating, by the master node, partitioned training data from the labeled training data and a held-out set of the labeled training data; determining a plurality of gradients for the partitioned training data, wherein the determination of the gradients is distributed across a plurality of worker nodes; determining a plurality of curvature matrix-vector products over a plurality of samples of the partitioned training data, wherein the determination of the plurality of curvature matrix-vector products is distributed across the plurality of worker nodes; and determining, by the master node, a second-order optimization of the plurality of gradients and the plurality of curvature matrix-vector products, wherein the second-order optimization forms a plurality of quadratic approximations of a loss function corresponding to the gradients determined by the worker nodes, the plurality of quadratic approximations of the loss function being formed using the curvature matrix-vector products, the second-order optimization selecting, from the plurality of quadratic approximations, a quadratic approximation determined to reduce a loss on the held-out set of the labeled training data, and producing a trained neural network having network parameters corresponding to the quadratic approximation selected, wherein the trained neural network is configured to perform a structured classification task.