JP7419547B2 - 学習済み隠れ状態を使用するエージェント制御のためのプランニング - Google Patents

学習済み隠れ状態を使用するエージェント制御のためのプランニング Download PDF

Info

Publication number
JP7419547B2
JP7419547B2 JP2022545880A JP2022545880A JP7419547B2 JP 7419547 B2 JP7419547 B2 JP 7419547B2 JP 2022545880 A JP2022545880 A JP 2022545880A JP 2022545880 A JP2022545880 A JP 2022545880A JP 7419547 B2 JP7419547 B2 JP 7419547B2
Authority
JP
Japan
Prior art keywords
state
actions
action
environment
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022545880A
Other languages
English (en)
Other versions
JP2023511630A (ja
Inventor
ジュリアン・シュリットウィーザー
イオアニス・アントノグロウ
トーマス・ケイスケ・ヒューバート
Original Assignee
ディープマインド テクノロジーズ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ディープマインド テクノロジーズ リミテッド filed Critical ディープマインド テクノロジーズ リミテッド
Publication of JP2023511630A publication Critical patent/JP2023511630A/ja
Application granted granted Critical
Publication of JP7419547B2 publication Critical patent/JP7419547B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Description

関連出願の相互参照
本出願は、2020年1月28日にギリシャ特許庁に出願されたギリシャ特許出願第20200100037号の出願日の利益を米国特許法第119条(a)項に基づき主張するものである。前述の出願の開示は、全体が参照により本明細書に組み込まれる。
本明細書は、強化学習に関係する。
強化学習システムにおいて、エージェントは、環境の現在の状態を特徴付ける観測を受け取ったことに応答して強化学習システムによって選択されるアクションを実行することによって環境とインタラクティブにやり取りする。
いくつかの強化学習システムでは、ニューラルネットワークの出力に従って所与の観測値を受け取ったことに応答してエージェントによって実行されるべきアクションを選択する。
ニューラルネットワークは、受け取った入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含むディープニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在値に従って受け取った入力から出力を生成する。
米国特許公開第20200143239号
Silverら「Mastering the game of go without human knowledge」、Nature、550:354~359頁、2017年10月 Kocsisら「Bandit based monte-carlo planning」、European conference on machine learning、282~293頁、Springer、2006年
本明細書では、複数のタイムステップの各々において、タイムステップにおける環境の現在の状態を特徴付けるデータ(すなわち、「観測」)を処理して、アクションのセットから、エージェントによって実行されるべきアクションを選択することによって、環境とインタラクティブにやり取りするエージェントを制御する強化学習システムを説明する。
各タイムステップにおいて、そのタイムステップにおける環境の状態は、前のタイムステップにおける環境の状態および前のタイムステップにおいてエージェントによって実行されたアクションに依存する。
一般的に、システムは、現在の観測結果を受け取り、複数のプランニング反復(planning iteration)を実行する。次いで、システムは、プランニング反復の結果に基づき現在の観測に応答して実行されるべきアクションを選択する。各プランニング反復において、システムは、環境を現在の観測によって表される状態から始まる新しい状態に進行させるアクションのシーケンスを生成する。従来のシステムとは異なり、このシステムは、環境のシミュレータを使用してプランニング反復を実行しない、すなわち、所与のアクションが所与の状態で実行された結果、環境がどの状態に遷移するかを決定するために環境のシミュレータを使用しない。その代わりに、システムは、(i)入力として、a)入力環境状態に対応する隠れ状態およびb)アクションのセットからの入力アクションを受け取り、出力として、少なくとも、環境が入力環境状態にあるときにエージェントが入力アクションを実行した場合に環境が遷移するであろう予測される次の環境状態に対応する隠れ状態を生成するように構成される学習済みダイナミクスモデル、ならびに(ii)入力として、予測された次の環境状態に対応する隠れ状態を受け取り、出力として、a)アクションのセット上でスコア分布を定義する予測されたポリシー出力、およびb)タスクの実行への予測された次の環境状態にある環境の値を表す値出力を生成するように構成される予測モデルを使用する。各隠れ状態は、観測のより低次元の表現である。したがって、システムは、環境の完全な状態を、または状態を特徴付ける完全な観測すらも、再構築することをまったく必要とせずにこれらの隠れ状態のみを使用してプランニングを実行する。
一般に、本明細書で説明されている主題の革新的な一態様は、アクションのセットから、環境とインタラクティブにやり取りするエージェントによって実行されるアクションを選択して、エージェントにタスクを実行させるための方法において具現化され得、この方法は、環境の現在の環境状態を特徴付ける現在の観測を受け取ることと、環境におけるアクションのセットからの複数のアクションの各々を実行し、現在の環境状態から始まる、エージェントのタスクを実行することに対するそれぞれの値を示すプランデータを生成する複数のプランニング反復を実行することであって、各プランニング反復を実行することは、現在の環境状態から始まるエージェントによって実行されるべきアクションのシーケンスを、環境の状態木を走査することによって選択することを含み、環境の状態木は環境の環境状態を表すノードと、環境の状態遷移を引き起こすエージェントによって実行され得るアクションを表すエッジとを有し、状態木を走査することは、状態木のエッジに対する統計量を使用して、現在の環境状態を表す状態木のルートノードから始まり、状態木の葉ノードに到達するまで状態木を走査することと、入力として隠れ状態を受け取り、出力として少なくともアクションのセット上でスコア分布を定義する予測されたポリシー出力を生成するように構成される予測モデルを使用して葉ノードによって表される環境状態に対応する隠れ状態を処理することと、アクションのセットの適切なサブセットをサンプリングすることと、状態木を、各サンプリングされたアクションについて、状態木に、サンプリングされたアクションを表す葉ノードからのそれぞれの出て行くエッジを追加することによって更新することと、統計量を、各サンプリングされたアクションについて、サンプリングされたアクションを表すそれぞれの出て行くエッジを予測されたポリシー出力から導出されるサンプリングされたアクションの事前確率と関連付けることによって、更新することとを含む、プランニング反復を実行することと、プランデータを使用して現在の観測に応答してエージェントによって実行されるべきアクションを選択することとを含む。
アクションのセットの適切なサブセットをサンプリングすることは、スコア分布からサンプリング分布を定義するデータを生成することと、サンプリング分布から固定された数のサンプルをサンプリングすることとを含み得る。サンプリング分布を生成することは、温度パラメータでスコア分布を調節することを含み得る。葉ノードがルートノードと同じであるとき、サンプリング分布を生成することは、ノイズをスコア分布に加えることを含み得る。方法は、スコア分布におけるアクションに対するスコアに補正係数を適用することによってサンプリングされたアクションのそれぞれの事前確率を生成することをさらに含み得る。補正係数は、(i)サンプリングされたアクションが固定された数のサンプルでサンプリングされた回数、および(ii)サンプリング分布においてサンプリングされたアクションに割り当てられているスコアに基づくものとしてよい。補正係数は、(i)サンプリングされたアクションがサンプリングされた回数とサンプルの固定された数との比と(ii)サンプリング分布においてサンプリングされたアクションに割り当てられているスコアとの比に等しいものとしてよい。プランデータは、複数のプランニング反復の間に対応するアクションが選択された回数を表すルートノードからの各出て行くエッジに対するそれぞれの訪問カウントを含むものとしてよく、現在の観測に応答してエージェントによって実行されるべきアクションを選択することは、それぞれの訪問カウントを使用してアクションを選択することを含み得る。
この態様の他の実施形態は、対応するコンピュータシステム、装置、およびこれらの方法のアクションを実行するように各々構成される、1つまたは複数のコンピュータ記憶装置デバイス上に記録されるコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、動作時にこれらのアクションをシステムに実行させ得るシステム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合せを用いることにより特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたときにアクションを装置に実行させる命令を含めることにより特定の動作またはアクションを実行するように構成され得る。
本明細書で説明されている主題の特定の実施形態は、次の利点のうちの1つまたは複数を実現するように実装され得る。
本明細書は、完全なまたは非常に高品質のシミュレータが利用可能でない環境においてエージェントを制御するときにエージェントによって実行されるべきアクションを選択するためのプランニングを効果的に実行することを説明している。特に、環境遷移をシミュレートする完全なシミュレータが利用可能な場合に困難なドメインにおいて木ベースのプランニング方法が成功を収めている。しかしながら、現実世界の問題では、環境を支配するダイナミクスは、典型的には、複雑で未知のものであり、プランニングアプローチは、同じ性能向上をもたらすことにこれまで失敗してきている。説明されている技術では、MDPプランニングアルゴリズムと組み合わされた学習済みモデル、たとえば、学習済みモデルとともに木ベース探索を使用して、基礎となるダイナミクスを知ることなく、様々な困難で、視覚的に複雑なドメインの範囲内で高品質の性能を達成する。説明されている技術では、反復適用されたときに、プランニングに最も直接的に関連する量、すなわち、アクション選択ポリシー、価値関数、および関連するときには、リウォード(reward)、を予測するモデルを学習し、それにより、従来のプランニング技術では著しい改善を示すことに失敗してきた様々なドメインにおいて優れた結果が達成されることを可能にする。
説明されているプランニング技術は、大きな離散アクション空間、連続アクション空間、またはハイブリッドアクション空間、すなわち、いくつかのサブアクションが離散的であり、他のサブアクションは連続的であるアクション空間からアクションを選択することを必要とする、多くの複雑なタスク、たとえば、ロボットタスクを実行するエージェントを制御することに対しても容易に適応可能である。木ベース探索を使用して環境の異なる状態を走査することは、アクション空間が大きいか、または連続的であるときに実行不可能であることもあり得る。アクションのサブセットを繰り返しサンプリングし、サンプリングされたアクションのみを使用して、すなわち、アクション空間全体の可能なすべてのアクションを使用することなく、木ベース探索中に維持される状態木を拡張することによって、説明されているプランニング技術の適用可能性は、プランニングプロセスの計算オーバーヘッドを著しく増やすことなくこれらの複雑なタスクにまで拡大され得る。したがって、説明されている技術は、効果的な性能をそのまま維持しながら、遅延を減らし、コンピューティングリソースの消費を低減するとともに、大きな離散アクション空間、連続アクション空間、またはハイブリッドアクション空間を有するタスクについてエージェントを制御するために使用され得る。
本明細書では、また、サンプル効率の高い方式でアクションを選択するために使用されるモデルを訓練するための技術も説明している。オフライン強化学習訓練は、実環境とインタラクティブにやり取りするためにエージェントを制御する必要なくアクションを選択するために使用されるモデルが訓練され得るので、長い間有効なアルゴリズムであった。しかしながら、複雑なダイナミクスを有する環境、たとえばロボットまたは他の機械的エージェントがインタラクティブにやり取りする現実世界の環境では、ダイナミクスモデルまたは予測モデルまたは両方によって行われる予測は、誤りが生じやすく、学習プロセスにバイアスを持ち込むことになる。これのせいで、多くの場合に、ダイナミクスモデルまたは予測モデルまたは両方を使用する既存のアプローチは、オフラインで訓練されるときに、すなわち環境とインタラクティブにやり取りできないと、高性能ポリシーを学習することに失敗する。
しかしながら、説明されている技術では、これらのモデルにおけるバイアスおよび不確実性を考慮し、非常に複雑なタスクに対してであっても、より高いサンプル効率で効果的ポリシーが学習されることを可能にする。特に、再解析技術を採用し、システムによってすでに維持されているオフライン訓練データに対して、システムのオフライン訓練中に最近更新されたモデルパラメータ値に従って生成されたモデル出力に基づき新しいターゲットポリシー出力および新しいターゲット値出力を繰り返し再計算することによって、説明されている技術は、効果的なアクション選択ポリシーを学習するのに必要とされる環境からの実際の軌跡の数を依然として減らしながらダイナミクスモデルの不確実性、予測モデルのバイアス、または両方を考慮することができる。これは、エージェントが現実世界環境とインタラクティブにやり取りするロボットまたは他の機械的エージェントである場合に特に有利であるが、それは、環境から実際のサンプルを収集することはエージェントに摩耗を加え、エージェントの機械的故障の可能性を高め、非常に時間がかかるからである。
そのようなものとして、開示されている技術は、エージェントによって実行されるべきアクションを選択する際に使用されるモデルの訓練の速度を高め、それらのモデルを効果的に訓練するために必要な訓練データの量を低減することができる。したがって、モデルの訓練に必要なコンピューティングリソースの量は低減され得る。たとえば、訓練データを記憶するために必要なメモリの量が低減される、訓練プロセスによって使用される処理リソースの量が低減される、またはその両方が可能である。
本明細書で説明されている主題の1つまたは複数の実施形態の詳細は、付属の図面および以下の説明で述べられる。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
例示的な強化学習システムを示す図である。 環境とインタラクティブにやり取りするエージェントによって実行されるべきアクションを選択するための例示的な一プロセスの流れ図である。 プランデータを生成するために1つのプランニング反復を実行する例示的な説明図である。 生成済みプランデータに基づきエージェントによって実行されるべきアクションを選択する例示的な説明図である。 環境とインタラクティブにやり取りするエージェントによって実行されるべきアクションを選択するための別の例示的なプロセスの流れ図である。 強化学習システムを訓練するための例示的な一プロセスの流れ図である。 強化学習システムを訓練する例示的な説明図である。 強化学習システムを再分析するための例示的な一プロセスの流れ図である。
様々な図面中の同様の参照番号および名称は同様の要素を示す。
本明細書では、複数のタイムステップの各々において、タイムステップにおける環境の現在の状態を特徴付けるデータ(すなわち、「観測」)を処理して、アクションのセットから、エージェントによって実行されるべきアクションを選択することによって、環境とインタラクティブにやり取りするエージェントを制御する強化学習システムを説明する。
図1は、例示的な強化学習システム100を示している。強化学習システム100は、1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例であり、以下で説明されるシステム、コンポーネント、および技術がそこで実装される。
強化学習システム100は、複数のタイムステップの各々で環境102とインタラクティブにやり取りするエージェント108が実行されるべきアクション110を選択する。各タイムステップにおいて、そのタイムステップにおける環境102の状態は、前のタイムステップにおける環境の状態および前のタイムステップにおいてエージェントによって実行されたアクションに依存する。エージェント108が環境102とインタラクティブにやり取りするために、システム100は、環境102の現在の状態を特徴付ける現在の観測104を受け取り、プランニングエンジン120を使用して複数のプランニング反復を実行し、プランデータ122を生成する。プランデータ122は、環境102において可能なアクションのセットの各アクションを実行し、現在の状態から始まるエージェント108のタスク(たとえば、リウォード106に関する)を実行することに対するそれぞれの価値を示すデータを含むことができる。特に、各プランニング反復において、システム100は、環境102を現在の観測104によって表される状態から始まる新しい、予測される(すなわち、仮説的な)将来の状態に進行させるアクションのシーケンスを生成する。このようにしてプランデータ122を生成することは、システム100が、現在の観測104によって表される状態から始まる環境の可能な将来の状態を最初に、すなわちプランニングにおいて走査することによって、現在の観測104に応答してエージェントによって実行されるべき実際のアクションを効果的に選択することを可能にする。
いくつかの実装形態において、システム100は、プランニングエンジン120の出力によって導かれる先読み探索を実行することによってプランデータ122を生成することができる。プランニングエンジン120のコンポーネントおよびその出力の具体的な内容は、以下でさらに説明される。たとえば、先読み探索は、木探索、たとえばモンテカルロ木探索であってもよく、状態木は、環境102の状態を表すノードと、木内のノードを接続する有向エッジとを含む。木内で第1のノードから第2のノードへ出て行くエッジは、第1の状態を特徴付ける観測に応答して実行された、その結果第2の状態への環境遷移を引き起こしたアクションを表す。
そのような実装形態において、プランデータ122は、環境の現在の状態を表すノードから始まる異なる出力を生成するためにプランニングエンジン120を繰り返し実行した結果としてコンパイルされたノード-エッジ(すなわち、状態-アクション)対のいくつかまたはすべてのうちの各々に対する統計データを含むことができる。たとえば、プランデータ122は、状態木のルートノードの各出て行くエッジについて、(i)エッジによって表されるアクションに対するアクションスコアQ、(ii)複数のプランニング反復においてアクションが選択された回数を表すエッジによって表されるアクションに対する訪問カウントN、および(iii)エッジによって表されるアクションに対する事前確率Pを含むことができる。プランニングにおいて、状態木のルートノードは、現在の観測104によって特徴付けられる状態に対応する。
環境の所与の状態を表す任意の所与のノードについて、アクションに対するアクションスコアQは、所与の状態を特徴付ける観測に応答してアクションが実行される場合に受け取られるリターン(return)の現在の推定を表す。リターンは、エージェントが受け取る「リウォード」106の累積的尺度、たとえば、リウォードの期間割引合計を意味する。エージェント108は、各タイムステップでそれぞれのリウォード106を受け取ることができ、リウォード106は、スカラー数値によって指定され、たとえば、割り当てられたタスクの完了に向けたエージェント108の進捗を特徴付ける。アクションに対する訪問カウントNは、所与の状態を特徴付ける観測に応答してエージェント108によってアクションが実行された現在の回数である。そして、事前確率Pは、アクションが所与の状態を特徴付ける観測に応答して実行されるべきアクション、すなわち、観測に応答して実行され得る他のすべてのアクションに関して受け取られるリターンを最大化するアクションである尤度を表している。
システム100は、システム100にアクセス可能なメモリデバイスでプランデータ122を維持することができる。論理的に木として説明されているが、プランニングエンジン120を使用することによって生成されたプランデータ122は、様々な都合のよいデータ構造のいずれかによって、たとえば、複数の三つ組みとして、または隣接リストとして表現されてもよい。
各プランニング反復において、システム100は、ルートノードに対応するものから始まる対応するノード-エッジ対に対するコンパイル済み統計量に従ってアクションaを繰り返し(すなわち、複数のプランニングステップの各々において)選択することによって、たとえば、信頼上限にわたって、
Figure 0007419547000001
を最大化することによって、アクションのシーケンスを生成することができ、ここで、c1およびc2はアクションスコアQに関する事前確率Pの影響を制御するために使用されるチューニング可能なハイパーパラメータである。
アクション選択、状態木拡張、および統計量更新アルゴリズムを含む例示的な先読み探索アルゴリズムは、参照により本明細書に組み込まれている2018年5月28日に出願され、2020年5月7日に公開された、Simonyanらの米国特許公開第20200143239号、名称「Training action selection neural networks using look-ahead search」、および非特許文献である、Silverら「Mastering the game of go without human knowledge」、Nature、550:354~359頁、2017年10月、およびKocsisら「Bandit based monte-carlo planning」、European conference on machine learning、282~293頁、Springer、2006年において、より詳しく説明されている。
プランニングの後、システム100は、プランニング反復の結果に基づき、すなわちプランデータ122に基づき、受け取った現在の観測104に応答してエージェント108によって実行されるべき実際のアクション110を選択することに進む。特に、これらの実装形態において、プランデータ122は、状態木のルートノード、すなわち、現在の観測104によって特徴付けられる状態に対応するノードの各出て行くエッジについてプランニングにおいてコンパイルされた統計データを含むことができ、システム100は、ルートノードに対応するノード-エッジ対の統計データに基づき実際のアクション110を選択することができる。
たとえば、システム100は、この選択を、状態木のルートノードの各出て行くエッジに対する訪問カウントに比例させることができる。すなわち、環境102が現在の観測104によって特徴付けられる状態にあるときにプランニングにおいて最も頻繁に選択された可能なすべてのアクションのセットからのアクション、すなわち、プランデータにおいて最も高い訪問カウントを有するルートノードからの出て行くエッジに対応するアクションが、現在の観測に応答してエージェントによって実行されるべき実際のアクション110として選択され得る。それに加えて、またはその代わりに、状態木のルートノードの各出て行くエッジについて、システム100は、訪問カウントを確率分布、たとえば、経験的確率(または相対頻度)分布にマッピングし、次いで、ルートノードの出て行くエッジについて決定されたそれぞれの確率分布に従ってアクションをサンプリングすることができる。確率分布は、たとえば、各出て行くエッジに、(i)エッジの訪問カウントと(ii)ルートノードからの出て行くエッジのすべてのエッジの合計訪問カウントとの比に等しい確率を割り当てることができるか、または出て行くエッジに対する比にノイズを加えるノイズのある経験的分布とすることができる。次いで、サンプリングされたアクションは、現在の観測に応答してエージェントによって実行されるべき実際のアクション110として使用され得る。
別の例として、システム100は、プランデータ中のアクションのシーケンスから、最大の関連する値を有するアクションのシーケンスを決定し、その後、現在の観測104に応答してエージェントによって実行されるべき実際のアクション110として、アクションの決定済みシーケンス中の最初のアクションを選択することによって、この選択を行うことができる。
典型的には、実際のアクション110を選択するために、システム100は、最初に、エージェント108によって実行され得る可能なアクションのセットにおける各アクションを使用することによって環境の可能な将来の状態を走査することになる。アクション空間が連続的である、すなわち、個別のアクションにおけるアクション値のすべてが可能な値の連続範囲から選択されるときに、またはハイブリッド、すなわち、個別のアクションにおけるアクション値の1つまたは複数が可能な値の連続範囲から選択されるときに、これは実行可能でない。アクション空間が離散的であるが、多数のアクションを含むときに、これは、プランニングエンジン120を使用することによって何回ものプランニング反復を必要とし得るので、計算上効率的ではなく、単一のアクションを選択するために大量のコンピューティングリソースを消費する。
その代わりに、プランニングエンジン120は、アクションサンプリングエンジン160を使用して、エージェント108の正確な制御をそのまま可能にしながらプランニングにおいて評価される必要のあるアクションの数を低減する、すなわち、任意の所与の観測104に応答して高品質のアクション110を選択することができる。
特に、プランニングエンジン120は、アクションサンプリングエンジン160を使用して、可能なアクションのセットにおけるアクションの適切なサブセットを選択し、以下でさらに説明されるように、適切なサブセットにおけるアクションのみを使用することによってプランニングを実行する。適切なサブセットにおけるアクションの数は、一般的に、可能なアクションのセットにおけるアクションの総数よりかなり少ない。たとえば、アクション空間が5^21のオーダーの可能なアクションを含むときでも、システムは、可能なアクションの適切なサブセットに含まれる20個のアクションのみを使用することによって生成されるプランデータ122に基づきエージェントを依然として正確に制御することができる。これは、システム100が、従来のアプローチに比べて少ないコンピューティングリソースを消費しながら、遅延を低減して、エージェント108を制御することを可能にする。
より詳細には、プランニングエンジン120は、表現モデル130と、ダイナミクスモデル140と、予測モデル150と、いくつかの場合において、アクションサンプリングエンジン160とを含む。
表現モデル130は、典型的には、高次元センサーデータ、たとえば、画像またはビデオデータを含む観測104を低次元表現データにマッピングする機械学習モデルである。表現モデル130は、少なくとも現在の観測104を含む表現モデル入力を受け取り、環境102の現在の状態に対応する隠れ状態を出力として生成するように構成され得る。
本明細書全体を通して使用されているように、環境102の現在の状態に対応する「隠れ状態」は、数値の順序付けられたコレクション、たとえば、数値のベクトルまたは行列としての環境102の特徴付けを指し、一般的に、観測104それ自体よりも低い次元性、より単純なモダリティ、またはその両方を有している。様々な実装形態において、環境102の現在の状態に対応する各隠れ状態は、現在の環境状態に関する情報、および任意選択で、現在の状態に先立って環境が遷移した1つまたは複数の前の状態に関する情報を含むことができる。
ダイナミクスモデル140は、所与のタイムステップにおいて情報が与えられたときに、所与のタイムステップの後にある少なくとも1つの将来のタイムステップについての予測を行うことができる機械学習モデルである。
ダイナミクスモデル140は、入力として、a)入力環境状態に対応する隠れ状態とb)可能なアクションのセットからの入力アクションを指定するデータとを受け取り、出力として、a)環境が入力環境状態にあるときにエージェントが入力アクションを実行した場合に環境が遷移するであろう予測された次の環境状態に対応する隠れ状態と、いくつかの場合において、b)環境が入力環境状態にあるときにエージェントが入力アクションを実行した場合に受け取るであろう即時リウォードを表す予測された即時リウォード値を指定するデータとを生成するように構成され得る。たとえば、即時リウォード値は、環境が入力環境状態にあるときに入力アクションを実行した結果としてタスクを完了する際の進捗を表す数値であってよい。
予測モデル150は、プランニングに最も直接的に関連する量、すなわち、アクション選択ポリシー、価値関数、および関連するときにはリウォードを予測するように構成されている機械学習モデルである。予測モデル150は、入力として、所与の環境状態に対応する隠れ状態を受け取り、出力として、a)所与の環境状態においてエージェントによって実行されるべき予測された次のアクションを決定するために使用できる予測されたポリシー出力と、b)タスクを実行することに対する所与の環境状態にある環境の価値を表す値出力とを生成するように構成され得る。
一例では、予測されたポリシー出力は、エージェントによって実行され得る可能なアクションのセット上でスコア分布を定義してもよく、たとえば、可能なアクションのセットにおける各アクションに対するそれぞれの数値的確率値を含んでもよい。エージェントを制御するために使用される場合、システム100は、たとえば、アクションに対する確率値に従ってアクションをサンプリングすることによって、または最も高い確率値を有するアクションを選択することによって、エージェントによって実行されるべきアクションを選択することも可能であろう。
別の例では、値出力は、環境が所与の環境状態にあるときに、エージェントが1つまたは複数の目標を達成することに向かう全体的な進捗を表す数値を指定してもよい。
表現モデル、ダイナミクスモデル、および予測モデルは、各々、その記述された機能を実行することを可能にする任意の適切なニューラルネットワークアーキテクチャを有するそれぞれのニューラルネットワークとして実装され得る。一例では、観測結果が画像であるときには、表現モデルおよびダイナミクスモデルは、各々、残差接続を有するそれぞれの畳み込みニューラルネットワーク、たとえば、1つまたは複数の正規化層または活性化層に加えて、各々1つまたは複数の畳み込み層を含む残差ブロックのスタックから構築されたニューラルネットワークとして実装することができる。別の例では、予測モデル150は、入力層(隠れ状態入力を受け取る)、それに続く1つもしくは複数の畳み込み層、または1つもしくは複数の全結合層、および出力層(スコア分布を出力する)を含むニューラルネットワークとして実装され得る。
表現モデル、ダイナミクスモデル、および予測モデルが有することができるニューラルネットワークアーキテクチャの他の例は、グラフニューラルネットワーク、多層パーセプトロンニューラルネットワーク、再帰型ニューラルネットワーク、および自己注意ニューラルネットワークを含む。
高いレベルで、アクションサンプリングエンジン160は、入力として、予測モデル150の予測されたポリシー出力を受け取り、その入力を処理してサンプリング分布を定義する出力データとして生成するように構成されるソフトウェアを含む。
サンプリング分布は、エージェントによって実行され得る可能なアクションのいくつかまたはすべてにわたる分布であり得、たとえば、可能なアクションのセット全体における複数のアクションの各々に対するそれぞれの数値的確率値を含み得る。サンプリング分布は、予測モデル150の予測されたポリシー出力において定義されるスコア分布と同じであってもよいが、そうである必要はない。
いくつかの場合において、アクションサンプリングエンジン160は、予測されたポリシー出力によって定義されたスコア分布を温度パラメータτで変調することによってサンプリング分布を生成することができる。たとえば、温度パラメータτは、任意の正値(1より大きい値はより多様なサンプルを促す)であり得、サンプリング分布は、P1/τの形式で生成され得、Pは予測されたポリシー出力から導出される事前確率である。
いくつかの場合において、たとえば、各プランニング反復の開始時に、すなわち、葉ノードがルートノードと同じであるときに、アクションサンプリングエンジン160は、アクション探索を円滑にするために予測されたポリシー出力によって定義されるスコア分布にディリクレノイズなどの探索ノイズを付加的に加えることができる。
プランニングにおいて使用されるときに、プランニングエンジン120は、次いで、サンプリング分布から固定された数のアクションをサンプリングして、環境を異なる将来の状態に進行させるためのプランニングで使用されるアクションの適切なサブセットを生成する。
いくつかの実装形態において、環境102は現実世界環境であり、エージェント108は、現実世界環境とインタラクティブにやり取りする機械的エージェント、たとえば、ロボットまたは環境内をナビゲートする自律的または半自律的な陸上車、飛行体、または船舶である。
これらの実装形態において、観測104は、たとえば、画像、物体位置データ、およびエージェントが環境とインタラクティブにやり取りする際の観測をキャプチャするためのセンサーデータ、たとえば、画像、距離、もしくは位置センサー、またはアクチュエータからの、センサーデータのうちの1つもしくは複数を含み得る。
たとえばロボットの場合、観測104は、ロボットの現在の状態を特徴付けるデータ、たとえば、関節位置、関節速度、関節力、トルクまたは加速度、たとえば、重力補償トルクフィードバック、およびロボットによって保持されるアイテムの大域的または相対的姿勢、のうちの1つまたは複数を含み得る。
ロボットまたは他の機械的エージェントまたは乗物の場合、観測は、同様に、エージェントの1つまたは複数の部分の位置、線速度もしくは角速度、力、トルクもしくは加速度、および大域的もしくは相対的姿勢のうちの1つまたは複数を含み得る。観測は、1次元、2次元、または3次元で定義されてよく、絶対的および/または相対的観測であり得る。
観測104は、また、たとえば、モーター電流もしくは温度信号などの感知電子信号、および/またはたとえばカメラもしくはLIDARセンサーからの画像もしくはビデオデータ、たとえばエージェントのセンサーからのデータ、もしくは環境内のエージェントとは別の配置に置かれているセンサーからのデータを含み得る。
電子エージェントの場合、環境102は、データ圧縮環境、データ伸長環境、またはその両方であってもよい。エージェント108は、観測104として入力データ(たとえば、画像データ、音声データ、ビデオデータ、テキストデータ、または任意の他の適切な種類のデータ)を受け取り、アクション110のシーケンス、たとえば、データエンコードまたは圧縮アクションを選択して実行し、入力データの圧縮済み表現を生成するように構成され得る。エージェント108は、同様に、圧縮済みデータを処理して、入力データの(近似的または厳密な)再構成を生成するように構成され得る。
電子エージェントの場合、観測104は、電流、電圧、電力、温度および他のセンサーならびに/または機器の電子的および/もしくは機械品の機能を表す電子信号などの、プラントまたはサービス施設の一部を監視する1つまたは複数のセンサーからのデータを含み得る。
これらの実装形態において、アクション110は、ロボットを制御するための制御入力、たとえば、ロボットの関節に対するトルクもしくはより高水準の制御コマンド、または自律的もしくは半自律的な陸上車、飛行体、船舶、たとえば、車両の制御面もしくは他の制御要素へのトルクもしくはより高水準の制御コマンドであってもよい。
言い換えると、アクション110は、たとえば、ロボットの1つもしくは複数の関節または別の機械的エージェントの部品に対する位置、速度、または力/トルク/加速度データを含み得る。アクションデータは、それに加えて、または代替的に、モーター制御データなどの電子制御データ、またはより一般的に、環境内の1つまたは複数の電子デバイスを制御するための、その制御が環境の観測される状態に対する影響を有する、データを含み得る。たとえば、自律的または半自律的な陸上車または飛行体または船舶の場合、アクションは、ステアリングなどのナビゲーション、車両の制動および/または加速などの動きを制御するアクションを含み得る。
電子エージェントの場合、観測104は、電流、電圧、電力、温度および他のセンサーならびに/または機器の電子的および/もしくは機械品の機能を表す電子信号などの、プラントまたはサービス施設の一部を監視する1つまたは複数のセンサーからのデータを含み得る。たとえば、現実世界の環境は、製造プラントまたはサービス施設であってもよく、観測は、プラントまたは施設の動作、たとえば電力消費などのリソース使用量に関係するものとしてよく、エージェントは、たとえばリソース使用量を減らすためにプラント/施設におけるアクションまたは稼動を制御し得る。いくつかの他の実装形態において、現実世界の環境は、再生エネルギープラントであってもよく、観測は、たとえば、現在もしくは将来の計画された発電量を最大化するためのプラントの稼動に関係し、エージェントは、これを達成するためにプラントのアクションまたは稼動を制御し得る。
いくつかの他のアプリケーションにおいて、エージェントは、たとえば、データセンター、配電/配水システム、または製造プラントもしくはサービス施設における機器を含む現実世界の環境におけるアクションを制御し得る。次いで、観測は、プラントまたは施設の稼動に関係し得る。たとえば、観測は、機器による電力または水の使用の観測、発電もしくは配電制御の観測、またはリソースの使用もしくは廃棄物発生の観測を含み得る。アクションは、プラント/施設の機器に対する稼動条件を制御するか、もしくは課すアクション、および/または結果としてプラント/施設の稼動における設定の変更を引き起こし、たとえばプラント/施設のコンポーネントを調整するか、もしくは始動/停止するためのアクションを含み得る。
別の例として、環境102は、各状態がタンパク質鎖または1つもしくは複数の中間体もしくは前駆体化学物質のそれぞれの状態であり、エージェントがタンパク質鎖を折り畳む、または化学物質を合成する方法を決定するためのコンピュータシステムであるような化学合成またはタンパク質折り畳み環境であってよい。この例では、アクションは、タンパク質鎖を折り畳むための可能な折り畳みアクション、または前駆体化学物質/中間体を組み立てるためのアクションであり、達成されるべき結果は、たとえば、タンパク質が安定であるように、また特定の生物学的機能を達成するようにタンパク質を折り畳むこと、または化学物質に対する有効な合成経路を提供することを含み得る。別の例として、エージェントは、システムによって選択されたタンパク質折り畳みアクションまたは化学合成ステップを、人間とのインタラクティブなやり取りなしで自動的に実行するか、または制御する機械的エージェントであってもよい。観測は、タンパク質または化学物質/中間体/前駆体の状態の直接的または間接的な観測を含み、および/またはシミュレーションから導出されてよい。
別の例として、環境102は、次世代仮想アシスタントプラットフォーム、オーダーメイド医療プラットフォーム、または捜索救難プラットフォームなどのオンラインプラットフォームであってもよく、観察104は、プラットフォームのユーザからのデジタル入力、たとえば、検索クエリの形態であってもよく、可能なアクションのセットは、ユーザ入力への応答として提示するための候補コンテンツアイテム、たとえば、推奨、アラート、または他の通知を含み得る。
いくつかの実装形態において、環境102は、シミュレートされた環境であってよく、エージェントは、シミュレートされた環境とインタラクティブにやり取りする1つまたは複数のコンピュータとして実装される。
シミュレートされた環境は、運動シミュレーション環境、たとえば、運転シミュレーションまたは飛行シミュレーションであってもよく、エージェントは、運動シミュレーションを通してナビゲートするシミュレートされた車両であってもよい。これらの実装形態において、アクションは、シミュレートされたユーザまたはシミュレートされた車両を制御するための制御入力であってもよい。
いくつかの実装形態において、シミュレートされた環境は、特定の現実世界環境のシミュレーションであってよい。たとえば、システムは、制御ニューラルネットワークの訓練または評価時にシミュレートされた環境におけるアクションを選択するために使用されてもよく、訓練または評価またはその両方が完了した後、シミュレートされた環境によってシミュレートされる現実世界環境における現実世界エージェントを制御するために配備され得る。これには、現実世界環境または現実世界エージェントの不必要な擦り切れおよび損傷を回避することができ、また、滅多に発生しない状況または現実世界環境での再作成が困難である状況で制御ニューラルネットワークが訓練され、評価されることを可能にすることができる。
一般的に、シミュレートされた環境の場合、観測は、前に説明されている観測または観測の種類のうちの1つもしくは複数のシミュレートされたバージョンを含んでもよく、アクションは、前に説明されているアクションまたはアクションの種類のうちの1つもしくは複数のシミュレートされたバージョンを含んでもよい。
いくつかの他のアプリケーションにおいて、エージェントは、たとえば、産業施設、たとえば、データセンター、配電/配水システム、製造プラント、またはサービス施設、または商業もしくは住宅ビル内の機器を含む現実世界の環境におけるアクションを制御し得る。次いで、観測は、施設またはビルの稼動に関係し得る。たとえば、観測は、機器による電力または水の使用の観測、発電もしくは配電制御の観測、またはリソースの使用もしくは廃棄物発生の観測を含み得る。アクションは、施設もしくはビルの機器に対する稼動条件を制御するか、もしくは課すアクション、および/または結果として施設もしくはビルの稼動における設定の変更を引き起こし、たとえば施設もしくはビルのコンポーネントを調整するか、もしくは始動/停止するためのアクションを含み得る。たとえば、コンポーネントは、ビルもしくは施設の暖房および/または冷房を制御するコンポーネントであってもよい。
いくつかのさらなるアプリケーションにおいて、環境は現実世界の環境であり、エージェントは、たとえば、モバイルデバイス上および/またはデータセンター内のコンピューティングリソースにわたるタスクの分配を管理する。これらの実装形態において、アクションは、特定のコンピューティングリソースにタスクを割り当てること、たとえば、モバイルデバイス上で、または1つもしくは複数のデータセンター内のコンピュータにまたがって作業負荷をスケジューリングすることを含み得る。
いくつかの上記の実装形態において、タイムステップ毎に、システム100は、環境102の現在の状態およびそのタイムステップにおけるエージェント108のアクション110に基づくリウォード106を受け取る。たとえば、システム100は、エージェント108が1つまたは複数の目標を達成することに向かう進捗に基づき所与のタイムステップに対するリウォード106を受け取るものとしてよい。たとえば、エージェントの目標は、環境102内の目標配置までナビゲートすることであってよい。
一般に、訓練エンジン116は、プランニングエンジン120に含まれるモデルを訓練して、システム100によって受け取られる期待累積リウォード、たとえばシステム100によって受け取られるリウォードの長期時間割引和を最大にするアクション110が、環境102とインタラクティブにやり取りするときにエージェント108による実行のために有効に選択され得るプランデータ122を生成する。
特に、訓練エンジン116は、予測モデル150を訓練して、a)所与の先読み探索ポリシーに従って選択されるであろうものに類似するアクションが決定され得る予測されたポリシー出力、およびb)所与のポリシーを使用することから決定されるか、または他の何らかの方法で導出されるターゲット値に一致する環境の値を表す値出力を生成する。たとえば、所与の先読み探索ポリシーは、環境の可能な将来の状態を走査するのに適切な木ベース探索ポリシー、たとえばモンテカルロ木探索ポリシーとすることができる。訓練エンジン116は、それに加えて、異なるアクションを実行したことに応答してエージェントによって受け取られるであろう実際のリウォードに一致する予測された即時リウォード値を生成するようにダイナミクスモデル140を訓練する。
訓練エンジン116は、図4~図5を参照しつつ以下でより詳細に説明されているように、表現モデル130、ダイナミクスモデル140、および予測モデル150のパラメータ168のセットの値を共同して反復的に調整するために、適切な訓練技術、たとえば通時的逆伝播技術によるエンドツーエンドを使用して、これを行うことができる。
前述の訓練目的に従って訓練を実行することによって、たとえば、1つまたは複数の任意選択の正則化項に加えて、予測されたポリシー出力、値出力、および予測された即時リウォード値にそれぞれ対応する合計3つの誤差項のみを評価する目的関数を最適化することによって、表現モデル130は、すなわち訓練を通じて、元の観測を再構成するのに必要なすべての情報をキャプチャする隠れ状態を出力するように制約される、または要求される、ことはない。表現モデル130は、環境の未知の、実際の状態に一致する隠れ状態を出力するように制約されるまたは要求される、ことはない。そして、表現モデル130は、隠れ状態を通じて環境のセマンティクスをモデル化するよう制約されるまたは要求される、こともない。その代わりに、表現モデル130は、たとえば、目的関数の計算された勾配の逆伝播を通じて、現在および将来の値およびポリシー出力を生成することに関連するいかなる方法でも環境状態を特徴付ける隠れ状態を出力するように訓練され得る。これは、システム100が維持し予測するために必要な情報の量を劇的に低減し、それによってコンピューティングリソース(たとえば、メモリおよびコンピューティングパワー)を節減するだけでなく、これは、また、最も正確なプランニングを結果としてもたらし得るカスタマイズされた、たとえば、タスク、エージェント、または環境特有の、ルールまたはダイナミクスの学習を円滑にする。
いくつかの実装形態において、訓練エンジン116は、リプレイメモリ114に記憶された最近の経験(すなわち、観測、アクション、および任意選択で、前のタイムステップに対するリウォードを含む軌跡)から、プランニングエンジン120に含まれるモデルを訓練する。一般的に、軌跡は、モデルの訓練に使用するためにエージェントまたは別のエージェントと環境または環境の別のインスタンスとのインタラクティブなやり取りの結果として生成された経験情報から導出され得る。各軌跡は、エージェントと環境とのインタラクティブなやり取りに関する情報を表す。
いくつかの実装形態において、システム100は、リプレイメモリ114において維持される軌跡データの組成を、たとえばリプレイメモリ内の軌跡データのある割合、たとえば80%、70%、または60%を新しい軌跡データとして、また残りの割合、たとえば他の20%、30%、または40%を古い軌跡データ、たとえば、システムの訓練の開始前に生成されたデータまたはモデルの訓練時にすでに使用されているデータとして維持することによって、制御することができる。新しい軌跡データは、進行中の訓練の結果として決定され、モデルを訓練するためにまだ使用されていない、プランニングエンジン120に含まれるモデルの最近のパラメータ値に従ってプランニングエンジン120を使用してアクション110を選択することによって環境102とインタラクティブにやり取りするようにエージェント108を制御することによって生成される経験を指す。次いで、システムは、リプレイメモリ114内の新しいデータと古いデータの両方でモデルを訓練することができる。古いデータで訓練することは、古いデータを再分析することと見なされ、図7を参照しつつ以下に説明される。
いくつかの場合において、システムは、データ効率のよい方式、すなわち、エージェントと環境とのインタラクティブなやり取りによって生成される必要がある訓練データの量を最小にする方式でモデルを訓練することが要求され得る。これは、訓練によって消費されるコンピューティングリソースの量を減少させ、エージェントが現実世界のエージェントであるときに、訓練時に環境とインタラクティブにやり取りすることによって引き起こされる機械的エージェント上の擦り切れを低減することができる。一般的に、システムは、訓練に使用される新しいデータに対する古いデータの割合を高めることによってこのデータ効率を達成することができる。
なおも他の実装形態において、エージェントによる環境とのインタラクティブなやり取りの結果として生成された「古い」データの代わりに、またはそれに加えて、システムは、別の「エキスパート」エージェントと環境とのインタラクティブなやり取りの結果として生成されるデモンストレーションデータにアクセスすることができる。エキスパートエージェントは、タスクを実行するようにすでに訓練されているエージェントであり得るか、または人間ユーザによって制御されているエージェントであってもよい。システムは、このデモンストレーションデータを(エージェントによるインタラクティブなやり取りの結果として生成された「古い」データの代わりに、またはそれに加えて)「古い」データとしてリプレイメモリに追加することもできる。
他の実装形態において、システムは、エージェント(または別のエージェント)が異なるポリシーによって制御されたときに以前に生成されている軌跡データにしかアクセスできず、機械学習モデルをオフラインで、すなわち、新しい訓練データを生成するために環境とインタラクティブにやり取りするようにエージェントを制御できないまま、訓練しなければならない。これらの実装形態において、システムは、この軌跡データに対して、図7を参照しつつ上および下で説明されている再分析技術を、すなわち、古いデータ(軌跡データ)の割合を1に設定し、新しいデータを0に設定することによって、使用することができる。いくつかの場合において、システムが、以前に生成された軌跡データ上で妥当な性能を達成するようにモデルを訓練した後に、システムは、そのモデルを使用して、エージェントに環境とインタラクティブにやり取りさせることができるものとしてよい。これらの場合において、モデルがアクセス権を与えられた後、システムは、モデルの性能を「微調整」するために新しいデータのみで、または新しいデータと軌跡データとを混合したもの、のいずれかでモデルを訓練することに戻ることができる。
図2は、エージェントにタスクを実行させるための環境とインタラクティブにやり取りするエージェントによって実行されるべきアクションを選択するための例示的な一プロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、図1の強化学習システム100は、本明細書に従って適切にプログラムされて、プロセス200を実行することができる。
一般に、エージェントを制御して環境と実際にインタラクティブにやり取りするときに、システムは、新しい環境状態に応答してエージェントによって実行されるべき可能なアクションのセットから新しいアクションを選択するために、環境が新しい状態(以下「現在の」状態と称される)に遷移するたびにプロセス200の反復を実行することができる。
システムは、環境の現在の環境状態を特徴付ける現在の観測(たとえば、画像またはビデオフレーム)を受け取る(202)。
システムは、表現モデルを用いて、表現モデルパラメータの訓練済み値に従って、現在の観測を含む表現モデル入力を処理し、環境の現在の状態に対応する隠れ状態を生成する。隠れ状態は、観測のコンパクトな表現、すなわち、観測よりも低い次元を有する表現である。いくつかの実装形態において、表現モデル入力は、現在の観測のみを含む。いくつかの他の実装形態において、表現モデル入力は、1つまたは複数の前の観測も含む。
次いで、システムは、複数回のプランニング反復を実行して、環境内で、現在の環境状態から始めて、アクションのセットの各アクションを実行するエージェントのタスクを実行することに対するそれぞれの値を示すプランデータを生成する。各プランニング反復は、一般的に、図1を参照しつつ上で説明されているように、先読み探索、たとえば、モンテカルロ木探索を実行して、状態木内の対応するノード-エッジ対に対するコンパイルされた統計量に従ってそれぞれのアクションを繰り返し(すなわち、各プランニング反復の複数のプランニングステップの各々で)選択することを伴う。これは、システムが現在の観測によって特徴付けられる現在の状態から始まる環境の可能な将来の状態を走査することを可能にする。
より具体的には、各プランニング反復において、システムは、状態木のルートノード(ステップ202で生成された隠れ状態に対応する)から始めて先読み探索を開始し、終了基準を満たす可能な将来の状態に遭遇するまで先読み探索を続ける。たとえば、先読み探索は、モンテカルロ木探索であってもよく、その基準は、将来の状態が状態木の葉ノードによって表されることであってよい。次いで、システムは、204~206の次に示すステップを実行することを使用することによって葉ノードを拡張する。簡潔に述べると、葉ノードを拡張するために、システムは、葉ノードによって表される葉環境状態(以下で「入力環境状態」と称される)に応答してエージェントによって実行されるべき可能な(または有効な)アクション(以下で「入力アクション」と称される)に対する状態木に新しいエッジを追加し得る。たとえば、アクションは、状態木における葉ノードの親ノードに対応するノード-エッジ対のコンパイルされた統計量に従ってシステムによって選択されるアクションであり得る。システムは、また、新しいエッジに対する訪問カウントおよびアクションスコアをゼロに設定することによって新しいエッジに対する統計データを初期化する。
システムは、ダイナミクスモデルを使用し、ダイナミクスモデルパラメータの訓練済み値に従って、a)入力環境状態に対応する隠れ状態とb)可能なアクションのセットからの入力アクションを指定するデータとを処理し(204)、出力として、a)環境が入力環境状態にあるときにエージェントが入力アクションを実行した場合に環境が遷移するであろう予測された次の環境状態に対応する隠れ状態と、いくつかの場合において、b)環境が入力環境状態にあるときにエージェントが入力アクションを実行した場合に受け取るであろう即時リウォードを表す予測された即時リウォード値を指定するデータとを生成する。たとえば、即時リウォード値は、環境が入力環境状態にあるときに入力アクションを実行した結果としてタスクを完了する際の進捗を表す数値であってよい。
システムは、予測モデルを使用し、予測モデルパラメータの訓練済み値に従って、予測された次の環境状態に対応する隠れ状態を処理し(206)、a)可能なアクションのセット上でスコア分布を定義する予測されたポリシー出力、およびb)タスクの実行への予測された次の環境状態にある環境の値を表す値出力を生成する。
プランニング反復の最終ステップとして、システムは、次いで、葉ノードを評価し、モデル出力に基づき探索時に走査されたエッジの統計データを更新する。システムは、予測モデル出力によって定義されたスコア分布からの新しいエッジに対応するスコアを新しいエッジに対する事前確率Pとして使用し得る。また、システムは、予測モデルネットワークの値出力から新しいエッジに対するアクションスコアQを決定し得る。
プランニング反復時に走査された各エッジについて、システムは、エッジに対する訪問カウントNを所定の定数値、たとえば1だけインクリメントし得る。システムは、また、アクションスコアQを、エッジを走査することを伴うすべての探索の予測値の新しい平均に等しくなるように設定することによって葉ノードに対する予測値を使用してエッジに対するアクションスコアQを更新し得る。
図3Aは、プランデータを生成するために1つのプランニング反復を実行する例示的な説明図である。この例におけるプランニング反復は、環境の現在の状態の後に3つの状態の予測されたロールアウトを結果としてもたらす3つのアクションのシーケンスを含む。
描かれているように、プランニング反復は、状態木302を走査することから始まり、状態木が葉状態、すなわち、状態木内の葉ノード、たとえば、ノード332によって表される状態に達するまで続き、その後、葉ノードを展開し、ステップ204~206を参照しつつ上で説明されているように、ダイナミクスモデルgおよび予測モデルfを使用して新たに追加されたエッジを評価し、葉ノードに対する予測リターンに基づき探索時に走査されるエッジに対する統計データを更新する。状態木を走査するときに、システムは、状態木の対応するノード-エッジ対のコンパイルされた統計量に従って走査されるべきエッジ(プランニングにおいて選択されたアクションa1-a3のシーケンスに対応する)を選択する。
特に、従来のシステムとは異なり、このシステムは、環境のシミュレータを使用することによってプランニング反復を実行しない、すなわち、所与のアクションが所与の状態で実行された結果、環境がどの状態に遷移するかを決定するために環境のシミュレータを使用しない。特に、システムは、所与のアクションが所与の状態で実行される結果として環境が遷移する状態のシミュレートされたまたは予測された観測を決定する試みをまったく行わない。その代わりに、システムは、ダイナミクスモデルgの隠れ状態出力に基づきプランニング反復を実行する。
たとえば、図3Aに描かれているように、ノード322が計画中の状態木の葉ノードであったときに、およびシステムが葉ノード322を拡張しようとした場合に、システムは、(i)ダイナミクスモデルgを使用して隠れ状態s2およびアクションa3を指定するデータを処理して、出力として、予測された次の環境状態に対応する隠れ状態s3、およびいくつかの場合において、予測された即時リウォード値r3を指定するデータを生成し、次いで、(ii)予測モデルfを使用してダイナミクスモデルgによって生成された隠れ状態s3を処理して、出力として、予測されたポリシー出力p3および値出力v3を生成することによって、これを行うことが可能であろう。したがって、システムは、これらの隠れ状態、たとえば、隠れ状態s1~s3のみを使用してプランニングを実行することができるが、その一方で、従来のシステムは、典型的には、各状態を特徴付ける完全な観測、たとえば、環境の現在の環境状態を特徴付ける受け取られた現在の観測o0と同じ形式またはモダリティを有する観測を反復的に再構成することによってプランニングを実行する必要がある。
図3Aの例は、現在の環境状態から始まる合計3つの予測された将来の環境状態のロールアウトを示し、それぞれの環境状態に対応する各隠れ状態は、対応する予測されたポリシー出力、予測された値、予測された即時リウォード値、および実際のアクション選択ポリシーを使用して選択されたアクションに関連付けられる。しかしながら、図3Aに例示されているものと異なる、たとえば、より大きな数の隠れ状態および異なる数の予測されたポリシー出力、予測された値、および予測された即時リウォード値が、システムによって生成され得る。
プランデータを生成するために上で説明されているような複数のプランニング反復を実行した後、システムは、生成されたプランデータに基づき、アクションのセットから、現在の観測に応答してエージェントによって実行されるべきアクションを選択することに進む(208)。特に、プランデータは、状態木のルートノード、すなわち、現在の観測によって特徴付けられる状態に対応するノードのいくつかのまたはすべての出て行くエッジの各々についてプランニングにおいてコンパイルされた統計データを含むことができ、システムは、ルートノードに対応するノード-エッジ対の統計データに基づきアクションを選択することができる。
いくつかの実装形態において、システムは、状態木のルートノードによって特徴付けられる環境状態に対応する観測に応答してエージェントによって実行され得る可能なアクションに対応するエッジの訪問カウントに基づきこの選択を行うことができる。図3Aの例では、システムは、状態木302のルートノード312の各出て行くエッジに対する訪問カウントに比例するアクションを選択することができる。
いくつかの実装形態において、システムは、プランデータ中のアクションのシーケンスから、最大の関連する値出力を有するアクションのシーケンスを決定し、その後、現在の観測に応答してエージェントによって実行されるべきアクションとして、アクションの決定済みシーケンス中の最初のアクションを選択することによって、この選択を行うことができる。図3Aの例では、システムは、複数のプランニング反復にわたって生成されたアクションのすべての異なるシーケンスの間でアクションa1~a3のシーケンスが最大の関連付けられた値出力を有すると仮定して、実行されるべきアクションとしてa1を選択することができる。
図3Bは、生成済みプランデータに基づきエージェントによって実行されるべきアクションを選択する例示的な説明図である。上で説明されているように、環境の対応する状態の所与の観測、たとえば観測otについて、アクション、たとえばアクションat+1が、システムによって選択され、プロセス200の反復を処理することに基づいている。エージェントによる選択されたアクションの実際の実行は、環境を進行させて新しい状態に遷移させ、そこから新しい観測、たとえば観測ot+1、および対応するリウォード、たとえばリウォードut+1が生成される。これに対応して、プロセス200の別の反復は、新しい観測によって特徴付けられる新しい状態に応答してエージェントによって実行されるべき新しいアクション、たとえば、アクションat+2を選択するために、システムによって実行され得る。
図3Bの例は、各々環境のそれぞれの状態を特徴付ける、合計3つの観測ot~ot+2を含む軌跡を示している。しかし、実際には、軌道は、環境状態の間のより長い一連の遷移をまとめて特徴付けるより多くの観測を含むことができ、したがって、長いエピソードタスクを含む、様々なタスクのうちのどれかを実行するときにエージェントと環境との間のインタラクション情報をキャプチャすることができる。このようにして生成された観測、アクション、およびいくつかの場合において、リウォードの各軌跡は、任意選択で、システムのリプレイメモリに記憶され、後からシステムの訓練を支援するために使用できる。
上記の説明では、任意の所与の葉ノードを評価するときにアクションのセットの中の各有効なアクションが評価される実装形態を説明している。しかしながら、他のいくつかの実装形態において、アクションのセットは、非常に大きいか、または連続的であり、各アクションを評価することは実行可能でないか、または過度に計算コストがかかる。
それらの実装形態において、システムは、図4を参照しつつ以下でより詳細に説明されているように、前述のプランニング技術に加えてアクションサンプリング技術を使用してエージェントによって実行されるべきアクションを選択することができる。
図4は、環境とインタラクティブにやり取りするエージェントによって実行されるべきアクションを選択するための別の例示的なプロセス400の流れ図である。便宜上、プロセス400は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、図1の強化学習システム100は、本明細書に従って適切にプログラムされて、プロセス400を実行することができる。
システムは、環境の現在の環境状態を特徴付ける現在の観測(たとえば、画像またはビデオフレーム)を受け取り(402)、表現モデルを使用することによって環境の現在の状態に対応する隠れ状態を生成する。
次いで、システムは、次のステップ404~412を繰り返し実行して、複数回のプランニング反復を実行し、環境内で、現在の環境状態から始めて、アクションのセットからの複数のアクションのうちの各々を実行するエージェントのタスクを実行することに対するそれぞれの値を示すプランデータを生成する。上で同様に説明されているように、これは、現在の環境状態から始まるエージェントによって実行されるべきアクションのシーケンスを、環境の状態木を走査することによって選択することを伴い、環境の状態木は環境の環境状態を表すノードと、環境の状態遷移を引き起こすエージェントによって実行され得るアクションを表すエッジとを有する。
各プランニング反復において、システムは、状態木内のノード-エッジ対に対する統計量を使用して、現在の環境状態を表す状態木のルートノードから始まり、状態木の葉ノードに到達するまで状態木を走査する(404)。一般的に、葉ノードは、子ノードを持たない、すなわち、出て行くエッジによって他のいかなるノードにも接続されていない、状態木内のノードである。
システムは、予測モデルを使用し、予測モデルパラメータの訓練済み値に従って、葉ノードによって表される環境状態に対応する隠れ状態を処理し(406)、出力として、a)アクションのセット上でスコア分布を定義する予測されたポリシー出力、およびb)タスクの実行への葉ノードによって表される状態にある環境の値を表す値出力を生成する。
システムは、アクションのセットの適切なサブセットをサンプリングする(408)。システムは、スコア分布からサンプリング分布を生成し、次いでサンプリング分布から固定された数のサンプルをサンプリングすることによって、これを行うことができる。これは、図1において上でより詳細に説明されているが、簡単に言えば、温度パラメータを使用してスコア分布のスコアをスケーリングすることを伴い得る。
システムは、サンプリングされたアクションに基づき状態木を更新する(410)。各サンプリングされたアクションについて、システムは、状態木に、サンプリングされたアクションを表す葉ノードからのそれぞれの出て行くエッジを追加する。
システムは、また、葉ノードに対応するノード-エッジ対に対する統計データを更新する(412)。各サンプリングされたアクションについて、システムは、サンプリングされたアクションを表すそれぞれの出て行くエッジを予測されたポリシー出力から導出されるサンプリングされたアクションの事前確率と関連付ける。
サンプリングされたアクションに対する事前確率を決定するために、システムは、予測モデルの予測されたポリシー出力によって定義されるスコア分布におけるアクションに対するスコアに補正係数を適用する。補正係数は、(i)サンプリングされたアクションが固定された数のサンプルでサンプリングされた回数、および(ii)サンプリング分布においてサンプリングされたアクションに割り当てられているスコアに基づき決定することができる。たとえば、補正係数は、(i)サンプリングされたアクションが固定された数のサンプルでサンプリングされた回数とその固定された数におけるサンプルの総数との比と(ii)サンプリング分布においてサンプリングされたアクションに割り当てられているスコアとの比に等しい。
プランデータを生成するために上で説明されているような複数のプランニング反復を実行した後、システムは、たとえば、状態木のルートノードの各出て行くエッジに対する訪問カウントを使用して選択を行うことによって、プランデータを使用して現在の観測に応答してエージェントによって実行されるべきアクションを選択することに進む(414)。
したがって、より一般的には、アクションのサブセットのみがサンプリングされたという事実を考慮して、システムは、補正係数を使用してサンプリングされたアクションに対する事前確率を生成し、次に、(補正された)事前確率を使用してアクションを選択することに進み、サンプリングが訓練時に実行されるときには、本明細書の残りの部分において説明されている通りである。
図5は、モデルパラメータの訓練済み値を決定するように強化学習システムを訓練するための例示的な一プロセス500の流れ図である。便宜上、プロセス500は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、図1の強化学習システム100は、本明細書に従って適切にプログラムされて、プロセス500を実行することができる。
システムは、リプレイメモリから軌跡を取得する(502)。たとえば、軌跡は、リプレイメモリからサンプリングされた軌跡のバッチのうちの1つであり得る。軌跡は、環境(または環境の別のインスタンス)の観測に応答してエージェント(または別のエージェント)によって実行される実際のアクション、およびいくつかの場合において、エージェントによって受け取られるリウォードに各々関連付けられている観測のシーケンスを含むことができる。
図6は、モデルパラメータの訓練済み値を決定するように強化学習システムを訓練することを例示する説明図である。描かれているように、軌跡602は、各々環境の対応する状態を特徴付ける、合計3つの観測ot~ot+2を含む。軌跡602は、また、各観測、たとえば、観測otについて、観測に応答してエージェントによって実行される実際のアクション、たとえば、アクションat+1、および環境が観測によって特徴付けられる状態にあるときに実際のアクションを実行したことに応答してエージェントによって受け取られる実際のリウォード、たとえば、リウォードut+1、も含む。
システムは、表現モデルを使用し、表現モデルパラメータの現在の値に従って、観測(「現在の観測」)と、いくつかの場合において、軌跡内の現在の観測に先行する1つまたは複数の前の観測を処理して環境の現在の状態に対応する隠れ状態を生成する(504)。
図6の例に描かれているように、システムは、表現モデルを使用して観測値otを処理し、現在の状態に対応する隠れ状態s0を生成する。
システムは、ダイナミクスモデルおよび予測モデルを使用して、現在の状態の後にある環境の所定数の状態のロールアウトを実行する(506)、すなわち、環境の現在の状態に対応する隠れ状態に続く所定の数の隠れ状態を生成する。
ロールアウトを実行するために、図6の例に描かれているように、システムは、ダイナミクスモデルを使用し、ダイナミクスモデルパラメータの現在の値に従って、繰り返し(すなわち、複数の訓練タイムステップの各々において)、a)隠れ状態、たとえば、隠れ状態s0と、b)軌跡内の対応するアクション、たとえば、アクションat+1(すなわち、現在の状態に応答してエージェントによって実行される実際のアクション)を指定するデータとを処理し、出力として、a)予測された次の環境状態に対応する隠れ状態、たとえば、隠れ状態s1、およびいくつかの場合において、b)予測された即時リウォード値、たとえば、予測された即時リウォードr1を指定するデータを生成する。システムは、また、予測モデルを使用し、予測モデルパラメータの現在の値に従って、予測された次の環境状態に対応する隠れ状態、たとえば、隠れ状態s1を繰り返し処理し、出力としてa)予測されたポリシー出力、たとえば、予測されたポリシー出力p1およびb)値出力、たとえば値出力v1を生成する。
システムは、プランニングに最も関連する量を測定する目的関数を評価する(508)。
特に、目的関数は、軌跡内の複数の観測の各々、たとえば、観測otおよび軌跡内の観測によって表される状態に続く1つまたは複数の後続の隠れ状態の各々、たとえば、隠れ状態s1について、(i)観測を条件として生成された後続の隠れ状態に対する予測されたポリシー出力、たとえば、予測されたポリシー出力p1と、観測に応答して、実際のアクション、たとえば、at+1を選択するために使用された実際のポリシーとの間のポリシー誤差と、(ii)観測を条件として生成された後続の隠れ状態について予測された値、たとえば、値出力v1と、後続の隠れ状態に対するターゲット値との間の値誤差と、(iii)観測を条件として生成された後続の隠れ状態に対する予測された即時リウォード、たとえば予測された即時リウォードr1と、後続の隠れ状態に対応する実際の即時リウォードとの間のリウォード誤差とを測定することができる。たとえば、後続の隠れ状態に対するターゲット値は、後続の隠れ状態から始まるエージェントによって受け取られるブートストラップされたnステップのリターンであり得る。
たとえば、この目的関数は、
Figure 0007419547000002
として評価されるものとしてよく、lr(u,r)=φ(u)Tlog rは予測された即時リウォード値とターゲット(実際の)リウォードuとの間の差を評価する第1の誤差項であり、lr(z,q)=φ(z)Tlog qは予測値出力とターゲット値
Figure 0007419547000003
との間の差を評価する第2の誤差項であり、lp(π,p)=πTlog pは予測されたポリシー出力と実際のアクションの選択ポリシーπ、たとえば、モンテカルロ木探索ポリシーとの間の差を評価する第3の誤差項である。たとえば、この差は、(i)状態木のルートノードの出て行くエッジの訪問カウントから導出される可能なアクションのセット上の経験的サンプリング分布と、(ii)予測モデルの予測されたポリシー出力によって定義される可能なアクションのセット上のスコア分布との間の差として評価され得る。
この例では、c||θ||2はL2正則化項であり、γはターゲット値zをブートストラップされたnステップターゲット値として計算するときに使用される割引係数であり、φ(x)は実数xをその隣接整数の線形結合を通して表現することを指し、これはスカラー数値xを同等のカテゴリー表現に効率的に変換する。
システムは、モデルパラメータに関する目的関数の勾配を計算することに基づき、また適切な訓練技術、たとえば通時的逆伝播技術によるエンドツーエンドを使用することによって、表現モデル、ダイナミクスモデル、および予測モデルのパラメータ値を更新する(510)。
一般に、システムは、プロセス500を繰り返し実行して、訓練終了基準が満たされるまで、たとえば、所定の数の訓練反復が完了した後、またはシステムの訓練のための所定の時間が経過した後、モデルパラメータ値を繰り返し更新してモデルパラメータの訓練済み値を決定することができる。
前述のプロセス400を実行することによって表現、ダイナミクス、および予測モデルパラメータに対する訓練済み値を決定する代わりに、またはそれに加えて、システムは、再分析技術を使用することによってそうすることができる。
いくつかの場合において、システムは、強化学習システムの訓練と再分析とを交互に行う。再分析において、システムは、リプレイメモリから以前にサンプリングされた軌跡を再訪し、軌跡を使用して、これらの軌跡上でシステムを訓練した結果として決定される表現、ダイナミクス、および予測モデルのパラメータ値を微調整する。たとえば、プロセス400が所定の反復回数だけ繰り返し実行されるたびに、システムは、以下で説明されているように1つまたは複数の再分析処理を実行して、これまでに実行された訓練反復の時点で決定されたモデルパラメータの現在値を調整するように進むことができる。
他の場合において、システムは、再分析に全面的に基づきモデルパラメータ値を更新することができる。たとえば、システムは、訓練時に環境とインタラクティブにやり取りするエージェントを制御することによって新しい軌跡データを収集することのコストが高くつくか、さもなければ実行不可能である場合、または異なるポリシーによって制御されている間に環境とインタラクティブにやり取りするエージェントの以前の経験しか利用できない場合、再分析技術を採用し得る。これらの場合、システムは、リプレイメモリから記憶されている軌跡をサンプリングし、サンプリングされた軌跡を使用して、表現、ダイナミクス、および予測モデルのパラメータ値を、すなわちすでに調整されている値ではなく初期値から調整する。
図7は、モデルパラメータの訓練済み値を決定するように強化学習システムを再分析するための例示的な一プロセス700の流れ図である。便宜上、プロセス700は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、図1の強化学習システム100は、本明細書に従って適切にプログラムされて、プロセス700を実行することができる。
システムは、訓練時にリプレイメモリから以前にサンプリングされた軌跡に含まれる観測のうちの1つであり得る観測(「現在の観測」)を取得する(702)。たとえば、観測は、プロセス500のステップ502においてシステムによって取得された軌跡における観測とすることができる。
システムは、図2を参照しつつ上で説明されているように、現在の環境状態から始めてエージェントによって実行されるべきアクションの複数のシーケンスを選択することを含む、ダイナミクスモデルおよび予測モデルによって生成された出力によって誘導される複数のプランニング反復を実行する(704)。特に、観測に対応する隠れ状態を生成し、再分析において葉ノードを拡張するために、システムは、これらのモデルの最新のパラメータ値、すなわち、プロセス500を実行した結果として、またはシステムの再分析の結果として最近更新されたパラメータ値に従って表現モデル、ダイナミクスモデル、および予測モデルを実行する。
システムは、新しいターゲットポリシー出力および新しいターゲット値出力を再計算し、次いで再計算された新しいターゲットポリシー出力および新しいターゲット値出力を、訓練時に使用された目的関数、たとえば式2の例示的な目的関数に代入することを含む再分析目的関数を評価する(706)。
特に、軌跡における複数の観測の各々について、また軌跡における観測によって表される状態に続く1つまたは複数の後続の隠れ状態の各々について、新しいターゲットポリシー出力は、最近更新されたパラメータ値に従って表現モデル、ダイナミクスモデル、および予測モデルによって生成された出力によって誘導される実際のアクション選択ポリシーπ、たとえば、モンテカルロ木探索ポリシーを使用して決定することができる。そして、ターゲット値出力は、
Figure 0007419547000004
で計算されるブートストラップされたnステップターゲット値であってよく、
Figure 0007419547000005
は予測モデルの最近更新されたパラメータ値θ-に従って隠れ状態s0を処理することから予測モデルfを使用することによって生成された値出力を表す。
サンプルの再利用を増やし、価値関数の過剰当てはめを回避するために、再分析目的関数を評価するときに、システムは、それに加えて、訓練目的関数に関連付けられているいくつかのハイパーパラメータ値を調整する、たとえば、ターゲット値出力に対する加重係数を引き下げ、ブートストラップしたnステップ目標値の計算で使用するステップ数を減らすものとしてよい。
システムは、モデルパラメータに関する再分析目的関数の勾配を計算することに基づき、また適切な訓練技術、たとえば通時的逆伝播技術によるエンドツーエンドを使用することによって、表現モデル、ダイナミクスモデル、および予測モデルのパラメータ値を更新する、たとえば、微調整する(708)。
本明細書では、システムおよびコンピュータプログラムコンポーネントと関連して「構成される」という言い回しを使用する。1つまたは複数のコンピュータのシステムについて、特定の動作またはアクションを実行するように構成されることは、システムがその上に動作時にそれらの動作またはアクションをシステムに実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のコンピュータプログラムについて、特定の動作またはアクションを実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されたときに、それらの動作またはアクションを装置に実行させる命令を含むことを意味する。
主題および本明細書で説明されている機能操作の実施形態は、本明細書で開示されている構造およびその構造的等価物を含む、デジタル電子回路で、明白に具現化されたコンピュータソフトウェアもしくはファームウェアで、ハードウェアで、またはこれらのうちの1つまたは複数のものの組合せで実装することができる。本明細書で説明されている主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するために有形な非一時的記憶媒体上にエンコードされたコンピュータプログラム命令からなる1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は、機械可読記憶装置デバイス、機械可読記憶装置基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せとすることができる。代替的に、またはそれに加えて、プログラム命令は、データ処理装置による実行のため好適な受信機装置に送信する情報がエンコードされるように生成される、人工的に生成された伝搬信号、たとえば、機械で生成された電気、光、または電磁信号上でエンコードされ得る。
「データ処理装置」という語はデータ処理ハードウェアを指し、たとえばプログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを備える、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)でもあり得るか、またはさらに含み得る。装置は、任意選択で、ハードウェアに加えて、コンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つまたは複数のものの組合せを構成するコードを含むこともできる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも称されるか、または記述され得る、コンピュータプログラムは、コンパイル言語もしくはインタプリタ言語または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で書かれることが可能であり、スタンドアロンプログラム、またはモジュール、構成要素、サブルーチン、またはコンピューティング環境において使用するのに適している他のユニットを含む、任意の形態でデプロイされることが可能である。プログラムは、ファイルシステム内のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶される1つまたは複数のスクリプトを保持するファイルの一部に、注目しているプログラム専用の単一ファイルに、または複数の協調ファイル、たとえば、1つまたは複数のモジュール、副プログラム、またはコードの一部分を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されるか、または複数のサイトにまたがって分散され、データ通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるようにデプロイされることが可能である。
本明細書では、「データベース」という用語は、データの任意の集合体を指すように広い意味で使用され、データは、任意の特定の方法で構造化されている必要はないか、またはまったく構造化されず、1つまたは複数の場所にある記憶デバイス上に記憶され得る。したがって、たとえば、インデックスデータベースは、データの複数の集合体を含んでいてもよく、その各々は異なる仕方で編成され、アクセスされてよい。
同様に、本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされているソフトウェアベースのシステム、サブシステム、またはプロセスを指すように広い意味で使用されている。一般に、エンジンは、1つまたは複数の場所にある1つまたは複数のコンピュータ上にインストールされる、1つまたは複数のソフトウェアモジュールもしくはコンポーネントとして実装される。いくつかの場合において、1つまたは複数のコンピュータは特定のエンジン専用とされ、他の場合において、複数のエンジンが、同じ1つのもしくは複数のコンピュータ上にインストールされ、実行することができる。
本明細書で説明されているプロセスおよび論理の流れは、入力データを操作し、出力を生成することによって機能を実行するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行され得る。プロセッサおよび論理の流れは、また、専用論理回路、たとえば、FPGAもしくはASICによって、または専用論理回路と1つもしくは複数のプログラムされたコンピュータとの組合せによって実行され得る。
コンピュータプログラムの実行に適しているコンピュータは、汎用マイクロプロセッサ、専用マイクロプロセッサ、もしくはその両方、または任意の他の種類の中央演算処理装置に基づくものとしてよい。一般的に、中央演算処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を遂行または実行するための中央演算処理装置ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用論理回路によって補助されるか、または専用論理回路に組み込まれ得る。一般的に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶装置デバイス、たとえば、磁気ディスク、磁気光ディスク、または光ディスクも備え、これらからデータを受け取るか、またはこれらにデータを転送するか、またはその両方を行うように動作可能なように結合される。しかしながら、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、他のデバイス、たとえば、2、3例を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオまたはビデオプレーヤー、ゲーム機、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれ得る。
コンピュータプログラムの命令およびデータを格納するのに適したコンピュータ可読媒体は、たとえば、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
ユーザと情報のやり取りを行うために、本明細書で説明されている発明対象の実施形態は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)ならびにユーザがコンピュータに入力を送るために使用できるキーボードおよびポインティングデバイス(たとえば、マウスもしくはトラックボール)を有するコンピュータ上で実装されることが可能である。他の種類のデバイスも、ユーザとインタラクティブにやり取りするために使用されてよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、限定はしないが、音響、音声、または触覚入力を含む、任意の形態で受信され得る。それに加えて、コンピュータは、ドキュメントをユーザによって使用されるデバイスに送り、そのデバイスからドキュメントを受け取ることによって、たとえば、ウェブブラウザから受け取った要求に応答して、ウェブページをユーザのデバイス上のウェブブラウザに送信することによって、ユーザとインタラクティブにやり取りすることができる。また、コンピュータはテキストメッセージまたは他の形態のメッセージを個人用デバイス、たとえば、メッセージングアプリケーションが稼動しているスマートフォンに送信し、それに応えてユーザから応答メッセージを受信することによってユーザとインタラクティブにやり取りすることができる。
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習の訓練または生成、すなわち、推論、作業負荷の共通の、および計算集約的な部分を処理するための専用ハードウェアアクセラレータユニットも備え得る。
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装され、デプロイされ得る。
本明細書で説明されている主題の実施形態は、バックエンドコンポーネントを、たとえば、データサーバとして備えるか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを備えるか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明されている主題の実装形態をインタラクティブに操作するために使用することができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを備えるコンピューティングシステムで、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せで実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワーク、によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じてインタラクティブな操作を行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。いくつかの実装形態において、サーバはデータ、たとえば、HTMLページをユーザデバイスに、たとえば、クライアントとして働く、デバイスをインタラクティブに操作するユーザにデータを表示し、そのユーザからユーザ入力を受け取ることを目的して、伝送する。ユーザデバイスで生成されるデータ、たとえば、ユーザインタラクションの結果は、サーバ側でデバイスから受信され得る。
本明細書は、多くの実装固有の詳細事項を含んでいるが、これらは、発明の範囲または請求内容の範囲に対する制限として解釈すべきではなく、むしろ特定の発明の特定の実施形態に特有のものであると思われる特徴の説明として解釈すべきである。別の実施形態の文脈において本明細書で説明されているいくつかの特徴も、単一の実施形態において組合せで実装され得る。逆に、単一の実施形態の文脈において説明されている様々な特徴は、複数の実施形態で別々に、または好適な部分的組合せで、実装され得る。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象としてもよい。
同様に、動作は特定の順序で図面に示され、特許請求の範囲において引用されているが、そのような動作は、望ましい結果を達成するために、示される特定の順序でもしくは順番に実行される必要がないことを、またはすべての図示の動作が実行される必要があるとは限らないことを、理解されたい。ある状況では、マルチタスキングおよび並列処理が有利である場合がある。さらに、上で説明されている実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離が必要とされるものと理解されるべきではなく、前述のプログラム構成要素およびシステムが概して単一のソフトウェアプロダクトとして一体化されるかまたは複数のソフトウェアプロダクトとしてパッケージ化されてもよいことを理解されたい。
主題の特定の実施形態が説明されている。他の実施形態は、添付の特許請求の範囲内に収まる。たとえば、特許請求の範囲に記載のアクションは、異なる順序で実行することができ、それでも、所望の結果を得ることができる。一例として、添付図面に示されているプロセスは、必ずしも、望ましい結果を達成するために、図示されている特定の順序、または順番を必要としない。いくつかの場合において、マルチタスキングおよび並列処理が有利であり得る。
100 強化学習システム
102 環境
104 観測
106 リウォード
108 エージェント
110 アクション
114 リプレイメモリ
116 訓練エンジン
120 プランニングエンジン
122 プランデータ
130 表現モデル
140 ダイナミクスモデル
150 予測モデル
160 アクションサンプリングエンジン
200 プロセス
302 状態木
312 ルートノード
332 ノード
400 プロセス
500 プロセス
602 軌跡
700 プロセス

