A Multilayer Neural Network Merging Image Preprocessing and Pattern Recognition by Integrating Diffusion and Drift Memristors
Zhiri Tang, Ruohua Zhu, Ruihan Hu, Yanhua Chen, Edmond Q. Wu, Hao Wang, Jin He, Qijun Huang, Sheng Chang
FFully Memristive Neural Network Merging Image Preprocessing and Pattern Recognition
Zhiri Tang, Yanhua Chen, Ruohua Zhu, Hao Wang, Jin He,
Senior Member, IEEE , Qijun Huang, and Sheng Chang,
Senior Member, IEEE
Abstract — With the development of research on novel memristor model and device, fully memristive neural networks have become a hot research topic recently. However, some other devices besides memristors are still needed in state-of-the-art works about fully memristive neural networks. In this paper, a novel kind of fully memristive neural network is introduced, in which diffusion and drift memristor models are applied to construct neural network for both image preprocessing and pattern recognition, respectively. Specifically, the entire network consists of two diffusion memristive cellular layers and one drift memristive feedforward layer. Experimental results show that a good recognition accuracy of noisy MNIST is obtained due to the fusion of image preprocessing and pattern recognition. Moreover, owing to high-efficiency in-memory computing and brief spiking encoding methods, high processing speed and few hardware resources of the entire network are achieved.
Index Terms — fully memristive neural network, diffusion memristive cellular layer, drift memristive feedforward layer, image preprocessing, pattern recognition I. I
NTRODUCTION . O. Chua postulated memristor [1] in 1971, which is the fourth basic element besides resistor, inductor, and capacitor. In general, memristor can be divided into two main types [2]: drift memristor and diffusion memristor. HP Lab made drift memristor in 2008 first [3] while diffusion memristor was first presented by UMass in 2016 [4]. Since memristor device has been realized, research related to memristor have emerged one after another. Recently, neuromorphic computing with memristive neural networks (MNNs), which use memristor as artificial synapse [5], has become a hot research topic due to memristor’s potential on many combinatorial descriptions of biological synapse’s characteristics [6], such as spike timing-dependent plasticity (STDP) [7], long-term potentiation (LTP) [8], and long-term depression (LTD) [9]. Furthermore, memristor has many advantages, such as in-memory computing [10], high integration density [11] ,and small dimension [12]. Hence, memristive neural networks show great potential on many areas including pattern recognition [13], edge detection [14], and high performance computing [15].
Although the number of existing works about memristor are growing, most research and applications still used the drift memristor only [16]-[17]. In these years, the emergence of diffusion memristor gives room for the development of MNNs with richer functions and stronger performance. Q. F. Xia and J. J. Yang described diffusion memristor as a synaptic emulator for neuromorphic computing [4] when they first time made the diffusion memristor device in UMass. Z. Wang applied diffusion memristor into artificial nociceptor [18] and pattern recognition [19], in which diffusion memristors were used as threshold switch and crossbar structure, respectively. However, how to explore the potential of diffusion memristor in other fields is a challenging problem. For example, according to state-of-the-art works, how to design fully memristive neural networks without other devices is an open area. One research about fully memristive neural networks used memristors and metal-oxide-semiconductor field effect transistors (MOSFET) [20] while another built a fully memristive crossbar by memristors, capacitors, and inductors [19]. From the above research, other devices are still needed in fully memristive neural networks, which limit not only improvements on scalability [21] and processing speed [22], but also simplifications on fabrication process [23] of the entire networks. Further, existing research about MNNs in image processing have many different applications, such as edge detection [24] and image storage [25]. While, how to combine image preprocessing with learning systems and explore the potential of diffusion memristor in image processing are not seen. Image preprocessing with MNNs can improve the L This work was supported by the National Natural Science Foundation of China (61874079 and 61574102), the Fundamental Research Fund for the Central Universities, Wuhan University (2042017gf0052), the Wuhan Research Program of Application Foundation and Frontier Technology (2018010401011289), and the Luojia Young Scholars Program. Part of calculation in this paper has been done on the supercomputing system in the Supercomputing Center of Wuhan University. (
Corresponding author: Sheng Chang ) Zhiri Tang, Ruohua Zhu, Hao Wang, Jin He, Qijun Huang, and Sheng Chang are with the School of Physics and Technology, Wuhan University, Wuhan, 430072, China. Yanhua Chen is with State Key Laboratory of Information Engineering in Surveying, Mapping and Remote Sensing (LIESMARS), Wuhan University, Wuhan, 430072, China. (E-mail: [email protected]; [email protected]). erformance of entire systems including recognition accuracy, processing speed, and hardware resource. Hence, novel fully memristive neural networks, which use drift and diffusion memristor models only, and combine image preprocessing with learning systems smoothly, need to be developed. Inspired by the above, this paper designs a fully memristive neural network using diffusion and drift memristor models only. The main contributions are summarized as follows: a.
A novel fully memristive neural network is designed, which combines image preprocessing with learning systems. Through this way, a fully memristive system with high-efficiency in-memory computing and brief spiking encoding methods is implemented, which lays a solid foundation for achieving good performance for machine learning tasks. b. To verify its merits, the MNNs are applied to noisy pattern recognition on hardware. Image denoising and pattern recognition are implemented by image preprocessing and learning systems, respectively. Hence, it achieves high noisy pattern recognition accuracy with high processing speed and few hardware resources. II. O
VERVIEWS OF A LGORITHMS
In this section, a novel fully memristive neural network with function of image preprocessing and learning systems is pointed out. The memristive neural network consists of two diffusion memristive layers for image preprocessing and one drift memristive layer for pattern recognition, which are shown as Fig. 1. To verify the function of image preprocessing and learning systems, the entire network is applied to denoising and pattern recognition for noisy image.
A. Diffusion Memristive Cellular Layer for Preprocessing
The basic diffusion memristor model was proposed by researchers from UMass [4] and has similar characteristics to a threshold switch, which is shown as Fig. 2. If the hold time of input voltage spikes of diffusion memristor model is the same, when the spikes exceed the set threshold, the diffusion memristor will “open” and the output current spikes will follow the high input voltage spike. Due to the switching characteristics, diffusion memristor model can be seen as a natural mean filter. The basic diffusion memristor model with the same hold time of input voltage spikes is as follow: { ( ) output input I t U = , input U Threshold ( ) 0 output I t = , input U Threshold (1) To introduce the spiking encoding methods, a black and white binary image is taken as an example. First, pixels in the image need to be converted into spikes and the hold time of each spike keeps same. Then, the pixel value corresponds to the height of its peak voltage spike. If the pixel is black, whose pixel value is 255, the spike height of this pixel will be 255. If the pixel is white, the height will be 0, which is shown as Fig. 3. The process of diffusion memristive cellular layer, which has the functions of denoising and edge detection for image preprocessing, is shown as Fig. 4. The fire thresholds of each diffusion memristor model have been set separately. Then it will compare the surrounding eight pixels with the target Fig. 1. Overview of entire network
Fig. 2. Switching characteristic of diffusion memristor model
Fig. 3. The way pixels are converted into spikes ixel in turn. The voltage spikes of surrounding pixel and target pixel are applied to two ends of diffusion memristor, respectively. Hence, the difference between these two voltage spikes of pixels determines the output current spike of this diffusion memristor. After eight comparisons, the sum of output current is the processed pixel through this cellular layer. The process ends after each pixel of the image has been compared with the surrounding eight pixels. To test the preprocessing performance of diffusion memristive cellular layer, common random Gaussian noise is added to original images. The Gaussian noise follows: xf x −= − (2) which has: xP x − −− = − = (3)
22 22 xP x − −− = − = (4) The denoising preprocessing system uses one image of number 0 from MNIST and the parameters of Gaussian noise are: (0,10 ^ 4) Noise N = (5) which has = and = . The entire preprocessing part is shown as Fig. 5. It can be divided into two parts: memristive cellular layer 1 for denoising and layer 2 for edge compensation. As a natural mean filter, diffusion memristors can filter out the edge information of original image when they filter most random noise. Hence, layer 2 supports the function of edge compensation through adding the edge detection results of original image to the noisy image after layer 1. In this way, while getting a good denoising performance, the original image information is also restored as much as possible. To fullfil the denoising function, the thresholds of diffusion memristors in layer 1 should be set to a value that filters out most Gaussian noise. From formula (4), the thresholds of diffusion memristors in layer 1 are set to , which can filter 95.4% noise. Fig. 4. The image preprocessing of diffusion memristive cellular layer Fig. 5. The training process of diffusion memristive cellular layer 1 and 2 for image preprocessing urther, the function of layer 2 is edge compensation, so the thresholds of layer 2 are set to a value which has a good edge detection performance without too much noise. From formula (3), the thresholds of diffusion memristors in layer 3 are set to . From Fig. 5, the processed image of number 0 shows a good denoising and restoration performance through adding the denoising from layer 1 with the edge compensation from layer 2. Further, the preprocessing layers also have the same denoising effect for images of other numbers in MNIST. B. Drift Memristive Feedforward Layer for Pattern Recognition
In HP memristor model, the value of drift memristor ( )
M t can be calculated as: ( ( )) ( )( ) ( ( )) ( ) d t U tM t d q t I t = = (6) The relationship between the voltage at two ends of memristor ( )
U t and the current through drift memristor ( )
I t is: ( ) ( )[ ( ) ( ) ] tonoff off on v RU t I t R R R I t dtD − = − − (7) So we have: ( ) ( ) ( ) tonoff off on v RM t R R R I t dtD − = − − ( ) t k k I t dt − = − (8) where off k R = and ( ) onoff on v Rk R R D = − . The change of synaptic weight equals to change of reciprocal value of drift memristor [4, 5, 9], which has: t dW dG d dM t k k I t dt − = = = − (9) Due to the way spikes encoded, ( ) I t denotes the constant for a specific pixel and ( )
I t dt is the charge through this drift memristor, which is the area of spikes in the coordinate system. So we have: ( ) spike
M t k k Area = − g (10) spike dW dG d dM t k k Area = = = − (11) From above, the value of drift memristor keeps a linear relationship with the total area of spikes. If input spikes of one drift memristor are from black pixels, the drift memristor corresponding to these black pixels will be lower than that corresponding to white pixels, which is a brief and efficient training process for one drift memristor. The total drift memristive feedforward layer is shown as Fig. 6. Each pixel has one drift memristor model to act as its synaptic weight. If one image is input into the feedforward layer during the training process, all the values of drift memristors will be changed. During the test process, the same input voltages are applied to each drift memristor in layer 3. Due to the difference in drift memristors after training, the output currents are different and imaging with the output current image represents the output of the test image. Fig. 6. The training process of drift memristive feedforward layer 3 for pattern recognition . Entire Network Architecture
The architecture and training process of entire network are shown as Fig. 7. First, random Gaussian noises are added to original images from MNIST. Then noisy images are converted into voltage spikes, which are represented by blue lines. Second, these voltage spikes are input into diffusion memristive layer 1 and layer 2, respectively. The output current spikes from layer 1 and layer 2, which are represented by red lines, are input into drift memristive layer 3 together. Finally, the values of drift memristors in layer 3 will be changed during the training process. The test process of entire network is shown as Fig. 8, which needs drift memristive layer 3 only. From above, the values of drift memristors vary after training. Hence, the same voltage spikes are applied to each drift memristor in layer 3 during the test process and the output current spikes gives the classification results. III. O
VERVIEWS OF H ARDWARE D ESIGN
In this section, circuit diagrams of diffusion memristive layer, drift memristive layer, and entire network are introduced. Further, some hardware optimization techniques are used to improve the hardware performance including processing speed and hardware resource. Fig. 7. The architecture and training process of entire network Fig. 8.
The test process of entire network
A. Circuit Diagram of Diffusion Memristive Cellular Layer
The circuit diagram of diffusion memristive cellular layer for image preprocessing is shown as Fig. 9. The input includes clock signals, reset signals, and voltages of target pixel and eight surrounding pixels. The output is the processed pixel composed by current spikes. In diffusion memristor comparer, each pixel has two diffusion memristors for positive and negative comparisons. Clock signals controlled data selector determines the order of comparisons. The entire memristive cellular layer is pipelined without any complex calculation inside. Hence, the processing speed of the entire system is quite high theoretically.
B. Circuit Diagram of Drift Memristive Feedforward Layer
The circuit diagram of drift memristive feedforward layer is shown as Fig. 10. The input includes clock signals, reset signals, and the pixels of preprocessing images. The controller module determines the state of the entire circuit. The right end of drift memristor model is linked to ground directly during training process. From formula (8), the values of drift memristor models are determined by input current. If the values of drift memristors are tested as ordinary resistors, the values of drift memristors will be changed, which will affect the accuracy of experimental results. Hence, the right end of drift memristor model is linked to one spike current source during test process and the output of the entire circuit is the voltage of drift memristor. If the height of spikes is constant 1, the values of drift memristors will numerically equal to the output voltage. The
Fig. 9. The circuit diagram of diffusion memristive cellular layer for image preprocessing
Fig. 10. The circuit diagram of drift memristive feedforward layer for pattern recognition ntire memristive feedforward layer, just like cellular layer, is pipelined without any complex calculation inside. Hence, the hardware performance of the entire system is good theoretically.
C. Hardware Optimization and Circuit Diagram of Entire Network
The circuit diagram of entire network’s training and test is shown as Fig. 11. The inputs include clock, reset, training images, test voltages and selection signals. The output is the classification result image. The entire network consists of four main parts: diffusion memristive cellular layer 1 (Diffusion Layer 1), diffusion memristive cellular layer 2 (Diffusion Layer 2), drift memristive feedforward layer 3 (Drift Layer 3) and control module. The control module is controlled by selection signals to decide whether the network is in training or test process. For both of training and test processes, the input are voltage spikes and outputs are current spikes. From above, the entire network, which is a fully memristive system with in-memory computing, is concise and efficient. The proposed multilayer fully memristive neural network is with in-memory computing and has quite brief and high-efficiency spiking encoding methods. Hence, to verify the network’s performance on hardware, Field Programmable Gate Array (FPGA) is chosen as hardware platform. FPGA is controlled by clock signals so that it is very suitable to process spiking signals in many applications [26-29]. Further, in order to maximize the processing speed of the entire network, pipeline design methods of hardware including loading and calculation are adopted, which is shown as Fig. 12. Nine pixels of images are used as a basic unit to perform the training and test operations. The reason for choosing nine pixels as a basic unit is that it can perform a complete denoising, edge compensation and pattern recognition through layer 1, layer 2 and layer 3, respectively.
IV. E
XPERIMENTAL R ESULTS AND A NALYSIS
In this section, MNIST dataset with random noise [30] is chosen to test the accuracy of noisy pattern recognition. Further, the entire fully memristive neural network with image preprocessing and pattern recognition is implemented and optimized on hardware platform to test the performance of hardware resource and processing speed.
A. Pattern Recognition
Noisy MNIST, which includes 60,000 training images and 10,000 test images with random Gaussian noise (0,10 ^ 4) N , is chosen as the training and test dataset. The noisy MNIST consists of binary images of 10 numbers from 0 to 9 with 28*28 pixels. The images of output current spikes from layer 3 without preprocessing are shown as Fig. 13(a) and the images with preprocessing are shown as Fig. 13(b). The Fig. 11. The circuit diagram of entire network’s training and test Fig. 12. Using basic unit of nine pixels to perform loading and calculation operations righter parts of the output image represent the corresponding pixels which have smaller values of drift memristors and higher synaptic weights. From above, one can see that the diffusion memristive cellular layer 1 and layer 2 play an important role in denoising of output images. In other words, the image preprocessing of the entire network has a good denoising performance during pattern recognition tasks. To test the accuracy of pattern recognition for noisy MNIST, it needs to compare the output current spikes with standard images of output current spikes only. The recognition accuracy of noisy MNIST is shown as TABLE I. The test accuracy with preprocessing is 91.55% after training. From above, the fully memristive neural network with image preprocessing and pattern recognition is efficient in improving recognition accuracy of noisy MNIST. B. Processing Speed and Hardware Resource
As mentioned above, nine pixels of images are used as a basic unit to perform the training and test operations. Hence, loading and calculation of one image with 28*28 pixels needs (28-2)*(28-2)=676 times. Specifically, Stratix V: 5SGXEA7N2F45C2 is chosen as the FPGA platform to test the network’s performance. Through pipeline design, the processing speed and hardware resource are shown as TABLE II. Hence, it takes (60,000*676)/(517.87*10^6) =78.32ms to complete the training of 60,000 images and 676/(517.87*10^6)=1.31 μ s to test one image, which is much faster than state-of-the-art works. C. Performance Comparison
To evaluate network’s performance on pattern recognition accuracy, processing speed and hardware resource, comparison with other works has been done, which is shown as TABLE III. The latest two works about memristive neural networks for pattern recognition on hardware are chosen as comparison, including ESIL-MMNN [31] and HDR-MSN [30]. The criteria include dataset, accuracy, device type, hardware resource, and processing speed. Compared with ESIL-MMNN, our network on noisy MNIST is with roughly the same pattern recognition accuracy as ESIL-MMNN on non-noisy MNIST, benefiting to the image preprocessing function of our network. Further, our network uses less than a third of memristors in ESIL-MMNN because the multilayer structure in our network Fig. 13. The images of output current spikes after training (a) without preprocessing (b) with preprocessing TABLE I T
EST R ESULTS OF N OISY
MNIST
Expectation
0 1 2 3 4 5 6 7 8 9
Experiment results
0 968 20 29 23 11 121 11 24 8 19 1 0 1046 1 0 2 5 1 16 0 4 2 2 21 919 21 13 6 9 7 2 9 3 4 17 19 936 18 23 2 19 3 18 4 0 0 7 0 877 0 1 7 2 8 5 0 0 0 0 0 719 0 0 0 0 6 1 0 11 3 19 0 905 2 6 3 7 0 0 2 4 1 1 0 924 1 3 8 5 31 44 23 34 17 29 26 950 34 9 0 0 0 0 7 0 0 3 2 911 eeds few devices than the crossbar structure in ESIL-MMNN. Compared with HDR-MSN using the similar noisy MNIST dataset, complex convolutional neural networks are used in HDR-MSN while our network employs spiking signals to implement high-efficiency in-memory computing. Hence, our network has much higher processing speed under approximate accuracy and hardware resources. Further, these two works use drift memristors with some other devices while our network needs drift and diffusion memristors only. From above, one can see that our network has a good pattern recognition performance for noisy dataset due to the preprocessing function of diffusion memristive cellular layers and pattern recognition function of drift memristive feedforward layer. Further, owing to high-efficiency in-memory computing and brief spiking encoding methods, our network needs fewer hardware resources and has higher processing speed than state-of-the-art works.
V. C
ONCLUSIONS
In this paper, a novel fully memristive neural network, which consists of two diffusion memristive cellular layers for image preprocessing and one drift memristive feedforward layer for pattern recognition, is presented. Due to the denoising and edge compensation for preprocessing of diffusion memristive layers, the network has a good anti-noise performance and the recognition accuracy of noisy MNIST is over 90%. Further, because the in-memory computing and spiking encoding methods of the entire network are friendly for hardware implement, the processing speed is much higher and the hardware resources are fewer than the latest works. We hope this idea can give an inspiration for the works combining image preprocessing with machine learning, the applications of diffusion memristor, and designs of fully memristive neural networks and neuromorphic computing. R EFERENCES [1] L. Chua, “Memristor-the missing circuit element,”
IEEE Transactions on circuit theory , vol. 18, no. 5, pp. 507-519, Sep. 1971. [2] Q. Xia, et al. , “Memristor-CMOS hybrid integrated circuits for reconfigurable logic,”
Nano Letters , vol. 9, no. 10, pp. 3640, Sep. 2009. [3] D. B. Strukov, G. S. Snider, D. R. Stewart, and R. S. Williams, “The missing memristor found,”
Nature , vol. 453, no. 7191, pp. 80-83, May. 2008. [4] Z. Wang, et al. , “Memristors with diffusive dynamics as synaptic emulators for neuromorphic computing,”
Nature Materials , vol. 16, no. 1, pp. 101, Sep. 2016. [5] B. Linaresbarranco, and T. Serranogotarredona, “Memristance can explain Spike-Time-Dependent- -Plasticity in Neural Synapses,”
Nature Precedings , Mar. 2009. [6] S. H. Jo, et al. , “Nanoscale memristor device as synapse in neuromorphic systems,”
Nano Letters , vol. 10, no. 4, pp. 1297-1301, Mar. 2010. [7] S. Ambrogio, S. Balatti, F. Nardi, S. Facchinetti, and D. Ielmini, “Spike-timing dependent plasticity in a transistor-selected resistive switching memory,”
Nanotechnology , vol. 24, no. 38, pp. 384012, Sep. 2013. [8] C. Ting, J. Sung-Hyun, and L. Wei, “Short-term memory to long-term memory transition in a nanoscale memristor,”
Acs Nano , vol. 5, no. 9, pp. 7669-76, Aug. 2011. TABLE III P
ERFORMANCE C OMPARISON WITH S TATE-OF -T HE -A RT W ORKS
Design Dataset Accuracy Device types
Hardware resource Processing speed
ESIL-MMNN MNIST 91.7% Drift memristors and CMOS
TABLE II T HE P ROCESSING S PEED
AND H ARDWARE R ESOURCE OF E NTIRE N ETWORKS
Device Processing speed Hardware resource Training time Test time
Stratix V: 5SGXEA7N2F45C2 517.87MHz 145ALMs 78.32ms 1.31 μ s
9] A. Thomas, “Memristor-based neural networks,”
Journal of Physics D: Applied Physics , vol. 46, no. 9, pp. 093001, Feb. 2013. [10] S. Kvatinsky, et al. , “MAGIC—Memristor-Aided Logic,”
IEEE Transactions on Circuits & Systems II: Express Briefs , vol. 61, no. 11, pp. 895-899, Sep. 2014. [11] J. J. Yang, D. B. Strukov, and D. R. Stewart, “Memristive devices for computing,”
Nature Nanotechnology , vol. 8, no. 1, pp. 13-24, Dec. 2012. [12] D. Fan, M. Sharad, and K. Roy, “Design and Synthesis of Ultra Low Energy Spin-Memristor Threshold Logic,”
IEEE Transactions on Nanotechnology , vol. 13, no. 3, pp. 574-583, Mar. 2014. [13] E. Covi, et al. , "HfO2-based memristors for neuromorphic applications," in , 2016: IEEE, pp. 393-396. [14] S. Duan, X. Hu, Z. Dong, L. Wang, and P. Mazumder, “Memristor-based cellular nonlinear/neural network: design, analysis, and applications,”
IEEE Transactions on Neural Networks & Learning Systems , vol. 26, no. 6, pp. 1202-1213, Jul. 2015. [15] M. N. Bojnordi and E. Ipek, "Memristive boltzmann machine: A hardware accelerator for combinatorial optimization and deep learning," in , 2016: IEEE, pp. 1-13. [16] T. A. Anusudha, and S. R. S. Prabaharan, “A Versatile Window Function for Linear Ion Drift Memristor Model – A New Approach,”
AEU - International Journal of Electronics and Communications , vol. 90, pp. 130-139, Jun. 2018. [17] Z. Tang, et al. , "A hardware friendly unsupervised memristive neural network with weight sharing mechanism,"
Neurocomputing , vol. 332, pp. 193-202, Mar. 2019. [18] J. H. Yoon, et al. , “An artificial nociceptor based on a diffusive memristor,”
Nature Communications , vol. 9, no. 1, pp. 417, Jan. 2018. [19] Z. Wang, et al. , “Fully memristive neural networks for pattern classification with unsupervised learning,”
Nature Electronics , vol. 1, no. 2, pp. 137, Feb. 2018. [20] M. Hansen, F. Zahari, M. Ziegler, and H. Kohlstedt, “Double-Barrier Memristive Devices for Unsupervised Learning and Pattern Recognition,” F rontiers in Neuroscience , vol. 11, Feb. 2017. [21] R. Zhu, et al. , "Influence of Compact Memristors’ Stability on Machine Learning,"
IEEE Access , no. 7, pp. 47472-47478, Apr. 2019. [22] R. B. Hur and S. Kvatinsky, "Memristive memory processing unit (MPU) controller for in-memory processing," in , 2016: IEEE, pp. 1-5. [23] T. Chang, et al. , “Synaptic behaviors and modeling of a metal oxide memristive device,”
Applied Physics A , vol. 102, no. 4, pp. 857-863, Mar. 2011. [24] Z. Tang, et al. , "Fully Memristive Spiking-Neuron Learning Framework and Its Applications on Pattern Recognition and Edge Detection," arXiv preprint arXiv: , 2019. [25] Y. V. Pershin, and M. Di Ventra, "Experimental demonstration of associative memory with memristive neural networks,"
Neural Networks , vol. 23, pp. 881-886, Sep. 2010. [26] C. D. Schuman, et al. , “A survey of neuromorphic computing and neural networks in hardware,” arXiv preprint arXiv:1705.06963 , 2017. [27] K. Cheung, S. R. Schultz, and W. Luk, “NeuroFlow: A General Purpose Spiking Neural Network Simulation Platform using Customizable Processors,”
Frontiers in Neuroscience , vol. 9, no. 19, pp. 516, Jan. 2016. [28] S. Cawley, “Hardware spiking neural network prototyping and application,”
Genetic Programming & Evolvable Machines , vol. 12, no. 3, pp. 257-280, Sep. 2011. [29] R. Hu, S. Zhou, Y. Liu, and Z. Tang, “Margin-Based Pareto Ensemble Pruning: An Ensemble Pruning Algorithm That Learns to Search Optimized Ensembles,”
Computational Intelligence and Neuroscience , vol. 2019, art. no. 7560872, Jun. 2019. [30] C. Li, et al. , “Efficient and self-adaptive in-situ learning in multilayer memristor neural networks,”
Nature Communications , vol. 9, no. 1, pp. 2385, Jun. 2018. [31] J. Wang, et al. , “Handwritten-digit recognition by hybrid convolutional neural network based on HfO2 memristive spiking-neuron,”
Scientific reports , vol. 8, no. 1, pp. 12546, Aug. 2018., vol. 8, no. 1, pp. 12546, Aug. 2018.