(57)【要約】  ホットワードを検出するための方法(600)が、ユーザデバイス(102)によって取り込まれたストリーミングオーディオ(118)を特徴付ける入力フレーム(210)のシーケンスを受け取ること、および記憶済みニューラルネットワーク(300)を使用して、ストリーミングオーディオ内のホットワードの存在を示す確率スコア(350)を生成することを含む。ネットワークは、順次スタックされた単一値分解フィルタ(SVDF)層(302)を含み、各SVDF層は少なくとも1つのニューロン(312)を含む。各ニューロンは、それぞれのメモリ構成要素(330)と、各入力フレームのオーディオ特徴(410)に関するフィルタリングを個々に実施し、メモリ構成要素に出力するように構成された第1のステージ(320)と、それぞれのメモリ構成要素内にあるすべてのフィルタリングされたオーディオ特徴に関するフィルタリングを実施するように構成された第2のステージ(340)とを含む。方法はまた、確率スコアがホットワード検出しきい値を満たすかどうかを判定すること、および追加の用語を処理するためのユーザデバイスに関するウェイクアッププロセスを開始することをも含む。
2021524615.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデバイス(102)のデータ処理ハードウェア(103)において、前記ユーザデバイス(102)によって取り込まれたストリーミングオーディオ(118)を特徴付けるそれぞれのオーディオ特徴(410)をそれぞれが含む入力フレーム(210)のシーケンスを受け取るステップと、
前記データ処理ハードウェア(103)によって、記憶済みニューラルネットワーク(300)を使用して、前記ストリーミングオーディオ(118)内のホットワードの存在を示す確率スコア(350)を生成するステップであって、
前記記憶済みニューラルネットワーク(300)が、順次スタックされた単一値分解フィルタ(SVDF)層(302)を備え、各SVDF層(302)が少なくとも1つのニューロン(312)を備え、各ニューロン(312)が、
それぞれのメモリ構成要素(330)であって、対応する前記ニューロン(312)のそれぞれのメモリ容量に関連付けられる、それぞれのメモリ構成要素(330)と、
各入力フレーム(210)の前記それぞれのオーディオ特徴(410)に関するフィルタリングを個々に実施し、前記フィルタリングされたオーディオ特徴(410)を前記それぞれのメモリ構成要素(330)に出力するように構成された第1のステージ(320)と、
前記それぞれのメモリ構成要素(330)内にあるすべての前記フィルタリングされたオーディオ特徴(410)に関するフィルタリングを実施するように構成された第2のステージ(340)と
を備える、ステップと、
前記データ処理ハードウェア(103)によって、前記確率スコア(350)がホットワード検出しきい値を満たすかどうかを判定するステップと、
前記確率スコア(350)が前記ホットワード検出しきい値を満たすとき、前記データ処理ハードウェア(103)によって、前記ストリーミングオーディオ(118)内の前記ホットワードおよび/または前記ホットワードに続く1つもしくは複数の他の用語を処理するための前記ユーザデバイス(102)に関するウェイクアッププロセスを初期化するステップと
を含む方法(600)。
【請求項２】
前記SVDF層(302)のそれぞれからのニューロン(312)についての、前記それぞれのメモリ構成要素(330)に関連付けられるメモリ容量の合計が、前記記憶済みニューラルネットワーク(300)に、典型的な話者が前記ホットワードを話すのにかかる時間の長さに比例する固定メモリ容量を与える請求項1に記載の方法(600)。
【請求項３】
前記それぞれのメモリ構成要素(330)のうちの少なくとも1つに関連付けられる前記それぞれのメモリ容量が、残りのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量とは異なる請求項1または2に記載の方法(600)。
【請求項４】
すべての前記SVDF層(302)の前記それぞれのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量が同一である請求項1から3のいずれか一項に記載の方法(600)。
【請求項５】
リモートシステム(110)が、複数のトレーニング入力オーディオシーケンス(400)に関して、前記記憶済みニューラルネットワーク(300)をトレーニングし、各トレーニング入力オーディオシーケンス(400)が、
前記ホットワードの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む入力フレーム(210)のシーケンスと、
前記入力フレーム(210)に割り当てられたラベル(420)であって、各ラベル(420)が、それぞれの入力フレーム(210)の前記オーディオ特徴(410)が前記ホットワードの音声成分(430)を含む確率を示す、ラベル(420)と
を含む請求項1から4のいずれか一項に記載の方法(600)。
【請求項６】
前記記憶済みニューラルネットワーク(300)をトレーニングするステップが、各トレーニング入力オーディオシーケンス(400)について、
前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の部分に第1のラベル(420)を割り当て、前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の残りの部分に第2のラベル(420)を割り当てることによってエンコーダ部分(310)をトレーニングするステップと、
対応する前記トレーニング入力オーディオシーケンス(400)が前記ホットワードを含み、または前記ホットワードを含まないことのどちらかを示すラベル(420)を適用することによってデコーダ部分(311)をトレーニングするステップと
を含む請求項5に記載の方法(600)。
【請求項７】
前記入力フレーム(210)の前記部分に前記第1のラベル(420)を割り当てるステップが、
前記ホットワードの最後の音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)を含む少なくとも1つの入力フレーム(210)に前記第1のラベル(420)を割り当てるステップと、
前記ホットワードの残りの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む残りの入力フレーム(210)に前記第2のラベル(420)を割り当てるステップと
を含む請求項6に記載の方法(600)。
【請求項８】
前記ニューラルネットワーク(300)をトレーニングするステップが、各トレーニング入力オーディオシーケンス(400)について、
トレーニングの前記第1のステージ(320)の間、対応する前記トレーニング入力オーディオシーケンス(400)についての前記入力フレーム(210)に前記ラベル(420)を割り当てることによってエンコーダ部分(310)を事前トレーニングするステップと、
トレーニングの前記第2のステージ(340)の間、
トレーニングの前記第1のステージ(320)からの前記割り当てられたラベル(420)を用いて前記エンコーダ部分(310)を初期化するステップと、
前記ホットワードを検出し、または前記ホットワードを検出しないように、前記エンコーダ部分(310)からの出力を用いてデコーダ部分(311)をトレーニングするステップと
を含む請求項5から7のいずれか一項に記載の方法(600)。
【請求項９】
前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つの追加の処理層を備える請求項1から8のいずれか一項に記載の方法(600)。
【請求項１０】
前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つのボトルネッキング層を備える請求項1から9のいずれか一項に記載の方法(600)。
【請求項１１】
各入力フレーム(210)の前記オーディオ特徴(410)がログフィルタバンクを備える請求項1から10のいずれか一項に記載の方法(600)。
【請求項１２】
各入力フレーム(210)が40個のログフィルタバンクを備える請求項11に記載の方法(600)。
【請求項１３】
ユーザデバイス(102)のデータ処理ハードウェア(103)と、
前記データ処理ハードウェア(103)と通信しているメモリハードウェア(105)であって、前記データ処理ハードウェア(103)上で実行されるとき、前記データ処理ハードウェア(103)に、
前記ユーザデバイス(102)によって取り込まれたストリーミングオーディオ(118)を特徴付けるそれぞれのオーディオ特徴(410)をそれぞれが含む入力フレーム(210)のシーケンスを受け取ること、
記憶済みニューラルネットワーク(300)を使用して、前記ストリーミングオーディオ(118)内のホットワードの存在を示す確率スコア(350)を生成することであって、
前記記憶済みニューラルネットワーク(300)が、順次スタックされた単一値分解フィルタ(SVDF)層(302)を含み、
各SVDF層(302)が少なくとも1つのニューロン(312)を含み、各ニューロン(312)が、
それぞれのメモリ構成要素(330)であって、対応する前記ニューロン(312)のそれぞれのメモリ容量に関連付けられる、それぞれのメモリ構成要素(330)と、
各入力フレーム(210)の前記それぞれのオーディオ特徴(410)に関するフィルタリングを個々に実施し、前記フィルタリングされたオーディオ特徴(410)を前記それぞれのメモリ構成要素(330)に出力するように構成された第1のステージ(320)と、
前記それぞれのメモリ構成要素(330)内にあるすべての前記フィルタリングされたオーディオ特徴(410)に関するフィルタリングを実施するように構成された第2のステージ(340)と
を含む、生成すること、
前記確率スコア(350)がホットワード検出しきい値を満たすかどうかを判定すること、および
前記確率スコア(350)が前記ホットワード検出しきい値を満たすとき、前記ストリーミングオーディオ(118)内の前記ホットワードおよび/または前記ホットワードに続く1つまたは複数の他の用語を処理するための前記ユーザデバイス(102)に関するウェイクアッププロセスを初期化すること
を含む動作を実施させる命令を記憶する、メモリハードウェア(105)と
を備えるシステム(100)。
【請求項１４】
前記SVDF層(302)のそれぞれからのニューロン(312)についての、前記それぞれのメモリ構成要素(330)に関連付けられるメモリ容量の合計が、前記記憶済みニューラルネットワーク(300)に、典型的な話者が前記ホットワードを話すのにかかる時間の長さに比例する固定メモリ容量を与える請求項13に記載のシステム(100)。
【請求項１５】
前記それぞれのメモリ構成要素(330)のうちの少なくとも1つに関連付けられる前記それぞれのメモリ容量が、残りのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量とは異なる請求項13または14に記載のシステム(100)。
【請求項１６】
すべての前記SVDF層(302)の前記それぞれのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量が同一である請求項13から15のいずれか一項に記載のシステム(100)。
【請求項１７】
リモートシステム(110)が、複数のトレーニング入力オーディオシーケンス(400)に関して、前記記憶済みニューラルネットワーク(300)をトレーニングするように構成され、各トレーニング入力オーディオシーケンス(400)が、
前記ホットワードの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む入力フレーム(210)のシーケンスと、
前記入力フレーム(210)に割り当てられたラベル(420)であって、各ラベル(420)が、それぞれの入力フレーム(210)の前記オーディオ特徴(410)が前記ホットワードの音声成分(430)を含む確率を示す、ラベル(420)と
を含む請求項13から16のいずれか一項に記載のシステム(100)。
【請求項１８】
前記記憶済みニューラルネットワーク(300)をトレーニングすることが、各トレーニング入力オーディオシーケンス(400)について、
前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の部分に第1のラベル(420)を割り当て、前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の残りの部分に第2のラベル(420)を割り当てることによってエンコーダ部分(310)をトレーニングすること、および
対応するトレーニング前記入力オーディオシーケンス(400)が前記ホットワードを含み、または前記ホットワードを含まないことのどちらかを示すラベル(420)を適用することによってデコーダ部分(311)をトレーニングすること
を含む請求項17に記載のシステム(100)。
【請求項１９】
前記入力フレーム(210)の前記部分に前記第1のラベル(420)を割り当てることが、
前記ホットワードの最後の音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)を含む少なくとも1つの入力フレーム(210)に前記第1のラベル(420)を割り当てること、および
前記ホットワードの残りの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む残りの入力フレーム(210)に前記第2のラベル(420)を割り当てること
を含む請求項18に記載のシステム(100)。
【請求項２０】
前記記憶済みニューラルネットワーク(300)をトレーニングすることが、各トレーニング入力オーディオシーケンス(400)について、
トレーニングの前記第1のステージ(320)の間、対応する前記トレーニング入力オーディオシーケンス(400)についての前記入力フレーム(210)に前記ラベル(420)を割り当てることによってエンコーダ部分(310)を事前トレーニングすること、ならびに
トレーニングの前記第2のステージ(340)の間、
トレーニングの前記第1のステージ(320)からの前記割り当てられたラベル(420)を用いて前記エンコーダ部分(310)を初期化すること、および
前記ホットワードを検出し、または前記ホットワードを検出しないように、前記エンコーダ部分(310)からの出力を用いてデコーダ部分(311)をトレーニングすること
を含む請求項17から19のいずれか一項に記載のシステム(100)。
【請求項２１】
前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つの追加の処理層を備える請求項13から20のいずれか一項に記載のシステム(100)。
【請求項２２】
前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つのボトルネッキング層を備える請求項13から21のいずれか一項に記載のシステム(100)。
【請求項２３】
各入力フレーム(210)の前記オーディオ特徴(410)がログフィルタバンクを備える請求項13から22のいずれか一項に記載のシステム(100)。
【請求項２４】
各入力フレーム(210)が40個のログフィルタバンクを備える請求項23に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ストリーミングオーディオ内のキーワードをスポッティングするためのエンドツーエンドシステムに関する。
【背景技術】
【０００２】
音声対応環境(たとえば、自宅、職場、学校、自動車など)は、照会を処理し、照会に回答し、かつ/またはコマンドに基づいて機能を実施するコンピュータベースのシステムに、ユーザが声に出して照会またはコマンドを話すことを可能にする。音声対応環境は、環境の様々な部屋またはエリアにわたって分散された、接続されたマイクロフォンデバイスのネットワークを使用して実装され得る。これらのデバイスは、環境内に存在する別の個人に向けられる発話ではなく、所与の発話がシステムに向けられるときを識別する助けとするために、ホットワードを使用し得る。したがって、デバイスは、スリープ状態またはハイバネーション状態において動作し、検出された発話がホットワードを含むときにのみウェイクアップし得る。近頃、ニューラルネットワークが、ストリーミングオーディオ内のユーザによって話されたホットワードを検出するようにモデルをトレーニングするための魅力的な解決策として現れた。通常、ストリーミングオーディオ内のホットワードを検出するために使用されるシステムは、信号処理フロントエンド構成要素、ニューラルネットワーク音響エンコーダ構成要素、およびハンドデザインド(hand-designed)デコーダ構成要素を含む。これらの構成要素は一般に、互いに独立にトレーニングされ、それによって、複雑さが増し加わり、すべての構成要素を一緒にトレーニングすることに比べて準最適である。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示の一態様は、ストリーミングオーディオ内のホットワードを検出するための方法を提供する。方法は、ユーザデバイスのデータ処理ハードウェアにおいて、ユーザデバイスによって取り込まれたストリーミングオーディオを特徴付けるそれぞれのオーディオ特徴をそれぞれが含む入力フレームのシーケンスを受け取ること、およびデータ処理ハードウェアによって、記憶済みニューラルネットワークを使用して、ストリーミングオーディオ内のホットワードの存在を示す確率スコアを生成することを含む。記憶済みニューラルネットワークは、順次スタックされた(sequentially-stacked)単一値分解フィルタ(SVDF)層を含み、各SVDF層は少なくとも1つのニューロンを含む。各ニューロンは、それぞれのメモリ構成要素、第1のステージ、および第2のステージを含む。それぞれのメモリ構成要素は、対応するニューロンのそれぞれのメモリ容量に関連付けられる。第1のステージは、各入力フレームのそれぞれのオーディオ特徴に関するフィルタリングを個々に実施し、フィルタリングされたオーディオ特徴をそれぞれのメモリ構成要素に出力するように構成される。第2のステージは、それぞれのメモリ構成要素内にあるすべてのフィルタリングされたオーディオ特徴に関するフィルタリングを実施するように構成される。方法はまた、データ処理ハードウェアによって、確率スコアがホットワード検出しきい値を満たすかどうかを判定すること、ならびに確率スコアがホットワード検出しきい値を満たすとき、データ処理ハードウェアによって、オーディオストリーム内のホットワードおよび/またはホットワードの後に続く1つもしくは複数の他の用語を処理するためのユーザデバイスに関するウェイクアッププロセスを開始することをも含む。
【０００４】
本開示の実装は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装では、SVDF層のそれぞれからのニューロンについての、それぞれのメモリ構成要素に関連付けられるメモリ容量の合計が、記憶済みニューラルネットワークに、典型的な話者がホットワードを話すのにかかる時間の長さに比例する固定メモリ容量を与える。いくつかの例では、それぞれのメモリ構成要素のうちの少なくとも1つに関連付けられるそれぞれのメモリ容量は、残りのメモリ構成要素に関連付けられるそれぞれのメモリ容量とは異なる。他の例では、すべてのSVDF層のそれぞれのメモリ構成要素に関連付けられるそれぞれのメモリ容量は同一である。
【０００５】
いくつかの例では、リモートシステムは、複数のトレーニング入力オーディオシーケンスに関して、記憶済みニューラルネットワークをトレーニングする。これらの例では、各トレーニング入力オーディオシーケンスは、ホットワードの音声成分を特徴付ける1つまたは複数のそれぞれのオーディオ特徴をそれぞれが含む入力フレームのシーケンスと、入力フレームに割り当てられたラベルであって、各ラベルが、それぞれの入力フレームのオーディオ特徴がホットワードの音声成分を含む確率を示すラベルとを含む。いくつかの構成では、記憶済みニューラルネットワークをトレーニングすることは、各トレーニング入力オーディオシーケンスについて、ホットワードの音声成分を含む入力フレームの部分に第1のラベルを割り当て、ホットワードの音声成分を含む入力フレームの残りの部分に第2のラベルを割り当てることによってエンコーダ部分をトレーニングすること、および対応するトレーニング入力オーディオシーケンスがホットワードを含み、またはホットワードを含まないことのどちらかを示すラベルを適用することによってデコーダ部分をトレーニングすることを含む。この場合、入力オーディオフレームの部分に第1のラベルを割り当てることは、ホットワードの最後の音声成分を特徴付ける1つまたは複数のそれぞれのオーディオ特徴を含む少なくとも1つの入力フレームに第1のラベルを割り当てること、およびホットワードの残りの音声成分を特徴付ける1つまたは複数のそれぞれのオーディオ特徴をそれぞれが含む残りの入力フレームに第2のラベルを割り当てることを含み得る。他の構成では、記憶済みニューラルネットワークをトレーニングすることは、各トレーニング入力オーディオシーケンスについて、トレーニングの第1のステージの間、対応するトレーニング入力オーディオシーケンスについての入力フレームにラベルを割り当てることによってエンコーダ部分を事前トレーニングすること、ならびにトレーニングの第2のステージの間、トレーニングの第1のステージからの割り当てられたラベルを用いてエンコーダ部分を初期化すること、およびホットワードを検出し、またはホットワードを検出しないように、エンコーダ部分からの出力を用いてデコーダ部分をトレーニングすることを含む。
【０００６】
記憶済みニューラルネットワークは、隣接するSVDF層間に配設された少なくとも1つの追加の処理層を含み得る。記憶済みニューラルネットワークは、隣接するSVDF層間に配設された少なくとも1つのボトルネッキング層を含む。いくつかの例では、各入力フレームのオーディオ特徴がログフィルタバンクを含む。たとえば、各入力フレームは40個のログフィルタバンクを含み得る。
【０００７】
本開示の別の態様は、ストリーミングオーディオ内のオーディオを検出するためのシステムを提供する。システムは、ユーザデバイスのデータ処理ハードウェアと、データ処理ハードウェアと通信しており、データ処理ハードウェアによって実行されるとき、データ処理ハードウェアに動作を実施させる命令を記憶するメモリハードウェアとを含む。動作は、ユーザデバイスによって取り込まれたストリーミングオーディオを特徴付けるそれぞれのオーディオ特徴をそれぞれが含む入力フレームのシーケンスを受け取ること、および記憶済みニューラルネットワークを使用して、ストリーミングオーディオ内のホットワードの存在を示す確率スコアを生成することを含む。記憶済みニューラルネットワークは、順次スタックされた単一値分解フィルタ(SVDF)層を含み、各SVDF層は少なくとも1つのニューロンを含む。各ニューロンは、それぞれのメモリ構成要素、第1のステージ、および第2のステージを含む。それぞれのメモリ構成要素は、対応するニューロンのそれぞれのメモリ容量に関連付けられる。第1のステージは、各入力フレームのそれぞれのオーディオ特徴に関するフィルタリングを個々に実施し、フィルタリングされたオーディオ特徴をそれぞれのメモリ構成要素に出力するように構成される。第2のステージは、それぞれのメモリ構成要素内にあるすべてのフィルタリングされたオーディオ特徴に関するフィルタリングを実施するように構成される。動作はまた、確率スコアがホットワード検出しきい値を満たすかどうかを判定すること、ならびに確率スコアがホットワード検出しきい値を満たすとき、オーディオストリーム内のホットワードおよび/またはホットワードに続く1つもしくは複数の他の用語を処理するためのユーザデバイスに関するウェイクアッププロセスを開始することをも含む。
【０００８】
この態様は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装では、SVDF層のそれぞれからのニューロンについての、それぞれのメモリ構成要素に関連付けられるメモリ容量の合計が、記憶済みニューラルネットワークに、典型的な話者がホットワードを話すのにかかる時間の長さに比例する固定メモリ容量を与える。いくつかの例では、それぞれのメモリ構成要素のうちの少なくとも1つに関連付けられるそれぞれのメモリ容量は、残りのメモリ構成要素に関連付けられるそれぞれのメモリ容量とは異なる。他の例では、すべてのSVDF層のそれぞれのメモリ構成要素に関連付けられるそれぞれのメモリ容量は同一である。
【０００９】
いくつかの例では、リモートシステムは、複数のトレーニング入力オーディオシーケンスに関して、記憶済みニューラルネットワークをトレーニングする。これらの例では、各トレーニング入力オーディオシーケンスは、ホットワードの音声成分を特徴付ける1つまたは複数のそれぞれのオーディオ特徴をそれぞれが含む入力フレームのシーケンスと、入力フレームに割り当てられたラベルであって、それぞれの入力フレームのオーディオ特徴がホットワードの音声成分を含む確率をそれぞれが示すラベルとを含む。いくつかの構成では、記憶済みニューラルネットワークをトレーニングすることは、各トレーニング入力オーディオシーケンスについて、ホットワードの音声成分を含む入力フレームの部分に第1のラベルを割り当て、ホットワードの音声成分を含む入力フレームの残りの部分に第2のラベルを割り当てることによってエンコーダ部分をトレーニングすること、および対応するトレーニング入力オーディオシーケンスがホットワードを含み、またはホットワードを含まないことのどちらかを示すラベルを適用することによってデコーダ部分をトレーニングすることを含む。この場合、入力オーディオフレームの部分に第1のラベルを割り当てることは、ホットワードの最後の音声成分を特徴付ける1つまたは複数のそれぞれのオーディオ特徴を含む少なくとも1つの入力フレームに第1のラベルを割り当てること、およびホットワードの残りの音声成分を特徴付ける1つまたは複数のそれぞれのオーディオ特徴をそれぞれが含む残りの入力フレームに第2のラベルを割り当てることを含み得る。他の構成では、記憶済みニューラルネットワークをトレーニングすることは、各トレーニング入力オーディオシーケンスについて、トレーニングの第1のステージの間、対応するトレーニング入力オーディオシーケンスについての入力フレームにラベルを割り当てることによってエンコーダ部分を事前トレーニングすること、ならびにトレーニングの第2のステージの間、トレーニングの第1のステージからの割り当てられたラベルを用いてエンコーダ部分を初期化すること、およびホットワードを検出し、またはホットワードを検出しないように、エンコーダ部分からの出力を用いてデコーダ部分をトレーニングすることを含む。
【００１０】
記憶済みニューラルネットワークは、隣接するSVDF層間に配設された少なくとも1つの追加の処理層を含み得る。記憶済みニューラルネットワークは、隣接するSVDF層間に配設された少なくとも1つのボトルネッキング層を含む。いくつかの例では、各入力フレームのオーディオ特徴がログフィルタバンクを含む。たとえば、各入力フレームは40個のログフィルタバンクを含み得る。
【００１１】
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明において述べられる。説明および図面から、および特許請求の範囲から、他の態様、特徴、および利点が明らかとなるであろう。
【図面の簡単な説明】
【００１２】
【図１】記憶済みニューラルネットワークをトレーニングし、トレーニングされた記憶済みニューラルネットワークを使用して、話された発話内のホットワードを検出するための例示的システムの概略図である。
【図２】ホットワードを検出するモデルによって使用される典型的なニューラルネットワーク音響エンコーダの構成要素の概略図である。
【図３Ａ】図1のシステムの記憶済みニューラルネットワークの例示的構成要素の概略図である。
【図３Ｂ】複数の層を備える記憶済みニューラルネットワークの例示的構成要素の概略図である。
【図４Ａ】ニューラルネットワークをトレーニングするためのストリーミングオーディオから生成されたオーディオ特徴-ラベル対を示す概略図である。
【図４Ｂ】ニューラルネットワークをトレーニングするためのストリーミングオーディオから生成されたオーディオ特徴ラベル対を示す概略図である。
【図５Ａ】図1のシステムの記憶済みニューラルネットワークの層の概略図である。
【図５Ｂ】図1のシステムの記憶済みニューラルネットワークの層の概略図である。
【図６】ストリーミングオーディオ内のホットワードを検出する方法についての動作の例示的構成のフローチャートである。
【図７】本明細書において説明されるシステムおよび方法を実装するために使用され得る例示的コンピューティングデバイスの概略図である。
【発明を実施するための形態】
【００１３】
様々な図面内の同様の参照符号は同様の要素を示す。
【００１４】
ボイス対応デバイス(たとえば、ボイスアシスタントを実行するユーザデバイス)は、ユーザが声に出して照会またはコマンドを話し、照会を処理し、照会に回答し、かつ/またはコマンドに基づいて機能を実施することを可能にする。合意によって、ボイス対応デバイスに対する注意を引き起こすために話される所定の用語/フレーズが予約される、「ホットワード」(「キーワード」、「アテンションワード」、「ウェイクアップフレーズ/ワード」、「トリガフレーズ」、または「ボイスアクション開始コマンド」とも呼ばれる)の使用を通じて、ボイス対応デバイスは、システムに向けられる発話(すなわち、発話内のホットワードの後に続く1つまたは複数の用語を処理するためのウェイクアッププロセスを初期化するため)と、環境内の個人に向けられる発話とを識別することができる。通常、ボイス対応デバイスは、電池電力を節約するためにスリープ状態において動作し、発話されたホットワードの後に入力オーディオデータが続かない限り、入力オーディオデータを処理しない。たとえば、スリープ状態の間、ボイス対応デバイスは、マイクロフォンを介して入力オーディオを取り込み、入力オーディオ内のホットワードの存在を検出するようにトレーニングされたホットワード検出器を使用する。入力オーディオ内でホットワードが検出されたとき、ボイス対応デバイスは、ホットワードおよび/またはホットワードの後に続く入力オーディオ内の任意の他の用語を処理するためのウェイクアッププロセスを開始する。
【００１５】
ホットワード検出器はストリーミングオーディオを継続的に聴取し、ホットワードの存在がストリーミングオーディオ内で検出されたときを正確かつ瞬間的にトリガしなければならないので、ホットワード検出は、干し草の山の中の針を探索することに類似している。言い換えれば、ホットワード検出器は、ホットワードの存在が検出されない限り、ストリーミングオーディオを無視することが課される。オーディオの連続的ストリーム内のホットワードの存在を検出することの複雑さに対処するために、ニューラルネットワークがホットワード検出器によって一般的に利用される。ホットワード検出器は通常、信号処理フロントエンド、ニューラルネットワーク音響エンコーダ、およびハンドデザインドデコーダという3つの主な構成要素を含む。信号処理フロントエンドは、ユーザデバイスのマイクロフォンによって取り込まれた生オーディオ信号を、ニューラルネットワーク音響エンコーダ構成要素によって処理するためにフォーマットされた1つまたは複数のオーディオ特徴に変換し得る。たとえば、ニューラルネットワーク音響エンコーダ構成要素はこれらのオーディオ特徴を音素に変換し、ハンドデザインドデコーダは、ハンド符号化アルゴリズムを使用して、音素を互いにスティッチし、オーディオシーケンスがホットワードを含むか否かの確率を与える。通常、これらの3つの構成要素は、トレーニングされ、かつ/または互いに独立に手動で設計され得、それによって、トレーニング中の複雑さが増し加わり、すべての構成要素を一緒にトレーニングすることに比べてトレーニング中の効率が失われる。さらに、個々にトレーニングされたモデルから構成されるモデルを配置することは、追加のリソース要件を消費する(たとえば、処理速度およびメモリ消費)。相異なるホットワードを検出するため、ならびに相異なる地域において同一のホットワードを検出するために、別々のモデルがしばしば必要とされる。たとえば、南アフリカの英語話者は、ノースダコタに位置する米国の英語話者とは異なるようにフレーズ「Ok Google」を発音し得る。
【００１６】
本明細書での実装は、ストリーミングオーディオ内の指定のホットワードの存在の確率を決定するために、単一の記憶済みニューラルネットワークとして符号化構成要素と復号化構成要素を共にトレーニングするエンドツーエンドホットワードスポッティングシステム(「キーワードスポッティングシステム」とも呼ばれる)を対象とする。この単一の記憶済みニューラルネットワークは、複数のホットワードを検出し、異なる言語および/または異なる地域において話される同一のホットワードを検出するようにトレーニングされ得る。具体的には、記憶済みニューラルネットワークは、ニューラルネットワークが覚えたい過去のストリーミングオーディオ量に比例する固定メモリ量を有するニューラルネットワークトポロジを指す。たとえば、ニューラルネットワークは、典型的な話者が指定のホットワードを話すのにかかる時間と同等のストリーミングオーディオ量を覚えるのに十分なメモリだけを有することが望ましいことがある。いくつかの実装では、記憶済みニューラルネットワークトポロジは、単一値分解フィルタ(SVDF)層の層状トポロジであり、各層は1つまたは複数のSVDFニューロンを含む。各層の各SVDFニューロンはそれぞれのメモリ容量を含み、SVDF層のすべてのメモリ容量が、ホットワードを特徴付けるオーディオ特徴を取り込むのに必要なストリーミングオーディオ内の固定長の時間のみをニューラルネットワークが覚えるための全固定メモリを加法的に構成する。各ニューロンはまた、適切な活動化関数(たとえば、正規化線形)をも含み得る。さらに、各SVDF層の出力は後続のSVDF層の入力であるので、後続のSVDF層に供給される入力数をスケーリングするために、ボトルネック層が1つまたは複数の隣接するSVDF層間に配設され得る。
【００１７】
図1を参照すると、いくつかの実装では、例示的システム100が、それぞれのユーザ10にそれぞれ関連付けられ、ネットワーク104を介してリモートシステム110と通信している1つまたは複数のユーザデバイス102を含む。各ユーザデバイス102は、携帯電話、コンピュータ、ウェアラブルデバイス、スマートアプライアンス、スマートスピーカなどのコンピューティングデバイスに対応し得、データ処理ハードウェア103およびメモリハードウェア105を備える。リモートシステム110は、スケーラブル/エラスティックコンピューティングリソース112(たとえば、データ処理ハードウェア)および/または記憶リソース114(たとえば、メモリハードウェア)を有する単一のコンピュータ、複数のコンピュータ、または分散システム(たとえば、クラウド環境)であり得る。ユーザデバイス102は、ネットワーク104を介してリモートシステム110からトレーニングされた記憶済みニューラルネットワーク300を受け取り、トレーニングされた記憶済みニューラルネットワーク300を実行して、ストリーミングオーディオ118内のホットワードを検出する。トレーニングされた記憶済みニューラルネットワーク300は、ストリーミングオーディオ118に対する意味解析または音声認識を実施することなくストリーミングオーディオ内のホットワードの存在を検出するように構成される、ユーザデバイス102のホットワード検出器106(ホットワーダとも呼ばれる)内に常駐し得る。任意選択で、トレーニングされた記憶済みニューラルネットワーク300は、追加または代替として、ホットワード検出器106がストリーミングオーディオ118内のホットワードの存在を正しく検出したことを確認するために、ユーザデバイス102の自動音声認識器(ASR)108および/またはリモートシステム110内に常駐し得る。
【００１８】
いくつかの実装では、データ処理ハードウェア103は、注釈付き発話プール130から取得されたトレーニングサンプル400を使用して、記憶済みニューラルネットワーク300をトレーニングし得る。注釈付き発話プール130は、メモリハードウェア114および/または何らかの他のリモートメモリ位置上に常駐し得る。図示される例では、ユーザデバイス102によってストリーミングオーディオ118として取り込まれるホットワード(たとえば、「Hey Google」)を含む発話120をユーザ10が話すとき、ユーザデバイス102上で実行中の記憶済みニューラルネットワーク300は、発話120内のホットワードの存在を検出して、発話120内のホットワードおよび/またはホットワードの後に続く1つまたは複数の他の用語(たとえば、照会またはコマンド)を処理するためのユーザデバイス102に関するウェイクアッププロセスを開始するように構成される。追加の実装では、ユーザデバイス102は、(たとえば、他の潜在的により計算集約的な、記憶済みニューラルネットワーク300を用いた)追加の処理または検証のために、リモートシステム110に発話120を送る。
【００１９】
図示される例では、記憶済みニューラルネットワーク300は、単一値分解フィルタ(SVDF)層302の層状トポロジをそれぞれが含むエンコーダ部分310およびデコーダ部分311を含む。SVDF層302は、メモリ容量を各SVDF層302に設けることによってニューラルネットワーク300のためのメモリを提供し、それによって、SVDF層302のすべてのメモリ容量が、ホットワードを特徴付けるオーディオ特徴410(図4Aおよび図4B)を取り込むのに必要なストリーミングオーディオ118内の固定長の時間のみを覚えるために、ニューラルネットワーク300のための全固定メモリを加法的に構成する。
【００２０】
次に図2を参照すると、典型的なホットワード検出器が、メモリのないニューラルネットワーク音響エンコーダ200を使用する。ネットワーク200はメモリを欠いているので、音響エンコーダ200の各ニューロン212は、入力として、話された発話120のあらゆるフレーム210、210a〜210dのあらゆるオーディオ特徴を受け入れなければならない。各フレーム210が任意の数のオーディオ特徴を有し得、オーディオ特徴のそれぞれをニューロン212が入力として受け入れることに留意されたい。そのような構成は、固定長の時間が増大し、かつ/またはオーディオ特徴数が増加するにつれて劇的に増大する、かなりのサイズのニューラルネットワーク音響エンコーダ200を必要とする。音響エンコーダ200の出力の結果、それぞれの確率、たとえば検出されたホットワードの音素の確率が得られる。次いで、音響エンコーダ200は、ホットワードの存在を示すスコア(すなわち、推定)を生成するために、ハンド符号化デコーダを利用して、音響エンコーダ200の出力を処理し(たとえば、音素を互いにスティッチし)なければならない。
【００２１】
次に図3Aおよび図3Bを参照すると、いくつかの実装では、単一値分解フィルタ(SVDF)ニューラルネットワーク300(記憶済みニューラルネットワークとも呼ばれる)が、任意の数のニューロン/ノード312を有し、各ニューロン312は、一度に、話された発話120の単一のフレーム210、210a〜210dのみを受け入れる。すなわち、各フレーム210が、たとえば30msのオーディオデータを構成する場合、それぞれのフレーム210が、約30msごとに(すなわち、時間1、時間2、時間3、時間4など)ニューロン312に入力される。図3Aは、入力の特徴次元に関するフィルタリングを実施する第1のステージ320(すなわち、ステージ1特徴フィルタ)と、第1のステージ320の出力上の時間次元に関するフィルタリングを実施する第2のステージ340(すなわち、ステージ2時間フィルタ)という2ステージフィルタリング機構を含む各ニューロン312を示す。したがって、ステージ1特徴フィルタ320は、現フレーム210のみに関する特徴フィルタリングを実施する。次いで、処理の結果がメモリ構成要素330内に配置される。メモリ構成要素330のサイズは、ノードまたは層レベルごとに構成可能である。ステージ1特徴フィルタ320が(たとえば、フレーム内のオーディオ特徴をフィルタリングすることによって)所与のフレーム210を処理した後、フィルタリングされた結果が、メモリ構成要素330の次に利用可能なメモリ位置332、332a〜332d内に配置される。すべてのメモリ位置332が充填されると、ステージ1特徴フィルタ320は、メモリ構成要素330内の最も古いフィルタリングされたデータを記憶するメモリ位置332を上書きする。例示のために、図3Aは、サイズ4のメモリ構成要素330(4つのメモリ位置332a〜332d)および4つのフレーム210a〜210dを示すが、ホットワード検出の性質のために、システム100は通常、継続的にストリーミングオーディオ118を監視し、それによって、各ニューロン312がフレーム210に沿って「スライド」し、またはパイプラインと同様にフレーム210を処理することに留意されたい。言い換えれば、各ステージがN個の特徴フィルタ320およびN個の時間フィルタ340(入力特徴フレーム210のサイズにそれぞれ合致する)を含む場合、層は、特徴フレームのサイズのストライドでN個のフィルタ320、340のそれぞれを入力特徴フレーム210に対してスライドすることによって特徴フィルタのN×T(Tは固定期間内のフレーム210の数に等しい)畳込みを計算することに類似する。たとえば、例は、ステージ1特徴フィルタが(時間4の間の)フレーム4(F4)210dに関連する、フィルタリングされたオーディオ特徴を出力した後の容量のメモリ構成要素330を示すので、ステージ1特徴フィルタ320は、メモリ位置332a内のフレーム1(F1)210aに関連する、フィルタリングされたオーディオ特徴を上書きすることによって、(時間5の間の)続くフレーム5(F5)に関連する、フィルタリングされたオーディオ特徴をメモリ330内に配置する。このようにして、ステージ2時間フィルタ340は、ステージ1特徴フィルタ320から出力された、前のT-1(この場合も、Tは固定期間内のフレーム210の数に等しい)のフィルタリングされたオーディオ特徴にフィルタリングを適用する。
【００２２】
次いで、ステージ2時間フィルタ340は、メモリ330内に記憶されたそれぞれのフィルタリングされたオーディオ特徴をフィルタリングする。たとえば、図3Aは、ステージ1特徴フィルタ320が新しいフィルタリングされたオーディオ特徴をメモリ330内に記憶するごとに、ステージ2時間フィルタ340がメモリ位置332のそれぞれの中のオーディオ特徴をフィルタリングすることを示す。このようにして、ステージ2時間フィルタ340は、いくつかの過去のフレーム210をフィルタリングする層であり、数はメモリ330のサイズに比例する。各ニューロン312は単一のSVDF層302の部分であり、ニューラルネットワーク300は任意の数の層302を含み得る。各ステージ2時間フィルタ340の出力は、次の層302内のニューロン312の入力に渡される。層302の数および層302当たりのニューロン312の数は完全に構成可能であり、利用可能なリソースおよび所望のサイズ、出力、および精度に依存する。本開示は、SVDF層302の数にも、各SVDF層302内のニューロン312の数にも限定されない。
【００２３】
次に図3Bを参照すると、ニューラルネットワーク300の各SVDF層302、302a〜302n(または単に「層」)が接続され、それによって、前の層の出力が、対応する層302に対する入力として受け入れられる。いくつかの例では、最終層302nは、発話120がホットワードを含む確率を示す確率スコア350を出力する。
【００２４】
SVDFネットワーク300において、層設計は、入力フレーム210のシーケンスを処理している高密度に接続された層302がそのノード312のそれぞれの特異値分解を使用することによって近似され得るという概念に由来する。近似は構成可能である。たとえば、ランクR近似は、層のフィルタについての新しい次元Rを拡張することを示す。ステージ1は独立に行われ、ステージ2では、非線形性を通過する前にすべてのランクの出力が加算される。言い換えれば、合致する次元の高密度に接続された層のノード312のSVDF分解が、SVDF層302を初期化するために使用され得、SVDF層302は、原則に基づいた初期化を実現し、層の一般化の品質を向上させる。本質的に、より高密度に接続された層の「出力」が、(ランクに応じて)潜在的にずっと小さいSVDFに移転される。しかしながら、SVDF層302は、同一の操作、さらにはより多くの操作を伴う高密度に接続された層、さらには畳込み層をしのぐために初期化を必要としないことに留意されたい。
【００２５】
したがって、本明細書における実装は、ステートフルなスタック可能ニューラルネットワーク300を対象とし、各SVDF層302の各ニューロン312がオーディオ特徴をフィルタリングすることに関連する第1のステージ320と、時間に関して第1のステージ320の出力をフィルタリングすることに関連する第2のステージ340とを含む。具体的には、第1のステージ320は、一度に1つのオーディオ特徴入力フレーム210上の1つまたは複数のオーディオ特徴に関するフィルタリングを実施し、フィルタリングされたオーディオ特徴をそれぞれのメモリ構成要素330に出力するように構成される。この場合、ステージ1特徴フィルタ320は、時間フレーム210に関連すぶ1つまたは複数のオーディオ特徴を、処理するための入力として受け取り、処理されたオーディオ特徴をSVDF層302のそれぞれのメモリ構成要素330内に出力する。その後で、第2のステージ340が、第1のステージ320から出力された、それぞれのメモリ構成要素330内にある、すべてのフィルタリングされたオーディオ特徴に関するフィルタリングを実施するように構成される。たとえば、それぞれのメモリ構成要素330が8に等しいとき、第2のステージ340は、8つの入力フレーム210のシーケンス内のオーディオ特徴の個々のフィルタリングの間に第1のステージ320から出力されたメモリ構成要素330内にある最後の8つのフィルタリングされたオーディオ特徴までプルする。第1のステージ320が、対応するメモリ構成要素330を容量まで充填するにつれて、最も古いフィルタリングされたオーディオ特徴を含むメモリ位置332が上書きされる(すなわち、先入れ先出し)。したがって、SVDFニューロン312または層302でのメモリ構成要素330の容量に応じて、第2のステージ340は、対応するSVDF層302の第1のステージ320によって処理されたいくつかの過去の出力を覚えることができる。さらに、SVDF層302でのメモリ構成要素330は加法的であるので、各SVDFニューロン312および層302でのメモリ構成要素330はまた、それぞれの先行するSVDFニューロン312および層302のメモリをも含み、したがって記憶済みニューラルネットワーク300の全受容フィールドを拡張する。たとえば、8に等しいメモリ構成要素330を備える単一のニューロン312をそれぞれ有する4つのSVDF層302を備えるニューラルネットワーク300トポロジでは、最後のSVDF層302が、ニューラルネットワーク300によって個々にフィルタリングされた最後の32個のオーディオ特徴入力フレーム210までのシーケンスを含む。しかしながら、メモリ量は層302ごとに、さらにはノード312ごとに構成可能である。たとえば、第1の層302aには32個の位置332が割り振られ得、一方、最後の層302は、8つの位置332と共に構成され得る。その結果、スタックされたSVDF層302は、ニューラルネットワーク300が、一度に1つの入力時間フレーム210(たとえば、30ミリ秒のオーディオデータ)についてのオーディオ特徴のみを処理し、いくつかのフィルタリングされたオーディオ特徴を、ストリーミングオーディオ118内の指定のホットワードを取り込むのに必要な固定長の時間を取り込む過去に組み込むことを可能にする。一方、(図2に示されるように)メモリのないニューラルネットワーク200は、そのニューロン212が、ホットワードの存在を含むストリーミングオーディオの確率を決定するために、すぐに固定長の時間(たとえば、2秒のオー��ィオデータ)をカバーするオーディオ特徴フレームのすべてを処理することを必要とし、そのことは、ネットワークの全サイズを劇的に増大させる。さらに、長短期記憶(LSTM)を使用する再帰型ニューラルネットワーク(RNN)がメモリを提供するが、RNN-LSTMは、実際には無限のメモリを有するニューロンに、各処理インスタンス後にニューロンの状態を継続的に更新させ、それによって、無限の数の過去の処理された出力を覚えられることを防止し、(固定サイズのメモリが容量に達すると)それぞれの新しい出力が前の出力の上に再書込みする。言い換えれば、SVDFネットワークは、出力を状態(メモリ)への出力を繰り返さず、すべての状態をそれぞれの反復で再書込みすることもせず、その代わりに、メモリは、各推論実行の状態を、後続の実効から分離して保ち、その代わりに、層のために構成されたメモリサイズに基づいて新しいエントリ内にプッシュおよびポップする。
【００２６】
次に図4Aおよび図4Bを参照すると、いくつかの実装では、記憶済みニューラルネットワーク300が、入力フレーム210、210a〜210nおよび入力フレーム210に割り当てられたラベル420のシーケンスをそれぞれが含む複数のトレーニング入力オーディオシーケンス400(すなわち、トレーニングサンプル)に関してトレーニングされる。各入力フレーム210は、ホットワードの音声成分430を特徴付ける1つまたは複数のそれぞれのオーディオ特徴410を含み、各ラベル420は、それぞれの入力フレーム210の1つまたは複数のオーディオ特徴410がホットワードの音声成分430を含む確率を示す。いくつかの例では、各入力フレーム210についてのオーディオ特徴410は、事前処理ステージ404の間にオーディオストリーム118の生オーディオ信号402から変換される。オーディオ特徴410は1つまたは複数のログフィルタバンクを含み得る。したがって、事前処理ステージは、オーディオストリーム118(または話された発話120)を入力フレーム210のシーケンス(たとえば、それぞれ30ms)にセグメント化し、各フレーム210について別々のログフィルタバンクを生成し得る。たとえば、各フレーム210は40個のログフィルタバンクによって表され得る。さらに、それぞれの連続するSVDF層302は、直前のSVDF層302から出力される、時間に関してフィルタリングされたオーディオ特徴410を入力として受け取る。
【００２７】
図示される例では、各トレーニング入力オーディオシーケンス400は、固定長の時間(たとえば、2秒)内に行われる指定のホットワードを含む注釈付き発話を含むトレーニングサンプルに関連付けられる。任意選択で、記憶済みニューラルネットワーク300はまた、指定のホットワードを含まない注釈付き発話400、または指定のホットワードを含むが、固定長の時間よりも長い時間におよび、したがって固定長の時間外のデータを忘れる固定メモリのために誤って検出されない注釈付き発話400に関してトレーニングされ得る。いくつかの例では、固定長の時間は、話された照会および/またはボイスコマンドを処理するためのユーザデバイス102に典型的な話者が命令するために指定のホットワードを話すのにかかる時間量に対応し得る。たとえば、指定のホットワードがフレーズ「Hey Google」または「Ok Google」を含む場合、低速な話者であっても、指定のフレーズを話すのに一般には2秒よりも長くはかからないので、2秒に等しい固定長の時間は十分である可能性が高い。したがって、固定長の時間の間にストリーミングオーディオ118内の指定のホットワードの発生を検出することは重要ではないので、ニューラルネットワーク300は、固定時間(たとえば、2秒)に及ぶオーディオ量に比例する固定メモリ量を含む。したがって、ニューラルネットワーク300の固定メモリは、ニューラルネットワークのニューロン312が、一度にストリーミングオーディオ118の1つの入力フレーム210(たとえば、30msの時間ウィンドウ)からオーディオ特徴410(たとえば、ログフィルタバンク)をフィルタリングすることを可能にすると共に、固定長の時間に及ぶ最も最近のフィルタリングされたオーディオ特徴410を記憶し、現フィルタリング反復から固定長の時間外の任意のフィルタリングされたオーディオ特徴410を除去または削除する。したがって、ニューラルネットワーク300がたとえばメモリ深度32を有する場合、ニューラルネットワーク300によって処理された最初の32フレームがメモリ構成要素330を容量まで充填し、最初の32個の後のそれぞれの新しい出力について、ニューラルネットワーク300は、最も古い処理されたオーディオ特徴を、メモリ構成要素330の対応するメモリ位置332から除去する。
【００２８】
図4Aを参照すると、エンドツーエンドトレーニングについて、トレーニング入力オーディオシーケンス400aが、各入力フレーム210に適用され得るラベル420を含む。いくつかの例では、トレーニングサンプル400aがホットワードを含むとき、ターゲットスコア(たとえば、「1」)に関連付けられるターゲットラベル420が、ホットワードの、またはホットワードの近くの音声成分430を特徴付けるオーディオ特徴410を含む1つまたは複数の入力フレーム210に適用される。たとえば、ホットワード「OK Google」の音声成分430が「ou」、「k」、「eI」、「<無音>」、「g」、「u」、「g」、「@」、「l」に分割される場合、数字「1」のターゲットラベルが、ホットワードの音声成分430の必要とされるシーケンスの部分である、文字「l」(すなわち、ホットワードの最後の成分430)に対応するすべての入力フレーム210に適用される。このシナリオでは、(最後の音声成分430に関連付けられない)すべての他の入力フレーム210に、異なるラベル(たとえば、「0」)が割り当てられる。したがって、各入力フレーム210は、対応する入力特徴-ラベル対410、420を含む。入力特徴410は通常、入力フレーム210にわたって入力オーディオから計算された、たとえばメルフィルタバンクまたはログフィルタバンクに対応する1次元テンソルである。ラベル420は、注釈付き発話400aから生成され、強制アライメントステップ(すなわち、ラベル「1」が、ホットワードに属する最後のクラスに対応する対に与えられ、「0」が残りのすべてに与えられる)を介して各入力特徴テンソル410に音声クラスが割り当てられる。したがって、トレーニング入力オーディオシーケンス400aは、入力フレームのシーケンスに割り当てられた2進数ラベルを含む。注釈付き発話400a、またはトレーニング入力オーディオシーケンス400aは、図1の注釈付き発話プール130から取得されたトレーニングサンプル400に対応する。
【００２９】
別の実装では、図4Bは、ホットワードの音声成分430を特徴付ける(音声成分430に合致する)オーディオ特徴410の数が増加するにつれて、入力フレーム210のシーケンスに沿って増加するスコアに関連付けられるラベル420を含むトレーニング入力オーディオシーケンス400bを含む。たとえば、ホットワードが「OK Google」を含むとき、第1の音声成分「o」および「k」を特徴付けるそれぞれのオーディオ特徴410を含む入力フレーム210には、ラベル420「1」が割り当てられ、一方、最後の音声成分「l」を特徴付けるそれぞれのオーディオ特徴410を含む入力フレーム210には、ラベル420「5」が割り当てられる。中間の音声成分430を特徴付けるそれぞれのオーディオ特徴410を含む入力フレーム210には、ラベル420「2」、「3」、および「4」が割り当てられる。
【００３０】
追加の実装では、正のラベル420の数が増加する。たとえば、ホットワードの最後の音声成分430を特徴付けるオーディオ特徴410を含む第1のフレーム210から開始して、固定量の「1」ラベル420が生成される。この実装では、構成された数の正のラベル420(たとえば、「1」)が大きいとき、普通なら正でないラベル420(たとえば「0」)が適用されたはずのフレーム210に、正のラベル420が適用され得る。他の例では、正のラベル420の開始位置が修正される。たとえば、最後のキーワード音声成分430を含むフレーム210のセグメントの開始、中間点、または終わりのいずれかにおいて開始するようにラベル420がシフトされ得る。さらに他の例では、重み損失が入力シーケンスに関連付けられる。たとえば、小さいミスアライメントによって引き起こされる損失(すなわち、誤差勾配)をトレーニング手順が低減することを可能にする重み損失データが、入力シーケンスに追加される。具体的には、フレームベースの損失関数では、損失が誤分類またはミスアライメントのどちらかから引き起こされ得る。損失を低減するために、ニューラルネットワーク300が、正しいラベル420とラベル420の正しい位置(タイミング)を共に予測する。ネットワーク300がある地点でキーワードを検出した場合であっても、所与のターゲットラベル420と完全に位置合せされていない場合、結果は誤りと見なされ得る。したがって、強制アライメントステージの間のミスアライメントの可能性が高いフレーム210について、損失を重み付けすることは特に有用である。
【００３１】
図4Aおよび図4Bのトレーニング入力オーディオシーケンス400a、400bのどちらかを使用するトレーニングの結果として、ホットワードがストリーミングオーディオ118内に存在するかどうかを示す2進決定ラベル420を出力するように、ニューラルネットワーク300が(通常はクロスエントロピー(CE)損失を使用して)最適化される。いくつかの例では、ネットワーク300は2つのステージにおいてトレーニングされる。次に図5Aを参照すると、概略図500aは、音響事後確率を生成するように個々にトレーニングされる、たとえば8つの層を含むニューラルネットワーク300のエンコーダ部分(または単に「エンコーダ」)310aを示す。SVDF層に加えて、ネットワーク300は、たとえばボトルネック層、ソフトマックス層、および/または他の層を含み得る。エンコーダ310aをトレーニングするために、ラベル生成は、ホットワードのすべての音声成分に別個のクラスを割り当てる(加えて、ホットワードではないすべてについて無音および「イプシロン」ターゲット)。次いで、ニューラルネットワーク300のデコーダ部分(または単に「デコーダ」)311aは、第1の部分(すなわち、層および接続)がエンコーダ310aのそれと合致するトポロジを作成することによってトレーニングされ、それを初期化するために、ニューラルネットワーク300のそのエンコーダ310aから選択されたチェックポイントが使用される。トレーニングは、エンコーダ310aのパラメータを「フリーズ」し(すなわち、更新せず)、したがってトポロジのデコーダ311a部分だけをチューニングするように指定される。これは、2つのスタッガードトレーニングパイプラインの生成物であっても、必然的に単一のスポッタニューラルネットワークを生成する。この方法を用いるトレーニングは、トレーニングセットの部分に対するオーバーフィッティングを呈する傾向のあるモデルに関して特に有用である。
【００３２】
代替として、ニューラルネットワーク300は、開始からエンドツーエンドでトレーニングされる。たとえば、ニューラルネットワーク300が(前述のエンコーダ310aトレーニングと同様に)特徴を直接的に受け入れるが、デコーダ311aをトレーニングする際に使用するための2進ターゲットラベル420(すなわち、「0」または「1」)出力を使用する。そのようなエンドツーエンドニューラルネットワーク300は、任意のトポロジを使用し得る。たとえば、図5Bに示されるように、概略図500bは、エンコーダ310bが中間ソフトマックス層を含まないことを除いて、図5Aのトポロジと同様のエンコーダ310bおよびデコーダ311bのニューラルネットワーク300トポロジを示す。図5Aのトポロジの場合と同じく、図5Bのトポロジは、どのようにデコーダ311b部分が調節されるかをチューニングするための適合レートを有する、事前トレーニングされたエンコーダチェックポイントを使用し得る(たとえば、適合レートが0に設定される場合、図5Bのトポロジは図5Aのトポロジと同等である)。このエンドツーエンドパイプラインは、トポロジのパラメータの全体が調節される場合、オーバーフィットする傾向のない、より小さいサイズのモデルでは特に、図5Aの別々にトレーニングされたエンコーダ310aおよびデコーダ311aをしのぐ傾向がある。
【００３３】
したがって、ニューラルネットワーク300は、手動チューニングされたデコーダの使用を回避する。デコーダを手動チューニングすることは、ホットワードを変更または追加する際の難点を増大させる。単一の記憶済みニューラルネットワーク300は、複数の異なるホットワード、ならびに2つ以上のロケールにわたる同一のホットワードを検出するようにトレーニングされ得る。さらに、検出品質は、潜在的に数百万の例を用いてトレーニングされた、ホットワード検出のために特に最適化されたネットワークと比べて低下する。さらに、典型的な手動チューニングされたデコーダは、符号化と復号化を共に実施する単一のニューラルネットワークよりも複雑である。従来のシステムは、過剰にパラメータ化される傾向があり、同程度のエンドツーエンドモデルよりも多くのメモリおよび計算を著しく消費し、ニューラルネットワーク加速ハードウェアをそれほど活用することができない。さらに、手動チューニングされたデコーダは、アクセントのある発話に弱点があり、それによって、複数のロケールおよび/または言語にわたって働き得る検出器を作成することが極めて難しくなる。
【００３４】
記憶済みニューラルネットワーク300は、同一のサイズの単純な完全結合層をしのぐが、事前トレーニングされた完全結合層からのパラメータを任意選択で初期化することからも恩恵を受ける。ネットワーク300は、過去からどれほど覚えるかに関する微細制御を可能にする。この結果、理論的に無限の過去に注意を払うこと(たとえば、継続的にストリーミングオーディオを聴取すること)から恩恵を受けない(実際には害を受ける)一定のタスクについてRNN-LSTMをしのぐ。しかしながら、ネットワーク300は、RNN-LSTMとタンデムで働き得、通常は下位層についてのSVDFを活用し、雑音の多い低レベル特徴の過去、および上位層についてのLSTMをフィルタリングする。いくつかの比較的小さいフィルタがSVDFを含むことを考えると、パラメータおよび計算の数が微細に制御される。これは、品質とサイズ/計算との間の兼ね合いを選択するときに有用である。さらに、この品質のために、ネットワーク300は、より大きいグラニュラリティで動作する、単純な畳込みニューラルネットワーク(CNN)のような他のトポロジをしのぐ非常に小さいネットワークを作成することを可能にする。
【００３５】
図6は、ストリーミングオーディオ118内のホットワードを検出する方法600についての動作の例示的構成のフローチャートである。フローチャートは、ユーザデバイス102によって取り込まれたストリーミングオーディオ118を特徴付けるそれぞれのオーディオ特徴410をそれぞれが含む入力フレーム210のシーケンスを、ユーザデバイス102のデータ処理ハードウェア103において受け取ることによって、動作602において開始する。各入力フレーム210のオーディオ特徴410は、ログフィルタバンクを含み得る。たとえば、各入力フレーム210は40個のログフィルタバンクを含み得る。動作604において、方法600は、データ処理ハードウェア103によって、順次スタックされたSVDF層302を含む、記憶済みニューラルネットワーク300を使用して、ストリーミングオーディオ118内のホットワードの存在を示す確率スコア350を生成することを含み、各SVDF層302は少なくとも1つのニューロン312を含み、各ニューロン312はそれぞれのメモリ構成要素330を含み、それぞれのメモリ構成要素330は、対応するニューロン312のそれぞれのメモリ容量に関連付けられる。各ニューロン312はまた、第1のステージ320および第2のステージ340をも含む。第1のステージ320は、各入力フレーム210のオーディオ特徴410に関するフィルタリングを個々に実施し、フィルタリングされたオーディオ特徴410をそれぞれのメモリ構成要素330に出力するように構成される。第2のステージ340は、それぞれのメモリ構成要素330内にあるすべてのフィルタリングされたオーディオ特徴410に関するフィルタリングを実施するように構成される。ニューラルネットワーク300は、隣接するSVDF層302間に配設された少なくとも1つの追加の処理層を含み得る。ニューラルネットワーク300は、いくつかの例では、隣接するSVDF層間に配設された少なくとも1つのボトルネッキング層302を含む。ボトルネック層は、層間のパラメータカウントを著しく削減するために使用される。
【００３６】
いくつかの例では、SVDF層302のそれぞれからのニューロン312についての、それぞれのメモリ構成要素330に関連付けられるメモリ容量の合計が、ニューラルネットワーク300に、典型的な話者がホットワードを話すのにかかる時間の長さに比例する固定メモリ容量を与える。それぞれのメモリ構成要素330のうちの少なくとも1つに関連付けられるそれぞれのメモリ容量は、残りのメモリ構成要素330に関連付けられるそれぞれのメモリ容量とは異なり得る。あるいは、すべてのSVDF層302のニューロン312のそれぞれのメモリ構成要素330に関連付けられるそれぞれのメモリ容量は同一である。
【００３７】
動作606において、方法600は、データ処理ハードウェア103によって、確率スコア350がホットワード検出しきい値を満たすかどうかを判定することを含む。確率スコア350がホットワード検出しきい値を満たすとき、方法600は、動作608において、データ処理ハードウェア103によって、オーディオストリーム118内のホットワードおよび/またはホットワードに続く1つもしくは複数の他の用語を処理するためのユーザデバイス102に関するウェイクアッププロセスを開始する。
【００３８】
いくつかの実装では、コンピューティングリソース112およびメモリリソース113を有するリモートシステム110は、複数のトレーニング入力シーケンス400に関してニューラルネットワーク300をトレーニングするように構成され、各トレーニング入力オーディオシーケンス400は、ホットワードの音声成分430を特徴付ける1つまたは複数のそれぞれのオーディオ特徴410をそれぞれが含む入力フレーム210のシーケンスを含む。各トレーニング入力オーディオシーケンス400はまた、入力フレーム210に割り当てられたラベル420をも含み、各ラベル420は、それぞれの入力フレーム210のオーディオ特徴410がホットワードの音声成分430を含む確率を示す。追加の例では、ニューラルネットワーク300をトレーニングすることは、各トレーニング入力オーディオシーケンス400について、ホットワードの音声成分430を含む入力フレーム210の部分に第1のラベル420を割り当てることによってエンコーダ部分310bをトレーニングすることを含む。トレーニングはまた、ホットワードの音声成分430を含む入力フレーム210の残りの部分に第2のラベル420を割り当てること、および対応するトレーニング入力オーディオシーケンス400がホットワードを含み、またはホットワードを含まないことのどちらかを示すラベル420を適用することによってデコーダ部分311bをトレーニングすることをも含む。入力フレーム210の部分に第1のラベル420を割り当てることは、ホットワードの最後の音声成分430を特徴付ける1つまたは複数のそれぞれのオーディオ特徴410を含む少なくとも1つの入力フレーム210に第1のラベル420を割り当てること、およびホットワードの残りの音声成分を特徴付ける1つまたは複数のそれぞれのオーディオ特徴410をそれぞれが含む残りの入力フレーム210に第2のラベル420を割り当てることを含み得る。
【００３９】
いくつかの実装では、方法600は、トレーニングの第1のステージ320の間、対応するトレーニング入力オーディオシーケンス400についての入力フレーム210にラベル420を割り当てることによってエンコーダ部分310aを事前トレーニングすることによってニューラルネットワーク300をトレーニングすることを含む。トレーニングの第2のステージ340の間、方法600は、トレーニングの第1のステージからの割り当てられたラベル420を用いてエンコーダ部分310aを初期化すること、およびホットワードを検出し、またはホットワードを検出しないように、エンコーダ部分310aからの出力を用いてデコーダ部分311aをトレーニングすることを含む。
【００４０】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは「アプリケーション」、「app」、または「プログラム」と呼ばれることがある。例示的アプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【００４１】
非一時的メモリは、コンピューティングデバイスによる使用のために一時的または永続的にプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を記憶するために使用される物理デバイスであり得る。非一時的メモリは揮発性および/または不揮発性アドレス可能半導体メモリであり得る。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電気消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常はブートプログラムなどのファームウェアのために使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【００４２】
図7は、本文書において説明されるシステムおよび方法を実装するために使用され得る例示的コンピューティングデバイス700の概略図である。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すものとする。ここで示される構成要素、その接続および関係、ならびにその機能は、例示的なものに過ぎず、本文書において説明され、かつ/または特許請求される本発明の実装を限定するものではない。
【００４３】
コンピューティングデバイス700は、プロセッサ710と、メモリ720と、記憶デバイス730と、メモリ720および高速拡張ポート750に接続する高速インターフェース/コントローラ740と、低速バス770および記憶デバイス730に接続する低速インターフェース/コントローラ760とを含む。構成要素710、720、730、740、750、および760のそれぞれは、様々なバスを使用して相互接続され、共通マザーボード上に、または適宜他の方式で取り付けられ得る。プロセッサ710は、高速インターフェース740に結合されたディスプレイ780などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するためにメモリ720内または記憶デバイス730上に記憶された命令を含む、コンピューティングデバイス700内での実行のための命令を処理し得る。他の実装では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリのタイプと共に適宜使用され得る。さらに、複数のコンピューティングデバイス700が接続され得、各デバイスは、必要な動作の各部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)実現する。
【００４４】
メモリ720は、コンピューティングデバイス700内に情報を非一時的に記憶する。メモリ720は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ720は、コンピューティングデバイス700による使用のために一時的または永続的にプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を記憶するために使用される物理デバイスであり得る。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電気消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常はブートプログラムなどのファームウェアのために使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【００４５】
記憶デバイス730は、コンピューティングデバイス700のためのマスストレージを提供することができる。いくつかの実装では、記憶デバイス730はコンピュータ可読媒体である。様々な異なる実装では、記憶デバイス730は、フロッピィディスクデバイス、ハードディスクデバイス、光ディスクデバイス、テープデバイス、フラッシュメモリもしくは他の類似の固体メモリデバイス、またはストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイであり得る。追加の実装では、コンピュータプログラム製品は情報キャリアとして有形に実施される。コンピュータプログラム製品は、実行されるとき、前述のような1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ720、記憶デバイス730、またはプロセッサ710上のメモリなどのコンピュータ可読または機械可読媒体である。
【００４６】
高速コントローラ740は、コンピューティングデバイス700についての帯域幅集約的な動作を管理し、低速コントローラ760はより低い帯域幅集約的な動作を管理する。そのような責務の割振りは例示的なものに過ぎない。いくつかの実装では、高速コントローラ740は、メモリ720、ディスプレイ780(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)、および高速拡張ポート750に結合され、高速拡張ポート750は様々な拡張カード(図示せず)を受け入れ得る。いくつかの実装では、低速コントローラ760は、記憶デバイス730および低速拡張ポート790に結合される。低速拡張ポート790は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイスに、またはたとえばネットワークアダプタを通じて、スイッチやルータなどのネットワーキングデバイスに結合され得る。
【００４７】
コンピューティングデバイス700は、図に示されるのとは異なるいくつかの形態で実装され得る。たとえば、コンピューティングデバイス700は、標準サーバ700aとして実装され、またはそのようなサーバのグループ内で複数回実装され、ラップトップコンピュータ700bとして実装され、またはラックサーバシステム700cの部分として実装され得る。
【００４８】
本明細書において説明されるシステムおよび技法の様々な実装は、デジタル電子および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/あるいはそれらの組合せとして実現され得る。これらの様々な実装は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令を受け取り、データおよび命令を送信するように結合された、専用または汎用であり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラム内の実装を含み得る。
【００４９】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサのための機械語命令を含み、高水準手続型および/またはオブジェクト指向プログラミング言語として、ならびに/あるいはアセンブリ/機械語として実装され得る。本明細書では、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械語命令を機械可読信号として受け取る機械可読媒体を含む、プログラマブルプロセッサに機械語命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械語命令および/またはデータを提供するために使用される任意の信号を指す。
【００５０】
本明細書において説明されるプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行して、入力データに対して演算し、出力を出力することによって機能を実施する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローはまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得る。コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリあるいはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を実施するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクをも含み、あるいはそれらとの間でデータを受け取り、またはデータを転送する。しかしながら、コンピュータがそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、例として半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内部ハードディスクまたは取外し可能ディスク、光磁気光ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補足され、または専用論理回路内に組み込まれ得る。
【００５１】
ユーザとの対話を実現するために、本開示の1つまたは複数の態様が、ディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはユーザに情報を表示するためのタッチスクリーンと、任意選択で、ユーザがそれによってコンピュータに入力を与え得るキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実装され得る。ユーザとの対話を実現するために他の種類のデバイスも使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態として受け取られ得る。さらに、コンピュータは、ユーザによって使用されるデバイスとの間で文書を送り、文書を受け取ることによって、たとえばユーザのクライアントデバイス上のウェブブラウザから受け取った要求に応答して、ウェブブラウザにウェブページを送ることによって、ユーザと対話し得る。
【００５２】
いくつかの実装が説明された。それでも、本開示の精神および範囲から逸脱することなく、様々な修正が行われ得ることを理解されよう。したがって、他の実装は以下の特許請求の範囲内にある。
【符号の説明】
【００５３】
10  ユーザ
100  システム
102  ユーザデバイス
103  データ処理ハードウェア
104  ネットワーク
105  メモリハードウェア
106  ホットワード検出器
108  自動音声認識器(ASR)
110  リモートシステム
112  コンピューティングリソース
113  メモリリソース
114  記憶リソース、メモリハードウェア
118  ストリーミングオーディオ、オーディオストリーム
120  発話
130  注釈付き発話プール
200  ニューラルネットワーク音響エンコーダ、ネットワーク
210  フレーム
210a-d  フレーム
212  ニューロン
300  ニューラルネットワーク
302  単一値分解フィルタ(SVDF)層
302n  最終層
310  エンコーダ部分
310a,b  エンコーダ部分、エンコーダ
311  デコーダ部分
311a,b  デコーダ部分、デコーダ
312  ニューロン/ノード
320  第1のステージ、ステージ1特徴フィルタ
330  メモリ構成要素、メモリ
332  メモリ位置
332a-d  メモリ位置
340  第2のステージ、ステージ2時間フィルタ
350  確率スコア
400  トレーニング入力オーディオシーケンス
402  生オーディオ信号
404  事前処理ステージ
410  オーディオ特徴、入力特徴、入力特徴テンソル
420  ラベル
430  音声成分
700  コンピューティングデバイス
700a  標準サーバ
700b  ラップトップコンピュータ
700c  ラックサーバシステム
710  プロセッサ
720  メモリ
730  記憶デバイス
740  高速インターフェース/コントローラ
750  高速拡張ポート
760  低速インターフェース/コントローラ
770  低速バス
780  ディスプレイ
790  低速拡張ポート
【図１】
2021524615.tif 000003
【図２】
2021524615.tif 000004
【図３Ａ】
2021524615.tif 000005
【図３Ｂ】
2021524615.tif 000006
【図４Ａ】
2021524615.tif 000007
【図４Ｂ】
2021524615.tif 000008
【図５Ａ】
2021524615.tif 000009
【図５Ｂ】
2021524615.tif 000010
【図６】
2021524615.tif 000011
【図７】
2021524615.tif 000012
【国際調査報告】
2021524615.tif 000013
2021524615.tif 000014
2021524615.tif 000015
2021524615.tif 000016
2021524615.tif 000017