処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2020105468 - 情報処理装置、情報処理システム、情報処理方法及びプログラムが格納された非一時的なコンピュータ可読媒体

Document

明 細 書

発明の名称 情報処理装置、情報処理システム、情報処理方法及びプログラムが格納された非一時的なコンピュータ可読媒体

技術分野

0001  

背景技術

0002   0003   0004   0005  

先行技術文献

特許文献

0006  

非特許文献

0007  

発明の概要

発明が解決しようとする課題

0008   0009  

課題を解決するための手段

0010   0011   0012   0013  

発明の効果

0014  

図面の簡単な説明

0015  

発明を実施するための形態

0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119  

符号の説明

0120  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13  

図面

1   2   3   4   5  

明 細 書

発明の名称 : 情報処理装置、情報処理システム、情報処理方法及びプログラムが格納された非一時的なコンピュータ可読媒体

技術分野

[0001]
 本発明は情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。

背景技術

[0002]
 シミュレーションで用いるモデルのパラメータを求めるための技術が提案されている。例えば、非特許文献1は、カーネルABC(Kernel Approximate Bayesian Computation)及びカーネルハーディング(Kernel Herding)を繰り返し実行することにより、パラメータの点推定を行う手法について提案している。
[0003]
 また、その他の関連技術として、いくつかの文献を挙げる。
 特許文献1に開示された技術では、適応制御器として動作するコンピュータは、対象とする物理システムの時間発展がマルコフ過程として記述される際に、物理システムの状態に対する制御量を決定する。そして、このコンピュータは、物理システムの状態量を目標値に制御するための制御信号を、確率的な逐次的重点サンプリング法により適応的に生成する。
[0004]
 特許文献2には、風力発電による発電量を予測する風力発電量予測装置が開示されている。この風力発電量予測装置は、第1風速と前記第1風速における第1発電量とを示すデータを近似する多項式を生成し、この多項式に基づいてそれぞれ算出される第2風速及び前記第2風速における第2発電量の誤差分散に基づく最尤推定値を計算する。そして、風力発電量予測装置が、前記最尤推定値に基づいて、情報量規準を算出する。
[0005]
 特許文献3は、目的変数の平均および分散が、連続値を取る説明変数に依存している場合においても、正確な回帰分析ができる情報処理装置について開示している。

先行技術文献

特許文献

[0006]
特許文献1 : 特開2005-084834号公報
特許文献2 : 特開2017-141747号公報
特許文献3 : 国際公開第2011/074509号

非特許文献

[0007]
非特許文献1 : Takafumi Kajihara, Motonobu Kanagawa, Keisuke Yamazaki, Kenji Fukumizu, “Kernel Recursive ABC: Point Estimation with Intractable Likelihood”, arXiv:1802.08404v2, 12 June 2018.

発明の概要

発明が解決しようとする課題

[0008]
 しかし、非特許文献1に開示された手法は、最尤推定法の一種であるため、当該手法では点推定が行なわれる。すなわち、分布の推定が行なわれない。このため、例えば、特異モデル(singular model)のパラメータを推定する場合には、適切な推定ができない恐れがある。このような背景から、モデルのパラメータの事後分布を推定することができる新規な手法の提案が求められている。なお、特許文献1乃至3においても、モデルのパラメータの事後分布を推定する手法については開示されていない。
[0009]
 そこで、本明細書に開示される実施形態が達成しようとする目的の1つは、モデルのパラメータの事後分布を推定することができる情報処理装置等を提供することにある。

課題を解決するための手段

[0010]
 第1の態様にかかる情報処理装置は、
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出手段と、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成手段と、
 前記新規パラメータサンプル生成手段により生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記対応データ算出手段が前記パラメータの分布に対応するデータを算出するよう制御しつつ、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理を繰り返すよう制御する繰り返し制御手段と
 を備える。
[0011]
 第2の態様にかかる情報処理システムは、
 前記情報処理装置と
 前記シミュレータと
 を備える。
[0012]
 第3の態様にかかる情報処理方法は、
 情報処理装置によって、
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する第1の処理を実行し、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する第2の処理を実行し、
 前記第2の処理により生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記第1の処理を実行するよう制御しつつ、前記第1の処理及び前記第2の処理を繰り返すよう制御する。
[0013]
 第4の態様にかかるプログラムは、
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出ステップと、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成ステップと、
 前記新規パラメータサンプル生成ステップで生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記対応データ算出ステップを実行するよう制御しつつ、前記対応データ算出ステップ及び前記新規パラメータサンプル生成ステップの処理を繰り返すよう制御する繰り返し制御ステップと
 をコンピュータに実行させる。

発明の効果

[0014]
 上述の態様によれば、モデルのパラメータの事後分布を推定することができる情報処理装置等を提供することができる。

図面の簡単な説明

[0015]
[図1] 実施形態に係る情報処理システムの構成の一例を示すブロック図である。
[図2] 実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
[図3] 実施の形態にかかる情報処理装置の機能構成の一例を示すブロック図である。
[図4] 実施の形態にかかる情報処理装置の動作の一例を示すフローチャートである。
[図5] その他の実施の形態にかかる情報処理装置の機能構成の一例を示すブロック図である。

発明を実施するための形態

[0016]
 以下の各実施形態においては、理解しやすさのため数学的な用語を用いて説明するが、各用語は必ずしも数学的に定義されている値でなくてもよい。たとえば、距離は、ユークリッドノルムや、1ノルム等、数学的に定義することができる。しかし、距離は、そのような値に1を足したような値であってもよい。すなわち、以下の実施形態にて用いられる用語は、数学的に定義されている用語でなくてもよい。
[0017]
 以下、図面を参照して本発明の実施の形態について説明する。
 図1は、実施形態に係る情報処理システム10の構成の一例を示すブロック図である。図1に示すように、情報処理システム10は、情報処理装置100とシミュレータサーバ(シミュレータ)200とを備える。
[0018]
 シミュレータサーバ200は、第1種類のデータの入力を受けて第2種類のデータを出力するシミュレータである。すなわち、シミュレータサーバ200は、パラメータθにより規定されるモデルに従って、第1種類のデータから、第2種類のデータを予測するシミュレーション処理を行なう。たとえば、シミュレータサーバ200は、パラメータθのサンプルに基づき、観測対象における処理(動作)をシミュレーションする処理を実行する。サンプルは、パラメータθの値を表す。したがって、複数のサンプルは、当該パラメータθの値として設定される複数の例(データ)を表している。
[0019]
 以下では、第1種類のデータをデータXと称し、第2種類のデータをデータYと称する。また、観測データの個数をn(nは正の整数)として、データXの観測データ(第1種類の観測データ)を観測データX と表記し、データYの観測データ(第2種類の観測データ)を観測データY と表記する。また、観測データX の要素をX 、・・・、X と表記し、観測データY の要素をY 、・・・、Y と表記する。情報処理装置100は、データX (iは、1≦i≦nの整数)とデータY とが一対一に対応付けられた観測データ(従って、X-Y平面にプロット可能な観測データ)を取得する。
