(57)【要約】【課題】高精度なシミュレーション環境を容易に構築すること。【解決手段】シミュレーション装置１００は、学習用データの入力を受け付ける。シミュレーション装置１００は、生成部が、学習用データを用いて学習し予測モデルを生成する。シミュレーション装置１００は、評価用データと、予測モデルと、強化学習を行う強化学習器と、模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける。シミュレーション装置１００は、受け付けた配置の状態に基づいて、評価用データと予測モデルと強化学習器と模倣学習器とを用いたシミュレーションを実行する。シミュレーション装置１００は、強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定する。シミュレーション装置１００は、予測モデルの再生成を行うと判定した場合、生成部に対して、予測モデルの再生成を指示する。【選択図】図１
2020129301.tif 000002
【特許請求の範囲】
【請求項１】
学習用データの入力を受け付ける第１受付部と、
受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成部と、
シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける第２受付部と、
受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行部と、
前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成部に対して、前記予測モデルの再生成を指示する判定部と、
を有することを特徴とするシミュレーション装置。
【請求項２】
前記判定部は、実環境における前記強化学習器の学習結果に基づく前記予測モデルの予測値と、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値との誤差の評価値に基づいて、前記予測モデルの再生成を行うか否かを判定する、
ことを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記判定部は、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値と、実測値との相関度合いに基づいて、前記予測モデルの再生成を行うか否かを判定する、
ことを特徴とする請求項１に記載のシミュレーション装置。
【請求項４】
前記学習用データは、画像データを含み、
前記生成部は、前記予測モデルとして、さらに、前記画像データに基づいて、予測画像データを生成する予測画像モデルを生成し、
前記第２受付部は、前記予測画像モデルの配置を受け付け、
前記実行部は、前記予測画像モデルを含む前記シミュレーションを実行し、
さらに、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値に対応する前記予測画像データを出力する出力制御部を有する、
ことを特徴とする請求項１〜３のいずれか１つに記載のシミュレーション装置。
【請求項５】
前記学習用データは、音声データを含み、
前記生成部は、前記予測モデルとして、さらに、前記音声データに基づいて、予測音声データを生成する予測音声モデルを生成し、
前記第２受付部は、前記予測音声モデルの配置を受け付け、
前記実行部は、前記予測音声モデルを含む前記シミュレーションを実行し、
さらに、前記シミュレーションにおける前記強化学習器の学習結果に基づく前記予測モデルの予測値に対応する前記予測音声データを出力する出力制御部を有する、
ことを特徴とする請求項１〜４のいずれか１つに記載のシミュレーション装置。
【請求項６】
前記判定部は、さらに、前記出力制御部が出力した予測画像データまたは予測音声データに対する評価を受け付け、受け付けた評価に基づいて、前記予測モデルの再生成を行うか否かを判定する、
ことを特徴とする請求項４または５に記載のシミュレーション装置。
【請求項７】
学習用データの入力を受け付ける第１受付工程と、
受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成工程と、
シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける第２受付工程と、
受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行工程と、
前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成工程に対して、前記予測モデルの再生成を指示する判定工程と、
をシミュレーション装置が実行することを特徴とするシミュレーション方法。
【請求項８】
学習用データの入力を受け付ける第１受付ステップと、
受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成ステップと、
シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける第２受付ステップと、
受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行ステップと、
前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成ステップに対して、前記予測モデルの再生成を指示する判定ステップと、
をコンピュータに実行させることを特徴とするシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、シミュレーション方法およびシミュレーションプログラムに関する。
【背景技術】
【０００２】
近年、工場、プラント、ビルおよびデータセンタ等の様々な環境における機器制御に強化学習器等の機械学習を用いることが提案されている。この様な機械学習では、工場、プラント、ビルおよびデータセンタ等の様々な環境に対して、制御装置や空調機等の様々な機器の入出力をモデル化してシミュレーション環境を構築することで、強化学習器の制御パラメータの探索が行われている。制御パラメータの探索は、熟練作業者が試行錯誤を行うことで行われている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】佐藤  和也  外２名著、「はじめての制御工学」、株式会社講談社、２０１０年１０月
【非特許文献２】Richard  S.Sutton  外１名著、「強化学習」、森北出版株式会社、２０００年１２月
【非特許文献３】Volodymyr  Mnih  外６名、“Playing  Atari  with  Deep  Reinforcement  Learning”、［Online］、２０１３年１２月、NIPS  Deep  Learning  Workshop  2013、［平成３１年１月２９日検索］、インターネット＜https://arxiv.org/pdf/1312.5602.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来は、高精度なシミュレーション環境を容易に構築することが困難であったという課題がある。例えば、シミュレーション環境の構築と、制御パラメータの探索とは、別々に行われていたため、制御パラメータの探索において、シミュレーション環境を変更したい場合、どのように変更するのかを作業者が指示することが求められる。このため、シミュレーション環境の構築と、制御パラメータの探索とを繰り返す場合、多くの手間と時間とを要することになり、高精度なシミュレーション環境を容易に構築することが困難である。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明のシミュレーション装置は、学習用データの入力を受け付ける第１受付部と、受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成部と、シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける第２受付部と、受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行部と、前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成部に対して、前記予測モデルの再生成を指示する判定部と、を有することを特徴とする。
【０００６】
また、本発明のシミュレーション方法は、学習用データの入力を受け付ける第１受付工程と、受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成工程と、シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける第２受付工程と、受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行工程と、前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成工程に対して、前記予測モデルの再生成を指示する判定工程と、をシミュレーション装置が実行することを特徴とする。
【０００７】
また、本発明のシミュレーションプログラムは、学習用データの入力を受け付ける第１受付ステップと、受け付けた前記学習用データを用いて学習し、予測モデルを生成する生成ステップと、シミュレーションに用いる評価用データと、生成された前記予測モデルと、前記シミュレーションにおける強化学習を行う強化学習器と、前記シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける第２受付ステップと、受け付けた前記配置の状態に基づいて、前記評価用データと、前記予測モデルと、前記強化学習器と、前記模倣学習器とを用いた前記シミュレーションを実行する実行ステップと、前記シミュレーションにおける前記強化学習器の学習結果に基づいて、前記予測モデルの再生成を行うか否かを判定し、前記予測モデルの再生成を行うと判定した場合、前記生成ステップに対して、前記予測モデルの再生成を指示する判定ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、高精度なシミュレーション環境を容易に構築することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態に係るシミュレーション装置の構成の一例を示すブロック図である。
【図２】図２は、配置画面の一例を示す図である。
【図３】図３は、配置画面の他の一例を示す図である。
【図４】図４は、予測画像モデルにおける学習の一例を説明する図である。
【図５】図５は、第１の実施形態におけるシミュレーション処理の一例を示すフローチャートである。
【図６】図６は、シミュレーションプログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本願の開示するシミュレーション装置、シミュレーション方法およびシミュレーションプログラムの実施の形態を詳細に説明する。なお、この実施の形態により本願に係るシミュレーション装置、シミュレーション方法およびシミュレーションプログラムが限定されるものではない。
【００１１】
［第１の実施形態］
以下の実施の形態では、第１の実施形態に係るシミュレーション装置１００の構成、シミュレーション装置１００の処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。
【００１２】
［シミュレーション装置の構成］
まず、図１を用いて、シミュレーション装置１００の構成を説明する。図１は、第１の実施形態に係るシミュレーション装置の構成の一例を示すブロック図である。シミュレーション装置１００は、例えば、他の情報処理装置から学習用データの入力を受け付ける。シミュレーション装置１００は、生成部が、受け付けた学習用データを用いて学習し、予測モデルを生成する。シミュレーション装置１００は、シミュレーションに用いる評価用データと、生成された予測モデルと、シミュレーションにおける強化学習を行う強化学習器と、シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける。シミュレーション装置１００は、受け付けた配置の状態に基づいて、評価用データと、予測モデルと、強化学習器と、模倣学習器とを用いたシミュレーションを実行する。シミュレーション装置１００は、シミュレーションにおける強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定する。シミュレーション装置１００は、予測モデルの再生成を行うと判定した場合、生成部に対して、予測モデルの再生成を指示する。これにより、シミュレーション装置１００は、高精度なシミュレーション環境を容易に構築することができる。
【００１３】
図１に示すように、シミュレーション装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、シミュレーション装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００１４】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、図示しないネットワークを介して、他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部１１０は、例えば、他の情報処理装置から、学習用データおよび評価用データを受信する。通信部１１０は、受信した学習用データおよび評価用データを制御部１３０に出力する。なお、通信部１１０は、例えば、他の情報処理装置から、後述する予測モデル、第１学習済モデルおよび第２学習済モデル等を受信するようにしてもよい。
【００１５】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。
【００１６】
操作部１１２は、シミュレーション装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００１７】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、学習用データ記憶部１２１と、予測モデル記憶部１２２と、評価用データ記憶部１２３と、配置情報記憶部１２４と、学習済モデル記憶部１２５とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００１８】
学習用データ記憶部１２１は、例えば、プラントの各部に設けられた温度や圧力等の各種センサが出力するセンサ情報を学習用データとして記憶する。学習用データは、予測対象に対する前処理が施された後、予測モデルの機械学習に用いられる。
【００１９】
予測モデル記憶部１２２は、予測対象の各種パラメータの出力値が得られるように、前処理済みの学習用データを機械学習で学習させた予測モデルを記憶する。予測モデル記憶部１２２は、シミュレーションにおいて、評価用データに基づいて、予測対象の各種パラメータを出力する。また、予測モデルは、例えば、センサ情報を特徴量として、ニューラルネットワークを用いて深層学習を行ったものである。ニューラルネットワークとしては、例えば、ＣＮＮ（Convolutional  Neural  Network）を用いることができる。つまり、予測モデルは、例えば、学習パラメータとしてニューラルネットワークの各種パラメータ（重み係数）等を記憶する。なお、通信部１１０を介して他の情報処理装置から予測モデルを取得した場合、予測モデルは、シミュレーションにおいて新たな機械学習を行わないようにしてもよい。
【００２０】
評価用データ記憶部１２３は、例えば、プラントの各部に設けられた温度や圧力等の各種センサが出力するセンサ情報を評価用データとして記憶する。評価用データは、取得されたセンサ情報のデータを、学習用データと評価用データとに分割したものであってもよい。
【００２１】
配置情報記憶部１２４は、ユーザから受け付けた評価用データと、予測モデルと、強化学習器と、模倣学習器とのうち、いずれか１つまたは複数の要素の配置の状態を表す配置情報を記憶する。配置情報は、配置される各要素間の接続情報も含む。
【００２２】
学習済モデル記憶部１２５は、シミュレーションにおける強化学習器の学習結果である第１学習済モデルと、模倣学習器の学習結果である第２学習済モデルとを記憶する。第１学習済モデルおよび第２学習済モデルは、例えば、制御対象のバルブの開閉状況に応じて出力流量を出力する予測モデルに対するバルブの開度を学習する。学習済モデル記憶部１２５は、第１学習済モデルとして、例えば、Ｑ学習の各種パラメータを記憶する。また、学習済モデル記憶部１２５は、第２学習済モデルとして、例えば、バルブをＰＩＤ（Proportional  Integral  Differential）制御した場合の結果を模倣した各種パラメータを記憶する。なお、通信部１１０を介して他の情報処理装置から第１学習済モデルおよび第２学習済モデルを取得した場合、第１学習済モデルおよび第２学習済モデルは、シミュレーションにおいて新たな強化学習および模倣学習を行わないようにしてもよい。
【００２３】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００２４】
制御部１３０は、第１受付部１３１と、設定部１３２と、生成部１３３と、第２受付部１３４と、実行部１３５と、判定部１３６と、出力制御部１３７とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００２５】
第１受付部１３１は、ユーザの操作に基づいて、例えば、通信部１１０を介して、他の情報処理装置から学習用データの入力を受け付ける。第１受付部１３１は、受け付けた学習用データを学習用データ記憶部１２１に記憶する。また、第１受付部１３１は、ユーザの操作に基づいて、例えば、通信部１１０を介して、他の情報処理装置から評価用データの入力を受け付ける。第１受付部１３１は、受け付けた評価用データを評価用データ記憶部１２３に記憶する。また、第１受付部１３１は、ユーザから予測対象に対する設定の開始を受け付けると、設定部１３２に設定指示を出力する。なお、第１受付部１３１は、ユーザから設定を行う予測対象を複数受け付けてもよい。
【００２６】
設定部１３２には、第１受付部１３１または生成部１３３から設定指示が入力される。また、設定部１３２には、判定部１３６から再設定指示が入力される。設定部１３２は、設定指示または再設定指示が入力されると、予測対象を設定する。設定部１３２は、例えば、予測対象がバルブであれば、出力値として出力流量を設定し、制御対象としてバルブの開度を設定する。なお、設定部１３２は、再設定指示が入力された場合、既に試行済みの設定条件と異なる条件に予測対象を設定する。設定条件は、例えば、パラメータのリストを順番に試行したり、予測モデル自体を変更したりすることで変更する。設定部１３２は、予測対象を設定すると、設定した予測対象に対応する前処理を、学習用データ記憶部１２１の学習用データに対して実行する。なお、前処理とは、例えば、欠損値の補充、異常値処理、標準化等が挙げられる。設定部１３２は、前処理が完了すると、生成指示を生成部１３３に出力する。
【００２７】
生成部１３３は、設定部１３２から生成指示が入力されると、学習用データ記憶部１２１から学習用データを読み込んで機械学習を行い、予測モデルを生成する。生成部１３３は、例えば、ＣＮＮ等の深層学習を行い、予測モデルを生成する。生成部１３３は、生成した予測モデルを予測モデル記憶部１２２に記憶する。生成部１３３は、予測モデルが未生成の予測対象があるか否かを判定する。生成部１３３は、予測モデルが未生成の予測対象があると判定した場合、設定部１３２に対して、残りの予測対象について設定を行うように設定指示を出力する。生成部１３３は、予測モデルが未生成の予測対象がないと判定した場合、第２受付部１３４に対して受付指示を出力する。なお、設定部１３２と生成部１３３とは、統合してもよい。また、判定部１３６から設定部１３２に入力される再設定指示は、予測モデルの再生成を指示するものであり、設定部１３２と生成部１３３とを統合した場合、統合後の生成部に入力される。
【００２８】
第２受付部１３４は、生成部１３３から受付指示が入力されると、表示部１１１に配置画面を表示させ、ユーザからシミュレーション環境における各要素の配置を受け付ける。第２受付部１３４は、配置する要素として、生成した予測モデルの配置を受け付ける。また、第２受付部１３４は、配置する要素として、評価用データ、強化学習器および模倣学習器の配置を受け付ける。さらに、第２受付部１３４は、例えば、配置された強化学習器および模倣学習器の制御対象等の設定、つまり各要素間の接続情報を受け付ける。第２受付部１３４は、ユーザから配置の完了を受け付けると、各要素の配置および接続情報を含む配置情報を配置情報記憶部１２４に記憶する。
【００２９】
ここで、図２および図３を用いて、配置画面について説明する。図２は、配置画面の一例を示す図である。図２に示す配置画面１０は、シミュレーション環境において配置対象となる各要素を表示する選択領域１１と、シミュレーション対象となるシミュレーション環境を構築する構築領域１２とを有する。配置対象となる各要素としては、例えば、評価用データに対応するデータ１３、各予測モデルに対応する予測モデルＣ１〜ＣＸ、関数処理Ｄ１，Ｄ２、ＰＩＤ制御Ｐ１、強化学習器に対応する強化学習１４、および、模倣学習器に対応する模倣学習１５が挙げられる。なお、図２では、選択領域１１のＰＩＤパラメータ１６は省略されている。
【００３０】
構築領域１２では、例えば、ユーザが選択領域１１から各要素についてドラッグアンドドロップ操作を行うことで、各要素が配置される。図２の例では、データ１３と、予測モデルＣ１〜Ｃ６と、関数処理Ｄ１と、強化学習１４と、模倣学習１５と、ＰＩＤ制御Ｐ１と、ＰＩＤパラメータ１６とが配置されている。なお、関数処理Ｄ１は、入力に対して何らかの関数処理を行って出力を行う要素であり、例えば、移動平均を求める関数等である。また、ＰＩＤ制御Ｐ１は、フィードバック制御を行うＰＩＤ制御に対応する。ＰＩＤパラメータ１６は、ＰＩＤ制御Ｐ１の各種ゲインや時間、目標値、操作量等のパラメータである。
【００３１】
また、図２の例では、データ１３は、予測モデルＣ１〜Ｃ６に接続される。予測モデルＣ１の出力は、ＰＩＤ制御Ｐ１と、ＰＩＤパラメータ１６とに接続される。ＰＩＤパラメータ１６の出力は、ＰＩＤ制御Ｐ１に接続される。ＰＩＤ制御Ｐ１の出力は、強化学習１４と、模倣学習１５とに接続される。また、予測モデルＣ２〜Ｃ６および関数処理Ｄ１の出力は、強化学習１４と、模倣学習１５とに接続される。一方、強化学習１４および模倣学習１５の制御出力は、予測モデルＣ１〜Ｃ６および関数処理Ｄ１に接続される。
【００３２】
図３は、配置画面の他の一例を示す図である。図３に示す配置画面２０は、図２の配置画面１０に対して状態の予測画像を生成および入力する配置としたものである。図３の例では、配置画面１０と比較して、選択領域１１に要素として、予測画像２１および予測画像モデルＣ７が追加され、構築領域１２には、予測画像２１および予測画像モデルＣ７が追加して配置されている。
【００３３】
図３の例では、データ１３は、予測モデルＣ１〜Ｃ６に接続される。予測モデルＣ１の出力は、ＰＩＤ制御Ｐ１と、ＰＩＤパラメータ１６と、予測画像モデルＣ７とに接続される。ＰＩＤパラメータ１６の出力は、ＰＩＤ制御Ｐ１に接続される。ＰＩＤ制御Ｐ１の出力は、強化学習１４と、模倣学習１５とに接続される。また、予測モデルＣ２，Ｃ３，Ｃ５，Ｃ６および関数処理Ｄ１の出力は、強化学習１４と、模倣学習１５とに接続される。さらに、予測モデルＣ２，Ｃ３および関数処理Ｄ１の出力は、予測画像モデルＣ７に接続される。また、予測モデルＣ４の出力は、関数処理Ｄ１に接続される。
【００３４】
予測画像モデルＣ７は、生成部１３３において、入力を潜在変数（特徴量）として、ＧＡＮ（Generative  Adversarial  Networks）を用いて学習が行われる。予測画像モデルＣ７は、シミュレーションにおいて、予測モデルＣ１，Ｃ２，Ｃ３および関数処理Ｄ１の出力に基づいて、予測画像２１を生成する。すなわち、構築領域１２では、予測画像モデルＣ７の出力は、予測画像２１に接続される。予測画像２１は、画像データであり、強化学習１４と、模倣学習１５とに接続される。つまり、図３の例では、強化学習１４および模倣学習１５は、自身の予測値によって制御された予測モデルの出力に基づいて生成された予測画像についても学習する。なお、予測画像モデルＣ７の学習は、ＧＡＮに限定されず、例えば、ＣＮＮやＭＬＰ（MultiLayer  Perceptron：多層パーセプトロン）等を用いて、各種センサ等の出力結果を画像として教師あり学習を行うようにしてもよい。
【００３５】
ここで、予測画像の生成について、図４を用いて説明する。図４は、予測画像モデルにおける学習の一例を説明する図である。図４に示す学習例３０では、Generatorである生成器３１に対して潜在変数（特徴量）３２が入力されると、生成器３１は、偽物画像３３を生成し、Discriminatorである識別器３４に出力する。識別器３４は、偽物画像３３が本物画像である確率をシグモイド関数３５に出力する。また、識別器３４には、本物画像３６が偽物画像３３と交互に入力される。シグモイド関数３５は、偽物画像３３について、本物（１）か偽物（０）かを判定器３７に出力する。判定器３７は、入力された本物（１）か偽物（０）かについて、正解であるかどうかを判定して、誤差逆伝搬により生成器３１および識別器３４を学習させる。
【００３６】
次に、図４に示す学習例３０では、学習が済んだ生成器３１を画像生成モデル３１ａとする。すなわち、画像生成モデル３１ａは、学習用データとして画像データを用いて機械学習を行った予測画像モデルである。画像生成モデル３１ａは、図３における予測画像モデルＣ７に相当し、予測モデル３８から出力されたシミュレータ出力値３９を入力として、予測画像４０を生成し出力する。生成された予測画像４０は、例えば、強化学習器での学習を介して、予測モデル３８の制御に利用できる。また、予測画像４０は、出力結果の確認用に表示するようにしてもよい。
【００３７】
図１の説明に戻る。実行部１３５は、ユーザからシミュレーションの開始指示を受け付けると、配置情報記憶部１２４を参照し、配置情報に基づいて、シミュレーションを実行する。つまり、実行部１３５は、強化学習器の強化学習、および、模倣学習器の模倣学習を実行し、第１学習済モデルおよび第２学習済モデルを学習済モデル記憶部１２５に記憶する。また、実行部１３５は、配置情報に予測画像モデルが含まれる場合、シミュレーションの実行中に、予測画像データを出力制御部１３７に出力する。すなわち、実行部１３５は、強化学習器の制御出力に応じた予測モデルの予測値、つまり、強化学習器の学習結果に基づく予測モデルの予測値に対応する予測画像データを出力制御部１３７に出力する。実行部１３５は、例えば、所定回数のシミュレーションが完了すると、判定指示を判定部１３６に出力する。また、実行部１３５は、配置情報に予測画像モデルが含まれる場合、シミュレーション完了時点の予測画像データを出力制御部１３７に出力する。なお、シミュレーションの所定回数は、例えば、予め設定された回数やユーザから指定を受け付けた回数を用いることができる。
【００３８】
判定部１３６には、配置情報に予測画像モデルが含まれる場合、表示した予測画像データに対して受け付けた評価が出力制御部１３７から入力される。判定部１３６は、実行部１３５から判定指示が入力されると、ユーザから予測画像データの評価を受け付けたか否かを判定する。つまり、判定部１３６は、配置情報に予測画像モデルが含まれる場合、出力制御部１３７が表示部１１１に表示した予測画像データに対して、ユーザから評価を受け付けたか否かを判定する。判定部１３６は、予測画像データの評価を受け付けていないと判定した場合、または、配置情報に予測画像モデルが含まれない場合、強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定する。
【００３９】
例えば、判定部１３６は、実環境における強化学習器の学習結果に基づく予測モデルの予測値と、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値との誤差の評価値に基づいて、予測モデルの再生成を行うか否かを判定する。誤差の評価値としては、平均平方二乗誤差（ＲＭＳＥ：Root  Mean  Square  Error）や平均二乗誤差（ＭＳＥ：Mean  Squared  Error）を用いることができる。
【００４０】
また、例えば、判定部１３６は、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値と、実測値との相関度合いに基づいて、予測モデルの再生成を行うか否かを判定する。相関度合いとしては、例えば、相関係数を用いてもよいし、損失関数を用いてもよい。つまり、判定部１３６は、学習結果に基づいて、一定期間、強化学習の結果が向上しない場合、新たな予測モデルの生成を行うか否かを判定する。
【００４１】
一方、判定部１３６は、予測画像データの評価を受け付けたと判定した場合、受け付けた評価に基づいて、予測モデルの再生成を行うか否かを判定する。予測画像データの評価は、例えば、炉の内部をサーモグラフィによって撮影した実物画像に対応する予測画像を、熟練作業員が評価することで行うことができる。
【００４２】
判定部１３６は、予測モデルの再生成を行うと判定した場合、設定部１３２に対して再設定指示を出力する。なお、再設定指示は、設定部１３２および生成部１３３に対して予測モデルの再生成を指示するものである。判定部１３６は、予測モデルの再生成を行わないと判定した場合、シミュレーション処理を終了する。すなわち、判定部１３６は、シミュレーション環境の構築を完了する。
【００４３】
出力制御部１３７は、実行部１３５から予測画像データが入力されると、予測画像データを表示部１１１に出力して表示する。出力制御部１３７は、例えば、シミュレーション実行中の予測画像データを逐次表示するようにしてもよいし、所定時間ごとに抽出した予測画像データを並べて表示するようにしてもよい。また、出力制御部１３７は、シミュレーションが完了した際の予測画像データを表示するようにしてもよい。さらに、出力制御部１３７は、表示した予測画像データに対する評価を受け付けると、受け付けた評価を判定部１３６に出力する。
【００４４】
［シミュレーション装置の処理手順］
次に、第１の実施形態に係るシミュレーション装置１００の動作について説明する。図５は、第１の実施形態におけるシミュレーション処理の一例を示すフローチャートである。
【００４５】
第１受付部１３１は、例えば、他の情報処理装置から学習用データの入力を受け付ける（ステップＳ１）。第１受付部１３１は、受け付けた学習用データを学習用データ記憶部１２１に記憶する。また、第１受付部１３１は、例えば、他の情報処理装置から評価用データの入力を受け付ける。第１受付部１３１は、受け付けた評価用データを評価用データ記憶部１２３に記憶する。また、第１受付部１３１は、ユーザから予測対象に対する設定の開始を受け付けると、設定部１３２に設定指示を出力する。
【００４６】
設定部１３２は、設定指示または再設定指示が入力されると、予測対象を設定する（ステップＳ２）。設定部１３２は、予測対象を設定すると、設定した予測対象に対応する前処理を、学習用データ記憶部１２１の学習用データに対して実行する（ステップＳ３）。設定部１３２は、前処理が完了すると、生成指示を生成部１３３に出力する。
【００４７】
生成部１３３は、設定部１３２から生成指示が入力されると、学習用データ記憶部１２１から学習用データを読み込んで機械学習を行い、予測モデルを生成する（ステップＳ４）。生成部１３３は、生成した予測モデルを予測モデル記憶部１２２に記憶する。生成部１３３は、予測モデルが未生成の予測対象があるか否かを判定する（ステップＳ５）。生成部１３３は、予測モデルが未生成の予測対象があると判定した場合（ステップＳ５：Ｙｅｓ）、設定部１３２に対して、残りの予測対象について設定を行うように設定指示を出力し、ステップＳ２に戻る。生成部１３３は、予測モデルが未生成の予測対象がないと判定した場合（ステップＳ５：Ｎｏ）、第２受付部１３４に対して受付指示を出力する。
【００４８】
第２受付部１３４は、生成部１３３から受付指示が入力されると、表示部１１１に配置画面を表示させ、ユーザからシミュレーション環境における各要素の配置を受け付ける。第２受付部１３４は、生成した予測モデルの配置を受け付ける（ステップＳ６）。また、第２受付部１３４は、評価用データ、強化学習器および模倣学習器の配置を受け付ける（ステップＳ７）。さらに、第２受付部１３４は、配置された強化学習器および模倣学習器の制御対象等の設定を受け付ける（ステップＳ８）。第２受付部１３４は、ユーザから配置の完了を受け付けると、各要素の配置および接続情報を含む配置情報を配置情報記憶部１２４に記憶する。
【００４９】
実行部１３５は、ユーザからシミュレーションの開始指示を受け付けると、配置情報記憶部１２４を参照し、配置情報に基づいて、シミュレーションを実行し、強化学習を実行する（ステップＳ９）。実行部１３５は、強化学習器の第１学習済モデル、および、模倣学習器の第２学習済モデルを学習済モデル記憶部１２５に記憶する。また、実行部１３５は、配置情報に予測画像モデルが含まれる場合、シミュレーションの実行中に、予測画像データを出力制御部１３７に出力する。出力制御部１３７は、実行部１３５から予測画像データが入力されると、予測画像データを表示部１１１に出力して表示する（ステップＳ１０）。出力制御部１３７は、表示した予測画像データに対する評価を受け付けると、受け付けた評価を判定部１３６に出力する。実行部１３５は、例えば、所定回数のシミュレーションが完了すると、判定指示を判定部１３６に出力する。
【００５０】
判定部１３６は、実行部１３５から判定指示が入力されると、ユーザから予測画像データの評価を受け付けたか否かを判定する（ステップＳ１１）。判定部１３６は、予測画像データの評価を受け付けていないと判定した場合（ステップＳ１１：Ｎｏ）、または、配置情報に予測画像モデルが含まれない場合、強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定すると設定する（ステップＳ１２）。一方、判定部１３６は、予測画像データの評価を受け付けたと判定した場合（ステップＳ１１：Ｙｅｓ）、受け付けた評価に基づいて、予測モデルの再生成を行うか否かを判定すると設定する（ステップＳ１３）。
【００５１】
判定部１３６は、予測モデルの再生成を行うか否かを判定する（ステップＳ１４）。判定部１３６は、予測モデルの再生成を行うと判定した場合（ステップＳ１４：Ｙｅｓ）、設定部１３２に対して再設定指示を出力し、ステップＳ２に戻る。判定部１３６は、予測モデルの再生成を行わないと判定した場合（ステップＳ１４：Ｎｏ）、シミュレーション処理を終了する。これにより、シミュレーション装置１００は、高精度なシミュレーション環境を容易に構築することができる。また、シミュレーション装置１００は、人手による構築よりも短時間でシミュレーション環境を構築することができる。
【００５２】
なお、上記第１の実施形態では、予測モデルの一例として、予測画像データを生成する予測画像モデルを挙げたが、予測画像データの代わりに予測音声データを生成する予測音声モデルを用いてもよい。予測音声モデルは、例えば、図３に示す配置画面において、他の予測モデルと同様に配置することができる。
【００５３】
［第１の実施形態の効果］
このように、シミュレーション装置１００は、学習用データの入力を受け付ける。また、シミュレーション装置１００は、生成部が、受け付けた学習用データを用いて学習し、予測モデルを生成する。また、シミュレーション装置１００は、シミュレーションに用いる評価用データと、生成された予測モデルと、シミュレーションにおける強化学習を行う強化学習器と、シミュレーションにおける模倣学習を行う模倣学習器とのうち、いずれか１つまたは複数の配置を受け付ける。また、シミュレーション装置１００は、受け付けた配置の状態に基づいて、評価用データと、予測モデルと、強化学習器と、模倣学習器とを用いたシミュレーションを実行する。また、シミュレーション装置１００は、シミュレーションにおける強化学習器の学習結果に基づいて、予測モデルの再生成を行うか否かを判定する。また、シミュレーション装置１００は、予測モデルの再生成を行うと判定した場合、生成部に対して、予測モデルの再生成を指示する。その結果、シミュレーション装置１００は、高精度なシミュレーション環境を容易に構築することができる。また、シミュレーション装置１００は、シミュレーション環境の構築から強化学習の実行までを自動化できるので、人手による構築よりも短時間で高精度なシミュレーション環境を構築することができる。なお、構築するシミュレーション環境は、デジタルツイン環境とも呼ばれるものである。
【００５４】
また、シミュレーション装置１００は、実環境における強化学習器の学習結果に基づく予測モデルの予測値と、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値との誤差の評価値に基づいて、予測モデルの再生成を行うか否かを判定する。その結果、シミュレーション装置１００は、シミュレーション環境の精度を向上させることができる。
【００５５】
また、シミュレーション装置１００は、シミュレーションにおける強化学習器の学習結果に基づく予測モデルの予測値と、実測値との相関度合いに基づいて、予測モデルの再生成を行うか否かを判定する。その結果、シミュレーション装置１００は、シミュレーション環境の精度を向上させることができる。
【００５６】
また、学習用データは、画像データを含む。また、シミュレーション装置１００は、予測モデルとして、さらに、画像データに基づいて、予測画像データを生成する予測画像モデルを生成する。また、シミュレーション装置１００は、予測画像モデルの配置を受け付ける。また、シミュレーション装置１００は、予測画像モデルを含むシミュレーションを実行する。また、シミュレーション装置１００は、さらに、シミュレーションにおける強化学習器の制御出力に応じた予測モデルの予測値、つまり強化学習器の学習結果に基づく予測モデルの予測値に対応する予測画像データを出力する。その結果、シミュレーション装置１００は、予測画像を用いてシミュレーションの状況をわかりやすく提示できる。
【００５７】
また、学習用データは、音声データを含む。また、シミュレーション装置１００は、予測モデルとして、さらに、音声データに基づいて、予測音声データを生成する予測音声モデルを生成する。また、シミュレーション装置１００は、予測音声モデルの配置を受け付ける。また、シミュレーション装置１００は、予測音声モデルを含むシミュレーションを実行する。また、シミュレーション装置１００は、さらに、シミュレーションにおける強化学習器の制御出力に応じた予測モデルの予測値、つまり強化学習器の学習結果に基づく予測モデルの予測値に対応する予測音声データを出力する。その結果、シミュレーション装置１００は、予測音声を用いてシミュレーションの状況をわかりやすく提示できる。
【００５８】
また、シミュレーション装置１００は、さらに、出力した予測画像データまたは予測音声データに対する評価を受け付け、受け付けた評価に基づいて、予測モデルの再生成を行うか否かを判定する。その結果、シミュレーション装置１００は、熟練作業員の経験をシミュレーションに反映できる。
【００５９】
なお、上記第１の実施形態では、予測モデルの生成において、ＣＮＮを用いた機械学習を行ったが、これに限定されない。例えば、ＲＮＮ（Recurrent  Neural  Network）やＳＶＭ（Support  Vector  Machine）等を用いた機械学習を行ってもよい。
【００６０】
また、上記第１の実施形態では、学習用データを機械学習して予測モデルを生成してから強化学習器の強化学習を行ったが、これに限定されない。例えば、シミュレーション装置１００は、学習用データを機械学習して予測モデルを生成し、生成した予測モデルを用いてシミュレーションを実行した結果（強化学習を行わない場合の結果）に基づいて、予測モデルの再生成を行うか否かを判定するようにしてもよい。また、例えば、シミュレーション装置１００は、他の情報処理装置から予測モデルを取得した場合、予測モデルの機械学習は行わず、シミュレーションで強化学習を実行した結果に基づいて、予測モデルの再生成を行うか否かを判定するようにしてもよい。
【００６１】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵやＧＰＵおよび当該ＣＰＵやＧＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６２】
また、上記実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６３】
［プログラム］
また、上記実施形態において説明したシミュレーション装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係るシミュレーション装置１００が実行する処理をコンピュータが実行可能な言語で記述したシミュレーションプログラムを作成することもできる。この場合、コンピュータがシミュレーションプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるシミュレーションプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたシミュレーションプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【００６４】
図６は、シミュレーションプログラムを実行するコンピュータの一例を示す図である。図６に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００６５】
メモリ１０１０は、図６に例示するように、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図６に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図６に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図６に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図６に例示するように、例えばディスプレイ１１３０に接続される。
【００６６】
ここで、図６に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の、シミュレーションプログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【００６７】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００６８】
なお、シミュレーションプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、シミュレーションプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６９】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７０】
１００  シミュレーション装置
１１０  通信部
１１１  表示部
１１２  操作部
１２０  記憶部
１２１  学習用データ記憶部
１２２  予測モデル記憶部
１２３  評価用データ記憶部
１２４  配置情報記憶部
１２５  学習済モデル記憶部
１３０  制御部
１３１  第１受付部
１３２  設定部
１３３  生成部
１３４  第２受付部
１３５  実行部
１３６  判定部
１３７  出力制御部
【図１】
2020129301.tif 000003
【図２】
2020129301.tif 000004
【図３】
2020129301.tif 000005
【図４】
2020129301.tif 000006
【図５】
2020129301.tif 000007
【図６】
2020129301.tif 000008