(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-12
(54)【発明の名称】シーケンスにわたって対照損失を用いる教師ありトレーニングおよび教師なしトレーニング
(51)【国際特許分類】
G10L 15/06 20130101AFI20240305BHJP
G10L 15/16 20060101ALI20240305BHJP
G10L 13/00 20060101ALI20240305BHJP
【FI】
G10L15/06 300Y
G10L15/16
G10L13/00 100Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558999
(86)(22)【出願日】2022-03-22
(85)【翻訳文提出日】2023-10-31
(86)【国際出願番号】 US2022021368
(87)【国際公開番号】W WO2022204165
(87)【国際公開日】2022-09-29
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ローゼンバーグ、アンドリュー
(72)【発明者】
【氏名】ラマバドラン、ブバナ
(72)【発明者】
【氏名】チェン、ジェフアイ
(72)【発明者】
【氏名】ワン、ユアン
(72)【発明者】
【氏名】チャン、ユー
(72)【発明者】
【氏名】エモンド、ジェシー
(57)【要約】
方法(500)は、発話(304)に対応する音声データ(302)を受信する工程と、正の音声データ例(312)のペアを生成する工程とを含む。ここで、各正の音声データ例は、音声データの拡張コピーを含む。各それぞれの正の音声データ例について、方法は、エンコーダ出力のそれぞれのシーケンス(212)を生成する工程と、エンコーダ出力のそれぞれのシーケンスを対照損失空間に投影する工程とを含む。方法はまた、正の音声データ例に関するエンコーダ出力の投影シーケンス内の各対応するエンコーダ出力間のL2距離(352)を求める工程と、L2距離を平均することによって発話毎の一貫性損失(355)を求める工程とを含む。方法はまた、各それぞれの正の音声データ例について、対応する音声認識結果(322)を生成する工程を含む。方法はまた、それぞれの教師あり損失項(335)および発話毎の一貫性損失に基づいて、音声認識モデル(200)のパラメータを更新する工程を含む。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(610)によって実行されると、前記データ処理ハードウェア(610)に動作を実行させる、コンピュータが実施する方法(500)であって、前記動作は、
発話(304)に対応する音声データ(302)を受信する、音声データ受信工程と、
データ拡張モジュール(310)を使用して正の音声データ例(312)のペアを生成する工程であって、前記正の音声データ例(312)のペアにおける各正の音声データ例(312)は、前記発話(304)に対応する受信された前記音声データ(302)のそれぞれの拡張コピーを含む、ペア生成工程と、
前記正の音声データ例(312)のペアにおける各それぞれの正の音声データ例(312)について、
ニューラルネットワークエンコーダ(210)を使用してエンコーダ出力のそれぞれのシーケンス(212)を生成する工程と、
畳み込みニューラルネットワーク(CNN)(340)を使用して前記それぞれの正の音声データ例(312)についての前記エンコーダ出力のそれぞれのシーケンス(212)を対照損失空間に投影する工程と、
前記正の音声データ例(312)についてのエンコーダ出力の投影された前記シーケンス(212)内の各対応するエンコーダ出力間のL2距離(352)を求める工程と、
前記エンコーダ出力の投影された前記シーケンス(212)内の前記エンコーダ出力について求められた前記L2距離(352)を平均することによって発話毎の一貫性損失(355)を求める工程と
音声認識モデル(200)を使用して、前記正の音声データ例(312)のペアにおける各それぞれの正の音声データ例(312)について、対応する音声認識結果(322)を生成する、音声認識結果生成工程と、
各対応する音声認識結果(322)に関連付けられたそれぞれの教師あり損失項(335)および前記発話毎の一貫性損失(355)に基づいて、前記音声認識モデル(200)のパラメータを更新する工程と、を備える、コンピュータが実施する方法(500)。
【請求項2】
前記CNN(340)は、正規化線形活性化関数(ReLU)活性化およびLayerNorm層が後に続く第1CNN層と、線形活性化を有する第2CNN層と、を備える、請求項1に記載の方法(500)。
【請求項3】
前記データ拡張モジュール(310)は、ノイズ、残響のうちの1つ以上を追加するか、または受信された前記音声データ(302)のタイミングを操作する、請求項1または2に記載の方法(500)。
【請求項4】
前記音声認識モデル(200)は、コンフォーマベースのエンコーダおよび長短期記憶(LSTM)デコーダを有するシーケンストランスデューサモデルを含む、請求項1乃至3のいずれか一項に記載の方法(500)。
【請求項5】
前記コンフォーマベースのエンコーダは、コンフォーマ層のスタックを備え、各コンフォーマ層は、一連のマルチヘッド自己注意層、深さ方向畳み込み層、およびフィードフォワード層を含む、請求項4に記載の方法(500)。
【請求項6】
前記動作は、
トレーニング発話(304)のセットを受信する工程であって、前記トレーニング発話(304)のセット内の各トレーニング発話(304)は、対応する発話(304)の非合成音声表現(362)を含む、工程と、
前記トレーニング発話(304)のセット内の各トレーニング発話(304)について、テキスト-音声(TTS)モデル(360)を使用して、前記対応する発話(304)のグラウンドトゥルーストランスクリプション(305)を変換することで、同一の前記対応する発話(304)の1つまたは複数の合成音声表現(364)を生成する工程と、をさらに備え、
前記音声データ受信工程は、前記対応する発話(304)の前記非合成音声表現(362)のうちの1つ、または前記対応する発話(106)の前記1つまたは複数の合成音声表現(364)のうちの1つを受信する工程を含む、請求項1乃至5のいずれか一項に記載の方法(500)。
【請求項7】
前記音声認識結果生成工程は、デコーダ(320)を使用して、前記エンコーダ出力のそれぞれのシーケンス(212)について可能な音声認識仮説にわたる確率分布(322)を求める工程を含む、請求項1乃至6のいずれか一項に記載の方法(500)。
【請求項8】
前記動作は、前記それぞれの正の音声データ例(312)についての前記対応する音声認識結果(322)と前記それぞれの正の音声データ例(312)の対応するグラウンドトゥルーストランスクリプション(305)とを比較することによって、前記それぞれの教師あり損失項(335)を求める工程をさらに備える、請求項1乃至7のいずれか一項に記載の方法(500)。
【請求項9】
前記正の音声データ例(312)のペアにおける各正の音声データ例(312)は、前記正の音声データ例(312)のペアにおける他の各正の音声データ例(312)とは異なる、前記発話(304)に対応する受信された前記音声データ(302)のそれぞれの拡張コピーを含む、請求項1乃至8のいずれか一項に記載の方法(500)。
【請求項10】
前記ペア生成工程は、前記発話(304)の一度の測定に基づいて、前記正の音声データ例(312)のペアにおける各正の音声データ例(312)を生成する工程を含む、請求項1乃至9のいずれか一項に記載の方法(500)。
【請求項11】
システム(100)であって、
データ処理ハードウェア(610)と、
前記データ処理ハードウェア(610)と通信するメモリハードウェア(620)と、を備え、前記メモリハードウェア(620)は、前記データ処理ハードウェア(610)上で実行されると前記データ処理ハードウェア(610)に動作を実行させる命令を記憶し、前記動作は、
発話(304)に対応する音声データ(302)を受信する、音声データ受信工程と、
データ拡張モジュール(310)を使用して正の音声データ例(312)のペアを生成する工程であって、前記正の音声データ例(312)のペアにおける各正の音声データ例(312)は、前記発話(304)に対応する受信された前記音声データ(302)のそれぞれの拡張コピーを含む、ペア生成工程と、
前記正の音声データ例(312)のペアにおける各それぞれの正の音声データ例(312)について、
ニューラルネットワークエンコーダ(210)を使用してエンコーダ出力のそれぞれのシーケンス(212)を生成する工程と、
畳み込みニューラルネットワーク(CNN)(340)を使用して前記それぞれの正の音声データ例(312)についての前記エンコーダ出力のそれぞれのシーケンス(212)を対照損失空間に投影する工程と、
前記正の音声データ例(312)についてのエンコーダ出力の投影された前記シーケンス(212)内の各対応するエンコーダ出力間のL2距離(352)を求める工程と、
前記エンコーダ出力の投影された前記シーケンス(212)内の前記エンコーダ出力について求められた前記L2距離(352)を平均することによって発話毎の一貫性損失(355)を求める工程と
音声認識モデル(200)を使用して、前記正の音声データ例(312)のペアにおける各それぞれの正の音声データ例(312)について、対応する音声認識結果(322)を生成する、音声認識結果生成工程と、
各対応する音声認識結果(322)に関連付けられたそれぞれの教師あり損失項(335)および前記発話毎の一貫性損失(355)に基づいて、前記音声認識モデル(200)のパラメータを更新する工程と、を備える、システム(100)。
【請求項12】
前記CNN(340)は、正規化線形活性化関数(ReLU)活性化およびLayerNorm層が後に続く第1CNN層と、線形活性化を有する第2CNN層と、を備える、請求項11に記載のシステム(100)。
【請求項13】
前記データ拡張モジュール(310)は、ノイズ、残響のうちの1つ以上を追加するか、または受信された前記音声データ(302)のタイミングを操作する、請求項11または12に記載のシステム(100)。
【請求項14】
前記音声認識モデル(200)は、コンフォーマベースのエンコーダおよび長短期記憶(LSTM)デコーダを有するシーケンストランスデューサモデルを含む、請求項11乃至13のいずれか一項に記載のシステム(100)。
【請求項15】
前記コンフォーマベースのエンコーダは、コンフォーマ層のスタックを備え、各コンフォーマ層は、一連のマルチヘッド自己注意層、深さ方向畳み込み層、およびフィードフォワード層を含む、請求項14に記載のシステム(100)。
【請求項16】
前記動作は、
トレーニング発話(304)のセットを受信する工程であって、前記トレーニング発話(304)のセット内の各トレーニング発話(304)は、対応する発話(304)の非合成音声表現(362)を含む、工程と、
前記トレーニング発話(304)のセット内の各トレーニング発話(304)について、テキスト-音声(TTS)モデル(360)を使用して、前記対応する発話(304)のグラウンドトゥルーストランスクリプション(305)を変換することで、同一の前記対応する発話(304)の1つまたは複数の合成音声表現(364)を生成する工程と、をさらに備え、
前記音声データ受信工程は、前記対応する発話(304)の前記非合成音声表現(362)のうちの1つ、または前記対応する発話(106)の前記1つまたは複数の合成音声表現(364)のうちの1つを受信する工程を含む、請求項11乃至15のいずれか一項に記載のシステム(100)。
【請求項17】
前記音声認識結果生成工程は、デコーダ(320)を使用して、前記エンコーダ出力のそれぞれのシーケンス(212)について可能な音声認識仮説にわたる確率分布(322)を求める工程を含む、請求項11乃至16のいずれか一項に記載のシステム(100)。
【請求項18】
前記動作は、前記それぞれの正の音声データ例(312)についての前記対応する音声認識結果(322)と前記それぞれの正の音声データ例(312)の対応するグラウンドトゥルーストランスクリプション(305)とを比較することによって、前記それぞれの教師あり損失項(335)を求める工程をさらに備える、請求項11乃至17のいずれか一項に記載のシステム(100)。
【請求項19】
前記正の音声データ例(312)のペアにおける各正の音声データ例(312)は、前記正の音声データ例(312)のペアにおける他の各正の音声データ例(312)とは異なる、前記発話(304)に対応する受信された前記音声データ(302)のそれぞれの拡張コピーを含む、請求項11乃至18のいずれか一項に記載のシステム(100)。
【請求項20】
前記ペア生成工程は、前記発話(304)の一度の測定に基づいて、前記正の音声データ例(312)のペアにおける各正の音声データ例(312)を生成する工程を含む、請求項11乃至19のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、シーケンスにわたって対照損失を用いる教師ありトレーニングおよび教師なしトレーニングに関する。
【背景技術】
【0002】
ASR(自動音声認識)は、音声入力を取得してテキストに起こすプロセスであり、モバイルデバイスおよび他のデバイスにおいて使用される重要な技術である。一般に、自動音声認識は、音声入力(例えば、音声発話)を取得してその音声入力をテキストに起こすことによって、人が話した内容の正確なトランスクリプションを提供しようと試みる。現代のASRモデルは、ディープニューラルネットワークの進行中の開発に基づいて、精度(例えば、低いWER(単語誤り率))およびレイテンシ(例えば、ユーザの発話とトランスクリプションとの間の遅延)の両方において改善し続けている。しかしながら、深層学習ベースのASRモデルを開発する際の1つの課題は、ASRモデルのパラメータがトレーニングデータに過剰適合する傾向があり、それによって、トレーニングデータが十分に広範囲でない場合に、ASRモデルが未知のデータを一般化することが困難になることである。結果として、より大きなトレーニングデータセットについてASRモデルをトレーニングすることは、ASRモデルの精度を改善する。トレーニングデータセットにデータ拡張を適用することで、ASRモデルをトレーニングするために使用されるトレーニングデータセットの音響的多様性を増加させることができる。
【発明の概要】
【0003】
本開示の一態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、シーケンスにわたって対照損失を用いる教師ありトレーニングおよび教師なしトレーニングのための動作を実行させる、コンピュータが実施する方法を提供する。動作は、発話に対応する音声データを受信する、音声データ受信工程を含む。動作はまた、データ拡張モジュールを使用して正の音声データ例のペアを生成するペア生成工程を含む。ここで、正の音声データ例のペアにおける各正の音声データ例は、発話に対応する受信された音声データのそれぞれの拡張コピーを含む。正の音声データ例のペアにおける各それぞれの正の音声データ例について、動作は、ニューラルネットワークエンコーダを使用してエンコーダ出力のそれぞれのシーケンスを生成する工程と、CNN(畳み込みニューラルネットワーク)を使用してそれぞれの正の音声データ例についてのエンコーダ出力のそれぞれのシーケンスを対照損失空間に投影する工程とを含む。動作はまた、正の音声データ例に関するエンコーダ出力の投影シーケンス内の各対応するエンコーダ出力間のL2距離を求める工程を含む。動作はまた、エンコーダ出力の投影シーケンス内のエンコーダ出力について求められたL2距離を平均することによって発話毎の一貫性損失を求める工程を含む。動作はまた、音声認識モデルを使用して、正の音声データ例のペアにおける各それぞれの正の音声データ例について、対応する音声認識結果を生成する、音声認識結果生成工程を含む。動作はまた、各対応する音声認識結果に関連付けられたそれぞれの教師あり損失項および発話毎の一貫性損失に基づいて、音声認識モデルのパラメータを更新する工程を含む。
【0004】
本開示の実装は、以下の選択的特徴のうちの1つまたは複数を含んでよい。いくつかの実装では、CNNは、正規化線形活性化関数(ReLU)活性化およびLayerNorm層が後に続く第1CNN層と、線形活性化を有する第2CNN層と、を含む。データ拡張モジュールは、ノイズ、残響のうちの1つ以上を追加するか、または受信された音声データのタイミングを操作してよい。いくつかの例では、音声認識モデルは、コンフォーマベースのエンコーダおよび長短期(LSTM)デコーダを有するシーケンストランスデューサモデルを含む。これらの例では、コンフォーマベースのエンコーダは、コンフォーマ層のスタックを含み、各コンフォーマ層は、一連のマルチヘッド自己注意層、深さ方向畳み込み層、およびフィードフォワード層を含む。
【0005】
いくつかの実装では、動作は、トレーニング発話のセットを受信する工程であって、各トレーニング発話は、対応する発話の非合成音声表現を含む、工程と、トレーニング発話のセット内の各トレーニング発話について、TTS(テキスト-音声)モデルを使用して、対応する発話のグラウンドトゥルーストランスクリプションを変換することで、同一の対応する発話の1つまたは複数の合成音声表現を生成する工程と、をさらに含む。ここで、音声データ受信工程は、対応する発話の非合成音声表現のうちの1つ、または対応する発話の1つまたは複数の合成音声表現のうちの1つを受信する工程を含む。いくつかの例では、音声認識結果生成工程は、デコーダを使用して、エンコーダ出力のそれぞれのシーケンスについて可能な音声認識仮説にわたる確率分布を求めることを含む。
【0006】
動作は、それぞれの正の音声データ例についての対応する音声認識結果とそれぞれの正の音声データ例の対応するグラウンドトゥルーストランスクリプションとを比較することによって、それぞれの教師あり損失項を求める工程をさらに含んでよい。いくつかの実装では、正の音声データ例のペアにおける各正の音声データ例は、正の音声データ例のペアにおける他の各正の音声データ例とは異なる、発話に対応する受信された音声データのそれぞれの拡張コピーを含む。いくつかの例では、ペア生成工程は、発話の一度の測定に基づいて、正の音声データ例のペアにおける各正の音声データ例を生成する工程を含む。
【0007】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに動作を実行させる命令を記憶するメモリハードウェアとを含むシステムを提供する。動作は、発話に対応する音声データを受信する、音声データ受信工程を含む。動作はまた、データ拡張モジュールを使用して正の音声データ例のペアを生成するペア生成工程を含む。ここで、正の音声データ例のペアにおける各正の音声データ例は、発話に対応する受信された音声データのそれぞれの拡張コピーを含む。正の音声データ例のペアにおける各それぞれの正の音声データ例について、動作は、ニューラルネットワークエンコーダを使用してエンコーダ出力のそれぞれのシーケンスを生成する工程と、CNN(畳み込みニューラルネットワーク)を使用してそれぞれの正の音声データ例についてのエンコーダ出力のそれぞれのシーケンスを対照損失空間に投影する工程とを含む。動作はまた、正の音声データ例に関するエンコーダ出力の投影シーケンス内の各対応するエンコーダ出力間のL2距離を求める工程を含む。動作はまた、エンコーダ出力の投影シーケンス内のエンコーダ出力について求められたL2距離を平均することによって発話毎の一貫性損失を求める工程を含む。動作はまた、音声認識モデルを使用して、正の音声データ例のペアにおける各それぞれの正の音声データ例について、対応する音声認識結果を生成する工程を含む。動作はまた、各対応する音声認識結果に関連付けられたそれぞれの教師あり損失項および発話毎の一貫性損失に基づいて、音声認識モデルのパラメータを更新する工程を含む。
【0008】
本開示の実装は、以下の選択的特徴のうちの1つまたは複数を含んでよい。いくつかの実装では、CNNは、正規化線形活性化関数(ReLU)活性化およびLayerNorm層が後に続く第1CNN層と、線形活性化を有する第2CNN層とを含む。データ拡張モジュールは、ノイズ、残響のうちの1つ以上を追加するか、または受信された音声データのタイミングを操作してよい。いくつかの例では、音声認識モデルは、コンフォーマベースのエンコーダおよび長短期(LSTM)デコーダを有するシーケンストランスデューサモデルを含む。これらの例では、コンフォーマベースのエンコーダは、コンフォーマ層のスタックを含み、各コンフォーマ層は、一連のマルチヘッド自己注意層、深さ方向畳み込み層、およびフィードフォワード層を含む。
【0009】
いくつかの実装では、動作は、トレーニング発話のセットを受信する工程であって、各トレーニング発話は、対応する発話の非合成音声表現を含む、工程と、トレーニング発話のセット内の各トレーニング発話について、TTS(テキスト-音声)モデルを使用して、対応する発話のグラウンドトゥルーストランスクリプションを変換することで、同一の対応する発話の1つまたは複数の合成音声表現を生成する工程と、をさらに含む。ここで、音声データ受信工程は、対応する発話の非合成音声表現のうちの1つ、または対応する発話の1つまたは複数の合成音声表現のうちの1つを受信する工程を含む。いくつかの例では、音声認識結果生成工程は、デコーダを使用して、エンコーダ出力のそれぞれのシーケンスについて可能な音声認識仮説にわたる確率分布を求めることを含む。
【0010】
動作は、それぞれの正の音声データ例についての対応する音声認識結果とそれぞれの正の音声データ例の対応するグラウンドトゥルーストランスクリプションとを比較することによって、それぞれの教師あり損失項を求める工程をさらに含んでよい。いくつかの実装では、正の音声データ例のペアにおける各正の音声データ例は、正の音声データ例のペアにおける他の各正の音声データ例とは異なる、発話に対応する受信された音声データのそれぞれの拡張コピーを含む。いくつかの例では、ペア生成工程は、発話の一度の測定に基づいて、正の音声データ例のペアにおける各正の音声データ例を生成する工程を含む。
【0011】
本開示の1つまたは複数の実装の詳細は、添付の図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0012】
【
図2】RNN-T(回帰型ニューラルネットワーク-トランスデューサ)モデルアーキテクチャの概略図。
【
図3】音声認識モデルの例示的なトレーニングプロセスの概略図。
【
図4】非合成音声表現および合成音声表現を使用して正の音声データ例を生成する概略図。
【
図5】シーケンスにわたって対照損失を用いる教師ありトレーニングおよび教師なしトレーニングの方法のための動作の例示的な構成のフローチャート。
【
図6】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図。
【発明を実施するための形態】
【0013】
様々な図面における同様の参照符号は、同様の要素を示す。
ASR(自動音声認識)は、音声から文字シーケンスにマッピングするSeq2Seq(シーケンスツーシーケンス)モデルの導入によって非常に大きな進歩を遂げた。同時に、TTS(テキスト-音声)または音声合成システムは、Seq2Seqモデルをうまく適用することで、人間の耳には人間音声と区別不能なほどの自然で現実的に聞こえる最新技術の合成音声を得てきた。
【0014】
深層学習ベースのASRモデルを開発する際の1つの課題は、ASRモデルのパラメータがトレーニングデータに過剰適合する傾向があり、それによって、トレーニングデータが十分に広範囲ではない場合に、ASRモデルが未知のデータを一般化することが困難になることである。したがって、より大きなトレーニングデータセットについてASRモデルをトレーニングすることは、ASRモデルの精度を改善する。例えば、機械学習または他の統計的方法の使用は、10000時間以上の文字起こしされた音声を含むトレーニングデータセットについてASRモデルをトレーニングすることができる。しかし、トレーニングデータに関連付けられたドメインがASRモデルの展開されるドメインとは異なる場合、推論中にASRモデルの性能は落ちる。例えば、ビデオ会議に関連付けられたドメインにおいて文字起こしされた音声についてASRモデルをトレーニングすることは、音声検索クエリに関連する音声を認識する際にあまり効果的ではなく、同様に、音声検索クエリに関連付けられたドメインにおいて文字起こしされた音声についてASRモデルをトレーニングすることは、ビデオ会議に関連する音声を認識する際にあまり効果的ではない。
【0015】
合成音声は、ASRモデルをトレーニングするために必要とされるラベル付けされた人間音声の量を大幅に抑制する可能性を有する一方で、異なるドメインにわたってASRモデルを横断する柔軟性も提供する。一般に、合成音声の使用は、最新技術の合成音声の例は人間音声と区別不能にもかかわらず、ASRトレーニングに対して人間音声とは異なる影響を与えることが示されている。合成音声と人間音声との間のこのギャップは、TTS(テキスト-音声)システムが解決しようとしている困難な1対多マッピング問題から生じる、合成音声データにおける人間音声データとの不一致に起因する。すなわち、利用可能な合成音声の総合的な品質は非常に高いが、合成音声は、人間音声よりもはるかに少ない変動を示すだけでなく、最小限の音声の非流暢性を示す。結果として、合成音声データのみについてASRモデルをトレーニングすることにより、推論中に実際の音声発話を一般化することが困難になる。
【0016】
トレーニングデータセットの合成音声および非合成音声を拡張することにより、トレーニングデータセットの音響的多様性を増大させることができる。特に、トレーニング音声発話を拡張することは、単一のトレーニング音声発話から複数のトレーニング音声発話を生成し得る。本明細書では、異なる拡張技法が、複数の拡張されたトレーニング音声発話の各々に適用され得る。したがって、トレーニングデータセットの合成音声および非合成音声にデータ拡張を適用することはまた、ASRモデルをトレーニングするために必要とされるラベル付けされた人間音声の量を大幅に抑制し得る。
【0017】
本明細書の実装は、大量のラベル付けされたトレーニングデータが利用可能でないかまたはあまり普及していない場合に、ASRモデルをトレーニングするためのトレーニング発話を拡張する方法およびシステムを対象とする。より具体的には、本明細書の実装は、正則化下での一貫性を含むASRモデルの教師ありトレーニングプロセスを対象とする。トレーニングプロセスは、受信されたトレーニング発話のためのデータ拡張モジュールを使用して、正の音声データ例のペアを生成する工程を含む。各音声データ例は、受信されたトレーニング発話の異なる拡張コピーを含む。正のデータ例ごとに、エンコーダは、エンコーダ出力のそれぞれのシーケンスを生成し、エンコーダ出力のそれぞれのシーケンスを対照損失空間に投影する。一貫性損失モジュールは、エンコーダ出力の投影シーケンスの各対応するエンコーダ出力間のL2距離を求めるとともに、L2距離を平均することによって発話毎の一貫性損失(すなわち、対照損失)を求める。明らかになるように、ASRモデルのトレーニングは、教師あり損失および発話毎の一貫性損失の組合せに基づいてASRモデルのパラメータを更新することを含む。
【0018】
図1は、ユーザ104のユーザデバイス102および/またはユーザデバイス102と通信するリモートコンピューティングデバイス201(例えば、クラウドコンピューティング環境で実行される分散システムの1つまたは複数のサーバ)に常駐するASRモデル200を実装するASR(自動音声認識)システム100を示す。ユーザデバイス102は、モバイルコンピューティングデバイス(例えば、スマートフォン)として示されているが、ユーザデバイス102は、限定されることなく、タブレットデバイス、ラップトップ/デスクトップコンピュータ、ウェアラブルデバイス、デジタルアシスタントデバイス、スマートスピーカ/ディスプレイ、スマート家電、自動車インフォテインメント(infotainment)システム、またはIoT(モノのインターネット)デバイスなど、任意の種類のコンピューティングデバイスに対応してよいとともに、データ処理ハードウェア111およびメモリハードウェア113を備える。
【0019】
ユーザデバイス102は、ユーザ104によって話された発話106を受信(例えば、ユーザデバイス102は、話された発話106を記録するための1つまたは複数のマイクロフォンを含んでよい)するとともに、発話106を、ASRシステム100によって処理が可能な入力音響フレーム110に関連付けられた対応するデジタルフォーマットに変換するよう構成されたオーディオサブシステム108を含む。図示の例では、ユーザは、「What is the weather in New York City?」というフレーズについて英語の自然言語で各発話106を行い、オーディオサブシステム108は、ASRシステム100への入力のために、発話106を対応する音響フレーム110に変換する。その後、ASRモデル200は、発話106に対応する音響フレーム110を入力として受信するとともに、発話106の対応するトランスクリプション120(例えば、認識結果/仮説)を出力として生成/予測する。図示の例では、ユーザデバイス102および/またはリモートコンピューティングデバイス201はまた、発話106のトランスクリプション120の表示をユーザデバイス102のユーザ104に提示するよう構成されたユーザインターフェースジェネレータ107を実行する。いくつかの構成において、ASRシステム100から出力されたトランスクリプション120は、ユーザコマンドを実行するために、例えば、ユーザデバイス102またはリモートコンピューティングデバイス201上で実行されるNLU(自然言語理解)モジュールによって処理される。追加的または代替的には、(例えば、ユーザデバイス102またはリモートコンピューティングデバイス201の任意の組合せ上で実行される)テキスト音声変換システムは、別のデバイスによる可聴出力用に、トランスクリプション120を合成音声に変換してもよい。例えば、元の発話106は、ユーザ104が友人に送信するメッセージに対応してよく、トランスクリプション120は、元の発話106で伝達されるメッセージを友人が聞くために可聴出力用に合成音声に変換される。
【0020】
図2を参照すると、例示的なフレームアライメントベースのトランスデューサモデル200aは、対話型アプリケーションに関連付けられたレイテンシ制約に従うRNN-T(回帰型ニューラルネットワーク-トランスデューサ)モデルアーキテクチャを含む。RNN-Tモデルアーキテクチャの使用は例示的なものであり、フレームアライメントベースのトランスデューサモデル200は、とりわけトランスフォーマ-トランスデューサモデルアーキテクチャおよびコンフォーマ-トランスデューサモデルアーキテクチャなどの他のアーキテクチャを含んでよい。RNN-Tモデル200は、小さな計算フットプリントを提供し、従来のASRアーキテクチャよりも少ないメモリ要件を利用することで、RNN-Tモデルアーキテクチャを、完全にユーザデバイス102上で音声認識を実行するのに適したものにする(例えば、リモートサーバとの通信は必要とされない)。RNN-Tモデル200は、エンコーダネットワーク210、予測ネットワーク220、およびジョイントネットワーク230を含む。エンコーダネットワークエンコーダ210(単に「エンコーダ210」とも呼ばれる)は、従来のASRシステムにおけるAM(音響モデル)に概ね類似しており、積み重ねられたLSTM(長短期記憶)層の回帰ネットワークを含む。例えば、エンコーダは、d次元特徴ベクトル(例えば、音響フレーム110(
図1))x=(x
1,x
2,…,x
T)のシーケンスを読み込む。ここで、
【0021】
【0022】
であり、エンコーダは、各出力ステップにおいて、高次特徴表現を生成する。この高次特徴表現は、
【0023】
【0024】
と表される。
同様に、予測ネットワーク220もLSTMネットワーク(すなわち、LSTMデコーダ)であり、LM(言語モデル)のように、最後のソフトマックス層240によって出力された非ブランクシンボルのシーケンスy0,...,yui-1,を密表現
【0025】
【0026】
に処理する。最後に、RNN-Tモデルアーキテクチャを用いて、エンコーダおよび予測/デコーダネットワーク210、220によって生成された表現は、ジョイントネットワーク230によって結合される。予測ネットワーク220は、埋め込みルックアップテーブルによって置き換えられて、密表現を処理する代わりに、探索されたスパースな埋め込みを出力することによってレイテンシを改善してよい。次に、ジョイントネットワークは、次の出力シンボルにわたる分布である
【0027】
【0028】
を予測する。言い換えれば、ジョイントネットワーク230は、各出力ステップ(例えば、時間ステップ)において、可能な音声認識仮説にわたる確率分布を生成する。本明細書では、「可能な音声認識仮説」は、指定された自然言語における記号/文字を各々が表す出力ラベルのセットに対応する。例えば、自然言語が英語であるとき、出力ラベルのセットは、27個のシンボル、例えば、英語アルファベット中の26文字の各々について1つのラベルと、スペースを指定する1つのラベルとを含み得る。したがって、ジョイントネットワーク230は、出力ラベルの所定のセットの各々の発生の可能性を示す値のセットを出力し得る。この値のセットは、ベクトルであってよいとともに、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは書記素(例えば、個々の文字、ならびに潜在的には句読点および他のシンボル)であるが、出力ラベルのセットはそのように限定されない。例えば、出力ラベルのセットは、書記素に加えて、または書記素の代わりに、単語片および/または単語全体を含むことができる。ジョイントネットワーク230の出力分布は、異なる出力ラベルの各々に対する事後確率値を含むことができる。したがって、異なる書記素または他のシンボルを表す100個の異なる出力ラベルが存在する場合、ジョイントネットワーク230の出力yiは、各出力ラベルに1つずつ、100個の異なる確率値を含むことができる。次いで、確率分布を使用して、トランスクリプション120を決定するための(例えば、ソフトマックス層240による)ビーム探索プロセスにおいて、正書法候補要素(例えば、書記素、単語片、および/または単語)を選択するとともに、それらにスコアを割り当てることができる。
【0029】
ソフトマックス層240は、対応する出力ステップにおいてRNN-Tモデル200によって予測される次の出力シンボルとして、分布において最も高い確率を有する出力ラベル/シンボルを選択するために、任意の技術を採用してもよい。このようにして、RNN-Tモデル200は、条件付き独立仮定を行わず、むしろ、各シンボルの予測は、音響だけでなく、これまでに出力されたラベルのシーケンスにも条件付けられる。RNN-Tモデル200は、出力シンボルが将来の音響フレーム110から独立していると仮定し、これにより、RNN-Tモデルをストリーミング方式で使用することが可能になる。
【0030】
いくつかの例では、RNN-Tモデル200のエンコーダネットワーク(すなわち、オーディオエンコーダ)210は、コンフォーマ層のスタックを含むコンフォーマベースのエンコーダを含む。本明細書では、各コンフォーマ層は、一連のマルチヘッド自己注意層、深さ方向畳み込み層、およびフィードフォワード層を含む。エンコーダネットワーク210は、マルチヘッド自己注意機構を有する他の種類のエンコーダを含んでよい。例えば、エンコーダネットワーク210は、トランスフォーマベースのエンコーダまたはLConv(軽量畳み込み)ベースのエンコーダであってよい。エンコーダネットワーク210はまた、一連のLSTM層を含むRNNベースであってもよい。予測ネットワーク220は、2つの2048次元のLSTM層を有してよく、640次元の投影層が各々の後に続く。代替的には、予測ネットワーク220は、LSTM層の代わりに、トランスフォーマまたはコンフォーマブロックのスタック、または埋め込みルックアップテーブルを含んでもよい。最後に、ジョイントネットワーク230はまた、640個の隠れユニットを有してよい。ソフトマックス層240は、複数のトレーニングデータセット内の一意の単語片または書記素をすべて使用して生成される、統合された単語片または書記素セットから構成されてよい。
【0031】
図3は、ASRモデル200をトレーニングするための例示的なトレーニングプロセス300を示す。本明細書では、例示的なトレーニングプロセス300は、教師ありトレーニングコンポーネントおよび教師なしトレーニングコンポーネントを含む。例示的なトレーニングプロセス300(単に「トレーニングプロセス300」とも呼ばれる)は、トレーニング発話304、304a~n(
図4)のセットからのトレーニング発話304に対応する音声データ302を受信するデータ拡張モジュール310を含む。音声データ302は、
図4を参照してより詳細に説明されるように、トレーニング発話304の非合成音声表現または合成音声表現を表してよい。
【0032】
データ拡張モジュール310は、ASRモデル200をトレーニングするために使用されるトレーニング発話304の音響的多様性を増加するように構成される。いくつかの例では、データ拡張モジュール310は、音声データ302の雑音の追加/注入、残響の追加、および/またはタイミングの操作(例えば、伸張)のうちの1つ以上を含むデータ拡張技法を利用する。任意選択で、データ拡張技法はタイムワーピングを含むことができる。別のデータ拡張技法は、MTR(マルチスタイルトレーニング)を使用して、様々な環境雑音を音声データ302に注入することを含む。
【0033】
データ拡張モジュール310は、受信された音声データ302に対してデータ拡張技法の任意の組合せを適用することで、正の音声データ例312のペアを生成する。図示の例では、正の音声データ例312のペアは、単に明確さのために、2つの正のデータ例(すなわち、第1の正の音声データ例312、312aおよび第2の正の音声データ例312、312b)を含むが、正の音声データ例312のペアは、任意の数の正の音声データ例312を含んでよいことを理解されたい。例えば、正の音声データ例312のペアは、5つの正の音声データ例312を含み得る(例えば、この例では、正の音声データ例312のペアは、正の音声データ例312のグループと呼ばれ得る)。
【0034】
データ拡張モジュール310は、トレーニング発話304に対応する音声データ302の一度の測定に基づいて、正の音声データ例312のペアにおける各正の音声データ例312を生成する。言い換えると、正の音声データ例312のペアにおける各正の音声データ例312は、同一の音声データ302および同一のトレーニング発話304を表す(すなわち、各ペアにおける音声データ例312は語彙的に同一である)。データ拡張モジュール310は、異なるデータ拡張技法(例えば、ノイズ、残響、および/またはタイミング操作)を正の音声データ例312のペアにおける各正の音声データ例312に対して適用することで、正の音声データ例312間の音響的多様性を提供してもよい。いくつかの事例では、データ拡張モジュール310は、各正の音声データ例312に対して同一のデータ拡張技法を適用するが、各正の音声データ例312に対して異なる量のデータ拡張技法を適用する。例えば、データ拡張モジュール310は、第1の量のノイズを第1の正の音声データ例312aに対して適用するとともに、第2の量のノイズを第2の正の音声データ例312bに適用し得る。
【0035】
したがって、正の音声データ例312のペアにおける各正の音声データ例312は、トレーニング発話304に対応する受信された音声データ302のそれぞれの拡張コピーを含む。特に、各正の音声データ例312は、他の正の音声データ例312とは異なる受信された音声データ302のそれぞれの拡張コピーを含む。したがって、同一の受信された音声データ302の異なる拡張コピーの集合は、ASRモデル200をトレーニングする際に使用される音声データ302の音響的多様性を増加させる。図示の例では、データ拡張モジュール310は、同一の発話に対応する音声データ302を使用して、第1の正の音声データ例312aおよび第2の正の音声データ例312bを生成する。本明細書では、第1の正の音声データ例312aは、音声データ302の第1拡張コピーを含み、第2の正の音声データ例312bは、第1拡張コピーとは異なる音声データ302の第2拡張コピーを含む。
【0036】
トレーニングプロセス300はまた、ASRモデル200のエンコーダ210を含む。エンコーダ210は、正の音声データ例312のペアにおける各正の音声データ例312を入力として受信するとともに、各正の音声データ例312に対応するエンコーダ出力のそれぞれのシーケンス212を出力として生成する。図示の例では、エンコーダ210は、第1の正の音声データ例312を受信するとともに、第1の正の音声データ例312aに対応するエンコーダ出力の第1シーケンス212、212aを生成する。示された例を続けると、エンコーダ210はまた、第2の正の音声データ例312bを受信するとともに、第2の正の音声データ例312bに対応するエンコーダ出力の第2シーケンス212、212bを生成する。
【0037】
いくつかの実装では、トレーニングプロセス300は、正の音声データ例312ごとに、音声認識結果322に関連付けられた教師あり損失項335(例えば、教師ありトレーニングコンポーネント)を求める。これらの実装では、トレーニングプロセス300は、デコーダ320と教師あり損失項モジュール330とを含む。デコーダ320は、エンコーダ210によって出力されたエンコーダ出力のシーケンス212を復号するとともに、可能な音声認識仮説にわたる確率分布322を求めるように構成される。すなわち、可能な音声認識仮説にわたる確率分布322は、異なる音声認識結果の確率を示す。したがって、可能な音声認識仮説にわたる音声認識結果322および確率分布322は、交換可能に使用され得る。
【0038】
いくつかの例では、デコーダ320は、ASRモデル200のジョイントネットワーク230(すなわち、デコーダ)(
図2)を含む。他の例では、デコーダ320は、CTC(Connectionist Temporal Classification)デコーダ、LAS(Lister Attend Spell)デコーダ、またはRNN-Tデコーダを含む、ASRモデル200から独立した補助デコーダである。したがって、
図3に示されるエンコーダ210およびデコーダ320を囲む点線は、いくつかの事例では、エンコーダ210およびデコーダ320が両方ともASRモデル200の一部であり、他の事例では、デコーダ320がASRモデル200とは別個の補助デコーダであることを示す。いくつかの実装では、デコーダ320は、音素のシーケンスを復号するよう構成された音素デコーダ、単語片のシーケンスを復号するよう構成された単語片デコーダ、または書記素のシーケンスを復号するよう構成された書記素デコーダのうちの1つ以上を含む。
【0039】
したがって、デコーダ320は、エンコーダ出力の各それぞれのシーケンス212を入力として受信するとともに、対応する正の音声データ例312について可能な音声認識仮説(すなわち、音声認識結果)にわたる確率分布322を出力として生成する。いくつかの例では、可能な音声認識仮説にわたる確率分布322は、可能な音素ラベルまたは可能な単語片ラベルのうちの1つを含む。図示の例では、デコーダ320は、エンコーダ出力の第1シーケンス212aを使用して、可能な音声認識仮説にわたる第1確率分布322、322aを生成するとともに、エンコーダ出力の第2シーケンス212bを使用して、可能な音声認識仮説にわたる第2確率分布322、322bを生成する。
【0040】
その後、教師あり損失項モジュール330は、可能な音声認識仮説にわたる確率分布322と、トレーニング発話304に対応するグラウンドトゥルーストランスクリプション305とに基づいて、教師あり損失項335を求めてよい。すなわち、いくつかの事例では、各トレーニング発話304は、対応するグラウンドトゥルーストランスクリプション305とペアにされる(すなわち、ペアにされたトレーニングデータ)。したがって、教師あり損失項モジュール330は、音声認識結果322と対応するグラウンドトゥルーストランスクリプション305とを比較することで、ASRモデル200予測の精度を判定してよい。図示の例では、教師あり損失項モジュール330は、第1確率分布322aとグラウンドトゥルーストランスクリプション305とを比較することで第1の教師あり損失項335、335aを求めるとともに、第2確率分布322bとグラウンドトゥルーストランスクリプション305とを比較することで第2の教師あり損失項335、335bを求める。トレーニングプロセス300は、教師あり損失項335に基づいてASRモデル200のパラメータを更新する。例えば、トレーニングプロセス300は、ASRモデル200のエンコーダのパラメータを更新してもよい。
【0041】
いくつかの実装では、トレーニングプロセス300は、ASRモデル200の発話毎の一貫性損失355(例えば、教師なしトレーニングコンポーネント)を求める。本明細書では、グラウンドトゥルーストランスクリプション305は、トレーニング発話について利用可能でないことがあり、および/またはトレーニングプロセス300は、音声データ302の異なる拡張コピーを有する正の音声データ例312にわたる一貫性を促進することを目的としてよい。これらの実装では、トレーニングプロセス300は、CNN(畳み込みニューラルネットワーク)340および一貫性損失項モジュール350を含む。CNN340は、エンコーダ210から受信されたそれぞれの正の音声データ例312についてのエンコーダ出力のそれぞれのシーケンス212を、対照損失空間に投影する。すなわち、CNN340は、エンコーダ出力の投影シーケンス342を生成する。
【0042】
いくつかの例では、CNN340は、正規化線形活性化関数(ReLU)活性化およびLayerNorm層が後に続く、356(4×1)個のフィルタを有する第1CNN層と、線形活性化を有する第2CNN層16(1×1)個のフィルタとを含む。すなわち、CNN340は、エンコーダ出力のシーケンス212を対照損失空間にマッピングすることで、発話毎の一貫性損失355を求める。図示の例では、CNN340は、エンコーダ出力の第1シーケンス212aを対照損失空間に射影するとともに(例えば、エンコーダ出力の第1射影シーケンス342、342a)、エンコーダ出力の第2シーケンス212bを対照損失空間に射影する(例えば、エンコーダ出力の第2射影シーケンス342、342b)。
【0043】
その後、一貫性損失項モジュール350は、エンコーダ出力の投影シーケンス342を受信するとともに、正の音声データ例312に関するエンコーダ出力の投影シーケンス342内の各対応するエンコーダ出力間のL2距離352を求める。すなわち、音声データ例312の正のペア(すなわち、xiおよびxj)は、以下のように表される対照損失またはL2距離352を有し得る。
【0044】
【0045】
式1において、
【0046】
【0047】
はコサイン類似度関数であり、τは温度パラメータを表す。
MMD(最大平均不一致)は、エンコーダ出力のシーケンスzi:={x1,...,xn}~Pおよびzj:={x1,...,xn}~Qのノンパラメトリック距離測定値である。特に、MMDは、再生核ヒルベルト空間における2つの分布間のカーネル平均を測定する。エンコーダ出力のシーケンス間のMMD損失は、以下のように表され得る。
【0048】
【0049】
ここで、k(x,y)は以下のように表されるガウス核である。
【0050】
【0051】
ここで、一貫性正則化は、異なる正のαデータ例312間のエンコーダ210の出力間のL2距離352を計算することを含んでよい。一貫性損失項モジュール350は、エンコーダ出力の投影シーケンス342のエンコーダ出力について求められたL2距離352を平均化することによって発話毎の一貫性損失355を求める。発話毎の一貫性損失355は、以下のように表され得る。
【0052】
【0053】
図示の例では、一貫性損失項モジュール350は、エンコーダ出力の第1射影シーケンス342a内の各対応するエンコーダ出力とエンコーダ出力の第2射影シーケンス342b内の各対応するエンコーダ出力との間のL2距離352を求めるとともに、各対応するエンコーダ出力について求められたL2距離352を平均化することによって発話毎の一貫性損失355を求める。したがって、発話毎の一貫性損失355は、正のトレーニング例312に対して適用されるデータ拡張にかかわらず、エンコーダ210が一貫して挙動するように促すことによって、教師なしトレーニングコンポーネントを提供する。
【0054】
トレーニングプロセス300は、発話毎の一貫性損失355に基づいて、ASRモデル200のパラメータを更新する。例えば、トレーニングプロセス300は、ASRモデル200のエンコーダ210のパラメータを更新してもよい。いくつかの例では、トレーニングプロセス300は、発話毎の一貫性損失355および教師あり損失項335の両方を並行して使用して、ASRモデル200のパラメータを更新する。ここで、発話毎の一貫性損失355および教師あり損失項335を含むASR損失関数は、以下のように表され得る。
【0055】
【0056】
式5において、LrnntはRNN-T損失であり、Lconsは一貫性項であり、θconsは一貫性関数のための任意のパラメータであり、λは正則化係数である。いくつかの例においては、λ=1である。
【0057】
次に
図4の概略図を参照すると、いくつかの実装では、データ拡張モジュール310は、同一のトレーニング発話304についての非合成音声表現362および合成音声表現364を表す音声データ302を受信する。ここで、トレーニング発話304、304a~nのセットは、トレーニング発話のセット内の各トレーニング発話304についての非合成音声表現362を含む。トレーニング発話304は、ユーザ104(
図1)によって話された発話106を含み得る。さらに、各トレーニング発話304は、対応するグラウンドトゥルーストランスクリプション305とペアにされてよい。TTS(テキスト-音声)システム360は、グラウンドトゥルーストランスクリプション305を受信するとともに、それぞれのトレーニング発声304の合成音声表現364に対応する音声データ302を生成するように構成される。いくつかの実装では、TTSシステム360は、異なる合成音声表現364が互いに音響的に多様であるが語彙的には同一であるように、単一のトレーニング発話304に対して複数の異なる合成音声表現364を生成する。いくつかの例では、TTSシステム360は、各話されていないテキスト発話が合成や非合成音声表現とペアにされないように、テキストのみのデータ(すなわち、ペアにされていないデータ)を含む話されていないトレーニングテキスト発話を受信する。
【0058】
したがって、データ拡張モジュール310は、トレーニング発話304の非合成表現362の音声データ302を受信し、および/または同一のトレーニング発話304の合成音声表現364の音声データ302を受信する。したがって、データ拡張モジュール310は、非合成表現362を使用して非合成の正の音声データ例312、312Nのペアを生成するとともに、合成音声表現364を使用して合成の正の音声データ例312、312Sのペアを生成する。特に、非合成の正の音声データ例312Nおよび合成の正の音声データ例312Sのペアの両方は、同一のトレーニング発話304に対応することで、トレーニングプロセス300(
図3)がASRモデル200をトレーニングするために使用し得るトレーニングデータの量を大幅に増加させる。すなわち、非合成音声表現362、合成音声表現364、またはそれらの何らかの組合せを含む音声データ302が、トレーニングプロセス300(
図3)によって使用され得る。前述のように、データ拡張モジュール310によって生成される非合成の正の音声データ例312Nの「ペア」は、2つの例に限定されず、同一の非合成音声表現362に対して生成される任意の数の正の音声データ例を含んでよい。同様に、データ拡張モジュール310によって生成される合成の正の音声データ例312Sの「ペア」は、同一の合成音声表現364に対して生成される任意の数の正の音声データ例を含んでよい。
【0059】
図5は、シーケンスにわたって対照損失を用いる教師ありおよび教師なしトレーニングのためにコンピュータが実施する方法500のための動作の例示的な構成のフローチャートである。動作502では、方法500は、トレーニング発話304に対応する音声データ302を受信する工程を含む。動作504では、方法500は、データ拡張モジュール310を使用して正の音声データ例312のペア(すなわち、第1の正の音声データ例312aおよび第2の正の音声データ例312b)を生成する工程を含む。ここで、正の音声データ例312のペアにおける各正の音声データ例312は、トレーニング発話304に対応する受信された音声データ302のそれぞれの拡張コピーを含む。正の音声データ例312のペアにおける各正の音声データ例312に対して、方法500は、動作506および508を実行する。動作506では、方法500は、ニューラルネットワークエンコーダ210を使用してエンコーダ出力のそれぞれのシーケンス212を生成する工程を含む。動作508では、方法500は、CNN340を使用してそれぞれの正の音声データ例312についてのエンコーダ出力のそれぞれのシーケンス212を対照損失空間(すなわち、エンコーダ出力の投影シーケンス342)に投影する工程を含む。
【0060】
動作510では、方法500は、正の音声データ例312に関するエンコーダ出力の投影シーケンス342内の各対応するエンコーダ出力間のL2距離352を求める工程を含む。動作512では、方法500は、エンコーダ出力の投影シーケンス242内のエンコーダ出力について求められたL2距離352を平均することによって発話毎の一貫性損失355を求める工程を含む。動作514では、方法500は、ASRモデル200を使用して、正の音声データ例312のペアにおける各正の音声データ例312に対して、対応する音声認識結果322を生成する工程を含む。特に、デコーダ320は、エンコーダ出力のそれぞれのシーケンス212を復号することで、音声認識結果322を生成する。動作516では、方法500は、各対応する音声認識結果322に関連付けられたそれぞれの教師あり損失項335および発話毎の一貫性損失355に基づいて、ASRモデル200のパラメータを更新する工程を含む。
【0061】
図6は、本明細書で説明されたシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータ等、様々な形態のデジタルコンピュータを表すよう意図されている。本明細書で示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものに過ぎず、本明細書で説明および/または特許請求される本発明の実装を限定するものではない。
【0062】
コンピューティングデバイス600は、プロセッサ610、メモリ620、記憶デバイス630、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640、ならびに低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660を含む。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で実装され得る。プロセッサ610は、高速インターフェース640に接続されたディスプレイ680などの外部入力/出力デバイス上にGUI(グラフィカルユーザインターフェース)のためのグラフィカル情報を表示するようメモリ620または記憶デバイス630に記憶された命令を含む、コンピューティングデバイス600内で実行するための命令を処理することができる。他の実装では、複数のメモリおよびメモリの種類とともに、必要に応じて複数のプロセッサおよび/または複数のバスが使用されてよい。また、複数のコンピューティングデバイス600が接続されてもよく、各デバイスは、例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして、必要な動作の一部を提供する。
【0063】
メモリ620は、コンピューティングデバイス600内に情報を非一時的に記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であってもよい。非一時的メモリな620は、コンピューティングデバイス600による使用のために一時的または永続的にプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を記憶するために使用される物理的なデバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよびROM(リードオンリーメモリ)/PROM(プログラマブルリードオンリーメモリ)/EPROM(消去可能プログラマブルリードオンリーメモリ)/EEPROM(電子的消去可能プログラマブルリードオンリーメモリ)(例えば、ブートプログラムなどのファームウェアに典型的に使用される)を含むが、これらに限定されない。揮発性メモリの例は、RAM(ランダムアクセスメモリ)、DRAM(ダイナミックランダムアクセスメモリ)、SRAM(スタティックランダムアクセスメモリ)、PCM(相変化メモリ)、およびにディスクまたはテープを含むが、これらに限定されない。
【0064】
記憶デバイス630は、コンピューティングデバイス600に大容量ストレージを提供することが可能である。いくつかの実装では、記憶デバイス630はコンピュータ可読媒体である。様々な異なる実装では、記憶デバイス630は、フロッピーディスク(登録商標)デバイス、ハードディスクデバイス、光学ディスクデバイス、テープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってよい。追加の実装では、コンピュータプログラム製品は、情報担体として有形に具現化される。コンピュータプログラム製品は、実行されると、上記のような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ620、記憶デバイス630、またはプロセッサ610上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0065】
高速コントローラ640は、コンピューティングデバイス600のための帯域幅集中型の演算を管理し、低速コントローラ660は、より低い帯域幅集中型の演算を管理する。このようなデューティの割り当ては例示にすぎない。いくつかの実装では、高速コントローラ640は、メモリ620、ディスプレイ680(例えば、グラフィックスプロセッサまたはアクセラレータを介して)、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート650に接続される。いくつかの実装では、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に接続される。種々の通信ポート(例えば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポート690は、例えばネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナー、または、スイッチまたはルータ等のネットワークデバイス等の、1つまたは複数の入力/出力デバイスに接続されてよい。
【0066】
コンピューティングデバイス600は、
図6に示されるように、複数の異なる形態で実装されてよい。例えば、コンピューティングデバイス600は、ラップトップコンピュータ600bとして、ラックサーバシステム600cの一部として、または標準的なサーバ600aとしてもしくはそのようなサーバ600aのグループにおいて複数回実装されてもよい。
【0067】
本明細書で説明されたシステムおよび技法の様々な実装は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現され得る。これらの様々な実装は、記憶デバイス、1つ以上の入力デバイス、および1つ以上の出力デバイスに対してデータおよび命令を送信すると共にこれらからデータおよび命令を受信するよう接続された、特定目的または汎用目的の1つ以上のプログラマブルプロセッサを備えたプログラマブルシステム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含んでよい。
【0068】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語で実装され得る。本明細書で使用されるように、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、機器および/または装置(例えば、磁気ディスク、光学ディスク、メモリ、PLD(プログラマブル論理デバイス))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0069】
本明細書で説明されるプロセスおよび論理フローは、入力データに対して動作かつ出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、もしくは光学ディスクを含むか、またはそれらからデータを受信するか、それらにデータを転送するか、もしくはその両方を行うように動作可能に接続される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCDROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完され得るか、または特殊目的論理回路に組み込まれ得る。
【0070】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実装されてよい。他の種類のデバイスを使用して、ユーザとの対話を提供してもよい。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的なフィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであってよく、ユーザからの入力は、音響的入力、音声的入力、または触覚的入力を含む任意の形式で取り込まれてよい。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、デバイスから文書を受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0071】
複数の実装について説明してきたが、本開示の主旨および範囲から逸脱することなく、様々な変更が行われ得ることが理解されるであろう。したがって、他の実施形態は、以下の特許請求の範囲内にある。
【国際調査報告】