An artificial intelligence system for sequence-to-sequence processing with dual causal and non-causal constrained self-attention adapted for streaming applications

JP7646080B2Active Publication Date: 2025-03-14MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024517606
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-02
Filing Date
2022-02-04
Publication Date
2025-03-14
Estimated Expiration
2042-02-04

AI Technical Summary

Benefits of technology

【0009】 同様に、因果的アーキテクチャを用いて、制限された自己注意モジュールを実装することもできる。このようなアーキテクチャは、未来の情報を利用しないので、遅延が生じない。その結果、因果的自己注意のいずれの組合せもさらなる遅延を生じさせない。しかしながら、因果的自己注意を用いたSequence-to-Sequence処理のパフォーマンスは、非因果的自己注意のパフォーマンスよりも悪い。そのために、いくつかの実施の形態の目的は、データストリーミングアプリケーション向けに因果的アーキテクチャと非因果的アーキテクチャとを組み合わせて、両方の利点を利用できるようにすることである。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007646080000006
    Figure 0007646080000006
  • Figure 0007646080000007
    Figure 0007646080000007
  • Figure 0007646080000008
    Figure 0007646080000008
Patent Text Reader

Abstract

The present disclosure provides an artificial intelligence (AI) system for sequence-to-sequence modeling with attention adapted for streaming applications. The AI ​​system includes at least one processor and a memory storing instructions that, when executed by the processor, cause the AI ​​system to pass each input frame in a sequence of input frames through layers of a deep neural network (DNN) to generate an output sequence. At least some of the DNN layers include a dual self-attention module with a dual acausal and causal architecture that directs attention to acausal and causal frames. Further, the AI ​​system renders the output sequence.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to artificial intelligence (AI), and more particularly to an AI system for sequence-to-sequence modeling with attention adapted for streaming applications. [Background technology]

[0002] Currently, self-attention mechanisms are a central component in many neural network (NN) architectures for various artificial intelligence (AI) applications that solve sequence-to-sequence problems, such as machine translation, speech processing, language modeling, automatic speech recognition (ASR), and computer vision. Self-attention mechanisms allow inputs to interact with each other ("self") to find inputs to which they should give more attention ("attention") so that the output can be calculated in the best way for a given task. Self-attention mechanisms are advantageous for solving sequence-to-sequence problems when the entire input sequence is available for processing. However, the output of neural networks with self-attention modules for processing time sequences is delayed by waiting for the entire input sequence derived from time-dependent signals, and such neural networks are rarely applied to online or streaming sequence-to-sequence processing, which requires low latency.

[0003] For example, in a speech processing application, to interpret the speech utterance "she eats a green apple", the self-attention mechanism may direct different attention to interpret different parts of the speech utterance. For example, to interpret the word "eats", the word "apple" may be more important than the word "green". Therefore, while interpreting the word "eats", the self-attention module may learn to direct more attention to the word "apple" than the word "green". However, to direct more attention to the word "apple", the self-attention module must wait until the word "apple" is available for processing. Therefore, in this example, to interpret the beginning of the sentence, the self-attention module must wait until the end of the sentence, resulting in processing delay.

[0004] Limited self-attention may address some of the shortcomings of the self-attention mechanism. Whereas the self-attention mechanism processes the entire input sequence to interpret each of its inputs, limited self-attention interprets the current input of the input sequence by looking only a limited range ahead of the current input. Typically, the input sequence includes a sequence of input frames, so to interpret the current frame, limited self-attention considers only a limited number of frames following the current frame. These frames following the current frame are referred to herein as look-ahead frames or simply look-aheads, and the number of look-ahead frames is referred to herein as look-ahead size.

[0005] Limited self-attention may reduce the performance of the self-attention module, but it can reduce the delay of sequence-to-sequence processing. For example, if the look-ahead size is two frames, limited self-attention will delay the interpretation of each current frame by two frames, which may be acceptable for streaming applications.

[0006] However, in practice, the self-attention module forms a complex architecture in the structure of a deep neural network, where multiple self-attention modules are used in multiple stacked layers, each of which uses the output of the previous layer as input. The deep neural network structure improves the performance of sequence-to-sequence processing in terms of accuracy rate, but at the cost of a large processing delay. For example, if a limited self-attention module introduces a processing delay of two frames, and a deep neural network contains 12 consecutive self-attention-based layers to improve the processing accuracy rate, the total delay is 24 frames, even though each self-attention layer uses only two look-ahead frames. As a result, designers of deep neural networks need to balance the accuracy rate and the processing delay. They also need to balance the look-ahead size of each self-attention layer with the total delay of the DNN to provide sufficient performance of sequence-to-sequence processing without increasing the total delay. Summary of the Invention [Problem to be solved by the invention]

[0007] (Technical issues) An object of some embodiments is to provide an artificial intelligence (AI) system for sequence-to-sequence processing using self-attention adapted for streaming applications. Additionally or alternatively, an object of some embodiments is to provide a dual self-attention module that can guarantee performance without increasing the processing delay of sequence-to-sequence processing. Additionally or alternatively, an object of some embodiments is to provide a dual self-attention module that can be used to form deep neural networks of various architectures without accumulating the processing delay of each layer. [Means for solving the problem]

[0008] Some embodiments are based on the understanding that self-attention and restricted self-attention have acausal architectures. The words causal and acausal are terms from the technical field of signal processing and are used herein in their usual sense. For example, in signal processing, a causal filter is a linear time-invariant causal system. Here, the word "causal" indicates that the filter output depends only on past and present inputs. A filter whose output also depends on future inputs is acausal filter. Therefore, as used herein, the acausal architecture of the self-attention module interprets the current input frame using past inputs, current inputs, and future inputs that come after the current input frame.

[0009] Similarly, a causal architecture can be used to implement a limited self-attention module. Such an architecture does not use future information and therefore does not introduce any delay. As a result, any combination of causal self-attention does not introduce any additional delay. However, the performance of sequence-to-sequence processing with causal self-attention is worse than that of non-causal self-attention. Therefore, it is an objective of some embodiments to combine causal and non-causal architectures for data streaming applications to be able to utilize the advantages of both.

[0010] Some embodiments are based on the recognition that acausal architectures utilize two main principles. The first principle is the way attention is directed to the input frame, and the second principle is the nature of the input frame. In acausal architectures, both of these principles are acausal. Specifically, acausal self-attention directs attention to a future look-ahead frame, so the way attention is directed is acausal. The second principle also specifies that the look-ahead frame should be created according to acausal principles, taking into account future data. Therefore, the way the look-ahead frame is created can also be acausal. As a result, following both acausal principles, an acausal architecture with a look-ahead size of two frames needs to pay attention to two future look-ahead frames, which may have been created with another two future look-ahead frames, which may in turn have been created with yet another two look-ahead frames, as described below in depth of neural networks with attention modules.

[0011] Some embodiments are based on the realization that the principles of acausal architectures can be modified by providing a Dual Causal and Non-causal (DCN) architecture. In the DCN architecture, the attentional orientation to the input frame remains acausal. However, the input frame itself may be a causal or acausal frame. Additionally or alternatively, in the DCN architecture, the attentional orientation to the input frame may be causal or acausal, and the input frame may be a causal or acausal frame. In this specification, a causal input or a causal frame refers to an input or a frame that is created without considering one or more future inputs, and a non-causal input or acausal frame refers to an input or a frame that is created with one or more future inputs in mind. As a result, the total processing delay can be reduced with only a partial loss of accuracy using causal inputs in the acausal architecture of a deep neural network (DNN).

[0012] In some embodiments, the look-ahead frames of the acausal self-attention processing are causal frames, and other frames to which attention is directed correspond to acausal frames. If the look-ahead frames are causal frames, the front-stage dual self-attention module does not need additional look-ahead frames to create these look-ahead frames. It is noteworthy that if the look-ahead size of the acausal past frames is smaller than the distance of the acausal past frames from the current frame, having the acausal past frames does not cause additional delay. In this way, the embodiments can limit the performance degradation by using as many acausal frames as possible, and limit the processing delay by using only causal look-ahead frames.

[0013] Some embodiments are based on the understanding of the need to create causal frames, such as causal look-ahead frames, to be consistent with the acausal frames, and therefore allow the DCN architecture to use both causal and acausal frames together. To this end, some embodiments use dual self-attention to maintain the parallel operation of the causal and acausal architectures. The causal architecture processes its inputs causally and therefore produces causal outputs without look-ahead. The acausal architecture processes its inputs acausally with a look-ahead of a certain size relative to the input frames and produces acausal outputs. In some implementations, these look-ahead frames are causal frames replicated from the causal architecture.

[0014] Therefore, the dual self-attention module with DCN architecture may output causal and acausal outputs. The causal and acausal outputs may be propagated through layers of the DNN with dual self-attention. In this way, the acausal architecture of dual self-attention can access both the causal frame created by the causal architecture of dual self-attention in the previous layer of the DNN and the acausal frame created by the acausal architecture of dual self-attention in the previous layer of the DNN. It is noteworthy that the entire output of the DNN may include one or a combination of causal and acausal outputs. However, since the acausal output generally has a higher accuracy rate than the causal output, in one embodiment, the output sequence includes only the acausal output.

[0015] Some embodiments are based on the realization that, internally, dual self-attention transforms a sequence of input frames into a sequence of keys, values, and a sequence of query frames. The relationship of the query to the keys and the relationship of the keys to the values ​​are differentiable. In this way, the attention mechanism learns to reconstruct the relationship between the search input and the inputs that provide the context as the DNN learns.

[0016] To this end, each query frame in the query sequence is searched through a key sequence to calculate the relationship of each key frame to the query frame. Each key frame is associated with a value frame that encodes features for each input frame. The calculated relationship of each key frame to the query frame is used to assign a weighting factor to each value frame for calculating the weighted average of the value frame sequence and the output for the query search. For example, if each input frame in the input frame sequence corresponds to a word sequence, i.e., a word in a sentence, then the relationship of each key frame to the estimated query frame indicates the relationship of the query frame related word to all other words in the sentence.

[0017] Therefore, to compute the acausal output, the dual self-attention acausal architecture needs to replicate the causal look-ahead key and causal value frames so that the acausal query frame can attend to the acausal past and present key frames and the causal look-ahead key frames, and create weights for the past and present acausal value frames, as well as weights for the causal look-ahead value frames, so that the acausal output is created.

[0018] Some embodiments are based on another realization that the quality of the dual self-attention module can be further improved by minimizing the use of causal frames as much as possible: to that end, in some embodiments, the causal architecture uses past and present acausal frames that are replicated from an acausal architecture that does not require any information beyond the position of the current query frame, and the acausal architecture uses a causal look-ahead frame that is replicated from the causal architecture.

[0019] Some embodiments are based on the understanding that a DNN having a layer with dual self-attention modules can be used as a primary interpreter of a sequence-to-sequence problem and / or form part of a more complex neural network architecture. For example, in one embodiment, the DNN is trained for a Connectionist Temporal Classification (CTC) objective to output an interpretation of a speech input. For example, for an automatic speech recognition (ASR) application, the DNN is trained to output a transcription of a speech utterance. Additionally or alternatively, the DNN can be trained as an encoder to output an encoder state that can later be transformed into a desired form of output. In one example, such later transformation is performed with the help of an additional projection layer trained together with the DNN. In another example, the DNN forms a dual self-attention encoder in an encoder / decoder architecture, where the decoder is also a deep neural network.

[0020] For example, in one embodiment, an encoder neural network and an additional projection layer are trained with a CTC objective function. This embodiment is advantageous because CTC-based neural networks are also applicable to streaming applications. In another example, the encoder is followed by an attention-based decoder neural network. This embodiment is less easy to use for streaming applications, but may provide interpretation results with a higher accuracy rate than CTC-based neural networks.

[0021] In yet another embodiment, the output of the dual self-attention encoder is processed by different decoders working together to achieve better results. For example, the output of the dual self-attention encoder is processed by a CTC and an attention-based decoder to improve the overall encoding. Additionally or alternatively, in one embodiment, the CTC-based output triggers the execution of the attention-based decoder to adapt the attention-based decoder for streaming applications. To this end, some embodiments provide a speech recognition system with a dual self-attention encoder combined with an attention-based decoder.

[0022] Accordingly, one embodiment discloses an artificial intelligence (AI) system adapted for data streaming applications. The AI ​​system comprises at least one processor and a memory storing instructions. When executed by the at least one processor, the instructions cause the AI ​​system to pass each input frame in a sequence of input frames through layers of a deep neural network (DNN) to process the input frames and generate an output sequence. At least some of the layers include a dual self-attention module having a dual causal and acausal architecture that directs attention to acausal and causal frames. The instructions further cause the AI ​​system to render the output sequence.

