(57)【要約】【課題】入力シーケンスからニューラルネットワーク出力を生成するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置を提供する。【解決手段】本方法のうちの1つは、入力の各々について、入力と入力シーケンス内の入力に先行する入力とを含む現在の入力シーケンスを、複数の拡張畳み込みニューラルネットワーク層を備える畳み込みサブネットワークに提供するステップであって、畳み込みサブネットワークが、複数の入力の各々について、入力に関する現在の入力シーケンスを受信し、入力に関する代替表現を生成するために現在の入力シーケンスを処理するように構成される、ステップと、代替表現を出力サブネットワークに提供するステップであって、出力サブネットワークが、代替表現を受信し、ニューラルネットワーク出力を生成するために代替表現を処理するように構成される、ステップとを含む。【選択図】図１
2020201971.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータによって実装されるニューラルネットワークシステムであって、
前記ニューラルネットワークシステムが、複数の入力を含む入力シーケンスを受信し、かつ前記入力シーケンスからニューラルネットワーク出力を生成するように構成され、
前記ニューラルネットワークシステムが、
複数の拡張畳み込みニューラルネットワーク層を備える畳み込みサブネットワークであって、前記畳み込みサブネットワークが、前記複数の入力の各々について、
前記入力と前記入力シーケンス内の前記入力に先行する前記入力とを含む現在の入力シーケンスを受信し、
前記入力に関する代替表現を生成するために前記現在の入力シーケンスを処理する
ように構成される、畳み込みサブネットワークと、
出力サブネットワークであって、前記出力サブネットワークが、前記入力の前記代替表現を受信し、かつ前記ニューラルネットワーク出力を生成するために前記代替表現を処理する
ように構成される、出力サブネットワークと
を備える、ニューラルネットワークシステム。
【請求項２】
前記ニューラルネットワーク出力が複数のスコアセットを含み、
各スコアセットが、複数の可能な出力の各々に関するそれぞれのスコアを含み、
前記ニューラルネットワークシステムが、
複数の出力を含む出力シーケンスを生成するために、前記スコアセットに従って出力を選択するように構成されるサブシステム
をさらに備える、請求項1に記載のニューラルネットワークシステム。
【請求項３】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの書記素表現である書記素のシーケンスである、請求項2に記載のニューラルネットワークシステム。
【請求項４】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの音素表現である音素のシーケンスである、請求項2に記載のニューラルネットワークシステム。
【請求項５】
前記入力シーケンスが音素または書記素のシーケンスであり、前記出力シーケンスが、前記入力シーケンスを表す第1の自然言語における単語のシーケンスである、請求項2に記載のニューラルネットワークシステム。
【請求項６】
前記出力サブネットワークが、
前記代替表現のサブセットを受信し、
前記サブセットに関する平均プーリングされた表現を生成するために前記代替表現のサブセットに対して平均プーリングを実行する
ように構成される平均プーリング層と、
前記代替表現の各サブセットについて、前記サブセットに関する前記平均プーリングされた表現を受信し、かつ前記サブセットに対応する前記出力シーケンス内の位置に関するスコアセットを生成するように構成される1つまたは複数の追加のニューラルネットワーク層と
を備える、請求項2から5のいずれか一項に記載のニューラルネットワークシステム。
【請求項７】
前記拡張畳み込みニューラルネットワーク層が因果的畳み込みニューラルネットワーク層である、請求項1から6のいずれか一項に記載のニューラルネットワークシステム。
【請求項８】
前記拡張畳み込みニューラルネットワーク層が拡張畳み込みニューラルネットワーク層の複数のブロックを含み、各ブロックが、拡張が増加する複数の拡張畳み込みニューラルネットワーク層を備える、請求項1から7のいずれか一項に記載のニューラルネットワークシステム。
【請求項９】
前記拡張畳み込みニューラルネットワーク層のうちの1つまたは複数がゲーテッド活性化ユニットを有する、請求項1から8のいずれか一項に記載のニューラルネットワークシステム。
【請求項１０】
前記畳み込みサブネットワークが残差接続を含む、請求項1から9のいずれか一項に記載のニューラルネットワークシステム。
【請求項１１】
前記畳み込みサブネットワークがスキップ接続を含む、請求項1から10のいずれか一項に記載のニューラルネットワークシステム。
【請求項１２】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から11のいずれか一項に記載のそれぞれのニューラルネットワークシステムを実装させる命令を用いて符号化された、1つまたは複数のコンピュータ記憶媒体。
【請求項１３】
複数の入力を含む入力シーケンスからニューラルネットワーク出力を生成する方法であって、
前記入力の各々について、前記入力と前記入力シーケンス内の前記入力に先行する前記入力とを含む現在の入力シーケンスを複数の拡張畳み込みニューラルネットワーク層を備える畳み込みサブネットワークに提供するステップであって、前記畳み込みサブネットワークが、前記複数の入力の各々について、
前記入力に関する前記現在の入力シーケンスを受信し、
前記入力に関する代替表現を生成するために前記現在の入力シーケンスを処理する
ように構成される、ステップと、
前記代替表現を出力サブネットワークに提供するステップであって、前記出力サブネットワークが、前記代替表現を受信し、かつ前記ニューラルネットワーク出力を生成するために前記代替表現を処理するように構成される、ステップと
を含む、方法。
【請求項１４】
前記ニューラルネットワーク出力が複数のスコアセットを含み、
各スコアセットが、複数の可能な出力の各々に関するそれぞれのスコアを含み、
前記方法が、
複数の出力を含む出力シーケンスを生成するために、前記スコアセットに従って出力を選択するステップ
をさらに含む、請求項13に記載の方法。
【請求項１５】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの書記素表現である書記素のシーケンスである、請求項14に記載の方法。
【請求項１６】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの音素表現である音素のシーケンスである、請求項14に記載の方法。
【請求項１７】
前記入力シーケンスが音素または書記素のシーケンスであり、前記出力シーケンスが、前記入力シーケンスを表す第1の自然言語における単語のシーケンスである、請求項14に記載の方法。
【請求項１８】
前記出力サブネットワークが、
前記代替表現のサブセットを受信し、
前記サブセットに関する平均プーリングされた表現を生成するために前記代替表現のサブセットに対して平均プーリングを実行する
ように構成される平均プーリング層と、
前記代替表現の各サブセットについて、前記サブセットに関する前記平均プーリングされた表現を受信し、かつ前記サブセットに対応する位置における前記出力シーケンス内の出力を規定するサブセット出力を生成するように構成される1つまたは複数の追加のニューラルネットワーク層と
を備える、請求項14から17のいずれか一項に記載の方法。
【請求項１９】
前記拡張畳み込みニューラルネットワーク層が因果的畳み込みニューラルネットワーク層である、請求項13から18のいずれか一項に記載の方法。
【請求項２０】
前記拡張畳み込みニューラルネットワーク層が拡張畳み込みニューラルネットワーク層の複数のブロックを含み、各ブロックが、拡張が増加する複数の拡張畳み込みニューラルネットワーク層を備える、請求項13から19のいずれか一項に記載の方法。
【請求項２１】
前記拡張畳み込みニューラルネットワーク層のうちの1つまたは複数がゲーテッド活性化ユニットを有する、請求項13から20のいずれか一項に記載の方法。
【請求項２２】
前記畳み込みサブネットワークが残差接続を含む、請求項13から21のいずれか一項に記載の方法。
【請求項２３】
前記畳み込みサブネットワークがスキップ接続を含む、請求項13から22のいずれか一項に記載の方法。
【請求項２４】
前記入力シーケンスが第1自然言語における単語のシーケンスであり、前記出力シーケンスが、前記入力シーケンスの第2の自然言語への翻訳である前記第2の自然言語における単語のシーケンスである、請求項14または18から23のいずれか一項に記載の方法。
【請求項２５】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項13から24のいずれか一項に記載のそれぞれの方法の動作を実行させる命令を用いて符号化された、1つまたは複数のコンピュータ記憶媒体。
【請求項２６】
前記入力シーケンスが第1自然言語における単語のシーケンスであり、前記出力シーケンスが、前記入力シーケンスの第2の自然言語への翻訳である前記第2の自然言語における単語のシーケンスである、請求項2または6から11のいずれか一項に記載のニューラルネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ニューラルネットワークを使用してシーケンスを処理することに関する。
【背景技術】
【０００２】
ニューラルネットワークは、受信した情報に対する出力を予測するために、非線形ユニットの1つまたは複数の層を用いる機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在の値に従って、受信した入力から出力を生成する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本明細書は、1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムが、どのようにして複数の入力を含むシーケンスを処理することによってニューラルネットワーク出力を生成することができるかを説明する。
【課題を解決するための手段】
【０００４】
1つの革新的な態様では、1つまたは複数のコンピュータによって実装されるニューラルネットワークシステムは、複数の入力を含む入力シーケンスを受信し、入力シーケンスからニューラルネットワーク出力を生成するように構成される。ニューラルネットワークシステムは、複数の拡張畳み込みニューラルネットワーク層と出力サブネットワークとを備える畳み込みサブネットワークを備えてもよい。畳み込みサブネットワークは、複数の入力の各々について、入力と入力シーケンス内の入力に先行する入力とを含む現在の入力シーケンスを受信し、入力についての代替表現を生成するために現在の入力シーケンスを処理するように構成されてもよい。したがって、この代替表現は、現在の入力シーケンスが、たとえば現在のシーケンスの特徴を符号化して畳み込みサブネットワークによって符号化されている数値表現、すなわち数値の順序付けられた集合を含んでもよい。出力サブネットワークは、入力の代替表現を受信し、ニューラルネットワーク出力を生成するために代替表現を処理するように構成されてもよい。
【０００５】
そのようなシステムの多くの利点のうちのいくつかについては後に説明する。
【０００６】
ニューラルネットワーク出力は、複数のスコアセットを含むことができ、各スコアセットは、複数の可能な出力の各々に関するそれぞれのスコアを含む。システムは、複数の出力を含む出力シーケンスを生成するためにスコアセットに従って出力を選択することができる。
【０００７】
いくつかの実装形態では、畳み込みニューラルネットワーク層は、拡張因果的畳み込みニューラルネットワーク層である。以下でより詳細に説明するように、拡張畳み込みニューラルネットワーク層は、シーケンス内の、すなわち前の層からの出力によって規定されるような非隣接値に畳み込みを適用する。これは、入力(時間)分解能を保ち、計算効率を維持しながら、畳み込みサブネットワークの受容野を桁違いに増加させることができる。
【０００８】
いくつかの実装形態では、畳み込みニューラルネットワーク層は、拡張畳み込みニューラルネットワーク層の複数の積層されたブロックを含む。各ブロックは、拡張が増加する複数の拡張畳み込みニューラルネットワーク層を含んでもよい。たとえば、拡張は、各ブロック内の限界まで各連続層についてn倍増加されてもよい。これは、受容野のサイズをさらに増加させることができる。
【０００９】
いくつかの実装形態では、畳み込みニューラルネットワーク層のうちの1つまたは複数は、ゲーテッド活性化ユニットを有してもよい。たとえば、層によって実施される畳み込みに続く正規化線形ユニットまたは他のユニットが、ゲーテッド活性化ユニットによって置き換えられてもよい。ゲーテッド活性化ユニットでは、出力は、2つの(因果的)畳み込み、主畳み込みおよびゲート畳み込みの組み合わせであってもよい。畳み込みは、各々前の層からの同じ出力のうちのいくつかまたはすべてに適用されてもよい。組み合わせは、ゲート畳み込みに適用される非線形活性化関数、たとえばシグモイドのような(0,1)範囲を有する活性化を含んでもよい。これは、次いで主畳み込みからの値を乗算してもよく、必ずしも必要ではないが、非線形活性化関数が主畳み込みに適用されてもよい。そのような手法は、データ内により複雑な構造を取り込む際に補助してもよい。
【００１０】
畳み込みサブネットワークは、残差接続、たとえば畳み込み層の入力から、これを層の中間出力と合計するための加算器への接続を含んでもよい。これは、ネットワークが層をスキップまたは部分的にスキップするようにトレーニングされることを効果的に可能にし、したがって収束を高速化し、より深いモデルのトレーニングを容易にする。畳み込みサブネットワークは、追加的または代替的に、たとえば畳み込みサブネットワークの1つまたは複数の中間層の各々から出力層に提供される代替表現を直接生成する1つまたは複数の動作へのスキップ接続を含んでもよい。
【００１１】
いくつかの実装形態、たとえばシステムが音声認識のために使用される実施形態では、出力サブネットワークは、代替表現のサブセットを受信し、サブセットに関する平均プーリングされた表現を生成するために代替表現のサブセットに対して平均プーリングを実行するように構成される平均プーリング層と、代替表現の各サブセットについて、サブセットに関する平均プーリングされた表現を受信し、サブセットに対応する出力シーケンス内の位置に関するスコアセットを生成するように構成される1つまたは複数の追加のニューラルネットワーク層とを備える。
【００１２】
いくつかの実装形態では、入力のための代替表現を生成するために畳み込みサブネットワークを使用して現在のシーケンスを処理することは、前の時間ステップについて計算された値を再使用する。再使用される値は、入力データまたはそれから導出されたデータへの畳み込みフィルタの適用から導出された値を含んでもよい。再使用された値は、ある時間ステップにおいて記憶され、同じフィルタが同じ(または同じもののいくつか)入力データまたはそれから導出されたデータに適用されるとき、より後の時間ステップにおいて検索されてもよい。記憶された値を再計算する必要がないので、これはシステムを計算上より効果的に、したがってより高速にすることができる。
【００１３】
本明細書に記載の主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実施されることが可能である。本明細書に記載のニューラルネットワークシステムは、様々なシーケンス処理タスク、たとえば音声認識に対して、最新技術をしのぐ結果を達成することができる。リカレント型ニューラルネットワーク層の代わりに、畳み込みニューラルネットワーク層、たとえば拡張畳み込み層を使用することによって、ニューラルネットワークシステムは、リカレント型ニューラルネットワーク層を含む他のシステムと同じくらい多くの計算リソースを必要とすることなく、これらの結果を達成することができ、短縮されたトレーニング時間をもたらす。リカレント型ニューラルネットワーク層の代わりに、たとえば長短期記憶(LSTM)層の代わりに、畳み込みニューラルネットワーク層、たとえば因果的畳み込み層を使用することによって、ニューラルネットワークシステムは、リカレント型ニューラルネットワーク層を含む他のシステムと同じくらい多くの計算リソースを必要とせずに、これらの有利な結果を達成することができ、短縮されたトレーニング時間をもたらす。リカレント層ではなく畳み込み層を用いることによって、ニューラルネットワークシステムの計算は、たとえばネットワークの層が各時間ステップについて展開される必要がないので、より容易にバッチ処理され、より容易に並列化されることが可能であり、システムの計算をより効率的に実行することを可能にする。加えて、拡張因果的畳み込み層を用いることによって、畳み込みサブネットワークの受容野と、したがってシステムによって生成される出力シーケンスの品質とは、出力シーケンスを生成する計算コストを大きく増加させることなく改善されることが可能である。さらに、入力と出力との間のシステム内の順方向信号および逆方向信号によって通過される経路は、入力と出力との間のシーケンス距離とは無関係であり、それは、良好な信号伝播および長期依存性学習を可能にし、それによって出力品質を改善する。
【００１４】
本明細書に記載の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の説明において記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】例示的なニューラルネットワークシステムを示す図である。
【図２】拡張因果的畳み込み層の例示的なブロックの視覚化を示す図である。
【図３】畳み込みサブネットワークに関する例示的なアーキテクチャを示す図である。
【図４】現在の入力シーケンスを処理するための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【００１６】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【００１７】
図1は、例示的なニューラルネットワークシステム100を示す。ニューラルネットワークシステム100は、以下で説明するシステム、構成要素、および技法が実装されることが可能な、1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
【００１８】
ニューラルネットワークシステム100は、シーケンス処理タスクを実行する、すなわち入力シーケンス102から出力シーケンス152を生成するシステムである。システム100は、様々なシーケンス処理タスクのうちのいずれかを実行するように構成することができる。
【００１９】
例えば、システム100は、音声認識タスクを実行するように構成することができ、ここで入力シーケンスはオーディオデータ、たとえば生のオーディオデータのシーケンスであり、システム100は、入力シーケンスの音素表現である音素のシーケンス、または入力シーケンスの書記素表現である書記素のシーケンスを生成する。
【００２０】
別の例として、システム100は、言語モデル化タスクを実行するように構成することができ、ここで入力シーケンスは音素または書記素のシーケンスであり、システム100によって生成される出力シーケンスは、入力シーケンスを表す第1の自然言語における単語のシーケンスである。
【００２１】
別の例として、システム100は、機械翻訳タスクを実行するように構成することができ、ここで入力シーケンスは第1の自然言語における単語のシーケンスであり、システム100によって生成される出力シーケンスは、第1のシーケンスの第2の自然言語への翻訳である第2の自然言語における単語のシーケンスである。
【００２２】
別の例として、システム100は、自然言語処理タスク、たとえば文の要約、文の構文解析、品詞タグ付けなどを実行するように構成することができ、ここで入力シーケンスは第1の自然言語における単語のシーケンスであり、システム100によって生成される出力シーケンスは、自然言語処理タスクによって必要とされる出力の種類に従って入力シーケンス内の単語を分類するシーケンスである。
【００２３】
別の例として、システム100は、圧縮タスクを実行するように構成することができ、ここで入力シーケンスは、入力サンプル、たとえばオーディオデータまたは画像データから引き出されたデータのシーケンスであり、出力シーケンスは、圧縮または符号化されたサンプルである。
【００２４】
別の例として、システム100は、医療分析タスクを実行するように構成することができ、入力シーケンスは、特定の患者に関する健康データのシーケンスであり、出力シーケンスは、患者の健康を特徴付ける、または患者の将来の健康を予測するデータを含む。
【００２５】
より具体的には、入力シーケンス102は、複数の入力時間ステップの各々におけるそれぞれの入力を含み、ニューラルネットワークシステム100は、時間ステップのうちのいくつかまたはすべてにおいて現在の入力シーケンスを処理することによって出力シーケンス152を生成する。所与の時間ステップにおける現在の入力シーケンスは、所与の時間ステップにおける入力と、入力シーケンス内の入力に先行する入力とを含む。たとえば、入力シーケンス102内の時間ステップ140について、現在の入力シーケンス142は、時間ステップ140における入力と、入力シーケンス102内の時間ステップ140の前の時間ステップにおける入力とを含む。
【００２６】
いくつかの実装形態では、ニューラルネットワークシステム100は、入力シーケンス内の各時間ステップに関するそれぞれの現在の入力シーケンスを処理する。いくつかの他の実装形態では、ニューラルネットワークシステム100は、入力シーケンス内の1つまたは複数の初期入力について現在の入力シーケンスを処理せず、すなわちシステム100は処理を開始する前に特定の数の入力が見つかるまで待機する。
【００２７】
ニューラルネットワークシステム100は、畳み込みサブネットワーク110と出力サブネットワーク120とを含む。
【００２８】
出力シーケンスの生成中の所与の時間ステップにおいて、畳み込みサブネットワーク110は、現在の入力シーケンス、すなわち所与の時間ステップにおける入力と所与の時間ステップの前の入力とを含むシーケンスを受信し、時間ステップに関する代替表現を生成するために現在の入力シーケンスを処理するように構成される。たとえば、入力シーケンス102内の時間ステップ140について、畳み込みサブネットワーク110は、現在の入力シーケンス142を受信し、代替表現144を生成するために現在の入力シーケンス142を処理することができる。
【００２９】
出力サブネットワーク120は、時間ステップの各々について代替表現を受信し、代替表現から、出力シーケンス内の各位置に関する可能な出力にわたるそれぞれのスコア分布を生成するように構成される。たとえば、出力サブネットワークは、出力シーケンス152内の特定の位置に関するスコア分布146を生成することができる。各スコア分布は、複数の可能な出力の各々に関するそれぞれのスコアを含み、出力シーケンス152の生成中に出力サブネットワーク120によって生成されるスコア分布は、まとめて入力シーケンス102に対するニューラルネットワーク出力と呼ばれる。
【００３０】
具体的には、ニューラルネットワークシステム100が音素のシーケンスを生成するように構成されるとき、各スコア分布は、音素の語彙内の各音素に関するそれぞれのスコアを含む。ニューラルネットワークシステム100が書記素のシーケンスを生成するように構成されるとき、スコア分布は、書記素の語彙内の各語彙に関するそれぞれのスコアを含む。ニューラルネットワークシステム100が単語のシーケンスを生成するように構成されるとき、スコア分布は、単語の語彙内の各単語に関するそれぞれのスコアを含む。いくつかの実装形態では、対応する語彙、すなわち書記素、音素、または単語の語彙は、1つまたは複数の特別な出力、たとえば出力シーケンス内の次の出力がまだ生成される準備ができていないことを示す空白の出力を含む。
【００３１】
出力サブネットワーク120が出力シーケンス内の所与の位置についてのスコア分布を生成すると、ニューラルネットワークシステム100は、スコア分布に従って複数の可能な出力からその位置における出力シーケンス内に含まれるべき出力を選択することができる。たとえば、ニューラルネットワークシステム100は、スコア分布からサンプリングすることによって、すなわちスコア分布内のスコアに従って可能な出力からサンプリングすることによって出力を選択することができ、またはスコア分布に従って最高スコアを有する可能な出力を選択することができる。
【００３２】
畳み込みサブネットワーク110は、一般に複数の畳み込みニューラルネットワーク層を含む。より具体的には、畳み込みニューラルネットワーク層は、複数の因果的畳み込み層を含む。
【００３３】
因果的畳み込み層は、各時間ステップについて、その時間ステップにおける、および入力シーケンス内のその時間ステップよりも前の時間ステップにおける入力のみに依存する、すなわち入力シーケンス内のその時間ステップの後の任意の時間ステップにおけるどの入力にも依存しない出力を生成することによって、複数の時間ステップの各々におけるそれぞれの入力を有する入力シーケンスに作用する畳み込み層である。場合によっては、因果的畳み込み層は、通常の畳み込みを適用し、次いで畳み込み層に関する活性化関数を適用する前に、通常の畳み込みの各出力を少数の時間ステップだけシフトすることによって、すなわち各出力を前方に(フィルタ長-1)時間ステップだけシフトすることによって実装され、ここで「フィルタ長」は、適用されている畳み込みのフィルタの長さである。
【００３４】
過剰な数の層または過剰な長さのフィルタを必要とすることなく因果的畳み込み層の受容野を増大するために、畳み込み層のうちのいくつかまたはすべては、拡張因果的畳み込み層とすることができる。拡張畳み込みは、拡張畳み込みに関する拡張値によって規定される特定のステップで入力値をスキップすることによって、フィルタがその長さよりも大きい領域にわたって適用される畳み込みである。拡張因果的畳み込みを組み込むことによって、畳み込みニューラルネットワーク層は、通常の畳み込みよりも粗いスケールでそれらの入力に対して効果的に動作する。
【００３５】
いくつかの実装形態では、畳み込みニューラルネットワーク層は、拡張因果的畳み込み層の複数のブロックのスタックを含む。スタック内の各ブロックは、拡張が増大する複数の拡張畳み込みニューラルネットワーク層を含むことができる。たとえば、ブロック内で、拡張は、最初の拡張から開始して各層について2倍になることができ、次いで次のブロック内の第1の層について最初の拡張に戻ることができる。例示的な例として、ブロック内の拡張畳み込み層の拡張は、順番に、1、2、4、...、512とすることができる。拡張畳み込み層のブロックの単純化した例について、図2を参照して以下に説明する。
【００３６】
いくつかの実装形態では、畳み込みサブネットワークは、残差接続、スキップ接続、またはその両方を含む。残差接続とスキップ接続の両方を含む畳み込みサブネットワークの例示的なアーキテクチャについて、図3を参照して以下に説明する。
【００３７】
一般に、出力サブネットワーク120は、システム100が畳み込みサブネットワーク110によって生成された代替表現を使用して生成するように構成されるネットワーク出力の種類を生成するのに適した任意のニューラルネットワークベースのサブネットワーク、たとえばリカレント型ニューラルネットワークベースのサブネットワーク、完全接続サブネットワーク、単一出力層などとすることができる。
【００３８】
いくつかの特定の実装形態では、たとえばシステム100が音声認識を実行するように構成される実装形態では、出力サブネットワーク120は、代替表現のサブセット、たとえば入力シーケンス内の指定された数の時間ステップに関する代替表現を受信し、代替表現を粗いフレームに集約する代替表現に関する平均プーリングされた表現を生成するために、代替表現に対して平均プーリングを実行するように構成される。これらの実装形態では、出力サブネットワーク120は、平均プーリングされた表現を受信し、より粗いフレームに対応する位置における出力シーケンス内の出力に関するスコア分布を生成するように構成される1つまたは複数の追加の層、たとえばソフトマックス出力層が続く1つまたは複数の非因果的畳み込み層も含む。すなわち、出力シーケンス内の各出力位置は、畳み込みサブネットワーク110によって生成された代替表現の異なるサブセットに対応する。
【００３９】
図2は、拡張因果的畳み込み層の例示的なブロックの視覚化200を示す。具体的には、例示的なブロックは、拡張1を有する拡張因果的畳み込み層204と、拡張2を有する拡張因果的畳み込み層206と、拡張4を有する拡張因果的畳み込み層208と、拡張8を有する拡張因果的畳み込み層210とを含む。
【００４０】
視覚化200では、拡張因果的畳み込み層のブロックは、出力シーケンスを生成するために現在の入力シーケンス202に対して作用している。具体的には、視覚化200は、ブロックがどのようにして現在の入力シーケンス202および出力シーケンスにおける現在最後の時間ステップである時間ステップにおける出力である出力212を生成するかを太い矢印を使用して視覚化する。
【００４１】
視覚化200からわかるように、ブロック内の各層は、因果的畳み込み層であるので、出力212は、ブロック内の層によって作用される様々なシーケンス内の最後の現在の時間ステップまたは最後の現在の時間ステップの前の時間ステップにおける出力のみに依存する。
【００４２】
加えて、視覚化200からわかるように、ブロック内の層は拡張が増加する順に配置され、ブロック内の第1の層、すなわち拡張因果的畳み込み層204は拡張1を有し、ブロック内の最後の層、すなわち拡張因果的畳み込み層204は拡張8を有する。具体的には、視覚化200において太い矢印によって示されるように、拡張因果的畳み込み層204は拡張1を有するので、層204のフィルタは、現在の入力シーケンス202内の隣接する入力に適用される。拡張因果的畳み込み層206は拡張2を有するので、層206のフィルタは、層204によって生成された出力シーケンス内の1つの出力によって分離された出力に適用される。拡張因果的畳み込み層208は拡張4を有するので、層208のフィルタは、層206によって生成された出力シーケンス内の3つの出力によって分離された出力に適用される。拡張因果的畳み込み層210は拡張8を有するので、層210のフィルタは、層208によって生成された出力シーケンス内の7つの出力によって分離された出力に適用される。
【００４３】
図3は、図1の畳み込みサブネットワーク110に関する例示的なアーキテクチャ300を示す。上記で説明したように、例示的なアーキテクチャ300では、畳み込みサブネットワーク内にある拡張因果的畳み込み層は、残差接続とスキップ接続とを有する。
【００４４】
具体的には、アーキテクチャ300では、畳み込みサブネットワーク110は、現在の入力シーケンス142を処理する因果的畳み込み層302を含む。
【００４５】
畳み込みサブネットワーク110は、次いで拡張因果的畳み込み層のスタックを通して因果的畳み込み層302の出力を処理する。
【００４６】
スタック内の各拡張因果的畳み込み層304は、拡張因果的畳み込み層304への入力306に拡張因果的畳み込み層308を適用する。上記で説明したように、いくつかの実装形態では、スタック内の拡張因果的畳み込み層はブロック内に配置され、各層によって適用される拡張因果的畳み込みの拡張は所与のブロック内で増加し、次いで次のブロック内の第1の層について初期値で再開する。
【００４７】
いくつかの実装形態では、スタック内の拡張因果的畳み込み層は、要素ごとに非線形の、すなわち従来の活性化関数の出力が要素ごとにゲートベクトルを乗算されるゲーテッド活性化ユニットを有する。これらの実装形態のうちのいくつかでは、拡張因果的畳み込み308は、層入力302上に2つの拡張因果的畳み込み、層304に関するメインフィルタと層入力306との間の第1の拡張因果的畳み込みと、層304に関するゲートフィルタと層入力306との間の別の拡張因果的畳み込みとを含む。これらの実装形態のうちの他のものでは、拡張因果的畳み込み308は単一の拡張因果的畳み込みであり、単一の畳み込みの出力の半分は、層304に関するメインフィルタと層入力306との間の拡張因果的畳み込みの出力として提供され、単一の畳み込みの出力の他の半分は、層304に関するゲートフィルタと層入力306との間の拡張因果的畳み込みの出力として提供される。
【００４８】
拡張因果的畳み込み層304は、次いで拡張因果的畳み込みの出力を使用して層304の活性化ユニットの出力を決定する。
【００４９】
具体的には、活性化関数がゲーテッド活性化ユニットであるとき、層304は、図3の例ではtanh関数である要素ごとの非線形関数310をメインフィルタを用いた拡張畳み込みの出力に適用し、図3の例ではシグモイド関数である要素ごとのゲーティング関数をゲートフィルタを用いた拡張畳み込みの出力に適用する。層304は、次いで活性化ユニット出力を生成するために、非線形関数310とゲーティング関数312の出力との間で要素ごとの乗算314を実行する。
【００５０】
より具体的には、要素ごとの非線形性がtanhであり、要素ごとのゲーティング関数がシグモイド関数であるとき、層kに関する活性化ユニットzの出力は、
【数１】
2020201971.tif 000003
を満たし、ここでWf,kは層kに関するメインフィルタであり、xは層入力であり、*は因果的拡張畳み込みを示し、
【数２】
2020201971.tif 000004
は要素ごとの乗算を示し、Wg,kは層kに関するゲートフィルタである。
【００５１】
アーキテクチャ300は、拡張因果的畳み込み層に関するスキップ接続と残差接続とを含むので、層304は、次いで活性化ユニット出力に対して1×1畳み込み316を実行する。
【００５２】
層304は、層のスキップ出力318として1×1畳み込みの出力を提供し、層304の最終出力320を生成するために、残差、すなわち層入力306と、1×1畳み込みの出力とを加算する。
【００５３】
いくつかの実装形態では、層304は、活性化ユニット出力に対して2つの1×1畳み込みを実行し、一方は残差フィルタを用い、他方はスキップフィルタを用いる。これらの実装形態では、層304は、スキップフィルタを用いる畳み込みの出力を層のスキップ出力318として提供し、層304の最終出力320を生成するために、残差と、残差フィルタを用いる1×1畳み込みの出力とを加算する。
【００５４】
畳み込みサブネットワーク110は、次いでスタック内の次の拡張畳み込み層への層入力として最終出力320を提供する。スタック内の最後の層について、次の層がないので、畳み込みサブネットワーク110は、最後の層によって生成された最終出力320を破棄することができ、または最終出力を計算することを控えることができ、すなわちスタック内の最後の層に対する1×1畳み込みおよび残差の加算を実行することを控えることができる。
【００５５】
拡張畳み込み層のスタック内のすべての層304の処理が完了すると、畳み込みサブネットワーク110は、層304によって生成されたスキップ出力を合計し(322)、オプションでは、代替表現144を生成するために合計に対して1つまたは複数の追加演算を適用する。具体的には、図3の例では、畳み込みサブネットワーク110は、代替表現144を生成するために、要素ごとの非線形性324、たとえばReLUを適用する。
【００５６】
上記で説明したように、出力サブネットワーク120は、次いでスコア分布146を生成するために代替表現144を処理する。図3では単一の代替表現からスコア分布146を生成するように示しているが、出力シーケンスが、入力シーケンス内に入力が存在するよりも少ない位置を有する実装形態では、出力サブネットワーク120は、代わりに、たとえば上記で説明したように平均プーリング層を用いることによって、スコア分布146を生成するために複数の代替表現を集約してもよい。
【００５７】
図4は、現在の入力シーケンスを処理するための例示的なプロセス400のフロー図である。便宜上、プロセス400は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されているものとして説明される。たとえば、適切にプログラムされたニューラルネットワークシステム、たとえば図1のニューラルネットワークシステム100は、プロセス400を実行することができる。
【００５８】
システムは、畳み込みサブネットワークへの入力として所与の時間ステップのような現在の入力シーケンスを提供する(ステップ402)。現在の入力シーケンスは、所与の時間ステップにおける入力と、入力シーケンス内の所与の時間ステップの前の時間ステップにおける入力とを含むシーケンスである。上記で説明したように、畳み込みサブネットワークは、畳み込みニューラルネットワーク層、たとえば拡張因果的畳み込み層を含み、所与の時間ステップに関する代替表現を生成するために現在のシーケンスを処理するように構成される。
【００５９】
システムは、出力サブネットワークへの入力として代替表現を提供する(ステップ404)。出力サブネットワークは、出力シーケンス内の位置に対する可能な出力にわたるスコア分布を生成するために、代替表現と、オプションで他の時間ステップからの代替表現とを処理する。
【００６０】
システムは、スコア分布に従って出力シーケンス内に含めるための出力を選択する(ステップ406)。たとえば、システムは、スコア分布に従って可能な出力をサンプリングすることができ、または最高スコアを有する可能な出力を選択することができる。
【００６１】
システムは、ソースシーケンス-ターゲットシーケンス対を含むトレーニングデータに対してトレーニングすることができる。いくつかの実装形態では、トレーニング時、すなわち畳み込み層のフィルタのトレーニングされた値およびシステムの任意の他のパラメータを決定するための畳み込みサブネットワークおよび出力サブネットワークのトレーニング中、システムは、ネットワークがフレームをどれくらい良好に分類するかを測定する1つの損失項を用いてネットワークをトレーニングする。いくつかの他の実装形態では、システムは、2つの損失項、次のサンプルを予測するためのものと、フレームを分類するためのものとを用いてネットワークをトレーニングする。
【００６２】
加えて、システムは、複数のパスにおける入力シーケンスからの値を処理するので、いくつかの実装形態では、畳み込みサブネットワークは、所与の時間ステップに関する代替表現を計算するとき、前の時間ステップについて計算された値を再使用する。具体的には、同じ入力がサブネットワークへの入力として2回以上、すなわち複数の現在の入力シーケンスの一部として提供されるので、畳み込みサブネットワークによって実行される計算のうちのいくらかは、複数の異なる時間ステップにおいて同じになる。これらの実装形態では、時間ステップごとに計算を再計算するのではなく、畳み込みサブネットワークは、計算が実行された1回目に計算の出力値を記憶し、次いで記憶された出力値を後続の時間ステップにおいて再使用することができる。単純な例として、畳み込みサブネットワーク内の第1の畳み込み層は、出力シーケンスの生成の間、同じフィルタを同じ入力に複数回適用することになる。各時間ステップにおいてこれらのフィルタ適用の出力を再計算するのではなく、システムは、前の時間ステップにおいて計算された出力を再使用することができる。
【００６３】
いくつかの実装形態では、受容野を増加させるための別の方法として、より小さい受容野を有する別の(より大きい)スタックを条件付けるために、非常に大きい(長い)受容野を有するが、好ましくは層あたりのユニットがより少ない拡張因果的畳み込み層の1つのスタックが用いられてもよい。より大きいスタックは、たとえば最後に切り取られる、入力シーケンスのより短い部分を処理してもよい。
【００６４】
本明細書は、システムおよびコンピュータプログラム構成要素に関連して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムについて、特定の動作またはアクションを実行するように構成されることは、動作中にシステムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステムがインストールしていることを意味する。1つまたは複数のコンピュータプログラムについて、特定の動作またはアクションを実行するように構成されることは、データ処理装置によって実行されると装置に動作またはアクションを実行させる命令を1つまたは複数のプログラムが含むことを意味する。
【００６５】
本明細書に記載の主題および機能動作の実施形態は、デジタル電子回路において、有形に具体化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書において開示された構造およびそれらの構造的等価物を含むコンピュータハードウェアにおいて、またはそれらのうちの1つもしくは複数の組み合わせにおいて実装することができる。本明細書に記載の主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわちデータ処理装置による実行のため、またはデータ処理装置の動作を制御するための、有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組み合わせとすることができる。代替的にまたは追加的に、プログラム命令は、データ処理装置による命令のために適切なレシーバ装置への送信のための情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば機械生成された電気信号、光信号、または電磁信号上に符号化することができる。
【００６６】
「データ処理装置」という用語は、データ処理ハードウェアを指し、例としてプログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、すべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)とすることができ、またはそれらをさらに含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組み合わせを構成するコードをオプションで含むことができる。
【００６７】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれるまたは記述される場合もあるコンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形態で展開することができる。プログラムは、必要ではないが、ファイルシステム内のファイルに対応してもよい。プログラムは、他のプログラムまたはデータを保持するファイルの一部、たとえばマークアップ言語文書内に記憶された1つまたは複数のスクリプト内に、対象のプログラム専用の単一のファイル内に、または複数の協調ファイル、たとえば1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル内に記憶することができ。コンピュータプログラムは、1つのコンピュータ上に、または1つのサイトにおいてもしくは複数のサイトにわたって配置し、データ通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【００６８】
本明細書では、「データベース」という用語は、データの任意の集合を指すように広く使用され、データは、任意の特定の方法で構成される必要はなく、またはまったく構成される必要はなく、1つまたは複数の場所における記憶デバイス上に記憶することができる。したがって、たとえばインデックスデータベースは、データの複数の集合を含むことができ、その各々は、異なって編成されアクセスされてもよい。
【００６９】
同様に、本明細書では、「エンジン」という用語は、ソフトウェアベースのシステム、サブシステム、または1つもしくは複数の特定の機能を実行するようにプログラムされたプロセスを指すように広く使用される。一般に、エンジンは、1つまたは複数の場所における1つまたは複数のコンピュータ上にインストールされた1つまたは複数のソフトウェアモジュールまたは構成要素として実装されることになる。場合によっては、1つまたは複数のコンピュータが特定のエンジン専用にされることになり、他の場合では、複数のエンジンが同じコンピュータ上にインストールされ、実行されることが可能である。
【００７０】
本明細書に記載のプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実行することができる。プロセスおよび論理フローは、専用論理回路、たとえばFPGAもしくはASICによって、または専用論理回路および1つもしくは複数のプログラムされたコンピュータの組み合わせによって実行することもできる。
【００７１】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはその両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行または遂行するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。中央処理装置およびメモリは、専用論理回路によって補完されるか、またはその中に組み込まれることが可能である。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクも含むか、またはそれらからデータを受信する、もしくはそれらにデータを送信する、もしくはその両方のために動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば少しだけ例を挙げると、モバイル電話、携帯情報端末(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  入力シーケンス
110  畳み込みサブネットワーク
120  出力サブネットワーク
140  時間ステップ
142  現在の入力シーケンス
144  代替表現
146  スコア分布
152  出力シーケンス
200  視覚化
202  現在の入力シーケンス
204  拡張因果的畳み込み層、層
206  拡張因果的畳み込み層、層
208  拡張因果的畳み込み層、層
210  拡張因果的畳み込み層、層
212  出力
300  アーキテクチャ
302  因果的畳み込み層、層入力
304  拡張因果的畳み込み層、層
306  入力、層入力
308  拡張因果的畳み込み層
310  非線形関数
312  ゲーティング関数
314  乗算
316  1×1畳み込み
318  スキップ出力
320  最終出力
322  合計
324  非線形性
【図１】
2020201971.tif 000005
【図２】
2020201971.tif 000006
【図３】
2020201971.tif 000007
【図４】
2020201971.tif 000008
【手続補正書】
【提出日】令和2年9月9日(2020.9.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータによって実装されるニューラルネットワークシステムであって、
前記ニューラルネットワークシステムが、複数の入力を含む入力シーケンスを受信し、かつ前記入力シーケンスからニューラルネットワーク出力を生成するように構成され、
前記ニューラルネットワークシステムが、
複数の拡張畳み込みニューラルネットワーク層を備える畳み込みサブネットワークであって、前記畳み込みサブネットワークが、前記複数の入力の各々について、
前記入力と前記入力シーケンス内の前記入力に先行する前記入力とを含む現在の入力シーケンスを受信し、
前記入力に関する代替表現を生成するために前記現在の入力シーケンスを処理する
ように構成される、畳み込みサブネットワークと、
出力サブネットワークであって、前記出力サブネットワークが、前記入力の前記代替表現を受信し、かつ前記ニューラルネットワーク出力を生成するために前記代替表現を処理する
ように構成される、出力サブネットワークと
を備える、ニューラルネットワークシステム。
【請求項２】
前記ニューラルネットワーク出力が複数のスコアセットを含み、
各スコアセットが、複数の可能な出力の各々に関するそれぞれのスコアを含み、
前記ニューラルネットワークシステムが、
複数の出力を含む出力シーケンスを生成するために、前記スコアセットに従って出力を選択するように構成されるサブシステム
をさらに備える、請求項1に記載のニューラルネットワークシステム。
【請求項３】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの書記素表現である書記素のシーケンスである、請求項2に記載のニューラルネットワークシステム。
【請求項４】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの音素表現である音素のシーケンスである、請求項2に記載のニューラルネットワークシステム。
【請求項５】
前記入力シーケンスが音素または書記素のシーケンスであり、前記出力シーケンスが、前記入力シーケンスを表す第1の自然言語における単語のシーケンスである、請求項2に記載のニューラルネットワークシステム。
【請求項６】
前記出力サブネットワークが、
前記代替表現のサブセットを受信し、
前記サブセットに関する平均プーリングされた表現を生成するために前記代替表現のサブセットに対して平均プーリングを実行する
ように構成される平均プーリング層と、
前記代替表現の各サブセットについて、前記サブセットに関する前記平均プーリングされた表現を受信し、かつ前記サブセットに対応する前記出力シーケンス内の位置に関するスコアセットを生成するように構成される1つまたは複数の追加のニューラルネットワーク層と
を備える、請求項2から5のいずれか一項に記載のニューラルネットワークシステム。
【請求項７】
前記拡張畳み込みニューラルネットワーク層が因果的畳み込みニューラルネットワーク層である、請求項1から6のいずれか一項に記載のニューラルネットワークシステム。
【請求項８】
前記拡張畳み込みニューラルネットワーク層が拡張畳み込みニューラルネットワーク層の複数のブロックを含み、各ブロックが、拡張が増加する複数の拡張畳み込みニューラルネットワーク層を備える、請求項1から7のいずれか一項に記載のニューラルネットワークシステム。
【請求項９】
前記拡張畳み込みニューラルネットワーク層のうちの1つまたは複数がゲーテッド活性化ユニットを有する、請求項1から8のいずれか一項に記載のニューラルネットワークシステム。
【請求項１０】
前記畳み込みサブネットワークが残差接続を含む、請求項1から9のいずれか一項に記載のニューラルネットワークシステム。
【請求項１１】
前記畳み込みサブネットワークがスキップ接続を含む、請求項1から10のいずれか一項に記載のニューラルネットワークシステム。
【請求項１２】
前記入力シーケンスが第1自然言語における単語のシーケンスであり、前記出力シーケンスが、前記入力シーケンスの第2の自然言語への翻訳である前記第2の自然言語における単語のシーケンスである、請求項2または6から11のいずれか一項に記載のニューラルネットワークシステム。
【請求項１３】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から12のいずれか一項に記載のそれぞれのニューラルネットワークシステムを実装させる命令を用いて符号化された、1つまたは複数のコンピュータ記憶媒体。
【請求項１４】
複数の入力を含む入力シーケンスからニューラルネットワーク出力を生成する方法であって、
前記入力の各々について、前記入力と前記入力シーケンス内の前記入力に先行する前記入力とを含む現在の入力シーケンスを複数の拡張畳み込みニューラルネットワーク層を備える畳み込みサブネットワークに提供するステップであって、前記畳み込みサブネットワークが、前記複数の入力の各々について、
前記入力に関する前記現在の入力シーケンスを受信し、
前記入力に関する代替表現を生成するために前記現在の入力シーケンスを処理する
ように構成される、ステップと、
前記代替表現を出力サブネットワークに提供するステップであって、前記出力サブネットワークが、前記代替表現を受信し、かつ前記ニューラルネットワーク出力を生成するために前記代替表現を処理するように構成される、ステップと
を含む、方法。
【請求項１５】
前記ニューラルネットワーク出力が複数のスコアセットを含み、
各スコアセットが、複数の可能な出力の各々に関するそれぞれのスコアを含み、
前記方法が、
複数の出力を含む出力シーケンスを生成するために、前記スコアセットに従って出力を選択するステップ
をさらに含む、請求項14に記載の方法。
【請求項１６】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの書記素表現である書記素のシーケンスである、請求項15に記載の方法。
【請求項１７】
前記入力シーケンスがオーディオデータのシーケンスであり、前記出力シーケンスが、前記入力シーケンスの音素表現である音素のシーケンスである、請求項15に記載の方法。
【請求項１８】
前記入力シーケンスが音素または書記素のシーケンスであり、前記出力シーケンスが、前記入力シーケンスを表す第1の自然言語における単語のシーケンスである、請求項15に記載の方法。
【請求項１９】
前記出力サブネットワークが、
前記代替表現のサブセットを受信し、
前記サブセットに関する平均プーリングされた表現を生成するために前記代替表現のサブセットに対して平均プーリングを実行する
ように構成される平均プーリング層と、
前記代替表現の各サブセットについて、前記サブセットに関する前記平均プーリングされた表現を受信し、かつ前記サブセットに対応する位置における前記出力シーケンス内の出力を規定するサブセット出力を生成するように構成される1つまたは複数の追加のニューラルネットワーク層と
を備える、請求項15から18のいずれか一項に記載の方法。
【請求項２０】
前記拡張畳み込みニューラルネットワーク層が因果的畳み込みニューラルネットワーク層である、請求項14から19のいずれか一項に記載の方法。
【請求項２１】
前記拡張畳み込みニューラルネットワーク層が拡張畳み込みニューラルネットワーク層の複数のブロックを含み、各ブロックが、拡張が増加する複数の拡張畳み込みニューラルネットワーク層を備える、請求項14から20のいずれか一項に記載の方法。
【請求項２２】
前記拡張畳み込みニューラルネットワーク層のうちの1つまたは複数がゲーテッド活性化ユニットを有する、請求項14から21のいずれか一項に記載の方法。
【請求項２３】
前記畳み込みサブネットワークが残差接続を含む、請求項14から22のいずれか一項に記載の方法。
【請求項２４】
前記畳み込みサブネットワークがスキップ接続を含む、請求項14から23のいずれか一項に記載の方法。
【請求項２５】
前記入力シーケンスが第1自然言語における単語のシーケンスであり、前記出力シーケンスが、前記入力シーケンスの第2の自然言語への翻訳である前記第2の自然言語における単語のシーケンスである、請求項15または19から24のいずれか一項に記載の方法。
【請求項２６】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項14から25のいずれか一項に記載のそれぞれの方法の動作を実行させる命令を用いて符号化された、1つまたは複数のコンピュータ記憶媒体。
【外国語明細書】
2020201971000001.pdf