约束重编程单元数量的忆阻器阵列闭环重映射算法
A Closed-Loop Remapping Algorithm for Memristor-Based Crossbar with a Constraint on the Number of Reprogramming Cells
-
摘要: 忆阻器阵列能够有效地加速神经网络中的矩阵运算, 但会受到老化的影响, 导致忆阻器阵列计算精度不满足要求. 为了继续使用忆阻器阵列, 提出一种基于重编程忆阻单元数量约束的闭环重映射算法. 首先根据忆阻器阵列的老化分布得出行偏差矩阵; 然后以行偏差矩阵中的最小值为起始点开始映射, 直至重映射关系形成闭环; 通过在映射过程中设置行偏差约束, 使得重映射后的行偏差总和尽可能小, 达到提高计算精度的目的; 通过对重编程单元数量进行约束, 尽可能减少需要重新编程的忆阻单元数量, 减轻重编程造成的忆阻器阵列老化. 在 Pytorch 上采用 MINST 数据集进行仿真测试的实验结果表明, 所提算法不仅能够有效地提高忆阻器阵列的计算精度, 而且与国际上同类方法相比, 在达到相同计算精度的前提下, 最多可以减少 75.43%的重编程单元数.Abstract: Memristor-based crossbar can effectively accelerate matrix-vector multiplication in neural network. However, the accuracy of crossbar may seriously decrease due to aging. Memristor-based crossbar will not meet the requirements of accuracy and cannot be used. To continue using the crossbar, this paper proposes a closed-loop remapping algorithm with a constraint on the number of reprogramming cells. Firstly, the row deviation matrix is obtained according to the aging distribution of memristor-based crossbar. The remapping algorithm starts from the minimum value of row deviation matrix until a closed-loop is formed. With the row deviation constraint during remapping process, the sum of row deviations is as small as possible to improve accuracy. Besides, the number of reprogramming cells can be greatly reduced to alleviate aging of crossbar with a constraint on reprogramming cells. Experimental results show that the proposed technique can effectively improve accuracy. Compared with other techniques, it can also reduce the number of reprogramming cells by up to 75.43% while achieving the same accuracy.