[0023] Accordingly, another embodiment discloses a speech processing method, comprising: passing each input frame in a sequence of input frames through layers of a DNN (Deep Neural Network) to generate an output sequence, at least some of the layers including a dual self-attention module having a dual causal and acausal architecture that directs attention to acausal and causal frames, and further comprising rendering the output sequence.

[0024] Thus, yet another embodiment discloses a non-transitory computer-readable storage medium including a program executable by a processor to perform a method, the method including passing each input frame in a sequence of input frames through layers of a deep neural network (DNN) to generate an output sequence, at least some of the layers including a dual self-attention module having a dual causal and acausal architecture that directs attention to acausal and causal frames, the method further including rendering the output sequence.

[0025] The presently disclosed embodiments will be further described with reference to the accompanying drawings, in which the drawings are not necessarily to scale, emphasis instead being placed generally upon illustrating the principles of the presently disclosed embodiments. [Brief description of the drawings]

[0026] [Figure 1] FIG. 1 is a block diagram illustrating a network environment for implementing an artificial intelligence (AI) system according to some embodiments of the present disclosure. [Figure 2A] FIG. 2 is a block diagram of the AI ​​system illustrated in FIG. 1 according to some embodiments of the present disclosure. [Figure 2B] 1 is an illustration of a deep neural network, according to some embodiments of the present disclosure. [Diagram 3] FIG. 1 illustrates a schematic diagram of a dual causal and acausal architecture according to some embodiments of the present disclosure. [Figure 4] FIG. 2 illustrates a schematic for weighting each value frame in a sequence of value frames according to some embodiments of the present disclosure. [Diagram 5] FIG. 1 illustrates a schematic diagram of a speech recognition (ASR) system configured for end-to-end speech recognition, according to some embodiments. [Figure 6A] FIG. 2 is a schematic diagram of an alignment decoder according to some embodiments. [Figure 6B]FIG. 2 illustrates an example of splitting an encoder state sequence according to some embodiments. [Figure 6C] FIG. 2 illustrates an example of splitting an encoder state sequence according to some embodiments. [Figure 7] FIG. 2 illustrates an example of an attention-based decoder according to some embodiments. [Figure 8] FIG. 1 illustrates an overview of a streaming system based on an AI system according to some embodiments of the present disclosure. [Figure 9] FIG. 1 is an overall configuration diagram of an AI system according to some exemplary embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0027] (Description of the embodiment) In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to one skilled in the art that the present disclosure may be practiced without these specific details. In other instances, devices and methods are shown only as block diagrams in order to avoid obscuring the present disclosure.

[0028] As used herein and in the appended claims, the terms "for example, for instance," and "such as," as well as the verbs "comprising," "having," and "including" and other verb forms thereof, when used in conjunction with a list of one or more components or other items, should be construed as open-ended, meaning that the list should not be considered to exclude other additional components or other items. The term "based on" means based, at least in part, on. Moreover, it is to be understood that the phraseology and terminology used herein are for purposes of description and should not be considered limiting. The headings used herein are for convenience only and do not have any legal or limiting effect.

[0029] FIG. 1 is a block diagram illustrating a network environment 100 for implementing an artificial intelligence (AI) system 102 according to some embodiments of the present disclosure. The network environment 100 is illustrated to include a user 106 associated with a user device 108. In the illustrated example scenario, the user 106 provides an input, such as a voice input 110, to the user device 108. The user device 108 receives the voice input 110 as an acoustic signal or as a voice utterance. The user device 108 may include an application, such as automatic speech recognition (ASR), hosted by a server 104. The voice input 110 may be provided to the server 104 via a network 112. The server 104 may be configured to process the voice input 110 and execute different applications related to ASR for data streaming applications.

[0030] Moreover, the network 112 may comprise suitable logic, circuits, and interfaces that may be configured to provide multiple network ports and multiple communication channels for transmitting and receiving data. Each network port may correspond to a virtual address (or physical machine address) for transmitting and receiving communication data. For example, the virtual address may be an Internet Protocol Version 4 (IPv4) (or IPv6 address) and the physical address may be a Media Access Control (MAC) address. The network 112 may be associated with an application layer for implementing a communication protocol based on one or more communication requests from at least one of the one or more communication devices. The communication data may be transmitted and received via the communication protocol. Such wired and wireless communication protocols may include, but are not limited to, Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), ZigBee, EDGE, Infrared (IR), IEEE 802.11, 802.16, cellular communication protocols, and / or Bluetooth (BT, registered trademark) communication protocols.

[0031] Examples of the network 112 include, but are not limited to, wireless channels, wired channels, and combinations of the wireless and wired channels. The wireless or wired channels may correspond to a network standard that may be defined by one of a local area network (LAN), a personal area network (PAN), a wireless local area network (WLAN), a wireless area network (WAN), a wireless wide area network (WWAN), a long term evolution (LTE) network, a plain old telephone service (POTS), and a metropolitan area network (MAN). Additionally, the wired channel may be selected based on bandwidth criteria. For example, a fiber optic channel may be used for high bandwidth communications. Furthermore, a coaxial cable-based or Ethernet-based communication channel may be used for medium bandwidth communications.

[0032] In some embodiments, the speech input 110 may be long. In such a case, the computational load of the server 104 may be high. Therefore, the server 104 may not be able to process the speech input 110 in time, which may result in a delayed output. Also, it may take time to process a long speech input 110, which may result in a delayed response to a user input. To this end, some embodiments disclose an AI system 102 that can generate an output with a high accuracy rate with a small delay.

[0033] FIG. 2A is a block diagram of the AI ​​system 102 illustrated in FIG. 1 according to some embodiments of the present disclosure. The AI ​​system 102 is adapted for data streaming applications. The AI ​​system 102 includes a processor 202, a memory 204, and an I / O (input / output) interface 210. In an exemplary embodiment, the I / O interface 210 is configured to receive an input sequence, which may correspond to an audio input having a time dimension (e.g., audio input 110). Furthermore, the processor 202 is configured to execute instructions stored in the memory 204. Execution of the stored instructions causes the AI ​​system 102 to accept an input frame sequence. The input frame sequence represents an ordered sequence of features describing information of an input signal (e.g., audio input 110).

[0034] Some embodiments are based on the understanding that self-attention and restricted self-attention have acausal architectures. The words causal and acausal are terms from the technical field of signal processing and are used herein in their usual sense. For example, in signal processing, a causal filter is a linear time-invariant causal system. Here, the word "causal" indicates that the filter output depends only on past and present inputs. A filter whose output also depends on future inputs is acausal. Therefore, as used herein, the acausal architecture of the self-attention module interprets the current input frame using past inputs, current inputs, and future inputs that come after the current input frame.

