JP6990636B2 - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP6990636B2
JP6990636B2 JP2018161209A JP2018161209A JP6990636B2 JP 6990636 B2 JP6990636 B2 JP 6990636B2 JP 2018161209 A JP2018161209 A JP 2018161209A JP 2018161209 A JP2018161209 A JP 2018161209A JP 6990636 B2 JP6990636 B2 JP 6990636B2
Authority
JP
Japan
Prior art keywords
value
action
neural network
state
objective function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018161209A
Other languages
English (en)
Other versions
JP2020035178A (ja
JP2020035178A5 (ja
Inventor
忠幸 松村
幸二 福田
教夫 大久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018161209A priority Critical patent/JP6990636B2/ja
Publication of JP2020035178A publication Critical patent/JP2020035178A/ja
Publication of JP2020035178A5 publication Critical patent/JP2020035178A5/ja
Application granted granted Critical
Publication of JP6990636B2 publication Critical patent/JP6990636B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、情報処理システムに関する。
システム要求仕様の高度化及び制御対象システムの不確実性が高まっており、システム開発コストが高騰している。そこで、入力xに対して出力yを返すモジュール(y=f(x))を人手でプログラミングするのではなく、モジュール(y=f(x))を、機械学習による推定モデルとして一連のプログラム開発フローに取込む動き(Machine Learning as Programming)が活発化しつつある。
具体的には、従来のプログラミング手法は、対象の機能と、その入出力を仕様書(自然言語/仕様記述言語等)にて定義する。仕様書を満たす機能をプログラミング言語にてコードとして実現する。
一方、機械学習を利用するプログラミング手法は、システム(関数)を、入力に対して適切な出力を求めるブラックボックスと捉える。機械学習は、大量の入出力データセット{(x1、y1)、(x2、y2)...}から、y=F(x)を満たす関数Fを学習する。本手法は、機能を言語として書き下すのではなく、適切な入出力データセットとして定義する。コーディングを行うことなく、収集したデータセットからFを満たすモデルを学習する。
機械学習の様々な手法において、ニューラルネットワークベースの手法は、画像処理への応用で大きな成功を収めている。近年は画像データに留まらず、グラフデータや点群(幾何)データなど、ニューラルネットワークの適用範囲はますます広がっている。
例えば、非特許文献1は、データセンタのエネルギ効率の最適化のためにニューラルネットワークベースの手法を適用することを開示している。非特許文献1に開示の手法は、ニューラルネットワークにより、状態(s)と行動(a)に対する、目的関数(o=F(s、a))及び制約条件(c=F(s、a))を学習する。当該手法は、制約条件を満たすもののうち目的関数値を最大化する行動を、探索対象として定義される全行動空間において探索することで最適行動を決定する。
J. Gao, "Machine learning applications for data center optimization", Google White Paper, 2014.
上述のように、非特許文献1の手法は基本的には探索対象空間を全探索することによって最適行動を決定するため、最適化効率が低く、高次元の行動空間に対して適用することが困難である。したがって、適切な行動を効率的(高速に)決定することができる手法が望まれる。
本開示の一態様は、1以上の記憶装置と、前記1以上の記憶装置に格納されている命令コードに従って動作する1以上のプロセッサと、を含む情報処理システムであって、前記1以上のプロセッサは、第1の処理を1又は複数回実行して、状態における目的関数の予測値を目的値に近づけるように行動の候補値を更新し、前記第1の処理は、ニューラルネットワークに、前記行動の候補値及び前記状態の値を入力し、前記行動の前記候補値及び前記状態の前記値に対して前記ニューラルネットワークから出力された前記目的関数の予測値を取得し、前記ニューラルネットワークにおいて、前記行動の前記候補値及び前記目的関数の前記予測値における、前記目的関数の前記行動に関する勾配値を決定し、前記勾配値に基づいて前記行動の前記候補値を更新する。
本発明の一態様によれば、適切な行動を効率的決定することができる。
システムの論理構成例を示す。 計算機の構成例を示す。 ニューラルネットワークの構成例を模式的に示す。 システム制御部による、制御対象システムの制御方法例のフローチャートを示す。 交通システムの道路網を示す。 交差点における交通量を示す。 信号機の構成例及び信号機の信号切替周期を示す。 図5A、5B、5Cに示す交通システムを制御するために使用可能なニューラルネットワークの構成例を示す。 状態に加えて複数の行動が入力され、行動それぞれに対応する複数の目的関数を出力するニューラルネットワークの例を示す。 図7に示すニューラルネットワーク構成における状態シミュレータを示す。 状態シミュレータを含む他のニューラルネットワーク構成例を示す。 観測された現在の状態に基づいて、N番目(現在から(N-1)ステップ(時刻)先)に実行する行動ACTION_Nを決定する処理を模式的に示す。
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
以下に開示する行動の最適化は、行動及び状態が入力され、目的関数を出力するニューラルネットワークを使用して、行動を最適化する。具体的には、行動の最適化は、目的関数についての行動の勾配に基づく行動の更新を繰り返す。ニューラルネットワークは、目的関数の行動についての微分が可能である。また、ニューラルネットワークは、誤差逆伝播によるパラメタ学習から理解されるように、効率的な微分計算が可能である。ニューラルネットワークにおいて、目的関数を最適化する行動を効率的に求めることができる。
一例において、ニューラルネットワークは、状態と行動に対して、目的関数に加え次の状態を出力する。ニューラルネットワークは、出力した目的関数の予測値及び次の状態の予測値と正解値との間の誤差に基づき、適切なパラメタを学習する。この様な相関関係のある複数の出力値を、単一のニューラルネットワークにて同時に学習する機械学習手法は、マルチタスク学習と呼ばれ、出力間に相関関係があれば、学習の収束性の向上や精度向上を期待できる。また、ニューラルネットワーク内の次の状態を出力するサブネットワークは、微分可能な状態シミュレータとして機能できる。状態シミュレータは、例えば、同一背景システム、異なる目的関数のニューラルネットワークに転用することができる。
<実施形態1>
図1は、本実施形態の全体システムの論理構成例を示す。システムは、情報処理システムであるシステム制御部10と、システム制御部10により制御される制御対象システム15と、を含む。制御対象システム15は、例えば、交通システムや給排水システムのようなフロー制御システムや、ビルの空調システム、データセンタの冷却システム等である。システム制御部10は、ニューラルネットワーク訓練部101、行動最適化部102、ニューラルネットワーク103、訓練データデータベース(DB)104、及び、構成情報データベース105含む。
ニューラルネットワーク103への入力は、制御対象システム15から観測される状態及び制御対象システム15に対する(制御対象システム15における)行動である。ニューラルネットワーク103の出力は、制御対象システムに対する制御目標を表す目的関数である。状態の値及び行動の値が入力されたニューラルネットワーク103は、目的関数の値を出力する。交通システムの例を説明する。状態は、交差点ネットワークにおける信号機それぞれの下を通過する車両台数である。行動は信号機それぞれの切替周期の制御である。目的関数は、交差点ネットワークにおける総交通量である。
訓練データデータベース104は、ニューラルネットワーク103の学習に使用する訓練データを格納している。訓練データは、教師あり学習のためのデータであり、ニューラルネットワーク103への入力データと正解出力データ(正解ラベル)とを含む。後述するように、行動最適化部102は、訓練データデータベース104に新たな訓練データを追加する。訓練データデータベース104は、行動最適化部102により追加されるデータに加え、予め用意されているデータを格納してよい。
構成情報データベース105は、設計者に与えられた、ニューラルネットワークモデル構成情報111及び制御対象システム構成情報112を格納している。ニューラルネットワーク103は、ニューラルネットワークモデル構成情報111及び制御対象システム構成情報112に基づき生成される。
ニューラルネットワークモデル構成情報111は、ニューラルネットワーク103の構成についての情報である。ニューラルネットワークモデル構成情報111は、例えば、ニューラルネットワークの層数、各層のユニット数、ユニット間接続情報、ニューラルネットワークの損失関数、ニューラルネットワークの最適化器を含む。ニューラルネットワークモデルが、畳み込みニューラルネットワーク(CNN)モデルである場合、ニューラルネットワークモデル構成情報111は、さらに、層の属性(畳み込み層/プーリング層等)情報を含む。
制御対象システム構成情報112は、制御対象システム15の構成についての情報である。制御対象システム構成情報112は、制御対象システム15のネットワーク構成を示す。例えば、制御対象システムが交通システムである場合、信号機及び道路の情報を含む交差点ネットワークが示される。例えば、ニューラルネットワーク3がグラフCNNである場合、制御対象システム15のグラフ構造を使用してニューラルネットワーク3が構成される。
ニューラルネットワーク103は、設計者によって構成され、システム制御部10にインストールされてもよい。または、システム制御部10が、構成情報データベース105に格納されているニューラルネットワークモデル構成情報111及び制御対象システム構成情報112に基づいて、ニューラルネットワーク103を生成してもよい。
システム制御部10は、制御対象システム15を観測し、制御する。具体的には、行動最適化部102は、制御対象システム15からシステム観測信号161を受信し、制御対象システム15に対してシステム制御信号162を出力する。システム観測信号161は、制御対象システム15の現在の状態の情報(センサ情報)を示す。システム制御信号162は、制御対象システム15を制御する信号である。
後述するように、行動最適化部102は、システム観測信号161から制御対象システム15の現在の状態を決定する。行動最適化部102は、制御対象システム15の現在の状態から、ニューラルネットワーク103により、制御対象システム15への最適行動(最適制御)を決定する。行動最適化部102は、決定した最適行動に応じたシステム制御信号162を出力する。行動最適化部102は、システム観測信号161から、実行した行動の結果として、制御対象システム15における目的関数の実際の値を得る。
交通システムの例において、システム観測信号161は、例えば、交差点に設置された信号機それぞれの下を通過する車両台数を示す。システム制御信号162は、例えば、信号機それぞれの切替周期、つまり、青、黄、赤をそれぞれ表示する期間を示す。
ニューラルネットワーク訓練部101は、訓練データデータベース104に格納されている訓練データにより、ニューラルネットワーク103を訓練する。訓練は、ニューラルネットワーク103のパラメタを最適化する。一つの訓練データセットは、入力として行動及び状態の値、そして、出力としての目的関数の正解値を含む。目的関数の正解値は、例えば、制御対象システム15における実際の値である。行動最適化部102は、システム観測信号161から、制御対象システム15における目的関数の値を得る。
行動最適化部102は、訓練されたニューラルネットワーク103及びシステム観測信号161に従って、システム制御信号162を最適化する。行動最適化部102は、システム観測信号161から制御対象システム15の現在の状態を決定する。行動最適化部102は、現在の状態の値と、行動の候補値とをニューラルネットワーク103に入力する。ニューラルネットワーク103は、目的関数の予測値を出力する。
行動最適化部102は、ニューラルネットワーク103において、行動の上記候補値及び目的関数の上記予測値における、目的関数の行動についての勾配値を計算する。行動最適化部102は、計算した勾配値により行動の候補値を更新する。行動最適化部102は、行動の候補値の更新を繰り返して、行動の最適値を得る。行動最適化部102による行動の値の最適化の詳細は後述する。
システム制御部10は、例えば、所定のプログラム及びデータがインストールされた1又は互いに通信可能な複数の計算機からなる計算機システムで構成することができる。図2は、計算機200の構成例を示す。計算機200は、プロセッサ210、メモリ220、補助記憶装置230、入出力インタフェース240、ネットワークインタフェース250を含む。上記構成要素は、バスによって互いに接続されている。メモリ220、補助記憶装置230又はこれらの組み合わせは記憶装置の例である。これらの一部構成は省略されてもよく、他の構成要素が追加されてもよい。
メモリ220は、例えば半導体メモリから構成され、主にプログラムやデータを一時的に保持するために利用される。メモリ220は、ニューラルネットワーク訓練部101、行動最適化部102、及びニューラルネットワーク103それぞれを構成するためのプログラムを格納する。
プロセッサ210は、メモリ220に格納されているプログラムに従って、様々な処理を実行する。プロセッサ210がプログラムに従って動作することで、様々な機能部が実現される。例えば、プロセッサ210は、プログラムそれぞれに従って、ニューラルネットワーク訓練部101、行動最適化部102、及びニューラルネットワーク103として動作する。
補助記憶装置230は、例えばハードディスクドライブやソリッドステートドライブなどの大容量の記憶装置から構成され、プログラムやデータを長期間保持するために利用される。本例において、補助記憶装置230は、訓練データデータベース104及び構成情報データベース105を格納している。
補助記憶装置230に格納されたプログラムが起動時又は必要時にメモリ220にロードされ、このプログラムをプロセッサ210が実行することにより、システム制御部10の各種処理が実行される。したがって、プログラムにより実行される処理は、プロセッサ210又はシステム制御部10による処理である。
入出力インタフェース240は、周辺機器との接続のためのインタフェースであり、例えば、入力装置242及び表示装置244とが接続される。入力装置242は、ユーザが文章作成装置100に指示や情報などを入力するためのハードウェアデバイスであり、表示装置244は、入出力用の各種画像を表示するハードウェアデバイスである。
ネットワークインタフェース250は、ネットワークに接続するためのインタフェースである。計算機200は、ネットワークインタフェース250及びネットワークを介して、他の計算機及び制御対象システム15と通信を行う。
本開示のニューラルネットワーク103は、状態sと行動aを入力とし目的関数Oを出力とする。ニューラルネットワークにおける一般的な誤差逆伝播によるパラメタの学習から理解されるように、目的関数Oは、行動a及び状態sそれぞれについて微分(偏微分)可能である。
また、一般的な誤差逆伝播によるパラメタの学習が示すように、ニューラルネットワークは、効率的な微分計算が可能である。したがって、目的関数Oを最適化する行動aを、ニューラルネットワーク103において、勾配法により効率的に(高速に)求めることが可能である。行動最適化部102は、ニューラルネットワーク103において、目的関数Oの行動aについて勾配を決定し、その勾配に基づいてより適切な行動aを決定する。ニューラルネットワーク103のパラメタは、目的関数Oの行動aについての勾配の計算において一定である。
図3を参照して、ニューラルネットワーク103における目的関数Oの行動aについて勾配を計算する例を説明する。図3は、ニューラルネットワーク103の構成例を模式的に示す。図3に示すニューラルネットワーク103は、L層(段)のノードで構成されている。
各ノードは計算処理的に微分が定義される関数を表し、シグモイド関数やReLu関数などが用いられる。また、ノードとノードの間にはエッジが構成され、各エッジにはパラメタθが定義される。ノードから出力される値は、このパラメタθで重みづけされ、次層のノードに入力される。このようにノードとエッジにより定義されるグラフは、計算処理過程におけるデータの流れを表現しており、計算グラフと呼ばれる。
入力は、状態s及び行動aである。状態sは、ベクトルで表わされ、要素sからsで構成されている。行動aは、ベクトルで表わされ、要素aからaで構成されている。
ニューラルネットワーク103の構成はシステムに依存し、例えば、CNNやグラフCNNなどのでもよい。状態s及び行動aの次数は、システムに依存する1以上の任意の整数である。
ニューラルネットワークの学習においては、ニューラルネットワークの出力する予測値と、その真値の差を予測誤差(損失)とし、予測誤差に対する各パラメタθの微分を計算し、その微分情報に従って、誤差が小さくなる方向に各パラメタθを更新する勾配法が用いられる。
上述のように、ニューラルネットワークの学習法の1つである勾配法は、予測誤差に対する各パラメタθの微分値を計算する処理が必要となる。微分値の計算処理において、ニューラルネットワークが表す計算グラフと、合成関数の微分における連鎖則を用いて、出力層側から入力層側に順次計算グラフを辿りながら微分値を計算する方法は誤差逆伝播法と呼ばれる。誤差逆伝播法は、効率的に微分値を計算することが可能であり、ニューラルネットワークの学習において広く使われている。
誤差逆伝播法と同様に、図3において、出力Oから入力aまで計算グラフを辿ることが可能である。よって、ニューラルネットワーク103における、出力に対する各入力aの微分を計算することができる。
上述のように、ニューラルネットワーク103において、目的関数Oの行動要素aについての1階微分(偏微分)が可能である。同様の観点から、目的関数Oの状態要素sについての1階微分(偏微分)が可能であり、また、目的関数Oの行動要素a及び/又は状態要素sについての、高階微分(偏微分)が可能である。
行動最適化部102は、ニューラルネットワーク103において、目的関数Oの行動aについて勾配を決定し、その勾配に基づいて行動aを更新する。勾配は、一階微分又はより高階の微分で計算される。ニューラルネットワーク103の通常の学習は、入力Iに対する真の出力Tと予測値Pが与えられた時に、誤差L(T-P)を最小化するパラメタセットを求める。誤差逆伝播法は、δL/δθによる勾配法を使用する(θは各パラメタを示す)。また、入力Iは固定である。
一方、行動最適化部102は、ニューラルネットワーク103のパラメタの学習ではなく、入力である行動aの最適化を行う。そのため、行動最適化部102は、ニューラルネットワーク103の出力である目的関数の行動についての勾配を使用する。パラメタの学習において固定されている入力が、最適化の対象となっている。
勾配による行動aの更新方法の一例は、最急勾配法である。最急勾配法は、行動要素aを、次のように更新する:a=a+k*δo/δa。ここで、kは正又は負の規定値である。目的関数の極大値を求める場合kは正であり、極小値を求める場合にkは負である。勾配による他の更新方法を使用することが可能であり、例えば、二階微分を用いるニュートン法や準ニュートン法を使用することができる。
ニューラルネットワーク103は、上記構成例と異なり、目的関数Oに加えて、次の状態s´を出力してもよい。実際の次の状態s´は、システム観測信号161から得られる。目的関数及び状態の予測値と観測値との間の誤差に基づき、ニューラルネットワーク103の学習を行うことができる。ニューラルネットワーク103のパラメタ学習のためのデータ量が増加し、より効率的な学習や学習後のモデルの精度向上が期待される。
図4は、システム制御部10による、制御対象システム15の制御方法例のフローチャートを示す。システム制御部10は、まず、初期設定を行う(S101)。例えば、ニューラルネットワーク訓練部101は、ニューラルネットワークモデル構成情報111に基づき、ニューラルネットワーク103を初期化し、ニューラルネットワーク103の損失関数及び最適化関数を設定する。行動最適化部102は、行動aを初期化する。行動aの初期化は、乱数(ランダム初期化)又は現在の制御値を使用する。
行動最適化部102は、システム観測信号161により、制御対象システム15の状態値sを観測する(環境情報の取得)(S102)。状態値sは次数1以上のベクトルで表わされる。例えば、制御対象システム15内の複数のセンサからデータにより決定される。行動最適化部102は、行動の候補値a及び観測した状態値sに対する目的関数値Oの予測値を、ニューラルネットワーク103により計算する(S103)。行動候補値aは、初期値又は直前のループで更新された値である。行動候補値aは次数1以上のベクトルで表わされる。
行動最適化部102は、予測された目的関数値O及び行動候補値aにおける、目的関数の行動についての勾配値を計算する(S104)。勾配の計算方法は、図3を参照して説明した通である。行動最適化部102は、目的関数の行動候補値aの各要素についての勾配を計算する。
行動最適化部102は、計算した勾配値によって、行動候補値aを更新する(S105)。行動候補値aの更新は、例えば、最急勾配法又はニュートン法に基づく。行動最適化部102は、行動候補値aの更新の終了条件が満たされているか判定する(S106)。例えば、行動最適化部102は、状態値sを取得してから規定時間を超えている場合、行動候補値aの更新を終了すると判定する。
他の例において、行動最適化部102は、行動候補値aが収束範囲内にある場合、行動候補値aの更新を終了すると判定する。例えば、行動候補値aの要素の更新量の二乗和又は最大絶対値が所定値未満である場合、行動最適化部102は、行動候補値aが収束範囲内にあると判定する。
行動候補値aの更新を続行すると判定した場合(S106:NO)、行動最適化部102は、ステップS103に戻り、更新した行動値aと観測した状態値sに対する目的関数値Oの予測値を、ニューラルネットワーク103により計算する。行動最適化部102は、状態値sに対する行動値aを最適化するため、このように、所定の更新終了条件が満たされるまで、行動候補値aを更新する。
行動候補値aの更新を終了すると判定した場合(S106:YES)、行動最適化部102は、当該行動候補値aを行動実行値aと決定し、制御対象システム15に対して、行動実行値に対応するシステム制御信号162を出力する。さらに、行動最適化部102は、当該行動実行値を出力した後の、制御対象システム15の状態値s´及び目的関数の実際の値Oを、システム観測信号161により取得する(S107)。
行動最適化部102は、行動前の状態値s、行動実行値a、行動後の状態値s´及び目的関数の実際の値Oからなるデータセットを、訓練データデータベース104に追加する。さらに、ニューラルネットワーク訓練部101は、追加されたデータセットを教師データとして使用して、ニューラルネットワーク103のパラメタを更新する(パラメタ学習)(S108)。
これにより、制御対象システム15を制御しながら、訓練データを追加することができる。ニューラルネットワーク103のパラメタ学習により、ニューラルネットワーク103が、より正確に目的関数の値を予測することができるようになる。ステップ108の後、行動最適化部102は、ステップS102に戻る。
ニューラルネットワーク103のパラメタ学習は、一般的な誤差逆伝播方法に従う。ニューラルネットワーク103の出力が目的関数のみである場合、行動後の目的関数実際値Oが正解データである。ニューラルネットワーク103の出力が目的関数及び制御対象システムの状態である場合、行動後の状態値s及び目的関数実際値Oのデータセットが、正解データである。
なお、行動最適化部102は、ニューラルネットワーク103のパラメタ学習を、新たな訓練データセットが追加される度に実行してもよく、規定数の新たなデータセットが追加された後、バッチ処理によりパラメタ学習を行ってもよい。
システム制御部10は、様々な種類のシステムを本開示の方法により制御することができる。それらの一例は、交通システムである。図5A、5B及び5Cは、制御対象システム15としての交通システムの例を示す。図5Aは、交通システムの道路網500を示す。図5Aの例において、道路網500はグリッド状である。システム制御部10は、道路網500の交通量を最大化するように、道路網500に設置されている信号機551を制御する。
道路網500の交通量を、交差点における交通量の和で表わす。図5Bは、交差点511における交通量を示す。交差点511において、4方向の交通が存在する。交差点の交通量は、規定時間における4方向の通過車両の合計である。各方向における通過車両は、交差点511に入る車両又は交差点511から出ていく車両である。
一つの交差点511において、4方向の交通をそれぞれ制御する四つの信号機が設置されている。交差点511の信号機551は、それぞれ、対応する道路から交差点511に入る車両又は交差点511から出ていく車両を感知する。図5Cは、信号機551の構成例及び信号機の信号切替周期を示す。
信号機551は、各周期552において、赤、青及び黄の色を順次表示する。信号機551には、その下を通過する車両を感知するセンサが実装されている。行動最適化部102は、例えば、各信号機551の青の表示期間の最適値を計算し、各信号機551に設定する。信号機の青の表示期間が設定されると、同一交差点おける他の信号機551の青の表示期間との関係から、赤の表示期間が決まる。黄の表示期間は例えば一定である。
図6は、図5A、5B、5Cに示す交通システムを制御するために使用可能なニューラルネットワーク103の構成例を示す。図6に示すニューラルネットワーク103は、畳み込みニューラルネットワーク(CNN)である。CNNは畳み込み層とプーリング層を交互に繰り返す。CNNは広く知られた技術であり詳細な説明を省略する。
ニューラルネットワーク103へ入力される状態s(ベクトル)は、信号機551それぞれの所定期間内の通過車両数である。行動a(ベクトル)は、信号機551それぞれの青の表示期間である。行動出力は、行動aの後の次の所定期間内の道路網500における予測全交通量である。上述のように、全交通量は、交差点511の交通量の総和である。
システム制御部10は、定期的に所定期間内に信号機551それぞれの下を通過した交通量をシステム観測信号161により取得し、それらから現在の状態値(ベクトル値)を決定する。例えば、状態値の各要素は、例えば、各信号機551の交通量である。システム制御部10は、図3を参照して説明したように、行動候補値及び状態値をニューラルネットワーク103に入力し、全交通量の予測値を得る。行動候補値の各要素は、例えば、各信号機551の青の期間である。
システム制御部10は、全交通量の行動候補値の各要素についての勾配を計算し、その勾配によって行動候補値の各要素を更新する。システム制御部10は、更新された行動候補値と状態値により、上記行動候補値の更新を繰り返す。
<実施形態2>
上記実施形態において、ニューラルネットワーク103は一つの行動(ベクトル)に対して一つの目的関数を出力する。これと異なり、ニューラルネットワーク103は、複数の行動に対して、それぞれ対応する目的関数を出力してもよい。図7は、状態に加えて複数の行動が入力され、行動それぞれに対応する複数の目的関数を出力するニューラルネットワーク103の例を示す。
ニューラルネットワーク103は、三つのサブニューラルネットワーク131、132及び133で構成されている。サブニューラルネットワーク131は入力層を含み、状態s(ベクトル)及びN個の行動ACTION_1~ACTION_Nが入力される。サブニューラルネットワーク132は、順伝播において、サブニューラルネットワーク131の後側に接続されている。
サブニューラルネットワーク132は、次の状態s´の出力層を含む。サブニューラルネットワーク131の出力が、サブニューラルネットワーク132に入力される。サブニューラルネットワーク131及びサブニューラルネットワーク132は、微分可能な状態シミュレータとして機能する。この状態シミュレータは、ニューラルネットワーク103から分離可能である。状態sを出力に含めることで、ニューラルネットワーク103の学習の収束性向上とモデルの精度向上が期待できる。
サブニューラルネットワーク133は、順伝播において、サブニューラルネットワーク131の後側に接続されている。サブニューラルネットワーク132及び133は、サブニューラルネットワーク131に並列に接続されている。サブニューラルネットワーク133は、N個の目的関数OBJECTIVE_1~OBJECTIVE_Nの出力層を含む。サブニューラルネットワーク131の出力が、サブニューラルネットワーク132に入力される。サブニューラルネットワーク132及び133の間において、ノード間のエッジ(リンク)が存在せず、いずれの一方の出力も、他方に入力されていない。
目的関数OBJECTIVE_1~OBJECTIVE_Nは、それぞれ、行動ACTION_1~ACTION_Nの目的関数である。行動最適化部102は、行動ACTION_iを、対応する目的関数OBJECTIVE_iの勾配によって最適化する。iは1~Nの任意数である。勾配の計算方法は、図3を参照して説明した通りである。
例えば、上記交通システムの例において、信号機551それぞれの交通量を目的関数と定義し、信号機551それぞれの制御を、目的関数に対応する行動と定義することができる。このように、一つのニューラルネットワークによって複数の目的関数にそれぞれ対応する複数の行動を最適化することができる。なお、ニューラルネットワーク103は、図7に示す構成と異なる構成を有していてもよい。
<実施形態3>
図7に示すように、出力が状態sを含む場合、ニューラルネットワーク103は、微分可能な状態シミュレータとして機能する部分を含む。目的関数は異なるが、背景のシステムが同一の場合、二つのニューラルネットワークの間で状態シミュレータの部分を分離し、転位することが可能であり、汎用性を高めることができる。図8は、図7に示すニューラルネットワーク構成における状態シミュレータ134を示す。
図9は、状態シミュレータを含む他のニューラルネットワーク構成例を示す。ニューラルネットワーク103は、三つのサブニューラルネットワーク135、136及び137で構成されている。サブニューラルネットワーク131は入力層を含み、状態s(ベクトル)及び一つの行動ACTIONが入力される。
サブニューラルネットワーク136は、順伝播において、サブニューラルネットワーク131の後側に接続されている。サブニューラルネットワーク136は、次の状態s´の出力層を含む。サブニューラルネットワーク135の出力が、サブニューラルネットワーク136に入力される。サブニューラルネットワーク135及びサブニューラルネットワーク136は、状態シミュレータ138である。
サブニューラルネットワーク137は、順伝播において、サブニューラルネットワーク135及び136の後側に接続されている。サブニューラルネットワーク135及び136の出力が、サブニューラルネットワーク137に入力される。サブニューラルネットワーク137は、目的関数OBJECTIVEの出力層を含む。サブニューラルネットワーク137からサブニューラルネットワーク136への、順伝播における出力は存在しない。
図8及び9に示す状態シミュレータ134及び138は、それぞれ、サブニューラルネットワーク133及び137から分離し、目的関数が異なるが背景システムが同一のニューラルネットワークに転位することができる。例えば、例えば同じ交通システムにおいて、交通量(traffic)を最適化するためのニューラルネットワークと、バス乗車人数(又はバス料金)を最適化するためのニューラルネットワークとの間で、状態シミュレータの転移が可能である。
このように、一つのニューラルネットワークにおいて訓練された状態シミュレータ134及び138を、新しいニューラルネットワークに適用することができる。これにより、ニューラルネットワークの学習又は生成を効率化することができる。
<実施形態4>
上記実施形態は、観測された現在の状態に対して実行する行動を最適化する。以下に記載する実施形態は、未来に実行する行動を予め決定する。具体的には、未来におけるN番目の状態の予測値に基づき、N番目の行動を最適化する。
図10は、観測された現在の状態に基づいて、N番目(現在から(N-1)ステップ(時刻)先)に実行する行動ACTION_Nを決定する処理を模式的に示す。Nは2以上の整数である。1番目に実行する行動ACTION_1は、現在の状態に対して実行する行動である。1番目の行動ACTION_1から(N-1)番目の行動ACTION_N-1までは既に決定されている。
ニューラルネットワークは、図8及び9を参照して説明したように、状態シミュレータ151を含む。状態シミュレータ151は、状態及び行動の入力に対して、次の状態を出力する。図10の例において、行動最適化部102は、状態シミュレータ151を含むニューラルネットワークに、現在の状態STATE及び既に決定されている次に実行する行動ACTION_1を入力する。状態シミュレータ151は、現在の状態STATEに対して行動ACTION_1を実行した場合に予想される次の状態STATE_2を出力する。
次に、行動最適化部102は、予想されている次の状態SATE_2及び既に決定されている2番目に実行する行動ACTION_2を、状態シミュレータ151を含むニューラルネットワークに入力する。状態シミュレータ151は、状態STATE_2に対して行動ACTION_2を実行した場合に予想されるさらに次の状態STATE_3を出力する。
行動最適化部102は、状態シミュレータ151により予想される状態と予め決められている行動とを、状態シミュレータ151を含むニューラルネットワークに順次入力する。これにより、行動最適化部102は、予想されるN番目の状態STATE_Nを状態シミュレータ151から得る。
行動最適化部102は、状態STATE_Nにおける行動ACTION_Nを、目的関数の行動についての勾配に基づいて最適化する。行動ACTION_Nの最適化の方法は、図4を参照して説明した通りである。このように、本構成は、N-1ステップ先までの状態(STATE_2からSTATE_N)を予測し、(N-1)ステップ先の状態STATE_Nに基づいて(N-1)ステップ先の適切な行動ACTION_Nを決定する。新たな行動ACTION_Nは、行動ACTION_1を実行する度に生成される。これにより、順次実行されるN個の行動が予約され続ける。
Nが2の場合、行動最適化部102は、行動ACTION_1(現在の状態において実行される行動の実行値)と、現在の状態の観測値STATEとのペアを、ニューラルネットワークに入力する。ニューラルネットワークは、現在の状態STATEの次の状態の予測値STATE_2を出力する。行動最適化部102は、状態STATE_2における行動ACTION_2を、目的関数の行動についての勾配に基づいて最適化する。
本実施形態は、未来に実行する行動を、予測される未来の状態に基づき最適化することができる。また、未来に実行する行動を、現在の状態及び当該未来に実行する行動までに実行する行動に基づき最適化できる。本実施形態のニューラルネットワークは次の状態を出力するため、ニューラルネットワークのより適切な学習が可能となる。
<実施形態5>
上記実施形態は、状態を参照することなく、目的関数の行動についての勾配に基づき、行動を最適化する。以下に説明する実施形態は、状態の予測値を行動の最適化に使用する。これにより、より適切な行動を決定することができる。ニューラルネットワーク103は、図8及び9に例示するように、目的関数の予測値に加え、次の状態の予測値を出力する。
目的関数Oを、入力される状態s及び行動aの関数と見る。ニューラルネットワーク103から出力される状態の予測値はs´で表わされる。状態s、状態s´及び行動aは、ベクトルである。行動a、状態s´のときの目的関数O´(a、s´)は、行動a、状態sのときの目的関数O(a、s)とその状態sについての偏微分から、下記式で近似される。
Figure 0006990636000001
従って、行動a、状態s´のときの目的関数O´(a、s´)の行動aの任意の要素aについての偏微分は、以下の式で表わされる。
Figure 0006990636000002
右辺の第1項は図3を参照して説明したように、計算することができる。また、右辺第2項の二階微分は、ニューラルネットワークへの入力に含まれる行動要素aと状態要素sついての二階微分であり、第1項と同様に計算グラフから合成関数の公式に従い計算することができる。
行動最適化部102は、ニューラルネットワーク103に、状態の観測値s及び行動の候補値aを入力する。ニューラルネットワーク103は、目的関数の予測値O及び次の状態の予測値s´を出力する。行動最適化部102は、ニューラルネットワーク103において、δO´/δaを上記式に基づき計算し、その値によって行動の候補値aを更新する。行動最適化部102は、この処理を繰り返し、行動の実行値を決定する。このように行動最適化部102は、実施形態1における(δO/δa)に代えて、この勾配情報(δO´/δa)を使用して最急勾配法を実行し、行動aを最適化する。
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
10 システム制御部、15 制御対象システム、101 ニューラルネットワーク訓練部、102 行動最適化部、103 ニューラルネットワーク、104 訓練データデータベース、105 構成情報データベース、210 プロセッサ、220 メモリ、230 補助記憶装置、240 入出力インタフェース、242 入力装置、244 表示装置、250 ネットワークインタフェース

Claims (9)

  1. 1以上の記憶装置と、
    前記1以上の記憶装置に格納されている命令コードに従って動作する1以上のプロセッサと、
    を含む情報処理システムであって、
    前記1以上のプロセッサは、第1の処理を1又は複数回実行して、状態における目的関数の予測値を目的値に近づけるように行動の候補値を更新し、
    前記第1の処理は、
    ニューラルネットワークに、前記行動の候補値及び前記状態の値を入力し、
    前記行動の前記候補値及び前記状態の前記値に対して前記ニューラルネットワークから出力された前記目的関数の予測値を取得し、
    前記ニューラルネットワークにおいて、前記行動の前記候補値及び前記目的関数の前記予測値における、前記目的関数の前記行動に関する勾配値を決定し、
    前記勾配値に基づいて前記行動の前記候補値を更新する、情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記1以上の記憶装置は、前記ニューラルネットワークの訓練データを格納するデータベースを格納し、
    前記1以上のプロセッサは、
    前記第1の処理を1又は複数回実行した後に得られた前記行動の実行値に基づいて、制御対象システムを制御し、
    前記行動の前記実行値、前記状態の前記値、前記行動の前記実行値による前記制御対象システムの次の状態の観測値、及び前記行動の前記実行値による前記制御対象システムでの前記目的関数の観測値を、前記データベースに格納する、情報処理システム。
  3. 請求項1に記載の情報処理システムであって、
    前記第1の処理は、
    複数の行動の候補値を前記ニューラルネットワークに入力し、
    前記ニューラルネットワークが出力した、前記複数の行動の前記候補値それぞれとペアを構成する複数の目的関数の予測値を取得し、
    前記ペアの各ペアについて、前記ニューラルネットワークにおいて、前記行動の前記候補値及び前記目的関数の前記予測値における、前記目的関数の前記行動に関する勾配値を決定し、
    前記勾配値に基づき各ペアの行動の候補値を更新する、情報処理システム。
  4. 請求項1に記載の情報処理システムであって、
    前記ニューラルネットワークは、前記目的関数の予測値と次の状態の予測値とを出力する、情報処理システム。
  5. 請求項4に記載の情報処理システムであって、
    前記ニューラルネットワークから、前記目的関数の予測出力するサブネットワークを除いた前記次の状態の予測値を出力するサブネットワークが分離可能である、情報処理システム。
  6. 請求項4に記載の情報処理システムであって、
    前記1以上のプロセッサは、
    現在の状態において実行される行動の実行値と現在の状態の観測値とのペアを、前記ニューラルネットワークに入力し、
    前記ニューラルネットワークが出力した前記現在の状態の次の状態の予測値を取得し、
    次の行動の候補値及び前記次の状態の前記予測値に対して、前記第1の処理を実行する、情報処理システム。
  7. 請求項4に記載の情報処理システムであって、
    前記1以上の記憶装置は、順次実行される(N-1)個の行動の値を格納し、前記(N-1)個の行動における最初の行動は、現在の状態において実行される行動であり、前記Nは2より大きい整数であり、
    前記1以上のプロセッサは、
    前記(N-1)個の行動における最初の行動の値と現在の状態の値とのペアを、前記ニューラルネットワークに入力し、
    2番目から(N-1)目の行動の値及び前記ニューラルネットワークから得られる前記2番目から前記(N-1)番目の行動の値それぞれに対応する状態の予測値のペアを、前記ニューラルネットワークに順次入力し、
    前記(N-1)番目の行動の値及び前記(N-1)番目の行動の値に対応する状態の予測値に対して前記ニューラルネットワークが出力する状態の予測値とN番目の行動の候補値とに対して、前記第1の処理を実行する、情報処理システム。
  8. 請求項4に記載の情報処理システムであって、
    前記第1の処理は、
    前記行動の前記候補値及び前記状態の前記値に対して前記ニューラルネットワークから出力された次の状態の予測値をさらに取得し、
    前記ニューラルネットワークにおいて、前記勾配値を、第2勾配値、及び、前記次の状態の前記予測値と前記状態の前記値との間の第3勾配値の積、から決定し、
    前記第2勾配値は、前記状態の前記値及び前記行動の前記候補値での、前記目的関数の前記行動に対する一階微分値であり、
    前記第3勾配値は、前記次の状態の前記予測値及び前記行動の前記候補値での、前記目的関数の前記行動及び前記状態についての二階微分値である、情報処理システム。
  9. 情報処理システムが、行動を決定する方法であって、
    前記情報処理システムは、1以上の記憶装置と、前記1以上の記憶装置に格納されている命令コードに従って動作する1以上のプロセッサと、を含み、
    前記方法は、
    前記1以上のプロセッサが、第1の処理を1又は複数回実行して、状態における目的関数の予測値を目的値に近づけるように行動の候補値を更新することを含み、
    前記第1の処理は、
    ニューラルネットワークに、前記行動の候補値及び前記状態の値を入力し、
    前記行動の前記候補値及び前記状態の前記値に対して前記ニューラルネットワークから出力された前記目的関数の予測値を取得し、
    前記ニューラルネットワークにおいて、前記行動の前記候補値及び前記目的関数の前記予測値における、前記目的関数の前記行動に関する勾配値を決定し、
    前記勾配値に基づいて前記行動の前記候補値を更新する、ことを含む、方法。
JP2018161209A 2018-08-30 2018-08-30 情報処理システム Active JP6990636B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018161209A JP6990636B2 (ja) 2018-08-30 2018-08-30 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018161209A JP6990636B2 (ja) 2018-08-30 2018-08-30 情報処理システム

Publications (3)

Publication Number Publication Date
JP2020035178A JP2020035178A (ja) 2020-03-05
JP2020035178A5 JP2020035178A5 (ja) 2020-12-10
JP6990636B2 true JP6990636B2 (ja) 2022-01-12

Family

ID=69668163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018161209A Active JP6990636B2 (ja) 2018-08-30 2018-08-30 情報処理システム

Country Status (1)

Country Link
JP (1) JP6990636B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005096068A (ja) 2003-08-25 2005-04-14 Sony Corp ロボット装置及びロボットの姿勢制御方法
WO2018083532A1 (en) 2016-11-03 2018-05-11 Deepmind Technologies Limited Training action selection neural networks
JP2018126799A (ja) 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005096068A (ja) 2003-08-25 2005-04-14 Sony Corp ロボット装置及びロボットの姿勢制御方法
WO2018083532A1 (en) 2016-11-03 2018-05-11 Deepmind Technologies Limited Training action selection neural networks
JP2018126799A (ja) 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RIEDMILLER, M.,Neural Fitted Q Iteration - First Experiences with a Data Efficient Neural Reinforcement Learning Method,Machine Learning: ECML 2005,LNCS/LNAI Vol. 3720,2005年,pp. 317-328,[retrieved on 2021-11-25] Retrieved from the Internet <URL: https://link.springer.com/chapter/10.1007/11564096_32>,<DOI: 10.1007/11564096_32>
銅谷 賢治ほか,強化学習と最適制御,システム/制御/情報,2001年04月15日,Vol. 45, No. 4,pp. 30-40,ISSN: 0916-1600

Also Published As

Publication number Publication date
JP2020035178A (ja) 2020-03-05

Similar Documents

Publication Publication Date Title
JP7532615B2 (ja) 自律型車両の計画
Zhu et al. A survey of deep RL and IL for autonomous driving policy learning
JP6605259B2 (ja) ニューラルネットワーク構造拡張方法、次元縮小方法、及びその方法を用いた装置
Bhattacharyya et al. Simulating emergent properties of human driving behavior using multi-agent reward augmented imitation learning
US20200327409A1 (en) Method and device for hierarchical learning of neural network, based on weakly supervised learning
JP6550678B2 (ja) 行動決定装置、未来予測モデル学習装置、ネットワーク学習装置、方法、及びプログラム
KR20180044295A (ko) 트레이닝된 머신 학습 모델의 성능을 개선시키는 방법
JP7099968B2 (ja) 演算装置
Bajpai et al. Transfer of deep reactive policies for mdp planning
US11429865B1 (en) Optimizing neural networks
CN112990485A (zh) 基于强化学习的知识策略选择方法与装置
CN112633463A (zh) 用于建模序列数据中长期依赖性的双重递归神经网络架构
JP2020027399A (ja) 計算機システム
JP6990636B2 (ja) 情報処理システム
Christopher et al. Projected generative diffusion models for constraint satisfaction
Zhao et al. A survey on deep reinforcement learning approaches for traffic signal control
CN118057241A (zh) 用于反向光刻技术中掩模优化的机器学习
CN117928530A (zh) 用于路径分布估计的方法和装置
KR102689100B1 (ko) 시간 가변적 예측(anytime prediction)을 위한 얇은 하위 네트워크를 활용하는 방법 및 시스템
Golmisheh et al. Heterogeneous optimal formation control of nonlinear multi-agent systems with unknown dynamics by safe reinforcement learning
Baumgart et al. Optimal control of traffic flow based on reinforcement learning
WO2023070274A1 (en) A method and an apparatus for continual learning
WO2022127603A1 (zh) 一种模型处理方法及相关装置
WO2022229404A1 (en) Motion planning
Huo et al. Tensor-based cooperative control for large scale multi-intersection traffic signal using deep reinforcement learning and imitation learning

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201026

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211206

R150 Certificate of patent or registration of utility model

Ref document number: 6990636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150