(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-28
(45)【発行日】2023-05-11
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06N 3/082 20230101AFI20230501BHJP
G06N 3/04 20230101ALI20230501BHJP
G06N 3/092 20230101ALI20230501BHJP
G06N 20/00 20190101ALI20230501BHJP
【FI】
G06N3/082
G06N3/04
G06N3/092
G06N20/00
(21)【出願番号】P 2019027784
(22)【出願日】2019-02-19
【審査請求日】2021-09-22
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】伊藤 秀将
(72)【発明者】
【氏名】釜谷 幸男
【審査官】北川 純次
(56)【参考文献】
【文献】国際公開第2016/194248(WO,A1)
【文献】特開2017-182710(JP,A)
【文献】中島 功太ほか,深層強化学習を用いた無線LAN最適チャネル制御,電子情報通信学会技術研究報告,日本,2019年01月21日,Vol.118 No.428,p. 13-18
【文献】ZHANG, Ziwei, et al.,Deep Learning on Graphs: A Survey,arxiv.org [online],2018年12月11日,https://arxiv.org/pdf/1812.04202v1.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
ノード同士の接続関係を記述したグラフ構造のデータ
であって、実ノードが実エッジで接続されたグラフ構造のデータを取得するデータ取得部と、
前記データ取得部により取得されたグラフ構造のデータ
における前記実ノードと前記実エッジを共に想定ノードに置換し、接続関係にある想定ノード同士を接続すると共に、接続関係にある想定ノードのうち入力層側にある想定ノードの特徴量にグラフアテンションネットワークに基づく係数が乗算された値の合計が、出力層側にある想定ノードの特徴量として計算される第1のネットワークを設定する設定部と、
前記第1のネットワークにおいて、
前記想定ノードのうち入力層にある予め定められた一以上の評価対象ノード
に対応する出力層の特徴量
をシミュレータに入力した場合の報酬が大きくなるように、且つ、
前記想定ノードのうち入力層にある予め定められた一以上の被操作ノード
に対応する出力層の特徴量が、前記評価対象ノードの出力層の特徴量
をシミュレータに入力した場合の報酬が大きくなるように、
前記第1のネットワークのパラメータを導出する強化学習部と、
を備える情報処理装置。
【請求項2】
前記設定部は、評価対象ノードを複数備えるように前記第1のネットワークを設定し、 前記強化学習部は、前記複数の評価対象ノードのそれぞれの出力層における特徴量が、対応する複数の報酬のそれぞれに近づくように、前記第1のネットワークのパラメータを導出する、
請求項1記載の情報処理装置。
【請求項3】
前記強化学習部は、前記複数の評価対象ノードのそれぞれの出力層における特徴量について重要度を設定し、重要度の高い特徴量を優先的に報酬に近づけるように、前記第1のネットワークのパラメータを導出する、
請求項2記載の情報処理装置。
【請求項4】
前記設定部は、前記被操作ノードを複数備えるように前記第1のネットワークを設定し、
前記強化学習部は、前記複数の被操作ノードのそれぞれの出力層における特徴量が、前記複数の評価対象ノードのそれぞれの出力層における特徴量を報酬に近づける特徴量となるように、前記第1のネットワークのパラメータを導出する、
請求項1から3のうちいずれか1項記載の情報処理装置。
【請求項5】
前記設定部は、前記第1のネットワークの少なくとも一部と同形態である第2のネットワークを、前記第1のネットワークにおける前記出力層の評価対象ノードに連結させて設定し、
前記強化学習部は、前記第1のネットワークのパラメータと、前記第2のネットワークのパラメータとを同時に導出する、
請求項1から4のうちいずれか1項記載の情報処理装置。
【請求項6】
前記強化学習部は、前記被操作ノードの前記第1のネットワークにおける出力層の特徴量を、前記被操作ノードの前記第2のネットワークにおける出力層のノードから得られる報酬に近づけるように、前記第1のネットワークおよび前記第2のネットワークのパラメータを導出する、
請求項5記載の情報処理装置。
【請求項7】
コンピュータが、
ノード同士の接続関係を記述したグラフ構造
であって、実ノードが実エッジで接続されたグラフ構造のデータのデータを取得し、
前記取得されたグラフ構造のデータ
における前記実ノードと前記実エッジを共に想定ノードに置換し、接続関係にある想定ノード同士を接続すると共に、接続関係にある想定ノードのうち入力層側にある想定ノードの特徴量にグラフアテンションネットワークに基づく係数が乗算された値の合計が、出力層側にある想定ノードの特徴量として計算される第1のネットワークを設定し、
前記第1のネットワークにおいて、
前記想定ノードのうち入力層にある予め定められた一以上の評価対象ノード
に対応する出力層の特徴量
をシミュレータに入力した場合の報酬が大きくなるように、且つ、
前記想定ノードのうち入力層にある予め定められた一以上の被操作ノード
に対応する出力層の特徴量が、前記評価対象ノードの出力層の特徴量
をシミュレータに入力した場合の報酬が大きくなるように、
前記第1のネットワークのパラメータを導出する、
情報処理方法。
【請求項8】
コンピュータに、
ノード同士の接続関係を記述したグラフ構造
であって、実ノードが実エッジで接続されたグラフ構造のデータのデータを取得させ、
前記取得されたグラフ構造のデータ
における前記実ノードと前記実エッジを共に想定ノードに置換し、接続関係にある想定ノード同士を接続すると共に、接続関係にある想定ノードのうち入力層側にある想定ノードの特徴量にグラフアテンションネットワークに基づく係数が乗算された値の合計が、出力層側にある想定ノードの特徴量として計算される第1のネットワークを設定させ、
前記第1のネットワークにおいて、
前記想定ノードのうち入力層にある予め定められた一以上の評価対象ノード
に対応する出力層の特徴量
をシミュレータに入力した場合の報酬が大きくなるように、且つ、
前記想定ノードのうち入力層にある予め定められた一以上の被操作ノード
に対応する出力層の特徴量が、前記評価対象ノードの出力層の特徴量
をシミュレータに入力した場合の報酬が大きくなるように、
前記第1のネットワークのパラメータを導出させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、人工知能を産業領域に活用する試みが進められている。利用が検討されている人工知能技術は、ディープラーニングやその関連技術が多く、画像認識、故障解析、特性予測などに適用範囲が広がっている。
【0003】
人工知能を活用して、実システムあるいは、そのシミュレーション環境を対象として、その制御、運転を自動化しようとする試みもある。たとえば、自動運転などは大きな投資が行われている。ここでの人工知能は、強化学習と呼ばれる。強化学習では、システム、あるいはそのシミュレーション環境に対して、強化学習エージェントから、アクション(制御信号)が入力され、それに応じて、システムが状態を遷移する。そのシステム状態が強化学習エージェントに帰還され、帰還されたシステム状態に応じた評価関数(報酬値、あるいはペナルティなど)が計算される。その評価関数を最適にするべく、強化学習エージェントは学習ネットワークのパラメータを更新し、新たなアクションを生成する。ここでの学習ネットワークは主として、ディープラーニングがつかわれている。また、最近では、強化学習を、社会インフラシステム、たとえば、ビル空調管理や電力グリッド制御などに適用する事例も報告されている。これらの社会インフラシステムへの人工知能適用の取組は、今後、益々盛んになると予想されている。
【0004】
しかしながら、従来の強化学習は、典型的な全結合のニューラルネットワークを学習ネットワークとして採用しているため、制御対象の実際の状態に適切に追従できなかったり、処理負荷が過大になったりする場合があった。また、制御対象の設計変更に対して大規模な再学習が必要になる場合があった。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする課題は、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる情報処理装置、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【0007】
実施形態の情報処理装置は、データ取得部と、設定部と、強化学習部とを持つ。データ取得部は、ノード同士の接続関係を記述したグラフ構造のデータを取得する。設定部は、前記データ取得部により取得されたグラフ構造のデータを表す第1のネットワークを設定する。強化学習部は、前記第1のネットワークにおいて、評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、前記第1のネットワークのパラメータを導出する。
【図面の簡単な説明】
【0008】
【
図1】従来の考え方により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図。
【
図2】第1の実施形態の手法により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図。
【
図3】情報処理装置が係数α
i,jを決定する手法について説明するための図。
【
図4】第1の実施形態に係る情報処理装置1のブロック図。
【
図5】想定ノードANの種別の定義の一例を示す図。
【
図6】第2の実施形態の手法により、グラフ構造のデータ20から生成されたニューラルネットワークを示す図。
【
図7】対象データの変更によってニューラルネットワークが変更される様子を示す図。
【
図8】第2の実施形態に係る情報処理装置2のブロック図。
【
図9】第2の実施形態を電力送電配電網に適用する様子について説明するための図。
【
図10】変形例に係るニューラルネットワークの一例を示す図。
【
図11】第3の実施形態の情報処理装置3の概念図。
【
図12】第3の実施形態に係る強化学習部70が扱うネットワークの一例を示す図。
【
図13】第3の実施形態の適用例(その1)を示す図。
【
図14】第3の実施形態の適用例(その2)を示す図。
【
図15】第1シミュレーションと第2シミュレーションにおける電圧制御状態、すなわち価値関数を学習曲線として示す図。
【
図16】第4の実施形態に係る強化学習部70Bが扱うネットワークの一例を示す図。
【
図18】
図16に示す強化学習ネットワークにLSTMを適用した様子を示す図。
【
図19】第6の実施形態の情報処理装置6のブロック図。
【
図20】将来報酬ベクトルR
t+1を導出する様子の一例を示す図。
【
図21】報酬分配行列Dφを作成する様子の一例を示す図。
【
図22】報酬ベクトルR
tを導出する様子の一例を示す図。
【
図23】第6の実施形態の変形例が処理対象とするノードの状態変化の一例を示す図。
【
図24】結合グラフから報酬分配行列Dφを算出する手順の一例を示す図。
【
図25】報酬ベクトル(R
t,R
t+1)
Tを導出する様子の一例を示す図。
【発明を実施するための形態】
【0009】
以下、実施形態の情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。
【0010】
まず、情報処理装置が作成するニューラルネットワークの原理について説明する。
図1は、従来の考え方により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図である。
【0011】
図1の上図は、グラフ構造のデータを模式的に示している。図示の構成では、実ノードRN1~RN4が存在する。「実ノード」とは、後述する「想定ノード」と区別するための概念であり、情報処理装置が取得するグラフ構造のデータ(処理対象データ、元データ)におけるノードを意味する。このように、グラフ構造のデータは、少なくとも、ノード間の接続関係を記述したデータである。実ノードRN1は、特徴量h1を有しており、実ノードRN2は、特徴量h2を有しており、実ノードRN3は、特徴量h3を有しており、実ノードRN4は、特徴量h4を有している。特徴量は、例えばベクトルであるが、本明細書および図面では、スカラーとベクトルを表記上、区別していない。
【0012】
図1の上図において、実ノードRN1と実ノードRN2は、実エッジRE12で接続され、実ノードRN1と実ノードRN3は、実エッジRE13で接続され、実ノードRN1と実ノードRN4は、実エッジRE14で接続され、実ノードRN2と実ノードRN3は、実エッジRE23で接続されている。「実エッジ」とは、後述する「想定エッジ」と区別するための概念であり、情報処理装置が取得するグラフ構造のデータにおけるエッジを意味する。また、ここでの「接続されている」とは、互いの特徴量が、次の状態における双方の特徴量に影響を及ぼし合う関係を意味する。なお、この定義は無向グラフを前提としているが、有向グラフを扱う場合、「接続されている」とは、一方の特徴量が、次の状態における他方の特徴量に影響を及ぼす関係を意味する。
【0013】
図1の下図は、
図1の上図に示すグラフ構造のデータに基づいて生成されるニューラルネットワークの一例を示すものである。h
1#、h
2#、h
3#、h
4#のそれぞれは、実ノードRN1、RN2、RN3、RN4のそれぞれの特徴量の、中間第1層における特徴量である。図示するように、
図1の上図における実エッジREが、そのままニューラルネットワークの接続構造となっている。ここで、特徴量h
1#は、式(1)で表される。式中、α
1,1~α
1,4は、伝播度合いを示す係数である。このように、ある実ノードRNの第k層の特徴量は、接続関係にある他の実ノードRNおよびその実ノードRN自身のk-1層の特徴量に対して、それぞれ係数と伝播行列Wを乗算して合計することで求められる。伝播行列に関しては後述する。
h
1#=α
1,1・W・h
1+α
1,2・W・h
2+α
1,3・W・h
3+α
1,4・W・h
4 …(1)
【0014】
(第1の実施形態)
図2は、第1の実施形態の手法により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図である。図示するように、第1の実施形態の情報処理装置は、実ノードRNだけでなく、実エッジREを含めた想定ノードANを設定し、想定ノードANの第k-1層の特徴量を、接続関係にある他の想定ノードAN、およびその想定ノードAN自身の第k層の特徴量に伝播させるニューラルネットワークを生成する。kは1以上の自然数であり、k=0の層は、例えば入力層を意味する。
【0015】
情報処理装置は、例えば、式(2)に基づいて中間第1層の特徴量を決定する。なお、式(2)は、想定ノード(RN1)の中間第1層の特徴量h1#の計算手法に該当する。一例としてα1,12は、想定ノード(RN1)と想定ノード(RE12)の間の伝播度合いを示す係数である。想定ノード(RN1)の中間第2層の特徴量h1##は、式(3)で表される。中間第3層以降も順次、同様の規則で特徴量が決定される。
h1#=α1,1・W・h1+α1,12・W・h12+α1,13・W・h13+α1,14・W・h14 …(2)
h1##=α1,1・W・h1#+α1,12・W・h12#+α1,13・W・h13#+α1,14・W・h14# …(3)
【0016】
情報処理装置は、例えば、グラフアテンションネットワークに基づく規則で係数α
i,jを決定する。
図3は、情報処理装置が係数α
i,jを決定する手法について説明するための図である。情報処理装置は、伝播元の想定ノードRNiの特徴量hiに伝播行列Wを乗算して得られるベクトルWh
iと、伝播先の想定ノードRNjの特徴量hjに伝播行列Wを乗算して得られるベクトルWh
jとを結合したベクトル(Wh
i,Wh
j)を個別ニューラルネットワークa(アテンション)に入力し、出力層のベクトルをシグモイド関数、ReLU、softmax関数などの活性化関数に入力して正規化し、足し合わせることで、係数α
i,jを導出する。個別ニューラルネットワークaは、解析対象となる事象について予めパラメータ等が求められたものである。
【0017】
情報処理装置は、上記の規則に従いつつ、ニューラルネットワークの目的に沿うようにニューラルネットワークのパラメータ(W、αi,j)を決定する。ニューラルネットワークの目的とは、想定ノードANを現在の状態とした場合に将来の状態を出力することであったり、現在の状態を評価するための指標を出力することであったり、現在の状態を分類することであったりする。
【0018】
図4は、第1の実施形態に係る情報処理装置1のブロック図である。情報処理装置1は、例えば、データ取得部10と、ネットワーク処理部30と、出力部60とを備える。これらの機能部は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【0019】
データ取得部10は、例えば、外部装置からグラフ構造のデータ20を取得し、記憶部に記憶させる。記憶部は、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)、フラッシュメモリなどにより実現される。グラフ構造のデータ20は、例えば、
図1や
図2の上図に示すようなグラフ構造を、実ノードRNと実エッジREのそれぞれのレコードとして表現したデータである。また、グラフ構造のデータ20には、それぞれの実ノードRNの初期状態としての特徴量が付与されていてもよい。なお、実ノードRNの初期状態としての特徴量は、グラフ構造のデータ20とは別のデータセットとして用意されてもよい。データ取得部10は、外部装置からグラフ構造のデータ20を取得するのに代えて、予め記憶部に記憶されているグラフ構造のデータ20を取得する(読み出す)ものであってもよいし、利用者が入力デバイスを用いて入力したグラフ構造のデータ20を取得してもよい。
【0020】
ネットワーク処理部30は、例えば、実ノード・実エッジ隣接関係抽出部32と、想定ノードメタグラフ化部36と、メタグラフコンボリューション部40とを備える。
【0021】
実ノード・実エッジ隣接関係抽出部32は、グラフ構造のデータ20を参照し、隣接関係(接続関係)にある実ノードRNと実エッジREを抽出する。例えば、実ノード・実エッジ隣接関係抽出部32は、それぞれの実ノードRNおよび実エッジREについて、隣接関係(接続関係)にある実ノードRNまたは実エッジREを網羅的に抽出し、それらを対応付けた形で記憶部に記憶させる。
【0022】
想定ノードメタグラフ化部36は、実ノード・実エッジ隣接関係抽出部32により抽出された実ノードRNと実エッジREが接続されるように、想定ノードANの状態を層状に繋いだニューラルネットワークを生成する。この際に、想定ノードメタグラフ化部36は、前述したグラフアテンションネットワークに基づく規則に従いつつ、前述したニューラルネットワークの目的に沿うように、伝播行列Wおよび係数αi,jを決定する。
【0023】
メタグラフコンボリューション部40は、例えば、想定ノードANのうち実ノードRNの初期値としての特徴量をニューラルネットワークに入力し、各層の想定ノードANの状態(特徴量)を導出する。これを繰り返し実行することで、出力部60が想定ノードANの特徴量を外部に出力する。
【0024】
以上説明した第1の実施形態によれば、より幅広いニーズに対応することができる。
【0025】
(第2の実施形態)
以下、第2の実施形態について説明する。第2の実施形態において、情報処理装置は、想定ノードANの元となる実ノードRNと実エッジの少なくとも一方に対して種別を設定し(換言すると、想定ノードANに対して種別を設定し)、種別ごとに、係数を設定する際の規則を変更する。より具体的に、情報処理装置は、想定ノードANの種別ごとに、その想定ノードANから伝播する特徴量を規定する係数αi,jを決定するための伝播行列Wを異ならせる。
【0026】
図5は、想定ノードANの種別の定義の一例を示す図である。この例において、第2の実施形態の情報処理装置は、実ノードRNであった想定ノードに対してA、Bの二種類の種別を、実エッジREであった想定ノードに対してL、Tの二種類の種別を設定する。
図5の上図は、グラフ構造のデータ20の内容の一例を示し、
図5の下図は、実ノードRNと実エッジREを想定ノードANに変換した様子を模式的に示している。
種別が「A」である実ノードRN(A)は、種別が「L」である実エッジRE(L)のみが接続されたものである。
種別が「B」である実ノードRN(B)は、種別が「L」である実エッジRE(L)と種別が「T」である実エッジRE(T)との双方が接続されたものである。
種別が「L」である実エッジRE(L)と、種別が「T」である実エッジRE(T)は、自身に接続された実ノードRNの特徴量の伝播特性が互いに異なるものである。
A、B、L、Tに続く数字は、実ノードRN、実エッジRE、想定ノードANとしての識別子である。以下、A1、B1、L1、T2などの符号は、想定ノードANの識別子であると共に、それらの特徴量を示すものとする。
【0027】
図6は、第2の実施形態の手法により、グラフ構造のデータ20から生成されたニューラルネットワークを示す図である。ニューラルネットワークの生成規則に関しては第1の実施形態と同様であるが、第2の実施形態の情報処理装置は、想定ノードANの種別ごとに、その想定ノードANから伝播する特徴量を規定する係数α
i,jを決定するための伝播行列Wを異ならせる。具体的に、情報処理装置は、実ノードRN(A)であった想定ノードANから伝播する特徴量には伝播行列W
Aを適用し、実ノードRN(B)であった想定ノードANから伝播する特徴量には伝播行列W
Bを適用し、実エッジRE(L)であった想定ノードANから伝播する特徴量には伝播行列W
Lを適用し、実ノードRE(T)であった想定ノードANから伝播する特徴量には伝播行列W
Tを適用する。なお、伝播行列W
A、W
B、W
L、W
Tのそれぞれを、層ごとに異ならせてもよい。
【0028】
これによって、実ノードRNや実エッジREの特性の違いに対して、より正確に追従することができ、正確に想定ノードANの状態(特徴量)を予測することができる。
【0029】
また、第1または第2実施形態の情報処理装置によれば、対象データの変更に対して柔軟に対応することができる。
図7は、対象データの変更によってニューラルネットワークが変更される様子を示す図である。
図7の上図の例を
図5の例と比較すると、実ノードRN(B1)と実ノードRN(B2)とを接続する実エッジRE(T2)が追加されている。この場合、
図7の下図に示すように、ニューラルネットワークにおいては想定ノードAN(T2)を追加し、想定ノードAN(T2)と、想定ノードAN(B1)、AN(B2)、および想定ノードAN(T2)自身を接続する想定エッジAEを追加すれば済む。従って、対象データの変更に対して柔軟に対応することができる。
【0030】
図8は、第2の実施形態に係る情報処理装置2のブロック図である。情報処理装置2は、第1の実施形態と比較すると、例えば、種別設定部34を更に備える。種別設定部34は、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSIやASIC、FPGA、GPUなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDDやフラッシュメモリなどの記憶装置に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【0031】
種別設定部34は、実ノード・実エッジ隣接関係抽出部32により抽出された結果を参照し、実ノードRNおよび実エッジREのそれぞれに前述したような種別を付与する。
【0032】
想定ノードメタグラフ化部36は、前述したグラフアテンションネットワークに基づく規則で、且つ特徴量の伝播元の種別に応じた伝播行列Wを適用して、係数αi,jを決定する。
【0033】
その他の構成要素の機能については、第1の実施形態と同様である。
【0034】
以上説明した第2の実施形態によれば、より幅広いニーズに対応することができる。
【0035】
また、上記の構成は、社会インフラの状態を解析するのに好適である。例えば、電力送電配電網や上下水道網などの解析対象は、グラフ構造として捉えることで正確な解析をすることができる。
【0036】
図9は、第2の実施形態を電力送電配電網に適用する様子について説明するための図である。図示する構成は、バス1~バス4を含む。バスとは、電力の供給源や需要家が接続される「箇所」のような概念である。バス1とバス2の間には、変圧器が設けられている。バス2には、60[MW]の需要家が接続されている。バス2とバス3の間は、70[km]の電力線で接続されている。バス3には、発電機と、70[MW]の需要家が接続されている。バス2とバス4の間は、40[km]の電力線で接続されており、バス3とバス4の間は、50[km]の電力線で接続されている。バス4には、発電機と、10[MW]の需要家が接続されている。このような構成において、バスを実ノード、変圧器を種別「T」の実エッジ、電力線を種別「L」の実エッジと考えると、
図7に示すグラフ構造のデータおよびニューラルネットワークで状態を解析することができる。この場合、実ノードRNに基づく想定ノードANに対して入力される入力属性としては、種別、接続された負荷、シャント抵抗などがある。また、種別「T」の実エッジREに基づく想定ノードANに対して入力される入力属性としては回路定数があり、種別「L」の実エッジREに基づく想定ノードANに対して入力される入力属性としては距離やユニット自由度などがある。入力属性とは、特徴量のうち静的な情報である。
【0037】
グラフ構造に擬される社会インフラに対して、ニューラルネットワークによる解析処理を行う場合、以下の要件を満たすことが望ましい。
1.大規模性
社会インフラへの適用には、基本的に規模の大きさと拡張性が必要になる。たとえば、電力送電配電網を考えると、バス(設備機器や需要負荷などの接続点)数として1万以上の大規模回路網となることもある。
2.多様性
従来のニューラルネットワークを応用した入力情報は、多くが、均一の属性信号であった。たとえば、画像処理の場合、入力は、画素信号という一種類の情報であったり、その特徴信号であった。しかしながら、社会インフラの場合、その入力信号数(次元)は数千以上となる場合があり、ネットワーク層も数十層というような大きな規模になる場合がある。上述の電力送電配電網を考えると、発電機、変圧器、負荷、トランス、電線など多種の設備がつながった大規模システムである。
3.変動性
通常、社会インフラ自体は運用期間が長く、その間に機器の保守、改良、置換が繰り返され、その都度、運用管理の見直しや投資検討が行われている。このように社会インフラの部分的改善、変更に対して、モデルの再学習を行うことなく追従する機能が求められている。
【0038】
これに対し実施形態の情報処理装置は、伝播行列Wを複数の想定ノードAN間で共通して用いることで、伝播に関するパラメータを網羅的に探索する必要がなくなるため、解析対象が大規模であっても処理負荷の増大を抑制することができる。また、想定ノードANに対して種別を設定し、伝播行列Wを種別に応じて異ならせることで、多様性の要求にも対応することができる。また、ニューラルネットワークにおけるノード間の結合を、全結合にするのではなく、元のグラフ構造のデータにおける隣接関係(接続関係)にあるものに限定しているため、変動性の要求にも対応することができる。
【0039】
(第1または第2の実施形態の変形例)
上記各実施形態では、実ノードRNと実エッジREを想定ノードとした後は、これらをニューラルネットワーク上では区別せずに処理を行うものとしたが、実ノードRNに基づく想定ノードANに対する処理と、実エッジREに基づく想定ノードANに対する処理とを、タイミングをずらしながら交互に行うようにしてもよい。
図10は、変形例に係るニューラルネットワークの一例を示す図である。このように構成することで、ある実ノードRNの状態を、より速やかに隣接する(一つの実エッジを介して接続された)他の実ノードに伝播させることができる。また、この場合、実エッジからの伝播については、グラフアテンションネットワークの規則とは異なる規則で情報を伝播させてもよい。
【0040】
(第3の実施形態)
以下、第3の実施形態について説明する。以降の実施形態において学習する対象のアクション決定ネットワークは、制御対象ないし解析対象の構造を表すグラフ構造のネットワークであれば十分であり、第1または第2の実施形態で説明したグラフアテンションネットワークは、あくまで好適な一例である。但し、以下では一例としてグラフアテンションネットワークを採用するものとして説明する。
【0041】
図11は、第3の実施形態の情報処理装置3のブロック図である。情報処理装置3は、データ取得部10と、ネットワーク処理部30と、出力部60と、強化学習部70とを備える。ネットワーク処理部30は、実ノード・実エッジ隣接関係抽出部32と、想定ノードメタグラフ化部36Aとを備える。データ取得部10および実ノード・実エッジ隣接関係抽出部32の機能は、第1または第2実施形態と同様であるため、再度の説明を省略する。なお、第3の実施形態以降では、グラフ構造のデータには被操作ノードや評価対象ノード(いずれも後述)の情報が付与されており、実ノードRNと実エッジRE、それらの状態を層状に繋いだニューラルネットワークには、被操作ノードや評価対象ノードを特定する情報が付与される。
【0042】
想定ノードメタグラフ化部36Aは、実ノード・実エッジ隣接関係抽出部32により抽出された実ノードRNと実エッジREが接続されるように、想定ノードANの状態を層状に繋いだニューラルネットワークを生成する。なお、第3の実施形態において、グラフアテンションネットワークにおける伝播行列Wおよび係数αi,jを決定する処理は、強化学習部70が行う。
【0043】
図12は、第3の実施形態に係る強化学習部70が扱うネットワークの一例を示す図である。図示するように、想定ノードメタグラフ化部36Aが生成するネットワークには、複数のノードを含む出力層と、アクションポイントとが定義されている。
【0044】
強化学習部70は、報酬R1~R4の期待値を最大化するようなアクションポイントの出力p(a|s)が出力されるように、ネットワークのパラメータ(伝播行列W、係数αi,jなど)を学習する。強化学習部70は、ネットワークのパラメータ(伝播行列W、係数αi,jなど)を、報酬R1~R4と出力V1(s)~V4(s)との二乗誤差を最小化するように学習する。引数aはアクションを示し、sは状態を示している。アクションポイントの出力p(a|s)は、例えば、状態sを前提とし、アクションポイントに対応する被操作ノード(例えばタップ付き変圧器)における複数の選択肢(例えばタップ比)のそれぞれの選択確率(確率尤度)を示す条件付確率分布である。どのノードが被操作ノードであるかという情報は、予めグラフ構造のデータ20に付与されている。報酬R1~R4のそれぞれは、例えば、複数の選択肢のうち選択確率が最大のものを選択したという情報をシミュレータ100に与えた結果、シミュレータ100からフィードバックされる観測値を、関数(報酬関数)に入力してえられる値である。
【0045】
出力層における複数のノードに対応する入力層の想定ノード(以下、評価対象ノード)は、その状態を所望の状態に近づけたい想定ノード、すなわち制御の上で重要度が高い想定ノードである。評価対象ノードを複数定義しておくことで、制御対象の複数個所における状態を所望の状態に近づけることができ、より正確かつ低負荷で制御対象を制御することができる。また、出力層の特徴量V1(s)~V4(s)のそれぞれと報酬R1~R4とを近づけることの重要度を異ならせることで、最も重要な箇所の状態を優先的に所望の状態に近づけるといった制御も可能となる。例えば、報酬関数は、例えば簡易的にΣ[αk×{Vq(s)-Rq}2]などの二重誤差の加重和で表されるが(q=1,…,4)、αkの配分を所望の配分とすることで、上記の優先的な制御を行うことができる。
【0046】
強化学習部70による学習処理は、例えば、A3Cアルゴリズムに基づいて行われる。すなわち、強化学習部70は、アクションの評価関数と、Criticと呼ばれる、システム状態によって決定される価値(V)関数との双方を比較およびフィードバックしながらアクション選択と価値関数の双方を最適化する。
【0047】
強化学習部70によりパラメータが決定されたネットワークは、アクション決定ネットワーク80として、出力部60を介して他装置などに出力される。これを受領した他装置では、アクション決定ネットワーク80の入力層に制御対象の状態を入力することで、最適なアクションを取得する。そして、取得したアクションに基づいて被操作ノードに対応する機器を制御する。
【0048】
以上説明した第3の実施形態によれば、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる。従来の強化学習では、専ら全結合のニューラルネットワークを設定し、A3CやディープQラーニングなどによる処理を行っていた。その場合、本来であれば関連性の低いノード同士に不要な相関関係が生じてしまったり、結合数が多いことにより処理負荷が増大してしまう場合があった。更に、ディープQラーニングにおいてQ値は全体で一つであるため、局所的な状態を理想的な状態に近づけるために、どのノードをどう操作するべきか特定するのが困難であった。この点、第3の実施形態の情報処理装置3では、ノード同士の接続関係を記述したグラフ構造のデータ20を表す強化学習ネットワークを用いて強化学習を行い、複数の評価対象ノードについて報酬に近づけるように学習を行うため、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる。
【0049】
なお、上記の説明は、専ら、取るべきアクションが出力層に出てくる方策ベースの強化学習に適用した例であるが、価値ベースの強化学習にも適用することができる。この場合、強化学習部70は、網羅的にアクションを仮定して結果を求め、報酬が最も大きくなるアクションを採用する。
【0050】
(第3の実施形態の適用例とシミュレーション結果)
図13は、第3の実施形態の適用例(その1)を示す図である。本図に示す電力潮流計算モデルは、IEEEの標準電力系統システムモデルであり、ここでは、14本のバスを含む。これをバスB1~B14とする。バスには、各々、負荷が接続されている。また、バスの中には、発電機が接続されたものがあり(本例では、バスB1、B2、B3、B6)、バスB4とバスB7の間は変圧器t47で接続され、バスB4とバスB9の間は変圧器t49で接続され、バスB5とバスB6の間は変圧器t56で接続されている。その他のバス同士はライン(送電線)で接続されている。バスB9には、電力の接地潮流分を制御するためのシャント回路b9が接続されている。変圧器のタップ切替スイッチ、シャント回路の定数の切替スイッチが、アクション空間として制御可能なシステムを想定する。この場合、アクションは、4変数(4次元)となる。
【0051】
図14は、第3の実施形態の適用例(その2)を示す図である。本図に示す電力潮流計算モデルは、IEEEの標準電力系統システムモデルからバスB11を除外したものである。
【0052】
本発明の発明者は、
図14に示す電力系統システムを、バス、変圧器、ライン、シャント素子の4種類のノードで構成されるメタグラフに変換して、第3の実施形態の手法によってネットワークを学習し、電力系統システムを制御するシミュレーション(以下、第1シミュレーション)を行った。第1シミュレーションにおいて、バスB4、B5、B6、B7、B9に接続された負荷が変動したときに、これらのバスの電圧の変動を小さくすることを報酬とし、タップ付変圧器の出力電圧スイッチとシャント回路で制御する、但し、負荷は指定された範囲内(例えば0.94~1.06pu)にあり、タップ切替は制御期間を通して最小になることを条件とした。
【0053】
また、本発明の発明者は、
図14に示す電力系統システムにおいて学習されたバス、変圧器、ライン、シャント素子のそれぞれのノードに対応する伝播行列W、係数αi,jなど(ノード関数)をそのまま用いて
図13に示す電力系統システムを制御するシミュレーション(以下、第2シミュレーション)を行った。
【0054】
図15は、第1シミュレーションと第2シミュレーションにおける電圧制御状態、すなわち価値関数を学習曲線として示す図である。図中、AXが第1シミュレーションにおける価値関数の推移を示し、BXが第2シミュレーションにおける価値関数の推移を示している。図示するように、両者はほぼ同じ価値関数値に収束している。つまり、バス13本で獲得したノード関数もバス14本で獲得されたノード関数もほぼ等価なものを使用することができることがわかる。従って、運用中のシステム情報を使って獲得した各設備モデルを、同種の追加設備の関数として使うことができるので、システムの構成を変更しても、新たに全体を学習しなおす必要がないことがわかる。
【0055】
(第4の実施形態)
以下、第4の実施形態について説明する。第4の実施形態では、更に、報酬共有ネットワークを導入して強化学習を行う。以下、構成図を省略するが、第4の実施形態に係る想定ノードメタグラフ化部を想定ノードメタグラフ化部36B、強化学習部を強化学習部70Bと称して説明する。
【0056】
図16は、第4の実施形態に係る強化学習部70Bが扱うネットワークの一例を示す図である。図示するように、このネットワークは複数の被操作ノードを含んでいる。このネットワークは、以下のように定義されたものである。被操作ノードTp(p=1,2)におけるアクションapの選択ポリシーは、現在の状態sに依存してきまる選択肢{ap}に対する確率尤度p(ap|s)に従って決まり、評価対象ノードBi(=1,…,4}の評価関数はVi(s)と表現され、変数sがアクションapによって変動する。また、ラインノードはLqと定義される。以下、
図16に示すネットワークを強化学習ネットワークと称する。
【0057】
第4の実施形態では、更に、想定ノードメタグラフ化部36Bが報酬共有ネットワークを定義し、強化学習部70Bは、強化学習ネットワークと報酬共有ネットワークを連結して全体に対して強化学習アルゴリズムで学習することで、全体システムのアクション方策と各ノード関数、報酬分配関数を同時に求める。
【0058】
図17は、報酬共有ネットワークの一例を示す図である。報酬共有ネットワークは、強化学習ネットワークの少なくとも一部と同じ接続態様を有するネットワークである。報酬共有ネットワークにおける伝播行列を、W*
B、W*
L、W*
Tと定義する。以下、「*」は報酬共有ネットワークに属することを示すものとする。前述した各実施形態と同様に、伝播行列W*
B、W*
L、W*
Tのそれぞれを、層ごとに異ならせてもよい。
【0059】
報酬共有ネットワークにおけるノード属性の構成は以下のようになる。まず、ノード全体のうちどのノードであるかを示すベクトルnd=(0,0,…,1,…,0,0)を定義する。ベクトルndは、要素のうち一つのみが1であり、他が0のベクトルである。報酬関数Riとベクトルndをノード属性に結合(コンカチネット)することで、式(4)~(6)に示すように、報酬値を含んだノード属性を定義することができる。
【0060】
B*i=(Ri||ni||Bi) i=1,…4 …(4)
T*p=(0||np||Tp) p=1,2 …(5)
L*q=(0||nq||Lq) q=1,2 …(6)
【0061】
これらのノード属性は、報酬値を含んでモデル化されているため、強化学習部70Bは、伝播行列W*やアテンション関数a*も、コンカチネットされた入力属性に対して求める。強化学習部70Bは、出力となるRT1、RT2、対応する価値推定値VT1(s)、VT2(s)、評価対象ノードBiの出力、および、R1、R2、R3、R4と対応する推定値V1、V2、V3、V4に基づいて、A3CあるいはActor-Criticアルゴリズムなどで伝播行列W、W*、アテンション関数a、a*を導出する。これらは、ノード種類γ={B,T,L}ごとに求められる。
【0062】
パラメータセット(W*,a*)が導出されると、種類kのノードiの隣接ノードjからノードiへのアテンション係数ek
ijは式(7)で表される。式中、a(,)はアテンション関数であり、その出力は実数値であるが、2つのベクトル入力に対する線形関数(内積)の場合もある。
ek
ij=a(W*k・h*j,W*k・h*i) …(7)
【0063】
式(7)を、式(8)に示すように規格化することで、ak
ijが得られる。ak
ijをノードiの隣接ノードjの集合に関して合計を求めると、1となる。アテンション係数としてek
ijにLeakyReLUなどの非線形関数を乗算してもよい。
ak
ij=softmax_j(ek
ij) …(8)
【0064】
次の層のノードの属性をh*’dと定義すると、式(9)が成立する。
h*’i=σ{Σj∈Ni(ak
ij・W・h’i)} …(9)
【0065】
h*dは、報酬共有ネットワークのノード属性を記述するものであり、報酬、ノード識別情報、ノード属性がコンカチネットされている。つまり、h*dは式(10)で表される。
h*d=(R||n||hd) d=1,2,…,8 …(10)
【0066】
ここで、評価対象ノードBiの推定評価値Vi(s)と実際の報酬値Riとの差分関数(アドバンテージ関数)を式(11)のように定義する。
Ai(t)=Ri(t)-Vi(s) i=1,…,4 …(11)
【0067】
このアドバンテージ関数から、式(12)、(13)で表されるロス関数を定義する。
Lpi=log{p(a|s)・Ai(t)} …(12)
Lvi=Ai(t)2 …(13)
【0068】
強化学習部70Bは、ロス関数の勾配に沿ってWおよびaを更新する。この場合、評価対象ノードの全てについて加重和を求めるなどして、全体システムに対する属性としてアドバンテージを定義して上式のように計算することも可能である。この各更新過程において算出される、報酬Ri(t)、各ノードの属性hd(t)ノードの識別ベクトルndをコンカチネットして式(10)に示すように報酬共有ネットワークの入力ノードh*dを構成し、報酬共有ネットワークの入力とする。報酬共有ネットワークでは、出力を被操作ノードに対応するノード(制御ノード)に対して仮想的に定義する報酬値RTpとする。この関数を下に、制御ノードの推定評価値VTp(s)を学習過程で求めてゆく。制御ノードについてのアドバンテージ関数およびロス関数は、式(14)~(16)のように定義される。
ATp(t)=RTp(t)-VTp(s) p=1,2 …(14)
Lpp=log{p(a|s)・ATp(t)} …(15)
Lvp=Ap(t)2 …(16)
【0069】
強化学習部70Bは、ロス関数の勾配に沿ってW*およびa*を更新することで、ノード関数と報酬分配関数を同時に導出する。なお、ここで、各推定値V(s)は、強化学習過程において、数ステップ前の学習係数を使って、現在の価値関数を推定したものであるが、先読みステップ数を適宜選んでよい。
【0070】
以下、強化学習過程において獲得された報酬分配関数を元に、報酬分配式を求める処理について説明する。
図16において、強化学習ネットワークの出力層において、被操作ノードT1、T2に相当する出力ノード毎に、係数パラメータセットWT1、WT2を介して推定報酬関数V
T1(s)、V
T2(s)が出力されている。一方、
図17において、報酬共有ネットワークの出力層において、コンカチネットして再定義された被操作ノードT1、T2に相当する出力ノード(制御ノード)毎に、係数パラメータセットW*T1、WT2を介して(実)報酬関数RT1(t)、RT2(t)が出力される。報酬ノードの集合をI、被操作ノードの集合をKとする。また、システム全体のノードの特性表現として、式(17)のようにh→を定義する。
h*→=(h*1,h*2,…,h*8) …(17)
【0071】
そして、報酬分配関数をf(h*→)とし、r*=f(h*→)なる出力ベクトルが得られたとする。このr*のうち、被操作ノードk(∈K)についての成分を取り出して、それを{r*k}とし、分配係数αkを式(18)に基づいて求めることができる。
αk=softmax(W*Tk,r*k)=exp(W*Tk)/Σj∈Kexp(WTj・rj) …(18)
【0072】
強化学習部70Bは、係数αkを用いて、報酬ノードi(∈I)で得られた報酬Riを、被操作制御ノード集合Kの要素kの報酬の一部として分配する。実際の分配計算は、式(19)で表される。
Rki=αk・Ri …(19)
【0073】
強化学習部70Bは、最終的に被操作ノードkに与えられる報酬Rkを、式(20)に示すように、全ての報酬ノードに関するRkiを合計することで算出する。
Rk=Σj∈IRiK
【0074】
強化学習部70Bは、このRkと、強化学習ネットワーク側の評価関数Vk(s)(k∈k)とに基づいて、Ak=Rk-Vk(s)によりアドバンテージを定義し、A3Cなどと同様のアルゴリズムを適用することで、分配関数やネットワークの係数を求める。
【0075】
以上説明した第4の実施形態によれば、第3の実施形態と同様の効果を奏することができ、更に、特徴量を報酬に近づける際に、どの被操作ノードが寄与したのかを解析することができる。
【0076】
(第5の実施形態)
以下、第5の実施形態について説明する。第5の実施形態は、第3または第4の実施形態における強化学習ネットワークの中間層と出力層との間に、LSTM(Long Short Term Memory)などの時系列処理層を追加したものである。
図18は、
図16に示す強化学習ネットワークにLSTMを適用した様子を示す図である。それぞれのLSTMは、ノード種類ごとに同じものが使用されてよい。時系列処理層を追加することで、各ノードの状態遷移を考慮した学習が可能となる。
【0077】
(第6の実施形態)
以下、第6の実施形態について説明する。第6の実施形態は、第3~第5の実施形態のいずれかの構成に加えて、報酬分配部を更に備えるものである。以下では、第3の実施形態に報酬分配部が付加された例について説明する。
【0078】
(第6の実施形態の背景)
近年、人工知能を産業領域に活用する試みが進められている。人工知能技術としては、おもに、Deep Learningやその関連技術が多く、画像認識、故障解析、特性予測など適用範囲が広がっている。また、こうした対象の時系列的な最適運用を考えるために、強化学習の応用が広がっている。交通や電力系統、コンピュータネットワークといったインフラに関わる分野では、対象がグラフ構造を持っている場合も多い。グラフ構造を持つ対象に強化学習を適用する場合、アクションや報酬がノードに紐付いて与えられることがある。たとえば、交通網での渋滞を最小化する工事スケジュールの問題を考える。この場合、アクションは工事対象の道路というノードにひも付き、報酬である渋滞度も、道路というノードごとに算出される。この場合、アクションと報酬にはある近傍関係が成り立つことが想定される。先程の例では、ある道路が工事を行った場合、その近傍の道路の渋滞度には大きく影響するが、遠方の道路への影響は軽微であると考えられる。以後、報酬を算出するノードを報酬ノード、アクションを行うノードを被操作ノードと呼ぶ。これらは対象のグラフの構造に含まれるノードの部分集合として定義され、排他的ではない。
【0079】
従来、こうした報酬の近傍関係については適切に考慮する技術が存在しなかった。そのため、各ノードで得られた報酬は近傍関係を無視して各アクションに等配分することが考えられるが、その場合、以下二点の課題が考えられる。
【0080】
(1) 要因解釈性
被操作ノードと報酬ノードには近傍関係が考えられる。これを無視することは、各報酬がどのノードのアクションによって生じたものなのかを考えないということであり、要因分析を困難にする。
【0081】
(2) スケーラビリティ
関連性の弱いノードから得られた報酬は、被操作ノードにとっては報酬にノイズが含まれていることと等価であり、モデルの収束性を下げる。制御対象が大規模化し、被操作ノード、報酬ノードの数が増えると、互いの関連性が不明瞭になり、各被操作ノードにそれと相関の低い報酬ノードからの報酬が流れ込み、モデルの学習速度が低下することが想定される。
【0082】
図19は、第6の実施形態の情報処理装置6のブロック図である。情報処理装置6は、
図11に示す情報処理装置3に加えて、報酬分配部90を更に備える。なお、報酬分配部90は、情報処理装置6から独立した装置(報酬分配装置)として構成されてもよい。
【0083】
報酬分配部90は、報酬分配行列Dを決定する。報酬分配行列Dは、「分配先ノード数×分配元ノード数」の要素を持つ行列である。分配先ノード数は、時刻tの被操作ノード数と等しく、分配元ノード数は、時刻t+1の報酬ノード数と時刻t+1の被操作ノード数の和に等しい。報酬分配行列Dの一次元目のインデックスは時刻tの被操作ノードに対応し、報酬分配行列Dの二次元目のインデックスは時刻t+1の報酬ノードまたは被操作ノードに対応する。報酬分配行列Dの要素dijは、時刻t+1のj番目の報酬ノードまたは被操作ノードから、時刻tのi番目の被操作ノードへの報酬分配割合を示す。報酬分配行列Dの要素dijは、グラフの特徴やグラフ構造の近傍関係を入力し、かつグラフ構造によらないパラメータ数を持つ関数によって計算される。例えば、グラフ上の到達距離や、ランダムウォークの到達確率を正規化したもの、報酬伝播用GCN等である。これらについて称性の考慮は不要であり、一般的な距離の定義に従う必要はないが、従ってもよい。
【0084】
報酬分配行列Dの要素dijを一次元目のインデックス方向に加算すると、式(20)に示すように1になるように正規化される。これは後述する報酬分配時に報酬総量を変えないようにするためである。正規化方法にはsoftmax関数を適用したり、要素の和で除算する等の手法が考えられる。以下、報酬分配行列Dの要素dijを計算する関数のパラメータと正規化パラメータをまとめてφと表現し、φによって決定される報酬分配行列をDφと表現する。また、数の報酬種類を持つ場合、報酬分配行列Dは報酬種類ごとに定義されてもよい。
【0085】
Σidij=1 ∀j∈node index …(20)
【0086】
報酬分配部90は、報酬分配行列Dφと、結合報酬ベクトルR’t+1とに基づいて、被操作ノードに分配する報酬を決定する。より具体的に、報酬分配部90は、式(21)、(22)に基づいて、時刻tの被操作ノードに分配する報酬を決定する。式中、concatはコンカチネット(結合)を表し、rt+1は、時刻t+1の報酬ノードについて計算された報酬集合をノードのインデックスに従って並べてベクトル表現したものであり、Rt+1は、将来から伝播してきた報酬をベクトル表現したものであり、γは将来報酬の割引率である。報酬分配部90は、報酬分配行列Dφと、結合報酬ベクトルR’t+1とを乗算することで、現在の報酬ベクトルRtを導出する。報酬ベクトルRtは、時刻tの被操作ノード数の長さを持つベクトルであり、報酬分配部90は、報酬ベクトルRtに基づいて報酬を時刻tの被操作ノードに分配する。
【0087】
R’t+1=concat(rt+1,γ・Rt+1) …(21)
Rt=Dφ・R’t+1 …(22)
【0088】
報酬分配行列Dφのパラメータφは、ハイパーパラメータとして人手で与えることもできるし、学習によって自動獲得することもできる。学習する際の目的関数には、Dφによって算出される報酬のベクトル表現Rtと、各被操作ノードの状態s_tn及びアクションa_tnの関連度が最大化されるようなものを選択すると好適である。例えば、各ノードについてアクションを行う前の報酬分布と行った後の報酬分布を比較して算出した、アクションによる情報ゲインや、報酬を観測したことによるアクション確率の情報ゲインなどが利用できる。自動学習については後述する。
【0089】
[適用例]
以下、第6の実施形態の適用例について説明する。
図20は、将来報酬ベクトルR
t+1を導出する様子の一例を示す図である。
図20は、時刻tに各被操作ノードN
a1~N
a3が行動ベクトルA_t(図では(0,1,1))で表される行動をとり、時刻t+1に遷移した状態と、そこで得られた報酬を示している。グラフ上に報酬ノードN
r1~N
r4と、被操作ノードN
a1~N
a3が定義されている。報酬ノードには報酬ベクトルr
t+1が与えられ、被操作ノードには、その被操作ノードが将来得る報酬ベクトルR
t+1が与えられている。報酬分配部90は、これらの報酬を各被操作ノードに分配する。
【0090】
報酬分配部90は、まず、報酬分配行列Dφを作成する。
図21は、報酬分配行列Dφを作成する様子の一例を示す図である。報酬分配部90は、時刻tの被操作ノードN
a1~N
a3と時刻t+1の報酬ノードN
r1~N
r4及び被操作ノードN
a1~N
a3との関連度スコアを任意の関数で算出し、これを被操作ノード方向の合計が1になるよう正規化することで、報酬分配行列Dφを作成する。
【0091】
そして、報酬分配部90は、報酬ベクトルR
t+1を導出する。
図22は、報酬ベクトルR
tを導出する様子の一例を示す図である。報酬分配部90は、報酬ベクトルr
t+1と将来報酬ベクトルに割引率γを乗算したγ・R
t+1とを結合した結合報酬ベクトルR’
t+1を、報酬分配行列Dφに対して右から積を求める。なお、簡単のため、図では割引率γを1とした。これにより、各被操作ノードに与える報酬ベクトルR
tが計算される。強化学習部70は、各被操作ノードについて、この報酬ベクトルR
tを用いて任意の強化学習を行う。例えばAdvantage-Actor-Critic法であれば、式(22)にしたがって、各被操作ノードの方策πのパラメータθを更新する。なお、エピソード中でグラフ構造が変わったとしても、報酬分配行列を再計算することで評価可能である。
図22の例では、例えば、報酬ベクトルのN
r3の要素は被操作ノードN
a3に影響されて生じたことが見て取れる。
【0092】
Δμ(θ)=Σn(Rtn-Vn(st))logπθ(an|st) n∈Na …(22)
【0093】
以下、報酬分配行列Dφのパラメータφの自動学習について説明する。理想的な報酬分配行列のパラメータは、時刻tにおける被操作ノードnに分配される報酬R_tnの分布が、そのノードのアクションによって大きく影響をうけるもの、すなわち、アクションによる報酬分布の情報利得の総和Igが最大化されたものと考えられる。総和Igは式(23)によって表される。式中、KLはKLダイバージェンス(KL情報量)である。
【0094】
Ig=ΣtΣn[KL(P(Rtn|st,atn)||P(Rtn|st)) n∈anode …(23)
【0095】
報酬の分布が分散σ2の正規分布に従うと仮定すると、式(23)の一部は式(24)で表現することができる。式中、Nは正規分布を表す関数である。
【0096】
P(Rtn|st,atn)=N(μn(st),σ) …(24)
【0097】
式(23)に式(24)を代入すると、正規分布間のKLダイバージェンスにより、式(23)を式(25)のように変形することができる。μn(s)は各被操作ノードの行動によらない報酬の期待値であるため、強化学習モデルの推定する状態価値Vn(s)に置き換えることができる。なお、(Dφ・R’t+1)nはベクトル(Dφ・R’t+1)のn番目のインデックスに相当する要素である。
【0098】
【0099】
これを報酬分配行列Dφのパラメータφで偏微分すると、∂Dφ/∂φによって勾配が表現できる。Dφがパラメータφで微分可能な形で定義されていれば、式(26)を用いてパラメータの勾配を求め、確率的勾配降下法などでパラメータφを最適化することができる。報酬分配部90は、以上説明した原理に基づいてパラメータφを最適化する。
【0100】
【0101】
(第6実施形態の変形例)
以下、第6の実施形態の変形例について説明する。第6実施形態は、同時刻に複数のエージェントが行動する、マルチエージェントの方式に適用されるものとしたが、この変形例では同時刻に行動する被操作ノードは一つであるものとする。
【0102】
図23は、第6の実施形態の変形例が処理対象とするノードの状態変化の一例を示す図である。
図23に示すように、時刻t+2で生じた報酬ベクトルr
t+2と、そこで得られた将来報酬R
t+2を時刻t+1と時刻tに分配する問題を考える。ここでは、各時刻に分配される報酬はスカラであるものとする。将来報酬R
t+2は、同時刻の全ノードと等距離のノードN
all
t+2で生じたものとする。
【0103】
変形例の報酬分配部(図示しないが、報酬分配部90Aと称する)は、時刻tからt+2までの対応するノードを、時間軸方向のエッジで結合し、結合グラフを作成する。報酬分配部90Aは、報酬ノード、被操作ノードそれぞれに対して、場所以外に時間のインデックスを設定し、報酬分配行列Dφの要素を、この結合グラフ上で算出する。
【0104】
図24は、結合グラフから報酬分配行列Dφを算出する手順の一例を示す図である。図中、黒く表示されているのは各時刻において行動した被操作ノードであり、時刻t+2には、全ノードと等距離のノードN
all
t+2が存在する。報酬分配部90Aは、時刻t、t+1において行動した被操作ノードの行動に対する時刻t+2の報酬ノードおよびノードN
all
t+2の関連度スコアを任意の関数で算出し、これを被操作ノード方向の合計が1になるよう正規化することで、報酬分配行列Dφを作成する。
【0105】
図25は、報酬ベクトル(R
t,R
t+1)
Tを導出する様子の一例を示す図である。報酬分配部90Aは、時刻t+2における結合報酬ベクトルR’
t+2を、報酬分配行列Dφに対して右から積を求める。なお、簡単のため、図では割引率γを1とした。これにより、時刻t、t+1の各被操作ノードに与える報酬ベクトル(R
t,R
t+1)
Tが計算される。なお、この変形例では、一時刻につき被操作ノードが一つのみ行動するものとしているが、第6の実施形態の手法と組み合わせることで、複数であっても適用可能である。
【0106】
以上説明した第6の実施形態並びにその変形例によれば、報酬分配部90(または90A)を更に備えることで、要因解釈性とスケーラビリティの問題を改善することができる。
【0107】
以上説明した少なくともひとつの実施形態によれば、ノード同士の接続関係を記述したグラフ構造のデータを取得するデータ取得部(10)と、前記データ取得部により取得されたグラフ構造のデータを表す第1のネットワークを設定する設定部(30)と、前記第1のネットワークにおいて、評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、前記第1のネットワークのパラメータを導出する強化学習部(70)とを持つことにより、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる。
【0108】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0109】
1、2、3、6 情報処理装置
10 データ取得部
20 グラフ構造のデータ
30 ネットワーク処理部
32 実ノード・実エッジ隣接関係抽出部
34 種別設定部
36、36A 想定ノードメタグラフ化部
40 メタグラフコンボリューション部
50 想定ノード特徴量
60 出力部
70 強化学習部
80 アクション決定ネットワーク
90 報酬分配部
100 シミュレータ