(57)【特許請求の範囲】
【請求項１】
前段の荒分類を行うベクトル量子化型ニューラルネットと後段の細分類を行う３層型ニューラルネットからなるニューラルネットを有する文字認識装置において、
前記前段の荒分類を行うベクトル量子化型ニューラルネットは、
１番目の学習データが入力されることにより新たなニューロンを生成する第１の生成手段と、
２番目以降の学習データが入力されることにより、各ニューロンの代表ベクトルとの相違度を計算する計算手段と、
前記計算手段により計算された各ニューロンとの相違度が閾値よりも大きい場合は新たなニューロンを生成する第２の生成手段と、
前記計算手段により計算された各ニューロンとの相違度が閾値よりも小さい場合は最も相違度の小さいニューロンに当該データを取り込む取込手段と、
前記取込手段によりデータを取り込んだニューロン内のメンバ数が一定値を超えた場合、ニューロン内の代表ベクトルから最も遠距離にある相違度の大きいメンバーを放出する放出手段と
を有することを特徴とする文字認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ニューラルネットを用いた文字認識装置に関するものである。
【０００２】
【従来の技術】
従来、文字認識装置としてニューラルネットのＢＰ学習を用いたものが知られているが、このうち１つのニューラルネットを用いたシステムでは、認識文字数が少なかったり、認識率が低いなどの理由から実用にいたっていない。
【０００３】
これに対して、最近になって、荒分類用の教師無し学習を行うステム・ネットと、細分類用の教師信号ありＢＰ学習を行うブランチ・ネットによる３層型ニューラルネットにより構成したシステムが考えられており、多種の字種を一括して認識できるようになっている。
【０００４】
【発明が解決しようとする課題】
ところが、このようなシステムにおける荒分類用のステム・ネットでは、１つのニューロン（グループ）内のカテゴリー（字種）数が一定以上になると、多次元（入力パラメータ数の次元）超平面で２分割されるようになっているが、この時、カテゴリー数が半減するとともに、各ニューロン内のカテゴリー数にも偏りを生じるなどして認識率の低下を招くことがあった。
【０００５】
そこで、この分割の際、乱数により参照ベクトルを含む超平面を発生させ、それによりニューロン内のカテゴリー数がその超平面により同数に分割されたかをチェックし、同数でなかった場合は、さらに乱数を発生させて新たな超平面を発生させてカテゴリー数が同数に分割できたかをチェックするような作業を繰り返して、ニューロン内のカテゴリー数の偏りをなくす試みがなされているが、このような作業には、非常に多くの演算量を必要としていた。
【０００６】
また、このようなシステムの入力パラメータとしてメッシュ特徴のみを用いているため、文字の変形、汚れ、移動など対して誤認識し易くなるという問題点もあった。
【０００７】
さらに、細分類のブランチ・ネットによる三層型ニューラルネットについても、部分結合はしているものの完全に中間層まで分ける程の部分結合になっておらず、このため学習時間や認識時間が多くかかっていた。
【０００８】
さらにまた、かかる３層型ニューラルネットの学習収束条件でも、１位の発火が一定値以上（＞0.8 ）で、その他の発火が一定値以下（＜0.2 ）に設定されたり、２乗誤差和が一定値以下に設定されるようになるため、学習時間が必要以上に長くかかり、さらに過学習により汎用性が低下してしまうという問題点もあった。
【０００９】
本発明は、上記事情に鑑みてなされたもので、安定した文字認識を短時間に実現できる文字認識装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明に係る文字認識装置は、前段の荒分類を行うベクトル量子化型ニューラルネットと、後段の細分類を行う３層型ニューラルネットからなるニューラルネットを有する文字認識装置であって、前記前段の荒分類を行うベクトル量子化型ニューラルネットは、１番目の学習データが入力されることにより新たなニューロンを生成する第１の生成手段と、２番目以降の学習データが入力されることにより、各ニューロンの代表ベクトルとの相違度を計算する計算手段と、前記計算手段により計算された各ニューロンとの相違度が閾値よりも大きい場合は新たなニューロンを生成する第２の生成手段と、前記計算手段により計算された各ニューロンとの相違度が閾値よりも小さい場合は最も相違度の小さいニューロンに当該データを取り込む取込手段と、前記取込手段によりデータを取り込んだニューロン内のメンバ数が一定値を超えた場合、ニューロン内の代表ベクトルから最も遠距離にある相違度の大きいメンバーを放出する放出手段とを有することを特徴とする。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を図面に従い説明する。
【００２４】
図１は本発明が適用される文字認識装置の概略構成を示している。図において、１はＤＳＰなどの高速演算を可能にしたマイクロコンピュータで、このコンピュータ１は、ＩＲ０Ｍ１１やＲＡＭ１２を有している。ここで、ＩＲ０Ｍ１１には、図２に示すようなニューラルネットを実現するためのプログラムが格納されている。
【００２５】
また、このマイクロコンピュータ１には、バス２を接続し、このバス２に、認識文字パターンを取り込むためのスキャナ部３、各種の操作キーを有する入力キー４、表示用ＬＥＤ５、各ニューラルネットの結合ウエイトを記憶したＲＯＭ６、フレームバッファとして用いられるＶＲＡＭ７１を有するＲＡＭ７およびインターフェース８を接続している。
【００２６】
図２は、このような文字認識装置に用いられるニューラルネットの概略構成を示している。
【００２７】
この場合、前段の荒分類を行う複数個のベクトル量子化型ニューラルネット（荒分類ニューラルネット）２１1 〜２１n 、後段の細分類を行う複数個の３層型ニューラルネット（細分類ニューラルネット）２２1 〜２２n から構成している。
【００２８】
ここで、荒分類ニューラルネット２１1 〜２１n は、入力パラメータとして、認識対象文字について切り出しなどの前処理を行った後に抽出されるメッシュ特徴とペリフェラル特徴が与えられ、各代表ベクトルとの相違度を下式に従って求め、このうち、相違度の小さなものから３つのニューロンとその相違度を決定するようにしている。
【００２９】
【数１】
0003804088.tif 000002
【００３０】
ただし、ｘi は入力データのパラメータ、ｍjiは代表ベクトル成分、ｈjiは代表ベクトルの平均距離、ｃは定数
なお、上述したメッシュ特徴およびペリフェラル特徴の抽出については、周知の技術なので、ここでの説明は省略する。
【００３１】
また、細分類ニューラルネット２２1 〜２２n は、荒分類ニューラルネット２１1 〜２１n で決定された３つのニューロンに対応するものについて、上述した認識対象文字について前処理を行った後に抽出される局所４方向成分特徴が入力パラメータとして与えられ、これを演算して出力の発火値を得るとともに、さらに、これら３組について下式により類似度を計算し、類似度の最大のものを認識結果とするようにしている。
【００３２】
類似度＝Ｃ／（荒分類ニューラルネットの相違度）α・（細分類ニューラルネットの発火値）β                                    …（２）
ただし、Ｃ、α、βは定数
しかして、まず、荒分類ニューラルネット２１1 〜２１n は、入力パラメータのメッシュ特徴およびペリフェラル特徴として、メッシュ特徴６４個、ペリフェラル特徴６４個の合計１２８個を用い、上述した（２）式により各ニューロン（ベクトル）内の各データとその代表ベクトルとの平均距離で正規化することにより類似度を求める。
【００３３】
この場合、荒分類ニューラルネット２１1 〜２１n での学習は、４段階に分かれており、その過程を図３に示すフローにより説明する。
【００３４】
まず、第１段階において、初期状態では、ニューロンは、０であるので、ステップ３０１で、学習データとして１番目のデータが入力されると、無条件でニューロンを１つ生成してその入力されたデータをそのまま代表ベクトルとするとともに、平均距離は全て１、最大相違度も０とする。
【００３５】
次に、ステップ３０２で、２番目のデータが入力されると、ステップ３０３で、１つ目のデータが有るので、ＮＯとなってステップ３０４に進む。ステップ３０４では、２番目のデータと１つ目のニューロンの代表ベクトルとの相違度を計算する。なお、ここでの相違度は、入力データの各パラメータとそれに対応する各代表ベクトルとの差をそのベクトルの各平均距離で正規化したものの２乗和のことで、Ｊ番目の代表ベクトルとの相違度は、計算式（１）により求められる。
【００３６】
そして、ステップ３０５で、この相違度が生成しきい値（このしきい値は、無条件でニューロンを生成して割り当てるかどうかを決めるもので、第１段目では、この値を小さく設定している。）より大きいかを判定する。
【００３７】
この場合、相違度がしきい値より大きい場合は、ステップ３０６で、２番目のデータについても１番目のデータと同様、２つ目のニューロンとして生成し、ステップ３０７で、２番目のデータから代表ベクトル、平均距離、最大相違度を計算する。ここでの計算は、図４に示すフローに示すように、まず、ステップ４０１で、２番目のデータから代表ベクトルを計算し、次いで、ステップ４０２で、各成分の平均距離を計算し、最後に相違度を計算するとともに最大相違度を決定する。
【００３８】
一方、図３に戻って、ステップ３０５で、しきい値より小さいと判断した場合は、ステップ３０８で、相違度最小のグループ（ここでは１つ目のニューロン）が一杯かを判断し、一杯で無ければ、ステップ３０９で、１つ目のグループ（ニューロン）に取り込み、ステップ３１０で、１番目のデータと２番目のデータから図４に示すフローにより代表ベクトル、平均距離、最大相違度を計算する。
【００３９】
以下、３番目のデータについても、上述したと同様な動作を繰り返す。但し、ステップ３０９でのグループへの取り込みは、ニューロンが複数個ある場合は、相違度の小さい方のニューロンに取り込まれるようになる。
【００４０】
また、ステップ３０８で、相違度最小のグループ（ニューロン）が満杯の場合は、ステップ３１１に進む。ここで、相違度最小グループ（ニューロン）の満杯を確認するのは、１つのニューロン内に収容できる文字種の数が規定されているからで、この文字種の数が後段の細分類ＮＮの出力層のニューロン数になり、この数が一定でないと細分類ＮＮの学習の出力値（発火値）に影響を及ぼし、式（１）による比較判断の精度が低下し、誤認識の原因になるためである。
【００４１】
ステップ３１１では、相違度最小グループ（ニューロン）と自分自身の相違度を比較し、仮に自分自身の相違度が大きければ、２番目に相違度の小さいニューロンに目標を移すが、ステップ３１２で、次のグループ（ニューロン）が存在しない場合は、ステップ３０６に戻って、新たなグループ（ニューロン）を生成するようになる。
【００４２】
一方、ステップ３１２で、次のグループ（ニューロン）として２番目に相違度の小さいグループ（ニューロン）が存在すれば、ステップ３１３で、この２番目に相違度の小さいグループ（ニューロン）が満杯かを判断する。そして、この２番目に相違度の小さいグループ（ニューロン）が満杯でなければ、ステップ３０９で、そのグループ（ニューロン）に取り込むようになる。また、満杯ならば、ステップ３１１に戻って、２番目に相違度の小さいグループ（ニューロン）と自分自身の相違度を比較し、さらに自分自身の相違度が大きければ、３番目に相違度の小さいニューロンに目標を移して、上述したと同様な動作を繰り返す。
【００４３】
また、ステップ３１１で、自分自身の相違度が小さければ、ステップ３１４で、２番目に相違度の小さいグループ（ニューロン）内で相違度最大のものを放出しこれと入れ替えを行い、ステップ３１５で、このグループ（ニューロン）について図４に示すフローにより代表ベクトル、平均距離、最大相違度を計算する。また、このグループ（ニューロン）から放出された相違度最大のデータについては、ステップ３０４に戻って、各ニューロンの代表ベクトルとの相違度を計算し、ステップ３０５以降の動作を実行する。
【００４４】
その後、このような操作を全学習データについて実行する。
【００４５】
次に、第２段階に進む。この場合、ニューロン生成のためのしきい値を大きくしてニューロンを新たに発生しにくい状態にし、代表ベクトルはそまままにしてもう一度上述の操作を行い全データを再配置する。つまり、普通ではニューロンを生成しないが、相違度が異常に大きいような場合にのみ新たなニューロンを生成するようにする。
【００４６】
次に、第３段階に進む。この場合、ニューロン数がＩＮＴ（全文字種／ニューロンの収容文字種数＋１）になるまでニューロン内のメンバー数の少ないニューロンを潰してそのメンバーを上述した操作により他のニューロンに配置する。
【００４７】
そして、最後に第４段階に進み、ニューロン数はそのままで第２段階と同様にして全学習データを再配置する。
【００４８】
ここで、正規化距離による荒分類（ベクトル量子化）の具体例を図５により説明する。
【００４９】
この場合、Ａ、Ｂは、２つのニューロンで、このうちニューロンＡは、６個で満杯の割合近接したメンバー（○印）を有し、ここでの代表ベクトルが（4.7 ，5 ）、平均距離のＸ方向が0.786 、Ｙ方向が0.57であり、また、ニューロンＢは、５個の離れたメンバー（×印）を有し、ここでの代表ベクトルが（11.4，7.2 ）、平均距離のＸ方向が1.52、Ｙ方向が1.76であるとし、この状態から、入力データとして△印（4 ，8 ）が入力されたとすると、従来では、
ＫA ＝（4-4.7)2 ＋（8-5)2 ）1/2 ＝3.080
ＫB ＝（4- 11.4)2 ＋（8-7.2)2 ）1/2 ＝7.443
となり、ニューロンＡ側に分類されるが、学習時は、ニューロンＡ側が満杯のため、ニューロンＢ側に分類されることになるため、矛盾を生じてしまう。
【００５０】
しかし、上述したように平均距離で正規化した距離を求めると、
ＫｈA ＝（（（4-4.7)/0.786) 2 ＋（8-5)/0.53)2 ）1/2 ＝5.337
ＫｈB ＝（（（4- 11.4)/1.52)2 ＋（8-7.2)/1.76)2 ）1/2 ＝4.889
となって、ニューロンＢ側に正しく分類されることになる。
【００５１】
こうして、メンバーの平均距離で正規化した値で評価するベクトル量子化を行うと、似寄ったものが集まれば集まるほど平均距離が小さくなって排他的となり、逆に似ていないものが集まると平均距離が大きくなって許容的となることで（最終的にはその他のベクトルとなる）、合理的なベクトル量子化が可能になる。
【００５２】
なお、ここでは全メンバーの距離の平均値で正規化を行ったが、全メンバーのメディアなどや標準偏差、または代表ベクトルに近い方から半分または一定数のメンバーを用いたり、各成分（方向、次元）別に近い方から取ったものなども考えられ、その基となる母集合の特質により適宜使い分ければ、良好なベクトル量子化が可能になる。
【００５３】
このようにして、相違度の小さなものから３つのニューロンとその相違度が決定される。
【００５４】
次に、後段の細分類を行う細分類ニューラルネット２２1 〜２２n について説明する。
【００５５】
この場合、細分類ニューラルネット２２1 〜２２n は、図６に示すように入力層２２ａ、中間層２２ｂおよび出力層２２ｃからなる全結合の３層型ニューラルネットにより構成し、入力パラメータとしては、認識対象文字について切り出しなどの前処理を行った後、図７（ａ）に示す縦成分抽出フィルタ、同図（ｂ）に示す横成分抽出フィルタ、同図（ｃ）に示す斜（右上）成分抽出フィルタ、同図（ｄ）に示す斜（左上）成分抽出フィルタにより局所４方向の成分特徴を抽出し、さらに図８に示すようにハーフピッチづつずらしながら縦横各９個のブロックに分割し且つそのブロック内を２次元のハミング窓を掛け加算して得るようにしている。つまり、この場合のパラメータの数は、９（縦）×９（横）×４（方向）＝３２４である。
【００５６】
そして、全学習データについて、上述の局所４方向成分のパラメータを求めた後、上述した荒分類ニューラルネット２１1 〜２１n で決定された３組のニューロン内の文字種の分類にしたがって学習データを分類し、各細分類ニューラルネット２２1 〜２２n に割り振り、個々に学習を行い、出力の発火値を得るとともに、さらに、これら３組について（２）式により類似度を計算し、類似度の最大のものを認識結果とするようになる。
【００５７】
この場合の学習収束条件を、「全ての学習データに対して１位と２位との差が＞０．５で且つエラーの無いこと」とすることで、学習回数と学習時間を短縮することにより焼き付きを防止するようにもしている。また、学習終了時にその発火状況から補正係数（例えば０．９）を計算しておき、各細分類ニューラルネット２２1 〜２２n の出力差を補正することにより、文字認識率を改善することも可能になる。
【００５８】
従って、このような実施の形態によれば、各荒分類ニューラルネット２１1 〜２１n 内の文字種の数を一定とし、これを越えたときは、一番相違度の大きな文字種を放出して、ニューロン内の文字種数を一定とすることにより、後段の細分類ニューラルネット２２1 〜２２n の層数を一定に保つことで出力差を小さくできることから、正確な認識を可能にしている。
【００５９】
また、前段の荒分類ニューラルネット２１1 〜２１n では、各文字種間の平均距離を正規化して評価しているので、認識時に正確な分類が可能になる。
【００６０】
また、前段の荒分類ニューラルネット２１1 〜２１n には、メッシュ特徴とペリフェラル特徴を用い、後段の細分類ニューラルネット２２1 〜２２n には、局所４方向成分特徴が用いられるため、相補的で良好な認識が可能で、高認識率の文字認識を実現できる。
【００６１】
また、細分類ニューラルネット２２1 〜２２n の学習収束条件として「１位と２位の差が一定値以上でエラーがないこと」としているため、学習回数と学習時間を短縮できるとともに、焼き付けもなくなり、汎化性能の高い学習が可能になる。
【００６２】
また、細分類ニューラルネット２２1 〜２２n の学習終了時にその発火状況から所定の補正係数を計算し付加して、各細分類ニューラルネット間の出力差を補正しているので、文字認識率をさらに改善することができる。
【００６３】
なお、上述した実施の形態では、荒分類ニューラルネットの入力パラメータをメッシュ特徴とペリフェラル特徴としたが、メッシュ特徴またはペリフェラル特徴のいずれか一方のみ、または局所４方向成分特徴または局所４方向成分特徴の一部でも可能である。
【００６４】
次に、細分類ニューラルネットの他の実施の形態を図９により説明する。この実施の形態での細分類ニューラルネットは、上述した一実施の形態での細分類ニューラルネットを小型、簡略化したものであり、入力層２２ａと中間層２２ｂの結合を縦横方向成分と斜め方向成分に分けて部分結合することで、結合数を減らしている。また、局所４方向成分の抽出エリアも図１０に示すように重複部分を少なくして千鳥状にすることで、全体のパラメータ数も（５×５＋４×４）×４（方向）＝１６４となり、上述した一実施の形態の場合と比べ、約半分に減らすようにしている。
【００６５】
このようにすれば、細分類ニューラルネットの入力層２２ａと中間層２２ｂの結合を部分結合とし、さらに局所４方向成分抽出エリアを千鳥状にしてパラメータを減らすことにより、演算量を始め、メモリー量も少なくなり、高速の文字認識を可能にするとともに、小型機器への応用も可能になる。
【００６６】
なお、入力層２２ａと中間層２２ｂの結合をさらに図１１に示すように縦方向成分、横方向成分、右上方向成分および左上方向成分の４方向に部分結合するようにすれば、全体の結合数をさらに減らすことができる。
【００６７】
【発明の効果】
以上述べたように本発明によれば、学習回数と学習時間を短縮できるとともに、高認識率の文字認識を実現することができる。
【図面の簡単な説明】
【図１】  本発明の一実施の形態の概略構成を示す図。
【図２】  一実施の形態に用いられるニューラルネットの概略構成を示す図。
【図３】  一実施の形態のニューラルネットを説明するためのフローチャート。
【図４】  一実施の形態のニューラルネットを説明するためのフローチャート。
【図５】  一実施の形態の正規化距離による荒分類ニューラルネットの具体例を示す図。
【図６】  一実施の形態の細分類ニューラルネットの概略構成を示す図。
【図７】  一実施の形態の各成分抽出フィルタを示す図。
【図８】  一実施の形態の局所４方向成分の抽出エリアを説明する図。
【図９】  本発明の他の実施の形態の細分類ニューラルネットの概略構成を示す図。
【図１０】  他の実施の形態の局所４方向成分の抽出エリアを説明する図。
【図１１】  本発明のさらに他の実施の形態の細分類ニューラルネットの概略構成を示す図。
【符号の説明】
１…マイクロコンピュータ、
１１…ＩＲ０Ｍ、
１２…ＲＡＭ、
２…バス、
３…スキャナ部、
４…入力キー、
５…表示用ＬＥＤ、
６…ＲＯＭ、
７…ＲＡＭ、
８…インターフェース、
２１1 〜２１n …ベクトル量子化型ニューラルネット（荒分類ニューラルネット）、
２２1 〜２２n …３層型ニューラルネット（細分類ニューラルネット）。
【図１】
0003804088.tif 000003
【図２】
0003804088.tif 000004
【図３】
0003804088.tif 000005
【図４】
0003804088.tif 000006
【図５】
0003804088.tif 000007
【図６】
0003804088.tif 000008
【図７】
0003804088.tif 000009
【図８】
0003804088.tif 000010
【図９】
0003804088.tif 000011
【図１０】
0003804088.tif 000012
【図１１】
0003804088.tif 000013