(57)【要約】【課題】確率変数を表すノードの取り得る値の組み合わせを制限する機構を持つベイジアンネットを用いて推論処理を高速に効率よく行う確率的推論装置を提供する。【解決手段】確率変数を表す複数のノードと前記ノードの間の確率変数間の因果関係を表すエッジによりネットワークを構成したベイジアンネットを用いて推論処理を行う推論機構を備えた確率的推論装置において、ベイジアンネットの値の組み合わせに対して制約条件を加えることで、値の組み合わせの自由度を低減させる。値を制約する技術的手段としては、ベイジアンネットに制約条件ノードを追加する方法を用いる。【選択図】図１１
2010257269.tif 000002
【特許請求の範囲】
【請求項１】
確率変数を表すノードの取り得る値の組み合わせを制限する機構を持つベイジアンネットを用いて推論処理を行う推論機構を有する確率的推論装置であって、
前記ベイジアンネットは、確率変数を表すノードの取り得る値が２つ以上の通常の値と１つ以上のφ値と呼ぶ値から成る３つ以上の値のうちのどれか１つを取るノードが、ネットワークを構成するノードの中に２つ以上存在し、さらにφ値を取り得る前記ノードの子ノードとして制約条件ノードと呼ぶノードが１つ以上あって、その制約条件ノードの条件付確率表の値が、φ値を取り得る前記ノードの値がφ値を取る頻度が高くなるよう制約しているベイジアンネットであり、
前記推論機構が、前記ベイジアンネットの一部のノードに、そのノードが表す確率変数の値または値の確率分布が入力として与えられた時に、ベイジアンネットを構成するノードのネットワークを用いて、他の確率変数の値または値の事後確率を推論する
ことを特徴とする確率的推論装置。
【請求項２】
請求項１に記載の確率的推論装置において、
前記ベイジアンネットは、さらに、
φ値を取り得る前記ノードであって、
そのノードのφ値以外の値の数をｓ個とすると、
そのｓ個の各値を取る各事前確率が実質的に等しいノードを１つ以上持つベイジアンネットであり、
前記推論機構が、前記ベイジアンネットの一部のノードに、そのノードが表す確率変数の値または値の確率分布が入力として与えられた時に、ベイジアンネットを構成するノードのネットワークを用いて、他の確率変数の値または値の事後確率を推論する
ことを特徴とする確率的推論装置。
【請求項３】
請求項１または請求項２に記載の確率的推論装置において、
各ノードの条件付確率表は、推論処理を行った推論結果を用いて条件付確率表を学習する際には、φ値を取り得る１つ以上の前記ノードの条件付確率表を自己組織化マップを用いて学習し、その際にそのノードが取り得る値のうち２つ以上のφ値以外の値を近傍学習の対象とする
ことを特徴とする確率的推論装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベイジアンネットによる知識表現技術を用いた確率的推論装置に関するものであり、更に詳細には、確率変数を表すノードの取り得る値の組み合わせを制限する機構を持つベイジアンネットを用いて推論処理を高速に効率よく行う確率的推論装置に関するものである。
【背景技術】
【０００２】
ベイジアンネット（非特許文献１）は、複数の確率変数の間の確率的な因果関係を計算機のメモリ上に記憶するためのデータ構造である。ベイジアンネットを用いることによって、複雑な知識を効率的に表現することができ、その知識に基づいて事後確率計算やＭＰＥ計算など様々な確率的推論を行うことができる。現在、ベイジアンネットの応用は、音声や画像などのパターン認識、ロボットの運動制御、自然言語処理、知識情報処理など広範囲に及ぶ。音声認識などでよくつかわれる隠れマルコフモデル（ＨＭＭ）もベイジアンネットの一種である。
【０００３】
ベイジアンネットは、確率変数を表すノードと、そのノードの間の確率変数間の因果関係を表すエッジにより複数のノードのネットワークで構成される。さらに、各ノードごとに条件付確率表と呼ばれるものを保持する。条件付確率表は、あるノードの親ノードの集合がある値の組み合わせを取ったときにそのノードがある値を取る条件付確率を表にしたものである。
【０００４】
図１は、４つのノードから成るベイジアンネットの一例を説明する図であり、図２は、これらのノードにおける条件付確率表の一例を説明する図である。図１および図２を参照して、４つの確率変数を表すノードＳ，ノードＲ，ノードＷ，ノードＣから構成される簡単なベイジアンネットについて説明する。ノードＳの確率変数Ｓは「スプリンクラーが動いたかどうか」、ノードＲの確率変数Ｒは「雨が降ったかどうか」、ノードＷの確率変数Ｗは「芝生が濡れているかどうか」、ノードＣの確率変数Ｃは「雲が出ているかどうか」を表しているとする。
【０００５】
図２に示すように、４つの確率変数の間の因果関係は、条件付確率表として与える。図２では、図１のベイジアンネットの各ノードに付随する条件付確率表の例を示している。ここで、２１はノードＳに付随する条件付確率表、２２はノードＲに付随する条件付確率表、２３はノードＷに付随する条件付確率表、２４はノードＣに付随する条件付確率表である。
【０００６】
条件付確率表は、確率変数の間の因果関係の強さの知識を記憶するデータである。例えば、ノードＷに付随する条件付確率表２３において、条件付き確率Ｐ（Ｗ＝ｎｏ｜Ｓ＝ｎｏ，Ｒ＝ｎｏ）＝０．８８は、スプリンクラーも動かず雨も降っていないときに芝生が濡れていない確率は、０．８８であるという知識を表している。また、ノードＲに付随する条件付確率表２２において、条件付き確率Ｐ（Ｒ＝ｙｅｓ）＝０．０２は、単に雨が降る確率（事前確率）が０．０２であるという知識を表している。
【０００７】
次に、本発明のアルゴリズムを説明する上で必要となるＭＰＥ（ｍｏｓｔ  ｐｒｏｂａｂｌｅ  ｅｘｐｌａｎａｔｉｏｎ）という概念について簡単に説明する。
【０００８】
ＭＰＥとは、ベイジアンネットにおいて、与えられた観測データを最もよく説明する変数の値の組のことである。与えられた観測データを表す確率変数とその値の組の集合を集合ｉ、隠れ変数（観測データ以外の確率変数）とその値の組の集合を集合ｈとすると、ＭＰＥとなる値の組ｍは次の式で与えられる。
【数１】
2010257269.tif 000003
ただし、Ｐ（ｈ，ｉ）は集合ｈと集合ｉという値の組み合わせが起きる同時確率で、以下の式で表せる。
【数２】
2010257269.tif 000004
ここで、  ｐａｒｅｎｔｓ（ｘ）はノードＸの親ノードの値の組である。
【０００９】
例えば、図１のベイジアンネットにおいて、観測値Ｗ＝ｙｅｓが与えられたとする。この場合に、求めるＭＰＥは、観測値との同時確率がもっとも高い隠れ変数Ｓ，Ｒ，Ｃの値の組｛ｓ，ｒ，ｃ｝で、以下の式で表される。
【数３】
2010257269.tif 000005
【数４】
2010257269.tif 000006
【００１０】
以下に、具体的なＭＰＥの計算手順の一例を示す。まず、「Ｓ＝ｎｏ，Ｒ＝ｎｏ，Ｃ＝ｎｏ」という値の組の、観測値Ｗ＝ｙｅｓとの同時確率は、図２の条件付確率表の値を用いて以下のように計算される。
【数５】
2010257269.tif 000007
【００１１】
同様にして、他の値の組み合わせの同時確率も計算し、２の３乗個あるすべての組み合わせの各同時確率をまとめると下のようになる。
【数６】
2010257269.tif 000008
この中では、「Ｓ＝ｙｅｓ，Ｒ＝ｎｏ，Ｃ＝ｎｏ」がもっとも同時確率の高い値の組み合わせになるので、これがＭＰＥである。したがって、図１および図２の形式で記憶されている知識に基づいて、もし芝生が濡れているならば、「スプリンクラーは動いたが雨は降らず雲も出ていない」という組み合わせがもっとも可能性が高いと推論されたことになる。
【００１２】
次に、ベイジアンネットの条件付確率表の学習の処理について説明する。ベイジアンネットのネットワーク構造が与えられていて、各確率変数の値の組についての大量の観測データがあれば、それをもとに条件付確率表の要素の値を決めることができる。これを条件付確率表の学習と呼ぶ。
【００１３】
例えば、１０００個の観測データのうち、Ｒ＝ｎｏであるものが９８０個であれば、Ｐ（Ｒ＝ｎｏ）は９８０／１０００となる。また、その中で、さらにＣ＝ｎｏであるものが６８６個であれば、Ｐ（Ｃ＝ｎｏ｜Ｒ＝ｎｏ）は６８６／９８０となる。
【００１４】
隠れ変数（観測データが与えられない変数）がある場合は、ＥＭアルゴリズムなどを用いて、隠れ変数の推定値に基づいて条件付確率の値を決定する。
【００１５】
先行技術としては、非特許文献４のように異なるベイジアンネットの混合モデルを学習するアルゴリズムも提案されている。
【００１６】
条件付確率表の学習は、通常大量のデータを一度に処理することで行われる。しかし、時々刻々と新しい観測データが与えられるたびに、逐次的に条件付確率表を更新する学習アルゴリズムもある。そのようなアルゴリズムは、オンライン学習アルゴリズムと呼ばれる。
【００１７】
次に、オンライン学習アルゴリズムについて説明する。図３は、オンライン学習アルゴリズムのフローチャートを示す図である。このフローチャートに示すように、隠れ変数が含まれている場合の、条件付確率表のオンライン学習アルゴリズムは、次のような処理ステップにより学習処理が行われる（詳細については非特許文献３を参照）。
ステップ１；入力ノードに観測された値を設定する。
ステップ２；観測値と現在の条件付確率表の値に基づいてＭＰＥを計算することにより隠れ変数の値を推定する。
ステップ３；ＭＰＥの値に基づいて、条件付確率表を更新する。
ステップ４；（必要ならば）ＭＰＥを出力する。
ステップ５；ステップ１に戻る。
【００１８】
次に、このオンライン学習アルゴリズムのフローチャートの各ステップについて詳細に説明すると、
ステップ１（図３の３１）においては、新たに得られた観測データの値を、入力ノードの値に設定する。観測データとは、例えば、画像認識装置の場合はカメラ等から得られた画像情報、音声認識装置の場合はマイク等から得られた音声情報、自然言語処理装置の場合は文章入力装置等から得られた記号列、ロボットの運動制御装置の場合はセンサー等から得られた外界およびロボットの状態に関する情報である。
ステップ２（図３の３２）においては、入力データの値とその時点での条件付確率表の値を用いて、入力ノード以外のノード（すなわち隠れノード）の確率変数の値を、ＭＰＥ計算によって推定する。
ステップ３（図３の３３）においては、ステップ２で計算された各確率変数の値を、過去に得られたデータの統計量に加えることにより、条件付確率表の値を計算しなおす。例えば、過去に得られた条件付確率Ｐ（Ｙ＝ｙｅｓ｜Ｘ＝ｙｅｓ）の値が３／１０であり、今回得られた確率変数Ｘ，Ｙの値がそれぞれＸ＝ｙｅｓ，Ｙ＝ｙｅｓであったなら、条件付確率の値はＰ（Ｙ＝ｙｅｓ｜Ｘ＝ｙｅｓ）＝（３＋１）／（１０＋１）＝４／１１に更新する。
ステップ４（図３の３４）においては、必要に応じて推定された確率変数の値を出力する。例えば、画像認識装置や音声認識装置の場合は認識結果、自然言語処理装置の場合は文章の意味を表す情報、ロボットの運動制御装置の場合はアクチュエータの制御に必要な情報、等を出力する。
【００１９】
なお、ステップ３の条件付確率表の更新を行う手段については、様々なものが利用できる。例えば、非特許文献３で述べられているように、自己組織化マップを使うのも１つの方法である。この場合、確率変数は自己組織化マップの競合層に対応し、確率変数が取り得る値は自己組織化マップの競合層のユニットに対応する。そして、条件付確率はユニットの参照ベクトルの要素の値に対応する。こうすることで、自己組織化マップの特徴である近傍学習の効果により、汎化能力が向上するという利点がある。
【００２０】
図４は、確率的推論・条件付確率学習装置のモジュール構成を説明する図である。図３のオンライン学習アルゴリズムを用いた確率的推論および条件付確率の学習を行う推論学習装置は、図４に示すようなモジュール構成とすることができる。図４において、４１は外部から入力データを受け取る入力部、４２はベイジアンネットを用いた知識データベースである。確率的推論部４３は、入力部４１および知識データベース４２から値を受け取って、ＭＰＥ計算を行う。条件付確率表学習部４４は、確率的推論部４３からＭＰＥの値を受け取って、それに基づいて知識データベース４２の値を更新する。出力部４５は、確率的推論部４３から受け取ったＭＰＥの値を出力する。
【００２１】
なお、図４に示すモジュール構成の確率的推論・条件付確率学習装置から、条件付確率表学習部４４を取り除いた推論装置とした構成とすることもできる。このようなモジュール構成の装置は、学習機能を持たない確率的推論装置となる。
【００２２】
また、図５は、オンライン学習アルゴリズムを、学習能力を持つロボットに応用した場合のモジュール構成を説明する図である。図３において説明したオンライン学習アルゴリズムは、例えば、学習能力を持つロボットに応用できる。
【００２３】
この場合、図３のオンライン学習アルゴリズムを、学習能力を持つロボットに応用した場合には、図５に示すようなモジュール構成の推論学習装置となる。図５に示す装置構成においては、センサー５１からの情報と、知識データベース５２にもとづいて、確率的推論部５３がロボットの外界の状況を認識する。条件付確率表学習部５４は、確率的推論部５３からの認識結果を受け取り、それにもとづいて知識データベース５２を更新する。また、意思決定部５５は、認識結果にもとづいて運動の意思決定をし、アクチュエータ５６を駆動する。同時に意思決定部５５が、強化学習アルゴリズム等を用いて行動ルールの変更を行う。
【先行技術文献】
【非特許文献】
【００２４】
【非特許文献１】J. Pearl, Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference,Morgan Kaufmann, 1988.
【非特許文献２】一杉裕志、「脳の情報処理原理の解明状況」、産業技術総合研究所テクニカルレポート  ＡＩＳＴ０７−Ｊ０００１２，Ｍａｒ  ２００８．
【非特許文献３】一杉裕志、「大脳皮質神経回路が行うベイジアンネット構造学習に関する考察」、人工知能学会  第７２回  人工知能基本問題研究会（ＳＩＧ−ＦＰＡＩ）資料，  Ｎｏｖ  ２００８．
【非特許文献４】Thiesson B, Meek C, Chickering D, Heckerman D. Learning mixture of DAG models. Technical Report, MSR-TR-97-30, Redmond: Microsoft Research, 1997.
【発明の概要】
【発明が解決しようとする課題】
【００２５】
ところで、ベイジアンネットを大規模化しようとすると、ノード数が増えるにつれてノードの値の組み合わせの数は指数関数的に増えるため、確率的推論（たとえば、各確率変数の事後確率の計算やＭＰＥの計算）をする際の無意味な局所解の数の増大、探索空間の増大といった問題が起きる。また、条件付確率表の学習時にも同様に、過適合や無意味な局所解の数の増大、探索空間の増大という問題が起きる。したがって、ベイジアンネットはある程度以上の大規模化が難しいという問題がある。
【００２６】
また、通常のベイジアンネットでは、混合分布を効率的に表現できないという問題がある。混合分布とは、複数の異なる形を持つ確率分布を混合して得られる確率分布である。具体例で説明すると、生物の網膜に入ってくる視覚情報は、混合分布にしたがう信号の例である。例えば、人の顔、木の実の形、捕食者の形などは、それぞれが異なる確率分布にしたがって視覚情報を生成する。実際の生物の目の前に提示される視覚情報は、目の前にあるどれか１つの物体を生成したものであるはずである。個々の確率分布の内部は連続しているので、自己組織化マップを用いて学習すれば、補完されて汎化能力が上がるが、木の実の形と捕食者の形のように、かけ離れた分布の間は補完すると、かえって汎化能力が落ちることが想像される。
【００２７】
次に、従来技術では、混合分布を表現する条件付確率表をうまく学習できないことを示す実験例について説明する。図６は、２つの隠れノードと４９個の入力ノードからなるベイジアンネットを説明する図である。図７は、従来技術を用いて２つの自己組織化マップを使って混合分布を学習した例を説明する図である。図６および図７を参照する。
【００２８】
ここで説明するベイジアンネットは、図６に示すように、２つの隠れノード（Ｈ１，Ｈ２）と４９個の入力ノード（Ｉ１，…，Ｉ４９）からなるベイジアンネットである。ノードＨ１，ノードＨ２が隠れ変数を表す隠れノードである。また、ノードＩ１，…，ノードＩ４９が観測データを入力する入力ノードである。
【００２９】
図６のベイジアンネットの条件付確率表を、例えば、非特許文献３に述べられている自己組織化マップを用いた従来技術を使って学習させる。この学習装置に、２つの確率分布を混合した混合分布から生成される２次元のデータを、４９次元の冗長なデータに変換して、入力ノードの観測値として与える。すべての確率変数は、取り得る値の数は１０とした。
【００３０】
２次元のデータから４９次元のデータへの変換は以下のように行う。２次元の空間を７×７の格子で区切り、４９個の格子点の座標と、入力する２次元データの座標とのユークリッド距離をｄｉ（ｉ＝１，…，４９）として、ａｉ＝ｍａｘ（０．８−３ｄｉ，０）を１０段階に量子化したものを各入力ノードの値とする。ただし、ｍａｘ（ｘ，ｙ）はｘとｙのうち最大の値を返す関数である。
【００３１】
従来技術により、２つの自己組織化マップを使って混合分布を学習した例では、図７に示されるように、実験の結果は、２つのノード（自己組織化マップ）が２つの離れた確率分布を無理に同時に学習してしまう。このため、結果的に無意味な学習結果が得られてしまうという問題がある。
【００３２】
なお、図７において、枠で囲ったＬ字形の部分（領域）は、入力データを生成する確率分布を２次元空間上に示したものである。破線上の点と実線上の点はそれぞれ２つのノードの自己組織化マップの各ユニットの受容野の重心を示している。
【００３３】
混合分布を扱える従来技術は存在する。例えば、非特許文献４はベイジアンネットで混合分布を表現する従来技術である。しかし、大規模化が難しいというベイジアンネットの問題は解決されずに残っている。
【００３４】
本発明は上記のような問題点を解決するためになされたものであり、本発明の目的は、確率変数を表すノードの取り得る値の組み合わせを制限する機構を持つベイジアンネットを用いて推論処理を高速に効率よく行う確率的推論装置を提供することにある。
【課題を解決するための手段】
【００３５】
上記のような目的を達成するため、本発明による確率的推論装置は、基本的な構成として、確率変数を表す複数のノードと前記ノードの間の確率変数間の因果関係を表すエッジによりネットワーク構成したベイジアンネットを用いて推論処理を行う推論機構を備えた確率的推論装置において、このベイジアンネットの値の組み合わせに対して制約条件を加えることで、値の組み合わせの自由度を低減させ、課題を解決する。値を制約する技術的手段としては、ベイジアンネットに制約条件ノードを追加する方法か、あるいはそれと等価であるが、同時確率の計算の際にどの程度制約条件が満たされているかを同時確率の大きさに反映させるという方法を用いる。
【００３６】
具体的には、第１の特徴として、本発明の確率的推論装置は、確率変数を表すノードの取り得る値の組み合わせを制限する機構を持つベイジアンネットを用いて推論処理を行う推論機構を有する確率的推論装置であって、前記ベイジアンネットは、確率変数を表すノードの取り得る値が２つ以上の通常の値と１つ以上のφ値と呼ぶ値から成る３つ以上の値のうちのどれか１つを取るノードが、ネットワークを構成するノードの中に２つ以上存在し、さらにφ値を取り得る前記ノードの子ノードとして制約条件ノードと呼ぶノードが１つ以上あって、その制約条件ノードの条件付確率表の値が、φ値を取り得る前記ノードの値がφ値を取る頻度が高くなるよう制約しているベイジアンネットであり、前記推論機構が、前記ベイジアンネットの一部のノードに、そのノードが表す確率変数の値または値の確率分布が入力として与えられた時に、ベイジアンネットを構成するノードのネットワークを用いて、他の確率変数の値または値の事後確率を推論することを特徴とするものである。
【００３７】
また、第２の特徴として、本発明による確率的推論装置は、前記ベイジアンネットが、さらに、φ値を取り得る前記ノードであって、そのノードのφ値以外の値の数をｓ個とすると、そのｓ個の各値を取る各事前確率が実質的に等しいノードを１つ以上持つベイジアンネットであり、前記推論機構が、前記ベイジアンネットの一部のノードに、そのノードが表す確率変数の値または値の確率分布が入力として与えられた時に、ベイジアンネットを構成するノードのネットワークを用いて、他の確率変数の値または値の事後確率を推論することを特徴とするものである。
【００３８】
また、第３の特徴として、本発明による確率的推論装置においては、各ノードの条件付確率表は、推論処理を行った推論結果を用いて条件付確率表を学習する際には、φ値を取り得る１つ以上の前記ノードの条件付確率表を自己組織化マップを用いて学習し、その際にそのノードが取り得る値のうち２つ以上のφ値以外の値を近傍学習の対象とすることを特徴とするものである。
【発明の効果】
【００３９】
上記のような特徴を備える本発明の確率的推論装置によれば、ベイジアンネットの値の組み合わせに対して制約条件を加えることで、値の組み合わせの自由度を低減させ、推論処理を高速に効率よく行うことができる。なお、制約を加えることで、ベイジアンネットとしての表現力は低下することになるが、自然界にある画像情報や音声情報などは、信号源がスパース性、すなわち、めったに活性化しない、という性質を満たしていることが多いので、実用性において問題となることはない。本発明による確率的推論装置におけるベイジアンネットは、そのような自然界にある情報をより効率的に扱えるよう特殊化されたベイジアンネットとなっているものを利用する。これにより、また、混合分布の問題も解決される。
【００４０】
このように、制約条件によってノードの値の組み合わせの数が劇的に減少することで、確率変数の値を推論する際の計算量が劇的に減少することになり、また、後述の実験（図１２）で示すように、混合分布をうまく表現できるようになる。
【図面の簡単な説明】
【００４１】
【図１】４つのノードから成るベイジアンネットの一例を説明する図である。
【図２】ノードにおける条件付確率表の一例を説明する図である。
【図３】オンライン学習アルゴリズムのフローチャートを示す図である。
【図４】確率的推論・条件付確率学習装置のモジュール構成を説明する図である。
【図５】オンライン学習アルゴリズムを学習能力を持つロボットに応用した場合のモジュール構成を説明する図である。
【図６】２つの隠れノードと４９個の入力ノードからなるベイジアンネットを説明する図である。
【図７】従来技術を用いて２つの自己組織化マップを使って混合分布を学習した一例を説明する図である。
【図８】隠れ変数の値の組み合わせを制限するノードＳを持つベイジアンネットを説明する図である。
【図９】本発明の確率的推論装置において用いたベイジアンネットの条件付確率表の記憶形式の一例を説明する図である。
【図１０】一部の隠れ変数がφ値の制約を受けないベイジアンネットの例を説明する図である。
【図１１】制約条件ノードを２つ持つベイジアンネットの例を説明する図である。
【図１２】本発明を用いて２つの自己組織化マップを使って混合分布を学習した一例を説明する図である。
【発明を実施するための形態】
【００４２】
以下、本発明を実施するための形態について説明する。まず、変数の値の組み合わせを制限するノードＳを持つベイジアンネットについて説明する。図８は、変数の値の組み合わせを制限するノードＳを持つベイジアンネットを説明する図である。
【００４３】
ｎ個の隠れ変数を表すノードＨｉ（ｉ＝１，…，ｎ）が、それぞれ｛ｘφ，ｘ１，ｘ２，…，ｘｓ−１，ｘｓ｝という（ｓ＋１）個の値を取り得るとする。以下、ｘφをφ値、φ値以外の値を非φ値と呼ぶ。
【００４４】
また、図８に示すベイジアンネットのように、各隠れ変数の値がφ値になる確率が高くなるような制約条件を表現する１つのノードＳを、すべての隠れ変数の子ノードとして追加する。このノードＳを制約条件ノードと呼ぶ。
【００４５】
制約条件ノードのノードＳに付随する条件付確率表は、ノードＳの親ノードＨｉの多くがφ値を取るときに、条件付確率Ｐ（Ｓ＝ｙｅｓ｜Ｈ１，…，Ｈｎ）の値が大きい、という特徴を持つものとする。この条件付確率の値は、いわば、隠れ変数の値の組がどの程度制約条件を満たしているかを表している。このような特徴があれば、入力ノードＩｊ（ｊ＝１，…，ｍ）の値が与えられた時、同時にＳ＝ｙｅｓという値も与えた上で、隠れ変数Ｈｉの値をＭＰＥ計算によって推論すれば、隠れ変数の値は高い頻度でφ値を取るようになる。
【００４６】
ノードＳおよびその条件付確率表Ｐ（Ｓ｜Ｈ１，…，Ｈｎ）は、メモリ上に明示的に持つ必要はなく、同時確率の計算式を修正するだけで、実質的に同じ効果が得られる。制約条件ノードのノードＳを含まないベイジアンネットにおける、同時確率の計算式は、以下の式であった。
【数７】
2010257269.tif 000009
これを例えば、以下の式に修正する。
【数８】
2010257269.tif 000010
このように修正した場合、明示的に下記の条件付確率表Ｐ（Ｓ＝ｙｅｓ｜Ｈ１，…，Ｈｎ）を持つ制約条件ノードを追加した場合と、実質的に等価である。
【数９】
2010257269.tif 000011
ただし、αは正規化定数、βはスパース性を制御するパラメタである。Ａ（ｈ）はｈの活性度を表す値である。以下に定義されるＡ（ｈ）は「非φ値を取る要素の数」がｍ個であれば１、ｍ個でなければ無限大を示す値（所定値）を返す。
【数１０】
2010257269.tif 000012
【００４７】
このように定義される制約条件ノードのノードＳをベイジアンネットに追加すると、ＭＰＥ計算時に、隠れ変数の値の多くがφ値をとるように制約される。具体的にはｎ個の隠れノードのうち、ｍ個が非φ値、（ｎ−ｍ）個がφ値を取るという制約条件になる。
【００４８】
この時、ｎ個のノードの取り得る値の組み合わせの数は、ｓのｍ乗掛けるｎＣｍである（ただし、ｎＣｍはｎ個からｍ個を選び出す組み合わせの数）。制約条件がない場合は値の組み合わせの数はｓ＋１のｎ乗であるから、制約条件によって値の組み合わせの数が劇的に減少することになる。この効果は、ノード数ｎが大きいときに、より顕著になる。
【００４９】
この効果により、ベイジアンネットはそのままでは大規模化が難しいという問題が解決される。図９は、本発明の確率的推論装置において用いたベイジアンネットの条件付確率表の記憶形式の一例を説明する図である。
【００５０】
本発明の確率的推論装置におけるベイジアンネットは、制約条件ノードのノードＳ以外のノードの条件付確率表については、従来技術と同じ形式で保持することが可能である。例えば、Ｘ，Ｙが確率変数の時、条件付確率Ｐ（Ｙ｜Ｘ）は、具体的には、図９に示す条件付確率表９１のように、（ｓ＋１）×（ｓ＋１）通りの条件付確率の値の表にしてメモリ上に記録すればよい。
【００５１】
なお、ほとんどのノードがφ値を取ることが、値の組み合わせの爆発を抑える本質的に重要な要件であるため、少数のノードが制約を受けないようなベイジアンネットであっても、当然に本発明に含まれる。
【００５２】
図１０は、一部の隠れ変数がφ値の制約を受けないベイジアンネットの例を説明する図である。例えば、図１０では、一部のノードがφ値の制約を受けないベイジアンネットの例を示している。このベイジアンネットでは、確率変数Ｈ１と確率変数Ｈ３は高い頻度でφ値を取るようにノードＳによって制約されるが、確率変数Ｈ２はそのような制約を受けない。このような場合でも、確率変数の取り得る値の組み合わせは劇的に減ることには変わりがなく、発明の効果は失われない。
【００５３】
また、制約条件ノードは１つである必要はない。図１１は、制約条件ノードを２つ持つベイジアンネットの例を説明する図である。図１１に示す例では、ノードＳ１およびノードＳ２がともに制約条件ノードである。ノードＳ１は確率変数Ｈ１，確率変数Ｈ２の値、ノードＳ２は確率変数Ｈ３，確率変数Ｈ４の値が高い頻度でφ値になるよう制約する役割を持つ。
【００５４】
また、先に定義した関数Ａ（ｈ）ではφ値をとるノード数が（ｎ−ｍ）個という固定値になるような制約条件を考えたが、与えられる観測データごとにφ値をとるノード数が変動するようなベイジアンネットであっても、本発明に含まれる。たとえば、φ値ではない値を持つノードの数を罰金項として持つ最適化問題の形で確率的推論を実行する場合等がそれに相当する。具体的には、例えば、関数Ａ（ｈ）を次のように定義した場合が含まれる。
【数１１】
2010257269.tif 000013
【００５５】
なお、これまで説明したＭＰＥ計算の例では、１つの入力ノードには１つの確定値を入力した。しかし、一般にベイジアンネットでは、ノードに与える観測データは確定値である必要はなく、値の確率分布を与えた場合でも、他の確率変数の値に関する確率的推論を行うことができる。
【００５６】
また、本発明の確率的推論装置は、ＭＰＥ計算による確率計算だけでなく、確率変数の事後確率の計算など、様々な確率的推論を行う際に効果を発揮する。
【００５７】
ＭＰＥを計算する方法にはさまざまなものがあるが、そこで用いるアルゴリズムによらず、本発明の確率的推論装置によるベイジアンネットを用いることで効果を発揮する。用いるアルゴリズムは、先に説明したすべての値の組み合わせを計算する素朴な方法を含むだけでなく、ベストファーストサーチなどのヒューリスティックスを用いた探索の方法、ビタビアルゴリズムなどのダイナミックプログラミングを用いた方法、欲張り法、最急降下法、模擬焼きなまし法を含む局所探索法、マルコフ連鎖モンテカルロなどのモンテカルロ法を用いた方法も含む。
【００５８】
ベイジアンネットを用いて、確率変数の事後確率の計算を用いる場合も同様に、用いるアルゴリズムによらず、効果がある。用いるアルゴリズムは、すべての値の組み合わせの同時確率を用いる素朴な方法、ヒューリスティックスを用いた方法、確率伝播アルゴリズムのようにダイナミックプログラミングを用いた方法や、それを応用した近似解法であるルーピー確率伝播アルゴリズム、マルコフ連鎖モンテカルロなどのモンテカルロ法を用いた方法も含む。
【００５９】
上で述べた確率的推論装置の推論結果を用いて条件付確率表を学習する条件付確率表学習装置を構築できる。具体的には、図３で述べたオンライン学習アルゴリズムを用いるのが１つの方法であるが、図３のアルゴリズム以外にも、ＥＭアルゴリズムなどを用いることができる。
【００６０】
さらに、条件付確率の学習の際に、非特許文献３で述べた方法による自己組織化マップを用いることもできる。ただし、φ値は近傍学習の対象としない。つまり、φ値を表すユニットは、他のφ値以外の値を表すユニットの近傍にはないと考えて、近傍学習を行うように構成する。
【００６１】
すなわち、それは、確率的推論装置の推論結果を用いて条件付確率表を学習する際に、φ値を取り得る１つ以上の前記ノードの条件付確率表を自己組織化マップを用いて学習するものであり、その際にそのノードが取り得る値のうち２つ以上のφ値以外の値を近傍学習の対象とする条件付確率表学習装置となる。
【００６２】
このような学習アルゴリズムを用いた学習結果として得られるベイジアンネットは、さらに、φ値を取り得る前記ノードであって、そのノードのφ値以外の値の数をｓ個とすると、そのｓ個の各値を取る各事前確率が実質的に等しいノードを１つ以上持つベイジアンネットになる。
【００６３】
これについて具体的に説明すると、自己組織化マップでは、近傍学習と競合学習の効果により、競合層の各ユニットが勝者になる確率がほぼ等しくなる。例えば、確率変数Ｘが取り得る値が、
｛ｘφ，ｘ１，ｘ２，…，ｘｓ｝
であるとすると、φ値ｘφ以外を近傍学習の対象とすることによって、φ値以外の各値を取る事前確率Ｐ（Ｘ＝ｘｉ）（ｉ＝１，…，ｓ）に対して、
Ｐ（Ｘ＝ｘ１）＝Ｐ（Ｘ＝ｘ２）＝  …  ＝Ｐ（Ｘ＝ｘｓ）＝δX
という等式が近似的に成り立つようになる。ただし、δＸはノードごとに決まる値である。
【００６４】
この等式が成り立っていれば、２つの確率変数Ｘおよび確率変数Ｙに関して、
Ｐ（Ｘ｜Ｙ）＝Ｐ（Ｘ）
という関係が成り立つかどうかを判定するのが容易になるという利点がある。条件付確率Ｐ（Ｘ｜Ｙ）の値がδＸとほぼ等しいかどうかを判定するだけですむからである。この性質は、ベイジアンネットを単純化して計算効率を上げる際に役立つ。また、ノードＸが親ノードを持たない場合、事前確率Ｐ（Ｘ）の値がφ値以外に対してδＸになるので、個々の値の事前確率Ｐ（Ｘ＝ｘ１），Ｐ（Ｘ＝ｘ２），…，Ｐ（Ｘ＝ｘｓ）を明示的にメモリに記憶する必要がなくなるという利点がある。
【００６５】
一般に機械学習アルゴリズムでは、パラメタの自由度が高いと、過適合や局所解におちいり、汎化能力が落ちやすくなるという問題があるが、本発明の確率的推論装置のベイジアンネットでは、確率変数の値の組み合わせを制限することにより、条件付確率表の要素が取り得る値も制約されるため、過適合や局所解をまぬがれて汎化能力が向上することが期待できる。
【００６６】
確率変数の値の制限は、表を記憶する際のメモリ量の低減につながる可能性もある。値を制限することで条件付確率表の多くの要素の値が０になるなら、そのような疎な表を前提としたデータ構造を用いることで、条件付確率表を記憶するために必要なメモリ量を減らすことができる。
【００６７】
場合によっては、確率変数の値の制限が、事後確率計算における浮動小数点のオーバーフロー・アンダーフローの問題や、計算精度の問題を解決できる可能性がある。大規模なベイジアンネットの上で確率推論を行うためには、非常に多くの数の掛け算を行う必要があり、オーバーフロー・アンダーフローを引き起こしたり、計算精度が悪くなったりするという問題があるが、もし、使用する確率推論アルゴリズムが「φ値のノードは無視できる」という性質を持つなら、少数の非φ値のノードだけを用いて確率推論を行うことができるので、これらの問題を回避することができる。
【００６８】
前述の実験と同様に、図６により説明したような２個の隠れノードと４９個の入力ノードからなるベイジアンネットにおいて、前述の実験と同じ入力データに対する条件付確率表の学習を行った。ただし、ｍ＝１、すなわち、ＭＰＥにおいて、２個のうち常に１つがφ値で１つが非φ値であるように制約条件を課した。すなわち、図６の２つの隠れノードＨ１，Ｈ２の共通の子ノードとして制約条件ノードＳを追加した場合と等価な条件で、実験を行った。
【００６９】
学習時に２つの隠れノードがそれぞれ自己組織化マップの競合層として動作する点は、前述の実験と同じである。ただし、φ値は近傍学習の対象としない。すなわち、φ値を表すユニットは、他のφ値以外の値を表すすべての値の近傍にないものとして、近傍学習を行った。
【００７０】
実験の結果を図１２に示している。図１２は、本発明の確率的推論装置を用いて２つの自己組織化マップを使って混合分布を学習した一例を説明する図である。図１２に示す実験結果では、２つのノードのうち、１つが左のＬ字型の確率分布内の一点が入力されたときに非φ値になり、もう１つのノードは、右のＬ字型に対して非φ値になるような条件付確率表が、学習されている。その結果、２つの１次元の自己組織化マップが２つの確率分布をきれいに学習している。
【００７１】
なお、この実験では、各ノードが取り得る値の数はｓ＋１＝１０である。制約条件がなければ、値の組み合わせの数は（ｓ＋１）の２乗、すなわち、１００であるが、制約条件があるおかげで、ｓの１乗、掛ける２Ｃ１、すなわち、１８に激減し、ＭＰＥの計算速度が大幅に向上した。ベイジアンネットがより大規模になれば、計算速度向上の効果はより顕著に表れる。
【産業上の利用可能性】
【００７２】
非特許文献２で述べられているように、ベイジアンネットを用いた確率的推論装置は、パターン認識（画像認識、音声認識など）、ロボットの運動制御や行動計画、ファジィ情報処理、自然言語処理など、さまざまな用途に用いることができる。
【００７３】
本発明の確率的推論装置は、これらを含む多くのベイジアンネットの応用に対して効果を発揮する。特に、例えば、人間の脳が扱うことを得意とする自然界にある情報、具体的には、自然画像、音声情報、自然言語などの情報の、パターン認識などの処理に高い効果を発揮する。
【符号の説明】
【００７４】
２１〜２４  条件付確率表
４１  入力部
４２  知識データベース
４３  確率的推論部
４４  条件付確率表学習部
４５  出力部
５１  センサー
５２  知識データベース
５３  確率的推論部
５４  条件付確率表学習部
５５  意思決定部
５６  アクチュエータ
９１  条件付確率表
【図１】
2010257269.tif 000014
【図２】
2010257269.tif 000015
【図３】
2010257269.tif 000016
【図４】
2010257269.tif 000017
【図５】
2010257269.tif 000018
【図６】
2010257269.tif 000019
【図７】
2010257269.tif 000020
【図８】
2010257269.tif 000021
【図９】
2010257269.tif 000022
【図１０】
2010257269.tif 000023
【図１１】
2010257269.tif 000024
【図１２】
2010257269.tif 000025