(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-23
(54)【発明の名称】コンフォーマの推論性能の最適化
(51)【国際特許分類】
G10L 15/16 20060101AFI20241016BHJP
【FI】
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024521020
(86)(22)【出願日】2022-09-29
(85)【翻訳文提出日】2024-05-31
(86)【国際出願番号】 US2022077247
(87)【国際公開番号】W WO2023060008
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】タラ・エヌ・サイナス
(72)【発明者】
【氏名】ラミ・ボトロス
(72)【発明者】
【氏名】アンモル・グラティ
(72)【発明者】
【氏名】クシシュトフ・チョロマンスキー
(72)【発明者】
【氏名】トレヴァー・ストローマン
(72)【発明者】
【氏名】ジャフア・ユ
(72)【発明者】
【氏名】ウェイラン・ワン
(72)【発明者】
【氏名】ルオミン・パン
(57)【要約】
コンピュータ実装方法(500)が、自動音声認識(ASR)モデル(200)への入力として音響フレーム(110)のシーケンスを受け取るステップを含む。ここでは、ASRモデルは、因果エンコーダ(210)と、デコーダ(204)とを含む。この方法はまた、因果エンコーダによって、音響フレームのシーケンス中の対応する音響フレームについての第1の高次特徴表現(212)を生成するステップを含む。この方法はまた、デコーダによって、考えられる音声認識仮説に関しての第1の確率分布(232)を生成するステップを含む。ここでは、因果エンコーダは、線形アテンションを適用する再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュール(260)を各々が含む因果エンコーダ層(300)のスタックを含む。
【特許請求の範囲】
【請求項1】
自動音声認識(ASR)モデル(200)であって、
因果エンコーダ層(300)のスタックを含む因果エンコーダ(210)であって、
入力として、音響フレーム(110)のシーケンスを受け取ることと、
複数の出力ステップの各々で、前記音響フレーム(110)のシーケンス中の対応する音響フレーム(110)についての第1の高次特徴表現(212)を生成することと
を行うように構成される、因果エンコーダ(210)と、
デコーダ(204)であって、
入力として、前記複数の出力ステップの各々で前記因果エンコーダ(210)によって生成された前記第1の高次特徴表現(212)を受け取ることと、
前記複数の出力ステップの各々で、考えられる音声認識仮説に関しての第1の確率分布(232)を生成することと
を行うように構成される、デコーダ(204)と
を備え、
前記因果エンコーダ層(300)のスタック中の各因果エンコーダ層(300)が、線形アテンションを適用する再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュール(360)を含む、
ASRモデル(200)。
【請求項2】
前記ASRモデル(200)の事前トレーニング中に、各因果エンコーダ層(300)が、
第1のフィードフォワードモジュール(310)と、
畳み込みモジュール(320)と、
マルチヘッドアテンションモジュール(330)と、
第2のフィードフォワードモジュール(340)と、
レイヤ正規化モジュール(350)と
を備える、請求項1に記載のASRモデル(200)。
【請求項3】
前記ASRモデル(200)のファインチューントレーニング中に、各因果エンコーダ層(300)が、
前記第1のフィードフォワードモジュール(310)と、
前記畳み込みモジュール(320)と、
前記RNNのAttention-Performerモジュール(360)と、
前記第2のフィードフォワードモジュール(340)と、
前記レイヤ正規化モジュール(350)と
を備える、請求項2に記載のASRモデル(200)。
【請求項4】
各因果エンコーダ層(300)が、前記マルチヘッドアテンションモジュール(330)に対する通常のコンフォーマトレーニングを使用して事前トレーニングされ、前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えることによってファインチューニングされる、請求項3に記載のASRモデル(200)。
【請求項5】
前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えることが、前記事前トレーニングされたマルチヘッドアテンションモジュール(330)からのクエリ/キーを線形時間およびシーケンス長における一定のメモリ複雑度のRNNモデルに変換するためにトレーニング可能なアフィン変換を適用することを含む、請求項4に記載のASRモデル(200)。
【請求項6】
前記因果エンコーダ(210)が、セルフアテンションなしの畳み込みブロック(300c)の最初のスタックをさらに含む、請求項1から5のいずれか一項に記載のASRモデル(200)。
【請求項7】
非因果エンコーダ(220)であって、
前記複数の出力ステップの各々で前記因果エンコーダ(210)によって生成された前記第1の高次特徴表現(212)を入力として受け取ることと、
前記複数の出力ステップの各々で、対応する第1の高次特徴表現(212)について第2の高次特徴表現(222)を生成することと
を行うように構成される、非因果エンコーダ(220)
をさらに備え、
前記デコーダ(204)が、
前記複数の出力ステップの各々で前記非因果エンコーダ(220)によって生成された前記第2の高次特徴表現(222)を入力として受け取ることと、
前記複数の出力ステップの各々で、考えられる音声認識仮説に関しての第2の確率分布(234)を生成することと
を行うようにさらに構成される、請求項1から6のいずれか一項に記載のASRモデル(200)。
【請求項8】
前記デコーダ(204)が、
予測ネットワーク(240)であって、
入力として、最終のソフトマックス層によって出力された非空白記号のシーケンスを受け取ることと、
前記複数の出力ステップの各々で、密な表現(242)を生成することと
を行うように構成される、予測ネットワーク(240)と、
結合ネットワーク(230)であって、
入力として、
前記複数の出力ステップの各々で前記予測ネットワーク(240)によって生成された前記密な表現(242)、および、
前記ASRモデル(200)がストリーミングモードで動作しているとき、前記複数の出力ステップの各々で前記因果エンコーダ(210)によって生成された前記第1の高次特徴表現(212)、または
前記ASRモデル(200)が非ストリーミングモードで動作しているとき、前記複数の出力ステップの各々で前記非因果エンコーダ(220)によって生成された前記第2の高次特徴表現(222)
のうちの一方を受け取ることと、
前記複数の出力ステップの各々で、
前記ASRモデル(200)が前記ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第1の確率分布(232)、または
前記ASRモデル(200)が前記非ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第2の確率分布(234)
のうちの一方を生成することと
を行うように構成される、結合ネットワーク(230)と
を含む、請求項7に記載のASRモデル(200)。
【請求項9】
前記予測ネットワーク(240)が、長短期メモリ(LSTM)ベースの予測ネットワークを含む、請求項8に記載のASRモデル(200)。
【請求項10】
前記予測ネットワーク(240)が、V2埋め込みルックアップテーブルを含む、請求項8または9に記載のASRモデル(200)。
【請求項11】
コンピュータ実装方法(500)であって、データ処理ハードウェア(610)によって実行されると、前記データ処理ハードウェア(610)に、
自動音声認識(ASR)モデル(200)への入力として、音響フレーム(110)のシーケンスを受け取るステップであって、前記ASRモデル(200)が、因果エンコーダ(210)と、デコーダ(204)とを備える、ステップと、
前記因果エンコーダ(210)によって、複数の出力ステップの各々で、前記音響フレーム(110)のシーケンス中の対応する音響フレーム(110)についての第1の高次特徴表現(212)を生成するステップと、
前記デコーダ(204)によって、前記複数の出力ステップの各々で、考えられる音声認識仮説に関しての第1の確率分布(232)を生成するステップと
を含む動作を行わせ、
前記因果エンコーダ(210)が、因果エンコーダ層(300)のスタックを含み、前記因果エンコーダ層(300)のスタック中の各因果エンコーダ層(300)が、線形アテンションを適用する再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュール(360)を含む、
コンピュータ実装方法(500)。
【請求項12】
前記ASRモデル(200)の事前トレーニング中に、各因果エンコーダ層(300)が、
第1のフィードフォワードモジュール(310)と、
畳み込みモジュール(320)と、
マルチヘッドアテンションモジュール(330)と、
第2のフィードフォワードモジュール(340)と、
レイヤ正規化モジュール(350)と
を備える、請求項11に記載のコンピュータ実装方法(500)。
【請求項13】
前記ASRモデル(200)のファインチューントレーニング中に、各因果エンコーダ層(300)が、
前記第1のフィードフォワードモジュール(310)と、
前記畳み込みモジュール(320)と、
前記RNNのAttention-Performerモジュール(360)と、
前記第2のフィードフォワードモジュール(340)と、
前記レイヤ正規化モジュール(350)と
を備える、請求項12に記載のコンピュータ実装方法(500)。
【請求項14】
前記動作が、
前記マルチヘッドアテンションモジュール(330)に対する通常のコンフォーマトレーニングを使用して各因果エンコーダ層(300)を事前トレーニングするステップと、
前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えることによって各因果エンコーダ層(300)をファインチューニングするステップと
をさらに含む、請求項13に記載のコンピュータ実装方法(500)。
【請求項15】
前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えるステップが、前記事前トレーニングされたマルチヘッドアテンションモジュール(330)からのクエリ/キーを線形時間およびシーケンス長における一定のメモリ複雑度のRNNモデルに変換するためにトレーニング可能なアフィン変換を適用するステップを含む、請求項14に記載のコンピュータ実装方法(500)。
【請求項16】
前記因果エンコーダ(210)が、セルフアテンションなしの畳み込みブロック(300c)の最初のスタックをさらに含む、請求項11から15のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項17】
前記動作が、
前記ASRモデル(200)の非因果エンコーダ(220)によって、前記複数の出力ステップの各々で、前記因果エンコーダ(210)によって生成された対応する第1の高次特徴表現(212)について第2の高次特徴表現(222)を生成するステップと、
前記デコーダ(204)によって、前記複数の出力ステップの各々で、対応する第2の高次特徴表現(222)について考えられる音声認識仮説に関しての第2の確率分布(234)を生成するステップと
をさらに含む、請求項11から16のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項18】
前記動作が、
前記デコーダ(204)の予測ネットワーク(240)で入力として、最終のソフトマックス層によって出力された非空白記号のシーケンスを受け取るステップと、
前記予測ネットワーク(240)によって、密な表現(242)を生成するステップと、
前記デコーダ(204)の結合ネットワーク(230)によって、
前記ASRモデル(200)がストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第1の確率分布(232)、または
前記ASRモデル(200)が非ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第2の確率分布(234)
のうちの一方を生成するステップと
をさらに含む、請求項17に記載のコンピュータ実装方法(500)。
【請求項19】
前記予測ネットワーク(240)が、長短期メモリ(620)(LSTM)ベースの予測ネットワークを含む、請求項18に記載のコンピュータ実装方法(500)。
【請求項20】
前記予測ネットワーク(240)が、V2埋め込みルックアップテーブルを含む、請求項18または19に記載のコンピュータ実装方法(500)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンフォーマの推論性能を最適化することに関する。
【背景技術】
【0002】
自動音声認識(ASR)システムは、各モデルが専用の目的を有する複数のモデルから、オーディオ波形(すなわち、入力シーケンス)を出力文(すなわち、出力シーケンス)に直接マップするために単一のニューラルネットワークが使用される統合モデルへと進化した。この統合は、オーディオ特徴のシーケンスが与えられると、単語(または書記素)のシーケンスを生成する、シーケンスツーシーケンス手法(sequence-to-sequence approach)をもたらした。しばしば、これらの統合モデルは、多数の内部状態を維持する複数のセルフアテンション(self-attention)層を含む。しかしながら、これらの統合モデルを実装するデバイスは、メモリ帯域幅が限られおり、これらの内部状態の各々の読取りが、ASRシステムのレイテンシを増加させることになる。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、因果エンコーダ層のスタックを含む因果エンコーダを含む自動音声認識(ASR)モデルを提供する。因果エンコーダは、音響フレームのシーケンスを入力として受け取り、複数の出力ステップの各々で、音響フレームのシーケンス中の対応する音響フレームについての第1の高次特徴表現(higher order feature representation)を生成するように構成される。ASRモデルはまた、複数の出力ステップの各々で因果エンコーダによって生成された第1の高次特徴表現を、入力として受け取り、複数の出力ステップの各々で、考えられる音声認識仮説に関しての第1の確率分布を生成するように構成されるデコーダを含む。ここでは、因果エンコーダ層のスタック中の各因果エンコーダ層が、線形アテンションを適用する再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)のAttention-Performerモジュールを含む。
【0004】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、事前トレーニング中に、各因果エンコーダ層が、第1のフィードフォワードモジュールと、畳み込みモジュールと、マルチヘッドアテンションモジュールと、第2のフィードフォワードモジュールと、レイヤ正規化(layernorm)モジュールとを含む。これらの実装形態では、ファインチューントレーニング中に、各因果エンコーダ層は、第1のフィードフォワードモジュールと、畳み込みモジュールと、RNNのAttention-Performerモジュールと、第2のフィードフォワードモジュールと、レイヤ正規化モジュールとを含む。各因果エンコーダ層は、マルチヘッドアテンションモジュールに対する通常のコンフォーマトレーニングを使用して事前トレーニングされてもよく、マルチヘッドアテンションモジュールをRNNのAttention-Performerモジュールに置き換えることによってファインチューニングされる。ここでは、マルチヘッドアテンションモジュールをRNNのAttention-Performerモジュールに置き換えることは、事前トレーニングされたマルチヘッドアテンションモジュールからのクエリ/キーを線形時間およびシーケンス長における一定のメモリ複雑度のRNNモデルに変換するためにトレーニング可能なアフィン変換を適用することを含んでもよい。
【0005】
いくつかの例では、因果エンコーダは、セルフアテンションなしの畳み込みブロックの最初のスタックをさらに含む。いくつかの実装形態では、ASRモデルは、複数の出力ステップの各々で因果エンコーダによって生成された第1の高次特徴表現を、入力として受け取り、複数の出力ステップの各々で、対応する高次特徴表現についての第2の高次特徴表現を生成するように構成される非因果エンコーダをさらに含む。ここでは、デコーダは、複数の出力ステップの各々で非因果エンコーダによって生成された第2の高次特徴表現を、入力として受け取り、複数の出力ステップの各々で、考えられる音声認識仮説に関しての第2の確率分布を生成するようにさらに構成される。
【0006】
いくつかの例では、デコーダは、最終のソフトマックス層によって出力された非空白記号のシーケンスを、入力として受け取り、複数の出力ステップの各々で、密な表現(dense representation)を生成するように構成される予測ネットワークを含む。これらの例では、デコーダはまた、複数の出力ステップの各々で予測ネットワークによって生成される密な表現と、ASRモデルがストリーミングモードで動作しているとき、複数の出力ステップの各々で因果エンコーダによって生成される第1の高次特徴表現、またはASRが非ストリーミングモードで動作しているとき、複数の出力ステップの各々で非因果エンコーダによって生成される第2の高次特徴表現のうちの一方とを入力として受け取ることと、複数の出力ステップの各々で、ASRがストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての第1の確率分布、またはASRが非ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての第2の確率分布のうちの一方を生成することとを行うように構成される結合ネットワークを含む。予測ネットワークは、長短期記憶(LSTM)ベースの予測ネットワークを含んでよい。いくつかの例では、予測ネットワークは、V2埋め込みルックアップテーブルを含む。
【0007】
本開示の別の態様は、データ処理ハードウェア上で実行されるとデータ処理ハードウェアにコンフォーマの推論性能を最適化するための動作を行わせる、コンピュータ実装方法を提供する。動作は、自動音声認識(ASR)モデルへの入力として音響フレームのシーケンスを受け取るステップを含む。ASRモデルは、因果エンコーダと、デコーダとを含む。動作はまた、複数の出力ステップの各々で因果エンコーダによって、音響フレームのシーケンス中の対応する音響フレームについての第1の高次特徴表現を生成するステップを含む。動作はまた、複数の出力ステップの各々でデコーダによって、考えられる音声認識仮説に関しての第1の確率分布を生成するステップを含む。ここでは、因果エンコーダは、因果エンコーダ層のスタックを含み、因果エンコーダ層のスタック中の各因果エンコーダ層が、線形アテンションを適用する再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュールを含む。
【0008】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、ASRモデルの事前トレーニング中に、各因果エンコーダ層が、第1のフィードフォワードモジュールと、畳み込みモジュールと、マルチヘッドアテンションモジュールと、第2のフィードフォワードモジュールと、レイヤ正規化モジュールとを含む。これらの実装形態では、ファインチューントレーニング中に、各因果エンコーダ層は、第1のフィードフォワードモジュールと、畳み込みモジュールと、RNNのAttention-Performerモジュールと、第2のフィードフォワードモジュールと、レイヤ正規化モジュールとを含む。ここでは、動作は、マルチヘッドアテンションモジュールに対する通常のコンフォーマトレーニングを使用して各因果エンコーダ層を事前トレーニングするステップと、マルチヘッドアテンションモジュールをRNNのAttention-Performerモジュールに置き換えることによって各因果エンコーダ層をファインチューニングするステップとをさらに含んでもよい。いくつかの例では、マルチヘッドアテンションモジュールをRNNのAttention-Performerモジュールに置き換えるステップが、事前トレーニングされたマルチヘッドアテンションモジュールからのクエリ/キーを線形時間およびシーケンス長における一定のメモリ複雑度のRNNモデルに変換するために、トレーニング可能なアフィン変換を適用するステップを含む。
【0009】
因果エンコーダは、セルフアテンションなしの畳み込みブロックの最初のスタックをさらに含んでもよい。いくつかの実装形態では、動作は、複数の出力ステップの各々でASRモデルの非因果エンコーダによって、因果エンコーダによって生成された対応する第1の高次特徴表現について第2の高次特徴表現を生成するステップと、複数の出力ステップの各々でデコーダによって、対応する第2の高次特徴表現について考えられる音声認識仮説に関しての第2の確率分布を生成するステップとをさらに含む。これらの実装形態では、動作は、デコーダの予測ネットワークにおける入力として、最終のソフトマックス層によって出力される非空白記号のシーケンスを受け取るステップと、予測ネットワークによって密な表現を生成するステップと、ASRモデルがストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての第1の確率分布、またはASRモデルが非ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての第2の確率分布のうちの一方を、デコーダの結合ネットワークによって生成するステップとをさらに含んでもよい。いくつかの例では、予測ネットワークは、長短期記憶(LSTM)ベースの予測ネットワークを含む。予測ネットワークは、V2埋め込みルックアップテーブルを含んでもよい。
【0010】
本開示の1つまたは複数の実装形態の詳細について、添付の図面および以下の説明に示す。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0011】
【
図2A】ストリーミングモードおよび非ストリーミングモードで動作しているASRモデルの概略図である。
【
図2B】ストリーミングモードおよび非ストリーミングモードで動作しているASRモデルの概略図である。
【
図2C】ストリーミングモードおよび非ストリーミングモードで動作しているASRモデルの概略図である。
【
図3A】ASRモデルの例示的な因果エンコーダ層の概略図である。
【
図3B】ASRモデルの例示的な因果エンコーダ層の概略図である。
【
図3C】ASRモデルの例示的な因果エンコーダ層の概略図である。
【
図4A】ASRモデルの因果エンコーダ層の例示的なスタックの概略図である。
【
図4B】ASRモデルの因果エンコーダ層の例示的なスタックの概略図である。
【
図4C】ASRモデルの因果エンコーダ層の例示的なスタックの概略図である。
【
図5】コンフォーマの推論性能を最適化するコンピュータ実装方法のための動作の例示的な構成のフローチャートである。
【
図6】本明細書で説明するシステムおよび方法を実施するために使用されることがある例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0012】
様々な図面における同様の参照符号は、同様の要素を示す。
【0013】
エンドツーエンド(E2E)の自動音声認識(ASR)モデルは伝統的に、ストリーミングモードまたは非ストリーミングモードで動作するように構成される。通常、E2EのASRモデルは、主要構成要素としてエンコーダと、デコーダとを含む。音声検索またはオンデバイスディクテーションのような、エンドユーザの対話を含む適用例は、ストリーミング方式で認識を行うモデルを求める場合があり、言葉は、話されると可能な限り少ないレイテンシで出力されるよう期待される。これは、双方向の長短期メモリ(LSTM)など、精度を上げるために未来のコンテキストを使用するモデルの使用を妨げる。対照的に、オフラインビデオキャプチャリングなどの適用例は、ストリーミング認識を必要とせず、性能を上げるためにいずれかの利用可能な未来のコンテキストを十分に利用してもよい。
【0014】
E2EのASRモデルのエンコーダは、コンフォーマ層またはトランスフォーマ層などのセルフアテンション層を含む場合がある。これらのセルフアテンション層の欠点は、維持する内部状態の数が、LSTM層の場合よりもはるかに大きいことである。詳細には、これらの内部状態の大部分が、セルフアテンションに使用されるキーおよびバリュー(value)テンソルに対応する。結果として、推論中のこれらのE2EのASRモデルのレイテンシは、多数の内部状態を繰り返しロードする計算コストにより増加する。
【0015】
したがって、本明細書の実装形態は、因果エンコーダ層のスタックを有する因果エンコーダ(たとえば、第1のエンコーダ)を含むASRモデルを対象とする。因果エンコーダは、発話に対応する音響フレームのシーケンスを受け取り、対応する音響フレームについての第1の高次特徴表現を生成するように構成される。ASRモデルはまた、対応する第1の高次特徴表現について考えられる音声認識仮説に関しての第1の確率分布を生成するように構成されるデコーダを含む。ここでは、エンコーダ層のスタック中の各因果エンコーダ層が、ファインチューントレーニングおよびASRモデルの推論中に線形アテンションを適用する再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュールを含む。有利には、因果エンコーダは、ファインチューントレーニングおよび推論中にRNNのAttention-Performerモジュール層を使用しながら、事前トレーニング中にセルフアテンション層(たとえば、コンフォーマ層またはトランスフォーマ層)から得られた恩恵を保持してもよく、それによってレイテンシおよびASRモデルのモデルサイズを減らし、ASRモデルをオンバイスアプリケーションに適したものにする。明らかになるように、ASRモデルはまた、レイテンシが制限的な制約ではない適用例には、ASRモデルの精度をさらに上げるために因果エンコーダにカスケード接続された非因果エンコーダ(すなわち、第2のエンコーダ)を含んでもよい。
【0016】
図1は、音声環境101内の例示的なシステム100である。音声環境101では、ユーザデバイス10などのコンピューティングデバイスとのユーザ104の対話方法は、音声入力によるものであってもよい。ユーザデバイス10(概してデバイス10とも呼ばれる)は、音声環境101内の1人または複数のユーザ104から音(たとえば、ストリーミングオーディオデータ)を捕捉するように構成される。ここでは、ストリーミングオーディオデータは、可聴クエリ、ユーザデバイス10のコマンド、またはデバイス10によって捕捉される可聴通信として機能する、ユーザ104による口頭発話を指す場合がある。ユーザデバイス10の音声対応システムが、クエリに応答することによっておよび/または1つもしくは複数の下流アプリケーションによってコマンドを実行/実現させることによって、クエリまたはコマンドをさばいてもよい。
【0017】
ユーザデバイス10は、ユーザ104に関連する、かつオーディオデータを受信することが可能な何らかのコンピューティングデバイスに対応してもよい。ユーザデバイス10のいくつかの例は、限定はしないが、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、スマート家電、モノのインターネット(IoT)デバイス、車両インフォテインメントシステム、スマートディスプレイ、スマートスピーカーなどを含む。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12と通信しているメモリハードウェア14とを含み、命令を記憶し、命令は、データ処理ハードウェア12によって実行されると、データ処理ハードウェア12に1つまたは複数の動作を行わせる。ユーザデバイス10は、音声環境101内の口頭発話106を捕捉し、電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)16、16aと、可聴オーディオ信号を(たとえば、デバイス10からの出力オーディオデータとして)通信するための音声出力デバイス(たとえば、スピーカー)16、16bとを備えたオーディオシステム16をさらに含む。ユーザデバイス10は、図示の例では単一のオーディオキャプチャデバイス16aを実装するが、ユーザデバイス10は、本開示の範囲から逸脱することなくオーディオキャプチャデバイス16aのアレイを実装することがあり、したがってアレイの1つまたは複数のキャプチャデバイス16aは、ユーザデバイス10上に物理的にはないが、オーディオシステム16と通信していることがある。
【0018】
システム100は、ユーザ104のユーザデバイス10上にある、および/またはネットワーク40を介してユーザデバイス10と通信しているリモートコンピューティングデバイス60(たとえば、クラウドコンピューティング環境で実行している分散システムの1つもしくは複数のリモートサーバ)上にある、自動音声認識(ASR)モデル200を実装したASRシステム118を含む。いくつかの例では、ASRモデル200は、再帰型ニューラルネットワーク-トランスデューサ(RNN-T)モデルアーキテクチャを含む。ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、ユーザ104によって話され、オーディオキャプチャデバイス16aによって捕捉された発話106を受け取り、ASRシステム118によって処理されることが可能な入力音響フレーム110に関連する対応するデジタルフォーマットに、発話106を変換するように構成されるオーディオサブシステム108を含む。図示の例では、ユーザは、それぞれの発話106を話し、オーディオサブシステム108は、ASRシステム118への入力のために発話106を対応するオーディオデータ(たとえば、音響フレームのシーケンス)110に変換する。その後、ASRモデル200は、発話106に対応する音響フレーム110のシーケンスを入力として受け取り、各出力ステップで、ASRモデル200が音響フレーム110のシーケンス中の各音響フレーム110を受け取る(たとえば、処理する)とき、発話106の対応するトランスクリプション120(たとえば、音声認識結果/仮説)を生成/予測する。
【0019】
図示の例では、ASRモデル200は、最初の音声認識結果(たとえば、候補仮説)120、120aを作成するためにストリーミング音声認識を実行し、最初の音声認識結果120aを改善することによって最終の音声認識結果(たとえば、最終の仮説)120、120bを生成してもよい。最初および最終の音声認識結果120a、120bは、部分的音声認識結果、または全体的音声認識結果のいずれかに対応してもよい。別の言い方をすれば、最初および最終の音声認識結果120a、120bは、発話106の一部分、または発話106の全体部分のいずれかに対応してもよい。たとえば、部分的音声認識結果は、口頭発話の一部分、さらには口頭用語の一部分に対応してもよい。しかしながら、明らかになるように、ASRモデル200は、最終の音声認識結果120bに追加の処理を実行し、それによって最終の音声認識結果120bは、最初の音声認識結果120aから遅れる場合がある。
【0020】
ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、発話106のトランスクリプション120の表現をユーザデバイス10のユーザ104に提示するように構成されるユーザインターフェースジェネレータ107を実行する。以下でより詳細に説明するように、ユーザインターフェースジェネレータ107は、時間1の間にストリーミング方式で最初の音声認識結果120aを表示し、その後、時間2の間にストリーミング方式で最終の音声認識結果120bを表示してもよい。特に、ASRモデル200は、最終の音声認識モデル120bが最初の音声認識結果120aを改善しても、最終の音声認識結果120bをストリーミング方式で出力する。いくつかの構成では、ASRシステム118から出力されたトランスクリプション120は、発話106によって指定されたユーザコマンド/クエリを実行するために、(たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行している自然言語理解(NLU)モジュールによって)処理される。追加または代替として、(たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せ上で実行している)テキスト音声システム(図示せず)が、トランスクリプション120をユーザデバイス10および/または別のデバイスによる可聴出力のために合成音声に変換してもよい。
【0021】
図示の例では、ユーザ104は、ASRシステム118を使用するユーザデバイス10のプログラムまたはアプリケーション50(たとえば、デジタルアシスタントアプリケーション50)と対話する。たとえば、
図1は、デジタルアシスタントアプリケーション50と通信しているユーザ104と、ユーザ104とデジタルアシスタントアプリケーション50との間の会話を示すためにユーザデバイス10の画面上にデジタルアシスタントインターフェース18を表示しているデジタルアシスタントアプリケーション50とを示す。この例では、ユーザ104は、デジタルアシスタントアプリケーション50に"What time is the concert tonight?"と尋ねている。ユーザ104からのこの質問は、オーディオキャプチャデバイス16aによって捕捉され、ユーザデバイス10のオーディオシステム16によって処理された口頭発話106である。この例では、オーディオシステム16は、口頭発話106を受け取り、ASRシステム118への入力のためにそれを音響フレーム110のシーケンスに変換する。
【0022】
この例を続けると、ASRモデル200は、ユーザ104が話すと、発話106に対応する音響フレーム110のシーケンスを受け取りながら、音響フレーム110のシーケンスをエンコードし、次いで音響フレーム110のエンコードしたシーケンスをデコードして最初の音声認識結果120aにする。時間1の間、ユーザインターフェースジェネレータ107は、デジタルアシスタントインターフェース18を介して、発話106の最初の音声認識結果120aの表現をユーザデバイス10のユーザ104にストリーミング方式で提示し、単語、単語断片、および/または個々の文字が、話されるとすぐに画面に現れるようにする。いくつかの例では、第1の先読みオーディオコンテキストは、ゼロに等しい。
【0023】
時間2の間、ユーザインターフェースジェネレータ107は、デジタルアシスタントインターフェース18を介して、発話106の最終の音声認識結果120bの表現をユーザデバイス10のユーザ104にストリーミング方式で提示し、単語、単語断片、および/または個々の文字が、ASRモデル200によって生成されるとすぐに画面に現れるようにする。いくつかの実装形態では、ユーザインターフェースジェネレータ107は、時間1において提示された最初の音声認識結果120aの表現を、時間2において提示された最終の音声認識結果120bの表現に置き換える。ここでは、時間1および時間2は、ユーザインターフェースジェネレータ107がそれぞれの音声認識結果120を提示するときに対応するタイムスタンプを含んでもよい。この例では、時間1のタイムスタンプは、ユーザインターフェースジェネレータ107が、最終の音声認識結果120bよりも早い時間に最初の音声認識結果120aを提示することを示す。たとえば、最終の音声認識結果120bが、最初の音声認識結果120aよりも正確であると推定されるとき、トランスクリプション120として最後に表示される最終の音声認識結果120bは、最初の音声認識結果120aで認識されなかった可能性がある用語を修正する可能性がある。この例では、ASRモデル200によって出力され、時間1にユーザデバイス10の画面に表示される、ストリーミングの最初の音声認識結果120aは、低レイテンシに関連し、自身のクエリが処理されているユーザ104に反応性を与え、ASRモデル200によって出力され、時間2に画面に表示された最終の音声認識結果120bは、精度に関して音声認識品質を改善するためにさらなる音声認識モデルおよび/または言語モデルを利用するが、レイテンシは増加する。しかしながら、最初の音声認識結果120aはユーザが発話106を口にするときに表示されるので、最終の音声認識結果120bを作成し、最後に表示することに関連するより高いレイテンシは、ユーザ104に気づかれない。
【0024】
図1に示す例では、デジタルアシスタントアプリケーション50は、ユーザ104によって問いかけられた質問に、自然言語処理を使用して応答してもよい。自然言語処理は一般に、書かれた言語(たとえば、最初の音声認識結果120aおよび/または最終の音声認識結果120b)を解釈し、書かれた言語が何らかのアクションを促すかどうかを決定するプロセスを指す。この例では、デジタルアシスタントアプリケーション50は、ユーザ104からの質問が、ユーザのスケジュール、およびより詳細にはユーザのスケジュール上のコンサートに関係することを認識するために自然言語処理を使用する。自然言語処理を用いてこれらの詳細を認識することによって、自動アシスタントは、ユーザのクエリへの応答19を返し、応答19は、"Venue doors open at 6:30 PM and concert starts at 8pm."と述べる。いくつかの構成では、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12と通信しているリモートサーバ60で行われる。
【0025】
図2A~
図2Cは、ストリーミングモードおよび非ストリーミングモードの様々な組合せで動作している例示的なASRモデル200a~cを含む。詳細には、ASRモデル200a~cの各々が、エンコーダ202と、デコーダ204とを含む。エンコーダ202は、因果エンコーダ層300のスタックを含む因果エンコーダ(すなわち、第1のエンコーダ)210と、非因果エンコーダ(すなわち、第2のエンコーダ)220とを含んでもよい。
【0026】
図3A~
図3Cは、第1のエンコーダ210の様々な例示的な因果エンコーダ層300を示す。より詳細には、
図3Aは、第1のエンコーダ210の因果エンコーダ層300のスタックから因果エンコーダ層300の1つまたは複数を実装するために使用される場合がある第1の例示的な因果エンコーダ層(たとえば、コンフォーマ層またはトランスフォーマ層)300、300aの概略図である。第1の例示的な因果エンコーダ層300aは、第1のハーフフィードフォワード層310と、第2のハーフフィードフォワード層340と、連結演算子305と、レイヤ正規化モジュール350とを含み、第1および第2のハーフフィードフォワード層310、340の間に畳み込みモジュール320およびマルチヘッドセルフアテンションモジュール330が配設される。第1のハーフフィードフォワード層310は、音響フレーム110をより大きい寸法に投影することによって音響フレーム110のシーケンス(たとえば、メルスペクトログラム入力シーケンス)を処理し、続いて非線形アクティベーションがあり、次いで特徴を元の寸法に投影するための別の線形層がある。その後、畳み込み層320は、第1のハーフフィードフォワード層310の出力と連結された音響フレーム110のシーケンスをサブサンプリングする。すなわち、畳み込みモジュール320は、相対オフセットベースのローカルインタラクションを捕捉するために近隣コンテキストからの情報を集約する。マルチヘッドセルフアテンションモジュール330は、コンフォーマ層またはトランスフォーマ層などのセルフアテンション層を含む場合がある。マルチヘッドセルフアテンションモジュール330は、第1のハーフフィードフォワード層310の出力と連結された畳み込みモジュール320の出力を受け取る。直観的に、マルチヘッドセルフアテンションモジュール330の役割は、高度化される各入力フレームに対して別々にノイズコンテキストを要約することである。マルチヘッドセルフアテンションモジュール330は、L個の前のフレームをルックバックし、出力を固定長のベクトルに変換し、それによってより大域のパターンを捕捉する。マルチヘッドセルフアテンションモジュール330は、多数の内部状態を維持する。これらの内部状態のかなりの部分が、セルフアテンションのキーおよびバリューテンソルに対応し、これらの内部状態の各々を繰り返しロードすることによるレイテンシの増加を引き起こす(たとえば、2次計算コスト)。
【0027】
その後、第2のハーフフィードフォワード層340は、マルチヘッドセルフアテンションモジュール330の出力および畳み込みモジュール320の出力の連結を受け取る。レイヤ正規化モジュール350は、第2のハーフフィードフォワード層340からの出力およびマルチヘッドセルフアテンションモジュール330の出力の連結を処理する。すなわち、第1の例示的な因果エンコーダ層300aは、各出力ステップで、音響フレーム110のシーケンス中の対応する音響フレーム110についての出力355を生成するために、音響フレーム110(たとえば、入力された特徴x)のシーケンス中の各音響フレーム110を、変調特徴mを使用して変換する。より詳細には、第1の例示的な因果エンコーダ層300aは、以下によって、出力355を生成してもよい。
【数1】
【0028】
第1の例示的な因果エンコーダ層300aの出力355は、第1のエンコーダ210の因果エンコーダ層300のスタック中の次の因果エンコーダ層300に渡される。因果エンコーダ層300のスタック中の最後の因果エンコーダ層300が、音響フレーム110のシーケンス中の対応する音響フレーム110についての第1の高次特徴表現212を生成する。
【0029】
図3Bは、因果エンコーダ層300のスタックから因果エンコーダ層300の1つまたは複数を実装するために使用される場合がある第2の例示的な因果エンコーダ層300、300bの概略図である。第2の例示的な因果エンコーダ層300bは、第1のハーフフィードフォワード層310と、第2のハーフフィードフォワード層340と、連結演算子305と、レイヤ正規化モジュール350とを含み、第1および第2のハーフフィードフォワード層310、340間に畳み込みモジュール320および再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュール360が配設される。すなわち、第2の例示的な因果エンコーダ層300bは、第1の例示的な因果エンコーダ層300a(
図3A)からのマルチヘッドセルフアテンションモジュール330をRNNのAttention-Performerモジュール360に置き換える。有利には、RNNのAttention-Performerモジュール360は、マルチヘッドセルフアテンションモジュール330の2次アテンションを、より管理可能な線形アテンションに置き換え、アテンションテンソルの低ランク分解を活用する。
【0030】
RNNのAttention-Performer360は、マルチヘッドセルフアテンションモジュールの因果アテンションをエミュレートする接頭部和決定を実行する単方向のパフォーマを含む。より詳細には、RNNのAttention-Performerモジュール360は、キーに対応するカーネル特徴とバリューベクトルの外積を合計することによって行列を決定する。接頭部和決定の各繰り返しで、クエリに対応するカーネル特徴ベクトルが、前の接頭部和を掛け合わせられて、新しい埋め込みを生成する。ここでは、RNNのAttention-Performerモジュール360は、先行するトークンに対応するすべての外積を合計することによって前の接頭部和を取得する。さらに、RNNのAttention-Performerモジュール360は、アフィン変換されたクエリ/キーに正規化線形ユニット要素ごとのアクティベーションを適用することによって特徴を取得する。
【0031】
第1のハーフフィードフォワード層310は、音響フレーム110のシーケンス(たとえば、メルスペクトログラム入力シーケンス)を処理する。その後、畳み込み層320は、第1のフィードフォワード層310の出力と連結された音響フレーム110のシーケンスをサブサンプリングする。RNNのAttention-Performerモジュール360は、第1のハーフフィードフォワード層310の出力と連結された畳み込みモジュール320の出力を受け取り、線形アテンションを適用して出力を生成する。その後、第2のハーフフィードフォワード層340は、RNNのAttention-Performerモジュール360の出力および畳み込みモジュール320の出力の連結を受け取る。レイヤ正規化モジュール350は、第2のハーフフィードフォワード層340からの出力およびマルチヘッドセルフアテンションモジュール330の出力を処理して出力355を生成する。第2の例示的な因果エンコーダ層(すなわち、RNN Performer層)300bの出力355は、第1のエンコーダ210の因果エンコーダ層300のスタック中の次の因果エンコーダ層300に渡される。因果エンコーダ層300のスタック中の最後の因果エンコーダ層300が、音響フレーム110のシーケンス中の対応する音響フレーム110についての第1の高次特徴表現212を生成する。
【0032】
図3Cは、因果エンコーダ層300のスタックから因果エンコーダ層300の1つまたは複数を実装するために使用される場合がある第3の例示的な因果エンコーダ層300、300cの概略図である。第3の例示的な因果エンコーダ層(すなわち、畳み込みブロック)300cは、第1のハーフフィードフォワード層310と、畳み込みモジュール320と、連結演算子305とを含む。特に、第3の例示的な因果エンコーダ層300cは、セルフアテンションモジュール(たとえば、マルチヘッドセルフアテンションモジュール330およびRNNのAttention-Performerモジュール360)を含まず、それによってASRモデル200のモデルサイズおよび計算リソースを縮小する。明らかになるように、因果エンコーダ層300のスタックの最初のエンコーダ層300は、第3の例示的な因果エンコーダ層300cを含んでもよい。第1のハーフフィードフォワード層310は、音響フレーム110のシーケンス(たとえば、メルスペクトログラム入力シーケンス)を処理する。その後、畳み込み層320は、第1のハーフフィードフォワード層310の出力と連結された音響フレーム110のシーケンスをサブサンプリングして出力325を生成する。第3の例示的な因果エンコーダ層300cの出力325は、第1のエンコーダ210の因果エンコーダ層300のスタック中の次の因果エンコーダ層300に渡される。因果エンコーダ層300のスタック中の最後の因果エンコーダ層300(たとえば、第1または第2の例示的な因果エンコーダ層300a、300b)が、音響フレーム110のシーケンス中の対応する音響フレーム110についての第1の高次特徴表現212を生成する。
【0033】
図4A~
図4Cは、因果エンコーダ層300の様々なスタックを有する第1のエンコーダ210の例示的な構成400を含む。
図4A~
図4Cに示す例示的な構成400は、単に明快にするために、5つ(5)の因果エンコーダ層300を有する因果エンコーダ層300のスタックを示すにすぎず、理解されるように、因果エンコーダ層300のスタックは、任意の数の因果エンコーダ層300を含んでもよい。
図4Aは、ASRモデル200の事前トレーニング段階中の第1のエンコーダ210について因果エンコーダ層300のスタックの第1の構成400、400aを示す。ここでは、第1のエンコーダ210の因果エンコーダ層300のスタック中の各因果エンコーダ層300が、第1の例示的な因果エンコーダ層(たとえば、コンフォーマ層)300a1~a5を含む。したがって、第1の構成400aの因果エンコーダ層300のスタック中の各因果エンコーダ層300は、通常のセルフアテンションを実行するマルチヘッドセルフアテンションモジュール330を含む。第1の構成400aの因果エンコーダ層のスタック中の各因果エンコーダ層300は、コンフォーマ層を含むので、第1の構成400aは、コンフォーマまたはエンコーダを表し、それによって各第1の例示的な因果エンコーダ層(たとえば、コンフォーマ層)は、事前トレーニング段階中に通常のコンフォーマトレーニングを使用する。
【0034】
図4Bは、ASRモデル200のファインチューントレーニング、およびその後推論中に使用される第1のエンコーダ210について因果エンコーダ層300のスタックの第2の構成400、400bを示す。ここでは、第1のエンコーダ210の因果エンコーダ層300のスタック中の各因果エンコーダ層300が、第2の例示的な因果エンコーダ層300b1~b5を含む。別の言い方をすれば、ファインチューントレーニング中に第2の構成400bは、第1の例示的な因果エンコーダ層300a(
図3A)の各々を第2の例示的な因果エンコーダ層300b(
図3B)に置き換える。したがって、第2の構成400bの因果エンコーダ層のスタック中の各因果エンコーダ層300は、線形アテンションを実行するRNNのAttention-Performerモジュール360を含む。したがって、ファインチューントレーニングおよび推論中に、第1のエンコーダ210は、マルチヘッドセルフアテンションモジュール330を用いて事前トレーニング中に学習された恩恵を保持すると同時に、レイテンシがより小さくなり、第2の例示的な因果エンコーダ層300b(
図3B)のRNNのAttention-Performerモジュール360のモデルサイズがより小さくなるという利点も有する。
【0035】
図4Cは、ASRモデル200のファインチューントレーニングおよび推論中に使用される第1のエンコーダ210の第3の構成400、400cを示す。ここでは、第1のエンコーダ210の因果エンコーダ層300のスタック中の最初の因果エンコーダ層300は、第3の例示的な因果エンコーダ層300cを含み、第1のエンコーダ210の因果エンコーダ層300のスタック中の後続の因果エンコーダ層300は、第2の例示的な因果エンコーダ層300bを含む。別の言い方をすれば、ファインチューントレーニング中に、第3の構成400cは、最初の因果エンコーダ層300の第1の例示的な因果エンコーダ層300a(
図3A)の各々を、第3の例示的な因果エンコーダ層300cに置き換え、後続の因果エンコーダ層300の第1の例示的な因果エンコーダ層300a(
図3A)の各々を、第2の例示的な因果エンコーダ層300bに置き換える。特に、第1の例示的な因果エンコーダ層300aと第2の例示的な因果エンコーダ層300bとの間の唯一の違いは、第2の例示的な因果エンコーダ層が、マルチヘッドセルフアテンションモジュール330ではなくRNNのAttention-Performerモジュール360を含むことである。マルチヘッドセルフアテンションモジュール330をRNNのAttention-Performerモジュール360に置き換えることは、マルチヘッドセルフアテンションモジュール320からのクエリ/キーを、線形時間およびシーケンス長における一定のメモリ複雑度のRNNモデル(たとえば、RNNのAttention-Performerモジュール360)に変換するためにトレーニング可能なアフィン変換を適用することを含む。
【0036】
図4Cに示すように、第1および第2の因果エンコーダ層(たとえば、最初の因果エンコーダ層)300c1、300c2は、第3の例示的な因果エンコーダ層300cを含み、第3、第4、および第5の因果エンコーダ層300b1~b3(たとえば、後続の因果エンコーダ層)は、第2の例示的な因果エンコーダ層300bを含む。しかし、最初の因果エンコーダ層は、そのように限定されず、たとえば、最初の因果エンコーダ層は、因果エンコーダ層のスタックから任意の数の層を含んでもよい。第1のエンコーダ210の第3の構成400cは、低レベルの特徴を仮説として取り上げるためにより単純な最初の因果エンコーダ層を使用し、線形アテンションを実行する後続の因果エンコーダ層を使用する。
【0037】
図2A~
図2Cに戻ると、いくつかの実装形態では、エンコーダ202は、カスケードエンコーダである。カスケードエンコーダ202は、第1のエンコーダ210の出力が、デコーディングに先立って第2のエンコーダ220の入力をフィードするように、第1のエンコーダ210と第2のエンコーダ220のエンコーディング経路がカスケードするモデル構造を指す。ここでは、第1および第2のエンコーダ210、220は、各エンコーダの基礎をなすアーキテクチャにかかわらずカスケードされることがある。いくつかの例では、第1および第2のエンコーダ210、220は、マルチヘッド(たとえば、8ヘッド)アテンション層のスタックを含む。マルチヘッドアテンション層のスタックは、コンフォーマ層のスタックまたはトランスフォーマ層のスタックを含む場合がある。未来の入力を使用することからモデルを制限するために、因果畳み込みおよび左コンテキストのアテンション層が、第1のエンコーダ210の因果エンコーダ層のスタック中の各因果エンコーダ層に使用されてもよい。カスケードエンコーダは、17の因果エンコーダ層を含んでもよい。ここでは、第1のエンコーダ210は、15の因果エンコーダ層を含んでもよく、第2のエンコーダ220は、追加の右コンテキスト(たとえば、5.04秒)を包含する2つの因果エンコーダ層を含んでもよい。第1のエンコーダ210は、因果エンコーダと呼ばれてもよく、第2のエンコーダ220は、非因果エンコーダと呼ばれてもよい。
【0038】
ここでは、第1のエンコーダ210は、ストリーミングエンコーダであり、第2のエンコーダ220は、非ストリーミングエンコーダである。カスケードエンコーダ202では、第2のエンコーダ220は、第1のエンコーダ210の出力を受け取り、第2のエンコーダが第1のエンコーダ210よりも少ないマルチヘッドアテンション層を含むように、第1のエンコーダ210の因果エンコーダ層300を活用してもよい。層をより少なくすることによって、カスケードエンコーダは、より計算コストが高い層の数を減らし、旧来のストリーミングモデルを旧来の非ストリーミングモデルと単に組み合わせるよりも、ASRモデル200を合理化されたものにする可能性がある。
【0039】
次に
図2Aを参照すると、第1のエンコーダ210は、d次元の特徴ベクトルのシーケンス(たとえば、
図1に示す音響フレーム110)x = (x
1, x
2, ..., x
T)、ここで
【数2】
を読み取り、各出力ステップで、音響フレーム110のシーケンス中の対応する音響フレーム110についての第1の高次特徴表現212を生成する。同様に、第2のエンコーダ220は、第1のエンコーダ210にカスケードで接続され、複数の出力ステップの各々で第1のエンコーダ210によって生成された第1の高次特徴表現212を入力として受け取り、各出力ステップで、対応する第1の高次特徴表現212について第2の高次特徴表現222を生成するように構成される。特に、第2のエンコーダ220は、追加の右コンテキスト(たとえば、未来の入力フレーム)を使用して第2の高次特徴表現222を生成し、第1のエンコーダ210は、追加の右コンテキストを使用せずに、第1の高次特徴表現212を生成する。さらに、第2のエンコーダ220は、第1の高次特徴表現212を使用して第2の高次特徴表現222を生成し、音響フレーム110のいずれも受け取らない。
【0040】
デコーダ204は、結合ネットワーク230と、予測ネットワーク240とを有する再帰型ニューラルネットワークのトランスデューサ(RNN-T)アーキテクチャを含んでもよい。デコーダ204は、複数の出力ステップの各々でエンコーダ202によって出力された第1および第2の高次特徴表現212、222、ならびに前の予測yr-1のために予測ネットワーク240から出力された隠れ表現(hidden representation)242を組み合わせるために(すなわち、モデルが非ストリーミングモードで動作するとき)結合ネットワーク230を使用して、デコーダ出力を生成する。ASRモデル200がストリーミングモードで動作するとき、結合ネットワーク230は、予測ネットワーク240から出力された隠れ表現242、および第1のエンコーダ210から出力された第1の高次特徴表現212のみを受け取る(たとえば、結合ネットワーク230は、第2の高次特徴表現222を受け取らない)。デコーダ出力は、N個の前の非空白記号のシーケンスを(yi-1,..., yi-N)、入力をxとすると、現在のサブワードユニットyiに関して、確率分布、P (yi|yi-1,..., y0, x)とすることができる。図示していないが、ASRモデル200は、デコーダ204の出力を受け取り、非空白記号のシーケンスを生成する最終のソフトマックス層を含んでもよい。いくつかの実装形態では、ソフトマックス層は、デコーダ204とは別個であり、デコーダ204からの出力を処理する。ソフトマックス層の出力は、したがって、ビーム探索プロセスにおいて正書法要素を選択するために使用される。いくつかの実装形態では、最終のソフトマックス層は、デコーダ204の出力が最終のソフトマックス層の出力を表すように、デコーダ204と統合される。
【0041】
デコーダ204は、各出力ステップで、考えられる音声認識仮説に関しての確率分布を生成するように構成される。ASRモデル200がストリーミングモードで動作しているとき、デコーダ204は、対応する第1の高次特徴表現212について考えられる音声認識仮説に関しての第1の確率分布232を生成する。代替的に、ASRモデル200が非ストリーミングモードで動作しているとき、デコーダ204は、対応する第2の高次特徴表現222について考えられる音声認識仮説に関しての第2の確率分布234を生成する。言い方を変えれば、結合ネットワーク230は、各出力ステップ(たとえば、時間ステップ)で、考えられる音声認識仮説に関しての確率分布232、234を生成する。ここでは、「考えられる音声認識仮説」は、特定の自然言語における書記素(たとえば、記号/文字)または単語断片を各々が表す出力ラベル/記号のセット(「音声ユニット」とも呼ばれる)に対応する。たとえば、自然言語が英語であるとき、出力ラベルのセットは、27個の(27)記号を含んでもよく、たとえば、英語のアルファベットの26文字の各々に1つのラベル、および余白を示す1つのラベルを含んでもよい。したがって、結合ネットワークは、出力ラベルのあらかじめ決定されたセットの各々が現れる尤度を示す値のセットを出力してもよい。値のこのセットは、ベクトル(たとえば、ワンホットベクトル)であることがあり、出力ラベルのセットに関しての確率分布を示すことができる。いくつかのシナリオでは、出力ラベルは、書記素(たとえば、個々の文字、ならびに潜在的には句読点および他の記号)であるが、出力ラベルのセットは、そのように限定されない。たとえば、出力ラベルのセットは、書記素に加えてまたはそれの代わりに単語断片および/または完全な単語を含むことができる。出力ラベルは、音素またはサブ音素などの他のタイプの音声ユニットであることもある。結合ネットワーク230の出力分布は、異なる出力ラベルの各々の事後確率値を含むことができる。したがって、異なる書記素または他の記号を表す100個の異なる出力ラベルがある場合、結合ネットワーク230の出力は、各出力ラベルに1つの、100個の異なる確率値を含むことができる。確率分布は、その場合、トランスクリプション120を決定するためにビーム探索プロセスにおいて(たとえば、Softmax層によって)候補の正書法要素(たとえば、書記素、単語断片、および/または単語)にスコアを選択し、割り当てるために使用することができる。
【0042】
デコーダ204内では、予測ネットワークは、2つの2,048次元のLSTM層を有し、それらの各々にも、640次元の投影層が続き、LSTMベースの予測ネットワークが約2340万のパラメータを有する可能性がある。他の構成では、予測ネットワーク240はそうではなく、LSTM層の代わりにコンフォーマ層またはトランスフォーマ層を含んでもよい。さらに他の構成では、予測ネットワーク240は、埋め込み予測ネットワークを含むV2埋め込みルックアップテーブルを含む。各時間ステップで、V2埋め込みルックアップテーブルは、結合ネットワーク230によって出力された前の2つの予測(たとえば、1ホットベクトル)を入力として受け取り、前の2つの予測の各々についてそれぞれの埋め込みd1、d2を決定し、連結された出力[d1, d2]を結合ネットワーク230に提供してもよい。比較してみると、V2埋め込みルックアップテーブルには、約2(2)百万のパラメータしかない可能性があるが、LSTMベースの予測ネットワークは、約2340万のパラメータを含む可能性がある。最終的に結合ネットワーク230は、640の隠れユニットを有する1層のニューラルネットワークである場合もある。
【0043】
図2Aの例を続けると、いくつかの実装形態では、ASRモデル200aは、ストリーミングモードと非ストリーミングモードの両方で並行して動作する。ストリーミングモードと非ストリーミングモードの両方で同時に動作するとき、ASRモデル200aはまず、第2のエンコーダ220とデコーダ204の両方に対して第1の高次特徴表現212を生成するために第1のエンコーダ210を使用して音響フレーム110のシーケンスでストリーミング音声認識を実行する。その後、デコーダ204は、部分的音声認識結果120、120aを出力するために、考えられる音声認識仮説に関しての第1の確率分布232を生成する。ASRモデル200bはまた、非ストリーミング音声認識を実行し、第2のエンコーダ220は、第2の高次特徴表現222を生成するために、第1のエンコーダ210から受け取った第1の高次特徴表現212を使用する。デコーダ204は次いで、考えられる音声認識仮説に関しての第2の確率分布234を生成して、最終の音声認識結果120、120bを出力する。時間によって示したように、デコーダ204は、第1のエンコーダ210からの出力を使用してストリーミング方式で部分的音声認識結果120aを出力し、次いで、非ストリーミング方式で動作して、第1の高次特徴表現212を使用して、最終の音声認識結果120bを生成する。したがって、入力発話106に対する最終の音声認識結果120bは、部分的音声認識結果120aから遅れる可能性がある。
【0044】
図2Bを参照すると、いくつかの実装形態では、ASRモデル200bは、ストリーミングモードでのみ動作する。これは、たとえば、ユーザ104(
図1)が音声検索またはオンデバイスディクテーションなどのアプリケーションを使用しているときに行われることがあり、可能な限りレイテンシが少ないことを必要とする。ここでは、エンコーダ202は、第1のエンコーダ210のみが出力を生成するように、非カスケードモードで動作する。より詳細には、ASRモデル200bは、デコーダ204に対して第1の高次特徴表現212を生成するために、第1のエンコーダ210のみを使用して音響フレーム110のシーケンスにストリーミング音声の校訂(recension)を実行する。その後、デコーダ204は、考えられる音声認識結果に関しての第1の確率分布232を生成する。ASRモデル200bのストリーミングモードは部分的音声認識結果120aを直ちに生成するので、「再生」という用語の不正確さは、ユーザには一般に許容可能である。
【0045】
図2Cを参照すると、いくつかの実施形態では、ASRモデル200cは、非ストリーミングモードでのみ動作する。非ストリーミングモードは、たとえば、ユーザ(
図1)がユーザの電話に残されたボイスメールのトランスクリプションを見ているときなどの、レイテンシの少ない適用例において行われることがある。上記で説明したように、このタイプの適用例は、増加した処理時間と引き換えに音声認識精度(たとえば、単語誤り率(WER))を改善するために未来のコンテキストを使用する第2のエンコーダ220から恩恵を受ける。ここでは、ASRモデル200cはまず、第2のエンコーダ220への入力のために各出力ステップで第1の高次特徴表現212を生成するために第1のエンコーダ210を使用するが、デコーダ204は、第1の高次特徴表現212のいずれもデコードしない。ASRモデル200cは次いで、音響フレーム110のシーケンス(たとえば、追加の右コンテキストを含む)に非ストリーミング音声認識を実行し、それによって第2のエンコーダ220は、第2の高次特徴表現222を生成するために、第1のエンコーダ210から受け取った第1の高次特徴表現212を使用する。デコーダ204は次いで、考えられる音声認識仮説に関しての第2の確率分布234を生成し、最終の音声認識結果120bを生成する。このシナリオでは、ストリーミング音声認識結果をリアルタイムで生成することが、ユーザにはほとんど価値がなく、レイテンシは要因ではないので、ASRモデル200cは単に、非ストリーミングモードでのみ動作して、最終の音声認識結果120bを生成してよい。
【0046】
図5は、コンフォーマの推論性能を最適化する方法500のための動作の例示的な構成のフローチャートである。方法500は、メモリハードウェア620(
図6)に記憶された命令を使用してデータ処理ハードウェア610(
図6)上で実行してもよい。データ処理ハードウェア610およびメモリハードウェア620は、コンピューティングデバイス600(
図6)に対応する
図1のユーザデバイス10および/またはリモートコンピューティングデバイス60上にあってもよい。
【0047】
動作502において、方法500は、ASRモデル200への入力として音響フレーム110のシーケンスを受け取るステップを含む。ここでは、ASRモデル200は、因果エンコーダ(すなわち、第1のエンコーダ)210と、デコーダ204とを含む。動作504において、方法500は、複数の出力ステップの各々で因果エンコーダ210によって、音響フレーム110のシーケンス中の対応する音響フレーム110についての第1の高次特徴表現212を生成するステップを含む。動作506において、方法500は、複数の出力ステップの各々でデコーダ204によって、考えられる音声認識仮説に関しての第1の確率分布232を生成するステップを含む。ここでは、因果エンコーダ210は、線形アテンションを適用するRNNのAttention-Performerモジュール360を各々が含む因果エンコーダ層300のスタックを含む。
【0048】
図6は、本明細書で説明するシステムおよび方法を実装するために使用されることがある例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すように意図されている。ここで示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示にすぎないものとし、本明細書で説明および/または請求する本発明の実装形態を限定するものではない。
【0049】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、ストレージデバイス630と、メモリ620および高速拡張ポート650に接続している高速インターフェース/コントローラ640と、低速バス670およびストレージデバイス630に接続している低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用して相互に接続され、共通のマザーボードに、または必要に応じて他の方法で取り付けられる場合がある。プロセッサは610、高速インターフェース640に結合されたディスプレイ680などの外部入力/出力デバイス上にグラフィカルユーザインターフェース(GUI)用のグラフィカル情報を表示するために、メモリ620またはストレージデバイス630に記憶された命令を含む、コンピューティングデバイス600内の実行のための命令を処理することができる。他の実装形態では、必要に応じて、複数のメモリおよびメモリのタイプと合わせて、複数のプロセッサおよび/または複数のバスが使用される場合がある。また、複数のコンピューティングデバイス600が接続され、各デバイスが(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供してもよい。
【0050】
メモリ620は、コンピューティングデバイス600内に非一時的に情報を記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。不揮発性メモリ620は、コンピューティングデバイス600による使用のために一時的または永続的にプログラム(たとえば、一連の命令)またはデータ(たとえば、プログラム状態情報)を記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電気的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、一般的にはブートプログラムなどのファームウェアに使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含む。
【0051】
ストレージデバイス630は、コンピューティングデバイス600に大容量ストレージを提供することが可能である。いくつかの実装形態では、ストレージデバイス630は、コンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス630は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含むデバイスのアレイであってもよい。さらなる実装形態では、コンピュータプログラム製品は、情報担体で有形に具体化される。コンピュータプログラム製品は、実行されると、上記で説明したような1つまたは複数の方法を行う命令を含んでいる。情報担体は、メモリ620、ストレージデバイス630、またはプロセッサ610上のメモリなど、コンピュータ可読または機械可読媒体である。
【0052】
高速コントローラ640は、コンピューティングデバイス600の帯域幅集約的な(bandwidth-intensive)動作を管理し、低速コントローラ660は、低帯域幅低集約的な(lower bandwidth-intensive)動作を管理する。責務のこのような割振りは、例示にすぎない。いくつかの実装形態では、高速コントローラ640は、メモリ620、ディスプレイ680(たとえば、グラフィックプロセッサもしくはアクセラレータを介する)に結合され、また様々な拡張カード(図示せず)を受け入れる場合がある高速拡張ポート650に結合される。いくつかの実装形態では、低速コントローラ660は、ストレージデバイス630および低速拡張ポート690に結合される。低速拡張ポート690は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでもよく、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに、または、たとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワーキングデバイスに結合されてもよい。
【0053】
コンピューティングデバイス600は、図に示すように、いくつかの異なる形態で実装されることがある。たとえば、コンピューティングデバイス600は、標準的なサーバ600aとして、またはそのようなサーバ600aのグループに複数回、またはラップトップコンピュータ600bとして、またはラックサーバシステム600cの一部として実装されることがある。
【0054】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特殊用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現されることがある。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するために、ならびにこれらにデータおよび命令を送信するために結合された、特定用途または汎用である場合がある、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能および/または解釈可能である、1つまたは複数のコンピュータプログラムにおける実装を含むことができる。
【0055】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型言語および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ言語/機械語で、実装されることが可能である。本明細書で使用する「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受け取る機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用されるいかなるコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))も指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用されるいかなる信号も指す。
【0056】
本明細書で説明するプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実施するために1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実施されることが可能である。プロセスおよび論理フローはまた、専用の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施されることが可能である。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、およびいずれかの種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサを含む。一般にプロセッサは、読取り専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受け取ることになる。コンピュータの必須要素は、命令を行うためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般にコンピュータはまた、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むことになり、またはこれらからデータを受け取る、もしくはこれらにデータを転送する、もしくはその両方を行うために動作可能に結合されることになる。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補われる、または専用論理回路に組み込まれることが可能である。
【0057】
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがそれによってコンピュータへの入力を行うことができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータに実装されることが可能である。他の種類のデバイスも、ユーザとの対話を可能にするために使用されることができ、たとえばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送ること、およびデバイスから文書を受け取ることによって、たとえば、ウェブブラウザから受け取られる要求に応じてユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【0058】
いくつかの実装形態について説明した。しかしながら、様々な変更が本開示の趣旨および範囲から逸脱することなく行われる場合があることは理解されよう。したがって、他の実装形態が以下の特許請求の範囲内に入る。
【符号の説明】
【0059】
10 ユーザデバイス
12 データ処理ハードウェア
14 メモリハードウェア
16 オーディオキャプチャデバイス
18 デジタルアシスタントインターフェース
19 応答
40 ネットワーク
50 デジタルアシスタントアプリケーション
60 リモートサーバ
101 音声環境
104 ユーザ
106 発話
107 ユーザインターフェースジェネレータ
108 オーディオサブシステム
110 音響フレーム
118 自動音声認識(ASR)システム
120 音声認識結果
200 ASRモデル
202 エンコーダ
204 デコーダ
210 因果エンコーダ
220 非因果エンコーダ
230 結合ネットワーク
240 予測ネットワーク
300 因果エンコーダ層
305 連結演算子
310 第1のハーフフィードフォワード層
320 畳み込みモジュール
330 マルチヘッドセルフアテンションモジュール
340 第2のハーフフィードフォワード層
350 レイヤ正規化モジュール
360 RNNのAttention-Performerモジュール
600 コンピューティングデバイス
610 プロセッサ
620 メモリ
630 ストレージデバイス
640 高速インターフェース/コントローラ
650 高速拡張ポート
660 低速インターフェース/コントローラ
670 低速バス
680 ディスプレイ
690 低速拡張ポート
【手続補正書】
【提出日】2024-05-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自動音声認識(ASR)モデル(200)であって、
因果エンコーダ層(300)のスタックを含む因果エンコーダ(210)であって、
入力として、音響フレーム(110)のシーケンスを受け取ることと、
複数の出力ステップの各々で、前記音響フレーム(110)のシーケンス中の対応する音響フレーム(110)についての第1の高次特徴表現(212)を生成することと
を行うように構成される、因果エンコーダ(210)と、
デコーダ(204)であって、
入力として、前記複数の出力ステップの各々で前記因果エンコーダ(210)によって生成された前記第1の高次特徴表現(212)を受け取ることと、
前記複数の出力ステップの各々で、考えられる音声認識仮説に関しての第1の確率分布(232)を生成することと
を行うように構成される、デコーダ(204)と
を備え、
前記因果エンコーダ層(300)のスタック中の各因果エンコーダ層(300)が、線形アテンションを適用する再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュール(360)を含む、
ASRモデル(200)。
【請求項2】
前記ASRモデル(200)の事前トレーニング中に、各因果エンコーダ層(300)が、
第1のフィードフォワードモジュール(310)と、
畳み込みモジュール(320)と、
マルチヘッドアテンションモジュール(330)と、
第2のフィードフォワードモジュール(340)と、
レイヤ正規化モジュール(350)と
を備える、請求項1に記載のASRモデル(200)。
【請求項3】
前記ASRモデル(200)のファインチューントレーニング中に、各因果エンコーダ層(300)が、
前記第1のフィードフォワードモジュール(310)と、
前記畳み込みモジュール(320)と、
前記RNNのAttention-Performerモジュール(360)と、
前記第2のフィードフォワードモジュール(340)と、
前記レイヤ正規化モジュール(350)と
を備える、請求項2に記載のASRモデル(200)。
【請求項4】
各因果エンコーダ層(300)が、前記マルチヘッドアテンションモジュール(330)に対する通常のコンフォーマトレーニングを使用して事前トレーニングされ、前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えることによってファインチューニングされる、請求項3に記載のASRモデル(200)。
【請求項5】
前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えることが、前記事前トレーニングされたマルチヘッドアテンションモジュール(330)からのクエリ/キーを線形時間およびシーケンス長における一定のメモリ複雑度のRNNモデルに変換するためにトレーニング可能なアフィン変換を適用することを含む、請求項4に記載のASRモデル(200)。
【請求項6】
前記因果エンコーダ(210)が、セルフアテンションなしの畳み込みブロック(300c)の最初のスタックをさらに含む、請求項1から5のいずれか一項に記載のASRモデル(200)。
【請求項7】
非因果エンコーダ(220)であって、
前記複数の出力ステップの各々で前記因果エンコーダ(210)によって生成された前記第1の高次特徴表現(212)を入力として受け取ることと、
前記複数の出力ステップの各々で、対応する第1の高次特徴表現(212)について第2の高次特徴表現(222)を生成することと
を行うように構成される、非因果エンコーダ(220)
をさらに備え、
前記デコーダ(204)が、
前記複数の出力ステップの各々で前記非因果エンコーダ(220)によって生成された前記第2の高次特徴表現(222)を入力として受け取ることと、
前記複数の出力ステップの各々で、考えられる音声認識仮説に関しての第2の確率分布(234)を生成することと
を行うようにさらに構成される、請求項1から
5のいずれか一項に記載のASRモデル(200)。
【請求項8】
前記デコーダ(204)が、
予測ネットワーク(240)であって、
入力として、最終のソフトマックス層によって出力された非空白記号のシーケンスを受け取ることと、
前記複数の出力ステップの各々で、密な表現(242)を生成することと
を行うように構成される、予測ネットワーク(240)と、
結合ネットワーク(230)であって、
入力として、
前記複数の出力ステップの各々で前記予測ネットワーク(240)によって生成された前記密な表現(242)、および、
前記ASRモデル(200)がストリーミングモードで動作しているとき、前記複数の出力ステップの各々で前記因果エンコーダ(210)によって生成された前記第1の高次特徴表現(212)、または
前記ASRモデル(200)が非ストリーミングモードで動作しているとき、前記複数の出力ステップの各々で前記非因果エンコーダ(220)によって生成された前記第2の高次特徴表現(222)
のうちの一方を受け取ることと、
前記複数の出力ステップの各々で、
前記ASRモデル(200)が前記ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第1の確率分布(232)、または
前記ASRモデル(200)が前記非ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第2の確率分布(234)
のうちの一方を生成することと
を行うように構成される、結合ネットワーク(230)と
を含む、請求項7に記載のASRモデル(200)。
【請求項9】
前記予測ネットワーク(240)が、長短期メモリ(LSTM)ベースの予測ネットワークを含む、請求項8に記載のASRモデル(200)。
【請求項10】
前記予測ネットワーク(240)が、V2埋め込みルックアップテーブルを含む、請求項
8に記載のASRモデル(200)。
【請求項11】
コンピュータ実装方法(500)であって、データ処理ハードウェア(610)によって実行されると、前記データ処理ハードウェア(610)に、
自動音声認識(ASR)モデル(200)への入力として、音響フレーム(110)のシーケンスを受け取るステップであって、前記ASRモデル(200)が、因果エンコーダ(210)と、デコーダ(204)とを備える、ステップと、
前記因果エンコーダ(210)によって、複数の出力ステップの各々で、前記音響フレーム(110)のシーケンス中の対応する音響フレーム(110)についての第1の高次特徴表現(212)を生成するステップと、
前記デコーダ(204)によって、前記複数の出力ステップの各々で、考えられる音声認識仮説に関しての第1の確率分布(232)を生成するステップと
を含む動作を行わせ、
前記因果エンコーダ(210)が、因果エンコーダ層(300)のスタックを含み、前記因果エンコーダ層(300)のスタック中の各因果エンコーダ層(300)が、線形アテンションを適用する再帰型ニューラルネットワーク(RNN)のAttention-Performerモジュール(360)を含む、
コンピュータ実装方法(500)。
【請求項12】
前記ASRモデル(200)の事前トレーニング中に、各因果エンコーダ層(300)が、
第1のフィードフォワードモジュール(310)と、
畳み込みモジュール(320)と、
マルチヘッドアテンションモジュール(330)と、
第2のフィードフォワードモジュール(340)と、
レイヤ正規化モジュール(350)と
を備える、請求項11に記載のコンピュータ実装方法(500)。
【請求項13】
前記ASRモデル(200)のファインチューントレーニング中に、各因果エンコーダ層(300)が、
前記第1のフィードフォワードモジュール(310)と、
前記畳み込みモジュール(320)と、
前記RNNのAttention-Performerモジュール(360)と、
前記第2のフィードフォワードモジュール(340)と、
前記レイヤ正規化モジュール(350)と
を備える、請求項12に記載のコンピュータ実装方法(500)。
【請求項14】
前記動作が、
前記マルチヘッドアテンションモジュール(330)に対する通常のコンフォーマトレーニングを使用して各因果エンコーダ層(300)を事前トレーニングするステップと、
前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えることによって各因果エンコーダ層(300)をファインチューニングするステップと
をさらに含む、請求項13に記載のコンピュータ実装方法(500)。
【請求項15】
前記マルチヘッドアテンションモジュール(330)を前記RNNのAttention-Performerモジュール(360)に置き換えるステップが、前記事前トレーニングされたマルチヘッドアテンションモジュール(330)からのクエリ/キーを線形時間およびシーケンス長における一定のメモリ複雑度のRNNモデルに変換するためにトレーニング可能なアフィン変換を適用するステップを含む、請求項14に記載のコンピュータ実装方法(500)。
【請求項16】
前記因果エンコーダ(210)が、セルフアテンションなしの畳み込みブロック(300c)の最初のスタックをさらに含む、請求項11から15のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項17】
前記動作が、
前記ASRモデル(200)の非因果エンコーダ(220)によって、前記複数の出力ステップの各々で、前記因果エンコーダ(210)によって生成された対応する第1の高次特徴表現(212)について第2の高次特徴表現(222)を生成するステップと、
前記デコーダ(204)によって、前記複数の出力ステップの各々で、対応する第2の高次特徴表現(222)について考えられる音声認識仮説に関しての第2の確率分布(234)を生成するステップと
をさらに含む、請求項11から
15のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項18】
前記動作が、
前記デコーダ(204)の予測ネットワーク(240)で入力として、最終のソフトマックス層によって出力された非空白記号のシーケンスを受け取るステップと、
前記予測ネットワーク(240)によって、密な表現(242)を生成するステップと、
前記デコーダ(204)の結合ネットワーク(230)によって、
前記ASRモデル(200)がストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第1の確率分布(232)、または
前記ASRモデル(200)が非ストリーミングモードで動作しているとき、考えられる音声認識仮説に関しての前記第2の確率分布(234)
のうちの一方を生成するステップと
をさらに含む、請求項17に記載のコンピュータ実装方法(500)。
【請求項19】
前記予測ネットワーク(240)が、長短期メモリ(620)(LSTM)ベースの予測ネットワークを含む、請求項18に記載のコンピュータ実装方法(500)。
【請求項20】
前記予測ネットワーク(240)が、V2埋め込みルックアップテーブルを含む、請求項18
に記載のコンピュータ実装方法(500)。
【国際調査報告】