(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-05
(45)【発行日】2024-07-16
(54)【発明の名称】パレートフロント最適化を使用する制約付き強化学習ニューラルネットワークシステム
(51)【国際特許分類】
G06N 3/092 20230101AFI20240708BHJP
G06N 3/045 20230101ALI20240708BHJP
【FI】
G06N3/092
G06N3/045
(21)【出願番号】P 2023520352
(86)(22)【出願日】2021-10-01
(86)【国際出願番号】 EP2021077177
(87)【国際公開番号】W WO2022069743
(87)【国際公開日】2022-04-07
【審査請求日】2023-06-02
(32)【優先日】2020-10-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】サンディ・ハン・ファン
(72)【発明者】
【氏名】アッバース・アブドルマレキ
【審査官】真木 健彦
(56)【参考文献】
【文献】米国特許出願公開第2020/0104715(US,A1)
【文献】Abbas Abdolmaleki,A Distributional View on Multi-Objective Policy Optimization,arXiv:2005.07513v1,2020年05月15日,全22頁
【文献】Md Mahmudul Hasan,Dynamic multi-objective optimisation using deep reinforcement learning: benchmark, algorithm and an application to identify vulnerable zones based on water quality,ENIGINEERING APPLICATIONS OF ARTIFICIAL INTELLIGENCE,ELSEVIER,2019年08月19日,P.107-135
【文献】上岡 拓未,Max-Min Actor-Criticによる複数報酬課題の強化学習,電子情報通信学会論文誌 (J90-D) 第9号,日本,社団法人電子情報通信学会,2007年09月01日,Vol.J90-D No.9,P.2510-2521
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/092
G06N 3/045
(57)【特許請求の範囲】
【請求項1】
環境と相互作用しながら1つまたは複数のタスクを実行するようにエージェントを制御するコンピュータ実装方法であって、各タスクが、前記タスクの実行に関連付けられた少なくとも1つのそれぞれの報酬を有し、前記1つまたは複数のタスクを実行することが、1つまたは複数のそれぞれのコストに対する1つまたは複数の制約に従い、前記方法が、
前記環境からの観測値に応答して行動を選択するための、複数の行動選択ポリシーニューラルネットワークパラメータを有する行動選択ポリシーニューラルネットワークを維持するステップであって、前記行動選択ポリシーニューラルネットワークが、他に対する前記報酬またはコストのうちの1つの相対的優先度を各々が定義する選好設定のベクトルを含む選好ベクトル入力に条件付けられる、ステップと、
前記選好設定のベクトルに関する選好分布を定義する、複数の選好ニューラルネットワークパラメータを有する選好ニューラルネットワークを維持するステップと、
複数の時間ステップの各々において、前記環境からの観測値と、前記選好ニューラルネットワークによって定義された前記選好分布からサンプリングされた選好設定のベクトルとを受信し、前記選好設定のベクトルと前記観測値からのデータとを前記行動選択ポリシーニューラルネットワークに提供し、前記エージェントによって実行されるべき行動を選択するために、前記行動選択ポリシーニューラルネットワークの出力を使用し、1つまたは複数の報酬と1つまたは複数のコストとを受信することによって、前記環境内で前記エージェントによって実行されるべき行動を選択するステップと、
目標目的のセットを共同で最適化するために、前記選好ニューラルネットワークパラメータを固定し、前記行動選択ポリシーニューラルネットワークパラメータを調整するステップであって、前記1つまたは複数の報酬の各々および前記1つまたは複数のコストの各々が、前記目標目的のうちのそれぞれ1つを有する、ステップと、
前記1つまたは複数の制約の各々が前記1つまたは複数のそれぞれのコストによって満たされるかどうかに応じて制約目的を最適化するために、前記行動選択ポリシーニューラルネットワークパラメータを固定し、前記選好ニューラルネットワークパラメータを調整するステップと
を含む、コンピュータ実装方法。
【請求項2】
前記行動選択ポリシーニューラルネットワークパラメータが、目標目的のセットをパレートフロントに向けて共同で最適化するように調整され、前記目標目的のセットが、前記制約が満たされる前記パレートフロントの領域に向けて最適化される、請求項1に記載の方法。
【請求項3】
前記1つまたは複数の制約の各々について、それぞれの制約が前記それぞれのコストによって満たされるかどうかを評価する、前記選好設定のベクトルに依存するそれぞれの制約フィッティング関数の値を決定することによって、前記制約目的を決定するステップを含む、請求項1または2に記載の方法。
【請求項4】
目標目的の各々について、複数のQ値ニューラルネットワークパラメータと、行動、観測値、および選好設定のベクトルに応じて行動値スコアを定義するためのQ値出力とを有するそれぞれのQ値ニューラルネットワークを維持するステップと、
前記制約によって制約された前記コストの前記目標目的に対する前記Q値ニューラルネットワークの前記Q値出力からの制約に関する、観測値および行動に対して平均化された制約フィッティング関数の値を決定するステップと、
前記制約目的を決定するために、各制約に対して前記制約フィッティング関数を使用するステップと
をさらに含む、請求項1、2、または3に記載の方法。
【請求項5】
前記制約フィッティング関数の前記値が、前記制約によって制約される前記コストの前記目標目的に関する前記Q値ニューラルネットワークの前記Q値出力と前記制約に関する制約値との間の差に依存する、請求項4に記載の方法。
【請求項6】
前記選好ニューラルネットワークパラメータが固定されている間に、前記選好ニューラルネットワークによって定義される前記選好分布から選好設定のベクトルをサンプリングするステップと、
前記サンプリングされた選好設定のベクトルによって定義された前記目標目的に関連付けられた前記報酬または制約の前記相対的優先度によって定義された前記目標目的の間の相対的な選好に従って、前記目標目的のセットを共同で最適化するために、前記行動選択ポリシーニューラルネットワークパラメータを調整するステップと
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
各目標目的について、複数のQ値ニューラルネットワークパラメータと、行動、観測値、および選好設定のベクトルに依存する行動値スコアを定義するためのQ値出力とを有するそれぞれのQ値ニューラルネットワークを維持するステップと、
前記1つまたは複数の報酬および前記1つまたは複数のコストの各々についてそれぞれの目標目的を最適化するために、各Q値ニューラルネットワークを使用するステップと
をさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記目標目的のセットを共同で最適化するために前記行動選択ポリシーニューラルネットワークパラメータを調整するステップが、
前記選好ニューラルネットワークパラメータが固定されている間に、前記選好ニューラルネットワークによって定義された前記選好分布から選好設定のベクトルをサンプリングするステップと、
前記サンプリングされた選好設定のベクトルを各Q値ニューラルネットワークに提供するステップと、
前記Q値出力とそれぞれのQ値目標との間の差の測定値に応じてQ学習目的を最適化するために、各Q値ニューラルネットワークの前記Q値ニューラルネットワークパラメータを調整するステップであって、前記それぞれのQ値目標が、前記行動選択ポリシーニューラルネットワークパラメータの現在の値によって定義された行動選択ポリシーに従って決定される、ステップと、
前記Q値ニューラルネットワークパラメータが調整された後、各Q値ニューラルネットワークの前記Q値出力を使用して前記行動選択ポリシーニューラルネットワークパラメータを調整するステップと
を含む、請求項7に記載の方法。
【請求項9】
前記Q値ニューラルネットワークからのQ値出力を使用して前記行動選択ポリシーニューラルネットワークパラメータを調整するステップが、
各目標目的について、改善された行動選択ポリシーを決定するステップであって、前記改善された行動選択ポリシーが、前記目標目的に対する前記Q値ニューラルネットワークからの前記Q値出力に依存する前記目標目的に関するポリシー改善係数によって前記行動選択ポリシーニューラルネットワークの前記出力をスケーリングすることによって決定される、ステップと、
前記行動選択ポリシーニューラルネットワークの現在のパラメータによって定義される現在の行動選択ポリシーと、各目標目的に関する前記改善された行動ポリシーとの間の差の測定値に応じて、組み合わされたポリシー改善目標を最適化するために、前記行動選択ポリシーニューラルネットワークパラメータを調整するステップと
を含む、請求項8に記載の方法。
【請求項10】
各々の目標目的に関する前記現在の行動選択ポリシーおよび前記改善された行動ポリシーの各々が、前記観測値と前期選好設定とに依存する行動に関する分布によって定義され、前記差の前記測定値が、前記分布間の差の測定値を含む、請求項9に記載の方法。
【請求項11】
前記目標目的に対する前記ポリシー改善係数が、温度パラメータに依存し、前記方法が、
各目標目的について、前記選好分布からサンプリングされた選好設定と、前記環境から受信した観測値と、前記現在の行動選択ポリシーからサンプリングされた前記観測値とに対して平均化された前記目標目的に関する前記Q値ニューラルネットワークからの前記Q値出力に応じて温度目的関数を最適化することによって前記温度パラメータを取得するステップをさらに含む、請求項9または10に記載の方法。
【請求項12】
前記選好分布からサンプリングされた選好設定のサンプリングされたベクトルが報酬よりもコストを優先する可能性が高くなるように、前記選好分布を初期化するステップをさらに含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記環境が現実世界の環境であり、前記制約が、前記タスクを実行するために前記現実世界で行動するときに前記エージェントによって負担されるコストに対する制約である、請求項1から12のいずれか一項に記載の方法。
【請求項14】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から13のいずれか一項に記載のそれぞれの方法の動作を実行させるように動作可能な命令を記憶する1つまたは複数の記憶デバイスとを備えるシステム。
【請求項15】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から13のいずれか一項に記載のそれぞれの方法の動作を実行させる命令で符号化されたコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年10月2日に出願した米国仮出願第63/087,123号の優先権を主張するものである。先行出願の開示は、本出願の一部とみなされ、参照により本明細書の開示に組み込まれる。
【背景技術】
【0002】
本明細書は、ニューラルネットワークを使用してエージェントを制御することに関する。
【0003】
ニューラルネットワークは、受信した入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を用いる機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータのセットの現在の値に従って、受信した入力から出力を生成する。
【発明の概要】
【課題を解決するための手段】
【0004】
本明細書は、1つまたは複数の制約に従ってタスクを実行するようにエージェントを制御する1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムおよび方法について説明する。
【0005】
これは、どの選好が制約を満たす行動選択ポリシーを生成するかを学習する選好ニューラルネットワークをトレーニングすることによって達成される。より具体的には、システムは、選好ポリシーおよび選好条件付き行動選択ポリシーの積である階層ポリシーを最適化する。したがって、システムは、タスク中に受け取る報酬およびコストに関連する目的のセットを共同で最適化することを学習し、同時に、制約を満たすポリシーを生成する可能性が最も高い選好、すなわち報酬とコストとの間のトレードオフも学習する。
【0006】
一般に、タスクは、エージェント制御タスクである。一例として、タスクは、エージェントに現実世界の環境内で目標を達成させるために機械的エージェントを制御することを含み得る。例えば、エージェントは、ロボットまたは自律型もしくは半自立型の車両であり得、タスクは、エージェントを環境内の様々な位置にナビゲートさせること、エージェントに様々なオブジェクトを位置特定させること、エージェントの1つまたは複数の部分を移動させること、例えば、オブジェクトを拾うため、またはオブジェクトを指定された場所に移動させるために、エージェントにオブジェクトを操作させること、などを含み得る。制約の例は、タスクを実行しているときに消費されるエネルギーと、タスク中にアクチュエータによって発揮される力などのエージェントの動きにおける物理的制約、またはタスク中に生じる物理的な損耗の測定値における制約とを含む。
【0007】
本明細書において説明する主題は、以下の利点のうちの1つまたは複数を実現するために、特定の実施形態において実装され得る。
【0008】
説明するシステムのいくつかの実装形態は、タスクを実行するときにより大きい報酬を達成することができ得る、および/または制約をよりよく満たすことができるという点において、既存の手法よりもよく機能する行動選択ポリシーを識別することができる。システムの実装形態は、既存の技法よりもサンプル効率を高くすることもでき、すなわち、既存の技法よりも速く、より少ないトレーニングデータから学習し得る。これは次に、制約を受けるタスクを学習するために必要な計算要件およびメモリ要件を低減することができる。また、タスクを実行するためのポリシーのパレートフロントが凹型である場合など、他の手法が不十分にしか学習することができないか、またはまったく学習することができない制約付きタスクを、方法およびシステムが実行することを学習することを可能にする可能性がある。
【0009】
説明するシステムは、報酬とコストが相反する場合にタスクを実行することを学習することができる。制約が満たされることが困難であればあるほど、タスクを実行し、報酬を取得することとより矛盾することになる。いくつかの既存の手法は、制約を満たすための探索を妨げ、したがって、最適ではないタスクパフォーマンスにしか到達しない。説明するシステムは、様々な選好設定に対する行動選択ポリシーに対するアンサンブルを効率的に維持し、これは、局所最適にはまり込む可能性を減らし、よりよい探索を可能にする。システムは、後述するように、使用される適合関数に応じて、様々な異なる種類の制約に対応することができる。
【0010】
説明するシステムは、柔軟であり、ある範囲の制約を満たす行動選択ポリシーを見つけることができる。したがって、システムは、選好設定の分布にわたって単一の行動選択ポリシーを学習することができ、同時に、制約を満たす選好の分布を学習することができる。これは、どの特定の行動選択ポリシーを使用するかについてのユーザの決定を通知するのにも役立つことができる。
【0011】
システムの実装形態は、現実世界のロボットまたは他の機械的エージェントによって実行されるタスクに特に有用であり、そのようなタスクは、特定の制約を満たす行動選択ポリシーをしばしば必要とするためである。環境と繰り返し相互作用する結果としての摩耗および損傷、ならびに機械的故障のリスクも低減し得る。
【0012】
説明する技法の実装形態は、いかなる特定の強化学習アルゴリズムにも限定されず、様々な異なる強化学習アルゴリズムに適用されることが可能である。技法は、1つもしくは複数の制約を受ける単一のタスクを学習するために使用され得、複数の異なる制約を受ける複数のタスクを学習するために使用されることが可能である。
【0013】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の説明において記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0014】
【
図2】行動選択システムの特定の例の詳細を示す図である。
【
図3】行動選択システムをトレーニングするための例示的なプロセスのフロー図である。
【
図4】行動選択ポリシーニューラルネットワークのパラメータを更新する例示的なプロセスのフロー図である。
【発明を実施するための形態】
【0015】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0016】
図1は、1つまたは複数の場所における1つまたは複数のコンピュータ上で1つまたは複数のコンピュータプログラムとして実装され得る行動選択システム100の一例を示す。行動選択システム100は、強化学習技法を使用して、1つまたは複数のタスクを実行するために環境と相互作用するエージェントを制御するために使用される。
【0017】
行動選択システム100は、環境の状態を特徴付ける環境からのデータ、例えば、環境の1つまたは複数のセンサからのデータを受信するための1つまたは複数の入力を有する。環境の状態を特徴付けるデータは、本明細書では観測値106と呼ばれる。
【0018】
環境からのデータは、タスク報酬を含むこともできる。一般に、タスク報酬108は、タスク目標に向かうエージェントの進行を特徴付けるスカラー数値によって表され、環境内の任意のイベントまたは環境の態様に基づくことができる。タスク報酬は、例えば、タスクの正常な完了を示すために、タスクが進行するに連れて、またはタスクの終了時にのみ受信され得る。
【0019】
環境からのデータは、1つまたは複数のタスクコスト110、例えば、行動を実行するためのエネルギーコスト、またはエージェントとオブジェクトとの衝突によって発生するコストを含むこともできる。本明細書で使用される場合、コストは、負の報酬と等価である。
【0020】
以下でさらに説明するように、行動選択システム100は、1つまたは複数のそれぞれのコストに対する1つまたは複数の制約に従って1つまたは複数のタスクを実行するように構成される。制約は、コストが制約されるべきしきい値または制限を提供する値であり得る。一般に、説明するシステムおよび方法の実装形態は、コストを制約内に維持しながら報酬を最大化するようにエージェントを制御することを目的とする。
【0021】
行動選択システム100は、環境104におけるエージェントの行動を制御するためにエージェント102に制御信号を提供する出力も有する。一般に、エージェントが行動を実行すると、環境は、現在の状態から新しい状態に遷移し、エージェント102を環境104内で繰り返し行動させることによって、行動選択システム100は、タスクを実行するようにエージェント102を制御することができる。エージェントの行動は、可能な行動のセットから選択された離散的な行動、または連続的な行動、すなわち、モータトルクなどの連続変数によって定義される行動であり得る。行動選択システム100は、環境の状態の観測値と、報酬と、コストとを受け取り、エージェントにタスクを実行させるために制御信号をエージェントに提供するためにこれらを処理する。
【0022】
より詳細には、行動選択システム100は、タスクを実行するための複数の時間ステップの各々においてエージェント102によって実行されるべき行動112を選択する。各時間ステップにおいて、行動選択システム100は、観測値106、例えば、環境の画像を受信し、受信した観測値に応答してエージェント114によって実行されるべき行動112を選択する。各時間ステップにおいて、観測値によって特徴付けられるその時間ステップにおける環境の状態は、前の時間ステップにおける環境の状態と、前の時間ステップにおいてエージェントによって実行された行動とに依存する。各時間ステップにおいて、行動選択システム100は、環境の現在の状態と、時間ステップにおけるエージェントの行動とに基づいて、報酬108および/またはコスト110を受け取ることができる。行動選択システム100は、受け取った報酬およびコストを使用してトレーニングされる。
【0023】
例えば、エージェントは、例えば、環境内を移動するか、または環境内のオブジェクトを物理的に操作することによって、現実世界の環境と相互作用するロボットエージェントであり得る。その場合、観測値は、例えば、1つまたは複数の画像またはセンサデータとして、エージェントの関節または他の部分の位置または運動の状態の観測値と、環境内の1つまたは複数のオブジェクトの位置または運動の状態に関する観測値とを含み得る。行動選択システム100は、行動を実行するように、例えば、エージェントおよび/またはエージェントの一部を移動させるようにエージェントを制御するための制御信号を提供する。報酬は、タスクの完了または完了に向けた進行を表し得、コストは、例えば、エージェントのエネルギー消費もしくは摩耗、または制約されるべきタイプの環境とエージェントとの相互作用を表し得る。行動が実行された後、次の観測値は、環境のその後の状態、すなわち行動の効果を特徴付ける。
【0024】
行動選択システム100は、行動選択ポリシーに従って観測値106に応答して行動112を選択するための、複数の行動選択ポリシーニューラルネットワークパラメータを有する行動選択ポリシーニューラルネットワーク120を備える。行動選択ポリシーニューラルネットワークは、選好設定132のベクトルを含む選好ベクトル入力に条件付けられ、すなわち、選好ベクトル入力に依存して出力を生成し、各選好設定は、他に対する報酬またはコストのうちの1つの相対的優先度、すなわち目標目的の対応するセットの相対的優先度を定義する。
【0025】
1つまたは複数の報酬108の各々および1つまたは複数のコスト110の各々は、対応する目標目的を有する。目標目的は、例えば、それぞれのQ値によって表される、エージェントが複数の時間ステップにわたって環境と相互作用する際に受け取られる報酬またはコストの推定累積測定値に関連するか、またはそれを含み得る。累積測定値は、期待リターンと呼ばれる場合がある。報酬について、目標目的は、期待リターンを最大化することであり得る。コストについて、目標目的は、同様に、負の報酬に対する期待リターンを最大化すること、すなわち推定累積コストを最小化することであり得る。
【0026】
行動選択システム100は、複数の選好ニューラルネットワークパラメータを有する選好ニューラルネットワーク130も備える。選好ニューラルネットワーク130は、例えば、分布からサンプリングすることによって選好設定132のベクトルを生成するための選好分布を定義する。いくつかの実装形態において、選好ニューラルネットワーク130はまた、
図1の破線によって示されるように、環境の状態、すなわち状態の観測値に条件付けられ得る。
【0027】
各時間ステップにおいて、行動選択システム100は、行動選択ポリシーニューラルネットワーク120の出力を使用してエージェント102によって実行されるべき行動112を選択する。これは、多くの方法において行われ得る。例えば、出力は、行動を直接定義し得、例えば、トルクもしくは速度などの行動に関する連続値を定義するために使用される値を含み得、または行動を定義する値が選択され得る連続分布もしくはカテゴリ分布を定義し得、または可能な行動のセットのうちの各行動に対して1つずつ、行動を選択する際に使用するためのスコアのセットを定義し得る。
【0028】
各時間ステップにおいて、行動選択ポリシーニューラルネットワーク120は、観測値106からのデータと、例えば、時間ステップにおける選好設定のベクトルをサンプリングして、選好ニューラルネットワーク130の出力によって定義される分布からサンプリングされた選好設定132のベクトルを受信して処理する。オプションで、選好設定の同じサンプリングされたベクトルは、複数の時間ステップにおいて使用され得る。行動選択ポリシーニューラルネットワーク120の出力は、エージェントによって実行され、1つまたは複数の報酬と1つまたは複数のコストとを受け取る行動を選択するために使用される。1つまたは複数の報酬は、行動に応答して環境から受け取られる。1つまたは複数のコストは、環境から受け取られ得、または行動に基づいて、例えば、エネルギー消費の近似値とみなされ得る行動を定義するベクトルの負のL2ノルムから決定され得る。いくつかの、潜在的には多くの時間ステップにおいて、報酬またはコストは、ゼロまたはヌルであり得る。
【0029】
行動選択システム100は、システムをトレーニングするように構成されたトレーニングエンジン140を含む。システムをトレーニングすることは、特に、選好設定のベクトルによって定義される選好(優先度)に従って目標目的のセットを共同で最適化するために、選好ニューラルネットワークパラメータを固定し、行動選択ポリシーニューラルネットワークパラメータを調整することを含む。トレーニングすることは、1つまたは複数の制約の各々が1つまたは複数のそれぞれのコストによって満たされるかどうかに応じて制約目的を最適化するために、行動選択ポリシーニューラルネットワークパラメータを固定し、選好ニューラルネットワークパラメータを調整することをさらに含む。実装形態において、制約目的は、1つまたは複数の制約が満たされる程度を表し、1つまたは複数の適合値によって定義され得る。
【0030】
したがって、システムの実装形態は、行動選択システム100、特に行動選択ポリシーニューラルネットワーク120を、選好設定のベクトルによって定義された目標目的の相対的優先度に基づいて最適な行動選択ポリシーに向かわせるために、目標目的のセットを共同で最適化する。次いで、これらの選好は、現在の行動選択ポリシーが固定された制約に基づいて適応される。したがって、システムは、行動選択ポリシーを改善することと、目標目的選好ポリシーを改善することとを交互に繰り返し、最適で制約を満たす行動選択ポリシーに反復的に収束することができる。
【0031】
いくつかの実装形態において、トレーニングステップは、交互に行われ、行動選択ポリシーニューラルネットワーク120をトレーニングするために1つのステップを取り、次いで、選好ニューラルネットワーク130をトレーニングするために1つのステップを取るが、一般に、トレーニング時間スケールは、異なる場合がある。例えば、行動選択ポリシーニューラルネットワーク120は、初期選好分布に基づいてなんらかの最適性条件が満たされるまでトレーニングされ得、次いで、選好ニューラルネットワーク130は、選好分布の最適性条件が満たされるまでトレーニングされ得る。一般に、トレーニングステップごとに複数の行動選択時間ステップが存在する。
【0032】
選好条件付き行動選択ポリシーをトレーニングすることができる任意の多目的強化学習プロセスが、行動選択ポリシーニューラルネットワーク120をトレーニングするために使用され得る。同様に、任意の単目的または多目的強化学習プロセスが、選好ニューラルネットワーク130をトレーニングするために使用され得る。単目的強化学習プロセスが使用され、例えば、複数のそれぞれの適合値によって定義される複数の制約が存在する場合、制約は、組み合わされ得、例えば、適合値は、組み合わされた適合値を取得するために、合計され得る。
【0033】
システムの実装形態は、制約を満たす最適な行動選択ポリシーがパレート最適であるという認識に基づく。パレートフロントは、パレート最適ポリシーのセットによって定義され得る。パレート最適ポリシーは、行動選択ポリシーの1つの目標目的からのリターンが、別の目標目的からのリターンを減らすことなく、例えば、コスト(負のリターン)を増やすことなく改善されることが不可能な行動選択ポリシーとして定義され得る。無制約多目的強化学習では、単一の最適ポリシーが存在せず、パレートフロントを定義するセットが存在する。
【0034】
直感に反して、制約目的に従って直接最適化しようとするのではなく、システムの実装形態は、パレートフロントを学習するため、および順次にまたは同時に解決されるべき別の問題として、制約を満たす可能性が高いパレートフロントの一部を識別するために、多目的強化学習を使用する。これは、(パレートフロントの定義と矛盾する、より高いリターンを有する別の制約を満たすポリシーが存在しないかのように)最適な制約を満たす行動選択ポリシーがパレートフロントにあるという認識に基づく。したがって、システムの実装形態は、実際には、リターンを最大化する制約を満たす行動選択ポリシーを見つけるために、パレートフロントに沿って探索する。
【0035】
したがって、トレーニングの効果は、目標目的のセットがパレートフロントに向かって最適化されるように、行動選択ポリシーニューラルネットワークパラメータが調整されること、および目標目的のセットが、制約が満たされるパレートフロントの領域、すなわち選好分布によって定義される領域に向かって最適化されるように、選好ニューラルネットワークパラメータが調整されることである。
【0036】
実装形態において、制約目的は、1つまたは複数の制約の各々についてそれぞれの制約フィッティング関数の値を決定することによって定義される。制約目的に対する制約フィッティング関数の値は、本明細書では適合値とも呼ばれる。適合値は、選好設定のベクトルに依存し、(現在の行動選択ポリシーニューラルネットワークパラメータが与えられた場合)それぞれの制約がそれぞれのコストによって満たされるかどうかを評価する。
【0037】
図2は、行動選択システム100の特定の例の詳細を示す。システムは、行動選択ポリシーニューラルネットワーク120によって実装される選好条件付き行動選択ポリシーをトレーニングするための多目的強化学習プロセスを実装するように構成される。
【0038】
図2の行動選択システム100は、各時間ステップにおいてエージェントが環境と相互作用する結果として生成される遷移、すなわち観測-行動-報酬軌道を記憶する再生バッファ150を維持する。各遷移は、現在の観測値と、観測値に応答してエージェントによって実行される行動と、環境の次の状態を特徴付ける次の観測値とを定義するタプルと、エージェントが現在の行動を実行することに応答して受け取られる報酬と、対応するコストとを含む。しかしながら、いくつかの他の実装形態において、学習は、オンラインで実行され得、再生バッファは、省略され得る。
【0039】
システムはまた、目標目的ごとに1つ、すなわち、1つまたは複数の報酬108の各々について1つ、および1つまたは複数のコスト110の各々について1つ、Q値ニューラルネットワーク160のセットを維持する。実際には、Q値ニューラルネットワーク160は、複数の頭部を有する共通のニューラルネットワーク胴体として実装され得る。各Q値ニューラルネットワークは、複数のQ値ニューラルネットワークパラメータを有し、行動に対する行動値スコアを定義するためのQ値出力を生成するために、行動と、観測値と、選好設定のベクトルとを含む入力を処理するように構成される。Q値出力は、行動値スコアを直接定義し得るか、または行動値スコアが引き出される分布、例えば、対角共分散行列を有する、例えば、ガウス分布をパラメータ化し得る。
【0040】
Q値ニューラルネットワークは、再生バッファ150内の遷移を使用してトレーニングされ得る。実装形態において、選好設定のベクトルは、再生バッファ内に記憶されず、このベクトルの値が各遷移に追加される。これは、遷移ごとに、現在の選好ニューラルネットワークパラメータを使用して、選好ニューラルネットワーク130の出力によって定義される選好分布からサンプリングすることによって行われ得る。記憶された遷移のそのような後知恵の再ラベル付けは、トレーニングを安定させ、サンプル効率を改善するのに役立つことができる。
【0041】
Q値ニューラルネットワークは、任意のQ学習技法を使用してトレーニングされ得る。例えば、分布Q値およびNステップ、例えば5ステップのリターンでは、arXiv:1804.08617(D4PG)に記載の手法が使用され得る。一般に、現在のパラメータのセットを有する現在のバージョンと、以前のパラメータのセットを有する目標バージョンの、Q値ニューラルネットワークの2つのバージョンが維持され、Q値ニューラルネットワークは、目標バージョンを使用して計算された時間差誤差に基づいてトレーニングされる。以前のパラメータのセットは、現在のパラメータのセットに定期的に置き換えられる。
【0042】
実装形態において、システムは、制約によって制約されるコストの目標目的に対応するQ値ニューラルネットワークのQ値出力から、制約に対する制約フィッティング関数の適合値を決定するように構成される。Q値出力は、選好設定のベクトルに依存する。いくつかの実装形態において、これは、例えば、エージェントがタスクを実行しようとする間のタスクエピソードの開始時に、選好ニューラルネットワーク130の出力によって定義される選好分布から取得され得る(そして、適合値は、状態に対する期待値である)。いくつかの他の実装形態において、選好ニューラルネットワーク130は、環境の状態、すなわち観測値に条件付けられ、次いで、選好設定のベクトルは、各時間ステップにおいてサンプリングされ得る。
【0043】
前述のように、制約目的は、1つまたは複数の制約が満たされる程度を表し、1つまたは複数の適合値によって定義され得、すなわち1つまたは複数の適合値を使用して決定され得る。1つまたは複数の適合値を最適化、例えば、最大化するように選好ニューラルネットワーク130をトレーニングするために、任意の単目的または多目的強化学習プロセスが使用され得る。例えば、制約目的が、制約ごとに1つ、目的のセットを含む場合、多目的強化学習技法、例えば、MO-MPO(arXiv:2005.07513)が使用され得る。オプションで、選好ニューラルネットワークパラメータは、信頼領域、すなわち、選好分布が変化することができる程度の境界に従って調整され得る。
【0044】
特定の例において、k番目のコストに対する等式制約Ckに対する制約フィッティング関数、または適合関数
【0045】
【0046】
の値は、
【0047】
【0048】
を評価することによって決定され、ここで、εは、選好のベクトルであり、sは、再生バッファ150からサンプリングされた遷移における状態(すなわち、観測値)であり、
【0049】
【0050】
は、k番目のコストに対するQ値ニューラルネットワークによって定義されるQ値である。
【0051】
【0052】
は、行動選択ポリシーニューラルネットワーク120によって選択された行動を引き継ぐ期待値を示す。実際には、期待値
【0053】
【0054】
は、行動選択ポリシーニューラルネットワーク120を使用して、すなわちπold(a|s,ε)に従って、状態sに対してM個、例えば20個の行動をサンプリングすることによって評価され得る。選好の新しいベクトルは、行動aごとにサンプリングされ得る。適合関数
【0055】
【0056】
は、再生バッファからサンプリングされた1つまたは複数の状態sから確率論的に評価され得、すなわち、観測値および行動にわたって平均化され得る。等式適合関数
【0057】
【0058】
は、k番目のコストがckから離れるほど、等式適合関数の値が低くなるように、負である。したがって、この適合関数は、コスト(目標目的)が制約値に等しいときに最大値を有する。
【0059】
ここで、一般的に、本明細書において、上付き文字および下付き文字のoldは、ニューラルネットワークパラメータのセットの現在の値を示す。後のnewは、古いセットを更新することによって取得されるニューラルネットワークパラメータのセットの新しい値を示す。
【0060】
【0061】
は、πold(a|s,ε)を評価する現在のトレーニング済みQ値ニューラルネットワークパラメータ、またはQ値ニューラルネットワークをトレーニングする間に使用された「以前のパラメータのセット」のいずれかを指し得る。
【0062】
別の特定の例において、k番目のコストに対する不等式制約ckに対する制約フィッティング関数、または適合関数
【0063】
【0064】
の値は、
【0065】
【0066】
を評価することによって決定され、ここで再び、
【0067】
【0068】
は、再生バッファからサンプリングされた1つまたは複数の現在の状態s、すなわち観測値から確率論的に評価され得る。この不等式制約は、Q値がckによって定義されたしきい値を下回る量にペナルティを科し、すなわち、Q値がしきい値から離れるほど、より負になる値を定義する。制約ckは、一般性を失うことなく、下限として表現されることが可能である。
【0069】
他のタイプの制約に対して、他のタイプの適合関数が使用されることが可能である。例えば、選好ニューラルネットワークが観測値からのデータを処理し、したがって、選好分布が観測に依存する場合、制約は、観測値、すなわち時間ステップにおける環境の状態に依存し得る。一般に、制約目的は、選好設定のベクトルに依存する制約フィッティング関数を、選好ニューラルネットワークによって定義された選好分布にわたって積分することによって取得され得る。
【0070】
Q値は、観測値によって特徴付けられる状態において行動を起こし、その後、行動選択ポリシーニューラルネットワークパラメータの現在の値によって定義される行動選択ポリシーに従って行動するための値、または期待リターンとして定義され得る。上記で説明したQ値は、選好設定のベクトルにも依存する。上記で説明したように、システムの実装形態において、制約フィッティング関数の値、すなわち適合値は、制約によって制約されるコストの目標目的に対するQ値ニューラルネットワークのQ値出力と、制約に対する制約値との間の差に依存する。
【0071】
実装形態において、制約値は、予想されるエピソードごとのコストに基づいて定義され得る。また、または代わりに、例えば、真の制約が正確に知られていない場合、行動選択ポリシーを選択するために、異なる制約値の範囲について、エピソードごとの累積コストに対して平均のエピソードごとのタスク報酬がプロットされ得る。
【0072】
行動選択システム100は、選好ニューラルネットワークパラメータが固定されている間、選好ニューラルネットワーク130によって定義された選好分布から選好設定のベクトルをサンプリングするように構成される。トレーニング中、行動選択ポリシーニューラルネットワークパラメータは、サンプリングされた選好設定のベクトルによって設定される、対応する報酬または制約の相対的優先度によって定義されるものの間の相対的選好に従って、目標目的のセットを共同で最適化するように調整される。
【0073】
図2は、多目的強化学習を使用して選好条件付き行動選択ポリシーをトレーニングするように構成された行動選択システム100の例示的な実装形態を示す。
図2のシステムは、ポリシー評価ステップと、ポリシー改善ステップとを含む2ステッププロセスを実装するように構成される。この例において、ポリシー評価ステップは、π
old(ε)およびπ
old(a|s,ε)によって定義された現在の行動選択ポリシーを評価するために、目標目的ごとに別個のQ関数をトレーニングすることを含む。ポリシー改善ステップは、目標目的ごとに、改善された行動選択ポリシー180を見つけることと、次いで、教師あり学習を使用して、これらのポリシーを新しい選好条件付き行動選択ポリシーに蒸留することとを含む。
【0074】
実装形態において、目的に対する改善された行動選択分布を見つけることは、選好設定のベクトルに条件付けられた目的に関する温度関数を維持することを含む。したがって、システムは、選好設定のベクトルに条件付けられた1つまたは複数の温度ニューラルネットワーク170を維持する。実装形態において、単一の温度ニューラルネットワーク170が維持され、選好設定のベクトルに条件付けられ、すべての目標目的について共有されたパラメータを有する。
【0075】
図2の行動選択システム100は、パレートフロント全体が共通の行動選択ポリシーによって表現されることを可能にし、したがって、行動選択ポリシーが制約を満たすパレートフロントの領域に収束することを容易にする。
【0076】
図3は、1つまたは複数のそれぞれのコストに対する1つまたは複数の制約に従ってタスクを実行するようにエージェントを制御するように
図1の行動選択システム100をトレーニングするための例示的なプロセスのフロー図である。
【0077】
いくつかの実装形態において、行動選択システム100は、複数の時間ステップの各々について使用される選好ニューラルネットワークによって定義された選好分布から選好設定のベクトルをサンプリングする(300)。次いで、システムは、現在の時間ステップについて環境から観測値を受信し(302)、次いで、観測値および選好設定のベクトルは、行動選択ポリシーニューラルネットワークに提供される(304)。行動選択ポリシーニューラルネットワークの出力は、1つまたは複数の報酬および1つまたは複数のコストを取得したことに応答して、エージェントによって実行されるべき行動を選択するために使用される(306)。いくつかの実装形態において、コストは、環境から取得するのではなく、例えば、選択された行動から、行動選択システムによって内部的に部分的または完全に決定され得る。行動選択システムはまた、行動が実行された後の環境の次の状態を特徴付ける次の観測値を取得する(308)。次いで、前述のように、経験タプルが再生バッファ150内に記憶される(310)。
【0078】
これらのステップは、行動選択システムをトレーニングするための経験を収集するために、複数の時間ステップの各々について実行される。例えば、ステップは、エージェントがタスクを実行しようとしている間のタスクエピソードに対して実行され得る。いくつかの実装形態において、複数のアクターシステムが、各々、行動選択システムのパラメータのコピーを間隔をおいて取得し、各々、再生バッファ内に記憶される遷移を生成するために、それぞれのエージェントを(非同期に)制御する。
【0079】
次いで、プロセスは、選好ニューラルネットワーク130によって定義された現在の選好分布、すなわち目標目的の相対的優先度が与えられると、目標目的のセットを共同で最適化するために、行動選択ポリシーニューラルネットワークパラメータを更新する(312)。いくつかの実装形態において、以下で説明するように、プロセスは、目的に関するQ値を最大化することによって、各目的に関する改善された選好条件付き行動選択分布を決定し、次いで、改善された行動選択ポリシーを取得するために行動選択ポリシーニューラルネットワークパラメータを更新するためにこれらを組み合わせる。
【0080】
次いで、各制約に対する適合関数(制約フィッティング関数)の値が決定される(314)。実装形態において、適合関数の値を決定することは、再生バッファ150から状態をサンプリングすることと、これらの各々について、現在の行動選択ポリシーに従って行動選択ニューラルネットワークから行動のセットをサンプリングすることと、各状態-行動の組合せについて、現在の選好分布から選好設定のベクトルをサンプリングすることとを含む。次いで、適合関数は、前述のように評価され得る。サンプリングへの他の手法が使用され得る。
【0081】
次いで、プロセスは、適合関数値を最大化するために、任意の強化学習技法を使用して、選好ニューラルネットワークのパラメータを更新するために適合関数の値を使用する(316)。
【0082】
ステップ312および314~316のトレーニングプロセスは、いずれかの順序において実行され得る。
図3のステップは、例えば、一定数の反復について、またはシステムが制約を満たしながらタスクを満足に実行することを学習するまで繰り返され得る。
【0083】
図4は、目標目的のセットを共同で最適化するために行動選択ポリシーニューラルネットワークパラメータを更新するための例示的なプロセスのフロー図である。このプロセスは、ポリシー評価ステップおよびポリシー改善ステップの2つの主要なステップを有する。ポリシー評価ステップは、目標目的ごとに別々のQ値ニューラルネットワークを維持することを含む。ポリシー改善ステップは、行動選択ポリシーニューラルネットワークによって定義された選好条件付き行動選択ポリシーを改善するために、各目標目的に対してQ値ニューラルネットワークを使用することを含む。
【0084】
プロセスは、再生バッファ150から遷移のセットをサンプリングする(400)。目標目的kに対するQ値ニューラルネットワークは、選好設定のベクトルに条件付けられたQ値Qk(s,a,ε)を生成する。したがって、各遷移は、選好ニューラルネットワーク130によって定義された現在の選好分布からサンプリングされた選好設定のベクトルを用いて増強される(402)。したがって、各遷移iは、観測値または状態siと、選好設定のベクトルεiと、報酬/コスト
【0085】
【0086】
のセット(ここで、コストは、負の報酬である)と、行動aiと、次の観測値または状態
【0087】
【0088】
とを含む。例示的な実装形態において、(K+1)個の報酬/コスト、報酬r0、およびK個の制約付き報酬(コスト)が存在し、したがって、(K+1)個のQ値ニューラルネットワークも存在する。
【0089】
プロセスは、サンプリングされた遷移を使用して(K+1)個のQ値ニューラルネットワーク160をトレーニングし、より具体的には、サンプリングされた遷移内のk番目の報酬/コスト
【0090】
【0091】
を使用してk番目のQ値ニューラルネットワークをトレーニングする(404)。実装形態において、トレーニングすることは、Q値ニューラルネットワークのQ値出力とそれぞれのQ値目標との間の差の測定値に応じてQ学習目的を最適化するために、各Q値ニューラルネットワークのQ値ニューラルネットワークパラメータを調整することを含む。いくつかの実装形態において、Q値ニューラルネットワークは、各々、リターンに対する分布を定義し得る。Q値目標は、学習を安定させるために、以前の、すなわちそれ以前のパラメータのセットを有するQ値ニューラルネットワークのバージョンによって定義され得る。それぞれのQ値目標は、行動選択ポリシーニューラルネットワークパラメータの現在の値によって定義される行動選択ポリシーに従って、すなわちそれによって選択された行動を使用して決定され得る。すなわち、Q値ニューラルネットワークは、現在の選好条件付き行動選択ポリシーπold(a|s,ε)を評価するQ値
【0092】
【0093】
を生成し得る。次いで、行動選択ポリシーニューラルネットワークパラメータは、以下でさらに説明するように、各Q値ニューラルネットワークのQ値出力を使用して調整され得る。
【0094】
実装形態において、ポリシー改善ステップは、最初に、特に、各目標目的について改善された行動分布qk(a|e,ε)、すなわち目標目的に関するQ値を改善する行動分布を計算することによって、それぞれの目標目的を最適化するために各Q値ニューラルネットワークのQ値出力を使用することを含む(406)。これは、目標目的に対する改善された行動選択ポリシーと呼ばれる場合があり、観測値(状態)sと、現在の選好分布からの選好設定εのベクトルとに条件付けられる。
【0095】
目標目的に対する改善された行動分布qk(a|e,ε)を計算することは、目標目的
【0096】
【0097】
に対するQ値ニューラルネットワークからのQ値出力に依存する目標目的に関するポリシー改善係数によって、現在の行動選択ポリシーニューラルネットワークの出力πold(a|s,ε)をスケーリングすることを含み得る。
【0098】
ポリシー改善係数は、行動確率に対する重みとみなされ得る。実装形態において、目標目的に対するポリシー改善係数は、温度ニューラルネットワーク170によって生成される選好依存温度パラメータに依存する。例えば、温度ニューラルネットワーク170は、出力η(ε)を生成し得、η(εk)で示されるこの出力のk番目の成分は、k番目の目標目的のための温度パラメータとして使用され得る。
【0099】
実装形態において、ポリシー改善係数は、目標目的に対するQ値出力
【0100】
【0101】
と温度パラメータη(εk)との比率の指数係数を含む。温度パラメータは、ポリシー改善係数に寄与する行動の多様性を制御するものとみなされ得、いくつかの実装形態においては単に例示のために、1~10のオーダの値を有し得る。例えば、いくつかの実装形態において、改善された行動分布は、
【0102】
【0103】
に従って決定される。これは、qk(a|e,ε)とπold(a|s,ε)との間のKL発散の状態に対する期待値が、選好設定のベクトルのk番目の成分εkより少なくなるように制約する。
【0104】
各温度パラメータη(εk)の値が、温度ニューラルネットワーク170によって生成される。いくつかの実装形態において、各目標目的に対する選好依存温度パラメータを生成するために、個別のニューラルネットワークが維持され得る。温度パラメータは、温度ニューラルネットワーク170の温度目的関数を最適化、例えば、最小化することによって取得され得る。
【0105】
実装形態において、温度目的関数は、各目標目的について、選好分布からサンプリングされた選好設定に対して平均化された目標目的に対するQ値ニューラルネットワークからのQ値出力
【0106】
【0107】
と、環境から受け取った観測値と、現在の行動選択ポリシーからサンプリングされた観測値に対する行動とに依存する。平均化は、再生バッファ150からサンプルを引き出すことによって実行される。
【0108】
1つの特定の例において、プロセスは、再生バッファ150からL個、例えば、20個の観測値(状態)をサンプリングし、各観測値Siについて、i)選好ニューラルネットワークパラメータπold(ε)の現在の値によって定義された選好分布からの選好設定εiのベクトルと、ii)選好設定のサンプリングされたベクトルに条件付けられた現在の行動選択ポリシーπold(a|si,εi)からのM個の行動aijのセットとをサンプリングする。次いで、プロセスは、行動の各々について、選好設定のサンプリングされたベクトルに条件付けられた、各目標目的kに関するQ値
【0109】
【0110】
を決定する。次いで、プロセスは、
【0111】
【0112】
のような例示的な温度目的関数に従って温度ニューラルネットワーク170のパラメータωに対する更新δωを決定し得、ここで、[k]は、温度ニューラルネットワーク170から出力される温度パラメータの成分にインデックスを付ける(ωに対する依存性が明示的に示される)。
【0113】
プロセスは、任意の勾配ベースのオプティマイザを使用して、δωに基づいて1つまたは複数の勾配降下ステップを実行することによって、温度ニューラルネットワークの現在のパラメータωを更新する。温度ニューラルネットワークのパラメータは、改善された行動分布を決定する前または後に更新され得る。
【0114】
次いで、改善された行動分布を使用して、ポリシー改善ステップが実行される(408)。大まかに言うと、改善された行動分布は、行動選択ポリシーニューラルネットワークパラメータを更新することによって、新しい選好条件付き行動選択ポリシーに蒸留される。より具体的には、行動選択ポリシーニューラルネットワークパラメータは、行動選択ポリシーニューラルネットワークの現在のパラメータによって定義された現在の行動選択ポリシーと、各目標目的に関する改善された行動ポリシー(改善された行動分布)との間の差の測定値に応じて、組み合わされたポリシー改善目標を最適化するように調整される。
【0115】
実装形態において、現在の行動選択ポリシー、および各目標目的に関する改善された行動ポリシーは、各々、観測値および選好設定に依存する行動の分布を定義する。したがって、現在の行動選択ポリシーの分布と、改善された行動分布のうちの1つとの間の差の各測定値は、2つの分布の間の差の測定値、例えば、KL(カルバック-ライブラー)発散または他の測定値であり得る。差の測定値は、選好分布にわたって、および/または状態訪問にわたって、例えば、再生バッファからサンプリングされた観測値にわたって平均化され得る。行動選択ポリシーニューラルネットワークパラメータは、2つの分布間の差を制約する信頼領域境界に従って調整され得る。
【0116】
前の特定の例を続けると、プロセスは、
【0117】
【0118】
のように、KL発散に基づく例示的な組み合わされたポリシー改善目標に従って、行動選択ニューラルネットワーク120の現在のパラメータθに対する更新δθを決定し得、ここで、
【0119】
【0120】
である。次いで、行動選択ニューラルネットワーク120のパラメータθは、任意の勾配ベースのオプティマイザを使用して、δθに基づいて1つまたは複数の勾配降下ステップを実行することによって更新され得る。
【0121】
いくつかの実装形態において、更新は、学習を安定させるのを助けるために、現在の行動選択ポリシーニューラルネットワークによって定義された行動分布と、更新された行動選択ポリシーニューラルネットワークによって定義された行動分布との間の差を制約する信頼領域境界に従う。例えば、更新は、KL(πold(a|s,ε)|π(a|s,ε)<βに従い得、ここで、β>0、例えば、β=10-3である。そのような条件に従う更新は、例えば、arXiv:2005.07513に記載されているように、ラグランジュ乗算法を使用して実装され得る。
【0122】
前述のように、1つまたは複数の適合値を最大化するために、選好ニューラルネットワークのパラメータψを更新するために、任意の強化学習プロセスが使用され得る。1つの特定の実装形態において、例えば、arXiv:2005.07513に記載されているように、MO-MPO(多目的最大事後ポリシー最適化(Multi-Objective Maximum a Posteriori Policy Optimization))技法が使用される。
【0123】
これは、K個の適合関数の各々について、それぞれの適合関数温度変数φkおよび選好分布KL境界αkを維持することを含み、ここで、例えば、適合関数の各々について、αk=0.1である。各適合関数k=1,...,Kに関する1つの例示的な実装形態において、選好設定のベクトルεiのM個のサンプルが、選好ニューラルネットワークパラメータπold(ε)の現在の値によって定義された選好分布から引き出され、適合関数fkのφkに対する更新
【0124】
【0125】
は、
【0126】
【0127】
のように決定され得る。
【0128】
次いで、各適合関数温度変数φkの現在の値は、任意の便利なオプティマイザを使用して、
【0129】
【0130】
に基づいて勾配降下のいくつかのステップを実行することによって更新され得る。次いで、プロセスは、値
【0131】
【0132】
を決定し、
【0133】
【0134】
のように、選好ニューラルネットワークのパラメータψに対する更新δψを決定し得る。
【0135】
いくつかの実装形態において、更新は、例えば、行動選択ポリシーについて上記で説明したものと同様に、更新された選好分布と現在の選好分布との間の差を制約する追加のKL境界に従う。
【0136】
方法の実装形態は、システムがトレーニングされた後、すなわち展開中に、エージェントの行動を制約する。選好分布からサンプリングされた選好設定のサンプリングされたベクトルが、報酬を最大化するよりもコストを最小化することを優先する可能性が高くなるように、行動選択ポリシーニューラルネットワークが選好分布を初期化することによってトレーニングされている間、行動は、ある程度制約され得る。別の例において、選好ポリシーは、例えば、10-5と0.15との間の100個の離散的な線形間隔の値にわたる均一な分布に初期化され得、またはεk=0.1のデフォルト値が使用され得る。
【0137】
いくつかの実装形態において、再生バッファを使用するのではなく、システムは、Q値の推定値ではなくアドバンテージ値の推定値を使用して、オンラインでトレーニングされ得る(ここで、アドバンテージ値の推定値は、現在の時間ステップにおけるQ値と状態値との間の差の推定値である)。
【0138】
前述のように、実装形態において、環境は、現実世界の環境であり、制約は、タスクを実行するために現実世界において行動するときにエージェントによって負担されるコストに対する制約である。エージェントは、タスクを達成するために環境と相互作用するロボット、または環境中を航行する自律型もしくは半自律型の陸上車両もしくは航空機もしくは水上乗り物などの機械的エージェントであり得る。
【0139】
一般に、観測値は、例えば、画像、オブジェクト位置データ、およびエージェントが環境と相互作用する際の観測値をキャプチャするためのセンサデータのうちの1つまたは複数、例えば、画像、距離、もしくは位置センサからの、またはアクチュエータからのセンサデータを含み得る。ロボットまたは他の機械的エージェントまたは車両の場合、観測値は、エージェントの1つまたは複数の部分の位置、直線速度または角速度、トルクまたは加速度、およびグローバルなまたは相対的な姿勢のうちの1つまたは複数を同様に含み得る。観測値は、1次元、2次元、または3次元において定義され得、絶対観測値および/または相対観測値であり得る。例えば、ロボットの場合、観測値は、ロボットの現在の状態を特徴付けるデータ、例えば、腕などのロボットの一部および/またはロボットによって保持されるアイテムの関節位置、関節速度、関節力、トルクまたは加速度、およびグローバルなまたは相対的な姿勢のうちの1つまたは複数を含み得る。観測値は、例えば、モータ電流もしくは温度信号などの感知された電子信号、および/または例えば、カメラもしくはLIDARセンサからの画像もしくはビデオデータ、例えば、エージェントのセンサからのデータ、もしくは環境内でエージェントから離れて位置するセンサからのデータも含み得る。
【0140】
行動は、機械的エージェント、例えば、ロボットの物理的挙動、例えば、ロボットの関節のトルク、もしくはより高レベルの制御コマンドを制御するため、または自律型もしくは半自律型の陸上車両もしくは航空機もしくは船舶、例えば、車両の制御面もしくは他の制御要素に対するトルク、もしくはより高レベルの制御コマンドを制御するための制御入力を備え得る。言い換えれば、行動は、例えば、ロボットの1つもしくは複数の関節、または別の機械的エージェントの部分に関する位置、速度、または力/トルク/加速度データを含むことができる。行動データは、これらの行動に関するデータ、および/もしくはモータ制御データなどの電子制御データ、またはより一般的には、その制御が環境の観察された状態に対して影響を有する、環境内の1つもしくは複数の電子デバイスを制御するためのデータを含み得る。例えば、自律型または半自律型の陸上車両または航空機または船舶の場合、行動は、ナビゲーション、例えば、操舵、および車両の移動、例えば、制動および/または加速を制御するための行動を含み得る。
【0141】
そのような用途において、報酬および/またはコストは、以下を含むか、または以下に基づいて定義され得る。例えば、ロボットアームが位置もしくは姿勢に到達したことおよび/またはロボットアームの動きを制約したことに対して報酬を与えるための、1つもしくは複数の目標位置、1つもしくは複数の目標姿勢、または1つもしくは複数の目標構成に接近するまたはこれらを達成するための1つまたは複数の報酬またはコスト。報酬またはコストは、オブジェクトまたは壁またはバリアなどのエンティティとの機械的エージェントの一部の衝突に関連付けられ得る。1つまたは複数の報酬またはコストは、前述の観測値のいずれか、例えば、ロボットまたは車両の位置または姿勢に依存する。例えば、ロボットの場合、報酬またはコストは、例えば、運動速度、エンドエフェクタの位置、重心位置、または体の部分のグループの位置および/もしくは向きを制御するために、関節向き(角度)または速さ/速度に依存し得る。報酬またはコストはまた、またはその代わりに、例えば、オブジェクトと相互作用するときのしきい値または最大印加力に依存するアクチュエータもしくはエンドエフェクタによって印加される力、または機械的エージェントの一部によって印加されるトルクに関連付けられ得る。
【0142】
別の例において、報酬またはコストはまた、またはその代わりに、例えば、動きを制約するために、エネルギーまたは電力の使用量、過度の運動速度、1つまたは複数のロボットの本体部分の1つまたは複数の位置に依存し得る。これらのコストの各々について、対応する制約が定義され得る。エージェントの動作範囲(operational envelope)を定義するために、複数の制約が使用され得る。
【0143】
エージェントまたはロボットが自律型または半自律型移動車両を含む場合、同様の報酬およびコストが適用され得る。また、または代わりに、そのようなエージェントまたはロボットは、例えば、距離または時間によって測定される2地点間の短いルートよりも長いルートにペナルティを科すために、例えば、移動時の最大または平均エネルギー使用量、移動速度、移動時のルートを定義するために、例えば、移動するときのエネルギーまたは電力に依存する、車両の物理的な移動に関連する1つまたは複数の報酬またはコストを有し得る。そのようなエージェントもしくはロボットは、例えば、保管された商品、もしくは商品、もしくは商品の一部をそれらの製造中に収集、配置、もしくは移動する、倉庫、物流、もしくは工場の自動化などのタスクを実行するために使用され得、または実行されるタスクは、パッケージ配送制御タスクを含み得る。したがって、報酬またはコストのうちの1つまたは複数は、これらのタスクに関連し得、行動は、操舵または他の方向制御行動に関連する行動を含み得、観測値は、他のエージェント、例えば、他の車両またはロボットの位置または動きの観測値を含み得る。
【0144】
上記で説明した用途において、同じ観測値、行動、報酬、およびコストは、現実世界の環境のシミュレーションにおけるエージェントのシミュレーションに適用され得る。システムがシミュレーションにおいてトレーニングされると、例えば、システム/方法のニューラルネットワークがトレーニングされると、システム/方法は、現実世界の環境において現実世界のエージェントを制御するために使用されることが可能である。すなわち、システム/方法によって生成される制御信号は、現実世界の環境からの観測値に応答して、現実世界の環境においてタスクを実行するように現実世界のエージェントを制御するために使用され得る。オプションで、システム/方法は、現実世界の環境においてトレーニングを続け得る。
【0145】
したがって、場合によっては、システムは、現実世界の環境のシミュレーションにおいて機械的エージェントのシミュレーションを少なくとも部分的に使用してトレーニングされ、その後、シミュレーションの対象であった現実世界の環境内の機械的エージェントを制御するために展開される。そのような場合、シミュレートされた環境における観測値は、現実世界の環境に関連するものとして記述され、シミュレートされた環境における選択された行動は、現実世界の環境において機械的エージェントによって実行されるべき行動に関連するものとして記述される。
【0146】
いくつかの用途において、エージェントは、静的またはモバイルソフトウェアエージェント、すなわち、タスクを実行するために自律的におよび/または他のソフトウェアエージェントもしくは人とともに動作するように構成されたコンピュータプログラムであり得る。例えば、環境は、回路または集積回路ルーティング環境であり得、エージェントは、回路または集積回路、例えば、ASICの相互接続線をルーティングするためのルーティングタスクを実行するように構成され得る。その場合、報酬および/またはコストは、相互接続の長さ、抵抗、静電容量、インピーダンス、損失、速度、または伝播遅延などの1つもしくは複数のルーティングメトリック、ならびに/または幅、厚さ、もしくは幾何学的形状などの物理的な線パラメータ、および設計ルールに依存し得る。報酬および/またはコストはまた、または代わりに、ルーティングされた回路の全体的な特性、例えば、構成要素密度、動作速度、電力消費、材料使用量、冷却要件、電磁放射のレベルなどに関連する1つまたは複数の報酬および/またはコストを含み得る。1つまたは複数のコストに関連して、1つまたは複数の制約が定義され得る。観測値は、例えば、構成要素の位置および相互接続の観測値であり得、行動は、例えば、構成要素の位置もしくは向きを定義するための構成要素配置行動、ならびに/または相互接続ルーティング行動、例えば、相互接続選択および/もしくは配置行動を含み得る。
【0147】
いくつかの用途において、エージェントは、電子エージェントであり得、観測値は、電流センサ、電圧センサ、電力センサ、温度センサ、および他のセンサなどの、工場もしくはサービス施設の一部を監視する1つもしくは複数のセンサからのデータ、ならびに/または機器の電子的および/もしくは機械的アイテムの機能を表す電子信号を含み得る。エージェントは、例えば、データセンタ、サーバファーム、グリッド幹線電力配電システム、もしくは配水システムなどの施設内、または製造工場もしくはサービス施設内の機器のアイテムを含む現実世界の環境における行動を制御し得る。その場合、観測値は、工場または施設の運用に関連し得、例えば、機器による電力もしくは水の使用量の観測値、発電もしくは配電制御の観測値、または資源の使用量もしくは廃棄物の観測値を含み得る。行動は、工場/施設の機器のアイテムに対する動作条件を制御するもしくは課す行動、および/または、例えば、工場/施設の構成要素を調整もしくはオン/オフするために工場/施設の動作における設定の変更をもたらす行動を含み得る。最大化および制約されるべき報酬および/またはコストは、効率の測定値、例えば、資源使用量、環境における動作の環境への影響の測定値、例えば、廃棄物産出量、電力もしくは他の出力またはエネルギー消費、加熱/冷却要件、施設における資源使用量、例えば、水使用量、施設または施設内の機器のアイテムの温度、施設内のアイテムの特徴の数のうちの1つまたは複数を含み得る。
【0148】
いくつかの用途において、環境は、データパケット通信ネットワーク環境であり得、エージェントは、通信ネットワークを介してデータのパケットをルーティングするためのルータを備え得る。行動は、データパケットルーティング行動を含み得、観測値は、例えば、ルーティング経路長、帯域幅、負荷、ホップ数、経路コスト、遅延、最大伝送単位(MTU)、および信頼性のメトリックなどのルーティングメトリックを含むルーティングテーブルの観測値を含み得る。報酬およびコスト/制約は、ルーティングメトリックのうちの1つまたは複数に関連して、すなわちルーティングメトリックのうちの1つまたは複数を最大化または制約するために定義され得る。
【0149】
いくつかの他の用途において、エージェントは、例えば、モバイルデバイス上および/またはデータセンタ内のコンピューティングリソースにわたるタスクの分散を管理するソフトウェアエージェントである。これらの実装形態において、観測値は、計算および/もしくはメモリ容量などのコンピューティングリソース、またはインターネットアクセス可能なリソースの観測値を含み得、行動は、タスクを特定のコンピューティングリソースに割り当てることを含み得る。報酬およびコスト/制約は、コンピューティングリソース、電力、帯域幅、および計算速度のうちの1つまたは複数を最大化または制約することであり得る。
【0150】
いくつかの他の用途において、環境は、インシリコ薬物設計環境、例えば、分子ドッキング環境であり得、エージェントは、薬物の元素または化学構造を決定するためのコンピュータシステムであり得る。薬物は、低分子薬物または生物学的薬物であり得る。観測値は、薬物および薬物の標的のシミュレートされた組合せの観測値であり得る。行動は、薬物および薬物標的の相対的な位置、姿勢、もしくは構造を変更する行動(例えば、これは、自動的に実行され得る)、ならびに/または薬物の化学組成を変更する行動および/もしくは候補のライブラリから候補薬物を選択する行動であり得る。1つまたは複数の報酬またはコストは、薬物と薬物標的との間の相互作用、例えば、薬物と薬物標的との間の適合または結合の測定値、薬物の推定効能、薬物の推定選択性、薬物の推定毒性、薬物の推定薬物動態特性、薬物の推定生物学的利用能、薬物の合成の推定、および薬物の1つまたは複数の基本的な化学的性質のうちの1つまたは複数に基づいて定義され得る。薬物と薬物標的との間の相互作用の測定値は、例えば、タンパク質-リガンド結合、ファンデルワールス相互作用、静電相互作用、および/または接触表面領域もしくはエネルギーに依存し得、例えば、ドッキングスコアを含み得る。コストは、対応する制約を有し得る。シミュレーションにおける薬物の元素または化学構造の同定に続いて、方法は、薬物を製造することをさらに含み得る。薬物は、自動化学合成システムによって部分的または完全に製造され得る。
【0151】
いくつかの他の用途において、環境は、インターネットまたはモバイル通信環境であり、エージェントは、ユーザのための個人化された推奨を管理するソフトウェアエージェントである。観測値は、ユーザによって取られた以前の行動、例えば、それらを特徴付ける特徴を含み得、行動は、コンテンツアイテムなどのアイテムをユーザに推奨する行動を含み得る。報酬およびコスト/制約は、ユーザが(コンテンツ)アイテムを推奨されることに好意的に応答する推定尤度、1つまたは複数の推奨アイテムの適合不適合、推奨アイテムのコスト、およびオプションでは期間内にユーザによって受け取られた推奨事項の数のうちの1つまたは複数を最大化または制約することであり得る。
【0152】
オプションで、上記の実装形態のいずれかにおいて、所与の時間ステップにおける観測値は、環境を特徴付ける際に有用である可能性がある以前の時間ステップからのデータ、例えば、以前の時間ステップにおいて実行された行動を含み得る。
【0153】
本明細書は、システムおよびコンピュータプログラム構成要素に関連して「構成された」という用語を使用する。1つまたは複数のコンピュータのシステムについて、特定の動作または行動を実行するように構成されることは、動作中にシステムに動作または行動を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステムがインストールしていることを意味する。1つまたは複数のコンピュータプログラムについて、特定の動作または行動を実行するように構成されることは、データ処理装置によって実行されると装置に動作または行動を実行させる命令を1つまたは複数のプログラムが含むことを意味する。
【0154】
本明細書に記載の主題および機能動作の実施形態は、デジタル電子回路において、有形に具体化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書において開示された構造およびそれらの構造的等価物を含むコンピュータハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装することができる。本明細書に記載の主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するための、有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せとすることができる。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために適切なレシーバ装置への送信のための情報を符号化するために生成された、人工的に生成された伝搬信号、例えば、機械生成された電気信号、光信号、または電磁信号上に符号化することができる。
【0155】
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)とすることができ、またはそれらをさらに含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードをオプションで含むことができる。
【0156】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれるまたは記述される場合もあるコンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形態で展開することができる。プログラムは、必要ではないが、ファイルシステム内のファイルに対応してもよい。プログラムは、他のプログラムまたはデータを保持するファイルの一部、例えば、マークアップ言語文書内に記憶された1つまたは複数のスクリプト内に、対象のプログラム専用の単一のファイル内に、または、複数の協調ファイル、例えば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル内に記憶することができ。コンピュータプログラムは、1つのコンピュータ上に、または、1つのサイトにおいてもしくは複数のサイトにわたって配置し、データ通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0157】
本明細書では、「データベース」という用語は、データの任意の集合を指すように広く使用され、データは、任意の特定の方法で構成される必要はなく、またはまったく構成される必要はなく、1つまたは複数の場所における記憶デバイス上に記憶することができる。したがって、例えば、インデックスデータベースは、データの複数の集合を含むことができ、その各々は、異なって編成されアクセスされてもよい。
【0158】
同様に、本明細書では、「エンジン」という用語は、ソフトウェアベースのシステム、サブシステム、または、1つもしくは複数の特定の機能を実行するようにプログラムされたプロセスを指すように広く使用される。一般に、エンジンは、1つまたは複数の場所における1つまたは複数のコンピュータ上にインストールされた1つまたは複数のソフトウェアモジュールまたは構成要素として実装されることになる。場合によっては、1つまたは複数のコンピュータが特定のエンジン専用にされることになり、他の場合では、複数のエンジンが同じコンピュータ上にインストールされ、実行されることが可能である。
【0159】
本明細書に記載のプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実行することができる。プロセスおよび論理フローは、専用論理回路、例えば、FPGAもしくはASICによって、または、専用論理回路および1つもしくは複数のプログラムされたコンピュータによって実行することもできる。
【0160】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはその両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行または遂行するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。中央処理装置およびメモリは、専用論理回路によって補完されるか、またはその中に組み込まれることが可能である。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクも含むか、または、それらからデータを受信する、もしくはそれらにデータを送信する、もしくはその両方のために動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、少しだけ例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)レシーバ、または携帯型記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ内に組み込むことができる。
【0161】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
【0162】
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)と、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実施することができる。ユーザとの対話を提供するために、他の種類のデバイスを同様に使用することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そこから文書を受信することによって、例えば、ユーザのデバイス上のウェブブラウザから受信した要求に応答してウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。また、コンピュータは、パーソナルデバイス、例えば、メッセージングアプリケーションを実行しているスマートフォンにテキストメッセージまたは他の形態のメッセージを送信し、引き換えにユーザから応答メッセージを受信することによってユーザと対話することができる。
【0163】
機械学習モデルを実施するためのデータ処理装置は、例えば、機械学習のトレーニングまたは製作、すなわち、推論、作業負荷の共通部分および計算集約的部分を処理するための専用ハードウェアアクセラレータユニットを含むこともできる。
【0164】
機械学習モデルは、機械学習フレームワーク、例えば、TensorFlowフレームワークを使用して実装し展開することができる。
【0165】
本明細書に記載の主題の実施形態は、バックエンド構成要素を、例えば、データサーバとして含む、または、ミドルウェア構成要素、例えば、アプリケーションサーバを含む、または、フロントエンド構成要素、例えば、グラフィカルユーザインターフェース、ウェブサーバ、もしくは、ユーザが、本明細書に記載の主題の実装形態と対話することができるアプリケーションを有するクライアントコンピュータを含む、または、1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装することができる。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えば、インターネットを含む。
【0166】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、一般に、互いに離れており、典型的には、通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、クライアントとして動作するデバイスと対話するユーザにデータを表示し、そこからユーザ入力を受信する目的のために、データ、例えば、HTMLページをユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ、例えば、ユーザ対話の結果は、デバイスからサーバにおいて受信することができる。
【0167】
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、任意の発明の範囲に対する限定、または特許請求されてもよい範囲に対する限定として解釈されるべきではなく、特定の発明の特定の実施形態に特有である場合がある特徴の説明として解釈されるべきである。本明細書において別々の実施形態の文脈で説明されている特定の特徴は、単一の実施形態において組み合わせて実施することもできる。逆に、単一の実施形態の文脈で説明されている様々な特徴は、複数の実施形態において別々に、または任意の適切な部分的組合せにおいて実施することもできる。さらに、特徴は、特定の組合せにおいて作用するものとして上記で説明されている場合があり、そのようなものとして当初は特許請求されている場合さえあるが、特許請求された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除することができ、特許請求された組合せは、部分的組合せまたは部分的組合せの変形例に向けられてもよい。
【0168】
同様に、動作は、特定の順序で図面に描かれ、特許請求の範囲に列挙されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序もしくはシーケンシャルな順序で実行されること、または示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利な場合がある。さらに、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品において一緒に統合することができ、または複数のソフトウェア製品にパッケージ化することができることが理解されるべきである。
【0169】
主題の特定の実施形態について説明した。他の実施形態は、以下の特許請求の範囲内にある。例えば、特許請求の範囲内に列挙された行動は、異なる順序で実行することができ、依然として所望の結果を達成することができる。一例として、添付の図面において描かれたプロセスは、所望の結果を達成するために、示された特定の順序、またはシーケンシャルな順序を必ずしも必要としない。場合によっては、マルチタスキングおよび並列処理が有利な場合がある。
【符号の説明】
【0170】
100 行動選択システム
102 エージェント
104 環境
106 観測値
108 タスク報酬、報酬
110 タスクコスト、コスト
112 行動
114 エージェント
120 行動選択ポリシーニューラルネットワーク、行動選択ニューラルネットワーク
130 選好ニューラルネットワーク
132 選好設定
140 トレーニングエンジン
150 再生バッファ
160 Q値ニューラルネットワーク
170 温度ニューラルネットワーク
180 改善された行動選択ポリシー