(57)【要約】  モデルのパラメータの事後分布を推定する。情報処理装置（１）は、観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出部（２）と、前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成部（３）と、前記対応データ算出部（２）及び前記新規パラメータサンプル生成部（３）の処理を繰り返すよう制御する繰り返し制御部（４）とを備える。
2020105468.tif 000002
【特許請求の範囲】
【請求項１】
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出手段と、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成手段と、
前記新規パラメータサンプル生成手段により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出手段が前記パラメータの分布に対応するデータを算出するよう制御しつつ、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理を繰り返すよう制御する繰り返し制御手段と
を備える情報処理装置。
【請求項２】
前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しに伴い変化する
請求項１に記載の情報処理装置。
【請求項３】
繰り返しにおいて、前回の値以下の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも小さい値が前記影響度に設定される
請求項２に記載の情報処理装置。
【請求項４】
繰り返しにおいて、前回の値以上の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも大きい値が前記影響度に設定される
請求項２に記載の情報処理装置。
【請求項５】
前記影響度が、所定の等比数列に基づいて変化する
請求項３又は請求項４に記載の情報処理装置。
【請求項６】
前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しによらず一定である
請求項１に記載の情報処理装置。
【請求項７】
前記パラメータの分布に対応するデータは、カーネル平均であり、
前記対応データ算出手段は、前記影響度を逆温度として含むカーネル関数を用いて、前記カーネル平均を算出し、
前記新規パラメータサンプル生成手段は、前記対応データ算出手段によって算出された前記カーネル平均を用いて前記サンプルを生成する
請求項１乃至請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
前記対応データ算出手段は、下記の式で示される前記カーネル関数を用いたカーネルＡＢＣ（Kernel Approximate Bayesian Computation）により、前記カーネル平均を算出する
請求項７に記載の情報処理装置。
ただし、下記の式において、σは前記第２種類のデータについてのガウスノイズの標準偏差であり、ｎは前記第２種類のデータの要素数であり、βは前記逆温度であり、Ｙｉ及びＹｉ’は前記第２種類のデータの値である。
【数３４】
2020105468.tif 000036
【請求項９】
繰り返し回数分の前記影響度の合計が１となるように繰り返しの各回の前記影響度が設定される
請求項１乃至請求項８のいずれか１項に記載の情報処理装置。
【請求項１０】
請求項１乃至請求項９のいずれか１項に記載の情報処理装置と
前記シミュレータと
を備える情報処理システム。
【請求項１１】
前記シミュレータが、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返し後に、前記新規パラメータサンプル生成手段が生成した前記サンプルに基づき処理を実行する
請求項１０に記載の情報処理システム。
【請求項１２】
情報処理装置によって、
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する第１の処理を実行し、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する第２の処理を実行し、
前記第２の処理により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記第１の処理を実行するよう制御しつつ、前記第１の処理及び前記第２の処理を繰り返すよう制御する
情報処理方法。
【請求項１３】
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出ステップと、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成ステップと、
前記新規パラメータサンプル生成ステップで生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出ステップを実行するよう制御しつつ、前記対応データ算出ステップ及び前記新規パラメータサンプル生成ステップの処理を繰り返すよう制御する繰り返し制御ステップと
をコンピュータに実行させる
プログラムが格納された非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
シミュレーションで用いるモデルのパラメータを求めるための技術が提案されている。例えば、非特許文献１は、カーネルＡＢＣ（Kernel Approximate Bayesian Computation）及びカーネルハーディング（Kernel Herding）を繰り返し実行することにより、パラメータの点推定を行う手法について提案している。【０００３】
また、その他の関連技術として、いくつかの文献を挙げる。
特許文献１に開示された技術では、適応制御器として動作するコンピュータは、対象とする物理システムの時間発展がマルコフ過程として記述される際に、物理システムの状態に対する制御量を決定する。そして、このコンピュータは、物理システムの状態量を目標値に制御するための制御信号を、確率的な逐次的重点サンプリング法により適応的に生成する。【０００４】
特許文献２には、風力発電による発電量を予測する風力発電量予測装置が開示されている。この風力発電量予測装置は、第１風速と前記第１風速における第１発電量とを示すデータを近似する多項式を生成し、この多項式に基づいてそれぞれ算出される第２風速及び前記第２風速における第２発電量の誤差分散に基づく最尤推定値を計算する。そして、風力発電量予測装置が、前記最尤推定値に基づいて、情報量規準を算出する。【０００５】
特許文献３は、目的変数の平均および分散が、連続値を取る説明変数に依存している場合においても、正確な回帰分析ができる情報処理装置について開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−０８４８３４号公報
【特許文献２】特開２０１７−１４１７４７号公報
【特許文献３】国際公開第２０１１／０７４５０９号
【非特許文献】
【０００７】
【非特許文献１】Takafumi Kajihara, Motonobu Kanagawa, Keisuke Yamazaki, Kenji Fukumizu, “Kernel Recursive ABC: Point Estimation with Intractable Likelihood”, arXiv:1802.08404v2, 12 June 2018.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、非特許文献１に開示された手法は、最尤推定法の一種であるため、当該手法では点推定が行なわれる。すなわち、分布の推定が行なわれない。このため、例えば、特異モデル（singular model）のパラメータを推定する場合には、適切な推定ができない恐れがある。このような背景から、モデルのパラメータの事後分布を推定することができる新規な手法の提案が求められている。なお、特許文献１乃至３においても、モデルのパラメータの事後分布を推定する手法については開示されていない。【０００９】
そこで、本明細書に開示される実施形態が達成しようとする目的の１つは、モデルのパラメータの事後分布を推定することができる情報処理装置等を提供することにある。
【課題を解決するための手段】
【００１０】
第１の態様にかかる情報処理装置は、
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出手段と、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成手段と、
前記新規パラメータサンプル生成手段により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出手段が前記パラメータの分布に対応するデータを算出するよう制御しつつ、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理を繰り返すよう制御する繰り返し制御手段と
を備える。【００１１】
第２の態様にかかる情報処理システムは、
前記情報処理装置と
前記シミュレータと
を備える。【００１２】
第３の態様にかかる情報処理方法は、
情報処理装置によって、
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する第１の処理を実行し、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する第２の処理を実行し、
前記第２の処理により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記第１の処理を実行するよう制御しつつ、前記第１の処理及び前記第２の処理を繰り返すよう制御する。【００１３】
第４の態様にかかるプログラムは、
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出ステップと、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成ステップと、
前記新規パラメータサンプル生成ステップで生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出ステップを実行するよう制御しつつ、前記対応データ算出ステップ及び前記新規パラメータサンプル生成ステップの処理を繰り返すよう制御する繰り返し制御ステップと
をコンピュータに実行させる。
【発明の効果】
【００１４】
上述の態様によれば、モデルのパラメータの事後分布を推定することができる情報処理装置等を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る情報処理システムの構成の一例を示すブロック図である。
【図２】実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】実施の形態にかかる情報処理装置の機能構成の一例を示すブロック図である。
【図４】実施の形態にかかる情報処理装置の動作の一例を示すフローチャートである。
【図５】その他の実施の形態にかかる情報処理装置の機能構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下の各実施形態においては、理解しやすさのため数学的な用語を用いて説明するが、各用語は必ずしも数学的に定義されている値でなくてもよい。たとえば、距離は、ユークリッドノルムや、１ノルム等、数学的に定義することができる。しかし、距離は、そのような値に１を足したような値であってもよい。すなわち、以下の実施形態にて用いられる用語は、数学的に定義されている用語でなくてもよい。
【００１７】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、実施形態に係る情報処理システム１０の構成の一例を示すブロック図である。図１に示すように、情報処理システム１０は、情報処理装置１００とシミュレータサーバ（シミュレータ）２００とを備える。
【００１８】
シミュレータサーバ２００は、第１種類のデータの入力を受けて第２種類のデータを出力するシミュレータである。すなわち、シミュレータサーバ２００は、パラメータθにより規定されるモデルに従って、第１種類のデータから、第２種類のデータを予測するシミュレーション処理を行なう。たとえば、シミュレータサーバ２００は、パラメータθのサンプルに基づき、観測対象における処理（動作）をシミュレーションする処理を実行する。サンプルは、パラメータθの値を表す。したがって、複数のサンプルは、当該パラメータθの値として設定される複数の例（データ）を表している。
【００１９】
以下では、第１種類のデータをデータＸと称し、第２種類のデータをデータＹと称する。また、観測データの個数をｎ（ｎは正の整数）として、データＸの観測データ（第１種類の観測データ）を観測データＸｎと表記し、データＹの観測データ（第２種類の観測データ）を観測データＹｎと表記する。また、観測データＸｎの要素をＸ１、・・・、Ｘｎと表記し、観測データＹｎの要素をＹ１、・・・、Ｙｎと表記する。情報処理装置１００は、データＸｉ（ｉは、１≦ｉ≦ｎの整数）とデータＹｉとが一対一に対応付けられた観測データ（従って、Ｘ−Ｙ平面にプロット可能な観測データ）を取得する。
【００２０】
以降においては、観測データを観測情報と表すこともある。また、観測データＹｎを複数の観測情報と表すこともある。この場合に、また、各要素Ｙ１、・・・、Ｙｎを、それぞれ、観測情報と表すこともある。
【００２１】
観測データＸｎおよびＹｎは特定の種類のデータに限定されず、実測されたいろいろなデータとすることができる。観測データを得るための実測方法は特定の方法に限定されず、ユーザなど人による計数または測定、あるいはセンサを用いたセンシングなど、いろいろな方法を採用可能である。
例えば、観測データＸｎの要素は、観測対象を構成している構成要素の状態を表すものであってもよい。観測データＹｎの要素は、センサ等を用いて観測対象に関して観測された状態を表すものであってもよい。例えばユーザが、製造工場の生産性を分析したい場合、観測データＸｎは、当該製造工場における各設備の稼働状況を表すものであってもよい。観測データＹｎは、複数の設備によって構成されるラインにて製造される製品の個数を表すものであってもよい。また、観測データＸｎは、製造工場において製品の原材料となる素材を表していてもよい。この場合に、観測データＸｎによって表されている素材は、１つ以上の加工工程を経て製品に加工される。当該製品は、１種類の製品であるとは限らず、複数の製品（たとえば、製品Ａ、製品Ｂ、副産物Ｃ）であってもよい。観測データＹｎは、たとえば、製品Ａの個数、製品Ｂの個数、及び、副産物Ｃの個数（または、生産量等）を表している。
観測対象、および、観測データは、上述した例に限定されず、たとえば、加工工場における設備であってもよいし、ある施設を建設する場合における建設システムであってもよい。
【００２２】
ここで、観測データＸｎおよびＹｎは、独立に同一の真の分布ｑ（ｘ，ｙ）＝ｑ（ｘ）ｑ（ｙ｜ｘ）に従って生じる。真のモデルｑ（ｙ｜ｘ）を推測するための統計モデルは、ｐ（ｙ｜ｘ，θ）と表せる。ｑ（ｙ｜ｘ）は、事象ｘが生じたときに、事象ｙが生じる確率を表している。また、「ｑ（ｘ）ｑ（ｙ｜ｘ）」は、「ｑ（ｘ）×ｑ（ｙ｜ｘ）」を表している。以降においては、説明の便宜上、数学的な慣習に倣い、掛け算を表す演算子「×」を省略して表す。
【００２３】
シミュレータサーバ２００が用いる回帰モデルｒ（ｘ，θ）は、パラメータθの値の設定、および、変数ｘへのデータＸの値の入力を受けて、データＹの値を出力する。たとえば、シミュレータサーバ２００は、データＸ（ｘの値）に対して、パラメータθのサンプルを含む演算を施すことにより、データＹの値を出力する。なお、モデルには、必ずしも微分可能な関数が用いられなくてもよい。シミュレータサーバ２００は、観測対象における処理又は動作をシミュレーションする。
【００２４】
たとえば、観測対象が製造工場である場合に、シミュレータサーバ２００は、データＸの値に対して、パラメータθが表す値に従った演算を施しデータＹを算出することによって、製造工場における各プロセスをシミュレーションする。この場合に、パラメータθは、たとえば、各プロセスにおける入出力間の関係性を表している。パラメータθは、プロセスにおける状態を表しているともいうことができる。パラメータθは、１つであるとは限らず、複数であってもよい。すなわち、回帰モデルｒ（ｘ，θ）は、シミュレータサーバ２００が実行している全体の処理を、符号ｒを用いて総称的に表しているということもできる。
【００２５】
ここで、ベイズの統計的推論における表記について定義する。マイナス対数尤度関数(minus log likelihood function)Ｌｎ（θ）は以下の式（１）のように定義される。
【００２６】
＜式（１）＞
【数１】
2020105468.tif 000003
【００２７】
回帰問題がガウスノイズを伴う回帰関数でモデル化される場合、統計モデル（尤度関数）ｐ（ｙ｜ｘ，θ）は、以下の式（２）のように表される。統計モデルｐ（ｙ｜ｘ，θ）は、回帰モデルｒ（ｘ，θ）についての統計的な性質を示すモデルである。ただし、この回帰モデルｒ（ｘ，θ）は、必ずしも、数学的な式を用いて明示的に表されているとは限らず、たとえば、ｘと、θとを入力として、ｒ（ｘ，θ）を出力とするシミュレーション等の処理を表していてもよい。一般的に、回帰モデルでは、与えられたデータに合うように数式の係数が決められる。しかし、本実施形態における回帰モデルｒ（ｘ，θ）は、そのような数式が与えられていない場合であってもよい。すなわち、本実施形態における回帰モデルｒ（ｘ，θ）は、入力ｘ及びθと、出力ｒ（ｘ，θ）とが関連付けされた情報を表していればよい。
【００２８】
＜式（２）＞
【数２】
2020105468.tif 000004
【００２９】
ここで、σ（ただし、σ＞０）は、ガウスノイズの標準偏差である。すなわち、σはガウスノイズを伴う回帰関数で定義されるモデルにおける当該ガウスノイズの標準偏差である。また、ｒ（ｘ，θ）は、シミュレータサーバ２００が、回帰モデルによって表す処理に従い算出する値である。ｄはＸの次元数（すなわち、上述した観測データの個数）である。ｅｘｐは、ネイピア数を底とする指数関数を表す。｜｜は、ノルムを算出することを表す。πは、円周率を表す。
【００３０】
また、逆温度を含むベイズの定理は、以下の式（３）のように表される。
＜式（３）＞
【数３】
2020105468.tif 000005
【００３１】
ここで、π（θ）は、パラメータθについての事前分布である。また、ｐ（θ｜ｘ，ｙ）は、パラメータθについての事後分布である。β（ただし、β＞０）は、逆温度と呼ばれるパラメータである。上記ベイズの定理によれば、パラメータθの事後分布は、パラメータθの事前分布π（θ）と、尤度関数ｐ（ｙ｜ｘ，θ）とに基づいて、算出することができる。
【００３２】
尤度関数ｐ（ｙ｜ｘ，θ）が解析的に数式として表現できない場合、すなわち尤度関数ｐ（ｙ｜ｘ，θ）が微分できない場合、パラメータθの事後分布を算出することは困難である。しかしながら、そのような場合であっても、例えば次のような手法により、事後分布に従うサンプルを取得することができる。以下、カーネルＡＢＣ（Kernel Approximate Bayesian Computation）及び所定の処理（カーネルハーディング（Kernel Herding）等）を用いたパラメータθのサンプルデータの取得について説明する。
【００３３】
カーネルＡＢＣは、カーネル平均を算出することにより、事後分布を推定するアルゴリズムである。カーネルＡＢＣでは、ｍ個のサンプルデータに基づきシミュレーションを行い、ｍ個のパラメータのサンプルデータの重み（重要度）を、観測対象に対して観測された観測データに基づき決定することで事後分布が得られる。たとえば、シミュレーション結果が観測データに類似しているほど、当該シミュレーション結果に用いられたパラメータを重視する重みを算出する。逆に、シミュレーション結果が観測データに類似していないほど、当該シミュレーション結果に用いられたパラメータを軽視する重みを算出する。
【００３４】
カーネルハーディング（所定の処理の一例）は、事後分布を示すカーネル平均から事後分布に従ったサンプルを取得するアルゴリズムである。カーネルハーディングは、求めたカーネル平均に最も近くなる場合のサンプルを逐次的に決めていく。本実施形態においては、カーネルＡＢＣ、及び、カーネルハーディングにおける処理によって、ｍ個のサンプルに対して、新たにｍ個のサンプルが算出されるため、サンプルの値を調整しているともいうことができる。
【００３５】
カーネルハーディングは、サンプルを逐次的に決めていく方法であるが、事後分布（本実施形態では、推定された事後分布）に従ったサンプルを取得する所定の処理は、カーネルハーディングに限定されない。すなわち、所定の処理は、事後分布（本実施形態では、推定された事後分布）に従ったサンプルを作成する方法であればよい。
【００３６】
本実施の形態では、式（３）に示したとおり、逆温度βが含まれる事後分布に従ったパラメータθのサンプルデータを取得する。具体的には、カーネルＡＢＣ及びカーネルハーディングを用いてサンプルデータを取得する情報処理装置１００について示す。
【００３７】
逆温度βは、事後分布を推定する処理において、各サンプルに基づき算出される分布が当該推定される分布に与える影響を平準化するレベルを表している値を表しているということもできる。この場合に、逆温度βが高い値であるほど、平準化するレベルは低い。言い換えると、逆温度βが高い値であるほど、推定される分布は、個々の分布の影響を受けやすくなる。これに対して、逆温度βが低い値であるほど、平準化するレベルは高い。言い換えると、逆温度βが低い値であるほど、推定される分布は、一部の分布の影響を受けにくくなる。また、逆温度βは、当該推定される分布に対してサンプルが影響している程度を表す影響度を表しているとも言うことができる。すなわち、逆温度βは、当該推定される分布に対するサンプルの影響度を表しているとも言うことができる。
【００３８】
次に、本実施の形態におけるパラメータθの事後分布の推定方法について説明する。本実施の形態では、カーネルＡＢＣ及びカーネルハーディングによるパラメータ推定処理を繰り返し実行することで、パラメータθの事後分布のサンプルを取得する。すなわち、本実施の形態では、パラメータ推定処理により取得されたパラメータθの事後分布のサンプルを、事前分布からのサンプルとみなして、パラメータ推定処理を繰り返すことにより、パラメータθの事後分布のサンプルを取得する。これについて、数式を用いて説明する。なお、情報処理装置１００は、上述した処理の繰り返しをＴ回、行なう。ただし、Ｔは２以上の整数である。また、ｔ番目の（ただし、ｔ＝１，２，・・・，Ｔ）繰り返し処理で用いられる逆温度の値をβ（ｔ）とする。ここで、繰り返し処理のそれぞれで設定されるβ（ｔ）の合計は１であるとする。すなわち、以下の式（４）が成り立つとする。ただし、０＜β（ｔ）＜１である。
【００３９】
＜式（４）＞
【数４】
2020105468.tif 000006
【００４０】
言い換えると、この場合には、繰り返し回数分の影響度の合計が１となるように、繰り返しの各回の影響度が設定される。
繰り返し処理の１回目（ｔ＝１）、すなわち、１回のパラメータ推定処理では、ベイズの定理（式（３）参照）に基づいて、以下の式（５）で表される事後分布が得られる。なお、１回のパラメータ推定処理では、パラメータθの事前分布から得られた第１の所定数のサンプルに基づいて、第２の所定数のパラメータが得られる。事前分布から得るサンプル数（すなわち第１の所定数）と、パラメータ推定処理結果として得られるサンプル数（すなわち第２の所定数）は本実施の形態ではいずれもｍ個であるが、互いに異なってもよい。ただし、サンプル数は多いほど分布を適切に表現できる。
【００４１】
＜式（５）＞
【数５】
2020105468.tif 000007
【００４２】
なお、「∝」は、比例関係を表している。ここで、繰り返し処理の１回目により得られた事後分布ｐ（１）（θ｜ｘ，ｙ）を、事前分布とみなし、繰り返し処理の２回目を行なう。すなわち、繰り返し処理の１回目の処理結果として得られたサンプルを用いて、再度、パラメータ推定処理を行なう。その結果、得られる事後分布（繰り返し処理の２回目により得られた事後分布ｐ（２）（θ｜ｘ，ｙ））は、以下の式（６）で表される。
【００４３】
＜式（６）＞
【数６】
2020105468.tif 000008
【００４４】
同様に、繰り返し処理の２回目により得られた事後分布ｐ（２）（θ｜ｘ，ｙ）を、事前分布とみなし、繰り返し処理の３回目を行なう。したがって、繰り返し処理のＴ回目で得られる事後分布ｐ（Ｔ）（θ｜ｘ，ｙ）は、以下の式（７）で表される。
【００４５】
＜式（７）＞
【数７】
2020105468.tif 000009
【００４６】
つまり、式（４）を用いると、事後分布ｐ（Ｔ）（θ｜ｘ，ｙ）は、以下の式（８）で表される。
【００４７】
＜式（８）＞
【数８】
2020105468.tif 000010
【００４８】
式（８）は、逆温度を含まないベイズの定理を表している。つまり、ベイズ推定が行なわれていることを示している。非特許文献１で示された手法は、最尤推定、すなわち、点推定であるが、本実施の形態で示される手法では、逆温度を用いたパラメータ推定処理を繰り返すことにより、分布の推定を可能にしている。
【００４９】
以下、情報処理装置１００について具体的に説明する。
図２は、情報処理装置１００のハードウェア構成の一例を示すブロック図である。情報処理装置１００は、入出力インタフェース１０１、メモリ１０２、及びプロセッサ１０３を含む。
【００５０】
入出力インタフェース１０１は、データの入出力を行うインタフェースである。例えば、入出力インタフェース１０１は、他の装置と通信するために使用される。この場合、例えば、入出力インタフェース１０１は、シミュレータサーバ２００と通信するために使用される。入出力インタフェース１０１は、観測データＸｎ又は観測データＹｎを出力するセンサ装置などの外部装置と通信するために使用されてもよい。また、入出力インタフェース１０１は、さらに、キーボード及びマウスなどの入力デバイスと接続するインタフェースを含んでもよい。この場合、入出力インタフェース１０１は、ユーザの操作により入力されたデータを取得する。また、入出力インタフェース１０１は、さらに、ディスプレイと接続するインタフェースを含んでもよい。この場合、例えば、入出力インタフェース１０１を介して、ディスプレイに、情報処理装置１００の演算結果などが表示される。
【００５１】
メモリ１０２は、例えば、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ１０２は、情報処理装置１００の処理に用いられる各種データの他、プロセッサ１０３により実行される、１以上の命令を含むソフトウェア（コンピュータプログラム）などを格納するために使用される。
【００５２】
プロセッサ１０３は、メモリ１０２からソフトウェア（コンピュータプログラム）を読み出して実行することで、後述する図３に示される各構成の処理を行う。プロセッサ１０３は、例えば、マイクロプロセッサ、ＭＰＵ(Micro Processor Unit)、又はＣＰＵ(Central Processing Unit)などであってもよい。プロセッサ１０３は、複数のプロセッサを含んでもよい。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００５３】
図３は、情報処理装置１００の機能構成の一例を示すブロック図である。情報処理装置１００は、第１のパラメータサンプル生成部１１０と、第２種類サンプルデータ取得部１１２と、カーネル平均算出部１１４と、第２のパラメータサンプル生成部１１６と、繰り返し制御部１１８とを有する。なお、第１のパラメータサンプル生成部１１０は、事前パラメータサンプル生成部とも称され、カーネル平均算出部１１４は対応データ算出部とも称され、第２のパラメータサンプル生成部１１６は、新規パラメータサンプル生成部とも称される。
【００５４】
第１のパラメータサンプル生成部１１０は、第１種類のデータ（データＸ）の入力を受けて第２種類のデータ（データＹ）を出力する回帰モデルｒ（ｘ，θ）のパラメータθの事前分布π（θ）に基づいて、パラメータθのサンプルデータを生成する。事前分布π（θ）は、たとえば、一様分布である。一様分布である場合には、θの値が定義されている定義域からランダムにサンプルデータが選ばれる。ある程度事後分布に近いと推定される分布が得られている場合には、当該分布を事前分布π（θ）に設定してもよい。この場合には、当該定義域から、事前分布π（θ）に従いサンプルデータが選ばれる。事前分布π（θ）は、上述した例に限定されず、また、陽に与えられているとも限らない。事前分布π（θ）が陽に与えられていない場合には、事前分布π（θ）を、たとえば、一様分布に設定する。また、後述するように、事前分布π（θ）をユーザが設定してもよい。
【００５５】
すなわち、第１のパラメータサンプル生成部１１０が生成するサンプルデータの数をｍ（ｍは正の整数）とし、ｊを１≦ｊ≦ｍの整数とすると、パラメータθのサンプルデータは、以下の式（９）のように表される。ここで、ｄθは、パラメータの次元数（すなわち、パラメータθの種類の個数）を示す。すなわち、式（９）は、ｄθ種類のパラメータを含むセットが、ｍ個であること表す。Ｒは、実数を示す。
式（９）に示されるように、パラメータθのサンプルデータは、ｄθ次元の実数として示され、事前分布π（θ）に従う。なお、事前分布π（θ）は、予めメモリ１０２に記憶されている。事前分布π（θ）は、例えば、ユーザが、シミュレーション対象に関して有する知識に応じた精度で予め設定されている。
【００５６】
＜式（９）＞
【数９】
2020105468.tif 000011
【００５７】
上述した繰り返し処理の１回目において、第２種類サンプルデータ取得部１１２は、次のように動作する。第２種類サンプルデータ取得部１１２は、第１のパラメータサンプル生成部１１０が生成したパラメータθを受け取り、受け取ったｍ個のパラメータθを第１種類のデータの観測データ（観測データＸｎ）と供にシミュレータサーバ２００に入力する。また、繰り返し処理の２回目以降においては、第２種類サンプルデータ取得部１１２は、次のように動作する。第２種類サンプルデータ取得部１１２は、後述する第２のパラメータサンプル生成部１１６が生成したパラメータθについてのｍ個のサンプルを、後述する繰り返し制御部１１８の制御にしたがって受け取る。そして、第２種類サンプルデータ取得部１１２は、受け取ったｍ個のパラメータθを第１種類のデータの観測データ（観測データＸｎ）と供にシミュレータサーバ２００に入力する。
これにより、シミュレータサーバ２００には、当該ｍ個のパラメータθと、第１種類のデータの観測データ（観測データＸｎ）とが入力される。
【００５８】
シミュレータサーバ２００は、入力された当該ｍ個のパラメータθのそれぞれに関して、第１種類のデータの観測データ（観測データＸｎ）に基づき、シミュレーション計算を実行する。すなわち、シミュレータサーバ２００は、入力した当該ｍ個のパラメータθに応じて、観測対象に関するｍ種類のシミュレーション計算を実行する。シミュレータサーバ２００は、ｍ種類のシミュレーション計算を実行することによって、ｍ種類のシミュレーション結果（
【数１０】
2020105468.tif 000012
）を算出する。
【００５９】
第２種類サンプルデータ取得部１１２は、シミュレータサーバ２００からｍ種類のシミュレーション結果を、第２種類のサンプルデータとして取得する。上述した処理を数学的に表せば、以下のように表すことができる。
【００６０】
第２種類サンプルデータ取得部１１２は、パラメータのサンプルデータ毎に、ｎ個（観測データＸｎの要素数と同数）の要素を有する、式（１０）のように表されるサンプルデータを、モデル（シミュレータサーバ２００）から取得する。
【００６１】
＜式（１０）＞
【数１１】
2020105468.tif 000013
【００６２】
式（１０）に示されるように、第２種類サンプルデータ取得部１１２が取得するサンプルデータは、ｎ次元の実数として示され、回帰モデルｒ（ｘ，θ）の尤度関数ｐ（ｙ｜θ）に、パラメータのサンプルデータを入力した分布に従う。
【００６３】
カーネル平均算出部１１４は、カーネルＡＢＣに従い、パラメータの事後分布を示すカーネル平均を推定する。すなわち、カーネル平均算出部１１４は、パラメータのサンプルデータと第２種類のサンプルデータとに基づいて、パラメータの事後分布を示すカーネル平均を算出する。特に、カーネル平均算出部１１４は、逆温度が含まれるカーネル関数を用いてカーネル平均を算出する。
【００６４】
ここで、カーネルＡＢＣについて説明する。式（９）で示されるサンプルデータと、式（１０）で示されるサンプルデータを用いて、カーネルＡＢＣでは、以下の式（１１）で示されるカーネル平均を算出する。カーネル平均は、事後分布をカーネル平均埋め込み（Kernel Mean Embeddings）により再生核ヒルベルト空間（Reproducing Kernel Hilbert Space；ＲＫＨＳ）上で表現したものに該当する。カーネル平均は、パラメータの分布（事後分布）に対応するデータの一例である。
【００６５】
＜式（１１）＞
【数１２】
2020105468.tif 000014
【００６６】
ここで、重みｗｊは、以下の式（１２）のように示される。Ｈは、再生核ヒルベルト空間を示す。すなわち、重み（重要度）ｗｊが大きな値であるほど、サンプル
【数１３】
2020105468.tif 000015
に関するカーネルが平均に与える影響が強いことを表す。重みｗｊが小さな値であるほど、サンプル
【数１４】
2020105468.tif 000016
に関するカーネルが平均に与える影響が弱いことを表す。
【００６７】
＜式（１２）＞
【数１５】
2020105468.tif 000017
【００６８】
なお、上付きのＴは、行列またはベクトルの転置を示す。また、Ｉは、単位行列を示し、δ（ただし、δ＞０）は、正則化定数（regularization constant）である。また，ベクトルｋｙ（Ｙｎ）及びグラム行列（Gramm Matrix）Ｇは、実数の要素からなるデータベクトルＹｎに対するカーネルｋｙにより、以下の式（１３）、式（１４）のように示される。ｋｙ（Ｙｎ）は、観測データＹｎと、当該観測データＹｎに対応する式（１０）のサンプルデータの近さ（ノルム）、すなわち類似度を算出する関数である。言い換えると、式（１３）により、観測データ（観測データＸｎ）に対してシミュレータサーバ２００が出力したｍ種類のシミュレーション結果のそれぞれと、当該観測データに対して観測対象が実際に出力した観測データとの類似度が算出される。カーネル平均は、算出された類似度を用いて各パラメータの重みを決定し、式（１１）に示す処理に従い算出される重み付き平均である。
【００６９】
＜式（１３）＞
【数１６】
2020105468.tif 000018
【００７０】
＜式（１４）＞
【数１７】
2020105468.tif 000019
【００７１】
式（１３）は、観測対象に入力を与えた場合に観測される複数の観測情報と、シミュレータサーバ２００が複数のサンプル及び入力を表す第１種類のデータに対して作成した第２種類のデータとの差異を算出しているともいえる。また、式（１１）は、ｍ種類のシミュレーション結果のうち、観測対象に関して実際に観測された観測データに類似しているデータに対しては、大きい重みを算出する処理を表しているということもできる。同様に、ｍ種類のシミュレーション結果のうち、観測対象に関して実際に観測された観測データに類似していないデータに対しては、小さい重みを算出する処理を表しているということもできる。すなわち、式（１３）を用いて算出される式（１２）は、シミュレーション結果と、観測データとが類似している程度に応じた重みを算出する処理を表しているということもできる。これは、共変量シフトを用いた処理であるともいうことができる。
【００７２】
共変量シフト（Covariate Shift）に対するカーネルＡＢＣでは、訓練データセット｛Ｘｎ，Ｙｎ｝が従う分布ｑ０（ｘ）は、テスト又は予測用のデータセットが従う分布ｑ１（ｘ）と異なるが、真の関数関係ｐ（ｙ｜ｘ）は同じである。すなわち、共変量シフトは、与えられたｘに対してｙを算出する処理自体は、複数のｘに対しても一定であるものの、入力である分布が、訓練時とテスト時とでは異なっていることを表している。ここで、確率密度ｑ０（ｘ）及びｑ１（ｘ）が既知、もしくはそれらの比ｑ０（ｘ）／ｑ１（ｘ）が既知であるとする。この場合に、当該比が１に近いほど、訓練時のｑ０（ｘ）と、テスト時のｑ１（ｘ）とは同じような確率で生じることを表す。当該比が１よりも大きな値であるほど、テスト時よりも訓練時の確率が高いことを表す。また、当該比が１よりも小さな値であるほど、訓練時よりもテスト時の確率が高いことを表す。すなわち、当該比は、データｘが訓練時の分布と、テスト時の分布とのいずれに近いかを表す指標である。当該指標は、比に限定されず、たとえば両分布の差といった、訓練時の分布と、テスト時の分布との差異を表す指標であればよい。確率密度ｑ０（ｘ）及びｑ１（ｘ）が既知、もしくはそれらの比ｑ０（ｘ）／ｑ１（ｘ）が既知である場合、上記式（１３）及び式（１４）の右辺におけるカーネル関数ｋｙは、以下の式（１５）のように表すことができる。式（１５）は逆温度が訓練データ（観測データ）に依存しているか否かという点での違いを除き、後述する式（２０）に対応している。
【００７３】
＜式（１５）＞
【数１８】
2020105468.tif 000020
【００７４】
なお、式（１５）の左辺における（Ｙｎ，Ｙｎ’）は、カーネル関数が、ｎ次元ベクトル（要素数がｎである（すなわち、ｎ個の要素を含む）データセット）で表された第２種類のデータについての２変数関数（ただし、２つの変数はいずれもベクトル）であることを示している。すなわち、左辺におけるＹｎは、２変数関数における第１の変数を示し、左辺におけるＹｎ’は、２変数関数における第２の変数を示している。そして、右辺のＹｉは、第１の変数として２変数関数に入力されたｎ次元ベクトルのｉ番目の要素を示している。また、右辺のＹｉ’は、第２の変数として２変数関数に入力されたｎ次元ベクトルのｉ番目の要素を示している。
【００７５】
式（１５）において、σは第２種類のデータについてのガウスノイズの標準偏差である。より、詳細には、式（１５）において、σは、式（１５）を算出するために用いられる第２種類のデータの観測データ全体からなる分布の標準偏差である。特に、式（１５）におけるσの意味としては、第２種類の観測データの分布と第２種類のサンプルデータの分布の類似度を測るためのスケールを示す値ということができる。また、ｎは第２種類のデータのデータ数であり、βｉは逆温度であり、Ｙｉ及びＹｉ’は第２種類のデータの値である。すなわち、式（１５）においては、第２種類のデータセットに含まれている要素（たとえば、観測データの種類）ごとにβｉなる逆温度にて重み付けされている。言い換えると、当該逆温度であるβｉを適切に設定することによって、第２種類のデータの種類ごとに優先度をつけることが可能である。
【００７６】
式（１５）において、βｉは、訓練データ（観測データ）｛Ｘｉ，Ｙｉ｝に依存した逆温度である。すなわち、データ毎に逆温度の値が相互に異なるよう設定することができる。すなわち、観測データの種類（すなわち、Ｙｎに含まれている要素）ごとに、逆温度βｉを設定することができる。たとえば、重要度が高い観測データの種類に関しては逆温度に、より大きな値を設定し、重要度が低い観測データに対しては逆温度に小さな値を設定する。
【００７７】
本実施の形態では、訓練データ（観測データ）｛Ｘｉ，Ｙｉ｝に依存しない逆温度について、カーネル平均を算出する。具体的には、カーネル平均算出部１１４は以下の式（１６）で示されるカーネル平均を算出する。
【００７８】
＜式（１６）＞
【数１９】
2020105468.tif 000021
【００７９】
ここで、重み
【数２０】
2020105468.tif 000022
は、以下の式（１７）のように示される。
【００８０】
＜式（１７）＞
【数２１】
2020105468.tif 000023
【００８１】
ベクトル
【数２２】
2020105468.tif 000024
及びグラム行列
【数２３】
2020105468.tif 000025
は、実数の要素からなるデータベクトルＹｎに対するカーネル
【数２４】
2020105468.tif 000026
により、以下の式（１８）、式（１９）のように示される。
【００８２】
＜式（１８）＞
【数２５】
2020105468.tif 000027
【００８３】
＜式（１９）＞
【数２６】
2020105468.tif 000028
【００８４】
ここで、式（１８）及び式（１９）における右辺のカーネル関数
【数２７】
2020105468.tif 000029
は、以下の式（２０）のように表すことができる。
【００８５】
＜式（２０）＞
【数２８】
2020105468.tif 000030
【００８６】
なお、式（２０）の左辺における（Ｙｎ，Ｙｎ’）は、カーネル関数が、ｎ次元ベクトル（要素数がｎである（すなわち、ｎ個の要素を含む）データセット）で表された第２種類のデータについての２変数関数（ただし、２つの変数はいずれもベクトル）であることを示している。すなわち、左辺におけるＹｎは、２変数関数における第１の変数を示し、左辺におけるＹｎ’は、２変数関数における第２の変数を示している。そして、右辺のＹｉは、第１の変数として２変数関数に入力されたｎ次元ベクトルのｉ番目の要素を示している。また、右辺のＹｉ’は、第２の変数として２変数関数に入力されたｎ次元ベクトルのｉ番目の要素を示している。
【００８７】
式（１５）に示された処理と、式（２０）に示された処理とを比較すると、式（１５）においては、第２種類のデータセットに含まれている要素（たとえば、観測データの種類）ごとにβｉなる逆温度にて重み付けされている。これに対して、式（２０）においては、第２種類のデータセットに含まれている要素（たとえば、観測データの種類）は、同じ逆温度にて重み付けされている。
【００８８】
式（２０）において、σは第２種類のデータについてのガウスノイズの標準偏差である。より、詳細には、式（２０）において、σは、式（２０）を算出するために用いられる第２種類のデータの観測データ全体からなる分布の標準偏差である。特に、式（２０）におけるσの意味としては、第２種類の観測データの分布と第２種類のサンプルデータの分布の類似度を測るためのスケールを示す値ということができる。また、ｎは第２種類のデータのデータ数であり、βは逆温度であり、Ｙｉ及びＹｉ’は第２種類のデータの値である。ここで、βは、観測データに依存しない定数である。βは、上述したβ（ｔ）に相当する。したがって、具体的には、１回目のパラメータ推定処理においてはβの値としてβ（１）が用いられ、２回目のパラメータ推定処理においてはβの値としてβ（２）が用いられる。同様に、Ｔ回目のパラメータ推定処理においてはβの値としてβ（Ｔ）が用いられる。
【００８９】
第２のパラメータサンプル生成部１１６は、カーネル平均算出部１１４が算出したカーネル平均に基づいて、逆温度を用いて定義される事後分布に従ったパラメータのサンプルデータを生成する。ここで、逆温度を用いて定義される事後分布とは、事前分布と、逆温度により制御される尤度関数とにより、ベイズの定理に基づいて定義される事後分布である。したがって、事後分布は、ｅｘｐ（−βｎＬｎ（θ）＋ｌｏｇπ（θ））に従う分布である。
【００９０】
具体的には、第２のパラメータサンプル生成部１１６は、カーネルハーディングを用いて、事後分布に従ったパラメータのサンプルデータを生成する。カーネルハーディングでは、以下の式（２１）及び式（２２）に示す更新式により、事後分布に従うｍ個のサンプルデータθ１，・・・，θｍを生成する。
【００９１】
＜式（２１）＞
【数２９】
2020105468.tif 000031
【００９２】
＜式（２２）＞
【数３０】
2020105468.tif 000032
【００９３】
ここで、ｊ＝０，・・・，ｍ−１である。また、ａｒｇｍａｘθｈｊ（θ）は、ｈｊ（θ）の値を最大にするθの値を示す。ｈｊは、式（２２）により逐次的に示される。ｈｊの初期値ｈ０及びμには、式（１６）に示された処理に従い算出されたカーネル平均の値が使われる。すなわち、第２のパラメータサンプル生成部１１６は、カーネル平均算出部１１４が算出したカーネル平均を用いて、カーネルハーディング等の所定の処理により、当該カーネル平均を表すのに適したｍ個のサンプルデータθ１，・・・，θｍを生成する。言い換えると、情報処理装置１００は、事前分布に従ったｍ個のサンプルデータに対して、推定された事後分布に従ったｍ個のサンプルデータを算出する処理を実行する。したがって、情報処理装置１００における処理は、ｍ個のサンプルデータの値を調整している処理であるともいうことができる。
【００９４】
繰り返し制御部１１８は、カーネルＡＢＣ及びカーネルハーディングによるパラメータ推定処理を所定の回数（Ｔ回）、繰り返すよう制御する。つまり、繰り返し制御部１１８は、ｔ回目の繰り返し処理で第２のパラメータサンプル生成部１１６により生成されたサンプルを、第２種類サンプルデータ取得部１１２がｔ＋１回目の繰り返し処理において用いるように制御する。このため、カーネル平均算出部１１４は、ｔ＋１回目の処理において、観測データＸｎと、ｔ回目の繰り返し処理で第２のパラメータサンプル生成部１１６により生成されたサンプルとを用いて、カーネル平均を算出することとなる。よって、繰り返し制御部１１８は次のように説明することもできる。すなわち、繰り返し制御部１１８は、第２のパラメータサンプル生成部１１６により生成されたサンプル及び第１種のデータに対してシミュレータサーバ２００が作成した第２種類のデータを用いて、カーネル平均を算出するよう制御する。そして、繰り返し制御部１１８は、そのような制御を行いつつ、パラメータ推定処理を繰り返すよう制御する。
【００９５】
なお、繰り返し制御部１１８は、各パラメータ推定処理において用いられる逆温度βの値を設定してもよい。なお、上述した通り、繰り返し処理のそれぞれで設定されるβの合計は１である。具体的は、例えば、設定される逆温度は、パラメータ推定処理の繰り返しによらず一定であってもよいし、パラメータ推定処理の繰り返しに伴い変化してもよい。
【００９６】
パラメータ推定処理の繰り返しによらず一定の逆温度を設定する場合、繰り返し制御部１１８は、逆温度の値としてβ（ｔ）＝１／Ｔを設定する。
【００９７】
パラメータ推定処理の繰り返しに伴い変化する逆温度を設定する場合、例えば、パラメータ推定処理の繰り返し回数に応じて逆温度が小さくなるように設定してもよい。換言すると、繰り返しにおいて、前回の値以下の値が影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも小さい値が影響度に設定されてもよい。また、パラメータ推定処理の繰り返し回数に応じて逆温度が大きくなるように設定してもよい。換言すると、繰り返しにおいて、前回の値以上の値が影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも大きい値が影響度に設定されてもよい。
【００９８】
パラメータ推定処理の繰り返しに伴い変化する逆温度を設定する場合、繰り返し制御部１１８は、所定の等比数列に基づいて、逆温度の値を設定してもよい。初項ａ、公比ｒ（ただし−１＜ｒ＜１）の等比数列の無限の項の総和である無限等比級数は、ａ／（１−ｒ）に収束する。したがって、繰り返し制御部１１８は、式（４）を満たすよう、例えば、ａ／（１−ｒ）＝１を満たす任意のａ，ｒで表される等比数列を用いてもよい。
【００９９】
例えば、等比数列の各項の値を、初項から順に、パラメータ推定処理のそれぞれにおいて設定される逆温度の値として用いてもよい。この場合、パラメータ推定処理の繰り返し回数に応じて逆温度が小さくなるように設定される。ただし、現実的には、パラメータ推定処理の繰り返し回数は有限回である。したがって、例えば、繰り返し制御部１１８は、次のように逆温度の設定を行なってもよい。すなわち、繰り返し制御部１１８は、項数がＴ−１である等比数列の各項の値を、初項から順に、１回目からＴ−１回目までのパラメータ推定処理の逆温度の値として設定する。そして、Ｔ回目のパラメータ推定処理では、この等比数列のＴ−１番目の項の値を再度逆温度の値として設定する。このように、繰り返し制御部１１８は、繰り返しの各回において、前回設定した逆温度以下になるように、今回の逆温度を決定してもよい。
【０１００】
また、等比数列の各項の値を、末項から順に、パラメータ推定処理のそれぞれにおいて設定される逆温度の値として用いてもよい。この場合、パラメータ推定処理の繰り返し回数に応じて逆温度が大きくなるように設定される。この場合も、有限個の項からなる等比数列の総和が１となるように、次のように設定が行なわれてもよい。例えば、繰り返し制御部１１８は、まず、１回目のパラメータ推定処理では、項数がＴ−１である等比数列のＴ−１番目の項の値を逆温度の値として設定する。そして、２回目からＴ回目までのパラメータ推定処理の逆温度の値として、この等比数列の各項の値を、終項から順に、設定する。このように、繰り返し制御部１１８は、繰り返しの各回において、前回設定した逆温度以上になるように、今回の逆温度を決定してもよい。
【０１０１】
このように、逆温度は任意に設定することができる。式（５）、式（６）、又は式（７）に示されるように、事後分布は尤度関数と事前分布の積に比例しており、逆温度は尤度関数に対する冪数となっている。したがって、逆温度の設定は、事後分布に対し、どの程度、尤度関数の影響を反映させるかを示している。このため、繰り返されるパラメータ推定処理において逆温度をどのように設定するかは、用いる尤度関数の信頼性に応じて定められてもよい。例えば、尤度関数の信頼性が高い場合には、パラメータ推定処理の１回目に以降の繰り返しにおける逆温度よりも大きな値を逆温度に設定してもよい。逆に、尤度関数の信頼性が低い場合には、パラメータ推定処理の１回目では以降の繰り返しにおける逆温度よりも小さな値を逆温度に設定してもよい。また、繰り返されるパラメータ推定処理において逆温度をどのように設定するかは、用いる事前分布の信頼性に応じて定められてもよい。例えば、事前分布の信頼性が高い場合には、パラメータ推定処理の１回目に以降の繰り返しにおける逆温度よりも小さな値を逆温度に設定してもよい。逆に、事前分布の信頼性が低い場合には、パラメータ推定処理の１回目では以降の繰り返しにおける逆温度よりも大きな値を逆温度に設定してもよい。
【０１０２】
次に、情報処理装置１００の動作についてフローチャートに基づいて説明する。図４は、情報処理装置１００の動作の一例を示すフローチャートである。以下、図４に沿って、動作を説明する。
【０１０３】
ステップＳ１００において、第１のパラメータサンプル生成部１１０が、事前分布π（θ）に基づいて、パラメータθのサンプルデータを生成する。第１のパラメータサンプル生成部１１０が生成したサンプルデータは、１回目のパラメータ推定処理において、シミュレータサーバ２００に入力される。本実施の形態では、生成したサンプルデータは、一例として、第２種類サンプルデータ取得部１１２によりシミュレータサーバ２００に入力される。
【０１０４】
次に、ステップＳ１０１において、第２種類サンプルデータ取得部１１２が、シミュレータサーバ２００によって算出された第２種類のサンプルデータを取得する。すなわち、第２種類サンプルデータ取得部１１２は、予め取得されている訓練データセット｛Ｘｎ，Ｙｎ｝のうち、第１種類のデータであるＸｎをモデルに入力し、モデルからの出力を取得する。訓練データセット｛Ｘｎ，Ｙｎ｝は、第１種類のデータであるＸｎと第２種類のデータであるＹｎとが関連付けされた情報である。この場合に、第２種類のデータであるＹｎは、たとえば、第１種類のデータであるＸｎに対して観測対象が実際に処理（動作）を施すことによって、観測対象に関して観測された情報を表す。
【０１０５】
上述したように、シミュレータサーバ２００は、パラメータθが表す値に従った演算をデータＸの値に対して施すことによってデータＹを算出する。これによって、観測対象における処理（動作）をシミュレーションする。この場合に、パラメータθは、たとえば、各処理（動作）における入出力間の関係性を表している。
１回目のパラメータ推定処理の場合、ステップＳ１０１において、第２種類サンプルデータ取得部１１２は、ステップＳ１００で生成されたサンプルデータがパラメータとして設定されたモデルに従い算出された第２種類のサンプルデータを取得する。これに対し、２回目以降のパラメータ推定処理の場合、第２種類サンプルデータ取得部１１２は、後述するステップＳ１０３で生成されたサンプルデータをモデルのパラメータとして設定する。そして、そのモデルに従い算出された第２種類のサンプルデータを取得する。
【０１０６】
ステップＳ１０１では、シミュレータサーバ２００は、観測対象に対して与えられた入力を表す第１種類のデータであるＸｎを入力として受け付け、入力されたパラメータθに従った処理を第１種類のデータであるＸｎに対して施すことによって当該観測対象をシミュレーションする。この結果、シミュレータサーバ２００は、当該シミュレーションした結果を表すシミュレーション結果（
【数３１】
2020105468.tif 000033
）を作成する。
【０１０７】
次に、ステップＳ１０２において、カーネル平均算出部１１４は、得られたサンプルデータを用いて、カーネルＡＢＣにより、パラメータの事後分布を示すカーネル平均を算出する。なお、この事後分布は、上述の通り、逆温度を用いて定義される事後分布である。カーネル平均算出部１１４は、式（２０）で示される逆温度が含まれるカーネル関数を用いてカーネル平均を算出する。言い換えると、カーネル平均算出部１１４は、第２種類のデータについての観測データとサンプルデータとの差異と、逆温度とに応じて、パラメータの各サンプルの重要度を決定することにより、パラメータの分布に対応するデータを算出する。
【０１０８】
次に、ステップＳ１０３において、第２のパラメータサンプル生成部１１６が、ステップＳ１０２で算出されたカーネル平均に基づいて、逆温度を用いて定義される事後分布に従ったパラメータのサンプルデータを生成する。
【０１０９】
次に、ステップＳ１０４において、繰り返し制御部１１８は、パラメータ推定処理の繰り返し回数が所定の回数（Ｔ）に達したか否かを判定する。繰り返し回数が所定の回数に達していない場合、繰り返し制御部１１８は、ステップＳ１０３で得られたサンプルデータを用いて、再度、ステップＳ１０１からステップＳ１０３の処理が行なわれるよう制御する。繰り返し回数が所定の回数に達している場合、ステップＳ１０５において、繰り返し制御部１１８は、ステップＳ１０３で得られたサンプルデータ群を、パラメータの事後分布として出力する。
【０１１０】
以上、実施の形態について説明した。本実施の形態では、逆温度を用いたパラメータ推定処理を繰り返す。これにより、ベイズ推定が行なわれ、パラメータの事後分布を取得することができる。特に、パラメータ推定処理が繰り返し実行されるベイズ推定であるため、特異モデルなどのように、１回のパラメータ推定処理では事後分布の適切なサンプルの取得が難しいようなモデルに対しても、適切なサンプルを取得することが期待できる。例えば、ニューラルネットワークなどのような特異モデルについても、事後分布を推定すること可能となる。また、パラメータ推定処理が繰り返し実行されるため、事前分布が適切ではない場合であっても、適切なサンプルを取得することが期待できる。
【０１１１】
なお、図４のステップＳ１０５にて出力されたパラメータのサンプルデータは、シミュレータサーバ２００によるシミュレーションに用いてもよい。すなわち、繰り返し制御部１１８は、繰り返し処理の最後にステップＳ１０３にて生成したサンプルデータ（すなわち、パラメータθのサンプルデータ）をシミュレータサーバ２００に入力してもよい。この場合に、シミュレータサーバ２００は、ｍ個の当該サンプルデータを受け取り、受け取った当該サンプルデータに基づき、観測対象に関するシミュレーション計算を実行する。具体的には、シミュレータサーバ２００は、所与の第１種類のデータであるＸｎに対して、当該サンプルデータに従ったｍ種類のシミュレーション処理を実行する。この結果、シミュレータサーバ２００は、所与の第１種類のデータであるＸｎに対してｍ種類のシミュレーション結果を算出する。ｍ種類のシミュレーション結果は、必ずしも相互に異なっているとは限らず、同じ結果を含んでいてもよい。
【０１１２】
その後、情報処理装置１００は、ｍ種類のシミュレーション結果を受け取る。そして、情報処理装置１００は、ｍ種類のシミュレーション結果を総合したシミュレーション結果を算出する。たとえば、情報処理装置１００は、ｍ種類のシミュレーション結果の平均を算出する。すなわち、情報処理装置１００は、所与の第１種類のデータであるＸｎに対するシミュレーション結果を算出する。情報処理装置１００は、たとえば、ｍ種類のシミュレーション結果の重み付き平均を算出することによって、所与の第１種類のデータであるＸｎに対するシミュレーション結果を算出してもよい。
【０１１３】
情報処理装置１００は、図４を参照しながら上述した処理を実行することによって、シミュレータサーバ２００が算出するシミュレーション結果と、観測情報Ｙｎとが合う（適合する）ように、パラメータθのサンプルデータを算出する。算出されたサンプルデータは、事後分布に従ったデータであるので、情報処理装置１００が算出する上述したシミュレーション結果は、事後分布に従ったサンプルデータに従ったシミュレーション結果である。言い換えると、情報処理装置１００は、シミュレータサーバ２００によって作成されるシミュレーション結果に基づき、観測情報に合うようなシミュレーション結果を算出することができる。よって、シミュレータサーバ２００に対して与えるパラメータθのサンプルデータに関して、観測情報に合うような値を作成することによって、情報処理装置１００は、当該観測情報に適合したシミュレーション結果を算出することができる。
【０１１４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。たとえば、次のような情報処理装置１も実施の形態の一つである。図５は、情報処理装置１の構成を示すブロック図である。情報処理装置１は、対応データ算出部２と、新規パラメータサンプル生成部３と、繰り返し制御部４とを有する。
【０１１５】
対応データ算出部２は、観測対象に入力（Ｘｎ）を与えた場合に観測される複数の観測情報（Ｙｎ）と、第２種類のデータ（
【数３２】
2020105468.tif 000034
）との差異と、逆温度（β）とに応じて、パラメータの各サンプルの重要度を決定する。なお、第２種類のデータとは、観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数のサンプル及び前記入力を表す第１種類のデータに対して作成したデータである。そして、対応データ算出部２は、パラメータの分布に対応するデータを算出する。
新規パラメータサンプル生成部３は、対応データ算出部２が算出したパラメータの分布に対応するデータを用いて、所定の処理（たとえば、カーネルハーディングなど）に従い、パラメータの新たなサンプルを生成する。
また、繰り返し制御部４は新規パラメータサンプル生成部３により生成された新たなサンプル及び第１種のデータに対してシミュレータが作成した第２種類のデータを用いて、対応データ算出部２が前記パラメータの分布に対応するデータを算出するよう制御する。そして、繰り返し制御部４は対応データ算出部２及び新規パラメータサンプル生成部３の処理を繰り返すよう制御する。
このような構成によれば、ベイズ推定が行なわれる。このため、情報処理装置１は、パラメータの事後分布を取得することができる。
【０１１６】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１１７】
（付記１）
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出手段と、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成手段と、
前記新規パラメータサンプル生成手段により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出手段が前記パラメータの分布に対応するデータを算出するよう制御しつつ、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理を繰り返すよう制御する繰り返し制御手段と
を備える情報処理装置。
（付記２）
前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しに伴い変化する
付記１に記載の情報処理装置。
（付記３）
繰り返しにおいて、前回の値以下の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも小さい値が前記影響度に設定される
付記２に記載の情報処理装置。
（付記４）
繰り返しにおいて、前回の値以上の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも大きい値が前記影響度に設定される
付記２に記載の情報処理装置。
（付記５）
前記影響度が、所定の等比数列に基づいて変化する
付記３又は４に記載の情報処理装置。
（付記６）
前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しによらず一定である
付記１に記載の情報処理装置。
（付記７）
前記パラメータの分布に対応するデータは、カーネル平均であり、
前記対応データ算出手段は、前記影響度を逆温度として含むカーネル関数を用いて、前記カーネル平均を算出し、
前記新規パラメータサンプル生成手段は、前記対応データ算出手段によって算出された前記カーネル平均を用いて前記サンプルを生成する
付記１乃至付記６のいずれか１項に記載の情報処理装置。
（付記８）
前記対応データ算出手段は、下記の式で示される前記カーネル関数を用いたカーネルＡＢＣ（Kernel Approximate Bayesian Computation）により、前記カーネル平均を算出する
付記７に記載の情報処理装置。
ただし、下記の式において、σは前記第２種類のデータについてのガウスノイズの標準偏差であり、ｎは前記第２種類のデータの要素数であり、βは前記逆温度であり、Ｙｉ及びＹｉ’は前記第２種類のデータの値である。
【数３３】
2020105468.tif 000035
（付記９）
繰り返し回数分の前記影響度の合計が１となるように繰り返しの各回の前記影響度が設定される
付記１乃至８のいずれか１項に記載の情報処理装置。
（付記１０）
付記１乃至付記９のいずれか１項に記載の情報処理装置と
前記シミュレータと
を備える情報処理システム。
（付記１１）
前記シミュレータが、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返し後に、前記新規パラメータサンプル生成手段が生成した前記サンプルに基づき処理を実行する
付記１０に記載の情報処理システム。
（付記１２）
情報処理装置によって、
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する第１の処理を実行し、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する第２の処理を実行し、
前記第２の処理により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記第１の処理を実行するよう制御しつつ、前記第１の処理及び前記第２の処理を繰り返すよう制御する
情報処理方法。
（付記１３）
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出ステップと、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成ステップと、
前記新規パラメータサンプル生成ステップで生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出ステップを実行するよう制御しつつ、前記対応データ算出ステップ及び前記新規パラメータサンプル生成ステップの処理を繰り返すよう制御する繰り返し制御ステップと
をコンピュータに実行させる
プログラムが格納された非一時的なコンピュータ可読媒体。
【０１１８】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１９】
この出願は、２０１８年１１月２２日に出願された日本出願特願２０１８−２１９５２７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２０】
１    情報処理装置
２    対応データ算出部
３    新規パラメータサンプル生成部
４    繰り返し制御部
１０    情報処理システム
１００    情報処理装置
１０１    入出力インタフェース
１０２    メモリ
１０３    プロセッサ
１１０    第１のパラメータサンプル生成部
１１２    第２種類サンプルデータ取得部
１１４    カーネル平均算出部
１１６    第２のパラメータサンプル生成部
１１８    繰り返し制御部
２００    シミュレータサーバ
【図１】
2020105468.tif 000037
【図２】
2020105468.tif 000038
【図３】
2020105468.tif 000039
【図４】
2020105468.tif 000040
【図５】
2020105468.tif 000041
【手続補正書】
【提出日】令和3年5月11日(2021.5.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出手段と、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成手段と、
前記新規パラメータサンプル生成手段により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出手段が前記パラメータの分布に対応するデータを算出するよう制御しつつ、前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理を繰り返すよう制御する繰り返し制御手段と
を備える情報処理装置。
【請求項２】
前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しに伴い変化する
請求項１に記載の情報処理装置。
【請求項３】
繰り返しにおいて、前回の値以下の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも小さい値が前記影響度に設定される
請求項２に記載の情報処理装置。
【請求項４】
繰り返しにおいて、前回の値以上の値が前記影響度に設定され、かつ、繰り返しにおいて、少なくとも１回は、前回の値よりも大きい値が前記影響度に設定される
請求項２に記載の情報処理装置。
【請求項５】
前記影響度が、所定の等比数列に基づいて変化する
請求項３又は請求項４に記載の情報処理装置。
【請求項６】
前記影響度が前記対応データ算出手段及び前記新規パラメータサンプル生成手段の処理の繰り返しによらず一定である
請求項１に記載の情報処理装置。
【請求項７】
前記パラメータの分布に対応するデータは、カーネル平均であり、
前記対応データ算出手段は、前記影響度を逆温度として含むカーネル関数を用いて、前記カーネル平均を算出し、
前記新規パラメータサンプル生成手段は、前記対応データ算出手段によって算出された前記カーネル平均を用いて前記サンプルを生成する
請求項１乃至請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載の情報処理装置と
前記シミュレータと
を備える情報処理システム。
【請求項９】
情報処理装置によって、
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する第１の処理を実行し、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する第２の処理を実行し、
前記第２の処理により生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記第１の処理を実行するよう制御しつつ、前記第１の処理及び前記第２の処理を繰り返すよう制御する
情報処理方法。
【請求項１０】
観測対象に入力を与えた場合に観測される複数の観測情報と、前記観測対象をパラメータのサンプルに基づきシミュレーションするシミュレータが複数の前記サンプル及び前記入力を表す第１種類のデータに対して作成した第２種類のデータとの差異と、前記パラメータの分布に対する前記サンプルの影響度とに応じて、各前記サンプルの重要度を決定し、前記パラメータの分布に対応するデータを算出する対応データ算出ステップと、
前記パラメータの分布に対応するデータを用いて、所定の処理に従い、前記パラメータの新たなサンプルを生成する新規パラメータサンプル生成ステップと、
前記新規パラメータサンプル生成ステップで生成された前記新たなサンプル及び前記第１種類のデータに対して前記シミュレータが作成した前記第２種類のデータを用いて、前記対応データ算出ステップを実行するよう制御しつつ、前記対応データ算出ステップ及び前記新規パラメータサンプル生成ステップの処理を繰り返すよう制御する繰り返し制御ステップと
をコンピュータに実行させる
プログラム。
【国際調査報告】
2020105468.tif 000042
2020105468.tif 000043
2020105468.tif 000044
2020105468.tif 000045