CNN Processing With Lookup-Table Quantization for Embedded Hardware
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional neural networks implemented on embedded hardware like FPGA or microcomputers face reduced processing speed due to limited calculation resources when handling input values with many digits.
Innovation Solution
A neural network processing apparatus and method that includes a memory to store input signals and weights, performs convolutional operations, and uses a table to associate conversion-quantization processing inputs and outputs, reducing bit accuracy to speed up processing by referring to the table for conversion-quantization results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional neural network arithmetic processing is performed with high bit accuracy on embedded hardware, then processing precision is maintained, but processing speed deteriorates due to limited calculation resources
Solution Approach 1:
The patent pre-calculates and stores conversion-quantization results in a table before actual neural network processing. By performing the quantization operation in advance and storing results, the system avoids time-consuming arithmetic operations during real-time processing, thus resolving the contradiction between maintaining precision and improving speed on embedded hardware
Solution Approach 2:
The patent creates a lookup table that copies pre-computed quantization results for different input ranges. Instead of performing complex arithmetic operations with high bit accuracy during processing, the system copies relevant pre-calculated values from the table, maintaining sufficient precision while dramatically reducing computation time on resource-constrained embedded hardware
2Measurement precision
If the number of arithmetic processes is increased to maintain precision for input values with many digits, then processing accuracy is improved, but device complexity increases beyond embedded hardware capabilities
Solution Approach 1:
The patent segments the input range into multiple intervals and creates separate lookup table entries for each segment. By dividing the complex quantization problem into smaller segments with pre-calculated results, the system maintains processing accuracy without requiring complex real-time arithmetic operations, making it suitable for embedded hardware with limited calculation resources
Solution Approach 2:
The patent uses a lookup table that copies pre-computed quantization results for different input ranges. This approach replaces complex multi-digit arithmetic processes with simple table lookups, maintaining processing accuracy while significantly reducing device complexity and making the solution feasible for embedded hardware
3Measurement precision
If conventional convolutional operations with decimal input values are performed, then processing precision is maintained, but processing time increases due to repeated arithmetic operations
Solution Approach 1:
The patent performs quantization operations in advance and stores the results in a lookup table before actual convolutional processing. By pre-calculating quantization values for different input ranges, the system eliminates time-consuming arithmetic operations during real-time convolutional operations, thus reducing processing time while maintaining sufficient precision
Solution Approach 2:
The patent creates a lookup table that copies pre-computed quantization results. During convolutional operations, instead of performing repeated decimal arithmetic operations that consume time, the system copies pre-calculated values from the table based on input ranges, maintaining precision requirements while dramatically reducing processing time
Data Source
AI summary
A CNN processing apparatus (1) includes an input buffer (10) configured to store an input signal A given to a CNN, a weight buffer (11) configured to store weights U, a convolutional operation unit (12) configured to perform a convolutional operation including a product-sum operation of the input signal A and the weights U, a storage unit 16 configured to store a table (160) which is configured to associate an input and an output of conversion-quantization processing with each other, wherein the input is an operation result of the convolutional operation, and the output is a result of the conversion-quantization processing of converting the input value based on a predetermined condition and quantizing the converted value by reducing a bit accuracy of the converted data, and a processing unit (14) configured to acquire the output of the conversion-quantization processing corresponding to the operation result by the operation unit by referring to the table (160).


