Pooling Operation Device for Convolutional Neural Network Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional pooling operations in convolutional neural networks require large reading bandwidth, limiting performance due to the need for completing convolution layer operations before inputting results to pooling layers.

Innovation Solution

A method and device that perform overlapping pooling operations using a buffer to store and reuse pooling results, allowing for reduced reading bandwidth by performing first and second pooling operations with new and preceding column results, and enabling pooling operations on partially processed data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional pooling operations are performed by waiting for all convolution layer operations to complete before inputting results to pooling layers, then the pooling operation can be performed with complete data, but the required reading bandwidth becomes large

Engineering Contradiction:
Improvepooling operation completenessVSAvoidreading bandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by performing a first pooling operation on convolution results as soon as they become available, before all convolution operations are complete. The pooling layer proactively processes partial data and stores intermediate results in a buffer, rather than waiting for complete data from all convolution operations. This allows the system to begin pooling operations early and reduces the peak reading bandwidth requirement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the pooling operation into two distinct stages: a first pooling operation that processes convolution results immediately when available and stores results in a buffer, and a second pooling operation that completes the pooling using buffered data. This segmentation allows the system to process data in manageable chunks rather than requiring all data to be available simultaneously, thereby reducing reading bandwidth requirements.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If pooling operations wait for complete convolution results before processing, then accurate pooling results are obtained, but operation efficiency decreases

Engineering Contradiction:
Improvepooling result accuracyVSAvoidoperation efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary pooling operations on available convolution results before all convolution operations complete. By storing intermediate pooling results in a buffer and completing the pooling operation later with additional data, the system achieves both early processing (improving efficiency) and complete data utilization (maintaining accuracy).

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous pooling operations by processing convolution results as they become available rather than waiting for completion. The buffer stores intermediate results and allows the pooling operation to continue seamlessly as more convolution results arrive, maintaining high utilization of processing units without sacrificing result accuracy.

Inventive Principle:
Principle #20Continuity of useful action

3Stability of the object's composition

If all convolution layer operations are completed before pooling layer operations, then data consistency is maintained, but processing time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The pooling operation is segmented into two phases: the first pooling operation processes convolution results immediately when available and stores results in a buffer, while the second pooling operation completes the processing with remaining data. This segmentation allows the system to maintain data consistency through proper buffer management while significantly reducing total processing time by overlapping operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary pooling operations on available data before all convolution operations complete, using a buffer to maintain data consistency. The buffer ensures that intermediate results are preserved and properly integrated with subsequent convolution results, allowing early processing without sacrificing consistency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10943166B2Pooling operation device and method for convolutional neural network
Publication Date: 2021.03.09 KNERON INC
  • US10943166B2 patent drawing
  • US10943166B2 patent drawing
  • US10943166B2 patent drawing

AI summary

A pooling operation method for a convolutional neural network includes the following steps of: reading multiple new data in at least one current column of a pooling window; performing a first pooling operation with the new data to generate at least a current column pooling result; storing the current column pooling result in a buffer; and performing a second pooling operation with the current column pooling result and at least a preceding column pooling result stored in the buffer to generate a pooling result of the pooling window. The first pooling operation and the second pooling operation are forward max pooling operations.