Go Unary: A Novel Synapse Coding and Mapping Scheme for Reliable ReRAM-based Neuromorphic Computing

Chang Ma1, Yanan Sun1,a, Weikang Qian2,3,b, Ziqi Meng2, Rui Yang2 and Li Jiang1,3,c

1School of Electronic Information and Electrical Engineering
2University of Michigan-Shanghai Jiao Tong University Joint Institute
3MoE Key Lab of Artificial Intelligence, Shanghai Jiao Tong University, Shanghai, China
asunyanan@sjtu.edu.cn
bqianwk@sjtu.edu.cn
cljiang_cs@sjtu.edu.cn

ABSTRACT

Neural network (NN) computing contains a large number of multiply-and-accumulate (MAC) operations, which is the speed bottleneck in traditional von Neumann architecture. Resistive random access memory (ReRAM)-based crossbar is well suited for matrix-vector multiplication. Existing ReRAMbased NNs are mainly based on the binary coding for synaptic weights. However, the imperfect fabrication process combined with stochastic filament-based switching leads to resistance variations, which can significantly affect the weights in binary synapses and degrade the accuracy of NNs. Further, as multi-level cells (MLCs) are being developed for reducing hardware overhead, the NN accuracy deteriorates more due to the resistance variations in the binary coding. In this paper, a novel unary coding of synaptic weights is presented to overcome the resistance variations of MLCs and achieve reliable ReRAM-based neuromorphic computing. The priority mapping is also proposed in compliance with the unary coding to guarantee high accuracy by mapping those bits with lower resistance states to ReRAMs with smaller resistance variations. Our experimental results show that the proposed method provides less than 0.45% and 5.48% accuracy loss on LeNet (on MNIST dataset) and VGG16 (on CIFAR-10 dataset), respectively, with acceptable hardware cost.

Keywords: Neural network, ReRAM, Crossbar, MLC, Variation, Unary coding



Full Text (PDF)