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...

وصف كامل

محفوظ في:
التفاصيل البيبلوغرافية
المؤلف الرئيسي: Ng, Wei Soon
مؤلفون آخرون: Goh Wang Ling
التنسيق: Final Year Project
اللغة:English
منشور في: Nanyang Technological University 2021
الموضوعات:
الوصول للمادة أونلاين:https://hdl.handle.net/10356/149182
الوسوم: إضافة وسم
لا توجد وسوم, كن أول من يضع وسما على هذه التسجيلة!
الوصف
الملخص: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.