IP Library Granted Patent US 11,379,724
Granted Patent B1
US 11,379,724 · App. 17/373,177 · Granted Jul 5, 2022

System and method for domain specific neural network pruning

Inventors: Jiachao Liu (Los Altos, CA); Enxu Yan (Los Altos, CA)
Assignee: MOFFETT TECHNOLOGIES CO., LIMITED
G06N3/082G06N3/04
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,379,724
App. No.
17/373,177
Granted
Jul 5, 2022
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for domain-specific pruning of neural networks are described. An exemplary method includes obtaining a first neural network trained based on a first training dataset; obtaining one or more second training datasets respectively from one or more domains; and training, based on the first neural network and the one or more second training datasets, a second neural network comprising the first neural network and one or more branches extended from the first neural network, wherein the second neural network is applicable for inferencing in the one or more domains, and the training comprises: training the one or more branches based respectively on the one or more second training datasets and an output of the first neural network.

Claims (52)

1. A computer-implemented method, comprising:

obtaining a first neural network trained based on a first training dataset;

obtaining one or more second training datasets respectively from one or more domains; and

training, based on the first neural network and the one or more second training datasets, a second neural network comprising the first neural network and one or more branches extended from the first neural network, wherein the second neural network is applicable for inferencing in the one or more domains, and the training comprises an iterative process comprising one or more iterations, one iteration comprising:

pruning the second neural network to reach a sparsity ratio;

training the one or more branches of the pruned second neural network based respectively on the one or more second training datasets and an output of the first neural network until an objective function converges; and

increasing the sparsity ratio for a next iteration.

2. The method of claim 1 , wherein the one or more branches respectively correspond to the one or more domains, and each of the one or more branches comprises one or more layers trained based on a second training dataset from a corresponding domain.

3. The method of claim 1 , further comprising pruning the second neural network before deploying into the one or more domains for inferencing.

4. The method of claim 1 , wherein the iterative process stops when an exit condition is met, the exist condition comprising at least one of the following: a target number of iterations, and the increased sparsity ratio has reached a target sparsity ratio.

5. The method of claim 1 , wherein each of the one or more second training datasets comprises a plurality of supervised data records collected from a corresponding domain.

6. The method of claim 1 , further comprising:

applying the second neural network for object detections in the one or more domains, wherein the application comprises:

receiving an object detection request comprising a domain identifier;

determining one of the one or more branches in the second neural network based on the domain identifier; and

performing object detection based on the second neural network through the one determined branch.

7. The method of claim 1 , wherein the one or more second training datasets comprise images collected by one or more cameras representing the one or more domains, and each of the images comprises a camera identifier and at least one label.

8. The method of claim 1 , wherein the training the one or more branches comprises:

for each of the one or more second training datasets, extending the first neural network by creating a branch with one or more layers and training the branch based on the second training dataset.

9. The method of claim 1 , further comprising:

pruning the first neural network before the training of the second neural network;

wherein the training of the second neural network comprises:

training the second neural network based on the pruned first neural network and the one or more second training datasets.

10. A system comprising one or more processors and one or more non-transitory computer-readable memories coupled to the one or more processors and configured with instructions executable by the one or more processors to cause the system to perform operations comprising:

obtaining a first neural network trained based on a first training dataset;

obtaining one or more second training datasets respectively from one or more domains, wherein the one or more second training datasets comprise images collected by one or more cameras representing the one or more domains, and each of the images comprises a camera identifier and at least one label; and

training, based on the first neural network and the one or more second training datasets, a second neural network comprising the first neural network and one or more branches extended from the first neural network, wherein the second neural network is applicable for inferencing in the one or more domains, and the training comprises:

training the one or more branches based respectively on the one or more second training datasets and an output of the first neural network.

11. The system of claim 10 , wherein the one or more branches respectively correspond to the one or more domains, and each of the one or more branches comprises one or more layers trained based on a second training dataset from a corresponding domain.

12. The system of claim 10 , wherein the operations further comprise pruning the second neural network before deploying into the one or more domains for inferencing.

13. The system of claim 10 , wherein the training the second neural network comprises an iterative process comprising one or more iterations, one iteration comprising:

pruning the second neural network to reach a sparsity ratio; and

further training the pruned second neural network based on the one or more second training datasets until an objective function converges;

increasing the sparsity ratio for a next iteration.

14. The system of claim 13 , wherein the iterative process stops when an exit condition is met, the exist condition comprising at least one of the following: a target number of iterations, and the increased sparsity ratio has reached a target sparsity ratio.

15. A non-transitory computer-readable storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

obtaining a first neural network trained based on a first training dataset;

obtaining one or more second training datasets respectively from one or more domains; and

training, based on the first neural network and the one or more second training datasets, a second neural network comprising the first neural network and one or more branches extended from the first neural network, wherein the second neural network is applicable for inferencing in the one or more domains, and the training comprises: training the one or more branches based respectively on the one or more second training datasets and an output of the first neural network;

receiving an object detection request comprising a domain identifier;

determining one of the one or more branches in the second neural network based on the domain identifier; and

performing object detection based on the second neural network through the one determined branch.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more branches respectively correspond to the one or more domains, and each of the one or more branches comprises one or more layers trained based on a second training dataset from a corresponding domain.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the operations further comprise pruning the second neural network before deploying into the one or more domains for inferencing.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the training and the pruning the second neural network are an iterative process comprising one or more iterations, each iteration comprising:

pruning the second neural network to reach a sparsity ratio; and

further training the pruned second neural network based on the one or more second training datasets until an objective function converges;

increasing the sparsity ratio; and

further pruning the further trained second neural network to reach the increased sparsity ratio.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the iterative process stops when an exit condition is met, the exist condition comprising at least one of the following: a target number of iterations, and the increased sparsity ratio has reached a target sparsity ratio.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the training the one or more branches comprises:

for each of the one or more second training datasets, extending the first neural network by creating a branch with one or more layers and training the branch based on the second training dataset.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2022
From: MOFFETT TECHNOLOGIES CO., LIMITED
To: MOFFETT INTERNATIONAL CO., LIMITED
Reel/Frame 060462/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2021
From: LIU, JIACHAO; YAN, ENXU
To: MOFFETT TECHNOLOGIES CO., LIMITED
Reel/Frame 056826/0453 →
Continuity (1)
Continuation 17125490 · Dec 17, 2020