IP Library Granted Patent US 12,240,117
Granted Patent B2
US 12,240,117 · App. 18/157,919 · Granted Mar 4, 2025

Optimizing policy controllers for robotic agents using image embeddings

Inventors: Yevgen Chebotar (Los Angeles, CA); Pierre Sermanet (Palo Alto, CA); Harrison Lynch (San Francisco, CA)
Assignee: Google LLC
B25J9/163B25J9/1664B25J9/1697G05B13/0205G05B13/027G06N3/084G06N20/00
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,240,117
App. No.
18/157,919
Granted
Mar 4, 2025
Kind
B2
Abstract

There are provided systems, methods, and apparatus, for optimizing a policy controller to control a robotic agent that interacts with an environment to perform a robotic task. One of the methods includes optimizing the policy controller using a neural network that generates numeric embeddings of images of the environment and a demonstration sequence of demonstration images of another agent performing a version of the robotic task.

Claims (48)

1. A method of optimizing a policy controller used to select actions to be performed by a robotic agent interacting with an environment to perform a specified task, the method comprising:

obtaining a demonstration sequence of demonstration images of another agent performing a version of the specified task;

for each respective demonstration image in the demonstration sequence, generating a respective demonstration embedding of the respective demonstration image by processing the respective demonstration image using a time contrastive neural network that has been trained on time-sequenced images of a training environment to minimize a loss that includes a difference between embeddings generated for co-occurring input images captured from different viewpoints or by different modalities;

obtaining a robot sequence of robot images of the robotic agent performing the specified task by performing actions selected using a current policy controller, wherein each robot image in the robot sequence corresponds to a respective demonstration image in the demonstration sequence;

for each respective robot image in the robot sequence, generating a respective robot embedding for the respective robot image by processing the respective robot image using the same time contrastive neural network that has been trained; and

updating the current policy controller by performing an iteration of a reinforcement learning technique to optimize a reward function that depends on, for each demonstration image, a distance between (i) the demonstration embedding that has been generated by processing the demonstration image using the time contrastive neural network and (ii) the robot embedding that has been generated by processing the corresponding robot image using the same time contrastive neural network.

2. The method of claim 1 , wherein the other agent is a human demonstrator.

3. The method of claim 1 , wherein the other agent is a different robotic agent.

4. The method of claim 3 , wherein the policy controller is a time-varying Gaussian controller.

5. The method of claim 1 , wherein the policy controller is a trajectory-centric controller.

6. The method of claim 1 , wherein the reinforcement learning technique is a technique that combines model-based and model-free algorithms.

7. The method of claim 1 , wherein the reward function includes a Euclidean distance term that is a square of the Euclidean distance between the demonstration embedding of the demonstration image and the robot embedding of the corresponding robot image.

8. The method of claim 1 , wherein the reward function includes a Huber-style loss term that is a square root of a sum between a constant value and a square of the Euclidean distance between the demonstration embedding of the demonstration image and the robot embedding of the corresponding robot image.

9. The method of claim 1 , wherein the reward function satisfies:

R ( v t ,w t )=−α∥ w t −v t ∥ 2 2 −β√{square root over (γ+∥ w t −v t ∥ 2 2 )},

wherein vt is the demonstration embedding of the demonstration image in a t-th position in the demonstration sequence, wt is the robot embedding of the robot image in a t-th position in the robot sequence, α and β are fixed weighting parameters, and γ is a small positive constant value.

10. The method of claim 1 , wherein the images in the demonstration sequence are captured from a different viewpoint than the images in the robot sequence.

11. The method of claim 10 , wherein images in the demonstration sequence are captured from a third-party view relative to the other agent and the images in the robot sequence are captured from a first-party view relative to the robotic agent.

12. The method of claim 1 , wherein the corresponding robot image is the robot image that is in the same position in the robot sequence as the demonstration image is in the demonstration sequence.

13. The method of claim 1 , wherein the time contrastive neural network has a plurality of network parameters and wherein the method further comprises:

training the time contrastive neural network to generate numeric embeddings, the training comprising:

obtaining a first image of the environment captured by a first modality;

obtaining a second image that is co-occurring with the first image and that is captured by a second, different modality;

obtaining a third image captured by the first modality that is not co-occurring with the first image;

determining a gradient of a triplet loss that uses the first image as an anchor example, the second image as a positive example, and the third image as a negative example; and

updating current values of the network parameters using the gradient of the triplet loss.

14. The method of claim 13 , wherein the first modality is a camera at a first viewpoint, and wherein the second modality is a camera at a second, different viewpoint.

