(57)【要約】  メモリ拡張ニューラル・ネットワークが提供される。様々な実施形態において、エンコーダ人工ニューラル・ネットワークは、入力を受け取り、入力に基づいてエンコードされた出力を提供するようになされる。複数のデコーダ人工ニューラル・ネットワークが設けられ、それぞれがエンコードされた入力を受け取り、エンコードされた入力に基づいて出力を提供するようになされる。メモリが、エンコーダ人工ニューラル・ネットワークおよび複数のデコーダ人工ニューラル・ネットワークに動作可能に結合される。メモリは、エンコーダ人工ニューラル・ネットワークのエンコードされた出力を記憶し、エンコードされた入力を複数のデコーダ人工ニューラル・ネットワークに提供するようになされる。
2022501702.tif 000002
【特許請求の範囲】
【請求項１】
入力を受け取り、前記入力に基づいてエンコードされた出力を提供するようになされたエンコーダ人工ニューラル・ネットワークと、
それぞれがエンコードされた入力を受け取り、前記エンコードされた入力に基づいて出力を提供するようになされた複数のデコーダ人工ニューラル・ネットワークと、
前記エンコーダ人工ニューラル・ネットワークおよび前記複数のデコーダ人工ニューラル・ネットワークに動作可能に結合されたメモリと、
を備え、前記メモリは、
前記エンコーダ人工ニューラル・ネットワークの前記エンコードされた出力を記憶し、
前記エンコードされた入力を前記複数のデコーダ人工ニューラル・ネットワークに提供する
ようになされる、システム。
【請求項２】
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、複数のタスクのうちの１つに対応する、請求項１に記載のシステム。
【請求項３】
前記エンコーダ人工ニューラル・ネットワークは、１つまたは複数のタスクについて事前に訓練される、請求項１に記載のシステム。
【請求項４】
前記事前訓練は、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練すること
を含む、請求項３に記載のシステム。
【請求項５】
前記事前訓練は、
前記複数のデコーダ人工ニューラル・ネットワークのサブセットを、前記エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練することと、
前記エンコーダ人工ニューラル・ネットワークを凍結することと、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記凍結されたエンコーダ人工ニューラル・ネットワークと組み合わせて別々に訓練することと、
を含む、請求項３に記載のシステム。
【請求項６】
前記メモリはセルのアレイを備える、請求項１に記載のシステム。
【請求項７】
前記エンコーダ人工ニューラル・ネットワークは、入力シーケンスを受け取るようになされ、前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、前記入力シーケンスの各入力に対応する出力を提供するようになされる、請求項１に記載のシステム。
【請求項８】
前記複数のデコーダ人工ニューラル・ネットワークの前記それぞれは、補助入力を受け取るようになされ、前記出力はさらに前記補助入力に基づく、請求項１に記載のシステム。
【請求項９】
複数のデコーダ人工ニューラル・ネットワークのそれぞれを、エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練すること
を含み、
前記エンコーダ人工ニューラル・ネットワークは、入力を受け取り、前記入力に基づいてエンコードされた出力をメモリに提供するようになされ、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、メモリからエンコードされた入力を受け取り、前記エンコードされた入力に基づいて出力を提供するようになされる、方法。
【請求項１０】
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、複数のタスクのうちの１つに対応する、請求項９に記載の方法。
【請求項１１】
前記エンコーダ人工ニューラル・ネットワークは、１つまたは複数のタスクについて事前に訓練される、請求項９に記載の方法。
【請求項１２】
前記事前訓練は、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練すること
を含む、請求項１１に記載の方法。
【請求項１３】
前記事前訓練は、
前記複数のデコーダ人工ニューラル・ネットワークのサブセットを、前記エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練することと、
前記エンコーダ人工ニューラル・ネットワークを凍結することと、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記凍結されたエンコーダ人工ニューラル・ネットワークと組み合わせて別々に訓練することと、
を含む、請求項１１に記載の方法。
【請求項１４】
前記メモリはセルのアレイを備える、請求項９に記載の方法。
【請求項１５】
前記エンコーダ人工ニューラル・ネットワークによって、入力シーケンスを受け取ることと、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれによって、前記入力シーケンスの各入力に対応する出力を提供することと、
をさらに含む、請求項９に記載の方法。
【請求項１６】
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれによって、補助入力を受け取ること
をさらに含み、前記出力はさらに前記補助入力に基づく、請求項９に記載の方法。
【請求項１７】
複数のデコーダ人工ニューラル・ネットワークのサブセットを、エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練すること
を含む方法であって、
前記エンコーダ人工ニューラル・ネットワークは、入力を受け取り、前記入力に基づいてエンコードされた出力をメモリに提供するようになされ、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、メモリからエンコードされた入力を受け取り、前記エンコードされた入力に基づいて出力を提供するようになされ、
前記方法は、
前記エンコーダ人工ニューラル・ネットワークを凍結することと、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記凍結されたエンコーダ人工ニューラル・ネットワークと組み合わせて別々に訓練することと、
をさらに含む、方法。
【請求項１８】
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、複数のタスクのうちの１つに対応する、請求項１７に記載の方法。
【請求項１９】
前記エンコーダ人工ニューラル・ネットワークによって、入力シーケンスを受け取ることと、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれによって、前記入力シーケンスの各入力に対応する出力を提供することと、
をさらに含む、請求項１７に記載の方法。
【請求項２０】
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれによって、補助入力を受け取ること
をさらに含み、前記出力はさらに前記補助入力に基づく、請求項１７に記載の方法。
【請求項２１】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行された場合に、請求項９から２０のいずれか一項に記載の方法を実行するようになされたプログラム・コード手段を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、メモリ拡張ニューラル・ネットワークに関し、より詳細には、エンコーダ−デコーダ・メモリ拡張ニューラル・ネットワーク・アーキテクチャに関する。
【発明の概要】
【０００２】
一態様によれば、ニューラル・ネットワーク・システムが提供される。エンコーダ人工ニューラル・ネットワークは、入力を受け取り、入力に基づいてエンコードされた出力を提供するようになされる。複数のデコーダ人工ニューラル・ネットワークが設けられ、それぞれがエンコードされた入力を受け取り、エンコードされた入力に基づいて出力を提供するようになされる。メモリが、エンコーダ人工ニューラル・ネットワークおよび複数のデコーダ人工ニューラル・ネットワークに動作可能に結合される。メモリは、エンコーダ人工ニューラル・ネットワークのエンコードされた出力を記憶し、エンコードされた入力を複数のデコーダ人工ニューラル・ネットワークに提供するようになされる。
【０００３】
他の態様によれば、ニューラル・ネットワークを動作させる方法およびそのためのコンピュータ・プログラム製品が提供される。複数のデコーダ人工ニューラル・ネットワークのそれぞれは、エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練される。エンコーダ人工ニューラル・ネットワークは、入力を受け取り、入力に基づいてエンコードされた出力をメモリに提供するようになされる。複数のデコーダ人工ニューラル・ネットワークのそれぞれは、メモリからエンコードされた入力を受け取り、エンコードされた入力に基づいて出力を提供するようになされる。
【０００４】
他の態様によれば、ニューラル・ネットワークを動作させる方法およびそのためのコンピュータ・プログラム製品が提供される。複数のデコーダ人工ニューラル・ネットワークのサブセットは、エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練される。エンコーダ人工ニューラル・ネットワークは、入力を受け取り、入力に基づいてエンコードされた出力をメモリに提供するようになされる。複数のデコーダ人工ニューラル・ネットワークのそれぞれは、メモリからエンコードされた入力を受け取り、エンコードされた入力に基づいて出力を提供するようになされる。エンコーダ人工ニューラル・ネットワークは凍結される。複数のデコーダ人工ニューラル・ネットワークのそれぞれは、凍結されたエンコーダ人工ニューラル・ネットワークと組み合わせて別々に訓練される。
ここで、本発明の実施形態を単なる例として、添付の図面を参照して説明する。
【図面の簡単な説明】
【０００５】
【図１Ａ】本開示の実施形態による一連の作業記憶タスクを示す図である。
【図１Ｂ】本開示の実施形態による一連の作業記憶タスクを示す図である。
【図１Ｃ】本開示の実施形態による一連の作業記憶タスクを示す図である。
【図１Ｄ】本開示の実施形態による一連の作業記憶タスクを示す図である。
【図１Ｅ】本開示の実施形態による一連の作業記憶タスクを示す図である。
【図２Ａ】本開示の実施形態によるニューラル・チューリング・マシン・セルのアーキテクチャを示す図である。
【図２Ｂ】本開示の実施形態によるニューラル・チューリング・マシン・セルのアーキテクチャを示す図である。
【図２Ｃ】本開示の実施形態によるニューラル・チューリング・マシン・セルのアーキテクチャを示す図である。
【図３】本開示の実施形態による、系列想起タスクへのニューラル・チューリング・マシンの適用を示す図である。
【図４】本開示の実施形態による、系列想起タスクへのエンコーダ−デコーダ・ニューラル・チューリング・マシンの適用を示す図である。
【図５】本開示の実施形態によるエンコーダ−デコーダ・ニューラル・チューリング・マシン・アーキテクチャを示す図である。
【図６】本開示の実施形態による、系列想起タスクについてエンドツーエンドで訓練された例示的なエンコーダ−デコーダ・ニューラル・チューリング・マシン・モデルを示す図である。
【図７】本開示の実施形態による、系列想起タスクについてエンドツーエンドで訓練された例示的なエンコーダ−デコーダ・ニューラル・チューリング・マシンの訓練性能を示す図である。
【図８】本開示の実施形態による、逆想起タスクについて訓練された例示的なエンコーダ−デコーダ・ニューラル・チューリング・マシン・モデルを示す図である。
【図９】本開示の実施形態による、例示的なエンコーダの処理中の書き込みアテンションと、最終的なメモリ・マップとを示す図である。
【図１０Ａ】本開示の実施形態による例示的なメモリ内容を示す図である。
【図１０Ｂ】本開示の実施形態による例示的なメモリ内容を示す図である。
【図１１】本開示の実施形態による、逆想起タスクについてエンドツーエンドで訓練された例示的なエンコーダ−デコーダ・ニューラル・チューリング・マシン・モデルを示す図である。
【図１２】本開示の実施形態による、系列想起タスクおよび逆想起タスクについて合同で訓練された例示的なエンコーダ−デコーダ・ニューラル・チューリング・マシン・モデルの訓練性能を示す図である。
【図１３】本開示の実施形態による、系列想起タスクおよび逆想起タスクの合同訓練に使用される例示的なエンコーダ−デコーダ・ニューラル・チューリング・マシン・モデルを示す図である。
【図１４】本開示の実施形態によるシーケンス比較タスクの性能を示す図である。
【図１５】本開示の実施形態による同一性タスクの性能を示す図である。
【図１６】本開示の実施形態によるシングルタスク・メモリ拡張エンコーダ−デコーダのアーキテクチャを示す図である。
【図１７】本開示の実施形態によるマルチタスク・メモリ拡張エンコーダ−デコーダのアーキテクチャを示す図である。
【図１８】本開示の一実施形態によるニューラル・ネットワークを動作させる方法を示す図である。
【図１９】本開示の一実施形態によるコンピューティング・ノードを示す図である。
【発明を実施するための形態】
【０００６】
人工ニューラル・ネットワーク（ＡＮＮ：ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）は、シナプスと呼ばれる接続点を介して相互接続される多数のニューロンで構成される分散コンピューティング・システムである。各シナプスは、あるニューロンの出力と他のニューロンの入力との間の接続の強度をエンコードする。各ニューロンの出力は、それに接続されている他のニューロンから受け取った入力の合計によって決定される。したがって、所与のニューロンの出力は、前の層からの接続されたニューロンの出力と、シナプスの重みで決定される接続の強度とに基づく。ＡＮＮは、特定のクラスの入力が所望の出力を生成するようにシナプスの重みを調整することによって、特定の問題（たとえば、パターン認識）を解決するように訓練される。
【０００７】
ゲーティング・メカニズムおよびアテンションなどの様々な改良がニューラル・ネットワークに含まれ得る。さらに、ニューラル・ネットワークは、外部メモリ・モジュールで拡張されて、多様なタスク、たとえば、文脈自由文法の学習、長いシーケンスを覚えること（長期依存性）、新しいデータを迅速に同化させるための学習（たとえば、ワンショット学習）、および視覚的質問応答などを解決する能力が伸ばされ得る。さらに、外部メモリは、シーケンスのコピー、数字のソート、グラフの走査（ｔｒａｖｅｒｓｅ）などのアルゴリズム的なタスクでも使用され得る。
【０００８】
メモリ拡張ニューラル・ネットワーク（ＭＡＮＮ：Ｍｅｍｏｒｙ  Ａｕｇｍｅｎｔｅｄ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）は、それらのモデルの能力、汎化性能、および限界を分析する機会を与える。特定の構成のＡＮＮは人間の記憶から着想を得ており、作業記憶またはエピソード記憶に関連し得るが、そのようなタスクに限定されるものではない。
【０００９】
本開示の様々な実施形態は、ニューラル・チューリング・マシン（ＮＴＭ：Ｎｅｕｒａｌ  Ｔｕｒｉｎｇ  Ｍａｃｈｉｎｅ）を用いたＭＡＮＮアーキテクチャを提供する。このメモリ拡張ニューラル・ネットワーク・アーキテクチャは、転移学習を可能にし、複雑な作業記憶タスクを解決する。様々な実施形態において、ニューラル・チューリング・マシンは、エンコーダ−デコーダ・アプローチと組み合わせられる。このモデルは汎用性があり、複数の問題を解決することが可能である。
【００１０】
様々な実施形態において、ＭＡＮＮアーキテクチャは、エンコーダ−デコーダＮＴＭ（ＥＤ−ＮＴＭ：Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒ  ＮＴＭ）と呼ばれる。以下に示すように、様々なタイプのエンコーダが体系的に研究されており、可能な最良のエンコーダを得る際のマルチタスク学習の利点が示されている。このエンコーダにより、一連の作業記憶タスクを解決するための転移学習が可能になる。様々な実施形態において、ＭＡＮＮ用の転移学習が提供される（別々で学習されるタスクとは対照的である）。訓練されたモデルは、適切な大きさのメモリ・モジュールを用いてはるかに長い順次入力に対処することが可能な関連するＥＤ−ＮＴＭに適用することもできる。
【００１１】
本開示の実施形態は、具体的には、認知心理学者によって利用されている、作業記憶と長期記憶との混合を回避するように設計されたタスクに関する作業記憶の要件に対処する。作業記憶は、新しい問題の解決に適応できる複数のコンポーネントに依存している。しかしながら、汎用的で多くのタスク間で共有される中核的能力がある。
【００１２】
人間は、計画、問題解決、言語理解および生成など、多くの認知の領域で作業記憶に依存している。これらのタスクの共通のスキルは、情報が処理または変換されるときに、情報を短時間、頭の中に留めることである。保持時間および容量は、作業記憶を長期記憶と区別する２つの特性である。情報が作業記憶に残るのは、積極的に反復しない限り１分未満であり、容量はタスクの複雑さに応じて３〜５項目（または情報のチャンク）に限られている。
【００１３】
様々な作業記憶タスクが、作業記憶の特性および基礎となるメカニズムを明らかにしている。作業記憶は、現在行っている操作または撹乱（ｄｉｓｔｒａｃｔｉｏｎ）にかかわらず、情報の積極的な維持を担当するマルチコンポーネント・システムである。心理学者によって開発されたタスクは、処理もしくは撹乱またはその両方を含み得る様々な条件下での、容量、保持、およびアテンション制御などの、作業記憶の特定の側面を測定することを目的としている。
【００１４】
１つの作業記憶タスク・クラスはスパン・タスクであり、これは通常、単純なスパンと複雑なスパンとに分けられる。スパンとはある種のシーケンス長を指し、これは数字、文字、単語、または視覚パターンであり得る。単純なスパン・タスクは、入力シーケンスの記憶および維持のみを必要とし、作業記憶の容量を測定する。複雑なスパン・タスクは、情報の操作を必要とし、撹乱（典型的には第２のタスク）の間に維持を強制する交互配置されたタスクである。
【００１５】
そのようなタスクを解決するという観点から、作業記憶の４つのコア要件が定義され得る。１）入力情報を有用な表現にエンコードすること。２）処理中の情報の保持。３）（エンコード、処理、およびデコード中の）制御されたアテンション。４）出力をデコードしてタスクを解決すること。これらのコア要件は、タスクの複雑さに関係なく一貫している。
【００１６】
第１の要件は、タスクを解決する際のエンコードされた表現の有用性に重点を置いている。系列想起タスクの場合、作業記憶システムは、入力をエンコードし、情報を保持し、出力をデコードして、遅延後に入力を再現する必要がある。この遅延は、入力が単にエコーされるのではなく、エンコードされた記憶内容から再現されることを意味する。情報をエンコードする手法は複数存在するので、エンコーディングの効率および有用性は、種々のタスクで異なり得る。
【００１７】
コンピュータ実装で保持（または情報の積極的な維持）を提供する際の課題は、メモリ内容の干渉および破損を防ぐことである。これに関連して、制御されたアテンションは基本的なスキルであり、これはコンピュータ・メモリにおけるアドレス指定におおよそ類似している。アテンションは、情報が読み書きされる場所を示すので、エンコードとデコードとの両方に必要である。さらに、メモリ内の項目の順序は、通常、多くの作業記憶タスクにとって重要である。ただし、エピソード記憶（長期記憶の一種）の場合のように、イベントの時間的順序が記憶されるという意味ではない。同様に、長期の意味記憶とは異なり、作業記憶における内容ベースのアクセスを示す強力な証拠はない。したがって、様々な実施形態において、位置ベースのアドレス指定がデフォルトで提供され、内容ベースのアドレス指定はタスクごとに提供される。
【００１８】
より複雑なタスクでは、記憶の中の情報を操作または変換する必要がある。たとえば、算数問題などの問題を解く場合、入力が一時的に記憶され、内容が操作され、目的を頭に入れて答えが導き出される。他のいくつかのケースでは、記憶の干渉を引き起こし得る交互配置されたタスク（たとえば、メイン・タスクおよび撹乱タスク）が行われ得る。これらの場合、メイン・タスクに関連する情報に焦点を合わせ続け、撹乱によって上書きされないように、アテンションを制御することが重要である。
【００１９】
図１を参照すると、一連の例示的な作業記憶タスクが示されている。
【００２０】
図１Ａは、項目のリストを入力と同じ順序で少し遅れて想起および再現する能力に基づく系列想起を示している。情報の操作がないので、これは短期記憶タスクと考えられ得る。しかしながら、本開示では、タスクは、タスクの複雑さに基づいて短期記憶を区別せずに、作業記憶に関するものと呼ぶ。
【００２１】
図１Ｂは、入力シーケンスを逆の順序で再現することが求められる逆想起を示している。
【００２２】
図１Ｃは、入力シーケンスの要素を１つおきに再現することを目標とする奇数想起を示している。これは、作業記憶が特定の入力項目を想起しつつ、その他を無視することを必要とする、複雑なタスクに向けたステップである。たとえば、読み出しスパン・タスクでは、被験者は複数の文を読み、全ての文の最後の単語を順番に再現しなければならない。
【００２３】
図１Ｄはシーケンス比較を示しており、第１のシーケンスをエンコードしてメモリに保持し、その後、第２のシーケンスの要素を受け取ったときに出力（たとえば、同一／非同一）を提示する必要がある。これまでタスクとは異なり、このタスクはデータ操作を必要とする。
【００２４】
図１Ｅは、シーケンス同一性を示している。このタスクは、第１のシーケンスを覚え、項目を要素ごとに比較し、中間結果（連続する項目が個々に同一か否か）をメモリに保持し、最後に単一の出力（これら２つのシーケンスが同一か否か）を提示する必要があるので、より困難である。監視信号は、可変の長さの２つのシーケンスの最後に１ビットの情報しか提供しないため、入力データおよび出力データの情報内容の間に極端な不均衡があるので、タスクが困難になる。
【００２５】
図２を参照すると、ニューラル・チューリング・マシン・セルのアーキテクチャが示されている。
【００２６】
図２Ａを参照すると、ニューラル・チューリング・マシン２００は、メモリ２０１およびコントローラ２０２を含む。コントローラ２０２は、入力および出力を介して外界とやりとりすることに加え、その読み出しヘッド２０３および書き込みヘッド２０４を介してメモリ２０１にアクセスすることを担当する（チューリング・マシンに類似）。両方のヘッド２０３．．．２０４は、２つの処理ステップ、すなわち、アドレス指定（内容ベースおよび位置ベースのアドレス指定の組み合わせ）と、操作（読み出しヘッド２０３の場合は読み出し、または書き込みヘッド２０４の場合は消去および追加）と、を実行する。様々な実施形態において、アドレス指定は、コントローラによって生成された値によってパラメータ化されるので、コントローラは、メモリの関連する要素にアテンションを集中させることを効果的に決定する。コントローラはニューラル・ネットワークとして実装され、全てのコンポーネントが微分可能であるので、モデル全体を連続的な方法で訓練することができる。いくつかの実施形態では、コントローラは、２つの互いにやりとりするコンポーネント、すなわち、コントローラ・モジュールと、メモリ・インターフェース・モジュールとに分割される。
【００２７】
図２Ｂを参照すると、ＮＴＭを順次的タスクに適用する場合の時間的なデータフローが示されている。コントローラ２０２は、入力および出力情報を制御するゲートと見なすことができるので、２つのグラフィカルに区別したコンポーネントは、実際にはモデル内の同一のエンティティである。そのようなグラフィカルな表現は、順次的タスクへのモデルの適用を示している。
【００２８】
様々な実施形態において、コントローラは、リカレント・ニューラル・ネットワーク（ＲＮＮ：ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）のセルと同様に、各ステップで変換される内部状態を有する。上記のように、各時間ステップでメモリへの読み書きを行う能力を有する。様々な実施形態において、メモリはセルの２Ｄアレイとして配置される。列には０から始まるインデックスが付与され得、各列のインデックスはそのアドレスと呼ばれる。アドレス（列）の数はメモリ・サイズと呼ばれる。各アドレスは、メモリ幅と呼ばれる固定の次元を有する値のベクトル（ベクトル値のメモリ・セル）を含む。例示的なメモリを図２Ｃに示す。
【００２９】
様々な実施形態において、内容参照可能メモリおよびソフト・アドレッシングが提供される。いずれの場合も、アドレスに対する重み付け関数が提供される。これらの重み付け関数を、メモリ自体の専用の行に記憶して、本明細書に記載のモデルに汎用性を提供することができる。
【００３０】
図３を参照すると、系列想起タスクへのニューラル・チューリング・マシンの適用が示されている。この図では、コントローラ２０２、書き込みヘッド２０４、および読み出しヘッド２０３は、上述の通りである。入力シーケンス３０１｛ｘ１．．．ｘｎ｝が提供され、これらは出力シーケンス３０２｛ｘ’１．．．ｘ’ｎ｝をもたらす。Φはスキップされる出力、または空（たとえば、ゼロのベクトル）の入力を表す。
【００３１】
上記に基づいて、入力中のＮＴＭセルの主な役割は、入力をエンコードしてメモリに保持することである。想起中、その機能は、入力を操作し、メモリと組み合わさって、結果の表現を元の表現にデコードすることである。それに応じて、２つの特徴的なコンポーネントの役割が形式化され得る。具体的には、エンコーダおよびデコーダの役割を果たす２つの別々のＮＴＭで構成されるモデルが提供される。
【００３２】
図４を参照すると、図３の系列想起タスクに適用されるエンコーダ−デコーダ・ニューラル・チューリング・マシンが示されている。この例では、エンコーダ・ステージ４０１およびデコーダ・ステージ４０２が設けられている。メモリ４０３は、エンコーダ・ステージ・コントローラ４０４およびデコーダ・ステージ・コントローラ４０５により、読み出しヘッド４０６および書き込みヘッド４０７を介してアドレス指定される。エンコーダ・ステージ４０１は入力シーケンス４０８を受け取り、デコーダ・ステージ４０２は出力シーケンス４０９を生成する。このアーキテクチャでは、メモリ保持（エンコーダからデコーダにメモリ内容を渡す）が提供され、読み出し／書き込みアテンション・ベクトルまたはコントローラの隠れ状態を渡すこととは対照的である。これは図４において、前者を実線で、後者を点線で示している。
【００３３】
図５を参照すると、一般的なエンコーダ−デコーダ・ニューラル・チューリング・マシン・アーキテクチャが示されている。エンコーダ５０１は、読み出しヘッド５１２および書き込みヘッド５１３を介してメモリ５０３とやりとりするコントローラ５１１を含む。デコーダ５０２は、読み出しヘッド５２２および書き込みヘッド５２３を介してメモリ５０３とやりとりするコントローラ５２１を含む。エンコーダ５０１とデコーダ５０２との間でメモリ保持が提供される。過去のアテンションおよび過去の状態が、エンコーダ５０１からデコーダ５０２に転送される。このアーキテクチャは、本明細書に記載の作業記憶タスクを含む多様なタスクに適用するのに十分なほど汎用的である。デコーダ５０２は所与のタスクを実現する仕方の学習を担当するので、エンコーダ５０１は、デコーダ５０２がそのタスクを遂行するのを助けるエンコーディングの学習を担当する。
【００３４】
いくつかの実施形態では、専門化されたデコーダによる多様なタスクの習得を促進する汎用的なエンコーダが訓練される。これにより、転移学習の使用が可能になり、すなわち、学習済みの関連タスクからの知識の転移が可能になる。
【００３５】
ＥＤ−ＮＴＭの例示的な実装では、Ｔｅｎｓｏｒｆｌｏｗ（登録商標）を用いたＫｅｒａｓをバックエンドとして使用した。４コアのＩｎｔｅｌ（登録商標）のＣＰＵチップ＠３．４０ＧＨｚと、単一のＮｖｉｄｉａ（登録商標）のＧＭ２００（ＧｅＦｏｒｃｅ  ＧＴＸ  ＴＩＴＡＮ  Ｘ  ＧＰＵ）コプロセッサとで構成されたマシンで実験を実施した。実験全体を通して、入力項目のサイズを８ビットに固定したので、シーケンスは任意の長さの８ビット・ワードで構成される。様々なタスクに対して訓練、検証、およびテストの公正な比較を提供するために、全てのＥＤ−ＮＴＭに対して以下のパラメータを固定した。各メモリ・アドレスに記憶される実数ベクトルは１０次元であり、１つの入力ワードを保持するのに十分であった。エンコーダは、５つの出力ユニットを有する１層のフィードフォワード・ニューラル・ネットワークであった。サイズが小さい場合、エンコーダの役割は計算のロジックを処理することだけであり、一方、メモリは入力がエンコードされる唯一の場所である。デコーダの構成はタスクごとに異なっていたが、最も大きいものは、１０個のユニットの隠れ層を有する２層のフィードフォワード・ネットワークであった。これにより、シーケンス比較および同一性などのタスクが可能になり、要素ごとの比較が８ビット入力に対して実行された（これはＸＯＲ問題と密接に関連している）。その他のタスクでは、１層のネットワークで十分であった。
【００３６】
訓練された最大のネットワークは、２０００個未満の訓練可能なパラメータを含んでいた。ＥＤ−ＮＴＭ（および一般的な他のＭＡＮＮ）では、訓練可能なパラメータの数はメモリのサイズに依存しない。しかしながら、メモリまたは読み出しおよび書き込みヘッドのソフト・アテンションなど、ＥＤ−ＮＴＭの様々な部分が、境界のある記述を有するようにするには、メモリのサイズを固定する必要がある。したがって、ＥＤ−ＮＴＭは、各ＲＮＮがメモリのサイズによってパラメータ化され、各ＲＮＮが任意の長さのシーケンスを入力とすることができるＲＮＮのクラスを表すと考えられ得る。
【００３７】
訓練中、１つのそのようなメモリ・サイズを固定し、そのメモリ・サイズに対して十分に短いシーケンスを用いて訓練を実行した。これにより、訓練可能なパラメータの特定の固定がもたらされる。しかしながら、ＥＤ−ＮＴＭはメモリ・サイズを任意に選択してインスタンス化することができるので、より長いシーケンスに対しては、より大きなメモリ・サイズに対応する別のクラスからＲＮＮが選択され得る。より小さなメモリを使用して訓練する場合にこのように汎化（ｇｅｎｅｒａｌｉｚｅ）するＥＤ−ＮＴＭの能力は、より長いシーケンスに対して十分に大きなメモリ・サイズを用いて汎化を行うことも可能にし、これはメモリ・サイズ汎化（ｇｅｎｅｒａｌｉｚａｔｉｏｎ）と呼ばれる。
【００３８】
例示的な訓練実験では、メモリ・サイズを３０個のアドレスに制限し、ランダムな長さのシーケンスを３〜２０の間で選択した。シーケンス自体も、ランダムに選択された８ビット・ワードで構成した。これにより、入力データがいかなる固定パターンも含まないようになり、訓練されたモデルがパターンを記憶せず、全てのデータにわたってタスクを真に学習できるようになった。訓練中に最小化すべき自然損失関数として（平均）バイナリ・クロスエントロピーを使用しており、その理由は、複数の出力を有するタスクを含む全てのタスクが、予測される出力をターゲットとビットごとに比較する不可分操作を伴うためである。シーケンス比較および同一性を除く全てのタスクで、バッチ・サイズは訓練性能に大きな影響を与えなかったので、これら全てのタスクについて、バッチ・サイズを１に固定した。同一性およびシーケンス比較では、６４のバッチ・サイズを選択した。
【００３９】
訓練中、それぞれ長さが６４の６４個のランダム・シーケンスのバッチに対して、検証を定期的に実行した。メモリ・サイズを８０に増加させて、エンコーディングが依然としてメモリに収まるようにした。これは軽い形態のメモリ・サイズ汎化である。全てのタスクで、損失関数が０．０１以下に低下すると、検証精度は１００％になった。しかしながら、これは、はるかに長いシーケンス長に対してメモリ・サイズ汎化を測定する間に、必ずしも完全な精度につながらなかった。これが起きるようにするために、全てのタスクで損失関数値が１０−５以下になるまで訓練を続けた。重要なメトリックは、この損失値に到達するために要した反復回数であった。その時点で、訓練は（強く）収束したと見なした。データ生成器は無限個のサンプルを生成することができるので、訓練は永久に継続することができる。閾値に達した場合、収束は２０，０００回の反復以内で発生するはずなので、１００，０００回の反復で収束しなかった場合にのみ、訓練を停止した。
【００４０】
真のメモリ・サイズ汎化を測定するために、ネットワークを長さ１０００のシーケンスでテストし、これにはサイズ１０２４のより大きなメモリ・モジュールが必要であった。結果として得られたＲＮＮはサイズが大きかったので、より小さい３２のバッチ・サイズでテストを実行し、その後、ランダム・シーケンスを含む１００個のそのようなバッチに対して平均を取った。
【００４１】
図６を参照すると、系列想起タスクについてエンドツーエンドで訓練された例示的なＥＤ−ＮＴＭモデルが示されている。この例示的な実験では、ＥＤ−ＮＴＭモデルを図６に示すように構成し、系列想起タスクについてエンドツーエンドで訓練した。この設定では、（「系列」エンコーダの）エンコーダＥＳの目的は入力をエンコードしてメモリに記憶することであり、一方、（「系列」デコーダの）デコーダＤＳの目的は出力を再現することであった。
【００４２】
図７は、このエンコーダ設計での訓練性能を示している。この手順では、長さ１０００のシーケンスでメモリ・サイズ汎化の完全な精度を達成しつつ、訓練が収束するのに（１０−５の損失）、約１１，０００回の反復を要した。
【００４３】
次のステップでは、訓練されたエンコーダＥＳを他のタスクに再利用した。その目的で、転移学習を使用した。重みが凍結された事前に訓練されたＥＳを、新しい、初期化したばかりのデコーダに接続した。
【００４４】
図８は、逆想起タスクに使用される例示的なＥＤ−ＮＴＭモデルを示している。この例では、モデルのエンコーダ部分が凍結されている。エンコーダＥＳは、系列想起タスクについて事前に訓練したものである（ＤＲは「逆」デコーダを表す）。
【００４５】
系列想起タスクについて事前に訓練されたエンコーダＥＳを用いたＥＤ−ＮＴＭの結果を表１に示す。エンコーダの事前訓練に使用した系列想起の場合でも、訓練時間はほぼ半分に短縮されている。さらに、これは、奇数および同一性などの順方向処理の順次的タスクに対処するには十分であった。シーケンス比較では、訓練は収束せず、損失関数値は０．０２にしかならなかったが、それでも、メモリ・サイズ汎化は約９９．４％であった。逆想起タスクでは、訓練は完全に失敗し、検証精度はランダムな推測を超えなかった。
【００４６】
【表１】
2022501702.tif 000003
【００４７】
逆想起での訓練の失敗に対処するために、２つの実験を行って、ＥＳエンコーダの挙動を調べた。第１の実験の目的は、各入力がただ１つのメモリ・アドレスの下でエンコードおよび記憶されるか否かを検証することとした。
【００４８】
図９は、長さ１００のランダムに選択された入力シーケンスが処理されているときの書き込みアテンションを示している。メモリは１２８個のアドレスを有する。図示のように、訓練されたモデルは、基本的にはメモリへの書き込みにハード・アテンションのみを使用している。さらに、各書き込み操作はメモリ内の異なる位置に適用され、これらは順次的に発生している。これは、乱数の種の初期化を様々に選択して試行した全てのエンコーダで観察された。いくつかの場合では、エンコーダはメモリの下方を使用したが、この場合はメモリ・アドレスの上方が使用された。これは、いくつかの場合（別の訓練エピソード）では、エンコーダはヘッドを１アドレス前方にシフトするように学習し、他の場合では、後方にシフトするように学習したという事実に起因する。したがって、第ｋ要素のエンコーディングは、第１要素がエンコードされた位置から（メモリ・アドレスを巡回的に見て）ｋ−１位置だけ離れている。
【００４９】
第２の実験では、全体を通して繰り返される同じ要素で構成されるシーケンスをエンコーダに供給した。図１０は、同じ要素と異なる要素とで構成されるシーケンスを記憶した後のメモリ内容を示している（右の内容が所望の内容である）。そのようなタスクでは、後述のエンコーダに関して図１０Ｂに示すように、エンコーダが書き込むことを決定した全てのメモリ・アドレスの内容が完全に同一になることが望ましい。図１０Ａに示すように、エンコーダＥＳが動作している場合、全ての位置が同じようにエンコードされず、メモリ位置の間でわずかな変動がある。これは、各要素のエンコーディングがシーケンスの前の要素によっても影響を受けることを示していた。換言すれば、エンコーディングにはある種の順方向バイアスがある。これが、逆想起タスクが失敗する明らかな理由である。
【００５０】
順方向バイアスを排除して、各要素が他の要素とは独立してエンコードされるようにするために、逆想起タスクについてゼロからエンドツーエンドで訓練される新しいエンコーダ−デコーダ・モデルが提供される。この例示的なＥＤ−ＮＴＭモデルを図１１に示す。（「逆」エンコーダの）エンコーダＥＲの役割は、入力をエンコードしてメモリに記憶することであり、デコーダＤＲは、シーケンスの逆順を生成するように訓練される。ＥＤ−ＮＴＭのこの設計では、アテンションの境界のないジャンプは許可されないので、入力の処理の最後に、デコーダの読み出しアテンションがエンコーダの書き込みアテンションになるように初期化される追加ステップが追加される。このようにして、デコーダは、アテンションを逆順でシフトするように学習することにより、入力シーケンスを逆に復元することが可能になり得る。
【００５１】
この処理によって訓練されたエンコーダには、順方向バイアスがないはずである。全ての長さのシーケンスに対して入力の逆順を生成するための完全なエンコーダ−デコーダを考える。ある任意のｎについて、入力シーケンスをｘ１，ｘ２，．．．，ｘｎとし、ここでｎはエンコーダには事前に知られていない。前述のエンコーダＥＳの場合と同様に、このシーケンスはｚ１，ｚ２，．．．，ｚｎとしてエンコードされており、ここで、各ｋについて、ある関数ｆｋに対して、ｚｋ＝ｆｋ（ｘ１，ｘ２，．．．，ｘｋ）であると仮定する。順方向バイアスを有さないためには、ｚがｘのみに依存すること、すなわち、ｚ＝ｆ（ｘ）であることが示される必要がある。次に、仮定のシーケンスｘ１，ｘ２，．．．，ｘｋについて、ｘｋのエンコーディングは尚もｚｋと等しくなり、これはシーケンスの長さが事前に知られていないためである。この仮定のシーケンスに対して、デコーダはｚｋを読み出すことから開始する。ｘｋを出力する必要があるので、これが起こる唯一の手法は、ｘｋのセットとｚｋのセットとの間に１対１対応が存在する場合である。したがって、ｆｋはｘｋのみに依存し、順方向バイアスは存在しない。ｋは任意に選択したので、この主張は全てのｋについて成り立ち、結果として得られるエンコーダには順方向バイアスがないことが示される。
【００５２】
上記のアプローチは、完全な学習の仮定に依拠している。これらの実験において、入力シーケンスの順方向ならびに逆方向の順序のデコード（系列想起タスクおよび逆想起タスク）に関して、１００％の検証精度が達成された。しかしながら、訓練は収束せず、最良の損失関数値は約０．０１であった。そのような大きな訓練損失では、メモリ・サイズ汎化は、（十分に大きいメモリ・サイズで）長さ５００までのシーケンスではうまく機能し、完全な１００％の精度を達成した。しかしながら、その長さを超えると、性能は低下し始め、長さ１０００では、テスト精度は９２％にすぎなかった。
【００５３】
順方向および逆方向両方の順次的タスクに対処可能な改良されたエンコーダを得るために、ハード・パラメータ共有を用いたマルチタスク学習（ＭＴＬ：Ｍｕｌｔｉ−Ｔａｓｋ  Ｌｅａｒｎｉｎｇ）アプローチが適用される。したがって、単一のエンコーダと多数のデコーダとを有するモデルが構築される。様々な実施形態において、それは全てのタスクについて合同で訓練されるわけではない。
【００５４】
図１３は、系列想起タスクおよび逆想起タスクの合同訓練に使用されるＥＤ−ＮＴＭモデルを示している。このアーキテクチャでは、合同エンコーダ１３０１が、別個の系列想起および逆想起デコーダ１３０２に先行する。図１３に示すモデルでは、エンコーダ（「合同」エンコーダのＥＪ）は、系列想起タスク（ＤＳ）と逆想起タスク（ＤＲ）との両方に同時に適したエンコーディングを生成するように明示的に強制される。この形の誘導バイアスを適用して、他の順次的タスクに独立して適したデコーダを構築する。
【００５５】
図１２は、系列想起タスクおよび逆想起タスクに関して合同で訓練されたＥＤ−ＮＴＭモデルの訓練性能を示している。１０−５の訓練損失は、約１２，０００回の反復後に得られている。第１のエンコーダＥＳの訓練と比較して、訓練損失が低下し始めるまでに長い時間がかかるが、それでも全体の収束は、エンコーダＥＳに比べて約１０００回の反復しか長くなかった。しかしながら、図１０Ｂに示すように、メモリに記憶された繰り返しシーケンスのエンコーディングは、全ての位置でほぼ均一であり、順方向バイアスが排除されていることが示されている。
【００５６】
このエンコーダは、さらなる作業記憶タスクに適用される。これらタスク全てにおいて、エンコーダＥＪを凍結し、タスク別のデコーダのみを訓練した。集計結果は表２で見ることができる。
【００５７】
【表２】
2022501702.tif 000004
【００５８】
エンコーダＥＪは、（アテンションがソルバに与えられる場所に応じて）両方のタスクをうまく実行できるようにするという目的で設計したので、それらをエンドツーエンドで個別に訓練するよりも改善された結果が得られている。逆想起の訓練は非常に高速であり、系列想起に関して、エンコーダＥＳよりも高速である。
【００５９】
上述の奇数タスクの例示的な実装では、ＥＪエンコーダには、基本的なアテンション・シフト・メカニズム（各ステップで高々１メモリ・アドレスだけシフトすることが可能なもの）のみを有するデコーダを設けた。エンコーディングのアテンションが各ステップで２位置ジャンプする必要があるので、これはうまく訓練されないことを確認した。訓練はまったく収束せず、損失値は０．５付近であった。デコーダがアテンションを２ステップだけシフト可能になる追加機能を追加した後、モデルは約７，２００回の反復で収束した。
【００６０】
シーケンス比較タスクおよび同一性タスクの例示的な実施形態の両方は、デコーダの入力をエンコーダの入力と要素ごとに比較することを含む。そこで、それらの訓練性能を比較するために、両方のタスクに同じパラメータを使用した。具体的には、これにより、追加の隠れ層（ＲｅＬＵ活性化を使用）のために、訓練可能なパラメータの数が最大になった。同一性は２値分類の問題であるので、バッチ・サイズが小さいと、訓練中の損失関数の変動が大きくなった。より大きな６４のバッチ・サイズを選択すると、この挙動が安定し、（図１４に示すように）シーケンス比較では約１１，０００回の反復で、（図１５に示すように）同一性では約９，２００回の反復で、訓練を収束させることが可能になった。ウォール・タイムはこのより大きなバッチ・サイズの影響を受けなかったが（効率的にＧＰＵを利用したため）、データ・サンプルの数は実際には他のタスクの場合よりもはるかに多いことに留意することが重要である。
【００６１】
同一性では、損失がバッチ内の６４個の値のみに対して平均されるので、訓練の初期段階での変動が大きくなる。また、訓練器が利用可能な情報は、同一性タスクではたった１ビットであるので、より速く収束した。これが発生した理由は、同一性問題へのインスタンスの分配が、個々の比較で少数のミスがあっても、２値クラスを分離するためのエラーのない決定境界が存在するように行われるためである。
【００６２】
本開示は、記憶撹乱タスクなど、追加のクラスの作業記憶タスクに適用可能であることが理解されよう。そのような二重タスクの特徴は、メイン・タスクを解決する途中でアテンションをシフトして、一時的に別のタスクに取り組み、その後メイン・タスクに戻る能力である。本明細書に記載のＥＤ−ＮＴＭフレームワークにおいてそのようなタスクを解決するには、メイン入力のエンコードを途中で中断し、撹乱タスクを表す入力に対処するために、場合によってはメモリの他の部分にアテンションをシフトし、最後にエンコーダが中断された場所にアテンションを戻す必要がある。撹乱はメイン・タスクのどこにでも現れ得るので、これには動的なエンコーディング技法が必要になる。
【００６３】
さらに、本開示は、視覚的な作業記憶タスクに適用可能である。これらには、画像に適したエンコーディングを採用する必要がある。
【００６４】
一般に、上述のようなＭＡＮＮの動作は、データがその中をどのように流れるかという観点で記述され得る。入力は順次アクセスされ、出力は入力と並行して順次生成される。ｘ＝ｘ１，ｘ２，．．．，ｘｎは入力された要素のシーケンスを表し、ｙ＝ｙ１，ｙ２，．．．，ｙｎは出力される要素のシーケンスを表すものとする。一般性を失うことなく、各要素が共通のドメインＤに属していると仮定され得る。Ｄは、入力のセグメント化、ダミー入力の作成などのための特別なシンボルなど、特別な状況に対処するのに十分に大きくなるようにされ得る。
【００６５】
全ての時間ステップｔ＝１，２，３，．．．，Ｔについて、ｘｔは時間ステップｔの間にアクセスされる入力要素であり、ｙｔは時間ステップｔの間に生成される出力要素であり、ｑｔはｑ０を初期値とした時間ｔの終了時のコントローラの（隠れ）状態を表し、ｍｔはｍ０を初期値とした時間ｔの終了時のメモリの内容を表し、ｒｔは時間ステップｔの間にメモリから読み出される読み出しデータである値のベクトルを表し、ｕｔは時間ステップｔの間にメモリに書き込まれる更新データである値のベクトルを表す。
【００６６】
ｒｔおよびｕｔ両方の次元は、メモリ幅に依存することができる。しかしながら、これらの次元は、メモリのサイズと独立であり得る。以下に説明する変換関数に関するさらなる条件により、結果として、固定のコントローラの場合（ニューラル・ネットワークのパラメータが凍結されていることを意味する）、処理される入力シーケンスの長さに基づいてメモリ・モジュールのサイズが決定され得る。そのようなＭＡＮＮを訓練している間、短いシーケンスを使用することができ、訓練が収束した後、結果として得られる同じコントローラをより長いシーケンスに使用することができる。
【００６７】
ＭＡＮＮの基礎となる動的なシステムの時間発展を支配する式は、次の通りである。
ｒｔ＝ＭＥＭ＿ＲＥＡＤ（ｍｔ−１）
（ｙｔ，ｑｔ，ｕｔ）＝ＣＯＮＴＲＯＬＬＥＲ（ｘｔ，ｑｔ−１，ｒｔ，θ）
ｍｔ＝ＭＥＭ＿ＷＲＩＴＥ（ｍｔ−１，ｕｔ）
【００６８】
関数ＭＥＭ＿ＲＥＡＤおよびＭＥＭ＿ＷＲＩＴＥは、訓練可能なパラメータを有さない固定関数である。この関数は、メモリ幅が固定されている間、全てのメモリ・サイズに対して明確に定義されている必要がある。関数ＣＯＮＴＲＯＬＬＥＲは、θで表されるニューラル・ネットワークのパラメータによって決定される。パラメータの数はドメイン・サイズおよびメモリ幅に依存するが、メモリ・サイズとは独立である必要がある。これらの条件により、ＭＡＮＮがメモリ・サイズと独立であることが保証される。
【００６９】
図１６を参照すると、本開示の実施形態によるシングルタスク・メモリ拡張エンコーダ−デコーダの一般的なアーキテクチャが示されている。タスクＴは入力シーケンスのペア（ｘ，ｖ）によって定義され、ここで、ｘはメイン入力であり、ｖは補助入力である。このタスクの目的は、同じく（ｘ，ｖ）の表記で表される関数を、最初にｘに順次アクセスし、その後ｖに順次アクセスする順次的な仕方で計算することである。
【００７０】
メイン入力はエンコーダに供給される。次に、エンコーダによるｘの処理の最後にメモリが転送され、デコーダにメモリの初期構成が提供される。デコーダは補助入力ｖを受け取り、出力ｙを生成する。エンコーダ−デコーダは、ｙ＝（ｘ，ｖ）の場合、タスクＴを解決すると言われる。この処理では、入力の分布に関して、小さなエラーは許容され得る。
【００７１】
図１７を参照すると、本開示の実施形態によるマルチタスク・メモリ拡張エンコーダ−デコーダの一般的なアーキテクチャが示されている。タスクのセットτ＝｛Ｔ１，Ｔ２，．．．，Ｔｎ｝が与えられた場合、τのタスクに対してマルチタスク・メモリ拡張エンコーダ−デコーダが提供され、これによりコントローラに組み込まれたニューラル・ネットワーク・パラメータが学習される。様々な実施形態において、マルチタスク学習パラダイムが適用される。一例では、上記のタスクと並行して、作業記憶タスクτ＝｛想起，逆，奇数，Ｎバック，同一性｝である。ここで、ドメインは固定幅の２進列、たとえば、８ビット入力で構成される。
【００７２】
Ｔ∈τの全てのタスクについて、タスクの全てのエンコーダＭＡＮＮが同一の構造を有するような、Ｔに適したエンコーダ−デコーダが決定される。いくつかの実施形態では、エンコーダ−デコーダは、τのタスクの特性に基づいて選択される。
【００７３】
作業記憶タスクの場合、エンコーダの適切な選択は、メモリ・アクセス用の連続的なアテンション・メカニズムおよび内容アドレス指定をオフにしたニューラル・チューリング・マシン（ＮＴＭ）である。
【００７４】
「想起」の場合、デコーダの適切な選択はエンコーダと同じであり得る。
【００７５】
「奇数」の場合、適切な選択は、メモリ位置にわたって２ステップずつアテンションをシフトすることが可能なＮＴＭである。
【００７６】
次に、マルチタスク・エンコーダ−デコーダ・システムは、τのタスクを訓練するように構築され得る。そのようなシステムを図１７に示す。このシステムは、全てのタスクに共通の単一のメイン入力と、個々のタスク用の個別の補助入力とを受け入れる。共通のメイン入力を処理した後の共通のメモリ内容が、個々のデコーダに転送される。
【００７７】
マルチタスク・エンコーダ−デコーダ・システムは、以下に説明するように、転移学習の有無にかかわらず、マルチタスク訓練を使用して訓練され得る。
【００７８】
マルチタスク訓練では、タスクのセットτ＝｛Ｔ１，Ｔ２，．．．，Ｔｎ｝は、共通のドメインＤを提供した。全てのタスクＴ∈τについて、タスクの全てのエンコーダＭＡＮＮが同一の構造を有するような、Ｔに適したエンコーダ−デコーダが決定される。マルチタスク・エンコーダ−デコーダは、上述のように、個々のタスクのエンコーダ−デコーダに基づいて構築される。τの各タスクに対して適切な損失関数が決定される。たとえば、バイナリ・クロスエントロピー関数が、バイナリ入力と共にτのタスクに使用され得る。マルチタスク・エンコーダ−デコーダを訓練するための適切なオプティマイザが決定される。τのタスク用の訓練データが取得される。訓練の例は、各サンプルが全てのタスクに共通のメイン入力と、各タスク用の個別の補助入力および出力とで構成されるようなものとする必要がある。
【００７９】
訓練データ内のシーケンスに対処するために、適切なメモリ・サイズが決定される。最悪の場合、メモリ・サイズは、訓練データ内のメインまたは補助入力シーケンスの最大長に対して線形になる。マルチタスク・エンコーダ−デコーダは、訓練損失が許容値に達するまで、オプティマイザを使用して訓練される。
【００８０】
合同マルチタスク訓練および転移学習では、マルチタスク訓練処理を用いたエンコーダの訓練だけに使用される適切なサブセットs⊆τが決定される。これは、クラスτの特性の知識を使用して行うことができる。作業記憶タスクに関して、セット｛想起，逆｝がsに使用され得る。sのタスクで定義されるマルチタスク・エンコーダ−デコーダが構築される。上記で概説したのと同じ方法を使用して、このマルチタスク・エンコーダ−デコーダを訓練する。訓練が収束すると、収束時に取得されたエンコーダのパラメータが凍結される。各タスクＴ∈τについて、Ｔに関連するシングルタスク・エンコーダ−デコーダが構築される。全てのエンコーダ−デコーダ内の各エンコーダに対して重みがインスタンス化され、凍結される（訓練不可として設定される）。ここで、エンコーダ−デコーダのそれぞれが、個々のデコーダのパラメータを取得するために別々に訓練される。
【００８１】
図１８を参照すると、本開示の実施形態による人工ニューラル・ネットワークを動作させる方法が示されている。１８０１において、複数のデコーダ人工ニューラル・ネットワークのサブセットが、エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練される。エンコーダ人工ニューラル・ネットワークは、入力を受け取り、入力に基づいてエンコードされた出力をメモリに提供するようになされる。複数のデコーダ人工ニューラル・ネットワークのそれぞれは、メモリからエンコードされた入力を受け取り、エンコードされた入力に基づいて出力を提供するようになされる。１８０２において、エンコーダ人工ニューラル・ネットワークが凍結される。１８０３において、複数のデコーダ人工ニューラル・ネットワークのそれぞれが、凍結されたエンコーダ人工ニューラル・ネットワークと組み合わせて別々に訓練される。
【００８２】
ここで図１９を参照すると、コンピューティング・ノードの一例の概略図が示されている。コンピューティング・ノード１０は、適切なコンピューティング・ノードの一例に過ぎず、本明細書に記載の実施形態の使用または機能の範囲に関するいかなる制限も示唆することを意図していない。いずれにしても、コンピューティング・ノード１０は、上記に記載の機能のいずれかを実装もしくは実行またはその両方を行うことが可能である。
【００８３】
コンピューティング・ノード１０には、他の多くの汎用または専用のコンピューティング・システム環境または構成で動作可能なコンピュータ・システム／サーバ１２が存在する。コンピュータ・システム／サーバ１２での使用に適し得るよく知られているコンピューティング・システム、環境、もしくは構成、またはそれらの組み合わせの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムもしくはデバイスのいずれか含む分散クラウド・コンピューティング環境などが含まれるが、これらに限定されない。
【００８４】
コンピュータ・システム／サーバ１２は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで記述され得る。一般に、プログラム・モジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム／サーバ１２は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施され得る。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム記憶媒体に配置され得る。
【００８５】
図１９に示すように、コンピューティング・ノード１０内のコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形態で示している。コンピュータ・システム／サーバ１２のコンポーネントは、１つまたは複数のプロセッサまたは処理ユニット１６と、システム・メモリ２８と、システム・メモリ２８を含む様々なシステム・コンポーネントをプロセッサ１６に結合するバス１８と、を含み得るが、これらに限定されない。
【００８６】
バス１８は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、加速グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のうちのいずれかの１つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、拡張ＩＳＡ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ビデオ・エレクトロニクス規格協会（ＶＥＳＡ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル・バス、周辺機器相互接続（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ）バス、周辺機器相互接続エクスプレス（ＰＣＩｅ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、およびアドバンスト・マイクロコントローラ・バス・アーキテクチャ（ＡＭＢＡ：Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ）が含まれる。
【００８７】
コンピュータ・システム／サーバ１２は、典型的には、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム／サーバ１２によってアクセス可能な任意の利用可能な媒体であり得、揮発性および不揮発性の媒体、取り外し可能および取り外し不可能な媒体の両方を含む。
【００８８】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０もしくはキャッシュ・メモリ３２またはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１２は、他の取り外し可能／取り外し不可能な、揮発性／不揮発性のコンピュータ・システム記憶媒体をさらに含み得る。単なる例として、取り外し不可能な不揮発性の磁気媒体（図示せず、典型的には「ハード・ドライブ」と呼ばれる）に読み書きするためのストレージ・システム３４を設けることができる。図示していないが、取り外し可能な不揮発性の磁気ディスク（たとえば、「フレキシブル・ディスク」）に読み書きするための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光学メディアなどの取り外し可能な不揮発性の光学ディスクに読み書きするための光学ディスク・ドライブと、を設けることができる。そのような例では、それぞれを、１つまたは複数のデータ・メディア・インターフェースによってバス１８に接続することができる。以下でさらに図示および説明するように、メモリ２８は、本開示の実施形態の機能を実行するように構成されるプログラム・モジュールのセット（たとえば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含み得る。
【００８９】
プログラム・モジュール４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ４０は、限定ではなく例として、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、メモリ２８に記憶され得る。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データまたはそれらの何らかの組み合わせのそれぞれは、ネットワーク環境の実装を含み得る。プログラム・モジュール４２は、一般に、本明細書に記載の実施形態の機能もしくは方法論またはその両方を実行する。
【００９０】
コンピュータ・システム／サーバ１２はまた、キーボード、ポインティング・デバイス、ディスプレイ２４などの１つまたは複数の外部デバイス１４、ユーザがコンピュータ・システム／サーバ１２とやりとりすることを可能にする１つまたは複数のデバイス、ならびに／あるいはコンピュータ・システム／サーバ１２が１つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（たとえば、ネットワーク・カード、モデムなど）と通信し得る。そのような通信は、入力／出力（Ｉ／Ｏ）インターフェース２２を介して行うことができる。またさらに、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、一般的なワイド・エリア・ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、もしくはパブリック・ネットワーク（たとえば、インターネット）、またはそれらの組み合わせなどの、１つまたは複数のネットワークと通信することができる。図示のように、ネットワーク・アダプタ２０は、バス１８を介してコンピュータ・システム／サーバ１２の他のコンポーネントと通信する。図示していないが、他のハードウェアもしくはソフトウェアまたはその両方のコンポーネントを、コンピュータ・システム／サーバ１２と併用できることを理解されたい。例には、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらに限定されない。
【００９１】
本開示は、システム、方法、もしくはコンピュータ・プログラム製品またはそれらの組み合わせとして具現化され得る。コンピュータ・プログラム製品は、本開示の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【００９２】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｐｏｒｔａｂｌｅ  ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリー・スティック（登録商標）、フレキシブル・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波（たとえば、光ファイバ・ケーブルを通過する光パルス）、または有線で伝送される電気信号など、一過性の信号自体であると解釈されるべきではない。
【００９３】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組み合わせを含み得る。各コンピューティング／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に記憶する。
【００９４】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはＳｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行し得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、または（たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに接続され得る。一部の実施形態では、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙ）を含む電子回路は、本開示の態様を実行するために、電子回路を個人向けにするためのコンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行し得る。
【００９５】
本開示の態様は、本開示の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書で説明している。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
【００９６】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行された命令が、フローチャートもしくはブロック図またはその両方の１つまたは複数のブロックにおいて指定された機能／行為を実装するための手段を生成するようなマシンを生成し得る。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の１つまたは複数のブロックにおいて指定された機能／行為の態様を実装する命令を含む製造品を含むような特定の仕方で機能するように、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス、またはそれらの組み合わせに指示することが可能なコンピュータ可読記憶媒体に記憶され得る。
【００９７】
また、コンピュータ可読プログラム命令をコンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させることによって、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行された命令が、フローチャートもしくはブロック図またはその両方の１つまたは複数のブロックにおいて指定された機能／行為を実装するようなコンピュータ実装処理を生成し得る。
【００９８】
図中のフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能（複数可）を実装するための１つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。一部の代替的実装では、ブロックに示す機能は、図に示す順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示す２つのブロックは、実際には実質的に同時に実行され得、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を実行するか、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用のハードウェア・ベースのシステムによって実装できることにも留意されたい。
【００９９】
本開示の様々な実施形態の説明は、例示の目的で提示しているが、網羅的であることも、開示した実施形態に限定されることも意図したものではない。開示した実施形態の範囲および思想から逸脱することなく、多くの変更および変形が当業者には明らかであろう。本明細書で使用している用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を最もよく説明するために、または当業者が本明細書に開示した実施形態を理解できるようにするために選択している。
【図１Ａ】
2022501702.tif 000005
【図１Ｂ】
2022501702.tif 000006
【図１Ｃ】
2022501702.tif 000007
【図１Ｄ】
2022501702.tif 000008
【図１Ｅ】
2022501702.tif 000009
【図２Ａ】
2022501702.tif 000010
【図２Ｂ】
2022501702.tif 000011
【図２Ｃ】
2022501702.tif 000012
【図３】
2022501702.tif 000013
【図４】
2022501702.tif 000014
【図５】
2022501702.tif 000015
【図６】
2022501702.tif 000016
【図７】
2022501702.tif 000017
【図８】
2022501702.tif 000018
【図９】
2022501702.tif 000019
【図１０Ａ】
2022501702.tif 000020
【図１０Ｂ】
2022501702.tif 000021
【図１１】
2022501702.tif 000022
【図１２】
2022501702.tif 000023
【図１３】
2022501702.tif 000024
【図１４】
2022501702.tif 000025
【図１５】
2022501702.tif 000026
【図１６】
2022501702.tif 000027
【図１７】
2022501702.tif 000028
【図１８】
2022501702.tif 000029
【図１９】
2022501702.tif 000030
【手続補正書】
【提出日】令和3年3月22日(2021.3.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力を受け取り、前記入力に基づいてエンコードされた出力を提供するようになされたエンコーダ人工ニューラル・ネットワークと、
それぞれがエンコードされた入力を受け取り、前記エンコードされた入力に基づいて出力を提供するようになされた複数のデコーダ人工ニューラル・ネットワークと、
前記エンコーダ人工ニューラル・ネットワークおよび前記複数のデコーダ人工ニューラル・ネットワークに動作可能に結合されたメモリと、
を備え、前記メモリは、
前記エンコーダ人工ニューラル・ネットワークの前記エンコードされた出力を記憶し、
前記エンコードされた入力を前記複数のデコーダ人工ニューラル・ネットワークに提供する
ようになされる、システム。
【請求項２】
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、複数のタスクのうちの１つに対応する、請求項１に記載のシステム。
【請求項３】
前記エンコーダ人工ニューラル・ネットワークは、１つまたは複数のタスクについて事前に訓練される、請求項１または２に記載のシステム。
【請求項４】
前記事前訓練は、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練すること
を含む、請求項３に記載のシステム。
【請求項５】
前記事前訓練は、
前記複数のデコーダ人工ニューラル・ネットワークのサブセットを、前記エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練することと、
前記エンコーダ人工ニューラル・ネットワークを凍結することと、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記凍結されたエンコーダ人工ニューラル・ネットワークと組み合わせて別々に訓練することと、
を含む、請求項３に記載のシステム。
【請求項６】
前記メモリはセルのアレイを備える、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記エンコーダ人工ニューラル・ネットワークは、入力シーケンスを受け取るようになされ、前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、前記入力シーケンスの各入力に対応する出力を提供するようになされる、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
前記複数のデコーダ人工ニューラル・ネットワークの前記それぞれは、補助入力を受け取るようになされ、前記出力はさらに前記補助入力に基づく、請求項１〜７のいずれか１項に記載のシステム。
【請求項９】
複数のデコーダ人工ニューラル・ネットワークのそれぞれを、エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練すること
を含み、
前記エンコーダ人工ニューラル・ネットワークは、入力を受け取り、前記入力に基づいてエンコードされた出力をメモリに提供するようになされ、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、メモリからエンコードされた入力を受け取り、前記エンコードされた入力に基づいて出力を提供するようになされる、方法。
【請求項１０】
複数のデコーダ人工ニューラル・ネットワークのサブセットを、エンコーダ人工ニューラル・ネットワークと組み合わせて合同で訓練すること
を含む方法であって、
前記エンコーダ人工ニューラル・ネットワークは、入力を受け取り、前記入力に基づいてエンコードされた出力をメモリに提供するようになされ、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれは、メモリからエンコードされた入力を受け取り、前記エンコードされた入力に基づいて出力を提供するようになされ、
前記方法は、
前記エンコーダ人工ニューラル・ネットワークを凍結することと、
前記複数のデコーダ人工ニューラル・ネットワークのそれぞれを、前記凍結されたエンコーダ人工ニューラル・ネットワークと組み合わせて別々に訓練することと、
をさらに含む、方法。
【請求項１１】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行された場合に、請求項９または１０に記載の方法を実行するようになされたプログラム・コード手段を含む、コンピュータ・プログラム。
【国際調査報告】
2022501702.tif 000031
2022501702.tif 000032