(57)【特許請求の範囲】
【請求項１】
認識辞書における複数の参照ベクトルと認識対象とする入力ベクトルとに基づいて入力ベクトルを認識する場合に用いられる前記認識辞書を学習する認識辞書学習方法であって、
前記複数の参照ベクトルのそれぞれを正規分布よりも裾野の重たい分布関数の集合によってパラメータ表現を行うパラメータ表現段階と、予め定められた評価関数を前記パラメータを用いて最小化するように学習する最小化学習段階とを備えていることを特徴とする認識辞書学習方法。
【請求項２】
請求項１に記載の認識辞書学習方法において、前記パラメータ表現段階は、（ａ）前記裾野の重たい分布関数として、ｔ分布及びｔ分布を多次元に拡張した分布関数の内の少なくとも一方を用いること、（ｂ）前記評価関数として、事後確率の最尤推定の枠組みによってもとめられた評価関数を用いることの内のいずれかであることを特徴とする認識辞書学習方法。
【請求項３】
請求項１に記載の認識辞書学習方法において、前記パラメータ表現段階は、前記評価関数として、事後確率の最尤推定の枠組みによってもとめられた評価関数を用い、入力ベクトルに欠損を含むことを許容した学習を行えるように構成されていることを特徴とする認識辞書学習方法。
【請求項４】
請求項１に記載の認識辞書学習方法において、前記最小化学習段階は、（ｉ）前記評価関数として、パラメータの大きさが０に近づくほど評価関数が小さくなるような項を加算すること及び（ｉｉ）識別面が曲面になることも許容した学習を行うことのいずれかであることを特徴とする認識辞書学習方法。
【請求項５】
請求項１に記載の認識辞書学習方法において、前記パラメータ表現段階は、前記裾野の重たい分布関数を複数用いて、ロジスティック回帰の枠組みでのパラメータ表現で導出した算式に対して各パラメータを初期化する初期値設定段階を有し、前記最小化学習段階は、予め定めた評価関数を小さくするようなパラメータ修正値を算出する段階であって、前記パラメータの変更量は、前記評価関数値に対して各パラメータによる微分値のマイナス値を計算して、予め定められた微小でかつ修正回数を増すごとに小さくなる係数αまたは予め定められた微小な固定値αを乗じることによって求められる修正パラメータ計算段階と、前記修正値を基にパラメータを更新するパラメータ修正段階とを有していることを特徴とする認識辞書学習方法。
【請求項６】
請求項５に記載の認識辞書学習方法において、更に、学習データとする入力ベクトル群の中から学習を行う入力ベクトルの部分集合を入力する入力段階と、終了と判定されるまで前記入力段階、前記修正パラメータ計算段階、及び前記パラメータ修正段階による情報処理をこの順で反復する終了判定段階とを備えることを特徴とする認識辞書学習方法。
【請求項７】
認識辞書における複数の参照ベクトルと認識対象とする入力ベクトルとに基づいて入力ベクトルを認識する場合に用いられる前記認識辞書を学習する認識辞書学習システムであって、
前記複数の参照ベクトルのそれぞれを正規分布よりも裾野の重たい分布関数の集合によってパラメータ表現を行うパラメータ表現手段と、予め定められた評価関数を前記パラメータを用いて最小化するように学習する最小化学習手段とを備えていることを特徴とする認識辞書学習システム。
【請求項８】
請求項７に記載の認識辞書学習システムにおいて、前記パラメータ表現手段は、（ａ）前記裾野の重たい分布関数として、ｔ分布及びｔ分布を多次元に拡張した分布関数の内の少なくとも一方を用いること及び（ｂ）前記評価関数として、事後確率の最尤推定の枠組みによってもとめられた評価関数を用いることのいずれか一方であることを特徴とする認識辞書学習システム。
【請求項９】
請求項７に記載の認識辞書学習システムにおいて、前記パラメータ表現手段は、前記評価関数として、事後確率の最尤推定の枠組みによってもとめられた評価関数を用い、入力ベクトルに欠損を含むことを許容した学習を行えるように構成されていることを特徴とする認識辞書学習システム。
【請求項１０】
請求項７に記載の認識辞書学習システムにおいて、前記最小化学習手段は、（ｉ）前記評価関数として、パラメータの大きさが０に近づくほど評価関数が小さくなるような項を加算すること及び（ｉｉ）識別面が曲面になることも許容した学習を行えるように構成されていることの内のいずれか一方であることを特徴とする認識辞書学習システム。
【請求項１１】
請求項７に記載の認識辞書学習システムにおいて、前記パラメータ表現手段は、前記裾野の重たい分布関数を複数用いて、ロジスティック回帰の枠組みでのパラメータ表現で導出した算式に対して各パラメータを初期化する初期値設定手段を有し、前記最小化学習手段は、予め定めた評価関数を小さくするようなパラメータ修正値を算出する手段であって、前記パラメータの変更量は、前記評価関数値に対して各パラメータによる微分値のマイナス値を計算して、予め定められた微小でかつ修正回数を増すごとに小さくなる係数αまたは予め定められた微小な固定値αを乗じることによって求められる修正パラメータ計算手段と、前記修正値を基にパラメータを更新するパラメータ修正手段とを有していることを特徴とする認識辞書学習システム。
【請求項１２】
請求項１１に記載の認識辞書学習システムにおいて、更に、学習データとする入力ベクトル群の中から学習を行う入力ベクトルの部分集合を入力する入力手段と、終了と判定されるまで前記入力手段、前記修正パラメータ計算手段、及び前記パラメータ修正手段による情報処理をこの順で反復する終了判定手段とを備えることを特徴とする認識辞書学習システム。
【請求項１３】
コンピュータを、
認識辞書における複数の参照ベクトルと認識対象とする入力ベクトルとに基づいて入力ベクトルを認識する場合に用いられる前記認識辞書を学習するように機能させる認識辞書学習プログラムであって、
前記複数の参照ベクトルのそれぞれを正規分布よりも裾野の重たい分布関数の集合によってパラメータ表現を行うパラメータ表現手段と、
予め定められた評価関数を前記パラメータを用いて最小化するように学習する最小化学習手段として機能させることを備え、前記最小化学習手段は、予め定めた評価関数を小さくするようなパラメータ修正値を算出する手段であって、前記パラメータの変更量は、前記評価関数値に対して各パラメータによる微分値のマイナス値を計算して、予め定められた微小でかつ修正回数を増すごとに小さくなる係数αまたは予め定められた微小な固定値αを乗じることによって求められる修正パラメータ計算手段と、前記修正値を基にパラメータを更新するパラメータ修正手段とを有していることを特徴とする認識辞書学習プログラム。
【請求項１４】
請求項１３に記載の認識辞書学習プログラムにおいて、前記パラメータ表現手段は、（ａ）前記裾野の重たい分布関数として、ｔ分布及びｔ分布を多次元に拡張した分布関数の内の少なくとも一方を用いるように機能すること、及び（ｂ）前記評価関数として、事後確率の最尤推定の枠組みによってもとめられた評価関数を用いるように機能することのいずれか一方であることを特徴とする認識辞書学習プログラム。
【請求項１５】
請求項１３に記載の認識辞書学習プログラムにおいて、前記パラメータ表現手段は、前記評価関数として、事後確率の最尤推定の枠組みによって求められた評価関数を用いるように機能するとともに、入力ベクトルに欠損を含むことを許容した学習を行えるように構成されていることを特徴とする認識辞書学習プログラム。
【請求項１６】
請求項１３に記載の認識辞書学習プログラムにおいて、前記最小化学習手段は、（ｉ）前記評価関数として、パラメータの大きさが０に近づくほど評価関数が小さくなるような項を加算するように機能すること及び（ｉｉ）識別面が曲面になることも許容した学習を行えるように構成されていることの内のいずれか一方であることを特徴とする認識辞書学習プログラム。
【請求項１７】
請求項１４に記載の認識辞書学習プログラムにおいて、前記パラメータ表現手段は、前記裾野の重たい分布関数を複数用いて、ロジスティック回帰の枠組みでのパラメータ表現で導出した算式に対して各パラメータを初期化する初期値設定手段として機能し、前記最小化学習手段は、予め定めた評価関数を小さくするようなパラメータ修正値を算出する手段であって、前記パラメータの変更量は、前記評価関数値に対して各パラメータによる微分値のマイナス値を計算して、予め定められた微小でかつ修正回数を増すごとに小さくなる係数αまたは予め定められた微小な固定値αを乗じることによって求められる修正パラメータ計算手段と、前記修正値を基にパラメータを更新するパラメータ修正手段として機能することを特徴とする認識辞書学習プログラム。
【請求項１８】
請求項１７に記載の認識辞書学習プログラムにおいて、更に、コンピュータを学習データとする入力ベクトル群の中から学習を行う入力ベクトルの部分集合を入力する入力手段と、終了と判定されるまで前記入力手段、前記修正パラメータ計算手段、及び前記パラメータ修正手段による情報処理をこの順で反復する終了判定手段として機能させるための認識辞書学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン認識等で用いられる認識辞書学習方法及びそれを適用した認識辞書学習システム及びコンピュータを認識辞書学習システムとして機能させるためのプログラムに関する。
【背景技術】
【０００２】
従来、認識辞書と呼ばれる参照ベクトル群（テンプレートとも呼ばれる）入力ベクトルとの距離計算に基づいて入力ベクトルに最も近い参照ベクトルが属するカテゴリをその入力ベクトルの認識結果とする認識方法では、参照ベクトルの値によって認識精度が変化するため、どのように参照ベクトルの値を設定するかが認識精度を上げる上で重要視されている。ここで複数の入力ベクトルを学習データとして用いると共に、自動的に参照ベクトルの値を設定する方法としては、コホーネンにより提案された学習ベクトル量子化（ＬＶＱ）と呼ばれる学習方法が知られている（非特許文献１参照）。
【０００３】
さらにＬＶＱの計算安定性を向上させ、より実用的問題に提供しやすい形にしたモデルとして、ＧＬＶＱが知られている（特許文献１、非特許文献２参照）。
【０００４】
また、さらなる拡張を行っている学習手法として、ＧＲＬＶＱ（非特許文献３参照）、Ｈ２Ｍ−ＬＶＱ（非特許文献４参照）といった手法も見られている。
【０００５】
前記にいくつか挙げた「認識辞書と呼ばれる参照ベクトル群（テンプレートとも呼ばれる）入力ベクトルとの距離計算に基づいて入力ベクトルに最も近い参照ベクトルが属するカテゴリをその入力ベクトルの認識結果とする認識方法」の長所は、識別処理を非常に高速に実行可能である点である。前記各種ＬＶＱ手法において、識別を行う際の識別面は区分超平面の集まりで表現される。
【０００６】
一方で、近年、サポートベクトルマシン（ＳＶＭ）やロジスティック回帰の手法も識別に良く用いられるようになってきている。これらの手法は学習データの誤差を最小化するだけではなく、未学習データに対しても性能が向上させることができるような工夫がなされている。例えば、ＳＶＭについては、マージン最大化という概念により、学習データ以外の入力ベクトルに対する認識性能の向上について考慮している（非特許文献５参照）。
【０００７】
認識処理にかかる時間については、ＬＶＱは参照ベクトルの数に比例して認識処理にかかる時間が増加するのに対し、ＳＶＭではサポートベクトルの数に比例して認識処理にかかる時間が増加する。サポートベクトルの数はＬＶＱの参照ベクトルの数に比較すると大幅に多くなる（例えば、非特許文献６参照）ため、認識速度についていえば、ＳＶＭはＬＶＱと比較すると格段に遅いという問題点がある。
【０００８】
また、ロジスティック回帰は、事後確率を直接推定する方法である。例えば、入力ベクトルをｘ１〜ｘＮ、各入力ベクトルは２クラスωｃ、ωｅのいずれかに属するとする。入力ベクトルｘｉが属するクラスをω（ｘｉ）と表し、また属するクラスがωｃならばｙｉ＝１、ωｅならばｙｉ＝−１と定義する。
【０００９】
事後確率を以下の数1式のようにパラメータ表現をする（非特許文献７参照）。
【数１】
0005561493.tif 000002
【００１０】
上記数１式のようにｙを用いることで、次の数２式のように書ける。
【数２】
0005561493.tif 000003
【００１１】
ここで、上記数２式で用いられるパラメータｗｘ、ｗ０を学習データより推定する。推定には一般に最尤推定が用いられ、尤度関数は、次の数３式のように書ける。
【数３】
0005561493.tif 000004
【００１２】
上記数３式から、対数をとって符号を反転させた値をＳとすると、次の数４式が得られる。
【数４】
0005561493.tif 000005
【００１３】
上記数４式は、Ｓをパラメータｗｘ，ｗ０で最小化する問題となる。ロジスティック回帰に対しても、Ｗｅｉｇｈｔ  Ｄｅｃａｙ（非特許文献８参照）という処理により、未学習データに対する性能向上に関する効果を実現させることができる。具体的には、前記Ｓを、次の数５式のようにすることで、例えば、非特許文献９にみられるように、次の数５式に示されるＳＶＭで用いられる評価関数とほぼ同等になる。
【数５】
0005561493.tif 000006
【数６】
0005561493.tif 000007
【００１４】
ここで、上記数６式において、「ｈ」はＨｉｎｇｅ  ｌｏｓｓ関数である。ただし、パラメータＣは予め定める定数である。前記式変形から明らかなように、ロジスティック回帰にＷｅｉｇｈｔ  Ｄｅｃａｙを加えることは、ＳＶＭと同様の評価関数の最適化問題であり、学習データ以外の入力ベクトルに対する認識性能の向上に関する効果を実現させることができる。
【００１５】
ただし、前記ロジスティック回帰の式はあまりにも単純であるために複雑な識別面は作成できないため、認識性能は前記ＬＶＱやＬＶＱの各種手法やＳＶＭに比べると劣る。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開平９−６７４５号公報
【非特許文献】
【００１７】
【非特許文献１】Ｔ．Ｋｏｈｏｎｅｎ：“Ｔｈｅ  Ｎｅｕｒａｌ  Ｐｈｏｎｅｔｉｃ  Ｔｙｐｅｗｒｉｔｅｒ”，ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ，Ｖｏｌ．２１，Ｎｏ．３，ｐｐ．１１−２２．
【非特許文献２】佐藤敦，山田敬嗣：”一般学習ベクトル量子化の提案”，電子情報通信学会技術研究報告．ＮＣ，ニューロコンピューティング，Ｖｏｌ．９５，Ｎｏ．３４６，ｐｐ．８７−９４．
【非特許文献３】Ｂａｒｂａｒａ  Ｈａｍｍｅｒ，Ｔｈｏｍａｓ  Ｖｉｌｌｍａｎ：“Ｇｅｎｅｒａｌｉｚｅｄ  Ｒｅｌｅｖａｎｃｅ  Ｌｅａｒｎｉｎｇ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ”，Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，Ｖｏｌ．１５，ｐｐ．１０５９−１０６８．
【非特許文献４】Ａ．Ｋ．Ｑｉｎ，Ｐ．Ｎ．Ｓｕｇａｎｔｈａｎ：“Ｉｎｉｔｉａｌｉｚａｔｉｏｎ  ｉｎｓｅｎｓｉｔｉｖｅ  ＬＶＱ  ａｌｇｏｒｉｔｈｍ  ｂａｓｅｄ  ｏｎ  ｃｏｓｔ−ｆｕｎｃｔｉｏｎ  ａｄａｐｔａｔｉｏｎ”，Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，Ｖｏｌ．３８，ｐｐ．７７３−７７６．
【非特許文献５】Ｒｉｃｈａｒｄ  Ｏ．Ｄｕｄａ，Ｐｅｔｅｒ  Ｅ．Ｈａｒｔ，Ｄａｖｉｄ  Ｇ．Ｓｔｏｒｋ，監訳：尾上守夫：“パターン識別”，新技術コミュニケーションズ，２００１，ｐｐ．２５６−２５９．
【非特許文献６】細井利憲，鈴木哲明，佐藤敦：“一般化学習ベクトル量子化による顔検出”，Ｔｅｃｈｎｉｃａｌ  ｒｅｐｏｒｔ  ｏｆ  ＩＥＩＣＥ  ＰＲＭＵ，Ｖｏｌ．１０２，ｐｐ．４７−５２．
【非特許文献７】Ｃｈｒｉｓｔｏｐｈｅｒ  Ｍ．Ｂｉｓｈｏｐ：“Ｎｅｗｒａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ”，ｐｐ．８２−８３．
【非特許文献８】Ｒｉｃｈａｒｄ  Ｏ．Ｄｕｄａ，Ｐｅｔｅｒ  Ｅ．Ｈａｒｔ，Ｄａｖｉｄ  Ｇ．Ｓｔｏｒｋ，監訳：尾上守夫：“パターン識別”，新技術コミュニケーションズ，２２００１，ｐｐ．３１１−３１２．
【非特許文献９】Ｓｈａｉ  Ｓｈａｌｅｖ−Ｓｈｗａｒｔｚ，Ｙｏｒａｍ  Ｓｉｎｇｅｒ，Ｎａｔｈａｎ  Ｓｒｅｂｒｏ：“Ｐｅｇａｓｏｓ：Ｐｒｉｍａｌ  Ｅｓｔｉｍａｔｅｄ  ｓｕｂ−ＧｒＡｄｉｅｎｔ  ＳＯｌｖｅｒ  ｆｏｒ  ＳＶＭ”，ＡＣＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  Ｐｒｏｃｅｅｄｉｎｇ  Ｓｅｒｉｅｓ；Ｖｏｌ．２２７，ｐｐ．８０７−８１４．
【非特許文献１０】Ｆｅｒｅｎｃ  Ｎａｇｙ：“Ｐａｒａｍｅｔｅｒ  Ｅｓｔｉｍａｔｉｏｎ  ｏｆ  ｔｈｅ  Ｃａｕｃｈｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ  Ａｐｐｒｏａｃｈ”，Ｊｏｕｒｎａｌ  ｏｆ  Ｕｎｉｖｅｒｓａｌ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，Ｖｏｌ．１２，ｎｏ．９，ｐｐ．１３３２−１３４４．
【非特許文献１１】Ｓｏｒｅｎ  Ａｓｍｕｓｓｅｎ：“Ａｐｐｌｉｅｄ  Ｐｒｏｂａｂｉｌｉｔｙ  ａｎｄ  Ｑｕｅｕｅｓ”，Ｓｐｒｉｎｇｅｒ，ｐｐ．４１２．  非特許文献１２：Ｓ．Ｒｅｓｎｉｃｋ：“Ｏｎ  Ｔｈｅ  Ｆｏｕｎｄａｔｉｏｎｓ  ｏｆ  Ｍｕｌｔｉｖａｒｉａｔｅ  Ｈｅａｖｙ  Ｔａｉｌ  Ａｎａｌｙｓｉｓ”，Ｊｏｕｎａｌ  ｏｆ  Ａｐｐｌｉｅｄ  Ｐｒｏｂａｂｉｌｉｔｙ，  ｖｏｌ．４１Ａ，２００４，ｐｐ．１９１−２１２.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
上述した従来のＬＶＱに基づく各種手法では、学習を行った後に辞書データを用いて識別する際には非常に高速な処理が実現できるという長所は持つものの、学習過程の際には、学習データ以外の入力ベクトルに対する認識性能向上を考慮していないことや、識別面に曲面を許容していないことから、学習データ以外の入力ベクトルに対して認識性能の低下を起こすためである。
【００１９】
一方で、上述したＳＶＭを用いようとすると、ＬＶＱのように少数の参照ベクトルでの表現ができないために、高速な認識速度実現できないことにある。
【００２０】
また、上述したロジスティック回帰を用いようとすると、複雑な識別面が作成できないことで認識性能が十分ではないことにある。
【００２１】
そこで、本発明の技術的課題は、高速な識別を行うという特性を維持しながら、学習データ以外の入力ベクトルに対する認識性能を向上させることができる学習を実施することができる認識辞書学習方法、システムおよびコンピュータを認識辞書学習システムとして機能させるためのプログラムを提供することにある。
【課題を解決するための手段】
【００２２】
本発明の一態様によれば、認識辞書における複数の参照ベクトルと認識対象とする入力ベクトルとに基づいて入力ベクトルを認識する場合に用いられる前記認識辞書を学習する認識辞書学習方法であって、
前記複数の参照ベクトルのそれぞれを正規分布よりも裾野の重たい分布関数の集合によってパラメータ表現を行うパラメータ表現段階と、予め定められた評価関数を前記パラメータを用いて最小化するように学習する最小化学習段階とを備えていることを特徴とする認識辞書学習方法が得られる。
【００２３】
また、本発明のもう一つの態様によれば、認識辞書における複数の参照ベクトルと認識対象とする入力ベクトルとに基づいて入力ベクトルを認識する場合に用いられる前記認識辞書を学習する認識辞書学習システムであって、前記複数の参照ベクトルのそれぞれを正規分布よりも裾野の重たい分布関数の集合によってパラメータ表現を行うパラメータ表現手段と、予め定められた評価関数を前記パラメータを用いて最小化するように学習する最小化学習手段とを備えていることを特徴とする認識辞書学習システムが得られる。
【００２４】
さらに、本発明の更にもう一つの態様によれば、コンピュータを、認識辞書における複数の参照ベクトルと認識対象とする入力ベクトルとに基づいて入力ベクトルを認識する場合に用いられる前記認識辞書を学習するように機能させる認識辞書学習プログラムであって、前記複数の参照ベクトルのそれぞれを正規分布よりも裾野の重たい分布関数の集合によってパラメータ表現を行うパラメータ表現手段と、予め定められた評価関数を前記パラメータを用いて最小化するように学習する最小化学習手段として機能させることを備えていることを特徴とする認識辞書学習プログラムが得られる。
【発明の効果】
【００２５】
本発明では、上述したＬＶＱに基づく識別手法の範疇に属するため、高速な識別を行うという特性を維持しながら、学習データ以外の入力ベクトルに対する認識性能を向上させることができる学習を実施することや識別面に曲面を作ることを可能にすることで、学習データ以外の入力ベクトルに対する認識性能を向上させることができる認識辞書学習方法、システム、及びプログラムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明を実施の形態に認識辞書学習システムの構成を示すブロック図である。
【図２】図２は、図１の認識辞書学習システムの動作を示す流れ図である。
【図３】図３は、図１の認識辞書学習方法の入力データと参照ベクトルの単純な例を示すグラフである。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００２８】
図1は本発明を実施の形態に認識辞書学習システムの構成を示すブロック図である。図１を参照すると、本発明の実施の形態による認識辞書学習システムは、中央演算処理装置（ＣＰＵ），メモリモジュール（ＲＡＭ）、ＨＤＤやＳＤＤ等の大容量情報記憶装置、マウス、キーボード等の入力装置、出力装置、ディスプレイ等の表示装置及びＣＰＵの周辺回路や各装置のインターフェースとそれらの制御回路を備えたパーソナルコンピュータ等の情報処理装置を用いて構成される。
【００２９】
認識辞書学習システムは、初期値設定手段１１と、入力手段１２と、修正パラメータ計算手段１３と、パラメータ修正手段１４と、終了判定手段１５とを備えている。
【００３０】
パラメータ表現手段は、初期値設定手段１１を含み、複数の参照ベクトルのそれぞれを正規分布よりも裾野の重たい分布関数の集合によってパラメータ表現を行う。また、最小化学習手段は、修正パラメータ計算手段１３とパラメータ修正手段１４とを含み、予め定められた評価関数を前記パラメータに基づいて最小化するように学習する。
【００３１】
初期値設定手段１１は、学習用として用意されたＮ個のｄ次元入力ベクトル群を参考に、参照ベクトル位置の初期値と、参照ベクトルに対応する分布関数のパラメータと予め定める評価関数のパラメータの初期値を設定する手段である。
【００３２】
用意される参照ベクトルは各カテゴリに対して１個以上であり、その数を予め定める。以下ではそれぞれのカテゴリ毎に用意する参照ベクトルをＭ個とする。また、カテゴリの数をＫと定義し、Ｋ個のカテゴリをω１〜ωＫと表現する。
【００３３】
参照ベクトルの位置の初期値としては、例えば前記学習用として用意されたＮ個のｄ次元入力ベクトル群に対し、カテゴリ別にｋ−ｍｅａｎｓ等のクラスタリングの手法を用いることで算出可能である。または、前記背景技術に記した周知のＬＶＱまたはＬＶＱから発展した各種の手法を適用しても良い。
【００３４】
前記分布関数や評価関数のパラメータの初期値としては、予め定められた固定値を用いれば良い。ここで用いる分布関数としては、それぞれの参照ベクトルを中心として、中心からの距離に比例して単調減少し、かつ「正規分布と比較してより裾野の重たい分布」の混合された分布を用いる。例えば、カテゴリωｋに対するＭ個の参照ベクトルの位置をｒｋ１〜ｒｋＭとし、分布関数をｐ（ｘ）、中心をｒとした「正規分布と比較してより裾野の重たい分布」をｆ（ｘ；ｒ）とすると、ｐ（ｘ）は、次の数７式で定義される。
【数７】
0005561493.tif 000008
【００３５】
ここで、本発明において、前記「正規分布と比較してより裾野の重たい分布」とは英語表記でｈｅａｖｙ−ｔａｉｌｅｄ  ｄｉｓｔｒｉｂｕｔｉｏｎとして呼ばれているものである（非特許文献１１、参照）。つまり「ｘ→∞」の裾野にいけばいくほど、ほとんど減衰しなくなることを意味している。
【００３６】
また、中心をｒとした裾野の重たい分布ｆ（ｘ；ｒ）は、次の数８式で定義される。
【数８】
0005561493.tif 000009
【００３７】
この分布は正規分布よりも裾野が重たい分布になっている。上記分布関数に対するパラメータは、Ａｋ、Ｓ、νである。例えば、すべてのｋに対してＡｋ＝１とし、また、Ｓ＝単位行列、ν＝１と設定すれば良い。ν＝１の場合は、次の数９式に示すように、Ｐはｄ次元コーシー分布（非特許文献１０、参照）に一致する。
【数９】
0005561493.tif 000010
【００３８】
さらに簡便な形として、次の数１０式に示される等方的な分布を考えても良い。
【数１０】
0005561493.tif 000011
【００３９】
上記数１０式で示される分布関数に対するパラメータは、Ａｋ、ａ、νである。例えば、すべてにｋに対してＡｋ＝１とし、また、ξ＝１、ａ＝１、ν＝１と設定すれば良い。
【００４０】
さらに、厳密にはｘで積分して１にはならないものの、計算を簡便にするために分母の項の１を加算する処理を省略した関数を用いても良い。
【００４１】
別の裾野の重たい分布としては、前記関数のｄを１にした関数をｄ乗にすることで得られる関数を用いても良い。
【００４２】
また、分布関数ｐは、Ｋ個の関数の最大値を用いる代わりに、Ｋ個の関数の和や積を用いる次の数１１式で示される形を用いても良い。
【数１１】
0005561493.tif 000012
【００４３】
一方、評価関数をＳと定義すると、前記ロジスティック回帰の評価関数と同様に、次の数１２式で示される。
【数１２】
0005561493.tif 000013
【００４４】
前記評価関数は、事後確率Ｐ（ω（ｘ）｜ｘ）が、事前分布を一様と仮定した場合のベイズの定理によって、次の数１３式のように書けることから導出している。
【数１３】
0005561493.tif 000014
【００４５】
ここで、数１３式において、Ｓの第２項は、分布関数に利用しているパラメータの２乗の総和をＣ倍した項であるが、この項を加えることで、学習データ以外の入力ベクトルに対する性能を向上させることが可能になる。前記ηは全カテゴリの分布関数の値を用いているが、その代わりにより簡便に、次の数１４式のように定義しても良い。
【数１４】
0005561493.tif 000015
【００４６】
また、入力ベクトルｘに欠損を含む場合でも、前記枠組みを用いて同じように扱うことが可能である。すなわち、入力ベクトルｘが、欠損していない要素からなるベクトルｙと欠損している要素からなるベクトルｚを用いて、ｘ＝（ｙ，ｚ）と書ける場合を考えると、前記事後確率Ｐ（ω（ｘ）｜ｘ）の代わりに事後確率Ｐ（ω（ｘ）｜ｙ）を考え、前記事後確率Ｐ（ω（ｘ）｜ｙ）に対応するηを前記算出式より算出し利用することで、入力ベクトルｘに欠損を含む場合でも処理に変更を行うことなく学習が可能になる。
【００４７】
入力手段１２は、学習用として用意されたＮ個の入力ベクトル群の中からＴ個のベクトルｘ１〜ｘＴを選択する手段である。Ｔは１からＮまでの任意の値をとることが可能である。このＴ個の入力ベクトルｘを選ぶ手段としては、例えばＮ個のベクトルからランダムに選出すれば良い。
【００４８】
修正パラメータ計算手段１３では、入力ベクトル群ｘ１〜ｘＴのそれぞれに対して、Ｍ個の参照ベクトルの位置の値、前記分布関数や前記評価関数のパラメータの値を用いて、前記評価関数の値を算出し、それらＴ個の入力ベクトルに対する評価関数の値を計算する。そして前記評価関数値を減少させるように、参照ベクトルの位置の値と、分布関数のパラメータの値の大きさの変更量を計算する手段である。
【００４９】
パラメータの変更量は、例えば確率的降下法によって算出すれば良い。すなわち、前記定められた評価関数値に対して各パラメータによる微分値のマイナス値を計算して、予め定められた微小でかつ修正回数を増すごとに小さくなる係数αを乗じることによって求めれば良い。または、αは予め定められた微小な固定値であっても良い。
【００５０】
パラメータ修正手段１４は、前記修正パラメータ計算手段で得られたパラメータ修正量の値を用いて、現在保持しているパラメータ値を修正する手段である。修正は単純に加算することによって実施できる。
【００５１】
識別を行う際には、各参照ベクトルに対応する分布関数Ａｋｐ（ｘ；ｒｍ）を計算し、前記分布関数が最大となる、すなわち前記分布関数の対数値のマイナス−ｌｏｇＡｋｐ（ｘ；ｒｍ）が最小となる参照ベクトルを選択し、その参照ベクトルが示すカテゴリを出力することによって実現ができる。よって前記従来のＬＶＱ及びＬＶＱのさまざまな拡張手法と同様に、参照ベクトル数を少数にして学習しておけば、高速な処理が実現可能である。また、前記ＬＶＱ及びＬＶＱのさまざまな拡張手法とは異なり、ロジスティック回帰と同様の計算手法を行っているために、未学習データに対する精度を低下させない方式を実現させている。また、Ａｋの値がｋによって異なる値になる場合には、識別面が曲面になる可能性もある。この特徴は従来のＬＶＱには見られなかった特徴であり、前記特徴からも識別性能が向上させることが可能にできる。
【００５２】
ここで、裾野の重たい分布を用いることが、学習の収束性を良くするために本質的に必要である点である。複数の分布関数を用いて分布関数を構成する場合、それぞれの分布関数としては例えばＲＢＦモデルのように、ほとんどの場合では正規分布が用いられる。その理由は一般に外れ値を想定しなければ任意の分布関数は正規分布の重ね合わせで近似でき、また計算上容易になることに起因する。しかし、本発明の学習に関していえば、分布関数として正規分布を用いるのは適切では無い。その理由は参照ベクトルが発散する可能性があり、学習が不安定になることに起因する。そのことを図３にあるような簡単なケースにより説明する。
【００５３】
ここでは、ｄ＝１の場合で、参照ベクトルはクラス毎に１つとし、かつ単純な２クラス問題を考える。図３は、図１に示す認識辞書学習方法の入力データと参照ベクトルを示す単純な例を示す図である。図３にあるように、クラスω１とクラスω２の識別面はｘ＝０であるような点の分布を想定する。参照ベクトルの位置は、ｘ＝＋ｒとｘ＝−ｒに設定される。
【００５４】
分布関数が正規分布の場合は、カテゴリω１に属する入力ベクトルｘ１に対するηｉは、数１５式で示すようにとかけるため、ｒが大きければ大きいほどηが大きくなり、評価関数Ｓはより小さな値になる。
【数１５】
0005561493.tif 000016
【００５５】
このことは、参照ベクトルに発散する斥力の効果が働き、参照ベクトルが発散することを意味する。これに対して、分布が裾野の重たい分布を用いた場合は、ｒが大きいほどηｉは０に近づくため、Ｓは大きくなる。そのため、参照ベクトルに対して引力の効果が働き、参照ベクトルの発散を防ぐことができる。以上のことを鑑みると、分布関数として裾野の重たい分布を用いることと、ロジスティック回帰学習と同様の事後確率に対する学習を実施することを組み合わせて初めて、安定した学習でかつ未学習データへの性能向上が行えるという効果を生じることができる。
【００５６】
終了判定手段１５は、パラメータの修正を終了するか否かを判定する手段である。判定は、例えば修正量の大きさがすべてのパラメータに対して予め定められた値を下回っていたときに終了すると判定すれば良い。または、予め定められた値の回数だけパラメータの修正が行われた場合に終了と判定しても良い。
【００５７】
次に、図１及び図２を参照して本発明の実施の形態による認識辞書学習システムの動作について詳細に説明する。図２は図１の認識辞書学習システムの動作を示す流れ図である。
【００５８】
図２を参照すると、まず、初期値設定手段１１に、予め学習用に用意されているＮ個の入力ベクトル群ｘ１〜ｘＮが入力される。学習用の入力ベクトルはそれぞれどのカテゴリに属するかの情報も付与されている。
【００５９】
Ｎ個の入力ベクトル群に対して、カテゴリ別にＭ個のクラスタに分かれるようにｋ−ｍｅａｎｓ等のクラスタリングを行い、そのクラスタの中心座標を参照ベクトルの位置に設定する（ステップＡ１）。
【００６０】
さらに、予め定めた参照ベクトルに対応する分布関数と評価関数のパラメータの初期値を設定する（ステップＡ２）。
【００６１】
次にパラメータの更新回数を示す変数ｔの値を０に初期化する（ステップＡ３）。
【００６２】
入力手段１２で、学習用として用意されたＮ個の入力ベクトル群の中からＴ個のベクトルｘ１〜ｘＴ（１＜＝Ｔ＜＝Ｎ）を選択する。（ステップＡ４）。
【００６３】
このＴ個の入力ベクトルｘは例えばＮ個のベクトルからランダムに選出すれば良い。または、予めＮ個のベクトルをランダムにソートしておき、前回選択したデータの最後の順番の次のデータからＴ個選択しても良い。この方法を採用する場合で、Ｔ個選択する前にＮ番目まで到達した場合には、データの１番最初に戻ってＴ個選ばれるまで順次選択すれば良い。
【００６４】
次に、修正パラメータ計算手段１３において、入力ベクトル群ｘ１〜ｘＴのそれぞれに対して、Ｍ個の参照ベクトルの位置の値、分布関数のパラメータの値から、予め定められた評価関数の値を算出してその合計値を計算し、その値を減少させるように、参照ベクトルの位置の値と、分布関数のパラメータの値の大きさの変更量を計算する（ステップＡ５）。
【００６５】
次にパラメータ修正手段１４において、前記修正パラメータ計算手段で得られたパラメータ修正量の値を用いて、現在保持しているパラメータ値を修正する（ステップＡ６）。修正は単純に加算することによって実施できる。
【００６６】
次に終了判定手段１５において、パラメータの修正を終了するか否かを判定する（ステップＡ７）。判定は、例えば修正量の大きさがすべてのパラメータに対して予め定められた値を下回っていたときに終了すると判定する。
【００６７】
または、ｔの値が予め定めた定数よりも大きくなった場合に終了すると判定すれば良い。
【００６８】
そうでない場合には、ｔにｔ＋１の値を代入する（ステップＡ８）。
【００６９】
そして、ステップＡ４に戻る。
【実施例】
【００７０】
次に、図２を用いて本発明をさらに具体的に実施例を用いて説明する。
【００７１】
前記認識辞書学習方法を実施する場合には、予め学習用の入力ベクトル群を用意する必要がある。具体的な適用対象として”０”から”９”までの数字認識を行う場合を考える。例えば数字画像をデジカメにて撮影し、ＰＣのハードディスクに横６縦７の２値画像として格納する。そして前記２値画像に対し黒画素を１、白画素を０とすると共に、画像左上隅から横方向へスキャンして得られた３５次元のベクトルを入力ベクトルとする場合が挙げられる。ここでは”０”から”９”までの１０個の各カテゴリについて入力ベクトルを複数個用意し、学習用の入力ベクトル群とする。集めてきた数字画像の総数をＮとする。作成された入力ベクトル群をｘ１〜ｘＮと表現する。前記入力ベクトル群は予めＰＣのハードディスクに格納し、以下の処理を行う際にはＰＣのメモリに呼び出してＰＣのＣＰＵにて処理を実行するものとする。
【００７２】
まず、ステップＡ１において、各カテゴリ毎に入力ベクトルと同じ次元数の３５次元参照ベクトルをＭ個ずつ用意する。参照ベクトルの位置は、”０”から”９”の１０個のカテゴリのデータごとに、ｋ−ｍｅａｎｓのクラスタリングにより算出を行う。
【００７３】
次にステップＡ２において、分布関数と評価関数のパラメータの初期値を設定する。ここでは、分布関数として、次の数１６式を用いる。
【数１６】
0005561493.tif 000017
【００７４】
ただし、ｒを中心とする裾野の重たい分布ｆ（ｘ；ｒ）としては、次の数１７式を用いる。
【数１７】
0005561493.tif 000018
【００７５】
評価関数は、次の数１８式とすると、前記分布関数の数式を代入することで、前記評価関数Ｓは、さらに次の数１９式と書き換えられる。
【数１８】
0005561493.tif 000019
【数１９】
0005561493.tif 000020
【００７６】
ここで、ηは前記数１９式より明らかなように、対数演算と四則演算のみを用いて、非常に簡便に計算が可能である。ここでｒｕは入力ベクトルｘｉと同じカテゴリの参照ベクトルの中で、最もユークリッド距離が近い参照ベクトルを表し、ｒｖは入力ベクトルｘｉとは異なるカテゴリの参照ベクトルの中で、最もユークリッド距離が近い参照ベクトルを表す。また、Ｃは予め定める定数であり、ここではＣ＝１と設定する。
【００７７】
また、ξは、次の数２０式として定義されるパラメータである。
【数２０】
0005561493.tif 000021
【００７８】
前記分布関数・評価関数に対するパラメータはξのみである。本具体例においてはＡｋは学習によって更新しない、固定のパラメータと設定する。本ステップＡ２においては、ξの初期値をξ＝１として設定する。
【００７９】
次にステップＡ３において、パラメータの更新回数を示すｔの値を０に初期化する。
【００８０】
次にステップＡ４において、学習用に用意されたＮ個の入力ベクトル群から、Ｔ＝１個のベクトルを選択する。選択方法は具体的には、１からＮまでの値をとり得る乱数を発生させ、その乱数値ｊに対応する入力ベクトルｘｊを選択する。
【００８１】
次にステップＡ５において、入力ベクトルｘｊの値を用いて、分布関数のパラメータの大きさの変更量を計算する。具体的には、勾配法のアプローチにより、予め定められたαを用いて、参照ベクトルｒｋｍの位置と、パラメータξに対する更新量を、それぞれ、数２１式のように計算する。
【数２１】
0005561493.tif 000022
【００８２】
αは常に固定値α＝０．０１のように設定する。次にステップＡ６において、次の数２２式としてとして、パラメータの値を更新する。
【数２２】
0005561493.tif 000023
【００８３】
ステップＡ７において、パラメータの修正を終了するか否かを判定する。
【００８４】
例えば、修正を１０回行わせる場合を考える。
【００８５】
このとき、ｔ＜１０であるから、ｔ＝ｔ＋１として、ステップＡ４に戻る。
【００８６】
以降、ステップＡ４からステップＡ７を修正回数が１０回になるまで反復すれば、ステップＡ７の終了判定、すなわちｔ＜１０か否かの確認処理によって処理が終了する。
【産業上の利用可能性】
【００８７】
以上の説明の通り、本発明に係る認識辞書学習方法、システムおよびコンピュータを認識辞書学習システムとして機能させるためのプログラムは、パターン認識等に適用される。
【００８８】
この出願は、２００９年３月１１日に出願された日本出願特願２００９−０５７２８５号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【符号の説明】
【００８９】
１１  初期値設定手段
１２  入力手段
１３  修正パラメータ計算手段
１４  パラメータ修正手段
１５  終了判定手段
【図１】
0005561493.tif 000024
【図２】
0005561493.tif 000025
【図３】
0005561493.tif 000026