Wake Word Detection Using Recurrent Neural Networks
MetadataShow full item record
Wake word detection is the process of continuously listening for some specific keyword or phrase which, when uttered, wakes up a system and initiates communication between the system and a user. This is a necessity for interaction with virtual assistants such as Google Now, Apple's Siri, Microsoft's Cortana, and Amazon's Alexa. The goal of this project was to implement and evaluate a wake word detection algorithm based on deep learning. Two systems were implemented using recurrent neural networks which were trained as binary classifiers designed to return a confidence score indicating whether a wake word was uttered or not within a speech frame. The first system was based on a commonly used approach in which features are extracted from a sliding window of fixed length. The second system was more experimental, and exploited some of the capabilities of recurrent neural networks in order to eliminate the need for overlapping and fixed-length windows. Both systems used GRU networks with 65,154 trainable parameters, and thus had a similar memory footprint. However, the experimental system cut the computation cost by nearly 80 \% compared to the sliding window based system, while also reducing the number of false detections. The results were highly encouraging, though there is still room for improvement. The first step would be using a larger and more diverse data set, and using a higher ratio of negatives to positives. Added layers, tweaking of parameters, regularization techniques or using a different type of cell in the network might also have a positive effect.