Hello Edge: Keyword Spotting on Microcontrollers

20 Nov 2017  ·  Yundong Zhang, Naveen Suda, Liangzhen Lai, Vikas Chandra ·

Keyword spotting (KWS) is a critical component for enabling speech based user interactions on smart devices. It requires real-time response and high accuracy for good user experience. Recently, neural networks have become an attractive choice for KWS architecture because of their superior accuracy compared to traditional speech processing algorithms. Due to its always-on nature, KWS application has highly constrained power budget and typically runs on tiny microcontrollers with limited memory and compute capability. The design of neural network architecture for KWS must consider these constraints. In this work, we perform neural network architecture evaluation and exploration for running KWS on resource-constrained microcontrollers. We train various neural network architectures for keyword spotting published in literature to compare their accuracy and memory/compute requirements. We show that it is possible to optimize these neural network architectures to fit within the memory and compute constraints of microcontrollers without sacrificing accuracy. We further explore the depthwise separable convolutional neural network (DS-CNN) and compare it against other neural network architectures. DS-CNN achieves an accuracy of 95.4%, which is ~10% higher than the DNN model with similar number of parameters.

PDF Abstract

Datasets


Task Dataset Model Metric Name Metric Value Global Rank Result Benchmark
Keyword Spotting Google Speech Commands DS-CNN Google Speech Commands V1 12 94.4 # 13
Keyword Spotting Google Speech Commands GRNN Google Speech Commands V1 12 94.0 # 14
Keyword Spotting Google Speech Commands GRU Google Speech Commands V1 12 93.5 # 15
Keyword Spotting Google Speech Commands LSTM Google Speech Commands V1 12 92.9 # 16
Keyword Spotting Google Speech Commands Basic LSTM Google Speech Commands V1 12 92.0 # 17
Keyword Spotting Google Speech Commands CNN Google Speech Commands V1 12 84.6 # 19
Keyword Spotting Google Speech Commands DNN Google Speech Commands V1 12 91.6 # 18

Methods