JP6850313B2 - シミュレーション装置、シミュレーション方法およびシミュレーションプログラム - Google Patents

シミュレーション装置、シミュレーション方法およびシミュレーションプログラム Download PDF

Info

Publication number
JP6850313B2
JP6850313B2 JP2019021965A JP2019021965A JP6850313B2 JP 6850313 B2 JP6850313 B2 JP 6850313B2 JP 2019021965 A JP2019021965 A JP 2019021965A JP 2019021965 A JP2019021965 A JP 2019021965A JP 6850313 B2 JP6850313 B2 JP 6850313B2
Authority
JP
Japan
Prior art keywords
simulation
prediction model
learning
data
unit
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
JP2019021965A
Other languages
English (en)
Other versions
JP2020129301A (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.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2019021965A priority Critical patent/JP6850313B2/ja
Publication of JP2020129301A publication Critical patent/JP2020129301A/ja
Application granted granted Critical
Publication of JP6850313B2 publication Critical patent/JP6850313B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Feedback Control In General (AREA)

Description

本発明は、シミュレーション装置、シミュレーション方法およびシミュレーションプログラムに関する。
近年、工場、プラント、ビルおよびデータセンタ等の様々な環境における機器制御に強化学習器等の機械学習を用いることが提案されている。この様な機械学習では、工場、プラント、ビルおよびデータセンタ等の様々な環境に対して、制御装置や空調機等の様々な機器の入出力をモデル化してシミュレーション環境を構築することで、強化学習器の制御パラメータの探索が行われている。制御パラメータの探索は、熟練作業者が試行錯誤を行うことで行われている。
佐藤 和也 外2名著、「はじめての制御工学」、株式会社講談社、2010年10月 Richard S.Sutton 外1名著、「強化学習」、森北出版株式会社、2000年12月 Volodymyr Mnih 外6名、"Playing Atari with Deep Reinforcement Learning"、[Online]、2013年12月、NIPS Deep Learning Workshop 2013、[平成31年1月29日検索]、インターネット<https://arxiv.org/pdf/1312.5602.pdf>
しかしながら、従来は、高精度なシミュレーション環境を容易に構築することが困難であったという課題がある。例えば、シミュレーション環境の構築と、制御パラメータの探索とは、別々に行われていたため、制御パラメータの探索において、シミュレーション環境を変更したい場合、どのように変更するのかを作業者が指示することが求められる。このため、シミュレーション環境の構築と、制御パラメータの探索とを繰り返す場合、多くの手間と時間とを要することになり、高精度なシミュレーション環境を容易に構築することが困難である。
上述した課題を解決し、目的を達成するために、本発明のシミュレーション装置は、学習用データの入力を受け付ける第1受付部と、受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成部と、シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける第2受付部と、受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行部と、前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成部に対して、前記予測モデルの再生成を指示する判定部と、を有することを特徴とする。
また、本発明のシミュレーション方法は、学習用データの入力を受け付ける第1受付工程と、受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成工程と、シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける第2受付工程と、受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行工程と、前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成工程に対して、前記予測モデルの再生成を指示する判定工程と、をシミュレーション装置が実行することを特徴とする。
また、本発明のシミュレーションプログラムは、学習用データの入力を受け付ける第1受付ステップと、受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成ステップと、シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける第2受付ステップと、受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行ステップと、前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成ステップに対して、前記予測モデルの再生成を指示する判定ステップと、をコンピュータに実行させることを特徴とする。
本発明によれば、高精度なシミュレーション環境を容易に構築することができるという効果を奏する。
図1は、第1の実施形態に係るシミュレーション装置の構成の一例を示すブロック図である。 図2は、配置画面の一例を示す図である。 図3は、配置画面の他の一例を示す図である。 図4は、予測画像モデルにおける学習の一例を説明する図である。 図5は、第1の実施形態におけるシミュレーション処理の一例を示すフローチャートである。 図6は、シミュレーションプログラムを実行するコンピュータの一例を示す図である。
以下、図面に基づいて、本願の開示するシミュレーション装置、シミュレーション方法およびシミュレーションプログラムの実施の形態を詳細に説明する。なお、この実施の形態により本願に係るシミュレーション装置、シミュレーション方法およびシミュレーションプログラムが限定されるものではない。
[第1の実施形態]
以下の実施の形態では、第1の実施形態に係るシミュレーション装置100の構成、シミュレーション装置100の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
[シミュレーション装置の構成]
まず、図1を用いて、シミュレーション装置100の構成を説明する。図1は、第1の実施形態に係るシミュレーション装置の構成の一例を示すブロック図である。シミュレーション装置100は、例えば、他の情報処理装置から学習用データの入力を受け付ける。シミュレーション装置100は、生成部が、受け付けた学習用データを用いて学習し、予測モデルを生成する。シミュレーション装置100は、シミュレーションに用いる評価用データと、生成された予測モデルと、シミュレーションにおける強化学習を行う強化学習器と、シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける。シミュレーション装置100は、受け付けた配置の状態に基づいて、評価用データと、予測モデルと、強化学習器と、模倣学習器とを用いたシミュレーションを実行する。シミュレーション装置100は、シミュレーションにおける強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定する。シミュレーション装置100は、予測モデルの再生成を行うと判定した場合、生成部に対して、予測モデルの再生成を指示する。これにより、シミュレーション装置100は、高精度なシミュレーション環境を容易に構築することができる。
図1に示すように、シミュレーション装置100は、通信部110と、表示部111と、操作部112と、記憶部120と、制御部130とを有する。なお、シミュレーション装置100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、図示しないネットワークを介して、他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部110は、例えば、他の情報処理装置から、学習用データおよび評価用データを受信する。通信部110は、受信した学習用データおよび評価用データを制御部130に出力する。なお、通信部110は、例えば、他の情報処理装置から、後述する予測モデル、第1学習済モデルおよび第2学習済モデル等を受信するようにしてもよい。
表示部111は、各種情報を表示するための表示デバイスである。表示部111は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部111は、制御部130から入力された表示画面等の各種画面を表示する。
操作部112は、シミュレーション装置100のユーザから各種操作を受け付ける入力デバイスである。操作部112は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部112は、ユーザによって入力された操作を操作情報として制御部130に出力する。なお、操作部112は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部111の表示デバイスと、操作部112の入力デバイスとは、一体化されるようにしてもよい。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、学習用データ記憶部121と、予測モデル記憶部122と、評価用データ記憶部123と、配置情報記憶部124と、学習済モデル記憶部125とを有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
学習用データ記憶部121は、例えば、プラントの各部に設けられた温度や圧力等の各種センサが出力するセンサ情報を学習用データとして記憶する。学習用データは、予測対象に対する前処理が施された後、予測モデルの機械学習に用いられる。
予測モデル記憶部122は、予測対象の各種パラメータの出力値が得られるように、前処理済みの学習用データを機械学習で学習させた予測モデルを記憶する。予測モデル記憶部122は、シミュレーションにおいて、評価用データに基づいて、予測対象の各種パラメータを出力する。また、予測モデルは、例えば、センサ情報を特徴量として、ニューラルネットワークを用いて深層学習を行ったものである。ニューラルネットワークとしては、例えば、CNN(Convolutional Neural Network)を用いることができる。つまり、予測モデルは、例えば、学習パラメータとしてニューラルネットワークの各種パラメータ(重み係数)等を記憶する。なお、通信部110を介して他の情報処理装置から予測モデルを取得した場合、予測モデルは、シミュレーションにおいて新たな機械学習を行わないようにしてもよい。
評価用データ記憶部123は、例えば、プラントの各部に設けられた温度や圧力等の各種センサが出力するセンサ情報を評価用データとして記憶する。評価用データは、取得されたセンサ情報のデータを、学習用データと評価用データとに分割したものであってもよい。
配置情報記憶部124は、ユーザから受け付けた評価用データと、予測モデルと、強化学習器と、模倣学習器とのうち、いずれか1つまたは複数の要素の配置の状態を表す配置情報を記憶する。配置情報は、配置される各要素間の接続情報も含む。
学習済モデル記憶部125は、シミュレーションにおける強化学習器の学習結果である第1学習済モデルと、模倣学習器の学習結果である第2学習済モデルとを記憶する。第1学習済モデルおよび第2学習済モデルは、例えば、制御対象のバルブの開閉状況に応じて出力流量を出力する予測モデルに対するバルブの開度を学習する。学習済モデル記憶部125は、第1学習済モデルとして、例えば、Q学習の各種パラメータを記憶する。また、学習済モデル記憶部125は、第2学習済モデルとして、例えば、バルブをPID(Proportional Integral Differential)制御した場合の結果を模倣した各種パラメータを記憶する。なお、通信部110を介して他の情報処理装置から第1学習済モデルおよび第2学習済モデルを取得した場合、第1学習済モデルおよび第2学習済モデルは、シミュレーションにおいて新たな強化学習および模倣学習を行わないようにしてもよい。
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。
制御部130は、第1受付部131と、設定部132と、生成部133と、第2受付部134と、実行部135と、判定部136と、出力制御部137とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
第1受付部131は、ユーザの操作に基づいて、例えば、通信部110を介して、他の情報処理装置から学習用データの入力を受け付ける。第1受付部131は、受け付けた学習用データを学習用データ記憶部121に記憶する。また、第1受付部131は、ユーザの操作に基づいて、例えば、通信部110を介して、他の情報処理装置から評価用データの入力を受け付ける。第1受付部131は、受け付けた評価用データを評価用データ記憶部123に記憶する。また、第1受付部131は、ユーザから予測対象に対する設定の開始を受け付けると、設定部132に設定指示を出力する。なお、第1受付部131は、ユーザから設定を行う予測対象を複数受け付けてもよい。
設定部132には、第1受付部131または生成部133から設定指示が入力される。また、設定部132には、判定部136から再設定指示が入力される。設定部132は、設定指示または再設定指示が入力されると、予測対象を設定する。設定部132は、例えば、予測対象がバルブであれば、出力値として出力流量を設定し、制御対象としてバルブの開度を設定する。なお、設定部132は、再設定指示が入力された場合、既に試行済みの設定条件と異なる条件に予測対象を設定する。設定条件は、例えば、パラメータのリストを順番に試行したり、予測モデル自体を変更したりすることで変更する。設定部132は、予測対象を設定すると、設定した予測対象に対応する前処理を、学習用データ記憶部121の学習用データに対して実行する。なお、前処理とは、例えば、欠損値の補充、異常値処理、標準化等が挙げられる。設定部132は、前処理が完了すると、生成指示を生成部133に出力する。
生成部133は、設定部132から生成指示が入力されると、学習用データ記憶部121から学習用データを読み込んで機械学習を行い、予測モデルを生成する。生成部133は、例えば、CNN等の深層学習を行い、予測モデルを生成する。生成部133は、生成した予測モデルを予測モデル記憶部122に記憶する。生成部133は、予測モデルが未生成の予測対象があるか否かを判定する。生成部133は、予測モデルが未生成の予測対象があると判定した場合、設定部132に対して、残りの予測対象について設定を行うように設定指示を出力する。生成部133は、予測モデルが未生成の予測対象がないと判定した場合、第2受付部134に対して受付指示を出力する。なお、設定部132と生成部133とは、統合してもよい。また、判定部136から設定部132に入力される再設定指示は、予測モデルの再生成を指示するものであり、設定部132と生成部133とを統合した場合、統合後の生成部に入力される。
第2受付部134は、生成部133から受付指示が入力されると、表示部111に配置画面を表示させ、ユーザからシミュレーション環境における各要素の配置を受け付ける。第2受付部134は、配置する要素として、生成した予測モデルの配置を受け付ける。また、第2受付部134は、配置する要素として、評価用データ、強化学習器および模倣学習器の配置を受け付ける。さらに、第2受付部134は、例えば、配置された強化学習器および模倣学習器の制御対象等の設定、つまり各要素間の接続情報を受け付ける。第2受付部134は、ユーザから配置の完了を受け付けると、各要素の配置および接続情報を含む配置情報を配置情報記憶部124に記憶する。
ここで、図2および図3を用いて、配置画面について説明する。図2は、配置画面の一例を示す図である。図2に示す配置画面10は、シミュレーション環境において配置対象となる各要素を表示する選択領域11と、シミュレーション対象となるシミュレーション環境を構築する構築領域12とを有する。配置対象となる各要素としては、例えば、評価用データに対応するデータ13、各予測モデルに対応する予測モデルC1〜CX、関数処理D1,D2、PID制御P1、強化学習器に対応する強化学習14、および、模倣学習器に対応する模倣学習15が挙げられる。なお、図2では、選択領域11のPIDパラメータ16は省略されている。
構築領域12では、例えば、ユーザが選択領域11から各要素についてドラッグアンドドロップ操作を行うことで、各要素が配置される。図2の例では、データ13と、予測モデルC1〜C6と、関数処理D1と、強化学習14と、模倣学習15と、PID制御P1と、PIDパラメータ16とが配置されている。なお、関数処理D1は、入力に対して何らかの関数処理を行って出力を行う要素であり、例えば、移動平均を求める関数等である。また、PID制御P1は、フィードバック制御を行うPID制御に対応する。PIDパラメータ16は、PID制御P1の各種ゲインや時間、目標値、操作量等のパラメータである。
また、図2の例では、データ13は、予測モデルC1〜C6に接続される。予測モデルC1の出力は、PID制御P1と、PIDパラメータ16とに接続される。PIDパラメータ16の出力は、PID制御P1に接続される。PID制御P1の出力は、強化学習14と、模倣学習15とに接続される。また、予測モデルC2〜C6および関数処理D1の出力は、強化学習14と、模倣学習15とに接続される。一方、強化学習14および模倣学習15の制御出力は、予測モデルC1〜C6および関数処理D1に接続される。
図3は、配置画面の他の一例を示す図である。図3に示す配置画面20は、図2の配置画面10に対して状態の予測画像を生成および入力する配置としたものである。図3の例では、配置画面10と比較して、選択領域11に要素として、予測画像21および予測画像モデルC7が追加され、構築領域12には、予測画像21および予測画像モデルC7が追加して配置されている。
図3の例では、データ13は、予測モデルC1〜C6に接続される。予測モデルC1の出力は、PID制御P1と、PIDパラメータ16と、予測画像モデルC7とに接続される。PIDパラメータ16の出力は、PID制御P1に接続される。PID制御P1の出力は、強化学習14と、模倣学習15とに接続される。また、予測モデルC2,C3,C5,C6および関数処理D1の出力は、強化学習14と、模倣学習15とに接続される。さらに、予測モデルC2,C3および関数処理D1の出力は、予測画像モデルC7に接続される。また、予測モデルC4の出力は、関数処理D1に接続される。
予測画像モデルC7は、生成部133において、入力を潜在変数(特徴量)として、GAN(Generative Adversarial Networks)を用いて学習が行われる。予測画像モデルC7は、シミュレーションにおいて、予測モデルC1,C2,C3および関数処理D1の出力に基づいて、予測画像21を生成する。すなわち、構築領域12では、予測画像モデルC7の出力は、予測画像21に接続される。予測画像21は、画像データであり、強化学習14と、模倣学習15とに接続される。つまり、図3の例では、強化学習14および模倣学習15は、自身の予測値によって制御された予測モデルの出力に基づいて生成された予測画像についても学習する。なお、予測画像モデルC7の学習は、GANに限定されず、例えば、CNNやMLP(MultiLayer Perceptron:多層パーセプトロン)等を用いて、各種センサ等の出力結果を画像として教師あり学習を行うようにしてもよい。
ここで、予測画像の生成について、図4を用いて説明する。図4は、予測画像モデルにおける学習の一例を説明する図である。図4に示す学習例30では、Generatorである生成器31に対して潜在変数(特徴量)32が入力されると、生成器31は、偽物画像33を生成し、Discriminatorである識別器34に出力する。識別器34は、偽物画像33が本物画像である確率をシグモイド関数35に出力する。また、識別器34には、本物画像36が偽物画像33と交互に入力される。シグモイド関数35は、偽物画像33について、本物(1)か偽物(0)かを判定器37に出力する。判定器37は、入力された本物(1)か偽物(0)かについて、正解であるかどうかを判定して、誤差逆伝搬により生成器31および識別器34を学習させる。
次に、図4に示す学習例30では、学習が済んだ生成器31を画像生成モデル31aとする。すなわち、画像生成モデル31aは、学習用データとして画像データを用いて機械学習を行った予測画像モデルである。画像生成モデル31aは、図3における予測画像モデルC7に相当し、予測モデル38から出力されたシミュレータ出力値39を入力として、予測画像40を生成し出力する。生成された予測画像40は、例えば、強化学習器での学習を介して、予測モデル38の制御に利用できる。また、予測画像40は、出力結果の確認用に表示するようにしてもよい。
図1の説明に戻る。実行部135は、ユーザからシミュレーションの開始指示を受け付けると、配置情報記憶部124を参照し、配置情報に基づいて、シミュレーションを実行する。つまり、実行部135は、強化学習器の強化学習、および、模倣学習器の模倣学習を実行し、第1学習済モデルおよび第2学習済モデルを学習済モデル記憶部125に記憶する。また、実行部135は、配置情報に予測画像モデルが含まれる場合、シミュレーションの実行中に、予測画像データを出力制御部137に出力する。すなわち、実行部135は、強化学習器の制御出力に応じた予測モデルの予測値、つまり、強化学習器の学習結果に基づく予測モデルの予測値に対応する予測画像データを出力制御部137に出力する。実行部135は、例えば、所定回数のシミュレーションが完了すると、判定指示を判定部136に出力する。また、実行部135は、配置情報に予測画像モデルが含まれる場合、シミュレーション完了時点の予測画像データを出力制御部137に出力する。なお、シミュレーションの所定回数は、例えば、予め設定された回数やユーザから指定を受け付けた回数を用いることができる。
判定部136には、配置情報に予測画像モデルが含まれる場合、表示した予測画像データに対して受け付けた評価が出力制御部137から入力される。判定部136は、実行部135から判定指示が入力されると、ユーザから予測画像データの評価を受け付けたか否かを判定する。つまり、判定部136は、配置情報に予測画像モデルが含まれる場合、出力制御部137が表示部111に表示した予測画像データに対して、ユーザから評価を受け付けたか否かを判定する。判定部136は、予測画像データの評価を受け付けていないと判定した場合、または、配置情報に予測画像モデルが含まれない場合、強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定する。
例えば、判定部136は、実環境における強化学習器の学習結果に基づく予測モデルの予測値と、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値との誤差の評価値に基づいて、予測モデルの再生成を行うか否かを判定する。誤差の評価値としては、平均平方二乗誤差(RMSE:Root Mean Square Error)や平均二乗誤差(MSE:Mean Squared Error)を用いることができる。
また、例えば、判定部136は、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値と、実測値との相関度合いに基づいて、予測モデルの再生成を行うか否かを判定する。相関度合いとしては、例えば、相関係数を用いてもよいし、損失関数を用いてもよい。つまり、判定部136は、学習結果に基づいて、一定期間、強化学習の結果が向上しない場合、新たな予測モデルの生成を行うか否かを判定する。
一方、判定部136は、予測画像データの評価を受け付けたと判定した場合、受け付けた評価に基づいて、予測モデルの再生成を行うか否かを判定する。予測画像データの評価は、例えば、炉の内部をサーモグラフィによって撮影した実物画像に対応する予測画像を、熟練作業員が評価することで行うことができる。
判定部136は、予測モデルの再生成を行うと判定した場合、設定部132に対して再設定指示を出力する。なお、再設定指示は、設定部132および生成部133に対して予測モデルの再生成を指示するものである。判定部136は、予測モデルの再生成を行わないと判定した場合、シミュレーション処理を終了する。すなわち、判定部136は、シミュレーション環境の構築を完了する。
出力制御部137は、実行部135から予測画像データが入力されると、予測画像データを表示部111に出力して表示する。出力制御部137は、例えば、シミュレーション実行中の予測画像データを逐次表示するようにしてもよいし、所定時間ごとに抽出した予測画像データを並べて表示するようにしてもよい。また、出力制御部137は、シミュレーションが完了した際の予測画像データを表示するようにしてもよい。さらに、出力制御部137は、表示した予測画像データに対する評価を受け付けると、受け付けた評価を判定部136に出力する。
[シミュレーション装置の処理手順]
次に、第1の実施形態に係るシミュレーション装置100の動作について説明する。図5は、第1の実施形態におけるシミュレーション処理の一例を示すフローチャートである。
第1受付部131は、例えば、他の情報処理装置から学習用データの入力を受け付ける(ステップS1)。第1受付部131は、受け付けた学習用データを学習用データ記憶部121に記憶する。また、第1受付部131は、例えば、他の情報処理装置から評価用データの入力を受け付ける。第1受付部131は、受け付けた評価用データを評価用データ記憶部123に記憶する。また、第1受付部131は、ユーザから予測対象に対する設定の開始を受け付けると、設定部132に設定指示を出力する。
設定部132は、設定指示または再設定指示が入力されると、予測対象を設定する(ステップS2)。設定部132は、予測対象を設定すると、設定した予測対象に対応する前処理を、学習用データ記憶部121の学習用データに対して実行する(ステップS3)。設定部132は、前処理が完了すると、生成指示を生成部133に出力する。
生成部133は、設定部132から生成指示が入力されると、学習用データ記憶部121から学習用データを読み込んで機械学習を行い、予測モデルを生成する(ステップS4)。生成部133は、生成した予測モデルを予測モデル記憶部122に記憶する。生成部133は、予測モデルが未生成の予測対象があるか否かを判定する(ステップS5)。生成部133は、予測モデルが未生成の予測対象があると判定した場合(ステップS5:Yes)、設定部132に対して、残りの予測対象について設定を行うように設定指示を出力し、ステップS2に戻る。生成部133は、予測モデルが未生成の予測対象がないと判定した場合(ステップS5:No)、第2受付部134に対して受付指示を出力する。
第2受付部134は、生成部133から受付指示が入力されると、表示部111に配置画面を表示させ、ユーザからシミュレーション環境における各要素の配置を受け付ける。第2受付部134は、生成した予測モデルの配置を受け付ける(ステップS6)。また、第2受付部134は、評価用データ、強化学習器および模倣学習器の配置を受け付ける(ステップS7)。さらに、第2受付部134は、配置された強化学習器および模倣学習器の制御対象等の設定を受け付ける(ステップS8)。第2受付部134は、ユーザから配置の完了を受け付けると、各要素の配置および接続情報を含む配置情報を配置情報記憶部124に記憶する。
実行部135は、ユーザからシミュレーションの開始指示を受け付けると、配置情報記憶部124を参照し、配置情報に基づいて、シミュレーションを実行し、強化学習を実行する(ステップS9)。実行部135は、強化学習器の第1学習済モデル、および、模倣学習器の第2学習済モデルを学習済モデル記憶部125に記憶する。また、実行部135は、配置情報に予測画像モデルが含まれる場合、シミュレーションの実行中に、予測画像データを出力制御部137に出力する。出力制御部137は、実行部135から予測画像データが入力されると、予測画像データを表示部111に出力して表示する(ステップS10)。出力制御部137は、表示した予測画像データに対する評価を受け付けると、受け付けた評価を判定部136に出力する。実行部135は、例えば、所定回数のシミュレーションが完了すると、判定指示を判定部136に出力する。
判定部136は、実行部135から判定指示が入力されると、ユーザから予測画像データの評価を受け付けたか否かを判定する(ステップS11)。判定部136は、予測画像データの評価を受け付けていないと判定した場合(ステップS11:No)、または、配置情報に予測画像モデルが含まれない場合、強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定すると設定する(ステップS12)。一方、判定部136は、予測画像データの評価を受け付けたと判定した場合(ステップS11:Yes)、受け付けた評価に基づいて、予測モデルの再生成を行うか否かを判定すると設定する(ステップS13)。
判定部136は、予測モデルの再生成を行うか否かを判定する(ステップS14)。判定部136は、予測モデルの再生成を行うと判定した場合(ステップS14:Yes)、設定部132に対して再設定指示を出力し、ステップS2に戻る。判定部136は、予測モデルの再生成を行わないと判定した場合(ステップS14:No)、シミュレーション処理を終了する。これにより、シミュレーション装置100は、高精度なシミュレーション環境を容易に構築することができる。また、シミュレーション装置100は、人手による構築よりも短時間でシミュレーション環境を構築することができる。
なお、上記第1の実施形態では、予測モデルの一例として、予測画像データを生成する予測画像モデルを挙げたが、予測画像データの代わりに予測音声データを生成する予測音声モデルを用いてもよい。予測音声モデルは、例えば、図3に示す配置画面において、他の予測モデルと同様に配置することができる。
[第1の実施形態の効果]
このように、シミュレーション装置100は、学習用データの入力を受け付ける。また、シミュレーション装置100は、生成部が、受け付けた学習用データを用いて学習し、予測モデルを生成する。また、シミュレーション装置100は、シミュレーションに用いる評価用データと、生成された予測モデルと、シミュレーションにおける強化学習を行う強化学習器と、シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける。また、シミュレーション装置100は、受け付けた配置の状態に基づいて、評価用データと、予測モデルと、強化学習器と、模倣学習器とを用いたシミュレーションを実行する。また、シミュレーション装置100は、シミュレーションにおける強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定する。また、シミュレーション装置100は、予測モデルの再生成を行うと判定した場合、生成部に対して、予測モデルの再生成を指示する。その結果、シミュレーション装置100は、高精度なシミュレーション環境を容易に構築することができる。また、シミュレーション装置100は、シミュレーション環境の構築から強化学習の実行までを自動化できるので、人手による構築よりも短時間で高精度なシミュレーション環境を構築することができる。なお、構築するシミュレーション環境は、デジタルツイン環境とも呼ばれるものである。
また、シミュレーション装置100は、実環境における強化学習器の学習結果に基づく予測モデルの予測値と、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値との誤差の評価値に基づいて、予測モデルの再生成を行うか否かを判定する。その結果、シミュレーション装置100は、シミュレーション環境の精度を向上させることができる。
また、シミュレーション装置100は、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値と、実測値との相関度合いに基づいて、予測モデルの再生成を行うか否かを判定する。その結果、シミュレーション装置100は、シミュレーション環境の精度を向上させることができる。
また、学習用データは、画像データを含む。また、シミュレーション装置100は、予測モデルとして、さらに、画像データに基づいて、予測画像データを生成する予測画像モデルを生成する。また、シミュレーション装置100は、予測画像モデルの配置を受け付ける。また、シミュレーション装置100は、予測画像モデルを含むシミュレーションを実行する。また、シミュレーション装置100は、さらに、シミュレーションにおける強化学習器の制御出力に応じた予測モデルの予測値、つまり強化学習器の学習結果に基づく予測モデルの予測値に対応する予測画像データを出力する。その結果、シミュレーション装置100は、予測画像を用いてシミュレーションの状況をわかりやすく提示できる。
また、学習用データは、音声データを含む。また、シミュレーション装置100は、予測モデルとして、さらに、音声データに基づいて、予測音声データを生成する予測音声モデルを生成する。また、シミュレーション装置100は、予測音声モデルの配置を受け付ける。また、シミュレーション装置100は、予測音声モデルを含むシミュレーションを実行する。また、シミュレーション装置100は、さらに、シミュレーションにおける強化学習器の制御出力に応じた予測モデルの予測値、つまり強化学習器の学習結果に基づく予測モデルの予測値に対応する予測音声データを出力する。その結果、シミュレーション装置100は、予測音声を用いてシミュレーションの状況をわかりやすく提示できる。
また、シミュレーション装置100は、さらに、出力した予測画像データまたは予測音声データに対する評価を受け付け、受け付けた評価に基づいて、予測モデルの再生成を行うか否かを判定する。その結果、シミュレーション装置100は、熟練作業員の経験をシミュレーションに反映できる。
なお、上記第1の実施形態では、予測モデルの生成において、CNNを用いた機械学習を行ったが、これに限定されない。例えば、RNN(Recurrent Neural Network)やSVM(Support Vector Machine)等を用いた機械学習を行ってもよい。
また、上記第1の実施形態では、学習用データを機械学習して予測モデルを生成してから強化学習器の強化学習を行ったが、これに限定されない。例えば、シミュレーション装置100は、学習用データを機械学習して予測モデルを生成し、生成した予測モデルを用いてシミュレーションを実行した結果(強化学習を行わない場合の結果)に基づいて、予測モデルの再生成を行うか否かを判定するようにしてもよい。また、例えば、シミュレーション装置100は、他の情報処理装置から予測モデルを取得した場合、予測モデルの機械学習は行わず、シミュレーションで強化学習を実行した結果に基づいて、予測モデルの再生成を行うか否かを判定するようにしてもよい。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUやGPUおよび当該CPUやGPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上記実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
また、上記実施形態において説明したシミュレーション装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係るシミュレーション装置100が実行する処理をコンピュータが実行可能な言語で記述したシミュレーションプログラムを作成することもできる。この場合、コンピュータがシミュレーションプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるシミュレーションプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたシミュレーションプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
図6は、シミュレーションプログラムを実行するコンピュータの一例を示す図である。図6に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図6に例示するように、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図6に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図6に例示するように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図6に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図6に例示するように、例えばディスプレイ1130に接続される。
ここで、図6に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の、シミュレーションプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
なお、シミュレーションプログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、シミュレーションプログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
100 シミュレーション装置
110 通信部
111 表示部
112 操作部
120 記憶部
121 学習用データ記憶部
122 予測モデル記憶部
123 評価用データ記憶部
124 配置情報記憶部
125 学習済モデル記憶部
130 制御部
131 第1受付部
132 設定部
133 生成部
134 第2受付部
135 実行部
136 判定部
137 出力制御部

Claims (8)

  1. 学習用データの入力を受け付ける第1受付部と、
    受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成部と、
    シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける第2受付部と、
    受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行部と、
    前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成部に対して、前記予測モデルの再生成を指示する判定部と、
    を有することを特徴とするシミュレーション装置。
  2. 前記判定部は、実環境における前記強化学習器の学習結果に基づく前記予測モデルの予測値と、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値との誤差の評価値に基づいて、前記予測モデルの再生成を行うか否かを判定する、
    ことを特徴とする請求項1に記載のシミュレーション装置。
  3. 前記判定部は、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値と、実測値との相関度合いに基づいて、前記予測モデルの再生成を行うか否かを判定する、
    ことを特徴とする請求項1に記載のシミュレーション装置。
  4. 前記学習用データは、画像データを含み、
    前記生成部は、前記予測モデルとして、さらに、前記画像データに基づいて、予測画像データを生成する予測画像モデルを生成し、
    前記第2受付部は、前記予測画像モデルの配置を受け付け、
    前記実行部は、前記予測画像モデルを含む前記シミュレーションを実行し、
    さらに、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値に対応する前記予測画像データを出力する出力制御部を有する、
    ことを特徴とする請求項1〜3のいずれか1つに記載のシミュレーション装置。
  5. 前記学習用データは、音声データを含み、
    前記生成部は、前記予測モデルとして、さらに、前記音声データに基づいて、予測音声データを生成する予測音声モデルを生成し、
    前記第2受付部は、前記予測音声モデルの配置を受け付け、
    前記実行部は、前記予測音声モデルを含む前記シミュレーションを実行し、
    さらに、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値に対応する前記予測音声データを出力する出力制御部を有する、
    ことを特徴とする請求項1〜4のいずれか1つに記載のシミュレーション装置。
  6. 前記判定部は、さらに、前記出力制御部が出力した予測画像データまたは予測音声データに対する評価を受け付け、受け付けた評価に基づいて、前記予測モデルの再生成を行うか否かを判定する、
    ことを特徴とする請求項4または5に記載のシミュレーション装置。
  7. 学習用データの入力を受け付ける第1受付工程と、
    受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成工程と、
    シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける第2受付工程と、
    受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行工程と、
    前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成工程に対して、前記予測モデルの再生成を指示する判定工程と、
    をシミュレーション装置が実行することを特徴とするシミュレーション方法。
  8. 学習用データの入力を受け付ける第1受付ステップと、
    受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成ステップと、
    シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか1つまたは複数の配置を受け付ける第2受付ステップと、
    受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行ステップと、
    前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成ステップに対して、前記予測モデルの再生成を指示する判定ステップと、
    をコンピュータに実行させることを特徴とするシミュレーションプログラム。
JP2019021965A 2019-02-08 2019-02-08 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム Active JP6850313B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019021965A JP6850313B2 (ja) 2019-02-08 2019-02-08 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019021965A JP6850313B2 (ja) 2019-02-08 2019-02-08 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021035735A Division JP7084520B2 (ja) 2021-03-05 2021-03-05 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム

Publications (2)

Publication Number Publication Date
JP2020129301A JP2020129301A (ja) 2020-08-27
JP6850313B2 true JP6850313B2 (ja) 2021-03-31

Family

ID=72174580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019021965A Active JP6850313B2 (ja) 2019-02-08 2019-02-08 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム

Country Status (1)

Country Link
JP (1) JP6850313B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7359176B2 (ja) 2021-03-03 2023-10-11 横河電機株式会社 判定装置、判定方法、および、判定プログラム
WO2023058132A1 (ja) * 2021-10-05 2023-04-13 日本電信電話株式会社 シミュレーションレイヤ選択装置、シミュレーションレイヤ選択方法およびシミュレーションレイヤ選択プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3210473B2 (ja) * 1993-03-11 2001-09-17 株式会社東芝 ビジュアルフィードバック制御装置
JP4432042B2 (ja) * 2004-05-28 2010-03-17 株式会社国際電気通信基礎技術研究所 シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
JP4585983B2 (ja) * 2006-03-27 2010-11-24 株式会社日立製作所 プラント制御方法及びプラント制御装置
DE102007001024B4 (de) * 2007-01-02 2008-10-02 Siemens Ag Verfahren zur rechnergestützten Regelung und/oder Steuerung eines technischen Systems insbesondere einer Gasturbine

Also Published As

Publication number Publication date
JP2020129301A (ja) 2020-08-27

Similar Documents

Publication Publication Date Title
Muratore et al. Assessing transferability from simulation to reality for reinforcement learning
JP6521578B2 (ja) プロセス制御システムにおける非侵入的データ分析
CN113039495A (zh) 工业厂房控制器
JP6850313B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
CN107636704A (zh) 从产品生命周期到设计和制造的数据反馈环路
US20210158162A1 (en) Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space
US11762679B2 (en) Information processing device, information processing method, and non-transitory computer-readable storage medium
EP3704550B1 (en) Generation of a control system for a target system
CN110516389B (zh) 行为控制策略的学习方法、装置、设备及存储介质
WO2021084587A1 (ja) 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法
CN108604317A (zh) 可扩展性持有装置
JP2019206041A5 (ja) 情報処理装置、ロボット制御装置、情報処理方法及びプログラム
JP2022505008A (ja) 機械の残存耐用寿命を予測するための装置および方法
JP2004178492A (ja) 強化学習法を用いたプラントシミュレーション方法
JP7084520B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
CN113614743A (zh) 用于操控机器人的方法和设备
JP6333160B2 (ja) プロジェクト評価装置及びプロジェクト評価方法及びプロジェクト評価プログラム
CN115135463A (zh) 工业系统的预测模型学习方法、装置和系统
US20200379452A1 (en) Plant operating condition setting support system, learning device, and operating condition setting support device
TW202006652A (zh) 具輔助判斷功能之產品測試系統及應用於其上的產品測試輔助方法
JP5125754B2 (ja) Pidコントローラのチューニング装置、pidコントローラのチューニング用プログラムおよびpidコントローラのチューニング方法
WO2021110388A1 (en) System, device and method for model based analytics
JP2010049392A (ja) Pidコントローラのチューニング装置、pidコントローラのチューニング用プログラムおよびpidコントローラのチューニング方法
JP2020140641A5 (ja) 情報処理装置、方法、制御装置及び装置
JPWO2016203757A1 (ja) 制御装置、それを使用する情報処理装置、制御方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210120

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: 20210209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210305

R150 Certificate of patent or registration of utility model

Ref document number: 6850313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250