(57)【特許請求の範囲】
【請求項１】
逐次モンテカルロ法によりモデルのパラメータを推定するモデルパラメータ推定装置において、
前記パラメータの解の候補となる仮説データを当該仮説データの生成時刻と対応付けて複数記憶する仮説記憶手段と、
予め定めた前記パラメータの分布である逐次モンテカルロ法の提案分布に基づいて前記仮説データを標本抽出することで、新たな仮説データを生成し、前記生成時刻とともに前記仮説記憶手段に記憶されている仮説データを更新する複数の仮説処理手段と、
前記仮説記憶手段に記憶されている複数の仮説データを前記複数の仮説処理手段に分配して、前記複数の仮説処理手段を動作させる制御手段と、
前記仮説記憶手段に記憶されている複数の仮説データの代表値を、前記パラメータの解の推定値として演算する代表値演算手段と、を備え、
前記制御手段は、前記仮説処理手段が前記仮説データの更新処理の動作中であるか否かの状態を保持し、更新動作を行っていない仮説処理手段に対して、前記生成時刻に基づいて、前回の更新時刻以降で更新されていない仮説データを前記複数の仮説処理手段に分配し、前記仮説記憶手段に記憶されている仮説データが、前回の更新時刻以降の仮説データにすべて更新された段階で、前記更新時刻を次回の更新時刻に更新することを特徴とするモデルパラメータ推定装置。
【請求項２】
前記仮説記憶手段には、前記仮説データに対応付けて当該仮説データの重要度を示す重みを記憶し、
前記仮説処理手段は、
前記提案分布により前記パラメータの解の候補となる仮説データを標本抽出して生成するモンテカルロ標本化手段と、
このモンテカルロ標本化手段で生成された仮説データから、予め定めた観測モデルにより更新後の観測値である模擬観測値を生成する観測模擬手段と、
外部から観測値を入力し、現時点で入力した観測値である入力観測値と、前記観測模擬手段で生成された模擬観測値とが近似する度合いを示す尤度を算出する尤度評価手段と、
この尤度評価手段で算出された尤度に基づいて、前記入力観測値と前記模擬観測値とが近いほど値が大きくなるように前記重みを更新する重み更新手段と、を備え、
前記代表値演算手段は、前記仮説記憶手段に記憶されている複数の仮説データを、当該仮説データに対応する重みに基づいて加重平均することで、前記代表値を演算することを特徴とする請求項１に記載のモデルパラメータ推定装置。
【請求項３】
前記仮説記憶手段に記憶されている複数の仮説データを、予め定めた確率密度分布により再標本化する再標本化手段をさらに備えることを特徴とする請求項１または請求項２に記載のモデルパラメータ推定装置。
【請求項４】
前記制御手段は、一定時間間隔、または、前記仮説記憶手段に記憶されている複数の仮説データがパラメータ空間において予め定めた条件以上偏在している場合に、前記再標本化手段を動作させることを特徴とする請求項３に記載のモデルパラメータ推定装置。
【請求項５】
前記仮説記憶手段に記憶されている複数の仮説データを、予め定めた確率密度分布により再標本化する再標本化手段をさらに備え、
前記制御手段は、前記仮説記憶手段に記憶されている複数の仮説データにおいて、予め定めた最小値よりも重みの小さい仮説データが、予め定めた数より多くなった場合に、前記再標本化手段を動作させることを特徴とする請求項２に記載のモデルパラメータ推定装置。
【請求項６】
逐次モンテカルロ法によりモデルのパラメータを推定するために、コンピュータを、
前記パラメータの解の候補となる仮説データを当該仮説データの生成時刻と対応付けて複数記憶する仮説記憶手段において、予め定めた前記パラメータの分布である逐次モンテカルロ法の提案分布に基づいて前記仮説データを標本抽出することで、新たな仮説データを生成し、前記生成時刻とともに前記仮説記憶手段に記憶されている仮説データを更新する複数の仮説処理手段、
前記仮説記憶手段に記憶されている複数の仮説データを前記複数の仮説処理手段に分配して、前記複数の仮説処理手段を動作させる制御手段、
前記仮説記憶手段に記憶されている複数の仮説データの代表値を、前記パラメータの解の推定値として演算する代表値演算手段、として機能させ、
前記制御手段は、前記仮説処理手段が前記仮説データの更新処理の動作中であるか否かの状態を保持し、更新動作を行っていない仮説処理手段に対して、前記生成時刻に基づいて、前回の更新時刻以降で更新されていない仮説データを前記複数の仮説処理手段に分配し、前記仮説記憶手段に記憶されている仮説データが、前回の更新時刻以降の仮説データにすべて更新された段階で、前記更新時刻を次回の更新時刻に更新することを特徴とするモデルパラメータ推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、逐次モンテカルロ法によりモデルのパラメータを推定するモデルパラメータ推定装置およびそのプログラムに関する。
【背景技術】
【０００２】
従来、ある観測モデルにおいて、過去の状態から現在の状態を推定する手法として、逐次モンテカルロ法（粒子フィルタ、パーティクルフィルタ）がある。この逐次モンテカルロ法は、過去の観測情報を逐次入力し、観測モデルに適合した現在の状態（モデルのパラメータ）を逐次的に計算する手法である。すなわち、逐次モンテカルロ法（粒子フィルタ、パーティクルフィルタ）は、観測情報からパラメータの解の候補となる複数の仮説（粒子、パーティクル）を設定し、その複数の仮説を用いて、モデルパラメータの確率分布関数をモンテカルロ近似することでパラメータを推定している（非特許文献１参照）。
一方、本願出願人は、逐次モンテカルロ法を、自律分散環境で実行する手法を提案した（特許文献１参照）。この手法は、複数の分散エージェント（状態推定装置）のそれぞれが、分担して異なる観測を行い、通信を介して、状態の推定を統合するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−７２７０９号公報
【非特許文献】
【０００４】
【非特許文献１】A Doucet, N de Freitas and N Gordon: "Sequential Monte Carlo Methods in Practice," Springer, 2001. ISBN 978-0387951461.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１に記載の逐次モンテカルロ法では、特にモデルパラメータが高次元である場合や、モデルパラメータの確率分布がパラメータ空間内に広く分布する場合、その次元や分布に対して十分に多くの仮説を用いないとモンテカルロ近似の近似精度が不足してしまう。
このように、従来の逐次モンテカルロ法は、モンテカルロ近似の近似精度が不足してしまうと、局所的な解（局所解）に陥ってしまい大局的な最適解を求めることができないという問題がある。また、モンテカルロ近似の近似精度を高めるために、仮説を増やすと、その分、演算負荷が増加し、高速に状態推定を行うことができないという問題がある。
【０００６】
一方、特許文献１に記載の逐次モンテカルロ法を自律分散環境で実行する手法は、個々の観測による推定を分散し統合することで、並列動作が可能になり、高速に状態を推定することができる点で優れている。しかし、前記したように、仮説が多い場合であっても、個々の状態推定装置において、高速に状態推定を行うための更なる工夫が求められていた。
【０００７】
本発明は、以上のような問題に鑑みてなされたものであり、逐次モンテカルロ法により、高速で、かつ、精度が高い状態推定を行うモデルパラメータ推定装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項１に記載のモデルパラメータ推定装置は、逐次モンテカルロ法によりモデルのパラメータを推定するモデルパラメータ推定装置において、仮説記憶手段と、複数の仮説処理手段と、制御手段と、代表値演算手段と、を備える構成とした。
【０００９】
かかる構成において、モデルパラメータ推定装置は、複数の仮説処理手段によって、予め定めたパラメータの分布である逐次モンテカルロ法の提案分布に基づいて仮説データを標本抽出することで、新たな仮説データを生成し、仮説記憶手段に記憶されている仮説データを当該仮説データの生成時刻とともに更新する。なお、この逐次モンテカルロ法の提案分布は、予めその分布が既知の分布である。例えば、この提案分布として、確率密度関数を用いることができる。このように、仮説処理手段は、ある仮説データを提案分布に基づいて標本抽出することで、提案分布に分布が近似した仮説データを生成する。
【００１０】
このとき、モデルパラメータ推定装置は、制御手段によって、仮説処理手段が仮説データの更新処理の動作中であるか否かの状態を保持し、更新動作を行っていない仮説処理手段に対して、仮説記憶手段に記憶されている仮説データの生成時刻に基づいて、前回の更新時刻以降で更新されていない仮説データを分配して、複数の仮説処理手段を動作させる。これによって、複数の仮説処理手段は、並列に起動され、仮説データごとに個々に新たな仮説データを生成し、仮説記憶手段に記憶されている仮説データを更新する。
このように、モデルパラメータ推定装置は、制御手段によって、仮説データの更新を早く終わった仮説処理手段に対して、順次未更新の仮説データを割り振ることができる。なお、仮説処理手段が仮説データの更新処理の動作中であるか否かの判定は、例えば、処理中の仮説処理手段に対してフラグを設定する等、一般的な判定手法でよい。
【００１１】
そして、モデルパラメータ推定装置は、制御手段によって、仮説記憶手段に記憶されている仮説データが、前回の更新時刻以降の仮説データにすべて更新された段階で、更新時刻を次回の更新時刻に更新する。これによって、ある時点ごとに同期がとられて仮説データが更新されることになる。
【００１２】
そして、モデルパラメータ推定装置は、代表値演算手段によって、仮説記憶手段に記憶されている複数の仮説データの統計的な代表値を、パラメータの解の推定値として演算する。なお、この代表値を演算するタイミングは任意のタイミングでよい。例えば、代表値演算手段は、一定時間間隔、あるいは、外部からの指示信号により、動作させることとすればよい。
【００１５】
また、請求項２に記載のモデルパラメータ推定装置は、請求項１に記載のモデルパラメータ推定装置において、仮説記憶手段には、仮説データに対応付けて当該仮説データの重要度を示す重みを記憶し、仮説処理手段が、モンテカルロ標本化手段と、観測模擬手段と、尤度評価手段と、重み更新手段と、を備える構成とした。
【００１６】
かかる構成において、モデルパラメータ推定装置は、仮説処理手段のモンテカルロ標本化手段によって、提案分布によりパラメータの解の候補となる仮説データを標本抽出して生成する。そして、モデルパラメータ推定装置は、仮説処理手段の観測模擬手段によって、モンテカルロ標本化手段で生成された仮説データから、予め定めた観測モデルにより更新後の観測値である模擬観測値を生成する。
【００１７】
そして、モデルパラメータ推定装置は、仮説処理手段の尤度評価手段によって、外部から観測値を入力し、現時点で入力した観測値である入力観測値と、観測模擬手段で生成された模擬観測値とが近似する度合いを示す尤度を算出する。この入力観測値と模擬観測値との近似の度合いは、例えば、当該観測値がベクトルであれば、ベクトル間の距離が近いほど、近似の度合いが大きいといえる。このように、入力観測値と模擬観測値とが近似すれば、模擬観測値を生成した仮説データはより尤もらしい仮説であるといえる。
【００１８】
そこで、モデルパラメータ推定装置は、仮説処理手段の重み更新手段によって、尤度評価手段で算出された尤度に基づいて、入力観測値と模擬観測値とが近いほど値が大きくなるように重みを更新する。
そして、モデルパラメータ推定装置は、代表値演算手段によって、仮説記憶手段に記憶されている複数の仮説データを、当該仮説データに対応する重みに基づいて加重平均することで代表値を演算する。
【００１９】
また、請求項３に記載のモデルパラメータ推定装置は、請求項１または請求項２に記載のモデルパラメータ推定装置において、再標本化手段をさらに備える構成とした。
【００２０】
かかる構成において、モデルパラメータ推定装置は、再標本化手段によって、仮説記憶手段に記憶されている複数の仮説データを、予め定めた確率密度分布により再標本化する。このように、確率密度分布により再標本化することで、仮説データは、確率密度分布に近い分布で再編成されることになり、偏在した分布データを排除することができる。
【００２１】
また、請求項４に記載のモデルパラメータ推定装置は、請求項３に記載のモデルパラメータ推定装置において、制御手段が、一定時間間隔、または、仮説記憶手段に記憶されている複数の仮説データがパラメータ空間において予め定めた条件以上偏在している場合に、再標本化手段を動作させることを特徴とする。
【００２２】
かかる構成において、モデルパラメータ推定装置は、一定時間間隔、または、複数の仮説データがパラメータ空間において偏在している場合に、制御手段が再標本化手段を動作させることで、仮説データは、確率密度分布に近い分布で再編成されることになり、偏在した仮説データを排除することができる。
【００２３】
さらに、請求項５に記載のモデルパラメータ推定装置は、請求項２に記載のモデルパラメータ推定装置において、再標本化手段をさらに備え、制御手段が、仮説記憶手段に記憶されている複数の仮説データにおいて、予め定めた最小値よりも重みの小さい仮説データが、予め定めた数より多くなった場合に、再標本化手段を動作させることを特徴とする。
【００２４】
かかる構成において、モデルパラメータ推定装置は、重みの小さい仮説データが増えたときに、制御手段が再標本化手段を動作させることで、仮説データは、確率密度分布に近い分布で再編成されることになり、重みの小さい仮説データを排除することができる。
【００２５】
また、請求項６に記載のモデルパラメータ推定プログラムは、逐次モンテカルロ法によりモデルのパラメータを推定するために、コンピュータを、複数の仮説処理手段、制御手段、代表値演算手段、として機能させる構成とした。
【００２６】
かかる構成において、モデルパラメータ推定プログラムは、複数の仮説処理手段によって、予め定めたパラメータの分布である逐次モンテカルロ法の提案分布に基づいて仮説データを標本抽出することで、新たな仮説データを生成し、仮説記憶手段に記憶されている仮説データを当該仮説データの生成時刻とともに更新する。
このとき、モデルパラメータ推定プログラムは、制御手段によって、仮説処理手段が仮説データの更新処理の動作中であるか否かの状態を保持し、更新動作を行っていない仮説処理手段に対して、仮説記憶手段に記憶されている仮説データの生成時刻に基づいて、前回の更新時刻以降で更新されていない仮説データを分配して、複数の仮説処理手段を動作させる。これによって、複数の仮説処理手段は、並列に起動され、仮説データごとに個々に新たな仮説データを生成し、仮説記憶手段に記憶されている仮説データを更新する。
【００２７】
そして、モデルパラメータ推定プログラムは、制御手段によって、仮説記憶手段に記憶されている仮説データが、前回の更新時刻以降の仮説データにすべて更新された段階で、更新時刻を次回の更新時刻に更新する。
そして、モデルパラメータ推定プログラムは、代表値演算手段によって、仮説記憶手段に記憶されている複数の仮説データの統計的な代表値を、パラメータの解の推定値として演算する。
【発明の効果】
【００２８】
本発明は、以下に示す優れた効果を奏するものである。
請求項１，６に記載の発明によれば、逐次モンテカルロ法による複数の仮説データを、仮説データごとに、個々の仮説処理手段で分担して処理することができ、並列処理を実現することができる。これによって、本発明は、個々の仮説処理手段を、並列計算機、マルチコアＣＰＵを搭載した計算機等で演算することが可能になり、多量の仮説データであっても高速に演算が可能になり、精度よくパラメータの推定を行うことができる。
【００２９】
また、請求項１，６に記載の発明によれば、仮説処理手段が動作を行っていない空き状態をなくすことができ、複数の仮説処理手段を効率よく動作させることができる。これによって、本発明は、各仮説処理手段の負荷状態に応じて、より高速動作可能な仮説処理手段に負荷が分散されるため、高速にパラメータの推定を行うことができる。
【００３０】
請求項２に記載の発明によれば、観測値に応じて、仮説データに重みを付加することができるため、パラメータの推定に仮説データの有効性を加味することができる。これによって、本発明は、仮説データが少ない場合であっても正確なパラメータ推定が可能になり、より高速にパラメータの推定を行うことができる。
【００３１】
請求項３〜５に記載の発明によれば、仮説データを、確率密度分布に近い分布で再編成することができる。これによって、本発明は、仮説データがパラメータ空間内において偏在することを防止し、より少ない仮説データで正確なパラメータを推定することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態に係るモデルパラメータ推定装置の全体構成を示すブロック構成図である。
【図２】本発明の実施形態に係るモデルパラメータ推定装置の仮説処理手段の構成を示すブロック構成図である。
【図３】本発明の実施形態に係るモデルパラメータ推定装置の制御手段が管理する仮説処理手段の状態管理テーブルの内容を示す図である。
【図４】本発明の実施形態に係るモデルパラメータ推定装置の仮説記憶手段の記憶内容を示す図である。
【図５】本発明の実施形態に係るモデルパラメータ推定装置の全体動作を示すフローチャートである。
【図６】本発明の実施形態に係るモデルパラメータ推定装置の仮説並列処理動作を示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、本発明の実施形態について図面を参照して説明する。
［モデルパラメータ推定装置の構成］
最初に、図１を参照して、本発明の実施形態に係るモデルパラメータ推定装置の構成について説明する。モデルパラメータ推定装置１は、外部から入力される観測対象の観測値に基づいて、予め定めたモデルに適合するパラメータ（モデルパラメータ）を逐次推定するものである。
【００３４】
ここで、観測対象とは、動き、変動等の状態の変化を伴うもの、あるいは、事象であって、動きを伴う人物、車両等や、変動を伴う株価等がその対象となりうる。例えば、モデルパラメータ推定装置１は、人物を観測対象として、カメラで撮影した画像における人物の位置を観測値とすることで、人物の３次元位置や、速度等をモデルパラメータとして推定することができる。
ここでは、モデルパラメータ推定装置１は、ある時刻ｔ（例えば、ｔは整数）においてモデルパラメータｘｔを推定することとするが、この時刻ｔは、時間の次元を持つ物理的な時刻であっても構わないし、単純に処理のステップを表すインデックスであっても構わない。以下では、便宜上、「時刻」という表現を用いることとする。
【００３５】
また、ここで、モデルとは、観測対象の観測値から推定される状態（モデルパラメータ）を確率密度分布に近似することが可能なプロセスである。また、モデルパラメータは、モデルの内部処理によって得られる１以上のデータであって、スカラ、ベクトル、行列、テンソル、関数など、その値の数学的表現は任意であるが、ここでは、ベクトルを用いて表現することとする。
【００３６】
ここでは、モデルパラメータ推定装置１は、時刻ｔにおけるモデルパラメータｘｔの解の候補となる仮説データ（以下、仮説という）をＫｔ個（Ｋｔは自然数）生成し、時刻ｔのｋ番目（ｋ＝０，１，…，Ｋｔ−１）の仮説ｘｔ（ｋ）と、その仮説に対する重みｗｔ（ｋ）とのＫｔ対により、以下の（１）式に示すモデルパラメータｘｔの確率密度分布ｐ（ｘｔ）を近似するように動作するものとする。なお、δは、ディラック（Ｄｉｒａｃ）のデルタ関数である。また、仮説ｘｔ（ｋ）は、モデルパラメータの候補であるため、モデルパラメータと同次元のデータであって、ベクトルを用いて表現する。
【００３７】
【数１】
0005560154.tif 000002
【００３８】
以下、図１を参照して、モデルパラメータ推定装置１の各構成について説明する。
図１に示すように、ここでは、モデルパラメータ推定装置１は、制御手段１０と、仮説記憶手段２０と、複数（Ｎ個）の仮説処理手段３０（３０１，３０２，…，３０Ｎ）と、再標本化手段４０と、代表値演算手段５０と、を備えている。
【００３９】
制御手段１０は、仮説記憶手段２０に対するデータ（仮説、重み）のアクセス制御を行ったり、複数の仮説処理手段３０、再標本化手段４０および代表値演算手段５０との間で、進行状況や終了状況に応じて、各手段の動作制御やデータの授受を行うものである。
【００４０】
具体的には、制御手段１０は、Ｎ個の仮説処理手段３０１，３０２，…，３０Ｎから、動作を行っていない（空き状態の）仮説処理手段３０を検索し、仮説記憶手段２０に記憶されるＫｔ個の仮説（仮説群）を、空き状態の仮説処理手段３０に仮説ごとに分配するスケジューリングを行う。そして、制御手段１０は、仮説処理手段３０１，３０２，…，３０Ｎが行った仮説の再標本化を行うように再標本化手段４０を動作させたり、モデルパラメータの代表値を演算するように代表値演算手段５０を動作させたりする制御を行う。
ここでは、制御手段１０は、仮説アクセス制御手段１１と、仮説並列処理制御手段１２と、再標本化制御手段１３と、代表値演算制御手段１４と、を備えている。
【００４１】
仮説アクセス制御手段１１は、仮説記憶手段２０に記憶されている仮説や重みに対するアクセス（読み出し、書き込み）を制御するものである。ここでは、仮説処理手段３０、再標本化手段４０および代表値演算手段５０と、制御手段１０内部の各手段は、この仮説アクセス制御手段１１を介して、仮説記憶手段２０に対して仮説や重みの読み出しや、書き込みを行うこととする。
【００４２】
仮説並列処理制御手段１２は、空き状態の仮説処理手段３０を検索し、仮説記憶手段２０に記憶される複数（Ｋｔ個）の仮説を、仮説ごとに割り振る（分配する）スケジューリングを行うものである。
この仮説並列処理制御手段１２は、ある時刻ｔにおいて、仮説記憶手段２０に記憶されている複数の仮説の中で、更新されていない時刻（ｔ−１）の仮説および重みを更新するように、仮説更新処理を行っていない空き状態の仮説処理手段３０を動作させて、未更新の仮説を特定する識別番号（例えば、ｋ番目）を通知する。これによって、動作を指示された仮説処理手段３０が、時刻（ｔ−１）におけるｋ番目の仮説および重みから、時刻ｔにおけるｋ番目の仮説および重みを生成し、仮説記憶手段２０に書き込むことで、仮説および重みを更新する。
【００４３】
なお、仮説処理手段３０１，３０２，…，３０Ｎが空き状態であるか否かは、フラグによって判定することができる。例えば、仮説並列処理制御手段１２は、ある仮説処理手段３０に仮説および重みの更新を指示した段階で、当該仮説処理手段３０に対応したフラグをセットし、更新完了の通知を取得した段階で、そのフラグをリセットする。例えば、仮説並列処理制御手段１２は、図３に示すような状態管理テーブルによって、仮説処理手段３０１，３０２，…，３０Ｎがそれぞれ動作状態（例えば、“１”）であるか、空き状態（例えば、“０”）であるかを示す値を対応付けて状態を保持し、管理する。この状態管理テーブルは、図示を省略したメモリ等に設定すればよい。なお、仮説並列処理制御手段１２は、図３に示すように、動作状態時に、どの仮説を処理しているのかを仮説番号ｋとして設定することとする。
【００４４】
このように、仮説並列処理制御手段１２は、空き状態の仮説処理手段３０に対して、仮説および重みの更新を順次動作させることで、複数の仮説処理手段３０によって、仮説ごとに並列処理を行うことができる。
そして、仮説並列処理制御手段１２は、仮説記憶手段２０に記憶されている仮説が次の時刻である時刻ｔの仮説にすべて更新された段階で、時刻を更新する。
なお、ここでは、仮説並列処理制御手段１２は、仮説記憶手段２０に記憶されている仮説が時刻ｔの仮説にすべて更新された段階で、その旨を再標本化制御手段１３に通知し、さらに、仮説の再標本化が完了した段階で、その旨を代表値演算制御手段１４に通知することとする。
【００４５】
再標本化制御手段１３は、仮説記憶手段２０に記憶されている複数の仮説（仮説群）を再標本化する再標本化手段４０に対して、起動制御を行うものである。
この再標本化制御手段１３は、仮説並列処理制御手段１２から、仮説記憶手段２０に記憶されている仮説が時刻ｔの仮説にすべて更新された旨が通知された段階、すなわち、一定時間間隔（ここでは時刻ｔ）で再標本化手段４０を起動する。
【００４６】
なお、再標本化手段４０は、必ずしも定期的に起動する必要はなく、例えば、再標本化制御手段１３は、仮説記憶手段２０に記憶されている複数の仮説（仮説群）の状態を検出し、その状態が予め定めた条件を満たした場合に起動することとしてもよい。
例えば、この条件として、再標本化制御手段１３は、仮説記憶手段２０に記憶されている仮説群における重み配分が極端に偏在したことを条件として再標本化手段４０を起動する。なお、重み配分が偏在しているか否かの判定は、仮説記憶手段２０に記憶されている重み値集合の統計量（例えば、重み値の分散、重み値の標準偏差、重み値の最大値と最小値の差など）や、重み値集合を大津の二値化手法などにより２クラスに分けたときのクラス内分散とクラス間分散に基づき計算される数量（例えば、クラス間分散とクラス内分散の比によって定義される分離度）等によって判定することができる。
また、前記条件として、予め定めた最小値よりも重みの小さい仮説が、予め定めた数より多くなったことを条件としてもよい。
【００４７】
代表値演算制御手段１４は、仮説記憶手段２０に記憶されている複数の仮説から、代表値を生成する代表値演算手段５０に対して、起動制御を行うものである。
この代表値演算制御手段１４は、仮説並列処理制御手段１２から、仮説記憶手段２０に記憶されている仮説が再標本化された旨を通知された段階、すなわち、一定時間間隔（ここでは時刻ｔ）で代表値演算手段５０を起動する。
【００４８】
なお、代表値演算手段５０は、必ずしも定期的に起動する必要はなく、例えば、モデルパラメータ推定装置１を操作するユーザから要求があった場合、すなわち、外部から図示を省略した入力手段を介して代表値（推定値）を出力する旨の指示信号が入力されたときのみに起動することとしてもよい。
【００４９】
仮説記憶手段２０は、仮説処理手段３０によって演算されるモデルパラメータの仮説と、その仮説の重要度を示す重みとを、時刻に対応付けて複数記憶するものである。この仮説記憶手段２０は、ハードディスク、半導体メモリ等、一般的な記憶装置で構成することができる。ここでは、時刻ｔにおける仮説の総数をＫｔ個（Ｋｔは自然数）とし、そのｋ番目（ｋ＝０，１，…，Ｋｔ−１）の仮説をｘｔ（ｋ）とし、ｋ番目の重みをｗｔ（ｋ）とする。この仮説記憶手段２０には、図４に示すように、ｋ番目を示す仮説番号ごとに、仮説と、重みと、当該仮説が生成された時刻とを対応付けて記憶しておくこととする。
なお、初期状態（時刻ｔ＝０）においては、仮説記憶手段２０に、事前にＫｔ個の仮説と重みが予め記憶されているものとする。
この仮説記憶手段２０に記憶されている仮説および重みは、制御手段１０によって読み出され、仮説処理手段３０によって新たな仮説および重みが生成された段階で、制御手段１０によって更新される。
【００５０】
仮説処理手段３０は、過去の仮説あるいは観測値から、予め定めた逐次モンテカルロ法の提案分布に基づく標本化（標本抽出）を行うことで、現時点における仮説および重みを生成するものである。なお、この仮説処理手段３０は、複数（３０１，３０２，…，３０Ｎ）備えられ、それぞれ並列に動作する。
また、それぞれの仮説処理手段３０１，３０２，…，３０Ｎは、制御手段１０から、時刻（ｔ−１）において推定した仮説ｘｔ−１（ｋ）を特定する識別番号（ここでは、仮説番号ｋ）を通知されることで、時刻ｔにおけるｋ番目の仮説ｘｔ（ｋ）および重みｗｔ（ｋ）を生成する。
【００５１】
ここで、図２を参照（適宜図１参照）して、仮説処理手段３０の詳細な構成について説明する。
図２に示すように、仮説処理手段３０は、モンテカルロ標本化手段３１と、観測模擬手段３２と、尤度評価手段３３と、重み更新手段３４と、を備えている。
【００５２】
モンテカルロ標本化手段３１は、制御手段１０から通知される時刻（ｔ−１）におけるｋ番目の仮説ｘｔ−１（ｋ）から、時刻ｔにおける仮説ｘｔ（ｋ）を生成するものである。なお、モンテカルロ標本化手段３１は、制御手段１０から通知された時刻（ｔ−１）以前の仮説ｘ０（ｋ），ｘ１（ｋ），…，ｘｔ−１（ｋ）および時刻ｔ以前における観測値ｙ０，ｙ１，…，ｙｔの一つ以上から時刻ｔにおける仮説ｘｔ（ｋ）を生成することとしてもよい。
【００５３】
ここでは、モンテカルロ標本化手段３１は、例えば、観測値の履歴（ｙ０，ｙ１，…，ｙｔ）と仮説の履歴（ｘ０（ｋ），ｘ１（ｋ），…，ｘｔ−１（ｋ））とに基づき、以下の（２）式に示す予め定めた提案分布πから、（３）式に示すように標本抽出を行うことで、時刻ｔの仮説ｘｔ（ｋ）を生成する。
【００５４】
【数２】
0005560154.tif 000003
【００５５】
【数３】
0005560154.tif 000004
【００５６】
ここで、提案分布とは、対応するモデルから直接標本（サンプル）を抽出する代わりに、別の分布関数（より容易に標本抽出可能な分布関数を用いることが好ましい）を用いて近似を行った分布関数（Ｐｒｏｐｏｓａｌ  ｄｉｓｔｒｉｂｕｔｉｏｎ）である。
また、ここで、標本抽出とは、提案分布πと分布が近似するように、母集団（仮説や観測値の履歴）から、標本をランダムに選択することである。
なお、ここでは、モンテカルロ標本化手段３１は、提案分布πの一例として、以下の（４）式に示すように、確率密度関数ｐ（事前遷移確率）を用いることとする。
【００５７】
【数４】
0005560154.tif 000005
【００５８】
例えば、時刻ｔの仮説ｘｔ（ｋ）を生成する際に、当該仮説ｘｔ（ｋ）が確率的に無作為（ランダム）に決定される分散共分散行列Σｖのランダムウォークにより状態が遷移する場合、モンテカルロ標本化手段３１は、（４）式の確率密度関数ｐとして、以下の（５）式の確率密度関数ｐ（ｘｔ｜ｘｔ−１）を用いることができる。
【００５９】
【数５】
0005560154.tif 000006
【００６０】
ここで、「ｄｉｍ」は、仮説ｘｔの情報の次元数を示す。
この確率密度関数ｐを使用する場合、モンテカルロ標本化手段３１は、制御手段１０から通知される仮説ｘｔ−１（ｋ）から、時刻ｔにおける仮説ｘｔ（ｋ）を生成することになる。
【００６１】
このように、モンテカルロ標本化手段３１は、予め定めた提案分布（あるいは、確率密度関数）から、標本抽出を行うことで、時刻ｔの仮説ｘｔ（ｋ）を生成する。そして、モンテカルロ標本化手段３１は、生成した時刻ｔの仮説ｘｔ（ｋ）を、制御手段１０を介して仮説記憶手段２０に書き込み、仮説を更新する。また、ここでは、モンテカルロ標本化手段３１は、生成した時刻ｔの仮説ｘｔ（ｋ）を観測模擬手段３２に出力する。
【００６２】
観測模擬手段３２は、モンテカルロ標本化手段３１で標本化され生成された仮説が、予めモデル化した観測モデルによりどのような観測値として観測されるかを模擬（演算）するものである。
ここでは、この観測模擬手段３２は、モンテカルロ標本化手段３１で標本化され生成された時刻ｔにおけるモデルパラメータ（仮説ｘｔ（ｋ））が、観測モデルｐ（ｙｔ｜ｘｔ）により、以下の（６）式に示すように、ｋ番目の観測値ｙｔ（ｋ）を模擬結果（模擬観測値）として生成する。
【００６３】
【数６】
0005560154.tif 000007
【００６４】
より具体的には、この観測モデルｐは、以下の（７）式に示すように、模擬観測値ｙｔが、モデルパラメータｘｔを関数ｈｔにより算出された結果として生成されるモデルとして定義してもよい。
【００６５】
【数７】
0005560154.tif 000008
【００６６】
この関数ｈｔは、例えば、観測モデルが、等加速度運動モデル、等速度運動モデルである場合、時刻（ｔ−１）の位置から、等加速度、等速度によって時刻ｔの位置を算出する関数である。すなわち、関数ｈｔは、観測モデルに応じて、予め定めた関数によって定義しておけばよい。
【００６７】
このように、観測模擬手段３２は、モンテカルロ標本化手段３１で標本化され生成された仮説を、観測モデルにより模擬することで、模擬観測値ｙｔ（ｋ）を生成する。そして、観測模擬手段３２は、模擬（演算）した結果の観測値（模擬観測値ｙｔ（ｋ））を尤度評価手段３３に出力する。
【００６８】
尤度評価手段３３は、外部から入力される観測値（入力観測値）に基づいて、観測模擬手段３２で生成された模擬結果（模擬観測値）がどれだけ尤もらしい結果であるか（どれだけ近似した値であるか）を示す尤度を算出するものである。
ここでは、尤度評価手段３３は、観測模擬手段３２で生成された模擬結果である時刻ｔにおける模擬観測値ｙｔ（ｋ）と、外部から入力される時刻ｔにおける入力観測値ｙｔとを比較し、尤度Ｌｔ（ｋ）を算出する。この尤度Ｌｔ（ｋ）は、好ましくは、模擬観測値ｙｔ（ｋ）と入力観測値ｙｔとが近いほど大きな値をとることとする。
【００６９】
例えば、尤度評価手段３３は、以下の（８）式に示すマハラノビス（Ｍａｈａｌａｎｏｂｉｓ）距離に基づくガウス関数によって尤度Ｌｔ（ｋ）を定義することができる。
【００７０】
【数８】
0005560154.tif 000009
【００７１】
ここで、Σｙは、観測空間を正規化してマハラノビス距離を定義するための分散共分散行列であり、Ｔは転置を示す。これによって、尤度Ｌｔ（ｋ）は、模擬観測値ｙｔ（ｋ）と入力観測値ｙｔとが近いほど大きな値となる。
【００７２】
また、例えば、尤度評価手段３３は、以下の（９）式に示すように、マハラノビス距離に基づく指数関数によって、尤度Ｌｔ（ｋ）を定義することとしてもよい。
【００７３】
【数９】
0005560154.tif 000010
【００７４】
このように、尤度評価手段３３は、入力観測値から、観測模擬手段３２で生成された模擬観測値の尤度を算出する。そして、尤度評価手段３３は、算出した尤度を重み更新手段３４に出力する。
【００７５】
重み更新手段３４は、尤度評価手段３３で算出された尤度Ｌｔ（ｋ）に基づいて、制御手段１０から通知される時刻（ｔ−１）におけるｋ番目の重みｗｔ−１（ｋ）から、時刻ｔにおける重みｗｔ（ｋ）を生成し、重みを更新するものである。
すなわち、重み更新手段３４は、尤度評価手段３３で算出された尤度Ｌｔ（ｋ）が大きければ、時刻ｔの仮説ｘｔ（ｋ）がより尤もらしいものとして、その仮説に対する重みを増加させ、尤度Ｌｔ（ｋ）が小さければ、その仮説に対する重みを減少させる。
【００７６】
例えば、モンテカルロ標本化手段３１が、前記（３）式により、提案分布πによって時刻ｔの仮説ｘｔ（ｋ）を生成した場合であれば、重み更新手段３４は、以下の（１０）式により、時刻（ｔ−１）における重みｗｔ−１（ｋ）から、時刻ｔにおける重みｗｔ（ｋ）を生成する。
【００７７】
【数１０】
0005560154.tif 000011
【００７８】
また、例えば、モンテカルロ標本化手段３１が、前記（５）式により、提案分布πとして確率密度関数ｐを用いて時刻ｔの仮説ｘｔ（ｋ）を生成した場合であれば、重み更新手段３４は、以下の（１１）式により、時刻（ｔ−１）における重みｗｔ−１（ｋ）から、時刻ｔにおける重みｗｔ（ｋ）を生成する。
【００７９】
【数１１】
0005560154.tif 000012
【００８０】
このように、重み更新手段３４は、時刻（ｔ−１）における重みｗｔ−１（ｋ）を、尤度評価手段３３で算出された尤度Ｌｔ（ｋ）に基づいて更新し、時刻ｔにおける重みｗｔ（ｋ）を生成する。そして、重み更新手段３４は、更新した重みｗｔ（ｋ）を、制御手段１０を介して仮説記憶手段２０に書き込み、重みを更新する。
【００８１】
以上説明したように、仮説処理手段３０は、制御手段１０から通知されるｋ番目の時刻（ｔ−１）における仮説ｘｔ−１（ｋ）およびその重みｗｔ−１（ｋ）を仮説記憶手段２０から読み出し、時刻ｔにおける新たな仮説ｘｔ（ｋ）およびその重みｗｔ（ｋ）を生成し、制御手段１０を介して仮説記憶手段２０に書き込む。
【００８２】
なお、制御手段１０において、時刻（ｔ−１）におけるすべての仮説が処理されるまで、仮説処理手段３０には、制御手段１０から時刻（ｔ−１）における他の仮説および重みが通知される場合がある。そこで、仮説処理手段３０は、新たな時刻ｔの仮説が入力されるまでは、観測値ｙｔを図示を省略した記憶手段（メモリ）に保持しておくものとする。
図１に戻って、モデルパラメータ推定装置１の全体構成について説明を続ける。
【００８３】
再標本化手段４０は、仮説記憶手段２０に記憶されている仮説を再編成するものである。ここで、仮説を再編成するとは、仮説（モデルパラメータ）が予め定めた分布に近似するように仮説を再度抽出し直すことをいう。この再標本化手段４０は、制御手段１０によって、一定時間間隔（ここでは時刻ｔ）で起動されるものとする。
ここでは、再標本化手段４０は、仮説記憶手段２０に記憶されている以下の（１２）式に示した時刻（ｔ−１）における仮説および重みのＫｔ−１個の対のデータを読み出し、以下の（１３）式に示した時刻ｔにおける仮説および重みのＫｔ個の対のデータに再編成し、仮説記憶手段２０に書き込む。例えば、Ｋｔ＝Ｋｔ−１＝Ｋｔ−２＝…＝Ｋ０＝定数〔Ｋ〕としても構わない。
【００８４】
【数１２】
0005560154.tif 000013
【００８５】
【数１３】
0005560154.tif 000014
【００８６】
このとき、再編成される（１３）式が近似する分布（確率密度分布）と、（１２）式が近似する分布（確率密度分布）とは、互いに類似することが好ましい。
例えば、再標本化手段４０は、ｋ番目の新しい仮説ｘｔ（ｋ）を、以下の（１４）式に示すｘに関する確率密度分布Ｄ（ｘ）から標本を抽出することで生成する。
【００８７】
【数１４】
0005560154.tif 000015
【００８８】
また、δは、ディラック（Ｄｉｒａｃ）のデルタ関数である。
ここで、この確率密度分布Ｄ（ｘ）から標本を抽出する手法について説明する。
まず、再標本化手段４０は、時刻（ｔ−１）の重みｗｔ−１（ｋ）（ｋ＝０，１，…，Ｋｔ−１−１）を正規化し、かつ、ｋに関して累積した数列（（１５）式）を、以下の（１６）式により算出する。
【００８９】
【数１５】
0005560154.tif 000016
【００９０】
【数１６】
0005560154.tif 000017
【００９１】
次に、再標本化手段４０は、ｋ番目（ｋ＝０，１，…，Ｋｔ−１）〔Ｋｔは自然数，例えば、Ｋｔ＝Ｋｔ−１＝Ｋｔ−２＝…＝Ｋ０＝定数〔Ｋ〕〕の標本ｕ（ｋ）を、以下の（１７）式に示すように、０以上１未満の連続一様分布Ｕから標本抽出する。
【００９２】
【数１７】
0005560154.tif 000018
【００９３】
なお、この標本抽出は、擬似乱数によってランダムに抽出するが、当該擬似乱数の取り得る値域を０以上１未満に正規化することで、分布Ｕに近似した標本を抽出することができる。
そして、再標本化手段４０は、以下の（１８）式により、ｋ番目の新しい仮説ｘｔ（ｋ）を生成する。
【００９４】
【数１８】
0005560154.tif 000019
【００９５】
また、再標本化手段４０は、新しい重みｗｔ（ｋ）として、以下の（１９）式に示すように、一様な値を設定する。
【００９６】
【数１９】
0005560154.tif 000020
【００９７】
このように、再標本化手段４０は、仮説記憶手段２０に記憶されている仮説を再標本化することで、仮説がパラメータ空間内において極端に偏在したり、重みの小さい仮説が多くなることを防止することができる。
【００９８】
代表値演算手段５０は、仮説記憶手段２０に記憶されている仮説から代表値を求め、モデルパラメータの推定値として出力するものである。この代表値演算手段５０は、制御手段１０によって、一定時間間隔（ここでは時刻ｔ）で起動されるものとする。
ここでは、代表値演算手段５０は、仮説記憶手段２０に記憶されている以下の（２０）式に示した時刻ｔにおける仮説および重みのＫｔ個の対のデータを読み出し、代表値を求める。
【００９９】
【数２０】
0005560154.tif 000021
【０１００】
ここでは、代表値演算手段５０は、（２０）式の仮説および重みを用いて、以下の（２１）式に示す演算により、仮説の加重平均（重み付き平均）を求め、代表値ｘｒｅｐとする。
【０１０１】
【数２１】
0005560154.tif 000022
【０１０２】
なお、代表値演算手段５０は、加重平均に限定されず、統計的処理により種々の値を代表値とすることができる。例えば、代表値演算手段５０は、すべての仮説の相加平均を代表値としたり、最も重みが大きい仮説を代表値としたり等、他の統計的処理によって代表値を求めることとしてもよい。
【０１０３】
以上説明したようにモデルパラメータ推定装置１を構成することで、逐次モンテカルロ法により、モデルパラメータを推定する際に、確率分布を近似する十分な仮説を用いたとしても、仮説ごとに、複数の仮説処理手段３０によって、並列して演算を行うことができるため、高速に状態推定を行うことができる。
なお、モデルパラメータ推定装置１は、一般的なコンピュータを前記した各手段として機能させるプログラム（モデルパラメータ推定プログラム）により動作させることができる。
【０１０４】
［モデルパラメータ推定装置の動作］
次に、図５を参照（構成については、適宜図１参照）して、本発明の実施形態に係るモデルパラメータ推定装置の動作について説明する。
まず、モデルパラメータ推定装置１は、制御手段１０の仮説並列処理制御手段１２によって、時刻ｔを初期化する（ステップＳ１）。例えば、初期値として変数ｔに値“０”を設定する。
【０１０５】
そして、モデルパラメータ推定装置１は、制御手段１０の仮説並列処理制御手段１２によって、複数の仮説処理手段３０１，３０２，…，３０Ｎに対して、仮説記憶手段２０に記憶されている複数の仮説および重み（仮説群）を分担して処理させる仮説並列処理を行う（ステップＳ２）。この仮説並列処理は、仮説並列処理制御手段１２が、空き状態の仮説処理手段３０を検索し、仮説記憶手段２０に記憶される複数（Ｋｔ個）の仮説を、空き状態の仮説処理手段３０に分配することで、複数の仮説処理手段３０１，３０２，…，３０Ｎで並列に複数の仮説更新処理を行う。
【０１０６】
ここで、図６を参照（構成については適宜図１，２参照）して、このステップＳ２の仮説並列処理について、詳細に説明を行う。
このステップＳ２において、まず、モデルパラメータ推定装置１は、制御手段１０の仮説並列処理制御手段１２によって、仮説処理手段３０１，３０２，…，３０Ｎの中で、処理を行っていない空き状態の仮説処理手段３０が存在するか否かを判定する（ステップＳ２１）。なお、ここでは、仮説処理手段３０１，３０２，…，３０Ｎが空き状態であるか否かはフラグによって判定することとし、仮説並列処理制御手段１２が、初期段階で予めすべての仮説処理手段３０１，３０２，…，３０Ｎが空き状態である旨のフラグを初期化（例えば、“０”）しておくこととする。
【０１０７】
ここで、空き状態の仮説処理手段３０が存在しないと判定した場合（ステップＳ２１でＮｏ）、仮説並列処理制御手段１２は、ステップＳ２８に動作を移す。
一方、空き状態の仮説処理手段３０が存在すると判定した場合（ステップＳ２１でＹｅｓ）、仮説並列処理制御手段１２は、仮説処理手段３０に対して、以下の仮説更新処理を実行させる。
【０１０８】
まず、仮説並列処理制御手段１２は、空き状態の仮説処理手段３０を起動し、時刻（ｔ−１）のｋ番目の仮説ｘｔ−１（ｋ）および重みｗｔ−１（ｋ）を更新する旨を指示する。なお、このとき、仮説並列処理制御手段１２は、当該空き状態の仮説処理手段３０に対応したフラグを、処理中となったことを示す値（例えば、“１”）にセットすることとする。
【０１０９】
そして、仮説処理手段３０は、制御手段１０から通知される時刻（ｔ−１）におけるｋ番目の仮説ｘｔ−１（ｋ）および重みｗｔ−１（ｋ）を、仮説記憶手段２０から読み出す（ステップＳ２２）。
そして、仮説処理手段３０は、ステップＳ２２で仮説記憶手段２０から読み出した時刻（ｔ−１）におけるｋ番目の仮説ｘｔ−１（ｋ）および重みｗｔ−１（ｋ）から、時刻ｔにおけるｋ番目の仮説ｘｔ（ｋ）および重みｗｔ（ｋ）を生成する仮説更新処理を実行する。
【０１１０】
すなわち、仮説処理手段３０は、モンテカルロ標本化手段３１によって、予め定めた提案分布（あるいは、確率密度関数）により、標本抽出を行うことで、時刻ｔにおける新たな仮説ｘｔ（ｋ）を生成する（ステップＳ２３）。例えば、モンテカルロ標本化手段３１は、前記（５）式に示した確率密度関数ｐ（ｘｔ｜ｘｔ−１）により、仮説ｘｔ（ｋ）を生成する。
【０１１１】
そして、仮説処理手段３０は、観測模擬手段３２によって、ステップＳ２２で標本化され生成された仮説ｘｔ（ｋ）が、観測モデルによりどのような観測値（模擬観測値）として観測されるかを模擬（演算）する（ステップＳ２４）。例えば、観測模擬手段３２は、前記（７）式に示した予め観測モデルを定義した関数ｈｔの演算により、模擬観測値ｙｔ（ｋ）を算出する。
【０１１２】
さらに、仮説処理手段３０は、尤度評価手段３３によって、時刻ｔにおいて外部から入力される観測値（入力観測値ｙｔ）に基づいて、ステップＳ２４で演算された模擬観測値ｙｔ（ｋ）がどれだけ尤もらしい結果であるかを評価する（ステップＳ２５）。例えば、尤度評価手段３３は、前記（８）式に示したマハラノビス距離に基づくガウス関数によって仮説を評価する尤度Ｌｔ（ｋ）を算出する。
【０１１３】
そして、仮説処理手段３０は、重み更新手段３４によって、ステップＳ２５で算出された尤度に基づいて、時刻（ｔ−１）における重みｗｔ−１（ｋ）から、時刻ｔにおける新たな重みｗｔ（ｋ）を生成する（ステップＳ２６）。例えば、重み更新手段３４は、前記（１１）式に示すように、ｗｔ−１（ｋ）に尤度Ｌｔ（ｋ）を乗算することで新たな重みｗｔ（ｋ）を生成する。
【０１１４】
その後、仮説処理手段３０は、ステップＳ２３で生成された新たな仮説ｘｔ（ｋ）と、ステップＳ２６で生成された新たな重みｗｔ（ｋ）とを、制御手段１０を介して、仮説記憶手段２０に書き込む（ステップＳ２７）。
【０１１５】
このステップＳ２２からステップＳ２７までの仮説更新処理動作によって、仮説処理手段３０は、制御手段１０から通知される時刻（ｔ−１）におけるｋ番目の仮説ｘｔ−１（ｋ）および重みｗｔ−１（ｋ）を、時刻ｔにおけるｋ番目の仮説ｘｔ（ｋ）および重みｗｔ（ｋ）に更新する。なお、このとき、仮説処理手段３０は、制御手段１０に対して仮説処理を完了したことを通知する。これによって、制御手段１０の仮説並列処理制御手段１２は、当該仮説処理手段３０に対応するフラグを、空き状態である旨の示す値（例えば、“０”）にセットする。
【０１１６】
そして、仮説並列処理制御手段１２は、仮説記憶手段２０を参照し、時刻（ｔ−１）における仮説ｘｔ−１（ｋ）および重みｗｔ−１（ｋ）が、すべて時刻ｔにおける仮説ｘｔ（ｋ）および重みｗｔ（ｋ）に更新されたか否かを判定する（ステップＳ２８）。
【０１１７】
ここで、まだすべての仮説および重みが更新されていないと判定した場合（ステップＳ２８でＮｏ）、仮説並列処理制御手段１２は、ステップＳ２１に戻ってｋを更新（ここでは、インクリメント）して動作を継続する。一方、すべての仮説および重みが更新されたと判定した場合（ステップＳ２８でＹｅｓ）、仮説並列処理制御手段１２は、時刻ｔにおける仮説並列処理の動作を終了する。
【０１１８】
なお、ここでは、ステップＳ２１の判定後、順次、ステップＳ２２からＳ２７を動作した後、ステップＳ２８の判定を行う手順で説明したが、このステップＳ２２からＳ２７までの仮説処理手段３０の動作は、個々の仮説処理手段３０１，３０２，…，３０Ｎが個別に並列して動作すればよい。
【０１１９】
すなわち、仮説並列処理制御手段１２は、ステップＳ２１において、空き状態の仮説処理手段３０を起動し、仮説更新処理（ステップＳ２２からＳ２７）の実行を指示した後は、その処理の完了を待たずに、ステップＳ２８に移行する。これによって、仮説更新処理（ステップＳ２２からＳ２７）は、並列に動作することになる。
【０１２０】
なお、このとき、仮説並列処理制御手段１２は、ステップＳ２８において、すべての仮説および重みが更新されたと判定されなかった場合であっても、Ｋｔ個の仮説について、すでに仮説処理手段３０に仮説更新処理を指示した場合、ステップＳ２１には移行せず、すべての仮説処理が終了するまで待機し、すべての仮説および重みの更新が完了した時点で仮説並列処理の動作を終了することとする。
【０１２１】
以上のステップＳ２の動作によって、仮説記憶手段２０に記憶されている仮説および重みがすべて新たな時刻に対応して更新されることになる。
図５に戻って、モデルパラメータ推定装置１の全体動作について説明を続ける。
【０１２２】
ステップＳ２の後、モデルパラメータ推定装置１は、制御手段１０の再標本化制御手段１３によって、再標本化手段４０を起動し、仮説記憶手段２０に記憶されている仮説の再標本化を行う（ステップＳ３）。この起動された再標本化手段４０は、例えば、仮説記憶手段２０に記憶されている仮説および重みから、前記（１２）式に示した確率密度分布によって仮説を標本抽出することで再標本化を行い、新たな仮説および新たな重みを生成する。
【０１２３】
その後、モデルパラメータ推定装置１は、制御手段１０の代表値演算制御手段１４によって、代表値演算手段５０を起動し、仮説記憶手段２０に記憶されている仮説から、代表値を演算して、モデルパラメータの推定値として出力する（ステップＳ４）。この代表値演算手段５０は、例えば、仮説記憶手段２０に記憶されている仮説および重みから、前記（２１）式に示す重み付き平均演算によって、代表値を算出する。
【０１２４】
そして、モデルパラメータ推定装置１は、制御手段１０によって、予め定めた最終時刻まで処理が終了したか否かを判定し（ステップＳ５）、処理が終了した場合（ステップＳ５でＹｅｓ）、動作を終了する。一方、予め定めた最終時刻まで処理が終了していない場合（ステップＳ５でＮｏ）、モデルパラメータ推定装置１は、時刻ｔを更新（インクリメント）し（ステップＳ６）、ステップＳ２に戻って、仮説の更新処理を継続する。
以上の動作によって、モデルパラメータ推定装置１は、複数の仮説処理手段３０によって、仮説ごとに並列して演算を行うことができるため、高速に状態推定を行うことができる。
【０１２５】
以上、本発明の実施形態に係るモデルパラメータ推定装置１の構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
例えば、モデルパラメータ推定装置１において、仮説を再標本化する機能は、重みが過小な仮説が生じる無駄を回避し、有効な（重みの小さくない）仮説を増加させるため、仮説の集合が局所解に陥る危険を低減できる点で優れているが、必ずしも必須ではない。この仮説の標本化の機能を省略する場合、再標本化制御手段１３および再標本化手段４０を構成から省略すればよい。
【０１２６】
以上説明したように、本発明に係るモデルパラメータ推定装置１は、複数の仮説処理手段３０による並列演算によって、逐次モンテカルロ法の処理を高速に実行することができる。このように、複数の仮説処理手段３０による並列処理を実現したことで、モデルパラメータ推定装置１は、並列ハードウェアで実装することも可能である。また、この並列処理は、複数のＣＰＵを搭載した計算機や、マルチコア、ハイパースレッディング対応のＣＰＵを搭載した計算機によるマルチスレッド処理、クラスタ計算機による並列演算処理にも適しており、ハードウェアリソースを有効に活用した高速演算処理が可能となる。
【０１２７】
また、モデルパラメータ推定装置１で演算可能な逐次モンテカルロ法は汎用性があるため、例えば、気象などの物理現象、金融システム、生体システムのモデルパラメータの推定に広く適用することができる。また、モデルパラメータ推定装置１は、機械学習におけるオンライン学習、映像・音声の復元処理などの逆問題解決法、制御系におけるオブザーバ、センサネットワークなど計測システムにおけるデータ融合など、逐次モンテカルロ法を適用可能な分野に応用することができる。
【符号の説明】
【０１２８】
１      モデルパラメータ推定装置
１０    制御手段
１１    仮説アクセス制御手段
１２    仮説並列処理制御手段
１３    再標本化制御手段
１４    代表値演算制御手段
２０    仮説記憶手段
３０    仮説処理手段
３１    モンテカルロ標本化手段
３２    観測模擬手段
３３    尤度評価手段
３４    重み更新手段
４０    再標本化手段
５０    代表値演算手段
【図１】
0005560154.tif 000023
【図２】
0005560154.tif 000024
【図３】
0005560154.tif 000025
【図４】
0005560154.tif 000026
【図５】
0005560154.tif 000027
【図６】
0005560154.tif 000028