CNN Data Processing Apparatus Parallel Filter Operation Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional Neural Networks (CNNs) face inefficiencies in parallel processing due to bottlenecks in data supply for small kernel sizes, degrading parallelization efficiency and requiring significant product-sum operations, which are not effectively supported by existing hardware configurations.

Innovation Solution

A data processing apparatus with a storage unit, operators, and a control unit that parallelly perform filter operations on reference and coefficient data, optimizing the supply of data to operators and coefficient data between them, allowing for flexible concurrency levels independent of kernel size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallel processing is implemented for CNN operations, then processing throughput is improved, but data supply bottlenecks occur with small kernel sizes

Engineering Contradiction:
Improveprocessing throughputVSAvoiddata supply bottleneck time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-loading and storing filter coefficient data in a dedicated coefficient data holding unit before the actual convolution operations begin. This allows the data supply unit to provide coefficients to operators without waiting for real-time computation, thereby eliminating data supply bottlenecks during parallel processing of small kernel sizes while maintaining high throughput

Inventive Principle:
Principle #10Preliminary action

2Speed

If more operators are used for parallel processing, then processing speed is improved, but hardware complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements universality by designing a configurable operator assignment mechanism where the same hardware operators can be dynamically assigned to different kernel sizes and convolution configurations. The control unit manages operator allocation based on the specific computation requirements, allowing a fixed number of operators to efficiently handle variable workloads without requiring dedicated hardware for each configuration, thus maintaining speed while controlling complexity

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

3Measurement precision

If filter operations are performed for all reference data and filters, then recognition accuracy is improved, but the number of product-sum operations increases significantly

Engineering Contradiction:
Improverecognition accuracyVSAvoidcomputational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies local quality by implementing selective filter operation execution where the control unit determines which specific filter operations need to be performed based on the current computation requirements and kernel size. Instead of universally executing all possible filter operations on all reference data, the system selectively activates only the necessary operator-filter combinations, thereby maintaining recognition accuracy through complete necessary computations while eliminating redundant operations to improve computational efficiency

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11068776B2Convolutional neural network based data processing apparatus, method for controlling the same, and storage medium storing program
Publication Date: 2021.07.20 CANON KK
  • US11068776B2 patent drawing
  • US11068776B2 patent drawing
  • US11068776B2 patent drawing

AI summary

A data processing apparatus includes a storage unit configured to store reference data of a filter operation and coefficient data of filters, a plurality of operators configured to parallelly perform the filter operation on the reference data and the coefficient data of the filters, a first supply unit configured to supply reference data transferred from the storage unit to the plurality of operators, a second supply unit configured to supply coefficient data of a first and second filters transferred from the storage unit to the plurality of operators, and a control unit configured to control the second supply unit to supply the coefficient data of the first filter to a first operator, and supply the coefficient data of the second filter to a second operator.