IP Library Granted Patent US 11,853,894
Granted Patent B2
US 11,853,894 · App. 17/344,758 · Granted Dec 26, 2023

Meta-learning for multi-task learning for neural networks

Inventors: Andrew Rabinovich (San Francisco, CA); Vijay Badrinarayanan (Mountain View, CA); Srivignesh Rajendran (San Francisco, CA); Chen-Yu Lee (Sunnyvale, CA)
Assignee: Magic Leap, Inc.
G06N3/084G06F18/217G06N3/04G06N3/044G06N3/047
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,853,894
App. No.
17/344,758
Granted
Dec 26, 2023
Kind
B2
Abstract

Methods and systems for meta-learning are described for automating learning of child tasks with a single neural network. The order in which tasks are learned by the neural network can affect performance of the network, and the meta-learning approach can use a task-level curriculum for multi-task training. The task-level curriculum can be learned by monitoring a trajectory of loss functions during training. The meta-learning approach can learn to adapt task loss balancing weights in the course of training to get improved performance on multiple tasks on real world datasets. Advantageously, learning to dynamically balance weights among different task losses can lead to superior performance over the use of static weights determined by expensive random searches or heuristics. Embodiments of the meta-learning approach can be used for computer vision tasks or natural language processing tasks, and the trained neural networks can be used by augmented or virtual reality devices.

Claims (40)

1. A system for training a neural network to learn a set of tasks, the system comprising:

non-transitory memory configured to

store: executable instructions;

and

a child network for learning a plurality of tasks, wherein the child network is associated with a loss function for the plurality of tasks and a task weight is assigned to each task of the plurality of tasks;

a hardware processor in communication with the non-transitory memory, the hardware processor programed by the executable instructions to:

determine a first child network loss associated with the loss function of the child network;

determine an updated task weight for each task of the plurality of tasks based on the first child network loss;

determine an updated child network based on the updated task weight for each task of the plurality of tasks;

determine a second child network loss associated with the loss function of the updated child network; and

determine a second updated task weight for each task of the plurality of tasks based at least on the second child network loss.

2. The system of claim 1 , wherein the hardware processor is further programmed to learn a relationship between the first and second child network loss.

3. The system of claim 2 , wherein the hardware processor is programmed to determine the second updated task weight based on at least the relationship between the first and second child network loss.

4. The system of claim 1 , wherein the plurality of tasks comprise at least semantic segmentation, depth prediction, and surface normal estimation.

5. The system of claim 1 , wherein the plurality of tasks comprises a regression task, a classification task, or a combination thereof.

6. The system of claim 5 wherein the classification task comprises perception, face recognition, visual search, gesture recognition, semantic segmentation, object detection, room layout estimation, cuboid detection, lighting detection, simultaneous localization and mapping, relocalization, speech processing, speech recognition, natural language processing, or a combination.

7. The system of claim 1 , wherein the loss function comprises a weighted linear combination of losses associated with the plurality of tasks based on task weights corresponding to the plurality of tasks.

8. A method implemented by a system of one or more processors, the method comprising:

determining a first child network loss associated with a loss function of a child network, wherein the child network is configured for learning a plurality of tasks, wherein the child network is associated with the loss function for the plurality of tasks and a task weight is assigned to each task of the plurality of tasks;

determining an updated task weight for each task of the plurality of tasks based on the first child network loss;

determining an updated child network based on the updated task weight for each task of the plurality of tasks;

determining a second child network loss associated with the loss function of the updated child network; and

determining a second updated task weight for each task of the plurality of tasks based at least on the second child network loss.

9. The method of claim 8 , wherein the method further comprises determining a relationship between the first and second child network loss.

10. The method of claim 9 , wherein determining the second updated task weight is based on at least the relationship between the first and second child network loss.

11. The method of claim 8 , wherein the plurality of tasks comprise at least semantic segmentation, depth prediction, and surface normal estimation.

12. The method of claim 8 , wherein the plurality of tasks comprises a regression task, a classification task, or a combination thereof.

13. The method of claim 12 , wherein the classification task comprises perception, face recognition, visual search, gesture recognition, semantic segmentation, object detection, room layout estimation, cuboid detection, lighting detection, simultaneous localization and mapping, relocalization, speech processing, speech recognition, natural language processing, or a combination.

14. The method of claim 8 , wherein the loss function comprises a weighted linear combination of losses associated with the plurality of tasks based on task weights corresponding to the plurality of tasks.

15. Non-transitory computer storage media storing instructions which when executed by a system of one or more processors, cause the system to perform operations comprising:

determining a first child network loss associated with a loss function of a child network, wherein the child network is configured for learning a plurality of tasks, wherein the child network is associated with the loss function for the plurality of tasks and a task weight is assigned to each task of the plurality of tasks;

determining an updated task weight for each task of the plurality of tasks based on the first child network loss;

determining an updated child network based on the updated task weight for each task of the plurality of tasks;

determining a second child network loss associated with the loss function of the updated child network; and

determining a second updated task weight for each task of the plurality of tasks based at least on the second child network loss.

16. The computer storage media of claim 15 , wherein the operations further comprise determining a relationship between the first and second child network loss.

17. The computer storage media of claim 16 , wherein determining the second updated task weight is based on at least the relationship between the first and second child network loss.

18. The computer storage media of claim 15 , wherein the plurality of tasks comprise at least semantic segmentation, depth prediction, and surface normal estimation.

19. The computer storage media of claim 15 , wherein the plurality of tasks comprises a regression task, a classification task, or a combination thereof.

20. The computer storage media of claim 19 , wherein the classification task comprises perception, face recognition, visual search, gesture recognition, semantic segmentation, object detection, room layout estimation, cuboid detection, lighting detection, simultaneous localization and mapping, relocalization, speech processing, speech recognition, natural language processing, or a combination.

Assignments (2)
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073388/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2022
From: RABINOVICH, ANDREW; BADRINARAYANAN, VIJAY; RAJENDRAN, SRIVIGNESH; LEE, CHEN-YU
To: MAGIC LEAP, INC.
Reel/Frame 059088/0441 →