[go: up one dir, main page]

JPH07113918B2 - Network learning processing device - Google Patents

Network learning processing device

Info

Publication number
JPH07113918B2
JPH07113918B2 JP1-509642A JP50964289A JPH07113918B2 JP H07113918 B2 JPH07113918 B2 JP H07113918B2 JP 50964289 A JP50964289 A JP 50964289A JP H07113918 B2 JPH07113918 B2 JP H07113918B2
Authority
JP
Japan
Prior art keywords
weight
signal
output
input
layer
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 - Lifetime
Application number
JP1-509642A
Other languages
Japanese (ja)
Other versions
JPWO1990003006A1 (en
JPH07113918B1 (en
Inventor
信雄 渡部
隆 木本
旭 川村
竜介 益岡
和雄 浅川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1-509642A priority Critical patent/JPH07113918B2/en
Publication of JPWO1990003006A1 publication Critical patent/JPWO1990003006A1/en
Publication of JPH07113918B1 publication Critical patent/JPH07113918B1/ja
Publication of JPH07113918B2 publication Critical patent/JPH07113918B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Feedback Control In General (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、ネットワーク学習処理装置及び学習処理方法
に関するものである。
Description: TECHNICAL FIELD The present invention relates to a network learning processing device and a learning processing method.

背景技術 従来の逐次コンピュータ(ノイマン型コンピュータ)で
は、使用方法や環境の変化に応じてコンピュータのデー
タ処理機能を調節することが難しいので、適応性を有す
るデータ処理方式として、新たに階層ネットワークによ
る並列分散処理方式が提唱されてきている。特に、バッ
ク・プロパゲーション法と呼ばれる処理方式(D.E.Rume
lhart,G.E.Hinton,and Williams,“LearningInternal R
epresentations by Error Propagation,"PARALLEL DIST
RIBUTED PROCESSING,Vol.1,pp.318−364,The MIT Pres
s,1986)が、その実用性の高さから注目されている。
BACKGROUND ART In conventional sequential computers (von Neumann computers), it is difficult to adjust the data processing function of the computer according to changes in usage and environment. Therefore, a new parallel distributed processing method using a hierarchical network has been proposed as an adaptive data processing method. In particular, a processing method called the back propagation method (DERume
lhart, GE Hinton, and Williams, “LearningInternal R
epresentations by Error Propagation,"PARALLEL DIST
RIBUTED PROCESSING,Vol.1,pp.318−364,The MIT Pres.
s, 1986) has attracted attention due to its high practicality.

バック・プロパゲーション法では、基本ユニットと呼ぶ
一種のノードと重みを持つ内部結合とから階層ネットワ
ークを構成している。第1図に、基本ユニット1の原理
構成を示す。この基本ユニット1は、多入力−出力系と
なっており、複数の入力に対し夫々の内部結合の重みを
乗じる乗算処理部2と、それらの全乗算結果を加算する
累算処理部3と、この累算値に非線型の閾値処理を施し
て1つの最終出力を出力する閾値処理部4とを備える。
そして、このような構成の多数の基本ユニット1が、第
2図に示すように階層的に接続されることで階層ネット
ワークが構成され、入力信号のパターンを対応する出力
信号のパターンに変換するというデータ処理機能を発揮
することになる。
In the back-propagation method, a hierarchical network is constructed from a type of node called a basic unit and internal connections with weights. Figure 1 shows the basic configuration of a basic unit 1. This basic unit 1 is a multi-input-output system, and includes a multiplication processing unit 2 that multiplies multiple inputs by the weights of the respective internal connections, an accumulation processing unit 3 that adds up all the multiplication results, and a threshold processing unit 4 that performs nonlinear threshold processing on this accumulated value and outputs a single final output.
A large number of basic units 1 having such a configuration are connected hierarchically as shown in Figure 2 to form a hierarchical network, which performs the data processing function of converting an input signal pattern into a corresponding output signal pattern.

このバック・プロパゲーション法では、選択された入力
信号に対しての出力信号が、とるべき信号値を指示する
教師信号となるべく、所定の学習アルゴリズムに従って
階層ネットワーク中の内部結合の重みを決定していくこ
とになる。そして、この処理により重みが決定される
と、想定してなかった入力信号が入力されることになっ
ても、この階層ネットワークから、それらしい出力信号
を出力することで、“柔らかい”並列分散のデータ処理
機能が実現されるのである。
In this backpropagation method, the weights of the internal connections in the hierarchical network are determined according to a predetermined learning algorithm so that the output signal for a selected input signal becomes a teacher signal that indicates the signal value to be taken. Once the weights are determined through this process, even if an unexpected input signal is input, the hierarchical network will output a plausible output signal, thereby realizing a "flexible" parallel distributed data processing function.

このような構成のネットワーク構成データ処理装置を実
用的なものにしていくためには、重みの学習処理をより
短時間で実現できるようにしていく必要がある。このこ
とは、複雑なデータ処理を実現していくために、階層ネ
ットワークをより多層にしていく必要があるという背景
のもとで、どうしても解決していかなくてはならない課
題の1つなのである。
To make such a network-configured data processing device practical, it is necessary to make it possible to achieve weight learning processing in a shorter time. This is one of the issues that must be resolved, given the need for hierarchical networks with more layers to process complex data.

h層を前段層としi層を後段層とするならば、基本ユニ
ット1の累算処理部3で行われる演算は、次の(1)式
に示すものであり、また、閾値処理部4でおこなわれる
演算は次の(2)式に示すものである。
If the h layer is the previous layer and the i layer is the next layer, the calculation performed by the accumulation processing unit 3 of the basic unit 1 is shown in the following equation (1), and the calculation performed by the threshold processing unit 4 is shown in the following equation (2).

ypi=1/(1+exp(−xpi+θ)) ……(2) 但し、 h:h層のユニット番号 i:i層のユニット番号 p:入力信号のパターン番号 θi:i層のi番目のユニットの閾値 Wih:h−i層間の内部結合の重み xpi:h層の各ユニットからi層のi番ユニットへの入力
の積和 yph:p番目のパターンの入力信号に対するh層の出力 ypi:p番目のパターンの入力信号に対するi層の出力 バック・プロパゲーション法では、この重みWihと閾値
θとを誤差のフィードバックにより適応的に自動調節
することになる。この(1)式及び(2)式から明らか
なように、重みWihと閾値θとの調節は同時に実行さ
れる必要があるが、この作業は、相互に干渉する難しい
作業となる。そこで、本出願人は、先に出願の「特願昭
62−333484号公報(昭和62年12月28日出願、“ネットワ
ーク構成データ処理装置”)」で開示したように、入力
例の層に常に“1"を入力信号として持つ基本ユニット1
を設け、閾値θを重みWihの中に組み込むようにする
ことで、閾値θを表に出さないようにすることを提案
した。このようにすることで、上述の(1)式及び
(2)式は、 ypi=1/(1−exp(−xpi)) ……(4) で表されることになる。
y pi = 1/(1 + exp(-x pi + θ i )) ... (2) where, h: unit number of the h layer i: unit number of the i layer p: pattern number of the input signal θ i : threshold of the i-th unit of the i-th layer W ih : weight of the internal connection between the h-i layers x pi : sum of products of inputs from each unit of the h layer to the i-th unit of the i-th layer y ph: output of the h layer for the p-th pattern input signal y pi : output of the i layer for the p-th pattern input signal In the back propagation method, the weight W ih and threshold θ i are adaptively and automatically adjusted by error feedback. As is clear from equations (1) and (2), the adjustment of the weight W ih and threshold θ i needs to be performed simultaneously, but this is a difficult task as they interfere with each other. Therefore, the applicant has applied for a method in accordance with the Japanese Patent Application No. 2004-20097444.
As disclosed in the publication No. 62-333484 (filed on December 28, 1987, "Network Configuration Data Processing Device"), the basic unit 1 always has "1" as an input signal in the input example layer.
By setting the threshold θ i in the weight W ih and incorporating the threshold θ i into the weight W ih, the threshold θ i is not revealed. This can be expressed as y pi = 1/(1-exp(-x pi )) ... (4).

次に、この(3)式及び(4)式に従って、重みの学習
処理の従来技術について説明する。この説明は、第2図
に示すようなh層−i層−j層という構造の階層ネット
ワークをもって行うことにする。
Next, a conventional technique for weight learning processing will be explained in accordance with equations (3) and (4). This explanation will be given for a hierarchical network with a structure of h-layer-i-layer-j-layer as shown in Figure 2.

(3)式及び(4)式からの類推によって次の式が得ら
れる。すなわち、 ypj=1/(1+exp(−xpj)) ……(6) 但し、 j:j層のユニット番号 Wji:i−j層間の内部結合の重み xpj:i層の各ユニットからj層のj番目ユニットへの入
力の積和 ypj:p番目パターンの入力信号に対するj層の出力 重みの学習処理では、最初に下式に従って、教師信号と
出力層からの出力信号との誤差の2乗和である誤差ベク
トルEPを、階層ネットワークの誤差として計算する。こ
こで、教師信号とは、出力信号のとるべき信号となるも
のである。
By analogy with equations (3) and (4), the following equation can be obtained: y pj = 1/(1 + exp(-x pj )) ... (6) where, j: unit number of j layer W ji : weight of internal connection between i-j layers x pj : sum of products of inputs from each unit of i layer to the jth unit of j layer y pj : output weight of j layer for pth pattern of input signal In the learning process, first the error vector E P , which is the sum of squares of the error between the teacher signal and the output signal from the output layer, is calculated as the error of the hierarchical network according to the following formula. Here, the teacher signal is the signal that the output signal should take.

但し、 Ep:p番目パターンの入力信号に対しての誤差ベクトル E:全パターンの入力信号に対しての誤差ベクトルの総和 dpj:p番目パターンの入力信号に対するj層j番目ユニ
ットへの教師信号 ここで、誤差ベクトルと出力信号との関係を求めるた
め、(7)式をypjに関して偏微分すると、 を得る。更に、誤差ベクトルEPとj層への入力との関係
を求めるため、誤差ベクトルEPをxpjで偏微分すると、 を得る。更に、誤差ベクトルEPとi−j層間の重みとの
関係を求めるため、誤差ベクトルEPをWjiで偏微分する
と、 の積和で表わされる解を得る。
where E p : error vector for the p-th pattern input signal E: sum of error vectors for all patterns of input signals d pj : teacher signal to the j-th unit in the j-th layer for the p-th pattern input signal Here, to find the relationship between the error vector and the output signal, equation (7) is partially differentiated with respect to y pj to obtain: Furthermore, to find the relationship between the error vector E P and the input to the jth layer, the error vector E P is partially differentiated with respect to x pj , and we get Furthermore, to find the relationship between the error vector E P and the weight between the i-j layers, the error vector E P is partially differentiated with respect to W ji , as follows: Obtain a solution expressed as a sum of products.

次に、i層の出力ypiに対する誤差ベクトルEPの変化を
求めると、 を得る。さらにi層入力ユニットへの総和xpiの変化に
対する誤差ベクトルの変化を計算すると、 の積和で表される解を得る。更に、h−i層間の重みの
変化に対する誤差ベクトルの変化の関係を求めると、 の積和で表される解を得る。
Next, the change in the error vector E P relative to the output y pi of the i layer is calculated as follows: Furthermore, if we calculate the change in the error vector relative to the change in the sum xpi to the i-th layer input unit, we get Furthermore, the relationship between the change in the weight between the h-i layer and the change in the error vector is found as follows: Obtain the solution expressed as a sum of products.

これらから、全入力パターンに対する誤差ベクトルとi
−j層間との重みとの関係を求めると、以下のようにな
る。
From these, the error vectors for all input patterns and i
The relationship between the weights and the −j layer is as follows:

また、全入力パターンに対する誤差ベクトルとh−i層
間の重みとの関係を求めると、以下のようになる。
Furthermore, the relationship between the error vectors for all input patterns and the weights between the h-i layers can be calculated as follows:

(15)式及び(16)式は、各層間の重みの変化に対する
誤差ベクトルの変化率を示していることから、この値が
常に負になるように重みを変化させると、公知の勾配法
により、誤差ベクトルの総和Eを漸近的に0とすること
ができる。そこで、従来のバック・プロパゲーション法
では、重みの1回当たりの更新量ΔWjiとΔWihとを以下
のように設定し、この重みの更新を反復することによ
り、誤差ベクトルの総和Eを極小値に収束させている。
Since equations (15) and (16) show the rate of change of the error vector with respect to the change in the weight between each layer, if the weights are changed so that this value is always negative, the sum E of the error vectors can be asymptotically reduced to 0 by the well-known gradient method. Therefore, in the conventional backpropagation method, the amount of weight update per time, ΔW ji and ΔW ih , is set as follows, and by repeating this weight update, the sum E of the error vectors is converged to a minimum value.

但し、εは学習の制御パラメータである。 where ε is a control parameter for learning.

バック・プロパゲーション法の最大の問題点は、収束に
要するまでの学習回数が長いことにある。この問題点
は、ネットワーク構造を多層にすればするほど大きなも
のとなる。そこで収束の加速を図る目的で、(17)式及
び(18)式に、前回の更新サイクル時に決定された重み
の更新量に係るデータ因子を加えてΔWihとΔW′ji
を、以下のように設定することが行われている。
The biggest problem with the backpropagation method is the long number of learning iterations required to converge. This problem becomes more severe the more layers the network structure has. Therefore, in order to accelerate convergence, a data factor related to the weight update amount determined in the previous update cycle is added to equations (17) and (18), and ΔW ih and ΔW' ji are set as follows:

但し、αは同じく学習の制御パラメータであり、tは更
新回数を表している。
Here, α is also a control parameter for learning, and t represents the number of updates.

この制御パラメータのεとαを十分小さくすれば、ほぼ
確実に誤差ベクトルの総和Eは収束することになるが、
収束するまでの学習回数は多くなってしまうことにな
る。一方、学習回数を減らそうとして両パラメータを大
きくとると、今度は、誤差ベクトルの総和Eが振動して
しまうという恐れがでてくる。入力層のユニット数が
“13"で、中間層のユニット数が“8"で、出力層のユニ
ット数が“7"という階層ネットワークを想定し、第4図
に示す62個の入力パターン信号とそれに対応する教師パ
ターン信号とを使って学習したときの学習結果を第5図
に示す。この第5図において、横軸は学習回数で、縦軸
はそのときの誤差ベクトルの総和である。ここで制御パ
ラメータは、ε=0.3、α=0.2に設定した。また、上述
した理由により、13番目の基本ユニットには、常に“1"
を入力した。
If the control parameters ε and α are made sufficiently small, the sum E of the error vectors will almost certainly converge.
This means that the number of learning iterations until convergence will be large. On the other hand, if both parameters are set large in an attempt to reduce the number of learning iterations, then there is a risk that the sum E of the error vectors will oscillate. Assuming a hierarchical network with 13 units in the input layer, 8 units in the intermediate layer, and 7 units in the output layer, Figure 5 shows the learning results when learning is performed using the 62 input pattern signals shown in Figure 4 and the corresponding teacher pattern signals. In Figure 5, the horizontal axis represents the number of learning iterations, and the vertical axis represents the sum of the error vectors at that time. Here, the control parameters are set to ε = 0.3 and α = 0.2. Furthermore, for the reasons mentioned above, the 13th basic unit is always assigned a value of 1.
I entered:

この第5図からも明らかとなるように、パラメータの設
定の違いにより多生の違いはでるものの、従来技術で
は、重みの決定に相当の学習回数を必要とすることが分
かる。
As is clear from FIG. 5, although differences in parameter settings result in differences in the results, it is clear that the prior art requires a considerable number of learning iterations to determine the weights.

本発明はかかる事情に鑑みてなされたものであって、ネ
ットワーク構成データ処理装置のバック・プロパゲーシ
ョン法において、より短い学習回数、すなわちより短い
時間で重みの決定が実現できるようにする学習処理方式
の提供を目的とするものである。
The present invention has been made in view of the above circumstances, and aims to provide a learning processing method that enables weight determination to be achieved in a shorter number of learning iterations, i.e., in a shorter time, in the back propagation method of a network configuration data processing device.

発明の開示 第6図は本発明の原理構成図である。DISCLOSURE OF THE INVENTION Figure 6 is a diagram illustrating the principle of the present invention.

図中、1は階層ネットワークの基本単位をなす基本ユニ
ットであり、複数の入力とこれらの入力に対して乗算さ
れるべき重みとを受け取って積分を得るとともに、この
得られた積分値を閾値関数によって変換して最終出力を
得るよう処理する。1−hは入力層を構成する複数個の
基本ユニット、1−iは1つ又は複数段の中間層を構成
する複数個の基本ユニット1−jは出力層を構成する1
つ又は複数個の基本ユニットである。基本ユニット1−
hと基本ユニット1−iとの間、基本ユニット1−iの
相互間、基本ユニット1−iと基本ユニット1−jとの
間で接続がなされ、かつこの各接続に対応して設定され
る重みにより、10で占めされる階層ネットワークが構成
されることになる。
In the figure, 1 is a basic unit that forms the basic unit of the hierarchical network, which receives multiple inputs and weights to be multiplied by these inputs to obtain an integral, and processes the obtained integral value by converting it using a threshold function to obtain the final output. 1-h is a plurality of basic units that form the input layer, 1-i is a plurality of basic units that form one or more intermediate layers, and 1-j is a plurality of basic units that form the output layer.
Basic unit 1-
Connections are made between h and basic unit 1-i, between basic units 1-i, and between basic unit 1-i and basic unit 1-j, and a hierarchical network with a weight of 10 is constructed by setting a weight corresponding to each connection.

20は重みの学習処理のために必要となる学習パターンを
保持する学習パターン保持手段であって、複数の所定の
入力信号を保持する入力信号保持域21と、この所定の入
力信号に対する教師信号を保持する教師信号保持域22と
を備えるもの、30は出力信号導出手段であって、入力信
号保持域21が保持する入力信号を階層ネットワーク10に
対して供給することで、この入力信号に対応する出力信
号を得るよう処理するもの、40は誤差値算出手段であっ
て、出力信号導出手段30により得られた出力信号と教師
信号保持域22に保持される教師信号とから、この2つの
信号の不一致度合を表す誤差値を算出するとともに、供
給されるすべての入力信号の誤差値を求めるよう処理す
るものである。
Reference numeral 20 denotes a learning pattern storage means for storing learning patterns required for weight learning processing, and comprises an input signal storage area 21 for storing a plurality of predetermined input signals, and a teacher signal storage area 22 for storing teacher signals corresponding to the predetermined input signals; 30 denotes an output signal derivation means for supplying the input signals stored in the input signal storage area 21 to the hierarchical network 10, thereby processing to obtain an output signal corresponding to the input signal; and 40 denotes an error value calculation means for calculating an error value representing the degree of discrepancy between the output signal obtained by the output signal derivation means 30 and the teacher signal stored in the teacher signal storage area 22, and for processing to obtain error values for all input signals supplied.

50は重み学習手段であって、重み更新量算出手段51と第
1の重み更新量保持手段52と第2の重み更新量保持手段
53と重み更新手段54とを備えることで、階層ネットワー
ク10の重みを初期値から順次更新していくことで、誤差
値の総和が許容範囲となる重みの値を求めて、階層ネッ
トワーク10に設定するよう処理するものである。この重
み更新量算出手段51は、誤差値算出手段40により算出さ
れた誤差値を使って重みの更新量を求め、第1の重み更
新量保持手段52は、重み更新量算出手段51により求めら
れた前回の更新サイクル時の重みの更新量を保持し、第
2の重み更新量保持手段53は、重み更新量算出手段51に
より求められた前々回の更新サイクル時の重み更新量を
保持する。また、重み更新量算出手段51は、誤差値算出
手段40により算出された誤差値の偏微分値と、第1の更
新量保持手段52に保持される前回の更新サイクル時の重
み更新量と、第2の重み更新量保持手段53に保持される
前々回の更新サイクル時の重み更新量とから現時点の更
新サイクル時の重み更新量を算出する。重み更新手段54
は、重み更新量算出手段51で算出される重み更新量に基
づいて重み値を求め、その重み値を階層ネットワーク10
に設定する。
Reference numeral 50 denotes a weight learning means, which includes a weight update amount calculation means 51, a first weight update amount holding means 52, and a second weight update amount holding means.
The weight update amount calculation means 51 calculates the weight update amount using the error value calculated by the error value calculation means 40. The first weight update amount storage means 52 stores the weight update amount for the previous update cycle calculated by the weight update amount calculation means 51. The second weight update amount storage means 53 stores the weight update amount for the update cycle before last calculated by the weight update amount calculation means 51. The weight update amount calculation means 51 calculates the weight update amount for the current update cycle from the partial differential value of the error value calculated by the error value calculation means 40, the weight update amount for the previous update cycle stored in the first update amount storage means 52, and the weight update amount for the update cycle before last stored in the second weight update amount storage means 53.
calculates a weight value based on the weight update amount calculated by the weight update amount calculation means 51, and inputs the weight value to the hierarchical network 10
Set to.

本発明では、前々回の更新サイクル時の重みの更新量を
保持する第2の重み更新量保持手段53を新たに設け、更
新していく重みの値を決定するときに、この第2の重み
更新量保持手段53が保持する重みの更新量に係るデータ
因子が加わるよう処理することになる。
In the present invention, a second weight update amount holding means 53 is newly provided to hold the weight update amount from the update cycle two cycles ago, and when determining the weight value to be updated, the data factor related to the weight update amount held by this second weight update amount holding means 53 is added.

従来のバック・プロパゲーション法の重みの更新量は、 という微分方程式に基づいていた。すなわち、この微分
方程式を差分近似してΔWについて解くと、 という、(19)式及び(20)式で説明した従来のバック
・プロパゲーション法の重みの更新量が導かれることに
なるからである。
The weight update amount in the conventional backpropagation method is In other words, if we apply a difference approximation to this differential equation and solve it for ΔW, we get This is because the weight update amounts in the conventional back propagation method explained in equations (19) and (20) are derived.

これに対して、本発明の重みの更新量は、 という微分方程式に基づいている。すなわち、この微分
方程式を差分近似してΔWについて解くと、 というように、前々回の更新サイクル時の重みの更新量
に係るデータ因子が入ってくるからである。
In contrast, the amount of weight update in the present invention is In other words, when this differential equation is approximated by difference and solved for ΔW, In this way, the data factor relating to the amount of weight update in the update cycle before the last one is included.

この(23)式は、右辺に示すような外乱があるときの、
Wに関する強制振動系を表している。従って、強制振動
系の理論によって知られているようにJ、M、Dが適切
に定められれば、Wは振動することなく速やかに“0"に
収束していくことになる。
This equation (23) expresses the following when there is a disturbance as shown on the right side:
It represents a forced vibration system with respect to W. Therefore, as is known from the theory of forced vibration systems, if J, M, and D are appropriately determined, W will converge quickly to "0" without vibrating.

これから、本発明を用いることで、Wに相当する更新量
のΔWを、強制振動系のように速やかに“0"に近づける
ことができ、誤差ベクトルを速やかに“0"にちかづける
ことができるようになるのである。
From this, by using the present invention, the update amount ΔW corresponding to W can be made to approach "0" quickly as in a forced vibration system, and the error vector can be made to approach "0" quickly.

図面の簡単な説明 第1図は、本発明の基本ユニットの原理構成図、 第2図は、階層型ネットワークの原理構成図、 第3図は、バック・プロパゲージョン法の説明図、 第4図は、具体的な学習処理に用いたデータの説明図、 第5図は、従来技術の学習回数の説明図、 第6図は、本発明の原理構成図、 第7図は、本発明の学習アルゴリズムを示すフローチャ
ート、 第8図は、本発明の学習回数の説明図、 第9図は、本発明の重みの更新量の説明図、 第10図は、従来技術の重みの更新量の説明図、 第11図は、第6図における重み学習手段のブロック図、 第12図は、第11図における重みデータメモリのブロック
図、 第13図は、本発明の実施例のシステム構成図、 第14図は、第13図における主制御回路のフローチャー
ト、 第15A図は、本実施例に用いられるアナログ・ニューロ
ン・プロセッサ(ANP)のチップから構成されたパッケ
ージの概略図、 第15B図は、第15A図に示したANPの内部構成図、 第16図は、第15A図に示したアナログ・ニューロン・プ
ロセッサの原理構成図、 第17図は、本発明の基本ユニットの一実施例のブロック
図、 第18A図は、階層型ニューラルネットワークの概念図、 第18B図は、本発明による階層型ニューラルネットワー
クの概念図、 第19図は、本発明のニューロコンピュータにより階層型
ネットワークを構成した一実施例のブロック図、 第20図は、第19図に示した実施例の具体的ブロック図、 第21図は、主制御回路のシステム構成図、 第22A図、第22B図は、第19図及び第20図に示した実施例
の信号処理のタイミング図、 第23図は、同じく第19図及び第20図に示した実施例の信
号処理のタイミング図、 第24図は、本発明のニューロコンピュータを階層型ネッ
トワークで実現した一実施例の具体的的回路図、 第25A図、第25B図は、第24図に示した信号処理のタイミ
ング図、 第26図は、ディジタル重みデータの読み込みタイミング
を示す図、 第27A図は、マスタコントロールブロックの具体的回路
図、 第27B図は、制御パターンメモリ及びマイクロコードメ
モリの構造を示す図、 第28A図は、重みデータメモリへのデータ充填方法を示
す図、 第28B図は、重みデータメモリの具体的構成図、 第29図は、ディジー回路の具体的回路図、 第30図は、マックスバリューノード回路の具体的回路
図、 第31A図は、帰還型ネットワークを説明する概念図、 第31B図は、本発明のニューロコンピュータにより帰還
型ネットワークを構成した場合の説明図、 第32図は、帰還型ネットワークの一実施例のブロック
図、 第33A図、第33B図は、第32図に示した実施例の信号処理
を示すタイミング図、 第34図は、本発明によるニューロコンピュータにより、
帰還型ネットワークを構成した実施例の具体的回路図、 第35A図、第35B図は、第34図に示した実施例の信号処理
を示すタイミング図である。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing the principle of the basic unit of the present invention; FIG. 2 is a diagram showing the principle of the hierarchical network; FIG. 3 is an explanatory diagram of the back propagation method; FIG. 4 is an explanatory diagram of data used in specific learning processing; FIG. 5 is an explanatory diagram of the number of learning times in the prior art; FIG. 6 is a diagram showing the principle of the present invention; FIG. 7 is a flowchart showing the learning algorithm of the present invention; FIG. 8 is an explanatory diagram of the number of learning times in the present invention; FIG. 9 is an explanatory diagram of the amount of weight update in the present invention; 16 is a diagram showing the principle of the analog neuron processor shown in FIG. 15A; FIG. 17 is a block diagram of one embodiment of the basic unit of the present invention; FIG. 18A is a conceptual diagram of a hierarchical neural network; FIG. 18B is a conceptual diagram of a hierarchical neural network according to the present invention; FIG. 19 is a block diagram of one embodiment in which a hierarchical network is constructed using a neurocomputer of the present invention; FIG. 20 is a specific block diagram of the embodiment shown in FIG. 19; FIG. 21 is a system configuration diagram of the main control circuit; FIGS. 22A and 22B are timing diagrams of signal processing in the embodiment shown in FIGS. 19 and 20; FIG. 27A is a specific circuit diagram of a master control block; FIG. 27B is a diagram showing the structure of a control pattern memory and a microcode memory; FIG. 28A is a diagram showing a method of filling data into a weight data memory; FIG. 28B is a specific configuration diagram of a weight data memory; FIG. 29 is a specific circuit diagram of a daisy chain circuit; FIG. 30 is a specific circuit diagram of a max value node circuit; FIG. 31A is a conceptual diagram explaining a feedback network; FIG. 31B is an explanatory diagram of a feedback network configured by a neurocomputer of the present invention; FIG. 32 is a block diagram of one embodiment of a feedback network; FIGS. 33A and 33B are timing diagrams showing signal processing of the embodiment shown in FIG. 32; and FIG. 34 is a diagram showing a process performed by a neurocomputer according to the present invention.
35A and 35B are timing diagrams showing signal processing in the embodiment shown in FIG. 34. FIG.

発明を実施するための最良の形態 本発明を実現するための重みの更新規則のフローチャー
トを第7図に示す。以下、このフローチャートに従っ
て、本発明の学習処理方式を詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION A flowchart of the weight update rules for realizing the present invention is shown in Fig. 7. The learning processing method of the present invention will be described in detail below with reference to this flowchart.

重みの学習要求があると、最初にステップS1で示すよう
に、内部結合の重みに初期値をセットする。この初期化
処理は、従来通り乱数に従って定められることになる。
これは、重みの値がすべて同じか、あるいは基本ユニッ
ト1に関して対称になるとバック・プロパゲーション法
では重みの変化が生じないことになり、学習が進行しな
くなってしまうのでこれを避けるためである。
When a weight learning request is made, initial values are set to the weights of the internal connections as shown in step S1. This initialization process is determined according to random numbers as in the conventional method.
This is to avoid the fact that if the weight values are all the same or symmetrical with respect to the basic unit 1, no weight changes will occur in the back propagation method, and learning will not progress.

続いて、ステップS2で、学習パターンとして登録されて
いる入力信号と教師信号の対を1つ選択する。そして、
ステップS3で、この選択された入力信号のパターンを階
層ネットワーク10の入力層の基本ユニット1に入力する
ことで、階層ネットワーク10のデータ変換機能に従って
出力されることになる出力層の基本ユニット1からの出
力信号を求めるよう処理する。(6)式で“ypi"を「p
番目パターンの入力信号に対するj層(出力層)のj番
目のユニットからの出力」と定義しているので、このス
テップS3の処理により、出力層を構成する各基本ユニッ
ト1からの出力“ypj"が求まることになる。更に、この
ステップS3では、選択された入力信号の入力に伴って出
力されることになるh層(入力層)の出力の“yph"及び
i層(中間層)の出力の“ypi"も同時に求めておくよう
処理することになる。
Next, in step S2, one pair of an input signal and a teacher signal registered as a learning pattern is selected.
In step S3, the selected input signal pattern is input to the basic unit 1 of the input layer of the hierarchical network 10, and the output signal from the basic unit 1 of the output layer, which will be output in accordance with the data conversion function of the hierarchical network 10, is calculated.
Since "y pj " is defined as "the output from the j-th unit in the j-th layer (output layer) in response to an input signal of the j-th pattern," the processing of step S3 determines the output "y pj " from each basic unit 1 constituting the output layer. Furthermore, in step S3, processing is also performed to simultaneously determine "y ph ", the output of the h-th layer (input layer) and "y pi ", the output of the i-th layer (intermediate layer) that will be output in response to the input of the selected input signal.

このようにして、学習パターンの入力信号に対応する出
力信号の“ypj"が求まると、続くステップS4で、この
“ypj"と選択された教師信号との誤差の“δpj"を求め
る。すなわち、p番目パターンの入力信号にたいするj
層j番目ユニットへの教師信号を“dpj"で表すならば、
このステップS4で、 ypj−dpj=δpj を算出する。そして、次のステップS5で、このステップ
S4で求めた“δpj"と、ステップS3で求めてある
“yph"、“ypi"及び“ypj"とを使い、(11)式に従っ
て、 を算出するとともに、(14)式に従って、 ypi(1−ypj)yph を算出する。すなわち、(7)式で定義した誤差ベクト
ル“Ep"が、重みの変化に対応してどの程度変化するか
を求めるのである。
In this way, when the output signal "y pj " corresponding to the input signal of the learning pattern is obtained, in the next step S4, the error "δ pj " between this "y pj " and the selected teacher signal is obtained. That is, j for the input signal of the pth pattern is
If the teacher signal to the jth unit of the layer is represented as "d pj ", then
In step S4, y pj - d pj = δ pj is calculated. Then, in the next step S5,
Using "δ pj " calculated in S4 and "y ph ", "y pi " and "y pj " calculated in step S3, according to equation (11), and, according to equation (14), ypi (1- ypj ) yph is calculated. That is, the degree to which the error vector " Ep " defined by equation (7) changes in response to the change in weight is found.

ステップS2で、用意されてあるすべての学習パターンの
入力信号に関して、ステップS3ないしステップS5の処理
が終了されたことを確認すると、ステップS6に進み、重
みの値を初期値から更新すべく、以下に説明するステッ
プS7ないしステップS9の処理を実行する。
In step S2, if it is confirmed that the processing of steps S3 to S5 has been completed for the input signals of all the prepared learning patterns, the process proceeds to step S6, where the processing of steps S7 to S9 described below is executed to update the weight values from their initial values.

先ずステップS7で、ステップS5で求められた値を使い、
(15) 式に従って、 を算出するとともに、(16)式に従って、 を算出する。すなわち、全入力信号に対しての誤差ベク
トル“EP"の総和である“E"、重みの変化に対応してど
の程度変化するかを求めるのである。そして、続くステ
ップS8で、下式に従って、この誤差ベクトルの総和の
“E"を減少させることになる重みの更新量ΔWji(t)
及びΔWih(t)を求めるよう処理する。
First, in step S7, using the value obtained in step S5,
(15) According to the formula, and, according to equation (16), In other words, the amount of change in "E", which is the sum of the error vectors "E P " for all input signals, in response to the change in weight is calculated. Then, in the following step S8, the weight update amount ΔW ji (t) that reduces the sum of the error vectors "E" is calculated according to the following formula:
and ΔW ih (t).

但し、βはεやαと同じ制御パラメータであり、tは上
述と同様に更新回数を表している。
Here, β is the same control parameter as ε and α, and t represents the number of updates as described above.

この算出式から明らかとなるように、本発明が採用する
重みの更新量は、(19)式及び(20)式で説明した従来
技術と異なり、新たに、 “−βΔW(t−2)” という項を加えることになる。この項の意味するところ
は、現時点の更新量を求めるのに、前回の更新サイクル
時の更新量だけで決定していくのではなくて、前々回の
更新サイクル時の更新量も加味していくということにあ
る。このようにした理由は前述したように、強制振動系
のモデルでバック・プロパゲーション法を構成していく
ことで、より短時間で重みの収束を図ろうとすることに
ある。
As is clear from this calculation formula, the weight update amount adopted in the present invention differs from the prior art described in equations (19) and (20) in that a new term, "-βΔW(t-2)", is added. This term means that the current update amount is determined not only based on the update amount in the previous update cycle, but also based on the update amount in the update cycle before that. The reason for this is, as mentioned above, that by configuring the back-propagation method using a forced vibration system model, it is possible to achieve weight convergence in a shorter time.

ステップS8で、重みの更新量ΔWji(t)及びΔW
ih(t′)を求めると、次のステップS9で、下式に従っ
て、新たな重みの値を求め、 Wji(t)=Wji(t−1)+ΔWji(t) Wih(t)=Wih(t−1)+ΔWih(t) この求めた重みの値を階層ネットワーク10の内部結合の
重みとして設定するよう処理する。そして、次のステッ
プS10で、この新たに設定した重みにより、誤差ベクト
ルの総和の“E"が許容できる程度のものになったか否か
を判断し、許容できる程度のものになったと判断すると
きには重みの学習処理を終了するとともに、いまだ許容
できる範囲に入っていないと判断するときには、ステッ
プS2に戻って、重みの更新処理を続行していくことにな
る。
In step S8, the weight update amounts ΔW ji (t) and ΔW
Once ih (t') has been calculated, in the next step S9, new weight values are calculated in accordance with the following equations: W ji (t) = W ji (t-1) + ΔW ji (t) W ih (t) = W ih (t-1) + ΔW ih (t) These calculated weight values are set as the weights of the internal connections of the hierarchical network 10. Then, in the next step S10, it is determined whether or not the newly set weights have brought the error vector sum "E" to an acceptable level, and if it is determined that it is, the weight learning process is terminated, but if it is determined that it is still not within the acceptable range, the process returns to step S2 and continues the weight update process.

このように、本発明では、バック・プロパゲーション法
において、誤差ベクトルの総和の“E"を小さくしていく
ようにと重みを学習していく際に、前回の更新サイクル
時の更新量に加えて前々回の更新サイクル時の更新量を
加味して、重みの更新値を決定していくよう処理するこ
とを特徴とするものである。
As described above, in the back propagation method, the present invention is characterized in that when learning weights so as to reduce the sum of error vectors "E", the update values of the weights are determined by taking into account the update amount in the update cycle before last in addition to the update amount in the previous update cycle.

第8図に、第4図に示した学習パターンを用いたときの
本発明の学習回数を、第5図に示した従来技術の学習回
数との比較において示す。ここで、βは0.6に設定して
あり、他の条件は第5図で説明したものと同じにしてあ
る。この図からも明らかなように、本発明を用いること
で、従来技術よりも極めて少ない学習回数で、所望の重
みが得られることになる。しかも、そのとき、誤差ベク
トルの総和を従来技術よりも大きく“0"に近づけられる
ので、より正確なデータ処理が実現できることになるの
である。
Figure 8 shows the number of learning iterations of the present invention when using the learning pattern shown in Figure 4, compared with the number of learning iterations of the prior art shown in Figure 5. Here, β is set to 0.6, and other conditions are the same as those explained in Figure 5. As is clear from this figure, by using the present invention, the desired weights can be obtained with significantly fewer learning iterations than the prior art. Moreover, since the sum of the error vectors can be brought closer to "0" than the prior art, more accurate data processing can be achieved.

第8図に示した学習処理における重みの更新量の変化の
内、本発明に関するものを第9図に、また従来技術に関
するものを第10図に示す。この2つの図から、本発明で
は、重みの更新量が大きく変化した後で、しばらく“0"
が続くという特性があることが分かる。重みの更新量が
“0"になるということは、収束状態を示しているので、
これらの図からも、本発明の方が速やかに重みの収束を
図ろうとしていることが分かるのである。
Of the changes in the weight update amount in the learning process shown in Figure 8, those related to the present invention are shown in Figure 9, and those related to the prior art are shown in Figure 10. From these two figures, it can be seen that in the present invention, after the weight update amount has changed significantly, it remains at "0" for a while.
The weight update amount becoming "0" indicates a convergence state, so
From these figures, it can be seen that the present invention attempts to achieve faster weight convergence.

なお、本出願人が、様々なシミュレーションを繰り返し
たところによると、βの値を正に設定すると、負の値に
設定するよりもより速やかに重みの値が収束することが
確認された。また、負の値に設定しても、従来技術より
かなり早く収束していくことも確認された。
The applicant has conducted various simulations and confirmed that when β is set to a positive value, the weight value converges more quickly than when it is set to a negative value. It has also been confirmed that even when β is set to a negative value, the convergence is much faster than in the prior art.

次に重み学習手段の実施構成を説明する。Next, an implementation of the weight learning means will be described.

第11図は本発明の重み学習手段実施例構成図である。本
発明の学習アルゴリズムを(24)式に示すように重み更
新量ΔWを、前回の重み更新量ΔWに(t−1)学習パ
ラメータαを掛けたものに、誤差Eを重みで偏微分した
もの、すなわち重みに関する誤差の偏微分に学習定数−
εをかけたものを加える従来法にさらに前々回の重み更
新量ΔW(t−2)に学習パラメータ−βをかけたもの
の和として表現する。この学習アルゴリズムを実行する
のが、第11図の重み学習手段である。同図において61が
重みデータを格納する重みデータメモリ、62は現在の重
み更新量ΔWを格納する重みデータメモリ、63は前回の
重み更新量データΔW(t−1)を格納する重みデータ
メモリ、64は前々回の重み更新量ΔW(t−2)を格納
する重みデータメモリである。65は学習定数−εを格納
するパラメータレジスタ、66は学習速度係数を表す学習
パラメータαを格納するパラメータレジスタ、67は学習
パラメータ−βを記憶するパラメータレジスタである。
68の乗算器が前々回の重み更新量、ΔW(t−2)と−
βをかける乗算器、69は前回の重みデータの更新量ΔW
(t−1)に学習パラメータαをかける乗算器、70が学
習パラメータεに現在の重み更新量ΔWを掛ける乗算器
である。70が学習パラメータεに現在の重み更新量ΔW
をかける乗算器である。加算器71がこれらの乗算器の結
果を加算する加算器である。加算器71の出力は重み更新
量ΔWであるから、重みの差分W(t)−W(t−1)
にあたる。従って、現在の重みデータが重みデータメモ
リ61に格納されているので、この内容を読みだし、その
内容W(t−1)と加算器71の出力ΔW(t)とを加え
ることによって新しい重みデータW(t)が求まること
になる。この加算を行うのが加算器72である。クリア信
号81は重みデータメモリ62,63,64をクリアするための信
号である。シフト信号は更新された重みデータの更新量
ΔWを次のステップの前回の更新量にするために重みデ
ータメモリ62から63にシフトし、さらに前々回の更新量
ΔW(t−2)にするため、前回の重みデータ更新量Δ
W(t−1)を重みデータメモリ63から64にシフトする
ための制御信号である。各重みデータメモリ61,61,63,6
4をアクセスするための重み選択信号83は階層ネットワ
ークの層番号、層内のユニット番号及びそのユニットに
入力する結合枝の結線番号等の情報から構成されるアド
レス信号である。重みデータメモリ61には重みの読み出
し信号が与えられ、特定された重みのデータを読みだす
制御を行う。現在の重みW(t)は重みデータメモリ61
から読み出される重みW(t)85の信号である。また、
学習アルゴリズムにおいて重みデータメモリ61には特定
な重みとしての初期値が書き込まれる必要があり、その
初期値設定信号の制御信号が86である。すなわち初期値
書き込み信号である。87はその時の重みデータの初期値
のデータであって、書き込みデータである。第11図の下
の方に示される重み更新信号90はタイミング信号であ
り、Dの記号で示される遅延により、,,,に
それぞれタイミングの異なる信号を生成する。それらの
信号はそれぞれ乗算器70、乗算器69、乗算器68にの信
号のパルスが与えられ、乗算し、乗算終了後にディレイ
回路73の遅延時間後に出されたパルスのタイミングで
加算器71の実行を行う。さらに、ディレイ回路24による
遅延時間後にのパルスが出力され、この時点で加算器
72の加算動作と重みデータメモリ62への重み更新量への
書き込みが行われる。そして、ディレイ回路75の遅延時
間後にのパルス信号が出され、この信号により重み更
新量ΔW(t)と重みデータW(t−1)との加算結果
を次の重みデータW(t)として61の重みデータメモリ
に書き込む。
11 is a diagram showing the configuration of an embodiment of the weight learning means of the present invention. The learning algorithm of the present invention is as shown in equation (24), where the weight update amount ΔW is calculated by multiplying the previous weight update amount ΔW by the (t-1) learning parameter α, and then partially differentiating the error E with respect to the weight, i.e., the partial differentiation of the error with respect to the weight, and multiplying it by the learning constant -
In the conventional method, weight update ΔW(t-2) is multiplied by ε, and the weight is expressed as the sum of the weight update amount ΔW(t-2) from the previous iteration multiplied by the learning parameter -β. This learning algorithm is executed by the weight learning means shown in Figure 11. In the figure, reference numeral 61 denotes a weight data memory for storing weight data, 62 denotes a weight data memory for storing the current weight update amount ΔW, 63 denotes a weight data memory for storing the previous weight update amount ΔW(t-1), and 64 denotes a weight data memory for storing the weight update amount ΔW(t-2) from the previous iteration. Reference numeral 65 denotes a parameter register for storing the learning constant -ε, 66 denotes a parameter register for storing the learning parameter α representing the learning speed coefficient, and 67 denotes a parameter register for storing the learning parameter -β.
The multiplier 68 calculates the weight update amount from the previous time, ΔW(t-2) and
β is multiplied by a multiplier, and 69 is the amount of update of the previous weight data ΔW
A multiplier 70 multiplies (t-1) by a learning parameter α, and a multiplier 70 multiplies the learning parameter ε by the current weight update amount ΔW.
The adder 71 adds the results of these multipliers. The output of the adder 71 is the weight update amount ΔW, so the weight difference W(t) - W(t-1)
Therefore, since the current weight data is stored in the weight data memory 61, the new weight data W(t) is obtained by reading out this content and adding the content W(t-1) and the output ΔW(t) of the adder 71. This addition is performed by the adder 72. The clear signal 81 is a signal for clearing the weight data memories 62, 63, and 64. The shift signal shifts the updated weight data update amount ΔW from the weight data memory 62 to 63 to make it the previous update amount for the next step, and further shifts the previous weight data update amount ΔW to make it the update amount before last ΔW(t-2).
This is a control signal for shifting W(t-1) from the weight data memory 63 to 64.
The weight selection signal 83 for accessing the weight data memory 61 is an address signal consisting of information such as the layer number of the hierarchical network, the unit number within the layer, and the connection number of the connection edge input to that unit. A weight read signal is given to the weight data memory 61, and it controls the reading of the specified weight data. The current weight W(t) is stored in the weight data memory 61.
is a signal with weight W(t) 85 read out from
In the learning algorithm, an initial value for a specific weight must be written into the weight data memory 61, and the control signal for this initial value setting signal is 86. In other words, it is the initial value write signal. 87 is the data for the initial value of the weight data at that time, and is the write data. The weight update signal 90 shown at the bottom of Figure 11 is a timing signal, and signals with different timings are generated for , , , and by the delay indicated by the symbol D. These signals are given pulses of the signal , , , to multipliers 70, 69, and 68, respectively, and multiplied, and after the multiplication is completed, adder 71 is executed at the timing of the pulse output after the delay time of delay circuit 73. Furthermore, a pulse , , is output after the delay time of delay circuit 24, and at this point adder
The addition operation of 72 is performed and the weight update amount is written to the weight data memory 62. Then, after the delay time of the delay circuit 75, a pulse signal is output, and this signal causes the result of adding the weight update amount ΔW(t) and the weight data W(t−1) to be written to the weight data memory 61 as the next weight data W(t).

以上説明した第11図の重み学習手段の信号並びに構成要
素の動作をまとめる。
The operations of the signals and components of the weight learning means shown in FIG. 11 explained above will be summarized below.

外部とのインタフェイス部において、クリア信号81は、
重みデータメモリ62、63、64を0クリアする。
In the interface with the outside, the clear signal 81 is
The weight data memories 62, 63, and 64 are cleared to zero.

シフト信号82は、重みデータメモリ62の全ての内容を重
みデータメモリ63へ、さらに重みデータメモリ63の全て
の内容を重みデータメモリ64へコピーする。
Shift signal 82 copies all of the contents of weight data memory 62 to weight data memory 63 and all of the contents of weight data memory 63 to weight data memory 64 .

重み選択信号63は、層番号、ユニット番号、結線番号に
より、重みの一つを特定する。
The weight selection signal 63 specifies one of the weights based on the layer number, unit number, and connection number.

重み読みだし信号84は、重みデータメモリ61内の、特定
された重みのデータを読み出す。
The weight read signal 84 reads out the data of the specified weight in the weight data memory 61 .

重み85は、重みデータメモリ61内から読み出された重み
データである。
The weight 85 is weight data read out from the weight data memory 61 .

初期値設定信号86は、重みデータメモリ61内の、特定さ
れた重みへの初期値書き込み信号である。
The initial value setting signal 86 is a signal for writing an initial value to the specified weight in the weight data memory 61 .

初期値87は、重みデータメモリ61内の、特定された重み
への初期値書き込みデータ信号である。
The initial value 87 is a data signal for writing an initial value into the specified weight in the weight data memory 61 .

偏微分88は、ネットワークが計算した、重み更新に使わ
れる∂E/∂Wのデータである。
The partial derivative 88 is the data ∂E/∂W calculated by the network and used to update the weights.

学習パラメータ89は、−ε、α、−βであって、それぞ
れ、レジスタ65,66,67に保持される。
The learning parameters 89 are −ε, α, and −β, and are held in registers 65, 66, and 67, respectively.

重み更新信号90は、重みデータメモリ61,62内の、特定
された重みの新しい値を計算するタイミング,,
及び重みデータメモリ62,61への書き込みのタイミング
,を指定する。
The weight update signal 90 indicates the timing for calculating new values of the specified weights in the weight data memories 61 and 62.
and the timing of writing to the weight data memories 62 and 61.

内部モジュール部において、重みデータメモリW(t)
61は、重み選択信号83でアドレスされ、重み読み出し信
号84により、特定された重みの値を重み85として出力す
るもので、重み選択信号83でアドレスされ、初期値設定
信号86により、初期値87を特定された重みとして記憶
し、さらに重み選択信号83でアドレスされ、ディレイ75
からの重み更新信号により、加算器72の出力を特定さ
れた重みとして記憶する。
In the internal module, weight data memory W(t)
61 is addressed by a weight selection signal 83, and outputs the value of the weight specified by a weight read signal 84 as a weight 85. It is also addressed by a weight selection signal 83, and stores an initial value 87 as a specified weight by an initial value setting signal 86. It is also addressed by a weight selection signal 83, and stores a delay 75.
A weight update signal from causes the output of adder 72 to be stored as the specified weight.

重みデータメモリW(t)62はクリア信号81等により内
容を全て0にされ、重み選択信号83によりアドレスさ
れ、ディレイ74からの重み更新信号により加算器71の
出力を特定された重みとして記憶する。
The weight data memory W(t) 62 has its contents all set to 0 by a clear signal 81 or the like, is addressed by a weight selection signal 83, and stores the output of the adder 71 as a specified weight by a weight update signal from a delay 74.

重みデータメモリΔW(t−1)63はクリア信号81によ
り、内容を全て0にする。
The weight data memory ΔW(t−1) 63 has all its contents set to 0 by the clear signal 81 .

重み選択信号83によりアドレスされ、特定された重みの
更新値を乗算器69に出力する。
It is addressed by weight select signal 83 and outputs the updated value of the specified weight to multiplier 69 .

重みデータメモリΔW(t−2)64はクリア信号81によ
り内容を全て0にされ、重み選択信号83によりアドレス
され、特定された重みの値を乗算器68に出力する。
The weight data memory ΔW(t−2) 64 has all its contents set to 0 by a clear signal 81 , is addressed by a weight selection signal 83 , and outputs the specified weight value to the multiplier 68 .

加算器72はディレイ74からの重み更新信号により重み
データメモリ61からの出力と加算器71の出力を加算して
結果を出力する。
The adder 72 adds the output from the weight data memory 61 and the output from the adder 71 in response to a weight update signal from the delay 74, and outputs the result.

加算器71はディレイ73からの重み更新信号により乗算
器68,69,70の出力を加算して結果を出力する。
An adder 71 adds the outputs of the multipliers 68, 69, and 70 in response to a weight update signal from a delay 73 and outputs the result.

乗算器68は重み更新信号90の入力により重みデータメ
モリ64から出力された重み更新量ΔW(t−2)とパラ
メータレジスタ67に保持されている−βを乗算して結果
を出力する。
In response to the input of the weight update signal 90, the multiplier 68 multiplies the weight update amount ΔW(t−2) output from the weight data memory 64 by −β held in the parameter register 67, and outputs the result.

乗算器69は重み更新信号90の入力により重みデータメ
モリ63から出力された重み更新量(t−1)とパラメー
タレジスタ66に保持されているαを乗算して結果を出力
する。
In response to the input of the weight update signal 90, the multiplier 69 multiplies the weight update amount (t-1) output from the weight data memory 63 by α held in the parameter register 66, and outputs the result.

乗算器70は重み更新信号90の入力により、偏微分88と
パラメータレジスタ65に保持されている−εを乗算して
結果を出力する。
Upon receiving the weight update signal 90, the multiplier 70 multiplies the partial differential 88 by -ε held in the parameter register 65 and outputs the result.

パラメータレジスタ65は学習パラメータ89の入力のうち
−εを記憶する。
The parameter register 65 stores −ε, which is one of the inputs of the learning parameter 89 .

パラメータレジスタ66は学習パラメータ89の入力のう
ち、αを記憶する。
The parameter register 66 stores α, which is one of the inputs of the learning parameters 89 .

パラメータレジスタ67は、学習パラメータ89の入力のう
ち、−βを記憶する。
The parameter register 67 stores −β, which is one of the inputs of the learning parameters 89 .

ディレイ73は、重み更新信号90を入力して、1タイミン
グ遅れの信号を作る。
The delay 73 receives the weight update signal 90 and generates a signal delayed by one timing.

ディレイ74は、ディレイ73の出力を入力して1タイミ
ング遅れの信号を作る。
The delay 74 receives the output of the delay 73 and generates a signal delayed by one timing.

ディレイ75は、ディレイ74の出力を入力して1タイミ
ング遅れの信号を作る。
The delay 75 receives the output of the delay 74 and generates a signal delayed by one timing.

シフト手段91は、シフト信号82により、重みデータメモ
リ62の全内容を重みデータメモリ63にコピーする。
The shift means 91 copies the entire contents of the weight data memory 62 to the weight data memory 63 in response to the shift signal 82 .

シフト手段92は、シフト信号82により、重みデータメモ
リ63の全内容を重みデータメモリ64にコピーする。
The shift means 92 copies the entire contents of the weight data memory 63 to the weight data memory 64 in response to the shift signal 82 .

以下に重み更新手段の動作を説明する。重み更新手段の
動作は初期設定及び重みの呼び出し、重みの更新であ
る。初期設定時には、クリア信号1をオンすることによ
り、重みデータメモリ62,63,64の全内容を0にする。次
に、重み選択信号83と初期値87をセットした後、初期値
設定信号86をオンすることにより重みデータメモリ61内
の重み選択信号83で指定された重み内容を初期値87で与
えられた値にする。これをすべての層、ユニット、結線
について行うことにより重みデータメモリ61内の全内容
の初期化を行う。さらに、学習パラメータ89に−ε、
α、−βを与えることにより、パラメータレジスタ20,2
1,22に−ε、α、−βを記憶する。
The operation of the weight update means will be explained below. The operation of the weight update means is to initialize, call weights, and update weights. At the time of initialization, by turning on the clear signal 1, all contents of the weight data memories 62, 63, 64 are set to 0. Next, after setting the weight selection signal 83 and the initial value 87, by turning on the initial value setting signal 86, the weight contents specified by the weight selection signal 83 in the weight data memory 61 are set to the value given by the initial value 87. By performing this for all layers, units, and connections, all contents in the weight data memory 61 are initialized. Furthermore, -ε,
By giving α and −β, parameter registers 20 and 2
Store −ε, α, and −β in 1,22.

そして、重みの更新は次のように行われる。The weights are then updated as follows:

重み選択信号83と偏微分88をセットした後、重み更新信
号90をオンにすると、以下の動作が起こる。(
はタイミングを表す) 乗算器68が重みデータメモリ64内の指定された重みと
パラメータレジスタ67の値の積−βΔW(t−2)を求
める。
After setting the weight selection signal 83 and partial differential 88, turning on the weight update signal 90 causes the following actions to occur:
represents timing) A multiplier 68 obtains the product −βΔW(t−2) of the weight specified in the weight data memory 64 and the value of the parameter register 67.

乗算器69が重みデータメモリ63内の指定された重みと
パラメータレジスタ66の値の積αΔW(t−1)を求め
る。
A multiplier 69 calculates the product αΔW(t−1) of the weight specified in the weight data memory 63 and the value of the parameter register 66 .

乗算器70が偏微分88の値とパラメータレジスタ65の値
の積 を求める。
Multiplier 70 multiplies the value of partial differential 88 by the value of parameter register 65. Ask for.

加算器70が乗算器68,69,70の出力の和を求める。これ
が、新しいΔW(t)である。
Adder 70 sums the outputs of multipliers 68, 69, and 70. This is the new ΔW(t).

このタイミングに合わせて外部から重み読み出し信号
84を与える。
At this timing, the weight read signal is sent externally.
Gives 84.

加算器72が重みデータメモリ61内の指定された重みと
加算器71の出力の和W(t−1)+ΔW(t)即ちW
(t)を求める。
The adder 72 calculates the sum of the specified weight in the weight data memory 61 and the output of the adder 71, W(t-1)+ΔW(t), i.e., W
(t) is found.

重みデータメモリ62内の指定された箇所に加算器71の
出力即ちΔW(t)を書き込む。
The output of the adder 71, that is, ΔW(t), is written to a specified location in the weight data memory 62.

重みデータメモリ61内の指定された箇所に加算器72の
出力即ち新しい重みW(t)を書き込む。
The output of the adder 72, that is, the new weight W(t), is written to a specified location in the weight data memory 61.

以上の動作を全ての層、ユニット、結線について行うこ
とにより、重みデータメモリ61,62の内容が更新され
る。シフト信号82をオンにすることにより、シフト手段
91,92が重みデータメモリ62,63の全内容を重みデータメ
モリ63,64へコピーする。
By performing the above operation for all layers, units, and connections, the contents of the weight data memories 61 and 62 are updated. By turning on the shift signal 82, the shift means
91 and 92 copy the entire contents of the weight data memories 62 and 63 to the weight data memories 63 and 64 .

第12図は本発明の重みデータメモリ61,62,63,64の実施
例構成図である。重みデータメモリはランダムアクセス
メモリ(RAM)93で構成され、書き込み信号がアクティ
ブされた場合にはアドレス指定されたアドレスに書き込
みデータが格納され、読み出し信号がアクティブにされ
ている場合にはRAM93にすでに格納された重みデータが
指定されたアドレスのところから読み出しデータとなっ
た出力される。このようなRAM93においてアドレス信号
はセレクタ94、すなわちデコーダを介して与えられる。
セレクタ94の入力部にはアドレスレジスタ95が設置さ
れ、図に示されるように階層ネットワークの層番号、層
内のユニット番号及びそのユニットに結合された結合枝
の結線番号の情報がアドレスレジスタ95にセットされる
ことにより、その層番号、ユニット番号、結線番号で指
定される重みデータがRAM93に書き込まれ、または読み
出されることになる。重みデータの内容は61の場合は重
みデータW(t)そのもの、62の場合には重み更新量Δ
W(t)、63の場合は前回の重み更新量ΔW(t−
1)、64の場合には前々回の重み更新量ΔW(t−2)
が格納される。この場合、同じ結合枝の重み値、重み更
新量、前回の重み更新量、前々回の重み更新量は、同じ
結合枝に関しては同じアドレスに格納されるため、図に
示すように層番号、ユニット番号、結線番号等の重み選
択番号はすべて共通なアドレス情報であって、第11図に
示されるようにそれぞれの信号が共通のアドレス線で結
線されている。このような重み学習手段はクリア信号、
シフト信号、重み選択信号、重み読みだし信号、初期値
設定信号、初期値、学習パラメータ、重み更新信号及び
誤差の重みに対する偏微分∂E/∂Wを外部から入力し、
出力は重みデータメモリ61から読み出される重みW
(t)である。
12 is a diagram showing the configuration of an embodiment of the weight data memories 61, 62, 63, and 64 of the present invention. The weight data memory is composed of a random access memory (RAM) 93, and when a write signal is activated, write data is stored at a specified address, and when a read signal is activated, weight data already stored in RAM 93 is read from the specified address and output. In such RAM 93, an address signal is applied via a selector 94, i.e., a decoder.
An address register 95 is provided at the input of the selector 94, and as shown in the figure, information on the layer number of the hierarchical network, the unit number within the layer, and the connection number of the connection edge connected to that unit is set in the address register 95, whereby weight data specified by the layer number, unit number, and connection number is written to or read from the RAM 93. The contents of the weight data are the weight data W(t) itself in the case of 61, and the weight update amount Δ
W(t), in the case of 63, the previous weight update amount ΔW(t-
1), in the case of 64, the weight update amount ΔW(t−2)
In this case, the weight value, weight update amount, previous weight update amount, and weight update amount before previous weight update amount of the same connection edge are stored in the same address for the same connection edge, so as shown in the figure, the weight selection numbers such as layer number, unit number, and connection number are all common address information, and as shown in Figure 11, each signal is connected by a common address line. Such weight learning means uses a clear signal,
A shift signal, a weight selection signal, a weight read signal, an initial value setting signal, an initial value, a learning parameter, a weight update signal, and a partial differential ∂E/∂W of the error with respect to the weight are input from the outside,
The output is the weight W read from the weight data memory 61.
(t).

第13図は本発明のシステムの構成の実施例図である。同
図において96が以上説明した重み学習手段(第6図の5
0、第11図に対応)のブロック図である。97は学習型ネ
ットワーク、98はネットワークの入力層に与えるべき入
力信号を保持する入力信号保持部、99は誤差算出手段に
教師信号として与える教師信号保持部である。入力信号
保持手段98と教師信号保持手段99とによって学習パター
ン保持手段100を構成する。ネットワークの出力は誤差
算出手段101に与えられ、教師信号保持部99からの教師
信号との誤差を算出し、誤差の重みに対する偏微分∂E/
∂Wを出力し、重み学習手段96にこれが与えられる。シ
ステム全体の制御は主制御回路102によって行われる。
主制御回路からは重み学習手段96に与える制御信号、誤
差算出手段101に与える誤差算出信号、誤差クリア信
号、偏微分選択信号、ネットワーク97に与える実行信
号、及び信号保持部に与えるパターン選択信号等であ
る。
Fig. 13 shows an embodiment of the system configuration of the present invention. In the figure, 96 is the weight learning means described above (5 in Fig. 6).
10 and 11). 97 is a learning network, 98 is an input signal holding unit that holds an input signal to be given to the input layer of the network, and 99 is a teacher signal holding unit that gives a teacher signal to the error calculation unit. The input signal holding unit 98 and the teacher signal holding unit 99 constitute a learning pattern holding unit 100. The output of the network is given to an error calculation unit 101, which calculates the error with respect to the teacher signal from the teacher signal holding unit 99 and calculates the partial differential ∂E/
The output ∂W is given to the weight learning means 96. The entire system is controlled by a main control circuit 102.
The main control circuit outputs a control signal to the weight learning means 96, an error calculation signal to the error calculation means 101, an error clear signal, a partial differential selection signal, an execution signal to the network 97, and a pattern selection signal to the signal holding section.

このシステムにおいて主制御回路102は次のような動作
に従う。第14図は主制御回路101の動作を説明するフロ
ーチャートである。全体の流れは初期設定と重み更新の
学習処理であって、初期設定時にはまずクリア信号81を
オンにして(S1)すべての重みデータメモリ61,62,63,6
4の全内容をクリアする(S12)。そして重み選択信号83
と初期値87をセットした後、初期値設定信号86をオンに
することにより、重みデータメモリ61内の重み選択信号
で指定されるアドレスに初期値87を設定する。これをす
べての層ユニットの結線について行う。この時重み読み
だし信号84をオンにしておけば、指定された重み情報を
読み出すことが可能である(S13〜S16)。
In this system, the main control circuit 102 operates as follows. Fig. 14 is a flow chart explaining the operation of the main control circuit 101. The overall flow is an initial setting and learning process for updating weights. At the initial setting, first the clear signal 81 is turned on (S1) and all weight data memories 61, 62, 63, 64 are cleared.
4 is cleared (S12). Then, the weight selection signal 83
After setting the initial value 87, the initial value setting signal 86 is turned on, thereby setting the initial value 87 at the address specified by the weight selection signal in the weight data memory 61. This is done for all the connections of the layer units. If the weight read signal 84 is turned on at this time, it is possible to read out the specified weight information (S13 to S16).

S17において学習パラメータを与え、さらに誤差算出手
段100に現在の誤差を0にするため、主制御回路は誤差
クリア信号をオンにする(S18)。そして学習処理に入
る。学習はまずネットワーク97に入力信号を与えるた
め、主制御回路102はパターン選択信号をセットし、実
行信号をセットしてネットワーク97の出力を得るS20,S2
1)。この場合、初期の重みデータは重み学習手段96か
らネットワークに与えらえる。それをネットワーク97は
入力層、中間層及び出力層を介して得られる出力信号を
誤差算出手段に与える。主制御回路102はパターン選択
信号を介してセットしておいた教師信号保持部99からの
教師信号を出力させて誤差算出手段101に教師信号を与
える。そして誤差算出手段101は誤差を計算し、偏微分
を算出する(S22)。これが∂E/∂Wの値であって偏微
分88を介して重み学習手段96に与えられる。そして重み
学習手段96の重み更新に対する動作が実行される。主制
御回路102は重み選択信号、すなわち重みメモリに対す
るアドレス信号及び誤差算出手段からの偏微分値を重み
学習手段にセットさせるために重み選択信号や偏微分選
択信号をセットする(S24,S25)。
In S17, the learning parameters are provided, and furthermore, the main control circuit turns on the error clear signal (S18) to set the current error in the error calculation means 100 to 0. Then, the learning process begins. In learning, the main control circuit 102 first provides an input signal to the network 97, and then sets the pattern selection signal and the execution signal to obtain the output of the network 97 (S20, S22).
1). In this case, initial weight data is provided to the network from the weight learning means 96. The network 97 then provides the output signal obtained through the input layer, hidden layer, and output layer to the error calculation means. The main control circuit 102 outputs the teacher signal from the teacher signal holding unit 99, which has been set via the pattern selection signal, and provides the teacher signal to the error calculation means 101. The error calculation means 101 then calculates the error and calculates the partial differential (S22). This is the value of ∂E/∂W, and is provided to the weight learning means 96 via the partial differential 88. The weight learning means 96 then performs the operation for updating the weights. The main control circuit 102 sets the weight selection signal, i.e., the weight selection signal and partial differential selection signal, to set the address signal for the weight memory and the partial differential value from the error calculation means to the weight learning means (S24, S25).

次に重み更新信号90を与えて第11図に示すように乗算
し、重みデータの更新用の加算と重みデータの書き込み
の制御を行う(S16)。そして重み読み出し信号84をオ
ンにして新しく更新されてできた重みデータW(t)を
重みデータメモリ61に格納する。このような動作をすべ
ての結合枝の重みについて行う。すべてのネットに関す
る重み更新が終わった後(S23)、主制御回路102はシフ
ト信号82をセットし(S27)、重みデータの更新量すな
わちΔW(t)及びΔW(t−1)をそれぞれΔW(t
−1)の重みデータメモリ及びΔW(t−2)の重みデ
ータメモリ64に同じアドレスの内容が同じアドレスに書
き込まれるようにシフトを行う。そのためシフト信号82
をセットする。このようにして重みデータメモリのコピ
ー動作が終わるとS28に移って学習が完了したかどうか
のチェックを行う。もし学習が完了していれば終わりと
なるが、学習完了が行われていない場合には、フローチ
ャートのループ線を介して学習処理の繰り返し動作の開
始時時点に再び入って同様な動作を行う。
Next, a weight update signal 90 is applied and multiplied as shown in Figure 11, and addition for updating the weight data and control of writing of the weight data are performed (S16). Then, the weight read signal 84 is turned on and the newly updated weight data W(t) is stored in the weight data memory 61. This operation is performed for the weights of all connection edges. After the weight updating for all nets is completed (S23), the main control circuit 102 sets the shift signal 82 (S27) and the weight data update amounts, i.e., ΔW(t) and ΔW(t-1), are respectively set to ΔW(t)
A shift is performed so that the contents of the same address are written to the same address in the weight data memory 64 for ΔW(t-1) and the weight data memory 64 for ΔW(t-2).
When the weight data memory copy operation is completed in this way, the process proceeds to S28 to check whether learning is complete. If learning is complete, the process ends. However, if learning is not complete, the process returns to the start point of the repeated learning process via the loop line in the flowchart and the same operation is performed.

