JP6984068B2 - エンドツーエンドストリーミングキーワードスポッティング - Google Patents

エンドツーエンドストリーミングキーワードスポッティング Download PDF

Info

Publication number
JP6984068B2
JP6984068B2 JP2021500875A JP2021500875A JP6984068B2 JP 6984068 B2 JP6984068 B2 JP 6984068B2 JP 2021500875 A JP2021500875 A JP 2021500875A JP 2021500875 A JP2021500875 A JP 2021500875A JP 6984068 B2 JP6984068 B2 JP 6984068B2
Authority
JP
Japan
Prior art keywords
audio
training
memory
hotword
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021500875A
Other languages
English (en)
Other versions
JP2021524615A (ja
Inventor
ラジエル・アルバレス・ゲバラ
ヒュン・ジン・パク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2021524615A publication Critical patent/JP2021524615A/ja
Priority to JP2021189437A priority Critical patent/JP7263492B2/ja
Application granted granted Critical
Publication of JP6984068B2 publication Critical patent/JP6984068B2/ja
Priority to JP2023064374A priority patent/JP7575517B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Description

本開示は、ストリーミングオーディオ内のキーワードをスポッティングするためのエンドツーエンドシステムに関する。
音声対応環境(たとえば、自宅、職場、学校、自動車など)は、照会を処理し、照会に回答し、かつ/またはコマンドに基づいて機能を実施するコンピュータベースのシステムに、ユーザが声に出して照会またはコマンドを話すことを可能にする。音声対応環境は、環境の様々な部屋またはエリアにわたって分散された、接続されたマイクロフォンデバイスのネットワークを使用して実装され得る。これらのデバイスは、環境内に存在する別の個人に向けられる発話ではなく、所与の発話がシステムに向けられるときを識別する助けとするために、ホットワードを使用し得る。したがって、デバイスは、スリープ状態またはハイバネーション状態において動作し、検出された発話がホットワードを含むときにのみウェイクアップし得る。近頃、ニューラルネットワークが、ストリーミングオーディオ内のユーザによって話されたホットワードを検出するようにモデルをトレーニングするための魅力的な解決策として現れた。通常、ストリーミングオーディオ内のホットワードを検出するために使用されるシステムは、信号処理フロントエンド構成要素、ニューラルネットワーク音響エンコーダ構成要素、およびハンドデザインド(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 低速拡張ポート

Claims (22)

  1. ユーザデバイス(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)に関するウェイクアッププロセスを初期化するステップと
    を含み、
    前記SVDF層(302)のそれぞれからのニューロン(312)についての、前記それぞれのメモリ構成要素(330)に関連付けられるメモリ容量の合計が、前記記憶済みニューラルネットワーク(300)に、典型的な話者が前記ホットワードを話すのにかかる時間の長さに比例する固定メモリ容量を与える
    方法(600)。
  2. 前記それぞれのメモリ構成要素(330)のうちの少なくとも1つに関連付けられる前記それぞれのメモリ容量が、残りのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量とは異なる請求項に記載の方法(600)。
  3. すべての前記SVDF層(302)の前記それぞれのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量が同一である請求項に記載の方法(600)。
  4. リモートシステム(110)が、複数のトレーニング入力オーディオシーケンス(400)に関して、前記記憶済みニューラルネットワーク(300)をトレーニングし、各トレーニング入力オーディオシーケンス(400)が、
    前記ホットワードの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む入力フレーム(210)のシーケンスと、
    前記入力フレーム(210)に割り当てられたラベル(420)であって、各ラベル(420)が、それぞれの入力フレーム(210)の前記オーディオ特徴(410)が前記ホットワードの音声成分(430)を含む確率を示す、ラベル(420)と
    を含む請求項1から3のいずれか一項に記載の方法(600)。
  5. 前記記憶済みニューラルネットワーク(300)をトレーニングするステップが、各トレーニング入力オーディオシーケンス(400)について、
    前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の部分に第1のラベル(420)を割り当て、前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の残りの部分に第2のラベル(420)を割り当てることによってエンコーダ部分(310)をトレーニングするステップと、
    対応する前記トレーニング入力オーディオシーケンス(400)が前記ホットワードを含み、または前記ホットワードを含まないことのどちらかを示すラベル(420)を適用することによってデコーダ部分(311)をトレーニングするステップと
    を含む請求項に記載の方法(600)。
  6. 前記入力フレーム(210)の前記部分に前記第1のラベル(420)を割り当てるステップが、
    前記ホットワードの最後の音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)を含む少なくとも1つの入力フレーム(210)に前記第1のラベル(420)を割り当てるステップと、
    前記ホットワードの残りの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む残りの入力フレーム(210)に前記第2のラベル(420)を割り当てるステップと
    を含む請求項に記載の方法(600)。
  7. 前記ニューラルネットワーク(300)をトレーニングするステップが、各トレーニング入力オーディオシーケンス(400)について、
    トレーニングの前記第1のステージ(320)の間、対応する前記トレーニング入力オーディオシーケンス(400)についての前記入力フレーム(210)に前記ラベル(420)を割り当てることによってエンコーダ部分(310)を事前トレーニングするステップと、
    トレーニングの前記第2のステージ(340)の間、
    トレーニングの前記第1のステージ(320)からの前記割り当てられたラベル(420)を用いて前記エンコーダ部分(310)を初期化するステップと、
    前記ホットワードを検出し、または前記ホットワードを検出しないように、前記エンコーダ部分(310)からの出力を用いてデコーダ部分(311)をトレーニングするステップと
    を含む請求項からのいずれか一項に記載の方法(600)。
  8. 前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つの追加の処理層を備える請求項1からのいずれか一項に記載の方法(600)。
  9. 前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つのボトルネッキング層を備える請求項1からのいずれか一項に記載の方法(600)。
  10. 各入力フレーム(210)の前記オーディオ特徴(410)がログフィルタバンクを備える請求項からのいずれか一項に記載の方法(600)。
  11. 各入力フレーム(210)が40個のログフィルタバンクを備える請求項10に記載の方法(600)。
  12. ユーザデバイス(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)と
    を備え
    前記SVDF層(302)のそれぞれからのニューロン(312)についての、前記それぞれのメモリ構成要素(330)に関連付けられるメモリ容量の合計が、前記記憶済みニューラルネットワーク(300)に、典型的な話者が前記ホットワードを話すのにかかる時間の長さに比例する固定メモリ容量を与える
    システム(100)。
  13. 前記それぞれのメモリ構成要素(330)のうちの少なくとも1つに関連付けられる前記それぞれのメモリ容量が、残りのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量とは異なる請求項12に記載のシステム(100)。
  14. すべての前記SVDF層(302)の前記それぞれのメモリ構成要素(330)に関連付けられる前記それぞれのメモリ容量が同一である請求項12のいずれか一項に記載のシステム(100)。
  15. リモートシステム(110)が、複数のトレーニング入力オーディオシーケンス(400)に関して、前記記憶済みニューラルネットワーク(300)をトレーニングするように構成され、各トレーニング入力オーディオシーケンス(400)が、
    前記ホットワードの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む入力フレーム(210)のシーケンスと、
    前記入力フレーム(210)に割り当てられたラベル(420)であって、各ラベル(420)が、それぞれの入力フレーム(210)の前記オーディオ特徴(410)が前記ホットワードの音声成分(430)を含む確率を示す、ラベル(420)と
    を含む請求項12から14のいずれか一項に記載のシステム(100)。
  16. 前記記憶済みニューラルネットワーク(300)をトレーニングすることが、各トレーニング入力オーディオシーケンス(400)について、
    前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の部分に第1のラベル(420)を割り当て、前記ホットワードの音声成分(430)を含む前記入力フレーム(210)の残りの部分に第2のラベル(420)を割り当てることによってエンコーダ部分(310)をトレーニングすること、および
    対応するトレーニング前記入力オーディオシーケンス(400)が前記ホットワードを含み、または前記ホットワードを含まないことのどちらかを示すラベル(420)を適用することによってデコーダ部分(311)をトレーニングすること
    を含む請求項15に記載のシステム(100)。
  17. 前記入力フレーム(210)の前記部分に前記第1のラベル(420)を割り当てることが、
    前記ホットワードの最後の音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)を含む少なくとも1つの入力フレーム(210)に前記第1のラベル(420)を割り当てること、および
    前記ホットワードの残りの音声成分(430)を特徴付ける1つまたは複数のそれぞれのオーディオ特徴(410)をそれぞれが含む残りの入力フレーム(210)に前記第2のラベル(420)を割り当てること
    を含む請求項16に記載のシステム(100)。
  18. 前記記憶済みニューラルネットワーク(300)をトレーニングすることが、各トレーニング入力オーディオシーケンス(400)について、
    トレーニングの前記第1のステージ(320)の間、対応する前記トレーニング入力オーディオシーケンス(400)についての前記入力フレーム(210)に前記ラベル(420)を割り当てることによってエンコーダ部分(310)を事前トレーニングすること、ならびに
    トレーニングの前記第2のステージ(340)の間、
    トレーニングの前記第1のステージ(320)からの前記割り当てられたラベル(420)を用いて前記エンコーダ部分(310)を初期化すること、および
    前記ホットワードを検出し、または前記ホットワードを検出しないように、前記エンコーダ部分(310)からの出力を用いてデコーダ部分(311)をトレーニングすること
    を含む請求項15から17のいずれか一項に記載のシステム(100)。
  19. 前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つの追加の処理層を備える請求項12から18のいずれか一項に記載のシステム(100)。
  20. 前記記憶済みニューラルネットワーク(300)が、隣接するSVDF層(302)間に配設された少なくとも1つのボトルネッキング層を備える請求項12から19のいずれか一項に記載のシステム(100)。
  21. 各入力フレーム(210)の前記オーディオ特徴(410)がログフィルタバンクを備える請求項12から20のいずれか一項に記載のシステム(100)。
  22. 各入力フレーム(210)が40個のログフィルタバンクを備える請求項21に記載のシステム(100)。
