IP Library Granted Patent US 11,783,182
Granted Patent B2
US 11,783,182 · App. 17/170,316 · Granted Oct 10, 2023

Asynchronous deep reinforcement learning

Inventors: Volodymyr Mnih (Toronto, CA); Adrià Puigdomènech Badia (London, GB); Alexander Benjamin Graves (London, GB); Timothy James Alexander Harley (London, GB); David Silver (Hitchin, GB); Koray Kavukcuoglu (London, GB)
Assignee: DeepMind Technologies Limited
G06N3/08G06N3/04G06N3/045
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 11,783,182
App. No.
17/170,316
Granted
Oct 10, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for asynchronous deep reinforcement learning. One of the systems includes a plurality of workers, wherein each worker is configured to operate independently of each other worker, and wherein each worker is associated with a respective actor that interacts with a respective replica of the environment during the training of the deep neural network.

Claims (93)

1. A method of training a deep neural network having a plurality of parameters that is used to select actions to be performed by an agent that interacts with an environment by performing actions selected from a predetermined set of actions, the method comprising:

using a plurality of workers to generate training data for training the parameters of the deep neural network;

wherein for each worker:

the worker is configured to operate independently of each other worker;

the worker is associated with a respective actor that interacts with a respective replica of the environment in accordance with a respective exploration policy;

the exploration policy is parameterized by a set of exploration policy parameters, wherein values of the exploration policy parameters are specific to the worker and are different from values of exploration policy parameters of each of one or more other workers of the plurality of workers; and

wherein each worker is configured to generate training data by repeatedly performing operations comprising:

determining current values of the parameters of the deep neural network;

receiving a current observation characterizing a current state of the environment replica interacted with by the actor associated with the worker;

selecting a current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network;

identifying an actual reward resulting from the actor performing the current action when the environment replica is in the current state;

receiving a next observation characterizing a next state of the environment replica interacted with by the actor, wherein the environment replica transitioned into the next state from the current state in response to the actor performing the current action; and

adding the current action, the actual reward, and the next observation to the training data generated by the worker;

applying a reinforcement learning technique to the training data generated by each of the plurality of workers to determine one or more current gradients; and

determining updated values of the parameters of the deep neural network using the current gradients.

2. The method of claim 1 , wherein the exploration policy associated with each worker is an ϵ-greedy exploration policy parameterized by a different ϵ probability, wherein ϵ is an exploration policy parameter, and wherein for each worker, selecting the current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network comprises:

selecting the current action randomly from the predetermined set of actions with probability ϵ, wherein ϵ is the ϵ probability parameter parameterizing the exploration policy of the worker.

3. The method of claim 2 , wherein each worker performs operations further comprising:

in response to determining that a criterion for updating the ϵ probability parameter of the exploration policy associated with the worker is satisfied, sampling a new value of the ϵ probability parameter from a probability distribution over possible values of the ϵ probability.

4. The method of claim 1 , wherein the exploration policy associated with each worker is parameterized by a different temperature parameter τ, wherein τ is an exploration policy parameter, and wherein for each worker, selecting the current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network comprises:

applying a softmax nonlinearity parametrized by the temperature parameter τ for the worker to a set of action scores generated by the deep neural network to determine a probability distribution over the set of actions; and

sampling the current action from the predetermined set of actions in accordance with the probability distribution over the predetermined set of actions.

5. The method of claim 1 , wherein applying the reinforcement learning technique to the training data generated by each of the plurality of workers to determine one or more current gradients comprises, for each worker:

applying, by operations performed by the worker, the reinforcement learning technique to training data generated by the worker to generate one or more current gradients.

6. The method of claim 5 , wherein determining updated values of the parameters of the deep neural network using the current gradients comprises, for each worker:

updating, by operations performed by the worker, an accumulated gradient maintained by the worker using the current gradients generated by the worker to determine an updated accumulated gradient;

determining, by operations performed by the worker, whether criteria for updating values of the parameters of the deep neural network that are stored in a shared memory accessible to all of the workers have been satisfied; and

when the criteria for updating the values of the parameters of the deep neural network that are stored in the shared memory have been satisfied:

determining, by operations performed by the worker, updated values of the parameters of the deep neural network using the updated accumulated gradient and the values of the parameters of the deep neural network that are stored in the shared memory; and

storing the updated values of the parameters of the deep neural network in the shared memory.

