FPGA implementation of spiking convolutional neural networks for voice keyword recognition

The spiking convolutional neural network (SCNN) is a hybrid model of both the spiking neural network (SNN) and convolutional neural network (CNN). It is known to be power efficient and accurate. Although SCNN has shown promising accuracy for voice keyword recognition in software environment, its com...

Full description

Saved in:
Bibliographic Details
Main Author: Ng, Wei Soon
Other Authors: Goh Wang Ling
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2021
Subjects:
Online Access:https://hdl.handle.net/10356/149182
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:The spiking convolutional neural network (SCNN) is a hybrid model of both the spiking neural network (SNN) and convolutional neural network (CNN). It is known to be power efficient and accurate. Although SCNN has shown promising accuracy for voice keyword recognition in software environment, its computation time remains the biggest challenge of the model. To improve the computational speed of SCNN, a highly efficient Field-Programmable Gate Array (FPGA)-based SCNN hardware architecture for voice keyword recognition is proposed in this project. The design methodology engages the parallelism and flexibility of FPGA to achieve high speed computation. The proposed architecture is fully pipelined to maximize the efficiency of the system. Furthermore, the spiking model used in this work is the Izhkevich spiking model [1] which is of much less complexity and yet able to achieve competitive accuracy when compared to the Hodgkin-Huxley spiking model [2]. The proposed SCNN model achieves an accuracy of 89% with zero accuracy loss upon mapping from the software environment to the hardware environment. Besides, through retraining and fixed-point quantization techniques, the memory consumption of weights and other parameters stored on FPGA is reduced by 8 times without compromising the accuracy. The proposed design flow for implementing the SCNN model serves as a good reference for future design, to help reduce the development time of SCNN model on FPGA.