JP3582737B2 - 信号処理装置 - Google Patents
信号処理装置 Download PDFInfo
- Publication number
- JP3582737B2 JP3582737B2 JP07313594A JP7313594A JP3582737B2 JP 3582737 B2 JP3582737 B2 JP 3582737B2 JP 07313594 A JP07313594 A JP 07313594A JP 7313594 A JP7313594 A JP 7313594A JP 3582737 B2 JP3582737 B2 JP 3582737B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- pulse train
- coupling coefficient
- pulse
- output
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 50
- 238000010168 coupling process Methods 0.000 claims description 154
- 238000005859 coupling reaction Methods 0.000 claims description 154
- 230000008878 coupling Effects 0.000 claims description 153
- 210000002569 neuron Anatomy 0.000 claims description 120
- 230000015654 memory Effects 0.000 claims description 56
- 230000014509 gene expression Effects 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 42
- 230000003278 mimic effect Effects 0.000 claims description 38
- 238000005316 response function Methods 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 230000036755 cellular response Effects 0.000 claims description 18
- 230000003111 delayed effect Effects 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 230000001105 regulatory effect Effects 0.000 claims description 5
- 210000003061 neural cell Anatomy 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims 2
- 230000002964 excitative effect Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 30
- 230000002401 inhibitory effect Effects 0.000 description 29
- 238000000034 method Methods 0.000 description 25
- 238000004364 calculation method Methods 0.000 description 24
- 206010001497 Agitation Diseases 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 230000001629 suppression Effects 0.000 description 11
- 210000000225 synapse Anatomy 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 210000005056 cell body Anatomy 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 210000001787 dendrite Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Description
【産業上の利用分野】
本発明は、文字や図形認識、或いはロボットなどの運動制御、さらには、連想記憶などに適用可能な、神経回路網を模倣したニューラルコンピュータ等の信号処理装置に関する。
【0002】
【従来の技術】
生体の情報処理の基本的な単位である神経細胞(ニューロン)の機能を模倣し、さらに、この「神経細胞模倣素子」をネットワークにし、情報の並列処理を目指したのが、いわゆるニューラルネットワークである。文字認識や、連想記憶、運動制御等、生体ではいとも簡単に行われていても、従来のノイマン型コンピュータではなかなか達成しないものが多い。そこで、生体の神経系、特に生体特有の機能、即ち、並列処理、自己学習等を模倣して、これらの問題を解決しようとする試みが盛んに行われている。しかしながら、これらの試みは計算機シミュレーションで行われているものが多く、本来の機能を発揮させるためには、並列処理が必要であり、そのためにはニューラルネットワークのハードウエア化が必要である。一部では、既にハードウエア化の試みもなされているが、ニューラルネットワークの特徴の一つである自己学習機能が実現できず、大きなネックとなっている。また、殆どのものはアナログ回路で実現されており、動作の点で問題がある。
【0003】
これらの点について、さらに詳細に検討する。まず、従来のニューラルネットワークのモデルについて説明する。図44はある1つの神経細胞ユニット(神経細胞模倣素子)1を表すもので、図45はこれをネットワークにしたものである。即ち、1つの神経細胞ユニット1は多数の他の神経細胞ユニット1と結合し信号を受け、それを処理して出力を出す。図45の場合、ネットワークは階層型であり、1つ前(左側)の層のユニットより信号を受け、1つ先(右側)の層のユニットへ出力する。
【0004】
ここで、図44の神経細胞ユニット1において、他の神経細胞ユニットと自分の神経細胞ユニットとの結合の度合いを表すのが結合係数と呼ばれるもので、i番目のユニットとj番目のユニットとの結合係数を、一般にTijで表す。結合には、相手のユニットからの信号が大きいほど自分の出力が大きくなる興奮性結合と、逆に、相手のユニットの信号が大きいほど自分の出力が小さくなる抑制性結合とがあるが、Tij>0が興奮性結合、Tij<0が抑制性結合を表す。自分がj番目のユニットの時、i番目のユニットからの入力をyi とすると、これに結合係数Tijを掛けたTijyi が自分のユニットへの入力となる。前述したように、各ユニットは多数のユニットと結合しているので、それらのユニットに対する
Tijyi を足し合わせた結果なるΣTijyi が、自分のユニットへの入力となる。これを内部電位といい、(1)式のようにuj
uj =ΣTijyi ……………………(1)
で表す。
【0005】
次に、この入力に対して、非線形な処理をして出力とする。この時の関数を神経細胞応答関数と呼び、非線形関数として、(2)式及び図46に示すようなシグモイド関数を用いる。
【0006】
【数1】
【0007】
図45に示すようにネットワークにした時には、各結合係数Tijを与え、(1)(2)式を次々と計算することにより、最終的な出力が得られるものである。
【0008】
一方、このようなネットワークを電気回路で実現したものの一例として、図47に示すようなものがある。これは、特開昭62−295188号公報中に示されるもので、基本的には、S字形伝達関数を有する複数の増幅器2と、各増幅器2の出力を他の層の増幅器の入力に一点鎖線で示すように接続する抵抗性フィードバック回路網3とを設けたものである。各増幅器2の入力側には接地されたコンデンサと接地された抵抗とによるCR時定数回路4が個別に接続されている。そして、入力電流I1,I2,〜,IN が各増幅器2の入力に供給され、出力はこれらの増幅器2の出力電圧の集合から得られる。
【0009】
ここに、入力や出力の信号の強度を電圧で表し、神経細胞間の結合の強さは、各細胞間の入出力ラインを結ぶ抵抗5(抵抗性フィードバック回路網3中の格子点)の抵抗値で表され、神経細胞応答関数は各増幅器2の伝達関数で表される。また、神経細胞間の結合には、前述のように興奮性結合と抑制性結合とがあり数学的には結合係数の正負符号により表される。しかし、回路上の定数で正負を実現するのは困難であるので、ここでは、増幅器2の出力を2つに分け、一方の出力を反転させることにより、正負の2つの信号を生成し、これを適当に選択することにより実現するようにしている。また、図46に示したシグモイド関数に相当するものとしては増幅器が用いられている。
【0010】
しかし、これらの回路には、
▲1▼ ネットワーク内部での信号の強度を電位や電流などのアナログ値で表し、内部の演算もアナログ的に行わせるため、温度特性や電源投入直後のドリフト等により、その値が変化してしまう。
▲2▼ ネットワークであるので、素子の数も多く必要とするが、各々の特性を揃えることは困難である。
▲3▼ 1つの素子の精度や安定性が問題となったとき、それをネットワークにした場合、新たな問題を生ずる可能性があり、ネットワーク全体で見たときの動きが予想できない。
▲4▼ 結合係数Tijの値が固定であり、予めシミュレーションなどの他の方法で学習させた値を使うしかなく、自己学習ができない。
といった問題点がある。
【0011】
一方、数値計算で用いられている学習法則としては、バックプロパゲーションと呼ばれる下記のようなものがある。
【0012】
まず、各結合係数は最初にランダムに与えておく。この状態で、入力を与えると、出力結果は必ずしも望ましいものとはならない。例えば、文字認識の場合、手書きの「1」の文字を与えたとすると、出力結果として「この文字は『1』である」と出るのが望ましい結果であるが、結合係数がランダムであると必ずしも望ましい結果とはならない。そこで、このネットワークに正解(教師信号)を与えて、再び、同じ入力があったとき正解となるように各結合係数を変化させる。このとき、結合係数を変化させる量を求めるアルゴリズムが、バックプロパゲーションと呼ばれているものである。
【0013】
例えば、図45に示した階層型のネットワークにおいて、最終層のj番目の神経細胞ユニットの出力をyjとし、その神経細胞ユニットに対する教師信号をdjとすると、(3)式で表されるE
E=Σ(dj −yj )2 ……………………(3)
が最小となるように、(4)式を用い、
ΔTij =∂E/∂Tij ……………………(4)
結合係数Tijを変化させる。
【0014】
さらに具体的には、まず、出力層と、その1つ前の層との結合係数を求める場合には、(5)式を用いて誤差信号δを求め、
δj = ( dj − yj )× f′(uj ) ……(5)
それよりさらに前の層同士の結合係数を求める場合には、(6)式を用いて誤差信号δを求め、
δj = ΣδiTij × f′(uj ) ………(6)
(7)式を求め、
ΔTij = η(δjyi)+ αΔTij′
Tij = Tij′+ ΔTij ……………(7)
Tijを変化させる。
ここに、ηは学習定数、αは安定化定数と呼ばれるものである。各々論理的には求められないので、経験的に求める。また、f′はシグモイド関数fの1階微分関数、ΔTij′,Tij′は前回学習時の値である。
【0015】
このようにして学習をし、その後、再び入力を与えて出力を計算し、学習をする。この操作を何回も繰返す内に、やがて、与えられた入力に対して望ましい結果が得られるような結合係数Tijが決定される。
【0016】
ところが、このような学習方法を何らかの方法でハードウエア化しようとした場合、学習には、多量の四則演算が必要であり、実現が困難である。学習方法そのものもハードウエア化に対しては不向きである。
【0017】
一方、デジタル回路でニューラルネットワークを実現したものの例を図48ないし図50を参照して説明する。図48は単一の神経細胞の回路構成を示し、各シナプス回路6を樹状突起回路7を介して細胞体回路8に接続してなる。図49はその内のシナプス回路6の構成例を示し、係数回路9を介して入力パルスfに倍率a(フィードバック信号に掛ける倍率で、1又は2)を掛けた値が入力されるレートマルチプライヤ10を設けてなり、レートマルチプライヤ10には重み付けの値wを記憶したシナプス荷重レジスタ11が接続されている。また、図50は細胞体回路8の構成例を示し、制御回路12、アップ/ダウンカウンタ13、レートマルチプライヤ14及びゲート15を順に接続してなり、さらに、アップ/ダウンメモリ16が設けられている。
【0018】
これは、神経細胞ユニットの入出力をパルス列で表し、そのパルス密度で信号の量を表している。結合係数は2進数で表し、メモリ16上に保存しておく。入力信号をレートマルチプライヤ14のクロックへ入力し、結合係数をレート値へ入力することによって、入力信号のパルス密度をレート値に応じて減らしている。これは、バックプロパゲーションモデルの式のTijyi の部分に相当する。次に、ΣTijyi のΣの部分は、樹状突起回路7によって示されるOR回路で実現している。結合には興奮性、抑制性があるので、予めグループ分けしておき、各々のグループ別にORをとる。この2つの出力をカウンタ13のアップ側、ダウン側に入力しカウントすることで出力が得られる。この出力は2進数であるので、再びレートマルチプライヤ14を用いて、パルス密度に変換する。このユニットをネットワークにすることによって、ニューラルネットワークが実現できる。学習については、最終出力を外部のコンピュータに入力してコンピュータ内部で数値計算を行い、その結果を結合係数のメモリ16に書込むことにより実現している。従って、自己学習機能は全くない。また、回路構成もパルス密度の信号をカウンタを用いて一旦数値(2進数)に変換し、その後、再びパルス密度に変換しており、複雑なものとなっている。
【0019】
このように従来技術による場合、アナログ回路方式では動作に確実性がなく、数値計算による学習方法も計算が複雑であり、ハードウエア化に適さず、動作が確実なデジタル方式のものは回路構成が複雑である。また、ハードウエア上で自己学習ができないという欠点もある。
【0020】
このような欠点を解消するため、パルス密度型の学習機能付きニューロンモデルが特開平4−549号公報(フォワードプロセスの基本)、特開平4−111185号公報(学習プロセスの基本)等として本出願人により提案されている。
【0021】
【発明が解決しようとする課題】
ところで、このようなニューラルネットワークにおける学習時において、誤差信号の演算には、ニューロンからの出力信号を内部電位で微分した微係数が用いられるが、上述した基本的な提案例では、この微係数が一定値として扱われている。この結果、学習能力が必ずしも高いものとはなっておらず、改善の余地がある。
【0022】
【課題を解決するための手段】
請求項1記載の発明では、結合係数可変手段と、この結合係数可変手段の可変結合係数値を教師信号に対する正の誤差信号と負の誤差信号とに基づいて生成する結合係数生成手段とを有する自己学習手段を付設した複数の神経細胞模倣ユニットを網状に接続して回路網を形成した信号処理装置において、前記正、負の誤差信号の生成のために神経細胞模倣ユニットからの出力信号に基づき2種類の神経細胞応答関数の微係数を算出する微係数算出手段を設けた。
【0023】
この際、請求項2記載の発明では、神経細胞模倣ユニットからの出力信号をパルス列で表現するものとし、この神経細胞模倣ユニットからの出力信号を所定時間遅延させた遅延信号と前記出力信号の否定信号との論理積を一方の神経細胞応答関数の微係数とし、前記神経細胞模倣ユニットからの出力信号の否定信号を所定時間遅延させた遅延信号と前記出力信号との論理積を他方の神経細胞応答関数の微係数とする微係数算出手段を設けた。
【0024】
加えて、請求項3記載の発明では、結合係数の値をパルス列表現で保存するメモリと、このメモリ上の結合係数のパルス列のパルス並びを一定時間毎に変更するパルス並び変更手段とを有するものとした。即ち、神経細胞模倣ユニットからの出力信号をパルス列で表現するものとし、かつ、結合係数の値をパルス列表現で保存するメモリと、このメモリ上の結合係数のパルス列のパルス並びを一定時間毎に変更するパルス並び変更手段とを有するものとした上で、前記神経細胞模倣ユニットからの出力信号を所定時間遅延させた遅延信号と前記出力信号の否定信号との論理積を一方の神経細胞応答関数の微係数とし、前記神経細胞模倣ユニットからの出力信号の否定信号を所定時間遅延させた遅延信号と前記出力信号との論理積を他方の神経細胞応答関数の微係数として算出する微係数算出手段を設けた。さらに、請求項4記載の発明では、結合係数の値をパルス列表現に変換する変換手段を有するものとした。
【0025】
一方、請求項5記載の発明では、請求項1記載の発明に加えて、微係数算出手段により算出される2種類の微係数がともに0とならないように規制する微係数規制手段を設けた。即ち、正、負の誤差信号の生成のために神経細胞模倣ユニットからの出力信号に基づき2種類の神経細胞応答関数の微係数を算出する微係数算出手段を設けるとともに、この微係数算出手段により算出される2種類の微係数がともに0とならないように規制する微係数規制手段を設けた。
【0026】
同様に、請求項6記載の発明では、請求項2,3又は4記載の発明に加えて、微係数算出手段により算出される2種類の微係数のパルス密度がともに0とならないように規制する微係数規制手段を設けた。
【0027】
即ち、神経細胞模倣ユニットからの出力信号をパルス列で表現するものとし、この神経細胞模倣ユニットからの出力信号を所定時間遅延させた遅延信号と前記出力信号の否定信号との論理積を一方の神経細胞応答関数の微係数とし、前記神経細胞模倣ユニットからの出力信号の否定信号を所定時間遅延させた遅延信号と前記出力信号との論理積を他方の神経細胞応答関数の微係数として算出する微係数算出手段を設けるとともに、この微係数算出手段により算出される2種類の微係数のパルス密度がともに0とならないように規制する微係数規制手段を設けた。
【0028】
或いは、神経細胞模倣ユニットからの出力信号をパルス列で表現するものとし、かつ、結合係数の値をパルス列表現で保存するメモリと、このメモリ上の結合係数のパルス列のパルス並びを一定時間毎に変更するパルス並び変更手段とを有するものとした上で、前記神経細胞模倣ユニットからの出力信号を所定時間遅延させた遅延信号と前記出力信号の否定信号との論理積を一方の神経細胞応答関数の微係数とし、前記神経細胞模倣ユニットからの出力信号の否定信号を所定時間遅延させた遅延信号と前記出力信号との論理積を他方の神経細胞応答関数の微係数として算出する微係数算出手段を設けるとともに、この微係数算出手段により算出される2種類の微係数のパルス密度がともに0とならないように規制する微係数規制手段を設けた。
【0029】
また、請求項7記載の発明では、請求項6記載の発明における微係数規制手段を、予め設定されたパルス密度のパルス列を生成するパルス列生成手段と、このパルス列生成手段により生成されたパルス列と神経細胞模倣素子の出力パルス列との論理和を演算する演算手段とにより構成した。ここに、請求項8記載の発明では、この請求項7記載の発明におけるパルス列生成手段を、乱数生成装置と、この乱数生成装置から出力される乱数と所定の閾値とを比較してパルス列を出力する比較器とにより構成した。さらに、請求項9記載の発明では、請求項8記載の発明における乱数生成装置をリニアフィードバックシフトレジスタとした。
【0030】
請求項10記載の発明では、請求項1又は2記載の発明において、結合係数の値を2進数で保存するメモリと、リニアフィードバックシフトレジスタよりなる乱数生成装置及び前記メモリに保存された結合係数の値を前記乱数生成装置により生成された乱数と比較してパルス列表現の結合係数を出力する比較器を備えた数値・パルス列変換装置とを有するものとした。
【0031】
即ち、結合係数可変手段と、この結合係数可変手段の可変結合係数値を教師信号に対する正の誤差信号と負の誤差信号とに基づいて生成する結合係数生成手段とを有する自己学習手段を付設した複数の神経細胞模倣ユニットを網状に接続して回路網を形成した信号処理装置において、前記正、負の誤差信号の生成のために神経細胞模倣ユニットからの出力信号に基づき2種類の神経細胞応答関数の微係数を算出する微係数算出手段を設けるとともに、結合係数の値を2進数で保存するメモリと、リニアフィードバックシフトレジスタよりなる乱数生成装置及び前記メモリに保存された結合係数の値を前記乱数生成装置により生成された乱数と比較してパルス列表現の結合係数を出力する比較器を備えた数値・パルス列変換装置とを設けた。
【0032】
又は、結合係数可変手段と、この結合係数可変手段の可変結合係数値を教師信号に対する正の誤差信号と負の誤差信号とに基づいて生成する結合係数生成手段とを有する自己学習手段を付設した複数の神経細胞模倣ユニットを網状に接続して回路網を形成した信号処理装置において、神経細胞模倣ユニットからの出力信号をパルス列で表現するものとした上で、この神経細胞模倣ユニットからの出力信号を所定時間遅延させた遅延信号と前記出力信号の否定信号との論理積を一方の神経細胞応答関数の微係数とし、前記神経細胞模倣ユニットからの出力信号の否定信号を所定時間遅延させた遅延信号と前記出力信号との論理積を他方の神経細胞応答関数の微係数として前記正、負の誤差信号の生成のために神経細胞模倣ユニットからの出力信号に基づき2種類の神経細胞応答関数の微係数を算出する微係数算出手段を設けるとともに、結合係数の値を2進数で保存するメモリと、リニアフィードバックシフトレジスタよりなる乱数生成装置及び前記メモリに保存された結合係数の値を前記乱数生成装置により生成された乱数と比較してパルス列表現の結合係数を出力する比較器を備えた数値・パルス列変換装置とを設けた。
【0033】
【作用】
学習時の誤差信号の演算には、神経細胞模倣ユニットからの出力信号を内部電位で微分してなる神経細胞応答関数の微係数が必要となるが、請求項1ないし4記載の発明においては、正、負の誤差信号に対応させて微係数算出手段により2種類の微係数を算出して用いるようにしたので、適正な誤差信号が得られ、より高い学習能力を持つものとなる。
【0034】
また、数値演算における神経細胞模倣ユニットの出力関数にはシグモイド関数を用いており、その微係数は限りなく0に近づくものの、完全に0にはならない。このような点に着目し、請求項5又は6記載の発明においては、微係数規制手段により微係数算出手段による微係数又はそのパルス密度が0とはならないようにしたので、学習が途中で止まってしまうようなことがなくなり、十分に学習機能を発揮させることができる。
【0035】
このような作用をなす微係数規制手段も、請求項7ないし9記載の発明のように構成することで容易に実現できる。
【0036】
また、請求項10記載の発明においては、結合係数の値を2進数の形態でメモリに保存し、数値・パルス列変換装置でパルス列に変換して出力するので、結合係数の保存が容易であるとともに、処理する段階ではパルス列で扱うので結合係数の処理も容易であり、より実際の装置に近い形の具体的なものとなる。
【0037】
【実施例】
請求項1ないし4記載の発明の一実施例を図1ないし図32に基づいて説明する。本発明における学習機能付きのニューロン(神経細胞模倣ユニット)の基本構成としては、前述したような既提案例による構成・作用を持つものが好適であるので、本発明の要旨を含めつつ、図1ないし図30によりその構成・作用から説明する。既提案例による自己学習機能を持つデジタル論理回路を用いたニューロン素子構成のニューラルネットワークは、結合係数可変回路とこの結合係数可変回路の可変結合係数値を教師信号に対する正,負の誤差信号に基づいて生成する結合係数生成回路とを有する自己学習回路を付設したデジタル論理回路による複数のニューロンよりなる信号処理手段を網状に接続して構成される。
【0038】
まず、既提案例におけるニューラルネットワークはデジタル構成によりハードウエア化したものであるが、基本的な考え方としては、
▲1▼ ニューロンに関する入・出力信号、中間信号、結合係数、教師信号などは全て、「0」「1」の2値で表されたパルス列で表す。
▲2▼ ネットワーク内部での信号の量は、パルス密度で表す(ある一定時間内の「1」の数)。
▲3▼ ニューロン内での計算は、パルス列同士の論理演算で表す。
▲4▼ 結合係数のパルス列はメモリ上に置く。
▲5▼ 学習は、このパルス列を書換えることで実現する。
▲6▼ 学習については、与えられた教師信号パルス列を基に誤差を計算し、これに基づいて、結合係数パルス列を変化させる。このとき、誤差の計算、結合係数の変化分の計算も、全て、「0」「1」のパルス列の論理演算で行う。
ようにしたものである。
【0039】
以下、この思想について説明する。最初に、デジタル論理回路による信号処理に関し、フォワードプロセスにおける信号処理を説明する。
図2は1つのニューロン20に相当する部分を示し、ニューラルネットワーク全体としては例えば図45に示した場合と同様に階層型とされる。入出力は、全て、「1」「0」に2値化され、かつ、同期化されたものが用いられる。入力信号yi の強度はパルス密度で表現し、例えば図3に示すパルス列のようにある一定時間内にある「1」の状態数で表す。即ち、図3の例は、4/6を表し、同期パルス6個中に信号は「1」が4個、「0」が2個である。つまり、同期パルスの立上り時又は立下り時に入力信号が「0」か「1」かを判断する。このとき、「1」と「0」の並び方は、ランダムであることが望ましい。
【0040】
一方、各ニューロン20間の結合の度合を示す結合係数Tijも同様にパルス密度で表現し、「0」と「1」とのビット列とする。図4の例は、「101010」=3/6を表す式である。この場合も、同期パルスの立上り時又は立下り時に入力信号が「0」か「1」かを判断するものであり、また、「1」と「0」の並び方はランダムであることが望ましい。
【0041】
そして、このビット列を同期クロックに応じてメモリ上より順次読出し、図2に示すように各々ANDゲート21により入力信号パルス列との論理積をとる(yi ∩ Tij)。これを、神経細胞jへの入力とする。上例の場合で説明すると、入力信号が「101101」として入力されたとき、これと同期してメモリ上よりパルス列を呼出し、順次ANDをとることにより、図5に示すような「101000」が得られ、これは入力yi が結合係数Tijにより変換されパルス密度が2/6となることを示している。
【0042】
ANDゲート21の出力のパルス密度は、近似的には入力信号のパルス密度と結合係数のパルス密度との積となり、アナログ方式の結合係数と同様の機能を有する。これは、信号の列が長いほど、また、「1」と「0」との並び方がランダムであるほど、数値の積に近い機能を持つことになる。なお、入力パルス列に比べて結合係数のパルス列が短く、読出すべきデータがなくなったら、再びデータの先頭に戻って読出しを繰返えせばよい。
【0043】
1つのニューロン20は多入力であるので、前述した「入力信号と結合係数とのAND」も多数あり、次にOR回路22によりこれらの論理和をとる。入力は同期化されているので、例えば1番目のデータが「101000」、2番目のデータが「010000」の場合、両者のORをとると、「111000」となる。これをm個分について多入力同時に計算し出力とすると、例えば図6に示すようになる。これは、アナログ計算における和の計算及び非線形関数(シグモイド関数)の部分に対応している。
【0044】
パルス密度が低い場合、そのORをとったもののパルス密度は、各々のパルス密度の和に近似的に一致する。パルス密度が高くなるにつれ、OR回路22の出力は段々飽和してくるので、パルス密度の和とは一致せず、非線形性が出てくる。ORの場合、パルス密度は1よりも大きくなることがなく、かつ、0より小さくなることもなく、さらには、単調増加関数であり、シグモイド関数と近似的に同等となる。
【0045】
ところで、結合には興奮性と抑制性があり、数値計算の場合には、結合係数の符号で表し、アナログ回路の場合はTijが負となる場合(抑制性結合)は増幅器を用いて出力を反転させてTijに相当する抵抗値で他のニューロンに結合させている。この点、デジタル方式の既提案例にあっては、まず、Tijの正負により各結合を興奮性結合と抑制性結合との2つのグループに分け、次いで、「入力信号と結合係数のパルス列のAND」同士のORをこのグループ別に計算する。このようにして得られた興奮性グループの結果をFj とし、抑制性グループの結果をIj とする。
【0046】
或いは、1つの入力yiに対して興奮性を表す結合係数Tij(+)と抑制性を表す結合係数Tij(−) との両方を用意し、各々ANDをとる(yi ∩Tij(+)、yi ∩Tij(−))。さらに、これら同士のORを各々とり(∪( yi ∩Tij(+) )、∪( yi ∩Tij(−) )、興奮性グループの結果をFjとし、抑制性グループの結果をIjとする。
【0047】
これらをまとめると、
▲1▼ 1つの入力に対して、結合係数を興奮性、抑制性のどちらか一方のみを持つ場合には、(8)(9)式のようになる。
【0048】
【数2】
【0049】
▲2▼ 1つの入力に対して、結合係数を興奮性、抑制性の両方を持つ場合には、(10)(11)式、或いは、(12)(13)式に示すようになる。
【0050】
【数3】
【0051】
【数4】
【0052】
ただし、(12)(13)式において、1つの入力に対して結合係数を興奮性、抑制性のどちらか一方のみ持つ場合には、yFij,yIijは(14)(15)式で示され、
1つの入力に対して結合係数を興奮性、抑制性の両方を持つ場合には、yFij,yIijは(16)(17)式
yFij = yi ∩ Tij(+) …………………………(16)
yIij = yi ∩ Tij(−) …………………………(17)
で示される。
【0053】
このようにして得られた興奮性グループの結果Fjと抑制性グループの結果Ijが、不一致であれば興奮性グループの結果を出力する。即ち、興奮性グループの結果Fj が「0」で抑制性グループの結果Ij が「1」であれば、「0」を出力し、興奮性グループの結果Fj が「1」で抑制性グループの結果Ij が「0」であれば、「1」を出力する。興奮性グループの結果Fj と抑制性グループの結果Ij が一致したときには、「0」を出力しても「1」を出力してもよく、或いは、別個に用意された第2の入力信号Ej を出力させてもよく、又は、このような第2の入力信号Ej とこの第2の入力信号Ej に対して設けたメモリの内容との論理積を演算したものを出力させるようにしてもよい。このメモリも入力信号に対する結合係数と同様、全て読出してしまったら再び先頭から読出せばよい。
【0054】
この機能を実現するため、まず、「0」を出力させる例の場合であれば、興奮性グループの出力と抑制性グループの出力の否定とのANDをとればよい。図7はこの例を示すもので、数式で示すと、(18)式のようになる。
【0055】
【数5】
【0056】
また、「1」を出力させる例の場合であれば、興奮性グループの出力と抑制性グループの出力の否定とのORをとればよい。図8はこの例を示すもので、数式で示すと、(19)式のようになる。
【0057】
【数6】
【0058】
第2の入力信号を出力させる例の場合であれば、図9に示すようになり、数式で示すと、(20)式のようになる。
【0059】
【数7】
【0060】
さらに、第4の方式の例であれば、第2の入力信号Ej に対して設けられたメモリの内容(係数)をT′j とすると、図10に示すようになり、数式で示すと、(21)式のようになる。
【0061】
【数8】
【0062】
ニューロン20のネットワークは、バックプロパゲーションと同様な階層型(即ち、図45)とする。そして、ネットワーク全体を同期させておけば、各層とも上述した機能により計算できる。
【0063】
ところで、ここに前述した(1)式の内部電位に相当する内部電位uj として、(22)式
uj =Σ(yFijのパルス密度)−Σ(yIijのパルス密度) ………(22)
を定義し、学習(バックプロパゲーション)における信号演算処理について説明する。
基本的には、以下のaにより出力信号の微係数を求めた後、以下のb又はcにより誤差信号を求め、次いで、dの方法により結合係数の値を変化させるようにすればよい。
【0064】
a.出力信号の微係数
学習時における誤差信号の演算には、出力信号を内部電位で微分した微係数(神経細胞応答関数の微係数)が一般に必要となる。即ち、一例として2入力時の出力信号((18)式参照)と、内部電位((22)式参照)との関係を示すと、図11のような応答関数となる。この関係は一意的には定まらないが、図では平均を示している。このような応答関数を微分したものは、図12中に示す特性Aとなる。一方、この関数の微係数は、近似的には、出力信号のパルス密度をOj 、その微係数をOj′ とすると、
Oj′ =Oj(1−Oj ) ……………………………(23)
で表される。つまり、図12中に実線で示す特性Bとなり、(23)式は良好なる近似式であことが分かる。
これは、出力信号が(18)式でなく、(19)(20)(21)式で表される場合も同様である。
【0065】
ところで、(23)式をパルス列同士の論理演算で表すためには、以下のようにすればよい。まず、Oj をyj 、(1−Oj )をyj の否定で表し、積の部分はANDなる論理演算で表すようにすればよい。即ち、微係数を表す信号をfj′ とすると、(24)式のようになる。
【0066】
【数9】
【0067】
もっとも、このままでは、(24)式は常に“0”となってしまうので、“yj ”又は“yj の否定”の何れかに対して遅延処理を施し、常には“0”とはならないようにする必要がある。即ち、遅延された信号を“dly’d” で表した場合、
(25)式又は(26)式を使い分ければよい。
【0068】
【数10】
【0069】
なお、これらの2式の使い分けについては後述するものとする。また、遅延処理はレジスタを用いることにより容易に実現できる。さらに、その遅延量としても、同期クロックの1個分でも複数個分でもよい。
【0070】
b.最終層における誤差信号
最終層で各ニューロンにおける誤差信号を計算し、それを基にそのニューロンに関わる結合係数を変化させる。そのための、誤差信号の計算法について述べる。ここに、「誤差信号」を以下のように定義する。誤差を数値で表すと、一般には+,−の両方をとり得るが、パルス密度の場合には、正、負の両方を同時に表現できないので、+成分を表す信号と、−成分を表す信号との2種類を用いて誤差信号を表現する。即ち、j番目のニューロンの誤差信号は、図13のように示される。つまり、誤差信号の+成分は教師信号パルスと出力信号パルスとの違っている部分(1,0)又は(0,1)の内、教師信号側に存在するパルスと微係数とのANDをとったパルスであり、−成分は同様に出力信号側に存在するパルスと微係数とのANDをとったパルスである。即ち、これらの正負の誤差信号
δj(+),δj(−)を論理式で表現すると、各々(27)(28)式のようになる。これらの式の微係数には、各々(25)(26)式を用いている。
【0071】
【数11】
【0072】
ここで、この組合せが仮に逆であると(即ち、(27)式に微係数として(26)式を適用し、(28)式に微係数として(25)式を適用すると)、(27)(28)式の結果が常に0となってしまい、機能しないので、(25)(26)式で示される2種類の微係数の使い分けが必要となるものである。
【0073】
このような誤差信号パルスを基に結合係数を後述するように変化させることになる。
【0074】
c.中間層における誤差信号
まず、上記の誤差信号を逆伝播させ、最終層とその1つ前の層との結合係数だけでなく、さらにその前の層の結合係数も変化する。そのため、中間層における各ニューロンでの誤差信号を計算する必要がある。中間層のあるニューロンから、さらに1つ先の層の各ニューロンへ信号を伝播させたのとは、丁度逆の要領で1つ先の層の各ニューロンにおける誤差信号を集めてきて、自己の誤差信号とする。このことは、ニューロン内での前述した演算式(8)〜(10)や図3〜図8に示した場合と同じような要領で行うことができる。即ち、結合係数が1入力に対して興奮性か抑制性かの何れの一方の場合は、まず、結合を興奮性か抑制性かによって、2つのグループに分け、掛け算の部分はANDで、Σの部分はORで表現する。ただし、ニューロン内での前述した処理と異なるのは、yj が常に正なる1つの信号であるのに対して、δj は正、負を表す信号として2つの信号を持ち、その両方の信号を考慮する必要があることである。従って、結合係数Tijの正負、誤差信号δj の正負に応じて4つの場合に分ける必要がある。
【0075】
まず、興奮性結合の場合を説明する。この場合、中間層のあるニューロンについて、1つ先の層のk番目のニューロンでの誤差信号δk(+)と、そのニューロンと自己との結合係数TjkのANDをとったもの(δk(+) ∩ Tjk)を各ニューロンについて求め、さらに、これら同士のORをとる(∪(δk(+) ∩ Tjk))。これをこのニューロンの誤差信号δj(+)とする。即ち、1つ先の層のニューロンをn個とすると、図14に示すようになる。これらを数式で示すと、(29)式のようになる。
【0076】
【数12】
【0077】
同様に、1つ先の層のニューロンでの誤差信号δk(−)と結合係数TjkとのANDをとり、さらにこれら同士のORをとることにより、このニューロンの誤差信号δj(−)とする。即ち、図15に示すようになり、これらを数式で示すと、(30)式のようになる。
【0078】
【数13】
【0079】
次に、抑制性結合の場合を説明する。この場合、1つ先の層のニューロンでの誤差信号δk(−)とそのニューロンと自己との結合係数TjkのANDをとり、さらにこれら同士のORをとる。これを、このニューロンの誤差信号δj(+)とする。即ち、図16に示すようになり、これらを順に数式で示すと、(31)式のようになる。
【0080】
【数14】
【0081】
また、1つ先の誤差信号δk(+)と結合係数TjkとのANDをとり、さらにこれら同士のORをとることにより、同様に、このニューロンの誤差信号δj(−)とする。即ち、図17に示すようになり、これらを順に数式で示すと、(32)式のようになる。
【0082】
【数15】
【0083】
1つのニューロンから別のニューロンへは興奮性で結合しているものもあれば、抑制性で結合しているものもあるので、図14のように求めた誤差信号δj(+)と図16のように求めた誤差信号δj(+)とのORをとり、最後にこの信号と微係数とのANDをとることによって、それを自分のニューロンの誤差信号δj(+)とする。同様に、図15のように求めた誤差信号δj(−)と図17のように求めた誤差信号δj(−)とのORをとり、最後にこの信号と微係数とのANDをとることによって、それを自分のニューロンの誤差信号δj(−)とする。
【0084】
以上をまとめると、(33)式、或いは、(34)式に示すようになる。
【0085】
【数16】
【0086】
【数17】
【0087】
次に、1つの入力に対して興奮性と抑制性との両方の結合係数を持つ場合、数式のみを示すと、(35)式、或いは、(36)式に示すようになる。
【0088】
【数18】
【0089】
【数19】
【0090】
さらに、学習のレート(学習定数)に相当する機能を設けてもよい。数値計算でレートが1以下のとき、さらに学習能力が高まる。これはパルス列の演算ではパルス列を間引くことによって実現できる。ここでは、カウンタ的な考え方をし、図18、図19に示すようなものとした。例えば、学習レートη=0.5では元の信号のパルス列を1つ置きに間引くが、元の信号のパルスが等間隔でなくても、元のパルス列に対して間引くことができる。図18,図19中、η=0.5の場合はパルスを1つ置きに間引き、η=0.33の場合はパルスを2つ置きに残し、η=0.67の場合はパルスを2つ置きに1回間引くことを示す。
【0091】
d.結合係数を変化させる方法
変化させたい結合係数が属しているライン(図45参照)を流れる信号と誤差信号のANDをとる(δj∩yi)。ただし、ここでは誤差信号には+,−の2つの信号があるので、各々演算して図20,図21に示すように求める。即ち、
δj(+)∩yi 、δj(−)∩yi を各々正,負の結合係数変化信号としている。
【0092】
このようにして得られた2つの信号を各々ΔTij(+),ΔTij(−)とする。ついで、今度はこのΔTijを基に新しいTijを求めるが、このTijは絶対値成分であるので、元のTijが興奮性か抑制性かで場合分けする。興奮性の場合、元のTijに対してΔTij(+)の成分を増やし、ΔTij(−)の成分を減らす。即ち、図22に示すようになる。逆に、抑制性の場合は元のTijに対しΔTij(+) の成分を減らし、ΔTij(−) の成分を増やす。即ち、図23に示すようになる。これらの図22,図23の内容を数式で示すと、(37)(38)式のようになる。
【0093】
【数20】
【0094】
以上の学習則に基づいてネットワークの計算をする。
【0095】
次に、以上のアルゴリズムに基づく既提案例方式を含む実際の回路構成を説明する。図1、図24ないし図28にその回路構成例を示すが、ネットワーク全体の構成は図45と同様である。図24ないし図27は図45のような階層型ネットワーク中のライン(結線=シナプス)に相当する部分の回路を示し、図1は図45中の丸(提案例では、各ニューロン20)に相当する部分の回路を示す。また、図28は最終層の出力と教師信号から最終層における誤差信号を求める部分の回路を示す。これらの図24、図25ないし図28構成の3つの回路を図45の場合のようにネットワークにすることにより、自己学習機能を持つデジタル式のニューラルネットワークが実現できる。
【0096】
まず、図24から説明する。図中、25は図3に示したようなニューロンへの入力信号である。図5に示したような結合係数の値はシフトレジスタ(メモリ)26に保存しておく。このシフトレジスタ26は取出し口26aと入口26とを有するが、通常のシフトレジスタと同様の機能を持つものであればよく、例えば、RAMとアドレスコントローラとの組合せによるもの等であってもよい。入力信号25とシフトレジスタ26内の結合係数とはANDゲート27を備えて図6に示した処理を行う論理回路28によりANDがとられる。この論理回路28の出力は結合が興奮性か抑制性かによってグループ分けしなければならないが、予め各々のグループへの出力29,30を用意し、何れに出力するのかを切換えるようにした方が汎用性の高いものとなる。このため、既提案例では結合が興奮性か抑制性かを表すビットをグループ分け用メモリ31に保存しておき、その情報を用いて切換えゲート回路32により切換える。切換えゲート回路32は2つのANDゲート32a,32bと一方の入力に介在されたインバータ32cとよりなる。
【0097】
切換える必要のない場合には、各々固定しても構わない。例えば、興奮性の場合を図25、抑制性の場合を図26に示す。これは、図24においてグループ分け用メモリ31を各々「0」「1」に固定したものと等価な回路とである。また、1つの入力に対して、興奮性を表すシフトレジスタと、抑制性を表すシフトレジスタとの両方を用意してもよい。図27はこの例を示す。図中、26Aが興奮性を表す結合係数に対するシフトレジスタ、26Bが抑制性を表す結合係数に対するシフトレジスタである。
【0098】
また、図1に示すように各入力処理(図6に相当)をする複数のORゲート構成のゲート回路33a,33bが設けられている。さらに、同図に示すように図7に示した興奮性結合グループが「1」で、抑制性結合グループが「0」のときにのみ出力「1」を出すANDゲート34aとインバータ34bとによるゲート回路34が設けられている。図6ないし図10に例示したような処理結果とする場合にも同様に論理回路で容易に実現できる。
【0099】
もっとも、ゲート回路34としては、図6方式の場合であれば図29(a)に示すようにインバータ34bとORゲート34cとの組合せとし、図9方式の場合であれば図29(b)に示すように排他的ORゲート34dとインバータ34eと2つのANDゲート34f,34gとORゲート34hとにより構成してANDゲート34gに第2入力Ej を入力させるものとし、図10方式の場合であれば図29(c)に示すように同図(b)に第2入力Ej に対する係数T′を数値表現形態で記憶したメモリ34iと、ANDゲート34jとを追加した構成とすればよい。
【0100】
次に、誤差信号について説明する。
最終層での誤差信号を生成するのが図28に示すANDゲート,排他的ORゲートの組合せによる論理回路35であり、(6)(7)式に相当する。即ち、最終層からの出力36及び教師信号37により誤差信号38,39を作るものである。
【0101】
中間層における誤差信号を計算する(34)式の内、Ej(+),Ej(−)を求める処理は、図24中に示すANDゲート構成のゲート回路42により行われ、+,−に応じた出力43,44が得られる。ここでは、結合係数として学習後のものを用いたが、学習前のものであってもよく、学習前の場合も容易に回路化し得る。また、このように結合が興奮性か抑制性かにより場合分けする必要があるが、この場合分けはメモリ31に記憶された興奮性か抑制性かの情報と、誤差信号の+,−信号45,46とに応じて、AND,ORゲート構成のゲート回路47により行われる。なお、結合の興奮性、抑制性の区別を固定した図25、図26方式のものでは、前記メモリ31の内容を各々「0」,「1」に固定したものと等価な回路となる。一方、1つの入力に対して興奮性結合を表すシフトレジスタ26Aと抑制性結合を表すシフトレジスタ26Bとの両方を用いる図27方式のものでは、(36)式に相当する回路が、図27においてゲート回路35として示されている。
【0102】
また、誤差信号を集める計算式(8)、即ち、(34)式の残りの部分は図1に示すORゲート構成のゲート回路48a,48bにより行われる。さらに、学習レートに相当する図18,19の処理は図26中に示す分周回路49により行われる。これは、フリップフロップ等を用いることにより容易に実現できる。もっとも、分周回路49は不必要であれば特に設けなくてよく、設ける場合であっても図25中に示した例に限らず、図24〜図27中に符号49を付して示すような適宜位置に設けるようにしてもよい。
【0103】
このような誤差信号を集める処理において、本実施例では、ゲート回路34を通して得られる自己のニューロン20の出力信号に基づき微係数算出手段51により2種類の微係数fj(+)′,fj(−)′を算出し、各ゲート回路48a,48bで集められた誤差信号Ej(+),Ej(−)との論理積がANDゲート構成のゲート回路52でとられるように構成されている。この論理積処理は、分周回路49による分周後でも、分周前であってもよい(このため、図1中において分周回路は49aとして示す位置に設けてもよい)。
【0104】
ここに、微係数算出手段51は微係数fj(+)′用の処理回路53と、fj(−)′用の処理回路54とに分けて構成されている。処理回路53は(25)式を実行するもので、出力信号yj を遅延させて遅延信号ydly’djを得るシフトレジスタ53aと出力信号yj の否定信号を得るインバータ53bとこれらの論理積をとるANDゲート53cとにより構成されている。一方、処理回路54は(26)式を実行するもので、出力信号yj を遅延させて遅延信号ydly’djを得るシフトレジスタ54aとこの遅延信号の否定信号を得るインバータ54bとこの出力と出力信号yj との論理積をとるANDゲート54cとにより構成されている。
なお、信号を同期クロックに同期させて遅延させるシフトレジスタ53a,54aに関して、同期クロックを幾つ分遅延させるかは固定してもよく、或いは、外部から可変的に与えるようにしてもよい。
【0105】
最後に、誤差信号より新たな結合係数を計算する部分、即ち、図21〜図23の処理に相当する部分は、図24中に示すAND、インバータ、ORゲート構成のゲート回路50により行なわれ、シフトレジスタ26の内容、即ち、結合係数Tijの値が書換えられる。このゲート回路50も結合の興奮性、抑制性により場合分けが必要であるが、ゲート回路47により行なわれる。図25、図26の場合には、興奮性、抑制性が固定であるので、ゲート回路47に相当する回路は不要である。図27方式の場合は、1つの入力に対して興奮性、抑制性の両方を持つので、ゲート回路50Aが興奮性、ゲート回路50Bが抑制性の場合に相当する。
【0106】
ところで、結合係数の値はシフトレジスタ26内にパルス列の形で保存されているが、このようなパルス列に関して、そのパルス密度は同じに保ちつつ(結合係数の値は変更せずに)、そのパルス並びを時々変更したほうが学習能力が上がることがある。そこで、結合係数に関して、図30(a)〜(c)の何れかに示すような処理を施すようにすれば、効果的である。
【0107】
まず、図30(a)は、結合係数の値をパルス列の形で保存するシフトレジスタ26に対して、パルス並び変更手段55を付加したものである。このパルス並び変更手段55はシフトレジスタ26から読出したパルス列を計数することでパルス数を得るカウンタ55aと、一様乱数を発生させる乱数発生器55bと、これらのパルス数と一様乱数とを比較しその大小に応じて「1」又は「0」を出力する比較器55cと、比較器55cの比較出力に応じてシフトレジスタ26に書込み動作を行う切換器55dとにより構成されている。ここに、前記乱数発生器55bはシフトレジスタ26から読出すビット数(即ち、同期クロック数)を最大値とし、0からこの最大値までの間で一様乱数を生成出力するものである。また、比較器55cはパルス数のほうが一様乱数値よりも大きければ「1」、パルス数のほうが一様乱数値よりも小さい場合には「0」を出力するように設定されている。これにより、適宜、結合係数のパルス列のパルス並びが変更されることになる。なお、このような並び変更処理中は、切換器55dが比較器55c側に切換えられているので、ニューラルネットワーク本来の動作は行えない。
【0108】
図30(b)は、結合係数の値を演算毎にパルス列表現に変換する変換手段56を設けたものである。即ち、この例にあっては、結合係数を表すパルス列のパルス密度を数値(例えば、2進数や電圧値)の形でメモリ56aに記憶させておき、演算の度に乱数発生器56bにより生成した乱数と比較器56cで比較し、パルス列に変換させるものである。ここに、学習済みの結合係数を表すパルス列をカウンタ56dを用いて計数して数値に変換し、ある一定時間毎にメモリ56aの内容を更新するように構成されている。なお、カウンタ56dに代えて、積分器を用いて学習済みの結合係数を表すパルス列を電圧値に変換するようにしてもい。また、乱数発生器56bは乱数発生器55bの場合と同じく、生成する乱数の最大値はメモリ56aの内容を更新する同期クロック数に設定されている。
【0109】
図30(c)も、結合係数の値を演算毎にパルス列表現に変換する変換手段57を設けたものである。即ち、この例にあっては、結合係数を表すパルス列のパルス密度を数値(例えば、2進数)の形でアップ/ダウンカウンタ57aに記憶させておき、演算の度に乱数発生器57bにより生成した乱数と比較器57cで比較し、パルス列に変換させるものである。ここに、比較器57cを通して実際に出力された結合係数のパルス列はカウンタ57aのダウンD側に帰還入力され、学習済みの結合係数のパルス列はカウンタ57aのアップU側に入力され、保存される結合係数値が適宜更新されるように構成されている。
【0110】
図30(a)〜(c)に示す各例において、乱数発生器55b,56b,57b及び比較器55c,56c,57cとしてデジタル構成のものを用いればよいが、カウンタ56dに代えて積分器を用いた場合には、乱数発生器56b及び比較器56cとしてアナログ構成のものを用いればよい。これらは、何れも公知の技術で容易に実現できる。例えば、デジタル構成の乱数発生器としてはM系列の疑似乱数発生器を用い、アナログ構成の乱数発生器としてはトランジスタの熱雑音を用いればよい。
【0111】
以上、説明したように信号をパルス密度で表現する手法は、実際の回路のみならず、計算機上でシミュレートする場合にも有用である。計算機上では、演算は直列的に行われるが、アナログ値を用いて計算させるのに比べて、「0」「1」の2値の論理演算のみであるので、計算速度が著しく向上する。一般に、実数値の四則演算は、1回の計算に多くのマシンサイクルを必要とするが、論理演算では少なくて済む。また、論理演算のみであると、高速処理向けの低水準言語が使用しやすいといった特徴も持つ。また、上述した方式を実施するに当り、その全部を回路化する必要はなく、一部又は全部をソフトウエアで行わせるようにしてもよい。また、回路構成自体も例示したものに限らず、論理が等価な別の回路で置き換えるようにしてもよく、さらには、負論理に置き換えるようにしてもよい。これらの点は、以下の実施例でも同様である。
【0112】
ところで、具体例を説明する。図45のように3層構造にネットワーク構成し、第1層は256個、第2層は20個、第3層は5個の回路ユニット構成とした。ここに、第1,2層間、第2,3層間は回路ユニット同士が全て結合されている。このようなネットワークに対して手書き文字を入力し、文字認識を行わせた。まず、手書き文字をスキャナで読取り、図31に示すように16×16のメッシュに分け、文字部分のあるメッシュを「1」、ないメッシュを「0」とした。この256個のデータをネットワーク(第1層)に入力させた。出力層の5個の各ニューロン20を「1」〜「5」までに対応させ、その数字が入力した時に対応するニューロンの出力が「1」でその他のニューロンの出力が「0」になるように学習させた。最初、各結合係数をランダムに設定しておくと、出力結果は必ずしも所望の値とはならない。そこで、本実施例の自己学習機能を用いて、各結合係数を新たに求め、これを何回か繰返すことによって所望の出力が得られるようにする。ここに、入力は、「1」か「0」であるので、入力パルス列は常にLレベル又はHレベルなる単調なものである。また、最終出力はトランジスタを介してLEDと結び、Lレベルの時には消灯、Hレベルの時には点灯するようにした。同期クロックを1000kHzとしたので、パルス密度に応じて、人間の目にはLEDの明るさが変って見え、従って、一番明るいLED部分が答えとなる。十分学習させた文字に対しては100%の認識率が得られたものである。
【0113】
さらに、3層構造にネットワーク構成し、第1層は2個、第2層は2個、第3層は4個の回路ユニット構成とし、XOR(排他的論理和)問題を解かせたところ、学習回数と残差との関係は図32に示すようになったものである。図示結果からも分かるように数学的に難しい問題に対しても十分学習効果を発揮し得るものとなる。
【0114】
つづいて、請求項5ないし9記載の発明の一実施例を図33ないし図38により説明する。前記実施例で示した部分と同一部分は同一符号を用いて示す(以下の実施例でも同様とする)。本実施例は、前述した実施例をさらに改良したものであり、まず、前述した実施例について再度検討する。
【0115】
まず、前述した実施例のニューロン20では学習時に用いる出力信号を内部電圧で微分した微係数に相当する信号として前述した(25)(26)式を用いている(下記に再度示す)。
【0116】
【数21】
【0117】
一方、学習時にはこのような微係数信号fj(+)′,fj(−)′を用いて誤差信号を算出する。出力層の場合は、前述した(27)(28)式で表され、中間層の場合は前述した(33)式で表される(下記に再度示す)。
【0118】
【数22】
【0119】
【数23】
【0120】
ところが、前記実施例構成の場合、微係数信号fj(+)′,fj(−)′のパルス密度が0になってしまうことがある。これらの微係数信号fj(+)′又はfj(−)′が0になると、誤差信号δj(+),δj(−)のパルス密度も0となってしまう。よって、このような事態が学習途中でたまたま発生すると、学習はそこで止まってしまい、学習機能が充分に発揮されないものとなる。
【0121】
一方、数値演算におけるニューロンでは出力関数にシグモイド関数を用いており、その微係数は限りなく0に近づくものの、完全に0になることはない。このような点に着目し、本実施例では、出力関数の微係数が完全に0とはならないようにする微係数規制手段を設けることを基本として構成したものである。
【0122】
まず、本実施例中、請求項5ないし7記載の発明に相当する実施例を図33及び図34により説明する。まず、前述した実施例中の微係数算出手段51を構成する処理回路53(又は、54)が設けられている。この処理回路53の出力部分に本実施例の要旨とする微係数規制手段61が付加されている。この微係数規制手段61は前記処理回路53から出力される微係数の出力パルス列に適宜加工処理を施して最終的な微係数の出力パルス列のパルス密度が0とはならないようにするもので、ここでは、パルス列生成装置(パルス列生成手段)62と、このパルス列生成装置62の出力と前記処理回路53の出力とを入力とするORゲート(演算手段)63とにより構成されている。前記パルス列生成装置62は、予め設定されたパルス密度(ただし、完全には0ではない密度)のパルス列を生成出力するもので、例えば、図34に示すように、クロック信号を入力として計数するカウンタ64と、このカウンタ64の計数値が所定の周期値に達する毎に一定周期の1パルスを出力する比較器65とにより構成される。
【0123】
このような構成によれば、仮に処理回路53の微係数の出力パルス列のパルス密度が0となるようなことがあっても、パルス列生成装置62で生成されたパルス列との論理和がORゲート63によりとられて、最終的な微係数の出力パルス列が得られるので、この微係数の出力パルス列のパルス密度が0になるようなことはない。よって、学習途中であっても、微係数のパルス列のパルス密度が0となり学習が止まってしまうようなことはない。ここに、パルス列生成装置62で生成出力するパルス列のパルス密度は処理回路53からの微係数の出力パルス列に極力影響を及ぼさないようになるべく0に近いほうがよい。
【0124】
また、本実施例中、請求項8記載の発明に相当する実施例を図35に示す。これは、パルス列生成装置62の構成を変えたもので、アナログ構成の乱数生成装置66と比較器67との組合せ構成としたものである。ここに、乱数生成装置66には例えばトランジスタの熱雑音等による電圧値が利用され、比較器67において予め設定された一定電圧値と比較され、一定電圧値よりも乱数生成装置66の電圧値の方が大きい時には1を、小さい時には0を出力させることにより、所望のパルス列が得られるものとなる。この時のパルス列のパルス密度は乱数生成装置66から得られる電圧値の分布と比較用に与える一定電圧値とにより自由に設定できる。
【0125】
さらに、本実施例中、請求項9記載の発明に相当する実施例を図36及び図37に示す。これも、パルス列生成装置62の構成を変えたもので、デジタル構成の乱数生成装置68とデジタル構成の比較器69との組合せ構成としたものである。ここに、乱数生成装置68には例えば図37に示すような7ビットシフトレジスタ70と、その最上位及び最下位ビットのデータを入力として最下位ビットを順次更新する排他的ORゲート71とによるリニアフィードバックシフトレジスタ(LFSR)72が用いられている。これにより、乱数生成装置68からは7ビット構成で1〜127の範囲で一様乱数が得られる。比較器69ではこの乱数値と予め設定された7ビット構成の一定値(例えば、1や2といった値)とを比較し、乱数値の方が一定値よりも大きければ1を出力し、小さければ0を出力する。これにより、例えば1/127とか2/127といったパルス密度を持つパルス列が得られることになる。よって、ORゲート63からの最終的な微係数の出力パルス列としては少なくとも1/127や2/127といったパルス密度のパルス列が出力されることになる。
【0126】
なお、前記LFSR72には予め0以外の値をセットしておく必要がある。このためには、例えば図38に示すように、排他的ORゲート71と7ビットシフトレジスタ70との間に切換えスイッチ73を介在させ、外部からLFSR72の初期値を設定し得るようにすればよい。
【0127】
なお、本実施例では、例えば処理回路53に微係数規制手段61を付加した構成として説明したが、実際には、前記実施例で説明したように、微係数としてはfj(+)′,fj(−)′の2種類を必要とするので、何れの微係数も0とはならないように、処理回路54側についても同様に微係数規制手段61が付加して構成される。この時、処理回路53,54に対して乱数生成装置66,68を用意する場合は、各々別の乱数を発生させるものとするのがよい。さらに、ニューラルネットワーク全体で考えた場合には多数の乱数生成装置を用意することになるが、その場合には各々別の乱数を発生させるように構成するのがよい。
【0128】
本実施例に関する具体的構成例について説明すると、16個分のニューロン20を1つのチップ上に通常のLSIプロセスで作製した。これらの各ニューロン20のシナプス数は16とした。また、図33中のパルス列生成装置62としては、図36及び図37に示したように、LFSR72とデジタル構成の比較器69との組合せ構成とし、パルス密度が1/127のパルス列を生成させるものとした。この結果、微係数の最終的な出力パルス列のパルス密度が最低でも1/127となるパルス列となり、学習が途中で止まってしまうようなことがなかったものである。
【0129】
また、請求項10記載の発明の一実施例を図39ないし図43により説明する。前述した実施例では、ニューロン20からの出力信号をパルス列で表現することを基本とし、結合係数の値もパルス列で保存するようにしたが、本実施例では、結合係数の値を2進数なる数値表現形態で保存するようにしたものである。即ち、図30(b)に示した構成に準じたものであり、本実施例ではその構成をより明確化したものである。
【0130】
まず、本実施例の構成として、図24に対応するシナプス部分の構成を図39に示し、図27に対応するシナプス部分の構成を図40に示す。また、図1に対応するニューロン20部分の構成の一部を図41に示す。
【0131】
図39に示すシナプス部分の構成では、シフトレジスタ26に代えて、結合係数Tijの値を2進数なる数値(絶対値)で保存するメモリ74が設けられている。このメモリ74の入力側(ゲート回路50の出力側)にはパルス列→数値変換回路75が接続され、出力側(ANDゲート27等の入力側)には数値→パルス列変換回路(数値・パルス列変換装置)76が接続されている。ここに、メモリ74と数値→パルス列変換回路76との間は、数値を表すのに必要な本数(ビット幅)nで結ばれている。さらに、図では省略してあるが、前記メモリ74に対しては、アウトプットイネーブル信号やライトイネーブル信号などの読み書きに必要な信号が与えられている。パルス列→数値変換回路75は図30(b)で説明した場合と同様に、カウンタ等を用いることにより容易に実現できる。この他は、図24の場合と同様である。
【0132】
図40は、1つの入力に対して、興奮性を表す結合係数と抑制性を表す結合係数との両方を用意した例を示し、興奮性を表す結合係数の値(+成分)を2進数なる数値で保存するメモリ74Aと、抑制性を表す結合係数の値(−成分)を2進数なる数値で保存するメモリ74Bとが設けられ、各々のメモリ74A,74B毎にパルス列→数値変換回路75A,75B、数値→パルス列変換回路76A,76Bが設けられている。この他は、図27の場合と同様である。
【0133】
ここに、数値→パルス列変換回路76(76A,76Bを含む)は、例えば、図42に示すように、乱数生成装置77と、メモリ74からの2進数による結合係数値をこの乱数生成装置77による乱数と比較してパルス列表現の結合係数をANDゲート27等へ出力する比較器78とにより構成されている。前記乱数生成装置77は、例えば、図43に示すように基準クロックに同期して乱数を発生する例えば7ビット構成のシフトレジスタ79とその最上位ビット(b6)のデータと残りの適宜ビットのデータとを入力として最下位ビット(b0)を順次更新する排他的ORゲート80とによるリニアフィードバックシフトレジスタ(LFSR)81により構成されている。これにより、0〜(2^m−1)(mはシフトレジスタ79のビット数)までの一様乱数が得られるものである。このLFSR81の生成多項式は複数存在し、回路でも適宜切換えられるようにしておいたほうがよりランダムな乱数列が得られるので、ここでは、b0,b1,b4,b5の内、何れのビットから排他的ORゲート80に入力させるかを切換える切換器82が設けられている。前記比較器78は乱数生成装置77(LFSR81)により生成された乱数とメモリ74からの結合係数値とを比較し、メモリ74からのデータのほうが大きい時には「1」、小さい時には「0」を出力するものである。これにより、パルス密度が(メモリ74のデータ/2^m)となるパルス列による結合係数が得られる。
【0134】
なお、図41はニューロン20中のゲート回路33a,33bを主体とした部分を示し、これらのゲート回路33a,33bの出力側に設けられるゲート回路34は図1や図29に示したものに対して変形したものとされている。即ち、外部に設けられたオフセット入力信号生成器83からの信号と前記ゲート回路33a,33bからの信号との論理積をとるANDゲート34kと、ゲート回路33aからの出力をインバータ34lで反転させた信号とゲート回路33bからの信号とオフセット入力信号生成器83からの信号との論理積をとるANDゲート34mと、ゲート33bからの出力をインバータ34nで反転させた信号とゲート回路33aからの信号とオフセット入力信号生成器83からの信号との論理積をとるANDゲート34oとにより構成されている。ここに、オフセット入力信号生成器83は数値→パルス列変換回路76と同様にLFSRを利用した構成のものであり、ここでは、パルス密度(数値)yHjとして「0.5」を出力するものとされている。この他の部分は、図1の場合と同様に構成されている。
【0135】
これにより、本実施例では、(11)〜(21)式に代えて、(39)式を用いるように構成されている。つまり、ゲート回路33aで得られた興奮性グループの結果yFjとゲート回路33bで得られた抑制性グループの結果yIjとが不一致であれば、興奮性の出力yFjをこのニューロンの出力とするものである。即ち、興奮性グループの結果yFjが「0」で抑制性グループの結果yIjが「1」であれば、「0」を出力し、興奮性グループの結果yFjが「1」で抑制性グループの結果yIjが「0」であれば、「1」を出力する。興奮性グループの結果yFjと抑制性グループの結果yIjとが一致した時には、パルス密度0.5なるオフセット入力信号生成器83からの信号yHjがニューロンの出力とされる。
【0136】
【数24】
【0137】
本実施例による場合も、具体例として、図45で示したような3層構造のネットワーク構成において、自己学習式文字認識処理を行わせたところ、同じ結果、即ち、十分学習させた文字に対しては認識率100%が得られたものである。
【0138】
【発明の効果】
請求項1記載の発明によれば、学習時の誤差信号の演算に必要となる神経細胞模倣ユニットからの出力信号を内部電位で微分してなる神経細胞応答関数の微係数に関して、正、負の誤差信号に対応させて微係数算出手段により2種類の微係数を算出して用いるようにしたので、適正な誤差信号を得て、より高い学習能力を持たせることができる。特に、請求項2記載の発明によれば、神経細胞模倣ユニットからの出力信号をパルス列で表現するものとし、この神経細胞模倣ユニットからの出力信号を所定時間遅延させた遅延信号と出力信号の否定信号との論理積を一方の神経細胞応答関数の微係数とし、神経細胞模倣ユニットからの出力信号の否定信号を所定時間遅延させた遅延信号と出力信号との論理積を他方の神経細胞応答関数としたので、微係数の実体が常に0となってしまうような不都合を回避できる。加えて、請求項3記載の発明によれば、結合係数の値をパルス列表現で保存するメモリと、このメモリ上の結合係数のパルス列のパルス並びを一定時間毎に変更するパルス並び変更手段とを有するものとし、請求項4記載の発明によれば、結合係数の値をパルス列表現に変換する変換手段を有するものとしたので、より学習能力を向上させることができる。
【0139】
一方、請求項5,6記載の発明によれば、微係数規制手段により微係数算出手段による微係数又はそのパルス密度が0とはならないように構成したので、学習が途中で止まってしまうようなことがなく、十分に学習機能を発揮させることができる。
【0140】
この際、請求項7記載の発明によれば、予め設定されたパルス密度のパルス列を生成するパルス列生成手段と、このパルス列生成手段により生成されたパルス列と神経細胞模倣素子の出力パルス列との論理和を演算する演算手段とよりなる微係数規制手段とし、また、請求項8記載の発明によれば、乱数生成装置と、この乱数生成装置から出力される乱数と所定の閾値とを比較してパルス列を出力する比較器とよりなるパルス列生成手段とし、さらに、請求項9記載の発明では、乱数生成装置をリニアフィードバックシフトレジスタとしたので、上記のような効果を発揮する微係数規制手段を、容易に実現できるものとなる。
【0141】
請求項10記載の発明によれば、請求項1又は2記載の発明において、結合係数の値を2進数で保存するメモリと、リニアフィードバックシフトレジスタよりなる乱数生成装置及び前記メモリに保存された結合係数の値を前記乱数生成装置により生成された乱数と比較してパルス列表現の結合係数を出力する比較器を備えた数値・パルス列変換装置とを有するものとし、結合係数の値を2進数の形態でメモリに保存し、数値・パルス列変換装置でパルス列に変換して出力するようにしたので、結合係数の保存が容易であるとともに、処理する段階ではパルス列で扱うので結合係数の処理も容易であり、より実際の装置に近い形の具体的な実現容易なものとすることができる。
【図面の簡単な説明】
【図1】請求項1ないし4記載の発明の一実施例を示す論理回路図である。
【図2】既提案例における基本的な信号処理を行なうための論理回路図である。
【図3】論理演算例を示すタイミングチャートである。
【図4】論理演算例を示すタイミングチャートである。
【図5】論理演算例を示すタイミングチャートである。
【図6】論理演算例を示すタイミングチャートである。
【図7】論理演算例を示すタイミングチャートである。
【図8】論理演算例を示すタイミングチャートである。
【図9】論理演算例を示すタイミングチャートである。
【図10】論理演算例を示すタイミングチャートである。
【図11】応答関数を示す特性図である。
【図12】その微分関数を示す特性図である。
【図13】論理演算例を示すタイミングチャートである。
【図14】論理演算例を示すタイミングチャートである。
【図15】論理演算例を示すタイミングチャートである。
【図16】論理演算例を示すタイミングチャートである。
【図17】論理演算例を示すタイミングチャートである。
【図18】論理演算例を示すタイミングチャートである。
【図19】論理演算例を示すタイミングチャートである。
【図20】論理演算例を示すタイミングチャートである。
【図21】論理演算例を示すタイミングチャートである。
【図22】論理演算例を示すタイミングチャートである。
【図23】論理演算例を示すタイミングチャートである。
【図24】各部の構成例を示す論理回路図である。
【図25】図24の別の変形例の構成例を示す論理回路図である。
【図26】図24のさらに別の変形例の構成例を示す論理回路図である。
【図27】各部の構成例を示す論理回路図である。
【図28】各部の構成例を示す論理回路図である。
【図29】変形例を示す論理回路図である。
【図30】パルス並び変更手段及び変換手段を示すブロック図である。
【図31】手書き文字の読取り例を示す説明図である。
【図32】具体例による学習回数と残差との関係を示す特性図である。
【図33】請求項5ないし7記載の発明の一実施例を示すブロック図である。
【図34】そのパルス列生成装置の構成を示すブロック図である。
【図35】請求項8記載の発明の一実施例を示すブロック図である。
【図36】請求項9記載の発明の一実施例を示すブロック図である。
【図37】その乱数生成装置の構成を示すブロック図である。
【図38】変形例を示すブロック図である。
【図39】請求項10記載の発明の一実施例を示すシナプス部分の論理回路図である。
【図40】図39の変形例を示す論理回路図である。
【図41】ニューロン中の一部の構成を示す論理回路図である。
【図42】数値→パルス列変換回路の構成を示すブロック図である。
【図43】乱数生成装置の構成を示すブロック図である。
【図44】従来例の1つのユニット構成を示す概念図である。
【図45】そのニューラルネットワーク構成の概念図である。
【図46】シグモイド関数を示すグラフである。
【図47】1つのユニットの具体的構成を示す回路図である。
【図48】デジタル構成例を示すブロック図である。
【図49】その一部の回路図である。
【図50】異なる一部の回路図である。
【符号の説明】
20 神経細胞模倣ユニット
26 メモリ
50 自己学習手段
51 微係数算出手段
55 パルス並び変更手段
56,57 変換手段
61 微係数規制手段
62 パルス列生成手段
63 演算手段
66 乱数生成装置
67 比較器
68 乱数生成装置
69 比較器
72 リニアフィードバックシフトレジスタ=乱数生成装置
74 メモリ
76 数値・パルス列変換回路
77 乱数生成装置
78 比較器
81 リニアフィードバックシフトレジスタ
Claims (10)
- 結合係数可変手段と、この結合係数可変手段の可変結合係数値を教師信号に対する正の誤差信号と負の誤差信号とに基づいて生成する結合係数生成手段とを有する自己学習手段を付設した複数の神経細胞模倣ユニットを網状に接続して回路網を形成した信号処理装置において、前記正、負の誤差信号の生成のために神経細胞模倣ユニットからの出力信号に基づき2種類の神経細胞応答関数の微係数を算出する微係数算出手段を設けたことを特徴とする信号処理装置。
- 神経細胞模倣ユニットからの出力信号をパルス列で表現するものとし、この神経細胞模倣ユニットからの出力信号を所定時間遅延させた遅延信号と前記出力信号の否定信号との論理積を一方の神経細胞応答関数の微係数とし、前記神経細胞模倣ユニットからの出力信号の否定信号を所定時間遅延させた遅延信号と前記出力信号との論理積を他方の神経細胞応答関数の微係数としたことを特徴とする請求項1記載の信号処理装置。
- 結合係数の値をパルス列表現で保存するメモリと、このメモリ上の結合係数のパルス列のパルス並びを一定時間毎に変更するパルス並び変更手段とを有するものとしたことを特徴とする請求項2記載の信号処理装置。
- 結合係数の値をパルス列表現に変換する変換手段を有するものとしたことを特徴とする請求項2記載の信号処理装置。
- 微係数算出手段により算出される2種類の微係数がともに0とならないように規制する微係数規制手段を設けたことを特徴とする請求項1記載の信号処理装置。
- 微係数算出手段により算出される2種類の微係数のパルス密度がともに0とならないように規制する微係数規制手段を設けたことを特徴とする請求項2,3又は4記載の信号処理装置。
- 予め設定されたパルス密度のパルス列を生成するパルス列生成手段と、このパルス列生成手段により生成されたパルス列と神経細胞模倣素子の出力パルス列との論理和を演算する演算手段とよりなる微係数規制手段としたことを特徴とする請求項6記載の信号処理装置。
- 乱数生成装置と、この乱数生成装置から出力される乱数と所定の閾値とを比較してパルス列を出力する比較器とよりなるパルス列生成手段としたことを特徴とする請求項7記載の信号処理装置。
- 乱数生成装置をリニアフィードバックシフトレジスタとしたことを特徴とする請求項8記載の信号処理装置。
- 結合係数の値を2進数で保存するメモリと、リニアフィードバックシフトレジスタよりなる乱数生成装置及び前記メモリに保存された結合係数の値を前記乱数生成装置により生成された乱数と比較してパルス列表現の結合係数を出力する比較器を備えた数値・パルス列変換装置とを有するものとしたことを特徴とする請求項1又は2記載の信号処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07313594A JP3582737B2 (ja) | 1993-05-20 | 1994-04-12 | 信号処理装置 |
US08/246,342 US5588090A (en) | 1993-05-20 | 1994-05-19 | Signal processing apparatus |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11808793 | 1993-05-20 | ||
JP5-118087 | 1993-08-20 | ||
JP5-206282 | 1993-08-20 | ||
JP20628293 | 1993-08-20 | ||
JP07313594A JP3582737B2 (ja) | 1993-05-20 | 1994-04-12 | 信号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07111090A JPH07111090A (ja) | 1995-04-25 |
JP3582737B2 true JP3582737B2 (ja) | 2004-10-27 |
Family
ID=27301140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07313594A Expired - Fee Related JP3582737B2 (ja) | 1993-05-20 | 1994-04-12 | 信号処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5588090A (ja) |
JP (1) | JP3582737B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19622533A1 (de) * | 1996-06-05 | 1997-12-11 | Deutsche Telekom Ag | Verfahren und Vorrichtung zum Laden von Inputdaten in einen Algorithmus bei der Authentikation |
US6269306B1 (en) * | 2000-06-13 | 2001-07-31 | Ford Global Tech. | System and method for estimating sensor errors |
JP4340091B2 (ja) * | 2002-04-11 | 2009-10-07 | 株式会社リコー | 紙識別情報管理システム、紙識別情報管理サーバ、およびクライアント装置 |
US6959866B2 (en) * | 2002-05-30 | 2005-11-01 | Ricoh Company, Ltd. | 2-Dimensional code pattern, 2-dimensional code pattern supporting medium, 2-dimensional code pattern generating method, and 2-dimensional code reading apparatus and method |
JP4322169B2 (ja) * | 2003-07-16 | 2009-08-26 | 株式会社リコー | 文書処理システム、文書処理方法、文書処理プログラム |
US7672918B2 (en) * | 2007-02-05 | 2010-03-02 | Steve Adkins | Artificial neuron |
WO2010105443A1 (zh) * | 2009-03-20 | 2010-09-23 | 华为技术有限公司 | 被管理单元设备、自优化的方法及系统 |
CN101959219B (zh) * | 2009-03-20 | 2012-07-04 | 华为技术有限公司 | 被管理单元设备、自优化的方法及系统 |
US8775341B1 (en) | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US9015093B1 (en) | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
JP6501146B2 (ja) * | 2014-03-18 | 2019-04-17 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
US9489618B2 (en) * | 2014-05-27 | 2016-11-08 | Purdue Research Foudation | Electronic comparison systems |
US10242313B2 (en) * | 2014-07-18 | 2019-03-26 | James LaRue | Joint proximity association template for neural networks |
JP7475080B2 (ja) * | 2020-04-01 | 2024-04-26 | 義憲 岡島 | 曖昧検索回路 |
JP7346373B2 (ja) * | 2020-09-16 | 2023-09-19 | 株式会社東芝 | 演算装置およびニューラルネットワーク装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62159198A (ja) * | 1986-01-07 | 1987-07-15 | 沖電気工業株式会社 | 音声合成方式 |
US4737929A (en) * | 1986-04-14 | 1988-04-12 | American Telephone And Telegraph Company, At&T Bell Laboratories | Highly parallel computation network employing a binary-valued T matrix and single output amplifiers |
US5167006A (en) * | 1989-12-29 | 1992-11-24 | Ricoh Company, Ltd. | Neuron unit, neural network and signal processing method |
JP3102918B2 (ja) * | 1990-11-22 | 2000-10-23 | 株式会社リコー | ニューラルネットワーク学習方法およびこの学習方法を用いた信号処理装置 |
JP2760170B2 (ja) * | 1990-11-29 | 1998-05-28 | 松下電器産業株式会社 | 学習機械 |
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 |
-
1994
- 1994-04-12 JP JP07313594A patent/JP3582737B2/ja not_active Expired - Fee Related
- 1994-05-19 US US08/246,342 patent/US5588090A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5588090A (en) | 1996-12-24 |
JPH07111090A (ja) | 1995-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3582737B2 (ja) | 信号処理装置 | |
JPH07114524A (ja) | 信号処理装置 | |
US5485548A (en) | Signal processing apparatus using a hierarchical neural network | |
JP3256553B2 (ja) | 信号処理装置の学習方法 | |
JPH05165987A (ja) | 信号処理装置 | |
JP2612640B2 (ja) | 信号処理回路、信号処理回路網、信号処理装置及び信号処理方法 | |
JPH09185596A (ja) | パルス密度型信号処理回路網における結合係数更新方法 | |
JP2549454B2 (ja) | 神経細胞模倣回路網及び神経細胞模倣ユニット | |
JPH07334478A (ja) | パルス密度型信号処理回路網における結合係数更新方法 並びに結合係数更新装置 | |
JPH05217010A (ja) | 信号処理装置 | |
JPH05314290A (ja) | 信号処理装置 | |
JP3338713B2 (ja) | 信号処理装置 | |
JP3255425B2 (ja) | 信号処理方法 | |
JP3276367B2 (ja) | 神経細胞回路網 | |
JP3463890B2 (ja) | 神経回路模倣素子 | |
JPH05307624A (ja) | 信号処理装置 | |
JPH056351A (ja) | 信号処理装置 | |
JPH03268079A (ja) | 信号処理装置 | |
JPH04184667A (ja) | 信号処理方法及びその装置 | |
JPH05108599A (ja) | 信号処理装置 | |
JPH05290014A (ja) | 信号処理装置 | |
JPH05298276A (ja) | 信号処理装置 | |
JPH03268080A (ja) | 信号処理装置 | |
JPH05108598A (ja) | 信号処理装置 | |
JPH05210650A (ja) | 信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040722 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040723 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |