Abstract

This work proposes a memristor-based quantized convolutional auto-encoder (MQCAE) and applies it in an image denoising application. The pulse width or amplitude is gradually tuned by incremental steps in current memristive programming methods, which can be extremely time-consuming. In this work, a multi-level programming method without incremental steps is proposed. MQCAE is composed of five kinds of network layers: convolution layers, deconvolution layers, activation function layers, batch normalization layers and max-pooling layers. We design a memristive circuit for realizing convolution and deconvolution with different kernel parameters. The proposed circuit generates one output feature row every cycle. Analog data buffers are designed to store the intermediate data among network layers. In addition, a reconfigurable analog circuit for realizing activation functions and batch normalization is presented. By using analog temp modules, convolution layers and max-pooling layers are able to compute simultaneously. We construct the MQCAE and introduce the pipeline technique among network layers based on the circuit modules. As a result, MQCAE is able to process one FashionMNIST image in 36 cycles with clock frequency 20 kHz. Finally, we verify the effectiveness of MQCAE in an image denoising task. The results show that the denoising performance of proposed scheme is close to software model while the processing speed is faster.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call