(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022080025
(43)【公開日】2022-05-27
(54)【発明の名称】計画作成装置、計画作成方法、およびプログラム
(51)【国際特許分類】
G06Q 10/06 20120101AFI20220520BHJP
G16Z 99/00 20190101ALI20220520BHJP
【FI】
G06Q10/06
G16Z99/00
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020190958
(22)【出願日】2020-11-17
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】加藤 利幸
(72)【発明者】
【氏名】伊藤 秀将
(72)【発明者】
【氏名】釜谷 幸男
(72)【発明者】
【氏名】湯浅 真由美
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA06
5L049DD02
(57)【要約】
【課題】従来より高速に計画を作成することができる計画作成装置、計画作成方法、およびプログラムを提供することである。
【解決手段】実施形態の計画作成装置は、作成更新部と、先読み計算部と、行動確率計算部と、シミュレーション部と、判定部とを持つ。作成更新部は、行動計画における各状態をノードに対応させた探索木の作成または更新を行う。先読み計算部は、行動選択とシミュレーションを交互に実行し、第1の状態から先の状態と報酬の先読み計算を行う。行動確率計算部は、先読み計算における行動の選択確率である行動確率を計算する。シミュレーション部は、行動確率に基づいて、先読み計算におけるシミュレーションを行う。判定部は、先読み計算の結果に応じて探索木を分岐させるか否かを判定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
行動計画における各状態をノードに対応させた探索木の作成または更新を行う作成更新部と、
行動選択とシミュレーションを交互に実行し、第1の状態から先の状態と報酬の先読み計算を行う先読み計算部と、
前記先読み計算における行動の選択確率である行動確率を計算する行動確率計算部と、
前記行動確率に基づいて、前記先読み計算におけるシミュレーションを行うシミュレーション部と、
前記先読み計算の結果に応じて探索木を分岐させるか否かを判定する判定部と、
を備える計画作成装置。
【請求項2】
前記行動確率計算部は、探索木の親ノードの状態に応じて選択可能な行動の候補を取得し、選択可能な行動に対して一様に分布した前記行動確率を出力し、
前記シミュレーション部は、前記行動確率からランダムに選択した行動にしたがって、状態のシミュレーションを行い、
前記先読み計算部は、複数先の状態までの状態シミュレーションを行う、
請求項1に記載の計画作成装置。
【請求項3】
重みの確率分布は、探索木のノードそれぞれに対して、複数の評価指標のバランスを表現し、
前記先読み計算部は、シミュレーションの結果を元に、行動が選択される場合に複数の報酬のバランスを推定し、
前記作成更新部は、行動の遷移先の子ノードに対して前記重みの確率分布を付与する、
請求項1に記載の計画作成装置。
【請求項4】
前記重み確率分布は、ディリクレ分布であり、
前記先読み計算部は、親ノードのディリクレ分布からサンプリングした複数の重みサンプルに対して、それぞれの行動を選択した場合に報酬の期待値が大きくなるかを計算し、行動ごとに割り当てられた複数の重みから子ノードのディリクレ分布のパラメータを最尤推定法で推定し、
前記作成更新部は、子ノードにディリクレ分布の確率分布を付与する、
請求項3に記載の計画作成装置。
【請求項5】
前記行動確率計算部は、事前に学習した方策関数を読み込み、探索木の親ノードの状態と前記重み確率分布からサンプリングした重みサンプルに応じて前記行動確率を計算し、
前記シミュレーション部は、前記先読み計算部によって前記行動確率の分布からのサンプリングにより選択された行動の先読みシミュレーションを行う、
請求項3に記載の計画作成装置。
【請求項6】
前記行動確率計算部は、グラフニューラルネットワークによってモデル化された方策関数を読み込み、計画作成を行うシステムの構造と探索木の親ノードの状態を表現するグラフ構造データを入力して行動確率を計算し、
前記シミュレーション部は、前記先読み計算部によって前記行動確率の分布からのサンプリングにより選択された行動の先読みシミュレーションを行う、
請求項5に記載の計画作成装置。
【請求項7】
前記先読み計算部は、複数先の状態までのシミュレーションを行う際、最初の行動をパレートUCB(Upper Confidence Bound)アルゴリズムにより選択する、
請求項3に記載の計画作成装置。
【請求項8】
前記判定部は、前記シミュレーションされた結果に応じて、探索木を分岐させた場合と探索木を分岐させない場合で得られる報酬の期待値を比較し、比較した結果、一定値以上が得られる場合に分岐させると判定し、
前記作成更新部は、判定された結果に応じて探索木を分岐させて更新する、
請求項3に記載の計画作成装置。
【請求項9】
作成された探索木を保存し、探索木のノードそれぞれに対して、当該ノードが最適な計画の一部として選択される到達確率を記憶する探索木記録部を更に備え、
前記判定部は、報酬の重みごとにノードに対する条件付き到達確率を計算し、いずれの重みにおいても前記到達確率の低いノードに対しては分岐を行わないと判定する、
請求項3に記載の計画作成装置。
【請求項10】
作成更新部が、行動計画における各状態をノードに対応させた探索木の作成または更新を行い、
先読み計算部が、行動選択とシミュレーションを交互に実行し、第1の状態から先の状態と報酬の先読み計算を行い、
行動確率計算部が、前記先読み計算における行動の選択確率である行動確率を計算し、
シミュレーション部が、前記行動確率に基づいて、前記先読み計算におけるシミュレーションを行い、
判定部が、前記先読み計算の結果に応じて探索木を分岐させるか否かを判定する、
計画作成方法。
【請求項11】
コンピュータに、
行動計画における各状態をノードに対応させた探索木の作成または更新を行わせ、
行動選択とシミュレーションを交互に実行し、第1の状態から先の状態と報酬の先読み計算を行わせ、
前記先読み計算における行動の選択確率である行動確率を計算させ、
前記行動確率に基づいて、前記先読み計算におけるシミュレーションを行わせ、
前記先読み計算の結果に応じて探索木を分岐させるか否かを判定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、計画作成装置、計画作成方法、およびプログラムに関する。
【背景技術】
【0002】
設備投資などの計画作成問題は、必要な要件を定式化し、最適化問題として解くことで、計画作成作業を自動化し、計画の品質を向上させることができる。現実の計画作成問題では、コスト、信頼度、納期など複数の評価指標を考慮することが求められる。これらの多くが相反の関係にあり、ある指標が優れた計画を選択するためには、他の指標を妥協しなければならないことが多い。
【0003】
複数の評価指標を考慮する必要がある場合は、事前に評価指標に重みを割り当て、重み付き和などで目的関数をスカラー化しなければ単純な最大化、最小化問題として取り扱うことができない。複数の評価指標の間の重要度は、事前に明確ではないことが多い。相反する複数の評価指標に対する解集合を求める枠組みとしてはパレート最適化が知られている。計画作成問題でパレート最適化を行う手法としては、多目的モンテカルロ木探索があるが、複雑な問題では効率的な行動選択ができず探索時間が膨大となる場合があった。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Weijia Wang, Michele Sebag、“Multi-objective Monte-Carlo Tree Search”、Asian Conference on Machine Learning、2012、PMLR 25:p507-522
【非特許文献2】Weizhe Chen, Lantao Liu、“Pareto Monte Carlo Tree Search for Multi-Objective Informative Planning”、Robotics: Science and Systems 2019
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、従来より高速に計画を作成することができる計画作成装置、計画作成方法、およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
実施形態の計画作成装置は、作成更新部と、先読み計算部と、行動確率計算部と、シミュレーション部と、判定部とを持つ。作成更新部は、行動計画における各状態をノードに対応させた探索木の作成または更新を行う。先読み計算部は、行動選択とシミュレーションを交互に実行し、第1の状態から先の状態と報酬の先読み計算を行う。行動確率計算部は、前記先読み計算における行動の選択確率である行動確率を計算する。シミュレーション部は、前記行動確率に基づいて、前記先読み計算におけるシミュレーションを行う。判定部は、前記先読み計算の結果に応じて探索木を分岐させるか否かを判定する。
【図面の簡単な説明】
【0007】
【
図1】実施形態に係る計画作成装置の構成例を示すブロック図。
【
図3】作成または更新される探索木の一例を示す図。
【
図4】実施形態に係る確率分布を付与するイメージ図。
【
図5】ディリクレ分布に従う報酬の重み分布の付与例を示す図。
【
図6】実施形態に係る先読み計算部が行う処理例を示す図。
【
図7】報酬の期待値による分岐の判定例を示すイメージ図。
【
図8】重みに対する条件付き到達確率による分岐の判定例を示す図。
【
図9】実施形態に係る計画作成装置が行う処理手順のフローチャート。
【
図10】実施形態に係る計画作成装置の構成例を示す図。
【発明を実施するための形態】
【0008】
以下、実施形態の計画作成装置、計画作成方法、およびプログラムを、図面を参照して説明する。以下、以下の説明では、計画作成装置が扱う処理として設備変更計画等の行動計画を例として説明する。なお、適用は、社会インフラシステム向けの設備変更計画問題に限るものではない。また、以下の例では、社会インフラシステムの一例として電力系統システムを例に説明するが、社会インフラシステムはこれに限らない。社会インフラシステムは、例えば、水道、ガス、道路、通信等のシステムであってもよい。
【0009】
図1は、本実施形態に係る計画作成装置の構成例を示すブロック図である。
図1のように、計画作成装置1は、情報処理部10、探索木記憶部12、設定部14、および表示部16を備える。情報処理部10は、シミュレーション部101、作成更新部102、判定部103、先読み計算部104、および行動確率計算部105を備える。
【0010】
設定部14は、例えば表示部16上に設けられているタッチパネルセンサ、キーボード、マウス、USB(Universal Serial Bus)等のデータ入出力端子等である。設定部14は、利用者が操作した操作結果と、利用者が入力したデータを取得し、取得した操作結果とデータを情報処理部10に出力する。操作結果には、例えば、計画作成のための各種条件が含まれる。データには、例えば電力系統システムの系統図のデータが含まれる。
【0011】
表示部16は、例えば液晶画像表示装置、有機EL(Electro Luminescence)画像表示装置等である。表示部16は、計画作成装置1が作成した探索木情報を元に計画案を表示する。なお、計画案は、情報処理部10が作成する。
【0012】
計画作成装置1は、複数の報酬のバランスを考慮してパレート解に対応する計画を立案して提示する。なお、パレート解とは、複数の目的関数同士のバランスが異なる解の集合である。
【0013】
情報処理部10は、計画の各状態をノードに対応させた探索木を作成し、各ノードに複数の報酬の重みの確率分布を付与し、報酬の重みの確率分布からサンプリングした重みを元に行動確率を計算することで、重要度のバランスの異なる複数の計画案を作成する。
【0014】
シミュレーション部101は、設定部14が取得した操作結果とデータを用いて、先読み計算におけるシミュレーション、すなわち第1の状態より先の状態のシミュレーションを行う。なお、シミュレーション部101は、例えば木構造型探索アルゴリズムを用いて先読み計算におけるシミュレーションを行う。シミュレーション部101は、例えば、電力潮流シミュレータを実行して系統の装置に対する負荷を計算する。また、シミュレーション部101は、例えば事前に決めた評価指標によってシステムの状態を評価し、報酬の期待値を計算する。
【0015】
作成更新部102は、行動計画における初期状態をノードに対応させた探索木の作成を行う。作成更新部102は、行動計画における各状態をノードに対応させた探索木の更新を行う。なお、作成される探索木については後述する。作成更新部102は、作成または更新した探索木情報を探索木記憶部12に記憶させる。計画における各状態は、例えば所定時間毎(例えば1年ごと)である。
【0016】
判定部103は、先読み計算の結果に応じて探索木を分岐させるか否かを判定し、判定結果を作成更新部102に出力する。判定部103は、探索木を分岐させた場合と、分岐させない場合を比較して、例えば効果が十分大きい場合のみ分岐を行う。または、判定部103は、複数の報酬の重みに対する到達確率に着目し、その最大値が一定以上の場合に分岐を行い、最大値が一定以上ではない場合に分岐を行わない。
【0017】
先読み計算部104は、行動選択とシミュレーションを交互に実行し、例えば第1の状態から先の状態の先読みと、報酬の先読みを行う。報酬の先読みでは、例えば強化学習で事前に学習した方策関数を利用する。先読み計算部104は、第1の状態より先の状態の重み重要度を計算または取得する。先読み計算部104は、先読みシミュレーション完了後、それぞれの行動について、その行動を選択した場合に報酬の重み付き和が最大となった重みサンプルの集合を確認する。先読み計算部104は、シミュレーションされた結果に基づいて、報酬の期待値を算出する。先読み計算部104は、先読みの結果を記録し、先読み試行表を作成する。先読み計算部104は、最初の行動選択ごとに報酬の期待値を計算し、個別報酬の期待値表を作成する。なお、先読み試行表、個別報酬の期待値表等については、後述する。
【0018】
行動確率計算部105は、先読み計算における行動の選択確率である行動確率を計算する。なお、行動確率とは、行動が選択される確率である。行動確率計算部105は、複数の評価指標のバランスに基づいて、探索木のノードによって表現されるシステムの状態に報酬の重みの確率分布を付与する。
【0019】
探索木記憶部12は、作成更新部102が作成した探索木情報を保存する。また、探索木記憶部12は、探索木のノードそれぞれに対して、複数の評価指標がどのような重みで考慮されるかを表現する重みの確率分布を記憶する。なお、報酬の重みの確率分布については後述する。
【0020】
ここで、行動計画を作成する電力系統システムの一例を説明する。
図2は、電力系統システムの一例を示す図である。図示する構造例は、バス1~バス4を含む。バス1とバス2の間には、220[kV]を110[kV]に変圧する変圧器が設けられている。バス2には、60[MW]の需要家が接続されている。バス2とバス3の間は、70[km]の電力線で接続されている。バス3には、発電機と、70[MW]の需要家が接続されている。バス2とバス4の間は、40[km]の電力線で接続されており、バス3とバス4の間は、50[km]の電力線で接続されている。バス4には、発電機と、10[MW]の需要家が接続されている。
【0021】
次に、作成または更新される探索木の一例を説明する。
図3は、作成または更新される探索木の一例を示す図である。探索木の各ノードは、対象とするシステムの状態に対応する。
計画作成を行うシステムのある時点での状態を第0状態(初期状態)S
t=0とすると、その時の状態は、探索木の根ノード(ルートノード)に対応する。
【0022】
第0状態(初期状態)S
t=0の時点で行動を行うと、第1状態S
t=1
n(nは1以上の整数)では、その行動に応じてシステムの状態が変化する。変化した後の状態は、探索木の子ノードとなる。
図3の例では、第0状態(初期状態)S
t=0で行動A
t=1
1を行う場合と、行動A
t=1
2を行う場合の二通りの行動がある。
【0023】
複数の行動の候補が考えられる場合は、選択する行動に応じて、遷移先の状態は異なるものとなる。探索木では、一つの親ノードが複数の子ノードを持つことで、これを表現する。例えば、第1状態St=1
2が親ノードの場合は、第2状態の状態St=2
2と状態St=2
3が子ノードである。
【0024】
第1状態S
t=1
nでは、それぞれの行動を行った後の状態として、状態S
t=1
1と状態S
t=1
2の二つのノードがある。また、
図3の例では、状態S
t=1
1からの行動は1つ(A
t=2
1)であり、状態S
t=1
2からの行動は2つ(A
t=2
2、A
t=2
3)である。
図3の例では、最終的に第0状態(初期状態)S
t=0のノードから第T状態までの一連の経路(tr1、tr2、…)それぞれが計画(プラン)に対応する。
【0025】
作成更新部102は、例えば、電力系統システムの系統図のデータに基づいて、第0状態を作成する。次にシミュレーション部101と先読み計算部104は、親ノードと子ノードそれぞれの報酬の重みの確率分布に基づいて、第0状態からの行動At=1
1を選択し、選択した行動を行った第1状態St=1
1をシミュレーションによって作成する。さらに、シミュレーション部101と先読み計算部104は、親ノードと子ノードそれぞれの報酬の重みの確率分布に基づいて、第0状態からの行動At=1
2を選択し、選択した行動を行った第1状態St=1
2をシミュレーションによって作成する。
【0026】
次に、作成更新部102は、第1状態St=1
1を選択する。シミュレーション部101と先読み計算部104は、行動At=2
1を行った第2状態St=2
1をシミュレーションによって作成する。作成更新部102は、第1状態St=1
2を選択する。シミュレーション部101と先読み計算部104は、行動At=2
2を行った第2状態St=2
2と、行動At=2
3を行った第2状態St=2
3とをシミュレーションによって作成する。このように、作成更新部102は、探索木の作成と更新を行っていく。
【0027】
次に、行動確率計算部105が行う処理例を説明する。
行動確率計算部105は、探索木のノードによって表現されるシステムの状態に、複数の評価指標がどのようなバランスの重みw∈R
≧0
D(R
≧0は0または正の実数の集合、Dは評価指標数)で考慮されているかを表す確率分布(以下、「報酬の重みの確率分布」または「重みの確率分布」ともいう。)を付与する。
図4は、本実施形態に係る確率分布を付与するイメージ図である。なお、
図4の確率分布の例は一例であり、これに限らない。また、評価指標は2つ以上であればよく、3つ以上であってもよい。なお、ここで説明した複数評価指標のバランスの重みwについては、大きい重みに対応する評価指標の方が小さい重みの指標よりも、行動選択に大きく影響を及ぼす、つまり重要性が高いことを示すことから、以降、各評価指標の重みwを「重み重要度」と呼ぶこともある。
【0028】
図4の例では、評価指標1と評価指標2の二つの指標を考慮して、探索を行った結果を示している。なお、評価指標は、例えば、コスト、信頼性等である。なお、初期状態である第0状態の重みの重要度の事前分布g11は、確率密度が一様であり、すなわち多様な重みwが均等な確率で考慮されている。
【0029】
先読み計算部104は、次の状態の重み重要度を計算または取得する。
判定部103は、先読み計算部104が計算した結果を集約し、二つの指標の重みのバランスによって、複数の行動の中からどの行動を選択する。判定部103は、例えば、第0状態から第1状態に遷移する場合、行動At=1
1を選択する方が良いか、行動At=1
2を選択する方が良いかを判定する。
【0030】
図4の例では、第1状態は状態S
t=1
1と状態S
t=1
2の2つある。状態S
t=1
1の重みの確率分布g12は、評価指標1より評価指標2の確率分布の値が大きく、すなわち評価指標1より評価指標2が重視される。状態S
t=1
2の重みの確率分布g13は、評価指標2より評価指標1の確率分布の値が大きく、すなわち評価指標2より評価指標1が重視される。
第0状態から状態S
t=1
1に到達する場合は、評価指標2を重視する重みが設定されている可能性が高い。同様に、第0状態から状態S
t=1
2に到達する場合は、評価指標1を重視する重みが設定されている可能性が高いと考えられる。
【0031】
判定部103は、例えば、評価指標2を重視する場合に行動At=1
1を選択し、評価指標1を重視する場合に行動At=1
2を選択する。判定部103は、評価指標の重みに応じた行動選択を行い、その結果を集約する。
これにより、実施形態によれば、第1の状態より先の状態に到達する際、複数の評価指標に対する重みがどのように設定されているか重みの確率分布として割り当てることで、複数の重みに対応した計画作成が容易となる。
【0032】
ここで、重みの重要度の確率分布の一例を説明する。
図4に示した重みの確率分布は、例えば複数の評価指標に対応する重みw∈R
≧0
Dがディリクレ分布に従うものであってもよい。
ディリクレ分布の確率密度関数pは、次式(1)で定義される。なお、以下の数式において、太字はベクトルを表す。
【0033】
【0034】
式(1)においてwは重みであり、α(∈R≧0
D)はパラメータであり、B(α)は次式(2)である。
【0035】
【0036】
式(2)において、Γはガンマ関数であり、Πは積である。
この場合、先読み計算部104は、親ノードのディリクレ分布からサンプリングした重みを元に先読みを行い、結果を集計する。その際、先読み計算部104は、サンプリングした重み毎に、どの行動を選んだ際に複数の報酬の重み付き和が最大となるかを記憶しておく。
【0037】
先読み計算部104は、先読みシミュレーション完了後、それぞれの行動について、当該行動を選択した場合に報酬の重み付き和が最大となった重みサンプルの集合を確認する。
【0038】
ここで、重み分布の付与について説明する。
図5は、ディリクレ分布に従う報酬の重み分布の付与例を示す図である。
先読み計算部104は、ディリクレ分布のパラメータを、例えば最尤推定法などによって推定する。先読み計算部104は、推定法として、例えばP.Minkaの手法(参考文献1)を用いる。確認した重みサンプルの集合もディリクレ分布に従うと仮定して、ディリクレ分布のパラメータα∈R
Dを推定する。さらに、先読み計算部104は、探索木の子ノードにおいて報酬の重みの分布が推定したパラメータのディリクレ分布に従うと仮定し、子ノードにこの確率分布を付与する。
【0039】
参考文献1;Thomas P. Minka、“Estimating a Dirichlet distribution”、2003、[検索2020.10.9]、インターネット<URL;https://tminka.github.io/papers/dirichlet/minka-dirichlet.pdf>
【0040】
まず、判定部103は、
図5のように、重み事前分布g11から、遷移先のノードごとに、評価指標2の重みの確率分布g21の場合に選択されるか、評価指標1の重みの確率分布g23の場合に選択されるかを判定する。先読み計算部104は、評価指標2の重みの確率分布g21をディリクレ分布で近似して、重みの確率分布g22のパラメータを推定する。先読み計算部104は、評価指標1の重みの確率分布g23をディリクレ分布で近似して、重みの確率分布g24のパラメータを推定する。
【0041】
次に、先読み計算部104が行う処理例を説明する。
図6は、本実施形態に係る先読み計算部104が行う処理例を示す図である。
シミュレーション部101は、複数先の状態までのシミュレーションを行う。先読み計算部104は、シミュレーションされた結果に基づいて、複数の報酬がそれぞれどれだけ得られるかを確認するために、次式(3)の報酬の期待値Q
dを算出する(g101)。
【0042】
【0043】
なお、
図6の式(3)は、3つ(3Steps)先までの報酬の期待値Q
dを計算する際に用いる式であり、
図6のg101は、2つの評価指標(d=1、2)に対して、3つの先の状態(P=3)まで先読みシミュレーションする場合である。また、式(3)において、dは評価指標を示し、AはS
tからS
t+1への行動を示し、A’はS
t+1からS
t+2への行動を示し、A’’はS
t+2からS
t+3への行動を示す。また、
図6において、actは行動を表す。
【0044】
次に、先読み計算部104は、先読みの結果を記録し、先読み試行表を作成する(表g102)。先読み計算部104は、作成した先読み試行表を自部に記憶してもよく、記憶しなくてもよい。
次に、先読み計算部104は、最初の行動選択ごとに報酬の期待値を計算し、個別報酬の期待値表を作成する(表g103)。なお、先読み計算部104は、選択行動ごとにQdの平均値を計算して報酬の期待値を計算する。
【0045】
なお、先読みを行う際の行動選択は、複数の方法がある。
例えば、第1の行動選択方法は、選択可能な行動をランダムに選択する。第2の行動選択方法は、強化学習で事前に学習した方策関数が示す行動確率に従って行動をサンプリングする。
【0046】
複数の評価指標を考慮する方策関数は、例えば次式(4)で表される。なお、式(4)は、状態S、報酬の重みwの時に、行動Aを選択する確率を表す。
【0047】
【0048】
この方策関数は、ニューラルネットワークによってモデル化できる。状態と報酬の重みの設定の組み合わせを広義の状態とみなすと、方策ベースの強化学習アルゴリズムによってモデルのパラメータを学習することができる。例えば、方策ベースの強化学習アルゴリズムとしては、S.Suttonらの方策勾配法などを用いる(参考文献2)。
【0049】
参考文献2;Richard S. Sutton, David McAllester, Satinder Singh, Yishay Mansour、“Policy Gradient Methods for Reinforcement Learning with Function Approximation”、[検索2020.10.9]、インターネット<URL; https://papers.nips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf>
【0050】
方策関数をモデル化するニューラルネットワークには、任意の構造を利用でき、例えば、全結合ニューラルネットワーク(マルチレイヤーパーセプトロン)を用いてもよく、グラフニューラルネットワークを用いてもよい。
【0051】
方策関数の入力は、状態Sを表現する特徴と報酬の重みwとなる。全結合ニューラルネットワークを用いる場合は、入力が、状態Sの特徴ベクトルと報酬の重みwの結合ベクトルとなる。グラフニューラルネットワークを用いる場合は、入力が、計画作成を行うシステムの構造と探索木の親ノードの状態Sを表現するグラフ構造データに報酬の重みwのデータを付与したものとなる。グラフニューラルネットワークを利用する場合は、例えば特開2019-204294号公報に記載の手法を利用してもよい。
なお、方策関数は、ニューラルネットワークの入力を、状態Sを表現する特徴のみとして、報酬の重みwに応じて複数のモデルを使い分けることで、式(2)の方策関数を実現してもよい。
【0052】
複数ステップ先までのシミュレーションを行う際は、最初の行動にパレートUCB(Upper Confidence Bound)アルゴリズムなどの着手選択アルゴリズムを利用するようにしてもよい。なお、パレートUCBアルゴリズムは複数の評価指標に対して着手選択を行うアルゴリズムであり、M.Druganらの手法を用いてもよい(参考文献3)。
なお、着手選択アルゴリズムとは、すでに探索した結果から高い報酬が得られそうと分かっている行動と、まだ探索が十分でない行動をバランス良く選択するアルゴリズムである。
【0053】
参考文献3;Madalina M. Drugan, Ann Nowe、“Designing multi-objective multi-armed bandits algorithms: a study”、The 2013 International Joint Conference on Neural Networks (IJCNN)、IEEE、2013、p2358-2365
【0054】
次に、判定部103が行う処理例を説明する。
選択可能な行動全てに対して探索木を分岐させていくと、ノードの数が膨大となり第T状態(
図3)まで探索を行うことができない場合がある。効果的な箇所でのみ探索木を分岐させる必要があるため、本実施形態では、判定部103が分岐判定を行う。
【0055】
探索木の分岐判定には複数の方法が考えられる。
第1の分岐判定方法は、探索木を分岐させた場合と、分岐させない場合を比較して、効果が十分大きい場合のみ分岐を行う。具体的には、先読み計算部104が、分岐させない場合の報酬の期待値と分岐させる場合の報酬の期待値をそれぞれ計算する。そして、判定部103は、分岐を行うことで期待値が向上し、期待値の差が事前に定めた閾値εより大きい場合のみ分岐を行うように判定する。これにより、効果的な箇所のみで分岐を行うことができる。
【0056】
報酬の期待値による分岐の判定の例を
図7に示す。
図7は、報酬の期待値による分岐の判定例を示すイメージ図である。
図7の例では、選択可能な行動として、行動A
1とA
2の二つがある例である。
【0057】
先読み計算部104は、親ノードからサンプリングした重みそれぞれについて、行動A1を選択した場合(A1のみにする場合)、行動A2を選択した場合(A2のみにする場合)、重みの確率分布に応じて最適な方を選択した場合(A1とA2に分岐させる場合)の3通りの報酬の期待値を計算する(表g112)。表g112において、w=(w1,w2)は、w1とw2それぞれの重みである。例えば、行動A1を選択した場合、先読み計算部104は、表g103のA1のQ1とQ2の値とw=(0.9,0.1)を用いて報酬の期待値を計算する。先読み計算部104は、重み毎の期待値の平均値を計算する。
【0058】
探索木を分岐させない場合は、重みによらず行動A2を選択すると報酬の期待値0.55が得られる。これに対して、探索木を分岐させて最適な行動を選択する場合は、報酬の期待値0.60が得られる。この例では、分岐を行うことによって報酬の期待値が0.05向上する。判定部103は、このスコア向上が閾値εよりも大きい場合(0.60-max(0.47,0.55)>ε)のみ分岐を行う。
【0059】
なお、判定部103は、選択可能な行動が3つ以上ある場合、どの2つの行動を選んで分岐させるかを選択してもよい。また、判定部103は、3つ以上の行動を重みに応じて選択し、3つの子ノードに分岐させるようにしても良い。
【0060】
第2の分岐判定方法は、複数の報酬の重みに対する到達確率に着目し、その最大値が一定以上の場合に分岐を行い、そうでない場合は分岐を行わない。複数の報酬の重みに対する到達確率を利用して分岐の判定を行う例を
図8に示す。
図8は、重みに対する条件付き到達確率による分岐の判定例を示す図である。なお、
図8は、t=2の分岐の判定を行う際、最多の場合3つの状態遷移先が想定されている状態を示している。
ここで、複数の報酬の重みに対する到達確率は、次式(5)で表される。
【0061】
【0062】
式(5)は、報酬の重みwが与えられた際、第t行動において、どの状態が選択されているかという確率を示している。この確率の示す値が、どのような重みに対しても低い場合、最適な計画に状態Stが含まれる可能性は低いと考えられるため、この状態に続くプランを探索する必要はないと考えらえる。このような場合、判定部103は、探索木を分岐させてこの状態を子ノードに追加しない。
なお、ベイズの法則により、複数の報酬の重みに対する到達確率は、次式(6)に従う。
【0063】
【0064】
式(6)において、p(St)は各ノード状態への到達確率であり、第0行動で設定した事前分布p(S0)を元に先読みシミュレーションによって推定できる。p(w|St)は、各状態に対応する報酬の重み分布であり、上述した確率分布の付与によって子ノードに付与される。
【0065】
結果的に式(6)の値は、想定される状態それぞれについてこれら二つの確率値を掛け合わせて、正規化したものとなる。なお、グラフg120は、第1行動における重みに対する条件付き到達確率を示している。ハッチング領域g121は状態St=1
1の条件付き到達確率を示し、ハッチング領域g122は状態St=1
2の条件付き到達確率を示している。グラフg130は、第2行動における重みに対する条件付き到達確率を示している。ハッチング領域g131は状態St=2
1の条件付き到達確率を示し、ハッチング領域g132は状態St=2
2の条件付き到達確率を示し、ハッチング領域g133は状態St=2
3の条件付き到達確率を示している。破線g134は閾値を示している。
【0066】
判定部103は、報酬の重み確率密度を考慮しつつ、最適な計画に含まれない行動を探索から除外する。例えば、評価指標がどのようなバランスで重視されても、例えば状態St=2
3に達しない、すなわち状態St=2
3の条件付き到達確率が閾値未満の場合に、判定部103は、分岐させないと判定する。
【0067】
次に、計画作成装置1が行う処理手順例を説明する。
図9は、本実施形態に係る計画作成装置1が行う処理手順のフローチャートである。
【0068】
設定部14は、操作結果とデータを取得することでシミュレーション条件を取得する。続けて、シミュレーション部101は、シミュレーション条件を設定する(ステップS1)。
【0069】
シミュレーション部101は、探索木、報酬の重み分布等を初期化する(ステップS2)。
【0070】
作成更新部102は、シミュレーションを行うノードを選択する(ステップS3)。
【0071】
シミュレーション部101と先読み計算部104は、K回(Kは1以上の整数)回の先読みシミュレーションとステップS5~S7の処理をk=1からKまで繰り返す(ステップS4)。
【0072】
先読み計算部104は、親ノードの報酬の重み分布から、重みをサンプリングする(ステップS5)。
【0073】
シミュレーション部101と先読み計算部104は、P状態先までの先読み処理とステップS7の処理をτ=t+1からt+Pまで繰り返す(ステップS6)。
【0074】
行動確率計算部105は、先読み計算における行動確率を計算する。続けて、シミュレーション部101と先読み計算部104は、先読み報酬のシミュレーションを行う(ステップS7)。
【0075】
判定部103は、探索木を分岐させるか否か、分岐させる場合にどのノードに分岐させるか判定する(ステップS8)。
【0076】
先読み計算部104は、子ノードの報酬の重みの確率分布を計算する。続けて、作成更新部102は、子ノードに確率分布を付与する(ステップS8)。
【0077】
作成更新部102は、シミュレーション対象の全てのノードの選択が終了したか否かを判定する(ステップS10)。作成更新部102は、全てのノードの選択が終了した場合(ステップS10;YES)、処理を終了する。作成更新部102は、全てのノードの選択が終了していない場合(ステップS10;NO)、ステップS3の処理に戻す。
【0078】
次に、計画作成装置1の具体的な構成例を説明する。
図10は、本実施形態に係る計画作成装置1の構成例を示す図である。
図10のように、情報処理部10は、例えば、表示部151、入力部152、通信部153、CPU(中央演算装置)154、メモリ155、および記憶部156を備える。表示部151、入力部152、通信部153、CPU(中央演算装置)154、メモリ155、および記憶部156は、バス157を介して接続されている。
【0079】
表示部151は、例えば液晶表示装置、有機EL表示装置等であり、例えば表示部16に対応する。
入力部152は、例えば、タッチパネルセンサ、キーボード、マウス等であり、例えば設定部14に対応する。
【0080】
通信部153は、LAN(Local Area Network)ボード等のネットワークインタフェースまたは無線ネットワーク回路等であり、CPU154の制御に応じて、例えば外部装置との通信を行う。
CPU154は、例えば情報処理部10に対応する。
【0081】
メモリ155は、例えば、RAM(Random Access Memory)とROM(Read only memory)を備える。
記憶部156は、例えばSSD((Solid State Drive)、またはHDD(Hard Disc Drive)を備え、例えば探索木記憶部12に対応する。また、記憶部156は、制御プログラムを記憶する。
なお、
図10に示した構成は一例であり、これに限らない。
【0082】
計画作成装置1または情報処理部10の機能の全てまたは一部は、例えばソフトウェア機能部であってもよい。
【0083】
以上説明した少なくともひとつの実施形態によれば、情報処理部10を持つことにより、従来より高速に計画を作成することができる。
【0084】
以上のように、本実施形態によれば、先読みに探索時において、適切な行動を選択することが難しいという従来の欠点を補って、重要度のバランスの異なる複数の計画案を高速に作成することができる。
また、本実施形態によれば、第1の状態より先の状態に到達する際、複数の評価指標に対する重みがどのように設定されているかを確率分布として割り当てるようにしたので、複数の重みに対応した計画作成が容易となる。
また、本実施形態によれば、報酬の重みの確率分布を考慮しつつ、最適な計画に含まれない行動を探索から除外することができる。
【0085】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0086】
1…計画作成装置、10…情報処理部、12…探索木記憶部、14…設定部、16…表示部、101…シミュレーション部、102…作成更新部、103…判定部、104…先読み計算部、105…行動確率計算部