JPH03260785A - Signal processing method and its network - Google Patents
Signal processing method and its networkInfo
- Publication number
- JPH03260785A JPH03260785A JP2058515A JP5851590A JPH03260785A JP H03260785 A JPH03260785 A JP H03260785A JP 2058515 A JP2058515 A JP 2058515A JP 5851590 A JP5851590 A JP 5851590A JP H03260785 A JPH03260785 A JP H03260785A
- Authority
- JP
- Japan
- Prior art keywords
- coupling coefficient
- signal
- circuit
- learning
- neuron
- 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.)
- Pending
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
捉1r腎
本発明は、信号処理回路方法及びその回路網、より詳細
には、神経回路網を模倣したニューラルコンピュータに
関して、例えば、文字や図形認識、ロボットなどの運動
制御、連想記憶に適用して好適な信号処理方法及びその
方法を実施するための回路網に関するものである。
従迷韮豊
生体の情報処理の基本的な単位である神経細胞にューロ
ン)の機能を模倣し、さらに、この「神経細胞模倣素子
」をネットワークにし、情報の並列処理をめざしたのが
、いわゆるニューラルネットワークである。文字認識や
、連想記憶、運動制御等、生体ではいとも簡単に行われ
ていても、従来のノイマン型コンピュータではながなか
達成しないものが多い。生体の神経系、特に生体特有の
機能、即ち並列処理、自己学習等を模倣して、これらの
問題を解決しようとする試みが盛んに行われている。し
かしながら、これらの試みは、計算機シミュレーション
で行われているものが多く、本来の機能を発揮するには
、並列処理が必要であり、そのためにはニューラルネッ
トワークのハードウェア化が必要である。一部では、既
にハードウェア化の試みも行われているが、ニューラル
ネットワークの特徴の1つである自己学習機能が実現で
きず、大きなネックになっている。また、はとんどのも
のはアナログ回路で実現されており、動作の点で問題が
ある。
第9図は、従来のニューラルネットワークのモデルにつ
いて説明するための図で、図中、Aは、1つの神経細胞
ユニットを表し、第10図は、それをネットワークに構
成したもので、A工、A2、A3は、それぞれ神経細胞
ユニットを表わす。1つの神経細胞は、多数の他の神経
細胞ユニットと結合し信号を受け、それを処理して出力
を出す。
第10図の場合、ネットワークは階層型であり、ユニッ
トA2は、1つ前の層のユニッhA1より信号を受け、
1つ先の層のユニットA3へ出力する。
最初に、第9図の神経細胞ユニットAについて説明する
と、他の神経細胞ユニットと、自分の神経細胞ユニット
との、結合の度合を表すのが、結合係数Tと呼ばれてい
るもので、1番目のユニットとj番目のユニットの結合
係数を、一般にTI4で表す。結合には、相手のニュー
ロンからの信号が大きいほど、自分の出力が大きくなる
興奮性結合と、逆に、相手の信号が大きいほど、自分の
出力が小さくなる抑制性結合があるが、Ttp>Oが興
奮性結合、T I J < Oが抑制性結合を表す。自
分がj番目のユニットの時、j番目のユニットからの入
力をy、とするとこれにTiJをかけた’rIJy。
が、自分のユニットへの入力となる。先に述べたように
、各ユニットは他の多数のユニットと結合しているので
、それらのユニットに対するTta3’1を足し合わせ
たもの、つまり、ΣTl、ylが自分のユニットへの入
力となる。これを内部電位と言い、ujで表す。
uj=ΣTtj3/+ (1)
次に、この入力に対して、非線形な処理をして、出力と
する。このときの関数を神経細胞応答関数と呼び、非線
形関数として次に示すような、シグモイド関数を用いる
。
f (x)=
(2)1+e
第11図は、上記シグモイド関数を示す。
上記各ユニットを接続してネットワークにしたときは、
各結合係数を与え、式(1〜2)を次々と計算すること
によって、最終的な出力が得られる。
第12図は、上記ネットワークを電気回路で実現したも
のの一例を示す図で(特開昭62−295188号公報
)、これは、ネットワークへの入力や出力の信号強度を
電圧で表し、上記神経細胞ユニット間の結合係数TIJ
の値を抵抗値で実現したものである。すなわち、第12
図において、複数の増幅器53は、反転出力53a及び
非反転出力52bとを有し、かつ、各増幅器53の入力
には入力電流を供給する手段52を有しており、予め選
ばれた第1の値又は予め選ばれた第2の値であるコンダ
クタンス(T I J )で前記増幅器の各々の出力を
前記入力に接続する相互接続マトリックス51を構成し
ている。前記のTijはj番目の増幅器の出力とj番目
の増幅器との入力との間の相互コンダクタンスを表わし
、前記T、Jコンダクタンスは、回路網が平衡する複数
の極小値を作るように選ばれ、複数の極小値を持ったエ
ネルギー関数を最小化するようにしている。結合係数T
LJの場合、負の抵抗値は実現できないので、増幅器5
3を用いて出力を反転させることでこれを実現している
。また、第11図で示したシグモイド関数に相当するも
のとして、増幅器53を用いている。しかしながらこれ
らの回路には以下のような問題点がある。
■信号の強度を電位や電流などのアナログ値で表し、内
部の演算もアナログ的に行わせる場合、温度特性や、電
源投入直後のドリフト等により、その値が変化する。
■ネットワークであるから、素子の数も多く必要である
が、それぞれの特性を揃えることは困難である。
■1つの素子の精度や安定性が問題になったとき、それ
をネットワークにしたとき、新たな問題が起きる可能性
があり、ネットワーク全体でみたときの動きが予想でき
ない。
■T、jが固定であり、あらかじめシミュレーションな
どの他の方法で学習させた値を使うしがなく、自己学習
ができない。
一方、数値計算で用いられている学習法則としては、パ
ックプロパゲーションと呼ばれる次のようなものがある
。
まず、各結合係数は、最初は、ランダムに与えておくが
、この状態で、入力を与えると、出方結果は、必ずしも
望ましいものではない。例えば、文字認識の場合、手書
きの「1」の文字を与えた場合、出力結果として、「こ
の文字は「1」である、、!lとでるのが、望ましい結
果であるが、結合係数が、ランダムであると、必ずしも
望ましい結果とはならない。そこで、このネットワーク
に正解(教師信号)を与えて、再び、同じ入力があった
とき正解になるように、各結合係数を変化させる。この
とき、結合係数を変化させる量を求めるアルゴリズムが
、パックプロパゲーションと呼ばれているものである。
まず、最終層のj番目のニューロンの出力をy、とし、
そのニューロンに対する教師信号をd。
とすると、
E=Σ(ap−y、+) 2 (3
)で表されるEが最小となるように、
を用いて、Ti3を変化させる。さらに具体的に説明す
ると、ます、出力層と、その1つ前の層との結合係数を
求める場合には。
δJ= (dJ )#)X f’(ua)
(5)を用いてδ(誤差信号)を求める(ただし、
f′はfの一階微分である)。それよりさらに前の層同
士の結合係数を求める場合には、
δ3=ΣδITljxf’(ut) (6
)を用いて、δ (誤差信号)を求め、
Δ゛I”1.=η(δ、y1)十αΔT工、(前回の学
習時)T、J=T1j+ΔTLJ (
7)を求めて、TL、を変化させる。ここで、ηは学習
定数、αは安定化定数と呼ばれているものである。
それぞれ、理論的には求めることができないもので、経
験的に求める。
この学習を何回も繰り返すうちに、やがて、与えられた
入力に対して、望ましい結果が得られるようにT、が決
定される。
さて、この学習方法を何らかの方法でハードウェア化し
ようとした場合、学習には、多量の四則演算が必要であ
り、実現が困難である。学習方法そのものもハードウェ
ア化に対しては不向きである。
第13図〜第15図は、このようなニューラルネットワ
ークをデジタル回路で実現した例を示す図で、第13図
は、単一神経細胞の回路構成例を示す図で、60はシナ
プス回路、61は樹状突起回路、62は細胞体回路を示
す。第14図は、第13図に示したシナプス回路60の
構成例、第15図は、第13図に示した細胞体回路62
の構成例を示す図で、第14図中のfは入力信号、Wは
重み付けの値、aはフィートバラ94n号に掛ける倍率
(1又は2)である。これは、神経細胞ユニットの入出
力をパルス列で表し、そのパルス密度で信号の量を表し
ている。結合係数は2進数で表し、メモリ上に保存して
おく。入力信号をレートマルチプライヤ−のクロックへ
入力し、結合係数をレート値へ入力するにことによって
、入力信号のパルス密度をレート値に応じて減らしてい
る。
これは、BP(パックプロパゲーション)モデルの式の
T、y、の部分に相当する。
次に、ΣT、、yLのΣの部分は、樹状突起回路61に
よって示されるOR回路で実現している。
結合には興奮性、抑制性があるので、予めグループわけ
しておき、それぞれのグループ別に○Rをとる。第13
図において、Foは興奮性、F2は抑制性出力を示す。
この2つの出力を第15図に示したカウンター62のア
ップ側、ダウン側に入力してカウントすることで出力が
得られる。この出力は2進数であるので再びレートマル
チプライヤ−を用いて、パルス密度に変換する。この神
経細胞ユニットをネットワークにすることによって、ニ
ューラルネットワークが実現できる。学習については、
最終出力を外部のコンピュータに入力して、コンピュー
タ内部で数値計算を行い、その結果を結合係数のメモリ
に書き込むことによって実現している。従って、自己学
習機能は全くない。
又、回路構成も、パルス密度の信号をカウンターを用い
て一旦数値に直し、その後再びパルス密度に直しており
、複雑なものになっている。
上述のように、従来技術では、
■アナログ回路は動作に確実性がない。
■数値計算による学習方法も計算が複雑であり、ハード
ウェア化に適さない。
■デジタル方式の回路では、回路構成が複雑である。
■ハードウェア上で自己学習ができない。
等の欠点があった。
且−一匁
本発明は、上述のごとき実情に鑑みてなされたもので、
特に、動作が確実なデジタル回路の採用を可能にし、か
つ、ハードウェア化が容易なシンプルな信号処理、学習
方法を提供し、かつ、実際にハードウェア上で自己学習
を含めて実現することを目的としてなされたものである
。
監−一裟
本発明は、上記目的を達成するために、結合係数可変手
段と、この結合係数可変手段の可変結合係数値と教師信
号に対する誤差信号に基づいて生成する結合係数生成手
段とによって自己学習手段を形成し、この自己学習手段
を神経細胞模倣素子に付設して神経細胞模倣ユニットを
形成し、これら自己学習手段と神経細胞模倣素子とを網
状に形成して複数の神経細胞模倣手段を形成してデジタ
ル論理によって信号の処理を行う信号処理方法において
、前記結合係数を外部より読み書き可能としたこと、或
いは、上記方法をハードウェア化した信号処理回路、す
なわち、結合係数可変回路と、この結合係数可変回路の
可変結合係数値を教師信号に対する誤差信号に基づいて
生成する結合係数生成回路により自己学習回路と構成す
るとともに、この自己学習回路を神経細胞模倣素子に付
設して神経細胞模倣回路を構成し、これら自己学習回路
と神経細胞模倣素子とをデジタル論理回路により網状に
接続して複数の神経細胞模倣回路網を構成した信号処理
回路網において、前記結合係数を外部より読み書き可能
な回路を有することを特徴としたものである。以下、本
発明の実施例に基づいて説明する。
最初に、本発明の基本的な考え方について説明すると、
本発明の基本的な考え方は、
■入出力、中間信号、結合係数、教師信号などはスヘて
、0.1の2値で表されたパルス列で表す。
■信号の量は、パルス密度で表す(ある一定時間内の[
1」の数)。
■神経細胞ユニット内での計算はパルス列同士の論理演
算で表す。
■結合係数のパルス列はメモリ上に置く。
■学習は、このパルス列を書き換えることで実現する。
■学習については、与えられた教師信号パルス列を元に
誤差を計算し、これに基づいて、結合係数パルス列を変
化させる。このとき、誤差の計算、結合係数の変化分の
計算もすへて、0.1のパルス列の論理演算で行う。
ことにある。
以下、上記本発明の考え方を具体化した実施例について
説明する。
[信号演算]
第1図は、1つの神経細胞に相当する部分を示す図で、
それをネットワークにしたものは、第10図に示したよ
うに、従来と同じ階層型を用いる。入出力はすへて1.
0に2値化され、さらに同期化されたものを用いる。入
力信号yIの強度は、パルス密度で表現し、例えば、あ
る一定時間内にある、1の状態数で表わし、次の(8)
式のように表わす。
入力信号 L−−1”−”−= 4 / G (8
)同期信号 1」−上」−土」−
これは4/6を表す信号を示したもので、同期パルス6
個中、信号は1が4個、0が2個である。
このとき、1とOの並び方は後述するようにランダムで
あることが望ましい。
一方、結合係数TIJも同様にパルス密度で表現し、次
の(9)式に示すようにOと1のビット列として表わし
、あらかじめメモリ上に用意しておく。
結合係数 =3/6 (9)同期信
号 L」−上」−土」−
これはrlololoJ =3/6を表し、このときも
0と1の並び方はランダムである方が望ましい。具体的
にどうやって決めるかは後述する。そして、このビット
列を同期クロックに応じてメモリ上より順次読みだし、
第1図のAND回路により入力パルス列とのANDをと
る(ytnTtJ)。
これを神経細胞jへの入力とする。上記(8)、(9)
式の例を用いて説明すると、入力信号がrlollol
Jと入力したとき、これと同期してメモリ上よりビット
列を呼び出し、順次ANDをとることによって。
入力信号 L−一1m =4/6
結合係数 =3/6
(10)
3/ t nT t b = 2 /
6に示すような、rloloooJが得られ、これは
入力y工がTIJにより変換されパルス密度が276と
なることを示している。AND回路の出力のパルス密度
は、近似的には入力信号のパルス密度と結合係数のパル
ス密度の積となり、アナログ方式の結合係数と同様の機
能を有する。これは、信号の列が長いほど、また、1と
0の並び方がランダムであるほど、積に近い機能になる
。尚、入力パルス列に較べて、結合係数のパルス列が短
く、読み出すべきデータがなくなってしまったら、再び
データの先頭に戻って、読みだしをくりがえせばよい。
1つの神経細胞ユニットは多入力であるので、先に説明
した「入力信号と結合係数とのANDJも多数あり、次
にこれらのORをとる。入力は同期化されているので、
1番目のデータが「1o1000J、2番目ノテ′−夕
がroloooo」(7)場合、両者のORはrlll
oooJとなる。これを、(11)式に示すようにして
多入力同時に計算して出力とする。
ッ、n1’0、 L−ニー一一一一
:j + n T t、 −ニー一一一一(11)
U (y L n TIj)LLL−一一一この部分は
アナログ計算における和の計算及び非線関数(シグモイ
ド関数)の部分に対応している。
パルス密度が低い場合、そのORをとったもののパルス
密度は、それぞれのパルス密度の和に近似的に一致する
。パルス密度が高くなるにつれて。
ORの出力はだんだん飽和してくるので、パルス密度の
和とは結果が一致せず、非線形性がでてくる。ORの場
合、パルス密度は1より大きくなることがなく、Oより
小さくなることもなく、また単調増加関数であり、シグ
モイド関数と近似的に同様となる。
さて、結合には興奮性と抑制性があり、数値計算の場合
には、結合係数の符号で表し、アナログ回路の場合、先
に述べたように、TIJが負となる場合(抑制性結合)
には増幅器を用いて出力を反転させTIJに相当する抵
抗値で他の神経細胞へ結合させている。一方、本発明で
は、まず、T、jの正負により各結合を興奮性結合と抑
制性結合の2つのグループに分け、ついで、「入力信号
と結合係数のパルス列のANDJ同士のORを、このグ
ループ別に計算する。その後、興奮性グループの出力が
1で抑制性グループの出力がOのとき出力を1とし、興
奮性グループの出力がOで抑制性グループの出力が1の
時出力を0とする。両方とも1のとき又は両方ともOの
ときは出力はOでも1でもどちらでもよい、又、確率1
/2程度で出力を1としてもよい、たとえば、興奮性グ
ループの出力が1で抑制性グループの出力がOの時のみ
出力を出す、あるいは、興奮性グループの出力がOで抑
制性グループの出力が1のとき以外出力を出す、この機
能を実現するためには、前者の場合、興奮性グループの
出力と(抑制性グループの出力のN0T)とのANDを
とればよく(式(12)〜(15))、後者の場合(抑
制性グループの出力のN0T)と興奮性グループの出力
とのORをとればよい(式(16)〜(19))。
興奮性グループの出力 LL−−LL−抑制性グループ
の出力 −LL−−L−(12)
a” U (Y t n T t J) (T =興
奮性) (13)iE興奮性
b”U (yinTt、+)(T=抑制性)iC抑制性
(14)
y4=anb
(15)
興奮性グループの出力 11−−1」−抑制性グループ
の出力 −LL−一り−(16)
a =U (3/1nTtj) (T==興奮性
(17)iE興奮性
b=LJ (’:I t n T t s ) (T
=抑制性) (18)iE抑制性
y j= a U b
(19)神経細胞ユニットのネットワークは、BP
(パックパロゲーション)と同様な階層型(第10図)
とする。ネットワーク全体を同期させおけば、各層とも
いままで述べてきた機能で計算することが可能である。The present invention relates to a signal processing circuit method and its circuit network, and more particularly, to a neural computer imitating a neural network, and is applicable to, for example, character and figure recognition, motor control of robots, and associative memory. The present invention relates to a preferred signal processing method and a circuitry for implementing the method. By imitating the functions of nerve cells (neurons), which are the basic unit of information processing in living organisms, and by creating a network of these "neuron mimicking elements", we aimed to parallelize information processing. It is a neural network. Many things, such as character recognition, associative memory, and motor control, are easily accomplished in living organisms, but are difficult to achieve with conventional Neumann computers. Many attempts are being made to solve these problems by imitating the nervous system of living organisms, especially functions unique to living organisms, such as parallel processing and self-learning. However, many of these attempts have been carried out using computer simulations, and parallel processing is required to achieve the original function, and for this purpose it is necessary to implement neural networks in hardware. Although some attempts have already been made to turn it into hardware, the self-learning function, which is one of the characteristics of neural networks, has not been realized, which has been a major bottleneck. Additionally, most of them are implemented using analog circuits, which pose problems in terms of operation. FIG. 9 is a diagram for explaining a conventional neural network model. In the figure, A represents one neuron unit, and FIG. 10 shows it configured into a network. A2 and A3 each represent a neuron unit. A single neuron connects with many other neuronal units, receives signals, processes them, and produces an output. In the case of FIG. 10, the network is hierarchical, and unit A2 receives a signal from unit hA1 in the previous layer,
Output to unit A3 of the next layer. First, to explain neuron unit A in FIG. 9, the coupling coefficient T represents the degree of coupling between other neuron units and its own neuron unit, and is 1. The coupling coefficient between the th unit and the jth unit is generally denoted by TI4. There are two types of connections: excitatory connections, in which the larger the signal from the other neuron, the greater the own output; and conversely, inhibitory connections, in which the larger the other neuron's signal, the smaller the own output. O represents an excitatory connection, and T I J < O represents an inhibitory connection. If you are the jth unit and the input from the jth unit is y, then TiJ is multiplied by 'rIJy. is the input to your unit. As mentioned above, each unit is connected to many other units, so the sum of Tta3'1 for those units, that is, ΣTl, yl, becomes the input to its own unit. This is called the internal potential and is expressed as uj. uj=ΣTtj3/+ (1)
Next, this input is subjected to nonlinear processing and output. The function at this time is called a neuron response function, and a sigmoid function as shown below is used as a nonlinear function. f(x)=
(2) 1+e Figure 11 shows the above sigmoid function. When connecting the above units to create a network,
The final output is obtained by giving each coupling coefficient and calculating equations (1-2) one after another. FIG. 12 is a diagram showing an example of the above-mentioned network realized by an electric circuit (Japanese Patent Application Laid-Open No. 62-295188). Coupling coefficient TIJ between units
The value of is realized by the resistance value. That is, the 12th
In the figure, the plurality of amplifiers 53 have an inverting output 53a and a non-inverting output 52b, and the input of each amplifier 53 has means 52 for supplying an input current, and a preselected first an interconnection matrix 51 connecting the output of each of the amplifiers to the input with a conductance (T I J ) that is the value of or a second preselected value. said Tij represents the transconductance between the output of the j-th amplifier and the input to the j-th amplifier, said T, J conductances being chosen to produce a plurality of local minima on which the network is balanced; I am trying to minimize an energy function that has multiple local minima. Coupling coefficient T
In the case of LJ, a negative resistance value cannot be achieved, so the amplifier 5
This is achieved by inverting the output using 3. Further, an amplifier 53 is used as a function corresponding to the sigmoid function shown in FIG. However, these circuits have the following problems. ■When signal strength is expressed as an analog value such as electric potential or current, and internal calculations are also performed in an analog manner, the value changes due to temperature characteristics, drift immediately after power-on, etc. ■Since it is a network, a large number of elements are required, but it is difficult to match the characteristics of each element. ■When the accuracy or stability of a single element becomes a problem, new problems may occur when it is made into a network, and the behavior of the entire network cannot be predicted. - Since T and j are fixed, there is no way to use values learned in advance by other methods such as simulation, and self-learning is not possible. On the other hand, as a learning law used in numerical calculations, there is the following one called pack propagation. First, each coupling coefficient is given randomly at first, but when input is given in this state, the output result is not necessarily desirable. For example, in the case of character recognition, if a handwritten character "1" is given, the output result will be "This character is "1"...! Although it is a desirable result to obtain l, this is not necessarily a desirable result if the coupling coefficients are random. Therefore, a correct answer (teacher signal) is given to this network, and each coupling coefficient is changed so that the correct answer is obtained when the same input is received again. At this time, the algorithm for determining the amount by which the coupling coefficient is changed is called pack propagation. First, let y be the output of the j-th neuron in the final layer,
d the teacher signal for that neuron. Then, E=Σ(ap-y,+) 2 (3
) is used to change Ti3 so that E expressed by is minimized. More specifically, when calculating the coupling coefficient between the output layer and the layer immediately preceding it. δJ= (dJ)#)X f'(ua)
Find δ (error signal) using (5) (however,
f' is the first derivative of f). When calculating the coupling coefficient between layers further before that, δ3=ΣδITljxf'(ut) (6
), find δ (error signal), and use
7), and change TL. Here, η is a learning constant, and α is a stabilization constant. Each of these is something that cannot be determined theoretically, but must be determined empirically. By repeating this learning many times, T is determined so that a desired result can be obtained for a given input. Now, if this learning method were to be implemented in hardware in some way, the learning would require a large amount of four arithmetic operations, which would be difficult to implement. The learning method itself is also unsuitable for hardware implementation. 13 to 15 are diagrams showing an example of realizing such a neural network with a digital circuit. FIG. 13 is a diagram showing an example of a circuit configuration of a single neuron, 60 is a synaptic circuit, 61 indicates a dendritic circuit, and 62 indicates a cell body circuit. FIG. 14 shows a configuration example of the synaptic circuit 60 shown in FIG. 13, and FIG. 15 shows a configuration example of the cell body circuit 62 shown in FIG.
In FIG. 14, f is an input signal, W is a weighting value, and a is a magnification (1 or 2) to be multiplied by Feet Rose No. 94n. This represents the input and output of a neuron unit as a pulse train, and the pulse density represents the amount of signal. The coupling coefficient is expressed as a binary number and stored in memory. By inputting the input signal to the rate multiplier clock and inputting the coupling coefficient to the rate value, the pulse density of the input signal is reduced in response to the rate value. This corresponds to the T and y parts of the equation of the BP (pack propagation) model. Next, the Σ portion of ΣT, , yL is realized by an OR circuit represented by a dendrite circuit 61. Since connections have excitatory and inhibitory properties, they are divided into groups in advance and marked with ○R for each group. 13th
In the figure, Fo indicates excitatory output and F2 indicates inhibitory output. An output is obtained by inputting these two outputs to the up side and down side of the counter 62 shown in FIG. 15 and counting them. Since this output is a binary number, it is converted into a pulse density using a rate multiplier again. A neural network can be realized by forming a network of these neuron units. Regarding learning,
This is achieved by inputting the final output into an external computer, performing numerical calculations inside the computer, and writing the results into the coupling coefficient memory. Therefore, there is no self-learning function at all. Furthermore, the circuit configuration is complicated, as the pulse density signal is first converted into a numerical value using a counter, and then converted back into the pulse density. As mentioned above, in the conventional technology, (1) Analog circuits do not operate reliably. ■Learning methods based on numerical calculations also require complicated calculations and are not suitable for hardware implementation. ■Digital circuits have complex circuit configurations. ■Self-learning is not possible on hardware. There were drawbacks such as. The present invention was made in view of the above-mentioned circumstances, and
In particular, we will enable the adoption of digital circuits with reliable operation, provide simple signal processing and learning methods that can be easily implemented in hardware, and aim to actually implement self-learning on hardware. It was done for a purpose. SUMMARY OF THE INVENTION In order to achieve the above object, the present invention has a coupling coefficient variable means and a coupling coefficient generating means that generates a variable coupling coefficient value based on an error signal with respect to a teacher signal and a variable coupling coefficient value of the coupling coefficient variable means. A learning means is formed, this self-learning means is attached to a neuron imitation element to form a neuron imitation unit, and these self-learning means and the neuron imitation element are formed in a network to form a plurality of neuron imitation means. In the signal processing method for processing signals using digital logic, the coupling coefficients can be read and written externally, or a signal processing circuit that implements the above method in hardware, that is, a variable coupling coefficient circuit; A self-learning circuit is configured with a coupling coefficient generation circuit that generates a variable coupling coefficient value of the coupling coefficient variable circuit based on an error signal with respect to a teacher signal, and this self-learning circuit is attached to a neuron imitation element to form a neuron imitation circuit. In a signal processing circuit configured to constitute a plurality of neuron imitation circuit networks by connecting these self-learning circuits and neuron imitation elements in a network using digital logic circuits, a circuit capable of reading and writing the coupling coefficients from the outside. It is characterized by having the following. Hereinafter, the present invention will be explained based on examples. First, to explain the basic idea of the present invention,
The basic concept of the present invention is as follows: (1) Input/output, intermediate signals, coupling coefficients, teacher signals, etc. are represented by a pulse train expressed as a binary value of 0.1. ■The amount of signal is expressed by pulse density ([
1”). ■Calculations within a neuron unit are expressed by logical operations between pulse trains. ■Place the coupling coefficient pulse train in memory. ■Learning is achieved by rewriting this pulse train. (2) Regarding learning, calculate the error based on the given teacher signal pulse train, and change the coupling coefficient pulse train based on this. At this time, the calculation of the error and the calculation of the change in the coupling coefficient are all performed by logic operations using a pulse train of 0.1. There is a particular thing. Examples that embody the above idea of the present invention will be described below. [Signal calculation] Figure 1 is a diagram showing a portion corresponding to one nerve cell,
To create a network using this, the same hierarchical structure as before is used, as shown in FIG. Input/output is done 1.
The data that has been binarized to 0 and further synchronized is used. The intensity of the input signal yI is expressed as a pulse density, for example, the number of states of 1 within a certain period of time, and is expressed as the following (8)
It is expressed as the formula. Input signal L--1"-"-=4/G (8
) Sync signal 1"-Up"-Sat"- This shows the signal representing 4/6, and the sync pulse 6
Among the signals, there are 4 1 signals and 2 0 signals. At this time, it is desirable that the 1's and O's are arranged randomly, as will be described later. On the other hand, the coupling coefficient TIJ is similarly expressed in terms of pulse density, expressed as a bit string of O's and 1's as shown in the following equation (9), and prepared in advance on the memory. Coupling coefficient = 3/6 (9) Synchronization signal L''-upper''-earth''- This represents rlololoJ = 3/6, and in this case as well, it is preferable that the arrangement of 0's and 1's be random. The specific method for determining this will be described later. Then, this bit string is read out sequentially from the memory according to the synchronous clock,
The AND circuit shown in FIG. 1 performs AND with the input pulse train (ytnTtJ). This is the input to neuron j. (8), (9) above
To explain using an example of a formula, the input signal is rlollol
When J is input, a bit string is called up from memory in synchronization with this, and AND is performed sequentially. Input signal L-1m = 4/6 Coupling coefficient = 3/6 (10) 3/ t nT t b = 2 /
6 is obtained, which indicates that the input y is converted by TIJ and the pulse density becomes 276. The pulse density of the output of the AND circuit is approximately the product of the pulse density of the input signal and the pulse density of the coupling coefficient, and has the same function as the coupling coefficient of the analog method. This function becomes closer to a product as the string of signals becomes longer and the arrangement of 1's and 0's becomes more random. Incidentally, if the pulse train of the coupling coefficient is shorter than the input pulse train and there is no more data to be read, it is sufficient to return to the beginning of the data and repeat the reading. Since one neuron unit has multiple inputs, there are many ANDJs between input signals and coupling coefficients, as explained earlier, and then OR these.Since the inputs are synchronized,
If the first data is "1o1000J, 2nd note' - evening is roloooo" (7), the OR of both is rllll
It becomes oooJ. This is calculated simultaneously for multiple inputs as shown in equation (11) and output. t, n1'0, L-nee 1111:j + n T t, -nee 1111 (11) U (y L n TIj) LLL-111 This part is the calculation of the sum in analog calculation and a nonlinear function (sigmoid function). When the pulse density is low, the ORed pulse density approximately matches the sum of the respective pulse densities. As the pulse density increases. Since the output of the OR gradually becomes saturated, the result does not match the sum of the pulse densities, and nonlinearity appears. In the case of OR, the pulse density is never greater than 1, never less than O, and is a monotonically increasing function, approximately similar to a sigmoid function. Now, coupling has excitatory and inhibitory properties, and in the case of numerical calculations, it is expressed by the sign of the coupling coefficient, and in the case of analog circuits, as mentioned earlier, when TIJ is negative (inhibitory coupling)
In this case, an amplifier is used to invert the output and connect it to other neurons with a resistance value corresponding to TIJ. On the other hand, in the present invention, each connection is first divided into two groups, excitatory connections and inhibitory connections, depending on the sign of T and j, and then, ``OR of the ANDJ of the pulse train of the input signal and the connection coefficient is Calculate separately. Then, when the output of the excitatory group is 1 and the output of the inhibitory group is O, the output is set to 1, and when the output of the excitatory group is O and the output of the inhibitory group is 1, the output is set to 0. .When both are 1 or when both are O, the output can be O or 1, and the probability is 1.
/2 and the output may be set to 1. For example, the output is output only when the excitatory group's output is 1 and the inhibitory group's output is O, or the excitatory group's output is O and the inhibitory group's output is output. In order to realize this function of outputting an output when (15)), in the latter case (N0T of the output of the inhibitory group) and the output of the excitatory group may be ORed (Equations (16) to (19)). Excitatory group output LL--LL- Inhibitory group output -LL--L- (12) a” U (Y t n T t J) (T = excitatory) (13) iE excitatory b”U (yinTt, +) (T=inhibitory) iC inhibitory (14) y4=anb (15) Excitatory group output 11--1''-inhibitory group output -LL-one-(16) a = U (3/1nTtj) (T==excitability
(17) iE excitability b=LJ (': I t n T t s ) (T
= inhibitory) (18) iE inhibitory y j = a U b
(19) The network of neuronal units is BP
Hierarchical type similar to (pack parogation) (Figure 10)
shall be. If the entire network is synchronized, each layer can be calculated using the functions described above.
【学 習]
■最終層における誤差信号
まず、最終層での各ニューロンにおける誤差信号を計算
する。
本発明では誤差信号を以下のように定義する。誤差を数
値で表すと、一般には+−の両方を取り得るが、パルス
密度では、正、負の両方を同時に表現できないので、十
戒分を表す信号と、−成分を表す信号の2つを使って誤
差信号を表現する。
δ’、E (yJ XORd、)AND d。
誤差信号−’ (23)
δ゛、=(ya XORd、)AND y。
つまり誤差信号十は教師信号パルスと出力パルスの違っ
ている部分(1,0又は051)の内、教師信号側に存
在するパルス、誤差信号−は同様に出力側に存在するパ
ルスである。つまり、圧力パルスに誤差信号十パルスを
付は加え、誤差信号−パルスを取り除くと、教師信号パ
ルスになるようになっている。この誤差信号パルスをも
とに結合係数を変化させるのであるが、これについては
後に述べる。
■中間層における誤差信号
さらに誤差信号を逆伝播させ、最終層とその1つ前の層
との結合係数でけでなく、更にその前のR9の結合係数
も変化する。そのため、中間層における各ニューロンで
の誤差信号を計算する必要がある。中間層のあるニュー
ロンから、さらに1つ先の暦の各ニューロンへ信号を伝
播させたのとは、ちょうど逆の要領で1つ先の層の各ニ
ューロンにおける誤差信号を集めてきて、自分の誤差信
号とする。このことは、神経細胞ユニット内での演算の
式(8)〜(19)と同じ様な要領で行うことができる
。すなわち、まず、結合を興奮性か抑制性かによって、
2つのグループに分け、かけ算の部分はANDで、Σの
部分はORで表現する。但し、神経細胞ユニット内での
式(8)〜(19)と違うのは、yは1つの信号である
のに対して、δは正、負を表す信号として2つの信号を
持ち、その両方の信号を考慮する必要がある。したがっ
て、Tの正負、δの正負の4つの場合分けをする必要が
ある。まず、興奮性結合の場合を説明すると、1つ先の
層のに番目のニューロンでの誤差信号+(δ°、)とそ
のニューロンと自分との結合係数(T 、+k) (7
) A N Dを取ったもの(δ’mnTti)を各ニ
ューロンについて求め、さらにこれら同士のORをとる
(U (δ’hnTti))。そしてこれを、この層の
誤差信号十とする。
δ・、nT、、止上−1−1
δ・* n T J、−」ニー−ニー
又、一つ先の誤差信号−と結合係数のANDをとり、さ
らにこれら同士のORをとることによって、同様に、こ
の層の誤差信号−とする。
δ−□nTJ□
δ−h n T J、ニーーー−1−
(25)
δ−1−一口」−
次に、抑制性結合の場合の説明すると、1つ先の誤差信
号−と結合係数のANDを取り、さらにこれら同士のO
Rをとる。
δ−0nT、、−LL−L−」−
δ−* n T J k−LL−」−
又、1つ先の誤差信号十と結合係数のANDを取り、さ
らにこれら同士のORをとる。そしてこれをこの層の誤
差信号とする。
δ+ 、nT、1
δ“ hn T Jk
1つのニューロンから別のニューロンへは興奮性で結合
しているものもあれば、抑制性で結合しているものもあ
るので、(24)式で求めたδ“と(26)式で求めて
δ“のORをとり、このニューロンの61とする。
同様に、(25)式で求めたδ−と(27)式で求めた
δ−のORをとり、このニューロンのδとする。
以上をまとめると。
δ’t=(Ll(δ” knT、+k))U(IJ(δ
−hnTjk))kE興奮性 kE抑制性
δ−a=(U(δ−hnT、+m))u(u(δ” h
nTg))kE興奮性 kE抑制性
(28)
となる。
さらに、学習のレートに相当する機能を設けてもよい。
数値計算に於いてレートが1以下のとき、さらに学習能
力か高まる。これは、パルス列の演算では、パルス列を
間引くことで実現できる。これは、カウンター的な考え
方をし、次のようなものにした。例えばη=0.5では
、元の信号のパルス列を1つおきに間引く、y=0.3
3では、2つおきに残す、y=0.67では2つおきに
間引く。なお、元の信号のパルスが等間隔でなくても、
元のパルス列に対して、例(2)に示すようにして間引
くことができる。
例1)
元の信号
η=0.5の場合
η=0.33の場合
η=o、67の場合
例2)
η=0.67の場合
(29)
このようにして、誤差信号を間引くことによって、学習
レー1〜の機能をもたせることかできる。
■誤差信号より各結合係数を変化
以上に説明した方法により誤差信号を求め、各結合係数
を変化させるのであるが、以下それについて次に述べる
。
変化させたい結合係数が属しているラインを流れる信号
と誤差信号のANDをとる(δny)。
但し、本発明では誤差信号は+と−の2つの信号がある
ので、それぞれ計算をする。
δ’ jn ’j 1
ΔT Lj
δ’ 3 n ’/ t
ΔT°、。
この様にして得られた2つの信号をΔTi、とする。本
発明に於けるTljは、絶対値成分であるので、元のT
LJが興奮性か、抑制性かで場合分けをし、あらたなT
i、を求める。
昇棗炸列員育
元のTLjに対して、八T’tjの成分を増やし、八T
″9.の成分を減らす。
TIJ
ΔT 1j
Δ’l” I J
「−」−一ユー−[−
一一一一一一一一り−
(32)
学習後の’I’rs [L北−11−一迎11]υ屹
金
元のTIJに対して、Δ−1−+ 、の成分を減らし、
Δ゛r−1の成分を増やす。
Tlj
ΔT・Ij L−一」−m−
ΔT”lj −一一一」−」
(33)
学習後のTll −L−一−11“−以上の学習側に
もとづいて、ネットワークの計算をする。
【回路構成】
以上のアルゴリズムを基に、これを実際の回路にしたも
のを第2図〜第4図に示す。ネットワーク全体は第10
図と同様で、第10図の線Bに相当する部分の回路を第
2図に、また第10図のA1−A3に相当する部分を第
3図に刀(ず。又、最終層の出力と教師信号から最終ノ
ーにおける誤差信号を求める部分を第4図に示す。これ
らの第2図乃至第4図を第10図に示したようにネット
ワークにすることによって、自己学習が可能なテジタル
方式のニューラルネットワークか実現できる。
ます、第2図から説明すると、■は、ニューロンへの人
力信号で式(8)に相当する。式(9)の結合係数は、
シフトレジスタ8に保存しておく。
8Aが取り出し口で、8Bが入口である。この場合、シ
フトレジスタと同様の機能を持つものであ才しば、その
ほかのもの、例えば、RAM+アドレスコントローラ等
でもよい。また、シフトレジスタあるいはアドレスコン
トローラ等には、図示しないが式(9)の同期信号が与
えられている。9は式(10)に相当する回路で、入力
信号と結合係数とのANDを取っている。この出力は結
合が興i!lIi性か抑制性かによってグループ分けし
なければいけないが、あらかじめそれぞれのグループへ
の出力4.5を用意し、どちらに出力するのかを切り替
えるようにした方が汎用性が高い。このため、結合が興
奮性か抑制性かを表すピッ1へをメモリ14に保存して
おき、回路13で切り替える。
各入力を処理する式(]−1)に相当するOR回路が第
2図の11である。さらに式(12)の!)l[′#i
性タループか↓で、抑制性クループかOの時のみ出力を
出す回路が第3図の回路17である。また、式(16)
の場合に於いても同様に論理回路で容易に実現できる。
次に、誤差信号について説明する。最終層での誤差信号
を作るのが第4図である。これは式(20)〜(23)
に相当する。最終層からの出力20 (yj)及び教師
信号21 (Dj)より誤差信号22(Gpj)、(G
Mj)を作る。中間j−における誤羨4B号をd1算す
る式(24)〜(27)を回路にしたのか、第2図の1
0である。
結合が興奮性か抑制性かで場合分けをするので。
それを行うのが回路12である9あらかしめ回路14に
セットされたビットにより切り替える。又、誤差信号を
集めてくる計算式(28)の部分が、第3図の18であ
る。又、学習レートに相当する式(29)の部分が第3
図の19の分周回路である。これはフリップフロップ等
を用いることにより、容易に実現できる。
最後に誤差信号より新たな結合係数を計算する部分につ
いて説明する。式では(30)〜(33)で表されるが
、この部分は第2図の11である。
これも前記と同様、結合の興奮性、抑制性によって、場
合分けしなければならないので、第2図の回路12でこ
れを実現している。
さて、この回路では結合係数及び、その符号はメモリに
保存しである。ところがメモリの内容は電源を切ってし
まうと失われてしまうので、この内容を他の記録媒体に
保存する必要がある。また、既に学習済みの結合係数や
その符号が用意されている場合、これをメモリに書き込
むことで最初から学習しなおす必要がなくなる。そこで
、このメモリの内容を外部から自由にアクセスできると
非常に便利である。そこで、本発明では、さらに、結合
係数及びその符号を保存しであるメモリの内容を外部か
らアクセスロゴ能な機能を付加した。これは、第6図、
第7図に示すように、シフトレジスタ8の出口(第2図
の8A)、及び入り口(第2図の8B)を外部へ引き出
せは良い。出口8Aはそのまま引き出せば良いか、入り
口8Bは外部より読み書きするときは外部からの信号3
3を、読み書きしないときは内部からの4i1号33′
を用いるので、外部から読み書きをするかどうかの(J
。
号34を用いて、セレクタ31で切り替える。このとき
シフトレジスタ8の内容をシフトさせるためにクロック
36が必要であるが、これは、この信号処理回路を動作
させる除用いる内部クロック35式(9)の同期信号を
そのまま用い、さらに、このタロツク35を外部へ引き
出しく35″)、外部でこのタロツクに同期させて、シ
フトレジスタ8の内容を読み書きさせても良いしく第6
図の場合)、或いは、第7図に示すように、外部よりタ
ロツタ37を与λて、これに同期させて読み書きさせて
も良い。但し、外部よりタロツク37を与えるときは、
シフトレジスタ8に与えるクロック36を内部のクロッ
ク35と切り替える必要がある。これはシフ1〜レジス
タ8への入力信号を切り替えたのと同し要領でセレクタ
31aを用いて切り替えれば良い。また、シフトレジス
タ8の変わりにRA M+アトレステコータを用いてい
る場合は、アドレスバス、データバス及び読み書きのた
めの制御信号線を外部へ引き出すことにより、外部より
ランダムアクセスが可能になる。2つ以上のポートを持
つメモリの場合、1つを外部読み書き用に、もう1つを
内部処理用に用いれば良い。
ポートが1つのメモリの場合、外部からアクセスすると
きはアドレスバス等を内部のアトレステコーダからの線
と切り替えれはよい。これは第6図、第7図におけるタ
ロツク35.36.37をアドレスバス、読み書きのた
めの制御信号線に置き換えれば良い。
次に、第8図を用いて、複数のメモリを共通のバスで読
み書きする場合について説明する。第8図は第6図及び
第7図において説明に必要な部分のみを取り出して示し
たもので、ます、あらかじめ各メモリに固有のアドレス
を設定し、さらに外部より与えられたアドレスと自分の
持つ固有のアドレスとが一致するかどうかの判定回路4
2を備え付け、この判定結果でチップがセレクトされる
ようにしておく(44)。外部より読み書きするときは
このアドレス40を外部より与えることにより、唯1つ
のメモリがセレクトされ、任意のメモリが読み書き可能
となる。また、メモリのポートが1つしかないものを用
いるときは、外部より読み書きするしないの4i号41
を用い、しないときは全部のメモリかセレン1〜される
よっにし、さらに、外部読み書き用の共通バスへデータ
が流れないようにしておけば(43)、この信号処理回
路の持つ本来の並列処理力輸I能となる。
なお、以上に、本発明をハート化した場合の一例につい
て説明したが、これらは全体が1つのコンピュータ内に
組み込まれていても、あるいは、一部のみか組み込まれ
ていてもよく、更にはそれぞれが単独の機能をもって別
個に構成されているものに組み合せて全体を構成しても
よいことは容易に理解できよう。
失−J「−忽
以上に説明したネットワークを用いた自己学習式文字認
識装置について説明する。まず、手書き文字をスキャナ
ーで読み取り、16X16のメツシュにわけ、第5図に
示すように、文字部分のあるメツシュを1、ないメツシ
ュをOとしたうこのデータ(256個)をネットワーク
に入力し、出力は5つあるユニットのうちで一番大きい
出力のものの位置が、認識結果となるようにした。その
ため、「1」〜「5」までの数字を入力したとき、その
数字に対応する番号の出力が一番大きくなるように学習
させた。次に、ネットワークの構成は、第1層目が25
6個、第2層目が20個、第3層目が5個の神経細胞ユ
ニットからなるように構成した。最初、各結合係数はラ
ンダムとしておくと、出力結果は必ずしも所望のもので
はない。この回路の自己学習機能を用いて、各結合係数
を新たに求め、これを何回か繰り返すことによって、所
望の出力が得られるようにする。この実施例では、入力
は0か1であるので、入力パルス列は常にLOWレベル
、又はHI G Hレベルの単純なものである。又、出
力はトランジスタを介して、LEDと結び、LOWレベ
ルのとき4〕幻、HIGHレベルのとき点灯とした。同
期クロック1000 k Hzとしたので、パルス密度
に応して、人間の目にはLEDの明るさか変わり、した
がって、1番明るいLEDの部分が答えになる。十用学
習させた文字に対しては認識率]、 O0%を得た。
劾−緻
以上の説明から明らかなように、従来のニューラルネッ
トワークはほとんとコンピュータシミュレーションに頼
っており、一部で、このネットワークを回路化する試み
も行われている力1、それでも尚、学習機能については
コンピュータシミュレーションによるシリアル処理が行
われている。これに対して、本発明によると、学習機能
も含めて、ニューラルネタ1−ワークの機能をハードウ
ェア上で並列的に行うことができ、従って、従来のコン
ピュータシミュレーションのシリアル処理に比べて、処
理速度が著しく向上する。
さらに、結合係数及びその符号を外部より自由にアクセ
スできるため、既に学習済のデータを書き込んだり、ハ
ードウェアで学習させたデータをとり出して保存したり
、あるいは学習過程を外部より監視したりすることか可
能となり利便性が向上する。
笠の利点がある。[Learning] ■Error signal in the final layer First, calculate the error signal in each neuron in the final layer. In the present invention, the error signal is defined as follows. When error is expressed numerically, it can generally take both + and -, but since pulse density cannot express both positive and negative at the same time, two signals are used: one representing the ten commandments and the other representing the - component. to express the error signal. δ', E (yJ XORd,) AND d. Error signal -' (23) δ゛, = (ya XORd,) AND y. In other words, the error signal 0 is a pulse that exists on the teacher signal side among the different parts (1, 0, or 051) between the teacher signal pulse and the output pulse, and the error signal - is a pulse that similarly exists on the output side. That is, by adding ten error signal pulses to the pressure pulse and removing the error signal minus pulse, the teacher signal pulse is obtained. The coupling coefficient is changed based on this error signal pulse, which will be described later. (2) Error signal in intermediate layer Furthermore, the error signal is back-propagated, and not only the coupling coefficient between the final layer and the layer immediately before it but also the coupling coefficient of R9 before it changes. Therefore, it is necessary to calculate the error signal at each neuron in the hidden layer. In the same way as propagating a signal from a neuron in the middle layer to each neuron in the next layer, we collect the error signals in each neuron in the next layer and calculate our own error. Signal. This can be done in the same manner as the calculations in equations (8) to (19) within the neuron unit. That is, first, depending on whether the connection is excitatory or inhibitory,
Divided into two groups, the multiplication part is expressed by AND, and the Σ part is expressed by OR. However, the difference from equations (8) to (19) within a neuron unit is that y is one signal, whereas δ has two signals representing positive and negative, and both signals need to be considered. Therefore, it is necessary to differentiate into four cases: positive/negative of T and positive/negative of δ. First, to explain the case of excitatory connection, the error signal +(δ°,) at the th neuron in the next layer and the coupling coefficient between that neuron and itself (T, +k) (7
) A N D is obtained (δ'mnTti) for each neuron, and the OR of these is calculated (U (δ'hnTti)). This is then taken as the error signal of this layer. By taking the AND of the next error signal and the coupling coefficient, and then ORing these two, , Similarly, let the error signal of this layer be -. δ-□nTJ□ δ-h n T J, knee-1- (25) δ-1-bit''-Next, to explain the case of inhibitory coupling, the AND of the error signal of one ahead and the coupling coefficient and then O between these
Take R. δ-0nT,, -LL-L-"- δ-* n T J k-LL-"- Also, AND is taken with the next error signal 0 and the coupling coefficient, and then OR is taken between them. This is then used as the error signal for this layer. δ+ , nT, 1 δ" hn T Jk Since some neurons connect to another neuron through excitatory connections and others through inhibitory connections, we calculated it using equation (24). The OR of δ" and δ" obtained using equation (26) is taken, and this neuron is set to 61.Similarly, the OR of δ- obtained using equation (25) and δ- obtained using equation (27) is taken. , is the δ of this neuron.To summarize the above, δ't=(Ll(δ”knT,+k))U(IJ(δ
−hnTjk)) kE excitatory kE inhibitory δ−a=(U(δ−hnT,+m))u(u(δ” h
nTg)) kE excitatory kE inhibitory (28). Furthermore, a function corresponding to the learning rate may be provided. When the rate is less than 1 in numerical calculation, the learning ability further increases. This can be achieved by thinning out the pulse train in the pulse train calculation. I thought of this as a counter and came up with something like the following. For example, when η=0.5, every other pulse train of the original signal is thinned out, y=0.3
In 3, every second is left, and in y=0.67, every second is thinned out. Note that even if the pulses of the original signal are not equally spaced,
The original pulse train can be thinned out as shown in example (2). Example 1) When the original signal η = 0.5, when η = 0.33, η = o, when 67, Example 2) When η = 0.67 (29) In this way, the error signal is thinned out. By this, it is possible to provide the functions of learning relays 1 to 1. (2) Changing each coupling coefficient from the error signal The error signal is obtained by the method described above and each coupling coefficient is varied, which will be described below. The signal flowing through the line to which the coupling coefficient to be changed belongs and the error signal are ANDed (δny). However, in the present invention, since there are two error signals, + and -, calculations are performed for each. δ' jn 'j 1 ΔT Lj δ' 3 n '/t
ΔT°,. Let the two signals obtained in this way be ΔTi. Since Tlj in the present invention is an absolute value component, the original Tlj
Differentiate the cases depending on whether LJ is excitatory or inhibitory, and create a new T.
Find i. Increase the component of 8T'tj to the TLj of Shozamo Hakuryuen Ikumoto, and make 8T.
``Reduce the component of 9. TIJ ΔT 1j Δ'l'' I J ``-'' - 1 u - [- 11111111 - (32) 'I'rs [L north - 11-11] For the TIJ of υ屹金原, reduce the component of Δ-1-+,
Increase the component of Δ゛r-1. Tlj ΔT・Ij L-1"-m- ΔT"lj-111"-" (33) Based on the above learning side after learning, calculate the network. [Circuit configuration] Based on the above algorithm, actual circuits are shown in Figures 2 to 4.The entire network is shown in Figure 10.
Similar to the figure, the circuit of the part corresponding to line B in Fig. 10 is shown in Fig. 2, and the part corresponding to A1-A3 of Fig. 10 is shown in Fig. 3. Figure 4 shows the part for calculating the error signal at the final no from the teacher signal and the teacher signal. By making these Figures 2 through 4 into a network as shown in Figure 10, a digital method that allows self-learning can be created. It is possible to realize a neural network of
Save it in shift register 8. 8A is the outlet and 8B is the inlet. In this case, other devices may be used as long as they have the same function as the shift register, such as a RAM+address controller. Further, although not shown, a synchronization signal expressed by equation (9) is given to the shift register, address controller, etc. 9 is a circuit corresponding to equation (10), which performs an AND operation between the input signal and the coupling coefficient. This output is interesting to combine! Although it is necessary to divide the output into groups depending on whether it is IIi-like or suppressive, it is more versatile to prepare outputs 4.5 for each group in advance and switch which way to output them. For this reason, a signal indicating whether the connection is excitatory or inhibitory is stored in the memory 14 and switched by the circuit 13. The OR circuit 11 in FIG. 2 corresponds to equation (]-1) for processing each input. Furthermore, formula (12)! )l[′#i
The circuit 17 in FIG. 3 outputs an output only when the sexual croup is ↓ and the inhibitory croup is O. Also, formula (16)
This case can also be easily realized using logic circuits. Next, the error signal will be explained. FIG. 4 shows how to create the error signal in the final layer. This is equations (20) to (23)
corresponds to Error signals 22 (Gpj), (G
Make Mj). 1 in Fig. 2 has been made into a circuit using formulas (24) to (27) for calculating d1 of the error number 4B at intermediate j-.
It is 0. Cases are differentiated depending on whether the binding is excitatory or inhibitory. It is the circuit 12 that performs this switching by a bit set in the 9-warning circuit 14. Further, the part of calculation formula (28) that collects the error signal is 18 in FIG. Also, the part of equation (29) corresponding to the learning rate is the third
This is the frequency dividing circuit of 19 in the figure. This can be easily realized by using a flip-flop or the like. Finally, the part that calculates new coupling coefficients from the error signal will be explained. In the equation, it is represented by (30) to (33), and this part is 11 in FIG. Similar to the above, cases must be differentiated depending on the excitatory and inhibitory properties of the connections, and this is realized by the circuit 12 in FIG. Now, in this circuit, the coupling coefficient and its sign are stored in memory. However, the contents of the memory are lost when the power is turned off, so it is necessary to save the contents on another recording medium. Furthermore, if already learned coupling coefficients and their codes are available, writing them into memory eliminates the need for relearning from the beginning. Therefore, it would be very convenient if the contents of this memory could be freely accessed from outside. Therefore, in the present invention, a function has been added that allows external access to the contents of the memory that stores the coupling coefficients and their codes. This is shown in Figure 6.
As shown in FIG. 7, it is possible to draw out the exit (8A in FIG. 2) and the entrance (8B in FIG. 2) of the shift register 8 to the outside. Should I pull out the exit 8A as it is, or should I use the external signal 3 for the entrance 8B when reading and writing from the outside?
3, when not reading or writing, 4i1 No. 33' from inside
Since it uses (J
. Switching is performed using the selector 31 using the number 34. At this time, a clock 36 is required to shift the contents of the shift register 8, but this uses the synchronizing signal of the internal clock 35 formula (9) that operates this signal processing circuit as it is, and 35" to the outside, and the contents of the shift register 8 may be read and written externally in synchronization with this clock.
Alternatively, as shown in FIG. 7, a tarot card 37 may be applied from the outside and reading and writing may be performed in synchronization with this. However, when giving Tarokku 37 from the outside,
It is necessary to switch the clock 36 given to the shift register 8 with the internal clock 35. This can be done by using the selector 31a in the same way as switching the input signals to shift 1 to register 8. Furthermore, when a RAM+atrest coater is used instead of the shift register 8, random access from the outside becomes possible by drawing out the address bus, data bus, and control signal line for reading and writing to the outside. In the case of a memory with two or more ports, one may be used for external reading and writing, and the other for internal processing. In the case of a memory with one port, when accessing from the outside, it is sufficient to switch the address bus etc. to the line from the internal atrestecoder. This can be done by replacing the tarlocks 35, 36, and 37 in FIGS. 6 and 7 with address buses and control signal lines for reading and writing. Next, with reference to FIG. 8, a case will be described in which a plurality of memories are read and written using a common bus. Figure 8 shows only the parts necessary for explanation in Figures 6 and 7. First, a unique address is set for each memory in advance, and the address given from the outside and the own address are set in advance. Determination circuit 4 for determining whether or not a unique address matches
2, and a chip is selected based on the determination result (44). When reading and writing from the outside, by giving this address 40 from the outside, only one memory is selected, and any memory can be read and written. Also, when using a memory with only one port, do not read or write externally.
If you use selenium 1 to all memories when not in use, and also prevent data from flowing to the common bus for external read/write (43), you can avoid the inherent parallel processing of this signal processing circuit. Becomes a force exporter. In addition, although an example of the case where the present invention is implemented as a heart has been described above, the whole of these may be incorporated in one computer, or only a part thereof may be incorporated, and furthermore, each of these may be incorporated into a single computer. It is easy to understand that these may be combined with separately constructed parts having a single function to form a whole. A self-learning character recognition device using the network described above will be explained. First, handwritten characters are read with a scanner, divided into 16 x 16 meshes, and the character parts are separated as shown in Figure 5. The data (256 pieces) were input into the network, with meshes with meshes set as 1 and meshes without meshes set as O, and the recognition result was set to the position of the unit with the largest output among the five units. Therefore, when a number from "1" to "5" is input, the number corresponding to that number is learned to have the largest output. Next, the network configuration is such that the first layer is 25
The second layer was composed of 6 neuronal units, the second layer was composed of 20 neuronal units, and the third layer was composed of 5 neuronal units. If each coupling coefficient is initially set at random, the output result will not necessarily be the desired one. Using the self-learning function of this circuit, each coupling coefficient is newly determined and this is repeated several times to obtain the desired output. In this embodiment, since the input is 0 or 1, the input pulse train is always a simple LOW level or HIGH level. Further, the output was connected to an LED through a transistor, and was turned on when it was at a LOW level (4) and turned on when it was at a HIGH level. Since the synchronization clock was set to 1000 kHz, the brightness of the LED changes to the human eye depending on the pulse density, so the brightest part of the LED becomes the answer. A recognition rate of 0% was obtained for the characters that had been trained. As is clear from the above explanation, conventional neural networks rely mostly on computer simulations, and some attempts have been made to convert these networks into circuits. Serial processing is performed using computer simulation. In contrast, according to the present invention, the functions of the neural network 1-work, including the learning function, can be performed in parallel on hardware. Significant speed increase. Furthermore, since the coupling coefficient and its sign can be accessed freely from the outside, it is possible to write already learned data, extract and save data learned by hardware, or monitor the learning process from the outside. This makes it possible to improve convenience. There are advantages to having a hat.
第1図は、神経回路ユニットの1つを示す図、第2図乃
至第4図は、回路構成例を示す図、第5図は、自己学習
式文字認識の一例を示す図、第6図及び第7図は、読み
書の実施例を説明するための図、第8図は、共通のバス
を用いて読み書する場合の実施例を説明するための図、
第9図は、神経細胞ユニッ1〜の一例を示す図、第10
図は、階層型ニューラルネットワークの例を説明するた
めの図、第11図は、シグモイド曲線を示す図、第12
図乃至第15図は、従来のニューラルネット回路の例を
説明するための図である。
1・・・入力信号、2.3.6.7・・・誤差信号、4
・・・興に性信号、5・・・抑制性信号、8・シフトレ
ジスタ、20・・・入力信号、21・・・教師信号。
22.2;3誤差信号。FIG. 1 is a diagram showing one of the neural circuit units, FIGS. 2 to 4 are diagrams showing circuit configuration examples, FIG. 5 is a diagram showing an example of self-learning character recognition, and FIG. and FIG. 7 is a diagram for explaining an example of reading and writing, and FIG. 8 is a diagram for explaining an example of reading and writing using a common bus.
FIG. 9 is a diagram showing an example of neuron units 1 to 10.
The figures are for explaining an example of a hierarchical neural network, Figure 11 is a diagram showing a sigmoid curve, and Figure 12 is a diagram showing a sigmoid curve.
1 to 15 are diagrams for explaining examples of conventional neural network circuits. 1...Input signal, 2.3.6.7...Error signal, 4
. . . Activation signal, 5. Inhibition signal, 8. Shift register, 20. Input signal, 21. Teacher signal. 22.2;3 error signal.
Claims (1)
結合係数値と教師信号に対する誤差信号に基づいて生成
する結合係数生成手段とによって自己学習手段を形成し
、この自己学習手段を神経細胞模倣素子に付設して神経
細胞模倣ユニットを形成し、これら自己学習手段と神径
細胞模倣素子手段とを網状に形成して複数の神経細胞模
倣ユニットを形成してデジタル論理によって信号の処理
を行う信号処理方法において、前記結合係数を外部より
読み書き可能としたことを特徴とする信号処理方法。 2、結合係数可変回路と、この結合係数可変回路の可変
結合係数値を教師信号に対する誤差信号に基づいて生成
する結合係数生成回路により自己学習回路と構成すると
ともに、この自己学習回路を神経細胞模倣素子に付設し
て神経細胞模倣回路を構成し、これら自己学習回路と神
経細胞模倣素子とをデジタル論理回路により網状に接続
して複数の神経細胞模倣回路網を構成した信号処理回路
網において、前記結合係数を外部より読み書き可能とし
た回路を有することを特徴とする信号処理回路網。[Claims] 1. A self-learning means is formed by a coupling coefficient variable means and a coupling coefficient generating means that generates a variable coupling coefficient value of the coupling coefficient variable means and an error signal with respect to a teacher signal. A learning means is attached to the neuron imitation element to form a neuron imitation unit, and these self-learning means and the diameter cell imitation element means are formed in a net shape to form a plurality of neuron imitation units, and a plurality of neuron imitation units are formed by digital logic. A signal processing method for processing a signal, characterized in that the coupling coefficient can be read and written from outside. 2. A self-learning circuit is configured with a variable coupling coefficient circuit and a coupling coefficient generation circuit that generates a variable coupling coefficient value of the variable coupling coefficient circuit based on an error signal with respect to the teacher signal, and this self-learning circuit is configured to imitate neurons. In the signal processing circuit network in which a neuron imitation circuit is attached to an element, and a plurality of neuron imitation circuit networks are configured by connecting these self-learning circuits and the neuron imitation element in a network form by a digital logic circuit, A signal processing circuit network characterized by having a circuit that allows coupling coefficients to be read and written from the outside.
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2058515A JPH03260785A (en) | 1990-03-09 | 1990-03-09 | Signal processing method and its network |
| US07/629,632 US5167006A (en) | 1989-12-29 | 1990-12-18 | Neuron unit, neural network and signal processing method |
| DE4042139A DE4042139C2 (en) | 1989-12-29 | 1990-12-28 | Neuron unit |
| US07/889,380 US5333241A (en) | 1989-12-29 | 1992-05-28 | Neuron unit, neural network and signal processing method |
| US07/989,781 US5327522A (en) | 1989-12-29 | 1992-12-11 | Neuron unit |
| US08/128,707 US5619617A (en) | 1989-12-29 | 1993-09-30 | Neuron unit, neural network and signal processing method |
| US08/206,855 US5504838A (en) | 1989-12-29 | 1994-03-07 | Neuron unit with error signal having components representing pulse densities |
| US08/441,418 US5581662A (en) | 1989-12-29 | 1995-05-15 | Signal processing apparatus including plural aggregates |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2058515A JPH03260785A (en) | 1990-03-09 | 1990-03-09 | Signal processing method and its network |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03260785A true JPH03260785A (en) | 1991-11-20 |
Family
ID=13086567
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2058515A Pending JPH03260785A (en) | 1989-12-29 | 1990-03-09 | Signal processing method and its network |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03260785A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5999922A (en) * | 1992-03-19 | 1999-12-07 | Fujitsu Limited | Neuroprocessing service |
| JP2015072282A (en) * | 2012-02-01 | 2015-04-16 | アフトン・ケミカル・コーポレーションAfton Chemical Corporation | System and method for determining lubricant disposal interval |
-
1990
- 1990-03-09 JP JP2058515A patent/JPH03260785A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5999922A (en) * | 1992-03-19 | 1999-12-07 | Fujitsu Limited | Neuroprocessing service |
| JP2015072282A (en) * | 2012-02-01 | 2015-04-16 | アフトン・ケミカル・コーポレーションAfton Chemical Corporation | System and method for determining lubricant disposal interval |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5131073A (en) | Neuron unit and neuron unit network | |
| JP3582737B2 (en) | Signal processing device | |
| JP4579798B2 (en) | Arithmetic unit | |
| JPH03260785A (en) | Signal processing method and its network | |
| JPH056356A (en) | Signal processing method and apparatus thereof | |
| JPH04148389A (en) | neuronal network | |
| JP2549454B2 (en) | Neuron mimetic network and neuron mimicking unit | |
| JPH03268082A (en) | Method and device for processing signal | |
| JP3256553B2 (en) | Learning method of signal processing device | |
| JP2612640B2 (en) | Signal processing circuit, signal processing network, signal processing device, and signal processing method | |
| JPH03268080A (en) | signal processing device | |
| JPH03260759A (en) | Signal processing method and device | |
| JPH04229361A (en) | Neural network learning method and signal processing device using this method | |
| JP3255425B2 (en) | Signal processing method | |
| Pavan et al. | Reusable Spiking Neural Network Architecture | |
| JP3130913B2 (en) | Signal processing device | |
| JPH03268079A (en) | Signal processor | |
| JPH04235663A (en) | Method and device for signal processing | |
| JPH03256184A (en) | Signal processing circuit | |
| JPH03294979A (en) | signal processing device | |
| JPH04245371A (en) | signal processing device | |
| JPH056351A (en) | Signal processor | |
| JPH05108594A (en) | Signal processor | |
| JPH05314290A (en) | Signal processor | |
| JPH04318658A (en) | signal processing device |