1. A computer program embodied on a non-transitory computer readable medium, said computer readable medium having instructions stored thereon that, when executed by a computer, causes the computer to perform: receiving a keyword that is to be detected by a neural network; creating a training vector; replacing a portion of the training vector with a portion of the keyword; inputting, in parallel, the training vector into the neural network; comparing an output of the neural network, generated in response to inputting the training vector, with a desired output; and modifying the neural network so that the output of the neural network corresponds to the desired output, wherein the replacing the portion of the training vector, the inputting, the comparing, and the modifying the neural network are performed a plurality of iterations, and each successive iteration changes the portion of the keyword that replaces the portion of the training vector.