  The problem of identifying voice commands has always been a challenge due to
the presence of noise and variability in speed, pitch, etc. We will compare the
efficacies of several neural network architectures for the speech recognition
problem. In particular, we will build a model to determine whether a one second
audio clip contains a particular word (out of a set of 10), an unknown word, or
silence. The models to be implemented are a CNN recommended by the Tensorflow
Speech Recognition tutorial, a low-latency CNN, and an adversarially trained
CNN. The result is a demonstration of how to convert a problem in audio
recognition to the better-studied domain of image classification, where the
powerful techniques of convolutional neural networks are fully developed.
Additionally, we demonstrate the applicability of the technique of Virtual
Adversarial Training (VAT) to this problem domain, functioning as a powerful
regularizer with promising potential future applications.
