(57)【要約】【課題】より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる情報処理装置、情報処理方法、およびプログラムを提供することである。【解決手段】実施形態の情報処理装置は、データ取得部と、設定部と、強化学習部とを持つ。データ取得部は、ノード同士の接続関係を記述したグラフ構造のデータを取得する。設定部は、前記データ取得部により取得されたグラフ構造のデータを表す第１のネットワークを設定する。強化学習部は、前記第１のネットワークにおいて、評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、前記第１のネットワークのパラメータを導出する。【選択図】図１１
2020135390.tif 000002
【特許請求の範囲】
【請求項１】
ノード同士の接続関係を記述したグラフ構造のデータを取得するデータ取得部と、
前記データ取得部により取得されたグラフ構造のデータを表す第１のネットワークを設定する設定部と、
前記第１のネットワークにおいて、
評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、
被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、
前記第１のネットワークのパラメータを導出する強化学習部と、
を備える情報処理装置。
【請求項２】
前記設定部は、評価対象ノードを複数備えるように前記第１のネットワークを設定し、
前記強化学習部は、前記複数の評価対象ノードのそれぞれの出力層における特徴量が、対応する複数の報酬のそれぞれに近づくように、前記第１のネットワークのパラメータを導出する、
請求項１記載の情報処理装置。
【請求項３】
前記強化学習部は、前記複数の評価対象ノードのそれぞれの出力層における特徴量について重要度を設定し、重要度の高い特徴量を優先的に報酬に近づけるように、前記第１のネットワークのパラメータを導出する、
請求項２記載の情報処理装置。
【請求項４】
前記設定部は、前記被操作ノードを複数備えるように前記第１のネットワークを設定し、
前記強化学習部は、前記複数の被操作ノードのそれぞれの出力層における特徴量が、前記複数の評価対象ノードのそれぞれの出力層における特徴量を報酬に近づける特徴量となるように、前記第１のネットワークのパラメータを導出する、
請求項１から３のうちいずれか１項記載の情報処理装置。
【請求項５】
前記設定部は、前記第１のネットワークの少なくとも一部と同形態である第２のネットワークを、前記第１のネットワークにおける前記出力層の評価対象ノードに連結させて設定し、
前記強化学習部は、前記第１のネットワークのパラメータと、前記第２のネットワークのパラメータとを同時に導出する、
請求項１から４のうちいずれか１項記載の情報処理装置。
【請求項６】
前記強化学習部は、前記被操作ノードの前記第１のネットワークにおける出力層の特徴量を、前記被操作ノードの前記第２のネットワークにおける出力層のノードから得られる報酬に近づけるように、前記第１のネットワークおよび前記第２のネットワークのパラメータを導出する、
請求項５記載の情報処理装置。
【請求項７】
前記設定部は、前記第１のネットワークの出力層よりも入力層側に、時系列処理層を設ける、
請求項１から６のうちいずれか１項記載の情報処理装置。
【請求項８】
前記第１ネットワーク、前記被操作ノード、および前記報酬の関係を表す関係情報を前記グラフ構造のデータに基づいて導出し、前記導出した関係情報に基づいて前記報酬を前記被操作ノードに分配する報酬分配部を更に備える、
請求項１から７のうちいずれか１項記載の情報処理装置。
【請求項９】
前記報酬分配部は、前記関係情報のパラメータを、前記被操作ノードの行うアクションと、分配された報酬との関係性に基づいて自動的に導出する、
請求項８記載の情報処理装置。
【請求項１０】
コンピュータが、
ノード同士の接続関係を記述したグラフ構造のデータを取得し、
前記取得されたグラフ構造のデータを表す第１のネットワークを設定し、
前記第１のネットワークにおいて、
評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、
被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、
前記第１のネットワークのパラメータを導出する、
情報処理方法。
【請求項１１】
コンピュータに、
ノード同士の接続関係を記述したグラフ構造のデータを取得させ、
前記取得させたグラフ構造のデータを表す第１のネットワークを設定させ、
前記第１のネットワークにおいて、
評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、
被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、
前記第１のネットワークのパラメータを導出させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、人工知能を産業領域に活用する試みが進められている。利用が検討されている人工知能技術は、ディープラーニングやその関連技術が多く、画像認識、故障解析、特性予測などに適用範囲が広がっている。
【０００３】
人工知能を活用して、実システムあるいは、そのシミュレーション環境を対象として、その制御、運転を自動化しようとする試みもある。たとえば、自動運転などは大きな投資が行われている。ここでの人工知能は、強化学習と呼ばれる。強化学習では、システム、あるいはそのシミュレーション環境に対して、強化学習エージェントから、アクション（制御信号）が入力され、それに応じて、システムが状態を遷移する。そのシステム状態が強化学習エージェントに帰還され、帰還されたシステム状態に応じた評価関数（報酬値、あるいはペナルティなど）が計算される。その評価関数を最適にするべく、強化学習エージェントは学習ネットワークのパラメータを更新し、新たなアクションを生成する。ここでの学習ネットワークは主として、ディープラーニングがつかわれている。また、最近では、強化学習を、社会インフラシステム、たとえば、ビル空調管理や電力グリッド制御などに適用する事例も報告されている。これらの社会インフラシステムへの人工知能適用の取組は、今後、益々盛んになると予想されている。
【０００４】
しかしながら、従来の強化学習は、典型的な全結合のニューラルネットワークを学習ネットワークとして採用しているため、制御対象の実際の状態に適切に追従できなかったり、処理負荷が過大になったりする場合があった。また、制御対象の設計変更に対して大規模な再学習が必要になる場合があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−５７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる情報処理装置、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の情報処理装置は、データ取得部と、設定部と、強化学習部とを持つ。データ取得部は、ノード同士の接続関係を記述したグラフ構造のデータを取得する。設定部は、前記データ取得部により取得されたグラフ構造のデータを表す第１のネットワークを設定する。強化学習部は、前記第１のネットワークにおいて、評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、前記第１のネットワークのパラメータを導出する。
【図面の簡単な説明】
【０００８】
【図１】従来の考え方により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図。
【図２】第１の実施形態の手法により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図。
【図３】情報処理装置が係数αｉ，ｊを決定する手法について説明するための図。
【図４】第１の実施形態に係る情報処理装置１のブロック図。
【図５】想定ノードＡＮの種別の定義の一例を示す図。
【図６】第２の実施形態の手法により、グラフ構造のデータ２０から生成されたニューラルネットワークを示す図。
【図７】対象データの変更によってニューラルネットワークが変更される様子を示す図。
【図８】第２の実施形態に係る情報処理装置２のブロック図。
【図９】第２の実施形態を電力送電配電網に適用する様子について説明するための図。
【図１０】変形例に係るニューラルネットワークの一例を示す図。
【図１１】第３の実施形態の情報処理装置３の概念図。
【図１２】第３の実施形態に係る強化学習部７０が扱うネットワークの一例を示す図。
【図１３】第３の実施形態の適用例（その１）を示す図。
【図１４】第３の実施形態の適用例（その２）を示す図。
【図１５】第１シミュレーションと第２シミュレーションにおける電圧制御状態、すなわち価値関数を学習曲線として示す図。
【図１６】第４の実施形態に係る強化学習部７０Ｂが扱うネットワークの一例を示す図。
【図１７】報酬共有ネットワークの一例を示す図。
【図１８】図１６に示す強化学習ネットワークにＬＳＴＭを適用した様子を示す図。
【図１９】第６の実施形態の情報処理装置６のブロック図。
【図２０】将来報酬ベクトルＲｔ＋１を導出する様子の一例を示す図。
【図２１】報酬分配行列Ｄφを作成する様子の一例を示す図。
【図２２】報酬ベクトルＲｔを導出する様子の一例を示す図。
【図２３】第６の実施形態の変形例が処理対象とするノードの状態変化の一例を示す図。
【図２４】結合グラフから報酬分配行列Ｄφを算出する手順の一例を示す図。
【図２５】報酬ベクトル（Ｒｔ，Ｒｔ＋１）Ｔを導出する様子の一例を示す図。
【発明を実施するための形態】
【０００９】
以下、実施形態の情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。
【００１０】
まず、情報処理装置が作成するニューラルネットワークの原理について説明する。図１は、従来の考え方により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図である。
【００１１】
図１の上図は、グラフ構造のデータを模式的に示している。図示の構成では、実ノードＲＮ１〜ＲＮ４が存在する。「実ノード」とは、後述する「想定ノード」と区別するための概念であり、情報処理装置が取得するグラフ構造のデータ（処理対象データ、元データ）におけるノードを意味する。このように、グラフ構造のデータは、少なくとも、ノード間の接続関係を記述したデータである。実ノードＲＮ１は、特徴量ｈ１を有しており、実ノードＲＮ２は、特徴量ｈ２を有しており、実ノードＲＮ３は、特徴量ｈ３を有しており、実ノードＲＮ４は、特徴量ｈ４を有している。特徴量は、例えばベクトルであるが、本明細書および図面では、スカラーとベクトルを表記上、区別していない。
【００１２】
図１の上図において、実ノードＲＮ１と実ノードＲＮ２は、実エッジＲＥ１２で接続され、実ノードＲＮ１と実ノードＲＮ３は、実エッジＲＥ１３で接続され、実ノードＲＮ１と実ノードＲＮ４は、実エッジＲＥ１４で接続され、実ノードＲＮ２と実ノードＲＮ３は、実エッジＲＥ２３で接続されている。「実エッジ」とは、後述する「想定エッジ」と区別するための概念であり、情報処理装置が取得するグラフ構造のデータにおけるエッジを意味する。また、ここでの「接続されている」とは、互いの特徴量が、次の状態における双方の特徴量に影響を及ぼし合う関係を意味する。なお、この定義は無向グラフを前提としているが、有向グラフを扱う場合、「接続されている」とは、一方の特徴量が、次の状態における他方の特徴量に影響を及ぼす関係を意味する。
【００１３】
図１の下図は、図１の上図に示すグラフ構造のデータに基づいて生成されるニューラルネットワークの一例を示すものである。ｈ１＃、ｈ２＃、ｈ３＃、ｈ４＃のそれぞれは、実ノードＲＮ１、ＲＮ２、ＲＮ３、ＲＮ４のそれぞれの特徴量の、中間第１層における特徴量である。図示するように、図１の上図における実エッジＲＥが、そのままニューラルネットワークの接続構造となっている。ここで、特徴量ｈ１＃は、式（１）で表される。式中、α１，１〜α１，４は、伝播度合いを示す係数である。このように、ある実ノードＲＮの第ｋ層の特徴量は、接続関係にある他の実ノードＲＮおよびその実ノードＲＮ自身のｋ−１層の特徴量に対して、それぞれ係数と伝播行列Ｗを乗算して合計することで求められる。伝播行列に関しては後述する。
ｈ１＃＝α１，１・Ｗ・ｈ１＋α１，２・Ｗ・ｈ２＋α１，３・Ｗ・ｈ３＋α１，４・Ｗ・ｈ４  …（１）
【００１４】
（第１の実施形態）
図２は、第１の実施形態の手法により、グラフ構造のデータからニューラルネットワークを生成する様子を示す図である。図示するように、第1の実施形態の情報処理装置は、実ノードＲＮだけでなく、実エッジＲＥを含めた想定ノードＡＮを設定し、想定ノードＡＮの第ｋ−１層の特徴量を、接続関係にある他の想定ノードＡＮ、およびその想定ノードＡＮ自身の第ｋ層の特徴量に伝播させるニューラルネットワークを生成する。ｋは１以上の自然数であり、ｋ＝０の層は、例えば入力層を意味する。
【００１５】
情報処理装置は、例えば、式（２）に基づいて中間第１層の特徴量を決定する。なお、式（２）は、想定ノード（ＲＮ１）の中間第１層の特徴量ｈ１＃の計算手法に該当する。一例としてα１，１２は、想定ノード（ＲＮ１）と想定ノード（ＲＥ１２）の間の伝播度合いを示す係数である。想定ノード（ＲＮ１）の中間第２層の特徴量ｈ１＃＃は、式（３）で表される。中間第３層以降も順次、同様の規則で特徴量が決定される。
ｈ１＃＝α１，１・Ｗ・ｈ１＋α１，１２・Ｗ・ｈ１２＋α１，１３・Ｗ・ｈ１３＋α１，１４・Ｗ・ｈ１４  …（２）
ｈ１＃＃＝α１，１・Ｗ・ｈ１＃＋α１，１２・Ｗ・ｈ１２＃＋α１，１３・Ｗ・ｈ１３＃＋α１，１４・Ｗ・ｈ１４＃  …（３）
【００１６】
情報処理装置は、例えば、グラフアテンションネットワークに基づく規則で係数αｉ，ｊを決定する。図３は、情報処理装置が係数αｉ，ｊを決定する手法について説明するための図である。情報処理装置は、伝播元の想定ノードＲＮｉの特徴量ｈｉに伝播行列Ｗを乗算して得られるベクトルＷｈｉと、伝播先の想定ノードＲＮｊの特徴量ｈｊに伝播行列Ｗを乗算して得られるベクトルＷｈｊとを結合したベクトル（Ｗｈｉ，Ｗｈｊ）を個別ニューラルネットワークａ（アテンション）に入力し、出力層のベクトルをシグモイド関数、ＲｅＬＵ、ｓｏｆｔｍａｘ関数などの活性化関数に入力して正規化し、足し合わせることで、係数αｉ，ｊを導出する。個別ニューラルネットワークａは、解析対象となる事象について予めパラメータ等が求められたものである。
【００１７】
情報処理装置は、上記の規則に従いつつ、ニューラルネットワークの目的に沿うようにニューラルネットワークのパラメータ（Ｗ、αｉ，ｊ）を決定する。ニューラルネットワークの目的とは、想定ノードＡＮを現在の状態とした場合に将来の状態を出力することであったり、現在の状態を評価するための指標を出力することであったり、現在の状態を分類することであったりする。
【００１８】
図４は、第１の実施形態に係る情報処理装置１のブロック図である。情報処理装置１は、例えば、データ取得部１０と、ネットワーク処理部３０と、出力部６０とを備える。これらの機能部は、例えば、ＣＰＵ（Central Processing Unit）などのハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）などのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの記憶装置に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００１９】
データ取得部１０は、例えば、外部装置からグラフ構造のデータ２０を取得し、記憶部に記憶させる。記憶部は、例えば、ＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）、フラッシュメモリなどにより実現される。グラフ構造のデータ２０は、例えば、図１や図２の上図に示すようなグラフ構造を、実ノードＲＮと実エッジＲＥのそれぞれのレコードとして表現したデータである。また、グラフ構造のデータ２０には、それぞれの実ノードＲＮの初期状態としての特徴量が付与されていてもよい。なお、実ノードＲＮの初期状態としての特徴量は、グラフ構造のデータ２０とは別のデータセットとして用意されてもよい。データ取得部１０は、外部装置からグラフ構造のデータ２０を取得するのに代えて、予め記憶部に記憶されているグラフ構造のデータ２０を取得する（読み出す）ものであってもよいし、利用者が入力デバイスを用いて入力したグラフ構造のデータ２０を取得してもよい。
【００２０】
ネットワーク処理部３０は、例えば、実ノード・実エッジ隣接関係抽出部３２と、想定ノードメタグラフ化部３６と、メタグラフコンボリューション部４０とを備える。
【００２１】
実ノード・実エッジ隣接関係抽出部３２は、グラフ構造のデータ２０を参照し、隣接関係（接続関係）にある実ノードＲＮと実エッジＲＥを抽出する。例えば、実ノード・実エッジ隣接関係抽出部３２は、それぞれの実ノードＲＮおよび実エッジＲＥについて、隣接関係（接続関係）にある実ノードＲＮまたは実エッジＲＥを網羅的に抽出し、それらを対応付けた形で記憶部に記憶させる。
【００２２】
想定ノードメタグラフ化部３６は、実ノード・実エッジ隣接関係抽出部３２により抽出された実ノードＲＮと実エッジＲＥが接続されるように、想定ノードＡＮの状態を層状に繋いだニューラルネットワークを生成する。この際に、想定ノードメタグラフ化部３６は、前述したグラフアテンションネットワークに基づく規則に従いつつ、前述したニューラルネットワークの目的に沿うように、伝播行列Ｗおよび係数αｉ，ｊを決定する。
【００２３】
メタグラフコンボリューション部４０は、例えば、想定ノードＡＮのうち実ノードＲＮの初期値としての特徴量をニューラルネットワークに入力し、各層の想定ノードＡＮの状態（特徴量）を導出する。これを繰り返し実行することで、出力部６０が想定ノードＡＮの特徴量を外部に出力する。
【００２４】
以上説明した第１の実施形態によれば、より幅広いニーズに対応することができる。
【００２５】
（第２の実施形態）
以下、第２の実施形態について説明する。第２の実施形態において、情報処理装置は、想定ノードＡＮの元となる実ノードＲＮと実エッジの少なくとも一方に対して種別を設定し（換言すると、想定ノードＡＮに対して種別を設定し）、種別ごとに、係数を設定する際の規則を変更する。より具体的に、情報処理装置は、想定ノードＡＮの種別ごとに、その想定ノードＡＮから伝播する特徴量を規定する係数αｉ，ｊを決定するための伝播行列Ｗを異ならせる。
【００２６】
図５は、想定ノードＡＮの種別の定義の一例を示す図である。この例において、第２の実施形態の情報処理装置は、実ノードＲＮであった想定ノードに対してＡ、Ｂの二種類の種別を、実エッジＲＥであった想定ノードに対してＬ、Ｔの二種類の種別を設定する。図５の上図は、グラフ構造のデータ２０の内容の一例を示し、図５の下図は、実ノードＲＮと実エッジＲＥを想定ノードＡＮに変換した様子を模式的に示している。
種別が「Ａ」である実ノードＲＮ（Ａ）は、種別が「Ｌ」である実エッジＲＥ（Ｌ）のみが接続されたものである。
種別が「Ｂ」である実ノードＲＮ（Ｂ）は、種別が「Ｌ」である実エッジＲＥ（Ｌ）と種別が「Ｔ」である実エッジＲＥ（Ｔ）との双方が接続されたものである。
種別が「Ｌ」である実エッジＲＥ（Ｌ）と、種別が「Ｔ」である実エッジＲＥ（Ｔ）は、自身に接続された実ノードＲＮの特徴量の伝播特性が互いに異なるものである。
Ａ、Ｂ、Ｌ、Ｔに続く数字は、実ノードＲＮ、実エッジＲＥ、想定ノードＡＮとしての識別子である。以下、Ａ１、Ｂ１、Ｌ１、Ｔ２などの符号は、想定ノードＡＮの識別子であると共に、それらの特徴量を示すものとする。
【００２７】
図６は、第２の実施形態の手法により、グラフ構造のデータ２０から生成されたニューラルネットワークを示す図である。ニューラルネットワークの生成規則に関しては第1の実施形態と同様であるが、第２の実施形態の情報処理装置は、想定ノードＡＮの種別ごとに、その想定ノードＡＮから伝播する特徴量を規定する係数αｉ，ｊを決定するための伝播行列Ｗを異ならせる。具体的に、情報処理装置は、実ノードＲＮ（Ａ）であった想定ノードＡＮから伝播する特徴量には伝播行列ＷＡを適用し、実ノードＲＮ（Ｂ）であった想定ノードＡＮから伝播する特徴量には伝播行列ＷＢを適用し、実エッジＲＥ（Ｌ）であった想定ノードＡＮから伝播する特徴量には伝播行列ＷＬを適用し、実ノードＲＥ（Ｔ）であった想定ノードＡＮから伝播する特徴量には伝播行列ＷＴを適用する。なお、伝播行列ＷＡ、ＷＢ、ＷＬ、ＷＴのそれぞれを、層ごとに異ならせてもよい。
【００２８】
これによって、実ノードＲＮや実エッジＲＥの特性の違いに対して、より正確に追従することができ、正確に想定ノードＡＮの状態（特徴量）を予測することができる。
【００２９】
また、第１または第２実施形態の情報処理装置によれば、対象データの変更に対して柔軟に対応することができる。図７は、対象データの変更によってニューラルネットワークが変更される様子を示す図である。図７の上図の例を図５の例と比較すると、実ノードＲＮ（Ｂ１）と実ノードＲＮ（Ｂ２）とを接続する実エッジＲＥ（Ｔ２）が追加されている。この場合、図７の下図に示すように、ニューラルネットワークにおいては想定ノードＡＮ（Ｔ２）を追加し、想定ノードＡＮ（Ｔ２）と、想定ノードＡＮ（Ｂ１）、ＡＮ（Ｂ２）、および想定ノードＡＮ（Ｔ２）自身を接続する想定エッジＡＥを追加すれば済む。従って、対象データの変更に対して柔軟に対応することができる。
【００３０】
図８は、第２の実施形態に係る情報処理装置２のブロック図である。情報処理装置２は、第１の実施形態と比較すると、例えば、種別設定部３４を更に備える。種別設定部３４は、例えば、ＣＰＵなどのハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。これらの構成要素のうち一部または全部は、ＬＳＩやＡＳＩＣ、ＦＰＧＡ、ＧＰＵなどのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤやフラッシュメモリなどの記憶装置に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００３１】
種別設定部３４は、実ノード・実エッジ隣接関係抽出部３２により抽出された結果を参照し、実ノードＲＮおよび実エッジＲＥのそれぞれに前述したような種別を付与する。
【００３２】
想定ノードメタグラフ化部３６は、前述したグラフアテンションネットワークに基づく規則で、且つ特徴量の伝播元の種別に応じた伝播行列Ｗを適用して、係数αｉ，ｊを決定する。
【００３３】
その他の構成要素の機能については、第１の実施形態と同様である。
【００３４】
以上説明した第２の実施形態によれば、より幅広いニーズに対応することができる。
【００３５】
また、上記の構成は、社会インフラの状態を解析するのに好適である。例えば、電力送電配電網や上下水道網などの解析対象は、グラフ構造として捉えることで正確な解析をすることができる。
【００３６】
図９は、第２の実施形態を電力送電配電網に適用する様子について説明するための図である。図示する構成は、バス１〜バス４を含む。バスとは、電力の供給源や需要家が接続される「箇所」のような概念である。バス１とバス２の間には、変圧器が設けられている。バス２には、６０[ＭＷ]の需要家が接続されている。バス２とバス３の間は、７０[ｋｍ]の電力線で接続されている。バス３には、発電機と、７０[ＭＷ]の需要家が接続されている。バス２とバス４の間は、４０[ｋｍ]の電力線で接続されており、バス３とバス４の間は、５０[ｋｍ]の電力線で接続されている。バス４には、発電機と、１０[ＭＷ］の需要家が接続されている。このような構成において、バスを実ノード、変圧器を種別「Ｔ」の実エッジ、電力線を種別「Ｌ」の実エッジと考えると、図７に示すグラフ構造のデータおよびニューラルネットワークで状態を解析することができる。この場合、実ノードＲＮに基づく想定ノードＡＮに対して入力される入力属性としては、種別、接続された負荷、シャント抵抗などがある。また、種別「Ｔ」の実エッジＲＥに基づく想定ノードＡＮに対して入力される入力属性としては回路定数があり、種別「Ｌ」の実エッジＲＥに基づく想定ノードＡＮに対して入力される入力属性としては距離やユニット自由度などがある。入力属性とは、特徴量のうち静的な情報である。
【００３７】
グラフ構造に擬される社会インフラに対して、ニューラルネットワークによる解析処理を行う場合、以下の要件を満たすことが望ましい。
１．大規模性
社会インフラへの適用には、基本的に規模の大きさと拡張性が必要になる。たとえば、電力送電配電網を考えると、バス（設備機器や需要負荷などの接続点）数として１万以上の大規模回路網となることもある。
２．多様性
従来のニューラルネットワークを応用した入力情報は、多くが、均一の属性信号であった。たとえば、画像処理の場合、入力は、画素信号という一種類の情報であったり、その特徴信号であった。しかしながら、社会インフラの場合、その入力信号数（次元）は数千以上となる場合があり、ネットワーク層も数十層というような大きな規模になる場合がある。上述の電力送電配電網を考えると、発電機、変圧器、負荷、トランス、電線など多種の設備がつながった大規模システムである。
３．変動性
通常、社会インフラ自体は運用期間が長く、その間に機器の保守、改良、置換が繰り返され、その都度、運用管理の見直しや投資検討が行われている。このように社会インフラの部分的改善、変更に対して、モデルの再学習を行うことなく追従する機能が求められている。
【００３８】
これに対し実施形態の情報処理装置は、伝播行列Ｗを複数の想定ノードＡＮ間で共通して用いることで、伝播に関するパラメータを網羅的に探索する必要がなくなるため、解析対象が大規模であっても処理負荷の増大を抑制することができる。また、想定ノードＡＮに対して種別を設定し、伝播行列Ｗを種別に応じて異ならせることで、多様性の要求にも対応することができる。また、ニューラルネットワークにおけるノード間の結合を、全結合にするのではなく、元のグラフ構造のデータにおける隣接関係（接続関係）にあるものに限定しているため、変動性の要求にも対応することができる。
【００３９】
（第１または第２の実施形態の変形例）
上記各実施形態では、実ノードＲＮと実エッジＲＥを想定ノードとした後は、これらをニューラルネットワーク上では区別せずに処理を行うものとしたが、実ノードＲＮに基づく想定ノードＡＮに対する処理と、実エッジＲＥに基づく想定ノードＡＮに対する処理とを、タイミングをずらしながら交互に行うようにしてもよい。図１０は、変形例に係るニューラルネットワークの一例を示す図である。このように構成することで、ある実ノードＲＮの状態を、より速やかに隣接する（一つの実エッジを介して接続された）他の実ノードに伝播させることができる。また、この場合、実エッジからの伝播については、グラフアテンションネットワークの規則とは異なる規則で情報を伝播させてもよい。
【００４０】
（第３の実施形態）
以下、第３の実施形態について説明する。以降の実施形態において学習する対象のアクション決定ネットワークは、制御対象ないし解析対象の構造を表すグラフ構造のネットワークであれば十分であり、第１または第２の実施形態で説明したグラフアテンションネットワークは、あくまで好適な一例である。但し、以下では一例としてグラフアテンションネットワークを採用するものとして説明する。
【００４１】
図１１は、第３の実施形態の情報処理装置３のブロック図である。情報処理装置３は、データ取得部１０と、ネットワーク処理部３０と、出力部６０と、強化学習部７０とを備える。ネットワーク処理部３０は、実ノード・実エッジ隣接関係抽出部３２と、想定ノードメタグラフ化部３６Ａとを備える。データ取得部１０および実ノード・実エッジ隣接関係抽出部３２の機能は、第１または第２実施形態と同様であるため、再度の説明を省略する。なお、第３の実施形態以降では、グラフ構造のデータには被操作ノードや評価対象ノード（いずれも後述）の情報が付与されており、実ノードＲＮと実エッジＲＥ、それらの状態を層状に繋いだニューラルネットワークには、被操作ノードや評価対象ノードを特定する情報が付与される。
【００４２】
想定ノードメタグラフ化部３６Ａは、実ノード・実エッジ隣接関係抽出部３２により抽出された実ノードＲＮと実エッジＲＥが接続されるように、想定ノードＡＮの状態を層状に繋いだニューラルネットワークを生成する。なお、第３の実施形態において、グラフアテンションネットワークにおける伝播行列Ｗおよび係数αｉ，ｊを決定する処理は、強化学習部７０が行う。
【００４３】
図１２は、第３の実施形態に係る強化学習部７０が扱うネットワークの一例を示す図である。図示するように、想定ノードメタグラフ化部３６Ａが生成するネットワークには、複数のノードを含む出力層と、アクションポイントとが定義されている。
【００４４】
強化学習部７０は、報酬Ｒ１〜Ｒ４の期待値を最大化するようなアクションポイントの出力ｐ（ａ｜ｓ）が出力されるように、ネットワークのパラメータ（伝播行列Ｗ、係数αｉ，ｊなど）を学習する。強化学習部７０は、ネットワークのパラメータ（伝播行列Ｗ、係数αｉ，ｊなど）を、報酬Ｒ１〜Ｒ４と出力Ｖ１（ｓ）〜Ｖ４（ｓ）との二乗誤差を最小化するように学習する。引数ａはアクションを示し、ｓは状態を示している。アクションポイントの出力ｐ（ａ｜ｓ）は、例えば、状態ｓを前提とし、アクションポイントに対応する被操作ノード（例えばタップ付き変圧器）における複数の選択肢（例えばタップ比）のそれぞれの選択確率（確率尤度）を示す条件付確率分布である。どのノードが被操作ノードであるかという情報は、予めグラフ構造のデータ２０に付与されている。報酬Ｒ１〜Ｒ４のそれぞれは、例えば、複数の選択肢のうち選択確率が最大のものを選択したという情報をシミュレータ１００に与えた結果、シミュレータ１００からフィードバックされる観測値を、関数（報酬関数）に入力してえられる値である。
【００４５】
出力層における複数のノードに対応する入力層の想定ノード（以下、評価対象ノード）は、その状態を所望の状態に近づけたい想定ノード、すなわち制御の上で重要度が高い想定ノードである。評価対象ノードを複数定義しておくことで、制御対象の複数個所における状態を所望の状態に近づけることができ、より正確かつ低負荷で制御対象を制御することができる。また、出力層の特徴量Ｖ１（ｓ）〜Ｖ４（ｓ）のそれぞれと報酬Ｒ１〜Ｒ４とを近づけることの重要度を異ならせることで、最も重要な箇所の状態を優先的に所望の状態に近づけるといった制御も可能となる。例えば、報酬関数は、例えば簡易的にΣ［αｋ×｛Ｖｑ（ｓ）−Ｒｑ｝２］などの二重誤差の加重和で表されるが（ｑ＝１，…，４）、αｋの配分を所望の配分とすることで、上記の優先的な制御を行うことができる。
【００４６】
強化学習部７０による学習処理は、例えば、Ａ３Ｃアルゴリズムに基づいて行われる。すなわち、強化学習部７０は、アクションの評価関数と、Ｃｒｉｔｉｃと呼ばれる、システム状態によって決定される価値（Ｖ）関数との双方を比較およびフィードバックしながらアクション選択と価値関数の双方を最適化する。
【００４７】
強化学習部７０によりパラメータが決定されたネットワークは、アクション決定ネットワーク８０として、出力部６０を介して他装置などに出力される。これを受領した他装置では、アクション決定ネットワーク８０の入力層に制御対象の状態を入力することで、最適なアクションを取得する。そして、取得したアクションに基づいて被操作ノードに対応する機器を制御する。
【００４８】
以上説明した第３の実施形態によれば、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる。従来の強化学習では、専ら全結合のニューラルネットワークを設定し、Ａ３ＣやディープＱラーニングなどによる処理を行っていた。その場合、本来であれば関連性の低いノード同士に不要な相関関係が生じてしまったり、結合数が多いことにより処理負荷が増大してしまう場合があった。更に、ディープＱラーニングにおいてＱ値は全体で一つであるため、局所的な状態を理想的な状態に近づけるために、どのノードをどう操作するべきか特定するのが困難であった。この点、第３の実施形態の情報処理装置３では、ノード同士の接続関係を記述したグラフ構造のデータ２０を表す強化学習ネットワークを用いて強化学習を行い、複数の評価対象ノードについて報酬に近づけるように学習を行うため、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる。
【００４９】
なお、上記の説明は、専ら、取るべきアクションが出力層に出てくる方策ベースの強化学習に適用した例であるが、価値ベースの強化学習にも適用することができる。この場合、強化学習部７０は、網羅的にアクションを仮定して結果を求め、報酬が最も大きくなるアクションを採用する。
【００５０】
（第３の実施形態の適用例とシミュレーション結果）
図１３は、第３の実施形態の適用例（その１）を示す図である。本図に示す電力潮流計算モデルは、ＩＥＥＥの標準電力系統システムモデルであり、ここでは、１４本のバスを含む。これをバスＢ１〜Ｂ１４とする。バスには、各々、負荷が接続されている。また、バスの中には、発電機が接続されたものがあり（本例では、バスＢ１、Ｂ２、Ｂ３、Ｂ６）、バスＢ４とバスＢ７の間は変圧器ｔ４７で接続され、バスＢ４とバスＢ９の間は変圧器ｔ４９で接続され、バスＢ５とバスＢ６の間は変圧器ｔ５６で接続されている。その他のバス同士はライン（送電線）で接続されている。バスＢ９には、電力の接地潮流分を制御するためのシャント回路ｂ９が接続されている。変圧器のタップ切替スイッチ、シャント回路の定数の切替スイッチが、アクション空間として制御可能なシステムを想定する。この場合、アクションは、４変数（４次元）となる。
【００５１】
図１４は、第３の実施形態の適用例（その２）を示す図である。本図に示す電力潮流計算モデルは、ＩＥＥＥの標準電力系統システムモデルからバスＢ１１を除外したものである。
【００５２】
本発明の発明者は、図１４に示す電力系統システムを、バス、変圧器、ライン、シャント素子の４種類のノードで構成されるメタグラフに変換して、第３の実施形態の手法によってネットワークを学習し、電力系統システムを制御するシミュレーション（以下、第１シミュレーション）を行った。第１シミュレーションにおいて、バスＢ４、Ｂ５、Ｂ６、Ｂ７、Ｂ９に接続された負荷が変動したときに、これらのバスの電圧の変動を小さくすることを報酬とし、タップ付変圧器の出力電圧スイッチとシャント回路で制御する、但し、負荷は指定された範囲内（例えば０．９４〜１．０６ｐｕ）にあり、タップ切替は制御期間を通して最小になることを条件とした。
【００５３】
また、本発明の発明者は、図１４に示す電力系統システムにおいて学習されたバス、変圧器、ライン、シャント素子のそれぞれのノードに対応する伝播行列Ｗ、係数αｉ，ｊなど（ノード関数）をそのまま用いて図１３に示す電力系統システムを制御するシミュレーション（以下、第２シミュレーション）を行った。
【００５４】
図１５は、第１シミュレーションと第２シミュレーションにおける電圧制御状態、すなわち価値関数を学習曲線として示す図である。図中、ＡＸが第１シミュレーションにおける価値関数の推移を示し、ＢＸが第２シミュレーションにおける価値関数の推移を示している。図示するように、両者はほぼ同じ価値関数値に収束している。つまり、バス１３本で獲得したノード関数もバス１４本で獲得されたノード関数もほぼ等価なものを使用することができることがわかる。従って、運用中のシステム情報を使って獲得した各設備モデルを、同種の追加設備の関数として使うことができるので、システムの構成を変更しても、新たに全体を学習しなおす必要がないことがわかる。
【００５５】
（第４の実施形態）
以下、第４の実施形態について説明する。第４の実施形態では、更に、報酬共有ネットワークを導入して強化学習を行う。以下、構成図を省略するが、第４の実施形態に係る想定ノードメタグラフ化部を想定ノードメタグラフ化部３６Ｂ、強化学習部を強化学習部７０Ｂと称して説明する。
【００５６】
図１６は、第４の実施形態に係る強化学習部７０Ｂが扱うネットワークの一例を示す図である。図示するように、このネットワークは複数の被操作ノードを含んでいる。このネットワークは、以下のように定義されたものである。被操作ノードＴｐ（ｐ＝１，２）におけるアクションａｐの選択ポリシーは、現在の状態ｓに依存してきまる選択肢｛ａｐ｝に対する確率尤度ｐ（ａｐ｜ｓ）に従って決まり、評価対象ノードＢｉ（＝１，…，４｝の評価関数はＶｉ（ｓ）と表現され、変数sがアクションａｐによって変動する。また、ラインノードはＬｑと定義される。以下、図１６に示すネットワークを強化学習ネットワークと称する。
【００５７】
第４の実施形態では、更に、想定ノードメタグラフ化部３６Ｂが報酬共有ネットワークを定義し、強化学習部７０Ｂは、強化学習ネットワークと報酬共有ネットワークを連結して全体に対して強化学習アルゴリズムで学習することで、全体システムのアクション方策と各ノード関数、報酬分配関数を同時に求める。
【００５８】
図１７は、報酬共有ネットワークの一例を示す図である。報酬共有ネットワークは、強化学習ネットワークの少なくとも一部と同じ接続態様を有するネットワークである。報酬共有ネットワークにおける伝播行列を、Ｗ＊Ｂ、Ｗ＊Ｌ、Ｗ＊Ｔと定義する。以下、「＊」は報酬共有ネットワークに属することを示すものとする。前述した各実施形態と同様に、伝播行列Ｗ＊Ｂ、Ｗ＊Ｌ、Ｗ＊Ｔのそれぞれを、層ごとに異ならせてもよい。
【００５９】
報酬共有ネットワークにおけるノード属性の構成は以下のようになる。まず、ノード全体のうちどのノードであるかを示すベクトルｎｄ＝（０，０，…，１，…，０，０）を定義する。ベクトルｎｄは、要素のうち一つのみが１であり、他が０のベクトルである。報酬関数Ｒｉとベクトルｎｄをノード属性に結合（コンカチネット）することで、式（４）〜（６）に示すように、報酬値を含んだノード属性を定義することができる。
【００６０】
Ｂ＊ｉ＝（Ｒｉ｜｜ｎｉ｜｜Ｂｉ）  ｉ＝１，…４        …（４）
Ｔ＊ｐ＝（０｜｜ｎｐ｜｜Ｔｐ）  ｐ＝１，２        …（５）
Ｌ＊ｑ＝（０｜｜ｎｑ｜｜Ｌｑ）  ｑ＝１，２        …（６）
【００６１】
これらのノード属性は、報酬値を含んでモデル化されているため、強化学習部７０Ｂは、伝播行列Ｗ＊やアテンション関数ａ＊も、コンカチネットされた入力属性に対して求める。強化学習部７０Ｂは、出力となるＲＴ１、ＲＴ２、対応する価値推定値ＶＴ１（ｓ）、ＶＴ２（ｓ）、評価対象ノードＢｉの出力、および、Ｒ１、Ｒ２、Ｒ３、Ｒ４と対応する推定値Ｖ１、Ｖ２、Ｖ３、Ｖ４に基づいて、Ａ３ＣあるいはＡｃｔｏｒ−Ｃｒｉｔｉｃアルゴリズムなどで伝播行列Ｗ、Ｗ＊、アテンション関数ａ、ａ＊を導出する。これらは、ノード種類γ＝｛Ｂ，Ｔ，Ｌ｝ごとに求められる。
【００６２】
パラメータセット（Ｗ＊，ａ＊）が導出されると、種類ｋのノードｉの隣接ノードｊからノードｉへのアテンション係数ｅｋｉｊは式（７）で表される。式中、ａ（，）はアテンション関数であり、その出力は実数値であるが、２つのベクトル入力に対する線形関数（内積）の場合もある。
ｅｋｉｊ＝ａ（Ｗ＊ｋ・ｈ＊ｊ，Ｗ＊ｋ・ｈ＊ｉ）  …（７）
【００６３】
式（７）を、式（８）に示すように規格化することで、ａｋｉｊが得られる。ａｋｉｊをノードｉの隣接ノードｊの集合に関して合計を求めると、１となる。アテンション係数としてｅｋｉｊにＬｅａｋｙＲｅＬＵなどの非線形関数を乗算してもよい。
ａｋｉｊ＝ｓｏｆｔｍａｘ＿ｊ（ｅｋｉｊ）  …（８）
【００６４】
次の層のノードの属性をh＊’dと定義すると、式（９）が成立する。
ｈ＊’ｉ＝σ｛Σｊ∈Ｎｉ（ａｋｉｊ・Ｗ・ｈ’ｉ）｝  …（９）
【００６５】
ｈ＊ｄは、報酬共有ネットワークのノード属性を記述するものであり、報酬、ノード識別情報、ノード属性がコンカチネットされている。つまり、ｈ＊ｄは式（１０）で表される。
ｈ＊ｄ＝（Ｒ｜｜ｎ｜｜ｈｄ）  ｄ＝１，２，…，８    …（１０）
【００６６】
ここで、評価対象ノードＢｉの推定評価値Ｖｉ（ｓ）と実際の報酬値Ｒｉとの差分関数(アドバンテージ関数）を式（１１）のように定義する。
Ａｉ（ｔ）＝Ｒｉ（ｔ）−Ｖｉ（ｓ）  ｉ＝１，…，４    …（１１）
【００６７】
このアドバンテージ関数から、式（１２）、（１３）で表されるロス関数を定義する。
Ｌｐｉ＝ｌｏｇ｛ｐ（ａ｜ｓ）・Ａｉ（ｔ）｝  …（１２）
Ｌｖｉ＝Ａｉ（ｔ）２  …（１３）
【００６８】
強化学習部７０Ｂは、ロス関数の勾配に沿ってＷおよびａを更新する。この場合、評価対象ノードの全てについて加重和を求めるなどして、全体システムに対する属性としてアドバンテージを定義して上式のように計算することも可能である。この各更新過程において算出される、報酬Ｒｉ（ｔ）、各ノードの属性ｈｄ（ｔ）ノードの識別ベクトルｎｄをコンカチネットして式（１０）に示すように報酬共有ネットワークの入力ノードｈ＊ｄを構成し、報酬共有ネットワークの入力とする。報酬共有ネットワークでは、出力を被操作ノードに対応するノード（制御ノード）に対して仮想的に定義する報酬値ＲＴｐとする。この関数を下に、制御ノードの推定評価値ＶＴｐ（ｓ）を学習過程で求めてゆく。制御ノードについてのアドバンテージ関数およびロス関数は、式（１４）〜（１６）のように定義される。
ＡＴｐ（ｔ）＝ＲＴｐ（ｔ）−ＶＴｐ（ｓ）  ｐ＝１，２    …（１４）
Ｌｐｐ＝ｌｏｇ｛ｐ（ａ｜ｓ）・ＡＴｐ（ｔ）｝  …（１５）
Ｌｖｐ＝Ａｐ（ｔ）２  …（１６）
【００６９】
強化学習部７０Ｂは、ロス関数の勾配に沿ってＷ＊およびａ＊を更新することで、ノード関数と報酬分配関数を同時に導出する。なお、ここで、各推定値Ｖ（ｓ）は、強化学習過程において、数ステップ前の学習係数を使って、現在の価値関数を推定したものであるが、先読みステップ数を適宜選んでよい。
【００７０】
以下、強化学習過程において獲得された報酬分配関数を元に、報酬分配式を求める処理について説明する。図１６において、強化学習ネットワークの出力層において、被操作ノードＴ１、Ｔ２に相当する出力ノード毎に、係数パラメータセットＷＴ１、ＷＴ２を介して推定報酬関数ＶＴ１（ｓ）、ＶＴ２（ｓ）が出力されている。一方、図１７において、報酬共有ネットワークの出力層において、コンカチネットして再定義された被操作ノードＴ１、Ｔ２に相当する出力ノード（制御ノード）毎に、係数パラメータセットＷ＊Ｔ１、ＷＴ２を介して（実）報酬関数ＲＴ１（ｔ）、ＲＴ２（ｔ）が出力される。報酬ノードの集合をＩ、被操作ノードの集合をＫとする。また、システム全体のノードの特性表現として、式（１７）のようにｈ→を定義する。
ｈ＊→＝（ｈ＊１，ｈ＊２，…，ｈ＊８）  …（１７）
【００７１】
そして、報酬分配関数をｆ（ｈ＊→）とし、ｒ＊＝ｆ（ｈ＊→）なる出力ベクトルが得られたとする。このr＊のうち、被操作ノードk（∈Ｋ）についての成分を取り出して、それを｛ｒ＊ｋ｝とし、分配係数αkを式（１８）に基づいて求めることができる。
αｋ＝ｓｏｆｔｍａｘ（Ｗ＊Ｔｋ，ｒ＊ｋ）＝ｅｘｐ（Ｗ＊Ｔｋ）／Σｊ∈Ｋｅｘｐ（ＷＴｊ・ｒｊ）  …（１８）
【００７２】
強化学習部７０Ｂは、係数αｋを用いて、報酬ノードｉ（∈Ｉ）で得られた報酬Ｒｉを、被操作制御ノード集合Ｋの要素ｋの報酬の一部として分配する。実際の分配計算は、式（１９）で表される。
Ｒｋｉ＝αｋ・Ｒｉ  …（１９）
【００７３】
強化学習部７０Ｂは、最終的に被操作ノードkに与えられる報酬Ｒｋを、式（２０）に示すように、全ての報酬ノードに関するＲｋｉを合計することで算出する。
Ｒｋ＝Σｊ∈ＩＲｉＫ
【００７４】
強化学習部７０Ｂは、このＲｋと、強化学習ネットワーク側の評価関数Ｖｋ（ｓ）（k∈ｋ）とに基づいて、Ａｋ＝Ｒｋ−Ｖｋ（ｓ）によりアドバンテージを定義し、Ａ３Ｃなどと同様のアルゴリズムを適用することで、分配関数やネットワークの係数を求める。
【００７５】
以上説明した第４の実施形態によれば、第３の実施形態と同様の効果を奏することができ、更に、特徴量を報酬に近づける際に、どの被操作ノードが寄与したのかを解析することができる。
【００７６】
（第５の実施形態）
以下、第５の実施形態について説明する。第５の実施形態は、第３または第４の実施形態における強化学習ネットワークの中間層と出力層との間に、ＬＳＴＭ（Long Short Term Memory）などの時系列処理層を追加したものである。図１８は、図１６に示す強化学習ネットワークにＬＳＴＭを適用した様子を示す図である。それぞれのＬＳＴＭは、ノード種類ごとに同じものが使用されてよい。時系列処理層を追加することで、各ノードの状態遷移を考慮した学習が可能となる。
【００７７】
（第６の実施形態）
以下、第６の実施形態について説明する。第６の実施形態は、第３〜第５の実施形態のいずれかの構成に加えて、報酬分配部を更に備えるものである。以下では、第３の実施形態に報酬分配部が付加された例について説明する。
【００７８】
（第６の実施形態の背景）
近年、人工知能を産業領域に活用する試みが進められている。人工知能技術としては、おもに、Deep Learningやその関連技術が多く、画像認識、故障解析、特性予測など適用範囲が広がっている。また、こうした対象の時系列的な最適運用を考えるために、強化学習の応用が広がっている。交通や電力系統、コンピュータネットワークといったインフラに関わる分野では、対象がグラフ構造を持っている場合も多い。グラフ構造を持つ対象に強化学習を適用する場合、アクションや報酬がノードに紐付いて与えられることがある。たとえば、交通網での渋滞を最小化する工事スケジュールの問題を考える。この場合、アクションは工事対象の道路というノードにひも付き、報酬である渋滞度も、道路というノードごとに算出される。この場合、アクションと報酬にはある近傍関係が成り立つことが想定される。先程の例では、ある道路が工事を行った場合、その近傍の道路の渋滞度には大きく影響するが、遠方の道路への影響は軽微であると考えられる。以後、報酬を算出するノードを報酬ノード、アクションを行うノードを被操作ノードと呼ぶ。これらは対象のグラフの構造に含まれるノードの部分集合として定義され、排他的ではない。
【００７９】
従来、こうした報酬の近傍関係については適切に考慮する技術が存在しなかった。そのため、各ノードで得られた報酬は近傍関係を無視して各アクションに等配分することが考えられるが、その場合、以下二点の課題が考えられる。
【００８０】
（１）  要因解釈性
被操作ノードと報酬ノードには近傍関係が考えられる。これを無視することは、各報酬がどのノードのアクションによって生じたものなのかを考えないということであり、要因分析を困難にする。
【００８１】
（２）  スケーラビリティ
関連性の弱いノードから得られた報酬は、被操作ノードにとっては報酬にノイズが含まれていることと等価であり、モデルの収束性を下げる。制御対象が大規模化し、被操作ノード、報酬ノードの数が増えると、互いの関連性が不明瞭になり、各被操作ノードにそれと相関の低い報酬ノードからの報酬が流れ込み、モデルの学習速度が低下することが想定される。
【００８２】
図１９は、第６の実施形態の情報処理装置６のブロック図である。情報処理装置６は、図１１に示す情報処理装置３に加えて、報酬分配部９０を更に備える。なお、報酬分配部９０は、情報処理装置６から独立した装置（報酬分配装置）として構成されてもよい。
【００８３】
報酬分配部９０は、報酬分配行列Ｄを決定する。報酬分配行列Ｄは、「分配先ノード数×分配元ノード数」の要素を持つ行列である。分配先ノード数は、時刻ｔの被操作ノード数と等しく、分配元ノード数は、時刻ｔ＋１の報酬ノード数と時刻ｔ＋１の被操作ノード数の和に等しい。報酬分配行列Ｄの一次元目のインデックスは時刻ｔの被操作ノードに対応し、報酬分配行列Ｄの二次元目のインデックスは時刻ｔ＋１の報酬ノードまたは被操作ノードに対応する。報酬分配行列Ｄの要素ｄｉｊは、時刻ｔ＋１のｊ番目の報酬ノードまたは被操作ノードから、時刻ｔのｉ番目の被操作ノードへの報酬分配割合を示す。報酬分配行列Ｄの要素ｄｉｊは、グラフの特徴やグラフ構造の近傍関係を入力し、かつグラフ構造によらないパラメータ数を持つ関数によって計算される。例えば、グラフ上の到達距離や、ランダムウォークの到達確率を正規化したもの、報酬伝播用ＧＣＮ等である。これらについて称性の考慮は不要であり、一般的な距離の定義に従う必要はないが、従ってもよい。
【００８４】
報酬分配行列Ｄの要素ｄｉｊを一次元目のインデックス方向に加算すると、式（２０）に示すように１になるように正規化される。これは後述する報酬分配時に報酬総量を変えないようにするためである。正規化方法にはｓｏｆｔｍａｘ関数を適用したり、要素の和で除算する等の手法が考えられる。以下、報酬分配行列Ｄの要素ｄｉｊを計算する関数のパラメータと正規化パラメータをまとめてφと表現し、φによって決定される報酬分配行列をＤφと表現する。また、数の報酬種類を持つ場合、報酬分配行列Ｄは報酬種類ごとに定義されてもよい。
【００８５】
Σｉｄｉｊ＝１  ∀ｊ∈node index  …（２０）
【００８６】
報酬分配部９０は、報酬分配行列Ｄφと、結合報酬ベクトルＲ’ｔ＋１とに基づいて、被操作ノードに分配する報酬を決定する。より具体的に、報酬分配部９０は、式（２１）、（２２）に基づいて、時刻ｔの被操作ノードに分配する報酬を決定する。式中、ｃｏｎｃａｔはコンカチネット（結合）を表し、ｒｔ＋１は、時刻ｔ＋１の報酬ノードについて計算された報酬集合をノードのインデックスに従って並べてベクトル表現したものであり、Ｒｔ＋１は、将来から伝播してきた報酬をベクトル表現したものであり、γは将来報酬の割引率である。報酬分配部９０は、報酬分配行列Ｄφと、結合報酬ベクトルＲ’ｔ＋１とを乗算することで、現在の報酬ベクトルＲｔを導出する。報酬ベクトルＲｔは、時刻ｔの被操作ノード数の長さを持つベクトルであり、報酬分配部９０は、報酬ベクトルＲｔに基づいて報酬を時刻ｔの被操作ノードに分配する。
【００８７】
Ｒ’ｔ＋１＝ｃｏｎｃａｔ（ｒｔ＋１，γ・Ｒｔ＋１）  …（２１）
Ｒｔ＝Ｄφ・Ｒ’ｔ＋１  …（２２）
【００８８】
報酬分配行列Ｄφのパラメータφは、ハイパーパラメータとして人手で与えることもできるし、学習によって自動獲得することもできる。学習する際の目的関数には、Ｄφによって算出される報酬のベクトル表現Ｒｔと、各被操作ノードの状態ｓ＿ｔｎ及びアクションａ＿ｔｎの関連度が最大化されるようなものを選択すると好適である。例えば、各ノードについてアクションを行う前の報酬分布と行った後の報酬分布を比較して算出した、アクションによる情報ゲインや、報酬を観測したことによるアクション確率の情報ゲインなどが利用できる。自動学習については後述する。
【００８９】
［適用例］
以下、第６の実施形態の適用例について説明する。図２０は、将来報酬ベクトルＲｔ＋１を導出する様子の一例を示す図である。図２０は、時刻tに各被操作ノードＮａ１〜Ｎａ３が行動ベクトルＡ＿ｔ（図では（０，１，１））で表される行動をとり、時刻ｔ＋１に遷移した状態と、そこで得られた報酬を示している。グラフ上に報酬ノードＮｒ１〜Ｎｒ４と、被操作ノードＮａ１〜Ｎａ３が定義されている。報酬ノードには報酬ベクトルｒｔ＋１が与えられ、被操作ノードには、その被操作ノードが将来得る報酬ベクトルＲｔ＋１が与えられている。報酬分配部９０は、これらの報酬を各被操作ノードに分配する。
【００９０】
報酬分配部９０は、まず、報酬分配行列Ｄφを作成する。図２１は、報酬分配行列Ｄφを作成する様子の一例を示す図である。報酬分配部９０は、時刻tの被操作ノードＮａ１〜Ｎａ３と時刻ｔ＋１の報酬ノードＮｒ１〜Ｎｒ４及び被操作ノードＮａ１〜Ｎａ３との関連度スコアを任意の関数で算出し、これを被操作ノード方向の合計が１になるよう正規化することで、報酬分配行列Ｄφを作成する。
【００９１】
そして、報酬分配部９０は、報酬ベクトルＲｔ＋１を導出する。図２２は、報酬ベクトルＲｔを導出する様子の一例を示す図である。報酬分配部９０は、報酬ベクトルｒｔ＋１と将来報酬ベクトルに割引率γを乗算したγ・Ｒｔ＋１とを結合した結合報酬ベクトルＲ’ｔ＋１を、報酬分配行列Ｄφに対して右から積を求める。なお、簡単のため、図では割引率γを１とした。これにより、各被操作ノードに与える報酬ベクトルＲｔが計算される。強化学習部７０は、各被操作ノードについて、この報酬ベクトルＲｔを用いて任意の強化学習を行う。例えばAdvantage-Actor-Critic法であれば、式（２２）にしたがって、各被操作ノードの方策πのパラメータθを更新する。なお、エピソード中でグラフ構造が変わったとしても、報酬分配行列を再計算することで評価可能である。図２２の例では、例えば、報酬ベクトルのＮｒ３の要素は被操作ノードＮａ３に影響されて生じたことが見て取れる。
【００９２】
Δμ（θ）＝Σｎ（Ｒｔｎ−Ｖｎ（ｓｔ））ｌｏｇπθ（ａｎ｜ｓｔ）  ｎ∈Ｎａ  …（２２）
【００９３】
以下、報酬分配行列Ｄφのパラメータφの自動学習について説明する。理想的な報酬分配行列のパラメータは、時刻ｔにおける被操作ノードｎに分配される報酬Ｒ＿ｔｎの分布が、そのノードのアクションによって大きく影響をうけるもの、すなわち、アクションによる報酬分布の情報利得の総和Ｉｇが最大化されたものと考えられる。総和Ｉｇは式（２３）によって表される。式中、ＫＬはＫＬダイバージェンス（ＫＬ情報量）である。
【００９４】
Ｉｇ＝ΣｔΣｎ［ＫＬ（Ｐ（Ｒｔｎ｜ｓｔ，ａｔｎ）｜｜Ｐ（Ｒｔｎ｜ｓｔ））  ｎ∈ａｎｏｄｅ  …（２３）
【００９５】
報酬の分布が分散σ２の正規分布に従うと仮定すると、式（２３）の一部は式（２４）で表現することができる。式中、Ｎは正規分布を表す関数である。
【００９６】
Ｐ（Ｒｔｎ｜ｓｔ，ａｔｎ）＝Ｎ（μｎ（ｓｔ），σ）  …（２４）
【００９７】
式（２３）に式（２４）を代入すると、正規分布間のＫＬダイバージェンスにより、式（２３）を式（２５）のように変形することができる。μｎ（ｓ）は各被操作ノードの行動によらない報酬の期待値であるため、強化学習モデルの推定する状態価値Ｖｎ（ｓ）に置き換えることができる。なお、（Ｄφ・Ｒ’ｔ＋１）ｎはベクトル（Ｄφ・Ｒ’ｔ＋１）のｎ番目のインデックスに相当する要素である。
【００９８】
【数１】
2020135390.tif 000003
【００９９】
これを報酬分配行列Ｄφのパラメータφで偏微分すると、∂Ｄφ／∂φによって勾配が表現できる。Ｄφがパラメータφで微分可能な形で定義されていれば、式（２６）を用いてパラメータの勾配を求め、確率的勾配降下法などでパラメータφを最適化することができる。報酬分配部９０は、以上説明した原理に基づいてパラメータφを最適化する。
【０１００】
【数２】
2020135390.tif 000004
【０１０１】
（第６実施形態の変形例）
以下、第６の実施形態の変形例について説明する。第６実施形態は、同時刻に複数のエージェントが行動する、マルチエージェントの方式に適用されるものとしたが、この変形例では同時刻に行動する被操作ノードは一つであるものとする。
【０１０２】
図２３は、第６の実施形態の変形例が処理対象とするノードの状態変化の一例を示す図である。図２３に示すように、時刻ｔ＋２で生じた報酬ベクトルｒｔ＋２と、そこで得られた将来報酬Ｒｔ＋２を時刻ｔ＋１と時刻ｔに分配する問題を考える。ここでは、各時刻に分配される報酬はスカラであるものとする。将来報酬Ｒｔ＋２は、同時刻の全ノードと等距離のノードＮａｌｌｔ＋２で生じたものとする。
【０１０３】
変形例の報酬分配部（図示しないが、報酬分配部９０Ａと称する）は、時刻ｔからｔ＋２までの対応するノードを、時間軸方向のエッジで結合し、結合グラフを作成する。報酬分配部９０Ａは、報酬ノード、被操作ノードそれぞれに対して、場所以外に時間のインデックスを設定し、報酬分配行列Ｄφの要素を、この結合グラフ上で算出する。
【０１０４】
図２４は、結合グラフから報酬分配行列Ｄφを算出する手順の一例を示す図である。図中、黒く表示されているのは各時刻において行動した被操作ノードであり、時刻ｔ＋２には、全ノードと等距離のノードＮａｌｌｔ＋２が存在する。報酬分配部９０Ａは、時刻ｔ、ｔ＋１において行動した被操作ノードの行動に対する時刻ｔ＋２の報酬ノードおよびノードＮａｌｌｔ＋２の関連度スコアを任意の関数で算出し、これを被操作ノード方向の合計が１になるよう正規化することで、報酬分配行列Ｄφを作成する。
【０１０５】
図２５は、報酬ベクトル（Ｒｔ，Ｒｔ＋１）Ｔを導出する様子の一例を示す図である。報酬分配部９０Ａは、時刻ｔ＋２における結合報酬ベクトルＲ’ｔ＋２を、報酬分配行列Ｄφに対して右から積を求める。なお、簡単のため、図では割引率γを１とした。これにより、時刻ｔ、ｔ＋１の各被操作ノードに与える報酬ベクトル（Ｒｔ，Ｒｔ＋１）Ｔが計算される。なお、この変形例では、一時刻につき被操作ノードが一つのみ行動するものとしているが、第６の実施形態の手法と組み合わせることで、複数であっても適用可能である。
【０１０６】
以上説明した第６の実施形態並びにその変形例によれば、報酬分配部９０（または９０Ａ）を更に備えることで、要因解釈性とスケーラビリティの問題を改善することができる。
【０１０７】
以上説明した少なくともひとつの実施形態によれば、ノード同士の接続関係を記述したグラフ構造のデータを取得するデータ取得部（１０）と、前記データ取得部により取得されたグラフ構造のデータを表す第１のネットワークを設定する設定部（３０）と、前記第1のネットワークにおいて、評価対象ノードの出力層の特徴量が報酬に近づくように、且つ、被操作ノードの出力層の特徴量が、前記評価対象ノードの出力層の特徴量を報酬に近づける特徴量となるように、前記第１のネットワークのパラメータを導出する強化学習部（７０）とを持つことにより、より正確かつ低負荷で制御対象を制御するためのネットワークを学習ことができる。
【０１０８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１０９】
１、２、３、６  情報処理装置
１０  データ取得部
２０  グラフ構造のデータ
３０  ネットワーク処理部
３２  実ノード・実エッジ隣接関係抽出部
３４  種別設定部
３６、３６Ａ  想定ノードメタグラフ化部
４０  メタグラフコンボリューション部
５０  想定ノード特徴量
６０  出力部
７０  強化学習部
８０  アクション決定ネットワーク
９０  報酬分配部
１００  シミュレータ
【図１】
2020135390.tif 000005
【図２】
2020135390.tif 000006
【図３】
2020135390.tif 000007
【図４】
2020135390.tif 000008
【図５】
2020135390.tif 000009
【図６】
2020135390.tif 000010
【図７】
2020135390.tif 000011
【図８】
2020135390.tif 000012
【図９】
2020135390.tif 000013
【図１０】
2020135390.tif 000014
【図１１】
2020135390.tif 000015
【図１２】
2020135390.tif 000016
【図１３】
2020135390.tif 000017
【図１４】
2020135390.tif 000018
【図１５】
2020135390.tif 000019
【図１６】
2020135390.tif 000020
【図１７】
2020135390.tif 000021
【図１８】
2020135390.tif 000022
【図１９】
2020135390.tif 000023
【図２０】
2020135390.tif 000024
【図２１】
2020135390.tif 000025
【図２２】
2020135390.tif 000026
【図２３】
2020135390.tif 000027
【図２４】
2020135390.tif 000028
【図２５】
2020135390.tif 000029