(57)【要約】【課題】環境に関係する結果の予測のための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置。【解決手段】一態様において、本システムは、エージェントが対話している環境の状態を特徴づける観察を受信することと、観察を処理して、環境状態の内部状態表現を生成することとを行うように構成された状態表現ニューラルネットワークと、現在の環境状態の現在の内部状態表現を受信することと、現在の内部状態表現を処理して、環境の後続の状態の予測された後続の状態表現と後続の状態のための予測された報酬とを生成することとを行うように構成された予測ニューラルネットワークと、現在の環境状態の現在の内部状態表現を受信することと、現在の内部状態表現を処理して、価値予測を生成することとを行うように構成された価値予測ニューラルネットワークとを備える。【選択図】図1
2020191097.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータによって実装されるシステムであって、前記システムは、
エージェントが対話している環境の状態を特徴づける1つまたは複数の観察を受信することと、
前記1つまたは複数の観察を処理して、現在の環境状態の内部状態表現を生成することと
を行うように構成された、状態表現ニューラルネットワークと、
複数の内部時間ステップの各々について、
前記内部時間ステップのための内部状態表現を受信することと、
前記内部時間ステップのための前記内部状態表現を処理して、
次の内部時間ステップのための内部状態表現、および
前記次の内部時間ステップのための予測された報酬
を生成することと
を行うように構成された、予測ニューラルネットワークと、
前記複数の内部時間ステップの各々について、
前記内部時間ステップのための前記内部状態表現を受信することと、
前記内部時間ステップのための前記内部状態表現を処理して、次の内部時間ステップ以降の将来の累積割引報酬の推定である価値予測を生成することと
を行うように構成された、価値予測ニューラルネットワークと、
前記環境の状態を特徴づける1つまたは複数の観察を受信することと、
前記現在の環境状態の内部状態表現を生成するために、前記状態表現ニューラルネットワークへの入力として、前記1つまたは複数の観察を提供することと、
前記複数の内部時間ステップの各々について、
前記予測ニューラルネットワークおよび前記価値予測ニューラルネットワークを使用して、前記内部時間ステップのための前記内部状態表現から、前記次の内部時間ステップのための内部状態表現、前記次の内部時間ステップのための予測された報酬、および価値予測を生成することと、
前記内部時間ステップのための、前記予測された報酬および前記価値予測から、アグリゲート報酬を決定することと
を行うように構成された、プレディクトロンサブシステムとを備える、
システム。
【請求項２】
前記プレディクトロンサブシステムが、
前記環境が前記現在の状態にあることから生じる報酬の推定として、前記アグリゲート報酬を提供するようにさらに構成された、
請求項1に記載のシステム。
【請求項３】
前記予測ニューラルネットワークが、前記次の内部時間ステップのための予測された割引係数を生成するようにさらに構成され、前記プレディクトロンサブシステムが、前記アグリゲート報酬を決定する際に、前記内部時間ステップのための前記予測された割引係数を使用するように構成された、
請求項1または2に記載のシステム。
【請求項４】
前記システムが、
前記内部時間ステップの各々について、現在の内部時間ステップのための内部状態表現を処理して、次の内部時間ステップのためのラムダ係数を生成するように構成されたラムダニューラルネットワークをさらに備え、前記プレディクトロンサブシステムが、前記アグリゲート報酬を決定する際に、前記内部時間ステップのためのリターン係数を決定することと、前記ラムダ係数を使用して、前記リターン係数のための重みを決定することとを行うように構成された、
請求項2または3に記載のシステム。
【請求項５】
前記状態表現ニューラルネットワークが、リカレントニューラルネットワークを備える、
請求項1から4のいずれか一項に記載のシステム。
【請求項６】
前記状態表現ニューラルネットワークが、フィードフォワードニューラルネットワークを備える、
請求項1から4のいずれか一項に記載のシステム。
【請求項７】
前記予測ニューラルネットワークが、リカレントニューラルネットワークを備える、
請求項1から6のいずれか一項に記載のシステム。
【請求項８】
前記予測ニューラルネットワークが、前記複数の時間ステップの各々において異なるパラメータ値を有するフィードフォワードニューラルネットワークを備える、
請求項1から6のいずれか一項に記載のシステム。
【請求項９】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項1から8のいずれか一項に記載のシステムの動作を実施させる命令を記憶する、
1つまたは複数のコンピュータ可読記憶媒体。
【請求項１０】
請求項1から8のいずれか一項に記載のシステムのプレディクトロンサブシステムによって実行される動作を含む方法。
【請求項１１】
請求項4に記載のシステムをトレーニングする方法であって、前記方法が、
前記アグリゲート報酬と、前記環境が前記現在の状態にあることから生じる報酬の推定とに基づく、損失の勾配を決定するステップと、
前記状態表現ニューラルネットワーク、前記予測ニューラルネットワーク、前記価値予測ニューラルネットワーク、および前記ラムダニューラルネットワークのパラメータの現在の値を更新するために、前記損失の前記勾配をバックプロパゲートするステップとを含む、
方法。
【請求項１２】
請求項4に記載のシステムを、トレーニングするための方法であって、前記方法が、
前記プレディクトロンサブシステムによって決定された前記内部時間ステップのための前記リターン係数の一貫性に基づく、一貫性損失の勾配を決定するステップと、
前記状態表現ニューラルネットワーク、前記予測ニューラルネットワーク、前記価値予測ニューラルネットワーク、および前記ラムダニューラルネットワークのパラメータの現在の値を更新するために、前記一貫性損失の前記勾配をバックプロパゲートするステップとを含む、
方法。
【請求項１３】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項11に記載の方法の動作を実施させる命令を記憶する、1つまたは複数のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は機械学習モデルを使用する予測に関する。
【背景技術】
【０００２】
機械学習モデルは、入力を受信し、受信された入力に基づいて、出力、たとえば、予測された出力を生成する。いくつかの機械学習モデルは、パラメトリックモデルであり、受信された入力とモデルのパラメータの値とに基づいて、出力を生成する。
【０００３】
いくつかの機械学習モデルは、受信された入力に対する出力を生成するためにモデルの複数の層を利用する深層モデルである。たとえば、深層ニューラルネットワークは、各々受信された入力に非線形変換を適用して出力を生成する、出力層と1つまたは複数の隠れ層とを含む、深層機械学習モデルである。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書は、一連の内部計画ステップにわたって価値予測(value prediction)を生成することによって、環境が初期状態にあることから生じるアグリゲート報酬(aggregate reward)の推定を決定する、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムについて説明する。
【０００５】
第1の態様によれば、エージェント(agent)が対話している環境の状態を特徴づける1つまたは複数の観察(observation)を受信することと、1つまたは複数の観察を処理して、現在の環境状態の内部状態表現を生成することとを行うように構成された状態表現ニューラルネットワークと、複数の内部時間ステップの各々について、内部時間ステップのための内部状態表現を受信することと、内部時間ステップのための内部状態表現を処理して、次の内部時間ステップのための内部状態表現、および次の内部時間ステップのための予測された報酬を生成することとを行うように構成された予測ニューラルネットワークと、複数の内部時間ステップの各々について、内部時間ステップのための内部状態表現を受信することと、内部時間ステップのための内部状態表現を処理して、次の内部時間ステップ以降の将来の累積割引報酬(future cumulative discounted reward)の推定である価値予測を生成することとを行うように構成された価値予測ニューラルネットワークと、環境の状態を特徴づける1つまたは複数の観察を受信することと、現在の環境状態の内部状態表現を生成するために、状態表現ニューラルネットワークへの入力として、1つまたは複数の観察を提供することと、複数の内部時間ステップの各々について、予測ニューラルネットワークおよび価値予測ニューラルネットワークを使用して、内部時間ステップのための内部状態表現から、次の内部時間ステップのための内部状態表現、次の内部時間ステップのための予測された報酬、および価値予測を生成することと、内部時間ステップのための、予測された報酬および価値予測から、アグリゲート報酬を決定することとを行うように構成されたプレディクトロン(predictron)サブシステムとを備えるシステムが提供される。
【０００６】
関係する態様において、1つまたは複数のコンピュータによって実装されるシステムが提供され、本システムは、エージェントが対話している環境の状態を特徴づける観察を受信することと、観察を処理して、環境状態の内部状態表現を生成することとを行うように構成された状態表現ニューラルネットワークと、現在の環境状態の現在の内部状態表現を受信することと、現在の内部状態表現を処理して、環境の後続の状態の予測された後続の状態表現と後続の状態のための予測された報酬とを生成することとを行うように構成された予測ニューラルネットワークと、現在の環境状態の現在の内部状態表現を受信することと、現在の内部状態表現を処理して、現在の環境状態以降の将来の累積割引報酬の推定である価値予測を生成することとを行うように構成された価値予測ニューラルネットワークとを備える。
【０００７】
関係する態様の好ましい実装形態において、本システムは、環境の初期状態を特徴づける初期観察を受信することと、環境状態の初期内部状態表現を生成するために、状態表現ニューラルネットワークへの入力として、初期観察を提供することと、複数の内部時間ステップの各々について、予測ニューラルネットワークおよび価値予測ニューラルネットワークを使用して、現在の状態表現から、予測された後続の状態表現、予測された報酬、および価値予測を生成することと、時間ステップのための、予測された報酬および価値予測から、アグリゲート報酬を決定することとを行うように構成されたプレディクトロンサブシステムを含む。
【０００８】
したがって、本明細書において説明されるように、本システムは、環境のモデルを計画モデルと統合し得る。ここで、これはプレディクトロンシステムと呼ばれ、いくつかの実装形態において、プレディクトロンシステムは、上記で説明されたようなプレディクトロンサブシステムを利用する。プレディクトロンサブシステムは、環境が現在の状態にあることから生じる報酬の推定として、アグリゲート報酬を提供するようにさらに構成され得る。内部時間ステップは計画ステップと見なされ得る。将来の累積割引報酬は、複数の将来の時間ステップのための将来の報酬の推定を含み得、したがって、それは累積的であり得る。報酬は、報酬に重みを与え、後の時間ステップにおける報酬を、前の時間ステップにおける報酬よりも小さく重み付けすることによって、割り引かれ得る。
【０００９】
いくつかの実装形態において、予測ニューラルネットワークは、次の内部時間ステップのための予測された割引係数(discount factor)を生成するようにさらに構成され、プレディクトロンサブシステムは、アグリゲート報酬を決定する際に、内部時間ステップのための予測された割引係数を使用するように構成される。報酬は、割引係数の積によって将来の報酬を重み付けすることによって割り引かれ得、割引係数は、各々0から1の間で、連続する各時間ステップについて1つである。プレディクトロンサブシステムは、割引係数を予測するために使用され得る。アグリゲート報酬は、後で説明されるように、アキュムレータによって決定され得る。
【００１０】
いくつかの実装形態において、本システムは、内部時間ステップの各々について、現在の内部時間ステップのための内部状態表現を処理して、次の内部時間ステップのためのラムダ係数(lambda factor)を生成するように構成されたラムダニューラルネットワークをさらに備え、プレディクトロンサブシステムは、アグリゲート報酬を決定する際に、内部時間ステップのためのリターン係数(return factor)を決定することと、ラムダ係数を使用して、リターン係数のための重みを決定することとを行うように構成される。リターン係数は、内部計画時間ステップのための予測されたリターンを含み得る。これは、予測された報酬と、予測された割引係数と、価値予測との組合せから決定され得、それは、k個の将来の内部時間すなわち計画ステップの各々について決定され得る。
【００１１】
いくつかの実装形態において、状態表現ニューラルネットワークは、リカレントニューラルネットワークである。
【００１２】
いくつかの実装形態において、状態表現ニューラルネットワークは、フィードフォワードニューラルネットワークである。
【００１３】
いくつかの実装形態において、予測ニューラルネットワークは、リカレントニューラルネットワークである。
【００１４】
いくつかの実装形態において、予測ニューラルネットワークは、複数の時間ステップの各々において異なるパラメータ値を有するフィードフォワードニューラルネットワークである。
【００１５】
第2の態様によれば、プレディクトロンサブシステムによって実施されるそれぞれの動作を含む方法が提供される。
【００１６】
第3の態様によれば、アグリゲート報酬と、環境が現在の状態にあることから生じる報酬の推定とに基づく、損失の勾配を決定するステップと、状態表現ニューラルネットワーク、予測ニューラルネットワーク、価値予測ニューラルネットワーク、およびラムダニューラルネットワークのパラメータの現在の値を更新するために、損失の勾配をバックプロパゲートする(backpropagate)ステップとを含む、システムをトレーニングする方法が提供される。
【００１７】
第4の態様によれば、プレディクトロンサブシステムによって決定された内部時間ステップのためのリターン係数の一貫性に基づく、一貫性損失(consistency loss)の勾配を決定するステップと、状態表現ニューラルネットワーク、予測ニューラルネットワーク、価値予測ニューラルネットワーク、およびラムダニューラルネットワークのパラメータの現在の値を更新するために、一貫性損失の勾配をバックプロパゲートするステップとを含む、システムをトレーニングするための方法が提供される。
【００１８】
本明細書において説明される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装され得る。本明細書において説明されるプレディクトロンシステムは、環境のモデル(すなわち、システムの状態表現ニューラルネットワークおよび予測ニューラルネットワーク)と、計画モデル(すなわち、価値予測ニューラルネットワーク、および、利用される場合、ラムダニューラルネットワーク)とを一緒に学習し、計画モデルは、累積報酬を推定する価値関数(value function)を生成する。従来のシステムは、環境のモデルと計画モデルとを別々に学習し、したがって、従来のシステムにおいて、モデルは計画タスクと調和しない。対照的に、本明細書において説明されるプレディクトロンシステムの場合、環境モデルと計画モデルとは一緒に学習され、したがって、本システムは、従来のシステムよりも正確に環境の現在の状態に関連する結果を推定することに寄与する価値関数を生成することが可能である。
【００１９】
その上、従来のシステムとは異なり、本明細書において説明されるプレディクトロンシステムは、部分的に、教師なし(unsupervised)学習方法によって、すなわち、環境の現在の状態に関連する結果が知られていない環境の状態を特徴づける観察に基づいて、トレーニングされ得る。したがって、補助の教師なしトレーニングにより、本明細書において説明されるシステムは、従来のシステムよりも正確に環境の現在の状態に関連する結果を推定することに寄与する価値関数を生成する。さらに、従来のシステムとは異なり、本明細書において説明されるプレディクトロンシステムは、補助の教師なしトレーニングによってトレーニングされ得るので、従来のシステムをトレーニングするために必要とされるよりも少ないラベリングされたトレーニングデータが、プレディクトロンシステムをトレーニングするために必要とされる。
【００２０】
さらに、本明細書において説明されるプレディクトロンシステムは、システムの内部状態表現および内部ダイナミクスに依存する適応可能な数の計画ステップに基づいて、出力を生成する。特に、場合によっては、プレディクトロンシステムは、計画ステップの可能な総数よりも少ない計画ステップに基づいて出力を生成し、したがって、すべての場合においてあらゆる計画ステップを利用することに基づいて出力を生成する従来のシステムよりも(たとえば、より少ない計算能力および計算時間を使用して)少ない計算リソースを消費し得る。
【００２１】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２２】
【図１】例示的なプレディクトロンシステムを示す図である。
【図２】アグリゲート報酬出力を決定するための例示的なプロセスの流れ図である。
【図３】プレディクトロンシステムのトレーニングのための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【００２３】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【００２４】
図1は、例示的なプレディクトロンシステム100を示す。プレディクトロンシステム100は、以下で説明されるシステム、構成要素、および技法が実装される、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
【００２５】
システム100は、環境106と対話するエージェント102によって実施される行動(action)104の影響を推定する。
【００２６】
いくつかの実装形態において、環境106は、シミュレートされた環境であり、エージェント102は、シミュレートされた環境と対話する1つまたは複数のコンピュータプログラムとして実装される。たとえば、シミュレートされた環境はビデオゲームであり得、エージェント102は、ビデオゲームをプレイするシミュレートされたユーザであり得る。別の例として、シミュレートされた環境は、運動シミュレーション環境、たとえば、ドライビングシミュレーションまたはフライトシミュレーションであり得、エージェント102は、運動シミュレーションを通してナビゲートするシミュレートされたビークルである。
【００２７】
いくつかの他の実装形態において、環境106は現実世界の環境であり、エージェント102は、現実世界の環境と対話する機械的エージェントである。たとえば、エージェント102は、固有のタスクを遂行するために環境と対話するロボットであり得る。別の例として、エージェント102は、環境106を通してナビゲートする自律ビークルまたは半自律ビークルであり得る。
【００２８】
システム100は、エージェント102が対話している環境106の現在の状態に関連する結果128の推定として、アグリゲート報酬110を出力する。システム100は、本明細書において計画ステップと呼ばれる複数の内部時間ステップにわたって、予測された報酬116、予測された割引係数118、および価値予測を累積することによって、アグリゲート報酬110を生成する。
【００２９】
結果128は、エージェント102が対話している環境106の任意の事象または態様を符号化することができる。たとえば、結果128は、環境においてナビゲートするエージェントが、環境106の現在の状態から開始して環境における特定のロケーションに達するかどうかを示す2進値を含み得る。別の例として、結果128は、エージェント102が、いくつかのタスクを遂行すること、たとえば、環境106の現在の状態から開始して環境106におけるいくつかのロケーションに達することに基づいて、環境106においてナビゲートするエージェント102によって受信される累積報酬を示す値を含み得る。
【００３０】
トレーニングされると、システム100は、たとえば、エージェント102によって実施されるべき行動104を選択するために使用され得る。たとえば、結果128が、環境106とのエージェント102の対話の成功を格付けする値、たとえば、エージェントが環境の現在の状態から開始してタスクを遂行するために要する時間の量を表す値を含む場合、エージェント102の行動104は、その値に対応する結果128の成分を最適化するために、システム100によって予測される行動として選択され得る。
【００３１】
システム100は、各計画ステップについて、入力を処理して、出力として、(i)次の計画ステップ、すなわち、現在の計画ステップに後続する計画ステップのための内部状態表現114と、(ii)次の計画ステップのための予測された報酬116と、(iii)次の計画ステップのための予測された割引係数118とを生成するように構成された予測ニューラルネットワーク120を含む。第1の計画ステップについて、予測ニューラルネットワーク120は、入力として、状態表現ニューラルネットワーク122によって生成された内部状態表現114を受信し、後続の計画ステップについて、予測ニューラルネットワーク120は、入力として、前の計画ステップにおいて予測ニューラルネットワーク120によって生成された内部状態表現114を受信する。予測された報酬116、予測された割引係数118、および結果128は、スカラー、ベクトル、または行列であり得、概して、すべてが同じ次元数を有する。概して、予測された割引係数118のエントリは、0から1の間のすべての値である。内部状態表現114、予測された報酬116、および予測された割引係数118は、環境106の現在の状態に関連する結果128の予測を可能にするためにシステムによって使用される抽象的な表現である。
【００３２】
状態表現ニューラルネットワーク122は、入力として環境106の1つまたは複数の観察108のシーケンスを受信することと、状態表現ニューラルネットワークパラメータのセットの値に従って観察を処理して、出力として第1の計画ステップのための内部状態表現114を生成することとを行うように構成される。概して、内部状態表現114の次元数は、環境106の1つまたは複数の観察108の次元数とは異なり得る。
【００３３】
いくつかの実装形態において、観察108は、エージェント102のセンサーによって生成されるか、またはそれから導出され得る。たとえば、観察108は、エージェント102のカメラによってキャプチャされた画像であり得る。別の例として、観察108は、エージェント102のレーザーセンサーからキャプチャされたデータから導出され得る。別の例として、観察108は、エージェント102のハイパースペクトルセンサーによってキャプチャされたハイパースペクトル画像であり得る。
【００３４】
システム100は、各計画ステップについて、計画ステップのための内部状態表現114を処理して、次の計画ステップのための価値予測を生成するように構成された価値予測ニューラルネットワーク124を含む。計画ステップのための価値予測は、次の計画ステップ以降の将来の累積割引報酬の推定であり、すなわち、価値予測は、以下の和についての、直接の算出ではなく、推定であり得る。
vk=rk+1+γk+1rk+2+γk+1γk+2rk+3+...
ここで、vkは、計画ステップkにおける価値予測であり、riは、計画ステップiにおける予測された報酬116であり、γiは、計画ステップiにおける予測された係数118である。
【００３５】
アグリゲート報酬110は、アキュムレータ112によって生成され、環境106の現在の状態に関連する結果128の推定である。アグリゲート報酬110は、スカラー、ベクトル、または行列であり得、結果128と同じ次元数を有する。いくつかの実装形態において、アキュムレータ112は、本明細書においてkステップ予測と呼ばれるプロセスによってアグリゲート報酬110を生成し、ここで、kは1からKの間の整数であり、Kは計画ステップの総数である。これらの実装形態において、アキュムレータ112は、本明細書においてkステップリターンと呼ばれる出力を決定するために、最初のk個の計画ステップの各々のための予測された報酬116および予測された割引係数118と、k番目の計画ステップの価値予測とを組み合わせることによって、アグリゲート報酬110を生成する。kステップ予測の場合、概して、アグリゲート報酬110は、最終計画ステップKに対応するkステップ予測として決定される。いくつかの実装形態において、アキュムレータ112は、本明細書においてλ重み付け予測(λ-weighted prediction)と呼ばれるプロセスによって、アグリゲート報酬110を生成する。これらの実装形態において、システム100は、計画ステップの各々について、内部状態表現114を処理して、計画ステップのためのラムダ係数を生成するように構成されたラムダニューラルネットワーク126を含み、ラムダ係数は、スカラー、ベクトル、または行列であり得、概して、結果128と同じ次元数を有する。場合によっては、ラムダ係数のエントリは、0から1の間のすべての値である。これらの実装形態において、アキュムレータ112は、本明細書においてλ重み付けリターンと呼ばれる出力を決定するために、各計画ステップkのためのkステップリターンを決定し、ラムダ係数によって定義された重みに応じてkステップリターンを組み合わせることによって、アグリゲート報酬110を生成する。アグリゲート報酬出力を決定することは、図2を参照しながらさらに説明される。
【００３６】
システム100は、観察108と対応する結果128とを含むトレーニングデータのセットに基づいて、トレーニングエンジン130によってトレーニングされる。特に、トレーニングエンジン130は、価値予測ニューラルネットワーク124、状態表現ニューラルネットワーク122、予測ニューラルネットワーク120、およびλ重み付け予測実装形態においてはラムダニューラルネットワーク126のパラメータのセットの値を一緒に最適化するために、たとえば確率的勾配降下法(stochastic gradient descent)によって、損失関数に基づいて決定された勾配をバックプロパゲートする。システム100をトレーニングすることは、教師ありトレーニングと、場合によっては、補助の教師なしトレーニングとを伴う。
【００３７】
システム100の教師ありトレーニングにおいて、損失関数は、入力として提供されシステム100によって処理される観察108に対応する結果128に依存する。たとえば、kステップ予測実装形態において、教師あり損失関数は、結果128と、アキュムレータ112によって生成されたkステップリターンとの間の差を測定し得る。別の例として、λ重み付け予測実装形態において、教師あり損失関数は、結果128と、アキュムレータ112によって生成されたλ重み付けリターンとの間の差を測定し得る。
【００３８】
システム100の教師なしトレーニングにおいて、損失関数は、入力として提供されシステム100によって処理される観察108に対応する結果128に依存しない。たとえば、λ重み付け予測実装形態において、教師なし損失関数は、各kステップリターンとλ重み付けリターンとの間の差を測定する一貫性損失関数であり得る。この場合、教師なしトレーニングは、個々のkステップリターンとλ重み付けリターンとの間の差を減少させるために、システム100のニューラルネットワークのパラメータの値を一緒に調整し、これにより、kステップリターンを自己無撞着とし、それにより、システム100のロバストネスを増加させる。トレーニングエンジン130によってシステム100をトレーニングすることは、図3を参照しながらさらに説明される。
【００３９】
本明細書において行列およびベクトルのように呼ばれるデータ構造、たとえば、システム100のニューラルネットワークのいずれかの出力は、本明細書において説明される様式においてデータ構造が使用されることを可能にする任意のフォーマットにおいて表され得る(たとえば、行列として記述されるニューラルネットワークの出力は、行列のエントリのベクトルとして表され得る)。
【００４０】
図2は、アグリゲート報酬出力を決定するための例示的なプロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実施されるものとして説明されることになる。たとえば、本明細書に従って適切にプログラムされたプレディクトロンシステム、たとえば、図1のプレディクトロンシステム100は、プロセス200を実施することができる。
【００４１】
システムは、エージェントが対話している環境の1つまたは複数の観察を受信する(ステップ202)。
【００４２】
いくつかの実装形態において、環境は、シミュレートされた環境であり、エージェントは、シミュレートされた環境と対話する1つまたは複数のコンピュータプログラムとして実装される。たとえば、シミュレートされた環境はビデオゲームであり得、エージェントは、ビデオゲームをプレイするシミュレートされたユーザであり得る。別の例として、シミュレートされた環境は、運動シミュレーション環境、たとえば、ドライビングシミュレーションまたはフライトシミュレーションであり得、エージェントは、運動シミュレーションを通してナビゲートするシミュレートされたビークルである。
【００４３】
いくつかの他の実装形態において、環境は現実世界の環境であり、エージェントは、現実世界の環境と対話する機械的エージェントである。たとえば、エージェントは、固有のタスクを遂行するために環境と対話するロボットであり得る。別の例として、エージェントは、環境を通してナビゲートする自律ビークルまたは半自律ビークルであり得る。
【００４４】
いくつかの実装形態において、観察は、エージェントのセンサーによって生成されるか、またはそれから導出され得る。たとえば、観察は、エージェントのカメラによってキャプチャされた画像であり得る。別の例として、観察は、エージェントのレーザーセンサーからキャプチャされたデータから導出され得る。別の例として、観察は、エージェントのハイパースペクトルセンサーによってキャプチャされたハイパースペクトル画像であり得る。
【００４５】
状態表現ニューラルネットワークは、入力として環境の1つまたは複数の観察を受信し、状態表現ニューラルネットワークパラメータのセットの値に従って入力を処理して、出力として第1の計画ステップのための内部状態表現を生成する(ステップ204)。
【００４６】
いくつかの実装形態において、状態表現ニューラルネットワークは、リカレントニューラルネットワークであり、状態表現ニューラルネットワークの出力は、観察の各々を連続的に処理した後のリカレントニューラルネットワークの出力である。いくつかの他の実装形態において、状態表現ニューラルネットワークは、フィードフォワードニューラルネットワークであり、状態表現ニューラルネットワークの出力は、フィードフォワードニューラルネットワークの最終層の出力である。状態表現ニューラルネットワークがフィードフォワードニューラルネットワークである実装形態において、システムは、状態表現ニューラルネットワーク122への入力として1つまたは複数の観察を提供するより前に、それらを連結し得る。
【００４７】
各計画ステップについて、予測ニューラルネットワークは、入力を処理して、出力として、(i)次の計画ステップのための内部状態表現と、(ii)次の計画ステップのための予測された報酬と、(iii)次の計画ステップのための予測された割引係数とを生成する(ステップ206)。第1の計画ステップについて、予測ニューラルネットワークは、入力として、状態表現ニューラルネットワークによって生成された内部状態表現を受信し、後続の計画ステップについて、予測ニューラルネットワークは、入力として、前の計画ステップにおいて予測ニューラルネットワークによって生成された内部状態表現を受信する。予測された報酬および予測された割引係数は、スカラー、ベクトル、または行列であり得、概して、結果と同じ次元を有する。概して、割引係数のエントリは、0から1の間のすべての値である。計画ステップのための内部状態表現は、結果の予測を可能にするためにシステムによって使用される、環境の抽象的な表現である。
【００４８】
いくつかの実装形態において、予測ニューラルネットワークは、リカレントニューラルネットワークである。いくつかの他の実装形態において、予測ニューラルネットワークは、計画ステップの各々に対応する異なるパラメータ値を有するフィードフォワードニューラルネットワークである。いくつかの実装形態において、予測ニューラルネットワークは、割引係数のエントリの値を範囲0〜1内にあるようにするために、シグモイド非線形層(sigmoid non-linearity layer)を含む。
【００４９】
各計画ステップについて、価値予測ニューラルネットワークは、入力を処理して、次の計画ステップのための価値予測を生成する(ステップ208)。第1の計画ステップについて、価値予測ニューラルネットワークは、入力として、状態表現ニューラルネットワークによって生成された内部状態表現を受信し、後続の計画ステップについて、価値予測ニューラルネットワークは、入力として、前の計画ステップにおいて予測ニューラルネットワークによって生成された内部状態表現を受信する。計画ステップのための価値予測は、次の内部時間ステップ以降の将来の累積割引報酬の推定である。
【００５０】
いくつかの実装形態において、価値予測ニューラルネットワークは、パラメータ値を予測ニューラルネットワークと共有し、すなわち、価値予測ニューラルネットワークは、入力として、内部状態表現を処理した結果として生成された予測ニューラルネットワークの中間出力を受信する。予測ニューラルネットワークの中間出力は、予測ニューラルネットワークの1つまたは複数の隠れ層の1つまたは複数のユニットの活性化に関係する。
【００５１】
アキュムレータがλ重み付け予測によってアグリゲート報酬を決定する実装形態において、ラムダニューラルネットワークは、入力を処理して、次の計画ステップのためのラムダ係数を生成する(ステップ209)。第1の計画ステップについて、ラムダニューラルネットワークは、入力として、状態表現ニューラルネットワークによって生成された内部状態表現を受信し、後続の計画ステップについて、ラムダニューラルネットワークは、入力として、前の計画ステップにおいて予測ニューラルネットワークによって生成された内部状態表現を受信する。ラムダ係数は、スカラー、ベクトル、または行列であり得、概して、結果と同じ次元数を有する。場合によっては、ラムダ係数のエントリの値は、0から1の間である。いくつかの実装形態において、ラムダニューラルネットワークは、ラムダ係数のエントリの値を範囲0〜1内にあるようにするために、シグモイド非線形層を含む。いくつかの実装形態において、ラムダニューラルネットワークは、パラメータ値を予測ニューラルネットワークと共有する。
【００５２】
システムは、現在の計画ステップが終端の計画ステップであるかどうかを決定する(ステップ210)。場合によっては、現在の計画ステップは、それが所定の数の計画ステップの最後の計画ステップである場合、終端の計画ステップであり得る。λ重み付け予測実装形態において、以下でさらに説明されるように、現在の計画ステップは、現在の計画ステップのためのλ係数が等しく0である(すなわち、λ係数がスカラーである場合、λ係数が0であるか、あるいはλ係数がベクトルまたは行列である場合、λ係数のあらゆるエントリが0である)場合、終端の計画ステップであり得る。現在の計画ステップが終端の計画ステップでないという決定に応答して、システムは、次の計画ステップに進み、ステップ206に戻り、先行するステップを繰り返す。現在の計画ステップは終端の計画ステップであるという決定に応答して、アキュムレータは、アグリゲート報酬を決定する(ステップ212)。
【００５３】
いくつかの実装形態において、アキュムレータは、kステップ予測によってアグリゲート報酬を決定し、ここで、kは1からKの間の整数であり、ここで、Kは計画ステップの総数である。これらの実装形態において、アキュムレータは、出力としてのkステップリターンを決定するために、最初のk個の計画ステップの各々のための予測された報酬および予測された割引係数と、k番目の計画ステップの価値予測とを組み合わせることによって、アグリゲート報酬を生成する。詳細には、アキュムレータは、kステップリターンを、
gk=r1+γ1(r2+γ2(...+γk-1(rk+γkvk)...))
として決定し、ここで、gkはkステップリターンであり、riは計画ステップiの報酬であり、γiは計画ステップiの割引係数であり、vkは計画ステップkの価値予測である。
【００５４】
いくつかの他の実装形態において、アキュムレータは、λ重み付け予測によってアグリゲート報酬を決定する。これらの実装形態において、アキュムレータは、出力としてのλ重み付けリターンを決定するために、各計画ステップkのためのkステップリターンを決定し、ラムダ係数によって定義された重みに応じてkステップリターンを組み合わせる。詳細には、アキュムレータは、λ重み付けリターンを、
【００５５】
【数１】
2020191097.tif 000003
【００５６】
として決定し得、ここで、gλはλ重み付けリターンであり、λkは、k番目の計画ステップのためのλ係数であり、wkは重み係数であり、1は、単位行列、すなわち、対角線上の1と他の場所の0とをもつ行列であり、gkはkステップリターンである。アキュムレータはまた、中間ステップgk,λを介した逆方向累積によってλ重み付けリターンを決定し得、ここで、
gk,λ=(1-λk)vk+λk(rk+1+γk+1gk+1,λ)、およびgK,λ=vK
であり、λ重み付けリターンgλは、g0,λとして決定される。
【００５７】
システムは、K個の計画ステップをすべて含むとは限らない連続する計画ステップのシーケンスに基づいて、λ重み付けリターンgλを算出し得る。たとえば、前に提供されたgλの例示的な式において、計画ステップkについてλk=0である場合、重みwnが、n>kについて0であるので、gλは、最初のk個の計画ステップのkステップリターンに基づいて、および後続の計画ステップには基づかずに決定される。したがって、システムは、システムの内部状態表現および学習ダイナミクスに依存する適応可能な数の計画ステップに基づいて、アグリゲート報酬を決定する。
【００５８】
図3は、プレディクトロンシステムをトレーニングするための例示的なプロセス300の流れ図である。便宜上、プロセス300は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータを含むエンジンによって実施されるものとして説明されることになる。たとえば、本明細書に従って適切にプログラムされたトレーニングエンジン、たとえば、図1のトレーニングエンジン130は、プロセス300を実施することができる。
【００５９】
エンジンは、エージェントが対話している環境の1つまたは複数の観察と、場合によっては、環境の現在の状態に関連する対応する結果とを受信する(ステップ302)。
【００６０】
エンジンは、システムに観察を提供し、システムは、結果の推定であるアグリゲート報酬を決定する。アグリゲート報酬を決定するための例示的なプロセスは、図2を参照しながら説明される。
【００６１】
エンジンは、損失関数に基づいて勾配を決定し、システムのニューラルネットワーク、すなわち、価値予測ニューラルネットワーク、状態表現ニューラルネットワーク、予測ニューラルネットワーク、およびλ重み付け予測実装形態においてはラムダニューラルネットワークのパラメータのセットの値を一緒に更新するために、勾配をバックプロパゲートする。損失関数は、教師あり損失関数、すなわち、入力として提供されシステムによって処理される観察に対応する結果に依存する損失関数、教師なし損失関数、すなわち、結果に依存しない損失関数、または教師あり損失項と教師なし損失項との結合であり得る。
【００６２】
kステップ予測実装形態において、教師あり損失関数は、
【００６３】
【数２】
2020191097.tif 000004
【００６４】
によって与えられ得、ここで、gは結果である。別の例として、λ重み付け予測実装形態において、ラムダニューラルネットワークに勾配をバックプロパゲートするために使用される教師あり損失関数は、
【００６５】
【数３】
2020191097.tif 000005
【００６６】
によって与えられ得、価値予測ニューラルネットワーク、状態表現ニューラルネットワーク、および予測ニューラルネットワークに勾配をバックプロパゲートするために使用される教師あり損失関数は、
【００６７】
【数４】
2020191097.tif 000006
【００６８】
によって、または、
【００６９】
【数５】
2020191097.tif 000007
【００７０】
によって与えられ得る。
【００７１】
λ重み付け予測実装形態において、教師なし損失関数は、
【００７２】
【数６】
2020191097.tif 000008
【００７３】
によって与えられ得、ここで、gλは固定と見なされ、各kステップリターンgkをgλとより類似させるために勾配がバックプロパゲートされるが、その逆は成り立たない。教師なし損失関数に基づいて勾配をバックプロパゲートすることは、kステップリターンとλ重み付けリターンとの間の差を減少させ、これにより、kステップリターンを自己無撞着とし、それにより、システムのロバストネスを増加させる。さらに、教師なし損失関数は、入力として提供されシステムによって処理される観察に対応する結果に依存しないので、エンジンは、対応する結果が知られていない観察のシーケンスのための教師なし損失関数に基づいて勾配をバックプロパゲートすることによって、システムをトレーニングし得る。
【００７４】
対応する結果が知られているトレーニング観察について、エンジンは、教師あり損失項と教師なし損失項の両方を結合する損失関数に基づいて、システムのニューラルネットワークのパラメータのセットの値を更新し得る。たとえば、損失関数は、教師あり損失項と教師なし損失項との重み付けされた線形結合であり得る。
【００７５】
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムが、特定の動作または行動を実施するように構成されることは、動作中、システムに動作または行動を実施させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、システムがその上にインストールしたことを意味する。1つまたは複数のコンピュータプログラムが、特定の動作または行動を実施するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されたときにその装置に動作または行動を実施させる命令を含むことを意味する。
【００７６】
本明細書において説明された主題および機能的動作の実施形態は、本明細書において開示された構造およびそれらの構造等価物を含む、デジタル電子回路において、有形に具現化されたコンピュータソフトウェアまたはファームウェアにおいて、コンピュータハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。本明細書において説明された主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置が実行するために有形非一時的記憶媒体上に符号化された、またはデータ処理装置の動作を制御するための、コンピュータプログラム命令の1つまたは複数のモジュールとして、実装され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、あるいはそれらのうちの1つまたは複数の組合せであり得る。代替的にまたは追加として、プログラム命令は、データ処理装置が実行するための好適な受信機装置への送信のための情報を符号化するために生成される、人工的に生成された伝搬される信号、たとえば、機械生成の電気信号、光信号、または電磁信号上に符号化され得る。
【００７７】
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、あるいは複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であるか、あるいはそれをさらに含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せをなすコードを随意に含むことができる。
【００７８】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるか、あるいはそれらとして記述されることもある、コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語、あるいは宣言型言語または手続き型言語を含む、任意の形態のプログラミング言語で書かれ得、それは、スタンドアロンプログラムとして、あるいはモジュール、構成要素、サブルーチン、またはコンピューティング環境において使用するのに好適な他のユニットとしてを含む、任意の形態において展開され得る。プログラムは、ファイルシステム中のファイルに対応し得るが、それに対応する必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプトを保持するファイルの一部分に、当該のプログラムに専用の単一のファイルに、あるいは複数の協調ファイル(coordinated file)、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開され得、あるいは1つのサイトに位置するかまたは複数のサイトにわたって分散され、データ通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開され得る。
【００７９】
本明細書において、「エンジン」という用語は、1つまたは複数の固有の機能を実施するようにプログラムされる、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用される。概して、エンジンは、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上にインストールされた、1つまたは複数のソフトウェアモジュールまたは構成要素として実装されることになる。場合によっては、1つまたは複数のコンピュータは、特定のエンジンに専用となり、他の場合には、複数のエンジンが、同じ1つまたは複数のコンピュータ上にインストールされ、その上で実行していることがある。
【００８０】
本明細書において説明されたプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するために、1つまたは複数のコンピュータプログラムを実行する、1つまたは複数のプログラマブルコンピュータによって実施され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGAまたはASICによって、あるいは専用論理回路と1つまたは複数のプログラムされたコンピュータとの組合せによっても実施され得る。
【００８１】
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサまたは専用マイクロプロセッサ、あるいはその両方、あるいは任意の他の種類の中央処理ユニットに基づき得る。概して、中央処理ユニットは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から、命令およびデータを受信することになる。コンピュータの必須の要素は、命令を実施または実行するための中央処理ユニットと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。中央処理ユニットおよびメモリは、専用論理回路によって増補されるか、または専用論理回路に組み込まれ得る。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むことになり、あるいは、それらからデータを受信するように、もしくはそれらにデータを転送するように、またはその両方を行うように動作可能に結合されることになる。ただし、コンピュータはそのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、あるいはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ中に埋め込まれ得る。
【００８２】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。
【００８３】
ユーザとの対話を提供するために、本明細書において説明された主題の実施形態は、ユーザへの情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがそれによってコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の知覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態において受信され得る。さらに、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送ることと、そのデバイスからドキュメントを受信することとによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイス上のウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを実行しているスマートフォンに送ることと、返信としてユーザからの応答メッセージを受信することとによって、ユーザと対話することができる。
【００８４】
機械学習モデルを実装するためのデータ処理装置はまた、たとえば、機械学習トレーニングまたは生成、すなわち、推論、作業負荷の、共通のおよび計算集約的な部分を処理するための専用ハードウェアアクセラレータユニットを含むことができる。
【００８５】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装および展開され得る。
【００８６】
本明細書において説明された主題の実施形態は、たとえばデータサーバのようなバックエンド構成要素を含むコンピューティングシステムにおいて、またはミドルウェア構成要素、たとえばアプリケーションサーバを含むコンピューティングシステムにおいて、あるいはフロントエンド構成要素、たとえば、本明細書において説明された主題の実装形態とユーザがそれを通して対話することができる、グラフィカルユーザインターフェース、ウェブブラウザ、またはアプリを有するクライアントコンピュータを含むコンピューティングシステムにおいて、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せにおいて実装され得る。システムの構成要素は、デジタルデータ通信、たとえば、通信ネットワークの任意の形態または媒体によって、相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)、たとえば、インターネットとを含む。
【００８７】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントとサーバとは、概して、互いから遠く離れており、一般に、通信ネットワークを通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行し、互いにクライアントサーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態において、サーバは、たとえば、クライアントとして働くデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で、データ、たとえばHTMLページをユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザ対話の結果は、サーバにおいてデバイスから受信され得る。
【００８８】
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは、発明の範囲に対する限定、または請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。また、別個の実施形態に関して本明細書において説明されたいくつかの特徴は、単一の実施形態における組合せで実装され得る。また、逆に、単一の実施形態に関して説明された様々な特徴は、複数の実施形態において別個に、または任意の好適な部分組合せで実装され得る。その上、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【００８９】
同様に、動作は特定の順序で図面に示され、特許請求の範囲に記載されているが、これは、望ましい結果を達成するために、そのような動作が、示される特定の順序でまたは連続した順序で実施されることを、あるいはすべての図示の動作が実施されることを必要とするものとして理解されるべきでない。いくつかの状況において、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明された実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきでなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品において互いに一体化されるか、または複数のソフトウェア製品にパッケージングされ得ることを理解されたい。
【００９０】
主題の特定の実施形態が説明された。他の実施形態が以下の特許請求の範囲内に入る。たとえば、特許請求の範囲に記載の行為(action)は、異なる順序で実施され、依然として、望ましい結果を達成することができる。一例として、添付図に示されたプロセスは、望ましい結果を達成するために、必ずしも、示される特定の順序または連続した順序を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【００９１】
100  プレディクトロンシステム
102  エージェント
104  行動
106  環境
108  観察
110  アグリゲート報酬
112  アキュムレータ
114  内部状態表現
116  予測された報酬
118  予測された割引係数
120  予測ニューラルネットワーク
122  状態表現ニューラルネットワーク
124  価値予測ニューラルネットワーク
126  ラムダニューラルネットワーク
128  結果
130  トレーニングエンジン
【図１】
2020191097.tif 000009
【図２】
2020191097.tif 000010
【図３】
2020191097.tif 000011
【手続補正書】
【提出日】令和2年8月27日(2020.8.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
計画ステップのシーケンスにわたって報酬および価値予測をアグリゲートすることによってタスクを遂行するために、エージェントが対話している環境に関係する結果を推定するための1つまたは複数のデータ処理装置によって実行される方法であって、前記方法が、
前記エージェントが対話している前記環境の状態を特徴づける1つまたは複数の観察を受信するステップと、
計画ステップの前記シーケンスの最初の計画ステップのための内部状態表現を生成するように、状態表現ニューラルネットワークを使用して、1つまたは複数の観察を処理するステップと、
(i)次の計画ステップのための内部状態表現、および(ii)前記次の計画ステップのための予測された報酬を生成するように、計画ステップの前記シーケンスにおける各計画ステップのために、予測ニューラルネットワークを使用して、前記計画ステップのための内部状態表現を処理するステップと、
前記計画ステップの後に受信される将来の累積割引報酬の推定である価値予測を生成するように、計画ステップの前記シーケンスにおける1つまたは複数の計画ステップの各々のために、価値予測ニューラルネットワークを使用して、前記計画ステップのための前記内部状態表現を処理するステップと、
前記計画ステップのための前記予測された報酬および前記価値予測に基づいて、前記環境に関係する前記結果の推定を決定するステップとを含む、
方法。
【請求項２】
前記エージェントが、現実世界の環境と対話するロボットエージェントである、
請求項１に記載の方法。
【請求項３】
前記環境に関係する前記結果が、前記タスクの遂行における前記エージェントの有効性を特徴づける、
請求項１に記載の方法。
【請求項４】
前記エージェントが対話している前記環境の状態を特徴づける各観察が、前記環境の各画像を含む、
請求項１に記載の方法。
【請求項５】
計画ステップの前記シーケンスにおける各計画ステップのために、前記予測ニューラルネットワークが、前記次の計画ステップのための予測された割引係数を生成し、
前記環境に関係する前記結果の前記推定を決定するステップが、
前記計画ステップのための前記予測された報酬および前記価値予測に基づくのに加えて、前記計画ステップのための前記予測された割引係数に基づいて、前記環境に関係する前記結果の前記推定を決定するステップを含む、
請求項１に記載の方法。
【請求項６】
前記環境に関係する前記結果の前記推定を決定するステップが、
(i)各計画ステップのための前記予測された報酬および前記予測された割引係数と、(ii)最終計画ステップのための価値予測とを組み合わせるステップをさらに含む、
請求項５に記載の方法。
【請求項７】
前記環境に関係する前記結果の前記推定が、
【数１】
2020191097.tif 000012
を満たし、
ここで、gKが、前記結果の前記推定であり、Kが、計画ステップの前記シーケンスにおける計画ステップの数であり、riが、計画ステップの前記シーケンスにおける計画ステップiのための前記予測された報酬であり、γiが、計画ステップの前記シーケンスにおける計画ステップiのための前記予測された割引係数であり、νKが、前記最終計画ステップのための前記価値予測である、
請求項６に記載の方法。
【請求項８】
前記方法は、
前記次の計画ステップのためのラムダ係数を生成するように、計画ステップの前記シーケンスにおける各計画ステップのために、ラムダニューラルネットワークを使用して、前記計画ステップのための前記内部状態表現を処理するステップをさらに含み、
前記環境に関係する前記結果の前記推定を決定するステップが、
前記計画ステップのための、前記予測された割引係数、前記予測された報酬、および前記価値予測に基づくのに加えて、前記計画ステップのための前記ラムダ係数に基づいて、前記結果の前記推定を決定するステップをさらに含む、
請求項５に記載の方法。
【請求項９】
前記環境に関係する前記結果の前記推定が、
【数２】
2020191097.tif 000013
を満たし、
ここで、gλが、前記結果の前記推定であり、kが、計画ステップの前記シーケンスにおける前記計画ステップにインデックスを付し、Kが、計画ステップの前記シーケンスにおけるインデックス最終計画ステップであり、wkが、前記計画ステップのための前記ラムダ係数に基づいて決定される計画ステップkに関連する重み係数であり、gkが、前記計画ステップのための、前記予測された報酬、前記価値予測、および前記予測された割引係数に基づいて決定される計画ステップkに関連するkステップリターンである、
請求項８に記載の方法。
【請求項１０】
各
【数３】
2020191097.tif 000014
に対して、計画ステップkに関連する前記kステップリターンgkが、
【数４】
2020191097.tif 000015
を満たし、
ここで、riが、計画ステップの前記シーケンスにおける計画ステップiのための前記予測された報酬であり、γiが、計画ステップの前記シーケンスにおける計画ステップiのための前記予測された割引係数であり、νkが、計画ステップの前記シーケンスにおける計画ステップκのための価値予測であり、
0ステップリターンg0が、計画ステップの前記シーケンスにおける前記最初の計画ステップのための価値予測に等しい、
請求項９に記載の方法。
【請求項１１】
各
【数５】
2020191097.tif 000016
に対して、計画ステップkに関連する前記重み係数wkが、
【数６】
2020191097.tif 000017
を満たし、
ここで、λjが、計画ステップjのための前記ラムダ係数である、
請求項９に記載の方法。
【請求項１２】
前記状態表現ニューラルネットワークが、フィードフォワードニューラルネットワークを含む、
請求項１に記載の方法。
【請求項１３】
前記予測ニューラルネットワークが、リカレントニューラルネットワークを含む、
請求項１に記載の方法。
【請求項１４】
前記予測ニューラルネットワークが、各計画ステップにおいて異なるパラメータ値を有するフィードフォワードニューラルネットワークを含む、
請求項１に記載の方法。
【請求項１５】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータと通信可能に結合した1つまたは複数の記憶装置とを備えた、
システムであって、前記1つまたは複数の記憶装置が、計画ステップのシーケンスにわたって報酬および価値予測をアグリゲートすることによってタスクを遂行するために、エージェントが対話している環境に関係する結果を推定するための動作を、前記1つまたは複数のコンピュータに実行させるための命令を記憶し、前記動作が、
前記エージェントが対話している前記環境の状態を特徴づける1つまたは複数の観察を受信するステップと、
計画ステップの前記シーケンスの最初の計画ステップのための内部状態表現を生成するように、状態表現ニューラルネットワークを使用して、1つまたは複数の観察を処理するステップと、
(i)次の計画ステップのための内部状態表現、および(ii)前記次の計画ステップのための予測された報酬を生成するように、計画ステップの前記シーケンスにおける各計画ステップのために、予測ニューラルネットワークを使用して、前記計画ステップのための内部状態表現を処理するステップと、
前記計画ステップの後に受信される将来の累積割引報酬の推定である価値予測を生成するように、計画ステップの前記シーケンスにおける1つまたは複数の計画ステップの各々のために、価値予測ニューラルネットワークを使用して、前記計画ステップのための前記内部状態表現を処理するステップと、
前記計画ステップのための前記予測された報酬および前記価値予測に基づいて、前記環境に関係する前記結果の推定を決定するステップとを含む、
システム。
【請求項１６】
前記エージェントが、現実世界の環境と対話するロボットエージェントである、
請求項１５に記載のシステム。
【請求項１７】
前記環境に関係する前記結果が、前記タスクの遂行における前記エージェントの有効性を特徴づける、
請求項１５に記載のシステム。
【請求項１８】
前記エージェントが対話している前記環境の状態を特徴づける各観察が、前記環境の各画像を含む、
請求項１５に記載のシステム。
【請求項１９】
計画ステップの前記シーケンスにおける各計画ステップのために、前記予測ニューラルネットワークが、前記次の計画ステップのための予測された割引係数を生成し、
前記環境に関係する前記結果の前記推定を決定するステップが、
前記計画ステップのための前記予測された報酬および前記価値予測に基づくのに加えて、前記計画ステップのための前記予測された割引係数に基づいて、前記環境に関係する前記結果の前記推定を決定するステップを含む、
請求項１５に記載のシステム。
【請求項２０】
計画ステップのシーケンスにわたって報酬および価値予測をアグリゲートすることによってタスクを遂行するために、エージェントが対話している環境に関係する結果を推定するための動作を、1つまたは複数のコンピュータに実行させるための命令を記憶しているコンピュータ可読記憶媒体であって、前記動作が、
前記エージェントが対話している前記環境の状態を特徴づける1つまたは複数の観察を受信するステップと、
計画ステップの前記シーケンスの最初の計画ステップのための内部状態表現を生成するように、状態表現ニューラルネットワークを使用して、1つまたは複数の観察を処理するステップと、
(i)次の計画ステップのための内部状態表現、および(ii)前記次の計画ステップのための予測された報酬を生成するように、計画ステップの前記シーケンスにおける各計画ステップのために、予測ニューラルネットワークを使用して、前記計画ステップのための内部状態表現を処理するステップと、
前記計画ステップの後に受信される将来の累積割引報酬の推定である価値予測を生成するように、計画ステップの前記シーケンスにおける1つまたは複数の計画ステップの各々のために、価値予測ニューラルネットワークを使用して、前記計画ステップのための前記内部状態表現を処理するステップと、
前記計画ステップのための前記予測された報酬および前記価値予測に基づいて、前記環境に関係する前記結果の推定を決定するステップとを含む、
コンピュータ可読記憶媒体。
【請求項２１】
前記エージェントが、現実世界の環境と対話するロボットエージェントである、
請求項２０に記載のコンピュータ可読記憶媒体。
【外国語明細書】
2020191097000001.pdf