Integrated Cascaded Encoder ASR Model for Dynamic Model Sizing

A cascaded encoder architecture in ASR systems addresses the challenge of managing multiple models by enabling a single model to adapt to both streaming and non-streaming tasks, enhancing efficiency and accuracy while optimizing resource use.

JP7843855B2Active Publication Date: 2026-04-10GOOGLE LLC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-13
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing end-to-end automatic speech recognition (ASR) systems face challenges in managing multiple models for different applications, leading to increased execution time and hardware resource inefficiencies due to the need for separate models for streaming and non-streaming tasks, which are not optimized for varying hardware constraints and latency requirements.

Method used

A single ASR model with a cascaded encoder architecture that includes a streaming encoder and a non-streaming encoder, along with separate decoders, enabling operation in both streaming and non-streaming modes, allowing for flexible adaptation to different applications and hardware capabilities.

Benefits of technology

The solution provides efficient and adaptable speech recognition capabilities, reducing computational requirements by using a single model for both streaming and non-streaming tasks, improving accuracy and latency management, and optimizing resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007843855000005
    Figure 0007843855000005
  • Figure 0007843855000006
    Figure 0007843855000006
  • Figure 0007843855000007
    Figure 0007843855000007
Patent Text Reader

Abstract

The automatic speech recognition (ASR) model (200) includes first and second encoders (210), (220) and first and second decoders (204), (206). The first encoder receives as input a sequence of acoustic frames (104) and generates, at each of a plurality of output steps, a first high-order feature representation of a corresponding acoustic frame in the sequence of acoustic frames. The first decoder receives as input the first high-order feature representation generated by the first encoder and generates a first probability distribution for possible speech recognition hypotheses. The second encoder receives as input the first high-order feature representation generated by the first encoder and generates a second high-order feature representation of the corresponding first high-order feature frame. The second decoder receives as input the second high-order feature representation generated by the second encoder and generates a second probability distribution for possible speech recognition hypotheses.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to an on-device end-to-end model for simplified streaming and non-streaming automatic speech recognition (ASR). [Background technology]

[0002] Automatic speech recognition (ASR) systems have evolved from multiple models, each with its own specific purpose, to unified models that use a single neural network to directly map speech waveforms (i.e., input sequences) to output sentences (i.e., output sequences). This unification has resulted in a sequence-to-sequence approach, where given a sequence of speech features, a sequence of words (or graphemes) is generated. Using the unified structure, all components of the model can be jointly trained as a single end-to-end (E2E) neural network. Here, an E2E model refers to a model whose architecture is entirely built with neural networks. A complete neural network functions without external and / or manually designed components (e.g., finite-state transducers, lexicons, or text normalization modules). Furthermore, when training E2E models, these models generally do not require bootstrapping from decision trees or time alignment from separate systems. These E2E automatic speech recognition (ASR) systems represent a significant advancement, outperforming conventional ASR systems in several common criteria, including word error rate (WER). The architecture of end-to-end (E2E) ASR models is largely application-dependent. For example, many applications involving user interaction, such as voice search or on-device voice input, require the model to perform recognition in a streaming manner. Other applications, such as offline video captioning, do not require the model to be streamed and can leverage future context to improve performance. Furthermore, the model size of an on-device ASR system is heavily dependent on the device's hardware constraints. For instance, vehicle devices with processing hardware that has greater computing power may support larger ASR model sizes, while mobile devices with limited processing hardware may benefit from smaller ASR model sizes. Existing E2E approaches typically include separate ASR models for streaming and non-streaming applications.Managing multiple models for different applications presents unique challenges and can potentially slow down the execution time of the ASR system. [Overview of the Initiative]

[0003] One aspect of the present disclosure provides an automatic speech recognition (ASR) model comprising a first encoder, a first decoder, a second encoder, and a second decoder. The first encoder receives a sequence of acoustic frames as input and, in each of a plurality of output steps, generates a first higher-order feature representation of the corresponding acoustic frames in the sequence of acoustic frames. The first decoder receives the first higher-order feature representations generated by the first encoder as input in each of a plurality of output steps and, in each of a plurality of output steps, generates a first probability distribution for possible speech recognition hypotheses. The second encoder receives the first higher-order feature representations generated by the first encoder as input in each of a plurality of output steps and, in each of a plurality of output steps, generates a second higher-order feature representation of the corresponding first higher-order feature frame. The second decoder receives the second higher-order feature representations generated by the second encoder as input in each of a plurality of output steps and, in each of a plurality of output steps, generates a second probability distribution for possible speech recognition hypotheses.

[0004] Embodiments of the present disclosure may include one or more of the following optional features. In some embodiments, a first decoder generates a partial speech recognition result based on a first probability distribution for possible speech recognition hypotheses. In some examples, the first encoder includes a causal encoder comprising one of multiple unidirectional long short-term memory (LSTM) layers, multiple conformer layers, or multiple transformer layers. Additionally or alternatively, a second encoder includes a non-causal encoder comprising one of multiple unidirectional long short-term memory (LSTM) layers, multiple conformer layers, or multiple transformer layers.

[0005] In some examples, the first decoder includes a predictive network and a coupled network. The predictive network receives a sequence of non-blank symbols output by the final softmax layer as input and generates a dense representation at each of several output steps. The coupled network receives the dense representation generated by the predictive network and a first higher-order feature representation generated by the first encoder at each of several output steps as input and generates a first probability distribution for possible speech recognition hypotheses at each of several output steps. In these examples, the predictive network includes a long short-term memory (LSTM) based predictive network or a V2 embedded lookup table.

[0006] In some embodiments, the second decoder includes a prediction network and a coupling network. The prediction network receives a sequence of non-blank symbols output by the final softmax layer as input and generates a dense representation at each of several output steps. The coupling network receives the dense representation generated by the prediction network and a second higher-order feature representation generated by the second encoder at each of several output steps as input and generates a second probability distribution for possible speech recognition hypotheses at each of several output steps. In these embodiments, the prediction network includes a long short-term memory (LSTM) based prediction network or a V2 embedded lookup table.

[0007] In some examples, the first encoder includes a greater number of parameters than the second encoder. In some embodiments, the ASR model further includes a third encoder and a third decoder. The third encoder receives a second higher-order feature representation generated by the second encoder as input in each of several output steps, and generates a third higher-order feature representation of the corresponding second higher-order feature frame in each of several output steps. The third decoder receives a third higher-order feature representation generated by the third encoder as input in each of several output steps, and generates a third probability distribution for possible speech recognition hypotheses in each of several output steps.

[0008] Another aspect of the present disclosure provides a computer implementation method that, when executed on data processing hardware, causes data processing hardware to perform an operation that includes receiving a sequence of acoustic frames as input to an automatic speech recognition (ASR) model, and using the ASR model on the sequence of acoustic frames to perform streaming and non-streaming speech recognition. The operation also includes, by a first encoder, generating a first higher-order feature representation of the corresponding acoustic frames in the sequence of acoustic frames in each of a plurality of output steps, and by receiving the first higher-order feature representation generated by the first encoder as input to both a first decoder and a second encoder in each of the plurality of output steps. The operation also includes, by a second encoder, generating a second higher-order feature representation for the corresponding first higher-order feature representation in each of the plurality of output steps, and by the first decoder, generating a first probability distribution for possible speech recognition hypotheses in each of the plurality of output steps. The operation further includes receiving a second higher-order feature representation generated by a second encoder as input to a second decoder at each of the multiple output steps, and the second decoder generating a second probability distribution for possible speech recognition hypotheses at each of the multiple output steps.

[0009] This embodiment may include one or more of the following optional features. In some embodiments, the operation further includes generating a partial speech recognition result based on a first probability distribution for possible speech recognition hypotheses. In some examples, the first encoder includes a causal encoder comprising one of multiple unidirectional long short-term memory (LSTM) layers, multiple conformer layers, or multiple transformer layers. Additionally or alternatively, the second encoder includes a non-causal encoder comprising one of multiple unidirectional long short-term memory (LSTM) layers, multiple conformer layers, or multiple transformer layers.

