JPH07104847B2 - Neurocomputer - Google Patents
NeurocomputerInfo
- Publication number
- JPH07104847B2 JPH07104847B2 JP1-502606A JP50260689A JPH07104847B2 JP H07104847 B2 JPH07104847 B2 JP H07104847B2 JP 50260689 A JP50260689 A JP 50260689A JP H07104847 B2 JPH07104847 B2 JP H07104847B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- analog
- 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
Links
Landscapes
- Feedback Control In General (AREA)
Description
【発明の詳細な説明】
技術分野
本発明は、ニューロコンピュータに関し、特に、アナロ
グニューロンチップをアナログ時分割伝送路により結合
することで実現されるニューロコンピュータに関するも
のである。Description: TECHNICAL FIELD The present invention relates to a neurocomputer, and more particularly to a neurocomputer realized by connecting analog neuron chips via analog time-division transmission lines.
背景技術
従来の逐次処理コンピュータ(ノイマン型コンピュー
タ)では、使用方法や環境の変化に応じてコンピュータ
のデータ処理機能を調節することが難しいので、適応性
を有するデータ処理方式として、新たに階層ネットワー
クによる並列分散処理方式が提唱されてきている。特
に、バックプロパゲーション法と呼ばれる処理方式(D.
E.Rumelhart,G.E.Hinton,and R.J.Williams,“Learning
Internal Representations by Error Propagation,"PA
RALLEL DISTRIBUTED PROCESSING,Vol.1,pp.318−364,Th
e MIT Press,1986)が、その実用性の高さから注目され
ている。BACKGROUND ART Conventional sequential processing computers (von Neumann computers) have difficulty adjusting their data processing functions in response to changes in usage and environment. Therefore, parallel distributed processing methods using hierarchical networks have been proposed as a new adaptive data processing method. In particular, a processing method called the backpropagation method (D.
E. Rumelhart, GE Hinton, and R. J. Williams, “Learning
Internal Representations by Error Propagation,"PA
RALLEL DISTRIBUTED PROCESSING,Vol.1,pp.318−364,Th
e MIT Press, 1986) has attracted attention for its high practicality.
バック・プロパゲーション法では、基本ユニットと呼ぶ
一種のノードと重みを持つ内部結合とから階層ネットワ
ークを構成している。第1図に、基本ユニット1の原理
構成を示す。この基本ユニット1は、連続ニューロンモ
デルに類似した処理を実行する。すなわち、これは多入
力一出力系となっており、複数の入力{Yh}に対しそれ
ぞれの内部結合の重み{Wih}を乗じる乗算処理部2
と、それらの全乗算結果を加算する累算処理部3と、こ
の加算値に非線形の閾値処理を施して1つの最終出力Xi
を出力する閾値処理部4とを備える。第2図は階層型ニ
ューラルネットワークの構成概念図である。構成の多数
の基本ユニット{1−h,1−i,1−j}が、第2図に示す
ように階層的に接続されることで、入力信号パターンに
対応するところの出力信号パターンが出力されることに
なる。In the back propagation method, a hierarchical network is constructed from a kind of node called a basic unit and internal connections with weights. Figure 1 shows the basic configuration of the basic unit 1. This basic unit 1 executes processing similar to the continuous neuron model. In other words, it is a multi-input, single-output system, and has a multiplication processing unit 2 that multiplies multiple inputs {Y h } by the weights {W ih } of the internal connections.
and an accumulation processing unit 3 that adds up all the multiplication results, and a final output X i that performs non-linear threshold processing on the sum.
Fig. 2 is a conceptual diagram of the configuration of a hierarchical neural network. A large number of basic units {1-h, 1-i, 1-j} of the configuration are connected hierarchically as shown in Fig. 2, and an output signal pattern corresponding to the input signal pattern is output.
学習時には、出力パターンと目的とする教師パターンの
差が小さくなるように、各階層間の結合の重み{Wih}
が決定される。このような学習は、複数の入力パターン
に対して行われ、多重化される。また、連続時には、入
力パターンが学習時に入力した完全情報と少し異なる不
完全な情報であっても、学習時の教師パターンに近い出
力パターンが得られることにより、連想処理が可能とな
る。During learning, the weights of the connections between each layer {W ih } are adjusted so that the difference between the output pattern and the desired training pattern is small.
This type of learning is performed for multiple input patterns and multiplexed. Furthermore, when the input patterns are continuous, even if they are incomplete information that is slightly different from the complete information input during learning, an output pattern close to the teacher pattern during learning can be obtained, making associative processing possible.
このような構成のニューロコンピュータを現実のものと
していくためには、階層ネットワークを構成することに
なる基本ユニット1間のデータの授受を、できる限り少
ない配線本数で実現していく必要がある。このことは、
複雑なデータ処理を実現していくために、階層ネットワ
ークの構成をより多層化したり、基本ユニットの数を増
していく必要があるという背景のもとで、どうしても解
決していかなくてはならない課題の1つなのである。In order to realize a neurocomputer with such a configuration, it is necessary to realize data exchange between the basic units 1 that make up the hierarchical network with as few wires as possible.
This is one of the issues that must be resolved, given that in order to achieve complex data processing, it is necessary to make the hierarchical network structure more multi-layered and increase the number of basic units.
しかしながら、先に説明したデータ転送方式では、第2
図に示す階層ネットワークの構成からも明らかなよう
に、2つの層間の配線本数が極めて多くなることから、
階層ネットワークをチップ化するときに、小さくできな
くなると共に、信頼性を高めることができなくなるとい
う問題点がある。例えば、隣接する2つの層の基本ユニ
ット数が同じとし、すべての基本ユニット1が互いに接
続されるという完全結合を想定するならば、配線本数は
基本ユニット数の2乗に比例して増加することになる。
このように、配線本数が急激に増加してしまう。However, in the data transfer method described above,
As is clear from the hierarchical network configuration shown in the figure, the number of wires between the two layers is extremely large.
When a hierarchical network is integrated into a chip, it becomes difficult to make it smaller and it becomes difficult to improve reliability. For example, if the number of basic units in two adjacent layers is the same and if we assume perfect coupling in which all basic units 1 are connected to each other, the number of wires increases in proportion to the square of the number of basic units.
In this way, the number of wirings increases rapidly.
発明の開示
本発明はかかる事情に鑑みてなされたものであって、少
ない配線本数で階層ネットワークを構成する基本ユニッ
ト間でのデータの授受を実現できるようにすることで、
ネットワーク構成データ処理装置を実現できるようにす
ることを目的とするものである。DISCLOSURE OF THE INVENTION The present invention has been made in view of the above circumstances, and aims to realize data transmission between basic units that constitute a hierarchical network using a small number of wires, thereby:
The object is to make it possible to realize a network configuration data processing device.
第3図は本発明はニューロコンピュータのシステムブロ
ック図である。FIG. 3 is a system block diagram of a neurocomputer according to the present invention.
ニューラルネットワーク18は各層の入力側にある共通の
第1のアナログバスからアナログ信号を時分割で入力し
デジタル重みデータを用いて積和演算を実行してアナロ
グ信号をその層の出力側にある共通の第2のアナログバ
スに出力するアナログニューロプロセッサ(以下ANPと
記す)の集合を層とする少なくとも1層以上のネットワ
ークである。The neural network 18 is a network with at least one layer, each layer being a collection of analog neuroprocessors (hereinafter referred to as ANPs), which input analog signals in a time-division manner from a common first analog bus on the input side of each layer, perform product-sum operations using digital weight data, and output the analog signals to a common second analog bus on the output side of that layer.
制御パターンメモリ12は前記ニューラルネットワークの
制御信号のパターンを格納する。重みメモリ14は重みデ
ータを格納する。シーケンサ13は該制御パターンメモリ
12及び重みメモリ14のアドレスを発生する。デジタル制
御手段15はMPUと主記憶を有する汎用の処理装置であっ
てネットワーク18とD/A及びA/Dコンバータ16,17を介し
て接続され、前記ニューラルネットワーク、制御パター
ンメモリ、シーケンサ、重みメモリの全体を制御する。
本発明はこのようにしてニューロコンピュータシステム
を構成する。The control pattern memory 12 stores the control signal patterns of the neural network. The weight memory 14 stores the weight data. The sequencer 13 reads the control pattern memory.
The digital control means 15 is a general-purpose processing unit having an MPU and a main memory, and is connected to a network 18 via D/A and A/D converters 16, 17, and controls the neural network, control pattern memory, sequencer, and weight memory as a whole.
In this way, the present invention configures a neurocomputer system.
アナログ入力信号を時分割でアナログニューロチップに
入力し、この信号と重みデータとの積を取り、この積信
号をそれぞれ加算して得られる積和信号を非線形関数回
路を通して出力することによりアナログニューロチップ
を構成する。このアナログニューロチップを複数個用い
て階層型あるいは帰還型のニューラルネットワーク18を
構成し、このニューラルネットワーク18にシーケンサ13
によってアクセスすべきアドレスが与えられた制御パタ
ーンメモリ12から出力される制御信号を加える。またニ
ューラルネットワーク18には学習等によって得られる重
みデータが重みメモリ14から供給される。そしてニュー
ラルネットワーク18、制御パターンメモリ12、シーケン
サ13、重みメモリ14はディジタル制御手段15のディジタ
ル信号によって制御され、且つ管理される。また、ディ
ジタル制御手段15内のMPUでは、特に、学習アルゴリズ
ムが実行され、かつ出力信号のチェックなどが行われ
る。このようにして、時分割アナログ入力信号と時分割
アナログ出力信号を用いることを特徴とするアナログニ
ューロコンピュータシステムが実現される。An analog neurochip is constructed by inputting an analog input signal to the analog neurochip in a time-division manner, multiplying this signal by weight data, and outputting a product-sum signal obtained by adding these product signals through a nonlinear function circuit. A hierarchical or feedback type neural network 18 is constructed using a plurality of these analog neurochips, and this neural network 18 is connected to a sequencer 13.
The neural network 18 receives a control signal output from the control pattern memory 12, the address to be accessed being given by the signal from the control pattern memory 12. Weight data obtained by learning or the like is supplied to the neural network 18 from the weight memory 14. The neural network 18, the control pattern memory 12, the sequencer 13, and the weight memory 14 are controlled and managed by digital signals from the digital control means 15. The MPU in the digital control means 15 executes the learning algorithm and checks the output signals, among other things. In this way, an analog neurocomputer system characterized by the use of time-division analog input signals and time-division analog output signals is realized.
図面の簡単な説明
第1図は、ニューロンモデルの基本ユニットの原理構成
図、
第2図は、階層型ニューラルネットワークの構成概念
図、
第3図は、本発明のニューロコンピュータの原理ブロッ
ク図、
第4A図は、本発明のアナログニューロプロセッサANPの
チップから構成されたパッケージの概略図、
第4B図は、本発明のANPの内部構成図、
第5図は、本発明のアナログニューロプロセッサの原理
構成図、
第6図は、本発明の基本ユニットの一実施例のブロック
図、
第7図は、本発明の基本ユニットの実施例の具体的回路
図、
第8図は、本発明の基本ユニットの他の実施例の具体的
回路図、
第9図は、本発明の基本ユニットに用いられる積分器の
動作タイミングを説明する図、
第10A図は、階層型ニューラルネットワークの概念図、
第10B図は、本発明による階層型ニューラルネットワー
クの概念図、
第11図は本発明のニューロコンピュータにより階層型ネ
ットワークを構成した一実施例のブロック図、
第12図は、第11図に示した実施例の具体的ブロック図、
第13図は、主制御回路のシステム構成図、
第14A、第14B図は、第11図及び第12図に示した実施例の
信号処理のタイミング図、
第15図は、同じく第11図及び第12図に示した実施例の信
号処理のタイミング図、
第16図は、本発明のニューロコンピュータを階層型ネッ
トワークで実現した一実施例の具体的回路、
第17A図、第17B図は、第16図に示した信号処理のタイミ
ング図、
第18図は、ディジタル重みデータの読み込みタイミング
を示す図、
第19A図は、マスタコントロールブロックの具体的回路
図、
第19B図は、制御パターンメモリ及びマイクロコードメ
モリの構造を示す図、
第20A図は、重みデータメモリへのデータ充填方法を示
す図、
第20B図は、重みデータメモリの具体的構成図、
第20C図及び第20D図は学習アルゴリズムのフローチャー
ト、
第21図は、ディジー回路の具体的回路図、
第22図は、マックバリューノード回路の具体的回路図、
第23図は、シグモイド関数発生回路図、
第24図は、シーケンスジェネレータの具体的回路図、
第25図は、位相制御回路の具体的回路図、
第26図は、シフトレジスタの具体的回路図、
第27A図は、帰還型ネットワークを説明する概念図、
第27B図は、本発明のニューロコンピュータにより帰還
型ネットワークを構成した場合の説明図、
第28図は、帰還型ネットワークの一実施例のブロック
図、
第29A、及び29B図は、第28図に示した実施例の信号処理
を示すタイミング図、
第30図は、本発明によるニューロコンピュータにより、
第1の帰還型ネットワークを構成した実施例の具体的回
路図、
第31A及び第31B図は、第30図に示した実施例の信号処理
を示すタイミング図、
第32図は、本発明のニューロコンピュータにより、第2
の帰還型ネットワークを構成した実施例の具体的ブロッ
ク図、
第33A図及び第33B図は、第32図に示した実施例の信号処
理を示すタイミング図、
第34図は、本発明のニューロコンピュータにより、階層
型と帰還型とのネットワークとを組み合わせたシステム
を構成した実施例のブロック図、
第35図は、本発明のニューロコンピュータにより階層型
と帰還型とを組み合わせた他の実施例のブロック図、
第36A図、及び第36B図は、第35図に示した実施例の信号
処理を示すタイミング図、
第37図は、本発明のさらに他の実施例のブロック図、
第38図は、本発明の利用例を示すブロック図、
第39図は、本発明の他の利用例を示すブロック図であ
る。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing the basic configuration of a basic unit of a neuron model; FIG. 2 is a conceptual diagram of the configuration of a hierarchical neural network; FIG. 3 is a block diagram showing the basic configuration of a neurocomputer of the present invention; FIG. 4A is a schematic diagram of a package consisting of chips of an analog neuroprocessor ANP of the present invention; FIG. 4B is a diagram showing the internal configuration of an ANP of the present invention; FIG. 5 is a diagram showing the basic configuration of an analog neuroprocessor of the present invention; FIG. 6 is a block diagram of one embodiment of a basic unit of the present invention; FIG. 7 is a specific circuit diagram of an embodiment of a basic unit of the present invention; FIG. 8 is a specific circuit diagram of another embodiment of a basic unit of the present invention; FIG. 9 is a diagram explaining the operation timing of an integrator used in a basic unit of the present invention; FIG. 10A is a conceptual diagram of a hierarchical neural network; FIG. 10B is a conceptual diagram of a hierarchical neural network according to the present invention; FIG. 11 is a block diagram of an embodiment in which a hierarchical network is constructed using a neurocomputer of the present invention; 14A and 14B are timing diagrams of signal processing in the embodiment shown in FIGS. 11 and 12; FIG. 15 is a timing diagram of signal processing in the embodiment shown in FIGS. 11 and 12; FIG. 16 is a specific circuit diagram of an embodiment in which the neurocomputer of the present invention is realized as a hierarchical network; FIGS. 17A and 17B are timing diagrams of signal processing shown in FIG. 16; FIG. 18 is a diagram showing the timing of reading in digital weight data; FIG. 19A is a specific circuit diagram of a master control block; FIG. 19B is a diagram showing the structures of a control pattern memory and a microcode memory; FIG. 24 is a specific circuit diagram of a sequence generator; FIG. 25 is a specific circuit diagram of a phase control circuit; FIG. 26 is a specific circuit diagram of a shift register; FIG. 27A is a conceptual diagram explaining a feedback network; FIG. 27B is an explanatory diagram of a feedback network configured using a neurocomputer of the present invention; FIG. 28 is a block diagram of an embodiment of a feedback network; FIGS. 29A and 29B are timing diagrams showing signal processing in the embodiment shown in FIG. 28; and FIG. 30 is a diagram showing a configuration of a feedback network configured using a neurocomputer of the present invention.
31A and 31B are timing diagrams showing signal processing in the embodiment shown in FIG. 30; FIG. 32 is a diagram showing the second embodiment of the neural network according to the present invention;
33A and 33B are timing diagrams showing signal processing in the embodiment shown in FIG. 32; FIG. 34 is a block diagram of an embodiment in which a system combining hierarchical and feedback networks is configured using a neurocomputer of the present invention; FIG. 35 is a block diagram of another embodiment in which a hierarchical and feedback network is combined using a neurocomputer of the present invention; FIGS. 36A and 36B are timing diagrams showing signal processing in the embodiment shown in FIG. 35; FIG. 37 is a block diagram of yet another embodiment of the present invention; FIG. 38 is a block diagram showing an example of use of the present invention; and FIG. 39 is a block diagram showing another example of use of the present invention.
発明の基本構成
第4A図は本発明のニューロチップから構成されるアナロ
グニューロプロセッサ(ANP)11のデュアルインライン
パッケージの概略図である。これは、MB4442と呼ばれニ
ューロンモデルの処理を実行する。内部の閾値処理部は
シグモイド関数で置換したモデルとなっている。アナロ
グニューロチップはANPと呼ばれ、アナログデータを入
出力するデバイスである。第4B図は本発明のANPの内部
構成図である。第4B図に示すようにANP11はアナログバ
スB1とアナログバスB2の間に接続される。ANP11は入力
するアナログ信号と重みを掛けるアナログ乗算部22、積
の和を求めるアナログ加算部23、和を保持するサンプル
/ホールド部24、シグモイド関数の値を出力する非線形
関数部25よりなる。第4A図のANP11の各端子を説明す
る。ANP11の内部はアナログ回路部とディジタル回路部
から構成されている。+−6ボルトの端子は、アナログ
回路部のオペアンプに供給される電源端子である。Din
及びDoutはアナログ入力信号及び出力信号の端子であ
る。AGNDはアナログ回路部の接地端子である。Rt+及び
Rt−端子はアナログ回路部にある積分回路の外付抵抗R
の端子であり、Ct+、Ct−端子は同じく積分回路の外付
キャパシタCの端子である。DGNDはディジタル回路部の
グランド端子である。+5ボルトはディジタル回路部の
電源端子である。RSTは積分回路のキャパシタの電荷等
のリセットを行うリセット信号端子である。CSI及びCSO
はディジーチェーン用制御信号の入出力端子であり、OC
はオフセットキャンセル制御信号用端子、S/H端子は、
サンプル/ホールド用制御信号端子、SYNCは各層の処理
に対する同期信号端子、DCLKはアナログ入力信号の処理
を行うための基本クロック信号端子、WCLKはディジタル
重みデータを取り込むためのクロック端子、WDはビット
シリアルで入力するディジタル重みデータ用の端子であ
る。Basic Configuration of the Invention Figure 4A is a schematic diagram of a dual in-line package of an analog neuroprocessor (ANP) 11 composed of a neurochip of the present invention. This is called MB4442 and executes neuron model processing. The internal threshold processing section 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 4B is a diagram of the internal configuration of the ANP of the present invention. As shown in Figure 4B, ANP 11 is connected between analog bus B1 and analog bus B2. ANP 11 consists of an analog multiplier 22 that multiplies the input analog signal by a weight, an analog adder 23 that calculates the sum of the products, a sample/hold section 24 that holds the sum, and a nonlinear function section 25 that outputs the value of a sigmoid function. Each terminal of the ANP 11 in Figure 4A is explained below. The ANP 11 is internally composed of an analog circuit section and a digital circuit section. The +-6 volt terminal is the power supply terminal supplied to the operational amplifier in the analog circuit section. D in
and D out are terminals for analog input and output signals. AGND is the ground terminal for the analog circuitry. Rt+ and
The Rt- terminal is the external resistor R of the integrator circuit in the analog circuit section.
Ct+ and Ct- terminals are the terminals of the external capacitor C of the integrator circuit. DGND is the ground terminal of the digital circuit. +5 volts is the power supply terminal of the digital circuit. RST is the reset signal terminal that resets the charge of the capacitor of the integrator circuit. CSI and CSO
is the input/output terminal for the daisy chain control signal, and OC
is the offset cancel control signal terminal, and the S/H terminal is
SYNC is a control signal terminal for sample/hold, SYNC is a synchronization 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 digital weight data input in bit serial format.
第5図は、本発明のアナログニューロプロセッサ(AN
P)の原理構成図である。FIG. 5 shows the analog neuroprocessor (AN) of the present invention.
P) principle configuration diagram.
別々のANP(図示せず)から時分割的に送られてくるア
ナログ入力信号をアナログバスB1からANP11内のアナロ
グ乗算部22に入力し、このアナログ乗算部22ではシフト
レジスタ27を介してビットシリアルに入力されその後直
列変換されたディジタル重みデータWDと掛け算して、ア
ナログ入力信号とディジタル重みデータとの積を示す積
信号を得る。次の、アナログ加算部23は、外付けの抵抗
RとキャパシタCからなるミラー積分回路であって、ア
ナログバスB1に接続された前段の複数のANP(ANPの存在
する場所をノードと呼ぶ)から時分割で送られるアナロ
グ入力信号とダミーノードから送られる閾値用のアナロ
グ入力信号とからそれぞれ得られる積信号の和を求める
ものである。次に、サンプル/ホールド部24で積信号を
所望時間待たせるためにホールドした後に、さらにその
サンプル/ホールドされた出力を非線形関数部25を介し
て変換する。出力制御部26では、シーケンスジェネレー
タ28の制御を受けて所定時間遅延させた後に、アナログ
出力信号DoutをアナログバスB2へ出力する。なお、シー
ケンスジェネレータ28は内部に供給される制御信号も生
成する。そして、位相制御部29では、おもにANP内のア
ナログ回路部とディジタル回路部を接続する各スイッチ
のオンかオフが確実に行われるように、制御信号の位相
を制御するもので、特に、第1のスイッチがオンのとき
第2のスイッチをオフにする場合それ等のスイッチが同
時にオンする場合がないように制御信号の位相を制御す
る。Analog input signals transmitted in a time-division manner from separate ANPs (not shown) are input to an analog multiplier 22 within the ANP 11 via an analog bus B1. The analog multiplier 22 multiplies the analog input signals by digital weight data WD, which are bit-serialized via a shift register 27 and then converted to serial form, to obtain a product signal representing the product of the analog input signals and the digital weight data. The next analog adder 23 is a Miller integrator circuit consisting of an external resistor R and capacitor C. It calculates the sum of the product signals obtained from the analog input signals transmitted in a time-division manner from multiple ANPs (the locations where ANPs exist are called nodes) connected to the analog bus B1 and the analog threshold input signal transmitted from a dummy node. The sample/hold unit 24 then holds the product signal for a desired period of time, after which the sampled and held output is further transformed via a nonlinear function unit 25. The output control unit 26 delays the signal for a predetermined period of time under the control of a sequence generator 28, and then outputs an analog output signal D out to the analog bus B2. The sequence generator 28 also generates control signals to be supplied internally. The phase control section 29 mainly controls the phase of the control signal so that each switch connecting the analog circuit section and the digital circuit section within the ANP is turned on or off reliably. In particular, when the first switch is on and the second switch is turned off, the phase of the control signal is controlled so that the two switches are not turned on at the same time.
なお、シーケンスジェネレータ28は、リセット信号RS
T、DCLK、WCLK、SYNC、S/H、OC、CSIを後述するマスタ
コントロールブロックから入力するとともにCSOを出力
し、ANPの内部の制御信号を生成する。The sequence generator 28 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.
最適実施例
以下、実施例に従って本発明を詳細に説明する。第6図
はニューロチップである基本ユニットの第1の実施例構
成図である。同図の乗算部32、加算部33、閾値処理部34
は連続ニューロンモデルの実行部であるが、この実施例
では出力保持部35が存在する。具体的には、基本ユニッ
ト31に接続される複数の入力をYi、この各接続に対応し
て設定される重みをWiとするならば、乗算部32は、
Yi・Wi
を算出し、加算部33は、
X=ΣYi・Wi−θ
を算出する。但し、θは閾値である。閾値部34は最終出
力をYとするならば、
Y=1/(1+exp(−X)) ・・・・(1)式
を算出することになる。The present invention will be described in detail below with reference to the preferred embodiment. Figure 6 shows the configuration of a basic unit, which is a neurochip, in a first embodiment. The multiplication unit 32, the addition unit 33, the threshold processing unit 34 in the figure are
is the execution unit of the continuous neuron model, but in this embodiment, there is an output holding unit 35. Specifically, if the multiple inputs connected to the basic unit 31 are Yi and the weight set corresponding to each connection is Wi, the multiplication unit 32 calculates Yi·Wi, and the addition unit 33 calculates X=ΣYi·Wi-θ, where θ is a threshold value. If the final output is Y, the threshold unit 34 calculates Y=1/(1+exp(-X)) (1).
ダミーノードから入力される“+1"という値に“−θ”
という重みをかけて加算部33で「X−θ」の結果が出力
される。従って閾値部34ではS字曲線による変換だけが
行われている。The value of "+1" input from the dummy node is "-θ"
The result "X-θ" is output by the adder 33. Therefore, the threshold unit 34 performs only the conversion using the S-curve.
乗算部32は、乗算型D/Aコンバータ32aで構成され、前段
層の基本ユニット31から、あるいは後述するダミーノー
ドの回路からのアナログ信号(入力スイッチ部37を介し
て入力される)の入力と、その入力に対して乗算される
べきディジタル信号の重み情報(後述する重み保持部38
を介して入力される)との乗算を行って、得られた乗算
結果をアナログ信号で出力するよう処理するもの、加算
部33は、積分器で構成されるアナログ加算器33aとアナ
ログ加算器33aの加算結果を保持する保持回路33bとによ
り構成される。乗算型D/Aコンバータ32aは、D/Aコンバ
ータの基準電圧端子にアナログ入力信号を入力し、各デ
ィジタル入力端子に重みの各ビットをディジタル入力信
号として入力するものであり、結果として、そのアナロ
グ入力信号と重みとの積を生成する。アナログ加算器33
aは、乗算型D/Aコンバータ32aの出力と、前回に求めら
れて保持回路33bに保持されている加算値とを加算して
新たな加算値を求めるもの、保持回路33bは、アナログ
加算器33aが求めた加算値をホールドするとともに、そ
のホールド値を前回の加算値としてアナログ加算器33a
にフィードバックさせるものである。これらの加算処理
は制御回路39より出力される加算制御信号に同期して実
行される。閾値部34は、アナログの関数発生回路である
非線形関数発生回路34aで構成され、入力に対してシグ
モイド関数等の非線形信号を出力するものである。乗算
結果の累算が閾値(−θ)の加算を含めて終了したとき
に、保持回路33bにホールドされている加算値Xに対し
閾値(−θ)を加えて(1)式のシグモイド関数の演算
処理を施し、アナログ出力値Yを得るもの、出力保持部
35は、サンプルホールド回路で構成され、後段層の基本
ユニット31への出力となる非線形関数発生回路34aのア
ナログ信号の出力値Yをホールドするものである。The multiplication unit 32 is composed of a multiplying D/A converter 32a, and receives an input of an analog signal (input via an input switch unit 37) from the basic unit 31 of the previous layer or from a dummy node circuit (described later), and weight information of a digital signal to be multiplied by the input (weight holding unit 38 described later).
The multiplying D/A converter 32a inputs an analog input signal to the reference voltage terminal of the D/A converter, and inputs each bit of the weight as a digital input signal to each digital input terminal, thereby generating the product of the analog input signal and the weight. The analog adder 33
a adds the output of the multiplying D/A converter 32a and the sum calculated last time and held in the holding circuit 33b to calculate a new sum. The holding circuit 33b holds the sum calculated by the analog adder 33a and uses the held value as the previous sum.
These addition processes are performed in synchronization with an addition control signal output from the control circuit 39. The threshold unit 34 is composed of a nonlinear function generating circuit 34a, which is an analog function generating circuit, and outputs a nonlinear signal such as a sigmoid function in response to the 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 33b, and the sigmoid function of equation (1) is calculated to obtain an analog output value Y.
Reference numeral 35 is composed of a sample-and-hold circuit, which holds the output value Y of the analog signal of the nonlinear function generating circuit 34a, which is output to the basic unit 31 in the subsequent layer.
また、36は出力スイッチ部であり、制御回路39よりの出
力信号制御を受けて一定時間ONすることで、出力保持部
35が保持するところの最終出力をアナログバスB2上に出
力するよう処理するもの、37は入力スイッチ部であり、
制御回路39よりの入力制御信号を受けて前段層の基本ユ
ニット31から最終出力からのアナログ出力が送られてく
るときにONすることで入力の受付を行う。38は重み保持
部であり、パラレルアウトシフトレジスタ等により構成
され、重みメモリから送られてくるビットシリアルの重
み信号がバッファ38aのゲートがオープン(制御回路39
による重み入力制御信号がオン)された時に、この重み
信号を乗算部32が必要とするビットパラレルの重みとし
て保持するものである。ビットパラレルの重みは乗算制
御信号が与えられたときにパラレルで乗算部に与えられ
る。39はディジタル回路部の制御回路で外部からの同期
信号から内部の同期信号を生成するもので、内部のアナ
ログ処理の機能の制御を実行する
このように構成されることで、第6図の信号処理構成を
採る基本ユニット31の入出力がアナログ信号でもって実
現されることになるのである。Also, 36 is an output switch section, which receives an output signal control from a control circuit 39 and turns on for a certain period of time, thereby holding the output.
35 processes the final output held by the analog bus B2, 37 is an input switch unit,
When an analog output from the final output of the basic unit 31 in the previous layer is received in response to an input control signal from the control circuit 39, the input is accepted by being turned on. 38 is a weight holding unit, which is composed of a parallel-out shift register or the like, and the gate of the buffer 38a is opened (control circuit 39
When the weight input control signal by is turned on, this weight signal is held as the bit-parallel weight required by the multiplication unit 32. The bit-parallel weight is given to the multiplication unit in parallel when the multiplication control signal is given. 39 is a control circuit for the digital circuit unit, which generates an internal synchronous signal from an external synchronous signal, and is configured in this way to control the internal analog processing functions. With this configuration, the input and output of the basic unit 31, which employs the signal processing configuration of Figure 6, are realized by analog signals.
なお、乗算型D/Aコンバータ32aは、ディジタル信号の重
み情報をパラレルで受け取るようにするものでもよい
し、重み情報をシリアルで受け取ってからパラレル変換
するようにするものでもよい。あるいは、重み情報をア
ナログ信号で構成するならば、乗算型D/Aコンバータ32a
の代わりに、アナログ乗算器を用いることができる。The multiplying D/A converter 32a may receive the weight information of a digital signal in parallel, or may receive the weight information serially and then convert it into parallel. Alternatively, if the weight information is configured as an analog signal, the multiplying D/A converter 32a
Instead, an analog multiplier can be used.
第7図は1個の本発明のニューロチップ(ANP)の実施
例の具体的回路図である。FIG. 7 is a specific circuit diagram of one embodiment of the neurochip (ANP) of the present invention.
このユニットでは入力部42、乗算部43、加算部44、サン
プル/ホールド部45、非線形関数部46、及び出力部47か
ら構成され、ここでは、出力保持回路はなく、サンプル
/ホールド部45が出力保持の機能を有するものとする。This unit is composed of an input section 42, a multiplication section 43, an addition section 44, a sample/hold section 45, a nonlinear function section 46, and an output section 47. Here, there is no output holding circuit, and the sample/hold section 45 has the function of holding the output.
入力部42はオフセットキャンセル部51と、1倍のバッフ
ァ49から構成されている。1倍のバッファ49は電圧フォ
ロアで、オペアンプの出力を−端子にフィードバック
し、+端子に入力電圧を入力することによって構成され
る。データ入力はアナログの時分割されたパルス信号で
ある。OCはオフセットコントロール信号であり、これが
1のときアナログスイッチ66がオンし、1倍のバッファ
49には、0電圧が強制的に設定される。一方、オフセッ
トコントロール信号OCが、0のときアナログスイッチ66
はオフされ、他方のアナログスイッチの他方65がオン
し、データ入力が1倍のバッファ49に入力される。すな
わち、オフセットコントロール信号OCが1である場合に
は、ニューロンユニットには0ボルトが強制的に入力さ
れて乗算器出力までの回路のオペアンプ出力に生じるオ
フセット電圧に対するオフセットのキャンセルの動作を
行うようにしている。アナログスイッチ65と66は同図で
はOC信号の反転位相と正相位相でスイッチングの制御が
行われているが、位相制御回路によって、同時オンがな
いようになっている。以後このことをOCが「位相制御さ
れた」という言い方をすることにする。The input section 42 is composed of an offset cancellation section 51 and a 1x buffer 49. The 1x buffer 49 is a voltage follower that feeds back the output of the operational amplifier to the - terminal and inputs the input voltage to the + terminal. The data input is an analog time-division pulse signal. OC is an offset control signal, and when this is 1, the analog switch 66 is turned on and the 1x buffer
On the other hand, when the offset control signal OC is 0, the analog switch 66
is turned off, the other analog switch 65 is turned on, and the data input is input to the 1x buffer 49. In other words, when the offset control signal OC is 1, 0 volts is forcibly input to the neuron unit, and the offset voltage generated in the operational amplifier output of the circuit up to the multiplier output is cancelled. In the figure, analog switches 65 and 66 are controlled to switch with the inverted and normal phases of the OC signal, but a phase control circuit prevents them from being turned on simultaneously. Hereafter, this will be referred to as OC being "phase controlled."
正負切換回路52は2つの倍数器をカスケード結合して構
成されている。倍数器では入力抵抗(10KΩ)とフィー
ドバック抵抗(10KΩ)によって10/10、すなわち1倍の
電圧の反転したものが形成され、それを1段だけを通す
か、2段を通すかによってアナログ電圧の符号を決定し
ている。その制御信号はディジタル重みデータの符号ビ
ット(SIGN)であり、このSIGNビットはMOSスイッチ70
のゲートに接続されている。このSIGNの制御信号も位相
制御されている。符号ビットが1である場合に入力部42
からの入力電圧は第1段目の倍数器で反転され、さらに
スイッチ67もオンしているので後段の倍数器も通り、結
果として正相となる。また符号ビットが0である場合に
は、反転回路68を介して、スイッチ69がオンとなる。こ
の時スイッチ67と70はオフしているため、入力部42から
の入力電圧はスイッチ69を介して後段のオペアンプ71の
−端子に入力される。従って、前段の抵抗72と後段のオ
ペアンプのフィールドバックの抵抗73とによって倍数器
が形成され、1倍された形で反転される。すなわち、符
号ビットの正負によって入力部42の入力が、正または負
の電圧として形成され、これが、興奮性と抑制性のシナ
プス結合に従った電圧となる。正負切換回路52からの出
力は乗算部43の中にあるD/Aコンバータ53のR−2R抵抗
回路網74の点、すなわち基準電圧端子に入力される。The positive/negative switching circuit 52 is constructed by cascading two multipliers. In the multiplier, an input resistor (10 kΩ) and a feedback resistor (10 kΩ) form a 10/10, i.e., an inverted 1x voltage, and the sign of the analog voltage is determined by whether it is passed through one stage or two stages. The control signal is the sign bit (SIGN) of the digital weight data, and this SIGN bit is connected to a MOS switch 70.
The control signal of this SIGN is also phase-controlled. When the sign bit is 1, the input terminal 42
The input voltage from input 42 is inverted by the first multiplier, and because switch 67 is also on, it also passes through the subsequent multiplier, resulting in a positive phase. If the sign bit is 0, switch 69 is turned on via inversion circuit 68. At this time, switches 67 and 70 are off, so the input voltage from input 42 is input to the negative terminal of subsequent operational amplifier 71 via switch 69. Therefore, a multiplier is formed by resistor 72 in the previous stage and feedback resistor 73 of the subsequent operational amplifier, and the voltage is inverted and multiplied by 1. In other words, depending on whether the sign bit is positive or negative, the input to input 42 is generated as a positive or negative voltage, which corresponds to the excitatory and inhibitory synaptic connections. The output from positive/negative switching circuit 52 is input to the R-2R resistor network 74 of D/A converter 53 in multiplier 43, i.e., the reference voltage terminal.
R−2R方式のD/Aコンバータをまず説明する。MSBからLS
Bまでのディジタル重みによって内部のスイッチはオン
またはオフをとる。ディジタル値が1である場合に、電
流は右側のスイッチ75を通って、オペアンプ76の仮想接
地点78に流れ込む。オペアンプ76の仮想接地点78は+端
子と同じ電圧になるように制御され、これがグランドで
あるから仮想的な0ボルトである。D/Aコンバータ53に
おいてRは10KΩ、2Rは10KΩである。スイッチの状態に
関わらず、2Rの抵抗には電流が流れ、ディジタル値の値
に従ってその2Rに流れる重み電流が仮想接地点78の方に
流れるかどうかが決定される。1番右の2Rに流れる電流
をiとする。右から2番目すなわちLSBに対応する2Rの
電流は1番右の2Rにかかる電圧を2Rで割った値であるか
ら2R×i÷2Rでiとなる。従って1番右の横方向のRに
は電流2iが流れる。右から3番目の2Rには2R×i+R×
2iの電圧がかかり、これを2Rで割るから2iの電流が流れ
る。以下同様で左に行くに従って4i、8iとなって2のべ
き乗で増える電流になる。この2のべき乗になった重み
電流をオペアンプの方に流すか流さないかを決めている
のがMSBからLSBである。従って、ディジタル重みに対応
する電流が2のべき乗の形で仮想接地78に流れこみ、オ
ペアンプ76の入力インピーダンスは無限大であるから、
この電流がオペアンプ36の帰還抵抗78に流れる。従っ
て、D/Aコンバータの出力電圧Voutは入力電圧をEとす
れば、
となる。ここで、D0はLSBで、Dn-1がMSBであるとする。
すなわち、掛算部3−3の出力は等価的に入力電圧Eに
重みを掛けた値になっている。First, let's explain the R-2R type D/A converter.
The internal switches are turned on or off depending on the digital weights up to B. When the digital value is 1, current flows through the right switch 75 and into the virtual ground point 78 of the operational amplifier 76. The virtual ground point 78 of the operational amplifier 76 is controlled to have the same voltage as the + terminal, which is ground, so it is a virtual 0 volts. In the D/A converter 53, R is 10 kΩ and 2R is 10 kΩ. Regardless of the switch state, current flows through the 2R resistor, and the digital value determines whether the weight current flowing through that 2R flows to the virtual ground point 78. Let i be the current flowing through the rightmost 2R. The current through the 2R second from the right, i.e., corresponding to the LSB, is the voltage applied to the rightmost 2R divided by 2R, so i is 2R × i ÷ 2R. Therefore, a current 2i flows through the rightmost horizontal R. The third 2R from the right is 2R × i + R ×
A voltage of 2i is applied, and when this is divided by 2R, a current of 2i flows. Similarly, as we move to the left, the current increases by a power of 2, becoming 4i, 8i, etc. It is the MSB to LSB that determines whether or not this weight current, which has become a power of 2, flows to the operational amplifier. Therefore, the current corresponding to the digital weight flows into the virtual ground 78 in the form of a power of 2, and since the input impedance of the operational amplifier 76 is infinite,
This current flows through the feedback resistor 78 of the operational amplifier 36. Therefore, if the input voltage is E, the output voltage Vout of the D/A converter is Here, D 0 is the LSB and D n-1 is the MSB.
That is, the output of the multiplication unit 3-3 is equivalent to the input voltage E multiplied by the weight.
その重み係数はMSBからLSBに入力されるディジタル値で
制御されることになる。一方、加算部44は時分割多重化
アナログ信号の各電圧とディジタル重みデータとの各積
についてミラー積分器を時分割的に使用することにより
累積加算動作を実行する。そして、サンプル/ホールド
回路45は、加算結果をサンプル/ホールドする。The weighting coefficients are controlled by digital values input from MSB to LSB. Meanwhile, adder 44 performs cumulative addition by using a Miller integrator in a time-division multiplexed manner for each product of each voltage of the time-division multiplexed analog signal and the digital weighting data. Sample/hold circuit 45 then samples and holds the addition result.
次に加算部44を説明する。加算部44は抵抗Rと帰還キャ
パシタCによる積分器である。加算部44の入力部には時
分割加算制御部55があり、位相制御されたサンプル/ホ
ールド信号S/H信号が1のとき乗算部43の出力電圧がオ
ペアンプの仮想接地点79に入力される、S/H信号が0の
とき反転回路80によりスイッチ81がオンとなって乗算部
43の出力が抵抗Rを介してグランドに接続されるので加
算部44帰還キャパシタCには加算されないことになる。
今、S/H信号が1のとき、乗算部43の出力電圧は抵抗R
を介してオペアンプ102の−端子に入力し、入力電圧を
抵抗Rで割った電流が仮想接地を介して帰還キャパシタ
Cの方に入力される。この後、S/H信号がまた0とな
り、乗算部43と加算部44は切り離されるので、乗算部43
は次の入力信号に対して、重みデータを掛けることがで
きる。キャパシタCを含む積分回路の帰還回路82には4
つのスイッチを用いてオフセットキャンセル機能が付加
されている。今オフセットコントロール信号OCが1にな
ったとすると、スイッチ83と84がオンで、85と86がオフ
となる。オフセットコントロール信号OCが0の時には、
データ入力部42、データ入力端子DATA−INPUTに入力電
圧が与えられ、それに対応する乗算部43の出力が抵抗R
を介してキャパシタCに入力される。この時、スイッチ
85,86がオンであり、キャパシタCの極性はオペアンプ
の−端子に接続されている側が−、オペアンプ102の出
力に接続されている側が+である。次に、オフセットコ
ントロール信号OCが1である場合にはデータ入力は強制
的には0にされる。この場合、正負切換回路42及び乗算
部43のD/Aコンバータ53を介してもしオフセットがなけ
れば、D/Aコンバータ44の出力は0ボルトとなる。しか
し、オペアンプ49、103、71、102があるためにオフセッ
ト電圧が生じ、そのオフセット電圧が加算部44のキャパ
シタCに蓄えられる。この場合、前のオフセットコント
ロール信号OCが0である場合と違ってスイッチ83,84が
オンとなり、キャパシタCの+−の極性は逆転する。そ
のため、入力信号が入力された時に生じるオフセット電
圧はオフセットコントロール信号OCを0にすることによ
り、キャパシタCの極性が変わり、結果として、オフセ
ットがキャンセルされることになる。本発明では、この
ように、キャパシタCの極性の反転を用いて等価的にオ
フセットキャンセル機能を有するように構成されてい
る。なお、スイッチ87はリセット信号によって制御さ
れ、処理開始時にリセット信号が与えられた場合に、キ
ャパシタChの電圧を零にし、加算部の出力を強制的に0
にリセットするものである。このOC信号も位相制御され
ているものとする。Next, the adder 44 will be described. The adder 44 is an integrator consisting of a resistor R and a feedback capacitor C. The input of the adder 44 has a time-division addition control unit 55, and when the phase-controlled sample/hold signal S/H signal is 1, the output voltage of the multiplier 43 is input to the virtual ground point 79 of the operational amplifier. When the S/H signal is 0, an inverting circuit 80 turns on a switch 81, and the multiplier
Since the output of 43 is connected to ground via a resistor R, it is not added to the feedback capacitor C of the adder 44 .
Now, when the S/H signal is 1, the output voltage of the multiplier 43 is
The input voltage is input to the negative terminal of the operational amplifier 102 via the resistor R, and the current obtained by dividing the input voltage by the resistor R is input to the feedback capacitor C via the virtual ground. After this, the S/H signal becomes 0 again, and the multiplication unit 43 and the addition unit 44 are disconnected, so the multiplication unit 43
The feedback circuit 82 of the integrator circuit including the capacitor C has four
An offset cancel function is added using two switches. Now, if the offset control signal OC becomes 1, switches 83 and 84 are on, and 85 and 86 are off. When the offset control signal OC becomes 0,
An input voltage is applied to the data input terminal DATA-INPUT of the data input section 42, and the output of the multiplication section 43 corresponding to the input voltage is applied to the resistor R
The input to the capacitor C is
Switches 85 and 86 are on, and the polarity of capacitor C is negative on the side connected to the negative terminal of the operational amplifier and positive on the side connected to the output of operational amplifier 102. Next, when the offset control signal OC is 1, the data input is forced to 0. In this case, if there is no offset via the positive/negative switching circuit 42 and the D/A converter 53 of the multiplier 43, the output of the D/A converter 44 will be 0 volts. However, the presence of operational amplifiers 49, 103, 71, and 102 generates an offset voltage, which is stored in capacitor C of the adder 44. In this case, unlike the previous case where the offset control signal OC was 0, switches 83 and 84 are on, reversing the polarity of capacitor C. Therefore, when the offset control signal OC is set to 0, the polarity of capacitor C changes, and the offset voltage generated when an input signal is input is canceled. In this way, the present invention is configured to provide an equivalent offset cancellation function by reversing the polarity of capacitor C. The switch 87 is controlled by a reset signal, and when a reset signal is given at the start of processing, the voltage of the capacitor C h is set to zero, forcing the output of the adder to zero.
This OC signal is also phase-controlled.
加算部44の出力はサンプル/ホールド回路45の入力とな
る。サンプル/ホールド回路45では、位相制御されたサ
ンプル/ホールド制御信号S/Houtが1である場合に、ス
イッチ88を介して加算部44の出力がキャパシタChに蓄べ
られる。S/Hout制御信号が1である場合には、反転回路
94によってスイッチ90の制御信号は0となり、キャパシ
タChの一方の端子はグランドに接地されず、スイッチ91
がオンになることによりユニットの最終出力信号がその
スイッチ91を介してキャパシタChに入力される。すなわ
ち、その時の最終出力信号がオペアンプ96の出力端から
フィードバックされてキャパシタChの下側に与えられ
る。従って、キャパシタCには、加算部44の出力から最
終出力信号の値を引いた電圧が保持される。一方S/Hout
制御信号が0のときには、スイッチ89と90がオンし、キ
ャパシタChの下側はグランドとなり、結果としてキャパ
シタCに蓄えられた電圧、すなわち加算部44の出力から
最終出力値を引いた電圧値がスイッチ89を介して1倍の
オペアンプ93の+側に入力され、そしてこのオペアンプ
93はバッファとして働いて、オペアンプ93の出力がシグ
モイド関数の入力となる。また、S/Hout制御信号が1の
ときスイッチ88がオンし、キャパシタChには加算器の出
力値と最終出力値との差の電圧が蓄えられているときに
は、スイッチ92がオンしている。そのためオペアンプ93
には0ボルトが強制的に入力される。この時にシグモイ
ド関数46及びオペアンプ96,アナログスイッチ100を介し
てオフセット電圧ΔVがスイッチ91を介してChの下側に
入力される。したがってS/Hout制御信号が0の時点、す
なわちスイッチ89がオンでスイッチ92がオフである場合
には、Chに蓄えられた電圧、すなわち(加算部の出力−
オフセット電圧ΔV)がオペアンプ93とシグモイド関数
46を介して最終出力になるが、S/Hout信号が1になる
と、この時に生成されるオフセット電圧もΔvであるか
ら結果として、オフセット電圧かキャンセルされること
になる。The output of the adder 44 is input to the sample/hold circuit 45. In the sample/hold circuit 45, when the phase-controlled sample/hold control signal S/H out is 1, the output of the adder 44 is stored in the capacitor Ch via the switch 88. When the S/H out control signal is 1, the output of the adder 44 is stored in the capacitor Ch via the inverting circuit
The control signal of the switch 90 becomes 0 by 94, one terminal of the capacitor C h is not grounded, and the switch 91
When the switch 91 is turned on, the final output signal of the unit is input to the capacitor C h via the switch 91. That is, the final output signal at that time is fed back from the output terminal of the operational amplifier 96 and applied to the lower side of the capacitor C h . Therefore, the voltage obtained by subtracting the value of the final output signal from the output of the adder 44 is held in the capacitor C h.
When the control signal is 0, the switches 89 and 90 are turned on, the lower side of the capacitor C is grounded, and as a result, the voltage stored in the capacitor C, that is, the voltage obtained by subtracting the final output value from the output of the adder 44, is input to the positive side of the 1x operational amplifier 93 via the switch 89.
The operational amplifier 93 acts as a buffer, and the output of the operational amplifier 93 becomes the input of the sigmoid function. When the S/H out control signal is 1, the switch 88 is turned on, and when the voltage of the difference between the output value of the adder and the final output value is stored in the capacitor C h , the switch 92 is turned on. Therefore, the operational amplifier 93
At this time, the offset voltage ΔV is input to the lower side of Ch via the sigmoid function 46, the operational amplifier 96, and the analog switch 100 and the switch 91. Therefore, when the S/H out control signal is 0, that is, when the switch 89 is on and the switch 92 is off, the voltage stored in Ch , that is, (the output of the adder -
Offset voltage ΔV) is the op-amp 93 and the sigmoid function
The final output is obtained via 46, but when the S/H out signal becomes 1, the offset voltage generated at this time is also Δv, so the offset voltage is cancelled out as a result.
シグモイド関数を生成する非線形関数部は非線形回路選
択制御部があり、位相制御されたSe1Sig信号を1にする
とスイッチ95がオンし、シグモイド関数の出力が次段に
入力される。しかし、Se1Sig信号が0の時には反転回路
97を介してスイッチ98の制御信号が1となってそれがオ
ンし、シグモイド関数の出力はカットされる。すなわち
Se1Sig信号が0の時には、サンプル/ホールド部の出力
電圧がシグモイド関数を介さずに直接オペアンプ96に入
力される。オペアンプ96は本質的には出力を−端子に直
接帰還する1倍のオペアンプでバッファの働きをする。
すなわち出力インピーダンスを0にするバッファとな
る。The nonlinear function part that generates the sigmoid function has a nonlinear circuit selection control part, and when the phase-controlled Se1Sig signal is set to 1, the switch 95 is turned on and the output of the sigmoid function is input to the next stage. However, when the Se1Sig signal is 0, the inverting circuit
The control signal of the switch 98 becomes 1 via the switch 97, turning it on, and the output of the sigmoid function is cut off.
When the Se1Sig signal is 0, the output voltage of the sample/hold section is input directly to the operational amplifier 96 without passing through a sigmoid function. The operational amplifier 96 is essentially a 1x operational amplifier that feeds the output directly back to the - terminal, acting as a buffer.
That is, it acts as a buffer that makes the output impedance zero.
出力部47には時分割アナログ出力部64と出力制御部63が
接続されている。CSIが1のときにはスイッチ99がオン
で、スイッチ101もオンであるため、オペアンプ96の最
終出力値がDATA−OUTPUTに出力され、しかもその−端子
にフィードバックされて、オペアンプ96は1倍のオペア
ンプとして働く。それと同時に最終出力値がサンプル/
ホールド部45にフィードバックされる。一方、CSIが0
のときインバータ104を介してスイッチ100がオンにな
り、スイッチ101,99がオフになる。すなわちオペアンプ
96の出力はDATA−OUTPUT線には出力されないことにな
る。しかし、スイッチ100がオンすることによって1倍
のバッファを形成するようにしているためオペアンプ96
の電圧フォロア動作は破壊されることなく実行される。
出力部47は出力制御入力端子CSIによって出力パルス電
圧を伝達するかどうかを決める回路である。このCSIを
ディレイ回路105を介してCSOとして出力し、層内の隣接
するニューロチップに対する出力アナログ信号の時間タ
イミングを決定することになる。このため、本発明では
出力部47からのアナログ信号は時分割で伝達されるた
め、バス上で他のニューロチップからのアナログ信号と
競合しない。The output section 47 is connected to a time-division analog output section 64 and an output control section 63. When CSI is 1, the switch 99 is on and the switch 101 is also on, so the final output value of the operational amplifier 96 is output to DATA-OUTPUT and is fed back to its - terminal, so that the operational amplifier 96 functions as a 1x operational amplifier. At the same time, the final output value is sampled/
The feedback is sent to the hold unit 45. On the other hand, when the CSI is 0,
At this time, the switch 100 is turned on through the inverter 104, and the switches 101 and 109 are turned off.
The output of the operational amplifier 96 is not output to the DATA-OUTPUT line. However, since the switch 100 is turned on to form a 1x buffer, the output of the operational amplifier 96
The voltage follower operation is carried out without any disruption.
The output unit 47 is a circuit that determines whether to transmit an output pulse voltage by the output control input terminal CSI. This CSI is output as CSO via a delay circuit 105, and determines the time timing of the output analog signal to the adjacent neurochip in the layer. Therefore, in the present invention, the analog signal from the output unit 47 is transmitted in a time-division manner, so it does not compete with analog signals from other neurochips on the bus.
第8図は第7図において、オフセットキャンセルOCをOC
0、OC1、サインSIGNをPN,−PN、サンプル/ホールドSH
をSH11、SH10、サンプル/ホールドS/HoutをSH21、SH2
0、シグモイド選択信号Se1Sigを−SIGM、SIGM、ディジ
ーチェーン用信号CSIをCS、−CSでの2信号で位相制御
を実現する。すなわち、1つの制御信号を、それぞれ正
相を逆相の2信号で構成しかつ位相をずらすことによ
り、これらの制御信号の正相と逆相で制御される別のス
イッチが同時にオン状態にならないようにした信号にし
た場合の実施例である。なお、D/Aコンバータ53の出力
端に接続されたキャパシタCf、抵抗Rfはオペアンプ76の
フィードバック信号をD/Aコンバータの演算速度にあわ
せるためのものであり、DT端子には、D/Aコンバータの
ディジタル入力が加えられる。Figure 8 shows the offset cancellation OC in Figure 7.
0, OC1, sign SIGN to PN, -PN, sample/hold SH
to SH11, SH10, sample/hold S/H out to SH21, SH2
Phase control is achieved using two signals: 0, the sigmoid selection signal Se1Sig is -SIGM, SIGM, and the daisy chain signal CSI is CS, -CS. In other words, this is an embodiment in which one control signal is composed of two signals, one positive and one negative, and the phases are shifted to prevent different switches controlled by the positive and negative phases of these control signals from being turned on simultaneously. The capacitor Cf and resistor Rf connected to the output end of the D/A converter 53 are used to match the feedback signal of the operational amplifier 76 to the calculation speed of the D/A converter, and the digital input of the D/A converter is applied to the DT terminal.
第8図で第7図と同一箇所は同一番号を付して説明を省
略する。In FIG. 8, the same parts as those in FIG. 7 are given the same numbers and their explanations are omitted.
第9図は、積分器におけるタイミング図である。データ
クロックDCLKと重みクロックWCLKは基本的な動作クロッ
クで、データクロックDCLKのハイ状態の半周期間に高速
な重みクロックWCLKが出力される。重みクロックWCLK信
号は重みシリアルデータを取り込むための同期クロック
である。データクロックDCLK信号はアナログ入力信号に
対する処理を行うための基本クロックである。同期信号
SYNCは各層において一層内の各アナログニューロンプロ
セッサANPの同期をとる同期信号である。積分器の出力
電圧の変化は下の三角形で示された部分の波形で示され
る。積分波形は、サンプル/ホールド制御信号SHのパル
スで制御され、このパルスがハイの間、積分の動作を実
行する。すなわち、積分器のキャパシタCに対する充電
を開始し、このサンプル/ホールド制御信号SHのパルス
がハイの間は、このキャパシタに徐々に電荷が蓄積され
て電圧は上がるが、サンプル/ホールド制御信号SHのパ
ルスがロウとなって遮断されると、充電動作を停止す
る。従って、この積分時間範囲でのチャージ分だけが意
味を持ち、このサンプル/ホールド制御信号のパルス幅
をコントロールして積分時間範囲を縮めたり延ばしたり
することで、入力は同じ電圧だが、積分結果としてでて
くるものは、サンプル/ホールド制御信号S/Hのパルス
幅Wのとき充電電圧はVa′となる。Figure 9 is a timing diagram for the integrator. The data clock DCLK and the weighted clock WCLK are basic operating clocks, and a high-speed weighted clock WCLK is output during the half period of the high state of the data clock DCLK. The weighted clock WCLK signal is a synchronous clock for capturing weighted serial data. The data clock DCLK signal is a basic clock for processing the analog input signal. Synchronous signal
SYNC is a synchronization signal that synchronizes each analog neuron processor ANP in each layer. The change in the integrator's output voltage is shown by the waveform indicated by the triangle below. The integral waveform is controlled by the sample/hold control signal SH pulse, and integration is performed while this pulse is high. That is, charging of the integrator's capacitor C begins, and while this sample/hold control signal SH pulse is high, charge gradually accumulates in this capacitor and the voltage rises. When the sample/hold control signal SH pulse goes low and is cut off, the charging operation stops. Therefore, only the charge within this integration time range is significant. By controlling the pulse width of this sample/hold control signal to shorten or extend the integration time range, the input voltage remains the same, but the resulting integration voltage will be Va ' when the sample/hold control signal S/H pulse width is W.
サンプル/ホールド制御信号SHが下がり、スイッチング
制御より積分器のキャパシタの極性が変わり、オフセッ
ト分が加算されている積分出力は反転する。そして、オ
フセットコントロール信号OCがハイ状態でサンプル/ホ
ールド制御信号SHが再び立ち上がると、オフセット電圧
Vb(Vb′)がそのキャパシタに加算され、SH信号が立ち
下がった時点では、結果としてオフセット分がキャンセ
ルされた積分出力値Va−Vb(Va′−Vb′)を極性をもど
してサンプル/ホールドされる。The sample/hold control signal SH falls, the polarity of the integrator capacitor changes due to switching control, and the integral output to which the offset is added is inverted. Then, when the offset control signal OC is high and the sample/hold control signal SH rises again, the offset voltage
Vb ( Vb ') is added to the capacitor, and when the SH signal falls, the offset-cancelled integral output value Va - Vb (Va ' - Vb ') is sampled and held with the polarity reversed.
次に、階層型ニューラルネットワークを説明する。第10
A図は階層型ネットワークの概念図である。階層型では
左側の入力層の入力ノード110から入った入力データは
順次右側の方向に向かって1方向にだけ処理されてい
く。中間層の各ニューロン112は、ダミーノード111を含
む前の層の出力をそれぞれ層内の完全結合で受けるよう
になっている。入力層に例えば4個の入力ノード110が
あると、それにダミーノード111の1個がたされ、中間
層の各ニューロン112からみると入力層は5つのニュー
ロンに見えている。ここで、ダミーノード111とは、ス
レッシュホールドをコントロールするもので、積和の結
果Xのシグモイド関数
の値Xに一定値−θを加えることによりX軸の正方向に
シフトさせた値f(x−θ)にするものである。これは
ダミーノード111に対応する重みをニューロン内で変え
ることと等価であるが、後述するマックスバリューノー
ド回路を用いて、一定値θを生成している。このよう
に、ダミーノードに対する重みを用意しておけば、閾値
を重みで実現することができる。そして出力層のニュー
ロン112から中間層はニューロンが4個あるようにみえ
る。入力層に加えられた入力データは、中間層ニューロ
ン112、出力層ニューロン112で重みデータを用いてそれ
ぞれ積和演算を施され、結果として出力データを発生す
る。Next, we will explain the hierarchical neural network.
Figure A is a conceptual diagram of a hierarchical network. In a hierarchical network, input data coming in from input nodes 110 in the left-hand input layer is processed sequentially in one direction, toward the right. Each neuron 112 in the middle layer receives the output of the previous layer, including dummy nodes 111, through complete connections within the layer. For example, if the input layer has four input nodes 110, one dummy node 111 is added to them, and the input layer appears to each neuron 112 in the middle layer as five neurons. Here, the dummy node 111 controls the threshold, and is a sigmoid function of the sum-of-products result X. By adding a constant value -θ to the value X of f(x - θ), it is shifted in the positive direction of the X axis to obtain a value f(x - θ). This is equivalent to changing the weight corresponding to the dummy node 111 within the neuron, but the constant value θ is generated using a max value node circuit, which will be described later. By preparing weights for the dummy nodes in this way, it is possible to realize the threshold value using the weights. From the output layer neuron 112 to the hidden layer, it appears that there are four neurons. The input data added to the input layer is subjected to a product-sum operation using the weight data in the hidden layer neuron 112 and the output layer neuron 112, which results in the generation of output data.
第10A図に示した階層型構造のものを本発明のANPを用い
て実現すると、第10B図のように、各層間、つまり入力
と中間層との間、中間層と出力層の間、出力層の出力に
それぞれの独立のアナログバスB1,B2,B3を設けることに
なる。縦方向のANPは全部並列に実行できるという構造
になる。出力層の出力にはサンプルホールド回路SHを付
ける。When the hierarchical structure shown in Figure 10A is realized using the ANP of the present invention, as shown in Figure 10B, independent analog buses B1, B2, and B3 are provided between each layer, i.e., between the input and hidden layer, between the hidden layer and 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. A sample-and-hold circuit SH is attached to the output of the output layer.
第11図は本発明の一実施例構成図である。FIG. 11 is a diagram showing the configuration of one embodiment of the present invention.
同図において、入力側回路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 of these connections.
基本ユニット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 non-linear 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.
第12図に、この基本ユニット121を複数個、階層的に接
続することで構成されるネットワーク構成データ処理装
置の一実施例を示す。この実施例は、各基本ユニット12
1に与えられる重みをユニットの外部で一時保持し、CSI
の制御を主制御回路より与える場合の実施例である。こ
の実施例は、第2図で示した階層ネットワークの階層構
造間の電気的な接続を、1本の共通なアナログバス140
(識別子としてa乃至cが付くことがある)をもって実
現する実施例である。従って、基本ユニット121の出力
スイッチ部36から出力される最終出力値(これが、後段
層に位置する基本ユニット121への入力となる)は、ア
ナログ信号の出力モードで出力されるように構成され
る。なおこの実施例ではh、i層が中間層で、出力層を
j層として示してある。FIG. 12 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 embodiment is an embodiment in which the control of the hierarchical network shown in FIG. 2 is provided by a single common analog bus 140.
(Sometimes, an identifier a to c is attached.) Therefore, the final output value output from the output switch section 36 of the basic unit 121 (which becomes the input to the basic unit 121 located in the subsequent layer) is configured to be output in analog signal output mode. In this embodiment, the h and i layers are intermediate layers, and the output layer is shown as the j layer.
同図において、161は各基本ユニット121毎に設けられる
重み出力回路で、基本ユニット121内の重み保持部38の
ための重みを出力するもの、162は重み信号線で、重み
出力回路161の出力を重み保持回路38に接続するもの、1
20(識別子としてa乃至nが付くことがある)は入力信
号の数に合わせて設けられる入力側回路で、階層ネット
ワークの入力層に対応して入力パターンとなる初期信号
を出力するもの、164(識別子としてa乃至dが付くこ
とがある)はCSIを含む同期制御信号線で、データ転送
の制御を実行する主制御回路150からの同期制御信号
を、重み出力回路161、入力側回路120及び基本ユニット
121の制御回路39に伝えるための信号線である。なお、
この同期制御信号線164は、図中では共通線で示してあ
るが、詳細には、各回路に対し主制御回路150と個別の
信号線で接続されている。In the figure, 161 is a weight output circuit provided for each basic unit 121, which outputs a weight for the weight holding unit 38 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 38,
Reference numeral 20 (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 39 of 121.
Although this synchronous control signal line 164 is shown as a common line in the figure, in detail, each circuit is connected to the main control circuit 150 by an individual signal line.
第13図に、主制御回路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を与えたりするための制御を行う。
外部記憶装置は、ニューロコンピュータを構築するため
のデータを格納する。13 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.
次に、第14図に示すタイミングチャートに従って、この
ように構成される第12図の実施例の動作処理について説
明する。Next, the operation process of the embodiment of FIG. 12 configured as above will be described with reference to the timing chart shown in FIG.
ホストコンピュータ150yからメインバス150xを介して出
力パターンへの変換要求を与えらると、主制御回路150
は、入力側回路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 to an output pattern is given from the host computer 150y via the main bus 150x, the main control circuit 150
By cyclically sending an output control signal to the input side circuits 120 in a time series manner, the
In other words, the main control circuit 150 turns on the synchronous control signal line 164a for each input circuit 120 in order to select the input circuits 120 in order from the control pattern memory 150d in response to an instruction from the program sequencer 150c.
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.
第14A図では、この同期制御信号線164aの同期制御信号
をYi出力制御信号(i=1〜n)で表して、入力側回路
120を時系列的にサイクリックに選択していく過程を図
示している。ここで、nは入力側回路120の個数であ
る。このようにして選択される入力側回路120は、h層
との間に設けられるアナログバス140(図中では、入力
層アナログバス140aという)上に、入力パターンとして
与えられたアナログ信号Yiを送出するよう処理する。こ
の入力パターンは、ホストコンピュータ150yを介して与
えられる。従って、第14A図に示すように、入力層アナ
ログバス140a上には、アナログ信号Yiが、入力側回路12
0の個数分順序よく送出されるとともに、最初の入力パ
ターンのYi、続いて次の入力パターンのYi、そして次の
入力パターンのYiというように、次々と繰り返し送出さ
れていくことになる。In FIG. 14A, the synchronous control signal of this synchronous control signal line 164a is represented by Yi output control signal (i=1 to n), and the input side circuit
14A shows the process of cyclically selecting the input circuits 120 in a time series manner. Here, n is the number of input circuits 120. The input circuit 120 selected in this manner processes the analog signal Yi provided as an input pattern onto the analog bus 140 (referred to as input layer analog bus 140a in the figure) provided between the input circuit 120 and the h layer. This input pattern is provided via a host computer 150y. Therefore, as shown in FIG. 14A, the analog signal Yi is transmitted to the input circuit 120 via the input layer analog bus 140a.
The number of 0s is sent out in order, and the first input pattern Yi, then the next input pattern Yi, and then the next input pattern Yi are sent out repeatedly in this order.
h層の各基本ユニット121の乗算部122は、この送出され
てくるアナログ信号Yiを受け取ると、主制御回路150か
らセットされることになる重み保持部38の重みWiを使
い、上述した乗算処理の(Yi・Wi)を実行することにな
る。この重みWiは、バック・プロパゲーション法に従っ
て、MPUですでに決定されているものとする。When the multiplier 122 of each basic unit 121 in the h layer receives this analog signal Yi, it executes the above-mentioned multiplication process (Yi·Wi) using the weight Wi stored in the weight storage unit 38, which is set by the main control circuit 150. It is assumed that this weight Wi has already been determined by the MPU according to the back propagation method.
従って、主制御回路150は、第14B図に示すように、入力
側回路120の選択処理と同期させて、重み出力回路161を
介して、その選択された入力側回路120に応じた重みWi
を、h層の各基本ユニット121の重み保持部38にセット
していくことになる。そして、1バスサイクルの間にYi
とWiの積をとって前の積和との和を求めることになる。Therefore, as shown in FIG. 14B, 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 38 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.
ここで、第15図に示される基本ユニット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. 15. Note that here, the basic unit 121 (121a in the figure) in the hidden layer will be explained.
まず、制御回路39は、主制御回路150の制御パターンメ
モリ150dから同期制御信号線164(図中の164b−1)を
介して与えられる同期制御信号を受け取ると、OCに相当
する入力制御信号(c)をオンにし、入力スイッチ部37
を導通させると同時に、バッファ38aのゲートをオープ
ンする重み入力制御信号(d)、出力スイッチ部36を導
通させるCSIに相当する出力制御信号(h1)をオンにす
る。このとき、主制御回路150は、クロック(a)と同
期して前述した同期制御信号線164aのCSIを順次オンに
するので、このクロック(a)に同期して入力側回路12
0a,120b,・・・120nに保持されている入力パターン信号
Yiが、アナログバス140、入力スイッチ部37を介して乗
算型D/Aコンバータ32aに与えられる。First, when the control circuit 39 receives a synchronous control signal from the control pattern memory 150d of the main control circuit 150 via the synchronous control signal line 164 (164b-1 in the drawing), it turns on the input control signal (c) corresponding to OC, and the input switch unit 37
At the same time, the main control circuit 150 turns on the weighted input control signal (d) that opens the gate of the buffer 38a and the output control signal ( h1 ) that corresponds to CSI that turns on the output switch unit 36. 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), so that the input side circuit 12
Input pattern signal held at 0a, 120b, ... 120n
Yi is given to the multiplying D/A converter 32 a via the analog bus 140 and the input switch section 37 .
一方、主制御回路150は、同様に、重みデータメモリ150
eの重みを同期制御信号線164b(図中の164b−2)を介
して重み出力回路11に与えているので、この重み(ディ
ジタルデータ)Wiがバッファ38aを通して重み保持部38
に格納される。また、このとき、CSIの出力制御信号(h
1)がクロック(a)の1周期分だけオンになるので、
基本ユニット121のサンプルホールド回路のアナログゲ
ートがこの間オープン状態となり、保持されていたアナ
ログ値が出力スイッチ部36を介して後段のi層のアナロ
グバス140b上に出力される。さて、重み保持部38にディ
ジタル値の重みW1が格納されると、乗算制御信号(e)
がオンとなるので、乗算型D/Aコンバータ32aは、入力ス
イッチ部37を介して与えられるアナログ信号Y1と重みW1
との乗算を行い、乗算結果をアナログ信号として出力す
る。続いて、加算制御信号(f)がオンになるので、積
分器で構成されるアナログ加算器33aが動作し、直前保
持されていたアナログ値(最初はクリアされており、ゼ
ロである)と乗算型D/Aコンバータ32aの乗算結果との加
算が行われ、加算結果がサンプルホールド回路33bに再
格納される。On the other hand, the main control circuit 150 also stores the weight data memory 150
The weight of W i is given to the weight output circuit 11 via the synchronous control signal line 164 b (164 b-2 in the figure). This weight (digital data) W i is then input to the weight holding unit 38 through the buffer 38 a.
At this time, the CSI output control signal (h
1 ) is turned on for one cycle of clock (a),
During this time, the analog gate of the sample-and-hold circuit of the basic unit 121 is in an open state, and the held analog value is output onto the analog bus 140b of the subsequent i-th layer via the output switch unit 36. Now, when the weight W1 of the digital value is stored in the weight holding unit 38, the multiplication control signal (e)
is turned on, the multiplying D/A converter 32a receives the analog signal Y1 and the weight W1
Then, the addition control signal (f) is turned on, which activates the analog adder 33a, which is made up of an integrator, and adds the analog value held just before (which is initially cleared to zero) and the multiplication result of the multiplying D/A converter 32a, and the addition result is stored again in the sample-and-hold circuit 33b.
以上の動作により、1バスサイクルが終了し、次のクロ
ック(a)に同期して、入力スイッチ部37からは入力側
回路120bの入力パターンY2が与えられ、重み出力回路16
1からはこの入力パターンY2に対応する重みW2が与えら
れるので、入力パターンY2と重みW2との乗算が行われ、
そして、この乗算結果とサンプルホールド回路33bのホ
ールド値との加算が行われる。そして、これ以降、入力
側回路120nの入力パターンYnに対する処理が終了するま
でこの動作を繰り返す。そして、入力パターンYnとWnと
の乗算が終了すると、変換制御信号(g)がオンになる
ので、この乗算結果を累算した値が、閾値部124の非線
型関数発生回路34aに入力され、対応するY値が保持さ
れる。すなわち、閾値処理部124は、上述した
Y=1/(1+exp(−X+θ))
という演算処理を行い、これにより、基本ユニット121
の最終的な演算出力である最終出力値Yが求められ、保
持され、次の出力制御信号(h1)の立ち上がり時にこの
結果が後段のアナログバス(140b)に出力される。この
値Yが求まると、加算部33の累算値は、次の入力側回路
120の選択サイクルと同期して、入力されるクリア信号
によりクリアされる。With the above operation, one bus cycle is completed, and in synchronization with the next clock (a), the input switch unit 37 provides the input pattern Y2 of the input side circuit 120b, and the weight output circuit 16
Since the weight W2 corresponding to this input pattern Y2 is given from 1, the input pattern Y2 is multiplied by the weight W2 ,
The result of this multiplication is then added to the hold value of the sample-and-hold circuit 33b. This operation is repeated until the processing of 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, and the accumulated value of this multiplication result is input to the nonlinear function generating circuit 34a 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+θ)), and as a result, the basic unit 121
The final output value Y, which is the final calculation output of the above, is calculated and stored, and this result is output to the subsequent analog bus (140b) at the rising edge of the next output control signal ( h1 ). When this value Y is calculated, the accumulated value of the adder 33 is
It is cleared by the input clear signal in synchronization with the 120 selection cycle.
以上に説明したような動作を行うことにより、各基本ユ
ニット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 .
これ以降、第12図に示される実施例の構成に戻って説明
する。第15図を用いて詳述したように、全ての入力側回
路120からの入力パターンに対する処理が終了すると、
再度主制御回路150から各基本ユニット121(識別子とし
てaないしnが付くことがある)に対して同期制御信号
が与えられるので、入力側回路120に新たに与えられる
入力パターンYiと新たな重みWiに従って同期の動作を実
行する。Hereafter, the explanation will return to the configuration of the embodiment shown in Fig. 12. As described in detail with reference to Fig. 15, 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 have an identifier a through n), which then executes a synchronization operation in accordance with 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の制御回路39に対して同期制御信号線16
4b(図中の164b−1)を介して出力制御信号h1〜h2(第
15図)を時系列的にサイクリックに送出することで、各
基本ユニット121a,121b・・・の出力スイッチ部36を順
次、時系列的にサイクリックに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 via the synchronous control signal line 16 to the control circuit 39 of each of the basic units 121a to 121n in the h layer in a time-division transmission format.
4b (164b-1 in the figure), the output control signals h1 to h2 (the
15) in a time-series cyclic manner, the output switch section 36 of each basic unit 121a, 121b, ... is sequentially and cyclically turned on in a time-series manner. As a result, the analog signal of the final output value held in each basic unit 121a to 121n is sent to the multiplier section 122 of each basic unit in the i-th layer in a time-division transmission format. Each basic unit in the i-th layer executes the same processing operation as described above, and executes a similar time-division transmission process to obtain the final output value Y of the basic unit 121 in the i-th layer, thereby obtaining the final output value Y of the basic unit 121 in the output layer. In other words, the main control circuit 150 controls each basic unit in the same way via synchronization control signal lines 164c, 164d connected individually to each basic unit 121 in the hidden layer and output layer.
第16図は階層ニューラルネットワークを実現する本発明
のニューロコンピュータのブロック図である。ニューロ
チップからアナログニューロンプロセッサ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
に与えられ、アナログ処理の基本クロックとなる。重み
クロックWCLKもすべてのANPと入力側のディジー回路17
1,172に与えられ、重みデータ用の高速クロックであ
る。重みメモリブロック185,186から各ANP4,5及びANP1,
2,3にはその重みクロックWCLKに同期して重みデータが
入力される。また、同期信号SYNC1は中間層のANPに与え
られる層の同期クロックで同期信号SYNC2は出力層のANP
に与えられる層の同期クロックである。SH1とOC1は中間
層のANPに対するサンプル/ホールド制御信号とオフセ
ットコントロール信号、SH2とOC2は出力層のANPに対す
るサンプル/ホールド制御信号とオフセットコントロー
ル信号である。Fig. 16 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 daisy-chain 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
Each of 1 to 5 requires a control logic signal, so a master control block (MCB) 181
The data clock DCLK is fed to the daisy chain circuits 171 and 172 on the input side of all ANPs.
The weighted clock WCLK is also given to all ANPs and the input daisy-chain circuit 17.
1,172 is a high-speed clock for weight data.
Weight data is input to 2 and 3 in synchronization with the weight clock WCLK. Also, the synchronization signal SYNC1 is a synchronization clock given to the ANP of the hidden layer, and the synchronization signal SYNC2 is a synchronization clock given to the ANP of the output layer.
SH1 and OC1 are sample/hold control signals and offset control signals for the ANP in the hidden layer, and SH2 and OC2 are sample/hold control signals and offset control signals for the ANP in 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 the output layer is to receive analog signals from ANPs 1, 2, and 3 in the hidden layer, preceding ANPs 4 and 5 in the output 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 kind 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 vertically adjacent daisy chain circuit 172 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からサンプル/ホールド回路17
4を介して同じアナログバス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 fixed time after it falls. This is the CSI of the daisy chain circuit 172, and at the same time, 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, the analog input signal is then output from analog input port 1 to the sample/hold circuit 174.
4 to the same analog bus B1. 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 come in 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.
第17図は第16図に示した実施例にかかる階層型ニューロ
コンピュータのタイミング図である。各層別にその制御
信号線が抜き出して書かれている。まず基本的な動作ク
ロックであるデータクロックDCLKと重みクロックWCLKは
同一層のすべてのANPや入力側のディジー回路171,172に
同時に入る。Figure 17 is a timing diagram of the hierarchical neurocomputer according to the embodiment shown in Figure 16. The control signal lines for each layer are shown. First, the data clock DCLK and weighted clock WCLK, which are the basic operating clocks, are input simultaneously to all ANPs in the same layer and to daisy-chain circuits 171 and 172 on the input side.
重みクロックWCLKは、重みのディジタルデータをシリア
ルで送り込むためのシリアル同期パルスで、重みメモリ
ブロックから重みを読み出すための同期クロックであ
る。どのタイミングで、入力データを取り込むかはそれ
ぞれの制御信号で規定する。まず第17図のタイミングチ
ャートにおいて、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から始まり、DCS1のダミーへの入力で終わる。ダミー
ノードはマックスバリューノード回路187であり、その
回路はDCS1が入力されている間アナログバスに固定され
たある閾値電圧を出力する。すなわちで示すようにDC
S1が立ち上がってからこの電圧が出力されている間、中
間層の各ANPは通常の入力と同様に積和演算を行って、
その固定電圧が前の2つのアナログ入力信号の積和演算
されたものの結果に加えられることになる。すなわち、
掛け算後、足し算を実行する。SYNC1は、CSO1が立ち上
がる前のDCLKの立ち下がりでハイとなり、DCS1が立ち上
がってから次のDCLKの立ち下がりでロウとなる。これは
入力相の同期をとる信号である。WCLKが入力されている
間でアナログ入力と重みデータの掛け算が行われる。中
間層のANPに入るサンプル/ホールド信号SH1には、2つ
の山M1,M2が出力されているが、最初の山M1の少し前で
積をとり山の部分で和を生成し、ホールドする。そし
て、次の山M2でオフセット電圧Vb(第9図参照)を差し
引いてサンプル/ホールドする。このような処理を入力
されるすべてのアナログ信号について順次繰り返し行
い、積和の計算が終わる。この場合はダミーを含めて中
間層の各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 17, 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 DCS1. The dummy node is a max value node circuit 187, which outputs a fixed threshold voltage to the analog bus while DCS1 is input. That is, as shown by DC
While this voltage is being output after S1 rises, each ANP in the middle layer performs a multiplication and accumulation operation in the same way as a 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 signal synchronizes the input phase. 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 (see Figure 9) is subtracted and sampled/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 sum of the products for the three inputs.
また、タイミングチャートに於いてDCS1が立ち下がった
直後のDCLKがハイのとき、アナログ2力ポート0、1,ダ
ミーノードから3つの信号について積和演算した結果が
各ANP1,2,3のキャパシタ(第7図、サンプル/ホールド
部45内のCh)にホールドされる。このような動作が基本
的に繰り返されることになるが、中間層と出力層との間
にあるアナログバスB2にANP1の出力信号をいつ出力する
かということはマスタコントロールブロック181から出
されるCSO2の信号の立ち上がりで決まる。Also, in the timing chart, when DCLK is high immediately after DCS1 falls, the results of product-sum calculations on the three signals from analog 2 output ports 0 and 1 and the dummy node are held in the capacitors (C h in sample/hold unit 45 in Figure 7) of ANP1, 2, and 3. This type of operation is basically repeated, but the rising edge of the CSO2 signal output from master control block 181 determines when the output signal of ANP1 is output to analog bus B2, which is located between the hidden layer and the output layer.
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.
次に、第17図を使って中間層と出力層との間のタイミン
グを説明する。Next, the timing between the hidden layer and the output layer will be explained using FIG.
なお、同図において、中間層からのディジーチェーン制
御信号の出力,,,及び出力層からの出力,
に同期してアナログバス上にあらわれるアナログ信号
は上述した入力層からのディジーチェーン制御信号の出
力,,に同期してアナログバス上に入力されるア
ナログ信号に対して1処理サイクル前の結果が現れるこ
とになる。パイプライン処理の実行は後で説明するが、
タイミングチャートので示されるCSO2の立ち上がり時
において、ANP1の出力が出される。に示されるCSO2の
立ち上がり時にタイミングチャートSH2の信号を見ると
パルスが2つ出されている。SH2信号は第16図のブロッ
ク図において、出力層の第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から出力される固定電圧がA
NP4に入力され、これが内部のいままで蓄えられた積和
に加えられることになる。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 16. 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 that is the CSI of the dummy node, which is a signal output from DCS2, the master control block. Looking at the 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 ANP3, CSI to ANP3 goes high and a sum-of-products operation is performed in ANP4 as shown in . This sum-of-products operation is performed within ANP4, and at the point where the fixed voltage output from the matrix value node circuit 187 is A
This is input into NP4 and 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の
立ち上がりから、しばらくたった時間すなわちWCLKで16
サイクル後である。アナログ乗算の開始時間はCSO2が立
ち上がってから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 same operation is performed for the signals written below this on the timing chart, and these are signal pulses that define the operation of the output layer connected to the hidden layer and the cascade.
When CSO3 rises, the result of the sum-of-products operation calculated by ANP4 is output. In the output layer, two outputs, ANP4 and ANP5, are output. For example, when CSO2 rises,
This is the signal that goes into ANP1, and its rising edge is delayed from DCLK. This is because when performing a multiplication operation between the analog input signal and the digital weight data, the digital data is read in serially with WCLK, and this is converted internally into parallel data. Taking into account the time it takes to read the digital data and for the analog input signal to reach the D/A converter, i.e. the multiplication processing unit, the rising edge of CSO2 is delayed. In other words, the reason there is a delay at the beginning is that
This includes the time to read the data, that is, the time to read the serial data. The data is set after a while from the rising edge of DCLK, that is, 16 WCLK.
The analog multiplication starts 8 WCLK cycles after CSO2 rises.
第18図は、ディジタル重みデータの読み込みタイミング
を示すタイミングチャートである。同図において、マス
タクロック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 18 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 period between when the analog input voltage is input and when it reaches the D/A converter, so it is necessary to control this time and the time when the digital weight data is set internally, and input the analog voltage so that the arrival time of the weight data and the analog arrival time exactly match.
例えば、アナログ入力電圧の立ち上がりは、重みデータ
の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 multiplication with the analog value starts when all the weight data has been determined internally. The addition is then carried out 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.
第19A図はマスタコントロールブロック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を
参照できるようにしている。19A is a block diagram of the master control block 181. The master control block 181 is a part that controls all control signals. Its 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 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 is then input to the internal memory via the internal address bus and internal data bus.
The control pattern memory 201 can be referenced from the PU side using a specific address.
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 of the D-FFs 211 and 209 and the write timing of the microcode memory 203 and the control pattern memory 201 via the WR signal.
第17図のタイミングチャートに示されるようなニューロ
チップに与える複雑な制御信号の“1",“0"パターン
は、制御パターンメモリ201に1周期分格納され、その
1周期分のパターンをマイクロプログラムシーケンサ20
2の制御に従って制御パターンメモリ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 "1" and "0" patterns of the complex control signals given to the neurochip as shown in the timing chart of FIG. 17 are stored for one cycle in the control pattern memory 201, and the patterns for one cycle are input to the microprogram sequencer 20.
2. The control pattern is generated by reading out the reset signal Reset, the data clock DCLK, the weight clock WCLK, CSO1, CSO2, CSO3, and
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.
Control pattern memory to repeat bit patterns
By controlling the address of 201, the repetition of this pattern is read out from the control pattern memory 201. In other words, since the control signal patterns are very complicated, these patterns are stored 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.
第19B図は、マスタコントロールブロック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から読み出される。19B shows the relationship between the information stored 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 reaches the Jump instruction in the microcode memory, the second Jump in the microcode memory 203 jumps to 500H, and 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 in each address, one bit at a time in the direction in which the address increases, a count control signal to address counters 217 and 218 must be provided 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 memories, i.e., a mode in which the weight memories are disconnected from the MPU data bus and weight data is provided to the ANP, and a mode in which the weight memories are connected to the MPU data bus and the weight memories are referenced by the MPU.
モード信号は、MPUからのデータの下位ビットが、下位
アドレスの1ビットとタイミング回路214からの書込み
信号からWRをアンド回路223にて生じるアンド信号をト
リガとしてフリップフロップ224にリセットされること
により形成される。このモード信号が0のとき重みメモ
リは通常使用となる。The mode signal is generated by resetting the flip-flop 224 using the lower bits of the data from the MPU as a trigger, which is an AND signal generated by an AND circuit 223 from one bit of the lower address and the write signal from the timing circuit 214 to WR. When this mode signal is 0, the weight memory is in normal use.
書込み信号WTと内部アドレスバスの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 WT 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.
第20A図はこの重みデータメモリ230のデータ格納構成図
である。同図において列方向の8ビットは同じアドレス
に入った8ビットデータの情報であり、各ビットは下か
らANP1,ANP2・・・ANP8に与えられる。行方向はアドレ
スが異なり、図に示すように左に行くほどアドレスが増
加する方向となっている。重みデータはサインビットを
含めて16ビットであるからこれをアドレスの小さい方向
から大きい方に向かって格納する。MSBは、サインビッ
トで、それ以外の15ビットは数値ビットである。マイク
ロプログラムシーケンサ202からアドレスがWCLKに同期
してインクリメントされると、重みデータの1ワード
分、すなわち16ビットがMSBから順にLSBまで読み出され
ることになる。8個の複数のANPに同時にこれらの重み
データが渡される。このようにアドレスの増加する方向
にデータが格納される構造になっているため、この重み
データに対するアドレスのカウンタが必要となる。すな
わち、MSBからLSBの重みデータデータの1ワード分がカ
ウントされたら、1個分の重みデータになるようにカウ
ントされる制御が必要となる。この制御はやはりマイク
ロプログラムシーケンサ202で行っている。Figure 20A 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 from the MSB to the LSB is counted, it becomes one weight data. This control is also performed by the microprogram sequencer 202.
第20B図は重みメモリブロック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 20B 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. Meanwhile, since the output of the inverter circuit 231 is high, the tri-state bus transceiver 232 is disabled and the output of the weight memory 230 is not output 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 on the data line coming from the MPU via an AND gate 236.
Determined by Signal.
次に学習のアルゴリズムについて説明する。Next, the learning algorithm will be explained.
第20C図は本発明に利用されるバックプロパゲーション
という学習アルゴリズムのフローチャートである。学習
は次のように進められる。本発明のニューラルネットワ
ークすなわち、ANPの集合によって構成される階層型ネ
ットワークの入力に学習すべき完全情報がMPUから図示
しない入力制御回路を介して入力される。そして、その
入力信号は入力側回路、中間層及び出力層を介してネッ
トワーク出力にA/Dコンバータを介した後MPUに与えられ
る。MPU側の主記憶内に学習アルゴリズムが存在する。M
PU内は、教師信号を主記憶から取り入れ、ネットワーク
の出力と教師信号との誤差を調べる。もし、その誤差が
大きければ、MPUは、ネットワークが正しい出力を出す
方向に、ネットワークの接続の強さである重みデータを
変えることになる。この重みデータは重みメモリ230を
介して各層のANPに加えられる。Fig. 20C 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 and then to the MPU. The learning algorithm exists in the main memory of the MPU.
The PU takes in the teacher signal from the main memory and checks the error between the network output and the teacher signal. If the error is large, the MPU changes the weight data, which represents the strength of the network connections, so that the network will produce the correct output. This weight data is added to the ANP of each layer via the weight memory 230.
重みデータが学習アルゴリズムによて更新される場合、
第20C図のバックプロパゲーション学習アルゴリズムに
従うことになる。学習アルゴリズムがスタートすると、
MPUは出力層のL番目のニューロンANPLの現在の出力YL
と教師信号Lと、との誤差を求めてそれをZLに代入す
る。出力YLはニューロンANPLの出力であるから、例えば
シグモイド関数を非線形素子として使うならば、この非
線形関数の出力値として出されたものである。従って、
ニューロンANPLにおいて、誤差ZLを非線形関数の入力側
に誤差伝播する必要がある。誤差伝播を行う場合、エネ
ルギー関数、すなわち誤差信号の2乗に1/2を掛けたエ
ネルギー、すなわち
EL=1/2(L−YL)2
の非線形関数が入力XLに対する偏分、すなわち
は次のように変形できる。When the weight data is updated by the learning algorithm,
The backpropagation learning algorithm shown in Figure 20C is followed. When the learning algorithm starts,
The MPU is the current output Y L of the Lth neuron ANP L in the output layer.
The error between Y and the teacher signal L is found and substituted into Z L. The output Y L is the output of the neuron ANP L , so if a sigmoid function is used as the nonlinear element, for example, it is the output value of this nonlinear function. Therefore,
In the neuron ANP L , the error Z L must be propagated to the input side of the nonlinear function. When the error propagation is performed, the nonlinear function of the energy function, that is, the energy obtained by multiplying the square of the error signal by 1/2, that is, EL = 1/2( L - YL ) 2 , is used as the deviation with respect to the input XL , that is, can be transformed as follows:
となる。ここで、非線形関数f(XL)がシグモイド関数
であるとするならば、
で表される。 Here, if the nonlinear function f(X L ) is a sigmoid function, It is expressed as:
このシグモイド関数の微分f′(XL)を変形すると、
f′(XL)=YL(1−YL)
となる。これはフローチャートのS2に示されるVLであ
る。従って、δすなわちエネルギーの非線形関数入力XL
に対する偏分はVL×ZLとなり、すなわちS2に示されるUL
となる。このエネルギーの非線形関数入力に対する誤差
分δをさらに中間層へ逆伝播させる必要がある。Transforming the differential f'(X L ) of this sigmoid function gives f'(X L ) = Y L (1 - Y L ). This is V L shown in S2 of the flowchart. Therefore, δ, that is, the nonlinear function input of energy X L
The deviation with respect to is V L × Z L , that is, U L shown in S2
The error δ for this energy nonlinear function input must be further back-propagated to the intermediate layer.
中間層の第K番目のニューロンをAkとする。Akの出力は
Ykとする。出力層のニューロンANPLの非線形関数入力XL
はすべての中間層にあるニューロンの出力{Y1・・Y
kMAX}までのそれぞれに重みWLKを掛けた積和で表現さ
れる。従って、XLの重みWLKに対する偏分は
となる。一方、エネルギーELに対する重みWLKの変分は
次式で与えられる。The K-th neuron in the hidden layer is A k . The output of A k is
Let Y k be the nonlinear function input XL of the neuron ANP L in the output layer.
is the output of all hidden layer neurons {Y 1 ...Y
kMAX } is expressed as a sum of products multiplied by the weight W LK . Therefore, the deviation of X L with respect to the weight W LK is On the other hand, the variation of the weight W LK with respect to the energy E L is given by the following equation:
となる。すなわちS3のTLKは
を表現しているもので、エネルギーの重みに対する偏分
である。従って、このTLKを重みの変化分ΔWとすれば
よいが、収束を早めるためにS4に示される第1式の第2
項を加えて、次のような漸化式にして重みを修正する。 That is, the T LK of S3 is This represents the deviation of the energy weight. Therefore, this T LK can be used as the weight change ΔW, but in order to speed up the convergence, the second
Add a term to make the following recurrence formula and modify the weights:
ΔWLK=αTLK+β・ΔWLK
WLK=WLK+ΔWLK
ここで、n,αは定数である。今、出力層の特定なニュー
ロンANPLに注目しているが、このANPLは中間層のニュー
ロンにすべて接続されているものとするならば、各ANPL
に対してKを1からKmaxまで繰り返す必要がある。これ
がフローチャートのR1に示す繰り返しで、中間層のニュ
ーロン数Kmaxだけ繰り返すことになる。この繰り返しが
終わると出力層の特定なニューロンANPLに対する逆伝播
が終了することになる。従ってこれをすべての出力層の
ニューロン{ANP1,ANP2,・・・,ANPL max}に対して行
う必要があるため、フローチャートR2に示すように、L
を1からLmaxまで繰り返すことになる。すなわち、最終
出力層のニューロンの数Lmaxだけ繰り返すことになる。ΔW LK = αT LK + β ΔW LK W LK = W LK + ΔW LK Here, n and α are constants. Now, we are focusing on a specific neuron ANP L in the output layer, but if we assume that this ANP L is connected to all neurons in the hidden layer, then each ANP L
It is necessary to repeat K from 1 to K max for this. This is the repetition shown in R1 of the flowchart, and it is repeated the number of times equal to K max , the number of neurons in the hidden layer. When this repetition is completed, the backpropagation for a specific neuron ANP L in the output layer is completed. Therefore, this needs to be done for all neurons in the output layer {ANP 1 , ANP 2 , ..., ANP L max }, so as shown in flowchart R2, L
is repeated from 1 to L max . In other words, it is repeated as many times as the number of neurons in the final output layer, L max .
次に今度は中間層から入力層に向かって学習することに
なる。アルゴリズムはほぼ同様であるが、誤差信号は教
師信号と出力電圧との差で表現できず、S5の式になる。
すなわち、Zkが中間層のK番目のニューロン、Akの出力
誤差信号に対応する項となる。これは次式によって明ら
かである。Next, learning proceeds from the intermediate layer to the input layer. The algorithm is almost the same, but the error signal cannot be expressed as the difference between the teacher signal and the output voltage, resulting in equation S5.
That is, Z k is the term corresponding to the output error signal of A k , the Kth neuron in the hidden layer. This is clear from the following equation.
となる。従って、S5のZkのインデックスLに対して1か
らLmaxまで、すなわち出力の数だけ繰り返す(R3)こと
によって中間層の誤差信号分Zkが計算される。その後は
中間層と出力層との間のアルゴリズムと同じである。す
なわち、まず、シグモイド関数の微分値Vkを出し、それ
を用いてUk、すなわちエネルギーの非線形関数入力に対
する変化分をS6で求める。S7でそのUkを用いて入力層の
出力、Yjとの積Tkjを求める。これを重み変化分の主要
部として、S8に示すように収束を早めるための第2項を
加えて、ΔWkjを求め、前の値WkjにそのΔWkjを加えて
新たなWkjとする。これが重みの更新である。この重み
の更新を入力数Jmaxだけ繰り返す(R4)。すなわちJ=
1からjmaxまで繰り返すことによって入力層と中間層の
間の重みが更新されることになる。なお、S5のZkは中間
層の出力の誤差信号に対応するものであって、これは出
力層のエネルギーの関数入力値に対する変分ULを後ろ向
きに逆伝播した形で表現され、WLKは中間層と出力層と
の重みが定まって初めて定まるものである。すなわち重
みの更新に対する計算は出力層のニューロンANPLから始
めて中間層のニューロンANPKに移り、中間層のニューロ
ンANPKではその重み変化分ΔWはその前段のΔWが決ま
らないと計算できないものとなっている。従って最後の
入力層まで遡って始めて計算が可能となるところからこ
の学習はバックプロパゲーションと呼ばれている。 Therefore, the error signal Zk of the intermediate layer is calculated by repeating (R3) the index L of Zk in S5 from 1 to Lmax , that is, the number of outputs. After that, it is the same as the algorithm between the intermediate layer and the output layer. That is, first, the differential value Vk of the sigmoid function is calculated, and this is used to find Uk , that is, the change in energy relative to the nonlinear function input, in S6. In S7, this Uk is used to find the product Tkj with the output of the input layer, Yj . Using this as the main part of the weight change, a second term is added to speed up convergence as shown in S8 to find ΔWkj , and this ΔWkj is added to the previous value Wkj to get the new Wkj . This is the weight update. This weight update is repeated the number of inputs Jmax (R4). That is, J =
By repeating the process from 1 to j max , the weights between the input layer and the hidden layer are updated. Note that Z k in S5 corresponds to the error signal of the hidden layer output, and is expressed as the backward propagation of the variation UL with respect to the function input value of the output layer's energy, while W LK can only be determined once the weights between the hidden layer and the output layer have been determined. In other words, the calculation for updating the weights starts from neuron ANP L in the output layer and moves to neuron ANP K in the hidden layer, and the weight change ΔW in neuron ANP K in the hidden layer cannot be calculated until the ΔW in the previous step has been determined. Therefore, this learning process is called backpropagation because it is only possible to calculate it by going back to the final input layer.
バックプロパゲージョンによる学習は学習用のデータを
完全情報として入力し、結果を出力する前向き動作とそ
の結果のエラーを小さくするようにすべての結合の強さ
を後ろ向きに変えることになる。その為、この前向き動
作も必要となる。この前向き動作において本発明のアナ
ログニューラルネット部が有効に利用される。また、出
力値を逆伝播するアルゴリズムはMPUで実行される。な
お、シグモイド関数でない非線形である場合には、その
非線形の微分値が異なる。例えばtanh(x)であるなら
ば学習アルゴリズムは第20D図のように、非線形の微分
結果は、出力層ではVL=1−|YL|となり(S2′)、中間
層ではVk=1−|Yk|(S6′)となる。Backpropagation learning involves inputting the training data as complete information, performing a forward operation to output the results, and then changing the strengths of all connections backward to minimize the resulting error. Therefore, this forward operation is necessary. The analog neural network portion of the present invention is effectively utilized in this forward operation. The algorithm for backpropagating the output values is executed by the MPU. Note that if the nonlinearity is not a sigmoid function, the nonlinear differential value will be different. For example, if the learning algorithm is tanh(x), the nonlinear differential result will be VL = 1 - | YL | in the output layer (S2') and Vk = 1 - | Yk | in the hidden layer (S6'), as shown in Figure 20D.
その他は、第20C図と同じ参照符号をつけて説明を省略
する。Other components are given the same reference numerals as in FIG. 20C and will not be described further.
第21図は入力側のディジー回路173,174の構成図であ
る。図中240,241,242はDタイプのフリップフロップで
ある。DCLK信号の立ち上がりでD端子に入力されるデー
タをセットし、出力Qを1の状態にする。第1のフリッ
プフロップ240は、DCLKの立ち下がりで、CSI信号をセッ
トする。そして、次の立ち上がりで第2番目のフリップ
フロップ241にその出力信号をセットする。Figure 21 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.
第22図はダミーノードのニューロンを形成するマックス
バリューノード回路187の具体的回路図である。同図に
おいて抵抗250は、ツェナーダイオード251、252、抵抗2
53、電圧フォロア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でイネーブル状態が決められ
ている。22 is a specific circuit diagram of the max value node circuit 187 which forms the neuron of the dummy node. In the figure, the resistor 250 is connected to Zener diodes 251 and 252, resistor 2
53, voltage followers 254, 255 are circuits that form a constant voltage. When a current flows from +12 volts to -12 volts through resistors 250, 253 and Zener diodes 251, 252, the inputs of voltage followers 254, 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.
第23図は非線型関数発生回路であり、第24図、第25図、
第26図はANP内部のディジタルロジック側のハードウエ
アである。FIG. 23 shows a nonlinear function generator circuit, and FIGS. 24 and 25 show
Figure 26 shows the hardware of the digital logic inside the ANP.
第23図はシグモイド関数を実現するトランジスタ回路網
である。ここでいうシグモイド関数とは連続で単調非減
少な関数を指し、かつ線型関数を特に除外するものでは
ない。同図において343,356,378,390,298,314のトラン
ジスタとそれに対になったトランジスタで差動増幅器を
形成し、コレクタ側に接続されたトランジスタ群がそれ
ぞれカレントミラー回路である。差動ANPの左側のトラ
ンジスタのコレクタを流れるコレクタ電流が出力電流で
ある。カレントミラーで電流の方向を変えて出力してい
る。電流は出力V0に接続されている抵抗336にはいる。
抵抗336によって電圧が電流に変えられる。ドライブ能
力がないため、出力にはハイインピーダンスのオペアン
プバッファで受ける。トランジスタ337,339より入力側
の回路はバイアス回路である。シグモイド関数を実現す
るために区分線形法を使っている。シグモイド関数の各
区分の傾きはエミッタに接続されたエミッタ抵抗344と
出力抵抗336の比によって決められる。この時トランジ
スタ343等のエミッタ抵抗も含まれる。各差動ANPのゲイ
ンは異なる。各区分線形の移り変わりに対するブレイク
ポイントは飽和特性を利用している。その飽和特性はす
べて異なる。V0の出力点において、各オペアンプから出
力される電流の総和の値がシグモイド関数になるように
各ANPの飽和特性を変えている。トランジスタ345と抵抗
R1は電流源である。トランジスタ346と抵抗R2、トラン
ジスタ353と抵抗R3等はすべて同じ電流を供給する電流
源である。すなわち、電流値は同じになるように抵抗が
決められている。すべて同一電流源である。トランジス
タ345,346のコレクタは接続されているので、和の電流
が抵抗344、347の交点に流れる。トランジスタ343,348
のコレクタ電流は、バランスした時点では同じになる。
トランジスタ351はカレントミラーの特性をよくするた
めのものである。トランジスタ350はダイオード接続で
ある。電流の向きを変えるということは出力に対して、
電流を引っ張り込む場合と電流を外に出す場合がある。
同図に示すように、カレントミラーのトランジスタ351
のコレクタからは出力に向かって電流が流れる。下側の
トランジスタ配列は沢山あるが、エミッタとコレクタが
同じ点に接続されているトランジスタは同じトランジス
タである。例えばトランジスタ358と360は同じトランジ
スタでこれはトランジスタ345と同じものである。また3
59と361も同じトランジスタでこれは346に対応する。36
8,369のトランジスタは同じであり、これは353に対応す
る。以下、同様である。したがって、同じ電流で駆動さ
れる定電流電源を有するオペアンプが出力電圧の正負に
従って電流の向きが異なるような動作を行うものが全部
で6個ある回路である。また、トランジスタ337,338は
レベルシフトであり、330と327もレベルシフトである。
レベルシフト回路はシグモイド関数の正と負で動作範囲
がほぼ同じになるようにするためのものである。トラン
ジスタ352はトランジスタ351のコレクタ電流とトランジ
スタ353のコレクタ電流が等しくなるための補正用のも
のである。トランジスタ367,385,287,307も同様であ
る。Figure 23 shows a transistor circuit network that realizes a sigmoid function. The term "sigmoid function" used here refers to a continuous, monotonically non-decreasing function, and does not specifically exclude linear functions. In the figure, transistors 343, 356, 378, 390, 298, and 314 and their paired transistors form a differential amplifier, and the transistors connected to the collector side form current mirror circuits. The collector current flowing through the collector of the transistor on the left side of the differential ANP is the output current. The current direction is changed by the current mirror and output. The current enters resistor 336, which is connected to output V0.
Resistor 336 converts the voltage into a current. Because it has no drive capacity, the output is received by a high-impedance operational amplifier buffer. The circuit on the input side of transistors 337 and 339 is a bias circuit. The piecewise linear method is used to realize a sigmoid function. The slope of each section of the sigmoid function is determined by the ratio of emitter resistor 344 connected to the emitter and output resistor 336. The emitter resistors of transistors 343 and others are also included at this time. The gain of each differential ANP is different. The breakpoint for each piecewise linear transition utilizes the saturation characteristics. The saturation characteristics are all different. The saturation characteristics of each ANP are changed so that the total value of the current output from each operational amplifier at the output point V0 becomes a sigmoid function. Transistor 345 and resistor
R1 is a current source. Transistor 346 and resistor R2, transistor 353 and resistor R3, etc. are all current sources that supply the same current. In other words, the resistors are determined so that the current values are the same. They are all the same current source. The collectors of transistors 345 and 346 are connected, so the sum of the currents flows to the intersection of resistors 344 and 347. Transistors 343 and 348
The collector currents of the two transistors will be the same when they are balanced.
The transistor 351 is used to improve the characteristics of the current mirror. The transistor 350 is diode-connected. Changing the direction of the current means that the output
It can either draw in current or expel current.
As shown in the figure, transistor 351 of the current mirror
Current flows from the collector of the transistor to the output. There are many transistor arrangements below, but the transistors whose emitters and collectors are connected to the same point are the same transistor. For example, transistors 358 and 360 are the same transistor, which is the same as transistor 345.
59 and 361 are also the same transistor, which corresponds to 346.
The transistors 8 and 369 are the same, and correspond to 353. The same applies below. Therefore, this is a circuit with a total of six operational amplifiers with constant current power supplies driven by the same current, which operate in different current directions depending on whether the output voltage is positive or negative. Transistors 337 and 338 are level shifters, and 330 and 327 are also level shifters.
The level shift circuit is used to make the operating range of the sigmoid function approximately the same for both positive and negative sides. Transistor 352 is used to correct the collector current of transistor 351 so that it is equal to the collector current of transistor 353. The same applies to transistors 367, 385, 287, and 307.
第24図は、ニューロチップ内に供給するパルス信号の形
成するためのシーケンスジェネレータ28(第5図)の具
体回路である。401と402及び404と405はインバータで、
各インバータはクロック用のインバータである。フリッ
プフロップF.Fのラッチ信号の立ち上がり用と立ち下が
り用とに分けてクロックを作っている。同図のフリップ
フロップは立ち上がりクロックでラッチするもので、イ
ンバータをF.Fで立ち上がりラッチのF.Fを形成する。例
えばDCLKでは、インバータ401を1個通ったものが立ち
上がりラッチ用のクロック信号となる。そしてインバー
タ402を通ったものが立ち上がりラッチ用のクロックDCL
Kとなる。同様にインバータ404の出力が立ち下がり用の
WCLKでインバータ405の出力が立ち上がり用クロックWCL
Kである。F.F410において、SYNC信号をDCLKの立ち下が
りがラッチしている。F.F410と415でSYNC信号をDCLKの
1サイクル分遅らせ、SNC2信号を作って、SYNCとその1
クロック遅れた信号とで1τのパルスを作っている。SY
NCが立ち上がった後の1τ(DCLKの1周期)のパルスで
ANP内の積分用コンデンサの放電を行う。すなわちCRST
という信号がそのコンデンサのリセット信号である。も
う1つのDSH2はSYNCの立ち下がりからDCLKの1τ分の長
さをたっとパルスであって、これがANP内のサンプル/
ホールドのコンデンサに対するサンプル/ホールド信号
となる。411のF.FではクロックがWCLKで、データがDCLK
であるから、WCLKでDCLK信号をラッチしている。その後
ナンドゲート414でSYNC信号がハイになっていて、かつD
CLKがハイという状態で最初にきたWCLKをトリガしてF.F
443のクロックにしている。ナンドゲート414とインバー
タ440でアンドとなる。F.F443において、SYNC信号がハ
イになっている状態で最初にきたWCLKという信号がディ
ジタル重みデータすなわちWDの符号ビットを取り込むで
いる。この信号はシリアルに入ってくる重みディジタル
データのMSB、すなわち符号ビットである。すなわちF.F
411とアンドゲート(414,440)のタイミングで符号ビッ
トをF.F443がラッチする。4ビットの2進カウンタ416
はWCLKのパルス数をかぞえる。16ビットのディジタル重
みデータが入ってくるので16回数える。数え終わったと
ころで、出力がハイとなり、インバータ423に入る。こ
の信号は16個カウントし終わったことを指示する信号で
ある。この信号はシリアルにANPに入ってきた重みデー
タをシフトレジスタ27(第5図)に入れる制御等に使わ
れる。またカウンタ416の最下位ビットはインバータ422
に入力される。このインバータ422の出力はCSO信号を生
成する。CSOはディジーチェーンの制御信号であって、
アナログバスB1において、前段の2つのANPから出され
る信号の競合を防ぐため、前の時刻のCSが落ちた後、次
のCSを出すようにディジー動作を実行するためのディレ
イ回路を形成する必要がある。このディレイの遅延時間
はWCLKをカウントし、そのカウンタ値で形成している。
カウンタ416のカウントが終わり、フリップフロップ433
にその終わったという指示の信号がインバータ423を介
してラッチされるが、これはWCLKでたたいている。すな
わち17個目のWCLKでたたいている。インバータ437と438
を通して、ラッチされた信号がカウンタ416に戻り、カ
ウンタ416のインクリメント動作をこれ以上させないよ
うにディスイネーブルの制御を行っている。インバータ
438の出力がロウになると、カウンタ416はカウントが停
止する。F.F433のの出力はフリップフロップ442に入
っている。これがシフトレジスタ408の出力のゲート信
号になる。すなわち、16個のディジタル重みデータが入
ってくるのをシフトレジスタ408で順々にシフトし、符
号ビットを除いた数値ビットの15ビットのデータをパラ
レルに並べたところでこれらを出力する。シフトしてい
る間は出力は出ないようにし、全部入ったところで出力
するためのゲート信号がWRである。シフトレジスタ408
の内容はANPの掛算器に与えられる。F.F433から出力さ
れる信号は、分岐されてシフトレジスタのイネーブル信
号に使われる。F.F442はF.F433の出力の立ち上がりでラ
ッチするものである。WCLKの16個の立ち下がりラッチで
シフトが完了し、その後ゲートを開くのに立ち上がりラ
ッチでもよいが、立ち下がりで行っている。F.F412はシ
グモイド関数の選択用のパルス信号を作るものである。
F.F412を使ってリセット信号がはいった時点で、WD、す
なわち重みディジタル入力信号が0か1によってシグモ
イドを使うか使わないかを選択する。この方法は本シス
テムで使用されない場合もある。実際はシグモイド選択
信号は、外部から直接形成する。下の回路はディジーチ
ェーン回路である。カウンタ416の出力をF.F434でディ
レイを作り、そのディレイで最後のF.F445をトリガを掛
けている。このことにより、DCLKの1τ分ズラした上
に、そのままズラすのではなく、頭をおとすようにして
いる。すなわちCSI信号それ自身はDCLKの1周期分はな
いこともあり、そのCSIをCSOにするためにはCSIに対し
て、最初の、例えば、2マイクロ分を削って波形の前を
遅らせ、後ろはそのまま信号を作っている。ゲート425
と427はCSIのバッファゲートである。正のバッファとイ
ンバータバッファである。Figure 24 shows a specific circuit of the sequence generator 28 (Figure 5) for generating pulse signals to be supplied to the neurochip. 401 and 402, and 404 and 405 are inverters.
Each inverter is a clock inverter. Clocks are created separately for the rising and falling edges of the latch signal of the flip-flop FF. The flip-flop in the figure latches with a rising clock, and the inverters are used as FFs to form the rising latch FF. For example, in the case of DCLK, the signal that passes through one inverter 401 becomes the clock signal for the rising latch. Then, the signal that passes through inverter 402 becomes the clock signal for the rising latch DCL
Similarly, the output of inverter 404 is
The output of inverter 405 is the rising clock WCL
At F.F410, the falling edge of DCLK latches the SYNC signal. F.F410 and 415 delay the SYNC signal by one cycle of DCLK to create the SNC2 signal, and synchronize the SYNC and its 1 cycle.
A 1τ pulse is created with the clock delayed signal.
At the 1τ (1 cycle of DCLK) pulse after NC rises
Discharges the integrating capacitor in the ANP, i.e. CRST
The signal DSH2 is the reset signal for the capacitor. The other signal DSH2 is a pulse that lasts for 1τ of DCLK from the falling edge of SYNC. This is the sample/
This is the sample/hold signal for the hold capacitor. In 411 FF, the clock is WCLK and the data is DCLK.
Therefore, the DCLK signal is latched by WCLK. After that, the SYNC signal is high at the NAND gate 414, and the D
When CLK is high, the first WCLK is triggered and FF is generated.
The clock is 443. The NAND gate 414 and inverter 440 make an AND. In the F.F. 443, when the SYNC signal is high, the first signal WCLK that arrives captures the digital weight data, i.e., the sign bit of WD. This signal is the MSB, i.e., the sign bit, of the weight digital data that comes in serially. In other words, FF
The sign bit is latched by the F.F. 443 at the timing of 411 and the AND gate (414, 440). 4-bit binary counter 416
counts the number of WCLK pulses. Since 16-bit digital weight data is input, it counts 16. When the count is complete, the output goes high and is input to inverter 423. This signal indicates that 16 counts have been completed. This signal is used to control the input of weight data that is input serially to ANP into shift register 27 (Fig. 5). The least significant bit of counter 416 is also input to inverter 422.
The output of this inverter 422 generates the CSO signal, which is the control signal for the daisy chain.
In order to prevent conflict between the signals sent from the two ANPs in the previous stage on the analog bus B1, it is necessary to form a delay circuit to execute a daisy-chain operation so that the next CS is sent after the previous CS has dropped. The delay time of this delay is determined by counting WCLK and using the counter value.
Counter 416 finishes counting, and flip-flop 433
The signal indicating that the operation is finished is latched via inverter 423, which is clocked by WCLK, i.e., the 17th WCLK. Inverters 437 and 438
The latched signal is returned to the counter 416 through the inverter 416, and the counter 416 is disabled to prevent further incrementing.
When the output of 438 goes low, the counter 416 stops counting. The output of F.F.433 is input to the flip-flop 442. This becomes the gate signal for the output of the shift register 408. In other words, the 16 digital weight data coming in are shifted in order by the shift register 408, and when the 15 bits of data (numerical bits excluding the sign bit) are arranged in parallel, they are output. The gate signal WR prevents output while the data is being shifted, and outputs the data when all the data has been input. The shift register 408
The contents of are given to the ANP multiplier. The signal output from F.F433 is branched and used as the enable signal for the shift register. F.F442 latches on the rising edge of the output of F.F433. The shift is completed by 16 falling edge latches of WCLK, and then the gate is opened on the falling edge, although a rising edge latch could also be used. F.F412 creates a pulse signal for selecting the sigmoid function.
When a reset signal is received using F.F412, the WD, or weighted digital input signal, is set to 0 or 1 to select whether or not to use the sigmoid. This method may not be used in this system. In reality, the sigmoid selection signal is generated directly from outside. The circuit below is a daisy chain circuit. The output of counter 416 is delayed by F.F434, and this delay triggers the last F.F445. This shifts the DCLK by 1τ, but rather than simply shifting it, the beginning is dropped. In other words, the CSI signal itself may not be one DCLK cycle long, so to make the CSI into a CSO, the beginning of the waveform is delayed by, for example, 2 microseconds, and the rest of the signal is generated as is. Gate 425
and 427 are CSI buffer gates, a positive buffer and an inverter buffer.
第25図はサンプル/ホールドS/H信号と、OC信号を形成
する位相制御回路29(第5図)である。S/H信号はイン
バータ515に入るものと、ゲート524に入るものと別れて
いる。OC信号も同様である。S/H信号がゲート524とイン
バータ515に別れ、インバータ515経由でゲート525に入
るとその後はインバータが8段ある。S/H信号に対して
そのまま位相と逆位相の2通りの信号を作っている。こ
れはインバータを数段分カスケードに結合し、たすきか
げすることにより2つの出力が同時に1になることを避
けている。すなわち、サンプル/ホールドS/H信号の2
つ、S/H0とS/H1を形成し、それが両方とも1にならない
ようにするようにしている。すなわち、インバータチェ
ーンはS/H信号の両方が同時オンを避けるためのディレ
イ回路である。ディレイの遅延時間はインバータチェー
ンの長さによって決まり、片方がオンになってから数段
分遅らせ、もう片方をオンにしている。S/HD0とS/HD1に
関しても同様である。OC信号に関する回路も基本的には
同じであるが、それはCRST信号がゲート528と529に入っ
ているので、CRSTが1の場合には強制的に両方出力を1
にする。OC0とOC1の両方共、同時に1になることを避け
ているが、OCの場合はCRSTが1の場合だけ同時に1にな
るようにしている。このことにより、アナログスイッチ
の制御を介して積分器のコンデンサの電荷を放電すると
いうリセット機能を実現している。Fig. 25 shows the phase control circuit 29 (Fig. 5) which generates the sample/hold S/H signal and the OC signal. The S/H signal is divided into two parts, one that goes to inverter 515 and one that goes to gate 524. The same is true for the OC signal. The S/H signal is divided into gate 524 and inverter 515, and after entering gate 525 via inverter 515 there are eight inverters. Two signals are generated for the S/H signal: one that is in phase with the signal and one that is in opposite phase. This is done by cascading several inverters and cross-linking them to prevent the two outputs from becoming 1 at the same time. In other words, the two outputs of the sample/hold S/H signal are
The inverter chain is a delay circuit that prevents both S/H signals from turning on at the same time. The delay time is determined by the length of the inverter chain, and one is delayed by several stages after it turns on, before the other turns on. The same is true for S/HD0 and S/HD1. The circuit for the OC signal is basically the same, but because the CRST signal is input to gates 528 and 529, when CRST is 1, both outputs are forcibly set to 1.
Both OC0 and OC1 are prevented from becoming 1 at the same time, but in the case of OC, they are set to become 1 only when CRST is 1. This realizes the reset function of discharging the charge of the integrator capacitor through the control of the analog switch.
第26図は15ビットのシフトレジスタ27(第5図)であ
る。ゲート602と603及び6014、そしてF.F627で1ビット
に相当し、これを使って説明する。ゲート603には、前
の時刻の出力が入力されているもので、これはF.F628の
出力である。前のビットからの入力ということで、シフ
ト用のデータ信号となる。ゲート603に入っている他の
信号はSHFT、すなわちシフト信号のインバータである。
これはシフト制御信号で、これが有効のとき,シフトの
指示を行うことになる。またゲート602にはF.F627のそ
のものの出力が入っている。これは自分自身の出力をフ
ィードバックしていることになる。ゲート602の他の入
力にはSHFT信号のインバートが同じように入っている
が、この位相はゲート603に入っているものと異なる。
これによりシフトが無効の時に、今の出力をそのまま保
持することになる。クロック信号はシフトと無関係に常
時入ってくるので、クロックが入ってもシフトが有効で
なければシフトは行わない。シフト信号SHFTが有効の時
だけ前のビットをシフトし、ゲート603を通って入力す
ることでシフト動作となる。WR信号はゲート632、633等
のアンドに入っている。これは各ビットの出力を出すか
出さないかの選択信号となり、乗算器の方にシフトレジ
スタに格納されたデータをわたすかどうかの制御信号と
なる。また、ファンアウトをとるために、例えばインバ
ータ620によって15個のうち5個のF.Fのリセット信号そ
して、ゲート626で10個のF.Fのリセット信号を受け持つ
ようにしている。ファンアウトのシフトレジスタ608は
シフトイネーブルSHFTと出力のイネーブルWRの機能がつ
いている。Figure 26 shows the 15-bit shift register 27 (Figure 5). Gates 602, 603, 6014, and F.F. 627 correspond to one bit, and we will use this to explain. The output from the previous time is input to gate 603, which is the output of F.F. 628. Since it is input from the previous bit, it becomes the data signal for shifting. The other signal input to gate 603 is SHFT, which is an inverter of the shift signal.
This is a shift control signal, and when it is valid, it commands a shift. Gate 602 also receives the output of F.F. 627 itself. This means that it is feeding back its own output. The other input of gate 602 also receives an inverted SHFT signal, but its phase is different from that of gate 603.
This means that when shifting is disabled, the current output is maintained as is. Since the clock signal is always input regardless of shifting, no shifting occurs unless the clock is input and shifting is enabled. The previous bit is shifted only when the shift signal SHFT is enabled, and the shift operation is achieved by inputting it through gate 603. The WR signal is input into the AND of gates 632, 633, etc. This is a selection signal that determines whether or not to output each bit, and also serves as a control signal that determines whether or not to pass the data stored in the shift register to the multiplier. In addition, to achieve fanout, for example, inverter 620 is responsible for the reset signals of five of the 15 FFs, and gate 626 is responsible for the reset signals of 10 FFs. The fanout shift register 608 has the functions of shift enable SHFT and output enable WR.
次に、本発明に係るニューロコンピュータを帰還型ネッ
トワークで構成した場合について説明する。Next, a case where the neurocomputer according to the present invention is configured as a feedback network will be described.
第27A図は帰還型ネットワークの概念図である。FIG. 27A 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 sometimes used as a type that uses one layer of a hierarchical neural network in time division multiplexing, and sometimes as a so-called Hopfield type neural network.
前者の場合、ANPの入出力信号は、時分割であるので、
各ANPの出力点ではある一定のシーケンスサイクル毎に
その同じANPの出力データが逐次に出力されて、1つシ
ーケンスサイクルごとに階層型ニューラルネットワーク
の入力層、中間層、出力層として順次動作する。後者の
場合、ANPの出力が特定の値になるまで、つまり安定す
るまで、出力電圧が帰還される。帰還している結果を出
した時に、その結果が前のデータ、つまり自分が前に出
したデータと一致するまで、状態が切り帰され、安定解
に達すれば収束となる。In the former case, the input and output signals of the ANP are time-division, so
At the output point of each ANP, the output data of the same ANP is output sequentially for each fixed sequence cycle, and each sequence cycle functions as the input layer, hidden layer, and output layer of the hierarchical neural network. In the latter case, the output voltage is fed back until the ANP's output reaches a specific value, that is, until it stabilizes. When the fed-back result is output, the state is switched back and forth until the result matches the previous data, that is, the data it output before, and convergence is achieved when a stable solution is reached.
本発明の実施例によれば、第27B図に示されるように、
帰還路を共通アナログバスCBで実現することになりコの
字型の帰還部が存在する。そして1個自分が計算して出
したものが出力され帰還路を通じて各ANPからの出力が
フィードバックされることになる。この帰還路動作を繰
り返していく。According to an embodiment of the present invention, as shown in FIG. 27B:
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 path operation is repeated.
第28図においては帰還型ネットワークの第1の実施例構
成図である。同図において、121は処理層を構成する複
数個の基本ユニット1である。これらの基本ユニット12
1は、同様に、乗算部122、累算部123、閾値部124を有
し、場合によって出力保持部125に備える。そして、同
様に、この基本ユニット121の入出力もアナログ信号を
もって実現されるよう構成される。各基本ユニット121
の出力部とすべての基本ユニット121の入力部との間で
アナログバス141,142,143を介して電気的な接続がなさ
れ、且つこの各接続に対応して設定されることになる重
みにより、等価的に階層ネットワークが構成され、ある
いはホップフィールド型ネットワークが構成される。Fig. 28 shows the configuration of a first embodiment of a feedback network. In the figure, 121 denotes a plurality of basic units 1 constituting a 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 configured to be realized by analog signals.
Electrical connections are made between the output section of the basic unit 121 and the input section of all basic units 121 via analog buses 141, 142, and 143, and a hierarchical network or a Hopfield network is equivalently constructed by weights set corresponding to each of these connections.
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 sequentially select the basic units 121 in time series. 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. By 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 structure, a common line analog bus 142 is provided, and this analog bus 142 is configured as follows:
The output of each basic unit 121 in a single layer is fed back to the input, so that the output of each basic unit 121 is connected to the input of all the basic units 121 .
次に、第29A図に示すタイミングチャートに従って、こ
のように構成される第28図の実施例の動作処理について
説明する。Next, the operation process of the embodiment of FIG. 28 configured as above will be described with reference to the timing chart shown in FIG. 29A.
出力パターンへの変換要求があると、主制御回路150
は、入力側回路120に対してCSIの制御信号を時系列的に
送出することで、複数の入力側回路120を順次、時系列
的に選択していくよう処理する。第29A図に、この選択
処理を図示する。このようにして選択される入力側回路
120は、アナログバス143上に、入力パターンとして与え
られたアナログ信号Yiを時系列的に送出するよう処理す
る。従って、第29A図に示すように、アナログバス143上
に、アナログ信号Yiが、入力側回路120の個数分順序よ
く送出されることになる。When a request for conversion to an output pattern is received, the main control circuit 150
The input side circuit 120 is selected in order in time series by sending CSI control signals to the input side circuit 120. This selection process is illustrated in FIG. 29A.
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. 29A, 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.
第29B図のタイミングチャートに示すように、各基本ユ
ニット121の乗算部122は、この送出されてくるアナログ
信号Yiを受け取ると、主制御回路150からセットされる
ことになる重み保持部8の重みWiを使って乗算橇を実行
することになる。続いて、各基本ユニット121の累算部1
23は、入力側回路120の選択毎に求められていくことに
なる乗算結果を順序累算し、すべての入力側回路120の
選択が終了することですべての累算処理を終了すると、
各基本ユニット121の閾値部124が基本ユニット121の最
終的な演算出力である最終出力値Yを求める処理を行う
ことになる。As shown in the timing chart of Fig. 29B, when the multiplier 122 of each basic unit 121 receives the analog signal Yi , it executes multiplication 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の出力ス
イッチ部36が重制御回路150よりCSIとしての出力制御信
号を受けると順序、時系列的にONしていくことで、アナ
ログバス142を介して、この保持されている最終出力値
のアナログ信号が、基本ユニット121の乗算部122に帰還
されることになる。この処理により、等価的に、入力層
の基本ユニット121の最終出力値が、中間層の基本ユニ
ット121に対して時分割の送信形式に従って送信される
ことになる。以下、同様の処理を基本ユニット121に繰
り返していくことで、出力層に相当する最終出力値Yが
求められることになる。第29A図に、入力側回路120への
Yi出力制御信号と対応させて、基本ユニット121への出
力制御信号のタイミングチャートを示すとともに、アナ
ログバス142上の最終出力値Yのアナログ信号のタイミ
ングチャートを示すことにする。The final output value Y thus obtained is held internally. Subsequently, when the output switch section 36 of each basic unit 121 receives an output control signal as CSI from the multiplexing control circuit 150, it is turned on in order and time series, and the analog signal of this held final output value is fed back to the multiplier 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. Thereafter, by repeating the same process for the basic unit 121, the final output value Y corresponding to the output layer is obtained. Figure 29A shows the signal to the input side circuit 120.
Corresponding to the Yi output control signal, a timing diagram of the output control signal to the basic unit 121 is shown, as well as a timing diagram of the analog signal of the final output value Y on the analog bus 142.
この第28図の実施例は、階層ネットワークに対して連続
的に入力パターンを入力できないという欠点はあるもの
の、階層ネットワークが単純にできるので、チップ化す
る際に極めて微小にできるという長所がでてくることに
なる。Although the embodiment of FIG. 28 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.
第30図は本発明のニューロコンピュータを階層型ネット
ワークとして動作する帰還型ネットワークによって実現
した実施例である。アナログ入力ポート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 30 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.
第31A図は第30図に示した帰還型階層ネットワークのタ
イミングチャートである。FIG. 31A is a timing chart of the feedback hierarchical network shown in FIG.
DCLKが立ち上がっている間だけ、WCLKは発生し、DCLKが
立ち上がってからアナログ信号が定常化し、かつ重みデ
ータがシリアルに入ってきた後で、パラレルに揃う前の
タイミングでマスタコントロールブロック181からのCSO
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を介して再びANP
1,2,3に帰還されてここで積和演算が行われる。同様に
に示すようにダミーノードからの信号DCSの立ち上が
りの際に再び、固定電圧に対してANP1,2,3により和の演
算が行われる。そして、次のCSO2の信号の立上りでANP
1,2からS/Nを介して出力が,に示すように、なお、
アナログ入力ポート2からは出力されない。WCLK is generated only while DCLK is rising, and after DCLK rises, the analog signal becomes stable, and the weight data is input serially, but before it is aligned in parallel, the CSO from the master control block 181 is generated.
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 the previous calculation is executed. While the next SYNC signal is rising, the sum of products calculations of the output layers of ANP1, 2, and 3 are performed. Only while the address count inhibit signal of the weight memory address 1 signal is rising, WCLK that counts the address counter is enabled, and at other times 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 the analog common bus
The signal is fed back to analog bus B1 through CB, and as shown, multiply-and-accumulate is performed again in ANP1, 2, and 3. 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 again added to analog bus B2 via common bus CB and analog buses A1 and B1 to ANP1, where the multiply-and-accumulate is performed. Similarly, CSO from ANP2 becomes the CSI signal of ANP3 after a predetermined delay, and when this CSI signal rises as shown, the output signal of ANP3 is again sent to ANP via analog bus B2, common bus CB, and analog bus B1.
Similarly, when the signal DCS from the dummy node rises, ANP1, 2, and 3 perform summation on the fixed voltage. Then, when the signal CSO2 rises again, ANP
The output from 1, 2 through S/N is as shown in
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.
第32図は本発明にかかるアナログニューロコンピュータ
をホップフィールド型の帰還型ネットワークで構成した
実施例であり、第33図はそのタイミングチャートであ
る。マスタコントロールブロック181の、メモリ・アド
レス端子及びモード端子の出力が重みメモリブロック18
5に加えられ、この重みメモリブロック185のデータ出力
であるB10はANP1、B11はANP2、B12はANP3に接続され
る。マスタコントロールブロック181のCSO1の端子から
の出力信号は、ディジー回路171、スイッチ175に加えら
れ、この信号の立ち上がりで、アナログ入力ポート1か
らのサンプル/ホールド回路173の出力をアナログバスB
1に乗せる。そしてディジー回路171で所定時間遅延され
た後、CSOの出力が生じ、これがディジー回路172にCSI
として加えられてアナログ入力ポート2に接続されたサ
ンプル/ホールド回路174の信号をスイッチ176を介して
アナログバスB1に乗せる。同様にディジー回路172′の
出力信号CSOがアナログ入力ポート3に接続されたサン
プル/ホールド回路174′の出力スイッチ176′を開いて
その信号をアナログバスB1に乗せる。ANP1では第33図に
示すように、DCLK信号の1周期で1つの積和の演算を行
い、DCLK信号がハイの時に重みクロックを駆動し、その
重みクロックに同期して入るディジタル重みデータと、
アナログ入力信号との掛け算を行い、DCLKの後半のロウ
信号の時に、サンプル/ホールド信号SHがハイとなり、
積分器のキャパシタにおいて、和の動作を行う。すなわ
ちCSO1すなわちディジー回路1のCSIがハイになってい
る期間で、バスB1上のアナログ号に対してANP1,2,3は
積和演算を行う。また、マスタコントロールブロック18
1からのOC信号がハイとなると、ANP1,2,3はオフセット
キャンセルを行い、サンプル/ホールドして1つの積和
演算周期を終える。次に第2のディジー回路172の入力
信号CSIがハイになるので、次のアナログ入力ポート
からの入力信号に対しANP1,2,3は積和演算を行う。そし
て、その積和演算周期が終了した後に、ディジー回路17
2′にCSI信号が入り、サンプル/ホールド回路174′か
ら出力信号が生じて、で示すように第3番目の積和演
算サイクルに入る。Fig. 32 shows an embodiment of an analog neurocomputer according to the present invention, which is configured with a Hopfield type feedback network, and Fig. 33 shows its timing chart. The outputs of the memory address terminal and mode terminal of the master control block 181 are input to the weight memory block 18.
The data output B10 of this weight memory block 185 is connected to ANP1, B11 to ANP2, and B12 to ANP3. The output signal from the CSO1 terminal of the master control block 181 is applied to the daisy chain circuit 171 and the switch 175, and at the rising edge of this signal, the output of the sample/hold circuit 173 from the analog input port 1 is connected to the analog bus B
After being delayed for a predetermined time by the daisy-chain circuit 171, the output of CSO is generated, which is then sent to the daisy-chain circuit 172.
and the signal of the sample/hold circuit 174 connected to the analog input port 2 is placed on the analog bus B1 via the switch 176. Similarly, the output signal CSO of the daisy chain circuit 172' opens the output switch 176' of the sample/hold circuit 174' connected to the analog input port 3, and the signal is placed on the analog bus B1. In ANP1, as shown in Figure 33, one product-sum operation is performed in one period of the DCLK signal, and when the DCLK signal is high, the weight clock is driven and the digital weight data input in synchronization with the weight clock and
It is multiplied by the analog input signal, and when the latter half of DCLK is low, the sample/hold signal SH goes high.
The sum operation is performed on the capacitor of the integrator. That is, while CSO1, i.e., CSI of daisy chain circuit 1, is high, ANP1, 2, and 3 perform a multiply-and-accumulate operation on the analog signal on bus B1. Also, master control block 18
When the OC signal from the analog input port 1 goes high, ANP1, 2, and 3 perform offset cancellation and sample/hold to complete one product-sum operation cycle. Next, the input signal CSI to the second daisy-chain circuit 172 goes high, so ANP1, 2, and 3 perform product-sum operation on the input signal from the next analog input port. After the product-sum operation cycle is completed, the daisy-chain circuit 17
The CSI signal is input at 2', an output signal is generated from the sample/hold circuit 174', and the third multiply-accumulate operation cycle begins as shown by .
次にマスタコントロールブロック181からCSO2信号が
生じて、ANP1から前回の積和サイクルの時に形成されて
いた信号がアナログバスCBを介して帰還され、その帰還
された信号に対して、ANP1,ANP2,ANP3で積和演算を同時
に行う。次に所定時間遅延した後、ANP1のCSO出力信号
がでANP2に加えられ、ここでディジーチェーン的に前
回の積和サイクルの時に蓄えられた信号をANP2が出力す
る。この信号はアナログバスCBを介して帰還されてANP
1,ANP2,ANP3で積和演算をで駆動する。そして同様に
所定時間遅延した後、ANP2のCSOがでANP3に加えら
れ、ここでANP3からの出力をアナログバスCBを介して帰
還して、ANP1,ANP2,APN3においてで積和演算を行う。
帰還型ネットワークにおいては、第33A図及び第33B図に
示すように、3つのANPにおいて、6つの積和演算サイ
クルを経て出力が、それぞれサンプル/ホールド回路17
7、178、178′を介してアナログ出力ポート0、1、2
へと出力される。また、サンプル/ホールド回路177,17
8、178′の出力信号がアナログマルチプレクサ179で選
択出力されたものをA/Dコンバータ180を介してMPU182、
メモリ182、通信インターフェイス184を含むデジィタル
制御回路に与えられる。MPU182で現時刻のニューロン出
力状態と前時刻のニューロン出力状態が同じになったか
どうかをチェックする。同じになれば収束したものと判
定する。このように、1本の共通アナログバスCBを介し
て実行される。帰還動作を繰り返していくことによって
安定解に到達すればこれを最終的な出力とする。Next, the master control block 181 generates a CSO2 signal, and the signal generated during the previous multiplication and accumulation cycle is fed back from ANP1 via the analog bus CB, and ANP1, ANP2, and ANP3 simultaneously perform multiplication and accumulation operations on the fed-back signal. Next, after a predetermined time delay, the CSO output signal from ANP1 is applied to ANP2, and ANP2 then outputs the signal stored during the previous multiplication and accumulation cycle in a daisy chain fashion. This signal is fed back via the analog bus CB and ANP
ANP1, ANP2, and ANP3 drive the product-sum operation. After a similar delay of a predetermined time, the CSO of ANP2 is added to ANP3, and the output from ANP3 is fed back via the analog bus CB, and product-sum operations are performed in ANP1, ANP2, and ANP3.
In the feedback network, as shown in Figs. 33A and 33B, the outputs of the three ANPs go through six product-sum operation cycles and are sent to the sample/hold circuits 17, respectively.
Analog output ports 0, 1, and 2 via 7, 178, and 178'
The signal is output to the sample/hold circuits 177 and 17
The output signals of 178' are selected by an analog multiplexer 179 and sent to an MPU 182 via an A/D converter 180.
The output is given to a digital control circuit including a memory 182 and a communication interface 184. The MPU 182 checks whether the neuron output state at the current time is the same as the neuron output state at the previous time. If they are the same, it is determined that convergence has occurred. In this way, the process is carried out via a single common analog bus CB. If a stable solution is reached by repeating the feedback operation, this is the final output.
また、第34図に示す実施例は、第12図に開示した実施例
の階層ネットワークの一部に、第28図に開示した帰還ネ
ットワークを用いる実施例である。The embodiment shown in FIG. 34 is an embodiment in which the feedback network disclosed in FIG. 28 is used as part of the hierarchical network of the embodiment disclosed in FIG.
第35図は、帰還型ネットワークと階層型ネットワークを
組み合わせたものの最適実施例である。入力層としてデ
ィジー回路が設けられ、中間層にはANP1,2,3が設けられ
る。出力層にはANP4,5が設けられる。そして中間層のAN
P1,2,3の出力はアナログバスB2と共通アナログバスCDを
介してアナログバスB1に帰還される。また、アナログバ
スB1、B2にはダミーノードとして働くマックスバリュー
ノード回路187が接続されている。そして、出力層を構
成するANP4,5の出力はサンプル/ホールド回路177,178
をそれぞれ介してアナログ出力ポート0及び1に出力さ
れる。B3は出力層アナログバスである。Figure 35 shows an optimal embodiment of a combination of a feedback network and a hierarchical network. A daisy chain is provided as the input layer, and ANP1, 2, and 3 are provided in the intermediate layer. ANP4 and 5 are provided in the output layer.
The outputs of P1, P2, and P3 are fed back to the analog bus B1 via the analog bus B2 and the common analog bus CD. A max value node circuit 187, which functions as a dummy node, is connected to the analog buses B1 and B2. The outputs of ANP4 and ANP5, which form the output layer, are fed back to the sample/hold circuits 177 and 178.
are output to analog output ports 0 and 1 via the respective buses. B3 is an output layer analog bus.
第36図を用いて第35図に示したニューラルネットワーク
の動作を説明する。The operation of the neural network shown in FIG. 35 will be explained with reference to FIG.
まず、DCLK及びWCLKがマスタコントロールブロックから
ディジー回路171及びANP1,2,3,4,5にそれぞれ入力され
る。マスタコントロールブロック181からに示すよう
にCSO1がCSIとして第1のディジー回路171に入力される
とアナログ入力ポート0からの信号がサンプル/ホール
ド回路173及びスイッチ175を介してアナログバスB1に生
じ、ANP1,2,3において積和演算がSH1及びCS1の制御で行
われる。First, DCLK and WCLK are input from the master control block to the daisy chain circuit 171 and ANP1, 2, 3, 4, and 5. When CSO1 is input as CSI to the first daisy chain circuit 171 from the master control block 181, as shown, the signal from analog input port 0 appears on the analog bus B1 via the sample/hold circuit 173 and switch 175, and product-sum operations are performed in ANP1, 2, and 3 under the control of SH1 and CS1.
次に、CSO1が立下がった後、所定時間経過後に第2のデ
ィジー回路172に入力されるCSI信号がに示すように立
ち上がると、アナログ入力ポート1からの信号かサンプ
ル/ホールド回路174及びスイッチ176を介してアナログ
バスB2により中間層のANP1,2,3において、SH1に示すよ
うに積和演算が行われる。同様にCSOが信号が立ち下が
った後、所定時間経過後にに示すように第3のディジ
ー回路へのCSI信号が立ち上がると、中間層ANP1,2,3で
積和演算が行われる。そして、中間層ANP1,2,3の出力は
CSO2がで示すように立ち上がってANP1に加えられる
と、アナログバスB2に出力されその出力は共通アナログ
バスCBを介してアナログバスB1に帰還されるので、中間
層のANP1,ANP2,ANP3においては再び積和演算が行われSH
1とOC1の制御で積和演算が行われると共に、ANP1の出力
はアナログバスB2上に生じているので、ANP4,ANP5にお
いても、SH2とOC2の制御で積和演算が行われる。すなわ
ち、この実施例においては、中間層ANP1、ANP2、ANP3と
出力層ANP4,ANP5において同時に積和演算が行われる。Next, when the CSI signal input to the second daisy chain circuit 172 rises as shown after a predetermined time has elapsed since CSO1 falls, a product-sum operation is performed in the hidden layer ANP1, 2, 3 as shown in SH1 by the analog bus B2 via the sample/hold circuit 174 and switch 176 from the analog input port 1. Similarly, when the CSI signal to the third daisy chain circuit rises as shown after a predetermined time has elapsed since CSO1 falls, a product-sum operation is performed in the hidden layer ANP1, 2, 3. Then, the output of the hidden layer ANP1, 2, 3 is
When CSO2 rises as shown and is added to ANP1, it is output to analog bus B2 and the output is fed back to analog bus B1 via common analog bus CB, so that multiplication and accumulation operations are performed again in ANP1, ANP2, and ANP3 in the middle layer, and SH
Since the output of ANP1 is generated on analog bus B2, ANP4 and ANP5 also perform product-sum operations under the control of SH2 and OC2. That is, in this embodiment, product-sum operations are performed simultaneously in the hidden layer ANP1, ANP2, and ANP3 and the output layer ANP4 and ANP5.
次に、CSO2が立ち下がった後所定時間経過後に中間層の
ANP2にに示すようにCSI信号を入力されるとANP2出力
信号はANP2、共通バスCBを介してアナログバスB1に帰還
されるので、ANP1,2,3においては再び積和演算が行われ
ると共にANP4,5においても同時にタイミングで積和演算
が行われる。Next, after a certain time has passed since CSO2 dropped,
When a CSI signal is input as shown in ANP2, the ANP2 output signal is fed back to the analog bus B1 via ANP2 and the common bus CB, so that product-sum operations are performed again in ANP1, 2, and 3, and product-sum operations are also performed in ANP4 and 5 at the same time.
さらに、で示すようにCSI信号がANP3に入力されるとA
NP3は出力信号をアドレスバスB1に生じるのでANP1,2,3
及び出力層のANP4,5で同時に積和演算が実行される。Furthermore, when the CSI signal is input to ANP3, as shown in
NP3 generates an output signal on the address bus B1, so ANP1, 2, 3
The product-sum operation is performed simultaneously in ANP4 and ANP5 of the output layer.
その次に、マックスバリューノード回路187へダミー信
号DCSIがで与えられると、アナログバスBにに一定
電圧が出力され、この電圧は共通バスCB及びアナログバ
スB1を介して帰還され、これに対して、ANP1,2,3で積和
演算か行われる。それと共に出力層ANP4,5でも積和演算
が行われる。Next, when a dummy signal DCSI is given to the max value node circuit 187, a constant voltage is output to the analog bus B, and this voltage is fed back via the common bus CB and the analog bus B1, and a product-sum operation is performed on this voltage by ANP1, 2, and 3. At the same time, a product-sum operation is also performed on the output layer ANP4 and 5.
SYNC1は、中間層で積和演算される期間と中間層及び出
力層で積和演算される期間にわたってハイであり、SYNC
2は中間層と出力層で積和演算がされる間がハイであ
る。そして、CSO3が出力されるとANP4はのところで出
力を生じ、そのCSO3信号が立ち下がった後、所定時間後
にANP5もまた出力をのところで生ずる。SYNC1 is high during the period when the multiplication and accumulation is performed in the hidden layer and during the period when the multiplication and accumulation is performed in the hidden layer and the output layer.
2 is high while the multiplication and accumulation operations are performed in the hidden layer and the output layer. When CSO3 is output, ANP4 produces an output at , and after a predetermined time after the CSO3 signal falls, ANP5 also produces an output at .
なお、アドレス1及びイネーブル信号がロウである間は
WCLKが抑止される。While the address 1 and enable signals are low,
WCLK is inhibited.
第37図に示す実施例は、この第12図の実施例の階層ネッ
トワークを更に簡単な構造とするための実施例である。
この実施例では、基本ユニット121の個数を1つで構成
している。1つの基本ユニット121では、第12図の複数
ある基本ユニット121に係るデータを分離して保持でき
ないので、この実施例を利用する場合には、外部にこの
ためのメモリ手段を設けるよう構成するか、あるいは、
内部に複数の累算部123と複数の出力保持部125とを用意
するとともに、これらを選択するための機構を設けるよ
う構成することになる。The embodiment shown in FIG. 37 is an embodiment for simplifying the hierarchical network of the embodiment shown in FIG. 12.
In this embodiment, the number of basic units 121 is one. Since one basic unit 121 cannot separately hold data relating to the plurality of basic units 121 shown in FIG. 12, when using this embodiment, it is necessary to provide an external memory means for this purpose, or
A plurality of accumulators 123 and a plurality of output holders 125 are prepared internally, and a mechanism for selecting them is provided.
非線型のデータ処理を実行する本発明のニューロコンピ
ュータには、様々な利用分野がある。例えば、第38図
は、多関節ロボットの適用制御装置に用いた応用例であ
るこの適用制御装置では、関節角度や角速度によって所
要トルクが動的に変化する多関節ロボット・アームに対
して、目標関節角度が指令値として与えられた場合に、
所要トルクを算出してフィード・フォワード制御を実現
することになる。すなわち、与えられた角度指令値は、
角度指令値及び角加速度指令値とともに時分割で1段目
の伝送路に供給され、上述したデータ転送処理より、最
終段の出力層から制御指令トルクとして出力されること
になる。また、第39図は、排他論理和に用いた応用例で
ある。すなわち、1段目の伝送路に時分割で入力X,Yが
与えられ、それを並列に処理することで演算結果が出力
されることになる。このような様々な利用分野があるこ
とから、ニューロコンピュータをハードウエアとして実
現できる本発明は、極めて大きな価値を有するものと考
えるのである。The neurocomputer of the present invention, which performs non-linear data processing, has a wide range of applications. For example, Figure 38 shows an example of application of the neurocomputer to an adaptive control device for a multi-joint robot. In this adaptive control device, when a target joint angle is given as a command value for a multi-joint robot arm in which the required torque changes dynamically depending on the joint angle and angular velocity, the following is executed:
The required torque is calculated to realize feed-forward control. That is, the given angle command value is
The inputs X and Y are supplied to the first-stage transmission line in a time-division manner together with the angle command value and angular acceleration command value, and are output as a control command torque from the final-stage output layer through the data transfer process described above. Figure 39 shows an example of an application used in exclusive OR. That is, inputs X and Y are supplied to the first-stage transmission line in a time-division manner, and the operation result is output by processing them in parallel. Given these diverse applications, we believe that this invention, which can realize a neurocomputer as hardware, is of great value.
階層型ネットワークにおける想起処理についてみると、
予め「物の名前」とその物の「形、色、味」といった特
徴量の対応関係をネットワークに学習させたとき、ネッ
トワークは、「丸い、赤い、甘酸っぱい」という情報か
ら、それは「りんご」であるとか、「丸い、黄色い、酸
っぱい」から「レモン」というように、自身が学習によ
って蓄えた情報をもとに「物の名前」を想起することが
できる。When we look at recall processing in a hierarchical network,
When a network is trained in advance to learn the correspondence between the "name of an object" and its features such as "shape, color, and taste," the network can recall the "name of an object" based on the information it has accumulated through learning, such as "round, red, sweet and sour" indicating an "apple," or "round, yellow, sour" indicating a "lemon."
帰還型ネットワークにおける連想処理についてみると、
予めネットワークに「A,B,C」の3文字の文字フォント
を学習させておけば、そのネットワークに汚された文字
フォントを入力しても画像情報の復元及び補間処理が行
われ、正しい文字が連想することができる。When we look at associative processing in feedback networks,
If the network is trained in advance to learn the three-character font "A, B, C," even if a corrupted character font is input to the network, the network will be able to restore and interpolate the image information and associate the correct character.
以上からわかるように、階層型ネットワークでは、複数
の条件から、ネットワーク内に重みの形で記憶されてい
る名前を選択するのに対し、ホップフィールド型ネット
ワークでは部分的な情報から全体を連想できる。As can be seen from the above, in a hierarchical network, a name stored in the network as weights is selected based on multiple conditions, whereas in a Hopfield network, the whole can be associated with partial information.
さらに、3層ネットワークの機能についてみると、ネッ
トワークへの入出力の情報が2値(論理値)である場
合、どのような論理回路もAND、OR,NOTなる論理素子を
最低2段接続すれば実現でき、ニューロン素子を用いて
これらの論理素子が実現できることは、マッカロー&ピ
ッツの形式ニューロンモデルからいえる。Furthermore, when we look at the function of a three-layer network, if the information input and output to the network is two-valued (logical value), any logic circuit can be realized by connecting logic elements AND, OR, and NOT in at least two stages, and it can be said from McCullough and Pitts' formal neuron model that these logic elements can be realized using neuron elements.
ネットワークへの入出力の情報が連続値である場合、ニ
ューロンへの重みを変えることで、結果的に非線形関数
(ジクモイド関数)の縦・横を拡大・縮小し、かつスレ
シュホールド値を与えることによって平行移動を行っ
て、所望の関数を近似するのに必要となるさまざまな基
本関数を表現することができる。従って1,2層間の重み
を適当に設定して、さまざまな基本関数を用意し、2,3
層間の重みを利用して基本関数を重ね合わせることによ
っていろいろな関数を作りだすことが、3層以上のネッ
トワークで可能となる。When the input and output information to the network is continuous, changing the weights on the neurons results in scaling the nonlinear function (the dichmoid function) vertically and horizontally, and by providing a threshold value, performing a parallel translation, various basic functions required to approximate the desired function can be expressed. Therefore, by appropriately setting the weights between the first and second layers, various basic functions can be prepared, and then the second and third layers can be used.
Networks with three or more layers can create various functions by superimposing basic functions using the weights between layers.
本発明によれば、n個のニューロチップからなる前段層
とm個の複数のニューロチップからなる後段の層を考え
るとき、従来は配線数がnm個になるのに、本発明の実施
例によれば、アナログバス1本にすることができるので
配線数を大幅に減少させることができ、また、n個のニ
ューロチップからなる層に入力アナログ信号を入力する
際に、放送方式と同様にアナログバスを介して同時に入
力できるので、1層内のn個のニューロチップが並列演
算ができる。さらに、各層についてもパイプライン処理
が行われるので、演算速度を高速にできる。According to the present invention, when considering a front layer consisting of n neurochips and a back layer consisting of m neurochips, the number of wirings would be nm in the past, but according to the embodiment of the present invention, it is possible to reduce the number of wirings to one analog bus, so that the number of wirings can be significantly reduced.Furthermore, when inputting analog signals to a layer consisting of n neurochips, they can be input simultaneously via the analog bus as in the broadcasting system, so that the n neurochips in one layer can perform parallel calculations.Furthermore, pipeline processing is performed for each layer, so that the calculation speed can be increased.
また、ニューロチップをアナログ回路で構成しているの
で、回路の規模が小さくてすみ、このため電力も小さく
てすむので、多数のニューロチップによりニューロコン
ピュータを構成することができる。さらに、ニューロチ
ップの数を増やすことはマスタコントロールブロック内
の制御パターンメモリに格納されて制御パターンをかえ
ることにより容易に行える。In addition, since the neurochip is constructed with analog circuits, the circuit size can be small, and therefore the power consumption is small, so a neurocomputer can be constructed using many neurochips. Furthermore, the number of neurochips can be easily increased by changing the control pattern stored in the control pattern memory in the master control block.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 浅川 和雄 神奈川県川崎市宮前区宮前平2―10―1 3―403 (72)発明者 都築 裕之 神奈川県川崎市麻生区百合ヶ丘3―22 102―108 (72)発明者 遠藤 秀一 神奈川県川崎市高津区久末1775―2 (72)発明者 川崎 貴 神奈川県川崎市中原区宮内409―1 (72)発明者 松田 俊春 神奈川県川崎市多摩区菅仙谷3―5―9 (72)発明者 土屋 主税 東京都町田市玉川学園6―3―35 (72)発明者 石川 勝哉 神奈川県川崎市宮前区宮崎123―4 (72)発明者 岩本 弘 神奈川県横浜市金沢区平潟町31―2―709 ──────────────────────────────────────────────────── Continued from the front page (72) Inventor: Kazuo Asakawa 2-10-1 Miyamaedaira, Miyamae-ku, Kawasaki, Kanagawa Prefecture 3-403 (72) Inventor: Hiroyuki Tsuzuki 3-22 Yurigaoka, Asao-ku, Kawasaki, Kanagawa Prefecture 102-108 (72) Inventor: Shuichi Endo 1775-2 Hisasue, Takatsu-ku, Kawasaki, Kanagawa Prefecture (72) Inventor: Takashi Kawasaki 409-1 Miyauchi, Nakahara-ku, Kawasaki, Kanagawa Prefecture (72) Inventor: Toshiharu Matsuda 3-5-9 Sugasengaya, Tama-ku, Kawasaki, Kanagawa Prefecture (72) Inventor: Masataka Tsuchiya 6-3-35 Tamagawa Gakuen, Machida City, Tokyo (72) Inventor: Katsuya Ishikawa 123-4 Miyazaki, Miyamae Ward, Kawasaki City, Kanagawa Prefecture (72) Inventor: Hiroshi Iwamoto 31-2-709 Hiragata-cho, Kanazawa Ward, Yokohama City, Kanagawa Prefecture
Claims (40)
に対して乗算されるべき重みとを受け取って積和を得る
とともに、この得られた積和値を非線形関数によって変
換して最終出力を得る基本ユニット(11)を基本単位と
し、 入力層と最前段の中間層との間、中間層相互間及び最終
段の中間層と出力層との間で内部結合を構成するととも
に、この内部結合に対応して上記重みが設定されること
で、階層ネットワークを構成するネットワーク構成デー
タ処理装置であって、 上記基本ユニット(11)の入出力をアナログ信号をもっ
て実現するとともに、このアナログ信号の転送を実現す
るために、入力層と最前段の中間層との間、中間層相互
間及び最後段の中間層と出力層との間の電気的な接続を
それぞれアナログバス(B1,B2)をもって構成し、 そして、前段層の上記基本ユニット(11)を時系列的に
順次選択するよう構成するとともに、このようにして選
択される上記基本ユニット(11)が、上記アナログバス
(B1,B2)を介して、後段層の上記基本ユニット(11)
に対して、自らの最終出力値を時分割の送信形式に従っ
て出力するよう処理してなることを特徴とするネットワ
ーク構成データ処理装置。[Claim 1] A network configuration data processing device, the basic unit of which is a basic unit (11) that receives a plurality of inputs from a previous layer and weights to be multiplied by these inputs to obtain a sum of products, and that converts the obtained sum of products by a nonlinear function to obtain a final output, and that forms internal connections between the input layer and the previous hidden layer, between the hidden layers, and between the last hidden layer and the output layer, and that sets the weights corresponding to these internal connections, thereby forming a hierarchical network, wherein input and output of the basic unit (11) are realized by analog signals, and to realize the transfer of these analog signals, electrical connections between the input layer and the previous hidden layer, between the hidden layers, and between the last hidden layer and the output layer are respectively formed by analog buses (B1, B2), and the basic units (11) of the previous layer are configured to be selected sequentially in time series, and the basic units (11) selected in this way transfer data to the basic units (11) of the subsequent layer via the analog buses (B1, B2).
2. A network configuration data processing device according to claim 1, wherein said network configuration data processing device processes said network configuration data so that its final output value is output in accordance with a time-division transmission format.
るべき重みとを受け取って積和を得るとともに、この得
られた積和値を非線形関数によって変換して最終出力を
得る基本ユニット(11)を基本単位とし、 複数個の上記基本ユニット(11)をもって処理層とする
とともに、この処理層の各基本ユニット(11)の最終出
力を処理層のすべての基本ユニット(11)の入力に帰還
することで、等価的に複数の処理層からなる階層ネット
ワークを構成するネットワーク構成データ処理装置であ
って、 上記基本ユニット(11)の入出力をアナログ信号をもっ
て実現するとともに、このアナログ信号の転送を実現す
るために、上記処理層の基本ユニット(11)の帰還ライ
ンをアナログバス(CB)をもって構成し、 そして、上記処理層の基本ユニット(11)を時系列的に
順次選択するよう構成するとともに、このようにして選
択される上記基本ユニット(11)が、上記アナログバス
(CB)を介して、上記処理層の基本ユニット(11)に対
して、自らの最終出力値を時分割の送信形式に従って出
力するよう処理してなることを特徴とするネットワーク
構成データ処理装置。[Claim 2] A network-configuration data processing device having a basic unit (11) as its basic unit, which receives a plurality of inputs and weights to be multiplied by these inputs to obtain a product sum, and transforms the obtained product sum value using a nonlinear function to obtain a final output, a plurality of said basic units (11) forming a processing layer, and by feeding back the final output of each basic unit (11) of this processing layer to the input of all basic units (11) of the processing layer, equivalently forming a hierarchical network consisting of a plurality of processing layers, wherein the input and output of said basic units (11) are realized by analog signals, and to realize the transfer of these analog signals, the feedback lines of the basic units (11) of said processing layer are constituted by analog buses (CB), and the basic units (11) of said processing layer are configured to be selected sequentially in time series, and the basic units (11) selected in this way output their own final output values to the basic units (11) of said processing layer via said analog buses (CB) in accordance with a time-division transmission format.
ータ処理装置において、 入力層、一部若しくはすべての中間層または出力層、あ
るいはそれらの組み合わせの態様で、2記載のネットワ
ーク構成データ処理装置を用いて構成してなることを特
徴とするネットワーク構成データ処理装置。[Claim 3] A network configuration data processing device according to claim 1, characterized in that the network configuration data processing device is configured using the network configuration data processing device according to claim 2 in the form of an input layer, some or all of the intermediate layers or output layer, or a combination thereof.
分割で入力しディジタル重みデータを用いて積和演算を
実行してアナログ信号を第2のアナログバスに出力する
アナログニューロチップの集合からなるニューラルネッ
ト(18)と、 前記ニューラルネット(18)の制御信号のパターンを格
納する制御パターンメモリ(12)と、 該制御パターンメモリ(12)のアドレスを発生するシー
ケンサ(13)と、重みデータを格納する重みメモリ(1
4)と、 前記ニューラルネット(18)と制御パターンメモリ(1
2)とシーケンサ(13)と、 重みメモリ(14)との全体を制御するディジタル制御手
段(15)とよりなることを特徴とするニューロコンピュ
ータ。[Claim 4] A neural network (18) consisting of a set of analog neurochips that input analog signals from a first analog bus in a time-division manner, execute product-sum operations using digital weight data, and output analog signals to a second analog bus; a control pattern memory (12) that stores patterns of control signals for the neural network (18); a sequencer (13) that generates addresses for the control pattern memory (12); and a weight memory (14) that stores weight data.
4), and the neural network (18) and control pattern memory (1
2), a sequencer (13), and a digital control means (15) for controlling the weight memory (14) as a whole.
乗算を行う乗算部(22)と、 該乗算部(22)の出力信号を、時分割入力されるアナロ
グ信号に対応して加算する加算部(23)と、 前記加算部(23)のコンデンサに信号を充電する時間を
可変にする加算時間制御手段と、 該加算部(23)に接続するサンプル/ホールド手段(2
4)と、 該サンプル/ホールド手段(24)の出力信号を入力する
非線形回路(25)と、 該非線形回路(25)の出力信号をアナログ時分割信号と
して出力する出力部(26)とを有することを特徴とする
アナログニューロチップ。[Claim 5] A multiplication unit (22) that multiplies an analog signal by serial weight data, an addition unit (23) that adds the output signal of the multiplication unit (22) in response to an analog signal that is input in a time-division manner, an addition time control means that varies the time for charging a signal to a capacitor of the addition unit (23), and a sample/hold means (2) connected to the addition unit (23).
4), a nonlinear circuit (25) to which an output signal of the sample/hold means (24) is input, and an output section (26) to which an output signal of the nonlinear circuit (25) is output as an analog time-division signal.
(120)と、 該入力側回路(120)の出力に接続された入力層アナロ
グバス(140a)と、 前記入力層アナログバス(140a)にアナログニューロン
プロセッサ(121−h)を並列に接続して構成する第1
の中間層と、 該第1の中間層の出力が接続された中間層用アナログバ
ス(140b)と、 該中間層用アナログバス(140b)にアナログニューロン
プロセッサ(121−i)が並列に接続された第2の中間
層と、 該中間層のアナログニューロンプロセッサ(121−i)
が接続された次の中間層用アナログバス(140c)と、 前記入力用層用アナログバス上に生じる時分割アナログ
信号を入力して順次積和演算を行うように中間層のアナ
ログニューロンプロセッサ(121−h)を行わさせるよ
うに制御する手段(150)と、 前記中間層用アナログバス上に生じる時分割アナログ信
号を入力して順次積和演算を行うように次の中間層のア
ナログニューロンプロセッサ(121−i)を制御する手
段(150)と、 前記次の中間層用アナログバス上に生じる時分割アナロ
グ信号を出力する手段(121−j)とからなることを特
徴とするアナログニューロコンピュータシステム。[Claim 6] A first system comprising: an input side circuit (120) for inputting an analog input signal; an input layer analog bus (140a) connected to the output of said input side circuit (120); and an analog neuron processor (121-h) connected in parallel to said input layer analog bus (140a).
a hidden layer of the first hidden layer, an analog bus (140b) for the hidden layer to which the output of the first hidden layer is connected, a second hidden layer in which analog neuron processors (121-i) are connected in parallel to the analog bus (140b) for the hidden layer, and the analog neuron processors (121-i) of the hidden layer.
a next hidden layer analog bus (140c) connected to said next hidden layer analog bus (140c); a control means (150) for controlling said hidden layer analog neuron processor (121-h) to input the time-division analog signals generated on said input layer analog bus and make it perform sequential product-sum operations; a control means (150) for controlling said next hidden layer analog neuron processor (121-i) to input the time-division analog signals generated on said hidden layer analog bus and perform sequential product-sum operations; and a means (121-j) for outputting the time-division analog signals generated on said next hidden layer analog bus.
分割で入力しディジタル重みデータを用いて積和演算を
実行してアナログ信号を第2のアナログバスに出力する
ことを特徴とするニューロンユニット。7. A neuron unit comprising: a first analog bus to which an analog signal is input in a time-division manner; a multiplication and accumulation operation is performed using digital weight data; and an analog signal is output to a second analog bus.
にアナログ入力信号を入力し、ディジタル入力端子にデ
ィジタル重みデータを入力することを特徴とする請求の
範囲第7項記載のニューロンユニット。8. The neuron unit according to claim 7, wherein said product-sum operation inputs an analog input signal to a reference voltage terminal of a D/A converter and inputs digital weight data to a digital input terminal.
分割で入力しディジタル重みデータを用いて積和演算を
実行して該積和演算の結果を非線形関数回路を通してア
ナログ信号を第2のアナログバスに出力することを特徴
とするニューロンユニット。9. A neuron unit characterized in that an analog signal is input from a first analog bus in a time-division manner, a product-sum operation is performed using digital weight data, and the result of the product-sum operation is output as an analog signal to a second analog bus through a nonlinear function circuit.
路のコレクタにカレントミラー回路を接続し、エミッタ
側にエミッタ抵抗と定電流回路を接続してなる増幅段を
複数段設けこの増幅段のコレクタ出力を出力抵抗の一端
に接続し、各段において前記エミッタ抵抗と出力抵抗の
比によって非線形関数の各区分線形を限定することによ
り非線形関数を形成することを特徴とする請求の範囲第
9項記載のニューロコンピュータ。[Claim 10] The nonlinear function generating means of the neurocomputer of claim 9 is characterized in that a current mirror circuit is connected to the collector of a current switching circuit, and multiple amplification stages are provided, each of which has an emitter resistor and a constant current circuit connected to the emitter side, the collector output of each amplification stage is connected to one end of an output resistor, and a nonlinear function is formed by limiting each piecewise linearity of the nonlinear function in each stage by the ratio of the emitter resistor to the output resistor.
バスと、 該第1のアナログバスに接続され第1のアナログバスか
らの入力信号と重みデータとに対して積和演算を行うア
ナログニューロンプロセッサと、 該アナログニューロンプロセッサに接続された第2のア
ナログバスと、前記重みデータを記憶する重みメモリ
と、前記第1のアナログバスの特定の時間区域のアナロ
グ信号を前記アナログニューロンプロセッサに入力し、
アナログ入力信号と前記重みデータとの積を演算し、こ
の積を前の時間区域に得られる積和に加算してその結果
として得られるアナログ信号を前記第2のアナログバス
上の特定の時間区域に出力するように制御する制御手段
とを有することを特徴とするニューロコンピュータ。11. A method for synthesizing a signal from a first analog bus to a second analog neuron processor, comprising: a first analog bus for receiving an analog signal; an analog neuron processor connected to said first analog bus for performing a multiply-and-accumulate operation on an input signal from said first analog bus and weight data; a second analog bus connected to said analog neuron processor; a weight memory for storing said weight data; and an analog signal from said first analog bus in a specific time section is input to said analog neuron processor.
and control means for calculating the product of an analog input signal and said weight data, adding this product to the sum of products obtained in the previous time segment, and outputting the resulting analog signal in a specific time segment on said second analog bus.
セッサを制御するマスタコントロールブロックからな
り、 該マスタコントロールブロックは前記アナログニューロ
ンプロセッサの制御信号の制御パターンを発生する制御
パターンメモリと、 その制御パターンメモリのアドレスのシーケンスを制御
するシーケンサと、該シーケンサのシーケンスを制御す
る命令を格納するマイクロコードメモリと、 前記シーケンサに接続され前記重みメモリのアドレスを
制御するアドレス制御手段と、外部のディジタル制御手
段に接続するインタフェイス手段とを具備し、 特定な時間区域に1個のアナログニューロンプロセッサ
にアナログバスの使用権を割り振ることを特徴とする請
求の範囲第11項記載のニューロコンピュータ。[Claim 12] The control means comprises a master control block that controls the analog neuron processor, and the master control block comprises a control pattern memory that generates a control pattern for the control signals of the analog neuron processor, a sequencer that controls the sequence of addresses in the control pattern memory, a microcode memory that stores instructions that control the sequence of the sequencer, address control means connected to the sequencer that controls the addresses of the weight memory, and interface means that connects to an external digital control means, and is characterized in that it allocates the right to use the analog bus to one analog neuron processor in a specific time zone.
の制御パターンメモリからなり、前記第1の制御パター
ンメモリは、ANPを制御する制御信号に対応する制御パ
ターンを格納し、前記第2の制御パターンメモリには前
記第1の制御パターンメモリへの先頭アドレスを少なく
とも有することを特徴とする請求の範囲第12項記載のニ
ューロコンピュータ。13. The control pattern memory includes first and second control pattern memories.
The neurocomputer according to claim 12, characterized in that it comprises a control pattern memory, wherein the first control pattern memory stores a control pattern corresponding to a control signal that controls the ANP, and the second control pattern memory has at least a starting address to the first control pattern memory.
の制御パターンメモリからなり、前記第1の制御パター
ンメモリには、ANPを制御する制御信号に対応する制御
パターンを格納し、前記第2の制御パターンメモリには
前記パターンメモリへの先頭アドレスと、オリジナルパ
ターンの繰り返し数を有することを特徴とする請求の範
囲第12項記載のニューロコンピュータ。14. The control pattern memory includes first and second control pattern memories.
The neurocomputer according to claim 12, characterized in that it comprises a control pattern memory, wherein the first control pattern memory stores a control pattern corresponding to a control signal that controls the ANP, and the second control pattern memory has a top address to the pattern memory and a number of repetitions of the original pattern.
ナルパターンは、ANPのアナログ信号処理を行うため前
記メモリの読み出しタイミングを与えるデータクロック
DCLKと重みクロックWCLKと、各層におけるアナログ信号
のサンプル/ホールドを行うS/H信号と、ANP内部のオフ
セットコントロール信号と、CSI、CSO信号と、各層内の
動作時間を規定する同期信号SYNCと、リセット信号とダ
ミーノードのイネーブル信号のうち少なくとも1つを格
納することを特徴とする請求の範囲第14項記載のニュー
ロコンピュータ。15. The original pattern of said first control pattern memory is a data clock that provides a read timing of said memory for analog signal processing of ANP.
The neurocomputer of claim 14, characterized in that it stores at least one of DCLK, a weighted clock WCLK, an S/H signal for sampling/holding analog signals in each layer, an offset control signal within the ANP, CSI and CSO signals, a synchronization signal SYNC for determining the operating time within each layer, a reset signal, and an enable signal for a dummy node.
リジナルパターンを繰り返すリピート命令と各オリジナ
ルパターンの先頭アドレスを指定する命令を有すること
を特徴とする請求の範囲第12項記載のニューロコンピュ
ータ。16. The neurocomputer according to claim 12, wherein said microcode memory has a repeat command for repeating said original pattern and an command for specifying the start address of each original pattern.
パターンのビット幅方向のデータがアドレスの更新によ
り同時に読み出されることを特徴とする請求の範囲第12
項記載のニューロコンピュータ。17. The method of claim 12, wherein data in the bit width direction of the original pattern is simultaneously read out from said control pattern memory by updating the address.
A neurocomputer as described in paragraph .
メモリのアドレスをカウントするアドレスカウンタを有
し、 前記アドレスカウンタは重みクロックWCLKによってカウ
ントされ、前記シーケンサからカウント制御信号によっ
てカウント動作のイネーブルを行いシーケンサからカウ
ンタリセットにより重みメモリの重みデータの格納され
ている先頭アドレスにもどるように制御することを特徴
とする請求の範囲第12項記載のニューロコンピュータ。[Claim 18] The neurocomputer of claim 12, characterized in that the master control block has an address counter that counts addresses in the weight memory, the address counter is counted by the weight clock WCLK, the count operation is enabled by a count control signal from the sequencer, and the counter is reset by the sequencer to return to the starting address where the weight data in the weight memory is stored.
制御パターンメモリの内容及びマイクロコードメモリの
内容が、外部インタフェイス回路を介してMPU側からの
データとして与えられる場合、MPUからの上位アドレス
をデコードしてタイミング路で形成される適当なタイミ
ングシーケンスデータのラッチ信号を入力し、前記ラッ
チ信号によって、下位アドレスとデータをラッチし、下
位アドレスで指定されたマイクロコードメモリ及び制御
パターンメモリのアドレスに制御パターンを格納するこ
とを特徴とする請求の範囲第12項記載のニューロコンピ
ュータ。[Claim 19] A neurocomputer as described in claim 12, characterized in that when the contents of the control pattern memory and the contents of the microcode memory are given as data from the MPU side via an external interface circuit, the master control block decodes the upper address from the MPU and inputs a latch signal of appropriate timing sequence data formed in the timing path, latches the lower address and data according to the latch signal, and stores the control pattern at the addresses of the microcode memory and control pattern memory specified by the lower address.
スから複数のANPへビット幅方向に並列化して同時に重
みデータを供給することを特徴とする第11項記載のニュ
ーロコンピュータ。20. The neurocomputer according to claim 11, wherein said weight memory supplies weight data from one memory device to a plurality of ANPs in parallel in the bit width direction at the same time.
とMPUに接続された双方向バッファと、第1のモードで
はマスコントロールブロックからのアドレスを選択して
重みメモリの出力をANPに送信する前記マスタコントロ
ールブロックからくるアドレスとMPUからくるアドレス
を選択する選択手段と、第2のモードでは重みメモリを
MPUからのアドレスで参照してMPUと重みメモリの間でデ
ータの送受信することを特徴とする請求の範囲第11項記
載のニューロコンピュータ。21. The weight memory includes a weight data storage means and a bidirectional buffer connected to an MPU, a selection means for selecting an address from the master control block and an address from the MPU in a first mode to transmit the output of the weight memory to an ANP, and a selection means for selecting an address from the master control block and an address from the MPU in a second mode to transmit the weight memory to an ANP.
12. The neurocomputer according to claim 11, wherein data is transmitted and received between the MPU and the weight memory by referring to an address from the MPU.
なくとも第1、第2のANPが接続され、 第1のANPにCSI信号を加えたときに、アナログバスに出
力信号を生じ、所定時間経過後に、第2のANPにCSI信号
を加えて前記アナログバスに出力信号を生じるように制
御する制御回路を有することを特徴とする請求の範囲第
11項記載のニューロコンピュータ。22. The present invention is characterized in that at least first and second ANPs are connected between the first and second analog buses, and a control circuit is provided which controls the first ANP to generate an output signal on the analog bus when a CSI signal is applied to the first ANP, and to apply a CSI signal to the second ANP after a predetermined time has elapsed, thereby generating an output signal on the analog bus.
12. The neurocomputer according to claim 11.
くとも第1、第2のANPが接続され、第1のANPのCSI信
号を特定時間遅らせることによりCSO信号を生じ、このC
SO信号を第2のANPのCSI信号として第2のANPから出力
をアナログバスに生じるディジー回路を有することを特
徴とする請求項11記載のニューロコンピュータ。23. At least first and second ANPs are connected between the first and second analog buses, and a CSO signal is generated by delaying the CSI signal of the first ANP by a specific time, and this C
12. The neurocomputer according to claim 11, further comprising a daisy-chain circuit for generating an output from the second ANP on an analog bus using the SO signal as a CSI signal for the second ANP.
てCSOを出力するFFとCSIの終了のエッジから所定遅延量
をWCLKのパルスのカウント数に基づいてCSOの出力タイ
ミングを決定するカウンタ手段とからなることを特徴と
する請求の範囲第23項記載のニューロコンピュータ。[Claim 24] A neurocomputer as described in claim 23, characterized in that the daisy-chain circuit comprises an FF that inputs a CSI signal and outputs a CSO, and a counter means that determines the output timing of the CSO based on the count number of WCLK pulses, a predetermined delay amount from the end edge of the CSI.
定時間遅らせることによりCSO信号を生じ、このCSO信号
を第2のディジー回路のCSI信号として第2のディジー
回路の制御により出力をアナログバスに生じることを特
徴とする請求の範囲第11項記載のニューロコンピュー
タ。25. A neurocomputer as claimed in claim 11, characterized in that a CSO signal is generated by delaying the CSI signal from the first daisy-chain circuit by a specific time, and this CSO signal is used as the CSI signal for the second daisy-chain circuit, and an output is generated on the analog bus under the control of the second daisy-chain circuit.
ことを特徴とする請求の範囲第15項記載のニューロコン
ピュータ。26. A neurocomputer according to claim 15, wherein an input layer is formed from said daisy chain circuits.
からなる第1層の1つのANPに対して、主制御回路よりC
SI信号を加え所定時間後にCSO信号を発生し、このCSO信
号を隣接するANPのCSI信号とするディジーチェーン動作
を1層内の複数のANPに対して順次行い、第1の層のANP
についてディジーチェーン動作の終了後、次の層のANP
について、前記ディジーチェーン動作を開始することを
特徴とする請求項11記載のニューロコンピュータ。27. ANP performing multiple daisy-chain operations.
For one ANP on the first layer consisting of
An SI signal is added, and a CSO signal is generated after a predetermined time. This CSO signal is used as the CSI signal for the adjacent ANP. This daisy-chain operation is performed sequentially for multiple ANPs in one layer, and the ANP in the first layer
After the daisy chain operation is completed, the next layer ANP
12. The neurocomputer according to claim 11, wherein the daisy-chain operation is started for:
手段を設け、この手段はそのイネーブル信号を主制御回
路より特定時間にイネーブルすることによって特定時間
前記所定電圧を発生するダミーノードを構成するマック
スバリューノード回路であることを特徴とする請求の範
囲第11項記載のニューロコンピュータ。28. A neurocomputer as claimed in claim 11, characterized in that a means for generating a predetermined voltage is provided on the analog bus, and this means is a max value node circuit which constitutes a dummy node that generates the predetermined voltage for a specific time by enabling its enable signal from the main control circuit at a specific time.
路の閾値に対応する電圧であることを特徴とする請求の
範囲第28項記載のニューロコンピュータ。29. A neurocomputer according to claim 28, wherein said predetermined voltage generating means is a voltage corresponding to a threshold value of a nonlinear function circuit.
圧として、シーケンスのテストを行うことを特徴とする
請求の範囲第28項記載のニューロコンピュータ。30. A neurocomputer according to claim 28, wherein said predetermined voltage generating means is set to 0 voltage during testing to test the sequence.
に接続され、対象のANPにダミー信号を発生するダミー
ノードであり、このダミーノードを含めて、ディジーチ
ェーン動作を行うことを特徴とする請求の範囲第28項記
載のニューロコンピュータ。[Claim 31] A neurocomputer as described in claim 28, characterized in that the predetermined voltage generating means is a dummy node connected to each analog bus and generating a dummy signal to the target ANP, and daisy chain operation is performed including this dummy node.
電圧を発生する手段と、 前記固定電圧をマスタコントロールブロックからのイネ
ーブル信号によってダミーノード出力に送信するメモリ
制御手段とを有することを特徴とする請求の範囲第28項
記載のニューロコンピュータ。[Claim 32] A neurocomputer as described in claim 28, characterized in that the max value node circuit has means for generating a fixed voltage and memory control means for transmitting the fixed voltage to a dummy node output in response to an enable signal from a master control block.
号としてアナログ出力信号を生じるアナログ回路部分
と、前記アナログ回路部分を制御するディジタル回路部
分とからなるニューロンユニットと、 該ディジタル回路部はマスタコントロールブロックから
の制御信号をAN P内スイッチング制御信号に変換するシ
ーケンスジェネレータと、 前記アナログ回路に含まれるスイッチ素子のスイッチン
グを制御する制御信号の位相を制御する位相制御回路
と、 重みメモリから与えられるシリアル重みディジーをパラ
レルデータに変換するシフトレジスタ手段とよりなるこ
とを特徴とするニューロコンピュータ。[Claim 33] A neurocomputer comprising a neuron unit consisting of an analog circuit section which performs a product-sum operation on an analog input signal to generate an analog output signal as a signal, and a digital circuit section which controls said analog circuit section, said digital circuit section comprising a sequence generator which converts a control signal from a master control block into a switching control signal within an ANP, a phase control circuit which controls the phase of a control signal which controls the switching of a switch element included in said analog circuit, and a shift register means which converts serial weight daisy chains given from a weight memory into parallel data.
信号を入力し、積分器のキャパシタの電荷を放電するCR
ST信号と 同期信号SYNCとDCLK,WCLK,WDを入力し、 サンプル/ホールド回路と、シフトレジスタのパラレル
アウトのイネーブル信号と、符号ビットのイネーブル信
号と、内部クロックCLKと、重みデータと、シフト用ク
ロック、非線形関数を通過するかどうかを選択する選択
制御信号と、ディジーチェーン用のCSO信号とを少なく
とも発生することを特徴とする請求の範囲第33項記載の
ニューロコンピュータ。34. The sequence generator receives a reset signal and outputs a CR signal to discharge the charge on the capacitor of the integrator.
34. The neurocomputer of claim 33, which receives as input an ST signal, a synchronization signal SYNC, and DCLK, WCLK, and WD, and generates at least a sample/hold circuit, an enable signal for the parallel output of the shift register, an enable signal for the sign bit, an internal clock CLK, weight data, a shift clock, a selection control signal for selecting whether to pass through a nonlinear function, and a CSO signal for daisy chain.
を遅延する第1,第2の遅延手段と、 遅延手段の出力を他方の遅延手段の入力にフィードバッ
クする手段とからなり、前記2つの出力信号が正相と逆
相であってこれらによって制御されるスイッチが同時に
オンとならないように位相制御を行うことを特徴とする
請求の範囲第33項記載のニューロコンピュータ。[Claim 35] A neurocomputer as described in claim 33, characterized in that the phase control means comprises first and second delay means for delaying the opposite phase signal and the positive phase signal, and means for feeding back the output of one delay means to the input of the other delay means, and performs phase control so that the two output signals are positive phase and opposite phase and the switches controlled by them are not turned on at the same time.
号によってイネーブルされ、WCLKから形成されるクロッ
クによって重みデータをビットシリアルにシリアルイン
した後、WR信号によってイネーブルしてパラレル出力す
ることを特徴とする請求の範囲第33項記載のニューロコ
ンピュータ。[Claim 36] A neurocomputer as described in claim 33, characterized in that the shift register is enabled by a control signal, serializes weight data bit-serial by a clock formed from WCLK, and then enables it by a WR signal to output it in parallel.
つの出力層から階層型ネットワークを構成することを特
徴とするニューロコンピュータ。37. An input layer, at least one hidden layer ANP and at least one
A neurocomputer characterized by a hierarchical network consisting of two output layers.
ログバスを介して入力側に帰還することにより一層を時
分割多重使用ことによりにより階層型のネットワークを
構成するニューロコンピュータ。38. A neurocomputer that forms a hierarchical network by time-division multiplexing each layer by feeding back the output signals of a layer consisting of a plurality of ANPs to the input side via an analog bus.
状態になるまで帰還動作を繰り返して帰還型ネットワー
クを構成することを特徴とするニューロコンピュータ。39. A neurocomputer comprising a feedback network that repeats feedback operations until the output signal of a layer consisting of a plurality of ANPs reaches a steady state.
クと帰還型ニューラルネットワークとを組み合わせてニ
ューラルネットワークを構成することを特徴とするニュ
ーロコンピュータ。40. A neurocomputer comprising a neural network constructed by combining a hierarchical neural network and a feedback neural network using ANP.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1-502606A JPH07104847B2 (en) | 1988-08-31 | 1989-02-23 | Neurocomputer |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63-216865 | 1988-08-31 | ||
| JP21686588 | 1988-08-31 | ||
| JP1-502606A JPH07104847B2 (en) | 1988-08-31 | 1989-02-23 | Neurocomputer |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JPWO1990002381A1 JPWO1990002381A1 (en) | 1990-09-06 |
| JPH07104847B1 JPH07104847B1 (en) | 1995-11-13 |
| JPH07104847B2 true JPH07104847B2 (en) | 1995-11-13 |
Family
ID=26521675
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1-502606A Expired - Lifetime JPH07104847B2 (en) | 1988-08-31 | 1989-02-23 | Neurocomputer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07104847B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110770737B (en) * | 2017-06-21 | 2024-03-08 | 株式会社半导体能源研究所 | Semiconductor device including neural network |
| WO2019087500A1 (en) * | 2017-11-02 | 2019-05-09 | Tdk株式会社 | Array device comprising neuromorphic element, and neural network system |
| JP6536765B1 (en) * | 2018-09-27 | 2019-07-03 | Tdk株式会社 | Product-sum operation unit, neuromorphic device and product-sum operation method |
| CN117193935B (en) * | 2023-08-18 | 2025-02-07 | 浙江大学 | A timing diagram sampling method and system based on secure virtual machine container |
-
1989
- 1989-02-23 JP JP1-502606A patent/JPH07104847B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07104847B1 (en) | 1995-11-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR940001173B1 (en) | Neuro computer | |
| JP2679738B2 (en) | Learning processing method in neurocomputer | |
| US5220559A (en) | Neuron architecture | |
| US5175798A (en) | Digital artificial neuron based on a probabilistic ram | |
| US5333239A (en) | Learning process system for use with a neural network structure data processing apparatus | |
| US5216746A (en) | Error absorbing system in a neuron computer | |
| JPH07104847B2 (en) | Neurocomputer | |
| US5485548A (en) | Signal processing apparatus using a hierarchical neural network | |
| JPWO1990002381A1 (en) | Neurocomputer | |
| JP2677656B2 (en) | Central control system for neurocomputer | |
| AU624422B2 (en) | A learning process system for a neural network | |
| JP2618470B2 (en) | Error absorption method by weight correction in neurocomputer. | |
| JP3256553B2 (en) | Learning method of signal processing device | |
| JP2549454B2 (en) | Neuron mimetic network and neuron mimicking unit | |
| KR940001172B1 (en) | Learning processing method of network configuration data processing device | |
| JP3338713B2 (en) | Signal processing device | |
| JP3463890B2 (en) | Neural circuit mimic element | |
| JPH0266688A (en) | Hop field net | |
| JPH02232786A (en) | Error absorbing system by variable integral pulse in neurocomputer | |
| JPH07113918B2 (en) | Network learning processing device | |
| JP2517662B2 (en) | Chain controller | |
| JPH08123777A (en) | Neural circuit mimicry element | |
| JPH02232725A (en) | Neurocomputer having multidummy node | |
| JPH04229361A (en) | Neural network learning method and signal processing device using this method | |
| JPH05135001A (en) | Signal processor |