Neural Network Hardware Accelerator Using LUT-Based Nonlinear Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware accelerators for neural networks face challenges in processing complex input data in real-time due to high computational demands, which limits their ability to analyze massive data effectively.
Innovation Solution
A processor-implemented hardware accelerator method that uses a lookup table (LUT) generated from a neural network, where input data is compared to preset range values to determine an address, and values from the LUT are used to calculate a nonlinear function, enabling operations like softmax to be performed efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional computational architecture is used to process neural network operations, then processing capability can be improved, but computational overhead and time consumption increase significantly
Solution Approach 1:
The patent pre-calculates and stores nonlinear function values (such as softmax results) in a lookup table during the training phase. During inference, the system directly retrieves pre-computed values from the LUT based on input data ranges, eliminating the need for real-time computation of complex nonlinear functions. This preliminary preparation of computational results resolves the contradiction by shifting computation from runtime to training time.
Solution Approach 2:
The patent creates a simplified copy of the neural network's computational functionality through a lookup table that stores pre-computed nonlinear function values. Instead of executing the full computational process during inference, the system uses a compact LUT structure that replicates the essential nonlinear transformation capability. This copying approach maintains processing accuracy while dramatically reducing computational overhead and time consumption.
2Measurement precision
If complex nonlinear functions are computed in real-time, then accuracy can be maintained, but computational overhead increases
Solution Approach 1:
The system pre-computes nonlinear function values (e.g., softmax outputs) across the entire input range during training and stores them in a lookup table. During inference, accurate results are obtained by retrieving pre-computed values corresponding to the input data's range, eliminating complex real-time calculations while maintaining precision.
Solution Approach 2:
The patent divides the input data range into multiple segments or ranges, with each range having its corresponding nonlinear function values pre-computed and stored in the LUT. This segmentation allows the system to maintain accuracy within each range while reducing overall computational complexity by avoiding continuous function evaluation across the entire input space.
3Speed
If lookup table is used to store pre-computed values, then processing speed improves, but memory requirements increase
Solution Approach 1:
The patent implements a range-based lookup table where different segments of the LUT correspond to different input data ranges. Each range entry stores only the necessary nonlinear function values for that specific range, rather than storing complete function evaluations for all possible inputs. This local quality approach optimizes memory usage by storing only relevant pre-computed values for each input range, balancing processing speed improvements with memory efficiency.
Data Source
AI summary
A processor-implemented hardware accelerator method includes: receiving input data; loading a lookup table (LUT); determining an address of the LUT by inputting the input data to a comparator; obtaining a value of the LUT corresponding to the input data based on the address; and determining a value of a nonlinear function corresponding to the input data based on the value of the LUT, wherein the LUT is determined based on a weight of a neural network that outputs the value of the nonlinear function.


