IP Library › Granted Patent US 10,402,720
Granted Patent B2
US 10,402,720 · App. 14/526,046 · Granted Sep 3, 2019

Decomposing convolution operation in neural networks

Inventor: Venkata Sreekanta Reddy Annapureddy (San Diego, CA)
Assignee: Qualcomm Incorporated
G06N3/08G06N3/04G06N3/049G06N3/084G06N3/02
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,402,720
App. No.
14/526,046
Granted
Sep 3, 2019
Kind
B2
Abstract

A method of training a neural network includes encouraging one or more filters in the neural network to have a low rank.

Claims (38)

1. A method of training an artificial neural network, comprising:

initializing the artificial neural network, the artificial neural network comprising at least one filter with a first rank, the first rank being a high rank;

adjusting the at least one filter by training the at least one filter in the artificial neural network to converge to a second rank, the second rank being a low rank that is less than the first rank, the training comprising:

dividing the at least one filter having a filter weight matrix into a linear combination of a row filter corresponding to a first neuron and column filter corresponding to a second neuron, the filter weight matrix comprising derived variables based on a free variable of the row filter and a free variable of the column filter; and

applying a gradient update to train the at least one filter to converge to the second rank, the gradient update determined with respect to matrix elements corresponding to the row filter and the column filter, in which updating the gradient comprises:

generating partial gradients with respect to the derived variables; and

generating partial gradients with respect to the free variable of the row filter and the free variable of the column filter using the partial gradients with respect to the derived variables; and

classifying an input to the artificial neural network based on a product generated by a convolution performed with the at least one trained filter, a number of convolution operations performed by the at least one trained filter with the second rank being less than a number of convolution operations performed by the at least one filter with the first rank.

2. The method of claim 1 , further comprising performing a decomposed convolution with the at least one trained filter to classify the input to the artificial neural network.

3. An apparatus for training an artificial neural network, comprising:

a memory; and

at least one processor coupled to the memory, the at least one processor configured:

to initialize the artificial neural network, the artificial neural network comprising at least one filter with a first rank, the first rank being a high rank;

to adjust the at least one filter by training the at least one filter in the artificial neural network to converge to a second rank, the second rank being a low rank that is less than the first rank, by:

dividing the at least one filter having a filter weight matrix into a linear combination of a row filter corresponding to a first neuron and column filter corresponding to a second neuron, the filter weight matrix comprising derived variables based on a free variable of the row filter and a free variable of the column filter; and

applying a gradient update to train the at least one filter to converge to the second rank, the gradient update determined with respect to matrix elements corresponding to the row filter and the column filter, in which updating the gradient comprises:

generating partial gradients with respect to the derived variables; and

generating partial gradients with respect to the free variable of the row filter and the free variable of the column filter using the partial gradients with respect to the derived variables; and

to classify an input to the artificial neural network based on a product generated by a convolution performed with the at least one trained filter, a number of convolution operations performed by the at least one trained filter with the second rank being less than a number of convolution operations performed by the at least one filter with the first rank.

4. The apparatus of claim 3 , in which the at least one processor is further configured to perform a decomposed convolution with the at least one trained filter to classify the input to the artificial neural network.

5. An apparatus for training an artificial neural network, comprising:

means for initializing the artificial neural network, the artificial neural network comprising at least one filter with a first rank, the first rank being a high rank;

means for adjusting the at least one filter by training the at least one filter in the artificial neural network to converge to a second rank, the second rank being a low rank that is less than the first rank, the means for training comprising:

means for dividing the at least one filter having a filter weight matrix into a linear combination of a row filter corresponding to a first neuron and column filter corresponding to a second neuron, the weight matrix comprising derived variables based on a free variable of the row filter and a free variable of the column filter; and

means for applying a gradient update to train the at least one filter to converge to the second rank, the gradient update determined with respect to matrix elements corresponding to the row filter and the column filter, in which updating the gradient comprises:

generating partial gradients with respect to the derived variables; and

generating partial gradients with respect to the free variable of the row filter and the free variable of the column filter using the partial gradients with respect to the derived variables; and

means for classifying an input to the artificial neural network based on a product generated by a convolution performed with the at least one trained filter, a number of convolution operations performed by the at least one trained filter with the second rank being less than a number of convolution operations performed by the at least one filter with the first rank.

6. The apparatus of claim 5 , further comprising means for performing a decomposed convolution with the at least one trained filter to classify the input to the artificial neural network.

7. A non-transitory computer readable medium having encoded thereon for training an artificial neural network, the program code executed by a processor and comprising:

program code to initialize the artificial neural network, the artificial neural network comprising at least one filter with a first rank, the first rank being a high rank;

program code to adjust the at least one filter by training the at least one filter in the artificial neural network to converge to a second rank, the second rank being a low rank that is less than the first rank, the program code to train comprising:

program code to divide the at least one filter having a filter weight matrix into a linear combination of a row filter corresponding to a first neuron and column filter corresponding to a second neuron, the filter weight matrix comprising derived variables based on a free variable of the row filter and a free variable of the column filter; and

program code to apply a gradient update to train the at least one filter to converge to the second rank, the gradient update determined with respect to matrix elements corresponding to the row filter and the column filter, in which updating the gradient comprises:

generating partial gradients with respect to the derived variables; and

generating partial gradients with respect to the free variable of the row filter and the free variable of the column filter using the partial gradients with respect to the derived variables; and

program code to classify an input to the artificial neural network based on a product generated by a convolution performed with the at least one trained filter, a number of convolution operations performed by the at least one trained filter with the second rank being less than a number of convolution operations performed by the at least one filter with the first rank.

8. The non-transitory computer readable medium of claim 7 , further comprising program code to perform a decomposed convolution with the at least one trained filter to classify the input to the artificial neural network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2014
From: ANNAPUREDDY, VENKATA SREEKANTA REDDY
To: QUALCOMM INCORPORATED
Reel/Frame 034254/0880 →
Continuity (2)
Provisional Application 62025406 · Jul 16, 2014
Related Publication 20160019456A1 · Jan 21, 2016
Cited By (2)
US 12,229,683 US 12,450,472