[0035] Similarly, a causal architecture can be used to realize a limited self-attention module. Such an architecture does not use future information and therefore does not introduce delays. As a result, any combination of causal self-attention modules does not introduce additional delays. However, the performance of sequence-to-sequence processing with causal self-attention is worse than that of non-causal self-attention. Therefore, it is an objective of some embodiments to combine causal and non-causal architectures for data streaming applications to be able to utilize the advantages of both.

[0036] Some embodiments are based on the recognition that acausal architectures utilize two main principles. The first principle is the way attention is directed to the input frame, and the second principle is the nature of the input frame. In acausal architectures, both of these principles are acausal. Specifically, acausal self-attention directs attention to the future look-ahead frame, so the way of attention is acausal. The second principle also specifies that the look-ahead frame should be created according to the acausal principle by considering future data. Therefore, the way of creating the look-ahead frame is also acausal. As a result, an acausal architecture with a look-ahead size of two frames needs to direct attention to two future look-ahead frames, which may have been created with another two future look-ahead frames, which may have been created with yet another two look-ahead frames, and so forth according to the depth of the neural network with the attention module.

[0037] Some embodiments are based on the realization that the principles of acausal architectures can be modified by providing a dual causal and acausal (DCN) architecture. In the DCN architecture, the attentional orientation to the input frame remains acausal. However, the input frame itself may be a causal or acausal frame. Additionally or alternatively, in the DCN architecture, the attentional orientation to the input frame may be causal or acausal, and the input frame may be a causal or acausal frame. In this specification, a causal input or a causal frame refers to an input or a frame that is created without considering one or more future inputs, and acausal input or acausal frame refers to an input or a frame that is created with one or more future inputs in mind. As a result, the total processing delay can be reduced with only a partial loss of accuracy using causal inputs in the acausal architecture of a deep neural network.

[0038] To that end, in an embodiment, the memory 204 includes a deep neural network (DNN) 206. The DNN 206 includes a dual self-attention module 208 that includes multiple layers, at least some of which have a DCN architecture.

[0039] FIG. 2B illustrates an illustration of a DNN 206 according to some embodiments of the present disclosure. The DNN 206 includes layers 206a-206e. Some of the layers 206a-206e include a dual self-attention module 208. For example, the DNN 206 includes an input layer 206a, an output layer 206e, and dual self-attention layers 206b, 206c, and 206d. The self-attention layers 206b, 206c, and 206d include a DCN architecture. The processor 202 is configured to process each input frame in the input frame sequence across the layers of the DNN 206 to generate an output sequence.

[0040] FIG. 3 shows an overview of a DCN architecture 300 for generating an output sequence according to some embodiments of the present disclosure. The processor 202 replicates the input feature sequence to derive a causal input frame sequence 302 and an acausal input frame sequence 304. Furthermore, the DCN architecture 300 converts the causal and acausal input frames into causal and acausal key, value, and query frames. The DCN architecture 300 includes a causal architecture and an acausal architecture. The DCN architecture 300 is configured to perform dual self-attention that maintains the parallel operation of the causal and acausal architectures with each other. According to an embodiment, the dual self-attention includes a causal self-attention process 306 and an acausal self-attention process 308. The causal self-attention process 306 and the acausal self-attention process 308 are executed in parallel.

[0041] A sequence of causal input frames 302 is provided as input to causal self-attention processing 306. Causal self-attention processing 306 involves a causal architecture causally processing each causal input frame included in the sequence of causal input frames 302, i.e., processing without a look-ahead frame, to produce a sequence of causal output frames 310.

[0042] Furthermore, the acausal input frame sequence 304 is provided as an input to the acausal self-attention processing 308. The acausal self-attention processing 308 includes an acausal architecture acausally processing each acausal input frame in the acausal input frame sequence 304 with a look-ahead of a certain size for an input frame representing a current frame to generate acausal output frame sequence 312. In the acausal self-attention processing 308, the look-ahead frame is a causal frame, and the other frames attended to correspond to acausal frames. For example, to interpret the current input frame 314, attention is paid to the look-ahead frame 318, which is a causal frame, and the other frames 316, which are acausal frames. If the look-ahead frame is a causal frame, no additional look-ahead frames are required by the previous dual self-attention module to generate these look-ahead frames. Notably, having past frames that are non-causal frames does not introduce additional delay. Thus, embodiments can limit performance degradation by using as many non-causal frames as possible, and limit processing delays by using only causal look-ahead frames.

[0043] Therefore, the DCN architecture 300 of the dual self-attention module 206 outputs a causal output frame sequence 310 and an acausal output frame sequence 312. Furthermore, the causal output frame sequence 310 and the acausal output frame sequence 312 may be propagated throughout the layers of the DNN 206 with dual self-attention. In this way, the acausal architecture of dual self-attention can access both the causal frames created by the causal architecture of dual self-attention in the previous layer of the DNN 206 and the acausal frames created by the acausal architecture of dual self-attention in the previous layer of the DNN 206.

[0044] According to an embodiment, the sequence of causal output frames 310 and the sequence of acausal output frames 312 correspond to an output sequence. However, since the acausal output frames generally have a higher accuracy rate than the causal output frames, in one embodiment, the output sequence includes only the sequence of acausal output frames 312.

[0045] Some embodiments are based on the realization that, internally, dual self-attention transforms a sequence of input frames into a sequence of keys, values, and a sequence of query frames. The relationship of the query to the keys and the relationship of the keys to the values ​​are differentiable. In this way, the attention mechanism learns to reconstruct the relationship between the search input and the inputs that provide the context as the DNN 206 learns.

[0046] To this end, each query frame in the query sequence is searched through a key sequence to calculate the relationship of each key frame to the query frame. Each key frame is associated with a value frame that encodes features for each input frame. The calculated relationship of each key frame to the query frame is used to assign a weighting factor to each value frame for calculating a weighted average of the value frame sequence and the output for the query search. For example, if each input frame in the input frame sequence corresponds to a word sequence, i.e., a word in a sentence, then the relationship of each key frame to the estimated query frame may indicate the relationship of the query frame related word to all other words in the sentence.

