Binary Convolutional Neural Network Quantization for DRAM Bus Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current machine learning algorithms for multimedia data analysis face challenges in computational efficiency due to limited computing resources, leading to degradation in service delivery, particularly in high-resolution runs and large prognostic variables, where existing algorithms are not optimized for network bandwidth, CPU cycles, and memory usage.
Innovation Solution
Implementing binary convolution in binary convolutional neural networks (bCNNs) that aggressively quantize weights and input activation spaces into binary +1/−1, reducing operations to integer XOR, POPCOUNT, and IADD, and using single-shot layer-wise fusion to minimize real-valued data transitions, thereby optimizing performance and memory consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If binary convolution is implemented in bCNNs to reduce operations to integer XOR, POPCOUNT, and IADD, then computational speed is improved, but implementation complexity increases
Solution Approach 1:
The patent replaces traditional floating-point arithmetic operations with binary integer operations (XOR, POPCOUNT, IADD). This substitution transforms the computational mechanism from complex floating-point math to simpler bit-level operations, achieving speedup while managing complexity through algorithmic transformation rather than hardware modification
Solution Approach 2:
The patent changes the data representation parameter from floating-point to binary integer values. By quantizing weights and activations to binary ±1 values, the system fundamentally alters the computational parameters to enable faster integer operations while maintaining network functionality through appropriate loss functions and training procedures
2Quantity of substance
If single-shot layer-wise fusion is used to minimize real-valued data transitions, then memory consumption is reduced, but computational overhead increases
Solution Approach 1:
The patent merges multiple operations (convolution, batch normalization, activation) into single fused layers that operate entirely in binary domain. This consolidation eliminates intermediate real-valued data transitions to DRAM, reducing memory consumption by keeping data in fast on-chip memory throughout the computation pipeline
Solution Approach 2:
The patent segments the neural network into distinct binary and real-valued portions, with binary convolutional layers processed through fused operations and real-valued operations (like softmax) handled separately. This segmentation allows optimization of the binary portions without compromising the functionality of real-valued operations
3Productivity
If binary quantization is applied to weights and activations, then computational efficiency is improved, but model accuracy may deteriorate
Solution Approach 1:
The patent changes the precision parameter from floating-point to binary, but compensates by introducing scale factors and bias terms that restore the dynamic range and precision needed for accurate computations. The binary values are combined with these additional parameters to maintain representational capacity
Solution Approach 2:
The patent incorporates feedback mechanisms during training where the binary quantization error is computed and used to adjust the scale factors and bias terms. This feedback loop allows the system to adapt to the quantization effects and maintain accuracy despite the reduced precision
Data Source
AI summary
In one embodiment, a method includes receiving an input tensor corresponding to a media object at a binary convolutional neural network, wherein the binary convolutional neural network comprises at least one binary convolution layer comprising one or more weights, and wherein the media object is associated with a particular task, binarizing the input tensor by the at least one binary convolution layer, binarizing the one or more weights by the at least one binary convolution layer, and generating an output corresponding to the particular task by the binary convolutional neural network based on the binarized input tensor and the binarized one or more weights.


