Neural network convolution computation method and device, and computer-readable storage medium
First Claim
1. A neural network convolution device, comprising:
- a matrix transformer configured toreceive an input data matrix and a weight matrix,transform the input data matrix into a transformed input data matrix based on a first transformation matrix, andtransform the weight matrix into a transformed weight matrix based on a second transformation matrix; and
a matrix multiplication module configured to multiply one or more input data elements in the transformed input data matrix with one or more weight elements in the transformed weight matrix to generate an intermediate output matrix, wherein the matrix transformer is further configured to transform the intermediate output matrix into an output matrix based on an inverse transformation matrix,wherein the first transformation matrix, the second transformation matrix, and the inverse transformation matrix are predetermined based on a first size of the input data matrix, a second size of the weight matrix, and a stride for moving a convolution kernel before the matrix transformer receives the input data matrix.
1 Assignment
0 Petitions
Accused Products
Abstract
Aspects of a neural network convolution device are described herein. The aspects may include a matrix transformer and a matrix multiplication module. The matrix transformer may be configured to receive an input data matrix and a weight matrix, transform the input data matrix into a transformed input data matrix based on a first transformation matrix, and transform the weight matrix into a transformed weight matrix based on a second transformation matrix. The matrix multiplication module may be configured to multiply one or more input data elements in the transformed input data matrix with one or more weight elements in the transformed weight matrix to generate an intermediate output matrix. The matrix transformer may be further configured to transform the intermediate output matrix into an output matrix based on an inverse transformation matrix.
-
Citations
18 Claims
-
1. A neural network convolution device, comprising:
-
a matrix transformer configured to receive an input data matrix and a weight matrix, transform the input data matrix into a transformed input data matrix based on a first transformation matrix, and transform the weight matrix into a transformed weight matrix based on a second transformation matrix; and a matrix multiplication module configured to multiply one or more input data elements in the transformed input data matrix with one or more weight elements in the transformed weight matrix to generate an intermediate output matrix, wherein the matrix transformer is further configured to transform the intermediate output matrix into an output matrix based on an inverse transformation matrix, wherein the first transformation matrix, the second transformation matrix, and the inverse transformation matrix are predetermined based on a first size of the input data matrix, a second size of the weight matrix, and a stride for moving a convolution kernel before the matrix transformer receives the input data matrix. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for convolution in a neural network, comprising:
-
predetermining a first transformation matrix, a second transformation matrix, and an inverse transformation matrix based on a first size of an input data matrix, a second size of a weight matrix, and a stride for moving a convolution kernel; receiving, by a matrix transformer, the input data matrix and the weight matrix subsequent to the predetermining of the first transformation matrix, the second transformation matrix, and the inverse transformation matrix; transforming, by the matrix transformer, the input data matrix into a transformed input data matrix based on a first transformation matrix; transforming, by the matrix transformer, the weight matrix into a transformed weight matrix based on a second transformation matrix; multiplying, by a matrix multiplication module, one or more input data elements in the transformed input data matrix with one or more weight elements in the transformed weight matrix to generate an intermediate output matrix; and transforming, by the matrix transformer, the intermediate output matrix into an output matrix based on an inverse transformation matrix. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification