Patent Description:
Automatic speech recognition (ASR), the process of taking an audio input and transcribing it into text, has greatly been an important technology that is used in mobile devices and other devices. In general, automatic speech recognition attempts to provide accurate transcriptions of what a person has said by taking an audio input (e.g., speech utterance) and transcribing the audio input into text. Modern ASR models continue to improve in both accuracy (e.g. a low word error rate (WER)) and latency (e.g., delay between the user speaking and the transcription) based on the ongoing development of deep neural networks. However, one challenge in developing deep learning-based ASR models is that parameters of the ASR models tend to over fit the training data, thereby resulting in the ASR models having difficulties generalizing unseen data when the training data is not extensive enough. As a result, training ASR models on larger training datasets improves the accuracy of the ASR model. Synthesized speech and/or data-augmented speech can be incorporated to increase the volume of training data used to train the ASR models, as well as increase linguistic diversity when speech is synthesized from unspoken text which can be obtained easily and cheaply for on-the fly training of an ASR model. Joint implementation and adaptation of TTS and ASR systems is discussed in the paper "<NPL> et al.

One aspect of the disclosure provides a method for training a generative adversarial network (GAN)-based text-to-speech (TTS) model and a speech recognition model in unison. The method includes obtaining, by data processing hardware, a plurality of training text utterances, wherein a first portion of the plurality of training text utterances includes unspoken text utterances and a remaining second portion of the plurality of training text utterances comprises transcriptions in a set of spoken training utterances. Each unspoken text utterance is not paired with any corresponding spoken utterance. Each spoken training utterance comprising a corresponding transcription paired with a corresponding non-synthetic speech representation of the corresponding spoken training utterance. For each of a plurality of output steps for each training text utterance of the plurality of training text utterances, the method also includes: generating, by the data processing hardware, for output by the GAN-based TTS model, a synthetic speech representation of the corresponding training text utterance; and determining, by the data processing hardware, using an adversarial discriminator of the GAN, an adversarial loss term indicative of an amount of acoustic noise disparity in one of the non-synthetic speech representations selected from the set of spoken training utterances relative to the corresponding synthetic speech representation of the corresponding training text utterance. The method also includes updating, by the data processing hardware, parameters of the GAN-based TTS model based on the adversarial loss term determined at each of the plurality of output steps for each training text utterance of the plurality of training text utterances. The method also includes training, by the data processing hardware, the speech recognition model on the synthetic speech representation generated at each of the plurality of output steps for each training text utterance of the plurality of training text utterances.

In the following disclosure, implementations are described. Unless specifically referred as according to the claimed invention, these implementations which are useful for understanding the principles of the invention, are not necessarily encompassed by the claims. Implementations of the disclosure may include one or more of the following optional features. In some implementations, training the speech recognition model further includes training the speech recognition model on training utterance batches. Here, each training utterance batch includes: a portion of the generated synthetic speech representations of the corresponding training text utterances; and a portion of the non-synthetic speech representations in the set of spoken training utterances. A ratio of the portion of the generated synthetic speech representations to the portion of the non-synthetic speech representations in each training utterance batch increases over time while training the speech recognition model.

In the implementations when the speech recognition model is trained on training utterance batches, the method may also optionally include, while training the speech recognition model on each training utterance batch: generating, by the data processing hardware, a respective non-synthetic speech loss term for each non-synthetic speech representation in the portion of the non-synthetic speech representations for the corresponding training utterance batch; and applying, by the data processing hardware, an adjustable loss weight to each respective non-synthetic speech loss term generated by the speech recognition model. Here, the adjustable weight has a magnitude proportional to the ratio of the portion of the generated speech representations to the portion of the non-synthetic speech representations in the corresponding training utterance batch.

Moreover, while training the speech recognition model on each training utterance batch, the method may also include, at each of plurality of output steps for each generated synthetic speech representation in the portion of the generated synthetic speech representations associated with the corresponding training utterance batch: determining, by the data processing hardware, for output by the speech recognition model, a first probability distribution over possible synthetic speech recognition hypotheses for the corresponding synthetic speech representation; and generating, by the data processing hardware, a synthetic speech loss term based on the first probability distribution over possible synthetic speech recognition hypotheses for the corresponding synthetic speech representation and the corresponding training text utterance from which the corresponding synthetic speech representation is generated. At the same time, the method includes, at each of a plurality of output steps for each non-synthetic speech representation in the portion of the non-synthetic speech representations associated with the corresponding training utterance batch: determining, by the data processing hardware, for output by the speech recognition model, a second probability distribution over possible non-synthetic speech recognition hypotheses for the corresponding non-synthetic speech representations; and generating, by the data processing hardware, a non-synthetic speech loss term based on the second probability distribution over possible non-synthetic speech recognition hypotheses for the corresponding non-synthetic speech representation and the transcription in the set of spoken training utterances that is paired with the corresponding non-synthetic speech representation.

In some implementations, at each of the plurality of output steps for each training text utterance of the plurality of training text utterances, the one of the non-synthetic speech representations selected from the set of spoken training utterances includes: a randomly selected non-synthetic speech representation from the set of spoken training utterances when the corresponding training text utterance comprises one of the unspoken text utterances in the first portion of the plurality of training text utterances; or a non-synthetic speech representation from the set of spoken training utterances that is paired with the corresponding one of the transcriptions when the corresponding training text utterance comprises one of the transcriptions in the second portion of the plurality of training text utterances. In additional examples, each training text utterance is conditioned on an utterance embedding selected from a set of utterance embeddings, and a speaker embedding selected from a set of speaker embeddings. Each speaker embedding in the set of speaker embeddings represents speaker characteristics and each utterance embedding in the set of utterance embeddings represents an intended prosody. Each training text utterance may be represented by a corresponding sequence of phonemes, each utterance embedding in the set of utterance embeddings may be extracted from a corresponding one of the transcriptions in the set of spoken training utterances by a variational autoencoder (VAE), and each speaker embedding in the set of speaker embeddings may be extracted from a corresponding one of the non-synthetic speech representations in the set of spoken training utterances.

In some implementations, the method also includes, prior to determining the adversarial loss term at each of the plurality of output steps for each training text utterance of the plurality of training text utterances, applying, by the data processing hardware, data augmentation to the corresponding generated synthetic speech representation of the corresponding training text utterance. In these implementations, the applied data augmentation may include at least one of adding noise, adding reverberation, or manipulating timing. In additional implementations, the method also includes, at each of the plurality of output steps for each training text utterance of the plurality of training text utterances: generating, by the data processing hardware, for output by a reference TTS model, a reference synthetic speech representation of the corresponding training text utterance; and determining, by the data processing hardware, a consistency loss term based on the synthetic speech representation of the corresponding training text utterance output by the GAN-based TTS model and the reference synthetic speech representation of the corresponding training text utterance output by the reference TTS model. Here, updating the parameters of the GAN-based TTS model is based on the adversarial loss term and the consistency loss term determined at each of the plurality of output steps for each training text utterance of the plurality of unspoken training utterances. The parameters of the reference TTS model may remain fixed at each of the plurality of output steps for each training text utterance of the plurality of training text utterances.

The method may also include executing, by the data processing hardware, an unspoken text selection process to obtain the unspoken text utterances in the first portion of the plurality of training text utterance. The text selection process is configured to obtain a corpus of unspoken text utterances, and for each unspoken text utterance in the corpus of unspoken text utterances: determine a first probability associated with the unspoken text utterance appearing in a domain-specific language model, the domain-specific language model trained on each transcription in the set of spoken training utterances; determine a second probability associated with the unspoken text utterance appearing in a background language model, the background language model trained on every unspoken text utterance in the corpus of unspoken text utterances; and determine a score based on the first probability, the second probability, and a number of words appearing in the corresponding unspoken text utterance. The text selection process is further configured to select, as the unspoken text utterances in the first portion of the plurality of training text utterances, the unspoken text utterances in the corpus of unspoken text utterances that have the N-best utterance scores.

In some implementations, training the speech recognition model includes, at each of the plurality of output steps for each training text utterance of the plurality of training text utterances: encoding, by the speech recognition model, the synthetic speech representation of the corresponding training text utterance output by the GAN-based TTS model; encoding, by the speech recognition model, one of the non-synthetic speech representations selected from the set of spoken training utterances; determining, using another adversarial discriminator, another adversarial loss term between the encoded synthetic speech representation and the encoded one of the non-synthetic speech representations; and updating parameters of the speech recognition model based on the other adversarial loss term determined at each of the plurality of output steps for each training text utterance of the plurality of training text utterances. In these examples, at each of the plurality of output steps for each training text utterance of the plurality of training text utterances, the corresponding text utterance and the other adversarial discriminator may each conditioned on a same speaker embedding selected from a set of speaker embeddings. Each speaker embedding in the set of speaker embeddings represents speaker characteristics. Further, the one of the non-synthetic speech representations selected from the set of spoken training utterances may include a randomly selected non-synthetic speech representation from the set of spoken training utterances when the corresponding training text utterance comprises one of the unspoken text utterances in the first portion of the plurality of training text utterances, and a non-synthetic speech representation from the set of spoken training utterances that is paired with the corresponding one of the transcriptions when the corresponding training text utterance comprises one of the transcriptions in the second portion of the plurality of training text utterances.

Another aspect of the disclosure provides a system for training a generative adversarial network (GAN)-based text-to-speech (TTS) model and a speech recognition model in unison. The system includes data processing hardware and memory hardware in communication with the data processing hardware. The memory hardware stores instructions that when executed on the data processing hardware cause the data processing hardware to perform operations. The operations include obtaining a plurality of training text utterances, wherein a first portion of the plurality of training text utterances includes unspoken text utterances and a remaining second portion of the plurality of training text utterances comprises transcriptions in a set of spoken training utterances. Each unspoken text utterance is not paired with any corresponding spoken utterance. Each spoken training utterance comprising a corresponding transcription paired with a corresponding non-synthetic speech representation of the corresponding spoken training utterance. For each of a plurality of output steps for each training text utterance of the plurality of training text utterances, the operations also include generating, for output by the GAN-based TTS model, a synthetic speech representation of the corresponding training text utterance, and determining, using an adversarial discriminator of the GAN, an adversarial loss term indicative of an amount of acoustic noise disparity in one of the non-synthetic speech representations selected from the set of spoken training utterances relative to the corresponding synthetic speech representation of the corresponding training text utterance. The operations also include updating parameters of the GAN-based TTS model based on the adversarial loss term determined at each of the plurality of output steps for each training text utterance of the plurality of training text utterances, and training.

This aspect may include one or more of the following optional features. In some implementations, training the speech recognition model further includes training the speech recognition model on training utterance batches. Here, each training utterance batch includes: a portion of the generated synthetic speech representations of the corresponding training text utterances; and a portion of the non-synthetic speech representations in the set of spoken training utterances. A ratio of the portion of the generated synthetic speech representations to the portion of the non-synthetic speech representations in each training utterance batch increases over time while training the speech recognition model.

In the implementations when the speech recognition model is trained on training utterance batches, the operations may also optionally include, while training the speech recognition model on each training utterance batch: generating a respective non-synthetic speech loss term for each non-synthetic speech representation in the portion of the non-synthetic speech representations for the corresponding training utterance batch; and applying an adjustable loss weight to each respective non-synthetic speech loss term generated by the speech recognition model. Here, the adjustable weight has a magnitude proportional to the ratio of the portion of the generated speech representations to the portion of the non-synthetic speech representations in the corresponding training utterance batch.

Moreover, while training the speech recognition model on each training utterance batch, the operations may also include, at each of plurality of output steps for each generated synthetic speech representation in the portion of the generated synthetic speech representations associated with the corresponding training utterance batch: determining, for output by the speech recognition model, a first probability distribution over possible synthetic speech recognition hypotheses for the corresponding synthetic speech representation; and generating a synthetic speech loss term based on the first probability distribution over possible synthetic speech recognition hypotheses for the corresponding synthetic speech representation and the corresponding training text utterance from which the corresponding synthetic speech representation is generated. At the same time, the operations include, at each of a plurality of output steps for each non-synthetic speech representation in the portion of the non-synthetic speech representations associated with the corresponding training utterance batch: determining, for output by the speech recognition model, a second probability distribution over possible non-synthetic speech recognition hypotheses for the corresponding non-synthetic speech representations; and generating a non-synthetic speech loss term based on the second probability distribution over possible non-synthetic speech recognition hypotheses for the corresponding non-synthetic speech representation and the transcription in the set of spoken training utterances that is paired with the corresponding non-synthetic speech representation.

In some implementations, the operations also include, prior to determining the adversarial loss term at each of the plurality of output steps for each training text utterance of the plurality of training text utterances, applying data augmentation to the corresponding generated synthetic speech representation of the corresponding training text utterance. In these implementations, the applied data augmentation may include at least one of adding noise, adding reverberation, or manipulating timing. In additional implementations, the operations also include, at each of the plurality of output steps for each training text utterance of the plurality of training text utterances: generating, for output by a reference TTS model, a reference synthetic speech representation of the corresponding training text utterance; and determining a consistency loss term based on the synthetic speech representation of the corresponding training text utterance output by the GAN-based TTS model and the reference synthetic speech representation of the corresponding training text utterance output by the reference TTS model. Here, updating the parameters of the GAN-based TTS model is based on the adversarial loss term and the consistency loss term determined at each of the plurality of output steps for each training text utterance of the plurality of unspoken training utterances. The parameters of the reference TTS model may remain fixed at each of the plurality of output steps for each training text utterance of the plurality of training text utterances.

The operations may also include executing an unspoken text selection process to obtain the unspoken text utterances in the first portion of the plurality of training text utterance. The text selection process is configured to obtain a corpus of unspoken text utterances, and for each unspoken text utterance in the corpus of unspoken text utterances: determine a first probability associated with the unspoken text utterance appearing in a domain-specific language model, the domain-specific language model trained on each transcription in the set of spoken training utterances; determine a second probability associated with the unspoken text utterance appearing in a background language model, the background language model trained on every unspoken text utterance in the corpus of unspoken text utterances; and determine a score based on the first probability, the second probability, and a number of words appearing in the corresponding unspoken text utterance. The text selection process is further configured to select, as the unspoken text utterances in the first portion of the plurality of training text utterances, the unspoken text utterances in the corpus of unspoken text utterances that have the N-best utterance scores.

Automated speech recognition has made tremendous strides with the introduction of sequence to sequence (Seq2Seq) models that map from audio to character sequences. One challenge in developing end-to-end (E2E) deep learning-based ASR models is that parameters of the ASR models tend to over fit the training data, thereby resulting in the ASR models having difficulties generalizing unseen data when the training data is not extensive enough. Moreover, E2E ASR models tend to perform worse than traditional speech recognition systems on long and noisy speech audios. As a result, training ASR models on larger training datasets of transcribed speech data improves the accuracy of the ASR model.

Text-to-speech (TTS) or speech synthesis systems have successfully applied Seq2Seq models to obtain state of the art natural, realistic sounding synthesized speech that can be indistinguishable to the human ear from human speech. Advantageously, unspoken text utterances, or text-only data, can be easily and cheaply obtained to produce synthesized speech for improving training of the ASR model. For instance, not only can unspoken text utterances be used to increase the volume of training data sets, but the unspoken text utterances can increase linguistic diversity in the training data without the difficulty of having to obtain transcribed speech (e.g., human spoken audio and corresponding transcriptions). While the aggregate quality of synthesized speech produced by modern TTS systems is quite high, the synthesized speech exhibits much less noise variation than non-synthesized (real/human) speech, and further exhibits minimal speech disfluencies. As a result, training ASR models exclusively on synthesized speech data have difficulty generalizing real speech utterances during inference.

Implementations herein are directed toward combining generative adversarial network (GAN) and data augmentation techniques to increase acoustic diversity in synthesized speech produced by a TTS model for training an ASR model in parallel. As will become apparent, parameters of a GAN-based TTS model may update to produce synthetic speech representations with similar acoustics as non-synthetic speech representations recorded under adverse acoustic environments. Here, synthesized speech has the potential to drastically limit the amount of labeled human speech required to train the model, while also providing flexibility in moving the ASR model across different domains.

Additionally, data augmentation techniques may be applied to synthetic speech representations output from the GAN-based TTS model to closely match the acoustic noise disparity associated with real/human speech. Data augmentation techniques may include adding/injecting noise (e.g., via multistyle training (MTR)), adding reverberation, and/or manipulating timing (e.g., via spectrum augmentation (SpecAugment)). Implementation herein are further directed toward generating contrastive language models for selecting unspoken text utterances for use in ASR training. Namely, the use of contrastive language models can improve the efficiency of large-scale unspoken text utterance learning.

<FIG> illustrates an automated speech recognition (ASR) system <NUM> implementing an ASR model <NUM> that resides on a user device <NUM> of a user <NUM> and/or on a remote computing device <NUM> (e.g., one or more servers of a distributed system executing in a cloud-computing environment) in communication with the user device <NUM>. Although the user device <NUM> is depicted as a mobile computing device (e.g., a smart phone), the user device <NUM> may correspond to any type of computing device such as, without limitation, a tablet device, a laptop/desktop computer, a wearable device, a digital assistant device, a smart speaker/display, a smart appliance, an automotive infotainment system, or an Internet-of-Things (IoT) device.

The user device <NUM> includes an audio subsystem <NUM> configured to receive an utterance <NUM> spoken by the user <NUM> (e.g., the user device <NUM> may include one or more microphones for recording the spoken utterance <NUM>) and overt the utterance <NUM> into a corresponding digital format associated with input acoustic frames <NUM> capable of being processed by the ASR system <NUM>. In the example shown, the user speaks a respective utterance <NUM> in a natural language of English for the phrase "What is the weather in New York City?" and the audio subsystem <NUM> coverts the utterance <NUM> into corresponding acoustic frames <NUM> for input to the ASR system <NUM>. Thereafter, the ASR model <NUM> receives, as input, the acoustic frames <NUM> corresponding to the utterance <NUM>, and generates/predicts, as output, a corresponding transcription (e.g., recognition result/hypothesis) <NUM> of the utterance <NUM>. In the example shown, the user device <NUM> and/or the remote computing device <NUM> also executes a user interface generator <NUM> configured to present a representation of the transcription <NUM> of the utterance <NUM> to the user <NUM> of the user device <NUM>. In some configurations, the transcription <NUM> output from the ASR system <NUM> is processed, e.g., by a natural language understanding (NLU) module executing on the user device <NUM> or the remote computing device <NUM>, to execute a user command. Additionally or alternatively, a text-to-speech system (e.g., executing on any combination of the user device <NUM> or the remote computing device <NUM>) may convert the transcription into synthesized speech for audible output by another device. For instance, the original utterance <NUM> may correspond to a message the user <NUM> is sending to a friend in which the transcription <NUM> is converted to synthesized speech for audible output to the friend to listen to the message conveyed in the original utterance <NUM>.

With reference to <FIG> and <FIG>, the ASR model <NUM> may include an end-to-end (E2E) sequence-to-sequence model, such as a frame alignment-based transducer model 200a (<FIG>) or an attention-based encoder-decoder (AED) model 200b (<FIG>). The ASR model <NUM> may provide E2E speech recognition by integrating acoustic, pronunciation, and language models into a single neural network, and does not require a lexicon or a separate text normalization component. Various structures and optimization mechanisms can provide increased accuracy and reduced model training time.

Referring to <FIG>, an example frame alignment-based transducer model 200a includes a Recurrent Neural Network-Transducer (RNN-T) model architecture which adheres to latency constraints associated with interactive applications. The RNN-T model 200a provides a small computational footprint and utilizes less memory requirements than conventional ASR architectures, making the RNN-T model architecture suitable for performing speech recognition entirely on the user device <NUM> (e.g., no communication with a remote server is required). The RNN-T model 200a includes an encoder network <NUM>, a prediction network <NUM>, and a joint network <NUM>. The encoder network <NUM>, which is roughly analogous to an acoustic model (AM) in a traditional ASR system, includes a recurrent network of stacked Long Short-Term Memory (LSTM) layers. For instance the encoder reads a sequence of d-dimensional feature vectors (e.g., acoustic frames <NUM> (<FIG>)) x = (x<NUM>, x<NUM>, · · · , xT), where <MAT>, and produces at each time step a higher-order feature representation. This higher-order feature representation is denoted as
<MAT>.

Similarly, the prediction network <NUM> is also an LSTM network, which, like a language model (LM), processes the sequence of non-blank symbols output by a final Softmax layer <NUM> so far, y<NUM>,. , yui-<NUM>, into a dense representation <IMG>. Finally, with the RNN-T model architecture, the representations produced by the encoder and prediction networks <NUM>, <NUM> are combined by the joint network <NUM>. The joint network then predicts
<MAT>
which is a distribution over the next output symbol. Stated differently, the joint network <NUM> generates, at each output step (e.g., time step), a probability distribution over possible speech recognition hypotheses. Here, the "possible speech recognition hypotheses" correspond to a set of output labels each representing a symbol/character in a specified natural language. For example, when the natural language is English, the set of output labels may include twenty-seven (<NUM>) symbols, e.g., one label for each of the <NUM>-letters in the English alphabet and one label designating a space. Accordingly, the joint network <NUM> may output a set of values indicative of the likelihood of occurrence of each of a predetermined set of output labels. This set of values can be a vector and can indicate a probability distribution over the set of output labels. In some cases, the output labels are graphemes (e.g., individual characters, and potentially punctuation and other symbols), but the set of output labels is not so limited. For example, the set of output labels can include wordpieces and/or entire words, in addition to or instead of graphemes. The output distribution of the joint network <NUM> can include a posterior probability value for each of the different output labels. Thus, if there are <NUM> different output labels representing different graphemes or other symbols, the output yi of the joint network <NUM> can include <NUM> different probability values, one for each output label. The probability distribution can then be used to select and assign scores to candidate orthographic elements (e.g., graphemes, wordpieces, and/or words) in a beam search process (e.g., by the Softmax layer <NUM>) for determining the transcription <NUM>.

The Softmax layer <NUM> may employ any technique to select the output label/symbol with the highest probability in the distribution as the next output symbol predicted by the model 200a at the corresponding output step. In this manner, the RNN-T model 200a does not make a conditional independence assumption, rather the prediction of each symbol is conditioned not only on the acoustics but also on the sequence of labels output so far. The RNN-T model 200a does assume an output symbol is independent of future acoustic frames <NUM>, which allows the RNN-T model to be employed in a streaming fashion.

In some implementations, the encoder network <NUM> of the RNN-T model 200a is made up of eight <NUM>,<NUM>-dimensional LSTM layers, each followed by a <NUM>-dimensional projection layer. The prediction network <NUM> may have two <NUM>,<NUM>-dimensional LSTM layers, each of which is also followed by <NUM>-dimensional projection layer. Finally, the joint network <NUM> may also have <NUM> hidden units. The softmax layer <NUM> may be composed of a unified word piece or grapheme set that is generated using all unique word pieces or graphemes in a plurality of training text utterances <NUM> (<FIG>).

Referring to <FIG>, an example AED model 200b associated with a Listen, Attend and Spell (LAS) model architecture that provides a single neural network including a listener encoding module <NUM> which is analogous to a conventional acoustic model, an attender model <NUM> that acts as an alignment model, and a decoder <NUM> that is analogous to the language model in a conventional system. Specifically, the listener encoder module <NUM> takes the input features (e.g., acoustic frames <NUM> (<FIG>)), x, and maps them to a higher-level feature representation, henc. This process of generating an encoded feature representation, henc, can be done for each of multiple input frames, representing different input time steps. These timesteps are denoted with subscript u below. Thus, for a set of frames {f<NUM>, f<NUM>, f<NUM>,. fu} there can be a corresponding set of encoded outputs {h<NUM>, h<NUM>, h<NUM>,.

The output of the encoder <NUM> is passed to the attender model <NUM>, which determines which encoder features in henc should be attended to in order to predict the next output symbol, yi, similar to a dynamic time warping (DTW) alignment module. In some examples, attender <NUM> is referred to herein as attender neural network or attention module <NUM>. The attender <NUM> can generate a context output ci for each of multiple output steps i. For each context output vector ci, the attender <NUM> can compute attention based on the encodings for one or more input steps u, e.g., the encoding for the current input step as well as encodings for previous input steps. For example, the attender <NUM> can generate an attention context output ci over the set of all the encoder outputs of the utterance, e.g., the entire set {h<NUM>, h<NUM>, h<NUM>,. The attention context a vector can be vector representing a weighted summary of the current and previous encodings for frames (e.g., portions) of the utterance being recognized.

Finally, the output of the attender <NUM> is passed to the decoder <NUM>, which takes the attention context (e.g., a context vector or attention distribution), ci, output by the attender <NUM>, as well as an embedding of the previous prediction, yi-<NUM>, in order to produce a decoder output. The decoder output can be a probability distribution, P (yi|yi-<NUM>,. , y<NUM>, x), over the current sub-word unit, yi, given the previous units, {yi-<NUM>,. , y<NUM>}, and input, x. Accordingly, the decoder <NUM> generates, at each output step, a probability distribution over possible speech recognition hypotheses. As with the RNN-T model 200a discussed above with reference to <FIG>, the "possible speech recognition hypotheses" correspond to a set of output symbols each representing a symbol/character in a specified natural language.

Although not illustrated, the model <NUM> may include a softmax layer that receives output of the decoder <NUM>. In some implementations, the softmax layer is separate from the decoder <NUM> and processes the output, yi, from the decoder <NUM>, and the output of the softmax layer is then used in a beam search process to select orthographic elements. In some implementations, the softmax layer is integrated with the decoder <NUM>, so that the output yi of the decoder <NUM> represents the output of the softmax layer.

The decoder <NUM> and/or an associated softmax layer may be trained to output a set of values indicative of the likelihood of occurrence of each of a predetermined set of output labels. This set of values can be a vector and can indicate a probability distribution over the set of output labels. In some cases, the output labels are graphemes (e.g., individual characters, and potentially punctuation and other symbols), but the set of output labels is not so limited. For example, the set of output labels can include wordpieces and/or entire words, in addition to or instead of graphemes. The output distribution of the decoder <NUM> and/or the softmax layer can include a posterior probability value for each of the different output labels. Thus, if there are <NUM> different output labels representing different graphemes or other symbols, the output yi of the decoder or the output of a softmax layer that receives and processes the output yi can include <NUM> different probability values, one for each output label. The probability distribution can then be used to select and assign scores to candidate orthographic elements (e.g., graphemes, wordpieces, and/or words) in a beam search process for determining the transcription <NUM>.

<FIG> show an example training process <NUM>, 300a-300c for training a generative adversarial network (GAN)-based text-to-speech (TTS) model <NUM> and a speech recognition model <NUM> in unison. The training process <NUM> may execute on the remote computing device <NUM> of <FIG>. The speech recognition model <NUM> may be referred to as an ASR model <NUM>. The training of the GAN-based TTS model <NUM> promotes learning by the model <NUM> to produce synthetic speech representations <NUM> with similar acoustics as non-synthetic speech representations <NUM> recorded under adverse acoustic environments. Here, synthesized speech has the potential to drastically limit the amount of labeled human speech required to train the ASR model <NUM>, while also providing flexibility in moving the ASR model <NUM> across different domain. Additionally, the training process <NUM> promotes the ASR model <NUM> to learn consistent predictions on each of non-synthetic speech (e.g., real/human speech), synthetic speech produced from transcribed speech, and synthetic speech produced form unspoken text utterances not paired with any corresponding audio/speech.

Referring to <FIG>, the example training process 300a initially obtains a plurality of training text utterances <NUM>, 302A-N that the GAN-based TTS model <NUM> converts into synthetic speech representations <NUM> for training the ASR model <NUM>. A first portion of the plurality of training text utterances <NUM> include unspoken text utterances 302a and a second remaining portion of the plurality of training text utterances <NUM> include transcriptions 302b in a set of spoken training utterances <NUM>, 305a-n. Here, each unspoken text utterance 302a is text-only data, i.e., unpaired data, such that the unspoken text utterance <NUM> is not paired with any corresponding spoken utterance or audible speech. On the other hand, each spoken training utterance <NUM> in the set of spoken training utterances <NUM> includes a corresponding transcription 302b paired with a corresponding non-synthetic speech representation <NUM> of the corresponding spoken training utterance <NUM>. For instance, each non-synthetic speech representation <NUM> may be hand-transcribed by a human listener. Accordingly, each transcription 302b may correspond to transcribed speech of a corresponding non-synthetic speech representation <NUM> such that the each spoken training utterance <NUM> includes respective "paired data" 302b, <NUM>.

The set of spoken training utterances <NUM> may be stored in a data store XX residing on memory hardware of a system (e.g., remote computing device <NUM> of <FIG>). In some examples, each spoken training utterance <NUM> in the set of spoken training utterances <NUM> is associated with a specific domain for training the ASR model <NUM>. For instance, the ASR model <NUM> may be trained to recognize speech in domains such as music, navigation, weather, occupational fields, education disciplines, as well as language-specific and/or multilingual domains.

Each training text utterance <NUM> input the GAN-based TTS model <NUM> may be conditioned on a speaker embedding, z, and an utterance embedding, u, for conversion into synthesized speech <NUM> having a specific speaking style associated with the speaker embedding, z, and an intended prosody associated with the utterance embedding, u. The utterance embedding u may be selected from a set of utterance embeddings each representing an intended prosody. For instance, each utterance embedding u may encode prosodic features of syllable duration, pitch contour, and our energy contour. In some examples, when the corresponding training text utterance <NUM> includes the transcription 302b in a spoken training utterance <NUM>, the utterance embedding u is extracted as a latent feature from the corresponding non-synthetic speech representation <NUM> using a variational autoencoder (VAE). The VAE may incorporate a hierarchical structure. In additional examples, when the corresponding training text utterance <NUM> includes the unspoken text utterance 302a, the unspoken text utterance 302a is conditioned on a randomly assigned utterance embedding u that was previously extracted from one of the non-synthetic speech representations <NUM> in the set of spoken training utterances using the VAE.

Each speaker embedding, z, may include a D-vector that was pre-extracted from the set of spoken training utterances <NUM> using a separately trained speaker encoder (not shown). Here, the D-vector may be extracted from the non-synthetic speech representation <NUM> of the spoken training utterance <NUM> using a speaker encoder neural network such that the D-vector encodes speaker characteristics of the speaker that spoke the spoken training utterance <NUM> into a fixed-length vector. Accordingly, each speaker embedding z may be selected from a set of speaker embeddings z that were previously extracted and stored (e.g., in the data store <NUM>). Each speaker embedding z in the set of speaker embeddings represents speaker characteristics of a speaker that spoke the corresponding spoken training utterance <NUM>. The pre-extracted speaker embeddings z may be randomly assigned to each training text utterance <NUM>. In some examples, when the corresponding training text utterance <NUM> includes the transcription 302b in a spoken training utterance <NUM>, the transcription 302b is conditioned on the speaker embedding z pre-extracted from the corresponding non-synthetic speech representation <NUM>.

In some implementations, the TTS model <NUM> includes an encoder <NUM>, a decoder <NUM>, and a post-net <NUM> that cooperate to process the training text utterances <NUM> to generate time-domain audio waveforms. A time-domain audio waveform is an audio waveform that defines an audio signal's amplitude over time.

The encoder <NUM> may be an encoder neural network <NUM> configured to receive the training text utterance <NUM> as a sequence of characters and generate a fixed-length context vector <NUM> for each mel-frequency spectrogram <NUM> that the decoder <NUM> will later generate. In some examples, the characters of the training text utterances <NUM> include phonemes based on a pronunciation model. For instance, each training text utterance <NUM> may be represented as a sequence of phonemic inputs based on an American English pronunciation model. Here, the fixed-length context vectors <NUM> (e.g., phonemic encodings) define features that appear in particular positions in the sequence of characters (e.g., sequence of phonemes). The features model the context in which each character in the sequence of characters appears in each training text utterance <NUM>.

In some configurations, the encoder neural network <NUM> includes one or more convolutional layers followed by a bi-directional long short-term memory ("LSTM") layer. Each convolutional layer can be followed by batch normalization and rectified linear units ("ReLUs"), and the bi-directional LSTM layer can be configured to process the hidden features generated by the final convolutional layer to generate a sequential feature representation of the sequence of characters. A sequential feature representation represents a local structure of the sequence of characters around a particular character. A sequential feature representation may include a sequence of feature vectors.

The encoder neural network <NUM> can also include an attention network. The attention network can be configured to receive a sequential feature representation from another component of the encoder neural network <NUM>, e.g., a bi-directional LSTM layer, and process the sequential feature representation to generate the fixed-length context vector <NUM> for each output step of the decoder <NUM>. That is, the attention network can generate a fixed-length context vector <NUM> for each frame of a mel-frequency spectrogram <NUM> that the decoder <NUM> will later generate. A frame is a unit of the mel-frequency spectrogram that is based on a small portion of the input signal, e.g., a <NUM> millisecond sample of the input signal.

In some implementations, the decoder <NUM> includes a decoder neural network <NUM> configured to receive, as input, the fixed-length context vectors <NUM> generated by the encoder neural network <NUM> and generate, as output for each fixed-length context vector <NUM>, a corresponding frame of a mel-frequency spectrogram <NUM>. A mel-frequency spectrogram is a frequency-domain representation of sound. Mel-frequency spectrograms emphasize lower frequencies, which are critical to speech intelligibility, while de-emphasizing high frequency, which are dominated by fricatives and other noise bursts and generally do not need to be modeled with high fidelity. In some implementations, the mel-frequency spectrograms <NUM> that the decoder neural network <NUM> generates have a frame length of <NUM> milliseconds.

The post-net <NUM> may be a component of the decoder neural network <NUM> and may be configured to refine acoustic characteristics of the mel-frequency spectrograms <NUM> generated by the decoder neural network <NUM>. In some examples, the post-net <NUM> is a convolutional post-net <NUM> with one or more convolutional layers that processes the predicted mel-frequency spectrogram <NUM> for each output step to predict a residual to add to the predicted mel-frequency spectrogram <NUM>. Each convolutional layer except for the final convolutional layer may be followed by batch normalization and tanh activations. The convolutional layers may be regularized using dropout with probability <NUM>. The residual is added to the predicted mel-frequency spectrogram <NUM> to produce the resulting synthetic speech representation <NUM> of each corresponding training text utterance <NUM>.

In the example shown in <FIG>, the GAN-based TTS model <NUM> used for training the ASR model <NUM> is pre-trained so that it is capable of converting the input training text utterances <NUM> into corresponding synthetic speech representations <NUM>. However, implementations herein are directed toward the training process 300a fine-tuning parameters of the post-net <NUM> to "noisify" the resulting synthetic speech representations <NUM> to match acoustic noise disparity found in non-synthetic speech representations <NUM> spoken by real humans in adverse acoustic environments. Accordingly, the pre-trained GAN-based TTS model <NUM> executes as a quasi-inference stage during the training process 300a to generate/predict the corresponding synthetic speech representations <NUM>, while the training process 300a aims to fine-tune the post-net <NUM> parameters for producing synthetic speech representations <NUM> with acoustics that match those of non-synthetic speech representations <NUM>. The shading of the post-net <NUM> at the GAN-based TTS model <NUM>, an adverse discriminator <NUM> of the GAN, and the ASR model <NUM> depicted in <FIG> indicate that these are the only components trained by the training process 300a.

At each of a plurality of output steps for each training text utterance <NUM> of the plurality of training text utterances <NUM>, the training process 300a generates, for output by the GAN-based TTS model <NUM>, a synthetic speech representation <NUM> of the corresponding training text utterance <NUM>, and determines, using the adversarial discriminator <NUM>, an adversarial loss term <NUM> indicative of an amount of acoustic noise disparity in a non-synthetic speech representation <NUM> relative to the corresponding synthetic speech representation <NUM> of the corresponding training text utterance <NUM>. Here, the adversarial discriminator <NUM> compares acoustic noise characteristics of the non-synthetic speech representation <NUM> relative to the synthetic speech representation <NUM> output by the GAN-based TTS model <NUM> at the output step. To put another way, the adversarial discriminator <NUM> is tasked to analyze the synthetic speech representation <NUM> in terms of general realism by distinguishing between the non-synthetic speech representation <NUM> (e.g., real/human audible speech) and the synthetic speech representation <NUM>. The training process 300a is configured to update parameters of the GAN-based TTS model <NUM> based on the adversarial loss term <NUM> determined at each of the plurality of output steps for each training text utterance <NUM> of the plurality of training text utterances. Specifically, the training process 300a updates parameters of the post-net <NUM> by back-propagating the adversarial loss term(s) <NUM> through the post net <NUM> to teach the post-net <NUM> to drive the resulting synthetic speech representations <NUM> to have similar acoustics as the non-synthetic speech representations <NUM> in the set of spoken training utterances <NUM>.

The non-synthetic speech representation <NUM> input to the adversarial discriminator <NUM> for comparison with the synthetic speech representation <NUM> at each output step may be selected from the set of spoken training utterances <NUM>. For example, when the synthetic speech representation <NUM> input to the adversarial discriminator <NUM> is generated from a training text utterance <NUM> that includes one of the unspoken text utterances 302a, the non-synthetic speech representation <NUM> is randomly selected from the set of spoken training utterances <NUM> for comparison at the adversarial discriminator <NUM> since the unspoken text utterance 302a not initially paired with any corresponding spoken audio. On the other hand, when the synthetic speech representation <NUM> input to the adversarial discriminator <NUM> is generated from a training text utterance <NUM> that includes one of the transcriptions 302b of the spoken training utterances <NUM>, the training process 300a may select the non-synthetic speech representation <NUM> from the set of spoken training utterances <NUM> that is paired with the corresponding transcription 302b for comparison at the adversarial discriminator <NUM>.

In some implementations, the training process 300a additionally applies data augmentation to the synthetic speech representations <NUM> generated by the GAN-based TTS model <NUM> prior to determining the adversarial loss term <NUM> at each of the plurality of output steps. The purpose of the data augmentation is to further facilitate the generation of synthetic speech with audio that matches the non-synthetic speech under adverse acoustic environments, thereby regularizing the training of the ASR model <NUM> on synthetic speech representations <NUM> by preventing over-fitting due acoustic mismatches between non-synthesized and synthetic speech representations <NUM>, <NUM>. In some examples, the post-net <NUM> at the TTS model <NUM> injects background noises to the synthetic speech representations to match acoustics of the non-synthetic speech representations <NUM> of the spoken training utterances <NUM>. In other words, data augmentation allows the TTS model <NUM> to generate a synthetic speech representation <NUM> that has an expectation of being consistent with a non-synthetic speech representation <NUM>. The data augmentation may include at least one of adding/injecting noise, adding reverberation, or manipulating timing of the synthetic speech representations <NUM>. One data augmentation technique includes using multistyle training (MTR) to inject varieties of environmental noises to the synthetic speech representations <NUM>. Another data augmentation technique that the training process 300a may apply in addition to, or in lieu of, MTR, includes using spectrum augmentation (SpecAugment) to make the acoustics of the synthetic speech representations <NUM> closer to the adverse acoustics of non-synthetic speech representations <NUM> of the spoken training utterances <NUM>. In combination, MTR and SpecAugment may inject noises into the synthetic speech representations <NUM>, tile random external noise sources along time and inserted before and overlapped onto the representation <NUM>, and filtering the noise-injected synthetic speech representation <NUM> prior to training the ASR model <NUM>.

In additional implementations, at each of the plurality of output steps for each training text utterance <NUM>, the training process 300a generates, for output by a reference TTS model <NUM>, a reference synthetic speech representation <NUM>ref of the corresponding training text utterance <NUM>, and determines a consistency loss term <NUM> based on the synthetic speech representation <NUM> of the corresponding training text utterance <NUM> output by the GAN-based TTS model <NUM> and the reference synthetic speech representation <NUM>ref of the same corresponding training text utterance <NUM> output by the reference TTS model <NUM>. For example, <FIG> shows a consistency module <NUM> receiving the synthetic speech representation <NUM> output by the GAN-based TTS model <NUM> and the reference synthetic speech representation <NUM>ref output by the reference TTS model <NUM> for the same training text utterance <NUM> at a given time step, and producing a mean squared error (MSE) loss <NUM> between the two speech representations <NUM>, <NUM>ref. As with the adversarial loss term <NUM>, the training process 300a is configured to update the parameters of the GAN-based TTS model <NUM> based on the consistency loss term <NUM> determined at each of the plurality of output steps for each training text utterance <NUM> of the plurality of training text utterances. Specifically, the training process 300a updates parameters of the post-net <NUM> by back-propagating both the adversarial loss term <NUM> and the consistency loss term (e.g., MSE loss) <NUM> through the post net <NUM> to teach the post-net <NUM> to drive the resulting synthetic speech representations <NUM> to have similar acoustics as the non-synthetic speech representations <NUM> in the set of spoken training utterances <NUM>.

By back-propagating the consistency loss term <NUM> through the post-net <NUM> of the GAN-based TTS model <NUM>, the training process 300a is constrained to produce synthetic speech representations <NUM> output by the GAN-based TTS model <NUM> that retain their linguistic information. Otherwise, updating the parameters of the post-net <NUM> to promote acoustic diversity based on the adversarial loss <NUM> alone may result in loss of linguistic diversity across the synthetic speech representations <NUM>. The use of the unspoken text utterances 302a is to promote increases in linguistic diversity to enable training of the ASR model <NUM> on unseen words and sequences not present in the spoken training utterances <NUM>. Notably, parameters of the reference TTS model <NUM> remain fixed so that the reference TTS model <NUM> is able to consistently generate synthetic speech representations <NUM> that retain linguistic diversity. The reference TTS model <NUM> may include an identical architecture as the GAN-based TTS model <NUM>. For instance, when the training process 300a initializes, the TTS models <NUM> may be replicas trained on the same training data sets.

In some implementations, the first portion of the plurality of training text utterances <NUM> that includes the unspoken text utterances 302a used to train the GAN-based TTS model <NUM> and the ASR model <NUM> in unison are selected in a manner that optimizes the training process <NUM> of <FIG>. That is, while unspoken text utterances can be obtained easily and cheaply, some unspoken text utterances 302a are more suitable for ASR model <NUM> training than others. In some examples, the unspoken text utterances 302a are selected as being associated with a domain in which the ASR model <NUM> is being trained. In this example, if the ASR model <NUM> is trained for recognizing speech in the music domain, unspoken text utterances 302a used in a medical terminology would not be suitable for use in training the ASR model <NUM>. <FIG> provides an example unspoken text selection process <NUM> for obtaining the unspoken text utterances 302a in the first portion of the plurality of training text utterances <NUM>. Specifically, the unspoken text selection process <NUM> is configured to select the unspoken text utterances 302a from a corpus of unspoken text <NUM>. The corpus of unspoken text <NUM> includes a multitude of unspoken text utterances <NUM> from across a large range of domains, and includes a far greater linguistic diversity than the transcriptions 302b in the set of spoken training utterances <NUM>. As mentioned previously, the set of spoken training utterances <NUM> may be domain-specific in that they pertain to the same domain in which the ASR model <NUM> is being trained. The corpus of unspoken text <NUM> may be stored in the same or different data store <NUM> as the spoken training utterances <NUM>. The corpus of unspoken text <NUM> may dynamically change to incorporate new unspoken text utterances 302a. Simply using all unspoken text utterances 302a in the unspoken text corpus <NUM> (<FIG>) is not feasible for the following reasons: i) for each sentence, the speech modality needs much more memory to be encoded than text, thereby making converting all text in the corpus <NUM> impractical; ii) conversion between speech and text modalities in TTS inference and ASR training also requires large computation; iii) the vast amount of difference between the transcriptions 302b in the spoken training utterances <NUM> and the unspoken text utterances 302a in the unspoken text corpus <NUM> requires intelligent strategies to balance their contributions.

The unspoken text selection process <NUM> aims to select a subset of the available unspoken text utterances 302a from the unspoken text corpus <NUM> as the data for TTS synthesis. Specifically, the process <NUM> aims to improve the match between the selected subset of the available unspoken text utterances 302a and a target domain, which in turn reduces the computational resources required to exploit a large amount of non-domain-specific data. Accordingly, the process <NUM> reduces computational and memory costs by selecting unspoken text utterances 302a that best match a specific domain the ASR model <NUM> is being trained to learn.

During a first stage (STAGE <NUM>), the unspoken text selection process <NUM> builds two language models <NUM>, <NUM> to enable contrastive selection of the unspoken text utterances 302a. Here, a domain-specific language model (LM) <NUM> is trained on each transcription 302b in the set of spoken training utterances <NUM>. The set of spoken training utterances <NUM> are assumed to belong to a specific-domain for which the ASR model <NUM> is being trained. On the other hand, a background LM <NUM> is trained on each unspoken text utterance 302a in the entire unspoken text corpus <NUM>. As mentioned previously, the unspoken text corpus <NUM> spans a multitude of different domains. In some examples, the first stage uses n-gram language model training to build the two language models <NUM>, <NUM>. In other examples, the first stage uses neural network language model training to build the two language models <NUM>, <NUM>.

During a second state (STAGE <NUM>), the unspoken text selection process <NUM> uses the two contrastive LMs <NUM>, <NUM> to evaluate each unspoken text utterance 302a in the unspoken text corpus <NUM> by determining a first probability, <MAT>, associated with each word in the unspoken text utterance 302a appearing in the domain-specific LM <NUM> and determining a second probability, <MAT>, associated with each word in the unspoken text utterance 302a appearing in in the background LM <NUM>. Thereafter, for each unspoken text utterance 302a in the unspoken text corpus <NUM>, the process <NUM> determines, at a scorer <NUM>, a score, S, based on the first probability, the second probability, and a number of words, #(w), appearing in the corresponding unspoken text utterance 302a. For example, the score S for each unspoken text utterance 302a may be calculated as follows.

After determining the scores, the unspoken text selection process <NUM> selects the unspoken text utterances 302a with the N-best utterance scores S as these unspoken text utterances 302a best match the specific-domain. In lieu of using the unspoken text selection process <NUM>, the unspoken text utterances 302a may alternatively sampled from a well-trained language model, such as a large max-entropy language model using the available text corpus <NUM>. Under the assumption that this model learns the distribution of data, a certain number of text utterances 302a may be sampled therefrom for unspoken text.

Referring to <FIG>, the training process 300b trains the ASR model <NUM> on the synthetic speech representations <NUM> generated at each of the plurality of output steps for each unspoken training text utterance <NUM> of the plurality of unspoken text utterances <NUM> (e.g., that were selected by the unspoken text selection process <NUM> of <FIG>). The training process 300b also trains the ASR model <NUM> at each of a plurality of output steps for each non-synthetic speech representation <NUM> in the set of spoken training utterances <NUM>. The synthetic speech representations <NUM> include unpaired synthetic speech representations 306a and paired synthetic speech representations 306b. The unpaired synthetic speech representations 306a include the TTS audios converted by the GAN-based TTS model <NUM> from the unspoken text utterances 302a (i.e., the portion of the training text utterances <NUM> not paired with any corresponding spoken utterance), while the paired synthetic speech representations 306b include the TTS audios converted by the GAN-based TTS model <NUM> from the transcriptions 302b in the set of spoken training utterances <NUM> (i.e., the portion of the training text utterances <NUM> paired with corresponding non-synthetic speech representations <NUM> of spoken training text utterances <NUM>).

Accordingly, each paired synthetic speech representation 306b is paired with a corresponding non-synthetic speech representation <NUM> of a same corresponding spoken training utterance <NUM>, and the transcription 302b initially paired with the non-synthetic speech representation <NUM> of the corresponding training utterance <NUM> serves as both: (<NUM>) an input to the GAN-based TTS model <NUM> for generating the paired synthetic speech representation 306b of the corresponding training utterance <NUM>; and (<NUM>) a ground-truth transcription 302b for the training process 300b in generating supervised loss terms <NUM>, 344b between the ground-truth transcription 302b and each of: a non-synthetic speech recognition hypothesis <NUM> output by the ASR model <NUM>; and a paired synthetic speech recognition hypothesis 312b output by the ASR model <NUM>. On the other hand, the training process 300b uses each unspoken text utterance 302a that was converted into a corresponding unpaired synthetic speech representation 306a by the GAN-based TTS model <NUM> for generating a supervised loss term 344b between the corresponding unspoken text utterance 302a and an unpaired synthetic speech recognition hypothesis 312a output by the ASR model <NUM>.

The ASR model <NUM> receives, as input, the non-synthetic speech representation (x) <NUM> for each corresponding spoken training utterance <NUM> as a sequence of features/vectors (e.g., mel-frequency spectrogram frames) (e.g., acoustic frames <NUM> of <FIG>) and generates, as output, for each of a plurality output steps, a first probability distribution <NUM> over possible non-synthetic speech recognition hypotheses (y) for the corresponding non-synthetic speech representation (x) <NUM> of the corresponding spoken training utterance <NUM>. For simplicity, the term "non-synthetic speech recognition result <NUM>" may be used to refer to the first probability distribution <NUM> over possible non-synthetic speech recognition hypotheses (y) for the corresponding non-synthetic speech representation (x) <NUM>. The ASR model <NUM> also receives, as input, the synthetic speech representation (x̂) <NUM>, 306a-b for each training text utterance <NUM>, 302a-b as a sequence of features/vectors (e.g., mel-frequency spectrogram frames) (e.g., acoustic frames <NUM> of <FIG>) and generates, as output, for each of a plurality of output steps, a second probability distribution <NUM>, 312a-b over possible synthetic speech recognition hypotheses (y) for the corresponding synthetic speech representation (x̂) <NUM> of the corresponding utterance. For simplicity, the term "synthetic speech recognition result <NUM>" may be used to interchangeably refer to the second probability distribution <NUM> over possible synthetic speech recognition hypotheses (y) for the corresponding synthetic speech representation (x̂) <NUM>. Lastly, the ASR model <NUM> also receives, as input, the synthetic speech representation (x̂) 306a for each unspoken text utterance 302a as a sequence of features/vectors (e.g., mel-frequency spectrogram frames) (e.g., acoustic frames <NUM> of <FIG>) and generates, as output, for each of a plurality of output steps, a third probability distribution 312a over possible synthetic speech recognition hypotheses (y) for the corresponding synthetic speech representation (x̂) <NUM> of the corresponding utterance. For simplicity, the term "synthetic speech recognition result 312b" may be used to interchangeably refer to the second probability distribution 312b over possible synthetic speech recognition hypotheses (y) for the corresponding synthetic speech representation (x̂) <NUM>.

As with training a conventional end-to-end sequence-to-sequence ASR model, the training process 300b generates, for output by the ASR model <NUM> at each of the plurality of output steps, a first supervised loss term that includes a non-synthetic speech loss term (<IMG>(θ)) <NUM> based on the ground-truth transcription 302b and the non-synthetic speech recognition result <NUM> (y) for the corresponding non-synthetic speech representation (x) <NUM> of the corresponding spoken training utterance <NUM>. In the example shown, the training process 300b executes a supervised loss term module <NUM> configured to receive the ground-truth transcription 120b and the first probability distribution <NUM> and output the non-synthetic speech loss term (<IMG>(θ)) <NUM>.

Moreover, the training process 300b generates, at each of the plurality of output steps, a second supervised loss term that includes a synthetic speech loss term ((θ)) <NUM>, 344a-b based on the corresponding one of the unspoken text utterance 302a or the ground-truth transcription 302b and the second probability distribution <NUM>, 312a-b over possible synthetic speech recognition hypotheses (y) for the corresponding synthetic speech representation (x̂) <NUM>, 306a-b of the corresponding utterance. In the example shown, an unpaired synthetic speech loss term 344a is associated with each unpaired synthetic speech representation 306a and corresponding unspoken text utterance 302a, while a paired synthetic speech loss term 344b is associated with each paired synthetic speech representation 306b and corresponding ground-truth transcription 302b. In the example shown, the training process 300b executes the supervised loss term module <NUM> configured to receive the unspoken text utterances 120a, ground-truth transcriptions 120b, and the second probability distributions <NUM>, 312a-b and output the synthetic speech loss terms (<IMG>(θ)) <NUM>, 344a-b.

The supervised loss term module <NUM> may provide each of the non-synthetic speech loss term (<IMG>(θ)) <NUM>, the unpaired synthetic speech loss term (<IMG>(θ)) 344a, and the paired synthetic speech loss term (<IMG>(θ)) 344b back to the ASR model <NUM>. For instance, the training process 300b may train the ASR model <NUM> using a stochastic optimization algorithm, such as stochastic gradient decent, to train the model <NUM> through backpropagation. Here, the stochastic optimization algorithm uses the loss terms <NUM>, 344a, 344b to define respective loss functions (e.g., cross-entropy loss functions) based on a difference between actual outputs (e.g., non-synthetic speech recognition and synthetic speech recognition results <NUM>, 312a, 312b) of the neural network and desired outputs (e.g., the unspoken text utterances 302a and ground-truth transcriptions 302b). For instance, the loss function is computed for a batch of training examples, and then differentiated with respect to each weight in the model <NUM>. In batch training, the non-synthetic speech loss term (<IMG>(θ)) <NUM> may correspond to an average loss obtained for a respective batch of non-synthetic speech representations <NUM> and each of the synthetic speech loss terms (<IMG>(θ)) <NUM>, 344a-b may correspond to an average loss obtained for a respective batch of synthetic speech representations 306a, 306b. Further, the model <NUM> may be trained on corresponding batches of non-synthetic and synthetic speech representations <NUM>, 306a, 306b in parallel such that the supervised loss term module <NUM> outputs corresponding non-synthetic and synthetic speech loss terms <NUM>, 344a, 344b in parallel.

In some configurations, the training process 300b further determines, for each training utterance pairing <NUM>, 306b of paired synthetic speech representation 306b paired with a corresponding non-synthetic speech representation <NUM> of a same corresponding spoken training utterance <NUM>, a consistent loss term (Icons(θ)) <NUM> for the corresponding training utterance pairing <NUM>, 306b based on the first probability distribution <NUM> over possible non-synthetic speech recognition hypotheses and the second probability distribution 312b over possible synthetic speech recognition hypotheses. For instance, the training process 300b may employ a consistent loss term module <NUM> configured to receive, at each of a plurality of output steps, the corresponding non-synthetic speech and synthetic speech recognition results <NUM>, 312b output by the ASR model <NUM>, and determine the consistency loss term <NUM> for the corresponding training utterance pairing <NUM>, 306b at the output step.

In some implementations, the training process 300b determines the consistent loss term <NUM> based on a Kullback-Leibler divergence (DKL) between the first probability distribution <NUM> over possible non-synthetic speech recognition hypotheses and the second probability distribution 312b over possible synthetic speech recognition hypotheses associated with the corresponding paired synthetic speech representation 306b. Thus, the consistent loss term <NUM> determined for each training utterance pairing <NUM>, 306b provides an "unsupervised" loss term that is independent of the accuracy of the ASR model <NUM> (e.g. independent of the supervised loss terms <NUM>, <NUM>), and thus, may be employed to update parameters of the ASR model <NUM> for promoting consistency between non-synthetic and synthetic speech representations <NUM>, 306b of same spoken training utterances <NUM>. In other words, the consistent loss term <NUM> permits the ASR model <NUM> to learn to behave the same, e.g., make consistent predictions on both non-synthetic speech (e.g., real/human speech) and synthetic speech (e.g., synthesized speech) of a same spoken training utterance <NUM>, regardless of whether the spoken training utterance <NUM> belongs to non-synthetic speech or synthetic speech. In the example shown, the training process 300b is configured to output corresponding non-synthetic and synthetic speech loss terms <NUM>, 344a-b from the supervised loss term module <NUM> and output the consistent loss term <NUM> from the unsupervised loss term module <NUM> in parallel.

In some implementations, the training process 300b uses batch training to train the ASR model <NUM> by training the ASR model <NUM> on a plurality of training utterance batches. In these examples, each training utterance batch includes a portion of the generated synthetic speech representations <NUM> and a portion of the non-synthetic speech representations <NUM> in the set of spoken training utterances <NUM>. The portion of the generated synthetic speech representations <NUM> may be further divided into unpaired synthetic speech representations 306a and paired synthetic speech representations 306b, in which each paired synthetic speech representation 306b in a given training utterance batch may be paired with a corresponding one of the non-synthetic speech representations <NUM> of a same corresponding spoken training utterance <NUM>. Each training utterance batch may include a greater proportion of generated synthetic speech representations <NUM> than non-synthetic speech representations.

The aforementioned data augmentation techniques may be applied to the synthetic speech representations <NUM> so their acoustics match those of the non-synthetic speech representations <NUM> under adverse acoustic environments. Moreover, the training process 300b may shuffle the non-synthetic and synthetic speech representations <NUM>, <NUM> in each training utterance batch.

In some implementations, the training process 300b uses curriculum batch training in which a ratio of the portion of the generated synthetic speech representations <NUM> to the portion of the non-synthetic speech representations in each training utterance batch increases over time while training the speech recognition model. In these implementations, the ratio increases by increasing the number of unpaired synthetic speech representations 306a, i.e., generated from unspoken text utterances 302a, in each training batch. While the training process 300b trains the ASR model <NUM> on each training utterance batch, the training process 300b generates, at the supervised loss term module <NUM>, a respective non-synthetic speech loss term <NUM> for each non-synthetic speech representation <NUM> in the portion of the non-synthetic speech representations for the training utterance batch.

In some implementations, the supervised loss term module <NUM> applies, to each respective non-synthetic loss term <NUM>, an adjustable weight having a magnitude proportional to the ratio of the portion of the generated speech representations to the portion of the non-synthetic speech representations in the corresponding training utterance batch. Similarly, the training process 300b further generates, at the supervised loss term module <NUM>, a respective synthetic speech loss term 344a, 344b for each synthetic speech representation 306a, 306b in the corresponding training utterance batch. As with the non-synthetic loss terms <NUM>, the supervised loss term module <NUM> may further apply, to each respective paired non-synthetic speech loss term 342b, an adjustable weight having a magnitude proportional to the ratio of the portion of the generated speech representations to the portion of the non-synthetic speech representations in the corresponding training utterance batch. Thus, during the curriculum batch training in which the ratio of the portion of the generated synthetic speech representations <NUM> to the portion of the non-synthetic speech representations in each training utterance batch gradually increases in each subsequent training utterance batch, the weight applied to the loss terms <NUM>, 344b associated with the training utterance pairings <NUM>, 306b also gradually increases in each sub sequent training utterance batch to permit overfitting by the model <NUM>. Similarly, an adjustable weight with a magnitude proportional to this magnitude may be similarly applied to the consistency loss term <NUM> in each training utterance batch. Notably, the supervised loss term <NUM> may apply a fixed weight to each respective unpaired non-synthetic speech loss term 342b during the curriculum batch training despite the proportion of unpaired synthetic speech representations 306a increasing in each subsequent training utterance batch.

Referring to <FIG>, in some implementations, the training process 300c applies conditional GAN-based domain-invariant training to train the ASR model <NUM>. The training process 300c may apply the domain-invariant training in addition to, or in lieu of, the techniques described in <FIG> for fine-tuning the parameters of the post-net <NUM> of the GAN-based TTS model <NUM> based on the adversarial and consistency loss terms <NUM>, <NUM>. In the example shown, at each of a plurality of output steps for each training text utterance <NUM> of the plurality of training text utterances <NUM> of <FIG>, an encoder <NUM> (e.g., encoder <NUM> of <FIG> or encoder <NUM> of <FIG>) at the ASR model <NUM> encodes each of: the synthetic speech representation <NUM> of the corresponding training text utterance <NUM> output by the TTS model <NUM> into a corresponding encoded synthetic speech representation TTSenc (e.g., a synthetic embedding); and one of the non-synthetic speech representations <NUM> selected from the set of spoken training utterances <NUM> into a corresponding encoded non-synthetic speech representation Realenc (e.g., a non-synthetic embedding). For output steps when the corresponding training text utterance <NUM> includes one of the unspoken text utterances 302a, the one of the non-synthetic speech representations <NUM> input to the encoder <NUM> is randomly selected from the set of spoken training utterances <NUM> since the unspoken text utterance 302a is not initially paired with any spoken utterance. By contrast, for output steps when the corresponding training text utterance <NUM> includes one of the transcriptions 302b in the set of spoken training utterances <NUM>, the one of the non-synthetic speech representations <NUM> may include a non-synthetic speech representation <NUM> in the set of spoken training utterances <NUM> that is paired with the corresponding one of the transcriptions 302b.

The training process 300c determines, using an adversarial discriminator <NUM>, an adversarial loss term <NUM> between the encoded synthetic speech representation TTSenc and the encoded non-synthetic speech representation Realenc. Thereafter, the training process 300c applies the domain-invariant training by updating parameters of the ASR model <NUM> based on the adversarial loss term <NUM> determined at each of the plurality of output steps for each training text utterance <NUM> of the plurality of training text utterances <NUM>. In some implementations, at each of the plurality of output steps for each training text utterance <NUM>, the corresponding training text utterance <NUM> and the adversarial discriminator <NUM> is conditioned on the same speaker embedding z as the corresponding training text utterance <NUM>. Conditioning the corresponding training text utterance <NUM> on a respective speaker embedding z is discussed above with respect to <FIG>.

A decoder <NUM> (e.g., decoder/softmax <NUM> of <FIG> or the decoder <NUM> of <FIG>) decodes the synthetic speech representations <NUM> and non-synthetic speech representations <NUM> into corresponding probability distributions <NUM>, <NUM> as discussed above with reference to <FIG>. The shading of the encoder <NUM> at the ASR model <NUM> and the other adversarial discriminator <NUM> of the GAN depicted in <FIG> indicate that these are the only components trained by the domain-invariant training aspect applied by the training process 300c.

<FIG> is a flowchart of an example arrangement of operations for a method <NUM> of training a generative adversarial network (GAN)-based text-to-speech (TTS) model <NUM> and a speech recognition model <NUM> in unison. The flowchart may be described with reference to the training process <NUM>, 300a-c of <FIG>. At operation <NUM>, the method <NUM> obtains a plurality of training text utterances <NUM>, 302AN. A first portion of the plurality of training text utterances <NUM> includes unspoken text utterances 302a that are not paired with any corresponding spoken utterance. The unspoken text utterances 302a may be selected from a large unspoken text corpus <NUM> using, for example, the unspoken text selection process <NUM> described in <FIG>. A remaining second portion of the plurality of training text utterances <NUM> includes transcriptions 302b in a set of spoken training utterances <NUM>. Each spoken training utterance <NUM> in the set includes a corresponding transcription 302b paired with a corresponding non-synthetic speech representation <NUM> of the corresponding spoken training utterance <NUM>.

For each of a plurality of output steps for each training text utterance of the plurality of training text utterances <NUM>, the method <NUM> generates, for output by the GAN-based TTS model <NUM>, a synthetic speech representation <NUM> of the corresponding training text utterance <NUM> at operation <NUM>, and at operation <NUM>, the method <NUM> determines, using an adversarial discriminator <NUM> of the GAN, an adversarial loss term <NUM> indicative of an amount of acoustic noise disparity in one of the non-synthetic speech representations <NUM> selected from the set of spoken training utterances <NUM> relative to the corresponding synthetic speech representation <NUM> of the corresponding training text utterance <NUM>. For unpaired synthetic speech representations 306a derived from the first portion of the training text utterances <NUM> that include the unspoken text utterances 302a, the selected one of the non-synthetic speech representations <NUM> is randomly selected. For paired synthetic speech representations 306b derived from the second portion of the training text utterances <NUM> that include the transcriptions 302b in the set of spoken training utterances <NUM>, the selected one of the non-synthetic speech representations <NUM> is the non-synthetic speech representation <NUM> in the set of spoken training utterances <NUM> that is paired with the corresponding transcription 302b.

At operation <NUM>, the method <NUM> includes updating parameters of the GAN-based TTS model <NUM> based on the adversarial loss term <NUM> determined at each of the plurality of output steps for each training text utterance <NUM> of the plurality of training text utterances <NUM>. Here, updating parameters of the GAN-based TTS model <NUM> may include updating/fine-tuning parameters of a post-net <NUM> of the TTS model <NUM> to produce synthetic speech representations <NUM> with matching acoustics to that of the non-synthetic speech representations. Notably, data augmentation may be applied to each synthetic speech representation <NUM> output from the TTS model <NUM> to further add noise to match acoustics of the non-synthetic speech representations <NUM>. A reference TTS model <NUM> may be employed to produce reference synthetic speech representations 306ref that may be compared with the synthetic speech representations <NUM> to determine MSE losses <NUM> for constraining the post-net <NUM> to retain linguistic disparity across the synthetic speech representations <NUM>. At operation <NUM>, the method <NUM> trains the speech recognition model <NUM> on the synthetic speech representation <NUM> generated at each of the plurality of output steps for each training text utterance <NUM> of the plurality of training text utterances.

Claim 1:
A method (<NUM>) for training a generative adversarial network, GAN, -based text-to-speech, TTS, model (<NUM>) and a speech recognition model (<NUM>) in unison, the method (<NUM>) comprising:
obtaining, by data processing hardware (<NUM>), a plurality of training text utterances (<NUM>), wherein:
a first portion of the plurality of training text utterances (<NUM>) comprises unspoken text utterances (302a), each unspoken text utterance (302a) not paired with any corresponding spoken utterance; and
a remaining second portion of the plurality of training text utterances (<NUM>) comprises transcriptions (302b) in a set of spoken training utterances (<NUM>), each spoken training utterance (<NUM>) comprising a corresponding transcription (302b) paired with a corresponding non-synthetic speech representation (<NUM>) of the corresponding spoken training utterance (<NUM>);
at each of a plurality of output steps for each training text utterance (<NUM>) of the plurality of training text utterances (<NUM>):
generating, by the data processing hardware (<NUM>), for output by the GAN-based TTS model (<NUM>), a synthetic speech representation (<NUM>) of the corresponding training text utterance (<NUM>); and
determining, by the data processing hardware (<NUM>), using an adversarial discriminator (<NUM>) of the GAN, an adversarial loss term (<NUM>) indicative of an amount of acoustic noise disparity in one of the non-synthetic speech representations (<NUM>) selected from the set of spoken training utterances (<NUM>) relative to the corresponding synthetic speech representation (<NUM>) of the corresponding training text utterance (<NUM>);
updating, by the data processing hardware (<NUM>), parameters of the GAN-based TTS model (<NUM>) based on the adversarial loss term (<NUM>) determined at each of the plurality of output steps for each training text utterance (<NUM>) of the plurality of training text utterances (<NUM>); and
training, by the data processing hardware (<NUM>), the speech recognition model (<NUM>) on the synthetic speech representation (<NUM>) generated at each of the plurality of output steps for each training text utterance (<NUM>) of the plurality of training text utterances (<NUM>).