(57)【要約】  環境と相互作用するエージェントにより実施されるべきアクションを選択するために使用されるQネットワークをトレーニングするために、コンピュータ記憶媒体上に符号化されるコンピュータプログラムを含む、方法、システム、および装置が開示される。本方法のうちの1つは、複数の経験タプルを取得するステップと、Qネットワーク、およびQネットワークと同一であるが、ターゲットQネットワークのパラメータの現在の値がQネットワークのパラメータの現在の値と異なる、ターゲットQネットワークを使用して経験タプルの各々上でQネットワークをトレーニングするステップとを含む。
2018526733.tif 000002
【特許請求の範囲】
【請求項１】
環境の状態を特徴付ける観測値を受け取り、かつ前記観測値に応じてアクションのセットからのアクションを実施することにより、前記環境と相互作用するエージェントによって実施されるべきアクションを選択するために使用されるQネットワークをトレーニングする方法であって、
前記Qネットワークが、パラメータのセットに従って入力から推定される将来の累積利益を生成するために、前記入力として入力観測値および入力アクションを受け取るように構成されるディープニューラルネットワークであり、
複数の経験タプルを取得するステップであって、各経験タプルが、トレーニングの観測値、前記トレーニングの観測値を受け取るのに応じて前記エージェントにより実施されるアクション、前記エージェントが前記アクションを実施するのに応じて受け取られる利益、および前記環境の次の状態を特徴付ける次のトレーニングの観測値を含む、ステップと、
前記経験タプルの各々の上で前記Qネットワークをトレーニングするステップであって、各経験タプルについて、
前記Qネットワークの前記パラメータの現在の値に従って、前記経験タプルについて現在推定される将来の累積利益を決定するために、前記Qネットワークを使用して前記経験タプル中の前記トレーニングの観測値および前記経験タプル中の前記アクションを処理するステップと、
前記Qネットワークによって次の観測値と組み合わせて処理されるとき、最高と推定される将来の累積利益を前記Qネットワークが生成することになる、前記アクションのセットからアクションを選択するステップと、
ターゲットQネットワークの前記パラメータの現在の値に従って、前記選択されたアクションについての次のターゲットの推定される将来の累積利益を決定するために、前記ターゲットQネットワークを使用して前記経験タプル中の前記次の観測値および前記選択されたアクションを処理するステップであって、前記ターゲットQネットワークが前記Qネットワークと同一であるが、前記ターゲットQネットワークの前記パラメータの前記現在の値が前記Qネットワークの前記パラメータの前記現在の値と異なる、ステップと、
前記経験タプル中の前記利益、前記選択されたアクションについての前記次のターゲットの推定される将来の累積利益、および前記現在推定される将来の累積利益から前記経験タプルについての誤差を決定するステップと、
前記Qネットワークの前記パラメータの前記現在の値を更新するために前記経験タプルについての前記誤差を使用するステップと
を含む、ステップと
を含む、方法。
【請求項２】
前記誤差Eが、
E=R+γ*NTER-CER
を満たし、Rは前記経験タプル中の前記利益であり、γは指定される割引係数であり、NTERは前記選択されるアクションについての前記次のターゲットの推定される将来の累積利益であり、CERは前記現在推定される将来の累積利益である、請求項1に記載の方法。
【請求項３】
前記Qネットワークの前記パラメータの前記現在の値を更新するために前記経験タプルについての前記誤差を使用するステップが、
機械学習トレーニング技法を使用して前記誤差を減少させるために前記Qネットワークの前記パラメータの前記現在の値を更新するステップ
を含む、請求項1または2に記載の方法。
【請求項４】
前記アクションを選択するステップが、
前記アクションのセットの中の各アクションについて、前記Qネットワークの前記パラメータの現在の値に従って、前記アクションについてそれぞれの次の推定される将来の累積利益を決定するために、前記Qネットワークを使用して、前記経験タプル中の前記次の観測値および前記アクションを処理するステップと、
最高の次点と推定される将来の累積利益を有する前記アクションを選択するステップと
を含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記ターゲットQネットワークの前記パラメータの前記値が、前記Qネットワークの前記パラメータの前記値と周期的に同期する、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記Qネットワークの前記パラメータの更新された値を決定するために、前記経験タプルの各々の上で前記Qネットワークをトレーニングした後、前記Qネットワークの前記パラメータの前記更新された値と一致させるために、前記ターゲットQネットワークの前記現在の値を更新するステップ
をさらに含む、請求項5に記載の方法。
【請求項７】
パラメータの更新された現在の値を有する前記Qネットワークを出力するステップをさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
入力として入力観測値および入力アクションを受け取るステップと、
前記パラメータの更新された現在の値に従って、前記Qネットワークを使用して前記入力から推定される将来の累積利益を生成するステップと
をさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータにより実行されるとき、前記1つまたは複数のコンピュータに請求項1から8のいずれか一項に記載のそれぞれの方法の動作を実施させるように動作可能な命令を記憶する、1つまたは複数の記憶デバイスとを備える、システム。
【請求項１０】
1つまたは複数のコンピュータにより実行されると、前記1つまたは複数のコンピュータに請求項1から8のいずれか一項に記載のそれぞれの方法の動作を実施させる命令で符号化される、コンピュータ記憶媒体。
【請求項１１】
入力として入力観測値および入力アクションを受け取り、かつパラメータのセットに従って前記入力から推定される将来の累積利益を生成するように構成されるQネットワークであって、請求項1から8のいずれか一項に記載の方法に従ってトレーニングされる、Qネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、強化学習エージェントにより実施されるべきアクションを選択することに関する。
【背景技術】
【０００２】
強化学習エージェントは、環境の現在の状態を特徴付ける観測値を受け取り、それに応じてアクションを実施することにより、環境と相互作用する。いくつかの強化学習エージェントは、ニューラルネットワークを使用して何らかの所与の観測値を受け取ることに応じて実施されるアクションを選択する。
【０００３】
ニューラルネットワークは、1つまたは複数のレイヤの非線形ユニットを採用して受け取った入力についての出力を予測する機械学習モデルである。いくつかのニューラルネットワークは、出力レイヤに加えて、1つまたは複数の隠れレイヤを含む、ディープニューラルネットワークである。それぞれの隠れレイヤの出力をネットワーク中の次のレイヤすなわち、次の隠れレイヤまたは出力レイヤへの入力として使用する。ネットワークの各レイヤは、パラメータのそれぞれのセットの現在の値に従って、受け取った入力から出力を生成する。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書は、強化学習に関する技術を記載する。一般的に、本明細書は、環境の現在の状態を特徴付ける観測値を受け取り、観測値に応じてアクションのセットからのアクションを実施することにより、環境と相互作用するエージェントによって実施されるべきアクションを選択するために使用されるQネットワークをトレーニングすることを記載する。
【０００５】
一態様によれば、環境の状態を特徴付ける観測値を受け取り、観測値に応じてアクションのセットからのアクションを実施することにより、環境と相互作用するエージェントによって実施されるべきアクションを選択するために使用されるQネットワークをトレーニングする方法が提供され、Qネットワークは、パラメータのセットに従って入力から推定される将来の累積利益を生成するために、入力として入力観測値および入力アクションを受け取るように構成されるディープニューラルネットワークである。本方法は、複数の経験タプルを取得するステップであって、各経験タプルが、トレーニングの観測値、トレーニングの観測値を受け取るのに応じてエージェントにより実施されるアクション、エージェントがアクションを実施するのに応じて受け取られる利益、および環境の次の状態を特徴付ける次のトレーニングの観測値を含む、ステップと、経験タプルの各々上でQネットワークをトレーニングするステップであって、各経験タプルについて、Qネットワークのパラメータの現在の値に従って、経験タプルについて現在推定される将来の累積利益を決定するために、Qネットワークを使用して経験タプル中のトレーニングの観測値および経験タプル中のアクションを処理するステップと、Qネットワークによって次の観測値と組み合わせて処理されるとき、最高と推定される将来の累積利益をQネットワークが生成することになる、アクションのセットからアクションを選択するステップと、ターゲットQネットワークのパラメータの現在の値に従って、選択されたアクションについての次のターゲットの推定される将来の累積利益を決定するために、ターゲットQネットワークを使用して経験タプル中の次の観測値および選択されたアクションを処理するステップであって、ターゲットQネットワークがQネットワークと同一であるが、ターゲットQネットワークのパラメータの現在の値がQネットワークのパラメータの現在の値と異なる、ステップと、経験タプル中の利益、選択されたアクションについての次のターゲットの推定される将来の累積利益、および現在推定される将来の累積利益から経験タプルについての誤差を決定するステップと、Qネットワークのパラメータの現在の値を更新するために経験タプルについての誤差を使用するステップとを含む、ステップとを含む。誤差Eは、E=R+γ*NTER-CERを満たしてもよく、ここで、Rは経験タプル中の利益であり、γは指定される割引係数であり、NTERは選択されるアクションについての次のターゲットの推定される将来の累積利益であり、CERは現在推定される将来の累積利益である。Qネットワークのパラメータの現在の値を更新するために経験タプルについての誤差を使用するステップが、機械学習トレーニング技法を使用して誤差を減少させるためQネットワークのパラメータの現在の値を更新するステップを含んでもよい。アクションを選択するステップが、アクションのセットの中の各アクションについて、Qネットワークのパラメータの現在の値に従って、アクションについてそれぞれの次の推定される将来の累積利益を決定するために、Qネットワークを使用して経験タプル中の次の観測値およびアクションを処理するステップと、最高の次点と推定される将来の累積利益を有���るアクションを選択するステップとを含んでもよい。
【０００６】
ターゲットQネットワークのパラメータの値は、Qネットワークのパラメータの値と周期的に同期してもよい。本方法は、Qネットワークのパラメータの更新された値を決定するために、経験タプルの各々上でQネットワークをトレーニングした後、Qネットワークのパラメータの更新された値と一致させるために、ターゲットQネットワークの現在の値を更新するステップをさらに含んでもよい。本方法は、パラメータの更新された現在の値を有するQネットワークを出力するステップをさらに含んでもよい。本方法は、入力として入力観測値および入力アクションを受け取るステップと、パラメータの更新された現在の値に従って、Qネットワークを使用して入力から推定される将来の累積利益を生成するステップとをさらに含んでもよい。
【０００７】
入力は、シミュレーションされた環境に関連する入力観測値を含み、シミュレーションされた環境中のエンティティを制御することに関連する入力を制御してもよい。エンティティは、たとえばシミュレーションされたユーザまたはシミュレーションされた車両であってもよい。追加または代替として、入力は、実世界の環境に関連する入力観測値を含み、実世界の環境中のエンティティに関連する入力を制御してもよい。エンティティは、たとえば実世界の環境を通して特定のタスクおよび/または自動もしくは半自動車両ナビゲーションを達成するために、環境と相互作用するロボットなどの、実世界の環境と相互作用する機械的なエージェントであってもよい。
【０００８】
態様を任意の好都合な形態で実装できることを理解されよう。たとえば、態様を、有形の搬送媒体(たとえば、ディスク)または無形の搬送媒体(たとえば、通信信号)であってよい、好適な搬送媒体上で搬送してもよい、好適なコンピュータプログラムによって実装してもよい。態様はまた、態様を実装するように配置構成されるコンピュータプログラムを実行する、プログラム可能なコンピュータの形態をとってもよい好適な装置を使用して実装してもよい。
【０００９】
本明細書に記載される主題は、以下の利点のうちの1つまたは複数を実現するように、特定の実施形態で実装することができる。強化学習システムは、本明細書に記載されるように、Qネットワークをトレーニングすることによって、エージェントにとって効果的なアクション選択ポリシーを、効果的に学習することができる。特に、トレーニング期間に、Qネットワークを使用して次のアクションを選択すること、次いでターゲットQネットワークを使用して次のアクションについての推定される将来の累積利益を決定することにより、強化学習システムは、トレーニング期間に次のアクションについての将来の累積利益を推定するためにターゲットQネットワークだけを使用するときに発生する可能性があるような、アクションについての将来の累積利益を過大推定するのを回避するアクション選択ポリシーを効果的に学習することができる。累積利益を過大推定することを回避するアクション選択ポリシーを採用することによって、エージェントが、様々な強化タスク上のパフォーマンスを改善することが達成される結果をもたらすことができる。したがって、トレーニングによって、改善されたQネットワークが提供され、Qネットワークのトレーニングに関連する問題に対処する。
【００１０】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付図面および下の説明中に記載される。本主題の他の特徴、態様、および利点は、説明、図面、および請求項から明らかとなるであろう。
【図面の簡単な説明】
【００１１】
【図１】例示的な強化学習システムを示す図である。
【図２】リプレイメモリに経験タプルを追加するための例示的なプロセスの流れ図である。
【図３】Qネットワークのパラメータの現在の値を更新するための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【００１２】
様々な図面中の同様の参照番号および記号は、同様の要素を示す。
【００１３】
本明細書は、一般的に、環境と相互作用する強化学習エージェントにより実施されるべきアクションを選択する、強化学習システムを記載する。エージェントが環境と相互作用するために、システムは、環境の現在の状態を特徴付けるデータを受け取り、受け取ったデータに応じてエージェントにより実施されるべきアクション空間のセットからアクションを選択する。環境の状態を特徴付けるデータは、本明細書では観測値と呼ばれることになる。
【００１４】
いくつかの実装形態では、環境はシミュレーションされた環境であり、エージェントは、シミュレーションされた環境と相互作用する1つまたは複数のコンピュータプログラムとして実装される。たとえば、シミュレーションされた環境がビデオゲームであってよく、エージェントが、ビデオゲームで遊んでいるシミュレーションされたユーザであってもよい。別の例として、シミュレーションされた環境がたとえば、ドライブシミュレーションまたはフライトシミュレーションといった、モーションシミュレーション環境であってもよく、エージェントが、モーションシミュレーションを通してナビゲーションしているシミュレーションされた車両であってもよい。これらの実装形態では、アクションは、シミュレーションされたユーザまたはシミュレーションされた車両を制御するための制御入力であってもよい。
【００１５】
いくつかの他の実装形態では、環境が実世界の環境であり、エージェントが、実世界の環境と相互作用する機械的なエージェントである。たとえば、エージェントは、特定のタスクを達成するために環境と相互作用するロボットであってもよい。別の例として、エージェントは、環境を通してナビゲーションしている自動または半自動の車両であってもよい。これらの実装形態では、アクションは、ロボットまたは自動車両を制御するための制御入力であってもよい。
【００１６】
いくつかの場合では、観測値は、環境の状態を特徴付ける低次元特徴ベクトルを使用して環境の状態を特徴付ける。
【００１７】
いくつかの他の場合では、観測値は、環境の状態を特徴付ける1つまたは複数の画像、たとえばシミュレーションされた環境の画像、または機械的なエージェントが実世界の環境と相互作用するとき、機械的なエージェントのセンサが取り込んだ画像からの高次元画素入力を使用して環境の状態を特徴付ける。
【００１８】
図1は、例示的な強化学習システム100を示す。強化学習システム100は、下に記載されるシステム、構成要素、および技法が実装される、1つまたは複数の位置における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの例である。
【００１９】
強化学習システム100は、環境104と相互作用する強化学習エージェント102により実施されるべきアクションを選択する。すなわち、強化学習システム100は観測値を受け取り、各観測値が環境104のそれぞれの状態を特徴付け、各観測値に応じて観測値に応じて強化学習エージェント102により実施されるべきアクションのセットからアクションを選択する。
【００２０】
特に、強化学習システム100は、Qネットワーク110を使用してアクションを選択する。Qネットワーク110は、入力として入力観測値および入力アクションを受け取って、パラメータのセットに従って、入力から推定される将来の累積利益を生成するように構成されるディープニューラルネットワークである。
【００２１】
推定される将来の累積利益は、入力観測値に応じてエージェントが入力アクションを実施する場合に受け取る将来の累積利益の推定である。各利益は、エージェントがアクションを実施することの帰結として、たとえば環境から受け取る数値であり、将来の累積利益は、入力観測値を受け取った後エージェントによって受け取られることになる、将来の利益の組合せである。たとえば、推定される将来の累積利益は、エージェントがアクションを実施した後に受け取る、時間割引された合計の将来の利益の推定とすることができる。
【００２２】
エージェント102が環境104と効果的に相互作用するのを可能にするために、強化学習システム100は、Qネットワーク110をトレーニングし、Qネットワーク110のパラメータのトレーニングした値を決定する。
【００２３】
Qネットワーク110が一度トレーニングされると、強化学習システム100は、Qネットワーク110を効果的に使用してエージェント102により実施されるべきアクションを選択することができる。特に、Qネットワーク110がトレーニングされた後に観測値が受け取られると、強化学習システム100は、アクションのセットの中の各アクションについて、Qネットワーク110のパラメータのトレーニングされた値に従ってQネットワーク110を使用して観測値およびアクションを処理し、アクションの各々について、それぞれの推定される将来の累積利益を生成することができる。強化学習システム100は次いで、観測値に応じてエージェント102により実施されるべきアクションとして、最高と推定される将来の累積利益を有するアクションを選択することができる。エージェント102は次いで、選択されたアクションを実施することができる。
【００２４】
Qネットワーク110のトレーニング中に支援するために、強化学習システム100は、リプレイメモリ130およびターゲットQネットワーク150を含むトレーニング構成要素120を維持する。
【００２５】
リプレイメモリ130は、Qネットワーク110をトレーニングする際に使用するために、環境104とのエージェント102の相互作用の帰結として生成される経験タプルを記憶する。
【００２６】
特に、リプレイメモリ中の各経験タプルは、環境のトレーニング状態を特徴付けるトレーニング観測値、トレーニング観測値に応じてエージェント102により実施されるトレーニングアクション、エージェント102がトレーニングアクションを実施することに応じて強化学習システム100により受け取られるトレーニング利益、および環境104の次の状態、すなわちエージェント102がトレーニングアクションを実施した後に環境104が移行した状態を特徴付ける次の観測値を含む。
【００２７】
強化学習システム100は、Qネットワーク110のトレーニング期間に、環境104とのエージェント102の相互作用から経験タプルを生成する。トレーニング期間に経験タプルを生成するための例示的なプロセスは、図2を参照して下でより詳細に記載される。
【００２８】
ターゲットQネットワーク150は、Qネットワーク110と同一である、すなわちQネットワーク110と同じニューラルネットワークアーキテクチャを有するが、Qネットワーク110のものとは場合によっては異なるパラメータ値を有するニューラルネットワークである。すなわち、Qネットワーク110のトレーニング期間に、ターゲットQネットワーク150のパラメータの値は、Qネットワーク110のパラメータの現在の値と周期的に同期するだけである。
【００２９】
トレーニング構成要素120を使用してQネットワーク110をトレーニングするために、強化学習システム100は、リプレイメモリ130から経験タプルのミニバッチを繰り返し選択する。経験タプルの各ミニバッチは、所定の数の経験タプルを含み、強化学習システム100は、任意の好適な方法で、たとえばランダムにまたはいくつかの所定の基準に従って、所与のミニバッチについて経験タプルを選択してもよい。
【００３０】
所与のミニバッチ中の各経験タプルでは、強化学習システム100は、Qネットワーク110のパラメータの現在の値への更新を決定するためにQネットワーク110およびターゲットQネットワーク150を使用し、次いで更新を使用してQネットワーク110のパラメータの現在の値を調整する。これらの更新を生成することおよびQネットワーク110のパラメータの現在の値を調整することは、図3を参照して下でより詳細に記載されることになる。
【００３１】
トレーニング期間に、強化学習システム100はまた、Qネットワーク110のパラメータの値を一致させるために、ターゲットQネットワーク150のパラメータの値を周期的に更新してもよい。
【００３２】
経験タプルのミニバッチがトレーニングで一度使用されると、強化学習システム100は、リプレイメモリ130からミニバッチ中の経験タプルを除去することができる。
【００３３】
一般的に、トレーニング期間に、強化学習システム100は、経験タプルを生成し、生成されたタプルを別個に、すなわちリプレイメモリ130から経験タプルをサンプリングすることおよびQネットワーク110のパラメータを調整することとは非同期で、リプレイメモリ130に追加する。
【００３４】
図2は、リプレイメモリに経験タプルを追加するための例示的なプロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数の場所に配置される1つまたは複数のコンピュータのシステムにより実施されると記載されることになる。たとえば、本明細書に従って好適にプログラムされる強化学習システム、たとえば図1の強化学習システム100は、プロセス200を実施することができる。
【００３５】
システムは、環境の現在の状態を特徴付ける現在の観測値を受け取る(ステップ202)。
【００３６】
アクションのセットの中の各アクションについて、システムは、Qネットワークのパラメータの現在の値に従ってQネットワークを使用して現在の観測値およびアクションを処理する(ステップ204)。上で記載したように、Qネットワークは、入力として観測値およびアクションを受け取って、パラメータのセットに従って、入力から推定される将来の累積利益を生成するように構成されるディープニューラルネットワークである。したがって、各アクションについて、Qネットワークのパラメータの現在の値に従って、Qネットワークを使用して現在の観測値およびアクションを処理することにより、システムは、アクションのセットの中の各アクションについてそれぞれの推定される将来の累積利益を生成する。
【００３７】
システムは、推定される将来の累積利益を使用して現在の観測値に応じてエージェントにより実施されるべきアクションを選択する(ステップ206)。
【００３８】
いくつかの実装形態では、システムは、エージェントにより実施されるべきアクションとして、最高と推定される将来の累積利益を有するアクションを選択する。
【００３９】
いくつかの他の実装形態では、トレーニング期間に環境の探査を促進するために、システムは、探査ポリシーを使用して、たとえば確率1-εを有する最高と推定される将来の累積利益でアクションを選択すること、および確率εを有するセットからアクションをランダムに選択することによってアクションを選択する。
【００４０】
システムは、利益および次の観測値を受け取る(ステップ208)。次の観測値は、環境の次の状態、すなわち、エージェントが選択されたアクションを実施した結果として環境が移行した状態を特徴付け、利益は、たとえば環境からエージェントが選択されたアクションを実施した帰結としてシステムが受け取った数値である。
【００４１】
システムは、現在の観測値、選択されたアクション、利益、および次の観測値を含む経験タプルを生成し、Qネットワークをトレーニングする際に使用するために、生成された経験タプルをリプレイメモリ中に記憶する(ステップ210)。
【００４２】
図3は、Qネットワークのパラメータの現在の値への更新を決定するための例示的なプロセス300の流れ図である。便宜上、プロセス300は、1つまたは複数の場所に配置される1つまたは複数のコンピュータのシステムにより実施されると記載されることになる。たとえば、本明細書に従って好適にプログラムされる強化学習システム、たとえば図1の強化学習システム100は、プロセス300を実施することができる。
【００４３】
システムが経験タプルを受け取る(ステップ302)。経験タプルは、システムによりリプレイメモリからサンプリングされた経験タプルのミニバッチ中の経験タプルのうちの1つである。
【００４４】
経験タプルは、環境のトレーニング状態、トレーニングの観測値を受け取るのに応じてエージェントにより実施されたアクションのセットからのトレーニングアクション、エージェントがトレーニングアクションを実施した帰結として受け取られたトレーニング利益を特徴付けるトレーニングの観測値、および環境の次のトレーニング状態を特徴付ける次のトレーニングの観測値を含む。
【００４５】
システムは、Qネットワークのパラメータの現在の値に従って、経験タプルについて現在推定される将来の累積利益を決定するために、Qネットワークを使用して経験タプル中のトレーニングの観測値およびトレーニングアクションを処理する(ステップ304)。
【００４６】
システムは、アクションのセットから次のアクションを選択する(ステップ306)。次のアクションは、Qネットワークによって次の観測値と組み合わせて処理されると、最高と推定される将来の累積利益を生成するアクションである。すなわち、アクションのセットの中の各アクションについて、システムは、アクションについての次の推定される将来の累積利益を生成するために、Qネットワークのパラメータの現在の値に従って、Qネットワークを使用して次の観測値およびアクションを処理する。システムは次いで、次のアクションとして最高の次点と推定される将来の累積利益を有するアクションを選択する。
【００４７】
システムは、次のアクションについての次のターゲットの推定される将来の累積利益を生成するために、ターゲットQネットワークのパラメータの現在の値に従って、ターゲットQネットワークを使用して次の観測値および次のアクションを処理する(ステップ308)。上で記載したように、ターゲットQネットワークはQネットワークと同一であるが、ターゲットQネットワークのパラメータの現在の値は、一般的にQネットワークのパラメータの現在の値と異なる。
【００４８】
したがって、経験タプルについて次のターゲットの推定される将来の累積利益を決定するために、システムは、次のアクションを選択するためにQネットワークを使用し、次いで次のターゲットの推定される将来の累積利益としてターゲットQネットワークにより生成される最も大きいターゲットの推定される将来の累積利益を直接使用する代わりに、次のターゲットの推定される将来の累積利益を生成するためにターゲットQネットワークを使用する。
【００４９】
システムは、現在推定される将来の累積利益、トレーニング利益、および次のターゲットの推定される将来の累積利益から経験タプルについての誤差を決定する(ステップ310)。たとえば、誤差Eは、
E=R+γ*NTER-CER
を満たしてもよく、ここで、Rは経験タプル中の利益であり、γは指定される割引係数であり、NTERは次のターゲットの推定される将来の累積利益であり、CERは現在推定される将来の累積利益である。
【００５０】
システムは、Qネットワークのパラメータの現在の値を更新するために誤差を使用する(ステップ312)。すなわち、システムはたとえば、逆伝播で傾斜降下の繰返しを実施することにより、従来型の機械学習トレーニング技法を使用して誤差を減少させる、Qネットワークのパラメータの現在の値への更新を決定することができる。ミニバッチ中の各経験タプルについての更新が一度決定されると、システムは、パラメータの更新された値を生成するために、Qネットワークのパラメータの現在の値へ更新を適用することができる。
【００５１】
Qネットワークのパラメータの更新された値が一度決定されると、システムは、ターゲットQネットワークのパラメータの現在の値を更新するための基準が満たされているかどうかを決定する。たとえば、システムは、T個のミニバッチが処理されるごとに、ターゲットQネットワークのパラメータを更新してもよく、Tは1よりも大きい整数である。
【００５２】
基準が満たされる場合、システムは、Qネットワークのパラメータの更新された値とターゲットQネットワークのパラメータの現在の値を同期させるために、ターゲットQネットワークのパラメータの現在の値を更新する。
【００５３】
経験タプルの複数の異なるミニバッチにプロセス300を繰り返し実施することにより、システムは、Qネットワークをトレーニングして、Qネットワークのパラメータのトレーニングされた値を決定し、環境と相互作用するエージェントにより実施されるべきアクションを選択するためにQネットワークを効果的に使用することを可能にすることができる。特に、トレーニング期間に、次のアクションを選択するためにQネットワークを使用すること、次いで次のターゲットの推定される将来の累積利益としてターゲットQネットワークにより生成される最も大きいターゲットの推定される将来の累積利益を直接使用する代わりに、次のターゲットの推定される将来の累積利益を生成するためにターゲットQネットワークを使用することによって、システムは、トレーニングされたQネットワークにより生成される、推定される利益中の過大推定誤差を低減することができる。
【００５４】
1つまたは複数のコンピュータのシステムにとって、特定の動作またはアクションを実施するように構成されることは、システムが、動作においてシステムに動作またはアクションを実施させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステム上にインストールすることを意味する。1つまたは複数のコンピュータプログラムにとって、特定の動作またはアクションを実施するように構成されることは、1つまたは複数のプログラムが、データ処理装置により実行されると、装置に動作またはアクションを実施させる命令を含むことを意味する。
【００５５】
本明細書に記載される主題および機能的な動作の実施形態は、デジタル電子回路中、有形に具体化されたコンピュータソフトウェアもしくはファームウェア中、本明細書に開示される構造およびそれらの構造的な等価物を含むコンピュータハードウェア中、またはそれらの1つもしくは複数の組合せ中に実装することができる。本明細書に記載される主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置が実行するため、またはデータ処理装置の動作を制御するために、有形の非一時的なプログラム担体上に符号化されるコンピュータプログラム命令の1つもしくは複数のモジュールとして実装することができる。代替または追加として、プログラム命令は、人工的に生成された伝播信号、たとえばデータ処理装置が実行するための好適なレシーバ装置に伝送するための情報を符号化するために生成される、機械生成された電気、光、または電磁信号上に符号化することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムアクセスメモリデバイスもしくは順次アクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることができる。
【００５６】
「データ処理装置」という用語は、データ処理ハードウェアのことを言い、例として、プログラム可能なプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するための全ての種類の装置、デバイス、および機械を包含する。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)といった専用ロジック回路であること、または専用ロジック回路をさらに含むこともできる。装置は、ハードウェアに加えて、コンピュータプログラムについての実行環境を作り出すコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せからなるコードを任意選択で含むことができる。
【００５７】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードとも呼ばれるまたは記載される場合がある)コンピュータプログラムは、コンパイル言語もしくはインタープリタ言語、または宣言型言語もしくは手続き型言語を含む任意の形のプログラミング言語で書くことができ、コンピュータプログラムは、スタンドアロン型プログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境で使用するのに好適な他のユニットとして挙げられる任意の形で展開することができる。コンピュータプログラムは、ファイルシステム中のファイルに対応してもよいが、対応する必要はない。プログラムは、たとえばマークアップ言語文書中に記憶される1つもしくは複数のスクリプトといった他のプログラムもしくはデータを保持するファイルの一部に、対象となっているプログラム専用の単一のファイルに、またはたとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルといった複数の協調するファイルに記憶することができる。コンピュータプログラムは、1つの場所に配置される、または複数の場所にわたって分散され通信ネットワークにより相互接続される1つのコンピュータまたは複数のコンピュータ上で実行されるように展開することができる。
【００５８】
本明細書に記載されるプロセスおよび論理フローは、入力データに動作し出力を生成することにより機能を実施するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実施することができる。プロセスおよび論理フローを、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった専用論理回路により実施することもでき、装置を専用論理回路として実装することもできる。
【００５９】
コンピュータプログラムの実行に好適なコンピュータは、例として、汎用もしくは専用マクロプロセッサもしくはその両方、または任意の他の種類の中央処理ユニットに基づくことができる。一般的に、中央処理ユニットは、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取ることになる。コンピュータの基本要素は、命令を実施または実行するための中央処理ユニット、ならびに命令およびデータを記憶するための1つもしくは複数のメモリデバイスである。一般的に、コンピュータは、たとえば磁気、光磁気ディスク、または光ディスクといった、データを記憶するための1つもしくは複数の大容量記憶デバイスを含むこと、または1つもしくは複数の大容量記憶デバイスからデータを受け取ること、もしくは1つもしくは複数の大容量記憶デバイスにデータを転送すること、もしくはその両方のために動作可能に結合されることもある。しかし、コンピュータがそのようなデバイスを有する必要はない。さらに、コンピュータは、たとえばいくつか挙げると、携帯電話、携帯情報端末(PDA)、携帯型オーディオプレイヤもしくはビデオプレイヤ、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはたとえばユニバーサルシリアルバス(USB)フラッシュドライブといった携帯型記憶デバイスといった、別のデバイス中に組み込むことができる。
【００６０】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体としては、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイス、たとえば内蔵ハードディスクまたは取外し可能ディスクといった磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む全ての形の不揮発性メモリ、媒体、およびメモリデバイスが挙げられる。プロセッサおよびメモリは、専用論理回路によって補うこと、または専用論理回路の中に組み込むことができる。
【００６１】
ユーザとの相互作用を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するための、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタといった表示デバイス、ならびにユーザがコンピュータに入力を提供することができる、キーボードおよびたとえばマウスまたはトラックボールといったポインティングデバイスを有するコンピュータ上に実装することができる。他の種類のデバイスが、同様にユーザとの相互作用を提供するために使用することができる。たとえば、ユーザへ提供されるフィードバックは、たとえば視覚的フィードバック、音声フィードバック、または触覚的フィードバックといった任意の形の感覚フィードバックとすることができる。また、ユーザからの入力は、音響、音声、または触覚的入力を含む任意の形で受け取ることができる。加えて、コンピュータは、たとえばウェブブラウザから受け取った要求に応じてユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することにより、ユーザにより使用されるデバイスに文書を送信することおよびデバイスから文書を受け取ることによって、ユーザと相互作用することができる。
【００６２】
本明細書に記載される主題の実施形態は、たとえばデータサーバとしてのバックエンド構成要素を含む、またはたとえばアプリケーションサーバといったミドルウェア構成要素を含む、またはたとえば本明細書に記載される主題の実装形態とユーザが相互作用することができる、リレーションシップグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータといった、フロントエンド構成要素を含む、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素の任意の組合せの、コンピューティングシステム中に実装することができる。システムの構成要素は、たとえば通信ネットワークといったデジタルデータ通信の任意の形または媒体によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク("LAN")およびワイドエリアネットワーク("WAN")、たとえばインターネットが挙げられる。
【００６３】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは、一般的に互いに遠隔にあり、典型的には通信ネットワークを通して相互作用する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【００６４】
本明細書は多くの具体的な実装形態の詳細を含有する一方、これらは、任意の発明または特許請求されてよいものの範囲についての制限と考えられるべきではなく、むしろ特定の発明の特定の実施形態に特有であってよい特徴の記載と考えられるべきである。別個の実施形態の文脈で、本明細書に記載されるある種の特徴は、単一の実施形態中に組み合わせて実装することもできる。逆に、単一の実施形態の文脈で記載される様々な特徴は、複数の実施形態で別個に、または任意の好適な下位の組合せで実装することもできる。さらに、特徴は、上である種の組合せで働くものとして記載され、そのように最初に主張される場合さえあるが、主張される組合せからの1つまたは複数の特徴は、いくつかの場合では、組合せから削除されることが可能であり、主張される組合せは、下位の組合せまたは下位の組合せの変形形態に関する場合がある。
【００６５】
同様に、動作は図面中に特定の順番で描かれるが、これは所望の結果を達成するためにそのような動作が示される特定の順番でもしくは逐次的な順番で実施されるべきであること、または全ての図示される動作が実施されるべきであることを必要とすると理解されるべきではない。ある種の環境では、マルチタスクおよび並列処理が有利となる場合がある。さらに、上に記載された実施形態中の様々なシステムモジュールおよび構成要素の分離は、全ての実施形態でそのような分離を必要とすると理解されるべきでなく、記載されたプログラム構成要素およびシステムが、全体的に単一のソフトウェア製品に一緒に一体化できること、または複数のソフトウェア製品へとパッケージングできることを理解するべきである。
【００６６】
本主題の特定の実施形態が記載されてきた。他の実施形態は、以下の請求項の範囲内にある。たとえば、請求項中に記載されるアクションを、異なる順番で実施して、依然として所望の結果に到達することができる。一例として、添付図面に描かれるプロセスは、所望の結果に到達するために、必ずしも示される特定の順番または逐次的な順番を必要としない。ある種の実装形態では、マルチタスクおよび並列処理が有利となる場合がある。
【符号の説明】
【００６７】
100  強化学習システム
102  エージェント
104  環境
110  Qネットワーク
130  リプレイメモリ
150  ターゲットQネットワーク
【図１】
2018526733.tif 000003
【図２】
2018526733.tif 000004
【図３】
2018526733.tif 000005
【国際調査報告】
2018526733.tif 000006
2018526733.tif 000007
2018526733.tif 000008