Passive CNN Filter Pruning for Embedded Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As convolutional neural networks (CNNs) grow deeper, the computational costs of inference increase, posing challenges for embedded sensors and mobile devices with limited resources, and existing methods of model compression through weight pruning do not effectively reduce computation time due to sparse models lacking practical optimizations.

Innovation Solution

The method involves actively pruning filters in CNNs by multiplying weights with an attrition factor less than one during training, removing weights and associated kernels when their contribution falls below a threshold, thereby reducing computational costs without increasing sparsity, and correlating the number of pruned filters with computational acceleration through reduced matrix multiplications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If model compression is achieved by pruning weights with small magnitudes, then storage costs are reduced, but computation time is not reduced because the majority of removed parameters are from fully connected layers where computation cost is low

Engineering Contradiction:
Improvestorage costVSAvoidcomputation time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies different pruning strategies to different parts of the neural network. Specifically, it prunes filters (entire sets of weights) in convolutional layers rather than individual weights, and targets different layers with different pruning approaches. This local differentiation ensures that computation-intensive convolutional operations are reduced while maintaining model accuracy.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the neural network into different layers (convolutional layers and fully connected layers) and applies pruning selectively. It identifies and prunes specific filters in convolutional layers based on their contribution to the output, while using different criteria for fully connected layers. This segmentation allows targeted reduction of computational cost in the most impactful areas.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If deeper convolutional neural networks are used, then model accuracy is improved, but computational cost of inference increases

Engineering Contradiction:
Improvemodel accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The patent extracts and removes unnecessary filters from the neural network that do not contribute significantly to the output. By identifying filters with low contribution metrics and pruning them entirely, the network depth and complexity are reduced while maintaining the accuracy provided by the remaining essential filters. This extraction approach allows deeper networks to be pruned back to optimal complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the number of filters (a key parameter) in convolutional layers dynamically during training. It starts with a full set of filters and progressively prunes them based on their contribution, effectively changing the network architecture parameter to balance accuracy and computational cost. This parameter adjustment allows the network to maintain accuracy while reducing power consumption.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If pruning creates sparse models, then storage is reduced, but computations become less practical due to lack of optimizations

Engineering Contradiction:
ImprovestorageVSAvoidcomputational practicality
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

Instead of creating sparse models by removing individual weights (which creates irregular sparsity patterns), the patent inverts the approach by removing entire filters, resulting in dense subnetworks. This inversion creates a more regular and practical structure that is easier to optimize and implement, while still achieving significant compression and storage reduction.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10740676B2Passive pruning of filters in a convolutional neural network
Publication Date: 2020.08.11 NEC CORP
  • US10740676B2 patent drawing
  • US10740676B2 patent drawing
  • US10740676B2 patent drawing

AI summary

Methods and systems of training a neural network includes training a neural network based on training data. Weights of a layer of the neural network are multiplied by an attrition factor. A block of weights is pruned from the layer if the block of weights in the layer has a contribution to an output of the layer that is below a threshold.