JP7359287B2 - 情報処理装置、制御方法及びプログラム - Google Patents

情報処理装置、制御方法及びプログラム Download PDF

Info

Publication number
JP7359287B2
JP7359287B2 JP2022505703A JP2022505703A JP7359287B2 JP 7359287 B2 JP7359287 B2 JP 7359287B2 JP 2022505703 A JP2022505703 A JP 2022505703A JP 2022505703 A JP2022505703 A JP 2022505703A JP 7359287 B2 JP7359287 B2 JP 7359287B2
Authority
JP
Japan
Prior art keywords
machine learning
simulation
neural network
information processing
simulation parameters
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
JP2022505703A
Other languages
English (en)
Other versions
JPWO2021181676A1 (ja
JPWO2021181676A5 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2021181676A1 publication Critical patent/JPWO2021181676A1/ja
Publication of JPWO2021181676A5 publication Critical patent/JPWO2021181676A5/ja
Application granted granted Critical
Publication of JP7359287B2 publication Critical patent/JP7359287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、シミュレーションに関する処理を行う情報処理装置、制御方法及び記憶媒体の技術分野に関する。
シミュレーションの最適パラメータを求めるための学習を行う技術が存在する。また、特許文献1には、ボルツマンマシンの各カプラ及び各ノードの夫々の重み値及びバイアスを表すデータを得るためのシミュレーションによる量子アニーリングを実行するサンプリング装置が開示されている。
特表2019-515397号公報
機械学習技術を使って、観測データ、観測結果、シミュレーションパラメータの関係をモデル化し、ある観測データにマッチングするシミュレーションパラメータを求める場合、複雑なモデルでは、機械学習に十分な観測データ数を得ることが困難であった。
本発明の目的は、上述した課題を鑑み、シミュレーションパラメータを求めるための機械学習を好適に実行することが可能な情報処理装置、制御方法及び記憶媒体を提供することを主な課題とする。
情報処理装置の一の態様は、情報処理装置であって、観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う機械学習手段と、前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行うサンプリング計算手段と、サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行するシミュレーション計算手段と、を有し、前記機械学習手段は、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する。
制御方法の一の態様は、コンピュータにより、観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行い、前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行い、サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行し、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、制御方法である。
プログラムの一の態様は、観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う機械学習手段と、前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行うサンプリング計算手段と、サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行するシミュレーション計算手段としてコンピュータを機能させ、前記機械学習手段は、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、プログラムある。
本発明によれば、シミュレーションパラメータを求めるための機械学習を好適に実行することができる。
第1実施形態に係る機械学習システムの構成を示す。 情報処理装置のハードウェア構成を示す。 制限ボルツマンマシンを表すイジング式を示す。 シミュレーションパラメータに関する機械学習の概要図である。 可視変数と隠れ変数との関係性をニューラルネットワークとして表現する制限ボルツマンマシンの機械学習の概要を示す。 情報処理装置及び記憶装置の機能ブロック図である。 第1実施形態において情報処理装置が実行する処理手順を示すフローチャートの一例である。 比較例における情報処理装置の構成を示す。 多層ニューラルネットワークを用いる第2実施形態における情報処理装置及び記憶装置のブロック構成図の一例を示す。 第2実施形態において情報処理装置が実行する処理手順を示すフローチャートの一例である。 第3実施形態における情報処理装置のブロック図である。 第3実施形態における情報処理装置の処理手順を示すフローチャートの一例である。
以下、図面を参照しながら、情報処理装置、制御方法及び記憶媒体の実施形態について説明する。
<第1実施形態>
(1-1)システム構成
図1は、第1実施形態に係る機械学習システム100の構成を示す。機械学習システム100は、シミュレーションの最適パラメータを求めるためのシステムであって、主に、情報処理装置1と、入力装置2と、表示装置3と、記憶装置4とを備える。
情報処理装置1は、観測データと観測結果の因果関係をモデル化してシミュレーションする場合に必要なパラメータ(「シミュレーションパラメータ」とも呼ぶ。)の最適解を算出する。ここでのシミュレーションとは、観測データに基づき予測すべき観測結果と一致するもしくは近い結果を得ることができる数式又はプログラムである。本実施形態では、情報処理装置1は、機械学習の1つである制限ボルツマンマシンの方式を用い、かつ、量子アニーリングのサンプリングを用いる。これにより、情報処理装置1は、少ないトレーニングデータ数でも最適なシミュレーションパラメータを求める。情報処理装置1は、通信網を介し、又は、無線若しくは有線による直接通信により、入力装置2と、表示装置3と、記憶装置4とデータ通信を行う。
入力装置2は、ユーザの入力を受け付けるインターフェースであり、例えば、タッチパネル、ボタン、音声入力装置などが該当する。入力装置2は、ユーザの入力に基づき生成した入力情報を情報処理装置1へ供給する。表示装置3は、例えば、ディスプレイ、プロジェクタ等であり、情報処理装置1から供給される表示情報に基づき、所定の表示を行う。
記憶装置4は、情報処理装置1が実行する処理に必要な各種情報を記憶するメモリである。記憶装置4は、情報処理装置1に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶装置4は、情報処理装置1とデータ通信を行うサーバ装置であってもよい。この場合、記憶装置4は、複数のサーバ装置から構成されてもよい。
なお、図1に示す機械学習システム100の構成は一例であり、当該構成に種々の変更が行われてもよい。例えば、情報処理装置1は、複数の装置から構成されてもよい。この場合、情報処理装置1を構成する複数の装置は、予め割り当てられた処理を実行し、かつ、これらの処理を実行するために必要な情報の授受を、これらの複数の装置間において行う。このように、情報処理装置1が行う一連の処理は、複数の装置により(即ちクラウドにより)実行されてもよい。
(1-2)情報処理装置のハードウェア構成
図2は、情報処理装置1のハードウェア構成を示す。情報処理装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス19を介して接続されている。
プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、所定の処理を実行する。プロセッサ11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、量子プロセッサなどのプロセッサである。
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)などの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ12には、情報処理装置1が実行する処理を実行するためのプログラムが記憶される。また、メモリ12は、作業メモリとして使用され、記憶装置4から取得した情報等を一時的に記憶する。なお、メモリ12は、記憶装置4として機能してもよい。同様に、記憶装置4は、情報処理装置1のメモリ12として機能してもよい。なお、情報処理装置1が実行するプログラムは、メモリ12以外の記憶媒体に記憶されてもよい。
インターフェース13は、情報処理装置1と他の装置とを電気的に接続するためのインターフェースである。例えば、インターフェース13は、情報処理装置1と入力装置2とを接続するためのインターフェース、情報処理装置1と表示装置3とを接続するためのインターフェース、情報処理装置1と記憶装置4とを接続するためのインターフェースを含む。情報処理装置1と他の装置とを接続するためのインターフェースは、プロセッサ11の制御に基づき記憶装置4とデータの送受信を有線又は無線により行うためのネットワークアダプタなどの通信インターフェースである。他の例では、情報処理装置1と他の装置とはケーブル等により接続されてもよい。この場合、インターフェース13は、記憶装置4とデータの授受を行うためのUSB(Universal Serial Bus)、SATA(Serial AT Attachment)などに準拠したインターフェースを含む。
なお、情報処理装置1のハードウェア構成は、図2に示す構成に限定されない。例えば、情報処理装置1は、入力装置2又は表示装置3の少なくとも一方を含んでもよい。また、情報処理装置1は、スピーカなどの音出力装置と接続又は内蔵してもよい。
(1-3)概要説明
情報処理装置1は、可視変数と隠れ変数との関係性をニューラルネットワークとして表現する制限ボルツマンマシンを用いる。まず、制限ボルツマンマシンについて補足説明する。
図3は、制限ボルツマンマシンを表すイジング式を示す。図3に示すように、制限ボルツマンマシンは、ネットワークのノードの重みとエッジの重みで定義され、イジングモデルに分類されることから、量子アニーリングに適用可能なモデルである。即ち、学習により暫定的に求めた制限ボルツマンマシンに量子アニーリングを適用すると、その暫定状態でエネルギー的に安定したノード及びエッジの重みの値をサンプリングできる。そのサンプリングされたデータを使って学習を繰り返すことで、エネルギー的に安定した、最尤度の重みのデータセット(即ち学習モデル)を求めることが可能である。
次に、制限ボルツマンマシンを用いた最適なシミュレーションパラメータの導出について説明する。第1実施形態では、観測データ及びシミュレーションパラメータを可視変数とし、因果関係のあるシミュレーション可能な事象に影響を与える特徴量を隠れ変数とする。
まず、情報処理装置1は、実測した観測データ及び観測結果の組み合わせと、暫定的に用意されたシミュレーションパラメータとを用いて機械学習を行う。ここで、観測結果は、観測データからシミュレーションにより予測すべき正解の事象等を示す。そして、情報処理装置1は、暫定のシミュレーションパラメータによるシミュレーション結果と観測結果とが許容誤差範囲内であれば正例、そうでなければ負例とする2値分類の機械学習を行う。図4は、上記の機械学習の概要図である。図4において、「パラメータ」は、「シミュレーションパラメータ」を示す。図4に示すように、情報処理装置1は、観測データとシミュレーションパラメータとを用いたシミュレーションによりシミュレーション結果を生成する。そして、情報処理装置1は、生成したシミュレーション結果を対応する観測結果と比較し、これらが実質的に一致していれば正例、そうでなければ負例とする2値分類の機械学習を行う。
図5は、可視変数と隠れ変数との関係性をニューラルネットワークとして表現する制限ボルツマンマシンの機械学習の概要を示す。図5に示すように、制限ボルツマンマシンとは、観測可能なデータを可視層とし、そのデータの特徴を隠れ層とする2層のネットワーク構造で表現されたニューラルネットワークである。ボルツマンマシンは、構成するノードの重みとノード間のエッジの重みの総和をネットワークの持つエネルギーと定義し、そのエネルギーが最小となるノードとエッジの組合せが、最も高い頻度で発生する組合せであり、その組み合わせを求めることがモデル化である。そして、情報処理装置1は、機械学習の実行により、図5に示すニューラルネットワークの各ノードの重み及びエッジの重みを取得する。
次に、情報処理装置1は、上記ニューラルネットワークのシミュレーションパラメータを変数とし、ボルツマンマシンとしてアニーリングを適用することで、可視変数のサンプリングを行う。これにより、情報処理装置1は、隠れ層データに対応する尤もらしいシミュレーションパラメータのデータセットを得ることができる。
次に、情報処理装置1は、サンプリングで得られたシミュレーションパラメータのデータセットを使って、シミュレーションを行い、そのシミュレーション結果と観測結果との差異の有無に基づき、正例か負例かのラベルを付け、必要に応じてさらに機械学習を行う。情報処理装置1は、上記のサンプリング、機械学習を繰り返すことで、精度の良いニューラルネットワークを求めることができる。その後、情報処理装置1は、予測する対象となる観測データを可視層に設定し、かつ、隠れ層は十分に機械学習された機械学習モデルを設定したニューラルネットワークをボルツマンマシンとみなし、シミュレーションパラメータのサンプリングを行う。これにより、情報処理装置1は、最適なシミュレーションパラメータのデータセットを好適に取得することができる。
(1-4)機能ブロック
図6は、情報処理装置1及び記憶装置4の機能ブロックの一例である。情報処理装置1のプロセッサ11は、機能的には、ニューラルネットワーク部23と、機械学習部24と、サンプリング計算部25と、シミュレーション計算部26と、最適解抽出部27と、を有する。また、記憶装置4は、機能的には、可視変数保持部41と、隠れ変数保持部42とを含んでいる。なお、図6では、データ又はタイミング信号の授受が行われるブロック同士を実線により結んでいるが、データ又はタイミング信号の授受が行われるブロックの組合せは図6に限定されない。後述する他の機能ブロックの図においても同様である。
可視変数保持部41は、可視層の各可視変数と隠れ層の各隠れ変数との関係性をニューラルネットワークとして表現する制限付きボルツマンマシンにおける可視変数に関する情報を記憶する。具体的には、可視変数保持部41は、観測された観測データと、当該観測データから予測すべき正解を示す観測結果と、当該観測データに対応する暫定のシミュレーションパラメータとを保持する。ここで、観測データ及び観測結果は実測されたデータであり、観測データは、対応する観測結果と因果関係のあるデータである。例えば、気象予測であれば、観測データは、ある時点の対象地域での気象データ及び対象地域の地形を示すデータであり、観測結果は、一定時間後に対象地域で観測された気象データである。上記の因果関係は、シミュレーションできるものであり、シミュレーションする際の不確定要素を表す1又は複数の変数がシミュレーションパラメータとして表現される。従って、可視変数保持部41には、上記変数の個数分のシミュレーションパラメータが可視変数として記憶されている。可視変数保持部41は、観測データと、観測結果と、1又は複数のシミュレーションパラメータとの組合せを、後述する機械学習に用いるための学習データセットとして記憶する。また、可視変数保持部41は、上記学習データセットとは別に、機械学習システム100により予測を行う対象となる観測データをさらに記憶してもよい。
隠れ変数保持部42は、可視層の各可視変数と隠れ層の各隠れ変数との関係性をニューラルネットワークとして表現する制限付きボルツマンマシンにおける隠れ変数に関する情報を記憶する。隠れ変数保持部42が記憶する隠れ変数は、直接実測ができない状態変数であり、可視変数の組合せ計算で求められる状態の特徴を示す変数である。隠れ変数の数は、観測対象の事象に依存し、例えばヒューリスティックに定まる。
ニューラルネットワーク部23は、可視変数保持部41及び隠れ変数保持部42が夫々記憶する情報に基づき、ニューラルネットワークを構成する。このニューラルネットワークは、各可視変数と、各隠れ変数とに対する重みと、これらの間の関係の重みとをパラメータとして含んでいる。なお、ニューラルネットワークのパラメータ(初期値及学習後の値を含む)に関する情報は、隠れ変数保持部42に記憶される。
機械学習部24は、可視変数保持部41に記憶されたデータ又は後述するサンプリング計算部25がサンプリングしたデータに基づき、ニューラルネットワーク部23が構成するニューラルネットワークの機械学習を実行する。この場合、機械学習部24は、可視変数保持部41に学習データセットとして記憶された観測データ、観測結果、及びシミュレーションパラメータの組を学習データセットとして、ニューラルネットワーク部23が構成するニューラルネットワークの学習を行う。この場合、機械学習部24は、観測データとシミュレーションパラメータから算出したシミュレーション結果と、対応する観測結果との誤差評価に基づき、ニューラルネットワークのパラメータの学習を行う。そして、機械学習部24は、観測結果とシミュレーション結果との誤差が予め設定した許容誤差範囲内であれば正例とし、上記誤差が許容誤差範囲外であれば負例として2値分類の機械学習を行う。なお、上記のシミュレーション結果は、シミュレーション計算部36が算出してもよく、可視変数保持部41等に予め記憶されてもよい。機械学習部24は、学習した隠れ層のノードの重み及びエッジの重みのパラメータ等を、隠れ変数保持部42に記憶する。
また、後述するサンプリング計算部25によるサンプリングが行われた場合、機械学習部24は、サンプリングされたシミュレーションパラメータをさらに用いて、ニューラルネットワークの学習を行う。この場合、機械学習部24は、サンプリングされたシミュレーションパラメータに基づきシミュレーション計算部36が生成するシミュレーション結果と、サンプリングの元となるシミュレーションパラメータに対応する観測結果との誤差評価を行う。そして、機械学習部24は、誤差評価に基づき、サンプリングされたシミュレーションパラメータが正例か負例であるかのラベルを生成する。そして、機械学習部24は、生成したラベルと、サンプリングされたシミュレーションパラメータと、サンプリングの元となるシミュレーションパラメータに対応する観測データ及び観測結果とを用いて、上述の2値分類の機械学習を行う。
サンプリング計算部25は、機械学習部24による機械学習の過程において、ニューラルネットワーク部23が構成するニューラルネットワークをボルツマンマシンとみなし、エネルギー的に安定した可視層及び隠れ層の各変数をサンプリングする。なお、一般に、機械学習では、通常、多数のデータセットを用意し、機械学習が収束するまで繰り返し学習を行う。これに対し、本実施形態では、学習の収束の状態に関わらず、サンプリング計算部25によるサンプリングの計算を行う。この場合、サンプリング計算部25は、シミュレーションパラメータを未知の変数とし、ニューラルネットワークのパラメータ(重みのパラメータ等の構成要素)を実行済みの機械学習により得られた数値を適用する。そして、サンプリング計算部25は、ニューラルネットワーク部23が構成するニューラルネットワークをボルツマンマシンとみなし、量子アニーリングや疑似アニーリングを行うことで、機械学習に用いるシミュレーションパラメータを複数回取得する。これは、ニューラルネットワークのエネルギー的に安定した、最尤度となるサンプリング行うことに等しい。その後、機械学習部24は、サンプリングしたデータセットを含めて、機械学習を行う。なお、サンプリングで得られたシミュレーションパラメータは、元のシミュレーションパラメータに対応する観測データ、観測結果に変更はないので、サンプリングで得られたシミュレーションパラメータでのシミュレーション結果と一致するかどうかの誤差評価は可能である。サンプリング計算部25は、サンプリングで得られたシミュレーションパラメータを可視変数保持部41に記憶する。
シミュレーション計算部26は、可視変数保持部41から取得した観測データに対し、シミュレーションパラメータを用いたシミュレーションを実行することで、観測データから導かれるシミュレーション結果を生成する。
また、機械学習部24は、サンプリング計算部25がサンプリングしたシミュレーションパラメータを用いた場合のシミュレーション計算部26のシミュレーション結果と、対応する観測結果との比較結果が許容誤差範囲内であるか否かの誤差評価を行う。そして、機械学習部24は、誤差評価において誤差が許容誤差範囲外と評価した場合には、さらなる機械学習を行う。この場合、機械学習部24による機械学習、サンプリング計算部25によるシミュレーションパラメータのサンプリング、シミュレーション計算部26によるシミュレーションが再び繰り返される。一方、機械学習部24は、誤差評価において誤差が許容誤差範囲内と評価した場合には、機械学習部24による機械学習は十分になされたとみなし、機械学習が完了した旨を最適解抽出部27に通知する。
最適解抽出部27は、機械学習部24から機械学習完了の通知があった場合、機械学習部24による機械学習により得られたパラメータ等を用いて、最適なシミュレーションパラメータを抽出する。具体的には、最適解抽出部27は、予測する対象となる観測データを可視層に設定し、かつ、隠れ層には十分に機械学習された機械学習モデルを設定したニューラルネットワークをニューラルネットワーク部23に構成させる。そして、最適解抽出部27は、ニューラルネットワーク部23が構成したニューラルネットワークをボルツマンマシンとみなし、量子アニーリングや疑似アニーリングを行うことで、サンプリングを行う。これにより、最適解抽出部27は、最尤度のシミュレーションパラメータのデータセットを好適に抽出する。
なお、図6において説明したニューラルネットワーク部23、機械学習部24、サンプリング計算部25、シミュレーション計算部26及び最適解抽出部27の各構成要素は、例えば、プロセッサ11がプログラムを実行することによって実現できる。より具体的には、各構成要素は、メモリ12又は記憶装置4に格納されたプログラムを、プロセッサ11が実行することによって実現され得る。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素は、例えばFPGA(field-programmable gate array)又はマイコン等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。このように、各構成要素は、プロセッサ以外のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。
(1-5)処理フロー
図7は、第1実施形態において情報処理装置1が実行する処理手順を示すフローチャートの一例である。情報処理装置1は、例えば、入力装置2などから供給される外部入力等に基づき、所定の実行指示を検知した場合に、図7のフローチャートを実行する。
まず、ニューラルネットワーク部23は、観測データと観測結果とシミュレーションパラメータとの相関関係をモデル表現するニューラルネットワークの構成の設定を行う(ステップS001)。ニューラルネットワークでは、可視変数および隠れた特徴を示す隠れ変数の数だけノードがあり、ノードの重み、ノード間のエッジの重みが不確定変数(即ち学習により決定すべきパラメータ)となる。ニューラルネットワークの構成に関するパラメータは、例えば隠れ変数保持部42に記憶されている。
次に、ニューラルネットワーク部23は、観測データと、観測結果とを可視変数保持部41から読み込む(ステップS002)。さらに、ニューラルネットワーク部23は、読み込んだ観測データに対応する暫定のシミュレーションパラメータを可視変数保持部41から読み込む(ステップS003)。次に、シミュレーション計算部26は、観測データとシミュレーションパラメータを使ってシミュレーションを実行することでシミューション結果を生成し、ニューラルネットワーク部23はこのシミュレーション結果をさらに読み込む(ステップS004)。この場合、シミュレーション計算部26は、可視変数保持部41が学習データとして記憶する1組の観測データ及び観測結果に対し、複数のシミュレーションパラメータを使って、複数のシミュレーション結果を生成する。複数の観測データ及び観測結果の組が学習データとして可視変数保持部41に記憶されている場合、シミュレーション計算部26は、各観測データ及び観測結果の組に対して順次同様の処理を実行する。
次に、機械学習部24は、機械学習を実行する(ステップS005)。この場合、機械学習部24は、ニューラルネットワーク部23が構成するニューラルネットワークに対し、観測データとシミュレーションパラメータを入力する。そして、機械学習部24は、観測結果とシミュレーション結果が一致又は予め設定した許容誤差範囲内であれば、正例とし、観測結果とシミュレーション結果が許容誤差範囲外であれば負例として学習する。そして、機械学習部24は、観測データとシミュレーションパラメータの入力を変更させた複数の組合せについてこの学習を実行する。機械学習部24は、この学習を、予め設定した学習回数に達するまで、又は、セルフバリデーションの誤差が予め設定した閾値より小さくなるまで繰り返す。
次に、サンプリング計算部25は、ボルツマンマシンの設定を行う(ステップS006)。この場合、サンプリング計算部25は、ニューラルネットワークのノード及びエッジの重みの値をステップS005での学習により得られた暫定値に設定し、シミュレーションパラメータについては未確定の状態(即ち変数)とする。そして、サンプリング計算部25は、ニューラルネットワークをボルツマンマシンとみなし、アニーリング技術を適用することで、シミュレーションパラメータのサンプリングを行う(ステップS007)。これにより、サンプリング計算部25は、ボルツマンマシンのエネルギーが最も低い状態が、最も尤もらしい状態で、未確定としたシミュレーションパラメータの数値を求める。サンプリング計算部25は、このシミュレーションパラメータの数値を求める処理を予め決めた回数を実行し、当該回数に応じた個数のシミュレーションパラメータのサンプリングを行う。
シミュレーション計算部26は、サンプリング計算部25がサンプリングしたシミュレーションパラメータを使ってシミュレーションを実行することで、シミュレーション結果を生成する(ステップS008)。そして、機械学習部24は、生成したシミュレーション結果と、可視変数保持部41が保持する対応の観測結果との比較(即ち誤差評価)を行う(ステップS009)。そして、機械学習部24は、シミュレーション結果と観測結果との差異が、あらかじめ設定した許容誤差範囲外である場合(ステップS010;No)、機械学習は未完了(不十分)であると判定する。この場合、機械学習部24は、ステップS005において、より多くの学習データを用いた機械学習を行う。この時、処理時間の短縮のため、機械学習部24は、先の機械学習で作成した学習モデルをベースに追加学習を行ってもよい。この場合、好適には、機械学習部24は、ステップS007でサンプリングされたシミュレーションパラメータを用いた学習と、当該サンプリングされたシミュレーションパラメータを用いない学習とで、適切な重みとなるように、学習回数、学習率といったパラメータを、入力装置2によるユーザ入力に基づき設定するとよい。
ステップS010において、シミュレーション結果と観測結果との差異が許容誤差範囲内である場合(ステップS010;Yes)、情報処理装置1は、十分な精度で機械学習が行われ、機械学習が完了したとみなし、次の処理に進む。次に、最適解抽出部27は、予測対象となる観測データを取得し、シミュレーションパラメータを未確定(変数)とし、隠れ層のノード及びエッジの重みは機械学習で得られた数値をボルツマンマシンに設定する(ステップS011)。最適解抽出部27は、予測対象となる観測データを、可視変数保持部41から取得してもよく、インターフェース13を介して外部装置から取得してもよい。
そして、最適解抽出部27は、予め決めた回数だけ、又は、予め定めた統計値(例えば、得られたサンプリングの確率分布)が得られるまで、アニーリングを実行し、シミュレーションパラメータの最適解を導出する(ステップS012)。そして、最適解抽出部27は、最適解となったシミュレーションパラメータを可視変数保持部41から取り出す(ステップS013)。この場合、最適解抽出部27は、例えば、取り出したシミュレーションパラメータを、表示装置3に表示させる。
以上の処理によれば、情報処理装置1は、その適切なシミュレーションパラメータを短時間で求めることができる。具体的には、情報処理装置1は、機械学習部24による機械学習、サンプリング計算部25によるサンプリング、シミュレーション計算部26によるシミュレーションを繰り返すことで、少ない(あるいは偏った)観測データしか用意がない場合であっても、精度の高い機械学習を行うことができる。また、精度の高い機械学習の実行により、機械学習のトレーニング回数が減り、従来よりも短時間で機械学習が完了することも期待できる。
(1-6)効果
第1実施形態の効果について補足説明する。
一般に、気象、風洞、流体、材料、創薬などにおけるシミュレーションパラメータの組合せは無限にあり、好適なシミュレーションパラメータを求めることは困難であった。また、シミュレーションモデルを熟知している必要があり、専門知識が必要であった。例えば、気象のシミュレーションでは、いくつかの誤差を含めたパラメータセットを事前に設定しておき、そのいくつかのパラメータセットで行ったシミュレーション結果を得て、それらの結果を有識者が比較、組み合せて検討するアンサンブル予報が行われる。上記手法では、予測は求めた範囲内となるが、最尤推定では十分な精度となっていない。その理由は、状況に応じて、最適なシミュレーションパラメータを選択できていないためである。
ある状況における最適なシミュレーションパラメータは、その状況と類似している過去の状況で、シミュレーションと観測結果が一致するようなシミュレーションパラメータを見つければよいのだが、類似している過去の状況のサンプル数が十分あるとは限らない。十分なサンプル数があれば、機械学習を使うことで、その状況に合致するシミュレーションパラメータを推定することが可能だが、サンプル数が少なければ、機械学習モデルが不正確となり、求めるシミュレーションパラメータも不正確となる。
以上を勘案し、第1実施形態では、情報処理装置1は、機械学習部24による機械学習、サンプリング計算部25によるサンプリング、シミュレーション計算部26によるシミュレーションを繰り返し、学習データを適宜増やしながら機械学習を行う。これにより、少ない(あるいは偏った)観測データしか用意がない場合であっても、精度の高い機械学習を行うことができる。
また、第1実施形態に係る情報処理装置1は、サンプリングによるシミュレーションパラメータの選定後にシミュレーションを実行し、シミュレーション結果の誤差評価を元に再学習を行うため、最適なシミュレーションパラメータを得ることが可能である。この効果について、比較例を参照して説明する。
図8は、比較例における情報処理装置1Xの構成を示す。情報処理装置1Xは、情報処理装置1が有するシミュレーション計算部26を有していない。
この場合、ニューラルネットワーク部23Xは、可視変数保持部41及び隠れ変数保持部42が保持する変数から、ニューラルネットワークを構成する。そして、機械学習部24Xは、観測データ及びシミュレーションパラメータを複数用意し、そのデータセットに対する観測データの結果とシミュレーション結果との差異、つまり一致すれば正例、一致しなければ負例と学習するように、機械学習を実行する。そして、サンプリング計算部25Xは、この機械学習の収束の状態に関わらず、サンプリング計算を行う。即ち、サンプリング計算部25Xは、ニューラルネットワークの構成要素は暫定の数値の状態で、いくつかの要素をマスクする。そして、サンプリング計算部25Xは、ニューラルネットワークをボルツマンマシンとみなし、ここで量子アニーリングや疑似アニーリングを行うことで、マスクしなかったニューラルネットワークの要素に対して、マスクした部分のエネルギー的に安定した、最尤度となるサンプリングデータセットを得る。そして、機械学習部24Xは、サンプリングしたデータセットを含めて、機械学習を行う。そして、最適解抽出部27Xは、予測する対象となる観測データを可視層に設定し、かつ、隠れ層は十分に機械学習された機械学習モデルを設定したニューラルネットワークをニューラルネットワーク部23Xに構成させる。そして、最適解抽出部27Xは、ニューラルネットワーク部23Xが構成したニューラルネットワークをボルツマンマシンとみなし、量子アニーリングや疑似アニーリングを行うことで、サンプリングを行う。これにより、最適解抽出部27Xは、最尤度のシミュレーションパラメータのデータセットを抽出する。
しかしながら、比較例では、観測データが増えるわけではないので、精度のよいシミュレーションパラメータを得ることは困難であった。これに対し、第1実施形態に係る情報処理装置1は、サンプリングによるシミュレーションパラメータの選定後にシミュレーションを実行し、シミュレーション結果の誤差評価を元に機械学習を再実行する。これにより、情報処理装置1は、適切なシミュレーションパラメータを好適に得ることができる。
(1-7)変形例
第1実施形態に好適な変形例について説明する。これらの変形例は、後述の第2実施形態に適用してもよい。
(変形例1)
サンプリング計算部25によるサンプリング処理において、サンプリング計算部25は、可視変数となる観測データを含めて変数としてよい。この場合、機械学習部24は、サンプリングにより得られた多様な観測データを含めて学習を行うことが可能となる。なお、この場合、サンプリングにより得られた観測データに対する観測結果は未知であるため、情報処理装置1は、シミュレーション結果が正例か負例かのラベルを付けに関する有識者等によるユーザ入力を、入力装置2により受け付ける。
(変形例2)
長期間にわたる時系列データなどを対象にすると、ネットワークの入力ノード数が膨大となる場合がある。その場合、いくつかのサブセットに分割したネットワークごとに学習を行う手法が存在する。よって、情報処理装置1は、分割したネットワーク単位で、第1実施形態において説明したサンプリング、機械学習、シミュレーションを行ってもよい。
<第2実施形態>
第2実施形態では、より複雑な事象を対象に予測やシミュレーションを行うため、3層以上の多層ニューラルネットワーク(ディープラーニング)を用いる。多層ニューラルネットワークを用いる場合の第1の例では、ニューラルネットワークの層のうちの1つの層を対象にサンプリング、機械学習、シミュレーションを繰り返す。多層ニューラルネットワークを用いる場合の第2の例では、1つの層を対象にサンプリング、機械学習、シミュレーションを行った後に、別の層を対象にサンプリング、機械学習、シミュレーションを行い、順番にすべての層を対象にサンプリング、機械学習、シミュレーションを行う。
(2-1)機能ブロック
図9は、多層ニューラルネットワークを用いる第2実施形態における情報処理装置1A及び記憶装置4Aのブロック構成図の一例を示す。情報処理装置1Aは、入力装置2、表示装置3及び記憶装置4Aとデータ通信可能であって、図2に示す情報処理装置1と同一のハードウェア構成を有する。そして、情報処理装置1Aのプロセッサ11は、第1ニューラルネットワーク部31と、第1機械学習部32と、第2ニューラルネットワーク部33と、第2機械学習部34と、サンプリング計算部35と、シミュレーション計算部36と、最適解抽出部37と、を有する。また、記憶装置4Aは、観測データ保持部43と、中間変数保持部44と、シミュレーションデータ保持部45とを有する。
観測データ保持部43は、学習データとなる観測データと観測結果との組を記憶する。観測データは観測結果と因果関係のあるデータであり、ある事象の要因と結果に対応し、観測データの変数の数だけ、観測データ保持部43に保持される。
中間変数保持部44は、後述のニューラルネットワークの中間層の変数に関する情報を記憶する。中間変数保持部44に保持されるデータは、直接観測できない状態変数であるが、観測結果に影響を有する変数で、観測データの組合せ計算で求められる状態の特徴を示す変数である。中間層変数の数は、観測対象の事象に依存するが、ヒューリスティックに定まる。
シミュレーションデータ保持部45は、シミュレーション計算部36により用いられるシミュレーションパラメータ及びそのシミュレーション結果を含むデータを保持する。
第1ニューラルネットワーク部31は、観測データ保持部43及び中間変数保持部44が保持する各データの重み、及び、データ間の関係の重みに関するパラメータを含むニューラルネットワーク(「第1ニューラルネットワーク」とも呼ぶ。)を構成する。第1ニューラルネットワークは、観測データ保持部43が保持する観測データと観測結果との関係性を表すニューラルネットワークである。第1ニューラルネットワークは、3層以上有するディープラーニング型のニューラルネットワークであってもよい。第1ニューラルネットワークのパラメータは、メモリ12又は記憶装置4Aに記憶される。
第1機械学習部32は、観測データ保持部43が保持するデータを用いて第1ニューラルネットワークの機械学習を実行する。この場合、第1機械学習部32は、観測データ保持部43が保持するデータセットに基づき、機械学習が収束するまで繰り返し学習を行う。ここで、観測データ保持部43が保持するデータセットを用いた機械学習が収束しない場合、後述するサンプリング計算部35による観測データのサンプリングが行われる。この場合、第1機械学習部32は、サンプリングしたデータセットを含めて、機械学習を行う。
第2ニューラルネットワーク部33は、観測データ保持部43及び中間変数保持部44の各データの重み及びデータ間の関係の重みに関するパラメータを含むニューラルネットワーク(「第2ニューラルネットワーク」とも呼ぶ。)を構成する。第2ニューラルネットワークは、シミュレーションデータ保持部45が記憶するシミュレーションパラメータを含むシミュレーションデータと中間変数保持部44が保持する中間層変数との間の関係性を表すニューラルネットワークである。第2ニューラルネットワークのパラメータは、メモリ12又は記憶装置4Aに記憶される。
第2機械学習部34は、シミュレーションデータ保持部45が記憶するシミュレーションデータを用いて第2ニューラルネットワーク部33の機械学習を実行する。この場合、第2機械学習部34は、シミュレーション計算部36がシミュレーションパラメータを用いて算出したシミュレーション結果と、中間層変数との関係性を示す第2ニューラルネットワークの機械学習を実行する。
また、第2機械学習部34は、第1実施形態の機械学習部24と同様、サンプリング計算部35によりサンプリングされたシミュレーションパラメータに対する誤差評価を行う。そして、第2機械学習部34は、誤差評価に基づき、正例か負例かに関するラベル生成、及び、当該ラベル及びサンプリングされたシミュレーションパラメータを用いた第2ニューラルネットワーク部33の機械学習を行う。また、第2機械学習部34は、サンプリングされたシミュレーションパラメータの誤差評価に基づき、第2ニューラルネットワーク部33の機械学習の完了判定を行う。
サンプリング計算部35は、第1ニューラルネットワーク及び第2ニューラルネットワークを夫々ボルツマンマシンとみなして指定の変数のサンプリングを行う。第1ニューラルネットワークの場合、サンプリング計算部35は、観測データを未知の変数とし、それ以外のニューラルネットワークの構成要素をそれまでの機械学習で得られた数値を適用した第1ニューラルネットワークをボルツマンマシンとみなし、量子アニーリングや疑似アニーリングを行う。これにより、サンプリング計算部35は、サンプリングした回数に応じた個数の観測データを取得する。これは、第1ニューラルネットワークのエネルギー的に安定した、最尤度となるサンプリング行うことに等しい。その後、サンプリングしたデータセットを含めた第1機械学習部32による機械学習により、最尤度の第1ニューラルネットワークが求まり、中間層変数が求まる。
第2ニューラルネットワークの場合、サンプリング計算部35は、第2機械学習部34が機械学習した第2ニューラルネットワークをボルツマンマシンとみなし、対象の観測データに対応するシミュレーションパラメータを、サンプリングする。これにより、サンプリング計算部35は、サンプリングした回数に応じた個数のシミュレーションパラメータを取得する。これは、第2ニューラルネットワークのエネルギー的に安定した、最尤度となるサンプリング行うことに等しい。その後、サンプリングしたシミュレーションパラメータのデータセットを用いた第2機械学習部34による機械学習により、最尤度の第2ニューラルネットワークが求まる。
シミュレーション計算部36は、観測データの事象をコンピュータ上でシミュレーションする。最適解抽出部37は、指定の観測事象に対する最適なシミュレーションパラメータを抽出する。最適解抽出部37は、第2機械学習部34から第2ニューラルネットワーク部33の機械学習の完了通知があった場合に、学習された第2ニューラルネットワークを制限ボルツマンマシンとみなし、シミュレーションパラメータの最尤度データを抽出する。
(2-2)処理フロー
図10は、第2実施形態において情報処理装置1Aが実行する処理手順を示すフローチャートの一例である。情報処理装置1Aは、例えば、入力装置2などから供給される外部入力等に基づき、所定の実行指示を検知した場合に、図10のフローチャートを実行する。
まず、第1ニューラルネットワーク部31は、観測データと観測結果との相関関係をモデル表現する第1ニューラルネットワークの構成の設定を行う(ステップS101)。次に、第1ニューラルネットワーク部31は、観測データ保持部43が記憶する観測データと観測結果とを読み込む(ステップS102)。そして、第1機械学習部32は、第1ニューラルネットワークの機械学習(「第1機械学習」とも呼ぶ。)を実行する(ステップS103)。この場合、第1機械学習部32は、例えば、セルフバリデーション若しくはクロスバリデーションに基づく誤差が所定の閾値以下となるまで、又は、予め設定した回数だけ第1機械学習を繰り返し行う。このとき、学習データが不足するときには、サンプリング計算部35は、第1ニューラルネットワークをボルツマンマシンとして設定し、サンプリングで学習データを増やす。これにより、第1機械学習部32は、精度の高い第1機械学習を好適に実行する。
次に、第2ニューラルネットワーク部33は、第2ニューラルネットワークの構成の設定を行う(ステップS104)。第2ニューラルネットワークは、中間変数保持部44が保持する第1ニューラルネットワークの出力に相当する中間層変数とシミュレーションパラメータとシミュレーション結果との相対関係をモデル表現するニューラルネットワークである。次に、シミュレーション計算部36は、観測データに対応するシミュレーションパラメータを読み込む(ステップS105)。そして、シミュレーション計算部36は、観測データに対応するシミュレーションの計算を実行する(ステップS106)。シミュレーション計算部36は、得られたシミュレーション結果をシミュレーションデータ保持部45に記憶する。
次に、第2機械学習部34は、第2ニューラルネットワークの機械学習(「第2機械学習」とも呼ぶ。)を実行する(ステップS107)。この場合、第2機械学習部34は、例えば、セルフバリデーション若しくはクロスバリデーションに基づく誤差が所定の閾値以下となるまで、又は、予め設定した回数だけ機械学習を繰り返し行う。このとき、学習データが不足するときには、サンプリング計算部35は、第2ニューラルネットワークをボルツマンマシンとして設定し、サンプリングで学習データを増やす。これにより、第2機械学習部34は、精度の高い機械学習を好適に実行する。具体的には、第2機械学習部34は、サンプリング計算部35によりサンプリングされたシミュレーションパラメータに対する誤差評価を行う。そして、第2機械学習部34は、誤差評価に基づき、正例か負例かに関するラベル生成、及び、当該ラベル及びサンプリングされたシミュレーションパラメータを用いた第2ニューラルネットワーク部33の機械学習を行う。また、第2機械学習部34は、サンプリングされたシミュレーションパラメータの誤差評価に基づき、第2ニューラルネットワーク部33の機械学習の完了判定を行う。
次に、最適解抽出部37は、予測対象となる観測データを取得し、シミュレーションパラメータを未確定(変数)とし、ステップS107の機械学習で得られた数値をボルツマンマシンに設定する(ステップS108)。最適解抽出部37は、予測対象となる観測データを、観測データ保持部43から取得してもよく、インターフェース13を介して外部装置から取得してもよい。そして、最適解抽出部37は、予め決めた回数だけ、又は、予め定めた統計値(例えば、得られたサンプリングの確率分布)が得られるまで、アニーリングを実行し、シミュレーションパラメータの最適解を導出する(ステップS109)。そして、最適解抽出部37は、最適解となったシミュレーションパラメータをシミュレーションデータ保持部45から取り出す(ステップS0110)。この場合、最適解抽出部37は、例えば、取り出したシミュレーションパラメータを、表示装置3に表示させる。
(2-3)変形例
(変形例2-1)
情報処理装置1Aは、前段の第1ニューラルネットワークの機械学習において、ボルツマンマシン型のニューラルネットワークを前提としたが、中間層の変数を求めることができる、オートエンコーダ型のネットワークを用いてもよい。ただし、オートエンコーダ型のネットワークでは、サンプリングは行うことができないので、この場合、情報処理装置1Aは、サンプリングによる第1ニューラルネットワークの学習データの増量は行わない。
(変形例2-2)
第1ニューラルネットワークは、多層のネットワークであってもよい。その場合、中間層についても多層となってもよい。
(変形例2-3)
後段の第2ニューラルネットワークに基づきシミュレーションパラメータを求める処理において、最適解抽出部37は、量子アニーリング/シミュレーションアニーリングの組合せ最適化の方式により、最適なシミュレーションパラメータを求めた。これに代えて、最適解抽出部37は、タブサーチ又は遺伝アルゴリズムなどの最適解を求解する方式を使って、最適なシミュレーションパラメータを求めてもよい。
<第3実施形態>
図11は、第3実施形態における情報処理装置1Bのブロック図である。情報処理装置1Bは、主に、機械学習手段15Bと、サンプリング計算手段16Bと、シミュレーション計算手段17Bとを有する。なお、情報処理装置1Bは、複数の装置から構成されてもよい。
機械学習手段15Bは、観測データと、観測結果と、観測データを基に観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う。機械学習手段15Bは、例えば、第1実施形態における機械学習部24、又は、第2実施形態における第2機械学習部34とすることができる。また、モデルは、第1実施形態における制限ボルツマンマシン又は第2実施形態における多層ニューラルネットワークとすることができる。
サンプリング計算手段16Bは、機械学習の結果に基づき、機械学習に用いるシミュレーションパラメータのサンプリングを行う。サンプリング計算手段16Bは、第1実施形態におけるサンプリング計算部25、又は、第2実施形態におけるサンプリング計算部35とすることができる。
シミュレーション計算手段17Bは、サンプリングされたシミュレーションパラメータを用いたシミュレーションを実行する。シミュレーション計算手段17Bは、第1実施形態におけるシミュレーション計算部26、又は、第2実施形態におけるシミュレーション計算部36とすることができる。
そして、機械学習手段15Bは、シミュレーションの結果であるシミュレーション結果の誤差評価に基づき機械学習を再実行する。この場合、第1の例では、機械学習手段15Bは、誤差評価に基づき、機械学習の継続の要否の判定(即ち完了判定)を行う。第2の例では、機械学習手段15Bは、誤差評価に基づき、サンプリングされたシミュレーションパラメータが正例か負例かを示すラベルの生成を行い、当該シミュレーションパラメータと当該ラベルとに基づき機械学習を再実行する。
図12は、第3実施形態における情報処理装置1Bの処理手順を示すフローチャートの一例である。機械学習手段15Bは、観測データと、観測結果と、シミュレーションパラメータとの関係を示すモデルの機械学習を行う(ステップS201)。サンプリング計算手段16Bは、ステップS201の機械学習の結果に基づき、機械学習に用いるシミュレーションパラメータのサンプリングを行う(ステップS202)。シミュレーション計算手段17Bは、ステップS202でサンプリングされたシミュレーションパラメータを用いたシミュレーションを実行する(ステップS203)。機械学習手段15Bは、シミュレーションの結果であるシミュレーション結果の誤差評価に基づき機械学習を再実行する(ステップS204)。なお、機械学習手段15Bが機械学習を再実行する場合、ステップS201~ステップS203が再び実施される。
第3実施形態に係る情報処理装置1Bは、シミュレーションパラメータを得るために必要な機械学習を好適に実行することができる。
なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータであるプロセッサ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
その他、上記の各実施形態の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
[付記1]
観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う機械学習手段と、
前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行うサンプリング計算手段と、
サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行するシミュレーション計算手段と、を有し、
前記機械学習手段は、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、情報処理装置。
[付記2]
前記機械学習手段による前記機械学習が完了した場合、前記モデルにおいて、前記シミュレーションパラメータを変数とみなしてサンプリングを行うことで、最尤度のシミュレーションパラメータを抽出する最適解抽出手段をさらに有する、付記1に記載の情報処理装置。
[付記3]
前記モデルは、制限ボルツマンマシンである、付記1または2に記載の情報処理装置。
[付記4]
前記モデルは、少なくとも3層以上有するニューラルネットワークである、付記1または2に記載の情報処理装置。
[付記5]
前記モデルは、前段に構成された第1ニューラルネットワークと、後段に構成された第2ニューラルネットワークとを含み、
前記機械学習手段は、前記観測データと前記観測結果とに基づき、前記第1ニューラルネットワークの機械学習を行い、前記第1ニューラルネットワークの出力と前記シミュレーションパラメータとに基づき、前記第2ニューラルネットワークの機械学習を行い、
前記サンプリング計算手段は、前記第2ニューラルネットワークの機械学習の結果に基づき、当該機械学習に用いる前記シミュレーションパラメータのサンプリングを行い、
前記機械学習手段は、サンプリングされた前記シミュレーションパラメータを用いた前記シミュレーション結果の誤差評価に基づき、前記第2ニューラルネットワークの機械学習を再実行する、付記4に記載の情報処理装置。
[付記6]
前記第1ニューラルネットワークは、オートエンコーダ型のネットワークである、付記5に記載の情報処理装置。
[付記7]
前記第1ニューラルネットワークは、ディープラーニング型のネットワークである、付記5に記載の情報処理装置。
[付記8]
前記機械学習手段による前記機械学習が完了した場合、前記第2ニューラルネットワークにおいて、前記シミュレーションパラメータを変数とみなしてサンプリングを行うことで、最尤度のシミュレーションパラメータを抽出する最適解抽出手段を有する、付記5~7のいずれか一項に記載の情報処理装置。
[付記9]
前記機械学習手段による前記機械学習が完了した場合、前記第2ニューラルネットワークにおいて、前記シミュレーションパラメータを変数としてタブサーチ又は遺伝アルゴリズムを適用することでシミュレーションパラメータを抽出する最適解抽出手段を有する、付記5~7のいずれか一項に記載の情報処理装置。
[付記10]
前記機械学習手段は、前記誤差評価が示す誤差が閾値以下の場合、前記機械学習が完了したと判定する、付記1~9のいずれか一項に記載の情報処理装置。
[付記11]
前記機械学習は、入力されたシミュレーションパラメータが正例か負例かのラベルに基づき学習を行う2値分類の機械学習であり、
前記機械学習手段は、前記誤差評価に基づき、前記ラベルを生成することで、前記サンプリングされた前記シミュレーションパラメータに基づき、前記機械学習を再実行する、付記1~10のいずれか一項に記載の情報処理装置。
[付記12]
コンピュータにより、
観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行い、
前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行い、
サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行し、
前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、
制御方法。
[付記13]
観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う機械学習手段と、
前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行うサンプリング計算手段と、
サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行するシミュレーション計算手段
としてコンピュータを機能させ、
前記機械学習手段は、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、
プログラムが格納された記憶媒体。
[付記14]
観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う機械学習手段と、
前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行うサンプリング計算手段と、
サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行するシミュレーション計算手段と、を有し、
前記機械学習手段は、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、情報処理システム。
[付記15]
前記機械学習手段による前記機械学習が完了した場合、前記モデルにおいて、前記シミュレーションパラメータを変数とみなしてサンプリングを行うことで、最尤度のシミュレーションパラメータを抽出する最適解抽出手段をさらに有する、付記14に記載の情報処理システム。
[付記16]
前記モデルは、制限ボルツマンマシンである、付記14または15に記載の情報処理システム。
[付記17]
前記モデルは、少なくとも3層以上有するニューラルネットワークである、付記14または15に記載の情報処理システム。
[付記18]
前記モデルは、前段に構成された第1ニューラルネットワークと、後段に構成された第2ニューラルネットワークとを含み、
前記機械学習手段は、前記観測データと前記観測結果とに基づき、前記第1ニューラルネットワークの機械学習を行い、前記第1ニューラルネットワークの出力と前記シミュレーションパラメータとに基づき、前記第2ニューラルネットワークの機械学習を行い、
前記サンプリング計算手段は、前記第2ニューラルネットワークの機械学習の結果に基づき、当該機械学習に用いる前記シミュレーションパラメータのサンプリングを行い、
前記機械学習手段は、サンプリングされた前記シミュレーションパラメータを用いた前記シミュレーション結果の誤差評価に基づき、前記第2ニューラルネットワークの機械学習を再実行する、付記17に記載の情報処理システム。
[付記19]
前記第1ニューラルネットワークは、オートエンコーダ型のネットワークである、付記18に記載の情報処理システム。
[付記20]
前記第1ニューラルネットワークは、ディープラーニング型のネットワークである、付記18に記載の情報処理システム。
[付記21]
前記機械学習手段による前記機械学習が完了した場合、前記第2ニューラルネットワークにおいて、前記シミュレーションパラメータを変数とみなしてサンプリングを行うことで、最尤度のシミュレーションパラメータを抽出する最適解抽出手段を有する、付記18~20のいずれか一項に記載の情報処理システム。
[付記22]
前記機械学習手段による前記機械学習が完了した場合、前記第2ニューラルネットワークにおいて、前記シミュレーションパラメータを変数としてタブサーチ又は遺伝アルゴリズムを適用することでシミュレーションパラメータを抽出する最適解抽出手段を有する、付記18~20のいずれか一項に記載の情報処理システム。
[付記23]
前記機械学習手段は、前記誤差評価が示す誤差が閾値以下の場合、前記機械学習が完了したと判定する、付記14~22のいずれか一項に記載の情報処理システム。
[付記24]
前記機械学習は、入力されたシミュレーションパラメータが正例か負例かのラベルに基づき学習を行う2値分類の機械学習であり、
前記機械学習手段は、前記誤差評価に基づき、前記ラベルを生成することで、前記サンプリングされた前記シミュレーションパラメータに基づき、前記機械学習を再実行する、付記14~23のいずれか一項に記載の情報処理システム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
本発明は、気象(海洋、防災などを対象とした気象予測を含む)、風洞、流体(車メーカが行う空気抵抗予測を含む)、材料、創薬などにおけるシミュレーションで、確度の高い予測の高速計算に好適に利用される。
1、1A、1B 情報処理装置
2 入力装置
3 表示装置
4 記憶装置
15B 機械学習手段
16B サンプリング計算手段
17B シミュレーション計算手段
100 機械学習システム

Claims (13)

  1. 観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う機械学習手段と、
    前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行うサンプリング計算手段と、
    サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行するシミュレーション計算手段と、を有し、
    前記機械学習手段は、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、情報処理装置。
  2. 前記機械学習手段による前記機械学習が完了した場合、前記モデルにおいて、前記シミュレーションパラメータを変数とみなしてサンプリングを行うことで、最尤度のシミュレーションパラメータを抽出する最適解抽出手段をさらに有する、請求項1に記載の情報処理装置。
  3. 前記モデルは、制限ボルツマンマシンである、請求項1または2に記載の情報処理装置。
  4. 前記モデルは、少なくとも3層以上有するニューラルネットワークである、請求項1または2に記載の情報処理装置。
  5. 前記モデルは、前段に構成された第1ニューラルネットワークと、後段に構成された第2ニューラルネットワークとを含み、
    前記機械学習手段は、前記観測データと前記観測結果とに基づき、前記第1ニューラルネットワークの機械学習を行い、前記第1ニューラルネットワークの出力と前記シミュレーションパラメータとに基づき、前記第2ニューラルネットワークの機械学習を行い、
    前記サンプリング計算手段は、前記第2ニューラルネットワークの機械学習の結果に基づき、当該機械学習に用いる前記シミュレーションパラメータのサンプリングを行い、
    前記機械学習手段は、サンプリングされた前記シミュレーションパラメータを用いた前記シミュレーション結果の誤差評価に基づき、前記第2ニューラルネットワークの機械学習を再実行する、請求項4に記載の情報処理装置。
  6. 前記第1ニューラルネットワークは、オートエンコーダ型のネットワークである、請求項5に記載の情報処理装置。
  7. 前記第1ニューラルネットワークは、ディープラーニング型のネットワークである、請求項5に記載の情報処理装置。
  8. 前記機械学習手段による前記機械学習が完了した場合、前記第2ニューラルネットワークにおいて、前記シミュレーションパラメータを変数とみなしてサンプリングを行うことで、最尤度のシミュレーションパラメータを抽出する最適解抽出手段を有する、請求項5~7のいずれか一項に記載の情報処理装置。
  9. 前記機械学習手段による前記機械学習が完了した場合、前記第2ニューラルネットワークにおいて、前記シミュレーションパラメータを変数としてタブサーチ又は遺伝アルゴリズムを適用することでシミュレーションパラメータを抽出する最適解抽出手段を有する、請求項5~7のいずれか一項に記載の情報処理装置。
  10. 前記機械学習手段は、前記誤差評価が示す誤差が閾値以下の場合、前記機械学習が完了したと判定する、請求項1~9のいずれか一項に記載の情報処理装置。
  11. 前記機械学習は、入力されたシミュレーションパラメータが正例か負例かのラベルに基づき学習を行う2値分類の機械学習であり、
    前記機械学習手段は、前記誤差評価に基づき、前記ラベルを生成することで、前記サンプリングされた前記シミュレーションパラメータに基づき、前記機械学習を再実行する、請求項1~10のいずれか一項に記載の情報処理装置。
  12. コンピュータにより、
    観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行い、
    前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行い、
    サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行し、
    前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、
    制御方法。
  13. 観測データと、観測結果と、前記観測データを基に前記観測結果を予測するためのシミュレーションを行う場合に必要なシミュレーションパラメータとの関係を示すモデルの機械学習を行う機械学習手段と、
    前記機械学習の結果に基づき、前記機械学習に用いる前記シミュレーションパラメータのサンプリングを行うサンプリング計算手段と、
    サンプリングされた前記シミュレーションパラメータを用いたシミュレーションを実行するシミュレーション計算手段
    としてコンピュータを機能させ、
    前記機械学習手段は、前記シミュレーションの結果であるシミュレーション結果の誤差評価に基づき前記機械学習を再実行する、
    プログラム
