Calibrating Crossbar Array Weights for Analog Neural Network Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Analog memory-based artificial neural networks face performance issues due to incorrect weight mapping on hardware, leading to inaccurate neural network outputs and poor precision in multiply-and-accumulate operations.
Innovation Solution
A method and apparatus for calibrating weights in crossbar arrays of resistive memory devices by comparing MAC outputs with target outputs, adjusting weights, and cascading hardware outputs from previous layers to calibrate subsequent layers, improving precision and prediction accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If weights are programmed on crossbar arrays for analog neural network, then neural network functionality is achieved, but precision of MAC operations deteriorates due to incorrect weight mapping
Solution Approach 1:
The patent applies preliminary action by performing calibration of weights before actual neural network inference. The calibration process pre-adjusts the weights programmed on crossbar arrays to compensate for hardware imperfections, ensuring that subsequent MAC operations achieve the required precision. This preliminary calibration step resolves the contradiction by preparing the system in advance to overcome the inherent precision limitations of analog weight mapping.
Solution Approach 2:
The patent implements feedback through an iterative calibration process where MAC outputs are compared with expected values, and weight adjustments are made based on the comparison results. The calibration procedure uses feedback from the actual hardware performance to refine weight mappings, thereby improving MAC operation precision while maintaining neural network functionality.
2Measurement precision
If weights are adjusted for calibration, then MAC operation precision is improved, but device complexity increases due to additional calibration procedures
Solution Approach 1:
The patent applies segmentation by dividing the calibration process into layer-by-layer procedures. Each crossbar array layer is calibrated independently using its own MAC outputs, breaking down the complex global calibration task into manageable local segments. This segmentation reduces the overall device complexity by making the calibration procedure modular and systematic rather than requiring complex global adjustments.
Solution Approach 2:
The patent implements self-service through autonomous calibration where each layer's calibration is performed using its own MAC outputs without requiring external intervention or complex external calibration equipment. The system calibrates itself by comparing its own outputs with expected values and automatically adjusting weights, thereby improving precision while minimizing the added complexity of external calibration systems.
3Measurement precision
If calibration is performed layer by layer using hardware outputs, then overall precision is improved, but calibration time increases
Solution Approach 1:
The patent applies segmentation by performing calibration in parallel across multiple layers simultaneously rather than sequentially. Each layer's calibration is independent and can be executed concurrently using its own MAC outputs, which divides the total calibration time into parallel operations. This segmentation strategy maintains high overall precision while significantly reducing the total calibration time compared to sequential processing.
Data Source
AI summary
Weights of a layer of an artificial neural network can be programmed on a crossbar array of resistive memory devices. The programmed weights can be calibrated to counteract fixed variability sources like CMOS variability by adjusting the programmed weights based on comparing the crossbar array's output with a target output. The crossbar array's output produced using the calibrated programmed weights can be input into a next crossbar array of resistive memory devices implementing a next layer of the artificial neural network to calibrate weights of the next layer of the artificial neural network programmed on the next crossbar array. The weights of the next layer of the artificial neural network programmed on the next crossbar array can be calibrated by adjusting the weights of the next layer based on comparing the next crossbar array's output with a next target output.