Claims (24)

  1. アクションのセットから、環境とインタラクティブにやり取りするエージェントによって実行されるべきアクションを選択し、前記エージェントにタスクを実行させるための方法であって、
    前記環境の現在の環境状態を特徴付ける現在の観測を受け取るステップと、
    前記環境におけるアクションの前記セットからの複数のアクションの各々を実行し、前記現在の環境状態から始まる、前記エージェントの前記タスクを実行することに対するそれぞれの値を示すプランデータを生成する複数のプランニング反復を実行するステップであって、各プランニング反復を実行するステップは、
    前記現在の環境状態から始まる前記エージェントによって実行されるべきアクションのシーケンスを、前記環境の状態木を走査するステップによって選択するステップであって、前記環境の前記状態木は前記環境の環境状態を表すノードと、前記環境の状態遷移を引き起こす前記エージェントによって実行され得るアクションを表すエッジとを有し、前記状態木を走査するステップは、
    前記状態木のエッジに対する統計量を使用して、前記現在の環境状態を表す前記状態木のルートノードから始まり、前記状態木の葉ノードに到達するまで前記状態木を走査するステップと、
    前記葉ノードによって表される環境状態に対応する隠れ状態を、入力として前記隠れ状態を受け取り、出力として少なくともアクションの前記セット上でスコア分布を定義する予測されたポリシー出力を生成するように構成される予測モデルを使用して、処理するステップと、
    アクションの前記セットの適切なサブセットをサンプリングするステップと、
    前記状態木を、各サンプリングされたアクションについて、前記状態木に、前記サンプリングされたアクションを表す前記葉ノードからのそれぞれの出て行くエッジを追加することによって更新するステップと、
    前記統計量を、各サンプリングされたアクションについて、前記サンプリングされたアクションを表す前記それぞれの出て行くエッジを前記予測されたポリシー出力から導出される前記サンプリングされたアクションに対する事前確率と関連付けることによって、更新するステップとを含む、選択するステップを含む、実行するステップと、
    前記プランデータを使用して前記現在の観測に応答して前記エージェントによって実行されるべきアクションを選択するステップとを含む方法。
  2. アクションの前記セットの適切なサブセットをサンプリングするステップは、
    前記スコア分布からサンプリング分布を定義するデータを生成するステップと、
    前記サンプリング分布から固定された数のサンプルをサンプリングするステップとを含む請求項1に記載の方法。
  3. 前記サンプリング分布を生成するステップは、温度パラメータで前記スコア分布を調節するステップを含む請求項2に記載の方法。
  4. 前記葉ノードが前記ルートノードと同じであるときに、前記サンプリング分布を生成するステップは、ノイズを前記スコア分布に加えるステップを含む請求項2または3に記載の方法。
  5. 前記スコア分布における前記アクションに対する前記スコアに補正係数を適用することによって前記サンプリングされたアクションに対するそれぞれの前記事前確率を生成するステップをさらに含む請求項2から4のいずれか一項に記載の方法。
  6. 前記補正係数は、(i)前記サンプリングされたアクションが前記固定された数のサンプルでサンプリングされた回数、および(ii)前記サンプリング分布において前記サンプリングされたアクションに割り当てられているスコアに基づく請求項5に記載の方法。
  7. 前記補正係数は、(i)前記サンプリングされたアクションがサンプリングされた前記回数とサンプルの前記固定された数との比と(ii)前記サンプリング分布において前記サンプリングされたアクションに割り当てられている前記スコアとの比に等しい請求項6に記載の方法。
  8. 前記プランデータは、前記複数のプランニング反復の間に前記対応するアクションが選択された回数を表す前記ルートノードからの各出て行くエッジに対するそれぞれの訪問カウントを含み、前記現在の観測に応答して前記エージェントによって実行されるべき前記アクションを選択するステップは、前記それぞれの訪問カウントを使用してアクションを選択するステップを含む請求項1から7のいずれか一項に記載の方法。
  9. システムであって、1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されたときに、前記1つまたは複数のコンピュータに請求項1から8のいずれか一項に記載の方法の動作を実行させる命令を記憶する1つまたは複数の記憶デバイスとを備えるシステム。
  10. 1つまたは複数のコンピュータによって実行されたときに、前記1つまたは複数のコンピュータに請求項1から8のいずれか一項に記載の方法の動作を実行させる命令を記憶する1つまたは複数のコンピュータ記憶媒体。
  11. アクションのセットから、環境とインタラクティブにやり取りするエージェントによって実行されるべきアクションを選択し、前記エージェントにタスクを実行させるための方法であって、
    前記環境の現在の環境状態を特徴付ける現在の観測を受け取るステップと、
    前記環境におけるアクションの前記セットの各アクションを実行し、前記現在の環境状態から始まる、前記エージェントの前記タスクを実行することに対するそれぞれの値を示すプランデータを生成する複数のプランニング反復を実行するステップであって、各プランニング反復を実行するステップは、
    前記エージェントによって実行されるべきアクションのシーケンスを、前記現在の環境状態から始めて、
    (i)入力として、a)入力環境状態に対応する隠れ状態およびb)アクションの前記セットからの入力アクションを受け取り、出力として、少なくとも、前記環境が前記入力環境状態にあるときに前記エージェントが前記入力アクションを実行した場合に前記環境が遷移するであろう予測される次の環境状態に対応する隠れ状態を生成するように構成されるダイナミクスモデル、ならびに
    (ii)入力として、前記予測された次の環境状態に対応する前記隠れ状態を受け取り、出力として、a)アクションの前記セット上でスコア分布を定義する予測されたポリシー出力、およびb)前記タスクの実行への前記予測された次の環境状態にある前記環境の値を表す値出力を生成するように構成される予測モデルによって生成される出力に基づき、選択するステップを含む、実行するステップと、
    アクションの前記セットから、前記生成されたプランデータに基づき前記現在の観測に応答して前記エージェントによって実行されるべきアクションを選択するステップとを含む方法。
  12. 前記ダイナミクスモデルは、出力として、前記環境が前記入力環境状態にあるときに前記エージェントが前記入力アクションを実行した場合に受け取られるであろう即時リウォードを表す予測された即時リウォード値も生成し、前記即時リウォード値は、前記環境が前記入力環境状態にあるときに前記入力アクションを実行した結果として前記タスクを完了する際の進捗を表す数値である請求項11に記載の方法。
  13. アクションの前記シーケンスを選択するステップは、アクションの前記シーケンスを、
    前記現在の観測を含む表現入力を受け取り、出力として、前記環境の前記現在の状態に対応する隠れ状態を生成するように構成される表現モデルによって生成された出力、に基づき選択するステップをさらに含む請求項11または12に記載の方法。
  14. 前記表現入力は、前記現在の状態に先立って前記環境が遷移した1つまたは複数の前の状態を特徴付ける1つまたは複数の前の観測をさらに含む請求項13に記載の方法。
  15. 前記表現モデル、前記ダイナミクスモデル、および前記予測モデルは、軌跡データのセットからのサンプリングされた軌跡上の共同訓練エンドツーエンドである請求項13または14に記載の方法。
  16. 前記表現モデル、前記ダイナミクスモデル、および前記予測モデルは、複数の特定の観測の各々について、
    前記軌跡内の前記特定の観測によって表される前記状態に続く1つまたは複数の後続の状態の各々に対して、
    (i)前記特定の観測を条件として生成された前記後続の状態に対する前記予測されたポリシー出力と、前記観測に応答してアクションを選択するために使用された実際のポリシーとの間のポリシー誤差と、
    (ii)前記特定の観測を条件として生成された前記後続の状態について予測された前記値と、前記後続の状態から始めて受け取られる実際のリターンとの間の値誤差とを測定する対象上の共同訓練エンドツーエンドである請求項15に記載の方法。
  17. 前記対象は、また、前記複数の特定の観測の各々について、
    前記軌跡内の前記特定の観測によって表される前記状態に続く前記1つまたは複数の後続の状態の各々に対して、
    前記特定の観測を条件として生成された前記後続の状態に対する前記予測された即時リウォードと、前記後続の状態に対応する実際の即時リウォードとの間のリウォード誤差を測定する、請求項12の記載を引用する場合の請求項16に記載の方法。
  18. 前記ダイナミクスモデルおよび前記表現モデルは、前記隠れ状態を通して前記環境のセマンティクスをモデル化するように訓練されない請求項15から17のいずれか一項に記載の方法。
  19. 前記後続の状態から始まる前記実際のリターンは、ブートストラップされたnステップリターンである請求項16もしくは17、または請求項16の記載を引用する場合の請求項18に記載の方法。
  20. アクションの前記セットから、前記生成されたプランデータに基づき前記現在の観測に応答して前記エージェントによって実行されるべきアクションを選択するステップは、マルコフ決定過程(MDP)プランニングアルゴリズムを使用して前記アクションを選択するステップを含む請求項11から18のいずれか一項に記載の方法。
  21. 各プランニング反復についてアクションの前記シーケンスを選択するステップおよび前記エージェントによって実行されるべき前記アクションを選択するステップは、モンテカルロ木探索(MCTS)アルゴリズムを使用して実行される請求項20に記載の方法。
  22. アクションの前記セットから、前記生成されたプランデータに基づき前記現在の観測に応答して前記エージェントによって実行されるべきアクションを選択するステップは、
    前記プランデータ内のアクションの前記シーケンスから、最大の関連付けられた値出力を有するアクションのシーケンスを決定するステップと、
    前記現在の観測に応答して前記エージェントによって実行されるべき前記アクションとして、アクションの前記決定されたシーケンス内の最初のアクションを選択するステップとを含む請求項20に記載の方法。
  23. システムであって、1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されたときに、前記1つまたは複数のコンピュータに請求項11から22のいずれか一項に記載の方法の動作を実行させる命令を記憶する1つまたは複数の記憶デバイスとを備えるシステム。
  24. 1つまたは複数のコンピュータによって実行されたときに、前記1つまたは複数のコンピュータに請求項11から22のいずれか一項に記載の方法の動作を実行させる命令を記憶する1つまたは複数のコンピュータ記憶媒体。
