CPC G06N 3/086 (2013.01) [G06N 3/08 (2013.01); G06N 3/044 (2023.01)] | 20 Claims |
1. A method of training a neural network having a plurality of differentiable weights and a plurality of non-differentiable weights to determine trained values of the plurality of differentiable weights and the plurality of non-differentiable weights, the method comprising:
maintaining (i) current values of the plurality of differentiable weights and (ii) current values of a plurality of distribution parameters;
repeatedly performing the following operations:
generating a plurality of non-differentiable weight value samples in accordance with the current values of the plurality of distribution parameters, wherein each non-differentiable weight value sample of the plurality of non-differentiable weight value samples defines a respective value for each of the plurality of non-differentiable weights of the neural network;
assigning each of the plurality of non-differentiable weight value samples to a respective worker computing device of a plurality of worker devices;
for each non-differentiable weight value sample of the plurality of non-differentiable weight value samples:
determining, by the respective worker computing device to which the non-differentiable weight value sample is assigned, a fitness of the neural network when the plurality of differentiable weights are set to the current values of the plurality of differentiable weights and the plurality of non-differentiable weights are set to the respective values defined by the non-differentiable weight value sample, and
determining, by the respective worker computing device to which the non-differentiable weight value sample is assigned and while the plurality of differentiable weights are set to the current values of the plurality of differentiable weights and the plurality of non-differentiable weights are set to the respective values defined by the non-differentiable weight value sample, a respective update to the current values of the plurality of differentiable weights using a machine learning gradient-based training technique;
updating the current values of the plurality of differentiable weights using the respective update to the current values of the plurality of differentiable weights determined for each of the non-differentiable weight value samples;
determining, using an evolution strategies (ES) technique, an update to the current values of the plurality of distribution parameters using the fitness determined for each non-differentiable weight value sample; and
updating the current values of the plurality of distribution parameters using the update to the current values of the plurality of distribution parameters.
|