Separable Convolution Network Layers for Lower Memory and Compute

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network systems face high memory usage and processing time due to the large amount of calculation required for convolution operations, particularly in convolutional neural networks.

Innovation Solution

Implement a neural network system with a separable convolution subnetwork that includes a sequence of separable convolutional neural network (SCNN) layers, which apply a first grouped convolution and a pointwise convolution in sequence to reduce the calculation burden.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard convolution operations are used in neural networks, then learning effectiveness is maintained, but memory usage and processing time become extremely large

Engineering Contradiction:
Improvelearning effectivenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the standard convolution operation into two separate operations: depthwise convolution (applying one filter per input channel) and pointwise convolution (1x1 convolutions to combine channels). This segmentation reduces the computational complexity from O(k^2 * c_in * c_out) to O(k^2 * c_in + c_in * c_out), where k is the kernel size, significantly reducing processing time while maintaining learning effectiveness through the combination of both operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If standard convolution operations are used in neural networks, then learning effectiveness is maintained, but memory usage becomes extremely large

Engineering Contradiction:
Improvelearning effectivenessVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

By segmenting the convolution into depthwise and pointwise operations, the patent reduces the number of parameters that need to be stored. The depthwise convolution stores c_in * k^2 parameters instead of k^2 * c_in * c_out, and the pointwise convolution stores c_in * c_out parameters. This segmentation dramatically reduces memory usage for storing convolution kernels and intermediate activations.

Inventive Principle:
Principle #1Segmentation

3Productivity

If channels are divided into groups for convolution, then calculation requirements are reduced, but connectivity sparsity increases

Engineering Contradiction:
Improvecalculation efficiencyVSAvoidconnectivity structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing channels into groups for depthwise convolution, where each group is processed independently. This reduces calculation requirements by a factor of g (number of groups). The subsequent pointwise convolution restores full connectivity by combining all groups, thus balancing computational efficiency with connectivity needs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from spatial convolution to channel-wise convolution in the depthwise step, operating in a different dimension (channel dimension instead of spatial dimension). This dimensional change enables the grouping strategy to reduce computation while the pointwise convolution in the original spatial dimension restores full interactions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12555369B2Neural network system using separable convolution
Publication Date: 2026.02.17 CANON KK
  • US12555369B2 patent drawing
  • US12555369B2 patent drawing
  • US12555369B2 patent drawing

AI summary

A neural network system includes a separable convolution subnetwork. The separable convolution subnetwork includes a plurality of separable convolutional neural network (SCNN) layers arranged in a stack manner in sequence. Each of the plurality of SCNN layers applies a first grouped convolution to an input to the SCNN layer. An input to the first grouped convolution includes a plurality of channels, and the first grouped convolution is a spatial convolution which divides channels of an input to the first grouped convolution into groups in a channel-wise manner, convolves the grouped channels, and couples the convolved channels to generate an output.