7. The method of claim 1 , wherein each worker executes independently of each other worker on a same computer.

8. The method of claim 1 , wherein the deep neural network is a Q network that is configured to receive an input observation characterizing an input state of the environment and an input action and to generate a Q value that is an estimate of a long-term reward resulting from the input action being performed when the environment is in the input state, and wherein selecting the current action to be performed by the actor in response to the current observation comprises:

for each action in the predetermined set of actions, processing the current observation and the action using the deep neural network to generate a Q value for the action in accordance with the current values of the parameters of the deep neural network; and

selecting an action from the predetermined set of actions in accordance with the exploration policy parametrized by the set of exploration policy parameters for the worker using the Q values for the actions.

9. A system comprising:

one or more computers; and

one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations for training a deep neural network having a plurality of parameters that is used to select actions to be performed by an agent that interacts with an environment by performing actions selected from a predetermined set of actions, the operations comprising:

using a plurality of workers to generate training data for training the parameters of the deep neural network;

wherein for each worker:

the worker is configured to operate independently of each other worker;

the worker is associated with a respective actor that interacts with a respective replica of the environment in accordance with a respective exploration policy;

the exploration policy is parameterized by a set of exploration policy parameters, wherein values of the exploration policy parameters are specific to the worker and are different from values of exploration policy parameters of each of one or more other workers of the plurality of workers; and

wherein each worker is configured to generate training data by repeatedly performing operations comprising:

determining current values of the parameters of the deep neural network;

receiving a current observation characterizing a current state of the environment replica interacted with by the actor associated with the worker;

selecting a current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network;

identifying an actual reward resulting from the actor performing the current action when the environment replica is in the current state;

receiving a next observation characterizing a next state of the environment replica interacted with by the actor, wherein the environment replica transitioned into the next state from the current state in response to the actor performing the current action; and

adding the current action, the actual reward, and the next observation to the training data generated by the worker;

applying a reinforcement learning technique to the training data generated by each of the plurality of workers to determine one or more current gradients; and

determining updated values of the parameters of the deep neural network using the current gradients.

10. The system of claim 9 , wherein the exploration policy associated with each worker is an ϵ-greedy exploration policy parameterized by a different ϵ probability, wherein ϵ is an exploration policy parameter, and wherein for each worker, selecting the current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network comprises:

selecting the current action randomly from the predetermined set of actions with probability ϵ, wherein ϵ is the ϵ probability parameter parameterizing the exploration policy of the worker.

11. The system of claim 10 , wherein each worker performs operations further comprising:

in response to determining that a criterion for updating the ϵ probability parameter of the exploration policy associated with the worker is satisfied, sampling a new value of the ϵ probability parameter from a probability distribution over possible values of the ϵ probability.

12. The system of claim 9 , wherein the exploration policy associated with each worker is parameterized by a different temperature parameter τ, wherein τ is an exploration policy parameter, and wherein for each worker, selecting the current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network comprises:

applying a softmax nonlinearity parametrized by the temperature parameter τ for the worker to a set of action scores generated by the deep neural network to determine a probability distribution over the set of actions; and

sampling the current action from the predetermined set of actions in accordance with the probability distribution over the predetermined set of actions.

13. The system of claim 9 , wherein applying the reinforcement learning technique to the training data generated by each of the plurality of workers to determine one or more current gradients comprises, for each worker:

applying, by operations performed by the worker, the reinforcement learning technique to training data generated by the worker to generate one or more current gradients.

14. The system of claim 13 , wherein determining updated values of the parameters of the deep neural network using the current gradients comprises, for each worker:

updating, by operations performed by the worker, an accumulated gradient maintained by the worker using the current gradients generated by the worker to determine an updated accumulated gradient;

determining, by operations performed by the worker, whether criteria for updating values of the parameters of the deep neural network that are stored in a shared memory accessible to all of the workers have been satisfied; and

when the criteria for updating the values of the parameters of the deep neural network that are stored in the shared memory have been satisfied:

determining, by operations performed by the worker, updated values of the parameters of the deep neural network using the updated accumulated gradient and the values of the parameters of the deep neural network that are stored in the shared memory; and

storing the updated values of the parameters of the deep neural network in the shared memory.

15. The system of claim 9 , wherein each worker executes independently of each other worker on a same computer.

