IP Library Granted Patent US 10,936,913
Granted Patent B2
US 10,936,913 · App. 16/357,778 · Granted Mar 2, 2021

Automatic filter pruning technique for convolutional neural networks

Inventors: Heming Yao (Ann Arbor, MI); Kayvan Najarian (Ann Arbor, MI); Jonathan Gryak (Ann Arbor, MI); Wei Zhang (Westland, MI)
Assignees: THE REGENTS OF THE UNIVERSITY OF MICHIGAN; DENSO International America, Inc.
G06K9/6262G06K9/00845G06N3/04G06N3/082
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 10,936,913
App. No.
16/357,778
Granted
Mar 2, 2021
Kind
B2
Abstract

An automated pruning technique is proposed for reducing the size of a convolutional neural network. A large-sized network is trained and then connections between layers are explored to remove redundant parameters. Specifically, a scaling neural subnetwork is connected to the neural network and designed to infer importance of the filters in the neural network during training of the neural network. Output from the scaling neural subnetwork can then be used to remove filters from the neural network, thereby reducing the size of the convolutional neural network.

Claims (23)

1. A computer-implemented method for pruning a convolutional neural network, the convolutional neural network includes a plurality of convolutional layers and each convolutional layer includes a plurality of neurons implemented in hardware, comprising:

for at least one convolutional layer in the convolutional neural network, connecting a scaling neural subnetwork to the at least one convolutional layer, where an input layer of the scaling neural subnetwork is configured to receive weights of the filters in the at least one convolutional layer and an output layer of the scaling neural network outputs a scale vector, where elements of the scale vector quantify importance of filters in the at least one convolutional layer;

training the convolutional neural network, including the scaling neural subnetworks connected thereto; and

for the at least one convolutional layer in the convolutional neural network, removing filters from the convolutional layer based on elements of a scale vector output by the respective scaling neural network, where filters are removed from the convolutional layer after training of the convolutional neural network.

2. The method of claim 1 wherein the input layer of the scaling neural subnetwork evaluates size of the filters in the at least one convolutional layer by applying a norm.

3. The method of claim 2 wherein the input layer of the scaling neural subnetwork evaluates similarity amongst filters in the at least one convolutional layer.

4. The method of claim 3 wherein the input layer of the scaling neural subnetwork evaluates similarity amongst filters in the at least one convolutional layer by computing a cross-correlation between each pair of filters in the at least one convolutional layer.

5. The method of claim 4 wherein an output layer of the scaling neural subnetwork is an activation function.

6. The method of claim 1 wherein connecting a scaling neural subnetwork to the at least one convolutional layer further comprises combining the scale vector from the scaling neural network with output from the respective convolutional layer.

7. The method of claim 1 further comprises training the convolutional neural network using a backpropagation method.

8. The method of claim 1 wherein removing filters from the at least one convolutional layer further includes comparing elements of the scale vector to a threshold and removing filters corresponding to the elements whose value is less than the threshold.

9. A computer-implemented method for pruning a convolutional neural network, the convolutional neural network includes a plurality of convolutional layers and each convolutional layer includes a plurality of neurons implemented in hardware, comprising:

configuring a scaling neural subnetwork to extract descriptors from filters of a convolutional layer of the convolutional neural network and infer importance of the filters;

for at least one convolutional layer in the convolutional neural network, connecting the scaling neural subnetwork to the respective convolutional layer, where an input layer of the scaling neural subnetwork is configured to receive weights of the filters in the respective convolutional layer and an output layer of the scaling neural subnetwork outputs a scale vector, such that elements of the scale vector quantify importance of filters in the respective convolutional layer;

training the convolutional neural network, including the scaling neural subnetworks connected thereto; and

removing filters from the at least one convolutional layer based on elements of a scale vector output by the respective scaling neural subnetwork, where filters are removed from the at least one convolutional layer after training of the convolutional neural network.

10. The method of claim 9 wherein the scaling neural subnetwork extracts descriptors from filters of a convolutional layer by applying a norm to weights of the filters.

11. The method of claim 9 wherein the scaling neural subnetwork extracts descriptors from filters of a convolutional layer by determining similarity amongst filters in the respective convolutional layer.

12. The method of claim 11 wherein the scaling neural subnetwork determines similarity amongst filters in the respective convolutional layer by computing a cross-correlation between each pair of filters in the respective convolutional layer.

13. The method of claim 9 wherein an output layer of the scaling neural subnetwork is an activation function.

14. The method of claim 9 wherein connecting a scaling neural subnetwork to the respective convolutional layer further comprises combining the scale vector from the scaling neural network with output from the respective convolutional layer.

15. The method of claim 9 further comprises training the convolutional neural network using a backpropagation method.

16. The method of claim 9 wherein removing filters from the convolutional layer further includes comparing elements of the scale vector to a threshold and removing filters corresponding to the elements whose value is less than the threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2019
From: YAO, HEMING; NAJARIAN, KAYVAN; GRYAK, JONATHAN
To: THE REGENTS OF THE UNIVERSITY OF MICHIGAN
Reel/Frame 049419/0801 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2019
From: ZHANG, WEI
To: DENSO INTERNATIONAL AMERICA, INC.
Reel/Frame 049420/0794 →
Continuity (2)
Provisional Application 62645401 · Mar 20, 2018
Related Publication 20190294929A1 · Sep 26, 2019
Cited By (2)
US 12,307,372 US 12,393,842