IP Library Granted Patent US 11,712,799
Granted Patent B2
US 11,712,799 · App. 17/020,294 · Granted Aug 1, 2023

Data-driven robot control

Inventors: Serkan Cabi (London, GB); Ziyu Wang (St. Albans, GB); Alexander Novikov (London, GB); Ksenia Konyushkova (London, GB); Sergio Gomez Colmenarejo (London, GB); Scott Ellison Reed (New York, NY); Misha Man Ray Denil (London, GB); Jonathan Karl Scholz (London, GB); Oleg O. Sushkov (London, GB); Rae Chan Jeong (London, GB); David Barker (Reading, GB); David Budden (London, GB); Mel Vecerik (London, GB); Yusuf Aytar (London, GB); Joao Ferdinando Gomes de Freitas (London, GB)
Assignee: DeepMind Technologies Limited
B25J9/161B25J9/163B25J9/1661
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,712,799
App. No.
17/020,294
Granted
Aug 1, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for data-driven robotic control. One of the methods includes maintaining robot experience data; obtaining annotation data; training, on the annotation data, a reward model; generating task-specific training data for the particular task, comprising, for each experience in a second subset of the experiences in the robot experience data: processing the observation in the experience using the trained reward model to generate a reward prediction, and associating the reward prediction with the experience; and training a policy neural network on the task-specific training data for the particular task, wherein the policy neural network is configured to receive a network input comprising an observation and to generate a policy output that defines a control policy for a robot performing the particular task.

Claims (51)

1. A computer-implemented method comprising:

maintaining robot experience data characterizing robot interactions with an environment, the robot experience data comprising a plurality of experiences that each comprise an observation and an action performed by a respective robot in response to the observation;

obtaining annotation data that assigns, to each experience in a first subset of the experiences in the robot experience data, a respective task-specific reward for a particular task, wherein the first subset of experiences comprises experiences from a plurality of different task episodes of the particular task;

training, on the annotation data, a reward model that receives as input an input observation and generates as output a reward prediction that is a prediction of a task-specific reward for the particular task that should be assigned to the input observation, wherein training the reward model comprises training the reward model to optimize a loss function that includes a term that measures, for a given pair of experiences from a same task episode of the plurality of different task episodes, (i) a difference in a respective reward prediction generated by the reward model for a first observation in a first experience in the given pair and a respective reward prediction generated by the reward model for a second observation in a second experience in the given pair and (ii) a difference in a respective task-specific reward for the first experience in the given pair and a respective task-specific reward for the second experience in the given pair;

generating task-specific training data for the particular task that associates each of a plurality of experiences with a task-specific reward for the particular task, comprising, for each experience in a second subset of the experiences in the robot experience data:

processing the observation in the experience using the trained reward model to generate a reward prediction, and

associating the reward prediction with the experience; and

training a policy neural network on the task-specific training data for the particular task, wherein the policy neural network is configured to receive a network input comprising an observation and to generate a policy output that defines a control policy for a robot performing the particular task.

2. The method of claim 1 , further comprising:

controlling a robot while the robot performs the particular task using the trained policy neural network.

3. The method of claim 2 , further comprising:

obtaining experiences generated as a result of controlling the robot using the policy neural network to perform the particular task; and

adding the experiences to the robot experience data.

4. The method of claim 1 , further comprising:

providing data specifying the trained policy neural network for use in controlling a robot while the robot performs the particular task.

5. The method of claim 1 , wherein the robot experience data comprises data collected from interactions of a plurality of robots while performing a plurality of different tasks.

6. The method of claim 5 , wherein the second subset of experience data was collected as a result of a robot performing one or more tasks that are different from the particular task.

7. The method of claim 1 , wherein the experiences in the robot experience data are not associated with any rewards for any of the plurality of different tasks.

8. The method of claim 1 , wherein training the policy neural network comprising training the policy neural network using an off-policy reinforcement learning technique.

9. The method of claim 1 , wherein the first subset of experience data comprises demonstration experiences collected as a robot performs one or more episodes of the particular task.

10. The method of claim 9 , wherein the robot is controlled by a user while performing the one or more episodes of the particular task.

11. The method of claim 1 , wherein obtaining annotation data comprises:

providing, for presentation to a user, a representation of one or more of the experiences in the first subset of experience data; and

obtaining, from the user, inputs defining the rewards for the one or more experiences.

12. The method of claim 1 , wherein the loss function includes another term that measures, for a given experience that is successful according to the respective task-specific reward for the experience, a difference between a prediction success threshold value and a respective predicted reward generated by a reward model for a given observation in the given experience.

