(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-07
(54)【発明の名称】半教師付き音声認識のための対照シャムネットワーク
(51)【国際特許分類】
G10L 15/16 20060101AFI20241030BHJP
【FI】
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024519720
(86)(22)【出願日】2021-12-14
(11)【特許番号】
(45)【特許公報発行日】2024-10-29
(85)【翻訳文提出日】2024-05-28
(86)【国際出願番号】 US2021063417
(87)【国際公開番号】W WO2023055410
(87)【国際公開日】2023-04-06
(32)【優先日】2021-09-30
(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)【発明者】
【氏名】チエン・ジャン
(57)【要約】
方法(400)は、対応する転写(308)とペアにされていない、発話された発声(106)に対応する複数のラベルなしオーディオサンプル(303)を受信するステップを含む。対照シャムネットワーク(300)の目標分岐(310)において、方法はまた、複数のラベルなしオーディオサンプルに対するエンコーダ出力(312)のシーケンスを生成するステップと、目標分岐出力(316)のシーケンスを生成するように、エンコーダ出力の時間特性を修正するステップとを含む。対照シャムネットワークの拡張分岐(320)において、方法はまた、ラベルなしオーディオサンプルに対して拡張を実施するステップと、拡張されたラベルなしオーディオサンプルに対する拡張されたエンコーダ出力(326)のシーケンスを生成するステップと、目標分岐において生成された目標分岐出力のシーケンスの予測(329)を生成するステップとを含む。方法はまた、教師なし損失項(330)を決定するステップと、教師なし損失項に基づいてオーディオエンコーダのパラメータを更新するステップとを含む。
【特許請求の範囲】
【請求項1】
音声認識モデル(200)をトレーニングするための対照シャムネットワーク(300)であって、前記対照シャムネットワークは、対応する転写(308)とペアにされていない、発話された発声(106)に対応する複数のラベルなしオーディオサンプル(303)でトレーニングされた教師なしサブネットワーク(302)を備え、
前記教師なしサブネットワーク(302)は、
前記音声認識モデル(200)のオーディオエンコーダ(210)への入力として、前記ラベルなしオーディオサンプル(303)から抽出された音響フレーム(304)のシーケンスを受信することと、
複数の時間ステップの各々において、対応する時間ステップにおいて前記オーディオエンコーダ(210)に入力された前記音響フレーム(304)のシーケンスの中の対応する音響フレーム(304)に対する目標分岐出力(316)を生成することと
を行うように構成された目標分岐(310)と、
前記ラベルなしオーディオサンプル(303)から抽出された前記音響フレーム(304)のシーケンスに対して拡張を実施して、拡張された音響フレーム(304A)のシーケンスを生成することと、
前記複数の時間ステップの各々において、前記オーディオエンコーダ(210)からの出力として、前記拡張された音響フレーム(304A)のシーケンスの中の対応する拡張された音響フレーム(304A)に対する高次特徴表現(326)を生成することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおいて前記オーディオエンコーダ(210)から出力された前記高次特徴表現(326)を使って、前記対応する時間ステップにおいて前記目標分岐(310)によって生成された前記目標分岐出力(316)の予測(329)を生成することと
を行うように構成された、拡張された分岐(320)と
を備え、
前記教師なしサブネットワーク(302)は、
前記複数の時間ステップの各々において、前記対応する時間ステップにおいて前記目標分岐(310)によって生成された前記目標分岐出力(316)、および前記対応する時間ステップにおいて前記拡張された分岐(320)によって生成された、前記目標分岐(310)出力の前記予測(329)に基づいて、教師なし損失項(330)を決定することと、
前記複数の時間ステップの各々において決定された前記教師なし損失項(330)に基づいて、前記オーディオエンコーダ(210)のパラメータを更新することと
を行うように構成される、対照シャムネットワーク(300)。
【請求項2】
前記教師なし損失項(330)は対照損失項を含む、請求項1に記載の対照シャムネットワーク(300)。
【請求項3】
前記音響フレーム(304)のシーケンスに対して実施される前記拡張は、時間修正およびマスキングを含む、請求項1または2に記載の対照シャムネットワーク(300)。
【請求項4】
前記目標分岐(310)は、
複数の時間ステップの各々において、前記オーディオエンコーダ(210)からの出力として、前記対応する時間ステップにおいて前記オーディオエンコーダ(210)に入力された前記音響フレーム(304)のシーケンスの中の前記対応する音響フレーム(304)に対する高次特徴表現(312)を生成するようにさらに構成され、
前記目標分岐(310)は、
前記高次特徴表現(312)の時間特性を修正することによって、前記対応する音響フレーム(304)に対する前記目標分岐出力(316)を生成するように構成される、請求項1から3のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項5】
前記高次特徴表現(312)の前記時間特性を修正することは、前記複数の時間ステップの各々において、前記対応する音響フレーム(304)に対する、前記オーディオエンコーダ(210)からの出力として生成された前記高次特徴表現(312)の前記時間特性を、前記対応する時間ステップにおいて、前記対応する拡張された音響フレーム(304A)に対する、前記オーディオエンコーダ(210)からの出力として生成された前記高次特徴表現(312)に関連付けられた時間特性と一致するように修正することを含む、請求項4に記載の対照シャムネットワーク(300)。
【請求項6】
前記拡張された分岐(320)は、前記複数の時間ステップの各々において、
入力として、前記対応する時間ステップにおいて前記オーディオエンコーダ(210)から出力された前記高次特徴表現(326)を受信することと、
出力として、前記対応する時間ステップにおいて前記目標分岐(310)によって生成された前記目標分岐出力(316)の前記予測(329)を生成することと
を行うように構成されたトランスフォーマレイヤの予測ネットワーク(328)を備える、請求項1から5のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項7】
対応する転写(308)とペアにされた、発話された発声(106)に対応する複数のラベル付きオーディオサンプル(305)でトレーニングされた教師付きサブネットワーク(301)をさらに備え、
前記教師付きサブネットワーク(301)は、
各ラベル付きオーディオサンプル(305)に対する複数の出力ステップの各々において、
前記音声認識モデル(200)を使って、前記ラベル付きオーディオサンプル(305)についての対応する音声認識結果(342)を生成し、
前記ラベル付きオーディオサンプル(305)についての前記対応する音声認識結果(342)、および前記ラベル付きオーディオサンプル(305)の前記対応する転写(308)に基づいて、教師付き損失項(350)を決定することと、
前記複数のラベル付きオーディオサンプル(305)の中の各ラベル付きオーディオサンプル(305)に対する前記複数の出力ステップの各々において決定された前記教師付き損失項(350)に基づいて、前記音声認識モデル(200)のパラメータを更新することと
を行うように構成される、請求項1から6のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項8】
前記音声認識モデル(200)を使って前記ラベル付きオーディオサンプル(305)について生成された前記対応する音声認識結果(342)は、対応する出力ステップにおける、前記ラベル付きオーディオサンプル(305)についての可能な音声認識仮説に関する確率分布を含む、請求項7に記載の対照シャムネットワーク(300)。
【請求項9】
前記教師付きサブネットワーク(301)は、前記教師なしネットワーク(302)が前記音声認識モデル(200)の前記オーディオエンコーダ(210)の前記パラメータを更新したことに依存せずに、前記教師付き損失項(350)に基づいて前記音声認識モデル(200)の前記パラメータを更新するように構成される、請求項7または8に記載の対照シャムネットワーク(300)。
【請求項10】
前記教師付きサブネットワーク(301)は、前記音声認識モデル(200)に入力された前記複数のラベル付きオーディオサンプル(305)の中の前記ラベル付きオーディオサンプル(305)の少なくとも1つにデータ拡張を適用するようにさらに構成される、請求項7から9のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項11】
前記適用されるデータ拡張は、ノイズを追加すること、残響を追加すること、またはタイミングを操作することのうちの少なくとも1つを含む、請求項10に記載の対照シャムネットワーク(300)。
【請求項12】
前記トレーニングされた音声認識モデル(200)は、トランスフォーマトランスデューサ(T-T)モデル(200)を含み、
前記T-Tモデル(200)は、
発話された発声(106)を特徴づけるオーディオデータから抽出された音響フレーム(110)のシーケンスを、入力として受信することと、
複数の時間ステップの各々において、前記音響フレーム(110)のシーケンスの中の対応する音響フレーム(110)に対する高次特徴表現(ah
t)を生成することと
を行うように構成された前記オーディオエンコーダ(210)と、
最終ソフトマックスレイヤ(240)によって出力された非ブランクシンボル(y
ui-1)のシーケンスを、入力として受信することと、
前記複数の時間ステップの各々において、密な表現(ih
u)を生成することと
を行うように構成されたラベルエンコーダ(220)と、
前記複数の時間ステップの各々において前記オーディオエンコーダ(210)によって生成された前記高次特徴表現(ah
t)、および前記複数の時間ステップの各々において前記ラベルエンコーダ(220)によって生成された前記密な表現(ih
u)を、入力として受信することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説に関する確率分布242を生成することと
を行うように構成された共同ネットワーク(230)と
を備え、
前記オーディオエンコーダ(210)は、ストライド畳込みレイヤおよびトランスフォーマレイヤのスタックを有するニューラルネットワークを備える、請求項1から11のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項13】
データ処理ハードウェア(12)上で実行されると、前記データ処理ハードウェア(12)に動作を実行させる、コンピュータにより実施される方法(400)であって、前記動作は、
対応する転写(308)とペアにされていない、発話された発声(306)に対応する複数のラベルなしオーディオサンプル(303)を受信することと、
対照シャムネットワーク(300)の目標分岐(310)において、
音声認識モデル(200)のオーディオエンコーダ(210)を使って、前記複数のラベルなしオーディオサンプル(303)に対するエンコーダ出力(312)のシーケンスを生成すること、および
目標分岐出力(316)のシーケンスを生成するように、前記エンコーダ出力(312)の時間特性を修正することと、
前記対照シャムネットワーク(300)の拡張分岐(320)において、
前記ラベルなしオーディオサンプル(303)に対して拡張を実施すること、
前記音声認識モデル(200)の前記オーディオエンコーダ(210)を使って、前記拡張されたラベルなしオーディオサンプル(304A)に対する拡張されたエンコーダ出力(326)のシーケンスを生成すること、および
前記拡張されたエンコーダ出力(326)のシーケンスを受信するように構成された予測ネットワーク(328)を使って、前記目標分岐(310)において生成された前記目標分岐出力(316)のシーケンスの予測(329)を生成することと、
前記目標分岐(310)において生成された前記目標分岐出力(316)、および前記拡張分岐(320)において生成された前記目標分岐出力(316)のシーケンスの前記予測(329)に基づいて、教師なし損失項(330)を決定することと、
前記教師なし損失項(330)に基づいて、前記オーディオエンコーダ(210)のパラメータを更新することと
を含む、コンピュータにより実施される方法(400)。
【請求項14】
前記教師なし損失項(330)は対照損失項を含む、請求項13に記載のコンピュータにより実施される方法(400)。
【請求項15】
前記ラベルなしオーディオサンプル(303)に対して拡張を実施することは、前記ラベルなしオーディオサンプル(303)に対して時間修正およびマスキングを実施することを含む、請求項13または14に記載のコンピュータにより実施される方法(400)。
【請求項16】
前記動作は、前記オーディオエンコーダ(210)からの出力として、前記複数のラベルなしオーディオサンプル(303)に対する高次特徴表現を生成することをさらに含む、請求項13から15のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項17】
前記目標分岐出力(316)のシーケンスを生成するように前記エンコーダ出力(312)の前記時間特性を修正することは、前記オーディオエンコーダ(210)からの出力として生成された前記エンコーダ出力(312)の前記時間特性を、前記オーディオエンコーダ(210)からの前記拡張されたエンコーダ出力(326)のシーケンスに関連付けられた時間特性と一致するように修正することを含む、請求項16に記載のコンピュータにより実施される方法(400)。
【請求項18】
前記動作は、
前記拡張された分岐(320)のトランスフォーマレイヤの予測ネットワーク(328)への入力として、前記拡張されたエンコーダ出力(326)のシーケンスを受信することと、
前記拡張された分岐(320)のトランスフォーマレイヤの前記予測ネットワーク(328)からの出力として、前記目標分岐(310)において生成された前記目標分岐出力(316)のシーケンスの前記予測(329)を生成することと
をさらに含む、請求項13から17のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項19】
前記動作は、
対応する転写(308)とペアにされた、発話された発声(306)に対応する複数のラベル付きオーディオサンプル(305)を受信することと、
前記音声認識モデル(200)を使って、前記ラベル付きオーディオサンプル(305)についての音声認識結果(342)を生成することと、
前記ラベル付きオーディオサンプル(305)についての前記音声認識結果(342)、および前記ラベル付きオーディオサンプル(305)の前記対応する転写(308)に基づいて、教師付き損失項(350)を決定することと、
前記教師付き損失項(350)に基づいて、前記音声認識モデル(200)のパラメータを更新することと
をさらに含む、請求項13から18のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項20】
前記音声認識モデル(200)を使って、前記ラベル付きオーディオサンプル(305)について生成された前記音声認識結果(342)は、対応する出力ステップにおける、前記ラベル付きオーディオサンプル(305)についての可能な音声認識仮説に関する確率分布を含む、請求項19に記載のコンピュータにより実施される方法(400)。
【請求項21】
前記動作は、前記教師なし損失項(330)に基づいて前記オーディオエンコーダ(210)のパラメータを更新したことに依存せずに、前記教師付き損失(350)項に基づいて、前記音声認識モデル(200)のパラメータを更新することをさらに含む、請求項19または20に記載のコンピュータにより実施される方法(400)。
【請求項22】
前記動作は、前記ラベル付きオーディオサンプル(305)のうちの少なくとも1つにデータ拡張を適用することをさらに含む、請求項19から21のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項23】
データ拡張を適用することは、ノイズを追加すること、残響を追加すること、またはタイミングを操作することのうちの少なくとも1つを含む、請求項22に記載のコンピュータにより実施される方法(400)。
【請求項24】
前記音声認識モデル(200)は、トランスフォーマトランスデューサ(T-T)モデル(200)を含み、
前記動作は、
前記T-Tモデル(200)の前記オーディオエンコーダ(210)への入力として、対応する転写(308)とペアにされていない、発話された発声(306)に対応する複数のラベルなしオーディオサンプル(303)を受信することと、
前記オーディオエンコーダ(210)によって、複数の時間ステップの各々において、発話された発声(106)を特徴づけるオーディオデータから抽出された音響フレーム(ah
t)のシーケンスを生成することと、
前記T-Tモデル(200)のラベルエンコーダ(220)への入力として、最終ソフトマックスレイヤ(240)によって出力された非ブランクシンボル(y
ui-1)のシーケンスを受信することと、
前記ラベルエンコーダ(220)によって、前記複数の時間ステップの各々において、密な表現(ih
u)を生成することと、
前記T-Tモデル(200)の共同ネットワーク(230)への入力として、前記複数の時間ステップの各々において前記オーディオエンコーダ(210)によって生成された前記高次特徴表現、および前記複数の時間ステップの各々において前記ラベルエンコーダ(220)によって生成された前記密な表現(ah
t)を受信することと、
前記共同ネットワーク(230)によって、前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説に関する確率分布(242)を生成することと
をさらに含み、
前記オーディオエンコーダ(210)は、ストライド畳込みレイヤおよびトランスフォーマレイヤのスタックを有するニューラルネットワークを備える、請求項13から23のいずれか一項に記載のコンピュータにより実施される方法(400)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半教師付き音声認識のための対照シャムネットワークに関する。
【背景技術】
【0002】
自動音声認識(ASR)システムは、オーディオ入力を受け取り、オーディオ入力をテキストに転写することによって、人が言ったことの正確な転写を与えることを試みる。多くの事例において、オーディオデータおよび対応する転写を含む、大量のラベル付きトレーニングデータでASRシステムをトレーニングするのに、教師付き学習が使われる。ただし、ASRシステムをトレーニングするのに要する大量のラベル付きトレーニングデータを取得するのは、大規模なラベル付きトレーニングデータセットの収集に関連した所要時間量、コスト、および/またはプライバシーの問題のせいで、しばしば困難である。オーディオデータのみを含むラベルなしトレーニングデータを使ってASRシステムをトレーニングすることで、大量のラベル付きトレーニングデータを収集することの問題点のいくつかを軽減することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願第17/210,465号
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、音声認識モデルをトレーニングするための対照シャムネットワークを提供する。対照シャムネットワークは、どの対応する転写ともペアにされていない、発話された発声に対応する複数のラベルなしオーディオサンプルでトレーニングされた教師なしサブネットワークを含む。教師なしサブネットワークは、ラベルなしオーディオサンプルから抽出された音響フレームのシーケンスを、音声認識モデルのオーディオエンコーダへの入力として受信することと、複数の時間ステップの各々において、対応する時間ステップにおいてオーディオエンコーダに入力された音響フレームのシーケンスの中の対応する音響フレームに対する目標分岐出力を生成することとを行うように構成された目標分岐を含む。教師なしサブネットワークは、ラベルなしオーディオサンプルから抽出された音響フレームのシーケンスに対して拡張を実施して、拡張された音響フレームのシーケンスを生成することと、複数の時間ステップの各々において、拡張された音響フレームのシーケンスの中の、対応する拡張された音響フレームに対する高次特徴表現を、オーディオエンコーダからの出力として生成することと、複数の時間ステップの各々において、対応する時間ステップにおいて、オーディオエンコーダから出力された高次特徴表現を使って、対応する時間ステップにおいて目標分岐によって生成された目標分岐出力の予測を生成することとを行うように構成された、拡張された分岐も含む。教師なしサブネットワークは、複数の時間ステップの各々において、対応する時間ステップにおいて目標分岐によって生成された目標分岐出力と、対応する時間ステップにおいて、拡張された分岐によって生成された、目標分岐出力の予測とに基づいて、教師なし損失項を決定するように構成される。ここで、教師なしサブネットワークは、複数の時間ステップの各々において決定された教師なし損失項に基づいて、オーディオエンコーダのパラメータを更新するようにも構成される。
【0005】
本開示の実装形態は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、教師なし損失項は対照損失項を含む。音響フレームのシーケンスに対して実施される拡張は、時間修正およびマスキングを含み得る。いくつかの例では、目標分岐は、複数の時間ステップの各々において、オーディオエンコーダからの出力として、対応する時間ステップにおいてオーディオエンコーダに入力された音響フレームのシーケンス中の対応する音響フレームに対する高次特徴表現を生成するようにさらに構成される。ここで、目標分岐は、高次特徴表現の時間特性を修正することによって、対応する音響フレームに対する目標分岐出力を生成するように構成される。これらの例において、高次特徴表現の時間特性を修正することは、複数の時間ステップの各々において、対応する音響フレームに対する、オーディオエンコーダからの出力として生成された高次特徴表現の時間特性を、対応する時間ステップにおいて、対応する拡張された音響フレームに対する、オーディオエンコーダからの出力として生成された高次特徴表現に関連付けられた時間特性と一致するように修正することを含み得る。
【0006】
いくつかの実装形態では、拡張された分岐は、複数の時間ステップの各々において、対応する時間ステップにおいてオーディオエンコーダから出力された高次特徴表現を入力として受信することと、対応する時間ステップにおいて目標分岐によって生成された目標分岐出力の予測を出力として生成することとを行うように構成されたトランスフォーマレイヤの予測ネットワークを含む。いくつかの例では、対照シャムネットワークは、対応する転写とペアにされた、発話された発声に対応する複数のラベル付きオーディオサンプルでトレーニングされた教師付きサブネットワークを含む。これらの例では、各ラベル付きオーディオサンプル向けの複数の出力ステップの各々において、教師付きサブネットワークは、音声認識モデルを使って、ラベル付きオーディオサンプルについての対応する音声認識結果を生成し、ラベル付きオーディオサンプルについての対応する音声認識結果、およびラベル付きオーディオサンプルの対応する転写に基づいて、教師付き損失項を決定するように構成される。ここで、教師付きサブネットワークは、複数のラベル付きオーディオサンプルの中の各ラベル付きオーディオサンプル向けの複数の出力ステップの各々において決定された教師付き損失項に基づいて、音声認識モデルのパラメータを更新する。
【0007】
音声認識モデルを使って、ラベル付きオーディオサンプルについて生成された対応する音声認識結果は、対応する出力ステップにおける、ラベル付きオーディオサンプルについての可能な音声認識仮説に関する確率分布を含み得る。いくつかの例では、教師付きサブネットワークは、教師なしネットワークが音声認識モデルのオーディオエンコーダのパラメータを更新したことに依存せずに、教師付き損失項に基づいて、音声認識モデルのパラメータを更新するように構成される。他の例では、教師付きサブネットワークは、音声認識モデルに入力された複数のラベル付きオーディオサンプルの中のラベル付きオーディオサンプルのうちの少なくとも1つにデータ拡張を適用するようにさらに構成される。これらの他の例では、適用されるデータ拡張は、ノイズを追加すること、残響を追加すること、またはタイミングを操作することのうちの少なくとも1つを含む。
【0008】
いくつかの実装形態では、トレーニングされた音声認識モデルは、入力として、発話された発声を特徴づけるオーディオデータから抽出された音響フレームのシーケンスを受信するとともに、複数の時間ステップの各々において、音響フレームのシーケンスの中の対応する音響フレームに対する高次特徴表現を生成するように構成されたオーディオエンコーダを含むトランスフォーマトランスデューサ(T-T)モデルを含む。これらの実装形態において、T-Tモデルはまた、最終ソフトマックスレイヤによって出力された非ブランクシンボルのシーケンスを入力として受信し、複数の時間ステップの各々において、密な表現を生成するように構成されたラベルエンコーダと、入力として、複数の時間ステップの各々においてオーディオエンコーダによって生成された高次特徴表現、および複数の時間ステップの各々においてラベルエンコーダによって生成された密な表現を受信し、複数の時間ステップの各々において、対応する時間ステップにおける可能な音声認識仮説に関する確率分布を生成するように構成された共同ネットワークとを含む。ここで、オーディオエンコーダは、ストライド畳込みレイヤおよびトランスフォーマレイヤのスタックを有するニューラルネットワークを含む。
【0009】
本開示の別の態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、対照シャムネットワークを使って音声認識モデルをトレーニングするための動作を実施させる、コンピュータにより実施される方法を提供する。動作は、対応する転写とペアにされていない、発話された発声に対応する複数のラベルなしオーディオサンプルを受信することを含む。対照シャムネットワークの目標分岐において、動作は、音声認識モデルのオーディオエンコーダを使って、複数のラベルなしオーディオサンプルに対するエンコーダ出力のシーケンスを生成することと、目標分岐出力のシーケンスを生成するように、エンコーダ出力の時間特性を修正することとを含む。対照シャムネットワークの拡張分岐において、動作は、ラベルなしオーディオサンプルに対して拡張を実施することと、音声認識モデルのオーディオエンコーダを使って、拡張されたラベルなしオーディオサンプルに対する拡張されたエンコーダ出力のシーケンスを生成することと、拡張されたエンコーダ出力のシーケンスを受信するように構成された予測ネットワークを使って、目標分岐において生成された目標分岐出力のシーケンスの予測を生成することとを含む。動作は、目標分岐において生成された目標分岐出力と、拡張分岐において生成された分岐出力の目標シーケンスの予測とに基づいて、教師なし損失項を決定することも含む。動作は、教師なし損失に基づいてオーディオエンコーダのパラメータを更新することも含む。
【0010】
本開示の実装形態は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、教師なし損失項は対照損失項を含む。ラベルなしオーディオサンプルに対して拡張を実施することは、ラベルなしオーディオサンプルに対して時間修正およびマスキングを実施することを含み得る。いくつかの例では、動作は、複数のラベルなしオーディオサンプルに対する高次特徴表現を、オーディオエンコーダからの出力として生成することをさらに含む。これらの例において、目標分岐出力のシーケンスを生成するようにエンコーダ出力の時間特性を修正することは、オーディオエンコーダからの出力として生成されたエンコーダ出力の時間特性を、オーディオエンコーダからの拡張されたエンコーダ出力のシーケンスに関連付けられた時間特性と一致するように修正することを含む。いくつかの実装形態では、動作は、拡張されたエンコーダ出力のシーケンスを、拡張された分岐のトランスフォーマレイヤの予測ネットワークへの入力として受信することと、拡張された分岐のトランスフォーマレイヤの予測ネットワークからの出力として、目標分岐において生成された目標分岐出力のシーケンスの予測を生成することとをさらに含む。
【0011】
いくつかの例では、動作は、対応する転写とペアにされた、発話された発声に対応する複数のラベル付きオーディオサンプルを受信することと、音声認識モデルを使って、ラベル付きオーディオサンプルについての音声認識結果を生成することと、ラベル付きオーディオサンプルについての音声を発した結果およびラベル付きオーディオサンプルの対応する転写に基づいて、教師付き損失項を決定することと、教師付き損失項に基づいて音声認識モデルのパラメータを更新することとをさらに含む。これらの例において、動作は、教師なし損失項に基づいてオーディオエンコーダのパラメータを更新したことに依存せずに、教師付き損失項に基づいて、音声認識モデルのパラメータを更新することをさらに含み得る。任意選択で、動作は、ラベル付きオーディオサンプルのうちの少なくとも1つにデータ拡張を適用することをさらに含む。ここで、データ拡張を適用することは、ノイズを追加すること、残響を追加すること、またはタイミングを操作することのうちの少なくとも1つを含み得る。
【0012】
いくつかの実装形態では、音声認識モデルはトランスフォーマトランスデューサ(T-T)モデルを含み、動作は、対応する転写とペアにされていない、発話された発声に対応する複数のラベルなしオーディオサンプルを、T-Tモデルのオーディオエンコーダへの入力として受信することと、複数の時間ステップの各々において、オーディオエンコーダによって、発話された発声を特徴づけるオーディオデータから抽出された音響フレームのシーケンスを生成することと、最終ソフトマックスレイヤによって出力された非ブランクシンボルのシーケンスを、T-Tモデルのラベルエンコーダへの入力として受信することと、ラベルエンコーダによって、複数の時間ステップの各々において密な表現を生成することとをさらに含む。これらの実装形態において、動作はまた、T-Tモデルの共同ネットワークへの入力として、複数の時間ステップの各々においてオーディオエンコーダによって生成された高次特徴表現、および複数の時間ステップの各々においてラベルエンコーダによって生成された密な表現を受信することと、共同ネットワークによって、複数の時間ステップの各々において、対応する時間ステップにおける可能な音声認識仮説に関する確率分布を生成することとを含む。ここで、オーディオエンコーダは、ストライド畳込みレイヤおよびトランスフォーマレイヤのスタックを有するニューラルネットワークを含む。
【0013】
本開示の1つまたは複数の実装形態の詳細について、添付図面および以下の説明に示す。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0014】
【
図1】例示的音声認識モデルを実行する音声環境の概略図である。
【
図2】
図1の例示的音声認識モデルの概略図である。
【
図3A】音声認識モデルに対する半教師付きトレーニングプロセスを実行する、対照シャムネットワークの教師付き部分の概略図である。
【
図3B】音声認識モデルに対する半教師付きトレーニングプロセスを実行する、対照シャムネットワークの教師なし部分の概略図である。
【
図4】対照シャムネットワークを使って音声認識モデルをトレーニングする方法のための動作の例示的並びのフローチャートである。
【
図5】本明細書に記載するシステムおよび方法を実装するのに使うことができる例示的コンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0015】
様々な図面における同様の参照符号は、同様の要素を示す。
【0016】
自動音声認識(ASR)システムはしばしば、ラベル付きトレーニングデータを活用する、教師付きトレーニング技法を使ってトレーニングされる。ラベル付きトレーニングデータは、音声のオーディオデータと、音声の対応する転写とを含む。大量のラベル付きトレーニングデータを収集するのは、トレーニングデータを収集するための、関連コスト、所要時間、およびユーザのプライバシーの問題のせいで、しばしば困難である。いくつかの事例では、ASRシステムは、どの対応する転写もない音声のオーディオデータのみを含む、ラベルなしトレーニングデータを使ってトレーニングする。これらの事例では、ASRは、音声認識システムをトレーニングするのに、ラベルなしトレーニングデータのみを使用すればよく(すなわち、自己教師付きトレーニング)、またはラベルなしトレーニングデータが、ラベル付きトレーニングデータに加えて、音声認識システムをトレーニングするのに使われてよい(すなわち、半教師付きトレーニング)。
【0017】
本明細書における実装形態は、音声認識モデルをトレーニングするための、半教師付きトレーニング技法を使う対照シャムネットワークを対象とする。シャムネットワークは、発声および対応する転写を含むラベル付きオーディオサンプルで音声認識モデルをトレーニングする、教師付きサブネットワークを含む。つまり、教師付きサブネットワークは、ラベル付きオーディオサンプルから抽出された音響フレームを受信し、音声認識結果を予測する。その後、教師付きサブネットワークは、予測される音声認識結果と、対応する転写を比較することによって、損失を決定し、損失に基づいて音声認識モデルを更新する。
【0018】
シャムネットワークは、ラベルなしオーディオサンプルで音声認識をトレーニングする、教師なしサブネットワークも含む。教師なしサブネットワークは、教師付きサブネットワークへの追加または代替として、音声認識モデルをトレーニングし得る。教師なしサブネットワークは、ラベルなしオーディオサンプルからの音響フレームを受信するとともに各音響フレームに対する目標分岐出力を生成する目標分岐を含む。教師なしサブネットワークは、ラベルなしオーディオサンプルからの音響フレームに対して拡張を実施するとともに拡張された音響フレームを使って高次特徴表現(すなわち、「エンコーダ出力」)を生成する、拡張された分岐も含む。したがって、拡張された分岐は、目標分岐によって生成された目標分岐出力を予測するのに、高次特徴表現を使う。目標分岐からの目標分岐出力および拡張された分岐による、目標分岐出力の予測を使って、教師なしサブネットワークは、教師なし損失項を決定し、教師なし損失項に基づいて、音声認識モデルのオーディオエンコーダのパラメータを更新する。
【0019】
図1は、音声環境100の例である。音声環境100において、ユーザデバイス10などのコンピューティングデバイスとの、ユーザ104の対話の仕方は、ボイス入力によるものであってよい。ユーザデバイス10は、音声環境100内の1人または複数のユーザ104から音(たとえば、ストリーミングオーディオデータ)を取り込むように構成される。ここで、ストリーミングオーディオデータは、可聴照会、ユーザデバイス10向けのコマンド、またはユーザデバイス10によって取り込まれた可聴通信として機能する、ユーザ104による発話された発声106を指し得る。ユーザデバイス10の音声対応システムは、照会に応答すること、および/または1つもしくは複数のダウンストリームアプリケーションによってコマンドを実施/満足させることによって、照会またはコマンドをさばき得る。
【0020】
ユーザデバイス10は、ユーザ104に関連付けられるとともに、オーディオデータを受信することが可能である、どのコンピューティングデバイスに対応してもよい。ユーザデバイス10のいくつかの例は、モバイルデバイス(たとえば、モバイルフォン、タブレット、ラップトップなど)、コンピュータ、装着可能デバイス(たとえば、スマートウォッチ)、スマートアプライアンス、モノのインターネット(IoT)デバイス、車両インフォテインメントシステム、スマートディスプレイ、スマートスピーカなどを含むが、それらに限定されない。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12と通信しているメモリハードウェア14とを含み、データ処理ハードウェア12によって実行されるとデータ処理ハードウェア12に1つまたは複数の動作を実施させる命令を記憶する。ユーザデバイス10は、音声環境100内の発話された発声106を取り込み、変換して電気信号にするためのオーディオキャプチャデバイス(たとえば、マイクロフォン)16、16aと、可聴オーディオ信号を(たとえば、ユーザデバイス10からの出力オーディオデータとして)伝えるための音声出力デバイス(たとえば、スピーカ)16、16bとを備えたオーディオシステム16をさらに含む。ユーザデバイス10は、図示の例では単一のオーディオキャプチャデバイス16aを実装するが、ユーザデバイス10は、本開示の範囲から逸脱することなく、オーディオキャプチャデバイス16aのアレイを実装してもよく、それによってアレイの1つまたは複数のキャプチャデバイス16aが、物理的にユーザデバイス10上にないが、オーディオシステム16と通信していてもよい。
【0021】
音声環境100において、音声認識モデル200を実装する自動化音声認識(ASR)システム118が、ユーザ104のユーザデバイス10上および/またはネットワーク40を介してユーザデバイス10と通信するリモートコンピューティングデバイス60(たとえば、クラウドコンピューティング環境において実行する分散型システムの、1つもしくは複数のリモートサーバ)上に存在する。ユーザデバイス10および/またはリモートコンピューティングデバイス(すなわち、リモートサーバ)60は、ユーザ104によって発話されるとともにオーディオキャプチャデバイス16aによって取り込まれた発声106を受信し、発声106を、ASRシステム118によって処理されることが可能な入力音響フレーム110に関連付けられた対応するデジタルフォーマットに変換するように構成されたオーディオサブシステム108も含む。図示した例において、ユーザは、それぞれの発声106を発話し、オーディオサブシステム108は、発声106を、ASRシステム118への入力のために、対応するオーディオデータ(たとえば、音響フレーム)110に変換する。その後、音声認識モデル200は、入力として、発声106に対応するオーディオデータ110を受信し、出力として、発声106の対応する転写120(たとえば、音声認識結果/仮説)を生成/予測する。以下でより詳細に記載するように、音声認識モデル200は、発声106によって指定された照会がレイテンシに対してどれだけ敏感か、および/またはどれだけの許容度をユーザ104がレイテンシについて有するかに依存して音声認識を実施するとき、T-Tモデル200が、推論中に、ルックアヘッドオーディオコンテキストの異なる持続時間を設定できるようにする可変ルックアヘッドオーディオコンテキストでトレーニングされたトランスフォーマトランスデューサ(T-T)モデル200を含み得る。たとえば、ユーザデバイス10上で実行するデジタルアシスタントアプリケーション50は、単語、ワードピース、および/または個々のキャラクタが、発話されるとすぐにスクリーン上に現れるように、音声認識がストリーミングしていることを要し得る。さらに、ユーザデバイス10のユーザ104が、デジタルアシスタントアプリケーション50が実施するための照会を発行するとき、レイテンシに対して低許容度を有する見込みもある。そのようなシナリオにおいて、音声認識レイテンシを最小限にすることが好まれるとき、音声認識モデル200は、ユーザ104が発声106を発話しているときにストリーミング転写能力をリアルタイムで提供するためのゼロまたは最小ルックアヘッドオーディオコンテキスト(「正しいコンテキスト」とも呼ばれる)を適用してよい。一方、ユーザが、音声認識レイテンシに対してより高い許容度を有し、かつ/または認識されるべき発声106が長文の音声に関連付けられるとき、同じ音声認識モデル200が、正確な転写120を与えるのに十分なルックアヘッドオーディオコンテキストの持続時間を適用してよいが、ルックアヘッドオーディオコンテキストの持続時間に基づいて、レイテンシの増大を招き得る。したがって、ASRシステム118は、タスクごとに別個のASRモデルを活用する必要なく、ストリーミングおよび非ストリーミング転写能力の両方を提供するための多数の異なる音声認識タスク用に、単一の音声認識モデル200のみを実装すればよい。
【0022】
いくつかの実装形態では、音声認識モデル200は、オーディオデータ110に対して、ストリーミング音声認識と非ストリーミング音声認識の両方を並行して実施する。たとえば、図示した例において、音声認識モデル200は、部分的音声認識結果120、120aを生じるための、オーディオデータ110に対するストリーミング音声認識と、最終音声認識結果120、120bを生じるための、同じオーディオデータ110に対する非ストリーミング音声認識とを、並行して実施する。注目すべきこととして、音声認識モデル200は、部分的音声認識結果120aを生じるようにゼロ(または約240ミリ秒)に設定されてよい第1のルックアヘッドオーディオコンテキストを使い、第1のルックアヘッドオーディオコンテキストよりも長い持続時間の第2のルックアヘッドオーディオコンテキストを使って、最終音声認識結果120bを生じ得る。したがって、入力発声106についての最終音声認識結果120bは、入力発声についての部分的音声認識結果120aから、第2のルックアヘッドオーディオコンテキストと第1のルックアヘッドオーディオコンテキストとの間の差に基づく持続時間だけ遅れてよい。
【0023】
ユーザデバイス10および/またはリモートコンピューティングデバイス60は、発声106の転写120の表現を、ユーザデバイス10のユーザ104に提示するように構成されたユーザインターフェースジェネレータ107も実行する。以下でより詳細に記載するように、ユーザインターフェースジェネレータ107は、時間1の間に、部分的音声認識結果120aをストリーミング方式で表示し、続いて、時間2の間に最終音声認識結果120bを表示し得る。いくつかの構成では、ASRシステム118から出力された転写120は、たとえば、発声106によって指定されたユーザコマンド/照会を実行するために、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行する自然言語理解(NLU)モジュールによって処理される。追加または代替として、テキスト音声システム(図示せず)(たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60のどの組合せにおいても実行する)は、転写を、ユーザデバイス10および/または別のデバイスによる可聴出力のための合成音声に変換してよい。
【0024】
図示した例において、ユーザ104は、ASRシステム118を使うユーザデバイス10のプログラムまたはアプリケーション50(たとえば、デジタルアシスタントアプリケーション50)と対話する。たとえば、
図1は、ユーザ104がデジタルアシスタントアプリケーション50と通信し、デジタルアシスタントアプリケーション50が、ユーザ104とデジタルアシスタントアプリケーション50との間の会話を示すようにユーザデバイス10のスクリーン上にデジタルアシスタントインターフェース18を表示しているところを示す。この例では、ユーザ104は、デジタルアシスタントアプリケーション50に、「今夜のコンサートは何時ですか?」と尋ねる。ユーザ104からのこの質問は、オーディオキャプチャデバイス16aによって取り込まれるとともにユーザデバイス10のオーディオシステム16によって処理された、発話された発声106である。この例では、オーディオシステム16は、発話された発声106を受信し、ASRシステム118への入力のために音響フレーム110に変換する。
【0025】
この例を続けると、音声認識モデル200は、ユーザ104が発話するときに、発声106に対応する音響フレーム(すなわち、オーディオデータ)110を受信する間、第1のルックアヘッドオーディオコンテキストを使って音響フレーム110を符号化し、次いで、符号化された音響フレーム110を、第1のルックアヘッドオーディオコンテキストを使って部分的音声認識結果120aに復号する。時間1の間、ユーザインターフェースジェネレータ107は、デジタルアシスタントインターフェース18を介して、発声106の部分的音声認識結果120aの表現を、ユーザデバイス10のユーザ104に対して、単語、ワードピース、および/または個々のキャラクタが、発話されるとすぐにスクリーン上に現れるように、ストリーミング方式で提示する。いくつかの例では、第1のルックアヘッドオーディオコンテキストはゼロに等しい。
【0026】
並行して、および発声106に対応する音響フレーム110のすべてが受信された後、音声認識モデル200は、発声106に対応する音響フレーム110のすべてを、第2のルックアヘッドオーディオコンテキストを使って符号化し、次いで、第2のルックアヘッドオーディオコンテキストを使って音響フレーム110を最終音声認識結果120bに復号する。第2のルックアヘッドオーディオコンテキストの持続時間は、1.2秒、2.4秒、または任意の他の持続時間であってよい。いくつかの例では、ユーザ104が発声106を発話し終えたことを示すエンドポイントなどの指示が、第2のルックアヘッドオーディオコンテキストを使って音響フレーム110をすべて符号化するように、音声認識モデル200をトリガする。時間2の間、ユーザインターフェースジェネレータ107は、デジタルアシスタントインターフェース18を介して、発声106の最終音声認識結果120bの表現を、ユーザデバイス10のユーザ104に対して提示する。いくつかの実装形態では、ユーザインターフェースジェネレータ107は、部分的音声認識結果120aの表現を最終音声認識結果120bの表現で置き換える。たとえば、最終音声認識結果120bが、ルックアヘッドオーディオコンテキストを活用せずに生じた部分的音声認識結果120aよりも正確であると推定されると、転写120として最終的に表示される最終音声認識結果120bは、部分的音声認識結果120aの中の誤認識された可能性があるどの語句も確定し得る。この例では、音声認識モデル200によって出力されるとともに時間1においてユーザデバイス10のスクリーン上に表示されるストリーミング部分的音声認識結果120aは、低レイテンシに関連付けられ、ユーザ104に、ユーザの照会が処理されているという応答性を与え、音声認識モデル200によって出力されるとともに時間2においてスクリーン上に表示される最終音声認識結果120bは、ルックアヘッドオーディオコンテキストを活用して、正確さに関して音声認識品質を向上するが、レイテンシは増大する。ただし、部分的音声認識結果120aは、ユーザが発声106を発話すると表示されるので、最終認識結果を生じ、最終的には表示することに関連した、より高いレイテンシは、ユーザ104にとって目立つものではない。
【0027】
図1に示す例では、デジタルアシスタントアプリケーション50は、自然言語処理を使って、ユーザ104によって課された質問に応答し得る。自然言語処理は概して、書かれた言葉(たとえば、部分的音声認識結果120aおよび/または最終音声認識結果120b)を解釈し、書かれた言葉がいずれかのアクションを促すかどうかを決定するプロセスを指す。この例では、デジタルアシスタントアプリケーション50は、自然言語処理を使って、ユーザ104からの質問がユーザのスケジュールに、より具体的にはユーザのスケジュールにおけるコンサートに関することを認識する。自然言語処理を用いてこれらの詳細を認識することによって、自動化アシスタントは、ユーザの照会に対して応答19を返し、応答19は、「開場は午後6:30、開演は午後8時です」と述べる。いくつかの構成では、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12と通信しているリモートサーバ60上で起こる。
【0028】
図2を参照すると、音声認識モデル200は、音響、発音、および言語モデルを単一のニューラルネットワークに統合することによってエンドツーエンド(E2E)音声認識を提供してよく、レキシコンも別個のテキスト正規化構成要素も必要としない。様々な構造および最適化機構は、正確さを増し、モデルトレーニング時間を削減することができる。いくつかの実装形態では、音声認識モデル200は、トランスフォーマトランスデューサ(T-T)モデルアーキテクチャを含み、これは、対話型アプリケーションに関連付けられたレイテンシ制約を遵守する。T-Tモデル200は、その内容全体が参照により本明細書に組み込まれている、2021年3月23日に出願された米国特許出願第17/210,465号に記載されているT-Tモデル200を含み得る。T-Tモデル200は、小さい計算フットプリントを可能にし、従来のASRアーキテクチャよりも少ないメモリ要件を使用し、T-Tモデルアーキテクチャを完全にユーザデバイス10上で音声認識を実施するのに適したものにする(たとえば、リモートサーバ60との通信を必要としない)。T-Tモデル200は、オーディオエンコーダ210、ラベルエンコーダ220、および共同ネットワーク230を含む。オーディオエンコーダ210は、概して従来のASRシステムにおける音響モデル(AM)に類似し、ストライド畳込みレイヤ212(
図3)およびトランスフォーマレイヤ214(
図3)のスタックを有するニューラルネットワークを含む。たとえばオーディオエンコーダ210は、d次元特徴ベクトルのシーケンス(たとえば、音響フレーム110(
図1))x=(x
1,x
2,...,x
T)を読み取り、ここで、
【0029】
【0030】
であり、各時間ステップにおいて、高次特徴表現(「エンコーダ出力」とも呼ばれる)を生じる。この高次特徴表現は、ah1、...、ahTと記される。オーディオエンコーダ210の各トランスフォーマレイヤ214は、正規化レイヤ、相対的位置符号化をもつマスキングされたマルチヘッドアテンションレイヤ、残差接続、スタッキング/スタック解除レイヤ、およびフィードフォワードレイヤを含み得る。同様に、ラベルエンコーダ220は、トランスフォーマレイヤのニューラルネットワークまたはルックアップテーブル埋め込みモデルも含んでよく、このモデルは、言語モデル(LM)のように、最終ソフトマックスレイヤ240によってこれまでに出力された非ブランクシンボルのシーケンス、すなわちy0、...、yui-1を処理して、予測されるラベル履歴を符号化する密な表現Ihuにする。ラベルエンコーダ220がトランスフォーマレイヤのニューラルネットワークを含むときの実装形態では、各トランスフォーマレイヤは、正規化レイヤ、相対的位置符号化をもつマスクされたマルチヘッドアテンションレイヤ、残差接続、フィードフォワードレイヤ、およびドロップアウトレイヤを含み得る。これらの実装形態において、ラベルエンコーダ220は、2つのトランスフォーマレイヤを含み得る。ラベルエンコーダ220が、バイグラムラベルコンテキストをもつルックアップテーブル埋め込みモデルを含むときの実装形態では、埋め込みモデルは、各可能なバイグラムラベルコンテキスト向けのd次元の重みベクトルを学習するように構成され、ここで、dは、オーディオおよびラベルエンコーダ210、220の出力の次元である。いくつかの例では、埋め込みモデルの中のパラメータの総数はN2×dであり、ここで、Nはラベルに対する語彙サイズである。ここで、学習された重みベクトルは次いで、T-Tモデル200におけるバイグラムラベルコンテキストの埋め込みとして使われて、高速ラベルエンコーダ220ランタイムを生じる。
【0031】
最終的に、T-Tモデルアーキテクチャを用いて、オーディオおよびラベルエンコーダ210、220によって生成された表現は、密レイヤJu,tを使って共同ネットワーク230によって組み合わされる。共同ネットワーク230は次いで、P(zu,t|x,t,y1,…,yu-1)を予測し、これは、次の出力シンボルに関する分布である。言い方を変えれば、共同ネットワーク230は、各出力ステップ(たとえば、時間ステップ)で、可能な音声認識仮説に関する確率分布242を生成する。ここで、「可能な音声認識仮説」は、指定された自然言語で書記素(たとえば、シンボル/キャラクタ)またはワードピースを各々が表す出力ラベル(「音声単位」とも呼ばれる)のセットに対応する。たとえば、自然言語が英語であるとき、出力ラベルのセットは、27個のシンボルを含んでよく、たとえば、英語アルファベットの26文字の各々に対する1つのラベル、および空間を指定する1つのラベルである。したがって、共同ネットワーク230は、出力ラベルの所定のセットの各々の出現の見込みを示す値のセットを出力してよい。この値セットは、ベクトル(たとえば、ワンホットベクトル)であってよく、出力ラベルのセットに関する確率分布を示すことができる。いくつかの場合には、出力ラベルは書記素(たとえば、個々のキャラクタ、また、可能性としては句読および他のシンボル)であるが、出力ラベルのセットは、そのように限定されるわけではない。たとえば、出力ラベルのセットは、書記素に加え、またはその代わりに、ワードピースおよび/または単語全体を含み得る。共同ネットワーク230の出力分布は、異なる出力ラベルの各々についての事後確率値を含み得る。したがって、異なる書記素または他のシンボルを表す100個の異なる出力ラベルがある場合、共同ネットワーク230の出力zu,tは、1つが各出力ラベルについてである、100個の異なる確率値を含み得る。確率分布は次いで、スコアを選択し、転写120を決定するためのビームサーチプロセスにおいて(たとえば、ソフトマックスレイヤ240によって)候補正書(orthographic)要素(たとえば、書記素、ワードピース、および/または単語)に割り当てるのに使うことができる。
【0032】
ソフトマックスレイヤ240は、分布における最も高い確率をもつ出力ラベル/シンボルを、対応する出力ステップにおいてT-Tモデル200によって予測される次の出力シンボルとして選択するための、任意の技法を利用してもよい。このように、T-Tモデル200は、条件付き独立仮定は行わず、むしろ、各シンボルの予測は、音響効果だけでなく、これまでに出力されたラベルのシーケンスも条件とする。音声認識モデル200は、T-Tモデルアーキテクチャを有するものとして記載されるが、音声認識モデル200は、コンフォーマトランスデューサ(C-T)モデルアーキテクチャまたは回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルアーキテクチャなど、他のタイプのトランスデューサベースのアーキテクチャも含み得る。
【0033】
図3Aおよび
図3Bは、音声認識モデル200(
図2)をトレーニングするための半教師付きトレーニングプロセスを実行する対照シャムネットワーク300の概略図を示す。対照シャムネットワークは、教師付きサブネットワークトレーニングプロセス301(
図3A)および教師なしサブネットワークトレーニングプロセス302(
図3B)を含む。教師付きサブネットワークトレーニングプロセス(すなわち、教師付きサブネットワーク)301は、対応する転写(すなわち、ラベル)308とペアにされた、発話された発声106から抽出された音響フレーム306のシーケンスを含む複数のラベル付きオーディオサンプル305を使って、音声認識モデル200をトレーニングする。教師なしサブネットワークトレーニングプロセス(すなわち、教師なしサブネットワーク)302は、どのペアにされた転写ももたない、発話された発声106から抽出された音響フレーム304のシーケンスを含む複数のラベルなしオーディオサンプル303を使って、音声認識モデル200をトレーニングする。
【0034】
いくつかの例では、教師付きサブネットワーク(すなわち、教師付き部分)301によって使われる音響フレーム306は、教師なしサブネットワーク(すなわち、教師なし部分)302によって使われる音響フレーム304と同じである。つまり、教師付き部分301および教師なし部分302は、同時に同じ音響フレーム304、306を使って、音声認識モデル200をトレーニングし得る。他の例では、教師付き部分301をトレーニングするのに使われる音響フレーム306は、教師なし部分302をトレーニングするのに使われる音響フレーム304とは異なる。このシナリオは、どの対応する転写ももたない、ラベルなしオーディオサンプル303が、取得しやすく、音声認識モデル200をトレーニングするのに活用することができるので、特に有益である。したがって、音声認識モデル200は、ラベル付きオーディオサンプル305および/またはラベルなしオーディオサンプル303の、どの組合せでトレーニングされてもよい。いくつかの例では、ラベルなしオーディオサンプル303およびラベル付きオーディオサンプル305から抽出された音響フレーム304、306のシーケンスは、対数メルフィルタバンクエネルギーを含む。教師付き部分301をトレーニングするのに使われる音響フレーム306の数よりも多い数の音響フレーム304が、教師なし部分302をトレーニングするのに使われてよい。任意選択で、教師なし部分302をトレーニングするのに使われる音響フレーム304の数よりも多い数の音響フレーム306が、教師付き部分301をトレーニングするのに使われてよい。いくつかの例では、教師付き部分301をトレーニングするのに使われる音響フレーム306の数と、教師なし部分302をトレーニングするのに使われる音響フレーム304の数は同じである。
【0035】
教師付き部分301および教師なし部分302は、同じAdamオプティマイザおよび同じ学習レートを使って一緒にトレーニングされるストライド畳込みレイヤ212およびトランスフォーマレイヤ214のスタックを含む、同じオーディオエンコーダ210を共有する。音声認識モデル200がコンフォーマトランスデューサモデルアーキテクチャに対応するとき、オーディオエンコーダ210は、トランスフォーマレイヤの代わりにコンフォーマレイヤを含み得る。
【0036】
ここで
図3Aを参照すると、対照シャムネットワーク300の教師付き部分301は、複数のラベル付きオーディオサンプル305を使って、音声認識モデル200をトレーニングする。複数のラベル付きオーディオサンプル305は、ラベル付きオーディオサンプル305から抽出された音響フレーム306のシーケンスと、対応するラベル/転写308とを含む。教師付き部分301は、ラベルエンコーダ220および共同ネットワーク230(
図3Aには示さない)に加え、教師なし部分302と同じ、音声認識モデル200からのオーディオエンコーダ210を共有する。
【0037】
いくつかの実装形態では、教師付き部分301は、ラベル付きオーディオサンプル305から抽出された少なくとも1つの音響フレーム306にデータ拡張を適用して、拡張された音響フレーム306、306Aのシーケンスを生成するデータ拡張モジュール365を含む。教師付き部分301のデータ拡張モジュール365は、教師なし部分302の同じ(または異なる)データ拡張モジュール360(
図3B)であってよい。いくつかの例では、教師付き部分301のデータ拡張モジュール365は、教師なし部分のデータ拡張モジュールとは異なるデータ拡張技法を適用する。音響フレーム306にデータ拡張を適用すると、音声認識モデル200をトレーニングするのに使われるオーディオフレームの音響ダイバーシティが促進される。いくつかの例では、データ拡張モジュール360は、音響フレーム306のシーケンスのタイミングを操作する時間修正構成要素を含む。データ拡張モジュール360は、追加または代替として、音響フレーム306の部分をマスキングする時間マスキング構成要素を含み得る。データ拡張モジュール360によって適用される他の技法は、ノイズを追加する/注入すること、および/またはラベル付きオーディオサンプル305の残響を追加することを含み得る。1つのデータ拡張技法は、ラベル付きオーディオサンプル305に多様な環境ノイズを注入するのに、マルチスタイルトレーニング(MTR)を使うことを含む。データ拡張モジュール360が、MTRに加えて、またはその代わりに適用し得る別のデータ拡張技法は、ラベル付きオーディオサンプル305の音響効果を、他のラベル付きオーディオサンプル305の反音響効果により近づけるためにスペクトル拡張(SpecAugment)を使うことを含む。組み合わされて、MTRおよびSpecAugmentは、ラベル付きオーディオサンプル305にノイズを注入し、ランダムな外部ノイズ源を時間に沿って、表現の前に挿入し、その上に重ねてタイリングし、音声認識モデル200をトレーニングするのに先立って、ノイズ注入性のラベル付きオーディオサンプルをフィルタリングしてよい。
【0038】
教師付き部分301のオーディオエンコーダ210は、音響フレーム306Aの拡張されたシーケンスを受信し、各拡張された音響フレーム306Aに対するエンコーダ出力341を生成する。エンコーダ出力341は、可能な音声認識仮説の確率分布を含み得る。特に、ストライド畳込みレイヤ212は、拡張された音響フレーム306Aを受信し、対応する出力211を生成する。トランスフォーマレイヤ214は、ストライド畳込みレイヤ212から出力211を受信し、エンコーダ出力341を生成する。
【0039】
ラベルエンコーダ220は、将来のラベル308には注意を払わないストリーミングトランスフォーマである。したがって、ラベルエンコーダ220は、オーディオエンコーダ210によって受信された、拡張された音響フレーム306Aに対応するラベル308を受信し、言語埋め込み344(すなわち、密な表現Ih
u(
図2))を生成する。教師付き部分301は、ラベルエンコーダ220からの言語埋め込み344と、オーディオエンコーダ210からのエンコーダ出力341(すなわち、音響埋め込み)とを処理して、対応する時間ステップにおいて音声認識モデル200に入力された各音響フレーム306(たとえば、拡張された音響フレーム306A)についての対応する音声認識結果342を生じる密レイヤ346を含む。密レイヤ346は、エンコーダ出力341および言語埋め込み344に対して線形動作を実施して、音声認識結果342を生成するトレーニング可能バイアスベクトル347を含む。教師付き部分301の損失モジュール351は、得られた音声認識結果342に対する、密レイヤ346からの出力に基づいて、教師付き損失項350を決定する。つまり、損失モジュール351は、音声認識結果342をラベル(たとえば、グランドトゥルース転写)308と比較して、教師付き損失350を生成する。教師付き損失項(たとえば、RNN-T損失)350は、以下によって表され得る。
r
t=linear(tanh(linear(a
t)+linear(l
t))) (2)
【0040】
式2において、rtは、書記素がブランクシンボルを含む確率を明記するロジットベクトルを表し、atは、オーディオエンコーダ210からのエンコーダ出力341を表し、ltは、ラベルエンコーダ220からの言語埋め込み344を表し、linearは、トレーニング可能バイアスベクトル347をもつ従来の密レイヤ346を表す。
【0041】
教師付き部分301は、複数のラベル付きオーディオサンプル305の中の各ラベル付きオーディオサンプル305向けの複数の出力ステップの各々において決定された教師付き損失項350に基づいて、音声認識モデル200のパラメータを更新する。いくつかの実装形態では、教師付き部分301は、教師なし部分302が音声認識モデル200のオーディオエンコーダ210のパラメータを更新したことに依存せずに、教師付き損失項350に基づいて、音声認識モデル200のパラメータを更新するように構成される。
【0042】
ここで
図3Bを参照すると、教師なし部分302は、どの転写ともペアにされていない、発話された発声106から抽出された音響フレーム304のシーケンスを含む複数のラベルなしオーディオサンプル303を使って、音声認識モデル200をトレーニングする。これらの例に示すように、対照シャムネットワーク300の教師なし部分302は、ストライド畳込みレイヤ212およびトランスフォーマレイヤ214のスタックを含む音声認識モデル200(
図2)の同じオーディオエンコーダ210を共有する、目標分岐310および拡張された分岐320を含む。教師なし部分302は、目標分岐310および拡張された分岐320からの、トランスフォーマオーディオエンコーダ210の出力シーケンス(すなわち、エンコーダ出力312、326のシーケンス)を照合することによって、言語情報を抽出するように構成される。
【0043】
目標分岐310は、ラベルなしオーディオサンプル303から抽出された音響フレーム304のシーケンスに基づいて目標分岐出力316を生成するように構成される。目標分岐310のオーディオエンコーダ210は、音響フレーム304のシーケンスを受信し、各時間ステップにおいて、高次特徴表現312を生成する。特に、ストライド畳込みレイヤ212は、音響フレーム304のシーケンスから音響フレーム304を受信し、出力213を生成する。トランスフォーマレイヤ214は、ストライド畳込みレイヤ212から出力213を受信し、対応する音響フレーム304に対する高次特徴表現(すなわち、エンコーダ出力)312を生成する。
【0044】
目標分岐310および拡張された分岐320に含まれるトランスフォーマオーディオエンコーダ210は、音響フレーム304のシーケンスの時間ダイナミクスを取り込むための位置埋め込みから利益を得る。したがって、教師なし部分302におけるオーディオエンコーダ210が、位置埋め込みのみに基づいて低対照損失のエンコーダ出力312、326を生成するのを回避するために、目標分岐310においてオーディオエンコーダ210によって出力された高次特徴表現312の時間特性を修正することが必要である。言い換えると、目標分岐310においてオーディオエンコーダ210によって出力された高次特徴表現312の時間特性を修正することなく、対照シャムネットワーク300の教師なし部分302のすべての出力が定数値に「崩壊する」ことになる。したがって、目標分岐310は、高次特徴表現312の時間特性を修正する勾配停止動作314を適用して、対応する音響フレーム304に対する目標分岐出力316を生成する。いくつかの実装形態では、勾配停止動作314は、拡張された分岐320においてオーディオエンコーダ210に入力された対応する拡張された音響フレーム304、304Aに関連付けられた時間特性と一致するように、高次特徴表現312の時間特性を修正することによって、オーディオエンコーダ210によって出力された高次特徴表現312の時間特性を修正して、対応する高次特徴表現326を生成する。明らかになるように、拡張された分岐320においてオーディオエンコーダ210によって生成された高次特徴表現326は、オーディオエンコーダ210に入力された、拡張された音響フレーム304Aに基づく、修正された時間特性を有する、拡張された高次特徴表現326(または拡張されたエンコーダ出力)に対応する。
【0045】
教師なし部分302の拡張分岐320は、ラベルなしオーディオサンプル303から抽出された各音響フレーム304にデータ拡張を適用するデータ拡張モジュール360を含む。拡張モジュール360は、音響フレーム304のシーケンスを受信し、拡張された音響フレーム304Aのシーケンスを生成する。音響フレーム304にデータ拡張を適用すると、音声認識モデル200をトレーニングするのに使われるオーディオフレームの音響ダイバーシティが促進される。いくつかの例では、データ拡張モジュール360は、音響フレーム304のシーケンスのタイミングを操作する時間修正構成要素322を含む。データ拡張モジュール360は、追加または代替として、音響フレーム304の部分をマスキングする時間マスキング構成要素324を含み得る。データ拡張モジュール360によって適用される他の技法は、ノイズを追加する/注入すること、および/またはラベル付きオーディオサンプルの残響を追加することを含み得る。1つのデータ拡張技法は、ラベルなしオーディオサンプル303に多様な環境ノイズを注入するのに、マルチスタイルトレーニング(MTR)を使うことを含む。データ拡張モジュール360が、MTRに加えて、またはその代わりに適用し得る別のデータ拡張技法は、拡張された音響フレーム304の音響効果を、他のラベルなしオーディオサンプル303の反音響効果により近づけるためにスペクトル拡張(SpecAugment)を使うことを含む。組み合わされて、MTRおよびSpecAugmentは、ラベル付きオーディオサンプル303にノイズを注入し、ランダムな外部ノイズ源を時間に沿って、表現の前に挿入し、その上に重ねてタイリングし、音声認識モデル200をトレーニングするのに先立って、ノイズ注入性のラベルなしオーディオサンプル303をフィルタリングしてよい。
【0046】
拡張された分岐320のオーディオエンコーダ210は、データ拡張モジュール360から音響フレーム304Aの拡張されたシーケンスを受信し、対応する拡張された音響フレーム304Aに対する高次特徴表現326を生成する。特に、ストライド畳込みレイヤ212は、拡張された音響フレーム304Aのシーケンスから、拡張された音響フレームを受信し、出力215を生成する。トランスフォーマレイヤ214は、ストライド畳込みレイヤ212から出力215を受信し、対応する拡張された音響フレーム304Aに対する高次特徴表現(すなわち、拡張されたエンコーダ出力)326を生成する。続いて、予測トランスフォーマネットワーク328が、高次特徴表現326を受信し、対応する時間ステップにおいて目標分岐310によって生成される目標分岐出力316の予測329を生成する。つまり、予測トランスフォーマ328は、各対応する時間ステップにおける目標分岐出力316と一致する、拡張された分岐320からの出力として予測329を生成することを学習するのに、対照損失330を使い得る。
【0047】
教師なし部分302は、目標分岐310によって生成された目標分岐出力316と、拡張された分岐320によって生成された、目標分岐出力316の予測329とに基づいて、教師なし損失項330を決定する。いくつかの例では、教師なし損失項330は、以下によって表される対照損失項を含む。
【0048】
【0049】
式1において、Mは、マスクされたフレームインデックスのセットを含み、Kは、妨害インデックスのセットを含み、htはエンコーダ出力であり、ctは畳込みニューラルネットワーク出力である。他の例では、教師付き損失項は、再構築損失項L1またはコサイン距離損失項を含む。教師なし部分302は、複数の時間ステップの各々において決定された教師なし損失項330に基づいて、オーディオエンコーダ210のパラメータを更新する。注目すべきこととして、オーディオフレーム304を使って、目標分岐310は、オーディオエンコーダ210の現在の状態に基づいて、予想される表現(すなわち、目標分岐出力316)を生成し、拡張された分岐320は、拡張されたオーディオフレーム304Aを使って、予想表現に一致させることを目指す。
【0050】
図4は、対照シャムネットワークを使って音声認識モデルをトレーニングする、コンピュータにより実施される方法400のための動作の例示的な並びのフローチャートである。動作402において、方法400は、どの対応する転写(すなわち、ラベル308)ともペアにされていない、発話された発声106に対応する、複数のラベルなしオーディオサンプル303を受信することを含む。対照シャムネットワーク300の目標分岐310は、動作404および406を実施する。動作404において、方法400は、音声認識モデル200のオーディオエンコーダ210を使って、複数のラベルなしオーディオサンプル303に対するエンコーダ出力312のシーケンスを生成することを含む。動作406において、方法400は、勾配停止動作314を使って、目標分岐出力316のシーケンスを生成するように、エンコーダ出力312の時間特性を修正することを含む。
【0051】
対照シャムネットワーク300の拡張分岐320は、動作408~412を実施する。動作408において、方法400は、拡張モジュール360を使って、ラベルなしオーディオサンプル303に対して拡張を実施することを含む。動作410において、方法400は、音声認識モデル200のオーディオエンコーダ210を使って、拡張されたラベルなしオーディオサンプル304Aに対する拡張されたエンコーダ出力326のシーケンスを生成することを含む。動作412において、方法は、目標分岐310において生成された目標分岐出力316のシーケンスの予測329を生成することを含む。
【0052】
動作414において、方法は、目標分岐310において生成された目標分岐出力316と、拡張分岐320において生成された、目標分岐出力316のシーケンスの予測329とに基づいて、教師なし損失項330を決定することを含む。動作416において、方法400は、教師なし損失330に基づいて、オーディオエンコーダ210のパラメータを更新することを含む。
【0053】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指し得る。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的アプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーム用アプリケーションを含むが、それらに限定されない。
【0054】
非一時的メモリは、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイスによる使用のために、一時的または永続的に記憶するのに使われる物理デバイスであってよい。非一時的メモリは、揮発性および/または不揮発性アドレス可能半導体メモリであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェア用に使われる)を含むが、それらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含むが、それらに限定されない。
【0055】
図5は、本明細書に記載するシステムおよび方法を実装するのに使うことができる例示的コンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことを意図している。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示にすぎないものとし、本明細書で説明および/または請求する本発明の実装形態を限定するものではない。
【0056】
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続され、共通マザーボード上に、または適宜に他の仕方で搭載され得る。プロセッサ510は、グラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上で表示するための、メモリ520中または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内での実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、適宜に、複数のメモリおよび複数のタイプのメモリとともに使われてよい。また、複数のコンピューティングデバイス500が接続されてよく、各デバイスは、必要な動作の部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
【0057】
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ520は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイス500による使用のために、一時的または永続的に記憶するのに使われる物理デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェア用に使われる)を含むが、それらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含むが、それらに限定されない。
【0058】
記憶デバイス530は、コンピューティングデバイス500に大容量記憶を提供することが可能である。いくつかの実装形態では、記憶デバイス530はコンピュータ可読媒体である。様々な異なる実装形態において、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、または記憶エリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってよい。追加の実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明されたものなどの1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなどのコンピュータまたは機械可読媒体である。
【0059】
高速コントローラ540は、コンピューティングデバイス500向けの帯域幅集約型の動作を管理し、低速コントローラ560は、帯域幅低集約型の動作を管理する。役割のそのような割振りは、例示にすぎない。いくつかの実装形態では、高速コントローラ540は、メモリ520、ディスプレイ580に(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)結合され、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート550に結合される。いくつかの実装形態では、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得るが、キーボード、ポインティングデバイス、スキャナなど、1つもしくは複数の入力/出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイスに、たとえば、ネットワークアダプタを通して結合され得る。
【0060】
コンピューティングデバイス500は、図に示すように、いくつかの異なる形態で実装されてよい。たとえば、標準サーバ500aとしてもしくは複数回そのようなサーバ500aのグループにおいて、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装されてよい。
【0061】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子回路構成および/もしくはデジタル光学回路構成、集積回路構成、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現され得る。これらの様々な実装形態は、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含んでよく、プログラム可能プロセッサは、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、ならびにそれらにデータおよび命令を送信するように結合され、特殊または一般的目的であってよい。
【0062】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能プロセッサ用の機械命令を含み、高度手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラム可能プロセッサに、機械命令および/またはデータを提供するのに使われる、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラム可能プロセッサに機械命令および/またはデータを提供するのに使われる任意の信号を指す。
【0063】
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するための1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラム可能プロセッサによって実施することができる。プロセスおよび論理フローは、特殊目的論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)やASIC(特定用途向け集積回路)によって実施することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの本質的要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気ディスク、または光ディスクも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転送し、または両方を行うように大容量記憶デバイスに動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路構成によって補完することも、その中に組み込むこともできる。
【0064】
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)やLCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、それによってユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスやトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとの対話を可能にするために使用されることが可能であり、たとえば、ユーザに与えられるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形態で受信されることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0065】
いくつかの実装形態を記載した。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な修正を行うことができることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内である。
【符号の説明】
【0066】
10 ユーザデバイス
12 データ処理ハードウェア
14 メモリハードウェア
16 オーディオキャプチャデバイス、音声出力デバイス、オーディオシステム
16a オーディオキャプチャデバイス
16b 音声出力デバイス
18 デジタルアシスタントインターフェース
19 応答
40 ネットワーク
50 デジタルアシスタントアプリケーション、アプリケーション
60 リモートコンピューティングデバイス、リモートサーバ
100 音声環境
104 ユーザ
106 発話された発声、発声、入力発声
107 ユーザインターフェースジェネレータ
108 オーディオサブシステム
110 入力音響フレーム、音響フレーム、オーディオデータ
118 自動化音声認識(ASR)システム
120 転写、部分的音声認識結果、最終音声認識結果
120a 部分的音声認識結果
120b 最終音声認識結果
200 音声認識モデル、トランスフォーマトランスデューサ(T-T)モデル
210 オーディオエンコーダ、トランスフォーマオーディオエンコーダ
211 対応する出力、出力
212 ストライド畳込みレイヤ
214 トランスフォーマレイヤ
220 ラベルエンコーダ
230 共同ネットワーク
240 ソフトマックスレイヤ
242 確率分布
300 対照シャムネットワーク
301 教師付きサブネットワーク、教師付き部分
302 教師なしサブネットワーク、教師なし部分
303 ラベルなしオーディオサンプル
304 音響フレーム、対応する音響フレーム、拡張された音響フレーム、オーディオフレーム
304A 拡張された音響フレーム、音響フレーム、拡張されたオーディオフレーム、拡張されたラベルなしオーディオサンプル
305 ラベル付きオーディオサンプル
306 音響フレーム、拡張された音響フレーム
306A 拡張された音響フレーム、音響フレーム
308 対応する転写、対応するラベル/転写、将来のラベル、対応するラベル、ラベル
310 目標分岐
312 エンコーダ出力、高次特徴表現
314 勾配停止動作
316 目標分岐出力
320 拡張された分岐、拡張分岐
322 時間修正構成要素
324 時間マスキング構成要素
326 エンコーダ出力、高次特徴表現
328 予測トランスフォーマネットワーク、予測トランスフォーマ
329 予測
330 対照損失、教師なし損失項、教師なし損失
341 エンコーダ出力
342 音声認識結果
344 言語埋め込み
346 密レイヤ
347 トレーニング可能バイアスベクトル
350 教師付き損失項、教師付き損失
351 損失モジュール
360 データ拡張モジュール、拡張モジュール
365 データ拡張モジュール
400 コンピュータにより実施される方法、方法
500 コンピューティングデバイス
500a 標準サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ、構成要素
520 メモリ、構成要素、非一時的メモリ
530 記憶デバイス、構成要素
540 高速インターフェース/コントローラ、構成要素
550 高速拡張ポート、構成要素
560 低速インターフェース/コントローラ、構成要素
570 低速バス
580 ディスプレイ
590 低速拡張ポート
L1 再構築損失項
【手続補正書】
【提出日】2024-05-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータに、音声認識モデル(200)をトレーニング
させるための対照シャムネットワーク(300)であって、前記対照シャムネットワークは、対応する転写(308)とペアにされていない、発話された発声(106)に対応する複数のラベルなしオーディオサンプル(303)でトレーニングされた教師なしサブネットワーク(302)を備え、
前記教師なしサブネットワーク(302)は、
前記音声認識モデル(200)のオーディオエンコーダ(210)への入力として、前記ラベルなしオーディオサンプル(303)から抽出された音響フレーム(304)のシーケンスを受信することと、
複数の時間ステップの各々において、対応する時間ステップにおいて前記オーディオエンコーダ(210)に入力された前記音響フレーム(304)のシーケンスの中の対応する音響フレーム(304)に対する目標分岐出力(316)を生成することと
を行うように構成された目標分岐(310)と、
前記ラベルなしオーディオサンプル(303)から抽出された前記音響フレーム(304)のシーケンスに対して拡張を実施して、拡張された音響フレーム(304A)のシーケンスを生成することと、
前記複数の時間ステップの各々において、前記オーディオエンコーダ(210)からの出力として、前記拡張された音響フレーム(304A)のシーケンスの中の対応する拡張された音響フレーム(304A)に対する高次特徴表現(326)を生成することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおいて前記オーディオエンコーダ(210)から出力された前記高次特徴表現(326)を使って、前記対応する時間ステップにおいて前記目標分岐(310)によって生成された前記目標分岐出力(316)の予測(329)を生成することと
を行うように構成された、拡張された分岐(320)と
を備え、
前記教師なしサブネットワーク(302)は、
前記複数の時間ステップの各々において、前記対応する時間ステップにおいて前記目標分岐(310)によって生成された前記目標分岐出力(316)、および前記対応する時間ステップにおいて前記拡張された分岐(320)によって生成された、前記目標分岐(310)出力の前記予測(329)に基づいて、教師なし損失項(330)を決定することと、
前記複数の時間ステップの各々において決定された前記教師なし損失項(330)に基づいて、前記オーディオエンコーダ(210)のパラメータを更新することと
を行うように構成される、対照シャムネットワーク(300)。
【請求項2】
前記教師なし損失項(330)は対照損失項を含む、請求項1に記載の対照シャムネットワーク(300)。
【請求項3】
前記音響フレーム(304)のシーケンスに対して実施される前記拡張は、時間修正およびマスキングを含む、請求項1または2に記載の対照シャムネットワーク(300)。
【請求項4】
前記目標分岐(310)は、
複数の時間ステップの各々において、前記オーディオエンコーダ(210)からの出力として、前記対応する時間ステップにおいて前記オーディオエンコーダ(210)に入力された前記音響フレーム(304)のシーケンスの中の前記対応する音響フレーム(304)に対する高次特徴表現(312)を生成するようにさらに構成され、
前記目標分岐(310)は、
前記高次特徴表現(312)の時間特性を修正することによって、前記対応する音響フレーム(304)に対する前記目標分岐出力(316)を生成するように構成される、請求項1から3のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項5】
前記高次特徴表現(312)の前記時間特性を修正することは、前記複数の時間ステップの各々において、前記対応する音響フレーム(304)に対する、前記オーディオエンコーダ(210)からの出力として生成された前記高次特徴表現(312)の前記時間特性を、前記対応する時間ステップにおいて、前記対応する拡張された音響フレーム(304A)に対する、前記オーディオエンコーダ(210)からの出力として生成された前記高次特徴表現(312)に関連付けられた時間特性と一致するように修正することを含む、請求項4に記載の対照シャムネットワーク(300)。
【請求項6】
前記拡張された分岐(320)は、前記複数の時間ステップの各々において、
入力として、前記対応する時間ステップにおいて前記オーディオエンコーダ(210)から出力された前記高次特徴表現(326)を受信することと、
出力として、前記対応する時間ステップにおいて前記目標分岐(310)によって生成された前記目標分岐出力(316)の前記予測(329)を生成することと
を行うように構成されたトランスフォーマレイヤの予測ネットワーク(328)を備える、請求項1から5のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項7】
対応する転写(308)とペアにされた、発話された発声(106)に対応する複数のラベル付きオーディオサンプル(305)でトレーニングされた教師付きサブネットワーク(301)をさらに備え、
前記教師付きサブネットワーク(301)は、
各ラベル付きオーディオサンプル(305)に対する複数の出力ステップの各々において、
前記音声認識モデル(200)を使って、前記ラベル付きオーディオサンプル(305)についての対応する音声認識結果(342)を生成し、
前記ラベル付きオーディオサンプル(305)についての前記対応する音声認識結果(342)、および前記ラベル付きオーディオサンプル(305)の前記対応する転写(308)に基づいて、教師付き損失項(350)を決定することと、
前記複数のラベル付きオーディオサンプル(305)の中の各ラベル付きオーディオサンプル(305)に対する前記複数の出力ステップの各々において決定された前記教師付き損失項(350)に基づいて、前記音声認識モデル(200)のパラメータを更新することと
を行うように構成される、請求項1から6のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項8】
前記音声認識モデル(200)を使って前記ラベル付きオーディオサンプル(305)について生成された前記対応する音声認識結果(342)は、対応する出力ステップにおける、前記ラベル付きオーディオサンプル(305)についての可能な音声認識仮説に関する確率分布を含む、請求項7に記載の対照シャムネットワーク(300)。
【請求項9】
前記教師付きサブネットワーク(301)は、前記教師なしネットワーク(302)が前記音声認識モデル(200)の前記オーディオエンコーダ(210)の前記パラメータを更新したことに依存せずに、前記教師付き損失項(350)に基づいて前記音声認識モデル(200)の前記パラメータを更新するように構成される、請求項7または8に記載の対照シャムネットワーク(300)。
【請求項10】
前記教師付きサブネットワーク(301)は、前記音声認識モデル(200)に入力された前記複数のラベル付きオーディオサンプル(305)の中の前記ラベル付きオーディオサンプル(305)の少なくとも1つにデータ拡張を適用するようにさらに構成される、請求項7から9のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項11】
前記適用されるデータ拡張は、ノイズを追加すること、残響を追加すること、またはタイミングを操作することのうちの少なくとも1つを含む、請求項10に記載の対照シャムネットワーク(300)。
【請求項12】
前記トレーニングされた音声認識モデル(200)は、トランスフォーマトランスデューサ(T-T)モデル(200)を含み、
前記T-Tモデル(200)は、
発話された発声(106)を特徴づけるオーディオデータから抽出された音響フレーム(110)のシーケンスを、入力として受信することと、
複数の時間ステップの各々において、前記音響フレーム(110)のシーケンスの中の対応する音響フレーム(110)に対する高次特徴表現(ah
t)を生成することと
を行うように構成された前記オーディオエンコーダ(210)と、
最終ソフトマックスレイヤ(240)によって出力された非ブランクシンボル(y
ui-1)のシーケンスを、入力として受信することと、
前記複数の時間ステップの各々において、密な表現(ih
u)を生成することと
を行うように構成されたラベルエンコーダ(220)と、
前記複数の時間ステップの各々において前記オーディオエンコーダ(210)によって生成された前記高次特徴表現(ah
t)、および前記複数の時間ステップの各々において前記ラベルエンコーダ(220)によって生成された前記密な表現(ih
u)を、入力として受信することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説に関する確率分布242を生成することと
を行うように構成された共同ネットワーク(230)と
を備え、
前記オーディオエンコーダ(210)は、ストライド畳込みレイヤおよびトランスフォーマレイヤのスタックを有するニューラルネットワークを備える、請求項1から11のいずれか一項に記載の対照シャムネットワーク(300)。
【請求項13】
データ処理ハードウェア(12)上で実行されると、前記データ処理ハードウェア(12)に動作を実行させる、コンピュータにより実施される方法(400)であって、前記動作は、
対応する転写(308)とペアにされていない、発話された発声(306)に対応する複数のラベルなしオーディオサンプル(303)を受信することと、
対照シャムネットワーク(300)の目標分岐(310)において、
音声認識モデル(200)のオーディオエンコーダ(210)を使って、前記複数のラベルなしオーディオサンプル(303)に対するエンコーダ出力(312)のシーケンスを生成すること、および
目標分岐出力(316)のシーケンスを生成するように、前記エンコーダ出力(312)の時間特性を修正することと、
前記対照シャムネットワーク(300)の拡張分岐(320)において、
前記ラベルなしオーディオサンプル(303)に対して拡張を実施すること、
前記音声認識モデル(200)の前記オーディオエンコーダ(210)を使って、前記拡張されたラベルなしオーディオサンプル(304A)に対する拡張されたエンコーダ出力(326)のシーケンスを生成すること、および
前記拡張されたエンコーダ出力(326)のシーケンスを受信するように構成された予測ネットワーク(328)を使って、前記目標分岐(310)において生成された前記目標分岐出力(316)のシーケンスの予測(329)を生成することと、
前記目標分岐(310)において生成された前記目標分岐出力(316)、および前記拡張分岐(320)において生成された前記目標分岐出力(316)のシーケンスの前記予測(329)に基づいて、教師なし損失項(330)を決定することと、
前記教師なし損失項(330)に基づいて、前記オーディオエンコーダ(210)のパラメータを更新することと
を含む、コンピュータにより実施される方法(400)。
【請求項14】
前記教師なし損失項(330)は対照損失項を含む、請求項13に記載のコンピュータにより実施される方法(400)。
【請求項15】
前記ラベルなしオーディオサンプル(303)に対して拡張を実施することは、前記ラベルなしオーディオサンプル(303)に対して時間修正およびマスキングを実施することを含む、請求項13または14に記載のコンピュータにより実施される方法(400)。
【請求項16】
前記動作は、前記オーディオエンコーダ(210)からの出力として、前記複数のラベルなしオーディオサンプル(303)に対する高次特徴表現を生成することをさらに含む、請求項13から15のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項17】
前記目標分岐出力(316)のシーケンスを生成するように前記エンコーダ出力(312)の前記時間特性を修正することは、前記オーディオエンコーダ(210)からの出力として生成された前記エンコーダ出力(312)の前記時間特性を、前記オーディオエンコーダ(210)からの前記拡張されたエンコーダ出力(326)のシーケンスに関連付けられた時間特性と一致するように修正することを含む、請求項16に記載のコンピュータにより実施される方法(400)。
【請求項18】
前記動作は、
前記拡張された分岐(320)のトランスフォーマレイヤの予測ネットワーク(328)への入力として、前記拡張されたエンコーダ出力(326)のシーケンスを受信することと、
前記拡張された分岐(320)のトランスフォーマレイヤの前記予測ネットワーク(328)からの出力として、前記目標分岐(310)において生成された前記目標分岐出力(316)のシーケンスの前記予測(329)を生成することと
をさらに含む、請求項13から17のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項19】
前記動作は、
対応する転写(308)とペアにされた、発話された発声(306)に対応する複数のラベル付きオーディオサンプル(305)を受信することと、
前記音声認識モデル(200)を使って、前記ラベル付きオーディオサンプル(305)についての音声認識結果(342)を生成することと、
前記ラベル付きオーディオサンプル(305)についての前記音声認識結果(342)、および前記ラベル付きオーディオサンプル(305)の前記対応する転写(308)に基づいて、教師付き損失項(350)を決定することと、
前記教師付き損失項(350)に基づいて、前記音声認識モデル(200)のパラメータを更新することと
をさらに含む、請求項13から18のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項20】
前記音声認識モデル(200)を使って、前記ラベル付きオーディオサンプル(305)について生成された前記音声認識結果(342)は、対応する出力ステップにおける、前記ラベル付きオーディオサンプル(305)についての可能な音声認識仮説に関する確率分布を含む、請求項19に記載のコンピュータにより実施される方法(400)。
【請求項21】
前記動作は、前記教師なし損失項(330)に基づいて前記オーディオエンコーダ(210)のパラメータを更新したことに依存せずに、前記教師付き損失(350)項に基づいて、前記音声認識モデル(200)のパラメータを更新することをさらに含む、請求項19または20に記載のコンピュータにより実施される方法(400)。
【請求項22】
前記動作は、前記ラベル付きオーディオサンプル(305)のうちの少なくとも1つにデータ拡張を適用することをさらに含む、請求項19から21のいずれか一項に記載のコンピュータにより実施される方法(400)。
【請求項23】
データ拡張を適用することは、ノイズを追加すること、残響を追加すること、またはタイミングを操作することのうちの少なくとも1つを含む、請求項22に記載のコンピュータにより実施される方法(400)。
【請求項24】
前記音声認識モデル(200)は、トランスフォーマトランスデューサ(T-T)モデル(200)を含み、
前記動作は、
前記T-Tモデル(200)の前記オーディオエンコーダ(210)への入力として、対応する転写(308)とペアにされていない、発話された発声(306)に対応する複数のラベルなしオーディオサンプル(303)を受信することと、
前記オーディオエンコーダ(210)によって、複数の時間ステップの各々において、発話された発声(106)を特徴づけるオーディオデータから抽出された音響フレーム(ah
t)のシーケンスを生成することと、
前記T-Tモデル(200)のラベルエンコーダ(220)への入力として、最終ソフトマックスレイヤ(240)によって出力された非ブランクシンボル(y
ui-1)のシーケンスを受信することと、
前記ラベルエンコーダ(220)によって、前記複数の時間ステップの各々において、密な表現(ih
u)を生成することと、
前記T-Tモデル(200)の共同ネットワーク(230)への入力として、前記複数の時間ステップの各々において前記オーディオエンコーダ(210)によって生成された
前記複数のラベルなしオーディオサンプル(303)に対する高次特徴表現、および前記複数の時間ステップの各々において前記ラベルエンコーダ(220)によって生成された前記密な表現(ah
t)を受信することと、
前記共同ネットワーク(230)によって、前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説に関する確率分布(242)を生成することと
をさらに含み、
前記オーディオエンコーダ(210)は、ストライド畳込みレイヤおよびトランスフォーマレイヤのスタックを有するニューラルネットワークを備える、請求項13から23のいずれか一項に記載のコンピュータにより実施される方法(400)。
【国際調査報告】