
Issues of implementing neural network algorithms on memristor crossbars
Author(s) -
A. Yu. Morozov,
Д. Л. Ревизников,
K. K. Abgaryan
Publication year - 2020
Publication title -
izvestiâ vysših učebnyh zavedenij. materialy èlektronnoj tehniki
Language(s) - English
Resource type - Journals
eISSN - 2413-6387
pISSN - 1609-3577
DOI - 10.17073/1609-3577-2019-4-272-278
Subject(s) - mnist database , convolutional neural network , computer science , artificial neural network , memristor , feature (linguistics) , algorithm , matrix (chemical analysis) , computer engineering , pattern recognition (psychology) , artificial intelligence , parallel computing , electronic engineering , engineering , linguistics , philosophy , materials science , composite material
The property of natural parallelization of matrix-vector operations inherent in memristor crossbars creates opportunities for their effective use in neural network computing. Analog calculations are orders of magnitude faster in comparison to calculations on the central processor and on graphics accelerators. Besides, mathematical operations energy costs are significantly lower. The essential feature of analog computing is its low accuracy. In this regard, studying the dependence of neural network quality on the accuracy of setting its weights is relevant. The paper considers two convolutional neural networks trained on the MNIST (handwritten digits) and CIFAR_10 (airplanes, boats, cars, etc.) data sets. The first convolutional neural network consists of two convolutional layers, one subsample layer and two fully connected layers. The second one consists of four convolutional layers, two subsample layers and two fully connected layers. Calculations in convolutional and fully connected layers are performed through matrix-vector operations that are implemented on memristor crossbars. Sub-sampling layers imply the operation of finding the maximum value from several values. This operation can be implemented at the analog level. The process of training a neural network runs separately from data analysis. As a rule, gradient optimization methods are used at the training stage. It is advisable to perform calculations using these methods on CPU. When setting the weights, 3—4 precision bits are required to obtain an acceptable recognition quality in the case the network is trained on MNIST. 6-10 precision bits are required if the network is trained on CIFAR_10.