15. The method of claim 13 , wherein the third image is within a predetermined time window of the first image.

16. The method of claim 15 , wherein obtaining the third image comprises:

selecting an image that is a hard negative relative to the first image from the images captured by the first modality that are within the predetermined time window of the first image.

17. The method of claim 13 , wherein determining the gradient of the triplet loss comprises:

processing the first image using the time contrastive neural network in accordance with the current values of the network parameters to generate a first embedding;

processing the second image using the time contrastive neural network in accordance with the current values of the network parameters to generate a second embedding;

processing the third image using the time contrastive neural network in accordance with the current values of the network parameters to generate a third embedding; and

determining the triplet loss from (i) a first distance between the first embedding and the second embedding and (ii) a second distance between the first embedding and the third embedding.

18. The method of claim 1 , further comprising controlling the robotic agent using the optimized policy controller.

19. 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 optimizing a policy controller used to select actions to be performed by a robotic agent interacting with an environment to perform a specified task, the operations comprising:

obtaining a demonstration sequence of demonstration images of another agent performing a version of the specified task;

for each respective demonstration image in the demonstration sequence, generating a respective demonstration embedding of the respective demonstration image by processing the respective demonstration image using a time contrastive neural network that has been trained on time-sequenced images of a training environment to minimize a loss that includes a difference between embeddings generated for co-occurring input images captured from different viewpoints or by different modalities;

obtaining a robot sequence of robot images of the robotic agent performing the specified task by performing actions selected using a current policy controller, wherein each robot image in the robot sequence corresponds to a respective demonstration image in the demonstration sequence;

for each respective robot image in the robot sequence, generating a respective robot embedding for the respective robot image by processing the respective robot image using the same time contrastive neural network; and

updating the current policy controller by performing an iteration of a reinforcement learning technique to optimize a reward function that depends on, for each demonstration image, a distance between (i) the demonstration embedding that has been generated by processing the demonstration image using the time contrastive neural network and (ii) the robot embedding that has been generated by processing the corresponding robot image using the same time contrastive neural network.

20. 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 for optimizing a policy controller used to select actions to be performed by a robotic agent interacting with an environment to perform a specified task, the operations comprising:

obtaining a demonstration sequence of demonstration images of another agent performing a version of the specified task;

for each respective demonstration image in the demonstration sequence, generating a respective demonstration embedding of the respective demonstration image by processing the respective demonstration image using a time contrastive neural network that has been trained on time-sequenced images of a training environment to minimize a loss that includes a difference between embeddings generated for co-occurring input images captured from different viewpoints or by different modalities;

obtaining a robot sequence of robot images of the robotic agent performing the specified task by performing actions selected using a current policy controller, wherein each robot image in the robot sequence corresponds to a respective demonstration image in the demonstration sequence;

for each respective robot image in the robot sequence, generating a respective robot embedding for the respective robot image by processing the respective robot image using the same time contrastive neural network; and