[0010] In some embodiments, when the ASR model is operating in streaming mode, the operation further includes receiving a sequence of non-blank symbols output by the final softmax layer as input to the prediction network of the first decoder, and having the prediction network of the first decoder generate a dense representation at each of the multiple output steps. Here, the operation further includes receiving the dense representation generated by the prediction network at each of the multiple steps and a first higher-order feature representation generated by the first encoder at each of the multiple output steps as input to the coupled network of the first decoder, and having the coupled network of the first decoder generate a first probability distribution for possible speech recognition hypotheses at each of the multiple output steps. In these embodiments, the prediction network of the first decoder includes a long short-term memory (LSTM) based prediction network or a V2 embedded lookup table.

[0011] In some embodiments, when the ASR model is operating in a non-streaming mode, the operation also includes receiving, as an input to the prediction network of the second decoder, a sequence of non-blank symbols output by the final softmax layer, and generating, for each of a plurality of output steps, a dense representation by the prediction network of the second decoder. Here, the operation further includes receiving, as an input to the combination network of the second decoder, for each of a plurality of output steps, the dense representation generated by the prediction network and the second high-order feature representation generated by the second encoder, and generating, for each of a plurality of output steps, a second probability distribution for possible speech recognition hypotheses by the combination network of the second decoder. In these examples, the prediction network of the second decoder includes a long short-term memory (LSTM)-based prediction network or a V2 embedding lookup table.

[0012] In some embodiments, the first encoder includes a greater number of parameters than the second encoder. In some examples, the operation also includes receiving, as an input to the third encoder, for each of a plurality of output steps, the second high-order feature representation generated by the second encoder while performing streaming speech recognition and non-streaming speech recognition on a sequence of acoustic frames. In these embodiments, the operation further includes generating, for each of a plurality of output steps, a third high-order feature representation for the corresponding second high-order feature representation by the third encoder, receiving, as an input to the third decoder, for each of a plurality of output steps, the third high-order feature representation generated by the third encoder, and generating, for each of a plurality of output steps, a third probability distribution for possible speech recognition hypotheses by the third decoder.

[0013] Details of one or more embodiments of the present disclosure are set forth in the accompanying drawings and the following description. Other aspects, features, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] [Figure 1A] It is a schematic diagram of a system using a cascade encoder model architecture for automatic speech recognition. [Figure 1B] It is a schematic diagram of a system using a cascade encoder model architecture for automatic speech recognition. [Figure 2A] It is a schematic diagram of a cascade encoder model architecture. [Figure 2B] It is a schematic diagram of a cascade encoder model architecture. [Figure 2C] It is a schematic diagram of a cascade encoder model architecture. [Figure 2D] It is a schematic diagram of a cascade encoder model architecture. [Figure 3A] It is a schematic diagram of an exemplary training process for promoting a cascade encoder model to learn consistent predictions for both streaming automatic speech recognition and non-streaming automatic speech recognition. [Figure 3B] It is a schematic diagram of an exemplary training process for promoting a cascade encoder model to learn consistent predictions for both streaming automatic speech recognition and non-streaming automatic speech recognition. [Figure 4] It is a flowchart of an exemplary operation procedure for implementing a cascade encoder model for both streaming automatic speech recognition and non-streaming automatic speech recognition. [Figure 5] It is a schematic diagram of an exemplary computing device that can be used to implement the systems and methods described herein.

Modes for Carrying Out the Invention

[0015] Like reference symbols in the various drawings refer to like elements. End-to-end (E2E) automatic speech recognition (ASR) models are traditionally structured to operate in either streaming or non-streaming mode. Traditionally, E2E ASR models include encoders and decoders as key components. In applications involving interaction with end users, such as voice search or on-device voice input, the model may need to perform recognition in a streaming manner, with minimal latency and expected output as soon as words are spoken. This prevents the use of models that utilize future context to improve accuracy, such as bidirectional LSTMs. In contrast, applications such as offline video captioning do not require streaming recognition and can fully utilize any available future context to improve performance. Furthermore, the model size of an on-device ASR system is heavily dependent on the hardware constraints of the device. For example, vehicle devices with processing hardware that has greater computational output may support larger ASR model sizes, while mobile devices with limited processing hardware may benefit from smaller ASR model sizes. Even on the same device, a larger ASR model size may be used for short-form applications such as voice search, while a medium or small ASR model size may be more suitable for long-running applications such as dictation or video captioning, in order to maintain low power consumption.

[0016] Embodiments herein relate to a single E2E ASR model that uses a cascaded encoder and two separate decoders to enable operation in both streaming and non-streaming modes with various model parameters. The cascaded encoder includes a streaming encoder and a non-streaming encoder, and the two separate decoders include a streaming decoder and a non-streaming decoder configured to learn to decode the output from either the respective streaming encoder or the respective non-streaming encoder. In addition to the ASR model, the architecture may be applied to other models such as machine translation that implement both streaming and non-streaming modes.

[0017] Referring to Figures 1A and 1B, in some embodiments, systems 100, 100a-b include a user 104 interacting with a voice-enabled user device 10 (also referred to as device 10 or user device 10) within a voice environment. In system 100, the method by which user 104 interacts with user device 10 may be through voice input. User device 10 is configured to receive sound (e.g., streaming audio data) from one or more users 104 within a voice environment. Here, streaming audio data may refer to utterances 106 by user 104 that function as audible queries, commands to device 10, or audible communications captured by device 10. The voice-enabled system of device 10 may handle queries or commands by responding to queries and / or by having one or more downstream applications execute / perform commands.

[0018] User device 10 may correspond to any computing device associated with user 104 that can receive voice data. Some examples of user device 10 include, but are not limited to, mobile devices (e.g., mobile phones, tablets, laptops, etc.), computers, wearable devices (e.g., smartwatches), smart appliances, Internet of Things (IoT) devices, in-car infotainment systems, smart displays, smart speakers, etc. User device 10 includes data processing hardware 12 and memory hardware 14 that communicates with the data processing hardware 12 and stores instructions that cause the data processing hardware 12 to perform one or more actions when executed by the data processing hardware 12. User device 10 further includes a voice system 16 comprising voice acquisition devices (e.g., microphones) 16, 16a for acquiring utterances 106 in a voice environment and converting them into electrical signals, and voice output devices (e.g., speakers) 16, 16b for communicating audible voice signals (e.g., as output voice data from device 10). In the illustrated example, the user device 10 implements a single voice acquisition device 16a, but the user device 10 may implement an array of voice acquisition devices 16a without departing from the scope of this disclosure, in which case one or more acquisition devices 16a of the array may communicate with the voice system 16 without being physically residing in the user device 10.

[0019] In system 100, an automatic speech recognition (ASR) system 109 implementing ASR model 200 (also known as model 200) resides in user device 10 of user 104 and / or remote computing device 60 (e.g., one or more remote servers of a distributed system running in a cloud computing environment) that communicates with user device 10 via network 40. Remote computing device 60 may include remote data processing hardware 62 (e.g., remote servers or CPUs) and / or remote memory hardware 64 (e.g., remote databases or other storage hardware). User device 10 and / or remote computing device 60 also include a speech subsystem 108 configured to receive utterances 106 uttered by user 104 and acquired by speech acquisition device 16a, and to convert the utterances 106 into a corresponding digital format associated with an input acoustic frame 110 that can be processed by the ASR system 109. In the embodiment shown in Figure 1A, user 104 makes each utterance 106, and the speech subsystem 108 converts the utterance 106 into corresponding speech data (e.g., acoustic frames) 110 for input to the ASR system 109. Model 200 then receives the speech data 110 corresponding to the utterance 106 as input and generates / predicts the corresponding transcription 120 (e.g., also called recognition result / hypothesis 120) of the utterance 106 as output. As will be described in more detail below (e.g., in Figures 3A and 2B), model 200 can operate in streaming and non-streaming modes, trained in two stages of training to simplify the process of training model 200. Model 200 also includes a first decoder 204 (also called streaming decoder 204) and a second decoder 206 (also called non-streaming decoder 206), which enables model 200 to operate in streaming and non-streaming modes (in contrast to, for example, two separate models dedicated to either streaming or non-streaming).