JP2021500875A 2018-07-13 2019-06-13 エンドツーエンドストリーミングキーワードスポッティング Active JP6984068B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021189437A JP7263492B2 (ja) 2018-07-13 2021-11-22 エンドツーエンドストリーミングキーワードスポッティング
JP2023064374A JP7575517B2 (ja) 2018-07-13 2023-04-11 エンドツーエンドストリーミングキーワードスポッティング

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862697586P 2018-07-13 2018-07-13
US62/697,586 2018-07-13
PCT/US2019/036907 WO2020013946A1 (en) 2018-07-13 2019-06-13 End-to-end streaming keyword spotting

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021189437A Division JP7263492B2 (ja) 2018-07-13 2021-11-22 エンドツーエンドストリーミングキーワードスポッティング

Publications (2)

Publication Number Publication Date
JP2021524615A JP2021524615A (ja) 2021-09-13
JP6984068B2 true JP6984068B2 (ja) 2021-12-17

Family

ID=67108200

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2021500875A Active JP6984068B2 (ja) 2018-07-13 2019-06-13 エンドツーエンドストリーミングキーワードスポッティング
JP2021189437A Active JP7263492B2 (ja) 2018-07-13 2021-11-22 エンドツーエンドストリーミングキーワードスポッティング
JP2023064374A Active JP7575517B2 (ja) 2018-07-13 2023-04-11 エンドツーエンドストリーミングキーワードスポッティング

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2021189437A Active JP7263492B2 (ja) 2018-07-13 2021-11-22 エンドツーエンドストリーミングキーワードスポッティング
JP2023064374A Active JP7575517B2 (ja) 2018-07-13 2023-04-11 エンドツーエンドストリーミングキーワードスポッティング

Country Status (6)

Country Link
US (8) US10930269B2 (ja)
EP (1) EP3807874A1 (ja)
JP (3) JP6984068B2 (ja)
KR (2) KR102622357B1 (ja)
CN (2) CN118737132A (ja)
WO (1) WO2020013946A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228976B (zh) * 2016-07-22 2019-05-31 百度在线网络技术(北京)有限公司 语音识别方法和装置
US11205121B2 (en) 2018-06-20 2021-12-21 Disney Enterprises, Inc. Efficient encoding and decoding sequences using variational autoencoders
US11244673B2 (en) * 2019-07-19 2022-02-08 Microsoft Technologly Licensing, LLC Streaming contextual unidirectional models
CN111343473B (zh) * 2020-02-25 2022-07-01 北京达佳互联信息技术有限公司 直播应用的数据处理方法、装置、电子设备及存储介质
CN111429887B (zh) * 2020-04-20 2023-05-30 合肥讯飞数码科技有限公司 基于端到端的语音关键词识别方法、装置以及设备
CN111667835A (zh) * 2020-06-01 2020-09-15 马上消费金融股份有限公司 语音识别方法、活体检测方法、模型训练方法及装置
CN112669852B (zh) * 2020-12-15 2023-01-31 北京百度网讯科技有限公司 内存分配方法、装置及电子设备
US12027162B2 (en) * 2021-03-03 2024-07-02 Google Llc Noisy student teacher training for robust keyword spotting
US12100416B2 (en) * 2021-07-08 2024-09-24 Sony Group Corporation Recommendation of audio based on video analysis using machine learning
US12125476B2 (en) * 2022-02-28 2024-10-22 Google Llc Mixing heterogeneous loss types to improve accuracy of keyword spotting
CN114863915A (zh) * 2022-07-05 2022-08-05 中科南京智能技术研究院 一种基于语义保留的语音唤醒方法及系统
CN116453514B (zh) * 2023-06-08 2023-08-25 四川大学 一种基于多视角的语音关键词检测与定位方法及装置

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266386A (ja) * 1993-03-16 1994-09-22 Nippon Telegr & Teleph Corp <Ntt> ワードスポッティング方法
JPH08314490A (ja) * 1995-05-23 1996-11-29 Nippon Hoso Kyokai <Nhk> ワードスポッティング型音声認識方法と装置
JP3946912B2 (ja) 1999-09-06 2007-07-18 三菱電機株式会社 教師なし話者適応化装置、音声認識装置、教師なし話者適応化方法、音声認識方法、教師なし話者適応化プログラムを記録した記録媒体及び音声認識プログラムを記録した記録媒体
US7359550B2 (en) * 2002-04-18 2008-04-15 Mitsubishi Electric Research Laboratories, Inc. Incremental singular value decomposition of incomplete data
US7725319B2 (en) * 2003-07-07 2010-05-25 Dialogic Corporation Phoneme lattice construction and its application to speech recognition and keyword spotting
ES2237345B1 (es) * 2005-02-28 2006-06-16 Prous Institute For Biomedical Research S.A. Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes.
EP2135231A4 (en) * 2007-03-01 2014-10-15 Adapx Inc SYSTEM AND METHOD FOR DYNAMIC LEARNING
JP4572218B2 (ja) * 2007-06-27 2010-11-04 日本電信電話株式会社 音楽区間検出方法、音楽区間検出装置、音楽区間検出プログラム及び記録媒体
FR2923307B1 (fr) * 2007-11-02 2012-11-16 Eastman Kodak Co Procede d'organisation de donnees multimedia
US9361885B2 (en) * 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9704102B2 (en) * 2013-03-15 2017-07-11 William Marsh Rice University Sparse factor analysis for analysis of user content preferences
US9390708B1 (en) * 2013-05-28 2016-07-12 Amazon Technologies, Inc. Low latency and memory efficient keywork spotting
US9620145B2 (en) * 2013-11-01 2017-04-11 Google Inc. Context-dependent state tying using a neural network
US9767410B1 (en) * 2014-10-03 2017-09-19 Google Inc. Rank-constrained neural networks
US9424841B2 (en) * 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US10198517B2 (en) * 2014-12-08 2019-02-05 Oath Inc. Pairing systems and methods for electronic communications
KR101686827B1 (ko) * 2015-03-17 2016-12-16 인천대학교 산학협력단 인공 신경망의 뉴로모픽 하드웨어 구현 방법
US10013652B2 (en) 2015-04-29 2018-07-03 Nuance Communications, Inc. Fast deep neural network feature transformation via optimized memory bandwidth utilization
US10503706B2 (en) * 2015-06-01 2019-12-10 Sap Se Deferred data definition statements
US10438593B2 (en) * 2015-07-22 2019-10-08 Google Llc Individualized hotword detection models
US10319374B2 (en) 2015-11-25 2019-06-11 Baidu USA, LLC Deployed end-to-end speech recognition
US20170154620A1 (en) 2015-12-01 2017-06-01 Knowles Electronics, Llc Microphone assembly comprising a phoneme recognizer
US10043243B2 (en) * 2016-01-22 2018-08-07 Siemens Healthcare Gmbh Deep unfolding algorithm for efficient image denoising under varying noise conditions
US9639809B1 (en) * 2016-02-10 2017-05-02 Sas Institute Inc. Monitoring system based on a support vector data description
EP3414759B1 (en) * 2016-02-10 2020-07-01 Cerence Operating Company Techniques for spatially selective wake-up word recognition and related systems and methods
CA3017135A1 (en) 2016-03-08 2017-09-14 Your Trainer Inc. Systems and methods of dynamically creating a personalized workout video
US10373612B2 (en) * 2016-03-21 2019-08-06 Amazon Technologies, Inc. Anchored speech detection and speech recognition
CN106251859B (zh) * 2016-07-22 2019-05-31 百度在线网络技术(北京)有限公司 语音识别处理方法和装置
US9905104B1 (en) * 2016-08-15 2018-02-27 Nec Corporation Baby detection for electronic-gate environments
KR101943381B1 (ko) * 2016-08-22 2019-01-29 에스케이텔레콤 주식회사 심층 신경망을 이용한 음성 끝점 검출 방법 및 이를 위한 끝점 검출 장치
DE102016216950A1 (de) * 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells mit Vorwärts- und Rückkopplung
US10403268B2 (en) * 2016-09-08 2019-09-03 Intel IP Corporation Method and system of automatic speech recognition using posterior confidence scores
JP6712642B2 (ja) * 2016-09-16 2020-06-24 日本電信電話株式会社 モデル学習装置、その方法、及びプログラム
US10950225B2 (en) * 2016-09-30 2021-03-16 Nippon Telegraph And Telephone Corporation Acoustic model learning apparatus, method of the same and program
US20180129937A1 (en) * 2016-11-04 2018-05-10 Salesforce.Com, Inc. Quasi-recurrent neural network
EP3637414B1 (en) 2016-11-07 2024-01-03 Google LLC Recorded media hotword trigger suppression
US10650311B2 (en) * 2016-12-19 2020-05-12 Asaap, Inc. Suggesting resources using context hashing
US10559309B2 (en) 2016-12-22 2020-02-11 Google Llc Collaborative voice controlled devices
CN106782504B (zh) * 2016-12-29 2019-01-22 百度在线网络技术(北京)有限公司 语音识别方法和装置
JP6585112B2 (ja) * 2017-03-17 2019-10-02 株式会社東芝 音声キーワード検出装置および音声キーワード検出方法
JP6805927B2 (ja) * 2017-03-28 2020-12-23 富士通株式会社 インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
US10460729B1 (en) * 2017-06-30 2019-10-29 Amazon Technologies, Inc. Binary target acoustic trigger detecton
US10664716B2 (en) * 2017-07-19 2020-05-26 Vispek Inc. Portable substance analysis based on computer vision, spectroscopy, and artificial intelligence
US20190080009A1 (en) * 2017-09-11 2019-03-14 Linkedin Corporation Calculation of tuning parameters for ranking items in a user feed
CA3078472A1 (en) 2017-10-06 2019-04-11 Oslo Universitetssykehus Hf Chimeric antigen receptors
US10672380B2 (en) * 2017-12-27 2020-06-02 Intel IP Corporation Dynamic enrollment of user-defined wake-up key-phrase for speech enabled computer system
US11106729B2 (en) * 2018-01-08 2021-08-31 Comcast Cable Communications, Llc Media search filtering mechanism for search engine
CN108198552B (zh) 2018-01-18 2021-02-02 深圳市大疆创新科技有限公司 一种语音控制方法及视频眼镜
US11586924B2 (en) * 2018-01-23 2023-02-21 Qualcomm Incorporated Determining layer ranks for compression of deep networks
DE102018102758B4 (de) 2018-02-07 2020-01-16 Kendrion (Villingen) Gmbh Feder für ein Rückschlagventil, Rückschlagventil mit einer derartigen Feder, regelbarer Schwingungsdämpfer mit einem solchen Rückschlagventil sowie Kraftfahrzeug mit einem derartigen regelbaren Schwingungsdämpfer
US10585988B2 (en) * 2018-06-08 2020-03-10 Microsoft Technology Licensing, Llc Graph representations for identifying a next word
JP6892426B2 (ja) * 2018-10-19 2021-06-23 ヤフー株式会社 学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラム
CN111933114B (zh) * 2020-10-09 2021-02-02 深圳市友杰智新科技有限公司 语音唤醒混合模型的训练方法、使用方法和相关设备

