Variability-tolerant Convolutional Neural Network for Pattern Recognition applications based on OxRAM synapses

Software implementations of artificial Convolutional Neural Networks (CNNs), taking inspiration from biology, are at the state-of-the-art for Pattern Recognition (PR) applications and they are successfully used in commercial products [1]. However, they require power-hungry CPU/GPU to perform convolution operations based on computationally expensive sums of multiplications. This hinders their integration in portable devices. Some full CMOS-based hardware implementations of CNN have been suggested, but they still require the computation of multiplications [2]. In this work, we present for the first time to our knowledge a spike-based hardware implementation of CNN using HfO2 based OxRAM devices as binary synapses. OxRAM devices are chosen for their low switching energy [3] and promising endurance performance [4]. We perform an experimental and theoretical study of the impact of programming conditions at both device and system levels. A complex visual pattern recognition application is demonstrated with a spike-based hierarchical CNN, inspired from the mammalian visual cortex organization. A high accuracy (pattern recognition rate >94%) is obtained for all the tested programming conditions, even if the variability associated to weaker programming conditions is larger.