(57)【特許請求の範囲】
【請求項１】
入力ベクトルを重みベクトル群の各ベクトルと内積をとることによって重みベクトル群の何れかのベクトルへ対応させる情報処理装置において、内積をとる前に入力ベクトルのノルムに関する情報を抽出して該入力ベクトルの成分に付加するノルム抽出・付加手段を有することを特徴とする情報処理装置。
【請求項２】
前記の内積をとる前に前記のノルムに関する情報を付加した入力ベクトルを正規化する入力ベクトル正規化手段を有する請求項１記載の情報処理装置。
【請求項３】
前記の内積をとる前に前記重みベクトル群の各ベクトルを正規化する重みベクトル群正規化手段を有する請求項１記載の情報処理装置。
【請求項４】
前記の正規化を電気信号により行うようにした請求項２又は３記載の情報処理装置。
【請求項５】
前記の正規化を光学的に行うようにした請求項２又は３記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、情報処理装置に関し、特に、内積演算を用いてある距離基準を満たす処理素子を決定し、その勝利素子及びその勝利素子によって決められる素子に対し、何らかの操作を施すことによって、位相保存写像やパターン認識のための競合学習を行う情報処理装置に関する。
【０００２】
【従来の技術】
ある距離基準を満たす勝利素子を決定し、その勝利素子及びその勝利素子によって決められる素子に対し、何からの操作を施すことによって、位相保存写像やパターン認識を行う競合学習アルゴリズムがよく知られている（Ｔ．Ｋｏｈｏｎｅｎ，”Ｓｅｌｆ−Ｏｒｇａｎｉｚａｔｉｏｎ  ａｎｄ  Ａｓｓｏｃｉａｔｉｖｅ  Ｍｅｍｏｒｙ，Ｔｈｉｒｄ  Ｅｄｉｔｉｏｎ，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，Ｂｅｒｌｉｎ，１９８９．）。
【０００３】
これらのアルゴリズムは、何れも、ユークリッド距離、マンハッタン距離、内積等の距離基準を用い、ある入力に対し、その基準を満たす勝利素子を選ぶ競合過程を有している。通常のコンピュータ上でプログラムを作成しアルゴリズムを実行する場合、何れの距離基準も容易に用いることができる。そこで、距離基準として一般に性能が良いと報告されているユークリッド距離がよく用いられている。
【０００４】
ところが、ハードウエア上でユークリッド距離計算を行う場合は、差分回路、二乗回路、総和回路を必要とし、実現が困難になっている。そこで、内積の距離基準を用いることが多い。特に光学を用いて実現する際、内積演算は光の並列性から最も実現しやすい。光学を用いた内積演算を有する競合学習を行う情報処理装置がいくつか報告されている（Ｔａｉｗｅｉ  ｅｔ  ａｌ．，”Ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  ｏｐｔｉｃａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｆｏｒ  ｕｎｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ”，Ｏｐｔ．Ｅｎｇ．，ＶＯＬ．２９，Ｎｏ．９，１９９０．；Ｊ．Ｄｕｖｉｌｌｉｅｒ  ｅｔ  ａｌ．，”Ａｌｌ−ｏｐｔｉｃａｌ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ａ  ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  ｍａｐ”，Ａｐｐｌ．Ｏｐｔ．Ｖｏｌ．３３，Ｎｏ．２，１９９４．  ）。
【０００５】
【発明が解決しようとする課題】
内積演算を用いて勝利素子を選ぶ競合を行う場合、データを規格化する必要がある。このことを図１を用いて説明する。入力データを２次元ベクトルＸ、競合の候補である素子群のもつ重みベクトルを２次元ベクトルｍｉ  （ｉは素子番号を示す。）とする。図１に示すように、２次元ベクトルＸが入力され、その候補の重みベクトルとしてｍ１  、ｍ２  があったとする。ユークリッド距離を用いる場合、ベクトル間の距離が最も近いものが勝利素子となるので、ｄ１  ＜ｄ２  より、ｍ１  が勝利素子となる。一方、内積演算を用いる場合、内積値の最も大きいものが入力ベクトルに最も類似していることに相当し、勝利素子となる。内積値は、図１において、ｍｉ  のＸへの正射影Ｄｉ  とＸのノルムの積で表される。したがって、Ｄｉ  の大小を比較すれば、内積の大小を比較でき、この場合、ｍ２  が勝利素子となる。競合学習では、入力データと重みベクトル間のユークリッド距離及びそれに準ずるマンハッタン距離等における類似度を比較し、最も似ている重みベクトルを持つ素子を選ぶ。ところが、上記のように内積演算を用いると、ノルムの大きい重みベクトルが、ユークリッド距離は離れていても、内積値が大きくなり、勝者になりやすくなる。つまり、内積演算における類似度は、ユークリッド距離の大小ではなく、ベクトルのノルムに依存してしまう。よって有効な競合学習ができない。
【０００６】
そこで、内積演算によって有効な競合学習を行わせるには、入力データ及び重みデータは規格化していなければならない。このとき、図２のように、ｄ１  ＜ｄ２  、Ｄ１  ＞Ｄ２  となり、ユークリッド距離を用いても、内積演算を用いても、ｍ１  が勝利素子となる。したがって、内積演算を用いても有効な競合学習を行うことができる。
【０００７】
ところが、上記のような規格化を行うことにより、入力データのノルム情報が失われることになる。つまり、例えば図３に示すような２次元ベクトルデータの一様分布があったとき、規格化を行うと、図４のような単位半径の曲線上の点が入力となる。つまり、原点Ｏとデータ点を結ぶ方向上の点は全て曲線上の一点になり、入力データのノルム情報は失われ、方向情報のみが残ることになる。ベクトルデータの方向のみの競合学習の場合は、データのノルム情報は失われてもよいが、ベクトルのノルムも考慮する競合学習では、ノルム情報を失うことはできない。
【０００８】
以上の課題を整理すると、本発明の情報処理装置に求められる条件は、以下の通りである。
Ａ−１）距離基準として、ハードウエア化に適した内積演算を用いる競合学習を行う。
Ａ−２）入力データのノルム情報を失わない競合学習ができる。
【０００９】
本発明は上記のような状況に鑑みてなされたものであり、その目的は、上記Ａ−１）、Ａ−２）の条件を満たし、距離基準としてハードウエア化に適した内積演算を用いて競合学習を行い、入力データのノルム情報を失わない競合学習が可能な情報処理装置を提供することである。
【００１０】
【課題を解決するための手段】
上記目的を達成する本発明の情報処理装置は、入力ベクトルを重みベクトル群の各ベクトルと内積をとることによって重みベクトル群の何れかのベクトルへ対応させる情報処理装置において、内積をとる前に入力ベクトルのノルムに関する情報を抽出して該入力ベクトルの成分に付加するノルム抽出・付加手段を有することを特徴とするものである。
【００１１】
この場合、上記の内積をとる前に前記のノルムに関する情報を付加した入力ベクトルを正規化する入力ベクトル正規化手段を有することが望ましい。また、上記の内積をとる前に重みベクトル群の各ベクトルを正規化する重みベクトル群正規化手段を有することが望ましい。これらの正規化は、電気信号により行うようにしても、また、光学的に行うようにしてもよい。
【００１２】
【作用】
以下、上記のような構成を採用する理由と作用について説明する。
距離基準として内積演算を用いて（Ａ−１））、入力データのノルム情報を失わない競合学習ができる（Ａ−２））ためには、どのようなアルゴリズムにすればよいかを、理論的に図５から図１１を用いて説明する。
【００１３】
前述のように、内積演算を用いて類似度を判別する場合、データを規格化する必要がある。このとき、ベクトルをそのノルムで割り、単位ベクトルとするため、従来は、元のノルム情報が失われてしまっていた。元のノルム情報を失わないために、本発明においては、入力ベクトルの１つの成分に、ノルムを示す成分を加えることを考える。例えば、入力データを２次元ベクトルＸ＝（ｘ，ｙ）とする。ノルムはＤ＝（ｘ２  ＋ｙ２  ）１／２  である。これを規格化すると、Ｘ／｜Ｘ｜＝（ｘ／Ｄ，ｙ／Ｄ）となる。これが、従来、内積演算を用いて類似度を判別するとき用いていた入力ベクトルである。このベクトルにノルムを示す成分を加えて、Ｘ’＝（ｘ／Ｄ，ｙ／Ｄ，ｆ（Ｄ））を作成する。次に、Ｘ’を規格化して、Ｘ”＝Ｘ’／｜Ｘ’｜を作成し、これをＸの代わりに入力データとする。
【００１４】
すなわち、
Ｘ＝（ｘ，ｙ）、Ｄ＝（ｘ２  ＋ｙ２  ）１／２                  ・・・（１）
Ｘ’＝（ｘ／Ｄ，ｙ／Ｄ，ｆ（Ｄ））                    ・・・（２）
Ｘ”＝Ｘ’／｜Ｘ’｜                                  ・・・（３）
Ｘ”は規格化してあるので、内積演算を用いて類似度の判別をすることができる。かつ、Ｘ”のベクトル成分にノルムの情報Ｄが含まれているので、規格化しても、入力ベクトルの方向情報だけでなく、ノルムの情報も残ることになる。したがって、Ｘ＝（ｘ，ｙ）の代わりにＸ”を入力データとすれば、距離基準として内積演算を用いても、入力データのノルム情報を失われない競合学習が可能である。
【００１５】
入力データの２次元ベクトルと、そのベクトルにノルムを示す成分を加えた３次元ベクトルとの対応関係を様々なｆ（Ｄ）について調べる。まず、簡単に考えられる場合として、ａ）ｆ（Ｄ）＝Ｄ，ｂ）ｆ（Ｄ）＝１／Ｄを選び、図５に示す２次元平面上のＸの各点Ａ１  、Ｂ１  、Ａ２  、Ｂ２  がどのような３次元空間上のＸ”の各点に変換されるかを示したのが、それぞれ図６、図７である。図６、図７の何れの場合も１対１の対応関係はできており、また、点Ａ１  、Ｂ１  、Ａ２  、Ｂ２  の順が崩れる捩じれのようなことはない。ただし、入力データの位相をより良く保存しているのは、ｂ）の場合である。この理由を以下に述べる。
【００１６】
図５に示す２次元平面上で、Ａ１  とＢ１  の距離、Ａ２  とＢ２  の距離を比較すると、Ａ１  とＢ１  の方がより近い。これを変換した各点を３次元空間上で比べると、図６では、Ａ１  とＢ１  に対応する点Ａ１  ”、Ｂ１  ”が、Ａ２  とＢ２  に対応する点Ａ２  ”、Ｂ２  ”よりも近くなっているが、図７では、その逆になっている。したがって、図７では、２次元平面上の相対的な遠近関係も反映でき、入力データの位相をより良く保存しているのである。
【００１７】
入力データの位相をより良く保存しているかの優劣をさらに明確にするために、実験例を示す。競合学習の例として、自己組織化特徴マップ（Ｔ．Ｋｏｈｏｎｅｎ，”Ｓｅｌｆ−Ｏｒｇａｎｉｚａｔｉｏｎ  ａｎｄ  Ａｓｓｏｃｉａｔｉｖｅ  Ｍｅｍｏｒｙ，Ｔｈｉｒｄ  Ｅｄｉｔｉｏｎ，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，Ｂｅｒｌｉｎ，１９８９．，  以下、ＳＯＭと呼ぶ。）を用いて位相保存写像を行った。以下、ＳＯＭについて簡単に説明する。
【００１８】
ＳＯＭは、図８に示すように、２次元に並ぶ素子群の層（以下、マップ層ＭＬと表記する。）とデータを入力する入力層ＩＰから構成される。このマップ層ＭＬは、図８では２次元に並ぶ素子を示したが、１次元に並ぶ素子を用いてもよい。入力層ＩＰはマップ層ＭＬの全ての素子と結合しており、入力データをマップ層ＭＬの全ての素子に与えることができる。入力データは、スカラーでもベクトルでもよいが、ここでは、一般的にベクトルＸ（ｎ次元）と置く。マップ層ＭＬの素子ｉ（ｉはマップ上の順番とし、全素子数をｋ個とする。）は全て重みベクトルｍｉ  （ｎ次元）を持つことにする。ＳＯＭのアルゴリズムは、入力ベクトルＸと各素子の重みベクトルｍｉ  との類似性から、更新すべき重みベクトルを決定する＜類似性マッチング＞と、その重みベクトルｍｉ  を入力ベクトルＸの方に近付ける＜更新＞とに分けられる。そして、両者の作用を繰り返すことにより、入力ベクトルＸの分布を反映する重みベクトルｍｉ  （１≦ｉ≦ｋ）が生成する。上記＜類似性マッチング＞と＜更新＞の具体的な表式を以下に示す。
【００１９】
＜類似性マッチング＞
0003583484.tif 000002
＜更新＞
0003583484.tif 000003
ここで、｜Ｘ−ｍｉ  ｜はＸとｍｉ  のユークリッド距離、Ｃはその距離が最も小さかった素子（勝利素子）、Ｎｃ  はその勝利素子Ｃのマップ層ＭＬでの近傍、α（ｔ）は正の定数、ｔは時刻を示す。更新を繰り返しながら、Ｎｃ  とα（ｔ）の大きさは徐々に小さくする。また、α（ｔ）は勝利素子Ｃから離れるに従い、小さくなるように選ぶこともできる。
【００２０】
以上のアルゴリズムでは、＜類似性マッチング＞でユークリッド距離を用いているので、Ｘもｍｉ  も規格化する必要がない。本発明のように、＜類似性マッチング＞で内積演算を用いる場合、ＳＯＭアルゴリズムの＜類似性マッチング＞と＜更新＞の具体的な表式は次のようになる。
【００２１】
＜類似性マッチング＞
0003583484.tif 000004
＜更新＞
0003583484.tif 000005
ここで、Ｘは規格化してあるとする。ｍｉ  も更新後に規格化してある。
【００２２】
入力ベクトルＸの集合からランダムにＸを選んで逐次入力し、重みベクトルｍｉ  の更新を繰り返すことにより、入力ベクトルＸの分布を反映する重みベクトルｍｉ  （１≦ｉ≦ｋ）が生成する。すなわち、重みベクトルｍｉ  （１≦ｉ≦ｋ）が入力ベクトルの分布のプロトタイプになっている。そして、ある素子の重みベクトルを入力ベクトルに近付けるように更新するとき、マップ上のその素子の近傍の素子も同様に更新するので、マップ上で隣接する素子同志は、それぞれ入力ベクトルの空間上でも近いベクトルに対応するようになる。したがって、ＳＯＭアルゴリズムは、入力データ空間の位相を反映したプロトタイプの集合を作成することができる。ＳＯＭアルゴリズムには、次のような特長がある。
【００２３】
Ｂ−１）重みベクトルｍｉ  （１≦ｉ≦ｋ）の初期状態によらずに、適正なマップが作成できる。
Ｂ−２）入力ベクトルＸの入力順によらずに、適正なマップが作成できる。
【００２４】
Ｂ−３）マップが１次元か２次元であるので、入力データの位相を視覚的に見ることができる。
Ｂ−４）＜類似性マッチング＞と＜更新＞と言う単純な操作の繰り返しなので、アルゴリズムが簡単である。
【００２５】
以上、ＳＯＭについて説明した。このＳＯＭにおいて、前記のｆ（Ｄ）の取り方を変えてＸ”を用いた内積演算を行う。そして、ｆ（Ｄ）の取り方による入力データの位相保存状況の優劣を比較する。
【００２６】
ＳＯＭにおいて、素子は１０×１０個の２次元格子状の配列、入力データは、正方形内に一様に分布する２次元ベクトル群Ｘ＝（ｘ，ｙ），｛０≦ｘ≦１，０≦ｙ≦１｝とする。入力データの位相をより良く保存しているかどうかは、正方形内の２次元ベクトル群Ｘ＝（ｘ，ｙ）を、そのデータが対応する素子毎に区別して表示し、各領域の形を調べることによって行う。なお、データが対応する素子毎に区別しやすいように、２次元格子状で隣接する素子を白と黒に分けて表示してある。
【００２７】
通常、ＳＯＭでは、Ｘ＝（ｘ，ｙ）をそのまま入力し、競合学習の距離基準としてユークリッド距離を用いる。その場合の結果を図９（ａ）、（ｂ）に示す。図９（ｂ）は、各素子の重みベクトルを隣接する素子同志結んだ図、図９（ａ）は、その素子が対応する領域を示す図（以後は、領域図と呼ぶ。）である。正方形内の２次元ベクトル群Ｘを２次元格子状に分けているので、このように各領域は小正方形格子が規則正しく並んだ構造を持つ。Ｘ＝（ｘ，ｙ）をそのまま入力し、競合学習の距離基準としてユークリッド距離を用いれば、最も良く入力データの位相を保存できる。この結果を標準結果と呼ぶことにする。Ｘ”を入力して、内積演算で競合学習を行う場合は、この標準結果に近い程、入力データの位相をより良く保存していると言えることになる。
【００２８】
そこで、前記したａ）ｆ（Ｄ）＝Ｄ，ｂ）ｆ（Ｄ）＝１／Ｄの場合につき、内積演算のＳＯＭを行った。その領域図をそれぞれ図１０（ａ）、（ｂ）に示す。図１０（ｂ）では領域が格子状に広がっているのに対し、図１０（ａ）では領域が乱れ、特に左上の原点近くで放射状に分布している。したがって、明らかに（ｂ）の場合の方がより良く入力データの位相を保存していると言える。なお、分布が放射状になるのは、Ｘ＝（ｘ，ｙ）の角度依存性が強いことを示している。この理由は、前述の図６について説明したように、２次元平面では近いはずの原点付近のＡ１  、Ｂ１  が３次元空間では相対的に離れてしまい、角度の情報がノルムの情報より強調されるためと解釈できる。
【００２９】
補足実験として、大きさ情報を用いず、Ｘ＝（ｘ，ｙ）を規格化しただけで入力し、内積演算のＳＯＭを行った。このときの領域図を図１０（ｃ）に示す。前記の〔発明が解決しようとする課題〕で述べたように、規格化によって入力データのノルム情報は失われる。したがって、全領域が角度情報のみに依存した放射状の分布となり、素子のノルムに関する識別能力は失われてしまう。前述の図１０（ａ）の場合、図１０（ｂ）に比べて領域は乱れているが、ノルムに関する識別能力は残っていることが、図１０（ｃ）と比較すると分かる。
【００３０】
さて、ａ）ｆ（Ｄ）＝Ｄ，ｂ）ｆ（Ｄ）＝１／Ｄの場合では、ｂ）の方がより良く入力データの位相を保存していると言えたが、さらに良く入力データの位相を保存するためには、どのようなｆ（Ｄ）を選べばよいかを調べる。換言すれば、どのようなｆ（Ｄ）を選べば、Ｘ＝（ｘ，ｙ）をそのまま入力し、競合学習の距離基準としてユークリッド距離を用いた場合と同じ結果を得ることができるかを調べる。なお、完全に入力データの位相が保存できるかどうかは、ＳＯＭ自体の持つ問題である。本発明の説明において、最も良く入力データの位相を保存することは、競合学習の距離基準としてユークリッド距離を用いた場合と同じ結果を得ることに相当し、完全に入力データの位相を保存することではないことに注意する。このことに留意した上で、Ｘ＝（ｘ，ｙ）をそのまま入力し、ユークリッド距離を用いた場合と同じ結果を得るための条件を求める。
【００３１】
再び図５における４点Ａ１  、Ｂ１  、Ａ２  、Ｂ２  を考える。ユークリッド距離を用いた場合と同じ結果を得るためには、２次元平面における線分の比が３次元空間においても保存されなければならない。この条件を式で表す。
【００３２】
まず、４点Ａ１  、Ｂ１  、Ａ２  、Ｂ２  の座標、及び、ノルムＤ１  、Ｄ２  はそれぞれ（８）式のようになる。
Ａ１  ＝（ｒ１    ｃｏｓθＡ  ，ｒ１    ｓｉｎθＡ  ），
Ａ２  ＝（ｒ２    ｃｏｓθＡ  ，ｒ２    ｓｉｎθＡ  ），
Ｂ１  ＝（ｒ１    ｃｏｓθＢ  ，ｒ１    ｓｉｎθＢ  ），
Ｂ２  ＝（ｒ２    ｃｏｓθＢ  ，ｒ２    ｓｉｎθＢ  ），
Ｄ１  ＝ｒ１  ，Ｄ２  ＝ｒ２                                  ・・・（８）
これらの座標が前記の入力ベクトルＸ＝（ｘ，ｙ）に相当する。このベクトルを規格化し、さらに、ノルムを示す成分を加えたＸ’＝（ｘ／Ｄ，ｙ／Ｄ，ｆ（Ｄ））は（９）式のようになる。
【００３３】
Ａ１  ’＝（  ｃｏｓθＡ  ，  ｓｉｎθＡ  ，ｆ（Ｄ１  ）），
Ａ２  ’＝（  ｃｏｓθＡ  ，  ｓｉｎθＡ  ，ｆ（Ｄ２  ）），
Ｂ１  ’＝（  ｃｏｓθＢ  ，  ｓｉｎθＢ  ，ｆ（Ｄ１  ）），
Ｂ２  ’＝（  ｃｏｓθＢ  ，  ｓｉｎθＢ  ，ｆ（Ｄ２  ））                  ・・・（９）
これを規格化したＸ”は（１０）式のようになる。
【００３４】
0003583484.tif 000006
３次元空間のｘ２  ＋ｙ２  ＋ｚ２  ＝１面上での弧Ａ１  ，Ｂ１  間の長さと、弧Ａ２  ，Ｂ２  間の長さは、それぞれ（１１）、（１２）式で与えられる（弧は、〈Ａ１  Ｂ１  〉のように表す。）。ここで、Ａ１  、Ｂ１  、Ａ２  、Ｂ２  の位置ベクトルを考えることとする（ベクトルは、Ａ１  のように表す。）。
【００３５】
0003583484.tif 000007
２次元平面における線分Ａ１  Ｂ１  と線分Ａ２  Ｂ２  の長さの比は（１３）式で与えられる。
【００３６】
｜Ａ１  −Ｂ１  ｜：｜Ａ２  −Ｂ２  ｜＝ｒ１  ：ｒ２  ＝Ｄ１  ：Ｄ２    ・・（１３）
（１４）式のように、線分Ａ１  Ｂ１  と線分Ａ２  Ｂ２  の長さの比が、〈Ａ１  ”Ｂ１  ”〉と〈Ａ２  ”Ｂ２  ”〉の長さの比と等しいとき、（１４）式に示す条件が成立する。
【００３７】
｜Ａ１  −Ｂ１  ｜／｜Ａ２  −Ｂ２  ｜＝〈Ａ１  ”Ｂ１  ”〉／〈Ａ２  ”Ｂ２  ”〉・・・（１４）
（１４）式に（１１）、（１２）、（１３）式を代入すると、（１５）式のようになる。
【００３８】
0003583484.tif 000008
（１５）式は、比例定数ｋ（ｋ≠０）を用いて（１６）式のように書ける。
【００３９】
ｋＤｉ  ＝  ｃｏｓ−１［｛  ｃｏｓΔθ＋ｆ（Ｄｉ  ）２  ｝／｛１＋ｆ（Ｄｉ  ）２  ｝］（ｉ＝１，２）・・・（１６）
これをｆ（Ｄｉ  ）に関して解くと、（１７）式のようになる。
【００４０】
ｆ（Ｄｉ  ）＝｛（  ｃｏｓｋＤｉ  −  ｃｏｓΔθ）／（１−  ｃｏｓｋＤｉ  ）｝１／２  （ｉ＝１，２）・・・（１７）
ここで、諸量の定義及び根号内が正であるために、次の制限条件（１８）式がある。
【００４１】
ｃｏｓｋＤｉ  −  ｃｏｓΔθ＞０，０＜ｋＤｉ  ＜π／２  （＝１，２）・・・（１８）
式（１７）、（１８）の意味は以下のようになる。２次元平面でΔθをなすある２点を上述のような規則で３次元空間に変換するとき、（１７）式のようなｆ（Ｄ）の式を用いれば、２次元平面のそのような２点間の線分同志の比は、対応する３次元空間のｘ２  ＋ｙ２  ＋ｚ２  ＝１面上の点間の長さの比と等しい。
【００４２】
（１８）式によれば、ある比例定数ｋを決めると、Ｄｉ  はｋ及びΔθで決まる量より大きくならないことが分かる。これを定性的に説明する。
Ｄｉ  が大きくなると、２次元平面では２点間の距離はいくらでも大きくなるが、対応する３次元空間のｘ２  ＋ｙ２  ＋ｚ２  ＝１面上の裾野の点間の長さは、裾野の幅より大きくなれない。よって、Ｄｉ  が大きくなると、条件を満たすのが難しくなるのである。
【００４３】
ｆ（Ｄｉ  ）を（１７）式のように選んだ場合の効果を調べるため、前述のような内積演算のＳＯＭを行った。ｆ（Ｄｉ  ）のパラメータは、（１８）式を満たすように、ｋ＝０．３，Δθ＝π／３と選んだ。（１８）式はあるΔθにおける式である。競合学習では、様々な入力ベクトルがあるので、Δθはそれに応じて様々な値をとるが、実際にシミュレーションする際は、（１８）式が満たされるように、Ｄｉ  の最大値を考慮してｋ及びΔθを予め適当に決めておくことになる。領域図の結果を見れば分かるが、ｋ及びΔθを固定しておいて問題はない。
【００４４】
（１７）式を用いた場合の領域図を図１１に示す。図１１によれば、図９（ａ）と同様に、小正方形格子が規則正しく並んだ構造を持っている。これは、ｆ（Ｄ）＝１／Ｄを選んだ場合より良く整列している。このことは、縦横の小領域数が１０個であることからも分かる。
【００４５】
したがって、この実験より、（１７）式で与えられるｆ（Ｄｉ  ）を用いれば、Ｘ＝（ｘ，ｙ）をそのまま入力し、競合学習の距離基準としてユークリッド距離を用いた場合と同じ結果を得ることが可能であり、最も良く入力データの位相を保存する写像を実現できることが分かる。
【００４６】
次に、（１４）、（１５）式について補足する。（１４）、（１５）式は、厳密な条件であるが、両辺の分母分子の大小関係を保存するのみであれば、ｆ（Ｄ）がＤに関して減少する関数であればよいことが、関数の性質を考慮すると分かる。つまり、ｆ（Ｄ）＝Ｄとｆ（Ｄ）＝１／Ｄを比較して、ｆ（Ｄ）＝１／Ｄの方の結果が良かったのは、ｆ（Ｄ）＝１／ＤはＤに関して減少関数であったからと言える。
【００４７】
もちろん、関数は、ｆ（Ｄ）＝１／Ｄに限定されるものではない。位相を良く保存するために、Ｄに関して任意の減少関数を選んでよい。また、Ｄに関して減少関数以外の関数を取ったときでも、位相の保存はし難くなるが、ノルム情報を失わないある程度の学習は可能であることは、前述した通りである。
【００４８】
以上、距離基準として内積演算を用い、入力データのノルム情報を失わない競合学習ができるためには、どのようなアルゴリズムにすればよいかを理論的に説明した。簡単にまとめると、以下のようになる。
Ｃ−１）内積演算を距離基準とする競合学習において、２次元ベクトルＸ＝（ｘ，ｙ）を入力とするとき、（１）〜（３）式のような変換を行い、Ｘ”を入力とすれば、内積演算のための規格化によってノルムの情報を失うことがない。
【００４９】
Ｘ＝（ｘ，ｙ）、Ｄ＝（ｘ２  ＋ｙ２  ）１／２                  ・・・（１）
Ｘ’＝（ｘ／Ｄ，ｙ／Ｄ，ｆ（Ｄ））                    ・・・（２）
Ｘ”＝Ｘ’／｜Ｘ’｜                                  ・・・（３）
Ｃ−２）ｆ（Ｄ）は、様々な関数を用いることができるが、Ｄに関して増加関数と減少関数では、減少関数の方が位相を良く保存できる。例えば、ｆ（Ｄ）＝Ｄとｆ（Ｄ）＝１／Ｄでは、後者の方が良い。
【００５０】
Ｃ−３）ｆ（Ｄ）を（１７）’式のようにすれば、さらに位相を良く保存できる。
ｆ（Ｄ）＝｛（  ｃｏｓｋＤ−  ｃｏｓΔθ）／（１−  ｃｏｓｋＤ）｝１／２  ・・・（１７）’
なお、（１７）’式では、一般的に記述するため、Ｄｉ  のｉを削除した。
【００５１】
以上の議論及びまとめでは、図に示すのが容易なため、入力として２次元ベクトルＸ＝（ｘ，ｙ）を取り扱ってきたが、ｎ次元ベクトルＸ＝（ｘ１  ，ｘ２  ・・・，ｘｎ  ）、（ｎ＝１，２，３・・・）の場合でも全く同様に成り立つ。このとき（１）、（２）、（３）式は、以下の式になる。
【００５２】
Ｘ＝（ｘ１  ，ｘ２  ・・，ｘｎ  ），Ｄ＝（ｘ１  ２  ＋ｘ２  ２  ＋・・ｘｎ  ２  ）１／２  ・・・（１９）
Ｘ’＝（ｘ１  ／Ｄ，ｘ２  ／Ｄ，・・，ｘｎ  ／Ｄ，ｆ（Ｄ））・・（２０）
Ｘ”＝Ｘ’／｜Ｘ’｜                                            ・・・（２１）
また、（８）式において、ｎ次元空間の４点Ａ１  、Ｂ１  、Ａ２  、Ｂ２  の座標及びノルムＤ１  、Ｄ２  を、（２２）式のように、方向余弦を用いて表せば、（１７）式と全く同じ式が導ける。
【００５３】
Ａ１  ＝（ｒ１ｃｏｓθＡ１，ｒ１ｃｏｓθＡ２，・・，ｒ１ｃｏｓθＡｎ），
Ａ２  ＝（ｒ２ｃｏｓθＡ１，ｒ２ｃｏｓθＡ２，・・，ｒ２ｃｏｓθＡｎ），
Ｂ１  ＝（ｒ１ｃｏｓθＢ１，ｒ１ｃｏｓθＢ２，・・，ｒ１ｃｏｓθＢｎ），
Ｂ２  ＝（ｒ２ｃｏｓθＢ１，ｒ２ｃｏｓθＢ２，・・，ｒ２ｃｏｓθＢｎ），
Ｄ１  ＝ｒ１  ，Ｄ２  ＝ｒ                                ・・・（２２）
ここで、（  ｃｏｓθＡ１，  ｃｏｓθＡ２，・・，  ｃｏｓθＡｎ）はＡ１  及びＡ２  の方向余弦、（  ｃｏｓθＢ１，  ｃｏｓθＢ２，・・，  ｃｏｓθＢｎ）はＢ１  及びＢ２  の方向余弦を示す。ｎ次元の場合は、（１７）式のΔθは、この２つの方向余弦のなす角に相当する。ｎ次元ベクトルの場合でｎを２と選べば、これまでの２次元ベクトルの議論と一致することが分かる。
以上のことから、前記の議論及びまとめは、２次元ベクトルに限定されず、多次元ベクトルに拡張できることは明らかである。
【００５４】
最後に、ｎ次元ベクトルの場合としてまとめておく。
Ｄ−１）内積演算を距離基準とする競合学習において、ｎ次元ベクトルＸ（ｎ＝１，２，３，・・）を入力とするとき、（１９）〜（２１）式のような変換を行い、Ｘ”を入力とすれば、内積演算のための規格化によってノルムの情報を失うことがない。
【００５５】
Ｘ＝（ｘ１  ，ｘ２  ・・，ｘｎ  ），Ｄ＝（ｘ１  ２  ＋ｘ２  ２  ＋・・ｘｎ  ２  ）１／２  ・・・（１９）
Ｘ’＝（ｘ１  ／Ｄ，ｘ２  ／Ｄ，・・，ｘｎ  ／Ｄ，ｆ（Ｄ））・・（２０）
Ｘ”＝Ｘ’／｜Ｘ’｜                                            ・・・（２１）
Ｄ−２）ｆ（Ｄ）は、様々な関数を用いることができるが、Ｄに関して増加関数と減少関数を比較すると、減少関数の方が位相を良く保存できる。例えば、ｆ（Ｄ）＝Ｄとｆ（Ｄ）＝１／Ｄでは、後者の方が良い。
【００５６】
Ｄ−３）ｆ（Ｄ）を（１７）’式のようにすれば、さらに位相を良く保存できる。
ｆ（Ｄ）＝｛（  ｃｏｓｋＤ−  ｃｏｓΔθ）／（１−  ｃｏｓｋＤ）｝１／２  ・・・（１７）’
以上、距離基準として内積演算を用い、入力データのノルム情報を失わない競合学習ができるためには、どのようなアルゴリズムにすればよいかを理論的に説明し、まとめた。
以上の議論をふまえた本発明は、以下のような情報処理装置である。
【００５７】
〔１〕入力ベクトルを重みベクトル群の各ベクトルと内積をとることによって重みベクトル群の何れかのベクトルへ対応させる情報処理装置において、内積をとる前に入力ベクトルのノルムに関する情報を抽出して該入力ベクトルの成分に付加するノルム抽出・付加手段を有することを特徴とする情報処理装置。
【００５８】
〔２〕前記の内積をとる前に前記のノルムに関する情報を付加した入力ベクトルを正規化する入力ベクトル正規化手段を有する上記〔１〕記載の情報処理装置。
〔３〕前記の内積をとる前に前記重みベクトル群の各ベクトルを正規化する重みベクトル正規化手段を有する上記〔１〕記載の情報処理装置。
【００５９】
〔４〕前記の正規化を電気信号により行うようにした上記〔２〕又は〔３〕記載の情報処理装置。
【００６０】
〔５〕前記の正規化を光学的に行うようにした上記〔２〕又は〔３〕記載の情報処理装置。
【００６１】
上記の本発明の情報処理装置は、次のＡ−１）、Ａ−２）の条件を満たす。
【００６２】
Ａ−１）距離基準として、ハードウエア化に適した内積演算を用いる。
【００６３】
Ａ−２）入力データのノルム情報を失わない競合学習ができる。
【００６４】
【実施例】
以下に、本発明の情報処理装置の好適な第１、第２実施例について説明する。その説明に先立って、これらの実施例で用いる光学的な内積演算装置の原理を
説明する。
【００６５】
簡単のため、内積をとるベクトルを４次元（２×２）とし、入力ベクトルＸ（ｘ１  ，ｘ２  ，ｘ３  ，ｘ４  ）と、９個の重みベクトル群ｍｉ  （ｍｉ１，ｍｉ２，ｍｉ３，ｍｉ４）（ｉ＝１〜９；３×３）の全てと内積をとるものとする。まず、図１２は、第１実施例に用いられる内積演算光学系（Ｔａｉｗｅｉ  ｅｔ  ａｌ．，”Ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  ｏｐｔｉｃａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｆｏｒ  ｕｎｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ”，Ｏｐｔ．Ｅｎｇ．，ＶＯＬ．２９，Ｎｏ．９，ｐｐ．１１０７−１１１３，１９９０．）の原理を示す図であり、２つの液晶テレビ１０１、１０２が用いられ、第２液晶テレビ１０１には２×２のＸの成分（ｘ１  ，ｘ２  ，ｘ３  ，ｘ４  ）が図のような順で表示される。また、第１液晶テレビ１０２には２×２のサブマトリックスｍｉ  が３×３に配置され、各サブマトリックスｍｉ  にｍｉ  の成分（ｍｉ１，ｍｉ２，ｍｉ３，ｍｉ４）図のような順で表示される。Ｘとｍｉ  のベクトル成分の表示の配置順は、一方が他方の倒立像の関係にある。光学系は、光軸方向に配置された、第１液晶テレビ１０２と、第１液晶テレビ１０２の３×３のサブマトリックスｍｉ  配置に対応した３×３個のレンズＬｉ  からなるレンズアレー１０５と、第２液晶テレビ１０１と、結像レンズ１０６と、第１液晶テレビ１０２の３×３のサブマトリックスｍｉ  配置及びレンズアレー１０５の３×３のレンズＬｉ  配置に対応した３×３個の受光領域を有するＣＣＤカメラ１０７とからなる。
【００６６】
そして、第１液晶テレビ１０２の２×２に領域分けされてｍｉ  の成分（ｍｉ１，ｍｉ２，ｍｉ３，ｍｉ４）が表示されている１個のサブマトリックスｍｉ  の像が、レンズアレー１０５の対応する位置のレンズＬｉ  によって、ベクトルの成分同士を対応させながら、第２液晶テレビ１０１上に結像されるように光学配置されており、さらに、第２液晶テレビ１０１は結像レンズ１０６の入射瞳位置に配置され、結像レンズ１０６は、レンズアレー１０５の３×３の各レンズＬｉ  の瞳をＣＣＤカメラ１０７の３×３個の受光領域上に結像するような光学配置になっている。
【００６７】
したがって、ＣＣＤカメラ１０７のｉ番目（ｉ＝１〜９）の受光領域には、レンズアレー１０５の対応する位置のレンズＬｉ  を通った全光量が入射する。このレンズＬｉ  を通った全光量とは、図の光路からも明らかなように、第１液晶テレビ１０２の２×２のサブマトリックスｍｉ  の成分（ｍｉ１，ｍｉ２，ｍｉ３，ｍｉ４）と第２液晶テレビ１０１の２×２のＸの成分（ｘ１  ，ｘ２  ，ｘ３  ，ｘ４  ）とを対応する成分同士を重ね合わせて（数学的には掛算）加え合わせたものであり、内積に他ならない。したがって、ＣＣＤカメラ１０７の図示の１〜９の受光領域には、それぞれＸ・ｍ１  〜Ｘ・ｍ９  が得られる。
【００６８】
次に、図１３は、第２実施例に用いられる内積演算光学系（Ｊ．Ｄｕｖｉｌｌｉｅｒ  ｅｔ  ａｌ．，”Ａｌｌ−ｏｐｔｉｃａｌ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ａ  ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  ｍａｐ”，Ａｐｐｌ．Ｏｐｔ．Ｖｏｌ．３３，ｐｐ．２５８−２６６，１９９０．  ）の原理を示す図であり、内積をとるための２つの空間変調器２７ａと２０７ａを用い、内積は別の空間変調器２１０ａ上に得られるものである。この場合は、空間変調器２７ａと２０７ａは重ね合わされ、空間変調器２７ａ側から照射される平行光で読み出される。空間変調器２７ａには、図１２の場合と同様、２×２のＸの成分（ｘ１  ，ｘ２  ，ｘ３  ，ｘ４  ）が図のような順で表示される。また、空間変調器２０７ａには、９つのベクトルｍ１  〜ｍ９  の各成分がまとめられてそれぞれ１つの３×３のサブマトリックスＭ１  〜Ｍ４  を構成するように表示される。すなわち、図示のように、サブマトリックスＭｉ  には、各ベクトルｍ１  〜ｍ９  のｉ番目の成分が３×３のマトリックスに配置されるように表示される。そして、空間変調器２７ａと２０７ａを重ね合わせた場合、空間変調器２７ａの成分ｘ１  〜ｘ４  の領域がそれぞれが空間変調器２０７ａのサブマトリックスＭ１  〜Ｍ４  の領域に対応するように両空間変調器２７ａと２０７ａが構成されている。光学系は、光軸方向に配置された、空間変調器２７ａと、空間変調器２０７ａと、空間変調器２７ａの２×２のマトリックス配置、及び、空間変調器２０７ａのサブマトリックスＭ１  〜Ｍ４  配置に対応した２×２個のレンズＬｉ  からなるレンズアレー２０８と、結像レンズ２０９と、空間変調器２１０ａとからなり、レンズＬｉ  の前側焦点位置に空間変調器２０７ａが、その後側焦点位置に結像レンズ２０９が、結像レンズ２０９の後側焦点位置に空間変調器２１０ａが位置している。そして、空間変調器２０７ａの各サブマトリックスＭｉ  が空間変調器２１０ａの全体領域に拡大結像されるように、レンズＬｉ  と結像レンズ２０９の焦点距離の比が定められている。
【００６９】
したがって、空間変調器２１０ａ上には、空間変調器２７ａと２０７ａを重ね合わせて、Ｘの成分ｘｉ  と対応するサブマトリックスＭｉ  が重畳され（掛算され）、それらのサブマトリックスＭｉ  がレンズアレー２０８の作用で同じ位置に重ね合って結像される。そのため、空間変調器２１０ａのサブマトリックスＭｉ  のｊ番目（ｊ＝１〜９）の成分ｍｊｉが対応する位置には、全てのサブマトリックスＭ１  〜Ｍ４  のｊ番目の成分（ｍｊ１，ｍｊ２，ｍｊ３，ｍｊ４）とＸの対応する成分（ｘ１  ，ｘ２  ，ｘ３  ，ｘ４  ）を掛けて足し合わせたもの、すなわち、内積が入射する。したがって、空間変調器２１０ａの図示の１〜９の域には、それぞれＸ・ｍ１  〜Ｘ・ｍ９  が得られる。
【００７０】
以上、以下に説明する第１、第２実施例で用いる内積演算光学系を４次元ベクトルを例にあげて説明してきたが、それ以上又は以下の次元数のベクトルの場合にも容易に対応できることは、光学系の構成から明らかである。
【００７１】
なお、本発明において、内積をとるベクトルの少なくとも１つの成分に、その他の成分からなるベクトルのノルム情報をあてがう。例えば、前記の４次元ベクトルの場合は、ｘ４  を（ｘ１  ，ｘ２  ，ｘ３  ）からなるベクトルのノルム情報にする。
以下、図１４〜図１８に基づいて本発明の好適な実施例を説明する。
【００７２】
〔第１実施例〕
本実施例の情報処理装置は、図１４にその構成を示すように、処理を行うためのデータを取得するための入力ベクトル取得手段１と、この入力されたベクトルから前記したＤ−２）あるいはＤ−３）に述べたノルム情報を発生させ、さらに発生させたこのノルム情報を入力ベクトルに付加し、Ｄ−１）の条件に従って正規化するための入力ベクトル加工手段２と、このノルム情報の付加され加工されたベクトルを入力して処理を行う競合学習手段３とを有するものである。
【００７３】
本実施例では、情報処理装置の競合学習手段３として、前記したＴａｉｗｅｉＬｕ等の装置を改良して用いている。まず、図１４を参照にして、Ｔａｉｗｅｉ  Ｌｕ等の装置と共通の部分の説明をする。競合学習手段３では、８×８画素からなる入力ベクトルを第２液晶テレビ１０１に表示し、１つの重みベクトルに対応する８×８画素のサブマトリックスが８×８個あるメモリーマトリックス（６４×６４）を第１液晶テレビ１０２に表示し、この第１液晶テレビ１０２の背後からキセノンランプ１０３の光をディフューザー１０４を介して照射する。メモリーマトリクスには、前述したような素子の重みベクトルの集合が記憶できるようになっている。照射された第１液晶テレビ１０２上のメモリーマトリックス上の情報は、８×８個のレンズアレー１０５により、各重みベクトルに対応するサブマトリックスが全て第２液晶テレビ１０１上に重ねて結像され、入力ベクトルに重畳されるようになっている。さらに、この入力ベクトルが重畳されたサブマトリックスの情報は、結像レンズ１０６によりＣＣＤカメラ１０７の８×８個の領域にそれぞれ入射するようになっており、この一連の操作により、入力ベクトルとメモリーマトリックスの内積演算が各領域で行われたことになる（図１２参照）。
【００７４】
さらに、このＣＣＤカメラ１０７で得られた内積演算の結果をコンピュータ内に取り込み、コンピュータ内でソフトウエアで実現されているマトリックスの更新手段１０８で、競合学習に必要なメモリーマトリックスの更新量を決定し、更新するようになっている。また、第１液晶テレビ１０２、第２液晶テレビ１０１の表示もコンピュータからの制御により行っている。
以上が、本発明の情報処理装置の競合学習手段において、Ｔａｉｗｅｉ  Ｌｕ等の装置と共通の部分である。
【００７５】
本実施例においては、この情報処理装置が濃淡画像を処理するものとする。この場合、入力ベクトル取得手段１は、ＣＣＤ等の撮像素子とフレームメモリにより処理すべき画像をコンピュータ内に取り込み、これを所定の入力ベクトル（本実施例の場合は、８×８−１（＝６３）成分）に展開する（マイナスした１個は、付加するノルム情報に割り当てる。）。展開の仕方は、フレームメモリ上のフレーム領域を８×８の領域に分割し、その領域毎に平均の明るさを計算し、各成分の値とすればよい。この際、画像の右下の領域に対応する成分は無視し、この部分に付加するノルム情報を割り当てる。なお、本実施例の場合、この展開はコンピュータ内のソフトウエアで実現している。
【００７６】
次に、入力ベクトル加工手段２は、Ｄ−１）からＤ−３）のように、展開されたベクトルを加工するものであるが、まず、展開された６３個のベクトルからＤ−１）の（１９）式に従ってＤを計算する。次に、Ｄ−３）の（１７）’式に従ってこのＤからｆ（Ｄ）を計算し、６４個目のベクトル成分として、Ｄ−１）の（２０）式に従ってこのｆ（Ｄ）を付加すると共に、Ｄを用いて他の６３個のベクトルの正規化を行う。（２０）式のｆ（Ｄ）は、コンピュータ内のソフトウエア制御により、容易にＤ−２）あるいはＤ−３）のように選ぶこともできる。最後に、Ｄ−１）の（２１）式に従って、再度正規化を行い入力ベクトルの加工を終了するものである。以上の入力ベクトル加工手段２も、本実施例の場合、コンピュータ内のソフトウエアで実現している。なお、この入力ベクトル加工手段２により加工された入力ベクトルは、競合学習手段３中のマトリックスの更新手段１０８及び第２液晶テレビ１０１に送られ、競合学習手段による処理が進む。
【００７７】
そして、上記メモリーマトリックスの更新は、マトリックス更新手段１０８においてＣＣＤカメラ１０７から得られる出力ベクトルの中の最大のものを見つけ、この成分の近傍のメモリーマトリックスを更新することにより行われる。更新則は、
0003583484.tif 000009
であり、ここで、α（ｔ）は学習スピードを示す係数であり、Ｎｃ  （ｔ）は更新範囲を示し、この更新範囲は時間経過（更新が進むに連れて）と共に小さくして行き、最終的には上記の最大成分だけにする。以上のメモリーマトリックスの更新もコンピュータ内のソフトウエアで実現している。
【００７８】
以上の構成により、本実施例の情報処理装置が、装置内に内積演算部分を持つ競合学習手段を含んでいても、ノルム情報の失われない処理が行えることは、前述の説明により明らかである。
【００７９】
なお、この情報処理装置において、入力ベクトル取得手段１は、ベクトルとして画像を想定したためＣＣＤ等の撮像素子を用いたが、他の手段でももちろんよい。例えば音声の場合は、マイクロフォンとＡＤ変換器を用いればよいし、濃度であれば、濃度センサー、流量であれば流量センサー等、何を用いてもよく、基本的には、欲しい情報をセンサーにより取得し、そのセンサーで得られた情報をコンピュータ内に取り込めればよい。
【００８０】
また、扱えるベクトル数も、８×８−１の６３個に限るわけではなく、空間光変調器での画素数やレンズアレーのレンズ数等を増減させれば、調節できることも明らかである。
【００８１】
〔第２実施例〕
本実施例の情報処理装置も、図１５にその構成を示すように、第１実施例と同様、処理を行うためのデータを取得するための入力ベクトル取得手段１と、この入力されたベクトルからＤ−２）あるいはＤ−３）にあげたノルム情報を発生させ、さらに発生させたこのノルム情報を入力ベクトルに付加し、Ｄ−１）のように正規化するための入力ベクトル加工手段２と、このノルム情報の付加され加工されたベクトルを入力して処理を行う競合学習手段３とを有するものであり、その違いは、入力ベクトル加工手段２と競合学習手段３の大部分を光学系で構成している点である。
【００８２】
さらに具体的には、本実施例の情報処理装置は、図１５に示すように、入力ベクトル取得手段１と、この入力ベクトル取得手段１により取得されたＤ−１）の（１９）式に対応したデータの総和を検出するための第１のベクトル成分総和検出手段２１と、得られたベクトル成分の総和から、Ｄ−１）の（２０）式に対応させてデータの正規化を行うための第１の正規化手段２２と、得られたベクトル成分の総和から、Ｄ−２）及びＤ−３）の（１７）’式に対応させて入力ベクトルのノルム情報を発生させるノルム情報発生手段２３と、この正規化された入力ベクトルにＤ−１）の（２０）式に対応させてノルム情報を付加するノルム情報付加手段２４と、このノルム情報の付加された入力ベクトル成分の総和を検出するための第２のベクトル成分総和検出手段２５と、得られたベクトル成分の総和からＤ−１）の（２１）式に対応させてデータの正規化を行うための第２の正規化手段２６と、以上のデータ加工結果を表示するための加工結果表示手段２７とから構成される入力ベクトル加工手段２と、この加工され表示されたデータを入力して処理するための競合学習手段３とにより構成し、本発明の目的を達成しようと言うものである。
【００８３】
図１６には、上記の中、入力ベクトル取得手段１及び入力ベクトル加工手段２の部分の光学系を具体的に示してある。なお、本実施例でも、濃淡画像の処理をまず想定している。入力ベクトル取得手段１では、撮像装置１１（具体的には、例えばズームレンズの付いたＣＣＤカメラ）で処理すべきベクトルである画像を取得し、この信号をドライバー１２により空間光変調器１３（本実施例の場合は、例えば透過型で電子アドレス型の液晶空間光変調器）に表示する。表示された処理すべき画像は、略平行な光束２０で読み出され、入力ベクトル加工手段２に送られる。入力ベクトル加工手段２では、まず、ビームスプリッタ２１ａ、集光レンズ２１ｂ、ディテクタ２１ｃからなる第１のベクトル成分総和検出手段２１により、この処理すべきベクトルである画像の総和が取られる。具体的には、入力された画像情報をビームスプリッタ２１ａで分岐し、集光レンズ２１ｂで集光し、ディテクタ２１ｃでその総和Ｄとして光量を検出し、電気信号に変換する。この検出された総和Ｄの電気信号は、第１の正規化手段２２である光量調整フィルタ２２ａのドライバー２２ｂに送られ、ここを通過する光量が一定になるように、つまり正規化されるように調節がなされる。具体的には、印加電圧によって通過する光量を変化させることのできる液晶シャッターを光量調整フィルタ２２ａとして用い、検出された総和Ｄの電気信号によってドライバー２２ｂで液晶シャッターに印加する電圧を制御することにより、ここを通過する光量を一定にする。さらに、検出された総和Ｄの電気信号は、ノルム情報発生手段２３である割算器により、ｆ（Ｄ）の選び方の例としてＤ−２）で述べた１／Ｄの情報に変換される。
【００８４】
この変換されたノルム情報である１／Ｄの信号は、ノルム情報付加手段２４の発光素子２４ａを駆動するドライバー２４ｂに送られ、１／Ｄに比例した光量を発光素子２４ａで発生させる。ノルム情報付加手段２４では、さらに、空間光変調器１３に表示された入力ベクトルを空間光変調器２４ｃ（本実施例の場合は、例えば反射型で光アドレス型の液晶空間光変調器）に結像させるための結像レンズ２４ｄ、及び、この空間光変調器２４ｃを駆動するためのドライバー２４ｅとで構成されている。この構成により、入力ベクトルの正規化されたものが空間光変調器２４ｃに表示される。この空間光変調器２４ｃでは、図１７（ａ）に正面図、（ｂ）に側面図を示すように、８×８の領域が設定されており、その中の１か所の領域（図では、右下隅の領域）に発光素子２４ａとして、本実施例で用いている発光ダイオードＬＤとそれからの光を集光するレンズＣＬで１／Ｄに比例した光量が照射されるようになっており、結果として、８×８−１の６３個の領域に正規化された入力ベクトルが、残りの１個の領域に１／Ｄに比例したノルム情報が表示されるようになっている。
【００８５】
この表示された入力ベクトル情報は、ビームスプリッタ２８ａで系内に導かれた略平行な光束２８で読み出され、第２のベクトル成分総和検出手段２５に送られその総和が検出され、さらに、この総和情報を基に第２の正規化手段２６により正規化が行われる。この第２のベクトル成分総和検出手段２５と第２の正規化手段２６は、それぞれ第１のベクトル成分総和検出手段２１と第１の正規化手段２２と同一要素である、ビームスプリッタ２５ａ、集光レンズ２５ｂ、ディテクタ２５ｃ、及び、液晶シャッターである光量調整フィルタ２６ａ、ドライバー２６ｂで構成してある。
【００８６】
加工結果表示手段２７では、空間光変調器２４ｃに表示されたベクトルを、空間光変調器２７ａとして本実施例の場合用いた反射型で光アドレス型の液晶空間光変調器に結像させるための結像レンズ２７ｂ、及び、この空間光変調器２７ａを駆動するためのドライバー２７ｃで構成されている。この構成により、８×８−１の６３個の領域に正規化された入力ベクトルと、残りの１個の領域に１／Ｄに比例したノルム情報が表示された情報であって、さらに正規化された結果が空間光変調器２７ａに表示される。
【００８７】
本実施例では、情報処理装置の競合学習手段３として、前記のＪ．Ｄｕｖｉｌｌｉｅｒ等の装置を改良して用いている。次に、図１８を参照にして、Ｄｕｖｉｌｌｉｅｒ等の装置と略共通の部分の説明をする。図１８の切断面Ａ−Ａ’、Ｂ−Ｂ’、Ｃ−Ｃ’内の部分は、図１６に示した光学系が対応する。
【００８８】
まず、内積演算のフェーズでは、レーザー２００からの光束は、ミラー２０１を介してビームエキスパンダ２０２に入射され、略平行な光束２０３となる。この光束は、ビームスプリッタ２０４、２２３、２２４を介して、空間光変調器２７ａの位置に表示された８×８要素の入力情報（図１６参照）を系内に入力し、さらに、結像レンズ２０５及び２０６によりこの入力情報を、専用のドライバー２０７ｂで制御される空間光変調器２０７ａ（本実施例の場合、例えば透過型で光書込型の液晶空間光変調器）に表示されている８×８要素のメモリーマトリックスの情報に重畳させた上で読み出すものである（Ｊ．Ｄｕｖｉｌｌｉｅｒ等の装置は、入力情報を透過で読み出しているが、本実施例は入力情報は空間光変調器２７ａから反射で読み出しているので、この部分の構成は一部変更されている。）。この入力情報にメモリーマトリックスの情報が重畳した情報は、さらに８×８個のレンズアレー２０８と結像レンズ２０９を通過し、専用のドライバー２１０ｂで制御される空間光変調器２１０ａ（本実施例の場合、例えば透過型で光書込型の二値の液晶空間光変調器）上でさらに重ね合わさる。この一連の操作により、入力情報とメモリーマトリックスの内積演算結果がこの空間光変調器２１０ａ上に閾値操作されて記憶されたことになる（図１３参照）。
【００８９】
次に、メモリーマトリックスの更新のフェーズでは、上記内積演算のフェーズで空間光変調器２１０ａ上に記憶された内積演算結果が、略平行な光束２０３の中、ビームスプリッタ２０４を通過し、さらにミラー２１１及び２１２、ビームスプリッタ２１３を介して系内に導かれた略平行な光束２１４により読み出される。この読み出された情報は、さらに、ミラー２１５、２１６、２１７、ビームスプリッタ２２３、２２４、レンズ２１８、２１９、２２０、２２１、及び、Ｄａｍｍａｎｎ型のグレーティング２２２を介することにより、８×８に多重複製され、再び空間光変調器２７ａの位置に表示されている８×８要素の入力情報を読み出す。この操作によりメモリーマトリックスの更新量が決定されるが、この更新情報を結像レンズ２０５及び２０６により空間光変調器２０７ａ上に結像させ、さらに、ドライバー２０７ｂを制御し印加電圧を変化させることにより加算もしくは減算の形でメモリーマトリックスの更新が行われる。
【００９０】
ここで、メモリーマトリックスの更新に関しては、内積演算の出力ベクトルｙを空間光変調器２０７ａでスレシュホールドして二値化したものをＹとして、このＹをレンズ２１８〜２２１とＤａｍｍａｎｎ型グレーティング２２２とで倍率を縮小して元の大きさに戻すと共に、入力ベクトルと同じ８×８個に複製して、入力ベクトルに重ねる。これがメモリーマトリックスの更新量ΔＭｉ  となる。この更新則は、
Ｍｉ  （ｔ＋１）＝Ｍｉ  （ｔ）＋ａ（ｔ）ＮＯ｛ΔＭｉ  （ｔ）｝
ΔＭｉ  ＝Ｘ（Ｄｉ  Ｙ）                                ・・・（２４）
ここで、ａ（ｔ）は（２３）式のα（ｔ）と同様の学習スピードを示す係数、ＮＯは更新範囲を示す関数で、（２３）式のＮｃ  と同様の役目を担う。また、Ｄｉ  はＹのサブマトリックスを８×８に複製することを表す。この更新は、すでに記憶されている空間光変調器２０７ａ上のメモリーマトリックス情報Ｍｉ  （ｔ）に上記で決まったΔＭｉ  だけ加算もしくは減算することにより変更を加えることで行われる。このときの空間光変調器２０７ａの動作は、グレースケール動作とし、駆動電圧の符号を変化させればよい。また、駆動電圧の大きさを変化させれば、ＮＯつまり更新範囲や学習スピードを変化させることができる。これは、ドライバー２０７ｂをコンピュータ等で制御して行う。
【００９１】
なお、上記で、内積演算のフェーズとメモリーマトリックスの更新のフェーズでは、系が共通に使用されている部分があるので、シャッター２２５、２２６、２２７、２３１により、もちろん情報が干渉することを防止している。すなわち、内積演算のフェーズでは、シャッター２２５をオープンにし、シャッター２２６、２２７、２３１をクローズに、メモリーマトリックスの更新のフェーズでは、シャッター２２５と２３１をクローズにし、シャッター２２６と２２７をオープンにしている。
以上が、本実施例の競合学習手段３においてＪ．Ｄｕｖｉｌｌｉｅｒ等の装置と略共通の部分である。
【００９２】
本実施例で、先行例と異なる点は、図１５及び図１６を用いて先に説明したように、入力ベクトル取得手段１及び入力ベクトル加工手段２をこの競合学習手段３に新たに加えた点である。本実施例では、図１６に示した入力ベクトル取得手段１及び入力ベクトル加工手段２を、図中の切断面Ａ−Ａ’、Ｂ−Ｂ’及びＣ−Ｃ’が、図１８中の対応する部分に一致するように設置してある。この際、略平行な光束２０３の中ビームスプリッタ２０４を通過し、さらにビームスプリッタ２３４を介して入力ベクトル取得手段１及び入力ベクトル加工手段２の系内に入射させたものを略平行な光束２０とし、また、略平行な光束２０３の中のビームスプリッタ２０４で反射させたものを、ビームスプリッタ２２８を介して同系内に入力させて略平行な光束２８とした。さらに、本実施例では、内積演算結果とメモリーマトリックスも正規化するために、図中に示すように、第３のベクトル成分総和検出手段２２９及び第３の正規化手段２３０を挿入してある。この第３のベクトル成分総和検出手段２２９と第３の正規化手段２３０は、それぞれ第１のベクトル成分総和検出手段２１と第１の正規化手段２２（図１６）と同一要素である、ビームスプリッタ２２９ａ、集光レンズ２２９ｂ、ディテクタ２２９ｃ、及び、液晶シャッターである光量調整フィルタ２３０ａ、ドライバー２３０ｂで構成してある。この構成により、内積演算のフェーズでは内積演算結果が正規化される。一方、メモリーマトリックスの更新のフェーズでは、メモリーマトリックスの更新後、シャッター２２７をクローズにし、シャッター２２５と２３１をオープンにし、略平行な光束２０３の中のビームスプリッタ２２３を透過してきたものを、さらにミラー２３２及びビームスプリッタ２３３を介して空間光変調器２０７ａに入射させ、更新されたメモリーマトリックスの情報を読み出して正規化するものである。競合学習のアルゴリズムとしては内積演算結果の正規化は必要ないので、第３のベクトル成分総和検出手段２２９と第３の正規化手段２３０は、内積演算のフェーズでは省略してもよい。しかしながら、内積演算結果を正規化することにより、信号量の発散、飽和に伴うハードウエアの調整の問題を防ぐことができる。
【００９３】
この実施例中では、透過型や反射型、及び、電子アドレス型や光アドレス型の液晶空間光変調器を用いたが、これらは上記実施例にあげた組み合わせに限られるものではなく、様々な組み合わせが考えられることは言うまでもない。
【００９４】
以上であげた正規化手段において、その目的は、数学的に厳密にはベクトルのノルムを１にすることである。しかしながら、ハードウエア上においてノルムに応じて光量を厳密に一定にするのではなく大まかに調節するようにしても、厳密な正規化と同様な効果を得ることができる。したがって、本発明中の正規化の定義は広く、ノルムの大きさによってベクトル成分の大きさを調節することを意味するものとする。また、Ｄ−２）、Ｄ−３）のような厳密な変換式をハードウエア上で実現する場合、諸装置の特性を変えることにより近似的にその作用を得るようにしてもよい。
【００９５】
また、以上では、１つの入力に対し１つのノルム情報を与えたが、複数個の情報を与えてもよい。つまり、追加する次元は１次元に限らず、多数次元としてもよい。
【００９６】
以上の構成により、本発明の情報処理装置が、装置内に内積演算部分を持つ競合学習手段を含んでいても、ノルム情報の失われない処理が行えることは前述の説明より明らかである。
【００９７】
なお、この情報処理装置においても、入力ベクトル取得手段は第１実施例と同様、撮像素子に限定されるわけではなく、マイクロフォンや濃度センサー、流量センサー等、どんなセンサーを用いてもよい。また、扱えるベクトル数も第１実施例と同様に調節できることも明らかである。
【００９８】
以上、本発明の情報処理装置をその原理と実施例に基づいて説明してきたが、本発明はこれら実施例に限定されず種々の変形が可能である。
【００９９】
【発明の効果】
以上の説明から明らかなように、本発明の情報処理装置によると、以下の条件を満たす情報処理装置を提供することができる。
Ａ−１）距離基準として、ハードウエア化に適した内積演算を用いる競合学習を行う。
Ａ−２）入力データのノルム情報を失わない競合学習ができる。
【図面の簡単な説明】
【図１】規格化しない場合の内積演算による勝利ベクトルの決定過程を示す図である。
【図２】規格化した場合の内積演算による勝利ベクトルの決定過程を示す図である。
【図３】２次元一様分布ベクトルデータを示す図である。
【図４】２次元一様分布ベクトルデータを規格化した場合の分布を示す図である。
【図５】本発明の情報処理装置に入力する２次元平面上の４点を示す図である。
【図６】ノルムを示す成分としてＤを選んだ場合の３次元空間における４点の位置を示す図である。
【図７】ノルムを示す成分として１／Ｄを選んだ場合の３次元空間における４点の位置を示す図である。
【図８】自己組織化特徴マップの構造を示す図である。
【図９】競合学習の距離基準にユークリッド距離を用いた場合の領域図と隣接する素子の重みベクトル同志を結んだ図である。
【図１０】ノルムを示す成分としてＤ、１／Ｄを選んだ場合及び選ばなかった場合の領域図である。
【図１１】ノルムを示す成分として理論的なものを選んだ場合の領域図である。
【図１２】本発明の第１実施例に用いる内積演算光学系の原理を示す図である。
【図１３】本発明の第２実施例に用いる内積演算光学系の原理を示す図である。
【図１４】本発明の第１実施例の構成の概略を示す図である。
【図１５】本発明の第２実施例の構成の概略を示す図である。
【図１６】本発明の第２実施例の具体的な構成を示す図である。
【図１７】第２実施例に用いるノルム情報を付加する空間光変調器の正面図と側面図である。
【図１８】本発明の第２実施例の競合学習手段の構成を示す図である。
【符号の説明】
１…入力ベクトル取得手段
２…入力ベクトル加工手段
３…競合学習手段
１１…撮像装置
１２…ドライバー
１３…空間光変調器
２０…光束
２１…第１のベクトル成分総和検出手段
２１ａ…ビームスプリッタ
２１ｂ…集光レンズ
２１ｃ…ディテクタ
２２…第１の正規化手段
２２ａ…光量調整フィルタ
２２ｂ…ドライバー
２３…ノルム情報発生手段
２４…ノルム情報付加手段
２４ａ…発光素子
２４ｂ…ドライバー
２４ｃ…空間光変調器
２４ｄ…結像レンズ
２４ｅ…ドライバー
２５…第２のベクトル成分総和検出手段
２５ａ…ビームスプリッタ
２５ｂ…集光レンズ
２５ｃ…ディテクタ
２６…第２の正規化手段
２６ａ…光量調整フィルタ
２６ｂ…ドライバー
２７…加工結果表示手段
２７ａ…空間光変調器
２７ｂ…結像レンズ
２７ｃ…ドライバー
２８ａ…ビームスプリッタ
２８…光束
１０１…第２液晶テレビ
１０２…第１液晶テレビ
１０３…キセノンランプ
１０４…ディフューザー
１０５…レンズアレー
１０６…結像レンズ
１０７…ＣＣＤカメラ
１０８…マトリックス更新手段
２００…レーザー
２０１…ミラー
２０２…ビームエキスパンダ
２０３…光束
２０４、２２３、２２４…ビームスプリッタ
２０５、２０６…結像レンズ
２０７ａ…空間光変調器
２０７ｂ…ドライバー
２０８…レンズアレー
２０９…結像レンズ
２１０ａ…空間光変調器
２１０ｂ…ドライバー
２１１、２１２…ミラー
２１３…ビームスプリッタ
２１４…光束
２１５、２１６、２１７…ミラー
２１８、２１９、２２０、２２１…レンズ
２２２…Ｄａｍｍａｎｎ型グレーティング
２２３…ビームスプリッタ
２２５、２２６、２２７、２３１…シャッター
２２８…ビームスプリッタ
２２９…第３のベクトル成分総和検出手段
２２９ａ…ビームスプリッタ
２２９ｂ…集光レンズ
２２９ｃ…ディテクタ
２３０…第３の正規化手段
２３０ａ…光量調整フィルタ
２３０ｂ…ドライバー
２３２…ミラー
２３３…ビームスプリッタ
２３４…ビームスプリッタ
ＬＤ…発光ダイオード
ＣＬ…レンズ
【図１】
0003583484.tif 000010
【図２】
0003583484.tif 000011
【図３】
0003583484.tif 000012
【図４】
0003583484.tif 000013
【図５】
0003583484.tif 000014
【図６】
0003583484.tif 000015
【図７】
0003583484.tif 000016
【図８】
0003583484.tif 000017
【図９】
0003583484.tif 000018
【図１０】
0003583484.tif 000019
【図１１】
0003583484.tif 000020
【図１２】
0003583484.tif 000021
【図１３】
0003583484.tif 000022
【図１４】
0003583484.tif 000023
【図１５】
0003583484.tif 000024
【図１６】
0003583484.tif 000025
【図１７】
0003583484.tif 000026
【図１８】
0003583484.tif 000027