[0020] For example, as shown in 1A, a digital assistant application 50 running on user device 10 may require streaming speech recognition so that words, parts of words, and / or individual characters appear on the screen as soon as they are spoken. Furthermore, user 104 of user device 10 may have a low tolerance for latency when issuing queries for the digital assistant application 50 to execute. In these scenarios, where the application requires minimal latency and benefits from a small model size, model 200 can operate in streaming mode, providing real-time streaming transcription capabilities as user 104 makes an utterance 106. On the other hand, if user 104 has a higher tolerance for speech recognition latency, and / or the utterance 106 to be recognized is associated with longer speech (i.e., speech consisting of a complete paragraph or multiple sentences) and a larger model capacity, the same model 200 may operate in non-streaming mode, leveraging a predictive network to provide accurate transcription 120, but with increased latency. Furthermore, in scenarios where user 104 has a higher tolerance for speech recognition latency, and / or where accuracy is paramount, model 200 can operate in a non-streaming mode that improves accuracy using additional context, although this will increase speech recognition latency. Therefore, the ASR system 109 can implement ASR model 200 for various speech recognition tasks, providing both streaming and non-streaming transcription capabilities, eliminating the need to use separately trained ASR models for each task. Moreover, using a single ASR model 200 for various speech recognition tasks reduces the computational requirements for running separate ASR models.

[0021] In some embodiments, Model 200 first performs streaming speech recognition on the audio data 110 and then performs non-streaming speech recognition on the output of the streaming encoder. For example, in the example shown, Model 200 uses a first encoder (i.e., a low-latency encoder (Figure 2B)) to perform streaming speech recognition on the audio data 110 to produce partial speech recognition results 120, 120a, and uses a second encoder (i.e., a high-latency encoder (Figure 2C)) to perform non-streaming speech recognition on the encoded audio data 110 to produce final speech recognition results 120, 120b. In particular, Model 200 outputs partial speech recognition result 120a as soon as the audio data 110 is received and outputs final speech recognition result 120b when all the audio data 110 has been received after the user 104 has finished speaking 106. Therefore, the output of final speech recognition result 120b for the input utterance 106 may be delayed from partial speech recognition result 120a.

[0022] The user device 10 and / or the remote computing device 60 also run a user interface generator 107 configured to present a representation of the transcription 120 of the utterance 106 to the user 104 of the user device 10. As will be described in more detail below, the user interface generator 107 may display a partial speech recognition result 120a in a streaming manner during time 1, and then display the final speech recognition result 120b during time 2. In some configurations, the transcription 120 output from the ASR system 109 is processed by a natural language understanding (NLU) module running, for example, in the user device 10 or the remote computing device 60, to execute the user command / query specified by the utterance 106. Additionally or alternatively, a text-to-speech system (not shown) (for example, running in any combination of the user device 10 or the remote computing device 60) can convert the transcription 120 into synthesized speech, which can then be output audibly by the user device 10 and / or other devices.

[0023] In the exemplary system 100a shown in Figure 1A, a user 104 in a voice environment interacts with a program or application 50 (e.g., a digital assistant application 50a) on the user device 10 using the ASR system 109. For example, Figure 1A depicts user 104 communicating with the digital assistant application 50a, which displays a digital assistant interface 18 on the screen of the user device 10, representing a conversation between user 104 and the digital assistant of the digital assistant application 50a. In this example, user 104 asks the digital assistant application 50a, "What song are you playing now?" This question from user 104 is an utterance 106, which is acquired by the voice acquisition device 16a and processed by the voice system 16 of the user device 10. In this embodiment, the voice system 16 receives the utterance 106 and converts it into an acoustic frame 110 for input to the ASR system 109.

[0024] Continuing the embodiment, Model 200 receives an acoustic frame 110 corresponding to the utterance 106 as User 104 speaks, encodes the acoustic frame 110 using the first encoder 210 (i.e., Figures 2A and 2B), and then decodes the encoded representation of the acoustic frame 110 into a partial speech recognition result 120a using the first decoder 204 (Figures 2A and 2B). During time 1, the user interface generator 107 presents the representation of the partial speech recognition result 120a of the utterance 106 to User 104 of User Device 10 via the digital assistant interface 18 in a streaming manner, so that words, parts of words, and / or individual characters are displayed on the screen as they are spoken.

[0025] After all (or some) of the acoustic frames 110 corresponding to the utterance 106 have been received and the first encoder 210 has encoded these acoustic frames 110, the second encoder 220 (i.e., Figures 2A and 2C) encodes the encoded output from the first encoder 210 to produce an encoding for the set of acoustic frames 110 corresponding to the utterance 106 that have already been encoded by the first encoder 210. The second decoder 206 (i.e., Figures 2A and 2C) then decodes the acoustic frames 110 encoded by the second encoder 220 into the final speech recognition result 120b. For example, when the first encoder 210 has encoded all the acoustic frames 110 corresponding to the utterance 106 (e.g., simultaneously with the reception of the acoustic frames 110), the second encoder 220 encodes all the acoustic frames 110 that have been encoded by the first encoder 210. In this regard, by encoding multiple encoded acoustic frames 110, the second encoder 220 can provide higher contextual awareness in a non-streaming manner (for example, by receiving a representation of all acoustic frames 110 for an utterance 106), which may potentially allow adjustment or correction of aspects of the utterance 106 that were missing or misinterpreted due to the streaming characteristics of the first encoder 210. In some examples, an indication that user 104 has finished utterance 106, such as an endpoint, triggers the second encoder 220 of model 200 to encode all acoustic frames 110.

[0026] During time 2, the user interface generator 107 presents the user 104 of the user device 10 with a representation of the final speech recognition result 120b of the utterance 106 via the digital assistant interface 18. In some embodiments, the user interface generator 107 replaces (or modifies) the representation of the partial speech recognition result 120a with the representation of the final speech recognition result 120b. For example, the final speech recognition result 120b is considered more accurate than the partial speech recognition result 120a, and to correct any terms that may have been misrecognized in the partial speech recognition result 120a, the final speech recognition result 120b is ultimately displayed as the transcription 120. In this embodiment, the partial speech recognition result 120a, output by Model 200 (i.e., the first encoder 210 and the first decoder 204) and displayed on the screen of the user device 10 at time 1, is associated with low latency and provides the user 104 with responsiveness indicating that their query is being processed. Therefore, the partial speech recognition result 120a may incorrectly predict user 104's utterance 106 as "What song are you playing now?". The final speech recognition result 120b, output by Model 200 (i.e., the cascaded encoder 202 and the second decoder 206) and displayed on the screen at time 2, improves speech recognition quality in terms of accuracy by identifying that user 104 said "playing". However, because the user interface generator 107 displays the partial speech recognition result while the user is making the utterance 106, the high latency associated with generating and finally displaying the final recognition result 120b is not very noticeable to user 104.

[0027] In the example shown in Figure 1A, the digital assistant application 50a can use natural language processing to respond to questions posed by user 104. Natural language processing generally refers to the process of interpreting written language (e.g., partial speech recognition result 120a and / or final speech recognition result 120b) and determining whether the written language prompts any action. In this example, the digital assistant application 50a uses natural language processing to recognize that the question from user 104 concerns the user's environment, more specifically, a song playing near the user. By recognizing these details using natural language processing, the automated assistant returns a response 19 to the user's query, which indicates "Cloud Play is currently playing." In some configurations, natural language processing is performed on a remote computing device 60 that communicates with data processing hardware 12 of the user device 10.

[0028] Figure 1B shows another example of speech recognition using the ASR system 109 in a speech environment 100b. As shown in this embodiment, user 104 interacts with voicemail applications 50, 50b that display voicemail application interfaces 18, 18b on the screen of user device 10 and transcribe voicemails left by Jane Doe for user 104. Latency is not critical in this embodiment. Without considering latency, model 200 of the ASR system 109 can leverage the full context of the speech by waiting until all acoustic frames 110 corresponding to the voicemail have been generated. This voicemail scenario also demonstrates how model 200 can handle long speeches, as voicemails often consist of multiple sentences and even several paragraphs. The ability to handle long speeches is particularly advantageous over other ASR models, such as multipath models with LAS decoders, as these models often suffer performance degradation (e.g., high word deletion rates for long speeches) when recognizing long speeches. For example, by using a dedicated second decoder 206 trained on the features of the second encoder 220 in combination with a cascaded encoder 202 (e.g., a first encoder 210 and a second encoder 220), Model 200 can leverage the full context of the input speech when performing speech recognition on long speech without compromising performance. As will be described in more detail below, the cascaded encoder 202 of Model 200 may optionally include a third encoder 230 cascaded with the first encoder 210 and the second encoder 220, and a dedicated third decoder 208 for decoding the acoustic frames 110 encoded by the third encoder 230 into the final speech recognition result 120b.

[0029] Continuing to refer to Figure 1B, as described with respect to Figure 1A, Model 200 receives the acoustic frames 110 and encodes them using the first encoder 210. After Model 200 has received all the acoustic frames 110 and encoded them with the first encoder 210, Model 200 provides the output of the first encoder as input to the second encoder 220. The second encoder 220 encodes the output of the first encoder before the second decoder 206 generates the final speech recognition result 120b. The user interface generator 107 then presents a representation of the final speech recognition result 120b via the digital assistant interface 18b without first displaying the partial speech recognition result 120a. For example, the final speech recognition result 120b is a transcription of a long voicemail from Jane Doe, which reads, "Call me back when you get this. I'm thinking about my New Year's plans."

[0030] Figures 2A to 2D include exemplary models 200a to 200d that operate in various combinations of streaming and non-streaming modes. Specifically, models 200a to 200d each include a cascaded encoder 202, a first decoder 204, and a second decoder 206. The cascaded encoder 202 refers to a model structure that includes encoders 210 and 220 whose encoding path is cascaded, so that the output of one encoder 210 is fed into the input of a second encoder 220 before decoding. Here, encoders 210 and 220 can be cascaded regardless of the underlying architecture of each encoder. As shown in Figure 2D and described in more detail below, model 200 can be generalized to a three-pass model 200 (i.e., a larger model), where the cascaded encoder 202 includes a third encoder 230 that is cascaded with encoders 210 and 220 and connected to a dedicated third decoder 208. Here, the output of the second encoder 220 is supplied to the input of the third encoder 230 before decoding by the third decoder 208.

[0031] In some examples, encoders 210, 220, and 230 contain a stack of 512-dimensional conformer layers. In other examples, the first encoder 210 (i.e., the first pass) contains a stack of 256-dimensional causal conformer layers (e.g., 6 layers), the second encoder 220 (i.e., the second pass) contains a stack of 512-dimensional non-causal conformer layers (e.g., 6 layers), and the third encoder 230 (i.e., the third pass) contains a stack of 640-dimensional non-causal conformer layers (e.g., 6 layers). Causal convolutional layers and left-side context attention layers can be used in each conformer layer to strictly restrict the model from using future inputs. A multi-head (e.g., 8-head) attention mechanism may be used in the self-attention layer.

[0032] Encoder 210 includes six conformer layers with approximately 20 million parameters when model 200 operates as the first path model. Cascaded encoders 210, 220 may include twelve conformer layers with approximately 50 million parameters when model 200 operates as the second path model. Here, the first encoder 210 may include six conformer layers with approximately 20 million parameters, the first three layers being self-aware (e.g., no left and right contexts for 92 frames) to prevent model 200 from using future inputs, while the second encoder 220 may include six conformer layers with approximately 30 million parameters to incorporate an additional right context (e.g., 5.04 seconds). The cascaded encoders 210, 220, and 230 include 18 layers with approximately 110 million parameters when model 200 operates as a third path model, where the third encoder 230 includes six non-causal conformer layers with additional right contexts (e.g., a right context of 30 frames of 900 milliseconds (ms) with approximately 60 million parameters). Optionally, other types of layers incorporating self-aware mechanisms, such as transformer layers, can be used instead of conformer layers. The first encoder 210 may be referred to as a causal encoder, and the second encoder 220 and the third encoder 230 may be referred to as non-causal encoders, respectively.

[0033] In other embodiments, one encoder is constructed using an LSTM structure, and the other encoder is constructed using a bidirectional LSTM layer or conformer layer (e.g., conformer-transducer). In other words, encoders 210, 220, and 230 may have different or similar architectures. For example, the cascaded encoder 202 may be broadly similar to the acoustic model (AM) of a conventional ASR system and may include a recurrent network of stacked long short-term memory (LSTM) layers, where the first encoder 210 is a streaming encoder including a unidirectional long short-term memory (LSTM) layer, while the second encoder 220 is a non-streaming encoder including a bidirectional LSTM layer or conformer layer. In the cascaded encoder 202, encoders 210, 220, and 230 include LSTM layers, and the second encoder 220, which receives the output of the first encoder 210, can utilize the LSTM layers of the first encoder 210. Therefore, the second encoder 220 includes fewer LSTM layers than the first encoder 210 (and fewer LSTM layers than a complete non-streaming model). Having fewer LSTM layers allows the cascaded encoder 202 to reduce the number of computationally intensive bidirectional layers, making the model 200 more streamlined than simply combining a conventional streaming model with a conventional non-streaming model.