[0047] 4 illustrates a schematic for weighting each value frame of a sequence of value frames according to some embodiments of the present disclosure. An input causal frame 400 is provided to a dual self-attention causal architecture of a current layer of the DNN 206. According to an embodiment, the input causal frame 400 may correspond to a causal output determined by a dual self-attention causal architecture of a previous layer of the DNN 206. The dual self-attention causal architecture of the current layer of the DNN 206 converts the previous causal output into a sequence of causal key frames, causal value frames, and causal query frames, and creates a current causal output 414 by directing the attention of the causal query frames to the causal key frames and weighting the causal value frames.

[0048] The input acausal frame 416 is fed to the dual self-attention acausal architecture of the current layer of the DNN 206. According to an embodiment, the input acausal frame 416 may correspond to the acausal output determined by the dual self-attention acausal architecture of the previous layer of the DNN 206. The dual self-attention acausal architecture of the current layer of the DNN 206 converts the previous acausal output into a sequence of acausal key frames, acausal value frames, and acausal query frames to create the current acausal output 430. Specifically, in an embodiment, the current acausal output 430 is created by directing the attention of the acausal query frame 422 to the acausal key frame 418 combined with the causal lookahead key frame 420 replicated from the causal architecture, and weighting the acausal value frame 424 combined with the causal lookahead value frame 426 replicated from the causal architecture. The estimated weight of the acausal value frame 424 combined with the causal lookahead value frame 426 is represented by 428 .

[0049] Some embodiments are based on another realization that the quality of the dual self-attention module 208 can be further improved by minimizing the use of causal frames as much as possible. To that end, in some embodiments, the causal architecture uses past acausal frames that are replicated from an acausal architecture that does not require any information beyond the position of the current query frame, and the acausal architecture uses a causal look-ahead frame that is replicated from the causal architecture.

[0050] For example, the causal architecture creates a current causal output 414 by directing the attention of the causal query frame 406 to a causal keyframe 404 combined with an acausal keyframe 402 replicated from the acausal architecture and weighting a causal value frame 410 combined with an acausal value frame 408 replicated from the acausal architecture. The estimated weight of the causal value frame 410 combined with the acausal value frame 408 is represented by 412. Additionally or alternatively, the acausal architecture creates a current acausal output 430 by directing the attention of the acausal query frame 422 to past and present acausal keyframes 418 combined with a causal lookahead keyframe 420 replicated from the causal architecture and weighting acausal past and present value frames 424 combined with a causal lookahead value frame 426 replicated from the causal architecture.

[0051] Some embodiments are based on the realization that a DNN 206 having a layer with dual self-attention modules can be used as the primary interpreter of a sequence-to-sequence problem and / or can form part of a more complex neural network architecture.

[0052] For example, in one embodiment, the DNN 206 is trained for connectionist temporal classification (CTC) purposes to output an interpretation of a speech input. For example, for an ASR application, the DNN 206 is trained to output a transcription of a speech utterance. Additionally or alternatively, the DNN 206 may be trained as an encoder to output an encoder state that can later be transformed into a desired form of output. In one example, such later transformation is performed with the help of an additional projection layer trained along with the DNN 206. In another example, the DNN 206 forms a dual self-attention encoder in an encoder / decoder architecture, where the decoder is also a deep neural network.

[0053] For example, in one embodiment, an encoder neural network and an additional projection layer are trained with a CTC objective function. This embodiment is advantageous because CTC-based neural networks are also applicable to streaming applications. In another example, the encoder is followed by an attention-based decoder neural network. This embodiment is less easy to use for streaming applications, but may provide interpretation results with a higher accuracy rate than CTC-based neural networks.

[0054] In yet another embodiment, the output of the dual self-attention encoder is processed by different decoders working together to achieve better results. For example, the output of the dual self-attention encoder is processed by a CTC and an attention-based decoder to improve the overall encoding. Additionally or alternatively, in one embodiment, the CTC-based output triggers the execution of the attention-based decoder to adapt the attention-based decoder for streaming applications. To this end, some embodiments provide a speech recognition system with a dual self-attention encoder combined with an attention-based decoder.

[0055] 5 illustrates a schematic of an ASR system 500 configured for end-to-end speech recognition, according to some embodiments. The ASR system 500 receives and processes input acoustic sequences to generate transcription output sequences. Each transcription output sequence is a transcription of an utterance or a portion of an utterance represented by a corresponding input acoustic signal. For example, the ASR system 500 can receive an input acoustic signal 502 and generate a corresponding transcription output 510 that is a transcription of the utterance represented by the input acoustic signal 502.

[0056] The input acoustic signal 502 may include a sequence of frames of audio data that are a digital representation of speech, e.g., a continuous data stream. The sequence of frames of audio data may correspond to a sequence of time steps, e.g., each frame of audio data is associated with 25 milliseconds of audio stream data shifted 10 milliseconds earlier than the previous frame of audio data. Each frame of audio data in the sequence of frames of audio data includes a frame of feature values ​​that characterize a portion of the speech at the corresponding time step. For example, the sequence of frames of audio data may include filter bank spectral feature vectors.

[0057] The transcription output 510 may include a transcription sequence of the speech represented by the input acoustic signal 502. The transcription output may include one or more characters. For example, the transcription output may be a character or sequence of characters from a Unicode character set. For example, the character set may include the English alphabet, Asian languages, Cyrillic languages, and Arabic. The character set may also include Arabic numerals, white space characters, and punctuation marks. Additionally or alternatively, the transcription output may include bits, words, and other language constructs.

[0058] The speech recognition system 500 comprises an encoder 504 and an attention-based decoder 508. The encoder 504 may be a dual self-attention encoder. The encoder 504 processes an input acoustic signal 502 and generates an encoder state sequence 506 that provides another representation, e.g., a superordinate representation, of the input acoustic signal 502. The encoder state sequence 506 may include another sequence of frames of speech data corresponding to a second set of time steps. The attention-based decoder 508 is trained to process the encoder state sequence 506 that represents the other representation of the input acoustic signal 502 and generate a transcription output 510 from the encoder state sequence provided to the attention-based decoder 508.

[0059] Some embodiments are based on the realization that to recognize each transcription output 510, an attention-based ASR system needs to observe the entire speech utterance split by speech gaps and assign weights to each input frame. Due to the lack of a priori knowledge of which parts of the input acoustic signal are needed to recognize the next transcription output and the need to assign weights to each encoder state, attention-based decoders usually need to process large input sequences. Although such processing allows taking advantage of attention to different parts of the utterance, it is impractical for streaming / online speech recognition due to the large output delay.

[0060] As used herein, the output delay of an ASR is the difference between receiving an acoustic frame of a speech utterance and recognizing the received acoustic frame. For example, if an attention-based ASR system operates on an entire speech utterance, recognizing words contained in the utterance will be delayed until the last word of the utterance is received. Such recognition delays result in a large output delay.

