Crossbar Circuit for Convolutional Neural Network Pooling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks require significant operation loads and power consumption for CPU or GPU processing, and existing hardware solutions, such as crossbar circuits, often necessitate multiple circuits for convolution and pooling operations, increasing area and power consumption.

Innovation Solution

A convolutional neural network design that integrates a first convolution layer, a pooling layer, a second convolution layer, and a crossbar circuit capable of simultaneously performing average pooling and second filter convolution operations, eliminating the need for dedicated pooling circuits by using a control portion to select input values for the second convolution layer and performing these operations within the crossbar circuit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple dedicated circuits are used for convolution and pooling operations, then operation functionality is improved, but circuit area and power consumption increase

Engineering Contradiction:
Improveoperation functionalityVSAvoidcircuit area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The crossbar circuit is designed to perform multiple functions including convolution operations, pooling operations, and activation functions using the same hardware resources. The control portion configures the crossbar circuit to execute different operations by selecting appropriate input values and controlling operation timing, eliminating the need for separate dedicated circuits for each function.

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

2Adaptability or versatility

If multiple dedicated circuits are used for convolution and pooling operations, then operation functionality is improved, but power consumption increases

Engineering Contradiction:
Improveoperation functionalityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The crossbar circuit serves as a universal computing platform that handles convolution, pooling, and activation operations. By reusing the same circuit for multiple operations through control logic configuration, the system reduces overall power consumption compared to having separate dedicated circuits for each operation type.

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

Solution Approach 2:

The invention merges the pooling operation and activation function execution into the same crossbar circuit that performs convolution operations. The control portion coordinates these operations to occur within the same hardware framework, combining multiple functions into a single integrated circuit solution.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If pooling operations are performed using separate dedicated circuits, then operation precision is improved, but device complexity increases

Engineering Contradiction:
Improveoperation precisionVSAvoidcircuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The crossbar circuit maintains high operation precision for pooling operations while avoiding increased device complexity by using the same circuit architecture for both convolution and pooling. The control portion manages the precision requirements through proper configuration rather than adding complex dedicated circuitry.

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

Data Source

PatentUS11501146B2Convolutional neural network
Publication Date: 2022.11.15 DENSO CORP
  • US11501146B2 patent drawing
  • US11501146B2 patent drawing
  • US11501146B2 patent drawing

AI summary

A image recognition system includes a first convolution layer, a pooling layer, a second convolution layer, a crossbar circuit having a plurality of input lines, at least one output line intersecting with the input lines, and a plurality of weight elements that are provided at intersection points between the input lines and the output line, weights each input value input to the input lines to output to the output line, and a control portion that selects from convolution operation results of the first convolution layer, an input value needed to acquire each pooling operation result needed to perform second filter convolution operation at each shift position in the second convolution layer, and inputs the input value selected to the input lines.