US 11,657,285 B2
Methods, systems, and media for random semi-structured row-wise pruning in neural networks
Vanessa Courville, Montreal (CA); Mehdi Ahmadi, Montreal (CA); and Mahdi Zolnouri, Montreal (CA)
Assigned to XFUSION DIGITAL TECHNOLOGIES CO., LTD., Zhengdong (CN)
Filed by XFUSION DIGITAL TECHNOLOGIES CO., LTD., Zhengdong (CN)
Filed on Jul. 30, 2020, as Appl. No. 16/943,573.
Prior Publication US 2022/0036189 A1, Feb. 3, 2022
Int. Cl. G06N 3/08 (2023.01); G06N 3/082 (2023.01); G06N 3/04 (2023.01); G06F 16/215 (2019.01)
CPC G06N 3/082 (2013.01) [G06F 16/215 (2019.01); G06N 3/04 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for pruning filters of a convolutional layer of a convolutional neural network performed by a processor, the method comprising:
receiving a pruning threshold indicating a desired compression ratio for the convolutional layer of the convolutional neural network, wherein the convolutional layer comprises a plurality of filters;
providing a seed value to a pseudo-random number generator;
generating a row pruning mask identifying a plurality of kernel rows of a first filter of the plurality of filters to be pruned, wherein generating the row pruning mask comprises:
generating, using the pseudo-random number generator, a sequence of pseudo-random numbers based on the seed value; and
for each kernel row of the first filter, determining whether to identify the kernel row of the first filter as one of the plurality of kernel rows to be pruned based on a comparison of the pseudo-random number to the pruning threshold;
generating a pruned first filter in accordance with the generated row pruning mask and the first filter, the pruned first filter comprising at least the kernel rows of the first filter not identified as kernel rows to be pruned;
generating a plurality of pruned filters in accordance with the generated row pruning mask and the plurality of filters; and
applying the plurality of pruned filters to an input data array in one or more convolution operations to generate an output data array.