[0020]
 以降においては、観測データを観測情報と表すこともある。また、観測データY を複数の観測情報と表すこともある。この場合に、また、各要素Y 、・・・、Y を、それぞれ、観測情報と表すこともある。
[0021]
 観測データX およびY は特定の種類のデータに限定されず、実測されたいろいろなデータとすることができる。観測データを得るための実測方法は特定の方法に限定されず、ユーザなど人による計数または測定、あるいはセンサを用いたセンシングなど、いろいろな方法を採用可能である。
 例えば、観測データX の要素は、観測対象を構成している構成要素の状態を表すものであってもよい。観測データY の要素は、センサ等を用いて観測対象に関して観測された状態を表すものであってもよい。例えばユーザが、製造工場の生産性を分析したい場合、観測データX は、当該製造工場における各設備の稼働状況を表すものであってもよい。観測データY は、複数の設備によって構成されるラインにて製造される製品の個数を表すものであってもよい。また、観測データX は、製造工場において製品の原材料となる素材を表していてもよい。この場合に、観測データX によって表されている素材は、1つ以上の加工工程を経て製品に加工される。当該製品は、1種類の製品であるとは限らず、複数の製品(たとえば、製品A、製品B、副産物C)であってもよい。観測データY は、たとえば、製品Aの個数、製品Bの個数、及び、副産物Cの個数(または、生産量等)を表している。
 観測対象、および、観測データは、上述した例に限定されず、たとえば、加工工場における設備であってもよいし、ある施設を建設する場合における建設システムであってもよい。
[0022]
 ここで、観測データX およびY は、独立に同一の真の分布q(x,y)=q(x)q(y|x)に従って生じる。真のモデルq(y|x)を推測するための統計モデルは、p(y|x,θ)と表せる。q(y|x)は、事象xが生じたときに、事象yが生じる確率を表している。また、「q(x)q(y|x)」は、「q(x)×q(y|x)」を表している。以降においては、説明の便宜上、数学的な慣習に倣い、掛け算を表す演算子「×」を省略して表す。
[0023]
 シミュレータサーバ200が用いる回帰モデルr(x,θ)は、パラメータθの値の設定、および、変数xへのデータXの値の入力を受けて、データYの値を出力する。たとえば、シミュレータサーバ200は、データX(xの値)に対して、パラメータθのサンプルを含む演算を施すことにより、データYの値を出力する。なお、モデルには、必ずしも微分可能な関数が用いられなくてもよい。シミュレータサーバ200は、観測対象における処理又は動作をシミュレーションする。
[0024]
 たとえば、観測対象が製造工場である場合に、シミュレータサーバ200は、データXの値に対して、パラメータθが表す値に従った演算を施しデータYを算出することによって、製造工場における各プロセスをシミュレーションする。この場合に、パラメータθは、たとえば、各プロセスにおける入出力間の関係性を表している。パラメータθは、プロセスにおける状態を表しているともいうことができる。パラメータθは、1つであるとは限らず、複数であってもよい。すなわち、回帰モデルr(x,θ)は、シミュレータサーバ200が実行している全体の処理を、符号rを用いて総称的に表しているということもできる。
[0025]
 ここで、ベイズの統計的推論における表記について定義する。マイナス対数尤度関数(minus log likelihood function)L (θ)は以下の式(1)のように定義される。
[0026]
<式(1)>
[数1]


[0027]
 回帰問題がガウスノイズを伴う回帰関数でモデル化される場合、統計モデル(尤度関数)p(y|x,θ)は、以下の式(2)のように表される。統計モデルp(y|x,θ)は、回帰モデルr(x,θ)についての統計的な性質を示すモデルである。ただし、この回帰モデルr(x,θ)は、必ずしも、数学的な式を用いて明示的に表されているとは限らず、たとえば、xと、θとを入力として、r(x,θ)を出力とするシミュレーション等の処理を表していてもよい。一般的に、回帰モデルでは、与えられたデータに合うように数式の係数が決められる。しかし、本実施形態における回帰モデルr(x,θ)は、そのような数式が与えられていない場合であってもよい。すなわち、本実施形態における回帰モデルr(x,θ)は、入力x及びθと、出力r(x,θ)とが関連付けされた情報を表していればよい。
[0028]
<式(2)>
[数2]


[0029]
 ここで、σ(ただし、σ>0)は、ガウスノイズの標準偏差である。すなわち、σはガウスノイズを伴う回帰関数で定義されるモデルにおける当該ガウスノイズの標準偏差である。また、r(x,θ)は、シミュレータサーバ200が、回帰モデルによって表す処理に従い算出する値である。dはXの次元数(すなわち、上述した観測データの個数)である。expは、ネイピア数を底とする指数関数を表す。||は、ノルムを算出することを表す。πは、円周率を表す。
[0030]
 また、逆温度を含むベイズの定理は、以下の式(3)のように表される。
<式(3)>
[数3]


[0031]
 ここで、π(θ)は、パラメータθについての事前分布である。また、p(θ|x,y)は、パラメータθについての事後分布である。β(ただし、β>0)は、逆温度と呼ばれるパラメータである。上記ベイズの定理によれば、パラメータθの事後分布は、パラメータθの事前分布π(θ)と、尤度関数p(y|x,θ)とに基づいて、算出することができる。
[0032]
 尤度関数p(y|x,θ)が解析的に数式として表現できない場合、すなわち尤度関数p(y|x,θ)が微分できない場合、パラメータθの事後分布を算出することは困難である。しかしながら、そのような場合であっても、例えば次のような手法により、事後分布に従うサンプルを取得することができる。以下、カーネルABC(Kernel Approximate Bayesian Computation)及び所定の処理(カーネルハーディング(Kernel Herding)等)を用いたパラメータθのサンプルデータの取得について説明する。
[0033]
 カーネルABCは、カーネル平均を算出することにより、事後分布を推定するアルゴリズムである。カーネルABCでは、m個のサンプルデータに基づきシミュレーションを行い、m個のパラメータのサンプルデータの重み(重要度)を、観測対象に対して観測された観測データに基づき決定することで事後分布が得られる。たとえば、シミュレーション結果が観測データに類似しているほど、当該シミュレーション結果に用いられたパラメータを重視する重みを算出する。逆に、シミュレーション結果が観測データに類似していないほど、当該シミュレーション結果に用いられたパラメータを軽視する重みを算出する。
[0034]
 カーネルハーディング(所定の処理の一例)は、事後分布を示すカーネル平均から事後分布に従ったサンプルを取得するアルゴリズムである。カーネルハーディングは、求めたカーネル平均に最も近くなる場合のサンプルを逐次的に決めていく。本実施形態においては、カーネルABC、及び、カーネルハーディングにおける処理によって、m個のサンプルに対して、新たにm個のサンプルが算出されるため、サンプルの値を調整しているともいうことができる。
[0035]
 カーネルハーディングは、サンプルを逐次的に決めていく方法であるが、事後分布(本実施形態では、推定された事後分布)に従ったサンプルを取得する所定の処理は、カーネルハーディングに限定されない。すなわち、所定の処理は、事後分布(本実施形態では、推定された事後分布)に従ったサンプルを作成する方法であればよい。
