CNN Processing Apparatus with Dynamic Mode Selector

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware for convolutional neural networks (CNNs) in embedded systems, such as mobile terminals and in-vehicle devices, face challenges in reducing processing time due to the high computational demands of product-sum operations, and existing methods like depthwise convolution processing do not fully utilize computational reductions.

Innovation Solution

A processing apparatus that performs both conventional and depthwise convolution processing efficiently by using a data holder, multiple processors for parallel product-sum operations, and a selector to choose between different processing modes based on the target layer's requirements, allowing for optimized data and coefficient input to minimize processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional convolution processing is performed using multiple processors in parallel, then processing speed is improved, but device complexity increases due to the need for multiple processors and complex data routing

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

Solution Approach 1:

The patent implements dynamic processing mode switching between conventional convolution and depthwise convolution based on the characteristics of the target layer. The control unit determines the appropriate processing mode and configures the system accordingly, allowing the same hardware to adapt its behavior to different computational requirements without requiring separate dedicated hardware for each mode.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent designs a universal processing apparatus that can perform both conventional convolution processing and depthwise convolution processing using the same hardware resources. By sharing processors, data holders, and control units between the two processing modes, the system achieves multi-functionality without proportionally increasing device complexity.

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

2Quantity of substance

If depthwise convolution processing is performed, then computational amount is reduced, but processing time may increase due to sequential processing requirements

Engineering Contradiction:
Improvecomputational amountVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system dynamically switches between conventional convolution and depthwise convolution modes based on the target layer characteristics. For layers where depthwise convolution is applicable, the system uses this mode to reduce computational amount. For layers where parallel processing is more beneficial, the system switches to conventional convolution mode, thereby optimizing the balance between computational reduction and processing time.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If data is transferred between layers efficiently, then processing time is reduced, but memory bandwidth requirements increase

Engineering Contradiction:
Improveprocessing timeVSAvoidmemory bandwidth
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent segments the feature data into multiple channels and holds them in separate data holders. This segmentation allows selective reading of only the required channels for the current processing operation, reducing unnecessary data transfer and memory bandwidth consumption while maintaining efficient processing for the active channels.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11900577B2Processing apparatus for performing processing using a convolutional neural network
Publication Date: 2024.02.13 CANON KK
  • US11900577B2 patent drawing
  • US11900577B2 patent drawing
  • US11900577B2 patent drawing

AI summary

There is provided with a processing apparatus. A data holder holds at least some of data of a plurality of channels in a target layer among a plurality of layers. Each of a plurality of processors performs, in parallel, a product-sum operation using the data of one channel of the target layer and a coefficient corresponding to the target layer. A selector selects whether to perform first processing or second processing on the basis of information specifying processing in the target layer. The first processing includes inputting the data of one channel of the target layer into one of the plurality of processors. The second processing includes inputting the data of one channel of the target layer to the plurality of processors in parallel.