[0061] Some embodiments are based on the understanding that an example of prior knowledge about whether different parts of the input sequence are relevant to recognize the next transcription output is an indication of the position of the frame in the input sequence that corresponds to the transcription output to be recognized. Indeed, if the positions of the transcription outputs are known, it is possible to force the attention-based decoder to pay more attention to these positions and less or no attention to other positions by restricting the input sequence. In this way, for each transcription output, the attention-based network can focus its attention around its position in the input sequence. This induced attention reduces the need to process large input sequences, which reduces the output latency and makes the attention-based decoder a practical decoder for streaming / online recognition.

[0062] To this end, the ASR system 500 includes an alignment decoder 520 trained to identify the position 525 of the encoder state in the sequence 506 that encodes the transcription output, such as a character, bit, or word. CTC is a type of objective function related to neural network output for training a recurrent neural network (RNN), such as a Long Short-term Memory (LSTM) network, to tackle timing-variable sequence problems. A CTC-based ASR system is an alternative ASR system to an attention-based ASR system. A CTC-based neural network generates output for every frame of the input sequence, i.e., the input and output are synchronized, and a beam search algorithm is used to find the best output sequence before multiple neural network outputs to one output transcription collapse. The performance of an attention-based ASR system may be superior to a CTC-based ASR system. However, some embodiments are based on the realization that the input-output frame alignment used by the intermediate operation of a CTC-based ASR system can be utilized by an attention-based ASR system to address the drawback of output delay mentioned above.

[0063] To take advantage of the alignment information 525 provided by the alignment decoder 520, the ASR system 500 includes a partitioning module 530 configured to partition the encoder state sequence 506 into a series of partitions 535. For example, the partitioning module 530 may partition the encoder state sequence by the positions 525 of the identified encoder states. As a result, the number of partitions 535 is determined by the identified encoder states 525 that encode the transcription output, e.g., equal to the number of identified encoder states 525. In this way, the attention-based decoder 508 accepts as input a portion of the sequence 535 rather than the entire sequence 506, while each portion likely contains a new transcription output for forming the transcription output sequence 510. In some implementations, the combination of the alignment decoder, the attention-based decoder, and the partitioning module is referred to as a triggered attention decoder. In effect, the triggered attention decoder can process portions of speech as they are received, making the ASR system 500 a practical ASR system for streaming / online recognition.

[0064] FIG. 6A shows a schematic of an alignment decoder 520 according to some embodiments. One of the goals of the alignment decoder 520 is to decode the sequence of encoder states 506 produced by the encoder 504. To do so, the alignment decoder 520 is trained to decode the sequence of encoder states 506 to produce a sequence of transcription outputs 600. However, at least some embodiments do not utilize the decoded transcription outputs 600 of the alignment decoder 520. Instead, some embodiments use intermediate alignment information produced by the alignment decoder 520 to decode the sequence of encoder states 506. That is, some embodiments ignore the transcription outputs 600 decoded by the alignment decoder 520, but use the positions 525 of the encoder states in the sequence 506 to improve the performance of the attention-based decoder 508. The rationale behind this approach is that the performance of the attention-based decoder 508 is better than that of the alignment decoder 520. To this end, we use the intermediate alignment information produced by the alignment decoder 520 to further improve the performance of the attention-based decoder 508.

[0065] However, in some embodiments, the transcription output 600 decoded by the alignment decoder 520 is combined with the transcription output decoded by the attention-based decoder 508 to further improve the recognition accuracy. In these embodiments, the alignment decoder 520 is used twice: once to help split the encoder state sequence 506 for the attention-based decoder 508, and a second time to further improve the accuracy of the transcription output decoded by the attention-based decoder 508.

[0066]

number

[0067]

number

[0068] In some embodiments, the alignment decoder 520 probabilistically decodes the encoder state sequence, using probabilities derived as follows:

number

[0069]

number

[0070]

number

[0071] 6B and 6C show examples of partitioning the encoder state sequence 506 according to some embodiments. In various embodiments, the partitioning is performed by a partitioning module 530 operatively connected to the alignment decoder 520, the attention-based decoder 508, and the encoder 504. The partitioning module 530 is configured to access the alignment information 525 of the alignment decoder 520 to partition the encoder state sequence produced by the encoder 504, and to sequentially transmit portions 535 of the encoder state sequence to the attention-based decoder 508.

[0072] For example, in one embodiment of FIG. 6B, each partition 602a includes encoder states from the beginning of the encoder state sequence up to a look-ahead encoder state that is determined by moving the position of the identified encoder state forward by a fixed shift. For example, if the value of the fixed shift is 5 and the identified state encoder position is 8 in the encoder state sequence, partition 602a includes the first 13 encoder states. If the position of the subsequent identified encoder state is 11, partition 602a includes the first 16 encoder states. Effectively, each partition includes the encoder states for a new transcription output while increasing the length of the partition to allow the attention-based decoder 508 to take advantage of that length.

[0073] In another embodiment of FIG. 6C, the partition 602b corresponding to the identified encoder state position includes a predetermined number of encoder states centered around the identified encoder state position. For example, if the predetermined number of encoder states is 7 and the identified encoder state position is 15 in the encoder state sequence, then partition 602b includes encoder states between 12 and 18 in the encoder state sequence 506. In effect, each partition includes encoder states for a new transcription output while having a fixed length partition reduces the computational burden on the attention-based decoder 508. Additionally or alternatively, partition 602b corresponding to the identified encoder state position provides an off-center range including a predetermined number of encoder states around the identified encoder state position, e.g., at a position offset from the center of the identified encoder state.

[0074] FIG. 7 illustrates an exemplary attention-based decoder 508 according to some embodiments. The attention-based decoder 508 comprises a context vector generator 704 and a decoder neural network 706. The context vector generator 704 receives the hidden decoder state 712 of the decoder neural network 706 from a previous time step, the attention weight distributions 710 of the context vector generator from the previous time step, and receives the alternative representation 506, i.e., the alternative representation of the audio signal 502 described above in FIG. 5. The context vector generator 704 processes the previous hidden decoder state of the decoder neural network 706, the previous attention weight distributions 710, and the alternative representation 506 to calculate attention weight distributions across time frames of the alternative representation 506 and generate as an output a time step context vector 714. The context vector generator 704 provides the time step context vector 714 to the decoder neural network 706.