[0036]
 本実施の形態では、式(3)に示したとおり、逆温度βが含まれる事後分布に従ったパラメータθのサンプルデータを取得する。具体的には、カーネルABC及びカーネルハーディングを用いてサンプルデータを取得する情報処理装置100について示す。
[0037]
 逆温度βは、事後分布を推定する処理において、各サンプルに基づき算出される分布が当該推定される分布に与える影響を平準化するレベルを表している値を表しているということもできる。この場合に、逆温度βが高い値であるほど、平準化するレベルは低い。言い換えると、逆温度βが高い値であるほど、推定される分布は、個々の分布の影響を受けやすくなる。これに対して、逆温度βが低い値であるほど、平準化するレベルは高い。言い換えると、逆温度βが低い値であるほど、推定される分布は、一部の分布の影響を受けにくくなる。また、逆温度βは、当該推定される分布に対してサンプルが影響している程度を表す影響度を表しているとも言うことができる。すなわち、逆温度βは、当該推定される分布に対するサンプルの影響度を表しているとも言うことができる。
[0038]
 次に、本実施の形態におけるパラメータθの事後分布の推定方法について説明する。本実施の形態では、カーネルABC及びカーネルハーディングによるパラメータ推定処理を繰り返し実行することで、パラメータθの事後分布のサンプルを取得する。すなわち、本実施の形態では、パラメータ推定処理により取得されたパラメータθの事後分布のサンプルを、事前分布からのサンプルとみなして、パラメータ推定処理を繰り返すことにより、パラメータθの事後分布のサンプルを取得する。これについて、数式を用いて説明する。なお、情報処理装置100は、上述した処理の繰り返しをT回、行なう。ただし、Tは2以上の整数である。また、t番目の(ただし、t=1,2,・・・,T)繰り返し処理で用いられる逆温度の値をβ (t)とする。ここで、繰り返し処理のそれぞれで設定されるβ (t)の合計は1であるとする。すなわち、以下の式(4)が成り立つとする。ただし、0<β (t)<1である。
[0039]
<式(4)>
[数4]


[0040]
 言い換えると、この場合には、繰り返し回数分の影響度の合計が1となるように、繰り返しの各回の影響度が設定される。
 繰り返し処理の1回目(t=1)、すなわち、1回のパラメータ推定処理では、ベイズの定理(式(3)参照)に基づいて、以下の式(5)で表される事後分布が得られる。なお、1回のパラメータ推定処理では、パラメータθの事前分布から得られた第1の所定数のサンプルに基づいて、第2の所定数のパラメータが得られる。事前分布から得るサンプル数(すなわち第1の所定数)と、パラメータ推定処理結果として得られるサンプル数(すなわち第2の所定数)は本実施の形態ではいずれもm個であるが、互いに異なってもよい。ただし、サンプル数は多いほど分布を適切に表現できる。
[0041]
<式(5)>
[数5]


[0042]
 なお、「∝」は、比例関係を表している。ここで、繰り返し処理の1回目により得られた事後分布p (1)(θ|x,y)を、事前分布とみなし、繰り返し処理の2回目を行なう。すなわち、繰り返し処理の1回目の処理結果として得られたサンプルを用いて、再度、パラメータ推定処理を行なう。その結果、得られる事後分布(繰り返し処理の2回目により得られた事後分布p (2)(θ|x,y))は、以下の式(6)で表される。
[0043]
<式(6)>
[数6]


[0044]
 同様に、繰り返し処理の2回目により得られた事後分布p (2)(θ|x,y)を、事前分布とみなし、繰り返し処理の3回目を行なう。したがって、繰り返し処理のT回目で得られる事後分布p (T)(θ|x,y)は、以下の式(7)で表される。
[0045]
<式(7)>
[数7]


[0046]
 つまり、式(4)を用いると、事後分布p (T)(θ|x,y)は、以下の式(8)で表される。
[0047]
<式(8)>
[数8]


[0048]
 式(8)は、逆温度を含まないベイズの定理を表している。つまり、ベイズ推定が行なわれていることを示している。非特許文献1で示された手法は、最尤推定、すなわち、点推定であるが、本実施の形態で示される手法では、逆温度を用いたパラメータ推定処理を繰り返すことにより、分布の推定を可能にしている。
[0049]
 以下、情報処理装置100について具体的に説明する。
 図2は、情報処理装置100のハードウェア構成の一例を示すブロック図である。情報処理装置100は、入出力インタフェース101、メモリ102、及びプロセッサ103を含む。
[0050]
 入出力インタフェース101は、データの入出力を行うインタフェースである。例えば、入出力インタフェース101は、他の装置と通信するために使用される。この場合、例えば、入出力インタフェース101は、シミュレータサーバ200と通信するために使用される。入出力インタフェース101は、観測データX 又は観測データY を出力するセンサ装置などの外部装置と通信するために使用されてもよい。また、入出力インタフェース101は、さらに、キーボード及びマウスなどの入力デバイスと接続するインタフェースを含んでもよい。この場合、入出力インタフェース101は、ユーザの操作により入力されたデータを取得する。また、入出力インタフェース101は、さらに、ディスプレイと接続するインタフェースを含んでもよい。この場合、例えば、入出力インタフェース101を介して、ディスプレイに、情報処理装置100の演算結果などが表示される。
[0051]
 メモリ102は、例えば、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ102は、情報処理装置100の処理に用いられる各種データの他、プロセッサ103により実行される、1以上の命令を含むソフトウェア(コンピュータプログラム)などを格納するために使用される。
[0052]
 プロセッサ103は、メモリ102からソフトウェア(コンピュータプログラム)を読み出して実行することで、後述する図3に示される各構成の処理を行う。プロセッサ103は、例えば、マイクロプロセッサ、MPU(Micro Processor Unit)、又はCPU(Central Processing Unit)などであってもよい。プロセッサ103は、複数のプロセッサを含んでもよい。
 また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
[0053]
 図3は、情報処理装置100の機能構成の一例を示すブロック図である。情報処理装置100は、第1のパラメータサンプル生成部110と、第2種類サンプルデータ取得部112と、カーネル平均算出部114と、第2のパラメータサンプル生成部116と、繰り返し制御部118とを有する。なお、第1のパラメータサンプル生成部110は、事前パラメータサンプル生成部とも称され、カーネル平均算出部114は対応データ算出部とも称され、第2のパラメータサンプル生成部116は、新規パラメータサンプル生成部とも称される。
[0054]
 第1のパラメータサンプル生成部110は、第1種類のデータ(データX)の入力を受けて第2種類のデータ(データY)を出力する回帰モデルr(x,θ)のパラメータθの事前分布π(θ)に基づいて、パラメータθのサンプルデータを生成する。事前分布π(θ)は、たとえば、一様分布である。一様分布である場合には、θの値が定義されている定義域からランダムにサンプルデータが選ばれる。ある程度事後分布に近いと推定される分布が得られている場合には、当該分布を事前分布π(θ)に設定してもよい。この場合には、当該定義域から、事前分布π(θ)に従いサンプルデータが選ばれる。事前分布π(θ)は、上述した例に限定されず、また、陽に与えられているとも限らない。事前分布π(θ)が陽に与えられていない場合には、事前分布π(θ)を、たとえば、一様分布に設定する。また、後述するように、事前分布π(θ)をユーザが設定してもよい。
