Variable Size Convolution Circuit Using Cyclic Data Rotation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current convolutional neural networks face inefficiencies in handling variable feature and kernel sizes, which can lead to suboptimal performance in convolutional computations due to fixed padding methods and limited parallel processing capabilities.

Innovation Solution

A circuit structure is developed for performing parallel convolutional computation, featuring a feature manager, kernel manager, and convolution engine that allows for variable feature and kernel sizes by using 0-padding convolutions, cyclic rotation of data, and controlled MAC operations, enabling efficient computation through restricted and compensated convolutions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If fixed padding methods are used in convolutional neural networks, then the computation structure is simplified, but the handling of variable feature and kernel sizes becomes inefficient

Engineering Contradiction:
Improvecomputation structure simplicityVSAvoidhandling of variable sizes
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic padding and restriction mechanisms that adapt to variable feature and kernel sizes. The circuit uses control signals to dynamically adjust the padding applied to feature maps and kernels, and to restrict computations to valid regions, enabling efficient handling of different size configurations without fixed structure limitations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes key parameters including feature map size, kernel size, and padding amount based on input requirements. The system accepts variable-sized inputs and dynamically adjusts computation parameters to maintain efficiency across different size configurations, resolving the contradiction between structural simplicity and size adaptability

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If traditional convolutional computation is used, then the implementation is straightforward, but parallel processing capabilities are limited

Engineering Contradiction:
Improveimplementation simplicityVSAvoidparallel processing capability
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments the convolutional computation into multiple independent parallel processing units. Each unit handles specific feature map channels or kernel elements simultaneously, with results accumulated through adder trees. This segmentation enables high-degree parallelism while maintaining a relatively simple implementation through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention exploits the channel dimension of feature maps and kernels to create parallel processing paths. By processing multiple channels simultaneously across multiple computation units, the system transforms a single-threaded sequential operation into a multi-dimensional parallel computation, significantly improving productivity

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

3Adaptability or versatility

If variable feature and kernel sizes are supported, then the adaptability of the neural network is improved, but the computation complexity increases

Engineering Contradiction:
Improvesupport for variable sizesVSAvoidcomputation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent designs a universal convolutional computation circuit that handles variable feature and kernel sizes through a unified architecture. The same computation units process different size configurations by accepting size parameters and adjusting their operation accordingly, avoiding the need for multiple specialized circuits and reducing overall system complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The invention introduces intermediary components including size detection units, padding control logic, and restriction signal generators that mediate between variable inputs and the core computation units. These intermediaries standardize the variable-sized inputs into a uniform processing format, reducing the complexity burden on the main computation path

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If restricted convolution with compensation is implemented, then the accuracy of convolutional computation is improved, but the processing time increases

Engineering Contradiction:
Improvecomputation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary padding of feature maps and kernels to their maximum required sizes before convolution computation. This preliminary action ensures that all subsequent restricted convolutions operate on uniformly sized data, eliminating the need for repeated size adjustments and reducing overall processing time while maintaining accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention maintains continuous computation flow by using accumulation registers that continuously sum partial convolution results across all restricted regions. Rather than completing one restricted convolution sequentially, the system performs multiple restricted convolutions in parallel with continuous accumulation, reducing processing time while preserving computational accuracy

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11514136B2Circuit for neural network convolutional calculation of variable feature and kernel sizes
Publication Date: 2022.11.29 ASPIRING SKY CO LTD
  • US11514136B2 patent drawing
  • US11514136B2 patent drawing
  • US11514136B2 patent drawing

AI summary

A circuit for performing parallel convolutional computation for features and kernels of variable sizes may receive inputs of an m×n matrix of feature data, an m×n matrix of convolution data, and a (2m−1)×(2n−1) matrix of kernel data. A feature manager of the circuit may hold m rows of n data buffers storing the input feature data and rotating values between rows during one restricted convolution calculation. A kernel manager of the circuit may hold a (2m−1)×(2n−1) matrix of data buffers storing the input kernel data in the buffers and cyclically rotating values in upwards, downwards, leftwards and rightwards directions for different restricted convolution calculations. A row convolution engine of the circuit may hold m row convolution processors, each storing and updating input convolution data by multiplication-and-accumulation (MAC) operations on its input feature and kernel data rows. The circuit produces accumulated convolutional data.