(57)【要約】【課題】入力データ中の複数の入力パラメータが変化することに応じて、出力データがどの程度変化するかを予測することを課題とする。【解決手段】複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置であって、入力データ及び出力データの複数の組を含む学習データを取得する取得部と、取得した学習データに基づいて、２つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理部とを備える解析装置、当該解析装置を用いた解析方法、及び、当該解析装置に用いるプログラムを提供する。【選択図】図３
2016006587.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置であって、
前記入力データ及び前記出力データの複数の組を含む学習データを取得する取得部と、
取得した前記学習データに基づいて、２つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理部と、
を備える解析装置。
【請求項２】
前記学習処理部は、前記２つの入力データにおける前記入力パラメータの差分に対する２つの出力データの距離を学習して、前記入力パラメータの変化に対する前記出力データの変化を推測する推測モデルを生成する、
請求項１に記載の解析装置。
【請求項３】
前記学習処理部は、前記学習データにおける前記２つの入力データにおける各入力パラメータの差分を、各入力パラメータの差分に対応する変化度合により重みづけして得られる距離を、当該２つの入力データに対する２つの出力データ間の距離に近似させる学習処理を行う、
請求項２に記載の解析装置。
【請求項４】
前記学習処理部は、２つの前記入力パラメータの間の値の範囲毎の変化度合を用いて、前記入力パラメータの間の値の範囲毎に前記出力データの相違量を推測する推測モデルを生成する、
請求項２に記載の解析装置。
【請求項５】
前記推測モデルに基づいて、前記入力データの変化量に対する出力データの変化量を推測する推測部を更に備える、
請求項２から４のいずれか１項に記載の解析装置。
【請求項６】
複数の前記入力データについて、前記入力パラメータのそれぞれの平均が０で分散が１となるように前記入力パラメータを正規化する正規化部を更に備える、
請求項１から５のいずれか１項に記載の解析装置。
【請求項７】
前記入力パラメータの変化量に応じて、推測される前記出力データの変化量を表示する表示部を更に備える、
請求項２から５のいずれか１項に記載の解析装置。
【請求項８】
前記入力パラメータは衝突シミュレーションにおける初期条件を含み、
前記出力データは、前記衝突シミュレーションにおける物体の形状データを含む、
請求項１から７のいずれか１項に記載の解析装置。
【請求項９】
コンピュータに実行される、複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析方法であって、
前記入力データ及び前記出力データの複数の組を含む学習データを取得する取得段階と、
取得した前記学習データに基づいて、２つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理段階と、
を備える解析方法。
【請求項１０】
前記学習処理段階において、前記２つの入力データにおける前記入力パラメータの差分に対する２つの出力データの距離を学習して、前記入力パラメータの変化に対する前記出力データの変化を推測する推測モデルを生成する、
請求項９に記載の解析方法。
【請求項１１】
前記学習処理段階において、前記学習データにおける前記２つの入力データにおける各入力パラメータの差分を、各入力パラメータの差分に対応する変化度合により重みづけして得られる距離を、当該２つの入力データに対する２つの出力データ間の距離に近似させる学習処理を行う、
請求項１０に記載の解析方法。
【請求項１２】
前記学習処理段階において、２つの前記入力パラメータの間の値の範囲毎の変化度合を用いて、前記入力パラメータの間の値の範囲毎に前記出力データの相違量を推測する推測モデルを生成する、
請求項１０に記載の解析方法。
【請求項１３】
前記推測モデルに基づいて、前記入力データの変化量に対する出力データの変化量を推測する推測段階を更に備える、
請求項１０から１２のいずれか１項に記載の解析方法。
【請求項１４】
複数の前記入力データについて、前記入力パラメータのそれぞれの平均が０で分散が１となるように前記入力パラメータを正規化する正規化段階を更に備える、
請求項９から１３のいずれか１項に記載の解析方法。
【請求項１５】
前記入力パラメータの変化量に応じて、推測される前記出力データの変化量を表示する表示段階を更に備える、
請求項１０から１３のいずれか１項に記載の解析方法。
【請求項１６】
前記入力パラメータは衝突シミュレーションにおける初期条件を含み、
前記出力データは、前記衝突シミュレーションにおける物体の形状データを含む、
請求項９から１５のいずれか１項に記載の解析方法。
【請求項１７】
コンピュータを、複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置として機能させるプログラムであって、
実行されると当該コンピュータを、
前記入力データ及び前記出力データの複数の組を含む学習データを取得する取得部と、
取得した前記学習データに基づいて、２つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理部と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析装置、解析方法及びプログラムに関する。
【背景技術】
【０００２】
従来、複数の入力パラメータを含むような構造化入力データを入力し、これに対して出力データを出力するようなシステムを解析して、各入力パラメータのうち、出力データに大きな影響を与えるものを特定する方法が知られている（例えば、非特許文献１参照）。
［非特許文献１］M. Yamada, et.al. High-Dimensional Feature Selection by Feature-Wise Kernelized Lasso. Neural Computation, vol.26, no.1, pp.185-207, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、従来、システムの各入力パラメータの変化量に応じて、出力データがどの程度変化するかを予測することはできず、予測結果に基づいて好適な入力パラメータを推測することが困難であった。例えば、多数の入力パラメータを含む入力データをモデルの初期条件及び／又は制約条件として設定し、複雑な実試験又はシミュレーションをして評価対象となる出力データを得る系又は問題となると、システムの出力データを得るために多くの時間及び／又は処理量が必要となる。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置であって、入力データ及び出力データの複数の組を含む学習データを取得する取得部と、取得した学習データに基づいて、２つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理部とを備える解析装置、当該解析装置を用いた解析方法、及び、当該解析装置に用いるプログラムを提供する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態の解析装置１０の解析対象となるシステムの一例の概略を示す。
【図２】システムの入力パラメータの差分と出力データの相違量の関係を示す。
【図３】本実施形態の解析装置１０のブロック図を示す。
【図４】本実施形態の解析装置１０による処理フローを示す。
【図５】学習処理部１０６が数１に基づいて最適化する変化度合θｉを示す。
【図６】学習処理部１０６が数２に基づいて最適化する変化度合θｉ，ｋを示す。
【図７】学習処理部１０６が数３に基づいて最適化する変化度合θｉ，ｋを示す。
【図８】最適化された変化度合θｉ，ｋの総和の一例を示す。
【図９】最適化された変化度合θｉ，ｋの総和の一例を示す。
【図１０】最適化された変化度合θｉ，ｋの総和の一例を示す。
【図１１】コンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態の解析装置が解析対象とするシステムの一例の概略を示す。当該システムは、複数の入力パラメータ（例えば、Ｄ個の入力パラメータｘｍ１、ｘｍ２、…ｘｍＤ）を含む複数の入力データＸｍ（例えば、Ｘ１、Ｘ２、Ｘ３…）を入力して、入力データＸｍのそれぞれに対応する複数の入力パラメータ（例えば、Ｄ'個の出力パラメータｙｍ１、ｙｍ２、…ｙｍＤ'）を有する複数の出力データＹｍ（例えば、Ｙ１、Ｙ２、Ｙ３…）を出力する。
【０００９】
例えば、システムは、衝突シミュレーション等のシミュレーションシステムであり、一例として入力パラメータとして衝突シミュレーションにおける初期条件（例えば、シミュレーションの対象とする物体の設計データＸ１、Ｘ２…）を入力して、物体の衝突シミュレーションを実行し、衝突シミュレーションにおいて変化する物体の形状データ（例えば、衝突中の時系列上の形状データＹ１、Ｙ２…）を出力する。
【００１０】
図２は、解析装置１０が解析対象とするシステムに入力する複数の入力パラメータ同士の差分と対応する複数の出力データ同士の相違量との関係の一例を示す。本例では、図示するように、ｍ＝１〜３となる３個の入力データＸｍは、それぞれ縦軸及び横軸で示す入力パラメータｘｍ１及びｘｍ２を有する。また、入力データＸ１〜３に対応し、互いの相違量に対応する距離（例えば、複数の出力パラメータのユークリッド距離）離れた出力データＹ１〜３が図示される。
【００１１】
ここで、一例として、出力データＹ１〜３において、出力データＹ１と出力データＹ２との距離は大きく出力データＹ２と出力データＹ３との距離は小さい関係を有する。また、この例において、入力データＸ１の入力パラメータｘ１１と入力データＸ２の入力パラメータｘ２１との差分は、入力パラメータｘ１２と入力パラメータｘ２２との差分よりも大きい関係を有し、入力データＸ２の入力パラメータｘ２１と入力データＸ３の入力パラメータｘ３１との差分は、入力パラメータｘ２２と入力パラメータｘ３２との差分よりも小さい関係を有する。
【００１２】
ここで、入力パラメータの値により出力データの値が変化するものと仮定すると、入力パラメータが大きく変化すると出力データも大きく変化することになる。図示するシステムにおいては、入力パラメータｘｍ２の変化が大きい場合でも、出力データＹｍ間の変化（すなわち、距離）は小さいが、入力パラメータｘｍ１の変化が大きい場合には、出力データＹｍ間の変化が大きい関係にある。従って、出力データＹｍは入力パラメータｘｍ１の影響をより大きく受けていることが推測される。
【００１３】
解析装置１０は、学習データから各入力パラメータの差分と出力データの相違量との関係を学習することによって、各入力パラメータの変化に対する出力データの変化を推測する推測モデルを生成する。これにより、解析装置１０は、推測モデルに基づき、システムにおいて、複数の入力パラメータのうち一部の入力パラメータ（例えば図２のｘｍ１）の変化が出力データＹｍの変化に大きな影響を与え、他の入力パラメータ（例えば図２のｘｍ２）の変化が出力データＹｍの変化に大きな影響を与えないことを推測し、また各入力パラメータｘｍ１〜２が出力データＹｍに与える影響の大きさも推測する。
【００１４】
図３は、本実施形態に係る解析装置１０のブロック図を示す。解析装置１０は、シミュレーション部１００、取得部１０２、正規化部１０４、学習処理部１０６、推測部１０８、表示部１１０、及び、生成部１１２を備える。
【００１５】
シミュレーション部１００は、複数の入力データに基づくシミュレーションを実行し、実行結果を出力データとして生成する。シミュレーション部１００は、出力データを入力データと共に取得部１０２に供給する。シミュレーション部１００は、出力データをデータベース２０に記憶してもよい。
【００１６】
取得部１０２は、入力データ及び出力データの複数の組を含む学習データを取得する。例えば、取得部１０２は、シミュレーション部１００又はデータベース２０から入力データ及び出力データの組を複数含む学習データを取得する。取得部１０２は、取得した学習データを正規化部１０４に供給する。
【００１７】
正規化部１０４は、学習データにおける複数の入力データの各入力パラメータを正規化する。正規化部１０４は、正規化した入力パラメータを含む入力データを含む学習データを学習処理部１０６に供給する。これに代えて、正規化部１０４は、入力データを正規化せずにそのまま学習処理部１０６に供給してもよい。
【００１８】
学習処理部１０６は、正規化部１０４から取得した学習データに基づいて、２つの入力データにおける対応する各入力パラメータの差分に応じた出力データの相違量を、回帰分析により学習する。これにより、学習処理部１０６は、入力パラメータの変化に対する出力データの変化を推測する推測モデルを生成する。学習処理部１０６は、推測モデルを推測部１０８及び表示部１１０に供給する。学習処理部１０６の具体的な処理内容は後述する。
【００１９】
推測部１０８は、推測モデルに基づいて、入力データの変化量に対する出力データの変化量を推測する。例えば、推測部１０８は、ユーザが入力データの変化量を入力したときに、推測モデルに基づいて出力データの変化量を推測する。推測部１０８は、推測モデルに基づいて出力データの変化率を推測してもよい。推測部１０８は、出力データの変化量等の推測結果を表示部１１０及び生成部１１２に供給する。
【００２０】
表示部１１０は、推測部１０８から受け取った入力パラメータの変化量に応じて推測される出力データの変化量を表示する。表示部１１０は、学習処理部１０６が生成した推測モデルを表示してもよい。
【００２１】
生成部１１２は、推測部１０８による推測結果に基づいて、新しい入力データを生成する。例えば、生成部１１２は、推測部１０８が出力データの変化量を推測した結果、目標とする出力データの変化量が得られる場合、当該出力データの変化量に対応する入力パラメータの変化量に基づき、目標とする出力データを得るための新しい入力データを生成する。
【００２２】
このように、解析装置１０は、入力データ及び出力データの複数の組を含む学習データを取得し、複数の入力データにおける対応する各入力パラメータの差分と出力データの相違量との関係を学習する。これにより、解析装置１０は、各入力パラメータを変化させたときの出力データの変化のパターンを推測することができる。また、解析装置１０によると、目標とする出力データを得るための入力データを生成することができる。
【００２３】
図４は、本実施形態の解析装置１０による処理フローを示す。本実施形態において、解析装置１０は、Ｓ１００〜Ｓ１７０の処理を実行することにより、システムを解析する。
【００２４】
まず、Ｓ１００において、シミュレーション部１００は、学習データを生成するためのシミュレーションを実行する。例えば、シミュレーション部１００は、解析装置１０の外部のデータベース２０から物体の設計データ等の入力データを複数取得し、衝突による物体の変形をシミュレートする衝突シミュレーションを実行する。シミュレーション部１００は、衝突シミュレーションにおいて変形する物体形状の時系列データ等を各出力パラメータとして含む出力データを生成し、出力データを入力データと共に取得部１０２に供給する。シミュレーション部１００は、出力データをデータベース２０に記憶してもよい。
【００２５】
衝突シミュレーションを実行することに代えて、シミュレーション部１００は、データベース２０から、出力データとして、入力データに基づき実試験において計測された物体形状の時系列データを取得して取得部１０２に供給してもよい。
【００２６】
次に、Ｓ１１０において、取得部１０２は、シミュレーション部１００又は解析装置１０の外部のデータベース２０から、複数の入力パラメータを含む入力データ、及び、１又は複数の出力パラメータを含む出力データの複数の組を含む学習データを取得する。取得部１０２は、取得した学習データを正規化部１０４に供給する。
【００２７】
次に、Ｓ１２０において、正規化部１０４は、学習データに含まれる複数の入力データを正規化する。例えば、正規化部１０４は、複数の入力データに含まれる各入力パラメータを、平均が０で分散が１となるように正規化する。一例として、正規化部１０４は、Ｍ個の入力データＸ１〜Ｍに含まれるｎ番目の入力パラメータｘ１ｎ、ｘ２ｎ…ｘＭｎの平均が０となり、かつ分散が１となるように正規化する。
【００２８】
正規化部１０４は、この正規化処理により、複数の入力パラメータのスケールの違いによる影響を低減し、学習処理部１０６に複数の入力パラメータの変化の出力データに与える影響を適切に評価させることができる。正規化部１０４は、正規化した入力パラメータを含む入力データと、出力データとを含む学習データを学習処理部１０６に供給する。
【００２９】
次に、Ｓ１３０において、学習処理部１０６は、対となる入力データ及び出力データの組を２つ選択することによりペアを生成する。例えば、学習処理部１０６は、学習データに含まれる対応する入力データ及び出力データの複数の組から、各々が互いに異なる組み合わせとなる２つ組を含む複数のペア（例えば、全ての組の組み合わせのペア）を生成する。一例として、学習データが対応するＭ個の入力データ及び出力データの組（入力データＸ１及び出力データＹ１の組１、入力データＸ２及び出力データＹ２の組２、…入力データＸＭ及び出力データＹＭの組Ｍ）を含む場合、学習処理部１０６は、組１と組２のペア、組１と組３のペア、…組Ｍ−１と組Ｍのペアを含む１／２・Ｍ（Ｍ−１）個のペアを生成してよい。
【００３０】
これに代えて、学習処理部１０６は、入力データ及び出力データの組から生成される全てのペアのうち一部のみを生成してよい。例えば、学習処理部１０６は、全ての組の組み合わせから得られるペアから、ペアに含まれる各組の数が予め定められた範囲内のばらつきになるように一部のペアを抽出してよい。
【００３１】
次に、Ｓ１４０において、学習処理部１０６は、全てのペアについて、ペア内の対応する入力パラメータ間の差分、及び、ペア内の２つの出力データの相違量を算出する。例えば、学習処理部１０６は、入力パラメータ間の差分として、対応する２つの入力パラメータの差に応じて算出される値（入力パラメータの差の絶対値、累乗、累乗根、指数、又は、対数等）を算出してよい。一例として、学習処理部１０６は、入力データＸｍ及び出力データＹｍの組及び入力データＸｎ及び出力データＹｎの組を含むペアについて、入力データＸｍの１番目の入力パラメータｘｍ１と対応する入力データＸｎの１番目の入力パラメータｘｎ１との差分（｜ｘｍ１−ｘｎ１｜）、入力データＸｍの２番目の入力パラメータｘｍ２と入力データＸｎの２番目の入力パラメータｘｎ２との差分（｜ｘｍ２−ｘｎ２｜）、…及び、入力データＸｍのＤ番目の入力パラメータｘｍＤと入力データＸｎのＤ番目の入力パラメータｘｎＤとの差分（｜ｘｍＤ−ｘｎＤ｜）を算出し、出力データＹｍと出力データＹｎとの相違量を算出する。
【００３２】
また、学習処理部１０６は、出力データＹｍと出力データＹｎとの相違量として、出力データＹｍ及び出力データＹｎに含まれる複数の出力パラメータの値の大きさの違いを表す量を算出してよく、例えば、構造化データの相違量を算出する予め定められた関数ｆによりｆ（Ｙｍ，Ｙｎ）を計算して算出してよい。一例として、学習処理部１０６は、関数ｆとして入力される２つのデータ間のユークリッド距離、ダイナミックタイムワーピング距離、編集距離、及び／又は、ハミング距離等を算出する距離関数を用い、出力データの相違量として出力データ間の距離を算出してよい。
【００３３】
次に、Ｓ１５０において、学習処理部１０６は、ペアごとの入力パラメータの差分及び出力データの相違量の関係を回帰分析するペアワイズ回帰を実行する。例えば、学習処理部１０６は、複数のペアについて、ペア内の２つの入力データにおける各入力パラメータの差分に応じたペア内の２つの出力データの相違量を学習する。一例として、学習処理部１０６は、全てのペアについて、ペア内の２つの入力データにおける入力パラメータの差分｜ｘｍ１−ｘｎ１｜に対するペア内の２つの出力データの距離ｆ（Ｙｍ，Ｙｎ）を回帰分析により学習することで、入力パラメータの変化に対する出力データの変化を推測する推測モデルを生成する。
【００３４】
具体的には、学習処理部１０６は、ペア内の２つの入力データＸｍ及びＸｎにおける各入力パラメータの差分｜ｘｍｉ−ｘｎｉ｜を、各入力パラメータの差分に対応する変化度合θｉにより重みづけして得られる下記数１に示す入力データ間の距離ｇ（Ｘｍ，Ｘｎ；θ）を、当該２つの入力データに対する２つの出力データ間の距離ｆ（Ｙｍ，Ｙｎ）に近似させる学習処理を行う。
【数１】
2016006587.tif 000003
【００３５】
これに代えて、学習処理部１０６は、２つの入力パラメータの間の値の範囲毎の変化度合を用いて、入力パラメータの間の値の範囲毎に出力データの相違量を推測してよい。具体的には、学習処理部１０６は、ペア内の一方の入力データＸｍの入力パラメータｘｍｉから基準値ηｋを減じた項を引数とし０未満の入力に対し０を出力し０以上の入力に対し１を出力するステップ関数ｕ（ｘｍｉ−ηｋ）と、ペア内の他方の入力データＸｎの入力パラメータｘｎｉから基準値ηｋを減じた項を引数とし０未満の引数に対し０を返し０以上の引数に１を返すステップ関数ｕ（ｘｎｉ−ηｋ）との差分｜ｕ（ｘｍｉ−ηｋ）−ｕ（ｘｎｉ−ηｋ）｜を算出する。学習処理部１０６は、算出した差分｜ｕ（ｘｍｉ−ηｋ）−ｕ（ｘｎｉ−ηｋ）｜をｉ番目の入力パラメータのｋ番目（ｋ∈Ｋ、Ｋは基準値ηｋの数）の範囲ｋに対応する変化度合θｉ，ｋにより重みづけして、下記数２に示す入力データ間の距離ｇ（Ｘｍ，Ｘｎ；θ）を得る。学習処理部１０６は、算出した入力データ間の距離ｇ（Ｘｍ，Ｘｎ；θ）を、当該２つの入力データに対する２つの出力データ間の距離ｆ（Ｙｍ，Ｙｎ）に近似させる学習処理を行う。
【数２】
2016006587.tif 000004
【００３６】
また、これらに代えて、学習処理部１０６は、２つの入力パラメータの差分の値の範囲毎の変化度合を用いて、入力パラメータの差分の範囲毎に出力データの相違量を推測してよい。具体的には、学習処理部１０６は、ペア内の一方の入力データＸｍの入力パラメータｘｍｉとペア内の他方の入力データＸｎの入力パラメータｘｎｉとの差分｜ｘｍｉ−ｘｎｉ｜から基準値ηｋを減じた項を引数とし０未満の入力に対し０を出力し０以上の入力に対し１を出力するステップ関数ｕ（｜ｘｍｉ−ｘｎｉ｜−ηｋ）を、ｉ番目の入力パラメータのｋ番目（ｋ∈Ｋ、Ｋは基準値ηｋの数）の範囲ｋに対応する変化度合θｉ，ｋにより重みづけして下記数３に示す入力データ間の距離ｇ（Ｘｍ，Ｘｎ；θ）を得る。学習処理部１０６は、距離ｇ（Ｘｍ，Ｘｎ；θ）を、当該２つの入力データに対する２つの出力データ間の距離ｆ（Ｙｍ，Ｙｎ）に近似させる学習処理を行う。
【数３】
2016006587.tif 000005
【００３７】
学習処理部１０６は、数１〜３に示される入力データ間の距離ｇ（Ｘｍ，Ｘｎ；θ）が出力データ間の距離ｆ（Ｙｍ，Ｙｎ）を予測するように、変化度合θｉ又は変化度合θｉ，ｋを最適化する。学習処理部１０６は、最小二乗法、正則化付き最小二乗法、及び／又は制約付き最小二乗法等の既知の回帰分析手法により変化度合θｉの最適化を実行してよい。
【００３８】
次に、Ｓ１６０において、推測部１０８は、推測モデルに基づく変化量の推測を実行し、表示部１１０は推測結果を表示する。例えば、推測部１０８は、数１又は数３を使用し、ユーザから入力パラメータの差分を入力し、変化度合θｉ又はθｉ，ｋ（ｉ∈Ｄ、ｋ∈Ｋ）に学習処理部１０６が最適化した変化度合を入力することにより、入力パラメータの差分に対応するｇ（ＸＲ，ＸＴ；θ）を算出し、これを入力パラメータの差分に対応する出力データの変化量としてよい。
【００３９】
また、例えば、推測部１０８は、数２を使用し、ユーザから入力データＸｍに基準となる任意の入力データＸＲを入力し、入力データＸｎに予想対象とする入力データＸＴを入力し、変化度合θｉ，ｋ（ｉ∈Ｄ、ｋ∈Ｋ）に学習処理部１０６が最適化した変化度合を入力することによりｇ（ＸＲ，ＸＴ；θ）を算出する。推測部１０８は、この算出結果を入力データＸＴに対応する出力データＹＴの入力データＸＲに対応する出力データＹＲからの変化量と推測してもよい。
【００４０】
推測部１０８は、推測した変化量に基づき出力データの変化率を推測してもよい。例えば、推測部１０８は、出力データの変化量に入力パラメータの差分で除した値を出力データの変化率としてよい。表示部１１０は、推測部１０８から推測した変化量及び／又は変化率を受け取り、これを表示してよい。
【００４１】
また、表示部１１０は、学習処理部１０６による学習結果を表示する。例えば、表示部１１０は、ｉ及びｋ（又はηｋの値）毎に最適化された変化度合θｉ又は変化度合θｉ，ｋを示す一覧、表、及び／又は、グラフを、学習処理部１０６が生成した推測モデルとして表示してよい。これにより、表示部１１０は、入力パラメータを変化させたときの出力データの変化の様子をユーザに表示する。
【００４２】
次に、Ｓ１７０において、生成部１１２は、Ｓ１５０で得られた出力データの変化量の推測結果に基づいて、新しい入力データを生成する。例えば、生成部１１２は、推測部１０８が数１〜３に基づいて出力データの変化量を推測した結果、目標とする出力データの変化量が得られる場合、基準となる入力データの入力パラメータに、当該出力データの変化量に対応する入力パラメータの変化量を加算及び／又は減算した新しい入力データを生成する。生成部１１２は、生成した新しい入力データをデータベース２０の学習データに含めて記憶してよい。
【００４３】
このように、解析装置１０によると、入力データ及び出力データの組から生成したペアを生成し、ペア内における入力パラメータ同士の差分と出力データ同士の相違量の関係を学習することにより、入力パラメータの変化量に基づいて出力データの変化量を推測する推測モデルを生成する。
【００４４】
例えば、解析装置１０は、数１に基づく推測モデルにより入力パラメータの変化に対する出力データに与える変化の割合を推測することができ、数２に基づく推測モデルにより入力パラメータが基準値から別の値に変化した場合の出力データに与える変化のパターン及び変化の大きさを推測することができ、数３に基づく推測モデルにより入力パラメータがある大きさ変化した場合の出力データに与える変化のパターン及び変化の大きさを推測することができる。
【００４５】
これにより、解析装置１０は、予測対象の入力データから得られる出力データが、基準となる出力データからどの程度変化するかを予測し、これをユーザに表示することができる。また、解析装置１０は、基準となる入力データに対して、出力データを大きく変化させるための別の新しい入力データを得ることができる。これにより、解析装置１０は、新しい入力データが推測した通りに変化する出力データを与えるかを再度のシミュレーションで検証することができる。
【００４６】
図５は、学習処理部１０６が数１に基づいて最適化して得られる変化度合θｉの一例を示す。本例は、入力データＸｍ（ｍ∈Ｍ、Ｍは入力データの個数となる整数）が１８個の入力パラメータｘｍ１〜１８を含む場合を示し、学習処理部１０６は、各入力パラメータｘｍ１〜１８に対してθ１〜１８を最適化する。変化度合θｉは、入力パラメータｘｍｉが変化するときに予測される出力データＹｍの変化の大きさを示す。表示部１１０は、Ｓ１６０において、図５に示すグラフを推測モデルとして表示してよい。
【００４７】
図示するように、これらの入力パラメータの中で、入力パラメータｘｍ７、入力パラメータｘｍ９、及び入力パラメータｘｍ１４は他と比べて比較的大きな値の変化度合θ７、変化度合θ９、及び変化度合θ１４を有する。従って、推測モデルにおいて、これらの入力パラメータは出力データに対して与える影響が大きいことが推測され、出力データを大きく変化させたい場合にはこれらの入力パラメータを優先して変更すればよいことが示される。解析装置１０は、この変化度合を基に、入力パラメータをどのくらい変化させれば目標の出力データに近づくかを予測でき、当該予測に基づいて修正された入力データによるシミュレーションを再度実行することができる。
【００４８】
図６は、学習処理部１０６が数２に基づいて最適化する変化度合θｉ，ｋを示す。本例では、学習処理部１０６は、入力データＸｍに含まれる入力パラメータｘｍｉ及び予め定められたＫ個の基準値ηｋに対してθｉ，ｋを最適化する。基準値ηｋは、入力パラメータｘｍｉの値を適切に離散化するための定数であり、例えば、学習データ中の全部又は大部分の入力パラメータｘｍｉの値が存在する範囲内において等間隔又は異なる間隔で設けられてよい。なお、学習処理部１０６は、Ｄ個の入力パラメータごとに基準値ηｉ，ｋを設けてもよい。
【００４９】
推測部１０８は、基準となる入力データＸＲの入力パラメータｘＲｉの値を基準値ηｋ（Ｒ）及び基準値ηｋ（Ｒ）＋１の間に含む基準値ηｋ（Ｒ）を特定し、推測対象となる入力データＸＴの入力パラメータｘＴｉの値を基準値ηｋ（Ｔ）及びηｋ（Ｔ）＋１の間に含む基準値ηｋ（Ｔ）を特定する。推測部１０８は、ｋ（Ｒ）及びｋ（Ｔ）のうちの値が小さい一方をｋｓとし他方をｋｌとした場合のθｉ，ｋｓ＋１からθｉ，ｋｌまでの総和を、出力データＹＲ及び出力データＹＴの距離と推測する。
【００５０】
例えば、図示するように、入力パラメータｘＲｉの値がη１以上η２未満であり、入力パラメータｘＴｉの値がη４以上η５未満である場合、ｋ（Ｒ）は１、ｋ（Ｔ）は４となり、ｋｓは１、ｋｌは４となる。従って、推測部１０８は、出力データＹＴの出力データＹＲに対する距離をθｉ，２からθｉ，４までの総和であるθｉ，２＋θｉ，３＋θｉ，４となると推測する。また、例えば、推測部１０８は、入力パラメータｘＲｉの値がη３以上η４未満であり、入力パラメータｘＴｉの値がη２以上η３未満である場合、出力データＹＴの出力データＹＲに対する距離を、θｉ，３と推測する。
【００５１】
図７は、学習処理部１０６が数３に基づいて最適化する変化度合θｉ，ｋを示す。本例では、学習処理部１０６は、入力データＸｍに含まれる入力パラメータｘｍｉ及び予め定められたＫ個の基準値ηｋに対してθｉ，ｋを最適化する。基準値ηｋは、２つの入力データにおける対応する入力パラメータの差分を適切に離散化するための定数であり、例えば、学習データ中の全部又は大部分の入力パラメータの差分の値が存在する範囲内において等間隔又は異なる間隔で設けられてよい。なお、学習処理部１０６は、Ｄ個の入力パラメータごとに基準値ηｉ，ｋを設けてもよい。
【００５２】
推測部１０８は、基準となる入力データＸＲの入力パラメータｘＲｉと推測対象となる入力データＸＴの入力パラメータｘＴｉとの差分値を基準値ηｋ及びηｋ＋１の間に含む基準値ηｋを特定し、θｉ，１からθｉ，ｋまでの総和を出力データＹＲ及び出力データＹＴの変化度合と推測する。
【００５３】
例えば、図示するように、推測部１０８は、入力パラメータｘＲｉと入力パラメータｘＴｉとの差分値がη３以上η４未満である場合、出力データＹＴの出力データＹＲに対する変化度合がθｉ，１＋θｉ，２＋θｉ，３となると推測する。また、例えば、推測部１０８は、入力パラメータｘＲｉの値がη１未満である場合、出力データＹＴの出力データＹＲに対する変化度合を、０と推測する。
【００５４】
図８は、数２及び数３に基づいて最適化された変化度合θｉ，ｋの総和の一例を示す。図の横軸はｋの値を示し、縦軸はｋに対する変化度合θｉ，１からθｉ，ｋまでの総和を表す。本例では、変化度合θｉ，ｋの総和は、図示するようにｋの値と共にほぼ一様に増加する。従って、変化度合θｉ，ｋが数２に基づいて最適化される場合、推測対象の出力データＹＴは、対応する入力データＸＴの入力パラメータが基準となる入力データＸＲから変化（すなわちｋの値が増加）することに応じて、基準となる出力データＹＲから線形的に変化する。また、変化度合θｉ，ｋが数３に基づいて最適化される場合、出力データＹは、入力データＸの入力パラメータの変化（すなわち、ｋの値）に応じて線形的に変化する。
【００５５】
図９は、数２及び数３に基づいて最適化された変化度合θｉ，ｋの総和の別の一例を示す。図９の横軸及び縦軸は図８と同じである。本例では、変化度合θｉ，ｋの総和は、図示するようにｋの値と共に加速度的に増加する。従って、変化度合θｉ，ｋが数２に基づいて最適化される場合、推測対象の出力データＹＴは、対応する入力データＸＴの入力パラメータが基準となる入力データＸＲから少し変化（すなわちｋの値が増加）しただけではほとんど変化しないが、入力パラメータが大きく変化する場合に加速度的に大きく変化する。また、変化度合θｉ，ｋが数３に基づいて最適化される場合、出力データＹは、入力データＸの入力パラメータの変化（ｋの値）が小さい間はほとんど変化しないが、入力パラメータの変化が大きくなると加速度的に大きく変化する。
【００５６】
図１０は、数２及び数３に基づいて最適化された変化度合θｉ，ｋの総和の別の一例を示す。図１０の横軸及び縦軸は図８と同じである。本例では、変化度合θｉ，ｋの総和は、図示するようにｋの値と共に増加するが途中で飽和する。従って、変化度合θｉ，ｋが数２に基づいて最適化される場合、推測対象の出力データＹＴは、対応する入力データＸＴの入力パラメータが基準となる入力データＸＲから小さく変化（すなわちｋの値が増加）する間は線形的に変化するが、入力パラメータの変化が大きくなると出力データの変化は飽和する。また、変化度合θｉ，ｋが数３に基づいて最適化される場合、出力データＹは、入力データＸの入力パラメータの変化（ｋの値）が小さい間には線形的に変化するが、入力パラメータの変化が大きくなると飽和する。
【００５７】
このように、本実施形態の解析装置１０によると、学習データから生成した推測モデルにより、入力パラメータの変化に応じて出力データの変化するパターンを表すことができ、これにより出力データの変化をより詳細に予測することができる。
【００５８】
なお、上記の説明では、解析装置１０は、衝突シミュレーション等のシミュレーションを実行するシステムに対して実行される例を中心に説明したが、解析装置１０が対象とするシステムはこれに限られず、他の多様な構造化出力問題に適用することができる。例えば、解析装置１０は、グラフ構造を入出力するシステム、及び、テキストを入出力するシステムに対して適用することができ、この場合、学習処理部１０６は、関数ｆとして入力される２つのグラフ構造間の類似度、又は、２つのテキスト間の編集距離等を算出する関数を用いてよい。
【００５９】
図１１は、解析装置１０として機能するコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部を備える。
【００６０】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００６１】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００６２】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００６３】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００６４】
コンピュータ１９００にインストールされ、コンピュータ１９００を解析装置１０として機能させるプログラムは、取得モジュール、正規化モジュール、学習処理モジュール、推測モジュール、及び、表示モジュールを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、取得部１０２、正規化部１０４、学習処理部１０６、推測部１０８、及び、表示部１１０としてそれぞれ機能させてよい。
【００６５】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である取得部１０２、正規化部１０４、学習処理部１０６、推測部１０８、及び、表示部１１０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の解析装置１０が構築される。
【００６６】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００６７】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。例えば、解析装置１０の記憶部は、取得部１０２、正規化部１０４、学習処理部１０６、推測部１０８、及び／又は、表示部１１０から受け取った／へ提供するデータを適宜記憶してよい。例えば、記憶部は、取得部１０２又は正規化部１０４から入力データの正規化前／後の学習データを受け取って記憶してよい。また、記憶部は、学習処理部１０６が最適化した変化度合θｉ及びθｉ，ｋ等を記憶してよい。
【００６８】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００６９】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００７０】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００７１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００７３】
１０  解析装置、２０  データベース、１００  シミュレーション部、１０２  取得部、１０４  正規化部、１０６  学習処理部、１０８  推測部、１１０  表示部、１１２  生成部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
2016006587.tif 000006
【図２】
2016006587.tif 000007
【図３】
2016006587.tif 000008
【図４】
2016006587.tif 000009
【図５】
2016006587.tif 000010
【図６】
2016006587.tif 000011
【図７】
2016006587.tif 000012
【図８】
2016006587.tif 000013
【図９】
2016006587.tif 000014
【図１０】
2016006587.tif 000015
【図１１】
2016006587.tif 000016