[0055]
 すなわち、第1のパラメータサンプル生成部110が生成するサンプルデータの数をm(mは正の整数)とし、jを1≦j≦mの整数とすると、パラメータθのサンプルデータは、以下の式(9)のように表される。ここで、d θは、パラメータの次元数(すなわち、パラメータθの種類の個数)を示す。すなわち、式(9)は、d θ種類のパラメータを含むセットが、m個であること表す。Rは、実数を示す。
 式(9)に示されるように、パラメータθのサンプルデータは、d θ次元の実数として示され、事前分布π(θ)に従う。なお、事前分布π(θ)は、予めメモリ102に記憶されている。事前分布π(θ)は、例えば、ユーザが、シミュレーション対象に関して有する知識に応じた精度で予め設定されている。
[0056]
<式(9)>
[数9]


[0057]
 上述した繰り返し処理の1回目において、第2種類サンプルデータ取得部112は、次のように動作する。第2種類サンプルデータ取得部112は、第1のパラメータサンプル生成部110が生成したパラメータθを受け取り、受け取ったm個のパラメータθを第1種類のデータの観測データ(観測データX )と供にシミュレータサーバ200に入力する。また、繰り返し処理の2回目以降においては、第2種類サンプルデータ取得部112は、次のように動作する。第2種類サンプルデータ取得部112は、後述する第2のパラメータサンプル生成部116が生成したパラメータθについてのm個のサンプルを、後述する繰り返し制御部118の制御にしたがって受け取る。そして、第2種類サンプルデータ取得部112は、受け取ったm個のパラメータθを第1種類のデータの観測データ(観測データX )と供にシミュレータサーバ200に入力する。
 これにより、シミュレータサーバ200には、当該m個のパラメータθと、第1種類のデータの観測データ(観測データX )とが入力される。
[0058]
 シミュレータサーバ200は、入力された当該m個のパラメータθのそれぞれに関して、第1種類のデータの観測データ(観測データX )に基づき、シミュレーション計算を実行する。すなわち、シミュレータサーバ200は、入力した当該m個のパラメータθに応じて、観測対象に関するm種類のシミュレーション計算を実行する。シミュレータサーバ200は、m種類のシミュレーション計算を実行することによって、m種類のシミュレーション結果(
[数10]


)を算出する。
[0059]
 第2種類サンプルデータ取得部112は、シミュレータサーバ200からm種類のシミュレーション結果を、第2種類のサンプルデータとして取得する。上述した処理を数学的に表せば、以下のように表すことができる。
[0060]
 第2種類サンプルデータ取得部112は、パラメータのサンプルデータ毎に、n個(観測データX の要素数と同数)の要素を有する、式(10)のように表されるサンプルデータを、モデル(シミュレータサーバ200)から取得する。
[0061]
<式(10)>
[数11]


[0062]
 式(10)に示されるように、第2種類サンプルデータ取得部112が取得するサンプルデータは、n次元の実数として示され、回帰モデルr(x,θ)の尤度関数p(y|θ)に、パラメータのサンプルデータを入力した分布に従う。
[0063]
 カーネル平均算出部114は、カーネルABCに従い、パラメータの事後分布を示すカーネル平均を推定する。すなわち、カーネル平均算出部114は、パラメータのサンプルデータと第2種類のサンプルデータとに基づいて、パラメータの事後分布を示すカーネル平均を算出する。特に、カーネル平均算出部114は、逆温度が含まれるカーネル関数を用いてカーネル平均を算出する。
[0064]
 ここで、カーネルABCについて説明する。式(9)で示されるサンプルデータと、式(10)で示されるサンプルデータを用いて、カーネルABCでは、以下の式(11)で示されるカーネル平均を算出する。カーネル平均は、事後分布をカーネル平均埋め込み(Kernel Mean Embeddings)により再生核ヒルベルト空間(Reproducing Kernel Hilbert Space;RKHS)上で表現したものに該当する。カーネル平均は、パラメータの分布(事後分布)に対応するデータの一例である。
[0065]
<式(11)>
[数12]


[0066]
 ここで、重みw は、以下の式(12)のように示される。Hは、再生核ヒルベルト空間を示す。すなわち、重み(重要度)w が大きな値であるほど、サンプル
[数13]


に関するカーネルが平均に与える影響が強いことを表す。重みw が小さな値であるほど、サンプル
[数14]


に関するカーネルが平均に与える影響が弱いことを表す。
[0067]
<式(12)>
[数15]


[0068]
 なお、上付きのTは、行列またはベクトルの転置を示す。また、Iは、単位行列を示し、δ(ただし、δ>0)は、正則化定数(regularization constant)である。また,ベクトルk (Y )及びグラム行列(Gramm Matrix)Gは、実数の要素からなるデータベクトルY に対するカーネルk により、以下の式(13)、式(14)のように示される。k (Y )は、観測データY と、当該観測データY に対応する式(10)のサンプルデータの近さ(ノルム)、すなわち類似度を算出する関数である。言い換えると、式(13)により、観測データ(観測データX )に対してシミュレータサーバ200が出力したm種類のシミュレーション結果のそれぞれと、当該観測データに対して観測対象が実際に出力した観測データとの類似度が算出される。カーネル平均は、算出された類似度を用いて各パラメータの重みを決定し、式(11)に示す処理に従い算出される重み付き平均である。
[0069]
<式(13)>
[数16]


[0070]
<式(14)>
[数17]


[0071]
 式(13)は、観測対象に入力を与えた場合に観測される複数の観測情報と、シミュレータサーバ200が複数のサンプル及び入力を表す第1種類のデータに対して作成した第2種類のデータとの差異を算出しているともいえる。また、式(11)は、m種類のシミュレーション結果のうち、観測対象に関して実際に観測された観測データに類似しているデータに対しては、大きい重みを算出する処理を表しているということもできる。同様に、m種類のシミュレーション結果のうち、観測対象に関して実際に観測された観測データに類似していないデータに対しては、小さい重みを算出する処理を表しているということもできる。すなわち、式(13)を用いて算出される式(12)は、シミュレーション結果と、観測データとが類似している程度に応じた重みを算出する処理を表しているということもできる。これは、共変量シフトを用いた処理であるともいうことができる。
[0072]
 共変量シフト(Covariate Shift)に対するカーネルABCでは、訓練データセット{X ,Y }が従う分布q (x)は、テスト又は予測用のデータセットが従う分布q (x)と異なるが、真の関数関係p(y|x)は同じである。すなわち、共変量シフトは、与えられたxに対してyを算出する処理自体は、複数のxに対しても一定であるものの、入力である分布が、訓練時とテスト時とでは異なっていることを表している。ここで、確率密度q (x)及びq (x)が既知、もしくはそれらの比q (x)/q (x)が既知であるとする。この場合に、当該比が1に近いほど、訓練時のq (x)と、テスト時のq (x)とは同じような確率で生じることを表す。当該比が1よりも大きな値であるほど、テスト時よりも訓練時の確率が高いことを表す。また、当該比が1よりも小さな値であるほど、訓練時よりもテスト時の確率が高いことを表す。すなわち、当該比は、データxが訓練時の分布と、テスト時の分布とのいずれに近いかを表す指標である。当該指標は、比に限定されず、たとえば両分布の差といった、訓練時の分布と、テスト時の分布との差異を表す指標であればよい。確率密度q (x)及びq (x)が既知、もしくはそれらの比q (x)/q (x)が既知である場合、上記式(13)及び式(14)の右辺におけるカーネル関数k は、以下の式(15)のように表すことができる。式(15)は逆温度が訓練データ(観測データ)に依存しているか否かという点での違いを除き、後述する式(20)に対応している。
[0073]
<式(15)>
[数18]


[0074]
 なお、式(15)の左辺における(Y ,Y ’)は、カーネル関数が、n次元ベクトル(要素数がnである(すなわち、n個の要素を含む)データセット)で表された第2種類のデータについての2変数関数(ただし、2つの変数はいずれもベクトル)であることを示している。すなわち、左辺におけるY は、2変数関数における第1の変数を示し、左辺におけるY ’は、2変数関数における第2の変数を示している。そして、右辺のY は、第1の変数として2変数関数に入力されたn次元ベクトルのi番目の要素を示している。また、右辺のY ’は、第2の変数として2変数関数に入力されたn次元ベクトルのi番目の要素を示している。
[0075]
 式(15)において、σは第2種類のデータについてのガウスノイズの標準偏差である。より、詳細には、式(15)において、σは、式(15)を算出するために用いられる第2種類のデータの観測データ全体からなる分布の標準偏差である。特に、式(15)におけるσの意味としては、第2種類の観測データの分布と第2種類のサンプルデータの分布の類似度を測るためのスケールを示す値ということができる。また、nは第2種類のデータのデータ数であり、β は逆温度であり、Y 及びY ’は第2種類のデータの値である。すなわち、式(15)においては、第2種類のデータセットに含まれている要素(たとえば、観測データの種類)ごとにβ なる逆温度にて重み付けされている。言い換えると、当該逆温度であるβ を適切に設定することによって、第2種類のデータの種類ごとに優先度をつけることが可能である。
[0076]
 式(15)において、β は、訓練データ(観測データ){X ,Y }に依存した逆温度である。すなわち、データ毎に逆温度の値が相互に異なるよう設定することができる。すなわち、観測データの種類(すなわち、Y に含まれている要素)ごとに、逆温度β を設定することができる。たとえば、重要度が高い観測データの種類に関しては逆温度に、より大きな値を設定し、重要度が低い観測データに対しては逆温度に小さな値を設定する。
[0077]
 本実施の形態では、訓練データ(観測データ){X ,Y }に依存しない逆温度について、カーネル平均を算出する。具体的には、カーネル平均算出部114は以下の式(16)で示されるカーネル平均を算出する。
[0078]
<式(16)>
[数19]


[0079]
 ここで、重み
[数20]


は、以下の式(17)のように示される。
[0080]
<式(17)>
[数21]


[0081]
 ベクトル
[数22]


及びグラム行列
[数23]


は、実数の要素からなるデータベクトルY に対するカーネル
[数24]


により、以下の式(18)、式(19)のように示される。
[0082]
<式(18)>
[数25]


[0083]
<式(19)>
[数26]


[0084]
 ここで、式(18)及び式(19)における右辺のカーネル関数
[数27]


は、以下の式(20)のように表すことができる。
[0085]
<式(20)>
[数28]


[0086]
 なお、式(20)の左辺における(Y ,Y ’)は、カーネル関数が、n次元ベクトル(要素数がnである(すなわち、n個の要素を含む)データセット)で表された第2種類のデータについての2変数関数(ただし、2つの変数はいずれもベクトル)であることを示している。すなわち、左辺におけるY は、2変数関数における第1の変数を示し、左辺におけるY ’は、2変数関数における第2の変数を示している。そして、右辺のY は、第1の変数として2変数関数に入力されたn次元ベクトルのi番目の要素を示している。また、右辺のY ’は、第2の変数として2変数関数に入力されたn次元ベクトルのi番目の要素を示している。
[0087]
 式(15)に示された処理と、式(20)に示された処理とを比較すると、式(15)においては、第2種類のデータセットに含まれている要素(たとえば、観測データの種類)ごとにβ なる逆温度にて重み付けされている。これに対して、式(20)においては、第2種類のデータセットに含まれている要素(たとえば、観測データの種類)は、同じ逆温度にて重み付けされている。
[0088]
 式(20)において、σは第2種類のデータについてのガウスノイズの標準偏差である。より、詳細には、式(20)において、σは、式(20)を算出するために用いられる第2種類のデータの観測データ全体からなる分布の標準偏差である。特に、式(20)におけるσの意味としては、第2種類の観測データの分布と第2種類のサンプルデータの分布の類似度を測るためのスケールを示す値ということができる。また、nは第2種類のデータのデータ数であり、βは逆温度であり、Y 及びY ’は第2種類のデータの値である。ここで、βは、観測データに依存しない定数である。βは、上述したβ (t)に相当する。したがって、具体的には、1回目のパラメータ推定処理においてはβの値としてβ (1)が用いられ、2回目のパラメータ推定処理においてはβの値としてβ (2)が用いられる。同様に、T回目のパラメータ推定処理においてはβの値としてβ (T)が用いられる。
[0089]
 第2のパラメータサンプル生成部116は、カーネル平均算出部114が算出したカーネル平均に基づいて、逆温度を用いて定義される事後分布に従ったパラメータのサンプルデータを生成する。ここで、逆温度を用いて定義される事後分布とは、事前分布と、逆温度により制御される尤度関数とにより、ベイズの定理に基づいて定義される事後分布である。したがって、事後分布は、exp(-βnL (θ)+logπ(θ))に従う分布である。
[0090]
 具体的には、第2のパラメータサンプル生成部116は、カーネルハーディングを用いて、事後分布に従ったパラメータのサンプルデータを生成する。カーネルハーディングでは、以下の式(21)及び式(22)に示す更新式により、事後分布に従うm個のサンプルデータθ ,・・・,θ を生成する。
[0091]
<式(21)>
[数29]


[0092]
<式(22)>
[数30]


[0093]
 ここで、j=0,・・・,m-1である。また、argmax θ(θ)は、h (θ)の値を最大にするθの値を示す。h は、式(22)により逐次的に示される。h の初期値h 及びμには、式(16)に示された処理に従い算出されたカーネル平均の値が使われる。すなわち、第2のパラメータサンプル生成部116は、カーネル平均算出部114が算出したカーネル平均を用いて、カーネルハーディング等の所定の処理により、当該カーネル平均を表すのに適したm個のサンプルデータθ ,・・・,θ を生成する。言い換えると、情報処理装置100は、事前分布に従ったm個のサンプルデータに対して、推定された事後分布に従ったm個のサンプルデータを算出する処理を実行する。したがって、情報処理装置100における処理は、m個のサンプルデータの値を調整している処理であるともいうことができる。
[0094]
 繰り返し制御部118は、カーネルABC及びカーネルハーディングによるパラメータ推定処理を所定の回数(T回)、繰り返すよう制御する。つまり、繰り返し制御部118は、t回目の繰り返し処理で第2のパラメータサンプル生成部116により生成されたサンプルを、第2種類サンプルデータ取得部112がt+1回目の繰り返し処理において用いるように制御する。このため、カーネル平均算出部114は、t+1回目の処理において、観測データX と、t回目の繰り返し処理で第2のパラメータサンプル生成部116により生成されたサンプルとを用いて、カーネル平均を算出することとなる。よって、繰り返し制御部118は次のように説明することもできる。すなわち、繰り返し制御部118は、第2のパラメータサンプル生成部116により生成されたサンプル及び第1種のデータに対してシミュレータサーバ200が作成した第2種類のデータを用いて、カーネル平均を算出するよう制御する。そして、繰り返し制御部118は、そのような制御を行いつつ、パラメータ推定処理を繰り返すよう制御する。
[0095]
 なお、繰り返し制御部118は、各パラメータ推定処理において用いられる逆温度βの値を設定してもよい。なお、上述した通り、繰り返し処理のそれぞれで設定されるβの合計は1である。具体的は、例えば、設定される逆温度は、パラメータ推定処理の繰り返しによらず一定であってもよいし、パラメータ推定処理の繰り返しに伴い変化してもよい。
[0096]
 パラメータ推定処理の繰り返しによらず一定の逆温度を設定する場合、繰り返し制御部118は、逆温度の値としてβ (t)=1/Tを設定する。
[0097]
 パラメータ推定処理の繰り返しに伴い変化する逆温度を設定する場合、例えば、パラメータ推定処理の繰り返し回数に応じて逆温度が小さくなるように設定してもよい。換言すると、繰り返しにおいて、前回の値以下の値が影響度に設定され、かつ、繰り返しにおいて、少なくとも1回は、前回の値よりも小さい値が影響度に設定されてもよい。また、パラメータ推定処理の繰り返し回数に応じて逆温度が大きくなるように設定してもよい。換言すると、繰り返しにおいて、前回の値以上の値が影響度に設定され、かつ、繰り返しにおいて、少なくとも1回は、前回の値よりも大きい値が影響度に設定されてもよい。
[0098]
 パラメータ推定処理の繰り返しに伴い変化する逆温度を設定する場合、繰り返し制御部118は、所定の等比数列に基づいて、逆温度の値を設定してもよい。初項a、公比r(ただし-1<r<1)の等比数列の無限の項の総和である無限等比級数は、a/(1-r)に収束する。したがって、繰り返し制御部118は、式(4)を満たすよう、例えば、a/(1-r)=1を満たす任意のa,rで表される等比数列を用いてもよい。
[0099]
 例えば、等比数列の各項の値を、初項から順に、パラメータ推定処理のそれぞれにおいて設定される逆温度の値として用いてもよい。この場合、パラメータ推定処理の繰り返し回数に応じて逆温度が小さくなるように設定される。ただし、現実的には、パラメータ推定処理の繰り返し回数は有限回である。したがって、例えば、繰り返し制御部118は、次のように逆温度の設定を行なってもよい。すなわち、繰り返し制御部118は、項数がT-1である等比数列の各項の値を、初項から順に、1回目からT-1回目までのパラメータ推定処理の逆温度の値として設定する。そして、T回目のパラメータ推定処理では、この等比数列のT-1番目の項の値を再度逆温度の値として設定する。このように、繰り返し制御部118は、繰り返しの各回において、前回設定した逆温度以下になるように、今回の逆温度を決定してもよい。
[0100]
 また、等比数列の各項の値を、末項から順に、パラメータ推定処理のそれぞれにおいて設定される逆温度の値として用いてもよい。この場合、パラメータ推定処理の繰り返し回数に応じて逆温度が大きくなるように設定される。この場合も、有限個の項からなる等比数列の総和が1となるように、次のように設定が行なわれてもよい。例えば、繰り返し制御部118は、まず、1回目のパラメータ推定処理では、項数がT-1である等比数列のT-1番目の項の値を逆温度の値として設定する。そして、2回目からT回目までのパラメータ推定処理の逆温度の値として、この等比数列の各項の値を、終項から順に、設定する。このように、繰り返し制御部118は、繰り返しの各回において、前回設定した逆温度以上になるように、今回の逆温度を決定してもよい。
[0101]
 このように、逆温度は任意に設定することができる。式(5)、式(6)、又は式(7)に示されるように、事後分布は尤度関数と事前分布の積に比例しており、逆温度は尤度関数に対する冪数となっている。したがって、逆温度の設定は、事後分布に対し、どの程度、尤度関数の影響を反映させるかを示している。このため、繰り返されるパラメータ推定処理において逆温度をどのように設定するかは、用いる尤度関数の信頼性に応じて定められてもよい。例えば、尤度関数の信頼性が高い場合には、パラメータ推定処理の1回目に以降の繰り返しにおける逆温度よりも大きな値を逆温度に設定してもよい。逆に、尤度関数の信頼性が低い場合には、パラメータ推定処理の1回目では以降の繰り返しにおける逆温度よりも小さな値を逆温度に設定してもよい。また、繰り返されるパラメータ推定処理において逆温度をどのように設定するかは、用いる事前分布の信頼性に応じて定められてもよい。例えば、事前分布の信頼性が高い場合には、パラメータ推定処理の1回目に以降の繰り返しにおける逆温度よりも小さな値を逆温度に設定してもよい。逆に、事前分布の信頼性が低い場合には、パラメータ推定処理の1回目では以降の繰り返しにおける逆温度よりも大きな値を逆温度に設定してもよい。
[0102]
 次に、情報処理装置100の動作についてフローチャートに基づいて説明する。図4は、情報処理装置100の動作の一例を示すフローチャートである。以下、図4に沿って、動作を説明する。
[0103]
 ステップS100において、第1のパラメータサンプル生成部110が、事前分布π(θ)に基づいて、パラメータθのサンプルデータを生成する。第1のパラメータサンプル生成部110が生成したサンプルデータは、1回目のパラメータ推定処理において、シミュレータサーバ200に入力される。本実施の形態では、生成したサンプルデータは、一例として、第2種類サンプルデータ取得部112によりシミュレータサーバ200に入力される。
[0104]
 次に、ステップS101において、第2種類サンプルデータ取得部112が、シミュレータサーバ200によって算出された第2種類のサンプルデータを取得する。すなわち、第2種類サンプルデータ取得部112は、予め取得されている訓練データセット{X ,Y }のうち、第1種類のデータであるX をモデルに入力し、モデルからの出力を取得する。訓練データセット{X ,Y }は、第1種類のデータであるX と第2種類のデータであるY とが関連付けされた情報である。この場合に、第2種類のデータであるY は、たとえば、第1種類のデータであるX に対して観測対象が実際に処理(動作)を施すことによって、観測対象に関して観測された情報を表す。
[0105]
 上述したように、シミュレータサーバ200は、パラメータθが表す値に従った演算をデータXの値に対して施すことによってデータYを算出する。これによって、観測対象における処理(動作)をシミュレーションする。この場合に、パラメータθは、たとえば、各処理(動作)における入出力間の関係性を表している。
 1回目のパラメータ推定処理の場合、ステップS101において、第2種類サンプルデータ取得部112は、ステップS100で生成されたサンプルデータがパラメータとして設定されたモデルに従い算出された第2種類のサンプルデータを取得する。これに対し、2回目以降のパラメータ推定処理の場合、第2種類サンプルデータ取得部112は、後述するステップS103で生成されたサンプルデータをモデルのパラメータとして設定する。そして、そのモデルに従い算出された第2種類のサンプルデータを取得する。
[0106]
 ステップS101では、シミュレータサーバ200は、観測対象に対して与えられた入力を表す第1種類のデータであるX を入力として受け付け、入力されたパラメータθに従った処理を第1種類のデータであるX に対して施すことによって当該観測対象をシミュレーションする。この結果、シミュレータサーバ200は、当該シミュレーションした結果を表すシミュレーション結果(
[数31]


)を作成する。
[0107]
 次に、ステップS102において、カーネル平均算出部114は、得られたサンプルデータを用いて、カーネルABCにより、パラメータの事後分布を示すカーネル平均を算出する。なお、この事後分布は、上述の通り、逆温度を用いて定義される事後分布である。カーネル平均算出部114は、式(20)で示される逆温度が含まれるカーネル関数を用いてカーネル平均を算出する。言い換えると、カーネル平均算出部114は、第2種類のデータについての観測データとサンプルデータとの差異と、逆温度とに応じて、パラメータの各サンプルの重要度を決定することにより、パラメータの分布に対応するデータを算出する。
[0108]
 次に、ステップS103において、第2のパラメータサンプル生成部116が、ステップS102で算出されたカーネル平均に基づいて、逆温度を用いて定義される事後分布に従ったパラメータのサンプルデータを生成する。
[0109]
 次に、ステップS104において、繰り返し制御部118は、パラメータ推定処理の繰り返し回数が所定の回数(T)に達したか否かを判定する。繰り返し回数が所定の回数に達していない場合、繰り返し制御部118は、ステップS103で得られたサンプルデータを用いて、再度、ステップS101からステップS103の処理が行なわれるよう制御する。繰り返し回数が所定の回数に達している場合、ステップS105において、繰り返し制御部118は、ステップS103で得られたサンプルデータ群を、パラメータの事後分布として出力する。
[0110]
 以上、実施の形態について説明した。本実施の形態では、逆温度を用いたパラメータ推定処理を繰り返す。これにより、ベイズ推定が行なわれ、パラメータの事後分布を取得することができる。特に、パラメータ推定処理が繰り返し実行されるベイズ推定であるため、特異モデルなどのように、1回のパラメータ推定処理では事後分布の適切なサンプルの取得が難しいようなモデルに対しても、適切なサンプルを取得することが期待できる。例えば、ニューラルネットワークなどのような特異モデルについても、事後分布を推定すること可能となる。また、パラメータ推定処理が繰り返し実行されるため、事前分布が適切ではない場合であっても、適切なサンプルを取得することが期待できる。
[0111]
 なお、図4のステップS105にて出力されたパラメータのサンプルデータは、シミュレータサーバ200によるシミュレーションに用いてもよい。すなわち、繰り返し制御部118は、繰り返し処理の最後にステップS103にて生成したサンプルデータ(すなわち、パラメータθのサンプルデータ)をシミュレータサーバ200に入力してもよい。この場合に、シミュレータサーバ200は、m個の当該サンプルデータを受け取り、受け取った当該サンプルデータに基づき、観測対象に関するシミュレーション計算を実行する。具体的には、シミュレータサーバ200は、所与の第1種類のデータであるX に対して、当該サンプルデータに従ったm種類のシミュレーション処理を実行する。この結果、シミュレータサーバ200は、所与の第1種類のデータであるX に対してm種類のシミュレーション結果を算出する。m種類のシミュレーション結果は、必ずしも相互に異なっているとは限らず、同じ結果を含んでいてもよい。
[0112]
 その後、情報処理装置100は、m種類のシミュレーション結果を受け取る。そして、情報処理装置100は、m種類のシミュレーション結果を総合したシミュレーション結果を算出する。たとえば、情報処理装置100は、m種類のシミュレーション結果の平均を算出する。すなわち、情報処理装置100は、所与の第1種類のデータであるX に対するシミュレーション結果を算出する。情報処理装置100は、たとえば、m種類のシミュレーション結果の重み付き平均を算出することによって、所与の第1種類のデータであるX に対するシミュレーション結果を算出してもよい。
[0113]
 情報処理装置100は、図4を参照しながら上述した処理を実行することによって、シミュレータサーバ200が算出するシミュレーション結果と、観測情報Y とが合う(適合する)ように、パラメータθのサンプルデータを算出する。算出されたサンプルデータは、事後分布に従ったデータであるので、情報処理装置100が算出する上述したシミュレーション結果は、事後分布に従ったサンプルデータに従ったシミュレーション結果である。言い換えると、情報処理装置100は、シミュレータサーバ200によって作成されるシミュレーション結果に基づき、観測情報に合うようなシミュレーション結果を算出することができる。よって、シミュレータサーバ200に対して与えるパラメータθのサンプルデータに関して、観測情報に合うような値を作成することによって、情報処理装置100は、当該観測情報に適合したシミュレーション結果を算出することができる。
[0114]
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。たとえば、次のような情報処理装置1も実施の形態の一つである。図5は、情報処理装置1の構成を示すブロック図である。情報処理装置1は、対応データ算出部2と、新規パラメータサンプル生成部3と、繰り返し制御部4とを有する。
[0115]
 対応データ算出部2は、観測対象に入力(X )を与えた場合に観測される複数の観測情報(Y )と、第2種類のデータ(
[数32]


)との差異と、逆温度(β)とに応じて、パラメータの各サンプルの重要度を決定する。なお、第2種類のデータとは、観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数のサンプル及び前記入力を表す第1種類のデータに対して作成したデータである。そして、対応データ算出部2は、パラメータの分布に対応するデータを算出する。
 新規パラメータサンプル生成部3は、対応データ算出部2が算出したパラメータの分布に対応するデータを用いて、所定の処理(たとえば、カーネルハーディングなど)に従い、パラメータの新たなサンプルを生成する。
 また、繰り返し制御部4は新規パラメータサンプル生成部3により生成された新たなサンプル及び第1種のデータに対してシミュレータが作成した第2種類のデータを用いて、対応データ算出部2が前記パラメータの分布に対応するデータを算出するよう制御する。そして、繰り返し制御部4は対応データ算出部2及び新規パラメータサンプル生成部3の処理を繰り返すよう制御する。
 このような構成によれば、ベイズ推定が行なわれる。このため、情報処理装置1は、パラメータの事後分布を取得することができる。
