(57)【特許請求の範囲】
【請求項１】
環境の現在状態を特徴付ける観察を受信し、アクションの連続空間から選択されたアクションを実施することで前記環境と対話するエージェントにより実施されるアクションを選択するために使用されるアクタ・ニューラル・ネットワークをトレーニングするための方法であって、前記アクタ・ニューラル・ネットワークは、前記アクタ・ニューラル・ネットワークのパラメータの現在値に従って観察を次のアクションにマップし、前記方法は、
エクスペリエンス・タプルのミニバッチを再生メモリから、強化学習システムによって取得するステップであって、各エクスペリエンス・タプルは、前記環境のトレーニング状態を特徴付けるトレーニング観察、前記トレーニング観察を受信したことに応答して前記エージェントにより実施されるアクションの連続空間からのトレーニング動作、前記トレーニング動作を実施するために前記エージェントにより受信されるトレーニング報酬、および前記環境の次のトレーニング状態を特徴付ける次のトレーニング観察を含む、ステップと、
エクスペリエンス・タプルの前記ミニバッチを用いて前記アクタ・ニューラル・ネットワークの前記パラメータの現在値を、前記強化学習システムによって更新するステップであって、
前記ミニバッチ内のエクスペリエンス・タプルごとに、
前記強化学習システムによって、クリティック・ニューラル・ネットワークを用いて前記エクスペリエンス・タプル内の前記トレーニング観察および前記トレーニング動作を処理して、前記クリティック・ニューラル・ネットワークのパラメータの現在値に従って前記エクスペリエンス・タプルに対するニューラル・ネットワーク出力を決定するステップと、
前記エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を、前記エクスペリエンス・タプル内の前記トレーニング報酬および前記エクスペリエンス・タプル内の前記次のトレーニング観察から、前記強化学習システムによって決定するステップと、
前記ミニバッチ内の前記エクスペリエンス・タプルに対する前記ターゲット・ニューラル・ネットワーク出力および前記ニューラル・ネットワーク出力の間の誤差を用いて、前記クリティック・ニューラル・ネットワークの前記パラメータの現在値を、前記強化学習システムによって更新するステップと、
前記クリティック・ニューラル・ネットワークを用いて前記アクタ・ニューラル・ネットワークの前記パラメータの現在値を、前記強化学習システムによって更新するステップと、
を含む、ステップと、
を含む、方法。
【請求項２】
前記エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を決定するステップは、
前記強化学習システムによって、ターゲット・アクタ・ニューラル・ネットワークを用いて前記次のトレーニング観察を処理して、前記ターゲット・アクタ・ニューラル・ネットワークのパラメータの現在値に従って前記エクスペリエンス・タプルに対する予測された次のアクションを決定するステップであって、前記ターゲット・アクタ・ニューラル・ネットワークは前記アクタ・ニューラル・ネットワークと同一のニューラル・ネットワークアーキテクチャを有するが、前記ターゲット・アクタ・ニューラル・ネットワークの前記パラメータの現在値は前記アクタ・ニューラル・ネットワークの前記パラメータの現在値と異なる、ステップと、
前記強化学習システムによって、ターゲット・クリティック・ニューラル・ネットワークを用いて前記次のトレーニング観察および前記エクスペリエンス・タプルに対する予測された次のアクションを処理して、前記ターゲット・クリティック・ニューラル・ネットワークのパラメータの現在値に従って予測された次のニューラル・ネットワーク出力を生成するステップであって、前記ターゲット・クリティック・ニューラル・ネットワークは前記クリティック・ニューラル・ネットワークと同一のニューラル・ネットワークアーキテクチャを有するが、前記ターゲット・クリティック・ニューラル・ネットワークの前記パラメータの現在値は前記クリティック・ニューラル・ネットワークの前記パラメータの現在値と異なる、ステップと、
前記エクスペリエンス・タプルに対する前記ターゲット・ニューラル・ネットワーク出力を前記トレーニング報酬および前記エクスペリエンス・タプルに対する前記予測された次のニューラル・ネットワーク出力から、前記強化学習システムによって決定するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記アクタ・ニューラル・ネットワークの前記パラメータの前記更新された値を用いて、前記ターゲット・アクタ・ニューラル・ネットワークの前記パラメータの現在値を、前記強化学習システムによって更新するステップと、
前記クリティック・ニューラル・ネットワークの前記パラメータの前記更新された値を用いて、前記ターゲット・クリティック・ニューラル・ネットワークの前記パラメータの現在値を、前記強化学習システムによって更新するステップと、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記ターゲット・アクタ・ニューラル・ネットワークおよび前記ターゲット・クリティック・ニューラル・ネットワークの前記パラメータの現在値は、前記アクタ・ニューラル・ネットワークのトレーニングの間にトレーニング・プロセスの安全性を高めるように変化するように制約される、請求項３に記載の方法。
【請求項５】
前記クリティック・ニューラル・ネットワーク、前記アクタ・ニューラル・ネットワーク、またはその両方は１つまたは複数のバッチ正規化ニューラル・ネットワークレイヤを含む、請求項１乃至４の何れか１項に記載の方法。
【請求項６】
前記エージェントにより受信された前記観察は、前記環境の状態を特徴付ける特徴ベクトルを用いて、前記環境の状態を特徴付ける、請求項１乃至５の何れか１項に記載の方法。
【請求項７】
前記特徴ベクトルの異なる次元の値は可変の範囲を有する、請求項６に記載の方法。
【請求項８】
前記エージェントにより受信された前記観察は、前記環境の状態を特徴付ける１つまたは複数の画像からの画素入力を用いて前記環境の状態を特徴付ける、請求項１乃至５の何れか１項に記載の方法。
【請求項９】
エクスペリエンス・タプルの前記ミニバッチを用いて前記アクタ・ニューラル・ネットワークの前記パラメータの現在値を更新するのと独立に、
新たなエクスペリエンス・タプルを、前記強化学習システムによって生成するステップであって、
新たなトレーニング観察を、前記強化学習システムによって受信するステップと、
前記強化学習システムによって、前記アクタ・ニューラル・ネットワークを用いて前記新たなトレーニング観察を処理して、前記アクタ・ニューラル・ネットワークの前記パラメータの現在値に従って前記エージェントにより実施される新たなトレーニング動作を選択するステップと、
前記エージェントが前記新たなトレーニング動作を実施したことに応答して、新たなトレーニング報酬を、前記強化学習システムによって受信するステップと、
新たな次のトレーニング観察を、前記強化学習システムによって受信するステップと、
前記新たなトレーニング観察、前記新たなトレーニング動作、前記新たなトレーニング報酬、および前記新たな次のトレーニング観察を含む新たなエクスペリエンス・タプルを、前記強化学習システムによって生成するステップと、
前記新たなエクスペリエンス・タプルを前記再生メモリに、前記強化学習システムによって追加するステップと、
を含む、ステップをさらに含む、請求項１乃至８の何れか１項に記載の方法。
【請求項１０】
前記アクタ・ニューラル・ネットワークを用いて前記新たなトレーニング観察を処理して、新たなトレーニング動作を選択するステップは、
前記強化学習システムによって、前記アクタ・ニューラル・ネットワークを用いて前記新たなトレーニング観察を処理して、初期の新たなトレーニング動作を生成するステップと、
前記強化学習システムによって、雑音プロセスからサンプリングして、雑音因子を取得するステップであって、前記雑音プロセスは、時間的に相関付けられた探索を生成するオルンシュタイン・ウーレンベック過程である、ステップと、
前記強化学習システムによって、前記雑音因子により前記初期の新たなアクションを調節して、前記新たなトレーニング動作を生成するステップと、
を含む、請求項９に記載の方法。
【請求項１１】
前記クリティック・ニューラル・ネットワークを用いて、前記アクタ・ニューラル・ネットワークの前記パラメータの現在値を更新するステップは、
前記ミニバッチ内のエクスペリエンス・タプルごとに、
前記強化学習システムによって、前記アクタ・ニューラル・ネットワークの前記パラメータの現在値に従って前記アクタ・ニューラル・ネットワークを用いて前記エクスペリエンス・タプル内の前記トレーニング観察を処理して、前記トレーニング観察に対する次のアクションを生成するステップと、
（ｉ）前記トレーニング観察、次のアクション入力の対で、かつ、前記クリティック・ニューラル・ネットワークの前記パラメータの現在値に従って取得された前記次のアクションに関する前記クリティック・ニューラル・ネットワークの勾配および（ｉｉ）前記アクタ・ニューラル・ネットワークの前記パラメータの現在値に従って前記トレーニング観察で取得された前記アクタ・ニューラル・ネットワークの前記パラメータに関する前記アクタ・ニューラル・ネットワークの前記勾配に基づいて、前記アクタ・ニューラル・ネットワークに対するパラメータ更新を、前記強化学習システムによって決定するステップと、
を含む、請求項１乃至１０の何れか１項に記載の方法。
【請求項１２】
１つまたは複数のコンピュータと、前記１つまたは複数のコンピュータにより実行されたとき、前記１つまたは複数のコンピュータに請求項１乃至１１の何れか１項に記載の方法に従う動作を実施させるように動作可能な命令を格納した１つまたは複数の記憶デバイスとを備える、システム。
【請求項１３】
処理デバイスにより実行可能であり、かかる実行の際、前記処理デバイスに請求項１乃至１１の何れか１項に記載の方法に従う動作を実施させる命令を格納したコンピュータ可読記憶媒体。
【請求項１４】
１つまたは複数のコンピュータにより実装され、前記環境の現在状態を特徴付ける観察を受信し、アクションの連続空間から選択されたアクションを実施することで環境と対話するエージェントにより実施されるアクションを選択するために使用されるアクタ・ニューラル・ネットワークであって、前記アクタ・ニューラル・ネットワークは、前記アクタ・ニューラル・ネットワークのパラメータの現在値に従って観察を次のアクションにマップし、前記アクタ・ニューラル・ネットワークは請求項１乃至１１の何れか１項に記載の方法に従ってトレーニングされる、アクタ・ニューラル・ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は強化学習エージェントにより実施されるアクションを選択することに関する。
【背景技術】
【０００２】
強化学習エージェントは、環境の現在状態を特徴付ける観察を受信し、応答して、アクションを実施することで環境と対話する。幾つかの強化学習エージェントはニューラル・ネットワークを使用して、任意の所与の観察を受信したことに応答して実施すべきアクションを選択する。
【０００３】
ニューラル・ネットワークは、受信された入力に対する出力を予測するための非線形ユニットの１つまたは複数のレイヤを使用する機械学習モデルである。幾つかのニューラル・ネットワークは、出力レイヤに加えて１つまたは複数の隠れレイヤを含むディープ・ニューラル・ネットワークである。各隠れレイヤの出力は、当該ネットワーク内の次のレイヤ、即ち、次の隠れレイヤまたは出力レイヤへの入力として使用される。当該ネットワークの各レイヤは、それぞれの組のパラメータの現在値に従って受信された入力から出力を生成する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ioffe, Sergey and Szegedy, Christian. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015
【非特許文献２】George E. Uhlenbeck and Leonard S. Ornstein. “On the theory of the Brownian motion”. In: Physical review 36.5 (1930), p. 823
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書では、強化学習に関する技術を説明する。
【０００６】
一般に、１つの進歩的な態様を、環境の現在状態を特徴付ける観察を受信し、アクションの連続空間から選択されたアクションを実施することで環境と対話するエージェントにより実施されるアクションを選択するために使用されるアクタ・ニューラル・ネットワークをトレーニングするための方法であって、当該アクタ・ニューラル・ネットワークは、当該アクタ・ニューラル・ネットワークのパラメータの現在値に従って観察を次のアクションにマップし、当該方法は、エクスペリエンス・タプルのミニバッチを再生メモリから取得するステップであって、各エクスペリエンス・タプルは、環境のトレーニング状態を特徴付けるトレーニング観察、当該トレーニング観察を受信したことに応答してエージェントにより実施されるアクションの連続空間からのトレーニング動作、当該トレーニング動作を実施するためにエージェントにより受信されるトレーニング報酬、および環境の次のトレーニング状態を特徴付ける次のトレーニング観察を含む、ステップと、およびエクスペリエンス・タプルの当該ミニバッチを用いて当該アクタ・ニューラル・ネットワークのパラメータの現在値を更新するステップと、当該ミニバッチ内のエクスペリエンス・タプルごとに、クリティック・ニューラル・ネットワークを用いて当該エクスペリエンス・タプル内のトレーニング観察およびトレーニング動作を処理して、当該クリティック・ニューラル・ネットワークのパラメータの現在値に従って当該エクスペリエンス・タプルに対するニューラル・ネットワーク出力を決定し、当該エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を、当該エクスペリエンス・タプル内のトレーニング報酬および当該エクスペリエンス・タプル内の次のトレーニング観察から決定し、当該ミニバッチ内のエクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力と当該ニューラル・ネットワーク出力の間の誤差を用いて当該クリティック・ニューラル・ネットワークのパラメータの現在値を更新するステップと、当該クリティック・ニューラル・ネットワークを用いて、当該アクタ・ニューラル・ネットワークのパラメータの現在値を更新するステップとを含む、方法で具体化することができる。
【０００７】
当該エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を決定するステップが、ターゲット・アクタ・ニューラル・ネットワークを用いて当該次のトレーニング観察を処理して、ターゲット・アクタ・ニューラル・ネットワークのパラメータの現在値に従って当該エクスペリエンス・タプルに対する予測された次のアクションを決定するステップと、ターゲット・アクタ・ニューラル・ネットワークは当該アクタ・ニューラル・ネットワークと同一であるが、ターゲット・アクタ・ニューラル・ネットワークのパラメータの現在値は当該アクタ・ニューラル・ネットワークのパラメータの現在値と異なる、ステップと、ターゲット・クリティック・ニューラル・ネットワークを用いて当該次のトレーニング観察および当該エクスペリエンス・タプルに対する予測された次のアクションを処理して、ターゲット・クリティック・ニューラル・ネットワークのパラメータの現在値に従って予測された次のニューラル・ネットワーク出力を生成するステップであって、ターゲット・クリティック・ニューラル・ネットワークは当該クリティック・ニューラル・ネットワークと同一であるが、ターゲット・クリティック・ニューラル・ネットワークのパラメータの現在値は当該クリティック・ニューラル・ネットワークのパラメータの現在値と異なる、ステップと、当該エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を当該エクスペリエンス・タプルに対する当該トレーニング報酬および予測された次のニューラル・ネットワーク出力から決定するステップとを含んでもよい。当該方法がさらに、当該アクタ・ニューラル・ネットワークのパラメータの更新された値を用いて、ターゲット・アクタ・ニューラル・ネットワークのパラメータの現在値を更新するステップと、当該クリティック・ニューラル・ネットワークのパラメータの当該更新された値を用いて、ターゲット・クリティック・ニューラル・ネットワークのパラメータの現在値を更新するステップを含んでもよい。ターゲット・アクタ・ニューラル・ネットワークおよびターゲット・クリティック・ニューラル・ネットワークのパラメータの現在値が、当該アクタ・ニューラル・ネットワークのトレーニングの間に遅く変化するように制限されてもよい。
【０００８】
クリティック・ニューラル・ネットワーク、アクタ・ニューラル・ネットワーク、またはその両方が、１つまたは複数のバッチ正規化ニューラル・ネットワークレイヤを含んでもよい。エージェントにより受信された観察が、環境の状態を特徴付ける低次元特徴ベクトルを用いて、環境の状態を特徴付けてもよい。当該低次元特徴ベクトルの異なる次元の値が可変の範囲を有してもよい。エージェントにより受信された観察が、環境の状態を特徴付ける１つまたは複数の画像からの高次元画素入力を用いて環境の状態を特徴付けてもよい。
【０００９】
当該方法がさらに、エクスペリエンス・タプルのミニバッチを用いてアクタ・ニューラル・ネットワークのパラメータの現在値を更新するステップと独立に、新たなトレーニング観察を受信するステップと、当該アクタ・ニューラル・ネットワークを用いて当該新たなトレーニング観察を処理して、当該アクタ・ニューラル・ネットワークのパラメータの現在値に従ってエージェントにより実施される新たなトレーニング動作を選択するステップと、エージェントが当該新たなトレーニング動作を実施したことに応答して、新たなトレーニング報酬を受信するステップと、新たな次のトレーニング観察を受信するステップと、当該新たなトレーニング観察、当該新たなトレーニング動作、当該新たなトレーニング報酬、および当該新たな次のトレーニング観察を含む新たなエクスペリエンス・タプルを生成するステップと、当該新たなエクスペリエンス・タプルを当該再生メモリに追加するステップとを含む、新たなエクスペリエンス・タプルを生成するステップを含んでもよい。当該アクタ・ニューラル・ネットワークを用いて当該新たなトレーニング観察を処理して、新たなトレーニング動作を選択するステップが、当該アクタ・ニューラル・ネットワークを用いて当該新たなトレーニング観察を処理して、初期の新たなトレーニング動作を生成するステップと、雑音プロセスからサンプリングして、雑音因子を取得するステップと、当該雑音因子により当該初期の新たなアクションを調節して、当該新たなトレーニング動作を生成するステップとを含んでもよい。
【００１０】
当該方法がさらに、エージェントにより実施されるべきアクションを選択するように配置された当該アクタ・ニューラル・ネットワークを出力するステップを含んでもよい。
【００１１】
本明細書で説明した主題を、以下の利点のうち１つまたは複数を実現するための特定の実施形態で実装することができる。強化学習システムは、高次元の、連続的なアクション空間において、即ち、本明細書で説明するようにアクタ・ニューラル・ネットワークをトレーニングすることで、エージェントに対する効果的なアクション選択ポリシを効率的かつ直接的に学習することができる。特に、本明細書で説明した当該アクタ・ニューラル・ネットワークをトレーニングすることで、当該強化学習システムは、アクションの繊細な制御を必要とするタスクに対しても、かつ、当該アクション空間が離散化し次いで効率的に探索するのに扱いにくいときにでも、効果的なアクション選択ポリシを効率的に学習することができる。さらに、当該強化学習システムは、低次元観察である観察および高次元画素入力である観察の両方から効果的なポリシを学習することができる。主題は、例えば、以前には困難であったタスクに対するアクション選択ポリシを学習できるかもしれない改善された強化学習システムを提供するための強化学習システムの改善されたトレーニングを提供しうる。
【００１２】
態様を任意の好都合な形態で実装できることは理解される。例えば、態様および実装を、有形の搬送媒体（例えば、ディスク）であってもよくまたは有形の搬送媒体（例えば、通信信号）であってもよい適切な搬送媒体で運搬しうる適切なコンピュータ・プログラムにより実装してもよい。態様を、コンピュータ・プログラムを実行するプログラム可能コンピュータの形をとりうる適切な装置により実装してもよい。本明細書の主題の１つまたは複数の実施形態の詳細を添付図面および詳細な説明で以下で説明する。主題の他の特徴、態様、および利点は説明、図面、および諸請求項から明らかになろう。
【図面の簡単な説明】
【００１３】
【図１】例示的な強化学習システムを示す図である。
【図２】エクスペリエンス・タプルを再生メモリに追加するための例示的なプロセスの流れ図である。
【図３】アクタ・ニューラル・ネットワークのパラメータの現在値に対する更新を決定するための例示的なプロセスの流れ図である。
【図４】エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を決定するための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【００１４】
様々な図面における同じ参照番号および指定は同じ要素を示す。
【００１５】
本明細書では一般に、環境と対話する強化学習エージェントにより実施されるアクションを選択する強化学習システムを説明する。環境と対話するために、エージェントは環境の現在状態を特徴付けるデータを受信し、当該受信されたデータに応答して連続的なアクション空間からのアクションを実施する。環境の状態を特徴付けるデータを本明細書では観察と称する。
【００１６】
幾つかの実装では、環境はシミュレートされた環境であり、エージェントは当該シミュレートされた環境と対話する１つまたは複数のコンピュータ・プログラムとして実装される。例えば、当該シミュレートされた環境がビデオ・ゲームであってもよく、エージェントが当該ビデオ・ゲームをプレイしているシミュレートされたユーザであってもよい。別の例として、当該シミュレートされた環境が動きシミュレーション環境、例えば、運転シミュレーションまたは飛行シミュレーションであってもよく、エージェントは当該動きシミュレーションをナビゲートするシミュレートされた車両である。これらの実装では、当該アクションが、当該シミュレートされたユーザまたはシミュレートされた車両を制御するための可能な制御入力の空間内の点であってもよい。
【００１７】
幾つかの他の実装では、環境は現実世界の環境であり、エージェントは現実世界の環境と対話する機械的エージェントである。例えば、エージェントが、特定のタスクを実現するための環境と対話するロボットであってもよい。別の例として、エージェントが環境をナビゲートする自律または準自律車両であってもよい。これらの実装では、当該アクションが、当該ロボットまたは当該自律車両を制御するための可能な制御入力の空間内の点であってもよい。
【００１８】
幾つかのケースでは、当該観察は、環境の状態を特徴付ける低次元特徴ベクトルを用いて、環境の状態を特徴付ける。これらのケースでは、当該低次元特徴ベクトルの異なる次元の値が可変の範囲を有してもよい。
【００１９】
幾つかの他のケースでは、当該観察は、環境の状態を特徴付ける１つまたは複数の画像、例えば当該シミュレートされた環境の画像または当該機械的エージェントのセンサによりそれが現実世界の環境と対話するときにキャプチャされる画像からの高次元画素入力を用いて環境の状態を特徴付ける。
【００２０】
図１は例示的な強化学習システム１００を示す。強化学習システム１００は、以下で説明するシステム、コンポーネント、および技術が実装される１つまたは複数の位置における１つまたは複数のコンピュータ上のコンピュータ・プログラムとして実装されるシステムの１例である。
【００２１】
強化学習システム１００は、環境１０４と対話する強化学習エージェント１０２により実施されるアクションを選択する。即ち、強化学習システム１００は、それぞれが環境１０４の各状態を特徴付ける観察を受信し、各観察に応答して、当該観察に応答して強化学習エージェント１０２により実施されるべき連続的なアクション空間からアクションを選択する。
【００２２】
特に、強化学習システム１００はアクタ・ニューラル・ネットワーク１１０を用いてアクションを選択する。アクタ・ニューラル・ネットワーク１１０は、観察を受信し、当該観察を処理して、次のアクション、即ち、当該観察に応答してエージェントにより実施されるべきアクションを定義する連続的なアクション空間内の点に当該観察をマップするように構成されるニューラル・ネットワークである。
【００２３】
エージェント１０２が環境と効率的に対話できるようにするために、強化学習システム１００はアクタ・ニューラル・ネットワーク１１０をトレーニングして、アクタ・ニューラル・ネットワーク１１０のパラメータのトレーニングされた値を決定する。
【００２４】
いったんアクタ・ニューラル・ネットワーク１１０がトレーニングされると、強化学習システム１００は効率的に、アクタ・ニューラル・ネットワーク１１０を使用してエージェント１０４により実施されるべきアクションを選択することができる。特に、観察が受信されたとき、強化学習システム１００は、アクタ・ニューラル・ネットワーク１１０を用いて当該観察を処理して、アクタ・ニューラル・ネットワーク１１０のパラメータのトレーニングされた値に従って当該観察を新たなアクションにマップし、ついで、当該観察に応答して、即ち、エージェントを用いて当該新たなアクションを実施させるエージェント１０２に命令を送信することで、当該新たなアクションを実施するようにエージェント１０２に指示することができる。
【００２５】
アクタ・ニューラル・ネットワーク１１０のトレーニングを支援するために、強化学習システム１００は、再生メモリ１３０、クリティック・ニューラル・ネットワーク１４０、ターゲット・アクタ・ニューラル・ネットワーク１５０、およびターゲット・クリティック・ニューラル・ネットワーク１６０を含むトレーニングコンポーネント１２０を維持する。
【００２６】
再生メモリ１３０は、アクタ・ニューラル・ネットワーク１１０をトレーニングする際に使用するために、エージェント１０２の環境１０４との対話の結果として生ずるエクスペリエンス・タプルを格納する。
【００２７】
特に、再生メモリ内の各エクスペリエンス・タプルは、環境のトレーニング状態を特徴付けるトレーニング観察、当該トレーニング観察に応答してエージェント１０２により実施されるアクション、エージェント１０２が当該アクションを実施したことに応答してシステム１００により受信されるトレーニング報酬、および環境の次の状態、即ち、エージェントが当該アクションを実施した後に環境が遷移する状態を特徴付ける次の観察を含む。
【００２８】
強化学習システム１００は、アクタ・ニューラル・ネットワーク１１０のトレーニングの間に、エージェント１０２の環境１０４との対話からエクスペリエンス・タプルを生成する。トレーニング中にエクスペリエンス・タプルを生成するための例示的なプロセスを、図２を参照して以下でより詳細に説明する。
【００２９】
クリティック・ニューラル・ネットワーク１４０は、入力としてアクションおよび観察を受信し、当該アクションおよび当該観察を処理してニューラル・ネットワーク出力を生成するように構成されるニューラル・ネットワークである。以下でより詳細に説明するように、トレーニングの間に、強化学習システム１００はクリティック・ニューラル・ネットワーク１４０のパラメータの値を調節し、アクタ・ニューラル・ネットワーク１１０のパラメータの値を更新する際にクリティック・ニューラル・ネットワーク１４０を使用する。
【００３０】
幾つかの実装では、クリティック・ニューラル・ネットワーク１４０、アクタ・ニューラル・ネットワーク１１０、またはその両方は、トレーニング中の共変量シフトを最小化するために１つまたは複数のバッチ正規化レイヤを含む。バッチ正規化レイヤは非特許文献１により詳細に説明されている。
【００３１】
ターゲット・アクタ・ニューラル・ネットワーク１５０は、アクタ・ニューラル・ネットワーク１１０と同じである、即ち、アクタ・ニューラル・ネットワーク１１０と同一のニューラル・ネットワークアーキテクチャを有するが、おそらくアクタ・ニューラル・ネットワーク１１０とは異なるパラメータ値を有するニューラル・ネットワークである。
【００３２】
同様に、ターゲット・クリティック・ニューラル・ネットワーク１６０は、クリティック・ニューラル・ネットワーク１３０と同じであるがおそらくクリティック・ニューラル・ネットワーク１３０と異なるパラメータ値を有するニューラル・ネットワークである。
【００３３】
トレーニングコンポーネント１２０を用いてニューラル・ネットワークをトレーニングするために、強化学習システム１００は繰り返しエクスペリエンス・タプルのミニバッチを再生メモリ１３０から選択する。エクスペリエンス・タプルの各ミニバッチは所定数のエクスペリエンス・タプルを含む。当該所定数のエクスペリエンス・タプルが、ランダムに選択されたエクスペリエンス・タプルであってもよい。
【００３４】
所与の選択されたミニバッチ内の各エクスペリエンス・タプルに対して、強化学習システム１００は、クリティック・ニューラル・ネットワーク１４０、ターゲット・アクタ・ニューラル・ネットワーク１５０、およびターゲット・クリティック・ニューラル・ネットワーク１６０を使用して、アクタ・ニューラル・ネットワーク１１０のパラメータの現在値およびクリティック・ニューラル・ネットワーク１５０のパラメータの現在値に対する更新を決定し、ついで、当該更新を用いてアクタ・ニューラル・ネットワーク１１０のパラメータの現在値およびクリティック・ニューラル・ネットワーク１５０のパラメータの現在値を調節する。これらの更新を生成し、クリティック・ニューラル・ネットワーク１４０のパラメータおよびアクタ・ニューラル・ネットワーク１１０の現在値を調節するステップを、図３を参照して以下でより詳細に説明する。
【００３５】
トレーニングの間に、強化学習システム１００はまた、ターゲット・クリティック・ニューラル・ネットワーク１６０のパラメータの値およびターゲット・アクタ・ニューラル・ネットワーク１５０のパラメータの値を定期的に更新して、当該値が、それぞれクリティック・ニューラル・ネットワーク１４０のパラメータの値およびアクタ・ニューラル・ネットワーク１１０のパラメータの値への変更を遅く追跡するようにする。
【００３６】
いったんエクスペリエンス・タプルのミニバッチがトレーニングで使用されると、強化学習システム１００は当該ミニバッチ内のエクスペリエンス・タプルを再生メモリ１２０から除去することができる。
【００３７】
一般に、トレーニングの間に、強化学習システム１００は、エクスペリエンス・タプルを生成し、再生メモリ１２０からエクスペリエンス・タプルをサンプリングしアクタ・ニューラル・ネットワーク１１０のパラメータを調節するのと独立に、即ちそれらと非同期に、生成されたタプルを再生メモリ１２０に追加する。
【００３８】
図２は、エクスペリエンス・タプルを再生メモリに追加するための例示的なプロセス２００の流れ図である。簡単のため、プロセス２００を、１つまたは複数の位置に配置された１つまたは複数のコンピュータから成るシステムにより実施されるとして説明する。例えば、本明細書に従って適切にプログラムされた強化学習システム、例えば、図１の強化学習システム１００がプロセス２００を実施することができる。
【００３９】
当該システムが、環境の現在状態を特徴付ける現在の観察を受信する（ステップ２０２）。
【００４０】
当該システムが、アクタ・ニューラル・ネットワークのパラメータの現在値に従って当該アクタ・ニューラル・ネットワークを用いて当該観察を生成する（ステップ２０４）。上述のように、当該アクタ・ニューラル・ネットワークは、当該パラメータの現在値に従って、現在の観察を次のアクション、即ち、連続的なアクション空間内の点にマップするように構成される。
【００４１】
当該システムは、当該次のアクションを用いてエージェントにより実施されるアクションを選択する（ステップ２０６）。
【００４２】
幾つかの実装では、当該システムはエージェントにより実施されるべき当該アクションを次のアクションとして選択する。
【００４３】
幾つかの他の実装では、トレーニングの間のアクション空間の探索を促進するために、当該システムは、雑音プロセスからサンプリングして雑音因子を取得し、ついで、当該雑音因子により当該次のアクションを調節して、エージェントにより実施されるべきアクションを生成する。
【００４４】
雑音因子を取得するために使用される雑音プロセスを、環境に適合するように選択することができる。例えば、幾つかの環境に対して、当該雑音プロセスが、時間的に相関付けられた探索を生成するオルンシュタイン・ウーレンベック過程であってもよい。オルンシュタイン・ウーレンベック過程は非特許文献２においてより詳細に説明されている。
【００４５】
当該システムは報酬および次の観察を受信する（ステップ２０６）。当該次の観察は、環境の次の状態、即ち、エージェントが選択されたアクションを実施した結果として環境が遷移した状態を特徴付け、当該報酬は、エージェントが選択されたアクションを実施した結果として当該システムにより環境から受信された数値である。
【００４６】
当該システムは、現在の観察、当該選択されたアクション、当該報酬、および当該次の観察を含むエクスペリエンス・タプルを生成し、当該アクタ・ニューラル・ネットワークをトレーニングする際に使用するために当該生成されたエクスペリエンス・タプルを再生メモリに格納する（ステップ２０８）。
【００４７】
図３は、アクタ・ニューラル・ネットワークのパラメータの現在値に対する更新を決定するための例示的なプロセス３００の流れ図である。簡単のため、プロセス３００を、１つまたは複数の位置に配置された１つまたは複数のコンピュータから成るシステムにより実施されるとして説明する。例えば、本明細書に従って適切にプログラムされた強化学習システム、例えば、図１の強化学習システム１００がプロセス３００を実施することができる。
【００４８】
当該システムはエクスペリエンス・タプルを受信する（ステップ３０２）。当該エクスペリエンス・タプルは、当該システムにより再生メモリからサンプリングされたエクスペリエンス・タプルのミニバッチ内の当該エクスペリエンス・タプルの１つである。
【００４９】
当該エクスペリエンス・タプルは環境のトレーニング状態を特徴付けるトレーニング観察、当該トレーニング観察を受信したことに応答してエージェントにより実施されるアクションの連続空間からのトレーニング動作、当該トレーニング動作を実施するためにエージェントにより受信されるトレーニング報酬、および環境の次のトレーニング状態を特徴付ける次のトレーニング観察含む。
【００５０】
当該システムは、当該クリティック・ニューラル・ネットワークを用いて当該エクスペリエンス・タプル内のトレーニング観察および選択されたアクションを処理して、当該クリティック・ニューラル・ネットワークのパラメータの現在値に従って当該エクスペリエンス・タプルに対するニューラル・ネットワーク出力を決定する（ステップ３０４）。
【００５１】
当該システムは、当該エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を、当該エクスペリエンス・タプル内の当該トレーニング報酬および当該エクスペリエンス・タプル内の次のトレーニング観察から決定する（ステップ３０６）。一般に、当該システムは、ターゲット・アクタ・ニューラル・ネットワークおよびターゲット・クリティック・ニューラル・ネットワークを用いてターゲット・ニューラル・ネットワーク出力を決定する。ターゲット・ニューラル・ネットワーク出力を決定するステップを、図４を参照して以下でより詳細に説明する。
【００５２】
当該システムは、当該エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力および当該クリティック・ニューラル・ネットワークにより当該エクスペリエンス・タプルに対して生成されたニューラル・ネットワーク出力の間の誤差を用いて、当該クリティック・ニューラル・ネットワークのパラメータの現在値に対する更新を決定する（ステップ３０８）。即ち、当該システムは、従来型の機械学習トレーニング技術を用いて、例えば、勾配降下の反復を後方伝播で実施することで、当該誤差を減らすパラメータの現在値に対する更新を決定することができる。図４の説明から明らかであるように、パラメータの現在値をこのように更新することで、当該システムは当該クリティック・ニューラル・ネットワークをトレーニングして、エージェントが所与の観察に応答して所与のアクションを実施したことに応答して受信される時間割引合計将来報酬（time-discounted total future rewards）を表すニューラル・ネットワーク出力を生成する。
【００５３】
当該システムは、当該クリティック・ニューラル・ネットワークを用いて当該アクタ・ニューラル・ネットワークのパラメータの現在値に対する更新を決定する（ステップ３１０）。
【００５４】
特に、当該更新を決定するために、当該システムは、当該アクタ・ニューラル・ネットワークを用いてパラメータの現在値に従って当該タプル内のトレーニング観察を生成し、当該トレーニング観察に対する次のアクションを生成する。
【００５５】
当該システムはついで、（ｉ）当該トレーニング観察、次のアクション入力の対で、かつ、当該クリティック・ニューラル・ネットワークのパラメータの現在値に従って取得された次のアクションに対する当該クリティック・ニューラル・ネットワークの勾配および（ｉｉ）当該アクタ・ニューラル・ネットワークのパラメータの現在値に従って当該トレーニング観察で取得された当該アクタ・ニューラル・ネットワークのパラメータに関する当該アクタ・ニューラル・ネットワークの勾配に依存する、即ち、それらの積または異なる組合せである当該アクタ・ニューラル・ネットワークの現在値に対するパラメータ更新を決定する。当該システムは、当該それぞれのネットワークを通じて当該それぞれの勾配を後方伝播することで、勾配（ｉ）および勾配（ｉｉ）を決定することができる。
【００５６】
一般に、当該システムは、所与のミニバッチ内のエクスペリエンス・タプルごとにプロセス３００を実施して、タプルごとに、当該クリティック・ニューラル・ネットワークのパラメータに対する更新および当該アクタ・ニューラル・ネットワークのパラメータに対する更新を決定する。いったん当該ミニバッチ内の各タプルに対する更新が決定されると、当該システムは、当該ミニバッチ内のタプルに対する更新を用いて、当該アクタ・ニューラル・ネットワークのパラメータの現在値および当該クリティック・ニューラル・ネットワークのパラメータの現在値を更新する。例えば、ネットワークごとに、当該システムは各更新を当該ネットワークのパラメータの現在値に追加してこれらの値を更新することができる。
【００５７】
いったんアクタ・ニューラル・ネットワークおよびクリティック・ニューラル・ネットワークのパラメータの更新された値が決定されると、当該システムは、ターゲット・クリティック・ニューラル・ネットワークのパラメータおよびターゲット・アクタ・ニューラル・ネットワークのパラメータの現在値を更新し、当該値がそれぞれ当該クリティック・ニューラル・ネットワークのパラメータの値および当該アクタ・ニューラル・ネットワークのパラメータの値への変更を遅く追跡するようにする。特に、当該システムは、当該トレーニング・プロセスの安全性を高めるためにトレーニングの間に遅く変化するように、ターゲット・クリティック・ニューラル・ネットワークのパラメータおよびターゲット・アクタ・ニューラル・ネットワークのパラメータの値を制限する。
【００５８】
例えば、ターゲット・ネットワークのうち１つの更新された値が当該対応するアクタまたはクリティック・ネットワークの当該更新された値およびターゲット・ネットワークの現在値の間の線形外挿であってもよく、ターゲット・ネットワークの現在値は当該外挿においてより重く重み付けされる。
【００５９】
プロセス３００を複数の異なるエクスペリエンス・タプルのミニバッチに繰り返し実施することで、当該システムは、当該アクタ・ニューラル・ネットワークをトレーニングして、当該アクタ・ニューラル・ネットワークのパラメータのトレーニングされた値を決定し、当該アクタ・ニューラル・ネットワークが、環境と対話する際にエージェントにより実施されるべきアクションを選択するために効率的に使用されることを可能とすることができる。
【００６０】
図４は、エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を決定するための例示的なプロセス４００の流れ図である。簡単のため、プロセス４００を、１つまたは複数の位置に配置された１つまたは複数のコンピュータから成るシステムにより実施されるとして説明する。例えば、本明細書に従って適切にプログラムされた強化学習システム、例えば、図１の強化学習システム１００がプロセス４００を実施することができる。
【００６１】
当該システムは、ターゲット・アクタ・ニューラル・ネットワークを用いて、ターゲット・アクタ・ニューラル・ネットワークのパラメータの現在値に従って当該エクスペリエンス・タプル内の次のトレーニング観察を生成し、予測された次のアクションを生成する（ステップ４０２）。上述のように、ターゲット・アクタ・ニューラル・ネットワークは、おそらく異なるパラメータ値を有するが、アクタ・ニューラル・ネットワークと同一である。 
【００６２】
当該システムは、ターゲット・クリティック・ニューラル・ネットワークを用いてターゲット・クリティック・ニューラル・ネットワークのパラメータの現在値に従って次のトレーニング観察および予測された次のアクションを処理して、予測された次のニューラル・ネットワーク出力を生成する（ステップ４０４）。上述のように、ターゲット・クリティック・ニューラル・ネットワークは、おそらく異なるパラメータ値を有するが、クリティック・ニューラル・ネットワークと同一である。
【００６３】
当該システムは、当該エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワークを、当該エクスペリエンス・タプルに対するトレーニング報酬および予測されたニューラル・ネットワーク出力から決定する（ステップ４０６）。特に、当該システムは、当該予測されたニューラル・ネットワーク出力に所定の時間割引因子を乗じ、ついで結果の積と当該トレーニング報酬を合計して、当該エクスペリエンス・タプルに対するターゲット・ニューラル・ネットワーク出力を生成する。
【００６４】
１つまたは複数のコンピュータから成るシステムが特定の動作またはアクションを実施するように構成されることは、当該システムが、ソフトウェア、ファームウェア、ハードウェア、または動作に際して当該システムに当該動作またはアクションを実施させるそれらの組合せをインストールしていることを意味する。１つまたは複数のコンピュータ・プログラムが特定の動作またはアクションを実施するように構成されることは、当該１つまたは複数のプログラムが、データ処理装置により実行されたときに当該装置に当該動作またはアクションを実施させる命令を含むことを意味する。
【００６５】
本明細書で説明した主題の実施形態および機能的動作を、本明細書で開示された構造およびその構造的な均等物を含むデジタル電子回路で、有形的に具現化されたコンピュータソフトウェアまたはファームウェアで、コンピュータハードウェアで、またはそれらの１つまたは複数の組合せで実装することができる。本明細書で説明した主題の諸実施形態を１つまたは複数のコンピュータ・プログラム、即ち、データ処理装置による実行またはデータ処理装置の動作の制御のための有形の非一時的プログラム・キャリアで符号化されたコンピュータ・プログラム命令の１つまたは複数のモジュールとして実装することができる。代替的にまたは追加として、当該プログラム命令を、データ処理装置による実行のための適切な受信機装置へ送信するための情報を符号化するために生成された人工的に生成された伝播信号、例えば、機械的に生成された電気、光、または電磁気信号で符号化することができる。当該コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアル・アクセスメモリデバイス、またはそれらの１つまたは複数の組合せであることができる。
【００６６】
「データ処理装置」という用語はデータ処理ハードウェアを指し、例としてプログラム可能プロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含むデータを処理するためのあらゆる種類の装置、デバイス、およびマシンを包含する。当該装置がまた、特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラム可能アレイ）またはＡＳＩＣ（特殊用途向け集積回路）を含むことができる。当該装置は場合によっては、ハードウェアに加えて、コンピュータ・プログラムのための実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、またはそれらの１つまたは複数の組合せを構成するコードを含むことができる。
【００６７】
コンピュータ・プログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと称してもよくまたは記述してもよい）をコンパイル型言語またはインタプリタ式言語、または宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で書くことができスタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境で使用するのに適した他のユニットを含めて任意の形態で展開することができる。コンピュータ・プログラムがファイルシステム内のファイルに対応してもよいがその必要はない。プログラムを、他のプログラムまたはデータを保持するファイルの部分に、例えば、マークアップ言語ドキュメントに格納された１つまたは複数のスクリプト、問題の当該プログラムに特化した単一のファイルに、または複数の協調ファイル、例えば、１つまたは複数のモジュール、サブプログラム、またはコード部分を格納するファイルに格納することができる。コンピュータ・プログラムを、１つのコンピュータで、または、１つのサイトに配置されるかまたは複数のサイトにわたって分散され通信ネットワークにより相互接続される複数のコンピュータで実行されるように展開することができる。
【００６８】
本明細書で説明された当該プロセスおよび論理フローを、１つまたは複数のコンピュータ・プログラムを実行して入力データに動作し出力を生成することによって機能を実装する１つまたは複数のプログラム可能コンピュータにより実施されることができる。当該プロセスおよび論理フローを特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラム可能アレイ）またはＡＳＩＣ（特殊用途向け集積回路）により実施することもでき、装置をそれらとして実装することもできる。
【００６９】
コンピュータ・プログラムの実行に適したコンピュータは、例として、汎用目的または特殊目的のマイクロプロセッサまたはその両方、または他の任意の種類の中央演算装置を含むことができ、それらに基づくことができる。一般に、中央演算装置は読取専用メモリまたはランダム・アクセスメモリまたはその両方から命令とデータを受信する。コンピュータの本質的な要素は、命令を実施または実行するための中央演算装置および命令およびデータを格納するための１つまたは複数のメモリデバイスである。一般に、コンピュータが、データを格納するための１つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、または、これらとデータを送受信するように動作可能に接続されてもよい。しかし、コンピュータがかかるデバイスを有する必要はない。さらに、コンピュータを別のデバイス、例えば、ほんの少し例を挙げると、携帯電話、携帯情報端末（ＰＤＡ）、モバイルオーディオまたはビデオプレイヤ、ゲーム・コンソール、全地球測位システム（ＧＰＳ）受信機、またはポータブル記憶デバイス、例えば、ユニバーサル・シリアル・バス（ＵＳＢ）フラッシュ・ドライブに組み込むことができる。
【００７０】
コンピュータ・プログラム命令およびデータを格納するのに適したコンピュータ-可読媒体は、例として半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは取外し可能ディスク、光磁気ディスク、およびＣＤ-ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含むあらゆる種類の不揮発性メモリ、媒体およびメモリデバイスを含む。当該プロセスまたはおよび当該メモリを特殊目的論理回路により補完するかまたは当該回路に組み込むことができる。
【００７１】
ユーザとの対話を提供するために、本明細書で説明した主題の諸実施形態を、当該ユーザに情報を表示するためのディスプレイ・デバイス、例えば、ＣＲＴ（カソード・レイ・チューブ）またはＬＣＤ（液晶ディスプレイ）モニタおよび当該ユーザがそれにより当該コンピュータに入力を提供できる、キーボードおよびポインティング・デバイス、例えば、マウスまたはトラックボールを有するコンピュータで実装することができる。他種のデバイスをユーザとの対話を提供するために使用することもできる、例えば、当該ユーザに提供されたフィードバックが任意の形態のセンサ・フィードバック、例えば、視覚フィードバック、可聴フィードバック、または触覚フィードバックであることができ、および当該ユーザからの入力を音響、会話、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、ドキュメントを当該ユーザにより使用されるデバイスと送受信することで、例えば、当該ウェブ・ブラウザから受信された要求に応答してウェブ・ページをユーザのクライアント・デバイス上のウェブ・ブラウザに送信することで、ユーザと対話することができる。
【００７２】
本明細書で説明した主題の諸実施形態を、バックエンドコンポーネントを、例えば、データサーバとして含むか、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば、ユーザがそれを通じて本明細書で説明した主題の実装と対話できる関係グラフィカルユーザインタフェースまたはウェブ・ブラウザを有するクライアントコンピュータを含むか、または１つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティング・システムで実装することができる。当該システムのコンポーネントを任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークにより相互接続することができる。通信ネットワークの例はローカル・エリア・ネットワーク（「ＬＡＮ」）および広域ネットワーク（「ＷＡＮ」）、例えば、インターネットを含む。
【００７３】
当該コンピューティング・システムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いにリモートであり、一般に通信ネットワークを通じて対話する。クライアントおよびサーバの関係は、当該それぞれのコンピュータで実行されク互いに対してライアント−サーバ関係を有するコンピュータ・プログラムにより生ずる。
【００７４】
本明細書は多くの具体的な実装の詳細を含むが、これらを任意の発明またはクレームしたものの範囲に対する限定としてではなく、特定の発明の特定の実施形態に固有でありうる特徴の説明として解釈すべきである。別々の実施形態の文脈で本明細書で説明した特定の特徴を単一の実施形態における組合せで実装することもできる。反対に、単一の実施形態の文脈で説明した様々な特徴を複数の実施形態で別々にまたは任意の適切なサブコンビネーションで実装することもできる。さらに、特徴が特定の組合せで動作するとして上述し最初にそのようにクレームされているかもしれないが、クレームした組合せからの１つまたは複数の特徴を幾つかのケースでは当該組合せから実行でき、クレームした組合せがサブコンビネーションまたはサブコンビネーションの変形に関してもよい。
【００７５】
同様に、動作を図面において特定の順序で図示しているが、これを、所望の結果を実現するために、かかる動作を示した特定の順序または逐次的順序で実施すべきこと、または全ての図示した動作を実施すべきことを要求するものとして理解すべきではない。特定の環境では、マルチタスクおよび並列処理が有利であるかもしれない。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分離をかかる分離を全ての実施形態で要求するとは理解すべきではなく、説明したプログラムコンポーネントおよびシステムを一般に単一のソフトウェア製品に統合するかまたは複数のソフトウェア製品にパッケージ化できることは理解されるべきである。
【００７６】
主題の特定の実施形態を説明した。他の実施形態は添付の特許請求の範囲内にある。例えば、諸請求項に記載した当該アクションを異なる順序で実施して、依然として所望の結果を実現することができる。１例として、添付図面で図示したプロセスは所望の結果を実現するために必ずしも示した当該特定の順序、または逐次的順序を必要としない。特定の実装では、マルチタスクおよび並列処理が有利であるかもしれない。
【符号の説明】
【００７７】
１００  強化学習システム
１０２  エージェント
１０４  環境
１１０  アクタ・ニューラル・ネットワーク
１３０  再生メモリ
１４０  クリティック・ニューラル・ネットワーク
１５０  ターゲット・アクタ・ニューラル・ネットワーク
１６０  ターゲット・クリティック・ニューラル・ネットワーク
【図１】
0006664480.tif 000002
【図２】
0006664480.tif 000003
【図３】
0006664480.tif 000004
【図４】
0006664480.tif 000005