[0034] Referring to Figure 2A, the first encoder 210 reads out a sequence of d-dimensional feature vectors (for example, the acoustic frames 110 shown in Figures 1A and 1B). x = ( x1, x2, ..., x T In the equation, xt∈Rd is 、 At each output step, a first higher-order feature representation is generated. This first higher-order feature representation is e s It is represented as follows. Similarly, the second encoder 220 is cascaded to the first encoder 210, and the first higher-order feature e s It receives as input and is trained to output a second higher-order feature representation. This second higher-order feature representation is e aIt is represented as. Optionally, the third encoder 230 is cascade-connected to the second encoder 220 and is trained to receive the second higher-order feature representation e a as input and output a third higher-order feature representation. This third higher-order feature representation is represented as e r . The first encoder 210, the second encoder 220, and the third encoder 230 are each directly connected to dedicated smaller decoders 204, 206, 208. Specifically, the first encoder 210 is connected to the first decoder 204, the second encoder 220 is connected to the second decoder 206, and the third encoder 230 is connected to the third decoder 208. Thus, the first decoder 204 receives an input of the first higher-order feature representation e s , the second decoder 206 receives an input of the second higher-order feature representation e a , and the third decoder 208 receives an input of the third-order higher-order feature representation e r .

[0035] The first decoder 204, the second decoder 206, and the third decoder 208 may each include a recurrent neural network transducer (RNN-T) architecture having 4.4 million parameters based on 384-dimensional fully-connected joint layers 240, 240a-c, and embedding prediction networks 250, 250a-c of 320 dimensions respectively. When the model 200 operates in streaming mode (i.e., Figure 2B), the joint layer 240a of the first decoder 204 receives an embedding output (previous prediction y r-1 ) from the prediction network 250a and combines it with the first higher-order feature representation e s output from the first encoder 210 to generate the output of the first decoder 204. When the model 200 operates in two-pass non-streaming mode (Figure 2C), the second decoder 206 uses the joint layer 240b to combine the second higher-order feature representation e a output by the cascade encoder 202 with the embedding output (previous prediction y r-1) are combined to generate the output of the second decoder 206. Similarly, when Model 200 operates in 3-pass non-streaming mode (Figure 2D), the third decoder 208 uses the joint layer 240c to obtain the third higher-order feature representation e output by the cascaded encoder 202. r and embedded output from prediction network 250c (previous prediction y r-1 By combining these, the output of the third decoder 208 is generated.

[0036] The outputs of decoders 204, 206, and 208 are the current subword unit y. i Probability distribution P(y i |y i-1 It can be ,...,y0,x), which is the sequence of units before the N preceding non-whitespace characters {y i-1 ,...,y i-N} is based on input x. Although not shown, Model 200 may include a softmax layer that receives the outputs of decoders 204, 206, and 208. In some embodiments, the softmax layer exists separately from decoders 204, 206, and 208, and the output y from decoders 204, 206, and 208 is based on x. r The output of the softmax layer is then used in the beam search process to select the orthographic element. In some embodiments, the softmax layer is integrated inside each of the decoders 204, 206, and 208, and the output of each decoder y r This represents the output of the softmax layer.

[0037] Decoders 204, 206, and 208 are configured to generate probability distributions for possible speech recognition hypotheses at each output step. In other words, for each of decoders 204, 206, and 208, each joint layer 240 generates a probability distribution for possible speech recognition hypotheses at each output step (e.g., time step). Here, “possible speech recognition hypotheses” correspond to a set of output labels / symbols (also called “speech units”), each representing a grapheme (e.g., symbol / letter) or part of a word in a particular natural language. For example, if the natural language is English, the set of output labels could include 27 symbols, e.g., one label for each of the 26 letters of the English alphabet and one label representing a space. Thus, each joint layer 240 may output a set of values ​​indicating the probability of each of a given set of output labels occurring. This set of values ​​can be a vector (e.g., a 1-hot vector) and may represent the probability distribution of the set of output labels. In some cases, the output labels are graphemes (e.g., individual characters, potential punctuation marks, or other symbols), but the set of output labels is not limited to these. For example, the set of output labels may include parts of words and / or entire words in addition to, or instead of, graphemes. Output labels may also be other types of phonetic units, such as phonemes or subphonemes. The output distribution of the joint layer 240 may include posterior probability values ​​for each of the different output labels. Thus, if there are 100 different output labels representing different graphemes or other symbols, the output of the joint layer 240 may include 100 different probability values, one for each output label. The probability distribution can then be used to select candidate orthographic elements (e.g., graphemes, parts of words, and / or words) in a beam search process (e.g., by a softmax layer), assign scores, and determine the transcription 120.

[0038] Within decoders 204, 206, and 208, each prediction network 250 may have two 2048-dimensional LSTM layers, each LSTM layer followed by a 640-dimensional projection layer, so that the LSTM-based prediction network can have approximately 23.4 million parameters. In other words, each prediction network 250 may include LSTM layers. In other configurations, the prediction network 250 may include conformer or transformer layers instead of LSTM layers. In yet another configuration, the prediction network 250 includes a V2 embedding lookup table containing the embedded prediction network. At each time step, the V2 embedding lookup table receives the two previous predictions output by the prediction network 250 (e.g., 1-hot vectors) as input, computes the respective embeddings d1 and d2 for each of the two previous predictions, and provides the concatenated output [d1, d2] to the joint layer 240. In comparison, a V2 embedded lookup table may have only about 2 million parameters, while an LSTM-based predictive network may contain about 23.4 million parameters. Finally, the predictive network 250 may also be a single-layer neural network with 640 hidden units. The softmax layer may consist of some of the integrated words or sets of graphemes generated using some of the unique words or graphemes from multiple training utterances 132, 132a-n (Figures 3A-3B). In some embodiments, to limit the amount of future context the ASR model 200 sees, the second encoder 220 uses a certain amount of right context (e.g., 5 seconds of right context) and several conformer layers (e.g., 2 layers), while the first encoder 210 continues to use LSTM layers. In these embodiments, each conformer layer in the second encoder 220 may have 640 units matching the LSTM layer, adding about 10 million additional parameters.

[0039] In some embodiments, Model 200 operates in streaming mode (i.e., a one-pass model), and funnel pooling is used to downsample the input acoustic frames 110, thereby reducing the number of parameters in Model 200 while maintaining the performance of Model 200. For example, the self-attention layer of the first encoder 210 takes a feature map x∈R as input. T×D The sequence x'∈R is received, where T is the length of the original sequence and D is the feature dimension. T×D This is generated by average pooling, and can be expressed as follows: x' = Avg pool(x) (1) In the equation, T' = T / 2. Instead of providing x' as input to the self-attention layer, we use it as a query vector q. Here, the key vector k and value vector v are based on the input feature map x, where y ∈ R TD This is mapped as the output features of the self-attention layer, as follows: y=self-attention(q=x',kv=x) (2) Continuing with the example in Figure 2A, in some embodiments, Model 200a operates in parallel in both streaming and non-streaming modes. When operating simultaneously in both streaming and non-streaming modes, Model 200a first performs streaming speech recognition on the audio data 110 using the first encoder 210, and then the first higher-order feature representation e for both the second encoder 220 and the first decoder 204. s Next, the first decoder 204 generates the first higher-order feature representation e s Based on this, partial speech recognition results 120 and 120a are generated. Model 200b also performs non-streaming speech recognition on the encoded speech data 110, and the second encoder 220 receives the first higher-order feature representation e from the first encoder 210. s Using the second higher-order feature representation e a Next, the second decoder 206 generates the second higher-order feature representation e aBased on this, the final speech recognition results 120 and 120b are generated. As indicated by "Time", the first decoder 204 outputs a partial speech recognition result 120a in a streaming manner using the output from the first encoder 210, then operates in a non-streaming mode while waiting for the model 200a utterance to complete, and the second decoder 206 generates the final speech recognition result 120b using the output from the second encoder 220. Therefore, the final speech recognition result 120b for the input utterance 106 may be delayed from the partial speech recognition result 120a.

[0040] Referring to Figure 2B, in some embodiments, Model 200b operates only in streaming mode (i.e., single-pass mode). This may occur, for example, when user 104 is using an application where latency must be minimized, such as voice search or dictation on the device. Here, Model 200b uses only the first encoder 210 to perform streaming speech recognition of the voice data 110 and converts the first higher-order feature representation e to the first decoder 204. s The first decoder 204 then generates partial speech recognition results 120 and 120a. The streaming mode of model 200b generates partial speech recognition results 120 and 120a quickly, so inaccuracies in the term "playback" are generally acceptable to the user 104.

[0041] Referring to Figure 2C, in some embodiments, Model 200c operates only in non-streaming mode (i.e., a two-pass model). Non-streaming mode may occur in non-latency-intensive applications, such as when user 104 is viewing a transcription of voicemail left on their phone (e.g., Figure 1B). As described above, this type of application benefits from improved performance by using future context, at the cost of increased processing time. Here, Model 200c uses the first encoder 210 to input a first higher-order feature representation e at each time step for input to the second encoder 220. sThe first decoder 204 generates the first higher-order feature representation e s None of them are decoded. Subsequently, model 200c performs non-streaming speech recognition on all audio data 110, and the second encoder 220 receives the first higher-order feature representation e from the first encoder 210. s Using the second higher-order feature representation e a The second decoder 206 then generates the final speech recognition results 120 and 120b. Since generating streaming speech recognition in real time is of little value to the user and latency is not a factor, model 200c may simply operate in non-streaming mode only and generate the final speech recognition results 120 and 120b.

[0042] Referring to 2D, Model 200 can be generalized to a 3-pass model 200d (i.e., a larger model) that operates only in non-streaming mode. This non-streaming mode may occur, for example, in non-latency-intensive applications where user 104 expects higher accuracy in speech recognition from Model 200. As described above, this type of application benefits from an increased amount of future context at the expense of increased latency to the final speech recognition results 120, 120b. Here, Model 200d uses the first encoder 210 to input a first higher-order feature representation e at each time step for input to the second encoder 220. s The first decoder 204 generates the first higher-order feature representation e s None of them are decoded. Model 200d then performs non-streaming speech recognition on all the audio data 110, and the second encoder 220 receives the first higher-order feature representation e from the first encoder 210. s Using the second higher-order feature representation e a Unlike model 200c, the second decoder 206 generates the second higher-order feature representation e aNeither of them decodes. Moreover, model 200d also performs non-streaming speech recognition on all audio data 110, and the third encoder 230 receives the second higher-order feature representation e from the second encoder 220. a Using the third higher-order feature representation e r Next, the third decoder 208 generates the final speech recognition results 120 and 120b.

[0043] Figures 3A and 3B show examples of a two-stage training process 300, 300a-b for training model 200 to operate dynamically between streaming and / or non-streaming modes of various model sizes. In some configurations, the training process 300 is performed on the remote computing device 60 shown in Figures 1A and 1B. The training process 300 retrieves multiple training utterances 132, 132a-n stored in a sample database 130 and trains model 200 with the training utterances 132 using a two-stage process. The sample database 130 may reside on the memory hardware of the remote computing device 60. As described above with respect to Figure 2A, the first encoder 210, the second encoder 220, and the third encoder 230 can be trained jointly or together to simplify the training process 300. Training encoders 210, 220, and 230 together means that the non-streaming encoder 220 can be trained directly with the output of the streaming encoder 210 instead of the input acoustic features (e.g., the input acoustic frame 110) (e.g., the first higher-order feature representation e s On the other hand, the non-streaming encoder 230 uses the non-streaming encoder 220 (e.g., a second higher-order feature representation e) instead of the input acoustic features (e.g., input acoustic frame 110). a This means that it can be trained directly with the output of ). Advantageously, this ensures that Model 200 learns to operate in either streaming or non-streaming mode during inference.

[0044] As shown in Figures 3A and 3B, Model 200 has three processing paths: one in streaming mode for Model 200b (shown in Figure 2B), one in non-streaming mode for Model 200c (shown in Figure 2C), and one in non-streaming mode for Model 200d (shown in Figure 2D). Referring to Figure 3A, the training process 300 employs the first stage of training process 300a. In the first stage, training process 300a uses cross-entropy training by transferring the same mini-batch of training utterances 132 through each of the cascaded encoder models 200b, 200c, and 200d, and linearly coupling the losses of each cascaded encoder model 200b, 200c, and 200d with weights that sum to 1. In the first stage of training process 300a, jointly training the cascaded encoders 210, 220, and 230 involves minimizing the weighted sum of losses across the input processing paths.

[0045] Since there are three input processing paths within the training process 300, the model loss includes three loss functions. Specifically, the loss of model 200b in streaming mode is generally defined as the sum of negative log probabilities corresponding to the probability distribution for possible speech recognition hypotheses based on the input training utterances 132. That is, the model loss for the connection from the first encoder 210 to the decoder 204 is:

[0046]

number

[0047] The model loss in non-streaming mode (e.g., model 200c) is also generally defined as the sum of negative log probabilities corresponding to the probability distribution for possible speech recognition hypotheses, based on the input training utterances 132. Thus, the model loss for the connection from the second encoder 220 to the decoder 204 is

[0048]

number

[0049] The model loss in non-streaming mode (e.g., model 200b) is also generally defined as the sum of negative log probabilities corresponding to the probability distribution for possible speech recognition hypotheses based on the input training utterance 132. Thus, the model loss connecting the third encoder 230 to the third decoder 206 is

[0050]

number

[0051] It is defined as follows. In some embodiments, if Model 200 includes only encoders 210, 220 and decoders 204, 206, the total loss between the two input paths of the first decoder 204 and the second decoder 206

[0052]

number

[0053] This is calculated as a weighted sum of each input path, where λ is the weighting term. In the second stage, training process 300b performs discriminative training to fine-tune model 200, which was initialized during training 300a in the first stage, using cross-entropy training. Here, discriminative training includes fine-tuning model 200 using the minimum word error rate (MWER) criterion. During the second stage of training process 300b, for each training utterance 132, training may be performed via either a streaming or non-streaming path. In other words, the input processing path is probabilistically selected to train either model 200b, model 200c, or model 200d, and training process 300b randomly samples each model 200b, 200c, or 200d with a probability equal to its loss weight, where the loss weight for model 200b may be 0.8, the loss weight for model 200c may be 0.15, and the loss weight for model 200d may be 0.05. By dedicating the most time to training the route of model 200b, the model's accuracy is improved without sacrificing performance on the later routes 200c and 200d. Subsequently, each decoder 204, 206, and 208 of the sampled routes performs beam search on the training utterance 132 to generate an n-best list of hypotheses. The negative log-likelihood for all hypotheses is calculated, re-normalized in the n-best space, and the word error loss is approximated to minimize the loss in model 200. Thus, for each hypothesis in the n-best list generated by each decoder for the corresponding training utterance, the respective number of word errors relative to the ground truth transcription of the corresponding training utterance is identified, and the training process uses the MWER criterion to minimize the word error rate based on the respective number of word errors identified for each hypothesis in the n-best list for the corresponding training utterance 132. As used herein, the n-best list contains n highest-ranking hypotheses, and each hypothesis in the n-best list contains a candidate transcription for the same corresponding training utterance 132.In some embodiments, since n is equal to 4, each decoder 204, 206, and 208 of the sampled paths performs a beam search on the training utterance 132 to generate the top four hypotheses, and the negative log-likelihood is calculated for all hypotheses (more than 4) and re-normalized in the top four space. Furthermore, by sampling the training utterance 132, the training process only needs to calculate the loss once for each training utterance 132 in each path / path, which significantly speeds up the second stage of the training process 300b. In some embodiments, if a longer training time is acceptable, an alternative training process is employed, training each input processing path / path with each training utterance and calculating the losses for both model 200b and model 200c for each training utterance 132.

[0054] In the example shown in Figure 3A, training utterances 132b and 132c are selected to train each of the processing paths represented by the cascaded encoder models 200b, 200c, and 200d in the first stage of the training process 300a. Cascaded encoder model 200b receives the training utterances 132b and 132c, and the first encoder 210 converts the training utterances 132b and 132c into a first higher-order feature representation (e.g., a speech embedding) as its output. Next, the first decoder 204 receives the first higher-order feature representation of the training utterances 132b and 132c as input and produces an output that has been tested for accuracy. Similarly, training utterances 132b and 132c are selected to train a second processing path represented by the cascaded encoder model 200c. The cascaded encoder model 200c receives training utterances 132b and 132c, and the first encoder 210 converts the training utterances 132b and 132c into a first higher-order feature representation (e.g., a speech embedding) as its output. The second encoder 220 receives the first higher-order feature representation of the training utterances 132b and 132c as input and generates a second higher-order feature representation of the training utterances 132b and 132c as its output. Next, the second decoder 206 receives the second higher-order feature representation of the training utterances 132b and 132c as input and generates an output that has been tested for accuracy. Similarly, the cascaded encoder model 200d receives training utterances 132b and 132c, and the first encoder 210 converts the training utterances 132b and 132c into a first higher-order feature representation (e.g., a speech embedding) as its output. The second encoder 220 receives the first higher-order feature representations of the training utterances 132b and 132c as input and generates the second higher-order feature representations of the training utterances 132b and 132c as output. The third encoder 230 receives the second higher-order feature representations of the training utterances 132b and 132c as input and generates the third higher-order feature representations of the training utterances 132b and 132c as output. Next, the third decoder 208 receives the third higher-order feature representations of the training utterances 132b and 132c as input and generates an output that has been tested for accuracy.

[0055] As shown in Figure 3B, in the second stage of the training process 300b, the training utterances 132 used by the training process 300b are randomly selected, and each path of the model 200 is randomly selected with a probability equal to the loss weights assigned to each path of the model 200. Based on these loss weights, the cascaded encoder model 200b receives the training utterances 132a, 132b, and 132c, and the first encoder 210 converts the training utterances 132a, 132b, and 132c into a first higher-order feature representation (e.g., a speech embedding) as output. Next, the first decoder 204 receives the first higher-order feature representations of the training utterances 132a, 132b, and 132c as input and produces an output that is tested for accuracy. Based on its loss weights, the cascaded encoder model 200c receives the training utterances 132b and 132d, and the first encoder 210 converts the training utterances 132b and 132d into a first higher-order feature representation (e.g., a speech embedding) as its output. The second encoder 220 receives the first higher-order feature representation of the training utterances 132b and 132d as input and generates a second higher-order feature representation of the training utterances 132b and 132d as its output. Next, the second decoder 206 receives the second higher-order feature representation of the training utterances 132b and 132d as input and generates an output that has been tested for accuracy. Based on its loss weights, the cascaded encoder model 200d receives the training utterance 132c, and the first encoder 210 converts the training utterance 132c into a first higher-order feature representation (e.g., a speech embedding) as its output. The second encoder 220 receives the first higher-order feature representation of the training utterance 132c as input and generates the second higher-order feature representation of the training utterance 132c as output. The third encoder 230 receives the second higher-order feature representation of the training utterance 132c as input and generates the third higher-order feature representation of the training utterance 132c as output. Next, the third decoder 208 receives the third higher-order feature representation of the training utterance 132c as input and generates an output that has been tested for accuracy.

[0056] Figure 4 includes a flowchart of an exemplary operational procedure for method 400, which performs streaming and non-streaming speech recognition using the ASR model 200. In operation 402, method 400 includes receiving a sequence of acoustic frames 110 as input to the ASR model 200. In operation 404, method 400 also includes, in each of a plurality of output steps, generating a first higher-order feature representation of the corresponding acoustic frames 110 in the sequence of acoustic frames 110 using a first encoder 210. In operation 406, method 400 includes receiving the first higher-order feature representation generated by the first encoder 210 in each of a plurality of output steps, as input to both a first decoder 204 and a second encoder 220.

[0057] Method 400 also includes, in operation 408, generating a second higher-order feature representation for a corresponding first higher-order feature representation by a second encoder 220 in each of a plurality of output steps. In operation 410, Method 400 includes generating a first probability distribution for possible speech recognition hypotheses by a first decoder 204 in each of a plurality of output steps. Method 400 further includes, in operation 412, receiving the second higher-order feature representation generated by the second encoder 220 in each of a plurality of output steps as input to the second decoder 206. In operation 414, Method 400 also includes generating a second probability distribution for possible speech recognition hypotheses by the second decoder 206 in each of a plurality of output steps.

[0058] Figure 5 is a schematic diagram of an exemplary computing device 500 that may be used to implement the systems (e.g., the voice subsystem 108, the ASR system 109, the user interface generator 107, and / or Model 200) and methods (e.g., Method 400) described herein. The computing device 500 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The components shown herein, their connections and relationships, and their functions are for illustrative purposes only and are not intended to limit the embodiments of the invention described and / or claimed herein.

[0059] The computing device 500 includes a processor 510 (e.g., data processing hardware), memory 520 (e.g., memory hardware), storage device 530, a high-speed interface / controller 540 connected to memory 520 and high-speed expansion port 550, and a low-speed bus 570 and a low-speed interface / controller 560 connected to storage device 530. Each component 510, 520, 530, 540, 550, and 560 is interconnected using various buses and may be mounted on a common motherboard or otherwise present as needed. The processor 510 (e.g., data processing hardware 12, 62 in Figures 1A-1B) processes instructions for execution within the computing device 500, including instructions stored in memory 520 or storage device 530, and can display graphical information of a graphical user interface (GUI) on an external input / output device such as a display 580 connected to the high-speed interface 540. In other embodiments, multiple processors and / or multiple buses may be used as needed, along with multiple memories and multiple memory types. In addition, multiple computing devices 500 may be connected, with each device performing some of the necessary operations (for example, as a server bank, a group of blade servers, or a multiprocessor system).

[0060] Memory 520 (i.e., memory hardware 14, 64 in Figures 1A-1B) stores information non-temporarily within the computing device 500. Memory 520 may be computer-readable media, volatile memory units, or non-volatile memory units. Non-temporarily, memory 520 may be a physical device used to temporarily or permanently store programs (e.g., instruction sequences) or data (e.g., program state information) for use by the computing device 500. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase-change memory (PCM), and disk or tape.

[0061] The storage device 530 can provide high-capacity storage to the computing device 500. In some embodiments, the storage device 530 is a computer-readable medium. In various different embodiments, the storage device 530 may be a device array including a floppy disk® device, a hard disk device, an optical disk device, or a tape device, flash memory or other similar solid-state memory device, or a storage area network or other configuration device. In additional embodiments, a computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that perform one or more of the above-described methods at runtime. The information carrier is a computer-readable medium or machine-readable medium such as memory 520, storage device 530, or memory on the processor 510.

[0062] The high-speed controller 540 manages the bandwidth-intensive operation of the computing unit 500 more effectively, while the low-speed controller 560 manages the low-bandwidth-intensive operation. This assignment of roles is merely an example. In some embodiments, the high-speed controller 540 is coupled to memory 520, a display 580 (e.g., via a graphics processor or accelerator), and a high-speed expansion port 550 that can accept various expansion cards (not shown). In some embodiments, the low-speed controller 560 is coupled to storage device 530 and a low-speed expansion port 590. The low-speed expansion port 590 may include various communication ports (such as USB, Bluetooth®, Ethernet®, or Wireless Ethernet) that can connect to one or more input / output devices, such as a keyboard, pointing device, scanner, or network devices such as switches or routers, via a network adapter or the like.

[0063] The computing device 500 can be implemented in many different forms, as shown in the figure. For example, it may be implemented as a standard server 500a, or multiple times within a group of such servers 500a, as a laptop computer 500b, or as part of a rack server system 500c.

[0064] Various embodiments of the systems and technologies described herein can be realized in digital electronic and / or optical circuits, integrated circuits, specially designed ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may be specialized or general-purpose and may include embodiments in one or more computer programs that are executable and / or interpretable on a programmable system comprising at least one programmable processor, at least one input device, and at least one output device, coupled to receive data and instructions from and transmit data and instructions to a storage system.

[0065] A software application (i.e., a software resource) may refer to computer software that causes a computing device to perform a task. In some examples, a software application may be called an “application,” “app,” or “program.” Exemplary applications include, but are not limited to, system diagnostic applications, system administration applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and game applications.

[0066] These computer programs (also known as programs, software, software applications, or code) include machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, non-transient computer-readable medium, apparatus and / or device (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)) used to provide machine instructions and / or data to a programmable processor that includes a machine-readable medium that receives machine instructions as machine-readable signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0067] The processes and logical flows described herein can be executed by one or more programmable processors, also referred to as data processing hardware, executing one or more computer programs to perform functions by acting on input data and producing outputs. Processes and logical flows can also be executed by special-purpose logic circuits, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). Processors suitable for executing computer programs include, for example, one or more processors of either general-purpose or special-purpose processors, and digital computers of any kind. Generally, processors receive instructions and data from read-only memory, random-access memory, or both. The basic elements of a computer are a processor for executing instructions, and one or more memory devices for storing instructions and data. Generally, a computer also includes one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or is operablely connected to receive data from or transmit data to them, or both. However, a computer is not required to have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, such as semiconductor memory devices like EPROM, EEPROM, and flash memory devices; magnetic disks like internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Processors and memory may be complemented by or integrated into dedicated logic circuits.

