(57)【特許請求の範囲】
【請求項１】
ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
【請求項２】
前記ベクトル入力手段からの入力ベクトルを受けて、該入力ベクトルの各成分の取り得る値の範囲を制限するべく、前記各成分に変換を施す変換手段をさらに有することを特徴とする請求項１記載のベクトル規格化装置。
【請求項３】
前記追加成分計算手段からの出力の取り得る値の範囲が、前記入力ベクトルの各成分の取り得る値の範囲と同一であることを特徴とする請求項１又は２記載のベクトル規格化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ベクトル規格化装置に関し、特に、内積演算を用いてある距離基準を満たす勝利素子を決定し、その勝利素子、及びその勝利素子によって決められる素子に対して何らかの操作を施すことによって、位相保存写像やパターン認識等のための競合学習を行う競合学習装置において用いられるベクトル規格化装置に関する。
【０００２】
【従来の技術】
ある距離基準を満たす勝利素子を決定し、その勝利素子及びその勝利素子によって決められる素子に対して何らかの操作を施すことによって、位相保存写像やパターン認識を行う競合学習アルゴリズムがよく知られている（T.Kohonen,"Self-Organization and Associative Memory",Third Edition,Springer-Verlag,Berlin,1989）。
【０００３】
これらのアルゴリズムは、何れもユークリッド距離、マンハッタン距離、内積等の距離基準を用い、ある入力に対してその基準を満たす勝利素子を選ぶ競合過程を有している。コンピューター上で上記競合学習アルゴリズムを実行する場合、何れの距離基準も容易に用いることができるが、その場合、距離基準として一般に性能が良いと報告されているユークリッド距離がよく用いられている。しかし、画像等の大容量のデータの処理には時間がかかる。
【０００４】
また、画像等の大容量のデータを高速に処理するためにハードウエア上でユークリッド距離計算を行おうとする場合は、差分電気回路、二乗電気回路、総和電気回路を必要とし、現状ではその回路が大規模となってしまい、その実現が困難になっている。一方、内積の距離基準を用いるアルゴリズムの場合は、差分電気回路を必要とせず、さらに、光学的ハードウエアを用いて実現すれば、内積演算は光の高速性と並列性の点で有効である。例えば、内積演算を光学系で実行する競合学習装置がすでにいくつか報告されている（Taiwei Lu et al.,"Self-Organizing optical neural network for unsupervised learning",Opt.Eng.,Vol.29,No.9,1990;J.Duivillier et al.,"All-optical implementation of a self-organizing map",Appl.Opt.,Vol.33,No.2,1994; 特開平５−３５８９７号、特開平５−１０１０２５号等）。
【０００５】
【発明が解決しようとする課題】
内積演算を距離基準として用いて競合学習を行う場合、ユークリッド距離を用いる場合と比較して、競合学習の精度が低くなる傾向がある。これは以下のように説明できる。
【０００６】
図１に示すように、入力ベクトルとして２次元ベクトルＸ、入力ベクトルＸに対するある距離基準を満たす重みベクトルの候補としてｍ1 ，ｍ2 を考える。ユークリッド距離を用いる場合、ベクトル間の距離が最も近いものが勝利素子となるので、図１の距離ｄ1 、ｄ2 の関係からｄ1 ＜ｄ2 であるので、ｍ1 が勝利素子となる。一方、内積演算を用いる場合、内積値の最も大きいものが入力ベクトルに最も類似していることに相当し、勝利素子となる。内積値は、図１でｍi （ｉ＝１，２）のＸへの正射影Ｄi （ｉ＝１，２）とＸのＬ２−ノルムの積で表される。なお、ここで、Ｌ２−ノルムとは、ベクトルの成分の二乗和の平方根を表している。このとき、Ｄi の大小を比較すれば内積の大小を比較できるが、この場合、Ｄ1 ＜Ｄ2 よりｍ2 が勝利素子となってしまう。このように、内積演算を用いると、Ｌ２−ノルムの大きい重みベクトルが、入力ベクトルとユークリッド距離が離れていても内積値が大きくなって類似度が大きくなり、勝者になりやすくなる。つまり、内積演算における類似度は各ベクトルのＬ２−ノルムに依存する。したがって、有効な競合学習のためには、Ｌ２−ノルムを揃えた方がよい。Ｌ２−ノルムを揃えるには、簡単には、Ｌ２−ノルムでベクトルの各成分を除算（Ｌ２−ノルムでの規格化）すればできる。このようにすれば、図２に示すように、ｄ1 ＜ｄ2 ，Ｄ1 ＞Ｄ2 となり、ユークリッド距離を用いても内積演算を用いても、ｍ1 が勝利素子となる。そのため、内積演算を用いても有効な競合学習を行うことができる。
【０００７】
なお、ノルムには、Ｌ２−ノルム以外にも、Ｌ１−ノルムや、Ｌ∞−ノルム等があるが、何れのノルムを用いても、ある程度は有効な競合学習ができる。その中、最も良いのはＬ２−ノルムであるが、その理由は後述する。
【０００８】
ところで、一般に、規格化によってＬ１−ノルムやＬ２−ノルムやその他のノルムを揃えた場合、元々のベクトルのノルム情報は失われることになる。例えば、Ｌ２−ノルムを揃えるためにＬ２−ノルムでベクトルの各成分を除算すると、元々のＬ２−ノルム情報は失われる。ベクトルデータの方向のみを識別する競合学習の場合は、データのノルム情報は失われてもよい。しかし、通常の競合学習では、ベクトルデータの方向のみの識別を行うとは限らず、ノルム情報を失うと十分な学習ができないことが多い。
【０００９】
そこで、本発明のベクトル規格化装置が満たすべき条件として次の項を上げる。
（Ａ−１）規格化を行っても、元のベクトルのノルムの情報を失わない。
【００１０】
ところで、一般に、規格化を行う際、規格化すべきノルムで成分を除算することが多いが、例えばそのノルムが０の場合にデータが発散してしまう等の問題点がある。そこで、ノルムでベクトルの成分を除算する手段を必要としない方が望ましい。
【００１１】
そこで、本発明のベクトル規格化装置が満たすべき条件として次の項を加える。
（Ａ−２）ノルムで成分を除算する手段を必要としない。
【００１２】
本発明はこのような問題点に鑑みてなされたものであり、その目的は、（Ａ−１）、（Ａ−２）の条件を満たし、規格化を行っても元のベクトルのノルムの情報を失わず、また、ノルムで成分を除算する手段を必要としないベクトル規格化装置を提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成する本発明のベクトル規格化装置は、ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするものである。
【００１４】
この場合、ベクトル入力手段からの入力ベクトルを受けて、その入力ベクトルの各成分の取り得る値の範囲を制限するべく、各成分に変換を施す変換手段をさらに有することが望ましい。
【００１５】
まが、追加成分計算手段からの出力の取り得る値の範囲が、入力ベクトルの各成分の取り得る値の範囲と同一であるようにすることが望ましい。
【００１６】
以下、本発明において上記構成をとる理由と作用について説明する。
本発明の基本形態は、入力ベクトルと重みベクトル群の各ベクトルとの内積を取ることによって、入力ベクトルを重みベクトル群の何れかのベクトルへ対応させる競合学習装置のための、入力ベクトルあるいは重みベクトルを規格化するベクトル規格化装置であり、規格化すべき入力ベクトルあるいは重みベクトルを入力するベクトル入力手段と、追加されたベクトルのノルムが等しくなるように、少なくとも１つの追加成分を計算する追加成分計算手段と、その追加成分計算手段で計算された追加成分を入力ベクトルあるいは重みベクトルに追加するベクトル成分追加手段と、追加された入力ベクトルあるいは重みベクトルを出力する規格化ベクトル出力手段を備えたことを特徴としている。
【００１７】
これは後記の第１〜６の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、追加後のベクトルのノルムが一定になるような追加成分を計算する。例えば、ベクトル規格化装置に入力されたベクトルとして２次元ベクトルＸ＝（Ｘ1 ，Ｘ2 ）とし、１つの成分を追加する場合、その追加項は、下記の式（１）のＸ’の第３成分を計算すればよい。ただし、ここでｋは定数とする。
【００１８】
Ｘ’＝（Ｘ1 ，Ｘ2 ，ｋ−（Ｘ1 ＋Ｘ2 ））              ・・・（１）
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、追加成分計算手段で計算した成分を追加し、上記Ｘ’を作成する。
【００１９】
最後に、規格化ベクトル出力手段で、上記Ｘ’を出力する。このとき、Ｘ’のＬ１−ノルムは、全てのＸに対してｋという一定値となる。また、追加成分（式（１）の場合は、第３成分）にＸのＬ１−ノルム（Ｘ1 ＋Ｘ2 ）が含まれている。
【００２０】
したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる（（Ａ−１）の条件）。また、明らかにノルムで成分を除算する手段を必要としない（（Ａ−２）の条件）。
【００２１】
上記のように、少なくとも１つのベクトル成分を追加することにより、追加されたベクトルのノルムを規格化すると、規格化を行っても元のベクトルのノルムの情報を失わないので、ベクトルデータの方向以外の識別の場合でも、十分に精度良く学習が行える。
【００２２】
上記の場合に、追加成分計算手段が、追加されたベクトルのＬ２−ノルムが等しくなるように、少なくとも１つの追加成分を計算するものとすることができる。
【００２３】
これは後記の第２〜６の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、追加後のベクトルのノルムが一定になるような追加成分を計算する。例えば、ベクトル規格化装置に入力されたベクトルとして２次元ベクトルＸ＝（Ｘ1 ，Ｘ2 ）とし、１つの成分を追加する場合、その追加項は、下記の式（２）のＸ’の第３成分を計算すればよい。ただし、ここでｋは定数とする。
【００２４】
Ｘ’＝（Ｘ1 ，Ｘ2 ，√｛ｋ−（Ｘ1 2 ＋Ｘ2 2 ）｝）    ・・・（２）
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、追加成分計算手段で計算した成分を追加し、上記Ｘ’を作成する。
【００２５】
最後に、規格化ベクトル出力手段で、上記Ｘ’を出力する。このとき、Ｘ’のＬ２−ノルムは、全てのＸに対してｋという一定値となっていることが分かる。
また、追加成分（式（２）の場合は、第３成分）にＸのＬ２−ノルム√（Ｘ1 2 ＋Ｘ2 2 ）が関数の成分として含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる（（Ａ−１）の条件）。
【００２６】
ところで、一般に、ノルムには色々な種類があり、ノルムを揃えればある程度の精度の競合学習が可能となるが、揃えるノルムはＬ２−ノルムの方が望ましい。
まず、Ｌ２−ノルム以外でよく知られているＬ１−ノルムの場合を示す。特開平５−３５８９７号、特開平５−１０１０２５号の装置では、入力ベクトルの成分の大きさを調節することによって内積演算を用いる競合学習の精度を上げようとしている。すわなち、図３に示すベクトル規格化装置により、強度変調形のＭＳＬＭ１００にベクトルを表示し、その強度値を受光素子１０１で検出し、得られた電流値をアンプ１０２で電圧値に直してＭＳＬＭ１００の駆動電圧を変化させることにより、その強度値が一定になるように規格化している。これは、ベクトルの成分和を一定にするいわゆるＬ１−ノルムでの規格化に相当している。
【００２７】
ここで、Ｌ１−ノルムでの規格化での問題点を示す。図１と同様に、図４のように２次元ベクトルＸが入力され、その候補の重みベクトルとしてｍ1 ，ｍ2 があったとする。なお、Ｘ，ｍ1 ，ｍ2 は全てベクトルの成分和が一定になっている。ユークリッド距離を用いる場合、ベクトル間の距離が最も近いものが勝利素子となるので、ｍ2 が勝利素子となる。ところが、内積演算を用いると、Ｄ1 ＞Ｄ2 の関係より、ｍ1 が勝利素子となる。したがって、Ｌ１−ノルムで規格化しても、依然として内積演算における類似度が各ベクトルのＬ２−ノルムに依存してしまうことがあり、有効な競合学習ができないことがある。なお、従来技術であげたTaiwei Lu et al.,"Self-Organizing optical neural network for unsupervised learning",Opt.Eng.,Vol.29,No.9,1990 やJ.Duivillier et al.,"All-optical implementation of a self-organizing map",Appl.Opt.,Vol.33,No.2,1994の装置も、同様なＬ１−ノルムによる規格化をしている。
【００２８】
内積演算における類似度は、各ベクトルのＬ２−ノルムに依存するという理由で、その他のノルムとしてもＬ∞−ノルム等いろいろあるが、Ｌ２−ノルムで規格化する場合に比べると、有効な競合学習ができない。
【００２９】
以上の議論により、入力ベクトルあるいは重みベクトルのＬ２−ノルムを揃えると、距離基準として内積演算を用いる競合学習をユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことができることが分かる。
また、明らかにノルムで成分を除算する手段を必要としない（（Ａ−２）の条件）。
【００３０】
上記のように、少なくとも１つのベクトル成分を追加することによりベクトルのノルムを規格化すると、規格化を行っても元のベクトルのノルムの情報を失わないので、ベクトルデータの方向以外の識別の場合でも、十分に精度良く学習が行える。また、Ｌ２−ノルムを等しくするような規格化をしているので、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合と同様な程度に精度良く行うことができる。また、ノルムで成分を除算する手段を必要としないので、規格化によりデータが発散してしまうという問題がない。
【００３１】
また、上記の場合に、追加成分計算手段が、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、ベクトル成分追加手段が、入力ベクトルあるいは重みベクトルの各成分と同数のその追加成分を追加するものとすることができる。
【００３２】
これは後記の第３〜６の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、そのベクトルの成分と同数の追加成分を計算する。このとき、追加後のベクトルのノルムが全て一定になるようにする。続いて、ベクトル成分追加手段において、その計算した追加成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【００３３】
ところで、ベクトル規格化装置によって規格化されたベクトルは、競合学習装置において用いられるが、一般に、ハードウエアで用いることのできるデータの階調には制限がある。例えば、ベクトルを液晶表示装置に表示した場合、その階調数は数１００程度である。したがって、その制限された階調を有効に使用したい場合、ベクトルの各成分の取り得る範囲は略一定の方がよい。
【００３４】
ここで、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、その追加成分を追加する場合に、ベクトルの各成分の取り得る範囲が略一定になる理由について例を用いて説明する。
【００３５】
ベクトル規格化装置に入力されたベクトルとして２次元ベクトルＸ＝（Ｘ1 ，Ｘ2 ）とし、成分の追加後に一定にするベクトルのノルムをＬ１−ノルムにした場合、２つの成分を追加して式（３）のようなＸ’を作成すればよい。ただし、ｋは定数とする。
【００３６】
Ｘ’＝（Ｘ1 ，Ｘ2 ，ｋ−Ｘ1 ，ｋ−Ｘ2 ）              ・・・（３）
このとき、Ｘ’のＬ１−ノルムは全てのＸに対して２ｋという一定値となる。また、追加成分（式（３）の場合は、第３、４成分）にＸのＬ１−ノルムと厳密には一致しないが、それを分解したものが含まれている。一般に、内積演算を用いる競合学習では、規格化によって失われたノルムの大小を問題にすることが多いので、Ｌ１−ノルムと厳密には一致しなくとも大小を決定できる分解したものが含まれていればよい。また、ここで追加成分である第３、４成分のｋは同じ定数を用いているが、異なる定数にしてもよい。
【００３７】
また、一定にするベクトルのノルムをＬ２−ノルムにした場合、２つの成分を追加して式（４）のようなＸ’を作成すればよい。ただし、ｋは定数とする。
【００３８】
Ｘ’＝（Ｘ1 ，Ｘ2 ，√（ｋ−Ｘ1 2 ），√（ｋ−Ｘ2 2 ））・・（４）
このとき、Ｘ’のＬ２−ノルムは全てのＸに対して√（２ｋ）という一定値となる。また、追加成分（式（４）の場合は、第３、４成分）にＸのＬ２ノルムを分解したものが含まれている。分解したものが含まれていればよいことは前記した通りである。なお、この場合も、追加成分のｋは同じ定数を用いているが、異なる定数にしてもよい。
【００３９】
続いて、式（３）あるいは式（４）のＸ’の場合、規格化後のベクトルの各成分の取り得る範囲が略一定であることを示す。
まず、式（１）のＸ’と式（３）のＸ’を比較する。
【００４０】
例えば、Ｘ1 とＸ2 の取り得る値を０からθとしたとき、式（１）の場合、その第３成分がＸ1 とＸ2 の取り得る範囲に近くなるようにｋを選ぶと、
０＜（第３成分）＜２θ，ｋ＝２θ                      ・・・（５）
となる。
すなわち、
0003824397.tif 000002
となる。
【００４１】
一方、式（３）の場合、
０＜（第３成分），（第４成分）＜θ，ｋ＝θ            ・・・（７）
となる。すなわち、
０＜（第１成分）＜θ，０＜（第２成分）＜θ，０＜（第３成分）＜θ，
０＜（第４成分）＜θ                                  ・・・（８）
となる。
【００４２】
明らかに、式（３）のＸ’の方が、ベクトルの各成分と取り得る範囲が一定である（この場合は、取り得る範囲が一致する。）。
【００４３】
次に、式（２）のＸ’と式（４）のＸ’を比較する。
例えば、Ｘ1 とＸ2 の取り得る値を０からθとしたとき、式（２）の場合、その第３成分がＸ1 とＸ2 の取り得る範囲に近くなるようにｋを選ぶと、
０＜（第３成分）＜√２θ，ｋ＝２θ2                   ・・・（９）
となる。すなわち、
0003824397.tif 000003
となる。
【００４４】
一方、式（４）の場合、
０＜（第３成分），（第４成分）＜θ，ｋ＝θ2         ・・・（１１）
となる。すなわち、
０＜（第１成分）＜θ，０＜（第２成分）＜θ，０＜（第３成分）＜θ，
０＜（第４成分）＜θ                                ・・・（１２）
となる。
【００４５】
この場合も、明らかに式（４）のＸ’の方が、ベクトルの各成分の取り得る範囲が一定である（この場合は、取り得る範囲が一致する。）。
以上、式（３）あるいは式（４）のＸ’のように規格化した後のベクトルの各成分の取り得る範囲が略一定であることを示した。
【００４６】
このように、追加成分計算手段が、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、ベクトル成分追加手段が、入力ベクトルあるいは重みベクトルの各成分と同数のその追加成分を追加する場合には、規格化後のベクトルの各成分の取り得る範囲が一定になっている。その結果、競合学習装置上で用い得る階調が有効に使用でき、さらに、精度の良い競合学習が行える。
【００４７】
以上のベクトル規格化装置において、追加成分計算手段の前段に、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換するデータ変換手段を有することができる。
【００４８】
これは後記の第４〜５の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換する。続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、追加すべき少なくとも１つのベクトル成分を計算する。もちろん、入力ベクトルあるいは重みベクトルの成分と同数の追加すべき成分を計算してもよい。何れにしても、全てのベクトルに対し、追加後のベクトルのノルムが一定になるようにする。このとき、一定にするノルムはＬ１−ノルムでもＬ２−ノルムでもその他のノルムでもよいが、前述したようにＬ２−ノルムにするとなおよい。
【００４９】
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、少なくとも１つあるいはそのベクトルの成分と同数のベクトル成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【００５０】
一般に、競合学習で用いる入力ベクトル及び重みベクトルが作成される元の入力情報としては、画像データ、音声データ、流量データ等様々なものがある。したがって、規格化装置に入力するベクトルの成分の取り得る範囲は一定とは限らない。発明が解決しようとする課題の項中でも述べたように、ハードウエア上で制限された階調を十分有効に使用するには、取り得る範囲にばらつきがない方が望ましい。そこで、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限すれば、取り得る範囲のばらつきをなくすことができる。各成分のデータの変換は、例えば次の式（１３）のように行えばよい。
【００５１】
0003824397.tif 000004
ただし、ｎを成分数として、
変換前の入力ベクトルを、
Ｘ(j) ＝（Ｘ1 (j) ，Ｘ2 (j) ，・・・，Ｘn (j) ）
変換後のベクトルを、
Ｘ(j) ’＝（Ｘ1 (j) ’，Ｘ2 (j) ’，・・・，Ｘn (j) ’）
とし、ｉはベクトルの成分に付けた番号（ｉ＝１〜ｎ）、ｊはベクトルに付けた番号（ｊ＝１〜ｍ）とした。
【００５２】
式（１３）の場合、変換前の成分の取り得る値にかかわらず、変換後は０から１の間の値を取るようになる。なお、（１３）式には除算が含まれているが、その分母が０になることは次の理由で考慮しなくてよい。この分母は各成分毎の最大値と最小値の差であり、両者が一致した場合に０になる。しかし、両者が一致するというのは、全てのベクトルに対し、その成分が一定値になるということである。これは競合学習で用いる入力ベクトルという観点からすると、不必要な成分であるので、最初からベクトルの成分から除くか、適当な一定値に変換するようにすれば全く問題ない。したがって、（１３）式の分母が０になることは考慮しなくてよい。一方、ノルムが０のベクトルというのは一般的に十分考えられるベクトルなので、前述したように、ノルムで除算する手段は有しない方がよい。
【００５３】
このように、各成分のデータを変換するデータ変換手段を有する場合には、そのデータ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換しているので、競合学習装置上で用いる階調が有効に使用でき、さらに、精度のよい競合学習が行える。
【００５４】
また、上記のデータ変換手段が、正弦関数あるいは余弦関数を用いて各成分のデータを変換するものとすることができる。
【００５５】
これは後記の第５の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換する。このとき、正弦関数あるいは余弦関数を用いる。
【００５６】
続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、追加すべき少なくとも１つのベクトル成分を計算する。もちろん、入力ベクトルあるいは重みベクトルの成分と同数の追加すべき成分を計算してもよい。何れにしても、全てのベクトルに対し、追加後のベクトルのノルムが一定になるようにする。このとき、一定にするノルムはＬ１−ノルムでもＬ２−ノルムでもその他のノルムでもよいが、前述したようにＬ２−ノルムにするとなおよい。
【００５７】
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、少なくとも１つあるいはそのベクトルの成分と同数のベクトル成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【００５８】
分かりやすくするため、ベクトル規格化装置に入力されたベクトルとして２次元ベクトルＸ＝（Ｘ1 ，Ｘ2 ）とした場合を考える。
まず、データ変換手段において、Ｘ＝（Ｘ1 ，Ｘ2 ）を余弦関数を用いて（ｃｏｓＸ1 ，ｃｏｓＸ2 ）と変換する。続いて、（４）式に従い、Ｌ２−ノルムが一定になるように、追加前のベクトルと同数の成分（この場合、２個）を追加すると、Ｘ’が作成される。ただし、（４）式において、ｋを１とした。これは、Ｌ２−ノルムの値を√２にすることに相当する。
【００５９】
0003824397.tif 000005
前述したように、Ｘ’は競合学習装置において用いられ、内積値によってベクトル間の類似度が判断される。その際、ユークリッド空間で考えられるベクトル間の距離の大小関係と、内積空間で考えられるベクトル間の角度の大小関係が一致していることが望ましい。その結果として、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合と同程度の精度で行うことができる。
【００６０】
以下に、ユークリッド空間での任意のＸ同士の距離の大小関係と、内積空間での任意のＸ’同士の角度の大小関係がどれだけ一致しているかを説明する。
Ｘ＝（Ｘ1 ，Ｘ2 ）の第１成分と、Ｘ’の第１成分と第３成分のペアとの関係を考える。同様に、Ｘ＝（Ｘ1 ，Ｘ2 ）の第２成分には、Ｘ’の第２成分と第４成分のペアが対応する。
【００６１】
前者、後者は全く同様の議論ができるので、前者を用いて説明する。すわなち、Ｘ1 と（ｃｏｓＸ1 ，ｓｉｎＸ1 ）との関係を調べる。成分Ｘi の全データをＸi (j) （ｉは成分、ｊはその成分におけるデータを示す番号）と表す。ｉ＝１，ｊ＝ａ，ｂとして、代表点２点Ｘ1 (a) ，Ｘ1 (b) を考えると、それぞれ、（ｃｏｓＸ1 (a) ，ｓｉｎＸ1 (a) ），（ｃｏｓＸ1 (b) ，ｓｉｎＸ1 (b) ）が対応する。Ｘ1 (a) ，Ｘ1 (b) を黒丸、対応する（ｃｏｓＸ1 (a) ，ｓｉｎＸ1 (a) ），（ｃｏｓＸ1 (b) ，ｓｉｎＸ1 (b) ）を白丸としてプロットしたのが、図５である。
【００６２】
図５を見れば分かるように、原点から黒丸までの長さ同士の関係はＸ1 (a) ：Ｘ1 (b) であり、原点から白丸までの線分と横軸とのなす角同士の関係もＸ1 (a) ：Ｘ1 (b) であり、両者は一致している。代表点だけでなく、一般に各成分における（例えば、１）任意のスカラーＸ1 (j) 同士のユークリッド空間での大小関係は、対応するベクトル（ｃｏｓＸ1 (j) ，ｓｉｎＸ1 (j) ）同士の角度の大小関係と一致する。
【００６３】
すなわち、Ｘの各成分ｉにおいては、ユークリッド空間での大小関係は、対応するベクトル同士の角度の大小関係と一致する。Ｘi を成分要素として、全てのｉについて並べたベクトルＸとその対応するペア（ｃｏｓＸi ，ｓｉｎＸi ）を成分要素として、全てのｉについて並べたベクトルＸ’の場合は、ユークリッド空間での大小関係と、その対応するベクトル間の角度の大小関係は、完全には一致しないが、各成分同士では成立していることから、近似的には一致していると考えることができる。
したがって、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことが可能になる。
【００６４】
また、正弦関数あるいは余弦関数の変換の前に、式（１５）のようなデータ変換をすれば、式（１６）のように、Ｘ’の４つの成分の取り得る範囲を全て同一（この場合は、０から１）にすることも可能である。
【００６５】
0003824397.tif 000006
なお、（１６）式では、一般式ということで、ベクトルにつけた番号（ｊ）は省略した。
【００６６】
したがって、競合学習装置で制限された階調を十分有効に使用することができる。なお、上記の例では、２次元ベクトルＸの成分の変換に余弦関数を用いているが、正弦関数にしてもよい。なお、（１５）式には除算が含まれているが、その分母が０になることは次の理由で考慮しなくてよい。この分母は各成分毎の最大値と最小値の差であり、両者が一致した場合に０になる。しかし、両者が一致するというのは、全てのベクトルに対し、その成分が一定値になるということである。これは競合学習で用いる入力ベクトルという観点からすると、不必要な成分であるので、最初からベクトルの成分から除けばよい。したがって、（１５）式の分母が０になることは考慮しなくてよい。
【００６７】
また、揃えるノルム量は√２だけに限らず、例えば余弦関数あるいは正弦関数の前に適当な定数を乗算したり、ｋを変化させることにより、任意の値にすることができる。これによって、競合学習装置で用いるためのデータ範囲を調整できる。ただし、前記のように（ｃｏｓＸi ，ｓｉｎＸi ）のペアを作り、ユークリッド空間での大小関係とその対応するベクトル間の角度の大小関係とを近似的に一致させたい場合には、ｋを１にして前者の方法をとるべきである。
上記の例では、変換の際に余弦関数のみを用いたが、正弦関数を用いてもよく、また、両者が混在してもよい。
【００６８】
このように、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように各成分のデータを変換するとき、正弦関数あるいは余弦関数を用いると、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準しとて用いる場合により近い良好な精度で行うことが可能になる。
【００６９】
【発明の実施の形態】
以下、図６〜図１２を参照にして本発明の好適な実施形態を説明する。
入力ベクトルと重みベクトルの規格化装置については全く同様の構成で達成できるため、説明の重複を避ける観点から、入力ベクトルの規格化装置について説明する。
【００７０】
〔第１実施形態〕
本実施形態のベクトル規格化装置を図６のブロック図に示す。本実施形態において、ベクトル入力手段１としては様々なものがある。例えば、競合学習装置で処理すべき対象が画像情報の場合は、画像を入力するＣＣＤと、ベクトル情報を得るために何らかの特徴抽出処理を行ったり、単純に隣接画素同士の信号を並べたりしてベクトルに変換する装置とがあればよい。対象が音声の場合は、マイクロフォン、濃度であれば濃度センサー、流量であれば流量センサー等、基本的には欲しい情報をセンサーにより取得し、そのセンサーで得られた情報を何らかの変換によってベクトルとして系内に取り込めればよい。また、他の機器で捉えた情報（例えば、ＣＴ装置やＭＲＩ装置等の医療用画像、形状測定装置で捉えた３次元画像等）をイーサネット等を介してベクトルとして入力するとか、特徴抽出してベクトルとして入力するとか、他にも様々なベクトル入力手段が考えられる。
【００７１】
ベクトル入力手段１によって入力されたベクトルａは、追加成分計算手段２に送られる。追加成分計算手段２は、例えば、追加成分演算器２１、定数ｋ用メモリ２３、追加成分用メモリ２２から構成され、ベクトルａに追加すべき追加成分を計算する。
【００７２】
式（１）の場合を例に取ると、追加成分演算器２１で定数ｋ用メモリ２３から読み込んだ定数ｋからベクトルａの成分和を減算し、これを追加成分として追加成分用メモリ２２に書き込む。追加成分用メモリ２２に書き込まれた追加成分ｂとベクトルａを用いて、ベクトル成分追加手段３で規格化ベクトルｃとしてベクトルを作成する。追加成分ｂとベクトルａの合成は、例えばコンピューター上でファイルの合成を行えばよい。規格化ベクトルｃは、最後に規格化ベクトル出力手段４で出力される。規格化ベクトル出力手段４は、コンピュータ上のファイル出力でもよいし、液晶表示装置やＬＥＤ等、競合学習装置の入力手段と共用してもよい。
【００７３】
このとき、規格化ベクトルｃのＬ１−ノルムは、全ての規格化ベクトルｃに対してｋという一定値となる。また、追加成分（式（１）の場合は、第３成分）にベクトルａのＬ１−ノルム（Ｘ1 ＋Ｘ2 ）が含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる（（Ａ−１）の条件）。また、明らかにノルムで成分を除算する手段を必要としない（（Ａ−２）の条件）。
【００７４】
〔第２実施形態〕
本実施形態のベクトル規格化装置を図７のブロック図に示す。本実施形態のベクトル規格化装置は、第１実施形態の変形例であり、追加成分計算手段２以外の構成は同一なので省略してある。
【００７５】
本実施形態の追加成分計算手段２は、二乗和演算器２１０、差分演算器２１１、平方根演算器２１２からなる追加成分演算器２１と、追加成分用メモリ２２と、定数ｋ用メモリ２３からなり、作用としては、式（２）の追加成分を計算する。まず、追加成分演算器２１の二乗和演算器２１０で、ベクトルａの成分二乗和を計算し、続いて差分演算器２１１で定数ｋ用メモリ２３から読み込んだ定数ｋから前記成分二乗和を減算する。平方根演算器２１２で、その量の平方根をとり、これを追加成分として、追加成分用メモリ２２に書き込む。追加成分用メモリ２２に書き込まれた追加成分ｂと、ベクトルａを用いて、ベクトル成分追加手段３で、規格化ベクトルｃとしてベクトルを作成する。その他、全て第１実施形態と同じである。
【００７６】
規格化ベクトルｃのＬ２−ノルムは、全ての規格化ベクトルｃに対して、ｋという一定値となる。また、追加成分（式（２）の場合は、第３成分）にベクトルａのＬ２−ノルムである√（Ｘ1 2 ＋Ｘ2 2 ）が関数として含まれている。
【００７７】
したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる（（Ａ−１）の条件）。また、規格化ベクトルｃのＬ２−ノルムが等しくなっていることも分かる。また、明らかにノルムで成分を除算する手段を必要としない（（Ａ−２）の条件）。
【００７８】
〔第３実施形態〕
本実施形態のベクトル規格化装置を図８のブロック図に示す。本実施形態のベクトル規格化装置は、第２実施形態の変形例であり、追加成分計算手段２以外の構成は同一なので省略してある。
【００７９】
本実施形態の追加成分計算手段２は、例えばベクトルａの成分の数と同数の追加成分演算器２１と、１個の追加成分用メモリ２２と、１個の定数ｋ用メモリ２３とからなり、さらに、各追加成分演算器２１は、二乗演算器２１３、差分演算器２１１、平方根演算器２１２からなる。作用としては、式（４）の追加成分を計算する。
【００８０】
まず、追加成分演算器２１の二乗演算器２１３で、ベクトルａの１つの成分の二乗値を計算し、続いて差分演算器２１１で、定数ｋ用メモリ２３から読み込んだ定数ｋから前記二乗値を減算する。平方根演算器２１２で、その量の平方根をとり、これを１つの追加成分として追加成分用メモリ２２に書き込む。このようにして、ベクトルａの成分数と同数個の追加成分演算器２１の出力が追加成分用メモリ２２に書き込まれる。
【００８１】
追加成分用メモリ２２に書き込まれた追加成分ｂと、ベクトルａを用いてベクトル成分追加手段３で、規格化ベクトルｃとしてベクトルを作成する。その他、全て第１実施形態と同じである。
【００８２】
なお、本実施形態では、ベクトルａの成分と同数の追加成分演算器２１を用意したが、これは並列演算をしたい場合であり、もちろん単一の追加成分演算器２１によって、逐次演算を行っても構わない。
【００８３】
このとき、全ての規格化ベクトルｃのＬ２−ノルムは√（２ｋ）という一定値となる。また、追加成分（式（４）の場合は、第３、４成分）にベクトルａのＬ２−ノルムを分解したものが含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる（（Ａ−１）の条件）。また、規格化ベクトルｃのＬ２−ノルムが等しくなっていることも分かる。また、明らかにノルムで成分を除算する手段を必要としない（（Ａ−２）の条件）。また、ベクトルａの成分と同数の追加成分ｂを計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。
【００８４】
なお、本実施形態は、作用として式（４）の追加成分を計算するものであるが、追加成分演算器２１の二乗演算器２１３と、平方根演算器２１２を省略すれば、式（３）の追加成分を計算する実施形態に容易に変形できる。
【００８５】
〔第４実施形態〕
本実施形態のベクトル規格化装置を図９のブロック図に示す。本実施形態のベクトル規格化装置は、第１〜３実施形態の変形例であり、追加成分計算手段２の前段に、データ変換手段５を設けてある。データ変換手段５は、例えば、最大最小規格化演算器５１からなり、ベクトルａの各成分の最大値と最小値を用いて、式（１３）のようにベクトルａの各成分を変換する。この変換により、各成分の取り得る範囲のばらつきをなくすことができる。したがって、競合学習装置上で用いる階調が有効に使用でき、精度の良い競合学習が行える。
【００８６】
なお、各成分の取り得る範囲のばらつきをなくすには、式（１３）以外にも多数考えられ、例えば、最大値、最小値のみを制限してもよいし、さらに、制限値は０〜１の範囲だけでなく、−１〜１の範囲としてもよい。また、各成分の平均値を用いて制限してもよい。
【００８７】
〔第５実施形態〕
本実施形態のベクトル規格化装置を図１０のブロック図に示す。本実施形態のベクトル規格化装置は、第３、４実施形態の変形例であり、追加成分計算手段２の前段に、最大値最小値規格化演算器５１と余弦関数演算器５２からなるデータ変換手段５を設けてある。変形された部分を中心に以下に説明する。
【００８８】
まず、データ変換手段５内の最大値最小値規格化演算器５１では、ベクトルａの各成分の最大値と最小値を用いて、式（１５）のように、ベクトルａの各成分を変換する。続いて、余弦関数演算器５２で、式（１６）の第１、第２成分のように余弦関数を施す。データ変換手段５によって変換されたベクトルａ’は、追加成分計算手段２に送られる。追加成分計算手段２は、例えば、ベクトルａの成分の数と同数の追加成分演算器２１と、１個の追加成分用メモリ２２と、１個の定数ｋ用メモリ２３とからなり、さらに、追加成分演算器２１は、二乗演算器２１３、差分演算器２１１、平方根演算器２１２からなる。作用としては、式（４）の追加成分を計算する。まず、追加成分演算器２１の二乗演算器２１３で、ベクトルａ’の１つの成分の二乗値を計算し、続いて差分演算器２１１で、定数ｋ用メモリ２３から読み込んだ定数ｋから前記二乗値を減算する。平方根演算器２１２で、その量の平方根をとり、これを１つの追加成分として追加成分用メモリ２２に書き込む。このようにして、ベクトルａの成分数と同数個の追加成分演算器２１の出力が追加成分用メモリ２２に書き込まれる。
【００８９】
その結果、式（４）の作用によって式（１６）の第３、第４の成分のような追加成分が作成されることになる。ただし、式（４）でｋ＝１と置いた。その後、追加成分用メモリ２２に書き込まれた追加成分ｂと、ベクトルａ’を用いて、ベクトル成分追加手段３で、規格化ベクトルｃとしてベクトルを作成する。
【００９０】
なお、本実施例では、ベクトルａの成分の数と同数の追加成分演算器２１を用意したが、これは並列演算をしたい場合であり、もちろん単一の追加成分演算器２１によって、逐次演算を行っても構わない。また、データ変換手段５内に余弦関数演算器５２を設けたが、その代わりに正弦関数演算器を設けても、式（１６）の正弦関数と余弦関数が入れ替わるだけで、全く問題はない。
【００９１】
本実施形態のベクトル規格化装置では、全ての規格化ベクトルｃのＬ２−ノルムは√２（ｋ＝１の場合）という一定値となる。また、追加成分（式（４）の場合は、第３、４成分）にベクトルａのＬ２−ノルムを分解したものが含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わない（（Ａ−１）の条件）。また、規格化ベクトルｃのＬ２−ノルムが等しくなっている。また、明らかにノルムで成分を除算する手段を必要としない（（Ａ−２）の条件）。また、ベクトルａの成分と同数の追加成分ｂを計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。また、前述したように、式（１６）で示されるベクトルを作成していることから、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことが可能となる。
【００９２】
また、本実施形態は、作用として、式（４）の追加成分を計算するものであるが、追加成分演算器２１の二乗演算器２１３と平方根演算器２１２を省略すれば、式（３）の追加成分を計算する実施形態にも容易に変形できる。
【００９３】
〔第６実施形態〕
本実施形態のベクトル規格化装置を図１１、図１２に示す。本実施形態のベクトル規格化装置は、第３実施形態を競合学習装置に組み込んだ例である。
図１１に模式的に構成を示すように、競合学習装置は、大きく３つに分かれており、それぞれ、入力ベクトルを出力する素子Ａと、重みベクトル群を出力する素子Ｂと、両者の内積演算値を検出するディテクターに相当する素子Ｃである。素子Ａと素子Ｂに対してそれぞれベクトル規格化装置が組み込まれている。
【００９４】
まず、図１２のブロック図を用いて、ベクトル規格化装置について説明する。取り扱う対象が例えば医用画像であり、競合学習装置により医用画像中の病変部抽出を行うことを考える。
【００９５】
まず、ベクトル入力手段１で、ＣＣＤ、フィルムスキャナー等を用いて画像を取り込み、そこから例えばコンピュータ内に準備した特徴抽出アルゴリズムを用いてｎ×ｎ次元のベクトルを作成する。このベクトルを、例えば取り込んだ画像中の画素数個作成する。このベクトルはいわゆる特徴ベクトルと言われているもので、本実施形態では、病変部内から抽出された場合と病変部外から抽出された場合とで、その性質（例えば、平均や分散）が異なるように作成される。続いて、追加成分計算手段２で、それぞれの入力ベクトル（この場合、特徴ベクトル）に対し、追加成分を計算し、ベクトル成分追加手段３で、規格化ベクトルを作成する。この場合、追加成分の次元は入力ベクトルの次元と同数個（ｎ×ｎ）にした。したがって、ベクトル成分追加手段３で作成されるベクトルの次元は２×ｎ×ｎとなる。
【００９６】
最後に、規格化ベクトル出力手段４で、このベクトルを出力している。ここで、規格化ベクトル出力手段４は、図１１の素子Ａ及び素子Ｂに対応している。なお、規格化ベクトル出力手段４以外は、簡単にはパーソナルコンピュータ（図１１では、ＰＣと略した。）を用いれば構成できる。もちろん、専用のプロセッサを利用してもよい。
【００９７】
本規格化装置よって作成された全てのベクトルは、そのノルムが一定になっており、また、追加成分に元のベクトルのノルムの情報が入っている（（Ａ−１）の条件）。また、元のベクトルの成分と同数の追加成分を計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。また、明らかにノルムで成分を除算する手段を必要としない（（Ａ−２）の条件）。
【００９８】
続いて、図１１を用いて、規格化装置を組み込んだ競合学習装置を説明する。素子Ａは、上記の規格化装置によって次元を同数追加された２×ｎ×ｎ次元の入力ベクトルを出力する。素子Ａとしては、ＬＥＤ等を２×ｎ×ｎの格子状に配列したものを用いればよい。
【００９９】
素子Ｂは、Ｍ×Ｍ個の重みベクトルを出力する。素子Ｂとしては、書き換えが可能な場合として、２×ｎ×ｎの画素をＭ×Ｍ個配列した液晶表示素子、不可能な場合として、固定マスク等が考えられる。なお、各重みベクトルは、入力ベクトルに対応して２×ｎ×ｎ次元となっていることに注意する。入力ベクトルを示すＬＥＤ等で表示された光信号は、例えば素子Ａと素子Ｂの間に配置された図示していない多重結像光学系を通して、素子Ｂ上に重ね合わされる。ただし、多重結像光学系は、素子Ａ上の入力ベクトル像をＭ×Ｍ個複製する作用を持つこととする。
【０１００】
入力ベクトルを示す光信号は、重みベクトルを示す素子Ｂの固定マスクあるいは液晶表示素子により強度変調される。この強度変調は、丁度ベクトル内積演算中の成分同士の掛算に相当している。変調された信号は、例えば素子Ｂと素子Ｃの間に配置された図示していない光学系を通して素子Ｃ（フォトディテクター）に集光される。この演算は、内積演算中の成分同士の掛算値の和演算に相当する。したがって、入力ベクトルと各重みベクトルとを内積演算した結果は、素子Ｃで各重みベクトルの数に対応してＭ×Ｍ個のスカラー量を検出することになる。
【０１０１】
この後で、例えばコンピュータや最大値検出回路等を用いて、Ｍ×Ｍ個の内積値の中から最大の内積値を選び、その内積値を出力したことに相当する重みベクトルを選択する。内積値を最大にする重みベクトルは、入力ベクトルに最も近かった重みベクトルである。重みベクトルに予めクラスを割り当てておけば、入力ベクトルに対し、内積値を最大にする重みベクトルのクラスを出力することによってクラス分類器とすることができる。
【０１０２】
本実施形態は、医用画像を対象にしているので、例えば次のように行えばよい。予めクラスの分かっている学習用の入力ベクトルから重みベクトル群を作成する。各重みベクトルに病変部か否かのクラスを割り当てる。クラスの分かっていない画素に対し、クラス割り当てを行う。画像中の全画素に対しクラス割り当てを行い、その画像から病変部を抽出する。
【０１０３】
予めの学習は、本競合学習装置上で、一般的によく知られているニューラルネットワークアルゴリズム等を用いて行ってもよいし、コンピュータ上で学習を行ってから、最後にその結果を素子Ｂに表示してもよい。なお、クラス分類器は、取り扱う対象が画像の場合、衛星写真の領域分割等、また、取り扱う対象が音声の場合、話者認識等に使用できる。
【０１０４】
前記したように、本規格化装置で作成された全てのベクトルは、そのノルムが一定になっており、また、追加成分に元のベクトルのノルムの情報が入っている。また、元のベクトルの成分と同数の追加成分を計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定であるため、本競合学習装置上で使用し得る階調を十分活用できる。
【０１０５】
したがって、そのベクトルを入力ベクトルあるいは重みベクトルとして本競合学習装置上で用いれば、精度の良い有効な競合学習ができる。
【０１０６】
なお、本実施形態は、作用として入力されたベクトルの成分数と同数の成分を追加しているものであるが、もちろん少なくとも１つの成分を追加するようにしてもよい。そのとき、図１１、図１２において、成分を追加される前の入力ベクトルあるいは重みベクトルに対し、追加された数だけ成分数を増やすように装置を構成すればよい。
【０１０７】
以上の本発明のベクトル規格化装置は、例えば次のように構成することができる。
〔１〕  ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
【０１０８】
〔２〕  前記ノルムは、ベクトルの成分の和であることを特徴とする上記〔１〕記載のベクトル規格化装置。
【０１０９】
〔３〕  前記追加成分計算手段は、所定の定数を格納するためのメモリと、前記メモリに格納された前記所定の定数を読み出し、前記所定の定数から前記入力ベクトルの成分の和を減算する演算手段と、前記演算手段からの出力を格納するメモリとを有することを特徴とする上記〔２〕記載のベクトル規格化装置。
【０１１０】
〔４〕  前記ノルムは、ベクトルの成分の二乗和であることを特徴とする上記〔１〕記載のベクトル規格化装置。
【０１１１】
〔５〕  前記追加成分計算手段は、前記ベクトル入力手段からの入力ベクトルの各成分の二乗和を計算する二乗和計算手段と、所定の定数を格納するためのメモリと、前記メモリに格納された前記所定の定数を読み出し、前記所定の定数から前記二乗和計算手段の出力を減算する差分計算手段と、前記差分計算手段からの出力を受けて平方根を求める平方根計算手段と、前記平方根計算手段からの出力を格納するメモリとを有することを特徴とする上記〔４〕記載のベクトル規格化装置。
【０１１２】
〔６〕  前記追加成分計算手段は、前記入力ベクトルの各成分に対応する追加成分計算器と所定の定数を格納するためのメモリとを有し、前記追加成分計算器は、それぞれ前記入力ベクトルの成分の二乗を求める二乗演算器と、前記所定の定数を格納するためのメモリから前記所定の定数を読み出し、前記所定の定数から前記二乗演算器の出力を減算するための差分演算器と、前記差分演算器の出力の平方根を求める平方根演算器とを有することを特徴とする上記〔４〕記載のベクトル規格化装置。
【０１１３】
〔７〕  前記ベクトル入力手段からの入力ベクトルを受けて、該入力ベクトルの各成分の取り得る値の範囲を制限するべく、前記各成分に変換を施す変換手段をさらに有することを特徴とする上記〔１〕から〔６〕の何れか１項記載のベクトル規格化装置。
【０１１４】
〔８〕  前記変換手段は、前記入力ベクトルの各成分について、入力ベクトルの成分から全ての入力ベクトルの中当該成分の最小値を減算した値を、全ての入力ベクトルの当該成分の最大値から最小値を減算した値で除算することを特徴とする上記〔７〕記載のベクトル規格化装置。
【０１１５】
〔９〕  前記変換手段は、前記入力ベクトルの各成分について、正弦関数による変換を施すことを特徴とする上記〔７〕記載のベクトル規格化装置。
【０１１６】
〔１０〕  前記変換手段は、前記入力ベクトルの各成分について、余弦関数による変換を施すことを特徴とする上記〔７〕記載のベクトル規格化装置。
【０１１７】
〔１１〕  前記追加成分計算手段からの出力の取り得る値の範囲が、前記入力ベクトルの各成分の取り得る値の範囲と同一であることを特徴とする上記〔１〕から〔１０〕の何れか１項記載のベクトル規格化装置。
【０１１８】
〔１２〕  前記追加成分計算手段によって求められる追加成分の数が、前記入力ベクトルの成分の数と同一であることを特徴とする上記〔１〕から〔１１〕の何れか１項記載のベクトル規格化装置。
【０１１９】
〔１３〕  ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段と、前記ベクトル成分追加手段からの出力を競合学習装置の入力ベクトルとして出力する出力手段とを有することを特徴とするベクトル規格化装置。
【０１２０】
〔１４〕  ベクトル規格化装置において、競合学習装置において処理するための処理対象の信号をベクトルとして入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
【０１２１】
【発明の効果】
以上述べたように、本発明によると、（Ａ−１）、（Ａ−２）の条件を満たし、規格化を行っても元のベクトルのノルムの情報を失わず、また、ノルムで成分を除算する手段を必要としないベクトル規格化装置を提供することができる。
【図面の簡単な説明】
【図１】規格化しない場合の内積演算による勝利ベクトルの決定過程を示す図である。
【図２】図１の場合にＬ２−ノルムで規格化した場合の勝利ベクトルの決定過程を示す図である。
【図３】従来の光学系を用いた競合学習装置におけるＬ１−ノルムによる規格化を説明するための図である。
【図４】Ｌ１−ノルムで規格化した場合の勝利ベクトルの決定過程を示す図である。
【図５】ユークリッド空間でのベクトルの距離の大小関係と内積空間でのベクトルの角度の大小関係が一致していることを説明するための図である。
【図６】本発明の第１実施形態のベクトル規格化装置のブロック図である。
【図７】本発明の第２実施形態のベクトル規格化装置の要部のブロック図である。
【図８】本発明の第３実施形態のベクトル規格化装置の要部のブロック図である。
【図９】本発明の第４実施形態のベクトル規格化装置の要部のブロック図である。
【図１０】本発明の第５実施形態のベクトル規格化装置の要部のブロック図である。
【図１１】本発明の第６実施形態のベクトル規格化装置を用いた競合学習装置の構成を模式的に示す図である。
【図１２】本発明の第６実施形態のベクトル規格化装置のブロック図である。
【符号の説明】
１…ベクトル入力手段
２…追加成分計算手段
３…ベクトル成分追加手段
４…規格化ベクトル出力手段
５…データ変換手段
２１…追加成分演算器
２２…追加成分用メモリ
２３…定数ｋ用メモリ
５１…最大最小規格化演算器
５２…余弦関数演算器
２１０…二乗和演算器
２１１…差分演算器
２１２…平方根演算器
２１３…二乗演算器
ＰＣ…パーソナルコンピュータ
【図１】
0003824397.tif 000007
【図２】
0003824397.tif 000008
【図３】
0003824397.tif 000009
【図４】
0003824397.tif 000010
【図５】
0003824397.tif 000011
【図６】
0003824397.tif 000012
【図７】
0003824397.tif 000013
【図８】
0003824397.tif 000014
【図９】
0003824397.tif 000015
【図１０】
0003824397.tif 000016
【図１１】
0003824397.tif 000017
【図１２】
0003824397.tif 000018