13. 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 comprising:

maintaining robot experience data characterizing robot interactions with an environment, the robot experience data comprising a plurality of experiences that each comprise an observation and an action performed by a respective robot in response to the observation;

obtaining annotation data that assigns, to each experience in a first subset of the experiences in the robot experience data, a respective task-specific reward for a particular task, wherein the first subset of experiences comprises experiences from a plurality of different task episodes of the particular task;

training, on the annotation data, a reward model that receives as input an input observation and generates as output a reward prediction that is a prediction of a task-specific reward for the particular task that should be assigned to the input observation, wherein training the reward model comprises training the reward model to optimize a loss function that includes a term that measures, for a given pair of experiences from a same task episode of the plurality of different task episodes, (i) a difference in a respective reward prediction generated by the reward model for a first observation in a first experience in the given pair and a respective reward prediction generated by the reward model for a second observation in a second experience in the given pair and (ii) a difference in a respective task-specific reward for the first experience in the given pair and a respective task-specific reward for the second experience in the given pair;

generating task-specific training data for the particular task that associates each of a plurality of experiences with a task-specific reward for the particular task, comprising, for each experience in a second subset of the experiences in the robot experience data:

processing the observation in the experience using the trained reward model to generate a reward prediction, and

associating the reward prediction with the experience; and

training a policy neural network on the task-specific training data for the particular task, wherein the policy neural network is configured to receive a network input comprising an observation and to generate a policy output that defines a control policy for a robot performing the particular task.

14. The system of claim 13 , the operations further comprising:

controlling a robot while the robot performs the particular task using the trained policy neural network.

15. The system of claim 14 , the operations further comprising:

obtaining experiences generated as a result of controlling the robot using the policy neural network to perform the particular task; and

adding the experiences to the robot experience data.

16. The system of claim 13 , the operations further comprising:

providing data specifying the trained policy neural network for use in controlling a robot while the robot performs the particular task.

17. The system of claim 13 , wherein the robot experience data comprises data collected from interactions of a plurality of robots while performing a plurality of different tasks.

18. The system of claim 17 , wherein the second subset of experience data was collected as a result of a robot performing one or more tasks that are different from the particular task.

19. The system of claim 13 , wherein the first subset of experience data comprises demonstration experiences collected as a robot performs one or more episodes of the particular task.

20. 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 comprising:

maintaining robot experience data characterizing robot interactions with an environment, the robot experience data comprising a plurality of experiences that each comprise an observation and an action performed by a respective robot in response to the observation;

obtaining annotation data that assigns, to each experience in a first subset of the experiences in the robot experience data, a respective task-specific reward for a particular task, wherein the first subset of experiences comprises experiences from a plurality of different task episodes of the particular task;

training, on the annotation data, a reward model that receives as input an input observation and generates as output a reward prediction that is a prediction of a task-specific reward for the particular task that should be assigned to the input observation, wherein training the reward model comprises training the reward model to optimize a loss function that includes a term that measures, for a given pair of experiences from a same task episode of the plurality of different task episodes, (i) a difference in a respective reward prediction generated by the reward model for a first observation in a first experience in the given pair and a respective reward prediction generated by the reward model for a second observation in a second experience in the given pair and (ii) a difference in a respective task-specific reward for the first experience in the given pair and a respective task-specific reward for the second experience in the given pair;

generating task-specific training data for the particular task that associates each of a plurality of experiences with a task-specific reward for the particular task, comprising, for each experience in a second subset of the experiences in the robot experience data:

processing the observation in the experience using the trained reward model to generate a reward prediction, and

associating the reward prediction with the experience; and

training a policy neural network on the task-specific training data for the particular task, wherein the policy neural network is configured to receive a network input comprising an observation and to generate a policy output that defines a control policy for a robot performing the particular task.

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 Oct 28, 2020
From: CABI, SERKAN; WANG, ZIYU; NOVIKOV, ALEXANDER; KONYUSHKOVA, KSENIA; COLMENAREJO, SERGIO GOMEZ; REED, SCOTT ELLISON; DENIL, MISHA MAN RAY; SCHOLZ, JONATHAN KARL; SUSHKOV, OLEG O.; JEONG, RAE CHAN; BARKER, DAVID; BUDDEN, DAVID; VECERIK, MEL; AYTAR, YUSUF; GOMES DE FREITAS, JOAO FERDINANDO
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 054193/0582 →