(57)【要約】  マルチチャネル音声認識のためのニューラルネットワーク適応ビームフォーミングのための方法、システム、およびコンピュータ記憶媒体上で符号化されたコンピュータプログラムを含む装置が開示される。一態様では、方法は、発話に対応するオーディオデータの第1のチャネルおよび発話に対応するオーディオデータの第2のチャネルを受信する動作を含む。これらの動作は、オーディオデータの第1のチャネルおよびオーディオデータの第2のチャネルに基づいて第1のフィルタに関するフィルタパラメータの第1のセット、およびオーディオデータの第1のチャネルおよびオーディオデータの第2のチャネルに基づいて第2のフィルタに関するフィルタパラメータの第2のセットを生成するステップをさらに含む。これらの動作は、オーディオデータの単一の結合チャネルを生成するステップをさらに含む。これらの動作は、オーディオデータをニューラルネットワークに入力するステップをさらに含む。これらの動作は、発話に関するトランスクリプションを提供するステップをさらに含む。
2019508730.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
発話に対応するオーディオデータの第1のチャネルおよび前記発話に対応するオーディオデータの第2のチャネルを受信するステップと、
トレーニングされたリカレントニューラルネットワークを使用して、(i)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第1のフィルタに関するフィルタパラメータの第1のセット、および(ii)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第2のフィルタに関するフィルタパラメータの第2のセットを生成するステップと、
(i)前記第1のフィルタを使用してフィルタリングされている前記第1のチャネルのオーディオデータと(ii)前記第2のフィルタを使用してフィルタリングされている前記第2のチャネルのオーディオデータとを結合することによって、オーディオデータの単一の結合チャネルを生成するステップと、
前記単一の結合チャネルに関する前記オーディオデータを音響モデルとしてトレーニングされたニューラルネットワークに入力するステップと、
結合畳み込み出力の受信に応答して前記ニューラルネットワークが提供する出力に少なくとも基づいて判定される前記発話に関するトランスクリプションを提供するステップと
を含む、コンピュータ実装方法。
【請求項２】
前記リカレントニューラルネットワークが1つまたは複数の長・短期記憶層を備える、請求項1に記載の方法。
【請求項３】
前記リカレントニューラルネットワークが、
オーディオの第1のチャネルと第2のチャネルの両方を受信する第1の長・短期記憶層と、
前記第1のチャネルに対応する第2の長・短期記憶層および前記第2のチャネルに対応する第3の長・短期記憶層と備え、前記第2の長・短期記憶層および前記第3の長・短期記憶層が各々、前記第1の長・短期記憶層の前記出力を受信して、前記対応するチャネルに関するフィルタパラメータのセットを提供する、請求項1に記載の方法。
【請求項４】
前記長・短期記憶層が、前記長・短期記憶層と音響モデルとしてトレーニングされた前記ニューラルネットワークとを一緒にトレーニングするトレーニングプロセス中に学習されているパラメータを有する、請求項2または3に記載の方法。
【請求項５】
オーディオデータの各入力フレームに関する新しいフィルタパラメータを変更または生成するステップ
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記発話のオーディオフレームのシーケンス内の各オーディオフレームに関して、フィルタパラメータの新しいセットを生成して、前記フレームに関するオーディオデータをフィルタパラメータの前記新しいセットを備えるフィルタで畳み込むステップ
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第1のフィルタおよび前記第2のフィルタが有限インパルス応答フィルタである、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記第1のフィルタおよび前記第2のフィルタが異なるパラメータを有する、請求項1から7のいずれか一項に記載の方法。
【請求項９】
異なるマイクロフォン出力が異なるフィルタで畳み込まれる、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
オーディオデータの前記第1のチャネルおよび前記第2のチャネルが、前記発話に関するオーディオ波形の第1のチャネルおよび第2のチャネルであり、
オーディオ波形の前記第1のチャネルおよび前記第2のチャネルが、互いに間隔が置かれた異なるマイクロフォンによる前記発話の記録である、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
音響モデルとしてトレーニングされた前記ニューラルネットワークが、畳み込み層と、1つまたは複数の長・短期記憶層と、複数の隠れ層とを備える、請求項1から10のいずれか一項に記載の方法。
【請求項１２】
音響モデルとしてトレーニングされた前記ニューラルネットワークの前記畳み込み層が、時間領域畳み込みを実行するように構成される、請求項11に記載の方法。
【請求項１３】
音響モデルとしてトレーニングされた前記ニューラルネットワークが、プール値のセットを生成するために前記畳み込み層の出力がプールされるように構成される、請求項11または12に記載の方法。
【請求項１４】
音響モデルとしてトレーニングされた前記ニューラルネットワークが、前記プール値を音響モデルとしてトレーニングされた前記ニューラルネットワーク内の1つまたは複数の長・短期記憶層に入力するように構成される、請求項13に記載の方法。
【請求項１５】
前記第1のフィルタおよび前記第2のフィルタが空間フィルタリングとスペクトルフィルタリングの両方を実行するように構成される、請求項1から14のいずれか一項に記載の方法。
【請求項１６】
第1の畳み込み出力を生成するために、前記第1のチャネルに関する前記オーディオデータをフィルタパラメータの前記第1のセットを有する第1のフィルタで畳み込むステップと、
第2の畳み込み出力を生成するために、前記第2のチャネルに関する前記オーディオデータをフィルタパラメータの前記第2のセットを有する第2のフィルタで畳み込むステップと、
前記第1の畳み込み出力と前記第2の畳み込み出力とを結合するステップと
を含む、請求項1から15のいずれか一項に記載の方法。
【請求項１７】
システムであって、
1つまたは複数のコンピュータおよび命令を記憶した1つまたは複数の記憶デバイスを備え、前記命令が、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
発話に対応するオーディオデータの第1のチャネルおよび前記発話に対応するオーディオデータの第2のチャネルを受信することと、
トレーニングされたリカレントニューラルネットワークを使用して、(i)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第1のフィルタに関するフィルタパラメータの第1のセット、および(ii)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第2のフィルタに関するフィルタパラメータの第2のセットを生成することと、
(i)前記第1のフィルタを使用してフィルタリングされている前記第1のチャネルのオーディオデータと(ii)前記第2のフィルタを使用してフィルタリングされている前記第2のチャネルのオーディオデータとを結合することによって、オーディオデータの単一の結合チャネルを生成することと、
前記単一の結合チャネルに関する前記オーディオデータを音響モデルとしてトレーニングされたニューラルネットワークに入力することと、
結合畳み込み出力の受信に応答して前記ニューラルネットワークが提供する出力に少なくとも基づいて判定される前記発話に関するトランスクリプションを提供することと
を含む動作を実行させるように動作可能である、システム。
【請求項１８】
前記リカレントニューラルネットワークが、
オーディオの第1のチャネルと第2のチャネルの両方を受信する第1の長・短期記憶層と、
前記第1のチャネルに対応する第2の長・短期記憶層および前記第2のチャネルに対応する第3の長・短期記憶層とを備え、前記第2の長・短期記憶層および前記第3の長・短期記憶層が各々、前記第1の長・短期記憶層の前記出力を受信して、前記対応するチャネルに関するフィルタパラメータのセットを提供する、請求項17に記載のシステム。
【請求項１９】
前記動作が、
第1の畳み込み出力を生成するために、前記第1のチャネルに関する前記オーディオデータをフィルタパラメータの前記第1のセットを有する第1のフィルタで畳み込むことと、
第2の畳み込み出力を生成するために、前記第2のチャネルに関する前記オーディオデータをフィルタパラメータの前記第2のセットを有する第2のフィルタで畳み込むことと、
前記第1の畳み込み出力と前記第2の畳み込み出力とを結合することと
をさらに含む、請求項17または18に記載のシステム。
【請求項２０】
1つまたは複数のコンピュータによって実行されるとすぐに、前記1つまたは複数のコンピュータに請求項1から16のいずれか一項に記載の方法を実行させる、コンピュータ可読命令。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その内容が参照により組み込まれている、2016年3月23日に出願した米国出願第62/312,053号の優先権を主張するものである。
【０００２】
本出願は、マルチチャネルオーディオ波形の処理に関する。
【背景技術】
【０００３】
音声を認識するために様々な技法を使用することができる。いくつかの技法は、オーディオデータから導出された音響特徴を受信する音響モデルを使用する。
【発明の概要】
【課題を解決するための手段】
【０００４】
いくつかの実装形態では、音声認識システムは、たとえば、そのロバストネスおよび/または精度を改善することによってマルチチャネル音声認識を改善するために、適応的オーディオ強化技法を実行することができる。たとえば、ニューラルネットワークを使用して、適応ビームフォーミングを実行することができる。オーディオの複数のチャネル、たとえば、異なるマイクロフォンからのオーディオ情報を、オーディオ強化、たとえば、空間フィルタリングまたはビームフォーミングを実行するために使用されるフィルタを適応的に変更するニューラルネットワークモジュールに提供することができる。いくつかの実装形態では、このシステムは、ニューラルネットワークを使用して、各入力フレームに関するフィルタのセットを動的に推定することができる。たとえば、各チャネルに関する時間領域フィルタを生成するために、生波形マルチチャネル信号をフィルタ予測(FP)長・短期記憶(LSTM:long short-term memory)モジュールに手渡すことができる。これらのフィルタは、次いで、それぞれのチャネルに関してオーディオデータで畳み込まれ、一緒に加算されて、音声認識を実行するために使用される音響モデルに提供される単一のチャネル強化音声を形成する。
【０００５】
いくつかの自動音声認識(ASR:automated speech recognition)システムは、ユーザがマイクロフォンの近くにいるときなど、状況によっては、合理的に実行し得るが、そのようなASRシステムの性能は、ユーザとマイクロフォンとの間に遠い距離が存在する遠距離状態で、たとえば、スピーカーがコマンドをテレビまたはサーモスタットに提供するときに劣化し得る。そのような状態において、音声信号は反響および付加雑音による劣化を受ける。これらのシステムは、複数のマイクロフォンを使用して、認識精度を改善し、音声信号を強化し、反響および雑音による影響を低減させることが多い。
【０００６】
いくつかのマルチチャネルASRシステムは、2つの別個のモジュールを利用して、認識を実行する。初めに、一般的にビームフォーミングによってマイクロフォンアレイ音声強化が適用される。強化信号は次いで音響モデルに手渡される。技法は、異なるマイクロフォンから信号を受信して、ターゲットスピーカーからマイクロフォンの各々への遅延を調整することを必要とする遅延和ビームフォーミングを含むことが多い。時間整合された信号は次いで加算されて、ターゲット方向からの信号を強化し、他の方向から入る雑音を減衰するために加算される。他の形態の信号強化は、最小分散無歪み応答(MVDR:Minimum Variance Distortionless Response)およびマルチチャネルウィーナーフィルタリング(MWF:Multichannel Wiener Filtering)を含む。
【０００７】
強化を音響モデリングからのディスジョイント(disjoint)として処理する手法は、ASR性能を改善するための最善の解決策にならない場合がある。さらに、多くの強化技法は、音響モデルおよび/またはオーディオ強化モデルに対する反復パラメータ最適化を必要とするモデルベースの手法を必要とする。たとえば、これらの手法は、初めにビームフォーミングパラメータを推定し、次いで、音響モデルパラメータを推定することが多い。これらの反復手法を、反復トレーニングを使用しない他のタイプのモデルと組み合わせることは容易ではない。たとえば、ニューラルネットワークに基づく音響モデルは、ガウス混合モデル(GMM:Gaussian Mixture Models)および他のモデルとともに使用される反復トレーニング技法ではなく、勾配学習アルゴリズムを使用して最適化されることが多い。
【０００８】
空間フィルタと音響モデルパラメータとを一緒に学習することによって音声認識システムを強化することができる。オーディオ強化を実行するための1つの技法は、その各々が、入力の各チャネルを独立してフィルタリングし、次いで、フィルタアンドサムビームフォーミング(filter-and-sum beamforming)と同様のプロセスで出力を加算するマルチチャネル「時間畳み込み」フィルタを使用する。他の技法は、複数の空間フィルタを学習して、異なる空間方向に到着するターゲット信号を適応するが、計算の複雑性を高める。これらの方法は両方とも旧来の遅延和信号処理技法およびフィルタ和信号処理技法に対する改善を示すが、1つの欠点は、トレーニング中に判定される推定空間フィルタおよびスペクトルフィルタが復号に対して固定されることである。すなわち、フィルタは音声認識における使用中に変化または適応しない。結果的に、固定フィルタ手法を用いると、固定フィルタはマイクロフォンに対するユーザの実際の位置に対して適切でない可能性がある。
【０００９】
したがって、本出願で説明する主題の1つの革新的な態様は、音声データが受信されるにつれて、オーディオ強化のために使用されるフィルタを適応することができる自動音声認識システムに関する。たとえば、音声が検出されるにつれて、音声認識システムは、空間フィルタリングを実行するために使用されるフィルタのパラメータを動的に変更することができる。いくつかの実装形態では、フィルタは各入力音声フレームに関して適応される。また、オーディオの複数のチャネルに関する情報を使用して、各フィルタを判定することができる。単一のオーディオチャネルに基づいて各フィルタを独立して判定するのではなく、オーディオチャネルのすべてからの入力を使用して、各オーディオチャネルに関するフィルタを判定することができる。
【００１０】
音声認識システムは、1つまたは複数のニューラルネットワークを使用して適応的オーディオ強化を実行することができる。たとえば、音声認識システムは、1つが空間フィルタを適応して生成し、もう1つが音響モデルとして動作する、2つのニューラルネットワークを含む。第1のニューラルネットワークは、発話に対応するオーディオデータの複数のチャネルに基づいてフィルタパラメータを生成する。これらのフィルタパラメータは、複数のフィルタ、たとえば、オーディオデータの各チャネルに関する1個のフィルタの特性を指定する。各チャネルに関するフィルタパラメータは異なるフィルタに提供される。各フィルタは、次いで、オーディオデータのその対応するチャネルに適応され、各チャネルに関する結果が一緒に加算される。加算フィルタ出力は、発話の音響音素を特定するように前にトレーニングされている第2のニューラルネットワークに提供される。このシステムは、次いで、特定された音素を使用して、発話の完全なトランスクリプションを生成することができる。
【００１１】
本出願で説明する主題の1つの革新的態様によれば、マルチチャネル音声認識のための適応的オーディオ強化の方法は、発話に対応するオーディオデータの第1のチャネルおよび発話に対応するオーディオデータの第2のチャネルを受信する動作と、トレーニングされたリカレントニューラルネットワークを使用して、(i)オーディオデータの第1のチャネルおよびオーディオデータの第2のチャネルに基づいて第1のフィルタに関するフィルタパラメータの第1のセット、および(ii)オーディオデータの第1のチャネルおよびオーディオデータの第2のチャネルに基づいて第2のフィルタに関するフィルタパラメータの第2のセットを生成する動作と、(i)第1のフィルタを使用してフィルタリングされている第1のチャネルのオーディオデータと(ii)第2のフィルタを使用してフィルタリングされている第2のチャネルのオーディオデータとを結合することによって、オーディオデータの単一の結合チャネルを生成する動作と、単一の結合チャネルに関するオーディオデータを音響モデルとしてトレーニングされたニューラルネットワークに入力する動作と、結合畳み込み出力の受信に応答してニューラルネットワークが提供する出力に少なくとも基づいて判定される発話に関するトランスクリプションを提供する動作とを含む。
【００１２】
この実装形態および他の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。リカレントニューラルネットワークは、1つまたは複数の長・短期記憶層を備える。リカレントニューラルネットワークは、オーディオの第1のチャネルと第2のチャネルの両方を受信する第1の長・短期記憶層と、第1のチャネルに対応する第2の長・短期記憶層および第2のチャネルに対応する第3の長・短期記憶層とを含み、第2の長・短期記憶層および第3の長・短期記憶層は各々、第1の長・短期記憶層の出力を受信して、対応するチャネルに関するフィルタパラメータのセットを提供する。長・短期記憶層は、長・短期記憶層と音響モデルとしてトレーニングされたニューラルネットワークとを一緒にトレーニングするトレーニングプロセス中に学習されているパラメータを有する。これらの動作は、オーディオデータの各入力フレームに関する新しいフィルタパラメータを変更または生成するステップをさらに含む。これらの動作は、発話のオーディオフレームのシーケンス内の各オーディオフレームに関して、フィルタパラメータの新しいセットを生成して、そのフレームに関するオーディオデータをフィルタパラメータの新しいセットを備えたフィルタで畳み込むステップをさらに含む。第1のフィルタおよび第2のフィルタは、有限インパルス応答フィルタである。第1のフィルタおよび第2のフィルタは、異なるパラメータを有する。
【００１３】
異なるマイクロフォン出力が異なるフィルタで畳み込まれる。オーディオデータの第1のチャネルおよび第2チャネルは、発話に関するオーディオ波形データの第1のチャネルおよび第2のチャネルである。オーディオ波形の第1のチャネルおよび第2のチャネルは、互いに間隔が置かれた異なるマイクロフォンによる発話の記録である。音響モデルとしてトレーニングされたニューラルネットワークは、畳み込み層と、1つまたは複数の長・短期記憶層と、複数の隠れ層とを備える。音響モデルとしてトレーニングされたニューラルネットワークの畳み込み層は、時間領域畳み込みを実行するように構成される。音響モデルとしてトレーニングされたニューラルネットワークは、プール値のセットを生成するために畳み込み層の出力がプールされるように構成される。音響モデルとしてトレーニングされたニューラルネットワークは、プール値を音響モデルとしてトレーニングされたニューラルネットワーク内の1つまたは複数の長・短期記憶層に入力するように構成される。第1のフィルタおよび第2のフィルタは、空間フィルタリングとスペクトルフィルタリングの両方を実行するように構成される。これらの動作は、第1の畳み込み出力を生成するために、第1のチャネルに関するオーディオデータをフィルタパラメータの第1のセットを有する第1のフィルタで畳み込むステップと、第2の畳み込み出力を生成するために、第2のチャネルに関するオーディオデータをフィルタパラメータの第2のセットを有する第2のフィルタと畳み込むステップと、第1の畳み込み出力と第2の畳み込み出力とを結合するステップとをさらに含む。
【００１４】
この態様の他の実施形態は、対応するシステム、装置、およびコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含み、これらは各々、これらの方法の動作を実行するように構成される。
【００１５】
いくつかの実装形態では、本明細書で説明する技法は、以下の利点のうちの1つまたは複数を実現するように実装され得る。たとえば、音声認識システムは、オーディオ強化のために使用されるフィルタパラメータを動的に変更させて、音声認識に高いロバストネスと精度をもたらすることができる。本明細書で論じるような改善された強化は、よりクリアな音声データを音響モデルに提供することができ、音声認識精度の増大を可能にする。音声認識システムは、固定された所定のフィルタよりも正確なユーザの実際の位置に対応するフィルタを生成することができる。さらに、フィルタの適応は、たとえば、ユーザが話している間に室内を歩き回るにつれて、マイクロフォンに対するユーザの位置の変化に対して調整することができる。いくつかの実装形態では、複数の異なる所定の空間方向から到着する信号に対する適応を試みるモデルと比較して、下記のニューラルネットワークシステムを使用して、オーディオ強化の計算上の複雑性が低減される。音響モデルとのフィルタ予測モデルのジョイントトレーニング(joint training)、音響モデルからのフィードバックを使用したフィルタ予測モデルのトレーニングを含めて、下記で論じる他の技法を通して、改善された音声認識精度を取得することができる。いくつかの実装形態では、マルチタスク学習戦略を使用して、音響モデル状態とクリーンオーディオ特徴の両方の正確な予測など、複数のトレーニング目標を設定することができる。マルチタスク学習の使用は、雑音のあるオーディオの認識精度を改善することができ、フィルタ予測を改善して、トレーニングを正規化することもできる。
【００１６】
本明細書で説明する主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の発明を実施するための形態に記載される。本主題の他の特徴、態様、および利点は、発明を実施するための形態、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】適応的オーディオ強化のための例示的なアーキテクチャを示す図である。
【図２】例示的なビームフォーマ応答を示す図である。
【図３】ニューラルネットワークを使用した音声認識のためのシステムの一例を示す図である。
【図４】マルチチャネル音声認識のための適応的オーディオ強化のための1つの例示的なプロセスを示す図である。
【図５】コンピューティングデバイスおよびモバイルコンピューティングデバイスの一例を示す図である。
【発明を実施するための形態】
【００１８】
図において、同様の参照番号は本明細書を通して対応する部品を表す。
【００１９】
ニューラルネットワークを使用したジョイントマルチチャネル強化および音響モデリングを使用して、音声認識を実行することができる。いくつかの前の手法では、トレーニング中に学習されるフィルタは、復号に対して固定され、これらのモデルが前には分からなかった状態または変化している状態に適応する能力に潜在的に影響を及ぼした。本出願で説明する主題は、この問題に対処するためのニューラルネットワーク適応ビームフォーミング(NAB:neural network adaptive beamforming)手法について説明する。トレーニング段階中に特定のフィルタを学習する代わりに、ニューラルネットワークモデルは、音声認識中にオーディオデータが受信されるにつれて、フィルタパラメータを動的に生成するようにトレーニングされ得る。これは、システムが所定の数の固定信号到着方向に限定されない、より正確なビームフォーミングを実行することを可能にする。
【００２０】
いくつかの実装形態では、音声認識システムは、長・短期記憶(LSTM)層を使用して、各入力フレームにおける時間領域ビームフォーミングフィルタ係数を予測する。これらのフィルタは、フレーム時間領域入力信号で畳み込まれて、チャネルにわたって加算され、動的に適応されたフィルタを使用して、有限インパルス応答(FIR)フィルタアンドサムビームフォーミングを本質的に実行する。ビームフォーマ出力は畳み込み長・短期記憶ディープニューラルネットワーク(CLDNN:convolutional, long short-term memory deep neural network)音響モデルに手渡され、CLDNN音響モデルはフィルタ予測LSTM層と一緒にトレーニングされる。一例では、提案されるNABモデルを備えた音声認識システムは、シングルチャネルモデルに対してワード誤り率(WER)の点で12.7%の相対的改善を達成し、いくつかの固定空間フィルタを利用する、17.9%の計算コスト低減を伴う「ファクタ(factored)」モデルアーキテクチャと同様の性能に達する。
【００２１】
自動音声認識(ASR)性能は、特に、ディープラーニングの出現に伴って近年劇的に改善したが、現実的な雑音のある遠距離シナリオにおける性能は、依然として、クリーン音声状態にかなり遅れている。ロバストネスを改善するために、音声信号を強化して、望まれない雑音および反響を除去するために、一般に、マイクロフォンアレイが利用される。
【００２２】
音声認識システムは、異なるマイクロフォンからの信号が時間の点で整合されて、ターゲットスピーカーから各マイクロフォンへの伝播遅延を調整し、次いで、混合された単一のチャネルにされる遅延和(DS)ビームフォーミングを使用するマルチチャネル信号処理技法を使用することができる。これは、ターゲット方向からの信号の強化をもたらし、他の方向から入る雑音を減衰する効果を有する。しかしながら、反響環境において到着時間遅延を正確に推定することは困難な場合があり、DSビームフォーミングは、空間的に相関された雑音の影響を考慮に入れない。加算の前に各チャネルに線形フィルタが適用される場合、より一般的なフィルタ和(FS)技法を使用して性能を改善することが可能である。音響モデル(AM)トレーニング目標とは異なる、SNRなどの信号レベル目標を最適化するために、そのようなフィルタが一般的に選ばれる。
【００２３】
強化段階およびAM段階のジョイントトレーニングは、ガウス混合モデルとニューラルネットワーク音響モデルの両方に関する性能を改善する。たとえば、いくつかの実装形態では、音声認識システムは、その各々が入力の各チャネルを独立してフィルタリングし、次いで、FSビームフォーミングと同様のプロセスで出力を加算する、単一層のマルチチャネル「時間畳み込み」FIRフィルタを使用して、マルチチャネル波形上で直接動作するようにニューラルネットワークをトレーニングすることができる。トレーニングの後で、このマルチチャネルフィルタバンク内のフィルタは、周波数の帯域応答を有するが、異なる方向から到着する信号を強化または減衰するように導かれる一般的なフィルタを用いて、空間フィルタリングとスペクトルフィルタリングとを一緒に実行することを学習する。いくつかの実装形態では、音声認識システムは、空間フィルタリング挙動およびスペクトルフィルタリング挙動を別個の層に分離し、性能を改善するが、計算上の複雑性を増大し得る、ファクタマルチチャネル波形モデルを使用することができる。これらのアーキテクチャは両方とも旧来のDS信号処理技法およびFS信号処理技法に対して改善を示すが、1つの欠点は、推定される空間フィルタおよびスペクトルフィルタが復号中に固定されることである。
【００２４】
上記で説明した、限定された適応性に対処し、計算上の複雑性を低減するために、本出願で説明する主題は、ニューラルネットワークを使用して各入力フレームにおける空間フィルタ係数のセットを再推定するニューラルネットワーク適応ビームフォーミング(NAB)モデルを含む。具体的には、生マルチチャネル波形信号がフィルタ予測(FP)LSTMに手渡され、その出力が空間フィルタ係数として使用される。各チャネルに関するこれらの空間フィルタは、次いで、対応する波形入力で畳み込まれ、出力が一緒に加算されて、強化された音声信号を含むシングルチャネル出力波形を形成する。結果として生じる単一のチャネル信号は生波形音響モデルに手渡され、生波形音響モデルはFP LSTM層と一緒にトレーニングされる。いくつかの実装形態では、時間領域信号の処理とは対照的に、フィルタリングは周波数領域で実行され得る。本開示は、時間領域においてNABを実行することが、多くのより少ないフィルタ係数の推定を必要とし、周波数領域フィルタ予測と比較して、より良好なWERをもたらすことを以下で示す。
【００２５】
さらに、本出願で説明する主題は、NABモデルに対する他の改善を含む。第1に、本開示は、FP層への追加入力として音響状態に関するハイレベル情報を捕捉する、前の時間ステップからの音響モデルの上位層の明示的なフィーディング活性化(feeding activations)について説明する。これらの予測における潜在的な誤りを減衰するために、ゲーティング機構がさらに適応される。ゲーティング機構は、入力およびモデル状態と一緒に予測を分析して、必要なとき、フィードバックベクトルをスケールダウンする信頼スコアを出力する。第2に、本開示は、トレーニングを正規化して、フィルタ予測を支援するために、マルチタスク学習(MTL)戦略を組み込むことについて説明する。これは、音響モデル状態とクリーン特徴とを一緒に予測するようにNABモデルをトレーニングすることによって機能し、これは雑音のあるデータに関してトレーニングされた音響モデルを改善し得る。
【００２６】
フィルタ予測(FP)ブロックと、フィルタ和(FS)ビームフォーミングブロックと、音響モデル形成(AM)ブロックと、マルチタスク学習(MTL)ブロックとを含む、ニューラルネットワーク適応ビームフォーミング(NAB)モデルの一例が図1に示されている。2個のチャネルが示されているが、より多くの数のチャネルを使用してもよい。各時間フレームkにおいて、システムは、t∈{1,…,M}の場合、x1(k)[t]、x2(k)[t]、…、xC(k)[t]として示される、Cチャネル入力からの各チャネルcに関するM個の波形サンプルの小さな窓を取り込む。
【００２７】
適応空間フィルタリングは、以下のように実行され得る。有限インパルス応答(FIR)フィルタ和ビームフォーマは次のように書くことができる。
【００２８】
【数１】
2019508730.tif 000003
【００２９】
式中、hc[n]は、マイクロフォンcに関連するフィルタの第n番目のタップであり、xc[t]は、時間tにおいてマイクロフォンcが受信する信号であり、τcは、その信号を他のアレイチャネルに整合させるためにマイクロフォンが受信した信号内で導出されるステアリング遅延であり、y[t]は、出力信号である。Nはフィルタの長さである。
【００３０】
式1を最適化する強化アルゴリズムは、別個のローカライゼーションモデルから取得され得るステアリング遅延τcの推定を必要とする。フィルタ係数は、信号レベル目標を最適化することによって取得され得る。NABモデルでは、システムは、クロスエントロピーまたはシーケンス損失関数を直接最小化することによって、AMパラメータと一緒にフィルタ係数を推定する。各マイクロフォンに関するステアリング遅延を明示的に推定する代わりに、τcを推定されたフィルタ係数に暗示的に吸収することができる。各時間フレームkにおいて結果として生じる適応フィルタリングが式2によって与えられ、式中、hc(k)[t]は、時間フレームkにおいてチャネルcに関して推定されたフィルタである。
【００３１】
【数２】
2019508730.tif 000004
【００３２】
hc(k)[t]を推定するために、システムは、チャネルごとにNフィルタ係数を予測するようにFP LSTMをトレーニングする。FPモジュールに対する入力は、すべてのチャネルからの生入力サンプルxc(k)[t]のフレームの連結であり、また、相互相関特徴など、ローカライゼーションに関する特徴を含み得る。
【００３３】
本開示は、FPモジュールアーキテクチャについてさらに詳細に説明する。式2を受けて、推定されたフィルタ係数hc(k)[t]が各チャネルに関する入力サンプルxc(k)[t]で畳み込まれる。単一のチャネル信号y(k)[t]を生成するために、畳み込みの出力がチャネルにわたって、たとえば、FSブロック内で加算される。
【００３４】
次いで、AMブロックを使用して音響モデル形成が実行される。単一のチャネル強化信号y(k)[t]が図1に示すAMモジュールに手渡される。単一のチャネル波形が、いくつかのフィルタを含む時間領域フィルタバンクとして機能する、tConvとして示される「時間畳み込み」層内に手渡される。たとえば、128個のフィルタを使用することができる。入力フレームの長さにわたってマックスプールすること(max-pooling)によって、時間内にtConv出力が間引かれる。いくつかの実装形態では、時間内にスペクトル出力をマックスプールすることは、短期情報の廃棄に役立つ。最終的に、フレームkにおいてフレームレベルベクトルを生成するために、正規化非線形性および安定した対数圧縮が各フィルタ出力に加えられる。
【００３５】
いくつかの実装形態では、システムは、周波数畳み込み層を含まない。時間畳み込み層によって生成される特徴ベクトルは、832個のセルを有する3個のLSTM層および512次元投影層に直接手渡され、続いて、1,024個の隠れユニットの全結合DNN層に手渡される。使用される13,522個のコンテキスト依存状態出力ターゲットを分類するために必要とされるパラメータの数を低減させるために、ソフトマックス層に先立って、512次元線形出力低ランク投影層(512-dimensional linear output low rank projection layer)が使用される。フレームkを処理した後で、システムは、入力信号全体の窓を10msホップだけシフトし、このプロセスを繰り返す。
【００３６】
AMモジュールおよびFPモジュールは一緒にトレーニングされ得る。いくつかの実装形態では、FSブロックはトレーニング可能なパラメータを有さない。このモデルは、打ち切り型通時的逆伝播(truncated back-propagation through time)を使用してトレーニングするために20の時間ステップで展開する。出力状態レベルは5個のフレームだけ遅延するが、これは、今後のフレームに関する情報の使用は、現在フレームの予測を改善することが多いためである。
【００３７】
トレーニングプロセスは、ゲートフィードバック(gated feedback)を使用して強化され得る。音響モデルからの認識情報は、音声のコンテンツを反映し、ネットワークの以前の層に役立つと考えられる。各フレームにおけるネットワーク入力を前のフレームからの予測で増強することは、性能を改善し得る。NABモデル内のフィードバックの利点を調べるために、フレームk-1におけるAM予測を時間フレームk(図1の右端の垂直線)においてFPモデルに再度手渡すことができる。ソフトマックス予測は非常に高次元であるため、システムは、モデルパラメータの増加を制限するために、ソフトマックスに先行して低ランクアクティブ化をFPモジュールにフィードバックし戻す。
【００３８】
このフィードバック接続は、ビームフォーミングフィルタ係数を推定するのを助けるために信号の音素コンテンツに関するハイレベル情報をFPモジュールに与える。たとえば、この接続は、ビームフォーミングフィルタを生成する間に使用するために信号内で推定コンテキスト依存状態情報を提供することができる。このフィードバックは、特にトレーニングの早期においてではあるが、誤りを含み得るモデル予測からなり、したがって、不良モデルトレーニングになる可能性がある。したがって、フィードバックの程度を加減するためにゲーティング機構が接続に導入される。各次元を独立して制御する従来のLSTMゲートとは異なり、本発明者らは、スカラーゲートを使用してフィードバックを加減する。次のように、入力波形サンプルx(k)、第1のFP LSTM層の状態s(k-1)、およびフィードバックベクトルv(k-1)から時間フレームkにおけるゲートgfb(k)が計算される。
【００３９】
【数３】
2019508730.tif 000005
【００４０】
式中、wx、ws、およびwvは、対応する重みベクトルであり、σは、要素ごとの非線形性である。システムは、範囲[0,1]内のσに関する値を出力するロジスティック関数を使用し、ここで、0はフィードバック接続を切断し、1はフィードバックを直接通す。効果的なFP入力は、したがって、[hx(k),gfb(k)v(k-1)]である。
【００４１】
マルチタスク学習は改善されたロバストネスをもたらし得る。システムは、2つの出力、すなわち、CD状態を予測する第1の認識出力および基本的なクリーン信号から導出される128個のlog-mel特徴を再構築する第2の雑音除去出力を有するようにネットワークを構成することによって、トレーニング中にMTLモジュールを含める。雑音除去出力は、モデルパラメータを調整するためにのみトレーニングにおいて使用される。関連する層は推論中に廃棄される。NABモデルでは、MTLモジュールは、図1に示すように、AMモジュールの第1のLSTM層を分岐する。MTLモジュールは、2個の全結合DNN層と、その後に続く、クリーン特徴を予測する線形出力層とからなる。トレーニング中に、2つの出力から逆伝播された勾配は、それぞれ、認識出力および雑音除去出力に関して、αおよび1-αによって重み付けされる。
【００４２】
本開示は、300万の英語発話を含む、およそ2,000時間の雑音のあるトレーニングデータに対して行われた実験について説明する。このデータセットは、室内シミュレータを使用して、程度が変化する雑音および反響を加えて、クリーン発話を人工的に乱すことによって作り出される。クリーン発話は、匿名にされて、手でトランスクリプションされた(hand-transcribed)音声探索クエリであり、インターネット音声探索トラフィックを表す。平均およそ12dBの、0から20dBに及ぶSNRで、ビデオ共有ウェブサイトからサンプリングされた音楽および環境雑音と「日常生活」環境の記録とを含む雑音信号がクリーン発話に追加される。平均およそ600msの、400から900msに及ぶT60で、部屋の寸法と、100個の考えられる部屋構成からランダムにサンプリングされたマイクロフォンアレイ位置とを備えた画像モデルを使用して反響がシミュレートされる。14cmのマイクロフォン間隔を有する8チャネル線形マイクロフォンアレイの第1のチャネルおよび最後のチャネルが使用される。雑音およびターゲットスピーカー位置は両方とも発話を通して変化し、音源とマイクロフォンアレイとの間の距離は1から4メートルの間で選ばれる。音声方位および雑音方位は、雑音のある発話の各々に関して、それぞれ、±45度および±90度の範囲から均一にサンプリングされた。雑音およびスピーカーロケーションの変化は、システムのロバストネスを改善するために役立つ。
【００４３】
評価セットは、およそ30,000個の発話(200時間にわたる)の別個のセットを含む。この評価セットは、同様のSNRおよび反響設定に基づくトレーニングセットと同様に作り出された。いくつかの実装形態では、評価セット内の部屋構成、SNR値、T60時間、ならびにターゲットスピーカー位置および雑音位置は、トレーニングセット内の室内構成、SNR値、T60時間、ならびにターゲットスピーカー位置および雑音位置と同一でないが、トレーニングとテストセットとの間のマイクロフォンアレイジオメトリは時として同一である。
【００４４】
フレーム同士の間に10msホップを伴い、35msの入力窓サイズを使用して、生波形モデルに関する入力特徴が計算される。別段に示さない限り、すべてのネットワークは、非同期確率的勾配降下法(ASGD:asynchronous stochastic gradient descent)を使用して、128tConvフィルタを用いて、かつクロスエントロピー基準を用いてトレーニングされる。シーケンストレーニング実験は、[29]により詳細に要約される分散ASGDも使用する。すべてのネットワークは、13,522個のCD出力ターゲットを有する。CNN層およびDNN層に対する重みはGlorot-Bengio戦略を使用して初期化され、すべてのLSTMパラメータは、-0.02から0.02の間になるように均一に初期化される。本発明者らは、4e-3で開始し、150億個のフレームにわたって0.1の減衰率を有する、指数関数的に減衰する学習率を使用する。
【００４５】
一例では、ベースラインNABモデルは、MTLおよびフィードバックなしで、生波形CLDNN AMとFPモジュールとを含む。FPモジュールは、入力チャネルごとに5msフィルタ係数(たとえば、16kHzのサンプリングレートで81タップ)を生成するために、2個の512セルLSTM層および1個の線形出力層を有する。これは22.2%のワード誤り率(WER)を与えるが、シングルチャネル生波形CLDNNは23.5%である。以下のセクションは、改善されたFPセットアップを見出すためにこのベースラインの変化を使用した実験について説明する。
【００４６】
FPモジュールに関していくつかの異なるアーキテクチャを使用することができる(たとえば、図1)。各FPモジュールは、各チャネルに関して独立したフィルタ予測モデルを学習することを促すために、第1のS「型」512セルLSTM層と、その後に続くP「スプリット」チャネル依存256セルLSTM層のPのスプリットスタックとを有する。次いで、フィルタ係数を生成するためにチャネル依存線形出力層が追加される。ベースラインは、したがって、S=2およびP=0を有する。
【００４７】
1個の共有LSTM層と1個のチャネル依存LSTM層とを使用して、改善された性能を取得することができる。いくつかの実装形態では、LSTM層の総数をさらに増大することは、構成にかかわらず、性能を改善しない場合がある。
【００４８】
相互相関特徴をローカライゼーションのために使用することができ、周波数領域ビームフォーミングフィルタを予測するために使用することができる。結果として、これらの相互相関特徴をFPブロックに提供することができる。比較のために、入力として10msシフトで100msフレームから抽出された重みなし相互相関特徴をFPモジュールに手渡す2チャネルNABモデルもトレーニングされる。同じベースライン構造(S=2、P=0)を用いて、このモデルは、波形サンプルを入力として取得した22.2%に類似する22.3%のWERを与える。相互相関特徴の形でより明示的なローカライゼーション情報を提供することは役に立たず、FPモジュールが波形サンプルから良好な空間フィルタを直接学習することが可能であることを示唆する。
【００４９】
14cm離れた2つのマイクロフォン同士の間の最大遅延は0.5ms未満であり得、2個のチャネルを整合させるには0.5ms以上のフィルタは十分でないことを示唆する。このセクションは、ベースラインFPモジュール(S=2およびP=0)を用いて予測されたフィルタの長さを変化させることについて説明する。1.5msフィルタを使用して、改善された性能を取得することができる。フィルタサイズを大きくし過ぎることは性能を損なうことも理解されよう。
【００５０】
NABモデルは、マルチタスク学習を使用して、CD状態予測の一次タスクに対する二次目標として128次元クリーンlog-mel特徴を再構築するようにネットワークの一部分をトレーニングすることによってロバストネスを改善することができる。2つの目的のバランスをとるために補間重みα=0.9を使用する。MTLを使用して、ベースラインNAB(S=2、P=0、および5.0msフィルタ)はWERを22.2%から21.2%に低減する。性能をさらに改善するために、ゲートフィードバック接続が追加され、結果として、さらに0.2%の絶対低減になり、最終的なWERを21.0%にする。
【００５１】
構成が改善された最終的なNABモデルは、a)S=1およびP=1のFP構造、b)生波形入力、c)1.5msの出力フィルタサイズ、d)α=0.9のMTL目標補間重み(objective interpolation)、e)ゲートフィードバック接続を有する。スペクトルフィルタリング層のために128個のフィルタ(図1のtCov)を使用する代わりに、システムは、256個のフィルタを使用するが、これはさらなる改善をもたらすことが示されているためである。最終的な構成を用いて、NABモデルは、20.5%のWER、これらの修正なしに22.2%の元のNABモデルに対して7.7%の相対的改善を達成する。なかでも、MTLおよびゲートフィードバックはともに最大の誤差低減をもたらす。図2は、ターゲット音声において予測されるビームフォーミングフィルタの周波数応答および干渉雑音方向を示す。言い換えれば、図2は、雑音のある音声スペクトグラム(第1)およびクリーン(第2)音声スペクトログラムによるターゲット音声方向(第3)および干渉雑音方向(第4)において時間(X軸)にわたり異なる周波数(Y軸)において予測されるビームフォーマ応答の可視化を示す。
【００５２】
図2の例における発話に関するSNRは12dBである。ターゲット音声方向における応答は、雑音方向における応答よりも比較的により多くの音声依存変化を有する。これは、予測されるフィルタが音声信号に対応する(attending to)ことを示し得る。さらに、高音声エネルギー領域における応答は、一般に、他の領域における応答よりも低く、これは、予測されるフィルタの自動利得制御効果を示唆する。
【００５３】
適応ビームフォーミングは周波数領域で実行されることがあるため、時間領域と周波数領域の両方でNABモデルを使用することを考慮することができる。周波数領域NABセットアップにおいて、両方のチャネルに関する複合FFT(CFFT)フィルタを予測するLSTMが存在する。257点FFT入力を仮定すると、これは2個のチャネルに関する実成分および虚成分に関して4×257の周波数点を予測することになる。各チャネルに関して複合フィルタが予測された後で、時間領域において、式2における畳み込みに等しい、各チャネルに関する入力のFFTを用いて要素ごとの積が出される。この出力は、複合線形投影(CLP:complex linear projection)によるスペクトル分解と音響モデル形成の両方を行う周波数領域内の単一のチャネルCLDNNに与えられる。CFFT特徴の使用は、計算上の複雑性を大いに低減するが、いくつかの実装形態では、性能は生波形モデルよりも悪くなる場合がある。これは、CFFTがより高い次元フィルタを予測することを必要とするためであり得る。
【００５４】
NABモデルの性能を、単一チャネルモデル、および、DSおよびFSなど、他の信号処理技法に対して優れた性能を提供することが示されている、アンファクタ(unfactored)生波形モデルおよびファクタ生波形モデルと比較することもできる。アンファクタモデルと比較して、上記で論じたように、データ内の異なる空間方向を処理するために、時間フレームごとにフィルタを予測することは、性能を高めることができる。ファクタモデルは、空間フィルタリング層内の多くのルック方向を列挙することによって異なる方向を潜在的に処理することができるが、適応モデルは、より少ない計算上の複雑性を伴って、同様の性能を達成することができる。
【００５５】
上述のように、マルチチャネル波形信号に関するNABアーキテクチャは、AMトレーニングと一緒に適応フィルタアンドサムビームフォーミングを実装することができる。前のシステムと異なり、ビームフォーミングフィルタは、現在の入力信号に適応しゲートフィードバック接続を通してAMの前の予測を明らかにする。モデルの一般化を改善するために、MTLは、トレーニングを正規化するように適用され得る。実験結果は、明示的なFS構造を組み込むことが有利であり、提案されるNABは、ファクタモデルに対して同様の性能を有するが、計算コストがより低いことを示している。
【００５６】
図面に戻ると、図1は、ニューラルネットワーク適応ビームフォーミング(NAB)に関する例示的なシステム100を示す。手短に、下記でより詳細に説明するように、システム100は、異なるマイクロフォンから受信され得るオーディオデータ103および106の複数のチャネルを受信する。システム100は、フィルタ予測段階109、フィルタおよび加算段階112、音響モデル段階115、およびマルチタスク学習段階118を通してオーディオデータ103および106を処理して、オーディオデータ103および106の音素を特定する。
【００５７】
フィルタ予測段階109中、システム100は、オーディオデータ103および106の複数のチャネルを受信する。システム100は2個のオーディオデータチャネルを受信することを示すが、システム100は、各々、オーディオデータ103および106と同様に処理される追加のオーディオチャネルを受信することができる。フィルタ予測段階109は、フィルタおよび加算段階112に関するフィルタパラメータを生成する2個のLSTM層を含む。オーディオデータ103および106の2個のチャネルにわたって第1のLSTM層121が共有される。第1のLSTM層121は、ビームフォーミングのために使用され、オーディオデータ103および106の2個のチャネルからのデータから利益を得る。1個のチャネルからのデータは、他のチャネルのビームフォーミングに影響を及ぼす。LSTM層124および127を備えた第2のLSTM層はチャネル依存である。LSTM層124および127は、後続のフィルタの次元数を調整するパラメータを生成する。
【００５８】
フィルタおよび加算段階112中に、システム100は、2個のフィルタ130および133を使用し、次いで、それらの2個のフィルタからの出力を加算器136内で加算する。フィルタ130は、LSTM層124からオーディオデータ103およびフィルタパラメータを受信する。フィルタパラメータは、フィルタに適用され、フィルタは、次いで、オーディオデータ103で畳み込まれる。同様に、フィルタ133はLSTM層127からオーディオデータ106およびフィルタパラメータを受信する。フィルタパラメータはフィルタに適用され、フィルタは、次いで、オーディオデータ106で畳み込まれる。いくつかの実装形態では、フィルタ130および133は有限インパルス応答フィルタである。いくつかの実装形態では、フィルタ130および133の長さは、固定であり、互いと同じであってよく、または異なってもよい。いくつかの実装形態では、フィルタ130および133の係数は、LSTM層124および127から受信されるパラメータに基づく。2個のフィルタ130および133からの出力は加算器136内で一緒に加算される。加算器出力139は音響モデル層115に提供される。
【００５９】
音響モデル段階115中に、システム100は、時間畳み込み層142、後処理層145、複数のLSTM層148、151、および154、およびディープニューラルネットワーク157を使用する。時間畳み込み層142は、加算器出力139を受信して、クリーニングし、高周波数を除去することによって、信号をさらにフィルタリングする。いくつかの実装形態では、システム100は、時間畳み込みのみを実行し、周波数畳み込みは実行しない。時間畳み込み層142は、複数の特徴マップを備えた1個の畳み込み層を含み得る。たとえば、時間畳み込み層142は、256個の特徴マップを含み得る。時間畳み込み層142に関連するプーリング戦略は、非重複マックスプーリングを含むことができ、たとえば、プーリングサイズは3である。
【００６０】
時間畳み込み層142の出力は、ポストプロセッサ145に提供される。いくつかの実装形態では、ポストプロセッサ145は、出力信号の全長にわたって時間畳み込み層142の出力信号をマックスプールする。ポストプロセッサ145は、次いで、正規化非線形性を適用し、続いて、対数表示を安定させて、フレームレベル特徴ベクトルを生成する。正規化中に、ポストプロセッサ145は、負の値をゼロ値と置換して、正の値を維持する。いくつかの実装形態では、ポストプロセッサ145は、特徴ベクトルの次元数を低減する。次元数の低減は、追加の後続LSTM層の必要を低減する。
【００６１】
ポストプロセッサ145の出力は、時間に対して信号をモデル形成するのに適切なLSTM層148、151、および154に手渡される。いくつかの実装形態では、信号をモデル形成するために3個のLSTM層を使用することができる。いくつかの実装形態では、各LSTM層は、次元数低減のために、832個のセルと512個の単位投影層とを含み得る。いくつかの実装形態では、より少ないセルを含む、4個以上のLSTM層が代替として使用されてもよい。LSTM層148、151、および154の出力は1個または複数のディープニューラルネットワーク(DNN)層157に提供される。
【００６２】
DNN157の出力160は、音響モデルの出力を表す。この出力は、様々な音響モデル状態、たとえば、音素または音素の隠れマルコフモデル(HMM:hidden Markov model)状態の各々に関する確率スコアを表し得る。音声認識を実行するためにトレーニングされたシステムが使用されるとき、出力160は、どの音素が最も可能性が高いかを示し、この情報がオーディオデータ103および106に対応する発話のトランスクリプションのために使用される。たとえば、この情報は、可能性の高い音素に最も対応する語または成句を判定するために、言語モデルまたは他のモデルに提供され得る。
【００６３】
1個または複数のDNN層157内に含まれた層は、全結合可能であり、いくつかの実装形態では、各々、1,024個の隠れユニットを有し得る。システム100の他の層は、音響モデル139と一緒にトレーニングされ得る。
【００６４】
トレーニング中に、音響モデル139は、打ち切り型通時的逆伝播(BPTT:truncated backpropagation through time)でトレーニングするために20の時間ステップで展開し得る。いくつかの実装形態では、今後のフレームに関する情報は現在フレームに関連する予測の精度を強化し得るため、出力状態レベルは1つまたは複数のフレームだけ遅延されてよく、トレーニング中に、出力ターゲットを出力160として設定することができ、逆伝播のために使用することができる。
【００６５】
システム100は、ゲートフィードバック機構163を含む。一般に、ゲートフィードバックは、トレーニング中にのみ使用される。ゲートフィードバック163は、出力ターゲットのハイレベル言語情報をフィルタ予測段階109に提供する。言語情報を用いて、フィルタ予測層109は、前の音素に基づいて後続のフィルタパラメータを調整することができる。いくつかの実装形態では、ゲートフィードバック信号は、信頼値を含む。信頼値がしきい値を満たさない場合、ゲートフィードバック163は、後続のフィルタパラメータに影響を及ぼさない。信頼値がしきい値を満たす場合、ゲートフィードバック163は後続のフィルタパラメータに影響を及ぼす。たとえば、しきい値が0.5である場合、1の信頼値で、フィルタ予測段階109は、フィルタパラメータを調整するために出力ターゲット160を使用することになる。信頼値がゼロであった場合、フィルタ予測段階109は、フィルタパラメータを調整するために、出力ターゲット160を使用しないことになる。
【００６６】
システムは、マルチタスク学習層118を含む。マルチタスク学習層118は、DNN層166および169を含む。DNN層169は、雑音除去される出力であり、クリーンlog-mel特徴を生成するためのトレーニング段階中にシステム100によって使用されるクリーン特徴172を出力する。図1に示すように、マルチタスク学習層118は、第1のLSTM層148からデータを受信する。マルチタスク学習層118が受信したデータを処理するために、第1のLSTM層148からのデータは低レベルの雑音を含む。
【００６７】
図3は、ニューラルネットワークを使用した音声認識のための例示的なシステム300を示すブロック図である。システム300は、クライアントデバイス310と、コンピューティングシステム320と、ネットワーク330とを含む。この例では、コンピューティングシステム320は、発話に関する情報および追加情報をニューラルネットワーク323に提供する。コンピューティングシステム320は、ニューラルネットワーク327からの出力を使用して、発話に関するトランスクリプションを特定する。
【００６８】
システム300において、クライアントデバイス310は、たとえば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、装着可能なコンピュータ、セルラーフォン、スマートフォン、音楽プレイヤー、電子ブックリーダー、ナビゲーションシステム、または任意の他の適切なコンピューティングデバイスであってよい。コンピューティングシステム320が実行する機能は、個々のコンピュータシステムによって実行されてよく、または複数のコンピュータシステムにわたって分散されてもよい。ネットワーク330は、ワイヤードであってよく、もしくはワイヤレスであってよく、または両方の組合せであってもよく、インターネットを含み得る。
【００６９】
いくつかの実装形態では、コンピューティングシステム320は、オーディオ波形サンプル321のセットを受信する。これらのサンプル321は、複数のオーディオチャネルに関するサンプル、たとえば、異なるマイクロフォンによって同時に検出されたオーディオからのサンプルを含み得る。コンピューティングシステム320は、サンプル321を使用して、空間フィルタリングのために使用されるフィルタパラメータを生成する。空間的にフィルタリングされた出力は、次いで、音響モデル、たとえば、ニューラルネットワーク327に提供される。コンピューティングシステム320は、ニューラルネットワーク327の出力に少なくとも基づいて、発話に関する候補トランスクリプションを判定することができる。
【００７０】
示す例では、クライアントデバイス310のユーザ302が発話し、クライアントデバイス310は、その音声を含むオーディオを記録する。クライアントデバイス310は、音声が検出されるにつれて、オーディオの複数のチャネルを記録する。クライアントデバイス310は、ネットワーク320を介して、複数のチャネルに関して記録されたオーディオデータ312をコンピューティングシステム320に送信する。
【００７１】
コンピューティングシステム320は、オーディオデータ312を受信して、オーディオ波形サンプル321を取得する。たとえば、コンピューティングシステム320は、特定の時間期間中に、たとえば、オーディオ信号312の25ms期間中に、オーディオを表現するオーディオ波形サンプル321のセットを特定することができる。これらのオーディオ波形サンプルは、図1を参照して上記で説明したオーディオ波形サンプルと同様であり得る。
【００７２】
コンピューティングシステム320は、オーディオ波形サンプル321をフィルタ予測モデルとして機能するニューラルネットワーク323に提供する。ニューラルネットワーク323は、図1に関連して説明したフィルタ予測段階109に対応し得る。したがって、ニューラルネットワーク323は、オーディオ波形サンプル321に基づいてフィルタパラメータを生成するようにトレーニングされているリカレントニューラルネットワークであり得る。
【００７３】
コンピューティングシステム320は、ニューラルネットワーク323の出力をフィルタおよび加算モジュール325に提供することができる。フィルタおよび加算モジュール325は、図1に関連して説明したフィルタおよび加算段階112に対応し得る。したがって、フィルタおよび加算モジュール325は、ニューラルネットワーク323から受信したフィルタパラメータとともにフィルタをオーディオ波形サンプル321に適用して、出力を加算することができる。
【００７４】
示した例では、コンピューティングシステム320は、フィルタおよび加算モジュール325の出力をニューラルネットワーク327に提供する。ニューラルネットワーク327は、音響モデルとして機能するようにトレーニングされている。たとえば、ニューラルネットワーク327は、時間周波数特徴表現がフィルタおよび加算モジュール325によって出力され、オーディオ波形サンプル321に基づくとき、時間周波数特徴表現が異なる音声単位に対応する尤度を示す。ニューラルネットワーク327は、たとえば、上記で図1に関連して説明した音響モデル段階115に対応し得る。いくつかの実装形態では、ニューラルネットワーク327は、フィルタおよび加算モジュール325からの出力を最初に処理する初期時間畳み込み層および後処理層を含むこともできる。
【００７５】
ニューラルネットワーク327は、コンピューティングシステム320がオーディオ信号312に関するトランスクリプション330を特定するために使用するニューラルネットワーク出力329を生成する。ニューラルネットワーク出力329は、特定の窓内の音声が特定の音声単位に対応する尤度を示す。いくつかの実装形態では、使用される音声単位は、音素とも呼ばれる、単音(phones)または単音の成分である。この例では、潜在的な単音はs0…smと示されている。単音は、「ah」単音、「ae」単音、「zh」単音など、音声内の様々な単音のうちのいずれかであり得る。単音s0…smは、オーディオ波形サンプル321内で生じ得る考えられる単音のすべて、または生じ得る単音のすべてに満たない単音を含んでよい。各単音は、3つの音響状態に分割され得る。
【００７６】
ニューラルネットワーク出力327は、オーディオ波形サンプル321内に含まれるデータを仮定して、音響状態の予測または確率を提供し得る。ニューラルネットワーク出力329は、音響特徴ベクトルv1が特定の単音の特定の状態を表す確率を示す、各単音の各状態に関する値を提供し得る。たとえば、第1の単音s0の場合、ニューラルネットワーク出力329は、窓w1が、オーディオ波形サンプル321において提供された、入力Xのセットを仮定した、s0単音の第1の音響状態を含む確率を示す確率P(s0_1|X)を示す第1の値を提供し得る。第1の単音s1の場合、ニューラルネットワーク出力329は、窓w1が、オーディオ波形サンプル321において提供された、入力Xのセットを仮定した、s0単音の第2の音響状態を含む確率P(s0_2|X)を示す第2の値を提供し得る。単音s0…smのすべてのすべての状態に関して、同様の出力が提供され得る。
【００７７】
コンピューティングシステム320は、異なる窓内の音響状態の予測または確率を受信するために、サンプル321の様々なセットをニューラルネットワーク327に提供する。コンピューティングシステム320は、次から次へと発話の異なる時間窓を表す、入力のシーケンスを提供し得る。オーディオデータの各フレームをシステム内に連続して入力することによって、コンピューティングシステム320は、発話中に生じた可能性が高い音素の推定を取得する。
【００７８】
コンピューティングシステム320は、たとえば、音声の単音単位を示すレキシコン(lexicon)、文法、および語の可能性があるシーケンスを示す言語モデルに関する情報を含み得る隠れマルコフモデル(HMM)を概算する重み付き有限状態トランスデューサにニューラルネットワーク出力329を提供することができる。HMMの出力は、そこからトランスクリプション330が導出され得る単語ラティスであってよい。コンピューティングシステム320は、次いで、ネットワーク330を介してトランスクリプション330をクライアントデバイス310に提供する。
【００７９】
ニューラルネットワーク323、327のトレーニングは、上記で論じたように実行され得る。ニューラルネットワーク327を通した順伝播は、ニューラルネットワークの出力層において出力を生成する。これらの出力を受信された時間周波数特徴表現が知られている音響状態に対応することを示す正確なまたは所望の出力を示すデータと比較することができる。ニューラルネットワークの実際の出力と正確なまたは所望の出力との間の誤りの測定値が判定される。誤りは、次いで、ニューラルネットワーク327内の重みを更新するために、ニューラルネットワークを通して逆伝播される。フィルタ予測ニューラルネットワーク323は、ニューラルネットワーク327と一緒にトレーニングされてもよい。
【００８０】
このトレーニングプロセスは、トレーニングデータのセット内の複数の異なる発話のオーディオ波形サンプルに関して生成された時間周波数特徴表現データに関して繰り返されてよい。トレーニング中に、同じ発話からのフレームが連続的に処理されないように、トレーニングのために選択されたフレームを大きなセットからランダムに選択することができる。
【００８１】
いくつかの実装形態では、音声認識システムの処理は、音声を最初に検出または記録するデバイス上で実行され得る。たとえば、コンピューティングデバイス320によって実行されるとして説明される処理は、いくつかの実装形態では、ネットワークを介してオーディオデータを送らずに、ユーザデバイス310上で実行され得る。
【００８２】
図4は、マルチチャネル音声認識のためのニューラルネットワーク適応ビームフォーミングのための例示的なプロセス400を示す。一般に、プロセス400は、発話を受信して、ニューラルネットワークを使用して、発話の語に対応する可能性がある音素を特定する。プロセス400は、1つまたは複数コンピュータを備えたコンピュータシステム、たとえば、図1に示したシステム100または図3に示したシステム300によって実行されるとして説明される。
【００８３】
システムは、発話に対応するオーディオデータの第1のチャネルおよび発話に対応するオーディオデータの第2のチャネルを受信する(410)。いくつかの実装形態では、システムは、異なるマイクロフォンを通して第1のチャネルおよび第2のチャネルを受信する。たとえば、システムは、システムの右側の1つのマイクロフォン、およびシステムの右側にある第1のマクロフォンからおよそ5cm離れている第2のマイクロフォンを有し得る。ユーザが発話するとき、両方のマイクロフォンはユーザの音声の若干異なるオーディオを受信する。いくつかの実装形態では、システムは、ユーザが発話するとき、各々がオーディオデータを受信する、2つを超えるマイクロフォンを有し得る。
【００８４】
システムは、トレーニングされたリカレントニューラルネットワークを使用して、(i)オーディオデータの複数のチャネルに基づいてフィルタパラメータの第1のセット、および(ii)オーディオデータの複数のチャネルに基づいてフィルタパラメータの第2のセットを生成する(420)。いくつかの実装形態では、トレーニングされたリカレントニューラルネットワークは、1個または複数のLSTM層を含む。いくつかの実装形態では、1個のLSTM層は、チャネルの各々からオーディオデータを受信する。たとえば、第1のLSTM層は、第1のチャネルおよび第2のチャネルからデータを受信する。いくつかの実装形態では、チャネル固有のLSTM層は、各チャネルからデータを受信するLSTM層の出力を受信する。この例では、第1のLSTMはビームフォーミングのために両方のチャネルからのデータを分析する。いくつかの実装形態では、チャネル固有のLSTM層の出力はそれぞれのオーディオチャネルに関するフィルタパラメータである。いくつかの実装形態では、各チャネル固有のLSTM層は異なるフィルタパラメータを生成する。いくつかの実装形態では、システムはオーディオデータを複数のフレームにセグメント化して、各フレームに関して、新しいフィルタパラメータ、および時として異なるフィルタパラメータを生成する。
【００８５】
システムは、第1の畳み込み出力を生成するために、第1のチャネルに関するオーディオデータをフィルタパラメータの第1のセットを有する第1のフィルタで畳み込む(430)。システムは、第2の畳み込み出力を生成するために、第2のチャネルに関するオーディオデータをフィルタパラメータの第2のセットを有する第2のフィルタで畳み込む(440)。システムがオーディオデータを異なるフレームにセグメント化するいくつかの実装形態では、システムは、オーディオデータの各フレームをそれぞれのパラメータで畳み込む。いくつかの実装形態では、第1のフィルタおよび第2のフィルタは有限インパルス応答フィルタである。システムが複数のオーディオチャネルを受信するいくつかの実装形態では、システムは、そのそれぞれのフィルタパラメータに従って各オーディオチャネルをフィルタリングする。いくつかの実装形態では、第1のフィルタおよび第2のフィルタは、空間フィルタリングとスペクトルフィルタリングの両方を実行する。
【００８６】
システムは、第1の畳み込み出力と第2の畳み込み出力とを結合する(450)。いくつかの実装形態では、システムは、第1および第2の畳み込み出力を加算する。システムが複数のオーディオチャネルを受信するいくつかの実装形態では、システムは、複数のフィルタからの複数の畳み込み出力を加算する。
【００８７】
システムは、結合された畳み込み出力を音響モデルとしてトレーニングされたニューラルネットワークに入力する(460)。いくつかの実装形態では、音響モデルは、発話に対応する音素を特定する。いくつかの実装形態では、音響モデルとしてトレーニングされたニューラルネットワークは、複数のLSTM層、たとえば、3個のLSTM層を含む。いくつかの実装形態では、音響モデルとしてトレーニングされたニューラルネットワークは、畳み込み層と複数の隠れ層とを含む。いくつかの実装形態では、畳み込み層は時間畳み込みを実行する。いくつかの実装形態では、システムは周波数畳み込みを実行しない。いくつかの実装形態では、システムは、プール値のセットを生成するために畳み込み層の出力をプールする。いくつかの実装形態では、システムは、プール値のセットを音響モデルとしてトレーニングされたニューラルネットワークのLSTM層に提供する。システムは、結合された畳み込み出力の受信に応答してニューラルネットワークが提供する出力に少なくとも基づいて判定される発話に関するトランスクリプションを提供する(470)。
【００８８】
いくつかの実装形態では、システムは、音響モデルとしてトレーニングされたニューラルネットワークの出力からのフィードバック機構をリカレントニューラルネットワークに提供する。フィードバック機構は、システムが前の音素の情報を使用してフィルタパラメータに影響を及ぼすことを可能にする。いくつかの実装形態では、その音素に関する信頼値がしきい値を満たす場合のみ、フィードバックがリカレントニューラルネットワークに手渡されるという点で、このフィードバックはゲート処理されている。
【００８９】
いくつかの実装形態では、システムは、トレーニング段階中にシステムが利用するマルチタスク学習段階を含む。マルチタスク学習段階は、音響モデルとしてトレーニングされたニューラルネットワークのLSTM層、たとえば、第1のLSTM層からデータを受信する。いくつかの実装形態では、マルチタスク学習段階は、複数のディープニューラルネットワーク層、たとえば、2個のディープニューラルネットワーク層を含み、複数の隠れ層を含み得る。マルチタスク学習段階は、音響モデルとしてトレーニングされたニューラルネットワークおよびリカレントニューラルネットワークのトレーニング段階中に使用するためのクリーン特徴を生成する。
【００９０】
図5は、ここで説明する技法を実装するために使用され得るコンピューティングデバイス500およびモバイルコンピューティングデバイス550の一例を示す。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことが意図される。モバイルコンピューティングデバイス550は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すことが意図される。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、単なる例を意味し、限定を意味しない。
【００９１】
コンピューティングデバイス500は、プロセッサ502と、メモリ504と、記憶デバイス506と、メモリ504および複数の高速強化ポート510に接続する高速インターフェース508と、低速強化ポート514および記憶デバイス506に接続する低速インターフェース512とを含む。プロセッサ502、メモリ504、記憶デバイス506、高速インターフェース508、高速強化ポート510、および低速インターフェース512の各々は、様々なバスを使用して相互接続され、共通のマザーボード上にまたは適宜に他の方法で取り付けられてよい。プロセッサ502は、高速インターフェース508に結合されたディスプレイ516など、外部入出力デバイス上のGUIに関するグラフィカル情報を表示するためにメモリ504内または記憶デバイス506上に記憶された命令を含めて、コンピューティングデバイス500内で実行するための命令を処理することができる。他の実装形態では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスを適宜に使用することができる。また、各デバイスが必要な動作の部分(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムなど)を提供して、複数のコンピューティングデバイスを接続することができる。
【００９２】
メモリ504は、コンピューティングデバイス500内に情報を記憶する。いくつかの実装形態では、メモリ504は1つまたは複数の不揮発性メモリである。いくつかの実装形態では、メモリ504は1つまたは複数の不揮発性メモリである。メモリ504は、磁気ディスクまたは光ディスクなど、別の形態のコンピュータ可読媒体であってもよい。
【００９３】
記憶デバイス506は、大容量記憶をコンピューティングデバイス500に提供することが可能である。いくつかの実装形態では、記憶デバイス506は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、または記憶領域ネットワークまたは他の構成のデバイスを含めて、デバイスのアレイなど、コンピュータ可読媒体であってよく、またはそれらを含んでもよい。命令は情報キャリア内に記憶され得る。これらの命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ502)によって実行されると、上記で説明した方法など、1つまたは複数の方法を実行する。これらの命令は、コンピュータ可読媒体または機械可読媒体(たとえば、メモリ504、記憶デバイス506、またはプロセッサ502上のメモリなど)1つまたは複数の記憶デバイスによって記憶されてもよい。
【００９４】
高速インターフェース508は、コンピューティングデバイス500に関する帯域幅集約的動作(bandwidth-intensive operations)を管理し、低速インターフェース512は、より低い帯域幅集約的動作を管理する。機能のそのような割振りは単なる例示である。いくつかの実装形態では、高速インターフェース508は、メモリ504、ディスプレイ516(たとえば、グラフィックスプロセッサまたは加速度計を通して)、および様々な強化ポートを受け入れることができる高速強化ポート510に結合される。この実装形態では、低速インターフェース512は記憶デバイス506および低速強化ポート514に結合されている。様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、Ethernet、ワイヤレスEthernet)を含み得る低速強化ポート514は、キーボード、ポインティングデバイス、スキャナ、または、たとえば、ネットワークアダプタを通した、スイッチまたはルータなどのネットワーキングデバイスなど、1つまたは複数入出力デバイスに結合され得る。
【００９５】
コンピューティングデバイス500は、図に示すように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準サーバ520として実装されてよく、またはそのようなサーバグループ内で複数回実装されてよい。さらに、コンピューティングデバイス500は、ラップトップコンピュータ522などのパーソナルコンピュータの形で実装されてよい。コンピューティングデバイス500は、ラックサーバシステム524の一部分として実装されてもよい。代替として、コンピューティングデバイス500からの構成要素を、モバイルコンピューティングデバイス550など、モバイルデバイス内の他の構成要素と組み合わせることも可能である。そのようなデバイスの各々は、コンピューティングデバイス500およびモバイルコンピューティングデバイス550のうちの1つまたは複数を含んでよく、システム全体が、互いに通信している複数のコンピューティングデバイスで作られてよい。
【００９６】
モバイルコンピューティングデバイス550は、構成要素の中でも、プロセッサ552と、メモリ564と、ディスプレイなどの入出力デバイス554と、通信インターフェース566と、トランシーバ568とを含む。モバイルコンピューティングデバイス550には、追加の記憶装置を提供するために、マイクロドライブまたは他のデバイスなど、記憶デバイスが提供されてもよい。プロセッサ552、メモリ564、ディスプレイ554、通信インターフェース566、およびトランシーバ568は各々、様々なバスを使用して相互接続され、これらの構成要素のうちのいくつかは共通マザーボード上にまたは適宜に他の方法で取り付けられてよい。
【００９７】
プロセッサ552は、メモリ564内に記憶された命令を含めて、モバイルコンピューティングデバイス550内の命令を実行することができる。プロセッサ552は、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサ552は、たとえば、ユーザインターフェース、モバイルコンピューティングデバイス550によって実行されるアプリケーション、およびモバイルコンピューティングデバイス550によるワイヤレス通信の制御など、モバイルコンピューティングデバイス550の他の構成要素の調整を提供することができる。
【００９８】
プロセッサ552は、ディスプレイ554に結合された制御インターフェース558およびディスプレイインターフェース556を通してユーザと通信することができる。ディスプレイ554は、たとえば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイもしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってよい。ディスプレイインターフェース556は、グラフィカル情報および他の情報をユーザに提示するためにディスプレイ554を駆動させるための適切な回路を含み得る。制御インターフェース558は、ユーザからコマンドを受信して、プロセッサ552に提出するためにそれらのコマンドを変換することができる。さらに、外部インターフェース562は、他のデバイスとのモバイルコンピューティングデバイス550のニアエリア通信(near area communication)を可能にするために、プロセッサ552との通信を提供することができる。外部インターフェース562は、たとえば、いくつかの実装形態では、ワイヤード通信を提供することができ、または他の実装形態では、ワイヤレス通信を提供することができ、複数のインターフェースが使用されてもよい。
【００９９】
メモリ564は、情報をモバイルコンピューティングデバイス550内に記憶する。メモリ564は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリ装置、または1つまたは複数の不揮発性メモリ装置のうちの1つまたは複数として実装され得る。たとえば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る強化インターフェース572を通して強化メモリ574をモバイルコンピューティングデバイス550に提供および接続することもできる。強化メモリ574は、モバイルコンピューティングデバイス550に余剰記憶空間を提供することができるか、またはモバイルコンピューティングデバイス550に関するアプリケーションまたは他の情報を記憶することもできる。具体的には、強化メモリ574は、上記で説明したプロセスを実行または補完するための命令を含むことが可能であり、セキュア情報を含むことも可能である。したがって、たとえば、強化メモリ574は、モバイルコンピューティングデバイス550に関するセキュリティモジュールとして提供されてよく、モバイルコンピューティングデバイス550のセキュアな使用を可能にする命令でプログラムされてよい。さらに、ハッキングできない方法でSIMMカード上に識別情報を配置するなど、追加情報とともに、SIMMカードを介してセキュアなアプリケーションを提供することができる。
【０１００】
メモリは、たとえば、下記で論じるように、フラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含み得る。いくつかの実装形態では、命令は情報キャリア内に記憶される。これらの命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ522)によって実行されると、上記で説明した方法など、1つまたは複数の方法を実行する。これらの命令は、1つまたは複数のコンピュータ可読媒体または機械可読媒体(たとえば、メモリ564、強化メモリ574、またはプロセッサ552上のメモリ)などの1つまたは複数の記憶デバイスに記憶されてもよい。いくつかの実装形態では、これらの命令は、たとえば、トランシーバ568または外部インターフェース562を介して伝播される信号内で受信され得る。
【０１０１】
モバイルコンピューティングデバイス550は、通信インターフェース566を通してワイヤレスに通信することができ、通信インターフェース566は、必要な場合、デジタル信号処理回路を含み得る。通信インターフェース566は、なかでも、GSM(登録商標)音声呼(グローバルシステムフォーモバイルコミュニケーション)、SMS(ショートメッセージサービス)、EMS(強化メッセージングサービス)、またはMMSメッセージング(マルチメディアメッセージングサービス)、CDMA(符号分割多元接続)、TDMA(時分割多元接続)、PDC(パーソナルデジタルセルラー)、WCDMA(登録商標)(広帯域符号分割多元接続)、CDMA2000、またはGPRS(汎用パケット無線サービス)など、様々なモードまたはプロトコルに基づいて通信を提供することができる。そのような通信は、たとえば、無線周波数を使用してトランシーバ568を通して生じ得る。さらに、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバを使用してなど、短距離通信が生じ得る。さらに、GPS(全地球測位システム)受信機モジュール570は追加のナビゲーションおよびロケーション関連のワイヤレスデータをモバイルコンピューティングデバイス550に提供することができ、モバイルコンピューティングデバイス550は、モバイルコンピューティングデバイス550上で実行するアプリケーションによって適宜に使用され得る。
【０１０２】
モバイルコンピューティングデバイス550は、ユーザから発話情報を受信して、それを使用可能なデジタル情報に変換することができるオーディオコーデック560を使用して可聴式に通信することもできる。オーディオコーデック560は、同様に、たとえば、モバイルコンピューティングデバイス550のハンドセット内で、スピーカーを通してなど、ユーザに可聴音を生成することができる。そのような音は、音声電話呼からの音を含んでよく、記録音(たとえば、音声メッセージ、ミュージックファイルなど)を含んでよく、モバイルコンピューティングデバイス550上で動作するアプリケーションによって生成される音を含んでもよい。
【０１０３】
モバイルコンピューティングデバイス550は、図に示すように、いくつかの異なる形態で実装され得る。たとえば、モバイルコンピューティングデバイス550は、セルラー電話580として実装され得る。モバイルコンピューティングデバイス550は、スマートフォン582、携帯情報端末、または他の類似のモバイルデバイスの一部として実装されてもよい。
【０１０４】
ここで説明したシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せの形で実現され得る。これらの様々な実装形態は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信して、これらにデータおよび命令を送信するように結合された、専用または汎用であってよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能かつ/または解釈可能な1つまたは複数のコンピュータプログラムの形での実装を含み得る。
【０１０５】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはソフトウェアコードとしても知られている)は、プログラマブルプロセッサに対する機械命令を含み、ハイレベル手続き型および/もしくはオブジェクト指向プログラミング言語の形で、ならびに/またはアセンブリ/機械言語の形で実装されてよい。本明細書で使用される場合、機械可読媒体およびコンピュータ可読媒体という用語は、機械可読信号として機械命令を受信する機械可読媒体を含めて、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。機械可読信号という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【０１０６】
ユーザとの対話を提供するために、ここで説明したシステムおよび技法は、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、それによってユーザがコンピュータに入力を提供し得るキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実装され得る。ユーザとの対話を提供するために他の種類のデバイスを同様に使用することもできる。たとえば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含めて、任意の形態で受信され得る。
【０１０７】
ここで説明したシステムおよび技法は、バックエンド構成要素(たとえば、データサーバなど)を含む、もしくはミドルウェア構成要素(たとえば、アプリケーションサーバ)を含む、またはフロントエンド構成要素(たとえば、それを通してユーザがここで説明したシステムおよび技法の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)、あるいはそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の何らかの組合せを含むコンピューティングシステムの形で実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、およびインターネットを含む。
【０１０８】
コンピューティングシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、一般に、互いから離れており、概して、通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行し、互いにクライアント・サーバ関係を有するコンピュータプログラムにより生じる。
【０１０９】
上記ではいくつかの実装形態が詳細に説明されてきたが、他の修正が可能である。たとえば、クライアントアプリケーションはデリゲート(delegate)にアクセスするとして説明されているが、他の実装形態では、デリゲートは、1つまたは複数のサーバ上で実行するアプリケーションなど、1つまたは複数のプロセッサによって実装される他のアプリケーションによって採用され得る。さらに、図に示した論理フローは、所望の結果を達成するために、示した特定の順序または順番を必要としない。さらに、他の動作を提供することができ、または説明したフローから動作を除去することができ、説明したシステムに他の構成要素を追加すること、または説明したシステムから他の構成要素を除去することができる。したがって、他の実装形態は以下の特許請求の範囲内である。
【符号の説明】
【０１１０】
100  システム
103  オーディオデータ
106  オーディオデータ
109  フィルタ予測段階、フィルタ予測層
112  フィルタおよび加算段階
115  音響モデル段階、音響モデル層
118  マルチタスク学習段階、マルチタスク学習層
124  LSTM層
127  LSTM層
130  フィルタ
133  フィルタ
136  加算器
139  加算器出力、音響モデル
142  時間畳み込み層
145  後処理層、ポストプロセッサ
148  LSTM層、第1のLSTM層
151  LSTM層
154  LSTM層
157  ディープニューラルネットワーク、DNN
160  出力、出力ターゲット
163  ゲートフィードバック機構
166  DNN層
169  DNN層
300  システム
302  ユーザ
310  クライアントデバイス、ユーザデバイス
312  オーディオデータ、オーディオ信号
320  コンピューティングシステム
321  オーディオ波形サンプル、サンプル
322  オーディオ波形サンプル
323  ニューラルネットワーク
325  フィルタおよび加算モジュール
327  ニューラルネットワーク
329  ニューラルネットワーク出力
330  ネットワーク、トランスクリプション
400  プロセス
500  コンピューティングデバイス
502  プロセッサ
504  メモリ
506  記憶デバイス
508  高速インターフェース
510  高速強化ポート
512  低速インターフェース
514  低速強化ポート
516  ディスプレイ
520  標準サーバ
522  ラップトップコンピュータ
524  ラックサーバシステム
550  モバイルコンピューティングデバイス
552  プロセッサ
554  入出力デバイス、ディスプレイ
556  ディスプレイインターフェース
558  制御インターフェース
560  オーディオコーデック
562  外部インターフェース
564  メモリ
566  通信インターフェース
568  トランシーバ
572  強化インターフェース
574  強化メモリ
580  セルラー電話
582  スマートフォン
【図１】
2019508730.tif 000006
【図２】
2019508730.tif 000007
【図３】
2019508730.tif 000008
【図４】
2019508730.tif 000009
【図５】
2019508730.tif 000010
【手続補正書】
【提出日】平成30年9月7日(2018.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
発話に対応するオーディオデータの第1のチャネルおよび前記発話に対応するオーディオデータの第2のチャネルを受信するステップと、
トレーニングされたリカレントニューラルネットワークを使用して、(i)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第1のフィルタに関するフィルタパラメータの第1のセット、および(ii)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第2のフィルタに関するフィルタパラメータの第2のセットを生成するステップと、
(i)前記第1のフィルタを使用してフィルタリングされている前記第1のチャネルのオーディオデータと(ii)前記第2のフィルタを使用してフィルタリングされている前記第2のチャネルのオーディオデータとを結合することによって、オーディオデータの単一の結合チャネルを生成するステップと、
前記単一の結合チャネルに関する前記オーディオデータを音響モデルとしてトレーニングされたニューラルネットワークに入力するステップと、
前記単一の結合チャネルに関する前記オーディオデータの受信に応答して前記ニューラルネットワークが提供する出力に少なくとも基づいて判定される前記発話に関するトランスクリプションを提供するステップと
を含む、コンピュータ実装方法。
【請求項２】
前記リカレントニューラルネットワークが1つまたは複数の長・短期記憶層を備える、請求項1に記載の方法。
【請求項３】
前記リカレントニューラルネットワークが、
オーディオの第1のチャネルと第2のチャネルの両方を受信する第1の長・短期記憶層と、
前記第1のチャネルに対応する第2の長・短期記憶層および前記第2のチャネルに対応する第3の長・短期記憶層と備え、前記第2の長・短期記憶層および前記第3の長・短期記憶層が各々、前記第1の長・短期記憶層の前記出力を受信して、前記対応するチャネルに関するフィルタパラメータのセットを提供する、請求項1に記載の方法。
【請求項４】
前記長・短期記憶層が、前記長・短期記憶層と音響モデルとしてトレーニングされた前記ニューラルネットワークとを一緒にトレーニングするトレーニングプロセス中に学習されているパラメータを有する、請求項3に記載の方法。
【請求項５】
オーディオデータの各入力フレームに関する新しいフィルタパラメータを変更または生成するステップ
を含む、請求項1に記載の方法。
【請求項６】
前記発話のオーディオフレームのシーケンス内の各オーディオフレームに関して、フィルタパラメータの新しいセットを生成して、前記フレームに関するオーディオデータをフィルタパラメータの前記新しいセットを備えるフィルタで畳み込むステップ
を含む、請求項1に記載の方法。
【請求項７】
前記第1のフィルタおよび前記第2のフィルタが有限インパルス応答フィルタである、請求項1に記載の方法。
【請求項８】
前記第1のフィルタおよび前記第2のフィルタが異なるパラメータを有する、請求項1に記載の方法。
【請求項９】
異なるマイクロフォン出力が異なるフィルタで畳み込まれる、請求項1に記載の方法。
【請求項１０】
オーディオデータの前記第1のチャネルおよび前記第2のチャネルが、前記発話に関するオーディオ波形の第1のチャネルおよび第2のチャネルであり、
オーディオ波形の前記第1のチャネルおよび前記第2のチャネルが、互いに間隔が置かれた異なるマイクロフォンによる前記発話の記録である、請求項1に記載の方法。
【請求項１１】
音響モデルとしてトレーニングされた前記ニューラルネットワークが、畳み込み層と、1つまたは複数の長・短期記憶層と、複数の隠れ層とを備える、請求項1に記載の方法。
【請求項１２】
音響モデルとしてトレーニングされた前記ニューラルネットワークの前記畳み込み層が、時間領域畳み込みを実行するように構成される、請求項11に記載の方法。
【請求項１３】
音響モデルとしてトレーニングされた前記ニューラルネットワークが、プール値のセットを生成するために前記畳み込み層の出力がプールされるように構成される、請求項11に記載の方法。
【請求項１４】
音響モデルとしてトレーニングされた前記ニューラルネットワークが、前記プール値を音響モデルとしてトレーニングされた前記ニューラルネットワーク内の1つまたは複数の長・短期記憶層に入力するように構成される、請求項13に記載の方法。
【請求項１５】
前記第1のフィルタおよび前記第2のフィルタが空間フィルタリングとスペクトルフィルタリングの両方を実行するように構成される、請求項1に記載の方法。
【請求項１６】
第1の畳み込み出力を生成するために、前記第1のチャネルに関する前記オーディオデータをフィルタパラメータの前記第1のセットを有する第1のフィルタで畳み込むステップと、
第2の畳み込み出力を生成するために、前記第2のチャネルに関する前記オーディオデータをフィルタパラメータの前記第2のセットを有する第2のフィルタで畳み込むステップと、
前記第1の畳み込み出力と前記第2の畳み込み出力とを結合するステップと
を含む、請求項1に記載の方法。
【請求項１７】
システムであって、
1つまたは複数のコンピュータおよび命令を記憶した1つまたは複数の記憶デバイスを備え、前記命令が、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
発話に対応するオーディオデータの第1のチャネルおよび前記発話に対応するオーディオデータの第2のチャネルを受信することと、
トレーニングされたリカレントニューラルネットワークを使用して、(i)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第1のフィルタに関するフィルタパラメータの第1のセット、および(ii)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第2のフィルタに関するフィルタパラメータの第2のセットを生成することと、
(i)前記第1のフィルタを使用してフィルタリングされている前記第1のチャネルのオーディオデータと(ii)前記第2のフィルタを使用してフィルタリングされている前記第2のチャネルのオーディオデータとを結合することによって、オーディオデータの単一の結合チャネルを生成することと、
前記単一の結合チャネルに関する前記オーディオデータを音響モデルとしてトレーニングされたニューラルネットワークに入力することと、
前記単一の結合チャネルに関する前記オーディオデータの受信に応答して前記ニューラルネットワークが提供する出力に少なくとも基づいて判定される前記発話に関するトランスクリプションを提供することと
を含む動作を実行させるように動作可能である、システム。
【請求項１８】
前記リカレントニューラルネットワークが、
オーディオの第1のチャネルと第2のチャネルの両方を受信する第1の長・短期記憶層と、
前記第1のチャネルに対応する第2の長・短期記憶層および前記第2のチャネルに対応する第3の長・短期記憶層とを備え、前記第2の長・短期記憶層および前記第3の長・短期記憶層が各々、前記第1の長・短期記憶層の前記出力を受信して、前記対応するチャネルに関するフィルタパラメータのセットを提供する、請求項17に記載のシステム。
【請求項１９】
前記動作が、
第1の畳み込み出力を生成するために、前記第1のチャネルに関する前記オーディオデータをフィルタパラメータの前記第1のセットを有する第1のフィルタで畳み込むことと、
第2の畳み込み出力を生成するために、前記第2のチャネルに関する前記オーディオデータをフィルタパラメータの前記第2のセットを有する第2のフィルタで畳み込むことと、
前記第1の畳み込み出力と前記第2の畳み込み出力とを結合することと
をさらに含む、請求項17に記載のシステム。
【請求項２０】
1つまたは複数のコンピュータによって実行可能な命令を含むソフトウェアを記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されると、前記1つまたは複数のコンピュータに、
発話に対応するオーディオデータの第1のチャネルおよび前記発話に対応するオーディオデータの第2のチャネルを受信することと、
トレーニングされたリカレントニューラルネットワークを使用して、(i)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第1のフィルタに関するフィルタパラメータの第1のセット、および(ii)オーディオデータの前記第1のチャネルおよびオーディオデータの前記第2のチャネルに基づいて第2のフィルタに関するフィルタパラメータの第2のセットを生成することと、
(i)前記第1のフィルタを使用してフィルタリングされている前記第1のチャネルのオーディオデータと(ii)前記第2のフィルタを使用してフィルタリングされている前記第2のチャネルのオーディオデータとを結合することによって、オーディオデータの単一の結合チャネルを生成することと、
前記単一の結合チャネルに関する前記オーディオデータを音響モデルとしてトレーニングされたニューラルネットワークに入力することと、
前記単一の結合チャネルに関する前記オーディオデータの受信に応答して前記ニューラルネットワークが提供する出力に少なくとも基づいて判定される前記発話に関するトランスクリプションを提供することと
を含む動作を行わせる、コンピュータ可読記憶媒体。
【国際調査報告】
2019508730.tif 000011
2019508730.tif 000012