(57)【要約】【課題】学習全体の処理時間に対する同期処理時間の比率が小さく、参照ベクトルに対して補正を連続して行う必要のない学習ベクトル量子化学習システム、並列学習方法及びそのプログラムを提供する。【解決手段】学習ベクトルを並列に入力する学習ベクトル記憶部４１と、複数の参照ベクトルを記憶する参照ベクトル記憶部４２と、学習ベクトルの各々と全参照ベクトルとの距離計算を並列に行う並列データ処理部４７と、距離計算に基づいて、参照ベクトルの中から近傍となるものを各々の学習ベクトルについて順次選出する参照ベクトル選別部４５と、参照ベクトル記憶部４２に記憶されている参照ベクトルのうち、参照ベクトル選別部４５によって選出されたものを更新する参照ベクトル更新部４６と、更新した参照ベクトルに基づいて並列データ処理部４７による距離計算結果を補正する距離データ補正部４８とを有する。【選択図】図１
2010191633.tif 000002
【特許請求の範囲】
【請求項１】
複数の学習ベクトルを並列に入力する手段と、
学習の対象である複数の参照ベクトルを記憶する参照ベクトル記憶手段と、
前記学習ベクトルの各々と全参照ベクトルとの距離計算を並列に行う距離計算手段と、
前記距離計算に基づいて、前記参照ベクトルの中から近傍となるものを各々の学習ベクトルについて順次選出する参照ベクトル選別手段と、
前記参照ベクトル記憶手段に記憶されている参照ベクトルのうち、前記参照ベクトル選別手段によって選出されたものを更新する参照ベクトル更新手段と、
更新した参照ベクトルに基づいて前記距離計算手段による距離計算結果を補正する距離データ補正手段とを有し、
前記参照ベクトル選別手段は、２番目以降の学習ベクトルについては、前記距離データ補正手段によって補正された距離計算結果に基づいて前記参照ベクトルの中から近傍となるものを選出することを特徴とする学習ベクトル量子化学習システム。
【請求項２】
前記計算処理手段が、マルチコアプロセッサ又はマルチプロセッサを用いて構成されたことを特徴とする請求項１記載の学習ベクトル量子化学習システム。
【請求項３】
並列に行われる前記の距離計算の完了及び前記参照ベクトルの更新が全てするのを待ち合わせる同期処理手段を備えることを特徴とする請求項１又は２記載の学習ベクトル量子化学習システム。
【請求項４】
前記同期処理手段は、オペレーティングシステムに依存しない同期処理を行うことを特徴とする請求項３記載の学習ベクトル量子化学習システム。
【請求項５】
前記参照ベクトル記憶手段が、メモリを用いて構成されており、前記同期処理手段は、前記メモリのキャッシュコヒーレンシを利用して、前記メモリ内に格納されている同期用データに対するポーリングを行うことを特徴とする請求項４記載の学習ベクトル量子化学習システム。
【請求項６】
複数の学習ベクトルの各々と学習対象として参照ベクトル記憶手段に記憶されている全参照ベクトルとの距離計算を並列に行い、
前記距離計算に基づいて、任意の学習ベクトルについて前記参照ベクトルの中から近傍となるものを選出し、
前記参照ベクトル記憶手段に記憶されている参照ベクトルのうち、近傍として選出されたものを更新し、
更新した参照ベクトルに基づいて前記距離計算結果を補正し、
２番目以降の学習ベクトルについては、前記補正された距離計算結果に基づいて前記参照ベクトルの中から近傍となるものを選出し、近傍として選出された参照ベクトルを更新し、更新した参照ベクトルに基づいて前記距離計算結果を補正することを特徴とする並列学習方法。
【請求項７】
並列に行われる前記の距離計算の完了及び前記参照ベクトルの更新が全てするのを待ち合わせる同期処理を行うことを特徴とする請求項６記載の並列学習方法。
【請求項８】
オペレーティングシステムに依存しない同期処理を行うことを特徴とする請求項７記載の並列学習方法。
【請求項９】
複数の学習ベクトルの各々と学習対象として参照ベクトル記憶手段に記憶されている全参照ベクトルとの距離計算を並列に行う処理と、
前記距離計算に基づいて、任意の学習ベクトルについて前記参照ベクトルの中から近傍となるものを選出する処理と、
前記参照ベクトル記憶手段に記憶されている参照ベクトルのうち、近傍として選出されたものを更新する処理と、
更新した参照ベクトルに基づいて前記距離計算結果を補正する処理と、
２番目以降の学習ベクトルについて、前記補正された距離計算結果に基づいて前記参照ベクトルの中から近傍となるものを選出し、近傍として選出された参照ベクトルを更新し、更新した参照ベクトルに基づいて前記距離計算結果を補正する処理とをコンピュータに実行させることを特徴とする並列学習プログラム。
【請求項１０】
並列に行われる前記の距離計算の完了及び前記参照ベクトルの更新が全てするのを待ち合わせる同期処理を前記コンピュータに実行させることを特徴とする請求項９記載の並列学習プログラム。
【請求項１１】
前記コンピュータに、オペレーティングシステムに依存しない同期処理を行わせることを特徴とする請求項１０記載の並列学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＶＱ（Learning Vector Quantization：学習ベクトル量子化）の学習を行うシステムに関し、特に、並列に学習処理を行う学習ベクトル量子化学習システム、並列学習方法及びそのプログラムに関する。
【背景技術】
【０００２】
ＬＶＱ学習方式の一例が非特許文献１に記載されている。ＬＶＱ学習方式の学習システムは、図６に示すように、学習ベクトル記憶部２１、参照ベクトル記憶部２２、距離計算部２３、距離データ記憶部２４、参照ベクトル選別部２５及び参照ベクトル更新部２６を有する。学習ベクトル記憶部２１は、入力データを格納する。参照ベクトル記憶部２２は、学習の出力となる参照ベクトルを格納する。距離計算部２３は、学習ベクトルと参照ベクトルとの距離計算を行う。距離データ記憶部２４は、距離計算結果を蓄積する。参照ベクトル選別部２５は、距離データを基に学習ベクトルの近傍データを求める。参照ベクトル更新部２６は、選択された参照ベクトルを更新する。
【０００３】
図７のフローチャートに示すように、ＬＶＱ学習システムは、同一の処理を一定回数又は終了条件を満たすまで（学習が収束するまで）反復して行うことができる。図８に示すように、各反復では学習ベクトルごとに近傍の参照ベクトルを更新する。
【０００４】
ＬＶＱ学習の並列処理を行うシステム（並列ＬＶＱ学習システム）が非特許文献２に記載されている。非特許文献２に記載の並列ＬＶＱ学習システムは、図９に示すように、並列に距離計算を行う複数の距離計算部２３を備えた並列データ処理部２７と同期処理部２８とを備えている点で非特許文献１に記載のＬＶＱ学習システムと相違する。図９に示す並列ＬＶＱ学習システムは、図１０に示すように、並列データ処理部２７を用いて一つの学習ベクトルと複数の参照ベクトルとの距離計算を同時に行う。複数の距離計算部を用いて距離計算を並列に行う構成は特許文献１にも開示されている。
【０００５】
非特許文献２に開示される並列ＬＶＱ学習システムは、以下のように動作する。すなわち、１回の反復学習で、
（１）学習ベクトル記憶部２１から学習ベクトルＬｊを受け取る。
（２）並列データ処理部２７内の複数個の距離計算部２３を用いて、参照ベクトル記憶部２２から受け取った各参照ベクトルと学習ベクトルＬｊの距離計算を行い、距離データ記憶部２４に出力する。
（３）同期処理部２８により、全距離計算部２３での距離計算が完了するのを待つ。
（４）参照ベクトル選別部２５により、近傍となる参照ベクトルを選出する。
（５）参照ベクトル更新部２６により、近傍ベクトルを更新する。
（６）同期処理部２８により、近傍ベクトルが更新されるのを待つ。
という動作を全ての学習ベクトルに対して行う。
【０００６】
また、ＬＶＱ学習方式の学習システムに関連する技術は、特許文献２にも開示されている。特許文献２に開示される発明は、まず所定の属性を有する学習ベクトル及び参照ベクトルを用いた参照ベクトルの補正を行い、その後に全ての属性の学習ベクトル及び参照ベクトルを用いて当該参照ベクトルの補正を行うものである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−２６８１３１号公報
【特許文献２】特開２００２−９２００５号公報
【非特許文献】
【０００８】
【非特許文献１】佐藤敦他著「一般学習ベクトル量子化による文字認識」電子情報通信学会技術研究報告、１９９６年、Ｖｏｌ．９５、Ｎｏ．５８３、ｐｐ．２３−３０
【非特許文献２】福本光他著「擬似Kohonen NetworkのLVQ学習」情報処理学会研究報告、１９９５年８月２３日、ｐｐ．１７−２４
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献２に記載された発明は、前の学習ベクトルに対する処理で参照ベクトルが修正され、前のステップに対する依存関係があるため、ＬＶＱ学習において逐次処理と同一の結果を得るために並列に行える処理量が、参照ベクトル数及び特徴空間の次元に制限されてしまう。この問題を解決する方法は、特許文献１には何の示唆さえされていないため、特許文献１に開示される発明を並列ＬＶＱ学習システムに適用した場合には、非特許文献２に記載の発明と同様の問題が発生する。
また、非特許文献２に記載された発明は、同期処理が学習ベクトルごとに行われ、同期処理回数が多いため、学習全体の処理時間に対する同期処理時間の比率が大きい。
【００１０】
また、特許文献２に開示される発明は、一つの参照ベクトルに対して補正を２回続けて行うため、学習に要する時間が長くなってしまうという問題がある。
【００１１】
このように、学習全体の処理時間に対する同期処理時間の比率が小さく、参照ベクトルに対して補正を連続して行う必要のない学習ベクトル量子化学習システム、並列学習方法及びそのプログラムは提供されていなかった。
【００１２】
本発明は係る問題に鑑みてなされたものであり、学習全体の処理時間に対する同期処理時間の比率が小さく、参照ベクトルに対して補正を連続して行う必要のない学習ベクトル量子化学習システム、並列学習方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、第１の態様として、複数の学習ベクトルを並列に入力する手段と、学習の対象である複数の参照ベクトルを記憶する参照ベクトル記憶手段と、学習ベクトルの各々と全参照ベクトルとの距離計算を並列に行う距離計算手段と、距離計算に基づいて、参照ベクトルの中から近傍となるものを各々の学習ベクトルについて順次選出する参照ベクトル選別手段と、参照ベクトル記憶手段に記憶されている参照ベクトルのうち、参照ベクトル選別手段によって選出されたものを更新する参照ベクトル更新手段と、更新した参照ベクトルに基づいて距離計算手段による距離計算結果を補正する距離データ補正手段とを有し、参照ベクトル選別手段は、２番目以降の学習ベクトルについては、距離データ補正手段によって補正された距離計算結果に基づいて参照ベクトルの中から近傍となるものを選出することを特徴とする学習ベクトル量子化学習システムを提供するものである。
【００１４】
また、上記目的を達成するため、本発明は、第２の態様として、複数の学習ベクトルの各々と学習対象として参照ベクトル記憶手段に記憶されている全参照ベクトルとの距離計算を並列に行い、距離計算に基づいて、任意の学習ベクトルについて参照ベクトルの中から近傍となるものを選出し、参照ベクトル記憶手段に記憶されている参照ベクトルのうち、近傍として選出されたものを更新し、更新した参照ベクトルに基づいて距離計算結果を補正し、２番目以降の学習ベクトルについては、補正された距離計算結果に基づいて参照ベクトルの中から近傍となるものを選出し、近傍として選出された参照ベクトルを更新し、更新した参照ベクトルに基づいて距離計算結果を補正することを特徴とする並列学習方法を提供するものである。
【００１５】
また、上記目的を達成するため、本発明は、第３の態様として、複数の学習ベクトルの各々と学習対象として参照ベクトル記憶手段に記憶されている全参照ベクトルとの距離計算を並列に行う処理と、距離計算に基づいて、任意の学習ベクトルについて参照ベクトルの中から近傍となるものを選出する処理と、参照ベクトル記憶手段に記憶されている参照ベクトルのうち、近傍として選出されたものを更新する処理と、更新した参照ベクトルに基づいて距離計算結果を補正する処理と、２番目以降の学習ベクトルについて、補正された距離計算結果に基づいて参照ベクトルの中から近傍となるものを選出し、近傍として選出された参照ベクトルを更新し、更新した参照ベクトルに基づいて距離計算結果を補正する処理とをコンピュータに実行させることを特徴とする並列学習プログラムを提供するものである。
【発明の効果】
【００１６】
本発明によれば、学習全体の処理時間に対する同期処理時間の比率が小さく、参照ベクトルに対して補正を連続して行う必要のない学習ベクトル量子化学習システム、並列学習方法及びそのプログラムを提供できる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係る並列ＬＶＱ学習システムの構成を示す図である。
【図２】本発明の好適な実施の形態に係る並列ＬＶＱ学習システムの構成を示す図である。
【図３】本発明の好適な実施の形態に係る並列ＬＶＱ学習システムの動作の流れを示す図である。
【図４】本発明の好適な実施の形態に係る並列ＬＶＱ学習システムの実施例を示す図である。
【図５】本発明の好適な実施の形態に係る並列ＬＶＱ学習システムの実施例での機能構成を示す図である。
【図６】非特許文献１に開示されるＬＶＱ学習システムの構成を示す図である。
【図７】非特許文献１に開示されるＬＶＱ学習システムの動作の流れを示す図である。
【図８】非特許文献１に開示されるＬＶＱ学習システムの動作の流れを示す図である。
【図９】非特許文献２に開示される並列ＬＶＱ学習システムの構成を示す図である。
【図１０】非特許文献２に開示される並列ＬＶＱ学習システムの並列距離計算を示す図である。
【発明を実施するための形態】
【００１８】
本発明に係る並列ＬＶＱ学習システムは、図１に示すように、複数の学習ベクトルを並列に入力する学習ベクトル記憶部４１と、学習の対象である複数の参照ベクトルを記憶する参照ベクトル記憶部４２と、学習ベクトルの各々と全参照ベクトルとの距離計算を並列に行う並列データ処理部４７と、距離計算に基づいて、参照ベクトルの中から近傍となるものを各々の学習ベクトルについて順次選出する参照ベクトル選別部４５と、参照ベクトル記憶部４２に記憶されている参照ベクトルのうち、参照ベクトル選別部４５によって選出されたものを更新する参照ベクトル更新部４６と、更新した参照ベクトルに基づいて並列データ処理部４７による距離計算結果を補正する距離データ補正４８とを有し、参照ベクトル選別部４５は、２番目以降の学習ベクトルについては、距離データ補正部４８によって補正された距離計算結果に基づいて参照ベクトルの中から近傍となるものを選出することを特徴とする。
この並列ＬＶＱ学習システムは、複数の学習ベクトルに対しても平行して学習処理を進められるように構成されているため、より多くの距離計算部を備えることで学習処理性能を向上させることができる。また、複数の学習ベクトルに対する参照ベクトルの更新処理を逐次行うように構成されているため、同期処理回数を大幅に減らすことができる。
【００１９】
以下、本発明の好適な実施の形態についてより詳細に説明する。
【００２０】
本発明の好適な実施の形態に係る並列ＬＶＱ学習システムは、図２に示すように、学習ベクトル記憶部１、参照ベクトル記憶部２、複数の距離計算部３を備えた並列データ処理部７、複数の学習ベクトルに対応した距離データを記憶する多重距離データ記憶部９、参照ベクトル選別部５、参照ベクトル更新部６、距離データ補正部１０、ユーザレベル同期処理部１１及び更新済みデータ記憶部１２を有する。なお、学習ベクトル記憶部１、参照ベクトル記憶部２、並列データ処理部７、参照ベクトル選別部５、参照ベクトル更新部６、及び距離データ補正部１０は、図１の学習ベクトル記憶部４１、参照ベクトル記憶部４２、並列データ処理部４７、参照ベクトル選別部４５、参照ベクトル更新部４６、及び距離データ補正部４８にそれぞれ相当する。
【００２１】
並列データ処理部７は、複数の距離計算部３を備える。多重距離データ記憶部９は、複数の距離データ記憶部４を備えており、複数の学習ベクトルに対応した距離データを記憶する。参照ベクトル選別部５は、更新する参照ベクトルを選別する。参照ベクトル更新部６は、参照ベクトルを更新する。更新済みベクトル記憶部１２は、更新された参照ベクトルを記憶する。ユーザレベル同期処理部１１は、距離計算部３が他の距離計算部３の計算完了を待つ処理を行う。距離データ補正部１０は、距離データの補正を行う。
【００２２】
学習ベクトル記憶部１は、予め学習ベクトルを記憶している。
参照ベクトル記憶部２は、予め初期参照ベクトルを記憶しており、学習の出力である参照ベクトルによって更新される。
並列データ処理部７が備える各距離計算部３は、学習ベクトル記憶部１からそれぞれ異なる学習ベクトルを一つずつ受け取り、参照ベクトル記憶部２に記憶されている全ての参照ベクトルとの距離計算を行い、結果を対応する距離データ記憶部４に出力する。
ユーザレベル同期処理部１１は、並列データ処理部７が行っている計算の完了及び参照ベクトルの更新完了をオペレーティングシステムの同期機構を利用せずに待ち合わせる。これは、スピンロック処理などによって実現される。
多重距離データ記憶部９は、参照ベクトルと学習ベクトルとの距離計算結果が記憶される。また、距離データ補正部１０によって補正された参照ベクトルと学習ベクトルとの距離計算結果に基づいて補正される。
更新済みベクトル記憶部１２は、参照ベクトル更新部６で更新された参照ベクトルを記憶する。
参照ベクトル選別部５は、多重距離データ記憶部９に記憶された距離結果に基づいて、学習ベクトルの近傍となる参照ベクトルを参照ベクトル更新部６に伝達する。
参照ベクトル更新部６は、対象となる参照ベクトルの更新処理を行い、参照ベクトル記憶部２内の対象データを上書きして更新する。
【００２３】
この並列ＬＶＱ学習システムは、概略以下のように動作する。
（１）並列データ処理部７を用い、学習ベクトル記憶部１から入力される複数個の学習ベクトルに対して、参照ベクトル記憶部２から入力されるその時点での参照ベクトル集合との距離計算を投機的かつ並列に行う。この際、各距離計算部３の処理時間が均等となるように処理量を配分する。
（２）全ての距離計算が完了するのを、ユーザレベル同期処理部１１によって待ち合わせる。
（３）更新済みベクトル記憶部１２のデータを消去する。
（４）参照ベクトル選別部５と、参照ベクトル更新部６と距離データ補正部１０とにより、本来の学習ベクトル入力順に対して、更新済みベクトルに記憶された参照ベクトルとの距離計算を行い、多重距離データ記憶部９に記憶された対応する距離データを計算された値に置き換え、近傍の計算、参照ベクトルの更新をし、更新済みベクトル記憶部１２に記憶させる。
（５）全ての参照ベクトルの更新処理の完了を、ユーザレベル同期処理部１１によって待ち合わせる。
【００２４】
以上の手順によれば、複数の学習ベクトルに対して、更新されていない参照ベクトルとの距離計算を投機的に行い、その後補正を行うため、並列処理を行える処理量が増加し、多数の演算装置を有効に利用でき、逐次処理と同一の結果が得られる。
また、複数の学習ベクトルに対する参照ベクトルの更新処理を一度に逐次処理するため、同期処理回数を低減できる。
さらに、同期処理がオペレーティングシステムによって処理されると、コンテキストスイッチが頻繁に発生するため、汎用オペレーティングシステムの同期処理機構を利用して実装するとシステムに大きな負荷がかかるが、本実施形態においては、同期処理の際にオペレーティングシステムの同期機構を利用しない。このため、コンテキストスイッチが発生せず、各距離計算部３の処理時間を均等にすることで、待ち時間のずれを小さくできるため、同期処理を短時間で処理し、システムで動作する他の処理に与える影響を小さくできる。
またさらに、２番目以降の学習データに関しては、補正した距離計算結果を用いて近傍となる参照ベクトルを算出するため、参照データの補正を複数回行う必要がない。
【００２５】
本実施形態に係る並列ＬＶＱ学習システムの動作についてより詳細に説明する。図３に、本実施形態に係る並列ＬＶＱ学習システムの動作の流れを示す。ここではＭ個の学習ベクトルに対して並列に学習処理を行う場合を例としている。
まず、学習ベクトル記憶部１から入力されるＭ個の学習ベクトルに対して、並列データ処理部７を用いて、参照ベクトルとの距離計算の全組み合わせに対して各距離計算部３の処理性能に比例した処理を配分し、配分された学習ベクトルと参照ベクトルとの組み合わせに対する距離計算を行い、多重距離データ記憶部９に出力する（ステップＡ１）。
【００２６】
次に、ユーザレベル同期処理部１１を用いてバリア同期処理を行い、全ての距離計算部３で距離計算が完了するのを待ち合わせる（ステップＡ２）。
【００２７】
そして、更新済みベクトル記憶部１２に記憶されているデータを消去する（ステップＡ４）。
【００２８】
その後、距離データの補正のためにループ処理を行う。ループ処理では、距離データ補正部１０により、更新済みベクトル記憶部１２に記憶された参照ベクトルとの距離計算を行う（ステップＡ５）。そして、参照ベクトル選別部５によって学習ベクトル近傍の参照ベクトルを選出する（ステップＡ６）。なお、ループの１回目では、更新済みベクトル記憶部１２に記憶されているデータが存在しないので、ステップＡ５の処理はスキップし、ステップＡ６においては単純に全参照ベクトルの中から近傍ベクトルを選出する。
近傍ベクトルとして選出された参照ベクトルは、参照ベクトル更新部６によって更新する（ステップＡ７）。
【００２９】
その後、Ｍ個の学習ベクトルに対して処理を行ったか否かを判断し（ステップＡ９）、Ｍ個の学習ベクトルに対しての処理が完了していない場合は、（ステップＡ９／Ｙｅｓ）、近傍ベクトルを更新済みとして更新済みベクトル記憶部１２に記憶する（ステップＡ１０）。その後、ステップＡ５に進み、Ｍ個の学習ベクトルに対して処理が完了するまでステップＡ５〜Ａ１０の処理を繰り返す。
【００３０】
Ｍ個の学習ベクトルについての処理が完了したら（ステップＡ９／Ｎｏ）、ユーザレベル同期処理部１１を用いてバリア同期処理を行い、全ての参照ベクトルの更新処理が完了するのを待って処理を終了する。
【００３１】
本実施形態に係る並列ＬＶＱ学習システムは、複数の学習ベクトルに対しても平行して学習処理を進められるように構成されているため、より多くの距離計算部を備えることで学習処理性能を向上させることができる。
また、複数の学習ベクトルに対する参照ベクトルの更新処理を逐次行うように構成されているため、同期処理回数を大幅に減らすことができる。
さらに、ユーザレベルの同期処理を行うことで、同期処理時間を短縮でき、システムに与える影響を小さくできる。
しかも、逐次手法と同様の結果を得ることができ、同じ学習能力を有する。
【実施例】
【００３２】
図４に、本発明に係る並列学習システムの実施例を示す。
並列学習システムは、マルチコアプロセッサ１３、メモリ１４及びハードディスク１５で構成されている。
ＬＶＱ学習プログラム１５１、学習ベクトル１５２、初期参照ベクトル１５３は、ハードディスク１５上に格納されている。ＬＶＱ学習プログラム１５１は、メモリ１４のメモリ空間を共有する複数のスレッドを生成し、それぞれマルチコアプロセッサ１３内の別のＣＰＵ１３０〜１３３で実行される。ＣＰＵ１３０〜１３３で実行されたＬＶＱ学習プログラム１５１は、図５に示すようにマルチコアプロセッサ１３内に参照ベクトル選別部５、参照ベクトル更新部６、並列データ処理部７、距離データ補正部１０及びユーザレベル同期処理部１１を形成する。
並列データ処理部７による距離計算は、学習ベクトル１５２と初期参照ベクトル１５３又は参照ベクトル１４１とを用いて行われ、演算結果はメモリ１４上に形成される多重距離データ記憶部９に出力されて距離データ１４２として記憶される。
同期処理は、メモリ１４のキャッシュコヒーレンシを利用して同期用データ１４３に対するポーリングを行う。又は、バスクロック機構を利用したアトミックな演算を利用して待ち合わせる。学習によって得られた参照ベクトル１４１は、メモリ１４からハードディスク１５に出力され、学習結果として記憶される。
【００３３】
ここではマルチコアプロセッサを用いた構成を例としたが、マルチプロセッサを用いて同様の構成とすることも可能である。
【００３４】
このように、特別なハードウェアを用いなくとも、コンピュータによるソフトウェア処理で本発明に係る並列ＬＶＱ学習システムを形成できる。
【００３５】
なお、上記実施形態は本発明の好適な実施の一例であり、本発明はこれに限定されることなく様々な変形が可能である。
【産業上の利用可能性】
【００３６】
本発明は、サーバ上での大量データのパターン認識の高速化や、マルチコアプロセッサを搭載する端末においてユーザの嗜好に適応させるリアルタイムな学習といった用途にも適用可能である。
【符号の説明】
【００３７】
１、２１、４１    学習ベクトル記憶部
２、２２、４２    参照ベクトル記憶部
３、２３    距離計算部
４、２４    距離データ記憶部
５、２５、４５    参照ベクトル選別部
６、２６、４６    参照ベクトル更新部
７、２７、４７    並列データ処理部
９    多重距離データ記憶部
１０、４８    距離データ補正部
１１    ユーザレベル同期処理部
１２    更新済みベクトル記憶部
１３    マルチコアプロセッサ
１４    メモリ
１５    ハードディスク
２８    同期処理部
１３０、１３１、１３２、１３３    ＣＰＵ
１４１    参照ベクトル
１４２    距離データ
１４３    同期用データ
１５１    ＬＶＱ学習プログラム
１５２    学習ベクトル
１５３    初期参照ベクトル
【図１】
2010191633.tif 000003
【図２】
2010191633.tif 000004
【図３】
2010191633.tif 000005
【図４】
2010191633.tif 000006
【図５】
2010191633.tif 000007
【図６】
2010191633.tif 000008
【図７】
2010191633.tif 000009
【図８】
2010191633.tif 000010
【図９】
2010191633.tif 000011
【図１０】
2010191633.tif 000012