IP Library Granted Patent US 10,860,895
Granted Patent B2
US 10,860,895 · App. 16/689,017 · Granted Dec 8, 2020

Imagination-based agent neural networks

Inventors: Daniel Pieter Wierstra (London, GB); Yujia Li (London, GB); Razvan Pascanu (Letchworth Garden City, GB); Peter William Battaglia (London, GB); Theophane Guillaume Weber (London, GB); Lars Buesing (London, GB); David Paul Reichert (London, GB); Oriol Vinyals (London, GB); Nicolas Manfred Otto Heess (London, GB); Sebastien Henri Andre Racaniere (London, GB)
Assignee: DeepMind Technologies Limited
G06K9/6264G06K9/6807G06N3/08G06N5/046
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 10,860,895
App. No.
16/689,017
Granted
Dec 8, 2020
Kind
B2
Abstract

A neural network system is proposed to select actions to be performed by an agent interacting with an environment to perform a task in an attempt to achieve a specified result. The system may include a controller to receive state data and context data, and to output action data. The system may also include an imagination module to receive the state and action data, and to output consequent state data. The system may also include a manager to receive the state data and the context data, and to output route data which defines whether the system is to execute an action or to imagine. The system may also include a memory to store the context data.

Claims (64)

1. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations for controlling an agent to perform a specified task in an environment, the operations comprising:

maintaining context data defining a context for planning actions to be performed by the agent;

receiving current state data characterizing a current state of the environment;

until determining to act in the environment in response to the current state data, performing iterations of an imagining process to imagine consequences of performing actions in the environment, wherein performing each iteration of the imagining process comprising:

selecting input state data for the iteration;

processing the input state data for the iteration and the context data using a controller neural network configured to process the input state data and the context data and to output action data defining an action to be performed by the agent when the environment is in a state defined by the input state data;

processing the input state data and the action data using a model neural network configured to process the input state data and the action data to (i) generate predicted state data that characterizes a predicted state that the environment transitions into consequent upon the action defined by the action data being performed while the environment is in the state defined by the input state data and (ii) generate a predicted reward that is a prediction of a reward that would be received consequent upon the action defined by the action data being performed while the environment is in the state defined by the input state data;

updating, using at least the predicted state data and the predicted reward for the iteration, the context data; and

determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process; and

after determining to act in the environment, selecting an action to be performed by the agent in response to the current state data using the current state data and the context data after a last iteration of the imagining process.

2. The system of claim 1 , wherein for a first iteration of the imagining process selecting the input state comprises selecting the current state data as the input state data for the iteration.

3. The system of claim 2 , wherein for any iteration of the imagining process after the first iteration, selecting the input state comprises selecting the predicted state generated at the preceding iteration of the imagining process as the input state at the iteration.

4. The system of claim 2 , wherein for any iteration of the imagining process after the first iteration, selecting the input state comprises selecting the input state for the iteration from at least the predicted state generated at the preceding iteration of the imagining process and the current state data.

5. The system of claim 1 , wherein updating, using at least the predicted state data and the predicted reward for the iteration, the context data comprises:

generating, from at least the predicted state data for the iteration, the predicted reward for the iteration, and the context data, an input to a memory neural network; and

processing the input using the memory neural network, wherein the memory is configured to generate, as output, updated context data.

6. The system of claim 5 , wherein the memory neural network is a long short-term memory (LSTM) neural network.

7. The system of claim 1 , wherein determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process comprises determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process based on at least the context data after the updating of the context data.

8. The system of claim 7 , wherein determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process comprises:

processing an input comprising the context data after the updating of the context data using a manager neural network configured to process the input using a manager neural network configured to generate as output route data that defines whether to (i) act in the environment or (ii) perform another iteration of the imagining process.

9. The system of claim 8 , wherein, when the route data further defines the state data that is selected as the input state data at the another iteration of the imagining process.

10. The system of claim 8 , the operations further comprising:

prior to performing any iterations of the imagining process, processing an input comprising the context data prior to performing any iterations of the imagining process using the manager neural network to generate initial route data that defines whether to (i) act in the environment or (ii) perform any iterations of the imagining process; and

performing iterations of the imagining process to imagine consequences of performing actions in the environment only in response to the initial route data defining to perform iterations of the imagining process.

11. The system of claim 1 , wherein after determining to act in the environment, selecting an action to be performed by the agent in response to the current state data using the current state data and the context data after a last iteration of the imagining process comprises

processing the current state data and the context data after the last iteration of the imagining process using the controller neural network configured to generate current action data; and

causing the agent to perform the action that is defined by the current action data in the environment.

12. The system of claim 1 , the operations further comprising:

receiving next state data characterizing a next state that the environment transitioned into as a consequence of the agent performing the selected action;

receiving an external reward as a consequence of the agent performing the selected action; and

updating the context data using at least the next state data and the external reward.

13. A method performed by one or more computers and for controlling an agent to perform a specified task in an environment, the operations comprising:

maintaining context data defining a context for planning actions to be performed by the agent;

receiving current state data characterizing a current state of the environment;

until determining to act in the environment in response to the current state data, performing iterations of an imagining process to imagine consequences of performing actions in the environment, wherein performing each iteration of the imagining process comprising:

selecting input state data for the iteration;

processing the input state data for the iteration and the context data using a controller neural network configured to process the input state data and the context data and to output action data defining an action to be performed by the agent when the environment is in a state defined by the input state data;

processing the input state data and the action data using a model neural network configured to process the input state data and the action data to (i) generate predicted state data that characterizes a predicted state that the environment transitions into consequent upon the action defined by the action data being performed while the environment is in the state defined by the input state data and (ii) generate a predicted reward that is a prediction of a reward that would be received consequent upon the action defined by the action data being performed while the environment is in the state defined by the input state data;

updating, using at least the predicted state data and the predicted reward for the iteration, the context data; and

determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process; and

after determining to act in the environment, selecting an action to be performed by the agent in response to the current state data using the current state data and the context data after a last iteration of the imagining process.

14. The method of claim 13 , wherein updating, using at least the predicted state data and the predicted reward for the iteration, the context data comprises:

generating, from at least the predicted state data for the iteration, the predicted reward for the iteration, and the context data, an input to a memory neural network; and

processing the input using the memory neural network, wherein the memory is configured to generate, as output, updated context data.

15. The method of claim 13 , wherein determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process comprises determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process based on at least the context data after the updating of the context data.

16. The method of claim 15 , wherein determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process comprises:

processing an input comprising the context data after the updating of the context data using a manager neural network configured to process the input using a manager neural network configured to generate as output route data that defines whether to (i) act in the environment or (ii) perform another iteration of the imagining process.

17. The method of claim 16 , wherein, when the route data further defines the state data that is selected as the input state data at the another iteration of the imagining process.

18. The method of claim 16 , further comprising:

prior to performing any iterations of the imagining process, processing an input comprising the context data prior to performing any iterations of the imagining process using the manager neural network to generate initial route data that defines whether to (i) act in the environment or (ii) perform any iterations of the imagining process; and

performing iterations of the imagining process to imagine consequences of performing actions in the environment only in response to the initial route data defining to perform iterations of the imagining process.

19. The method of claim 13 , wherein after determining to act in the environment, selecting an action to be performed by the agent in response to the current state data using the current state data and the context data after a last iteration of the imagining process comprises

processing the current state data and the context data after the last iteration of the imagining process using the controller neural network configured to generate current action data; and

causing the agent to perform the action that is defined by the current action data in the environment.

20. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations for controlling an agent to perform a specified task in an environment, the operations comprising:

maintaining context data defining a context for planning actions to be performed by the agent;

receiving current state data characterizing a current state of the environment;

until determining to act in the environment in response to the current state data, performing iterations of an imagining process to imagine consequences of performing actions in the environment, wherein performing each iteration of the imagining process comprising:

selecting input state data for the iteration;

processing the input state data for the iteration and the context data using a controller neural network configured to process the input state data and the context data and to output action data defining an action to be performed by the agent when the environment is in a state defined by the input state data;

processing the input state data and the action data using a model neural network configured to process the input state data and the action data to (i) generate predicted state data that characterizes a predicted state that the environment transitions into consequent upon the action defined by the action data being performed while the environment is in the state defined by the input state data and (ii) generate a predicted reward that is a prediction of a reward that would be received consequent upon the action defined by the action data being performed while the environment is in the state defined by the input state data;

updating, using at least the predicted state data and the predicted reward for the iteration, the context data; and

determining whether to (i) act in the environment or (ii) perform another iteration of the imagining process; and

after determining to act in the environment, selecting an action to be performed by the agent in response to the current state data using the current state data and the context data after a last iteration of the imagining process.

Assignments (2)
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 May 5, 2020
From: WIERSTRA, DANIEL PIETER; LI, YUJIA; PASCANU, RAZVAN; BATTAGLIA, PETER WILLIAM; WEBER, THEOPHANE GUILLAUME; BUESING, LARS; REICHERT, DAVID PAUL; VINYALS, ORIOL; HEESS, NICOLAS MANFRED OTTO; RACANIERE, SEBASTIEN HENRI ANDRE
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 052575/0028 →