IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングの特許一覧

特開2022-77522強化学習を用いて制御戦略を訓練するための装置および方法
<>
  • 特開-強化学習を用いて制御戦略を訓練するための装置および方法 図1
  • 特開-強化学習を用いて制御戦略を訓練するための装置および方法 図2
  • 特開-強化学習を用いて制御戦略を訓練するための装置および方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022077522
(43)【公開日】2022-05-23
(54)【発明の名称】強化学習を用いて制御戦略を訓練するための装置および方法
(51)【国際特許分類】
   G05B 13/02 20060101AFI20220516BHJP
【FI】
G05B13/02 L
【審査請求】未請求
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021183515
(22)【出願日】2021-11-10
(31)【優先権主張番号】10 2020 214 177.0
(32)【優先日】2020-11-11
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ダリア ステパノヴァ
(72)【発明者】
【氏名】ヨハネス エッチュ
(72)【発明者】
【氏名】ニースレット ムスリウ
(72)【発明者】
【氏名】トーマス アイター
(72)【発明者】
【氏名】フェリックス ミロ リヒター
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA18
5H004GB16
5H004KD61
5H004KD62
(57)【要約】      (修正有)
【課題】強化学習を用いて制御戦略を訓練するための装置および方法を提供する。
【解決手段】複数の強化学習訓練フローを実施するステップを含む。各強化学習訓練フローにおいて、制御フローの初期状態から始まるエージェントのシーケンスの各状態に対して、実施すべき動作が選択さる。状態の少なくともいくつかに対する各動作は、複数の状態を定める計画期間を定めるステップと、動作と該動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムにソルバを適用することにより定められた状態数を有する各状態から到達可能な状態の複数のシーケンスを求めるステップと、求められたシーケンスのもとで最大の収益を提供するシーケンスを選択するステップと、各状態から出発して選択されたシーケンスの第1の状態に到達することができる動作として選択するステップとによって選択される。
【選択図】図3
【特許請求の範囲】
【請求項1】
強化学習を用いて制御戦略を訓練する方法であって、
複数の強化学習訓練フローを実施するステップを含み、
各強化学習訓練フローにおいて、前記制御フローの初期状態で始まるエージェントの一連の状態の各状態に対して、実施すべき動作が選択され、
前記状態の少なくともいくつかに対して、前記動作の各々が、
複数の状態を定める計画期間を定めるステップと、
動作と該動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムに解集合プログラミングソルバを適用することにより、定められた状態数を有する、各状態から到達可能な状態の、複数のシーケンスを求めるステップと、
前記求められたシーケンスから、前記求められたシーケンスのもとで最大の収益を提供するシーケンスを選択するステップであって、前記求められたシーケンスから提供された収益は、前記シーケンスの状態に到達した際に得られる報酬の合計であるステップと、
各状態から出発して選択されたシーケンスの第1の状態に到達することができる各状態に対しての動作として、動作を選択するステップと
によって選択される、方法。
【請求項2】
前記強化学習の訓練フローにおいて到達する状態に対して、前記状態が複数の強化学習訓練フローにおいて初めて到達したものであるかどうかを検査し、前記状態が複数の強化学習訓練フローにおいて初めて到達したものである場合には、前記動作が、前記複数のシーケンスを求めるステップと、前記求められたシーケンスのもとで最大の収益を提供するシーケンスを選択するステップと、前記状態から出発して選択されたシーケンスの第1の状態に到達することができる動作を選択するステップとによって求められる、請求項1記載の方法。
【請求項3】
前記複数の強化学習訓練フローにおいて既に到達した状態に対して、前記動作は、これまでに訓練された制御戦略に従って、またはランダムに選択される、請求項2記載の方法。
【請求項4】
前記状態の少なくともいくつかに対して、前記各動作は、
第1の状態数を定める第1の計画期間を定めるステップと、
前記動作と前記動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムに解集合プログラミングソルバを適用することにより、第1の状態数を有する、前記状態から到達可能な状態の、複数のシーケンスを求めるステップと、
前記各状態に対しての動作を求めるために、定められる利用可能な計算バジェットが算段されている場合には、前記求められたシーケンスのもとで最大の収益を提供するシーケンスの第1の状態の数を有する前記求められたシーケンスから選択し、動作を、前記各状態から出発して前記選択されたシーケンスの前記第1の状態に到達することができる前記各状態に対しての動作として選択するステップと、
前記各状態に対しての動作を求めるために、定められる利用可能な計算バジェットがまだ算段されていない場合には、第2の状態数を定める第2の計画期間を定めるステップであって、前記第2の状態数は前記第1の状態数よりも多い、ステップと、
前記動作と前記動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムに解集合プログラミングソルバを適用することにより、第2の状態数を有する、前記状態から到達可能な状態の、複数のシーケンスを求めるステップと、
前記求められたシーケンスのもとで最大の収益を提供するシーケンスの第2の状態数を有する前記求められたシーケンスから選択するステップと
動作を、前記各状態から出発して前記選択されたシーケンスの前記第1の状態に到達することができる前記各状態に対しての動作として選択するステップと
によって選択される、請求項1から3までのいずれか1項記載の方法。
【請求項5】
前記解集合プログラミングソルバは、マルチショットソルビングを支持し、前記強化学習訓練フローにおける順次連続する状態に対しての複数のシーケンスが、前記解集合プログラミングソルバを用いた前記マルチショットソルビングによって求められる、請求項1から4までのいずれか1項記載の方法。
【請求項6】
制御方法であって、請求項1から5までのいずれか1項に従って訓練された制御戦略に基づいて、ロボットデバイスを制御するステップを含んでいる、制御方法。
【請求項7】
制御装置であって、請求項1から6までのいずれか1項記載の方法を実行するように構成されている、制御装置。
【請求項8】
コンピュータプログラムであって、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに請求項1から6までのいずれか1項記載の方法を実施させるプログラム命令を含んでいる、コンピュータプログラム。
【請求項9】
コンピュータ可読記憶媒体であって、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに請求項1から6までのいずれか1項記載の方法を実施させるプログラム命令が格納されているコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
様々な実施例は、一般に、強化学習を用いて制御戦略を訓練するための装置および方法に関するものである。
【0002】
ロボットのような機械のための制御装置は、例えば製造プロセスにおいて特定のタスクの実行のために、いわゆる強化学習(Reinforcement Learning:RL)によって訓練することができる。タスクの実行には、典型的には、状態シーケンスの各状態に対する動作の選択が含まれ、すなわち、これは、逐次的決定問題とみなすことができる。選択された動作によって到達した状態、特に最終状態に依存して、動作は所定の収益(return)をもたらす。この収益は、例えば、当該動作により、報酬(例えばタスク目標の達成に対するもの)が付与される最終状態に到達することが可能であるかどうかによる。
【0003】
強化学習は、エージェント(例えばロボット)に、時間の経過の中で受け取る収益が最大化するように自身の特性を適合化させることによって経験から学ぶことを可能にする。エージェントが制御シナリオに関する知識を必要とせず、十分な時間が与えられるならば最適な制御ポリシー(policy)に収束することが保証されている、シンプルな試行錯誤に基づくRL手法がある。しかしながら、実際には、最適な制御ポリシーへの収束は、非常に緩慢な場合がある。このことは、とりわけ、報酬を見つけるのが困難な制御シナリオに当てはまる。
【0004】
例えば、環境の特性に関するモデルを形成することによる、制御シナリオに関する予備知識の使用により、学習プロセスの加速を可能にする効率的なアプローチが望まれている。
【0005】
様々な実施形態によれば、強化学習を用いて制御戦略を訓練する方法が提供され、この方法は、
複数の強化学習訓練フローを実施するステップであって、ここで、各強化学習訓練フローにおいて、制御フローの初期状態から始まるエージェントの状態のシーケンスの各状態に対して、実施すべき動作が選択され、ここで、状態の少なくともいくつかに対して、各動作が、複数の状態を定める計画期間(Planning Horizon)を定めることによって選択されるステップと、
動作と該動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムに解集合プログラミングソルバを適用することにより、定められた状態数を有する各状態から到達可能な状態の複数のシーケンスを求めるステップと、
求められたシーケンスから、求められたシーケンスのもとで最大の収益を提供するシーケンスを選択するステップであって、ここで、求められたシーケンスから提供された収益は、前記シーケンスの状態に到達した際に得られる報酬の合計であるステップと、
動作を、各状態から出発して選択されたシーケンスの第1の状態に到達することができる各状態に対しての動作として選択するステップとを含む。
【0006】
さらなる実施例によれば、上記の方法を実行するように、もしくは上記の方法に従って訓練された制御戦略に従ってロボットデバイスを制御するように構成された制御装置が提供される。
【0007】
上述の方法および制御装置は、計画期間が比較的短いものでしかない(例えば2~10の間の定められた僅かな数の状態のみが定められている)場合であっても、プランニングコンポーネントなしのRL手法と比較して、訓練の速度を大幅に向上させることが可能である。これにより、例えば、ロボットデバイスが動作中に学習する必要があるシナリオ(例えば地形のようにそれ自体変化する条件に、例えばリアルタイムで適合化する場合)において、RL手法を初めて完全に実際に使用可能にすることができる。計画期間への制約に基づいて、プランニングコンポーネントが(解集合プログラミングソルバによって実現される)終了状態(すなわち,訓練フローが終了する状態)を見つける必要はない。このことは、いくつかの制御シナリオについては困難でしかないか不可能なこともある。その代わりに、比較的短い(例えば、少なくとも訓練フローの初期状態から終了状態に到達するのに十分ではない)計画期間を有するプランニングコンポーネントは、最終的に最終状態に到達するまで繰り返し(訓練フロー中に数回)使用される。
【0008】
このアプローチは、あらゆるOff-Policy-RL手法とともに使用することができ、この場合、Off-Policy-RL手法の特性、例えば収束性や最適制御ポリシーなどは保持され続けるが、学習は、予備知識(これは解集合プログラミングプログラムにより、したがって、モデルとしてもたらされる)やプランニングの活用によって加速される。(モデルベースの)プランニングコンポーネントは、探索を導くが、エージェントは本当の(例えばセンサデータによって求められる)経験から学習する。これにより、(解集合プログラミングプログラムの形態で与えられた)モデルによって反映されない環境の詳細に関する情報が保持され続ける。このことは、簡略化されたモデルや過度に楽観的なモデルの使用を可能にする。
【0009】
以下では、様々な実施例が示される。
【0010】
実施例1は、強化学習を用いて制御戦略を訓練するための上述の方法である。
【0011】
実施例2は、実施例1による方法であり、ここで、強化学習の訓練フローにおいて到達する状態に対して、この状態が複数の強化学習訓練フローにおいて初めて到達したものであるかどうかを検査し、当該状態が複数の強化学習訓練フローにおいて初めて到達したものである場合には、動作が、複数のシーケンスを求めるステップと、求められたシーケンスのもとで最大の収益を提供するシーケンスを選択するステップと、状態から出発して選択されたシーケンスの第1の状態に到達することができる動作を選択するステップとによって求められる。
【0012】
これにより、解集合プログラミングプログラムに含まれる予備知識が、各状態に対して使用されることが保証される。
【0013】
実施例3は、実施例2による方法であり、ここで、複数の強化学習訓練フローにおいて既に到達した状態に対して、動作は、これまでに訓練された制御戦略に従って、またはランダムに選択される。
【0014】
ある状態に既に到達している場合には、それに応じて当該状態に対しての動作のための選択には、予備知識が既に一度含まれている。既に探索された状態に対してのプランニングコンポーネントの使用を省くことによって、訓練持続時間がプランニングコンポーネントの使用によって不要に延長されないことが保証される。
【0015】
実施例4は、実施例1から3までのいずれかによる方法であり、ここで、状態の少なくともいくつかに対して、各動作が、以下のステップによって、すなわち、
第1の状態数を定める第1の計画期間を定めるステップと、
動作と該動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムに解集合プログラミングソルバを適用することにより、第1の状態数を有する状態から到達可能な状態の複数のシーケンスを求めるステップと、
各状態に対しての動作を求めるために、定められる利用可能な計算バジェットが算段されている場合には、求められたシーケンスのもとで最大の収益を提供するシーケンスの第1の状態数を有する求められたシーケンスから選択し、動作を、各状態から出発して選択されたシーケンスの第1の状態に到達することができる各状態に対しての動作として選択するステップと、
各状態に対しての動作を求めるために、定められる利用可能な計算バジェットがまだ算段されていない場合には、第2の状態数を定める第2の計画期間を定めるステップであって、ここで、第2の状態数は第1の状態数よりも大であるステップと、
動作と該動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムに解集合プログラミングソルバを適用することにより、第2の状態数を有する状態から到達可能な状態の複数のシーケンスを求めるステップと、
求められたシーケンスのもとで最大の収益を提供するシーケンスの第2の状態数を有する求められたシーケンスから選択するステップと、
動作を、各状態から出発して選択されたシーケンスの第1の状態に到達することができる各状態に対しての動作として選択するステップとによって選択される。
【0016】
このようにして、プランニングのために費やす計算コストを調整することができる。特に、RL手法は、計算バジェットを適切に定めることで、所与の時間的制約(例えば、動作中の学習の際の制約)に適合化させることができる。この計算バジェットは、例えば時間的バジェットまたは演算処理のバジェットである。
【0017】
実施例5は、実施例1から4までのいずれか1つによる方法であり、ここで、解集合プログラミングソルバは、マルチショットソルビングを支持し、ここで、強化学習訓練フローにおける順次連続する状態に対しての複数のシーケンスが、解集合プログラミングソルバを用いたマルチショットソルビングによって求められる。
【0018】
マルチショットソルビングの使用は、プランニングコンポーネントに必要な計算コストおよび時間コストを低減する。
【0019】
実施例6は、実施例1から5までのいずれか1つにより訓練された制御戦略に基づいて、ロボットデバイスを制御するステップを含む制御方法である。
【0020】
実施例7は、実施例1から6までのいずれか1つによる方法を実行するように構成されている制御装置である。
【0021】
実施例8は、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに実施例1から6までのいずれか1つによる方法を実施させるプログラム命令を含んでいる、コンピュータプログラムである。
【0022】
実施例9は、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに実施例1から6までのいずれか1つによる方法を実施させるプログラム命令が格納されているコンピュータ可読記憶媒体である。
【0023】
本発明の実施例は、図面に示されており、以下に詳細に説明される。図面において、一般に、複数の図面全体を通して同様の参照符号は同じ部品に関している。これらの図面は、必ずしも縮尺通りではないが、その代わりにここでは、一般に、本発明の原理の説明に重点が置かれている。
【図面の簡単な説明】
【0024】
図1】ロボットデバイスを示す。
図2】学習するエージェントとその制御環境との間の相互作用を表し、ここでは、エージェントは、本発明の一実施形態によるプランニングコンポーネントを使用する。
図3】強化学習を用いて制御戦略を学習する方法を表すフローチャートを示す。
【0025】
様々な実施形態、特に以下に説明する実施例は、1つ以上の回路を用いて実装することができる。一実施形態では、「回路」は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせであってもよいあらゆるタイプの論理実装エンティティとして理解することができる。それゆえ、一実施形態では、「回路」は、ハードワイヤード論理回路であってもよいし、あるいはプログラミング可能な論理回路、例えばプログラミング可能なプロセッサ、例えばマイクロプロセッサであってもよい。また、「回路」は、プロセッサによって実装もしくは実行されるソフトウェア、例えば、あらゆるタイプのコンピュータプログラムであってもよい。以下でより詳細に説明する各機能のあらゆる他のタイプの実装は、代替的な実施形態と一致する「回路」として理解することができる。
【0026】
図1は、ロボットデバイス100を示す。
【0027】
ロボットデバイス100は、ロボット101、例えば、ワークピースや1つ以上の他の物体114を操作したり、取り付けたりするための産業用ロボットアームを含む。このロボット101は、マニピュレータ102,103,104と、これらのマニピュレータ102,103,104を支持する基台(例えば支持台)105とを含む。「マニピュレータ」という用語は、それらの操作が例えばタスクを実行するために環境との物理的な相互作用を可能にするロボット101の可動部品に関連する。ロボットを制御するために、ロボットデバイス100は、環境(environment)との相互作用を制御プログラムに応じて実装するように構成された(ロボット)制御装置106を含む。マニピュレータ102,103,104の最後の要素104(これは支持台105から最も遠く離れている)は、エンドエフェクタ104とも称され、溶接トーチ、把持具、塗装機器などの1つ以上の工具を含むことができる。
【0028】
他のマニピュレータ102,103(支持台105に近い方)は、位置決め装置を形成することができ、それにより、エンドエフェクタ104とともに、ロボット101は、その端部にエンドエフェクタ104を備えている。ロボット101は、(場合によってはその手先に工具を持った)人間の腕と同様の機能を満たすことができる機械的なアームである。
【0029】
ロボット101は、マニピュレータ102,103,104を相互に接続し、さらに支持台105に接続する関節要素107,108,109を含むことができる。関節要素107,108,109は、1つ以上の関節を含むことができ、それらの各々は、関連するマニピュレータの相互に対する回転可能な運動(すなわち回転運動)および/または並進運動(すなわちシフト)を可能にすることができる。マニピュレータ102,103,104の運動は、制御装置106によって制御されるアクチュエータを用いて開始することができる。
【0030】
「アクチュエータ」という用語は、起動に応じて機構やプロセスに作用を与えるように構成されたコンポーネントとして理解することができる。アクチュエータは、制御装置106によって出力される命令(いわゆる起動)を機械的な運動に置き換えることができる。例えば、電気機械式変換器などのアクチュエータは、その起動に応じて電気エネルギーを機械エネルギーに変換するように構成されていてもよい。
【0031】
ロボット101は、複数のセンサ113(例えば、1つ以上のカメラ、位置センサなど)を含むことができ、これらのセンサ113は、アクチュエータの駆動制御およびその結果としてのロボットの運動から生じるような、ロボットおよび1つ以上の操作される物体114(すなわち環境;environment)の状態を求めるように構成されている。
【0032】
本例では、制御装置106は、1つ以上のプロセッサ110と、プログラムコードおよびデータを格納したメモリ111とを含み、これらのプログラムコードおよびデータに基づいてプロセッサ110はロボット101を制御する。様々な実施形態によれば、制御装置106は、制御ユニットによって実装される制御ポリシー112に従ってロボット101を制御する。
【0033】
制御ポリシーを生成する手段は、強化学習(Reinforcement Learning;RL)である。この強化学習は、試行錯誤探索と遅延報酬とによって特徴付けられる。訓練のために識別子(label)を必要とする教師付きニューラルネットワーク学習とは対照的に、RLは、状態と動作との割り当てを、収益(return)とも称される強化信号が最大化されるように学習するために試行錯誤メカニズムを使用している。試行錯誤により、RLの場合、これらを試すことによって(最終的に)より高い報酬につながる動作を見つけることが試みられる。しかしながら、良好な制御ポリシーを見つけることには、多くの時間を必要とする可能性がある。
【0034】
様々な実施形態によれば、強化学習は、有望な動作をエージェントに推奨するために制御されるシステム(例えば、ロボット、ならびにロボットが作用する環境もしくはロボットに作用する環境)のモデルが使用されるプランニングコンポーネントが設けられることによって加速される。
【0035】
ここでの主要な挑戦は、プランニングのために必要とされる付加的な計算資源と、エージェントをより高い報酬の伴う状態に導くことから得られる利点との間のトレードオフ関係を慎重に比較検討する必要があることに見出すことができる。
【0036】
様々な実施形態によれば、プランニングコンポーネント(特にモデル)は、解集合プログラミング(ASP;answer set programming)を用いて実装される。解集合プログラミングは、所与の問題に対する解候補の探索空間を記述するための高レベルモデリング言語と、そのような解を効率的に計算するための効率的なソルバとを組み合わせた、宣言的問題解決アプローチである。
【0037】
解集合プログラミングは、制御されるシステムをコンパクトに記述するためのシンプルであるが表現力豊かなモデリング言語を有する。このモデリング言語には、報酬の最適化を可能にする最適化関数が含まれている。したがって、所与の計画期間内で最大の報酬をもたらすプランニング(すなわち、状態または対応する動作のシーケンス)の探索は、それぞれの最適化表現を用いて表現することができる。
【0038】
ソルバとして解集合プログラミングソルバ(ASP solver)は、所与の計画期間内での最適なプランニングを探索するために使用することができる。解集合プログラミングソルバは、問題の解決が難しくて多くの制約が伴う場合に特に適している。その他に、可能な限り計算を再利用することで計算速度を向上させるために、制御ポリシーを、マルチショットソルビング(multi-shot solving)を用いることができるように構成することが可能である。
【0039】
解集合プログラミングを用いたプランニングコンポーネントの実現を説明するために、以下では強化学習(RL)に使用される用語を紹介する。
【0040】
強化学習では、エージェントと環境(例えば、ロボットの動作に相互作用し、ロボットが特定の動作において移行する状態に影響を与えるロボットの環境)との間の相互作用が、マルコフ決定プロセス(MDP;Markov decision process)として形式化される。MDPは、状態の有限集合
【数1】
を有している。各状態に対して
【数2】
ならば、
【数3】
は、エージェントが状態Sにおいて行うことのできる動作の有限集合である。エージェントが、時点
【数4】
で状態Sにあり、動作
【数5】
を実行する場合、エージェントは、次の時点t+1で状態St+1に移行し、数値的報酬の有限集合
【数6】
から報酬Rt+1を受け取る(例えば、ロボットは、自身が物体を所望の場所に移動させた場合に報酬を受け取る)。状態Sから始まるエージェント-環境相互作用の軌跡は、以下のような形態を有する。
...
【0041】
相互作用の動特性は、以下の関数によって与えられる。
【数7】
ここで、p(S’,R,S,A)は、状態Sにおいて動作Aを実施しつつ状態S’に移行し、その際に報酬Rを得る確率を表している。
【0042】
制御ポリシー(例えば制御方針)は、特定の状態においてどの動作が選択されるかを指定するものである。エージェントは、自身の制御ポリシーを経験に基づいて改善し、それによって、あらゆる所与の状態Sにおいて自身の期待される割引収益(discounted return)が最大化されることを目指している。
【数8】
ここで、γ、ただし0≦γ≦1は、将来的な報酬の現在値を表す割引率(discount rate)である。
【0043】
制御ポリシーの改善は、値推定関数の学習によって行うことができる。この値推定関数は、状態もしくは状態-動作対から期待される収益へのマッピングである。値推定関数(または単に「値関数」)は、エージェントと環境との相互作用に従って更新される。強化学習における中心的な問題提起は、(未踏の)動作の探索と、既に学習されたことの活用(Exploitation)との間のトレードオフ関係の考慮である。エージェントが、(最終的には最適化されるべき)自身の現在の目標制御ポリシーπを改善するために、より探索的な制御ポリシーbを追求する場合、その手法は、Off-Policy手法とも称される。この制御ポリシーbは、行動制御ポリシーとも称される。
【0044】
Off-Policy手法の一例には、Q-learningがある。このQ-learningの場合、エージェントは、状態-動作対を、期待される割引収益にマッピングする値推定関数Qを学習する。目標制御ポリシーは、Qに関して貪欲な制御ポリシーである。エージェントが状態Sにある場合,エージェントは、行動制御ポリシーbに従って動作を選択する。エージェントは、それについて受け取った報酬Rと、それによって到達した状態とを(例えばセンサデータから求めるなどして)観測した後、エージェントは自身のQ関数を以下のように更新する。
Q(S,A)=Q(S,A)+α[R+γmaxQ(S’,a)-Q(S,A)]
ここで、α、ただし0<α≦1は、古い推定値に対して新しい経験を重み付けするステップ幅パラメータである。行動ポリシーに従って、極限におけるすべての状態-動作組み合わせを頻繁に無限探索すると、目標制御ポリシーは最適な制御ポリシーに収束する。
【0045】
Q-learningの欠点は、Q-値が常に1つの状態-動作対に対してしか更新されないことである。ある時点で高い報酬が得られる場合、Q-推定関数の対応する更新が初期状態において顕著になるまでに多くの反復(すなわち、特に上記の数式によるQ-推定関数の多くの更新)が続く可能性がある。このことを回避するために、様々な実施形態によれば、高い報酬が観測されるまで更新を遅らせ、次いで、初期状態に対して高い推定値(すなわち、特定の状態に対するQ推定関数の高い値)を効率的に逆遡及させるために、観測された報酬の逆の順序でQ関数の更新が適用される。
【0046】
解集合プログラミングは、知識表現、非単調推論、論理プログラミング、演繹的データベースをルーツとする、宣言的問題解決のためのアプローチである。解集合プログラミングソルバは、SAT(Satisfiability)ソルバやSMT(Satisfiability Modular Theories)ソルバの考察を使用しているが、新しい情報に照らして推論を撤回することができる非単調意味論を実装している。様々な実施形態によれば、プランニングコンポーネントを実現するために、まず問題解決の特性(例えば、動作やそれによって到達する状態)が、解集合プログラミングソルバの入力言語を使用してモデル化される。次いで、初期問題の解にも対応するモデルの解集合を計算するために、解集合プログラミングソルバが使用される。解集合プログラミングの能力は、一方では表現力が豊かであるがシンプルなモデリング言語に基づき、他方では強力な解集合プログラミングソルバに基づいている。
【0047】
解集合プログラミングは実質的に命題形式であり、ほとんどの解集合プログラミングソルバでは、グラウンディングと称される前処理の段階で、入力言語における変数が定数記号に置き換えられる。慣用的な解集合プログラミングソルバの入力言語の特徴には、変数の他に、整合性制約、情報の欠落を表現するデフォルトの否定、選択ルールと非決定性を表現する選言、集約、算術、解釈済みおよび未解釈の関数記号、弱い条件、最適化規定などがある。
【0048】
解集合プログラミングプログラムは、ルールの集合であり、この場合、ルールは以下のような形態を有する。
p,....,q :- r,...,s, not t,..., not u
【0049】
ルールのヘッドは、含意記号:-の前のすべてのアトムであり、ボディは当該記号:-の後のすべてのアトムである。
【0050】
このルールの直感的意味は、すべてのアトムr,....,sが導出され、アトムt,...,uのいずれについても証明がない場合には、p,...,qのうちの少なくとも1つは真でなければならないということである。解釈は、アトムの集合である。解釈は、プログラムのすべてのルールが最小かつ一貫したやり方で満たされることを保証するある定点条件を満たす場合、プログラムの解集合となる。プログラムは、解集合を有さない、1つの解集合を有する、または2つ以上の解集合を有する場合がある。
【0051】
空きのボディを有するルールはファクトとも称される。ファクトでは、通常、含意記号は省略される。ファクトは、無条件に真である知識表現のために使用される。空きのヘッドを有するルールでは、条件は以下のとおりである。
:- r,...., s, not t,..., not u
【0052】
条件は、そのボディがいずれの解集合によっても満たすことができないことを表現する。条件は、不要な解候補をカットするために使用される。
【0053】
以下のルールは選択ルールである。
{ p,...,q } :- r,....,s, not t,..., not u
【0054】
このルールは、ルールの主要部が満たされていれば、p,...,qの部分集合も真でなければならないことを表現している。
【0055】
説明のために、例として、ロボットは、あらゆる任意の時点でドアを押すことができることを想定する。ドアを押した結果、次のタイムステップではドアが開く。対応するプログラムは、例えば、以下のとおりである。
{ push(T) } :- time step(T), closed(T)
open(T+1) :- time step(T), push(T)
closed(T+1) :- time step(T), closed(T), not open(T+1)
open(T+1) :- time step(T), open(T), not closed(T+1)
【0056】
第1のルールは、ドアが閉まっている限り、ドアを押すか、何もしないかの選択があることを表現している。第2のルールは、ドアを押したことによる効果、詳細には、その後、ドアが開くことを表現している。最後の2つのルールは、それに反する証拠がない限り、ドアの状態は不変のまま続くことを表現するフレーム公理である。
【0057】
シナリオ例として、唯1つのタイムステップが存在し、最初に閉じられたドアがあること、すなわち、
time step(1)
closed(1)
を考察する。
【0058】
プログラムの解集合は、
{ time step(1) closed(1) push(1) open(2) }
および
{ time step(1) closed(1) closed(2) }
となる。
【0059】
それらの各々は、エージェントがドアを押し開けるか、何もしないことが起こり得る世界に対応している。
【0060】
動的関数、
【数9】
は、制御シナリオにおいて、典型的には、完全に既知なものではない。しかしながら、多くの場合、活用することができる制御シナリオに関する知識は存在する。この予備知識は、様々な実施形態によって、解集合プログラミングプログラムとして表され、これにより、プランニングコンポーネントが実現される。
【0061】
図2は、学習するエージェント201と制御環境202との間の相互作用を表す図であり、この場合、エージェントは、解集合プログラミングソルバ203と環境モデル204とを有する解集合プログラミングベースのプランニングコンポーネント208を、動作の選択のために使用する。
【0062】
環境モデル204は、(エージェントが相互作用する)環境をモデル化する解集合プログラミングプログラムPである。ここでは、特に、特定の動作の実行の際にエージェントがどのような状態に移行するかがモデル化されている。パラメータhは、計画期間、すなわち、動作の最大数を指定する。所与の状態Sに対して、プログラムPの解集合(ファクトとしてSを伴う)は、最大数hの動作を伴うSから出発してモデル204によるエージェントの軌道と、関連する報酬とに対応する。一実施形態によれば、収益の最大化のための最適化基準が指定され、解集合プログラミングソルバ203は、この最適化基準を満たす1つ以上の解集合のみ、つまり、例えば計画期間内で最大の収益を伴う軌道のみを出力する。
【0063】
MDPには確率分布が含まれているのに対して、モデル204は、報酬や状態遷移を決定論的(ただし楽観的)もしくは非決定論的にモデル化する。報酬は、正または負の整数を用いた解集合プログラミングにおいてモデル化される。
【0064】
ASP[P,h,S]により、解集合プログラミングソルバの計算の結果が示され、このソルバは、ファクトとしての状態Sの表現とともに、hに設定された計画期間を有するモデルPを入力として受け取る。
【0065】
一実施形態によれば、有限の計画期間により収益が無限に近づくことはできないことが保証されるため、割引は考慮されない。ただし、それにもかかわらずエージェントの能力を評価する場合には、割引を使用することができる点に留意されたい。
【0066】
以下では、ロボットがドアを開けることができる上記の例に適した環境モデル204についての一例を示す。
【数10】
【0067】
第1の行は、計画期間を定義しており、この場合、hは、例えば、解集合プログラミングソルバ203の開始前にエージェントによって設定された定数である。報酬は最後の3行でモデル化される。各プッシュ動作には、-1のマイナス報酬が課せられる。しかしながら、エージェントは、ドアが開いている各状態において10の報酬を得る。直感的には、エージェントは、収益の最大化のためにできるだけ早くドアを押し開けようとすることは明らかである。
【0068】
モデルP、タイムホライズン3、ドアが閉まっている状態S、すなわち、S={closed(1)}を有する解集合プログラミングソルバを呼び出した場合、解集合プログラミングソルバは、以下のような解集合ASP[P,3,S]を供給する。
{ time step(1) time step(2) time step(3) closed(1) open(2) open(3) open(4) push(1) Reward(2,-1) Reward(2,10) Reward(3,10) Reward(4,10) }
【0069】
これは、エージェントが第1の状態においてドアを押し、その後はもはや動作を実行しないという軌道に対応する。
【0070】
ここで、エージェント201の行動制御ポリシーは、例えば、以下のようになる。エージェントは、状態Sを観測する(すなわち、自身が状態Sにあることを観測する)と想定する。エージェントが最初に(学習の際に)状態Sを見た場合、エージェントは解集合プログラミングソルバを用いて集合ASP[P,h,S]を計算し、エージェントはこの集合ASP[P,h,S]から第1の動作(すなわち、タイムステップ1を伴う動作)を状態Sに対する動作として選択する。エージェントがこの状態Sを既に一度探索していたり、解集合プログラミングソルバがその状態Sに対する利用可能な動作の集合
【数11】
におけるいずれの動作も出力しなかった場合、エージェントは、確率εでもって、
【数12】
からランダムな動作を選択し、確率(1-ε)でもって(現在の訓練状態まで訓練されているように)自身の目標制御ポリシーπに従う。モデルP、使用された解集合プログラミングソルバ203、ならびに例えば計算時間制約などの解集合プログラミングソルバパラメータの他に、計画期間hおよびランダム探索率εが学習のパラメータである。
【0071】
エージェント201が205において動作を実行すると、エージェントは、その際に環境202から報酬206を受け取り、到達した後続状態207を観測する。初期状態から開始して、エージェントは、例えば、最終状態に達した、あるいは動作の最大数に達したなどの理由で、各RL訓練フロー(Rollout)が終了するまでこのフローを繰り返す。RL訓練は、典型的には、収束基準に到達するまで(例えば、所定の回数の更新にわたってQ-推定関数の変化が閾値以下になるまで)、そのような複数のフローを含んでいる。
【0072】
上記の戦略によれば、典型的には、学習プロセスの開始時点で、同様の解集合プログラミングソルバ呼び出しの長いシーケンスが生じる。エージェントが未知の状態のシーケンス
...
を観測した場合、エージェントは、以下のような解集合プログラミングソルバ呼び出しのシーケンスを実施する。
【数13】
【0073】
このことは、互いに密接に関連する問題が、解集合プログラミングソルバ203によって順次解決されることを意味する。それゆえ、計算コストを低減するために、一実施形態によれば、マルチショットソルビング(multi-shot solving)が使用され、これは、解集合プログラミングソルバの状態を維持するために一部の解集合プログラミングソルバを支持する。それに対して、解集合プログラミングソルバは、それ自体変化するプログラムでもって動作する。上記の解集合プログラミングソルバ呼び出しのシーケンスは、平滑化される計画期間を有する増分的プランニング問題とみなすことができ、この場合、軌道の開始点は固定されている。
【数14】
【0074】
個々の解集合プログラミングソルバ呼び出しを用いる代わりに、エージェント201は、この計算のシーケンスを第1の解集合プログラミングソルバ呼び出しから出発する増分的更新によって達成することができる。これにより、エージェントは、プランニングコンポーネント208によって生じる計算コストを低減することができる。
【0075】
要約すると、様々な実施形態によれば、図3に示されているような方法が提供される。
【0076】
図3は、強化学習を用いて制御戦略を訓練する方法を表すフローチャート300を示す。
【0077】
複数の強化学習訓練フロー301が実施され、ここで、各強化学習訓練フロー301において、制御フロー304の初期状態302から始まるエージェントの状態のシーケンスの各状態302,303に対して、実施すべき動作が選択される。
【0078】
状態302,303の少なくともいくつかに対して、各動作は、以下のステップによって選択される。
【0079】
ステップ305では、複数の状態を定める計画期間が定められる。
【0080】
ステップ306では、動作と該動作によって到達する後続状態との間の関係をモデル化する解集合プログラミングプログラムに解集合プログラミングソルバを適用することにより、定められた状態数を有する各状態から到達可能な状態の複数のシーケンスが求められる。
【0081】
ステップ307では、求められたシーケンスから、求められたシーケンスのもとで最大の収益を提供するシーケンスが選択され、ここで、求められたシーケンスから提供された収益は、当該シーケンスの状態に到達した際に得られる報酬の合計である。
【0082】
ステップ308では、動作が、各状態302,303から出発して選択されたシーケンスの第1の状態に到達することができる各状態302,303に対しての動作として選択される。
【0083】
制御戦略は、例えば、上記の例において制御ポリシーと称されるものに対応している。
【0084】
様々な実施形態によれば、換言すれば、実行すべき動作を介して決定されるべき場合に、解集合プログラミングソルバの使用を想定した特定の行動制御ポリシーが確定される。このアプローチは、(元の)Off-Policy手法の堅牢性は維持しつつ、エージェントに予備知識が活用できるようにするために、あらゆるOff-Policy手法と一緒に使用することができる。様々な実施例では、状態が物体間の関係として表現でき、それによって、状態がプランニングコンポーネントのための入力として使用できること、ならびに環境の宣言的モデルが事前に特定され使用される解集合プログラミングソルバの入力言語において特定されることのみが前提とされている。
【0085】
様々な実施例の基礎となる考察は、高い報酬が不足している環境においてエージェントが高い報酬を見つけることができるようにする行動制御ポリシーを定義することに見ることができる。様々な実施例によれば、制御ポリシーは、ランダムな探索、既に学んだことの活用(Exploitation)、ならびに(例えば高レベルの)環境モデルを使用したプランニングからの混成である。
【0086】
例えば、学習した制御戦略は、ロボットデバイスのための制御戦略である。「ロボットデバイス」とは、コンピュータ制御された機械、車両、家電製品、電動工具、製造機械、パーソナルアシスタント、または入退室管理システムなど、(その運動が制御される機械部品を有する)あらゆる物理的システムを意味するものと理解されたい。
【0087】
様々な実施形態では、ビデオセンサ、レーダーセンサ、LiDARセンサ、超音波センサ、モーションセンサ、音響センサ、赤外線センサなどの様々なセンサからセンサ信号を受信し、例えばシステム状態(ロボットと1つ以上の物体)ならびに制御シナリオに関するセンサデータを得るために使用することができる。これらのセンサデータは、処理することができる。これには、例えばセンサデータを分類することや(センサデータが得られた環境において)物体の存在を認識するために、センサデータの意味論的セグメント化を実施することが含まれ得る。これらの実施例は、機械学習システムを訓練し、ロボットを自律的に制御して、様々なシナリオのもとで様々な操作タスクを達成するために使用することができる。特に、これらの実施例は、例えば組立ラインでの操作タスクの実行の制御および監視のために適用可能である。これらの実施例は、例えば、従来の制御プロセス用のGUIにおいてシームレスに統合することも可能である。
【0088】
本方法は、一実施形態によれば、コンピュータ実装される。
【0089】
本発明は、とりわけ特定の実施形態を参照して示され、説明されてきたが、当業者であるならば、以下に続く特許請求の範囲によって定義される本発明の本質および範囲から逸脱することなく、実施形態および詳細に関する多くの変更を行うことができることを理解すべきである。それゆえ、本発明の範囲は、添付の特許請求の範囲によって定義され、特許請求の範囲の字義通りのもしくは等価的範囲のすべての変更が包含されることが意図されている。
図1
図2
図3
【外国語明細書】