JP2022505703A 2020-03-13 2020-03-13 情報処理装置、制御方法及びプログラム Active JP7359287B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/011180 WO2021181676A1 (ja) 2020-03-13 2020-03-13 情報処理装置、制御方法及び記憶媒体

Publications (3)

Publication Number Publication Date
JPWO2021181676A1 JPWO2021181676A1 (ja) 2021-09-16
JPWO2021181676A5 JPWO2021181676A5 (ja) 2022-11-04
JP7359287B2 true JP7359287B2 (ja) 2023-10-11

Family

ID=77670945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022505703A Active JP7359287B2 (ja) 2020-03-13 2020-03-13 情報処理装置、制御方法及びプログラム

Country Status (3)

Country Link
US (1) US20230125808A1 (ja)
JP (1) JP7359287B2 (ja)
WO (1) WO2021181676A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515397A (ja) 2016-05-09 2019-06-06 1キュービー インフォメーション テクノロジーズ インコーポレイテッド1Qb Information Technologies Inc. 確率制御問題に対する方策を改善する方法及びシステム
JP2019159782A (ja) 2018-03-13 2019-09-19 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515397A (ja) 2016-05-09 2019-06-06 1キュービー インフォメーション テクノロジーズ インコーポレイテッド1Qb Information Technologies Inc. 確率制御問題に対する方策を改善する方法及びシステム
JP2019159782A (ja) 2018-03-13 2019-09-19 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム

Also Published As

Publication number Publication date
WO2021181676A1 (ja) 2021-09-16
JPWO2021181676A1 (ja) 2021-09-16
US20230125808A1 (en) 2023-04-27

Similar Documents

Publication Publication Date Title
TWI698807B (zh) 以類別為基礎修剪之人工類神經網路
CN105810193B (zh) 训练语言模型的方法和设备及识别语言的方法和设备
AU2017437537B2 (en) Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data
JP7233807B2 (ja) 人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法、コンピュータ・システム、およびコンピュータ・プログラム
Kirk et al. Model selection in systems and synthetic biology
Sigtia et al. A hybrid recurrent neural network for music transcription
JP7055630B2 (ja) 音声認識のための学習方法、学習装置、コンピュータプログラム及び記憶媒体
KR20200128938A (ko) 모델 학습 방법 및 장치
WO2018161763A1 (zh) 语音数据集训练方法、计算机设备和计算机可读存储介质
CN110506282A (zh) Rpu阵列的更新管理
JP6172317B2 (ja) 混合モデル選択の方法及び装置
JP6974651B2 (ja) 特徴推定方法、特徴推定装置、プログラム及び記録媒体
JP2022521957A (ja) データ分析方法、デバイス及びコンピュータプログラム
Leke et al. Proposition of a theoretical model for missing data imputation using deep learning and evolutionary algorithms
JP7359287B2 (ja) 情報処理装置、制御方法及びプログラム
JP6158105B2 (ja) 言語モデル作成装置、音声認識装置、その方法及びプログラム
KR102336962B1 (ko) 반-약 지도 학습을 통해 자동으로 라벨링을 수행하기 위한 장치 및 이를 위한 방법
Syed et al. Imitation learning with a value-based prior
US8327312B2 (en) Assessing printability of a very-large-scale integration design
JP2023518789A (ja) 人工知能モジュールを更新するためにデータセットを選択するための方法
JP2011210063A (ja) 逐次クラスタリング装置、方法およびプログラム
JP2021144619A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
JP2016156870A (ja) 言語識別モデル学習装置、言語識別装置、言語識別モデル学習方法、言語識別方法、プログラム、および記録媒体
US20160267393A1 (en) Method of construction and selection of probalistic graphical models
JP6343582B2 (ja) 言語モデル生成装置、方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230911

R151 Written notification of patent or utility model registration

Ref document number: 7359287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151