Voice detection with spiking neural network for smart sensor applications
A novel methodology that embeds machine learning algorithm on microcontrollers for real time training and processing, or in other words, online training on edge devices is described in this report. Due to memory limitation and single time dimensional processing of microcontroller unit (MCU), the Ard...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
Nanyang Technological University
2020
|
Subjects: | |
Online Access: | https://hdl.handle.net/10356/145056 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-145056 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-1450562023-07-07T17:25:25Z Voice detection with spiking neural network for smart sensor applications Hu, Jinhai Goh Wang Ling School of Electrical and Electronic Engineering A*STAR Institute of Microelectronics Gao Yuan GAOY@ime.a-star.edu.sg, EWLGOH@ntu.edu.sg Engineering::Electrical and electronic engineering A novel methodology that embeds machine learning algorithm on microcontrollers for real time training and processing, or in other words, online training on edge devices is described in this report. Due to memory limitation and single time dimensional processing of microcontroller unit (MCU), the Arduino Uno and Nano are engaged in this project. With that, traditional Artificial Intelligence (AI) algorithms were modified to suit the new working environment. Firstly, an improved Spiking Recurrent Neural Network (SRNN) based on Spiking Convolutional Neural Network (SCNN) is designed to realize better real time voice signal, and an accuracy of 99.8% in voice digit recognition on Matlab software platform was achieved. However, Long Short-Term Memory (LSTM) Neural Network in SRNN trained all weights in floating 32-bit applications. Thus, for hardware convenience, a dynamic bias and advanced processing LSTM is designed and tested in floating 32-bit, fixed 1-bit and fixed 2-bit system, each achieved final loss of 0.0425, 0.0446 and 0.0453 in mean square error (MSE), respectively. Not only software programming was innovated in this project, hardware implementation had also been realized using different components. A multi-layer perceptron neural network that deployed 16% of the Arduino Uno flash memory was established to recognize a 7-segment LED displayer, and finally achieved a mere 0.0004 error, thus verified that simple neural network can built on an ATMEGA328P processor, an 8-bit AVR microcontroller with 32K Bytes in-system programmable flash memory. Moreover, a voice command recognition had been achieved 97.5% accuracy based on pre-well-trained neural network and Fast Fourier Transform (FFT) in a TensorFlow microprocessor library. Finally, a single spike neuron was simulated by one Arduino Uno board to mimic neuron’s performance under different cell state surroundings. Also, A simple Spiking Neural Network (SNN) made up by two series connected spike neurons, where each neuron was represented by an Arduino Uno board, was able to reproduce the excitation wave of series spiking neurons, All experiments in this final year project had verified that the proposed SNN for smart sensor applications is an interesting and valuable topic worth continuing for online training on edge devices. Bachelor of Engineering (Electrical and Electronic Engineering) 2020-12-09T07:47:28Z 2020-12-09T07:47:28Z 2020 Final Year Project (FYP) https://hdl.handle.net/10356/145056 en B2296-192 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::Electrical and electronic engineering |
spellingShingle |
Engineering::Electrical and electronic engineering Hu, Jinhai Voice detection with spiking neural network for smart sensor applications |
description |
A novel methodology that embeds machine learning algorithm on microcontrollers for real time training and processing, or in other words, online training on edge devices is described in this report. Due to memory limitation and single time dimensional processing of microcontroller unit (MCU), the Arduino Uno and Nano are engaged in this project. With that, traditional Artificial Intelligence (AI) algorithms were modified to suit the new working environment. Firstly, an improved Spiking Recurrent Neural Network (SRNN) based on Spiking Convolutional Neural Network (SCNN) is designed to realize better real time voice signal, and an accuracy of 99.8% in voice digit recognition on Matlab software platform was achieved. However, Long Short-Term Memory (LSTM) Neural Network in SRNN trained all weights in floating 32-bit applications. Thus, for hardware convenience, a dynamic bias and advanced processing LSTM is designed and tested in floating 32-bit, fixed 1-bit and fixed 2-bit system, each achieved final loss of 0.0425, 0.0446 and 0.0453 in mean square error (MSE), respectively. Not only software programming was innovated in this project, hardware implementation had also been realized using different components. A multi-layer perceptron neural network that deployed 16% of the Arduino Uno flash memory was established to recognize a 7-segment LED displayer, and finally achieved a mere 0.0004 error, thus verified that simple neural network can built on an ATMEGA328P processor, an 8-bit AVR microcontroller with 32K Bytes in-system programmable flash memory. Moreover, a voice command recognition had been achieved 97.5% accuracy based on pre-well-trained neural network and Fast Fourier Transform (FFT) in a TensorFlow microprocessor library. Finally, a single spike neuron was simulated by one Arduino Uno board to mimic neuron’s performance under different cell state surroundings. Also, A simple Spiking Neural Network (SNN) made up by two series connected spike neurons, where each neuron was represented by an Arduino Uno board, was able to reproduce the excitation wave of series spiking neurons, All experiments in this final year project had verified that the proposed SNN for smart sensor applications is an interesting and valuable topic worth continuing for online training on edge devices. |
author2 |
Goh Wang Ling |
author_facet |
Goh Wang Ling Hu, Jinhai |
format |
Final Year Project |
author |
Hu, Jinhai |
author_sort |
Hu, Jinhai |
title |
Voice detection with spiking neural network for smart sensor applications |
title_short |
Voice detection with spiking neural network for smart sensor applications |
title_full |
Voice detection with spiking neural network for smart sensor applications |
title_fullStr |
Voice detection with spiking neural network for smart sensor applications |
title_full_unstemmed |
Voice detection with spiking neural network for smart sensor applications |
title_sort |
voice detection with spiking neural network for smart sensor applications |
publisher |
Nanyang Technological University |
publishDate |
2020 |
url |
https://hdl.handle.net/10356/145056 |
_version_ |
1772826914731327488 |