US 12,481,886 B2
Calculating device and method for a sparsely connected artificial neural network
Shijin Zhang, Beijing (CN); Qi Guo, Beijing (CN); Yunji Chen, Beijing (CN); and Tianshi Chen, Beijing (CN)
Assigned to CAMBRICON TECHNOLOGIES CORPORATION LIMITED, Beijing (CN)
Filed by Cambricon Technologies Corporation Limited, Beijing (CN)
Filed on May 9, 2018, as Appl. No. 15/975,075.
Application 15/975,075 is a division of application No. PCT/CN2016/078545, filed on Jan. 20, 2016.
Claims priority of application No. 201610039162.5 (CN), filed on Jan. 20, 2016.
Prior Publication US 2018/0260710 A1, Sep. 13, 2018
This patent is subject to a terminal disclaimer.
Int. Cl. G06N 3/082 (2023.01); G06F 17/15 (2006.01); G06F 17/16 (2006.01)
CPC G06N 3/082 (2013.01) [G06F 17/15 (2013.01); G06F 17/16 (2013.01)] 14 Claims
OG exemplary drawing
 
9. A method for modifying weight values for neural networks, comprising:
receiving, by a data modifier circuit, a predetermined weight value array that includes one or more weight values for calculating one or more groups of output data based on one or more groups of input data,
wherein the one or more groups of the input data are stored as input elements in an input array and each input element of the input elements is identified by an input array index, and
wherein the one or more groups of the output data are to be stored as output elements in an output array and each output element of the output elements is identified by an output array index;
receiving, by the data modifier circuit, connection data that include one or more connection values,
wherein the one or more connection values are stored as a data set independent from the input data and the weight values,
wherein the one or more connection values represent connections between input nodes of the neural networks and the output nodes of the neural networks,
wherein each connection value of the one or more connection values corresponds to a pair of indexes, wherein the pair of indexes include the input array index and the output array index, and
wherein each connection value of the one or more connection values is set to one when one of the one or more weight values in the predetermined weight value array satisfies a condition,
wherein each of the connection values is set to zero, when one of the one or more weight values in the predetermined weight value array does not satisfy the condition,
wherein the condition includes that an absolute value of one of the weight values in the predetermined weight value array is less than a first threshold value and greater than a second threshold value, and
wherein each weight value of the one or more weight values is designated for calculating, by a data modifier circuit, a group of the output data to be stored as the output elements,
wherein the output elements are identified by the corresponding output array index based on a group of the input data,
the input data are stored as the input element identified by the corresponding input array index; and
deleting, by the data modifier circuit, the one or more weight values that does not satisfy the condition from the predetermined weight value array to generate a modified predetermined weight value array;
deleting, by the data modifier circuit, the one or more groups of the input data from the input array, wherein the one or more groups of the input data corresponds to those connection values that are set to zero to generate a modified input array; and
receiving, by the data modifier circuit, the modified predetermined weight value array and the modified input array; and
calculating, by a computing circuit, the one or more groups of the output data based on the modified predetermined weight value array and the modified input array.