IP Library Granted Patent US 12,314,856
Granted Patent B2
US 12,314,856 · App. 18/612,917 · Granted May 27, 2025

Population based training of neural networks

Inventors: Maxwell Elliot Jaderberg (London, GB); Wojciech Czarnecki (London, GB); Timothy Frederick Goldie Green (London, GB); Valentin Clement Dalibard (London, GB)
Assignee: DeepMind Technologies Limited
G06N3/08G06N3/048
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,314,856
App. No.
18/612,917
Granted
May 27, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for training a neural network. A method includes: training a neural network having a plurality of network parameters to perform a particular neural network task and to determine trained values of the network parameters using an iterative training process having a plurality of hyperparameters, the method comprising: maintaining a plurality of candidate neural networks and, for each of the candidate neural networks, data specifying: (i) respective values of the network parameters for the candidate neural network, (ii) respective values of the hyperparameters for the candidate neural network, and (iii) a quality measure that measures a performance of the candidate neural network on the particular neural network task; and for each of the plurality of candidate neural networks, repeatedly performing additional training operations.

Claims (65)

1. A method of training a neural network having a plurality of network parameters to perform a particular neural network task and to determine trained values of the network parameters using an iterative training process having a plurality of hyperparameters, the method comprising:

maintaining a plurality of candidate neural networks and, for each of the plurality of candidate neural networks, data specifying: (i) values of the network parameters of the candidate neural network, (ii) values of the hyperparameters of the candidate neural network, and (iii) a quality measure that measures a performance of the candidate neural network on the particular neural network task;

for each of the plurality of candidate neural networks, repeatedly performing the following training operations, comprising:

repeatedly updating the values of the network parameters of the candidate neural network in accordance with the maintained values of the hyperparameters of the candidate neural network until a termination criterion is satisfied, wherein the maintained values of hyperparameters remain unchanged;

updating the quality measure of the candidate neural network based on the updated values of the network parameters of the candidate neural network;

updating the respective values of the hyperparameters of the candidate neural network based on the updated quality measure of the candidate neural network, the updating comprising:

sampling another candidate neural network from the plurality of candidate neural networks, the other candidate neural network having respective values of the network parameters and a respective quality measure for the respective values of the network parameters; and

updating the hyperparameters of the candidate neural network based on a result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network;

updating the maintained data of the candidate neural network to specify the updated values of the hyperparameters, the updated values of the network parameters, and the updated value of the quality measure; and

selecting the trained values of the network parameters from the parameter values in the maintained data based on the maintained quality measures for the plurality of candidate neural networks after the training operations have repeatedly been performed.

2. The method of claim 1 , wherein selecting the trained values of the network parameters from the parameter values in the maintained data based on the maintained quality measures of the plurality of candidate neural networks comprises:

selecting the maintained parameter values of the candidate neural network having a best maintained quality measure of any of the plurality of candidate neural networks after the training operations have repeatedly been performed.

3. The method of claim 1 , wherein updating the hyperparameters of the candidate neural network based on the result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network comprises:

determining whether the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network; and

in response to determining that the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network, setting new values of the hyperparameters of the candidate neural network to the maintained values of the hyperparameters of the other candidate neural network.

4. The method of claim 3 , further comprising: setting new values of the network parameters of the candidate neural network to the respective values of the network parameters of the other candidate neural network.

5. The method of claim 1 , wherein updating the hyperparameters of the candidate neural network based on the result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network comprises:

determining whether the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network; and

in response to determining that the respective quality measure of the other candidate neural network is not greater than the updated quality measure of the candidate neural network, setting new values of the hyperparameters of the candidate neural network to the updated values of the hyperparameters of the candidate neural network.

6. The method of claim 5 , further comprising: perturbing the new values of the hyperparameters of the candidate neural network according to a predetermined factor or probability distribution.

7. The method of claim 1 , further comprising:

providing the trained values of the network parameters for use in processing new inputs to the neural network.

8. A system comprising:

one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations for training a neural network having a plurality of network parameters to perform a particular neural network task and to determine trained values of the network parameters using an iterative training process having a plurality of hyperparameters, the operations comprising:

maintaining a plurality of candidate neural networks and, for each of the plurality of candidate neural networks, data specifying: (i) values of the network parameters of the candidate neural network, (ii) values of the hyperparameters of the candidate neural network, and (iii) a quality measure that measures a performance of the candidate neural network on the particular neural network task;

for each of the plurality of candidate neural networks, repeatedly performing the following training operations, comprising:

repeatedly updating the values of the network parameters of the candidate neural network in accordance with the maintained values of the hyperparameters of the candidate neural network until a termination criterion is satisfied, wherein the maintained values of hyperparameters remain unchanged;

updating the quality measure of the candidate neural network based on the updated values of the network parameters of the candidate neural network;

updating the respective values of the hyperparameters of the candidate neural network based on the updated quality measure of the candidate neural network, the updating comprising:

sampling another candidate neural network from the plurality of candidate neural networks, the other candidate neural network having respective values of the network parameters and a respective quality measure for the respective values of the network parameters; and

updating the hyperparameters of the candidate neural network based on a result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network;

updating the maintained data of the candidate neural network to specify the updated values of the hyperparameters, the updated values of the network parameters, and the updated value of the quality measure; and

selecting the trained values of the network parameters from the parameter values in the maintained data based on the maintained quality measures for the plurality of candidate neural networks after the training operations have repeatedly been performed.

9. The system of claim 8 , wherein selecting the trained values of the network parameters from the parameter values in the maintained data based on the maintained quality measures of the plurality of candidate neural networks comprises:

selecting the maintained parameter values of the candidate neural network having a best maintained quality measure of any of the plurality of candidate neural networks after the training operations have repeatedly been performed.

10. The system of claim 8 , wherein updating the hyperparameters of the candidate neural network based on the result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network comprises:

determining whether the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network; and

in response to determining that the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network, setting new values of the hyperparameters of the candidate neural network to the maintained values of the hyperparameters of the other candidate neural network.

11. The system of claim 10 , wherein the operations further comprise: setting new values of the network parameters of the candidate neural network to the respective values of the network parameters of the other candidate neural network.

12. The system of claim 8 , wherein updating the hyperparameters of the candidate neural network based on the result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network comprises:

determining whether the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network; and

in response to determining that the respective quality measure of the other candidate neural network is not greater than the updated quality measure of the candidate neural network, setting new values of the hyperparameters of the candidate neural network to the updated values of the hyperparameters of the candidate neural network.

13. The system of claim 12 , wherein the operations further comprise: perturbing the new values of the hyperparameters of the candidate neural network according to a predetermined factor or probability distribution.

14. The system of claim 8 , wherein the operations further comprise:

providing the trained values of the network parameters for use in processing new inputs to the neural network.

15. One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations for training a neural network having a plurality of network parameters to perform a particular neural network task and to determine trained values of the network parameters using an iterative training process having a plurality of hyperparameters, the operations comprising:

maintaining a plurality of candidate neural networks and, for each of the plurality of candidate neural networks, data specifying: (i) values of the network parameters of the candidate neural network, (ii) values of the hyperparameters of the candidate neural network, and (iii) a quality measure that measures a performance of the candidate neural network on the particular neural network task;

for each of the plurality of candidate neural networks, repeatedly performing the following training operations, comprising:

repeatedly updating the values of the network parameters of the candidate neural network in accordance with the maintained values of the hyperparameters of the candidate neural network until a termination criterion is satisfied, wherein the maintained values of hyperparameters remain unchanged;

updating the quality measure of the candidate neural network based on the updated values of the network parameters of the candidate neural network;

updating the respective values of the hyperparameters of the candidate neural network based on the updated quality measure of the candidate neural network, the updating comprising:

sampling another candidate neural network from the plurality of candidate neural networks, the other candidate neural network having respective values of the network parameters and a respective quality measure for the respective values of the network parameters; and

updating the hyperparameters of the candidate neural network based on a result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network;

updating the maintained data of the candidate neural network to specify the updated values of the hyperparameters, the updated values of the network parameters, and the updated value of the quality measure; and

selecting the trained values of the network parameters from the parameter values in the maintained data based on the maintained quality measures for the plurality of candidate neural networks after the training operations have repeatedly been performed.

16. The one or more non-transitory computer-readable storage media of claim 15 , wherein selecting the trained values of the network parameters from the parameter values in the maintained data based on the maintained quality measures of the plurality of candidate neural networks comprises:

selecting the maintained parameter values of the candidate neural network having a best maintained quality measure of any of the plurality of candidate neural networks after the training operations have repeatedly been performed.

17. The one or more non-transitory computer-readable storage media of claim 15 , wherein updating the hyperparameters of the candidate neural network based on the result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network comprises:

determining whether the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network; and

in response to determining that the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network, setting new values of the hyperparameters of the candidate neural network to the maintained values of the hyperparameters of the other candidate neural network.

18. The one or more non-transitory computer-readable storage media of claim 17 , wherein the operations further comprise: setting new values of the network parameters of the candidate neural network to the respective values of the network parameters of the other candidate neural network.

19. The one or more non-transitory computer-readable storage media of claim 15 , wherein updating the hyperparameters of the candidate neural network based on the result of comparing the updated quality measure of the candidate neural network and the respective quality measure of the other candidate neural network comprises:

determining whether the respective quality measure of the other candidate neural network is greater than the updated quality measure of the candidate neural network; and

in response to determining that the respective quality measure of the other candidate neural network is not greater than the updated quality measure of the candidate neural network, setting new values of the hyperparameters of the candidate neural network to the updated values of the hyperparameters of the candidate neural network.

20. The one or more non-transitory computer-readable storage media of claim 19 , wherein the operations further comprise: perturbing the new values of the hyperparameters of the candidate neural network according to a predetermined factor or probability distribution.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071498/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2024
From: JADERBERG, MAXWELL ELLIOT; CZARNECKI, WOJCIECH; GREEN, TIMOTHY FREDERICK GOLDIE; DALIBARD, VALENTIN CLEMENT
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 067303/0656 →