ニューラルネットワークを用いた手書き文字認識



ATR視聴覚機構研究所 視覚研究室 横澤 一彦、森  吉弘




1.まえがき
 郵便番号読取り装置は、文字認識システムとして最もよく知られ、利用されています。更に最近では、パソコンを用いた文字認識システムが製品化され、一般の人々でも手軽に利用できるようになっています。これらの認識システムは、これまでの文字認識研究の成果によるものです。しかしながら、印刷文字ならともかく、変形に富んだ手書き文字に対して高い認識率をあげることは、どのような認識システムを用いても現在のところ依然として困難です。
 いうまでもなく、高認識率が得られる文字認識機械が実現できたならば、人間と機械のもっと自由なコミュニケーションが生れると思います。そのためには、どんな変形文字でも人間の判定基準に近い判断が下せなければなりません。しかしながら、すべての変形を予測し、それに対処しておくことは事実上不可能です。なぜなら、たとえば認識対象パターンが32×32画素の2値パターンとすると、21024種類という天文学的数のパターンに対して、それが何という文字であるのか、または文字でないのかを決めておく必要があるからです。
 そこで、できるだけ大量の文字データを使い、変形に不変な特徴を抽出し、人間の判定基準に沿った識別ができる認識アルゴリズムを開発しなければなりません。これまでの一般的な文字認識研究では、この変形に不変な特徴の探索や、人間の判定基準に沿う識別関数の探索は研究者の発見的な手法(すなわち、経験的知識に基づく勘)に頼ってきました。従って、研究の積み上げが非常に難しかった訳です。
 ところが、逆伝播学習則という階層型ニューラルネットワーク(神経回路網モデル)に対する学習アルゴリズムが発見された結果、変形に不変な特徴や、人間の判定基準に沿う識別関数を、ネットワークの学習を通じて探索することができるようになりました。従って、学習が進めば、認識能力が飛躍的に向上する可能性があります。そこで視覚研究室では、手書き文字を認識させる階層型ニューラルネットワークの研究を進めています。

2.類似漢字認識
 漢字は、階層的な構造を持ち、形状類似文字も多いので、階層型ネットワークのパターン認識能力を検証する為には格好の対象です。そこでまず、形状類似漢字を認識するネットワークについて紹介します。
 入力層、中間層、出力層の3層からなるネットワークを用い、ネットワークへの入力情報や中間層のユニット数などを変化させた実験を行ないました。認識対象としたのは、例えば諭、輸、輪、論の4文字で、文字サンプルとして通産省電子技術総合研究所によって作成された手書き文字データベース(ETL9)を用いました。使用した手書き文字の一部を図1に示します。
 説明を簡単にするため、図2のような、入力層8×8個、中間層2個、出力層4個のユニットからなるネットワークの例を示します。入力層には、64×63画素の2値パターンを8×8画素で平均化した8×8多値パターンを入力情報とします。出力層の各ユニットは、諭、輸、輪、論の4文字それぞれに当てます。学習パターンとしては、各文字100パターンの計400パターンを用いました。
 逆伝播学習則は、学習段階で常に局所的な極小値に陥る可能性があり、それを防ぎ効率よく学習を進める為に幾らかの工夫が必要です。通常は、重み係数の変更量を変えてそれに対処します。それに加えて、学習パターン数を徐々に増加させ、その時々に誤差総和を計測して過剰学習を防ぎ、認識率の低いカテゴリーに対してのみ学習回数を増加させました。
 学習の結果、このネットワークは学習パターンに対しては95%、未知パターンに対しては81%の認識率を得ました。この認識率は、同じ特徴を基に、標準パターンを作成し、標準パターンとの単純類似度によって識別した認識率より、学習パターンと未知パターン双方に対して高くなりました。
 更に、入力パターンに対する、学習し終ったネットワークの中間層の各ユニットの振舞いを調べた結果、中間層の2つのユニットがそれぞれ偏と旁を担当していることが分かりました。すなわち、中間層の一方は旁にかかわらず言偏と車偏を識別しました。中間層のもう一方は旁に対して同様の機能を果していました。これは、認識対象とした4文字が、2種類の偏と2種類の旁から構成されていますので、中間層2個の場合はそれぞれが機能分化し、偏と旁という構造を学習したことになります。それを確認するため、2つの偏共通平均パターン(論諭と輸輪)の差分パターン(各画素毎に減算して得たパターン)と、偏を担当している中間層のユニットと入力層の各ユニット間の重み係数との相関係数を求めたところ、0.79という比較的高い相関が得られました。同様に、2つの旁共通平均パターン(諭輸と輪論)の差分パターンと、旁を担当している中間層のユニットと入力層の各ユニット間の重み係数との相関係数を求めたところ、0.71という相関係数が得られました。このようにして、ネットワークが偏と旁という構造を学習したことを定量的に確認できました。このような結果は、認識対象文字集合を詰、結、紹、詔や渇、掲、湯、揚に変えても同様でした。
 中間層のユニット8個の場合には、学習パターンに対して99%、未知パターンに対して82%の認識率が得られました。中間層のユニットが2個の場合に比べ、学習パターンに対する認識率が向上したのは、中間層のユニット数が増えるにつれて、学習パターン中の変形の大きなパターンに対応する認識能力が備わるためと考えられます。
 入力として、8×8多値パターンではなく、局所方向寄与度密度特徴を用いた場合、更に高い認識率が得られました。ここで局所方向寄与度密度特徴というのは、64×63画素の2値パターンを8×8画素に分割し、その分割領域の縦、横、左上がり、右上がりの4方向成分を抽出した256次元の特徴のことです。輸、諭、輪、論の4文字の識別に関して中間層のユニットが2個の場合、学習パターン99%、未知パターン85%の認識率を得ました。
 ここで紹介したニューラルネットワークは四つの類似漢字を識別対象とするものであり、従来の文字認識法で大分類した後、このような類似漢字識別ネットワークで詳細認識させれば、実用上かなり有効であると思います。しかしながら、このネットワークの対象とする4文字以外の文字に対しては、それらを学習していないのですから、認識結果が不定となります。それを回避するためには、出力層にユニットをもう1つ加え、それを4文字以外の入力パターンに反応させるユニット(その他セル)として学習させることが有効であることが分りました。

3.平仮名認識
 類似漢字認識ネットワークの研究よって、ニューラルネットワークが文字認識に有望であることが分りました。同時に、ネットワーク規模を単純に拡大しただけでは極端に学習速度が遅くなるため、多数の文字を認識させるネットワークを効率よく学習させることができないことも分りました。
 そこで、多字種を認識させるために、小規模ネットワークの階層化を検討し、それを平仮名認識に応用してみました。小規模なネットワークならば比較的簡単に学習させることができますし、認識対象の拡張も容易です。すなわち、複数の小規模ネットワーク(サブネット)の出力を入力情報とする更に上位のネットワーク(スーパーネット)を構成することにより、多数の文字を識別できるようにしました。サブネットとスーパーネットは、それぞれ3層のニューラルネットワークであり、逆伝播学習則によって学習させます。図3に、このような階層型ネットワーク構成を示します。
 1個のスーパーネットと8個のサブネットで構成される階層型ニューラルネットワークによって、一般に文字変形が大きく、高い認識率をあげることが困難な文字集合である手書き平仮名71字種の認識を試みました。従って、サブネットは9文字の認識を担当することになります。スーパーネットとサブネットの出力層には、それぞれ“その他セル”を持たせました。サブネットへの入力特徴は、256次元の局所方向寄与度密度特徴を用いました。
 その結果、学習パターンに対して98.6%、未知パターンに対して83.0%の認識率が得られました。ここで用いたのと同じ特徴を基に、標準パターンを作成し、その標準パターンとの単純類似度によって識別する従来の方法を試みたところ、74.0%の認識率しか得られませんでした。この認識率を、ここで構成した階層型ネットワークを用いたときの認識率83.0%と比較すると9%の認識率の向上が分ります。このような結果などから、更に認識対象を拡大した場合でも同じようなネットワーク構造で対処できる見通しが得られました。

4.おわりに
 ニューラルネットワークの1つの有望な応用分野として、当研究室が現在進めている手書き文字認識研究について紹介しました。特に、これまでの手書き文字認識研究で難しいとされていた、類似漢字認識や平仮名認識を試みた結果、比較的高い認識率を得ることができました。
 ニューラルネットワークを用いた文字認識法が実用上有効であるためには、我々が日常使用している約2000から3000文字が認識できるネットワークを構成し、従来の認識法よりも高認識率を達成する必要があります。今後、そのような多字種を認識できるニューラルネットワークの構築へ研究を発展させて行く予定です。

参考文献