[0075] For different iterations, the attention-based decoder 508 receives different partitions 731, 733, and 735. For example, the partition set includes a first partition 731 and subsequent partitions 733 and 735. The attention-based decoder 508 processes the first partition 731 to generate a first transcription output. After the attention-based neural network finishes processing the first partition, which sets the attention-based network to its internal state, the attention-based decoder 508 processes the subsequent partitions using the attention-based network without resetting the internal state of the attention-based network, and generates the transcription outputs of the subsequent partitions one by one.

[0076] In effect, to take advantage of previously decoded information, the attention-based decoder 508 processes the various partitions without resetting the internal state of the attention-based network. Upon identifying the end of a speech utterance, the attention-based decoder 508 is configured to reset its internal state.

[0077] The decoder neural network 706 receives as input a time step context vector 714, a previous time step transcription output 708, and a hidden decoder state 712. The decoder neural network 706 initializes its internal hidden state with the previous hidden decoder state 712 before processing the time step context vector 714 and the transcription output 708 from the previous time step to generate as output a set of time step transcription output scores 716. In some implementations, the decoder neural network 706 is a recurrent neural network (RNN) with a softmax output layer. Each transcription output score corresponds to each transcription output in the transcription output set. For example, as described above in FIG. 5, the transcription output set can be a character or sequence of characters from the Unicode character set. The Unicode character set is used to write one or more natural languages, such as the English alphabet, Asian languages, Cyrillic languages, and Arabic. The transcription output set may also include Arabic numerals, white space, and punctuation. The score of a given transcription output represents the likelihood that the corresponding transcription output is the current transcription at that time step in the output sequence that is a transcription of the utterance.

[0078] For each time step, the speech recognition system processes the transcription output scores 716 to determine a transcription output sequence that represents a transcription of the utterance. For example, for each time step, the speech recognition system may select the highest scoring transcription output from the set of transcription output scores to determine the transcription output sequence.

[0079] FIG. 8 illustrates a schematic of a streaming system 800 based on an AI system 102 according to some embodiments of the present disclosure. The AI ​​system 102 captures audio speech data (or voice data) from users 802 conversing at a live event. In addition, the AI ​​system 102 may also capture video data of the users 802 conversing. The voice speech data may include voice utterances. The voice utterances include a sequence of frames of voice data. The AI ​​system 102 processes each frame of voice data in the sequence of frames of voice data through layers of the DNN 206 in real time to create an output sequence 804 for streaming and other live applications. The output sequence 804 may correspond to a transcription of the voice utterances.

[0080] For example, the AI ​​system 102 may be communicatively coupled to the user device 806. The AI ​​system 102 may transmit video data and speech data along with transcriptions of the audio utterances for live streaming of the event. That is, the AI ​​system 102 provides subtitles corresponding to the user's audio utterances occurring at the live event during streaming of the live event.

[0081] In some implementations, the AI ​​system 102 or functionality of the AI ​​system 102 may be incorporated into a number of different devices and computer systems, including, for example, general purpose computing systems, server client computing systems, mainframe computing systems, telephone computing systems, laptop computers, mobile phones, personal digital assistants (PDAs), tablet computers, other mobile devices, etc. The AI ​​system 102 may also be a component for various speech recognition applications in other devices or systems that may provide speech recognition capabilities, such as automated teller machines (ATMs), kiosks, home appliances (refrigerators, ovens, etc.), and vehicles (cars, buses, motorcycles, etc.).

[0082] Also, in some cases, the AI ​​system 102 may provide a voice-to-text document to a user. For example, a user may provide a voice utterance to a user device. The user device may communicate with the AI ​​system 102 to provide a transcription of the voice utterance. The AI ​​system 102 may provide a text document based on the transcription. This may help a user, e.g., user 902, to write or maintain a document by voice input.

[0083] FIG. 9 illustrates a block diagram of an AI system 900 according to some embodiments of the disclosure. The AI ​​system 900 corresponds to the AI ​​system 102 of FIG. 1. The AI ​​system 900 may have multiple interfaces connecting the AI ​​system 900 with other systems and devices. For example, a network interface controller (NIC) 916 is adapted to connect the AI ​​system 900 through a bus 914 to a network 922 that connects the AI ​​system 900 with sensors. Through the network 922, wirelessly or wired, the AI ​​system 900 receives input data 924 including an input frame sequence. Additionally or alternatively, the input data 924 including an input frame sequence may be received via an input interface 902.

[0084] The AI ​​system 900 comprises a processor 904 configured to execute stored instructions and a memory 906 storing instructions executable by the processor 904. The processor 904 may be a single-core processor, a multi-core processor, a computer cluster, or any number of other configurations. The memory 912 may include a random access memory (RAM), a read only memory (ROM), a flash memory, or other suitable memory system. The processor 904 is connected to one or more input devices and one or more output devices through a bus 914. Additionally, the AI ​​system 900 comprises a storage device 906 adapted to store various modules including instructions executable by the processor 904. The storage device 906 may be implemented using a hard drive, an optical drive, a thumb drive, an array of drives, or a combination thereof.

[0085] The storage device 906 is configured to store a deep neural network 908. The deep neural network 908 includes a number of layers. In an embodiment, some of the layers include a dual self-attention module 910 having a dual causal and acausal architecture that focuses attention on acausal and causal frames. The processor 904 is configured to pass each input frame in the sequence of input frames through the layers of the deep neural network 908 to process the input frames and generate an output sequence, and to render the output sequence.

[0086] According to an embodiment, the dual self-attention module 910 comprises a dual self-attention that outputs a causal output frame sequence derived without look-ahead and an acausal output frame sequence derived with a look-ahead of a predefined size on an input frame representing a current frame. To that end, in an embodiment, the output sequence includes one or a combination of a causal output frame sequence and an acausal output frame sequence. In another embodiment, the output sequence includes only an acausal output frame sequence.

[0087] Additionally, the AI ​​system 900 includes an output interface 918. The output interface 918 is configured to transmit the output sequence to an output device.

[0088] The above description provides only exemplary embodiments and does not limit the scope, applicability, or configuration of the present disclosure. Rather, the description of the exemplary embodiments provides one of ordinary skill in the art with an enabling description for implementing one or more exemplary embodiments. It is contemplated that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter as set forth in the appended claims.

[0089] Specific details have been set forth in the above description to provide a thorough understanding of the embodiments. However, those skilled in the art will appreciate that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements of the disclosed subject matter may be illustrated as components in block diagrams so as not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be illustrated without unnecessary detail so as not to obscure the embodiments. Furthermore, the same reference numbers and symbols may refer to the same elements in the various drawings.