[0068] To interact with a user, one or more aspects of the present invention may implement a computer having a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal screen) monitor, or a touchscreen), and optionally a keyboard and pointing device (e.g., a mouse or trackball) by which the user can input to the computer. Other types of devices may also be used to provide interaction with the user. For example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or haptic feedback, and input from the user may be received in any form, including acoustic, spoken language, or haptic input. Furthermore, the computer may interact with the user by sending and receiving documents to and from the user's device, for example, by sending a web page to a web browser on the user's client device in response to a request received from a web browser.

[0069] Several embodiments have been described. Nevertheless, it is understood that various modifications can be made without departing from the spirit and scope of this disclosure. Accordingly, other embodiments are within the scope of the following claims.

Claims

1. An automatic speech recognition (ASR) model (200) for a computer to perform operations in both streaming mode and non-streaming mode, The first encoder (210) is, The system receives a sequence consisting of multiple acoustic frames (110) as input. The first encoder (210) is configured to generate a first higher-order feature representation for the corresponding acoustic frame (110) in the sequence consisting of the plurality of acoustic frames (110) in each of the plurality of output steps, The first decoder (204), In each of the above-mentioned multiple output steps, the first higher-order feature representation generated by the first encoder (210) is received as input. The first decoder (204) is configured to generate a first probability distribution for possible speech recognition hypotheses in each of the plurality of output steps, A second encoder (220), In each of the above-mentioned multiple output steps, the first higher-order feature representation generated by the first encoder (210) is received as input. The second encoder (220) is configured to generate a second higher-order feature representation for a corresponding first higher-order feature frame in each of the plurality of output steps, A second decoder (206), In each of the above-mentioned multiple output steps, the second higher-order feature representation generated by the second encoder (220) is received as input. Each of the plurality of output steps includes the second decoder (206), which is configured to generate a second probability distribution for possible speech recognition hypotheses. The ASR model (200) is trained using a two-stage training process, and the two-stage training process is Cross-entropy training is used by transferring the same mini-batch of training utterances through (i) a cascade encoder model (200b) consisting of the first encoder (210) and the first decoder (204), and (ii) a cascade encoder model (200c) consisting of the first encoder (210), the second encoder (220), and the second decoder (206), and the losses of each cascade encoder model (200b, 200c) are linearly coupled with weights that sum to 1, in the first stage, An automatic speech recognition (ASR) model (200) model (200) comprising a second stage, which involves performing discrimination training to fine-tune the ASR model (200) initialized during the first stage of training using cross-entropy training.

