IP Library Granted Patent US 11,580,429
Granted Patent B2
US 11,580,429 · App. 16/417,580 · Granted Feb 14, 2023

Reinforcement learning using a relational network for generating data encoding relationships between entities in an environment

Inventors: Yujia Li (London, GB); Victor Constant Bapst (London, GB); Vinicius Zambaldi (London, GB); David Nunes Raposo (London, GB); Adam Anthony Santoro (London, GB)
Assignee: DeepMind Technologies Limited
G06N5/043G06F17/16G06N3/04G06N3/08G06N7/005
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,580,429
App. No.
16/417,580
Granted
Feb 14, 2023
Kind
B2
Abstract

A neural network system is proposed, including an input network for extracting, from state data, respective entity data for each a plurality of entities which are present, or at least potentially present, in the environment. The entity data describes the entity. The neural network contains a relational network for parsing this data, which includes one or more attention blocks which may be stacked to perform successive actions on the entity data. The attention blocks each include a respective transform network for each of the entities. The transform network for each entity is able to transform data which the transform network receives for the entity into modified entity data for the entity, based on data for a plurality of the other entities. An output network is arranged to receive data output by the relational network, and use the received data to select a respective action.

Claims (45)

1. A computer-implemented neural network system for reinforcement learning, wherein the neural network system is used to control an agent interacting with an environment to perform a task in an attempt to achieve a specified result, the system comprising:

an input network configured to, at each of a plurality of time steps, receive state data comprising an image in pixel form that characterizes the environment and that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step and extract, based on processing the state data using at least one convolutional layer, respective convolutional features for each of a plurality of spatially distinct cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step;

a relational network configured to generate, for each cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, respective final features for the cell by updating the respective convolutional features for the cell using the respective convolutional features for the other cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, the relational network comprising:

at least one attention block comprising (i) at least one query network configured to generate as output a query vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a query linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, (ii) at least one key network configured to generate a key vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a key linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, and (iii) at least one value network configured to generate a value vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a value linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, each attention block further comprising a respective transform network for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, each transform network being arranged to:

determine a respective attention weight between the cell and each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step by (i) generating respective salience values for each of the plurality of cells based on using at least the query vector that is generated as output by the at least one query network and the key vector that is generated by the at least one key network, and (ii) combining the respective salience values using a non-linear function to form the respective attention weights; and

generate, using the respective attention weights and the value vectors that are generated by the at least one value network, respective modified features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step; and

an output network arranged to receive the respective final features, and use the respective final features to select an action to be performed by the agent in response to receiving the state data at the time step.

2. The neural network system of claim 1 wherein each of the transform networks comprises one or more head sections, and an adaptive network to generate the modified features from the outputs of head sections.

3. The neural network system of claim 2 wherein, denoting the number of head sections in each transform network as h, each attention block is operative to, for each of the h generate h value vectors for each cell using the convolutional features for the plurality of cells, and each head section is operative to form a sum of the value vectors for the plurality of cells weighted by respective attention weights.

4. The neural network system of claim 3 wherein the attention block comprises h value networks, each value network being for generating value vectors from the convolutional features.

5. The neural network system of claim 4 wherein each value network produces value vectors by applying a value linear transform to convolutional features.

6. The neural network system of claim 1 wherein the non-linear function is a soft-max function.

7. The neural network system of claim 1 wherein, denoting the number of head sections in each transform network as h, each attention block comprises h query networks for generating a query vector for each cell from the plurality of cells, and h key networks for generating a key vector for each cell from the plurality of cells,

each head section being arranged to use the query vector for the corresponding cell to generate the salience values for each of the plurality of cells as a dot product of the query vector and the respective key vector.

8. The neural network system of claim 3 wherein each transform network is arranged to concatenate the weighted value vectors, and generate the modified features using the concatenated weighted value vectors.

9. The neural network system of claim 8 wherein each transform network is arranged to add the concatenated weighted value vectors to the convolutional features for the corresponding cell to form a summed vector, and transmit the summed vector to the adaptive network.

10. The neural network system of claim 2 wherein the adaptive network comprises a multi-layer perceptron.

11. The neural network system of claim 1 wherein, for each cell, the respective convolutional features further comprise data indicative of a position of the cell in the input image.