updating the current policy controller by performing an iteration of a reinforcement learning technique to optimize a reward function that depends on, for each demonstration image, a distance between (i) the demonstration embedding that has been generated by processing the demonstration image using the time contrastive neural network and (ii) the robot embedding that has been generated by processing the corresponding robot image using the same time contrastive neural network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2023
From: CHEBOTAR, YEVGEN; SERMANET, PIERRE; LYNCH, HARRISON
To: GOOGLE LLC
Reel/Frame 062452/0630 →
Continuity (3)
Continuation 16649596
Provisional Application 62561133 · Sep 20, 2017
Related Publication 20230150127A1 · May 18, 2023
References Cited (63)
US 10832062B1 · Evans et al. · 2020 [cited by applicant]
US 20100222924A1 · Gienger et al. · 2010 [cited by applicant]
US 20160180151A1 · Philbin · 2016 [cited by examiner]
US 20170024643A1 · Lillicrap et al. · 2017 [cited by applicant]
US 20180144518A1 · Vlassis et al. · 2018 [cited by applicant]
US 20180250826A1 · Jiang et al. · 2018 [cited by applicant]
US 20180260414A1 · Soldevila · 2018 [cited by applicant]
US 20200057935A1 · Wang et al. · 2020 [cited by applicant]
Srinivas S, Sarvadevabhatla RK, Mopuri KR, Prabhu N, Kruthiventi SSS and Babu RV (2016) A Taxonomy of Deep Convolutional Neural Nets for Computer Vision. Front. Robot. AI 2:36. doi: 10.3389/frobt.2015.00036 (Year: 2016). [cited by examiner]
Abbeel et al., “Apprenticeship learning via inverse reinforcement learning”, Proceedings of the 21st International Conference on Machine Learning, 2004, p. 1. [cited by applicant]
Argall et al., “A survey of robot learning from demonstration”, Robotics and Autonomous Systems, 2009, 57(5):469-483. [cited by applicant]
Ayter et al., “Soundnet: Learning sound representations from unlabeled videos”, Advances in Neural Information Processing Systems, 2016, pp. 892-900. [cited by applicant]
Calinon et al., “On learning, representing and generalizing a task in a humanoid robot”, IEEE Transactions on Systems, Man, and Cybernetics, Part B, 2007, 37(2):286-298. [cited by applicant]
Chebotar et al., “Combining model-based and model-free updates for trajectory-centric reinforcement learning”, Proceedings of the 34th International Conference on Machine Learning—vol. 70, pp. 703-711. [cited by applicant]
Deng et al., “ImageNet: A large-scale hierarchical image database”, IEEE Conference on Computer Vision and Pattern Recognition, 2009, pp. 248-255. [cited by applicant]
Doersch et al., “Unsupervised visual representation learning by context prediction”, Proceedings of the IEEE International Conference on Computer Vision, 2015, pp. 1422-1430. [cited by applicant]
Dragan et al., “Online customization of teleoperation interfaces”, 2012 IEEE Ro-Man: The 21st IEEE International Symposium on Robot and Human Interactive Communication, 2012, pp. 919-924. [cited by applicant]
Duan et al., “One-shot imitation learning”, Advances in Neural Information Processing Systems, 2017, pp. 1087-1098. [cited by applicant]
Dumoulin et al., “Adversarially learned inference”, arXiv:1606.00704v3, Feb. 2017, 18 pages. [cited by applicant]
EP Office Action in European Application No. 18783292.8, dated May 14, 2021, 10 pages. [cited by applicant]
Fernando et al., “Self-supervised video representation learning with odd-one-out networks”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017, pp. 3636-3645. [cited by applicant]
Finn et al., “Learning visual feature spaces for robotic manipultaion with deep spatial autoencoders”, arXiv:1509.06113v1, Sep. 2015, 8 pages. [cited by applicant]
github.com [online], “Inception v3,” May 26, 2020, retrieved on Nov. 15, 2022, retrived from URL<https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_v3.py>, 13 pages. [cited by applicant]
Goroshin et al., “Unsupervised learning of spatiotemporally conherent metrics”, Proceedings of the IEEE International Conference on Computer Vision, 2015, pp. 4086-4093. [cited by applicant]
Ijspeert et al., “Movement imitation with nonlinear dynamical systems in humanoid robots”, Proceedings of the 2002 IEEE International Conference on Robotics and Automation (Cat No. 02CH37292), 2002, 2:1398-1403. [cited by applicant]
IN Office Action in Indian Application No. 201927046938, dated Jul. 26, 2021, 7 pages (with English translation). [cited by applicant]
International Preliminary Report on Patentability in International Application No. PCT/US2018/052078, dated Mar. 24, 2020, 11 pages. [cited by applicant]
International Search Report and Written Opinion in International Application No. PCT/US2018/052078, dated Dec. 14, 2018, 17 pages. [cited by applicant]
JP Office Action in Japanese Application No. 2019-567999, dated Apr. 12, 2021, 5 pages (with English translation). [cited by applicant]
JP Office Action in Japanese Application No. 2019-567999, dated Nov. 15, 2021, 4 pages (with English translation). [cited by applicant]
Kober et al., “Reinforcement learning in robotics: a survey”, International Journal of Robotics Research, Aug. 2013, pp. 1238-1274. [cited by applicant]
Kumar et al., “Learning local image descriptors with deep siamese and triplet convolutional networks by minimising global loss functions”, IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 5385-5394. [cited by applicant]
Levine et al., “Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics,” Advances in Neural Information Processing Systems, 2014, 9 pages. [cited by applicant]
Liu et al., “Imitation from Observation: Learning to imitate behaviors from Raw Video via Context Translation”, arXiv, Jul. 11, 2017, 21 pages. [cited by applicant]
Liu et al., “Imitation from Observation: Learning to imitate behaviors from Raw Video via Context Translation”, Electrical Engineering and Computer Sciences University of California at Berkeley, May 2018, 11 pages. [cited by applicant]
Mathieu et al., “Deep Multi Scale Video Prediction Beyond Mean Square Error”, arXiv:1511.05440v6, Feb. 2016, 14 pages. [cited by applicant]
Misra et al., “Shuffle and learn: Unsupervised learning using temporal order verification,” arXiv, Jul. 26, 2016, 21 pages. [cited by applicant]
Misra et al., “Unsupervised learning using sequential verification for action recognition”, arXiv:1603.08561v2, Jul. 2016, 21 pages. [cited by applicant]
Moo et al., “LIFT: Learned invariant feature transform”, European Conference on Computer Vision, Springer, Cham. 2016, pp. 467-483. [cited by applicant]
Mori et al., “Pose Embeddings: A deep architecture for learning to match human poses”, arXiv:1507.00302v1, Jul. 2015, 9 pages. [cited by applicant]
Mulling et al., “Learning to select and generalize striking movements in robot table tennis”, The International Journal of Robotics Research, 2013, 32(3):263-279. [cited by applicant]
Na et al., “Encoding video and label priors for multi-label video classification on YouTube-8M dataset,” arXiv, Jul. 12, 2017, 8 pages. [cited by applicant]
Owens et al., “Visually indicated sounds”, IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 2405-2413. [cited by applicant]
Pastor et al., “Learning and generalization of motor skills by learning from demonstration”, 2009 IEEE International Conference on Robotics and Automation, 2009, pp. 763-768. [cited by applicant]
Pathak et al., “Learning features by watching objects move”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017, pp. 2701-2710. [cited by applicant]
Paulin et al., “Local Convolutional Features with Unsupervised Training for Image Retrieval”, IEEE International Conference on Computer Vision, 2015, pp. 91-99. [cited by applicant]
Pomerleau et al., “Efficient training of artifical neural networks for autonomous navigation”, Neural Computation, 1991, 3(1):88-97. [cited by applicant]
Ratliff et al., “Imitation learning for locomotion and manipulation”, 2007 7th IEEE-RAS International Conference on Humanoid Robots, 2007, pp. 392-397. [cited by applicant]
Ross et al., “A Reduction of Imitation Learning and Structured Prediction to No Regret Online Learning”, Proceedings of the 14th International Conference on Artificial Intelligence and Statistics, 2011, pp. 627-635. [cited by applicant]
Schroff et al., “Facenet: A unified embedding for face recognition and clustering”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 815-823. [cited by applicant]
Sermanet et al., “Time-contrastive networks: Self-supervised learning from video”, 2018 IEEE International Conference on Robotics and Automation (ICRA), pp. 1134-1141. [cited by applicant]
Sermanet et al., “Unsupervised perceptual rewards for imitation learning”, arXiv:1612.06699v3, Jun. 2017, 15 pages. [cited by applicant]
Simo-Serra et al., “Discriminative learning of deep convolutional deature point descriptors”, Proceedings of the IEEE International Conference on Computer Vision, 2015, pp. 118-126. [cited by applicant]
Stadie et al., “Third Person Imitation Learning”, arXiv:1703.01703v2, Sep. 2019, 16 pages. [cited by applicant]
Stewart et al., “Label free supervision of neural networks with physics and domain knowledge”, Thirty-first AAAI Conference on Artificial Intelligence, 2017, 7 pages. [cited by applicant]
Szegedy et al., “Rethinking the inception architecture for computer vision”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 2818-2826. [cited by applicant]
Vincent et al., “Extracting and composing robust features with denoising autoencoders”, Proceedings of the 25th International Conference on Machine Learning, 2008, pp. 1096-1103. [cited by applicant]
Wang et al., “Unsupervised learning of visual representations using videos”, Proceedings of the IEEE International Conference on Computer Vision, 2015, pp. 2794-2802. [cited by applicant]
Whitney et al., “Understanding visual concepts with continuation learning”, arXiv:1602.06822v1, Feb. 2016, 4 pages. [cited by applicant]
Wiskott et al., “Slow feature analysis: Unsupervised learning of invariances”, Neural Computation, 2002, 14(4):715-770. [cited by applicant]
Zagoruyko et al., “Learning to compare image patches via convolutional neural networks”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 4353-4361. [cited by applicant]
Zhang et al., “Split-Brain autoencoders: Unsupervised learning by cross channel prediction”, IEEE Conference on Computer Vision and Pattern Recognition, 2017, pp. 1058-1067. [cited by applicant]
Tong et al., “Research on Application of Reinforcement Learning in Robot Path—Planning,” Computer Simulation True, Dec. 2013, pp. 351-364 (with English Abstract). [cited by applicant]
Cited By (14)
US 12,365,094 US 12,403,611 US 12,420,434 US 12,539,618 US 12,578,733 US 12,605,824 US 12,611,766 US 12,611,767 US 12,638,859 US 12,649,246 US 12,697,720 US 12,697,741 US 12,707,556 US 12,709,029