16. The system of claim 9 , wherein the deep neural network is a Q network that is configured to receive an input observation characterizing an input state of the environment and an input action and to generate a Q value that is an estimate of a long-term reward resulting from the input action being performed when the environment is in the input state, and wherein selecting the current action to be performed by the actor in response to the current observation comprises:

for each action in the predetermined set of actions, processing the current observation and the action using the deep neural network to generate a Q value for the action in accordance with the current values of the parameters of the deep neural network; and

selecting an action from the predetermined set of actions in accordance with the exploration policy parametrized by the set of exploration policy parameters for the worker using the Q values for the actions.

17. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations to train an industrial plant controller that controls operation of an industrial plant, the operations to train the industrial plant controller comprising:

A method of training a deep neural network having a plurality of parameters that is used to select actions to be performed by an agent that interacts with an environment by performing actions selected from a predetermined set of actions, the method comprising:

using a plurality of workers to generate training data for training the parameters of the deep neural network;

wherein for each worker:

the worker is configured to operate independently of each other worker;

the worker is associated with a respective actor that interacts with a respective replica of the environment in accordance with a respective exploration policy;

the exploration policy is parameterized by a set of exploration policy parameters, wherein values of the exploration policy parameters are specific to the worker and are different from values of exploration policy parameters of each of one or more other workers of the plurality of workers; and

wherein each worker is configured to generate training data by repeatedly performing operations comprising:

determining current values of the parameters of the deep neural network;

receiving a current observation characterizing a current state of the environment replica interacted with by the actor associated with the worker;

selecting a current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network;

identifying an actual reward resulting from the actor performing the current action when the environment replica is in the current state;

receiving a next observation characterizing a next state of the environment replica interacted with by the actor, wherein the environment replica transitioned into the next state from the current state in response to the actor performing the current action; and

adding the current action, the actual reward, and the next observation to the training data generated by the worker;

applying a reinforcement learning technique to the training data generated by each of the plurality of workers to determine one or more current gradients; and

determining updated values of the parameters of the deep neural network using the current gradients.

18. The non-transitory computer storage media of claim 17 , wherein the exploration policy associated with each worker is an ϵ-greedy exploration policy parameterized by a different ϵ probability, wherein ϵ is an exploration policy parameter, and wherein for each worker, selecting the current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network comprises:

selecting the current action randomly from the predetermined set of actions with probability ϵ, wherein ϵ is the ϵ probability parameter parameterizing the exploration policy of the worker.

19. The non-transitory computer storage media of claim 18 , wherein each worker performs operations further comprising:

in response to determining that a criterion for updating the ϵ probability parameter of the exploration policy associated with the worker is satisfied, sampling a new value of the ϵ probability parameter from a probability distribution over possible values of the ϵ probability.

20. The non-transitory computer storage media of claim 17 , wherein the exploration policy associated with each worker is parameterized by a different temperature parameter τ, wherein τ is an exploration policy parameter, and wherein for each worker, selecting the current action to be performed by the actor associated with the worker in response to the current observation in accordance with the exploration policy for the worker and using one or more outputs generated by the deep neural network in accordance with the current values of the parameters of the deep neural network comprises:

applying a softmax nonlinearity parametrized by the temperature parameter τ for the worker to a set of action scores generated by the deep neural network to determine a probability distribution over the set of actions; and

sampling the current action from the predetermined set of actions in accordance with the probability distribution over the predetermined set of actions.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071109/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: MNIH, VOLODYMYR; BADIA, ADRIA PUIGDOMENECH; GRAVES, ALEXANDER BENJAMIN; HARLEY, TIMOTHY JAMES ALEXANDER; SILVER, DAVID; KAVUKCUOGLU, KORAY
To: GOOGLE INC.
Reel/Frame 055228/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: GOOGLE INC.
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 055228/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: MNIH, VOLODYMYR; BADIA, ADRIA PUIGDOMENECH; GRAVES, ALEXANDER BENJAMIN; HARLEY, TIMOTHY JAMES ALEXANDER; SILVER, DAVID; KAVUKCUOGLU, KORAY
To: GOOGLE INC.
Reel/Frame 055234/0441 →
CHANGE OF NAME Recorded Feb 11, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 055281/0245 →
Continuity (5)
Continuation 16403388 · May 3, 2019
Continuation 15977923 · May 11, 2018
Continuation 15349950 · Nov 11, 2016
Provisional Application 62254701 · Nov 12, 2015
Related Publication 20210166127A1 · Jun 3, 2021