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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |
id |
sg-ntu-dr.10356-149182 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-1491822023-07-07T18:17:38Z FPGA implementation of spiking convolutional neural networks for voice keyword recognition Ng, Wei Soon Goh Wang Ling School of Electrical and Electronic Engineering Gao Yuan EWLGOH@ntu.edu.sg Engineering::Computer science and engineering::Computing methodologies::Artificial intelligence Engineering::Electrical and electronic engineering 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. Bachelor of Engineering (Electrical and Electronic Engineering) 2021-05-28T04:08:58Z 2021-05-28T04:08:58Z 2021 Final Year Project (FYP) Ng, W. S. (2021). FPGA implementation of spiking convolutional neural networks for voice keyword recognition. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/149182 https://hdl.handle.net/10356/149182 en B2063-201 application/pdf Nanyang Technological University |
institution |
Nanyang Technological University |
building |
NTU Library |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
NTU Library |
collection |
DR-NTU |
language |
English |
topic |
Engineering::Computer science and engineering::Computing methodologies::Artificial intelligence Engineering::Electrical and electronic engineering |
spellingShingle |
Engineering::Computer science and engineering::Computing methodologies::Artificial intelligence Engineering::Electrical and electronic engineering Ng, Wei Soon FPGA implementation of spiking convolutional neural networks for voice keyword recognition |
description |
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. |
author2 |
Goh Wang Ling |
author_facet |
Goh Wang Ling Ng, Wei Soon |
format |
Final Year Project |
author |
Ng, Wei Soon |
author_sort |
Ng, Wei Soon |
title |
FPGA implementation of spiking convolutional neural networks for voice keyword recognition |
title_short |
FPGA implementation of spiking convolutional neural networks for voice keyword recognition |
title_full |
FPGA implementation of spiking convolutional neural networks for voice keyword recognition |
title_fullStr |
FPGA implementation of spiking convolutional neural networks for voice keyword recognition |
title_full_unstemmed |
FPGA implementation of spiking convolutional neural networks for voice keyword recognition |
title_sort |
fpga implementation of spiking convolutional neural networks for voice keyword recognition |
publisher |
Nanyang Technological University |
publishDate |
2021 |
url |
https://hdl.handle.net/10356/149182 |
_version_ |
1772828805359992832 |