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

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

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

<>
  • 特表-自己適応型蒸留 図1A
  • 特表-自己適応型蒸留 図1B
  • 特表-自己適応型蒸留 図2A
  • 特表-自己適応型蒸留 図2B
  • 特表-自己適応型蒸留 図3
  • 特表-自己適応型蒸留 図4
  • 特表-自己適応型蒸留 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-27
(54)【発明の名称】自己適応型蒸留
(51)【国際特許分類】
   G10L 15/06 20130101AFI20240319BHJP
   G10L 15/16 20060101ALI20240319BHJP
   G06N 3/084 20230101ALI20240319BHJP
【FI】
G10L15/06 300Y
G10L15/16
G06N3/084
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558805
(86)(22)【出願日】2021-12-07
(85)【翻訳文提出日】2023-10-31
(86)【国際出願番号】 US2021062255
(87)【国際公開番号】W WO2022203729
(87)【国際公開日】2022-09-29
(31)【優先権主張番号】63/166,938
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】リール、イザベル
(72)【発明者】
【氏名】ガウル、ニーラジ
(72)【発明者】
【氏名】ハガニ、パリサ
(72)【発明者】
【氏名】ファリス、ブライアン
(72)【発明者】
【氏名】ラマバドラン、ブバナ
(72)【発明者】
【氏名】プラサード、マナサ
(72)【発明者】
【氏名】メンヒバル、ペドロ ジェイ.モレノ
(72)【発明者】
【氏名】チュー、ユン
(57)【要約】
1つまたは複数のトレーニングされた教師ASR(自動音声認識)モデル(210)を多言語生徒モデル(200)に蒸留するための方法(400)は、複数の教師トレーニング例(152)および複数の生徒トレーニング例(154)を受信する工程を含む。方法はまた、複数の教師トレーニング例を使用して1つまたは複数の教師ASRモデルをトレーニングする工程を含む。各教師ASRモデルは、それぞれの音声入力のそれぞれのテキスト表現を出力するよう構成される。方法は、複数の生徒トレーニング例を使用して多言語生徒ASRモデルをトレーニングすることにより、および調整可能な蒸留損失重み(222)を使用して、トレーニングされた1つまたは複数の教師ASRモデルを多言語生徒ASRモデルに蒸留することにより、多言語生徒ASRモデルを生成する工程をさらに含む。生徒ASRモデルは、音声入力(14)を受信するとともに、受信された音声入力に対応するテキスト表現(142)を出力するよう構成される。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(134)によって実行されると、前記データ処理ハードウェア(134)に動作を実行させる、コンピュータが実施する方法(400)であって、
前記動作は、
複数の教師トレーニング例(152)および複数の生徒トレーニング例(154)を受信する工程と、
前記複数の教師トレーニング例(152)を使用して1つまたは複数の教師自動音声認識(ASR)モデル(210)をトレーニングする工程であって、各教師ASRモデル(210)は、それぞれの音声入力(14)のそれぞれのテキスト表現を出力するよう構成される、工程と、
多言語生徒ASRモデル(200)を生成する工程であって、
音声入力(14)を受信し、受信した前記音声入力(14)の対応するテキスト表現(142)を出力するよう構成される前記多言語生徒ASRモデル(200)を、前記複数の生徒トレーニング例(154)を使用してトレーニングする工程と、
調整可能な蒸留損失重み(222)を使用して、トレーニングされた前記1つまたは複数の教師ASRモデル(210)を前記多言語生徒ASRモデル(200)に蒸留する工程と、によって前記多言語生徒ASRモデル(200)を生成する工程と、を備える、方法(400)。
【請求項2】
前記1つまたは複数の教師ASRモデル(210)は、前記多言語生徒ASRモデル(200)よりも少ない言語を集合的に認識するよう構成される、請求項1に記載の方法(400)。
【請求項3】
前記調整可能な蒸留損失重み(222)は定数値を含む、請求項1または2に記載の方法(400)。
【請求項4】
前記多言語生徒モデル(200)をトレーニングすることは、n個のトレーニングステップにわたって行われ、
前記調整可能な蒸留損失重み(222)は、前記n個のトレーニングステップに基づき減少する減少関数を含む、請求項1乃至3のいずれか一項に記載の方法(400)。
【請求項5】
前記1つまたは複数の教師ASRモデル(210)および前記多言語生徒ASRモデル(200)の各々は、回帰型ニューラルネットワーク-トランスデューサ(RNN-T)アーキテクチャを含む、請求項1乃至4のいずれか一項に記載の方法(400)。
【請求項6】
前記調整可能な蒸留損失重み(222)は、前記1つまたは複数の教師ASRモデル(210)に対応するRNN-T損失に基づく減少関数を含む、請求項5に記載の方法(400)。
【請求項7】
前記調整可能な蒸留損失重み(222)は、前記1つまたは複数の教師ASRモデル(210)に対応する第1のRNN-T損失および前記多言語生徒ASRモデル(200)に対応する第2のRNN-T損失に基づく減少関数を含む、請求項5または6に記載の方法(400)。
【請求項8】
前記減少関数は、
前記1つまたは複数の教師ASRモデル(210)に対応する前記第1のRNN-T損失を時間のインスタンスにわたって減少させ、
前記多言語生徒ASRモデル(200)に対応する前記第2のRNN-T損失を前記時間のインスタンスにわたって増加させる、請求項7に記載の方法(400)。
【請求項9】
前記1つまたは複数の教師ASRモデル(210)の各教師ASRモデル(210)は、単一言語教師ASRモデル(210)に対応する、請求項1乃至8のいずれか一項に記載の方法(400)。
【請求項10】
前記1つまたは複数の教師ASRモデル(210)は、単体の多言語ASRモデルに対応する、請求項1乃至9のいずれか一項に記載の方法(400)。
【請求項11】
システム(100)であって、
データ処理ハードウェア(134)と、
前記データ処理ハードウェア(135)と通信するメモリハードウェア(136)と、を備え、前記メモリハードウェア(136)は、前記データ処理ハードウェア(134)上で実行されると前記データ処理ハードウェア(134)に動作を実行させる命令を記憶し、
前記動作は、
複数の教師トレーニング例(152)および複数の生徒トレーニング例(154)を受信する工程と、
前記複数の教師トレーニング例(152)を使用して1つまたは複数の教師自動音声認識(ASR)モデル(210)をトレーニングする工程であって、各教師ASRモデル(210)は、それぞれの音声入力(14)のそれぞれのテキスト表現を出力するよう構成される、工程と、
多言語生徒ASRモデル(200)を生成する工程であって、
音声入力(14)を受信し、受信した前記音声入力(14)の対応するテキスト表現(142)を出力するよう構成される前記多言語生徒ASRモデル(200)を、前記複数の生徒トレーニング例(154)を使用してトレーニングする工程と、
調整可能な蒸留損失重み(222)を使用して、トレーニングされた前記1つまたは複数の教師ASRモデル(210)を前記多言語生徒ASRモデル(200)に蒸留する工程と、によって前記多言語生徒ASRモデル(200)を生成する工程と、を備える、システム(100)。
【請求項12】
前記1つまたは複数の教師ASRモデル(210)は、前記多言語生徒ASRモデル(200)よりも少ない言語を集合的に認識するよう構成される、請求項11に記載のシステム(100)。
【請求項13】
前記調整可能な蒸留損失重み(222)は定数値を含む、請求項11または12に記載のシステム(100)。
【請求項14】
前記多言語生徒モデル(200)をトレーニングすることは、n個のトレーニングステップにわたって行われ、
前記調整可能な蒸留損失重み(222)は、前記n個のトレーニングステップに基づき減少する減少関数を含む、請求項11乃至13のいずれか一項に記載のシステム(100)。
【請求項15】
前記1つまたは複数の教師ASRモデル(210)および前記多言語生徒ASRモデルの各々は、回帰型ニューラルネットワーク-トランスデューサ(RNN-T)アーキテクチャを含む、請求項11乃至14のいずれか一項に記載のシステム(100)。
【請求項16】
前記調整可能な蒸留損失重み(222)は、前記1つまたは複数の教師ASRモデル(210)に対応するRNN-T損失に基づく減少関数を含む、請求項15に記載のシステム(100)。
【請求項17】
前記調整可能な蒸留損失重み(222)は、前記1つまたは複数の教師ASRモデル(210)に対応する第1のRNN-T損失および前記多言語生徒ASRモデル(200)に対応する第2のRNN-T損失に基づく減少関数を含む、請求項15または16に記載のシステム(100)。
【請求項18】
前記減少関数は、
前記1つまたは複数の教師ASRモデル(210)に対応する前記第1のRNN-T損失を時間のインスタンスにわたって減少させ、
前記多言語生徒ASRモデル(200)に対応する前記第2のRNN-T損失を前記時間のインスタンスにわたって増加させる、請求項17に記載のシステム(100)。
【請求項19】
前記1つまたは複数の教師ASRモデル(210)の各教師ASRモデル(210)は、単一言語教師ASRモデル(210)に対応する、請求項11乃至18のいずれか一項に記載のシステム(100)。
【請求項20】
前記1つまたは複数の教師ASRモデル(210)は、単体の多言語ASRモデルに対応する、請求項11乃至19のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自己適応型蒸留に関する。
【背景技術】
【0002】
近年、ASR(自動音声認識)が人気を得てきたことに伴い、ASRは世界中の言語により広く適用されている。しかしながら、いくつかの言語は、ASRモデルの品質または堅牢性に影響を及ぼす制限を有する。例えば、言語は、高いリソースを有するものから低いリソースを有するものまで様々であり得る。リソースとは、ASRモデルがトレーニングならびに精度および堅牢性を改善するために活用する資源を指す。リソースの不均衡により、ASRモデルは、ASRモデルを採用するアプリケーションまたはプログラムによるユーザ体験に必然的に影響を与える様々な性能劣化に遭遇する可能性がある。
【発明の概要】
【0003】
本開示の一態様は、1つまたは複数のトレーニングされた教師ASR(自動音声認識)モデルを多言語生徒モデルに蒸留するためにコンピュータが実施する方法を提供する。コンピュータが実施する方法は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、複数の教師トレーニング例および複数の生徒トレーニング例を受信する工程を含む動作を実行させる。動作はまた、複数の教師トレーニング例を使用して1つまたは複数の教師ASRモデルをトレーニングする工程を含む。各教師ASRモデルは、それぞれの音声入力のそれぞれのテキスト表現を出力するよう構成される。動作はまた、複数の生徒トレーニング例を使用して多言語生徒ASRモデルをトレーニングすることにより、および調整可能な蒸留損失重みを使用して、トレーニングされた1つまたは複数の教師ASRモデルを多言語生徒ASRモデルに蒸留することにより、多言語生徒ASRモデルを生成する工程を含む。各生徒ASRモデルは、音声入力を受信し、受信した音声入力に対応するテキスト表現を出力するよう構成される。
【0004】
本開示の実装は、以下の選択的特徴のうちの1つまたは複数を含んでよい。いくつかの実装では、1つまたは複数の教師ASRモデルは、多言語生徒ASRモデルよりも少ない言語を集合的に認識するよう構成される。調整可能な蒸留損失重みは、定数値を含んでよい。いくつかの追加的な実装では、多言語生徒モデルをトレーニングすることは、n個のトレーニングステップにわたって行われ、調整可能な蒸留損失重みは、n個のトレーニングステップに基づき減少する減少関数を含む。
【0005】
いくつかの例では、1つまたは複数の教師ASRモデルおよび多言語生徒ASRモデルの各々は、RNN-T(回帰型ニューラルネットワーク-トランスデューサ)アーキテクチャを含む。これらの例では、調整可能な蒸留損失重みは、1つまたは複数の教師ASRモデルに対応するRNN-T損失に基づく減少関数を含んでもよい。あるいは、これらの例における調整可能な蒸留損失重みは、1つまたは複数の教師ASRモデルに対応する第1のRNN-T損失および多言語生徒ASRモデルに対応する第2のRNN-T損失に基づく減少関数を含んでよい。ここで、減少関数は、1つまたは複数の教師ASRモデルに対応する第1のRNN-T損失を時間のインスタンスにわたって減少させ、多言語生徒ASRモデルに対応する第2のRNN-T損失を時間のインスタンスにわたって増加させてもよい。
【0006】
1つまたは複数の教師ASRモデルの各教師ASRモデルは、単一言語ASRモデルに対応してよい。あるいは、1つまたは複数の教師ASRモデルは、単体の多言語ASRモデルに対応してもよい。
【0007】
本開示の別の態様は、1つまたは複数のトレーニングされた教師ASR(自動音声認識)モデルを多言語生徒モデルに蒸留するためのシステムを提供する。このシステムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、複数の教師トレーニング例および複数の生徒トレーニング例を受信する工程を含む動作を実行させる命令を記憶する。動作はまた、複数の教師トレーニング例を使用して1つまたは複数の教師ASRモデルをトレーニングする工程を含む。各教師ASRモデルは、それぞれの音声入力のそれぞれのテキスト表現を出力するよう構成される。動作はまた、複数の生徒トレーニング例を使用して多言語生徒ASRモデルをトレーニングすることにより、および調整可能な蒸留損失重みを使用して、トレーニングされた1つまたは複数の教師ASRモデルを多言語生徒ASRモデルに蒸留することにより、多言語生徒ASRモデルを生成する工程を含む。各生徒ASRモデルは、音声入力を受信し、受信した音声入力に対応するテキスト表現を出力するよう構成される。
【0008】
この態様は、以下の選択的特徴のうちの1つまたは複数を含んでよい。いくつかの実装では、1つまたは複数の教師ASRモデルは、多言語生徒ASRモデルよりも少ない言語を集合的に認識するよう構成される。調整可能な蒸留損失重みは、定数値を含んでよい。いくつかの追加的な実装では、多言語生徒モデルをトレーニングすることは、n個のトレーニングステップにわたって行われ、調整可能な蒸留損失重みは、n個のトレーニングステップに基づき減少する減少関数を含む。
【0009】
いくつかの例では、1つまたは複数の教師ASRモデルおよび多言語生徒ASRモデルの各々は、RNN-T(回帰型ニューラルネットワーク-トランスデューサ)アーキテクチャを含む。これらの例では、調整可能な蒸留損失重みは、1つまたは複数の教師ASRモデルに対応するRNN-T損失に基づく減少関数を含んでもよい。あるいは、これらの例における調整可能な蒸留損失重みは、1つまたは複数の教師ASRモデルに対応する第1のRNN-T損失および多言語生徒ASRモデルに対応する第2のRNN-T損失に基づく減少関数を含んでよい。ここで、減少関数は、1つまたは複数の教師ASRモデルに対応する第1のRNN-T損失を時間のインスタンスにわたって減少させ、多言語生徒ASRモデルに対応する第2のRNN-T損失を時間のインスタンスにわたって増加させてもよい。
【0010】
1つまたは複数の教師ASRモデルの各教師ASRモデルは、単一言語ASRモデルに対応してよい。あるいは、1つまたは複数の教師ASRモデルは、単体の多言語ASRモデルに対応してもよい。
【0011】
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0012】
図1A】適応型自動音声認識モデルを使用する例示的な音声環境の概略図。
図1B】適応型自動音声認識モデルを使用する例示的な音声環境の概略図。
図2A】2以上の単一言語教師モデルから形成された例示的な適応モデルの概略図。
図2B】単体の多言語教師モデルから形成された例示的な適応モデルの概略図。
図3図1A乃至2Bの適応モデルの例示的なモデルアーキテクチャの概略図。
図4】適応モデルを生成する方法の動作の例示的な構成のフローチャート。
図5】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図。
【発明を実施するための形態】
【0013】
様々な図面における同様の参照符号は、同様の要素を示す。
図1Aおよび図1Bを参照すると、いくつかの実装では、システム100は、話された発話12を音声対応デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)に通信するユーザ10を含む。ユーザ10(すなわち、発話12の話者)は、クエリまたはコマンドとして発話12を話して、デバイス110からの応答を求めるか、またはクエリによって指定されたタスクをデバイス110に実行させてよい。デバイス110は、ユーザデバイス110の音声環境内の1人または複数のユーザ10からの音をキャプチャするよう構成される。本明細書では、オーディオ音は、可聴クエリ、デバイス110に対するコマンド、またはデバイス110によってキャプチャされた可聴通信として機能する、ユーザ10によって話された発話12を指し得る。デバイス110の、またはデバイス110に関連付けられた音声対応システム(例えば、デジタルアシスタントインターフェース)は、クエリに回答すること、および/またはコマンドを実行させることによって、コマンドまたはクエリに対処し得る。
【0014】
ここで、デバイス110は、ユーザ10によって話された発話12に対応する音声データ14をキャプチャする。デバイス110は、ユーザ10に関連付けられ、音声データ14を受信することが可能な任意のコンピューティングデバイスに対応してよい。ユーザデバイス110のいくつかの例は、モバイルデバイス(例えば、携帯電話、タブレット、ラップトップ、電子書籍リーダーなど)、コンピュータ、ウェアラブルデバイス(例えば、スマートウォッチ)、音楽プレーヤ、キャスティングデバイス、スマート家電(例えば、スマートテレビ)およびIoT(モノのインターネット)デバイス、リモートコントロール、スマートスピーカなどを含むが、これらに限定されない。デバイス110は、データ処理ハードウェア112およびメモリハードウェア114を含む。メモリハードウェア114は、データ処理ハードウェア112と通信するとともに、データ処理ハードウェア112によって実行されるとデータ処理ハードウェア112に音声および/またはテキスト処理に関連する1つまたは複数の動作を実行させる命令を記憶する。いくつかの例では、デバイス110は、1つまたは複数のアプリケーション(すなわち、ソフトウェアアプリケーション)を含む。各アプリケーションは、デバイス110に関連付けられた1つまたは複数の音声処理システム140、200を利用して、アプリケーション内の様々な機能を実行し得る。
【0015】
デバイス110は、音声環境内の音声データ14をキャプチャして電気信号に変換するためのオーディオキャプチャデバイス(例えば、マイクロフォン)116と、可聴音声信号(例えば、デバイス110からの合成再生信号154)を通信するための音声出力デバイス(例えば、スピーカ)118とを有するオーディオサブシステムをさらに含む。デバイス110は、図示の例では単体のオーディオキャプチャデバイス116を実装するが、デバイス110は、本開示の範囲から逸脱することなく、一連のオーディオキャプチャデバイス116を実装することによって、一連のオーディオキャプチャデバイス116のうちの1つまたは複数が、デバイス110上に物理的に常駐せずにオーディオサブシステム(例えば、デバイス110の周辺機器)と通信してよい。例えば、デバイス110は、車両全体にわたって配置された一連のマイクロフォンを活用する車両インフォテインメント(infotainment)システムに対応してよい。
【0016】
さらに、デバイス110は、ネットワーク120を介してリモートシステム130と通信するよう構成される。リモートシステム130は、リモートデータ処理ハードウェア134(例えば、リモートサーバまたはCPU)および/またはリモートメモリハードウェア136(例えば、リモートデータベースまたは他のストレージハードウェア)などのリモートリソース132を含んでよい。デバイス110は、リモートリソース132を利用して音声処理に関する様々な機能を実行してよい。例えば、デバイス110は、音声認識システム140を使用して音声認識を実行するよう構成される。これらのシステム140、200は、デバイス110上に常駐し得る(オンデバイスシステムと称される)か、またはリモート(例えば、リモートシステム130上)で常駐しつつデバイス110と通信し得る。いくつかの実施例では、これらのシステム140、200のうちのいくつかは、ローカルでまたはオンデバイスで常駐し、他は、リモートで常駐する。換言すると、これらのシステム140、200は、任意の組合せでローカルまたはリモートであってよい。例えば、システム140、200のサイズまたは処理要件がかなり大きい場合、システム140、200はリモートシステム130内に常駐してもよい。しかし、デバイス110が1つまたは複数のシステム140、200のサイズまたは処理要件をサポートすることができる場合、1つまたは複数のシステム140、200は、データ処理ハードウェア112および/またはメモリハードウェア114を使用してデバイス110上に常駐してよい。または、1つまたは複数のシステム140、200、ローカルまたはオンデバイスおよびリモートの両方で常駐してもよい。例えば、1つまたは複数のシステム140、200は、デバイス110とリモートシステム130との間のネットワーク120への接続が利用可能である場合、リモートシステム130上でデフォルトで実行されてよいが、接続が失われるかまたはネットワーク120が利用不可能である場合、システム140、200は、代わりに、デバイス110上でローカルで実行される。
【0017】
音声認識システム140は、音声データ14を入力として受信するとともに、適応ASR(自動音声認識)モデル200(適応モデル200とも呼ばれる)を使用して、その音声信号を出力としてトランスクリプション142に文字起こしする。一般的には、音声データ14をトランスクリプション142に変換することによって、音声認識システム140は、ユーザ10からの話された発話12がクエリ、コマンド、または何らかの他の形態の音声通信に対応する場合に、デバイス110が認識することを可能にする。トランスクリプション142は、デバイス110が次いでクエリまたはコマンドに対する応答を生成するために使用し得るテキストのシーケンスを指す。例えば、ユーザ10がデバイス110に「今日の天気はどうなるか」という質問をした場合、デバイス110は、「今日の天気はどうなるか」という質問に対応する音声データ14を音声認識システム140に渡す。音声認識システム140は、音声データ14を、「今日の天気はどうなるか?」というテキストを含むトランスクリプトに変換する。次いで、デバイス110は、テキストまたはテキストの一部を使用して、クエリに対する応答を決定してよい。例えば、当日(すなわち、今日)の天気を決定するために、デバイス110は、テキスト(例えば、「今日の天気はどうなるか?」)またはテキストの識別部分(例えば、「天気」および「今日」)を検索エンジンに渡す。次いで、検索エンジンは、ユーザ10に対する応答を生成するためにデバイス110が解釈する1つまたは複数の検索結果を返してよい。
【0018】
図1Bを参照すると、音声認識システム140の適応モデル200は、多言語音声認識モデルであってよい。多言語音声認識モデルは、2以上の言語(すなわち、複数の言語)でトランスクリプション142を生成することができるモデルである。例えば、図1Bは、音声認識システム140が音声データ14を受信するとともに、多言語版の適応モデル200が「今日の天気はどうなるか?」という発話12に対応する音声データ14を3つの異なるトランスクリプション142、142a~cに変換する様子を示す。ここで、第1のトランスクリプション142aは、「今日の天気はどうなるか?」のスペイン語(SPと示す)翻訳、
【0019】
【表1】
【0020】
である。第2のトランスクリプション142bは、「今日の天気はどうなるか?」のスウェーデン語(SWと示す)翻訳、
【0021】
【表2】
【0022】
である。第3のトランスクリプション142cは、「今日の天気はどうなるか?」のドイツ語(DEと示す)翻訳、
【0023】
【表3】
【0024】
である。多言語音声認識モデルは、異なる言語を話すことができる多言語ユーザにとって、または他の言語(すなわち、高リソース言語)から利用可能なデータから共有表現を学習することによって低リソース言語に対する音声認識モデルの性能を改善するのに有利であり得る。例えば、米国英語のような言語についてはトレーニングデータが大量であり得るが、ズールー語のような言語についてはトレーニングデータが少量であり得る。ここで、適応モデル200が多言語モデルである場合、適応モデル200は、ズールー語についてのトレーニングデータの不足を補うために、大量の米国英語のトレーニング例を活用することができる。
【0025】
図2Aおよび図2Bは、適応モデル200(生徒モデル200とも呼ばれる)を生成するプロセスの例である。適応モデル200は、適応モデル200が生徒モデルと呼ばれ得るものであるように、1つまたは複数の教師モデル210から形成されてよい。すなわち、教師モデル210は、生徒モデルのニューラルネットワークを形成するか、または何らかの形でそれに影響を与えるために、生徒モデル(例えば、適応モデル200)に蒸留されるニューラルネットワークを有する。蒸留は、一般に、事前トレーニングされたネットワークを使用してニューラルネットワークをトレーニングするプロセスを指す。蒸留を使用して、所望の出力に対してあまり重要でない(例えば、デッドウェイトに類似する)事前トレーニングされたネットワークのニューロンは、より合理化されたニューラルネットワーク(すなわち、蒸留されたニューラルネットワーク)を形成するために削減されてよい。蒸留は、事前トレーニングされたネットワークと比較したとき、蒸留されたニューラルネットワークがより正確および/またはよりコンパクトなサイズであることを可能にし得る。換言すると、事前トレーニングされたネットワークが形成された場合、事前トレーニングされたネットワークは、事前トレーニングされたネットワークのトレーニングが完了した時点で所望の出力に対して最終的には少ない影響を有することになるニューロンを形成した可能性がある。したがって、事前トレーニングされたネットワークは、これらのニューロンからの有害な影響を低減するよう、または不要なニューロンを除去するよう除去または修正されてよいニューロンを含んでいる。ASRモデルの場合、蒸留は、生徒モデルが、高リソース状況で学習した教師モデルから低リソース状況において挙動を学習し得る低リソース状況において有利であり得る。
【0026】
しかしながら、蒸留は、知識を生徒モデル200に伝える際に課題がある。例えば、生徒モデル200に対して知識蒸留を実行するときの1つの困難は、学習プロセス220間のバランスをどのように取るかである。すなわち、生徒モデル200は、蒸留プロセス220、220aおよび自身のトレーニングプロセス220、220bの両方によって教えられ得る。生徒モデル200を生成するために複数の学習プロセス220が関与するので、トレーニングされた生徒モデル200の性能は、これらのプロセス220間のバランスに基づき変化し得る。学習プロセス220の間、1つまたは複数の教師モデル210は、まず、蒸留プロセス220aのためのニューラルネットワークを確立するようにトレーニングされる。1つまたは複数の教師モデル210のためのトレーニングプロセスの間、教師モデル210は、(例えば、トレーニングサンプルデータベース150から)複数の教師トレーニングサンプル152、152a~nを受信するとともに、教師トレーニングサンプル152を使用してトレーニングをして、各教師モデル210に、出力として、それぞれの音声入力のテキスト(textural)表現を予測するように教える。この点において、トレーニングサンプル(例えば、教師トレーニングサンプル152または生徒トレーニング例154)は、トレーニングサンプル152、154がオーディオサンプルおよびオーディオサンプルの対応するトランスクリプション(すなわち、テキスト表現)を含むので、モデルがグラウンドトゥルースを学習することを可能にする。1つまたは複数の教師モデル210がトレーニングされると、次いで、トレーニングされた1つまたは複数の教師モデル210は、それらの知識を生徒モデル200に蒸留してよい。
【0027】
1つまたは複数の教師モデル210からの蒸留プロセス220aに加えて、生徒モデル200はまた、トレーニングプロセス220、220bから学習する。トレーニングプロセス220bでは、教師トレーニングプロセスとほぼ同様に、生徒モデル200は、テキスト表現を予測することができるよう生徒トレーニングサンプル154から学習する。蒸留プロセス220aおよびトレーニングプロセス220bの両方を用いて、生徒モデル200は、重み222、222a~bを使用することによって、これらのプロセス220a、220bからどれだけ多くの知識を得るかのバランスを取るよう構成される。すなわち、各プロセス220a、220bは、一連のトレーニングステップである。各トレーニングステップにおいて、各プロセス220の損失が計算されて次のトレーニングステップに影響を与えるために使用される。例えば、一般的に言えば、生徒モデル200は、所与の入力音声のテキスト表現を正確に予測することができるニューラルネットワークに近づくために、所与のプロセス220の損失を最小限に抑えたい。各プロセス220は付随する損失を有するので、学習プロセス全体は、蒸留プロセス220aについての蒸留損失とトレーニングプロセス220bについてのトレーニング損失(例えば、RNN-T損失)との組合せとしての総損失によって表され得る。したがって、生徒モデル200がこれらのプロセス220a、220bのバランスをどのように取るかを決定するために、生徒モデル200は、いずれかのプロセス損失に適用される調整可能な重み222を使用する。いくつかの例では、調整可能な重み222は蒸留損失に適用されるので、調整可能な蒸留重み222aと呼ばれる。
【0028】
いくつかの構成において、調整可能な蒸留重み222aは、定数値として構成される。しかし、他の構成では、調整可能な蒸留重み222aは、トレーニングステップの数が増加するにつれて減少する減少関数であってもよい。すなわち、生徒モデル200は、経時的に蒸留プロセス損失についての関心が低くなる。1つまたは複数の教師モデル210および生徒モデル200がRNN-Tモデルアーキテクチャ(例えば、エンドツーエンドのストリーミングアプリケーションにおいて)を有するとき、調整可能な蒸留重み222aは、1つまたは複数の教師モデル210に対応するRNN-T損失に基づく減少関数であってよい。さらに、両方のモデル200、210のRNN-Tアーキテクチャを用いて、調整可能な蒸留重み222aはまた、生徒モデル200のRNN-T損失を補償してもよい。ここで、調整可能な蒸留重み222aは、1つまたは複数の教師モデル210からの第1のRNN-T損失に基づき減少し、生徒モデル200からの第2のRNN-T損失に基づき増加する関数であることによって、生徒モデル200のRNN-T損失を補償してもよい。
【0029】
特に図2Aを参照すると、1つまたは複数の教師モデル210は、多言語生徒モデル200を形成するために、その知識の各々を生徒モデル200に蒸留する複数の単一言語教師モデル210に対応してよい。一方、図2Bは、1つまたは複数の教師モデル210を、その知識を多言語生徒モデル200に蒸留する単体の多言語教師モデル210として示す。これらの場合のいずれにおいても、1つまたは複数の教師モデル210は、結果として得られる多言語(mutli-lingual)生徒モデル200よりも少ない言語を集合的に認識し得る。例えば、生徒モデル200が自身のトレーニングプロセス220aを有するので、生徒モデル200は、生徒モデル200に蒸留された教師モデル210よりも多くの言語を含むようにその言語ベースを拡張することができる。
【0030】
図3を参照すると、適応蒸留のプロセスは、異なる種類の音声認識モデルに適用可能であってよい。一般的には、適応モデル200が特定の種類の音声認識モデルであるとき、教師モデル210および生徒モデル(すなわち、適応モデル200)の両方は、蒸留用の同一種類のモデルである。普及しつつある1つのモデルは、RNN-T(回帰型ニューラルネットワークトランスデューサ)として知られるシーケンス間モデルである。RNN-Tは、アテンション機構を採用しない。RNN-Tは、一般にシーケンス全体(例えば、オーディオ波形)を処理して出力(例えば、センテンス)を生成する必要がある他のシーケンス間モデルとは異なり、入力サンプルを連続的に処理するとともに、出力シンボルをストリーミングする。この特徴は、リアルタイム通信にとって特に有用である。例えば、RNN-Tによる音声認識は、話された文字を1つずつ出力し得る。ここで、RNN-Tは、次のシンボルを予測するために、モデルによって予測されたシンボルをそれ自体にフィードバックするフィードバックループを使用する。RNN-Tをデコードすることは、大きなデコーダグラフの代わりに単一のニューラルネットワークを通じたビーム検索を含むので、RNN-Tは、サーバベースの音声認識モデルの大きさの数分の1に小型化し得る。サイズの減少により、RNN-Tは、完全にオンデバイスで展開され、オフラインで(すなわち、ネットワーク接続なしで)実行することができるので、通信ネットワークに関する非信頼性問題を回避することができる。
【0031】
適応モデル200がRNN-Tモデルである場合、適応モデル200は、入力シーケンス(例えば、入力音声信号)を目標シーケンス(例えば、音声信号中で話された単語または文字)にマッピングするためにエンドツーエンドでトレーニングされ得るエンコーダ-デコーダフレームワークに対応するニューラルネットワークモデルである。換言すると、(例えば、実数値ベクトルの)入力シーケンスが与えられると、RNN-Tモデルは、ラベルの目標シーケンスを予測しようと試みる。ここで、入力シーケンスは、対数メルフィルタバンク(log-mel filterbank)エネルギー特徴または他のニューラルネットワーク符号化特徴などの生の特徴ベクトルであってよい。
【0032】
引き続き図3を参照すると、適応モデル200は、エンコーダネットワーク302およびデコーダネットワーク304を含む。エンコーダネットワーク302は、エンコーダ310を含む。エンコーダ310は、d次元特徴ベクトルx=(x,x,…,x)のシーケンスを読み取り、ここで
【0033】
【数1】
【0034】
であり、また、各時間ステップにおいて、エンコーダ埋め込みeとも呼ばれる高次の特徴表現を生成する。デコーダネットワーク304は、高次の特徴表現eを受信するとともに、ジョイント層320および予測ネットワーク330を使用して高次の特徴表現eをデコードする。予測ネットワーク330と組み合わせたジョイント層320は、ジョイント層320が予測ネットワーク330に供給されるロジットを計算する、フィードフォワードニューラルネットワークと見なされ得る。換言すると、ジョイント層230は、デコーダ出力yを生成するために、エンコーダネットワーク302によって出力された高次の特徴表現eを、前の予測yr-1の埋め込みと組み合わせる。デコーダ出力は、前のユニット{yi-1,...,y}および入力xが与えられた場合、現在のサブワードユニットyに対する確率分布
【0035】
【数2】
【0036】
であってよい。図示されていないが、デコーダネットワーク304は、デコーダ304からの出力yを処理するソフトマックス層を含んでよい。次に、ソフトマックス層の出力をビーム検索プロセスで使用することで、直交要素を選択する。ソフトマックス層は、モデル200の構成に応じて、デコーダネットワーク304と一体化されてもよいし、別体であってもよい。
【0037】
図4は、1つまたは複数のトレーニングされた教師ASR(自動音声認識)モデル210を多言語生徒モデル200に蒸留する方法400についての動作の例示的な構成のフローチャートである。動作402において、方法400は、複数の教師トレーニング例および複数の生徒トレーニング例を受信する工程を含む。
【0038】
動作404において、方法400は、複数の教師トレーニング例を使用して1つまたは複数の教師ASRモデル210をトレーニングする工程を含む。各教師ASRモデル210は、それぞれの音声入力のそれぞれのテキスト表現を出力するよう構成される。
【0039】
動作406において、本方法は、サブ動作406a、406bを実行することによって多言語生徒ASRモデル200を生成する工程を含む。サブ動作406aは、複数の生徒トレーニング例を使用して多言語生徒ASRモデル200をトレーニングすることを含む。生徒ASRモデル200は、音声入力を受信するとともに、受信した音声入力に対応するテキスト表現を出力するよう構成される。サブ動作406bは、調整可能な蒸留損失重みを使用して、トレーニングされた1つまたは複数の教師ASRモデル210を多言語生徒ASRモデル200に蒸留することを含む。
【0040】
図5は、本明細書で説明されたシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータ等、様々な形態のデジタルコンピュータを表すよう意図されている。本明細書で示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものに過ぎず、本明細書で説明および/または特許請求される本発明の実装を限定するものではない。
【0041】
コンピューティングデバイス500は、プロセッサ510(例えば、データ処理ハードウェア134)と、メモリ520(例えば、メモリハードウェア136)と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で実装され得る。プロセッサ510は、高速インターフェース540に接続されたディスプレイ580などの外部入力/出力デバイス上にGUI(グラフィカルユーザインターフェース)のためのグラフィカル情報を表示するようメモリ520または記憶デバイス530に記憶された命令を含む、コンピューティングデバイス500内で実行するための命令を処理することができる。他の実装では、複数のメモリおよびメモリの種類とともに、必要に応じて複数のプロセッサおよび/または複数のバスが使用されてよい。また、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは、例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして、必要な動作の一部を提供する。
【0042】
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であってもよい。非一時的メモリ520は、コンピューティングデバイス500による使用のために一時的または永続的にプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を記憶するために使用される物理的なデバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよびROM(リードオンリーメモリ)/PROM(プログラマブルリードオンリーメモリ)/EPROM(消去可能プログラマブルリードオンリーメモリ)/EEPROM(電子的消去可能プログラマブルリードオンリーメモリ)(例えば、ブートプログラムなどのファームウェアに典型的に使用される)を含むが、これらに限定されない。揮発性メモリの例は、RAM(ランダムアクセスメモリ)、DRAM(ダイナミックランダムアクセスメモリ)、SRAM(スタティックランダムアクセスメモリ)、PCM(相変化メモリ)、およびにディスクまたはテープを含むが、これらに限定されない。
【0043】
記憶デバイス530は、コンピューティングデバイス500に大容量ストレージを提供することが可能である。いくつかの実装では、記憶デバイス530はコンピュータ可読媒体である。様々な異なる実装では、記憶デバイス530は、フロッピーディスク(登録商標)デバイス、ハードディスクデバイス、光学ディスクデバイス、テープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってよい。追加の実装では、コンピュータプログラム製品は、情報担体として有形に具現化される。コンピュータプログラム製品は、実行されると、上記のような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0044】
高速コントローラ540は、コンピューティングデバイス500のための帯域幅集約的な演算を管理し、低速コントローラ560は、より低い帯域幅集約的な演算を管理する。このようなデューティの割り当ては例示にすぎない。いくつかの実装では、高速コントローラ540は、メモリ520、ディスプレイ680(例えば、グラフィックスプロセッサまたはアクセラレータを介して)、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート550に接続される。いくつかの実装では、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に接続される。種々の通信ポート(例えば、USB、Bluetooth、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポート590は、例えばネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナー、または、スイッチまたはルータ等のネットワークデバイス等の、1つまたは複数の入力/出力デバイスに接続されてよい。
【0045】
コンピューティングデバイス500は、図に示すように、複数の異なる形態で実装されてよい。例えば、コンピューティングデバイス500は、ラップトップコンピュータ500bとして、ラックサーバシステム500cの一部として、または標準的なサーバ500aとしてもしくはそのようなサーバ500aのグループにおいて複数回実装されてもよい。
【0046】
本明細書で説明されたシステムおよび技法の様々な実装は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現され得る。これらの様々な実装は、記憶デバイス、1つ以上の入力デバイス、および1つ以上の出力デバイスに対してデータおよび命令を送信すると共にこれらからデータおよび命令を受信するよう接続された、特定目的または汎用目的の1つ以上のプログラマブルプロセッサを備えたプログラマブルシステム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含んでよい。
【0047】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語で実装され得る。本明細書で使用されるように、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、機器および/または装置(例えば、磁気ディスク、光学ディスク、メモリ、PLD(プログラマブル論理デバイス))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0048】
本明細書で説明されたプロセスおよび論理フローは、入力データに対して動作しかつ出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、もしくは光学ディスクを含むか、またはそれらからデータを受信するか、それらにデータを転送するか、もしくはその両方を行うように動作可能に接続される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCDROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完され得るか、または特殊目的論理回路に組み込まれ得る。
【0049】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスを使用して、ユーザとの対話を提供してもよい。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的なフィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであってよく、ユーザからの入力は、音響的入力、音声的入力、または触覚的入力を含む任意の形式で取り込まれてよい。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、デバイスから文書を受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0050】
複数の実装について説明してきたが、本開示の主旨および範囲から逸脱することなく、様々な変更が行われ得ることが理解されるであろう。したがって、他の実施形態は、以下の特許請求の範囲内にある。
図1A
図1B
図2A
図2B
図3
図4
図5
【国際調査報告】