JP2022545880A 2020-01-28 2021-01-28 学習済み隠れ状態を使用するエージェント制御のためのプランニング Active JP7419547B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GR20200100037 2020-01-28
GR20200100037 2020-01-28
PCT/IB2021/050691 WO2021152515A1 (en) 2020-01-28 2021-01-28 Planning for agent control using learned hidden states

Publications (2)

Publication Number Publication Date
JP2023511630A JP2023511630A (ja) 2023-03-20
JP7419547B2 true JP7419547B2 (ja) 2024-01-22

Family

ID=74505312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022545880A Active JP7419547B2 (ja) 2020-01-28 2021-01-28 学習済み隠れ状態を使用するエージェント制御のためのプランニング

Country Status (7)

Country Link
US (1) US20230073326A1 (ja)
EP (1) EP4097643A1 (ja)
JP (1) JP7419547B2 (ja)
KR (1) KR20220130177A (ja)
CN (1) CN115280322A (ja)
CA (1) CA3166388A1 (ja)
WO (1) WO2021152515A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11710276B1 (en) * 2020-09-21 2023-07-25 Apple Inc. Method and device for improved motion planning
WO2023057185A1 (en) 2021-10-06 2023-04-13 Deepmind Technologies Limited Coordination of multiple robots using graph neural networks
WO2023177790A1 (en) * 2022-03-17 2023-09-21 X Development Llc Planning for agent control using restart-augmented look-ahead search
US20230303123A1 (en) * 2022-03-22 2023-09-28 Qualcomm Incorporated Model hyperparameter adjustment using vehicle driving context classification
DE102022210934A1 (de) 2022-10-17 2024-04-18 Continental Autonomous Mobility Germany GmbH Planung einer Trajektorie

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032864A1 (en) 2016-07-27 2018-02-01 Google Inc. Selecting actions to be performed by a reinforcement learning agent using tree search
WO2018215665A1 (en) 2017-05-26 2018-11-29 Deepmind Technologies Limited Training action selection neural networks using look-ahead search
JP2020009122A (ja) 2018-07-06 2020-01-16 国立研究開発法人産業技術総合研究所 制御プログラム、制御方法及びシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032864A1 (en) 2016-07-27 2018-02-01 Google Inc. Selecting actions to be performed by a reinforcement learning agent using tree search
WO2018215665A1 (en) 2017-05-26 2018-11-29 Deepmind Technologies Limited Training action selection neural networks using look-ahead search
JP2020009122A (ja) 2018-07-06 2020-01-16 国立研究開発法人産業技術総合研究所 制御プログラム、制御方法及びシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tobias Jung, Damien Ernst, Francis Maes,Optimized Look-Ahead Trees: Extensions to Large and Continuous Action Spaces,2013 IEEE Symposium on Adaptive Dynamic Programming and Reinforcement Learning (ADPRL),2013年

