JPH05210648A - 自己組織型パタ−ン分類システム及び分類方法 - Google Patents

自己組織型パタ−ン分類システム及び分類方法

Info

Publication number
JPH05210648A
JPH05210648A JP4007489A JP748992A JPH05210648A JP H05210648 A JPH05210648 A JP H05210648A JP 4007489 A JP4007489 A JP 4007489A JP 748992 A JP748992 A JP 748992A JP H05210648 A JPH05210648 A JP H05210648A
Authority
JP
Japan
Prior art keywords
class
output
intermediate layer
signal
layer node
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.)
Granted
Application number
JP4007489A
Other languages
English (en)
Other versions
JP3088171B2 (ja
Inventor
Fumio Yoda
文夫 依田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPH05210648A publication Critical patent/JPH05210648A/ja
Application granted granted Critical
Publication of JP3088171B2 publication Critical patent/JP3088171B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Abstract

(57)【要約】 【目的】 少ないメモリ、短い処理時間で、しかも十分
な認識度のある自己組織型パターン分類装置及び方法を
得ることを目的とする。 【構成】 既に学習したパターンでクラス分けされたテ
ンプレートと比較する手段と、この比較手段で入力をク
ラス分けする手段と、入力信号が正しくクラス分けされ
たかを調べる手段と、入力に対し正解クラスが選択され
た時、正解クラスが他のクラスから離れたテンプレート
を持っていて、安定したクラス分けが出来るかどうか調
べる手段と、テンプレートが調整されて安定なクラス分
けが出来ているか調べて調整する手段とを設けた。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はパタ−ン分類システム
に関するものであり、特に、ニュ−ラル・ネットワ−ク
によるパタ−ン分類装置の自己組織化学習方法に関する
ものである。さらに詳しくは、入力パタ−ン信号を、該
当するクラスに分類する装置に関するものであり、入力
パタ−ン信号を繰り返し、提示することにより、正しい
結果を出力するように学習する分類装置に関するもので
ある。
【0002】
【従来の技術】文字認識装置や音声認識装置またはタ−
ゲット・リコグニッションに代表される認識型入力装置
は、入力されたパタ−ン信号をその入力パタ−ン信号が
属するクラスに正しく分類しなければならない。この認
識型入力装置を構成するために、テンプレ−ト手法や構
造解析法などのパタ−ン認識技術が開発されてきたが、
これらの手法は、入力パタ−ン信号を正しく分類するた
めに必要な情報を入手により開発し、入手により装置に
組み込まねばならなかった。これでは非効率で、誤りも
発生し易い。このような問題を解決するために任意の個
数のクラスの入力パタ−ン信号を、正しく分類するよう
に自分で編成を行うことのできるニュ−ラル・ネットワ
−クを用いたパタ−ン分類手法が提案されている。図1
7は、例えば『 StatisticalPattern Recognition with
Neural Networks : Benchmarking Studies 』,TeuvoKo
honen,Gyorgy Barna,and Ronald Chrisley,Proc. IEEE
International Conference on Neural Networks,Jul
y24-27,1988, vol.1 pp.66-67 に示された、学習ベクト
ル量子化手法2(Learning Vector Quantization 2)を
用いた従来の自己組織型パタ−ン分類装置の構成例を示
す図である。
【0003】さて図を参照すれば、従来装置は、複数個
(N個)の要素S1,S2,…, SN からなるN次元の入力
パタ−ン信号Sの各要素Si 1を入力するバッファとし
て働く入力層ノ−ド2、N個の入力層ノ−ド2から信号
線8を経由して受け取ったN次元の入力パタ−ン信号S
から後に詳述する中間層出力値10を生成するM個の中
間層ノ−ド3、M個の中間層ノ−ドの中間層出力値10
を信号線9を経由して、また外部から与えられた教師信
号6とに基づいて出力応答信号5と、また学習信号7と
を決定するLVQ2セレクタ4、および学習信号7を中間層
ノ−ドに伝える信号線11、とから構成されている。図
18は、i番目の中間層ノ−ドUi 3の構成を示す図で
あり、図中12は、入力パタ−ンSの各要素Sを、中間
層ノ−ドUi に格納した重み係数ベクトルWiの要素W
i1, Wi2, …, WiNで重み付けして比較する比較器、1
3は加算器、14は平方根算出器である。15は変換器
12により入力パタ−ン信号Sの要素Wijを重み係数ベ
クトルの要素Wijで重み付けした結果を加算器13に転
送する信号線、16は加算器で計算した結果を平方根計
算器12に伝達する信号線である。
【0004】次に、図17と図18を用いて、従来装置
の動作について説明する。従来装置では、N個の要素S
i,S2,, …, SN で表される入力パタ−ン信号S 1
を、入力パタ−ン信号が属するクラスに分類する『認識
モ−ド』と、入力パタ−ン信号を正しく分類できるよう
に中間層ノ−ド3に格納した重み係数ベクトルWi を修
正する『学習モ−ド』とで動作する。まず、『認識モ−
ド』について説明する。『認識モ−ド』では、まず外部
に入力装置から入力パタ−ン信号SのN個の要素S1,S
2,…, SN を受け取り、入力パタ−ン信号S 1の属す
るクラスを判定し、この結果を出力応答信号5として出
力する。以下この動作について説明する。N個の要素S
i,S2,, …, SN からなる入力パタ−ン信号Sの例とし
ては、文字認識や音声認識などの分野で,前処理あるい
は特徴抽出を行った後の信号を考えることができる。こ
れらの方法については、多く発表されているが、例えば
文字認識のパタ−ン信号Sとしては、『A Comparison o
f A Nearest Neighbour Classifier And A Neural Netw
ork For Numeric Handprint Character Recognition 』
,W.E.Weiderman,M.T. Manry and H.C.Yau,Proc.Intern
ational JOINT Conference on Neural Networks,June 1
8-22,1989, Vol I pp. 117-120に述べられている幾何モ
−メント(Geometric Moment)やトポロジカルな特徴
(TopologicalFeatures)などが該当する。
【0005】出力応答信号5は、本装置で判定したクラ
ス情報に該当する。すなわち、例えば、本装置が英字大
文字『A』〜『Z』で構成される26種類のクラスを分
類するように用いられた場合には、出力応答信号5とし
て、『A』〜『Z』の26種類のクラスのうちのいずれ
かの情報を出力するように動作する。これは、後述する
ように、中間層ノ−ド3に格納した重み係数と入力パタ
−ン信号S 1とを整合させることによって達成され
る。すなわち、中間層ノ−ド3の比較器12に格納した
重み係数は文字の特徴を代表するテンプレ−トとして動
作する。中間層ノ−ド3は、入力層ノ−ド2から信号線
8を介して転送された入力パタ−ン信号S 1と中間層
ノ−ドに格納した重み係数とに基づいて、中間層出力値
10を作成する。例えば、i番目の中間層ノ−ドUiの
中間層出力値10をOiで記述した場合、中間層出力値
Oiは、下記式(1)にしたがって計算される。
【0006】
【数1】
【0007】ただし、Sj は入力パタ−ン信号Sの第j
番目のスカラの要素、Wijは第i番目の中間層ノ−ドU
i に格納した重み係数の第j番目のスカラの要素であ
る。式(1)に示す中間層出力値Oi は、図18のブロ
ック図で示すごとく、中間層ノ−ドで計算される。すな
わち、重み係数をもつ比較器12で入力パタ−ン信号S
の各要素Sjと中間層ノ−ドUi に格納した重み係数の
要素Wjiとの差を二乗し、この値が信号線15を介して
加算器13に転送される。加算器13で加算された値は
信号線16を介して平方根算出器14に転送される。平
方根算出器では、この加算された値の平方根が計算さ
れ、中間層ノ−ドUi 3の中間層出力値Oi として信
号線9を介し、LVQ2セレクタ4に転送される。中間層ノ
−ド3には、各クラスを代表するテンプレ−トとして動
作する重み係数が比較器12に格納されており、認識対
象のクラスの種類よりも多くの数が用いられる。すなわ
ち、一つのクラスに対応する中間層ノ−ドは、複数個存
在し、一つのクラスに属する複数個の中間層ノ−ドが該
クラスのパタ−ン信号の分布を表すものである。例え
ば、図19で示す如き種々の形で表される文字パタ−
ン、例えば「A」に代表される中間層ノ−ドUa1, Ua
2, Ua3と、文字パタ−ン「B」に代表される中間層ノ
−ドUb1, Ub2, Ub3, Ub4とがある。
【0008】同一クラスのテンプレ−トを持つ、異なっ
た中間層ノ−ドを明確化させる他の方法は、各テンプレ
−トをベクトルとして取り扱うことである。図20で、
文字「A」と文字「B」に注目する。これらの「文字」
は形の検出用に使用され、各テンプレ−トは2点のスカ
ラ−量(X1,X2 )からなるベクトルを持つ。これは、
パタ−ン認識分野におけるマルチ・テンプレ−ト手法の
テンプレ−トの概念に対応し、中間層ノ−ドUa1, Ua
2, Ua3はすべて文字「A」の分布を表し、中間層ノ−
ドUb1, Ub2, Ub3, Ub4はすべて文字「B」の分布を
表し、各パタ−ンの分布によっての数は異なるものであ
る。上記式(1)で表される、第i番目の中間層ノ−ド
Ui の中間層出力値Oi は、入力パタ−ン信号ベクトル
S 1と重み係数Wijで表されるテンプレ−ト・ベクト
ルとのベクトル空間におけるユ−クリッド距離を示して
いる。すなわち、中間層出力値Oi の値が小さいほど、
つまりユ−クリッド距離が短いほど入力パタ−ン信号ベ
クトルS 1と重み係数Wijで表されるテンプレ−ト・
ベクトルが類似していることを示すものである。このよ
うな概念に基づいて、上記LVQ2セレクタ4は、中間層ノ
−ド3から転送された中間層出力値10のうち、最小値
を与える中間層ノ−ドUkmin を入力パタ−ン信号にも
っとも近い中間層ノ−ドとして選択し、この中間層ノ−
ドUkmin に該当するクラス名を、出力応答信号5とし
て出力する。図20で、入力信号Sがベクトルを表すと
すると、中間層ノ−ドUa1〜Ua3,UB1〜Ub4までの距
離はOa1〜Oa3,Ob1〜Ob4となる。中間層ノ−ドUa1
が最小距離Oa1を与える。従って、システム出力5は、
文字「A」を中間層ノ−ドUa1に属するものとして応答
信号を出す。
【0009】次に、従来装置の、『学習モ−ド』につい
て説明する。『学習モ−ド』においては、上述『認識モ
−ド』と同様の処理で決定した出力応答信号5と外部か
ら与えられた教師信号6とを比較し、正しく分類できな
かった場合、上記中間層ノ−ド3の比較器12の重み係
数の値を変えることにより本装置の学習機能を達成す
る。具体的には、LVQ2セレクタ4は、『認識モ−ド』で
決定した出力応答信号5のクラス名と教師信号6で与え
られる正解クラス名とを比較する。もし、両者が異なっ
ている場合、本システムは正しく機能してないとみな
し、重み係数修正処理に入る。すなわち、すべての中間
層ノ−ド3の中間層出力値10のうち、最も小さい値と
2番目に小さい値とを検出した後、下記条件を満たすか
否かを判定する。そして、下記条件を満たす場合、学習
信号7により信号線11を介して指示した中間層ノ−ド
の比較器12の重み係数を、式(2)の条件の下に、後
に述べる式(3)に従って修正する。
【0010】学習条件は次の通りである。Ui は最も小
さい中間層出力値Oi を出力した(入力パタ−ン信号S
に最も近いと判定された)中間層ノ−ド、Ui は2番目
に小さい出力値Oj を出力した(入力パタ−ン信号Sに
次に近いと判定された)中間層ノ−ドである。また、中
間層ノ−ドUi はクラスCi に属し、中間層ノ−ドUj
はクラスCj (Ci ≠Cj)に属する。更に、入力パタ
−ン信号SはクラスCi には属さない。かつ、入力パ
タ−ン信号Sは、式(2)に示す指定した窓の条件に入
っていなければならない。 Oj −Oi ≦th2 …(2) ただし、th2はあらかじめ定めた固定のしきい値であ
る。
【0011】重み修正方法は次の通りである。中間層ノ
−ドUi とUj に格納した重み係数の値を下記式(3)
にしたがって修正する。 中間層ノ−ドUi の重みWik(t+1)=Wik(t)-α(t)[Sk-
Wik(t)] 中間層ノ−ドUj の重みWjk(t+1)=Wjk(t)+α(t)[Sk-
Wjk(t)] for k=1,…N …(3) ただし、t は時刻t をあらわす単調増加する整数(t=1,
2,,…)。また、α(t)は、十分小さい値を持つ、単調
現象関数であり、たとえばα(t) =1/(t+1)などで計
算する。いま、中間層ノ−ドUi は入力パタ−ン信号S
に最も近いが正解クラスとは異なっており、中間層ノ−
ドUj は入力パタ−ン信号Sに次に近くて正解クラスで
あるとする。このとき式(2)は、図21のウインドウ
領域Wの中に入力信号Sが入ることを意味する。ウイン
ドウWは、中間層ノ−ドUi とUj の重み係数を持つ近
接テンプレ−トの境界付近でth2の幅を持っている。
これらのテンプレ−ト・ベクトルは、図21(a)中の
220aと220bで示される。もし、入力パタ−ン信
号ベクトル5がウインドウ領域Wの中に入るなら、入力
パタ−ンは近接テンプレ−ト・ベクトルの境界領域にあ
る。そして、入力パタ−ン信号は高精度で正しく区別す
ることが出来ない。
【0012】このような誤りを修正するために、上記の
式(3)の第一の式により、入力パタ−ン信号Sと異な
るクラスの中間層ノ−ドUi の重み係数で表されるテン
プレ−トを、ベクトル空間上において入力パタ−ン信号
Sと引き離すように、中間層ノ−ドUi の重み係数を修
正する(図21(a)のm1 に対応する)。また、上記
の式(3)の第二の式により、入力パタ−ン信号Sと同
一クラスの中間層ノ−ドUj の重み係数で表されるテン
プレ−トを、ベクトル空間上において入力パタ−ン信号
Sに近付けるように、中間層ノ−ドUj の重み係数を修
正する(図21(a)のm2 に対応する)。この結果、
図21(b)に示すように重み係数は調整される。この
様にして、この学習を繰り返すことにより、すべての中
間層ノ−ドの重み係数が、正しく入力パタ−ン信号を分
類できるように構成されていくという特徴をもつ。上記
『学習モ−ド』は、学習するために用意された、すべて
の入力パタ−ン信号に対し適用し、上記の式(3)に示
す中間層ノ−ドの重み係数ベクトルが修正されなくなる
まで繰り返される。これは学習専用で行っても良く、通
常の認識、モ−ドと併用して行っても良い。
【0013】
【発明が解決しようとする課題】上記従来のLVQ2学習手
法を用いたニュ−ラル・ネットワ−クによるパタ−ン分
類装置は以上のように構成されているので、上記文献
『Statistical …Networks:Benchmarking Studies 』で
述べられているように、類似したクラス間のパタ−ン信
号分布における識別境界を正しく設定出来るように中間
層ノ−ドの重み係数を修正する優れた学習法である。し
かし本手法は、類似したクラス間のパタ−ン信号分布に
おける識別境界を正しく設定するように重み係数を修正
する学習方法であるため、既存の重み係数で表されるテ
ププレ−トとかけ離れた入力パタ−ン信号が入力される
と、誤った分類を発生させてしまい、上記窓の条件式
(2)を満足せず、学習が行われない。さらにまた、入
力パタ−ン信号Sに最も近いと判定されたクラスCi と
入力パタ−ン信号Sに次に近いと判定されたクラスCj
のクラスが共に、学習信号として与えられた正しいクラ
スと異なる場合、学習が行われない。したがって、中間
層ノ−ドの重み係数の改善が行われない。このため、学
習が収束しなくなる。さらに、本装置に登録されていな
いクラスの入力パタ−ン信号が入力されたとき、該当ク
ラスス中間層ノ−ドがないため、学習することが出来な
いという課題があった。
【0014】この発明は、上記のような課題を解決する
ためになされたもので、どの様な入力パタ−ン信号に対
しても安定に正しく学習出来る自己組織型パタ−ン分類
システムを得ることを目的とする。
【0015】
【課題を解決するための手段】この発明における自己組
織型パタ−ン分類システムは、学習済のパタ−ンでクラ
ス分けしたテンプレ−トを持ち、このテンプレ−トと比
較する手段と、この比較手段により入力をクラス分けす
る手段と、このクラス分けが正しいか確認する手段と、
さらに正解クラスが他のクラスと十分離れているか調べ
る手段と、テンプレ−トが安定か確認する手段とを設け
た。または、学習済のパタ−ンでクラス分けしたテンプ
レ−トを持ち、このテンプレ−トと比較する手段と、こ
の比較手段により入力をクラス分けする手段と、このク
ラス分けが正しいか確認する手段と、さらに正解を示す
クラスのテンプレ−トがあるかを調べる手段と、クラス
分けが正しくないときや正解クラスが選べないときに、
新しいクラス用のテンプレ−トを生成する手段を設け
た。
【0016】または、入力パタ−ン信号の各要素用の入
力バッファと、この入力パタ−ンの各要素から重み付け
て中間層出力を生成する中間層ノ−ド群と、さらにこれ
らの中間層ノ−ド群をクラス別にした各クラスの中間層
ノ−ドの中間層出力値中の最小値を得て各クラス信号と
して出力する出力ノ−ド群と、さらに中間層出力の最小
値を出力する中間層ノ−ドのクラスを示す出力を外部へ
出力し、また学習信号を中間層ノ−ドに出力するセレク
タと、この学習信号としては出力ノ−ド群の出すクラス
信号と外部からの教師信号であって、この学習信号によ
り中間層ノ−ドの重みを調整する手段とを設けた。また
は、上記の構成において、セレクタは少なくとも認識モ
−ドと学習モ−ドの別を持ち、認識モ−ドでは各クラス
信号を表す中間層ノ−ドの出力値から、中間層出力値の
最小値を求めて、その最小値を与える出力のクラス名を
出力し、学習モ−ドでは各出力ノ−ドが出力するクラス
名と外部からの教師信号によって、中間層ノ−ドの重み
係数を修正する手段を設けた。
【0017】または、入力パタ−ン信号の各要素用の入
力バッファと、クラス分けのためのパタ−ン用のテンプ
レ−ト群と、上記入力とこれらテンプレ−トとを比較
し、差出力する中間層出力手段群と、これら中間層出力
を選択してクラス信号とし、出力する受信手段と、これ
ら受信手段のクラス中から、最小値を出すクラスを選択
する選択手段を設けた。または、入力パタ−ンと、各ク
ラスを表すテンプレ−トとを比較するステップと、これ
らの比較結果中の差の最小値を選択してそのクラスの最
小値と定めるステップと、さらに各クラス最小値中から
最小の値を選ぶステップと、入力パタ−ンをその選ばれ
た最小の値のクラスとするステップとを備えた。
【0018】
【作用】この発明における自己組織型パタ−ン分類シス
テムでは、まず学習済のパタ−ンで区分されたテンプレ
−トと入力パターンとが比較され、その差信号の最も小
さなものがクラスを表す信号となるよう選ばれる。この
とき隣接クラスと十分に差があるかどうかも調べられ
る。また、クラス分けが出来ないか、学習時とは異なる
誤ったクラス分けになる時は、テンプレ−トは修正され
る。または、入力パタ−ンは入力バッファに入り、入力
バッファの各要素から組み合わされた各中間層ノ−ドに
入り、これら中間層ノ−ド群中の最小値がクラス信号と
なる。また、クラス信号を出力する認識動作以外に、学
習動作時には、各クラス信号と教師信号とで中間層ノ−
ドの重み係数が変化する。または、まず入力と各クラス
のテンプレ−トとが比較され、その結果から最小差を示
すクラスが選ばれ、さらにその最小値からクラスが特定
される。
【0019】
【実施例】
実施例1.以下、この発明の一実施例を図1〜図16を
用いて説明する。図1は、本発明による自己組織化学習
法を用いた自己組織型パタ−ン分類システムの概念図で
ある。図において、本装置は以下の要素から構成され
る。N次元の要素S1,S2,…SN からなる入力パタ−ン
信号S 1を入力する入力バッファとして働く入力層ノ
−ド2と、N個の入力層ノ−ド2から信号線8経由で受
け取ったN次元の入力パタ−ン信号Sから中間層出力値
10を生成するM個の中間層ノ−ド3と、同一クラスに
属する中間層ノ−ドの中間層出力値10を信号線20経
由で入力とし、その中間層出力値10の最小値を求め、
その中間層ノ−ド番号と中間層出力値10を識別子とな
るクラス信号17として出力する出力層ノ−ド18と、
出力層ノ−ドから転送されたクラス出力信号17と外部
から与えられた教師信号6に基づいて、出力応答信号5
と、中間ノ−ドに対しては信号線11を経由して学習信
号7を出力する自己組織化セレクタ19とから構成され
る。図において、1,2,3,5〜8,10は従来装置
と同一部分である。なお、入力信号はオ−ディオや映像
信号等で、入力パタ−ンはキャラクタ・パタ−ン、声
紋、ターゲットパターン等である。
【0020】本発明による装置は、従来の装置同様に、
入力パタ−ン信号をそれに対応するカテゴリに分類する
『認識モ−ド』と中間層ノ−ドの重み係数ベクトルを修
正する『学習モ−ド』とで動作する。まず『認識モ−
ド』の動作を述べる。従来の装置と同様な方法により、
まず、入力層ノ−ド2で、入力パタ−ン信号SのN個の
要素S1,S2,…SN を受け取る。中間層ノ−ド3は、入
力層ノ−ド2から転送された入力パタ−ン信号S 1と
中間層ノ−ド3の比較器12の重み係数とに基づいて、
従来例でも述べた式(1)の中間層出力値10を作成す
る。つまり、中間層出力値10は、入力パタ−ン信号の
各要素と対応する重み係数Wijとの差の2乗和の平方根
である。中間層ノ−ド3の中間層出力値10は、信号線
20を介して、その中間層ノ−ドが表すクラスの出力層
ノ−ド18へ転送される。出力層ノ−ド18は、複数個
の中間層ノ−ドから転送された中間層出力値10のなか
から最小値をあたえる中間層ノ−ドをこのクラスを代表
する中間層ノ−ドとして選択し、この中間層出力値をク
ラス信号17として、信号線21を介して自己組織化セ
レクタ19に転送する。自己組織化セレクタ19は、出
力層ノ−ド15から送られたクラス出力信号17として
送られた各クラスを代表する中間出力値のなかから、最
小値をあたえる出力層ノ−ドを、入力パタ−ン信号が属
するクラスの出力層ノ−ド18として決定し、この出力
層ノ−ドの表すクラス名を出力応答信号5として外部に
出力する。
【0021】次に、『学習モ−ド』の動作を述べる。本
モ−ドにおいては、上記『認識モ−ド』と同様の処理に
より、出力層ノ−ド18から送られたクラス出力信号1
7と出力応答信号5および外部から与えられた教師信号
6とに基づいて、上記中間層ノ−ド3の比較器12の重
み係数の値が修正される。具体的には、重み係数は式
(3)で規定される様に変化する。本発明によるシステ
ムでは、従来例と違って、出力応答信号5で示されるク
ラス名と教師信号6で与えられた正解クラス名とが異な
るため、誤って分類した場合以外に、出力応答信号5で
示されるクラス名と教師信号6で与えられた正解クラス
名とが同じであって、正しく分類された場合にも、中間
層ノ−ド3の比較器12の重み係数を学習するように動
作する。
【0022】図2はシステムが学習をし、安定なクラス
分けを行う動作を示したフロ−チャ−ト図である。重み
係数を修正するために、自己組織化セレクタ19は、ま
ず、『認識モ−ド』と同様にして得た、入力パタ−ン信
号1を分類した出力応答信号5から得られるクラス名
と、教師信号6で与えられた正解クラス名とを比較する
(図2中のステップ200)。もし、出力応答信号5で
示されるクラス名と教師信号6で与えられた正解クラス
名とが同一であれば、この正解クラスが安定して分類さ
れたか否かを判定する(同じくステップ202)。安定
に分類されたか否かを知るため、自己組織化セレクタ1
9は、出力層ノ−ド18から転送されたクラス出力信号
17からえられる各クラスを代表する中間層出力値のな
かから、2番目に小さい値を与える出力層ノ−ドを検出
する。このクラスを代表する中間層ノ−ド番号Ui とそ
の出力値Oi をもとめ、値Oi と正解クラスの出力層ノ
−ド18からもとめた該当クラスを代表する中間層ノ−
ドUj の中間層出力値Oj とを条件式(4)で比較す
る。 Oi −Oj ≦th2 … (4) ただし、th2はあらかじめ定めた固定のしきい値であ
る。th2の値は、すでに述べたウインドウWを決め
る。th2の値は入力パタ−ンのサンプルデ−タの標準
偏差σを計算することで得られる。たとえば入力パタ−
ンの10区分クラスに設定されたサンプルデ−タが、入
力パタ−ン信号のためのth2の値を決めるのに使われ
る。標準偏差をσ1,σ2,…σ10とすると、th2の値は
次のようになる。
【0023】
【数2】
【0024】th2の値は実験等で調整される。上記条
件式(4)は、入力パタ−ン信号Sに最も近いと判定さ
れた、正解クラスを代表する中間層ノ−ドUj の中間層
出力値Oj と、正解クラスと異なりかつ入力パタ−ン信
号Sに次に近いと判定された中間層ノ−ドUi の中間層
出力値Oi との値が近接しており、この1つの中間層ノ
−ドUi とUj とに格納されている重み係数は、類似し
て誤り易い状況にあることを意味するものである。そこ
で、上記条件式(4)を満足する場合、式(3)に基づ
いて中間層ノ−ドUi とUj との重み係数を修正する
(ステップ204)。もし、出力応答信号5で示される
クラス名と教師信号6で与えられた正解クラス名とが異
なる場合は、正しく分類できるようにするために、中間
層ノ−ドの重み係数を調整する。ここで、不適当な分類
は以下のいずれかの理由で発生する。 (1)自己組織型パタ−ン分類システムに無いクラスの
パタ−ン信号が入力されて誤った。 (2)すでに登録してある中間層ノ−ドの重み係数ベク
トルが表すテンプレ−トとベクトル空間上で掛け離れた
入力パタ−ン信号が入って来てために誤った。 (3)正解クラスに属する中間層ノ−ドに格納した重み
係数ベクトルと、正解クラス以外の中間層ノ−ドに格納
した重み係数ベクトルとが、ベクトル空間上で近接して
存在しているため誤った。
【0025】自己組織化セレクタ19は、まず教師信号
6で与えられた正解クラス名に該当するクラスの出力層
ノ−ドが存在するか否か、調べる(ステップ206)。
もし、正解クラスに該当するクラスの出力層ノ−ドが存
在しなければ、図3に示すように正解クラスの出力層T
h22がネットワ−クに加算される(図2のステップ2
10)。同様に、図3の例に示すように、正解クラスの
出力層ノ−ドTh22と入力パタ−ン信号Sの各要素を
重み係数にした中間層ノ−ドUM+1 23、および入力
層ノ−ドと中間層ノ−ドUM+1 23を接続する信号線
24、また、中間層ノ−ドUM+1 23と正解クラスの
出力層ノ−ドTh22を接続する信号線25、および正
解クラスの出力層ノ−ドTh22を自己組織化セレクタ
19接続する信号線26を、自己組織型パタ−ン分類シ
ステムに追加する。ここで、中間層ノ−ドUM+1 23
の重み係数としては、入力パタ−ン信号の各要素を割り
当てることにより実現する。また、出力層ノ−ドTh2
2には、新しいクラス名を登録する。
【0026】もし、正解クラスに該当するクラスの出力
層ノ−ドが存在する場合、自己組織型セレクタ19は以
下の処理を行う。正解クラスの出力層ノ−ドから得られ
る該当クラスの中間層ノ−ドUj の中間層出力値Oj
が、条件式(6)を満足するか否かを判定する。 Oj ≧ th1 … (6) ただし、th1はあらかじめ定めた固定のしきい値であ
る。定数th1は、入力パタ−ン信号ベクトルSと、正
解クラスの最小出力値を出す中間層ノ−ドUj の重み係
数で表されるテンプレ−ト・ベクトルとが十分な距離以
上に離れているか否かを判定する基準であるり、定数t
h1はベクトル空間の基準距離とみなされる。th1の
近似値は、入力パタ−ン信号のあるクラスのサンプルデ
−タの標準偏差σを計算して得られる。例えば、10ク
ラスの入力パタ−ン信号のサンプルが既知の入力パタ−
ン信号のth1を決めるのに用いられる。10クラスの
標準偏差σ1,σ2,…, σ10が決められると、th1は次
の式(7)で与えられる。
【0027】
【数3】
【0028】thの値は例えば実験で調整される。式
(6)は、入力パタ−ン信号と、中間層ノ−ドUj (正
解クラスを表す)の重み係数で表されるテンプレ−トと
の間のベクトル空間での距離が、しきい値th1(大き
な値に設定してある)より十分に大きいか否かを決める
のに有効である。したがって、条件式(6)を満たす場
合(図2のステップ208)、すでに登録してある正解
クラスの中間層ノ−ドの重み係数ベルトルが表すテンプ
レ−トと、ベクトル空間上で掛け離れた入力パタ−ン信
号が、入ってきたことを意味する。このため、この条件
式(6)を満たす場合、図4に示すように、入力パタ−
ン信号Sの各要素を重み係数とした中間層ノ−ドUL
27と、入力層ノ−ドと中間層ノ−ドUL 27とを接
続する信号線28および中間層ノ−ドUL 27と正解
クラスの出力層ノ−ドを説属する信号線29を追加する
(図2ステップ212)。ここで、中間層ノ−ドUL
27の重み係数としては、入力パタ−ン信号の各要素を
割り当てることにより実現する。
【0029】もし、応答信号5で示されるクラスが教師
信号6で示されるクラスに適合しなかった場合、そして
(6)式は満足しないが正解クラスと認められる出力が
あった場合は、出力層ノ−ド18から送られたクラス出
力信号17のなかから、クラスを代表する中間層出力値
のうち最小値を与える出力層ノ−ドから求まる中間層ノ
−ド番号Ui とその中間層出力値Oi を検出する。さら
に、この値Oi と中間層ノ−ドUj (正解クラスの出力
層ノ−ドから得られたクラスを代表する)の出力値Oj
が(8)式を満足するか否かを判定する。 Oj −Oi ≦th2 … (8) ただし、th2は、上述のようにあらかじめ定めた固定
のしきい値である。条件式(8)を満たす場合は、正解
クラスに属する中間層ノ−ドに格納した重み係数で表さ
れるテンプレ−トと、正解クラス以外の中間層ノ−ドに
格納した重み係数のテンプレ−トがベクトル空間上で近
接しているため誤ったことを意味する(図2のステップ
216)。このため、先に述べた(3)式にしたがって
中間層ノ−ドUi とUj の重み係数を修正する(図2の
ステップ214)。
【0030】上記いずれの場合にも当てはまらずに誤っ
て分類された場合は、正解クラスに属する中間層ノ−ド
Uj に格納した重み係数ベクトルのみを下記式(9)式
にしたがって、修正する(図2のステップ218)。 中間層ノ−ドUj の重み Wjk(t+1)=Wjk(t)+α(t)[Sk-Wjk(t)] … (9) for k=1,… N ただし、tは時刻tをあらわす単調増加する整数(t=
1,2,…)。また、α(t) は、0と1の間の十分小さ
い値を持つ、単調減少関数であり、例えばα(t) =1/
(t+1) またはe-tなどで計算する。α(t) として大きな
値を選んだ場合は不安定になることがあるので、小さな
値が望ましい。α(t) は減少関数であり、更新毎に安定
性を増す。
【0031】図5は、すでに多く利用されているモトロ
−ラのMC68030のようなマイクロプロセッサに代
表される逐次型デジタル計算機によって、上記の本発明
を実現した一例である。本装置は、入力パタ−ン信号を
格納する入力信号バッファ30を持つ。このバッファは
図1の入力ノ−ド2に対応している。この他、中間層ノ
−ドの重み係数および出力層ノ−ドのクラス情報(図
1)を、格納保存しておく磁気ディスク等の外部メモリ
31、実行時の中間層ノ−ド3(図1)の重み係数と出
力層ノ−ド18のクラス情報を格納しておくRAM(Ra
mdom Access Memory)32を持つ。さらに、Adder,Muil
iplierなどの論理演算装置で構成されており中間層出力
値および重み係数を修正する演算装置33、演算装置の
結果を格納する出力応答信号格納バッファ34を持つ。
外部メモリ31、入力信号バッファ30、RAM32、
演算装置33と応答信号バッファはバス224で結合さ
れている。学習条件を判定するためのしきい値と実行プ
ログラムを格納したROM(Read Only Memory)35お
よび制御装置36もシステムの構成要素である。
【0032】図6は、図5のシステムでのメモリ中に、
出力層ノ−ド、中間層ノ−ド、重み係数が記憶されてい
る状態を示す。また、図6は、図5のシステムで実行さ
れるソフトウェア・プログラムの変数を保持するテ−ブ
ルも示している。図6中で示されるように、メモリ空間
は4つのテ−ブルを持っている。すなわち、変数テ−ブ
ル101と、出力層ノ−ドテ−ブル102と、中間層ノ
−ドテ−ブル103と、重み係数テ−ブル104であ
る。変数テ−ブルは各種の定数、変数の現在値を持って
いる。例えば、定数th1105はアドレス0に数値2
0でストアされており、定数th2 106はアドレス
1に値4でストアされている。これらの数値は(7)式
と(5)式で表されるしきい値である。他の変数として
変数テ−ブルに含まれるものは、学習サイクルの最大回
数を表す最大時間107があり、また、許容出力層ノ−
ド中の最大数を表す最大出力層ノ−ド数108や、中間
層ノ−ドの最大数を表す最大中間層ノ−ド数109も含
まれる。さらに、Nは入力信号ベクトル中の要素数を示
し、時間カウント(学習回数)111の値は、現在学習
中の回数を表している。さらに変数テ−ブルは終了フラ
ブ112も持っている。
【0033】メモリは出力層ノ−ド102も持ってお
り、このテ−ブル102は出力層ノ−ドを形成するに必
要な情報が記憶されている。出力層ノ−ドテ−ブルの最
初にはテ−ブルに保持されている出力層ノ−ドの数を示
す出力層ノ−ド数113の値が入っている。図6での例
では、26の出力層ノ−ドがある。最初の数値がテ−ブ
ル中の出力層ノ−ドの数を示しているのに続き、テ−ブ
ルにはネットワ−ク中の各出力層ノ−ドに各一つの記録
が割り当てられるようになっている。これらは出力層ノ
−ド情報114として割り当てられる。各記録は幾つか
の区分を持ち、まず、出力層ノ−ドの出力クラス名を示
す出力クラス115の領域を持っている。また、最小中
間層出力を出す代表中間層ノ−ド番号116と代表中間
層出力117も持っている。さらに、入力信号のクラス
としてどれだけ出力層ノ−ドのクラスが選択されたかを
示す使用頻度118の部分も持っている。他に、空白の
出力空白領域119もある。
【0034】中間層ノ−ドテ−ブル103は中間層ノ−
ドに関する記録部分で、先頭部分にはテ−ブル中にある
中間層ノ−ドの数を示す中間層ノ−ド数120がくる。
図6の例では、280のノ−ドがある。この中間層ノ−
ド数が示されているのに続き、各中間層ノ−ドの記憶部
分があり、中間層ノ−ド情報121のように表示され
る。これらの記録は各中間層ノ−ドに関する有効な情報
を保持していて、最初の領域は中間層ノ−ドのクラスを
示す中間クラス名122である。図6の中間層ノ−トテ
−ブル103の例では、クラス名はアルファベットの
「A」である。また、中間層ノ−ドの数を表すノ−ド数
123の領域がある。ノ−ドの数は通常、整数であり、
単調増加する。さらに重み係数テ−ブルへのポインタ数
も持っていて、これは重み係数ポインタ124で示され
る領域である。このポインタはその中間層ノ−ドの各重
み係数群127を指示している。詳しくは、そのブロッ
クの先頭を示している。各ブロックは入力信号の要素数
Nに対応してN個登録されている。さらに中間層ノ−ド
テーブルは、中間層ノ−ドの出力値を保持する中間層出
力125の部分も持っている。中間層ノ−ドテ−ブル1
03は、空白領域として、中間層空白領域126を持
つ。この大きさは実行過程で変化し、応用例でも変化す
る。メモリには既述の、重み係数テ−ブル104もあ
る。これは各中間層ノ−ドの重み係数のブロックを保持
していて、中間層ノ−ドテ−ブルのポインタがこのブッ
ロクの先頭を示す。他のテ−ブル同様、このテ−ブルに
も重み係数空白領域128がある。これらの役割詳細は
後述する。
【0035】図7,図8,図9は、図5中のデ−タ処理
システムでの単一プロセサが、学習モ−ドでどう動作す
るかを示したフローチャートである。プログラムを走ら
せたとき、まず中間層ノ−ドと出力層ノ−ドの情報が外
部メモリ31からRAM32にロ−ドされているか、制
御ユニット36(図5)により、出力層ノ−ドテ−ブル
102と中間層ノ−ドテ−ブル103(共に図6)に基
づいてチェックする(図7のステップ37)。もしロ−
ドされていなければ、システムは中間層ノ−ドと出力層
ノ−ドの情報のデ−タが外部メモリ31(図5)に格納
されているか否かを判定する(図7のステップ38)。
もし、格納されているならば外部メモリからRAM32
(図5)に上記情報をロ−ドする(図7のステップ3
9)。該当するデ−タが外部メモリに無い場合、RAM
内の中間層ノ−ドの情報と出力層ノ−ド情報を、テーブ
ルの中間層ノ−ド数120と出力層ノ−ド数113(共
に図6)に設定して初期化する(図7のステップ4
0)。次に、学習終了フラグ(end-flag)(図6中の1
12)をOFF、学習ル−プの回数(time-count)(同
111)を1に初期化する(図7のステップ41)。
【0036】以下、学習終了フラグ(end-flag)が、O
Nになるまで以下の処理を繰り返す(図9のステップ7
0)。 [1]RAM32中の学習終了フラグ(end-flag)11
2を一旦ONにする(図7のステップ42)。 [2]学習用に用意された入力パタ−ン信号セットのう
ち、最初の入力パタ−ン信号を読み取るように入力信号
バッファ30中の入力パタ−ン信号ポインタを戻する
(図7のステップ43)。 [3]入力パタ−ン信号を入力装置(図12)から読み
込み、入力信号バッファ30(図5)に格納する(図7
のステップ44)。図12は、図5のシステムで使用さ
れる入力を読み込むための要素を示した図である。詳し
くは、例えば文字にクラス分けされるべき対象244
が、文字認識用ビデオカメラのような入力手段242で
走査される。ビデオ入力はキ−ボ−ド236、モニタ2
38を持つデ−タ端末234に入る。端末234は、各
種構成要素と相互に影響してシステムの使用者が利用可
能な状態になり、また、図5のシステム232に接続さ
れている。端末はまた、多数の異なった文字パタ−ンや
他のパタ−ンを記憶しているデ−タベ−ス230にも接
続されている。デ−タベ−スの利用法は以下に詳述す
る。文字認識の例では、入力デ−タ構造は図13に示さ
れる形となる。デ−タ構造は2つの部分からなる。最初
の部分250は、入力信号のクラス名を示し、第2の部
分252はビデオカメラ242から読み込まれたピクセ
ルパタ−ンである。図13に示されるように、そこでの
文字群すべてはピクセルパタ−ンが異なる同一デ−タ構
造を持つ。
【0037】[4]RAM32(図5)に格納した、す
べての中間層ノ−ドの重み係数104(図6)と、入力
信号バッファ30(図5)中の入力パタ−ン信号を、上
述した式(1)に基づいて演算装置33で計算し、すべ
ての中間層ノ−ドに対応する中間層出力地を求め、RA
M32(図5)の中間層出力125(図6)に格納する
(図7ステップ45)。 [5]RAM32中の代表中間層出力117(図6)に
格納された中間層ノ−ドの出力値のうちで最小値が、演
算装置33と制御ユニット36(図5)により、RAM
32中の中間層出力125と入力クラス名122に基づ
き計算され、これら中間層ノ−ド番号と中間層出力値は
代表中間層ノ−ド番号116と代表中間層出力117
(図10)に、クラスの中間層ノ−ドの出力クラス信号
として格納される(図7のステップ46)。 [6]最も小さい値を出力する出力層ノ−ドに対応する
クラス名を演算装置33と制御ユニット36で求め、代
表中間層出力117の値に基づいて、このクラス名を出
力応答信号とする(図7のステップ47)。 [7]入力パタ−ン信号の正解クラス名を教師信号6と
して入力装置(図12)から読み込む(図7ステップ4
8)。 [8]入力パタ−ン信号のクラス名と出力応答信号のク
ラス名とが等しいか否かを制御ユニット36(図5)で
判定する(図7ステップ49)。等しく無い場合、[1
3]の処理に進む。 [9]出力層ノ−ドのクラス出力信号のなかから、2番
目に小さい値を与える出力層ノ−ドに対応する中間層ノ
−ド番号Ui とその中間層出力値Oi 、および、正解ク
ラスの出力層ノ−ドから求まる中間層ノ−ドUj の中間
層出力値Oj とを制御ユニット36で検出する(図7ス
テップ50)。
【0038】[10]上記中間層出力値Oi と中間層出
力値Oj とが、上述した式(4)を満たすか否かを演算
装置33と、制御ユニット36で判定する(図7ステッ
プ51)。式(4)を満たさない場合、処理[27]へ
移る。 [11]もし式(4)を満たす場合、上述した式(5)
に従い中間層ノ−ドUiとUj の重み係数を修正してR
AM32中の重み係数テ−ブル104(図6)に格納す
る(図7ステップ52)。 [12]処理[26]へ移る。 [13]正解クラスに対応する出力層ノ−ドがあるか、
制御ユニット36で判定する。もし、在れば処理[1
7]へ移る(図8ステップ53)。 [14]RAM32内に、新しい中間層ノ−ド情報11
4、出力層ノ−ド情報121および重み係数127を格
納するエリアを確保する(図8ステップ54)。もし、
確保するスペ−スがなければ(つまり出力層ノ−ドの出
力空白領域119がなくなったか、または中間層ノ−ド
テ−ブル103の中間層空白領域がなくなったか、また
は重み係数テ−ブル104の重み係数空白領域128が
なくなった場合)、制御ユニット36は、そのメッセ−
ジを出力し(図8ステップ55)、処理[27]に移
る。 [15]確保した中間層ノ−ドの重み係数に、入力信号
バッファ30中の入力パタ−ン信号の各要素の値を格納
する(図8ステップ56)。そして、新たに出力層空白
領域119に得られたクラス名を出力クラス名115に
格納する。また、中間層空白領域126中の新クラス名
を中間クラス名122に格納する。 [16]処理[26]に移る。
【0039】[17]正解のクラスに属する出力層ノ−
ドによって与えられる、正解クラスに属する中間層ノ−
ドのうち、最も小さい中間層出力値を出力した中間層ノ
−ドUj の中間層出力値Oj が、上述した式(6)を満
たさない場合は、処理[21]に移る(図9ステップ5
7)。 [18]入力パタ−ン信号のクラスカテゴリに対応する
中間層ノ−ドを新しく追加する。すなわちRAM32内
に、新しい中間層ノ−ド用エリアを確保する(図9ステ
ップ58)。もし、確保するスペ−スが中間層空白領域
126になければ、その領域がないというメッセ−ジを
出力し(ステップ59)、処理[37]に移る。 [19]確保した中間層ノ−ドの重み係数127に、入
力信号バッファ30中の入力パタ−ン信号の各要素の値
を格納する(図9のステップ60)。 [20]処理[26]に移る。 [21]出力層ノ−ドのクラス出力信号から求まる代表
中間層出力117の出力値のなかから、最も小さい値を
与える出力層ノ−ドに対応する中間層ノ−ド番号Ui
と、その中間層出力値Oi が求まる。また、出力ノ−ド
テ−ブル102に格納された正解クラスの出力層ノ−ド
から得られる中間層ノ−ド番号Uj とその中間層出力値
Oj も検出される(図9ステップ61)。
【0040】[22]上記中間層出力値Oi と中間層出
力値Oj とが、上述した式(8)を満たすか否かを判定
する(ステップ62)。式(8)を満たさない場合、処
理[25]へ移る。 [23]式(8)を満たす場合、上述した重み係数修正
式(3)にしたがって中間層ノ−ドUi とUj の重み係
数を演算装置33と制御ユニット36により修正する
(図9ステップ63)。 [24]処理[26]に移る。 [25]上述した式(9)にしたがって、RAM32中
の重み係数テ−ブル104にある中間層ノ−ドUj の重
み係数を、演算装置33と制御ユニット36で修正する
(図9のステップ64)。 [26]学習終了フラグ(図6のend-flag112)をO
FFにする(図9のステップ65)。 [27]すべての学習用入力パタ−ン信号を処理したか
調べる。もし処理してないならば、制御を処理[3]へ
移す(図9ステップ66)。 [28]学習ル−プ(図6のtime-count111)の値を
1増やす(図9のステップ67)。 [29]学習ル−プ(time-count111)があらかじめ
定めた所定の値MAX-time107(図6)以上になったな
ら、学習終了フラグ112(図6のend-flag)をONに
する(図9のステップ69)。 [30]学習フラグ(end-flag)がOFFならば、処理
[1]に戻る(図9のステップ70)。 [30]学習した図6に示されるネットワ−ク情報を外
部メモリ31に保存する(図9のステップ71)。 [32]学習を終了する。
【0041】実施例2.なお、上記実施令は、逐次型デ
ジタル計算機によって、本発明を実現した一例である
が、本発明はこれに限らず、並列型デジタル計算機によ
って実現できる。図10は、例えば『A VLSI Architect
ure for High-performance,Low-cost,On-chip Learnin
g』,Dan Hammerstrom,Proceedings of International J
oint Conference On Neural Networks,June 17-21,199
0,Vol.2 pp.537 - 544に開示された並列型デジタル計算
機によって本発明を実現した一例である。本装置は、入
力パタ−ン信号を格納する入力信号バッファ30、中間
層ノ−ドの重み係数および出力層ノ−ド情報を格納保存
しておく磁気ディスク等の外部メモリ31、各々のクラ
スに対応する中間層ノ−ドと出力層ノ−ドの出力値を計
算するプロッセサ・エレメント72、学習条件を判定す
るためのしきい値とプログラムを格納したROM(Read
Only Memory)35および並列プロセッサ制御装置7
3、演算装置33、演算結果を保存するRAM74から
構成されている。プロセッサ・エレメント72は、各ク
ラスの重み係数を格納するRAM75、プロセッサ演算
装置76、出力信号格納レジスタ77、およびプロセッ
サ・エレメントが有効か無効かを示すための使用フラグ
格納バッファ78とから構成されている。
【0042】本装置の例では、ひとつのプロセッサ・エ
レメントが、中間層ノ−ドの中間層出力値と、出力層ノ
−ド18(図1)の出力クラス信号を計算するように割
り当てられている。そして、逐次型デジタル計算機によ
る例で示した図7,図8,図9に示すフロ−チャ−トの
うち、中間層ノ−ドの中間層出力値3と出力ノ−ド18
の出力クラス信号17を計算する処理を並列に計算する
点が、逐次型デジタル計算機を用いた場合と大きく異な
る。なお、出力層ノ−ドに登録されていない入力パタ−
ン信号を学習する場合、使用フラグによって無効となっ
ているプロセッサ・エレメントをサ−チし、このプロセ
ッサ・エレメントに新しく中間層ノ−ドと出力層ノ−ド
の機能を割り当て、使用フラグを有効にすることによ
り、達成する。本装置では、計算を並列に処理できるた
め高速なパタ−ン分類装置を得ることができる。
【0043】実施例3.なお、上記実施例では中間層ノ
−ドの演算として式(1)に示すユ−クリッド距離法を
用いる方法について述べたが、中間層ノ−ドの演算とし
て、パタ−ン認識の分野で周知の下記式(10)に示す
ベクトル間の内積で得られる類似度Piをもちいても良
く、上記実施例と同様の効果が得られる。 Oi =1 − Pi (10) ここで、Pi は以下の式(11)の定義による。また式
(11)中、Sj とWijは既に述べた定義の通りとす
る。
【0044】
【数4】
【0045】実施例4.上記のニュ−ロ・ネットワ−ク
・システムの生成、修正は、成長プロセスとして発生す
る。一般に、適合クラス認識用デ−タ処理システムの調
整に関係するステップは、メ−カ−段階とユ−ザ段階に
分けられる。図14はメ−カ−段階とユ−ザ段階に分け
られたステップのフロ−チャ−ト図である。判かり易く
するため、このフロ−チャ−トは文字認識に使用したシ
シテムを想定している。しかし上記のように、こうした
システムはオ−ディオ・パタ−ン認識や、タ−ゲット認
識にも使用できる。文字認識の基準はとても判かり易
く、メ−カ−段階の第1ステップでは、一般的な学習デ
−タが文字認識のために設けられる。このデ−タは、汎
用デ−タベ−ス、つまり文字認識、オ−ディオ・パタ−
ン認識、タ−ゲット認識用のシステムの情報を持ってい
るデ−タベ−スから読み込まれる。文字認識のための一
般学習デ−タ読み込みのため、文字認識に関する汎用デ
−タベ−スのある部分が図12のデ−タベ−ス230か
ら選択される(図14のステップ250)。
【0046】一旦、デ−タベ−ス230から一般学習デ
−タが選択されると、当初は中間層ノ−ドと出力層ノ−
ドを持たないニュ−ロ・ネットワ−クにこのデ−タを適
用する。そして図7、図8、図9で示された一般学習デ
−タで、中間層ノ−ドと出力層ノ−ドを生成、修正して
ゆく。例えば日本語認識のためのニュ−ロ・ネットワ−
クを生成するため、図15(a)で示す日本語270の
一般学習デ−タがデ−タベ−ス230(図15(a))
から選択される。そして中間層ノ−ドと出力層ノ−ドが
図7、図8、図9で示したように日本語の一般学習デ−
タが形成されてゆく。抽出されたニュ−ロ・ネットワ−
クの中間層ノ−ドと出力層ノ−ドの情報は、日本語認識
のためのマスタ−ノ−ドとして格納される。この抽出マ
スタ−デ−タは、日本語認識のために制作された全シス
テムに使用される。一旦このマスタ−デ−タが生成され
ると、これらのコピ−は異なるユ−ザ用に図14のステ
ップ254,258で示されるように組込ができ、シス
テムの大量生産が可能となる。殊に、マスタ−デ−タが
システムの外部メモリ31にロ−ドされると、各ユ−ザ
に送付できる。図14の場合は、デ−タベ−スはユ−ザ
1とユ−ザ2の外部メモリに組み込まれる。ステップ2
50,252,254,258はメ−カ−段階のステッ
プである。
【0047】ステップ256,260で構成されるユ−
ザ段階では、ユ−ザ・システム用に設置されたデ−タ
は、ユ−ザ個別に修正、または再調整される。これら個
別の調整後デ−タはユ−ザ・システムの外部メモリに設
置される。そうした可能性のあるタイプの例として特別
のフォントの作成がある。図15(b)で示すように、
システムにはクラス「A」用のテンプレ−ト262をメ
−カ−段階で用意する。しかしユ−ザはテンプレ−ト2
64のようなテンプレ−トに修正したいのかもしれな
い。両方のテンプレ−トは同一のクラス(即ち文字A)
であるが、デ−タはテンプレ−ト264を学習するよう
に調整される。一般に、一連のデ−タがメ−カ−段階で
設置されると、各々の特殊な文字パタ−ンは当初は中間
層ノ−ドを持たないニュ−ロ・ネットワ−クに適用され
る。そして、システムは文字テンプレ−トを学習し、特
殊文字パターンが入力されると、テンプレ−ト用に適当
な中間層ノ−ドを生成する。このように、全入力で各中
間層ノ−ドテンプレ−トを生成し、これが図14のステ
ップ252で実行されることである。
【0048】しかしユ−ザ段階のステップ256と26
0では、クラスを表す中間層ノ−ドは既にあり、既存の
テンプレ−ト・パタ−ンに加えられて、または修正され
て新しい中間層ノ−ドとなる。例えば、もしステップ2
56で、ユ−ザ1が既に日本語用に形成されたシステム
をドイツ語用に変更したいと考えたとすると、ニュ−ロ
・ネットワ−クにドイツ語を入力してドイツ語を認識す
るように学習する。この応用例は、ドイツ語パタ−ン用
の新しいテンプレ−トの学習または生成ができ、これら
は既知の日本語文字と一緒に保持される。ここで、こう
した例では入力パタ−ンの分離が重要であることを、強
調しておかなければならない。日本語パターンは、お互
いに極くわずかな違いしかないので、入力デ−タはその
わずかな違いを区別して高分解能で分離される必要があ
る(即ちピクセル数が多い)。ドイツ語はこれに反し
て、違いが大きいので、そんなに高い分解能はいらな
い。システムは既に日本語用に形成されており、高い分
解能を持っているので、そんなに高い分解能がいらない
ドイツ語認識は、たいして困難ではない。
【0049】これに反し、もしシステムが当初分解能が
低くてよいドイツ語文字用に形成されていた場合には、
これを用いた日本語文字の学習は問題となる。この対策
の一つは全言語に十分対処できる高分解能なものを用意
すればよい。しかし、これは効率との兼ね合いであり、
場合に応じて決める必要がある。さらに、デ−タ・キャ
ラクタ・タ−ゲットとか音声パタ−ン・デ−タのどの型
に対しても、入力データ構造は均一に形成され、単一シ
ステム形成で全パタ−ン認識に対応できなければならな
い。上記異なった文字列のシステム能力の議論の視点か
ら、他の必要なシステム仕様が述べられる。上記実施例
1によれば、ひんぱんには使われないメモリの部分は、
内部RAM32(図5)から消去され、外部メモリ31
に移されることもあった。詳しくは、あまり使用されな
い(即ち入力パタ−ンのクラスとして、あまり選択され
ない)出力層ノ−ド18と上記出力層ノ−ドに関係する
中間層ノ−ドは、外部メモリに移される。このペ−ジン
グに似た操作で、外部メモリ31に格納されているデ−
タは再び必要な時にフェッチされ、内部メモリ32に移
される。
【0050】転送操作のフロ−チャ−トが図16で示さ
れる。図6の使用頻度118の領域が各クラス毎にチェ
ックされる(ステップ270)。上記のように、この使
用頻度領域は入力のクラスとして選択される度毎にイン
クレメントされる。またこのシステムはどのグル−プが
一番使用されなかったかということも調べる(ステップ
272)。この例では、グル−プは、異なった言語列を
指す。もっと一般的には、各グル−プは文字認識以外の
応用のための異なったデ−タ列である。簡単な例が日本
語文字とドイツ語文字の例である。
【0051】このシステムでは、互いの出力層ノ−ドを
みて、最後のクラスまで到達したかをまずチェックする
(ステップ274)。もし最後のクラスまで到達してい
なければ、次のクラスをとりあげて(ステップ27
6)、使用頻度領域が0であるかどうかを調べる(ステ
ップ278)。もし0でなければ次のクラスを調べる。
もし0なら、そのクラスが最小使用頻度グル−プかどう
かを調べる(ステップ280)。もし最小使用頻度グル
−プなら、その出力層ノ−ドと対応する中間層ノ−ドは
外部メモリに転送される(ステップ280)。もし最小
使用頻度グル−プでないなら、そのクラスは転送されな
い。この方法は選択されたグル−プはよく使用されると
推定し、内部メモリに入れておくことを意味する
【0052】この転送手段は定期的に起動され、たとえ
ば1000字入力毎に行われる。学習モ−ドでは、もし
図1の教師信号6で与えられる正解クラスに属するノ−
ドがないときは、図5の制御ユニット36は、RAM3
2中に新しい正解出力層ノ−ドと中間層ノ−ドを生成す
る前に、外部メモリ31中に正解クラスの情報が転送さ
れているかどうかを調べる。あれば外部メモリから持っ
てくるし、もし外部メモリ31に正解クラスの出力層ノ
−ドと中間層ノ−ドがないなら、制御ユニット36が正
解クラスの出力層ノ−ドと中間層ノ−ドを生成する。
【0053】上記実施例以外に、本発明の形式か内容を
変化させ、本発明の本質を離れない範囲で種々の応用が
可能である。
【0054】
【発明の効果】以上のようにこの発明によれば、まずテ
ンプレ−トと入力パタ−ンを比較し、クラス分けする手
段とこのクラス分けが正しいか確認する手段と、他のク
ラスと離れて安定かを調べる手段を設けたので、クラス
分けが不十分で安定でないときはテンプレ−トを変更し
て安定なクラス分けができる効果がある。さらに、間違
ったクラス分けやクラス分けができないときも新しくク
ラスを設定して修正し、新しいテンプレ−トを用意し
て、やはり安定なクラス分けが出来る効果がある。ま
た、入力段、中間層段、出力段、セレクタと分離し、特
に中間層段では各クラス別に重みを変更出来るようにし
たので、安定なクラス分けが出来る効果がある。さら
に、認識モ−ドと学習モ−ドを別にして、学習モ−ドで
教師信号に対応したクラス分けもするので、外部信号を
基準に安定なクラス分けが出来る効果がある。また、機
能別の構成手段でなくとも、入力パタ−ンと各クラスを
順次比較し、差の結果を記憶していて、クラス信号を定
めるようにしたので、クラス別のテンプレ−トとの比較
で区分可能なクラス分けが出来る効果がある。
【図面の簡単な説明】
【図1】本発明の実施例である自己組織型パタ−ン分類
システムのブロック図である。
【図2】本発明の実施例である、安定に正解クラスを得
るためのフロ−チャ−ト図の例である。
【図3】本発明の実施例の自己組織型パタ−ン分類シス
テムが、正解クラスがない時に新しい中間層ノ−ドと出
力層を設定することを説明する図である。
【図4】自己組織型パタ−ンの分類システムが新しい中
間層ノ−ドを生成することを説明する図である。
【図5】本発明の実施例である直列プロセッサを使用し
た自己組織型パタ−ン分類システムを示す図である。
【図6】メモリ中での中間層ノ−ド群、出力層ノ−ド
群、制御変数の数値の記憶状態を示す図である。
【図7】図1のシステムの動作を説明するフロ−チャ−
ト図である。
【図8】図1のシステムの動作を説明する他のフロ−チ
ャ−ト図である。
【図9】図1のシステムの動作を説明する他のフロ−チ
ャ−ト図である。
【図10】本発明の実施例である並列プロセッサを使用
した自己組織方パタ−ン分類システムを示す図である。
【図11】図5のシステムの入力信号を得るためのイメ
−ジ読み取りの例を示すブロック図である。
【図12】図5のシステムの入力文字のデ−タ構造を示
す図である。
【図13】本発明の一実施例の自己組織型パタ−ン分類
システムの大きな分類別でのステップを示すフロ−チャ
−ト図である。
【図14】日本語の一般的な文字デ−タベ−スと、学習
デ−タの生成を示す図である。
【図15】文字「A」の種々のフォントを示す図であ
る。
【図16】転送(掃き出し)プロセスを示すフロ−チャ
−ト図である。
【図17】従来技術によるパタ−ン分類システムの図で
ある。
【図18】図17のシステムの中間層ノ−ドを表わすブ
ロック図である。
【図19】アルファベットの各クラスを表す種々のテン
プレ−ト・パタ−ンを示す図である。
【図20】ベクトル空間での入力信号ベクトルを中間層
ノ−ドとを表した図である。
【図21】入力パタ−ン信号のクラス分けを容易にする
よう重み係数を変更することを説明する図である。
【符号の説明】
3 中間層ノ−ド 5 出力応答信号 6 教師信号 7 学習信号 8 第1の信号線 10 中間層ノ−ド出力 11 信号線 17 クラス出力信号 18 出力層ノ−ド 19 セレクタ 20 信号線 21 信号線 30 入力バッファ 31 外部メモリ 32 重み情報メモリ 33 演算ユニット 34 応答信号バッファ 35 プログラムメモリ 101 変数テ−ブル 102 出力層ノ−ド・テ−ブル 103 中間層ノ−ド・テ−ブル 104 重み係数テ−ブル
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年4月28日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 自己組織型パタ−ン分類システム及び
分類方法
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はパタ−ン分類システム
に関するものであり、特に、ニュ−ラル・ネットワ−ク
によるパタ−ン分類装置の自己組織化学習方法に関する
ものである。さらに詳しくは、入力パタ−ン信号を、該
当するクラスに分類する装置に関するものであり、入力
パタ−ン信号を繰り返し、提示することにより、正しい
結果を出力するように学習する分類装置に関するもので
ある。
【0002】
【従来の技術】文字認識装置や音声認識装置またはタ−
ゲット認識装置に代表される認識型入力装置は、入力さ
れたパタ−ン信号をその入力パタ−ン信号が属するクラ
スに正しく分類しなければならない。この認識型入力装
置を構成するために、テンプレ−ト手法や構造解析法な
どのパタ−ン認識技術が開発されてきたが、これらの手
法は、入力パタ−ン信号を正しく分類するために必要な
情報を入手により開発し、入手により装置に組み込まね
ばならなかった。これでは非効率で、誤りも発生し易
い。このような問題を解決するために任意の個数のクラ
スの入力パタ−ン信号を、正しく分類するように自分で
編成を行うことのできるニュ−ラル・ネットワ−クを用
いたパタ−ン分類手法が提案されている。図17は、例
えば『 StatisticalPattern Recognition with Neural
Networks : Benchmarking Studies 』,TeuvoKohonen,Gy
orgy Barna,and Ronald Chrisley,Proc. IEEE Inter
national Conference on Neural Networks,July24-27,1
988, vol.1 pp.66-67 に示された、学習ベクトル量子化
手法2(Learning Vector Quantization 2)を用いた従
来の自己組織型パタ−ン分類装置の構成例を示す図であ
る。
【0003】さて図を参照すれば、従来装置は、複数個
(N個)の要素S1,S2,…, SN からなるN次元の入力
パタ−ン信号Sの各要素Si 1を入力するバッファとし
て働く入力層ノ−ド2、N個の入力層ノ−ド2から信号
線8を経由して受け取ったN次元の入力パタ−ン信号S
から後に詳述する中間層出力値10を生成するM個の中
間層ノ−ド3、M個の中間層ノ−ドの中間層出力値10
を信号線9を経由して、また外部から与えられた教師信
号6とに基づいて出力応答信号5と、また学習信号7と
を決定するLVQ2セレクタ4、および学習信号7を中間層
ノ−ドに伝える信号線11、とから構成されている。図
18は、i番目の中間層ノ−ドUi 3の構成を示す図で
あり、図中12は、入力パタ−ンSの各要素Sを、中間
層ノ−ドUi に格納した重み係数ベクトルWiの要素W
i1, Wi2, …, WiNで重み付けして比較する比較器、1
3は加算器、14は平方根算出器である。15は変換器
12により入力パタ−ン信号Sの要素Wijを重み係数ベ
クトルの要素Wijで重み付けした結果を加算器13に転
送する信号線、16は加算器で計算した結果を平方根計
算器12に伝達する信号線である。
【0004】次に、図17と図18を用いて、従来装置
の動作について説明する。従来装置では、N個の要素S
i,S2,, …, SN で表される入力パタ−ン信号S 1
を、入力パタ−ン信号が属するクラスに分類する『認識
モ−ド』と、入力パタ−ン信号を正しく分類できるよう
に中間層ノ−ド3に格納した重み係数ベクトルWi を修
正する『学習モ−ド』とで動作する。まず、『認識モ−
ド』について説明する。『認識モ−ド』では、まず外部
に入力装置から入力パタ−ン信号SのN個の要素S1,S
2,…, SN を受け取り、入力パタ−ン信号S 1の属す
るクラスを判定し、この結果を出力応答信号5として出
力する。以下この動作について説明する。N個の要素S
i,S2,, …, SN からなる入力パタ−ン信号Sの例とし
ては、文字認識や音声認識などの分野で,前処理あるい
は特徴抽出を行った後の信号を考えることができる。こ
れらの方法については、多く発表されているが、例えば
文字認識のパタ−ン信号Sとしては、『A Comparison o
f A Nearest Neighbour Classifier And A Neural Netw
ork For Numeric Handprint Character Recognition 』
,W.E.Weiderman,M.T. Manry and H.C.Yau,Proc.Intern
ational JOINT Conference on Neural Networks,June 1
8-22,1989, Vol I pp. 117-120に述べられている幾何モ
−メント(Geometric Moment)やトポロジカルな特徴
(TopologicalFeatures)などが該当する。
【0005】出力応答信号5は、本装置で判定したクラ
ス情報に該当する。すなわち、例えば、本装置が英字大
文字『A』〜『Z』で構成される26種類のクラスを分
類するように用いられた場合には、出力応答信号5とし
て、『A』〜『Z』の26種類のクラスのうちのいずれ
かの情報を出力するように動作する。これは、後述する
ように、中間層ノ−ド3に格納した重み係数と入力パタ
−ン信号S 1とを整合させることによって達成され
る。すなわち、中間層ノ−ド3の比較器12に格納した
重み係数は文字の特徴を代表するテンプレ−トとして動
作する。中間層ノ−ド3は、入力層ノ−ド2から信号線
8を介して転送された入力パタ−ン信号S 1と中間層
ノ−ドに格納した重み係数とに基づいて、中間層出力値
10を作成する。例えば、i番目の中間層ノ−ドUiの
中間層出力値10をOiで記述した場合、中間層出力値
Oiは、下記式(1)にしたがって計算される。
【0006】
【数1】
【0007】ただし、Sj は入力パタ−ン信号Sの第j
番目のスカラの要素、Wijは第i番目の中間層ノ−ドU
i に格納した重み係数の第j番目のスカラの要素であ
る。式(1)に示す中間層出力値Oi は、図18のブロ
ック図で示すごとく、中間層ノ−ドで計算される。すな
わち、重み係数をもつ比較器12で入力パタ−ン信号S
の各要素Sjと中間層ノ−ドUi に格納した重み係数の
要素Wijとの差を二乗し、この値が信号線15を介して
加算器13に転送される。加算器13で加算された値は
信号線16を介して平方根算出器14に転送される。平
方根算出器では、この加算された値の平方根が計算さ
れ、中間層ノ−ドUi 3の中間層出力値Oi として信
号線9を介し、LVQ2セレクタ4に転送される。中間層ノ
−ド3には、各クラスを代表するテンプレ−トとして動
作する重み係数が比較器12に格納されており、認識対
象のクラスの種類よりも多くの数が用いられる。すなわ
ち、一つのクラスに対応する中間層ノ−ドは、複数個存
在し、一つのクラスに属する複数個の中間層ノ−ドが該
クラスのパタ−ン信号の分布を表すものである。例え
ば、図19で示す如き種々の形で表される文字パタ−ン
が存在し、例えば「A」に代表される5つの文字は同一
クラスAに属すが、各文字は異なったテンプレ−トとし
て作成される。
【0008】同一クラスのテンプレ−トを持つ、異なっ
た中間層ノ−ドを明確化させる他の方法は、各テンプレ
−トをベクトルとして取り扱うことである。図20は文
字AとBに対するテンプレ−トをベクトルとして表した
説明用の図である。図20で、文字「A」と文字「B」
に注目する。これらの「文字」は形の検出用に使用さ
れ、ここでは説明を容易にするため各テンプレ−トは2
点のスカラ−量(X1,X2 )からなるベクトルを持つも
のとする。これは、パタ−ン認識分野におけるマルチ・
テンプレ−ト手法のテンプレ−トの概念に対応し、中間
層ノ−ドUa1, Ua2, Ua3はすべて文字「A」の分布を
表し、中間層ノ−ドUb1, Ub2, Ub3, Ub4はすべて文
字「B」の分布を表し、各パタ−ンの分布によって中間
層ノ−ドの数は異なるものである。上記式(1)で表さ
れる、第i番目の中間層ノ−ドUiの中間層出力値Oi
は、入力パタ−ン信号ベクトルS 1と重み係数Wijで
表されるテンプレ−ト・ベクトルとのベクトル空間にお
けるユ−クリッド距離を示している。すなわち、中間層
出力値Oi の値が小さいほど、つまりユ−クリッド距離
が短いほど入力パタ−ン信号ベクトルS 1と重み係数
Wijで表されるテンプレ−ト・ベクトルが類似している
ことを示すものである。このような概念に基づいて、上
記LVQ2セレクタ4は、中間層ノ−ド3から転送された中
間層出力値10のうち、最小値を与える中間層ノ−ドU
kmin を入力パタ−ン信号にもっとも近い中間層ノ−ド
として選択し、この中間層ノ−ドUkmin に該当するク
ラス名を、出力応答信号5として出力する。図20で、
信号Sが入力信号ベクトルを表すとすると、中間層ノ−
ドUa1〜Ua3,Ub1〜Ub4までの距離はそれぞれOa1〜
Oa3,Ob1〜Ob4となる。この例では中間層ノ−ドUa1
が最小距離Oa1を与える。従って、システムは、出力応
答信号として、中間層ノ−ドUa1の重みに対応する文字
「A」を出力応答信号5として出力する。
【0009】次に、従来装置の、『学習モ−ド』につい
て説明する。『学習モ−ド』においては、上述『認識モ
−ド』と同様の処理で決定した出力応答信号5と外部か
ら与えられた教師信号6とを比較し、正しく分類できな
かった場合、上記中間層ノ−ド3の比較器12の重み係
数の値を変えることにより本装置の学習機能を達成す
る。具体的には、LVQ2セレクタ4は、『認識モ−ド』で
決定した出力応答信号5のクラス名と教師信号6で与え
られる正解クラス名とを比較する。もし、両者が異なっ
ている場合、本システムは正しく機能してないとみな
し、重み係数修正処理に入る。すなわち、すべての中間
層ノ−ド3の中間層出力値10のうち、最も小さい値と
2番目に小さい値とを検出した後、下記条件を満たすか
否かを判定する。そして、下記条件を満たす場合、学習
信号7により信号線11を介して指示した中間層ノ−ド
の比較器12の重み係数を、式(2)の条件の下に、後
に述べる式(3)に従って修正する。
【0010】学習条件は次の通りである。Ui は最も小
さい中間層出力値Oi を出力した(入力パタ−ン信号S
に最も近いと判定された)中間層ノ−ド、Uj は2番目
に小さい出力値Oj を出力した(入力パタ−ン信号Sに
次に近いと判定された)中間層ノ−ドである。また、中
間層ノ−ドUi はクラスCi に属し、中間層ノ−ドUj
はクラスCj (Ci ≠ Cj)に属する。更に、入力パタ
−ン信号SはクラスCj に属し、クラスCi には属さな
い。かつ、入力パタ−ン信号Sは、式(2)に示す指定
した窓の条件に入っていなければならない。 Oj −Oi ≦th2 …(2) ただし、th2はあらかじめ定めた固定のしきい値であ
る。
【0011】重み修正方法は次の通りである。中間層ノ
−ドUi とUj に格納した重み係数の値を下記式(3)
にしたがって修正する。 中間層ノ−ドUi の重みWik(t+1)=Wik(t)-α(t)[Sk-
Wik(t)] 中間層ノ−ドUj の重みWjk(t+1)=Wjk(t)+α(t)[Sk-
Wjk(t)] for k=1,…N …(3) ただし、t は時刻t をあらわす単調増加する整数(t=1,
2,,…)。また、α(t)は、十分小さい値を持つ、単調
現象関数であり、たとえばα(t) =1/(t+1) などで
計算する。いま、中間層ノ−ドUi は入力パタ−ン信号
Sに最も近いが正解クラスとは異なっており、中間層ノ
−ドUj は入力パタ−ン信号Sに次に近くて正解クラス
であるとする。このとき式(2)は、図21のウインド
ウ領域Wの中に入力信号Sが入ることを意味する。ウイ
ンドウWは、中間層ノ−ドUi とUj の重み係数を持つ
近接テンプレ−トの境界付近でth2の幅を持ってい
る。これらのテンプレ−ト・ベクトルは、図21(a)
中の220aと220bで示される。もし、入力パタ−
ン信号ベクトル5がウインドウ領域Wの中に入るなら、
入力パタ−ンは近接テンプレ−ト・ベクトルの境界領域
にある。そして、入力パタ−ン信号は高精度で正しく区
別することが出来ない。
【0012】このような誤りを修正するために、上記の
式(3)の第一の式により、入力パタ−ン信号Sと異な
るクラスの中間層ノ−ドUi の重み係数で表されるテン
プレ−トを、ベクトル空間上において入力パタ−ン信号
Sと引き離すように、中間層ノ−ドUi の重み係数を修
正する(図21(a)のm1 に対応する)。また、上記
の式(3)の第二の式により、入力パタ−ン信号Sと同
一クラスの中間層ノ−ドUj の重み係数で表されるテン
プレ−トを、ベクトル空間上において入力パタ−ン信号
Sに近付けるように、中間層ノ−ドUj の重み係数を修
正する(図21(a)のm2 に対応する)。この結果、
図21(b)に示すように重み係数は調整される。この
様にして、この学習を繰り返すことにより、すべての中
間層ノ−ドの重み係数が、正しく入力パタ−ン信号を分
類できるように構成されていくという特徴をもつ。上記
『学習モ−ド』は、学習するために用意された、すべて
の入力パタ−ン信号に対し適用し、上記の式(3)に示
す中間層ノ−ドの重み係数ベクトルが修正されなくなる
まで繰り返される。これは学習専用で行っても良く、通
常の認識、モ−ドと併用して行っても良い。
【0013】
【発明が解決しようとする課題】上記従来のLVQ2学習手
法を用いたニュ−ラル・ネットワ−クによるパタ−ン分
類装置は以上のように構成されているので、上記文献
『Statistical …Networks:Benchmarking Studies 』で
述べられているように、類似したクラス間のパタ−ン信
号分布における識別境界を正しく設定出来るように中間
層ノ−ドの重み係数を修正する優れた学習法である。し
かし本手法は、類似したクラス間のパタ−ン信号分布に
おける識別境界を正しく設定するように重み係数を修正
する学習方法であるため、既存の重み係数で表されるテ
ププレ−トとかけ離れた入力パタ−ン信号が入力される
と、誤った分類を発生させてしまい、上記窓の条件式
(2)を満足せず、学習が行われない。さらにまた、入
力パタ−ン信号Sに最も近いと判定されたクラスCi と
入力パタ−ン信号Sに次に近いと判定されたクラスCj
のクラスが共に、学習信号として与えられた正しいクラ
スと異なる場合、学習が行われない。したがって、中間
層ノ−ドの重み係数の改善が行われない。このため、学
習が収束しなくなる。さらに、本装置に登録されていな
いクラスの入力パタ−ン信号が入力されたとき、該当ク
ラスス中間層ノ−ドがないため、学習することが出来な
いという課題があった。
【0014】この発明は、上記のような課題を解決する
ためになされたもので、どの様な入力パタ−ン信号に対
しても安定に正しく学習出来る自己組織型パタ−ン分類
システムを得ることを目的とする。
【0015】
【課題を解決するための手段】この発明における自己組
織型パタ−ン分類システムは、学習済のパタ−ンでクラ
ス分けしたテンプレ−トを持ち、このテンプレ−トと比
較する手段と、この比較手段により入力をクラス分けす
る手段と、このクラス分けが正しいか確認する手段と、
さらに正解クラスが他のクラスと十分離れているか調べ
る手段と、テンプレ−トが安定か確認する手段とを設け
た。または、学習済のパタ−ンでクラス分けしたテンプ
レ−トを持ち、このテンプレ−トと比較する手段と、こ
の比較手段により入力をクラス分けする手段と、このク
ラス分けが正しいか確認する手段と、さらに正解を示す
クラスのテンプレ−トがあるかを調べる手段と、クラス
分けが正しくないときや正解クラスが選べないときに、
新しいクラス用のテンプレ−トを生成する手段を設け
た。
【0016】または、入力パタ−ン信号の各要素用の入
力バッファと、この入力パタ−ンの各要素から重み付け
て中間層出力を生成する中間層ノ−ド群と、さらにこれ
らの中間層ノ−ド群をクラス別にした各クラスの中間層
ノ−ドの中間層出力値中の最小値を得て各クラス信号と
して出力する出力層ノ−ド群と、さらに出力層ノ−ドの
クラス信号の最小値を提供する中間層ノ−ドのクラスを
外部へ出力し、また学習信号を中間層ノ−ドに出力する
セレクタと、この学習信号としては出力層ノ−ド群の出
すクラス信号と外部から与えられた教師信号に基づいて
算出され、この学習信号により中間層ノ−ドの重みを調
整する手段とを設けた。または、上記の構成において、
セレクタは少なくとも認識モ−ドと学習モ−ドの別を持
ち、認識モ−ドでは各クラス信号を表す中間層ノ−ドの
出力値から、中間層出力値の最小値を求めて、その最小
値を与える出力のクラス名を出力し、学習モ−ドでは各
出力ノ−ドが出力するクラス名と外部からの教師信号に
よって、中間層ノ−ドの重み係数を修正する手段を設け
た。
【0017】または、入力パタ−ン信号の各要素用の入
力バッファと、クラス分けのためのパタ−ン用のテンプ
レ−ト群と、上記入力パタ−ン信号とこれらテンプレ−
トとを比較し、両者の差を出力する中間層出力手段群
と、これら中間層出力を選択してクラス信号とし、出力
する受信手段と、これら受信手段のクラス中から、最小
値を出すクラスを選択する選択手段を設けた。または、
入力パタ−ンと、各クラスを表すテンプレ−トとを比較
するステップと、これらの比較結果中の差の最小値を選
択してそのクラスの最小値と定めるステップと、さらに
各クラス最小値中から最小の値を選ぶステップと、入力
パタ−ンをその選ばれた最小の値のクラスとするステッ
プとを備えた。
【0018】
【作用】この発明における自己組織型パタ−ン分類シス
テムでは、まず学習済のパタ−ンで区分されたテンプレ
−トと入力パターンとが比較され、その差信号の最も小
さなものがクラスを表す信号となるよう選ばれる。この
とき隣接クラスと十分に差があるかどうかも調べられ
る。また、クラス分けが出来ないか、学習時とは異なる
誤ったクラス分けになる時は、テンプレ−トは修正され
る。または、入力パタ−ンは入力バッファに入り、入力
バッファの各要素から組み合わされた各中間層ノ−ドに
入り、これら中間層ノ−ド群中の最小値がクラス信号と
なる。また、クラス信号を出力する認識動作以外に、学
習動作時には、各クラス信号と教師信号とで中間層ノ−
ドの重み係数が変化する。または、まず入力と各クラス
のテンプレ−トとが比較され、その結果から最小差を示
すクラスが選ばれ、さらにその最小値からクラスが特定
される。
【0019】
【実施例】 実施例1.以下、この発明の一実施例を図1〜図16を
用いて説明する。図1は、本発明による自己組織化学習
法を用いた自己組織型パタ−ン分類システムの概念図で
ある。図において、本装置は以下の要素から構成され
る。N次元の要素S1,S2,…SN からなる入力パタ−ン
信号S 1を入力する入力バッファとして働く入力層ノ
−ド2と、N個の入力層ノ−ド2から信号線8経由で受
け取ったN次元の入力パタ−ン信号Sから中間層出力値
10を生成するM個の中間層ノ−ド3と、同一クラスに
属する中間層ノ−ドの中間層出力値10を信号線20経
由で入力とし、その中間層出力値10の最小値を求め、
その中間層ノ−ド番号と中間層出力値10をクラス出力
信号17として出力する出力層ノ−ド18と、出力層ノ
−ドから転送されたクラス出力信号17と外部から与え
られた教師信号6に基づいて、出力応答信号5と、中間
ノ−ドに対しては信号線11を経由して学習信号7を出
力する自己組織化セレクタ19とから構成される。図に
おいて、1,2,3,5〜8,10は従来装置と同一部
分である。なお、入力パタ−ン信号はオ−ディオや映像
信号、文字パタ−ン、声紋、ターゲットパターン等であ
る。
【0020】本発明による装置は、従来の装置同様に、
入力パタ−ン信号をそれに対応するカテゴリに分類する
『認識モ−ド』と中間層ノ−ドの重み係数ベクトルを修
正する『学習モ−ド』とで動作する。まず『認識モ−
ド』の動作を述べる。従来の装置と同様な方法により、
まず、入力層ノ−ド2で、入力パタ−ン信号SのN個の
要素S1,S2,…SN を受け取る。中間層ノ−ド3は、入
力層ノ−ド2から転送された入力パタ−ン信号S 1と
中間層ノ−ド3の比較器12の重み係数とに基づいて、
従来例でも述べた式(1)の中間層出力値10を作成す
る。つまり、中間層出力値10は、入力パタ−ン信号の
各要素と対応する重み係数Wijとの差の2乗和の平方根
である。中間層ノ−ド3の中間層出力値10は、信号線
20を介して、その中間層ノ−ドが表すクラスの出力層
ノ−ド18へ転送される。出力層ノ−ド18は、複数個
の中間層ノ−ドから転送された中間層出力値10のなか
から最小値をあたえる中間層ノ−ドをこのクラスを代表
する中間層ノ−ドとして選択し、この中間層ノ−ドの出
力値とクラス名とをクラス出力信号17として、信号線
21を介して自己組織化セレクタ19に転送する。自己
組織化セレクタ19は、出力層ノ−ド18から送られた
クラス出力信号17として送られた各クラスを代表する
中間出力値のなかから、最小値をあたえる出力層ノ−ド
を、入力パタ−ン信号が属するクラスの出力層ノ−ド1
8として決定し、この出力層ノ−ドの表すクラス名を出
力応答信号5として外部に出力する。
【0021】次に、『学習モ−ド』の動作を述べる。本
モ−ドにおいては、上記『認識モ−ド』と同様の処理に
より、出力層ノ−ド18から送られたクラス出力信号1
7と出力応答信号5および外部から与えられた教師信号
6とに基づいて、上記中間層ノ−ド3の比較器12の重
み係数の値が修正される。本発明によるシステムでは、
従来例と違って、出力応答信号5で示されるクラス名と
教師信号6で与えられた正解クラス名とが異なるため誤
って分類した場合以外に、出力応答信号5で示されるク
ラス名と教師信号6で与えられた正解クラス名とが同じ
であって正しく分類された場合にも、中間層ノ−ド3の
比較器12の重み係数を学習するように動作する。
【0022】図2は本発明によるシステムが安定なクラ
ス分けを行うように重みを修正する動作を示したフロ−
チャ−ト図である。重み係数を修正するために、自己組
織化セレクタ19は、まず、『認識モ−ド』と同様にし
て得た、入力パタ−ン信号1を分類した出力応答信号5
から得られるクラス名と、教師信号6で与えられた正解
クラス名とを比較する(図2中のステップ200)。も
し、出力応答信号5で示されるクラス名と教師信号6で
与えられた正解クラス名とが同一であれば、この正解ク
ラスが安定して分類されたか否かを判定する(同じくス
テップ202)。安定に分類されたか否かを知るため、
自己組織化セレクタ19は、出力層ノ−ド18から転送
されたクラス出力信号17からえられる各クラスを代表
する中間層出力値のなかから、2番目に小さい値を与え
る出力層ノ−ドを検出する。このクラスを代表する中間
層ノ−ド番号Ui とその出力値Oi をもとめ、値Oi と
正解クラスの出力層ノ−ド18からもとめた該当クラス
を代表する中間層ノ−ドUj の中間層出力値Oj とを条
件式(4)で比較する。 Oi −Oj ≦th2 … (4) ただし、th2はあらかじめ定めた固定のしきい値であ
る。th2の値は、すでに述べたウインドウWの幅に対
応する。th2の値は入力パタ−ンのサンプルデ−タの
標準偏差σを計算することで得られる。たとえば入力パ
タ−ンの10個のクラスに分類する場合を考えるこの
場合例えば、10個のクラスのサンプルデ−タの各クラ
ス内におけるサンプルデ−タの標準偏差をσ1,σ2,…σ
10とすると、th2の値は次のように決定できる
【0023】
【数2】
【0024】th2の値は実験等で調整することもでき
。上記条件式(4)は、入力パタ−ン信号Sに最も近
いと判定された正解クラスを代表する中間層ノ−ドUj
の中間層出力値Oj と、正解クラスと異なりかつ入力パ
タ−ン信号Sに次に近いと判定された中間層ノ−ドUi
の中間層出力値Oiとの値が近接しており、この1つの
中間層ノ−ドUi とUj とに格納されている重み係数
は、類似して誤り易い状況にあることを意味するもので
ある。そこで、上記条件式(4)を満足する場合、式
(3)に基づいて中間層ノ−ドUi とUj との重み係数
を修正する(ステップ204)。もし、出力応答信号5
で示されるクラス名と教師信号6で与えられた正解クラ
ス名とが異なる場合は、正しく分類できるようにするた
めに、中間層ノ−ドの重み係数を調整する。ここで、不
適当な分類は以下のいずれかの理由で発生する。 (1)自己組織型パタ−ン分類システムに登録されて無
クラスのパタ−ン信号が入力されて誤った。 (2)すでに登録してある中間層ノ−ドの重み係数ベク
トルが表すテンプレ−トとベクトル空間上で掛け離れた
入力パタ−ン信号が入って来てために誤った。 (3)正解クラスに属する中間層ノ−ドに格納した重み
係数ベクトルと、正解クラス以外の中間層ノ−ドに格納
した重み係数ベクトルとが、ベクトル空間上で近接して
存在しているため誤った。
【0025】自己組織化セレクタ19は、まず教師信号
6で与えられた正解クラス名に該当するクラスの出力層
ノ−ドが存在するか否か、調べる(ステップ206)。
もし、正解クラスに該当するクラスの出力層ノ−ドが存
在しなければ、図3に示すように正解クラスの出力層
h 22がネットワ−クに追加される(図2のステップ
210)。具体的には、図3の例に示すように、正解ク
ラスの出力層ノ−ドTh 22と入力パタ−ン信号Sの
各要素を重み係数にした中間層ノ−ドUM+1 23、お
よび入力層ノ−ドと中間層ノ−ドUM+1 23を接続す
る信号線24、また、中間層ノ−ドUM+1 23と正解
クラスの出力層ノ−ドTh 22を接続する信号線2
5、および正解クラスの出力層ノ−ドTh 22を自己
組織化セレクタ19接続する信号線26を、自己組織型
パタ−ン分類システムに追加する。ここで、中間層ノ−
ドUM+1 23の重み係数としては、入力パタ−ン信号
の各要素を割り当てることにより実現する。また、出力
層ノ−ドTh 22には、新しいクラス名を登録する。
【0026】もし、正解クラスに該当するクラスの出力
層ノ−ドが存在する場合、自己組織型セレクタ19は以
下の処理を行う。正解クラスの出力層ノ−ドから得られ
る該当クラスの中間層ノ−ドUj の中間層出力値Oj
が、条件式(6)を満足するか否かを判定する。 Oj ≧ th1 … (6) ただし、th1はあらかじめ定めた固定のしきい値であ
る。定数th1は、入力パタ−ン信号ベクトルSと、正
解クラスの最小出力値を出す中間層ノ−ドUj の重み係
数で表されるテンプレ−ト・ベクトルとが十分な距離以
上に離れているか否かを判定する基準であり、定数th
1はベクトル空間の基準距離とみなされる。th1の近
似値は、1つのクラスに属するサンプルデ−タの標準偏
差σを計算して得られる。例えば、10クラスの入力パ
タ−ン信号のサンプルを用いてth1を次のように決め
ることができる。10クラスの各クラスに対応するサン
プルデ−タの標準偏差σ1,σ2,…, σ10が決められる
と、th1は例えば次の式(7)で与えられる。
【0027】
【数3】
【0028】thの値は例えば実験で調整してもよい
式(6)は、入力パタ−ン信号と、中間層ノ−ドUj
(正解クラスを表す)の重み係数で表されるテンプレ−
トとの間のベクトル空間での距離が、しきい値th1
(大きな値に設定してある)より十分に大きいか否かを
決めるのに有効である。したがって、中間層出力値Oj
条件式(6)を満たす場合(図2のステップ20
8)、すでに登録してある正解クラスの中間層ノ−ドの
重み係数ベルトルが表すテンプレ−トと、ベクトル空間
上で掛け離れた入力パタ−ン信号が、入ってきたことを
意味する。このため、この条件式(6)を満たす場合、
図4に示すように、入力パタ−ン信号Sの各要素を重み
係数とした中間層ノ−ドUL 27と、入力層ノ−ドと
中間層ノ−ドUL 27とを接続する信号線28および
中間層ノ−ドUL 27と正解クラスの出力層ノ−ドを
接続する信号線29を追加する(図2ステップ21
2)。ここで、中間層ノ−ドUL 27の重み係数とし
ては、入力パタ−ン信号の各要素を割り当てることによ
り実現する。
【0029】もし、出力応答信号5で示されるクラスが
教師信号6で示される正解のクラスに適合しなかった場
合、そして(6)式は満足しないが正解クラスと認めら
れる出力があった場合は、出力層ノ−ド18から送られ
たクラス出力信号17のなかから、クラスを代表する中
間層出力値のうち最小値を与える出力層ノ−ドから求ま
る中間層ノ−ド番号Ui とその中間層出力値Oi を検出
する。さらに、この値Oi と中間層ノ−ドUj (正解ク
ラスの出力層ノ−ドから得られたクラスを代表する)の
出力値Oj が(8)式を満足するか否かを判定する。 Oj −Oi ≦th2 … (8) ただし、th2は、上述のようにあらかじめ定めた固定
のしきい値である。条件式(8)を満たす場合は、正解
クラスに属する中間層ノ−ドに格納した重み係数で表さ
れるテンプレ−トと、正解クラス以外の中間層ノ−ドに
格納した重み係数のテンプレ−トがベクトル空間上で近
接しているため誤ったことを意味する(図2のステップ
216)。このため、先に述べた(3)式にしたがって
中間層ノ−ドUi とUj の重み係数を修正する(図2の
ステップ214)。
【0030】上記いずれの場合にも当てはまらずに誤っ
て分類された場合は、正解クラスに属する中間層ノ−ド
Uj に格納した重み係数ベクトルのみを下記式(9)式
にしたがって、修正する(図2のステップ218)。 中間層ノ−ドUj の重み Wjk(t+1)=Wjk(t)+α(t)[Sk-Wjk(t)] … (9) for k=1,… N ただし、tは時刻tをあらわす単調増加する整数(t=
1,2,…)。また、α(t) は、0と1の間の十分小さ
い値を持つ、単調減少関数であり、例えばα(t) =1/
(t+1) またはe-tなどで計算する。α(t) として大きな
値を選んだ場合は不安定になることがあるので、小さな
値が望ましい。α(t) は減少関数であり、更新毎に安定
性を増す。
【0031】図5は、すでに多く利用されているモトロ
−ラのMC68030のようなマイクロプロセッサに代
表される逐次型デジタル計算機によって、上記の本発明
を実現した一例である。本装置は、入力パタ−ン信号を
格納する入力信号バッファ30を持つ。このバッファは
図1の入力ノ−ド2に対応している。この他、中間層ノ
−ドの重み係数および出力層ノ−ドのクラス情報(図
1)を、格納保存しておく磁気ディスク等の外部メモリ
31、実行時の中間層ノ−ド3(図1)の重み係数と出
力層ノ−ド18のクラス情報を格納しておくRAM(Ra
mdom Access Memory)32を持つ。さらに、Adder,Muil
iplierなどの論理演算装置で構成されており中間層出力
値および重み係数を修正する演算装置33、演算装置の
結果を格納する出力応答信号格納バッファ34を持つ。
外部メモリ31、入力信号バッファ30、RAM32、
演算装置33と応答信号バッファはバス224で結合さ
れている。学習条件を判定するためのしきい値と実行プ
ログラムを格納したROM(Read Only Memory)35お
よび制御装置36もシステムの構成要素である。
【0032】図6は、図5のシステムでのメモリ中に、
出力層ノ−ド、中間層ノ−ド、重み係数が記憶されてい
る状態を示す。また、図6は、図5のシステムで実行さ
れるソフトウェア・プログラムの変数を保持するテ−ブ
ルも示している。図6中で示されるように、メモリ空間
は4つのテ−ブルを持っている。すなわち、変数テ−ブ
ル101と、出力層ノ−ドテ−ブル102と、中間層ノ
−ドテ−ブル103と、重み係数テ−ブル104であ
る。変数テ−ブルには各種の定数、変数の現在値が格納
される。例えば、定数th1 105はアドレス0に数
値20でストアされており、定数th2 106はアド
レス1に値4でストアされている。これらの数値は
(7)式と(5)式で表されるしきい値である。他の変
数として変数テ−ブルに含まれるものは、学習サイクル
の最大回数を表す最大時間107があり、また、許容出
力層ノ−ド中の最大数を表す最大出力層ノ−ド数108
や、中間層ノ−ドの最大数を表す最大中間層ノ−ド数1
09も含まれる。さらに、Nは入力信号ベクトル中の要
素数を示し、時間カウント(学習回数)111の値は、
現在学習中の回数を表している。さらに変数テ−ブルは
終了フラブ112も持っている。
【0033】メモリは出力層ノ−ドテ−ブル102も持
っており、このテ−ブル102は出力層ノ−ドを形成す
るに必要な情報が記憶されている。出力層ノ−ドテ−ブ
ルの最初にはテ−ブルに保持されている出力層ノ−ドの
数を示す出力層ノ−ド数113の値が入っている。図6
での例では、26の出力層ノ−ドがある。最初の数値が
テ−ブル中の出力層ノ−ドの数を示しているのに続き、
テ−ブルにはネットワ−ク中の各出力層ノ−ドに各一つ
の記録が割り当てられるようになっている。これらは出
力層ノ−ド情報114として割り当てられる。各記録は
幾つかの区分を持ち、まず、出力層ノ−ドの出力クラス
名を示す出力クラス115の領域を持っている。また、
最小中間層出力値を出す代表中間層ノ−ド番号116と
代表中間層出力値117も持っている。さらに、入力信
号のクラスとしてどれだけ出力層ノ−ドのクラスが選択
されたかを示す使用頻度118の部分も持っている。他
に、出力層ノ−ドを追加するための出力空白領域119
もある。
【0034】中間層ノ−ドテ−ブル103は中間層ノ−
ドに関する記録部分で、先頭部分にはテ−ブル中にある
中間層ノ−ドの数を示す中間層ノ−ド数120がくる。
図6の例では、280のノ−ドがある。この中間層ノ−
ド数が示されているのに続き、各中間層ノ−ドの記憶部
分があり、中間層ノ−ド情報121のように表示され
る。これらの記録は各中間層ノ−ドに関する有効な情報
を保持していて、最初の領域は中間層ノ−ドのクラスを
示す中間クラス名122である。図6の中間層ノ−ド
−ブル103の例では、クラス名はアルファベットの
「A」である。また、中間層ノ−ドの数を表すノ−ド数
123の領域がある。ノ−ドの数は通常、整数であり、
単調増加する。さらに重み係数テ−ブルへのポインタ数
も持っていて、これは重み係数ポインタ124で示され
る領域である。このポインタはその中間層ノ−ドの各重
み係数群127を指示している。詳しくは、そのブロッ
クの先頭を示している。各ブロックは入力信号の要素数
N110に対応してN個登録されている。さらに中間層
ノ−ドテーブルは、中間層ノ−ドの出力値を保持する中
間層出力125の部分も持っている。中間層ノ−ドテ−
ブル103は、空白領域として、中間層空白領域126
を持つ。この大きさは実行過程で変化し、応用例でも変
化する。メモリには既述の、重み係数テ−ブル104も
ある。これは各中間層ノ−ドの重み係数のブロックを保
持していて、中間層ノ−ドテ−ブルのポインタがこのブ
ッロクの先頭を示す。他のテ−ブル同様、このテ−ブル
にも重み係数空白領域128がある。これらの役割詳細
は後述する。
【0035】図7,図8,図9は、図5中のデ−タ処理
システムでの単一プロセサが、学習モ−ドでどう動作す
るかを示したフローチャートである。プログラムを走ら
せたとき、まず中間層ノ−ドと出力層ノ−ドの情報が外
部メモリ31からRAM32にロ−ドされているか、制
御ユニット36(図5)により、出力層ノ−ドテ−ブル
102と中間層ノ−ドテ−ブル103(共に図6)に基
づいてチェックする(図7のステップ37)。もしロ−
ドされていなければ、システムは中間層ノ−ドと出力層
ノ−ドの情報のデ−タが外部メモリ31(図5)に格納
されているか否かを判定する(図7のステップ38)。
もし、格納されているならば外部メモリからRAM32
(図5)に上記情報をロ−ドする(図7のステップ3
9)。該当するデ−タが外部メモリに無い場合、RAM
内の中間層ノ−ドの情報と出力層ノ−ド情報を、テーブ
ルの中間層ノ−ド数120と出力層ノ−ド数113(共
に図6)の値を初期化する(図7のステップ40)。次
に、学習終了フラグ(end-flag)(図6中の112)を
OFF、学習ル−プの回数(time-count)(同111)
を1に初期化する(図7のステップ41)。
【0036】以下、学習終了フラグ(end-flag)が、O
Nになるまで以下の処理を繰り返す(図9のステップ7
0)。 [1]RAM32中の学習終了フラグ(end-flag)11
2を一旦ONにする(図7のステップ42)。 [2]学習用に用意された入力パタ−ン信号セットのう
ち、最初の入力パタ−ン信号を読み取るように入力信号
バッファ30中の入力パタ−ン信号ポインタを戻す(図
7のステップ43)。 [3]入力パタ−ン信号を入力装置(図11)から読み
込み、入力信号バッファ30(図5)に格納する(図7
のステップ44)。図11は、図5のシステムで使用さ
れる入力を読み込むための要素を示した図である。詳し
くは、例えば文字にクラス分けされるべき対象244
が、文字認識用ビデオカメラのような入力手段242で
走査される。ビデオ入力はキ−ボ−ド236、モニタ2
38を持つデ−タ端末234に入る。端末234は、各
種構成要素と相互に影響してシステムの使用者が利用可
能な状態になり、また、図5のシステム232に接続さ
れている。端末はまた、多数の異なった文字パタ−ンや
他のパタ−ンを記憶しているデ−タベ−ス230にも接
続されている。デ−タベ−スの利用法は以下に詳述す
る。文字認識の例では、入力デ−タ構造は図12に示さ
れる形となる。デ−タ構造は2つの部分からなる。最初
の部分250は、入力信号のクラス名を示し、第2の部
分252はビデオカメラ242から読み込まれたピクセ
ルパタ−ンである。図12に示されるように、そこでの
文字群すべてはピクセルパタ−ンが異なる同一デ−タ構
造を持つ。
【0037】[4]RAM32(図5)に格納した、す
べての中間層ノ−ドの重み係数104(図6)と、入力
信号バッファ30(図5)中の入力パタ−ン信号を、上
述した式(1)に基づいて演算装置33で計算し、すべ
ての中間層ノ−ドに対応する中間層出力値を求め、RA
M32(図5)の中間層出力125(図6)に格納する
(図7ステップ45)。 [5]RAM32中の代表中間層出力117(図6)に
格納された中間層ノ−ドの出力値のうちで最小値が、演
算装置33と制御ユニット36(図5)により、RAM
32中の中間層出力125と入力クラス名122に基づ
き計算され、これら中間層ノ−ド番号と中間層出力値は
代表中間層ノ−ド番号116と代表中間層出力117
(図10)に、クラスの中間層ノ−ドの出力クラス信号
として格納される(図7のステップ46)。 [6]最も小さい値を出力する出力層ノ−ドに対応する
クラス名を演算装置33と制御ユニット36で求め、代
表中間層出力117の値に基づいて、このクラス名を出
力応答信号とする(図7のステップ47)。 [7]入力パタ−ン信号の正解クラス名を教師信号6と
して入力装置(図11)から読み込む(図7ステップ4
8)。 [8]入力パタ−ン信号のクラス名と出力応答信号のク
ラス名とが等しいか否かを制御ユニット36(図5)で
判定する(図7ステップ49)。等しく無い場合、[1
3]の処理に進む。 [9]出力層ノ−ドのクラス出力信号のなかから、2番
目に小さい値を与える出力層ノ−ドに対応する中間層ノ
−ド番号Ui とその中間層出力値Oi 、および、正解ク
ラスの出力層ノ−ドから求まる中間層ノ−ドUj の中間
層出力値Oj とを制御ユニット36で検出する(図7ス
テップ50)。
【0038】[10]上記中間層出力値Oi と中間層出
力値Oj とが、上述した式(4)を満たすか否かを演算
装置33と、制御ユニット36で判定する(図7ステッ
プ51)。式(4)を満たさない場合、処理[27]へ
移る。 [11]もし式(4)を満たす場合、上述した式(5)
に従い中間層ノ−ドUiとUj の重み係数を修正してR
AM32中の重み係数テ−ブル104(図6)に格納す
る(図7ステップ52)。 [12]処理[26]へ移る。 [13]正解クラスに対応する出力層ノ−ドがあるか、
制御ユニット36で判定する。もし、在れば処理[1
7]へ移る(図8ステップ53)。 [14]RAM32内に、新しい中間層ノ−ド情報11
4、出力層ノ−ド情報121および重み係数127を格
納するエリアを確保する(図8ステップ54)。もし、
確保するスペ−スがなければ(つまり出力層ノ−ドの出
力空白領域119がなくなったか、または中間層ノ−ド
テ−ブル103の中間層空白領域126がなくなった
か、または重み係数テ−ブル104の重み係数空白領域
128がなくなった場合)、制御ユニット36は、その
メッセ−ジを出力し(図8ステップ55)、処理[2
7]に移る。 [15]確保した中間層ノ−ドの重み係数に、入力信号
バッファ30中の入力パタ−ン信号の各要素の値を格納
する(図8ステップ56)。そして、新たに出力層空白
領域119に得られたクラス名を出力クラス名115に
格納する。また、中間層空白領域126中の新クラス名
を中間クラス名122に格納する。 [16]処理[26]に移る。
【0039】[17]正解のクラスに属する出力層ノ−
ドによって与えられる、正解クラスに属する中間層ノ−
ドのうち、最も小さい中間層出力値を出力した中間層ノ
−ドUj の中間層出力値Oj が、上述した式(6)を満
たさない場合は、処理[21]に移る(図9ステップ5
7)。 [18]入力パタ−ン信号のクラスカテゴリに対応する
中間層ノ−ドを新しく追加する。すなわちRAM32内
に、新しい中間層ノ−ド用エリアを確保する(図9ステ
ップ58)。もし、確保するスペ−スが中間層空白領域
126になければ、その領域がないというメッセ−ジを
出力し(ステップ59)、処理[37]に移る。 [19]確保した中間層ノ−ドの重み係数領域127
に、入力信号バッファ30中の入力パタ−ン信号の各要
素の値を格納する(図9のステップ60)。 [20]処理[26]に移る。 [21]出力層ノ−ドのクラス出力信号から求まる代表
中間層出力117の出力値のなかから、最も小さい値を
与える出力層ノ−ドに対応する中間層ノ−ド番号Ui
と、その中間層出力値Oi が求まる。また、出力ノ−ド
テ−ブル102に格納された正解クラスの出力層ノ−ド
から得られる中間層ノ−ド番号Uj とその中間層出力値
Oj も検出される(図9ステップ61)。
【0040】[22]上記中間層出力値Oi と中間層出
力値Oj とが、上述した式(8)を満たすか否かを判定
する(ステップ62)。式(8)を満たさない場合、処
理[25]へ移る。 [23]式(8)を満たす場合、上述した重み係数修正
式(3)にしたがって中間層ノ−ドUi とUj の重み係
数を演算装置33と制御ユニット36により修正する
(図9ステップ63)。 [24]処理[26]に移る。 [25]上述した式(9)にしたがって、RAM32中
の重み係数テ−ブル104にある中間層ノ−ドUj の重
み係数を、演算装置33と制御ユニット36で修正する
(図9のステップ64)。 [26]学習終了フラグ(図6のend-flag112)をO
FFにする(図9のステップ65)。 [27]すべての学習用入力パタ−ン信号を処理したか
調べる。もし処理してないならば、制御を処理[3]へ
移す(図9ステップ66)。 [28]学習ル−プ(図6のtime-count111)の値を
1増やす(図9のステップ67)。 [29]学習ル−プ(time-count111)があらかじめ
定めた所定の値MAX-time107(図6)以上になったな
ら、学習終了フラグ112(図6のend-flag)をONに
する(図9のステップ69)。 [30]学習フラグ(end-flag)がOFFならば、処理
[1]に戻る(図9のステップ70)。 [31]学習した図6に示されるネットワ−ク情報を外
部メモリ31に保存する(図9のステップ71)。 [32]学習を終了する。
【0041】実施例2.なお、上記実施令は、逐次型デ
ジタル計算機によって、本発明を実現した一例である
が、本発明はこれに限らず、並列型デジタル計算機によ
って実現できる。図10は、例えば『A VLSI Architect
ure for High-performance,Low-cost,On-chip Learnin
g』,Dan Hammerstrom,Proceedings of International J
oint Conference On Neural Networks,June 17-21,199
0,Vol.2 pp.537 - 544に開示された並列型デジタル計算
機によって本発明を実現した一例である。本装置は、入
力パタ−ン信号を格納する入力信号バッファ30、中間
層ノ−ドの重み係数および出力層ノ−ド情報を格納保存
しておく磁気ディスク等の外部メモリ31、各々のクラ
スに対応する中間層ノ−ドと出力層ノ−ドの出力値を計
算するプロッセサ・エレメント72、学習条件を判定す
るためのしきい値とプログラムを格納したROM(Read
Only Memory)35および並列プロセッサ制御装置7
3、演算装置33、演算結果を保存するRAM74から
構成されている。プロセッサ・エレメント72は、各ク
ラスの重み係数を格納するRAM75、プロセッサ演算
装置76、出力信号格納レジスタ77、およびプロセッ
サ・エレメントが有効か無効かを示すための使用フラグ
格納バッファ78とから構成されている。
【0042】本装置の例では、ひとつのプロセッサ・エ
レメントが、中間層ノ−ドの中間層出力値と、出力層ノ
−ド18(図1)の出力クラス信号を計算するように割
り当てられている。そして、逐次型デジタル計算機によ
る例で示した図7,図8,図9に示すフロ−チャ−トの
うち、中間層ノ−ドの中間層出力値3と出力層ノ−ド
8の出力クラス信号17を計算する処理を並列に計算す
る点が、逐次型デジタル計算機を用いた場合と大きく異
なる。なお、出力層ノ−ドに登録されていない入力パタ
−ン信号を学習する場合、使用フラグによって無効とな
っているプロセッサ・エレメントをサ−チし、このプロ
セッサ・エレメントに新しく中間層ノ−ドと出力層ノ−
ドの機能を割り当て、使用フラグを有効にすることによ
り、達成する。本装置では、計算を並列に処理できるた
め高速なパタ−ン分類装置を得ることができる。
【0043】実施例3.なお、上記実施例では中間層ノ
−ドの演算として式(1)に示すユ−クリッド距離法を
用いる方法について述べたが、中間層ノ−ドの演算とし
て、パタ−ン認識の分野で周知の下記式(11)に示す
ベクトル間の内積で得られる類似度Piをもちいても良
く、上記実施例と同様の効果が得られる。 Oi =1 − Pi (10) ここで、Pi は以下の式(11)の定義による。また式
(11)中、Sj とWijは既に述べた定義の通りとす
る。
【0044】
【数4】
【0045】実施例4.上記のニュ−ロ・ネットワ−ク
・システムの生成、修正は、成長プロセスとして発生す
る。一般に、適合クラス認識用デ−タ処理システムの調
整に関係するステップは、メ−カ−段階とユ−ザ段階に
分けられる。図13はメ−カ−段階とユ−ザ段階に分け
られたステップのフロ−チャ−ト図である。判かり易く
するため、このフロ−チャ−トは文字認識に使用したシ
シテムを想定している。しかし上記のように、こうした
システムはオ−ディオ・パタ−ン認識や、タ−ゲット認
識にも使用できる。文字認識の基準はとても判かり易
く、メ−カ−段階の第1ステップでは、一般的な学習デ
−タが文字認識のために設けられる。このデ−タは、汎
用デ−タベ−ス、つまり文字認識、オ−ディオ・パタ−
ン認識、タ−ゲット認識用のシステムの情報を持ってい
るデ−タベ−スから読み込まれる。文字認識のための一
般学習デ−タ読み込みのため、文字認識に関する汎用デ
−タベ−スのある部分が図11のデ−タベ−ス230か
ら選択される(図13のステップ250)。
【0046】一旦、デ−タベ−ス230から一般学習デ
−タが選択されると、当初は中間層ノ−ドと出力層ノ−
ドを持たないニュ−ロ・ネットワ−クにこのデ−タを適
用する。そして図7、図8、図9で示された一般学習デ
−タで、中間層ノ−ドと出力層ノ−ドを生成、修正して
ゆく。例えば日本語認識のためのニュ−ロ・ネットワ−
クを生成するため、図14で示す日本語270の一般学
習デ−タがデ−タベ−ス230(図14)から選択され
る。そして中間層ノ−ドと出力層ノ−ドが図7、図8、
図9で示したように日本語の一般学習デ−タが形成され
てゆく。抽出されたニュ−ロ・ネットワ−クの中間層ノ
−ドと出力層ノ−ドの情報は、日本語認識のためのマス
タ−ノ−ドとして格納される。この抽出マスタ−デ−タ
は、日本語認識のために制作された全システムに使用さ
れる。一旦このマスタ−デ−タが生成されると、これら
のコピ−は異なるユ−ザ用に図13のステップ254,
258で示されるように組込ができ、システムの大量生
産が可能となる。殊に、マスタ−デ−タがシステムの外
部メモリ31にロ−ドされると、各ユ−ザに送付でき
る。図13の場合は、デ−タベ−スはユ−ザ1とユ−ザ
2の外部メモリに組み込まれる。ステップ250,25
2,254,258はメ−カ−段階のステップである。
【0047】ステップ256,260で構成されるユ−
ザ段階では、ユ−ザ・システム用に設置されたデ−タ
は、ユ−ザ個別に修正、または再調整される。これら個
別の調整後デ−タはユ−ザ・システムの外部メモリに設
置される。そうした可能性のあるタイプの例として特別
のフォントの作成がある。図15で示すように、システ
ムにはクラス「A」用のテンプレ−ト262をメ−カ−
段階で用意する。しかしユ−ザはテンプレ−ト264の
ようなテンプレ−トに修正したいのかもしれない。両方
のテンプレ−トは同一のクラス(即ち文字A)である
が、デ−タはテンプレ−ト264を学習するように調整
される。一般に、一連のデ−タがメ−カ−段階で設置さ
れると、各々の特殊な文字パタ−ンは当初は中間層ノ−
ドを持たないニュ−ロ・ネットワ−クに適用される。そ
して、システムは文字テンプレ−トを学習し、特殊文字
パターンが入力されると、テンプレ−ト用に適当な中間
層ノ−ドを生成する。このように、全入力で各中間層ノ
−ドテンプレ−トを生成し、これが図14のステップ2
52で実行されることである。
【0048】しかしユ−ザ段階のステップ256と26
0では、クラスを表す中間層ノ−ドは既にあり、既存の
テンプレ−ト・パタ−ンに加えられて、または修正され
て新しい中間層ノ−ドとなる。例えば、もしステップ2
56で、ユ−ザ1が既に日本語用に形成されたシステム
をドイツ語用に変更したいと考えたとすると、ニュ−ロ
・ネットワ−クにドイツ語を入力してドイツ語を認識す
るように学習する。この応用例は、ドイツ語パタ−ン用
の新しいテンプレ−トの学習または生成ができ、これら
は既知の日本語文字と一緒に保持される。ここで、こう
した例では入力パタ−ンの分離が重要であることを、強
調しておかなければならない。日本語パターンは、お互
いに極くわずかな違いしかないので、入力デ−タはその
わずかな違いを区別して高分解能で分離される必要があ
る(即ちピクセル数が多い)。ドイツ語はこれに反し
て、違いが大きいので、そんなに高い分解能はいらな
い。システムは既に日本語用に形成されており、高い分
解能を持っているので、そんなに高い分解能がいらない
ドイツ語認識は、たいして困難ではない。
【0049】これに反し、もしシステムが当初分解能が
低くてよいドイツ語文字用に形成されていた場合には、
これを用いた日本語文字の学習は問題となる。この対策
の一つは全言語に十分対処できる高分解能なものを用意
すればよい。しかし、これは効率との兼ね合いであり、
場合に応じて決める必要がある。さらに、デ−タ・キャ
ラクタ・タ−ゲットとか音声パタ−ン・デ−タのどの型
に対しても、入力データ構造は均一に形成され、単一シ
ステム形成で全パタ−ン認識に対応できなければならな
い。上記異なった文字列のシステム能力の議論の視点か
ら、他の必要なシステム仕様が述べられる。上記実施例
1によれば、ひんぱんには使われないメモリの部分は、
内部RAM32(図5)から消去され、外部メモリ31
に移されることもある。詳しくは、あまり使用されない
(即ち入力パタ−ンのクラスとして、あまり選択されな
い)出力層ノ−ド18と上記出力層ノ−ドに関係する中
間層ノ−ドは、外部メモリに移される。このペ−ジング
に似た操作で、外部メモリ31に格納されているデ−タ
は再び必要な時にフェッチされ、内部メモリ32に移さ
れる。
【0050】転送操作のフロ−チャ−トが図16で示さ
れる。図6の使用頻度118の領域が各クラス毎にチェ
ックされる(ステップ270)。上記のように、この使
用頻度領域は入力のクラスとして選択される度毎にイン
クレメントされる。またこのシステムはどのグル−プが
一番使用されなかったかということも調べる(ステップ
272)。この例では、グル−プは、異なった言語列を
指す。もっと一般的には、各グル−プは文字認識以外の
応用のための異なったデ−タ列である。簡単な例が日本
語文字とドイツ語文字の例である。
【0051】このシステムでは、互いの出力層ノ−ドを
みて、最後のクラスまで到達したかをまずチェックする
(ステップ274)。もし最後のクラスまで到達してい
なければ、次のクラスをとりあげて(ステップ27
6)、使用頻度領域が0であるかどうかを調べる(ステ
ップ278)。もし0でなければ次のクラスを調べる。
もし0なら、そのクラスが最小使用頻度グル−プかどう
かを調べる(ステップ280)。もし最小使用頻度グル
−プなら、その出力層ノ−ドと対応する中間層ノ−ドは
外部メモリに転送される(ステップ280)。もし最小
使用頻度グル−プでないなら、そのクラスは転送されな
い。この方法は選択されたグル−プはよく使用されると
推定し、内部メモリに入れておくことを意味する
【0052】この転送手段は定期的に起動され、たとえ
ば1000字入力毎に行われる。学習モ−ドでは、もし
図1の教師信号6で与えられる正解クラスに属するノ−
ドがないときは、図5の制御ユニット36は、RAM3
2中に新しい正解出力層ノ−ドと中間層ノ−ドを生成す
る前に、外部メモリ31中に正解クラスの情報が転送さ
れているかどうかを調べる。あれば外部メモリから持っ
てくるし、もし外部メモリ31に正解クラスの出力層ノ
−ドと中間層ノ−ドがないなら、制御ユニット36が正
解クラスの出力層ノ−ドと中間層ノ−ドを生成する。
【0053】上記実施例以外に、本発明の形式か内容を
変化させ、本発明の本質を離れない範囲で種々の応用が
可能である。
【0054】
【発明の効果】以上のようにこの発明によれば、まずテ
ンプレ−トと入力パタ−ンを比較し、クラス分けする手
段とこのクラス分けが正しいか確認する手段と、他のク
ラスと離れて安定かを調べる手段を設けたので、クラス
分けが不十分で安定でないときはテンプレ−トを変更し
て安定なクラス分けができる効果がある。さらに、間違
ったクラス分けやクラス分けができないときも新しくク
ラスを設定して修正し、新しいテンプレ−トを用意し
て、やはり安定なクラス分けが出来る効果がある。ま
た、入力段、中間層段、出力段、セレクタと分離し、特
に中間層段では各クラス別に重みを変更出来るようにし
たので、安定なクラス分けが出来る効果がある。さら
に、認識モ−ドと学習モ−ドを別にして、学習モ−ドで
教師信号に対応したクラス分けもするので、外部信号を
基準に安定なクラス分けが出来る効果がある。また、機
能別の構成手段でなくとも、入力パタ−ンと各クラスを
順次比較し、差の結果を記憶していて、クラス信号を定
めるようにしたので、クラス別のテンプレ−トとの比較
で区分可能なクラス分けが出来る効果がある。
【図面の簡単な説明】
【図1】本発明の実施例である自己組織型パタ−ン分類
システムのブロック図である。
【図2】本発明の実施例である、正解クラスと出力応答
信号との関係を調べるフロ−チャ−ト図の例である。
【図3】本発明の実施例の自己組織型パタ−ン分類シス
テムが、正解クラスがない時に新しい中間層ノ−ドと
力層ノ−ドを生成することを説明する図である。
【図4】自己組織型パタ−ンの分類システムが新しい中
間層ノ−ドを生成することを説明する図である。
【図5】本発明の実施例である直列プロセッサを使用し
た自己組織型パタ−ン分類システムを示す図である。
【図6】メモリ中での中間層ノ−ド群、出力層ノ−ド
群、制御変数の数値の記憶状態を示す図である。
【図7】図1のシステムの動作を説明するフロ−チャ−
ト図である。
【図8】図1のシステムの動作を説明する他のフロ−チ
ャ−ト図である。
【図9】図1のシステムの動作を説明する他のフロ−チ
ャ−ト図である。
【図10】本発明の実施例である並列プロセッサを使用
した自己組織型パタ−ン分類システムを示す図である。
【図11】図5のシステムの入力信号を得るためのイメ
−ジ読み取りの例を示すブロック図である。
【図12】図5のシステムの入力文字のデ−タ構造を示
す図である。
【図13】本発明の一実施例の自己組織型パタ−ン分類
システムの大きな分類別でのステップを示すフロ−チャ
−ト図である。
【図14】日本語の一般的な文字デ−タベ−スと、学習
デ−タの生成を示す図である。
【図15】文字「A」の種々のフォントを示す図であ
る。
【図16】転送(掃き出し)プロセスを示すフロ−チャ
−ト図である。
【図17】従来技術によるパタ−ン分類システムの図で
ある。
【図18】図17のシステムの中間層ノ−ドを表わすブ
ロック図である。
【図19】アルファベットの各クラスを表す種々のテン
プレ−ト・パタ−ンを示す図である。
【図20】ベクトル空間での入力信号ベクトルを中間層
ノ−ドの関係とを表した図である。
【図21】入力パタ−ン信号のクラス分けを容易にする
よう重み係数を変更することを説明する図である。
【符号の説明】 3 中間層ノ−ド 5 出力応答信号 6 教師信号 7 学習信号 8 第1の信号線 10 中間層ノ−ド出力 11 信号線 17 クラス出力信号 18 出力層ノ−ド 19 セレクタ 20 信号線 21 信号線 30 入力バッファ 31 外部メモリ 32 重み情報メモリ 33 演算ユニット 34 応答信号バッファ 35 プログラムメモリ 101 変数テ−ブル 102 出力層ノ−ド・テ−ブル 103 中間層ノ−ド・テ−ブル 104 重み係数テ−ブル
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正内容】
【図2】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図18
【補正方法】変更
【補正内容】
【図18】

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 入力パタ−ンをクラス分けする以下の要
    素から構成される自己組織型パタ−ン分類システム (a)既に学習したパタ−ンでそれぞれクラス分けされ
    たテンプレ−トと比較する手段と、 (b)上記比較手段によって入力パタ−ンをクラス分け
    する手段と、 (c)入力信号が正しくクラス分けされたかどうかを調
    べる手段と、 (d)入力信号に対し正解クラスが選択された時、正解
    クラスが他のクラスから離れたテンプレ−トを持ってい
    るかどうかを調べる手段と、 (e)テンプレ−トが調整されて安定なクラス分けがで
    きているかどうかを調べて調整する手段。
  2. 【請求項2】 入力パタ−ンをクラス分けする以下の要
    素から構成される自己組織型パタ−ン分類システム (a)既に学習したパタ−ンでそれぞれクラス分けされ
    たテンプレ−トと比較する手段と、 (b)上記比較手段によって入力パタ−ンをクラス分け
    する手段と、 (c)入力信号が正しくクラス分けされたかどうかを調
    べる手段と、 (d)正解クラスのテンプレ−トがあるかどうかを調べ
    る手段と、 (e)正しくないクラスが選択されたか、または正解ク
    ラスのテンプレ−トがない時は、比較用の新しいテンプ
    レ−トを生成する手段。
  3. 【請求項3】 入力パタ−ン信号をクラス分けする以下
    の要素から構成される自己組織型パタ−ン分類システム (a)入力パタ−ン信号の各要素を受ける入力バッファ
    と、 (b)上記入力バッファからの要素信号を受けて、各々
    中間出力値を生成する中間層ノ−ド群と、 (c)同一各クラスの中間層ノ−ドの中間層出力値を受
    け、上記中間層出力値中の最小値を調べ、最小値対応の
    中間層ノ−ド群を示すクラス信号を各々クラス信号とし
    て出力する出力ノ−ド群と、 (d)最小値を出力する中間層ノ−ドのクラスを示す応
    答信号を外部へ出力し、また学習信号を上記中間層ノ−
    ドにも出力する自己組織化セレクタを備え、 上記学習信号は、上記出力ノ−ド群からのクラス信号
    と、外部から入力パタ−ン信号の正解クラスを示す教師
    信号であって、これにより上記中間層ノ−ドの重み係数
    を調整する手段。
  4. 【請求項4】 システム中に構成される自己組織型セレ
    クタは、以下の認識モ−ドと学習モ−ドで動作するもの
    である自己組織型パタ−ン分類システム (a)認識モ−ドでは、中間層出力値の中から最小値を
    求め、その最小出力値を与える上記出力ノ−ドのクラス
    名を応答信号として出力し、 (b)学習モ−ドでは、上記出力ノ−ドからのクラス信
    号と外部からの教師信号によるクラス分けに基づき、上
    記中間層の上記重み係数を修正する。
  5. 【請求項5】 入力ベクトルをクラス分けする以下の要
    素から構成される自己組織型パタ−ン分類システム (a)入力ベクトルを格納する入力バッファと、 (b)特定クラスに関係したパタ−ンを持つ各クラスの
    パタ−ンのテンプレ−トを格納する手段と、 (c)上記入力ベクトルと上記格納された各テンプレ−
    トとを比較し、上記入力ベクトルとテンプレ−トとの比
    較結果の差を中間層出力信号とする中間層出力手段と、 (d)上記クラスのテンプレ−トで比較し最小の差を持
    つ中間層出力を選択してクラスを表す信号とし、選択手
    段に上記クラス出力信号を送る受信手段と、 (e)各クラスの上記受信手段からの最小出力信号を受
    け、さらに上記最小出力信号の最小値を求め、上記最小
    値を送出した受信手段のクラスを求め、そのクラスを示
    す出力を生成する選択手段。
  6. 【請求項6】 入力パタ−ンをクラス分けする以下のス
    テップからなる自己組織型分類方法 (a)入力パタ−ンのデ−タと、差算出用の入力の各ク
    ラスのテンプレ−トと比較するスッテプと、 (b)各クラスのテンプレ−トでの比較結果で差が最小
    の値を選択し、そのクラスの最小値と定めるステップ
    と、 (c)クラス最小値中の最小の値を選択するステップ
    と、 (d)上記選択された最小の値を持つテンプレ−トのク
    ラスに入力信号をクラス分けするステップ。
JP04007489A 1991-02-12 1992-01-20 自己組織型パタ−ン分類システム及び分類方法 Expired - Fee Related JP3088171B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65480091A 1991-02-12 1991-02-12
US07/654,800 1991-02-12

Publications (2)

Publication Number Publication Date
JPH05210648A true JPH05210648A (ja) 1993-08-20
JP3088171B2 JP3088171B2 (ja) 2000-09-18

Family

ID=24626290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04007489A Expired - Fee Related JP3088171B2 (ja) 1991-02-12 1992-01-20 自己組織型パタ−ン分類システム及び分類方法

Country Status (2)

Country Link
US (3) US5682503A (ja)
JP (1) JP3088171B2 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE279758T1 (de) * 1992-06-19 2004-10-15 United Parcel Service Inc Verfahren und gerät zur einstellung eines neurons
DE69314293T2 (de) * 1992-12-16 1998-04-02 Koninkl Philips Electronics Nv Neuronalanlage und -Bauverfahren
US5619619A (en) * 1993-03-11 1997-04-08 Kabushiki Kaisha Toshiba Information recognition system and control system using same
US5737496A (en) * 1993-11-17 1998-04-07 Lucent Technologies Inc. Active neural network control of wafer attributes in a plasma etch process
US5572628A (en) * 1994-09-16 1996-11-05 Lucent Technologies Inc. Training system for neural networks
US5835902A (en) * 1994-11-02 1998-11-10 Jannarone; Robert J. Concurrent learning and performance information processing system
CA2167748A1 (en) * 1995-02-09 1996-08-10 Yoav Freund Apparatus and methods for machine learning hypotheses
US5729662A (en) * 1995-06-07 1998-03-17 Rozmus; J. Michael Neural network for classification of patterns with improved method and apparatus for ordering vectors
US5802207A (en) * 1995-06-30 1998-09-01 Industrial Technology Research Institute System and process for constructing optimized prototypes for pattern recognition using competitive classification learning
DE69702116T2 (de) * 1996-02-02 2000-09-28 Rodney Michael John Coterill Verfahren zur verarbeitung von datenströmen in einem neuronalen netzwerk und ein neuronales netzwerk
US6085186A (en) * 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
US6216119B1 (en) 1997-11-19 2001-04-10 Netuitive, Inc. Multi-kernel neural network concurrent learning, monitoring, and forecasting system
DE69802372T4 (de) 1998-02-05 2003-01-23 Intellix As Frederiksberg Klassifizierungssystem und -verfahren mit N-Tuple- oder RAM-basiertem neuronalem Netzwerk
US6526168B1 (en) 1998-03-19 2003-02-25 The Regents Of The University Of California Visual neural classifier
US6523018B1 (en) * 1998-12-29 2003-02-18 International Business Machines Corporation Neural chip architecture and neural networks incorporated therein
US6502083B1 (en) * 1998-12-29 2002-12-31 International Business Machines Corporation Neuron architecture having a dual structure and neural networks incorporating the same
US6581049B1 (en) 1999-11-08 2003-06-17 Saffron Technology, Inc. Artificial neurons including power series of weights and counts that represent prior and next association
US6816786B2 (en) * 2000-04-18 2004-11-09 Devrie S Intriligator Space weather prediction system and method
US6356842B1 (en) 2000-04-18 2002-03-12 Carmel Systems, Llc Space weather prediction system and method
US20040205035A1 (en) * 2000-05-01 2004-10-14 Norbert Rimoux Method and system for adaptive learning and pattern recognition
JP2001343336A (ja) * 2000-05-31 2001-12-14 Nidek Co Ltd 欠陥検査方法及び欠陥検査装置
US20020172349A1 (en) * 2001-05-17 2002-11-21 Shea Phillip N. Neural net-call progress tone detector
US6665651B2 (en) 2001-07-18 2003-12-16 Colorado State University Research Foundation Control system and technique employing reinforcement learning having stability and learning phases
US7016886B2 (en) * 2001-08-10 2006-03-21 Saffron Technology Inc. Artificial neurons including weights that define maximal projections
US7295977B2 (en) * 2001-08-27 2007-11-13 Nec Laboratories America, Inc. Extracting classifying data in music from an audio bitstream
US7117045B2 (en) * 2001-09-08 2006-10-03 Colorado State University Research Foundation Combined proportional plus integral (PI) and neural network (nN) controller
DE10245107B4 (de) * 2002-09-27 2006-01-26 Siemens Ag Voice Activity Detection auf Basis von unüberwacht trainierten Clusterverfahren
US20040068475A1 (en) * 2002-09-30 2004-04-08 Depold Hans R. Physics based neural network trend detector
US20040064426A1 (en) * 2002-09-30 2004-04-01 Depold Hans R. Physics based neural network for validating data
JP2007504576A (ja) * 2003-01-17 2007-03-01 アヤラ,フランシスコ,ジェイ 人工知能を開発するためのシステム及び方法
US7493295B2 (en) * 2003-01-17 2009-02-17 Francisco J. Ayala Method, system and computer program for developing cortical algorithms
JP2005044330A (ja) * 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置
US7305132B2 (en) * 2003-11-19 2007-12-04 Mitsubishi Electric Research Laboratories, Inc. Classification in likelihood spaces
JP4639784B2 (ja) * 2004-12-06 2011-02-23 ソニー株式会社 学習装置および学習方法、並びにプログラム
JP2006285899A (ja) * 2005-04-05 2006-10-19 Sony Corp 学習装置および学習方法、生成装置および生成方法、並びにプログラム
WO2006138502A2 (en) * 2005-06-16 2006-12-28 The Board Of Trustees Operating Michigan State University Methods for data classification
US8140261B2 (en) 2005-11-23 2012-03-20 Alcatel Lucent Locating sensor nodes through correlations
US8726144B2 (en) * 2005-12-23 2014-05-13 Xerox Corporation Interactive learning-based document annotation
JP4201012B2 (ja) * 2006-04-06 2008-12-24 ソニー株式会社 データ処理装置、データ処理方法、およびプログラム
US7657496B2 (en) * 2006-06-26 2010-02-02 Saffron Technology, Inc. Nonlinear associative memories using linear arrays of associative memory cells, and methods of operating same
US8490056B2 (en) * 2010-04-28 2013-07-16 International Business Machines Corporation Automatic identification of subroutines from test scripts
US9041566B2 (en) * 2013-08-30 2015-05-26 International Business Machines Corporation Lossless compression of the enumeration space of founder line crosses
ES2864149T3 (es) 2014-03-06 2021-10-13 Progress Inc Red neuronal y método de entrenamiento de red neuronal
US9619749B2 (en) 2014-03-06 2017-04-11 Progress, Inc. Neural network and method of neural network training
US10423694B2 (en) 2014-03-06 2019-09-24 Progress, Inc. Neural network and method of neural network training
US9928408B2 (en) * 2016-06-17 2018-03-27 International Business Machines Corporation Signal processing
US11507806B2 (en) * 2017-09-08 2022-11-22 Rohit Seth Parallel neural processor for Artificial Intelligence
US10620631B1 (en) 2017-12-29 2020-04-14 Apex Artificial Intelligence Industries, Inc. Self-correcting controller systems and methods of limiting the operation of neural networks to be within one or more conditions
US10795364B1 (en) 2017-12-29 2020-10-06 Apex Artificial Intelligence Industries, Inc. Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips
US10324467B1 (en) * 2017-12-29 2019-06-18 Apex Artificial Intelligence Industries, Inc. Controller systems and methods of limiting the operation of neural networks to be within one or more conditions
US10802488B1 (en) 2017-12-29 2020-10-13 Apex Artificial Intelligence Industries, Inc. Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips
US10672389B1 (en) 2017-12-29 2020-06-02 Apex Artificial Intelligence Industries, Inc. Controller systems and methods of limiting the operation of neural networks to be within one or more conditions
US10802489B1 (en) 2017-12-29 2020-10-13 Apex Artificial Intelligence Industries, Inc. Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips
CN109979033B (zh) * 2019-03-26 2021-08-20 广东艾胜物联网科技有限公司 一种基于宽度学习算法的工业生产产量监测方法
US10691133B1 (en) * 2019-11-26 2020-06-23 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks
US11367290B2 (en) 2019-11-26 2022-06-21 Apex Artificial Intelligence Industries, Inc. Group of neural networks ensuring integrity
US10956807B1 (en) 2019-11-26 2021-03-23 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks utilizing predicting information
US11366434B2 (en) 2019-11-26 2022-06-21 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks
JP7325310B2 (ja) * 2019-11-28 2023-08-14 富士フイルムヘルスケア株式会社 医用画像処理装置、医用画像解析装置、及び、標準画像作成プログラム
USD1006855S1 (en) * 2019-12-16 2023-12-05 Magic Leap, Inc. Camera network

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2051725B1 (ja) * 1969-07-14 1973-04-27 Matsushita Electric Ind Co Ltd
US3950733A (en) * 1974-06-06 1976-04-13 Nestor Associates Information processing system
US4044243A (en) * 1976-07-23 1977-08-23 Nestor Associates Information processing system
JPS5819109B2 (ja) * 1978-11-10 1983-04-16 肇産業株式会社 パタ−ン判別方法
US4316259A (en) * 1980-03-18 1982-02-16 Grumman Aerospace Corporation Programmable function generator
US4326259A (en) * 1980-03-27 1982-04-20 Nestor Associates Self organizing general pattern class separator and identifier
US4774677A (en) * 1981-08-06 1988-09-27 Buckley Bruce S Self-organizing circuits
US4760604A (en) * 1985-02-15 1988-07-26 Nestor, Inc. Parallel, multi-unit, adaptive, nonlinear pattern class separator and identifier
US4805225A (en) * 1986-11-06 1989-02-14 The Research Foundation Of The State University Of New York Pattern recognition method and apparatus
US4914708A (en) * 1987-06-19 1990-04-03 Boston University System for self-organization of stable category recognition codes for analog input patterns
US4975961A (en) * 1987-10-28 1990-12-04 Nec Corporation Multi-layer neural network to which dynamic programming techniques are applicable
US4958375A (en) * 1988-02-17 1990-09-18 Nestor, Inc. Parallel, multi-unit, adaptive pattern classification system using inter-unit correlations and an intra-unit class separator methodology
US5333239A (en) * 1988-09-12 1994-07-26 Fujitsu Limited Learning process system for use with a neural network structure data processing apparatus
US5093899A (en) * 1988-09-17 1992-03-03 Sony Corporation Neural network with normalized learning constant for high-speed stable learning
US5048100A (en) * 1988-12-15 1991-09-10 Michael Kuperstein Self organizing neural network method and system for general classification of patterns
EP0378115B1 (en) * 1989-01-06 1998-09-30 Hitachi, Ltd. Neural computer
JP2760543B2 (ja) * 1989-02-10 1998-06-04 株式会社東芝 多重帰還回路
EP0384689B1 (en) * 1989-02-20 1997-12-29 Fujitsu Limited A learning system and learning method for a data processing apparatus
US5195169A (en) * 1989-03-03 1993-03-16 Sharp Kabushiki Kaisha Control device for controlling learning of a neural network
US5293454A (en) * 1989-03-08 1994-03-08 Sharp Kabushiki Kaisha Learning method of neural network
JPH0738186B2 (ja) * 1989-03-13 1995-04-26 シャープ株式会社 自己拡張形ニユーラル・ネットワーク
US5553196A (en) * 1989-04-05 1996-09-03 Yozan, Inc. Method for processing data using a neural network having a number of layers equal to an abstraction degree of the pattern to be processed
JP2940933B2 (ja) * 1989-05-20 1999-08-25 株式会社リコー パターン認識方式
US5214743A (en) * 1989-10-25 1993-05-25 Hitachi, Ltd. Information processing apparatus
US5056037A (en) * 1989-12-28 1991-10-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analog hardware for learning neural networks
US5299284A (en) * 1990-04-09 1994-03-29 Arizona Board Of Regents, Acting On Behalf Of Arizona State University Pattern classification using linear programming
US5052043A (en) * 1990-05-07 1991-09-24 Eastman Kodak Company Neural network with back propagation controlled through an output confidence measure
US5157738A (en) * 1990-12-18 1992-10-20 Trustees Of Boston University Rapid category learning and recognition system
US5259064A (en) * 1991-01-25 1993-11-02 Ricoh Company, Ltd. Signal processing apparatus having at least one neural network having pulse density signals as inputs and outputs

Also Published As

Publication number Publication date
JP3088171B2 (ja) 2000-09-18
US5870729A (en) 1999-02-09
US5682503A (en) 1997-10-28
US5479575A (en) 1995-12-26

Similar Documents

Publication Publication Date Title
JP3088171B2 (ja) 自己組織型パタ−ン分類システム及び分類方法
CN111046152B (zh) Faq问答对自动构建方法、装置、计算机设备及存储介质
US20210382937A1 (en) Image processing method and apparatus, and storage medium
CN110069709B (zh) 意图识别方法、装置、计算机可读介质及电子设备
US6795818B1 (en) Method of searching multimedia data
CN109948149B (zh) 一种文本分类方法及装置
CN114492363B (zh) 一种小样本微调方法、系统及相关装置
JP2000099632A (ja) 検索装置、検索方法及び検索プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20200000216A (ko) 단어자질을 강화한 음성 대화 방법 및 시스템
CN113886571A (zh) 实体识别方法、装置、电子设备及计算机可读存储介质
Parvin et al. A heuristic scalable classifier ensemble of binary classifier ensembles
CN108256463B (zh) 基于esn神经网络的移动机器人场景识别方法
CN113723070A (zh) 文本相似度模型训练方法、文本相似度检测方法及装置
CN114492601A (zh) 资源分类模型的训练方法、装置、电子设备及存储介质
CN113806645A (zh) 标签分类系统及标签分类模型的训练系统
US5555439A (en) Learning system and a learning pattern showing method for a neural network
US20240037335A1 (en) Methods, systems, and media for bi-modal generation of natural languages and neural architectures
JP3537949B2 (ja) パターン認識装置及び同装置における辞書修正方法
JP2000137732A (ja) 検索装置、検索方法及び検索プログラムを記録したコンピュ―タ読み取り可能な記録媒体
US20230259761A1 (en) Transfer learning system and method for deep neural network
Boujemaa On competitive unsupervised clustering
CN115495579A (zh) 5g通信助理文本分类的方法、装置、电子设备及存储介质
US11526727B1 (en) Machine learned chart recommendation system
CN115357715A (zh) 基于奇异值分解和领域预训练的短文本聚类方法
CN112131363A (zh) 自动问答方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000620

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070714

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080714

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees