Fixed Point Integer Weights for Neural Network Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current neural networks in real-time applications face significant computational effort, leading to increased power usage and reduced battery life in mobile devices, while attempts to optimize resource usage often result in reduced classification accuracy.
Innovation Solution
Representing neural network weights as 8-bit fixed point integer values with associated scaling factors and correction values, which reduces memory transfer and computation costs, and applying these values in nodes of the network to maintain classification accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If neural network computations are offloaded to GPU, then computational speed is improved, but power consumption increases and conflicts with other GPU-intensive applications
Solution Approach 1:
The patent changes the numerical representation parameters of neural network weights from standard floating-point to fixed-point integer formats (e.g., 8-bit, 16-bit integers). This parameter change enables more efficient computation that can be performed on CPU with reduced power consumption while maintaining acceptable classification accuracy through appropriate precision selection and correction mechanisms.
Solution Approach 2:
The patent creates simplified copies of neural network weight data in fixed-point integer format, which can be processed more efficiently with lower computational resources. These fixed-point representations are lighter copies that reduce memory transfer requirements and enable faster processing without needing full-precision floating-point operations.
2Measurement precision
If standard floating-point weights are used, then classification accuracy is maintained, but memory transfer and computation costs increase
Solution Approach 1:
The patent systematically changes the precision parameters of weight representations from 32-bit floating-point to various fixed-point integer formats (8-bit, 16-bit). By adjusting the bit-depth and fractional precision parameters, the system finds optimal balances between classification accuracy and computational efficiency, demonstrating that lower-precision fixed-point formats can achieve comparable accuracy with significantly reduced computation costs.
Solution Approach 2:
The patent applies correction values to specific weights that require higher precision, rather than maintaining high precision across all weights. This partial application of high-precision correction where absolutely necessary, combined with lower-precision fixed-point representations for the majority of weights, achieves near-full-precision accuracy with substantially reduced computation and memory requirements.
3Productivity
If fixed point integer weights are used, then memory transfer and computation costs are reduced, but classification accuracy may be compromised
Solution Approach 1:
The patent introduces correction values as intermediary elements that mediate between fixed-point integer weights and the desired high-precision classification results. These correction values compensate for the quantization errors introduced by fixed-point representation, acting as a bridge that restores accuracy without requiring full-precision floating-point weights throughout the system.
Solution Approach 2:
The patent performs preliminary computation of correction values during an offline training or calibration phase, storing these pre-computed corrections for use during deployment. This preliminary action separates the accuracy-critical correction computation from the real-time classification process, allowing fixed-point weights to be used during inference while maintaining high accuracy through the pre-prepared correction data.
Data Source
AI summary
Techniques related to implementing neural networks for speech recognition systems are discussed. Such techniques may include processing a node of the neural network by determining a score for the node as a product of weights and inputs such that the weights are fixed point integer values, applying a correction to the score based on a correction value associated with at least one of the weights, and generating an output from the node based on the corrected score.


