ニューラルネット構築装置
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、多層ニューラルネットを構築する装置、並びに多層ニューラルネットの各種の応用装置(認識,予測,推定,関数近似,制御等を行う装置)に関する。
〔従来の技術〕
ニューラルネットワークを用いてパターン認識,予測,推定,関数近似,制御等を行なう方法について、エム・アイ・ティー プレス(1986年)パラレル ディストリビューティド プロセシング第318頁から362頁(Parallel Distributed Processing,Vol.1,MIT Press,Cambridge MA,1986 pp318−362)において論じられている。
ここでパターン認識を例にとってニューラルネットを説明する。ニューラルネットは、ニューロンをカスケード状に多層に結合したもので第2図は3層ニューラルネットの例を示している。図において1000,1001は入力ニューロン、1003,1004は中間層ニューロン、1006,1007は出力ニューロン、1002,1005はバイアスニューロンである。入力及びバイアスニューロンは、入力をそのまま出力するが、中間層及び出力ニューロンは、第3図に示すようなシグモイド関数と呼ばれる飽和特性のある入出力関係を持ち入力をx、出力をZとすると
となる。ここでTは、シグモイド関数の傾きを決める定数である。
入力側から各層の番号を打つとし、i番目の層j番目のニューロンの入力、及び出力を各々xj(i),Zj(i)とすると、入力ニューロンの入出力関係は、上述したことにより、 xj(i)=Zj(i) j=1,…,n(i),i=1 Zn(i)+1(1)=1 ……(2)
となる。ここでn(i)はi番目の層への入力数であり、Zn(i)+1(1)はバイアス項となる。
第2、及び第3層のi番目のニューロンの出力は、Zj(i)=f(xj(i)) j=1,…,n(i),i=2,3Zn(i)+1(i)=1 i=2,3 ……(3)
となる。ここでZn(i)+1(i)はバイアス項である。
各層間のニューロンはシナプスを介して完全に結合されており、各シナプスは重みを持ち、ニューロンの出力にその重みを乗じたものを次段のニューロンへの入力とする。従って第2,3層目のj番目のニューロンへの入力は次式で与えられる。
xj(i)=wj(i−1)Z(i−1)
i=2,3,j=1,…n(i−1) ……(4)
但し、 wj(i−1)=(wj1(i−1),…,wj,n(i-1)+1(i−1))は重みベクトルでwjk(i−1)は、(i−1)番目の層のk番目のニューロンとi番目の層のj番目のニューロンの間のシナプスの重みであり、 Z(i−1)=(Z1(i−1),…,Zn(i-1)(i−1),1)tは(i−1)層ニューロンの出力ベクトルで、tは行列の転置を示している。
上記のニューラルネットで入力データをn(3)個のパターンで分離する場合は、i番目の出力ニューロンをパターンiに対応させ、ある入力に対してi番目の出力ニューロンが1で他が0のときパターンiであるというように判定する。このようにパターン分離ができるためには、重みwij(i)(i=2,3)を適切に決める必要があるが、そのために入出力データを教師データとして学習により重みを決める。今m個の教師データの値 {(xil(1),sjl)}
i=1,…,n(1),j=1,…,n(3),l=1,…,m ……(5)
とすると、
となるように重みwih(i)を決める。但しZjl(3)は教師データ入力xil(1)に対応する出力ニューロンの出力である。重みを決める方法としては、上記文献に示されている逆伝播法が広く用いられている。この方法では、1組の教師データの入力xil(1),i=1,…,n(1)に対して出力Zjl(3)がsjl j=1,…,n(3)に近づくように出力側から順次入力側に重みを修正し、それが終ったら次の教師データについて上記を同じ手順を繰り返し、 |Zjl(3)−sjl|<ε ……(7)
i=1,…,n(3),l=1,…,mが成り立つまで修正を繰り返す。但しεは、収束を判定するための小さな正の数である。
このようにしてニューラルネットの重みを決定した後で、未学習データに対するネットワークの出力を調べることによりパターン認識が可能となる。
この方式では、入出力パターンに基づいた学習によりパターン識別ネットを構成できるため、識別アルゴリズムを作る必要がないという大きな利点がある。
予測,推定等によりニューラルネットを用いる場合は、ニューラルネット出力が離散値でなく連続値を取るだけで本質的な差異はない。
このようなニューラルネットの構成特に多層ニューラルネットの構成のうちとりわけ中間層ニューロン数を最適化する手法として従来の装置は、電子情報通信学会技術報告NC89−104,P85〜90における『淘汰機能を有するバックプロパゲーション』に記載のように、中間層ユニットを学習時に動的に追加,削除することにより、その最適化を図っていた。
さらにIJCNN'90−WASH−DC,1−739〜1−742における『Analysis of the Hidden Units of Back−Propagation Model by Singular Value Decomposition(SVD)』に記載のように、入力層と中間層の間のシナプスの重みを行列化し、この行列のRANKの値に着目して中間層ニューロン数を決定する方法が知られている。
〔発明が解決しようとする課題〕
上記従来技術のうち前者については、ニューロンを削除するかどうか(本文中では不良ユニットかどうか)の臨界値に対しては言及されておらず、最も不良なものを次々と削除していく場合には、その都度学習を必要とするため、従来の試行錯誤的シミュレーションと変わりない演算量を必要とする。またこの操作を打切る指標について記載されていないため、最小構成の状態からさらに削除した場合には、ネットワークが収束しなくなることが問題となる。
また、後者の方式では、条件として中間層ニューロン数は、入力層ニューロン数以下の値となるため、中間層で情報が圧縮されるタイプのニューラルネットにしか適用できないことが大きな問題となる。
また、入力層のニューロン数やその内容に関して、有効な最適化手法は知られていない。
また、一旦学習したネットワークでパターン識別あるいは予測等を行なったとき誤認識あるいは大きな予測誤差が発生してもその対策は、その誤まったデータを追加して再度学習するという方法しかなく識別あるいは、予測等の精度を上げるために試行錯誤になるという問題があった。また逆伝播法は、教師データを一個ずつ逐次的に処理するために学習が極めて遅いという問題があった。
本発明の目的は、与えられた条件に対して最適なニューラルネットを構成する手法を提供することにある。与えられた条件とは、(イ)ニューラルネットの規模の最適化(例えば、入力層のニューロン数,中間層のニューロン数,入力層と中間層のニューロン数の積を最小化するなどがある。)、(ロ)学習の精度の指定(ハ)学習時間の指定(ニ)教師データ以外の入力データに対する誤動作の最小化等ニューラルネットを構築する際に指定する条件を言う。本発明の他の目的は、学習によって得られたニューラルネットワークで未学習データに誤認識あるいは大きな予測誤差が生じたときに、重みをチューニングする、あるいはネットワークを再構築することによりこれらを回避する手段を提供することにある。本発明の他のもう1つの目的は、高速な学習方式を提供することにある。
〔課題を解決するための手段〕
本発明は、(イ)与えられた条件に対するニューラルネットの構築方法、(ロ)ニューラルネットの重みチューニング方法、(ハ)ニューラルネット再構築方法、(ニ)学習の高速化方法、などに特徴を有するものであり、これらの独立した手段,方法のみならず、種々な組合せにも夫々特徴がある。
以下問題を解決するための手段の一例を理論的に説明する。
(イ)与えられた条件に対するニューラルネットの構築方法 規模最適化するという条件のもとでパターン認識用ニューラルネットを構築する方法について説明を行なうが予測等の問題でも同様に適用が可能である。パターン認識をニューラルネットで行なう場合は、教師データに対するニューラルネットの出力は1あるいは0であり、シグモイド関数の飽和特性が極めて重要な意味を持つ。ニューラルネットの出力(ニューラルネットの中間層又は出力層のニューロンの出力)1,0に対応する出力ニューロンへの入力は、+∞,−∞に対応するため、1,0を各々1−ε,εとして、学習の打切りを(7)式で行なうとすると、(7)式は、・sil=1−εのとき 1■Zjl(3)■1−2ε ……(8)
・sil=εのとき 2εZjl(3)■0 ……(9)
となる。これを出力ニューロンへの入力で考えると、第4図4図に示す如く、・sil=1−εのとき ∞>xjl(3)■α ……(10)
・sil=εのとき −α■xjl(3)■2−∞ ……(11)
但し α=−Tlog(1/(1−2ε)−1)=Tlog(1/2ε−1) 即ち出力側での有限な区間が入力側では半無限区間に対応することになる。これにより(6)式の最小化が、中間層と出力層の間の重みの決定に関しては、不等式を解くことで求まりうることが分かる。ここでもう少し一般化すれば1,0に対応する出力ニューロンの値は1−ε′,ε′(ε′■0)としたときε′■εがあればよい。従ってε′=0としてもε>0ととれば上記と同じことが言える。以下ではε=ε′(>0)として話を進めるが、ε>ε′としても同じことが成り立つ。
ニューラルネットの重みは、超平面を記述する方程式の係数と解釈できる。(4)式でxj(i)=0とすると wj(i−1)Z(i−1)=0 ……(12)
は、n(i−1)次元空間の超平面を表わし、バイアス項の重みwj,n(i-1)+1(i−1)の値を変えることは、超平面を平行移動することに対応する。(1)式より(12)式を満足するxj(i)に対応するZj(i)の値は1/2となる。ここでn(i−1)次元の点(Z1(i−1),…Zn(i-1)(i−1))tは、 xj(i)>0あるいはZj(i)>1/2 ……(13)
のとき超平面の正の側にあり、 xj(i)<0あるいはZj(i)<1/2 ……(14)
のとき超平面の負の側にあるということにする。またあるパターンは、そのパターンに属する全ての教師データがk個の超平面の同じ側にあり、他のパターンのデータは存在しないとき、そのパターンはk個の超平面で単一分離可能と呼ぶ。またあるパターンの教師データが単一分離可能な集合に分割されるときそのパターンは分離可能と呼ぶ。これら分離可能な超平面を以下分離超平面という。
第5図の平面上の3つのパターンの分離を考える。3つの平面P1,P2,P3の矢印は、平面の正の側を示すとし、平面上の各点は教師データを示すとする。パターンIの全ての教師データはP2,P3の正の側にあり他の教師データは存在しないので、パターンIは平面P2,P3で単一分離可能である。同様にパターンIVは平面P1,P2,P3で単一分離可能である。また、パターンIIは単一分離可能な部分集合からなるから分離可能である。
以上のことから次のことを示すことができる。n(1)次元データをn(3)個のパターンに分離することを考える。n(1)次元空間にn(2)個の超平面が存在し、n(3)個のパターン全てがn(2)個の超平面の部分集合で単一分離可能なとき、入力n(1)個,中間層ニューロンn(2)個,出力n(3)個の3層のニューラルネットでパターン分離が可能である。
これは次のようにして分かる。n(2)個の超平面を wj(1)Z(1)=0 j=1,…,n(2)……(15)
とする。ここで Zj(2)=1/(1+exp(−xj(2)/T)), Zj(2)=wj(1)Z(1) j=1,…,n(2)
……(16)
として、ニューラルネットの第1,第2層に対応するようにする。そうすると仮定により、教師データに対応するZi(2)は、 Zi(2)>1/2あるいはZi(2)<1/2 ……(17)
のいずれかになる。
従ってwj(1)に正の定数をかけると、教師データに対応するZj(2)を Zj(2)=1あるいはZj(2)=0 ……(18)
のどちらかにすることができる。
次に出力と中間層ニューロンの間の重みを求める。出力ニューロンの入力xi(3)を xi(3)=wi(2)Z(2) i=1,…,n(3)
……(19)
で与えられるとする。wi(2)はi番目のパターンに対してxi(3)が1−εでそれ以外のパターンに対しては、εとなるように決めればよい。そのためには wi(2)Z(2)■α パターンi ……(20)
wi(2)Z(2)■−α パターンi以外のパターン ……(21)
とすればよい。
第5図のパターンIのようにパターンiがn(2)個より少ない超平面で分離されるときは、分離に貢献していない平面に対応する重みを0とすればよいので、パターンiはn(2)個の平面で分離されると仮定する。この仮定によりパターンiに対するZi(2),…,Zn(2)(2)の出力は一意に決まる。ここで、(Z1(2),…,Zn(2)(2))=(1,…,0,…,0) パターンi ……(22)
とする。即ち最初のs個の出力が1で残りが0であるとする。
さらに wij(2)=2α j=1,…,s ……(23)
wij(2)=−2α j=s+1,…,n(2)
……(24)
とすると、(20),(21)式は各々次のようになる。
wi,n(2)+1(2)■α−25α パターンi ……(25)
パターンiは単一分離可能であるから、Zj(2)=0がj=1,…,sのどれかのjで成立するか、Zj(2)=1がj=s+1,…,n(2)のどれかのjで成立する。従って(25),(26)式を満たすwi,n(2)+1(2)を決めることができる。それには例えばwi,n(2)+1(2)=α(1−2s)とすればよい。
以上の証明より、もしパターンiが分離可能であるならば、3層目でパターンiの各々の分離領域を分離し、4層目でそれらを合成することにより4層のニューラルネットで分離が可能となることが分かる。
なお同一パターンが超平面によりいくつかの領域に分離されるときも、それらの領域が異なるパターンに対応する領域と1つの超平面で分離できるときは3層で合成することができる。
またここで証明を簡略化するために、中間層の出力を1と0としたが、実際はその必要がない。
上記の手順を行なうと第5図の平面上の点の分離を行なうニューラルネットは次のようになる。入力と中間層の重みは、図の直線を表現する方程式の係数に設定する。このとき重みの符号は図の矢印の方向が正の側になるようにとる。重みに正の数をかけることにより中間層の出力が1,0をとるようにすると各パターンに対する入力は次のようになる。
パターンIでZ1(2)が1と0をとるが、Z2(2)とZ3(2)がどちらの場合も1であるからZ1(2)はパターン分離に貢献していない。従ってパターンIは直線P2,P3により単一に分離可能である。同様にパターンIVは直線P1,P2,P3で単一に分離可能である。これに対しパターンIIは分離可能である。従って第6図のようにネットワークが構成される。図において、1010〜1012は入力ニューロン、1013〜1016,1018,1019は中間層ニューロン,1017,1020,1021は出力ニューロンである。1013,1014,1015は各々直線P1,P2,P3に対応している。また1017,1021,1020は各々パターンI,V,IVに対応しているパターンIは、直線P2,P3により単一分離可能であるから1013と1017とはつながっていない。パターンIIは、2つの単一分離可能な領域を合成することになるので4層ネットで構成される。4層目の重みは、
となるように重みを決めればよいので w21+w41■α w31+w41■α w41■−αが成立するようにとればよいので w41=−αとすれば、 w21+w31=2αとすればよい。
ここで1018,1019どちらの出力も1となることはないがそのときも1021の出力は1となる。
以上の手順によればネットワーク規模を最小化できる。また分離平面を教師データのない境界上にとれるため誤認識に強いネットとすることができる。
規模を最適化するという条件を達成する別の手順として、入力信号セットと出力信号セットからなる教師情報(ニューラルネット系の入力と出力に関する既知の対応関係)の内容を基に、ニューラルネット左の各シナプスの重みを決定する同定手順を備えたニューラルネット構築装置に、これらと情報交換しつつ動作するニューラルネット最適設計手順を備えたものである。
また該ニューラルネット最適設計手段に、入力信号最適化手段と中間層ニューロン数最適化手段を備えたものである。
(ロ)ニューラルネットの重みのチューニング方法 (イ)の最初の方法でパターン認識を行なうネットワークが構成されているとする。但しこのとき入力と中間層の重みは、各パターンを分離するように設定されていればよく、教師データに対する中間層出力が1,0となる必要はない。各パターンを分離とは、各パターンの教師データの少なくとも2つ以上教師データを含む部分集合に対して、中間層出力Zi(2)が Zi(2)>1/2あるいはZi(2)<1/2 ……(27)
のどちらかになっていることを言う。
未学習データxi(1),i=1,…,n(1)をニューラルネットに入力して、誤認識が生じたとき、xi(1)に対応する中間層入力及び出力をxj(2),Zj(2)j=1,…,n(2)とする。このとき、未学習データがパターンkに属するとするとき、パターンkに対応する教師データに対応する中間層の入力あるいは出力と比較し、未学習データが教師データが存在しない超平面の側に存在する中間層ニューロンを検出する。このニューロンが誤認識を生じる原因となっていることが分かる。
次にその中間層ニューロンの重みを調整し、未学習データが、同一パターンの学習データとその平面に対して同一の側にあるようにする。このとき他のパターンに属する教師データのその平面に対する位置関係を変えてはならない。この調整の仕方としては例えば、超平面を平行移動即ちバイアス項を変化させればよい。予測等を行なう場合も、同様の方法により重みのチューニングが可能である。
(ハ)ニューラルネット再構築方法 上記目的を達成するために、ニューラルネットの性能(制御性能,認識率,汎化能力,予測情報等)を評価する手段と、性能が低下したときに教師データの内容を更新する手段と、この後ニューラルネット系最適設計手段に再度起動をかける再構築指令発生手段よりなるニューラルネット再構築手段を備えたものである。
(ニ)学習の高速化方法 (イ)の考え方を用いれば従来のパターン認識の学習法も高速化ができる。ここでxil(1),silの教師データを用いて学習がある程度進んだ段階で、・sil=1に対して Zil(3)>1/2+ε1あるいはxil(3)>ε2 ……(28)
・sil=0に対して Zil(3)<1/2−ε1あるいはxil(3)<ε2 ……(29)
が全てのi=1,…,n(3),l=1,…,mに対して成立するか調べる。ここでε1,ε2は、学習の打切りを指定する正の小さな定数である。もし成立すれば学習を終了し、
を求める。ここでMi<αのときwki(2)を次のように修正する。
wki(2)←(α/Mi)wki(2),k=1,…,n(2)+1 ……(31)
Mi■αのときはwki(2)を修正する必要はない。
ここで(28)あるいは(29)が成立すれば、パターンは既に分離されているから、(30),(31)の手順で重みを定数倍にすることによりネットワークの出力が1,0になるように調整できる。
なおwki(2)だけの調整だけでなく、wij(1)が分離超平面に対応するように調整した後にwki(2)を調整した方が、誤認識に強いネットとすることができる。
〔作用〕
(イ)学習の打切りを(8),(9)式あるいは(10),(11)式とすることにより、中間層と出力層の重みを不等式を解くことにより求めることが可能となる。また入力層と中間層の重みを、パターンを分離する超平面に対応させることにより、パターン分離を行なうニューラルネットを3層あるいは4層で構成できる。
また規模を最適化する別の方法で入力信号最適化手段は、前記記憶手段の情報を取込み、実施例に詳述する手法で、出力の決定に貢献している無意味な入力と、他の入力の線形和で表わされる冗長な入力を指摘する。
中間層ニューロン数最適化手段は、同定を終えたネットワークに、入力信号セットを入力し、このときの各中間層ニューロンの出力の振舞いを分析する。
(ロ)入力と中間層の重みをパターンを分離する超平面に対応させることにより、誤認識が生じたときに重みを調整することにより誤認識を解消することができる。
(ハ)ニューラルネット再構築方法 ニューラルネットの性能を評価する手順は、教師データに含まれない入力データに関し、対応するニューラルネットの出力が、所望の出力データとなっているかどうかを検出する。そして所望の出力データが得られていないとき、性能が低下したことを判定する。このとき教師データの内容を更新する手段は、所望の出力データが得られなかった入力データと、これに対応する所望の出力データの組合せを教師データに追加する。再構築指令発生手段は、前に述べたニューラルネット最適設計手段を駆動し、ニューロン数の最小化、シナプスの重みの再構築を行う。
(ニ)全ての教師データが、パターン毎に分離された段階で学習を終らせることにより、学習の高速化を図ることができる。
〔実施例〕
以下、本発明の一実施例を第1図を用いて説明する。図において、101はニューラルネット構築装置、102はニューラルネット演算手段、103は記憶手段、105はニューラルネット系最適設計手段である。102は、多層のニューラルネットの構成に基づいて入力信号に対する出力信号を演算する手段である、入力に対する望ましい出力の組合せ(教師データ)は、後述する第15図に示す記憶内容のとおり、記憶手段103に記憶されており、ニューラルネット系最適設計手段105は指定された条件と教師データとにより条件を満たすニューラルネットを構築する。
第7図に、ニューラルネット系最適設計手段105の処理フローを示す。
ステップ10では、ニューラルネットを最初から構築する場合はステップ11へ、そうでないときはステップ12に進む。
ステップ11では、ニューラルネットワークを構築し終了する。
ステップ112では、誤りが生じたデータを教師データを用いて、ニューラルネットの重みをチューニングして誤りを解消して処理を終了する。
ネットワーク規模の最小化及び誤認識に強いことを条件にパターン認識用ネットを構築するステップ11の手順を第8図に示す。
ステップ11において、教師データ(xil(1),sil)i=1,…,n(1),j=1,…,n(3),l=1,…,mを用いてn(3)個のパターンに分離する平面を決定し、それによりニューラルネットの中間層数n(2)及び入力と中間層間の重みWij(1)i=1,…,n(2),j=1,…,n(1)を決める。
次にステップ112において、n(3)個の各パターンに対して、(20),(21)式が成立するように重みWij(2),i=1,…,n(3),j=1,…,n(2)を決める。
ここで111のステップにおける分離平面の決定は、例えば、“パターン認識に学習機械”昭晃堂(昭和45年)38頁−41頁の手順で行なうことができる。
また112のステップは、中間層の出力を1,0になるように調整したときは、(22),(23)式に従って重みを決め、また単一分離可能でないときは、3層あるいは4層で合成する。1,0になるように調整していないときは、(20),(21)式の不等式を解けば求めることができる。なお112のステップで分離に貢献していない中間層ニューロンの出力は、対応する出力ニューロンには入力しないようにする。
第7図のステップ12のパラメータチューニングのステップは、第9図のようになる。即ち、先ずステップ121において、誤認識を生じた入力データxi(1)i=1,…,n(1)の中間層の入力xj(2)(あるいは出力Zj(2))とそのデータに対応するパターンjの教師データの中間層の入力(あるいは出力)とを比較し、教師データが存在しない超平面の側にある中間層ニューロンを検出する。
次にステップ122において、検出された中間層ニューロンに対して誤認識を生じたデータが同一パターン教師データと同じ側になるように重みを調整する。このときその超平面により分離されている教師データの位置関係を変えない範囲で調整する。それが終ったら第8図のステップ112と同じ手順で出力層の重みを調整する。
最も簡単な重みの調整法は、バイアス項を変えて、超平面を平行移動することにより行なうことができるが、第8図のステップ111と同じ方法を用いてもよい。
第7図のステップ11の別の実施例を第10図に示す。
先ず、ステップ113において、教師データ(xil(1),sil)を用い、逆伝播法、その他の手法でニューラルネットの重みを修正する。
次にステップ114において、(28),(29)式が成立していれば、収束したとして、ステップ115へ進む。そうでなければ、ステップ113へ戻る。
ステップ115においては、入力側の重みが分離超平面となるように、重みをチューニングする。具体的には、例えばバイアス項を変えて分離超平面を平行移動することにより行なう。
次にステップ116において、入力側の調整に従い、出力側の重みを、第8図のステップ112と同じ手順で修正する。このときもパターン分離貢献していない中間層ニューロンと出力ニューロンとは結ばないことにする。
なお上の手順でステップ115を行なう必要はなく、そのときは、(30),(31)式の手順でWkj(2)を修正すればよい。
第5図において、パターンVをパターンIIとパターンIVの2つに分けて単一分離可能として、第10図の113,114のステップを実行したときの平面の学習結果を第11図に示す。このとき113のステップの学習は、入力データを一括して層毎に重みを決める方式とした。このとき第11図において、P1,P2,P3のバイアス項を調整して平行移動させると、第5図のように各パターンを分離でき、115,116のステップを実行できる。
このようにすることにより誤認識に強いニューラルネットを構築することができる。
以下、本発明の他の実施例を図に従って詳細に説明する。まず第12図により装置全体の構成を説明する。本実施例でニューラルネット構築装置101は、入力信号に後述する所定の演算を施した後出力するニューラルネット演算手段102,入力信号に対するニューラルネット演算手段102の操作として望ましい入力と出力の組合せ(以下教師信号)を格納しておく記憶手段103と信号の交換を行う。ニューラルネット構築装置101は記憶手段103に格納されている教師信号を基に、ニューラルネット演算実行手段102の演算定数を決定する同定手段104,記憶手段103の内容および同定手段104の学習結果を基に、ニューラルネット演算手段102の最適な構成を決定するニューラルネット系最適設計手段105から構成される。またニューラルネット系最適設計手段105は、ニューラルネット演算手段102へ入力される入力信号の内容を最適化する入力信号最適化手段106と、102の内部構造である中間層のニューロン数の最適な値を決定する中間層ニューロン数最適化手段107からなる。以下各手段の機能を順次詳細に説明する。
ニューラルネット演算手段102は第13図に示すように、入力演算手段201,中間演算手段202,出力演算手段203により構成される。入力演算手段には、ニューラルネット演算に必要な入力信号(制御応用の場合には制御対象からの帰還信号,認識応用の場合には認識対象の図形情報等)が入力される。また出力演算手段203からは演算支結果として、制御指令や認識結果に対応した信号が出力される。各演算手段は複数の演算単位204からなる。演算単位204を結合するアーク205は演算単位間の信号の流れを表わしており、図に示すように、隣接した演算手段に含まれる演算単位と結合される。演算単位204は入力アークにより結ばれている他の演算単位の出力値を入力データとして取込み、後述する演算を行い、その結果を出力アークにより結ばれている他の演算単位へ出力する。第13図は0〜9の数字を認識するシステムにニューラルネット演算装置101を適用した例を示している。この場合入力演算手段201には数字を弁別するための特徴量として、図形に含まれる穴の数等が各ニューロンに入力される。入力情報としてはこの他に、図形を適当数に分割し、各領域の情報(画素があるかないか等)を、領域に対応づけたニューロンに入力する方法も考えられる。また出力演算手段203の各ニューロンは、例えば0〜9の各数字に対応したものが用意される。各出力ニューロンは、割付けられた数字に該当した信号が入力されたときアクティブとなり、これらの結果が出力される。
第14図に演算単位204が実行する演算の内容を中間演算手段202に含まれる演算単位の動作を例にして示す。他の演算単位からの入力値X1〜Xnを取込んだ後、各入力値に対応した重みWiを乗じ、その結果を加算しuとする。すなわちuは、
で与えられる。uを定められた関数fで写像し、出力値Yを決定する。関数fの形は種々考えられるが、一般に広く用いられる例としてはシグモイド関数と呼ばれる。(33)式の非線形飽和関数がある。
第14図は中間演算手段202に属する演算単位について示したが、入力演算手段201に属する演算単位の場合、入力は第13図から自明なように唯一となる。したがつて第14図でn=1の場合と考えればよい。また出力演算手段203に属する演算単位の場合には、逆に出力が唯一となる。ニューラルネット演算手段102の構成としては、中間演算手段を2つ以上設けた多段構造や、入力演算手段201の出力に直接出力演算手段203を結合した構成をも考えられる。また入力演演算手段201の関数fによる変換を省略することも考えられる。
記憶手段103は、ニューラルネット演算手段102における入力信号セットと出力信号セットの望ましい組合せをデータの対として、たとえば第14図に示す形態で記憶する。本実施例で入力信号セットは前述した図形情報により構成され、出力信号セットは0〜9に対応しており、例えば図のように該当する数字を1、他を0で与える。これらは同定手段104における同定用のデータとして用いられる。詳しくは後述するが記憶手段103には、この他に同定結果の評価用データとして、第15図の形態で入力信号セットと出力信号セットの対を格納しておくことも考えられる。
同定手段104は、記憶手段103に蓄えられている入力信号セットと出力信号セットの組合せから、学習によりそれらの関係を同定する。同定は(32)式に示した各ニューロンのシナプスの重みWiの変更により行われ、最終的な同定結果によりニューラルネット演算手段102へ転送されるシナプスの重みが決定される。第16図の同定手段104の構成を示す。本実施例では、繰返しの学習により同定を行う例を示す。ニューラルネット演算模擬手段500に含まれ、ニューラルネット演算手段102の構成に対応した、入力演算手段501,中間演算手段502,出力演算手段503に加え、記憶手段103から取込んだ教師信号である入力信号セットと出力信号セットをそれぞれ受信する機能、出力演算手段503の出力と出力信号セットとの差分を基に各ニューロンのシナプスの重みWiを修正する機能を備えている。以下学習動作の代表例であるバックプロパゲーション法について説明する。
まず記憶手段103に蓄えられている入力信号セットと出力信号セットの対を一つ抽出し、入力信号を入力演算手段501の対応したニューロンに入力する。このとき各演算単位の前述した演算の後、出力演算手段503から出力される各ニューロンの値を、対応した出力信号セットの値と比較し、不一致の差分を検出する。そしてバックプロパゲーションの名で知られるアルゴリズムに従い、差分がなくなるように各演算手段501〜503に属する演算単位の重みWiを変更していく。変更アルゴリズムの詳細は、たとえば『ニューラルコンピュータ』(東京電機大学出版局,合原一幸著)のp110〜113に述べられている。総てのニューロンの重み変更が終了すると、同定手段104は記憶手段103から別の信号の対を同様に抽出し、同じ手順で重みの変更を行う。これを記憶手段103に蓄えられている総ての信号の対について行う。この動作を、前述した不一致の差分が許容値以下になるまで繰返す。このようにして決定された各演算単位の重みをWij(iはアーク番号、jはニューロン番号)とする。同定手段104はWijをニューラルネット演算手段102に転送し、102の各シナプスの重みを決定する。
本発明で新たに備えられたニューラルネット系最適設計手段105は、記憶手段103に格納されている信号を分析して入力信号セットに含まれる信号の内容を最適化する入力信号最適化手段106と、学習手段104の学習結果として構築されたニューラルネット演算模擬手段500に入力信号セットを次々と入力したときの中間演算手段の各ニューロンの出力に着目して中間層ニューロンの最適数を決定する中間層ニューロン数最適化手段107を備えている。
第17図のニューラルネット系最適設計手段105の機能を示すアルゴリズムと、同定手段104との間の情報交換方式を示す。T*(T1〜T3)が入力信号最適化手段106の機能、T4が中間層ニューロン数最適化手段107の機能であり、本実施例では入力信号最適化手段106の後、中間層ニューロン数最適化手段が動作する。入力信号最適化手段106は、まずT1で記憶手段103より教師信号(入力信号セットと出力信号セット)を取込む。T2とT3ではこれらを用いて出力に貢献しない入力と冗長な入力を指摘する。
出力に貢献しない入力特定方法として本実施例では、教師データの各入力ニューロンと出力ニューロンの値に着目する方法を示す。まず1つずつの入力ニューロンと出力ニューロンを抽出し、これに対応した教師信号の値をXi,Ti(i=1,2,…N;Nは教師信号数)とする。入力値のフルスケールを適当数NTに分割し、分割された各エリア(1,…NT)に属するXiに対応したTiの値を求める。ここで例えばTiの平均値であるTmeanを用いて、Ti≧Tmeanである場合とTi<Tmeanである場合のXiの個数をカウントすることにより、第18図(a)の2つのヒストグラムが得られる。
各エリアを1,…,k,…,NTとし、Ti≧TmeanのXiの個数を▲U*k▼、Ti<TmeanのXiの個数を▲U**k▼とする。次に2つのヒストグラムについて各エリア毎に▲U*k▼と▲U**k▼の小さい方の値であるMIN(▲U*k▼,▲U**k▼)を求め、第18図(b)のヒストグラムを求める。このヒストグラムを本願ではANDヒストグラムと呼ぶ。ここでANDヒストグラムには第19図の3つのパターンが存在する。(a)の場合、抽出した入力値は抽出した出力値をそれ以外の出力値と完全に分離する能力を備えていることを示している。また(b)の場合、抽出した入力値は、抽出した出力値を他の出力値とともに、それ以外の出力値と分離する能力を備えている。(c)の場合には、抽出した入力は抽出した出力と無相関である。結局、抽出した入力値が抽出した出力値を弁別する能力がないのは、(c)の場合であり、それはANDヒストグラムの要素数が多く、しかもそれらが入力値のスケール全体に分散している場合である。そこで例えば要素数(ANDヒストグラムにおけるエリア番号数)と要素の分散(ヒストグラム値MIN(U*,U**)とエリア番号の積の各値と全平均値の差を2乗した総和を個数で除した値)を、抽出した入力が抽出した出力を弁別する能力の指標とできる。この値が大きいときは、ANDヒストグラムの形状は第19図(c)となり、弁別能力が少ないと判定される。この値をDij(i=1,…,p;iは入力信号セットのデータ番号、j=1,…,q;jは出力信号セットのデータ番号)とすると、各入力信号と出力信号のDijの値を用いて、第20図のテーブルが構築できる。このとき適当な臨界値(Dij)thを設定し、各入力信号について(Dij)thより小さいDijの値を2つ以上有していないものを、出力に貢献しない入力として指摘する。
次にT3の動作を説明する。冗長な入力を指摘する手法として本実施例では、他の入力信号の線形和で表わされる割合を指標とした場合を示す。この割合を与える統計量として、本実施例では寄与率R2を用いた。R2は以下の式で表わされる。
但し、
各入力信号についてR2の値を求めたとき、R2が最大の入力信号が最も冗長な入力として指摘される。統計量としてはR2の他にも残差平方和の値等種々考えられる。
入力信号の削除によりニューラルネット演算手段102の性能を低下させないため、102の性能を確認しながら入力信号を削除する方法を次に示す。まずT2で出力に貢献しない入力がいくつか指摘されると、データパス1により、これらの番号を同定手段104へ転送する。次にT3において、T2で除かれた信号以外の入力信号の中で、最もR2の大きい入力信号の番号をデータパス2により、同定手段104に伝える。S1では今回転送された信号番号とT2で転送された信号番号を除いた入力信号セットと、出力信号セットを教師信号の入力信号セットとして学習を行う。この結果構築されたネットワークを、記憶手段103から取込んだ評価用の入力信号セットと出力信号セットを用いて評価する。本実施例では出力信号セットと、入力信号セットを入力したときのニューラルネット演算模擬手段500の出力を比較した結果を、認識率として評価の指摘にすればよい。S2で性能の低下が許容範囲内であることを確認したうえで、S3でこの入力を除くことを決定する。この後データパス3で次の入力信号をニューラルネット系最適設計手段105に要求する。105は前回転送した入力信号をさらに除いた入力信号セットの組合せて同様に各入力信号のR2を算出し、最もR2が大きい入力信号の番号をデータパス2により同定手段104に送る。以下S1〜S3の演算が繰返される。S2で性能が低下した場合には、S4で前回までに除いた入力信号を削除可能と判定する。
また、第17図に示す入力信号最適化手段T*の他の実施例を第21図に示す。この手法は、次の考え方に基づいている。すなわち、ニューラルネットは、第15図の示す学習データ(入力信号セットと出力信号セットの組合せ)からパターン認識の法則を学習していく。そのため、第15図の入力信号セット(X1,X2,…Xp)の中に冗長な入力(Xi,Xj,…;1■i,j…■p)が含まれていない場合は、それがパターン認識の法則に与えない影響、すなわち入力の変動に対する出力の感度が低くなると考えられる。そこで、第21図の実施例では、学習済みのニューラルネットの入力の変動と出力の関係を表わす感度特性に着目し、その特性を解析することにより冗長な入力を検出し、それを削除することで最適な入力を選択する。
本実施例に基づく入力信号最適化手段106は、まずT11で記憶手段103より第15図に示す学習データ(入力信号セットと出力信号セットの組合せ)を読込み、これをカテゴリー毎に分類する。カテゴリー毎に分類する方法としては、第15図に示すN個の学習データの中から出力信号セット(T1,T2,…Tq)が同じものをグループ化して、それを1つのカテゴリーとする方法を用いればよい。すなわち、例えば番号1の出力信号セット(0.99,0.01,…,0.01)と同じ出力信号セットを番号2〜Nの学習データから選択してグループ化して、それをカテゴリー1とする。次に、番号2の出力信号セット(0.01,0.09,…,0.01)と同じ出力信号セットを番号3〜Nから選択してグループ化し、それをカテゴリー2とする。以下この操作を繰り返して学習データをカテゴリー毎に分類する。T11では、T10で分類したカテゴリー毎に入力信号セット(X1,X2,…,Xp)の中のXi(i=1〜p)を変動させ、そのときのニューラルネットの出力を観測する。このとき、Xi以外の入力信号セットとしてはカテゴリーの代表値を入力する。代表値としては、下式に示すようにカテゴリー毎に分類した複数の(n(Cm)個)の入力信号セットの平均値Xjmean(j≠i,j=1〜p)を用いるか、あるいは、平均値Xjmeanに最も距離の近い入力信号セットを用いることが考えられる。
ここでn(Cm)はカテゴリーCmの学習に用いられた入力信号セットの個数である。
また、T11で観測するニューラルネットの出力は、カテゴリーCmを認識する出力ニューロンCmとそれ以外の出力ニューロンである。そして、入力信号Xiを変動させたときの出力ニューロンCmとそれ以外の出力ニューロンの各々の出力を第22図のようにグラフ化する。グラフ化した入出力特性、すなわち感度特性から、例えば第22図(a)のように出力ニューロンCmの出力値が、出力ニューロンCm以外の出力ニューロンの出力値と交差しない場合はその入力XiはカテゴリーCmの認識に影響を与えない入力であるため○と評価する。一方、第22図(b)のように出力ニューロンCmの出力値が、出力ニューロンCm以外の出力ニューロンの出力値と交差する場合はその入力XiはカテゴリーCmの認識に影響を与える入力であるため×と評価する。評価結果の○あるいは×を、例えば第23図に示すように、カテゴリーを縦の欄に、入力信号セットを横の欄にとった表の中に記入していく。カテゴリーCmについて、全ての入力信号を1つずつ変動させたときの感度特性を調べて○,×を表に記入する。カテゴリーCmが終了したら次に別のカテゴリーに対して同様に感度特性を調べて○,×を表に記入し、第23図の表(感度特性表)を完成させる。
最後に、第21図のT12では、T11で作成した感度特性表を入力信号Xi(i=1〜p)について縦方向に調べ、ほとんど全てのカテゴリーについて○となっているXiを検出し、それを削除可能な入力信号として指摘する。
削除可能と指摘された入力信号の番号iをは第17図のデータパス1あるいは2を介して同定手段104へ転送される。
前述した入力信号最適化手段の別の実施例の場合と同様に、T12から転送された信号番号を除いた入力信号セットと出力信号セットを学習データとして学習を行なう。この結果構築されたニューラルネットの認識率を評価し、入力信号を削除する前の認識率に比べて認識率の低下がないことを確認したうえで、S3でこの入力を除くことを決定する。認識率が低下した場合は、削除する前の入力信号セットに戻して終了する。この後データパス3で次に削除可能な入力信号をニューラルネット系最適設計手段105に要求する。ニューラルネット系最適設計手段105は、削除可能な入力信号を除いた入力信号セットを用いて学習したニューラルネットについて再び感度特性を取り、次に削除可能な入力信号があるかどうかを調べる。削除可能な入力信号があれば上記を繰り返し、なければ中間層ニューロン数最適化手段107に移る。
次に、T4の中間層ニューロンの最適数決定の方法を説明する。同定手段104は、S4で除かれなかった入力信号により構築されたニューラルネット演算模擬手段500に入力信号セットを次々に入力したときの、中間演算手段502の各ニューロンの出力(Y1,…,Ym)を、データパス4により、ニューラルネット系最適設計手段106に転送する。中間層ニューロン数最適化手段107は、各入力信号セットに対応したY1〜Ymの出力を統計処理し、その値から、最適なニューロン数を決定する。本実施例は各ニューロンの教師信号に対応した出力値の線形関係を演算の重複分とし、これに相当するニューロン数を除くことで最適化する手法を示す。
第24図に本手法のアルゴリズムを示す。まずS1でiを1にする。S2で転送されたY1〜Ymの値より、YiをYi+1〜Ymの線形和で近似した値を■iとする。このとき ■i=b0+bi+1・Yi+1+…bm・Ym ……(38)
近似式は良く知られた線形重回帰分析等により、容易に求められる。次にYiがYi+1〜Ymの線形和で記述できた割合として、Yiと■iの重相関数の絶対値Ciを求め記憶する。Ciは、次式で与えられる。
但し N :教師信号数 Yij :j番目の教師信号の入力信号セットを入力したときのi番目の中間層の出力■ij:j番目の教師信号の入力信号セットを入力したとき、(38)式で与えられる値Ciは0〜1の値をとり、Ci=1のときYiはYi+1〜Ymの線形和で完全に記述できたことを示している。逆にCi=0のとき、YiはYi+1〜Ymの総てと全く無相関である。S4でiの値をインクリメントし、S5でiが中間演算手段502のニューロン数mと一致しているか判定する。一致していないとき、S2〜S4の処理を繰返す。一致していれば、S6で、 SUM=m−(C1+C2+…+Cm-1) ……(43)
を計算し、SUMの値を最適なニューロン数とする。実際にはニューロン数は整数であるため、S7で値を整数化する。ニューロン数はデータパス5を通して同定手段104へ送られる。
本実施例では、各ニューロンの出力値の線形関係を定量化して抽出する手法として、統計量である寄与率と重相関係数に着目したが、各ニューロンの出力値の分散等の他統計量に着目したアルゴリズムも考えられる。また統計量でなく、各シナプスに与えられている重みWiの値を評価して求めることも考えられる。さらに本実施例では、各ニューロンの出力の重複機能分を評価するのに、出力の間の線形関係成分と非線形関係成分に着目して行ったが、重複機能分を他の成分で評価することも考えられる。またニューラルネット系最適設計手段105を入力信号最適化手段106と中間層ニューロン数最適化手段107から構成したが、必要に応じて一方のみの構成とすることもできる。入力信号最適化手段106を除いた構成の場合、第6図に示した同定手段104の処理のうちS1〜S4が省略される。また中間層ニューロン数最適化手段107を除いた構成の場合、S5〜S6が省略できる。また本実施例で入力信号最適化手段106には、入力信号の中から不要と思われるものを次々と指摘していく機能を備えたが、入力信号の内容からこれらを適当に合成することにより信号数を減らしても良い。さらに第12図に記載した各手段は同一の装置に搭載した一体型の構成としても良いし、別個の装置としてネットワーク等でデータを交換する形態としても良い。また同定手段104に備えたニューラルネット演算模擬手段500は必要に応じて省略し、ニューラルネット演算手段102を兼用して同定を行っても良い。
次の実施例として第25図に、ニューラルネット最適設計手段105の動作をユーザに報知するための表示手段1101を設けた例を示す。表示手段1101では、入力信号最適化手段106で除かれた入力の番号や、中間層ニューロン数最適化手段107で決定された中間演算手段202のニューロン数をディスプレイ等に表示する。またこの他に学習の進行状況等を合わせて表示することもできる。
本発明の次の実施例として、演算量が最小のネットワークを設計する手法を示す。第26図はこれを実現するアルゴリズムであり、本実施例では、一旦適当な構成に決定されたネットワーク(入力層ニューロン数p,中間層ニューロン数m)に対して、この構成を演算量最小化の観点からさらに最適化する例を示す。したがって本アルゴリズムは、例えば第17図のS5の後に実行すればよい。第26図において、まずS1で入力量として適当なものを1つ追加することにより、入力層のニューロンを1つ追加する。次にS2でこの条件における中間層ニューロンの最適数m*を決定する。最適数は第24図のアルゴリズムにより算出すれば良い。次にS3で、pとmの積と(p+1)とm*の積の大小関係を比較する。p×m>(p+1)×m*のとき、入力層ニューロンと出力層ニューロンの積を減少させられ、したがってこれらの間の接続シナプス数が減少させられることになる。この場合にはS5で、p+1をp,m*をmと置いた後、S1に戻り、以上の処理を繰返す。S3で、p×m>(p+1)×m*ではないとき、演算量の更なる最小化を図ることはできないため、入力層ニューロン数p,中間層ニューロン数mのネットワークを最終的な構成に決定する。
本実施例では、入力層のニューロン数と中間層のニューロン数の積を最小化したが、さらに出力層のニューロン数を乗じた値を最小化することもできる。
本実施例の次の実施例として、第27図にユーザにより与えられた学習精度で学習を打切る手法を示す。N個の学習サンプルによる学習において、S1でこれらのおのおのにおける出力層ニューロンの出力値と教師信号との差分(エラー)が所定の範囲(eth)以下に収まっているかどうかを調べる。そしてN個の学習サンプルのうち、
を満足するもののパーセンテージを算出する。S2でこのパーセンテージがユーザにより指定された値以下かどうかの判定を行う。以上の場合にはS3で学習を打切る。パーセンテージに達していないときにはS4で学習を継続する。本アルゴリズムは、学習中に適当なタイミング(通常学習は再帰的に行われるため、例えばN個の学習サンプルに対する演算が一区切りしたタイミング等)で実行し、学習の終了もしくは継続を判定する。
本発明の次の実施例として、第1図の条件指定として学習時間が指定された場合のネットワーク設計手法を示す。ここでは、学習アルゴリズムとしてバックプロパゲーションアルゴリズム(例えば、『ニューラルコンピュータ』(東京電機大学出版局,合原一幸著)のp110〜113参照)を用いる場合について述べるがこれに限定されるものではない。
バックプロパゲーションアルゴリズムによる1つのシナプス結合の重みの修正に要する時間Tは、そのアルゴリズムを実行する手段(プログラムあるいはハードウェア)によって決まってしまう。また、ニューラルネットの全てのシナプス結合の重みを出力層から入力層に向って1回だけ修正する時間は、ニューラルネットのシナプス結合の総数(以下、結合総数と呼ぶ)に比例する。
したがって、ニューラルネットの学習時間LTは、出力層から入力層に向って重みを修正する回数(ここでは学習回数と呼ぶ)と結合総数を用いて、次式で表現することができる。
LT=T×(結合総数)×(学習回数) ……(44)
したがって、学習時間LTが指定された場合、重みの修正時間Tは既知であるので、結局結合総数と学習回数をLT以内に納まるように決定すればよい。決定する戦略としては、結合総数学習回数とも小さくなるように選ぶことが考えられる。第28図は、本実施例を実現する装置構成であり、第29図は第28図の装置で実行されるアルゴリズムである。第28図の装置構成は第12図の装置構成とほとんど同一であるが、第28図では同定手段104から記憶手段103に向う信号を付加した所が特徴となっている。以下、第29図のアルゴリズムに従って説明する。第29図のアルゴリズムは同定手段104で実行され、T20とT21の機能からなる。T20は、結合総数を小さく選ぶ方法であり、そのために入力信号の中に冗長な入力がないかを検出する。検出手段としては、第17図の入力信号最適化手段106の機能T3を用いればよい。冗長な入力信号が含まれていないことがわかっている場合は、学習時間LTをオペレータが指定するときに入力信号の冗長性の検出を行わないことを指定すればよい。
次に、T21では学習回数を少なくする。学習回数を決定する要因は、前述した学習精度の他に学習データの個数,重みの初期値、重みの修正式に用いられる学習定数(η)、安定化定数(α)などがあるが、これらのデータと学習回数との間に明確な関係式は現在ない。そこで、これらのデータと学習回数との関係を、例えば第30図に示すような学習回数データベースとして同定手段104から記憶手段103に登録するようにした。
T20で結合総数が決まれば、(44)式より学習回数が決まる。そこで、同定手段104は記憶手段103から学習回数データベースを読み込み、(44)式で求めた学習回数に近いものを探索する。近いものがあれば、そのときの学習データの精度や学習データの個数などのパラメータを選択してニューラルネット演算手段102を用いて学習を行う。但し、学習データの個数は記憶手段103に格納されている学習データの個数と一致しない場合が発生する。学習回数データベースから得られた学習データの個数が、記憶手段103に格納されている実学習データの個数より小さい場合は、実学習データから選択する必要がある。この選択方法としては、各カテゴリー毎にほぼ同数となるように実学習データから無作為に抽出する方法、あるいは各カテゴリー毎に入力信号の分布を求め分布に比例して抽出する方法などが考えられる。
一方、(44)式で求めた学習回数に近いものが、学習回数データベースにない場合は、学習回数データベースの内容から推測して、学習精度,学習データ個数などのパラメータを決めればよい。このとき、実学習データ個数とに違いが出れば、前述した選択方法で実学習データから選択すればよい。
第30図の学習回数データベースには、当然のことであるが、本発明の装置を用いて学習を行う毎に追加が行われる。
第30図のデータベースに、ニューラルネットを構築するのに要した学習時間,ニューラルネットの規模(例えばシナプス結合の総数など)も登録することも可能である。この場合は、条件指定された学習時間で直接データベースを参照して、学習に必要なパラメータを推定することができる。
本発明の次の実施例として、第31図にニューラルネット構築装置101に、ニューラルネット演算手段102の性能が所望でないときにこれを再構築する手段を追加した例を示す。ニューラルネット再構築手段1401は、性能評価手段1402,教師データ更新手段1403,再構築指令発生手段1404からなる。性能評価手段1402はニューラルネット演算手段102が取込んだ入力と、この入力に対する演算結果である出力を取込み、出力が入力に対応した所望の値であるかどうかを評価する。評価はユーザが望ましい出力値を提示し、この値とニューラルネット演算手段102との出力との差分を検出すれば容易に行える。評価結果が所望のレベルに達していないとき、性能評価手段1402により教師データ更新手段1403が信号1により駆動され、差分の大きかった入力と、これに対応した望ましい出力の組合せを追加することで、記憶手段103の内容を更新する。このとき既に記憶手段103に蓄えられている入力のうち追加した入力に近い値の入力と、これに対応した出力の組を削除する等の操作を、さらに行っても良い。この後再構築指令発生手段1404に、記憶手段103の更新が終了したことを信号2により伝えると、再構築指令発生手段1404はニューラルネット系最適設計手段105を再起動する信号を、信号3により提示する。ニューラルネット系最適設計手段105は、前述した処理を再度行うことにより、ニューラルネット演算手段102の構成の最適化を行う。
次に本発明で与えられたニューラルネット演算手段102が、各種システムに組込まれた例を示す。第32図は制御システムの制御ループの中に本装置が組込まれた例である。ニューラルネット演算手段102は、制御対象1201からの帰還信号を入力値とし、制御対象1201を駆動するための信号を出力する。
第33図はニューラルネット演算手段102を、制御系1301のチューニング手段として用いた例である。102は制御対象1201からの帰還信号や、他のセンサからの信号を入力信号とし、制御系1301にとって最適な制御仕様や各部の制御定数を出力信号とする。
第34図は制御対象1201に与える目標値の発生部に適用した例である。ニューラルネット演算手段102は、制御対象1201からの帰還信号や各種センサの信号を入力とし、制御対象1201に与える最適な目標値を出力信号とする。この出力信号は制御対象1201からの対応した帰還信号と比較され、これらの偏差に対応した値が制御1401に入力される。1401はこれらの値を基に制御対象1201に出力する信号を演算により求める。帰還信号との比較は必要に応じて省略し、フィードフォワード制御を行っても良い。
尚、上記制御対象としては、例えば圧延機,発電プラント等をいう。
第35図は認識装置に適用した実施例である。ニューラルネット演算手段102は、認識対象1501からの情報を入力信号とし、認識結果を出力信号とする。認識対象1501としては、数字,文字,音声,人の顔,人間の性別,物体の色やりんかく等、種々考えられる。認識結果は例えば数字の場合、認識結果表示装置1502においてランプで明示することもできるし、ディスプレイや音声出力装置で表示してもよい。
〔発明の効果〕
以上説明した本発明の実施例の効果を説明する。
(イ) ニューラルネットの構築方法 従来ブラックボックスとしてしか扱えなかったニューラルネットが、本発明を実施することにより解析的に構築でき、しかも誤認識のおこりにくい構成とすることができる。
入力信号最適化手段を設けたことにより、ニューラルネット演算装置へ入力すべき信号を最小数の組合せに最適化できる。また中間層ニューロン数最適化手段を設けたことで、中間演算手段のニューロン数が最適な値に自動設定できる。以上2つの手段を設けたことにより、ニューラルネット演算手段の構成を簡易な演算で必要最小にできるので、従来行われていた試行錯誤的なシミュレーションを省略できる。またこれをハードで実現した場合には小型,安価,低工数となり、ソフトで実現した場合には、高応答の装置が提供される。
また決定されたニューロン数等のニューラルネット構築装置の演算内容を表示する手段を設けたことにより、ユーザインターフェイスが向上できる。
(ロ) ニューラルネットの重みのチューニング方法 従来誤認識が生じたとき、誤認識が生じたデータを追加して再学習する方法しかなかったが、本発明を実施することにより、できあがったニューラルネットの重みをチューニングすることにより誤認識が解消できる。
(ハ) ニューラルネット再構築方法 ニューラルネット再構築手段を設けたことにより、ニューラルネットの性能を装置の稼動状況を把握しながら、随時向上させられる。したがって装置の適用対象が経年変化等により動的に特性を変える場合においても、本発明を問題なく適用できる。また完全な教師データを事前に揃えておかなくて良いので、システム立上げが高速化される。
(ニ) 学習の高速化 従来広く用いられている逆伝播法は、教師データを一個ずつ処理するために極めて収束が悪かったが本発明を実施することにより、高速化が可能となる。またその他の学習方法についても本発明を実施することにより高速化が可能である。
本発明をパターン認識予測等の種々なシステムに適用する際、ニューラルネットワークの解析が行なえるため、誤認識誤った予測等に強くかつ誤認識誤った予測等が生じたとき容易に対応することが可能となる。
具体的なアプリケーションの例として車番認識システムにおける例を第36図に示す。図において車のナンバープレートは、工業用テレビで画像認識装置に取りこまれる。画像認識装置では、ナンバープレートの切り出しを行ない、その中から文字を1つずつ切り出し、文字画の特徴量を抽出する。抽出された特徴量は、ニューラルネットワークに入力され、その識別結果が出力される。
このニューロンの学習及び誤認識が生じたときのパラメータのチューニング及びネットワークの再構成に本発明を実施することにより、誤認識に強くかつ高速な学習を実現することが可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例、第2図は、ニューラルネットの構成図、第3図はシグモイド関数を示した図、第4図R>図は、収束判定条件を説明した図、第5図は、2次元データのパターン分離の例、第6図は、第5図のパターンを分離するニューラルネットを示した図、第7図は、最適化の手段を示した図、第8図は、ニューラルネットワークを構成する方法を説明した図、第9図は重みのチューニング法を説明した図、第10図は学習の高速化を説明した図、第11図は第10図の方法で学習した例を示す図、第12図は本発明の他の一実施例の構成図、第13図乃至第14図は、ニューラルネット演算の説明図、第15図は教師信号の例、第16図は同定手段の説明図、第17図はアルゴリズム、第18図乃至第20図は入力信号最適化手段の処理の説明図、第21図は入力信号最適化手段の別の実施例、第22図乃至第23図は、第21図の方式を説明した図、第24図は、アルゴリズム、第25図は構成図、第26図は、演算量最小の条件でネットを構成する実施例、第27図は学習精度を条件として、ネットを構成する実施例、第28図は指定演算時間内にネットを構成する実施例、第29図乃至第30図は、第28図の方式を説明する図、第31図はネットを再構築する実施例、第32図乃至第35図は本発明を適用したシステムの構成図、第36図は車番認識に適用した例である。
11……ニューラルネットを構築するステップ、12……パラメータをチューニングするステップ、101……ニューラルネット構築装置、102……ニューラルネット演算手段、103……記憶手段、104……同定手段、105……ニューラルネット系最適設計手段、106……入力信号最適化手段、107……中間層ニューロン数最適化手段、1101……表示手段。
〔産業上の利用分野〕
本発明は、多層ニューラルネットを構築する装置、並びに多層ニューラルネットの各種の応用装置(認識,予測,推定,関数近似,制御等を行う装置)に関する。
〔従来の技術〕
ニューラルネットワークを用いてパターン認識,予測,推定,関数近似,制御等を行なう方法について、エム・アイ・ティー プレス(1986年)パラレル ディストリビューティド プロセシング第318頁から362頁(Parallel Distributed Processing,Vol.1,MIT Press,Cambridge MA,1986 pp318−362)において論じられている。
ここでパターン認識を例にとってニューラルネットを説明する。ニューラルネットは、ニューロンをカスケード状に多層に結合したもので第2図は3層ニューラルネットの例を示している。図において1000,1001は入力ニューロン、1003,1004は中間層ニューロン、1006,1007は出力ニューロン、1002,1005はバイアスニューロンである。入力及びバイアスニューロンは、入力をそのまま出力するが、中間層及び出力ニューロンは、第3図に示すようなシグモイド関数と呼ばれる飽和特性のある入出力関係を持ち入力をx、出力をZとすると
となる。ここでTは、シグモイド関数の傾きを決める定数である。
入力側から各層の番号を打つとし、i番目の層j番目のニューロンの入力、及び出力を各々xj(i),Zj(i)とすると、入力ニューロンの入出力関係は、上述したことにより、 xj(i)=Zj(i) j=1,…,n(i),i=1 Zn(i)+1(1)=1 ……(2)
となる。ここでn(i)はi番目の層への入力数であり、Zn(i)+1(1)はバイアス項となる。
第2、及び第3層のi番目のニューロンの出力は、Zj(i)=f(xj(i)) j=1,…,n(i),i=2,3Zn(i)+1(i)=1 i=2,3 ……(3)
となる。ここでZn(i)+1(i)はバイアス項である。
各層間のニューロンはシナプスを介して完全に結合されており、各シナプスは重みを持ち、ニューロンの出力にその重みを乗じたものを次段のニューロンへの入力とする。従って第2,3層目のj番目のニューロンへの入力は次式で与えられる。
xj(i)=wj(i−1)Z(i−1)
i=2,3,j=1,…n(i−1) ……(4)
但し、 wj(i−1)=(wj1(i−1),…,wj,n(i-1)+1(i−1))は重みベクトルでwjk(i−1)は、(i−1)番目の層のk番目のニューロンとi番目の層のj番目のニューロンの間のシナプスの重みであり、 Z(i−1)=(Z1(i−1),…,Zn(i-1)(i−1),1)tは(i−1)層ニューロンの出力ベクトルで、tは行列の転置を示している。
上記のニューラルネットで入力データをn(3)個のパターンで分離する場合は、i番目の出力ニューロンをパターンiに対応させ、ある入力に対してi番目の出力ニューロンが1で他が0のときパターンiであるというように判定する。このようにパターン分離ができるためには、重みwij(i)(i=2,3)を適切に決める必要があるが、そのために入出力データを教師データとして学習により重みを決める。今m個の教師データの値 {(xil(1),sjl)}
i=1,…,n(1),j=1,…,n(3),l=1,…,m ……(5)
とすると、
となるように重みwih(i)を決める。但しZjl(3)は教師データ入力xil(1)に対応する出力ニューロンの出力である。重みを決める方法としては、上記文献に示されている逆伝播法が広く用いられている。この方法では、1組の教師データの入力xil(1),i=1,…,n(1)に対して出力Zjl(3)がsjl j=1,…,n(3)に近づくように出力側から順次入力側に重みを修正し、それが終ったら次の教師データについて上記を同じ手順を繰り返し、 |Zjl(3)−sjl|<ε ……(7)
i=1,…,n(3),l=1,…,mが成り立つまで修正を繰り返す。但しεは、収束を判定するための小さな正の数である。
このようにしてニューラルネットの重みを決定した後で、未学習データに対するネットワークの出力を調べることによりパターン認識が可能となる。
この方式では、入出力パターンに基づいた学習によりパターン識別ネットを構成できるため、識別アルゴリズムを作る必要がないという大きな利点がある。
予測,推定等によりニューラルネットを用いる場合は、ニューラルネット出力が離散値でなく連続値を取るだけで本質的な差異はない。
このようなニューラルネットの構成特に多層ニューラルネットの構成のうちとりわけ中間層ニューロン数を最適化する手法として従来の装置は、電子情報通信学会技術報告NC89−104,P85〜90における『淘汰機能を有するバックプロパゲーション』に記載のように、中間層ユニットを学習時に動的に追加,削除することにより、その最適化を図っていた。
さらにIJCNN'90−WASH−DC,1−739〜1−742における『Analysis of the Hidden Units of Back−Propagation Model by Singular Value Decomposition(SVD)』に記載のように、入力層と中間層の間のシナプスの重みを行列化し、この行列のRANKの値に着目して中間層ニューロン数を決定する方法が知られている。
〔発明が解決しようとする課題〕
上記従来技術のうち前者については、ニューロンを削除するかどうか(本文中では不良ユニットかどうか)の臨界値に対しては言及されておらず、最も不良なものを次々と削除していく場合には、その都度学習を必要とするため、従来の試行錯誤的シミュレーションと変わりない演算量を必要とする。またこの操作を打切る指標について記載されていないため、最小構成の状態からさらに削除した場合には、ネットワークが収束しなくなることが問題となる。
また、後者の方式では、条件として中間層ニューロン数は、入力層ニューロン数以下の値となるため、中間層で情報が圧縮されるタイプのニューラルネットにしか適用できないことが大きな問題となる。
また、入力層のニューロン数やその内容に関して、有効な最適化手法は知られていない。
また、一旦学習したネットワークでパターン識別あるいは予測等を行なったとき誤認識あるいは大きな予測誤差が発生してもその対策は、その誤まったデータを追加して再度学習するという方法しかなく識別あるいは、予測等の精度を上げるために試行錯誤になるという問題があった。また逆伝播法は、教師データを一個ずつ逐次的に処理するために学習が極めて遅いという問題があった。
本発明の目的は、与えられた条件に対して最適なニューラルネットを構成する手法を提供することにある。与えられた条件とは、(イ)ニューラルネットの規模の最適化(例えば、入力層のニューロン数,中間層のニューロン数,入力層と中間層のニューロン数の積を最小化するなどがある。)、(ロ)学習の精度の指定(ハ)学習時間の指定(ニ)教師データ以外の入力データに対する誤動作の最小化等ニューラルネットを構築する際に指定する条件を言う。本発明の他の目的は、学習によって得られたニューラルネットワークで未学習データに誤認識あるいは大きな予測誤差が生じたときに、重みをチューニングする、あるいはネットワークを再構築することによりこれらを回避する手段を提供することにある。本発明の他のもう1つの目的は、高速な学習方式を提供することにある。
〔課題を解決するための手段〕
本発明は、(イ)与えられた条件に対するニューラルネットの構築方法、(ロ)ニューラルネットの重みチューニング方法、(ハ)ニューラルネット再構築方法、(ニ)学習の高速化方法、などに特徴を有するものであり、これらの独立した手段,方法のみならず、種々な組合せにも夫々特徴がある。
以下問題を解決するための手段の一例を理論的に説明する。
(イ)与えられた条件に対するニューラルネットの構築方法 規模最適化するという条件のもとでパターン認識用ニューラルネットを構築する方法について説明を行なうが予測等の問題でも同様に適用が可能である。パターン認識をニューラルネットで行なう場合は、教師データに対するニューラルネットの出力は1あるいは0であり、シグモイド関数の飽和特性が極めて重要な意味を持つ。ニューラルネットの出力(ニューラルネットの中間層又は出力層のニューロンの出力)1,0に対応する出力ニューロンへの入力は、+∞,−∞に対応するため、1,0を各々1−ε,εとして、学習の打切りを(7)式で行なうとすると、(7)式は、・sil=1−εのとき 1
・sil=εのとき 2εZjl(3)
となる。これを出力ニューロンへの入力で考えると、第4図4図に示す如く、・sil=1−εのとき ∞>xjl(3)
・sil=εのとき −α
但し α=−Tlog(1/(1−2ε)−1)=Tlog(1/2ε−1) 即ち出力側での有限な区間が入力側では半無限区間に対応することになる。これにより(6)式の最小化が、中間層と出力層の間の重みの決定に関しては、不等式を解くことで求まりうることが分かる。ここでもう少し一般化すれば1,0に対応する出力ニューロンの値は1−ε′,ε′(ε′
ニューラルネットの重みは、超平面を記述する方程式の係数と解釈できる。(4)式でxj(i)=0とすると wj(i−1)Z(i−1)=0 ……(12)
は、n(i−1)次元空間の超平面を表わし、バイアス項の重みwj,n(i-1)+1(i−1)の値を変えることは、超平面を平行移動することに対応する。(1)式より(12)式を満足するxj(i)に対応するZj(i)の値は1/2となる。ここでn(i−1)次元の点(Z1(i−1),…Zn(i-1)(i−1))tは、 xj(i)>0あるいはZj(i)>1/2 ……(13)
のとき超平面の正の側にあり、 xj(i)<0あるいはZj(i)<1/2 ……(14)
のとき超平面の負の側にあるということにする。またあるパターンは、そのパターンに属する全ての教師データがk個の超平面の同じ側にあり、他のパターンのデータは存在しないとき、そのパターンはk個の超平面で単一分離可能と呼ぶ。またあるパターンの教師データが単一分離可能な集合に分割されるときそのパターンは分離可能と呼ぶ。これら分離可能な超平面を以下分離超平面という。
第5図の平面上の3つのパターンの分離を考える。3つの平面P1,P2,P3の矢印は、平面の正の側を示すとし、平面上の各点は教師データを示すとする。パターンIの全ての教師データはP2,P3の正の側にあり他の教師データは存在しないので、パターンIは平面P2,P3で単一分離可能である。同様にパターンIVは平面P1,P2,P3で単一分離可能である。また、パターンIIは単一分離可能な部分集合からなるから分離可能である。
以上のことから次のことを示すことができる。n(1)次元データをn(3)個のパターンに分離することを考える。n(1)次元空間にn(2)個の超平面が存在し、n(3)個のパターン全てがn(2)個の超平面の部分集合で単一分離可能なとき、入力n(1)個,中間層ニューロンn(2)個,出力n(3)個の3層のニューラルネットでパターン分離が可能である。
これは次のようにして分かる。n(2)個の超平面を wj(1)Z(1)=0 j=1,…,n(2)……(15)
とする。ここで Zj(2)=1/(1+exp(−xj(2)/T)), Zj(2)=wj(1)Z(1) j=1,…,n(2)
……(16)
として、ニューラルネットの第1,第2層に対応するようにする。そうすると仮定により、教師データに対応するZi(2)は、 Zi(2)>1/2あるいはZi(2)<1/2 ……(17)
のいずれかになる。
従ってwj(1)に正の定数をかけると、教師データに対応するZj(2)を Zj(2)=1あるいはZj(2)=0 ……(18)
のどちらかにすることができる。
次に出力と中間層ニューロンの間の重みを求める。出力ニューロンの入力xi(3)を xi(3)=wi(2)Z(2) i=1,…,n(3)
……(19)
で与えられるとする。wi(2)はi番目のパターンに対してxi(3)が1−εでそれ以外のパターンに対しては、εとなるように決めればよい。そのためには wi(2)Z(2)
wi(2)Z(2)
とすればよい。
第5図のパターンIのようにパターンiがn(2)個より少ない超平面で分離されるときは、分離に貢献していない平面に対応する重みを0とすればよいので、パターンiはn(2)個の平面で分離されると仮定する。この仮定によりパターンiに対するZi(2),…,Zn(2)(2)の出力は一意に決まる。ここで、(Z1(2),…,Zn(2)(2))=(1,…,0,…,0) パターンi ……(22)
とする。即ち最初のs個の出力が1で残りが0であるとする。
さらに wij(2)=2α j=1,…,s ……(23)
wij(2)=−2α j=s+1,…,n(2)
……(24)
とすると、(20),(21)式は各々次のようになる。
wi,n(2)+1(2)
パターンiは単一分離可能であるから、Zj(2)=0がj=1,…,sのどれかのjで成立するか、Zj(2)=1がj=s+1,…,n(2)のどれかのjで成立する。従って(25),(26)式を満たすwi,n(2)+1(2)を決めることができる。それには例えばwi,n(2)+1(2)=α(1−2s)とすればよい。
以上の証明より、もしパターンiが分離可能であるならば、3層目でパターンiの各々の分離領域を分離し、4層目でそれらを合成することにより4層のニューラルネットで分離が可能となることが分かる。
なお同一パターンが超平面によりいくつかの領域に分離されるときも、それらの領域が異なるパターンに対応する領域と1つの超平面で分離できるときは3層で合成することができる。
またここで証明を簡略化するために、中間層の出力を1と0としたが、実際はその必要がない。
上記の手順を行なうと第5図の平面上の点の分離を行なうニューラルネットは次のようになる。入力と中間層の重みは、図の直線を表現する方程式の係数に設定する。このとき重みの符号は図の矢印の方向が正の側になるようにとる。重みに正の数をかけることにより中間層の出力が1,0をとるようにすると各パターンに対する入力は次のようになる。
パターンIでZ1(2)が1と0をとるが、Z2(2)とZ3(2)がどちらの場合も1であるからZ1(2)はパターン分離に貢献していない。従ってパターンIは直線P2,P3により単一に分離可能である。同様にパターンIVは直線P1,P2,P3で単一に分離可能である。これに対しパターンIIは分離可能である。従って第6図のようにネットワークが構成される。図において、1010〜1012は入力ニューロン、1013〜1016,1018,1019は中間層ニューロン,1017,1020,1021は出力ニューロンである。1013,1014,1015は各々直線P1,P2,P3に対応している。また1017,1021,1020は各々パターンI,V,IVに対応しているパターンIは、直線P2,P3により単一分離可能であるから1013と1017とはつながっていない。パターンIIは、2つの単一分離可能な領域を合成することになるので4層ネットで構成される。4層目の重みは、
となるように重みを決めればよいので w21+w41
ここで1018,1019どちらの出力も1となることはないがそのときも1021の出力は1となる。
以上の手順によればネットワーク規模を最小化できる。また分離平面を教師データのない境界上にとれるため誤認識に強いネットとすることができる。
規模を最適化するという条件を達成する別の手順として、入力信号セットと出力信号セットからなる教師情報(ニューラルネット系の入力と出力に関する既知の対応関係)の内容を基に、ニューラルネット左の各シナプスの重みを決定する同定手順を備えたニューラルネット構築装置に、これらと情報交換しつつ動作するニューラルネット最適設計手順を備えたものである。
また該ニューラルネット最適設計手段に、入力信号最適化手段と中間層ニューロン数最適化手段を備えたものである。
(ロ)ニューラルネットの重みのチューニング方法 (イ)の最初の方法でパターン認識を行なうネットワークが構成されているとする。但しこのとき入力と中間層の重みは、各パターンを分離するように設定されていればよく、教師データに対する中間層出力が1,0となる必要はない。各パターンを分離とは、各パターンの教師データの少なくとも2つ以上教師データを含む部分集合に対して、中間層出力Zi(2)が Zi(2)>1/2あるいはZi(2)<1/2 ……(27)
のどちらかになっていることを言う。
未学習データxi(1),i=1,…,n(1)をニューラルネットに入力して、誤認識が生じたとき、xi(1)に対応する中間層入力及び出力をxj(2),Zj(2)j=1,…,n(2)とする。このとき、未学習データがパターンkに属するとするとき、パターンkに対応する教師データに対応する中間層の入力あるいは出力と比較し、未学習データが教師データが存在しない超平面の側に存在する中間層ニューロンを検出する。このニューロンが誤認識を生じる原因となっていることが分かる。
次にその中間層ニューロンの重みを調整し、未学習データが、同一パターンの学習データとその平面に対して同一の側にあるようにする。このとき他のパターンに属する教師データのその平面に対する位置関係を変えてはならない。この調整の仕方としては例えば、超平面を平行移動即ちバイアス項を変化させればよい。予測等を行なう場合も、同様の方法により重みのチューニングが可能である。
(ハ)ニューラルネット再構築方法 上記目的を達成するために、ニューラルネットの性能(制御性能,認識率,汎化能力,予測情報等)を評価する手段と、性能が低下したときに教師データの内容を更新する手段と、この後ニューラルネット系最適設計手段に再度起動をかける再構築指令発生手段よりなるニューラルネット再構築手段を備えたものである。
(ニ)学習の高速化方法 (イ)の考え方を用いれば従来のパターン認識の学習法も高速化ができる。ここでxil(1),silの教師データを用いて学習がある程度進んだ段階で、・sil=1に対して Zil(3)>1/2+ε1あるいはxil(3)>ε2 ……(28)
・sil=0に対して Zil(3)<1/2−ε1あるいはxil(3)<ε2 ……(29)
が全てのi=1,…,n(3),l=1,…,mに対して成立するか調べる。ここでε1,ε2は、学習の打切りを指定する正の小さな定数である。もし成立すれば学習を終了し、
を求める。ここでMi<αのときwki(2)を次のように修正する。
wki(2)←(α/Mi)wki(2),k=1,…,n(2)+1 ……(31)
Mi
ここで(28)あるいは(29)が成立すれば、パターンは既に分離されているから、(30),(31)の手順で重みを定数倍にすることによりネットワークの出力が1,0になるように調整できる。
なおwki(2)だけの調整だけでなく、wij(1)が分離超平面に対応するように調整した後にwki(2)を調整した方が、誤認識に強いネットとすることができる。
〔作用〕
(イ)学習の打切りを(8),(9)式あるいは(10),(11)式とすることにより、中間層と出力層の重みを不等式を解くことにより求めることが可能となる。また入力層と中間層の重みを、パターンを分離する超平面に対応させることにより、パターン分離を行なうニューラルネットを3層あるいは4層で構成できる。
また規模を最適化する別の方法で入力信号最適化手段は、前記記憶手段の情報を取込み、実施例に詳述する手法で、出力の決定に貢献している無意味な入力と、他の入力の線形和で表わされる冗長な入力を指摘する。
中間層ニューロン数最適化手段は、同定を終えたネットワークに、入力信号セットを入力し、このときの各中間層ニューロンの出力の振舞いを分析する。
(ロ)入力と中間層の重みをパターンを分離する超平面に対応させることにより、誤認識が生じたときに重みを調整することにより誤認識を解消することができる。
(ハ)ニューラルネット再構築方法 ニューラルネットの性能を評価する手順は、教師データに含まれない入力データに関し、対応するニューラルネットの出力が、所望の出力データとなっているかどうかを検出する。そして所望の出力データが得られていないとき、性能が低下したことを判定する。このとき教師データの内容を更新する手段は、所望の出力データが得られなかった入力データと、これに対応する所望の出力データの組合せを教師データに追加する。再構築指令発生手段は、前に述べたニューラルネット最適設計手段を駆動し、ニューロン数の最小化、シナプスの重みの再構築を行う。
(ニ)全ての教師データが、パターン毎に分離された段階で学習を終らせることにより、学習の高速化を図ることができる。
〔実施例〕
以下、本発明の一実施例を第1図を用いて説明する。図において、101はニューラルネット構築装置、102はニューラルネット演算手段、103は記憶手段、105はニューラルネット系最適設計手段である。102は、多層のニューラルネットの構成に基づいて入力信号に対する出力信号を演算する手段である、入力に対する望ましい出力の組合せ(教師データ)は、後述する第15図に示す記憶内容のとおり、記憶手段103に記憶されており、ニューラルネット系最適設計手段105は指定された条件と教師データとにより条件を満たすニューラルネットを構築する。
第7図に、ニューラルネット系最適設計手段105の処理フローを示す。
ステップ10では、ニューラルネットを最初から構築する場合はステップ11へ、そうでないときはステップ12に進む。
ステップ11では、ニューラルネットワークを構築し終了する。
ステップ112では、誤りが生じたデータを教師データを用いて、ニューラルネットの重みをチューニングして誤りを解消して処理を終了する。
ネットワーク規模の最小化及び誤認識に強いことを条件にパターン認識用ネットを構築するステップ11の手順を第8図に示す。
ステップ11において、教師データ(xil(1),sil)i=1,…,n(1),j=1,…,n(3),l=1,…,mを用いてn(3)個のパターンに分離する平面を決定し、それによりニューラルネットの中間層数n(2)及び入力と中間層間の重みWij(1)i=1,…,n(2),j=1,…,n(1)を決める。
次にステップ112において、n(3)個の各パターンに対して、(20),(21)式が成立するように重みWij(2),i=1,…,n(3),j=1,…,n(2)を決める。
ここで111のステップにおける分離平面の決定は、例えば、“パターン認識に学習機械”昭晃堂(昭和45年)38頁−41頁の手順で行なうことができる。
また112のステップは、中間層の出力を1,0になるように調整したときは、(22),(23)式に従って重みを決め、また単一分離可能でないときは、3層あるいは4層で合成する。1,0になるように調整していないときは、(20),(21)式の不等式を解けば求めることができる。なお112のステップで分離に貢献していない中間層ニューロンの出力は、対応する出力ニューロンには入力しないようにする。
第7図のステップ12のパラメータチューニングのステップは、第9図のようになる。即ち、先ずステップ121において、誤認識を生じた入力データxi(1)i=1,…,n(1)の中間層の入力xj(2)(あるいは出力Zj(2))とそのデータに対応するパターンjの教師データの中間層の入力(あるいは出力)とを比較し、教師データが存在しない超平面の側にある中間層ニューロンを検出する。
次にステップ122において、検出された中間層ニューロンに対して誤認識を生じたデータが同一パターン教師データと同じ側になるように重みを調整する。このときその超平面により分離されている教師データの位置関係を変えない範囲で調整する。それが終ったら第8図のステップ112と同じ手順で出力層の重みを調整する。
最も簡単な重みの調整法は、バイアス項を変えて、超平面を平行移動することにより行なうことができるが、第8図のステップ111と同じ方法を用いてもよい。
第7図のステップ11の別の実施例を第10図に示す。
先ず、ステップ113において、教師データ(xil(1),sil)を用い、逆伝播法、その他の手法でニューラルネットの重みを修正する。
次にステップ114において、(28),(29)式が成立していれば、収束したとして、ステップ115へ進む。そうでなければ、ステップ113へ戻る。
ステップ115においては、入力側の重みが分離超平面となるように、重みをチューニングする。具体的には、例えばバイアス項を変えて分離超平面を平行移動することにより行なう。
次にステップ116において、入力側の調整に従い、出力側の重みを、第8図のステップ112と同じ手順で修正する。このときもパターン分離貢献していない中間層ニューロンと出力ニューロンとは結ばないことにする。
なお上の手順でステップ115を行なう必要はなく、そのときは、(30),(31)式の手順でWkj(2)を修正すればよい。
第5図において、パターンVをパターンIIとパターンIVの2つに分けて単一分離可能として、第10図の113,114のステップを実行したときの平面の学習結果を第11図に示す。このとき113のステップの学習は、入力データを一括して層毎に重みを決める方式とした。このとき第11図において、P1,P2,P3のバイアス項を調整して平行移動させると、第5図のように各パターンを分離でき、115,116のステップを実行できる。
このようにすることにより誤認識に強いニューラルネットを構築することができる。
以下、本発明の他の実施例を図に従って詳細に説明する。まず第12図により装置全体の構成を説明する。本実施例でニューラルネット構築装置101は、入力信号に後述する所定の演算を施した後出力するニューラルネット演算手段102,入力信号に対するニューラルネット演算手段102の操作として望ましい入力と出力の組合せ(以下教師信号)を格納しておく記憶手段103と信号の交換を行う。ニューラルネット構築装置101は記憶手段103に格納されている教師信号を基に、ニューラルネット演算実行手段102の演算定数を決定する同定手段104,記憶手段103の内容および同定手段104の学習結果を基に、ニューラルネット演算手段102の最適な構成を決定するニューラルネット系最適設計手段105から構成される。またニューラルネット系最適設計手段105は、ニューラルネット演算手段102へ入力される入力信号の内容を最適化する入力信号最適化手段106と、102の内部構造である中間層のニューロン数の最適な値を決定する中間層ニューロン数最適化手段107からなる。以下各手段の機能を順次詳細に説明する。
ニューラルネット演算手段102は第13図に示すように、入力演算手段201,中間演算手段202,出力演算手段203により構成される。入力演算手段には、ニューラルネット演算に必要な入力信号(制御応用の場合には制御対象からの帰還信号,認識応用の場合には認識対象の図形情報等)が入力される。また出力演算手段203からは演算支結果として、制御指令や認識結果に対応した信号が出力される。各演算手段は複数の演算単位204からなる。演算単位204を結合するアーク205は演算単位間の信号の流れを表わしており、図に示すように、隣接した演算手段に含まれる演算単位と結合される。演算単位204は入力アークにより結ばれている他の演算単位の出力値を入力データとして取込み、後述する演算を行い、その結果を出力アークにより結ばれている他の演算単位へ出力する。第13図は0〜9の数字を認識するシステムにニューラルネット演算装置101を適用した例を示している。この場合入力演算手段201には数字を弁別するための特徴量として、図形に含まれる穴の数等が各ニューロンに入力される。入力情報としてはこの他に、図形を適当数に分割し、各領域の情報(画素があるかないか等)を、領域に対応づけたニューロンに入力する方法も考えられる。また出力演算手段203の各ニューロンは、例えば0〜9の各数字に対応したものが用意される。各出力ニューロンは、割付けられた数字に該当した信号が入力されたときアクティブとなり、これらの結果が出力される。
第14図に演算単位204が実行する演算の内容を中間演算手段202に含まれる演算単位の動作を例にして示す。他の演算単位からの入力値X1〜Xnを取込んだ後、各入力値に対応した重みWiを乗じ、その結果を加算しuとする。すなわちuは、
で与えられる。uを定められた関数fで写像し、出力値Yを決定する。関数fの形は種々考えられるが、一般に広く用いられる例としてはシグモイド関数と呼ばれる。(33)式の非線形飽和関数がある。
第14図は中間演算手段202に属する演算単位について示したが、入力演算手段201に属する演算単位の場合、入力は第13図から自明なように唯一となる。したがつて第14図でn=1の場合と考えればよい。また出力演算手段203に属する演算単位の場合には、逆に出力が唯一となる。ニューラルネット演算手段102の構成としては、中間演算手段を2つ以上設けた多段構造や、入力演算手段201の出力に直接出力演算手段203を結合した構成をも考えられる。また入力演演算手段201の関数fによる変換を省略することも考えられる。
記憶手段103は、ニューラルネット演算手段102における入力信号セットと出力信号セットの望ましい組合せをデータの対として、たとえば第14図に示す形態で記憶する。本実施例で入力信号セットは前述した図形情報により構成され、出力信号セットは0〜9に対応しており、例えば図のように該当する数字を1、他を0で与える。これらは同定手段104における同定用のデータとして用いられる。詳しくは後述するが記憶手段103には、この他に同定結果の評価用データとして、第15図の形態で入力信号セットと出力信号セットの対を格納しておくことも考えられる。
同定手段104は、記憶手段103に蓄えられている入力信号セットと出力信号セットの組合せから、学習によりそれらの関係を同定する。同定は(32)式に示した各ニューロンのシナプスの重みWiの変更により行われ、最終的な同定結果によりニューラルネット演算手段102へ転送されるシナプスの重みが決定される。第16図の同定手段104の構成を示す。本実施例では、繰返しの学習により同定を行う例を示す。ニューラルネット演算模擬手段500に含まれ、ニューラルネット演算手段102の構成に対応した、入力演算手段501,中間演算手段502,出力演算手段503に加え、記憶手段103から取込んだ教師信号である入力信号セットと出力信号セットをそれぞれ受信する機能、出力演算手段503の出力と出力信号セットとの差分を基に各ニューロンのシナプスの重みWiを修正する機能を備えている。以下学習動作の代表例であるバックプロパゲーション法について説明する。
まず記憶手段103に蓄えられている入力信号セットと出力信号セットの対を一つ抽出し、入力信号を入力演算手段501の対応したニューロンに入力する。このとき各演算単位の前述した演算の後、出力演算手段503から出力される各ニューロンの値を、対応した出力信号セットの値と比較し、不一致の差分を検出する。そしてバックプロパゲーションの名で知られるアルゴリズムに従い、差分がなくなるように各演算手段501〜503に属する演算単位の重みWiを変更していく。変更アルゴリズムの詳細は、たとえば『ニューラルコンピュータ』(東京電機大学出版局,合原一幸著)のp110〜113に述べられている。総てのニューロンの重み変更が終了すると、同定手段104は記憶手段103から別の信号の対を同様に抽出し、同じ手順で重みの変更を行う。これを記憶手段103に蓄えられている総ての信号の対について行う。この動作を、前述した不一致の差分が許容値以下になるまで繰返す。このようにして決定された各演算単位の重みをWij(iはアーク番号、jはニューロン番号)とする。同定手段104はWijをニューラルネット演算手段102に転送し、102の各シナプスの重みを決定する。
本発明で新たに備えられたニューラルネット系最適設計手段105は、記憶手段103に格納されている信号を分析して入力信号セットに含まれる信号の内容を最適化する入力信号最適化手段106と、学習手段104の学習結果として構築されたニューラルネット演算模擬手段500に入力信号セットを次々と入力したときの中間演算手段の各ニューロンの出力に着目して中間層ニューロンの最適数を決定する中間層ニューロン数最適化手段107を備えている。
第17図のニューラルネット系最適設計手段105の機能を示すアルゴリズムと、同定手段104との間の情報交換方式を示す。T*(T1〜T3)が入力信号最適化手段106の機能、T4が中間層ニューロン数最適化手段107の機能であり、本実施例では入力信号最適化手段106の後、中間層ニューロン数最適化手段が動作する。入力信号最適化手段106は、まずT1で記憶手段103より教師信号(入力信号セットと出力信号セット)を取込む。T2とT3ではこれらを用いて出力に貢献しない入力と冗長な入力を指摘する。
出力に貢献しない入力特定方法として本実施例では、教師データの各入力ニューロンと出力ニューロンの値に着目する方法を示す。まず1つずつの入力ニューロンと出力ニューロンを抽出し、これに対応した教師信号の値をXi,Ti(i=1,2,…N;Nは教師信号数)とする。入力値のフルスケールを適当数NTに分割し、分割された各エリア(1,…NT)に属するXiに対応したTiの値を求める。ここで例えばTiの平均値であるTmeanを用いて、Ti≧Tmeanである場合とTi<Tmeanである場合のXiの個数をカウントすることにより、第18図(a)の2つのヒストグラムが得られる。
各エリアを1,…,k,…,NTとし、Ti≧TmeanのXiの個数を▲U*k▼、Ti<TmeanのXiの個数を▲U**k▼とする。次に2つのヒストグラムについて各エリア毎に▲U*k▼と▲U**k▼の小さい方の値であるMIN(▲U*k▼,▲U**k▼)を求め、第18図(b)のヒストグラムを求める。このヒストグラムを本願ではANDヒストグラムと呼ぶ。ここでANDヒストグラムには第19図の3つのパターンが存在する。(a)の場合、抽出した入力値は抽出した出力値をそれ以外の出力値と完全に分離する能力を備えていることを示している。また(b)の場合、抽出した入力値は、抽出した出力値を他の出力値とともに、それ以外の出力値と分離する能力を備えている。(c)の場合には、抽出した入力は抽出した出力と無相関である。結局、抽出した入力値が抽出した出力値を弁別する能力がないのは、(c)の場合であり、それはANDヒストグラムの要素数が多く、しかもそれらが入力値のスケール全体に分散している場合である。そこで例えば要素数(ANDヒストグラムにおけるエリア番号数)と要素の分散(ヒストグラム値MIN(U*,U**)とエリア番号の積の各値と全平均値の差を2乗した総和を個数で除した値)を、抽出した入力が抽出した出力を弁別する能力の指標とできる。この値が大きいときは、ANDヒストグラムの形状は第19図(c)となり、弁別能力が少ないと判定される。この値をDij(i=1,…,p;iは入力信号セットのデータ番号、j=1,…,q;jは出力信号セットのデータ番号)とすると、各入力信号と出力信号のDijの値を用いて、第20図のテーブルが構築できる。このとき適当な臨界値(Dij)thを設定し、各入力信号について(Dij)thより小さいDijの値を2つ以上有していないものを、出力に貢献しない入力として指摘する。
次にT3の動作を説明する。冗長な入力を指摘する手法として本実施例では、他の入力信号の線形和で表わされる割合を指標とした場合を示す。この割合を与える統計量として、本実施例では寄与率R2を用いた。R2は以下の式で表わされる。
但し、
各入力信号についてR2の値を求めたとき、R2が最大の入力信号が最も冗長な入力として指摘される。統計量としてはR2の他にも残差平方和の値等種々考えられる。
入力信号の削除によりニューラルネット演算手段102の性能を低下させないため、102の性能を確認しながら入力信号を削除する方法を次に示す。まずT2で出力に貢献しない入力がいくつか指摘されると、データパス1により、これらの番号を同定手段104へ転送する。次にT3において、T2で除かれた信号以外の入力信号の中で、最もR2の大きい入力信号の番号をデータパス2により、同定手段104に伝える。S1では今回転送された信号番号とT2で転送された信号番号を除いた入力信号セットと、出力信号セットを教師信号の入力信号セットとして学習を行う。この結果構築されたネットワークを、記憶手段103から取込んだ評価用の入力信号セットと出力信号セットを用いて評価する。本実施例では出力信号セットと、入力信号セットを入力したときのニューラルネット演算模擬手段500の出力を比較した結果を、認識率として評価の指摘にすればよい。S2で性能の低下が許容範囲内であることを確認したうえで、S3でこの入力を除くことを決定する。この後データパス3で次の入力信号をニューラルネット系最適設計手段105に要求する。105は前回転送した入力信号をさらに除いた入力信号セットの組合せて同様に各入力信号のR2を算出し、最もR2が大きい入力信号の番号をデータパス2により同定手段104に送る。以下S1〜S3の演算が繰返される。S2で性能が低下した場合には、S4で前回までに除いた入力信号を削除可能と判定する。
また、第17図に示す入力信号最適化手段T*の他の実施例を第21図に示す。この手法は、次の考え方に基づいている。すなわち、ニューラルネットは、第15図の示す学習データ(入力信号セットと出力信号セットの組合せ)からパターン認識の法則を学習していく。そのため、第15図の入力信号セット(X1,X2,…Xp)の中に冗長な入力(Xi,Xj,…;1
本実施例に基づく入力信号最適化手段106は、まずT11で記憶手段103より第15図に示す学習データ(入力信号セットと出力信号セットの組合せ)を読込み、これをカテゴリー毎に分類する。カテゴリー毎に分類する方法としては、第15図に示すN個の学習データの中から出力信号セット(T1,T2,…Tq)が同じものをグループ化して、それを1つのカテゴリーとする方法を用いればよい。すなわち、例えば番号1の出力信号セット(0.99,0.01,…,0.01)と同じ出力信号セットを番号2〜Nの学習データから選択してグループ化して、それをカテゴリー1とする。次に、番号2の出力信号セット(0.01,0.09,…,0.01)と同じ出力信号セットを番号3〜Nから選択してグループ化し、それをカテゴリー2とする。以下この操作を繰り返して学習データをカテゴリー毎に分類する。T11では、T10で分類したカテゴリー毎に入力信号セット(X1,X2,…,Xp)の中のXi(i=1〜p)を変動させ、そのときのニューラルネットの出力を観測する。このとき、Xi以外の入力信号セットとしてはカテゴリーの代表値を入力する。代表値としては、下式に示すようにカテゴリー毎に分類した複数の(n(Cm)個)の入力信号セットの平均値Xjmean(j≠i,j=1〜p)を用いるか、あるいは、平均値Xjmeanに最も距離の近い入力信号セットを用いることが考えられる。
ここでn(Cm)はカテゴリーCmの学習に用いられた入力信号セットの個数である。
また、T11で観測するニューラルネットの出力は、カテゴリーCmを認識する出力ニューロンCmとそれ以外の出力ニューロンである。そして、入力信号Xiを変動させたときの出力ニューロンCmとそれ以外の出力ニューロンの各々の出力を第22図のようにグラフ化する。グラフ化した入出力特性、すなわち感度特性から、例えば第22図(a)のように出力ニューロンCmの出力値が、出力ニューロンCm以外の出力ニューロンの出力値と交差しない場合はその入力XiはカテゴリーCmの認識に影響を与えない入力であるため○と評価する。一方、第22図(b)のように出力ニューロンCmの出力値が、出力ニューロンCm以外の出力ニューロンの出力値と交差する場合はその入力XiはカテゴリーCmの認識に影響を与える入力であるため×と評価する。評価結果の○あるいは×を、例えば第23図に示すように、カテゴリーを縦の欄に、入力信号セットを横の欄にとった表の中に記入していく。カテゴリーCmについて、全ての入力信号を1つずつ変動させたときの感度特性を調べて○,×を表に記入する。カテゴリーCmが終了したら次に別のカテゴリーに対して同様に感度特性を調べて○,×を表に記入し、第23図の表(感度特性表)を完成させる。
最後に、第21図のT12では、T11で作成した感度特性表を入力信号Xi(i=1〜p)について縦方向に調べ、ほとんど全てのカテゴリーについて○となっているXiを検出し、それを削除可能な入力信号として指摘する。
削除可能と指摘された入力信号の番号iをは第17図のデータパス1あるいは2を介して同定手段104へ転送される。
前述した入力信号最適化手段の別の実施例の場合と同様に、T12から転送された信号番号を除いた入力信号セットと出力信号セットを学習データとして学習を行なう。この結果構築されたニューラルネットの認識率を評価し、入力信号を削除する前の認識率に比べて認識率の低下がないことを確認したうえで、S3でこの入力を除くことを決定する。認識率が低下した場合は、削除する前の入力信号セットに戻して終了する。この後データパス3で次に削除可能な入力信号をニューラルネット系最適設計手段105に要求する。ニューラルネット系最適設計手段105は、削除可能な入力信号を除いた入力信号セットを用いて学習したニューラルネットについて再び感度特性を取り、次に削除可能な入力信号があるかどうかを調べる。削除可能な入力信号があれば上記を繰り返し、なければ中間層ニューロン数最適化手段107に移る。
次に、T4の中間層ニューロンの最適数決定の方法を説明する。同定手段104は、S4で除かれなかった入力信号により構築されたニューラルネット演算模擬手段500に入力信号セットを次々に入力したときの、中間演算手段502の各ニューロンの出力(Y1,…,Ym)を、データパス4により、ニューラルネット系最適設計手段106に転送する。中間層ニューロン数最適化手段107は、各入力信号セットに対応したY1〜Ymの出力を統計処理し、その値から、最適なニューロン数を決定する。本実施例は各ニューロンの教師信号に対応した出力値の線形関係を演算の重複分とし、これに相当するニューロン数を除くことで最適化する手法を示す。
第24図に本手法のアルゴリズムを示す。まずS1でiを1にする。S2で転送されたY1〜Ymの値より、YiをYi+1〜Ymの線形和で近似した値を
近似式は良く知られた線形重回帰分析等により、容易に求められる。次にYiがYi+1〜Ymの線形和で記述できた割合として、Yiと
但し N :教師信号数 Yij :j番目の教師信号の入力信号セットを入力したときのi番目の中間層の出力
を計算し、SUMの値を最適なニューロン数とする。実際にはニューロン数は整数であるため、S7で値を整数化する。ニューロン数はデータパス5を通して同定手段104へ送られる。
本実施例では、各ニューロンの出力値の線形関係を定量化して抽出する手法として、統計量である寄与率と重相関係数に着目したが、各ニューロンの出力値の分散等の他統計量に着目したアルゴリズムも考えられる。また統計量でなく、各シナプスに与えられている重みWiの値を評価して求めることも考えられる。さらに本実施例では、各ニューロンの出力の重複機能分を評価するのに、出力の間の線形関係成分と非線形関係成分に着目して行ったが、重複機能分を他の成分で評価することも考えられる。またニューラルネット系最適設計手段105を入力信号最適化手段106と中間層ニューロン数最適化手段107から構成したが、必要に応じて一方のみの構成とすることもできる。入力信号最適化手段106を除いた構成の場合、第6図に示した同定手段104の処理のうちS1〜S4が省略される。また中間層ニューロン数最適化手段107を除いた構成の場合、S5〜S6が省略できる。また本実施例で入力信号最適化手段106には、入力信号の中から不要と思われるものを次々と指摘していく機能を備えたが、入力信号の内容からこれらを適当に合成することにより信号数を減らしても良い。さらに第12図に記載した各手段は同一の装置に搭載した一体型の構成としても良いし、別個の装置としてネットワーク等でデータを交換する形態としても良い。また同定手段104に備えたニューラルネット演算模擬手段500は必要に応じて省略し、ニューラルネット演算手段102を兼用して同定を行っても良い。
次の実施例として第25図に、ニューラルネット最適設計手段105の動作をユーザに報知するための表示手段1101を設けた例を示す。表示手段1101では、入力信号最適化手段106で除かれた入力の番号や、中間層ニューロン数最適化手段107で決定された中間演算手段202のニューロン数をディスプレイ等に表示する。またこの他に学習の進行状況等を合わせて表示することもできる。
本発明の次の実施例として、演算量が最小のネットワークを設計する手法を示す。第26図はこれを実現するアルゴリズムであり、本実施例では、一旦適当な構成に決定されたネットワーク(入力層ニューロン数p,中間層ニューロン数m)に対して、この構成を演算量最小化の観点からさらに最適化する例を示す。したがって本アルゴリズムは、例えば第17図のS5の後に実行すればよい。第26図において、まずS1で入力量として適当なものを1つ追加することにより、入力層のニューロンを1つ追加する。次にS2でこの条件における中間層ニューロンの最適数m*を決定する。最適数は第24図のアルゴリズムにより算出すれば良い。次にS3で、pとmの積と(p+1)とm*の積の大小関係を比較する。p×m>(p+1)×m*のとき、入力層ニューロンと出力層ニューロンの積を減少させられ、したがってこれらの間の接続シナプス数が減少させられることになる。この場合にはS5で、p+1をp,m*をmと置いた後、S1に戻り、以上の処理を繰返す。S3で、p×m>(p+1)×m*ではないとき、演算量の更なる最小化を図ることはできないため、入力層ニューロン数p,中間層ニューロン数mのネットワークを最終的な構成に決定する。
本実施例では、入力層のニューロン数と中間層のニューロン数の積を最小化したが、さらに出力層のニューロン数を乗じた値を最小化することもできる。
本実施例の次の実施例として、第27図にユーザにより与えられた学習精度で学習を打切る手法を示す。N個の学習サンプルによる学習において、S1でこれらのおのおのにおける出力層ニューロンの出力値と教師信号との差分(エラー)が所定の範囲(eth)以下に収まっているかどうかを調べる。そしてN個の学習サンプルのうち、
を満足するもののパーセンテージを算出する。S2でこのパーセンテージがユーザにより指定された値以下かどうかの判定を行う。以上の場合にはS3で学習を打切る。パーセンテージに達していないときにはS4で学習を継続する。本アルゴリズムは、学習中に適当なタイミング(通常学習は再帰的に行われるため、例えばN個の学習サンプルに対する演算が一区切りしたタイミング等)で実行し、学習の終了もしくは継続を判定する。
本発明の次の実施例として、第1図の条件指定として学習時間が指定された場合のネットワーク設計手法を示す。ここでは、学習アルゴリズムとしてバックプロパゲーションアルゴリズム(例えば、『ニューラルコンピュータ』(東京電機大学出版局,合原一幸著)のp110〜113参照)を用いる場合について述べるがこれに限定されるものではない。
バックプロパゲーションアルゴリズムによる1つのシナプス結合の重みの修正に要する時間Tは、そのアルゴリズムを実行する手段(プログラムあるいはハードウェア)によって決まってしまう。また、ニューラルネットの全てのシナプス結合の重みを出力層から入力層に向って1回だけ修正する時間は、ニューラルネットのシナプス結合の総数(以下、結合総数と呼ぶ)に比例する。
したがって、ニューラルネットの学習時間LTは、出力層から入力層に向って重みを修正する回数(ここでは学習回数と呼ぶ)と結合総数を用いて、次式で表現することができる。
LT=T×(結合総数)×(学習回数) ……(44)
したがって、学習時間LTが指定された場合、重みの修正時間Tは既知であるので、結局結合総数と学習回数をLT以内に納まるように決定すればよい。決定する戦略としては、結合総数学習回数とも小さくなるように選ぶことが考えられる。第28図は、本実施例を実現する装置構成であり、第29図は第28図の装置で実行されるアルゴリズムである。第28図の装置構成は第12図の装置構成とほとんど同一であるが、第28図では同定手段104から記憶手段103に向う信号を付加した所が特徴となっている。以下、第29図のアルゴリズムに従って説明する。第29図のアルゴリズムは同定手段104で実行され、T20とT21の機能からなる。T20は、結合総数を小さく選ぶ方法であり、そのために入力信号の中に冗長な入力がないかを検出する。検出手段としては、第17図の入力信号最適化手段106の機能T3を用いればよい。冗長な入力信号が含まれていないことがわかっている場合は、学習時間LTをオペレータが指定するときに入力信号の冗長性の検出を行わないことを指定すればよい。
次に、T21では学習回数を少なくする。学習回数を決定する要因は、前述した学習精度の他に学習データの個数,重みの初期値、重みの修正式に用いられる学習定数(η)、安定化定数(α)などがあるが、これらのデータと学習回数との間に明確な関係式は現在ない。そこで、これらのデータと学習回数との関係を、例えば第30図に示すような学習回数データベースとして同定手段104から記憶手段103に登録するようにした。
T20で結合総数が決まれば、(44)式より学習回数が決まる。そこで、同定手段104は記憶手段103から学習回数データベースを読み込み、(44)式で求めた学習回数に近いものを探索する。近いものがあれば、そのときの学習データの精度や学習データの個数などのパラメータを選択してニューラルネット演算手段102を用いて学習を行う。但し、学習データの個数は記憶手段103に格納されている学習データの個数と一致しない場合が発生する。学習回数データベースから得られた学習データの個数が、記憶手段103に格納されている実学習データの個数より小さい場合は、実学習データから選択する必要がある。この選択方法としては、各カテゴリー毎にほぼ同数となるように実学習データから無作為に抽出する方法、あるいは各カテゴリー毎に入力信号の分布を求め分布に比例して抽出する方法などが考えられる。
一方、(44)式で求めた学習回数に近いものが、学習回数データベースにない場合は、学習回数データベースの内容から推測して、学習精度,学習データ個数などのパラメータを決めればよい。このとき、実学習データ個数とに違いが出れば、前述した選択方法で実学習データから選択すればよい。
第30図の学習回数データベースには、当然のことであるが、本発明の装置を用いて学習を行う毎に追加が行われる。
第30図のデータベースに、ニューラルネットを構築するのに要した学習時間,ニューラルネットの規模(例えばシナプス結合の総数など)も登録することも可能である。この場合は、条件指定された学習時間で直接データベースを参照して、学習に必要なパラメータを推定することができる。
本発明の次の実施例として、第31図にニューラルネット構築装置101に、ニューラルネット演算手段102の性能が所望でないときにこれを再構築する手段を追加した例を示す。ニューラルネット再構築手段1401は、性能評価手段1402,教師データ更新手段1403,再構築指令発生手段1404からなる。性能評価手段1402はニューラルネット演算手段102が取込んだ入力と、この入力に対する演算結果である出力を取込み、出力が入力に対応した所望の値であるかどうかを評価する。評価はユーザが望ましい出力値を提示し、この値とニューラルネット演算手段102との出力との差分を検出すれば容易に行える。評価結果が所望のレベルに達していないとき、性能評価手段1402により教師データ更新手段1403が信号1により駆動され、差分の大きかった入力と、これに対応した望ましい出力の組合せを追加することで、記憶手段103の内容を更新する。このとき既に記憶手段103に蓄えられている入力のうち追加した入力に近い値の入力と、これに対応した出力の組を削除する等の操作を、さらに行っても良い。この後再構築指令発生手段1404に、記憶手段103の更新が終了したことを信号2により伝えると、再構築指令発生手段1404はニューラルネット系最適設計手段105を再起動する信号を、信号3により提示する。ニューラルネット系最適設計手段105は、前述した処理を再度行うことにより、ニューラルネット演算手段102の構成の最適化を行う。
次に本発明で与えられたニューラルネット演算手段102が、各種システムに組込まれた例を示す。第32図は制御システムの制御ループの中に本装置が組込まれた例である。ニューラルネット演算手段102は、制御対象1201からの帰還信号を入力値とし、制御対象1201を駆動するための信号を出力する。
第33図はニューラルネット演算手段102を、制御系1301のチューニング手段として用いた例である。102は制御対象1201からの帰還信号や、他のセンサからの信号を入力信号とし、制御系1301にとって最適な制御仕様や各部の制御定数を出力信号とする。
第34図は制御対象1201に与える目標値の発生部に適用した例である。ニューラルネット演算手段102は、制御対象1201からの帰還信号や各種センサの信号を入力とし、制御対象1201に与える最適な目標値を出力信号とする。この出力信号は制御対象1201からの対応した帰還信号と比較され、これらの偏差に対応した値が制御1401に入力される。1401はこれらの値を基に制御対象1201に出力する信号を演算により求める。帰還信号との比較は必要に応じて省略し、フィードフォワード制御を行っても良い。
尚、上記制御対象としては、例えば圧延機,発電プラント等をいう。
第35図は認識装置に適用した実施例である。ニューラルネット演算手段102は、認識対象1501からの情報を入力信号とし、認識結果を出力信号とする。認識対象1501としては、数字,文字,音声,人の顔,人間の性別,物体の色やりんかく等、種々考えられる。認識結果は例えば数字の場合、認識結果表示装置1502においてランプで明示することもできるし、ディスプレイや音声出力装置で表示してもよい。
〔発明の効果〕
以上説明した本発明の実施例の効果を説明する。
(イ) ニューラルネットの構築方法 従来ブラックボックスとしてしか扱えなかったニューラルネットが、本発明を実施することにより解析的に構築でき、しかも誤認識のおこりにくい構成とすることができる。
入力信号最適化手段を設けたことにより、ニューラルネット演算装置へ入力すべき信号を最小数の組合せに最適化できる。また中間層ニューロン数最適化手段を設けたことで、中間演算手段のニューロン数が最適な値に自動設定できる。以上2つの手段を設けたことにより、ニューラルネット演算手段の構成を簡易な演算で必要最小にできるので、従来行われていた試行錯誤的なシミュレーションを省略できる。またこれをハードで実現した場合には小型,安価,低工数となり、ソフトで実現した場合には、高応答の装置が提供される。
また決定されたニューロン数等のニューラルネット構築装置の演算内容を表示する手段を設けたことにより、ユーザインターフェイスが向上できる。
(ロ) ニューラルネットの重みのチューニング方法 従来誤認識が生じたとき、誤認識が生じたデータを追加して再学習する方法しかなかったが、本発明を実施することにより、できあがったニューラルネットの重みをチューニングすることにより誤認識が解消できる。
(ハ) ニューラルネット再構築方法 ニューラルネット再構築手段を設けたことにより、ニューラルネットの性能を装置の稼動状況を把握しながら、随時向上させられる。したがって装置の適用対象が経年変化等により動的に特性を変える場合においても、本発明を問題なく適用できる。また完全な教師データを事前に揃えておかなくて良いので、システム立上げが高速化される。
(ニ) 学習の高速化 従来広く用いられている逆伝播法は、教師データを一個ずつ処理するために極めて収束が悪かったが本発明を実施することにより、高速化が可能となる。またその他の学習方法についても本発明を実施することにより高速化が可能である。
本発明をパターン認識予測等の種々なシステムに適用する際、ニューラルネットワークの解析が行なえるため、誤認識誤った予測等に強くかつ誤認識誤った予測等が生じたとき容易に対応することが可能となる。
具体的なアプリケーションの例として車番認識システムにおける例を第36図に示す。図において車のナンバープレートは、工業用テレビで画像認識装置に取りこまれる。画像認識装置では、ナンバープレートの切り出しを行ない、その中から文字を1つずつ切り出し、文字画の特徴量を抽出する。抽出された特徴量は、ニューラルネットワークに入力され、その識別結果が出力される。
このニューロンの学習及び誤認識が生じたときのパラメータのチューニング及びネットワークの再構成に本発明を実施することにより、誤認識に強くかつ高速な学習を実現することが可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例、第2図は、ニューラルネットの構成図、第3図はシグモイド関数を示した図、第4図R>図は、収束判定条件を説明した図、第5図は、2次元データのパターン分離の例、第6図は、第5図のパターンを分離するニューラルネットを示した図、第7図は、最適化の手段を示した図、第8図は、ニューラルネットワークを構成する方法を説明した図、第9図は重みのチューニング法を説明した図、第10図は学習の高速化を説明した図、第11図は第10図の方法で学習した例を示す図、第12図は本発明の他の一実施例の構成図、第13図乃至第14図は、ニューラルネット演算の説明図、第15図は教師信号の例、第16図は同定手段の説明図、第17図はアルゴリズム、第18図乃至第20図は入力信号最適化手段の処理の説明図、第21図は入力信号最適化手段の別の実施例、第22図乃至第23図は、第21図の方式を説明した図、第24図は、アルゴリズム、第25図は構成図、第26図は、演算量最小の条件でネットを構成する実施例、第27図は学習精度を条件として、ネットを構成する実施例、第28図は指定演算時間内にネットを構成する実施例、第29図乃至第30図は、第28図の方式を説明する図、第31図はネットを再構築する実施例、第32図乃至第35図は本発明を適用したシステムの構成図、第36図は車番認識に適用した例である。
11……ニューラルネットを構築するステップ、12……パラメータをチューニングするステップ、101……ニューラルネット構築装置、102……ニューラルネット演算手段、103……記憶手段、104……同定手段、105……ニューラルネット系最適設計手段、106……入力信号最適化手段、107……中間層ニューロン数最適化手段、1101……表示手段。
【特許請求の範囲】
【請求項1】入力データに対する望ましい出力データを教師データとし、いくつかの教師データの入出力データをいくつかのニューロンを多層に接続したニューラルネットに記憶させるニューラルネット構築装置において、前記入力データに含まれる複数の信号の中から、ネットワークの性能に与える影響の少ない信号を検出して、入力信号を最適化する入力信号最適化手段を有し、前記入力信号最適化手段は、前記入力データと前記出力データの相関関係を評価し、入力データに含まれる各信号のうち出力データの決定に貢献していないものを指摘する機能と、前記入力データの各信号の線形関係を評価し、他の信号により良好に線形近似できるものを冗長な信号として指摘する機能を備えたことを特徴とするニューラルネット構築装置。
【請求項2】請求項1に記載のニューラルネット構築装置において、入力層と中間層の間の各ニューロン結線に設定された重み係数を、入力パターンを分離する方程式の係数に設定し、前期中間層のニューロン数を最適値に設定する中間層ニューロン数最適設定手段を有すことを特徴とするニューラルネット構築装置。
【請求項3】請求項1に記載のニューラルネット構築装置において、入力層と中間層の間の各ニューロン結線に設定された重み係数を、入力パターンを分離する方程式の係数に設定し、入力層のニューロン数と中間層のニューロン数との積を最小化するニューラルネット系最適設計手段を設けたことを特徴とするニューラルネット構築装置。
【請求項1】入力データに対する望ましい出力データを教師データとし、いくつかの教師データの入出力データをいくつかのニューロンを多層に接続したニューラルネットに記憶させるニューラルネット構築装置において、前記入力データに含まれる複数の信号の中から、ネットワークの性能に与える影響の少ない信号を検出して、入力信号を最適化する入力信号最適化手段を有し、前記入力信号最適化手段は、前記入力データと前記出力データの相関関係を評価し、入力データに含まれる各信号のうち出力データの決定に貢献していないものを指摘する機能と、前記入力データの各信号の線形関係を評価し、他の信号により良好に線形近似できるものを冗長な信号として指摘する機能を備えたことを特徴とするニューラルネット構築装置。
【請求項2】請求項1に記載のニューラルネット構築装置において、入力層と中間層の間の各ニューロン結線に設定された重み係数を、入力パターンを分離する方程式の係数に設定し、前期中間層のニューロン数を最適値に設定する中間層ニューロン数最適設定手段を有すことを特徴とするニューラルネット構築装置。
【請求項3】請求項1に記載のニューラルネット構築装置において、入力層と中間層の間の各ニューロン結線に設定された重み係数を、入力パターンを分離する方程式の係数に設定し、入力層のニューロン数と中間層のニューロン数との積を最小化するニューラルネット系最適設計手段を設けたことを特徴とするニューラルネット構築装置。
【第1図】
【第2図】
【第8図】
【第9図】
【第3図】
【第4図】
【第7図】
【第20図】
【第5図】
【第6図】
【第11図】
【第15図】
【第10図】
【第12図】
【第13図】
【第14図】
【第16図】
【第17図】
【第19図】
【第18図】
【第22図】
【第24図】
【第32図】
【第21図】
【第30図】
【第23図】
【第25図】
【第27図】
【第26図】
【第29図】
【第33図】
【第35図】
【第28図】
【第34図】
【第31図】
【第36図】
【第2図】
【第8図】
【第9図】
【第3図】
【第4図】
【第7図】
【第20図】
【第5図】
【第6図】
【第11図】
【第15図】
【第10図】
【第12図】
【第13図】
【第14図】
【第16図】
【第17図】
【第19図】
【第18図】
【第22図】
【第24図】
【第32図】
【第21図】
【第30図】
【第23図】
【第25図】
【第27図】
【第26図】
【第29図】
【第33図】
【第35図】
【第28図】
【第34図】
【第31図】
【第36図】
【特許番号】特許第3329806号(P3329806)
【登録日】平成14年7月19日(2002.7.19)
【発行日】平成14年9月30日(2002.9.30)
【国際特許分類】
【出願番号】特願平2−302440
【出願日】平成2年11月9日(1990.11.9)
【公開番号】特開平4−175964
【公開日】平成4年6月23日(1992.6.23)
【審査請求日】平成9年11月7日(1997.11.7)
【出願人】(999999999)株式会社日立製作所
【参考文献】
【文献】特開 平2−235170(JP,A)
【文献】特開 平3−83157(JP,A)
【文献】特開 平2−308359(JP,A)
【文献】特開 平1−263859(JP,A)
【文献】特開 平2−294768(JP,A)
【文献】特開 平1−183763(JP,A)
【文献】特開 平3−48363(JP,A)
【文献】甘利俊一,「認知科学選書22 神経回路網モデルとコネクショニズム」,日本,財団法人東京大学出版会・発行,1989年,初版,pp.123−129
【登録日】平成14年7月19日(2002.7.19)
【発行日】平成14年9月30日(2002.9.30)
【国際特許分類】
【出願日】平成2年11月9日(1990.11.9)
【公開番号】特開平4−175964
【公開日】平成4年6月23日(1992.6.23)
【審査請求日】平成9年11月7日(1997.11.7)
【出願人】(999999999)株式会社日立製作所
【参考文献】
【文献】特開 平2−235170(JP,A)
【文献】特開 平3−83157(JP,A)
【文献】特開 平2−308359(JP,A)
【文献】特開 平1−263859(JP,A)
【文献】特開 平2−294768(JP,A)
【文献】特開 平1−183763(JP,A)
【文献】特開 平3−48363(JP,A)
【文献】甘利俊一,「認知科学選書22 神経回路網モデルとコネクショニズム」,日本,財団法人東京大学出版会・発行,1989年,初版,pp.123−129
[ Back to top ]