Patent ID: 11907826
Assignee: SAMSUNG ELECTRONICS CO., LTD.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 4:
5. A method of performing machine learning using an integrated circuit configured to include a plurality of processing elements arranged in a predetermined pattern and share data between the processing elements which are adjacent to each other to perform an operation, the method comprising:
receiving input data; and
performing a convolution operation by applying a filter to the input data,
wherein performing the convolution operation comprises:
dividing a two-dimensional filter into a plurality of elements which is one dimensional data;
identifying a plurality of elements, except for at least one element having a zero value among the plurality of elements;
arranging the identified plurality of elements in a predetermined order;
performing the convolution operation by inputting each of the identified plurality of elements to the plurality of processing elements in a predetermined order and sequentially applying the identified plurality of elements to the input data,
multiplying a first element of the identified plurality of elements by each of a plurality of first data values belonging to a first row of the input data and multiplying the first element of the identified plurality of elements by each of a plurality of second data values belonging to a second row of the input data; and
multiplying a second element of the identified plurality of elements by each of the plurality of first data values and multiplying the second element by each of the plurality of second data values,

wherein multiplying the second element of the identified plurality of elements further includes shifting a plurality of operation values for the first element in a predetermined first direction by a predetermined first interval when the operation for the first element is completed and the operation for the second elements starts in the first row and performing an accumulation for operation values for the first element and operation values for the second element and obtaining first accumulation values,
shifting the first accumulation value in a predetermined second direction by a predetermined second interval in the integrated circuit,
wherein the predetermined first direction is a direction for a position in which the second element is disposed based on a position in which the first element is disposed in the two-dimensional filter and the predetermined first interval is determined according to a number of the zero values existing between the position of the first element and the position of the second element in the plurality of elements arranged in a predetermined order,
wherein the predetermined second direction is a direction in which a third element is disposed based on the second element in the two-dimensional filter and the predetermined second interval is determined based on a number of the zero values existing between the second element and the third element,
wherein the plurality of processing elements form a network having a structure in which a tree topology network is coupled to a mesh topology network, and performing the convolution operation includes performing an operation according to a convolutional neural network (CNN) algorithm or an operation according to a recurrent neural network (RNN) algorithm using the network having the coupled structure,
wherein performing the convolution operation includes performing operations according to the mesh topology network in a convolution layer and in a pooling layer of the CNN algorithm, and
wherein an operation according to the tree topology network is performed in a fully connected layer of the CNN algorithm and each layer of the RNN algorithm.