2. The ASR model (200) according to claim 1, wherein the first decoder (204) is further configured to generate a partial speech recognition result (120) based on the first probability distribution for possible speech recognition hypotheses.

3. The first encoder (210) Multiple unidirectional long short-term memory (LSTM) layers, Multiple conformer layers, ASR model (200) according to claim 1 or 2, comprising a causal encoder including one of a plurality of transformer layers.

4. The second encoder (220) Multiple unidirectional long short-term memory (LSTM) layers, Multiple conformer layers, ASR model (200) according to claim 1 or 2, comprising a non-causal encoder including one of a plurality of transformer layers.

5. The first decoder (204) A predictive network (250), The final softmax layer outputs a sequence of non-blank symbols, which is received as input. The prediction network (250) is configured to generate a dense representation in each of the plurality of output steps, A connected network (240), Each of the plurality of output steps receives as input the dense representation generated by the prediction network (250) and the first higher-order feature representation generated by the first encoder (210) in each of the plurality of output steps. The ASR model (200) according to claim 1 or 2, comprising the connected network (240) configured to generate a first probability distribution for possible speech recognition hypotheses in each of the plurality of output steps.

6. The aforementioned prediction network (250) Long-term short-term memory (LSTM) based predictive networks (250), or ASR model (200) according to claim 5, including a V2 embedded lookup table.

7. The second decoder (206) A predictive network (250), The final softmax layer outputs a sequence of non-blank symbols, which is received as input. The prediction network (250) is configured to generate a dense representation in each of the plurality of output steps, A connected network (240), Each of the plurality of output steps receives as input the dense representation generated by the prediction network (250) and the second higher-order feature representation generated by the second encoder (220) at each of the plurality of output steps. The ASR model (200) according to claim 1 or 2, comprising the connected network (240) configured to generate a second probability distribution for possible speech recognition hypotheses in each of the plurality of output steps.

8. The aforementioned prediction network (250) Long-term short-term memory (LSTM) based predictive networks (250), or ASR model (200) according to claim 7, including a V2 embedded lookup table.

9. The ASR model (200) according to claim 1 or 2, wherein the first encoder (210) includes more parameters than the second encoder (220).

10. A third encoder (230), In each of the above-mentioned multiple output steps, the second higher-order feature representation generated by the second encoder (220) is received as input. The third encoder (230) is configured to generate a third higher-order feature representation for a corresponding second higher-order feature representation in each of the plurality of output steps, A third decoder (208), In each of the above-mentioned multiple output steps, the third higher-order feature representation generated by the third encoder (230) is received as input. The ASR model (200) according to claim 1 or 2, further comprising the third decoder (208) configured to generate a third probability distribution for possible speech recognition hypotheses in each of the plurality of output steps.

11. A computer implementation method (400), which is executed by data processing hardware (610), wherein the data processing hardware (610) includes: Receiving a sequence consisting of multiple acoustic frames (110), A first encoder (210) included in a computer-operated automatic speech recognition (ASR) model (200) for performing operations in both streaming and non-streaming modes generates a first higher-order feature representation for the corresponding acoustic frame (110) in a sequence of multiple acoustic frames (110) at each of a plurality of output steps, The second encoder (220) included in the ASR model (200) generates a second higher-order feature representation for the corresponding first higher-order feature representation in each of the plurality of output steps, The first decoder (204) included in the ASR model (200) generates a first probability distribution for possible speech recognition hypotheses in each of the plurality of output steps, The second decoder (206) included in the ASR model (200) is made to perform an operation in each of the plurality of output steps that includes generating a second probability distribution for possible speech recognition hypotheses. The ASR model (200) is trained using a two-stage training process, and the two-stage training process is Cross-entropy training is used by transferring the same mini-batch of training utterances through (i) a cascade encoder model (200b) consisting of the first encoder (210) and the first decoder (204), and (ii) a cascade encoder model (200c) consisting of the first encoder (210), the second encoder (220), and the second decoder (206), and the losses of each cascade encoder model (200b, 200c) are linearly coupled with weights that sum to 1, in the first stage, A computer implementation method (400) comprising: a second stage of performing discrimination training to fine-tune the ASR model (200) initialized during the first stage of training using cross-entropy training.

12. The computer implementation method (400) according to claim 11, further comprising generating a partial speech recognition result (120) based on the first probability distribution for possible speech recognition hypotheses.

13. The first encoder (210) includes a causal encoder, and the causal encoder is Multiple unidirectional long short-term memory (LSTM) layers, Multiple conformer layers, or A computer implementation method (400) according to claim 11 or 12, comprising one of a plurality of transformer layers.

14. The second encoder (220) includes a non-causal encoder, and the non-causal encoder is Multiple unidirectional long short-term memory (LSTM) layers, Multiple conformer layers, or A computer implementation method (400) according to claim 11 or 12, comprising one of a plurality of transformer layers.

15. The above operation occurs in each of the plurality of output steps, Based on the sequence of non-blank symbols output by the final softmax layer, the prediction network (250) of the first decoder (204) generates a dense representation, The computer implementation method (400) according to claim 11 or 12, further comprising generating the first probability distribution for possible speech recognition hypotheses based on the dense representation generated by the prediction network (250) using the coupled network (240) of the first decoder (204).

16. The prediction network (250) of the first decoder (204) Long-term short-term memory (LSTM) based predictive networks (250), or The computer implementation method (400) according to claim 15, including a V2 embedded lookup table.

17. The above operation occurs in each of the plurality of output steps, The prediction network (250) of the second decoder (206) generates a dense representation in each of the plurality of output steps, The second higher-order feature representation generated by the second encoder (220) in each of the plurality of output steps, and the dense representation generated by the prediction network (250) in each of the plurality of output steps are received as input to the coupling network (240) of the second decoder (206), The computer implementation method (400) according to claim 11 or 12, further comprising generating the second probability distribution for possible speech recognition hypotheses by the coupled network of the second decoder (206) in each of the plurality of output steps.

18. The prediction network (250) of the second decoder (206) is Long-term short-term memory (LSTM) based predictive networks (250), or Computer implementation method (400) according to claim 17, including a V2 embedded lookup table.

19. The computer implementation method (400) according to claim 11 or 12, wherein the first encoder (210) includes a greater number of parameters than the second encoder (220).

20. The above operation performs streaming speech recognition and non-streaming speech recognition in a sequence consisting of the plurality of acoustic frames (110), In each of the above-mentioned multiple output steps, the second higher-order feature representation generated by the second encoder (220) is received as input to the third encoder (230), In each of the above-mentioned multiple output steps, the third encoder (230) generates a third higher-order feature representation for the corresponding second higher-order feature representation, In each of the above-mentioned multiple output steps, the third higher-order feature representation generated by the third encoder (230) is received as input to the third decoder (208), The computer implementation method (400) according to claim 11 or 12, further comprising generating a third probability distribution for possible speech recognition hypotheses by the third decoder (208) in each of the plurality of output steps.

Citation Information

Patent Citations

  • Attention-based joint acoustic and text on-device end-to-end model

    WO2021150791A1