(57)【要約】  音声認識ニューラルネットワークシステムは、エンコーダニューラルネットワークとデコーダニューラルネットワークとを備える。エンコーダニューラルネットワークは、発話を表す入力音響シーケンスから符号化されたシーケンスを生成する。入力音響シーケンスは、複数の入力時間ステップの各々におけるそれぞれの音響特徴表現を含み、符号化されたシーケンスは、複数の時間短縮時間ステップの各々におけるそれぞれの符号化された表現を含み、時間短縮時間ステップの数は、入力時間ステップの数より少ない。エンコーダニューラルネットワークは、時間短縮サブネットワーク、畳み込みLSTMサブネットワーク、およびネットワークインネットワーク・サブネットワークを含む。デコーダニューラルネットワークは、符号化されたシーケンスを受け取り、符号化されたシーケンスを処理して、出力シーケンス順序における各位置について、部分文字列のセット内の各部分文字列に対するそれぞれの部分文字列スコアを含む部分文字列スコアのセットを生成する。
2019534472.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータによって実装される音声認識ニューラルネットワークシステムであって、
入力音響シーケンスから符号化されたシーケンスを生成するように構成されたエンコーダニューラルネットワークであって、
前記入力音響シーケンスは発話を表し、
前記入力音響シーケンスは複数の入力時間ステップの各々におけるそれぞれの音響特徴表現を含み、
前記符号化されたシーケンスは複数の時間短縮時間ステップの各々におけるそれぞれの符号化された表現を含み、
前記時間短縮時間ステップの数は前記入力時間ステップの数より少なく、
前記エンコーダニューラルネットワークは、
前記入力音響シーケンスを処理して前記複数の時間短縮時間ステップの各々におけるそれぞれの短縮された表現を含む短縮された表現のシーケンスを生成するように構成された時間短縮サブネットワークと、
各時間短縮時間ステップについて、前記時間短縮時間ステップにおいて前記短縮された表現を処理し、前記時間ステップに対する畳み込みLSTM出力を生成するように構成された畳み込みLSTMサブネットワークと、
各時間短縮時間ステップについて、前記時間短縮時間ステップにおいて前記畳み込みLSTM出力を処理し、前記時間短縮時間ステップに対する前記符号化された表現を生成するように構成されたネットワークインネットワーク・サブネットワークとを含む、エンコーダニューラルネットワークと、
前記符号化されたシーケンスを受け取り、前記符号化されたシーケンスを処理して、出力シーケンス順序における各位置について、部分文字列のセット内の各部分文字列に対するそれぞれの部分文字列スコアを含む部分文字列スコアのセットを生成するように構成されたデコーダニューラルネットワークと、
を備える音声認識ニューラルネットワークシステム。
【請求項２】
前記時間短縮サブネットワークは、
第1の時間短縮ブロックであって、
前記入力音響シーケンスにおいて所定の間隔の複数の隣接する入力時間ステップで音響特徴表現を深さ連結し、連結された表現の第1のシーケンスを生成するように構成された第1の深さ連結層と、
前記連結された表現の第1のシーケンスを処理して、複数の初期時間短縮時間ステップの各々におけるそれぞれの初期の短縮された表現を含む初期の短縮された表現のシーケンスを生成するように構成された第1の時間短縮畳み込み層とを含む、第1の時間短縮ブロックと、
第2の時間短縮ブロックであって、
前記初期の短縮されたシーケンスにおいて所定の間隔の複数の隣接する初期の時間短縮時間ステップで初期の短縮された表現を深さ連結し、連結された表現の第2のシーケンスを生成するように構成された第2の深さ連結層と、
前記連結された表現の第2のシーケンスを処理して、前記複数の時間短縮時間ステップの各々における短縮された表現を含む短縮された表現の前記シーケンスを生成するように構成された第2の時間短縮畳み込み層とを含む、第2の時間短縮ブロックと、
を備える請求項1に記載のシステム。
【請求項３】
前記畳み込みLSTMサブネットワークは、次々に積み重ねられた複数の残留ブロックを備える請求項1または請求項2に記載のシステム。
【請求項４】
各残留ブロックは、
少なくともバッチ正規化層によって分離された畳み込みニューラルネットワーク層と畳み込みLSTMニューラルネットワーク層とを含む請求項3に記載のシステム。
【請求項５】
各残留ブロックは、
前記残留ブロックへの入力から前記畳み込みLSTMニューラルネットワーク層の出力へのスキップ接続をさらに含む請求項4に記載のシステム。
【請求項６】
前記ネットワークインネットワーク・サブネットワークは、複数のLSTM層を備える請求項1から5のいずれか一項に記載のシステム。
【請求項７】
前記ネットワークインネットワーク・サブネットワークは、LSTM層の各ペアの間にそれぞれの1×1畳み込み層を備える請求項6に記載のシステム。
【請求項８】
各1×1畳み込み層の後に、それぞれのバッチ正規化層が続く請求項7に記載のシステム。
【請求項９】
前記発話の転写を表す前記部分文字列スコアから部分文字列のシーケンスを生成するように構成されたデコーダサブシステムをさらに備える請求項1〜8のいずれか一項に記載のシステム。
【請求項１０】
発話を表す入力音響シーケンスを受け取るステップと、
請求項1〜9のいずれか一項に記載の前記エンコーダニューラルネットワークを使用して前記入力音響シーケンスを処理して、複数の時間短縮時間ステップの各々におけるそれぞれの符号化された表現を含む符号化されたシーケンスを生成するステップと、
を含む方法。
【請求項１１】
デコーダニューラルネットワークを使用して前記符号化されたシーケンスを処理して、出力シーケンス順序における各位置について、部分文字列のセット内の各部分文字列に対するそれぞれの部分文字列スコアを含む部分文字列スコアのセットを生成するステップをさらに含む請求項10に記載の方法。
【請求項１２】
前記発話の転写を表す前記部分文字列スコアから部分文字列のシーケンスを生成するステップをさらに含む請求項10または請求項11に記載の方法。
【請求項１３】
1つまたは複数のコンピュータによって実行されたときに請求項1〜9のいずれか一項に記載のそれぞれのシステムを実装することを前記1つまたは複数のコンピュータに行わせる命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【請求項１４】
1つまたは複数のコンピュータによって実行されたときに請求項10〜12のいずれか一項に記載のそれぞれの方法の動作を実行することを前記1つまたは複数のコンピュータに行わせる命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【請求項１５】
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによって実行されたときに、請求項1から9のいずれか一項に記載のシステムが実行されること、および/または請求項10から12のいずれか一項に記載の方法が実行されることを行わせる命令を記憶した少なくとも1つのコンピュータ記憶媒体とを備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2016年10月10日に出願した米国仮出願第62/406,345号の優先権を主張するものである。先行出願の開示は、本出願の開示の一部とみなされ、参照により本出願の開示に組み込まれている。
【０００２】
本明細書は、ニューラルネットワークを使用する音声認識に関する。
【背景技術】
【０００３】
音声認識システムは、音響シーケンス(acoustic sequence)を受け取り、その音響シーケンスによって表される発話の転写を生成する。いくつかの音声認識システムは、発音システム、音響モデリングシステム、および言語モデルを含む。音響モデリングシステムは、音響シーケンスの音素表現を生成し、発音システムは、音素表現から音響シーケンスの書記素表現を生成し、言語モデルは、書記素表現から音響シーケンスによって表される発話の転写を生成する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装される音声認識システムについて説明する。
【課題を解決するための手段】
【０００５】
音声認識は、入力音響シーケンスから符号化されたシーケンスを生成するように構成されたエンコーダニューラルネットワークを含む。入力音響シーケンスは、発話を表す。入力音響シーケンスは、複数の入力時間ステップの各々におけるそれぞれの音響特徴表現を含む。符号化されたシーケンスは、複数の時間短縮時間ステップ(time reduced time step)の各々におけるそれぞれの符号化された表現を含む。時間短縮時間ステップの数は、入力時間ステップの数より少ない。
【０００６】
エンコーダニューラルネットワークは、入力音響シーケンスを処理して複数の時間短縮時間ステップの各々におけるそれぞれの短縮された表現を含む短縮された表現のシーケンスを生成するように構成された時間短縮サブネットワークを含む。エンコーダニューラルネットワークは、各時間短縮時間ステップについて、時間短縮時間ステップにおいて短縮された表現を処理し、時間ステップに対する畳み込みLSTM出力を生成するように構成された畳み込みLSTMサブネットワークも含む。エンコーダニューラルネットワークは、各時間短縮時間ステップについて、時間短縮時間ステップにおいて畳み込みLSTM出力を処理し、時間短縮時間ステップに対する符号化された表現を生成するように構成されたネットワークインネットワーク(network in network)サブネットワークをさらに含む。
【０００７】
音声認識システムは、符号化されたシーケンスを受け取り、符号化されたシーケンスを処理して、出力シーケンス順序における各位置について、部分文字列のセット内の各部分文字列に対するそれぞれの部分文字列スコアを含む部分文字列スコアのセットを生成するように構成されたデコーダニューラルネットワークをさらに含む。
【０００８】
本明細書において説明されている主題の特定の実施形態は、次の利点のうちの1つまたは複数を実現するように実装され得る。本明細書において説明されているようにエンコーダニューラルネットワーク使用して受け取った音響シーケンスの符号化された表現を生成することによって、エンコーダニューラルネットワークを含む音声認識ニューラルネットワークのパフォーマンスが改善され得る。特に、本明細書で説明されているようなエンコーダニューラルネットワークは、エンコーダニューラルネットワークのパラメータの数を管理可能な範囲内に抑えながら、より大きい非線形性およびより高い表現力を使用して処理の深さを加え、実際に、パラメータ1つ当たりの計算量を増やす。すなわち、エンコーダニューラルネットワークは、処理の深さを効果的な方式で加え、その結果、パフォーマンスが改善されるとともに、妥当な計算フットプリントを維持する、すなわち、音声認識ニューラルネットワークを記憶するか、またはニューラルネットワークを使用して入力音声を認識するのに過剰な処理リソースおよびメモリを必要としない。
【０００９】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の説明で述べられる。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】例示的な音声認識システムを示す図である。
【図２】エンコーダニューラルネットワークの例示的なアーキテクチャを示す図である。
【図３】入力音響シーケンスによって表される発話の転写を表す部分文字列シーケンスを生成するための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【００１１】
様々な図面中の同様の参照番号および名称は同様の要素を示す。
【００１２】
図1は、例示的な音声認識システム100を示している。音声認識システム100は、1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例であり、以下で説明されるシステム、コンポーネント、および技術がそこで実装され得る。
【００１３】
音声認識システム100は、入力音響シーケンスを取得し、その入力音響シーケンスを処理して部分文字列シーケンスを生成する。各部分文字列シーケンスは、対応する入力音響シーケンスによって表される発話の転写である。たとえば、音声認識システム100は、入力音響シーケンス102を取得し、入力音響シーケンス102によって表される発話の転写である対応する部分文字列シーケンス116を生成することができる。
【００１４】
入力音響シーケンス102は、発話のデジタル表現、たとえば、データの連続的ストリームである音声データの複数のフレームのシーケンスを含み得る。音声データの複数のフレームのシーケンスは、時間ステップの第1のセットに対応するものとしてよく、たとえば、音声データの各フレームは10ミリ秒分の音声ストリームデータに関連付けられる。音声データの複数のフレームのシーケンス内の音声データの各フレームは、対応する時間ステップにおける発話を特徴付けるフレームに対する特徴値を含み得る。
【００１５】
部分文字列シーケンス116は、入力音響シーケンス102によって表される発話の転写である部分文字列のシーケンスを含み得る。部分文字列は、1つまたは複数の文字を含み得る。たとえば、部分文字列のセットは、英字のアルファベットを含む文字セットであってよい。一般的に英字は発話自然言語における音素を表すので、アルファベットは1つまたは複数の自然言語を書くために使用される英字の標準セットである。たとえば、アルファベットは、英語のアルファベットであってもよい。文字セットは、また、アラビア数字、空白文字、カンマ文字、ピリオド文字、アポストロフィ文字、および未知の文字も含み得る。別の例では、部分文字列のセットは、ワードピース、すなわち、部分単語、単語、またはその両方を含み得る。
【００１６】
入力音響シーケンスに対する部分文字列シーケンスを生成するために、音声認識システム100は、入力音響シーケンスを部分文字列シーケンスに転写するように訓練されている注意ベースのシーケンスツーシーケンス(seq2seq)モデルを実装する。たとえば、音声フレームの入力音響シーケンス102がx=(x1,...,xT)と表され、部分文字列の出力部分文字列シーケンス116がy=(y1,...,yS)と表されると仮定すると、モデルは、すでに生成されている部分文字列y<iおよび入力シーケンスx上の条件付き分布を使用して出力部分文字列シーケンスyi内の各部分文字列を決定する。出力部分文字列シーケンス全体の確率は、確率の連鎖規則
【００１７】
【数１】
2019534472.tif 000003
【００１８】
を使用して計算される。
【００１９】
モデルは、2つのサブモジュール、すなわち、音響モデルエンコーダ、たとえば、エンコーダニューラルネットワーク104、および注意ベースの文字デコーダ、たとえば、デコーダニューラルネットワーク114を備える。
【００２０】
エンコーダニューラルネットワーク104は、入力音響シーケンス102を処理し、入力音響シーケンス102に対する代替的表現を生成するように構成される。代替的表現は、時間ステップの第2のセットに対応する音声データの複数のフレームの符号化されたシーケンス112を含み得る。いくつかの実装形態において、符号化されたシーケンス112は、入力音響シーケンス102の高水準表現である、すなわち、符号化されたシーケンス112内の時間ステップの第2のセットは、入力音響シーケンス102内の時間ステップの第1のセットより小さい。すなわち、エンコーダニューラルネットワーク104は、オリジナルの入力シーケンスxを高水準表現
h=(h1,...,hU)、ただし、U≦Tとする    (2)
に変換することができる。
【００２１】
入力音響シーケンス102の高水準表現を生成するために、エンコーダニューラルネットワーク104は、時間短縮サブネットワーク106、畳み込み長短期記憶(LSTM)サブネットワーク108、およびネットワークインネットワーク・サブネットワーク110を含む。NiNサブネットワーク110は、一般的に、複数の双方向LSTMニューラルネットワーク層を含む。BLSTMニューラルネットワーク層は、1つまたは複数のLSTM記憶ブロックを有し、要素の過去および未来の両方のコンテキストに基づきシーケンスの各要素を予測するか、またはラベル付けするニューラルネットワーク層である。音響シーケンスを処理するために使用され得る例示的なBLSTMニューラルネットワークは、「Hybrid Speech Recognition with Bidirectional LSTM」、Alex Graves、Navdeep Jaitly、およびAbdel-rahman Mohamed、Automatic Speech Recognition and Understanding Workshop, 2013においてより詳しく説明されている。時間短縮サブネットワーク106は、各ブロックが少なくともバッチ正規化層によって分離されている畳み込みニューラルネットワーク層と畳み込みLSTMニューラルネットワーク層とを含む複数の残留ブロックを備える。時間短縮サブネットワーク106は、各ブロックが深さ連結層と時間短縮畳み込み層とを含む複数の時間短縮ブロックを備える。エンコーダニューラルネットワーク104のアーキテクチャは、図2を参照しつつより詳しく説明される。
【００２２】
エンコーダニューラルネットワーク104が符号化されたシーケンス112を生成した後、デコーダニューラルネットワーク114は、符号化されたシーケンス112を処理するように構成されており、符号化されたシーケンス112から部分文字列シーケンス116を生成する。特に、デコーダニューラルネットワーク114は、出力シーケンス順序における各位置について、部分文字列シーケンス116内の各部分文字列に対するそれぞれの部分文字列スコアを含む部分文字列スコアのセットを生成するように構成される。各部分文字列に対するそれぞれの部分文字列スコアは、部分文字列が入力音響シーケンス102によって表される発話の正しい転写を表す確率を定義する。
【００２３】
次いで、デコーダニューラルネットワーク114は、部分文字列スコアのセットから部分文字列のシーケンス116を生成するように構成される。部分文字列シーケンス116は、入力音響シーケンス102によって表される発話の転写を表す。
【００２４】
いくつかの実装形態において、デコーダニューラルネットワーク114は、注意ベースの再帰型ニューラルネットワークである。デコーダニューラルネットワーク114の例およびデコーダニューラルネットワーク114によって生成される部分文字列スコアを使用して発話の転写を生成するための例示的な技術は、W. Chan、N. Jaitly、Q. Le、およびO. Vinyals、「Listen, Attend and Spell: A Neural Network for Large Vocabulary Conversational Speech Recognition」、International Conference on Acoustics, Speech, and Signal Processing, 2016においてより詳しく説明されている。
【００２５】
図2は、音声認識システムのエンコーダニューラルネットワーク、たとえば、図1の音声認識システム100のエンコーダニューラルネットワーク104の例示的なアーキテクチャを示している。
【００２６】
エンコーダニューラルネットワーク104は、時間短縮サブネットワーク106、畳み込みLSTMサブネットワーク108、およびネットワークインネットワーク・サブネットワーク110を含む。
【００２７】
時間短縮サブネットワーク106は、複数の時間短縮ブロック、たとえば、第1の時間短縮ブロック208および第2の時間短縮ブロック210を含む。時間短縮サブネットワーク106は、時間短縮ブロック208および210を通じて入力音響シーケンス102を受け取って処理するように構成される。入力音響シーケンス102は、発話のデジタル表現、たとえば、データの連続的ストリームである音声データの複数のフレームのシーケンスを含み得る。音声データの複数のフレームのシーケンスは、時間ステップの第1のセットに対応するものとしてよく、たとえば、音声データの各フレームは10ミリ秒分の音声ストリームデータに関連付けられる。各時間短縮ブロックは、深さ連結層と、時間短縮畳み込み層とを含む。たとえば、時間短縮ブロック208は、深さ連結層230と、時間短縮畳み込み層232とを含む。時間短縮ブロック208は、深さ連結層234と、時間短縮畳み込み層236とを含む。
【００２８】
seq2seqモデルは、非常に長い入力音響シーケンス(すなわち、>2000個のフレーム)を取り扱う必要がある場合があるので、畳み込みニューラルネットワーク(CNN)層が双方向長短期記憶(BLSTM)ニューラルネットワーク層(たとえば、以下で説明されているようなネットワークインネットワーク・サブネットワーク110内のBLSTM層)の前に単純に積み重ねられた場合、システムは深いモデルの場合はGPUメモリをたちまち使い果たす可能性があり、また計算時間も過度に長くなり得る。この問題の大きさを軽減するために、時間短縮サブネットワーク106は、各時間短縮ブロックにおいて連結およびストライドを適用して時間次元およびメモリフットプリントを縮小するように構成される。時間短縮サブネットワーク106は、時間短縮ブロックを通じて入力音響シーケンス102を処理して、時間短縮時間ステップのセット内の各時間短縮時間ステップにおけるそれぞれの短縮された表現を含む短縮されたシーケンスを生成するように構成され、第2のセット内の時間短縮時間ステップの数は入力音響シーケンス102の時間ステップの第1のセットの数より少ない。
【００２９】
特に、ブロック208内の深さ連結層234は、入力音響シーケンスにおいて所定の間隔の複数の隣接する入力時間ステップで音響特徴表現を深さ連結し、連結された表現の第1のシーケンスを生成するように構成される。たとえば、入力時間ステップが{t1, t2, t3, ..., tn}であると仮定すると、深さ連結層234は、複数の隣接する時間ステップ、たとえば、3つの時間ステップt1、t2、およびt3で音響特徴表現を深さ連結し、第1の初期時間短縮時間ステップt1〜3に対する第1の連結された表現を生成し得る。次いで、深さ連結層234は、畳み込みNN層236のストライドによって決定される時間ステップの数、たとえば、層236がストライドkを有している場合にk個の時間ステップだけ前進し、同じ数の時間ステップを連結し続ける。たとえば、層234は、2つの時間ステップだけ前進し、次の3つの時間ステップt3、t4、およびt5を連結して、第2の初期時間短縮時間ステップt3〜5に対して第2の連結された表現を生成するように構成される。層234は、初期時間短縮時間ステップに対して入力音響シーケンスの連結された表現の第1のシーケンスを生成するために最後の入力時間ステップに到達するまで上記のプロセスを繰り返す。その結果、初期時間短縮時間ステップの数は、入力時間ステップのセット内の時間ステップの数の半分にまで縮小されている。
【００３０】
次いで、時間短縮畳み込み層236は、連結された表現の第1のシーケンスを処理して、複数の初期時間短縮時間ステップの各々におけるそれぞれの初期の短縮された表現を含む、初期の短縮された表現のシーケンスを生成するように構成される。
【００３１】
時間短縮ブロック210内の深さ連結層230は、初期の短縮されたシーケンスにおいて所定の間隔の複数の隣接する初期時間短縮時間ステップで初期の短縮された表現を深さ連結し、連結された表現の第2のシーケンスを生成するように構成される。たとえば、層230は、3つの初期時間短縮時間ステップt1〜3、t3〜5、およびt5〜7で初期の短縮された表現を連結するように構成される。次いで、層230は、2つの初期時間短縮時間ステップだけ移動し(すなわち、時間短縮畳み込み層232がストライド2を有すると仮定して)、次の3つの初期時間短縮時間ステップt5〜7、t7〜9、およびt9〜11を連結するように構成される。層230は、入力音響シーケンスの連結された表現の第2のシーケンスを生成するために最後の初期時間短縮時間ステップに到達するまで上記のプロセスを繰り返す。
【００３２】
次いで、時間短縮畳み込み層232は、連結された表現の第2のシーケンスを処理して、複数の時間短縮時間ステップの各々における短縮された表現を含む短縮された表現のシーケンスを生成するように構成される。上記の例において説明されているように時間短縮ブロック208および210を通じて入力音響シーケンスを処理することによって、時間短縮サブネットワーク106の出力における時間ステップの数、たとえば、短縮された表現のシーケンスは、オリジナルの入力音響シーケンスの入力時間ステップの数の1/4に短縮されている。
【００３３】
いくつかの実装形態において、サブネットワーク106における各時間短縮ブロック内の各時間短縮畳み込み層の後に、各層の入力を正規化して内部共変量シフトを低減するバッチ正規化層が続く。バッチ正規化層は、より高い学習率およびロバストな初期化を可能にするとともに、モデルアーキテクチャの一部の正規化を行い、訓練データの各訓練ミニバッチについて正規化を実行することによって汎化を改善する。バッチ正規化は、勾配において(特にランダム初期化から)高い分散を有する、seq-2-seqモデルを訓練するうえで特に有用である。バッチ正規化は、S. IoffeおよびC. Szegedy、「Batch normalization: Accelerating deep network training by reducing internal covariate shift.」、In Proceedings of The 32nd International Conference on Machine Learning、448〜456頁、2015年において詳しく説明されている。
【００３４】
畳み込みLSTMサブネットワーク108は、複数の残留ブロック(たとえば、4つの残留ブロック212〜218)を含む。各残留ブロックは、少なくともバッチ正規化層によって分離された畳み込み層と畳み込みLSTMニューラルネットワーク層(たとえば、3×3畳み込みLSTMフィルタ)とを備える。畳み込み層は、各ブロック内で畳み込みLSTM層に先行するか、またはその逆であってもよい。畳み込みLSTMニューラルネットワーク層は、畳み込みを使用してLSTMユニット内の内積を置き換える。各残留ブロック内の畳み込みLSTMニューラルネットワーク層は、双方向畳み込みLSTM層であり得る。各残留ブロックは、残留ブロックへの入力から残留ブロック内の畳み込みLSTMニューラルネットワーク層の出力へのスキップ接続を含む。
【００３５】
時間短縮サブネットワーク106が時間ステップの第2のセット内の各時間短縮時間ステップにおけるそれぞれの短縮された表現を含む短縮されたシーケンスを生成した後、畳み込みLSTMサブネットワーク108は、各時間短縮時間ステップについて、残留ブロックを通じて時間短縮時間ステップで短縮された表現をまとめて処理し、時間短縮時間ステップに対する畳み込みLSTM出力を生成するように構成される。
【００３６】
ネットワークインネットワーク(NiN)サブネットワーク110は、複数の双方向LSTMニューラルネットワーク層(たとえば、双方向LSTMニューラルネットワーク層220、224、228)を一般的に含む。NiNサブネットワーク110は、ネットワークの深さを増やすために双方向LSTMニューラルネットワーク層の各ペアの間にそれぞれの1×1畳み込み層をさらに含む。たとえば、NiNサブネットワーク110は、双方向LSTM層220と双方向LSTM層224との間の1×1畳み込み層222および双方向LSTM層224と双方向LSTM層228との間の1×1畳み込み層226を含む。各1×1畳み込み層の後に、それぞれのバッチ正規化層が続く。1×1畳み込み層の使用は、そのような深いネットワークを構築するために他の方法では必要になるであろうパラメータの総数を減らしながらエンコーダニューラルネットワーク104の深さと表現力とを高める。
【００３７】
NiNサブネットワーク110は、時間ステップの第2のセット内の各時間短縮時間ステップについて、時間短縮時間ステップで畳み込みLSTMサブネットワーク108によって生成される畳み込みLSTM出力をまとめて処理し、時間短縮時間ステップに対する符号化された表現を生成するように構成される。
【００３８】
上で説明されているエンコーダニューラルネットワーク104は、エンコーダニューラルネットワークのパラメータの数を管理可能な範囲内に抑えながら、より大きい非線形性およびより高い表現力を使用して処理の深さを加え、実際に、パラメータ1つ当たりの計算量を増やす。すなわち、エンコーダニューラルネットワークは、処理の深さを効果的な方式で加え、その結果、パフォーマンスが改善されるとともに、妥当な計算フットプリントを維持する、すなわち、音声認識ニューラルネットワークを記憶するか、またはニューラルネットワークを使用して入力音声を認識するのに過剰な処理リソースおよびメモリを必要としない。これらの利点は、たとえば、エンコーダニューラルネットワークが、ネットワーク104が極小値においてトラップされるときに生じ得る最適化または汎化の低下を被ることなく構築され、効率よく訓練されることを可能にする、スキップ接続とバッチ正規化との組合せを使用することによって実現される。それに加えて、スペクトル構造を取り込み、共有重みフィルタをもたらす畳み込みを含む、畳み込みLSTMニューラルネットワーク層を使用することで、エンコーダニューラルネットワークが構造表現を維持し、汎化を改善するためにパラメータの数を減らしながら計算能力を増すことを可能にする。
【００３９】
図3は、音響シーケンスによって表される発話の転写を生成するための例示的なプロセス300の流れ図である。便宜上、プロセス300は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適切にプログラムされた、音声認識システム(たとえば、図1の音声認識システム100)が、プロセス300を実行することができる。
【００４０】
システムは、入力音響シーケンスを受け取る(ステップ302)。音響シーケンスは、発話を表し、時間ステップの第1のセットの各々に対する音声データのそれぞれのフレームを含む。データの各フレームは、対応する時間ステップにおける発話の音響特徴表現である。
【００４１】
システムは、入力音響シーケンスを処理し、入力音響シーケンスに対する符号化されたシーケンスを生成する(ステップ304)。符号化されたシーケンスは、時間ステップの第2のセットに対応する音声データの複数のフレームのシーケンスである。いくつかの実装形態において、符号化されたシーケンスは、入力音響シーケンスの高水準表現である、すなわち、符号化されたシーケンス内の時間ステップの第2のセットは、入力音響シーケンス内の時間ステップの第1のセットより小さい。システムは、時間短縮サブネットワーク、畳み込みLSTMサブネットワーク、およびネットワークインネットワーク・サブネットワークを含むエンコーダニューラルネットワーク、たとえば、図1および図2のエンコーダニューラルネットワークを使用して入力音響シーケンスを処理する。
【００４２】
特に、システムは、時間短縮サブネットワークを使用して入力音響シーケンスを処理し、時間ステップの第2のセットの各時間短縮時間ステップにおけるそれぞれの短縮された表現を含む短縮された表現のシーケンスを生成する。各時間短縮時間ステップについて、システムは、畳み込みLSTMサブネットワークを使用して、その時間短縮時間ステップにおいて短縮された表現を処理して、その時間ステップに対する畳み込みLSTM出力を生成する。次いで、システムは、各時間短縮時間ステップについて、その時間短縮時間ステップにおいて畳み込みLSTM出力を処理して、その時間短縮時間ステップに対する符号化された表現を生成する。符号化されたシーケンスは、時間ステップの第2のセット内のすべての時間短縮時間ステップに対してシステムによって生成された符号化された表現を含む。
【００４３】
システムは、符号化されたシーケンスを処理し、出力シーケンス順序における各位置について、部分文字列のセット内の各部分文字列に対するそれぞれの部分文字列スコアを含む部分文字列スコアのセットを生成する(ステップ306)。いくつかの実装形態において、部分文字列は、1つまたは複数の文字を含み得る。たとえば、システムは、注意ベースの文字デコーダ、たとえば、図1のデコーダニューラルネットワーク114を使用して入力音響シーケンスに対して符号化されたシーケンスを処理し、出力シーケンス順序における各位置について、部分文字列のセット内の各部分文字列に対するそれぞれの部分文字列スコアを含む部分文字列スコアのセットを生成するものとしてよい。部分文字列のセットは、1つまたは複数の自然言語を書くために使用され得る英字のセット、たとえば、英語のアルファベットおよびアラビア数字{a, b, c,…, z, 0,…, 9}を含み得る。部分文字列のセットは、また、空白文字、カンマ文字、ピリオド文字、アポストロフィ文字、および未知の文字も含み得る。いくつかの場合において、部分文字列のセットは、ワードピース、すなわち、部分単語、単語、またはその両方を含み得る。各部分文字列に対するそれぞれの部分文字列スコアは、部分文字列が入力音響シーケンスによって表される発話の正しい転写を表す確率を定義する。
【００４４】
システムは、発話の転写を表す部分文字列スコアから部分文字列のシーケンスを生成する(ステップ308)。デコーダニューラルネットワークによって生成されるスコアを使用して発話の転写を生成するための例示的な技術は、W. Chan、N. Jaitly、Q. Le、およびO. Vinyals、「Listen, Attend and Spell: A Neural Network for Large Vocabulary Conversational Speech Recognition」、International Conference on Acoustics, Speech, and Signal Processing, 2016においてより詳しく説明されている。
【００４５】
本明細書では、システムおよびコンピュータプログラムコンポーネントと関連して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムについて、特定の動作またはアクションを実行するように構成されることは、システムがその上に動作時にそれらの動作またはアクションをシステムに実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のコンピュータプログラムについて、特定の動作またはアクションを実行するように構成されることは1つまたは複数のプログラムがデータ処理装置によって実行されたときにそれらの動作またはアクションを装置に実行させる命令を含むことを意味する。
【００４６】
主題および本明細書で説明されている機能する動作の実施形態は、本明細書で開示されている構造およびその構造的等価物を含む、デジタル電子回路で、明白に具現化されたコンピュータソフトウェアもしくはファームウェアで、コンピュータハードウェアで、またはこれらのうちの1つまたは複数のものの組合せで実装することができる。本明細書で説明されている主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するために有形な非一時的記憶媒体上に符号化されたコンピュータプログラム命令からなる1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は、機械可読記憶装置デバイス、機械可読記憶装置基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せとすることができる。代替的に、またはそれに加えて、プログラム命令は、データ処理装置による実行のため好適な受信機装置に送信する情報が符号化されるように生成される、人工的に生成された伝搬信号、たとえば、機械で生成された電気、光、または電磁信号上で符号化され得る。
【００４７】
「データ処理装置」という用語はデータ処理ハードウェアを指し、たとえばプログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを備える、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)でもあり得るか、またはそれらをさらに含み得る。装置は、任意選択で、ハードウェアに加えて、コンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つまたは複数のものの組合せを構成するコードを含むこともできる。
【００４８】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも称されるか、または記述され得る、コンピュータプログラムは、コンパイル言語もしくはインタプリタ言語または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で書かれることが可能であり、スタンドアロンプログラムとして、またはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境において使用するのに適している他のユニットを含む、任意の形態で展開されることが可能である。プログラムは、ファイルシステム内のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶される1つまたは複数のスクリプトを保持するファイルの一部に、注目しているプログラム専用の単一ファイルに、または複数の協調ファイル、たとえば、1つまたは複数のモジュール、副プログラム、またはコードの一部分を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されるか、または複数のサイトにまたがって分散され、データ通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるように展開されることが可能である。
【００４９】
本明細書で説明されているプロセスおよび論理の流れは、入力データを操作し、出力を生成することによって機能を実行するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行され得る。プロセッサおよび論理の流れは、また、専用論理回路、たとえば、FPGAもしくはASICによって、または専用論理回路と1つもしくは複数のプログラムされたコンピュータとの組合せによって実行され得る。
【００５０】
コンピュータプログラムの実行に適しているコンピュータは、汎用マイクロプロセッサ、専用マイクロプロセッサ、もしくはその両方、または任意の他の種類の中央演算処理装置に基づくものとしてよい。一般的に、中央演算処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を遂行または実行するための中央演算処理装置ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用論理回路によって補助されるか、または専用論理回路に組み込まれ得る。一般的に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶装置デバイス、たとえば、磁気ディスク、磁気光ディスク、または光ディスクも備えるか、あるいはこれらからデータを受け取るか、もしくはこれらにデータを転送するか、またはその両方を行うように動作可能なように結合される。しかしながら、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、他のデバイス、たとえば、2、3例を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオもしくはビデオプレーヤー、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶装置デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれ得る。
【００５１】
コンピュータプログラムの命令およびデータを記憶するのに適したコンピュータ可読媒体は、たとえば、半導体メモリデバイス(たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(たとえば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
【００５２】
ユーザとの対話を実現するために、本明細書で説明されている主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)ならびにユーザがコンピュータに入力を送るために使用できるキーボードおよびポインティングデバイス(たとえば、マウスもしくはトラックボール)を有するコンピュータ上で実装されることが可能である。他の種類のデバイスも、ユーザとの対話のために使用されてよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形態で受信され得る。それに加えて、コンピュータは、ドキュメントをユーザによって使用されるデバイスに送り、そのデバイスからドキュメントを受け取ることによって、たとえば、ウェブブラウザから受け取った要求に応答して、ウェブページをユーザのデバイス上のウェブブラウザに送信することによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージを個人用デバイス、たとえば、メッセージングアプリケーションが稼動しているスマートフォンに送信し、それに応えてユーザから応答メッセージを受信することによってユーザと対話することができる。
【００５３】
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習の訓練または生成、すなわち、推論、作業負荷の共通の、および計算集約的な部分を処理するための専用ハードウェアアクセラレータユニットも備え得る。
【００５４】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装され、展開され得る。
【００５５】
本明細書で説明されている主題の実施形態は、バックエンドコンポーネントを、たとえば、データサーバとして備えるか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを備えるか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明されている主題の実装形態と対話するために使用することができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを備えるコンピューティングシステムで、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せで実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワーク、によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえば、インターネットを含む。
【００５６】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じて対話を行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。いくつかの実装形態において、サーバはデータ、たとえば、HTMLページをユーザデバイスに、たとえば、クライアントとして働く、デバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受け取ることを目的して、伝送する。ユーザデバイスで生成されるデータ、たとえば、ユーザインタラクションの結果は、サーバ側でデバイスから受信され得る。
【００５７】
本明細書は、多くの実装固有の詳細事項を含んでいるが、これらは、発明の範囲または請求内容の範囲に対する制限として解釈すべきではなく、むしろ特定の発明の特定の実施形態に特有のものであると思われる特徴の説明として解釈すべきである。別の実施形態の文脈において本明細書で説明されているいくつかの特徴も、単一の実施形態において組合せで実装され得る。逆に、単一の実施形態の文脈において説明されている様々な特徴も、複数の実施形態で別々に、または任意の好適な部分的組合せで、実装され得る。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象としてもよい。
【００５８】
同様に、動作は特定の順序で図面に示され、特許請求の範囲において引用されているが、このことは、望ましい結果を達成するために、そのような動作が示される特定の順序でもしくは順番に実行される必要があるものとして、またはすべての図示の動作が実行される必要があるものとして理解されるべきではない。ある状況では、マルチタスキングおよび並列処理が有利である場合がある。さらに、上で説明されている実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離が必要とされるものと理解されるべきではなく、前述のプログラムコンポーネントおよびシステムが概して単一のソフトウェアプロダクトとして一体化されるかまたは複数のソフトウェアプロダクトとしてパッケージ化されてもよいことを理解されたい。
【００５９】
主題の特定の実施形態が説明されている。他の実施形態は、次の特許請求の範囲内に収まる。たとえば、特許請求の範囲に記載のアクションは、異なる順序で実行することができ、それでも、所望の結果を得ることができる。一例として、添付図面に示されているプロセスは、必ずしも、望ましい結果を達成するために、図示されている特定の順序、または順番を必要としない。いくつかの場合において、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【００６０】
100  音声認識システム
102  入力音響シーケンス
104  エンコーダニューラルネットワーク
106  時間短縮サブネットワーク
108  畳み込み長短期記憶(LSTM)サブネットワーク
110  ネットワークインネットワーク・サブネットワーク
112  符号化されたシーケンス
114  デコーダニューラルネットワーク
116  部分文字列シーケンス
208  第1の時間短縮ブロック
210  第2の時間短縮ブロック
220、224、228  双方向LSTMニューラルネットワーク層
222  1×1畳み込み層
226  1×1畳み込み層
230  深さ連結層
232  時間短縮畳み込み層
234  深さ連結層
236  時間短縮畳み込み層
300  プロセス
【図１】
2019534472.tif 000004
【図２】
2019534472.tif 000005
【図３】
2019534472.tif 000006
【国際調査報告】
2019534472.tif 000007
2019534472.tif 000008