Also Published As

Publication number Publication date
WO2021152515A1 (en) 2021-08-05
US20230073326A1 (en) 2023-03-09
CA3166388A1 (en) 2021-08-05
CN115280322A (zh) 2022-11-01
JP2023511630A (ja) 2023-03-20
KR20220130177A (ko) 2022-09-26
EP4097643A1 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
JP7419547B2 (ja) 学習済み隠れ状態を使用するエージェント制御のためのプランニング
EP3776364B1 (en) Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural networks
US11948085B2 (en) Distributional reinforcement learning for continuous control tasks
US11627165B2 (en) Multi-agent reinforcement learning with matchmaking policies
EP3788549B1 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
CN112119404A (zh) 样本高效的强化学习
CN116776964A (zh) 用于分布式强化学习的方法、程序产品和存储介质
US20210158162A1 (en) Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space
JP7354460B2 (ja) ブートストラップされた潜在性の予測を使用するエージェント制御のための学習環境表現
JP2023512722A (ja) 適応リターン計算方式を用いた強化学習
US11604941B1 (en) Training action-selection neural networks from demonstrations using multiple losses
JP2024506025A (ja) 短期記憶ユニットを有する注意ニューラルネットワーク
US20220076099A1 (en) Controlling agents using latent plans
US20240086703A1 (en) Controlling agents using state associative learning for long-term credit assignment
US20230140899A1 (en) Rating tasks and policies using conditional probability distributions derived from equilibrium-based solutions of games
KR20230153481A (ko) 판별기 모델의 앙상블을 사용한 강화 학습
CN117730329A (zh) 通过开放式学习来训练智能体神经网络
WO2023222772A1 (en) Exploration by bootstepped prediction
WO2023237635A1 (en) Hierarchical reinforcement learning at scale
EP4315179A1 (en) Learning diverse skills for tasks using sequential latent variables for environment dynamics
EP4272131A1 (en) Imitation learning based on prediction of outcomes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240110

R150 Certificate of patent or registration of utility model

Ref document number: 7419547

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150