12. The neural network system of claim 1 wherein the output network comprises a max pooling layer for combining the respective final features for the plurality of cells.

13. The neural network system of claim 1 , the input network including at least one recurrent layer.

14. The neural network system of claim 13 in which the recurrent layer is a LSTM layer.

15. The neural network system of claim 14 wherein the LSTM layer is a convolutional LSTM layer.

16. The neural network system of claim 1 wherein the output network comprises a rectified linear unit.

17. The neural network system of claim 1 , wherein the output network is configured to generate a baseline value.

18. The neural network system of claim 1 , wherein the output network is configured to generate a policy defining a distribution of respective probability values for each action of a space of possible actions, and select the action stochastically using the policy.

19. The neural network system of claim 18 wherein the output network is arranged to generate one or more action-related arguments, whereby the agent can perform the selected action based on the action-related arguments.

20. The neural network system of claim 19 wherein the action-related arguments comprise respective values for each of plurality of locations in an array having the same number of dimensions as the environment.

21. A method for controlling an agent interacting with an environment to perform a task in an attempt to achieve a specified result, the method comprising:

receiving, at each of a plurality of time steps, state data comprising an image in pixel form that characterizes an environment and that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step;

extracting, based on processing the state data using at least one convolutional layer, respective convolutional features for each of a plurality of spatially distinct cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step;

generating, for each cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, respective final features for the cell by using a relational neural network configured to update the respective convolutional features for the cell using the respective convolutional features for the other cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, the relational network comprising:

at least one attention block comprising (i) at least one query network configured to generate as output a query vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a query linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, (ii) at least one key network configured to generate a key vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a key linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, and (iii) at least one value network configured to generate a value vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a value linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, each attention block further comprising a plurality of transform networks that correspond to the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step and that are each configured to:

determine a respective attention weight between the cell and each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step by (i) generating respective salience values for each of the plurality of cells based on using at least the query vector that is generated as output by the at least one query network and the key vector that is generated by the at least one key network, and (ii) combining the respective salience values using a non-linear function to form the respective attention weights; and

generate, using the respective attention weights and the value vectors that are generated by the at least one value network, respective modified features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step; and

selecting an action to be performed by the agent in response to the received state data based on the respective final features for each of the cells at the time step.

22. The method of claim 21 , wherein extracting the respective convolutional features comprises:

processing the state data using an input neural network to generate the respective convolutional features for each of the plurality of spatially distinct cells.

23. The method of claim 21 , wherein selecting the action to be performed comprises processing the respective final features using an output neural network comprising a max pooling layer for combining the respective final features for the plurality of cells.

24. 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 implement:

an input network configured to, at each of a plurality of time steps, receive state data comprising an image in pixel form that characterizes the environment and that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step and extract, based on processing the state data using at least one convolutional layer, respective convolutional features for each of a plurality of spatially distinct cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step;

a relational network configured to generate, for each cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, respective final features for the cell by updating the respective convolutional features for the cell using the respective convolutional features for the other cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, the relational network comprising:

at least one attention block comprising (i) at least one query network configured to generate as output a query vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a query linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, (ii) at least one key network configured to generate a key vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a key linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, and (iii) at least one value network configured to generate a value vector for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step based on applying a value linear transformation to the convolutional features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, each attention block further comprising a respective transform network for each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step, each transform network being arranged to:

determine a respective attention weight between the cell and each of the plurality of cells in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step by (i) generating respective salience values for each of the plurality of cells based on using at least the query vector that is generated as output by the at least one query network and the key vector that is generated by the at least one key network, and (ii) combining the respective salience values using a non-linear function to form the respective attention weights; and

generate, using the respective attention weights and the value vectors that are generated by the at least one value network, respective modified features for the cell in the image that is captured by one or more sensors of the agent or one or more sensors that are located separately from the agent in the environment at the time step; and

an output network arranged to receive the respective final features, and use the respective final features to select an action to be performed by the agent in response to receiving the state data at the time step.

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 Jun 18, 2019
From: LI, YUJIA; BAPST, VICTOR CONSTANT; ZAMBALDI, VINICIUS; RAPOSO, DAVID NUNES; SANTORO, ADAM ANTHONY
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 049501/0079 →