IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-510816タイイングされ縮小されたRNN-T
<>
  • 特表-タイイングされ縮小されたRNN-T 図1
  • 特表-タイイングされ縮小されたRNN-T 図2
  • 特表-タイイングされ縮小されたRNN-T 図3
  • 特表-タイイングされ縮小されたRNN-T 図4
  • 特表-タイイングされ縮小されたRNN-T 図5
  • 特表-タイイングされ縮小されたRNN-T 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-11
(54)【発明の名称】タイイングされ縮小されたRNN-T
(51)【国際特許分類】
   G10L 15/16 20060101AFI20240304BHJP
【FI】
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558608
(86)(22)【出願日】2021-05-26
(85)【翻訳文提出日】2023-11-22
(86)【国際出願番号】 US2021034121
(87)【国際公開番号】W WO2022203701
(87)【国際公開日】2022-09-29
(31)【優先権主張番号】63/165,030
(32)【優先日】2021-03-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ラミ・ボトロス
(72)【発明者】
【氏名】タラ・サイナス
(57)【要約】
RNN-Tモデル(200)は、初期時間ステップに続く複数の時間ステップの各々において、非ブランクシンボル(301)のシーケンスを受信するように構成された予測ネットワーク(300)を含む。各非ブランクシンボルについて、予測ネットワークはまた、共有埋め込み行列(304)を使用して対応する非ブランクシンボルの埋め込み表現(306)を生成し、非ブランクシンボルにそれぞれの位置ベクトル(308)を割り当て、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間の類似度に比例して重み付けするように構成される。予測ネットワークはまた、対応する時間ステップにおける単一の埋め込みベクトル(350)を生成するように構成される。RNN-Tモデルはまた、初期ステップに続く複数の時間ステップの各々において、対応する時間ステップにおける予測ネットワークからの出力として生成された単一の埋め込みベクトルを受信し、可能な音声認識仮説にわたる確率分布を生成するように構成されたジョイントネットワーク(230)を含む。
【特許請求の範囲】
【請求項1】
回帰型ニューラルネットワークトランスデューサ(RNN-T)モデル(200)であって、
初期時間ステップに続く複数の時間ステップの各々において、
最終ソフトマックス層(240)によって出力された非ブランクシンボル(301)のシーケンスを入力として受信することと、
対応する前記時間ステップにおいて入力として受信される前記非ブランクシンボル(301)のシーケンスにおける各非ブランクシンボル(301)について、
共有埋め込み行列(304)を使用して前記対応する非ブランクシンボル(301)の埋め込み表現(306)を生成することと、
前記対応する非ブランクシンボル(301)にそれぞれの位置ベクトル(308)を割り当てることと、
前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間の類似度に比例して重み付けすることと、
前記対応する時間ステップにおける単一の埋め込みベクトル(350)を出力として生成することであって、前記単一の埋め込みベクトル(350)が、前記重み付けされた埋め込み表現(312)の加重平均(318)に基づく、生成することとを行うように構成された予測ネットワーク(300)と、
前記初期時間ステップに続く前記複数の時間ステップの各々において、
前記対応する時間ステップにおける前記予測ネットワーク(300)からの出力として生成された前記単一の埋め込みベクトル(350)を入力として受信することと、
前記対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成することとを行うように構成されたジョイントネットワーク(230)とを備えるRNN-Tモデル(200)。
【請求項2】
音響フレーム(110)のシーケンスを入力として受信し、
前記複数の時間ステップの各々において、前記音響フレームのシーケンスにおける対応する音響フレーム(110)についての高次機能表現を生成するように構成されたオーディオエンコーダ(210)をさらに備え、
前記ジョイントネットワーク(230)は、前記複数の時間ステップの各々において、前記オーディオエンコーダ(210)によって前記対応する時間ステップにおいて生成された前記高次機能表現を入力として受信するようにさらに構成される、請求項1に記載のRNN-Tモデル(200)。
【請求項3】
前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間の類似度に比例して重み付けすることは、前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間のコサイン類似度に比例して重み付けすることを含む、請求項1または2に記載のRNN-Tモデル(200)。
【請求項4】
前記最終ソフトマックス層(240)によって出力される前記非ブランクシンボルのシーケンスは、ワードピースを含む、請求項1から3のいずれか一項に記載のRNN-Tモデル(200)。
【請求項5】
前記最終ソフトマックス層(240)によって出力される前記非ブランクシンボル(301)のシーケンスは、書記素を含む、請求項1から4のいずれか一項に記載のRNN-Tモデル(200)。
【請求項6】
前記埋め込み表現の各々は、前記位置ベクトルの各々と同じ次元サイズを含む、請求項1から5のいずれか一項に記載のRNN-Tモデル(200)。
【請求項7】
入力として受信される前記非ブランクシンボルのシーケンスは、前記最終ソフトマックス層によって出力されるN個の以前の非ブランクシンボルに限定される、請求項1から6のいずれか一項に記載のRNN-Tモデル(200)。
【請求項8】
Nは2に等しい、請求項7に記載のRNN-Tモデル(200)。
【請求項9】
Nは5に等しい、請求項7に記載のRNN-Tモデル(200)。
【請求項10】
前記予測ネットワークは、マルチヘッドアテンション機構を備え、前記マルチヘッドアテンション機構は、その各ヘッドにわたって前記共有埋め込み行列を共有する、請求項1から9のいずれか一項に記載のRNN-Tモデル(200)。
【請求項11】
前記予測ネットワーク(300)は、前記初期時間ステップに続く前記複数の時間ステップの各々において、
前記マルチヘッドアテンション機構(302)の各ヘッドにおいて、
前記対応する時間ステップにおいて入力として受信される前記非ブランクシンボル(301)のシーケンスにおける各非ブランクシンボル(301)について、
前記共有埋め込み行列(304)を使用して、前記マルチヘッドアテンション機構(302)の各他のヘッド(302)において生成される前記埋め込み表現(306)と同じ、前記対応する非ブランクシンボル(301)の前記埋め込み表現(306)を生成することと、
前記マルチヘッドアテンション機構(302)の各他のヘッド(302)における前記対応する非ブランクシンボル(301)に割り当てられる前記それぞれの位置ベクトル(308)とは異なるそれぞれの位置ベクトル(308)を前記対応する非ブランクシンボル(301)に割り当てることと、
前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間の類似度に比例して重み付けすることと、
前記マルチヘッドアテンション機構(302)の前記対応するヘッド(302)からの出力として、前記非ブランクシンボル(301)のシーケンスの前記重み付けされた埋め込み表現(312)のそれぞれの加重平均(318)を生成することと、
前記マルチヘッドアテンション機構(302)の前記対応するヘッド(302)から出力される前記それぞれの加重平均(318)を平均化することによって前記対応する時間ステップにおける前記単一の埋め込みベクトル(350)を出力として生成するように構成される、請求項10に記載のRNN-Tモデル(200)。
【請求項12】
前記マルチヘッドアテンション機構(302)は、4つのヘッド(302)を備える、請求項10または11に記載のRNN-Tモデル(200)。
【請求項13】
前記予測ネットワークは、前記共有埋め込み行列(304)の次元を前記ジョイントネットワーク(230)の出力層の次元にタイイングさせる、請求項1から12のいずれか一項に記載のRNN-Tモデル(200)。
【請求項14】
データ処理ハードウェア(12)に対して実行されたときに、前記データ処理ハードウェア(12)に、
初期時間ステップに続く複数の時間ステップの各々において、
最終ソフトマックス層(240)によって出力された非ブランクシンボル(301)のシーケンスを、回帰型ニューラルネットワークトランスデューサ(RNN-T)モデル(200)の予測ネットワーク(300)への入力として受信するステップと、
対応する前記時間ステップにおいて入力として受信される前記非ブランクシンボル(301)のシーケンスにおける各非ブランクシンボル(301)について、
前記予測ネットワーク(300)によって、共有埋め込み行列(304)を使用して対応する前記非ブランクシンボル(301)の埋め込み表現(306)を生成するステップと、
前記予測ネットワーク(300)によって、対応する前記非ブランクシンボル(301)にそれぞれの位置ベクトル(308)を割り当てるステップと、
前記予測ネットワーク(300)によって、前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間の類似度に比例して重み付けするステップと、
対応する前記時間ステップにおける単一の埋め込みベクトル(350)を前記予測ネットワーク(300)からの出力として生成するステップであって、前記単一の埋め込みベクトル(350)が、前記重み付けされた埋め込み表現(312)の加重平均(318)に基づく、ステップと、
前記RNN-Tモデル(200)のジョイントネットワーク(230)によって、対応する前記時間ステップにおける前記予測ネットワーク(300)からの出力として生成された前記単一の埋め込みベクトル(350)を使用して、対応する前記時間ステップにおける可能な音声認識仮説にわたる確率分布を生成するステップとを含む動作を実行させるコンピュータ実装方法(500)。
【請求項15】
前記動作は、
音響フレーム(110)のシーケンスを前記RNN-Tモデル(200)のオーディオエンコーダ(210)への入力として受信するステップと、
前記オーディオエンコーダ(210)によって、前記複数の時間ステップの各々において、前記音響フレームのシーケンスにおける対応する音響フレーム(110)についての高次機能表現を生成するステップと、
前記オーディオエンコーダ(210)によって前記対応する時間ステップにおいて生成された前記高次機能表現を前記ジョイントネットワーク(230)への入力として受信するステップとをさらに含む、請求項14に記載のコンピュータ実装方法(500)。
【請求項16】
前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間の類似度に比例して重み付けするステップは、前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間のコサイン類似度に比例して重み付けするステップ含む、請求項14または15に記載のコンピュータ実装方法(500)。
【請求項17】
前記最終ソフトマックス層(240)によって出力される前記非ブランクシンボル(301)のシーケンスは、ワードピースを含む、請求項14から16のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項18】
前記最終ソフトマックス層(240)によって出力される前記非ブランクシンボル(301)のシーケンスは、書記素を含む、請求項14から17のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項19】
前記埋め込み表現(306)の各々は、前記位置ベクトル(308)の各々と同じ次元サイズを含む、請求項14から18のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項20】
入力として受信される前記非ブランクシンボル(301)のシーケンスは、前記最終ソフトマックス層(240)によって出力されるN個の以前の非ブランクシンボル(301)に限定される、請求項14から19のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項21】
Nは2に等しい、請求項20に記載のコンピュータ実装方法(500)。
【請求項22】
Nは5に等しい、請求項20に記載のコンピュータ実装方法(500)。
【請求項23】
前記予測ネットワーク(300)は、マルチヘッドアテンション機構(302)を備え、前記マルチヘッドアテンション機構(302)は、その各ヘッド(302)にわたって前記共有埋め込み行列(304)を共有する、請求項14から22のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項24】
前記動作は、前記初期時間ステップに続く前記複数の時間ステップの各々において、
前記マルチヘッドアテンション機構(302)の各ヘッド(302)において、
前記対応する時間ステップにおいて入力として受信される前記非ブランクシンボル(301)のシーケンスにおける各非ブランクシンボル(301)について、
前記予測ネットワーク(300)によって、前記共有埋め込み行列(304)を使用して、前記マルチヘッドアテンション機構(302)の各他のヘッド(302)において生成される前記埋め込み表現(306)と同じ、前記対応する非ブランクシンボル(301)の前記埋め込み表現(306)を生成するステップと、
前記予測ネットワーク(300)によって、前記マルチヘッドアテンション機構(302)の各他のヘッド(302)における前記対応する非ブランクシンボル(301)に割り当てられる前記それぞれの位置ベクトル(308)とは異なるそれぞれの位置ベクトル(308)を前記対応する非ブランクシンボル(301)に割り当てるステップと、
前記予測ネットワーク(300)によって、前記埋め込み表現(306)を前記埋め込み表現(306)と前記それぞれの位置ベクトル(308)との間の類似度に比例して重み付けするステップと、
前記予測ネットワーク(300)によって、前記マルチヘッドアテンション機構(302)の前記対応するヘッド(302)からの出力として、前記非ブランクシンボル(301)のシーケンスの前記重み付けされた埋め込み表現(312)のそれぞれの加重平均(318)を生成するステップと、
前記マルチヘッドアテンション機構(302)の前記対応するヘッド(302)から出力される前記それぞれの加重平均(318)を平均化することによって、前記対応する時間ステップにおける前記単一の埋め込みベクトル(350)を前記予測ネットワーク(300)から出力として生成するステップとをさらに含む、請求項23に記載のコンピュータ実装方法(500)。
【請求項25】
前記マルチヘッドアテンション機構(302)は、4つのヘッド(302)を備える、請求項23または24に記載のコンピュータ実装方法(500)。
【請求項26】
前記予測ネットワーク(300)は、前記共有埋め込み行列(304)の次元を前記ジョイントネットワーク(230)の出力層の次元にタイイングさせる、請求項14から25のいずれか一項に記載のコンピュータ実装方法(500)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、タイイングされ縮小された回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルに関する。
【背景技術】
【0002】
現代の自動音声認識(ASR)システムは、高品質(たとえば、低ワードエラー率(WER))だけでなく低レイテンシ(たとえば、ユーザが発話してから文字が起こされるまでの遅延の短縮)をも提供することを重視している。さらに、現在ASRシステムを使用する際には、ASRシステムが、実時間に相当するストリーミング方式で発話を復号するか、または場合によっては実時間よりも速く発話を復号することが要求されている。一例として、直接的なユーザ対話処理が行われる携帯電話上にASRシステムが配置されるとき、ASRシステムを使用する携帯電話上のアプリケーションに、音声認識をストリーム処理し、それによって、単語が発話された直後に画面上に出現することが必要になることがある。ここで、携帯電話のユーザのレイテンシに対する許容度が低い可能性もある。この低い許容度に起因して、音声認識が、ユーザのエクスペリエンスに悪影響を与えることがあるレイテンシおよび不正確さによる影響を最小限に抑えるようにモバイルデバイス上で実行されるように、取り組みがなされている。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、初期時間ステップに続く複数の時間ステップの各々において、最終ソフトマックス層によって出力された非ブランクシンボルのシーケンスを入力として受信するように構成された予測ネットワークを含む回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルを提供する。予測ネットワークはまた、対応する時間ステップにおいて入力として受信される非ブランクシンボルのシーケンスにおける各非ブランクシンボルについて、共有埋め込み行列を使用して対応する非ブランクシンボルの埋め込み表現を生成し、対応する非ブランクシンボルにそれぞれの位置ベクトルを割り当て、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間の類似度に比例して重み付けするように構成される。予測ネットワークはまた、対応する時間ステップにおける単一の埋め込みベクトルを出力として生成するように構成され、単一の埋め込みベクトルは、重み付けされた埋め込み表現の加重平均に基づく。RNN-Tモデルはまた、初期ステップに続く複数の時間ステップの各々において、対応する時間ステップにおける予測ネットワークからの出力として生成された単一の埋め込みベクトルを入力として受信し、対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成するように構成されたジョイントネットワークを含む。
【0004】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、RNN-Tモデルは、音響フレームのシーケンスを入力として受信し、複数の時間ステップの各々において、音響フレームのシーケンスにおける対応する音響フレームについての高次機能表現を生成するように構成されたオーディオエンコーダをさらに含む。ここで、ジョイントネットワークは、複数の時間ステップの各々において、オーディオエンコーダによって対応する時間ステップにおいて生成された高次機能表現を入力として受信するようにさらに構成される。いくつかの例では、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間の類似度に比例して重み付けすることは、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間のコサイン類似度に比例して重み付けすることを含む。最終ソフトマックス層によって出力される非ブランクシンボルのシーケンスはワードピースを含む。場合によっては、最終ソフトマックス層によって出力される非ブランクシンボルのシーケンスは、書記素を含んでもよい。埋め込み表現の各々は、位置ベクトルの各々と同じ次元サイズを含んでもよい。いくつかの実装形態では、入力として受信される非ブランクシンボルのシーケンスは、最終ソフトマックス層によって出力されるN個の以前の非ブランクシンボルに限定される。これらの実装形態では、Nは2に等しくてもよい。代替として、Nは5に等しくてもよい。
【0005】
いくつかの例では、予測ネットワークは、マルチヘッドアテンション機構を含み、マルチヘッドアテンション機構は、その各ヘッドにわたる共有埋め込み行列を共有する。これらの例では、初期時間ステップに続く複数の時間ステップの各々において、予測ネットワークは、マルチヘッドアテンション機構の各ヘッドにおいて、かつ対応する時間ステップにおいて入力として受信される非ブランクシンボルのシーケンスにおける各非ブランクシンボルについて、共有埋め込み行列を使用して、マルチヘッドアテンション機構の各他のヘッドにおいて生成される埋め込み表現と同じ、対応する非ブランクシンボルの埋め込み表現を生成し、マルチヘッドアテンション機構の各他のヘッドにおける対応する非ブランクシンボルに割り当てられるそれぞれの位置ベクトルとは異なるそれぞれの位置ベクトルを対応する非ブランクシンボルに割り当て、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間の類似度に比例して重み付けするように構成される。ここで、予測ネットワークはまた、マルチヘッドアテンション機構の対応するヘッドからの出力として、非ブランクシンボルのシーケンスの重み付けされた埋め込み表現のそれぞれの加重平均を生成し、マルチヘッドアテンション機構の対応するヘッドから出力されるそれぞれの加重平均を平均化することによって対応する時間ステップにおける単一の埋め込みベクトルを出力として生成するように構成される。これらの例では、マルチヘッドアテンション機構は4つのヘッドを含んでもよい。場合によっては、予測ネットワークは、共有埋め込み行列の次元をジョイントネットワークの出力層の次元にタイイングさせてもよい。
【0006】
本開示の別の態様は、データ処理ハードウェア上で実行されたときにデータ処理ハードウェアに動作を実行させるコンピュータ実装方法を提供する。初期時間ステップに続く複数の時間ステップの各々において、動作は、最終ソフトマックス層によって出力された非ブランクシンボルのシーケンスを、回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルへの入力として受信する動作と、対応する時間ステップにおいて入力として受信される非ブランクシンボルのシーケンスにおける各非ブランクシンボルについて、予測ネットワークによって、共有埋め込み行列を使用して対応する非ブランクシンボルの埋め込み表現を生成する動作と、予測ネットワークによって、対応する非ブランクシンボルにそれぞれの位置ベクトルを割り当てる動作と、予測ネットワークによって、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間の類似度に比例して重み付けする動作とを含む。初期時間ステップに続く複数の時間ステップの各々において、動作はまた、対応する時間ステップにおける単一の埋め込みベクトルを予測ネットワークからの出力として生成する動作と、RNN-Tモデルのジョイントネットワークによって、対応する時間ステップにおける予測ネットワークからの出力として生成された単一の埋め込みベクトルを使用して、対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成する動作とを含む。単一の埋め込みベクトルは、重み付けされた埋め込み表現の加重平均に基づく。
【0007】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、動作は、音響フレームのシーケンスをオーディオエンコーダへの入力として受信する動作と、オーディオエンコーダによって、複数の時間ステップの各々において、音響フレームのシーケンスにおける対応する音響フレームについての高次機能表現を生成する動作と、複数の時間ステップの各々において、オーディオエンコーダによって対応する時間ステップにおいて生成された高次機能表現をジョイントネットワークへの入力として受信する動作とをさらに含む。いくつかの例では、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間の類似度に比例して重み付けすることは、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間のコサイン類似度に比例して重み付けすることを含む。
【0008】
最終ソフトマックス層によって出力される非ブランクシンボルのシーケンスはワードピースを含んでもよい。場合によっては、最終ソフトマックス層によって出力される非ブランクシンボルのシーケンスは、書記素を含んでもよい。埋め込み表現の各々は、位置ベクトルの各々と同じ次元サイズを含んでもよい。いくつかの実装形態では、入力として受信される非ブランクシンボルのシーケンスは、最終ソフトマックス層によって出力されるN個の以前の非ブランクシンボルに限定される。これらの実装形態では、Nは2に等しくてもよい。代替として、Nは5に等しくてもよい。場合によっては、予測ネットワークは、共有埋め込み行列の次元をジョイントネットワークの出力層の次元にタイイングさせてもよい。
【0009】
いくつかの例では、予測ネットワークは、マルチヘッドアテンション機構を含み、マルチヘッドアテンション機構は、その各ヘッドにわたって共有埋め込み行列を共有する。マルチヘッドアテンション機構は、4つのヘッドを含んでもよい。これらの例では、初期時間ステップに続く複数の時間ステップの各々において、動作は、マルチヘッドアテンション機構の各ヘッドにおいて、かつ対応する時間ステップにおいて入力として受信される非ブランクシンボルのシーケンスにおける各非ブランクシンボルについて、予測ネットワークによって、共有埋め込み行列を使用して、マルチヘッドアテンション機構の各他のヘッドにおいて生成される埋め込み表現と同じ、対応する非ブランクシンボルの埋め込み表現を生成する動作と、予測ネットワークによって、マルチヘッドアテンション機構の各他のヘッドにおける対応する非ブランクシンボルに割り当てられるそれぞれの位置ベクトルとは異なるそれぞれの位置ベクトルを対応する非ブランクシンボルに割り当てる動作と、予測ネットワークによって、埋め込み表現を埋め込み表現とそれぞれの位置ベクトルとの間の類似度に比例して重み付けする動作とをさらに含んでもよい。ここで、初期時間ステップに続く複数の時間ステップの各々において、かつマルチヘッドアテンション機構の各ヘッドにおいて、動作はまた、予測ネットワークによって、マルチヘッドアテンション機構の対応するヘッドからの出力として、非ブランクシンボルのシーケンスの重み付けされた埋め込み表現のそれぞれの加重平均を生成する動作を含んでもよい。その後、初期時間ステップに続く複数の時間ステップの各々において、動作は、マルチヘッドアテンション機構の対応するヘッドから出力されるそれぞれの加重平均を平均化することによって、対応する時間ステップにおける単一の埋め込みベクトルを予測ネットワークから出力として生成する動作をさらに含んでもよい。
【0010】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0011】
図1】回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルを使用して発話を文字に起こす例示的な発話環境の概略図である。
図2】例示的なRNN-Tモデルアーキテクチャの概略図である。
図3図2のRNN-Tモデルアーキテクチャの例示的なタイイングされ縮小された予測ネットワークの概略図である。
図4】タイイングされた予測ネットワークおよびジョイントネットワークとタイイングされていない予測ネットワークおよびジョイントネットワークのワードエラー率対サイズを示すプロットである。
図5】タイイングされ縮小されたRNN-Tモデルを実行するコンピュータ実装方法のための動作の例示的な構成のフローチャートである。
図6】本明細書で説明するシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0012】
様々な図面における同じ参照記号は同じ要素を示す。
【0013】
図1は、発話環境100の一例である。発話環境100において、ユーザ104が、ユーザデバイス10などのコンピューティングデバイスと対話する方法は、音声入力によるものであってもよい。ユーザデバイス10(一般にデバイス10とも呼ばれる)は、発話環境100内の1人または複数のユーザ104から音声(たとえば、ストリーミングオーディオデータ)を取り込むように構成される。ここで、ストリーミングオーディオデータは、可聴クエリ、デバイス10に対するコマンド、またはデバイス10によって取り込まれる可聴通信として働く、ユーザ104による発話106を指してもよい。デバイス10の音声対応システムは、クエリに答え、かつ/またはコマンドを1つまたは複数のダウンストリームアプリケーションによって実行/完遂させることによってクエリまたはコマンドを適切に処理してもよい。
【0014】
ユーザデバイス10は、ユーザに関連付けられ、オーディオデータを受信することができる任意のコンピューティングデバイスに対応してもよい。ユーザデバイス10のいくつかの例には、限定はしないが、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、スマートアプライアンス、もののインターネット(IoT)デバイス、車載インフォテインメントシステム、スマートディスプレイ、スマートスピーカなどが含まれる。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12と通信するメモリハードウェア14とを含み、データ処理ハードウェア12によって実行されたときに、データ処理ハードウェア12に1つまたは複数の動作を実行させる命令を記憶する。ユーザデバイス10は、発話環境100内の発話106を取り込み電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)16、16aを有するオーディオシステム16と、可聴オーディオ信号を(たとえば、デバイス10からの出力オーディオデータとして)通信するための発話出力デバイス(たとえば、スピーカ)16、16bとをさらに含む。ユーザデバイス10は、図示の例では単一のオーディオキャプチャデバイス16aを実装するが、本開示の範囲から逸脱せずにオーディオキャプチャデバイス16aのアレイを実装してもよく、アレイ内の1つまたは複数のキャプチャデバイス16aは、ユーザデバイス10上に物理的に存在せず、オーディオシステム16と通信する場合がある。
【0015】
発話環境100では、回帰型ニューラルネットワークトランスデューサ(RNN-T)モデル200と任意のリスコアラ180とを実装する自動音声認識(ASR)システム118が、ユーザ104のユーザデバイス10上および/またはネットワーク40を介してユーザデバイス10と通信するリモートコンピューティングデバイス60(たとえば、クラウドコンピューティング環境において実行される分散システムの1つまたは複数のサーバ)上に存在する。ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、ユーザ104によって発話され、オーディオキャプチャデバイス16aによってキャプチャされた発話106を受信し、発話106を、ASRシステム118によって処理することができる入力された音響フレーム110に関連付けられた対応するデジタルフォーマットに変換するように構成されたオーディオサブシステム108を含む。図示の例では、ユーザは、それぞれの発話106を発し、オーディオサブシステム108は、発話106をASRシステム118に入力するために対応するオーディオデータ(たとえば、音響フレーム)110に変換する。その後、RNN-Tモデル200は、発話106に対応するオーディオデータ110を入力として受信し、発話106の対応するトランスクリプション120(たとえば、認識結果/仮説)を出力として生成/予測する。図示の例では、RNN-Tモデル200は、ストリーミング音声認識を実行して初期音声認識結果120、120aを生成してもよく、リスコアラ180は、初期音声認識結果120aを更新(リスコア)して最終音声認識結果120、120bを生成してもよい。
【0016】
ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、発話106のトランスクリプション120の表現をユーザデバイス10のユーザ104に提示するように構成されたユーザインターフェース生成器107を実行する。以下により詳細に説明するように、ユーザインターフェース生成器107は、時間1の間初期音声認識結果120aをストリーミング式に表示し、その後時間2の間最終音声認識結果120bを表示してもよい。いくつかの構成では、ASRシステム118から出力されたトランスクリプション120は、たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行される自然言語理解(NLU)モジュールによって処理され、発話106によって指定されたユーザコマンド/クエリを実行する。追加または代替として、テキスト音声システム(図示せず)(たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せ上で実行される)が、トランスクリプションをユーザデバイス10および/または別のデバイスによる可聴出力のために合成音声に変換してもよい。
【0017】
図示の例では、ユーザ104は、ASRシステム118を使用するユーザデバイス10のプログラムまたはアプリケーション50(たとえば、デジタルアシスタントアプリケーション50)と対話する。たとえば、図1は、デジタルアシスタントアプリケーション50と通信するユーザ104およびユーザデバイス10の画面上にデジタルアシスタントインターフェース18を表示するデジタルアシスタントアプリケーション50を示し、ユーザ104とデジタルアシスタントアプリケーション50との間の会話を示している。この例では、ユーザ104は、デジタルアシスタントアプリケーション50に「今夜のコンサートは何時からですか」と尋ねる。ユーザ104からのこの質問は、オーディオキャプチャデバイス16aによってキャプチャされユーザデバイス10のオーディオシステム16によって処理される発話106である。この例では、オーディオシステム16は、発話106を受信して、ASRシステム118に入力するために音響フレーム110に変換する。
【0018】
引き続きこの例を説明すると、RNN-Tモデル200は、ユーザ104が発した発話106に対応する音響フレーム110を受信しつつ、音響フレーム110を符号化し、次いで符号化された音響フレーム110を初期音声認識結果120aに復号する。時間1の間、ユーザインターフェース生成器107は、単語、ワードピース、および/または個々の文字が発話された直後に画面上に現れるように、発話106の初期音声認識結果120aの表現をデジタルアシスタントインターフェース18を介してストリーミング式にユーザデバイス10のユーザ104に提示する。いくつかの例では、第1のルックアヘッドオーディオコンテキストはゼロに等しい。
【0019】
時間2の間、ユーザインターフェース生成器107は、発話106の最終音声認識結果120bの表現をデジタルアシスタントインターフェース18を介して、リスコアラ180によってリスコアされるユーザデバイス10のユーザ104に提示する。いくつかの実装形態では、ユーザインターフェース生成器107は、時間1に提示された初期音声認識結果120aの表現を、時間2に提示された最終音声認識結果120bの表現で置き換える。ここで、時間1および時間2は、ユーザインターフェース生成器107がそれぞれの音声認識結果を提示するときに対応するタイムスタンプを含んでもよい。この例では、時間1のタイムスタンプは、ユーザインターフェース生成器107が最終音声認識結果120bよりも早い時間に初期音声認識結果120aを提示することを示す。たとえば、最終音声認識結果120bは初期音声認識結果120aよりも正確であると推定されるので、最終的にトランスクリプション120として表示される最終音声認識結果120bは、初期音声認識結果120aにおいて誤認識された可能性のある単語を修正してもよい。この例では、RNN-Tモデル200によって出力され、時間1にユーザデバイス10の画面上に表示されるストリーミング初期音声認識結果120aは、低レイテンシが伴い、ユーザのクエリが処理されている旨の応答をユーザ104に提供し、一方、リスコアラ180によって出力され、時間2に画面上に表示される最終音声認識結果120bは、追加の音声認識モデルおよび/または言語モデルを活用して精度の点で音声認識品質を向上させるが、レイテンシを増加させる。しかし、ユーザが発話106を発したときに初期音声認識結果120aが表示されるので、最終認識結果の生成および最終的な表示に伴うより高いレイテンシは、ユーザ104に気づかれない。
【0020】
図1に示す例では、デジタルアシスタントアプリケーション50は、ユーザ104によって自然言語処理を使用することによってポスティングされた質問に応答してもよい。自然言語処理は一般に、書かれた言語(たとえば、初期音声認識結果120aおよび/または最終音声認識結果120b)を解釈し、書かれた言語が何らかのアクションを促しているかどうかを判定するプロセスを指す。この例では、デジタルアシスタントアプリケーション50は、自然言語処理を使用して、ユーザ104からの質問がユーザのスケジュール、より詳細にはユーザのスケジュールにおけるコンサートに関することを認識する。自然言語処理によってこれらの詳細を認識することによって、自動化されたアシスタントがユーザのクエリに対する応答19を返し、この場合、応答19には、「開場は午後6時半で、コンサートは午後8時から始まります。」と記載される。いくつかの構成では、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12と通信しながらリモートサーバ60上で行われる。
【0021】
図2を参照すると、例示的なフレームアライメントベーストランスデューサモデル200は、対話型アプリケーションに伴うレイテンシ制約を順守する回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルアーキテクチャを含む。RNN-Tモデル200は、提供する計算フットプリントが小さく、従来のASRアーキテクチャよりも利用するメモリ要件が低く、RNN-Tモデルアーキテクチャが音声認識全体をユーザデバイス102上で実行するのに適したものになる(たとえば、リモートサーバとの通信は必要とされない)。RNN-Tモデル200は、エンコーダネットワーク210と、予測ネットワーク300と、ジョイントネットワーク230とを含む。予測ネットワーク300およびジョイントネットワーク230は集合的にRNN-Tデコーダを構成する。エンコーダネットワーク210は、概して従来のASRシステムにおける音響モデル(AM)に類似しており、積層長短期記憶(LSTM)層の回帰型ネットワークを含む。たとえば、エンコーダは、d次元特徴ベクトルのシーケンス(たとえば、音響フレーム110(図1))x = (x1, x2, ..., xT)を読み取り、ここで
【0022】
【数1】
【0023】
である。エンコーダは、各時間ステップにおいて高次特徴表現を生成する。この高次特徴表現は
【0024】
【数2】
【0025】
として示される。
【0026】
同様に、予測ネットワーク300はまた、LSTMネットワークであり、言語モデル(LM)と同様に、これまでに最終ソフトマックス層240によって出力された非ブランクシンボル301のシーケンス、y0, ..., yui-1を表現
【0027】
【数3】
【0028】
として処理する。以下により詳細に説明するように、表現
【0029】
【数4】
【0030】
350は、単一の埋め込みベクトルを含む。特に、予測ネットワーク300において受信される非ブランクシンボル301のシーケンスは、それまでの時間ステップの間に予測された非ブランクシンボル301間の言語依存性を取り込んで、ジョイントネットワーク230が現在の時間ステップの間に次の出力シンボルまたはブランクシンボルの確率を予測するのを助ける。以下により詳細に説明するように、RNN-Tモデル200の精度/性能を犠牲にせずに予測ネットワーク300のサイズを縮小するための技法に寄与するために、予測ネットワーク300は、最終ソフトマックス層240によって出力されたN個の以前の非ブランクシンボル301に限定される非ブランクシンボルyui-n, ..., yui-1の限定された履歴シーケンスを受信してもよい。
【0031】
最後に、RNN-Tモデルアーキテクチャを用いて、エンコーダおよび予測ネットワーク210、300によって生成された表現は、ジョイントネットワーク230によって組み合わされる。ジョイントネットワークは次いで、
【0032】
【数5】
【0033】
を予測し、これは次の出力シンボルにわたる分布である。言い換えれば、ジョイントネットワーク230は、各出力ステップ(たとえば、時間ステップ)において、可能な音声認識仮説にわたる確率分布を生成する。ここで、「可能な音声認識仮説」は、各々が、指定された自然言語におけるシンボル/文字を表す出力ラベルのセットに対応する。たとえば、自然言語処理が英語であるとき、出力ラベルのセットは、27個のシンボルを含んでもよく、たとえば、1つのラベルが英語のアルファベットにおける26文字の各々に相当し、1つのラベルがスペースを指定する。したがって、ジョイントネットワーク230は、出力ラベルの所定のセットにおける各出力ラベルの発生尤度を示す値のセットを出力してもよい。この値のセットは、ベクトルであってもよく、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは、書記素(たとえば、個々の文字、および場合によっては句読点および他のシンボル)であるが、出力ラベルのセットはそのように限定されない。たとえば、出力ラベルのセットは、書記素に加えてまたは書記素の代わりに、ワードピースおよび/または単語全体を含むことができる。ジョイントネットワーク230の出力分布は、それぞれに異なる出力ラベルの各々についての後方確率値を含むことができる。したがって、それぞれに異なる書記素または他のシンボルを表す100個の異なる出力ラベルがある場合、ジョイントネットワーク230の出力yiは、1つが各出力ラベルに相当する、100個の異なる確率値を含むことができる。その場合、確率分布を使用してスコアを選択して、トランスクリプション120を判定するための(たとえば、ソフトマックス層240による)ビームサーチプロセスにおいて候補表記要素(たとえば、書記素、ワードピース、および/または単語)にスコアを割り当てることができる。
【0034】
ソフトマックス層240は、対応する出力ステップにおいてRNN-Tモデル200によって予測される次の出力シンボルとして分布における最高確率を有する出力ラベル/シンボルを選択するために任意の技法を使用してよい。このようにして、RNN-Tモデル200は、条件付き独立仮定を行わず、むしろ各シンボルの予測は、音響だけでなくそれまでに出力されたラベルのシーケンスを条件とされる。RNN-Tモデル200は、出力シンボルが将来の音響フレーム110から独立していると仮定せず、それによって、RNN-Tモデル200をストリーミング式に使用することができる。
【0035】
いくつかの例では、RNN-Tモデル200のエンコーダネットワーク210は、8つの2048次元LSTM層から構成され、各層に640次元投影層が後続する。他の実装形態では、エンコーダネットワーク210は、コンフォーマ層またはトランスフォーマ層のネットワークを含む。予測ネットワーク220は、2つの2048次元LSTM層を有してもよく、各2048次元LSTM層にはまた、640次元投影層ならびに128ユニットの埋め込み層が後続する。最後に、ジョイントネットワーク230はまた、640個の隠れユニットを有してもよい。ソフトマックス層240は、トレーニングデータにおけるすべての一意のワードピースまたは書記素を使用して生成される統合されたワードピースまたは書記素セットから構成されてもよい。出力シンボル/ラベルがワードピースを含むとき、出力シンボル/ラベルのセットは4096個の異なるワードピースを含んでもよい。出力シンボル/ラベルが書記素を含むとき、出力シンボル/ラベルのセットは100個未満の異なる書記素を含んでもよい。
【0036】
図3は、最終ソフトマックス層240によって出力されたN個の以前の非ブランクシンボル301a~301nに限定される非ブランクシンボルyui-n, ..., yui-1のシーケンスを入力として受信するRNN-Tモデル200の予測ネットワーク300を示す。いくつかの例では、Nは2に等しい。他の例では、Nは5に等しいが、本開示は非限定的であり、Nは任意の整数に等しくてよい。非ブランクシンボル301a~301nのシーケンスは、初期音声認識結果120a(図1)を示す。いくつかの実装形態では、予測ネットワーク300は、マルチヘッドアテンション機構302を含み、マルチヘッドアテンション機構は、その各ヘッド302A~302Hにわたって共有埋め込み行列304を共有する。一例では、マルチヘッドアテンション機構302は4つのヘッドを含む。しかし、マルチヘッドアテンション機構302によって任意の数のヘッドが使用されてもよい。特に、マルチヘッドアテンション機構は、モデルサイズを増大を最小限に抑えて性能を著しく向上させる。以下により詳細に説明するように、各ヘッド302A~302Hは、そのヘッド独自の位置ベクトルの行を含み、すべてのヘッドからの出力318A~318Hを連結することによってモデルサイズの増大を招く代わりに、出力318A~318Hはヘッド平均モジュール322によって平均化される。
【0037】
マルチヘッドアテンション機構302の第1のヘッド302Aを参照すると、ヘッド302Aは、共有埋め込み行列304を使用して、複数の時間ステップからの対応する時間ステップにおいて入力として受信される非ブランクシンボルyui-n, ..., yui-1のシーケンスのうちの各非ブランクシンボル301について対応する埋め込み表現306、306a~306n(たとえば、
【0038】
【数6】
【0039】
)を生成する。特に、共有埋め込み行列304は、マルチヘッドアテンション機構302のすべてのヘッドにわたって共有されるので、他のヘッド302B~302Hはすべて、各非ブランクシンボルについて同じ対応する埋め込み表現306を生成する。ヘッド302Aはまた、非ブランクシンボルyui-n, ..., yui-1のシーケンスにおける各対応する非ブランクシンボルにそれぞれの位置ベクトルPVAa~An308、308Aa~308An(たとえば、
【0040】
【数7】
【0041】
)を割り当てる。各非ブランクシンボルに割り当てられたそれぞれの位置ベクトルPV308は、非ブランクシンボル(たとえば、最終ソフトマックス層240によって出力されるN個の以前の非ブランクシンボル)のシーケンスの履歴における位置を示す。たとえば、第1の位置ベクトルPVAaは履歴における最新位置に割り当てられ、最後の位置ベクトルPVAnは、最終ソフトマックス層240によって出力されるN個の以前の非ブランクシンボルの履歴における最後の位置に割り当てられる。特に、埋め込み表現306の各々は、位置ベクトルPV308の各々と同じ次元(すなわち、次元サイズ)を含んでもよい。
【0042】
非ブランクシンボル301a~301n、yui-n, ..., yui-1のシーケンスのうちの各非ブランクシンボル301について共有埋め込み行列304によって生成される対応する埋め込み表現は、マルチヘッドアテンション機構302のヘッド302A~302Hのすべてにおいて同じであるが、各ヘッド302A~302Hは位置ベクトル308の異なるセット/行を画定する。たとえば、第1のヘッド302Aは位置ベクトルPVAa~An308Aa~308Anの行を画定し、第2のヘッド302Bは位置ベクトルPVBa~Bn308Ba~Bnの異なる行を画定し、第Hのヘッド302Hは位置ベクトルPVHa~Hn308Ha~Hnの別の異なる行を画定する。
【0043】
受信された非ブランクシンボル301a~301nのシーケンスにおける各非ブランクシンボルについて、第1のヘッド302Aはまた、対応する埋め込み表現306を、重み層310を介して、対応する埋め込み表現とそれに割り当てられたそれぞれの位置ベクトルPV308との間の類似度に比例して重み付けする。いくつかの例では、類似度は、コサイン類似度(たとえば、コサイン距離)を含んでもよい。図示の例では、重み層310は、各々が、割り当てられたそれぞれの位置ベクトルPV308に比例して重み付けされた対応する埋め込み表現306に関連付けられた、重み付けされた埋め込み表現312、312Aa~312Anのシーケンスを出力する。言い換えれば、各埋め込み表現306について重み層310によって出力される重み付けされた埋め込み表現312は、埋め込み表現306とそれぞれの位置ベクトルPV308との間のドット積に対応してもよい。重み付けされた埋め込み表現312は、それぞれの位置ベクトルPV308に関連付けられた位置にどれだけ類似しているかに比例した埋め込み表現に対するアテンドと解釈されてもよい。計算速度を増大させるために、予測ネットワーク300は、非反復層を含み、したがって、重み付けされた埋め込み表現312Aa~312Anのシーケンスは連結されず、その代わり加重平均モジュール316によって平均化され、次式によって表される重み付けされた埋め込み表現312Aa~312Anの加重平均318Aを第1のヘッド302Aからの出力として生成する。
【0044】
【数8】
【0045】
式1において、hはヘッド302のインデックスを表し、nは文脈における位置を表し、eは、埋め込み次元を表す。加えて、式1では、H、N、およびdeは、対応する次元のサイズを含む。位置ベクトルPV308は、訓練可能である必要はなく、ランダム値を含んでもよい。特に、重み付けされた埋め込み表現312が平均化されるにもかかわらず、位置ベクトルPV308は場合によっては、位置履歴状態を保存することができ、予測ネットワーク300の各層において回帰結合を設ける必要性を軽減させることができる。
【0046】
第1のヘッド302Aに関して上記で説明した演算は、マルチヘッドアテンション機構302の各他のヘッド302B~302Hによって同様に実行される。各ヘッド302によって位置ベクトルPV308の異なるセットが定義されることに起因して、重み層310は、第1のヘッド302Aにおける重み付けされた埋め込み表現312Aa~312Anのシーケンスとは異なる各他のヘッド302B~302Hにおける重み付けされた埋め込み表現312Ba~312Bn、312Ha~312Hnのシーケンスを出力する。その後、加重平均モジュール316は、非ブランクシンボルのシーケンスの対応する重み付けされた埋め込み表現312のそれぞれの加重平均318A~318Hを、各他の対応するヘッド302B~302Hからの出力として生成する。
【0047】
図示の例では、予測ネットワーク300は、対応するヘッド302A~302Hから出力される加重平均318A~318Hを平均化するヘッド平均モジュール322を含む。SWISHを有する投影層326は、加重平均318A~318Hの平均に対応するヘッド平均モジュール322からの出力324を入力として受信し、投影された出力328を出力として生成してもよい。最終層正規化330は、投影された出力328を正規化して、複数の時間ステップからの対応する時間ステップにおいて単一の埋め込みベクトルPui350を提供する。予測ネットワーク300は、初期時間ステップに続く複数の時間ステップの各々において単一の埋め込みベクトルPui350のみを生成する。
【0048】
いくつかの構成では、予測ネットワーク300は、マルチヘッドアテンション機構302を実装せず、第1のヘッド302Aに関して上記で説明した演算のみを実行する。これらの構成では、重み付けされた埋め込み表現312Aa~312Anの加重平均318Aを単に、投影層326および層正規化330を通過させて単一の埋め込みベクトルPui350を提供する。
【0049】
再び図2を参照すると、ジョイントネットワーク230は、予測ネットワーク300から単一の埋め込みベクトルPui350を受信し、エンコーダ210から上位特徴表現
【0050】
【数9】
【0051】
を受信する。ジョイントネットワーク230は、対応する時間ステップにおいて可能な音声認識仮説にわたる確率分布
【0052】
【数10】
【0053】
を生成する。ここで、可能な音声認識仮説は、各々が指定された自然言語における記号文字を表す出力ラベルのセットに対応する。音声認識仮説にわたる確率分布
【0054】
【数11】
【0055】
は、最終音声認識結果120b(図1)についての確率を示す。すなわち、ジョイントネットワーク230は、非ブランクシンボルのシーケンス(たとえば、初期音声認識結果120a)に基づく単一の埋め込みベクトル350を使用して最終音声認識結果120bについての確率分布を判定する。最終ソフトマックス層240は、最終音声認識結果120bについての確率分布を受信し、最高の確率を有する出力シンボル/ラベルを選択してトランスクリプションを生成する。
【0056】
RNN-Tモデル200は、初期音声認識結果120aをストリーミング式に決定し、初期音声認識結果120aからの以前の非ブランクシンボルを使用して最終音声認識結果120bを決定するので、最終音声認識結果120bは初期音声認識結果120aよりも正確であると推定される。すなわち、最終音声認識結果120bは、前の非ブランクシンボルを考慮しており、したがって、初期音声認識結果120aは前の非ブランクシンボルを考慮していないので、最終音声認識結果120bはより正確であると推定される。さらに、リスコアラ180(図1)は、最終音声認識結果120bによって初期音声認識結果120aを更新してユーザインターフェース生成器107を介してトランスクリプション120をユーザ104に提供してもよい。
【0057】
いくつかの実装形態では、RNN-Tデコーダ、すなわち、予測ネットワーク300およびジョイントネットワーク230のサイズをさらに縮小するために、予測ネットワーク300とジョイントネットワーク230との間のパラメータタイイングが適用される。具体的には、語彙サイズ|V|および埋め込み次元deについて、予測ネットワークにおける共有埋め込み行列304は
【0058】
【数12】
【0059】
である。一方、最後の隠れ層は、ジョイントネットワーク230における次元サイズdhを含み、隠れ層から出力ロジットへのフィードフォワード投影重みは
【0060】
【数13】
【0061】
であり、語彙に余分なブランクトークンが含まれる。したがって、ジョイントネットワーク230の最後の層に対応するフィードフォワード層は重み行列[dh, |V]|を含む。予測ネットワーク300に埋め込み次元deのサイズをジョイントネットワーク230の最後の隠れ層の次元dhにタイイングさせることによって、ジョイントネットワーク230のフィードフォワード投影重みおよび予測ネットワーク300の共有埋め込み行列304は、それらの重みを単純なトランスポーズ変換を介してすべての非ブランクシンボルについて共有することができる。2つの行列がすべてのそれらの値を共有するので、RNN-Tデコーダは、2つの個々の行列を記憶する代わりに、値をメモリに一度記憶するだけでよい。埋め込み次元deのサイズを隠れ層次元dhのサイズに等しく設定することによって、RNN-Tデコーダは、パラメータの数を埋め込み次元deと語彙サイズ|V|の積に等しい値に減少させる。この重みタイイングは正則化技法に対応する。
【0062】
図4は、ワードエラー率(WER)対RNN-Tデコーダのパラメータの数を示すプロットである。ここで、図4のプロット400は、WER対タイイングされたRNN-Tデコーダ410についてのパラメータの数(実線で示されている)、タイイングされていないRNN-Tデコーダ420についてのパラメータの数(点線で示されている)、および長-短期メモリ(LSTM)ネットワーク430(破線で示されている)を示す。具体的には、プロット400は、タイイングされた出力および埋め込み表現を有する予測ネットワーク300およびジョイントネットワーク230のサイズならびにタイイングされた出力および埋め込み表現を有さない予測ネットワーク300およびジョイントネットワーク230のサイズを示す。プロット400は、モデルサイズにわたるスイープを実施するように変化する埋め込み次元deを示す。図4に示すように、タイイングされていないRNN-Tデコーダ420は、64、320、640、960、および1280の埋め込み次元deを含む5つの測定値を含む。ここで、タイイングされたRNN-Tデコーダ410は、640、960、および1280の埋め込み次元を含む3つの測定値を含む。タイイングされていないRNN-Tデコーダ420の場合、ジョイントネットワーク230の最後の隠れ層は常に、サイズ640の次元dhを含む(次元dhはプロット400には示されていない)。タイイングされたRNN-Tデコーダ410の場合、プロット400はまた、RNN-Tデコーダのサイズおよび性能が最後の隠れ層の次元の変化の影響をより受けるように、ジョイントネットワーク230の最後の隠れ層の次元dh(次元dhはプロット400には示されていない)が予測ネットワーク300の埋め込み次元deのサイズに等しくなっていることを示す。したがって、プロット400によって示されている結果は、重みタイイングはパラメータ効率がより高く、それによって、より少ないパラメータによってより優れた性能が実現されることを示している。加えて、重みタイイングを使用した十分に大きいモデルでは、LSTMネットワーク430を使用した従来のRNN-Tデコーダと同じワードエラー率に達する。
【0063】
図5は、タイイングされ縮小されたRNN-Tモデル200を実行するためのコンピュータ実装方法500についての動作の例示的な構成のフローチャートである。初期時間ステップに続く複数の時間ステップの各々において、方法500は動作502~512を実行する。方法500は、動作502において、回帰型ニューラルネットワークトランスデューサRNN-Tモデル200の予測ネットワーク300への入力として、最終ソフトマックス層240によって出力された非ブランクシンボル301、301a~301n yui-n, ..., yui-1のシーケンスを受信することを含む。方法500は、対応する時間ステップの間に入力として受信される非ブランクシンボルのシーケンスにおける各非ブランクシンボルについて、動作504~508を実行する。方法500は、動作504において、予測ネットワーク300によって、共有埋め込み行列304を使用して、対応する非ブランクシンボルの埋め込み表現306を生成することを含む。方法500は、動作506において、予測ネットワーク300によって、それぞれの位置ベクトルPVAa~An308、308Aa~308Anを対応する非ブランクシンボルに割り当てることを含む。方法500は、動作508において、予測ネットワーク300によって、埋め込み表現306を、埋め込み表現306とそれぞれの位置ベクトル308との間の類似度に比例して重み付けすることを含む。
【0064】
方法500は、動作510において、対応する時間ステップにおける単一の埋め込みベクトル350を予測ネットワーク300からの出力として生成することを含む。ここで、単一の埋め込みベクトル350は、重み付けされた埋め込み表現312Aa~312Anの加重平均318A~318Hに基づく。方法500は、動作512において、RNN-Tモデル200のジョイントネットワーク230によって、対応する時間ステップにおける予測ネットワーク300からの出力として生成された単一の埋め込みベクトル350を使用して、対応する時間ステップにおける可能な音声認識仮説にわたる確率分布
【0065】
【数14】
【0066】
を生成することを含む。
【0067】
図6は、本文献において説明するシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。ここで示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本文献で説明および/または請求される発明の実装形態を限定するものではない。
【0068】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶デバイス630と、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640と、低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に搭載されるか、または適宜他の方法で搭載されてもよい。プロセッサ610は、メモリ620内または記憶デバイス630上に記憶された命令を含む、コンピューティングデバイス600内で実行される命令を処理して、高速インターフェース640に結合されたディスプレイ680などの外部入出力デバイス上にグラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を表示する。他の実装形態では、適宜、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが使用されてもよい。また、複数のコンピューティングデバイス600が、必要な動作の一部を提供する各デバイスに(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)接続されてもよい。
【0069】
メモリ620は、コンピューティングデバイス600内に非一時的に情報を記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または非揮発性メモリユニットであってもよい。非一時的メモリ620は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)をコンピューティングデバイス600によって使用するために一時的または永続的に記憶するために使用される物理デバイスであってもよい。非揮発的メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去プログラム可能型読取り専用メモリ(EPROM)/電子的消去プログラム可能型読取り専用メモリ(EEPROM)(たとえば、一般に、ブートプログラムなどのファームウェアに使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0070】
記憶デバイス630は、コンピューティングデバイス600用の大容量記憶装置を提供することができる。いくつかの実装形態では、記憶デバイス630は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス630は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリ、もしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイであってもよい。追加の実装形態では、コンピュータプログラム製品は、情報担体において実体的に具体化される。コンピュータプログラム製品は、実行されたときに、上述のような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ620、記憶デバイス630、またはプロセッサ610上のメモリなどのコンピュータまたは機械可読媒体である。
【0071】
高速コントローラ640は、コンピューティングデバイス600用の帯域幅集約的動作を管理し、低速コントローラ660はより低い帯域幅の集約的動作を管理する。そのようなデューティの割振りは例示的なものにすぎない。いくつかの実装形態では、高速コントローラ640は、メモリ620に結合され、(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)ディスプレイ680に結合され、かつ様々な拡張カード(図示せず)を受け入れ得る高速拡張ポートに結合される。いくつかの実装形態では、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に結合される。低速拡張ポート690は、様々な通信ポート(たとえば、USB、Bluetooth、Ethernet、ワイヤレスEthernet)を含んでもよく、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つまたは複数の入出力デバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【0072】
コンピューティングデバイス600は、図示するように、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス600は、標準的なサーバ600aとして実装されても、もしくはそのようなサーバ600aのグループに複数回実装されてもよく、またはラップトップコンピュータ600bとして実装されてもよく、またはラックサーバシステム600cの一部として実装されてもよい。
【0073】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態には、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能であり、かつ/または解釈可能である1つまたは複数のコンピュータプログラムにおける実装を含めることができ、このプロセッサは、専用または汎用であってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令の受信および送信を行うように結合されてもよい。
【0074】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」または「プログラム」と呼ばれることがある。例示的なアプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、文書作成アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【0075】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている)は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型言語および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語で実装することができる。本明細書では、「機械可読媒体」および「コンピュータ可読媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械命令を機械可読信号として受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータをプログラム可能プロセッサに提供するために使用される任意の信号を指す。
【0076】
本明細書で説明するプロセスおよびロジックフローは、1つまたは複数のプログラマブルプロセッサによって実行することができ、これらのプログラマブルプロセッサは、データ処理ハードウェアとも呼ばれ、1つまたは複数のコンピュータプログラムを実行して、入力データを処理して出力を生成することによって機能を実行する。プロセスおよびロジックフローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムを実行するのに適したプロセッサには、一例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの基本的な要素は、命令を実行するためのプロセッサならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含み、それらのデバイスからデータを受信し、それらのデバイスにデータを転送し、またはその両方を行うように動作可能に結合される。しかし、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、一例として半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の非揮発メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補助するか、または専用論理回路に組み込むことができる。
【0077】
ユーザとの対話を可能にするには、本開示の1つまたは複数の態様を、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)、モニタ、またはタッチスクリーン、および場合によっては、キーボードおよびユーザがコンピュータに入力を提供することができるポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装することができる。他の種類のデバイスを使用してユーザとの対話を可能にすることもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力を音響、発話、または触覚入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザによって使用されるデバイスとの間で文書を送受信し、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザと対話することができる。
【0078】
いくつかの実装形態について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱せずに様々な修正を施してもよいことが理解されよう。したがって、他の実装形態は以下の特許請求の範囲の範囲内である。
【符号の説明】
【0079】
10 ユーザデバイス
12 データ処理ハードウェア
14 メモリハードウェア
16、16a オーディオキャプチャデバイス
16、16b 音声出力デバイス
19 応答
40 ネットワーク
50 デジタルアシスタントアプリケーション
60 リモートコンピューティングデバイス
100 発話環境
104 ユーザ
106 発話
107 ユーザインターフェース生成器
108 オーディオサブシステム
110 音響フレーム
118 ASRシステム
120 トランスクリプション
120a、120b 音声認識結果
170 ユーザインターフェース生成器
180 リスコアラ
200 回帰型ニューラルネットワークトランスデューサRNN-Tモデル
210 エンコーダネットワーク
230 ジョイントネットワーク
240 最終ソフトマックス層
300 予測ネットワーク
301 非ブランクシンボル
302 マルチヘッドアテンション機構
302A~302H ヘッド
302B~302H 他のヘッド
304 共有埋め込み行列
306、306a~306n 埋め込み表現
308、308Aa~308An 位置ベクトル
310 重み層
312、312Aa~312An 重み付けされた埋め込み表現
316 加重平均モジュール
318A~318H 出力
322 ヘッド平均モジュール
324 出力
326 投影層
328 投影された出力
350 埋め込みベクトル
400 プロット
410 タイイングされたRNN-Tデコーダ
420 タイイングされていないRNN-Tデコーダ
500 方法
600 コンピューティングデバイス
600a サーバ
600b ラップトップコンピュータ
600c ラックサーバシステム
610 プロセッサ
620 メモリ
630 記憶デバイス
640 高速インターフェース/コントローラ
650 高速拡張ポート
660 低速インターフェース/コントローラ
670 低速バス
680 ディスプレイ
690 低速拡張ポート
図1
図2
図3
図4
図5
図6
【国際調査報告】