JP3824397B2 - ベクトル規格化装置 - Google Patents
ベクトル規格化装置 Download PDFInfo
- Publication number
- JP3824397B2 JP3824397B2 JP24509397A JP24509397A JP3824397B2 JP 3824397 B2 JP3824397 B2 JP 3824397B2 JP 24509397 A JP24509397 A JP 24509397A JP 24509397 A JP24509397 A JP 24509397A JP 3824397 B2 JP3824397 B2 JP 3824397B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- component
- norm
- input
- additional component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ベクトル規格化装置に関し、特に、内積演算を用いてある距離基準を満たす勝利素子を決定し、その勝利素子、及びその勝利素子によって決められる素子に対して何らかの操作を施すことによって、位相保存写像やパターン認識等のための競合学習を行う競合学習装置において用いられるベクトル規格化装置に関する。
【0002】
【従来の技術】
ある距離基準を満たす勝利素子を決定し、その勝利素子及びその勝利素子によって決められる素子に対して何らかの操作を施すことによって、位相保存写像やパターン認識を行う競合学習アルゴリズムがよく知られている(T.Kohonen,"Self-Organization and Associative Memory",Third Edition,Springer-Verlag,Berlin,1989)。
【0003】
これらのアルゴリズムは、何れもユークリッド距離、マンハッタン距離、内積等の距離基準を用い、ある入力に対してその基準を満たす勝利素子を選ぶ競合過程を有している。コンピューター上で上記競合学習アルゴリズムを実行する場合、何れの距離基準も容易に用いることができるが、その場合、距離基準として一般に性能が良いと報告されているユークリッド距離がよく用いられている。しかし、画像等の大容量のデータの処理には時間がかかる。
【0004】
また、画像等の大容量のデータを高速に処理するためにハードウエア上でユークリッド距離計算を行おうとする場合は、差分電気回路、二乗電気回路、総和電気回路を必要とし、現状ではその回路が大規模となってしまい、その実現が困難になっている。一方、内積の距離基準を用いるアルゴリズムの場合は、差分電気回路を必要とせず、さらに、光学的ハードウエアを用いて実現すれば、内積演算は光の高速性と並列性の点で有効である。例えば、内積演算を光学系で実行する競合学習装置がすでにいくつか報告されている(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; 特開平5−35897号、特開平5−101025号等)。
【0005】
【発明が解決しようとする課題】
内積演算を距離基準として用いて競合学習を行う場合、ユークリッド距離を用いる場合と比較して、競合学習の精度が低くなる傾向がある。これは以下のように説明できる。
【0006】
図1に示すように、入力ベクトルとして2次元ベクトルX、入力ベクトルXに対するある距離基準を満たす重みベクトルの候補としてm1 ,m2 を考える。ユークリッド距離を用いる場合、ベクトル間の距離が最も近いものが勝利素子となるので、図1の距離d1 、d2 の関係からd1 <d2 であるので、m1 が勝利素子となる。一方、内積演算を用いる場合、内積値の最も大きいものが入力ベクトルに最も類似していることに相当し、勝利素子となる。内積値は、図1でmi (i=1,2)のXへの正射影Di (i=1,2)とXのL2−ノルムの積で表される。なお、ここで、L2−ノルムとは、ベクトルの成分の二乗和の平方根を表している。このとき、Di の大小を比較すれば内積の大小を比較できるが、この場合、D1 <D2 よりm2 が勝利素子となってしまう。このように、内積演算を用いると、L2−ノルムの大きい重みベクトルが、入力ベクトルとユークリッド距離が離れていても内積値が大きくなって類似度が大きくなり、勝者になりやすくなる。つまり、内積演算における類似度は各ベクトルのL2−ノルムに依存する。したがって、有効な競合学習のためには、L2−ノルムを揃えた方がよい。L2−ノルムを揃えるには、簡単には、L2−ノルムでベクトルの各成分を除算(L2−ノルムでの規格化)すればできる。このようにすれば、図2に示すように、d1 <d2 ,D1 >D2 となり、ユークリッド距離を用いても内積演算を用いても、m1 が勝利素子となる。そのため、内積演算を用いても有効な競合学習を行うことができる。
【0007】
なお、ノルムには、L2−ノルム以外にも、L1−ノルムや、L∞−ノルム等があるが、何れのノルムを用いても、ある程度は有効な競合学習ができる。その中、最も良いのはL2−ノルムであるが、その理由は後述する。
【0008】
ところで、一般に、規格化によってL1−ノルムやL2−ノルムやその他のノルムを揃えた場合、元々のベクトルのノルム情報は失われることになる。例えば、L2−ノルムを揃えるためにL2−ノルムでベクトルの各成分を除算すると、元々のL2−ノルム情報は失われる。ベクトルデータの方向のみを識別する競合学習の場合は、データのノルム情報は失われてもよい。しかし、通常の競合学習では、ベクトルデータの方向のみの識別を行うとは限らず、ノルム情報を失うと十分な学習ができないことが多い。
【0009】
そこで、本発明のベクトル規格化装置が満たすべき条件として次の項を上げる。
(A−1)規格化を行っても、元のベクトルのノルムの情報を失わない。
【0010】
ところで、一般に、規格化を行う際、規格化すべきノルムで成分を除算することが多いが、例えばそのノルムが0の場合にデータが発散してしまう等の問題点がある。そこで、ノルムでベクトルの成分を除算する手段を必要としない方が望ましい。
【0011】
そこで、本発明のベクトル規格化装置が満たすべき条件として次の項を加える。
(A−2)ノルムで成分を除算する手段を必要としない。
【0012】
本発明はこのような問題点に鑑みてなされたものであり、その目的は、(A−1)、(A−2)の条件を満たし、規格化を行っても元のベクトルのノルムの情報を失わず、また、ノルムで成分を除算する手段を必要としないベクトル規格化装置を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成する本発明のベクトル規格化装置は、ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするものである。
【0014】
この場合、ベクトル入力手段からの入力ベクトルを受けて、その入力ベクトルの各成分の取り得る値の範囲を制限するべく、各成分に変換を施す変換手段をさらに有することが望ましい。
【0015】
まが、追加成分計算手段からの出力の取り得る値の範囲が、入力ベクトルの各成分の取り得る値の範囲と同一であるようにすることが望ましい。
【0016】
以下、本発明において上記構成をとる理由と作用について説明する。
本発明の基本形態は、入力ベクトルと重みベクトル群の各ベクトルとの内積を取ることによって、入力ベクトルを重みベクトル群の何れかのベクトルへ対応させる競合学習装置のための、入力ベクトルあるいは重みベクトルを規格化するベクトル規格化装置であり、規格化すべき入力ベクトルあるいは重みベクトルを入力するベクトル入力手段と、追加されたベクトルのノルムが等しくなるように、少なくとも1つの追加成分を計算する追加成分計算手段と、その追加成分計算手段で計算された追加成分を入力ベクトルあるいは重みベクトルに追加するベクトル成分追加手段と、追加された入力ベクトルあるいは重みベクトルを出力する規格化ベクトル出力手段を備えたことを特徴としている。
【0017】
これは後記の第1〜6の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、追加後のベクトルのノルムが一定になるような追加成分を計算する。例えば、ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とし、1つの成分を追加する場合、その追加項は、下記の式(1)のX’の第3成分を計算すればよい。ただし、ここでkは定数とする。
【0018】
X’=(X1 ,X2 ,k−(X1 +X2 )) ・・・(1)
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、追加成分計算手段で計算した成分を追加し、上記X’を作成する。
【0019】
最後に、規格化ベクトル出力手段で、上記X’を出力する。このとき、X’のL1−ノルムは、全てのXに対してkという一定値となる。また、追加成分(式(1)の場合は、第3成分)にXのL1−ノルム(X1 +X2 )が含まれている。
【0020】
したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0021】
上記のように、少なくとも1つのベクトル成分を追加することにより、追加されたベクトルのノルムを規格化すると、規格化を行っても元のベクトルのノルムの情報を失わないので、ベクトルデータの方向以外の識別の場合でも、十分に精度良く学習が行える。
【0022】
上記の場合に、追加成分計算手段が、追加されたベクトルのL2−ノルムが等しくなるように、少なくとも1つの追加成分を計算するものとすることができる。
【0023】
これは後記の第2〜6の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、追加後のベクトルのノルムが一定になるような追加成分を計算する。例えば、ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とし、1つの成分を追加する場合、その追加項は、下記の式(2)のX’の第3成分を計算すればよい。ただし、ここでkは定数とする。
【0024】
X’=(X1 ,X2 ,√{k−(X1 2 +X2 2 )}) ・・・(2)
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、追加成分計算手段で計算した成分を追加し、上記X’を作成する。
【0025】
最後に、規格化ベクトル出力手段で、上記X’を出力する。このとき、X’のL2−ノルムは、全てのXに対してkという一定値となっていることが分かる。
また、追加成分(式(2)の場合は、第3成分)にXのL2−ノルム√(X1 2 +X2 2 )が関数の成分として含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。
【0026】
ところで、一般に、ノルムには色々な種類があり、ノルムを揃えればある程度の精度の競合学習が可能となるが、揃えるノルムはL2−ノルムの方が望ましい。
まず、L2−ノルム以外でよく知られているL1−ノルムの場合を示す。特開平5−35897号、特開平5−101025号の装置では、入力ベクトルの成分の大きさを調節することによって内積演算を用いる競合学習の精度を上げようとしている。すわなち、図3に示すベクトル規格化装置により、強度変調形のMSLM100にベクトルを表示し、その強度値を受光素子101で検出し、得られた電流値をアンプ102で電圧値に直してMSLM100の駆動電圧を変化させることにより、その強度値が一定になるように規格化している。これは、ベクトルの成分和を一定にするいわゆるL1−ノルムでの規格化に相当している。
【0027】
ここで、L1−ノルムでの規格化での問題点を示す。図1と同様に、図4のように2次元ベクトルXが入力され、その候補の重みベクトルとしてm1 ,m2 があったとする。なお、X,m1 ,m2 は全てベクトルの成分和が一定になっている。ユークリッド距離を用いる場合、ベクトル間の距離が最も近いものが勝利素子となるので、m2 が勝利素子となる。ところが、内積演算を用いると、D1 >D2 の関係より、m1 が勝利素子となる。したがって、L1−ノルムで規格化しても、依然として内積演算における類似度が各ベクトルのL2−ノルムに依存してしまうことがあり、有効な競合学習ができないことがある。なお、従来技術であげた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の装置も、同様なL1−ノルムによる規格化をしている。
【0028】
内積演算における類似度は、各ベクトルのL2−ノルムに依存するという理由で、その他のノルムとしてもL∞−ノルム等いろいろあるが、L2−ノルムで規格化する場合に比べると、有効な競合学習ができない。
【0029】
以上の議論により、入力ベクトルあるいは重みベクトルのL2−ノルムを揃えると、距離基準として内積演算を用いる競合学習をユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことができることが分かる。
また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0030】
上記のように、少なくとも1つのベクトル成分を追加することによりベクトルのノルムを規格化すると、規格化を行っても元のベクトルのノルムの情報を失わないので、ベクトルデータの方向以外の識別の場合でも、十分に精度良く学習が行える。また、L2−ノルムを等しくするような規格化をしているので、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合と同様な程度に精度良く行うことができる。また、ノルムで成分を除算する手段を必要としないので、規格化によりデータが発散してしまうという問題がない。
【0031】
また、上記の場合に、追加成分計算手段が、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、ベクトル成分追加手段が、入力ベクトルあるいは重みベクトルの各成分と同数のその追加成分を追加するものとすることができる。
【0032】
これは後記の第3〜6の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、そのベクトルの成分と同数の追加成分を計算する。このとき、追加後のベクトルのノルムが全て一定になるようにする。続いて、ベクトル成分追加手段において、その計算した追加成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【0033】
ところで、ベクトル規格化装置によって規格化されたベクトルは、競合学習装置において用いられるが、一般に、ハードウエアで用いることのできるデータの階調には制限がある。例えば、ベクトルを液晶表示装置に表示した場合、その階調数は数100程度である。したがって、その制限された階調を有効に使用したい場合、ベクトルの各成分の取り得る範囲は略一定の方がよい。
【0034】
ここで、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、その追加成分を追加する場合に、ベクトルの各成分の取り得る範囲が略一定になる理由について例を用いて説明する。
【0035】
ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とし、成分の追加後に一定にするベクトルのノルムをL1−ノルムにした場合、2つの成分を追加して式(3)のようなX’を作成すればよい。ただし、kは定数とする。
【0036】
X’=(X1 ,X2 ,k−X1 ,k−X2 ) ・・・(3)
このとき、X’のL1−ノルムは全てのXに対して2kという一定値となる。また、追加成分(式(3)の場合は、第3、4成分)にXのL1−ノルムと厳密には一致しないが、それを分解したものが含まれている。一般に、内積演算を用いる競合学習では、規格化によって失われたノルムの大小を問題にすることが多いので、L1−ノルムと厳密には一致しなくとも大小を決定できる分解したものが含まれていればよい。また、ここで追加成分である第3、4成分のkは同じ定数を用いているが、異なる定数にしてもよい。
【0037】
また、一定にするベクトルのノルムをL2−ノルムにした場合、2つの成分を追加して式(4)のようなX’を作成すればよい。ただし、kは定数とする。
【0038】
X’=(X1 ,X2 ,√(k−X1 2 ),√(k−X2 2 ))・・(4)
このとき、X’のL2−ノルムは全てのXに対して√(2k)という一定値となる。また、追加成分(式(4)の場合は、第3、4成分)にXのL2ノルムを分解したものが含まれている。分解したものが含まれていればよいことは前記した通りである。なお、この場合も、追加成分のkは同じ定数を用いているが、異なる定数にしてもよい。
【0039】
続いて、式(3)あるいは式(4)のX’の場合、規格化後のベクトルの各成分の取り得る範囲が略一定であることを示す。
まず、式(1)のX’と式(3)のX’を比較する。
【0040】
例えば、X1 とX2 の取り得る値を0からθとしたとき、式(1)の場合、その第3成分がX1 とX2 の取り得る範囲に近くなるようにkを選ぶと、
0<(第3成分)<2θ,k=2θ ・・・(5)
となる。
すなわち、
となる。
【0041】
一方、式(3)の場合、
0<(第3成分),(第4成分)<θ,k=θ ・・・(7)
となる。すなわち、
0<(第1成分)<θ,0<(第2成分)<θ,0<(第3成分)<θ,
0<(第4成分)<θ ・・・(8)
となる。
【0042】
明らかに、式(3)のX’の方が、ベクトルの各成分と取り得る範囲が一定である(この場合は、取り得る範囲が一致する。)。
【0043】
次に、式(2)のX’と式(4)のX’を比較する。
例えば、X1 とX2 の取り得る値を0からθとしたとき、式(2)の場合、その第3成分がX1 とX2 の取り得る範囲に近くなるようにkを選ぶと、
0<(第3成分)<√2θ,k=2θ2 ・・・(9)
となる。すなわち、
となる。
【0044】
一方、式(4)の場合、
0<(第3成分),(第4成分)<θ,k=θ2 ・・・(11)
となる。すなわち、
0<(第1成分)<θ,0<(第2成分)<θ,0<(第3成分)<θ,
0<(第4成分)<θ ・・・(12)
となる。
【0045】
この場合も、明らかに式(4)のX’の方が、ベクトルの各成分の取り得る範囲が一定である(この場合は、取り得る範囲が一致する。)。
以上、式(3)あるいは式(4)のX’のように規格化した後のベクトルの各成分の取り得る範囲が略一定であることを示した。
【0046】
このように、追加成分計算手段が、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、ベクトル成分追加手段が、入力ベクトルあるいは重みベクトルの各成分と同数のその追加成分を追加する場合には、規格化後のベクトルの各成分の取り得る範囲が一定になっている。その結果、競合学習装置上で用い得る階調が有効に使用でき、さらに、精度の良い競合学習が行える。
【0047】
以上のベクトル規格化装置において、追加成分計算手段の前段に、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換するデータ変換手段を有することができる。
【0048】
これは後記の第4〜5の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換する。続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、追加すべき少なくとも1つのベクトル成分を計算する。もちろん、入力ベクトルあるいは重みベクトルの成分と同数の追加すべき成分を計算してもよい。何れにしても、全てのベクトルに対し、追加後のベクトルのノルムが一定になるようにする。このとき、一定にするノルムはL1−ノルムでもL2−ノルムでもその他のノルムでもよいが、前述したようにL2−ノルムにするとなおよい。
【0049】
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、少なくとも1つあるいはそのベクトルの成分と同数のベクトル成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【0050】
一般に、競合学習で用いる入力ベクトル及び重みベクトルが作成される元の入力情報としては、画像データ、音声データ、流量データ等様々なものがある。したがって、規格化装置に入力するベクトルの成分の取り得る範囲は一定とは限らない。発明が解決しようとする課題の項中でも述べたように、ハードウエア上で制限された階調を十分有効に使用するには、取り得る範囲にばらつきがない方が望ましい。そこで、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限すれば、取り得る範囲のばらつきをなくすことができる。各成分のデータの変換は、例えば次の式(13)のように行えばよい。
【0051】
ただし、nを成分数として、
変換前の入力ベクトルを、
X(j) =(X1 (j) ,X2 (j) ,・・・,Xn (j) )
変換後のベクトルを、
X(j) ’=(X1 (j) ’,X2 (j) ’,・・・,Xn (j) ’)
とし、iはベクトルの成分に付けた番号(i=1〜n)、jはベクトルに付けた番号(j=1〜m)とした。
【0052】
式(13)の場合、変換前の成分の取り得る値にかかわらず、変換後は0から1の間の値を取るようになる。なお、(13)式には除算が含まれているが、その分母が0になることは次の理由で考慮しなくてよい。この分母は各成分毎の最大値と最小値の差であり、両者が一致した場合に0になる。しかし、両者が一致するというのは、全てのベクトルに対し、その成分が一定値になるということである。これは競合学習で用いる入力ベクトルという観点からすると、不必要な成分であるので、最初からベクトルの成分から除くか、適当な一定値に変換するようにすれば全く問題ない。したがって、(13)式の分母が0になることは考慮しなくてよい。一方、ノルムが0のベクトルというのは一般的に十分考えられるベクトルなので、前述したように、ノルムで除算する手段は有しない方がよい。
【0053】
このように、各成分のデータを変換するデータ変換手段を有する場合には、そのデータ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換しているので、競合学習装置上で用いる階調が有効に使用でき、さらに、精度のよい競合学習が行える。
【0054】
また、上記のデータ変換手段が、正弦関数あるいは余弦関数を用いて各成分のデータを変換するものとすることができる。
【0055】
これは後記の第5の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換する。このとき、正弦関数あるいは余弦関数を用いる。
【0056】
続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、追加すべき少なくとも1つのベクトル成分を計算する。もちろん、入力ベクトルあるいは重みベクトルの成分と同数の追加すべき成分を計算してもよい。何れにしても、全てのベクトルに対し、追加後のベクトルのノルムが一定になるようにする。このとき、一定にするノルムはL1−ノルムでもL2−ノルムでもその他のノルムでもよいが、前述したようにL2−ノルムにするとなおよい。
【0057】
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、少なくとも1つあるいはそのベクトルの成分と同数のベクトル成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【0058】
分かりやすくするため、ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とした場合を考える。
まず、データ変換手段において、X=(X1 ,X2 )を余弦関数を用いて(cosX1 ,cosX2 )と変換する。続いて、(4)式に従い、L2−ノルムが一定になるように、追加前のベクトルと同数の成分(この場合、2個)を追加すると、X’が作成される。ただし、(4)式において、kを1とした。これは、L2−ノルムの値を√2にすることに相当する。
【0059】
前述したように、X’は競合学習装置において用いられ、内積値によってベクトル間の類似度が判断される。その際、ユークリッド空間で考えられるベクトル間の距離の大小関係と、内積空間で考えられるベクトル間の角度の大小関係が一致していることが望ましい。その結果として、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合と同程度の精度で行うことができる。
【0060】
以下に、ユークリッド空間での任意のX同士の距離の大小関係と、内積空間での任意のX’同士の角度の大小関係がどれだけ一致しているかを説明する。
X=(X1 ,X2 )の第1成分と、X’の第1成分と第3成分のペアとの関係を考える。同様に、X=(X1 ,X2 )の第2成分には、X’の第2成分と第4成分のペアが対応する。
【0061】
前者、後者は全く同様の議論ができるので、前者を用いて説明する。すわなち、X1 と(cosX1 ,sinX1 )との関係を調べる。成分Xi の全データをXi (j) (iは成分、jはその成分におけるデータを示す番号)と表す。i=1,j=a,bとして、代表点2点X1 (a) ,X1 (b) を考えると、それぞれ、(cosX1 (a) ,sinX1 (a) ),(cosX1 (b) ,sinX1 (b) )が対応する。X1 (a) ,X1 (b) を黒丸、対応する(cosX1 (a) ,sinX1 (a) ),(cosX1 (b) ,sinX1 (b) )を白丸としてプロットしたのが、図5である。
【0062】
図5を見れば分かるように、原点から黒丸までの長さ同士の関係はX1 (a) :X1 (b) であり、原点から白丸までの線分と横軸とのなす角同士の関係もX1 (a) :X1 (b) であり、両者は一致している。代表点だけでなく、一般に各成分における(例えば、1)任意のスカラーX1 (j) 同士のユークリッド空間での大小関係は、対応するベクトル(cosX1 (j) ,sinX1 (j) )同士の角度の大小関係と一致する。
【0063】
すなわち、Xの各成分iにおいては、ユークリッド空間での大小関係は、対応するベクトル同士の角度の大小関係と一致する。Xi を成分要素として、全てのiについて並べたベクトルXとその対応するペア(cosXi ,sinXi )を成分要素として、全てのiについて並べたベクトルX’の場合は、ユークリッド空間での大小関係と、その対応するベクトル間の角度の大小関係は、完全には一致しないが、各成分同士では成立していることから、近似的には一致していると考えることができる。
したがって、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことが可能になる。
【0064】
また、正弦関数あるいは余弦関数の変換の前に、式(15)のようなデータ変換をすれば、式(16)のように、X’の4つの成分の取り得る範囲を全て同一(この場合は、0から1)にすることも可能である。
【0065】
なお、(16)式では、一般式ということで、ベクトルにつけた番号(j)は省略した。
【0066】
したがって、競合学習装置で制限された階調を十分有効に使用することができる。なお、上記の例では、2次元ベクトルXの成分の変換に余弦関数を用いているが、正弦関数にしてもよい。なお、(15)式には除算が含まれているが、その分母が0になることは次の理由で考慮しなくてよい。この分母は各成分毎の最大値と最小値の差であり、両者が一致した場合に0になる。しかし、両者が一致するというのは、全てのベクトルに対し、その成分が一定値になるということである。これは競合学習で用いる入力ベクトルという観点からすると、不必要な成分であるので、最初からベクトルの成分から除けばよい。したがって、(15)式の分母が0になることは考慮しなくてよい。
【0067】
また、揃えるノルム量は√2だけに限らず、例えば余弦関数あるいは正弦関数の前に適当な定数を乗算したり、kを変化させることにより、任意の値にすることができる。これによって、競合学習装置で用いるためのデータ範囲を調整できる。ただし、前記のように(cosXi ,sinXi )のペアを作り、ユークリッド空間での大小関係とその対応するベクトル間の角度の大小関係とを近似的に一致させたい場合には、kを1にして前者の方法をとるべきである。
上記の例では、変換の際に余弦関数のみを用いたが、正弦関数を用いてもよく、また、両者が混在してもよい。
【0068】
このように、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように各成分のデータを変換するとき、正弦関数あるいは余弦関数を用いると、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準しとて用いる場合により近い良好な精度で行うことが可能になる。
【0069】
【発明の実施の形態】
以下、図6〜図12を参照にして本発明の好適な実施形態を説明する。
入力ベクトルと重みベクトルの規格化装置については全く同様の構成で達成できるため、説明の重複を避ける観点から、入力ベクトルの規格化装置について説明する。
【0070】
〔第1実施形態〕
本実施形態のベクトル規格化装置を図6のブロック図に示す。本実施形態において、ベクトル入力手段1としては様々なものがある。例えば、競合学習装置で処理すべき対象が画像情報の場合は、画像を入力するCCDと、ベクトル情報を得るために何らかの特徴抽出処理を行ったり、単純に隣接画素同士の信号を並べたりしてベクトルに変換する装置とがあればよい。対象が音声の場合は、マイクロフォン、濃度であれば濃度センサー、流量であれば流量センサー等、基本的には欲しい情報をセンサーにより取得し、そのセンサーで得られた情報を何らかの変換によってベクトルとして系内に取り込めればよい。また、他の機器で捉えた情報(例えば、CT装置やMRI装置等の医療用画像、形状測定装置で捉えた3次元画像等)をイーサネット等を介してベクトルとして入力するとか、特徴抽出してベクトルとして入力するとか、他にも様々なベクトル入力手段が考えられる。
【0071】
ベクトル入力手段1によって入力されたベクトルaは、追加成分計算手段2に送られる。追加成分計算手段2は、例えば、追加成分演算器21、定数k用メモリ23、追加成分用メモリ22から構成され、ベクトルaに追加すべき追加成分を計算する。
【0072】
式(1)の場合を例に取ると、追加成分演算器21で定数k用メモリ23から読み込んだ定数kからベクトルaの成分和を減算し、これを追加成分として追加成分用メモリ22に書き込む。追加成分用メモリ22に書き込まれた追加成分bとベクトルaを用いて、ベクトル成分追加手段3で規格化ベクトルcとしてベクトルを作成する。追加成分bとベクトルaの合成は、例えばコンピューター上でファイルの合成を行えばよい。規格化ベクトルcは、最後に規格化ベクトル出力手段4で出力される。規格化ベクトル出力手段4は、コンピュータ上のファイル出力でもよいし、液晶表示装置やLED等、競合学習装置の入力手段と共用してもよい。
【0073】
このとき、規格化ベクトルcのL1−ノルムは、全ての規格化ベクトルcに対してkという一定値となる。また、追加成分(式(1)の場合は、第3成分)にベクトルaのL1−ノルム(X1 +X2 )が含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0074】
〔第2実施形態〕
本実施形態のベクトル規格化装置を図7のブロック図に示す。本実施形態のベクトル規格化装置は、第1実施形態の変形例であり、追加成分計算手段2以外の構成は同一なので省略してある。
【0075】
本実施形態の追加成分計算手段2は、二乗和演算器210、差分演算器211、平方根演算器212からなる追加成分演算器21と、追加成分用メモリ22と、定数k用メモリ23からなり、作用としては、式(2)の追加成分を計算する。まず、追加成分演算器21の二乗和演算器210で、ベクトルaの成分二乗和を計算し、続いて差分演算器211で定数k用メモリ23から読み込んだ定数kから前記成分二乗和を減算する。平方根演算器212で、その量の平方根をとり、これを追加成分として、追加成分用メモリ22に書き込む。追加成分用メモリ22に書き込まれた追加成分bと、ベクトルaを用いて、ベクトル成分追加手段3で、規格化ベクトルcとしてベクトルを作成する。その他、全て第1実施形態と同じである。
【0076】
規格化ベクトルcのL2−ノルムは、全ての規格化ベクトルcに対して、kという一定値となる。また、追加成分(式(2)の場合は、第3成分)にベクトルaのL2−ノルムである√(X1 2 +X2 2 )が関数として含まれている。
【0077】
したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、規格化ベクトルcのL2−ノルムが等しくなっていることも分かる。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0078】
〔第3実施形態〕
本実施形態のベクトル規格化装置を図8のブロック図に示す。本実施形態のベクトル規格化装置は、第2実施形態の変形例であり、追加成分計算手段2以外の構成は同一なので省略してある。
【0079】
本実施形態の追加成分計算手段2は、例えばベクトルaの成分の数と同数の追加成分演算器21と、1個の追加成分用メモリ22と、1個の定数k用メモリ23とからなり、さらに、各追加成分演算器21は、二乗演算器213、差分演算器211、平方根演算器212からなる。作用としては、式(4)の追加成分を計算する。
【0080】
まず、追加成分演算器21の二乗演算器213で、ベクトルaの1つの成分の二乗値を計算し、続いて差分演算器211で、定数k用メモリ23から読み込んだ定数kから前記二乗値を減算する。平方根演算器212で、その量の平方根をとり、これを1つの追加成分として追加成分用メモリ22に書き込む。このようにして、ベクトルaの成分数と同数個の追加成分演算器21の出力が追加成分用メモリ22に書き込まれる。
【0081】
追加成分用メモリ22に書き込まれた追加成分bと、ベクトルaを用いてベクトル成分追加手段3で、規格化ベクトルcとしてベクトルを作成する。その他、全て第1実施形態と同じである。
【0082】
なお、本実施形態では、ベクトルaの成分と同数の追加成分演算器21を用意したが、これは並列演算をしたい場合であり、もちろん単一の追加成分演算器21によって、逐次演算を行っても構わない。
【0083】
このとき、全ての規格化ベクトルcのL2−ノルムは√(2k)という一定値となる。また、追加成分(式(4)の場合は、第3、4成分)にベクトルaのL2−ノルムを分解したものが含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、規格化ベクトルcのL2−ノルムが等しくなっていることも分かる。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。また、ベクトルaの成分と同数の追加成分bを計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。
【0084】
なお、本実施形態は、作用として式(4)の追加成分を計算するものであるが、追加成分演算器21の二乗演算器213と、平方根演算器212を省略すれば、式(3)の追加成分を計算する実施形態に容易に変形できる。
【0085】
〔第4実施形態〕
本実施形態のベクトル規格化装置を図9のブロック図に示す。本実施形態のベクトル規格化装置は、第1〜3実施形態の変形例であり、追加成分計算手段2の前段に、データ変換手段5を設けてある。データ変換手段5は、例えば、最大最小規格化演算器51からなり、ベクトルaの各成分の最大値と最小値を用いて、式(13)のようにベクトルaの各成分を変換する。この変換により、各成分の取り得る範囲のばらつきをなくすことができる。したがって、競合学習装置上で用いる階調が有効に使用でき、精度の良い競合学習が行える。
【0086】
なお、各成分の取り得る範囲のばらつきをなくすには、式(13)以外にも多数考えられ、例えば、最大値、最小値のみを制限してもよいし、さらに、制限値は0〜1の範囲だけでなく、−1〜1の範囲としてもよい。また、各成分の平均値を用いて制限してもよい。
【0087】
〔第5実施形態〕
本実施形態のベクトル規格化装置を図10のブロック図に示す。本実施形態のベクトル規格化装置は、第3、4実施形態の変形例であり、追加成分計算手段2の前段に、最大値最小値規格化演算器51と余弦関数演算器52からなるデータ変換手段5を設けてある。変形された部分を中心に以下に説明する。
【0088】
まず、データ変換手段5内の最大値最小値規格化演算器51では、ベクトルaの各成分の最大値と最小値を用いて、式(15)のように、ベクトルaの各成分を変換する。続いて、余弦関数演算器52で、式(16)の第1、第2成分のように余弦関数を施す。データ変換手段5によって変換されたベクトルa’は、追加成分計算手段2に送られる。追加成分計算手段2は、例えば、ベクトルaの成分の数と同数の追加成分演算器21と、1個の追加成分用メモリ22と、1個の定数k用メモリ23とからなり、さらに、追加成分演算器21は、二乗演算器213、差分演算器211、平方根演算器212からなる。作用としては、式(4)の追加成分を計算する。まず、追加成分演算器21の二乗演算器213で、ベクトルa’の1つの成分の二乗値を計算し、続いて差分演算器211で、定数k用メモリ23から読み込んだ定数kから前記二乗値を減算する。平方根演算器212で、その量の平方根をとり、これを1つの追加成分として追加成分用メモリ22に書き込む。このようにして、ベクトルaの成分数と同数個の追加成分演算器21の出力が追加成分用メモリ22に書き込まれる。
【0089】
その結果、式(4)の作用によって式(16)の第3、第4の成分のような追加成分が作成されることになる。ただし、式(4)でk=1と置いた。その後、追加成分用メモリ22に書き込まれた追加成分bと、ベクトルa’を用いて、ベクトル成分追加手段3で、規格化ベクトルcとしてベクトルを作成する。
【0090】
なお、本実施例では、ベクトルaの成分の数と同数の追加成分演算器21を用意したが、これは並列演算をしたい場合であり、もちろん単一の追加成分演算器21によって、逐次演算を行っても構わない。また、データ変換手段5内に余弦関数演算器52を設けたが、その代わりに正弦関数演算器を設けても、式(16)の正弦関数と余弦関数が入れ替わるだけで、全く問題はない。
【0091】
本実施形態のベクトル規格化装置では、全ての規格化ベクトルcのL2−ノルムは√2(k=1の場合)という一定値となる。また、追加成分(式(4)の場合は、第3、4成分)にベクトルaのL2−ノルムを分解したものが含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わない((A−1)の条件)。また、規格化ベクトルcのL2−ノルムが等しくなっている。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。また、ベクトルaの成分と同数の追加成分bを計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。また、前述したように、式(16)で示されるベクトルを作成していることから、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことが可能となる。
【0092】
また、本実施形態は、作用として、式(4)の追加成分を計算するものであるが、追加成分演算器21の二乗演算器213と平方根演算器212を省略すれば、式(3)の追加成分を計算する実施形態にも容易に変形できる。
【0093】
〔第6実施形態〕
本実施形態のベクトル規格化装置を図11、図12に示す。本実施形態のベクトル規格化装置は、第3実施形態を競合学習装置に組み込んだ例である。
図11に模式的に構成を示すように、競合学習装置は、大きく3つに分かれており、それぞれ、入力ベクトルを出力する素子Aと、重みベクトル群を出力する素子Bと、両者の内積演算値を検出するディテクターに相当する素子Cである。素子Aと素子Bに対してそれぞれベクトル規格化装置が組み込まれている。
【0094】
まず、図12のブロック図を用いて、ベクトル規格化装置について説明する。取り扱う対象が例えば医用画像であり、競合学習装置により医用画像中の病変部抽出を行うことを考える。
【0095】
まず、ベクトル入力手段1で、CCD、フィルムスキャナー等を用いて画像を取り込み、そこから例えばコンピュータ内に準備した特徴抽出アルゴリズムを用いてn×n次元のベクトルを作成する。このベクトルを、例えば取り込んだ画像中の画素数個作成する。このベクトルはいわゆる特徴ベクトルと言われているもので、本実施形態では、病変部内から抽出された場合と病変部外から抽出された場合とで、その性質(例えば、平均や分散)が異なるように作成される。続いて、追加成分計算手段2で、それぞれの入力ベクトル(この場合、特徴ベクトル)に対し、追加成分を計算し、ベクトル成分追加手段3で、規格化ベクトルを作成する。この場合、追加成分の次元は入力ベクトルの次元と同数個(n×n)にした。したがって、ベクトル成分追加手段3で作成されるベクトルの次元は2×n×nとなる。
【0096】
最後に、規格化ベクトル出力手段4で、このベクトルを出力している。ここで、規格化ベクトル出力手段4は、図11の素子A及び素子Bに対応している。なお、規格化ベクトル出力手段4以外は、簡単にはパーソナルコンピュータ(図11では、PCと略した。)を用いれば構成できる。もちろん、専用のプロセッサを利用してもよい。
【0097】
本規格化装置よって作成された全てのベクトルは、そのノルムが一定になっており、また、追加成分に元のベクトルのノルムの情報が入っている((A−1)の条件)。また、元のベクトルの成分と同数の追加成分を計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0098】
続いて、図11を用いて、規格化装置を組み込んだ競合学習装置を説明する。素子Aは、上記の規格化装置によって次元を同数追加された2×n×n次元の入力ベクトルを出力する。素子Aとしては、LED等を2×n×nの格子状に配列したものを用いればよい。
【0099】
素子Bは、M×M個の重みベクトルを出力する。素子Bとしては、書き換えが可能な場合として、2×n×nの画素をM×M個配列した液晶表示素子、不可能な場合として、固定マスク等が考えられる。なお、各重みベクトルは、入力ベクトルに対応して2×n×n次元となっていることに注意する。入力ベクトルを示すLED等で表示された光信号は、例えば素子Aと素子Bの間に配置された図示していない多重結像光学系を通して、素子B上に重ね合わされる。ただし、多重結像光学系は、素子A上の入力ベクトル像をM×M個複製する作用を持つこととする。
【0100】
入力ベクトルを示す光信号は、重みベクトルを示す素子Bの固定マスクあるいは液晶表示素子により強度変調される。この強度変調は、丁度ベクトル内積演算中の成分同士の掛算に相当している。変調された信号は、例えば素子Bと素子Cの間に配置された図示していない光学系を通して素子C(フォトディテクター)に集光される。この演算は、内積演算中の成分同士の掛算値の和演算に相当する。したがって、入力ベクトルと各重みベクトルとを内積演算した結果は、素子Cで各重みベクトルの数に対応してM×M個のスカラー量を検出することになる。
【0101】
この後で、例えばコンピュータや最大値検出回路等を用いて、M×M個の内積値の中から最大の内積値を選び、その内積値を出力したことに相当する重みベクトルを選択する。内積値を最大にする重みベクトルは、入力ベクトルに最も近かった重みベクトルである。重みベクトルに予めクラスを割り当てておけば、入力ベクトルに対し、内積値を最大にする重みベクトルのクラスを出力することによってクラス分類器とすることができる。
【0102】
本実施形態は、医用画像を対象にしているので、例えば次のように行えばよい。予めクラスの分かっている学習用の入力ベクトルから重みベクトル群を作成する。各重みベクトルに病変部か否かのクラスを割り当てる。クラスの分かっていない画素に対し、クラス割り当てを行う。画像中の全画素に対しクラス割り当てを行い、その画像から病変部を抽出する。
【0103】
予めの学習は、本競合学習装置上で、一般的によく知られているニューラルネットワークアルゴリズム等を用いて行ってもよいし、コンピュータ上で学習を行ってから、最後にその結果を素子Bに表示してもよい。なお、クラス分類器は、取り扱う対象が画像の場合、衛星写真の領域分割等、また、取り扱う対象が音声の場合、話者認識等に使用できる。
【0104】
前記したように、本規格化装置で作成された全てのベクトルは、そのノルムが一定になっており、また、追加成分に元のベクトルのノルムの情報が入っている。また、元のベクトルの成分と同数の追加成分を計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定であるため、本競合学習装置上で使用し得る階調を十分活用できる。
【0105】
したがって、そのベクトルを入力ベクトルあるいは重みベクトルとして本競合学習装置上で用いれば、精度の良い有効な競合学習ができる。
【0106】
なお、本実施形態は、作用として入力されたベクトルの成分数と同数の成分を追加しているものであるが、もちろん少なくとも1つの成分を追加するようにしてもよい。そのとき、図11、図12において、成分を追加される前の入力ベクトルあるいは重みベクトルに対し、追加された数だけ成分数を増やすように装置を構成すればよい。
【0107】
以上の本発明のベクトル規格化装置は、例えば次のように構成することができる。
〔1〕 ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
【0108】
〔2〕 前記ノルムは、ベクトルの成分の和であることを特徴とする上記〔1〕記載のベクトル規格化装置。
【0109】
〔3〕 前記追加成分計算手段は、所定の定数を格納するためのメモリと、前記メモリに格納された前記所定の定数を読み出し、前記所定の定数から前記入力ベクトルの成分の和を減算する演算手段と、前記演算手段からの出力を格納するメモリとを有することを特徴とする上記〔2〕記載のベクトル規格化装置。
【0110】
〔4〕 前記ノルムは、ベクトルの成分の二乗和であることを特徴とする上記〔1〕記載のベクトル規格化装置。
【0111】
〔5〕 前記追加成分計算手段は、前記ベクトル入力手段からの入力ベクトルの各成分の二乗和を計算する二乗和計算手段と、所定の定数を格納するためのメモリと、前記メモリに格納された前記所定の定数を読み出し、前記所定の定数から前記二乗和計算手段の出力を減算する差分計算手段と、前記差分計算手段からの出力を受けて平方根を求める平方根計算手段と、前記平方根計算手段からの出力を格納するメモリとを有することを特徴とする上記〔4〕記載のベクトル規格化装置。
【0112】
〔6〕 前記追加成分計算手段は、前記入力ベクトルの各成分に対応する追加成分計算器と所定の定数を格納するためのメモリとを有し、前記追加成分計算器は、それぞれ前記入力ベクトルの成分の二乗を求める二乗演算器と、前記所定の定数を格納するためのメモリから前記所定の定数を読み出し、前記所定の定数から前記二乗演算器の出力を減算するための差分演算器と、前記差分演算器の出力の平方根を求める平方根演算器とを有することを特徴とする上記〔4〕記載のベクトル規格化装置。
【0113】
〔7〕 前記ベクトル入力手段からの入力ベクトルを受けて、該入力ベクトルの各成分の取り得る値の範囲を制限するべく、前記各成分に変換を施す変換手段をさらに有することを特徴とする上記〔1〕から〔6〕の何れか1項記載のベクトル規格化装置。
【0114】
〔8〕 前記変換手段は、前記入力ベクトルの各成分について、入力ベクトルの成分から全ての入力ベクトルの中当該成分の最小値を減算した値を、全ての入力ベクトルの当該成分の最大値から最小値を減算した値で除算することを特徴とする上記〔7〕記載のベクトル規格化装置。
【0115】
〔9〕 前記変換手段は、前記入力ベクトルの各成分について、正弦関数による変換を施すことを特徴とする上記〔7〕記載のベクトル規格化装置。
【0116】
〔10〕 前記変換手段は、前記入力ベクトルの各成分について、余弦関数による変換を施すことを特徴とする上記〔7〕記載のベクトル規格化装置。
【0117】
〔11〕 前記追加成分計算手段からの出力の取り得る値の範囲が、前記入力ベクトルの各成分の取り得る値の範囲と同一であることを特徴とする上記〔1〕から〔10〕の何れか1項記載のベクトル規格化装置。
【0118】
〔12〕 前記追加成分計算手段によって求められる追加成分の数が、前記入力ベクトルの成分の数と同一であることを特徴とする上記〔1〕から〔11〕の何れか1項記載のベクトル規格化装置。
【0119】
〔13〕 ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段と、前記ベクトル成分追加手段からの出力を競合学習装置の入力ベクトルとして出力する出力手段とを有することを特徴とするベクトル規格化装置。
【0120】
〔14〕 ベクトル規格化装置において、競合学習装置において処理するための処理対象の信号をベクトルとして入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
【0121】
【発明の効果】
以上述べたように、本発明によると、(A−1)、(A−2)の条件を満たし、規格化を行っても元のベクトルのノルムの情報を失わず、また、ノルムで成分を除算する手段を必要としないベクトル規格化装置を提供することができる。
【図面の簡単な説明】
【図1】規格化しない場合の内積演算による勝利ベクトルの決定過程を示す図である。
【図2】図1の場合にL2−ノルムで規格化した場合の勝利ベクトルの決定過程を示す図である。
【図3】従来の光学系を用いた競合学習装置におけるL1−ノルムによる規格化を説明するための図である。
【図4】L1−ノルムで規格化した場合の勝利ベクトルの決定過程を示す図である。
【図5】ユークリッド空間でのベクトルの距離の大小関係と内積空間でのベクトルの角度の大小関係が一致していることを説明するための図である。
【図6】本発明の第1実施形態のベクトル規格化装置のブロック図である。
【図7】本発明の第2実施形態のベクトル規格化装置の要部のブロック図である。
【図8】本発明の第3実施形態のベクトル規格化装置の要部のブロック図である。
【図9】本発明の第4実施形態のベクトル規格化装置の要部のブロック図である。
【図10】本発明の第5実施形態のベクトル規格化装置の要部のブロック図である。
【図11】本発明の第6実施形態のベクトル規格化装置を用いた競合学習装置の構成を模式的に示す図である。
【図12】本発明の第6実施形態のベクトル規格化装置のブロック図である。
【符号の説明】
1…ベクトル入力手段
2…追加成分計算手段
3…ベクトル成分追加手段
4…規格化ベクトル出力手段
5…データ変換手段
21…追加成分演算器
22…追加成分用メモリ
23…定数k用メモリ
51…最大最小規格化演算器
52…余弦関数演算器
210…二乗和演算器
211…差分演算器
212…平方根演算器
213…二乗演算器
PC…パーソナルコンピュータ
【発明の属する技術分野】
本発明は、ベクトル規格化装置に関し、特に、内積演算を用いてある距離基準を満たす勝利素子を決定し、その勝利素子、及びその勝利素子によって決められる素子に対して何らかの操作を施すことによって、位相保存写像やパターン認識等のための競合学習を行う競合学習装置において用いられるベクトル規格化装置に関する。
【0002】
【従来の技術】
ある距離基準を満たす勝利素子を決定し、その勝利素子及びその勝利素子によって決められる素子に対して何らかの操作を施すことによって、位相保存写像やパターン認識を行う競合学習アルゴリズムがよく知られている(T.Kohonen,"Self-Organization and Associative Memory",Third Edition,Springer-Verlag,Berlin,1989)。
【0003】
これらのアルゴリズムは、何れもユークリッド距離、マンハッタン距離、内積等の距離基準を用い、ある入力に対してその基準を満たす勝利素子を選ぶ競合過程を有している。コンピューター上で上記競合学習アルゴリズムを実行する場合、何れの距離基準も容易に用いることができるが、その場合、距離基準として一般に性能が良いと報告されているユークリッド距離がよく用いられている。しかし、画像等の大容量のデータの処理には時間がかかる。
【0004】
また、画像等の大容量のデータを高速に処理するためにハードウエア上でユークリッド距離計算を行おうとする場合は、差分電気回路、二乗電気回路、総和電気回路を必要とし、現状ではその回路が大規模となってしまい、その実現が困難になっている。一方、内積の距離基準を用いるアルゴリズムの場合は、差分電気回路を必要とせず、さらに、光学的ハードウエアを用いて実現すれば、内積演算は光の高速性と並列性の点で有効である。例えば、内積演算を光学系で実行する競合学習装置がすでにいくつか報告されている(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; 特開平5−35897号、特開平5−101025号等)。
【0005】
【発明が解決しようとする課題】
内積演算を距離基準として用いて競合学習を行う場合、ユークリッド距離を用いる場合と比較して、競合学習の精度が低くなる傾向がある。これは以下のように説明できる。
【0006】
図1に示すように、入力ベクトルとして2次元ベクトルX、入力ベクトルXに対するある距離基準を満たす重みベクトルの候補としてm1 ,m2 を考える。ユークリッド距離を用いる場合、ベクトル間の距離が最も近いものが勝利素子となるので、図1の距離d1 、d2 の関係からd1 <d2 であるので、m1 が勝利素子となる。一方、内積演算を用いる場合、内積値の最も大きいものが入力ベクトルに最も類似していることに相当し、勝利素子となる。内積値は、図1でmi (i=1,2)のXへの正射影Di (i=1,2)とXのL2−ノルムの積で表される。なお、ここで、L2−ノルムとは、ベクトルの成分の二乗和の平方根を表している。このとき、Di の大小を比較すれば内積の大小を比較できるが、この場合、D1 <D2 よりm2 が勝利素子となってしまう。このように、内積演算を用いると、L2−ノルムの大きい重みベクトルが、入力ベクトルとユークリッド距離が離れていても内積値が大きくなって類似度が大きくなり、勝者になりやすくなる。つまり、内積演算における類似度は各ベクトルのL2−ノルムに依存する。したがって、有効な競合学習のためには、L2−ノルムを揃えた方がよい。L2−ノルムを揃えるには、簡単には、L2−ノルムでベクトルの各成分を除算(L2−ノルムでの規格化)すればできる。このようにすれば、図2に示すように、d1 <d2 ,D1 >D2 となり、ユークリッド距離を用いても内積演算を用いても、m1 が勝利素子となる。そのため、内積演算を用いても有効な競合学習を行うことができる。
【0007】
なお、ノルムには、L2−ノルム以外にも、L1−ノルムや、L∞−ノルム等があるが、何れのノルムを用いても、ある程度は有効な競合学習ができる。その中、最も良いのはL2−ノルムであるが、その理由は後述する。
【0008】
ところで、一般に、規格化によってL1−ノルムやL2−ノルムやその他のノルムを揃えた場合、元々のベクトルのノルム情報は失われることになる。例えば、L2−ノルムを揃えるためにL2−ノルムでベクトルの各成分を除算すると、元々のL2−ノルム情報は失われる。ベクトルデータの方向のみを識別する競合学習の場合は、データのノルム情報は失われてもよい。しかし、通常の競合学習では、ベクトルデータの方向のみの識別を行うとは限らず、ノルム情報を失うと十分な学習ができないことが多い。
【0009】
そこで、本発明のベクトル規格化装置が満たすべき条件として次の項を上げる。
(A−1)規格化を行っても、元のベクトルのノルムの情報を失わない。
【0010】
ところで、一般に、規格化を行う際、規格化すべきノルムで成分を除算することが多いが、例えばそのノルムが0の場合にデータが発散してしまう等の問題点がある。そこで、ノルムでベクトルの成分を除算する手段を必要としない方が望ましい。
【0011】
そこで、本発明のベクトル規格化装置が満たすべき条件として次の項を加える。
(A−2)ノルムで成分を除算する手段を必要としない。
【0012】
本発明はこのような問題点に鑑みてなされたものであり、その目的は、(A−1)、(A−2)の条件を満たし、規格化を行っても元のベクトルのノルムの情報を失わず、また、ノルムで成分を除算する手段を必要としないベクトル規格化装置を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成する本発明のベクトル規格化装置は、ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするものである。
【0014】
この場合、ベクトル入力手段からの入力ベクトルを受けて、その入力ベクトルの各成分の取り得る値の範囲を制限するべく、各成分に変換を施す変換手段をさらに有することが望ましい。
【0015】
まが、追加成分計算手段からの出力の取り得る値の範囲が、入力ベクトルの各成分の取り得る値の範囲と同一であるようにすることが望ましい。
【0016】
以下、本発明において上記構成をとる理由と作用について説明する。
本発明の基本形態は、入力ベクトルと重みベクトル群の各ベクトルとの内積を取ることによって、入力ベクトルを重みベクトル群の何れかのベクトルへ対応させる競合学習装置のための、入力ベクトルあるいは重みベクトルを規格化するベクトル規格化装置であり、規格化すべき入力ベクトルあるいは重みベクトルを入力するベクトル入力手段と、追加されたベクトルのノルムが等しくなるように、少なくとも1つの追加成分を計算する追加成分計算手段と、その追加成分計算手段で計算された追加成分を入力ベクトルあるいは重みベクトルに追加するベクトル成分追加手段と、追加された入力ベクトルあるいは重みベクトルを出力する規格化ベクトル出力手段を備えたことを特徴としている。
【0017】
これは後記の第1〜6の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、追加後のベクトルのノルムが一定になるような追加成分を計算する。例えば、ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とし、1つの成分を追加する場合、その追加項は、下記の式(1)のX’の第3成分を計算すればよい。ただし、ここでkは定数とする。
【0018】
X’=(X1 ,X2 ,k−(X1 +X2 )) ・・・(1)
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、追加成分計算手段で計算した成分を追加し、上記X’を作成する。
【0019】
最後に、規格化ベクトル出力手段で、上記X’を出力する。このとき、X’のL1−ノルムは、全てのXに対してkという一定値となる。また、追加成分(式(1)の場合は、第3成分)にXのL1−ノルム(X1 +X2 )が含まれている。
【0020】
したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0021】
上記のように、少なくとも1つのベクトル成分を追加することにより、追加されたベクトルのノルムを規格化すると、規格化を行っても元のベクトルのノルムの情報を失わないので、ベクトルデータの方向以外の識別の場合でも、十分に精度良く学習が行える。
【0022】
上記の場合に、追加成分計算手段が、追加されたベクトルのL2−ノルムが等しくなるように、少なくとも1つの追加成分を計算するものとすることができる。
【0023】
これは後記の第2〜6の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、追加後のベクトルのノルムが一定になるような追加成分を計算する。例えば、ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とし、1つの成分を追加する場合、その追加項は、下記の式(2)のX’の第3成分を計算すればよい。ただし、ここでkは定数とする。
【0024】
X’=(X1 ,X2 ,√{k−(X1 2 +X2 2 )}) ・・・(2)
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、追加成分計算手段で計算した成分を追加し、上記X’を作成する。
【0025】
最後に、規格化ベクトル出力手段で、上記X’を出力する。このとき、X’のL2−ノルムは、全てのXに対してkという一定値となっていることが分かる。
また、追加成分(式(2)の場合は、第3成分)にXのL2−ノルム√(X1 2 +X2 2 )が関数の成分として含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。
【0026】
ところで、一般に、ノルムには色々な種類があり、ノルムを揃えればある程度の精度の競合学習が可能となるが、揃えるノルムはL2−ノルムの方が望ましい。
まず、L2−ノルム以外でよく知られているL1−ノルムの場合を示す。特開平5−35897号、特開平5−101025号の装置では、入力ベクトルの成分の大きさを調節することによって内積演算を用いる競合学習の精度を上げようとしている。すわなち、図3に示すベクトル規格化装置により、強度変調形のMSLM100にベクトルを表示し、その強度値を受光素子101で検出し、得られた電流値をアンプ102で電圧値に直してMSLM100の駆動電圧を変化させることにより、その強度値が一定になるように規格化している。これは、ベクトルの成分和を一定にするいわゆるL1−ノルムでの規格化に相当している。
【0027】
ここで、L1−ノルムでの規格化での問題点を示す。図1と同様に、図4のように2次元ベクトルXが入力され、その候補の重みベクトルとしてm1 ,m2 があったとする。なお、X,m1 ,m2 は全てベクトルの成分和が一定になっている。ユークリッド距離を用いる場合、ベクトル間の距離が最も近いものが勝利素子となるので、m2 が勝利素子となる。ところが、内積演算を用いると、D1 >D2 の関係より、m1 が勝利素子となる。したがって、L1−ノルムで規格化しても、依然として内積演算における類似度が各ベクトルのL2−ノルムに依存してしまうことがあり、有効な競合学習ができないことがある。なお、従来技術であげた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の装置も、同様なL1−ノルムによる規格化をしている。
【0028】
内積演算における類似度は、各ベクトルのL2−ノルムに依存するという理由で、その他のノルムとしてもL∞−ノルム等いろいろあるが、L2−ノルムで規格化する場合に比べると、有効な競合学習ができない。
【0029】
以上の議論により、入力ベクトルあるいは重みベクトルのL2−ノルムを揃えると、距離基準として内積演算を用いる競合学習をユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことができることが分かる。
また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0030】
上記のように、少なくとも1つのベクトル成分を追加することによりベクトルのノルムを規格化すると、規格化を行っても元のベクトルのノルムの情報を失わないので、ベクトルデータの方向以外の識別の場合でも、十分に精度良く学習が行える。また、L2−ノルムを等しくするような規格化をしているので、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合と同様な程度に精度良く行うことができる。また、ノルムで成分を除算する手段を必要としないので、規格化によりデータが発散してしまうという問題がない。
【0031】
また、上記の場合に、追加成分計算手段が、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、ベクトル成分追加手段が、入力ベクトルあるいは重みベクトルの各成分と同数のその追加成分を追加するものとすることができる。
【0032】
これは後記の第3〜6の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、そのベクトルの成分と同数の追加成分を計算する。このとき、追加後のベクトルのノルムが全て一定になるようにする。続いて、ベクトル成分追加手段において、その計算した追加成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【0033】
ところで、ベクトル規格化装置によって規格化されたベクトルは、競合学習装置において用いられるが、一般に、ハードウエアで用いることのできるデータの階調には制限がある。例えば、ベクトルを液晶表示装置に表示した場合、その階調数は数100程度である。したがって、その制限された階調を有効に使用したい場合、ベクトルの各成分の取り得る範囲は略一定の方がよい。
【0034】
ここで、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、その追加成分を追加する場合に、ベクトルの各成分の取り得る範囲が略一定になる理由について例を用いて説明する。
【0035】
ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とし、成分の追加後に一定にするベクトルのノルムをL1−ノルムにした場合、2つの成分を追加して式(3)のようなX’を作成すればよい。ただし、kは定数とする。
【0036】
X’=(X1 ,X2 ,k−X1 ,k−X2 ) ・・・(3)
このとき、X’のL1−ノルムは全てのXに対して2kという一定値となる。また、追加成分(式(3)の場合は、第3、4成分)にXのL1−ノルムと厳密には一致しないが、それを分解したものが含まれている。一般に、内積演算を用いる競合学習では、規格化によって失われたノルムの大小を問題にすることが多いので、L1−ノルムと厳密には一致しなくとも大小を決定できる分解したものが含まれていればよい。また、ここで追加成分である第3、4成分のkは同じ定数を用いているが、異なる定数にしてもよい。
【0037】
また、一定にするベクトルのノルムをL2−ノルムにした場合、2つの成分を追加して式(4)のようなX’を作成すればよい。ただし、kは定数とする。
【0038】
X’=(X1 ,X2 ,√(k−X1 2 ),√(k−X2 2 ))・・(4)
このとき、X’のL2−ノルムは全てのXに対して√(2k)という一定値となる。また、追加成分(式(4)の場合は、第3、4成分)にXのL2ノルムを分解したものが含まれている。分解したものが含まれていればよいことは前記した通りである。なお、この場合も、追加成分のkは同じ定数を用いているが、異なる定数にしてもよい。
【0039】
続いて、式(3)あるいは式(4)のX’の場合、規格化後のベクトルの各成分の取り得る範囲が略一定であることを示す。
まず、式(1)のX’と式(3)のX’を比較する。
【0040】
例えば、X1 とX2 の取り得る値を0からθとしたとき、式(1)の場合、その第3成分がX1 とX2 の取り得る範囲に近くなるようにkを選ぶと、
0<(第3成分)<2θ,k=2θ ・・・(5)
となる。
すなわち、
となる。
【0041】
一方、式(3)の場合、
0<(第3成分),(第4成分)<θ,k=θ ・・・(7)
となる。すなわち、
0<(第1成分)<θ,0<(第2成分)<θ,0<(第3成分)<θ,
0<(第4成分)<θ ・・・(8)
となる。
【0042】
明らかに、式(3)のX’の方が、ベクトルの各成分と取り得る範囲が一定である(この場合は、取り得る範囲が一致する。)。
【0043】
次に、式(2)のX’と式(4)のX’を比較する。
例えば、X1 とX2 の取り得る値を0からθとしたとき、式(2)の場合、その第3成分がX1 とX2 の取り得る範囲に近くなるようにkを選ぶと、
0<(第3成分)<√2θ,k=2θ2 ・・・(9)
となる。すなわち、
となる。
【0044】
一方、式(4)の場合、
0<(第3成分),(第4成分)<θ,k=θ2 ・・・(11)
となる。すなわち、
0<(第1成分)<θ,0<(第2成分)<θ,0<(第3成分)<θ,
0<(第4成分)<θ ・・・(12)
となる。
【0045】
この場合も、明らかに式(4)のX’の方が、ベクトルの各成分の取り得る範囲が一定である(この場合は、取り得る範囲が一致する。)。
以上、式(3)あるいは式(4)のX’のように規格化した後のベクトルの各成分の取り得る範囲が略一定であることを示した。
【0046】
このように、追加成分計算手段が、入力ベクトルあるいは重みベクトルの各成分と同数の追加成分を計算し、ベクトル成分追加手段が、入力ベクトルあるいは重みベクトルの各成分と同数のその追加成分を追加する場合には、規格化後のベクトルの各成分の取り得る範囲が一定になっている。その結果、競合学習装置上で用い得る階調が有効に使用でき、さらに、精度の良い競合学習が行える。
【0047】
以上のベクトル規格化装置において、追加成分計算手段の前段に、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換するデータ変換手段を有することができる。
【0048】
これは後記の第4〜5の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換する。続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、追加すべき少なくとも1つのベクトル成分を計算する。もちろん、入力ベクトルあるいは重みベクトルの成分と同数の追加すべき成分を計算してもよい。何れにしても、全てのベクトルに対し、追加後のベクトルのノルムが一定になるようにする。このとき、一定にするノルムはL1−ノルムでもL2−ノルムでもその他のノルムでもよいが、前述したようにL2−ノルムにするとなおよい。
【0049】
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、少なくとも1つあるいはそのベクトルの成分と同数のベクトル成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【0050】
一般に、競合学習で用いる入力ベクトル及び重みベクトルが作成される元の入力情報としては、画像データ、音声データ、流量データ等様々なものがある。したがって、規格化装置に入力するベクトルの成分の取り得る範囲は一定とは限らない。発明が解決しようとする課題の項中でも述べたように、ハードウエア上で制限された階調を十分有効に使用するには、取り得る範囲にばらつきがない方が望ましい。そこで、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限すれば、取り得る範囲のばらつきをなくすことができる。各成分のデータの変換は、例えば次の式(13)のように行えばよい。
【0051】
ただし、nを成分数として、
変換前の入力ベクトルを、
X(j) =(X1 (j) ,X2 (j) ,・・・,Xn (j) )
変換後のベクトルを、
X(j) ’=(X1 (j) ’,X2 (j) ’,・・・,Xn (j) ’)
とし、iはベクトルの成分に付けた番号(i=1〜n)、jはベクトルに付けた番号(j=1〜m)とした。
【0052】
式(13)の場合、変換前の成分の取り得る値にかかわらず、変換後は0から1の間の値を取るようになる。なお、(13)式には除算が含まれているが、その分母が0になることは次の理由で考慮しなくてよい。この分母は各成分毎の最大値と最小値の差であり、両者が一致した場合に0になる。しかし、両者が一致するというのは、全てのベクトルに対し、その成分が一定値になるということである。これは競合学習で用いる入力ベクトルという観点からすると、不必要な成分であるので、最初からベクトルの成分から除くか、適当な一定値に変換するようにすれば全く問題ない。したがって、(13)式の分母が0になることは考慮しなくてよい。一方、ノルムが0のベクトルというのは一般的に十分考えられるベクトルなので、前述したように、ノルムで除算する手段は有しない方がよい。
【0053】
このように、各成分のデータを変換するデータ変換手段を有する場合には、そのデータ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換しているので、競合学習装置上で用いる階調が有効に使用でき、さらに、精度のよい競合学習が行える。
【0054】
また、上記のデータ変換手段が、正弦関数あるいは余弦関数を用いて各成分のデータを変換するものとすることができる。
【0055】
これは後記の第5の実施形態が対応しており、その作用を説明する。まず、ベクトル入力手段で、規格化すべき入力ベクトルあるいは重みベクトルを本発明のベクトル規格化装置に入力する。続いて、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように、各成分のデータを変換する。このとき、正弦関数あるいは余弦関数を用いる。
【0056】
続いて、追加成分計算手段において、入力ベクトルあるいは重みベクトルに対し、追加すべき少なくとも1つのベクトル成分を計算する。もちろん、入力ベクトルあるいは重みベクトルの成分と同数の追加すべき成分を計算してもよい。何れにしても、全てのベクトルに対し、追加後のベクトルのノルムが一定になるようにする。このとき、一定にするノルムはL1−ノルムでもL2−ノルムでもその他のノルムでもよいが、前述したようにL2−ノルムにするとなおよい。
【0057】
続いて、ベクトル成分追加手段において、入力ベクトルあるいは重みベクトルに対し、少なくとも1つあるいはそのベクトルの成分と同数のベクトル成分を追加する。最後に、規格化ベクトル出力手段で、追加されたベクトルを出力する。
【0058】
分かりやすくするため、ベクトル規格化装置に入力されたベクトルとして2次元ベクトルX=(X1 ,X2 )とした場合を考える。
まず、データ変換手段において、X=(X1 ,X2 )を余弦関数を用いて(cosX1 ,cosX2 )と変換する。続いて、(4)式に従い、L2−ノルムが一定になるように、追加前のベクトルと同数の成分(この場合、2個)を追加すると、X’が作成される。ただし、(4)式において、kを1とした。これは、L2−ノルムの値を√2にすることに相当する。
【0059】
前述したように、X’は競合学習装置において用いられ、内積値によってベクトル間の類似度が判断される。その際、ユークリッド空間で考えられるベクトル間の距離の大小関係と、内積空間で考えられるベクトル間の角度の大小関係が一致していることが望ましい。その結果として、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合と同程度の精度で行うことができる。
【0060】
以下に、ユークリッド空間での任意のX同士の距離の大小関係と、内積空間での任意のX’同士の角度の大小関係がどれだけ一致しているかを説明する。
X=(X1 ,X2 )の第1成分と、X’の第1成分と第3成分のペアとの関係を考える。同様に、X=(X1 ,X2 )の第2成分には、X’の第2成分と第4成分のペアが対応する。
【0061】
前者、後者は全く同様の議論ができるので、前者を用いて説明する。すわなち、X1 と(cosX1 ,sinX1 )との関係を調べる。成分Xi の全データをXi (j) (iは成分、jはその成分におけるデータを示す番号)と表す。i=1,j=a,bとして、代表点2点X1 (a) ,X1 (b) を考えると、それぞれ、(cosX1 (a) ,sinX1 (a) ),(cosX1 (b) ,sinX1 (b) )が対応する。X1 (a) ,X1 (b) を黒丸、対応する(cosX1 (a) ,sinX1 (a) ),(cosX1 (b) ,sinX1 (b) )を白丸としてプロットしたのが、図5である。
【0062】
図5を見れば分かるように、原点から黒丸までの長さ同士の関係はX1 (a) :X1 (b) であり、原点から白丸までの線分と横軸とのなす角同士の関係もX1 (a) :X1 (b) であり、両者は一致している。代表点だけでなく、一般に各成分における(例えば、1)任意のスカラーX1 (j) 同士のユークリッド空間での大小関係は、対応するベクトル(cosX1 (j) ,sinX1 (j) )同士の角度の大小関係と一致する。
【0063】
すなわち、Xの各成分iにおいては、ユークリッド空間での大小関係は、対応するベクトル同士の角度の大小関係と一致する。Xi を成分要素として、全てのiについて並べたベクトルXとその対応するペア(cosXi ,sinXi )を成分要素として、全てのiについて並べたベクトルX’の場合は、ユークリッド空間での大小関係と、その対応するベクトル間の角度の大小関係は、完全には一致しないが、各成分同士では成立していることから、近似的には一致していると考えることができる。
したがって、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことが可能になる。
【0064】
また、正弦関数あるいは余弦関数の変換の前に、式(15)のようなデータ変換をすれば、式(16)のように、X’の4つの成分の取り得る範囲を全て同一(この場合は、0から1)にすることも可能である。
【0065】
なお、(16)式では、一般式ということで、ベクトルにつけた番号(j)は省略した。
【0066】
したがって、競合学習装置で制限された階調を十分有効に使用することができる。なお、上記の例では、2次元ベクトルXの成分の変換に余弦関数を用いているが、正弦関数にしてもよい。なお、(15)式には除算が含まれているが、その分母が0になることは次の理由で考慮しなくてよい。この分母は各成分毎の最大値と最小値の差であり、両者が一致した場合に0になる。しかし、両者が一致するというのは、全てのベクトルに対し、その成分が一定値になるということである。これは競合学習で用いる入力ベクトルという観点からすると、不必要な成分であるので、最初からベクトルの成分から除けばよい。したがって、(15)式の分母が0になることは考慮しなくてよい。
【0067】
また、揃えるノルム量は√2だけに限らず、例えば余弦関数あるいは正弦関数の前に適当な定数を乗算したり、kを変化させることにより、任意の値にすることができる。これによって、競合学習装置で用いるためのデータ範囲を調整できる。ただし、前記のように(cosXi ,sinXi )のペアを作り、ユークリッド空間での大小関係とその対応するベクトル間の角度の大小関係とを近似的に一致させたい場合には、kを1にして前者の方法をとるべきである。
上記の例では、変換の際に余弦関数のみを用いたが、正弦関数を用いてもよく、また、両者が混在してもよい。
【0068】
このように、データ変換手段において、入力ベクトルあるいは重みベクトルの各成分の取り得る範囲を制限するように各成分のデータを変換するとき、正弦関数あるいは余弦関数を用いると、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準しとて用いる場合により近い良好な精度で行うことが可能になる。
【0069】
【発明の実施の形態】
以下、図6〜図12を参照にして本発明の好適な実施形態を説明する。
入力ベクトルと重みベクトルの規格化装置については全く同様の構成で達成できるため、説明の重複を避ける観点から、入力ベクトルの規格化装置について説明する。
【0070】
〔第1実施形態〕
本実施形態のベクトル規格化装置を図6のブロック図に示す。本実施形態において、ベクトル入力手段1としては様々なものがある。例えば、競合学習装置で処理すべき対象が画像情報の場合は、画像を入力するCCDと、ベクトル情報を得るために何らかの特徴抽出処理を行ったり、単純に隣接画素同士の信号を並べたりしてベクトルに変換する装置とがあればよい。対象が音声の場合は、マイクロフォン、濃度であれば濃度センサー、流量であれば流量センサー等、基本的には欲しい情報をセンサーにより取得し、そのセンサーで得られた情報を何らかの変換によってベクトルとして系内に取り込めればよい。また、他の機器で捉えた情報(例えば、CT装置やMRI装置等の医療用画像、形状測定装置で捉えた3次元画像等)をイーサネット等を介してベクトルとして入力するとか、特徴抽出してベクトルとして入力するとか、他にも様々なベクトル入力手段が考えられる。
【0071】
ベクトル入力手段1によって入力されたベクトルaは、追加成分計算手段2に送られる。追加成分計算手段2は、例えば、追加成分演算器21、定数k用メモリ23、追加成分用メモリ22から構成され、ベクトルaに追加すべき追加成分を計算する。
【0072】
式(1)の場合を例に取ると、追加成分演算器21で定数k用メモリ23から読み込んだ定数kからベクトルaの成分和を減算し、これを追加成分として追加成分用メモリ22に書き込む。追加成分用メモリ22に書き込まれた追加成分bとベクトルaを用いて、ベクトル成分追加手段3で規格化ベクトルcとしてベクトルを作成する。追加成分bとベクトルaの合成は、例えばコンピューター上でファイルの合成を行えばよい。規格化ベクトルcは、最後に規格化ベクトル出力手段4で出力される。規格化ベクトル出力手段4は、コンピュータ上のファイル出力でもよいし、液晶表示装置やLED等、競合学習装置の入力手段と共用してもよい。
【0073】
このとき、規格化ベクトルcのL1−ノルムは、全ての規格化ベクトルcに対してkという一定値となる。また、追加成分(式(1)の場合は、第3成分)にベクトルaのL1−ノルム(X1 +X2 )が含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0074】
〔第2実施形態〕
本実施形態のベクトル規格化装置を図7のブロック図に示す。本実施形態のベクトル規格化装置は、第1実施形態の変形例であり、追加成分計算手段2以外の構成は同一なので省略してある。
【0075】
本実施形態の追加成分計算手段2は、二乗和演算器210、差分演算器211、平方根演算器212からなる追加成分演算器21と、追加成分用メモリ22と、定数k用メモリ23からなり、作用としては、式(2)の追加成分を計算する。まず、追加成分演算器21の二乗和演算器210で、ベクトルaの成分二乗和を計算し、続いて差分演算器211で定数k用メモリ23から読み込んだ定数kから前記成分二乗和を減算する。平方根演算器212で、その量の平方根をとり、これを追加成分として、追加成分用メモリ22に書き込む。追加成分用メモリ22に書き込まれた追加成分bと、ベクトルaを用いて、ベクトル成分追加手段3で、規格化ベクトルcとしてベクトルを作成する。その他、全て第1実施形態と同じである。
【0076】
規格化ベクトルcのL2−ノルムは、全ての規格化ベクトルcに対して、kという一定値となる。また、追加成分(式(2)の場合は、第3成分)にベクトルaのL2−ノルムである√(X1 2 +X2 2 )が関数として含まれている。
【0077】
したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、規格化ベクトルcのL2−ノルムが等しくなっていることも分かる。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0078】
〔第3実施形態〕
本実施形態のベクトル規格化装置を図8のブロック図に示す。本実施形態のベクトル規格化装置は、第2実施形態の変形例であり、追加成分計算手段2以外の構成は同一なので省略してある。
【0079】
本実施形態の追加成分計算手段2は、例えばベクトルaの成分の数と同数の追加成分演算器21と、1個の追加成分用メモリ22と、1個の定数k用メモリ23とからなり、さらに、各追加成分演算器21は、二乗演算器213、差分演算器211、平方根演算器212からなる。作用としては、式(4)の追加成分を計算する。
【0080】
まず、追加成分演算器21の二乗演算器213で、ベクトルaの1つの成分の二乗値を計算し、続いて差分演算器211で、定数k用メモリ23から読み込んだ定数kから前記二乗値を減算する。平方根演算器212で、その量の平方根をとり、これを1つの追加成分として追加成分用メモリ22に書き込む。このようにして、ベクトルaの成分数と同数個の追加成分演算器21の出力が追加成分用メモリ22に書き込まれる。
【0081】
追加成分用メモリ22に書き込まれた追加成分bと、ベクトルaを用いてベクトル成分追加手段3で、規格化ベクトルcとしてベクトルを作成する。その他、全て第1実施形態と同じである。
【0082】
なお、本実施形態では、ベクトルaの成分と同数の追加成分演算器21を用意したが、これは並列演算をしたい場合であり、もちろん単一の追加成分演算器21によって、逐次演算を行っても構わない。
【0083】
このとき、全ての規格化ベクトルcのL2−ノルムは√(2k)という一定値となる。また、追加成分(式(4)の場合は、第3、4成分)にベクトルaのL2−ノルムを分解したものが含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わないことが分かる((A−1)の条件)。また、規格化ベクトルcのL2−ノルムが等しくなっていることも分かる。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。また、ベクトルaの成分と同数の追加成分bを計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。
【0084】
なお、本実施形態は、作用として式(4)の追加成分を計算するものであるが、追加成分演算器21の二乗演算器213と、平方根演算器212を省略すれば、式(3)の追加成分を計算する実施形態に容易に変形できる。
【0085】
〔第4実施形態〕
本実施形態のベクトル規格化装置を図9のブロック図に示す。本実施形態のベクトル規格化装置は、第1〜3実施形態の変形例であり、追加成分計算手段2の前段に、データ変換手段5を設けてある。データ変換手段5は、例えば、最大最小規格化演算器51からなり、ベクトルaの各成分の最大値と最小値を用いて、式(13)のようにベクトルaの各成分を変換する。この変換により、各成分の取り得る範囲のばらつきをなくすことができる。したがって、競合学習装置上で用いる階調が有効に使用でき、精度の良い競合学習が行える。
【0086】
なお、各成分の取り得る範囲のばらつきをなくすには、式(13)以外にも多数考えられ、例えば、最大値、最小値のみを制限してもよいし、さらに、制限値は0〜1の範囲だけでなく、−1〜1の範囲としてもよい。また、各成分の平均値を用いて制限してもよい。
【0087】
〔第5実施形態〕
本実施形態のベクトル規格化装置を図10のブロック図に示す。本実施形態のベクトル規格化装置は、第3、4実施形態の変形例であり、追加成分計算手段2の前段に、最大値最小値規格化演算器51と余弦関数演算器52からなるデータ変換手段5を設けてある。変形された部分を中心に以下に説明する。
【0088】
まず、データ変換手段5内の最大値最小値規格化演算器51では、ベクトルaの各成分の最大値と最小値を用いて、式(15)のように、ベクトルaの各成分を変換する。続いて、余弦関数演算器52で、式(16)の第1、第2成分のように余弦関数を施す。データ変換手段5によって変換されたベクトルa’は、追加成分計算手段2に送られる。追加成分計算手段2は、例えば、ベクトルaの成分の数と同数の追加成分演算器21と、1個の追加成分用メモリ22と、1個の定数k用メモリ23とからなり、さらに、追加成分演算器21は、二乗演算器213、差分演算器211、平方根演算器212からなる。作用としては、式(4)の追加成分を計算する。まず、追加成分演算器21の二乗演算器213で、ベクトルa’の1つの成分の二乗値を計算し、続いて差分演算器211で、定数k用メモリ23から読み込んだ定数kから前記二乗値を減算する。平方根演算器212で、その量の平方根をとり、これを1つの追加成分として追加成分用メモリ22に書き込む。このようにして、ベクトルaの成分数と同数個の追加成分演算器21の出力が追加成分用メモリ22に書き込まれる。
【0089】
その結果、式(4)の作用によって式(16)の第3、第4の成分のような追加成分が作成されることになる。ただし、式(4)でk=1と置いた。その後、追加成分用メモリ22に書き込まれた追加成分bと、ベクトルa’を用いて、ベクトル成分追加手段3で、規格化ベクトルcとしてベクトルを作成する。
【0090】
なお、本実施例では、ベクトルaの成分の数と同数の追加成分演算器21を用意したが、これは並列演算をしたい場合であり、もちろん単一の追加成分演算器21によって、逐次演算を行っても構わない。また、データ変換手段5内に余弦関数演算器52を設けたが、その代わりに正弦関数演算器を設けても、式(16)の正弦関数と余弦関数が入れ替わるだけで、全く問題はない。
【0091】
本実施形態のベクトル規格化装置では、全ての規格化ベクトルcのL2−ノルムは√2(k=1の場合)という一定値となる。また、追加成分(式(4)の場合は、第3、4成分)にベクトルaのL2−ノルムを分解したものが含まれている。したがって、規格化を行っても、元のベクトルのノルムの情報を失わない((A−1)の条件)。また、規格化ベクトルcのL2−ノルムが等しくなっている。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。また、ベクトルaの成分と同数の追加成分bを計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。また、前述したように、式(16)で示されるベクトルを作成していることから、距離基準として内積演算を用いる競合学習を、ユークリッド距離を距離基準として用いる場合により近い良好な精度で行うことが可能となる。
【0092】
また、本実施形態は、作用として、式(4)の追加成分を計算するものであるが、追加成分演算器21の二乗演算器213と平方根演算器212を省略すれば、式(3)の追加成分を計算する実施形態にも容易に変形できる。
【0093】
〔第6実施形態〕
本実施形態のベクトル規格化装置を図11、図12に示す。本実施形態のベクトル規格化装置は、第3実施形態を競合学習装置に組み込んだ例である。
図11に模式的に構成を示すように、競合学習装置は、大きく3つに分かれており、それぞれ、入力ベクトルを出力する素子Aと、重みベクトル群を出力する素子Bと、両者の内積演算値を検出するディテクターに相当する素子Cである。素子Aと素子Bに対してそれぞれベクトル規格化装置が組み込まれている。
【0094】
まず、図12のブロック図を用いて、ベクトル規格化装置について説明する。取り扱う対象が例えば医用画像であり、競合学習装置により医用画像中の病変部抽出を行うことを考える。
【0095】
まず、ベクトル入力手段1で、CCD、フィルムスキャナー等を用いて画像を取り込み、そこから例えばコンピュータ内に準備した特徴抽出アルゴリズムを用いてn×n次元のベクトルを作成する。このベクトルを、例えば取り込んだ画像中の画素数個作成する。このベクトルはいわゆる特徴ベクトルと言われているもので、本実施形態では、病変部内から抽出された場合と病変部外から抽出された場合とで、その性質(例えば、平均や分散)が異なるように作成される。続いて、追加成分計算手段2で、それぞれの入力ベクトル(この場合、特徴ベクトル)に対し、追加成分を計算し、ベクトル成分追加手段3で、規格化ベクトルを作成する。この場合、追加成分の次元は入力ベクトルの次元と同数個(n×n)にした。したがって、ベクトル成分追加手段3で作成されるベクトルの次元は2×n×nとなる。
【0096】
最後に、規格化ベクトル出力手段4で、このベクトルを出力している。ここで、規格化ベクトル出力手段4は、図11の素子A及び素子Bに対応している。なお、規格化ベクトル出力手段4以外は、簡単にはパーソナルコンピュータ(図11では、PCと略した。)を用いれば構成できる。もちろん、専用のプロセッサを利用してもよい。
【0097】
本規格化装置よって作成された全てのベクトルは、そのノルムが一定になっており、また、追加成分に元のベクトルのノルムの情報が入っている((A−1)の条件)。また、元のベクトルの成分と同数の追加成分を計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定である。また、明らかにノルムで成分を除算する手段を必要としない((A−2)の条件)。
【0098】
続いて、図11を用いて、規格化装置を組み込んだ競合学習装置を説明する。素子Aは、上記の規格化装置によって次元を同数追加された2×n×n次元の入力ベクトルを出力する。素子Aとしては、LED等を2×n×nの格子状に配列したものを用いればよい。
【0099】
素子Bは、M×M個の重みベクトルを出力する。素子Bとしては、書き換えが可能な場合として、2×n×nの画素をM×M個配列した液晶表示素子、不可能な場合として、固定マスク等が考えられる。なお、各重みベクトルは、入力ベクトルに対応して2×n×n次元となっていることに注意する。入力ベクトルを示すLED等で表示された光信号は、例えば素子Aと素子Bの間に配置された図示していない多重結像光学系を通して、素子B上に重ね合わされる。ただし、多重結像光学系は、素子A上の入力ベクトル像をM×M個複製する作用を持つこととする。
【0100】
入力ベクトルを示す光信号は、重みベクトルを示す素子Bの固定マスクあるいは液晶表示素子により強度変調される。この強度変調は、丁度ベクトル内積演算中の成分同士の掛算に相当している。変調された信号は、例えば素子Bと素子Cの間に配置された図示していない光学系を通して素子C(フォトディテクター)に集光される。この演算は、内積演算中の成分同士の掛算値の和演算に相当する。したがって、入力ベクトルと各重みベクトルとを内積演算した結果は、素子Cで各重みベクトルの数に対応してM×M個のスカラー量を検出することになる。
【0101】
この後で、例えばコンピュータや最大値検出回路等を用いて、M×M個の内積値の中から最大の内積値を選び、その内積値を出力したことに相当する重みベクトルを選択する。内積値を最大にする重みベクトルは、入力ベクトルに最も近かった重みベクトルである。重みベクトルに予めクラスを割り当てておけば、入力ベクトルに対し、内積値を最大にする重みベクトルのクラスを出力することによってクラス分類器とすることができる。
【0102】
本実施形態は、医用画像を対象にしているので、例えば次のように行えばよい。予めクラスの分かっている学習用の入力ベクトルから重みベクトル群を作成する。各重みベクトルに病変部か否かのクラスを割り当てる。クラスの分かっていない画素に対し、クラス割り当てを行う。画像中の全画素に対しクラス割り当てを行い、その画像から病変部を抽出する。
【0103】
予めの学習は、本競合学習装置上で、一般的によく知られているニューラルネットワークアルゴリズム等を用いて行ってもよいし、コンピュータ上で学習を行ってから、最後にその結果を素子Bに表示してもよい。なお、クラス分類器は、取り扱う対象が画像の場合、衛星写真の領域分割等、また、取り扱う対象が音声の場合、話者認識等に使用できる。
【0104】
前記したように、本規格化装置で作成された全てのベクトルは、そのノルムが一定になっており、また、追加成分に元のベクトルのノルムの情報が入っている。また、元のベクトルの成分と同数の追加成分を計算しているので、規格化後のベクトルの各成分の取り得る範囲が略一定であるため、本競合学習装置上で使用し得る階調を十分活用できる。
【0105】
したがって、そのベクトルを入力ベクトルあるいは重みベクトルとして本競合学習装置上で用いれば、精度の良い有効な競合学習ができる。
【0106】
なお、本実施形態は、作用として入力されたベクトルの成分数と同数の成分を追加しているものであるが、もちろん少なくとも1つの成分を追加するようにしてもよい。そのとき、図11、図12において、成分を追加される前の入力ベクトルあるいは重みベクトルに対し、追加された数だけ成分数を増やすように装置を構成すればよい。
【0107】
以上の本発明のベクトル規格化装置は、例えば次のように構成することができる。
〔1〕 ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
【0108】
〔2〕 前記ノルムは、ベクトルの成分の和であることを特徴とする上記〔1〕記載のベクトル規格化装置。
【0109】
〔3〕 前記追加成分計算手段は、所定の定数を格納するためのメモリと、前記メモリに格納された前記所定の定数を読み出し、前記所定の定数から前記入力ベクトルの成分の和を減算する演算手段と、前記演算手段からの出力を格納するメモリとを有することを特徴とする上記〔2〕記載のベクトル規格化装置。
【0110】
〔4〕 前記ノルムは、ベクトルの成分の二乗和であることを特徴とする上記〔1〕記載のベクトル規格化装置。
【0111】
〔5〕 前記追加成分計算手段は、前記ベクトル入力手段からの入力ベクトルの各成分の二乗和を計算する二乗和計算手段と、所定の定数を格納するためのメモリと、前記メモリに格納された前記所定の定数を読み出し、前記所定の定数から前記二乗和計算手段の出力を減算する差分計算手段と、前記差分計算手段からの出力を受けて平方根を求める平方根計算手段と、前記平方根計算手段からの出力を格納するメモリとを有することを特徴とする上記〔4〕記載のベクトル規格化装置。
【0112】
〔6〕 前記追加成分計算手段は、前記入力ベクトルの各成分に対応する追加成分計算器と所定の定数を格納するためのメモリとを有し、前記追加成分計算器は、それぞれ前記入力ベクトルの成分の二乗を求める二乗演算器と、前記所定の定数を格納するためのメモリから前記所定の定数を読み出し、前記所定の定数から前記二乗演算器の出力を減算するための差分演算器と、前記差分演算器の出力の平方根を求める平方根演算器とを有することを特徴とする上記〔4〕記載のベクトル規格化装置。
【0113】
〔7〕 前記ベクトル入力手段からの入力ベクトルを受けて、該入力ベクトルの各成分の取り得る値の範囲を制限するべく、前記各成分に変換を施す変換手段をさらに有することを特徴とする上記〔1〕から〔6〕の何れか1項記載のベクトル規格化装置。
【0114】
〔8〕 前記変換手段は、前記入力ベクトルの各成分について、入力ベクトルの成分から全ての入力ベクトルの中当該成分の最小値を減算した値を、全ての入力ベクトルの当該成分の最大値から最小値を減算した値で除算することを特徴とする上記〔7〕記載のベクトル規格化装置。
【0115】
〔9〕 前記変換手段は、前記入力ベクトルの各成分について、正弦関数による変換を施すことを特徴とする上記〔7〕記載のベクトル規格化装置。
【0116】
〔10〕 前記変換手段は、前記入力ベクトルの各成分について、余弦関数による変換を施すことを特徴とする上記〔7〕記載のベクトル規格化装置。
【0117】
〔11〕 前記追加成分計算手段からの出力の取り得る値の範囲が、前記入力ベクトルの各成分の取り得る値の範囲と同一であることを特徴とする上記〔1〕から〔10〕の何れか1項記載のベクトル規格化装置。
【0118】
〔12〕 前記追加成分計算手段によって求められる追加成分の数が、前記入力ベクトルの成分の数と同一であることを特徴とする上記〔1〕から〔11〕の何れか1項記載のベクトル規格化装置。
【0119】
〔13〕 ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段と、前記ベクトル成分追加手段からの出力を競合学習装置の入力ベクトルとして出力する出力手段とを有することを特徴とするベクトル規格化装置。
【0120】
〔14〕 ベクトル規格化装置において、競合学習装置において処理するための処理対象の信号をベクトルとして入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
【0121】
【発明の効果】
以上述べたように、本発明によると、(A−1)、(A−2)の条件を満たし、規格化を行っても元のベクトルのノルムの情報を失わず、また、ノルムで成分を除算する手段を必要としないベクトル規格化装置を提供することができる。
【図面の簡単な説明】
【図1】規格化しない場合の内積演算による勝利ベクトルの決定過程を示す図である。
【図2】図1の場合にL2−ノルムで規格化した場合の勝利ベクトルの決定過程を示す図である。
【図3】従来の光学系を用いた競合学習装置におけるL1−ノルムによる規格化を説明するための図である。
【図4】L1−ノルムで規格化した場合の勝利ベクトルの決定過程を示す図である。
【図5】ユークリッド空間でのベクトルの距離の大小関係と内積空間でのベクトルの角度の大小関係が一致していることを説明するための図である。
【図6】本発明の第1実施形態のベクトル規格化装置のブロック図である。
【図7】本発明の第2実施形態のベクトル規格化装置の要部のブロック図である。
【図8】本発明の第3実施形態のベクトル規格化装置の要部のブロック図である。
【図9】本発明の第4実施形態のベクトル規格化装置の要部のブロック図である。
【図10】本発明の第5実施形態のベクトル規格化装置の要部のブロック図である。
【図11】本発明の第6実施形態のベクトル規格化装置を用いた競合学習装置の構成を模式的に示す図である。
【図12】本発明の第6実施形態のベクトル規格化装置のブロック図である。
【符号の説明】
1…ベクトル入力手段
2…追加成分計算手段
3…ベクトル成分追加手段
4…規格化ベクトル出力手段
5…データ変換手段
21…追加成分演算器
22…追加成分用メモリ
23…定数k用メモリ
51…最大最小規格化演算器
52…余弦関数演算器
210…二乗和演算器
211…差分演算器
212…平方根演算器
213…二乗演算器
PC…パーソナルコンピュータ
Claims (3)
- ベクトル規格化装置において、ベクトルを入力するためのベクトル入力手段と、前記ベクトル入力手段から入力ベクトルを受けて、成分追加後のベクトルのノルムが一定となる追加成分を計算するための追加成分計算手段と、前記追加成分計算手段からの出力を前記入力ベクトルの成分として追加するためのベクトル成分追加手段とを有することを特徴とするベクトル規格化装置。
- 前記ベクトル入力手段からの入力ベクトルを受けて、該入力ベクトルの各成分の取り得る値の範囲を制限するべく、前記各成分に変換を施す変換手段をさらに有することを特徴とする請求項1記載のベクトル規格化装置。
- 前記追加成分計算手段からの出力の取り得る値の範囲が、前記入力ベクトルの各成分の取り得る値の範囲と同一であることを特徴とする請求項1又は2記載のベクトル規格化装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24509397A JP3824397B2 (ja) | 1997-09-10 | 1997-09-10 | ベクトル規格化装置 |
US09/150,008 US6219682B1 (en) | 1997-09-10 | 1998-09-09 | Vector normalizing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24509397A JP3824397B2 (ja) | 1997-09-10 | 1997-09-10 | ベクトル規格化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1185300A JPH1185300A (ja) | 1999-03-30 |
JP3824397B2 true JP3824397B2 (ja) | 2006-09-20 |
Family
ID=17128508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24509397A Expired - Fee Related JP3824397B2 (ja) | 1997-09-10 | 1997-09-10 | ベクトル規格化装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6219682B1 (ja) |
JP (1) | JP3824397B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938060B2 (en) * | 2001-12-27 | 2005-08-30 | Texas Instruments Incorporated | Apparatus and method for graphically displaying a vector simultaneously along with the numerical values of its vector components |
US9443141B2 (en) * | 2008-06-02 | 2016-09-13 | New York University | Method, system, and computer-accessible medium for classification of at least one ICTAL state |
JP6413743B2 (ja) | 2014-12-16 | 2018-10-31 | 富士通株式会社 | 暗号処理装置、暗号処理方法、及び暗号処理プログラム |
US20210200775A1 (en) * | 2017-03-16 | 2021-07-01 | Hewlett-Packard Development Company, L.P. | Normalizing resource usage data |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07113943B2 (ja) * | 1990-04-16 | 1995-12-06 | シャープ株式会社 | ニューラルネットワークの学習方法 |
DE69129284T2 (de) * | 1990-08-03 | 1998-08-27 | Canon Kk | Gerät und Verfahren zur Bildverarbeitung |
JPH09230954A (ja) * | 1996-02-28 | 1997-09-05 | Olympus Optical Co Ltd | ベクトル規格化装置 |
US5764549A (en) * | 1996-04-29 | 1998-06-09 | International Business Machines Corporation | Fast floating point result alignment apparatus |
-
1997
- 1997-09-10 JP JP24509397A patent/JP3824397B2/ja not_active Expired - Fee Related
-
1998
- 1998-09-09 US US09/150,008 patent/US6219682B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1185300A (ja) | 1999-03-30 |
US6219682B1 (en) | 2001-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558851B2 (en) | Image processing apparatus and method of generating face image | |
US8077932B2 (en) | Face recognition apparatus, face recognition method, gabor filter application apparatus, and computer program | |
US9070041B2 (en) | Image processing apparatus and image processing method with calculation of variance for composited partial features | |
CN110659582A (zh) | 图像转换模型训练方法、异质人脸识别方法、装置及设备 | |
KR101548928B1 (ko) | 불변적인 시각적 장면 및 객체 인식 | |
CN107016319B (zh) | 一种特征点定位方法和装置 | |
WO2023030373A1 (zh) | 组织腔体的定位方法、装置、可读介质和电子设备 | |
CN111814821A (zh) | 深度学习模型的建立方法、样本处理方法及装置 | |
CN112907569A (zh) | 头部图像区域的分割方法、装置、电子设备和存储介质 | |
CN116434266A (zh) | 一种医疗检验单的数据信息自动提取分析方法 | |
JP2020135465A (ja) | 学習装置、学習方法、プログラムおよび認識装置 | |
CN112926508A (zh) | 活体检测模型的训练方法和装置 | |
JP3824397B2 (ja) | ベクトル規格化装置 | |
CN114708493A (zh) | 一种中医裂纹舌诊便携设备及使用方法 | |
JPWO2020194378A1 (ja) | 画像処理システム、画像処理装置、画像処理方法、及び画像処理プログラム | |
WO2018189962A1 (ja) | 物体認識装置、物体認識システム、及び物体認識方法 | |
US20230326251A1 (en) | Work estimation device, work estimation method, and non-transitory computer readable medium | |
JP2015041293A (ja) | 画像認識装置および画像認識方法 | |
Silva et al. | POEM-based facial expression recognition, a new approach | |
CN111798376A (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN111899239A (zh) | 图像处理方法和装置 | |
JP2014199519A (ja) | 物体識別装置、物体識別方法及びプログラム | |
JP2022083513A (ja) | オブジェクト検出装置、オブジェクト検出システム及びオブジェクト検出方法 | |
CN113222872A (zh) | 图像处理方法、装置、电子设备及介质 | |
CN112991266A (zh) | 用于小样本医疗影像的语义分割方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040723 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060627 |
|
LAPS | Cancellation because of no payment of annual fees |