(57)【要約】  開示される技術は、時間ステップにわたり並列に適用する畳み込み層と特徴次元にわたり並列に適用するミニマリスト再帰プーリング層とを交互にする擬似リカレントニューラルネットワーク（ＱＲＮＮ）を提供する。
2019537134.tif 000002
【特許請求の範囲】
【請求項１】
複数の並列処理コア上で動作する、ニューラルネットワークに基づくシーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）システムであって、
入力ベクトルの複数の時系列の中の入力ベクトルの時系列のセット上の時系列ウィンドウ内の入力ベクトルの並列畳み込みのための畳み込みフィルタバンク、及び
前記並列畳み込みに基づいて前記時系列ウィンドウの各々についての畳み込みベクトルを同時に出力する畳み込みベクトル生成器であり、各畳み込みベクトルは活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、前記ゲートベクトル内の前記特徴値は、要素ごとに順序位置による前記活性化ベクトル内の前記特徴値にそれぞれ適用するパラメータである、畳み込みベクトル生成器、
を含む畳み込み層と、
前記畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することによる現在の時系列ウィンドウについての状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器を含むプーリング層であり、各特徴和は、前記現在の時系列ウィンドウについて出力された活性化ベクトル内の所与の順序位置における特徴値と、前記現在の時系列ウィンドウについて出力された１つ以上のゲートベクトル内の前記所与の順序位置における１つ以上の特徴値と、前の時系列ウィンドウについて累算された状態ベクトル内の前記所与の順序位置における特徴和とに依存して前記累算器により累算される、プーリング層と、
各々連続した時系列ウィンドウにおいて、前記プーリング層によりプーリングされた状態ベクトルを順次出力する出力生成器と、
前記出力生成器により生成された連続した状態ベクトルを使用してシーケンス分類タスクを実行する分類器と、
を含むＱＲＮＮシステム。
【請求項２】
前記畳み込みフィルタバンク内の畳み込みフィルタの数に依存して前記入力ベクトルの次元数に相対して前記畳み込みベクトルの次元数を拡大する次元数拡大器、をさらに含む請求項１に記載のＱＲＮＮシステム。
【請求項３】
前記入力ベクトルは入力シーケンスの要素を表し、前記プーリング層は前記状態ベクトル内の前記要素の順序及び文脈情報をエンコードするエンコーダを含む、請求項１乃至２のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項４】
前記入力シーケンスはワードレベルシーケンスである、請求項１乃至３のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項５】
前記入力シーケンスはキャラクタレベルシーケンスである、請求項１乃至４のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項６】
ゲートベクトルが忘却ゲートベクトルであり、前記プーリング層は、前記前の時系列ウィンドウについて累算された前記状態ベクトルからの情報と前記現在の時系列ウィンドウについての前記活性化ベクトルからの情報との累算を制御するための、前記現在の時系列ウィンドウについての忘却ゲートベクトルを含む、請求項１乃至５のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項７】
ゲートベクトルが入力ゲートベクトルであり、前記プーリング層は、前記現在の時系列ウィンドウについての前記活性化ベクトルからの情報の累算を制御するための、前記現在の時系列ウィンドウについての入力ゲートベクトルを含む、請求項１乃至６のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項８】
ゲートベクトルが出力ゲートベクトルであり、前記プーリング層は、前記現在の時系列ウィンドウについての前記状態ベクトルからの情報の累算を制御するための、前記現在の時系列ウィンドウについての出力ゲートベクトルを含む、請求項１乃至７のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項９】
前記シーケンス分類タスクを実行するために最低から最高へシーケンスにおいて配置された複数のサブＱＲＮＮシステムを含むようにさらに構成され、各サブＱＲＮＮシステムは、並列畳み込みのための少なくとも１つの畳み込み層と並列累算のための少なくとも１つのプーリング層とを含む、請求項１乃至８のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１０】
サブＱＲＮＮシステムは、
前記シーケンス内の先行サブＱＲＮＮシステムにより作成された先行出力を入力として受信する入力受信器と、
前記先行出力の代替表現を生成するための、前記先行出力の並列畳み込みのための畳み込み層と、
出力を生成するための、前記代替表現の並列累算のためのプーリング層と、
を含む、請求項１乃至９のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１１】
先行層の出力を現在の層の出力と連結するため、及び前記連結を続きの層に入力として提供するための、前記サブＱＲＮＮシステム間及びサブＱＲＮＮシステム内の層間のスキップ接続を含むようにさらに構成される、請求項１乃至１０のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１２】
前記シーケンス分類タスクは言語モデル化である、請求項１乃至１１のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１３】
前記シーケンス分類タスクはセンチメント分類である、請求項１乃至１２のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１４】
前記シーケンス分類タスクはドキュメント分類である、請求項１乃至１３のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１５】
前記シーケンス分類タスクはワードレベル機械翻訳である、請求項１乃至１４のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１６】
前記シーケンス分類タスクはキャラクタレベル機械翻訳である、請求項１乃至１５のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１７】
前記現在の時系列ウィンドウについての前記忘却ゲートベクトル内の前記所与の順序位置におけるそれぞれの特徴値が１であるよう要求することにより前記畳み込み層及び前記プーリング層を正則化し、それにより、前記前の時系列ウィンドウについて同時に累算された前記状態ベクトル内の所与の順序位置におけるそれぞれの特徴和に一致する前記現在の時系列ウィンドウについての前記状態ベクトル内の前記所与の順序位置における特徴和のランダムサブセットを生成する正則化器、をさらに含む請求項１乃至１６のうちいずれか１項に記載のＱＲＮＮシステム。
【請求項１８】
複数の並列処理コア上で動作する、ニューラルネットワークに基づくシーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）システムであって、
入力ベクトルの複数の時系列の中の入力ベクトルの時系列のセット上の時系列ウィンドウ内の入力ベクトルの並列畳み込みのための畳み込みフィルタバンク、及び
前記並列畳み込みに基づいて前記時系列ウィンドウの各々についての畳み込みベクトルを同時に出力する畳み込みベクトル生成器
を含む畳み込み層と、
前記畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することによる現在の時系列ウィンドウについての状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器を含むプーリング層と、
各々連続した時系列ウィンドウにおいて、前記プーリング層によりプーリングされた状態ベクトルを順次出力する出力生成器と、
前記出力生成器により生成された連続した状態ベクトルを使用してシーケンス分類タスクを実行する分類器と、
を含むＱＲＮＮシステム。
【請求項１９】
ニューラルネットワークに基づくシーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させる、コンピュータにより実現される方法であって、
入力ベクトルの複数の時系列の中の入力ベクトルの時系列のセット上の時系列ウィンドウ内の入力ベクトルに並列に畳み込みフィルタバンクを適用して、前記時系列ウィンドウの各々についての畳み込みベクトルを同時に出力するステップであって、各畳み込みベクトルは、活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、前記ゲートベクトル内の前記特徴値は、要素ごとに順序位置により前記活性化ベクトル内の前記特徴値にそれぞれ適用するパラメータである、ステップと、
前記畳み込みベクトルの成分の特徴値上に並列に累算器を適用して、順序位置ごとベースで現在の時系列ウィンドウについての状態ベクトル内に、特徴和の順序付けられたセットを同時に累算するステップであって、各特徴和は、前記現在の時系列ウィンドウについて出力された活性化ベクトル内の所与の順序位置における特徴値と、前記現在の時系列ウィンドウについて出力された１つ以上のゲートベクトル内の前記所与の順序位置における１つ以上の特徴値と、前の時系列ウィンドウについて累算された状態ベクトル内の前記所与の順序位置における特徴和とに依存して前記累算器により累算される、ステップと、
各々連続した時系列ウィンドウにおいて、前記累算器により累算された状態ベクトルを順次出力するステップと、
連続した状態ベクトルを使用してシーケンス分類タスクを実行するステップと、
を含む方法。
【請求項２０】
ニューラルネットワークに基づくシーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させるコンピュータプログラム命令を記憶させた非一時的コンピュータ読取可能記憶媒体であって、前記命令は、複数の並列処理コア上で実行されたときに、
入力ベクトルの複数の時系列の中の入力ベクトルの時系列のセット上の時系列ウィンドウ内の入力ベクトルに並列に畳み込みフィルタバンクを適用して、前記時系列ウィンドウの各々についての畳み込みベクトルを同時に出力するステップであって、各畳み込みベクトルは、活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、前記ゲートベクトル内の前記特徴値は、要素ごとに順序位置により前記活性化ベクトル内の前記特徴値にそれぞれ適用するパラメータである、ステップと、
前記畳み込みベクトルの成分の特徴値上に並列に累算器を適用して、順序位置ごとベースで現在の時系列ウィンドウについての状態ベクトル内に、特徴和の順序付けられたセットを同時に累算するステップであって、各特徴和は、前記現在の時系列ウィンドウについて出力された活性化ベクトル内の所与の順序位置における特徴値と、前記現在の時系列ウィンドウについて出力された１つ以上のゲートベクトル内の前記所与の順序位置における１つ以上の特徴値と、前の時系列ウィンドウについて累算された状態ベクトル内の前記所与の順序位置における特徴和とに依存して前記累算器により累算される、ステップと、
各々連続した時系列ウィンドウにおいて、前記累算器により累算された状態ベクトルを順次出力するステップと、
連続した状態ベクトルを使用してシーケンス分類タスクを実行するステップと、
を含む方法を実現する、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［他の出願の相互参照］
本出願は、2016年11月4日に出願された米国仮特許出願第62/417,333号「QUASI-RECURRENT  NEURAL  NETWORKS」（Atty.  Docket  No.  SALE  1180-1/1946PROV）の利益を主張する。この優先仮出願はすべての目的に対しここで参照により援用される。
【０００２】
本出願は、2016年11月4日に出願された米国仮特許出願第62/418,075号「QUASI-RECURRENT  NEURAL  NETWORKS」（Atty.  Docket  No.  SALE  1180-2/1946PROV2）の利益を主張する。この優先仮出願はすべての目的に対しここで参照により援用される。
【０００３】
本出願は、2017年1月31日に出願された米国非仮特許出願第15/420,710号「QUASI-RECURRENT  NEURAL  NETWORK」（Atty.  Docket  No.  SALE  1180-3/1946US）の利益を主張する。この優先非仮出願はすべての目的に対しここで参照により援用される。
【０００４】
本出願は、2017年1月31日に出願され「QUASI-RECURRENT  NEURAL  NETWORK  BASED  ENCODER-DECODER  MODEL」と題された米国非仮特許出願第15/420,801号（Atty.  Docket  No.  SALE  1180-4/1946US2）の利益を主張する。この優先非仮出願はすべての目的に対しここで参照により援用される。
【０００５】
［開示される技術の分野］
開示される技術はディープニューラルネットワークを使用する自然言語処理（ＮＬＰ）に一般に関し、詳細にはＮＬＰタスクにおける計算効率を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）に関する。
【背景技術】
【０００６】
本セクションで論じられる対象事項は、単に本セクションにおけるその言及の結果として従来技術であると仮定されるべきでない。同様に、本セクションで言及され又は背景技術として提供された対象事項に関連づけられる問題は、従来技術において前に認識されたことがあると仮定されるべきでない。本セクションにおける対象事項は異なる手法を表すに過ぎず、該手法これら自体もまた請求される技術の実装に対応し得る。
【０００７】
リカレントニューラルネットワーク（Recurrent  neural  networks、ＲＮＮ）は順次的データをモデル化するのに強力なツールであるが、各時間ステップの計算の前の時間ステップの出力への依存が並列性を制限し、かなり長いシーケンスに対してＲＮＮを扱いにくくしている。開示される技術は、時間ステップにわたり並列に適用する畳み込み層と特徴次元にわたり並列に適用するミニマリスト再帰（recurrent）プーリング層とを交互にする擬似リカレントニューラルネットワーク（quasi-recurrent  neural  network、ＱＲＮＮ）を提供する。
【０００８】
訓練可能な再帰層がないにもかかわらず、スタックされたＱＲＮＮは、同じ隠れサイズのスタックされた長短期記憶ネットワーク（long  short-term  memory  networks、ＬＳＴＭ）より良い予測精度を有する。その増加した並列性に起因して、これらは訓練及びテスト時間において最大１６倍速い。言語モデル化、センチメント分類、及びキャラクタレベルニューラル機械翻訳における実験がこれらの利点を例証しており、様々なシーケンスタスクのための基本構築ブロックとしてのＱＲＮＮの実行可能性を強調している。
【図面の簡単な説明】
【０００９】
図面において、同様の参照符号は異なる図を通して同様の部分を一般に参照する。また、図面は必ずしも縮尺どおりでなく、代わりに、開示される技術の原理を例示することに重点が一般に置かれる。以下の説明において、開示される技術の様々な実装が以下の図面を参照して説明される。
【図１】自然言語処理（ＮＬＰ）タスクにおける計算効率を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）の態様を示す。
【図２】入力ベクトルの時系列上で並列に動作し畳み込みベクトルを同時に出力する畳み込み層の一実装を示す。
【図３】活性化ベクトルと忘却ゲートベクトルと入力ゲートベクトルと出力ゲートベクトルとを含む畳み込みベクトルの一実装を表す。
【図４】畳み込み層により同時に出力される活性化ベクトルとゲートベクトルとを含む複数の畳み込みベクトルの一実装である。
【図５】畳み込み層により同時に出力される活性化ベクトル及びゲートベクトル内の順序位置における特徴値の一実装を示す。
【図６】状態ベクトル内の特徴和の順序付けられたセットを同時に累算するために並列に累算器を適用し連続した状態ベクトルを順次出力する単一ゲートプーリング層の一実装である。
【図７】状態ベクトル内の特徴和の順序付けられたセットを同時に累算するために並列に累算器を適用し連続した状態ベクトルを順次出力するマルチゲートプーリング層の一実装を示す。
【図８】プーリング層により順次出力された連続した状態ベクトルの一実装を表す。
【図９】擬似リカレントニューラルネットワーク（ＱＲＮＮ）エンコーダ‐デコーダモデルの一実装である。
【図１０】センチメント分類タスクにおけるＱＲＮＮの精度比較を示す表である。
【図１１】ＱＲＮＮの状態ベクトルの視覚化の一実装を示す。
【図１２】言語モデル化タスクにおけるＱＲＮＮの精度比較を示す表を表す。
【図１３】言語翻訳タスクにおけるＱＲＮＮの精度比較を示す表である。
【図１４】ＱＲＮＮの訓練速度及び推論速度を示すチャートを表す。
【図１５】擬似リカレントニューラルネットワーク（ＱＲＮＮ）を実装するために使用できるコンピュータシステムの簡略ブロック図である。
【発明を実施するための形態】
【００１０】
以下の議論は、当業者が開示される技術を創作及び使用できるように提示され、特定の用途及びその要件の文脈において提供される。開示の実装に対する様々な変更が当業者に容易に明らかになり、本明細書で定義される一般的原理は、開示される技術の主旨及び範囲から逸脱することなく他の実装及び用途に適用され得る。ゆえに、開示される技術は図示される実装に限定されることは意図されず、本明細書に開示される原理及び特徴と一致する最も広い範囲を与えられるべきである。
【００１１】
議論は以下のとおり編成される。まず、ＱＲＮＮにより対処される問題のいくつかを説明する導入が提示される。次いで、時間ステップごと並列性を実現する畳み込み層が説明され、特徴次元ごと並列性を実現するプーリング層が後に続く。次に、ＱＲＮＮエンコーダ‐デコーダモデルが論じられる。最後、様々なＮＬＰタスクにおけるＱＲＮＮの性能を示すいくつかの実験結果が提供される。
【００１２】
［導入］
長短期記憶（ＬＳＴＭ）などのゲート付きバリアントを含むリカレントニューラルネットワーク（ＲＮＮ）は、シーケンスモデル化タスクに対するディープラーニング手法では標準のモデルアーキテクチャになっている。ＲＮＮは、訓練可能なパラメータを有する関数を隠れ状態に繰り返し適用する。
【００１３】
再帰層はスタックされることもでき、ネットワーク深さ、表現力、及びしばしば精度を増加させる。自然言語ドメインにおけるＲＮＮ適用は、センテンス分類からワードレベル及びキャラクタレベル言語モデル化に及ぶ。ＲＮＮは一般に、機械翻訳又は質問応答などのタスクに対するより複雑なモデルのための基本構築ブロックでもある。
【００１４】
ＲＮＮにおいて、各時間ステップにおける計算は前の時間ステップからの結果に依存する。この理由に起因し、ＬＳＴＭを含むＲＮＮは、ドキュメントの異なる部分についての特徴又は状態の計算が並列に生じ得ないため、ドキュメント分類又はキャラクタレベル機械翻訳などのかなり長いシーケンスを伴うタスクを扱うのに、それらの能力に制限される。
【００１５】
畳み込みニューラルネットワーク（ＣＮＮ）は、画像データを伴うタスクにおいてより一般的だが、シーケンスエンコーディングタスクにも適用されている。こうしたモデルは、入力シーケンスに沿ったウィンドウと並列に時不変フィルタ関数を適用する。ＣＮＮは、しばしばキャラクタレベル言語データでみられるものなどの長いシーケンスに対する増加した並列性とより良いスケーリングとを含む、再帰モデルに対するいくつかの利点を有する。シーケンス処理のための畳み込みモデルは、ハイブリットアーキテクチャにおいてＲＮＮ層と組み合わせられたときにより成功しており、なぜならば、複数時間ステップにわたる畳み込み特徴を結合することに対する従来のマックスプーリング及び平均プーリング手法は時間不変性を仮定しており、ゆえに大規模シーケンス順序情報のフルの使用ができないからである。
【００１６】
開示される技術は、ＲＮＮ及びＣＮＮのような標準モデルの欠点に対処する擬似リカレントニューラルネットワーク（ＱＲＮＮ）を提供する。ＱＲＮＮは、時間ステップ及び特徴次元の双方にわたり並列計算を可能にし、長いシーケンスの高いスループットと良いスケーリングとを可能にする。ＲＮＮのように、ＱＲＮＮは出力がシーケンス内の要素の全体順序に依存することを可能にする。ＱＲＮＮは、ドキュメントレベルセンチメント分類と言語モデル化とキャラクタレベル機械翻訳とを含む、いくつかの自然言語タスクに合わせられる。ＱＲＮＮは、すべての３つのタスクにおいて強いＬＳＴＭベースラインを上回ると同時に、計算時間を劇的に低減させる。
【００１７】
直感的に、長いシーケンスのセマンティックの多くの態様が文脈不変であり、並列に（例えば畳み込みで）計算できるが、いくつかの態様は長距離の文脈を必要とし、再帰的に（recurrently）計算されなければならない。多くの既存のニューラルネットワークアーキテクチャは、文脈情報を利用するのに失敗するか、あるいは並列性を利用するのに失敗する。ＱＲＮＮは並列性及び文脈の双方を活用し、畳み込み及びリカレント双方のニューラルネットワークからの利点を提示する。ＱＲＮＮは、これらがより少ないパラメータを使用し実質的により高速に動作するとしても、等しい隠れサイズのＬＳＴＭに基づくモデルより良い予測精度を有する。
【００１８】
タスクにわたり、並びにワード及びキャラクタ双方のレベルにおいて、速度及び精度の利点が矛盾なく残ることを実験が示している。ＣＮＮ及びＲＮＮ双方に対する拡張がＱＲＮＮに直接適用可能であり、一方、モデルの隠れ状態は、そのチャネルが複数時間ステップにわたり該チャネルの独立性を維持するとき、他の再帰アーキテクチャのものよりさらに解釈可能である。したがって、従来のＲＮＮで前に実行不可能であった長いシーケンスのタスクのための構築ブロックの役割をＱＲＮＮが果たす機会が生じる。
【００１９】
図１は、ＱＲＮＮ１００の計算構造を示す。ＱＲＮＮ１００は２種類のコンポーネント又は層、すなわち畳み込み層（１０２、１０６など）及びプーリング層（１０４、１０８など）を含む。畳み込み層１０２、１０６は、複数シーケンスミニバッチ及び複数時間ステップにわたりフルに並列な計算を可能にする。プーリング層１０４、１０８は、訓練可能パラメータがなく、複数シーケンスミニバッチ及び複数特徴次元にわたりフルに並列な計算を適用する。図１において、プーリング層１０４、１０８の連続的ブロックは、特徴次元に沿って並列に動作するパラメータなし関数を示す。
【００２０】
図１は、サブＱＲＮＮ１１０、１１２をさらに示す。サブＱＲＮＮ１１０は、少なくとも１つの畳み込み層１０２及び少なくとも１つのプーリング層１０４を含む。サブＱＲＮＮ１１２は、少なくとも１つの畳み込み層１０６及び少なくとも１つのプーリング層１０８を含む。他の実装において、サブＱＲＮＮ１１０、１１２の各々が、任意数の畳み込み層（例えば、２つ、３つ、又はそれ以上）及び任意数のプーリング層（例えば、２つ、３つ、又はそれ以上）を含む。さらに他の実装において、ＱＲＮＮ１００は１つ以上のサブＱＲＮＮを含んでよい。
【００２１】
いくつかの実装において、ＱＲＮＮ１００は、シーケンス内で最も低いサブＱＲＮＮからシーケンス内で最も高いサブＱＲＮＮまで配置されたサブＱＲＮＮのシーケンスを含む。本明細書で使用されるとき、シーケンスに配置された複数のサブＱＲＮＮを有するＱＲＮＮは、「スタックＱＲＮＮ（stacked  QRNN）」と呼ばれる。ＱＲＮＮ１００などのスタックＱＲＮＮは、受信した入力データをシーケンス内のサブＱＲＮＮの各々を通じて処理して入力データの代替表現を作成する。さらに、サブＱＲＮＮ１１０、１１２などのサブＱＲＮＮは、入力として、シーケンス内の先行サブＱＲＮＮにより作成された先行出力を受信する。受信されるこれらのステップは、サブＱＲＮＮの入力受信器（例えば、入力受信器１４４）により具現化される。例えば、図１において、第２のサブＱＲＮＮ１１２の第２の畳み込み層１０６は、入力として、第１のサブＱＲＮＮ１１０の先行する第１のプーリング層１０４からの出力を処理する。対照的に、第１のサブＱＲＮＮ１１０の第１の畳み込み層１０２は、入力として、高次元埋め込み空間にマッピングされた埋め込みベクトル（例えば、ワードベクトル、キャラクタベクトル、フレーズベクトル）を取得する。ゆえに、いくつかの実装において、様々な入力が、スタックされたＱＲＮＮの異なるＱＲＮＮに、及び／又はサブＱＲＮＮ内の異なるコンポーネント（例えば、畳み込み層、プーリング層）に提供される。
【００２２】
さらに、ＱＲＮＮ１００は、先行サブＱＲＮＮからの出力を畳み込み層を通じて処理して先行出力の代替表現を生成する。次いで、ＱＲＮＮ１００は、代替表現をプーリング層を通じて処理して出力を生成する。例えば、図１において、第２のサブＱＲＮＮ１１２は、第２の畳み込み層１０６を使用して第１のサブＱＲＮＮ１１０の第１のプーリング層１０４からの先行出力１１４を畳み込む。該畳み込みは代替表現１１６を生成し、これは第２のサブＱＲＮＮ１１２の第２のプーリング層１０８によりさらに処理されて、出力１１８を生成する。
【００２３】
いくつかの実装において、ＱＲＮＮ１００は、サブＱＲＮＮ間及び／又はサブＱＲＮＮ内の層間のスキップ接続をさらに含む。１２０、１２２、１２４などのスキップ接続は、先行層の出力を現在の層の出力と連結し、該連結を続きの層に入力として提供する。サブＱＲＮＮの層間のスキップ接続の一例において、スキップ接続１２０は、第１のサブＱＲＮＮ１１０の第１の畳み込み層１０２の出力１２６を第１のサブＱＲＮＮ１１０の第１のプーリング層１０４の出力１２８と連結する。該連結は次いで、第２のサブＱＲＮＮ１１２の第２の畳み込み層１０６に入力として提供される。サブＱＲＮＮ間のスキップ接続の一例において、スキップ接続１２２は、第１のサブＱＲＮＮ１１０の第１の畳み込み層１０２の出力１２６を第２のサブＱＲＮＮ１１２の第２の畳み込み層１０６の出力１３０と連結する。該連結は次いで、第２のサブＱＲＮＮ１１２の第２のプーリング層１０８に入力として提供される。同様に、スキップ接続１２４は、第１のサブＱＲＮＮ１１０の第１のプーリング層１０４の出力１２８を第２のサブＱＲＮＮ１１２の第２の畳み込み層１０６の出力１３０と連結する。該連結は次いで、第２のサブＱＲＮＮ１１２の第２のプーリング層１０８に入力として提供される。
【００２４】
シーケンス分類タスクについて、ＱＲＮＮ１００はあらゆるＱＲＮＮ層間のスキップ接続を含み、これは「密接続（dense  connections）」と本明細書において呼ばれる。一実装において、ＱＲＮＮ１００は、入力埋め込みとあらゆるＱＲＮＮ層との間、及びＱＲＮＮ層のあらゆるペア間の密接続を含む。これは、結果として生じる状態ベクトルを次の層に供給する前に、ＱＲＮＮ１００が各ＱＲＮＮ層の入力をその出力に特徴次元に沿って連結することを結果としてもたらす。最後の層の出力は次いで、全体エンコーディング結果として使用される。
【００２５】
［ＱＲＮＮ畳み込み層  ‐  時間ステップ並列性］
図２は、ＱＲＮＮ畳み込み層２００の動作の一実装を示す。図２は、入力シーケンス
【数１】
2019537134.tif 000003
内のｎ個の要素を表すｄ次元入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎを示す。入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎは、ｎ個の時間ステップ上でそれぞれ生成される。一実装において、入力シーケンスは、ｎ個のワードを有するワードレベル入力シーケンスである。別の実装において、入力シーケンスは、ｎ個のキャラクタを有するキャラクタレベル入力シーケンスである。さらに別の実装において、入力シーケンスは、ｎ個のフレーズを有するフレーズレベル入力シーケンスである。入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎは、「埋め込み空間（embedding  space）」と本明細書において呼ばれる高次元ベクトル空間にマッピングされる。埋め込み空間は、埋め込み行列
【数２】
2019537134.tif 000004
を使用して定義され、ここで、ｖは語彙のサイズを表す。実装において、埋め込み空間は、ワード埋め込み空間、キャラクタ埋め込み空間、又はフレーズ埋め込み空間であってよい。いくつかの実装において、入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎは、ＧｌｏＶｅ及びｗｏｒｄ２ｖｅｃのような事前訓練された埋め込みモデルを使用して初期化される。さらに他の実装において、入力ベクトルはワンホット（one-hot）エンコーディングに基づく。
【００２６】
ＱＲＮＮ畳み込み層２００は、ｂ個のフィルタのバンクを用いて入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎ上でｍ個の時系列ウィンドウへの並列畳み込みを実行して、ｍ個の畳み込みベクトルｙ１，．．．，ｙ５，．．．，ｙｍのシーケンス
【数３】
2019537134.tif 000005
を同時に出力する。ζｄは各畳み込みベクトルの次元数であり、ζは次元数拡大（dimensionality  augmentation）パラメータを識別する。同時畳み込みベクトルを生成するこれらのステップは、畳み込み層の畳み込みベクトル生成器（例えば、畳み込みベクトル生成器２１２）により具現化される。拡大のこれらステップは、畳み込み層の次元数拡大器（例えば、次元数拡大器２１４）により具現化される。本明細書で使用されるとき、「時間ステップ又は時系列次元にわたる並列性」又は「時間ステップ又は時系列並列性」は、ＱＲＮＮ畳み込み層２００がｍ個の時系列ウィンドウ上で入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎに対して並列に畳み込みフィルタバンクを適用してｍ個の畳み込みベクトルｙ１，．．．，ｙ５，．．．，ｙｍを同時に生成することを参照する。
【００２７】
実装において、同時に生成される畳み込みベクトルｙ１，．．．，ｙ５，．．．，ｙｍの次元数は、畳み込みフィルタバンク内の畳み込みフィルタの数に依存して、入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎの次元数に相対して拡大される。ゆえに、次元数拡大パラメータζは畳み込みフィルタバンク内の畳み込みフィルタの数に比例的に依存し、それにより、ζｄ＝ｂである。例えば、入力ベクトルｘ１，．．．，ｘ６，．．．，ｘｎの次元数が１００であり、すなわちｄ＝１００であり、畳み込みフィルタバンクが２００個の畳み込みフィルタを含み、すなわちｂ＝２００である場合、同時に出力される畳み込みベクトルｙ１，．．．，ｙ５，．．．，ｙｍの次元数は２００であり、すなわちζｄ＝２００及びζ＝２である。他の実装において、畳み込みフィルタバンク（例えば、畳み込みフィルタバンク２１０）は様々な数の畳み込みフィルタで構成され、それにより、同時に出力される畳み込みベクトルの次元数ζｄは３００、４００、５００、８００、又は任意の他の数である。
【００２８】
図３は、活性化ベクトルｚｍ  ３０２と忘却ゲートベクトルｆｍ  ３０４と入力ゲートベクトルｉｍ  ３０６と出力ゲートベクトルｏｍ  ３０８とを含む、畳み込みベクトルｙｍ  ２０８の一実装を表す。実装において、畳み込みベクトルは、活性化ベクトルと１つ以上のゲートベクトルとの任意の組み合わせを含んでよい。例えば、一実装において、畳み込みベクトル２０８は、活性化ベクトル３０２及び忘却ゲートベクトル３０４を含む。別の実装において、畳み込みベクトル２０８は、活性化ベクトル３０２、忘却ゲートベクトル３０４、及び入力ゲートベクトル３０６を含む。さらに別の実装において、畳み込みベクトル２０８は、活性化ベクトル３０２、忘却ゲートベクトル３０４、及び出力ゲートベクトル３０８を含む。
【００２９】
実装において、畳み込みベクトル２０８内のゲートベクトルの数は畳み込みベクトルの次元数ζｄに依存して構成され、それにより、ζｄ次元は、畳み込みベクトルの活性化ベクトルと１つ以上のゲートベクトルとの間で比例的に分離される。一例において、畳み込みベクトルｙｍ  ２０８について、ζｄ＝４００である場合、活性化ベクトルｚｍ  ３０２と忘却ゲートベクトルｆｍ  ３０４と入力ゲートベクトルｉｍ  ３０６と出力ゲートベクトルｏｍ  ３０８とはすべて、同じ次元数ｄ＝１００を有する。別の例において、次元数ζｄ＝２００の畳み込みベクトルについて、畳み込みベクトルは活性化ベクトル及び１つのみのゲートベクトル（例えば、忘却ゲートベクトル）を含み、各々の次元数ｄ＝１００である。さらに別の例において、次元数ζｄ＝３００の畳み込みベクトルについて、畳み込みベクトルは活性化ベクトル及び２つのゲートベクトル（例えば、忘却ゲートベクトルと出力ゲートベクトル、又は忘却ゲートベクトルと入力ゲートベクトル）を含み、各々の次元数ｄ＝１００である。
【００３０】
図４は、ＱＲＮＮ畳み込み層２００により同時に出力される、活性化ベクトル及びゲートベクトルを含む、複数の畳み込みベクトルｙ１，．．．，ｙ５，．．．，ｙｍの一実装である。図４は、第１の時系列ウィンドウについてＱＲＮＮ畳み込み層２００により作成された畳み込みベクトルｙ１  ２０２を示す。畳み込みベクトルｙ１  ２０２は、活性化ベクトルｚ１  ４０２と忘却ゲートベクトルｆ１  ４０４と入力ゲートベクトルｉ１  ４０６と出力ゲートベクトルｏ１  ４０８とを含む。同様に、ＱＲＮＮ畳み込み層２００は、第ｍの時系列ウィンドウについて、畳み込みベクトルｙｍ  ２０８を生成する。
【００３１】
いくつかの実装において、入力シーケンスの次の要素の予測を含むタスクに有用であるために、畳み込みフィルタは、いかなる所与の時間ステップについての計算も将来の時間ステップからの情報にアクセスすることを可能にしてはならない。すなわち、幅ｋのフィルタでは、各畳み込みベクトルｙｔは、入力ベクトルｘｔ−ｋ＋１乃至ｘｔにのみ依存する。こうした畳み込み動作は、「マスク畳み込み（masked  convolution）」と本明細書において呼ばれる。一実装において、マスク畳み込みは、入力を畳み込みフィルタのサイズ引く１だけ左にパディングすることにより適用される。
【００３２】
同時に生成される畳み込みベクトルｙ１，．．．，ｙ５，．．．，ｙｍは、１つ以上のＱＲＮＮプーリング関数を実現するためにＱＲＮＮプーリング層により使用される活性化ベクトル及びゲートベクトルを提供する。一実装において、ＱＲＮＮプーリング層により使用される前に、活性化ベクトル及びゲートベクトルは前処理を受ける。一実装において、前処理は、活性化ベクトルを双曲線正接非線形活性化（hyperbolic  tangent  nonlinearity  activation）（ｔａｎｈ）に通すことを含む。一実装において、前処理は、ゲートベクトルを要素ごとシグモイド非線形活性化（elementwise  sigmoid  nonlinearity  activation）（σ）に通すことを含む。各時間ステップウィンドウにおいて忘却ゲートベクトルｆｔ及び出力ゲートベクトルｏｔを必要とするＱＲＮＮプーリング関数について、対応するＱＲＮＮ畳み込み層における計算は以下の数式により定義される。
【数４】
2019537134.tif 000006
ここで、各々が
【数５】
2019537134.tif 000007
における活性化ベクトルＷｚ、Ｗｆ、及びＷｏは、畳み込みフィルタバンクであり、＊は時間ステップ次元に沿ったマスク畳み込みを表す。
【００３３】
一例示的な実装において、畳み込みフィルタのフィルタ幅が２であるとき、活性化ベクトル及びゲートベクトルはＬＳＴＭ様のゲートを表し、以下の数式により定義される。
【数６】
2019537134.tif 000008
ここで、活性化ベクトルｚｔと忘却ゲートベクトルｆｔと入力ゲートベクトルｉｔと出力ゲートベクトルｏｔとは、それぞれの畳み込みフィルタ重み行列Ｗｚ１、Ｗｚ２、Ｗｆ１、Ｗｆ２、Ｗｉ１、Ｗｉ２、Ｗｏ１、Ｗｏ２を入力ベクトルｘｔ−１及びｘｔに適用することにより同時に生成される。
【００３４】
他の実装において、より大きい幅の畳み込みフィルタが、各時間ステップウィンドウにおいてより高いｎグラム（n-gram）の特徴を計算するために使用される。実装において、より大きい幅はキャラクタレベルタスクに特に効果的である。
【００３５】
［ＱＲＮＮプーリング層‐ＱＲＮＮプーリング関数］
ＱＲＮＮプーリング層は様々なＱＲＮＮプーリング関数を実現する。ＱＲＮＮプーリング関数は、対応するＱＲＮＮ畳み込み層により提供される１つ以上のゲートベクトルにより制御される。ゲートベクトルは、複数の時間ステップウィンドウにわたり状態ベクトルを混合すると同時に、状態ベクトルの各要素に対して独立して動作する。実装において、ＱＲＮＮプーリング関数は、ＬＳＴＭセルの要素ごとゲートから構築される。他の実装において、ＱＲＮＮプーリング関数は、入力ゲートなし（no  input  gate、ＮＩＧ）バリアント、忘却ゲートなし（no  forget  gate、ＮＦＧ）バリアント、出力ゲートなし（no  output  gate、ＮＯＧ）バリアント、入力活性化関数なし（no  input  activation  function、ＮＩＡＦ）バリアント、出力活性化関数なし（no  output  activation  function、ＮＯＡＦ）バリアント、結合入力忘却ゲート（coupled  input-forget  gate、ＣＩＦＧ）バリアント、及びフルゲートリカレント（full  gate  recurrent、ＦＧＲ）バリアントなどの、ＬＳＴＭのバリアントに基づいて構築される。さらに他の実装において、ＱＲＮＮプーリング関数は、ゲート付きリカレントユニット（gated  recurrent  unit、ＧＲＵ）、又は任意の他タイプのＲＮＮ、又は任意の他の従来の若しくは将来開発されるニューラルネットワークの動作に基づいて構築される。
【００３６】
［ｆ‐プーリング］
単一のゲートベクトルを使用する、「ｆ‐プーリング」と本明細書において呼ばれるＱＲＮＮプーリング関数の一実装を定義する以下の数式を考える。
【数７】
2019537134.tif 000009
ここで、
ｃｔは現在の状態ベクトルであり、
ｆｔは現在の忘却状態ベクトルであり、
ｃｔ−１は前の状態ベクトルであり、
ｚｔは現在の活性化状態ベクトルであり、
【数８】
2019537134.tif 000010
は要素ごと乗算又はアダマール積を表す。
【００３７】
状態ベクトルに関して、現在の状態ベクトルｃｔは、現在の活性化ベクトルｚｔの過去の状態ベクトルｃｔ−１との統合である。現在の活性化ベクトルｚｔは現在の畳み込みベクトルｙｔにより識別され、これは入力ベクトルｘｔ，．．．，ｘｔ＋ｋ−１の現在の時系列ウィンドウ上の畳み込みから導出され、ここで、ｋは畳み込みフィルタサイズ又は幅である。擬人的には、現在の状態ベクトルｃｔは、現在畳み込まれる入力ベクトルウィンドウｘｔ，．．．，ｘｔ＋ｋ−１を過去の状態ベクトルｃｔ−１と結合又は混合するレシピが分かり、現在の入力ベクトルウィンドウｘｔ，．．．，ｘｔ＋ｋ−１を文脈的過去に照らして要約する。ゆえに、現在の活性化ベクトルｚｔ及び過去の状態ベクトルｃｔ−１は、現在の入力ベクトルウィンドウｘｔ，．．．，ｘｔ＋ｋ−１の態様を含む現在の状態ベクトルｃｔを作成するために使用される。
【００３８】
忘却ゲートベクトルに関して、現在の忘却ゲートベクトルｆｔは、過去の状態ベクトルｃｔ−１のうちどれほどが現在の状態ベクトルｃｔの計算に有用であるかの評価を行う。さらに、現在の忘却ゲートベクトルｆｔは、現在の活性化ベクトルｚｔのうちどれほどが現在の状態ベクトルｃｔの計算に有用であるかの評価も提供する。
【００３９】
［ｆｏ‐プーリング］
いくつかの実装において、忘却ゲートベクトルに追加で出力ゲートベクトルを使用するＱＲＮＮプーリング関数は「ｆｏ‐プーリング」と本明細書において呼ばれ、以下の数式により定義される。
【数９】
2019537134.tif 000011
ここで、
ｈｔは現在の隠れ状態ベクトルであり、
ｏｔは現在の出力状態ベクトルであり、
ｃｔは現在の状態ベクトルであり、
【数１０】
2019537134.tif 000012
は要素ごと乗算又はアダマール積を表す。
【００４０】
現在の状態ベクトルｃｔは、必ずしも保存される必要がない情報を含んでよい。現在の出力ゲートベクトルｏｔは、現在の状態ベクトルｃｔのうちどの部分が公開され又は現在の隠れ状態ベクトルｈｔに存在する必要があるかに関する評価を行う。
【００４１】
［ｉｆｏ‐プーリング］
複数のゲートベクトルを使用する、「ｉｆｏ‐プーリング」と本明細書において呼ばれるＱＲＮＮプーリング関数の一実装を定義する以下の数式を考える。
【数１１】
2019537134.tif 000013
ここで、
ｃｔは現在の状態ベクトルであり、
ｆｔは現在の忘却状態ベクトルであり、
ｃｔ−１は前の状態ベクトルであり、
ｉｔは現在の入力状態ベクトルであり、
ｚｔは現在の活性化状態ベクトルであり、
【数１２】
2019537134.tif 000014
は要素ごと乗算又はアダマール積を表す。
【００４２】
入力ゲートベクトルに関して、現在の状態ベクトルｃｔを作成するために、現在の入力ゲートベクトルｉｔは、現在の活性化ベクトルｚｔの重要度と、延長上では現在の入力ベクトルウィンドウｘｔ，．．．，ｘｔ＋ｋ−１の重要度とを考慮に入れる。入力ゲートベクトルｉｔは、現在の入力のうちどれほどが保存するに値するかのインジケータであり、ゆえに、現在の状態ベクトルｃｔをゲート制御するために使用される。
【００４３】
したがって、擬人的には、数式（３）は、現在の忘却ゲートベクトルｆｔのアドバイスを取得して過去の状態ベクトルｃｔ−１のうちどれほどが忘却されるべきかを決定することと、現在の入力ゲートベクトルｉｔのアドバイスを取得して現在の活性化ベクトルｚｔのうちどれほどが考慮に入れられるべきかを決定することと、２つの結果を合計して現在の状態ベクトルｃｔを生成することとを含む。
【００４４】
［ＱＲＮＮプーリング層‐特徴次元並列性］
ＱＲＮＮプーリング層は、ｆ‐プーリング、ｆｏ‐プーリング、及びｉｆｏ‐プーリングなどの１つ以上のＱＲＮＮプーリング関数を使用して、ｍ個の時系列ウィンドウの各々について状態ベクトルを算出する。各状態ベクトルは複数の要素を含む。状態ベクトルの各要素は「特徴和（feature  sum）」と本明細書において呼ばれる。状態ベクトルの各特徴和は、状態ベクトル内の対応する順序位置により識別される。
【００４５】
図８に表される状態ベクトルシーケンスＣを考える。シーケンスＣは状態ベクトルｃ１，．．．，ｃｍを含む。一例において、第１の時系列ウィンドウについての状態ベクトルｃ１  ８０２は、以下の、１００個の特徴和の順序付けられたセットを含む。
ｃ１１，．．．，ｃ１１００
ここで、上付き文字は、特定の状態ベクトル内の所与の特徴和の順序位置を識別し、下付き文字は、特定の状態ベクトルと、延長上ではさらに特定の時系列ウィンドウとを識別する。
【００４６】
同様に、第ｍの時系列ウィンドウについての状態ベクトルｃｍ  ８０４もまた、１００個の特徴和ｃｍ１，．．．，ｃｍ１００の順序付けられたセットを含む。
【００４７】
状態ベクトル内の特徴和又は要素の数は、状態ベクトルの次元数ｄに比例的に依存する。ゆえに、状態ベクトルｃ１  ８０２が１００の次元数を有する、すなわちｄ＝１００であるため、それは１００個の特徴和を有する。さらに、状態ベクトルの次元数ｄは、状態ベクトルを算出するために使用される活性化ベクトル及びゲートベクトルの次元数に依存する。実装において、活性化ベクトル、ゲートベクトル、及び結果として生じる状態ベクトルは、同じ次元数ｄを共有する。
【００４８】
典型的に、所与の入力シーケンスについてＱＲＮＮプーリング層により生成されるすべての状態ベクトルは、同じ次元数ｄを共有する。ゆえに、図８に示されるように、状態ベクトルｃ１，．．．，ｃｍは同数の特徴和又は要素を有し、各特徴和は各状態ベクトル内の対応する順序位置により識別される。
【００４９】
状態ベクトルのように、活性化ベクトル及びゲートベクトルもまた複数の要素を含む。活性化ベクトルの各要素は「特徴値」と本明細書において呼ばれる。同様に、ゲートベクトルの各要素もまた「特徴値」と本明細書において呼ばれる。活性化ベクトルの各特徴値は活性化ベクトル内の対応する順序位置により識別される。同様に、ゲートベクトルの各特徴値はゲートベクトル内の対応する順序位置により識別される。
【００５０】
図５に戻り、図５は、ｚ１，．．．，ｚｍ活性化ベクトルの活性化ベクトルシーケンスＺと、ｆ１，...，ｆｍ忘却ゲートベクトルの忘却ゲートベクトルシーケンスＦと、ｉ１，．．．，ｉｍ入力ゲートベクトルの入力ゲートベクトルシーケンスＩと、ｏ１，．．．，ｏｍ出力ゲートベクトルの出力ゲートベクトルシーケンスＯとを示す。上記で論じられたように、ＱＲＮＮ畳み込み層２００は、シーケンスＺ、Ｆ、Ｉ、及びＯ内のすべての活性化ベクトル及びゲートベクトルを同時に出力する。
【００５１】
一例において、第１の時系列ウィンドウについての活性化ベクトルｚ１  ４０２は、以下の、１００個の特徴値の順序付けられたセットを含む。
ｚ１１，．．．，ｚ１１００
ここで、上付き文字は、特定の活性化ベクトル内の所与の特徴値の順序位置を識別し、下付き文字は、特定の活性化ベクトルと、延長上ではさらに特定の時系列ウィンドウとを識別する。
【００５２】
同様に、第ｍの時系列ウィンドウについての図３における活性化ベクトルｚｍ  ３０２もまた、１００個の特徴値ｚｍ１，．．．，ｚｍ１００の順序付けられたセットを含む。
【００５３】
別の例において、第１の時系列ウィンドウについての忘却ゲートベクトルｆ１  ４０４は、以下の、１００個の特徴値の順序付けられたセットを含む。
ｆ１１，．．．，ｆ１１００
ここで、上付き文字は、特定の忘却ゲートベクトル内の所与の特徴値の順序位置を識別し、下付き文字は、特定の忘却ゲートベクトルと、延長上ではさらに特定の時系列ウィンドウとを識別する。
【００５４】
同様に、第ｍの時系列ウィンドウについての忘却ゲートベクトルｆｍ  ３０４もまた、１００個の特徴値ｆｍ１，．．．，ｆｍ１００の順序付けられたセットを含む。
【００５５】
さらに別の例において、第１の時系列ウィンドウについての入力ゲートベクトルｉ１  ４０６は、以下の、１００個の特徴値の順序付けられたセットを含む。
ｉ１１，．．．，ｉ１１００
ここで、上付き文字は、特定の入力ゲートベクトル内の所与の特徴値の順序位置を識別し、下付き文字は、特定の入力ゲートベクトルと、延長上ではさらに特定の時系列ウィンドウとを識別する。
【００５６】
同様に、第ｍの時系列ウィンドウについての入力ゲートベクトルｉｍ  ３０６もまた、１００個の特徴値ｉｍ１，．．．，ｉｍ１００の順序付けられたセットを含む。
【００５７】
さらに別の例において、第１の時系列ウィンドウについての出力ゲートベクトルｏ１  ４０８は、以下の、１００個の特徴値の順序付けられたセットを含む。
ｏ１１，．．．，ｏ１１００
ここで、上付き文字は、特定の出力ゲートベクトル内の所与の特徴値の順序位置を識別し、下付き文字は、特定の出力ゲートベクトルと、延長上ではさらに特定の時系列ウィンドウとを識別する。
【００５８】
同様に、第ｍの時系列ウィンドウについての出力ゲートベクトルｏｍ  ３０８もまた、１００個の特徴値ｏｍ１，．．．，ｏｍ１００の順序付けられたセットを含む。
【００５９】
本明細書で使用されるとき、「特徴次元にわたる並列性」又は「特徴並列性」は、畳み込みベクトルの特徴上で、すなわち畳み込みベクトルにより生成されるそれぞれの活性化ベクトルと１つ以上のゲートベクトルとの中の対応する特徴値上で並列に動作して、特徴和の順序付けられたセットを状態ベクトル内に同時に累算するＱＲＮＮプーリング層を参照する。特徴和の累算は、ｆ‐プーリング、ｆｏ‐プーリング、及びｉｆｏ‐プーリングなどの１つ以上のＱＲＮＮプーリング関数に基づいてよい。要素ごとの累算は、ゲートベクトル内の特徴値が要素ごとに順序位置により活性化ベクトル内の特徴値にそれぞれ適用するパラメータの役割を果たすことを含む。
【００６０】
単一ゲートＱＲＮＮプーリング層６００により実現されるｆ‐プーリングに基づく、図６における特徴並列性の一例を考える。ＱＲＮＮプーリング層６００はｆ‐プーリングを「順序位置ごとに」以下の数式を使用して適用することに留意する。
【数１３】
2019537134.tif 000015
ここで、すべてのシンボルについてのペアは行列の２つの次元上の動作を示し、
【数１４】
2019537134.tif 000016
は連続した時系列ウィンドウ上の動作を表し、
【数１５】
2019537134.tif 000017
は並列化可能な順序位置上の動作を表し、
ｃｔｊは現在の状態ベクトルｃｔ内のｊ順序位置における特徴和であり、
ｆｔｊは現在の忘却ゲートベクトルｆｔ内のｊ順序位置における特徴値であり、
ｃｔ−１ｊは前の状態ベクトルｃｔ−１内のｊ順序位置における特徴値であり、
ｚｔｊは現在の活性化ベクトルｚｔ内のｊ順序位置における特徴値であり、
・は乗算を表す。
【００６１】
数式（４）は、現在の時系列ウィンドウｔについての状態ベクトルｃｔ内の所与の順序位置ｊの特徴和ｃｔｊを、前の時系列ウィンドウｔ−１についての状態ベクトルｃｔ−１内の同じ順序位置ｊにおける特徴和ｃｔ−１ｊと、現在の時系列ウィンドウｔについての忘却ゲートベクトルｆｔ内の同じ順序位置ｊにおける特徴値ｆｔｊと、現在の時系列ウィンドウｔについての忘却ゲートベクトルｚｔ内の同じ順序位置ｊにおける特徴値ｚｔｊとに依存して計算することを含む。
【００６２】
したがって、擬人的には、数式（４）において、現在の忘却ゲートベクトルの各特徴値は、現在の活性化ベクトルからのそれぞれの特徴値と前の状態ベクトルからのそれぞれの特徴和との順序位置ごとの累算を制御する。ゆえに、図６において、特徴和ｃ１１は、特徴和ｃ０１と特徴値ｆ１１と特徴値ｚ１１とに依存して累算される。同様に、特徴和ｃ１２は、特徴和ｃ０２と特徴値ｆ１２と特徴値ｚ１２とに依存して累算される。同様に、特徴和ｃ１１００は、特徴和ｃ０１００と特徴値ｆ１１００と特徴値ｚ１１００とに依存して累算される。実装において、第１の状態ベクトルｃ０の特徴和は、ゼロに、又は事前訓練された値に、又は活性化ベクトルの特徴値に依存した値に初期化されてよい。
【００６３】
特徴並列性に関し、現在の時系列状態ベクトルｃｔについて、ＱＲＮＮプーリング層６００は、累算器（例えば、累算器６０２）を並列に適用して、数式（４）に従って状態ベクトルｃｔ内のすべての順序位置
【数１６】
2019537134.tif 000018
についての特徴和を同時に累算する。ゆえに、図６において、第１の時系列ウィンドウについての状態ベクトルｃ１  ８０２の特徴和ｃ１１，．．．，ｃ１１００は並列に累算される。同様に、第２の時系列ウィンドウについての状態ベクトルｃ２の特徴和ｃ２１，．．．，ｃ２１００は並列に累算される。同様に、第ｍの時系列ウィンドウについての状態ベクトルｃｍ  ８０４の特徴和ｃｍ１，．．．，ｃｍ１００は並列に累算される。
【００６４】
さらに、ＱＲＮＮプーリング層６００は、ｍ個の時系列ウィンドウの中の各々連続した時系列ウィンドウ
【数１７】
2019537134.tif 000019
について、状態ベクトルｃ１，．．．，ｃｍを順次出力する。状態ベクトルを順次出力するこれらのステップは、ＱＲＮＮ１００の出力生成器（例えば、出力生成器６０４）により具現化される。
【００６５】
マルチゲートプーリング層７００により実現されるｉｆｏ‐プーリングに基づく、図７における特徴並列性の別の例を考える。ＱＲＮＮプーリング層７００はｉｆｏ‐プーリングを「順序位置ごとに」以下の数式を使用して適用することに留意する。
【数１８】
2019537134.tif 000020
ここで、すべてのシンボルについてのペアは行列の２つの次元上の動作を示し、
【数１９】
2019537134.tif 000021
は連続した時系列ウィンドウ上の動作を表し、
【数２０】
2019537134.tif 000022
は並列化可能な順序位置上の動作を表し、
ｃｔｊは現在の状態ベクトルｃｔ内のｊ順序位置における特徴和であり、
ｆｔｊは現在の忘却ゲートベクトルｆｔ内のｊ順序位置における特徴値であり、
ｃｔ−１ｊは前の状態ベクトルｃｔ−１内のｊ順序位置における特徴値であり、
ｉｔｊは現在の入力ゲートベクトルｉｔ内のｊ順序位置における特徴値であり、
ｚｔｊは現在の活性化ベクトルｚｔ内のｊ順序位置における特徴値であり、
・は乗算を表す。
【００６６】
数式（５）は、現在の時系列ウィンドウｔについての状態ベクトルｃｔ内の所与の順序位置ｊの特徴和ｃｔｊを、前の時系列ウィンドウｔ−１についての状態ベクトルｃｔ−１内の同じ順序位置ｊにおける特徴和ｃｔ−１ｊと、現在の時系列ウィンドウｔについての忘却ゲートベクトルｆｔ内の同じ順序位置ｊにおける特徴値ｆｔｊと、現在の時系列ウィンドウｔについての入力ゲートベクトルｉｔ内の同じ順序位置ｊにおける特徴値ｉｔｊと、現在の時系列ウィンドウｔについての忘却ゲートベクトルｚｔ内の同じ順序位置ｊにおける特徴値ｚｔｊとに依存して計算することを含む。
【００６７】
したがって、擬人的には、数式（５）において、現在の忘却ゲートベクトルの各特徴値は、前の状態ベクトルからのそれぞれの特徴和の順序位置ごとの累算を制御し、現在の入力ゲートベクトルの各特徴値は、現在の活性化ベクトルからのそれぞれの特徴値の累算を順序位置ごとに制御する。ゆえに、図７において、特徴和ｃ１１は、特徴和ｃ０１と特徴値ｆ１１と特徴値ｉ１１と特徴値ｚ１１とに依存して累算される。同様に、特徴和ｃ１２は、特徴和ｃ０２と特徴値ｆ１２と特徴値ｉ１２と特徴値ｚ１２とに依存して累算される。同様に、特徴和ｃ１１００は、特徴和ｃ０１００と特徴値ｆ１１００と特徴値ｉ１１００と特徴値ｚ１１００とに依存して累算される。実装において、第１の状態ベクトルｃ０の特徴和は、ゼロに、又は事前訓練された値に、又は活性化ベクトルの特徴値に依存した値に初期化されてよい。
【００６８】
特徴並列性に関し、現在の時系列状態ベクトルｃｔについて、ＱＲＮＮプーリング層７００は、累算器を並列に適用して、数式（５）に従って状態ベクトルｃｔ内のすべての順序位置
【数２１】
2019537134.tif 000023
についての特徴和を同時に累算する。ゆえに、図７において、第１の時系列ウィンドウについての状態ベクトルｃ１  ８０２の特徴和ｃ１１，．．．，ｃ１１００は並列に累算される。同様に、第２の時系列ウィンドウについての状態ベクトルｃ２の特徴和ｃ２１，．．．，ｃ２１００は並列に累算される。同様に、第ｍの時系列ウィンドウについての状態ベクトルｃｍ  ８０４の特徴和ｃｍ１，．．．，ｃｍ１００は並列に累算される。
【００６９】
さらに、ＱＲＮＮプーリング層７００は、ｍ個の時系列ウィンドウの中の各々連続した時系列ウィンドウ
【数２２】
2019537134.tif 000024
について、状態ベクトルｃ１，．．．，ｃｍを順次出力する。
【００７０】
ゆえに、単一のＱＲＮＮプーリング層は入力依存プーリングを実行し、畳み込み特徴のゲート付き線形結合が後に続く。ＱＲＮＮプーリング関数の再帰部分は入力シーケンス内の各時間ステップについてＱＲＮＮプーリング層により算出されるが、特徴次元に沿ったＱＲＮＮプーリング層の並列性は、実際には、長い入力シーケンス上にＱＲＮＮプーリング関数を実現することが無視できる量の計算時間を要することを意味する。
【００７１】
一実装において、ＱＲＮＮは、現在の時系列ウィンドウについての状態ベクトル内の所与の順序位置における特徴和のランダムサブセットが、前の時系列ウィンドウについて同時に累算された状態ベクトル内の所与の順序位置におけるそれぞれの特徴和を複製するよう要求することにより、正則化される（regularized）。これは、現在の時系列ウィンドウについての忘却ゲートベクトル内の所与の順序位置におけるそれぞれの特徴値が１（unity）であるよう要求することにより達成される。
【００７２】
［ＱＲＮＮエンコーダ‐デコーダモデル］
図９は、ニューラルネットワークのシーケンス対シーケンス（sequence-to-sequence）モデル化において計算効率を増加させるＱＲＮＮエンコーダ‐デコーダモデル９００の一実装である。モデル９００は、ＱＲＮＮエンコーダ及びＱＲＮＮデコーダを含む。ＱＲＮＮエンコーダは、１つ以上のエンコーダ畳み込み層（９０２、９０６など）及び１つ以上のエンコーダプーリング層（９０４、９０８など）を含む。少なくとも１つのエンコーダ畳み込み層（９０２など）が、エンコーダ入力ベクトルの時系列を受信し、時系列ウィンドウについてエンコードされた畳み込みベクトルを同時に出力する。さらに、少なくとも１つのエンコーダプーリング層（９０４又は９０８など）が、時系列ウィンドウについてエンコードされた畳み込みベクトルを受信し、現在の時系列ウィンドウについてのエンコードされた状態ベクトル内の特徴和の順序付けられたセットを同時に累算し、時系列ウィンドウの中の各々連続した時系列ウィンドウについてエンコードされた状態ベクトル（９２２ａ、９２２ｂ、又は９２２ｃなど）を順次出力する。
【００７３】
ＱＲＮＮデコーダは、１つ以上のデコーダ畳み込み層（９１４、９１８など）及び１つ以上のデコーダプーリング層（９１６、９２０など）を含む。少なくとも１つのデコーダ畳み込み層（９１４など）は、デコーダ入力ベクトルの時系列を受信し、時系列ウィンドウについてデコードされた畳み込みベクトルを同時に出力する。少なくとも１つのデコーダプーリング層（９１６、９２０など）が、最後の時系列ウィンドウについてエンコーダプーリング層（９０４又は９０８など）により出力されたエンコードされた状態ベクトル（９１０又は９１２など）とそれぞれ連結された時系列ウィンドウについてのデコードされた畳み込みベクトル（９１５ａ、９１５ｂ、９１５ｃなど）を受信し、現在の時系列ウィンドウについてのデコードされた状態ベクトル内の特徴和の順序付けられたセットを同時に累算し、時系列ウィンドウの中の各々連続した時系列ウィンドウについてデコードされた状態ベクトル（９２４ａ、９２４ｂ、９２４ｃなど）を順次出力する。ゆえに、各デコーダＱＲＮＮ層の畳み込み関数の出力は、あらゆる時間ステップにおいて最後のエンコーダ隠れ状態で補足される（supplemented）。これは、層ｌについての畳み込みの結果（例えば、
【数２３】
2019537134.tif 000025
における、Ｗｚｌ＊Ｘｌ）をブロードキャストで層ｌの最後のエンコーダ状態の線形に射影された（linearly  projected）コピー（例えば、
【数２４】
2019537134.tif 000026
における、
【数２５】
2019537134.tif 000027
）に加算することにより達成される（９１０又は９１２など）。デコーダプーリング層入力を補足するこれらのステップは、ＱＲＮＮ１００の補足器（例えば、補足器９３４）により具現化される。
【００７４】
ＱＲＮＮエンコーダ‐デコーダモデル９００の活性化ベクトル及びゲートベクトルは、以下の数式により定義される。
【数２６】
2019537134.tif 000028
ここで、チルダは、
【数２７】
2019537134.tif 000029
がエンコーダ変数であることを表す。
【００７５】
次いで、状態比較器が、エンコードされた状態ベクトル（９２２ａ、９２２ｂ、又は９２２ｃなど）とデコードされた状態ベクトル（９２４ａ、９２４ｂ、又は９２４ｃなど）との間の言語類似度を（例えば、ドット積又は内積又は双線形積を使用して）算出して、エンコーディングごと及びデコーディングごとの軸を有するアフィニティ行列９２６を生成する。言語類似度を算出するこれらのステップは、注目（attention）エンコーダ／注目器（attender）９３８の状態比較器（例えば、状態比較器９４０）により具現化される。次に、ソフトマックスなどの指数関数的正規化器（exponential  normalizer）９２８が、アフィニティ行列９２６をエンコーディングごとに正規化して、以下に定義されるようにそれぞれのエンコーディング対デコーディング（encoding-to-decoding）注目重みαｓｔを生成する。
【数２８】
2019537134.tif 000030
【００７６】
次いで、エンコーディングミキサ（例えば、注目エンコーダ／注目器９３８のエンコーディングミキサ９４２）が、エンコードされた状態ベクトル（９２２ａ、９２２ｂ、又は９２２ｃなど）をエンコーディング対デコーディング注目重みとそれぞれ結合して、以下に定義されるようにエンコードされた状態ベクトルのそれぞれの文脈サマリｋｔを作成する。
【数２９】
2019537134.tif 000031
【００７７】
最後、注目エンコーダが、デコードされた状態ベクトル（９２４ａ、９２４ｂ、９２４ｃなど）をエンコードされた状態ベクトルのそれぞれの文脈サマリとそれぞれ結合して、時系列ウィンドウの各々についての注目エンコーディングを生成する。一実装において、注目エンコーダは多層パーセプトロンであり、該多層パーセプトロンは、デコードされた状態ベクトルとエンコードされた状態ベクトルのそれぞれの文脈サマリとの連結を非線形射影に射影して、時系列ウィンドウの各々についての注目エンコーディングを生成する。
【００７８】
いくつかの実装において、エンコードされた状態ベクトル（９２２ａ、９２２ｂ、又は９２２ｃなど）は、エンコードされた畳み込みベクトルの出力ゲートベクトル（例えば、注目エンコーダ／注目器９３８のデコーダ出力ゲート９４８）をそれぞれ乗算されて、それぞれのエンコードされた隠れ状態ベクトルを生成する。こうした実装において、状態比較器は、エンコードされた隠れ状態ベクトルとデコードされた状態ベクトルとの間の言語類似度を（例えば、ドット積又は内積又は双線形積を使用して）算出して、エンコーディングごと及びデコーディングごとの軸を有するアフィニティ行列を生成する。さらに、こうした実装において、エンコーディングミキサは、エンコードされた隠れ状態ベクトルをエンコーディング対デコーディング注目重みとそれぞれ結合して、エンコードされた隠れ状態ベクトルのそれぞれの文脈サマリを作成する。さらに、こうした実装において、注目エンコーダは、デコードされた状態ベクトルをエンコードされた隠れ状態ベクトルのそれぞれの文脈サマリとそれぞれ結合し、該結合をデコードされた畳み込みベクトルのそれぞれの出力ゲートベクトルとさらに乗算して、時系列ウィンドウの各々についての注目エンコーディングを生成する。一実装において、注目エンコーダは多層パーセプトロンであり、該多層パーセプトロンは、デコードされた状態ベクトルとエンコードされた隠れ状態ベクトルのそれぞれの文脈サマリとの連結を非線形射影に射影し、線形射影９３０をデコードされた畳み込みベクトルのそれぞれの出力ゲートベクトル９３２とさらに乗算して、以下に定義されるように時系列ウィンドウの各々についての注目エンコーディングを生成する。
【数３０】
2019537134.tif 000032
ここで、Ｌは最後の層である。線形射影のこれらステップは、注目エンコーダ／注目器９３８の線形パーセプトロン９４４により具現化される。連結のこれらステップは、注目エンコーダ／注目器９３８の連結器９４６により具現化される。
【００７９】
注目手順の第１のステップはシーケンス長における二次方程式であるが、実際には、それは、簡素且つ高度に並列なドット積スコア付け関数に起因して、モデルの線形及び畳み込み層より有意により少ない計算時間を要する。
【００８０】
開示される技術の他の実装が、指数関数的正規化器と異なる、該正規化器に追加で、及び／又は該正規化器と組み合わせで正規化器を使用することを含む。いくつかの例が、シグモイドに基づく正規化器（例えば、マルチクラスシグモイド、区分ランプ）、双曲線正接に基づく正規化器、正規化線形ユニット（rectified  linear  unit、ＲｅＬＵ）に基づく正規化器、識別に基づく正規化器、ロジスティックに基づく正規化器、正弦に基づく正規化器、余弦に基づく正規化器、ユニット和（unit  sum）に基づく正規化器、及びステップに基づく正規化器を含む。他の例が、階層ソフトマックス（hierarchical  softmax）、差別化ソフトマックス（differentiated  softmax）、重点サンプリング（importance  sampling）、雑音対比推定（noise  contrastive  estimation）、ネガティブサンプリング（negative  sampling）、ゲート付きソフトマックス（gated  softmax）、球形ソフトマックス（spherical  softmax）、テイラーソフトマックス（Taylor  softmax）、及びスパースマックス（sparsemax）を含む。さらに他の実装において、任意の他の従来の又は将来開発される正規化器が使用されてよい。
【００８１】
［実験結果］
ＱＲＮＮは、３つの異なる自然言語処理（ＮＬＰ）タスク、すなわちドキュメントレベルセンチメント分類、言語モデル化、及びキャラクタに基づくニューラルネットワーク機械翻訳において、等しい状態ベクトルサイズのＬＳＴＭに基づくモデルを上回ると同時に、計算速度を劇的に改善する。状態ベクトルを使用して異なるＮＬＰタスクを実行するこれらのステップは、ＱＲＮＮ１００の分類器（例えば、分類器８０６）又はＱＲＮＮエンコーダ‐デコーダモデル９００の翻訳器９５０により具現化される。
【００８２】
図１０は、一般的なドキュメントレベルセンチメント分類ベンチマーク、ＩＭＤｂムービーレビューデータセットについての、センチメント分類タスクにおけるＱＲＮＮの精度比較を示す表である。該データセットは、２５，０００の肯定的レビュー及び２５，０００の否定的レビューのバランスのとれたサンプルを含み、等サイズの訓練及びテストセットに分割され、２３１ワードの平均ドキュメント長を有する。一実装において、層あたり２５６ユニット、及び３００次元の大文字小文字区別されたＧｌｏＶｅ埋め込みを使用して初期化されたワードベクトルを有する、４層の密接続されたアーキテクチャを有するＱＲＮＮが、ホールドアウト開発（held-out  development）に対して最良の性能を達成している。
【００８３】
図１１は、ＩＭＤｂデータセットからの例の一部における最後のＱＲＮＮ層の隠れ状態ベクトルの視覚化の一実装を示し、時間ステップが垂直軸に沿う。いかなる後処理もなくとも、隠れ状態における変化が可視であり、入力に関して解釈可能である。これは、隠れ状態の異なるチャネル間の直接の相互作用を次のＱＲＮＮ層の計算まで遅延させる、再帰プーリング関数の要素ごとの性質の結果である。
【００８４】
図１１において、色はニューロン活性化を表す。最初の肯定的発言「この映画は単純にゴージャスだ」（時間ステップ９においてグラフから外れる）の後、時間ステップ１１７が（「主な弱点はそのストーリーである」の直後に）フレーズ「必ずしも悪いストーリーではない」に起因してほとんどの隠れ状態のリセットをトリガする。時間ステップ１５８においてのみ、「あなたがゲームをプレーしたことがないとしても私はこの映画を皆に薦める」の後、隠れユニット回復を行う。
【００８５】
図１２は、言語モデル化タスクにおけるＱＲＮＮの精度比較を示す表を表す。実験は、ペンツリーバンク（Penn  Treebank、ＰＴＢ）の標準の前処理されたバージョンを使用している。図１２は、ペンツリーバンク言語モデル化タスクの検証及びテストセットにおける単一モデルの難局を示す。より低いのがより良い。「中間（Medium）」は、層あたり６４０又は６５０個の隠れユニットを有する２層ネットワークを参照する。すべてのＱＲＮＮモデルが、いくつかの実装において、埋め込みに及び層間に０．５のドロップアウトを含む。ＭＣは、テスト時間におけるモンテカルロ（Monte  Carlo）ドロップアウト平均を参照する。
【００８６】
図１２に示されるように、ＱＲＮＮは、異なるタイプのＬＳＴＭを強く上回る。これは、再帰において構造的正則化を提供するＬＳＴＭの再帰重みに相対してＱＲＮＮのプーリング層が有する効率的な計算キャパシティに起因する。
【００８７】
図１３は、言語翻訳タスクにおけるＱＲＮＮの精度比較を示す表である。ＱＲＮＮエンコーダ‐デコーダモデルは、フルにキャラクタレベルのセグメント化を適用する、チャレンジングなニューラルネットワーク機械翻訳タスク、ＩＷＳＬＴ  ドイツ語‐英語口語ドメイン翻訳で評価される。このデータセットは、筆記されたＴＥＤ及びＴＥＤｘプレゼンテーションからの並列な訓練データの２０９，７７２シーケンスペアを含み、ドイツ語について１０３キャラクタ、英語について９３の平均センテンス長を有する。
【００８８】
ＱＲＮＮエンコーダ‐デコーダモデルは、層あたり３２０ユニット、ドロップアウト又はＬ２正則化なし、及び最大５の大きさへの勾配再スケーリングを有する４層エンコーダ‐デコーダＱＲＮＮを使用して、開発セット（ＴＥＤ．ｔｓｔ２０１３）に対して最良の性能を達成する。図１３は、ＱＲＮＮエンコーダ‐デコーダモデルがキャラクタレベルのＬＳＴＭを上回り、ワードレベルの注目ベースラインの性能にほぼ一致することを示す。
【００８９】
図１４は、ＱＲＮＮの訓練速度及び推論速度を示すチャートを表す。図１４において左側には、１０５個の時間ステップの２０個の例のバッチにおける２層６４０ユニットＰＴＢ  ＬＭの訓練速度が示されている。「ＲＮＮ」及び「ソフトマックス」はフォワード及びバックワード時間を含み、一方で、「最適化オーバーヘッド」は勾配クリッピング、Ｌ２正則化、及びＳＧＤ計算を含む。図１４は右側には、所与のバッチサイズ及びシーケンス長を有するデータについての、３２０ユニットＱＲＮＮ層の、等サイズのｃｕＤＮＮ  ＬＳＴＭ層に対する推論速度の利点を示す。訓練結果は同様である。
【００９０】
［サンプルコード］
以下のサンプルコードはＱＲＮＮ１００の一実装を示す。
（外１）
2019537134.tif 000033
（外２）
2019537134.tif 000034
（外３）
2019537134.tif 000035
（外４）
2019537134.tif 000036
（外５）
2019537134.tif 000037
【００９１】
［具体的な実装］
擬似リカレントニューラルネットワーク（ＱＲＮＮ）のためのシステム、方法、及び製造品を我々は説明する。実装の１つ以上の特徴が、基本の実装と組み合わせられてよい。相互排他的でない実装は、結合可能であることが教示される。実装の１つ以上の特徴が、他の実装と組み合わせられてよい。本開示は、これらの選択肢をユーザに周期的に注意する。これらの選択肢を繰り返す記載の、いくつかの実装からの省略は、前のセクションにおいて教示された組み合わせを制限するものとみなされるべきでない。これらの記載は、以後参照により以下の実装の各々にここで援用される。
【００９２】
この具体的な実装のセクションにおいて、ＱＲＮＮ１００及びＱＲＮＮエンコーダ‐デコーダモデル９００の前に説明されたモジュール又はコンポーネント、例えば畳み込み層、プーリング層、及び注目エンコーダなどは、代わりに、その動作原理又はＱＲＮＮ１００又はＱＲＮＮエンコーダ‐デコーダモデル９００を変更することなくより小さいモジュール化されたモジュール又はコンポーネントを使用して説明される。
【００９３】
この具体的な実装のセクション内のモジュールは、ハードウェア又はソフトウェアにおいて実現でき、この具体的な実装のセクションで論じられるのと正確に同じ方法で分割される必要はない。モジュールのいくつかが、異なるプロセッサ又はコンピュータ上で実現され、あるいは複数の異なるプロセッサ又はコンピュータ間で分散されてもよい。さらに、モジュールのいくつかが、達成される機能に影響することなく、組み合わせられ、並列に、又はこの具体的な実装のセクションで論じられるシーケンスと異なるシーケンスで動作し得ることが十分理解されるであろう。さらに、本明細書で使用されるとき、用語「モジュール」は「サブモジュール」を含んでよく、サブモジュールはそれら自体、モジュールを構成すると本明細書において考えられてよい。例えば、畳み込みフィルタバンク２１０、畳み込みベクトル生成器２１２、及び次元数拡大器２１４は、畳み込み層２００のサブモジュールであると本明細書において考えられてよい。別の例において、状態比較器９４０、エンコーディングミキサ９４２、線形パーセプトロン９４４、連結器９４６、及びデコーダ出力ゲート９４８は、注目エンコーダ又は注目器９３８のサブモジュールであると本明細書において考えられてよい。別の例において、状態ベクトル内の要素の順序及び文脈情報をエンコードするエンコーダは、プーリング層のサブモジュールであると本明細書において考えられてよい。この具体的な実装で論じられるモジュールは、方法におけるフローチャートステップと考えられてもよい。モジュールもまた、必ずしもすべてのそのコードをメモリに連続して配置させる必要はない。コードのいくつかの部分がコードの他の部分から分離され、他のモジュール又は他の機能からのコードが間に配置されてよい。
【００９４】
［ＱＲＮＮ］
一実装において、開示される技術は、擬似リカレントニューラルネットワーク（略称ＱＲＮＮ）システムを提示する。ＱＲＮＮシステムは、多数の並列処理コア上で動作する。ＱＲＮＮシステムは、ニューラルネットワークに基づくシーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させる。
【００９５】
ＱＲＮＮシステムは、畳み込み層、プーリング層、出力生成器（例えば、出力生成器６０４）、及び分類器（例えば、分類器８０６）を含む。
【００９６】
畳み込み層は、入力ベクトルの複数の時系列の中の入力ベクトルの時系列のセット上の時系列ウィンドウ内の入力ベクトルの並列畳み込みのための畳み込みフィルタバンクを含む。畳み込み層は、並列畳み込みに基づいて時系列ウィンドウの各々についての畳み込みベクトルを同時に出力する畳み込みベクトル生成器をさらに含む。各畳み込みベクトルは、活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、ゲートベクトル内の特徴値は、要素ごとに順序位置により活性化ベクトル内の特徴値にそれぞれ適用するパラメータである。
【００９７】
プーリング層は、畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することによる現在の時系列ウィンドウについての状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器（例えば、累算器６０２）を含む。各特徴和は、現在の時系列ウィンドウについて出力された活性化ベクトル内の所与の順序位置における特徴値と、現在の時系列ウィンドウについて出力された１つ以上のゲートベクトル内の所与の順序位置における１つ以上の特徴値と、前の時系列ウィンドウについて累算された状態ベクトル内の所与の順序位置における特徴和とに依存して、累算器により累算される。
【００９８】
出力生成器は、各々連続した時系列ウィンドウにおいて、プーリング層によりプーリングされた状態ベクトルを順次出力する。
【００９９】
分類器は、出力生成器により生成される連続した状態ベクトルを使用してシーケンス分類タスクを実行する。
【０１００】
このシステムの実装及び開示される他のシステムは、以下の特徴のうち１つ以上を任意選択で含む。システムは、開示される方法と関連して説明される特徴を含んでもよい。簡潔さのために、システムの特徴の代替的な組み合わせは個々に列挙されない。システム、方法、及び製造品に適用可能な特徴は、基本の特徴の各法定分類セットについて繰り返されない。本セクションにおいて識別される特徴が他の法定分類における基本の特徴と如何に容易に組み合わせられ得るかを読み手は理解するであろう。
【０１０１】
ＱＲＮＮシステムは、畳み込みフィルタバンク内の畳み込みフィルタの数に依存して、入力ベクトルの次元数に相対して畳み込みベクトルの次元数を拡大する次元数拡大器をさらに含む。
【０１０２】
入力ベクトルは、入力シーケンスの要素を表してよい。プーリング層は、状態ベクトル内の要素の順序及び文脈情報をエンコードするエンコーダ（例えば、エンコーダ１４２、１４６）を含んでよい。エンコードするこれらのステップは、プーリング層のエンコーダ（例えば、エンコーダ１４２、１４６）により具現化される。
【０１０３】
いくつかの実装において、入力シーケンスはワードレベルシーケンスであってよい。他の実装において、入力シーケンスはキャラクタレベルシーケンスであってよい。
【０１０４】
ゲートベクトルは忘却ゲートベクトルであってよい。こうした実装において、プーリング層は、現在の時系列ウィンドウについての忘却ゲートベクトルを使用して、前の時系列ウィンドウについて累算された状態ベクトルからの情報と現在の時系列ウィンドウについての活性化ベクトル内の情報との累算を制御してよい。
【０１０５】
ゲートベクトルは入力ゲートベクトルであってよい。こうした実装において、プーリング層は、現在の時系列ウィンドウについての入力ゲートベクトルを使用して、現在の時系列ウィンドウについての活性化ベクトルからの情報の累算を制御してよい。
【０１０６】
ゲートベクトルは出力ゲートベクトルであってよい。こうした実装において、プーリング層は、現在の時系列ウィンドウについての出力ゲートベクトルを使用して、現在の時系列ウィンドウについての状態ベクトルからの情報の累算を制御してよい。
【０１０７】
ＱＲＮＮシステムは、最低から最高へシーケンスにおいて配置された複数のサブＱＲＮＮをさらに含んでよい。各サブＱＲＮＮは、少なくとも１つの畳み込み層及び少なくとも１つのプーリング層を含んでよい。
【０１０８】
サブＱＲＮＮは、シーケンス内の先行サブＱＲＮＮシステムにより作成された先行出力を入力として受信する入力受信器（例えば、入力受信器１４４）と、先行出力の代替表現を生成するための、先行出力の並列畳み込みのための畳み込み層と、出力を生成するための、代替表現の並列累算のためのプーリング層とをさらに含んでよい。
【０１０９】
ＱＲＮＮシステムは、先行層の出力を現在の層の出力と連結するため、及び該連結を続きの層に入力として提供するために、サブＱＲＮＮ間及びサブＱＲＮＮ内の層間のスキップ接続をさらに含んでよい。
【０１１０】
シーケンス分類タスクは、言語モデル化、センチメント分類、ドキュメント分類、ワードレベル機械翻訳、又はキャラクタレベル機械翻訳であってよい。
【０１１１】
ＱＲＮＮシステムは、現在の時系列ウィンドウについての忘却ゲートベクトル内の所与の順序位置におけるそれぞれの特徴値が１（unity）であるように要求することにより畳み込み層及びプーリング層を正則化する正則化器（例えば、正則化器１４０）をさらに含んでよい。これは、前の時系列ウィンドウについて同時に累算された状態ベクトル内の所与の順序位置におけるそれぞれの特徴和に一致する、現在の時系列ウィンドウについての状態ベクトル内の所与の順序位置における特徴和のランダムサブセットを生成する。
【０１１２】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０１１３】
別の実装において、開示される技術は、擬似リカレントニューラルネットワーク（略称ＱＲＮＮ）システムを提示する。ＱＲＮＮシステムは、多数の並列処理コア上で動作する。ＱＲＮＮシステムは、ニューラルネットワークに基づくシーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させる。
【０１１４】
ＱＲＮＮシステムは、畳み込み層、プーリング層、出力生成器（例えば、出力生成器６０４）、及び分類器（例えば、分類器８０６）を含む。
【０１１５】
畳み込み層は、入力ベクトルの複数の時系列の中の入力ベクトルの時系列のセット上の時系列ウィンドウ内の入力ベクトルの並列畳み込みのための畳み込みフィルタバンクを含む。畳み込み層は、並列畳み込みに基づいて時系列ウィンドウの各々についての畳み込みベクトルを同時に出力する畳み込みベクトル生成器をさらに含む。
【０１１６】
プーリング層は、畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することによる現在の時系列ウィンドウについての状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器（例えば、累算器６０２）を含む。
【０１１７】
出力生成器は、各々連続した時系列ウィンドウにおいて、プーリング層によりプーリングされた状態ベクトルを順次出力する。
【０１１８】
分類器は、出力生成器により生成される連続した状態ベクトルを使用してシーケンス分類タスクを実行する。
【０１１９】
第１のシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべてのシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１２０】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０１２１】
さらに別の実装において、開示される技術は、ニューラルネットワークに基づくシーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させる方法を提示する。
【０１２２】
方法は、入力ベクトルの複数の時系列の中の入力ベクトルの時系列のセット上の時系列ウィンドウ内の入力ベクトルに並列に畳み込みフィルタバンクを適用して、時系列ウィンドウの各々についての畳み込みベクトルを同時に出力するステップを含む。各畳み込みベクトルは、活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、ゲートベクトル内の特徴値は、要素ごとに順序位置により活性化ベクトル内の特徴値にそれぞれ適用するパラメータである。
【０１２３】
方法は、畳み込みベクトルの成分の特徴値上に並列に累算器を適用して、順序位置ごとベースで現在の時系列ウィンドウについての状態ベクトル内に、特徴和の順序付けられたセットを同時に累算するステップを含む。各特徴和は、現在の時系列ウィンドウについて出力された活性化ベクトル内の所与の順序位置における特徴値と、現在の時系列ウィンドウについて出力された１つ以上のゲートベクトル内の所与の順序位置における１つ以上の特徴値と、前の時系列ウィンドウについて累算された状態ベクトル内の所与の順序位置における特徴和とに依存して、累算器により累算される。
【０１２４】
方法は、各々連続した時系列ウィンドウにおいて、累算器により累算された状態ベクトルを順次出力するステップを含む。
【０１２５】
方法は、状態ベクトルを使用してシーケンス分類タスクを実行するステップを含む。
【０１２６】
第１のシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、この方法の実装に等しく適用される。上記で示されたように、すべてのシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１２７】
他の実装が、上記で説明された方法を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体（ＣＲＭ）を含んでよい。さらに別の実装が、メモリと、メモリに記憶され上記で説明された方法を実行するための命令を実行するよう動作可能な１つ以上のプロセッサと、を含むシステムを含んでよい。
【０１２８】
開示される技術は、ニューラルネットワークシーケンスモデル化における計算効率を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）システムを提示する。
【０１２９】
ＱＲＮＮシステムは、多数の処理コア上で動作する畳み込み層を含む。畳み込み層は、入力ベクトルの時系列を受信し、入力ベクトル上の時系列ウィンドウに並列に畳み込みフィルタバンクを適用し、時系列ウィンドウについての畳み込みベクトルを同時に出力する。畳み込みベクトルの各々は、活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、ゲートベクトル内の特徴値は、要素ごとに順序位置により活性化ベクトル内の特徴値にそれぞれ適用するパラメータである。
【０１３０】
ＱＲＮＮシステムは、多数の処理コア上で動作するプーリング層を含む。プーリング層は、時系列ウィンドウについての畳み込みベクトルを受信し、畳み込みベクトルの特徴値上で並列に動作して、順序位置ごとに現在の時系列ウィンドウについての状態ベクトル内に、特徴和の順序付けられたセットを同時に累算する。
【０１３１】
特徴和は、現在の時系列ウィンドウについて出力された活性化ベクトル内の所与の順序位置における特徴値と、現在の時系列ウィンドウについて出力された１つ以上のゲートベクトル内の所与の順序位置における１つ以上の特徴値と、前の時系列ウィンドウについて累算された状態ベクトル内の所与の順序位置における特徴和とに依存して累算される。
【０１３２】
このシステムの実装及び開示される他のシステムは、以下の特徴のうち１つ以上を任意選択で含む。システムは、開示される方法と関連して説明される特徴を含んでもよい。簡潔さのために、システムの特徴の代替的な組み合わせは個々に列挙されない。システム、方法、及び製造品に適用可能な特徴は、基本の特徴の各法定分類セットについて繰り返されない。本セクションにおいて識別される特徴が他の法定分類における基本の特徴と如何に容易に組み合わせられ得るかを読み手は理解するであろう。
【０１３３】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１３４】
次いで、プーリング層は、時系列ウィンドウの中の各々連続した時系列ウィンドウについての状態ベクトルを順次出力する。
【０１３５】
畳み込みベクトルの次元数は、畳み込みフィルタバンク内の畳み込みフィルタの数に依存して、入力ベクトルの次元数に相対して拡大されてよい。
【０１３６】
入力ベクトルは、入力シーケンスの要素を表してよい。こうした実装において、プーリング層は、状態ベクトル内の要素の順序及び文脈情報をエンコードしてよい。
【０１３７】
いくつかの実装において、入力シーケンスはワードレベルシーケンスであってよい。他の実装において、入力シーケンスはキャラクタレベルシーケンスであってよい。
【０１３８】
ゲートベクトルは忘却ゲートベクトルであってよい。こうした実装において、プーリング層は、現在の時系列ウィンドウについての忘却ゲートベクトルを使用して、前の時系列ウィンドウについて累算された状態ベクトルからの情報と現在の時系列ウィンドウについての活性化ベクトル内の情報との累算を制御してよい。
【０１３９】
ゲートベクトルは入力ゲートベクトルであってよい。こうした実装において、プーリング層は、現在の時系列ウィンドウについての入力ゲートベクトルを使用して、現在の時系列ウィンドウについての活性化ベクトルからの情報の累算を制御してよい。
【０１４０】
ゲートベクトルは出力ゲートベクトルであってよい。こうした実装において、プーリング層は、現在の時系列ウィンドウについての出力ゲートベクトルを使用して、現在の時系列ウィンドウについての状態ベクトルからの情報の累算を制御してよい。
【０１４１】
ＱＲＮＮシステムは、最低から最高へシーケンスにおいて配置された複数のサブＱＲＮＮを含んでよい。各サブＱＲＮＮは、少なくとも１つの畳み込み層及び少なくとも１つのプーリング層を含んでよい。
【０１４２】
サブＱＲＮＮは、シーケンス内の先行サブＱＲＮＮにより作成された先行出力を入力として受信し、先行出力を畳み込み層を通じて処理して先行出力の代替表現を生成し、代替表現をプーリング層を通じて処理して出力を生成するように構成されてよい。
【０１４３】
ＱＲＮＮシステムは、サブＱＲＮＮ間及びサブＱＲＮＮ内の層間のスキップ接続を含んでよい。スキップ接続は、先行層の出力を現在の層の出力と連結し、該連結を続きの層に入力として提供してよい。
【０１４４】
畳み込みフィルタバンク内の畳み込みフィルタは、シーケンスタスクを使用して訓練されてよい。シーケンスタスクは、言語モデル化、センチメント分類、ドキュメント分類、ワードレベル機械翻訳、又はキャラクタレベル機械翻訳であってよい。
【０１４５】
ＱＲＮＮシステムは、現在の時系列ウィンドウについての忘却ゲートベクトル内の所与の順序位置におけるそれぞれの特徴値が１（unity）であるように要求することにより正則化されてよい。これは、前の時系列ウィンドウについて同時に累算された状態ベクトル内の所与の順序位置におけるそれぞれの特徴和に一致する、現在の時系列ウィンドウについての状態ベクトル内の所与の順序位置における特徴和のランダムサブセットを生成する。
【０１４６】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０１４７】
開示される技術は、ニューラルネットワークシーケンスモデル化における計算効率を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）システムを提示する。
【０１４８】
ＱＲＮＮシステムは、多数の処理コア上で動作する畳み込み層を含む。畳み込み層は、入力ベクトルの時系列を受信し、入力ベクトル上の時系列ウィンドウに並列に畳み込みフィルタバンクを適用し、時系列ウィンドウについての畳み込みベクトルを同時に出力する。畳み込みベクトルの各々は、活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、ゲートベクトル内の特徴値は、要素ごとに順序位置により活性化ベクトル内の特徴値にそれぞれ適用するパラメータである。
【０１４９】
ＱＲＮＮシステムは、多数の処理コア上で動作するプーリング層を含む。プーリング層は、時系列ウィンドウについての畳み込みベクトルを受信し、畳み込みベクトルのそれぞれの特徴値に並列に累算器を適用して、時系列ウィンドウの中の各々連続した時間ステップについての状態ベクトルを算出する。
【０１５０】
各時間ステップにおいて、畳み込みベクトルの活性化ベクトル及び１つ以上のゲートベクトル内のそれぞれの順序位置について、累算器は、もしあれば前の時間ステップからの状態ベクトル内の所与の順序位置における特徴和に、現在の時間ステップについての忘却ゲートベクトル内の所与の順序位置におけるそれぞれの特徴値を乗算することで開始し、現在の時間ステップについての活性化ベクトル内の所与の順序位置におけるそれぞれの特徴値の、現在の時間ステップについてのゲートベクトル内の所与の順序位置における１つ以上のそれぞれの特徴値に対する評価を加算し、それぞれの順序位置のすべてにわたり累算器の結果を結合する現在の時間ステップについての状態ベクトルを出力する。
【０１５１】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１５２】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０１５３】
開示される技術は、ニューラルネットワークシーケンスモデル化における計算効率を増加させる方法を提示する。
【０１５４】
方法は、入力ベクトルの時系列を受信するステップと、入力ベクトル上の時系列ウィンドウに並列に畳み込みフィルタバンクを適用するステップと、時系列ウィンドウについての畳み込みベクトルを同時に出力するステップとを含む。畳み込みベクトルの各々は、活性化ベクトル内及び１つ以上のゲートベクトル内の特徴値を含み、ゲートベクトル内の特徴値は、要素ごとに順序位置により活性化ベクトル内の特徴値にそれぞれ適用するパラメータである。
【０１５５】
方法は、畳み込みベクトルの特徴値上で並列に動作して、順序位置ごとに現在の時系列ウィンドウについての状態ベクトル内に、特徴和の順序付けられたセットを同時に累算するステップを含む。特徴和は、現在の時系列ウィンドウについて出力された活性化ベクトル内の所与の順序位置における特徴値と、現在の時系列ウィンドウについて出力された１つ以上のゲートベクトル内の所与の順序位置における１つ以上の特徴値と、前の時系列ウィンドウについて累算された状態ベクトル内の所与の順序位置における特徴和とに依存して累算される。
【０１５６】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、この方法の実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１５７】
他の実装が、上記で説明された方法を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体（ＣＲＭ）を含んでよい。さらに別の実装が、メモリと、メモリに記憶され上記で説明された方法を実行するための命令を実行するよう動作可能な１つ以上のプロセッサと、を含むシステムを含んでよい。
【０１５８】
開示される技術は、ニューラルネットワークシーケンスモデル化における計算効率を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）システムを提示する。
【０１５９】
ＱＲＮＮシステムは畳み込み層を含み、該畳み込み層は、入力ベクトルの時系列を受信し、時系列ウィンドウについての畳み込みベクトルを同時に出力する。
【０１６０】
ＱＲＮＮシステムはプーリング層を含み、該プーリング層は、時系列ウィンドウについての畳み込みベクトルを受信し、現在の時系列ウィンドウについての状態ベクトル内の特徴値の順序付けられたセットを同時に累算し、時系列ウィンドウの中の各々連続した時系列ウィンドウについての状態ベクトルを順次出力する。
【０１６１】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１６２】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０１６３】
［ＱＲＮＮエンコーダ‐デコーダモデル］
一実装において、開示される技術は、擬似リカレントニューラルネットワーク（略称ＱＲＮＮ）システムを提示する。ＱＲＮＮシステムは、多数の並列処理コア上で動作する。ＱＲＮＮシステムは、ソース言語シーケンスをターゲット言語シーケンスに翻訳するニューラルネットワークに基づくシーケンス対シーケンス機械翻訳タスクの訓練及び推論段階の間の計算速度を増加させる。
【０１６４】
ＱＲＮＮシステムは、ＱＲＮＮエンコーダ、ＱＲＮＮデコーダ、及び翻訳器を含む。ＱＲＮＮエンコーダは、少なくとも１つのエンコーダ畳み込み層、少なくとも１つのエンコーダプーリング層、及び少なくとも１つのエンコーダ出力ゲートを含む。ＱＲＮＮデコーダは、少なくとも１つのデコーダ畳み込み層、少なくとも１つのデコーダプーリング層、及び少なくとも１つの注目器又は注目エンコーダを含む。注目器は、状態比較器、エンコーディングミキサ、パーセプトロン又は線形パーセプトロン、及びデコーダ出力ゲートを含む。
【０１６５】
エンコーダ畳み込み層は、ソース言語ベクトルの複数の時系列の中のソース言語ベクトルの時系列のセット上のエンコーダ時系列ウィンドウ内のソース言語ベクトルの並列畳み込みのためのエンコーダ畳み込みフィルタバンクを含む。エンコーダ畳み込み層は、並列畳み込みに基づいてエンコーダ時系列ウィンドウの各々についてエンコーダの畳み込みベクトルを同時に出力するエンコーダ畳み込みベクトル生成器をさらに含む。
【０１６６】
エンコーダプーリング層は、エンコーダの畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することにより各々連続したエンコーダ時系列ウィンドウについて順次生成されるエンコーダの各状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器を含む。
【０１６７】
エンコーダ出力ゲート（例えば、エンコーダ出力ゲート９３６）は、エンコーダの状態ベクトルに出力ゲートベクトルを適用し、それによりエンコーダの隠れ状態ベクトルを生成するエンコーダ隠れ状態生成器（例えば、エンコーダ隠れ状態生成器９３７）を含む。
【０１６８】
デコーダ畳み込み層は、デコーダ入力ベクトルの複数の時系列の中のデコーダ入力ベクトルの時系列のセット上のデコーダ時系列ウィンドウ内のデコーダ入力ベクトルの並列畳み込みのためのデコーダ畳み込みフィルタバンクを含む。最初のデコーダ時系列ウィンドウにおいて、デコーダ畳み込みフィルタバンクは、翻訳開始（start-of-translation）トークンである単一のデコーダ入力ベクトルのみを畳み込む。連続したデコーダ時系列ウィンドウにおいて、デコーダ畳み込みフィルタバンクは、翻訳開始トークンと前に発行されたターゲット言語ベクトルとを含むデコーダ入力ベクトルを畳み込む。
【０１６９】
デコーダ畳み込み層は、並列畳み込みに基づいてデコーダ時系列ウィンドウの各々についてデコーダの畳み込みベクトルを同時に出力するデコーダ畳み込みベクトル生成器をさらに含む。
【０１７０】
デコーダプーリング層は、デコーダの畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することにより各々連続したデコーダ時系列ウィンドウについて順次生成されるデコーダの各状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器を含む。
【０１７１】
注目器は、エンコーダの隠れ状態ベクトルとデコーダの状態ベクトルとの間のペアごと類似度スコアを決定する状態比較器（例えば、状態比較器９４０）を含む。
【０１７２】
注目器は、エンコーダ時系列ウィンドウに沿って生成された指数関数的に正規化された類似度スコアシーケンスによりスケーリングされたエンコーダの隠れ状態ベクトルの凸結合としてエンコーダの隠れ状態ベクトルの文脈サマリを作成するエンコーディングミキサ（例えば、エンコーディングミキサ９４２）を含む。
【０１７３】
注目器は、文脈サマリとデコーダの状態ベクトルとを線形に射影するパーセプトロン又は線形パーセプトロン（例えば、線形パーセプトロン９４４）を含む。
【０１７４】
注目器は、線形に射影された文脈サマリ及びデコーダの状態ベクトルを結合する連結器（例えば、連結器９４６）を含む。
【０１７５】
注目器は、結合された線形に射影された文脈サマリ及びデコーダの状態ベクトルに出力ゲートベクトルを適用し、それによりデコーダの隠れ状態ベクトルを生成するデコーダ出力ゲート（例えば、デコーダ出力ゲート９４８）を含む。
【０１７６】
ＱＲＮＮシステムは、デコードされた隠れ状態ベクトルに基づいてターゲット言語ベクトルを発行することによりシーケンス対シーケンス機械翻訳タスクを実行する翻訳器（例えば、翻訳器９５０）を含む。
【０１７７】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１７８】
ＱＲＮＮシステムは、最後のエンコーダ時系列ウィンドウについてエンコーダ隠れ状態生成器により生成されたエンコーダの最後の隠れ状態ベクトルを用いてデコーダプーリング層への各入力を補足する補足器（例えば、補足器９３４）を含む。
【０１７９】
状態比較器は、エンコーダの隠れ状態ベクトルとデコーダの状態ベクトルとの間のペアごと類似度スコアを決定するためにドット積又は双線形積を使用してよい。
【０１８０】
ソース言語シーケンス及びターゲット言語シーケンスは、ワードレベルシーケンス又はキャラクタレベルシーケンスであってよい。
【０１８１】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０１８２】
別の実装において、開示される技術は、擬似リカレントニューラルネットワーク（略称ＱＲＮＮ）システムを提示する。ＱＲＮＮシステムは、多数の並列処理コア上で動作する。ＱＲＮＮシステムは、ソース言語シーケンスをターゲット言語シーケンスに翻訳するニューラルネットワークに基づくシーケンス対シーケンス機械翻訳タスクの訓練及び推論段階の間の計算速度を増加させる。
【０１８３】
ＱＲＮＮシステムは、ＱＲＮＮエンコーダ、ＱＲＮＮデコーダ、及び翻訳器を含む。
【０１８４】
ＱＲＮＮエンコーダは、ソース言語ベクトルの複数の時系列の中のソース言語ベクトルの時系列のセット上のエンコーダ時系列ウィンドウ内のソース言語ベクトルの並列畳み込みのための少なくとも１つのエンコーダ畳み込み層であって、それによりエンコーダ時系列ウィンドウの各々についてエンコーダの畳み込みベクトルを同時に出力する、エンコーダ畳み込み層と、各々連続したエンコーダ時系列ウィンドウについて順次生成されるエンコーダの各状態ベクトル内の特徴和の順序付けられたセットの並列累算のための少なくとも１つのエンコーダプーリング層と、エンコーダの状態ベクトルに出力ゲートベクトルを適用し、それによりエンコーダの隠れ状態ベクトルを生成するエンコーダ隠れ状態生成器とを含む。
【０１８５】
ＱＲＮＮデコーダは、デコーダ入力ベクトルの複数の時系列の中のデコーダ入力ベクトルの時系列のセット上のデコーダ時系列ウィンドウ内のデコーダ入力ベクトルの並列畳み込みのための少なくとも１つのデコーダ畳み込み層であって、それによりデコーダ時系列ウィンドウの各々についてデコーダの畳み込みベクトルを同時に出力する、デコーダ畳み込み層と、各々連続したデコーダ時系列ウィンドウについて順次生成されるデコーダの各状態ベクトル内の特徴和の順序付けられたセットの並列累算のための少なくとも１つのデコーダプーリング層とを含む。
【０１８６】
ＱＲＮＮシステムは、エンコーダの隠れ状態ベクトルの文脈サマリをデコーダの状態ベクトルと結合することによりデコーダの隠れ状態ベクトルを作成する注目器を含む。
【０１８７】
ＱＲＮＮシステムは、デコードされた隠れ状態ベクトルに基づいてターゲット言語ベクトルを発行することによりシーケンス対シーケンス機械翻訳タスクを実行する翻訳器（例えば、翻訳器９５０）を含む。
【０１８８】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１８９】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０１９０】
開示される技術は、ソース言語シーケンスをターゲット言語シーケンスに翻訳するニューラルネットワークに基づくシーケンス対シーケンス機械翻訳タスクの訓練及び推論段階の間の計算速度を増加させる方法を提示する。
【０１９１】
方法は、ソース言語ベクトルの複数の時系列の中のソース言語ベクトルの時系列のセット上のエンコーダ時系列ウィンドウ内のソース言語ベクトルを並列に畳み込んで、エンコーダ時系列ウィンドウの各々についてエンコーダの畳み込みベクトルを同時に出力するステップと、各々連続したエンコーダ時系列ウィンドウについて順次生成されるエンコーダの各状態ベクトル内の特徴和の順序付けられたセットを並列に累算するステップと、エンコーダの状態ベクトルに出力ゲートベクトルを適用してエンコーダの隠れ状態ベクトルを生成するステップとを含む。
【０１９２】
方法は、デコーダ入力ベクトルの複数の時系列の中のデコーダ入力ベクトルの時系列のセット上のデコーダ時系列ウィンドウ内のデコーダ入力ベクトルを並列に畳み込んで、デコーダ時系列ウィンドウの各々についてデコーダの畳み込みベクトルを同時に出力するステップと、各々連続したデコーダ時系列ウィンドウについて順次生成されるデコーダの各状態ベクトル内の特徴和の順序付けられたセットを並列に累算するステップとを含む。
【０１９３】
方法は、エンコーダの隠れ状態ベクトルの文脈サマリをデコーダの状態ベクトルと結合することによりデコーダの隠れ状態ベクトルを作成するステップを含む。
【０１９４】
方法は、デコードされた隠れ状態ベクトルに基づいてターゲット言語ベクトルを発行することによりシーケンス対シーケンス機械翻訳タスクを実行するステップを含む。
【０１９５】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、この方法の実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０１９６】
他の実装が、上記で説明された方法を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体（ＣＲＭ）を含んでよい。さらに別の実装が、メモリと、メモリに記憶され上記で説明された方法を実行するための命令を実行するよう動作可能な１つ以上のプロセッサと、を含むシステムを含んでよい。
【０１９７】
一実装において、開示される技術は、擬似リカレントニューラルネットワーク（略称ＱＲＮＮ）システムを提示する。ＱＲＮＮシステムは、多数の並列処理コア上で動作する。ＱＲＮＮシステムは、ニューラルネットワークに基づくシーケンス対シーケンス分類タスクの訓練及び推論段階の間の計算速度を増加させる。
【０１９８】
ＱＲＮＮシステムは、ＱＲＮＮエンコーダ、ＱＲＮＮデコーダ、及び分類器を含む。ＱＲＮＮエンコーダは、少なくとも１つのエンコーダ畳み込み層、少なくとも１つのエンコーダプーリング層、及び少なくとも１つのエンコーダ出力ゲートを含む。ＱＲＮＮデコーダは、少なくとも１つのデコーダ畳み込み層、少なくとも１つのデコーダプーリング層、及び少なくとも１つの注目器又は注目エンコーダを含む。注目器は、状態比較器、エンコーディングミキサ、パーセプトロン又は線形パーセプトロン、及びデコーダ出力ゲートを含む。
【０１９９】
エンコーダ畳み込み層は、エンコーダ入力ベクトルの複数の時系列の中のエンコーダ入力ベクトルの時系列のセット上のエンコーダ時系列ウィンドウ内のエンコーダ入力ベクトルの並列畳み込みのためのエンコーダ畳み込みフィルタバンクを含む。エンコーダ畳み込み層は、並列畳み込みに基づいてエンコーダ時系列ウィンドウの各々についてエンコーダの畳み込みベクトルを同時に出力するエンコーダ畳み込みベクトル生成器をさらに含む。
【０２００】
エンコーダプーリング層は、エンコーダの畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することにより各々連続したエンコーダ時系列ウィンドウについて順次生成されるエンコーダの各状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器を含む。
【０２０１】
エンコーダ出力ゲート（例えば、エンコーダ出力ゲート９３６）は、エンコーダの状態ベクトルに出力ゲートベクトルを適用し、それによりエンコーダの隠れ状態ベクトルを生成するエンコーダ隠れ状態生成器（例えば、エンコーダ隠れ状態生成器９３７）を含む。
【０２０２】
デコーダ畳み込み層は、デコーダ入力ベクトルの複数の時系列の中のデコーダ入力ベクトルの時系列のセット上のデコーダ時系列ウィンドウ内のデコーダ入力ベクトルの並列畳み込みのためのデコーダ畳み込みフィルタバンクを含む。最初のデコーダ時系列ウィンドウにおいて、デコーダ畳み込みフィルタバンクは、翻訳開始（start-of-translation）トークンである単一のデコーダ入力ベクトルのみを畳み込む。連続したデコーダ時系列ウィンドウにおいて、デコーダ畳み込みフィルタバンクは、翻訳開始トークンと前に発行されたターゲット言語ベクトルとを含むデコーダ入力ベクトルを畳み込む。
【０２０３】
デコーダ畳み込み層は、並列畳み込みに基づいてデコーダ時系列ウィンドウの各々についてデコーダの畳み込みベクトルを同時に出力するデコーダ畳み込みベクトル生成器をさらに含む。
【０２０４】
デコーダプーリング層は、デコーダの畳み込みベクトルの成分の特徴値を順序位置ごとベースで同時に累算することにより各々連続したデコーダ時系列ウィンドウについて順次生成されるデコーダの各状態ベクトル内の特徴和の順序付けられたセットの並列累算のための累算器を含む。
【０２０５】
注目器は、エンコーダの隠れ状態ベクトルとデコーダの状態ベクトルとの間のペアごと類似度スコアを決定する状態比較器（例えば、状態比較器９４０）を含む。
【０２０６】
注目器は、エンコーダ時系列ウィンドウに沿って生成された指数関数的に正規化された類似度スコアシーケンスによりスケーリングされたエンコーダの隠れ状態ベクトルの凸結合としてエンコーダの隠れ状態ベクトルの文脈サマリを作成するエンコーディングミキサ（例えば、エンコーディングミキサ９４２）を含む。
【０２０７】
注目器は、文脈サマリとデコーダの状態ベクトルとを線形に射影するパーセプトロン又は線形パーセプトロン（例えば、線形パーセプトロン９４４）を含む。
【０２０８】
注目器は、線形に射影された文脈サマリ及びデコーダの状態ベクトルを結合する連結器（例えば、連結器９４６）を含む。
【０２０９】
注目器は、結合された線形に射影された文脈サマリ及びデコーダの状態ベクトルに出力ゲートベクトルを適用し、それによりデコーダの隠れ状態ベクトルを生成するデコーダ出力ゲート（例えば、デコーダ出力ゲート９４８）を含む。
【０２１０】
ＱＲＮＮシステムは、デコードされた隠れ状態ベクトルを使用してシーケンス対シーケンス分類タスクを実行する分類器を含む。
【０２１１】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０２１２】
シーケンス対シーケンス分類タスクは、機械翻訳、発話認識、テキスト・ツー・スピーチ（text-to-speech）合成、質問応答、及び抽象テキスト要約（abstractive  text  summarization）であってよい。
【０２１３】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０２１４】
開示される技術は、ニューラルネットワークシーケンス対シーケンスモデル化における計算効率を増加させる擬似リカレントニューラルネットワーク（ＱＲＮＮ）システムを提示する。
【０２１５】
ＱＲＮＮシステムはＱＲＮＮエンコーダを含み、該ＱＲＮＮエンコーダは１つ以上のエンコーダ畳み込み層及び１つ以上のエンコーダプーリング層をさらに含む。
【０２１６】
少なくとも１つのエンコーダ畳み込み層が、エンコーダ入力ベクトルの時系列を受信し、時系列ウィンドウについてエンコードされた畳み込みベクトルを同時に出力する。
【０２１７】
少なくとも１つのエンコーダプーリング層が、時系列ウィンドウについてのエンコードされた畳み込みベクトルを受信し、現在の時系列ウィンドウについてエンコードされた状態ベクトル内の特徴和の順序付けられたセットを同時に累算し、時系列ウィンドウの中の各々連続した時系列ウィンドウについてエンコードされた状態ベクトルを順次出力する。
【０２１８】
ＱＲＮＮシステムはＱＲＮＮデコーダを含み、該ＱＲＮＮデコーダは１つ以上のデコーダ畳み込み層及び１つ以上のデコーダプーリング層をさらに含む。
【０２１９】
少なくとも１つのデコーダ畳み込み層が、デコーダ入力ベクトルの時系列を受信し、時系列ウィンドウについてデコードされた畳み込みベクトルを同時に出力する。
【０２２０】
少なくとも１つのデコーダプーリング層が、最後の時系列ウィンドウについてエンコーダプーリング層により出力されたエンコードされた状態ベクトルとそれぞれ連結される時系列ウィンドウについてのデコードされた畳み込みベクトルを受信し、現在の時系列ウィンドウについてデコードされた状態ベクトル内の特徴和の順序付けられたセットを同時に累算し、時系列ウィンドウの中の各々連続した時系列ウィンドウについてデコードされた状態ベクトルを順次出力する。
【０２２１】
ＱＲＮＮシステムは、エンコードされた状態ベクトルとデコードされた状態ベクトルとの間の言語類似度を算出してエンコーディングごと及びデコーディングごとの軸を有するアフィニティ行列を生成する状態比較器を含む。
【０２２２】
ＱＲＮＮシステムは、アフィニティ行列をエンコーディングごとに正規化してそれぞれのエンコーディング対デコーディング注目重みを生成する指数関数的正規化器を含む。
【０２２３】
ＱＲＮＮシステムは、エンコードされた状態ベクトルをエンコーディング対デコーディング注目重みとそれぞれ結合してエンコードされた状態ベクトルのそれぞれの文脈サマリを作成するエンコーディングミキサを含む。
【０２２４】
ＱＲＮＮシステムは、デコードされた状態ベクトルをエンコードされた状態ベクトルのそれぞれの文脈サマリとそれぞれ結合して時系列ウィンドウの各々についての注目エンコーディングを生成する注目エンコーダを含む。
【０２２５】
このシステムの実装及び開示される他のシステムは、以下の特徴のうち１つ以上を任意選択で含む。システムは、開示される方法と関連して説明される特徴を含んでもよい。簡潔さのために、システムの特徴の代替的な組み合わせは個々に列挙されない。システム、方法、及び製造品に適用可能な特徴は、基本の特徴の各法定分類セットについて繰り返されない。本セクションにおいて識別される特徴が他の法定分類における基本の特徴と如何に容易に組み合わせられ得るかを読み手は理解するであろう。
【０２２６】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、このシステムの実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０２２７】
注目エンコーダは、デコードされた状態ベクトルとエンコードされた状態ベクトルのそれぞれの文脈サマリとの連結を線形射影に射影して時系列ウィンドウの各々についての注目エンコーディングを生成する多層パーセプトロンであってよい。
【０２２８】
エンコードされた状態ベクトルは、エンコードされた畳み込みベクトルの出力ゲートベクトルをそれぞれ乗算されて、それぞれのエンコードされた隠れ状態ベクトルを生成してよい。
【０２２９】
状態比較器は、エンコードされた隠れ状態ベクトルとデコードされた状態ベクトルとの間の言語類似度を算出して、エンコーディングごと及びデコーディングごとの軸を有するアフィニティ行列を生成してよい。
【０２３０】
エンコーディングミキサは、エンコードされた隠れ状態ベクトルをエンコーディング対デコーディング注目重みとそれぞれ結合して、エンコードされた隠れ状態ベクトルのそれぞれの文脈サマリを作成してよい。
【０２３１】
注目エンコーダは、デコードされた状態ベクトルをエンコードされた隠れ状態ベクトルのそれぞれの文脈サマリとそれぞれ結合してよく、該結合をデコードされた畳み込みベクトルのそれぞれの出力ゲートベクトルとさらに乗算して、時系列ウィンドウの各々についての注目エンコーディングを生成してよい。
【０２３２】
注目エンコーダは、デコードされた状態ベクトルとエンコードされた隠れ状態ベクトルのそれぞれの文脈サマリとの連結を線形射影に射影する多層パーセプトロンであってよく、非線形射影をデコードされた畳み込みベクトルのそれぞれの出力ゲートベクトルとさらに乗算して、時系列ウィンドウの各々についての注目エンコーディングを生成してよい。
【０２３３】
他の実装が、上記で説明されたシステムの動作を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体を含んでよい。
【０２３４】
開示される技術は、ニューラルネットワークシーケンス対シーケンスモデル化における効率を増加させる方法を提示する。
【０２３５】
方法は、ＱＲＮＮエンコーダのエンコーダ畳み込み層においてエンコーダ入力ベクトルの時系列を受信するステップと、時系列ウィンドウについてエンコードされた畳み込みベクトルを同時に出力するステップとを含む。
【０２３６】
方法は、ＱＲＮＮエンコーダのエンコーダプーリング層において時系列ウィンドウについてのエンコードされた畳み込みベクトルを受信するステップと、現在の時系列ウィンドウについてエンコードされた状態ベクトル内の特徴和の順序付けられたセットを同時に累算するステップと、時系列ウィンドウの中の各々連続した時系列ウィンドウについてエンコードされた状態ベクトルを順次出力するステップとを含む。
【０２３７】
方法は、ＱＲＮＮデコーダのデコーダ畳み込み層においてデコーダ入力ベクトルの時系列を受信するステップと、時系列ウィンドウについてデコードされた畳み込みベクトルを同時に出力するステップとを含む。
【０２３８】
方法は、ＱＲＮＮデコーダのデコーダプーリング層において、最後の時系列ウィンドウについてエンコーダプーリング層により出力されたエンコードされた状態ベクトルとそれぞれ連結される時系列ウィンドウについてのデコードされた畳み込みベクトルを受信するステップと、現在の時系列ウィンドウについてデコードされた状態ベクトル内の特徴和の順序付けられたセットを同時に累算するステップと、時系列ウィンドウの中の各々連続した時系列ウィンドウについてデコードされた状態ベクトルを順次出力するステップとを含む。
【０２３９】
方法は、エンコードされた状態ベクトルとデコードされた状態ベクトルとの間の言語類似度を算出してエンコーディングごと及びデコーディングごとの軸を有するアフィニティ行列を生成するステップを含む。
【０２４０】
方法は、アフィニティ行列をエンコーディングごとに指数関数的に正規化してそれぞれのエンコーディング対デコーディング注目重みを生成するステップを含む。
【０２４１】
方法は、エンコードされた状態ベクトルをエンコーディング対デコーディング注目重みと結合してエンコードされた状態ベクトルのそれぞれの文脈サマリを作成するステップを含む。
【０２４２】
方法は、デコードされた状態ベクトルをエンコードされた状態ベクトルのそれぞれの文脈サマリと結合して時系列ウィンドウの各々についての注目エンコーディングを生成するステップを含む。
【０２４３】
前の方法及びシステムの実装についてこの具体的な実装のセクション内で論じられる特徴の各々は、この方法の実装に等しく適用される。上記で示されたように、すべての方法及びシステムの特徴はここで繰り返されず、参照により繰り返されるとみなされるべきである。
【０２４４】
他の実装が、上記で説明された方法を実行するようプロセッサにより実行可能な命令を記憶した非一時的コンピュータ読取可能記憶媒体（ＣＲＭ）を含んでよい。さらに別の実装が、メモリと、メモリに記憶され上記で説明された方法を実行するための命令を実行するよう動作可能な１つ以上のプロセッサと、を含むシステムを含んでよい。
【０２４５】
［コンピュータシステム］
図１５は、擬似リカレントニューラルネットワーク（ＱＲＮＮ）１００を実現するために使用できるコンピュータシステム１５００の簡略ブロック図である。コンピュータシステム１５００は、バスサブシステム１５２２を介して複数の周辺デバイスと通信する少なくとも１つの中央処理ユニット（ＣＰＵ）１５２４を含む。これらの周辺デバイスは、例えばメモリデバイス及びファイルストレージサブシステム１５１８を含むストレージサブシステム１５１０、ユーザインターフェース入力デバイス１５２０、ユーザインターフェース出力デバイス１５２８、及びネットワークインターフェースサブシステム１５２６を含んでよい。入力及び出力デバイスは、コンピュータシステム１５００とのユーザ相互作用を可能にする。ネットワークインターフェースサブシステム１５２６は、他のコンピュータシステム内の対応するインターフェースデバイスへのインターフェースを含む、外部ネットワークへのインターフェースを提供する。
【０２４６】
一実装において、ＱＲＮＮ１００は、ストレージサブシステム１５１０に、及びユーザインターフェース入力デバイス１５２０に通信可能にリンクされる。
【０２４７】
ユーザインターフェース入力デバイス１５２０は、キーボードと、マウス、トラックボール、タッチパッド、又はグラフィックスタブレットなどのポインティングデバイスと、スキャナと、ディスプレイに組み込まれたタッチスクリーンと、音声認識システム及びマイクロフォンなどのオーディオ入力デバイスと、他タイプの入力デバイスとを含んでよい。一般に、用語「入力デバイス」の使用は、情報をコンピュータシステム１５００に入力するためのすべての可能なタイプの装置及び方法を含むことが意図される。
【０２４８】
ユーザインターフェース出力デバイス１５２８は、ディスプレイサブシステム、プリンタ、ファックスマシン、又はオーディオ出力デバイスなどの非視覚的ディスプレイを含んでよい。ディスプレイサブシステムは、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）などのフラットパネルデバイス、投影デバイス、又は可視イメージを作り出す何らかの他の機構を含んでよい。ディスプレイサブシステムは、オーディオ出力デバイスなどの非視覚的ディスプレイを提供してもよい。一般に、用語「出力デバイス」の使用は、情報をコンピュータシステム１５００からユーザに又は別のマシン若しくはコンピュータシステムに対して出力するためのすべての可能なタイプの装置及び方法を含むことが意図される。
【０２４９】
ストレージサブシステム１５１０は、本明細書で説明されるモジュール及び方法のいくつか又はすべての機能性を提供するプログラミング及びデータ構造を記憶する。これらのソフトウェアモジュールは、ディープラーニングプロセッサ１５３０により一般に実行される。
【０２５０】
ディープラーニングプロセッサ１５３０は、グラフィックス処理ユニット（ＧＰＵ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であってよい。ディープラーニングプロセッサ１５３０は、Ｇｏｏｇｌｅ（登録商標）  Ｃｌｏｕｄ  ＰｌａｔｆｏｒｍＴＭ、Ｘｉｌｉｎｘ（登録商標）ＴＭ、及びＣｉｒｒａｓｃａｌｅＴＭなどのディープラーニングクラウドプラットフォームによりホストされてよい。ディープラーニングプロセッサ１５３０の例は、Ｇｏｏｇｌｅのテンソル処理ユニット（Tensor  Processing  Unit、ＴＰＵ）ＴＭ、ＧＸ４  Ｒａｃｋｍｏｕｎｔ  ＳｅｒｉｅｓＴＭ、ＧＸ８  Ｒａｃｋｍｏｕｎｔ  ＳｅｒｉｅｓＴＭ、ＮＶＩＤＩＡ（登録商標）  ＤＧＸ‐１ＴＭのようなラックマウントソリューション、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＳｔｒａｔｉｘ  Ｖ  ＦＰＧＡＴＭ、Ｇｒａｐｈｃｏｒｅのインテリジェントプロセッサユニット（Intelligent  Processor  Unit、ＩＰＵ）ＴＭ、Ｑｕａｌｃｏｍｍ（登録商標）のＳｎａｐｄｒａｇｏｎ（登録商標）プロセッサＴＭを有するＺｅｒｏｔｈ  ＰｌａｔｆｏｒｍＴＭ、ＮＶＩＤＩＡのＶｏｌｔａＴＭ、ＮＶＩＤＩＡのＤＲＩＶＥ  ＰＸＴＭ、ＮＶＩＤＩＡのＪＥＴＳＯＮ  ＴＸ１／ＴＸ２  ＭＯＤＵＬＥＴＭ、Ｉｎｔｅｌ（登録商標）のＮｉｒｖａｎａＴＭ、Ｍｏｖｉｄｉｕｓ  ＶＰＵＴＭ、Ｆｕｊｉｔｓｕ（登録商標）  ＤＰＩＴＭ、ＡＲＭのＤｙｎａｍｉｃＩＱＴＭ、ＩＢＭ  ＴｒｕｅＮｏｒｔｈＴＭなどを含む。
【０２５１】
ストレージサブシステム１５１０において使用されるメモリサブシステム１５１２は、プログラム実行の間の命令及びデータの記憶のためのメインランダムアクセスメモリ（ＲＡＭ）１５１４と固定の命令が記憶される読取専用メモリ（ＲＯＭ）１５１６とを含む、複数のメモリを含んでよい。ファイルストレージサブシステム１５１８は、プログラム及びデータファイルのための永続的ストレージを提供してよく、ハードディスクドライブ、関連づけられた取外し可能媒体を有するフロッピーディスクドライブ、ＣＤ‐ＲＯＭドライブ、光学ドライブ、又は取外し可能媒体カートリッジを含んでよい。特定の実装の機能性を実現するモジュールが、ストレージサブシステム１５１０に、又はプロセッサによりアクセス可能な他のマシンに、ファイルストレージサブシステム１５１８により記憶されてよい。
【０２５２】
バスサブシステム１５２２は、コンピュータシステム１５００の様々なコンポーネント及びサブシステムに意図されたように互いに通信させる機構を提供する。バスサブシステム１５２２は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装が複数のバスを使用してよい。
【０２５３】
コンピュータシステム１５００はそれ自体、パーソナルコンピュータ、ポータブルコンピュータ、ワークステーション、コンピュータ端末、ネットワークコンピュータ、テレビジョン、メインフレーム、サーバファーム、緩くネットワーク化されたコンピュータの広く分散されたセット、又は任意の他のデータ処理システム若しくはユーザデバイスを含む、様々なタイプのものであってよい。コンピュータ及びネットワークの常に変化する性質に起因して、図１５に表されるコンピュータシステム１５００の説明は、本発明の好適な実施例を示す目的で単に具体的な例として意図されている。図１５に表されるコンピュータシステムより多くの又は少ないコンポーネントを有する、コンピュータシステム１５００の多くの他の構成が可能である。
【０２５４】
前述の説明は、開示される技術の創作及び使用を可能にするよう提示されている。開示の実装に対する様々な変更が明らかになり、本明細書で定義される一般的原理は、開示される技術の主旨及び範囲から逸脱することなく他の実装及び用途に適用され得る。ゆえに、開示される技術は、図示される実装に限定されることは意図されず、本明細書で開示される原理及び特徴に一致する最も広い範囲を与えられるべきである。開示される技術の範囲は、別記の特許請求の範囲により定義される。
【０２５５】
2019537134.tif 000038
2019537134.tif 000039
2019537134.tif 000040
2019537134.tif 000041
2019537134.tif 000042
2019537134.tif 000043
2019537134.tif 000044
2019537134.tif 000045
2019537134.tif 000046
2019537134.tif 000047
2019537134.tif 000048
【図１】
2019537134.tif 000049
【図２】
2019537134.tif 000050
【図３】
2019537134.tif 000051
【図４】
2019537134.tif 000052
【図５】
2019537134.tif 000053
【図６】
2019537134.tif 000054
【図７】
2019537134.tif 000055
【図８】
2019537134.tif 000056
【図９】
2019537134.tif 000057
【図１０】
2019537134.tif 000058
【図１１】
2019537134.tif 000059
【図１２】
2019537134.tif 000060
【図１３】
2019537134.tif 000061
【図１４】
2019537134.tif 000062
【図１５】
2019537134.tif 000063
【国際調査報告】
2019537134.tif 000064
2019537134.tif 000065