(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024146537
(43)【公開日】2024-10-15
(54)【発明の名称】制御装置、方法、プログラム、及び制御システム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20241004BHJP
【FI】
G06Q10/04
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023059507
(22)【出願日】2023-03-31
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和5年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業「ソフトロボ・触覚・学習を活用した手応えに基づく自動組み立ての革新」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ウーユーファ
(72)【発明者】
【氏名】濱屋 政志
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA04
5L049AA04
(57)【要約】
【課題】準最適なデータのもとであっても、制御対象の行動を適切に決定する。
【解決手段】制御装置は、制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する行動決定部を含む。行動決定部は、複数種類の時系列長のうち、現時刻以前の前記時系列長のトークンをモデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、決定された時系列長のトークンをモデルに入力して最終的に出力される行動を、制御対象の行動として決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する行動決定部であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する行動決定部を含む
制御装置。
【請求項2】
予め用意された前記トークンの時系列に基づいて、前記モデルを強化学習により学習する学習部を更に含む、請求項1記載の制御装置。
【請求項3】
前記強化学習における報酬は、前記制御対象の行動履歴データにおいて、タスクを達成したか否か、又はタスク達成までの時間に基づいて定められる請求項2記載の制御装置。
【請求項4】
最終的に出力される収益が最大になるときの時系列長を決定する際に、エクスペクタイル回帰を利用する請求項1記載の制御装置。
【請求項5】
前記制御対象は、移動体、ロボット、又はコンピュータ処理である請求項1記載の制御装置。
【請求項6】
前記制御対象は、ロボット、自動運転車両、コンピュータによる入札処理、コンピュータによる自然言語処理、コンピュータによるゲーム処理、又はコンピュータによる物理現象に関する処理である請求項5記載の制御装置。
【請求項7】
前記制御対象は、ロボットであって、
前記観測情報は、前記ロボットの状態、前記ロボットが対象とするオブジェクトの状態、又はセンサ情報を含み、
前記行動は、前記ロボットの操作に関する決定を含み、
報酬は、前記ロボットが行うタスクの完了、前記ロボットの動きの正確さ、または前記ロボットの動作のエネルギー効率に基づいて定められる請求項6記載の制御装置。
【請求項8】
前記制御対象は、自動運転車両であって、
前記観測情報は、前記自動運転車両の状態、他車両の状態、障害物までの距離、周囲の状況を含み、
前記行動は、前記自動運転車両の運転に関する決定を含み、
報酬は、目的地に到達するのにかかった時間、回避された衝突の数、又は燃料効率に基づいて定められる請求項6記載の制御装置。
【請求項9】
前記制御対象は、コンピュータによる広告に関する入札処理であって、
前記観測情報は、前記広告の宣伝対象についてのユーザの特定の行動に関係する情報を含み、
前記行動は、入札額の選択、前記広告のターゲットに関する選択、または前記広告のフォーマットの選択を含み、
報酬は、入札に成功したときに得られる価値に基づいて定められる請求項6記載の制御装置。
【請求項10】
前記制御対象は、コンピュータによる自然言語処理であって、
前記観測情報は、テキストに関する情報を含み、
前記行動は、前記テキストに対する処理に関する決定を含み、
報酬は、タスクに関する正確さに基づいて定められる請求項6記載の制御装置。
【請求項11】
前記制御対象は、コンピュータによるゲーム処理であって、
前記観測情報は、ゲームの状態を含み、
前記行動は、前記ゲームに関する決定を含み、
報酬は、前記ゲームで得られるスコア、又は勝敗に基づいて定められる請求項6記載の制御装置。
【請求項12】
前記制御対象は、物理システムであって、
前記観測情報は、前記物理システムの状態を含み、
前記行動は、前記物理システムに関する制御入力またはパラメータの調整を含み、
報酬は、前記物理システムに関する評価値に基づいて定められる請求項6記載の制御装置。
【請求項13】
プロセッサが、
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する処理であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する
処理を実行する、制御方法。
【請求項14】
コンピュータに、
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する処理であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する
処理を実行させる、制御プログラム。
【請求項15】
制御装置と、制御対象とを含む制御システムであって、
前記制御装置は、
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する行動決定部であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定して、前記制御対象に通知する行動決定部を含み、
前記制御対象は、各時刻ステップにおける前記制御対象の環境の観測情報を前記制御装置へ通知し、
通知された前記行動に従って行動する、
制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、制御方法、制御プログラム、及び制御システムに関する。
【背景技術】
【0002】
事前に与えられたデータのみで、エージェントを学習させるオフライン強化学習は、ロボティクスを始めとするデータ取得のコストが高い現場で有効である。オフライン強化学習ではDecision Transformer(DT)という、過去の時系列データから将来の行動を生成する手法が提案されている(例えば非特許文献1)。
【0003】
また、将来の収益を予測するMulti Game Decision Transformer(MGDT)という手法も提案されている(非特許文献2)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Chen, Lili, et al. "Decision transformer: Reinforcement learning via sequence modeling." Advances in neural information processing systems 34 (2021): 15084-15097. https://arxiv.org/abs/2106.01345
【非特許文献2】Lee, Kuang-Huei, et al. "Multi-game decision transformers." arXiv preprint arXiv:2205.15241 (2022). https://arxiv.org/abs/2205.15241
【発明の概要】
【発明が解決しようとする課題】
【0005】
準最適なデータによるオフライン強化学習において、準最適な軌道をつなぎ合わせて、最適に近い軌道を生成すること(Stitching)が主要な課題である。上記非特許文献1に記載のDTは、過去の状態、行動、及び収益の時系列から、将来の行動を生成するものである。しかし、DTは、将来の収益がどのようになるかを予測しないため、Stitchingがうまく機能しない可能性がある。この問題に対して、上記非特許文献2に記載のMGDTは将来の収益を予測することを考慮したが、時系列入力の長さは一定であり、軌道をつなぎ合わせるタイミングを十分に考慮できていない。
【0006】
本開示は、上記の点に鑑みてなされたものであり、準最適なデータのもとであっても、制御対象の行動を適切に決定することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本開示に係る制御装置は、制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する行動決定部であって、現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する行動決定部を含む。
【0008】
また、本開示に係る制御方法は、プロセッサが、制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定し、前記決定した前記行動に基づいて、前記制御対象を動作させる処理であって、現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する処理を実行する。
【0009】
また、本開示に係る制御プログラムは、コンピュータに、制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定し、前記決定した前記行動に基づいて、前記制御対象を動作させる処理であって、現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する処理を実行させる。
【0010】
また、本開示に係る制御システムは、制御装置と、制御対象とを含む制御システムであって、前記制御装置は、制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する行動決定部であって、現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定して、前記制御対象に通知する行動決定部を含み、前記制御対象は、各時刻ステップにおける前記制御対象の環境の観測情報を前記制御装置へ通知し、通知された前記行動に従って行動する。
【発明の効果】
【0011】
本開示に係る制御装置、方法、プログラム、及び制御システムによれば、準最適なデータのもとであっても、制御対象の行動を適切に決定することができる。
【図面の簡単な説明】
【0012】
【
図1】制御システムの概略構成を示すブロック図である。
【
図2】制御装置のハードウェア構成を示すブロック図である。
【
図4】制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0014】
<本開示の実施形態の概要>
本開示の実施形態では、過去の観測情報、行動、及び収益の時系列データから、将来の観測情報、行動、及び収益を予測する。時系列データの入力を可変長にして、最も収益が高くなる時系列の長さを決定する。この手法により、準最適なデータにおいても、必要な時系列の長さを選択し、タスク達成可能な行動を生成することができる。
【0015】
<制御システムの構成>
図1に示すように、本実施形態に係る制御システム100は、制御装置10と、制御対象50とを含む。
【0016】
制御対象50は、一例として、移動体であり、例えば、自動交差点管理における自動運転車両、倉庫や工場内のAMR(Autonomous Mobile Robot)やAGV(Automatic Guided Vehicle)、無人配送システムにおけるドローン等である。制御対象50は、走行、飛行等を行うための移動機構と、制御装置10と通信を行うための通信機構と、計画された経路にしたがって移動するように移動機構を制御する移動制御機構とを有する。
【0017】
図2は、制御装置10のハードウェア構成を示すブロック図である。
図2に示すように、制御装置10は、CPU(Central Processing Unit)32、メモリ34、記憶装置36、入力装置38、出力装置40、記憶媒体読取装置42、及び通信I/F(Interface)44を有するコンピュータである。各構成は、バス46を介して相互に通信可能に接続されている。
【0018】
記憶装置36には、制御処理を実行するための制御プログラムが格納されている。CPU32は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU32は、記憶装置36からプログラムを読み出し、メモリ34を作業領域としてプログラムを実行する。CPU32は、記憶装置36に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0019】
メモリ34は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置36は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0020】
入力装置38は、例えば、キーボードやマウス等の、各種の入力を行うための装置である。出力装置40は、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための装置である。出力装置40として、タッチパネルディスプレイを採用することにより、入力装置38として機能させてもよい。
【0021】
記憶媒体読取装置42は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。通信I/F44は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0022】
制御装置10は、
図1に示すように、機能的には、学習データ記憶部20と、学習部22と、モデル記憶部24と、行動決定部26と、動作制御部28と、通信部30とを含む。なお、制御装置10は、本開示の制御装置の一例である。各機能構成は、CPU32が記憶装置36に記憶された制御プログラムを読み出し、メモリ34に展開して実行することにより実現される。
【0023】
学習データ記憶部20は、予め用意されたトークンの時系列を、学習データとして複数記憶する。ここで、トークンは、1の時間ステップにおける、制御対象50の環境を観測した観測情報、収益、及び制御対象の行動を含む。具体的には、トークンの時系列は、制御対象50の行動履歴データ(例えば、移動履歴データ)から得られる。また、制御対象50の行動は、例えば、制御対象50の移動速度及び角速度を含む。観測情報は、例えば、制御対象50に設けられたセンサによって、制御対象50の環境を観測した情報である。
【0024】
強化学習における報酬は、行動履歴データにおいて、タスクを達成したか否か、又はタスク達成までの時間に基づいて定められる。例えば、強化学習における報酬は、移動履歴データにおいて、障害物と衝突せずにゴール地点まで到達したか否か、ゴール地点と現在位置との誤差、又はゴール地点までの到達時間に基づいて定められる。
【0025】
学習部22は、予め用意されたトークンの時系列に基づいて、モデルを強化学習により学習する。
【0026】
モデルは、観測情報を入力として、収益を推定し、収益を入力として、行動を推定し、行動を入力とすることを、時間ステップごとに繰り返すように構成されている。
【0027】
具体的には、
図3に示すように、モデル60は、デコーダ62と、変換層64、66、68、70とを備えている。
【0028】
デコーダ62は、非特許文献1に記載のTransformerのデコーダを用いればよい。デコーダ62は、観測情報otを入力としたときの出力を、収益Rtに変換するための変換層64、及び複数種類の時系列長における収益Rtの最大値に変換するための変換層66に出力する。
【0029】
また、デコーダ62は、収益Rtを入力としたときの出力を、行動atに変換するための変換層68、及び次の時間ステップの観測情報ot+1に変換するための変換層70に出力する。また、デコーダ62は、更に、行動atを入力とする。
【0030】
また、デコーダ62は、時間ステップごとに、観測情報otを入力として変換層64、66に出力すること、収益Rtを入力として変換層68に出力すること、行動atを入力とすることを繰り返すように構成されている。
【0031】
より具体的には、学習データのトークンの時系列に基づいて、時間ステップt毎に、学習データのトークンの観測情報otを入力として、学習データのトークンの収益Rtを推定し、かつ、学習データのトークンの収益Rtを入力として、学習データのトークンの行動at及び観測情報ot+1を推定し、かつ、学習データのトークンの行動atを入力とするように、モデル60のパラメータを学習する。
【0032】
収益Rtは、それ以降に得られる収益(return-to-go)であり、時刻t以降に得られる報酬rの総和である。
【0033】
本実施形態では、現時刻までの時間ステップtごとに、観測情報ot、変換層64によって変換された収益Rt、変換層68によって変換された行動atを繰り返しモデル60に入力し、最終的に変換層68によって変換された行動atを、現時刻の制御対象50の行動として決定する。
【0034】
モデル記憶部24は、学習部22によって学習されたモデル60を記憶している。
【0035】
行動決定部26は、制御対象50の環境を観測した観測情報、収益、及び行動を入力とし、制御対象50の行動を決定するためのモデルに基づいて、制御対象50の行動を決定する。
【0036】
具体的には、行動決定部26は、1の時間ステップtにおける観測情報ot、収益Rt、及び行動atを含むトークンの時系列長を、複数種類とし、複数種類の時系列長のうち、現時刻以前の、当該時系列長のトークンを、時間ステップ毎にモデル60に入力して最終的に出力される収益が最大になるときの時系列長を決定し、決定された時系列長のトークンを、時間ステップ毎にモデル60に入力して最終的に推定される行動を、制御対象50の行動として決定する。
【0037】
より具体的には、トークンの時系列長をTとし、現時刻t以前に得られたトークンの時系列τTに基づいて、時間ステップt毎に、トークンの観測情報otをデコーダ62に入力し、変換層64から出力された収益^Rtをデコーダ62に入力し、変換層68から出力された行動atをデコーダ62に入力することを繰り返す。トークンの時系列τTは、以下の式で表される。
【0038】
【0039】
複数種類の時系列長の各々について、上記の処理を繰り返し、最終的に推定される収益^Rtが最大になるときの時系列長を決定し、決定された時系列長のトークンを時間ステップ毎にモデル60に入力して最終的に推定される行動atを、制御対象50の行動として決定する。
【0040】
上記行動の決定に関して原理を説明する。
本開示の技術では、最終的に推定される収益^R
tが最大になるときの時系列長を決定することは、以下の(1)式で表され、時系列長が異なるトークンの時系列を考慮して、収益の期待値の比較を可能にする重要な要素である。
(1)
【0041】
時系列長Tの値を調整することにより、現時刻までのトークンの時系列から逸脱するトークンの時系列を探索する程度を制御できる。例えば、時系列長Tの値を小さくすると、現時刻までのトークンの時系列とは大きく異なるトークンの時系列を探索できるようになる。
【0042】
最終的に推定される収益^Rtが最大になるときの時系列長を決定するとき、過推定を防ぐために、エクスペクタイル (Expectile)回帰を利用する。この統計手法は、確率変数の統計の範囲を推定するために、応用統計学や計量経済学で一般的に採用されている。
エクスペクタイル回帰を使用すると、限られたデータを扱う場合であっても、トークンの時系列の最大収益を正確に見積もることができる。
【0043】
確率変数Xのα∈(0,1)エクスペクタイルは、非対称最小二乗問題の解として、次のように定義される。
ただし、
Xは、従属変数の集合であり、m
αは、従属変数の分布の中心である。
【0044】
エクスペクタイル回帰を使用して
を概算する。
(2)
【0045】
~Rtの値の推定は^Rtの推定と同様の方法で達成されるが、上記(2)式を利用する。
【0046】
本実施形態の学習方法は、上記非特許文献2に記載の研究に基づいており、上記(2)式を用いて、トークンの時系列の最大収益を推定するステップを追加したものである。
【0047】
動作制御部28は、行動決定部26が決定した行動を、制御対象50に通知して、制御対象50を動作させる。
【0048】
通信部30は、時刻ステップt毎に決定された制御対象50の行動(例えば、速度及び角速度)を、制御対象50に通知する。
【0049】
また、通信部30は、制御対象50から通知された、各時刻ステップにおける制御対象50の周囲を観測した観測情報を受信する。
【0050】
<制御システムの作用>
次に、本実施形態に係る制御システム100の作用について説明する。
【0051】
図4は、制御装置10のCPU32により実行される制御処理の流れを示すフローチャートである。CPU32が記憶装置36から制御プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が制御装置10の各機能構成として機能し、各時刻ステップについて、
図4に示す制御処理が繰り返し実行される。制御対象50から、各時刻ステップの観測情報が制御装置10に通知されるものとする。また、学習部22によって、予め用意されたトークンの時系列である複数の学習データに基づいて、モデル60が強化学習により学習されているものとする。なお、制御処理は、制御方法の一例である。
【0052】
ステップS100で、行動決定部26は、現時刻の観測情報を取得する。
【0053】
ステップS102で、行動決定部26は、トークンに関する複数種類の時系列長のうち、何れか1つの時系列長Tを設定する。
【0054】
ステップS104で、行動決定部26は、現時刻以前に得られた当該時系列長Tのトークンの時系列τTに基づいて、時間ステップt毎に、トークンの観測情報otをデコーダ62に入力し、変換層64から出力された収益^Rtをデコーダ62に入力し、変換層68から出力された行動atをデコーダ62に入力することを繰り返す。
【0055】
ステップS106で、行動決定部26は、全ての種類の時系列長について上記ステップS102~S104の処理を実行したか否かを判定する。上記ステップS102~S104の処理を実行していない時系列長が存在する場合には、上記ステップS102へ戻り、当該時系列長Tを設定する。一方、全ての種類の時系列長について上記ステップS102~S104の処理を実行した場合には、ステップS108へ移行する。
【0056】
ステップS108において、行動決定部26は、現時刻以前の時系列長のトークンを、時間ステップ毎にモデル60に入力して最終的に推定される収益^Rtが最大になるときの時系列長を決定する。
【0057】
ステップS110で、行動決定部26は、上記ステップS108で決定された時系列長のトークンを、時間ステップ毎にモデル60に入力して最終的に出力される行動を、制御対象50の行動として決定する。
【0058】
ステップS112で、動作制御部28は、行動決定部26が決定した行動を、制御対象50に通知して、制御対象50を動作させ、制御処理を終了する。
【0059】
<実験例>
上記実施形態で説明した制御装置10の手法の有効性を示すための実験を行った。ここで、比較例として、非特許文献3に記載のDTを用いた。
【0060】
[非特許文献3]:Q. Zheng, A. Zhang, and A. Grover. Online decision transformer. In International Conference on Machine Learning, pages 27042-27059. PMLR, 2022.
【0061】
【0062】
表1に示すように、上記実施形態で説明した制御装置10の手法(EDT)は、一部のデータセットを除き、各データセットにおいて、平均スコアが、比較例よりも高くなった。ここで、スコアが高いほど、タスクが成功していることを示す。
【0063】
以上説明したように、本実施形態に係る制御システムは、複数種類の時系列長のうち、現時刻以前の時系列長のトークンを、時間ステップ毎にモデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、決定された時系列長のトークンを、時間ステップ毎にモデルに入力して最終的に出力される行動を、制御対象の行動として決定する。これにより、準最適なデータのもとであっても、必要な時系列の長さを選択し、タスク達成可能な制御対象の行動を適切に決定することができる。
【0064】
<応用例:ロボット>
本開示の手法は、制御対象としてロボットに応用が可能である。この場合、観測情報は、ロボットの現在の状態、及びその状態を捉えるさまざまな情報を含む。ロボットの現在の状態とは、例えば、ジョイントとアクチュエータの状態を含む。ロボットの状態を捉えるさまざまな情報とは、ロボットが対象とするオブジェクトの状態、又はセンサ情報を含む。ロボットが対象とするオブジェクトの状態は、例えば、ワークスペース内のオブジェクトの位置を含む。
【0065】
行動は、ロボットの操作に関する決定を含む。ロボットの操作に関する決定とは、例えば、動作計画、把持または操作戦略の選択、またはロボットの関節角度または速度の調整を含む。
また、報酬は、取り組む特定のタスクに応じて、さまざまな方法で定義される。例えば、報酬は、タスクの正常な完了、ロボットの動きの正確さ、またはロボットの動作のエネルギー効率に基づいて定められる。
【0066】
また、具体的なタスクには、次のようなものがある。
【0067】
1.マニピュレーションタスク:ロボットのワークスペース内のオブジェクトをつかんで操作するタスク。
2.ナビゲーションタスク:ロボットが雑然とした環境をナビゲートして目的の場所に到達するタスク。
3.組立作業:部品や構成部品を最終製品に組み立てる作業。
4.モーションプランニング:衝突を回避して到達するために、環境を介してロボットの軌道を計画するタスク。
【0068】
一例として、ロボットの運動学習に使用できる。ロボットの運動のための教示は、人間とロボットの身体の差により困難になる場合があり、タスクを遂行できる教示を与えられない場合が多い。本開示の手法を使用することで、限られたデータでありかつ最適でないデータにおいてもタスクを遂行できる方策を獲得することができる。
【0069】
<応用例:自動運転車両>
また、本開示の手法は、制御対象として自動運転車両に応用が可能である。この場合、観測情報には、自動運転車両の現在の状態とその状態を捉えるさまざまな情報を含む。自動運転車両の現在の状態は、例えば、自動運転車両の位置、又は速度を含む。自動運転車両の状態を捉えるさまざまな情報は、他車両の状態、障害物までの距離、又は周囲の状況を含む。他車両の状態は、例えば、他車の位置又は速度を含む。周囲の状況は、例えば、天候や道路の状況を含む。
【0070】
行動は、自動運転車両の運転に関する決定を含む。自動運転車両の運転に関する決定には、例えば、ブレーキングが含まれる。
報酬は、取り組む特定のタスクに応じて、さまざまな方法で定義される。たとえば、報酬は、目的地に到達するのにかかった時間、回避された衝突の数、または燃料効率に基づいて定められる。
【0071】
自動運転の具体的なタスクには、次のようなものがある。
【0072】
1.車線追従:車両を車線内に維持しながら、交通をナビゲートするタスク。
2.障害物回避:環境内の他の車両や障害物との衝突を回避するタスク。
3.交通流の最適化:道路または高速道路の交通の流れを最適化するタスク。
4.エネルギー効率の高い運転:燃料消費を最小限に抑えるか、電気を最大限に活用する方法で車両を運転するタスク。
【0073】
<応用例:広告に関するリアルタイム入札>
また、本開示の手法は、制御対象として、コンピュータによる広告に関するリアルタイム入札に応用が可能である。この場合、観測情報は、広告の宣伝対象についてのユーザの特定の行動に関係する情報を含む。広告の宣伝対象についてのユーザの特定の行動に関係する情報は、具体的には、ユーザが広告をクリックしてコンバージョンに至る可能性に影響を与えるさまざまな情報であり、例えば、ユーザの人口統計情報、閲覧履歴、現在のコンテキスト(場所、デバイス、時刻)を含む。
【0074】
行動には、入札額の選択、広告のターゲットに関する基準の選択、または広告のフォーマットの選択が含まれる。
報酬は、入札に成功したときに得られる価値に基づいて定められる。入札に成功したときに得られる価値は、例えば、成功したコンバージョンから、入札の費用を差し引いたものである。
【0075】
具体的なタスクには、次のようなものがある。
【0076】
1.入札の最適化:広告主の投資収益率を最大化する最適な入札戦略を学習するタスク。
2.ユーザモデリング:ユーザの興味や好みを捉え、ユーザの表現を学習するタスク。
3.キャンペーンの最適化:ターゲティング、入札など、広告キャンペーン全体のパフォーマンスを最適化するタスク。
4.動的価格設定:需要と供給のバランスを取るためにリアルタイムで価格設定を最適化するタスク。
【0077】
<応用例:自然言語処理>
また、本開示の手法は、制御対象として、コンピュータによる自然言語処理に応用が可能である。この場合、観測情報は、テキストに関する情報を含む。テキストに関する情報は、具体的には、現在の文やドキュメントなど、さまざまな情報であり、例えば、文または文書のコンテキスト、およびテキストの感情や、単語の埋め込みや文の埋め込みなど、以前に学習したテキストの表現を含む。
【0078】
行動は、テキストに対する処理に関する決定を含み、例えば、次に生成される単語またはフレーズ、テキスト内で認識するエンティティの選択、または特定のカテゴリへ分類するか否かの決定を含む。
報酬は、取り組んでいる特定のタスクに関する正確さに基づいて定義される。たとえば、感情分析では、報酬は、モデルが正確に予測する正確さに基づいて定められる。
【0079】
具体的なタスクには、次のようなものがある。
【0080】
1.テキスト分類:特定のテキストにラベルまたはカテゴリを割り当てるタスク。
2.感情分析:与えられたテキストの感情を特定するタスク。
3.機械翻訳:ある言語から別の言語にテキストを翻訳するタスク。
4.質問応答:自然言語で出された質問に答えるタスク。
【0081】
<応用例:ゲーム処理>
また、本開示の手法は、制御対象として、コンピュータによるゲーム処理に応用が可能である。この場合、観測情報は、ゲームの現在の状態を含む。ゲームの現在の状態は、例えば、ゲームの駒の位置、スコア、残り時間や、機能マップやゲームの埋め込みなど、以前に学習したゲームの表現を含む。
【0082】
行動は、ゲームに関する決定を含む。ゲームに関する決定は、ゲームプレイ中に行われるさまざまな決定を含み、例えば、移動の選択、購入戦略の選択、またはアイテムかパワーアップの選択を含む。
報酬は、プレイしている特定のゲームに応じて、ゲームで得られるスコア、又は勝敗に基づいて定められる。たとえば、ゲームがアタリゲームである場合、ゲーム中に達成されたスコアに基づいて報酬が定められる。また、ゲームが囲碁である場合、プレーヤーがゲームに勝ったかどうかに基づいて報酬が定められる。
【0083】
具体的なタスクには、次のようなものがある。
【0084】
1.ゲームのプレイ:アタリ、チェス、囲碁などのゲームをプレイできる制御対象を開発するタスク。
2.レベルの生成:挑戦的で魅力的なゲームの新しいレベルを生成するタスク。
3.手続き型コンテンツ生成:キャラクター、アイテム、クエストなどのコンテンツを生成するタスク。
4.ゲームのバランス調整:ゲームのパラメータを調整して、ゲームが公平でバランスの取れたものになるようにするタスク。
【0085】
<応用例:物理システム>
また、本開示の手法は、制御対象として物理システムに応用が可能である。この場合、観測情報は、物理システムの現在の状態を含む。物理システムの現在の状態は、例えば、位置、速度、加速度、温度や圧力などのその他の関連する物理的特性、又は以前に学習した物理現象の表現を含む。
【0086】
行動には、物理システムに関するさまざまな制御入力またはパラメータの調整が含まれる。例えば、オブジェクトに加えられる力、レバーの角度、またはシステムの温度である。
報酬は、物理システムに関する評価値に基づいて定められ、対処する特定の問題に応じて、さまざまな方法で定義される。たとえば、制御問題では、報酬は、目的の出力と実際の出力の差に基づいて定められる。
【0087】
具体的なタスクには、次のようなものがある。
【0088】
1.ロボットシステムの制御:ロボットシステムの制御戦略を最適化するタスク。
2.シミュレーションベースの最適化:シミュレーションを使用して物理システムの動作を最適化するタスク。
3.エネルギー管理:建物などの物理システムにおけるエネルギー消費を最適化するタスク。
4.材料発見:高強度などの特定の特性を持つ新しい材料を発見するタスク。
【0089】
<変形例>
なお、上記実施形態では、制御対象50自身の行動履歴データに基づいて、モデルを学習する場合を例に説明したが、これに限定されるものではない。他の制御対象の行動履歴データを用いて、モデルを学習するようにしてもよい。また、制御対象の行動に関するシミュレーションにより得られた行動履歴データを用いて、モデルを学習するようにしてもよい。
【0090】
また、上記実施形態では、制御対象とは別の制御装置において、制御処理を実行する場合を例に説明したが、これに限定されるものではない。制御対象に搭載されている制御装置において、制御処理を実行するようにしてもよい。
【0091】
また、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、制御処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0092】
また、上記実施形態では、制御プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0093】
以下に、本開示に関する付記項を記載する。
【0094】
(付記項1)
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する行動決定部であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する行動決定部
を含む制御装置。
【0095】
(付記項2)
予め用意された前記トークンの時系列に基づいて、前記モデルを強化学習により学習する学習部を更に含む、付記項1記載の制御装置。
【0096】
(付記項3)
前記強化学習における報酬は、前記制御対象の行動履歴データにおいて、タスクを達成したか否か、又はタスク達成までの時間に基づいて定められる付記項2記載の制御装置。
【0097】
(付記項4)
最終的に出力される収益が最大になるときの時系列長を決定する際に、エクスペクタイル回帰を利用する付記項1~付記項3の何れか1項記載の制御装置。
【0098】
(付記項5)
前記制御対象は、移動体、ロボット、又はコンピュータ処理である付記項1~付記項4の何れか1項記載の制御装置。
【0099】
(付記項6)
前記制御対象は、ロボット、自動運転車両、コンピュータによる入札処理、コンピュータによる自然言語処理、コンピュータによるゲーム処理、又はコンピュータによる物理現象に関する処理である付記項5記載の制御装置。
【0100】
(付記項7)
前記制御対象は、ロボットであって、
前記観測情報は、前記ロボットの状態、前記ロボットが対象とするオブジェクトの状態、又はセンサ情報を含み、
前記行動は、前記ロボットの操作に関する決定を含み、
報酬は、前記ロボットが行うタスクの完了、前記ロボットの動きの正確さ、または前記ロボットの動作のエネルギー効率に基づいて定められる付記項5記載の制御装置。
【0101】
(付記項8)
前記制御対象は、自動運転車両であって、
前記観測情報は、前記自動運転車両の状態、他車両の状態、障害物までの距離、周囲の状況を含み、
前記行動は、前記自動運転車両の運転に関する決定を含み、
報酬は、目的地に到達するのにかかった時間、回避された衝突の数、又は燃料効率に基づいて定められる付記項6記載の制御装置。
【0102】
(付記項9)
前記制御対象は、コンピュータによる広告に関する入札処理であって、
前記観測情報は、前記広告の宣伝対象についてのユーザの特定の行動に関係する情報を含み、
前記行動は、入札額の選択、前記広告のターゲットに関する選択、または前記広告のフォーマットの選択を含み、
報酬は、入札に成功したときに得られる価値に基づいて定められる付記項6記載の制御装置。
【0103】
(付記項10)
前記制御対象は、コンピュータによる自然言語処理であって、
前記観測情報は、テキストに関する情報を含み、
前記行動は、前記テキストに対する処理に関する決定を含み、
報酬は、タスクに関する正確さに基づいて定められる付記項6記載の制御装置。
【0104】
(付記項11)
前記制御対象は、コンピュータによるゲーム処理であって、
前記観測情報は、ゲームの状態を含み、
前記行動は、前記ゲームに関する決定を含み、
報酬は、前記ゲームで得られるスコア、又は勝敗に基づいて定められる付記項6記載の制御装置。
【0105】
(付記項12)
前記制御対象は、物理システムであって、
前記観測情報は、前記物理システムの状態を含み、
前記行動は、前記物理システムに関する制御入力またはパラメータの調整を含み、
報酬は、前記物理システムに関する評価値に基づいて定められる付記項6記載の制御装置。
【0106】
(付記項13)
プロセッサが、
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する処理であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する
処理を実行する、制御方法。
【0107】
(付記項14)
コンピュータに、
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する処理であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定する
処理を実行させる、制御プログラム。
【0108】
(付記項15)
制御装置と、制御対象とを含む制御システムであって、
前記制御装置は、
制御対象の環境の観測情報、収益、及び行動を入力とし、制御対象の行動を決定するためのモデルに基づいて、前記制御対象の行動を決定する行動決定部であって、
現時刻以前の時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される収益が最大になるときの時系列長を決定し、現時刻以前の、前記決定された時系列長のトークンを、時間ステップ毎に前記モデルに入力して最終的に出力される前記行動を、前記制御対象の行動として決定して、前記制御対象に通知する行動決定部を含み、
前記制御対象は、各時刻ステップにおける前記制御対象の環境の観測情報を前記制御装置へ通知し、
通知された前記行動に従って行動する、
制御システム。
【符号の説明】
【0109】
100 制御システム
10 制御装置
20 学習データ記憶部
22 学習部
24 モデル記憶部
26 行動決定部
28 動作制御部
30 通信部
32 CPU
34 メモリ
36 記憶装置
38 入力装置
40 出力装置
42 記憶媒体読取装置
44 通信I/F
46 バス
50 制御対象
60 モデル
62 デコーダ
64、66、68、70 変換層