Fixed-Point CNN Hardware with Layer-Specific Exponents
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing CNN implementations face challenges in terms of resource efficiency, particularly in silicon area and processing power, and require flexibility to adapt to changing definitions due to additional training.
Innovation Solution
A hardware implementation of CNNs using fixed-point format for weight and data vectors, with configurable logic circuitry and convolution blocks that optimize bit representation based on layer-specific value ranges, reducing redundancy and enhancing precision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by stationary object
If fixed-point format with layer-specific exponent optimization is used, then silicon area and power consumption are reduced, but hardware complexity increases due to configurable logic circuitry
Solution Approach 1:
The patent applies local quality by implementing layer-specific exponent optimization where different exponent values are used for different layers of the CNN. The hardware configuration allows each layer to have customized exponent parameters tailored to the specific range of weight and data values in that layer, rather than using a uniform exponent across all layers. This localized optimization reduces the total number of bits required for representation in each layer, thereby reducing silicon area and power consumption while maintaining numerical accuracy.
Solution Approach 2:
The patent implements dynamics through configurable logic circuitry that can be programmed with different exponent values for different layers. The hardware is designed to be reconfigurable, allowing the exponent parameters to be dynamically adjusted based on the specific CNN architecture and layer requirements. This dynamic configuration capability enables the system to adapt to varying data ranges across layers while maintaining optimized resource utilization.
2Area of stationary object
If fixed-point format with layer-specific exponent optimization is used, then silicon area is minimized, but manufacturing precision becomes more difficult due to configurable logic circuitry
Solution Approach 1:
The patent reduces silicon area by implementing local quality through layer-specific exponent optimization. Each layer is analyzed to determine the appropriate exponent value based on the actual range of weight and data values in that layer. This localized approach ensures that only the necessary number of bits are allocated for each layer, minimizing the total silicon area required while maintaining the precision needed for accurate computations in each specific layer.
3Productivity
If traditional floating-point format is used, then processing capabilities are sufficient, but power consumption and silicon area increase
Solution Approach 1:
The patent applies parameter changes by transitioning from floating-point format to fixed-point format with layer-specific exponent optimization. This parameter change involves modifying the numerical representation scheme to use a fixed number of bits for the integer part and a fixed exponent for each layer, rather than using variable-length floating-point representation. The exponent parameter is optimized for each layer based on the specific data range, which reduces the total number of bits required and consequently reduces power consumption and silicon area while maintaining sufficient processing capabilities for CNN computations.
4Device complexity
If uniform fixed-point format is used across all layers, then hardware simplicity is maintained, but precision is reduced due to redundant bits
Solution Approach 1:
The patent resolves this contradiction by implementing local quality through layer-specific exponent optimization. Instead of using a uniform fixed-point format across all layers, the system analyzes the specific data range and weight distribution in each layer and assigns an optimized exponent value for that layer. This localized customization eliminates redundant bits in layers with smaller value ranges while maintaining sufficient precision in layers that require higher precision, thereby improving overall system precision without significantly increasing hardware complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Hardware to implement a convolutional neural network (CNN). The hardware comprises a convolution block that comprises a convolution operation hardware element. The convolution operation hardware element is configured to: perform a first inner product between a first weight vector and a first data vector for a layer of the CNN, the first weight vector comprising a plurality of weight values in a fixed point format defined by a number of integer bits and an exponent, the first data vector comprising a plurality of data values in a fixed point format defined by a number of integer bits and an exponent; receive a first data index indicating the exponent for the data values of the first data vector; receive a first weight index indicating the exponent for the weight values of the first weight vector; and calculate an exponent of the first inner product by adding the exponent for the data values of the first data vector and the exponent for the weight values of the first weight vector.