Hardware Pooling Unit for CNN Computational Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing neural network architectures have neglected the improvement of pooling layers, which are computationally intensive, leading to underutilization of computational resources and increased overall computational cost.
Innovation Solution
The implementation of a pooling unit that reformats output data from a matrix processor into a grid format, allowing for direct application of pooling functions such as average or max pooling, thereby reducing the need for intermediate steps and enhancing computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional pooling layers are used in neural networks, then the network can perform feature extraction and down-sampling, but computational resources are underutilized and computational cost increases
Solution Approach 1:
The patent merges the pooling operation with the convolutional neural network architecture by integrating a pooling unit that processes data directly from the convolutional layer output. This integration eliminates the need for separate, standalone pooling operations and allows the pooling function to be performed as part of the forward propagation process, thereby improving computational efficiency and reducing overall computational cost
Solution Approach 2:
The pooling unit performs pooling operations in advance during the forward propagation process, before the data reaches subsequent layers. By preparing the pooled output data during the natural flow of computation, the system avoids the need for separate post-processing steps and reduces the computational burden on later layers
2Reliability
If pooling layers are implemented with traditional methods, then feature maps can be generated, but intermediate computation steps are required increasing overall computation time
Solution Approach 1:
The patent extracts the essential pooling function from traditional multi-step implementations and implements it as a dedicated pooling unit that operates directly on convolutional layer outputs. This extraction allows the pooling operation to be performed in a single, optimized step without requiring multiple intermediate computation passes, thereby reducing computation time while maintaining reliable feature map generation
Solution Approach 2:
The patent replaces traditional software-based pooling implementations with a hardware-accelerated pooling unit that is integrated into the neural network processing architecture. This substitution of the computational mechanism enables faster processing by leveraging dedicated hardware resources for the pooling operation, significantly reducing computation time compared to general-purpose processors
Data Source
AI summary
Described herein are systems and methods that utilize a novel hardware-based pooling architecture to process the output of a convolution engine representing an output channel of a convolution layer in a convolutional neural network (CNN). The pooling system converts the output into a set of arrays and aligns them according to a pooling operation to generate a pooling result. In certain embodiments, this is accomplished by using an aligner that aligns, e.g., over a number of arithmetic cycles, an array of data in the output into rows and shifts the rows relative to each other. A pooler applies a pooling operation to a combination of a subset of data from each row to generate the pooling result.