以上説明した本発明の新しい学習アルゴリズム(第7
図)のうち、信号のフィードフォワード・プロパゲーシ
ョンは、以下に述べるアナログ・ニューロン・プロセッ
サ・ネットワークを用い、信号の誤差のバック・プロパ
ゲーションの主要な部分はアナログ・ニューロン・プロ
セッサ・ネットワークを制御するホストコンピュータ内
のソフトウェアで行い、重みの更新の部分は第11図に示
したハードウェア的な重み学習手段を用いて行う。この
場合、第11図の重みデータメモリ61は、後述する重みメ
モリ(150e,185,186,第28図)に対応するものであり、
読み出しデータはシリアルである。そして、他の重みデ
ータメモリ62,63,64も、この重みデータメモリ61の記憶
方式と同様であり、重みデータの各ビットから連続する
アドレスに記憶されるシリアル・リード・ライトタイプ
のメモリである。もっとも、重みデータメモリ61,62,6
3,64をパラレル・リード・ライトタイプのメモリで構成
しても良いことはもちろんである。
The new learning algorithm of the present invention explained above (7th
In the analog neuron processor network (Fig. 11), the feedforward propagation of signals is performed using an analog neuron processor network, which will be described later, and the backpropagation of signal errors is mainly performed by software in the host computer that controls the analog neuron processor network, and the weight update is performed using the hardware weight learning means shown in Fig. 11. In this case, the weight data memory 61 in Fig. 11 corresponds to the weight memories (150e, 185, 186, Fig. 28) which will be described later,
The read data is serial. The other weight data memories 62, 63, and 64 are also serial read/write type memories that use the same storage method as the weight data memory 61, storing data at consecutive addresses from each bit of the weight data.
Of course, 3,64 may be configured with parallel read/write type memory.

なお、本発明の学習アルゴリズム(第7図)の信号の誤
差のバック・プロパゲーションと重みの更新の両方の部
分を以下に述べるニューロン・プロセッサ・ネットワー
クを制御するホストコンピュータ内でソフトウェア的に
実行してもよい。
It should be noted that both the signal error backpropagation and weight update parts of the learning algorithm (FIG. 7) of the present invention may be implemented in software within a host computer that controls the neuron processor network described below.

以下、本発明の学習アルゴリズムの実行に用いられるア
ナログ・ニューロン・プロセッサ(ANP)及びその階層
構造ネットワークについて詳細に説明する。
The Analog Neuron Processor (ANP) and its hierarchical network used to implement the learning algorithm of the present invention will now be described in detail.

第15A図は第6図の基本ユニット1−i,1−h,1−jを本
発明に係るアナログニューロプロセッサ(ANP)105で構
成する場合において、ニューロンチップのデュアルイン
ラインパッケージの概略図である。これは、B4442と呼
ばれニューロンモデルの処理を実行する。内部の閾値処
理部はシグモイド関数で置換したモデルとなっている。
アナログニューロチップはANPと呼ばれ、アナログデー
タを入出力するデバイスである。第15B図は本発明のANP
の内部構成図である。第15B図に示すようにANP105はア
ナログバスB1とアナログバスB2の間に接続される。ANP1
05は入力するアナログ信号と重みを掛けるアナログ乗算
部106、積の和を求めるアナログ加算部107、和を保持す
るサンプル/ホールド部108、シグモイド関数の値を出
力する非線形関数部109よりなる。第15A図のANP105の各
端子を説明する。ANP105の内部はアナログ回路部とディ
ジタル回路部から構成されている。+−6ボルトの端子
は、アナログ回路部のオペアンプに供給される電源端子
である。Din及びDoutはアナログ入力信号及び出力信号
の端子である。AGNDはアナログ回路部の接地端子であ
る。Rt+及びRt−端子はアナログ回路部にある積分回路
の外付抵抗Rの端子であり、Ct+、Ct−端子は同じく積
分回路の外付キャパシタCの端子である。DGNDはディジ
タル回路部のグランド端子である。+5ボルトはディジ
タル回路部の電源端子である。RSTは積分回路のキャパ
シタの電荷等のリセットを行うリセット信号端子であ
る。CSI及びCSOはディジーチェーン用制御信号の入出力
端子であり、OCはオフセットキャンセル制御信号用端
子、S/H端子は、サンプル/ホールド用制御信号端子、S
YNCは各層の処理に対する同期信号端子、DCLKはアナロ
グ入力信号の処理を行うための基本クロック信号端子、
WCLKはディジタル重みデータを取り込むためのクロック
端子、WDはビットシリアルで入力するディジタル重みデ
ータ用の端子である。
Figure 15A is a schematic diagram of a dual in-line package of a neuron chip in the case where the basic units 1-i, 1-h, and 1-j in Figure 6 are configured with an analog neuroprocessor (ANP) 105 according to the present invention. This is called B4442 and executes neuron model processing. The internal threshold processing unit is a model replaced with a sigmoid function.
The analog neurochip is called an ANP, and is a device that inputs and outputs analog data. Figure 15B shows the ANP of the present invention.
As shown in FIG. 15B, ANP105 is connected between analog bus B1 and analog bus B2.
ANP 105 consists of an analog multiplier 106 that multiplies the input analog signal by a weight, an analog adder 107 that calculates the sum of the products, a sample/hold unit 108 that holds the sum, and a nonlinear function unit 109 that outputs the value of a sigmoid function. The terminals of the ANP 105 in Figure 15A are explained below. The ANP 105 is internally composed of an analog circuit unit and a digital circuit unit. The +-6 volt terminal is the power supply terminal that supplies power to the operational amplifier in the analog circuit unit. D in and D out are terminals for the analog input and output signals. AGND is the ground terminal for the analog circuit unit. The Rt+ and Rt- terminals are terminals for the external resistor R of the integrator circuit in the analog circuit unit, and the Ct+ and Ct- terminals are terminals for the external capacitor C of the integrator circuit. DGND is the ground terminal for the digital circuit unit. +5 volts is the power supply terminal for the digital circuit unit. RST is a reset signal terminal that resets the charge of the capacitor in the integrator circuit. CSI and CSO are input/output terminals for daisy chain control signals, OC is the terminal for offset cancellation control signals, S/H is the terminal for sample/hold control signals, S
YNC is a synchronous signal terminal for processing each layer, DCLK is a basic clock signal terminal for processing analog input signals,
WCLK is a clock terminal for taking in digital weight data, and WD is a terminal for inputting digital weight data in bit serial format.

第16図は、本発明のアナログニューロプロセッサ(AN
P)の原理構成図である。
FIG. 16 shows the analog neuroprocessor (AN) of the present invention.
P) principle configuration diagram.

