Prediction Circuitry for Convolution Size Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional neural networks (CNNs) perform a large number of multiply accumulate (MAC) calculations, leading to significant processing power and energy wastage due to the max-pooling operation, which only retains the largest values from convolution outputs.
Innovation Solution
A data processing apparatus and method that includes convolution circuitry, max-pooling circuitry, and prediction circuitry. The prediction circuitry performs a size prediction of convolution outputs based on neighbouring regions before max-pooling, and adjusts the behavior of the convolution circuitry to reduce unnecessary processing and energy expenditure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If convolution operations are performed on all neighbouring regions to ensure complete feature extraction, then feature identification accuracy is improved, but processing power and energy consumption increase significantly
Solution Approach 1:
The patent applies preliminary action by performing a prediction of convolution output sizes before actually executing the convolution operations. The prediction circuitry estimates which neighbouring regions will produce large convolution outputs that are likely to be selected by max-pooling, allowing the system to pre-identify candidate regions and avoid unnecessary convolutions on regions that will be discarded anyway.
Solution Approach 2:
The patent implements local quality by applying different processing strategies to different regions of the input data. Rather than uniformly processing all neighbouring regions, the system selectively applies convolution operations only to regions predicted to produce significant outputs, while skipping or reducing processing on regions expected to produce small outputs that will be culled by max-pooling.
2Reliability
If convolution operations are performed on all neighbouring regions using multiple kernels, then feature extraction completeness is improved, but the number of MAC calculations increases
Solution Approach 1:
The prediction of convolution output sizes is performed in advance before the actual convolution operations with multiple kernels. This preliminary assessment allows the system to identify which neighbouring regions warrant full convolution processing with all kernels, versus regions where convolutions can be skipped or reduced, thereby maintaining feature extraction completeness for important regions while improving overall processing efficiency.
Solution Approach 2:
The patent applies partial action by performing convolution operations on only a subset of neighbouring regions rather than all regions. The prediction circuitry identifies a partial set of regions likely to produce large outputs, and convolution is performed on these selected regions using the appropriate number of kernels, avoiding excessive calculations on regions that will not contribute to the final pooled output.
3Measurement precision
If max-pooling is applied to all convolution outputs to ensure no potential features are lost, then classification accuracy is improved, but processing time increases
Solution Approach 1:
The prediction of which neighbouring regions will produce large convolution outputs is performed in advance before the max-pooling operation. This preliminary identification allows the system to focus max-pooling operations only on the predicted candidate regions, rather than processing all convolution outputs, thereby reducing processing time while maintaining classification accuracy by ensuring all potentially significant features are captured.
Data Source
AI summary
There is provided a data processing apparatus for performing machine learning. The data processing apparatus includes convolution circuitry for convolving a plurality of neighbouring regions of input data using a kernel to produce convolution outputs. Max-pooling circuitry determines and selects the largest of the convolution outputs as a pooled output and prediction circuitry performs a size prediction of the convolution outputs based on the neighbouring regions, wherein the size prediction is performed prior to the max-pooling circuitry determining the largest of the convolution outputs and adjusts a behaviour of the convolution circuitry based on the size prediction.