Also Published As

Publication number Publication date
KR102483774B1 (ko) 2023-01-02
US20210142790A1 (en) 2021-05-13
JP7575517B2 (ja) 2024-10-29
KR102622357B1 (ko) 2024-01-08
CN118737132A (zh) 2024-10-01
KR20210015967A (ko) 2021-02-10
WO2020013946A1 (en) 2020-01-16
US20210312913A1 (en) 2021-10-07
US20230162729A1 (en) 2023-05-25
CN112368769A (zh) 2021-02-12
US11557282B2 (en) 2023-01-17
US20200020322A1 (en) 2020-01-16
KR20230006055A (ko) 2023-01-10
JP2022028846A (ja) 2022-02-16
US11929064B2 (en) 2024-03-12
KR20240008406A (ko) 2024-01-18
US20240177708A1 (en) 2024-05-30
US11682385B2 (en) 2023-06-20
JP7263492B2 (ja) 2023-04-24
US10930269B2 (en) 2021-02-23
US20200126537A1 (en) 2020-04-23
CN112368769B (zh) 2024-07-19
US20230298576A1 (en) 2023-09-21
JP2023089116A (ja) 2023-06-27
EP3807874A1 (en) 2021-04-21
JP2021524615A (ja) 2021-09-13
US11056101B2 (en) 2021-07-06
US20240242711A1 (en) 2024-07-18
US11967310B2 (en) 2024-04-23

Similar Documents

Publication Publication Date Title
JP6984068B2 (ja) エンドツーエンドストリーミングキーワードスポッティング
US11798535B2 (en) On-device custom wake word detection
EP3966813A1 (en) Online verification of custom wake word
US20240347051A1 (en) Small Footprint Multi-Channel Keyword Spotting
KR102720650B1 (ko) 종단 간 스트리밍 키워드 탐지
US12125476B2 (en) Mixing heterogeneous loss types to improve accuracy of keyword spotting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210303

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211124

R150 Certificate of patent or registration of utility model

Ref document number: 6984068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150