System and method for training speech processing neural networks for dynamic loads
A method, computer program product, and computing system for dividing a speech signal into a plurality of chunks. A first context window is defined with a first period of past context for processing the plurality of chunks with a neural network of a speech processing system. The neural network is trained using the first context window. A second context window is defined with a first period of past context for processing the plurality of chunks with the neural network. The neural network is trained using the second context window.
1 . A computer-implemented method, executed on a computing device, for training a neural network with various configurations of constraints to account for different use cases, including use cases involving differences in latency and accuracy, where said differences occur due to different sizes of context windows that are being analyzed by the neural network, said method comprising:
dividing a speech signal into a plurality of chunks;
selecting a first chunk from among the plurality of chunks, the first chunk being selected for processing by a neural network of a speech processing system;
defining a first context window for processing by the neural network, wherein the first context window includes the first chunk and a first number of chunks that precede the first chunk in the plurality of chunks, such that the first context window has a first size, and wherein the first context window is an amount of information that is to be concurrently processed by the neural network;
training the neural network using the first context window, resulting in the neural network being trained to account for context windows having the first size;
defining a second context window for processing by the neural network, wherein the second context window also includes the first chunk and a second number of chunks that precede the first chunk in the plurality of chunks, such that the second context window has a second size that is different than the first size;
training the neural network using the second context window-, resulting in the neural network also being trained to account for context windows having the second size,
wherein, as a result of the neural network being trained based on context windows having multiple disparate sizes, the neural network is adaptable to various configurations of constraints to account for different use cases involving differences in latency and accuracy, where said differences in latency and accuracy occur due to different sizes of context windows that are being analyzed by the trained neural network; and
after the neural network is trained, causing the neural network to dynamically adjust to changes in processing loads to account for scenarios involving the different use cases.
2 . The computer-implemented method of claim 1 , wherein the plurality of chunks is from a single utterance.
3 . The computer-implemented method of claim 1 , wherein defining the first context window includes defining the first context window for processing a plurality of chunks of a first utterance.
4 . The computer-implemented method of claim 1 , wherein defining the first context window includes defining the first size in terms of frames of the speech signal for the first context window.
5 . The computer-implemented method of claim 1 , wherein defining the second context window includes randomly defining the chunks included in the second context window.
6 . The computer-implemented method of claim 1 , wherein defining the second context window includes defining the second context window for processing a plurality of chunks of a second utterance.
7 . The computer-implemented method of claim 1 , wherein the first context window and the second context window define a plurality of predefined combinations of chunk sizes, periods of future context, and periods of past context.
8 . The computer-implemented method of claim 1 , further comprising:
processing speech signals at run-time using the trained neural network.
9 . A computing system that trains a neural network with various configurations of constraints to account for different use cases, including use cases involving differences in latency and accuracy, where said differences occur due to different sizes of context windows that are being analyzed by the neural network, said computing system comprising:
one or more processors; and
one or more hardware storage devices that store instructions that are executable by the one or more processors to cause the computing system to:
divide a plurality of utterances into a plurality of chunks;
select a first chunk from among the plurality of chunks, the first chunk being selected for processing by a neural network of a speech processing system;
define a first context window for processing by the neural network, wherein the first context window includes the first chunk and a first number of chunks that precede the first chunk in the plurality of chunks, such that the first context window has a first size, and wherein the first context window is an amount of information that is to be concurrently processed by the neural network;
train the neural network using the first context window, resulting in the neural network being trained to account for context windows having the first size;
define a second context window for processing by the neural network, wherein the second context window also includes the first chunk and a second number of chunks that precede the first chunk in the plurality of chunks, such that the second context window has a second size that is different than the first size;
train the neural network using the second context window-, resulting in the neural network also being trained to account for context windows having the second size,
wherein, as a result of the neural network being trained based on context windows having multiple disparate sizes, the neural network is adaptable to various configurations of constraints to account for different use cases involving differences in latency and accuracy, where said differences in latency and accuracy occur due to different sizes of context windows that are being analyzed by the trained neural network; and
after the neural network is trained, cause the neural network to dynamically adjust to changes in processing loads to account for scenarios involving the different use cases.
10 . The computing system of claim 9 , wherein defining the first context window includes defining the first size in terms of frames of the speech signal for the first context window.
11 . The computing system of claim 9 , wherein defining the first context window includes defining a first period of future context of the speech signal for the first context window.
12 . The computing system of claim 11 , wherein defining the second context window includes adjusting one or more of:
the first size; and
the first period of future context.
13 . The computing system of claim 9 , wherein the first context window and the second context window define a plurality of predefined combinations of chunk sizes, periods of future context, and periods of past context.
14 . The computing system of claim 9 , wherein defining the second context window includes randomly defining the chunks included in the second context window.
15 . The computing system of claim 9 , wherein the instructions are further executable to cause the computing system to:
process speech signals at run-time using the trained neural network.
16 . One or more hardware storage devices that store instructions that are executable by one or more processors to cause the one or more processors to:
divide a speech signal into a plurality of chunks;
select a first chunk from among the plurality of chunks, the first chunk being selected for processing by a neural network of a speech processing system;
define a first context window for processing by the neural network, wherein the first context window includes the first chunk and a first number of chunks that precede the first chunk in the plurality of chunks, such that the first context window has a first size, and wherein the first context window is an amount of information that is to be concurrently processed by the neural network;
train the neural network using the first context window, resulting in the neural network being trained to account for context windows having the first size;
define a second context window for processing by the neural network, wherein the second context window also includes the first chunk and a second number of chunks that precede the first chunk in the plurality of chunks, such that the second context window has a second size that is different than the first size;
train the neural network using the second context window, resulting in the neural network also being trained to account for context windows having the second size;
process speech signals at run-time using the trained neural network,
wherein, as a result of the neural network being trained based on context windows having multiple disparate sizes, the neural network is adaptable to various configurations of constraints to account for different use cases involving differences in latency and accuracy, where said differences in latency and accuracy occur due to different sizes of context windows that are being analyzed by the trained neural network, and
after the neural network is trained, cause the neural network to dynamically adjust to changes in processing loads to account for scenarios involving the different use cases.
17 . The one or more hardware storage devices of claim 16 , wherein defining the first context window includes defining the first size in terms of frames of the speech signal for the first context window.
18 . The one or more hardware storage devices of claim 16 , wherein defining the first context window includes defining a first period of future context of the speech signal for the first context window.
19 . The method of claim 1 , wherein:
a second chunk is retained in a buffer,
the second chunk is subsequent to the first chunk in the plurality of chunks, and
the second chunk is retained in the buffer prior to the first chunk being used to train the neural network.
20 . The method of claim 19 , wherein:
the first context window further includes the second chunk, such that the first context window includes (i) one or more chunks the precede the first chunk, (ii) the first chunk, and (iii) one or more chunks that are subsequent to the first chunk.