(57)【要約】  特許文献１または特許文献２が開示する技術と比較して、シミュレーションの出力を、高い精度または短い時間で得ることができる情報処理装置等を提供する。  情報処理装置は、シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する取得手段と、前記取得手段により取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得手段により取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する学習手段とを備える。
2018143019.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する取得手段と、
前記取得手段により取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得手段により取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する学習手段と
を備えた情報処理装置。
【請求項２】
前記取得手段は、前記シミュレーションの結果が収束した後の出力変数の値を取得する
請求項１記載の情報処理装置。
【請求項３】
前記学習された推定モデルに、
収束した結果が得られていないシミュレーションに用いられた前記入力変数の新たな値と、該新たな値を用いたシミュレーションの実行において更新された内部変数の更新値を入力し、
前記新たな値を用いたシミュレーションの収束した結果を推定する推定手段
をさらに備えた請求項２記載の情報処理装置。
【請求項４】
前記シミュレーションは、前記入力変数の値に基づいて前記内部変数の値を更新して出力変数の値を生成するステップを、前記出力変数の値が収束するまで繰り返す処理であって、
前記取得手段は、ステップ毎の内部変数の値を取得し、
前記学習手段は、あるステップにおいて更新された内部変数と、他のステップにおいて更新された内部変数とをそれぞれ説明変数として用いて、前記推定モデルを学習する
請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記学習手段は、小さいステップ数において更新された内部変数を、大きいステップ数において更新された内部変数よりも優先して説明変数として選択して、前記推定モデルを学習する
請求項４に記載の情報処理装置。
【請求項６】
前記学習手段は、前記入力変数の値と、前記内部変数の更新値と、前記推定モデルを用いて推定された推定値と前記シミュレーションの結果が収束した後の出力変数の値との誤差と、に基づいて、前記推定値の誤差を推定する誤差推定モデルを学習する
請求項２乃至請求項５のいずれか１項記載の情報処理装置。
【請求項７】
前記学習手段は、前記推定モデルを用いて推定された推定値と前記シミュレーションの結果が収束した後の出力変数の値との誤差に基づいて、前記推定モデルの精度を計算し、前記精度が基準に満たない場合、前記入力変数の値と、前記説明変数として用いたステップ数より大きいステップ数において更新された内部変数を、前記説明変数として用いて前記推定モデルを学習する
請求項４または請求項５記載の情報処理装置。
【請求項８】
前記シミュレーションの実行に用いられた前記入力変数の新たな値と、該新たな値を用いたシミュレーションの実行において更新された前記内部変数の更新値と、前記推定モデルとを用いて推定された推定値と前記新たな値を用いたシミュレーションの結果が収束した後の前記出力変数の値との誤差と、に基づいて、前記推定モデルの精度を計算し、前記精度が基準に満たない場合、前記新たな値と、前記新たな値を用いたシミュレーションにおいて更新された内部変数の更新値と、前記新たな値を用いたシミュレーションの結果が収束した後の出力変数の値とに基づいて、前記推定モデルを学習することを指示する再学習指示手段
をさらに備えた請求項４乃至請求項７のいずれか１項記載の情報処理装置。
【請求項９】
シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得し、
前記取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する
情報処理方法。
【請求項１０】
シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する処理と、
前記取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する処理と
を、コンピュータに実行させるプログラムを記録するプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびプログラム記録媒体に関する。
【背景技術】
【０００２】
物理的あるいは抽象的なシステムをモデルで表現し、そのモデルを使って実験を行うシミュレーションが行われている。例えば、物体に力を加えたときの変形量（構造解析）、物体の一部に熱を加えたときの熱の伝搬（熱伝導解析）、物体に風や水を当てたときの風や水の動き（流体解析）などを、数学的モデルを用いてシミュレーション装置により模擬することが行われている。【０００３】
特許文献１には、シミュレーションの方法およびその装置が開示されている。この方法および装置では、シミュレータの入力条件を変化させてシミュレーションを行った結果をニューラルネットワークに学習させておき、新たな入力条件に対するシミュレーション結果を、ニューラルネットワークを用いて予測する。その結果、新たな入力条件でのシミュレーション結果を迅速に取得している。【０００４】
また、特許文献２には、複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置が開示されている。この装置では、入力データおよび出力データの複数の組の学習データに基づいて、２つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習し、入力パラメータの変化量に応じて出力データの変化量を予測する。その結果、システムの出力データを得るための時間や処理量を削減している。【０００５】
特許文献３には、移動手段を高精度に推定可能な移動手段推定モデルを生成する移動手段推定モデル生成装置が開示されている。【０００６】
特許文献４には、エージェントベースのシミュレーションにおける複数のシナリオのうち、良好な結果が得られる条件をより少ない計算量で特定する情報処理装置が開示されている。【０００７】
特許文献５には、処理量及び処理に要するメモリ容量を抑えつつ、パターン識別に適切なパラメータを設定する情報処理装置が開示されている。【０００８】
特許文献６には、個別の構成員モデル結果データの積み重ね、全体の状況、変化を把握し、企業・組織診断と意思決定の迅速化を可能としたシミュレーションシステムが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平３−２６５０６４号公報
【特許文献２】特開２０１６−００６５８７号公報
【特許文献３】特開２０１６−０８１２７２号公報
【特許文献４】特開２０１６−０７１３８３号公報
【特許文献５】特開２０１５−０８７９４０号公報
【特許文献６】特開２００９−２９５０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
一般に、シミュレーション装置は、入力変数を用いて内部変数を更新しながら出力変数を生成するが、高精度な出力変数を得るためには長い時間シミュレーションを実行する必要があるという課題がある。【００１１】
上述した特許文献１および特許文献２に開示されている技術では、シミュレーションの時間を削減することはできるが、出力の推定精度が低下してしまう。【００１２】
特許文献３乃至６には、上記課題を解決する技術は開示されていない。【００１３】
本願発明は、上記課題を鑑みてなされたものであり、特許文献１または特許文献２が開示する技術と比較して、シミュレーションの出力を、高い精度または短い時間で得ることができる推定モデルを生成する情報処理装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１４】
本発明の一形態の情報処理装置は、シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する取得手段と、前記取得手段により取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得手段により取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する学習手段とを備える。【００１５】
本発明の一形態の情報処理方法は、シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得し、前記取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する。【００１６】
本発明の一形態のプログラム記録媒体は、シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する処理と、
前記取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する処理とを、コンピュータに実行させるプログラムを記録する。
【発明の効果】
【００１７】
本願発明によれば、特許文献１または特許文献２が開示する技術と比較して、シミュレーションの出力を、高い精度または短い時間で得ることができるという効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態に係る情報処理装置の構成を示すブロック図である。
【図３】本発明の第２の実施形態に係る情報処理装置の第１の入力変数記憶部に予め記憶されている入力変数の一例を示す図である。
【図４】本発明の第２の実施形態に係る情報処理装置における出力推定モデル生成フェーズの処理を示すフローチャートである。
【図５】本発明の第２の実施形態に係る情報処理装置のシミュレーション部によるシミュレーション実行の途中経過の一例について説明する図である。
【図６】本発明の第２の実施形態に係る情報処理装置のシミュレーション結果記憶部に格納された入力変数、内部変数の更新値およびシミュレーション結果の一例を示す図である。
【図７】本発明の第２の実施形態に係る情報処理装置の出力推定モデル生成部による出力推定モデル生成処理を示すフローチャートである。
【図８】本発明の第２の実施形態に係る情報処理装置の出力推定モデル生成部が生成した出力推定モデルの一例を示す図である。
【図９】本発明の第２の実施形態に係る情報処理装置による出力変数の推定フェーズの処理を示すフローチャートである。
【図１０Ａ】本発明の第２の実施形態に係る情報処理装置のシミュレーション結果記憶部に格納されたデータの一例を示す図である。
【図１０Ｂ】本発明の第２の実施形態に係る情報処理装置の推定部により推定結果記憶部に格納された推定結果の一例を示す図である。
【図１１】本発明の第３の実施形態に係る情報処理装置の構成を示すブロック図である。
【図１２】本発明の第３の実施形態に係る情報処理装置によるシミュレーション結果と、出力推定モデルによる出力変数の推定値との関係の一例を示す図である。
【図１３】本発明の第３の実施形態に係る情報処理装置の誤差推定モデル生成部により誤差推定モデルを生成する処理を示すフローチャートである。
【図１４】本発明の第３の実施形態に係る情報処理装置の誤差推定モデル生成部により計算された誤差を含む誤差データを示す図である。
【図１５】本発明の第３の実施形態に係る情報処理装置の出力推定モデル生成部により生成された出力推定モデルと、誤差推定モデル生成部により誤差推定モデルの一例を示す図である。
【図１６】本発明の第４の実施形態に係る情報処理装置の構成を示すブロック図である。
【図１７】本発明の第４の実施形態に係る情報処理装置の精度判定部の処理を示すフローチャートである。
【図１８】本発明の第４の実施形態に係る情報処理装置による出力推定モデルのステップ数と、そのモデルによる出力変数の推定値の誤差の平均値との関係の一例を示す図である。
【図１９】本発明の第５の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２０】本発明の第５の実施形態に係る情報処理装置の再学習判定部の処理を示すフローチャートである。
【図２１】本発明の第５の実施形態に係る情報処理装置の追加シミュレーション結果記憶部に格納された入力変数、内部変数の更新値およびシミュレーション結果の一例を示す図である。
【図２２】本発明の第５の実施形態に係る情報処理装置の再学習判定部により計算された推定結果の一例を示す図である。
【図２３】本発明の第５の実施形態に係る情報処理装置の再学習判定部による再学習判定処理を説明するフローチャートである。
【図２４】各実施形態に示した装置を実現するハードウエア構成の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２０】
第１の実施形態
図１は、本発明の第１の実施形態に係る情報処理装置１００の構成を示すブロック図である。図１に示すように、情報処理装置１００は、取得部１１０および学習部１２０を備える。
【００２１】
取得部１１０は、シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する。学習部１２０は、取得部１１０により取得された入力変数と、更新された内部変数を説明変数とし、また取得手段により取得された出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する。なお、学習部１２０は、一例として、以降の実施形態において説明する出力推定モデル生成部２４１により実現される。
【００２２】
上記構成を採用することにより、本第１の実施形態によれば、入力変数だけでなく内部変数を説明変数として用いた推定モデルを生成し、その推定モデルを用いてシミュレーションの結果を推定するので、特許文献１または特許文献２が開示する技術と比較して、シミュレーションの出力を、高い精度または短い時間で得ることができるという効果が得られる。
【００２３】
第２の実施形態
図２は、本発明の第２の実施形態に係る情報処理装置２００の構成を示すブロック図である。図２に示すように、情報処理装置２００は、シミュレーション部２１０、第１の入力変数記憶部２２０、シミュレーション結果記憶部２３０、学習部２４０、推定モデル記憶部２５０、推定部２６０、第２の入力変数記憶部２７０および推定結果記憶部２８０を備える。情報処理装置２００は、シミュレーションを実行すると共に、そのシミュレーションの結果に基づいて、シミュレーションの結果を推定するための出力推定モデルを生成する装置である。
【００２４】
シミュレーション部２１０は、シミュレーションを実行する機能を有する。具体的には、シミュレーション部２１０は、所定のシミュレーション実行モデルを含み、そのモデルと、第１の入力変数記憶部２２０に記憶されているシミュレーション実行用の入力変数の値とを用いて、内部変数の値を更新しながら、シミュレーションを実行し、出力変数の値を出力する。
【００２５】
第１の入力変数記憶部２２０には、シミュレーション実行モデルに入力される入力変数の値が、シミュレーションの実行前に予め記憶されている。
【００２６】
図３は、第１の入力変数記憶部２２０に予め記憶されている入力変数の値の一例を示す図である。第１の入力変数記憶部２２０には、シミュレーションＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）ごとの入力変数の値が記憶されている。シミュレーションＩＤは、シミュレーション実行の単位ごとに付与された識別子である。ここでは、シミュレーションＩＤごとに、例えば２つの入力変数Ｕ＿１，Ｕ＿２が記憶されていることを示す。
【００２７】
なお、シミュレーション部２１０および第１の入力変数記憶部２２０は、情報処理装置２００に含まれていなくてもよい。この場合、情報処理装置２００は、シミュレーション実行用の入力変数の値を用いて実行されたシミュレーションの、入力変数の値と、その実行において更新された内部変数の値とを取得する取得手段と備えていればよい。また、以下の説明におけるシミュレーション部２１０によるシミュレーションの実行は、外部で行われ、その結果を情報処理装置２００が取得するように構成されてもよい。
【００２８】
シミュレーション結果記憶部２３０には、シミュレーション部２１０に入力されたシミュレーション実行用の入力変数の値、シミュレーション実行により生成された内部変数の更新値、およびシミュレーション結果（出力変数の値）が記憶される。このシミュレーション実行用の入力変数、内部変数の更新値およびシミュレーション結果が、後述する出力推定モデル生成のための学習用データとなる。
【００２９】
学習部２４０は、出力推定モデル生成部２４１が含まれる。出力推定モデル生成部２４１は、シミュレーション結果記憶部２３０に記憶された学習用データを取得する取得部（図示しない）を兼ね、取得した学習データを学習することにより、シミュレーションの収束後の出力変数の値（以降、「収束値」とも称する）を推定する出力推定モデルを生成する。推定モデル記憶部２５０には、出力推定モデル生成部２４１により生成された出力推定モデルが格納される。
【００３０】
ここで、シミュレーション部２１０は、物理的あるいは抽象的なシステムを表現した数学的モデルなどのシミュレーション実行モデルを予め保持する。このシミュレーション実行モデルは、シミュレーション実行において、入力された入力変数の値を用いて、内部変数を更新しながら、出力変数の値が収束したと判断されるまでステップ（処理）の実行を繰り返す。なお、情報処理装置２００は、このようなシミュレーションの実行に用いられた入力変数と、その実行において更新された内部変数の値を取得してもよい。
【００３１】
推定部２６０は、推定モデル記憶部２５０に格納された出力推定モデルと、第２の入力変数記憶部２７０に記憶されている入力変数の新たな値とを用いて、収束後のシミュレーションの出力変数の値を推定する機能を有する。
【００３２】
第２の入力変数記憶部２７０には、シミュレーション実行用の入力変数の新たな値（以降、「推定用の入力変数」とも称する）が記憶される。推定部２６０は、この推定用の入力変数の値と出力推定モデルとを用いて、収束後のシミュレーションの出力変数の値を推定する。なお、推定用の入力変数は、第２の入力変数記憶部２７０に記憶されていることに限定されず、外部から与えられてもよい。
【００３３】
推定結果記憶部２８０には、推定部２６０により、出力推定モデルを用いて推定された、収束後のシミュレーションの出力変数の値が格納される。出力推定モデルを用いて推定された、収束後のシミュレーションの出力変数の値を、「推定値」とも称する。
【００３４】
情報処理装置２００は、上述した学習用データを学習して収束後のシミュレーションの出力変数の値を推定する出力推定モデルを生成する出力推定モデル生成フェーズと、生成された出力推定モデルと推定用の入力変数を用いて出力変数の収束値を推定する推定フェーズを実行する。出力推定モデル生成フェーズは、主に、シミュレーション部２１０および学習部２４０により実行され、推定フェーズは、主に、推定部２６０により実行される。
【００３５】
図４は、情報処理装置２００における出力推定モデル生成フェーズの処理を示すフローチャートである。図４を参照して、情報処理装置２００の出力推定モデル生成フェーズの処理について説明する。
【００３６】
シミュレーション部２１０は、第１の入力変数記憶部２２０から入力変数の値を読み出す（Ｓ３０１）。
【００３７】
シミュレーション部２１０は、読み出した入力変数の値と、シミュレーション実行モデルとを用いて、内部変数の値を更新し、出力変数の値を生成するステップを繰り返し実行する（Ｓ３０２）。
【００３８】
図５は、シミュレーション部２１０によるシミュレーション実行の途中経過の一例について説明する図である。図５では、シミュレーション部２１０は、ステップ１において、シミュレーション実行モデルに入力変数Ｕ＿１，Ｕ＿２（値はＵ＿１＿１，Ｕ＿２＿１）を入力する。シミュレーション部２１０は、内部変数Ｘ＿１，Ｘ＿２（値はＸ＿１＿１，Ｘ＿２＿１）を用いながらシミュレーション実行モデルを実行し、出力変数Ｙ＿１，Ｙ＿２（値はＹ＿１＿１，Ｙ＿２＿１）を出力する。
【００３９】
ステップ１の結果、内部変数の値は更新されている。続いてシミュレーション部２１０は、ステップ２において、ステップ１により更新された内部変数の値Ｘ＿１＿２，Ｘ＿２＿２を用いてシミュレーション実行モデルを実行する。そして、シミュレーション部２１０は、出力変数の値Ｙ＿１＿２，Ｙ＿２＿２を出力する。以降、同様に、シミュレーション部２１０は、内部変数の値を更新しながら、出力変数の値を出力する。シミュレーション部２１０は、出力変数の値が収束するまで、ステップを繰り返し実行する。
【００４０】
シミュレーション部２１０は、シミュレーション実行モデルのステップごとに、ステップ数、内部変数の更新値、出力された出力変数の値を、シミュレーション結果記憶部２３０に書き込む（Ｓ３０３）。なお、入力変数の値は、例えばシミュレーション実行モデルに入力されたときにシミュレーション結果記憶部２３０に書き込まれてもよい。
【００４１】
上記ステップの繰り返しの結果、シミュレーション部２１０は、出力変数の値が収束したと判定したとする（Ｓ３０４においてＹｅｓ）。なお、シミュレーション部２１０は、出力変数の値が収束すると考えられるステップ数を既定のステップ数として予め保持しておき、そのステップ数だけステップを繰り返してもよい。
【００４２】
続いて、シミュレーション部２１０は、学習に十分なデータが得られたか否かを判定する。学習に十分なデータの量は、予め定められていてもよい。
【００４３】
シミュレーション部２１０は、学習に十分なデータが得られていないと判定した場合、処理をＳ３０１に戻す。シミュレーション部２１０は、第１の入力変数記憶部２２０から、次のシミュレーションＩＤに対応する入力変数の値を読み出す。そして、シミュレーション部２１０は、読み出した入力変数の値を用いて、出力変数が収束するまで、処理Ｓ３０２、Ｓ３０３を行う。シミュレーション部２１０は、処理Ｓ３０１から処理Ｓ３０４を、学習に十分なデータが得られるまで繰り返す。
【００４４】
図６は、上記シミュレーション実行の結果、シミュレーション結果記憶部２３０に書き込まれた入力変数の値、内部変数の更新値およびシミュレーション結果の一例を示す図である。図６では、シミュレーションＩＤ＝１乃至５０に示す５０回のシミュレーションが実行され、各シミュレーションではそれぞれ収束するまでステップが繰り返し実行されたことを示す。例えば、シミュレーションＩＤ＝１に示すシミュレーションの出力変数の収束値はＹ１＿１＿９９，Ｙ１＿２＿９９、シミュレーションＩＤ＝２に示すシミュレーションの出力変数の収束値はＹ２＿１＿８７，Ｙ２＿２＿８７である。
【００４５】
図６に示すように、シミュレーションＩＤごとに、ステップごとの内部変数の更新値および出力変数の値が生成される。図６では、２つの入力変数Ｕ＿１，Ｕ＿２の各値が入力され、ステップごとに２つの内部変数Ｘ＿１，Ｘ＿２の各値と、２つの出力変数Ｙ＿１，Ｙ＿２の各値が生成されたことを示す。
【００４６】
シミュレーション部２１０は、学習に十分なデータが得られたと判断したとする（Ｓ３０５においてＹｅｓ）。続いて、シミュレーション部２１０は、学習部２４０に対して、出力推定モデル生成処理の実行を指示する。
【００４７】
学習部２４０は、上記指示に応じて、出力推定モデル生成部２４１において出力推定モデル生成処理を行う（Ｓ３０６）。具体的には、出力推定モデル生成部２４１は、シミュレーション結果記憶部２３０に格納された、入力変数の値、内部変数の更新値およびシミュレーション結果を学習することにより、出力推定モデルを生成する。
【００４８】
図７は、出力推定モデル生成部２４１による出力推定モデル生成処理を示すフローチャートである。図７を参照して、出力推定モデル生成部２４１による出力推定モデル生成処理について説明する。
【００４９】
出力推定モデル生成部２４１は、まず、いずれのステップｔ（ｔはステップ数を示す）に関する出力推定モデルを生成するかを決定する（Ｓ４０１）。ここで、「ステップｔに関する出力推定モデル」とは、その出力推定モデルを用いた後述する推定処理において、ある入力変数を用いてステップｔまでステップを繰り返し実行したときに得られた、いずれか一以上のステップにおいてそれぞれ更新された内部変数と、その入力変数を、説明変数として用いて学習されるモデルである。例えば、ステップｔ＝「１０」に関する出力推定モデルは、推定処理において、シミュレーション部２１０がステップｔ＝「１０」までステップを繰り返し実行したときに得られた、いずれか一以上のステップにおいてそれぞれ更新された内部変数と、入力変数を、説明変数として用いて学習されるモデルである。
【００５０】
ここで、出力推定モデルを生成するステップｔは、その数が少ない方が好ましい。すなわち、ステップｔ＝「５０」に関する出力推定モデルよりも、ステップｔ＝「３０」に関する出力推定モデルを生成する方が好ましい。
【００５１】
これは、出力推定モデルを生成したステップまで、推定部２６０による出力変数の収束値の推定処理において、シミュレーション部２１０によるシミュレーションを実行する必要があるためである（詳細は後述する）。したがって、より短時間で推定処理を行うためには、数の少ないステップに関する出力推定モデルを生成することが好ましい。なお、出力推定モデル生成部２４１は、出力推定モデルを生成するステップの数を、予め保持していてもよい。
【００５２】
出力推定モデル生成部２４１は、例えば、ステップｔ＝「１０」に関する出力推定モデルを生成すると決定したとする。
【００５３】
次に、出力推定モデル生成部２４１は、出力推定モデル生成において、出力推定モデルの説明変数にいずれのステップの内部変数を用いるかを選択する（Ｓ４０２）。ここで選択されるのは、Ｓ４０１において決定したステップより少ない数のステップの内部変数となる。
【００５４】
出力推定モデル生成部２４１は、例えば以下のように、選択してもよい。すなわち、出力推定モデル生成部２４１は、ステップｔ＝「１０」に関する出力推定モデルの説明変数に、各シミュレーションにおけるステップｔ＝「９」の内部変数を用いてもよい。あるいは、出力推定モデル生成部２４１は、各シミュレーションにおけるステップｔ＝「１」乃至「９」のそれぞれの内部変数を説明変数に用いてもよい。あるいは、出力推定モデル生成部２４１は、各シミュレーションにおけるステップｔ＝「１」，「３」，「５」，「７」，「９」のそれぞれの内部変数を説明変数に用いてもよい。説明変数には、少なくとも一のステップにおいて更新された内部変数が用いられればよく、二以上のステップにおいてそれぞれ更新された内部変数が用いられてもよい。
【００５５】
さらに、出力推定モデル生成部２４１は、特徴量選択（ｆｅａｔｕｒｅ  ｓｅｌｅｃｔｉｏｎ）機能を備え、その機能によって選択されたステップの内部変数を、説明変数に用いてもよい。特徴量選択機能には、入力変数および各ステップにおいて更新された内部変数（Ｘ＿１（ｔ＝１），Ｘ＿１（ｔ＝２）,…，Ｘ＿１（ｔ＝Ｎ），Ｘ＿２（ｔ＝１），Ｘ＿２（ｔ＝２）,…，Ｘ＿２（ｔ＝Ｎ））が説明変数の候補として入力される。ここで、Ｎは、シミュレーションが収束したと判断されたときのステップ数、Ｘ＿１（ｔ＝１）は、ステップｔ＝「１」における内部変数Ｘ＿１をそれぞれ示す。
【００５６】
特徴量選択機能は、入力された候補のうちから好ましい変数を説明変数として選択する。この場合、出力推定モデル生成部２４１は、例えば、複数の変数の間で相関が強いものがある場合は、それら複数の変数のうちのいくつかを除外するなどしてもよい。また、出力推定モデル生成部２４１は、小さいステップ数において更新された内部変数を、大きいステップ数において更新された内部変数よりも優先して説明変数として選択してもよい。その理由は、大きいステップ数において更新された内部変数を説明変数として用いないことにより、後述する「短時間にシミュレーションの出力を得ることができるという効果」がより顕著となるためである。このような特徴量選択機能は任意の方法により実現される。例えば、説明変数の良さを評価する基準において、目的変数との相関の高さや他の変数との冗長性の低さを表す項に加えて、ステップ数の大きさに対するペナルティを表現する項が含まれていてもよい。出力推定モデル生成部２４１は、どの変数を説明変数として用いるかの明示的な指定をオペレータから受け付けても良い。
【００５７】
続いて、出力推定モデル生成部２４１は、シミュレーション結果記憶部２３０から、Ｓ４０２において選択された内部変数の値とステップの数と、各内部変数に対応する入力変数の値と、その入力変数の値を用いて実行されたシミュレーションの出力変数の収束値を、それぞれ読み出す（Ｓ４０３）。
【００５８】
図６に示す例では、出力推定モデル生成部２４１は、Ｓ４０２において例えば各シミュレーションにおけるステップｔ＝「９」の内部変数を選択している場合、まず、シミュレーションＩＤ＝「１」に関する、入力変数の値Ｕ＿１＿１，Ｕ＿２＿１、内部変数の値Ｘ１＿１＿９，Ｘ１＿２＿９、および出力変数の収束値Ｙ１＿１＿９９，Ｙ１＿２＿９９を読み出す。続いて、出力推定モデル生成部２４１は、シミュレーションＩＤ＝「２」に関する、入力変数Ｕ＿１＿２，Ｕ＿２＿２、内部変数の値Ｘ２＿１＿９，Ｘ２＿２＿９、および出力変数の収束値Ｙ２＿１＿８７，Ｙ２＿２＿８７を読み出す。続いて、出力推定モデル生成部２４１は、シミュレーションＩＤ＝「３」に関する、入力変数Ｕ＿１＿３，Ｕ＿２＿３、内部変数の値Ｘ３＿１＿９，Ｘ３＿２＿９、および出力変数の収束値Ｙ３＿１＿１０２，Ｙ３＿２＿１０２を読み出す。出力推定モデル生成部２４１は、シミュレーションＩＤ＝「４」以降の値についても、同様に読み出す。
【００５９】
出力推定モデル生成部２４１は、読み出した入力変数の値、内部変数の更新値および出力変数の収束値を学習して、出力推定モデルを生成する（Ｓ４０４）。出力推定モデル生成部２４１は、入力変数と、更新された内部変数とを説明変数とし、値が収束した出力変数を目的変数として用いて学習する。学習には、既存の線形回帰分析などの回帰分析手法を用いてもよいし、その他任意の分析手法を用いてもよい。出力推定モデル生成部２４１は、以上の手順により、図７に示した出力推定モデル生成処理を終了する。
【００６０】
図８は、出力推定モデル生成部２４１が生成した出力推定モデルの一例を示す図である。この出力推定モデルにより、シミュレーションの出力変数の収束値の推定値（以降、「出力変数の推定値」または「推定値」とも称する）が求められる。図８の例は、ステップｔ＝「１０」に関する出力推定モデルである。
【００６１】
具体的には、出力変数の推定値Ｙ＿１ｅｓｔ，Ｙ＿２ｅｓｔを求める出力推定モデルとして、それぞれ式（２），（３）が、生成されたことが示される。
推定値Ｙ＿１ｅｓｔ
＝Ｕ＿１−３＊Ｕ＿２＋Ｘ＿１（ｔ＝１０）−２＊Ｘ＿２（ｔ＝１０）・・・式（２）
推定値Ｙ＿２ｅｓｔ
＝−Ｕ＿１−Ｕ＿２＋２＊Ｘ＿１（ｔ＝１０）−Ｘ＿２（ｔ＝１０）・・・式（３）
出力推定モデル生成部２４１は、以上の手順により、出力推定モデルを生成し、生成した出力推定モデルを推定モデル記憶部２５０に格納する（図４のＳ３０７）。
【００６２】
次に、上記のように生成された出力推定モデルを用いて収束値を推定する推定フェーズについて説明する。なお、推定フェーズは、上述した出力推定モデル生成フェーズと必ずしも同じタイミングで実行されなくてよい。すなわち、推定フェーズは、出力推定モデルが生成された以降、任意のタイミングで実行されてもよい。推定フェーズが実行されるタイミングで、第２の入力変数記憶部２７０に、推定用の入力変数の値が格納されればよい。
【００６３】
図９は、情報処理装置２００による出力変数の推定フェーズの処理を示すフローチャートである。図９を参照して、情報処理装置２００の推定フェーズの処理について説明する。ここで、推定モデル記憶部２５０には、出力推定モデル生成部２４１により生成されたステップｔ＝「１０」に関する出力推定モデルが格納されており、第２の入力変数記憶部２７０には、推定用の入力変数の値が格納されているとする。
【００６４】
推定部２６０は、推定モデル記憶部２５０に格納されている出力推定モデルと、第２の入力変数記憶部２７０に格納されている推定用の入力変数Ｕ＿１の値Ｕ＿１＿ｅｓｔ，Ｕ＿２＿ｅｓｔを読み出す（Ｓ５０１）。
【００６５】
推定部２６０は、シミュレーション部２１０に対して、読み出した推定用の入力変数を用いてシミュレーションを実行することを指示する。このとき、推定部２６０は、実行するステップ数をシミュレーション部２１０に指定する。ここでは、ステップｔ＝「１０」に関する出力推定モデルが用いられるため、推定部２６０は、ステップｔ＝「１０」を指定する。
【００６６】
シミュレーション部２１０は、受け取った推定用の入力変数の値Ｕ＿１＿ｅｓｔ，Ｕ＿２＿ｅｓｔとシミュレーション実行モデルを用いて、シミュレーションを実行する（Ｓ５０２）。シミュレーション部２１０は、シミュレーション実行モデルのステップごとに、ステップ数、内部変数の更新値、出力変数の値を、シミュレーション結果記憶部２３０に書き込む（Ｓ５０３）。なお、推定用の入力変数の値は、例えばシミュレーション実行モデルに入力されたときにシミュレーション結果記憶部２３０に書き込まれてもよい。
【００６７】
図１０Ａは、シミュレーション結果記憶部２３０に書き込まれた、シミュレーションＩＤ＝「２００」のシミュレーションに関する入力変数、ステップ数、内部変数の更新値の一例を示す図である。図１０Ａに示すように、ここではステップｔ＝「１０」までステップが繰り返し実行されたことが示される。
【００６８】
シミュレーション部２１０は、指定されたステップ数を実行すると（Ｓ５０４においてＹｅｓ）、その旨を推定部２６０に通知する。推定部２６０は、上記通知を受け取ると、出力推定モデルに、シミュレーション結果記憶部２３０に格納された入力変数の値Ｕ＿１＿ｅｓｔ，Ｕ＿２＿ｅｓｔと、指定されたステップｔ（ここではステップｔ＝「１０」）の内部変数の値Ｘ２００＿１＿１０，Ｘ２００＿２＿１０を入力することにより、出力変数の収束値を推定する（Ｓ５０５）。
【００６９】
推定部２６０は、上記推定した推定結果を、推定結果記憶部２８０に格納する（Ｓ５０６）。
【００７０】
図１０Ｂは、推定部２６０により推定結果記憶部２８０に格納された推定結果の一例を示す図である。図１０Ｂには、入力変数の値、内部変数の値および、出力推定モデルを用いて算出された出力変数の推定値を示す。図１０Ｂに示す例では、入力変数の値Ｕ＿１＿ｅｓｔ，Ｕ＿２＿ｅｓｔ、内部変数の値Ｘ２００＿１＿１０，Ｘ２００＿２＿１０、および、出力推定モデルを用いて算出された出力変数の推定値Ｙ＿１ｅｓｔ＿ｌａｓｔ，Ｙ＿２ｅｓｔ＿ｌａｓｔが示される。
【００７１】
推定部２６０は、図１０Ｂに示すように算出した出力変数の推定値を、表示装置に表示してもよい。
【００７２】
以上の手順により、推定部２６０は、出力推定モデルにより出力変数の収束値の推定を行う。
【００７３】
以上のように、第２の実施形態によれば、情報処理装置２００は、シミュレーション部２１０に入力した入力変数の値と、シミュレーション実行により得られた内部変数の更新値とシミュレーション結果とを、学習部２４０の出力推定モデル生成部２４１により、学習し、出力推定モデルを生成する。推定部２６０により、その出力推定モデルを用いて、シミュレーションの出力変数の収束値を推定する。
【００７４】
この構成を採用することにより、本第２の実施形態によれば、シミュレーション結果が収束するまでシミュレーションを行う必要はなく、出力推定モデルを用いてシミュレーション結果を推定するので、短時間にシミュレーションの出力を得ることができるという効果が得られる。
【００７５】
また、入力変数だけでなく内部変数を説明変数として用いた出力推定モデルを生成し、その出力推定モデルを用いて推定するので、特許文献１または特許文献２が開示する技術と比較して、高い精度でシミュレーションの出力を得ることができるという効果が得られる。
【００７６】
第３の実施形態
図１１は、本発明の第３の実施形態に係る情報処理装置３００の構成を示すブロック図である。図１１に示すように、第３の実施形態に係る情報処理装置３００は、第２の実施形態において説明した情報処理装置２００の学習部２４０に代えて、学習部３１０を備える。その他の要素については、第２の実施形態において説明した要素と同様であるため、その説明は省略する。
【００７７】
学習部３１０は、第２の実施形態で説明した出力推定モデル生成部２４１に加えて、誤差推定モデル生成部３１１を備える。
【００７８】
誤差推定モデル生成部３１１は、出力推定モデルを用いて算出された出力変数の推定値の誤差を推定するモデルを生成する。出力推定モデルを用いて算出された推定値の誤差を推定するモデルを、「誤差推定モデル」と称する。本実施形態では、ステップｔ＝「１０」に関する出力推定モデルに基づいて、誤差推定モデルを生成することを説明する。
【００７９】
図１２は、シミュレーション結果（出力変数の収束値）と、出力推定モデルによる出力変数の推定値との関係を、Ｘ−Ｙ平面座標に模式的に示した一例を示す図である。シミュレーション実行モデルおよび出力推定モデルに対する各入力変数の値がＸ軸上に、シミュレーション実行モデルの各出力変数の収束値および出力推定モデルによる各出力変数の推定値がＹ軸上に、それぞれ示されている。
【００８０】
例えば、入力変数の値Ｕ＿１＿１を、シミュレーション実行モデルおよび出力推定モデルにそれぞれ入力したときの、シミュレーション結果（出力変数の収束値）Ｙ＿１ｌａｓｔ＿１に対する推定値Ｙ＿１ｅｓｔ＿１の差が、誤差である。本第３の実施形態では、この推定値の誤差の推定モデル（誤差推定モデル）を生成することを説明する。
【００８１】
図１３は、誤差推定モデル生成部３１１により誤差推定モデルを生成する処理を示すフローチャートである。図１３を参照して、誤差推定モデル生成部３１１が誤差推定モデルを生成する処理について説明する。
【００８２】
誤差推定モデル生成部３１１は、シミュレーション結果である出力変数の収束値と、推定結果記憶部２８０に格納された、出力推定モデルによる出力変数の推定値とに基づいて、誤差推定モデルを生成することを説明する。ここで、出力推定モデルによる出力変数の推定値とは、入力変数の値と、出力推定モデルに用いられているステップの内部変数の値とを出力推定モデルに入力したときに算出される値である。
【００８３】
誤差推定モデル生成部３１１は、まず、出力推定モデルによる出力変数の推定値の、シミュレーション結果である出力変数の収束値に対する誤差を計算する（Ｓ６０１）。
【００８４】
図１４は、誤差推定モデル生成部３１１により計算された上記誤差を含む誤差データを示す図である。図１４は、推定モデル記憶部２５０に格納される、ステップｔ＝「１０」に関する出力推定モデルを用いて算出された出力変数の推定値Ｙ＿１ｅｓｔの、シミュレーション結果である出力変数の収束値Ｙ＿１ｌａｓｔに対する誤差を含む。
【００８５】
例えば、誤差Ｅ＿１は、以下の式（４）で示される。
誤差Ｅ＿１＝Ｙ＿１ｌａｓｔ＿１−Ｙ＿１ｅｓｔ＿ｌａｓｔ・・・式（４）
誤差推定モデル生成部３１１は、上記計算した誤差を含む誤差データを、推定結果記憶部２８０に格納してもよい。
【００８６】
誤差推定モデル生成部３１１は、図１４に示した誤差データを学習用データとして学習して誤差推定モデルを生成する（Ｓ６０２）。具体的には、誤差推定モデル生成部３１１は、入力変数の値、内部変数の更新値を示す説明変数と、誤差を示す目的変数とを用いて、学習用データを学習し、誤差推定モデルを生成する。
【００８７】
図１５は、出力推定モデル生成部２４１により生成された出力推定モデルと、誤差推定モデル生成部３１１により生成された誤差推定モデルの一例を示す図である。出力推定モデルは、図８を参照して第２の実施形態において説明したモデルと同様である。誤差推定モデルは、出力推定モデルと同じく、ステップｔ＝「１０」に関する出力推定モデルである。
【００８８】
具体的には、出力変数の推定値Ｙ＿１ｅｓｔ，Ｙ＿２ｅｓｔの誤差を求める誤差推定モデルとして、それぞれ式（５），（６）が、生成されたことが示される。
推定値Ｙ＿１ｅｓｔの誤差
＝０．２＊Ｘ＿０（ｔ＝１０）−０．６＊Ｘ＿１（ｔ＝１０）・・・式（５）
推定値Ｙ＿２ｅｓｔの誤差
＝−０．１＊Ｘ＿０（ｔ＝１０）−０．５＊Ｘ＿１（ｔ＝１０）・・・式（６）
式（５）において、例えば、Ｘ＿０（ｔ＝１０）＝「９」、Ｘ＿１（ｔ＝１０）＝「１」とすると、出力変数の推定値Ｙ＿１ｅｓｔには、「±０．６」の誤差がありうることを意味する。
【００８９】
誤差推定モデル生成部３１１は、以上の手順により、誤差推定モデルを生成し、生成した誤差推定モデルを、推定モデル記憶部２５０に格納する（Ｓ６０３）。
【００９０】
なお、上記のように生成された誤差推定モデルにより求められる誤差の推定値によって、出力変数の推定値の信頼度を検討できる。すなわち、シミュレーション結果は、出力推定モデルによって計算された推定値から、誤差の分だけずれる可能性があるので、それを考慮した推定値の検討が可能となる。
【００９１】
例えば、出力変数Ｙ＿１の値が「１」を下回るようなパラメータの設計をする場合、あるパラメータセット「Ｐ」の下で、出力推定モデルを用いた出力変数の推定値が「０．７」であり、誤差推定モデルを用いた誤差の推定値が「±０．２」であったとする。
【００９２】
この場合、誤差を考慮した出力変数Ｙ＿１の推定値は、「０．５〜０．９」となる。よって、誤差があっても出力変数Ｙ＿１が「１」を下回ることを期待できる。つまり、このパラメータセット「Ｐ」で設計してよいことが分かる。
【００９３】
一方、同じ出力変数の推定値であっても誤差の推定値が「±０．３」である場合、誤差を考慮した出力変数Ｙ＿１の推定値は、「０．４〜１．０」となる。よって、誤差があると出力変数Ｙ＿１の値が「１」を下回らないことが予想される。つまり、このパラメータセット「Ｐ」での設計は適切でないことが分かる。
【００９４】
なお、図１４に示した誤差の計算は、第２の実施形態において説明した出力変数の推定値の計算と並行して行われてもよい。すなわち、出力推定モデル生成部２４１は、生成した出力推定モデルによる出力変数の推定値の、シミュレーション結果に対する誤差を計算し、誤差の小さい出力推定モデルを生成するように構成されてもよい。
【００９５】
以上のように、本第３の実施形態によれば、情報処理装置３００は、誤差推定モデル生成部３１１により、出力推定モデルによる出力変数の推定値の、シミュレーション結果に対する誤差を計算し、その誤差と内部変数の更新値を学習することにより、誤差を推定するモデルを生成する。
【００９６】
この構成を採用することにより、本第３の実施形態によれば、出力推定モデルによる推定値の信頼度を考慮したパラメータ設計を行うことができるという効果が得られる。
【００９７】
第４の実施形態
図１６は、本発明の第４の実施形態に係る情報処理装置４００の構成を示すブロック図である。図１６に示すように、第４の実施形態に係る情報処理装置４００は、第３の実施形態において説明した情報処理装置３００の学習部３１０が備える出力推定モデル生成部２４１の代わりに、出力推定モデル生成部２４１ａを備える構成を有する。その他の要素については、第２および第３の実施形態において説明した要素と同様であるため、その説明は省略する。
【００９８】
出力推定モデル生成部２４１ａは、第２の実施形態において説明した出力推定モデル生成部２４１の機能に加えて、出力推定モデルの精度を判定する機能を有する。具体的には、出力推定モデル生成部２４１ａは、生成した、あるステップに関する出力推定モデルの精度を計算し、その精度が基準を満たさない場合は、より精度の高い出力推定モデルを作成する機能を有する。
【００９９】
第３の実施形態において説明したように、誤差推定モデル生成部３１１は、出力推定モデルによる出力変数の推定値と、シミュレーション結果の値との差（誤差）を算出している。出力推定モデル生成部２４１ａは、この誤差の平均値に基づいて、出力推定モデルの精度を計算する。出力推定モデル生成部２４１ａは、また、出力推定モデルによる出力変数の推定値と、シミュレーション結果との差の二乗の平均値に基づいて、出力推定モデルの精度を計算してもよい。
【０１００】
図１７は、本第４の実施形態に係る情報処理装置４００の出力推定モデル生成部２４１ａの処理を示すフローチャートである。図１７を参照して、出力推定モデル生成部２４１ａの処理について説明する。
【０１０１】
ここでは、第２の実施形態に示したようなシミュレーションが実行され、推定モデル記憶部２５０には、ステップｔ＝「１０」に関する出力推定モデルが格納されているとする。また、第３の実施形態において説明したように、誤差推定モデル生成部３１１により計算された、図１４に示すような誤差を含む誤差データが、推定結果記憶部２８０に格納されているとする。
【０１０２】
出力推定モデル生成部２４１ａは、誤差推定モデル生成部３１１により計算された誤差の平均値を計算する（Ｓ７０１）。すなわち、図１４に示す例の場合、シミュレーションＩＤ＝「１」乃至「５０」に対応するそれぞれの誤差の平均値を計算する。この平均値が、ステップｔ＝「１０」に関する出力推定モデルの精度を示す。
【０１０３】
続いて、出力推定モデル生成部２４１ａは、計算した平均値と、予め保持している閾値とを比較する（Ｓ７０２）。
【０１０４】
平均値が閾値より大きい場合（Ｓ７０３においてＹｅｓ）、出力推定モデル生成部２４１ａは、異なるステップに関する出力推定モデルを生成する（Ｓ７０４）。
【０１０５】
具体的には、出力推定モデル生成部２４１ａは、すでに作成したステップｔに関する出力推定モデルより大きいステップｔに関する出力推定モデルを生成する。例えば、ステップｔ＝「１０」に関する出力推定モデルを生成していた場合、出力推定モデル生成部２４１は、ステップｔ＝「３０」に関する出力推定モデルを生成してもよい。ただし、すでに作成したステップｔに関する出力推定モデルより大きいステップｔに関する出力推定モデルを生成することに限定されない。
【０１０６】
図１８は、出力推定モデルのステップ数と、そのモデルによる出力変数の推定値の誤差の平均値との関係を、Ｘ−Ｙ平面座標に示した一例を示す図である。出力推定モデルのステップ数がＸ軸上に、モデルによる出力変数の推定値の誤差の平均値がＹ軸上に、それぞれ示されている。
【０１０７】
図１８に示すように、数の大きいステップに関する出力推定モデルほど、誤差が小さくなる、すなわち、精度が高くなる。これは、実行したステップ数が多いシミュレーション結果を学習して生成された出力推定モデルの方が、実行したステップ数が少ないシミュレーション結果を学習して生成された出力推定モデルよりも、精度が高いことを意味する。
【０１０８】
出力推定モデル生成部２４１ａは、第２の実施形態において図７を参照して説明した手順で、例えば、ステップｔ＝「３０」に関する出力推定モデルを生成してもよい。出力推定モデル生成部２４１ａは、生成した出力推定モデルについて、上記と同様に、推定値の誤差の平均値を計算し、この誤差の平均値が閾値以下となるまで、異なるステップに関する出力推定モデルの生成を行う。
【０１０９】
出力推定モデル生成部２４１ａは、精度が基準を満たす出力推定モデルを生成すると、それを、推定モデル記憶部２５０に格納する。
【０１１０】
以上のように、本第４の実施形態によれば、情報処理装置４００は、出力推定モデル生成部２４１ａにより、出力推定モデルによる出力変数の推定値とシミュレーション結果との誤差の平均値に基づいてそのモデルの精度を計算する。出力推定モデル生成部２４１ａは、精度が基準に満たない場合は、より精度が高いモデルを生成する。
【０１１１】
上記構成を採用することにより、本第４の実施形態では、精度が基準を満たした出力推定モデルにより出力変数の推定値を算出するので、シミュレーションの出力を、より高い精度で得ることができるという効果が得られる。
【０１１２】
第５の実施形態
図１９は、本発明の第５の実施形態に係る情報処理装置５００の構成を示すブロック図である。図１９に示すように、第５の実施形態に係る情報処理装置５００は、第３の実施形態において説明した情報処理装置３００の構成に加えて、追加シミュレーション結果記憶部２８５および再学習判定部（再学習指示手段）２９０を備える構成を有する。その他の要素については、第２および第３の実施形態において説明した要素と同様であるため、その説明は省略する。
【０１１３】
追加シミュレーション結果記憶部２８５は、シミュレーション部２１０により実行された追加のシミュレーションの実行結果を記憶する。
【０１１４】
再学習判定部２９０は、第４の実施形態において説明したように、出力推定モデル生成部２４１により、精度が基準を満たすと判定された出力推定モデルについて、その出力推定モデルによる推定値の精度を改めて計算し、必要に応じて再学習することを指示する機能を有する。
【０１１５】
図２０は、再学習判定部２９０の処理を示すフローチャートである。図２０を参照して、再学習判定部２９０の処理について説明する。ここで、第４の実施形態において説明したように、出力推定モデル生成部２４１により、ステップｔ＝「３０」に関する出力推定モデルが、その精度が基準を満たすとして、推定モデル記憶部２５０に格納されているとする。
【０１１６】
再学習判定部２９０は、再学習の判定を実行するタイミングになると（Ｓ８０１においてＹｅｓ）、推定モデル記憶部２５０から、出力推定モデルを読み出す（Ｓ８０２）。再学習判定部２９０は、再学習の判定を、所定のタイミング（例えば、出力推定モデルによる推定値が所定の量蓄積されたタイミング）で行ってもよいし、任意のタイミングで行ってもよい。
【０１１７】
続いて、再学習判定部２９０は、追加のシミュレーションを実行するように、シミュレーション部２１０に指示する（Ｓ８０３）。再学習判定部２９０は、シミュレーション部２１０に対して、入力変数として、第１の入力変数記憶部２２０に格納される第１の入力変数とは異なる入力変数の値を与えてもよい。また、入力変数の値は、外部から与えられてもよい。
【０１１８】
シミュレーション部２１０は、上記指示に応じて、追加のシミュレーションを実行し、その実行結果を、追加シミュレーション結果記憶部２８５に格納する（Ｓ８０４）。図２１は、追加シミュレーション実行の結果、追加シミュレーション結果記憶部２８５に書き込まれた入力変数の値、内部変数の更新値および出力変数の値の一例を示す図である。図２１では、シミュレーションＩＤ＝５１乃至８０に対応する、入力変数の値、各ステップの内部変数の更新値および出力変数の値を示す。追加シミュレーション結果記憶部２８５に格納されたデータは、追加学習用データとなる。
【０１１９】
続いて、再学習判定部２９０は、追加のシミュレーションの実行に用いられた入力変数の値を、処理Ｓ８０２において読み出した出力推定モデルに入力することにより、推定値を計算する（Ｓ８０５）。
【０１２０】
再学習判定部２９０は、計算した推定値を含む推定結果を、推定結果記憶部２８０に格納する（Ｓ８０６）。図２２は、再学習判定部２９０により計算された推定結果の一例を示す図である。ここでは、ステップｔ＝「３０」に関する出力推定モデルによる推定値を示す。
【０１２１】
続いて、再学習判定部２９０は、出力推定モデルによる推定値の、シミュレーション結果（出力変数の収束値）に対する誤差を、第２の実施形態の誤差推定モデル生成部３１１と同様に計算する（Ｓ８０７）。そして、再学習判定部２９０は、その誤差に基づいて、再学習判定処理を行う（Ｓ８０８）。
【０１２２】
図２３は、再学習判定部２９０による再学習判定処理を説明するフローチャートである。図２３を参照して、再学習判定部２９０による再学習判定処理について説明する。
【０１２３】
再学習判定部２９０は、第４の実施形態において図１７を参照して説明した動作と同様に、処理Ｓ８０７において計算した誤差の平均値を計算する（Ｓ９０１）。
【０１２４】
続いて、再学習判定部２９０は、計算した誤差の平均値と、予め保持している閾値とを比較する（Ｓ９０２）。
【０１２５】
誤差の平均値が閾値より大きい場合（Ｓ９０３においてＹｅｓ）、再学習判定部２９０は、出力推定モデル生成部２４１に対して、再学習を指示する（Ｓ９０４）。
【０１２６】
出力推定モデル生成部２４１は、再学習の指示に応じて、追加シミュレーション結果記憶部２８５に格納された追加シミュレーション結果を、学習用データに追加して、再学習を行う。すなわち、出力推定モデル生成部２４１は、シミュレーション結果記憶部２３０に格納された学習用データと、追加シミュレーション結果記憶部２８５に格納された追加学習用データを学習して、出力推定モデルを生成する。
【０１２７】
なお、出力推定モデル生成部２４１は、再学習において、学習用データのすべてと追加学習用データのすべてを学習することに限定されない。出力推定モデル生成部２４１は、学習用データのすべてと追加学習用データの一部を、あるいは、学習用データの一部と追加学習用データのすべてを、学習してもよい。例えば、出力推定モデル生成部２４１は、シミュレーションの条件が同じ結果のみを集めて学習することにより、生成する推定モデルの精度を上げることができる。
【０１２８】
あるいは、出力推定モデル生成部２４１は、追加学習用データのみを学習してもよい。例えば、温暖地条件で推定モデルを学習したが、寒冷地条件では異なる推定モデルを作ったほうが精度が上がる、といった場合に、出力推定モデル生成部２４１は、追加学習用データのみを学習することにより推定モデルを作り直してもよい。
【０１２９】
このとき、出力推定モデル生成部２４１は、ステップｔ＝「３０」に関する出力推定モデルを生成してもよい。あるいは、出力推定モデル生成部２４１は、第２の実施形態において説明したように出力推定モデルの説明変数として用いる内部変数を選択してもよい。
【０１３０】
以上のように、本第５の実施形態によれば、情報処理装置５００では、シミュレーション部２１０により追加のシミュレーションを実行し、再学習判定部２９０によりその実行結果と、出力推定モデルによる出力変数の推定値との誤差の平均値に基づいて、そのモデルの精度を計算する。再学習判定部２９０は、精度が基準に満たない場合は、追加のシミュレーションの実行結果を追加学習用データとして含めた学習用データの再学習を行い、出力推定モデルを生成する。
【０１３１】
上記構成を採用することにより、本第５の実施形態によれば、生成した出力推定モデルについて精度を計算し、精度が基準を満たさない場合は、追加シミュレーションの実行結果を用いて再学習してモデルを生成しなおすので、シミュレーションの出力を、より高い精度で得ることができるという効果が得られる。
【０１３２】
なお、図１等に示した情報処理装置の各部は、それぞれ、図２４に例示するハードウエア資源において実現される。すなわち、図２４に示す構成は、プロセッサ１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３、外部接続インタフェース１４、記録装置１５および各構成要素を接続するバス１６を備える。
【０１３３】
上述した各実施形態では、図２４に示すプロセッサ１１が実行する一例として、情報処理装置に対して、上述した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ１１がＲＡＭ１２に読み出して実行することによって実現する場合について説明した。しかしながら、図１等に示した情報処理装置の各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。すなわち、各装置の各構成要素の一部又は全部は、汎用または専用の回路（ｃｉｒｃｕｉｔｒｙ）、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１３４】
各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１３５】
上記のように情報処理装置に供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、かかるコンピュータ・プログラムを表すコード或いはかかるコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【０１３６】
以上、上述した実施形態を参照して本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、種々の上記開示要素の多様な組み合わせ乃至選択など、当業者が理解し得る様々な態様を適用することができる。
【０１３７】
この出願は、２０１７年１月３１日に出願された日本出願特願２０１７−０１５７７６を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【符号の説明】
【０１３８】
１１  プロセッサ
１２  ＲＡＭ
１３  ＲＯＭ
１４  外部接続インタフェース
１５  記録装置
１６  バス
１００乃至５００  情報処理装置
１１０  シミュレーション部
１２０  学習部
２１０  シミュレーション部
２２０  第１の入力変数記憶部
２３０  シミュレーション結果記憶部
２４０  学習部
２４１  出力推定モデル生成部
２５０  推定モデル記憶部
２６０  推定部
２７０  第２の入力変数記憶部
２８０  推定結果記憶部
２８５  追加シミュレーション結果記憶部
２９０  再学習判定部
３１０  学習部
３１１  誤差推定モデル生成部
【図１】
2018143019.tif 000003
【図２】
2018143019.tif 000004
【図３】
2018143019.tif 000005
【図４】
2018143019.tif 000006
【図５】
2018143019.tif 000007
【図６】
2018143019.tif 000008
【図７】
2018143019.tif 000009
【図８】
2018143019.tif 000010
【図９】
2018143019.tif 000011
【図１０Ａ】
2018143019.tif 000012
【図１０Ｂ】
2018143019.tif 000013
【図１１】
2018143019.tif 000014
【図１２】
2018143019.tif 000015
【図１３】
2018143019.tif 000016
【図１４】
2018143019.tif 000017
【図１５】
2018143019.tif 000018
【図１６】
2018143019.tif 000019
【図１７】
2018143019.tif 000020
【図１８】
2018143019.tif 000021
【図１９】
2018143019.tif 000022
【図２０】
2018143019.tif 000023
【図２１】
2018143019.tif 000024
【図２２】
2018143019.tif 000025
【図２３】
2018143019.tif 000026
【図２４】
2018143019.tif 000027
【手続補正書】
【提出日】令和1年7月11日(2019.7.11)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する取得手段と、
前記取得手段により取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得手段により取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する学習手段と
を備えた情報処理装置。
【請求項２】
前記取得手段は、前記シミュレーションの結果が収束した後の出力変数の値を取得する
請求項１記載の情報処理装置。
【請求項３】
前記学習された推定モデルに、
収束した結果が得られていないシミュレーションに用いられた前記入力変数の新たな値と、該新たな値を用いたシミュレーションの実行において更新された内部変数の更新値を入力し、
前記新たな値を用いたシミュレーションの収束した結果を推定する推定手段
をさらに備えた請求項２記載の情報処理装置。
【請求項４】
前記シミュレーションは、前記入力変数の値に基づいて前記内部変数の値を更新して出力変数の値を生成するステップを、前記出力変数の値が収束するまで繰り返す処理であって、
前記取得手段は、ステップ毎の内部変数の値を取得し、
前記学習手段は、あるステップにおいて更新された内部変数と、他のステップにおいて更新された内部変数とをそれぞれ説明変数として用いて、前記推定モデルを学習する
請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記学習手段は、小さいステップ数において更新された内部変数を、大きいステップ数において更新された内部変数よりも優先して説明変数として選択して、前記推定モデルを学習する
請求項４に記載の情報処理装置。
【請求項６】
前記学習手段は、前記入力変数の値と、前記内部変数の更新値と、前記推定モデルを用いて推定された推定値と前記シミュレーションの結果が収束した後の出力変数の値との誤差と、に基づいて、前記推定値の誤差を推定する誤差推定モデルを学習する
請求項２乃至請求項５のいずれか１項記載の情報処理装置。
【請求項７】
前記学習手段は、前記推定モデルを用いて推定された推定値と前記シミュレーションの結果が収束した後の出力変数の値との誤差に基づいて、前記推定モデルの精度を計算し、前記精度が基準に満たない場合、前記入力変数の値と、前記説明変数として用いたステップ数より大きいステップ数において更新された内部変数を、前記説明変数として用いて前記推定モデルを学習する
請求項４または請求項５記載の情報処理装置。
【請求項８】
前記シミュレーションの実行に用いられた前記入力変数の新たな値と、該新たな値を用いたシミュレーションの実行において更新された前記内部変数の更新値と、前記推定モデルとを用いて推定された推定値と前記新たな値を用いたシミュレーションの結果が収束した後の前記出力変数の値との誤差と、に基づいて、前記推定モデルの精度を計算し、前記精度が基準に満たない場合、前記新たな値と、前記新たな値を用いたシミュレーションにおいて更新された内部変数の更新値と、前記新たな値を用いたシミュレーションの結果が収束した後の出力変数の値とに基づいて、前記推定モデルを学習することを指示する再学習指示手段
をさらに備えた請求項４乃至請求項７のいずれか１項記載の情報処理装置。
【請求項９】
シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得し、
前記取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する
情報処理方法。
【請求項１０】
シミュレーションの実行に用いられた入力変数の値と、該シミュレーションの実行において更新された内部変数の更新値と、該シミュレーションの結果を示す出力変数の値とを取得する処理と、
前記取得された前記入力変数と、前記更新された内部変数を説明変数とし、また前記取得された前記出力変数を目的変数として、シミュレーションの結果を推定するための推定モデルを学習する処理と
を、コンピュータに実行させるプログラム。
【国際調査報告】
2018143019.tif 000028
2018143019.tif 000029
2018143019.tif 000030
2018143019.tif 000031