特許第6187977号(P6187977)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

<>
  • 特許6187977-解析装置、解析方法及びプログラム 図000005
  • 特許6187977-解析装置、解析方法及びプログラム 図000006
  • 特許6187977-解析装置、解析方法及びプログラム 図000007
  • 特許6187977-解析装置、解析方法及びプログラム 図000008
  • 特許6187977-解析装置、解析方法及びプログラム 図000009
  • 特許6187977-解析装置、解析方法及びプログラム 図000010
  • 特許6187977-解析装置、解析方法及びプログラム 図000011
  • 特許6187977-解析装置、解析方法及びプログラム 図000012
  • 特許6187977-解析装置、解析方法及びプログラム 図000013
  • 特許6187977-解析装置、解析方法及びプログラム 図000014
  • 特許6187977-解析装置、解析方法及びプログラム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6187977
(24)【登録日】2017年8月10日
(45)【発行日】2017年8月30日
(54)【発明の名称】解析装置、解析方法及びプログラム
(51)【国際特許分類】
   G06F 17/50 20060101AFI20170821BHJP
   G06F 19/00 20110101ALI20170821BHJP
【FI】
   G06F17/50 612G
   G06F19/00 110
   G06F17/50 612C
【請求項の数】17
【全頁数】17
(21)【出願番号】特願2014-127217(P2014-127217)
(22)【出願日】2014年6月20日
(65)【公開番号】特開2016-6587(P2016-6587A)
(43)【公開日】2016年1月14日
【審査請求日】2016年1月12日
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】原 聡
(72)【発明者】
【氏名】森村 哲郎
(72)【発明者】
【氏名】ルディー・レイモンド・ハリー・プテラ
【審査官】 合田 幸裕
(56)【参考文献】
【文献】 特開2008−117381(JP,A)
【文献】 特開2009−199325(JP,A)
【文献】 国際公開第2011/016499(WO,A1)
【文献】 国際公開第2007/122677(WO,A1)
【文献】 特開2001−051977(JP,A)
【文献】 特開平05−342191(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/50
G06F 19/00
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置であって、
前記入力データ及び前記出力データの複数の組を含む学習データを取得する取得部と、
取得した前記学習データに基づいて、2つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理部と、
を備える解析装置。
【請求項2】
前記学習処理部は、前記2つの入力データにおける前記入力パラメータの差分に対する2つの出力データの距離を学習して、前記入力パラメータの変化に対する前記出力データの変化を推測する推測モデルを生成する、
請求項1に記載の解析装置。
【請求項3】
前記学習処理部は、前記学習データにおける前記2つの入力データにおける各入力パラメータの差分を、各入力パラメータの差分に対応する変化度合により重みづけして得られる距離を、当該2つの入力データに対する2つの出力データ間の距離に近似させる学習処理を行う、
請求項2に記載の解析装置。
【請求項4】
前記学習処理部は、2つの前記入力パラメータの間の値の範囲毎の変化度合を用いて、前記入力パラメータの間の値の範囲毎に前記出力データの相違量を推測する推測モデルを生成する、
請求項2に記載の解析装置。
【請求項5】
前記推測モデルに基づいて、前記入力データの変化量に対する出力データの変化量を推測する推測部を更に備える、
請求項2から4のいずれか1項に記載の解析装置。
【請求項6】
複数の前記入力データについて、前記入力パラメータのそれぞれの平均が0で分散が1となるように前記入力パラメータを正規化する正規化部を更に備える、
請求項1から5のいずれか1項に記載の解析装置。
【請求項7】
前記入力パラメータの変化量に応じて、推測される前記出力データの変化量を表示する表示部を更に備える、
請求項2から5のいずれか1項に記載の解析装置。
【請求項8】
前記入力パラメータは衝突シミュレーションにおける初期条件を含み、
前記出力データは、前記衝突シミュレーションにおける物体の形状データを含む、
請求項1から7のいずれか1項に記載の解析装置。
【請求項9】
コンピュータに実行される、複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析方法であって、
前記入力データ及び前記出力データの複数の組を含む学習データを取得する取得段階と、
取得した前記学習データに基づいて、2つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理段階と、
を備える解析方法。
【請求項10】
前記学習処理段階において、前記2つの入力データにおける前記入力パラメータの差分に対する2つの出力データの距離を学習して、前記入力パラメータの変化に対する前記出力データの変化を推測する推測モデルを生成する、
請求項9に記載の解析方法。
【請求項11】
前記学習処理段階において、前記学習データにおける前記2つの入力データにおける各入力パラメータの差分を、各入力パラメータの差分に対応する変化度合により重みづけして得られる距離を、当該2つの入力データに対する2つの出力データ間の距離に近似させる学習処理を行う、
請求項10に記載の解析方法。
【請求項12】
前記学習処理段階において、2つの前記入力パラメータの間の値の範囲毎の変化度合を用いて、前記入力パラメータの間の値の範囲毎に前記出力データの相違量を推測する推測モデルを生成する、
請求項10に記載の解析方法。
【請求項13】
前記推測モデルに基づいて、前記入力データの変化量に対する出力データの変化量を推測する推測段階を更に備える、
請求項10から12のいずれか1項に記載の解析方法。
【請求項14】
複数の前記入力データについて、前記入力パラメータのそれぞれの平均が0で分散が1となるように前記入力パラメータを正規化する正規化段階を更に備える、
請求項9から13のいずれか1項に記載の解析方法。
【請求項15】
前記入力パラメータの変化量に応じて、推測される前記出力データの変化量を表示する表示段階を更に備える、
請求項10から13のいずれか1項に記載の解析方法。
【請求項16】
前記入力パラメータは衝突シミュレーションにおける初期条件を含み、
前記出力データは、前記衝突シミュレーションにおける物体の形状データを含む、
請求項9から15のいずれか1項に記載の解析方法。
【請求項17】
コンピュータを、複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置として機能させるプログラムであって、
実行されると当該コンピュータを、
前記入力データ及び前記出力データの複数の組を含む学習データを取得する取得部と、
取得した前記学習データに基づいて、2つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理部と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、解析装置、解析方法及びプログラムに関する。
【背景技術】
【0002】
従来、複数の入力パラメータを含むような構造化入力データを入力し、これに対して出力データを出力するようなシステムを解析して、各入力パラメータのうち、出力データに大きな影響を与えるものを特定する方法が知られている(例えば、非特許文献1参照)。
[非特許文献1]M. Yamada, et.al. High-Dimensional Feature Selection by Feature-Wise Kernelized Lasso. Neural Computation, vol.26, no.1, pp.185-207, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、従来、システムの各入力パラメータの変化量に応じて、出力データがどの程度変化するかを予測することはできず、予測結果に基づいて好適な入力パラメータを推測することが困難であった。例えば、多数の入力パラメータを含む入力データをモデルの初期条件及び/又は制約条件として設定し、複雑な実試験又はシミュレーションをして評価対象となる出力データを得る系又は問題となると、システムの出力データを得るために多くの時間及び/又は処理量が必要となる。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、複数の入力パラメータを含む入力データを入力して出力データを出力するシステムを解析する解析装置であって、入力データ及び出力データの複数の組を含む学習データを取得する取得部と、取得した学習データに基づいて、2つの入力データにおける各入力パラメータの差分に応じた出力データの相違量を学習する学習処理部とを備える解析装置、当該解析装置を用いた解析方法、及び、当該解析装置に用いるプログラムを提供する。
【0005】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0006】
図1】本実施形態の解析装置10の解析対象となるシステムの一例の概略を示す。
図2】システムの入力パラメータの差分と出力データの相違量の関係を示す。
図3】本実施形態の解析装置10のブロック図を示す。
図4】本実施形態の解析装置10による処理フローを示す。
図5】学習処理部106が数1に基づいて最適化する変化度合θを示す。
図6】学習処理部106が数2に基づいて最適化する変化度合θi,kを示す。
図7】学習処理部106が数3に基づいて最適化する変化度合θi,kを示す。
図8】最適化された変化度合θi,kの総和の一例を示す。
図9】最適化された変化度合θi,kの総和の一例を示す。
図10】最適化された変化度合θi,kの総和の一例を示す。
図11】コンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0007】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0008】
図1は、本実施形態の解析装置が解析対象とするシステムの一例の概略を示す。当該システムは、複数の入力パラメータ(例えば、D個の入力パラメータx、x、…x)を含む複数の入力データX(例えば、X、X、X…)を入力して、入力データXのそれぞれに対応する複数の入力パラメータ(例えば、D'個の出力パラメータy、y、…yD')を有する複数の出力データY(例えば、Y、Y、Y…)を出力する。
【0009】
例えば、システムは、衝突シミュレーション等のシミュレーションシステムであり、一例として入力パラメータとして衝突シミュレーションにおける初期条件(例えば、シミュレーションの対象とする物体の設計データX、X…)を入力して、物体の衝突シミュレーションを実行し、衝突シミュレーションにおいて変化する物体の形状データ(例えば、衝突中の時系列上の形状データY、Y…)を出力する。
【0010】
図2は、解析装置10が解析対象とするシステムに入力する複数の入力パラメータ同士の差分と対応する複数の出力データ同士の相違量との関係の一例を示す。本例では、図示するように、m=1〜3となる3個の入力データXは、それぞれ縦軸及び横軸で示す入力パラメータx及びxを有する。また、入力データX1〜3に対応し、互いの相違量に対応する距離(例えば、複数の出力パラメータのユークリッド距離)離れた出力データY1〜3が図示される。
【0011】
ここで、一例として、出力データY1〜3において、出力データYと出力データYとの距離は大きく出力データYと出力データYとの距離は小さい関係を有する。また、この例において、入力データXの入力パラメータxと入力データXの入力パラメータxとの差分は、入力パラメータxと入力パラメータxとの差分よりも大きい関係を有し、入力データXの入力パラメータxと入力データXの入力パラメータxとの差分は、入力パラメータxと入力パラメータxとの差分よりも小さい関係を有する。
【0012】
ここで、入力パラメータの値により出力データの値が変化するものと仮定すると、入力パラメータが大きく変化すると出力データも大きく変化することになる。図示するシステムにおいては、入力パラメータxの変化が大きい場合でも、出力データY間の変化(すなわち、距離)は小さいが、入力パラメータxの変化が大きい場合には、出力データY間の変化が大きい関係にある。従って、出力データYは入力パラメータxの影響をより大きく受けていることが推測される。
【0013】
解析装置10は、学習データから各入力パラメータの差分と出力データの相違量との関係を学習することによって、各入力パラメータの変化に対する出力データの変化を推測する推測モデルを生成する。これにより、解析装置10は、推測モデルに基づき、システムにおいて、複数の入力パラメータのうち一部の入力パラメータ(例えば図2のx)の変化が出力データYの変化に大きな影響を与え、他の入力パラメータ(例えば図2のx)の変化が出力データYの変化に大きな影響を与えないことを推測し、また各入力パラメータx1〜2が出力データYに与える影響の大きさも推測する。
【0014】
図3は、本実施形態に係る解析装置10のブロック図を示す。解析装置10は、シミュレーション部100、取得部102、正規化部104、学習処理部106、推測部108、表示部110、及び、生成部112を備える。
【0015】
シミュレーション部100は、複数の入力データに基づくシミュレーションを実行し、実行結果を出力データとして生成する。シミュレーション部100は、出力データを入力データと共に取得部102に供給する。シミュレーション部100は、出力データをデータベース20に記憶してもよい。
【0016】
取得部102は、入力データ及び出力データの複数の組を含む学習データを取得する。例えば、取得部102は、シミュレーション部100又はデータベース20から入力データ及び出力データの組を複数含む学習データを取得する。取得部102は、取得した学習データを正規化部104に供給する。
【0017】
正規化部104は、学習データにおける複数の入力データの各入力パラメータを正規化する。正規化部104は、正規化した入力パラメータを含む入力データを含む学習データを学習処理部106に供給する。これに代えて、正規化部104は、入力データを正規化せずにそのまま学習処理部106に供給してもよい。
【0018】
学習処理部106は、正規化部104から取得した学習データに基づいて、2つの入力データにおける対応する各入力パラメータの差分に応じた出力データの相違量を、回帰分析により学習する。これにより、学習処理部106は、入力パラメータの変化に対する出力データの変化を推測する推測モデルを生成する。学習処理部106は、推測モデルを推測部108及び表示部110に供給する。学習処理部106の具体的な処理内容は後述する。
【0019】
推測部108は、推測モデルに基づいて、入力データの変化量に対する出力データの変化量を推測する。例えば、推測部108は、ユーザが入力データの変化量を入力したときに、推測モデルに基づいて出力データの変化量を推測する。推測部108は、推測モデルに基づいて出力データの変化率を推測してもよい。推測部108は、出力データの変化量等の推測結果を表示部110及び生成部112に供給する。
【0020】
表示部110は、推測部108から受け取った入力パラメータの変化量に応じて推測される出力データの変化量を表示する。表示部110は、学習処理部106が生成した推測モデルを表示してもよい。
【0021】
生成部112は、推測部108による推測結果に基づいて、新しい入力データを生成する。例えば、生成部112は、推測部108が出力データの変化量を推測した結果、目標とする出力データの変化量が得られる場合、当該出力データの変化量に対応する入力パラメータの変化量に基づき、目標とする出力データを得るための新しい入力データを生成する。
【0022】
このように、解析装置10は、入力データ及び出力データの複数の組を含む学習データを取得し、複数の入力データにおける対応する各入力パラメータの差分と出力データの相違量との関係を学習する。これにより、解析装置10は、各入力パラメータを変化させたときの出力データの変化のパターンを推測することができる。また、解析装置10によると、目標とする出力データを得るための入力データを生成することができる。
【0023】
図4は、本実施形態の解析装置10による処理フローを示す。本実施形態において、解析装置10は、S100〜S170の処理を実行することにより、システムを解析する。
【0024】
まず、S100において、シミュレーション部100は、学習データを生成するためのシミュレーションを実行する。例えば、シミュレーション部100は、解析装置10の外部のデータベース20から物体の設計データ等の入力データを複数取得し、衝突による物体の変形をシミュレートする衝突シミュレーションを実行する。シミュレーション部100は、衝突シミュレーションにおいて変形する物体形状の時系列データ等を各出力パラメータとして含む出力データを生成し、出力データを入力データと共に取得部102に供給する。シミュレーション部100は、出力データをデータベース20に記憶してもよい。
【0025】
衝突シミュレーションを実行することに代えて、シミュレーション部100は、データベース20から、出力データとして、入力データに基づき実試験において計測された物体形状の時系列データを取得して取得部102に供給してもよい。
【0026】
次に、S110において、取得部102は、シミュレーション部100又は解析装置10の外部のデータベース20から、複数の入力パラメータを含む入力データ、及び、1又は複数の出力パラメータを含む出力データの複数の組を含む学習データを取得する。取得部102は、取得した学習データを正規化部104に供給する。
【0027】
次に、S120において、正規化部104は、学習データに含まれる複数の入力データを正規化する。例えば、正規化部104は、複数の入力データに含まれる各入力パラメータを、平均が0で分散が1となるように正規化する。一例として、正規化部104は、M個の入力データX1〜Mに含まれるn番目の入力パラメータx、x…xの平均が0となり、かつ分散が1となるように正規化する。
【0028】
正規化部104は、この正規化処理により、複数の入力パラメータのスケールの違いによる影響を低減し、学習処理部106に複数の入力パラメータの変化の出力データに与える影響を適切に評価させることができる。正規化部104は、正規化した入力パラメータを含む入力データと、出力データとを含む学習データを学習処理部106に供給する。
【0029】
次に、S130において、学習処理部106は、対となる入力データ及び出力データの組を2つ選択することによりペアを生成する。例えば、学習処理部106は、学習データに含まれる対応する入力データ及び出力データの複数の組から、各々が互いに異なる組み合わせとなる2つ組を含む複数のペア(例えば、全ての組の組み合わせのペア)を生成する。一例として、学習データが対応するM個の入力データ及び出力データの組(入力データX及び出力データYの組1、入力データX及び出力データYの組2、…入力データX及び出力データYの組M)を含む場合、学習処理部106は、組1と組2のペア、組1と組3のペア、…組M−1と組Mのペアを含む1/2・M(M−1)個のペアを生成してよい。
【0030】
これに代えて、学習処理部106は、入力データ及び出力データの組から生成される全てのペアのうち一部のみを生成してよい。例えば、学習処理部106は、全ての組の組み合わせから得られるペアから、ペアに含まれる各組の数が予め定められた範囲内のばらつきになるように一部のペアを抽出してよい。
【0031】
次に、S140において、学習処理部106は、全てのペアについて、ペア内の対応する入力パラメータ間の差分、及び、ペア内の2つの出力データの相違量を算出する。例えば、学習処理部106は、入力パラメータ間の差分として、対応する2つの入力パラメータの差に応じて算出される値(入力パラメータの差の絶対値、累乗、累乗根、指数、又は、対数等)を算出してよい。一例として、学習処理部106は、入力データX及び出力データYの組及び入力データX及び出力データYの組を含むペアについて、入力データXの1番目の入力パラメータxと対応する入力データXの1番目の入力パラメータxとの差分(|x−x|)、入力データXの2番目の入力パラメータxと入力データXの2番目の入力パラメータxとの差分(|x−x|)、…及び、入力データXのD番目の入力パラメータxと入力データXのD番目の入力パラメータxとの差分(|x−x|)を算出し、出力データYと出力データYとの相違量を算出する。
【0032】
また、学習処理部106は、出力データYと出力データYとの相違量として、出力データY及び出力データYに含まれる複数の出力パラメータの値の大きさの違いを表す量を算出してよく、例えば、構造化データの相違量を算出する予め定められた関数fによりf(Y,Y)を計算して算出してよい。一例として、学習処理部106は、関数fとして入力される2つのデータ間のユークリッド距離、ダイナミックタイムワーピング距離、編集距離、及び/又は、ハミング距離等を算出する距離関数を用い、出力データの相違量として出力データ間の距離を算出してよい。
【0033】
次に、S150において、学習処理部106は、ペアごとの入力パラメータの差分及び出力データの相違量の関係を回帰分析するペアワイズ回帰を実行する。例えば、学習処理部106は、複数のペアについて、ペア内の2つの入力データにおける各入力パラメータの差分に応じたペア内の2つの出力データの相違量を学習する。一例として、学習処理部106は、全てのペアについて、ペア内の2つの入力データにおける入力パラメータの差分|x−x|に対するペア内の2つの出力データの距離f(Y,Y)を回帰分析により学習することで、入力パラメータの変化に対する出力データの変化を推測する推測モデルを生成する。
【0034】
具体的には、学習処理部106は、ペア内の2つの入力データX及びXにおける各入力パラメータの差分|x−x|を、各入力パラメータの差分に対応する変化度合θにより重みづけして得られる下記数1に示す入力データ間の距離g(X,X;θ)を、当該2つの入力データに対する2つの出力データ間の距離f(Y,Y)に近似させる学習処理を行う。
【数1】
【0035】
これに代えて、学習処理部106は、2つの入力パラメータの間の値の範囲毎の変化度合を用いて、入力パラメータの間の値の範囲毎に出力データの相違量を推測してよい。具体的には、学習処理部106は、ペア内の一方の入力データXの入力パラメータxから基準値ηを減じた項を引数とし0未満の入力に対し0を出力し0以上の入力に対し1を出力するステップ関数u(x−η)と、ペア内の他方の入力データXの入力パラメータxから基準値ηを減じた項を引数とし0未満の引数に対し0を返し0以上の引数に1を返すステップ関数u(x−η)との差分|u(x−η)−u(x−η)|を算出する。学習処理部106は、算出した差分|u(x−η)−u(x−η)|をi番目の入力パラメータのk番目(k∈K、Kは基準値ηの数)の範囲kに対応する変化度合θi,kにより重みづけして、下記数2に示す入力データ間の距離g(X,X;θ)を得る。学習処理部106は、算出した入力データ間の距離g(X,X;θ)を、当該2つの入力データに対する2つの出力データ間の距離f(Y,Y)に近似させる学習処理を行う。
【数2】
【0036】
また、これらに代えて、学習処理部106は、2つの入力パラメータの差分の値の範囲毎の変化度合を用いて、入力パラメータの差分の範囲毎に出力データの相違量を推測してよい。具体的には、学習処理部106は、ペア内の一方の入力データXの入力パラメータxとペア内の他方の入力データXの入力パラメータxとの差分|x−x|から基準値ηを減じた項を引数とし0未満の入力に対し0を出力し0以上の入力に対し1を出力するステップ関数u(|x−x|−η)を、i番目の入力パラメータのk番目(k∈K、Kは基準値ηの数)の範囲kに対応する変化度合θi,kにより重みづけして下記数3に示す入力データ間の距離g(X,X;θ)を得る。学習処理部106は、距離g(X,X;θ)を、当該2つの入力データに対する2つの出力データ間の距離f(Y,Y)に近似させる学習処理を行う。
【数3】
【0037】
学習処理部106は、数1〜3に示される入力データ間の距離g(X,X;θ)が出力データ間の距離f(Y,Y)を予測するように、変化度合θ又は変化度合θi,kを最適化する。学習処理部106は、最小二乗法、正則化付き最小二乗法、及び/又は制約付き最小二乗法等の既知の回帰分析手法により変化度合θの最適化を実行してよい。
【0038】
次に、S160において、推測部108は、推測モデルに基づく変化量の推測を実行し、表示部110は推測結果を表示する。例えば、推測部108は、数1又は数3を使用し、ユーザから入力パラメータの差分を入力し、変化度合θ又はθi,k(i∈D、k∈K)に学習処理部106が最適化した変化度合を入力することにより、入力パラメータの差分に対応するg(X,X;θ)を算出し、これを入力パラメータの差分に対応する出力データの変化量としてよい。
【0039】
また、例えば、推測部108は、数2を使用し、ユーザから入力データXに基準となる任意の入力データXを入力し、入力データXに予想対象とする入力データXを入力し、変化度合θi,k(i∈D、k∈K)に学習処理部106が最適化した変化度合を入力することによりg(X,X;θ)を算出する。推測部108は、この算出結果を入力データXに対応する出力データYの入力データXに対応する出力データYからの変化量と推測してもよい。
【0040】
推測部108は、推測した変化量に基づき出力データの変化率を推測してもよい。例えば、推測部108は、出力データの変化量に入力パラメータの差分で除した値を出力データの変化率としてよい。表示部110は、推測部108から推測した変化量及び/又は変化率を受け取り、これを表示してよい。
【0041】
また、表示部110は、学習処理部106による学習結果を表示する。例えば、表示部110は、i及びk(又はηの値)毎に最適化された変化度合θ又は変化度合θi,kを示す一覧、表、及び/又は、グラフを、学習処理部106が生成した推測モデルとして表示してよい。これにより、表示部110は、入力パラメータを変化させたときの出力データの変化の様子をユーザに表示する。
【0042】
次に、S170において、生成部112は、S150で得られた出力データの変化量の推測結果に基づいて、新しい入力データを生成する。例えば、生成部112は、推測部108が数1〜3に基づいて出力データの変化量を推測した結果、目標とする出力データの変化量が得られる場合、基準となる入力データの入力パラメータに、当該出力データの変化量に対応する入力パラメータの変化量を加算及び/又は減算した新しい入力データを生成する。生成部112は、生成した新しい入力データをデータベース20の学習データに含めて記憶してよい。
【0043】
このように、解析装置10によると、入力データ及び出力データの組から生成したペアを生成し、ペア内における入力パラメータ同士の差分と出力データ同士の相違量の関係を学習することにより、入力パラメータの変化量に基づいて出力データの変化量を推測する推測モデルを生成する。
【0044】
例えば、解析装置10は、数1に基づく推測モデルにより入力パラメータの変化に対する出力データに与える変化の割合を推測することができ、数2に基づく推測モデルにより入力パラメータが基準値から別の値に変化した場合の出力データに与える変化のパターン及び変化の大きさを推測することができ、数3に基づく推測モデルにより入力パラメータがある大きさ変化した場合の出力データに与える変化のパターン及び変化の大きさを推測することができる。
【0045】
これにより、解析装置10は、予測対象の入力データから得られる出力データが、基準となる出力データからどの程度変化するかを予測し、これをユーザに表示することができる。また、解析装置10は、基準となる入力データに対して、出力データを大きく変化させるための別の新しい入力データを得ることができる。これにより、解析装置10は、新しい入力データが推測した通りに変化する出力データを与えるかを再度のシミュレーションで検証することができる。
【0046】
図5は、学習処理部106が数1に基づいて最適化して得られる変化度合θの一例を示す。本例は、入力データX(m∈M、Mは入力データの個数となる整数)が18個の入力パラメータx1〜18を含む場合を示し、学習処理部106は、各入力パラメータx1〜18に対してθ1〜18を最適化する。変化度合θは、入力パラメータxが変化するときに予測される出力データYの変化の大きさを示す。表示部110は、S160において、図5に示すグラフを推測モデルとして表示してよい。
【0047】
図示するように、これらの入力パラメータの中で、入力パラメータx、入力パラメータx、及び入力パラメータx14は他と比べて比較的大きな値の変化度合θ、変化度合θ、及び変化度合θ14を有する。従って、推測モデルにおいて、これらの入力パラメータは出力データに対して与える影響が大きいことが推測され、出力データを大きく変化させたい場合にはこれらの入力パラメータを優先して変更すればよいことが示される。解析装置10は、この変化度合を基に、入力パラメータをどのくらい変化させれば目標の出力データに近づくかを予測でき、当該予測に基づいて修正された入力データによるシミュレーションを再度実行することができる。
【0048】
図6は、学習処理部106が数2に基づいて最適化する変化度合θi,kを示す。本例では、学習処理部106は、入力データXに含まれる入力パラメータx及び予め定められたK個の基準値ηに対してθi,kを最適化する。基準値ηは、入力パラメータxの値を適切に離散化するための定数であり、例えば、学習データ中の全部又は大部分の入力パラメータxの値が存在する範囲内において等間隔又は異なる間隔で設けられてよい。なお、学習処理部106は、D個の入力パラメータごとに基準値ηi,kを設けてもよい。
【0049】
推測部108は、基準となる入力データXの入力パラメータxの値を基準値ηk(R)及び基準値ηk(R)+1の間に含む基準値ηk(R)を特定し、推測対象となる入力データXの入力パラメータxの値を基準値ηk(T)及びηk(T)+1の間に含む基準値ηk(T)を特定する。推測部108は、k(R)及びk(T)のうちの値が小さい一方をksとし他方をklとした場合のθi,ks+1からθi,klまでの総和を、出力データY及び出力データYの距離と推測する。
【0050】
例えば、図示するように、入力パラメータxの値がη以上η未満であり、入力パラメータxの値がη以上η未満である場合、k(R)は1、k(T)は4となり、ksは1、klは4となる。従って、推測部108は、出力データYの出力データYに対する距離をθi,2からθi,4までの総和であるθi,2+θi,3+θi,4となると推測する。また、例えば、推測部108は、入力パラメータxの値がη以上η未満であり、入力パラメータxの値がη以上η未満である場合、出力データYの出力データYに対する距離を、θi,3と推測する。
【0051】
図7は、学習処理部106が数3に基づいて最適化する変化度合θi,kを示す。本例では、学習処理部106は、入力データXに含まれる入力パラメータx及び予め定められたK個の基準値ηに対してθi,kを最適化する。基準値ηは、2つの入力データにおける対応する入力パラメータの差分を適切に離散化するための定数であり、例えば、学習データ中の全部又は大部分の入力パラメータの差分の値が存在する範囲内において等間隔又は異なる間隔で設けられてよい。なお、学習処理部106は、D個の入力パラメータごとに基準値ηi,kを設けてもよい。
【0052】
推測部108は、基準となる入力データXの入力パラメータxと推測対象となる入力データXの入力パラメータxとの差分値を基準値η及びηk+1の間に含む基準値ηを特定し、θi,1からθi,kまでの総和を出力データY及び出力データYの変化度合と推測する。
【0053】
例えば、図示するように、推測部108は、入力パラメータxと入力パラメータxとの差分値がη以上η未満である場合、出力データYの出力データYに対する変化度合がθi,1+θi,2+θi,3となると推測する。また、例えば、推測部108は、入力パラメータxの値がη未満である場合、出力データYの出力データYに対する変化度合を、0と推測する。
【0054】
図8は、数2及び数3に基づいて最適化された変化度合θi,kの総和の一例を示す。図の横軸はkの値を示し、縦軸はkに対する変化度合θi,1からθi,kまでの総和を表す。本例では、変化度合θi,kの総和は、図示するようにkの値と共にほぼ一様に増加する。従って、変化度合θi,kが数2に基づいて最適化される場合、推測対象の出力データYは、対応する入力データXの入力パラメータが基準となる入力データXから変化(すなわちkの値が増加)することに応じて、基準となる出力データYから線形的に変化する。また、変化度合θi,kが数3に基づいて最適化される場合、出力データYは、入力データXの入力パラメータの変化(すなわち、kの値)に応じて線形的に変化する。
【0055】
図9は、数2及び数3に基づいて最適化された変化度合θi,kの総和の別の一例を示す。図9の横軸及び縦軸は図8と同じである。本例では、変化度合θi,kの総和は、図示するようにkの値と共に加速度的に増加する。従って、変化度合θi,kが数2に基づいて最適化される場合、推測対象の出力データYは、対応する入力データXの入力パラメータが基準となる入力データXから少し変化(すなわちkの値が増加)しただけではほとんど変化しないが、入力パラメータが大きく変化する場合に加速度的に大きく変化する。また、変化度合θi,kが数3に基づいて最適化される場合、出力データYは、入力データXの入力パラメータの変化(kの値)が小さい間はほとんど変化しないが、入力パラメータの変化が大きくなると加速度的に大きく変化する。
【0056】
図10は、数2及び数3に基づいて最適化された変化度合θi,kの総和の別の一例を示す。図10の横軸及び縦軸は図8と同じである。本例では、変化度合θi,kの総和は、図示するようにkの値と共に増加するが途中で飽和する。従って、変化度合θi,kが数2に基づいて最適化される場合、推測対象の出力データYは、対応する入力データXの入力パラメータが基準となる入力データXから小さく変化(すなわちkの値が増加)する間は線形的に変化するが、入力パラメータの変化が大きくなると出力データの変化は飽和する。また、変化度合θi,kが数3に基づいて最適化される場合、出力データYは、入力データXの入力パラメータの変化(kの値)が小さい間には線形的に変化するが、入力パラメータの変化が大きくなると飽和する。
【0057】
このように、本実施形態の解析装置10によると、学習データから生成した推測モデルにより、入力パラメータの変化に応じて出力データの変化するパターンを表すことができ、これにより出力データの変化をより詳細に予測することができる。
【0058】
なお、上記の説明では、解析装置10は、衝突シミュレーション等のシミュレーションを実行するシステムに対して実行される例を中心に説明したが、解析装置10が対象とするシステムはこれに限られず、他の多様な構造化出力問題に適用することができる。例えば、解析装置10は、グラフ構造を入出力するシステム、及び、テキストを入出力するシステムに対して適用することができ、この場合、学習処理部106は、関数fとして入力される2つのグラフ構造間の類似度、又は、2つのテキスト間の編集距離等を算出する関数を用いてよい。
【0059】
図11は、解析装置10として機能するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部を備える。
【0060】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0061】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0062】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0063】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0064】
コンピュータ1900にインストールされ、コンピュータ1900を解析装置10として機能させるプログラムは、取得モジュール、正規化モジュール、学習処理モジュール、推測モジュール、及び、表示モジュールを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、取得部102、正規化部104、学習処理部106、推測部108、及び、表示部110としてそれぞれ機能させてよい。
【0065】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である取得部102、正規化部104、学習処理部106、推測部108、及び、表示部110として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の解析装置10が構築される。
【0066】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0067】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。例えば、解析装置10の記憶部は、取得部102、正規化部104、学習処理部106、推測部108、及び/又は、表示部110から受け取った/へ提供するデータを適宜記憶してよい。例えば、記憶部は、取得部102又は正規化部104から入力データの正規化前/後の学習データを受け取って記憶してよい。また、記憶部は、学習処理部106が最適化した変化度合θ及びθi,k等を記憶してよい。
【0068】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0069】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0070】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0071】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0072】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0073】
10 解析装置、20 データベース、100 シミュレーション部、102 取得部、104 正規化部、106 学習処理部、108 推測部、110 表示部、112 生成部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD−ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD−ROM
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11