(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-15
(45)【発行日】2024-11-25
(54)【発明の名称】技術システムのための改善された機械学習
(51)【国際特許分類】
G06N 3/08 20230101AFI20241118BHJP
【FI】
G06N3/08
(21)【出願番号】P 2022507704
(86)(22)【出願日】2020-07-08
(86)【国際出願番号】 SE2020050717
(87)【国際公開番号】W WO2021029802
(87)【国際公開日】2021-02-18
【審査請求日】2023-06-28
(32)【優先日】2019-08-13
(33)【優先権主張国・地域又は機関】SE
(73)【特許権者】
【識別番号】522049037
【氏名又は名称】カベルグ ジョハード,レオナール
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】カベルグ ジョハード,レオナール
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2018/211139(WO,A1)
【文献】特開2007-065929(JP,A)
【文献】特開2008-305064(JP,A)
【文献】Leonard Johard,A connectionist actor-critic algorithm for faster learning plausibility,2014 IEEE International Conference on Robotics & Automation (ICRA),中国,IEEE,2014年06月07日,P.3903-3909
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/092
(57)【特許請求の範囲】
【請求項1】
機械学習を支援するためのシステム(100)であって、前記システムが、
- 1つ以上のプロセッサ(110)と、
-
価値推定器の1つ以上のパラメータを記憶するように構成されたメモリ(120)と、
- 割引報酬の可微分推定器であって、前記可微分推定器が価値推定器とも称され、前記1つ以上のプロセッサ(110)によって、時間的時点における1つ以上の環境及び/又はシステムの観測を表す情報を含む観測を受信し、前記メモリ
(120)からの前記価値推定器の
前記パラメータにアクセスし、価値推定プロセスにおいて、価値推定値とも称される、割引報酬推定値を生成するように構成されている、可微分推定器と、
- 1つ以上の適格度トレース生成器であって、前記1つ以上の適格度トレース生成器が、連続的に、及び/又は前記適格度トレース生成器のいくつかのステップ及び/又は時点を通じて、並びに前記1つ以上のプロセッサ(110)によって、前記価値推定器から、前記価値推定プロセスの前記パラメータのうちの1つに関する前記価値推定値の偏導関数を受信し、前記適格度トレース生成器からの信号を受信し、適格度トレースとも称される、更新された信号を生成するように構成されており、これにより、各ステップ及び/又は時点が、
・ 前記信号が、前記それぞれの信号に比例する速度で実又は疑似時間で減衰していき、すなわち、前記観測に対応する指数関数的時間減衰であり、
・ 前記信号に対して、
価値推定器パラメータに関する前記価値推定値の前記偏導関数に比例する価値が加算される、
という動作を含み、その結果、価値が様々な時点で前記適格度トレースに加算及び/又は減算され、その一方で、得られた合計が指数関数的時間減衰を受けることによって、
ステップ及び/又は時点の間で、前記適格度トレース生成器の信号を維持又は保持する、1つ以上の適格度トレース生成器と、
- 前記1つ以上のプロセッサ(110)によって、技術的報酬系からの報酬信号を受信し、前記価値推定値を受信し、前記適格度トレースを受信し、前記報酬、前記適格度トレース、前記価値推定値、及び前記価値推定値の
勾配を含む入力に基づいて、
価値推定器パラメータに関するブートストラップ価値推定損失の勾配推定値を作り出すように構成された1つ以上のブートストラップ勾配推定器と、
を備えるシステム(100)。
【請求項2】
前記1つ以上のブートストラップ勾配推定器が、
- 前記価値推定値に前記価値推定値の前記偏導関数を乗算したものに比例する信号であって、その積が、前記価値推定値に前記適格度トレースを乗算したものから分離可能である、信号、
- 前記適格度トレースに前記報酬を乗算したものに比例する信号、及び
- 前記適格度トレースに前記価値推定値及び/又は他の価値推定値を乗算したものに比例する信号であって、この信号内の前記価値推定値が同じ又は後続の時点のためものである、信号、
の各々を加算及び/又は減算することを含むプロセスにおいて、前記勾配推定値を生成する、請求項1に記載のシステム。
【請求項3】
前記価値推定器が非線形である、請求項2に記載のシステム。
【請求項4】
前記1つ以上のブートストラップ勾配推定器が、前記1つ以上のプロセッサによって、過去の報酬、及び任意選択的に、任意の価値推定値の割引合計の線形結合に比例する価値をさらに含む入力に基づいて前記勾配推定値を作り出すように構成されている、請求項1に記載のシステム。
【請求項5】
前記1つ以上のブートストラップ勾配推定器が、
- 前記価値推定値に前記価値推定値の前記偏導関数を乗算したものに比例する信号、
- 前記適格度トレースに前記報酬を乗算したものに比例する信号、並びに
- 前記適格度トレースに変数V2を乗算したものに比例する信号であって、V2が、同じ又は将来の時点のための、同じ価値推定値又は他の価値推定値である、信号、
の各々を加算及び/又は減算することを含むプロセスにおいて、前記勾配推定値を生成し、
前記勾配推定器が、以下の項:
- 過去の価値推定値に同じ又は将来の時点におけるV2の偏導関数を乗算したものの割引合計に比例する信号、
- 任意の適格度トレースにV2の割引合計を乗算したものに比例する信号、並びに
- 任意の適格度トレースに前記過去の報酬の割引合計を乗算したものに比例する信号、
の各々を、別個に、及び/又は任意の組み合わせで互いに結合/合計された様態で含む、V2の任意の勾配推定値及び/又はオプティマイザに差し向けられる補正信号をさらに生成する、請求項4に記載のシステム。
【請求項6】
制御されるべき前記技術システム及び/又は環境が、車両、ロボット、又は技術的計画システムを含む、請求項1に記載のシステム。
【請求項7】
機械学習を支援するためのコンピュータ実施及び/又は装置実施方法であって、前記方法が、
- 価値推定器のパラメータのうちの1つ以上の各々のための、適格度トレース、及び/又は前記価値推定器の過去の偏導関数の割引合計の他の推定値、並びに技術システム及び/又は環境からの技術的フィードバックの部分としての報酬、並びに任意選択的に、任意の追加の価値推定値に基づく価値を得るステップ(S4)と、
- 以下の信号の各々に基づいて、オプティマイザと称される、何らかの価値推定器の勾配ベースのパラメータ最適化を遂行するための装置又はコンピュータ実施プログラムにおいて用いるための価値推定器勾配推定値を生成するステップ(S5)であって、前記信号とは、すなわち、
・ 前記価値推定値に、前記パラメータに関する前記価値推定値の前記偏導関数を乗算したものに比例する価値であって、これにより、この価値がまた、前記価値推定値に前記価値推定値の前記過去の偏導関数の前記割引合計を乗算したものに比例する前記勾配推定値への任意の寄与から分離可能である、価値、
・ 前記報酬に前記適格度トレースを乗算したものに比例する価値、及び/又は前記価値推定値の前記過去の偏導関数の前記割引合計の前記他の推定値に比例する価値、
・ 前記適格度トレースに比例する価値、及び/又は前記価値推定値の前記過去の偏導関数の割引合計の前記他の推定値に変数V2を乗算したものに比例する価値であって、V2が、同じ又は後続の時点又は時間ステップのための、
前記価値推定値又は前記任意の追加の価値推定値である、価値、
であり、
その結果、前記適格度トレースが、前記勾配推定値が、各観測をすっかり反復することを必要とすることなく、前記適格度トレースからの情報と共に前記観測及び/又は状態のうちの単一のもの又は部分セットに基づいて生成されることを可能にする選択的メモリとして機能し、これにより、メモリ及び/又は計算要求を低減する、ステップ(S5)と、
- 前記勾配推定値を前記オプティマイザに差し向けるステップ(S6)と、
を含む方法。
【請求項8】
- ステップS4において得られる前記価値が、前記推定器のパラメータのうちの1つ以上の各々のための、適格度トレース、及び/又は前記価値推定値の過去の偏導関数の割引合計の他の推定値、並びに前記技術システム及び/又は環境からの技術的フィードバックの部分としての報酬、並びに任意選択的に、
前記追加の価値推定値であり、
- 前記勾配推定値が、以下の信号:
・ 前記価値推定値に、前記パラメータに関する前記価値推定値の前記偏導関数を乗算したものに比例する価値であって、これにより、この価値がまた、前記価値推定値に前記価値推定値の過去の偏導関数の前記割引合計を乗算したものに比例する前記勾配推定値への任意の寄与から分離可能である、価値、
・ 前記報酬に前記適格度トレースを乗算したものに比例する価値、及び/又は前記価値推定値の過去の偏導関数の前記割引合計の前記他の推定値に比例する価値、
・ 前記適格度トレースに比例する価値、及び/又は前記価値推定値の過去の偏導関数の割引合計の前記他の推定値に変数V2を乗算したものに比例する価値、
の各々を、別個に、及び/又は任意の組み合わせで互いに結合/合計された様態で含む、請求項7に記載の方法。
【請求項9】
- 技術システム及び/又は環境からの観測、並びに1つ以上の推定器パラメータを得るステップ(S1)と、
- 前記観測及び前記1つ以上の推定器パラメータに基づいて、価値推定器と称される、技術的可微分推定器によって、価値推定値と称される、割引報酬推定値を生成するステップ(S2)と、
- 前記価値推定器の1つ以上の推定器パラメータに関する前記価値推定値の前記偏導関数の前記推定値、すなわち前記価値推定器の勾配を生成するステップ(S3)と、
をさらに含む、請求項
7又は8に記載の方法。
【請求項10】
- 以下の信号:
・ 前記過去の価値推定値の前記割引合計に同じ又は後続の時点のためのV2の偏導関数を乗算したものに比例する価値、並びに
・ V2の過去の偏導関数の前記割引合計にV2を乗算したものの積に比例する価値であって、両方の項が同じ時点又は後続の時点のためのものである、価値、並びに
・ 同じ又は後続の時点のためのV2の前記過去の偏導関数の前記割引合計と、前記報酬との積に比例する価値、
を、別個に、及び/又は任意の組み合わせで互いに結合/合計された様態で用いて前記勾配推定値を拡張するか、又はV2のための勾配推定器のための任意の勾配推定値及び/又はオプティマイザに差し向けることをさらに含む、請求項7~9のいずれか一項に記載の方法。
【請求項11】
- 前記ステップが連続的に、及び/又は繰り返し適用され、
- ステップS4において前記得られた価値が、実及び/又は疑似時間でシステム及び/又は環境の変化に対応するために変化する、請求項7~10のいずれか一項に記載の方法。
【請求項12】
前記価値推定器の出力がその入力の非線形関数である、請求項7~11のいずれか一項に記載の方法。
【請求項13】
得られた(S4)前記適格度トレースが、前記適格度トレースに比例する速度で実又は疑似時間で減衰していき、1つ以上の時点における前記価値推定値の前記偏導関数に基づいて増大させられ、前記方法が、
- 前記価値推定器パラメータに関する前記価値推定値の前記偏導関数の前記推定値を得るステップと、
- 1つ以上の受信された価値推定器パラメータの各々のために、前記対応する適格度トレースを、前記適格度トレースが前記価値推定値の過去の偏導関数の前記割引合計に比例するよう更新するステップと、
をさらに含む、請求項7~11のいずれか一項に記載の方法。
【請求項14】
前記勾配推定値が、前記勾配推定値に関連するあらゆる観測をメモリ内に同時に記憶することなく算出される、すなわち、前記勾配がオンラインで推定される、請求項7~11のいずれか一項に記載の方法。
【請求項15】
前記勾配推定値に基づいて1つ以上の価値推定器パラメータを更新するステップをさらに含む、請求項7~14のいずれか一項に記載の方法。
【請求項16】
前記価値推定器は、ニューラルネットワークである、請求項7~15のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本発明は、概して、技術システムの制御のための機械学習システム、特に、強化学習のための価値推定のための方法及びシステム、並びに例えば、コンピュータプログラム及びコンピュータプログラム製品として実施される、関連データプロセッサ及びプロセッサ制御コードに関する。詳細には、本提案の技術は、機械学習を支援するための方法及びシステム、強化学習のための装置、制御可能な技術システムのための自己学習制御システム、並びに対応するコンピュータプログラム及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
背景
強化学習を通じた機械学習は、技術機械を、方策と呼ばれる何らかの自動制御システムに従って、技術システムから受信された観測(現実世界環境内の1つ以上のセンサからの測定など)、及び/又は技術的シミュレーションから、行動を生成するよう訓練することを含む。方策は、挙動がいくつかのパラメータに依存する確率論的制御システムである。
【0003】
このような学習機械はエージェントとして知られ、それは、何らかの特定の状態にある何らかの環境と相互作用すると一般的に説明される。環境は、その現在の状態、及びエージェントによって取られる行動、並びに任意選択的に、また、環境に対する未知の因子及び/又は影響に依存する何らかの分布に従って状態を経時的に変化させると仮定される。環境は、この状態に基づいて、技術的フィードバックと見なすことができる、観測及び報酬を生成する。
【0004】
この文脈における環境とは、センサ、報酬を算出するためのシステム、他の学習機械、シミュレータ、及び物理的宇宙全体若しくはその部分などの非常に広範囲の対象システムを含むことができる抽象概念である。
【0005】
訓練プロセスの目標は、概して、経時的に与えられる報酬を最適化する方策を生成することである。通常、特定のタスクは、平均割引報酬を最大化することである。
【0006】
強化学習は、教師あり学習よりも大きい範囲の適用を有するが、利用可能なフィードバックの制約のゆえに、難易度がより高くもある。教師あり学習とは異なり、強化学習エージェントは、模倣するべき特定の出力を有しない。代わりに、それは様々な可能な行動の結果を経験的に探索しなければならない。
【0007】
強化学習プロセスを促進するための一般的な方略は、将来の割引報酬を推定することを試みるシステムである、価値推定器(value estimator)を用いることである。多くの強化学習方法において、学習プロセスは価値推定器の制御及び/又は操作を通じてのみ行われる。
【0008】
状態の変化は、通例、著しい時間遅延を伴って報酬を生じさせる。価値推定システムにおける中心的問題は、いかなる観測が後の報酬をもたらすのかを計算的に効率の良い仕方で正確に追跡する必要である。
【0009】
特に、いわゆる通時的逆伝搬を用いるアプローチは、時間遅延を伴うメモリ及び計算スケーリングの問題に悩まされる。表ベースのシステムは柔軟性を欠き、一般化が不得手であり、入力サイズに応じてうまくスケーリングしない。時間的差分(TD(Temporal Difference))学習を各時間ステップ(例えば、TD(0))において局所的にのみ用いるアプローチは、時間ステップサイズの変化に伴うスケーリングの問題を有し、概して、時間ステップが小さい場合には、報酬を時間的に伝搬するためにいくつかのパス又は反復を必要とする。モンテカルロ評価は、ブートストラップを欠くため、データを効率的に用いる能力に乏しい。TD-lambdaベースの方法などの拡張は収束しないことが知られており、その一方で、勾配TD法は、主として、線形問題に、及び/又は離散的行動を用いて効果を発揮している。
【0010】
概して、強化学習の文脈におけるブートストラップは、推定された価値を、同様の種類の価値を推定するために用いる方法として定義される。具体的には、それは、将来の割引報酬の既存の推定値から部分的に、又は完全に導出される将来の割引報酬の統計的推定値を維持することを含む。時間的差分アルゴリズムはこれの典型例である。
【0011】
書籍:「Reinforcement learning and dynamic programming using function approximators」[Busoniu, L., Babuska, R., De Schutter, B. and Ernst, D., 2017]及び「Reinforcement learning: An introduction.」[Sutton, Richard S., and Andrew G. Barto., 2011]に、強化学習における方法の概説を見出すことができる。「True online temporal-difference learning.」[Van Seijen, Harm, et al., The Journal of Machine Learning Research, 2016]に、関連アプローチに関するさらなる詳細を見出すことができる。
【0012】
技術的強化学習システム及び/又は適用のための改善が一般的に必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【0013】
概要
一般的目的は、技術的機械学習システム及び/又は関連適用物を支援及び/又は援助するための効率的なシステム及び方法を提供することである。
【0014】
特定の目的は、訓練のための特定の報酬系並びにターゲット技術システム及び/又は環境を所与として、技術的機械学習システムが、割引将来報酬の推定器の勾配を推定することを援助及び/又は支援するための効率的なシステム及び方法を提供することである。
【0015】
別の目的は、所与の報酬系並びに所与のターゲット技術システム及び/又は環境のための割引将来報酬系の推定器のためのパラメータの効率的な推定を提供することである。
【0016】
別の目的は、所与の報酬系並びに所与のターゲット技術システム及び/又は環境のための技術的価値推定器を効率的に生成することである。
【0017】
さらに別の目的は、所与のターゲット技術システム、及び/又はターゲット技術システムが近似する技術システムを制御するための制御システム及び/又はプログラムの効率的生成を提供することであり、制御の効率は、所与の報酬系内に符号化された技術的目的に従って測定又は近似される。
【0018】
さらに別の目的は、強化学習を通じたインテリジェントな工業計画システム、ロボット、及び車両の効率的生成を提供することである。
【0019】
特定の目的は、機械学習を支援するための方法及びシステムを提供することである。
【0020】
別の特定の目的は、強化機械学習のための装置を提供することである。
【0021】
さらに別の特定の目的は、制御可能な技術システムのための自己学習制御システムを提供することである。
【0022】
また、特定の目的は、対応するコンピュータプログラム及びコンピュータプログラム製品を提供することである。
【0023】
別の目的は、完全に、又は部分的に自動化されたロボット及び/又は車両を少なくとも部分的に組み立て、及び/又は構成するための方法を提供することである。
【0024】
さらに別の目的は、少なくとも部分的に自動化された工業プロセスを遂行するための方法を提供することである。
【0025】
これら及び他の目的は、本明細書において定義されるとおりの実施形態によって満たされる。
【課題を解決するための手段】
【0026】
第1の態様によれば、機械学習を支援するためのシステムが提供される。システムは、
- 1つ以上のプロセッサと、
- 推定器の1つ以上のパラメータを記憶するように構成されたメモリと、
- 割引報酬の可微分推定器であって、可微分推定器が価値推定器とも称され、1つ以上のプロセッサによって、時間的時点における1つ以上の環境及び/又はシステムの観測を表す情報を含む観測を受信し、メモリからの価値推定器のパラメータにアクセスし、価値推定プロセスにおいて、価値推定値とも称される、割引報酬推定値を生成するように構成されている、可微分推定器と、
- 1つ以上の適格度トレース生成器であって、1つ以上の適格度トレース生成器が、連続的に、及び/又は適格度トレース生成器のいくつかのステップ及び/又は時点を通じて、並びに1つ以上のプロセッサによって、価値推定値を受信し、価値推定器から、価値推定プロセスのパラメータのうちの1つに関する価値推定値の偏導関数を受信し、適格度トレース生成器からの信号を受信し、適格度トレースとも称される、更新された信号を生成するように構成されており、これにより、各ステップ及び/又は時点が、
・ 信号が、それぞれの信号に比例する速度で実又は疑似時間で減衰していき、すなわち、観測に対応する指数関数的時間減衰であり、
・ 信号に対して、価値推定値の偏導関数に比例する価値が加算される、
という動作を含み、その結果、価値が様々な時点で適格度トレースに加算及び/又は減算され、その一方で、得られた合計が指数関数的時間減衰を受けることによって、ステップ及び/又は時点の間で、適格度トレース生成器の信号を維持又は保持する、1つ以上の適格度トレース生成器と、
- 1つ以上のプロセッサによって、技術的報酬系からの報酬信号を受信し、価値推定値を受信し、適格度トレースを受信し、報酬、適格度トレース、価値推定値、及び価値推定値の勾配を含む入力に基づいて勾配推定値を作り出すように構成された1つ以上のブートストラップ勾配推定器と、
を備える。
【0027】
第2の態様によれば、機械学習を支援するためのコンピュータ実施及び/又は装置実施方法が提供される。本方法は、
- 価値推定器のパラメータのうちの1つ以上の各々のための、適格度トレース、及び/又は価値推定器の過去の勾配の割引合計の他の推定値、並びに技術システム及び/又は環境からの技術的フィードバックの部分としての報酬、並びに任意選択的に、任意の追加の価値推定値に基づく価値を得るステップと、
- 以下の信号の各々に基づいて、オプティマイザと称される、何らかの価値推定器の勾配ベースのパラメータ最適化を遂行するための装置又はコンピュータ実施プログラムにおいて用いるための価値推定器勾配推定値を生成するステップであって、信号とは、すなわち、
・ 価値推定値に、重みに関する価値推定値の勾配を乗算したものに比例する価値であって、これにより、この価値がまた、価値推定値に過去の勾配の割引合計を乗算したものに比例する勾配推定値への任意の寄与から分離可能である、価値、
・ 報酬に適格度トレースを乗算したものに比例する価値、及び/又は過去の勾配の割引合計の他の推定値に比例する価値、
・ 適格度トレースに比例する価値、及び/又は過去の勾配の割引合計の他の推定値に変数V2を乗算したものに比例する価値であって、V2が、同じ又は後続の時点又は時間ステップのための、任意の価値推定値である、価値、
である、ステップと、
- 上記勾配推定値を上記オプティマイザに差し向けるステップと、
を含む。
【0028】
第3の態様によれば、このような方法を遂行するように構成された強化機械学習のための装置が提供される。
【0029】
第4の態様によれば、少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサにこのような方法を遂行させる命令を含むコンピュータプログラムが提供される。
【0030】
第5の態様によれば、このようなコンピュータプログラムが記憶された非一時的コンピュータ可読媒体を含むコンピュータプログラム製品が提供される。
【0031】
第6の態様によれば、制御可能な技術システムのための自己学習制御システムであって、自己学習制御システムが、本明細書において定義されるとおりの、機械学習を支援するためのシステム、又は強化機械学習のための装置を備える、自己学習制御システムが提供される。
【0032】
第7の態様によれば、完全に、又は部分的に自動化されたロボット及び/又は車両を少なくとも部分的に組み立て、及び/又は構成するための方法であって、方法が、
決定/最適化されたアクターパラメータに従ってロボット及び/又は車両の1つ以上のプロセッサを構成すること、或いは
ロボット及び/又は車両内に、決定/最適化されたアクターパラメータに従って設計及び/又は構成された1つ以上のプロセッサを含めること、
を含む方法が提供される。
【0033】
このように、完全に、又は部分的に自動化されたロボット及び/又は車両の効率的な組み立て及び/又は構成を提供することが可能である。
【0034】
第8の態様によれば、少なくとも部分的に自動化された工業プロセスを遂行するための方法であって、工業プロセスが、注意深く構成/設計された技術的計画システムからの制御信号に基づいて実施される、方法が提供される。
【0035】
このように、例えば、自動工業プロセスの製品を効率的に生成することが可能である。
【0036】
ある意味で、本提案の技術は、統計的ブートストラップ法を用い、強化機械学習のための価値推定を最適化するための適格度トレースとして知られるサブシステムの使用を可能にするシステムと見なすことができる。適格度トレースは、勾配推定値信号を作り出すために必要とされる情報を記憶するために指数関数的に減衰する信号を用いる。本態様の実施形態は、通例、ロボット、車両、及び計画システムのための自己学習制御システムを作り出すためのアクター-クリティックシステムにおいて用いられる。
【0037】
例として、ブートストラップ、及び適格度トレースを用いる可能性によって、ニューラルネットワークのパラメータを、強化機械学習のための価値推定を遂行する目的のために最適化することができる方法及び対応するシステムが提供される。
【0038】
本発明によって以下の技術的効果のうちの少なくとも1つがもたらされ得る:過去の状態を記憶する必要がないことによるメモリ使用の低減、パラメータ数に応じたスケーリングの改善によるメモリの低減、計算時間の低減、非線形近似、ハードウェアアーキテクチャの単純化、学習の仮定の間の段階的遷移、ブートストラップを通じた強化学習問題の大規模セットを使った期待される価値推定のより高速な収束、より良好な収束条件、並びに従来のシステム及び方法に対する代替策の提供。
【0039】
本発明によってもたらされる他の利点は、本発明の実施形態の以下の説明を読むことで理解されるであろう。
【0040】
図面の簡単な説明
本発明は、そのさらなる目的及び利点と共に、以下の説明を添付の図面と併せて参照することによって最も深く理解され得る。
【図面の簡単な説明】
【0041】
【
図1】技術的ターゲットシステム及び/又は環境との相互作用を通じてアクターパラメータを生成するために適応させられた機械学習システムの、基礎をなす技術的設定の一例を示す概略図である。
【
図2】一実施形態に係る、強化機械学習及び/又はそのための価値推定のためのプロセッサ-メモリベースのシステムの一例を示す概略図である。
【
図3】一実施形態に係る、強化機械学習及び/又はそのための価値推定のためのプロセッサ-メモリベースのシステムの別の例を示す概略図である。
【
図4】一実施形態に係る、強化機械学習及び/又はそのための価値推定のためのプロセッサ-メモリベースのシステムのさらに別の例を示す概略図である。
【
図5】一実施形態に係る、強化機械学習及び/又はそのための価値推定のためのプロセッサ-メモリベースのシステムのさらに別の例を示す概略図である。
【
図6】一実施形態に係る機械学習を支援するためのコンピュータ実施及び/又は装置実施方法を示す概略フロー図である。
【
図7】一実施形態に係るコンピュータ実装形態の一例を示す概略図である。
【
図8】技術環境と相互作用するために適応させられた訓練済みエージェントの、基礎をなす技術的設定の一例を示す概略図である。
【発明を実施するための形態】
【0042】
詳細な説明
図面全体を通じて、同じ参照符号は、同様の、又は対応する要素のために用いられている。
【0043】
本提案の技術のより深い理解のためには、簡単なシステムの概説及び/又は技術的問題の分析から始めることが有用になり得る。例として、
図1の例示的な例を参照することができる。
【0044】
基本的に、機械学習システムは、技術環境及び/又はシステムとの相互作用のために適応させられた、時として、単に、エージェントと、及びアクター-クリティックシステムの文脈では、アクターと称される、機械学習エージェントをベースとする。
【0045】
機械学習エージェントは、通常、技術的観測を受信し、技術環境又はシステム(「ターゲット技術システム及び/又は環境」)に差し向けられる行動を生成する。行動は、方策として知られる可能な行動にわたる何らかの確率分布に従う観測の関数として生成される。この生成は、通例、連続的な実装形態ではリアルタイムに、及び離散的な実装形態では時間ステップごとに行われる。
【0046】
特定の方策は、観測に依存した分布であり、1つ以上のパラメータ(「アクターパラメータ」)として符号化される。訓練プロセスの間に、エージェントはまた、アクターパラメータを更新するために用いられる報酬を受信する。アクターパラメータは、ニューラルネットワークライブラリのためのニューラルネットワーク構造ファイルなどの、明示的又は暗黙的な関数定義と組み合わせて、関連ニューラルネットワークライブラリ、又はアクターパラメータを解釈することができる同様のツールによって実行され得るソフトウェアプログラムコードを構成する。アクターパラメータは、代替的に、上記プログラムコードの特定のハードウェア実装形態のためのハードウェアアーキテクチャとして解釈され得る。
【0047】
別の言い方をすれば、方策は、アクターオプティマイザによって自動的に生成され、メモリに記憶されるコンピュータプログラムコードである。このプログラムコードは、アクターパラメータ空間の関数的解釈に関する明示的又は暗黙的情報と共に、ニューラルネットワークフレームワークなどのツール又はシステムによって解釈されるか、コンパイルされるか、又はハードウェア同等物に変えられ得る。アクターパラメータ空間の関数的解釈はニューラルネットワークの文脈においてはネットワーク構造とも呼ばれ、一般的に、別個の構造ファイル内に記憶される。再帰型ニューラルネットワークなどの、多くの種類の構造はチューリング完全であり、汎用コンピュータのための他のプログラムコードと表現力が同等である。自動的に生成されたプログラムコードは、報酬関数によって定義された目的、及び訓練の間に用いられた環境に適応させられている。
【0048】
適用によっては、構造を定義する一部のハイパーパラメータもパラメータと考えることができる。具体的には、グリッドサーチ、進化的最適化、自動微分等を用いてネットワーク構造を最適化することが一般的な慣習である。これらの場合における出力は、構造又は同様のものを記述するパラメータセット及びハイパーパラメータセットの両方であるため、それらは、集合的に、ニューラルネットワークフレームワーク又は同様のもののための解釈可能なプログラムコードと考えることができる。本発明の一実施形態におけるこのような方法の適用は、当業者に自明であると考えられ得る。
【0049】
環境は、エージェントがその行動を用いて影響を及ぼすことができ、報酬をエージェントに提供する任意の対象システム、又はシステムの組み合わせの、強化学習における理論的な抽象概念である。報酬は、エージェントの目的の測定又は近似を与える技術的フィードバック及び/又は接続されたシステムの一形態と見なすことができる。物理的世界内で行動を学習するエージェントにおいて、環境は、通常、物理的宇宙の全体又は部分を意味する。シミュレータ内で学習しているエージェントにとって、環境は、通常、シミュレーションを指す。文脈によっては、環境はまた、センサ、報酬を算出するための機構、メモリモジュール、及び学習機械若しくはシステムの一実施形態の多くの他のサブシステムを含むことができる。特許クレームの観点から、環境は、全体として、通例、一実施形態の不可欠の要素ではなく、環境はこれらの目的のための限定と考えられるべきでない。本明細書における説明及び図に環境を含むのは、純粋に、当技術分野における現在の慣習との一貫性を維持するためである。
【0050】
観測は、環境からの任意の種類の信号、又は環境に関する情報であることができる。典型的な実施形態では、観測は、浮動小数点数のメモリアレイなどの、技術的又は物理的環境を表すいくつかの連続値入力として符号化される。また、2値及び整数信号が観測の一般的形式である。完全に観測可能な環境では、観測は、環境の状態を規定するために必要とされる全ての情報を包含する。観測は、通例、生の、処理されたセンサ入力、以前に記憶されたデータからの読み出し、及び/又はニューラルネットワーク及び同様のものからの出力の符号化である。
【0051】
行動は、環境へ送信される任意の種類の信号であることができる。典型的な実施形態では、それは、セットから環境に関して取られる特定の技術的若しくは物理的行動を符号化する整数、又は連続値の浮動小数点数のアレイのどちらかである。通例、行動は、様々なモータのためのトルク、操舵角、スピード、音響、ライト等を制御する制御信号である。計画システムでは、行動は、生産速度、弁設定、様々な機械への入力信号、制御システムへの入力、貯蔵レベル、要員へ送信されるべき命令等を制御又は勧告する。
【0052】
報酬、又は即時報酬は、強化学習システムが受信し、方策が最適化されている目標を符号化したスカラ信号である。この報酬信号は、今度は、エネルギー効率、成果、利益、達成目標、及び経路長などの情報を符号化したいくつかの関連データ及び信号から算出することができる。この報酬信号の算出は、通常、環境によって遂行されると考えられ、それゆえ、本発明の一実施形態の不可欠の部分ではなく、本発明の一実施形態への入力と考えられる。報酬信号は、連続的に、各時間ステップにおいて、及び/又は希薄に提供され得る。通例、方策最適化は、報酬を最大化するように設定される。最大化タスクでは、正の報酬信号を、目的に到達したこと、又は高い生産性を達成したことなどの、望ましい挙動に関連付け、その一方で、負の報酬信号は、エネルギー使用、経路長、又は目的に失敗したことなどの、望ましくない挙動に関連付けられることが一般的である。例えば、車両のための報酬系は、経路長に対する負の重みとの線形結合として、任意の障害物にぶつかったことに対する固定した負の報酬、平均速度に対する正の重み、及び目的地点に到達したことに対する固定した正の報酬に設定され得るであろう。
【0053】
報酬系は、システムのための所望の目的を測定又は近似し、これを報酬信号内に符号化するように設計された技術システムである。このようなシステムは、人間の操作者に、特定の目標が達成された際に用いられるべき押しボタンを与えるなど、単純であるか、又は別個のセンサ機器において測定されたとおりのエネルギー及び資源の失費にペナルティを与えるための因子を追加しつつ、カメラシステムを用いて製品ライン上の製品の品質を分類するための論理を組み込んだ専用回路など、複雑であることができる。強化学習システムは、適切に設計された報酬系に依拠するが、報酬系は、通常、環境内に抽出される。なぜなら、このような報酬系の適切な設計は、強化学習の技術分野において扱われる考慮事項とは非常に異なる、操業管理の技術分野において扱われる様々な側面などの、技術的及び非技術的考慮事項に依拠するからである。
【0054】
異なる観点では、報酬系は、抽象的な意味で、報酬として、生物学の分野では、適応度として、遺伝的アルゴリズムでは、適応度関数として、及び応用数学では、目的関数として知られるものの何らかの技術的実装形態と見なすことができる。最も実際的な場合には、この報酬系は、ユーザによって、所与のタスクにおける所与の機械の有効性に関する意味のある測定及び効率的フィードバックを提供するという技術的目的をもって設計された、非常に単純なコンピュータ実施アルゴリズムになるであろう。このとき、機械学習システムの技術的目的は、所与の報酬系によって測定されたときに所与の目的を達成する技術的制御システムを作り出すこと、又は改善することである。この報酬系、通例、プログラムコードは、全体として、単なるその出力信号ではなく、機械学習プロセス及び/又はシステムへの入力と考えることができる。報酬系全体を提供するというこの観点、及び全体としての報酬系とは対照的に、報酬信号のみを入力として提供するという一般的観点はどちらも、同等な対応する機械学習プロセス及び/又は機械学習システムをもたらす。
【0055】
同様に、エージェントが訓練されることになるターゲット技術システム及び/又は環境の仕様を機械学習プロセスへの入力と考えることができる。ターゲット技術システム及び/又は環境は、好ましくは、制御システムが適用されることになる想定された最終的ターゲットシステム及び/又は環境と同一又は同様になるために、人間のユーザによって選択されるが、このシステム及び/又は環境を訓練するための財務及び/又は計算コストなどの考慮事項もその選択及び/又は設計における関連因子である。仕様は、システムを特定の物理的ロボットに接続する際など、暗黙的であるか、又はシミュレータのためのプログラムコードをオプティマイザに直接提供するなど、より明示的であることができる。これは、シミュレートされた環境のためのプログラムコードが、その後、アクター最適化システムへ報酬関数プログラムと共に直接送信され得る標準化されたフォーマットに従う、特定の既存の強化学習フレームワークにおける慣例である。特定の場合には、環境はまた、機械学習プロセス内の特定の時点において、より詳細で費用のかかるシミュレーションに自動的に切り替えられる。
【0056】
報酬及び/又は報酬系は、任意選択的に、内発的報酬、すなわち、単純な方法で最適化されるものとは異なる報酬であるか、又はそれを含み得ることに留意されたい。例えば、報酬系は、費やされたエネルギーを符号化する外発的報酬を、獲得された新たな情報の量を符号化する内発的報酬、すなわち、好奇心と組み合わせ得る。別の可能性は、外部価値推定器からの価値推定値をエージェントへの報酬信号として用いることである。さらに他の可能性は、例えば、特定の状態における探索の傾向を低減するために、リスクを符号化し、及び/又は外発的報酬と内発的報酬との間のバランスを観測に依存させることである。このような報酬系はまた、エージェントのパラメータ及び学習プロセスにも依存し得る。
【0057】
所与の時間のための割引報酬信号は、将来報酬に、時間的により近いそれらの報酬を優先させることを促す、時間的に減衰していく(すなわち、減少していく)係数を乗算したものを有する。通常、それは、時間的に指数関数的に減少していくように選定される。機械学習訓練プロセスでは、このような減衰の速度は、訓練が進行するにつれて、より遠くの報酬がより重要になるよう、任意選択的に、時間、又は訓練ラウンド若しくは反復の数と共に減少するように選定され得る。期待される割引報酬を最大化することが強化学習の共通の目的ではあるが、通例、強化学習では、この価値自体が受信されるわけではなく、必ずしも強化学習において明示的に算出されるわけでもない。通例、即時報酬のみが受信される。
【0058】
図8は、技術環境と相互作用するために適応させられた訓練済みエージェントの、基礎をなす技術的設定の一例を示す概略図である。
【0059】
以下においては、強化機械学習及び/又は価値推定のためのプロセッサ-メモリベースのシステムの異なる例を示す概略図である、
図2~
図5も参照されることになる。
【0060】
学習を改善するために、クリティックがエージェントに追加され得るであろう。この追加は、アクターが、観測を取得し、アクターパラメータに基づいて行動を生成するサブシステムとなる、アクター-クリティックシステムを作り出す。それは内発的報酬を受信する。内発的報酬は、受信された報酬及びクリティック自身の価値推定の両方の何らかの関数として算出された(任意選択的な)信号である。内発的報酬の目的は、所与の時点の前の時間のための割引将来報酬の任意の変化の、その所与の時点において受信された即時報酬を単に測定することによって与えられた推定値よりも良好な推定値となることである。好ましい実施形態では、それは、単に、所与の時点における即時報酬・プラス・その時点の後における期待される割引将来報酬の変化である。換言すれば、それは、与えられた報酬・プラス・価値推定値の導関数又は時間ステップ差分である。時間ステップで更新される場合には、異なる時間ステップからの価値推定値は、用いられる規則次第では、異なる時間ステップにわたる時間割引を補償するために適切に重み付けされる必要があり得るであろう。
【0061】
訓練の目的のために、過去の観測、行動、及び/又は報酬はデータストレージ内に記憶され、各時間ステップにおいて行動を環境へ送信することなく訓練され得る。このような訓練は、オフライン訓練(これは訓練技法のオフライン/オンライン性と混同してはならない)と呼ばれる。これらの場合には、価値推定値は、これらを環境及び/又はアクターから直接受信するのではなく、データストレージから送信された観測、行動、及び/又は報酬を使って訓練されることになる。
【0062】
統計学において、推定器(estimator)は、観測されたデータに基づく所与の量の推定値を算出するためのルールであり、それゆえ、ルール(推定器)、関心量(推定対象(estimand))、及びその結果(推定値(estimate))は区別される。ここで、推定器は、このような機能性を遂行するための上述の、及び対応するデバイスである。
【0063】
点及び区間推定器が存在する。点推定器は単一値の結果をもたらす。ただし、これは、単一のベクトル値の結果、及び単一の関数として表すことができる結果の可能性を含む。これは、結果が、もっともらしい値(又はベクトル若しくは関数)の範囲となる、区間推定器とは対照的である。
【0064】
推定理論は、推定器の特性、すなわち、異なる推定器(推定値を作り出すための異なるルール)を、同じデータに基づいて、同じ量について比較するために用いることができる定義特性に関心がある。このような特性は、所与の状況下で用いるための最善のルールを決定するために用いることができる。クリティック又は価値推定器は、観測、通例、アクターと同じ観測を受信し、期待される割引報酬の推定を生成する技術システムである。価値推定は、観測、並びに推定器パラメータのセット、通例、ニューラルネットワークからの、及び/又はそのための重みの関数である。この観測は、通常、必ずしもそうとは限らないが、アクターに提供されるものと同じである。スケーラビリティ及び一般化の理由のために、通常、ニューラルネットワーク又は他の可微分推定器が価値推定のために用いられる。関心があるのは、主として、価値推定値の何らかの勾配であるため、この勾配に影響を及ぼすことなく任意の定数を推定値に加算することができ、それに適用される任意のスケーリングは、単に、同じ勾配をリスケールすることになるだけである。
【0065】
本文脈において、「可微分推定器」は、推定器パラメータに関する出力の導関数が自動的に算出され得るように設計された、入力を取得し、出力を作り出す任意の技術システムであることができる。本発明の典型的な実装形態では、これは、ソフトウェアコードに実装された記号又は自動微分技法を用いて行われるが、有限差分法及び方策のコンピュータソフトウェア実装形態などの代替策が同等に実行可能である。自動微分法の例は、静的コードへのソースコードの変換、動的演算子オーバーロード、及びコンパイラベースの自動微分を含む。これらの自動微分アプローチの各々は、フォーワードモード、アジョイントモード、リバースモード、及び/又は混合モード自動微分として知られる方法を用い得る。逆伝搬は自動微分の特定の例である。また、特定の価値推定器の微分のために手動で設計された技術システムも、特に、小さい、及び/又は構造的に単純な推定器のために実行可能である。導関数のこのような自動算出のハードウェア実装形態が同等に実行可能である。好ましい実施形態では、可微分推定器は、人工ニューラルネットワーク、サポートベクタマシン(SVM(Support Vector Machine))、又は同様のものなどの典型的な万能関数近似器である。
【0066】
可微分価値推定器は、価値推定器でもある可微分推定器である。
【0067】
本発明のいくつかの態様によって用いられる価値推定器は非線形のものであり、このため、それらは、一般的に用いられている表ベースの写像及び線形写像から/に対して区別される。別の言い方をすれば、推定器パラメータに関する勾配は推定器パラメータ空間にわたって局所的に非定値である。非線形活性化関数を有する人工ニューラルネットワークなどの、多くの非線形推定器は、万能関数近似及び優れた一般化を可能にする。任意選択的に、本発明によって用いられる非線形価値推定器は万能関数近似器である。
【0068】
Q学習は、機械学習において用いられる強化学習技法である。Q学習の目標は、エージェントにどの状況下でどの行動を取るべきかを教える、方策を学習することである。Q学習は、行動及び観測(若しくは状態の関数としての価値推定値Q(a,o)を維持する。その標準形式は、最善の行動を見出すために、状態及び/又は観測を所与とした全ての可能な行動にわたる反復を用いる。これにより、通例、本技法は、利用可能な行動の数に応じて複雑性が変化する。
【0069】
時間的差分(TD)学習、価値反復、及びQ学習などの、価値推定中心の学習フレームワークは、アクター-クリティックの特別な場合と見なすこともできる。例えば、この観点から、Q学習アルゴリズムは外部観測及び行動を合同観測に組み合わせる。クリティックは、合同観測からQ値を生成する。ここで、Qは合同観測に基づく価値推定であり、この特定の価値推定値のためにはVの代わりにQを用いることが慣例になっている。アクターは、新たな価値推定値を選択するための最適行動を選ぶが、それは、次に、異なる行動を探索目的のために環境に適用し得るであろう。これは、行動空間内における探索を遂行し、特定の観測から行動への最適写像を作り出すことによる、リアルタイム訓練と見なすことができる。十分に訓練されたときに、最適行動は、通常、環境にも適用される。この報酬最大化の結果得られたアクター方策は、それが単一の外部観測のためにのみ定義されるため、部分関数である。この場合における唯一のパラメータは、現在の入力を所与とした最適行動の符号化である。以下の説明における観測は行動を含み得、したがって、価値推定値はQ関数にもなり得る。
【0070】
価値推定を最適化するために、損失が一般的に用いられる。この価値推定損失は、通例、受信された割引報酬と価値推定との間の(合計された)自乗差として定義されるが、多くの他の変種が存在する。推定器パラメータは、その後、何らかの勾配降下法をこの損失に適用することによって更新することができる。
【0071】
強化学習システムは連続時間問題及び/又は離散時間問題として扱われ得る。離散時間では、システムは、特定の時間ステップにおいて状態を変化させると仮定される。これは、データ及び/又は式が、通例、計算可能となるために時間的に離散化される、デジタルコンピュータ実施強化学習の定式化において最も一般的である。他の実装形態は、計算デバイスの固有特性のゆえに、これらを連続的定式化において直接取り扱うこと、又は近似することが可能であり得る。概して、連続システムは、無限小の時間ステップサイズを有する離散システムと見なし、離散システムは、ディスクレタイジスド(discretizised)連続システムと見なすことができるなどするため、「時間ステップ(time step)における価値」、及び「時点(moment)における価値」としては、何らかの時間点における価値推定値を指すために互換的に使用することができる。
【0072】
勾配推定器は、価値推定器のパラメータから選択された1つ以上のパラメータに関する勾配を推定するために設計されたシステムである。即時報酬のみが、通例、各時点において受信され、過去の状態、観測、及び報酬の明示的記憶は、多くの場合、典型的なハードウェア上では実際的でないため、強化学習における重要課題は、割引将来報酬の効率的な算出である。本発明は、割引将来報酬に基づく損失に関する勾配を効率的に推定する仕方としての適格度トレースの使用を可能にする。得られた勾配推定値ベクトルは価値推定値の任意のオプティマイザへの必須の入力になる。
【0073】
適格度トレース、又は略して、トレースは、元々、表ベースの学習システムのために導入された、よく知られた技法であるが、それ以来、他のシステムにおける様々な用途を見出した。要約して言えば、これらのいわゆる適格度トレースの背後にある共通の機能性は、時間的に指数関数的に減衰していく信号及び/又はメモリを保持すること、並びに時間の経過と共に十分な情報を追跡することである。これは、システムが、更新された価値推定値の生成、及び/又は状態及び/又はパラメータに関する価値推定値についての勾配の生成を可能にする、過去の状態に関する蓄積情報を記憶することを可能にする。価値が様々な時点でこの適格度トレースに加算及び/又は減算され、その一方で、得られた合計は時間的な指数関数的減衰を受ける。
【0074】
以下は、離散的定式化において各時間ステップにおいて適用される擬似コードにおける適格度トレースの一例である:
trace := trace * lambda + value
ここで、traceは信号であり、lambdaは0でない減衰速度であり、valueは、その時間ステップにおいて受信された価値である。上述の適格度トレースの例におけるlambda変数は単に慣例によるものにすぎず、lambdaが、(それがTD-lambda系統のアルゴリズム内でどのように用いられるのかと同様に)ブートストラップへの遷移速度に関連するパラメータを指す、他所の説明において用いられるlambdaと混同してはならない。後述される本発明のいくつかの実施形態は、不均一な減衰速度を有するいくつかの適格度トレースを包含する。適格度トレースに関するさらなる詳細を、本明細書において提供される参照文献において見出すことができる。明確にするために、本明細書における特定の例におけるトレースは常に適格度トレースを指すが、いわゆる「ダッチトレース(Dutch trace)」などの関連方法へのこれらの拡張は容易であり得る。
【0075】
同等な適格度トレース機構、連続的な設定における上述された離散的な適格度トレースを達成することは、小さい時間ステップの極限を取ることによって簡単であり、入手可能な文献において十分に網羅されている。指数関数的減衰は、化学及び/又は電気構成要素などの、非常に広範囲の物理機構を用いて達成が容易であるため、それらはシステムの多くのハードウェア実装形態における容易で効率的な実施を可能にする。
【0076】
適格度トレースは、我々が本明細書において「過去の割引合計」価値と称する価値を算出する。換言すれば、我々は全ての過去の価値に、各価値がどれほど過去に収集されたのかに応じて指数関数的に減衰する割引率を乗算したものを合計する。例えば:
discountsum(t) := sum_dt (V(t-dt) * gamma^-dt)
ここで、本例におけるtは現在の時間ステップであり、V(t)は時間tにおける何らかの価値であり、dtは、合計が行われる時間差変数であり、gammaは割引率であり、sum_dtは、0~無限大(又は訓練の目的のために十分に大きく、十分と考えられる訓練エピソード又は時間窓の始めなどの、何らかの最大のdt)の全ての整数値を有するdtにわたる合計である。連続システムでは、これは積分になる。^-dtは、-dtが指数であることを表す。
【0077】
適格度トレースはまた、いくつかの時間ステップの価値からいわゆるバッチで同時に更新され得、これは、更新合計において価値又は適切に重み付けされた場合には、推定値にバイアスをかけることにならない。同様に、適格度トレースは、適格度トレースを用いて、価値を特定の時間ステップまで追跡し、その後、残りの時間ステップのための適切に重み付けされた明示的に記憶された価値を過去の価値の合計内に加算することによって、何らかの過去の価値の合計を推定するために用いられ得るであろう。このような変形は、並列プロセスなどの目的のため、及び/又はメモリキャッシングを改善するために有用になり得る。これの例示的な擬似コードは以下のとおりである:
trace(0) := gamma * gamma * trace(-2) + gamma*V(t-1) + V(t)
ここで、ここでのtrace(-2)は、V(0)の代わりにV(t-2)を加算することによって更新された適格度トレースである。
【0078】
当業者にとって自明である、様々な項を合計に加算するこれらの趣旨に沿った多くの変形が存在する。
【0079】
適格度トレースは強化学習の基本機構のうちの1つである。適格度トレースには2つの主要な見方がある。1つは、トレースがTDからモンテカルロ法へのブリッジと見なされる、より理論的な見方である。別の見方によれば、適格度トレースは、過去の価値の何らかの部分セットの一時的記録である。ある意味で、トレースは、オンライン方式による様々な学習アルゴリズムの使用を可能にする、すなわち、単一の勾配推定値に到達するために各観測を繰り返しすっかり反復することを必ずしも必要としない技法を可能にするための、過去のイベントに関する十分な情報を記憶する選択的メモリである。これはまた、単一の状態又は状態の部分セットのみが任意の時点で適格度トレースからの情報と共にメモリ内に保持されるため、これらの観測をメモリ内に記憶することなく推定を達成することができることも意味する。
【0080】
適格度トレースを関数近似器において用いるための新規の方法が、発明者によって、論文:「A connectionist actor-critic algorithm for faster learning and biological plausibility」[Johard, Leonard, and Ruffaldi, Emanuele. 2014 IEEE International Conference on Robotics and Automation (ICRA).]において導入された。本方法は教師あり適格度トレース又は教師ありトレースと呼ばれ、割引報酬のモンテカルロ推定を可能にする。本発明は、ブートストラップを含むことによる本方法の拡張と見なすことができる。
【0081】
この以前の仕事において、とりわけ教師ありトレースを用いることは、指数関数的に減衰する信号を用いて価値推定損失勾配のモンテカルロ推定の同等物を得るためのメモリ効率の良い仕方である。教師ありトレースは、パラメータごとの1つの信号e2を用い、全てのパラメータに共通する価値推定値のトレースを記憶するために別のパラメータe1を用いる。教師ありトレースにおけるe1信号は、任意選択的に、パラメータ及び/又は分散システム内のサブシステムごとに局所的に推定することもできる。
【0082】
e1信号は特定の速度で指数関数的に減衰していき、これに、価値推定値に、問題のパラメータに関する価値推定値の導関数を乗算したものから成る信号が加算される。
【0083】
e2信号も同じ速度で指数関数的に減衰していき、これに、導関数価値推定値に比例する信号が加算される。
【0084】
次に、これらの信号から、例えば、e2信号に報酬を乗算したものをe1信号から減算することによって、問題のパラメータのためのモンテカルロ損失勾配を推定することができる。
【0085】
発明者によるさらなる研究は、主要な計算的及び/又はメモリの利点を達成するためには、e2信号のみが、教師ありトレースにおける実際の適格度トレースになるために厳格に必要とされることを明らかにした。特定の時点における価値推定値及びその勾配からのe1信号の、価値推定値の勾配への寄与は、現在の価値推定値及びその勾配にのみ依存するパラメータごとの無限大までの幾何学的合計になる。このような幾何学的合計の全体寄与は、減衰速度、現在の価値推定値、及び価値推定値の現在の勾配から直ちに容易に評価され、価値推定値にその勾配を乗算したものに比例する項を直接もたらす。しかし、合計へのこの寄与が、適格度トレースの使用を通じて展開することを可能にすることはまた、各ロールアウトにおいて有限数の状態遷移を有する問題設定における、すなわち、合計が何らかの特定の最大の将来の時間ステップまで所望されるのみである設定における、時系列の都合の良い打ち切り(truncation)も可能にする。e1のための適格度トレースの使用は任意選択的なものであり、このような設定では適切である。これで発明者によるこの以前の仕事の分析は終わり、以下におけるトレースe1及びe2の定義は異なり得る。
【0086】
ブートストラップは、推定された価値を用いて他の推定値を推定する統計学における方法論である。我々の提案するシステムは、報酬及び価値推定値を含む何らかの結合に対して勾配上昇及び/又は降下を遂行することによって、ブートストラップを、教師ありトレースにおいて用いられるコンセプトに関連するモンテカルロ推定値に適用する。この結合は、再帰的な方式による、又は連続的な場合には同等の微分定式化を通じた、モンテカルロ推定におけるブートストラップの導入を定義する。価値及び報酬の結合を含む価値から生成された任意の割引将来報酬推定値は「ブートストラップ価値推定値」と呼ばれる。ブートストラップ報酬を生成する技術システムは「ブートストラッパ(bootstrapper)」と称される。
【0087】
第1の態様によれば、機械学習を支援するためのシステムが提供される。システムは、
- 1つ以上のプロセッサと、
- 推定器の1つ以上のパラメータを記憶するように構成されたメモリと、
- 割引報酬の可微分推定器であって、可微分推定器が価値推定器とも称され、1つ以上のプロセッサによって、時間的時点における1つ以上の環境及び/又はシステムの観測を表す情報を含む観測を受信し、メモリからの価値推定器のパラメータにアクセスし、価値推定プロセスにおいて、価値推定値とも称される、割引報酬推定値を生成するように構成されている、可微分推定器と、
- 1つ以上の適格度トレース生成器であって、1つ以上の適格度トレース生成器が、連続的に、及び/又は適格度トレース生成器のいくつかのステップ及び/又は時点を通じて(例えば、繰り返し、又は反復的に)、並びに1つ以上のプロセッサによって、価値推定器から、価値推定プロセスのパラメータのうちの1つに関する価値推定値の偏導関数を受信し、適格度トレース生成器からの信号を受信し、適格度トレースとも称される、更新された信号を生成するように構成されており、これにより、各ステップ及び/又は時点が、
・ 信号が、それぞれの信号に比例する速度で実又は疑似時間で減衰していき、すなわち、観測に対応する指数関数的時間減衰であり、
・ 信号に対して、価値推定値の偏導関数に比例する価値が加算される、
という動作を含み、その結果、価値が様々な時点で適格度トレースに加算及び/又は減算され、その一方で、得られた合計が指数関数的時間減衰を受けることによって、ステップ及び/又は時点の間で、適格度トレース生成器の信号を維持又は保持する、1つ以上の適格度トレース生成器と、
- 1つ以上のプロセッサによって、技術的報酬系からの報酬信号を受信し、価値推定値を受信し、適格度トレースを受信し、報酬、適格度トレース、価値推定値、及び価値推定値の勾配を含む入力に基づいて勾配推定値を作り出すように構成された1つ以上のブートストラップ勾配推定器と、
を備える。
【0088】
ある意味で、信号は適格度トレース生成器のステップ及び/又は時点の間にわたって持続すると言える。
【0089】
例として、適格度トレースのセットを生成することが可能であり、適格度トレースは、勾配推定値を生成するために用いられる機構及び/又は中間信号と見なすことができる。
【0090】
ここで注目すべきステップは、勾配を、TD-lambdaアルゴリズムの場合と同様に適格度トレースを通じて間接的にのみ用いるのではなく、直接(追加的に)用いることである。
【0091】
例として、1つ以上のブートストラップ勾配推定器は、
- 価値推定値に価値推定値の偏導関数を乗算したものに比例する信号であって、その積が、価値推定値に適格度トレースを乗算したものから分離可能である、信号、
- 適格度トレースに報酬を乗算したものに比例する信号、及び
- 適格度トレースに価値推定値及び/又は他の価値推定値(を含む合計)を乗算したものに比例する信号であって、この信号内の価値推定値が同じ又は後続の時点のためものである、信号、
の各々を加算及び/又は減算することを含むプロセスにおいて、勾配推定値を生成するように構成され得る。
【0092】
例えば、価値推定器は非線形関数に基づき得る。換言すれば、価値推定器は非線形価値推定器であり得る。
【0093】
任意選択的に、1つ以上のブートストラップ勾配推定器は、1つ以上のプロセッサによって、過去の報酬、及び任意選択的に、任意の価値推定値の割引合計の線形結合に比例する価値をさらに含む入力に基づいて勾配推定値を作り出すように構成されている。
【0094】
例えば、1つ以上のブートストラップ勾配推定器は、
- 価値推定値に価値推定値の偏導関数を乗算したものに比例する信号、
- (例えば、割引された時間窓内で、時間ステップにおいて、又は瞬間において受信された)適格度トレースに報酬を乗算したものに比例する信号、
- 適格度トレースに変数V2を乗算したものに比例する信号であって、V2が、同じ又は将来の時点のための、同じ価値推定値又は他の価値推定値である、信号、
の各々を加算及び/又は減算することを含むプロセスにおいて、勾配推定値を生成するように構成され得、
勾配推定器は、以下の項:
- 過去の価値推定値に同じ又は将来の時点におけるV2の偏導関数を乗算したものの割引合計に比例する信号、
- (例えば、同じ又は将来の時点におけるV2の偏導関数を用いて更新された)任意の適格度トレースに(同じ又は将来の時点における)V2の割引合計を乗算したものに比例する信号、並びに
- (例えば、同じ又は将来の時点におけるV2の偏導関数を用いて更新された)任意の適格度トレースに過去の報酬の割引合計を乗算したものに比例する信号、
の各々を、別個に、及び/又は任意の組み合わせで互いに合計された様態で含む、V2の任意の勾配推定値及び/又はオプティマイザに差し向けられる補正信号をさらに生成する。
【0095】
別の例では、1つ以上のブートストラップ勾配推定器は、
- 価値推定値に価値推定値の偏導関数を乗算したものに比例する信号、
- 適格度トレースに報酬を乗算したものに比例する信号、並びに
- 適格度トレースに変数V2を乗算したものに比例する信号であって、V2が、同じ又は将来の時点のための、同じ価値推定値又は他の価値推定値である、信号、
の各々を加算及び/又は減算することを含むプロセスにおいて、勾配推定値を生成し、
勾配推定器は、以下の項:
- 過去の価値推定値に同じ又は将来の時点におけるV2の偏導関数を乗算したものの割引合計に比例する信号、
- V2の偏導関数に過去の報酬の割引合計を乗算したものに比例する信号、
- 報酬にV2の偏導関数を乗算したものに比例する信号、
- V2の偏導関数にV2を乗算したものに比例する信号、
- 任意の適格度トレースにV2の偏導関数を乗算したものに比例する信号、
の各々を、別個に、及び/又は任意の組み合わせで互いに結合/合計された様態で含む、V2の任意の勾配推定値及び/又はオプティマイザに差し向けられる補正信号をさらに生成する。
【0096】
一例として、価値推定器は非線形関数に基づき得る。
【0097】
我々の提供する擬似コードでは、以上において言及された同じ時点(時間ステップ)は変数V_0であり、後続の時点は変数V_1である。これらは、連続時間の実装形態では、同じ変数につぶれ得る(それゆえ、「同じ又は後続の時点」と言う)。「後続の時点」は必ずしも1つの時間ステップ先であるとは限らず、「同じ時点」と称される時間の複数の時間ステップ(又は特定の連続時間量)先であり得ることに留意されたい。複数ステップの実装形態では、間の時間ステップを、他の対応する項を勾配推定値に加算することによって、明示的に取り扱う必要もあり得る。
【0098】
任意選択的に、システムは、1つ以上のプロセッサによって、勾配推定値を受信し、任意の価値推定器の機能を制御する1つ以上のパラメータを受信し、更新されたパラメータを生成し、新たなパラメータをメモリ内に記憶するように構成された1つ以上のオプティマイザをさらに備える。
【0099】
例えば、価値推定値の機能を制御する2つ以上のパラメータは、
- 個々のパラメータの組み合わせごとの価値を推定することなく、すなわち、パラメータの全ての組み合わせを有する任意の行列を計算することなく、それゆえ、パラメータ数における2次未満のメモリ及び/又は計算複雑性を可能にして、並びに
- 適格度トレースによって、価値推定値の過去の導関数の割引合計を算出するために用いられた各観測及び/又は状態をメモリ内に記憶することなく、
更新される。
【0100】
本発明の説明において用いられる信号の合計は、それら自体で勾配推定値を生成するために完全に十分であることに留意されたい。これは、勾配推定値に到達するために、価値の全てのパラメータの組み合わせを有する行列を用い、及び/又は過去の状態を記憶している代替的な勾配推定方法の追加の計算及び/又はメモリオーバヘッドを回避しつつ、これらの合計にのみ依拠する可能性をもたらす。これらの代替的な推定機構の追加のオーバヘッドは、不可避であると広く考えられてきたものであり、それらを回避することは、本発明によってもたらされる大きな恩恵である。しかし、これらの追加のオーバヘッドは、計算及び/又はメモリの利点が決定的でない、本発明の他の態様では、依然として正当化できる場合がある。1つのこのような例は、過去の状態が、小システム内のシステムダイナミクスの可視化又はさらなる分析のために再利用されることになるときである。
【0101】
特定の例では、システムは、
- 1つ以上の技術的アクターの機能を制御するアクターパラメータを記憶するように構成されたメモリと、
- 1つ以上のプロセッサによって、アクター観測を受信し、メモリ内の1つ以上のアクターパラメータにアクセスし、技術システムに差し向けられる行動を生成するように構成された1つ以上のアクターと、
- 1つ以上のプロセッサによって、観測を受信し、行動を受信し、メモリ内のアクターパラメータにアクセスし、価値推定器からの価値推定値を受信し、報酬信号を受信し、更新されたアクターパラメータを生成し、更新されたパラメータをメモリ内に記憶するように構成されたアクターオプティマイザと、
をさらに備える。
【0102】
上述の例では、価値推定器は人工ニューラルネットワークを含み得る。システムは、例えば、アクターの行動によって技術システム及び/又は技術環境を完全に、又は部分的に制御するように構成され得る。
【0103】
例えば、制御されるべき技術システム及び/又は環境は、車両、ロボット、又は技術的計画システムを含み得る。
【0104】
図6は、一実施形態に係る機械学習を支援するためのコンピュータ実施及び/又は装置実施方法を示す概略フロー図である。代替的に、本方法は、機械学習システムにおける価値推定の目的のためにニューラルネットワークのパラメータを決定するための手順と見なされる。本方法は、個々に、及び/又は組み合わせて遂行され得る、i)ステップS1~S3及びii)ステップS4~S6によって定義される、2つの段階に分割することができる。本方法がどのように用いられるのかに応じて、ステップS1~S3によって定義される第1の段階は任意選択的なものと見なされ得る。
【0105】
基本的に、本方法は、以下のステップを含む:
S1:技術システム及び/又は環境からの観測、並びに1つ以上の推定器パラメータを得るステップ、
S2:観測及び1つ以上の推定器パラメータに基づいて、価値推定器と称される、技術的可微分推定器によって、価値推定値と称される、割引報酬推定値を生成するステップ、
S3:価値推定器の1つ以上の推定器パラメータに関する価値推定値の勾配の推定値を生成するステップであって、この推定値は価値推定器の勾配と称される、ステップ、
----
S4:価値推定器のパラメータのうちの1つ以上の各々のための、適格度トレース、及び/又は価値推定器の過去の勾配の割引合計の他の推定値、並びに技術システム及び/又は環境からの技術的フィードバックの部分としての報酬、並びに任意選択的に、任意の追加の価値推定値に基づく価値を得るステップ、
S5:以下の信号の各々に基づいて、オプティマイザと称される、価値推定器の勾配ベースのパラメータ最適化を遂行するための装置又はコンピュータ実施プログラムにおいて用いるための価値推定器勾配推定値を生成するステップであって、信号とは、すなわち、
・ 価値推定値に、重みに関する価値推定値の勾配を乗算したものに比例する価値であって、これにより、この価値がまた、価値推定値に過去の勾配の割引合計を乗算したものに比例する勾配推定値への任意の寄与から分離可能である、価値、
・ 報酬に適格度トレースを乗算したものに比例する価値、及び/又は過去の勾配の割引合計の他の推定値に比例する価値、
・ 適格度トレースに比例する価値、及び/又は過去の勾配の割引合計の他の推定値に変数V2を乗算したものに比例する価値であって、V2が、同じ又は後続の時点又は時間ステップのための、任意の価値推定値である、価値、
である、ステップ、並びに
S6:上記勾配推定値を上記オプティマイザに差し向けるステップ。
【0106】
代替的に、及び/又は補足的に、ステップS5は、集合的に勾配推定値として定義される、上述の信号の各々を、別個に、及び/又は任意の組み合わせで互いに結合/合計された様態で生成することを含む。
【0107】
特定の例では、ステップS4において得られる価値は、推定器のパラメータのうちの1つ以上の各々のための、適格度トレース、及び/又は過去の勾配の割引合計の他の推定値、並びに技術システム及び/又は環境からの技術的フィードバックの部分としての報酬、並びに任意選択的に、任意の追加の価値推定値である。勾配推定値は以下の信号の各々を、別個に、及び/又は任意の組み合わせで互いに結合/合計された様態で含む:
・ 価値推定値に、重みに関する価値推定値の勾配を乗算したものに比例する価値であって、これにより、この価値がまた、価値推定値に過去の勾配の割引合計を乗算したものに比例する勾配推定値への任意の寄与から分離可能である、価値、
・ 報酬に適格度トレースを乗算したものに比例する価値、及び/又は過去の勾配の割引合計の他の推定値に比例する価値、
・ 適格度トレースに比例する価値、及び/又は過去の勾配の割引合計の他の推定値に変数V2を乗算したものに比例する価値。
【0108】
換言すれば、勾配推定値として定義される、上述の信号の集合体が生成され、例えば、生成された勾配推定値をオプティマイザへ送信又は転送することによって、オプティマイザに差し向けられる。
【0109】
本提案の勾配推定値を用いることが意味することは、観測の時間における過去の価値、例えば、適格度トレースによって効率的に生成されたそれらの価値のみを用いて勾配推定値を生成することが可能であることである。割引合計のために必要な価値を、適格度トレースを通じて暗黙的に記憶するのではなく、メモリ内に明示的に記憶する方法など、適格度トレースなしの使用であっても、少なくはなるが、依然として大きな技術的恩恵がもたらされる。例えば、我々は、ロールアウトが完了した後にのみ開始され得る、費用のかかる逆伝搬パスを用いることなく、勾配推定値をオンラインで生成することができる。
【0110】
任意選択的に、本方法は、
- 以下の信号:
・ 過去の価値推定値の割引合計に同じ又は後続の時点のためのV2の勾配を乗算したものに比例する価値、並びに
・ V2の過去の勾配の割引合計にV2を乗算したものの積に比例する価値であって、両方の項が同じ時点又は後続の時点のためのものである、価値、並びに
・ 同じ又は後続の時点のためのものであるV2の過去の勾配の割引合計と、報酬との積に比例する価値、
を、別個に、及び/又は任意の組み合わせで互いに結合/合計された様態で用いて勾配推定値を拡張するか、又はV2のための他の勾配推定器のための任意の勾配推定値及び/又はオプティマイザに差し向けることをさらに含む。
【0111】
V2が微分推定器と異なるときには、V2の勾配も得る必要がある。任意選択的に、V2は可微分推定器を用いて生成される。
【0112】
1つを超えるパラメータが考慮されるときには、勾配関連の値は、概して、ベクトル値、又はテンソルなどの他の非スカラ値になることに留意されたい。項は互いに合計され、及び/又は任意の組み合わせで別様に操作され得、信号はオプティマイザにおける有用性を維持する(すなわち、これにより、全ての項の全合計は最終的にパラメータ値と合計され得る)。特定の例では、1つ以上の信号を生成するために線形変換を用いることができ、これらの信号の線形変換を、上述の6つの項の合計をもたらすために後に用いることができる。様々なこのような変形体は基本的な線形代数によって容易に導出され、我々の提供する擬似コードを、変換の適切なパラメータを設定するための手引きとして用いることができる。価値推定器がV2として用いられる場合には、勾配推定器に差し向けられた全ての6つの項、すなわち、上述の3つの第1のもの及び3つの任意選択的なものを同様に任意の組み合わせで互いに合計することができる。
【0113】
何らかの過去の価値の割引合計に比例する合計内の様々な項は必ずしも同じ機構を用いて算出されるわけではない。それらは、過去の価値の割引合計(例えば、過去の勾配の割引合計)に比例する価値を推定又は算出する目的を依然として達成しつつ、異なる適格度トレース及び/又は異なる明示的合計及び/又は他の機構を用いるなど、異なる機構に依拠し得る。
【0114】
例えば、過去の価値推定値の割引合計を除く拡張信号は他の価値推定器から生成され、他の価値推定器のための勾配推定値に差し向けられ得る。
【0115】
任意選択的に、ステップは連続的に、及び/又は繰り返し適用され得、ステップS4において得られた価値は、実及び/又は疑似時間でシステム及び/又は環境の変化に対応するために変化し得る。
【0116】
例として、価値推定器の出力はその入力の非線形関数であり得る。特に、それは万能関数近似器であり得るであろう。
【0117】
一例として、得られた適格度トレースは、適格度トレースに比例する速度で実又は疑似時間で減衰していき、1つ以上の時間ステップにおける価値推定値の勾配に基づいて増大させられ得、本方法は、
- 価値推定器パラメータに関する価値推定値の勾配の推定値を得るステップと、
- 1つ以上の受信された価値推定器パラメータの各々のために、対応する適格度トレースを、適格度トレースが価値推定値の過去の勾配の割引合計に比例するよう更新するステップと、
をさらに含む。
【0118】
例として、勾配推定値は、勾配推定値に関連するあらゆる観測をメモリ内に同時に記憶することなく算出される、すなわち、勾配はオンラインで推定される。
【0119】
任意選択的に、本方法は、勾配推定値に基づいて1つ以上の価値推定器パラメータを更新するステップをさらに含み得る。
【0120】
一例として、価値推定パラメータはニューラルネットワークを符号化し得る。
【0121】
任意選択的に、2つ以上の価値推定器パラメータは、パラメータ対(i,j)ごとに1つ未満の価値を更新しつつ、更新され得る、すなわち、パラメータの更新は、パラメータ数における2次未満の計算複雑性を可能にする。
【0122】
特定の例では、本方法は、
- 技術的アクターシステムのパラメータ、及びアクター観測を得ることと、
- アクターパラメータ及び観測から行動を生成することと、
- 技術的アクターシステムのアクターパラメータを最適化することと、
を含む。
【0123】
例として、本方法は、生成された行動に少なくとも部分的に基づいて技術的アクターシステムを制御するステップをさらに含み得る。
【0124】
例えば、制御されるべき技術的アクターシステムは、ロボット、車両、又は技術的計画システムを含み得る。
【0125】
好ましくは、本方法はコンピュータ実施方法であり得る。
【0126】
別の態様によれば、また、本明細書において説明されるとおりの方法を遂行するように構成された強化学習のための装置が提供される。
【0127】
さらに別の態様によれば、また、制御可能な技術システムのための自己学習制御システムであって、自己学習制御システムが、本明細書において定義されるとおりの、機械学習を支援するためのシステム、又は強化機械学習のための装置を備える、自己学習制御システムが提供される。
【0128】
さらなる態様によれば、完全に、又は部分的に自動化されたロボット及び/又は車両を少なくとも部分的に組み立て、及び/又は構成するための方法が提供される。本方法は、
決定/最適化されたアクターパラメータに従ってロボット及び/又は車両の1つ以上のプロセッサを構成すること、或いは
ロボット及び/又は車両内に、決定/最適化されたアクターパラメータに従って設計及び/又は構成された1つ以上のプロセッサを含めること、
を含む。
【0129】
このように、完全に、又は部分的に自動化されたロボット及び/又は車両の効率的な組み立て及び/又は構成を提供することが可能である。
【0130】
さらに別の態様によれば、少なくとも部分的に自動化された工業プロセスを遂行するための方法であって、工業プロセスが、以上において定義されたとおりの技術的計画システムからの制御信号に基づいて実施される、方法が提供される。
【0131】
このように、例えば、自動工業プロセスの製品を効率的に生成することが可能である。
【0132】
以下において、本提案の技術が非限定例を参照して説明されることになる。
【0133】
まず、TD(0)によって用いられる更新を考える(ここでは時間ステップ問題設定で説明されるが、連続的な設定に容易に変形可能である):
Sum_i error_i
ここで、
error_i = V_0 - r_0 - gamma * V_0
ここで、V_0 = V(i + 0)は、何らかの観測の関数としてのその時間ステップにおける価値推定値であり((o)は、以下の本文において、簡潔にするために我々の表記において大部分省略されている)、本明細書において単にrとも呼ばれる、r_0は、時間ステップi+0後に受信された報酬であり、sum_iは、1つ以上の時間ステップにわたる合計である。
【0134】
本明細書における表記は、参考までに、LaTeXに大まかに基づいており、特殊文字のメイ(may)は省略されている。例えば、^は指数を示し、_は下付き文字である、等である。別の例では、sum_{a=0}^bは、0からbまでのaの合計である。
【0135】
これは、適切な損失関数に関連しない、重みを更新するために用いられるTD(0)の種類の誤差であるが、それを左記のようにする時間的差分誤差の変更が存在する。
【0136】
以下の表記においては、更新ルールを用いた1つ以上の時間ステップにわたる合計が暗黙的になっており、我々は、以下の表記において、更新が各時間ステップにおいて、及び/又は各時点において遂行されることに焦点を当てる。本明細書における「時間ステップ」の使用は必ずしも離散時間の実装形態を指すわけではなく、連続時間の実施形態における特定の時点を指す場合もあり得ることに留意されたい。
【0137】
TD(0)における誤差及び/又は損失関数或いはその勾配ベースの変種は、1つの時間ステップの時間窓をブートストラップのための窓として明示的に用い、誤差信号の任意のさらなる伝搬は複数のTD(0)の更新を通じて間接的に適用されることに留意されたい。ブートストラップ勾配推定器の好ましい実施形態では、我々は、より大きい窓が、時間窓の関数として指数関数的に減衰する重みに従ってより小さく重み付けされる、異なる種類のいくつかの時間窓にわたる重み付き平均を取りたい。
【0138】
我々はこれを適切な損失関数として記述することができる:
loss = sum_i error_i^2
ここで、
error_i = sum_tau lambda^tau*(V_0 - sum_(t=0)^tau gamma^t r_tau)- gamma^tau V_tau)
ここで、V及びrのための下付き文字は、この場合も先と同様に、V(o(i+tau))等を意味する。境界条件等の考慮事項は、簡単にするために省略された。tauは、(モンテカルロサンプリングが用いられる時間窓内の)添字として用いられ、lambdaは、異なる時間窓長の重み付けを記述するパラメータである。
【0139】
本発明はまた、
alt_error_i = \sum_{tau = 0}(lambda^{tau}V_0 - sum_{t=0}^{tau}(gamma^t r_{t}) - \gamma^tau \gamma V_{\tau+1})
などの、様々な他の誤差定義に対しても機能するが、大抵の場合、明白な利点もなく複雑性がより高くなるため、我々はここではそれらを詳細に取り扱わない。しかし、それらは本明細書における説明から容易な仕方で導出することができる。例えば、上述の代替的な損失関数は、20個の項から成る勾配推定値を生成することができ、このセットは、本明細書において部分セットとして説明される特定の必須項を含む。
【0140】
本発明の設計に役立ち得る3つの注目すべき等価性は以下のものである:
sum_i sum_j f(i,j) = sum_i sum_{j = i} f(i,j) + sum_j sum_{i = j} f(i,j) - \sum_i f(i,i)
及び
sum_i sum_j^i = sum_j sum_(i = j)
及び
sum_i (f(i) sum_t (x^t g(t))= sum_i g(i) sum_j^i (x^j f(j))
ここで、最後の因子は次式のように再帰的に記述することができる:
\sum_j^i (x^j f(j)) = t_n
ここで、t_n = f(n) + x t_{n-1}である。
【0141】
本発明の文脈におけるこれらの関係の技術的解釈は、1)合計の合計は、現在及び過去の価値にのみ依存する因子、すなわち、将来の価値に依拠しない因子の3つの反復可能な合計として書き直すことができ、2)過去の価値の割引合計は、過去の価値を明示的に記憶することなく適格度トレースを再帰的に用いて算出することができることである。これらの等式は、所望の勾配との厳密な等式を維持しつつ、我々が情報の費用のかかる記憶を回避することを可能にする機械的技巧を表し、また、当業者によって、様々な所望の損失関数から本発明の多くの代替的な設計を導出するために、本明細書における命令と共に用いられ得る。適切な定数の導出は、概して、損失関数の展開を通じて簡単である。以上に列挙された等式は、項を、適格度トレースに対応する所望の形式に整形するのに役立ち得る。以下の好ましい実施形態は、大抵の使用事例を網羅する事前に算出された設計を提供する。
【0142】
打ち切られたロールアウト、すなわち、我々が何らかの最大の最終時間ステップを有するロールアウトでは、ロールアウト後の報酬が利用可能でなくなるため、誤差が変更されなければならない。打ち切られたロールアウトの場合は、要約して言えば、最終価値推定値を用いて、ロールアウト内の最後の時間ステップの後に受信された実際の報酬を置換することによって取り扱うことができる。すなわち、誤差における合計は、どちらに最初に達したのかに依存して、tau又は最大時間ステップのどちらかにまで及ぶ。これは、幾何学的合計の形の最後の価値推定値の重要性の増大をもたらすことになる。これは、最終価値推定値を、当業者によって容易に算出される、この幾何学的合計と置換することができることを意味する。換言すれば、更新ルールは、最終時間ステップにおける価値推定値をスケーリングすることによって変更されるが、他の点では打ち切り型の場合のために同一である。好ましい実施形態における例を以下の擬似コードに示す。
【0143】
特に、発明者による注意深い研究によって、価値推定器のパラメータに関する上述の損失関数の勾配推定値は以下の機構を用いて算出することができることが明らかになっている:
e1 := lambda * e1 + V0 * d/dw (V0)
eV_0 := gamma * lambda * eV_0 + V_0
edV_0 := gamma * lambda * edV_0 + d/dw (V_0)
eV_1 := gamma * lambda * eV_1 + gamma * V_1 + sigma * r_0
edV_1 := gamma * lambda * edV_1 + gamma * d/dw (V_1)
grad_w := sigma * e1 - sigma * (sigma * r_0 + gamma * V_1) * edV_0 - sigma * gamma * eV_0 * d/dw (V_1) + eV_1 * edV_1
ここで、
wは、(「重み」としても知られる)価値推定パラメータのベクトルである。
grad_wは価値推定器の勾配推定値である
V_0は(現在の)時間ステップtにおける価値推定値V(o(t),w)である
V_1は次の時間ステップt+1のための価値推定値である
r_0は、時間ステップtの最後に与えられる報酬r(t+0)である
o(t)は、時間tにおいて受信された観測である
lambdaは、モンテカルロ推定からブートストラップへの遷移速度を制御するパラメータである。
gammaは報酬のための時間ステップ当たりの割引率である
sigmaは、sigma := 1/(1-lambda)としてlambdaに依存する
:=は代入演算子である
(適格度トレースeV_1等の名称内の下付き文字は、それらが時間ステップ又は時点を示すV及びrとは異なり、純粋に、ここではそれらのそれぞれの値へのそれらの関連を明示するために用いられる適格度トレースのための命名規則である。)
【0144】
代替的に、我々は、例えば、有限のロールアウトのためにより良好に適応させられた以下の更新ルールも用い得る:
e1 = gamma * lambda * e1 + 1
e2 = gamma^2 * lambda^2 * e2 + 1
e1V_0 = gamma * lambda * e1dV_0 + V_0
e1dV_0 = gamma * lambda * e1dV_0 + d/dw V_0
er1 = gamma * lambda * e1r + r * e1
e1dV_1 = gamma * lambda * e1dV_1 + gamma * e1 * d/dw V_1
e1V_1 = gamma * lambda * e1V_1 + gamma * V_1 e1
grad_w = sigma^2 V_0 d/dw (V_0) - sigma * (sigma * r + gamma * V_1) * e1dV_0 - sigma * gamma * eV_0 d/dw (V_1) + sigma * gamma * d/dw (V_1) er1 + sigma * edV_1 * r - sigma * gamma * e2 * r * d/dw V_1 + gamma V_1 edV1 + gamma * d/dw (V_1) * eV_1 - e2 gamma^2 V_1 d/dw V_1
打ち切られたロールアウトのための最終勾配推定値を生成するときには、我々は上述のステップの最終反復においてV_1をsigma V_1と置換する。
【0145】
勾配推定値の大きさは勾配降下手法を著しく行わないため、上述の勾配は、表記を簡単にするために1/2だけリスケールされた。
【0146】
任意選択的に、上述の更新ルールは、上述されたように、iのための新たな値を用いて数回繰り返され得る。例えば、このような反復の各ステップiにおいて、V_0は新たな時間ステップV(i)を指し得、rはr(i)を指し、V_1はV(i+1)を指す(等)。
【0147】
「現在の時間ステップ」、「同じ時点」、「次の時間ステップ」、及び「将来の時点」等などの本明細書における時間の指示は、これらの2つの時間ステップの相対的順序付け(すなわち、対応する観測及び報酬を生成する環境の状態の相対時間)を暗示するのみであり、オフライン算出を除外せず、及び/又は必ずしもデータ点と信号等の生成のタイミングとの間の任意の他の関係を暗示するわけではないことに留意されたい。影響を受ける変数は、簡潔にするために、別途断りのない限り同じ時間ステップのためのものであると仮定することができ、曖昧さが生じた場合には擬似コードを指示として用いることができる。報酬の時間ステップも、擬似コードにおいて指示されるように、暗黙的にこれらのステップに関連する。
【0148】
特定の例では、我々は、勾配推定値を生成するために異なる適格度トレースの独自の組み合わせを用いることができる。我々は、任意のlambdaを所与として、d/dw V(0)及びd/dw V(1)、すなわち、環境をtからt+1に更新する際に重要に利用可能な価値のみを用いて全最適化を正確に遂行することができることに留意されたい。環境への単一の一連の更新を生成し、オンラインで学習することが可能である。スケーリングは、固定したメモリ要求でnに比例し、その一方で、それは、各価値推定値を更新する際に、潜在的に無限数のステップ先までの価値推定値を考慮する。
【0149】
国際公開第2018/211139(A1)号は、強化学習ニューラルネットワークが、指定された結果の達成を試みてタスクを遂行するために環境と相互作用するエージェントによって遂行されるべき行動を選択する、強化学習に関する。強化学習ニューラルネットワークは、環境の状態を特徴付ける入力観測を受信するための少なくとも1つの入力、及び入力観測に応じてエージェントによって遂行されるべき行動を決定するための少なくとも1つの出力を有する。システムは、強化学習ニューラルネットワークに結合された報酬関数ネットワークを含む。報酬関数ネットワークは価値推定器に大なり小なり対応し、環境の1つ以上の状態によって提供される報酬を特徴付ける報酬データを受信するための入力を有し、強化学習ニューラルネットワークを訓練するための1つ以上のターゲット価値を提供するための報酬関数を決定するように構成されている。
【0150】
国際公開第2018/211139(A1)号はlambdaネットワークに言及しているが、例えば、lambdaネットワークはその順方向演算において価値関数の導関数を利用しないため、このlambdaネットワークを適格度トレース生成器と見なすことはできない。他方で、lambdaネットワークの訓練は、割引リターンの導出において見ることができるように、(同じ時間における)価値推定値の過去の価値ではなく、(観測に対応する時間における)価値推定値の将来の価値のパラメータに関する勾配に依存する。
【0151】
勾配を生成することは、(観測の時間における)現在の時間ステップ、及び他の時間ステップの両方に由来する知識を必要とする。適格度トレースは、他のステップからの全ての必要情報を記憶し、現在の適格度トレース、並びに現在の価値推定値(及び任意選択的に1つ以上の以前の時間ステップ)に依存する価値の有限セットにのみ依存する有限次元の情報符号化である。換言すれば、我々は、適格度トレースに対応する本発明の情報符号化機構を用いて、大きな、動的にサイズが変化する、及び無限になる可能性のある、一連の過去及び/又は将来の価値を記憶することなく、勾配を算出することができる。
【0152】
勾配推定値へのその適用の時点の間における適格度トレースの「持続性(persistence)」(トレースを維持又は保持すること)は本発明の際だった特徴である。はっきりと対照的に、国際公開第2018/211139(A1)号は、それが、次の時間ステップのための勾配推定値の生成を開始したときに、時間ステップのための勾配推定値を生成する際に用いられたその割引された信号を破棄する。
【0153】
適格度トレース生成器を勾配推定器の前のブロックとして有することが直接意味することは、勾配推定器が適格度トレース生成器の出力を、勾配推定値を生成するための部分入力として用い得ることである。これは、勾配推定値ごとに、これらの他の時間ステップのための全ての対応する価値を1)記憶し、及び/又は2)再生成するという、国際公開第2018/211139(A1)号における解決策の必要性を回避する。国際公開第2018/211139(A1)号において提案された別の機構は、リターンを近似的な有限のmステップのリターンに限定することであるが、これは、明らかに、訓練の精度と計算及び/又はメモリ複雑性との間の望ましくないトレードオフを必要とする。
【0154】
上述の技術的議論を要約すると、勾配推定値を生成するために、適格度トレース及びブートストラップの独自の組み合わせを用いて勾配推定値を生成することによって、本発明は、国際公開第2018/211139(A1)号における方法と比べてより優れた計算効率を有する。したがって、本提案の技術はまた、より大きく、より複雑な技術システム及び/又は環境からの入力を処理する能力を有する。
【0155】
擬似コードは、汎用コンピュータ内で実施されたときの本発明の好ましい実施形態の態様を記述する。
【0156】
擬似コードにおいて記述される一般原理は、連続的な場合の好ましい実施形態、及び/又は所望のハードウェア及び/又は他の考慮事項に最も適したメモリ及び/又は計算特性のバランスを取る実施形態に容易に変形され得る。
【0157】
擬似コードの合計内の最初の2つの項は、関数近似を用いたTD-lambda更新とのいくつかの類似点を有する。次の2つの項は、合計を目的関数上の勾配にする補正項を構成し、これは収束特性を改善する。補正項の計算複雑性はパラメータ数に対して正確に、又はおおよそ直線的にスケーリングする。これは、結果として複雑性において少なくとも2次のスケーリングを有する行列を維持する、多くの勾配TD-アルゴリズム、例えば、RLS-TDからの場合に、分離する。
【0158】
例示的な疑似コードにおけるトレースeV_1は、因子を共有する2つの対応する項の合計を直接生成するために用いることができる、単一のトレースにおける過去の報酬及び過去のV_1推定値の両方の割引合計を算出する。
【0159】
eV_0及び/又はeV_1トレースは全てのパラメータのために共通であり、価値推定器のために1度評価されるだけでよい。これは、それらを局所的に評価する必要性を取り除く。ただし、これは、特定の実装形態では、信号伝送コスト及び追加の局所トレースのためのコストなどの因子の間のバランス次第では、より好適な選択肢になり得るであろう。汎用コンピュータの実装形態におけるそれらの計算コストは、パラメータごとに評価される必要がある他のトレースとは異なり、それらが1度評価されるだけであるため、概して性能を制限しない。この理由のために、精密な過去の価値推定値を記憶し、各時間ステップにおいて適格度トレースを評価するなど、これらのためのより費用のかかる計算選択肢を用いることが選択肢になり得るであろう。このとき、eV_1と同等の価値を過去のV2推定値(若しくは、V=V2の場合には、V)及び報酬の割引合計として明示的に計算することができる。このような組み合わせを設定することの詳細は、合計がeV_1トレースによって追跡されることを明示的に説明した後では、当業者に明らかであろう。
【0160】
この勾配推定値は、多数の時間ステップにわたって合計されたときには正確になるが、様々なオンライン勾配降下機構において典型的であるように、各推定値、及び/又は推定値の成分はオプティマイザへ個々に送信することができることに留意されたい。
【0161】
上述の実装形態は、簡潔にするために単純にしておかれたが、(V_0及びV_1が同じ推定器を用いて生成される場合には)edV_1を記憶することを、これは時間遅延を別にすればedV_0と同様であるため、回避するなど、多くの小さな変更及び/又は改善が存在する。このとき、我々はより古い価値edV_0を記憶し、必要なときにいつでもedV_1を再生成するために現在の時間ステップから得られた情報から更新ステップを遂行することができる。代替的に、r及びeV_0に比例するトレースを保持することによって、我々は必ずしもeV_1を記憶することを必要としない(この場合も先と同様に、それらが同じ価値推定器によって生成されることを仮定する)。これは、eV_1を、現在の時間ステップにおいて得られた情報から、eV_0、V1、及びrに比例するトレースの合計として容易に再算出することができるためである。このような変更は当業者にとって容易なことであろうから、これらは、簡潔且つ明確にするために上述の擬似コードから省略された。
【0162】
好ましい実施形態のこのような小改変の特定の例では、我々は、代わりに、上述の擬似コード内のトレースedV_1を、edV_0及びd/dw (V_1)から算出された以下の再定義と置換し得るであろう:
edV_1 := gamma * gamma * lambda * edV_0 + gamma * d/dw (V_1)
【0163】
eV_1のこのような定式化は、我々がパラメータごとに単一のトレースのみを記憶することができることをより明確に示し、また、コンパイラによるスタックへのメモリ割り当てを促進し得るであろう。
【0164】
上記の完全な勾配ベースの機構は、上記の合計の最後の数項を除去することによって以下に単純化され、次式に到達することができる:
e1 := lambda*e1 + V0 d/dw (V0)
edV_0 := gamma * lambda * edV_0 + d/dw (V_0)
grad_w := sigma * e1 - sigma * (sigma * r_0 + gamma * V_1) * edV_0
【0165】
我々は、例えば、(1/(2*lambda)によってリスケールされた)打ち切り型の場合のためによりうまく適応した、関連更新ルールも用い得る:
e1dV_0 = gamma * lambda * e1dV_0 + d/dw (V_0)
grad_w = sigma * V_0 d/dw (V_0) - (sigma * r + gamma * V_1) * e1dV_0
【0166】
打ち切られたロールアウトにおける最終更新において、我々は勾配推定値においてV1を\sigma V_1と置換する。すなわち、grad_w = sigma * V_0 d/dw (V_0) - (sigma * r + gamma * sigma * V_1) * e1dV_0。
【0167】
この単純化された機構は、多くの場合、実際に収束するが、収束挙動はより複雑であり、同じ価値推定器が、V_0及びV_1を生成するために用いられる場合には、それはもはや損失関数上の適切な勾配でなくなる。それは、勾配推定値における第1の項がTD lambdaアルゴリズムとは異なり、上記の項は、V_0 * d/dw V_0にのみ依存する項を有するが、それに対して、TD-lambdaは、V_0 * edV_0に依存する項を有する。edV_0が過去のd/dw V_0価値(現在のd/dw V_0を含む)の割引合計であることを所与とすると、これは、V_0 * dV_-1等などの交差項を追加的に含む(ここで、dV_-1 = d/dw V(t-1)等である)。提供される発明における特定の相違は、項、V_0 * dV0が、TD lambdaにおいて用いられる項によって表される(dtにわたって合計された)過去のV_0 * dV_-dtの割引合計から分離可能であること(すなわち、それからの勾配推定値への全体寄与に線形従属しないこと)である。換言すれば、我々の項、V_0 * dV0の寄与は、過去のV_0 * dV_-dt(ここで、dtは合計の変数を表す)の全割引合計の勾配推定値へのいかなる寄与からも独立している。上述のTD lambdaなどの、本提案の発明に対する特定の代替策では、この割引合計は、勾配(すなわち、単一のパラメータの場合には、偏導関数)を用いて更新された適格度トレースを用いて算出される。換言すれば、TD lambdaが、価値推定値に適格度トレースを乗算したものに比例する勾配に寄与するのに対して、我々の発明の寄与は、価値推定値に、TD-lambdaの対応する積によって暗黙的に算出された割引合計におけるただ1つの項である、勾配推定値を乗算することに依拠する。それゆえ、際だった特徴は、この項単独からの勾配推定値への寄与が、TD-lambdaにおける対応する項によって用いられる全割引合計を加算することによって生じる勾配推定値へのいかなる寄与とも異なることである。
【0168】
他の独立した価値推定値が後続の時間ステップにおいて用いられる場合には、この他の価値推定器は第1の価値推定器のパラメータと独立しているため、補正項は損失の勾配において0になることが注目され得る。換言すれば、これらの項の除去は、完全な勾配推定値が、この場合の単純化された勾配推定値と同等になることを意味する。
【0169】
これらの擬似コードは純粋に指示的なものであり、本発明の一実施形態の設計を支援している。これらを指針として用いて、例えば、ステップサイズdt→0の極限を取り、V_0 = V_1と設定し(すなわち、t + 1*dt → tとなるため、それらは時間ステップの極限において等しくなる)、適格度トレース更新におけるステップベースの割引率因子(例えば、gamma及びlambda)を、適格度トレースに比例する微分減衰を有する微分方程式の定式化と置換し、ブートストラップV_1、d/dw(V1)等の前の様々なステップベースの割引を除去する(これらのステップは、我々が極限dt→0においてステップt+1*dtを取った場合、消える)、などのことによって、様々な離散的及び連続的実施形態に到達することができる。このような変形自体は、よく知られていると考えられ得る。
【0170】
例示的な擬似コードにおけるsigmaは、0から無限大までのlambdaに基づく幾何学的合計であり、連続的定式化におけるトレースを更新するために用いられる微分方程式によって記述される対応する指数関数の0から無限大までの積分と置換することができる。我々はまた、V_0とV_1等の間の有限時間ステップを用いつつ連続的定式化における適格度トレースを更新することもできる。このとき、好適なステップベースの割引gamma及びlambdaは、好ましくは、時間0と減衰の指数関数的定式化のための離散的な後続の時間ステップとの間の対応する積分と一致するべきである。我々の例示的な擬似コードにおいて説明されたパラメータの上記の、及び同様の変形を用いることは、これらの特定の実施形態のうちの任意のものにおける適切な学習機能性を達成するために十分な方向付けを提供することになる。我々が、上述されたとおりのいくつかの連続的定式化において極限を取ると、時間ステップは事実上消える。つまり、擬似コードにおけるV_1は、V_0を生成するために用いられる時間ステップと比べて、同じ又は後続の時間ステップから生成された価値推定値として解釈することができる。V_0とV_1との間の有限の時間ステップが連続的報酬関数と共に用いられる場合には、報酬関数は時間tと時間t+1との間で、この時間窓内の適切な指数関数的減衰によって重み付けされた報酬を用いて積分されなければならない(すなわち、「割引された時間窓内の積分」)。同様に、報酬が、価値推定値の間の時間ステップよりも小さい特定の時間ステップにおいて与えられる場合には、割引された時間窓内の積分と同様の区間内の割引合計を代わりに用いることができる。時間ステップが用いられる場合には、これは、適切な離散化プロセスによって取り扱われると仮定され得る。報酬は、問題設定及びハードウェアの詳細に応じて、瞬間的な価値、割引された時間窓内の積分、時間窓内の割引合計、又はここで述べられたものなどの特定の時間ステップのための価値であることができる。換言すれば、擬似コードの報酬項の役割は、割引を考慮して、V_0とV_1との間で受信された報酬を評価することである。我々は、本明細書において、適切な報酬を、ここでの説明から当業者に自明な上述のものなどの任意の変形と共に、略して報酬と称する。
【0171】
教師あり適格度トレースのlambdaは、価値推定値がモンテカルロ推定値から、TD学習と同様のブートストラップ推定値に向かうのに基づいて遷移する速度を決める。ブートストラップされた推定値の割引率は、報酬及び割引された価値推定値の線形結合における重みによって決められる。報酬の重みは1に設定され、割引された価値推定値の重みは、この好ましい実施形態では範囲(0 1)内の値に設定され、これは、結果を、連続的TD-lambda及び同様の方法のものに関連する価値推定値として容易に解釈可能にする。0(ゼロ)の重みはシステムを、本発明の範囲外である、純粋なモンテカルロ推定にすることになり、その一方で、1以上の価値は、この好ましい実施形態では、不安定になる傾向を有することに留意されたい。
【0172】
特許限定の目的のために、本文脈において互いに加算/減算されるべき任意の線形結合、合計、及び/又は信号は、0とは異なる重みを有する寄与を意味することに留意されたい。換言すれば、項がこの目的のための結合への寄与と考えられるためには、それが出力に少しでも影響を与える必要がある。lambda及びgammaは、(何らかの時点で)0とは異なることが期待され、1よりも大きい値に保持された場合には、概して収束しないことになる。合計等は、加算及び/又は減算にも、同じ目的のための他の同等の演算にもなり得る。より一般的には、信号を別の信号に加算することは、信号を結合する任意の好適な手段を含む。
【0173】
概して、合計内の信号によって張られた空間を張る他の信号の加算もまた、元の合計の合計と考えることができる。信号の部分セットの合計を各々構成する変数の任意の合計等も同様である。
【0174】
これら及び他の信号は、例えば、代替的な浮動小数点表現を用いた、効率的伝送のための非線形の損失のあるリスケーリングの適用、及び/又は分散プロセッサ内の計算ノード間の安全な転送のための様々な暗号化方法の適用によるなどして、他の信号内に符号化することもできる。概して、本発明はノイズに対して耐性がある。つまり、ノイズを有する、及び/又は任意の近似に依拠する信号が用いられ得る。具体的には、様々な信号の対応するタイミングのわずかな差は、これらの差が学習問題の文脈で無視できる場合には、許容可能な近似になり得る。
【0175】
得られた信号及び/又は価値、及び/又はシステムにおいて内部で用いられるものは、以上において指示されたものを含む種々のフォーマットで同様に表され得る。特に、共通の因子を共有する項の対(それらのうちの1つは、対、sigma * r * edV_0及びgamma * V_1 * edV_0である)は一緒に生成することができる。例えば、上述の対は、(sigma * r + gamma * V_1) * edV_0として生成することができ、(sigmaの追加的乗算後の)勾配推定値に差し向けられる、得られた信号は、これらの2つの信号の合計になる。これらの2つの場合における別の選択肢は、本発明の単純化されたバージョンでは、互いに合計された報酬及びV2推定値を表す信号を単一の信号として送信することである。
【0176】
所与の好ましい実施形態は、更新を時間的にサブサンプリングし、いくつかの時間ステップを単一の更新に併合し、及び/又はいくつかの時間ステップを単一のマルチステップ更新として取り扱うことに一般化することもできる。これはプロセッサへの適応のために有利になることができ、このような最適化はコンパイラによって自動的に行われ得る。代替的に、我々は、この好ましい実施形態において、項を個々に生成し、勾配推定器に投入することによって計算の順序を変更する。生成におけるこの、又は任意の他のステップのこのような線形変換及び/又は他の単純な変更は当業者にとって些細なことと考えられ得る。評価の順序のこのような些細な変更は、また、ハードウェアを設計するためのコンパイラ最適化及び/又はソフトウェアによって自動的に実施され得る。例えば、メモリアドレスを変更することができる、価値を暗黙的に、及び/又は圧縮及び/又はスパースフォーマットで送信することができる、等のことがある。正確な可能な変形の網羅的リストは、要求記述長の点で禁止され得るであろうが、いずれにせよ、本明細書において用いられるシステムの概念説明から容易に実現され、それによって説明されることが当業者によって理解されるであろう。
【0177】
ブートストラップされた報酬推定値におけるlambda値は、ブートストラップのための割引率、すなわち、TDベースの価値推定における割引率と同様のものと見なすことができる。これは、ブートストラップを遂行するときに将来報酬が現在の報酬に対して割引される率を決める。ブートストラップのための割引率は、この好ましい実施形態では、必ずしも一定とは限らない。実際に、ブートストラップがモンテカルロサンプルよりも低い分散を達成するまで、最初はモンテカルロ推定に依拠する方が良い場合があり得る。訓練の後期の段階では、ブートストラップにあまり依拠せず微調整を行うために、モンテカルロサンプリングに切り替えることが再び有益になり得る。別の例では、適応的Lambda最小二乗時間的差分学習(Adaptive Lambda Least-Squares Temporal Difference Learning)アルゴリズムなどにおいて、割引を最適学習のために適応させることができる。同様に、報酬のための割引率はブートストラップの割引率トゥ(toe)同様に適応させられ得る。すなわち、lambda及びgammaはどちらも訓練プロセスにわたって変化し得る。
【0178】
ブートストラップの詳細に対する多くの可能な変形が存在する。例えば、それは、観測及び/又は価値推定値自体に基づいてブートストラップの程度を選定するための方法と組み合わせることができる。これらの変形の例は、その仮定がより適切であると分かっている状態空間の特定の区域内では、TD学習に、又はこれらにおける探索のコストに起因する負の報酬を有する区域内では、モンテカルロ推定値を回避するための方略に、より高度に依拠することである。
【0179】
適格度トレース及び方策勾配アクター-クリティック構成と組み合わせたブートストラップ報酬推定値は、3つの異なる問題定式化、POMDP、MDPのモンテカルロ推定、及びTD学習とおおよそ見なすことができるものの間の自然な遷移を可能にする。
【0180】
我々が本明細書においてV2と呼ぶ、勾配推定値をブートストラップするために用いられる価値推定値は、価値推定器から、又は価値推定の別のソースからのどちらかのものであることができる。特に、それは、任意選択的に、別の可微分価値推定器から得ることができる。これの一例として、このテーマに関する一般的な変形は、それらの勾配更新において価値推定を交換する価値推定器の対又はセットを有することである。価値推定器のこのような対は、現代のTD学習方法において、特定の条件下における観測又は状態の価値のシステマチックな過大推定を回避するためにしばしば用いられる。このような例では、本発明の実施形態は、価値推定器のセットを用いることによって類似方略を実施するであろう。それらは、それらの独自の価値推定器を用いて価値推定値を生成するが、別個の価値推定器から受信された他の価値推定値V2からのブートストラップを部分的に用いて勾配推定値を算出するであろう。例えば、提供される例示的な擬似コードでは、V_0は価値推定器Vから更新されることになり、その一方で、V_1は別の推定器V2から生成され得るであろう。このとき、我々の擬似コードにおける推定値は、この場合も先と同様に、V2(t+1) = V2(o(t+1), w)の省略としての下付き文字による我々の表記を用いて、より適切に、V2_1と命名されるであろう。我々の元の例示的な疑似コードでは、我々は、VがV2と同じである、すなわち、価値推定値が、本例における価値推定値を生成するために用いられるものと同じ価値推定器を用いてブートストラップされているという事実を利用した。
【0181】
システムの単純化された実施形態の項のみを用いることは、別の価値推定器を用いてブートストラップするときの簡潔性のための一選択肢である。しかし、V2に依存する補正項をV2の勾配推定値へ送信することが可能である(それは今度はいくつかの価値推定器の合成関数になり得、これは、それが勾配推定値を2つ以上のこのような価値推定器サブシステムへ伝搬することになることを意味する)。補正項を交換するこのアプローチは、我々がいくつかの推定器上のいくつかの損失関数を含むグローバル損失関数に関して2つ以上の推定器を同時に最適化する方略を暗示し得る。このとき、勾配推定値Vはまた、他の推定器のブートストラップ勾配推定値からのいくつかの追加の補正項を受信し得るであろう。一例として、Vの勾配推定値は、Vを用いてブートストラップしているV2の勾配推定値からの補正項を受信することができる。最も単純なこのような構成では、我々は、それらのそれぞれの補正項を互いに送信する2つの推定器V及びV2を有する。Vにおける補正項はV2のための勾配推定値に依存し、これはまた、これらの補正項が生成されるべきである場合には、VによってV2から得られなければならないこと(及びその逆)に留意されたい。
【0182】
V2は、たとえVとは異なっても、価値推定器をサブシステムとして包含し、及び/又はそれを入力として用い得、これは、V2の一部のパラメータは価値推定器内のパラメータに対応することを意味することに留意されたい。これの単純な例は、我々がV2として価値推定値及び1つ以上の他の価値推定器の線形結合を用いる場合である。例えば、勾配がV2から価値推定器へ自動的に伝搬され、価値推定器の対応するパラメータの勾配推定値に項として加算されることになる自動微分を用いることによって、V2が可微分である場合には、このような事例を扱うことは容易である。
【0183】
例えば、V2は、異なるパラメータ化、及び/又は価値推定値(V1)から受信された観測のセットを用い得る。受信された価値推定値V2は、好ましい実施形態では、正確に、又は近似的に、価値が価値推定値(V1)によって推定されているエージェントと同じエージェントのため、及び同じ時点で、若しくは何らかの後続の時点で価値推定値(V1)のための観測を生成する状態と同じ状態のための何らかの価値推定値でなければならない。しかし、本明細書において網羅されるいくつかの実施形態、訓練プロセス全体を通じて減衰するブートストラップ量を用いるこのような特定の実施形態は、事実上任意のV2を用いて収束を確実に達成し得る。純粋なノイズを有するブートストラップは、概して、学習プロセスを加速しないことになり(及びそれを減速し得)、可能なときにはいつでも回避されるべきである。しかし、V2が外部ソースから受信されるときには、これを検証することはいつも事前に可能であるわけではない。V2として用いられる近似は時として非常に粗いが、学習プロセスをある程度加速するために依然として有用であり得る。
【0184】
項が値の何らかの積に比例し、これらの項がいくつかの時間的時点で加算されると説明するとき、これは必ずしも、これらの積の比率が時点の間で不変であることを暗示するわけではない。例えば、上記の例示的な擬似コードは、経時的に変化する他の因子をこのような項内に含む。
【0185】
当業者は、ノイズ、正則化、及び/又は自然勾配及び/又は共役勾配などの、勾配の代用を加算する推定値を含む、多くの他の可能な実施形態が存在することを認識する。勾配推定値が勾配降下方略において有用になるための条件はよく知られていると考えられ得る。要約して言えば、真の勾配への勾配推定値の射影は、通常の勾配降下方略下での損失の低減を保証する勾配推定値の方向にある必要がある。任意のスカラによって勾配推定値をスケーリングすることは、オプティマイザにおけるその使用性に実質的に影響を及ぼすことがなく、随意に行うことができる。勾配推定値は、様々な形態で、例えば、ベクトル信号のセット又はスカラのセットの形態で伝送され得る。代替的に、勾配推定値は、線形結合又は同様のものを通じて目的地点において結合されるために多数の別個の項などの様々なフォーマットでオプティマイザへ伝送され得る。
【0186】
価値推定器は確率論的なものであることができ、訓練の間にノイズをその推定に人工的に導入することも、これが正則化の役割を果たすため、有益であり得る。このような機構は機械学習の技術分野において一般的である。ここで、一般的なノイズタイプの例はガウス形及びドロップアウトである。
【0187】
適格度トレースは分散され、同等の仕方で更新されるいくつかの価値又はトレースを構成することができる。例えば、適格度トレースを各々含む項の合計内の各項は、その独自の適格度トレースを有するその独自のサブシステムによって算出することができる。これらのサブシステムが次に適格度トレースを集合的に構成する。これはまた、下位構成要素が時間同期していない、すなわち、それらの値が、時間差のゆえに、及び/又は各サブシステムが同じマルコフ過程の異なる軌跡からサンプリングするがゆえに異なる場合にも同様である。それらの間にこのような時間差(すなわち、上述の例示的な擬似コード及び説明において暗示されるとおりの時間差とは異なる時間差)を有する2つ以上の適格度トレースが単一の項内で用いられる場合には、このとき、何らかの適切な追加の機構が、時間差を補償するために必要とされることになる。多くの場合、我々は数個の時間ステップのための状態を順に明示的に記憶し、何らかの小さい時間窓内の時間差を補償する追加の項を加算することができる。他の場合には、我々は、単に、項が勾配推定値及び/又はパラメータ更新に合計される順序は合計の結果に影響を及ぼすことがないという事実に依拠することができる。また、パラメータを更新する際のいくらかの小さい遅延のせいで、勾配推定値が価値推定器のための古いパラメータ値を用いて更新されても、オプティマイザの機能を著しく変化させはし得ないであろう。なぜなら、パラメータは(オプティマイザの詳細及びハイパーパラメータに応じて)ゆっくりと変化することが期待され得るからである。
【0188】
概して、適格度トレースは、及び特に、我々の発明は、それらの効率的なメモリ使用のゆえに現代の汎用コンピュータにおける適応のために特に適している。通時的逆伝搬などの標準的技法は本発明と同等の数学的結果をもたらすことができるが、過去の状態、観測、及び/又は行動の記憶を維持する必要性は、典型的な現代の汎用コンピュータに対するメモリ要求が、このようなシステムにおける多数の実際的問題のために実現不可能になることを意味する。特に、ピクセルベースの視覚入力に依拠する強化学習システムは、典型的なハードウェア上のメモリの問題を生じさせることが知られている。トレースの使用は、情報の関連部分のみをトレースと呼ばれる1つ以上の信号内に符号化することによって、記憶される必要がある情報の量を低減することによって、これを解決する。低減されたメモリ使用はまた、計算のより高い割合が、CPUキャッシュ又はGPUメモリなどの、限定的なより高速なメモリを用いて遂行されることも可能にする。本発明はまた、他の計算上の利点ももたらし得る。
【0189】
本提案のシステムの同様の利点は、本発明のプロセッサ及びメモリの電子回路並びに同様のハードウェアの実施形態にも当てはまる。加えて、このような実施形態では、アーキテクチャの単純さが、集中メモリアクセス、逆伝搬情報パイプライン等のための回路を除去することによって、より高い密度の処理ユニットを可能にする。適格度トレースはパラメータ自体に物理的に近接して記憶され得、指数関数的減衰は、通常、電子機器を通じて、例えば、キャパシタ、遅延を有するフィードバックループ、及び/又は時限2進除算を通じて、実施が極めて単純な機構である。このようなより単純なハードウェアアーキテクチャは、伝統的な強化学習ハードウェアアーキテクチャよりも安価になり、高速にもなるように設計することができる。我々はまた、関与する計算は、局所情報にのみ依拠させることができること、及び計算及びメモリ要求は、好ましい実施形態では、パラメータサイズに対しておおよそ直線的にスケーリングすることに留意する。
【0190】
モンテカルロ推定と比べて、ブートストラップを用いたトレースは、我々が問題の完全又は広範な可観測性に依拠することができる多数の問題のために、実質的により高速な収束をもたらす。別の言い方をすれば、我々のブートストラップは、我々が問題を、完全に観測可能なマルコフ決定プロセスとして近似することを可能にする。モンテカルロ法からブートストラップへの段階的遷移はまた、我々が、長期パターンを探す間に、短期パターンにおける可観測性に関するより弱い仮定を、より強い仮定と組み合わせることも可能にする。仮定の種類の間のこのハイブリッドアプローチは、学習システムが、完全な可観測性の仮定の妥当性を制約する、実際的なシステムにおいて一般的な、フィードバック遅延、及び/又は過去の状態に関する情報の段階的蓄積をもって呈示されるときに、特に理にかなっており、その一方で、長期的状態遷移のための学習機構は、独立サンプルの数がより希薄である可能性が高く、それゆえ、学習効率がより重要になるこれらの長期パターンにわたって情報をブートストラップし、収束速度を高めるために、より強い仮定に依拠することができる。概して、強化学習は非常に費用のかかる訓練プロセスを必要とし、収束スピードのいかなる増大もこのようなシステムにとって重要である。同時に、不適切な単純化近似が用いられる場合には、それらは収束の問題にしばしば悩まされる。本発明によって用いられる近似の動的遷移は、モンテカルロ及びブートストラップ法の両方の収束の利点を組み合わせるための新たな可能性を開く。
【0191】
任意選択的に、本発明はオプティマイザを含む。勾配推定値を所与として、オプティマイザは、パラメータを反復的な仕方で改善しようと試みる技術システムである。限定するものではないが、以下のもの:勾配降下、自然勾配降下、2次導関数の推定値を利用する降下法、線形探索を含む降下、共役勾配降下、運動量ベースの方略、及び勾配推定値の大きさを破棄する方法、のコンピュータ実装形態を含む、多くの可能なオプティマイザが存在する。これら及び他のオプティマイザの変形は当業者にとって自明である。本発明の好ましい実施形態は、単純性及び安定性の理由のために勾配の方向に減衰するステップサイズを有する通常の勾配降下方略を用いる。別の言い方をすれば、パラメータは、オプティマイザによって自動的に生成され、メモリに記憶されるプログラムコードである。このプログラムコードは、パラメータ空間の符号化に関する情報と共に、ニューラルネットワークフレームワークなどのツール又はシステムによって解釈されるか、コンパイルされるか、又はハードウェアの同等物に変えられ得る。生成されたプログラムは、所与のシステムが、報酬系によって定義された目的をどれほどうまく達成するかを正確に予測するために最適化される。
【0192】
所望の技術的効果を有するためにパラメータ更新にメモリに記憶する必要はないことを理解されたい。EU内におけるごく最近のプライバシーの発達に鑑みて、連合学習が、業界において、ネットワークを複数のアクター(例えば、Owkin、Googe Gboard、Tesla等)にわたって訓練しつつ、データの匿名性を提供するための方式として広く採用されたことに注目してもらいたい。連合学習は、データの転送と比べてネットワーク負荷の利点ももたらし、これらの理由でも実施されている。連合訓練システムの分散性は、それがいくつかの法人にわたって広がっていることを意味し、通常、1つの中心法人がパラメータの実際の更新を遂行し、いくつかの法人が勾配推定値を供給する。ここで、価値推定器において用いるための勾配推定値は、実質上、企業及び/又は個人間で取り引きされるか、販売されるか、又は他の仕方で交渉される工業製品であり、したがって、勾配推定値はそれ自体で、意図された、価値のある取り引き可能な技術的成果を構成する。
【0193】
パラメータは、同時に、いくつかの可能な実施形態のための表現であり得る。例えば、我々はコンピュータ実施アクターを最適化しているが、我々は、同時に、これらのパラメータに基づいて別の技術的価値推定システムの同等のハードウェア設計及び/又は構成を最適化していてもよい。このとき、パラメータセット、並びにこのように設計及び/又は構成されたハードウェアはどちらも、対応する方法の出力と考えることができる。
【0194】
勾配推定値及びオプティマイザはまた、本発明において、それらが、異なるステップ又はサブシステムにはっきりと分離しにくい仕方で組み合わせることもできる。このような場合の一例は、一連の1次導関数に基づくより高次の導関数の推定値である。
【0195】
また、オプティマイザへ送信される勾配推定値をいくつかの信号にわたって分割すること、又はそれを経時的に広げることも可能である。このような変形の例は、例えば、擬似コードの例が、価値をトレースe1に加算することによって行うように、その寄与を複数の時間ステップにわたって勾配へゆっくりと送信する別の適格度トレースを生成することである。また、項を1つずつオプティマイザへ送信し、パラメータが全ての項を用いて更新されるまで価値推定器パラメータを更新することも可能である。また、この場合には、オプティマイザは、時間及び/又は複数の信号にわたって分散した仕方で送信される上述の項を含む勾配推定値に基づいてパラメータの更新されたセットを生成する。
【0196】
また、機能性を複数のサブシステムにわたって分散させることも可能である。特定の例は、いくつかの同一のロボットシステムなどの、いくつかの別個のアクターから勾配推定値を収集し、それらをより正確な勾配推定値に併合することである。別の例は、いくつかのオプティマイザからのいくつかの重み更新を包括的重み更新に併合することである。このような分散に関する変形は強化学習において一般的であり、当業者にとって自明である。
【0197】
任意選択的な実施形態では、本発明はアクターオプティマイザを含む。アクターオプティマイザは、より良好な期待報酬を経時的に達成する方策を作成するためにアクターパラメータのうちの1つ以上を調整する目的を有する技術システムである。方策は、報酬及び探索ノイズのみを用いた方策勾配のアプローチを通じて改善することができるが、多くの場合、代わりに、価値推定値からの助けを借りて方策を改善することも学習プロセスにとって有益である。このとき、アクターオプティマイザは、報酬信号及び価値推定値を含む入力を受信し、アクターオプティマイザに渡される内発的報酬を作り出す。最後に、アクターオプティマイザは、方策を改善する1つ以上のパラメータの新たなセットを生成する。Q学習などの、特定の価値推定フレームワークは、最適又はおおよそ最適な部分的方策を時間ステップごとに生成し、それに対して、方策勾配法などの、他のフレームワークは、永続的方策を経時的に段階的に改善する。永続的方策を用いるシステムは、最適化段階が完了すると、アクターをアクターオプティマイザから切り離し、その後、最適化されたアクターを、行動を生成するために独立して適用することができる。
【0198】
アクターパラメータは、価値推定器のものと同様に、同時に、いくつかのアクターシステムの方策を表し得ることに留意されたい。換言すれば、最適化システムにおいて行動を生成するアクター、並びに他の同等のシステム、例えば、上記アクターのハードウェア実装形態、及び/又はアクターを若干異なる仕方で実施するコンピュータはどちらも、提供される方法の出力によって最適化されると考えられ得る。
【0199】
内発的報酬及び/又はブートストラップにおいて暗黙的である問題の種類に関するより強い仮定に頼ることは、多くの場合、より高速な収束を可能にするが、仮定が少なくとも部分的に無効であるため、最善の局所解と完璧に合致しない場合があり得る。これらの場合には、より高速な学習の恩恵及び真の局所最適への収束の両方を獲得するために、訓練が進行するのに従ってそれらの使用を段階的に減少させることができる。ブートストラップの減少は、一実施形態では、一定にとどまるのではなく経時的に減少する価値推定値勾配におけるブートストラップ率を有することによって実施することができる。アクターオプティマイザによる内発的報酬の使用はまた、経時的に減少させ、代わりに、実際の報酬によって段階的に置換することができ、場合によっては、報酬割引は方策勾配アクターにおける適格度トレースなどの方法によって直接取り扱われる。別の方法は、方策勾配アクターオプティマイザにおいて用いられる適格度トレースの減衰を、それが、価値近似によって用いられる速度に一致するまで増大させるか、又は、それをその速度に向けて収束させることによるものである。速度が一致した場合には、内発的報酬はもはやアクターオプティマイザの最適にバイアスをかけない。クリティックは、依然として、方策勾配アクターのための観測依存指標として機能することができ、これはその方策勾配推定値の分散を低減する。また、異なる減衰速度を有する複数のクリティックを同じアクターに接続すること、又はクリティックを、異なる適格度トレースを用いているクリティックを用いてブートストラップすることも可能である。
【0200】
システムの一態様は、アクターによって制御される技術的サブシステムを含む。可能なサブシステムは、組織、工場、生産プラント、加熱若しくは冷却システム、製造ライン、パイプライン、伝送線路、コンピュータクラスタ、抽出ユニット、又は同様のものの挙動を最適化し、直接又は間接的に制御するシステムである、計画システムである。典型的なこのようなシステムは、連続制御のため、又は生産、資源利用、生産時間、及び品質などの目的の組み合わせから作り出された報酬を最適化するべく一連の行動を計画するために、1つ以上の方策が用いられる、工業生産計画システムである。用いられる観測が種々のセンサから収集され、人間の制御者及び/又は自動制御によって従われ得るであろう、生産計画が生成される。計画システムの他の例としては、マーケティング計画システム及びロジスティック計画システムが挙げられる。
【0201】
技術的計画システムは、水力発電、火力発電、地熱熱交換、加熱システム、冷却システム、伝送線路、製造生産ライン、生産ライン内の特定の機械、揚水システム、サービス内容提供システム、コンピュータ負荷平衡、自動マーケティングシステム、水衛生システム、石油及び一般資源抽出、パイプライン制御、並びに採掘作業を含む、多くの工業及び行政部門における収益性及び/又は効率的操業にとって一般的になり、重要になったコンピュータプログラムである。これらのシステムは、技術システム、或いは技術的、及び(人間などの)他の動作の混合を制御する。計画システムは動作を直接制御するか、或いは、ことによると、より一般的に、人間の意思決定者及び/又は操作者のための技術的行動計画を提唱することによって、間接的に制御することができる。一般的に存在する最適化ソフトウェアは、一般的に、問題サイズに応じてうまくスケーリングせず、及び/又は一般化及び過剰適合を考慮しない従来の最適化技法に依拠する。
【0202】
強化学習のアプローチは、いくつかの部門において技術的計画適用のための有望な代替策として研究段階に入った。計画を高頻度に、及び適時に提供することは、センサコストの近年の低下、及び関連組織による構造化されたデータ収集の努力によって刺激された計算及びメモリの課題と共に、主要な課題である。広範にわたるクラウド計算及び記憶を防止する情報セキュリティの要求は、計画システムを実行する際のメモリ及び計算効率の問題をさらに悪化させる。計算複雑性を生じさせる別の因子は、より正確な非線形モデルへ移行したいとの要望であり、それに対して、既存のシステムは、多くの場合、計算的に実行可能となるために、線形化及び他の単純化に頼る。
【0203】
技術的計画システムは、多くの場合、現実のシステムとの十分な対応を有すると仮定される、シミュレータ、モデル、及び/又はデジタルツインを最適化プロセスのために用いる。一般的に、特定のシミュレーションツールが、このシミュレータを作成するために用いられ、履歴データが、それを検証又は改善するために適用される。所望の行動は、時点ごとの計画、又はいくらかの期間のための計画であることができる。行動計画は純粋に仮説的なものであり、より多くの情報が計画システムに到来するのにつれて変更される傾向を有するため、各時点における行動は、概して、より正しく定式化された最適化問題であり、その一方で、各時点における最適行動は、取られる現実の行動、及び環境内の対応する変化をもたらす。生成された即時行動はそれ自体では行動計画を構成しないが、依然として、即時に取られた行動の結果の決定論的又は確率論的推定の何らかの明示的又は暗黙的推定を所与として長期的な全体的成果を最適化することを目的としたそれらの生成の背景を所与とした動作計画を遂行する。それゆえ、即時制御が、明白でない様態で長期的目的を達成することを目指して最適化される場合、すなわち、長期的利点への即時結果のつながりが非自明であるときには、工業用制御システムを計画システムと考えることができる。
【0204】
計画は、通常、いくらかの制約内で行われる。単体法又は動的計画法などの伝統的な最適化方法は、通常、このような制約を最適化方法に組み込み、その一方で、強化学習は、好ましくは、適切な負の報酬を用いてそれらを取り扱う。これらのシステムはある程度の偶然性を包含する傾向を有するため、この後者のアプローチは、制御システムが制約境界からのいくらかの余裕を維持すること促す。
【0205】
例えば、技術的計画システムは、最適化後に、その制御信号をSCADAシステムと直接通信することによって、対応する工業プロセスを制御し得るか、或いは代替的に、機械及び/又はユーザインターフェースと直接インターフェースをとっていてもよい。概して、このような技術的計画システムにおいて用いられ得る多くの種類の万能関数近似器はまた、例えば、TensorFlow及び/又はFluxなどの現状技術のAIフレームワークの周辺の対応するインフラストラクチャを用いた、エッジコンピューティング解決策における展開のための効率的コードにコンパイルすることもできる。セキュリティの理由のために、アクターは、センサへのアクセスを有するが、インターネットへのアクセスがないか、又は限られているローカルネットワーク上で訓練され、及び/又は展開され得る。時として、プロセスにおいて用いられる様々な資源のための更新された資源コストなどの外部情報が、ファイアウォールを通して入ることを許可され得る。
【0206】
商業的関心のある様々な態様、例えば、人間労働強度、資源利用、生産、材料の再利用、及び要求エネルギー入力に係る工業プロセスの効率は、競争の激しい部門における工業プロセスの収益性にとって本質的である。競争の激しい環境においては、このようなパラメータにおけるわずかな差がプロセスの収益性に大きな影響を及ぼし得、非静的社会では、作業の不断の調整が必要であることが前提とされ得る。好ましくは、プロセスに関連するパラメータの変化に適応するよう連続的な仕方で訓練することによって、上述の訓練方法をこれらの工業プロセスの部分として用いることで、概して、計算能力がより低く、従ってプロセスの融通性がより低い代替的な方法よりも、より効果的な生産がこれら及び他の態様からもたらされ、これらのプロセスから、生産単位当たり、より低いコストで所望の生産物を生産することができることになる。同様に、環境影響及び資源利用を低減することができる。
【0207】
別の可能なサブシステムはロボットシステムのモータ制御である。観測がセンサから受信され、通常、時間、精度、力、走行距離、特定の達成目的、損害回避、及びエネルギー使用などの因子に基づく報酬に関して、最適な運動を作り出すために用いられる。ロボットは、通常、工業目的のための、静止型、又は自走式ロボットであることができる。
【0208】
一般的に、ロボットシステムでは、ロボットの状態が知られていると仮定され、運動の計画が逆動力学を通じて分析的に行われる。拘束のない場合の動力学のパラメータの注意深い校正を通じて、優れた精度を達成することができるが、外部物体と相互作用したときには、仮定の妥当性は目前の問題を表現できなくなる。空気圧式アクチュエータなどの、多くの有望な種類のアクチュエータも、逆動力学法を用いて計算的に取り扱うことが難しい非線形挙動を呈する。その一般的問題定式化を用いた強化学習は伝統的な動力学モデルに依存せず、このようなシナリオ及び他のものを扱うように十分に適応させられる。
【0209】
強化学習を通じて訓練された方策を通じてロボットを制御することは難しい課題である。ロボットが相互作用する必要がある物体及び環境は、多くの場合、非常に複雑である。バランスを維持し、外力、摩擦、及び他の能動物体における変化に適切に反応するために、運動及び反応時間は高速であることが期待される。同時に、報酬は、多くの場合、達成された目的に基づき、必要とされる反応時間に対して希薄である。その結果、貢献度分配問題はむしろ難しく、誤差信号は、TDベースの方法又は逆伝搬方法を用いて多数の時間ステップを逆伝搬される必要がある。メモリ又は計算要求は時間ステップの数と共に増し、これはアプローチを難しくする。加えて、センサシステムからのフィードバック遅延は、用いられる時間スケールと比べて顕著になり得るであろう。この事実は、多数の未知数、及び複雑な環境の正確なモデリングの難しさと相まって、TDベースの学習において用いられる完全な可観測性の仮定を非現実的にする。本発明は、このような場合におけるメモリ要求を大幅に低減し、アクターの方策勾配訓練を用いる短期的なPOMDPの仮定から、モンテカルロ価値推定によって提供されるより大規模のバイアスされた制御変量へ、及び最終的に、ブートストラップのMDP的な仮定への遷移を可能にする。
【0210】
別の可能なサブシステムは、人間、従来の自律システム、及び/又は自己学習エージェントの任意の組み合わせによって制御されるように設計された車両である。車両は、貨物、乗客、ペイロード、及び/又は機器を載せる任意の機械であることができ、自動車両、推進式車両、航空機、レール式車両、船舶、ロケット、宇宙船、ミサイル、及び誘導弾を含む。アクターの制御は、運動制御及び車両の全ての他の機能の完全制御であるか、或いは1つ以上のサブシステムを制御することに限定されるかのどちらかであることができる。観測は、LIDAR、レーダ、カメラ、スピードセンサ、ピトー管、エンジン温度からのセンサ入力などの変数を含み得る。行動は、操舵角、所望の運動座標、速度、キャビン温度、及び計器灯などのパラメータであることができる。ここでの問題はロボット工学におけるものと似ており、各々において用いられる領域及び方法の間の相違は、部分的に歴史的なものと見なすことができる。
【0211】
ロボット、車両、及び計画システムは、通常、関連データをサンプリングするために、及び/又はシステムによる望ましくない挙動の場合に備えて、相当な資本及び時間費用を要する。多くの場合、1つ以上のシミュレータにおいて関連強化学習システムを訓練することが好ましい。シミュレータ訓練プロセスの後に、システムは、現実の環境内での価値推定値及び/又はエージェントパラメータの微調整を行って、又は行うことなく、現実の環境適用することができる。理想的には、訓練プロセスは、計算複雑性及び現実の適用との類似性の増大に伴って一連のシミュレータにおいて行うことができる。また、価値推定器を訓練するためにオフラインデータを用いることも可能である。任意選択的に、価値推定器及びアクターの両方の微調整は後に現実のシステムにおいて行われ得る。
【0212】
車両及びロボットは、好ましくは、製造に入る際に全ユニットでオンライン訓練を行うことなくアクターを展開する。これは、単一のユニットから受信されたデータ対バイアスからのリスクを使った訓練の非効率性のためである。代わりに、データは、好ましくは、全てのユニットから収集され、単一の効率的なアクターシステム及び/又は価値推定器に併合され得る。また、送電網から切り離された解決策上の制約された計算能力は、学習プロセスをオンラインで遂行することに著しい不利益をもたらし得る。車両のためには、ノイズを導入することによって、アクターを、単一のセンサに依拠しないように訓練することも好ましくなり得るであろう。対照的に、工業計画システムでは、このような状況におけるセンサの冗長性及び計算リソースの可用性のゆえに、センサデータを、シミュレートされたデータと置換することがよりふさわしくなり得る。
【0213】
インテリジェント制御システムは、新たな車両の技術的開発コストの増大しつつある部分である。本提案の方法の態様は、このようなインテリジェント車両を設計及び/又は製造するための効率的な仕方を提供し、比較可能な方法と比べて制御の複雑性及び/又は単位当たりの製造コストにおける恩恵が期待される。ニューラルネットワークを特に自動運転地上車両のために訓練することは、自動車のライフサイクル生産プロセスにおける中心部分であり、概して、作成インテリジェント制御は、最新の車両構築に期待される機能性に達するために不可欠である。これらの場合の多くにおいて、車両設計は、センサへの直接アクセスを有する車両の内部の汎用コンピュータにおけるアクターの展開を本質的に支援する。同様に、ロケットの複合制御の構築は、何分の1かのコストでの打ち上げを可能にする構成要素の再利用性を可能にした。全てのこれら及び他の車両は、恩恵、例えば、生産ライフサイクルにわたる生産コストの低減、(結果としてもたらされた車両における)高度制御、安全性の増大、より高度の自動化、及び/又は燃料消費の低減を達成することができる。
【0214】
価値関数推定器は、履歴データを実際の方策及び/又は実際の環境のための近似として使って訓練することができる。履歴的方策及び/又は環境が最終方策に近いと仮定することができる場合には、これは良い近似になることができる。訓練は、基本的には異なるが、いくつかの態様ではターゲット適用と同様である現実及び/又は模擬環境内で行うこともできる。これは転移学習として知られ、当技術分野において比較的一般的である。
【0215】
代替的に、計画システム、ロボット、又は車両を、強化機械学習システムをそのサブシステムとして含む総合技術システムと見なすことが可能である。
【0216】
計画システム、ロボット、又は車両はまた、強化機械学習システムによって制御されるとも見なされ得、強化機械学習システムを、その一体のサブシステムとして、又は別個であるが、相互接続されたエンティティとして有する。
【0217】
上述された方法及びデバイスは種々の仕方で組み合わせられ、再編成され得ること、並びに方法は、1つ以上の適切にプログラム又は構成されたデジタル信号プロセッサ及び他の周知の電子回路(例えば、特殊機能を遂行するために相互接続された個別論理ゲート、又は特定用途向け集積回路)によって遂行され得ることは理解されるであろう。
【0218】
本発明の多くの態様は、例えば、プログラム可能コンピュータシステムの要素によって遂行され得る行動のシーケンスに関して説明される。
【0219】
上述されたステップ、機能、手順、及び/又はブロックは、汎用電子回路機構及び特定用途向け回路機構の両方を含む、ディスクリート回路又は集積回路技術などの、任意の従来の技術を用いてハードウェアの形で実施され得る。
【0220】
代替的に、上述されたステップ、機能、手順、及び/又はブロックのうちの少なくとも一部は、マイクロプロセッサ、デジタル信号プロセッサ(DSP(Digital Signal Processor))、及び/又はフィールドプログラマブルゲートアレイ(FPGA(Field Programmable Gate Array))デバイス及びプログラム可能論理コントローラ(PLC(Programmable Logic Controller))デバイスなどの任意の好適なプログラム可能論理デバイスなどの、好適なコンピュータ又は処理デバイスによる実行のためのソフトウェアの形で実施され得る。
【0221】
また、本発明が実施される任意のデバイスの一般処理能力を再利用することが可能であり得ることも理解されたい。また、例えば、既存のソフトウェアの再プログラムによって、又は新たなソフトウェア構成要素を追加することによって、既存のソフトウェアを再利用することも可能であり得る。
【0222】
用語「状態」は、時として、観測も指し、時として、価値推定を指すことに留意することができる。Q学習、TD学習、及び関連アプローチにおける多くの初期の研究は完全に観測可能な状態を仮定したため、これらの用語の混用は当技術分野の文献においてよく目にする。
【0223】
また、ハードウェア及びソフトウェアの組み合わせに基づく解決策を提供することも可能である。実際のハードウェア-ソフトウェア分割は、システム設計者によって、処理速度、実施のコスト、及び他の要求を含む多数の因子に基づいて決められ得る。
【0224】
図7は、一実施形態に係るコンピュータ実装形態100の一例を示す概略図である。この特定の例では、本明細書において説明されるステップ、機能、手順、モジュール、及び/又はブロックのうちの少なくとも一部は、1つ以上のプロセッサ110を含む処理回路機構による実行のためにメモリ120内にロードされる、コンピュータプログラム125、135において実施される。プロセッサ110及びメモリ120は、通常のソフトウェア実行を可能にするために互いに相互接続されている。また、任意選択的な入力/出力デバイス140が、入力パラメータ及び/又は結果として得られた出力パラメータなどの関連データの入力及び/又は出力を可能にするためにプロセッサ110及び/又はメモリ120に相互接続され得る。
【0225】
用語「プロセッサ」は、以下のものとして一般的な意味で解釈されるべきである:
・ 特定の処理、決定、又は計算タスクを遂行するためのプログラムコード又はコンピュータプログラム命令を実行する能力を有する任意のシステム又はデバイス、及び/又は
・ 特定の仕方で信号を操作するために特に設計された専用ハードウェア回路機構、及び/又は
・ 汎用プログラミング言語を構成するには至らない表現力を有するいくつかのパラメータ又は命令によって部分的に記述された特定の仕方で信号を操作するために特に設計されたパラメータ化ハードウェア回路機構。
【0226】
それゆえ、1つ以上のプロセッサ110を含む処理回路機構は、コンピュータプログラム125を実行したときに、本明細書において説明されるものなどの明確に定義された処理タスクを遂行するように構成されている。
【0227】
処理回路機構は、上述のステップ、機能、手順、及び/又はブロックを実行するために特化している必要はなく、他のタスクも実行し得る。
【0228】
さらに、本発明は、加えて、コンピュータベースのシステム、プロセッサ包含システム、又は命令を媒体から取り出し、命令を実行することができる他のシステムなどの、命令実行システム、装置、又はデバイスによる、又はそれに関連した使用のための適切な命令セットが記憶された任意の形態のコンピュータ可読記憶媒体内に完全に具体化されると考えられ得る。
【0229】
一態様によれば、それゆえ、少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサに、本明細書において開示される方法又は方法群のうちの任意のものを遂行させる命令を含むコンピュータプログラムが提供される。
【0230】
ソフトウェアは、通常、非一時的コンピュータ可読媒体、例えば、CD、DVD、USBメモリ、ハードドライブ、又は任意の他の従来のメモリデバイス上で実施されるコンピュータプログラム製品として実現され得る。それゆえ、ソフトウェアは、プロセッサによる実行のためにコンピュータ又は同等の処理システムの動作メモリ内にロードされ得る。コンピュータ/プロセッサは、上述のステップ、機能、手順、及び/又はブロックを実行するために特化している必要はなく、他のソフトウェアタスクも実行し得る。
【0231】
本明細書において呈示されるフロー図又は図群は、1つ以上のプロセッサによって遂行されるときには、コンピュータフロー図又は図群と見なされ得る。対応する装置は、プロセッサによって遂行される各ステップが機能モジュールに対応する、一群の機能モジュールと定義され得る。この場合には、機能モジュールは、プロセッサ上で実行するコンピュータプログラムとして実施される。
【0232】
それゆえ、メモリ内に常駐するコンピュータプログラムは、プロセッサによって実行されたときに、本明細書において説明されるステップ及び/又はタスクの少なくとも部分を遂行するように構成された適切な機能モジュールとして編成され得る。
【0233】
代替的に、モジュールを、関連モジュールの間の好適な相互接続を伴って、主として、ハードウェアモジュールによって、又は代替的に、ハードウェアによって実現することが可能である。特定の例としては、上述されたとおりの、1つ以上の適切に構成されたデジタル信号プロセッサ及び他の周知の電子回路、例えば、特殊機能を遂行するために相互接続された個別論理ゲート、及び/又は特定用途向け集積回路(ASIC(Application Specific Integrated Circuit))が挙げられる。使用可能なハードウェアの他の例としては、入力/出力(I/O(input/output))回路機構、及び/又は信号を受信及び/又は送信するための回路機構が挙げられる。ソフトウェア対ハードウェアの程度は純粋に実装の選択である。
【0234】
リソースがネットワークを通じて遠隔地へサービスとして分配されるコンピューティングサービス(ハードウェア及び/又はソフトウェア)を提供することが次第に広まってきている。例として、これは、本明細書において説明されるとおりの機能性を1つ以上の別個の物理的ノード又はサーバに分散させること、又は再配置することができることを意味する。機能性は、別個の物理的ノード内、すなわち、いわゆるクラウド内に位置付けられ得る1つ以上の合同で機能する物理及び/又は仮想機械に再配置されるか、又は分散させられ得る。これは、時として、ネットワーク、サーバ、ストレージ、アプリケーション、及び一般若しくは特注サービスなどの、構成可能な計算リソースのプールへのユビキタスオンデマンドネットワークアクセスを可能にするためのモデルである、クラウドコンピューティングとも称される。
【0235】
上述された実施形態は本発明の少数の例示的な例として理解されるべきである。本発明の範囲から逸脱することなく、様々な変更、組み合わせ、及び変更が実施形態に対してなされ得ることは当業者によって理解されるであろう。特に、異なる実施形態における異なる部分解決策は、技術的に可能である場合には、他の構成で組み合わせられ得る。