Convolutional neural networks
AssigneeGoogle Inc.
InventorsTara N. Sainath, Maria Carolina Parada San Martin
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for keyword spotting. One of the methods includes training, by a keyword detection system, a convolutional neural network for keyword detection by providing a two-dimensional set of input values to the convolutional neural network, the input values including a first dimension in time and a second dimension in frequency, and performing convolutional multiplication on the two-dimensional set of input values for a filter using a frequency stride greater than one to generate a feature map.
Claims16
A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising:
- training, by a keyword detection system, a convolutional neural network that comprises a first convolutional layer and a second convolutional layer, the convolutional neural network being trained for keyword detection of one or more key phrases by:
- providing a two-dimensional set of input values to the convolutional neural network, the input values including values across a first dimension in time and values across a second dimension in frequency;
- selecting, for use with the first convolutional layer only of the convolutional neural network, a filter having (i) a time span that extends over all of the input values in the first dimension, and (ii) a frequency span that extends over less than all of the input values in the second dimension;
- performing convolutional multiplication on the two-dimensional set of input values for the filter that has (i) the time span that extends over all of the input values in the first dimension, and (ii) the frequency span that extends over of less than all of the input values in the second dimension, using (i) a frequency stride greater than one, and (ii) a time stride equal to one, to generate a first output comprising a feature map;
- generating, by the second convolutional layer of the convolutional neural network, using the feature map, a second output;
- generating, by a linear low rank layer, using the second output, a third output;
- generating, by a deep neural network, using the third output, a fourth output;
- generating, by a softmax layer, using the fourth output, a final output;
- and
- updating, using the final output, a set of weight values for the filter without pooling values in the feature map in frequency;
- and
- after training the convolutional neural network for keyword detection, providing, by the keyword detection system, the trained convolutional neural network to a device for use by the device during keyword detection of the one or more key phrases.
A system comprising:
- a data processing apparatus;
- and
- a non-transitory computer readable storage medium in data communication with the data processing apparatus and storing instructions executable by the data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising:
- training, by a keyword detection system, a convolutional neural network that comprises a first convolutional layer and a second convolutional layer, the convolutional neural network being trained for keyword detection of one or more key phrases by:
- providing a two-dimensional set of input values to the convolutional neural network, the input values including values across a first dimension in time and values across a second dimension in frequency;
- selecting, for use with the first convolutional layer only of the convolutional neural network, a filter having (i) a time span that extends over all of the input values in the first dimension, and (ii) a frequency span that extends over less than all of the input values in the second dimension;
- performing convolutional multiplication on the two-dimensional set of input values for the filter that has (i) the time span that extends over all of the input values in the first dimension, and (ii) the frequency span that extends over of less than all of the input values in the second dimension, using (i) a frequency stride greater than one, and (ii) a time stride equal to one, to generate a first output comprising a feature map;
- generating, by the second convolutional layer of the convolutional neural network, using the feature map, a second output;
- generating, by a linear low rank layer, using the second output, a third output;
- generating, by a deep neural network, using the third output, a fourth output;
- generating, by a softmax layer, using the fourth output, a final output;
- and
- updating, using the final output, a set of weight values for the filter without pooling values in the feature map in frequency;
- and
- after training the convolutional neural network for keyword detection, providing, by the keyword detection system, the trained convolutional neural network to a device for use by the device during keyword detection of the one or more key phrases.
A computer-implemented method comprising:
- training, by a keyword detection system, a convolutional neural network that comprises a first convolutional layer and a second convolutional layer, the convolutional neural network being trained for keyword detection of one or more key phrases by:
- providing a two-dimensional set of input values to the convolutional neural network, the input values including values across a first dimension in time and values across a second dimension in frequency;
- selecting, for use with the first convolutional layer only of the convolutional neural network, a filter having (i) a time span that extends over all of the input values in the first dimension, and (ii) a frequency span that extends over less than all of the input values in the second dimension;
- performing convolutional multiplication on the two-dimensional set of input values for the filter that has (i) the time span that extends over all of the input values in the first dimension, and (ii) the frequency span that extends over of less than all of the input values in the second dimension, using (i) a frequency stride greater than one, and (ii) a time stride equal to one, to generate a first output comprising a feature map;
- generating, by the second convolutional layer of the convolutional neural network, using the feature map, a second output;
- generating, by a linear low rank layer, using the second output, a third output;
- generating, by a deep neural network, using the third output, a fourth output;
- generating, by a softmax layer, using the fourth output, a final output;
- and
- updating, using the final output, a set of weight values for the filter without pooling values in the feature map in frequency;
- and
- after training the convolutional neural network for keyword detection, providing, by the keyword detection system, the trained convolutional neural network to a device for use by the device during keyword detection of the one or more key phrases.
Dependencies are inferred from the claim text.