[0116]
 また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
[0117]
(付記1)
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出手段と、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成手段と、
 前記新規パラメータサンプル生成手段により生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記対応データ算出手段が前記パラメータの分布に対応するデータを算出するよう制御しつつ、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理を繰り返すよう制御する繰り返し制御手段と
 を備える情報処理装置。
(付記2)
 前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しに伴い変化する
 付記1に記載の情報処理装置。
(付記3)
 繰り返しにおいて、前回の値以下の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも1回は、前回の値よりも小さい値が前記影響度に設定される
 付記2に記載の情報処理装置。
(付記4)
 繰り返しにおいて、前回の値以上の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも1回は、前回の値よりも大きい値が前記影響度に設定される
 付記2に記載の情報処理装置。
(付記5)
 前記影響度が、所定の等比数列に基づいて変化する
 付記3又は4に記載の情報処理装置。
(付記6)
 前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しによらず一定である
 付記1に記載の情報処理装置。
(付記7)
 前記パラメータの分布に対応するデータは、カーネル平均であり、
 前記対応データ算出手段は、前記影響度を逆温度として含むカーネル関数を用いて、前記カーネル平均を算出し、
 前記新規パラメータサンプル生成手段は、前記対応データ算出手段によって算出された前記カーネル平均を用いて前記サンプルを生成する
 付記1乃至付記6のいずれか1項に記載の情報処理装置。
(付記8)
 前記対応データ算出手段は、下記の式で示される前記カーネル関数を用いたカーネルABC(Kernel Approximate Bayesian Computation)により、前記カーネル平均を算出する
 付記7に記載の情報処理装置。
 ただし、下記の式において、σは前記第2種類のデータについてのガウスノイズの標準偏差であり、nは前記第2種類のデータの要素数であり、βは前記逆温度であり、Y 及びY ’は前記第2種類のデータの値である。
[数33]


(付記9)
 繰り返し回数分の前記影響度の合計が1となるように繰り返しの各回の前記影響度が設定される
 付記1乃至8のいずれか1項に記載の情報処理装置。
(付記10)
 付記1乃至付記9のいずれか1項に記載の情報処理装置と
 前記シミュレータと
 を備える情報処理システム。
(付記11)
 前記シミュレータが、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返し後に、前記新規パラメータサンプル生成手段が生成した前記サンプルに基づき処理を実行する
 付記10に記載の情報処理システム。
(付記12)
 情報処理装置によって、
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する第1の処理を実行し、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する第2の処理を実行し、
 前記第2の処理により生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記第1の処理を実行するよう制御しつつ、前記第1の処理及び前記第2の処理を繰り返すよう制御する
 情報処理方法。
(付記13)
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出ステップと、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成ステップと、
 前記新規パラメータサンプル生成ステップで生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記対応データ算出ステップを実行するよう制御しつつ、前記対応データ算出ステップ及び前記新規パラメータサンプル生成ステップの処理を繰り返すよう制御する繰り返し制御ステップと
 をコンピュータに実行させる
 プログラムが格納された非一時的なコンピュータ可読媒体。
[0118]
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
[0119]
 この出願は、2018年11月22日に出願された日本出願特願2018-219527を基礎とする優先権を主張し、その開示の全てをここに取り込む。

符号の説明

[0120]
1  情報処理装置
2  対応データ算出部
3  新規パラメータサンプル生成部
4  繰り返し制御部
10  情報処理システム
100  情報処理装置
101  入出力インタフェース
102  メモリ
103  プロセッサ
110  第1のパラメータサンプル生成部
112  第2種類サンプルデータ取得部
114  カーネル平均算出部
116  第2のパラメータサンプル生成部
118  繰り返し制御部
200  シミュレータサーバ

請求の範囲

[請求項1]
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出手段と、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成手段と、
 前記新規パラメータサンプル生成手段により生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記対応データ算出手段が前記パラメータの分布に対応するデータを算出するよう制御しつつ、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理を繰り返すよう制御する繰り返し制御手段と
 を備える情報処理装置。
[請求項2]
 前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しに伴い変化する
 請求項1に記載の情報処理装置。
[請求項3]
 繰り返しにおいて、前回の値以下の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも1回は、前回の値よりも小さい値が前記影響度に設定される
 請求項2に記載の情報処理装置。
[請求項4]
 繰り返しにおいて、前回の値以上の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも1回は、前回の値よりも大きい値が前記影響度に設定される
 請求項2に記載の情報処理装置。
[請求項5]
 前記影響度が、所定の等比数列に基づいて変化する
 請求項3又は請求項4に記載の情報処理装置。
[請求項6]
 前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しによらず一定である
 請求項1に記載の情報処理装置。
[請求項7]
 前記パラメータの分布に対応するデータは、カーネル平均であり、
 前記対応データ算出手段は、前記影響度を逆温度として含むカーネル関数を用いて、前記カーネル平均を算出し、
 前記新規パラメータサンプル生成手段は、前記対応データ算出手段によって算出された前記カーネル平均を用いて前記サンプルを生成する
 請求項1乃至請求項6のいずれか1項に記載の情報処理装置。
[請求項8]
 前記対応データ算出手段は、下記の式で示される前記カーネル関数を用いたカーネルABC(Kernel Approximate Bayesian Computation)により、前記カーネル平均を算出する
 請求項7に記載の情報処理装置。
 ただし、下記の式において、σは前記第2種類のデータについてのガウスノイズの標準偏差であり、nは前記第2種類のデータの要素数であり、βは前記逆温度であり、Y 及びY ’は前記第2種類のデータの値である。
[数34]


[請求項9]
 繰り返し回数分の前記影響度の合計が1となるように繰り返しの各回の前記影響度が設定される
 請求項1乃至請求項8のいずれか1項に記載の情報処理装置。
[請求項10]
 請求項1乃至請求項9のいずれか1項に記載の情報処理装置と
 前記シミュレータと
 を備える情報処理システム。
[請求項11]
 前記シミュレータが、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返し後に、前記新規パラメータサンプル生成手段が生成した前記サンプルに基づき処理を実行する
 請求項10に記載の情報処理システム。
[請求項12]
 情報処理装置によって、
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する第1の処理を実行し、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する第2の処理を実行し、
 前記第2の処理により生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記第1の処理を実行するよう制御しつつ、前記第1の処理及び前記第2の処理を繰り返すよう制御する
 情報処理方法。
[請求項13]
 観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第1種類のデータに対して作成した第2種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出ステップと、
 前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成ステップと、
 前記新規パラメータサンプル生成ステップで生成された前記新たなサンプル及び前記第1種類のデータに対して前記シミュレータが作成した前記第2種類のデータを用いて、前記対応データ算出ステップを実行するよう制御しつつ、前記対応データ算出ステップ及び前記新規パラメータサンプル生成ステップの処理を繰り返すよう制御する繰り返し制御ステップと
 をコンピュータに実行させる
 プログラムが格納された非一時的なコンピュータ可読媒体。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]