[0090] Also, each embodiment may be described as a process and illustrated as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may show operations as a sequential process, many of the operations may be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. A process may terminate when its operations are completed, but may have additional steps not included in the drawings. Furthermore, not all operations included in the specifically described process may be performed in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, and the like. When a process corresponds to a function, the end of the function may correspond to the function returning to a calling function or a main function.

[0091] Furthermore, at least some of the embodiments of the disclosed subject matter may be implemented manually or automatically. The manual or automatic implementation may be performed or at least assisted by the use of machine, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored on a machine-readable medium. A processor(s) may perform the necessary tasks.

[0092] The various methods or steps outlined herein may be coded as software executable on one or more processors using any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages ​​and / or programming or scripting tools, or may be compiled as executable machine language code or intermediate code that runs on a framework or virtual machine. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.

[0093] The embodiments of the present disclosure may be implemented as a method, examples of which have been provided. The operations performed as part of the method may be ordered as appropriate. As such, embodiments may be constructed in which operations are performed in an order different from that illustrated, and may include performing some operations simultaneously, even if shown as sequential operations in the illustrated embodiments.

[0094] Although the disclosure has been described by way of examples of certain preferred embodiments, it should be understood that various other adaptations and modifications may be made within the spirit and scope of the disclosure, and it is therefore the object of the appended claims to cover all such variations and modifications that are within the spirit and scope of the disclosure.

Claims

1. 1. An artificial intelligence (AI) system adapted for data streaming applications, the AI ​​system comprising at least one processor and a memory storing instructions, the instructions, when executed by the at least one processor, causing the AI ​​system to: Each input frame in a sequence of input frames is passed through a layer of a DNN (Deep Neural Network) and processed to generate an output sequence, the sequence of input frames representing an ordered sequence of features describing information of a speech input, the speech input being an acoustic signal or a speech utterance, at least some of the layers include a dual self-attention module having a dual causal and acausal architecture that directs attention to acausal frames and causal frames, the AI ​​system further comprising: Rendering the output sequence; the causal frame to which attention is directed in order to interpret the current frame is the look-ahead frame, and the remaining frames to which attention is directed are the non-causal frames; the dual self-attention module includes a dual self-attention that outputs a sequence of causal output frames derived without look-ahead and a sequence of acausal output frames derived with the look-ahead of a predetermined size relative to an input frame representing a current frame, the output sequence including one or a combination of the causal output frames and the acausal output frames; The causal architecture of the dual self-attention of the current layer of the DNN converts previous causal outputs determined by the causal architecture of the dual self-attention of the previous layer of the DNN into a sequence of causal key frames, causal value frames, and causal query frames; The acausal architecture of the dual self-attention of the current layer of the DNN converts a previous acausal output determined by the acausal architecture of the dual self-attention of the previous layer of the DNN into a sequence of acausal key frames, acausal value frames, and acausal query frames; the causal architecture creates a current causal output by directing the attention of the causal query frame to causal keyframes combined with acausal keyframes replicated from the acausal architecture and weighting the causal value frames combined with acausal value frames replicated from the acausal architecture; The acausal architecture creates a current acausal output by directing the acausal query frame's attention to past and present acausal keyframes combined with causal lookahead keyframes replicated from the causal architecture and weighting the past and present acausal value frames combined with causal lookahead value frames replicated from the causal architecture.

2. The AI ​​system of claim 1 , wherein the output sequence includes only the sequence of non-causal output frames.

3. A speech recognition system comprising the AI ​​system according to claim 1, an encoder for encoding data indicative of the speech input utilizing the DNN with dual self-attention such that the output sequence of the AI ​​system comprises an encoded sequence of the speech input; a decoder for decoding a recognition of the speech input from the output sequence.

4. 4. The speech recognition system of claim 3, further comprising an alignment decoder configured to identify an encoding in the encoding sequence that encodes a recognition output, and in response to identifying each of the encodings that encodes a recognition output, trigger the decoder to decode the recognition output in the identified encoding.

5. The speech recognition system of claim 4 , wherein the recognition of the speech input is a transcription of the speech input.

6. 13. An acoustic event detection system comprising the AI ​​system of claim 1, The acoustic event detection system comprises: an encoder for encoding data indicative of the acoustic signal using the DNN with dual self-attention such that the output sequence of the AI ​​system comprises an encoded sequence of the acoustic signal; a decoder for decoding an acoustic event from the output sequence.

7. 1. A method for processing audio, comprising: the input frames are passed through layers of a deep neural network (DNN) to generate an output sequence, the input frames representing an ordered sequence of features describing information of a speech input, the speech input being an acoustic signal or a speech utterance, at least some of the layers including a dual self-attention module having a dual causal and acausal architecture that directs attention to acausal frames and to causal frames; The audio processing method further comprises rendering the output sequence; the causal frame to which attention is directed in order to interpret the current frame is the look-ahead frame, and the remaining frames to which attention is directed are the non-causal frames; the dual self-attention module includes a dual self-attention module that outputs a causal output frame sequence derived without look-ahead and a non-causal output frame sequence derived with the look-ahead of a predetermined size relative to an input frame representing a current frame, the output sequence including one or a combination of the causal output frame sequence and the non-causal output frame sequence; The causal architecture of the dual self-attention of the current layer of the DNN converts the causal output of the decision by the causal architecture of the dual self-attention of the previous layer of the DNN into a sequence of causal key frames, causal value frames, and causal query frames; The acausal architecture of the dual self-attention of the current layer of the DNN converts a previous acausal output determined by the acausal architecture of the dual self-attention of the previous layer of the DNN into a sequence of acausal key frames, acausal value frames, and acausal query frames; the causal architecture creates a current causal output by directing the attention of the causal query frame to causal keyframes combined with acausal keyframes replicated from the acausal architecture and weighting the causal value frames combined with acausal value frames replicated from the acausal architecture; The acausal architecture creates a current acausal output by directing the acausal query frame's attention to past and present acausal keyframes combined with causal lookahead keyframes replicated from the causal architecture and weighting the past and present acausal value frames combined with causal lookahead value frames replicated from the causal architecture.

8. The method of claim 7 , wherein the output sequence includes only the non-causal output frame sequence.

9. A computer readable storage medium containing instructions which, when executed by a computer, cause the computer to perform the method of claim 7.

Citation Information

Patent Citations

  • Voice recognition method, device, apparatus, and computer readable storage medium

    JP2021033255A