(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024164467
(43)【公開日】2024-11-27
(54)【発明の名称】方策マネジメント方法及び方策マネジメントシステム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241120BHJP
G06F 18/23 20230101ALI20241120BHJP
【FI】
G06N20/00
G06F18/23
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023079956
(22)【出願日】2023-05-15
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】福島 卓弥
(72)【発明者】
【氏名】松本 杜青
(72)【発明者】
【氏名】寺本 やえみ
(57)【要約】
【課題】強化学習において多様な環境情報やKPIによって表現される様々なタスクに対応可能な方策を準備し得るようにする。
【解決手段】強化学習においてエージェントがタスクを実行する際の行動を決定するための方策を割り当てる方策マネジメントシステムは、環境に関する環境情報ならびにKPIの重みを算出するためのKPI重み算出パラメータに基づいてKPIに対する重み情報を算出する。そして環境情報、KPI、及び重み情報に基づいてタスクを定義し、タスクに対して評価用の方策を適用した場合の環境の状態、エージェントの行動、及び行動に対する報酬を取得して履歴データを生成する。そして環境情報、重み情報、及び履歴データを用いて、タスクをタスク傾向空間に射影する。そしてタスクに対して方策を割り当てた場合の方策の適合性を評価するための適応値を算出する。適応値に基づいて、タスク傾向空間を、方策を適用する方策適用領域へ分割する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
強化学習においてエージェントが環境内でタスクを実行する際の行動を決定するための方策を該タスクに対して割り当てる方策マネジメントシステムが実行する方策マネジメント方法であって、
前記環境に関する設定及びパラメータを含む環境情報ならびにKPI(Key Performance Indicator)の重みを算出するためのKPI重み算出パラメータを取得し、該環境情報及び該KPI重み算出パラメータに基づいて該KPIに対する重み情報を算出するタスク設定ステップと、
前記環境情報、前記KPI、及び前記重み情報に基づいて前記タスクを定義し、該タスクに対して評価用の方策を適用した場合の前記環境の状態、前記エージェントの前記行動、及び該行動に対する報酬を取得して履歴データを生成する履歴データ生成ステップと、
前記タスクの特徴に基づいて前記履歴データを前記環境情報及び前記KPIから構成されるタスク空間よりも低次元の部分空間であるタスク傾向空間に射影するための所定パラメータと、前記環境情報、前記重み情報、及び前記履歴データと、を用いて、前記タスクを前記タスク傾向空間に射影する次元圧縮ステップと、
前記タスクに対して前記方策を割り当てた場合の該方策の適合性を評価するための適応値を算出する適応値算出ステップと、
前記適応値に基づいて、前記タスク傾向空間を、前記方策を適用する方策適用領域へ分割する方策領域分割ステップと
を有することを特徴とする方策マネジメント方法。
【請求項2】
請求項1に記載の方策マネジメント方法であって、
シミュレーション上で前記方策を適用して第1の制御情報を取得するシミュレーションステップと、
前記シミュレーションステップによって取得された前記第1の制御情報に対してユーザが調整した結果を第2の制御情報として取得する実適用ステップと、を有し、
前記適応値算出ステップでは、
前記第1の制御情報に基づいて第1の適応値を算出し、前記第2の制御情報に基づいて第2の適応値と、を算出し、
前記方策領域分割ステップでは、
前記第1の適応値と前記第2の適応値とを比較した比較結果に基づいて、前記タスク傾向空間を前記方策適用領域へ分割する
ことを特徴とする方策マネジメント方法。
【請求項3】
請求項1に記載の方策マネジメント方法であって、
シミュレーション上で前記方策を適用して第1の制御情報を取得するシミュレーションステップと、
前記方策を実システムに適用して第2の制御情報を取得する実適用ステップと、を有し、
前記適応値算出ステップでは、
前記第1の制御情報に基づいて第1の適応値を算出し、前記第2の制御情報に基づいて第2の適応値と、を算出し、
前記方策領域分割ステップでは、
前記第1の適応値と前記第2の適応値とを比較した比較結果に基づいて、前記タスク傾向空間を前記方策適用領域へ分割する
ことを特徴とする方策マネジメント方法。
【請求項4】
請求項2又は3に記載の方策マネジメント方法であって、
前記比較結果に基づいて前記KPIの前記重み情報を更新するタスク定義更新ステップと、
前記環境情報が互いに類似する複数の前記タスクの前記重み情報の更新後における前記タスク傾向空間上の距離を閾値と比較し、該距離が該閾値を超過する場合に、該距離が該閾値以下となるように前記タスク傾向空間の再生成を行うタスク傾向空間更新ステップと
を有することを特徴とする方策マネジメント方法。
【請求項5】
請求項1に記載の方策マネジメント方法であって、
前記方策領域分割ステップによって分割された前記方策適用領域の数が閾値を超過したか否かを判定し、該方策適用領域の数が該閾値を超過した場合に、該方策適用領域の数が該閾値以下となるように前記タスク傾向空間の再生成を行うタスク傾向空間更新ステップ
を有することを特徴とする方策マネジメント方法。
【請求項6】
請求項1に記載の方策マネジメント方法であって、
前記タスク傾向空間上において前記方策適用領域に前記タスクが含まれるか否かに基づいて、該タスクに対して前記方策を割り当てる方策割当ステップ
を有することを特徴とする方策マネジメントシステム。
【請求項7】
請求項1に記載の方策マネジメント方法であって、
前記方策領域分割ステップでは、
前記タスク傾向空間上での前記方策適用領域が可能な限り大きな領域となるように、前記適応値又は前記座標空間に基づいて、前記タスク傾向空間を分割する
ことを特徴とする方策マネジメントシステム。
【請求項8】
請求項1に記載の方策マネジメント方法であって、
前記方策領域分割ステップによって分割された前記方策適用領域を、前記環境情報又は前記KPIを座標軸とする二次元もしくは三次元で前記タスク傾向空間を可視化する可視化ステップ
を有することを特徴とする方策マネジメント方法。
【請求項9】
強化学習においてエージェントが環境内でタスクを実行する際の行動を決定するための方策を該タスクに対して割り当てる方策マネジメントシステムであって、
前記環境に関する設定及びパラメータを含む環境情報ならびにKPI(Key Performance Indicator)の重みを算出するためのKPI重み算出パラメータを取得し、該環境情報及び該KPI重み算出パラメータに基づいて該KPIに対する重み情報を算出するタスク設定部と、
前記環境情報、前記KPI、及び前記重み情報に基づいて前記タスクを定義し、該タスクに対して評価用の方策を適用した場合の前記環境の状態、前記エージェントの前記行動、及び該行動に対する報酬を取得して履歴データを生成する履歴データ生成部と、
前記タスクの特徴に基づいて前記履歴データを前記環境情報及び前記KPIから構成されるタスク空間よりも低次元の部分空間であるタスク傾向空間に射影するための所定パラメータと、前記環境情報、前記重み情報、及び前記履歴データと、を用いて、前記タスクを前記タスク傾向空間に射影する次元圧縮部と、
前記タスクに対して前記方策を割り当てた場合の該方策の適合性を評価するための適応値を算出する適応値算出部と、
前記適応値に基づいて、前記タスク傾向空間を、前記方策を適用する方策適用領域へ分割する方策領域分割部と
を有することを特徴とする方策マネジメントシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、方策マネジメント方法及び方策マネジメントシステムに関する。
【背景技術】
【0002】
強化学習は、制御や意思決定支援、計画立案等に有効な手段と知られており、エージェントと環境の相互作用によって成り立つ。エージェントは、環境から得られる状態に対して、方策に基づいて行動を決定する。環境は、エージェントから行動を受け取り、次の状態と行動に対する報酬をエージェントに返す。
【0003】
ここで、ある状態に対する最適な行動は、環境に関する情報(以下、環境情報と称す)と、報酬を定める評価指標(Key Performance Indicator、以下、KPIと称す)で表現されるタスクにより決定されうる。強化学習を適用する際は、事前準備時にタスクに対して強化学習モデル(以下、方策と称す)を用いて状態に対する行動を出力する方策を学習し、実適用時にタスクに学習済みの方策を適用する。強化学習を実運用するときは、環境情報やKPIが多様となることから、様々なタスクを対応する必要がある。
【0004】
例えば特許文献1では、タスクに対して事前準備時に方策を学習し、実適用時に学習済みの方策を使うことを想定し、N個(Nは2以上の整数)の学習済みの方策の中からタスクに応じて適用する方策を変更することで、様々なタスクに対応している。
【0005】
また非特許文献1では、事前準備時に複数のタスクに対して一つのロバストな方策を学習させるメタ強化学習を用い、実運用時にメタ強化学習済みの方策を用いることで一つの方策で様々なタスクに対応している。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【非特許文献1】B. Mehta etal., “Curriculum in Gradient-Based Meta-ReinforcementLearning”, ICLR 2020 workshop: Beyond tabula rasa in RL (BeTR-RL).
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述の特許文献1では、事前準備時に異なるN個のタスクごとに少なくとも一つの方策を準備する。環境情報やKPIが異なると別のタスクとなるため、実運用時は、事前準備時にない無数のタスクを考慮する必要がある。また前述のNを適切に定めて、タスクに対して適切な方策が割り当てられるようにする必要があるが、Nが無数になる可能性がある。
【0009】
また上述の非特許文献1では、複数のタスクに対して一つの方策を準備するに過ぎず、非特許文献1に記載されているとおり、実適用時に生じうる無数のタスクに対応することはできない。
【0010】
このように環境情報やKPIが異なる複数のタスクに強化学習を実適用するためには、一つの方策だけではタスク全体に対応できないため、タスク数だけ方策を用意する必要がある。しかしタスク数だけ方策を用意することは現実的に困難である。
【0011】
本発明は、上記を考慮してなされたものであり、強化学習において多様な環境情報やKPIによって表現される様々なタスクに対応可能な方策を準備し得るようにすることを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決する一態様として、強化学習においてエージェントが環境内でタスクを実行する際の行動を決定するための方策を該タスクに対して割り当てる方策マネジメントシステムが実行する方策マネジメント方法であって、前記環境に関する設定及びパラメータを含む環境情報ならびにKPI(Key Performance Indicator)の重みを算出するためのKPI重み算出パラメータを取得し、該環境情報及び該KPI重み算出パラメータに基づいて該KPIに対する重み情報を算出するタスク設定ステップと、前記環境情報、前記KPI、及び前記重み情報に基づいて前記タスクを定義し、該タスクに対して評価用の方策を適用した場合の前記環境の状態、前記エージェントの前記行動、及び該行動に対する報酬を取得して履歴データを生成する履歴データ生成ステップと、前記タスクの特徴に基づいて前記履歴データを前記環境情報及び前記KPIから構成されるタスク空間よりも低次元の部分空間であるタスク傾向空間に射影するための所定パラメータと、前記環境情報、前記重み情報、及び前記履歴データと、を用いて、前記タスクを前記タスク傾向空間に射影する次元圧縮ステップと、前記タスクに対して前記方策を割り当てた場合の該方策の適合性を評価するための適応値を算出する適応値算出ステップと、前記適応値に基づいて、前記タスク傾向空間を、前記方策を適用する方策適用領域へ分割する方策領域分割ステップとを有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、強化学習において多様な環境情報やKPIによって表現される様々なタスクに対応可能な方策を準備することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態に係る方策マネジメントシステムの構成を示す図。
【
図3A】実施形態に係る環境情報の構成例を示す図。
【
図3B】実施形態に係るKPI重み情報の構成例を示す図。
【
図3C】実施形態に係る履歴データの構成例を示す図。
【
図3D】実施形態に係る方策セットの構成例を示す図。
【
図3E】実施形態に係る方策適用領域パラメータの構成例を示す図。
【
図4A】実施形態に係る適応閾値の詳細例を示す図。
【
図4B】実施形態に係るシミュレーション制御情報、実適用制御情報の詳細例を示す図。
【
図4C】実施形態に係る適応値セットの詳細例を示す図。
【
図4D】実施形態に係る射影情報の詳細例を示す図。
【
図4E】実施形態に係る履歴データ生成パラメータの詳細例を示す図。
【
図4F】実施形態に係る表示軸情報の詳細例を示す図。
【
図6】実施形態に係る方策マネジメント処理を示すフローチャート。
【
図7】実施形態に係るタスク設定処理を示すフローチャート。
【
図8】実施形態に係る履歴データ生成処理を示すフローチャート。
【
図9】実施形態に係る次元圧縮処理を示すフローチャート。
【
図10】実施形態に係る方策割当処理を示すフローチャート。
【
図11】実施形態に係るシミュレーション処理を示すフローチャート。
【
図12】実施形態に係る実適用処理を示すフローチャート。
【
図13】実施形態に係る適応値算出処理を示すフローチャート。
【
図14】実施形態に係るタスク定義更新処理を示すフローチャート。
【
図15】実施形態に係る方策領域分割処理を示すフローチャート。
【
図16】実施形態に係るタスク傾向空間更新処理を示すフローチャート。
【
図17】実施形態に係る可視化処理を示すフローチャート。
【
図18】実施形態に係るタスク傾向空間生成処理/方策領域分割処理を説明するための図。
【
図19】実施形態に係るタスク傾向空間再生成を説明するための図。
【
図20】実施形態に係るタスク傾向空間の可視化を説明するための図。
【
図21】実施例1に係る鉄道運転整理業務を説明するための図。
【
図22】実施例1に係る鉄道運転整理業務を説明するための図。
【
図23】実施例2に係るロボットによる自動掃除業務を説明するための図。
【
図24】実施例2に係るロボットによる自動掃除業務を説明するための図。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではない。
【0016】
以下の説明では、プログラムが行う処理について説明する場合がある。コンピュータは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))により、主記憶装置のメモリ等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。プロセッサがプログラムを実行することで、処理を行う機能部が実現される。
【0017】
同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であればよく、特定の処理を行う専用回路を含んでいてもよい。専用回路は、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等である。
【0018】
以下の説明では、プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読取り可能な非一時的な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源(ストレージ)を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施形態において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0019】
[実施形態]
図1は、実施形態に係る方策マネジメントシステム100の構成を示す図である。方策マネジメントシステム100は、強化学習においてエージェントが環境内でタスクを実行する際の行動を決定するための方策をタスクに対して割り当てる。方策マネジメントシステム100は、次元圧縮により生成されたタスク傾向空間を、方策が適応できる範囲を考慮しながら分割する。タスクとは、環境情報及びKPIによって定まり、最適化の対象となる。タスク傾向空間とは、環境情報及びKPIによって定まるタスクのうち、タスクに対する方策が類似するタスクが射影される空間である。
【0020】
方策マネジメントシステム100は、プロセッサ601、データ記憶装置602、通信装置603、入力装置604、出力装置605、及びプログラム記憶装置606を有する。
【0021】
方策マネジメントシステム100は、データベース102にアクセス可能である。データ記憶装置602には、データベース102が格納されているとする。データベース102は、これに限らず、方策マネジメントシステム100内の他の装置又は方策マネジメントシステム100と通信可能な外部のコンピュータに格納されていてもよい。
【0022】
データベース102には、
図2に示すパラメータ群2000が格納されている。強化学習を実行するシミュレータや、外部コンピュータが得たセンサ情報や、方策マネジメントシステム100の各部で計算された情報も格納する。
【0023】
プロセッサ601は、CPU(Central Processing Unit)等のプロセッサであり、方策マネジメント処理を制御する。
【0024】
データ記憶装置602は、プロセッサ601の作業エリアとなる。また、データ記憶装置602は、各種プログラムやデータを記憶する非一時的又は一時的な記録媒体である。データ記憶装置602としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリがある。
【0025】
通信装置603は、ネットワークと接続し、データを送受信する。入力装置604は、システムにデータや情報を入力する機器である。入力装置604としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイクがある。
【0026】
出力装置605は、システムが保持するデータや情報を出力する機器である。出力装置605としては、たとえば、ディスプレイ、プリンタ、スピーカがある。
【0027】
プログラム記憶装置606は、タスク傾向空間射影部103、方策割当部113、シミュレーション部114、実適用部115、適応値算出部116、タスク傾向空間調整部104、可視化部120、及びデータ入出力部101を格納する。
【0028】
タスク傾向空間射影部103、方策割当部113、・・・、及びデータ入出力部101は、データ記憶装置602に記憶されたプログラムをプロセッサ601に実行させることにより実現される。プログラムは、方策マネジメントシステム100又は外部のコンピュータの記憶装置に格納される。
【0029】
データ入出力部101は、キーボード等の入力デバイス、又は、方策マネジメントシステム100と通信可能な外部コンピュータから、データの入力を受け付ける。データ入出力部101は、方策マネジメントシステム100内で算出されたデータを、ディスプレイ等の出力デバイスによって表示する。
【0030】
タスク傾向空間射影部103は、タスク設定部110、履歴データ生成部111、及び次元圧縮部112を有する。
【0031】
タスク設定部110は、KPI重み算出パラメータ205を有する。タスク設定部110は、環境情報200とKPIセット201を取得し、KPI重み算出パラメータ205を用いたモデルによって算出されたKPIセット201内の各KPIに対する重要度を、KPI重み情報202に格納する。
【0032】
具体的には、環境情報200は、タスクを定める環境の要素をパラメータの形式で表したものである。KPIセット201は、タスクに対する行動を評価するための指標の集合である。KPI重み202は、KPIセットが有するそれぞれのKPIに対する重要度を表す。KPIセット201とKPI重み202は、強化学習における報酬関数を定める際に用いられる。報酬関数rは、KPIセット201内の各要素に対してKPI重み202に格納された重みを利用した、例えば式(1)のように表される重み付き和である。
r=w_1*KPI_1+w_2*KPI_2+… ・・・(1)
【0033】
ここで、式(1)の左辺のrは得られる報酬、w_1,w_2はそれぞれ一つ目のKPI_1と二つ目のKPI_2に対する報酬の重みを意味する。なお、KPIが3個以上ある場合についても同様にKPIに対して重みwを掛けて足し合わせる。報酬関数の定め方はあくまで一例であり、これに限定しない。
【0034】
履歴データ生成部111は、環境情報200、KPIセット201、KPI重み202、及び評価用方策203を取得し、パラメータをシミュレータで定めたうえで、評価用方策203によって選択された行動履歴(a_t, a_(t+1), …)と、行動に従って遷移させた状態履歴(s_t, s_(t+1),…)と、行動によって得られたKPIによる報酬履歴(r_t, r_(t+1),…,)を、履歴データ214としてデータベース102に格納する。ここで、aは行動、sは状態、rは報酬、tはシミュレーション時におけるステップを意味している。ステップは離散値で表現され、状態遷移が進むと次のステップに進む。例えば、a_tはステップtにおける行動を意味する。
【0035】
次元圧縮部112は、環境情報200、タスク設定部110によって格納されたKPI重み情報202、及び履歴データ生成部111によって格納された履歴データ214を取得する。そして次元圧縮部112は、環境情報200とKPI重み情報202で構成される多次元空間のタスク空間を低次元のタスク傾向空間に射影する。次元圧縮部112は、射影の際に、履歴データ214を用いて低次元空間に射影可能なパラメータ(以降、タスク傾向空間生成パラメータ212)を有した次元圧縮器を用いる。次元圧縮部112は、タスク傾向空間上への射影先の座標をデータベース102の射影情報215に格納する。
【0036】
次元圧縮部112で用いられる次元圧縮方法には、例えば、主成分分析、オートエンコーダ、t-SNE等がある。本実施形態における次元圧縮は、次元圧縮前後の可逆変換性が満たされていなくてもよい。
【0037】
方策割当部113は、次元圧縮部112によりデータベース102に格納された射影情報215を取得し、タスク傾向空間上の方策適用領域に従って、該当する方策をデータベース102の適用方策213として格納する。以降、タスク傾向空間上の方策適用領域を、方策適用領域パラメータ206と称す。
【0038】
シミュレーション部114は、方策割当部113で格納された適用方策213を取得し、タスクに対して適用方策213を用いてシミュレーションを実行する。シミュレーション部114は、シミュレーション時に得られる状態と行動と報酬とをシミュレーション制御情報209としてデータベース102に格納する。
【0039】
実適用部115は、方策割当部113で格納された適用方策213を取得し、適用方策213を実際に人又はシステムに適用させた際に得られる状態と行動と報酬とを、実適用制御情報210としてデータベース102に格納する。
【0040】
適応値算出部116は、シミュレーション部114で格納されたシミュレーション制御情報209と、実適用部115で格納された実適用制御情報210とを取得する。そして適応値算出部116は、強化学習の獲得報酬や、タスクの成功確率等で算出される適応値をデータベース102の適応値セット211に格納する。
【0041】
適応値は、獲得報酬やタスク成功率等が指標の例として挙げられるが、方策を評価できるものであれば、指標を限定しない。例えば、適応値には獲得報酬とタスク成功率との重み付き和を用いてもよいし、数エピソード分のみ強化学習を行った際の獲得報酬の変位から算出してもよい。
【0042】
タスク定義更新部117は、KPI重み算出パラメータ205、シミュレーション部で格納されたシミュレーション制御情報209、実適用部115で格納された実適用制御情報210、及び適応値算出部116によって格納された適応値セット211を取得する。そしてタスク定義更新部117では、適応値セット211からシミュレーション部114で格納された適応値と実適用部115で格納された適応値を取得し、両者の適応値を比較する。タスク定義更新部117では、その大小関係に応じて、KPI重み算出パラメータ205を調整するかどうかを判断する。
【0043】
方策領域分割部118は、方策セット204及び適応閾値207を取得する。方策領域分割部118は、方策セット204内の各方策の適応値を適応値セット211より取得し、適応値と適応閾値207との大小関係に応じて方策適用領域パラメータ206を更新する。
【0044】
タスク傾向空間更新部119は、方策適用領域パラメータ206、射影情報215を取得する。タスク傾向空間更新部119は、方策適用領域パラメータ206と、射影情報215と、領域再生成閾値208との比較によりタスク傾向空間の再生成を行うかどうかを判断する。
【0045】
可視化部120は、方策適用領域パラメータ206、環境情報200、KPIセット201、KPI重み202、及び表示軸情報217を取得し、タスク空間を、2次元もしくは3次元上に軸を限定することで可視化する。
【0046】
(実施形態に係るパラメータ群2000)
図2は、実施形態に係るパラメータ群2000を示す図である。パラメータ群2000は、例えばデータベース102に格納される。パラメータ群2000は、環境情報200、KPIセット201、KPI重み202、評価用方策203、方策セット204、KPI重み算出パラメータ205、方策適用領域パラメータ206、適応閾値207、及び領域再生成閾値208を含む。またパラメータ群2000は、シミュレーション制御情報209、実適用制御情報210、適応値セット211、タスク傾向空間生成パラメータ212、適用方策213、履歴データ214、射影情報215、及び履歴データ生成パラメータ216を含む。またパラメータ群2000は、表示軸情報217を含む。
【0047】
環境情報200は、タスクを定義する環境に関するパラメータを含む。例えば、遅延時の運転整理によって遅延時間を解消する鉄道運転整理のタスクに対して、強化学習を用いる場合、支障パターンを定めるものが環境情報200に該当する。具体的には、いつ支障が起きるかを示す支障開始時刻、どれだけ長く支障が継続するかを示す支障時間、支障範囲の大きさを示す支障区間、運行止めや徐行等を示す支障タイプ、上り/下りだけもしくは両方向の支障を示す支障方向等がある。
【0048】
KPIセット201は、タスクを評価する指標(KPI)を含む。各KPIの重み付け方により、タスクは変化する。例えば、鉄道運転整理のタスクの場合、遅延解消時間、制約違反のない運転整理案、顧客の満足度等がKPIに該当する。KPIをまとめたものがKPIセット201に該当する。
【0049】
KPI重み202は、KPIセット201に含まれる全てのKPIに対して、実数値の重みを定義したパラメータを含む。KPI重み202は、環境情報200から推定されるものでもよいし、データ入出力部101を介して人が設定したものでもよい。
【0050】
評価用方策203は、状態に対して行動を決める方策パラメータを含む。評価用方策203は、状態に応じて行動を変化させるものでもよいし、状態によらず予め用意した行動セットを順に用いるようなものでもよい。また、乱数によって定められてもよいし、教師データ等のデータ入出力部101を介して入力されたものでもよい。複数個の評価用方策203が用意されていてもよい。
【0051】
方策セット204は、学習済みの方策モデルを含む。タスク傾向空間上で方策適用領域が分割された場合、その領域に割り当てる方策を方策セット204に追加する。方策セット204は、どの領域にも該当しないタスクが来た場合に適用する一般方策も含む。一般方策は、事前準備時に使用したタスクを用いて学習させた方策でもよいし、人間の経験やノウハウを含むヒューリスティックなモデルであってもよい。
【0052】
KPI重み算出パラメータ205は、環境情報200に対するKPI重み202を算出するためのパラメータを含む。KPI重み算出パラメータ205はKPIの数のKPI重みを算出するモデルを用意し、それぞれを独立で格納してよいし、モデルの出力がKPI数に対応する一つのモデルであってもよい。
【0053】
方策適用領域パラメータ206は、領域を特定するIDと、領域に対応する方策のIDと、領域内の中心座標と、領域分割に使用した領域分割IDと、領域分割IDに対応する領域図形パラメータと、領域分割の判断に使用した適応閾値207と、を含む。
【0054】
適応閾値207は、領域分割を行うか否かを定める適応値の閾値を含む。適応閾値207は固定の実数値であってもよいし、方策適用領域パラメータ206等に応じて変わる可変の実数値であってもよい。固定の実数値を複数用意し、状況に応じて切り替えてもよい。
【0055】
領域再生成閾値208は、タスク傾向空間の再生成を行うか否かを定める閾値を含む。領域再生成閾値208は固定の実数値であってもよいし、状況に応じて変わる可変の実数値であってもよい。例えば、方策適用領域の飛地の数が領域再生成閾値を超えた場合、タスク傾向空間の再生成を行う、といった定め方がある。
【0056】
シミュレーション制御情報209は、適用方策213を用いて、シミュレーション上で算出した各状態と行動と報酬とを含む。シミュレーション制御情報209は前記タスクに応じた情報を含み、その情報は実数値であっても、TrueかFalseかで示されるフラグであってもよい。
【0057】
実適用制御情報210は、適用方策213を用いて、実適用させた際に得られる各状態と行動と報酬とを含む。実適用制御情報210はタスクに応じた情報を含み、その情報は実数値であっても、TrueかFalseかで示されるフラグであってもよい。
【0058】
適応値セット211は、シミュレーション制御情報209と実適用制御情報210をもとに算出される評価値を含む。適応値は、例えば、獲得報酬や、タスクの成功確率等、強化学習を評価する上で用いられる指標がある。また、獲得報酬や成功確率といった2つ以上の実数値から算出されるものでもよい。適応値は負の値を取ってもよい。
【0059】
タスク傾向空間生成パラメータ212は、タスク傾向空間生成時に使用する次元圧縮モデルのパラメータを含む。次元圧縮は不可逆変換なものであってもよい。例えば、次元圧縮モデルにオートエンコーダを用いた場合は、オートエンコーダ内部のニューラルネットワークがタスク傾向空間生成パラメータとして格納される。
【0060】
適用方策213は、方策割当部113において格納された方策セット204のうちの一つの方策を含む。
【0061】
履歴データ214は、任意のタスクに対して評価用方策203を用いた場合における、状態と、行動と、報酬と、を含む。
【0062】
履歴データ214は、環境情報200と、KPI重み202と、を含んでいてもよいし、強化学習で得られるその他の情報を含んでいてもよい。
【0063】
強化学習における1エピソード(タスクの最初から最後までのnステップで構成される要素)を全て含まなくてよい。例えば、任意の数ステップ分の状態・行動・報酬履歴を用いる、数ステップごとの状態・行動・報酬履歴を用いる等である。
【0064】
ステップ数は、履歴データ生成パラメータ216より取得される。
【0065】
射影情報215は、次元圧縮部112において射影されるタスクの、タスク傾向空間上の座標を含む。
【0066】
複数の評価用方策203や、分割された履歴データ214により、一つのタスクが複数の射影先を持つ場合、座標の重心(セントロイド)をとってもよいし、代表点(メドイド)をとってもよい。
【0067】
履歴データ生成パラメータ216は、履歴データ214生成時における、ステップ数等の履歴データ生成に関する設定情報を含む。設定ファイルやデータ入出力部101を介して格納される。
【0068】
表示軸情報217は、可視化部120において用いられる、高次元のタスク空間を可視化するために2次元もしくは3次元に軸を限定するための情報を含む。具体的には、n次元のタスク空間はn個の軸を持つ空間であり、そのうち2個か3個の軸を選択するための基準を含む。
【0069】
表示軸情報217はタスク空間の軸だけではなく、人間が理解しやすい指標を新たに軸として設定してもよい。
【0070】
【0071】
環境情報200は、
図3Aに示すように、タスクID及び環境情報の各変数(環境情報1、環境情報2、環境情報3、…)等を含む。タスクIDは、タスクを指定する識別情報である。環境情報1、環境情報2、環境情報3、…は環境情報を表す。環境情報200において、環境情報の数は環境情報1~3の3つに限定されない。
【0072】
環境情報200における環境情報の各変数は、離散的でカテゴリカルな変数であってもよいし、連続的な変数であってもよい。また、TrueかFalseかで表されるフラグの形であってもよい。全く同じ環境情報200を持つタスクがある場合、タスクIDを1つにまとめてもよいし、別のタスクIDとして割り当ててもよい。
【0073】
KPI重み情報202は、
図3Bに示すように、タスクID、及びKPIセット201に含まれる各KPIに対する重みを含む。タスクIDは、タスクを指定する識別情報である。KPI1、KPI2、KPI3、及びKPI4は、KPIセット201に含まれる各KPIを表し、各KPIに対する重みがタスクID毎に格納される。KPI重み情報202におけるKPIの数は、KPI1~4の4つに限定されない。タスクあるいは環境情報200に応じてKPI重み情報202は異なり、KPI重み情報202はKPI重み算出パラメータ205をもとに計算される。KPI重み情報202は、強化学習の報酬関数設定時に用いられる。KPI重み情報202の各値は正の実数値であってもよいし、負の実数値であってもよい。重みが0.0のときは、そのKPIを利用しないことを意味する。
【0074】
例えば、KPI重み情報202を用いて、報酬関数を重み付き線形和で表すとする。このとき、タスクIDが0のタスクに対しては、式(2)のように報酬を定義できる。
r=0.14*KPI1+0.0*KPI2+1.0+1.0*KPI3+0.23*KPI4+… ・・・(2)
【0075】
式(2)において、各KPIの値は、タスクの状態やタスクに対する行動等によって計算される。なお、この例では重み付き線形和で報酬関数を表現したが、これに限定しない。
【0076】
履歴データ214は、
図3Cに示すように、タスクID、評価用方策ID、状態、行動、及び報酬等を含む。評価用方策IDは、評価用方策203に含まれる方策を一意に特定する番号である。
【0077】
履歴データ214において、状態1_1は履歴データ214に含まれる1ステップ目の状態の第1要素を表す。同様に状態1_2は履歴データ214に含まれる1ステップ目の状態の第2要素を表す。行動1は1ステップ目における状態1が与えられたときの行動を表す。報酬1は1ステップ目における行動1が状態1に対して実行されたときの報酬を表す。状態2_1は履歴データ214に含まれる2ステップ目の状態の第1要素を表す。以降、履歴データ214に含まれるn個の状態に対して同様に格納される。
【0078】
なお、履歴データ214の列名と格納方法は一例であり、各列に履歴データ214に含まれる全ステップ分の情報が含まれていてもよい。例えば状態の列に(1ステップ目における状態1、2ステップ目における状態2、…)等、ベクトルの形で格納されていてもよい。
【0079】
また履歴データ214における状態は、連続的な実数値であっても離散的な値であってもよい。また、TrueかFalseかで表されるフラグの形であってもよい。同様に、行動及び報酬も、連続的な実数値であっても離散値であってもよい。
【0080】
方策セット204は、
図3Dに示すように、方策ID、タスクID、及び該当の方策が一般方策であるか否かを示すフラグ情報を含む。タスクID1の列、タスクID2の列等は、事前準備時において、方策を学習するためにどのタスクを使用したかを表している。列数に対して、学習に使用したタスクの数が少ない場合は、該当タスクがなく空欄であることを示す“-”、“None”、“Null”等を格納する。
【0081】
なお、事前準備時において、方策を学習するために使用するタスクは一つでなくてもよい。その場合、タスクID2の列、タスクID3の列というように、タスクIDの列が順次追加される。
【0082】
一般方策列は、その方策が一般方策として割り当てられているかどうかのフラグを含む。
【0083】
どの方策適用領域にも該当しない、あるいは、方策適用領域が存在しない場合は、事前準備時に用いたタスクで学習させた一般方策を、適用方策213として格納する。一般方策の作成方法は、例えば、履歴データ214の生成にN個のタスクを利用したとすると、そのN個のタスク全てに対して強化学習を行い一つの方策を調整してもよいし、そのうち一部を用いて学習してもよい。
【0084】
方策適用領域パラメータ206は、
図3Eに示すように、領域ID、方策ID、領域中心座標、領域分割ID、領域図形パラメータ、及び適応閾値207を含む。
【0085】
領域IDは、方策適用領域を指定するための識別情報である。方策IDは、方策適用領域内に対してどの方策を用いるかを定めるために用いられる。
【0086】
領域中心座標は、方策適用領域を定める際の中心となる座標を定める。たとえば、次元圧縮部112で2次元空間上に射影した場合は、領域中心座標1はx座標を、領域中心座標2はy座標を含む。中心座標の列として、x座標とy座標を併せてベクトル表記で記載してもよい。
【0087】
領域分割IDは、領域を分割する際に用いる図形や手法を特定する識別情報である。
図5は、実施形態に係る領域図形を示す図である。
図5に示すように、例えば、領域分割ID=0は、円形の領域図形501を表す。また領域分割ID=1は、四角形の領域図形501を表す。また領域分割ID=2は、六角形の領域図形503を表す。また領域分割ID=4は、五角形の領域図形504を表す。領域図形は、領域図形504のように凸図形でなくてもよい。また、適応閾値207を満たす領域や、ボロノイ分割により得られる領域等、領域分割手法を領域分割IDで定めてもよい。
【0088】
領域図形パラメータは、領域分割IDが示す領域図形のパラメータを含む。例えば、領域分割ID=0である円形の領域図形501用いた場合、領域図形パラメータ1に半径が格納される。円を特徴づけるパラメータは半径だけであるので、領域図形パラメータ2以降は“-”が格納される。領域分割ID=1の四角形の領域図形502を用いた場合、領域図形パラメータ1には各頂点の座標、領域図形パラメータ2には各辺の長さが格納される。
【0089】
適応閾値の列には、領域分割を行った際に用いられた適応閾値207が格納される。
【0090】
適応閾値207は、
図4Aに示すように、適応閾値及び条件が格納される。適応閾値は、条件に応じて異なる。条件を満たすかどうかは、状態や行動等が含まれるシミュレーション制御情報や実適用制御情報から判断される。例えば
図4Aに示す条件1の列と条件2の列には、それぞれ条件が設定されており、その条件を満たしている場合はTrueが、満たさない場合はFalseが格納される。例えば、条件には「方策適用領域がタスク傾向空間に5個以上あるか」等がある。適応閾値207には、2つの条件を例示するが、条件の数は2つに限定されない。
【0091】
条件は、ドメイン知識によって予め定められていてもよいし、可変であってもよい。また、適応閾値207のようにテーブル形式で管理せず、適応閾値が可変であってもよい。
【0092】
シミュレーション制御情報209は、
図4Bに示すように、履歴データ214と同様に、タスクID、状態、行動、及び報酬を含む。なおシミュレーション制御情報209と実適用制御情報210は、同一の構成である。
【0093】
シミュレーション制御情報209は、状態として、画像情報を格納してもよい。また、行動順序が制御情報としての意味を持たず、最終的な状態と報酬のみが重要であるような問題設定に対しては、行動による状態や報酬の遷移を含めず、最終的な状態と報酬のみを制御情報として格納してもよい。
【0094】
シミュレーション制御情報209及び実適用制御情報210は、運用時に検討しているある1つのタスクに対する情報のみを格納するベクトルを意味する。履歴や別タスクの制御情報はここに格納しないものとする。
【0095】
適応値セット211は、
図4Cに示すように、方策ID、シミュレーション制御情報フラグ、及び適応値を格納する。シミュレーション制御情報フラグは、シミュレーション制御情報から適応値を算出した場合にTrue、実適用制御情報から適応値を算出した場合にFalseが格納される。なおシミュレーション制御情報フラグだけでなく、実適用制御情報フラグを加えて表現しても良い。
【0096】
射影情報215は、
図4Dに示すように、タスクID及び射影先座標を含む。例えば、次元圧縮部112において、タスクが2次元に次元圧縮された場合は、射影先座標1はx軸、射影先座標2はy軸と同義である。
【0097】
履歴データ生成パラメータ216は、
図4Eに示すように、開始ステップ、終了ステップ、及びインターバルを含む。履歴データ214は、開始ステップから終了ステップまで、インターバル毎に格納される。
【0098】
開始ステップ及び終了ステップは、非負値で、最初の要素から数えて何番目かを示す。開始ステップ及び終了ステップは、負値で、最後の要素から数えて何番目かを示す。例えば、開始ステップが0、終了ステップが-1、インターバルが5の場合、最初のステップから最後のステップまでを5ステップ毎に履歴データ214に格納することを示す。開始ステップが-5、終了ステップが-1、インターバルが1の場合、最後から数えて5番目のステップから最後のステップまでの1ステップずつを履歴データ214に格納することを示す。
【0099】
表示軸情報217は、可視化部120において、環境情報200とKPI重み情報202を軸とする高次元のタスク空間を2次元もしくは3次元空間に射影する射影空間の座標軸を指定するパラメータを含む。
【0100】
表示軸情報217は、
図4Fに示すように、2次元空間を用いる場合は、X軸、Y軸、及びZ軸の3軸のうちで削除する次元の座標軸に、該当の入力がないことを意味する“-”を入力する。表示軸情報217では、環境情報200やKPIセット201の一部を軸として選択しているが、ドメイン知識により算出される指標等、人間が理解しやすい軸を設定してもよい。
【0101】
(実施形態に係る方策マネジメント処理)
図6は、実施形態に係る方策マネジメント処理を示すフローチャートである。方策マネジメント処理は、方策を事前準備する際、又は方策を選択する運用時に、オペレータの指示に応じて実行される。
【0102】
先ずステップS103では、タスク傾向空間射影部103は、タスク傾向空間射影処理を実行する。
【0103】
ステップS103内のステップS110では、タスク設定部110は、タスク設定処理を実行する。タスク設定処理では、タスク設定部110は、環境情報200とKPI重み算出パラメータ205からKPIセット201に格納されている各KPIに対する評価重みを算出する。タスク設定処理の詳細は、
図7を参照して後述する。
【0104】
次にステップS103内のステップS111では、履歴データ生成部111は、履歴データ生成処理を実行する。履歴データ生成処理では、履歴データ生成部111は、環境情報200、KPIセット201、及びKPI重み情報202を用いてタスクが定義される。そして定義したタスクに対して評価用方策を用いて、状態遷移、行動、及び報酬を取得し、履歴データ214として格納される。履歴データ214は、環境情報200、及びKPI重み情報202を含んでもよいし、強化学習で得られるその他の情報を含んでいてもよい。履歴データ生成処理の詳細は、
図8を参照して後述する。
【0105】
次にステップS103内のステップS112では、次元圧縮部112は、履歴データ生成処理を実行する。次元圧縮処理では、次元圧縮部112は、環境情報200、KPI重み情報202、及びタスクから得られる履歴データ214を用いて、タスク空間の次元圧縮を実行し、次元圧縮したタスク空間をタスク傾向空間上に射影する。次元圧縮処理の詳細は、
図9を参照して後述する。
【0106】
次にステップS113では、方策割当部113は、方策割当処理を実行する。方策割当処理の詳細は、
図10を参照して後述する。
【0107】
次にステップS114では、シミュレーション部114は、シミュレーション処理を実行する。シミュレーション処理の詳細は、
図11を参照して後述する。
【0108】
ステップS115では、実適用部115は、実適用処理を実行する。実適用処理の詳細は、
図12を参照して後述する。なおステップS114とステップS115は、実行順序が前後してもよいし、並列に実行されてもよい。
【0109】
ステップS114及びS115が終了するとステップS116では、適応値算出部116は、適応値算処理を実行する。適応値算処理の詳細は、
図13を参照して後述する。
【0110】
次にステップS116が終了するとステップS104では、タスク傾向空間調整部104は、タスク傾向空間調整処理を実行する。
【0111】
ステップS104内のステップS117では、タスク定義更新部117は、システム利用が運用時である場合にタスク定義更新処理を実行し、システム利用が事前準備時である場合にはタスク定義更新処理の実行がスキップされる。タスク定義更新処理では、タスク定義更新部117は、シミュレーション制御情報209、実適用制御情報210、適応値セット211、及びKPI重み算出パラメータ205を取得し、それぞれの適応値の大小関係に応じてKPI重み情報202の調整を行う。タスク定義更新処理の詳細は、
図14を参照して後述する。
【0112】
次にステップS104内のステップS118では、方策領域分割部118は、方策領域分割処理を実行する。方策領域分割処理では、方策領域分割部118は、適応値セット211、適応閾値207、方策適用領域パラメータ206、及び射影情報215を取得し、それぞれの適応値の大小関係や閾値に応じて、タスク傾向空間上の方策適用領域を分割する。方策領域分割処理の詳細は、
図15を参照して後述する。
【0113】
次にステップS104内のステップS119では、タスク傾向空間更新部119は、システム利用が運用時である場合にタスク傾向空間更新処理を実行し、システム利用が事前準備時である場合にはタスク傾向空間更新処理の実行がスキップされる。タスク傾向空間更新処理では、タスク傾向空間更新部119は、適応値セット211、領域再生成閾値208、方策適用領域パラメータ206、タスク傾向空間生成パラメータ212、及び射影情報215を取得する。そして、それぞれの適応値の大小関係や閾値に応じて、タスク傾向空間の再生成を行う。タスク傾向空間更新処理の詳細は、
図16を参照して後述する。
【0114】
(実施形態に係るタスク設定処理)
図7は、実施形態に係るタスク設定処理(ステップS110(
図6))を示すフローチャートである。
【0115】
先ずステップS110aでは、タスク設定部110は、環境情報200とKPI重み算出パラメータ205を取得する。次にステップS110bでは、タスク設定部110は、KPIセット201に格納されている各KPIに対する重みを、KPI重み算出パラメータ205を有したモデルによって算出する。
【0116】
ステップS110bでのモデルは、ルールによって構成されていてもよいし、機械学習モデルによって表現されるものでもよい。例えば、ルールによるモデルである場合、モデルは環境情報200の各値に対してKPIの重みを定めるものである。モデルは、関数の形で表現されていてもよいし、If-thenの形で表現されていてもよい。機械学習モデルの場合、環境情報200を入力とし、各KPIの重みを出力とするモデルを学習させて用いる。
【0117】
次にステップS110cでは、タスク設定部110は、ステップS110bで算出された結果をKPI重み情報202に格納する。
【0118】
(実施形態に係る履歴データ生成処理)
図8は、実施形態に係る履歴データ生成処理(ステップS111(
図6))を示すフローチャートである。
【0119】
先ずステップS111aでは、履歴データ生成部111は、環境情報200、KPI重み情報202、及び評価用方策203を取得する。次にステップS111bでは、履歴データ生成部111は、環境情報200とKPI重み情報202からタスクを定義し、評価用方策203を用いて、状態と行動と報酬を取得する。なおステップS111bでは、一つのタスクに対して、一つのタスクを用いても複数の評価用方策203を用いても何れでもよい。
【0120】
次にステップS111cでは、履歴データ生成部111は、ステップS111bで取得した状態、獲得、報酬、及び行動のデータセットを履歴データ214に格納する。なおステップS111cでは、タスクの始まりから終了までの1エピソード分の履歴データ214を分割し、複数の履歴データ214として扱ってもよい。例えば、任意の数ステップ分の状態・行動・報酬履歴を用いる、数ステップごとの状態・行動・報酬履歴を用いる等である。ステップ数は履歴データ生成パラメータ216より取得され、所定の設定ファイル(付図示)やデータ入出力部101を介して格納される。
【0121】
(実施形態に係る次元圧縮処理)
図9は、実施形態に係る次元圧縮処理(ステップS112(
図6))を示すフローチャートである。
【0122】
先ずステップS112aでは、次元圧縮部112は、データ記憶装置602から履歴データ214を取得する。
【0123】
次にステップS112bでは、次元圧縮部112は、現在のシステム利用が事前準備時及び運用時の何れであるかを判定する。事前準備時及び運用時の何れであるかを定める方法は、プログラム実行時のコマンドライン引数による指定や、データ入出力部101を介した指定等がある。また、設定ファイルに記載する手法でもよいし、システム時間を利用して定期的に自動で切り替えてもよい。
【0124】
次元圧縮部112は、現在のシステム利用が事前準備時である場合にステップS112cに処理を移し、運用時である場合にステップS112eに処理を移す。
【0125】
ステップS112cでは、次元圧縮部112は、複数のタスクから得られる複数の履歴データ214を用いて、次元圧縮モデルを学習する。次にステップS112dでは、次元圧縮部112は、ステップS112cで学習した次元圧縮モデルのパラメータをタスク傾向空間生成パラメータ212に格納する。次元圧縮部112は、ステップS112dが終了すると、ステップS112fに処理を移す。
【0126】
ステップS112eでは、次元圧縮部112は、事前準備の際のステップS112dで格納したタスク傾向空間生成パラメータ212を取得する。そして次元圧縮モデルと、環境情報200、KPI重み情報202、及び履歴データ214を用いて、タスク空間をタスク傾向空間上に射影する。次元圧縮部112は、ステップS112eが終了すると、ステップS112fに処理を移す。
【0127】
ステップS112fでは、次元圧縮部112は、ステップS11eにおけるタスク傾向空間上での射影先の座標をデータ記憶装置602の射影情報215に格納する。
【0128】
(実施形態に係る方策割当処理)
図10は、実施形態に係る方策割当処理(ステップS113(
図6))を示すフローチャートである。
【0129】
先ずステップS113aでは、方策割当部113は、データ記憶装置602に格納されている射影情報215からタスク傾向空間上の射影先の座標を取得し、方策適用領域パラメータ206及び方策セット204を取得する。
【0130】
次にステップS113bでは、方策割当部113は、ステップS113aで取得した、射影先の座標が、方策適用領域パラメータ206で表される何れかの方策適用領域に含まれているかを判定する。方策割当部113は、射影先の座標が何れかの方策適用領域に含まれている場合にステップS113cに処理を移し、含まれない場合にステップS113dに処理を移す。
【0131】
ステップS113cでは、方策割当部113は、射影先の座標が含まれている方策適用領域パラメータ206の方策適用領域に割り当てられている方策IDを方策セット204から取得し、適用方策213に格納する。
【0132】
一方ステップS113dでは、方策割当部113は、方策セット204に含まれている方策のうち、一般方策フラグがTrueのものを選択し、適用方策213に格納する。
【0133】
図11は、実施形態に係るシミュレーション処理(ステップS114(
図6))を示すフローチャートである。
【0134】
先ずステップS114aでは、シミュレーション部114は、環境情報200、KPIセット201、KPI重み情報202、及び方策割当部113によって格納された適用方策213を取得する。
【0135】
次にステップS114bでは、シミュレーション部114は、タスクIDと適用方策213を用いてシミュレーションを実行し、得られた状態、行動、及び報酬等をシミュレーション制御情報209に格納する。
【0136】
ステップS114bでシミュレーション制御情報209に格納される情報は、以降の適応値算出部116又はタスク定義更新部117で利用される何れの情報でもよい。例えば、適応値算出部116又はタスク定義更新部117にて報酬のみが利用される場合は、実適用制御情報210に報酬のみが格納されてもよい。
【0137】
図12は、実施形態に係る実適用処理(ステップS115(
図6))を示すフローチャートである。
【0138】
先ずステップS115aでは、実適用部115は、環境情報200、KPIセット201、KPI重み情報202、及び方策割当部113で格納された適用方策213を取得する。
【0139】
次にステップS115bでは、実適用部115は、タスクID、適用方策213を実システムに実適用させた際に得られるエージェントの状態、行動、及び報酬を実適用制御情報210に格納する。
【0140】
ステップS115bで実適用制御情報210に格納される情報は、以降の適応値算出部116又はタスク定義更新部117で利用される何れの情報でもよい。例えば、適応値算出部116又はタスク定義更新部117にて報酬のみが利用される場合は、実適用制御情報210に報酬のみが格納されてもよい。
【0141】
なお実適用部115は、タスクID、適用方策213を実システムに実適用させてエージェントの状態、行動、及び報酬を取得するのに代えて、ステップS114でシミュレーション部114により取得された制御情報に対するユーザが調整した結果を制御情報として取得してもよい。このケースは、後述の実施例1に該当する。
【0142】
(実施形態に係る適応値算出処理)
図13は、実施形態に係る適応値算出処理(ステップS116(
図6))を示すフローチャートである。
【0143】
先ずステップS116aでは、適応値算出部116は、データ記憶装置602からシミュレーション制御情報209及び実適用制御情報210を取得する。
【0144】
次にステップS116bでは、適応値算出部116は、シミュレーション制御情報209に格納されている状態、行動、及び報酬に基づく適応値を算出する。また適応値算出部116は、実適用制御情報210に格納されている状態、行動、及び報酬に基づく適応値を算出する。
【0145】
次にステップS116cでは、適応値算出部116は、ステップS116bで算出された各適応値を、シミュレーション制御情報フラグを対応付けて、適応値セット211に格納する。
【0146】
適応値は、獲得報酬やタスク成功率等が指標の例として挙げられるが、方策を評価できるものであれば何れでもよい。例えば、適応値には、獲得報酬とタスク成功率との重み付き和を用いてもよいし、数エピソード分のみ強化学習を行った際の獲得報酬の変位に基づく算出値でもよい。
【0147】
(実施形態に係るタスク定義更新処理)
図14は、実施形態に係るタスク定義更新処理(ステップS117(
図6))を示すフローチャートである。タスク定義更新処理は、システム利用が運用時のときに実行され、事前準備時では実行がスキップされる。
【0148】
先ずステップS117aでは、タスク定義更新部117は、KPI重み算出パラメータ205、シミュレーション制御情報209、実適用制御情報210、及び適応値セット211を取得する。
【0149】
次にステップS117bでは、タスク定義更新部117は、適応値セット211を参照し、シミュレーション制御情報209の適応値と実適用制御情報210の適応値の大小関係を比較する。タスク定義更新部117は、シミュレーション制御情報209の適応値が実適用制御情報210の適応値を上回っている場合にステップS117cに処理を移す。一方タスク定義更新部117は、シミュレーション制御情報209の適応値が実適用制御情報210の適応値以下である場合にタスク定義更新処理を終了し、ステップS118(
図6)に処理を移す。
【0150】
ステップS117cでは、タスク定義更新部117は、実適用制御情報210の適応値がシミュレーション制御情報209の適応値を上回るように、KPI重み算出パラメータ205を調整し、データ記憶装置602に格納する。
【0151】
次にステップS117dでは、タスク定義更新部117は、ステップS117cで更新後のKPI重み算出パラメータ205に基づいて算出された新たなKPI重み情報202を用いて、タスク傾向空間射影部103によってタスクの再射影を行う。
【0152】
(実施形態に係る方策領域分割処理)
図15は、実施形態に係る方策領域分割処理(ステップS118(
図6))を示すフローチャートである。
【0153】
先ずステップS118aでは、方策領域分割部118は、データ記憶装置602から、方策セット204、適応閾値207、及び適応値セット211を取得する。
【0154】
次にステップS118bでは、方策領域分割部118は、与えられた最新のタスクに対する方策セット204内の全ての方策の適応値を適応値セット211から取得する。
【0155】
次にステップS118cでは、方策領域分割部118は、ステップS118bで取得した全ての方策の適応値が適応閾値207の閾値を下回っているかどうかを判定する。方策領域分割部118は、全ての方策の適応値が適応閾値207の閾値を下回っている場合にステップS118dに処理を移し、適応閾値207の閾値以上となる方策の適応値が存在する場合にステップS118eに処理を移す。
【0156】
ステップS118dでは、方策領域分割部118は、適応閾値207以上となるように新たな方策を学習させ、新たな方策が新たに分割によって適応可能な領域を生成するように方策適用領域パラメータ206を更新し、データ記憶装置602に格納する。
【0157】
一方ステップS118eでは、方策領域分割部118は、最も適応値の高かった方策の方策適用領域を、与えられた最新のタスクのタスク傾向空間上の位置座標をもとに更新する。
【0158】
図16は、実施形態に係るタスク傾向空間更新処理(ステップS119(
図6))を示すフローチャートである。タスク傾向空間更新処理は、システム利用が運用時のときに実行され、事前準備時では実行がスキップされる。
【0159】
先ずステップS119aでは、タスク傾向空間更新部119は、データ記憶装置602から、方策適用領域パラメータ206及び射影情報215を取得する。
【0160】
次にステップS119bでは、タスク傾向空間更新部119は、現在のタスク傾向空間上の方策適用領域の数が領域再生成閾値208を超えているかどうかを判定する。タスク傾向空間更新部119は、現在のタスク傾向空間上の方策適用領域の数が領域再生成閾値208を超えている場合にステップS119cに処理を移し、超えていない場合にタスク傾向空間更新処理を終了する。
【0161】
ステップS119cでは、タスク傾向空間更新部119は、タスク傾向空間上の方策適用領域が領域再生成閾値208以下となるようにタスク傾向空間の再生成を行い、タスク傾向空間生成パラメータ212を更新し、格納する。タスク傾向空間の再生成とは、タスク傾向空間射影処理(ステップS103(
図6))を再度実行することである。
【0162】
なお
図19を参照して後述するように、KPI重み情報202の更新前後で2つのタスクの距離が閾値を超えた場合にも、この2つのタスクの距離が閾値以下となるようにタスク傾向空間の再生成を行ってもよい。
【0163】
(実施形態に係る可視化処理)
図17は、実施形態に係る可視化処理を示すフローチャートである。可視化処理は、オペレータ指示に応じて可視化部120によって実行される。
【0164】
先ずステップS120aでは、可視化部120は、データ記憶装置602から、方策適用領域パラメータ206、射影情報215、環境情報200、KPIセット201、KPI重み202、適応値セット211、及び表示軸情報217を取得する。
【0165】
次にステップS120bでは、可視化部120は、方策適用領域パラメータ206、及び射影情報215をもとに、方策の割り当て領域とタスクの座標を出力装置605の表示部(不図示)に表示する。
【0166】
次にステップS120cでは、可視化部120は、環境情報200及びKPIセット201のうち2変数もしくは3変数を表示軸情報217により選択して、出力装置605の表示部(不図示)における可視化を行う。
【0167】
ここでタスク空間の表示軸情報217は予め入力させておいてもよいし、データ入出力部101を介して指定されてもよい。この際、環境情報200及びKPIセット201のうち何れの変数の組み合わせを選んでもよいし、別の組み合わせによる複数の2次元空間もしくは3次元空間を全て可視化してもよい。また、環境情報200やKPIセット201に限らず、ドメイン知識を利用して、人間にとって理解しやすい軸を新たに選択してもよい。
【0168】
図18は、実施形態に係るタスク傾向空間生成処理/方策領域分割処理を説明するための図である。
【0169】
図18において、タスク傾向空間射影
図2100は、タスク傾向空間射影部103及び方策領域分割部118の処理機能を表す。座表軸2103,2104で構成されるタスク空間2012上に、タスク2105,2106が存在している。タスク傾向空間射影部103のタスク傾向空間生成プロセス2113によって、次元圧縮器2107を用いて評価用方策203を適用し、タスク空間2012をタスク傾向空間2108上に射影する。
【0170】
タスク傾向空間2108は、座標軸2111,2112で構成される。タスク空間2012上のタスク2105,2106は、タスク傾向空間生成プロセス2113によって、タスク傾向空間2108上のタスク2109,2110に射影されている。
【0171】
なおタスク空間2102は、実際は高次元空間のため、正確には可視化を行うことはできないため、座表軸2103のように破線で書かれた軸のように他にも軸がタスク空間上に存在していることを意味している。
【0172】
図18に示すタスク傾向空間2114は、方策適用領域が分割される前のタスク傾向空間である。タスク2115は、現在のタスクである。方策適用領域2116は、タスク2118で学習した方策が割り当てられる方策適用領域である。方策適用領域2117は、タスク2119で学習した方策が割り当てられる方策適用領域である。一点鎖線、破線、及び点線のように、異なる線種で囲まれる領域は、それぞれ異なる方策適用領域であり、同一線種で囲まれる領域は同一の方策適用領域である。
【0173】
図18に示すタスク傾向空間2114では、タスク2115は、タスク傾向空間2114において何れの方策適用領域にも適応しないため、方策領域分割部118による方策領域分割処理によって、一般方策が割り当てられている。
【0174】
図18に示すタスク傾向空間2120では、タスク2119で学習した方策との適応値が高い。このため、方策領域分割部118による方策領域分割処理によって、タスク2115の方策適用領域2123としてタスク2119で学習した方策の方策適用領域2117を割り当てられている。
【0175】
また
図18に示すタスク傾向空間2121では、タスク2118で学習した方策との適応値が高い。このため、方策領域分割部118による方策領域分割処理によって、タスク2115の方策適用領域2124としてタスク2118で学習した方策の方策適用領域2116が割り当てられている。
【0176】
また
図18に示すタスク傾向空間2122では、何れの既存の方策とも適応値が不十分であるため、方策領域分割部118による方策領域分割処理によって、タスク2115の方策適用領域2125として新たな方策が割り当てられている。
【0177】
図19は、実施形態に係るタスク傾向空間再生成を説明するための図である。
【0178】
図19に示すタスク傾向空間2201のように、同じ方策が割り当てられている領域同士が接していない飛地(タスク傾向空間2201中の破線の領域)が一定数を超えた場合等において、タスク傾向空間の再生成を行う。タスク傾向空間2202は、再生成後のタスク傾向空間を表している。
【0179】
また、KPI重み情報202の更新前はタスク傾向空間上の座標が近い複数のタスクが、KPI重み情報202の更新後にタスク傾向空間上で一定距離以上離れた場合に、タスク傾向空間の再生成を実行してもよい。
【0180】
例えば
図19の図表2203に示すように、KPI重み情報202の更新前のタスク2204がKPI重み更新後にタスク2206となり、KPI重み情報202の更新前のタスク2205がKPI重み情報の更新後にタスク2207になったとする。タスク2204とタスク2205は、環境情報が類似する複数のタスクである。KPI重み情報202の更新後の2つのタスク2206とタスク2207のタスク傾向空間上の距離が、領域再生成閾値208より大きい場合に、タスク傾向空間の再生成を行う。すなわち、それぞれのタスクのタスク傾向空間上の距離が領域再生成閾値208以下の近くになるようにする。図表2208は、再生成後のタスク傾向空間を表している。
【0181】
図20は、実施形態に係るタスク傾向空間の可視化を説明するための図である。
【0182】
図20における表示例2301は、タスク傾向空間によって方策が割り当てられている領域を可視化した例を示す。表示例2301では、タスク2302に対して、タスク2303で学習された方策適用領域2304に従って方策が割り当てられている。
【0183】
図20におけるタスク傾向空間2305は、タスク2302及びタスク2303に割り当てられている方策適用領域2304を領域分割し、タスク2302で学習された方策適用領域23041が新たに生成されたタスク傾向空間を表している。
【0184】
図20におけるタスク傾向空間2306は、タスク2302に、方策適用領域2304ではなく、タスク2314で学習された方策適用領域2315に従って他の方策が割り当てられるよう空間調整した後のタスク傾向空間を表している。
【0185】
図20における可視化表示2307は、可視化したタスク空間を表す。可視化表示2307におけるタスク空間2308は、高次元のタスク空間である。タスク傾向空間2309は、タスク空間2308を2軸毎に分けて分割した際の図を表している。
【0186】
図20における可視化表示2310は、GUI(Graphical User Interface)を介して、タスク傾向空間の情報を可視化する態様を示す図である。マウスポインタ2311をタスクにフォーカスしてクリックすると、該当のタスクの環境情報とKPIが表示される。
【0187】
可視化部120は、タスク空間の可視化表示2307やタスク傾向空間の可視化表示2310を用いて、タスク傾向空間の再生成時における変更点を表示可能であり、人間の方策適用領域の理解を支援する。変更点の表示によって、データ入出力部を介して人間が閾値を変更してもよい。
【0188】
また可視化部120は、タスク空間の可視化表示2307やタスク傾向空間の可視化表示2310を用いて、方策適用領域の更新時における変更点を表示可能であり、タスク傾向空間再生成時の変化を確認させる。タスク傾向空間の変化をもとに、データ入出力部101を介して人間がタスク傾向空間の再生成を取り消したり再々生成をシステムに要求したりしてもよい。
【0189】
(実施形態の効果)
強化学習において、環境情報とKPIが異なると別タスクになるため、タスクに対応する方策は膨大な数になる。本実施形態では、環境情報とKPIを座標軸とするタスクが分布するタスク空間を、次元を落とした部分空間であるタスク傾向空間に射影する。そして、各タスクに適用した場合の適合値が大きい方策に基づいてタスク傾向空間を方策適用領域に分割することで、タスクに対応する方策を絞り込んで、あらゆるタスクに対応することができる。
【実施例0190】
実施例1は、上述の実施形態に係る方策マネジメントシステム100を鉄道運転整理に適用した例である。
【0191】
本実施例では、様々な支障パターンに対して運転整理案を立案可能な方策が要求される。一方で、支障パターンや運転指令員によってKPIが変わることから、複数の方策をうまく切り替えて適用する必要がある。
【0192】
図21及び
図22は、実施例1に係る鉄道運転整理業務を説明するための図である。
図21は、鉄道運転整理における問題設定とタスクに関する図である。
【0193】
図21における図表2400は、鉄道運転のダイヤ2401を示す。図表2400において、ダイヤ2401では、縦軸2402を駅を離散的に表す軸とし、横軸2403を時間を表す軸としている。ダイヤ2401では、全ての列車の運行予定が表現されている。
【0194】
ダイヤ2401には、路線の両端のターミナル駅2404,2405、及び途中駅2406が示されている。ここでは簡単のため、途中駅2406は1つであるとしている。なお、駅数は3つに限定されない。列車によっては、途中で運行を取りやめ、ターミナル駅2404,2405でない駅が終点となる場合がある。
【0195】
ダイヤ2401には、ターミナル駅2405からターミナル駅2404に向かう上り列車2407が示されている。またダイヤ2401には、ターミナル駅2404からターミナル駅2405に向かう下り列車2408が示されている。ダイヤ2401において、列車の折り返し2409が示されており、列車が終点まで走行した後に上り列車から下り列車に、あるいは下り列車から上り列車に運用変更が行われる。
【0196】
図21における図表2410は、鉄道運転に支障が発生したときのダイヤ2401のダイヤ乱れを示す。図表2410では、図表2400と異なり、ダイヤの縦軸と横軸を省略している。以降、ダイヤの縦軸と横軸を省略する。図表2410には、支障2411、支障開始時刻2412、支障時間2413、及び支障駅間2414が環境情報200として含まれる。図表2410における実線は、時刻通りに運行している列車を示し、一点鎖線は支障2411によって時刻通りに運行できず遅延が生じている列車を表している。この遅延が生じている列車に対して運休等の運転整理を適切に行うことで、ダイヤ内の遅延時間が解消される。
【0197】
図21における図表2415は、鉄道運転整理における環境情報200を表す。環境情報200において、支障開始時刻は時刻形式で入力される必要はなく、例えばAM00:00を0秒とした、11時までの総秒数を時刻として入力されてもよい。支障時間についても分や秒といった単位を限定しない。支障駅間が0は、A駅からB駅の支障を表すものとし、支障駅間2はA駅からC駅の支障駅を表すものとする。図表2415の例のように、支障駅間に入力される情報は全てのパターンに対して一つIDを割り当てることで指定されてもよいし、支障駅IDをそれぞれ入力として与えられてもよい。
【0198】
本実施例のような鉄道運転整理の業務では、図表2415のような支障パターンを表す環境情報200と、図表2416のようなKPI重み202を用いてタスクを定義する。
【0199】
事前準備時では、予め様々なタスクに対して、方策を学習させ、学習した方策を評価用方策として用いる。方策の学習はタスクごとに行ってもよいし、複数のタスクに対して一つの方策を学習させてもよい。また、学習した方策ではなく、ルールベースの方策やランダムな方策であってもよい。
【0200】
支障の傾向や特徴に基づいて適用する方策を切り替えるため、タスク傾向空間射影部103を用いて、タスク傾向空間を生成する。タスク傾向空間上の方策適用領域を方策割当部113、シミュレーション部114、適応値算出部116、方策領域分割部118を用いて分割する。方策適用領域の分割のために使用するタスクは、事前準備時に学習したタスクであってもよいし、新たなタスクであってもよい。
【0201】
運用時は、実際の支障パターンの1つを、データ入出力部101を介して方策マネジメントシステム100に入力し、その情報をもとにタスク傾向空間射影部103によりタスク傾向空間上に射影する。方策割当部113により適用方策を定め、支障に対する運転整理案を立案する。
【0202】
図22は、本実施例の方策マネジメントシステム100の運用時を説明するための図である。
図22において、運転整理案2500は、方策マネジメントシステム100によって出力された方策である。方策マネジメントシステム100によって出力された方策のシミュレーションは、直ちには実行されず、運転整理案2500が人間に提示される。
図22の運転整理案2501は、運転整理案2500が人間によって修正された運転整理案である。運転整理案2501にダイヤが表示される列車2502は、人間によって修正された運転整理案2501のために運行時間が変更になった列車である。方策マネジメントシステム100によって出力された運転整理案2500は、必要に応じて人間によって修正され、最終的な運転整理案2501が決定される。
【0203】
方策マネジメントシステム100によって出力された運転整理案2500はシミュレーション制御情報209に格納され、人間によって修正された運転整理案2501が実適用制御情報210に格納される。
【0204】
運転整理問題においては、運転整理案2500,2501による最終的なダイヤが重要であり、列車の運休等の運転整理の順番は重要ではない。そのため、シミュレーション制御情報209や実適用制御情報210に格納する情報は、行動による状態や報酬の遷移を含まなくてもよい。
【0205】
本実施例では、シミュレーション制御情報209や実適用制御情報210に、運転整理終了時における各列車の遅延時間や路線情報、急行列車といった列車の情報等を状態として格納する。また運休等の運転整理を行動として格納し、遅延解消時間や運転整理に対するペナルティ等を報酬として格納する。
【0206】
支障に対する運転整理案を立案後は、支障パターンに対して、方策適用領域の更新を行う。鉄道運転整理では、方策を用いて立案された運転整理案を必要に応じて人間が修正し、最終的な運転整理を決定する。強化学習は、人間が優先するKPIをもとに報酬関数の設計をしている。通常は、人間により修正された運転整理案2501が格納される実適用制御情報210に基づく適応値は、方策マネジメントシステム100によって出力された運転整理案2500が格納されるシミュレーション制御情報209に基づく適応値を下回ることはない。
【0207】
実適用制御情報210の適応値がシミュレーション制御情報209を下回った場合は、環境外部の要因によってKPI重み情報202が変化したことが考えられる。環境外部の要因は、例えば、ユーザである運転整理員の交代や、大型商業施設等の設立に伴う乗客の変化数等である。タスク定義更新部117は、環境外部の要因によって生じうるKPI重み情報202の変化に、KPI重み算出パラメータ205を更新することで対応する。
【0208】
タスク定義更新部117は、人間によって修正された運転整理案2501の適応値が、方策マネジメントシステム100によって出力された運転整理案2500の適応値より大きくなるようにKPI重み算出パラメータ205を更新する。
図21の図表2416は、KPI重み算出パラメータ205の更新前のKPI重み情報202の例を示す。
図22の図表2503は、KPI重み算出パラメータ205の更新後のKPI重み情報202の例を示す。図表2503は、ダイヤの遅延解消よりも運休本数を減らすようにKPI重みが変化した例を示す。
【0209】
更新後のKPI重み202と、人間によって修正された運転整理案2501が格納される実適用制御情報210をもとに適応値算出部116で算出された適応値よりも適応値が高かった運転整理案2500の支障パターンをタスク傾向空間上に再射影する。
【0210】
シミュレーション制御情報209の適応値が適応閾値207よりも小さい場合、新たに方策適用領域を作成し、適応閾値207を超えるような方策を今の支障パターンに対して新たに学習させる。ここで、適応閾値207はあらかじめ定められた値でもよいし、実適用制御情報210の適応値をもとに算出してもよい。
【0211】
一方シミュレーション制御情報209の適応値が適応閾値207よりも大きい場合は、方策適用領域が機能しているとみなし、何も行わない。
【0212】
上記のような継続的な運用により、タスク傾向空間上において方策適用領域の飛地が
図19のタスク傾向空間2201のように増える。領域再生成閾値208の値を超えたとき、タスク傾向空間の再生成をシステムに要求しタスク傾向空間を作り直す。ここで、領域再生成閾値208は飛地の数を設定する。
【0213】
または、
図19のタスク2204とタスク2205のように、もともとは類似しタスク傾向空間上で近かったタスクが、KPI重み情報202の変化により
図19のタスク2206とタスク2207のように距離が離れた場合を考える。このとき、タスク傾向空間がタスクの傾向を捉えられなくなり、領域再生成閾値208の値を超える。このため、タスク傾向空間の再生成がシステムに要求され、タスク傾向空間が再作成される。ここで、領域再生成閾値208は、タスク傾向空間上のノルムを設定する。
【0214】
人間は、再生成前後のタスク傾向空間を、可視化部120を介して確認しながら、採用する再作成されたタスク傾向空間を決定してもよい。タスク傾向空間の採用は、領域再生成閾値208に従ってシステムによって決定されてもよい。
【0215】
図22の図表2504は、タスク空間を示す。図表2504では、表示軸情報217から選択された軸を座標軸にとり、座標軸で構成されるタスク空間において、どのタスクにどの方策が割り当てられているかを確認できる。
図22のタスク2505は、選択された2軸の座標情報に基づいてプロットされている。例えば、タスク2505は点線で描かれているが、同種の点線で描かれている方策適用領域2506内に含まれていた方策適用領域であり、タスク2507で学習した方策が適用されていることを意味する。枠線に限らず、各タスクに割り当てられている方策は、プロットされたタスク2505に色を付けたり、方策IDのラベルをつける等して表示されてもよい。
【0216】
図22の可視化
図2508は、タスク傾向空間上の方策適用領域を可視化した図を示す。可視化
図2508は、方策が適用される範囲を確認可能である。可視化
図2508内で用いられている点線と破線と一点鎖線はそれぞれ別の方策適用領域である。例えば、方策適用領域2506は、タスク2507に対して学習された方策の適用可能な領域の範囲を示す。可視化
図2508では、領域図形として全て四角形を用いているが、四角形に限らず任意の図形を使用可能である。
【0217】
方策領域分割部118やタスク傾向空間更新部119によってタスク傾向空間が調整されたとき、図表2504や可視化
図2508の可視化によって確認可能とすることで、人間がタスク傾向空間を見直したり、人間の方策適用領域の理解を支援したりできる。このとき、方策適用領域を定める適応閾値207を、ドメイン知識を活用して定めてもよい。
本実施例では、自動掃除業務を実施する自動掃除ロボットは、自動掃除業務を実施しるフロアのレイアウトやごみの位置等によって定まる様々なタスクに対して適用可能な方策が要求される。一方で、フロアのレイアウトや壁への衝突に対する評価がユーザによって変わることから、複数の方策のなかからユーザに適した方策に切り替えて適用する必要がある。
自動掃除ロボット2601の動作シミュレーション環境2604は、自動掃除ロボット2601の動作をシミュレーションする。実動作環境2605は、実際に自動掃除ロボット2601を走行させる環境である。自動掃除ロボット2601の行動は、フロア内をどのような経路で巡回するかを示す巡回戦略2607の選択結果に基づいて決まる。報酬や適応値は、各巡回戦略2607に従ってどれだけ走行できたか、ごみ2603をどれだけ収集できたか、障害物2602にどれだけ衝突しなかったか等に基づいて算出される。
自動掃除ロボット2601は、接触センサを備え、障害物2602に衝突した際に後退し方向転換する機能を有する。また自動掃除ロボット2601は、赤外線センサを備え、自動掃除ロボット2601に対する障害物2602の相対位置情報やごみ2603の収集量を観測できる。ただし、赤外線センサはノイズを含むため、誤差を含む。
自動掃除ロボット2601は、充電式であり、一定時間経過後あるいは残充電量が閾値を下回った場合に自動で給電箇所に戻る。ごみの吸引力を上げると、ごみをよく収集できるが、電池の消耗が激しくなる。一方で、ごみの吸引力を下げると、電池の消耗を抑え巡回できる時間は増加するが、一度で吸引できるごみの量は少なくなる。
事前準備時である製品出荷前は、予め様々な部屋の環境に対して、方策を学習させ、学習した方策を評価用方策として用いる。方策の学習はタスクごとに行ってもよいし、複数のタスクに対して一つの方策を学習させてもよい。また、学習した方策ではなく、ルールベースの方策やランダムな方策であってもよい。
自動掃除ロボット2601の使用時には、実際の部屋のレイアウトを、データ入出力部101を介して人間が入力し環境情報200に格納する。その情報をもとにタスク傾向空間射影部103により部屋の掃除のタスクをタスク傾向空間上に射影する。方策割当部113により適用方策を定め、シミュレーション上で巡回経路を決定する。
部屋のレイアウトの設定は、データ入出力部101を介して人間が入力しなくても、自動掃除ロボット2601のテスト走行によって得られるセンサ情報をもとに自動で定めてもよい。
方策マネジメントシステム100が動作シミュレーション環境2604上で出力した、行動と状態を含む走行軌跡や獲得報酬をシミュレーション制御情報209に格納する。また、実動作環境2605で方策を適用した際の走行軌跡や獲得報酬を実適用制御情報210に格納する。
ごみ2603の位置や、障害物2602の大きさや位置のずれ、地面との摩擦等の影響により生じる、シミュレーション制御情報209と実適用制御情報210との差分に基づいて、図表2609に示すKPI重み情報202を調整する。この際、取得したセンサ情報から、図表2608に示す環境情報200を更新してもよい。
シミュレーション制御情報209の適応値が適応閾値207よりも小さい場合、新たに方策適用領域を作成し、適応閾値207を超えるような方策を今の支障パターンに対して新たに学習させる。ここで、適応閾値207はあらかじめ定められた値でもよいし、実適用制御情報210の適応値をもとに算出してもよい。
事前準備時に分割された方策適用領域や、模様替え等によるレイアウト変更前の方策適用領域等の未使用度が、継続的な運用により領域再生成閾値208の値を超えたとき、タスク傾向空間の再生成をシステムに要求しタスク傾向空間を作り直す。ここで、領域再生成閾値208は、例えば、10回連続で方策適用領域が選ばれなかったかどうか等を設定する。
再生成前後のタスク傾向空間を、可視化部120を介して人間が確認し、タスク傾向空間の再生成を採用してもよいし、領域再生成閾値208に従ってシステムが決定してもよい。
運用時にタスクが変化し、これまで必要としていた方策が不要になるケースも考えられるが、本実施形態の方策マネジメントシステム100により、タスクの定義、方策適用領域、及びタスク傾向空間が適宜更新される。
以上、本願開示に係る実施形態について詳述したが、本願開示は上述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上述の実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また上述の各構成、機能部や処理部等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上述の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また上述の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また上述した方策マネジメントシステム100の各機能及びデータの配置形態は一例に過ぎない。各機能及びデータの配置形態は、ハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。