CNN Convolution Stride-2 Processing for Faster Inference
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The computational burden of convolution operations in convolutional neural networks for image processing is high, leading to challenges in real-time processing and power management, especially with larger images and deeper networks.
Innovation Solution
A convolution method that performs convolution and rectified linear unit (ReLU) operations in a coarse step with a difference of 2 in both horizontal and vertical directions, followed by a fine step to fill empty spaces, and channel switching to optimize the convolution process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If convolution operation is performed at every point in the feature map, then processing accuracy is maintained, but computational amount increases
Solution Approach 1:
The feature map processing is segmented into two distinct phases: a coarse step that processes only every other point (skipping by 2 in horizontal and vertical directions) and a fine step that fills in the remaining points. This segmentation allows the system to perform fewer full convolution operations while maintaining accuracy by completing the processing in two passes.
Solution Approach 2:
The coarse step performs preliminary convolution and ReLU operations on a subset of points (every other point) before the fine step completes the processing. This preliminary action reduces the immediate computational burden while ensuring that all necessary computations are eventually performed to maintain accuracy.
2Productivity
If convolution operation is performed at every point in the feature map, then processing completeness is ensured, but inference speed decreases
Solution Approach 1:
The processing is divided into a coarse step that handles 50% of the points (every other point in both dimensions) and a fine step that handles the remaining points. This segmentation reduces the number of full convolution operations needed in the primary pass, thereby improving inference speed while maintaining completeness through the second pass.
Solution Approach 2:
The system uses periodic sampling in the coarse step by processing every other point (period of 2) in both horizontal and vertical directions. This periodic approach reduces computational frequency while ensuring all points are eventually processed through the fine step, improving overall inference speed.
3Measurement precision
If convolution operation is performed at every point in the feature map, then processing accuracy is maintained, but power consumption increases
Solution Approach 1:
The computation is segmented into coarse and fine steps, where the coarse step processes only every other point. This reduces the total number of multiplication and accumulation operations by approximately 75% in the coarse pass, directly reducing power consumption while maintaining accuracy through the subsequent fine step that completes the processing.
Solution Approach 2:
The coarse step performs preliminary processing on a subset of points before the fine step completes the full processing. This preliminary action reduces the immediate energy expenditure while ensuring that all necessary computations are performed to maintain processing accuracy.
4Productivity
If convolution operation is performed at every point in the feature map, then processing completeness is ensured, but system complexity increases
Solution Approach 1:
The processing system is segmented into two operational modes: coarse step with stride 2 that processes every other point, and fine step with stride 1 that fills remaining points. This segmentation simplifies the control logic by using clear stride parameters and coordinate skipping rules, making the system easier to implement and manage compared to processing every point uniformly.
Data Source
AI summary
A convolution method for high speed deep learning according to the present invention includes (a) a step in which a feature map receiving unit of the convolution system receives a feature map configured by N channels; (b) a step in which a main controller of the convolution system selects a “0”-th channel from the feature map configured by N channels; (c) a step in which the main controller confirms a coordinate in which x, y coordinate is “0”, from the feature map of the “0”-th channel; (d) a coarse step in which a convolution calculating unit of the convolution system performs a convolution operation and a rectified linear unit (ReLU) operation while shifting by 2 in a horizontal direction and a vertical direction in the feature map; (e) a step in which the channel switching unit of the convolution system switches the channel to a subsequent channel when the coarse step is completed for the feature map of the “0”-th channel; (g) a step in which the main controller determines whether the switched channel is greater or less than N; and (g) a step in which if the channel switched in step (0 is greater than N, the main controller determines that the convolution operation for all channels has been completed and outputs the feature map by means of a feature map output unit. By doing this, the convolution operation which occupies most of the convolution neural network is reduced to increase inference speed in the deep learning.