別々のANP(図示せず)から時分割的に送られてくるア
ナログ入力信号をアナログバスB1からANP105内のアナロ
グ乗算部106に入力し、このアナログ乗算部106ではシフ
トレジスタ114を介してビットシリアルに入力されその
後直並列変換されたディジタル重みデータWDと掛け算し
て、アナログ入力信号とディジタル重みデータとの積を
示す積信号を得る。次の、アナログ加算部107は、外付
けの抵抗RとキャパシタCからなるミラー積分回路であ
って、アナログバスB1に接続された前段の複数のANP(A
NPの存在する場所をノードと呼ぶ)から時分割で送られ
るアナログ入力信号とダミーノードから送られる閾値用
のアナログ入力信号とからそれぞれ得られる積信号の和
を求めるものである。次に、サンプル/ホールド部108
で積信号を所望時間待たせるためにホールドした後に、
さらにそのサンプル/ホールドされた出力を非線形関数
部109を介して変換する。出力制御部113では、シーケン
スジェネレータ116の制御を受けて所定時間遅延させた
後に、アナログ出力信号DoutをアナログバスB2へ出力す
る。なお、シーケンスジェネレータ116は内部に供給さ
れる制御信号も生成する。そして、移送制御部115で
は、おもにANP内のアナログ回路部とディジタル回路部
を接続する各スイッチのオンかオフが確実に行われるよ
うに、制御信号の位相を制御するもので、特に、第1の
スイッチがオンのとき第2のスイッチをオフにする場合
それ等のスイッチが同時にオンする場合がないように制
御信号の位相を制御する。
Analog input signals sent in a time-division manner from separate ANPs (not shown) are input from the analog bus B1 to the analog multiplier 106 in the ANP 105, and this analog multiplier 106 multiplies the analog input signals by the digital weight data WD that has been input bit-serial via the shift register 114 and then converted to serial-parallel, to obtain a product signal that indicates the product of the analog input signals and the digital weight data. The next analog adder 107 is a Miller integrator circuit consisting of an external resistor R and capacitor C, and is connected to the analog bus B1 and the multiple ANPs (A
The sum of the product signals obtained from the analog input signal sent in a time-division manner from the sample/hold unit 108 (the location where the NP exists is called a node) and the analog input signal for threshold sent from the dummy node is calculated.
After holding the product signal for the desired time,
The sampled/held output is then converted via a nonlinear function unit 109. The output control unit 113 delays the signal for a predetermined time under the control of a sequence generator 116, and then outputs an analog output signal D out to an analog bus B2. The sequence generator 116 also generates control signals to be supplied internally. The transfer control unit 115 mainly controls the phase of the control signals so that each switch connecting the analog circuit unit and digital circuit unit within the ANP is turned on or off reliably. In particular, when a first switch is turned on and a second switch is turned off, the phase of the control signal is controlled so that the two switches are not turned on simultaneously.

なお、シーケンスジェネレータ116は、リセット信号RS
T、DCLK、WCLK、SYNC、S/H、OC、CSIを後述するマスタ
コントロールブロックから入力するとともにCSOを出力
し、ANPの内部の制御信号を生成する。
The sequence generator 116 generates a reset signal RS
It inputs T, DCLK, WCLK, SYNC, S/H, OC, and CSI from the master control block (described later) and outputs CSO, generating the internal control signals for the ANP.

ニューラルネットワークでは、同時処理により高速演算
を行う必要がある。本発明では時分割データを使ってい
るが、定常状態では、各ANPがパイプライン的に同時処
理を行う。理想的なニューラルネットワークでは、ニュ
ーロンは他のそれぞれのニューロンに相互結合した結線
が必要であるが、このままシステムを実現しようとする
と、配線数が多くなる。そこで、本発明では時分割デー
タを扱うので、各ANP内の積和の処理時間が伸びるが、
それを縦方向に、すなわち同層方向にチップを並列に並
べることで、層内のニューロチップを構成するANPの同
時処理により、その処理時間を改善する。また、各層で
はパイプライン処理が可能で、このことでも処理時間が
小さくなる。アナログバスに接続した例えば3個の各ニ
ューロチップには、入力が入ってくると、それは3個と
も同時に入り3個とも並列に、そのアナログ電圧に対し
て、各ANPが重みとの積を生成し、それを積分器のキャ
パシタに電荷として保持する。そして、次の時間区域
で、同じアナログバスのアナログ入力に対して、各ANP
は重みとの積を形成し積分器のキャパシタ内に前の時間
区域で決まった積に加え込むことになる。前段のすべて
のANPからのアナログ入力信号に対する重みとの積に対
する和が生成された後、その和はサンプル/ホールドさ
れる。その後、シグモイド関数を介して出力されるが、
これは、CSI制御信号入力時に出力される。そして、出
力完了時にCSIが立ち下がり、その後一定時間遅延後にC
SOを立ち上げて、出力バスの使用権を同一層内の隣接ニ
ューロチップからなるANPに与える。
In neural networks, high-speed calculations are required through simultaneous processing. In this invention, time-shared data is used, and in a steady state, each ANP performs simultaneous processing in a pipelined manner. In an ideal neural network, neurons require interconnections with each other, but if we were to try to realize a system in this state, the number of wires would increase. Therefore, in this invention, time-shared data is used, so the processing time for product-sum calculations within each ANP increases, but
By arranging the chips in parallel vertically, i.e. in the same layer direction, the processing time is improved by simultaneous processing of the ANPs that make up the neurochips in the layer. In addition, pipeline processing is possible in each layer, which also reduces the processing time. For example, when an input comes into each of three neurochips connected to an analog bus, all three inputs come in at the same time, and each ANP generates a product of the analog voltage and a weight in parallel with all three, and stores it as a charge in the integrator capacitor. Then, in the next time section, each ANP generates a product of the analog input on the same analog bus.
The product of the weight and the analog input signal is added to the capacitor of the integrator in the previous time domain. After the sum of the products of the weights and the analog input signals from all the ANPs in the previous stage is generated, the sum is sampled and held. Then, it is output through a sigmoid function,
This is output when the CSI control signal is input. Then, when the output is completed, CSI falls, and after a certain time delay, C
The SO is activated to give the right to use the output bus to the ANP consisting of the adjacent neurochip in the same layer.

以下、実施例に従って詳細に説明する。The present invention will be described in detail below with reference to examples.

第17図はニューロチップである基本ユニットの実施例構
成図である。同図の乗算部106、加算部107、閾値処理部
109は連続ニューロンモデルの実行部であるが、この実
施例では出力保持部117が存在する。具体的には、基本
ユニット105に接続される複数の入力をYi、この各接続
に対応して設定される重みをWiとするならば、乗算部10
6は、 Yi・Wi を算出し、加算部107は、 X=ΣYi・Wi−θ を算出する。但し、θは閾値である。閾値部109は最終
出力をYとするならば、 Y=1/(1+exp(−X)) を算出することになる。
17 is a diagram showing the configuration of an embodiment of a basic unit that is a neurochip. In the figure, a multiplication unit 106, an addition unit 107, a threshold processing unit
109 is an execution unit of the continuous neuron model, and in this embodiment, an output holding unit 117 is also included. Specifically, if the multiple inputs connected to the basic unit 105 are Yi and the weights set corresponding to each connection are Wi, then the multiplication unit 10
The adder 106 calculates Yi·Wi, and the adder 107 calculates X=ΣYi·Wi−θ, where θ is a threshold value. If the final output is Y, the threshold unit 109 calculates Y=1/(1+exp(−X)).

ダミーノードから入力される“+1"という値に“−θ”
という重みをかけて加算部107で「X−θ」の結果が出
力される。従って閾値部109ではS字曲線による変換だ
けが行われている。
The value of "+1" input from the dummy node is "-θ"
The result "X-θ" is output by the adder 107. Therefore, the threshold unit 109 performs only the conversion using the S-curve.

乗算部106は、乗算型D/Aコンバータ106aで構成され、前
段層の基本ユニット105から、あるいは後述するダミー
ノードの回路からのアナログ信号(入力スイッチ部118
を介して入力される)の入力と、その入力に対して乗算
されるべきディジタル信号の重み情報(後述する重み保
持部119を介して入力される)との乗算を行って、得ら
れた乗算結果をアナログ信号で出力するよう処理するも
の、加算部107、積分器で構成されるアナログ加算器107
aとアナログ加算器107aの加算結果を保持する保持回路1
07bとにより構成される。乗算型D/Aコンバータ106aは、
D/Aコンバータの基準電圧端子にアナログ入力信号を入
力し、各ディジタル入力端子に重みの各ビットをディジ
タル入力信号として入力するものであり、結果として、
そのアナログ入力信号と重みとの積を生成する。アナロ
グ加算器107aは、乗算型D/Aコンバータ106aの出力と、
前回に求められて保持回路107bに保持されている加算値
とを加算して新たな加算値を求めるもの、保持回路107b
は、アナログ加算器107aが求めた加算値をホールドする
とともに、そのホールド値を前回の加算値としてアナロ
グ加算器107aにフィードバックさせるものである。これ
らの加算処理は制御回路103より出力される加算制御信
号に同期して実行される。閾値部109は、アナログの関
数発生回路である非線形関数発生回路109aで構成され、
入力に対してジグモイド関数等の非線形信号を出力する
ものである。乗算結果の累算が閾値(−θ)の加算を含
めて終了したときに、保持回路107bにホールドされてい
る加算値Xに対し閾値(−θ)を加えてジグモイド関数
の演算処理を施し、アナログ出力値Yを得るもの、出力
保持部117は、サンプルホールド回路で構成され、後段
層の基本ユニット105への出力となる非線形関数発生回
路109aのアナログ信号の出力値Yをホールドするもので
ある。
The multiplication unit 106 is composed of a multiplication type D/A converter 106a, and receives an analog signal (input switch unit 118) from the basic unit 105 in the previous layer or from the circuit of a dummy node (to be described later).
107, an analog adder 107 configured by an adder 107, an integrator, and an analog adder 107
A holding circuit 1 holds the sum of a and the analog adder 107a.
The multiplying D/A converter 106a is configured by:
An analog input signal is input to the reference voltage terminal of the D/A converter, and each bit of the weight is input as a digital input signal to each digital input terminal. As a result,
The analog adder 107a generates the product of the analog input signal and the weight.
A new sum is calculated by adding the previously calculated sum and the sum held in the holding circuit 107b.
holds the sum calculated by the analog adder 107a and feeds back the held value to the analog adder 107a as the previous sum. These addition processes are performed in synchronization with the addition control signal output from the control circuit 103. The threshold unit 109 is composed of a nonlinear function generating circuit 109a, which is an analog function generating circuit,
It outputs a nonlinear signal such as a sigmoid function in response to an input. When the accumulation of the multiplication results, including the addition of the threshold value (-θ), is completed, the threshold value (-θ) is added to the sum value X held in the holding circuit 107b, and sigmoid function calculation processing is performed to obtain an analog output value Y. The output holding unit 117 is composed of a sample-and-hold circuit, and holds the output value Y of the analog signal from the nonlinear function generating circuit 109a, which is output to the basic unit 105 in the subsequent layer.

また、113は出力スイッチ部であり、制御回路103よりの
出力制御信号を受けて一定時間ONすることで、出力保持
部117が保持するところの最終出力をアナログバスB2上
に出力するよう処理するもの、118は入力スイッチ部で
あり、制御回路103よりの入力制御信号を受けて前段層
の基本ユニット105から最終出力からのアナログ出力が
送られてくるときにONすることで入力の受付を行う。11
9は重み保持部であり、パラレルアウトシフトレジスタ
等により構成され、重みメモリから送られてくるビット
シリアルの重み信号がバッファ119aのゲートがオープン
(制御回路103による重み入力制御信号がオン)された
時に、この重み信号を乗算部106が必要とするビットパ
ラレルの重みとして保持するものである。ビットパラレ
ルの重みは乗算制御信号が与えられたときにパラレルで
乗算部に与えられる。103はディジタル回路部の制御回
路で外部からの同期信号から内部の同期信号を生成する
もので、内部のアナログ処理の機能の制御を実行する。
Also, 113 is an output switch unit, which receives an output control signal from the control circuit 103 and turns on for a certain period of time to process the final output held by the output holding unit 117 onto the analog bus B2, and 118 is an input switch unit, which receives an input control signal from the control circuit 103 and turns on when an analog output from the final output is sent from the basic unit 105 of the previous layer, thereby accepting input.
Numeral 9 denotes a weight holding unit, which is composed of a parallel-out shift register or the like, and when the gate of buffer 119a is opened (the weight input control signal from control circuit 103 is turned on) and the bit-serial weight signal sent from the weight memory, this weight signal is held as a bit-parallel weight required by multiplication unit 106. The bit-parallel weight is given in parallel to the multiplication unit when a multiplication control signal is given. Numeral 103 is a control circuit for the digital circuit unit, which generates an internal synchronization signal from an external synchronization signal and controls the internal analog processing functions.

このように構成されることで、第17図の信号処理構成を
採る基本ユニット105の入出力がアナログ信号でもって
実現されることになるのである。
With this configuration, the input and output of the basic unit 105 employing the signal processing configuration of FIG. 17 is realized by analog signals.

なお、乗算型D/Aコンバータ106aは、ディジタル信号の
重み情報をパラレルで受け取るようにするものでもよい
し、重み情報をシリアルで受け取ってからパラレル変換
するようにするものでもよい。あるいは、重み情報をア
ナログ信号で構成するならば、乗算型D/Aコンバータ106
aの代わりに、アナログ乗算器を用いることができる。
The multiplying D/A converter 106a may receive the weight information of a digital signal in parallel, or may receive the weight information in serial and then convert it into parallel. Alternatively, if the weight information is configured as an analog signal, the multiplying D/A converter 106a may receive the weight information in serial and then convert it into parallel.
Instead of a, an analog multiplier can be used.

第18A図に示した階層型構造のものを第17図に示したANP
を用いて実現すると、第18B図のように、各層間、つま
り入力と中間層との間、中間層と出力層の間、出力層の
出力にそれぞれの独立のアナログバスB1,B2,B3を設ける
ことになる。縦方向のANPは全部並列に実行できるとい
う構造になる。出力層の出力にはサンプルホールド回路
SHを付ける。
The hierarchical structure shown in FIG. 18A is converted into the ANP shown in FIG.
When this is implemented using the above, as shown in Figure 18B, independent analog buses B1, B2, and B3 are provided between each layer, that is, between the input and hidden layer, between the hidden layer and the output layer, and at the output of the output layer. This results in a structure in which all vertical ANPs can be executed in parallel. The output of the output layer is provided with a sample-and-hold circuit.
Add SH.

第19図はANPを用いた階層型ネットワークの一実施例構
成図である。
FIG. 19 is a diagram showing the configuration of an embodiment of a hierarchical network using ANP.

同図において、入力側回路120は入力層に相当し、121は
階層ネットワークの基本単位をなすアナログニューロン
プロセッサANPすなわち基本ユニットであり、121−hは
中間層を構成する複数個の基本ユニット、3層以上ある
場合、121−hは1つまたは複数段の中間層を構成する
複数個の基本ユニット、121−iは出力層を構成する1
つまたは複数個の基本ユニット、121−jは出力層回路
である。基本ユニット121−hと基本ユニット121−iと
の間、基本ユニット121−iの相互間、基本ユニット121
−iと基本ユニット−121−jとの間で電気的な接続が
なされ、且つこの各接続に対応して設定されることにな
る重みにより、130で示される階層ネットワークが構成
されることになる。
In the figure, the input side circuit 120 corresponds to the input layer, 121 is an analog neuron processor ANP, i.e., a basic unit, which is a basic unit of the hierarchical network, 121-h is a plurality of basic units that constitute the intermediate layer, and in the case of three or more layers, 121-h is a plurality of basic units that constitute one or more intermediate layers, and 121-i is a single basic unit that constitutes the output layer.
One or more basic units 121-j are output layer circuits.
Electrical connections are made between the basic units 121-i and 121-j, and a hierarchical network indicated by 130 is constructed by weights set corresponding to each connection.

基本ユニット121は、少なくとも乗算部122、加算部12
3、閾値部124を有し、場合によって出力保持部125を備
える。この乗算部122は、複数の入力とこれらの入力に
対しての重みとを受け取って乗算を行い、加算部123
は、乗算部122により得られる前段層の全ての基本ユニ
ット121に関しての乗算結果を加算し、閾値部124は、加
算部123により得られる加算結果を非線型の閾値関数に
よって変換して最終出力を算出するよう処理する。出力
保持部125がある場合、これは閾値部124により求まる最
終出力を保持するよう処理する。この基本ユニット121
への入出力は、アナログ信号をもって実現されるよう構
成される。
The basic unit 121 includes at least a multiplication unit 122 and an addition unit 123.
3, a threshold unit 124, and optionally an output holding unit 125. The multiplication unit 122 receives a plurality of inputs and weights for these inputs, performs multiplication, and outputs the result to an addition unit 123.
The multiplication unit 122 adds up the multiplication results for all basic units 121 in the previous layer, and the threshold unit 124 converts the summation result obtained by the addition unit 123 using a non-linear threshold function to calculate the final output. If there is an output holding unit 125, it holds the final output obtained by the threshold unit 124.
The input and output to the device are configured to be realized using analog signals.

140はアナログバスであり、入力層と最前段の中間層と
の間(140a)、中間層相互間の間(140b)の電気的な接
続及び最終段の中間層と出力層との間(140c)の電気的
接続のために設けられる共通線である。150は主制御回
路であり、階層ネットワーク130中におけるデータ転送
を制御するものである。この主制御回路150は、駆動ユ
ニット選択手段151、重み設定手段152、閾値処理起動手
段153及び出力値送信手段154を備える。
Reference numeral 140 denotes an analog bus, which is a common line provided for electrical connection between the input layer and the first hidden layer (140a), between the hidden layers (140b), and between the last hidden layer and the output layer (140c). Reference numeral 150 denotes a main control circuit, which controls data transfer within the hierarchical network 130. This main control circuit 150 includes a drive unit selection means 151, a weight setting means 152, a threshold processing activation means 153, and an output value transmission means 154.

この実施例では、駆動ユニット選択手段151は、前段層
の基本ユニット121を時系列的に順次選択するよう処理
する。そして、出力値送信手段154は、この選択処理と
同期させて、選択された基本ユニット121が保持するア
ナログ信号の最終出力を、アナログバス140を介して、
時分割の送信形式に従って後段層の基本ユニット121に
対して出力するよう処理する。この入力を受け取ると、
後段層の基本ユニット121の乗算部122は、重み設定手段
152により設定されるところの前段層の基本ユニット121
との接続に対応する重みを順次選択して、入力と重みと
の乗算処理を行い、加算部123は、乗算部122により求め
られる乗算結果を順次加算していく。前段層の基本ユニ
ット121に関しての全ての積和処理が終了したことを確
認すると、閾値処理起動手段153は、非線形の閾値関数
fで変換する処理を行う。そして、その基本ユニット12
1からはf(X−θ)が出力される。この後段層が、新
たな前段層になって、次の後段層に対して同様の処理を
繰り返していくことになる。このデータ転送方式によ
り、入力パターンに対応するところの出力パターンが、
階層ネットワークの出力層より出力されることになる。
In this embodiment, the drive unit selection means 151 processes the basic units 121 of the previous layer to be selected in time series order. Then, the output value transmission means 154 synchronizes with this selection process and transmits the final output of the analog signal held by the selected basic unit 121 via the analog bus 140.
It processes the data so that it is output to the basic unit 121 in the subsequent layer in accordance with the time division transmission format.
The multiplication unit 122 of the basic unit 121 in the subsequent layer is a weight setting means
The basic unit 121 of the previous layer set by 152
The weight corresponding to the connection with the input is selected in order, and the weight is multiplied by the input, and the adder 123 sequentially adds the multiplication results obtained by the multiplier 122. When it is confirmed that all product-sum processing for the basic unit 121 of the previous layer has been completed, the threshold processing start means 153 performs processing to convert the basic unit 121 with a nonlinear threshold function f.
1 outputs f(X-θ). This latter layer becomes the new former layer, and the same process is repeated for the next latter layer. With this data transfer method, the output pattern corresponding to the input pattern is
It will be output from the output layer of the hierarchical network.

第20図に、この基本ユニット121を複数個、階層的に接
続することで構成されるネットワーク構成データ処理装
置の一実施例を示す。この実施例は、各基本ユニット12
1に与えられる重みをユニットの外部で一時保持し、CSI
の制御を主制御回路より与える場合の実施例である。こ
の実施例は、階層ネットワークの階層構造間の電気的な
接続を、1本の共通なアナログバス140(識別子として
a乃至cが付くことがある)をもって実現する実施例で
ある。従って、基本ユニット121の出力スイッチ部113か
ら出力させる最終出力値(これが、後段層に位置する基
本ユニット121への入力となる)は、アナログ信号の出
力モードで出力されるように構成される。なおこの実施
例ではh、i層が中間層で、出力層をj層として示して
ある。
FIG. 20 shows an embodiment of a network configuration data processing device configured by connecting a plurality of basic units 121 in a hierarchical manner. In this embodiment, each basic unit 12
The weight given to 1 is temporarily stored outside the unit, and the CSI
This is an embodiment in which control of is given from the main control circuit. In this embodiment, electrical connections between the hierarchical structures of the hierarchical network are realized by a single common analog bus 140 (which may have identifiers a to c). Therefore, the final output value output from the output switch section 113 of the basic unit 121 (which becomes input to the basic unit 121 located in the subsequent layer) is configured to be output in analog signal output mode. In this embodiment, layers h and i are shown as intermediate layers, and the output layer is shown as layer j.

同図において、161は各基本ユニット121毎に設けられる
重み出力回路で、基本ユニット121内の重み保持部119の
ための重みを出力するもの、162は重み信号線で、重み
出力回路161の出力を重み保持回路119に接続するもの、
120(識別子としてa乃至nが付くことがある)は入力
信号の数に合わせて設けられる入力側回路で、階層ネッ
トワークの入力層に対応して入力パターンとなる初期信
号を出力するもの、164(識別子としてa乃至dが付く
ことがある)はCSIを含む同期制御信号線で、データ転
送の制御を実行する主制御回路150からの同期制御信号
を、重み出力回路161、入力側回路120及び基本ユニット
121の制御回路103に伝えるための信号線である。この同
期制御信号線164は、図中では共通線で示してあるが、
詳細には、各回路に対し主制御回路150と個別の信号線
で接続されている。
In the figure, 161 is a weight output circuit provided for each basic unit 121, which outputs weights for the weight holding section 119 in the basic unit 121, 162 is a weight signal line which connects the output of the weight output circuit 161 to the weight holding circuit 119,
Reference numeral 120 (which may be given an identifier a to n) denotes an input circuit provided according to the number of input signals, which outputs an initial signal that becomes an input pattern corresponding to the input layer of the hierarchical network. Reference numeral 164 (which may be given an identifier a to d) denotes a synchronization control signal line including CSI, which transmits a synchronization control signal from the main control circuit 150 that controls data transfer to the weight output circuit 161, the input circuit 120, and the basic unit.
This is a signal line for transmitting the signal to the control circuit 103 of 121. This synchronization control signal line 164 is shown as a common line in the figure,
More specifically, each circuit is connected to the main control circuit 150 by a separate signal line.

第21図に、主制御回路150の詳細なシステム構成を示
す。同図において、主制御回路150は、外部バスインタ
フェイス150a、マイクロコードメモリ150b、プログラム
シーケンサ150c、制御パターンメモリ150d、重みデータ
メモリ150eを少なくともを含んで構成される。外部バス
インタフェイス回路150aは、メインバス150xを介してホ
ストコンピュータ150y、外部記憶装置150zと接続されて
おり、ホストコンピュータ150yからの動作指示を受け取
るもの、マイクロコードメモリ150bは、プログラムシー
ケンサ150cの動作を規定するマイクロコードを格納する
もの、プログラムシーケンサ150cは、マイクロコードメ
モリ150b内のマイクロコードに応じて制御パターンメモ
リ150d及び重みデータメモリ150eのアドレスをコントロ
ールするもの、制御パターンメモリ150dは、その出力信
号線が入力側回路120、中間層、出力層における基本ユ
ニット121のそれぞれに個別に接続されており、プログ
ラムシーケンサ150cからの指示に応じて、各組毎、すな
わち、入力側回路120の組、中間層の組、出力層の組毎
に、各組のうちの1つの回路、あるいは基本ユニット12
1を時分割に選択するように、出力信号線、各種同期信
号線のオン、オフを設定するためのもの、重みデータメ
モリ150eは、プログラムシーケンサ150cの指示に応じ
て、時分割入力信号に同期して各基本ユニット121に重
みが与えられるように、各重み出力回路161に重み(デ
ィジタルデータ)を出力するものである。なお、ホスト
コンピュータ150yは、MPUと主記憶を含み、バックプロ
パゲーション等の学習アルゴリズムより重みを決定した
り、入力パターンYiを与えたりするための制御を行う。
外部記憶装置は、ニューロコンピュータを構築するため
のデータを格納する。
21 shows a detailed system configuration of the main control circuit 150. In the figure, the main control circuit 150 includes at least an external bus interface 150a, a microcode memory 150b, a program sequencer 150c, a control pattern memory 150d, and a weight data memory 150e. The external bus interface circuit 150a is connected to a host computer 150y and an external storage device 150z via a main bus 150x, and receives operation instructions from the host computer 150y. The microcode memory 150b stores microcode that defines the operation of the program sequencer 150c. The program sequencer 150c controls addresses of a control pattern memory 150d and a weight data memory 150e in accordance with the microcode in the microcode memory 150b. The control pattern memory 150d has output signal lines that are individually connected to the input side circuits 120, the intermediate layer, and the basic units 121 in the output layer, and in accordance with instructions from the program sequencer 150c, it controls one circuit of each group, or one basic unit 121 in each group, i.e., for each group of the input side circuits 120, the intermediate layer group, and the output layer group.
The weight data memory 150e outputs weights (digital data) to each weight output circuit 161 in accordance with instructions from the program sequencer 150c so that a weight is assigned to each basic unit 121 in synchronization with the time-division input signal. The host computer 150y includes an MPU and a main memory, and performs control to determine weights using a learning algorithm such as backpropagation, and to assign input pattern Yi .
The external storage device stores data for constructing a neurocomputer.

次に、第22図に示すタイミングチャートに従って、この
ように構成される第20図の実施例の動作処理について説
明する。
Next, the operation process of the embodiment of FIG. 20 configured as above will be explained in accordance with the timing chart shown in FIG.

ホストコンピュータ150yからメインバス150xを介して出
力パターンへの変換要求が与えられると、主制御回路15
0は、入力回路120に対して出力制御信号を時系列的にサ
イクリックに送出することで、複数の入力側回路120を
順次、時系列的にサイクリックに選択していくよう処理
する。すなわち、主制御回路150は、プログラムシーケ
ンサ150cの指示に応じて、制御パターンメモリ150dか
ら、入力側回路120を順々に選択するべく、同期制御信
号線164aを順々に各入力側回路120毎にオンさせる。つ
まり、まず、入力側回路120aに与えられる入力パターン
Y1をアナログバス140aに出力すべく、n本の同期制御信
号線164のうち、入力側回路120aのゲートをオープンす
る同期制御信号(CSI)線164a(図中では、164a−1で
表している)のみをオンし、他の同期制御信号線164aは
オフにする。続いて、入力側回路120bに与えられる入力
パターンY2をアナログバス140aに出力すべく、入力側回
路回路120bのゲートをオープンする同期制御信号線164a
(図中では、164a−2で表している)のみをオンし、他
の同期制御信号線164aはオフにする。以下同様にして、
入力側回路120nの入力パターンYnをアナログバス140aに
出力するまで、同期制御信号線164aのオン、オフ動作を
行う。また、これと並行して、h層の各基本ユニット12
1の各重み出力回路161に対して重みを与えるべく、各同
期制御信号線164aのオン動作に同期するように、同期制
御信号線164bを介して各重み出力回路161毎に重みデー
タメモリ150eの出力をセットする。
When a request for conversion into an output pattern is given from the host computer 150y via the main bus 150x, the main control circuit 15
The main control circuit 150 sequentially selects a plurality of input circuits 120 in a cyclical manner in time series by sending an output control signal to the input circuits 120 in a cyclical manner in time series. That is, the main control circuit 150 sequentially turns on the synchronous control signal line 164a for each input circuit 120 in order to sequentially select the input circuits 120 from the control pattern memory 150d in response to an instruction from the program sequencer 150c. That is, first, the input pattern given to the input circuit 120a is
In order to output the input pattern Y1 to the analog bus 140a, only one of the n synchronous control signal lines 164, which is designated as 164a- 1 in the figure, is turned on to open the gate of the input side circuit 120a, and the other synchronous control signal lines 164a are turned off.
(indicated as 164a-2 in the figure) is turned on, and the other synchronous control signal lines 164a are turned off.
The synchronous control signal line 164a is turned on and off until the input pattern Yn of the input side circuit 120n is output to the analog bus 140a.
In order to provide a weight to each weight output circuit 161, the output of the weight data memory 150e is set for each weight output circuit 161 via the synchronous control signal line 164b in synchronization with the ON operation of each synchronous control signal line 164a.

第22A図では、この同期制御信号線164aの同期制御信号Y
i出力制御信号(i=1〜n)で表して、入力側回路120
を時系列的にサイクリックに選択していく過程を図示し
てある。ここで、nは入力側回路120の個数である。こ
のようにして選択される入力側回路120は、h層との間
に設けられるアナログバス140(図中では、入力層アナ
ログバス140aという)上に、入力パターンとして与えら
れたアナログ信号Yiを送出するよう処理する。この入力
パターンは、ホストコンピュータ150yを介して与えられ
る。従って、第20A図に示すように、入力層アナログバ
ス140a上には、アナログ信号Yiが、入力側回路120の個
数分順序よく送出されるとともに、最初の入力パターン
のYi、続いて次の入力パターンのYi、そして次の入力パ
ターンのYiというように、次々と繰り返し送出されてい
くことになる。
In FIG. 22A, the synchronous control signal Y
i output control signal (i=1 to n), the input side circuit 120
The figure shows the process of cyclically selecting input patterns Yi in a time-series manner. Here, n is the number of input circuits 120. The input circuits 120 selected in this manner process analog signals Yi provided as input patterns onto the analog bus 140 (referred to as input layer analog bus 140a in the figure) provided between the input circuits 120 and the h layer. This input pattern is provided via a host computer 150y. Therefore, as shown in Figure 20A, analog signals Yi are sequentially transmitted onto the input layer analog bus 140a in the same order as the number of input circuits 120, and the first input pattern Yi, followed by the next input pattern Yi , and so on, are transmitted repeatedly.

h層の各基本ユニット121の乗算部122は、この送出され
てくるアナログ信号Yiを受け取ると、主制御回路150か
らセットされることになる重み保持部119の重みWiを使
い、上述した乗算処理の(Yi・Wi)を実行することにな
る。この重みWiは、バック・プロパゲーション法と第7
図に従う学習アルゴリズムにより、MPUですでに決定さ
れているが、第11図に示した重み学習手段を用いるとと
もにバック・プロパゲーション法に従って、すでにMPU
で決定されているものとする。
When the multiplier 122 of each basic unit 121 of the h-th layer receives this analog signal Yi, it uses the weight Wi of the weight holding unit 119 set by the main control circuit 150 to execute the above-mentioned multiplication process (Yi·Wi). This weight Wi is calculated by the back propagation method and the seventh
The weights are already determined by the MPU according to the learning algorithm shown in the figure, but the weights are already determined by the MPU according to the back propagation method using the weight learning means shown in Figure 11.
It shall be determined in the

従って、主制御回路150は、第22B図に示すように、入力
側回路120の選択処理と同期させて、重み出力回路161を
介して、その選択された入力側回路120に応じた重みWi
を、h層の各基本ユニット121の重み保持部119にセット
していくことになる。そして、1バスサイクルの間にYi
とWiの積をとって前の積和との和を求めることになる。
Therefore, as shown in FIG. 22B, the main control circuit 150 outputs the weight Wi according to the selected input side circuit 120 via the weight output circuit 161 in synchronization with the selection process of the input side circuit 120.
are set in the weight storage unit 119 of each basic unit 121 in the h-layer.
and W i are multiplied and summed with the previous sum of products.

この基本ユニット121への重みの設定処理は、アナログ
信号かディジタル信号のいずれのモードに従って実現す
ることも可能である。
The process of setting the weights to the basic units 121 can be realized in either analog or digital signal mode.

なお、重みは、接続毎に指定されるものであることか
ら、正確にはWij(jはh層の基本ユニット番号)と表
すべきであるが、説明を簡単にするためにWiとしてあ
る。
Since the weight is specified for each connection, it should be expressed as Wij (j is the basic unit number of the h layer) to be precise, but for ease of explanation it is expressed as Wi.

ここで、第23図に示される基本ユニット121の信号処理
のタイミングチャートに従って、その処理動作について
説明する。なお、ここでは、中間層における基本ユニッ
ト121(図中の121a)について説明するものとする。
Here, the processing operation of the basic unit 121 will be explained according to the timing chart of signal processing of the basic unit 121 shown in Fig. 23. Note that here, the basic unit 121 (121a in the figure) in the hidden layer will be explained.

まず、制御回路103は、主制御回路150の制御パターンメ
モリ150dから同期制御信号線164(図中の164b−1)を
介して与えられる同期制御信号を受け取ると、入力制御
信号(c)をオンにし、入力スイッチ部118を導通させ
ると同時に、バッファ119aのゲートをオープンする重み
入力制御信号(d)、出力スイッチ部113を導通させるC
SIに相当する出力制御信号(h1)をオンにする。このと
き、主制御回路150は、クロック(a)と同期して前述
した同期制御信号線164aのCSIを順次オンにするので、
このクロック(a)に同期して入力側回路120a,120,・
・・120nに保持されている入力パターン信号Yiが、アナ
ログバス140、入力スイッチ部118を介して乗算型D/Aコ
ンバータ106aに与えられる。
First, when the control circuit 103 receives a synchronization control signal given from the control pattern memory 150d of the main control circuit 150 via the synchronization control signal line 164 (164b-1 in the drawing), it turns on the input control signal (c) to make the input switch unit 118 conductive, and at the same time, it turns on the weight input control signal (d) to open the gate of the buffer 119a, and turns on the output switch unit 113.
At this time, the main control circuit 150 sequentially turns on the CSIs on the synchronous control signal line 164a in synchronization with the clock ( a ).
In synchronization with this clock (a), the input side circuits 120a, 120, .
The input pattern signal Yi held in the input signal generator 120n is applied to the multiplying D/A converter 106a via the analog bus 140 and the input switch section 118.

一方、主制御回路150は、同様に、重みデータメモリ150
eの重みを同期制御信号線164b(図中の164b−2)を介
して重み出力回路161に与えているので、この重み(デ
ィジタルデータ)Wiがバッファ119aを通して重み保持部
119に格納される。また、このとき、CSIの出力制御信号
(h1)がクロック(a)の1周期分だけオンになるの
で、基本ユニット121のサンプルホールド回路のアナロ
グゲートがこの間オープン状態となり、保持されていた
アナログ値が出力スイッチ部113を介して後段のi層の
アナログバス140b上に出力される。さて、重み保持部11
9にディジタル値の重みW1が格納されると、乗算制御信
号(e)がオンとなるので、乗算型D/Aコンバータ106a
は、入力スイッチ部118を介して与えられるアナログ信
号Y1と重みW1との乗算を行い、乗算結果をアナログ信号
として出力する。続いて、加算制御信号(f)がオンに
なるので、積分器で構成されるアナログ加算器107aが動
作し、直前に保持されていたアナログ値(最初はクリア
されており、ゼロである)と乗算型D/Aコンバータ106a
の乗算結果との加算が行われ、加算結果がサンプルホー
ルド回路107bに再格納される。
On the other hand, the main control circuit 150 also stores the weight data memory 150
The weight of e is given to the weight output circuit 161 via the synchronous control signal line 164b (164b-2 in the figure), and this weight (digital data) Wi is sent to the weight holding unit 161 via the buffer 119a.
At this time, the output control signal (h 1 ) of the CSI is turned on for one cycle of the clock (a), so the analog gate of the sample-and-hold circuit of the basic unit 121 is in an open state during this time, and the held analog value is output onto the analog bus 140b of the subsequent i-layer via the output switch unit 113.
When the weight W1 of the digital value is stored in the multiplication D/A converter 106a, the multiplication control signal (e) is turned on.
multiplies the analog signal Y1 given via the input switch unit 118 by the weight W1 and outputs the multiplication result as an analog signal. Subsequently, the addition control signal (f) is turned on, so that the analog adder 107a, which is made up of an integrator, operates and multiplies the analog value held just before (which is initially cleared and is zero) by the multiplication type D/A converter 106a.
The result of the multiplication is added to the result of the multiplication, and the result of the addition is stored again in the sample-and-hold circuit 107b.

以上の動作により、1バスサイクルが終了し、次のクロ
ック(a)に同期して、スイッチ部118からは入力側回
路120bの入力パターンY2が与えられ、重み出力回路161
からはこの入力パターンY2に対応する重みW2が与えられ
るので、入力パターンY2と重みW2との乗算が行われ、そ
して、この乗算結果とサンプルホールド回路107bのホー
ルド値との加算が行われる。そして、これ以降、入力側
回路120nの入力パターンYnに対する処理が終了するまで
この動作を繰り返す。そして、入力パターンYnとWnとの
乗算が終了すると、変換制御信号(g)がオンになるの
で、この乗算結果を累算した値が、閾値部124の非線形
関数発生回路109aに入力され、対応するY値が保持され
る。すなわち、閾値処理部124は、上述した Y=1/(1−exp(−X−θ)) という演算処理を行い、これにより、基本ユニット121
の最終的な演算出力である最終出力値Yが求められ、保
持され、次の出力制御信号(h1)の立ち上がり時にこの
結果が後段のアナログバス(140b)に出力される。この
値Yが求まると、加算部107の累算値は、次の入力側回
路120の選択サイクルと同期して、入力されるクリア信
号によりクリアされる。
With the above operation, one bus cycle is completed, and in synchronization with the next clock (a), the switch unit 118 provides the input pattern Y2 of the input side circuit 120b, and the weight output circuit 161
Since a weight W2 corresponding to this input pattern Y2 is given from the input side circuit 120n, the input pattern Y2 is multiplied by the weight W2 , and the result of this multiplication is added to the hold value of the sample-and-hold circuit 107b. This operation is repeated from this point onwards until the processing for the input pattern Yn of the input side circuit 120n is completed. When the multiplication of the input patterns Yn and Wn is completed, the conversion control signal (g) is turned on, so that the value obtained by accumulating this multiplication result is input to the nonlinear function generating circuit 109a of the thresholding unit 124, and the corresponding Y value is held. That is, the thresholding unit 124 performs the above-mentioned calculation Y=1/(1-exp(-X-θ)), thereby obtaining the basic unit 121
The final output value Y, which is the final calculation output of the above, is calculated and held, and this result is output to the subsequent analog bus (140b) at the rising edge of the next output control signal ( h1 ). Once this value Y is calculated, the accumulated value of the adder 107 is cleared by the input clear signal in synchronization with the next selection cycle of the input side circuit 120.

以上に説明したような動作を行うことにより、各基本ユ
ニット121は、入力パターンYiと重みWiから最終出力値
Yを得る。
By performing the operations described above, each basic unit 121 obtains a final output value Y from the input pattern Y i and the weight W i .

これ以降、第20図に示される実施例の構成に戻って説明
する。第23図を用いて詳述したように、全ての入力側回
路120からの入力パターンに対する処理が終了すると、
再度主制御回路150から各基本ユニット121(識別子とし
てaないしnが付くことがある)に対して同期制御信号
が与えられるので、入力側回路120に新たに与えられる
入力パターンYiと新たな重みWiに従って同様の動作を実
行する。
Hereafter, the explanation will return to the configuration of the embodiment shown in Fig. 20. As described in detail with reference to Fig. 23, when the processing for the input patterns from all the input side circuits 120 is completed,
The main control circuit 150 again provides a synchronization control signal to each basic unit 121 (which may be identified by a to n), which then performs the same operation according to the input pattern Y i and new weight W i newly provided to the input side circuit 120.

一方、このようにして求められるh層の基本ユニット12
1の最終出力値Yは、保持されて、入力側回路120に対し
てなされた処理とまったく同じ処理により、アナログバ
ス140bを介して、次段に位置するi層の基本ユニット12
1へと時分割の送信形式に従って送出されていくことに
なる。すなわち、主制御回路150は、h層の各基本ユニ
ット121a〜121nの制御回路103に対して同期制御信号線1
64b(図中の164b−1)を介して出力制御信号h1〜h
2(第23図)を時系列的にサイクリックに送出すること
で、各基本ユニット121a,121b・・・の出力スイッチ部3
6を順次、時系列的にサイクリックにONする。これによ
り、各基本ユニット121a〜121nに保持されている最終出
力値のアナログ信号が、i層の各基本ユニットの乗算部
122に時分割の送信形式で送られることになる。i層の
各基本ユニットは、前述したと同様の処理動作を実行
し、この処理により求められるi層の基本ユニット121
の最終出力値Yを同様の時分割の送信処理を実行するこ
とで、出力層の基本ユニット121の最終出力値Yが求め
られることになる。すなわち、主制御回路150は中間
層、出力層の各基本ユニット121に個別に接続された同
期制御信号線164c、164dを介して、同様に各基本ユニッ
トの制御を行う。
On the other hand, the basic unit 12 of the h layer obtained in this way
The final output value Y of the input signal is held and is transmitted to the basic unit 12 of the i-th layer located in the next stage via the analog bus 140b by the same processing as that performed on the input side circuit 120.
That is, the main control circuit 150 transmits the synchronous control signal to the control circuit 103 of each of the basic units 121a to 121n in the h layer via the synchronous control signal line 1
64b (164b-1 in the figure) to output control signals h 1 to h
2 (FIG. 23) in a time series manner, the output switch section 3 of each basic unit 121a, 121b, etc.
6 are sequentially and cyclically turned on in a time series manner. As a result, the analog signals of the final output values held in each of the basic units 121a to 121n are output to the multiplication units of the basic units of the i-th layer.
Each basic unit in the i-layer executes the same processing operation as described above, and the basic unit 121 in the i-layer obtained by this processing is
The final output value Y of the output layer basic unit 121 is obtained by performing a similar time-division transmission process of the final output value Y of the output layer basic unit 121. That is, the main control circuit 150 controls each basic unit in the same manner via synchronization control signal lines 164c and 164d individually connected to each basic unit 121 of the intermediate layer and the output layer.

第24図は階層ニューラルネットワークを実現する本発明
のニューロコンピュータのブロック図である。ニューロ
チップからアナログニューロンプロセッサANP1〜5を各
層に並列に配置し、各層間に独立にアナログバス(B1,B
2,B3)を設ける。同図において、ANP1,2,3で中間層を形
成し、ANP4,5で出力層を形成する。また、入力段のANP
はなく、入力側にはアナログ入力信号をタイミングよく
入力するためのディジー回路171,172が存在する。S/Hで
示す回路はサンプル/ホールド回路173,174である。ANP
1〜5にはそれぞれコントロール用のロジック信号が必
要であるので、マスタコントロールブロク(MCB)181か
ら各層に多くの制御信号線を送り込む。データクロック
DCLKはすべてのANPの入力側のディジー回路171と172に
与えられ、アナログ処理の基本クロックとなる。重みク
ロックWLCKもすべてのANPと入力側のディジー回路171,1
72に与えられ、重みデータ用の高速クロックである。重
みメモリブロック185,186からANP4,5及びANP1,2,3には
その重みクロックWCLKに同期して重みデータが入力され
る。また、同期信号SYNC1は中間層のANPに与えられる層
の同期クロックで同期信号SYNC2は出力層のANPに与えら
える層の同期クロックである。SH1とOC1は中間層のANP
に対するサンプル/ホールド制御信号とオフセットコン
トロール信号、SH2とOC2は出力層のANPに対するサンプ
ル/ホールド制御信号とオフセットコントロール信号で
ある。
Fig. 24 is a block diagram of a neurocomputer of the present invention that realizes a hierarchical neural network. Analog neuron processors ANP1 to ANP5 are arranged in parallel in each layer from a neurochip, and analog buses (B1, B
In the figure, ANP1, 2, and 3 form the hidden layer, and ANP4 and 5 form the output layer.
On the input side, there are dizzy circuits 171 and 172 for inputting analog input signals in a timely manner. The circuits indicated by S/H are sample/hold circuits 173 and 174. ANP
Since each of 1 to 5 requires a control logic signal, many control signal lines are sent from the master control block (MCB) 181 to each layer.
DCLK is given to the daisy-chain circuits 171 and 172 on the input side of all ANPs, and serves as the basic clock for analog processing. The weighted clock WLCK is also given to all ANPs and the daisy-chain circuits 171 and 172 on the input side.
72, which is a high-speed clock for weight data. Weight data is input from weight memory blocks 185 and 186 to ANP4 and 5 and ANP1, 2 and 3 in synchronization with the weight clock WCLK. Also, the synchronization signal SYNC1 is a layer synchronization clock given to the ANPs of the hidden layer, and the synchronization signal SYNC2 is a layer synchronization clock given to the ANPs of the output layer. SH1 and OC1 are the synchronization clocks given to the ANPs of the hidden layer.
SH2 and OC2 are sample/hold control signals and offset control signals for the ANP of the output layer.

左側のブロックであるディジー回路171,172は、入力層
に相当する入力側回路である。入力ノード、つまり入力
層内のニューロンを実現するために、アナログ信号を時
分割でANPが出すのと同じタイミングで、アナログ入力
ポート0,1より与えられるアナログ入力信号を回路内に
入力しなければならない。つまり、出力層からみれば、
出力層のANP4,5は前の中間層のANP1,2,3からアナログ信
号をアナログバスB2を介して時分割で受けることを基本
動作としている。これと同じ関係が中間層と入力層にも
存在しなければならない。入力層と中間層の関係は、中
間層のANPから見るとその前に入力層のANPがあるように
見えなければいけない。このことは、中間層のANPがア
ナログバスB2にアナログ信号を出力するタイミングと同
じ機能でアナログ入力ポート0,1からのアナログ入力信
号に対しても決まった規則でアナログバスB1に出力しな
くてはならないという制約がある。即ちアナログ入力ポ
ート0,1からの入力信号はアナログバスB1に時分割に乗
ってくる。アナログ入力ポート0からのアナログ信号
は、適当なタイミングでアナログバスB1に乗るが、そこ
に出力した次のタイミングで、アナログ入力ポート1か
らの次のアナログ入力信号が同じアナログバスB1に乗
る。この同期をとるために一定のタイミングで出される
入力制御信号CSIをディジー回路171が入力し、一定時間
後に、その回路から出力制御信号CSOが出力される。こ
のCSIはマスタコントロール回路181のCSO1から出力され
る。ディジー回路171,172は一種の遅延回路である。各
ディジー回路171はマスタコントロール181から入力制御
信号CSIを入力すると、自分は縦方向に隣接する次のデ
ィジー回路172に対して、アナログ入力ポート1のアナ
ログ出力信号を出すように、CSO信号を次に渡すことに
なる。この動作をディジー制御と呼ぶ。
The daisy chain circuits 171 and 172 on the left side are input side circuits that correspond to the input layer. To realize the input nodes, that is, the neurons in the input layer, analog input signals given from analog input ports 0 and 1 must be input into the circuit at the same timing as the ANP outputs the analog signals in a time-division manner. In other words, from the perspective of the output layer,
The basic operation of ANPs 4 and 5 in the output layer is to receive analog signals from ANPs 1, 2, and 3 in the previous hidden layer via analog bus B2 in a time-sharing manner. The same relationship must exist between the hidden layer and the input layer. From the perspective of the ANPs in the hidden layer, the ANP in the input layer must appear to precede it. This imposes a constraint that the ANPs in the hidden layer must output analog signals to analog bus B2 in the same manner as they output analog input signals from analog input ports 0 and 1 to analog bus B1 according to a set rule. That is, input signals from analog input ports 0 and 1 are transmitted to analog bus B1 in a time-sharing manner. The analog signal from analog input port 0 is transmitted to analog bus B1 at an appropriate timing, and the next analog input signal from analog input port 1 is transmitted to the same analog bus B1 at the same time. To synchronize this, a daisy-chain circuit 171 receives an input control signal CSI, which is output at a fixed timing, and after a fixed time, the circuit outputs an output control signal CSO. This CSI is output from CSO1 of the master control circuit 181. The daisy chain circuits 171 and 172 are a type of delay circuit. When each daisy chain circuit 171 receives an input control signal CSI from the master control 181, it passes the CSO signal to the next daisy chain circuit 172 adjacent to it in the vertical direction so that it outputs the analog output signal of analog input port 1. This operation is called daisy chain control.

マスタコントロール回路181のCSO1が立ち上がると、ス
イッチ175がオンし、サンプル/ホールド回路173に保持
されているアナログ入力ポート0のアナログ入力信号は
アナログバスB1に乗る。CSO1はディジー回路171のCSIで
あるから、これが立ち下がってから一定時間後にCSOが
立ち上がる。これはディジー回路172のCSIであると同時
に、スイッチ176を制御してオンにさせるので、サンプ
ル/ホールド回路174に保持されていたアナログ入力ポ
ート1のアナログ入力信号をバスB1に乗せる。階層構造
になった本システムでは、このディジー制御が必要とな
る。つまり、アナログ入力信号に対してアナログ入力ポ
ート0からサンプル/ホールド回路173を介してアナロ
グバスB1に出力すれば、次にアナログ入力信号に対して
アナログ入力ポート1からサンプル/ホールド回路174
を介して同じアナログバスB1に出力させることになる。
中間層の各ニューロンでみているとアナログ入力ポート
0のアナログ入力信号とアナログ入力ポート1からの次
のアナログ入力信号とは時分割で逐次に入ってくる。
When CSO1 of the master control circuit 181 rises, the switch 175 turns on, and the analog input signal of analog input port 0 held in the sample/hold circuit 173 is placed on the analog bus B1. Since CSO1 is the CSI of the daisy chain circuit 171, CSO rises a certain time after it falls. This is the CSI of the daisy chain circuit 172, and at the same time, it controls the switch 176 to turn it on, so the analog input signal of analog input port 1 held in the sample/hold circuit 174 is placed on the bus B1. This daisy chain control is necessary in this hierarchical system. In other words, if the analog input signal is output from analog input port 0 to the analog bus B1 via the sample/hold circuit 173, then the analog input signal is output from analog input port 1 to the sample/hold circuit 174.
The analog signal is then output to the same analog bus B1 via the
Looking at each neuron in the hidden layer, the analog input signal from analog input port 0 and the next analog input signal from analog input port 1 are input sequentially in a time-division manner.

各ディジー回路171,172は、アナログバスB1上のバス競
合を防ぐために、入力制御信号CSIを特定の時間だけ遅
延させて出力制御信号CSOを出す。
Each of the daisy chain circuits 171 and 172 delays the input control signal CSI by a specific time to prevent bus contention on the analog bus B1, and then outputs the output control signal CSO.

中間層においても、マスタコントロールブロック181か
らの出力制御信号CSO2をCSIとして受けるANP1がアナロ
グ信号を出力したら、CSOをCSIとしてANP2に渡すと、次
にANP2が出力する。ANP2のCSOをCSIとして受けるANP3が
次にアナログ信号を出力することになる。要するに、こ
こではANP1,2,3の順に出力し、中間層のディジー動作が
終わる。これと並行して全ての動作を管理しているマス
タコントロールブロック181は、出力層のANP4にCSO3を
与えるとANP4が出力し、出力完了後、ANP4がANP5にCSO
を与えるとANP5が出力する。
In the middle layer, ANP1, which receives the output control signal CSO2 from the master control block 181 as CSI, outputs an analog signal, then passes CSO to ANP2 as CSI, and ANP2 then outputs. ANP3, which receives CSO from ANP2 as CSI, then outputs an analog signal. In short, ANP1, 2, and 3 output in this order, and the daisy-chain operation of the middle layer is completed. In parallel with this, the master control block 181, which manages all operations, gives CSO3 to ANP4 in the output layer, which then outputs, and after the output is complete, ANP4 passes CSO to ANP5.
ANP5 will output when given.

出力層のANP4,5からの出力は、それぞれマスタコントロ
ールブロック181からCSO3信号及びANP4からのディジー
チェーン用出力制御信号CSOによってそれぞれサンプル
/ホールド回路177、178でサンプル/ホールドされる。
この出力電圧は、アナログ出力ポート0,1からアナログ
出力信号として出力される他、アナログマルチプレクサ
179で選択された後、A/Dコンバータ180でA/D変換され、
MPU182、メモリ183、通信インタフェイス184から構成さ
れるディジタル制御手段に入力される。そして、MPU182
で例えば学習時に与えたMPU内に蓄えられた教師信号と
比較し、所望の出力信号であるかのチェックを行い、こ
の結果に基づいて後述する重みメモリの重みデータを変
更する。マックスバリューノード回路187はマスタコン
トロールブロック181からダミーノード制御信号DCS1,DC
S2が出力イネーブル1及び2に加えられるとともに、出
力端子はアナログバスB1,B2に接続される。
The outputs from ANP4 and ANP5 of the output layer are sampled and held in sample/hold circuits 177 and 178, respectively, by a CSO3 signal from a master control block 181 and a daisy-chain output control signal CSO from ANP4.
This output voltage is output as an analog output signal from analog output ports 0 and 1, and is also used as an analog multiplexer.
After being selected by 179, it is A/D converted by A/D converter 180,
The data is input to a digital control means that is composed of an MPU 182, a memory 183, and a communication interface 184.
For example, the output signal is compared with the teacher signal stored in the MPU during learning to check whether it is the desired output signal, and the weight data in the weight memory (described later) is changed based on the result. The max value node circuit 187 receives the dummy node control signals DCS1, DCS2 from the master control block 181.
S2 is applied to output enables 1 and 2, and the output terminals are connected to analog buses B1 and B2.

第25図は第24図に示した実施例にかかる階層型ニューロ
ンコンピュータのタイミング図である。各層別にその制
御信号線が抜き出して書かれている。まず基本的な動作
クロックであるデータクロックDCLKと重みクロックWCLK
は同一層のすべてのANPや入力側のディジー回路171,172
に同時に入る。
Fig. 25 is a timing diagram of the hierarchical neuron computer according to the embodiment shown in Fig. 24. The control signal lines are extracted and written for each layer. First, the data clock DCLK and the weight clock WCLK are the basic operating clocks.
All ANPs on the same layer and input side daisy-chain circuits 171, 172
Enter at the same time.

重みクロックWCLKは、重みのディジタルデータをシリア
ルで送り込むためのシリアル同期パルスで、重みメモリ
ブロックから重みを読み出すための同期クロックであ
る。どのタイミングで、入力データを取り込むかはそれ
ぞれの制御信号で規定する。まず第25図のタイミングチ
ャートにおいて、CSO1はマスタコントロールブロック18
1から出力されるディジーチェーン用制御信号CSO1、す
なわちディジー回路171へのディジーチェーン用制御信
号CSIである。ディジー回路171において、CSIが1番目
のアナログ入力信号をアナログ入力ポート0からサンプ
ル/ホールド回路SH173を介してアナログバスB1に出力
させる。すなわちタイミングチャートのにおいてアナ
ログ信号をアナログバスB1に出力させる。この瞬間に、
アナログバスB1上に電圧が乗り、ANP1,ANP2,ANP3はこの
アナログ信号に対して並列に積和演算を行う。そのCSO
がディジー回路171を通過し、CSOが立ち下がってから所
定時間後に次のCSIがに示すように立ち上がり、ディ
ジー回路172にそのCSIが入る。次のCSIは入力層の2番
目のディジー回路172に入る制御信号である。そしてCSI
がハイの間にアナログ入力ポート1からアナログ入力信
号をサンプル/ホールド回路SH174を介してANP1,ANP2,A
NP3に入力し、ここで積和演算を行う。マスタコントロ
ールブロック181からのDCS1は、ダミーノードへの制御
信号である。各層とも入力の他にダミーノードからの信
号があるので(ニューロンノード数+1)個のノードの
形態であり、入力層では2入力であるが、各中間層のAN
Pからみると3入力であるように見える。これを時間的
に説明すると、2つのCSIと1つのDCS1で1つのブロッ
クとなる制御信号である。入力のサイクルは、最初のCS
Iから始まり、DCSIのダミーへの入力で終わる。ダミー
ノードはマックスバリューノード回路187であり、その
回路はDSC1が入力されている間アナログバスに固定され
たある閾値電圧を出力する。すなわちで示すようにDC
SIが立ち上がってからこの電圧が出力されている間、中
間層の各ANPは通常の入力と同様に積和演算を行って、
その固定電圧が前の2つのアナログ入力信号の積和演算
されたものの結果に加えられることになる。すなわち、
掛け算後、足し算を実行する。SYNC1は、CSO1が立ち上
がる前のDCLKの立ち下がりでハイとなり、DCS1が立ち上
がってから次のDCLKの立ち下がりでロウとなる。これは
入力層の同期をとる信号である。WCLKが入力されている
間でアナログ入力と重みデータの掛け算が行われる。中
間層のANPに入るサンプル/ホールド信号SH1には、2つ
の山M1,M2が出力されているが、最初の山M1の少し前で
積をとり山の部分で和を生成し、ホールドする。そし
て、次の山M2でオフセット電圧Vbを差し引いてサンプル
/ホールドする。このような処理を入力されるすべての
アナログ信号について順次繰り返し行い、積和の計算が
終わる。この場合はダミーを含めて中間層の各ANPは積
和演算を3回実行する。これで中間層の各ANPの1回の
処理は終わり、3入力に対する積の加算までが終了す
る。
The weight clock WCLK is a serial synchronous pulse for sending the weight digital data serially and is a synchronous clock for reading the weight from the weight memory block. The timing at which the input data is taken in is determined by the respective control signals. First, in the timing chart of Figure 25, CSO1 is the master control block 18.
1, that is, the daisy chain control signal CSO1 output from the daisy chain circuit 171, that is, the daisy chain control signal CSI to the daisy chain circuit 171. In the daisy chain circuit 171, CSI causes the first analog input signal to be output from the analog input port 0 to the analog bus B1 via the sample/hold circuit SH173. That is, in the timing chart, the analog signal is output to the analog bus B1. At this moment,
A voltage is applied to the analog bus B1, and ANP1, ANP2, and ANP3 perform multiplication and accumulation operations on this analog signal in parallel.
passes through the daisy chain circuit 171, and the next CSI rises as shown in a predetermined time after CSO falls, and that CSI enters the daisy chain circuit 172. The next CSI is a control signal that enters the second daisy chain circuit 172 in the input layer. Then, CSI
While this is high, the analog input signal from analog input port 1 is sent to ANP1, ANP2, and ANP3 via the sample/hold circuit SH174.
The input is input to NP3, where a product-sum operation is performed. DCS1 from the master control block 181 is a control signal to the dummy node. In addition to the input, each layer also has a signal from the dummy node, so it has a form of (number of neuron nodes + 1) nodes, and there are two inputs in the input layer, but the AN of each hidden layer
From the perspective of P, it appears to be three inputs. Explaining this in terms of time, two CSIs and one DCS1 are control signals that make up one block. The input cycle is
It starts from I and ends at the input to the dummy of DCSI. The dummy node is a max value node circuit 187, which outputs a fixed threshold voltage to the analog bus while DSC1 is input. That is, as shown by DC
While this voltage is being output after SI rises, each ANP in the middle layer performs a multiplication and accumulation operation in the same way as with normal input,
That fixed voltage is added to the result of the multiplication and accumulation of the previous two analog input signals, i.e.
After the multiplication, an addition is performed. SYNC1 goes high on the falling edge of DCLK before CSO1 rises, and goes low on the next falling edge of DCLK after DCS1 rises. This is a signal that synchronizes the input layer. The analog input and weight data are multiplied while WCLK is being input. The sample/hold signal SH1 input to the ANP in the hidden layer has two peaks, M1 and M2. The product is taken just before the first peak, M1, and the sum is generated and held at the peak. Then, at the next peak, M2, the offset voltage Vb is subtracted and the result is sampled and held. This process is repeated sequentially for all input analog signals until the product-sum calculation is complete. In this case, each ANP in the hidden layer, including the dummy, performs the product-sum operation three times. This completes one process for each ANP in the hidden layer, completing the addition of the products for the three inputs.

また、タイミングチャートに於いてDCS1が立ち下がった
直後のDCLKがハイのとき、アナログ2力ポート0、1,ダ
ミーノードから3つの信号について積和演算した結果が
各ANP1,2,3のキャパシタにホールドされる。このような
動作が基本的に繰り返されることになるが、中間層と出
力層との間にあるアナログバスB2にANP1の出力信号をい
つ出力するかということはマスタコントロールブロック
181から出されるCSO2の信号の立ち上がりで決まる。
Also, in the timing chart, when DCLK is high immediately after DCS1 falls, the results of the multiplication and accumulation operations on the three signals from analog 2 output ports 0 and 1 and the dummy node are held in the capacitors of ANP1, 2, and 3. This operation is basically repeated, but the master control block determines when the output signal of ANP1 is output to analog bus B2 between the hidden layer and the output layer.
It is determined by the rising edge of the CSO2 signal sent from 181.

SH1の下に示したオフセットコントロール制御信号OC1は
ANPの内部においてオフセットキャンセルを行う。すな
わち各ANPは内部的にオペアンプを含むアナログ回路で
あって、回路自体がオフセットを持っているため、この
オフセットをキャンセルするための制御信号がOC信号で
ある。OC1に示されるように積和の演算が1つ実行され
る毎に1つのパルスが出され、内部においてオフセット
キャンセルが実行されている。タイミングチャートでは
で示すようにCSO2が立ち上がるとともにANP1からアナ
ログバスB2にANP1にホールドされていた信号が出力し、
CSO2がハイの間に出力層のANP4が積和演算を行う。で
示されるCSO2の立ち上がりはその前の入力結果の積和の
結果を出力するタイミングである。
The offset control signal OC1 shown below SH1 is
Offset cancellation is performed inside the ANP. That is, each ANP is an analog circuit that includes an operational amplifier internally, and the circuit itself has an offset, so the control signal for canceling this offset is the OC signal. As shown in OC1, one pulse is output each time a multiply-and-accumulate operation is performed, and offset cancellation is performed internally. As shown in the timing chart, when CSO2 rises, the signal that was held in ANP1 is output from ANP1 to analog bus B2,
While CSO2 is high, ANP4 in the output layer performs a multiply-and-accumulate operation. The rising edge of CSO2 indicated by is the timing to output the result of the multiply-and-accumulate of the previous input result.

次に、第25A,B図を使って中間層と出力層との間のタイ
ミングを説明する。
Next, the timing between the hidden layer and the output layer will be explained using Figures 25A and 25B.

なお、同図において、中間層からのディジーチェーン制
御信号の出力,,,及び出力層からの出力,
に同期してアナログバス上にあらわれるアナログ信号
は上述した入力層からのディジーチェーン制御信号の出
力,,に同期してアナログバス上に入力されるア
ナログ信号に対して1処理サイクル前の結果が現れるこ
とになる。パイプライン処理の実行は後で説明するが、
タイミングチャートので示されるCSO2の立ち上がり時
において、ANP1の出力が出される。に示されるCSO2の
立ち上がり時にタイミングチャートSH2の信号を見ると
パルスが2つ出されている。SH2信号は第24図のブロッ
ク図において、出力層の第1番目のANP4に入力されてい
る。すなわちSH2信号の2つの山のパルスにおいて、ANP
4内で和の演算が1つ実行される。中間層には図に示さ
れるようにANP1,2,3の3つの中間層のニューロンがある
が、マックスバリューノード回路187によるダミーノー
ドが1つ加えられ、合計4つのニューロンがあると仮定
されている。従ってSH2信号の山2つのパルスがの部
分から見て4回出力されており、このSH2信号の4組の
山のパルスで中間層のアナログ信号がANP4に入力され積
和が演算される。この動作は当然、中間層のANPが入力
信号に対して積和演算をしているタイミングと同時に行
っていることになり、これはパイプライン処理となって
いる。CSO2の下の信号は中間層にあるANP1のCSOの信号
で、これは同じ中間層のANP2に対するCSIである。これ
がで示されている部分である。その下はANP2のCSOで
その下はANP3のCSIでこれがである。その下がANP3のC
SOであり、その下のがダミーノードのCSIであってこ
れはDCS2、すなわちマスタコントロールブロックから出
される信号である。CSIで見ると,,,の順序
でそれぞれ中間層のANP1,ANP2,ANP3、そしてダミーノー
ドのマックスバリューノード回路187に入力される。こ
の間SH2信号は2つの山を持つパルス信号を4つ出して
いる。すなわち、ANP4の出力層のニューロンは入力アナ
ログ信号と重みとの積を4つ分加えることになる。の
部分でANP1にCSIが入力している時にはANP1からアナロ
グ信号が中間層と出力層の間のアナログバスに信号が出
され、これがANP4に入力される。そしてこの時、対応す
る重みデータがANP4に入力され、それと共に積が実行さ
れ、SH2信号の第1の山で加算され、第2の山でサンプ
ル/ホールドされる。そしてこの計算が終わると、ANP1
からCSOの信号が立ち上がり、これがANP2のCSIとなる。
これがの状態であり、この時重みデータとアナログバ
ス上のデータとが掛け算され、和が計算される。が立
ち下がったあと所定時間後にANP3へのCSIがハイとなり
で示すようにANP4で積和演算が行なわれる。このよう
な積和の演算がANP4内で計算され、のところでマック
スバリューノード回路187から出力される固定電圧がANP
4に入力され、これが内部のいままで蓄えられた積和に
加えられることになる。
In the figure, the daisy-chain control signal output from the intermediate layer, , , and the output from the output layer,
The analog signal that appears on the analog bus in synchronization with the output of the daisy chain control signal from the input layer described above, and the result of one processing cycle before appears for the analog signal that is input on the analog bus in synchronization with the output of the daisy chain control signal from the input layer described above. The execution of pipeline processing will be explained later, but
At the rising edge of CSO2 shown in the timing chart, the output of ANP1 is output. Looking at the signal of SH2 in the timing chart at the rising edge of CSO2 shown in, two pulses are output. The SH2 signal is input to the first ANP4 in the output layer in the block diagram of Figure 24. That is, at the two peak pulses of the SH2 signal, ANP
One sum operation is performed within 4. As shown in the figure, the hidden layer has three hidden layer neurons, ANP1, 2, and 3, but one dummy node is added by the max value node circuit 187, so it is assumed that there are four neurons in total. Therefore, the two peak pulses of the SH2 signal are output four times as seen from the part , and the analog signal of the hidden layer is input to ANP4 with these four sets of peak pulses of the SH2 signal, and the product sum is calculated. Naturally, this operation is performed at the same time as the ANP in the hidden layer is performing the product sum operation on the input signal, and this is pipeline processing. The signal below CSO2 is the CSO signal of ANP1 in the hidden layer, and this is the CSI for ANP2 in the same hidden layer. This is the part indicated by . Below that is the CSO of ANP2, and below that is the CSI of ANP3, which is . Below that is the C of ANP3
SO is shown, and below it is the dummy node CSI, which is a signal output from DCS2, the master control block. Looking at CSI, it is input in the order of , , , to ANP1, ANP2, ANP3 in the hidden layer, and then to the max value node circuit 187 of the dummy node. During this time, the SH2 signal outputs four pulse signals with two peaks. In other words, the neuron in the output layer of ANP4 adds four products of the input analog signal and the weight. When CSI is input to ANP1 at part , an analog signal is output from ANP1 to the analog bus between the hidden layer and the output layer, and this is input to ANP4. At this time, the corresponding weight data is input to ANP4, and the product is executed, added at the first peak of the SH2 signal, and sampled and held at the second peak. When this calculation is complete, ANP1
The CSO signal rises from this point, and this becomes the CSI for ANP2.
This is the state where the weight data and the data on the analog bus are multiplied and the sum is calculated. After a predetermined time has passed since the falling edge of , CSI to ANP3 goes high and a sum-of-products operation is performed in ANP4 as shown by . This sum-of-products operation is performed within ANP4, and at , a fixed voltage output from the max value node circuit 187 is
4, which is then added to the accumulated product sum stored inside.

以上の動作は出力層のANP5に対しても平行して行われ
る。ここに同時処理がある。ANP4で計算された積和演算
の結果が出力層に接続されたアナログバスB3に出力され
るタイミングはマスタコントロールブロック181から出
されるCSO3の立ち上がりである。マックスバリューノー
ド回路187がアナログバスB2に出力するための制御信号
がDCS2であって、これがに対応する。このDCS2までは
中間層における計算結果を出力するまでの動作である。
タイミングチャートのこれよりも下に書いてある信号に
対しては同じような動作であり、中間層とカスケードに
接続された出力層側の動作を規定する信号パルスであ
る。CSO3が立ち上がると、ANP4で計算された積和演算の
結果が出力されることになる。出力層ではANP4、ANP5の
2個が出力される。なお、例えばのCSO2の立ち上がり
は、ANP1に入る信号で、この立ち上がりはDCLKよりも遅
れている。これはアナログ入力信号とディジタル重みデ
ータとの積演算を行う場合、WCLKでディジタルデータを
読み込む時にシリアルであって、これを内部でパラレル
に変換するディジタルデータの読み込み時間とアナログ
入力信号がD/Aコンバータすなわち乗算処理部に到達す
るまでの時間を考慮してCSO2の立ち上がりを遅らせてい
るからである。すなわち、最初の頭の部分でズレている
のは、データの呼び出し、つまりシリアルデータの読み
込み時間が含まれている。データがセットし終わるのは
DCLKの立ち上がりから、しばらくたった時間すなわちWC
LKで16サイクル後である。アナログ乗算の開始時間はCS
O2が立ち上がってからWCLKで8サイクルたった後であ
る。
The above operations are also performed in parallel for ANP5 in the output layer. This is simultaneous processing. The timing at which the result of the product-sum operation calculated by ANP4 is output to the analog bus B3 connected to the output layer is the rising edge of CSO3 output from the master control block 181. The control signal that the max value node circuit 187 uses to output to the analog bus B2 is DCS2, which corresponds to this. Up to this DCS2, the operation is up to the output of the calculation result in the intermediate layer.
The signals written below this one on the timing chart operate in a similar manner, and are signal pulses that dictate the operation of the output layer, which is connected in cascade to the hidden layer. When CSO3 rises, the result of the multiplication and accumulation operation calculated by ANP4 is output. Two signals, ANP4 and ANP5, are output from the output layer. For example, the rising edge of CSO2 is the signal that enters ANP1, and this rising edge is delayed from DCLK. This is because, when performing a multiplication operation between an analog input signal and digital weight data, the digital data is read in serially with WCLK, and the rising edge of CSO2 is delayed to take into account the time it takes to read the digital data, which is converted internally to parallel, and the time it takes for the analog input signal to reach the D/A converter, i.e., the multiplication processing unit. In other words, the delay at the beginning includes the time it takes to call the data, that is, to read the serial data. The data is set up until
The time that has passed since the rising edge of DCLK, that is, WC
The analog multiplication starts 16 cycles later with CS
This is eight WCLK cycles after O2 has started up.

第26図は、ディジタル重みデータの読み込みタイミング
を示すタイミングチャートである。同図において、マス
タクロックMCLK、同期信号SYNC、重みクロックWCLK、デ
ータクロックDCLK、実際の重みデータWDATAが示されて
いる。重みデータWDATAは重みメモリからビットシリア
ルで読み出され、16ビットがシリアルに入力される。S
はサインビットで、B14〜B0までが数値ビットである。
同図において重みデータWDATAのB8,B7,B6の部分が重み
クロックWCLKとの対応として図の下方に拡大された形で
表現されている。重みクロックWCLKは周期が250nsecで
デューティ比50%になっている。WCLKの立ち下がりから
シーケンサ内部にあるアドレス更新用のカウンタの伝播
遅延時間後に重みメモリにアドレスが与えられる。即ち
重みメモリ(RAM)のビットnのアドレスは重みデータW
DATAのビット7が格納されている重みメモリのアドレス
である。このアドレスが確定した後、tAA時刻後にビッ
ト7が読み出されている。ビット7からビット6への変
化は重みクロックの次の周期への変化によって決まり、
ビット6は次の周期で読み出されている。重みデータの
16ビットはANPに入力され、ANPに入力されるアナログ電
圧との積が内部のD/Aコンバータによって計算されるの
で、アナログ電圧の入力開始は、データクロックDCLKか
らの立ち上がりからずっと後に入力される。即ち、アナ
ログ入力電圧は入力されてからD/Aコンバータに到達さ
れるまで時間があるのでその時間とディジタル重みデー
タが内部にセットされる時間とを制御し、重みデータの
到達時間とアナログの到着時間がちょうど一致するよう
にアナログ電圧を入力する必要がある。
Figure 26 is a timing chart showing the timing of reading in the digital weight data. In this figure, the master clock MCLK, the synchronization signal SYNC, the weight clock WCLK, the data clock DCLK, and the actual weight data WDATA are shown. The weight data WDATA is read out bit-serial from the weight memory, and 16 bits are input serially. S
is the sign bit, and B14 to B0 are the numeric bits.
In the figure, the B8, B7, and B6 portions of the weight data WDATA are shown enlarged at the bottom of the figure as they correspond to the weight clock WCLK. The weight clock WCLK has a period of 250 nsec and a duty ratio of 50%. An address is given to the weight memory after the propagation delay time of the address update counter inside the sequencer from the falling edge of WCLK. In other words, the address of bit n of the weight memory (RAM) is the weight data W
This is the address of the weight memory where bit 7 of DATA is stored. After this address is determined, bit 7 is read out after time tAA. The transition from bit 7 to bit 6 is determined by the transition to the next cycle of the weight clock.
Bit 6 is read out in the next cycle.
The 16 bits are input to the ANP, and the product of this with the analog voltage input to the ANP is calculated by the internal D/A converter, so the start of the analog voltage input is input long after the rising edge of the data clock DCLK. In other words, there is a time lag between the analog input voltage being input and reaching the D/A converter, so it is necessary to control this time and the time at which the digital weight data is set internally, and input the analog voltage so that the arrival time of the weight data exactly matches the arrival time of the analog.

例えば、アナログ入力電圧の立ち上がりは、重みデータ
のB7あたりから立ちあげ、重みデータのB0が入力され、
その後すべての重みデータが内部で確定した頃にそのア
ナログ値との乗算がストートするように時間の制御をと
る必要がある。そして加算はDCLKが次にロウになる期間
で行われる。
For example, the analog input voltage rises from around weight data B7, and weight data B0 is input.
After that, it is necessary to control the time so that the multiplication with the analog value starts when all the weight data has been determined internally. Then, the addition is performed during the period when DCLK next goes low.

ANPの動作時間は、SYNC信号とWCLK、及びデータDCLKで
規定される。そしてアナログ入力電圧はANPの入力端子
からディジタル重みデータと積を実行するD/Aコンバー
タ迄の電圧到達時間等にかなりの時間誤差があるので、
マージンを見込んでCSIの立上りはDCLKの立上りより遅
れたところから始まることになる。
The operation time of the ANP is determined by the SYNC signal, WCLK, and data DCLK. The analog input voltage has a significant time error in the voltage arrival time from the input terminal of the ANP to the D/A converter that performs the multiplication with the digital weight data.
To allow for a margin, the rising edge of CSI begins later than the rising edge of DCLK.

第27A図はマスタコントロールブロック181の構成図であ
る。マスタコントロールブロック181はすべての制御信
号を総括する部分である。主要な構成要素は外部バスイ
ンタフェイス回路200、制御パターンメモリ201及びマイ
クロプログラムシーケンサ202とマイクロコードメモリ2
03、アドレス作成部204である。外部バスインタフェイ
ス回路200は、MPU等に接続するためのインタフェイスで
アドレス線205、データ線206及び制御信号線207に接続
されている。外部バスインタフェイス回路200の上位ア
ドレス比較回路208、レジスタであるD−FF209はそれぞ
れMPU等から与えられる上位アドレスをデコードし、上
位アドレスが予め定められた番地である場合に、下位ア
ドレスとデータをそれぞれD−FF209,211にタイミング
回路214からのラッチ信号をトリガとしてセットする。
そのアドレスとデータはそれぞれバスドライバ210と212
を介して、内部アドレスバスと内部データバスを介して
内部に入力される。そのアドレスはマイクロコードメモ
リ203を参照して、マイクロコードをデータバスに介し
てMPU側から書き込む場合等に利用される。また下位ア
ドレスはバスドライバ210を介してマイクロコードアド
レスをマイクロプログラムシーケンサ202にも渡され、M
PU分からの特定なアドレスで制御パターンメモリ201を
参照できるようにしている。
27A is a block diagram of the master control block 181. The master control block 181 is a part that controls all control signals. The main components are an external bus interface circuit 200, a control pattern memory 201, a microprogram sequencer 202, and a microcode memory 203.
03, and an address creation unit 204. The external bus interface circuit 200 is an interface for connecting to an MPU or the like, and is connected to address lines 205, data lines 206, and control signal lines 207. An upper address comparison circuit 208 and a D-FF 209, which is a register, of the external bus interface circuit 200 decode an upper address given from an MPU or the like, and when the upper address is a predetermined address, set the lower address and data in the D-FFs 209 and 211, respectively, using a latch signal from a timing circuit 214 as a trigger.
The address and data are transmitted to bus drivers 210 and 212, respectively.
The address is input internally via the internal address bus and internal data bus. The address is used when referring to the microcode memory 203 and writing the microcode from the MPU side via the data bus. The lower address is also passed to the microprogram sequencer 202 via the bus driver 210 as a microcode address, and the lower address is used when writing the microcode from the MPU side via the data bus.
The control pattern memory 201 can be referenced at a specific address from the PU portion.

MPUあるいは主記憶からのデータはデータ線206を介して
D−FF211にラッチされた後、バスドライバ212を介して
マイクロコードメモリ内のセパレートI/ORAM213あるい
は、制御パターンメモリ201内のセパレートI/ORAM215,2
16に加えられる。MPU或いはメモリからのデータストロ
ーブ信号が制御信号線207を介してタイミング回路214に
加えられるとアクノリッジ信号を返送する通信方式で、
アドレスやデータの送受信に関する制御が行われる。タ
イミング回路214はD−FF211,D−FF209へのラッチタイ
ミングやWR信号を介してマイクロコードメモリ203、制
御パターンメモリ201への書き込みタイミング等を制御
する。
Data from the MPU or main memory is latched into the D-FF 211 via the data line 206, and then sent to the separate I/O RAM 213 in the microcode memory or the separate I/O RAM 215, 2 in the control pattern memory 201 via the bus driver 212.
16. When a data strobe signal from the MPU or memory is applied to the timing circuit 214 via the control signal line 207, an acknowledge signal is returned.
A timing circuit 214 controls the latch timing to the D-FFs 211 and 209 and the write timing to the microcode memory 203 and the control pattern memory 201 via the WR signal.

第25図A,Bのタイミングチャートに示されるようなニュ
ーロチップに与える複雑な制御信号の“1",“0"パター
ンは、制御パターンメモリ201に1周期分格納され、そ
の1周期分のパターンをマイクロプログラムシーケンサ
202の制御に従って制御パターンメモリ201から読み出す
ことによって生成する。例えばリセット信号Reset、デ
ータクロックDCLK、重みクロックWCLK、CSO1,CSO2,CSO3
やSYNC1、SYNC2、SH1、SH2、OC1,OC2等の制御信号はセ
パレートI/ORAM215から読出され、パターンに付随する
制御情報つまりシーケンス制御フラグは第2のセパレー
トI/ORAM216から読み出される。例えば制御パターンメ
モリ20は1000110001というパターンが格納されている場
合には、“1,0"ビットのパターンであるから、この“1,
0"ビットのパターンを繰り返すように制御パターンメモ
リ201のアドレスを制御すれば、このパターンの繰り返
しが制御パターンメモリ201から読み出されることにな
る。すなわち制御信号のパターンは非常に複雑なパター
ンであるので、これらのパターンを予めこのセパレート
I/ORAM215に格納しておき、そのセパレートI/ORAM215の
アドレスをマイクロプログラムシーケンサ202の制御に
従って指定することによって順次そのビットパターンを
出力する構造になっている。よって、幾つかの同じパタ
ーンを繰り返すことになるので、その繰り返しをどのよ
うに実現するかはアドレス制御に従う。この1周期分の
パターンをオリジナルパターンと呼ぶことにする。オリ
ジナルパターンを繰り返すためには、マイクロプログラ
ムシーケンサ202に制御パターンメモリ201からの特定な
情報をフィードバックする必要がある。すなわち第2の
セパレートI/ORAM216内のシーケンサコントロールフラ
グを条件入力としてマイクロプログラムシーケンサ202
に入力することにより、マイクロプログラムシーケンサ
202は第1のセパレートI/ORAM215内のオリジナルパター
ンの入っている先頭アドレスに戻るように制御する。こ
のことにより、オリジナルパターンの繰り返しが実行さ
れる。すなわち、マイクロプログラムシーケンサ202は
その条件が満たされるまで汎用ポート出力線202−1を
介してセパレートI/ORAM215へのアドレス信号を逐次に
生成する。通常はこのアドレスはインクリメントされる
がオリジナルパターンの最終になったという条件が満た
されると、そのオリジナルパターンが格納されている先
頭アドレスに戻るようにする。結果として特定なパター
ンが繰り返しセパレートI/ORAM215から制御パターンが
出力される。
The complex control signal "1" and "0" patterns given to the neurochip as shown in the timing charts of Figs. 25A and 25B are stored for one cycle in the control pattern memory 201, and the pattern for one cycle is sent to the microprogram sequencer.
The control pattern is generated by reading it from the control pattern memory 201 under the control of 202. For example, the reset signal Reset, the data clock DCLK, the weight clock WCLK, CSO1, CSO2, and CSO3
Control signals such as SYNC1, SYNC2, SH1, SH2, OC1, and OC2 are read from the separate I/ORAM 215, and control information associated with the patterns, i.e., sequence control flags, are read from the second separate I/ORAM 216. For example, if the control pattern memory 20 stores a pattern of 1000110001, this is a "1,0" bit pattern.
If the address of the control pattern memory 201 is controlled so that a 0 bit pattern is repeated, this repetition of the pattern is read out from the control pattern memory 201. In other words, since the control signal patterns are very complicated, it is necessary to prepare these patterns in advance in this separate memory.
The structure is such that the bit patterns are stored in the I/ORAM 215, and the addresses of the separate I/ORAM 215 are specified under the control of the microprogram sequencer 202, thereby outputting the bit patterns in sequence. Therefore, several identical patterns are repeated, and how this repetition is realized is determined by address control. This pattern for one cycle is called the original pattern. In order to repeat the original pattern, it is necessary to feed back specific information from the control pattern memory 201 to the microprogram sequencer 202. That is, the sequencer control flag in the second separate I/ORAM 216 is used as a condition input to the microprogram sequencer 202.
By inputting into the microprogram sequencer
The microprogram sequencer 202 controls the first separate I/ORAM 215 to return to the first address where the original pattern is stored. This causes the original pattern to be repeated. That is, the microprogram sequencer 202 sequentially generates address signals to the separate I/ORAM 215 via the general-purpose port output line 202-1 until the condition is met. Normally, this address is incremented, but when the condition that the address has reached the end of the original pattern is met, the address is returned to the first address where the original pattern is stored. As a result, the specific pattern is repeated and a control pattern is output from the separate I/ORAM 215.

第27B図は、マスタコントロールブロック181を制御する
メモリ201及び203内の情報の相互関係である。同図にお
いて、制御パターンメモリ1が第1のセパレートI/ORAM
215に相当し、制御パターンメモリ2が第2のセパレー
トI/ORAM216に相当する。マイクロコードメモリ203内に
は、シーケンサ202の制御コードが記憶され、主に、Jum
p命令とRepeat命令が格納されている。アドレスの増加
方向にみて、特定なアドレスにRepeat命令があり、この
反復命令に従う制御パターンメモリ内のパターン1の繰
り返し数は制御パターンメモリ2の対応するアドレスに
格納され、例えば「10」であるとすれば、10回の反復を
実行することになる。このようにして、アドレスが増加
し、マイクロコードメモリノJump命令に来たときに、マ
イクロコードメモリ203内の第2のJumpで500Hに飛び、P
attern2を出力する。Pattern2を5回繰り返すと、マイ
クロコードメモリ203内の第3のJumpで、再び「100H」
に飛び、Pattern1を出力することになる。このようにし
て、オリジナルパターンが繰り返されて、制御パターン
メモリ1から読み出される。
27B shows the relationship between the information in the memories 201 and 203 that control the master control block 181. In the figure, the control pattern memory 1 is a first separate I/ORAM.
The control pattern memory 2 corresponds to the second separate I/O RAM 215, and the control pattern memory 2 corresponds to the second separate I/O RAM 216. The microcode memory 203 stores the control code of the sequencer 202, and mainly stores the Jump
The p instruction and the Repeat instruction are stored in the control pattern memory 2. Looking in the direction of address increment, there is a Repeat instruction at a specific address, and the number of repetitions of pattern 1 in the control pattern memory according to this repeat instruction is stored in the corresponding address in the control pattern memory 2. For example, if it is "10", 10 repetitions will be executed. In this way, when the address increments and the Jump instruction in the microcode memory is reached, the second Jump in the microcode memory 203 jumps to 500H, and the P
When Pattern2 is repeated five times, the third Jump in the microcode memory 203 again outputs "100H".
and outputs Pattern 1. In this way, the original pattern is repeated and read out from the control pattern memory 1.

この制御パターンメモリ201を参照するアドレスの読み
出しクロックに同期してWCLKが作られており、重みメモ
リ185,186からWCLKに同期して情報が読み出される。重
みメモリ185,186へのアドレスはアドレス作成部204のア
ドレス1及びアドレス2から出力されるアドレス信号に
よってアクセスされる。アドレス1とアドレス2はそれ
ぞれ、中間層と出力層に対応して分離している。中間層
にあるANPに与えるべき重みデータはアドレス1によっ
て指定される重みメモリ185から読み出され、出力層へ
のANPへの重みデータはアドレス2によって指定される
重みメモリ186から読み出された内容である。各アドレ
スは重みメモリ185,186の内容が重みデータの各ビット
をアドレスが増す方向に1ビットずつ格納されているの
で、アドレスカウンタ217,218へのカウント制御信号が
マイクロプログラムシーケンサ202から与えられる必要
がある。そのアドレスカウンタ217,218によってこのア
ドレスがバスドライバ219,220を介して次から次へと重
みメモリ185,186へのアドレス信号として、インクリメ
ントして与えられる。そして複数の重みデータがその重
みメモリ185,186から読み出される。
WCLK is generated in synchronization with the read clock of the address referencing this control pattern memory 201, and information is read from the weight memories 185 and 186 in synchronization with WCLK. Addresses for the weight memories 185 and 186 are accessed by address signals output from address 1 and address 2 of the address generation unit 204. Address 1 and address 2 are separated to correspond to the hidden layer and the output layer, respectively. The weight data to be provided to the ANP in the hidden layer is read from weight memory 185 specified by address 1, and the weight data for the ANP in the output layer is the content read from weight memory 186 specified by address 2. Since the contents of weight memories 185 and 186 are stored at each address, one bit at a time in the direction in which the address increases, a count control signal must be provided to address counters 217 and 218 from the microprogram sequencer 202. These addresses are incremented by the address counters 217 and 218 and provided as address signals to the weight memories 185 and 186 one after another via bus drivers 219 and 220. Then, a plurality of weight data are read out from the weight memories 185 and 186 .

第1のセパレートI/ORAM215からWCLKとマイクロプログ
ラムシーケンス202からのカウンタ制御信号がアドレス
作成部204内のアンド回路221、222に加えられている。
カウンタ制御信号がハイのとき、WCLKによってアドレス
カウンタは更新され、WCLKの1〜16ビットまではアドレ
スカウンタ217,218をインクリメントする。そして、残
りのWCLK17〜26ビットに対しては、カウンタ制御信号を
ロウとすることによりWCLKをインヒビットとしてアドレ
スカウンタ217,218のインクリメントを停止する。そし
て、SYNC1、SYNC2に同期して、それぞれカウンタリセッ
ト信号をマイクロプログラムシーケンス202からアンド
回路221,222に送出して、アドレスカウンタ217,218をリ
セットする。このことにより、重みメモリ185,186のア
ドレスを先頭アドレスに戻す。なお、マスタコントロー
ルブロック181から出力されるモード信号は、重みメモ
リの通常使用、すなわち重みメモリをMPUデータバスか
ら切り離し重みデータをANPに与えるモードと、重みメ
モリをMPUデータバスに接続し、MPUから重みメモリを参
照するモードを形成するためのものである。
The WCLK from the first separate I/ORAM 215 and the counter control signal from the microprogram sequence 202 are applied to AND circuits 221 and 222 in the address creation unit 204 .
When the counter control signal is high, the address counter is updated by WCLK, and bits 1 to 16 of WCLK increment the address counters 217 and 218. For the remaining bits 17 to 26 of WCLK, the counter control signal is set low to inhibit WCLK, stopping the increment of the address counters 217 and 218. Then, in synchronization with SYNC1 and SYNC2, counter reset signals are sent from the microprogram sequence 202 to AND circuits 221 and 222, respectively, to reset the address counters 217 and 218. This returns the addresses of the weight memories 185 and 186 to the starting addresses. The mode signal output from the master control block 181 is used to select between normal use of the weight memory, i.e., a mode in which the weight memory is disconnected from the MPU data bus and weight data is provided to the ANP, and a mode in which the weight memory is connected to the MPU data bus and the weight memory is referenced by the MPU.

モード信号は、MPUからのデータの下位ビットが、下位
アドレスの1ビットとタイミング回路214からの書込み
信号からWRをアンド回路223にて生じるアドレス信号を
トリガとしてフリップフロップ224にセットされること
により形成される。このモード信号が0のとき重みメモ
リは通常使用となる。
The mode signal is generated by setting the lower bits of the data from the MPU in a flip-flop 224, triggered by an address signal generated by an AND circuit 223 that generates WR from one bit of the lower address and the write signal from the timing circuit 214. When this mode signal is 0, the weight memory is in normal use.

書込み信号WRと内部アドレスバスの1ビットがアンド回
路223を介してフリップフロップ224のクロック端子に入
力され、内部データバスのLSBがフリップフロップ224の
データ端子に入力される。上記アドレスを比較回路208
でマスタコントロールブロック181が選択されているか
を判定し、選択されている場合、下位アドレスとデータ
をDFF209,211に取り込む。このような、インタフェイス
動作はMPUに接続される他のデバイスに対しても同様に
行われるが重みメモリは通常ANPに対し重みデータを供
給しているので、MPUのデータバスに直接接続するとバ
ス競合が生じる。これを防ぐために、内部データバスの
LSBがフリップフロップ224に取り込まれた時はモードを
1として、重みメモリを後述するようにチップセレクト
しないようにして、重みメモリからデータバス上にデー
タが生じないようにする。内部アドレスバスが所定タイ
ミングにおいて、内部アドレスバスによって、マイクロ
コードメモリ203と制御パターンメモリ201のいずれかの
アドレスを指定し、そのアクセスされたアドレスに内部
データバスから所望のデータを書き込む。これにより、
マイクロプログラムシーケンサ202やマイクロコードメ
モリ203、セパレートI/ORAM216に記憶されたプログラム
を変更するか、セパレートI/ORAM215に記憶された制御
パターンを変更する。
The write signal WR and one bit of the internal address bus are input to the clock terminal of a flip-flop 224 via an AND circuit 223, and the LSB of the internal data bus is input to the data terminal of the flip-flop 224.
The master control block 181 is checked to see if it is selected, and if it is, the lower address and data are taken into DFFs 209 and 211. This kind of interface operation is also performed for other devices connected to the MPU, but since the weight memory normally supplies weight data to the ANP, if it is connected directly to the MPU data bus, bus contention will occur. To prevent this,
When the LSB is captured by the flip-flop 224, the mode is set to 1, the weight memory is not chip selected as described below, and data is not generated on the data bus from the weight memory. At a predetermined timing, the internal address bus specifies an address of either the microcode memory 203 or the control pattern memory 201, and the desired data is written from the internal data bus to the accessed address. As a result,
The programs stored in the microprogram sequencer 202, the microcode memory 203, and the separate I/O RAM 216 are changed, or the control pattern stored in the separate I/O RAM 215 is changed.

第28A図はこの重みデータメモリ230のデータ格納構成図
である。同図において列方向の8ビットは同じアドレス
に入った8ビットデータの情報であり、各ビットは下か
らANP1,ANP2・・・ANP8に与えられる。行方向はアドレ
スが異なり、図に示すように左に行くほどアドレスが増
加する方向となっている。重みデータはサインビットを
含めて16ビットであるからこれをアドレスの小さい方向
から大きい方に向かって格納する。MSBは、サインビッ
トで、それ以外の15ビットは数値ビットである。マイク
ロプログラムシーケンサ202からアドレスがWCLKに同期
してインクリメントされると、重みデータの1ワード
分、すなわち16ビットがMSBから順にLSBまで読み出され
ることになる。8個の複数のANPに同時にこれらの重み
データが渡される。このようにアドレスの増加する方向
にデータが格納される構造になっているため、この重み
データに対するアドレスのカウンタが必要となる。すな
わち、MSBからLSBの重みデータデータの1ワード分がカ
ンウントされたら、1個分の重みデータになるようにカ
ウントされる制御が必要となる。この制御はやはりマイ
クロプログラムシーケンサ202で行っている。
Figure 28A shows the data storage configuration of the weight data memory 230. In this diagram, eight bits in the column direction represent 8-bit data information stored at the same address, and each bit is provided to ANP1, ANP2, ..., ANP8 from the bottom up. The addresses in the row direction are different, and as shown in the diagram, the addresses increase as you move to the left. Weight data consists of 16 bits, including the sign bit, and is stored from lowest to highest addresses. The MSB is the sign bit, and the other 15 bits are numeric bits. When the address from the microprogram sequencer 202 is incremented in synchronization with WCLK, one word of weight data, i.e., 16 bits, is read out sequentially from the MSB to the LSB. These weight data are simultaneously passed to eight ANPs. Because data is stored in this manner in the order of increasing addresses, an address counter for this weight data is required. That is, a counting control is required so that when one word of weight data is counted from the MSB to the LSB, it becomes one weight data. This control is also performed by the microprogram sequencer 202.

第28B図は重みメモリブロック185,186具体的回路であ
る。メモリ230はMB8464A−70というRAMである。出力はA
NP1〜ANP8に対応する8ビットである。基本的にMPUのバ
スから見たバス信号線とマスタコントロールブロック18
1から見えるアドレス1と2のどちらかを使う。アドレ
ス1と2は前述した第19A図のアドレス1と2である。
このアドレス1と2はWCLKに同期してインクリメントさ
れる形で入力される。8ビットのデータは同時に読み出
され、各ビットはANP1〜ANP8に対して同時に与えられ
る。
Figure 28B shows a concrete circuit of the weight memory blocks 185 and 186. The memory 230 is a RAM called MB8464A-70. The output is A
It is 8 bits corresponding to NP1 to ANP8. Basically, it is the bus signal line seen from the MPU bus and the master control block 18
1 uses either address 1 or 2 visible from 1. Addresses 1 and 2 are addresses 1 and 2 in Figure 19A mentioned above.
Addresses 1 and 2 are input in an incremented manner in synchronization with WCLK. Eight bits of data are read out simultaneously, and each bit is simultaneously applied to ANP1 to ANP8.

モード信号が0のときはアンドゲート233を介して、重
みメモリ230はチップセレクトされ、このとき、マイク
ロプログラムシーケンサ202からのアドレス1,2がマルチ
プレクサ234で有効となる。そして、重みメモリ230から
重みデータがANP1〜8に送られる。一方、反転回路231
の出力は、ハイであるからトライステートバストランシ
ーバ232はディスイネーブル状態となって重みメモリ230
の出力はMPUへと出力されない。
When the mode signal is 0, the weight memory 230 is chip-selected via the AND gate 233, and at this time, addresses 1 and 2 from the microprogram sequencer 202 become valid in the multiplexer 234. Then, weight data is sent from the weight memory 230 to ANP1 to ANP8. On the other hand, the inverter circuit 231
Since the output of the tristate bus transceiver 232 is high, the tristate bus transceiver 232 is disabled and the weight memory 230
The output of is not sent to the MPU.

MPUに出力する場合には、モード信号を1にして、MPUか
らの適当なアドレス情報によって、アドレスデコーダ23
5を介してメモリ230をチップセレクトし、メモリ230にM
PUからアドレスを与える。モード信号が1のとき、MPU
バスへの読み出しまたはバスからメモリ230への書き込
みの制御すなわちリードライトの方向は、MPUからアン
ドゲート236を介して繰るデータ線の読み出し信号Read
Signalによって決められる。
When outputting to the MPU, the mode signal is set to 1, and the address decoder 23 receives appropriate address information from the MPU.
5 to chip select the memory 230, and
Address is given from PU. When mode signal is 1, MPU
The read/write direction is controlled by the read signal Read from the data line sent from the MPU via an AND gate 236.
Determined by Signal.

次に学習のアルゴリズムについて説明する。第28C図は
本発明に利用されるバックプロパゲーションという学習
アルゴリズムのフローチャートである。学習は次のよう
に進められる。本発明のニューラルネットワークすなわ
ち、ANPの集合によって構成される階層型ネットワーク
の入力に学習すべき完全情報がMPUから図示しない入力
制御回路を介して入力される。そして、その入力信号は
入力側回路、中間層及び出力層を介してネットワーク出
力にA/Dコンバータを介した後MPUに与えられる。MPU側
の主記憶内に学習アルゴリズムが存在する。MPU内は、
教師信号を主記憶から取り入れ、ネットワークの出力と
教師信号との誤差を調べる。もし、その誤差が大きけれ
ば、MPUは、ネットワークが正しい出力を出す方向に、
ネットワークの接続の強さである重みデータを変えるこ
とになる。この重みデータは重みメモリ230を介して各
層のANPに加えられる。
Next, the learning algorithm will be explained. Figure 28C is a flowchart of the learning algorithm called backpropagation used in the present invention. Learning proceeds as follows: Complete information to be learned is input from the MPU via an input control circuit (not shown) to the input of the neural network of the present invention, i.e., a hierarchical network composed of a set of ANPs. Then, the input signal passes through the input side circuit, intermediate layer and output layer, and is sent to the network output via an A/D converter before being given to the MPU. The learning algorithm exists in the main memory on the MPU side. Inside the MPU,
The teacher signal is taken from the main memory and the error between the network output and the teacher signal is checked. If the error is large, the MPU will move the network in the direction of producing the correct output.
The weight data, which represents the strength of the network connections, is changed. This weight data is applied to the ANP of each layer via the weight memory 230.

第29図は入力側のディジー回路173,174の構成図であ
る。図中240,241,242はDタイプのフリップフロップで
ある。DCLK信号の立ち上がりでD端子に入力されるデー
タをセットし、出力Qを1の状態にする。第1のフリッ
プフロップ240は、DCLKの立ち下がりで、CSI信号をセッ
トする。そして、次の立ち上がりで第2番目のフリップ
フロップ241にその出力信号をセットする。
Figure 29 is a diagram of the input-side daisy chain circuits 173 and 174. In the figure, 240, 241, and 242 are D-type flip-flops. At the rising edge of the DCLK signal, data input to the D terminal is set, and output Q is set to 1. The first flip-flop 240 sets the CSI signal at the falling edge of DCLK. Then, at the next rising edge, the output signal is set to the second flip-flop 241.

その出力は第3番目のフリップフロップ242のD端子に
入力されている。その入力をセットするクロック信号は
4ビットカウンタ243の出力である。カウンタ243はWCLK
の立ち下がりでトリガされる。クリアされるのはDCLKの
立ち下がりである。従って、DCLKの立ち下がりにカウン
タ243はオール0となり、WCLKの立ち下がりが8回入力
された後、上位ビットのQD信号がハイとなるので、これ
がトリガとなってフリップフロップ242はCSOにハイ信号
を出力する。フリップフロップ241の出力が0になればC
SOはクリアされる。このような動作により、CSIが立ち
下がって、WCLKの8パルス分に相当する所定な時間通過
したのちCSOが出力されるというディジー動作が行われ
る。
The output is input to the D terminal of the third flip-flop 242. The clock signal that sets the input is the output of a 4-bit counter 243. The counter 243 is WCLK
It is triggered by the falling edge of DCLK. It is cleared by the falling edge of DCLK. Therefore, the counter 243 becomes all 0 at the falling edge of DCLK, and after eight falling edges of WCLK are input, the upper bit QD signal becomes high, which triggers the flip-flop 242 to output a high signal to CSO. When the output of the flip-flop 241 becomes 0, C
By this operation, CSI falls, and after a predetermined time equivalent to eight WCLK pulses has passed, CSO is output, resulting in a daisy-chain operation.

第30図はダミーノードのニューロンを形成するマックス
バリューノード回路187の具体的回路図である。同図に
おいて抵抗250、ツェナーダイオード251、252、抵抗25
3、電圧フォロア254、255は一定電圧を形成する回路で
ある。抵抗250、253とツェナーダイオード251、252を介
して+12ボルトから−12ボルトに電流が流れると電圧フ
ォロア254、255の入力には、それぞれ+7ボルトと−7
ボルトが形成される。これらの電圧は電圧フォロア254,
255の出力抵抗256を介して出力される。この2つの一定
電圧を時分割で引き出すようにアナログスイッチ257〜2
64を用いて制御する。Tモードの信号が0の時、その一
定電圧はアナログスイッチ257を介して次の電圧フォロ
ア265に与えられる。Tモードが1すなわち、テストモ
ードの時にはアナログスイッチ258によってその出力は
アナロググランドに抑えられるため、0ボルトが電圧フ
ォロア265に入力される。テストモードでは、バス上の
オフセットがMPUに通知されることになる。電圧フォロ
ア265は、出力部のスイッチ制御によってイネーブルさ
れる。出力イネーブルが1のとき、アナログスイッチ26
0がオンで電圧フォロアとして働き、その出力が与えら
れるが、この時、ダミーノード出力には出力されない。
逆に出力イネーブルが0の時にダミーノード出力に出力
される。アナログスイッチ260とその出力のスイッチ制
御は出力イネーブル1または2によって制御され、0イ
ネーブルである。すなわち出力イネーブル1または2が
0の時にダミーノード出力に一定電圧が出力される。な
お、ダミーノード出力は上側が入力層のダミーノード用
であり、2番目が中間層のダミーノード用の出力であ
る。このダミーノードの出力電圧は適当な値に固定され
るため、スレッシュホールド電圧として使用可能とな
る。なお、ツェナーダイオード251,252は逆バイアス状
態で一定の電圧を出すものであり、固定電圧は、+7ボ
ルトから−7ボルトまでの範囲で可変できるようにして
いる。出力イネーブル1,2はアナログバスにつながって
いる他のANPからの出力電圧とそのアナログバス上で衝
突を避けるためにマスタコントロールブロック181から
のダミーノード制御信号DCSでイネーブル状態が決めら
れている。
30 is a specific circuit diagram of the max value node circuit 187 which forms the neuron of the dummy node. In the figure, a resistor 250, Zener diodes 251 and 252, resistor 25
3. The voltage followers 254 and 255 are circuits that form a constant voltage. When a current flows from +12 volts to -12 volts through resistors 250 and 253 and Zener diodes 251 and 252, the inputs of the voltage followers 254 and 255 become +7 volts and -7 volts, respectively.
These voltages are fed to the voltage follower 254,
The two constant voltages are output through an output resistor 256 of 255. The analog switches 257-258 are connected to each other so as to extract these two constant voltages in a time-division manner.
64. When the T mode signal is 0, the constant voltage is given to the next voltage follower 265 via the analog switch 257. When T mode is 1, that is, in the test mode, the output is held to the analog ground by the analog switch 258, so that 0 volts is input to the voltage follower 265. In the test mode, the offset on the bus is notified to the MPU. The voltage follower 265 is enabled by the switch control of the output section. When the output enable is 1, the analog switch 26
When 0 is on, it acts as a voltage follower and its output is given, but at this time, no output is given to the dummy node output.
Conversely, when Output Enable is 0, a signal is output to the dummy node output. The analog switch 260 and its output are controlled by Output Enable 1 or 2, which is 0 enabled. That is, when Output Enable 1 or 2 is 0, a constant voltage is output to the dummy node output. The upper dummy node output is for the dummy node in the input layer, and the second is for the dummy node in the middle layer. The output voltage of this dummy node is fixed to an appropriate value, so it can be used as a threshold voltage. Zener diodes 251 and 252 output a constant voltage in a reverse bias state, and this fixed voltage can be varied within a range from +7 volts to -7 volts. The enable states of Output Enables 1 and 2 are determined by the output voltages from other ANPs connected to the analog bus and the dummy node control signal DCS from the master control block 181 to avoid conflicts on the analog bus.

第31A図は帰還型ネットワークの概念図である。FIG. 31A is a conceptual diagram of a feedback network.

帰還型ネットワークの場合にも、基本的には入力が存在
するが、自分が出力した信号も帰ってくるという帰還路
を持った構造となる。この帰還方式は、階層型ニューラ
ルネットワークにおける1層を時分割多重使用するタイ
プとして利用される。
In the case of a feedback network, there is basically an input, but the network also has a feedback path in which the signal it outputs also returns. This feedback method is used as a type of multi-layered neural network that uses one layer in time division multiplexing.

ANPの入出力信号は、時分割であるので、各ANPの出力点
ではある一定のシーケンスサイクル毎にその同じANPの
出力データが逐次に出力されて、1つシーケンスサイク
ルごとに階層型ニューラルネットワークの入力層、中間
層、出力層として順次動作する。
Since the input and output signals of the ANP are time-shared, the output data of the same ANP is output sequentially at the output point of each ANP for a certain sequence cycle, and each ANP operates sequentially as the input layer, intermediate layer, and output layer of the hierarchical neural network for each sequence cycle.

本発明の実施例によれば、第31B図に示されるように、
帰還路を共通アナログバスCBで実現することになりコの
字型の帰還部が存在する。そして1個自分が計算して出
したものが出力され帰還路を通じて各ANPからの出力が
フィードバックされることになる。この帰還動作を繰り
返していく。
According to an embodiment of the present invention, as shown in FIG. 31B:
The feedback path is realized by the common analog bus CB, and there is a U-shaped feedback section. Then, the result of each calculation is output, and the output from each ANP is fed back through the feedback path. This feedback operation is repeated.

第32図においては帰還型ネットワークの第1の実施例構
成図である。同図において、121は処理層を構成する複
数個の基本ユニット1である。これらの基本ユニット12
1は、同様に、乗算部122、累算部123、閾値部124を有
し、場合によって出力保持部125を備える。そして、同
様に、この基本ユニット121の入出力もアナログ信号を
もって実現されるよう構成される。各基本ユニット121
の出力部とすべての基本ユニット121の入力部との間で
アナログバス141,142,143を介して電気的な接続がなさ
れ、且つこの各接続に対応して設定されることになる重
みにより、等価的に階層ネットワークが構成され、ある
いはホップフィード型ネットワークが構成される。
Fig. 32 shows the configuration of a first embodiment of a feedback network. In the figure, 121 denotes a plurality of basic units 1 that constitute the processing layer. These basic units 12
Similarly, the basic unit 121 has a multiplication unit 122, an accumulation unit 123, a threshold unit 124, and may also have an output holding unit 125. Similarly, the input and output of this basic unit 121 are also configured to be realized by analog signals.
Electrical connections are made between the output of the basic unit 121 and the input of all basic units 121 via analog buses 141, 142, and 143, and a weight corresponding to each connection is set to form an equivalent hierarchical network or a hop-feed network.

142はアナログバスであり、帰還ラインを構成する出力
部と入力部との間の電気的な接続のために設けられる共
通線である。主制御回路150は、駆動ユニット選択手段1
51、重み設定手段152、閾値処理起動手段153及び出力値
送信手段154から構成され、データ転送を制御する。
Reference numeral 142 denotes an analog bus, which is a common line provided for electrical connection between the output section and the input section that constitute the feedback line.
51, weight setting means 152, threshold processing starting means 153 and output value sending means 154, and controls data transfer.

駆動ユニット選択手段151は、基本ユニット121を時系列
的に順次選択するよう処理する。そして、出力値送信手
段154は、この選択処理と同期させて、選択された基本
ユニット121の出力の保持部が保持するアナログ信号の
最終出力を、アナログバス142を介して、時分割の送信
形式に従ってすべての基本ユニット121の乗算処理部122
に対して帰還するよう処理する。この入力を受け取る
と、各基本ユニット121の乗算部122は、重み設定手段15
2により設定されるところの各接続に対応する重みを順
次選択して、入力と重みとの乗算処理を行い、加算部12
3は、乗算部122により求められる乗算結果を順次累算し
ていく。処理層の基本ユニット121に関してのすべての
累算処理が終了したことを確認すると、閾値処理起動手
段153は、基本ユニット121の閾値処理部124を起動して
閾値の一定電圧を加えシグモイド関数の計算を行うよう
に制御する。
The drive unit selection means 151 processes to select the basic units 121 in time series order. Then, in synchronization with this selection process, the output value transmission means 154 transmits the final output of the analog signal held in the output holding unit of the selected basic unit 121 to the multiplication processing units 122 of all the basic units 121 via the analog bus 142 in accordance with a time-division transmission format.
Upon receiving this input, the multiplier 122 of each basic unit 121 processes the weight setting means 15
2, the weights corresponding to the respective connections are sequentially selected, and the input is multiplied by the weights.
3 sequentially accumulates the multiplication results obtained by the multiplication unit 122. When it is confirmed that all accumulation processes for the basic units 121 of the processing layer have been completed, the threshold processing activation means 153 activates the threshold processing unit 124 of the basic unit 121 and controls it to apply a constant threshold voltage and perform calculation of the sigmoid function.

そして、この処理を予め定められた回数だけサイクリッ
クに繰り返していくことになる。このデータ転送方式に
より、例えば、入力パターンに対応するところの出力パ
ターンが、層の時分割多重化による階層ネットワークの
出力として得られる。
This process is then repeated cyclically a predetermined number of times. With this data transfer method, for example, an output pattern corresponding to an input pattern is obtained as the output of a hierarchical network by time-division multiplexing the layers.

すなわち、この実施例は、単一層で構成される本発明の
ネットワーク構成データ処理装置を開示している。この
実施例では、多層構造のネットワーク構成データ処理装
置を単一層構造のものにするために共通線のアナログバ
ス142を設けるよう構成し、このアナログバス142が、単
一層をなす基本ユニット121の出力を入力に帰還してい
くことで、各基本ユニット121の出力がすべての基本ユ
ニット121の入力部に接続されることになるようにと構
成するのである。
That is, this embodiment discloses a network configuration data processing device of the present invention configured as a single layer. In this embodiment, in order to make the multi-layered network configuration data processing device into a single layer, a common line analog bus 142 is provided, and this analog bus 142 is configured to feed back the output of the basic units 121 forming a single layer to the input, so that the output of each basic unit 121 is connected to the input parts of all basic units 121.

次に、第33A図に示すタイミングチャートに従って、こ
のように構成される第32図の実施例の動作処理について
説明する。
Next, the operation process of the embodiment of FIG. 32 configured as above will be described with reference to the timing chart shown in FIG. 33A.

出力パターンへの変換要求があると、主制御回路150
は、入力側回路120に対してCSIの制御信号を時系列的に
送出することで、複数の入力側回路120を順次、時系列
的に選択していくよう処理する。第33A図に、この選択
処理を図示する。このようにして選択される入力側回路
120は、アナログバス143上に、入力パターンとして与え
られたアナログ信号Yiを時系列的に送出するよう処理す
る。従って、第33A図に示すように、アナログバス143上
に、アナログ信号Yiが、入力側回路120の個数分順序よ
く送出されることになる。
When a request for conversion to an output pattern is made, the main control circuit 150
The input side circuit 120 is selected in order in time series by sending a CSI control signal to the input side circuit 120. This selection process is illustrated in FIG. 33A.
The input circuits 120 process the analog signals Yi given as an input pattern so as to transmit them in time series onto the analog bus 143. Therefore, as shown in Fig. 33A, the analog signals Yi are transmitted in order onto the analog bus 143, the number of which is equal to the number of input circuits 120.

第33B図のタイミングチャートに示すように、各基本ユ
ニット121の乗算部122は、この送出されてくるアナログ
信号Yi受け取ると、主制御回路150からセットされるこ
とになる重み保持部8の重みWiを使って乗算処理を実行
することになる。続いて、各基本ユニット121の累算部1
23は、入力側回路120の選択毎に求められていくことに
なる乗算結果を順次累算し、すべての入力側回路120の
選択が終了することですべての累算処理を終了すると、
各基本ユニット121の閾値部124が基本ユニット121の最
終的な演算出力である最終出力値Yを求める処理を行う
ことになる。
As shown in the timing chart of Fig. 33B, when the multiplier 122 of each basic unit 121 receives the analog signal Yi , it executes multiplication processing using the weight Wi of the weight holding unit 8 that is set by the main control circuit 150. Then, the accumulator 122 of each basic unit 121
23 sequentially accumulates the multiplication results that are obtained for each selection of the input side circuit 120, and when all the accumulation processes are completed by completing the selection of all the input side circuits 120,
The threshold section 124 of each basic unit 121 performs processing to obtain the final output value Y, which is the final calculation output of the basic unit 121.

このようにして求められる最終出力値Yは、内部で保持
される。そして、続いて、各基本ユニット121の出力ス
イッチ部113が主制御回路150よりCSIとしての出力制御
信号を受けると順次、時系列的にONしていくことで、ア
ナログバス142を介して、この保持されている最終出力
値のアナログ信号が、基本ユニット121の乗算部122に帰
還されることになる。この処理により、等価的に、入力
層の基本ユニット121の最終出力値が、中間層の基本ユ
ニット121に対して時分割の送信形式に従って送信され
ることになる。以下、同様の処理を基本ユニット121に
繰り返していくことで、出力層に相当する最終出力値Y
が求められることになる。第33A図に、入力側回路120へ
のY1出力制御信号と対応させて、基本ユニット121への
出力制御信号のタイミングチャートを示すとともに、ア
ナログバス142上の最終出力値Yのアナログ信号のタイ
ミングチャートを示すことにする。
The final output value Y thus obtained is held internally. Then, when the output switch section 113 of each basic unit 121 receives an output control signal as CSI from the main control circuit 150, it is turned on in sequence in a time series manner, and the analog signal of this held final output value is fed back to the multiplication section 122 of the basic unit 121 via the analog bus 142. By this process, the final output value of the basic unit 121 of the input layer is equivalently transmitted to the basic unit 121 of the hidden layer in a time-division transmission format. By repeating the same process for the basic unit 121, the final output value Y corresponding to the output layer is
33A shows a timing chart of the output control signal to the basic unit 121 in correspondence with the Y1 output control signal to the input side circuit 120, and also shows a timing chart of the analog signal of the final output value Y on the analog bus 142.

この第34図の実施例は、階層ネットワークに対して連続
的に入力パターンを入力できないという欠点はあるもの
の、階層ネットワークが単純にできるので、チップ化す
る際に極めて微小にできるという長所がでてくることに
なる。
Although the embodiment of FIG. 34 has the drawback that it is not possible to input continuous input patterns to the hierarchical network, it has the advantage that the hierarchical network can be simplified and therefore can be made extremely small when fabricated into a chip.

第34図は本発明のニューロコンピュータを階層型ネット
ワークとして動作する帰還型ネットワークによって実現
した実施例である。アナログ入力ポート1,2からの時分
割アナログ入力信号に対してANP1,2,3において積和演算
を行い、ANP1,2,3を中間層として動作させANP1,2,3から
アナログバスB2に時分割出力し、この出力信号を帰還路
であるアナログコモンバスCBを介してアナログバスB1に
帰還し再びこの帰還信号に対してANP1,2,3で積和演算を
行うことにより、ANP1,2,3を出力層として動作させるこ
とにより、一層のANP1,2,3により階層型ネットワークを
実現したものである。マックスバリューノード回路187
はマスタコントロールブロックのDCS出力を受けてアナ
ログバスB2にダミー信号を生ずる。そしてマスタコント
ロールブロックからDCLK及びWCLKがそれぞれディジー回
路171に入力され、CSI信号の立ち上がり及び立ち下がり
のタイミングを規定する。
Figure 34 shows an embodiment in which the neurocomputer of the present invention is realized by a feedback network operating as a hierarchical network. ANPs 1, 2, and 3 perform product-sum operations on time-division analog input signals from analog input ports 1 and 2. ANPs 1, 2, and 3 then operate as an intermediate layer, outputting the time-division analog signals to analog bus B2. This output signal is fed back to analog bus B1 via analog common bus CB, which serves as a feedback path. ANPs 1, 2, and 3 then perform product-sum operations on this feedback signal again, operating ANPs 1, 2, and 3 as an output layer, thereby realizing a hierarchical network using one layer of ANPs 1, 2, and 3. Max Value Node Circuit 187
receives the DCS output of the master control block and generates a dummy signal on the analog bus B2. DCLK and WCLK are input from the master control block to a daisy-chain circuit 171, which determines the timing of the rise and fall of the CSI signal.

第35A図は第34図に示した帰還型階層ネットワークのタ
イミングチャートである。
FIG. 35A is a timing chart of the feedback hierarchical network shown in FIG.

DCLKが立ち上がっている間だけ、WCLKは発生し、DCLKが
立ち上がってからアナログ信号が定常化し、かつ重みデ
ータがシリアルに入ってきた後で、パラレルに揃う前の
タイミングでマスタコントロールブロック181からのSCO
1がディジー回路171に入力されに示すように立ち上が
る。この時アナログ入力ポート1よりサンプル/ホール
ドS/Hに保持されているアナログ信号はアナログスイッ
チ175を介してアナログバスB1に現れ、ANP1,2,3で積和
演算が行われる。次のDCLKの入力で、ディジー回路172
へのCSIがに示すように立ち上がると、アナログ入力
ポートからの入力信号を保持しているサンプル/ホール
ド回路S/Hの信号がアナログスイッチを介してアナログ
バスB1上に現れ、ANP1,2,3で2回目の積和演算が行われ
る。さらに次のタイミングでDCLKが入力した後、に示
すようにマスタコントロールブロックよりダミー信号DC
Sが発生し、ANP1,2,3においては、固定電圧に対する3
回目の和が実行される。次のSYNC信号が立ち上がってい
る間に、ANP1,2,3の出力層の積和演算が行われる。重み
メモリへのアドレス1の信号のアドレスカウント禁止信
号が立ち上がっている間だけ、アドレスカウンタをカウ
ントするWCLKがイネーブルされ、それ以外の時には、そ
のカウントは抑止される。次に、CSO2がマスタコントロ
ールブロックよりANP1に与えられると、ANP1は、前回の
積和の結果をアナログバスB2に出力し、アナログ共通バ
スCBを通してアナログバスB1に帰還し、で示すように
再びANP1,2,3において積和演算を行う。CSO2がANP1の内
部のディジーチェーン回路において、所定遅延を加えら
れた後、ANP2にに示すように入力信号CSIを加え、こ
の時、ANPの出力信号がアナログバスB2に共通バスCB及
びアナログバスA1、B1を介して再びANP1に加えられ、こ
こで積和演算が行われる。同様にANP2からのCSOは所定
時間遅らせた後、ANP3のCSI信号となり、このCSI信号が
に示すように立ち上がった時にANP3の出力信号がアナ
ログバスB2,共通バスCB、アナログバスB1を介して再びA
NP1,2,3に帰還されてここで積和演算が行われる。同様
にに示すようにダミーノードからの信号DCSの立ち上
がりの際に再び、固定電圧に対してANP1,2,3により和の
演算が行われる。そして、次のCSO2の信号の立上がりで
ANP1,2からS/Hを介して出力が,に示すように生じ
る。なお、アナログ入力ポート2からは出力されない。
WCLK is generated only while DCLK is rising, and after DCLK rises, the analog signal becomes steady, and after the weight data is input serially, the SCO from the master control block 181 is generated at the timing before the parallel data is aligned.
1 is input to the daisy chain circuit 171 and rises as shown. At this time, the analog signal held in the sample/hold S/H from the analog input port 1 appears on the analog bus B1 via the analog switch 175, and a multiplication and accumulation operation is performed by ANP1, 2, and 3. At the next input of DCLK, the daisy chain circuit 172
When CSI to the analog input port rises as shown, the signal from the sample/hold circuit S/H holding the input signal from the analog input port appears on the analog bus B1 via the analog switch, and the second multiplication and accumulation operation is performed by ANP1, 2, and 3. After DCLK is input at the next timing, the master control block outputs a dummy signal DC
S occurs, and in ANP1, 2, and 3, the
The sum of products is then executed. While the next SYNC signal is rising, the sum of products of the output layers of ANP1, 2, and 3 are calculated. The WCLK that counts the address counter is enabled only while the address count inhibit signal for the address 1 signal to the weight memory is rising; otherwise, the count is inhibited. Next, when CSO2 is given to ANP1 from the master control block, ANP1 outputs the result of the previous sum of products to analog bus B2 and returns it to analog bus B1 via analog common bus CB, and ANP1, 2, and 3 perform the sum of products again as shown. After a predetermined delay is added in the daisy-chain circuit inside ANP1, CSO2 adds the input signal CSI to ANP2 as shown, and at this time, the output signal of ANP is added to analog bus B2 via common bus CB and analog buses A1 and B1 again to ANP1, where the sum of products is calculated. Similarly, the CSO signal from ANP2 becomes the CSI signal of ANP3 after a predetermined delay, and when this CSI signal rises as shown in Figure 1, the output signal of ANP3 is transmitted again via the analog bus B2, common bus CB, and analog bus B1 to A
The signal is fed back to NP1, 2, and 3, where the sum of products is calculated. Similarly, when the signal DCS from the dummy node rises, the sum of fixed voltages is calculated again by ANP1, 2, and 3. Then, when the signal CSO2 rises again,
The output is generated from ANP1, 2 via S/H as shown in Fig. 1. Note that there is no output from analog input port 2.

ここで,,はANP1,2,3が中間層として動作し、
,,はANP1,2,3が出力層として動作する。従って
この実施例によれば、ANP1,2,3の1層のみの構成で階層
型ネットワークを構成できる。
Here, ANP1, 2, and 3 act as intermediate layers,
, , ANP1, 2, 3 operate as the output layer. Therefore, according to this embodiment, a hierarchical network can be configured with only one layer of ANP1, 2, 3.

産業上の利用可能性 以上に説明した実施例により、本発明の学習処理方式に
より決定される重み情報を用いて、第7図に原理構成を
示したネットワーク構成データ処理装置のデータ処理が
実現されることになる。
INDUSTRIAL APPLICABILITY According to the embodiment described above, data processing of the network configuration data processing device whose basic configuration is shown in FIG. 7 can be realized using weight information determined by the learning processing method of the present invention.

本発明の学習処理方式は、様々な実装方式が考えられ
る。1つの実装方式としては、計算機上に重み設定専用
のネッワーク構成データ処理装置(第11図)を構築し、
この構築された重み設定用装置において、本発明の学習
のアルゴリズムに従って重みを求め、そして、その求め
られた重みを、第21図で説明した実際のネットワーク構
成データ処理装置の重みデータメモリ150eから出力して
いくという方式により実現することが考えられる。ま
た、他の実装方式としては、第21図で説明した主制御回
路150の制御のためのホストコンピュータ150yに本発明
に係る学習処理のアルゴリズムのプログラムを実装し、
このホストコンピュータ150yが、実装のネットワーク構
成データ処理装置を使って重みの更新量を算出して新た
な重みを求め、その求められた重みを重みデータメモリ
150eにセットしていくことで学習を実行し、そして、最
終的に求められた重みをデータ処理実行時に重みとし
て、重みデータメモリ150eに設定していくという方式に
より実現するということが考えられる。このときには、
学習処理のために必要となる前回及び前々回の重みの更
新量は、例えばホストコンピュータ150yのメインメモリ
上に展開されることになる。
The learning processing method of the present invention can be implemented in various ways. One implementation method is to build a network configuration data processing device (Figure 11) dedicated to weight setting on a computer,
In this constructed weight setting device, it is conceivable to realize the system by determining weights according to the learning algorithm of the present invention, and then outputting the determined weights from the weight data memory 150e of the actual network configuration data processing device explained in Fig. 21. Another implementation method is to implement a program of the learning processing algorithm of the present invention in the host computer 150y for controlling the main control circuit 150 explained in Fig. 21,
The host computer 150y calculates the amount of weight update using the network configuration data processing device installed, obtains new weights, and stores the obtained weights in the weight data memory.
It is conceivable that this can be realized by a method in which learning is performed by setting the weights in the weight data memory 150e, and the weights finally obtained are set as weights when data processing is performed in the weight data memory 150e.
The weight update amounts for the previous and previous times required for the learning process are stored, for example, in the main memory of the host computer 150y.

以上、図示実施例について説明したが、本発明はこれに
限定されるものではない。例えば、説明に用いた階層ネ
ットワークや制御パラメータに関しての具体的な数値
は、あくまで説明の便宜のために用いたものにすぎな
い。
Although the illustrated embodiment has been described above, the present invention is not limited to this. For example, the specific values of the hierarchical network and control parameters used in the description are used solely for the convenience of explanation.

このように、本発明によれば、階層ネットワークの重み
の値を、従来技術よりも少ない回数で学習できるように
なるので、ネットワーク構成データ処理装置を実現のも
のとすることができるようになる。しかも従来技術よ
り、教師信号との不一致を小さくできるようになること
から、ネットワーク構成データ処理装置のデータ処理機
能の正確性を、より高めることができるようになる。
In this way, according to the present invention, the weight values of a hierarchical network can be learned in fewer iterations than in the prior art, making it possible to realize a network configuration data processing device. Moreover, since the discrepancy with the teacher signal can be reduced compared to the prior art, the accuracy of the data processing function of the network configuration data processing device can be further improved.

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】前段層からの1つ又は複数の入力と当該入
力に対して乗算されるべき重みとを受け取って積和を得
るとともに、当該得られた積和値を閾値関数によって変
換して最終出力を得る基本ユニットを基本単位とし、 入力層と、複数個の当該基本ユニットを中間層とした1
つ又は複数段の中間層と、かつ1つ又は複数個の当該基
本ユニットからなる出力層とを有し、 入力層と最前段の中間層との間、中間層相互間及び最終
段の中間層と出力層との間で内部結合を構成するととも
に、当該内部結合に対応して上記重みが設定されるネッ
トワーク学習処理装置において、 上記入力層の基本ユニットに対して複数の所定の入力信
号を供給することで、上記出力層の基本ユニットから当
該入力信号に対応する出力信号を得る出力信号導出手段
と、 当該出力信号導出手段により得られた出力信号と当該出
力信号がとるべき値を指示する教師信号とを使い、2つ
の信号の不一致の大きさを表す誤差値を算出する誤差値
算出手段と、 当該誤差算出手段により算出された誤差値から得られる
値と、前回の更新サイクル時の重み更新量と、前々回の
更新サイクル時の重み更新量とに基づいて現時点の更新
サイクル時の重み更新量を求め、該重み更新量から重み
を算出する重み学習手段とを備えることを特徴とするネ
ットワーク学習処理装置。
[Claim 1] A basic unit is a unit that receives one or more inputs from a previous layer and weights to be multiplied by the inputs, obtains a sum of products, and converts the obtained sum of products using a threshold function to obtain a final output. The basic unit is an input layer and a plurality of such basic units are used as an intermediate layer.
1. A network learning processing device having one or more intermediate layers and an output layer consisting of one or more of said basic units, wherein internal connections are formed between the input layer and the intermediate layer at the front stage, between the intermediate layers themselves, and between the intermediate layer at the final stage and the output layer, and wherein the weights are set corresponding to the internal connections, the network learning processing device comprising: output signal derivation means for supplying a plurality of predetermined input signals to the basic units of the input layer to obtain output signals corresponding to the input signals from the basic units of the output layer; error value calculation means for calculating an error value representing the magnitude of discrepancy between the two signals, using the output signals obtained by the output signal derivation means and a teacher signal indicating the value that the output signal should take; and weight learning means for determining a weight update amount for a current update cycle based on a value obtained from the error value calculated by the error calculation means, the weight update amount for a previous update cycle, and the weight update amount for a cycle before last, and for calculating a weight from the weight update amount.
【請求項2】前記重み学習手段は第1のパラメータ−ε
と第2のパラメータαとさらに第3のパラメータ−βを
一時格納するレジスタ群と、現在の重み更新量、前回の
重み更新量、更に前々回の重み更新量をそれぞれ格納す
る記憶手段と、前記−εに誤差の偏微分値∂E/∂Wの値
を掛ける第1の乗算及び前記αに前回の重み更新量ΔW
(t−1)を掛ける第2の乗算及び前記−βに前々回の
重み更新値ΔW(t−2)を掛ける第3の乗算器からな
る乗算手段と、前記3つの乗算結果を加算する加算手段
と、前記加算手段の結果に重みデータメモリから読み出
した重みW(t)を加える第2の加算手段と、得られた
重みと重み更新量の情報を格納する重みデータメモリ群
とを有することを特徴とする請求項1記載のネットワー
ク学習処理装置。
2. The weight learning means
a register group for temporarily storing the second parameter α and the third parameter −β; a storage means for respectively storing the current weight update amount, the previous weight update amount, and the weight update amount before the previous weight update amount; a first multiplication means for multiplying −ε by the value of the partial differential value ∂E/∂W of the error and a first multiplication means for multiplying α by the previous weight update amount ΔW
2. The network learning processing device according to claim 1, further comprising: multiplication means comprising a second multiplier for multiplying -β by (t-1) and a third multiplier for multiplying -β by the weight update value ΔW(t-2) from the second previous time; addition means for adding the results of the three multiplications; second addition means for adding a weight W(t) read from a weight data memory to the result of the addition means; and a group of weight data memories for storing information on the obtained weights and weight update amounts.
【請求項3】前記重み更新量ΔW(t)、前回の重み更
新量ΔW(t−1)、前々回の重み更新量ΔW(t−
2)を格納するメモリは共通な重み選択信号をアドレス
信号として持ち、シフト信号をオンにすることにより重
み更新量ΔW(t)メモリ(62)から前回の重み更新量
ΔW(t−1)メモリ(63)に、前回の重み更新量ΔW
(t−1)メモリ(63)から前々回の重み更新量ΔW
(t−2)メモリ(64)にそれぞれ同じアドレスの内容
が同じアドレスに書き込むように順次重み更新量をシフ
トすることにより重み更新量のコピーを行うことを特徴
とする請求項2記載のネットワーク学習処理装置。
3. The weight update amount ΔW(t), the previous weight update amount ΔW(t-1), the weight update amount before last ΔW(t-
The memory for storing 2) has a common weight selection signal as an address signal, and by turning on the shift signal, the weight update amount ΔW(t) memory (62) is shifted to the previous weight update amount ΔW(t-1) memory (63), and the previous weight update amount ΔW
(t-1) The weight update amount ΔW from the memory (63)
3. The network learning processing device according to claim 2, wherein the weight update amounts are copied by sequentially shifting the weight update amounts so that the contents of the same addresses are written to the same addresses in the (t-2) memory (64).
【請求項4】重みW(t)の重みデータメモリ、前記Δ
W(t)の重みデータメモリ、前回及び前々回の重み更
新量ΔW(t−1)及び、ΔW(t−2)をそれぞれ格
納する重みデータメモリは、層番号、ユニット番号及び
結線番号からなる重み選択信号をアドレスとすることを
特徴とする請求項2記載のネットワーク学習処理装置。
4. A weight data memory for weight W(t), said Δ
3. The network learning processing device according to claim 2, wherein the weight data memory for W(t) and the weight data memories for storing the previous and previous weight update amounts ΔW(t-1) and ΔW(t-2) are addressed by a weight selection signal consisting of a layer number, a unit number, and a connection number.
【請求項5】入力層、中間層、及び出力層の少なくとも
3層の階層型ニューラルネットワークの学習処理におい
て誤差をE(t)、各層間の各結合の重みをW(t)と
した場合に、学習時における重みの更新量を外力とする
微分方程式 に基づいてこの微分方程式を差分近似して重み更新量Δ
Wに関して とすることにより前々回の更新サイクル時の重みの更新
量ΔW(t−2)に−βを乗算した値を用いて重み更新
量を求めることを特徴とするネットワーク構成データ処
理の学習処理方法。
Claim 5: In the learning process of a hierarchical neural network with at least three layers, an input layer, an intermediate layer, and an output layer, if the error is E(t) and the weight of each connection between each layer is W(t), a differential equation is defined in which the update amount of the weight during learning is an external force. Based on this, the differential equation is approximated by difference and the weight update amount Δ
Regarding W The learning processing method for processing network configuration data is characterized in that the weight update amount is calculated using a value obtained by multiplying the weight update amount ΔW(t−2) in the update cycle before last by −β.
【請求項6】入力層、中間層、及び出力層の少なくとも
3層からなる階層型ネットワークと前記ネットワークに
入力するべき入力信号を保持する入力信号保持部と、教
師信号を保持する教師信号保持部と、前記ネットワーク
に前記入力信号保持部からの入力信号が与えられた場合
に出力される出力信号と前記教師信号保持部からの教師
信号との誤差を算出し、誤差の重みに対する偏微分∂E/
∂Wを出力する誤差算出手段と、前記偏微分の値を入力
し、重み更新量ΔW(t)、そして前回と前々回の重み
更新量ΔW(t−1)、ΔW(t−2)を使った重み学
習手段と、前記重み学習手段の学習の結果決定される重
み値W(t)を重みデータメモリ61より前記階層型ネッ
トワークに与え、前記重み学習手段に対して初期設定を
行った後、前記重み学習手段の重みの更新の制御を行
い、得られた重み値W(t)を前記ネットワークに与
え、ネットワークの動作を実行させる制御及び前記入力
信号保持手段にパターン選択信号を与え、前記誤差算出
手段に対しても適当な制御を行う主制御回路手段を有す
ることを特徴とするネットワーク学習処理装置。
6. A hierarchical network comprising at least three layers, an input layer, an intermediate layer, and an output layer, an input signal holding unit for holding an input signal to be input to said network, a teacher signal holding unit for holding a teacher signal, and a method for calculating an error between an output signal output when an input signal from said input signal holding unit is given to said network and the teacher signal from said teacher signal holding unit, and calculating a partial differential ∂E/
a weight learning means for receiving the value of the partial differential and using a weight update amount ΔW(t) and weight update amounts ΔW(t-1) and ΔW(t-2) from the previous and previous previous times; and a main control circuit means for providing a weight value W(t) determined as a result of learning by said weight learning means from a weight data memory 61 to said hierarchical network, performing initial settings for said weight learning means, controlling the updating of the weights of said weight learning means, providing the obtained weight value W(t) to said network, controlling the operation of the network, providing a pattern selection signal to said input signal holding means, and also performing appropriate control over said error calculation means.
【請求項7】前記主制御回路の前記重み学習手段への制
御信号は内部の重みデータ格納用のメモリ(62,63,64)
をクリアするクリア信号、重み更新量を現在のΔW
(t)を格納するメモリ62から前回の更新量メモリ、前
回から前々回の更新量メモリにコピーさせることを制御
するシフト信号、各重みメモリのアドレス信号である重
み選択信号、各重みメモリ(61〜64)の読み出しを制御
する重み読み出し信号、重みデータメモリ61に初期値を
設定する初期値設定信号、およびその初期値及び学習パ
ラメータ−ε、α及び−βの信号、さらに重み学習手段
の各動作の同期をとるための重み更新信号(90)を出力
することを特徴とする請求項6記載のネットワーク学習
処理装置。
7. The control signal from the main control circuit to the weight learning means is transmitted to an internal weight data storage memory (62, 63, 64).
A clear signal to clear the weight update amount is the current ΔW
7. A network learning processing device according to claim 6, further comprising: a shift signal for controlling copying of data from memory 62 storing (t) to the previous update amount memory and to the update amount memory from the previous to the previous update amount memory; a weight selection signal which is an address signal for each weight memory; a weight read signal for controlling reading of each weight memory (61-64); an initial value setting signal for setting an initial value in weight data memory 61; signals for the initial value and learning parameters -ε, α and -β; and a weight update signal (90) for synchronizing the operations of the weight learning means.
【請求項8】前記重み更新信号は第1の周期において乗
算、第2の周期においてΔW(t)を出力するための第
1の加算、及び第3の周期において重みデータW(t)
の更新用の第2の加算、及び第4の周期において重みデ
ータメモリ(61)の格納を行うように制御する同期パル
スになっていることを特徴とする請求項7記載のネット
ワーク学習処理装置。
8. The weight update signal is a multiplication signal during a first period, a first addition signal during a second period to output ΔW(t), and a weight data signal W(t) during a third period.
8. A network learning processing device according to claim 7, wherein the second addition for updating the weight data is a synchronization pulse for controlling the storage of the weight data memory (61) in the fourth period.
【請求項9】前記基本ユニットは、アナログニューロン
チップからなることを特徴とする請求項1記載のネット
ワーク学習処理装置。
9. The network learning processing device according to claim 1, wherein said basic unit comprises an analog neuron chip.
【請求項10】前記階層ネットワークはアナログ時分割
信号によって制御されることを特徴とする請求項1記載
のネットワーク学習処理装置。
10. The network learning processing device according to claim 1, wherein said hierarchical network is controlled by an analog time-division signal.
【請求項11】前記アナログニューロンチップからなる
ネットワークに記憶される前記重み学習手段のうちの全
ての重みデータメモリ61,62,63,64は、ともに、同じア
ドレスに重みとその対応する更新量の各ビットが格納さ
れ、シリアルリード・ライトタイプのメモリであること
を特徴とする請求項6記載のネットワーク学習処理装
置。
[Claim 11] A network learning processing device as described in Claim 6, characterized in that all weight data memories 61, 62, 63, 64 of the weight learning means stored in the network consisting of the analog neuron chips are serial read/write type memories in which each bit of the weight and its corresponding update amount is stored at the same address.
【請求項12】前段層からの1つ又は複数の入力と当該
入力に対して乗算されるべき重みとを受け取って積和を
得るとともに、当該得られた積和値を閾値関数によって
変換して最終出力を得る基本ユニットを基本単位とし、 出力を入力に帰還する帰還路を有し、入力層と中間層と
出力層を前記複数の基本ユニットからなる一層構造によ
り構成し、該一層構造の出力を前記帰還路を介して入力
に帰還することにより、前記一層構造を順次入力層、中
間層、出力層として動作させ、 上記入力層の基本ユニットに対して複数の所定の入力信
号を供給することで、上記出力層の基本ユニットから当
該入力信号に対応する出力信号を得る出力信号導出手段
と、 当該出力信号導出手段により得られた出力信号と当該出
力信号がとるべき値を指示する教師信号とを使い、2つ
の信号の不一致の大きさを表す誤差値を算出する誤差値
算出手段と、 当該誤差算出手段により算出された誤差値から得られる
値と、前回の更新サイクル時の重み更新量と、前々回の
更新サイクル時の重み更新量とに基づいて現時点の更新
サイクル時の重み更新量を求め、該重み更新量から重み
を算出する重み学習手段とを備えることを特徴とするネ
ットワーク学習処理装置。
[Claim 12] A system using a basic unit as a basic unit that receives one or more inputs from a previous layer and weights to be multiplied by the inputs, obtains a sum of products, and converts the obtained sum of products using a threshold function to obtain a final output, the system having a feedback path that feeds the output back to the input, the input layer, intermediate layer, and output layer being constructed with a single-layer structure consisting of the plurality of basic units, and the output of the single-layer structure being fed back to the input via the feedback path, thereby operating the single-layer structure successively as an input layer, intermediate layer, and output layer, output signal derivation means that supplies a plurality of predetermined input signals to the basic unit of the input layer, thereby obtaining output signals from the basic unit of the output layer corresponding to the input signals, and error value calculation means that calculates an error value that represents the magnitude of discrepancy between the two signals using the output signal obtained by the output signal derivation means and a teacher signal that indicates the value that the output signal should take. a weight learning means for determining a weight update amount for the current update cycle based on a value obtained from the error value calculated by the error calculation means, the weight update amount for the previous update cycle, and the weight update amount for the update cycle before the previous update cycle, and for calculating a weight from the weight update amount.
【請求項13】前記重み学習手段は、前記誤差算出手段
により算出される誤差値に対する重みの偏微分値と、前
回の更新サイクル時の重み更新量に所定値αを乗じた値
と、前々回の更新サイクル時の重み更新量に所定値−β
を乗じた値とから、現時点の更新サイクル時の重み更新
量を求めることを特徴とする請求1記載のネットワーク
学習処理装置。
13. The weight learning means calculates a partial differential value of the weight with respect to the error value calculated by the error calculation means, a value obtained by multiplying the weight update amount in the previous update cycle by a predetermined value α, and a value obtained by multiplying the weight update amount in the update cycle before last by a predetermined value −β.
2. The network learning processing device according to claim 1, wherein the weight update amount for the current update cycle is calculated from the value obtained by multiplying the weight by .
【請求項14】前段層からの1つ又は複数の入力と当該
入力に対して乗算されるべき重みとを受け取って積和を
得るとともに、当該得られた積和値を閾値関数によって
変換して最終出力を得る基本ユニットを基本単位とし、
入力層と、複数個の当該基本ユニットを中間層とした1
つ又は複数段の中間層と、かつ1つ又は複数個の当該基
本ユニットからなる出力層とを有し、入力層と最前段の
中間層との間、中間層相互間及び最終段の中間層と出力
層との間で内部結合を構成するとともに、当該内部結合
に対応して前記重みが設定されネットワーク構成データ
処理装置の学習方法において、 前記入力層の基本ユニットに対して複数の所定の入力信
号を供給することで、上記出力層の基本ユニットから当
該入力信号に対応する出力信号を得て、 得られた出力信号と当該出力信号がとるべき値を指示す
る教師信号とを使い、2つの信号の不一致の大きさを表
す誤差値を算出し、 該誤差値から得られる値と、前回の更新サイクル時に決
定された重み更新量と、前々回の更新サイクル時に決定
された重み更新量とに基づいて現時点の更新サイクル時
の重み更新量を求めることを特徴とするネットワーク構
成処理装置の学習方法。
14. A basic unit is a basic unit that receives one or more inputs from a previous layer and weights to be multiplied by the inputs, obtains a sum of products, and converts the obtained sum of products by a threshold function to obtain a final output,
The input layer and the intermediate layer are composed of multiple basic units.
a learning method for a network configuration data processing device having one or more intermediate layers and an output layer consisting of one or more of said basic units, wherein internal connections are formed between the input layer and the intermediate layer at the front stage, between the intermediate layers, and between the intermediate layer at the last stage and the output layer, and wherein the weights are set corresponding to the internal connections, the learning method for a network configuration data processing device comprising: supplying a plurality of predetermined input signals to the basic units of said input layer to obtain output signals corresponding to the input signals from the basic units of said output layer; calculating an error value representing the magnitude of discrepancy between the two signals using the obtained output signals and a teacher signal indicating the value that the output signal should take; and determining a weight update amount for the current update cycle based on the value obtained from the error value, the weight update amount determined in the previous update cycle, and the weight update amount determined in the update cycle before last.
JP1-509642A 1988-09-12 1989-09-11 Network learning processing device Expired - Lifetime JPH07113918B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1-509642A JPH07113918B2 (en) 1988-09-12 1989-09-11 Network learning processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP63-227825 1988-09-12
JP22782588 1988-09-12
JP1-509642A JPH07113918B2 (en) 1988-09-12 1989-09-11 Network learning processing device

Publications (3)

Publication Number Publication Date
JPWO1990003006A1 JPWO1990003006A1 (en) 1990-09-06
JPH07113918B1 JPH07113918B1 (en) 1995-12-06
JPH07113918B2 true JPH07113918B2 (en) 1995-12-06

Family

ID=26527894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1-509642A Expired - Lifetime JPH07113918B2 (en) 1988-09-12 1989-09-11 Network learning processing device

Country Status (1)

Country Link
JP (1) JPH07113918B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114169489A (en) * 2020-08-20 2022-03-11 华为技术有限公司 Weight adjustment method and device of neural network computing chip

Also Published As

Publication number Publication date
JPH07113918B1 (en) 1995-12-06

Similar Documents

Publication Publication Date Title
US5333239A (en) Learning process system for use with a neural network structure data processing apparatus
KR940001173B1 (en) Neuro computer
JP2679738B2 (en) Learning processing method in neurocomputer
KR950008840B1 (en) Neuro chip
JP2785155B2 (en) Asynchronous control method for neurocomputer
RU2413304C1 (en) Method and device of intellectual processing of information in neural network
US5216746A (en) Error absorbing system in a neuron computer
JPH07113918B2 (en) Network learning processing device
AU624422B2 (en) A learning process system for a neural network
JP2001117900A (en) Neural network arithmetic device
KR940001172B1 (en) Learning processing method of network configuration data processing device
JPH07104847B2 (en) Neurocomputer
JPH076146A (en) Parallel data processing system
JPH05159087A (en) Neuro Processor
JPWO1990002381A1 (en) Neurocomputer
JPWO1990003006A1 (en) Network learning processing device
JPH05128285A (en) Nyuro Processor
JP2825133B2 (en) Parallel data processing method
JP2618470B2 (en) Error absorption method by weight correction in neurocomputer.
JPH05128082A (en) Hierarchical network configuration data processing apparatus and learning processing method thereof
JPH02232786A (en) Error absorbing system by variable integral pulse in neurocomputer
JPH02226383A (en) Concentrated control system for neuro-computer
JP3338713B2 (en) Signal processing device
JP2559879B2 (en) Fuzzy controller
JP2744313B2 (en) Network configuration data processing device