JPH02232725A - Neurocomputer having multidummy node - Google Patents

Neurocomputer having multidummy node

Info

Publication number
JPH02232725A
JPH02232725A JP1054671A JP5467189A JPH02232725A JP H02232725 A JPH02232725 A JP H02232725A JP 1054671 A JP1054671 A JP 1054671A JP 5467189 A JP5467189 A JP 5467189A JP H02232725 A JPH02232725 A JP H02232725A
Authority
JP
Japan
Prior art keywords
output
signal
analog
input
weight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1054671A
Other languages
Japanese (ja)
Inventor
Hideki Yoshizawa
英樹 吉沢
Hiromoto Ichiki
宏基 市來
Hideki Kato
英樹 加藤
Kazuo Asakawa
浅川 和雄
Yoshihide Sugiura
義英 杉浦
Hiroyuki Tsuzuki
都築 裕之
Shuichi Endo
秀一 遠藤
Takashi Kawasaki
川崎 貴
Toshiharu Matsuda
松田 俊春
Hiroshi Iwamoto
岩本 弘
Shuetsu Tsuchiya
土屋 主悦
Katsuya Ishikawa
勝哉 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1054671A priority Critical patent/JPH02232725A/en
Priority to EP90103900A priority patent/EP0385436B1/en
Priority to DE69026740T priority patent/DE69026740D1/en
Priority to US07/486,647 priority patent/US5216746A/en
Publication of JPH02232725A publication Critical patent/JPH02232725A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To transmit and receive data with a small number of wirings and to extend the dynamic range by providing a neural network consisting of gathering of analog neuroprocessors, a control pattern memory, etc. CONSTITUTION:Plural analog neuroprocessors (ANP) are used to constitute a hierarchical or feedback neural network 18. The control signal outputted from a control pattern memory 12 to which the access address is given by a sequencer 13 is applied to the network 18. Weight data obtained by learning or the like is supplied to the network 18 from a weight memory 14. The network 18, the memory 12, the sequencer 13, and the memory 14 are controlled and managed by the digital signal of a digital control means 15. A dummy node means 19A and a multidummy node control means 19B are provided to not only extend the dynamic range of weight data in the fixed point system but also quickly transmit and receive data with a small number of wirings.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔概   要〕 アナログニューロチソブをアナログ時分割伝送路により
結合することで実現され、固定小数点方式で表現された
重みデータのダイナミックレンジを広げたニューロコン
ピュータに関し、少ない配線本数で階層ネットワークを
構成する基本ユニソト間でのデータの授受を実現でき、
かつ固定小数点方式のダイナミックレンジを拡大できる
ニューロコンピュータを実現できるようにすることを目
的とし、 アナログ信号を第1のアナログバスより時分割的に入力
し、積和演罪を行ってアナログ信号を第2のアナログバ
スに出力するアナ口グニューロプロセッサの集合からな
るニューラルネットワークと、該ニューラルネットワー
クのIII御情報を格納する制御パターンメモリと、該
制御パターンメモリのアドレスをアクセスするための信
号を発生するシーケンサと、該シーケンサによって制御
され前記アナログニューロブロセソサに対する重みデー
タを格納する重みメモリとを有するニューロコンピュー
タにおいて、各層のアナログバスの出力電圧値が所定の
ダイナミックレンジを越える場合には、その層の入力側
のアナログバスに接続されるダミーノード手段からの固
定電圧に乗算されるmみデータを複数の重みデータの和
で表現し、各分割された重みデータを独立に重みメモリ
に記憶するマルチダミーノード制御手段を有するように
構成する。 (産業上の利川分野〕 本発明は、ニューロ.コンピュータに係り、さらに詳し
くは、アナログニューロチップをアナログ時分割伝送路
により結合することで実現され、固定小数点方式で表現
された重みデータのダイナミックレンジを広げたニュー
ロコンピュータに関する。 〔従来の技術〕 従来の逐次処理コンピュータ(ノイマン型コンピュータ
)では、使用方法や環境の変化に応じてコ゛ンビュータ
のデータ処理機能を調節することが難しいので、適応性
を有するデータ処理方式として、新たに階層ネットワー
クによる並列分散処理方式が提唱されてきている.特に
、パックブロバゲーシ9ン法と呼ばれる処理方式(D.
B.Rumelhart,G.E.Hinton, a
nd.R.J.Williaas+  @Learni
ngInLernal Representation
s by Error Propagation +P
ARALLEL DISTRIBUTED PROCE
SS[NG, Vol.1. 9P.318−364,
 The MIT Press, 1986)が、その
実用性の高さから注目されている。 バック・プロバゲーシ冒ン法では、基本ユニットと呼ぶ
一種のノードと重みを持つ内部結合とから階層ネットワ
ークを構成している。第38図に、基本ユニット1の原
理構成を示す。この基本ユニソト1は、連続二エーロン
モデルに類似した処理を実行する。すなわち、これは多
大力一出力系となっており、複数の入力{Yh )に対
しそれぞれの内部結合の重み{wt h Iを乗じる乗
算処理部2と、それらの全乗算結果を加算する累算処理
部3と、この加算値に非線形の閾値処理を施して1つの
最終出力X.を出力する闇値処理部4とを備える。 第39図は階層型ニューラルネットワークの構成概念図
である。構成の多数の基本ユニット{1−h,1−i,
1−j)が、第39図に示すように階層的に接続される
ことで、入力信号パターンに対応するところの出力信号
パターンが出力されることになる。 学習時には、出力パターンと目的とする教師パターンの
差が小さくなるように、各階層間の結合の重み(Wi 
h )が決定される。このような学習は、複数の入力パ
ターンに対して行われ、多重化される。また、連想時に
は、入力パターンが学習時に入力した完全情報と少し異
なる不完全な情報であっても、学習時の教師パターンに
近い出力パターンが得られることにより、連想処理が可
能となる。 〔発明が解決しようとする課題〕 このような構成のニューロコンピュータを現実のものと
していくためには、階層ネットワークを構成することに
なる基本ユニット1間のデータの授受を、できる限り少
ない配線本数で実現していく必要がある。このことは、
複雑なデータ処理を実現していくために、階層ネットワ
ークの構成をより多層化したり、基本ユニットの数を増
していく必要があるという背景のもとで、どうしても解
決していかなくてはならない課題の1つなのである。 しかしながら、先に説明したデータ転送方式では、第3
9図に示す階層ネットワークの構成からも明らかなよう
に、2つの眉間の配線本数が極めて多くなることから、
階層ネットワークをチ・7ブ化するときに、小さくでき
なくなると共に、信頼性を高めることができなくなると
いう問題点がある。例えば、隣接する2つの層の基本ユ
ニット数を同じとし、すべての基本ユニット1が互いに
接続されるという完全結合を想定するならば、配線本数
は基本ユニット数の2乗に比例して増加することになる
。このように、配線本数が急激に増加してしまう。さら
に、データを最上位ビットの次に小数点がある固定小数
点方式であらわした場合、1以上の数を表現できないの
で、データのグイナミンクレンジが広くできないという
問題があった.本発明は、少ない配線本数で階層ネソト
ワークを構成する基本ユニソト間でのデータの漫受を実
現でき、かつ固定小数点方式のダイナミックレンジを拡
大できるニューロコンピュータを実現できるようにする
ことを目的とするものである。 〔課題を解決するための手段〕 11A図は本発明のニューロコンピュータのシステムブ
ロック図である。 ニューラルネットワーク18は各層の入力側にある共通
の第1のアナログバスからアナログ信号を時分割で入力
しデジタル重みデータを用いて積和演算を実行してアナ
ログ信号をその層の出力側にある共通の第2のアナログ
バスに出力するアナログニューロプロセッサ(以下AN
Pと記す)の集合を層とする少なくとも1層以上のネフ
トワークである。 制御パターンメモリ12は前記二エーラルネットワーク
の制御信号のパターンを格納する.!iみメモリ14は
重みデータを格納する。シーケンサ13は該制御パター
ンメモリ12及び重みメモリl4のアドレスを発生する
。デジタル制御手段15はMPUと主記憶を有する汎用
の処理装置であってネソトワーク18とD/A及びA/
Dコンバータ16,17を介して接続され、前記ニュー
ラルネ・7トワーク、制御パターンメモリ、シーケンサ
、重みメモリの全体を制御する。本発明はこのようにし
てニューロコンピュータシステムを構成する。 そして、ダミーノード手段19Aとマルチダミーノード
iFilI御手段19Bを設けることによりダミーノー
ドに対する重みデータが1以上になった場合でも、この
重みデータを複数の重みデータの和として表現する。 〔作   用〕 アナログ入力信号を時分割でアナログニユーロチップに
入力し、この信号と重みデータとの積を取り、この積信
号をそれぞれ加算して得られる積和信号を非線形関数回
路を通して出力することによりアナログニユーロチップ
を構成する.このアナログニユーロチップを複数個用い
て階層型あるいは帰還型のニューラルネットワーク18
を構成し、このニューラルネットワーク18にシーケン
サ13によってアクセスすべきアドレスが与えら信号を
加える。またニエーラルネットワーク18には学習等に
よって得られる重みデータが重みメモリl4から供給さ
れる。そしてニエーラルネットワーク1B、制御パター
ンメモリ12、シーケンサ13、重みメモリl4はディ
ジタル制御手段15のディジタル信号によって制御され
、且つ管理される。また、ディジタル制御手段l5内の
MPUでは、特に、学習アルゴリズムが実行され、かつ
出力信号のチェックなどが行われる。このようにして、
時分割アナログ入力信号と時分割アナログ出力信号を用
いることを特徴とするアナログニューロコンピュータシ
ステムが実現される。 さらに、ダミーノードに対する1以上の重みデ一夕も複
数のダミーノードに対する瓜みデータに分割することに
より、固定小数点方式で表現でき、その結果、固定小数
点方式による重みデータのダイナミックレンジを拡大で
きる。 (実  施  例) 以下、図面を参照して本発明の実施例を説明する。 第IB図は本発明のニューロチップから構成されるアナ
ログニューロプロセッサ(ANP)1 1のデュアルイ
ンラインパッケージの概略図である.これは、MB44
42と呼ばれニエーロンモデルの処理を実行する。内部
の閾値処理部はシグモイド関数で置換したモデルとなっ
ている。ア.ナログニューロチップはANPと呼ばれ、
アナログデータを入出力するデバイスである。第lC図
は本発明のANPの内部構成図である.第IC図に示す
ようにANPIIはアナログバスBlとアナログバスB
2の間に接続される.ANP11は入力するアナログ信
号と重みを掛けるアナログ乗算部22、債の和を求める
アナログ加算部23、和を保持するサンプル/ホールド
部24、シグモイド関数の値を出力する非線形関数部2
5よりなる。第1B図のANPIIの各端子を説明する
.。ANP11の内部はアナログ回路部とディジタル回
路部から構成されている。十−6ボルトの端子は、アナ
ログ回路部のオペアンプに供給される電源端子である。 D i n及びD outはアナログ入力信号及び出力
信号の端子である。AGNDはアナログ回路部の接地端
子である。Rt+及びR
[Summary] This is a neurocomputer that is realized by connecting analog neurotisubs using an analog time-division transmission line and that expands the dynamic range of weight data expressed in a fixed-point system, and constructs a hierarchical network with a small number of wires. It is possible to exchange data between basic UniSotos,
The aim is to realize a neurocomputer that can expand the dynamic range of a fixed-point system. Analog signals are time-divisionally input from the first analog bus, and the analog signal is converted to the first A neural network consisting of a set of analog gnuroprocessors that output to the second analog bus, a control pattern memory that stores III control information of the neural network, and a signal for accessing the address of the control pattern memory. In a neurocomputer that has a sequencer and a weight memory that is controlled by the sequencer and stores weight data for the analog neuroprocessor, when the output voltage value of the analog bus of each layer exceeds a predetermined dynamic range, Multiplying data multiplied by a fixed voltage from a dummy node means connected to an analog bus on the input side of the multi-channel controller is expressed as the sum of a plurality of weight data, and each divided weight data is stored independently in a weight memory. It is configured to have a dummy node control means. (Industrial Icheon Field) The present invention relates to neuro-computers, and more specifically, the present invention relates to neuro-computers, and more specifically, the present invention is realized by connecting analog neuro-chips through an analog time-division transmission line, and the dynamic range of weight data expressed in a fixed-point system is [Prior Art] With conventional sequential processing computers (Neumann type computers), it is difficult to adjust the data processing function of the computer according to changes in the usage method or environment. As a data processing method, a new parallel distributed processing method using a hierarchical network has been proposed.In particular, a processing method called the pack broadcasting method (D.
B. Rumelhart, G. E. Hinton, a.
nd. R. J. Williaas+ @Learni
ngInLernal Representation
s by Error Propagation +P
ARALLEL DISTRIBUTED PROCE
SS[NG, Vol. 1. 9P. 318-364,
The MIT Press, 1986) is attracting attention because of its high practicality. In the backprovergation method, a hierarchical network is constructed from a type of node called a basic unit and internal connections with weights. FIG. 38 shows the basic configuration of the basic unit 1. This basic Unisoto 1 performs a process similar to the continuous two-aeron model. In other words, this is a large-power single-output system, including a multiplication processing unit 2 that multiplies a plurality of inputs {Yh ) by the respective internal connection weights {wt h I, and an accumulation unit that adds all the multiplication results. A processing unit 3 performs nonlinear threshold processing on this added value to produce one final output X. and a dark value processing section 4 that outputs. FIG. 39 is a conceptual diagram of the structure of a hierarchical neural network. A number of elementary units of the configuration {1-h, 1-i,
1-j) are connected hierarchically as shown in FIG. 39, so that an output signal pattern corresponding to the input signal pattern is output. During learning, the weights of connections between each layer (Wi
h) is determined. Such learning is performed for multiple input patterns and multiplexed. Further, during associative processing, even if the input pattern is 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. [Problem to be solved by the invention] In order to make a neurocomputer with such a configuration a reality, it is necessary to transmit and receive data between the basic units 1 that constitute the hierarchical network using as few wiring lines as possible. We need to realize this. This means that
In order to realize complex data processing, it is necessary to make the hierarchical network structure more multi-layered and increase the number of basic units, and this is an issue that must be solved by all means. It is one of the. However, in the data transfer method explained earlier, the third
As is clear from the hierarchical network configuration shown in Figure 9, the number of wires between the two eyebrows is extremely large.
When a hierarchical network is divided into chips, there are problems in that it cannot be made smaller and reliability cannot be increased. For example, if the number of basic units in two adjacent layers is the same and we assume a perfect connection in which all basic units 1 are connected to each other, the number of wires will increase in proportion to the square of the number of basic units. become. In this way, the number of wires increases rapidly. Furthermore, when data is expressed using a fixed-point system with a decimal point after the most significant bit, numbers greater than 1 cannot be expressed, so there is a problem that the Guinamin range of the data cannot be widened. SUMMARY OF THE INVENTION The present invention aims to realize a neurocomputer that can realize the exchange of data between basic UniSotos that constitute a hierarchical network with a small number of wires, and that can expand the dynamic range of a fixed-point system. It is. [Means for Solving the Problems] Figure 11A is a system block diagram of the neurocomputer of the present invention. The neural network 18 inputs analog signals in a time-division manner from a common first analog bus on the input side of each layer, performs a sum-of-products operation using digital weight data, and transfers the analog signals to the common first analog bus on the output side of that layer. Analog neuroprocessor (hereinafter referred to as AN) outputs to the second analog bus of
It is a network with at least one or more layers, which is a set of layers (denoted as P). A control pattern memory 12 stores patterns of control signals of the two-aerial network. ! The weight memory 14 stores weight data. Sequencer 13 generates addresses for control pattern memory 12 and weight memory 14. The digital control means 15 is a general-purpose processing device having an MPU and a main memory, and includes a network 18, D/A, and A/
It is connected via D converters 16 and 17, and controls the entire neural network, control pattern memory, sequencer, and weight memory. The present invention configures a neurocomputer system in this manner. By providing the dummy node means 19A and the multi-dummy node iFiIL control means 19B, even if the weight data for the dummy node becomes 1 or more, this weight data is expressed as the sum of a plurality of weight data. [Operation] Inputs an analog input signal to the analog neurochip in a time-division manner, calculates the product of this signal and weight data, adds the product signals, and outputs the product-sum signal obtained through the nonlinear function circuit. This constitutes an analog neurochip. Hierarchical or feedback neural network 18 using multiple analog neurochips
, and a signal is applied to this neural network 18 by the sequencer 13 giving the address to be accessed. Further, the neural network 18 is supplied with weight data obtained through learning or the like from the weight memory l4. The neural network 1B, control pattern memory 12, sequencer 13, and weight memory 14 are controlled and managed by digital signals from the digital control means 15. Further, the MPU in the digital control means 15 particularly executes a learning algorithm and checks output signals. In this way,
An analog neurocomputer system characterized by using time-division analog input signals and time-division analog output signals is realized. Furthermore, one or more weight data for a dummy node can be expressed using a fixed point system by dividing it into pieces of data for a plurality of dummy nodes, and as a result, the dynamic range of the weight data based on the fixed point system can be expanded. (Example) Hereinafter, an example of the present invention will be described with reference to the drawings. FIG. IB is a schematic diagram of a dual in-line package of an analog neuroprocessor (ANP) 11 comprised of the neurochip of the present invention. This is MB44
42 and executes Nieron model processing. The internal threshold processing section is a model replaced by a sigmoid function. a. The analog neurochip is called ANP.
A device that inputs and outputs analog data. Figure 1C is an internal configuration diagram of the ANP of the present invention. As shown in FIG.
Connected between 2. The ANP 11 includes an analog multiplier 22 that multiplies input analog signals and weights, an analog adder 23 that calculates the sum of bonds, a sample/hold unit 24 that holds the sum, and a nonlinear function unit 2 that outputs the value of the sigmoid function.
Consists of 5. Each terminal of ANP II in Figure 1B will be explained. . The inside of the ANP 11 is composed of an analog circuit section and a digital circuit section. The 1-6 volt terminal is the power supply terminal supplied to the operational amplifier of the analog circuit section. D in and D out are terminals for analog input signals and output signals. AGND is the ground terminal of the analog circuit section. Rt+ and R

【一端子はアナログ回路部にあ
る積分回路の外付抵抗Rの端子であり、Ct+、Ct一
端子は同じく積分回路の外付キャパシタCの端子である
。DGNDはディジタル回路部のグランド端子である。 +5ボルトはディジタル回路部の電R端子である。RS
Tは積分回路のキャパシタの電荷等のリセットを行うリ
セット信号端子である。CSI及びCSOはディジーチ
ェーン用制御信号の入出力端子であり、OCはオフセッ
トキャ,ンセルIl御信号用端子、S/H端子は、サン
プル/ホールド用制御信号端子、SYNCは各層の処理
に対する同期信号端子、DCLKはアナログ入力信号の
処理を行うための基本クロック信号端子、WCLKはデ
ィジタル重みデータを取り込むためのクロック端子、W
Dはビットシリアルで入力するディジタル重みデータ用
の端子である。 第2図は、本発明のアナログニューロプロセッサ(AN
P)の原理構成図である。 別々のANP (図示せず)から時分割的に送られてく
るアナログ入力信号をアナログバスBlからANP l
 l内のアナログ乗算部22に入力し、このアナログ乗
算部22ではシフトレジスタ27を介してビットシリア
ルに入力されその後直並列変換されたディジタル重みデ
ータWDと掛け算して、アナログ入力信号とディジタル
重みデータとの積を示す積信号を得る。次の、アナログ
加算部23は、外付けの抵抗RとキャパシタCからなる
ミラー積分回路であって、アナログバスBlに接続され
た前段の複数のANP (ANPの存在する場所をノー
ドと呼ぶ)から時分割で送られるアナログ入力信号とダ
ミーノードから送られる閾値用のアナログ入力信号とか
らそれぞれ得られる積信号の和を求めるものである.次
に、サンプル/ホールド部24で績信号を所望時間待た
せるためにホールドした後に、さらにそのサンプル/ホ
ールドされた出力を非線形関数部25を介して変換する
。出力制御部26では、シーケンスジェネレータ28の
制御を受けて所定時間遅延させた後に、アナログ.出力
信号D。uLをアナログバスB2へ出力する。なお、シ
ーケンスジェネレータ28は内部に供給される制御信号
も生成する。そして、位相制御部29では、おもにAN
P内のアナログ回路部とディジタル回路部を接続する各
スイッチのオンかオフが確実に行われるように、制御信
号の位相を制御するもので、特に、第1のスイソチがオ
ンのとき第2のスイッチをオフにする場合それ等のスイ
ッチが同時にオンする場合がないように制御信号の位相
をfiIl御する。 なお、シーケンスジェネレータ28は、リセット信号R
ST..DCLKSWCLK,SYNC,S/H,QC
,CS Iを後述するマスクコントロールブロツタから
入力するとともにCSOを出力し、ANPの内部の制御
信号を生成する。 ニューラルネットワークでは、同時処理により高速演算
を行う必要がある。本発明では時分割データを使ってい
るが、定常状態では、各ANPがパイプライン的に同時
処理を行う。理想的なニューラルネットワークでは、ニ
エーロンは他のそれぞれのニューロンに相互結合した結
線が必要であるが、このままシステムを実現しようとす
ると、配線数が多くなる。そこで、本発明では時分割デ
ータを扱うので、各ANP内の積和の処理時間が伸びる
が、それを縦方向に、すなわち同層方向にチップを並列
に並べることで、層内のニューロチップを構成するAN
Pの同時処理により、その処理時間を改善する。また、
各層ではパイプライン処理が可能で、このことでも処理
時間が小さくなる。アナログバスに接続した例えば3個
の各ニューロチップには、入力が入ってくると、それは
3個とも同時に入り3個とも並列に、そのアナログ電圧
に対して、各ANPが重みとの積を生成し、それを積分
器のキャパシタに電荷として保持する。 そして、次の時間区域で、同じアナログバスのアナログ
入力に対して、各ANPは重みとの積を形成し積分器の
キャパシタ内に前の時間区域で決まった積に加え込むこ
とになる。前段のすべてのANPからのアナログ入力信
号に対する重みとの積に対する和が生成された後、その
和はサンプル/ホールドされる。その後、シグモイド関
数を介して出力されるが、これは、CSI制御信号入力
時に出力される。そして、出力完了時にCSIが立ち下
がり、その後一定時間遅延後にCSOを立ち上げて、出
力バスの使用権を同一層内の隣接二エーロチップからな
るANPに与える。 第3図はニューロチップである基本ユニットの第1の実
施例構成図である.同図の乗算部32、加算部33、閾
値処理部34は連続ニューロンモデルの実行部であるが
、この実施例では出力保持部35が存在する.具体的に
は、基本ユニット31に接続される複数の入力をYi1
この各接続に対応して設定される重みをWiとするなら
ば、乗算部32は、 Yi−Wi を算出し、加算部33は、 X=ΣY i −W i一〇 を算出する。但し、θは閥値である。閾値部34は最終
出力をYとするならば、 Y= 1/ (1 + exp (−X) )  ・・
・11)を算出することになる。 ダミーノードから入力される1+1″という値に1一θ
”という重みをかけて加算部33で「×一θ」の結果が
出力される。従って閾値部34ではS字曲線による変換
だけが行われている。 乗算部32は、乗算型D/Aコンバータ32aで構成さ
れ、前段層の基本ユニット31から、あるいは後述する
ダミーノードの回路からのアナログ信号(入力スイッチ
部37を介して入力される)の入力と、その入力に対し
て乗算されるべきデイジタル信号の重み情報(後述する
重み保持部38を介して入力される)との乗算を行って
、得られた乗算結果をアナログ信号で出力するよう処理
するもの、加算部33は、積分器で構成されるアナログ
加算器33aとアナログ加算器33aの加算結果を保持
する保持回路33bとにより構成される。乗算型D/A
コンバータ32aは、D/Aコンバータの基準電圧端子
にアナログ入力信号を入力し、各ディジタル入力端子に
重みの各ビットをディジタル入力信号として入力するも
のであり、結果として、そのアナ.ログ入力信号と重み
との積を生成する。アナログ加H器33aは、乗算型D
/Aコンバータ32aの出力と、前回に求められて保持
回路33bに保持されている加算値とを加算して新たな
加算値を求めるもの、保持回路33bは、アナログ加算
B33aが求めた加算値をホールドするとともに、その
ホールド値を前回の加算値としてアナログ加算W33a
にフィードバックさせるものである。これらの加算処理
は制御回路39より出力される加算制御信号に同期して
実行される。閾値部34は、アナログの関数発生回路で
ある非線形関数発生回路34aで構成され、入力に対し
てシグモイド関数等の非線形信号を出力するものである
。乗算結果の累算が閾値(一θ)の加算を含めて終了し
たときに、保持回路33bにホールドされている加算値
Xに対し闇値(一θ)を加えて(13式のシグモイド関
数の演算処理を施し、アナログ出力値Yを得るもの、出
力保持部35は、サンプルホールド回路で構成され、後
段層の基本ユニソ}31への出力となる非線形関数発生
回路34aのアナログ信号の出力値Yをホールドするも
のである。 また、36は出力スインチ部であり、制御回路39より
の出力制御信号を受けて一定時間ONすることで、出力
保持部35が保持するところの最終出力をアナログバス
B2上に出力するよう処理するもの、37は入力スイッ
チ部であり、制御回路39よりの入力制御信号を受けて
前段層の基本ユニット31から最終出力からのアナログ
出力が送られてくるときにONすることで入力の受付を
行う。38は重み保持部であり、パラレルアウトシフト
レジスタ等により構成され、重みメモリから送られてく
るビットシリアルの重み信号がバッファ38aのゲート
がオーブン(制御回路39による重み入力制御信号がオ
ン)された時に、この重み信号を乗算部32が必要とす
るビットパラレルの重みとして保持するものである。ビ
ットパラレルの重みは乗3γ制御信号が与えられたとき
にパラレルで乗算部に与えられる。39はディジタル回
路部の制御回路で外部からの同期信号から内部の同期信
号を生成するもので、内部のアナログ処理の機能の制御
を実行する。 このように構成されることで、第3図の信号処理構成を
採る基本ユニット31の入出力がアナログ信号でもって
実現されることになるのである.なお、乗算型D/Aコ
ンバータ32aは、ディジタル信号の重み情報をパラレ
ルで受け取るようにするものでもよいし、mみ情報をシ
リアルで受け取ってからパラレル変換するようにするも
のでもよい。あるいは、重み情報をアナログ信号で構成
するならば、乗算型D/Aコンバータ32a(7)代わ
りに、アナログ乗算器を用いることができる。 第4図は1@の本発明のニューロチップ(ANP)の実
施例の具体的回路図である。 このユニットでは入力部42、乗算部43、加算部44
、サンプル/ホールド部45、非線形関数部46、及び
出力部47.から構成され、ここでは、出力保持回路は
なく、サンプル/ホールド部45が出力保持の機能も有
するものとする。 入力部42はオフセットキャンセル部5lと、1倍のバ
ッファ49から構成されている。1倍のバッファ49は
電圧フォロアで、オペアンプの出力を一端子にフィード
バックし、十端子に入力電圧を入力することによって構
成される。データ入力はアナログの時分割されたパルス
信号である。 OCはオフセットコントロール信号であり、これが1の
ときアナログスイソチ66がオンし、1倍のバッファ4
9には、0電圧が強制的に設定される。一方、オフセッ
トコントロール信号OCが、0のときアナログスイッチ
66はオフされ、他方のアナログスイッチの他方65が
オンし、データ入力が1倍のバッファ49に入力される
。すなわち、オフセットコントロール信号OCが1であ
る場合には、ニューロンユニットには0ボルトが強制的
に入力されて乗算器出力までの回路のオペアンプ出力に
生じるオフセット電圧に対するオフセットのキャンセル
の動作を行うようにしている。 アナログスイッチ65と66は同図ではOC信号の反転
位相と正相位相でスイッチングの制御が行われているが
、位相詞御回路によって、同時オンがないようになって
いる。以後このことをOCが『位相制御された」という
言い方をすることにする。 正負切換回路52は2つの倍数器をカスケード結合して
構成されている。倍数器では入力抵抗(IOKΩ)とフ
ィードバック抵抗(10KΩ)によって10/10、す
なわち1倍の電圧の反転したものが形成され、それを1
段だけを通すか、2段を通すかによってアナログ電圧の
符号を決定している。 その制御信号はディジタル重みデータの符号ビ・ノト 
(SION)であり、このSIGNビットはMOSスイ
ッチ70のゲートに接続されている。このSIGNの制
御信号も位相制御されている。符号ビットが1である場
合に入力部42からの入力電圧は第1段目の倍数器で反
転され、さらにスイソチ67もオンしているので後段の
倍数姦も通り、結果として正相となる。また符号ビット
がOである場合には、反転回路68を介して、スイッチ
69がオンとなる。この時スイッチ67と70はオフし
ているため、入力部42からの入力電圧はスイッチ69
を介して後段のオペアンブ71の一端子に入力される。 従って、前段の抵抗72と後段のオペアンプのフィード
バノクの抵抗73とによって倍数器が形成され、1倍さ
れた形で反転される。すなわち、符号ビットの正負によ
って入力部42の入力が、正または負の電圧として形成
され、これが、興奮性と抑制性のシナブス結合に従った
電圧となる。正負切換回路52からの出力は乗算部43
の中にあるD/Aコンバータ53のR−2R抵抗回路網
の74の点、すなわち基準電圧端子に入力されるゆ R−2R方式のD/Aコンバータをまず説明する,MS
I3からLSBまでのディジタル重みによって内部のス
イソチはオンまたはオフをとる。ディジタルイ【αが1
である場合に、電流は右側のスインチ75を通って、オ
ペアンプ76の仮想接地点7Bに流れ込む。オペアンプ
76の仮想接地点78は十端子と同じ電圧になるように
制御され、これがグランドであるから仮想的なOボルト
である。 D/Aコンバータ53においてRはIOKΩ、2Rは2
0KΩである。スイッチの状態に関わらず、2Rの抵抗
には電流が流れ、ディジタル値の値に従ってその2Rに
流れる重み電流が仮想接地点78の方に流れるかどうか
が決定される.1番右の2Rに流れる電流をiとする。 右から2番目すなわちLSBに対応する2Rの電流は1
番右の2Rにかかる電圧を2Rで割った値であるから2
RXi÷2Rでiとなる。従って1番右の横方向のRに
は電流21が流れる。右から3番目の2Rには2RX 
i+RX2 iの電圧がかかり、これを2Rで割るから
21の電流が流れる.pi下同様で左に行くに従って4
i,8fとなって2のべき乗で増える電流になる。この
2のべき乗になった重み電流をオペアンプの方に流すか
流さないかを決めているのがMSBからLSBである。 従って、ディジタル重みに対応する電流が2のべき乗の
形で仮想接地78に流れこみ、オペアンブ76の入力イ
ンピーダンスは無限大であるから、この電流がオペアン
プ36の帰還抵抗78に流れる。従って、D/Aコンバ
ータの出力電圧■。1は入力電圧をEとすれば、 + ・ ・ ・ ・ +2”  ×Da−+  )とな
る。ここで、D0はLSBで、Da−1がMSBである
とする。すなわち、掛算部43の出力は等価的に入力電
圧Eに重みを掛けた値になっている。 その重み係数はMSBからLSBに入力されるディジタ
ル値で制御されることになる。一方、加算部44は時分
割多重化アナログ信号の各電圧とディジタル重みデータ
との各積についてミラー積分器を時分割的に使用するこ
とにより累積加算動作を実行する。そして、サンプル/
ホールド回路45は、加算結果をサンプル/ホールドす
る。 次に加算部44を説明する。加算部44は抵抗Rと帰還
キャパシタCによる積分器である。加算部44の入力部
には時分割加算@御部55があり、位相制御されたサン
プル/ホールド信号S/Hi号が1のとき乗箆部43の
出力電圧がオペアンプの仮想接地点79に入力され、S
/H信号が0のとき反転回路80によりスイ・7千8】
がオンとなって乗算部43の出力が抵抗Rを介してグラ
ンドに接続されるので加算部44帰還キャパシタCには
加算されないことになる。今、S/H信号が1のとき、
乗算部43の出力電圧は抵抗Rを介してオペアンプ10
2の一端子に入力し、入力電圧を抵抗Rで割った電流が
仮想接地を介して帰還キャパシタCの方に入力される。 この後、S/H信号がまた0となり、乗算部43と加算
部44は切り離されるので、乗算部43は次の入力信号
に対して、重みデータを掛けることができる。キャパシ
タCを含む積分回路の帰還回路82には4つのスインチ
を用いてオフセントキャンセル機能が付加されている。 今オフセソトコントロール信号OCが1になったとする
と、スイッチ83と84がオンで、85と86がオフと
なる。オフセットコントロール信号OCがOの時には、
データ入力部42、データ入力端子DATA − IN
PUTに入力電圧が与えられ、それに対応する乗算部4
3の出力が抵抗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がOである場合と違ってスイソチ83.8
4がオンとなり、キャパシタCの十一の極性は逆転する
。そのため、入力信号が入力された時に生じるオフセソ
ト電圧はオフセットコントロール信号OCを1にするこ
とにより、キャパシタCの極性が変わり、結果として、
オフセントがキャンセルされることになる。本発明では
、このように、キャパシタCの極性の反転を用いて等価
的にオフセソトキャンセル機能を有するように構成され
ている。なお、スイソチ87はリセット信号によって制
御され、処理開始時にリセット信号が与えられた場合に
、キャパシタChの電圧を零にし、加算部の出力を強制
的にOにリセットするものである。このOC信号も位相
制御されているものとする。 加算部44の出力はサンプル/ホールド回路45の入力
となる。サンプル/ホールド部45では、位相制御され
たサンプル/ホールド制御信号S/H o+atが1で
ある場合に、スイッチ88を介して加算部44の出力が
キャパシタChに蓄えられる。 S / H ot+t制御信号が1である場合には、反
転回FIs94によってスイッチ90の制御信号は0と
なり、キャパシタC,の一方の端子はグランドに接地さ
れず、スイッチ91がオンになることによりユニットの
最終出力信号がそのスイッチ91を介してキャパシタC
hに入力される。すなわち、その時の最終出力信号がオ
ペアンプ96の出力端からフィードバックされてキャパ
シタCbの下側に与えられる。従って、キャパシタCに
は、加算部44の出力から最終出力信号の値を引いた電
圧が保持される。一方S / H 0−t制御信号が0
のときには、スイッチ89と90がオンし、キャパシタ
C,の下側はグランドとなり、結果としてキャパシタC
に蓄えられた電圧、すなわち加算部44の出力から最終
出力値を引いた電圧値がスイッチ89を介して1倍のオ
ペアンプ93の十側に入力され、そしてこのオペアンプ
93はバッファとして働いて、オペアンプ93の出力が
シグモイド関数の入力となる。また、S / H 0−
L制御信号が1のときスイッチ88がオンし、キャパシ
タCI,には加算器の出力値と最終出力値との差の電圧
が蓄えられているときには、スイッチ92がオンしてい
る。そのためオペアンブ93には0ボルトが強制的に入
力される。この時にシグモイド関数46及びオペアンプ
96,アナログスインチl00を介してオフセット電圧
Δ■がスイッチ91を介してChの下側に入力される。 したがってS/HouL制御信号が0の時点、すなわち
スイッチ89がオンでスイソチ92がオフである場合に
は、Chに蓄えられた電圧、すなわち(加算部の出カー
オフセット電圧ΔV)がオペアンプ93とシグモイド関
数46を介して最終出力になるが、S/H...信号が
1になると、この時に生成されるオフセソト電圧もΔV
であるから結果として、オフセット電圧かキャンセルさ
れることになる。 シグモイド関数を生成する非線形関数部は非線形回路選
択制御部があり、位相制御されたSelSig信号を1
にするとスイッチ95がオンし、シグモイド関数の出力
が次段に入力される。しかし、SelSig信号が0の
時には反転回路97を介してスインチ98の制御信号が
1となってそれがオンし、シグモイド関数の出力はカッ
トされる。すなわちSelSig信号がOの時には、サ
ンプル/ホールド部の出力電圧がシグモイド関数を介さ
ずに直接オペアンプ96に入力される。オペアンプ96
は本質的には出力を一端子に直接帰還する1倍のオペア
ンプでバッファの働きをする。すなわち出力インピ−V
ンスをOにするバッファとなる。 出力部47には時分割アナログ出力部64と出力制御部
63が接続されている。CSIが1のときにはスイッチ
99がオンで、スイッチ101もオンであるため、オペ
アンプ96の最終出力値がDATA − OUTPUT
に出力され、しかもその一端子にフィードバックされて
、オペアンプ96は1倍のオペアンプとして働く。それ
と同時に最終出力値がサンプル/ホールド部45にフィ
ードバックされる。一方、CSIが0のときインバータ
104を介してスイッチlOOがオンになり、スイッチ
101.99がオフになる。すなわちオペアンプ96の
出力はDATA − OUTPUT線には出力されない
ことになる。しかし、スイッチ100がオンすることに
よって1倍のバソファを形成するようにしているためオ
ペアンブ96の電圧フォロア動作は破壊されることなく
実行される。出力部47は出力制御入力信号CSIによ
って出力パルス電圧を伝達するかどうかを決める回路で
ある。このCSIをディレイ回路105を介してCSo
として出力し、層内の隣接するニュニロチップに対する
出力アナログ信号の時間タイミングを決定することにな
る。 このため、本発明では出力部47からのアナログ信号は
時分割で伝達されるため、バス上で他の二二一口チップ
からのアナログ信号と競合しない。 第5図は第4図において、オフセットキャンセルOCを
OCO、OC1、サインSION4:PN,−PN,サ
ンプル/ホールドSHをSHII、SHIO、サンプル
/ホールドS/H..tISH2L SH20、シグモ
イド選択信号SelSigを゜−S IGM,S EG
M,ディジーチェーン用信号CSIをcs,−csでの
2信号で位相制御を実現する。すなわち、1つの制御信
号を、それぞれ正相を逆相の2信号で構成しかつ位相を
ずらすことにより、これらの制御信号の正相と逆相で制
御される別のスイッチが同時にオン状態にならないよう
にした信号にした場合の実施例である。なお、D/Aコ
ンバータ53の出力端に接続されたキャパシタC,, 
抵抗R,はオペアンプ76のフィードバック信号をD/
Aコンバータの演算速度にあわせるためのものであり、
DT端子には、D/Aコンバータのディジタル入力が加
えられる.第5図で第4図と同一箇所は同一番号を付し
て説明を省略する。 第6図は、本発明の重み補正による誤差方式に基づく積
分器におけるタイミング図である。データク口ツタDC
LKと重みクロックWCLKは基本的な動作クロックで
、データクロックDCLKのハイ状態の半周期間に高速
な重みクロックWCLKが出力される。重みクロックW
CLK信号は重みシリアルデータを取り込むための同期
クロックである。データクロックDCLK信号はアナロ
グ入力信号に対する処理を行うための基本クロックであ
る.同期信号SYNCは各層において一層内の各アナロ
グニューロンプロセソサANPの同期をとる同期信号で
ある。積分器の出力電圧の変化は下の三角形で示された
部分の波形で示される。 積分波形は、サンプル/ホールド制御信号SHのパルス
で制御され、このパルスがハイの間、積分の動作を実行
する。すなわち、積分器のキャパシタCに対する充電を
開始し、このサンプル/ホールド制御信号SHのパルス
がハイの間は、このキャパシタに徐々に電荷が蓄積され
て電圧は上がるが、サンプル/ホールド制御信号SHの
パルスがロウとなって遮断されると、充電動作を停止す
る.従って、この積分時間範囲でのチャージ分だけが意
味を持つ。サンプル/ホールド制御信号のパルスの幅に
よって比例配分された電圧、即ち、入力電圧に積分ゲイ
ンを掛けたものとなる。すなわち、入力サンプル/ホー
ルド制御信号S/Hのパルス幅がPのとき、キャパシタ
Cに充電される電圧は■あてあり、サンプル/ホールド
制御信号S/Hのパルス幅Wのとき充電電圧はV,′と
なる。 サンプル/ホールド制御信号SHが下がり、スイッチン
グ制御より積分器のキャパシタの極性が変わり、オフセ
ット分が加算されている積分出力は反転する。そして、
オフセットコントロール信号OCがハイ状態でサンプル
/ホールドIl御信号SHが再び立ち上がると、オフセ
ットft圧V,(Vb ’ )がそのキャパシタに加算
され、SH信号が立ち下がった時点では、結果としてオ
フセット分がキャンセルされた積分出力値V,−Vb(
V.  ′−V.  ′)を極性をもどしてサンプル/
ホールドされる。 次に、階層型ニューラルネットワークを説明する。第7
A図は階層型ネットワークの概念図である.階層型では
左側の入力層の入カノードl10から入った入力データ
は順次右側の方向に向かって1方向にだけ処理されてい
く。中間層の各ニューロン112は、ダミーノード1l
1を含む前の層の出力をそれぞれ層内の完全結合で受け
るようになっている。入力層に例えば4個の入カノード
110があると、それにダミーノードll1の1個かた
され、中間層の各ニューロン112からみると入力層は
5つのニヱーロンに見えている。ここで、ダミーノード
111とは、スレッシュホールドをコントロールするも
ので、覆和の結果Xのシグモイド関数 l の値Xに一定値一θを加えることによりX軸の正方向に
シフトさせた値f  (X−θ)にするものである。こ
れはダミーノード111に対応する重みをニューロン内
で変えることと等価であるが、後ttるマックスバリュ
ーノード回路を用いて、一定値θを生成している。この
ように、ダミーノードに対する重みを用恵しておけば、
閾値を重みで表現することができる。そして出力層のニ
ューロン112から中間層はニューロンが4個あるよう
にみえる。入力層に加えられた入力データは、中間層ニ
ューロンl 1 2、il[ニューロン112で重みデ
ータを用いてそれぞれ積和演算を施され、結果として出
力データを発生する。 第7A図に示した階層型構造のものを本発明のANPを
用いて実現すると、第7B図のように、各層間、つまり
入力と中間層との間、中間層と出力層の間、出力層の出
力にそれぞれの独立のアナログバスBl,B2,B3を
設けることになる。 縦方向のANPは全JP並列に実行できるという構造に
なる。出力層の出力にはサンプルホールド回路SHを付
ける。 第8図は階層ニューラルネットワークを実現する本発明
のニューロコンピュータのブロック図である。ニューロ
チップからアナログニューロンブロセソサANP1〜5
を各層に並列に配置し、各層間に独立にアナログバス(
Bl,B2,B3)を設ける。同図において、ANPI
,2.3で中間層を形成し、ANP4.5で出力層を形
成する。 また、入力段のANPはなく、入力側にはアナログ入力
信号をタイミングよく入力するためのディジー回路17
1,172が存在する.S/Hで示す回路はサンプル/
ホールド回路173,174である。ANP lへ5に
はそれぞれコントロール用のロジソク信号が必要である
ので、マスクコントロールブロック(MCB)1 8 
1から各層に多くの制御信号線を送り込む。データクロ
ックDCLKはすべてのANPの入力側のディジー回路
17lと172に与えられ、アナログ処理の基本クロソ
クとなる。重みクロックWCLKもすべてのANPと入
力側のディジー回路171,172に与えられ、重みデ
ータ用の高速クロックである。 重みメモリブロック185,186から各ANP4,5
及びANPI,2.3にはその重みクロックWCLKに
同期して重みデータが入力される。 また、同期信号SYNCIは中間層のANPに与えられ
る層の同期クロックで同期信号SYNC2は出力層のA
NPに与えられる層の同期クロックである。SHIとO
CIは中間層のANPに対するサンプル/ホールド制J
信号とオフセットコントロール信号、SH2とOC2は
出力層のANPに対するサンプル/ホールド制御信号と
オフセノトコントロール信号である。 左側のブロックであるディジー回路171.172は、
入力層に相当する入力側回路である。入カノード、つま
り入力層内のニューロンを実現するために、アナログ信
号を時分割でANPが出すのと同じタイミングで、アナ
ログ入力ボートO,lより与えられるアナログ入力信号
を回路内に入力しなければならない。つまり、出力層か
らみれば、出力層のANP4.5は前の中間層のANP
1,2.3からアナログ信号をアナログバスB2を介し
て時分割で受けることを基本動作としている。これと同
じ関係が中間層と入力層にも存在しなければならない。 入力層と中間層の関係は、中間層のANPから見るとそ
の前に入力層のANPがあるように見えなければいけな
い。このことは、中間層のANPがアナログバスB2に
アナログ信号を出力するタイミングと同じ機能でアナロ
グ入力ボートo,iからのアナログ入力信号に対しても
決まった規則でアナログバスBlに出力しなくてはなら
ないという制約がある。即ちアナログ入カボー}0.1
からの入力信号はアナログバスB1に時分割に乗ってく
る。アナログ入力ボート0からのアナログ信号は、適当
なタイミングでアナログバスBlに乗るが、そこに出力
した次のタイミングで、アナログ入力ボートlからの次
のアナログ入力信号が同じアナログバスB1に乗る。こ
の同期をとるために一定のタイミングで出される入力制
御信号CSIをディジー回路171が入力し、一定時間
後に、その回路から出力制御信号CSOが出される。こ
のCSIはマスクコントロール回路181のcsoiか
ら出力される。デイジ−回路1.71,172は一種の
遅延回路である。 各ディジー回路171はマスクコントロール18lから
入力制御信号CSIを入力すると、自分は縦方向に隣接
する次のディジー回路172に対して、アナログ入力ポ
ート1のアナログ出力信号を出すように、CSO信号を
次に渡すことになる。 この動作をディジー制御と呼ぶ。 マスクコントロール回miaiのCSO lが立ち上が
ると、スイッチ175がオンし、サンプル/ホールド回
路173に保持されているアナログ入力ボート0のアナ
ログ入力信号はアナログバスBlに乗る。CSO1はデ
ィジー回路171のCSlであるから、これが立ち下が
ってから一定時間後にCSOが立ち上がる。これはデイ
ジー回路172のCSIであると同時に、スイッチ17
6を制御してオンにさせるので、サンプル/ホールド回
路174に保持されていたアナログ入力ボートIのアナ
ログ入力信号をバスB1に乗せる。階層構造になった本
システムでは、このディジー制御が必要となる。つまり
、アナログ入力信号に対してアナログ入力ボート0から
サンプル/ホールド回路173を介してアナログバスB
1に出力すれば、次にアナログ入力信号に対してアナロ
グ入カボー+−tからサンプル/ホールド回路174を
介して同じアナログバスB1に出力させることになる。 中間層の各ニューロンでみているとアナログ入力ポート
Oのアナログ入力信号とアナログ入力ボート1からの次
のアナログ入力信号とは時分割で逐次に入ってくる。 各ディジー回路171,172は、アナログバスB1上
のバス競合を防ぐために、入力制御信号CSIを特定の
時間だけ遅延させて出力制御信号CSOを出す。 中間層においても、マスクコントロールブロック181
からの出力制御信号CSO2をCSIとして受けるAN
P 1がアナログ信号を出力したら、CSOをCSIと
してANP2に渡すと、次にANP2が出力する。AN
P2のCSOをCSIとして受けるANP3が次にアナ
ログ信号を出力すことになる。要するに、ここではAN
PI,2.3の順に出力し、中間層のディジー動作が終
わる.これと並行して全ての動作を管理しているマスク
コントロールブロック181は、出力層のANP4にC
SO3を与えるとANP4が出力し、出力完了後、AN
P4がANP5にCSOを与えるとANP5が出力する
。 出力層のANP4.5からの出力は、それぞれマスクコ
ントロールブロック181からCS03信号及びANP
4からのディジーチェーン用出力制御信号CSOによっ
てそれぞれサンプル/ホールド回路177、178でサ
ンプル/ホールドされる。この出力電圧は、アナログ出
力ボート0,1からアナログ出力信号として出力される
他、アナログマルチブレクサ179で選択された後、A
/Dコンバータ180でA/D変換され、MPU182
、メモリ183、通信インタフェイス184から構成さ
れるディジタル制御手段に入力される。そして、MPU
182で例えば学習時に与えたMPU内に蓄えられた教
師信号と比較し、所望の出力信号であるかのチェックを
行い、この結果に基づいて後述する重みメモリの重みデ
ータを変更する。マックスバリューノード回路187は
マスクコントロールブロック181からダミーノード制
御信号DCSI,DCS2が出力イネーブル1及び2に
加えられるとともに、出力端子はアナログバスBl,B
2に接続される。 第9A図は第8図に示した実施例にかかる階層型ニュー
ロコンピュータのタイミング図である.各層別にその制
御信号線が抜き出して書かれている。まず基本的な動作
クロソクであるデータクロックDCLKと重みクロック
WCLKは同一層のすべてのANPや入力側のディジー
回路17l,172に同時に入る。 重みクロノクWCLKは、重みのディジタルデータをシ
リアルで送り込むためのシリアル同期パルスで、重みメ
モリブロツクから重みを読み出すための同期クロツクで
ある。どのタイミングで、入力データを取り込むかはそ
れぞれの制御信号で規定する。まず第9A図のタイミン
グチャートにおいて、CSOlはマスクコントロールブ
ロック18、1から出力されるディジーチェーン用制御
信号CS01、すなわちディジー回路171へのディジ
ーチェーン用制御信号CSIである。ディジー回路17
1において、CSIが1番目のアナログ入力信号をアナ
ログ入力ボート0からサンプル/ホールド回路SH17
3を介してアナログバスB1に出力させる。すなわちタ
イミングチャートの■においてアナログ信号をアナログ
バスB1に出力させる。この瞬間に、アナログバスB1
上に電圧が乗り、ANPI,ANP2.ANP3はこの
アナログ信号に対して並列に積和演算を行う。 そのCSOがディジー回路171を通過し、CS○が立
ち下がってから所定時間後に次のCSIが■に示すよう
に立ち上がり、ディジ−回路172にそのCSIが入る
.次のCSIは入力層の2番目のディジー回路172に
入る制御信号である。 そしてCSIがハイの間にアナログ入力ボートlからア
ナログ入力信号をサンプル/ホールド回路S H 1 
7 4を介してANPI.ANP2,ANP3に入力し
、ここで積和演算を行う。マスクコントロールブロック
181からのDCS 1は、ダミーノードへの制御信号
である。各層とも入力の他にダミーノードからの信号が
あるので(ニューロンノード数+1)個のノードの形態
であり、入力層では2入力であるが、各中間層のANP
からみると3入力であるように見える。これを時間的に
説明すると、2つのCSIと1つのDCS 1で1つの
ブロックとなる制御信号である。入力のサイクルは、最
初のCSIから始まり、DCS Lのダミーへの入力で
終わる。ダミーノードはマックスバリューノード回路1
87であり、その回路はDCSlが入力されている間ア
ナログバスに固定されたある閾値電圧を出力する。すな
わち■で示すようにDCS Iが立ち上がってからこの
電圧が出力されている間、中間層の各ANPは通常の入
力と同様に積和演算を行って、その固定電圧が前の2つ
のアナログ入力信号の積和演算されたものの結果に加え
られることになる。すなわち、掛け算後、足し算を実行
する.SYNCIは、CSO 1が立ち上がる前のDC
LKの立ち下がりでハイとなり、DCSIが立ち上がっ
てから次のDCLKの立ち下がりでロウとなる。これは
入力層の同期をとる信号である。WCLKが入力されて
いる間でアナログ入力と重みデータの掛け算が行われる
。 中間層のANPに入るサンプル/ホールド信号SH1に
は、2つの山Ml,M2が出力されているが、最初の山
M1の少し前で積をとり山の部分で和を生成し、ホール
ドする。そして、次の山M2でオフセット電圧■,(第
6図参照)を差し引いてサンプル/ホールドする。この
ような処理を入力されるすべてのアナログ信号について
順次繰り返し行い、積和の計算が終わる。この場合はダ
ミーを含めて中間層の各ANPは積和演算を3回実行す
る。これで中間層の各ANPの処理は終わり、3入力に
対する積の加算までが終了する。 また、タイミングチャートに於いてDCS 1が立ち下
がった直後のDCLKがハイのとき、アナログ2カボー
ト0、1,ダミーノードから3つの信号について積和演
算した結果が各ANPI,2.3のキャパシタ(第4図
、サンプル/ホールド部45内のCh)にホールドされ
る。このような動作が基本的に繰り返されることになる
が、中間層と出力層との間にあるアナログバスB2にA
NP1の出力信号をいつ出力するかということはマスク
コントロールブロック181から出されるCS02の信
号の立ち上がりで決まる。 SHIの下に示したオフセットコントロール制御信号O
C1はANPの内部においてオフセットキャンセルを行
う。すなわち各ANPは内部的にオペアンプを含むアナ
ログ回路であって、回路自体がオフセントを持っている
ため、このオフセットをキャンセルするための制御信号
がOC信号である。OCIに示されるように請和の演箆
が1つ実行される毎に1つのパルスが出され、内部にお
いてオフセットキャンセルが実行されている。タイミン
グチャートでは■で示すようにCSO2が立ち上がると
ともにANPIからアナログバスB2にANPIにホー
ルドされていた信号が出力し、CSO2がハイの間に出
力層のANP4が積和演算を行う。■で示されるCSO
2の立ち上がりはその前の入力結果の積和の結果を出力
するタイミングである。 次に、第9図を使って中間層と出力層との間のタイミン
グを説明する。 なお、同図において、中間層からのディジーチェーン制
御信号の出力■,■,■,■及び出力層からの出力■,
■に同期してアナログバス上にあらわれるアナログ信号
は上述した入力層からのディジーチェーン制御信号の出
力■,■,■に同期してアナログバス上に入力されるア
ナログ信号に対して■処理サイクル前の結果が現れるこ
とになる。バイブライン処理の実行は後で説明するが、
タイミングチャートの■で示されるCSO2の立ら上が
り時において、ANPIの出力が出される。 ■に示されるCSO2の立ち上がり時にタイミングチャ
ートSH2の信号を見るとパルスが2つ出されている。 SH2信号は第8図のブロック図において、出力層の第
1番目のANP4に入力されている。すなわちSH2信
号の2つの山のパルスにおいて、ANPA内で和の演算
が1つ実行される。中間層には図に示されるようにAN
PI,2.3の3つの中間層のニューロンがあるが、マ
ソクスバリューノード回1ffl187によるダミーノ
ードが1つ加えられ、合計4つのニューロンがあると仮
定されている。従ってSH2信号の山2つのパルスが■
の部分から見て4回出力されており、このSH2信号の
4組の山のパルスで中間層のアナログ信号がANP4に
入力され積和が演算される。 この動作は当然、中間層のANPが入力信号に対して積
和演算をしているタイミングと同時に行っていることに
なり、これはパイプライン処理となっている。CSO2
の下の信号は中間層にあるANPIのCSOの信号で、
これは同じ中間層のANP2に対するCSlである。こ
れが■で示されている部分である。その下はANP2の
CSOでその下はANP3のCSIでこれが■である。 その下がANP3のCSOであり、その下の■がダミー
ノードのCSIであってこれはDCS2、すなわちマス
クコントロールブロックから出される信号である。CS
Iで見るとΦ,■,■,■の順序でそれぞれ中間層のA
NPI,ANP2,ANP3、そしてダミーノードのマ
ックスバリューノード回路187に入力される。この間
SH2信号は2つの山を持つパルス信号を4つ出してい
る。 すなわち、ANP4の出力層のニューロンは入力アナロ
グ信号と重みとの積を4つ分加えることになる。■の部
分でANPIにCS
[One terminal is the terminal of the external resistor R of the integrating circuit in the analog circuit section, and the Ct+ and Ct terminals are the terminals of the external capacitor C of the integrating circuit. DGND is a ground terminal of the digital circuit section. +5 volts is the R terminal of the digital circuit section. R.S.
T is a reset signal terminal for resetting the charge of the capacitor of the integrating circuit. CSI and CSO are input/output terminals for daisy chain control signals, OC is a terminal for offset cancel Il control signals, S/H terminal is a control signal terminal for sample/hold, and SYNC is a synchronization signal for processing of each layer. terminal, DCLK is a basic clock signal terminal for processing analog input signals, WCLK is a clock terminal for taking in digital weight data, W
D is a terminal for digital weight data that is input bit serially. FIG. 2 shows the analog neuroprocessor (AN) of the present invention.
It is a principle block diagram of P). Analog input signals sent in a time-sharing manner from separate ANPs (not shown) are routed from analog bus Bl to ANP l.
The analog input signal and the digital weight data are input to the analog multiplier 22 in the l, and the analog multiplier 22 multiplies the digital weight data WD which is input bit serially through the shift register 27 and then converted into serial/parallel. Obtain a product signal indicating the product of . The next analog adder 23 is a Miller integration circuit consisting of an external resistor R and a capacitor C, and is connected to a plurality of ANPs in the previous stage connected to the analog bus Bl (the place where an ANP exists is called a node). This method calculates the sum of the product signals obtained from the analog input signal sent in a time-division manner and the threshold analog input signal sent from the dummy node. Next, after the output signal is held in the sample/hold section 24 to wait a desired time, the sampled/held output is further converted via the nonlinear function section 25. The output control unit 26 outputs the analog . Output signal D. Output uL to analog bus B2. Note that the sequence generator 28 also generates control signals that are supplied internally. In the phase control section 29, the AN
This is to control the phase of the control signal so that each switch connecting the analog circuit section and the digital circuit section in P is reliably turned on or off. In particular, when the first switch is on, the second switch When turning off the switches, the phase of the control signal is controlled so that the switches do not turn on at the same time. Note that the sequence generator 28 receives a reset signal R.
ST. .. DCLKSWCLK, SYNC, S/H, QC
, CSI are inputted from a mask control blocker to be described later, and CSO is outputted to generate an internal control signal of the ANP. Neural networks need to perform high-speed calculations through simultaneous processing. Although time-division data is used in the present invention, in a steady state, each ANP performs simultaneous processing in a pipeline manner. An ideal neural network would require wires that interconnect each neuron with each other, but if the system were to be implemented as is, the number of wires would be large. Therefore, in the present invention, since time-division data is handled, the processing time for the sum of products in each ANP increases, but by arranging the chips in parallel in the vertical direction, that is, in the direction of the same layer, the neurochips in the layer can be AN to configure
Simultaneous processing of P improves the processing time. Also,
Each layer can be pipelined, which also reduces processing time. For example, when an input is input to each of three neurochips connected to an analog bus, it is input to all three at the same time, and in parallel, each ANP generates a product of the weight and the analog voltage. and holds it as a charge in the integrator capacitor. Then, in the next time period, for the analog input of the same analog bus, each ANP will form a product with a weight and add it to the product determined in the previous time period in the integrator capacitor. After the sum is generated for the product of the weights on the analog input signals from all previous ANPs, the sum is sampled/held. Thereafter, it is output via a sigmoid function, which is output when the CSI control signal is input. Then, when the output is completed, the CSI falls, and after a certain time delay, the CSO rises, giving the right to use the output bus to the ANP consisting of two adjacent aero chips in the same layer. Figure 3 is a configuration diagram of the first embodiment of the basic unit, which is a neurochip. The multiplication section 32, addition section 33, and threshold processing section 34 in the figure are continuous neuron model execution sections, but in this embodiment, an output holding section 35 is present. Specifically, a plurality of inputs connected to the basic unit 31 are connected to Yi1.
If the weight set corresponding to each connection is Wi, then the multiplier 32 calculates Yi−Wi, and the adder 33 calculates X=ΣY i −W i10. However, θ is a threshold value. If the final output of the threshold unit 34 is Y, then Y=1/(1+exp(-X))...
・11) will be calculated. 1-θ to the value 1+1″ input from the dummy node
”, and the adder 33 outputs the result of “×−θ”. Therefore, in the threshold section 34, only the conversion using the S-shaped curve is performed. The multiplication section 32 is composed of a multiplication type D/A converter 32a, and receives an input of an analog signal (input via an input switch section 37) from the basic unit 31 in the previous layer or from a dummy node circuit described later. , the input is multiplied by weight information of the digital signal to be multiplied (input via the weight holding unit 38 described later), and the obtained multiplication result is processed to be output as an analog signal. The addition section 33 includes an analog adder 33a formed of an integrator and a holding circuit 33b that holds the addition result of the analog adder 33a. Multiplying D/A
The converter 32a inputs an analog input signal to the reference voltage terminal of the D/A converter, and inputs each bit of weight to each digital input terminal as a digital input signal. Generate the product of the log input signal and the weights. The analog H adder 33a is a multiplication type D
A new addition value is obtained by adding the output of the /A converter 32a and the addition value obtained last time and held in the holding circuit 33b.The holding circuit 33b adds the addition value obtained by the analog addition B 33a. At the same time, analog addition W33a is performed using the hold value as the previous addition value.
This is to provide feedback. These addition processes are executed in synchronization with an addition control signal output from the control circuit 39. The threshold unit 34 includes a nonlinear function generation circuit 34a that is an analog function generation circuit, and outputs a nonlinear signal such as a sigmoid function in response to an input. When the accumulation of the multiplication results including the addition of the threshold value (1θ) is completed, the dark value (1θ) is added to the addition value X held in the holding circuit 33b (the sigmoid function of equation 13 The output holding unit 35, which performs arithmetic processing and obtains the analog output value Y, is composed of a sample and hold circuit, and outputs the output value Y of the analog signal of the nonlinear function generation circuit 34a to the basic Unison 31 in the subsequent layer. In addition, 36 is an output switch section, which is turned on for a certain period of time in response to an output control signal from the control circuit 39, and transfers the final output held by the output holding section 35 to the analog bus B2. 37 is an input switch section which is turned ON when an analog output from the final output is sent from the basic unit 31 in the previous layer in response to an input control signal from the control circuit 39. 38 is a weight holding unit, which is composed of a parallel out shift register, etc., and the bit-serial weight signal sent from the weight memory is transferred to the gate of the buffer 38a (weighted by the control circuit 39). When the input control signal is turned on), this weight signal is held as the bit parallel weight required by the multiplier 32.The bit parallel weight is multiplied in parallel when the input control signal is given. A control circuit 39 of the digital circuit section generates an internal synchronization signal from an external synchronization signal, and controls the internal analog processing function. , the input and output of the basic unit 31 that adopts the signal processing configuration shown in FIG. Alternatively, if the weight information is composed of an analog signal, the multiplication type D/A converter 32a (7) may be used. Alternatively, an analog multiplier can be used. Fig. 4 is a specific circuit diagram of an embodiment of the neurochip (ANP) of the present invention of 1@. This unit includes an input section 42, a multiplication section 43, an addition section 43, and an addition section 42. Section 44
, a sample/hold section 45, a nonlinear function section 46, and an output section 47. Here, it is assumed that there is no output holding circuit and that the sample/hold section 45 also has an output holding function. The input section 42 is composed of an offset canceling section 5l and a 1x buffer 49. The 1x buffer 49 is a voltage follower and is configured by feeding back the output of the operational amplifier to one terminal and inputting the input voltage to the tenth terminal. The data input is an analog time-shared pulse signal. OC is an offset control signal, and when this is 1, the analog switch 66 is turned on, and the 1x buffer 4 is turned on.
9 is forcibly set to 0 voltage. 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. That is, when the offset control signal OC is 1, 0 volt is forcibly input to the neuron unit, and the neuron unit performs an operation of canceling the offset voltage generated at the operational amplifier output of the circuit up to the multiplier output. ing. In the figure, the switching of the analog switches 65 and 66 is controlled by the inverted phase and the positive phase of the OC signal, but a phase control circuit prevents them from being turned on at the same time. Hereinafter, this will be referred to as the OC being "phase controlled." The positive/negative switching circuit 52 is constructed by cascading two multipliers. In the multiplier, the input resistance (IOKΩ) and the feedback resistance (10KΩ) form a 10/10, that is, an inverted voltage of 1, which is
The sign of the analog voltage is determined depending on whether only one stage or two stages are passed. The control signal is the sign of the digital weight data.
(SION), and this SIGN bit is connected to the gate of MOS switch 70. This SIGN control signal is also phase controlled. When the sign bit is 1, the input voltage from the input section 42 is inverted by the first stage multiplier, and since the switch 67 is also turned on, the multiplier in the subsequent stage is also passed, resulting in a positive phase. Further, when the sign bit is O, the switch 69 is turned on via the inversion circuit 68. At this time, the switches 67 and 70 are off, so the input voltage from the input section 42 is applied to the switch 69.
The signal is inputted to one terminal of the operational amplifier 71 at the subsequent stage via the . Therefore, a multiplier is formed by the resistor 72 at the front stage and the resistor 73 of the feedback node of the operational amplifier at the rear stage, and the signal is multiplied by 1 and inverted. That is, the input to the input unit 42 is formed as a positive or negative voltage depending on the sign bit, and this becomes a voltage according to the excitatory and inhibitory synaptic coupling. The output from the positive/negative switching circuit 52 is sent to the multiplier 43
First, we will explain the R-2R type D/A converter, which is input to the 74 points of the R-2R resistor network of the D/A converter 53 in the MS, that is, the reference voltage terminal.
The internal switch is turned on or off depending on the digital weight from I3 to LSB. Digital I [α is 1
, the current flows through the right swing 75 to the virtual ground point 7B of the operational amplifier 76. The virtual ground point 78 of the operational amplifier 76 is controlled to have the same voltage as the ten terminal, and since this is the ground, it is a virtual O volt. In the D/A converter 53, R is IOKΩ, 2R is 2
It is 0KΩ. Regardless of the state of the switch, a current flows through the resistor 2R, and it is determined whether the weight current flowing through the 2R flows toward the virtual ground point 78 according to the value of the digital value. Let i be the current flowing through the rightmost 2R. The current of 2R corresponding to the second from the right, that is, LSB, is 1
Since it is the value obtained by dividing the voltage applied to the rightmost 2R by 2R, 2
RXi÷2R becomes i. Therefore, current 21 flows through the rightmost lateral direction R. 2RX is in the third 2R from the right
Since a voltage of i+RX2 i is applied and this is divided by 2R, a current of 21 flows. Same as under pi, 4 as you go to the left.
i, 8f, resulting in a current that increases by a power of 2. It is from MSB to LSB that determines whether or not the weighted current, which is a power of 2, flows toward the operational amplifier. Therefore, a current corresponding to the digital weight flows into the virtual ground 78 in the form of a power of two, and since the input impedance of the operational amplifier 76 is infinite, this current flows into the feedback resistor 78 of the operational amplifier 36. Therefore, the output voltage of the D/A converter ■. 1 is + . is equivalently a value obtained by multiplying the input voltage E by weight.The weighting coefficient is controlled by the digital value input from MSB to LSB.On the other hand, the adder 44 is a time-division multiplexed analog A cumulative addition operation is performed by time-sharingly using a Miller integrator for each product of each voltage of the signal and the digital weight data.
A hold circuit 45 samples/holds the addition result. Next, the adding section 44 will be explained. The adder 44 is an integrator including a resistor R and a feedback capacitor C. The input section of the adder section 44 has a time division addition@control section 55, and when the phase-controlled sample/hold signal S/Hi is 1, the output voltage of the multiplier section 43 is input to the virtual ground point 79 of the operational amplifier. and S
When the /H signal is 0, the inverting circuit 80 causes a switch of 7,000 8]
is turned on and the output of the multiplier 43 is connected to the ground via the resistor R, so that 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 applied to the operational amplifier 10 via a resistor R.
A current obtained by dividing the input voltage by the resistor R is input to the feedback capacitor C via virtual ground. After this, the S/H signal becomes 0 again and the multiplier 43 and the adder 44 are separated, so the multiplier 43 can multiply the next input signal by the weight data. The feedback circuit 82 of the integrating circuit including the capacitor C is provided with an offset canceling function using four switches. If the OFF control signal OC is now 1, switches 83 and 84 are on, and switches 85 and 86 are off. When the offset control signal OC is O,
Data input section 42, data input terminal DATA-IN
An input voltage is given to PUT, and the corresponding multiplier 4
The output of No. 3 is input to the capacitor C via the resistor R. At this time, the switch 85 and 86 are on, and the polarity of the capacitor C is - the side connected to one terminal of the operational amplifier.
, the side connected to the output of the operational amplifier 102 is 10. Next, if the offset control signal OC is 1, the data input is forced to 0. In this case, if there is no offset through 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, due to the presence of the operational amplifiers 49, 103, 71, and 102, an offset voltage is generated, and the offset voltage is stored in the capacitor C of the adding section 44. In this case, unlike the previous case where the offset control signal OC was O, the offset control signal OC was 83.8.
4 is turned on, and the polarity of capacitor C is reversed. Therefore, by setting the offset control signal OC to 1, the offset voltage that occurs when the input signal is input changes the polarity of the capacitor C, and as a result,
Offcents will be cancelled. In this way, the present invention is configured to equivalently have an offset cancellation function by using the polarity reversal of the capacitor C. The switch 87 is controlled by a reset signal, and when the reset signal is applied at the start of processing, it sets the voltage of the capacitor Ch to zero and forcibly resets the output of the adder to O. It is assumed that this OC signal is also phase controlled. The output of the adder 44 becomes the input of the sample/hold circuit 45. In the sample/hold unit 45, when the phase-controlled sample/hold control signal S/H o+at is 1, the output of the adder 44 is stored in the capacitor Ch via the switch 88. When the S/Hot+t control signal is 1, the control signal of the switch 90 becomes 0 due to the inversion circuit FIs94, one terminal of the capacitor C is not grounded, and the unit is turned on by turning on the switch 91. The final output signal of C is passed through the switch 91 to the capacitor C
It is input to h. 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 Cb. 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. On the other hand, the S/H 0-t control signal is 0
When , switches 89 and 90 are turned on, the lower side of capacitor C becomes ground, and as a result, capacitor C
The voltage stored in the adder 44, that is, the voltage value 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, and this operational amplifier 93 works as a buffer to The output of 93 becomes the input of the sigmoid function. Also, S / H 0-
The switch 88 is turned on when the L control signal is 1, and the switch 92 is turned on when the voltage difference between the output value of the adder and the final output value is stored in the capacitor CI. Therefore, 0 volt is forcibly input to the operational amplifier 93. At this time, the offset voltage Δ■ is input to the lower side of Ch via the sigmoid function 46, operational amplifier 96, and analog switch l00 via the switch 91. Therefore, when the S/HouL 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 offset voltage ΔV of the adder) is the same as that of the operational amplifier 93 and the sigmoid It becomes the final output via the function 46, but the S/H. .. .. When the signal becomes 1, the offset voltage generated at this time is also ΔV
As a result, the offset voltage will be canceled. The nonlinear function section that generates the sigmoid function has a nonlinear circuit selection control section, and the phase-controlled SelSig signal is
When the switch 95 is turned on, the output of the sigmoid function is input to the next stage. However, when the SelSig signal is 0, the control signal for the switch 98 becomes 1 via the inversion circuit 97, turning it on and cutting off the output of the sigmoid function. That is, when the SelSig signal is O, the output voltage of the sample/hold section is directly input to the operational amplifier 96 without going through the sigmoid function. operational amplifier 96
is essentially a 1x operational amplifier that feeds the output directly back to one terminal, acting as a buffer. That is, the output impedance -V
This buffer serves as a buffer to reduce the A time division analog output section 64 and an output control section 63 are connected to the output section 47 . When CSI is 1, switch 99 is on and switch 101 is also on, so the final output value of operational amplifier 96 is DATA - OUTPUT
The operational amplifier 96 functions as a 1x operational amplifier by being outputted to and fed back to one terminal of the operational amplifier. At the same time, the final output value is fed back to the sample/hold section 45. On the other hand, when CSI is 0, switch lOO is turned on via inverter 104, and switch 101.99 is turned off. In other words, the output of the operational amplifier 96 is not output to the DATA-OUTPUT line. However, since a 1x bath sofa is formed by turning on the switch 100, the voltage follower operation of the operational amplifier 96 is performed without being destroyed. The output section 47 is a circuit that determines whether or not to transmit the output pulse voltage based on the output control input signal CSI. This CSI is sent to CSo via delay circuit 105.
, and determines the time timing of the output analog signal to adjacent nuclear chips in the layer. Therefore, in the present invention, the analog signal from the output section 47 is transmitted in a time-division manner, so that it does not compete with analog signals from other chips on the bus. FIG. 5 shows offset cancel OC in FIG. 4, OCO, OC1, sign SION4: PN, -PN, sample/hold SH in SHII, SHIO, sample/hold S/H. .. tISH2L SH20, sigmoid selection signal SelSig °-S IGM, S EG
Phase control of the M and daisy chain signal CSI is realized using two signals, cs and -cs. In other words, by configuring one control signal as two signals, one in positive phase and the other in reverse phase, and shifting the phases, other switches controlled by the positive and negative phases of these control signals will not turn on at the same time. This is an example in which a signal is generated as shown in FIG. Note that capacitors C, , connected to the output terminal of the D/A converter 53
The resistor R, connects the feedback signal of the operational amplifier 76 to D/
This is to match the calculation speed of the A converter.
The digital input of the D/A converter is applied to the DT terminal. In FIG. 5, the same parts as in FIG. 4 are given the same numbers, and the explanation will be omitted. FIG. 6 is a timing diagram for an integrator based on the weighted error method of the present invention. Datakuguchitsuta DC
LK and the weighted clock WCLK are basic operating clocks, and the high-speed weighted clock WCLK is output during a half cycle of the high state of the data clock DCLK. weight clock W
The CLK signal is a synchronous clock for capturing weighted serial data. The data clock DCLK signal is a basic clock for processing analog input signals. The synchronization signal SYNC is a synchronization signal that synchronizes each analog neuron processor ANP in one layer in each layer. The change in the output voltage of the integrator is shown by the waveform shown by the triangle at the bottom. The integration waveform is controlled by pulses of the sample/hold control signal SH, and while this pulse is high, an integration operation is performed. That is, when charging of the capacitor C of the integrator is started, and while the pulse of the sample/hold control signal SH is high, charge is gradually accumulated in this capacitor and the voltage increases, but the voltage of the sample/hold control signal SH is high. When the pulse becomes low and is cut off, charging operation is stopped. Therefore, only the charge amount within this integration time range is meaningful. The voltage is proportionally distributed depending on the pulse width of the sample/hold control signal, that is, the input voltage is multiplied by the integral gain. That is, when the pulse width of the input sample/hold control signal S/H is P, the voltage charged to the capacitor C is 2, and when the pulse width of the sample/hold control signal S/H is W, the charging voltage is V, '. The sample/hold control signal SH falls, the polarity of the integrator capacitor changes due to switching control, and the integrated output to which the offset has been added is inverted. and,
When the sample/hold Il control signal SH rises again while the offset control signal OC is in a high state, the offset ft pressure V, (Vb') is added to the capacitor, and by the time the SH signal falls, the offset amount is as a result. The canceled integral output value V, -Vb(
V. '-V. ’) with its polarity restored and the sample/
will be held. Next, a hierarchical neural network will be explained. 7th
Diagram A is a conceptual diagram of a hierarchical network. In the hierarchical type, input data input from the input node l10 of the input layer on the left side is processed in only one direction, sequentially toward the right side. Each neuron 112 in the intermediate layer has a dummy node 1l.
The outputs of the previous layer including 1 are received by complete connections within each layer. If there are, for example, four input nodes 110 in the input layer, one dummy node ll1 is added to each of them, and when viewed from each neuron 112 in the intermediate layer, the input layer appears to be five neurons. Here, the dummy node 111 controls the threshold, and is 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 the max value node circuit described later. In this way, if you use the weight for the dummy node,
The threshold value can be expressed as a weight. It appears that there are four neurons in the intermediate layer starting from neuron 112 in the output layer. The input data applied to the input layer is subjected to a sum-of-products operation using weight data in intermediate layer neurons l 1 2 and il[neuron 112, respectively, to generate output data as a result. When the hierarchical structure shown in FIG. 7A is realized using the ANP of the present invention, as shown in FIG. Independent analog buses B1, B2, and B3 will be provided at the outputs of the layers. ANP in the vertical direction has a structure in which all JPs can be executed in parallel. A sample and hold circuit SH is attached to the output of the output layer. FIG. 8 is a block diagram of a neurocomputer of the present invention that implements a hierarchical neural network. Analog neuron process ANP1-5 from neurochip
are placed in parallel on each layer, and an analog bus (
Bl, B2, B3) are provided. In the same figure, ANPI
, 2.3 forms an intermediate layer, and ANP4.5 forms an output layer. Also, there is no ANP in the input stage, and the input side has a daisy circuit 17 for inputting analog input signals with good timing.
There are 1,172. The circuit indicated by S/H is a sample/
These are hold circuits 173 and 174. ANP l to 5 each require a logic signal for control, so mask control block (MCB) 1 to 8 is required.
Many control signal lines are sent from 1 to each layer. The data clock DCLK is applied to the daisy circuits 17l and 172 on the input side of all ANPs, and serves as a basic clock for analog processing. Weight clock WCLK is also given to all ANPs and input-side daisy circuits 171 and 172, and is a high-speed clock for weight data. Each ANP 4, 5 from the weight memory blocks 185, 186
Weight data is input to ANPI and ANPI, 2.3 in synchronization with the weight clock WCLK. Also, the synchronization signal SYNCI is the layer synchronization clock given to the intermediate layer ANP, and the synchronization signal SYNC2 is the output layer ANP.
This is the layer synchronization clock given to the NP. SHI and O
CI is a sample/hold system for ANP in the middle layer.
Signals and offset control signals, SH2 and OC2, are sample/hold control signals and offset control signals for the output layer ANP. The daisy circuits 171 and 172, which are the blocks on the left, are
This is an input side circuit corresponding to the input layer. In order to realize the input node, that is, the neuron in the input layer, the analog input signal given from the analog input ports O and l must be input into the circuit at the same timing as the ANP outputs the analog signal in time division. It won't happen. In other words, from the perspective of the output layer, the ANP of the output layer is 4.5, which is the ANP of the previous intermediate layer.
The basic operation is to receive analog signals from 1, 2, and 3 in a time-division manner via analog bus B2. This same relationship must exist for the intermediate layer and the input layer. The relationship between the input layer and the intermediate layer must be such that when viewed from the intermediate layer ANP, it appears that the input layer ANP is in front of it. This means that the ANP in the middle layer has the same function as the timing for outputting analog signals to the analog bus B2, and the analog input signals from the analog input ports o and i must also be output to the analog bus Bl according to a fixed rule. There is a restriction that it cannot be done. That is, analog input cover} 0.1
The input signals from the input terminals are time-divisionally routed onto the analog bus B1. The analog signal from analog input port 0 is placed on analog bus B1 at an appropriate timing, but at the next timing after being output there, the next analog input signal from analog input port 1 is placed on the same analog bus B1. In order to achieve this synchronization, the daisy circuit 171 receives an input control signal CSI that is output at a certain timing, and after a certain period of time, an output control signal CSO is output from the circuit. This CSI is output from csoi of the mask control circuit 181. Daisy circuits 1.71 and 172 are a type of delay circuit. When each daisy circuit 171 inputs the input control signal CSI from the mask control 18l, it transmits the CSO signal to the next vertically adjacent daisy circuit 172 so as to output the analog output signal of the analog input port 1. will be handed over to. This operation is called daisy control. When the CSO1 of the mask control circuit miai rises, the switch 175 is turned on, and the analog input signal of the analog input port 0 held in the sample/hold circuit 173 is transferred to the analog bus B1. Since CSO1 is CS1 of the daisy circuit 171, CSO rises after a certain period of time after CSO1 falls. This is the CSI of the daisy circuit 172 and at the same time the switch 17
6 is turned on, the analog input signal of the analog input port I held in the sample/hold circuit 174 is placed on the bus B1. This system, which has a hierarchical structure, requires this daisy control. In other words, the analog input signal is transferred from the analog input port 0 to the analog bus B via the sample/hold circuit 173.
1, the analog input signal is then output from the analog input port +-t to the same analog bus B1 via the sample/hold circuit 174. Looking at each neuron in the intermediate layer, the analog input signal from analog input port O and the next analog input signal from analog input port 1 are input sequentially in a time-division manner. Each daisy circuit 171, 172 outputs an output control signal CSO by delaying the input control signal CSI by a specific time in order to prevent bus contention on the analog bus B1. Also in the middle layer, the mask control block 181
AN that receives the output control signal CSO2 from as CSI
When P1 outputs an analog signal, it passes the CSO as CSI to ANP2, which then outputs it. AN
ANP3, which receives P2's CSO as CSI, will next output an analog signal. In short, here AN
PI, 2.3 are output in this order, and the daisy operation of the intermediate layer is completed. In parallel with this, the mask control block 181 that manages all operations controls the output layer ANP4.
When SO3 is given, ANP4 outputs, and after the output is completed, AN
When P4 gives CSO to ANP5, ANP5 outputs. The output from ANP4.5 of the output layer is the CS03 signal and ANP from the mask control block 181, respectively.
The signals are sampled/held by sample/hold circuits 177 and 178, respectively, by the daisy chain output control signal CSO from 4. This output voltage is output as an analog output signal from the analog output ports 0 and 1, and is also selected by the analog multiplexer 179 and then
/D converter 180 performs A/D conversion, and MPU 182
, a memory 183, and a communication interface 184. And MPU
At step 182, for example, it is compared with a teacher signal stored in the MPU given during learning to check whether it is a desired output signal, and based on this result, weight data in a weight memory, which will be described later, is changed. In the max value node circuit 187, dummy node control signals DCSI and DCS2 are applied from the mask control block 181 to output enables 1 and 2, and output terminals are connected to analog buses Bl and B.
Connected to 2. FIG. 9A is a timing diagram of the hierarchical neurocomputer according to the embodiment shown in FIG. Control signal lines are extracted and written for each layer. First, the data clock DCLK and the weight clock WCLK, which are basic operating clocks, enter all the ANPs in the same layer and the daisy circuits 17l and 172 on the input side at the same time. The weight clock WCLK is a serial synchronization pulse for serially sending digital data of weights, and is a synchronization clock for reading out the weights from the weight memory block. The timing at which input data is taken in is determined by each control signal. First, in the timing chart of FIG. 9A, CSO1 is the daisy chain control signal CS01 output from the mask control block 18, 1, that is, the daisy chain control signal CSI to the daisy circuit 171. Daisy circuit 17
1, the CSI inputs the first analog input signal from the analog input port 0 to the sample/hold circuit SH17.
3 to the analog bus B1. That is, the analog signal is output to the analog bus B1 at point (■) in the timing chart. At this moment, analog bus B1
Voltage is applied to the top, ANPI, ANP2. ANP3 performs a sum-of-products operation on this analog signal in parallel. The CSO passes through the daisy circuit 171, and a predetermined time after CS○ falls, the next CSI rises as shown in ■, and that CSI enters the daisy circuit 172. The next CSI is a control signal that enters the second daisy circuit 172 in the input layer. Then, while CSI is high, the analog input signal is sampled from the analog input port 1 by the sample/hold circuit S H 1
7 4 via ANPI. It is input to ANP2 and ANP3, and sum-of-products calculation is performed here. DCS 1 from mask control block 181 is a control signal to the dummy node. Each layer has a signal from a dummy node in addition to the input, so it has the form of (number of neuron nodes + 1) nodes, and the input layer has 2 inputs, but the ANP of each hidden layer
From the outside, it looks like there are 3 inputs. To explain this in terms of time, two CSIs and one DCS 1 form one control signal block. The input cycle starts with the first CSI and ends with the input to the DCSL dummy. Dummy node is max value node circuit 1
87, the circuit outputs a fixed threshold voltage on the analog bus while DCS1 is input. In other words, as shown by ■, while this voltage is being output after DCS I rises, each ANP in the intermediate layer performs the sum-of-products operation in the same way as normal inputs, and the fixed voltage is applied to the previous two analog inputs. It will be added to the result of the product-sum operation of the signals. In other words, after multiplication, addition is performed. SYNCI is the DC before CSO 1 starts up.
It becomes high at the falling edge of LK, and becomes low at the next falling edge of DCLK after DCSI rises. This is the signal that synchronizes the input layer. While WCLK is being input, the analog input and weight data are multiplied. Two peaks M1 and M2 are output to the sample/hold signal SH1 that enters the ANP of the intermediate layer, and the product is multiplied slightly before the first peak M1, and the sum is generated at the peak and held. Then, at the next peak M2, the offset voltage ■, (see FIG. 6) is subtracted and sampled/held. Such processing is sequentially repeated for all input analog signals, and the calculation of the sum of products is completed. In this case, each ANP in the middle layer, including the dummy, executes the sum-of-products operation three times. This completes the processing of each ANP in the intermediate layer, and ends the addition of products for the three inputs. In addition, in the timing chart, when DCLK is high immediately after DCS 1 falls, the sum of products is calculated for three signals from analog 2 ports 0, 1, and dummy nodes. Ch) in the sample/hold section 45 in FIG. This kind of operation is basically repeated, but A is connected to analog bus B2 between the intermediate layer and the output layer.
When to output the output signal of NP1 is determined by the rise of the signal of CS02 output from the mask control block 181. Offset control control signal O shown below SHI
C1 performs offset cancellation inside the ANP. That is, each ANP is an analog circuit that internally includes an operational amplifier, and since the circuit itself has an offset, the control signal for canceling this offset is the OC signal. As shown in the OCI, one pulse is emitted every time one checkwa calculation is executed, and offset cancellation is executed internally. In the timing chart, as shown by ■, when CSO2 rises, the signal held in ANPI is output from ANPI to analog bus B2, and while CSO2 is high, ANP4 in the output layer performs a sum-of-products operation. CSO indicated by ■
The rising edge of 2 is the timing for outputting the product-sum result of the previous input results. Next, the timing between the intermediate layer and the output layer will be explained using FIG. In addition, in the same figure, the output of the daisy chain control signal from the intermediate layer ■, ■, ■, ■ and the output from the output layer ■,
The analog signal that appears on the analog bus in synchronization with ■ is the output of the daisy chain control signal from the input layer mentioned above ■, ■, and the analog signal that appears on the analog bus in synchronization with ■ is before the processing cycle. The result will appear. The execution of Vibrine processing will be explained later, but
At the rising edge of CSO2, which is indicated by ■ in the timing chart, the output of ANPI is output. Looking at the signal in the timing chart SH2 at the rise of CSO2 shown in (2), two pulses are output. In the block diagram of FIG. 8, the SH2 signal is input to the first ANP 4 of the output layer. That is, one sum operation is performed within the ANPA for the two peak pulses of the SH2 signal. The middle layer has AN as shown in the figure.
It is assumed that there are three hidden layer neurons of PI, 2.3, but one dummy node is added by the masox value node times 1ffl187, for a total of 4 neurons. Therefore, the two peak pulses of the SH2 signal are ■
The analog signal of the intermediate layer is input to the ANP4 using the four sets of peak pulses of the SH2 signal, and the sum of products is calculated. Naturally, this operation is performed at the same time as the intermediate layer ANP is performing the product-sum operation on the input signal, and this is pipeline processing. CSO2
The signal below is the ANPI CSO signal in the middle layer,
This is the CSl for ANP2 in the same middle 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 CSO of ANP3, and below that is the CSI of the dummy node, which is the signal output from DCS2, that is, the mask control block. CS
Looking at I, the middle layer A is in the order of Φ, ■, ■, ■.
It is input to NPI, ANP2, ANP3, and the max value node circuit 187 of the dummy node. During this time, the SH2 signal outputs four pulse signals having two peaks. That is, the neuron in the output layer of ANP4 adds four products of the input analog signal and the weight. ■ CS to ANPI in the part

【が入力している時にはANPIか
らアナログ信号が中間層と出力層の間のアナログバ.ス
に信号が出され、これがANP4に入力される。そして
この時、対応する重みデータがANP4に入力され、そ
れと共に積が実行され、SH2信号の第1の山で加算さ
れ、第2の山でサンプル/ホールドされる。そしてこの
計3ダが終わると、ANPIからCSOの信号が立ち」
二かり、これがANP2のCSIとなる。これが■の状
態であり、この時重みデータとアナログバス上のデータ
とが掛け算され、和が計算される。■が立ち下がったあ
と所定時間後にANP3へのCSIがハイとなり■で示
すようにANP 4で積和演算が行われる。このような
積和の演算がANPA内で計算され、■のところでマッ
クスバリューノード回路187から出力される固定電圧
がANP4に入力され、これが内部のいままで蓄えられ
た積和に加えられることになる。 以上の動作は出力層のANP5に対しても並行して行わ
れる。ここに同時処理がある。ANP4で計箆された積
和演算の結果が出力層に接続されたアナログバスB3に
出力されるタイミングはマスクコントロールブロック1
81から出されるCSO3の立ち上がりである。マック
スバリューノード回路187がアナログバスB2に出力
するための制御信号がDCS2であって、これが■に対
応する。このDOS 2までは中間層における計算結果
を出力するまでの動作である。タイミングチャートのこ
れよりも下に書いてある信号に対しては同じような動作
であり、中間層とカスケードに接続された出力屡側の動
作を規定する信号パルスである。CSO3が立ち上がる
と、ANP4で計算された積和演箕の結果が出力される
ことになる。 出力層ではANP 4、ANP5の2個が出力される。 なお、例えば■のCSO2の立ち上がりは、ANPIに
入る信号で、この立ち上がりはDCLKよりも遅れてい
る。これはアナログ入力信号とディジタル重みデータと
のf!演算を行う場合、WCLKでディジタルデータを
読み込む時にシリアルであって、これを内部でパラレル
に変換するディジタルデー夕の読み込み時間とアナログ
入力信号がD/Aコンバータすなわち乗算処理部に到達
するまでの時間を考慮してCSO2の立ち上がりを遅ら
せているからである。すなわち、最初の頭の部分でズレ
ているのは、データの呼び出し、つまりシリアルデータ
の読み込み時間が含まれている。データがセントし終わ
るのはDCLKの立ち上がりから、しばらくたった時間
すなわちWCLKで16サイクル後である。アナログ乗
算の開始時間はCSO2が立ち上がってからWCLKで
8サイクルたった後である。 第10図は、ディジタル重みデータの読み込みタイミン
グを示すタイミングチャートである。同図において、マ
スタクロツタMCLK,同期信号SYNC,重みクロソ
クWC L K,データクロックDCLK、実際の重み
データWDATAが示されている。重みデータW D 
A T Aは重みメモリからビットシリアルで読み出さ
れ、16ビットがシリアルに入力される.Sはサインビ
ットで、Bl4〜BOまでが数値ビットである。同図に
おいて重みデータWDATAのB8,B7,B6の部分
が重みクロックWCLKとの対応として図の下方に拡大
された形で表現されている。重みクロックWCLKは周
期が250 nsecでデューティ比50%になってい
る。WCLKの立ち下がりからシーケンサ内部にあるア
ドレス更新用のカウンタの伝播遅延時間後に重みメモリ
にアドレスが与えられる。即ち重みメモリ (.RAM
)のビットnのアドレスはmみデータWDATAのビッ
ト7が格納されている這みメモリのアドレスである。こ
のアドレスが確定した後、tAA時刻後にビノト7が読
み出されている。ビソト7からビット6への変化は重み
クロックの次の周期への変化によって決まり、ビット6
は次の周期で読み出されている。重みデータの16ビッ
トはANPに入力され、ANPに入力されるアナログ電
圧との積が内部のD/Aコンバータによって計算される
ので、アナログ電圧の入力開始は、データクロソクDC
LKからの立ち上がりからずっと後に入力される。即ち
、アナログ入力電圧は入力されてからD/Aコンバータ
に到達されるまでの時間があるのでその時間とディジタ
ル重みデータが内部にセントされる時間とを制御し、重
みデータの到着時間とアナログの到着時間がちょうど一
致するようにアナログ電圧を入力する必要がある。 例えば、アナログ入力電圧の立ち上がりは、mみデータ
のB7あたりから立ちあげ、重みデータのBOが入力さ
れ、その後すべてのmみデ〜タが内部で確定した頃にそ
のアナログ値との乗算がスタートするように時間の制御
をとる必要がある。 そして加詠はDCLKが次にロウになる期間で行われる
。 ANPの動作時間は、SYNC信号とWCLK、及びデ
ータDCLKで規定される。そしてアナログ入力電圧は
ANPの入力端子からディジタル重みデータと積を実行
するD/Aコンバーク迄の電圧到達時間等にかなりの時
間誤差があるので、マージンを見込んでCSIの立上り
はDCLKの立上りより遅れたところから始まることに
なる。 mliA図はマスクコントロールブロック181の構成
図である。マスクコントロールブロック181はすべて
のIlm信号を総括する部分である。 主要な構成要素は外部パスインタフェイス回路200、
制御パターンメモリ201及びマイクロプログラムシー
ケンサ202とマイクロコードメモリ203、アドレス
作成部204である。外部バスインタフェイス回路20
0は、MPU等に接続するためのインクフェイスでアド
レス線205、データ線206及び制御信号線207に
接続されている。外部バスインタフェイス回路200の
上位アドレス比較回路208、レジスタであるD−FF
209はそれぞれMPU等から与えられる上位アドレス
をデコードし、上位アドレスが予め定められた番地であ
る場合に、下位アドレスとデータをそれぞれD−FF2
09,211にタイミング回路214からのランチ信号
をトリガとしてセットする。そのアドレスとデータはそ
れぞれバスドライバ210と212を介し7て、内部ア
ドレスバスと内部データパスを介して内部に入力される
。 そのアドレスはマイクロコードメモリ203を参照して
、マイクロコードをデータパスを介してMPU側から書
き込む場合等に利用される。また下位アドレスはバスド
ライバ210を介してマイクロコードアドレスをマイク
ロプログラムシーケンサ202にも渡され、MPU側か
らの特定なアドレスで制御パターンメモリ201を参照
できるようにしている。 MPUあるいは主記憶からのデータはデータ線206を
介してD−FF2 1 1にラッチされた後、バスドラ
イバ2】2を介してマイクロコードメモリ内のセパレー
トI/ORAM2 1 3あるいは、制御パターンメモ
リ201内のセパレートI/ORAM215,216に
加えられる。M P U或いはメモリからのデータスト
ローブ信号がf,lf#信号線207を介してタイミン
グ回I?8214に加えられるとアクノリッジ信号を返
送する通信方式で、アドレスやデータの送受信に関する
制御が行われる。タイミング回路214はD−FF21
1.D−FF209へのラッチタイミングやWR信号を
介してマイクロコードメモリ203、制御パターンメモ
リ201への書き込みタイミング等を制御する。 第9図のタイミングチャートに示されるようなニューロ
チップに与える複雑な制御信号の“l”″01パターン
は、制御パターンメモリ201に1周期分格納され、そ
の1周期分のパターンを−7イクロブログラムシーケン
サ202の制御に従って制御パターンメモリ201から
続み出すことによって生成する。例えばリセット信号R
eset ,データクロンクDCLK,重みクロソクW
C L K,CSOI,CSO2,CSO3やSYNC
1、SYNC2、SHI,SH2、OCI,OC2等の
制御信号はセバレー} I/ORAM2 1 5から読
出され、パターンに付随する制御情報つまりシーケンス
制御フラグは第2のセバレー}I/ORAM216から
読み出される。例えば制御パターンメモリ201はi0
00110001というパターンが格納されている場合
には、“1.0”ビットのパターンであるから、この’
I,0”ビットのパターンを繰り返すように制御パター
ンメモリ201のアドレスを制御すれば、このパターン
の繰り返しが制御パターンメモリ201から読み出され
ることになる。すなわち制御信号のパターンは非常に複
雑なパターンであるので、これらのパターンを予めこの
セパレートI/ORAM2 1 5に格納しておき、そ
のセパレートI/ORAM2l5のアドレスをマイクロ
ブログラムシーケンサ202の制御に従って指定するこ
とによって順次そのビットパターンを出力する構造にな
っている。 よって、幾つかの同じパターンを繰り返すことになるの
で、その繰り返しをどのように実現するかはアドレス制
御に従う。この1周期分のパターンをオリジナルパター
ンと呼ぶことにする。オリジナルパターンを繰り返すた
めには、マイクロブログラムシーケンサ202に制御パ
ターンメモリ20lからの特定な情報をフィードバック
する必要がある。すなわち第2のセバレー} I/OR
AM216内のシーケンサコントロールフラグを条件入
力としてマイクロプログラムシーケンサ202に入力す
ることにより、マイクロブログラムシーケンサ202は
第1のセパレートI/ORAM2l5内のオリジナルパ
ターンの入っている先頭アドレスに戻るように制御する
。このことにより、オリジナルパターンの繰り返しが実
行される。すなわち、マイクロブログラムシーケンサ2
02はその条件が満たされるまで汎用ボート出力線20
2−1を介してセパレートI/ORAM2 1 5への
アドレス信号を逐次に生成する。通常はこのアドレスは
インクリメントされるがオリジナルパターンの最終にな
ったという条件が満たされると、そのオリジナルパター
ンが格納されている先頭アドレスに戻るようにする。結
果として特定なパターンが繰り返しセパレートl/OR
AM2 1 5から制御パターンが出力される。 M11.B図は、マスクコントロールブロック181を
制御するメモリ201及び203内の情報の相互関係で
ある。同図において、lIIfIIパターンメモリ1が
第1のセパレートI/ORAM2 1 5に相当し、制
御パターンメモリ2が第2のセバレー} I/ORAM
2 1 6に相当する。マイクロコードメモリ203内
には、シーケンサ202の制御コードが記憶され、主に
、Jump命令とRepeat命令・が格納されている
。アドレスの増加方向にみて、特定なアドレスにRep
ea t命令があり、この反復命令に従う制御パターン
メモリ内のパターン1の繰り返し数は制御パターンメモ
リ2の対応するアドレスに格納され、例えばNOJであ
るとすれば、IO回の反復を実行することになる。この
ようにして、アドレスが増加し、マイクロコードメモリ
のJump命令に来たときに、マイクロコードメモリ2
03内の第2のJua+pで500Hに飛び、Patt
ern2を出力する。Pattern 2を5回繰り返
すと、マイクロコードメモリ203内の第3のJump
で、再びrl00HJに飛び、Pattern 1を出
力することになる。このようにして、オリジナルパター
ンが繰り返されて、制御パターンメモリlから読み出さ
れる。 このTA fllパターンメモリ201を参照す1るア
ドレスの読み出しクロソクに同期してWCLKが作られ
ており、重みメモリ185.186からWCLKに同期
して情報が読み出される。重みメモリ185,186へ
のアドレスはアドレス作成部204のアドレスl及びア
ドレス2から出力されるアドレス信号によってアクセス
される。アドレス1と7ドレス2はそれぞれ、中間層と
出力層に対応して分離している。中間層にあるANPに
与えるべき重みデータはアドレスlによって指定される
重みメモリ185から読み出され、出力層へのANPへ
の重みデータはアドレス2によって指定される重みメモ
リ186から読み出された内容である,各アドレスは重
みメモリ185.186の内容が重みデータの各ビット
をアドレスが増す方向にlビ.ットずつ格納されている
ので、アドレスカウンタ217,218へのカウント制
御信号がマイクロプログラムシーケンサ202から与え
られる必要がある。そのアドレスカウンタ217,21
8によってこのアドレスがバスドライバ219,220
を介して次から次へと重みメモリ185,186へのア
ドレス信号として、インクリメントして与えられる。そ
して複数の重みデータがその重みメモリ185,186
から読み出される。 第1のセパレートI/ORAM2 1 5からWCLK
とマイクロプログラムシーケンス202からのカウンタ
制御信号がアドレス作成部204内のアンド回路221
、222に加えられている.カウンタ制御信号がハイの
とき、WCLKによってアドレスカウンタは更新され、
WCLKの1〜16ビットまではアドレスカウンタ21
7,218をインクリメントする。そして、残りのWC
LK17〜26ビットに対しては、カウンタ制御信号を
ロウとすることによりWCLKをインヒビントとしてア
ドレスカウンタ217,218のインクリメントを停止
する。そして、SYNCI,SYNC2に同期して、そ
れぞれカウンタリセット信号をマイクロブログラムシー
ケンス202からアンド回路221,222に送出して
、アドレスカウンタ217、218をリセットする.こ
のことにより、重みメモリ185,186のアドレスを
先頭アドレスに戻ス。なお、マスクコントロールブロッ
ク181から出力されるモード信号は、重みメモリの通
常使用、すなわち重みメモリをMPUデータパスから切
り離し重みデータをANPに与えるモードと、重みメモ
リをMPUデータパスに接続し、MPUから重みメモリ
を参照するモードを形成するためのものである。 モード信号は、MPUからのデータの下位ビットが、下
位アドレスの1ビットとタイミング回路214からの書
込み信号からWRをアンド回路223にて生じるアンド
信号をトリガとしてフリソプフロップ224にセットさ
れることにより形成される。このモード信号がOのとき
重みメモリは通常使用となる。 書込み信号WRと内部アドレスバスの1ビットがアンド
回路223を介してフリソブフロフブ224のクロック
端子に入力され、内部データパスのLSBがフリップフ
ロソブ224のデータ端子に入力される。上位アドレス
を比較回路208でマスクコントロールブロック181
が選択されているかを判定し、選択されている場合、下
位アドレスとデータをDFF209,211に取り込む
。 このような、インクフェイス動作はMPUに接続される
他のデバイスに対しても同様に行われるが重みメモリは
通常AN・Pに対し重みデータを供給しているので、M
PUのデータパスに直接接続するとバス競合が生じる。 これを防ぐために、内部データパスのL S Bがフリ
ップフロップ224に取り込まれた時はモードを1とし
て、重みメモリを後述するようにチップセレクトしない
ようにして、重みメモリからデータパス上にデータが生
じないようにする。内部アドレスバスが所定タイミング
において、内部アドレスバスによって、マイクロコード
メモリ203と制御パターンメモリ201のいずれかの
アドレスを指定し、そのアクセスされたアドレスに内部
データバスから所望のデータを書き込む。これにより、
マイクロブログラムシーケンサ202やマイクロコード
メモリ203、セバレー} I/ORAM2 1 6に
記憶されたプログラムを変更するか、セバレー} I/
ORAM215に記憶された制御パターンを変更する。 第12A図はこの重みデータメモリ230のデータ格納
構成図である。同図において列方向の8ビットは同じア
ドレスに入った8ビソトデータの情報であり、各ビット
は下からANPI,ANP2・・・ANP8に与えられ
る。行方向はアドレスが異なり、図に示すように左に行
くほどアドレスが増加する方向となっている。重みデー
タはサインビットを含めて16ビットであるからこれを
アドレスの小さい方向から大きい方に向かって格納する
。MSBは、サインビントで、それ以外の15ビットは
数値ビットである。マイクロプログラムシーケンサ20
2からアドレスがWCLKに同期してインクリメントさ
れると、重みデータの1ワード分、すなわち16ビット
がMSBから順にLSBまで読み出されることになる.
8個の複数のANPに同時にこれらの重みデータが渡さ
れる。このようにアドレスの増加する方向にデータが格
納される構造になっているため、この重みデータに対す
るアドレスのカウンタが必要となる。 すなわち、MSBからLSBの重みデータデー夕の1ワ
ード分がカウントされたら、IIII分の重みデータに
なるようにカウントされる制御が必要となる。この制御
はやはりマイクロプログラムシーケンサ202で行って
いる。 第12B図は重みメモリブロック185,186具体的
回路である。メモリ230はMB8464A−70とい
うRAMである。出力はANPI〜ANP8に対応する
8ビットである。基本的にMPUのバスから見たバス信
号線とマスクコントロールブロック181から見えるア
ドレス1と2のどちらかを使う。アドレス1と2は前述
した第11A図のアドレヌ1と2である。このアドレス
1と2はWCLKに同期してインクリメントされる形で
入力される.8ビットのデータは同時に読み出され、各
ビソトはANPI〜ANP8に対して同時に与えられる
。 モード信号が0のときアンドゲート233を介して、重
みメモリ230はチップセレクトされ、このとき、マイ
クロプログラムシーケンサ202からのアドレス1.2
がマルチブレクサ234で有効となる。そして、重みメ
モリ230から重みデータがANP 1〜8に送られる
。一方、反転回路231の出力は、ハイであるからトラ
イステートバストランシーバ232はディスイネーブル
状態となって重みメモリ230の出力はMPUへと出力
されない。 MPUに出力する場合には、モード信号を1にして、M
PUからの適当なアドレス情報によって、アドレスデコ
ーダ235を介してメモリ230をチップセレクトし、
メモリ230にMPUからアドレスを与える。モード信
号が1のとき、MPUバスへの読み出しまたはバスから
メモリ230への書き込みの$lgFlすなわちリード
ライトの方向は、MPUからアンドゲート236を介し
て来るデータ線の読み出し信号Read Signal
 によって決められる。 次に学習のアルゴリズムについて説明する。 第12c図は本発明に利用されるパックブロバゲーシロ
ンという学習アルゴリズムのフローチャートである。学
習は次のように進められる。本発明のニューラルネット
ワークすなわち、ANPの集合によって構成される階層
型ネットワークの入力に学習すべき完全情報がMPUか
ら図示しない入力’MvsE路を介して入力される.そ
して、その入力信号は入力側回路、中間層及び出力層を
介してネットワーク出力にA/Dコンバータを介した+
1 M P Uに与えられる。MPU側の主記憶内に学
習アルゴリズムが存在する。MPU内は、教師信号を主
記憶から取り入れ、ネットワークの出力と教師信号との
誤差を調べる。もし、その誤差が大きければ、MPUは
、ネットワークが正しい出力を出す方向に、ネットワー
クの接続の強さであるmみデータを変えることになる。 この重みデータは重みメモリ230を介して各層のAN
Pに加えられる。 重みデータが学習アルゴリズムによって更新される場合
、第12C図のパックプロバゲーション学習アルゴリズ
ムに従うことになる。学習アルゴリズムがスタートする
と、MPUは出力層のL番目のニューロンANP.は教
師信号YLと、現在の出力YLとの誤差を求めてそれを
ZLに代入する。出力YLは、ニューロンANPLの出
力であるから、例えばシグモイド関数を非線形素子とし
て使うならば、この非線形関数の出力値として出された
ものである。従って、ニューロンAN p+,において
、誤差ZLを非線形関数の入力側に誤差伝播する必要が
ある。誤差伝播を行う場合、エネルギー関数、すなわち
誤差信号の2乗に1/2を掛けたエネルギー、すなわち EL=1/2(YL  Yt)! の非線形関数入力χ,に対する偏分、すなわちは次のよ
うに変形できる。 =  (YL   YL  )  ・f  (Xc  
)となる。ここで、非線形関数f(XL)がシグモイド
関数であるとするならば、 このシグモイド関数の微分r’(xt)を変形すると、 r ’  (XL ) =YL  (1−Yt. )と
なる。これはフローチャートの82に示される■,であ
る.従って、δすなわちエネルギーの非?形関数入力X
,に対する偏分はV,XZLとなり、すなわちS2に示
されるUL となる。このエネルギーの非線形関数入力
に対する誤差分δをさらに中間層へ逆伝播させる必要が
ある。 中間層の第K番目のニューロンをA,とする。 Akの出力はYIIとする。出力層のニューロンAN 
P tの非綿形関数入力XLはすべての中間層にあるニ
ューロンの出力( y +  ・・Yエ■}までのそれ
ぞれに重みWLKを掛けた積和で表現される。 従って、Xtの重みWLwに対する偏分けとなる。一方
、エネルギーELに対する重みW,Kの変分は次式で与
えられる。 aWt m     C;IXL   o)Wt 賢と
なる。すなわちS3のTLうは ろEL aWLII を表現しているもので、エネルギーの重みに対?る偏分
てある。従って、このTLXを重みの変化分ΔWとすれ
ばよいが、収束を早めるために84に示される第1式の
第2項を加えて、次のような漸化式にして重みを修正す
る。 ΔWLk一αTLk +β・ΔWL, WL.=WLk+Δwt k ここで、α,βは定数である。今、出力層の特定なニュ
ーロンANPLに注目しているが、この人NPI.は中
間層のニューロンにすべて接続されているものとするな
らば、各A N P Lに対してKを1からK Ill
!Xまで繰り返す必要がある。これがフローチャートの
R1に示す繰り返しで、中間層のニューロン数K■8た
け繰り返すことになる。この繰り返しが終わると出力層
の特定なニュー口ンANPLに対する逆伝播が終了する
ことになる。 従ってこれをすべての出力層のニューロン(ANP,,
ANP! .  ・・・,ANPL■、}に対して行う
必要があるため、フローチャー゜トのR2に示すように
、Lを1からし,I■まで繰り返すことになる。すなわ
ち、最終出力層のニエーロンの数?■8だけ繰り返すこ
とになる。 次に今度は中間層から入力層に向かって学習することに
なる。アルゴリズムはほぼ同様であるが、誤差信号は教
師信号と出力電圧との差で表現できず、S5の式になる
。すなわち、Zkが中間層のK番目のニューロン、Aう
の出力誤差信号に対応する項となる。これは次式によっ
て明らかである。 ?なる。従って、S5のZkのインデックスLに対して
1からL.■まで、すなわち出力の数だけ繰り返す(R
3)ことによって中間層の誤差信号分Z,lが計算され
る。その後は中間層と出力層との間のアルゴリズムと同
じである。すなわち、まず、シグモイド関数の微分値■
,を出し、それを用いてUksすなわちエネルギーの非
線形関数入力に対する変化分を86で求める。S7でそ
のUっ?用いて入力層の出力、YJとのtrII,を求
める。これを重み変化分の主要部として、S8に示すよ
うに収束を早めるための第2項を加えて、ΔWkJを求
め、前の値WアjにそのΔW1.Jを加えて新たなWつ
、とする。これが重みの更新である。この重みの更新を
入力数J■8だけ繰り返す(R4)。すなわちj=1か
らJ thaXまで繰り返すことによって入力屓と中間
層の間の重みが更新されることになる。なお、S5のZ
kは中間層の出力の誤差信号に対応するものであって、
これは出力層のエネルギーの関数入力値に対する偏分U
Lを後ろ向きに逆伝播した形で表現され、WLxは中間
層と出力層との重みが定まって初めて定まるものである
。すなわち重みの更新に対する計算は出力層のニューロ
ンANPLから始めて中間層のニューロンA N P 
wに移り、中間層のニューロンANPKではその重み変
化分ΔWはその前段のΔWが決まらないと計算できない
ものとなっている。 従って最1多の入力層まで遡って始めて計算が可能とな
るところからこの学習はバックブロバゲーションと呼ば
れている。 バンクブロバゲーシジンによる学習は学習用のデータを
完全情報として入力し、結果を出力する前向き動作とそ
の結果のエラーを小さくするようにすべての結合の強さ
を後ろ向きに変えることになる。その為、この前向き動
作も必要となる。この前向き動作において本発明のアナ
口ダニューラルネソト部が有効に利用される。また、出
力値を逆伝播するアルゴリズムはMPUで実行される。 なお、シグモイド関数でない非線形である場合には、そ
の非線形の微分値が異なる。例えばtanh(X)であ
るならば学習アルゴリズムは第12D図のように、非線
形の微分結果は、出力層では■,=I−IYLIとなり
(S2′)、中間層ではV,=l−lYm  l  (
s6”)となる。 その他は、第12C図と同じ参照符号をつけて説明を省
略する。 第13図は入力側のディジー回路173,174の構成
図である。図中240,241.242はDタイプのフ
リップフロップである。DCLK信号の立ち上がりでD
fi子に入力されるデータをセットし、出力Qを1の状
憇にする。第1のフリップフロップ240は、DCLK
の立ち下がりで、CSI信号をセットする。そして、次
の立ち上がりで第2番目のフリソプフロップ241にそ
の出力信号をセントする。 その出力は第3番目のフリップフロップ242のInl
a子.に入力されている。その入力をセットするクロッ
ク信号は4ビットカウンタ243の出力である。カウン
タ243はWCLKの立ち下がりでトリガされる。クリ
アされるのはDCLKの立ち下がりである。従って、D
CLKの立ち下がりにカウンタ243はオール0となり
、WCLKの立ち下がりが8回入力された後、上位ビッ
トのQD信号がハイとなるので、これがトリガとなって
フリソブフロップ242はCSOにハイ信号を出力する
。フリップフロップ241の出力が0になればCSOは
クリアされる。このような動作により、CSIが立ち下
がって、WCLKの8パルス分に相当する所定な時間通
過したのちCSOが出力されるというディジー動作が行
われる。 第14図はダミーノードのニエーロンを形成するマンク
スバリューノード回路187の具体的回路図である。同
図において抵抗250、ツェナーダイオード25L 2
52、抵抗253、電圧フォロア254、255は一定
電圧を形成する回路である。抵抗250、253とツェ
ナーダイオード251、252を介して+12ボルトか
ら−12ボルトに電流が流れると電圧フォロア254、
255の入力には、それぞれ+7ボルトと−7ボルトが
形成される。これらの電圧は電圧フォロア254,25
5の出力抵抗256を介して出力される。この2つの一
定電圧を時分割で引き出すようにアナログスイッチ25
7〜264を用いて制御する。Tモードの信号が0の時
、その一定電圧はアナログスイッチ257を介して次の
電圧フォロア265に与えられる。Tモードが1すなわ
ち、テストモードの時にはアナログスイッチ258によ
ってその出力はアナロググランドに抑えられるため、O
ボルトが電圧フォロア265に入力される。テストモー
ドでは、バス上のオフセッ]・がMPUに通知されるこ
とになる。電圧フォロア265は、出力部のスイッチ制
御によってイネーブルされる。出力イネーブルが1のと
き、アナログスイッチ260がオンで電圧フォロアとし
て働き、その出力が与えられるが、この時、ダミーノー
ド出力には出力されない。逆に出力イネーブルが0の時
にダミーノード出力に出力される。アナログスイッチ2
60とその出力のスイッチ制御は出力イネーブルlまた
は2によって制御され、0イネーブルである。すなわち
出力イネーブル1または2が0の時にダミーノード出力
に一定電圧が出力される。なお、ダミーノード出力は上
側が入力層のダミーノード用であり、2番目が中間層の
ダミーノード用の出力である。このダミーノードの出力
電圧は適当な値に固定されるため、スレッシュホールド
電圧として使用可能となる。なお、ツェナーダイオード
251,252は逆バイアス状態で一定の電圧を出すも
のであり、固定電圧は、+7ボルトから−7ボルトまで
の範囲で可変できるようにしている。出力イネーブル1
.2はアナログバスにつながっている他のA N Pか
らの出力電圧とそのアナログバス上ご衝突を避けるため
にマスクコントロールブロソク181からのダミーノー
ド制御信号DOSでイネーブル状態が決められている。 第15図は非線形E数発生回路であり、第16図、第1
7図、第18図はANP内部のデイジタルロジック側の
ハードウエアである。 第15図はシグモイド関数を実現するトランジスタ回路
網である。ここでいうシグモ・イド関数とは連続で単調
非減少な関数を指し、かつ線形関数を特に除外するもの
ではない。同図において343,356,378,39
0,298,314のトランジスタとそれに対になった
トランジスタで差動増幅器を形成し、、コレクタ側に接
続されたトランジスタ群がそれぞれカレントミラー回路
である。差動ANPの左側のトランジスタのコレクタを
流れるコレクタ電流が出力電流である。カレントミラー
で電流の方向を変えて出力している。電流は出力VOに
接続されている抵抗336にはいる。低抗336によっ
て電圧が電流に変えられる。 ドライブ能力がないため、出力にはハイインピーダンス
のオペアンプバノファで受ける。トランジスタ337,
339より入力側の回路はバイアス回路である。シグモ
イド関数を実現するために区分線形法を使っている。シ
グモイド関数の各区分の傾きはエミソタに接続されたエ
ミソタ抵抗344と出力抵抗336の比によって決めら
れる。この時l・ランジスタ343等のエミソタ抵抗も
含まれる。各差動ANPのゲインは異なる。各区分線形
の移り変わりに対するブレイクポイントは飽和特性を利
用している。その飽和特性はすべて異なる。vOの出力
点において、各オペアンプから出力される電流の総和の
値がシグモイド関数になるように各ANPの飽和特性を
変えている。トランジスタ345と抵抗R1はT4流源
である。トランジスタ346と抵抗R2、トランジスタ
353と抵抗R3等はすべて同じ電流を供給する電流源
である。すなわち、電流値は同じになるように抵抗が決
められている。すべて同一電流源である。トランジスタ
345,346のコレクタは接続されているので、和の
電流が抵抗344、347の交点に流れる.トランジス
タ343,348のコレクタ電流は、バランスした時点
では同じになる。 l・ランジスタ351はカレントミラーの特性をよくす
るためのものである。トランジスタ350はダイオード
接続である。電流の向きを変えるということは出力に対
して、電流を引っ張りこむ場合と電流を外に出す場合が
ある。同図に示すように、カレントミラーのトランジス
タ351のコレクタからは出力に向かって電流が流れる
。下側のトランジスタ配列は沢山あるが、エミッタとコ
レクタが同じ点に接続されているトランジスタは同じト
ランジスタである。例えばトランジスタ358と360
は同じトランジスタでこれはトランジスタ345と同じ
ものである。また359と361も同じトランジスタで
これは346に対応する。368,369のトランジス
タは同じであり、これは353に対応する。以下、同様
である。しだがって、同じ電流で駆動される定電流電源
を有するオペアンプが出力電圧の正負に従って電流の向
きが異なるような動作を行うものが全部で6個ある回路
である。また、トランジスタ337,338はレベルシ
フトであり、330と327もレベルシフトである。レ
ベルシフト回路はシグモイド関数の正と負で動作範囲が
ほぼ同じになるようにするためのものである。トランジ
スタ352はトランジスタ351のコレクタ電流とトラ
ンジスタ353のコレクタ電流が等しくなるための補正
用のものである。トランジスタ367,385,287
,307も同様である。 第16図は、ニューロチノブ内に供給するパルス信号の
形成するためのシーケンスジェネレータ28(第2図)
の具体回路である.401と402及び404と405
はインバータで、各インバータはクロソク用のインバー
タである。フリソブフロソブF,Fのラッチ信号の立ち
上がり用と立ち下がり用とに分けてクロツクを作ってい
る。同図のフリ,ブフロ,プは立ち上がりクロノクでラ
ソチするもので、インバータとF.Fで立ち上がりラソ
チのF.Fを形成する。例えばD C L Kでは、イ
ンバータ401を1個通ったものが立ち下がりラノチ用
のクロック信号となる。そしてインバータ402を通っ
たものが立ち上がりラッチ用のクロソクDCLKとなる
。同様にインバータ404の出力が立ち下がり用のWC
LKでインバータ405の出力が立ち上がり用クロック
WCLKである。F.F41.0において、SYNC信
号をDCLKの立ち下がりがラッチしている。F.  
F410と415でSYNC信号をDCLKの1サイク
ル分遅らせ、SNC2信号を作って、SYNCとその1
クロック遅れた信号とで17のパルスを作っている。S
YNCが立ち上がった後の1τ(DCLKの1周期)の
パルスでANP内の積分用コンデンサの放電を行う。す
なわちCRSTという信号がそのコンデンサのリセット
信号である。 もう1つのD S H 2はSYNCの立ち下がりから
DCLK(7)lτ分の長さをとったパルスであって、
これがANP内のサンプル/ホールドのコンデンサに対
するサンプル/ホールド信号となる。411のF.Fで
はクロソクがWCLKで、データがDCLKであるから
、W C L KでDCLK信号をラッチしている。そ
の後ナンドゲート414でSYNC信号がハイになって
いて、かつDCLKがハイという状態で最初にきたWC
LKをトリガしてF.F443のクロックにしている。 ナンドゲ− ト4 1. 4とインバータ440でアン
ドとなる。 F.F443において、SYNC信号がハイにな,って
いる状態で最初にきたWCLKという信号がディジタル
重みデータすなわちWDの符号ビノトを取り込んでいる
。この信号はシリアルに入ってくる重みディジタルデー
タのMSB,すなわち符号ビットである。すなわちF.
F411とアンドゲー} (414.44.0)のタイ
ミングで符号ビットをF.F443がラッチする。4ビ
ットの2進カウンタ416はWCLKのパルス数をかぞ
える.16ビットのディジタル重みデータが入ってくる
ので16回数える。数え終わったところで、出力がハイ
となり、インバータ423に入る。この信号は16個カ
ウントし終わったことを指示するC3号である。この信
号はシリアルにANPに入ってきた重みデータをシフト
レジスタ27(第2図)に入れる制御等に使われる。ま
たカウンタ416の最下位ビノトはインバータ422に
入力される。このインバータ422の出力はCSO信号
を生成する。CSOはディジーチェーンの制御信号であ
って、アナログバスBlにおいて、前段の2つのANP
から出される信号の競合を防ぐため、前の時刻のCSが
落ちた後、次のCSを出すようにディジー動作を実行す
るためのディレイ回路を形成する必要がある。このディ
レイの遅延時間はWCLKをカウントし、そのカウンタ
値で形成している。カウンタ416のカウントが終わり
、フリソプフロップ433にその終わったという指示の
信号がインバータ423を介してラッチされるが、これ
はWCLKでたたいている。すなわち17個目のWCL
Kでたたいている。インバータ437と438を通して
、ラッチされた信号がカウンタ416に戻り、カウンタ
416のインクリメント動作をこれ以上させないように
ディスイネーブルの制御を行っている。インバータ43
8の出力がロウになると、カウンタ416はカウントが
停止する。F.F433の頁の出力はフリップフロツプ
442に入っている。これがシフトレジスタ408の出
力のゲート信号になる。すなわち、16個のディジタル
重みデータが入ってくるのをシフトレ,ジスタ408で
順々にシフトし、符号ビットを除いた数値ビットの15
ビットのデータをパラレルに並べたところでこれらを出
力する。シフトしている間は出力は出ないようにし、全
部入ったところで出力するためのゲート信号がWRであ
る。シフトレジスタ408の内容はANPの掛算器に与
えられる。F,F433から出力される信号は、分岐さ
れてシフトレジスタのイネーブル信号に使われる。F.
F442はF.F433の出力を立ち上がりでラッチす
るものである。WCLKの16fIIの立ち下がりラッ
チでシフトが完了し、その後ゲートを開くのに立ち上が
りラッチでもよいが、立ち下がりで行っている。F.F
412はジグモイド関数の選択用のパルス信号を作るも
のである.F.F412を使ってリセノト信号が{.t
いった時点で、W D ,すなわち重みデイジタル入力
信号がOか目こよってシグそイドを使うか使わないかを
選択する。この方法は本システムで使用されない場合も
ある。実際はシグモイド選択1′11号は、外部から直
接形成する。下の回路はデイジーチェーン回路である。 カウンタ416の出力!i−F.F434で,ヂイレイ
を作り、そのデ,レイで最後のF.F445をトリガを
掛りでいろ。このことにより、DCLKの1r分ズラし
た上に、そのままズラずのではなく、頭をおとすように
している。すなわちCSI信号それ自身はD C i−
 Kの1周期分はないこともあり、そのCSIをCSO
にずるためにはCSIに対して、最初の、例えば、2マ
イクロ分を削、って波形の前を遅らせ、後ろはそのまま
信号を作っている。ゲート425と427はCSIのバ
ソファゲートである。正のバ,ファとインバータバソフ
ァである。 第17図はサンプル/ホールドS/H信号と、0C信号
を形成する位相制御回路29(第2図)である。S /
 H信壮はインバータ515に入るものと、ノ1″’ 
− ト5 2 4に入るものと別れでいる.OC信号も
同1,pである。S /’ H信号がゲー1・524と
イ:ノバータ515に別れ、インバータ5 1 :i 
R山でゲー1・5 2 5に入るとその後はインバータ
が8段ある。S / H信号に対してそのままの位相と
逆位相の2通りの信号を作っている。これはインバータ
を数段分カスケードに結合し、,たずきがけすることに
より2つの出力が同時に1になることを避けている。す
なわち、サンプル/ホールドS/H信号の2つ、S/H
OとS/H 1を形成し、それが両方とも1にならない
ようにするようにし7ている。すなわち、インバータチ
ェーンはS/11信号の両方が同時オンを避けるための
ディレイ回路である。ヂイレイの遅延時間は・インバー
タチェーンの長さによって決まり、片方がオンになっ゜
ζから数段分遅らせ、もう片方をオンにしている。 S/HDOとS/HDIに関し,ても同様である。 OC信号に関する回路も基本的には同じであるが、それ
はCRST信号がゲート528と529に入っているの
で、CRSTが1の場合には強制的に両方出力を1にす
る,OCOとOCIの両方共、同時に1になることを避
けているが、OCの場合はCRSTが1の場合だけ同時
に1になるようにしている。このことにより、アナログ
スイソチの’LQ f3jを介して積分器のコンデンサ
のffi荷を放電するというリセット機能を実現してい
る。 第18図は15ビットのシフトレジスタ27(第2図)
である。ゲート602と603及び6014、そしてF
.F627で1ビソトに相当し、これを使って説明する
。ゲート603には、前の時刻の出力が入力されている
もので、これはF.F628の出力である。前のビット
からの入力ということで、シフト用のデータ信号となる
。ゲート603に入っている他の信号はSHFT,すな
わちシフト信号のインバータである。これはシフト制御
信号で、これが有効のとき.シフトの指示を行うことに
なる。またゲート602にはF.  F627そのもの
の出力が入っている。これは自分自身の出力をフィード
バソクしていることになる。 ゲート602の他の入力にはS L{ F T信号のイ
ンバートが同じように入っているが、この位相はゲート
603に入っているものと異なる。これによりシフトが
無効の時に、今の出力をその」―ま保持ずることになる
。クロソク信号はシフトと無関係に常時入ってくるので
、クロソクが入ってもシフトが有効でなければシフトは
行わない。シフl・信号S H F Tが有効の時だけ
前のビットをシフトし,、ゲート603を通って入力す
ることでシフト動作となる。WR信号はゲート632、
633等のアンドに入っている。これは各ビットの出力
を出すか出さないかの選択信号となり、乗算器の方にシ
フトレジスタに格納されたデータをわたすかどうかの制
御信号となる。また、ファンアウトをとるために、例え
ばインバータ620によって151固のうち5 ([!
IのF.Fのリセント信号そして、ゲート626で10
個のF.Fのリセント信号を受け持つようにしている。 ファンアウトのシフトレジスタ608はシフトイネーブ
ルS H F Tと出力のイネーブルWRの機能がつい
ている。 次に、本発明に係るニューロコンピュータヲ帰還型ネソ
l−ワークで構成した場合について説明する。 第19A図は帰還型ネ・,トワークの概念図である。 帰還型ネソトワークの場合にも、基本的には入力が存在
するが、自分が出力した信号も帰ってくるという帰還路
をもった構造となる。この帰還方式は、階層型ニューラ
ルネットワークにおける1層を時分割多重使用するタイ
プとして利用される場合と、またいわゆるホップフ゜イ
ールド型のニューラルネソトワークとして利用される場
合がある。 前者の場合、ANPの入出力信号は、時分割であるので
、各ANPの出力点ではある一定のシーケンスサイクル
毎にその同じANPの出力データが逐次に出力されて、
1つシーケンスサイクルごとに階層型ニューラルネット
ワークの入力層、中間層、出力層として順次動作する.
後者の場合、ANPの出力が特定の値になるまで、つま
り安定するまで、出力電圧が帰還される。帰還している
結果を出した時に、その結果が前のデータ、つまり自分
が前に出したデータと一致するまで、状態が繰り返され
、安定解に達すれば収束となる。 本発明の実茄例によれば、第19B図に示されるように
、帰還路を共通アナログバスCBで実現することになり
コの字型の帰還部が存在する。そして1個自分が計算し
て出したものが出力され帰′iA路を通じて各ANPか
らの出力がフィードバンクされることになる。この帰還
動作を繰り返していく。 第20図は本発明のニューロコンピュータを階層型ネッ
トワークとして動作する帰還型ネットワークによって実
現した実施例である。アナログ入力ボート1,2からの
時分割アナログ入力信号に対してANPI,2.3にお
いて積和演算を行い、ANPI,2.3を中間層として
動作させANP1,2.3からアナログバスB2に時分
割出力し、この出力信号を帰還路であるアナログコモン
バスCBを介してアナログバスB1に帰還し再びこの帰
還信号に対してANPI,2.3で積和演算を行うこと
により、ANPI,2.3を出力層として動作させるこ
とにより、一層のANPI、2,3により階層型ネット
ワークを実現したものである。マンクスバリューノード
回路187はマスクコントロールブロックのDOS出力
を受けてアナログバスB2にダミー信号を生ずる。そし
てマスクコントロールブロックからDCLK及びWCL
Kがそれぞれディジー回路171に入力され、CSl信
号の立ち上がり及び立ち下がりのタイミングを規定する
。 第21A図は第20図に示した帰還型階層ネットワーク
のタイミングチャートである。 DCLKが立ち上がっている間だけ、WCLKは発生し
、DCLKが立ち上がってからアナログ信号が定常化し
、かつ重みデータがシリアルに入ってきた後で、パラレ
ルに揃う前のタイミングでマスクコントロールブロック
181からのCSOlがディジー回路171に入力され
■に示すように立ち上がる。この時アナログ入力ボート
1よりサンプル/ホールドS/Hに保持されているアナ
ログ信号はアナログスイッチ175を介してアナログバ
スBlに現れ、ANPI.2.3で積和演算が行われる
。次のDCLKの入力で、ディジー回路172へのCS
Iが■に示すように立ち上がると、アナログ入力ボート
からの入力信号を保持しているサンプル/ホールド回路
S / Hの信号がアナログスイソチを介してアナログ
バスB1上に現れ、ANPI.2.3で2回目の精和演
算が行われる。さらに次のタイミングでDCLKが入力
した後、■に示すようにマスクコントロールブロックよ
りダミー信号DOSが発生し、ANP 1,2.3にお
いては、固定電圧に対する3回目の和が実行される。次
のSYNC信号が立ち上がっている間に、ANPI,2
.3の出力層の積和演算が行われる。重みメモリへのア
ドレス1の信号のアドレスカウント禁止信号が立ち上が
っている間だけ、アドレスカウンタをカウントするWC
LKがイネーブルされ、それ以外の時には、そのカウン
トは抑止される。次に、CSO2がマスクコントIJ−
ルブロソクよりA.NPlに与えられると、A. N 
P 1は、iiI回の積和の結果をアナログバスB2に
出力し、アナログ共通バスCBを通してアナログバスB
1に帰還し、■で示すように再びANPI,2.3にお
いて積和演算を行う。CSO2が八NPIの内部のディ
ジーチェーン回路において、所定遅延を加えられた後、
ANP2に■に示すように入力信号CSIを加え、この
時、ANPの出力信号がアナログバスB2に共通バスC
B及びアナログバスA1、B1を介して再びANP 1
に加えられ、ここで積和演算が行われる。同様にANP
2からのCSOは所定時間遅らせた後、ANP3のCS
I信号となり、このCSI信号が■に示すように立ち上
がった時にANP3の出力信号がアナログバスB2,共
通バスCB,アナログバスB1を介して再びANPI,
2.3に帰還されてここで積和演算が行われる。同様に
■に示すようにダミーノードからの信号DCSの立ち上
がりの際に再び、固定電圧に対してANPI.2.3に
より和の演算が行われる。そして、次のCSO2の信号
の立上りでANPl..2からS / IIを介して出
力が■,■に示すように生じる。なお、アナログ入力ボ
ート2からは出力されない。 ここで■,■,■はANPI,2.3が中間層として動
作し、■,■,■はANP 1,2.3が出力層とL7
て動作する。従ってこの実施例によれば、A.NP1,
2.3の1層のみの構成で階Z型ネノトワークを構成で
きる。 第22図は本発明にかかる゛rナログニニーロ:1ンビ
ュータをホソブフィールド型の帰還型ネソトワークで構
成した実施例であり、第23図はそのタイミングチャー
トである。マスクコントロールブロソク181の、メモ
リ・アドレス端子及びモード端子の出力が重みメモリブ
ロソク185に加えられ、この重みメモリブロソク18
5のデータ出力であるBIOはA.NPIXBllはA
NP2、B12はANP3に接続される。マスクコント
ロールブロソク181のCSO1の端子からの出力信号
は、ディジー回路171、スイソチ175に加えられ、
この信号の立ち上がりで、アナログ入カボート1からの
サンプル/ホールド回路173の出力をアナログバスB
1に乗せる。そしてディジー回路171で所定時間遅延
された後、CSOの出力が生じ、これがディジー回路1
72にCSIとして加えられてアナログ入力ボート2に
接続されたサンプル/ホールド回路174の信号をスイ
ノチ176を介してアナログバスBlに乗せる。 同様にディジー回路172′の出力信号CSOがアナロ
グ入力ボート3に接続されたサンプル/ボールド回路1
74′の出力スイソチ176′を開いてその信号をアナ
ログバスB1に乗せる,AN[)1では第23図に示す
ように、DCLK信号の1周期で1つの積和の演算を行
い、DCLK信号がハイの時に重みクロックを駆動し、
その重みクロソクに同期して入るディジタルmみデータ
と、アナログ入力信号との掛け算を行い、DCLKのf
ilのロウ信号の時に、サンプル/ホールド信号S 1
1がハイとなり、積分器のキャパシタにおいて、和の動
作を行う。すなわちCSO 1すなわちディンー回路1
のCSIがハイになっている期間■で、バスBl上のア
ナログ信号に対してANP1.23は精和演算を行う。 また、マスクコントロールブロソク181からのOC信
号がハイとなると、ANPI,2.3はオフセソl・キ
ャンセルを行い、サンプル/ホールドして1つの精和演
算周期を終える。次に第2のディジー回路172の入力
信号CSIがハイ■になるので、次のアナログ入力ボー
トからの入力信号に対しANPI,2.3は積和演算を
行う。そして、その積和演算周期が終了した後に、ディ
ジー回路172′にCSI信号が入り、サンプル/ホー
ルド回路174′から出力信号が生じて、■で示すよう
に第3番目の積和演算サイクルに入る。 次にマスクコントロールブロソク181からC302信
号■が生じて、ANPIから前回の積和サイクルの時に
形成されていた信号がアナログバスCBを介して帰還さ
れ、その帰還された信号に対して、ANPI,ANP2
.ANP3で積和演算を同時に行う。次に所定時間遅延
した後、ANP1のCSO出力信号が■でANP2に加
えられ、ここでディジーチェーン的に前回の禎和サイク
ルの時にmえられた信号をANP2が出力する。この信
号はアナログバスCBを介して帰還されてANPI,A
NP2,APN3で積和演算を■で駆動する。そして同
様に所定時間遅延した後、ANP2のCSOが■でAN
P3に加わえられ、ここでANP3からの出力をアナロ
グバスCBを介して帰還して、ANPi ANP2,A
PN3において■で禎和演算を行う.帰還型ネットワー
クにおいては、第23A図及び第23B図に示すように
、3つのANPにおいて、6つの積和演算サイクルを経
て出力が、それぞれサンプル/ホールド回路177、1
78、178′を介してアナログ出力ボー}0,L 2
へと出力される。また、サンプル/ホールド回路177
,178、178′の出力信号がアナログマルチプレク
サ179で選択出力されたものをA/Dコンバータ18
0を介してMP0182、メモリ182、通信インター
フェイス184を含むデジイタル制御回路に与えられる
。MPU182で現時刻のニューロン出力状態と前時刻
のニューロン出力状態が同じになったかどうかをチェソ
クする。同じになれば収束したものと判定する。このよ
うに、1本の共通アナログバスCBを介して実行される
。帰還動作を繰り返していくことによって安定解に到達
すればこれを最終的な出力とする。 第24図は、帰還型ネットワークと階層型ネットワーク
8を組み合わせたものの最適実施例である。 入力層としてディジ−回路が設けられ、中間層にはAN
Pl.2.3が設けられる。出力層にはANP4,5が
設けられる。そして中間層のANP1,2.3の出力は
アナログバスB2と共通アナログバスCDを介してアナ
ログバスB1に帰還される。また、アナログバスB1、
B2にはダミーノードとして働くマックスバリューノー
ド回路187が接続されている。そして、出力層を構成
するANP4.5の出力はサンプル/ホールド回路17
7.178をそれぞれ介してアナログ出力ボ−}O及び
lに出力される。B3は出力層アナログバスである。 第25図を用いて第24図に示したニューラルネソトワ
ークの動作を説明する。 まず、DCLK及びWCLKがマスクコントロールブロ
ックからディジー回路171及びANP1,2,3,4
.5にそれぞれ入力される。マスクコントロールブロソ
ク181から■に示すようにCSO lがCSIとして
第1のディジー回Vs171に入力されるとアナログ入
力ポート0からの信号がサンプル/ホールド回路173
及びスイッチ】75を介してアナログバスB1に生じ、
ANPI.2.3において積和演算がSHI及びCS1
の制御で行われる。 次に、CSO1が立下がった後、所定時間経過後に第2
のディジ−回路172に入力されるCSI信号が■に示
すように立ち上がると、アナログ入力ボートlからの信
号かサンプル/ホールド回路174及びスイッチ176
を介してアナログバスB2により中間層のANPI,2
.3において、S H lに示すように積和演算が行わ
れる。同様にCSOが信号が立ち下がった後、所定時間
経過後に■に示すように第3のディジー回路へのCSI
信号が立ち上がると、中間層ANPI,2.3で積和演
算が行われる。そして、中間iANPl,2,3の出力
はCSO2が■で示すように立ち,上がってANP 1
に加えられると、アナログバスB2に出力されその出力
は共通アナログバスCBを介してアナログバスB1に帰
還されるので、中間層のANPI,ANP2,ANP3
においては再び積和演算が行われSHIとOC1の制御
で積和演算が行われると共に、AN.P1の出力はアナ
ログバスB2上に生じているので、ANP4,ANP5
においても、SH2とOC2の制御で積和演算が行われ
る。すなわち、この実施例においては、中間層ANPI
、ANP2、ANP3と出力層ANP4,ANP5にお
いて同時に積和演算が行われる。 次に、CSO2が立ち下がった後所定時間経過後に中間
層のANP2に■に示すようにCSI信号を入力される
とANP2の出力信号はANP2、共通バスCBを介し
てアナログバスB1に帰還されるので、ANPl、2.
3においては再び積和演算が行われると共にANP4.
5においても同時々・イミンゲで情和池算が行われる。 さらに、■で示1ようにCSI信号がANP 3に入力
されるとANP3は出力侶号を′rドレスバスB 1に
生じるのでANPI、2.3及び出力層のΔNP4.5
で同時に積和演算が実行される。 その次に、マノクスバリューノード回路187ヘダミー
信号DSC fが■で与えられると、アナログバスBに
■に一定電圧が出力され、この電圧(ま共通バスC B
及びアナl′IグバスB1を介して帰還され、これに対
し2て、ANPI,2.3で積和演算が行われる。それ
と共に出力層ANP4.5でも積和演算が行われる。 SYNCIは、中間層で積和演算される期間と中間層及
び出力暖で積和演算される期間にわたってハイであり、
SYNC2は中間層と出力層で積和演算がされる間がハ
イである。そして、CS03が出力されるとANP4は
■のところで出力を生じ、そのCSO3信号が立ち下が
った後、所定時間後にANP5もまた出力を■のところ
で41−ずる。 なお、アドレスl及びイネーブル信号がロってある間は
WCLKが抑止される。 本発明によれば、n (Wのニエーロチソブからなる前
段層とm個の複数のニューロチソブからなる後段の層を
考えるとき、従来は配線数がΩm個になるのに、本発明
の実施例によれば、アナログバス1本にすることができ
るので配線数を大幅に減少させることができ、また、n
個のニューロチップからなる層に入力アナログ信号を入
力する際に、放送方式と同様にアナログバスを介して同
時に入力できるので、1層内のn lのニューロチソブ
が並列演算ができる。さらζご、各N6こついてもバイ
ブライン処理が行われるので、演算速度を高速にできる
。 又、ニューロチップをアナログ回路で構成しているので
、回路の規模が小さくてずみ、このため電力も小さくて
すむので、多数のニューロチソブによりニューロコンピ
ュータを構成することができる。さらに、二j一口チッ
プの数を増やすことはlスタコントロールブロソク内の
制御パターンメ七リに格納されて制1ルパターンをかえ
ることにより容易に行える。 第26A図,第26B図は実際のANPが持っている誤
差を発生ずるメカニズムの概念図である。 第26A図は入力電圧が既知である特定の値である場合
で、ニューラルネノトワークの出力電圧が点線に示され
る理論値であってもG1からG5までの二J−ロンに相
当するANPにおいて、積分ゲインのバラつきがあるた
め点線のような理論値からズレた出力値が生成される場
合がある。第26B図は入力電圧が0ボルトの場合であ
ってこの場合も出力電圧はオフセソト電圧として出力さ
れる。このような出力における誤差電圧をどのように泗
定すればよいかということが重要な問題である。 第27図,第28図はそれぞれこのパルス的な誤差電圧
を計る階層型及び帰還型のニューラルネノトワークにお
ける誤差計測用回路である。マソクスバリ』−ノード回
路187の出力はアナログバスに接続されている。また
、MPUから与えられるデータをポートレジスタにセッ
トし、その制御信号E n ..Tモード、レイヤーモ
ードの各ビットはマソクスバリューノード回路187に
与えられるが、そのマ・ノクスバリューノードに与えら
れるイネーブル信号は同時にオペアンプの出力のスイノ
ヂの$1御にも利用される。例えばイネーブル信号1の
時には中間層の電圧はA/Dコンバータ707を介して
MPUに入る。このことによって誤差の計測が可能とな
る。Tモードとはテストモードのことであり、このTモ
ードを使うことによって前述したO入力に対する中間層
と出力層のアナログバスにおける電圧がA/Dコンバー
タを介してMPUで厠定可能となる。例えば、Tモード
=1では階層型のニューラルネノトワークではO入力に
対するオフセノト電圧が応答となるはずである.0入力
時にA/Dコンバータを介してどのような電圧がセンス
されるかをモニタする。各層毎にモニタするために中間
層及び出力層に接続されたアナログパス電圧が順番にM
PUに転送される.Tモードを逆にローにすると、今度
はハイレベルの電圧が常に出される。DCS 1とDC
S 2は、オア回路に入力されており、ポートレジスタ
から出力されるEnがハイの間はロウにされている。ポ
ートレジスタによってTモードをOにセットし、レイヤ
を1にセットし、Enをハイにすれば、入力層だけをロ
ウにして出力をモニタすることが可能となる。その結果
を記憶する。次にレイヤをロウにすれば中間層のアナロ
グバス上のオフセットをセンスできる。この選択を行う
のがポートレジスタである.第28図の帰還型の場合で
は基本的にはバスは1本であるから1回の計測で可能と
なる.どちらも棲和演算を実行しないと、オフセット電
圧の測定やゲイン誤差は測定できない。 後述するように、ダミーノードに対する重みを変えてそ
の時の出力電圧を測定する.この場合、それぞれのCS
■とCSOの制御を行い、Tモードで各層の出力状態を
センスする。このセンスしたデータをA/Dコンバータ
を介してMPUにとる。 29B図の動作タイミングチャートを用いて、より具体
的に説明する。第29A図において、DLCKの1周期
において、積和の1サイクルが行われる。そのDCLK
の1周期の前半のDCLKがハイの時にmみクロックW
CLKが少なくとも16個入力される。この重みクロソ
クWCLKは、シリアルデータをシフトレジスタに16
個薄えるためのクロックである。SYNC信号は1つの
ANPの動作タイミングを規定するもので、DCLKよ
り半サイクル前に立ち上がり、D C L Kの半分の
サイクルの点で立ち下がる。SHはサンプル/ホールド
信号でそのWCLKが入力した後、すなわら入力アナロ
グデータとディジタルmみデータとの積が行われた後に
その積信号をコンデンサにまず千十−ジするものである
。そして、サンプル/ホールド信号の最初のハイ信号が
立ち下がった時点で、オフセットキャンセル信号OCが
立ち上がり、コンデンサの極性を逆に反転する。その時
、コンデンサへの入力信号は、0にカントしておいて、
再びサンプル/ホールド信号の次のハイ信号において、
コンデンサにチャージを行うと、コンデンサには、入力
信号Oの時のオフセント電圧に等しい電圧がチャージさ
れる。これによってコンデンサはオフセット分だけ少な
くなった信号、すなわちオフセットがキャンセルされた
信号が蓄積されることになる。しかし、これでもオフセ
ットが残る場合には更に本発明の誤差吸収方式を利用す
る。 第27図において、ポートレジスタ1にMPUよりテス
トモードに入る指令信号が入力されると、En出力がハ
イに立ち上がり、テストモードの1または0がイネーブ
ル状態となる。レイヤがロウからハイに立ち上がると、
中間層のテストを行う.そして、Tモードが1の時には
、オフセットの誤差信号を検出する場合である。レイヤ
がハイであり、En信号がハイであるので、ゲート70
2及び703を介して出力イネーブルがハイとなる。 そして、マソクスバリューノード回路の中間層入力への
固定電圧を0ボルトまたはハイV態にするため、その回
路をイネーブル状態にする。出力イネーブルがハイに立
ち上がると、中間層のテスト終了までハイの状態となる
。すなわち、中間層について、オフセットの誤差を検出
する。ここで、上述したようにDCLKがハイ信号とな
り、積和の1周期が行われる。その後で、CSI(CS
O2)がハイとなり、ANPIから出力がアナログバス
(中間層)上に出力される。 次に一定時間たったANP2へもCSI信号がディジー
チェーン的に加えられるので、ANP 2からも同様に
アナログ出力信号が出力され、中間層の出力バス上にの
る。さらに所定時間経過後に、ANP3のCS[信号が
ハイに立ち上がるので、ANP3からアナログ出力信号
が中間層の出力のアナログバス上に出力される。中間層
に出力された各アナログ信号はオペアンプ704及びア
ナログスイッチ705,706を介してA/Dコンバー
タ707に加えられる。そしてA/Dコンバータ707
の出力Q,はMPUに送られ、それぞれ主記憶に一時保
持される。次に、第29B図のタイミングチャートに示
されるように、Tモードを0にしてダミーノードの出力
電圧をハイにして、各ANPの出力電圧Q9をMPUが
センスする。 〜j P tJはこのQ.とQ9から求まる加算器利得
Δ,を求める。 また、ポートレジスタ1のレイヤの出力がOの時にはイ
ンバータ708とゲート709、710を介して出力イ
ネーブル2にハイ信号が加えられるので、中間層のダミ
ーノード出力端子すなわち、マソクスバリ二一ノード回
路の第2の出力端子から出力信号が生じて出力層のAN
P4.5のオフセ7}を検出する。そして、その出力は
前述と同様にオペアンブ7l1,アナログスイノチ71
2.713を介してA/Dコンバータ707に加えられ
る。なお、アナログスイッチ714,715はA/Dコ
ンバータ707へと出力しない場合に電圧を電圧フォロ
アで保護するものである。なお、ANP4及び5の出力
はサンプル/ホールド715、716で一時保持されて
、アナログ出力信号として出力される。上述したものは
Tモードがlの場合であるので、ANP I、2、3、
4、5にはそれぞれOの入力信号が加えられるから、A
NP1乃至5のオペアンプのオフセソト電圧が△/Dコ
ンバータ707から八NPに出力される。 なお、第29B図に示すように、Tモードが0の場合は
、入力屓川ダミーノード出力及び中間層用ダミーノード
出力からはハイレベルのアナログ信号が出力されるので
、A/Dコンバータ707からはANPI乃至5を構成
するオペアンプの出力電圧Q.(f&述する)が出力さ
れる。 第28図は帰還型ニューラルネノトワークにおける誤差
計測用回路を示し、第30A,第30B図はその動作タ
イミングを示す。マックスバリューノード回路187か
らは入力石へのダミーノード出力を示す出力信号のみが
出力され、ANPI,2.3にそれぞれ入力される。A
NPI,2.3の出力アナログバスは共通バスCBを介
して入力側のアナログバスへと帰還される。ポートレジ
スタ1、ゲート702,703、オペアンプ704、ア
ナログスイソチ705、706、A/Dコンパ一夕70
7、ゲート708,709,710及びアナ口グスイノ
チ714の動作は第27図の動作と同様である。1層で
出力層を兼ねるので、階層型のような出力層はないので
出力層へのダミーノード出力は生じない。出力層へダミ
ーノード出力を与,える第2の出力イネーブル端子は接
地される。 そして、ANPI、2、3からの出力信号はサンプル/
ホールド回路718,719,720を介して出力され
る。 第28図の誤差計測用回路を第30A図及び第30B図
の動作タイミングチャートを用いて、より具体的に説明
する。第30A図において、DLCKの1周期において
、積和の1サイクルが行われる。そのDCLKの1周期
の前半のDCLKがハイの時に重みクロソクWCLKが
少なくとも16個入力される。この重みクロックWCL
Kは、シリアルデータをシフトレジスタに16@蓄える
ためのクロックである。SYNC信号は1つのANPの
動作タイミングを規定するもので、DCLKより半サイ
クル前に立ち上がり、DCLKの半分のサイクルの点で
立ち下がる。S Hはサンプル/ホールド信号でそのW
CLKが入力した後、すなわち入力アナログデータとデ
ィジタル重みデータとの積が行われた後にその積信号を
コンデンサにまずチャージするものである。そして、サ
ンプル/ホールド信号の最初のハイ信号が立ち下がった
時点で、オフセソトキャンセル信号OCが立ち上がり、
コンデンサの極性を逆に反転する。その時、コンデンサ
への入力信号は、Oにカントしておいて、再びサンプル
/ホールド信号の次のハイ信号において、コンデンサに
チャージを行うと、コンデンサには、入力信号0の時の
オフセソト電圧に等しい電圧がチャージされる。これに
よってコンデンサはオフセ・ノト分だけ少なくなった信
号、すなわちオフセントがキャンセルされた信号が蓄積
されることになる。しかし、これでもオフセントが残る
場合には、さらに本発明の誤差吸収方式を利用する。 第28図において、ポートレジスタ1にMPUよりテス
トモードに入る指令信号が入力されると、En出力がハ
イに立ち上がり、テストモードの1またはOがイネーブ
ル状態となる。レイヤがロウからハイに立ち上がると、
1層のテストを行う。 そして、Tモードが1の時には、オフセットの誤差信号
を検出する場合である。レイヤがハイであり、En信号
がハイであるので、ゲート702を介して出力イネーブ
ルの1番目がハイとなる。そして、マソクスバリューノ
ード回路の層入力への固定電圧をOポルトまたはハイ状
態にするため、その回路をイネーブル状態にする。すな
わち、1層について、オフセットの誤差を検出する。こ
こで、上述したようにDCLKがハイ信号となり、積和
の1周期が行われる。帰還型では、出力・イネーブル信
号は、すぐ立ち下がるので、入力側のバスはディスイネ
ーブルとなる。しかし、出力イネーブルがハイの間で、
すでにすべてのANPのオフセット電圧は内部でサンプ
ルホールドされていることになる.その後で、CST 
 (CSO2)がハイとなり、ANPIから出力が出力
のアナログバス上に出力される. 次に一定時間たったANP2へもCSI信号がディジー
チェーン的に加えられるので、ANP2からも同様にホ
ールドしてあったオフセント分のアナ口グ出力信号が出
力され、この層の出力バス上にのる。さらに所定時間経
過後に、ANP3のCSI信号がハイに立ち上がるので
、ANP3からアナログ出力信号が層の出力のアナログ
バス上に出力される.Hに出力されたオフセット分の各
アナログ信号Q,はオベアンブ704及びアナログスイ
ッチ705、706を介してA/Dコンバータ707に
カロえられる。そして八/Dコンバータ707の出力Q
,はMPUに送られ、それぞれ主記憶に一時保持される
。次に、第30B図のタイミングチャートに示されるよ
うに、Tモードを0にしてダミーノードの出力電圧をハ
イにして、各ANPの出力電圧Q,をMPUがセンスす
る。 MPOはこのQ,とQ9から求まる加算器利得A.を計
算する。上述したものはTモードが1の場合であるので
、ANPI,2.3にはそれぞれOの入力信号が加えら
れるから、ANPI乃至5のオペアンプのオフセット電
圧がA/Dコンバータ707からMPU側に出力される
。 なお、第30B図に示すように、TモードをOにした時
には、入力層用ダミーノード出力からはハイレベルのア
ナログ信号が出力されるので、A/Dコンバータ707
からはANPI乃至3を4W成するオペアンプの出力電
圧Q.(後述する)が出力される。 次に7ナログニエーロンプロセッサにおける演算誤差発
生モデルと、ダミーノードを利用した重み補正型方式に
ついて、説明する。 第31図は本発明の第1次補正と第2次補正処理のアル
ゴリズムの概略図である。第1次補正処理は加算器利得
推定のための計測条件設定とオフセット電圧の計測処理
である。すなわち、フローチャートが開始すれば、ダミ
ーノードの固定電圧をOにして、誤差計測用重みデータ
の1−Qrをダミーノードに対する重みとして再設定す
ることになる。第2次補正処理はダミーノード0ボルト
に対するオフセット電圧Qr と、lQrを1ボルトの
ダミーノードに対する中間的な重みとして乗算した結果
に、さらにオフセソト電圧が加えられて出力される混合
誤差出力Q,の2つ,の情報を使って正しい加算器利得
A,= (Q.−Qt )/Cl−Qt)を計エγする
ことである。 重み補正方式は、ダミーノードから生成される固定電圧
に対する各ニューロチソブへの重み(4:の重みを以下
、ダミーノード用重みという)を調整することによって
誤差電圧を吸収する手法である。 誤差には、オフセット誤差とゲイン誤差がある。 本発明ではダミーノードが論理的に存在している。 すなわち、マソクスバリューノード回路からアナログバ
スに例えば1ボルトの固定電圧を発生させる方式を採用
しているので、ダミーノード用重みをSUすることによ
って誤差を吸収することになる,ANPに0ボルト入力
を入れた場合にどの程度の誤差を出し、その・誤差がど
のような経路で発生するかは、実施例として以下に説明
される。 第32図は、アナログニューロンブロセノサにおける演
算2′l差モデルとダミーノードを利用したj1■み梼
正ヤ方式の概念図である。例えば重みか0.3で入力が
Oの場合には理論的には出力はOと八る。JJ++ 3
γ器利得が0.98のとき、入力の0にこの0.98を
かけてもOとなり、意味はない。一方、入力が11!ル
トの場合には、l X O. 3が本来の積の値である
。そし5て、加算器利15が0.98である場1)には
実際にかけられる値は0. 9 8 X O. 3とな
で)6同様に他のノードからの1ボルトに対してIX 
0. 4と<1. 0 )  X (−0. 6 )を
計箕し、これらの各積が0.98倍された値のすべての
和をとると、図に示すように、1.274ボルトとなる
。これにさらに、オペアンプのオフセノトが生じ、0.
01ボルトが加えられると、結果として、1,264ボ
ルトとなる。実際の値はl X 0. 3 + I X
 0.4 + (i.0) X (−0.6)であるか
ら1.3ボルトである。ところが1.3ボルトとなるべ
きところが、ゲイン誤差とオフセット誤差によって1.
264ボルトになる。これが演算誤差発生モデルである
。 下の図が市み補正型力式の概念図であって、演算誤差発
生モデルにおいて生成され゜Cいるオフセソト電圧−0
.01ボルトの誤差を補正するために、この図で、まず
ダミーノードの電圧を0.0ボル1・としている。この
とき、加算器刊{}が0.98であっても出力は0.0
ボルトとなるが、オフセソ1・電圧が加えられ、オソセ
ノト電圧Q,は−0,Olボルトとなる。そしてこれを
ダミーノ゛−ドに対する重みをQ,を相殺するために補
正とし7てダミーノード用重みを1から1.01に変え
る。これが第1次補正であって、一般には、l.o−Q
rの値となる。しかし、加算器利11は1.0であ乙べ
きところが0.98とな,でいるので、1、O I X
0.9 8.=0.9898ボル1・が鈷県となる。さ
らにAベアンブのオフセソトが同様に−0.01ボルト
とすると、これが加算されて出力は0.9798ボルト
となり、これを混合誤差出力値Q9とする。オフセット
電圧−0.01ボルトと、第1次補正のみによって与大
られた混合誤差出力電圧の0.9798であるQ,との
2つの情報から第2次補正をかけて加算利得A,を計W
する。第2次補正は図に示されるように次式に従う。 A9 = (Qv  Qt )÷(1.Qiすなわち、
今の例題では、A9が0.98であるから、Agを求め
ることが第2次補正の第1次段階となる。なぜならば、
第1次補正W (1−Qr )に固定電圧の1ボルトを
掛け、さらに加算器利得A1lを掛けたものにオフセノ
ト電圧Qrを加えたものがQ.となるので、 Q9 = (I  Qt ) ×l ×Ag ” Qt
となるからで、さらに、重みW,が、 o=w,XA,+Qf を満足するようにしなく゛ζはならいないので、を求め
ることが第2次補正の第2段階となる。この理由は、前
層のすべてのANPからの出力信号がすべて0のとき本
来は、後層の各ANPの出力イ;v号もANPにオフセ
ノトがあってもOとなるべきである。すなわち、ダミー
ノードの出力は常に■であるから、ダミーノードの出力
に対して、後屡の出力信号がOになるようなダミーノー
ドからの11t層の各ANPへの入力信号に対する重み
が決定されればよいことになるからである。このW.0
.010204を第2次補正した重みとしてlボルトの
ダミーノードにかけ、さらに加算器利得ノ\,=0.9
8をかけると、0. 0 0 9 9 9 9 9とな
り、ほぼ0.Olボルト.となる。これにオフセノト電
圧一〇,01が加算されるため、結果としてOボルトと
なる。 このようにオフセノ1・に関してもゲイン利得が関係し
ていることになる。オフセソ1・ゲインの両方を同時に
独立に補正すれば良いがそれが出来ないため、そ1等の
両方が混合した形で修正する方式になっている。このよ
うにして、ダミーノードから固定電圧の1ボルトを発生
したとき、A N Pの入力がOボルトのときに出力さ
れるオフセソト電圧がキャンセルされ、結果として出力
が0ボルl・となるように補正することが町能となる。 このような補正処理は補正イネーブルフラグEnを1に
することによって行われる。 第27図の階JQニューラルネットワークにおける誤差
計測回路においてTモードを1にするとマソクスバリュ
ーノード回路の中で発生される固定電圧が強制的にOボ
ルトになる。アナログバス■または■にはこれによって
0ボルトが強制的に入力される。例えば入力層のアナロ
グバス■を0ボルトにずると、中間層の各ANPI,2
.3の出力がオフセット電圧として出力される。これを
A/Dコンバータ707を介してMPU側に入力する。 MPU側はこのオフセット電圧をQrとして貯える。M
PUはこのQ,を用いて、第1次補正を行う。Q,が与
えられると、これを用いてダミーノード用重みを計算し
、重み補正する必要がある。第1次補正の後半において
は、ダミーノードの固定電圧を1ボルトとする.例えば
、中間層の第lのANP 1を対象とすれば、このダミ
ーノード電圧に対する重みデータを1.01とするよう
に制御する。中間層のそのANP 1の加算器利得が0
.98とすれば、加算器の出力は、0.9898となり
、さらにオフセット電圧−0.01ボルトが加わってQ
gである0. 9 7 9 8ボルトが出力される。こ
れを中間層の出力アナログバスに接続された誤差計測用
回路の内部のA/Dコンバータを介して再びMPUにQ
,情報として与える。そしてMPUは、A9の計算及び
1/A9からW1を計算する。その結果W1は第2次補
正量として1ボルトを発生するダミーノードに対する重
みデータ、すなわち、0.010204となる。このと
き、ANP内の加算器利得が0.98であるから、加算
器出力は0.01ボルトとなり、オフセットが加わって
0.ボルトになる。このことをMPUが確認すれば、ダ
ミーノード用重みが0. 0 1 0 2 0 4とい
う正しい値であることがわかるので、MPUはW1を重
みメモリに格納する。 以上の動作をすべてのANPに対して行うことになる。 第33A図乃至第33D図は階層型ネットワークの場合
の重みデータ修正アルゴリズムである.まず、マスクコ
ントロールブロックを誤差計測モードにする。テストモ
ードすなわち、Tモードを1にし、レイヤは中間層の1
、Enはlとする。すると、入力層のダミーノードの固
定電圧はOボルト電圧となるので、中間層の各ANPの
オフセント電圧を計測するこ止になる。第1次補正を行
うために、MPUは、割り込み処理を開始することによ
ってffl1次補正と第2次補正を行う。まず中間層の
処理中のANP数を計数する割り込み回数カウンタ変数
をOにし、割り込み処理を開始する。 すると、ANPはOボルト入力電圧に対する出力電圧を
Qfとして出力すると、計測用回路のA/D変換を介し
てデータQ,t−MPUが内部のレジスタへ読み込み、
さらにそのレジスタから主記憶メモリへそれを移す。そ
して、割り込みカウンタ変数をインクリメントし、この
割り込みカウンタ数が計測対象数すなわち、ANP数に
一致しているかどうかを調べる.それらがもし一致して
いなければ、カウント数をセンスしながら待ち状態にな
る。もしカウント変数が計測対象数に等しければ割り込
み処理ルーチンを終わって中間層のANPに対する第1
次補正処理に入る。すなわち、各ANPに対してダミー
ノードの電圧を1ボルトにし、第1次補正ルた値1.0
−Qfをまず重みとして、主記憶メモリにすべてのAN
Pに対する重みとして格納する。すなわち、Tモードを
Oにする。 すると、1゛モード=0のときには、ダミーノードから
は固定電圧の1ボルトが生成されるので、これに対し、
オフセント電圧及びゲイン誤差の影響を同時計測し、第
2次補正の前処理を行う。再び割り込み回数カウンタ変
数をOにし、割り込み処理開始を行う。すなわち計測用
回路の八/D変換を介してQ,を測定することになる。 ダミーノードの電圧は1.0で、第1次補正によって例
えばANPへの重みが1.01になっているので、加算
器利得0.98に対して出力が0.9898になり、オ
フセット電圧一〇。01ボルトが加わってQ9である0
. 9 7 9 8ボルトが計算される。このQ,をA
/Dコンバータを介してMPUが読み、レジスタからメ
モリに移し、これを中間層内のすべてのANPに対して
行うようにカウント変数をインクリメントする。このイ
ンクリメント数が計測対象散じなったかどうかのチェノ
クを行なって一致していなければさらに計測を実行する
。もし、カウンタ数が計測対象数になっていれば割り込
み処理ルーチンを終わって第2次補正処理に入る。すな
わち、A,の逆数にーQ,をかけたW1を各ANPに対
して求める。このW.をlボルトを生成するタ′ミーノ
ードに対する重みデータとしてあたえる。 すなわちダミーノード用重みを修正するルーチンに入り
、例えば、A. N Pに対する重みデータ0.010
204と決定する。これらの重みは重みメモリに格納さ
れる。 以上の動作は出力層のANPのすべてに対しても行うこ
とになる。従って、■に移って、Tモードを1、レイヤ
を0にして出力層モードにし、En=1として、同様な
処理に入る。ずなわら、割り込み回数カウンタを0にし
、割り込み処理ルーチンに入って、測定用回路によって
Oボルトのグミーノードに対するオフセット電圧、Qf
を出力層内のANPに対して求め、これらのデータをメ
モリに貯える。この処理を計測対象数(出力屡のANP
数)だけ行った後、割り込み処理ルーチンをぬけて第1
次補正処理を行うことになる。すなわちダミーノー1・
゛の固定電圧1ポルトに対する中間的な重みデータを設
定することになる。 ■に移る。Tモードを0にし、レイヤを0にし、Enを
1にする。そして第2次補正のための前処理に入り、Q
9を3[算ずる。すなわち、ダミーノードから固定電圧
1ボルトが発生されるので、オフセソト電圧及びゲイン
誤差の影響を同時計測することになる。割り込み回数カ
ウント変数をOにし、割り込み処理開始を行ってQ.を
A/D変換器を介して読んでメモリjこ移す。そして割
り込みカウント変数をインクリメントし、出力層内のA
NPの数だけ行った後、割込み処理ルーチンから抜けて
、第2次補正用のW,を計算し、それをダミーノード用
重みとして重みメモリに格納する。 階層型の場合、第2次補正で得られたW,は本来ダミー
ノードに与えられた重みに加算する必要がある。しかも
、すべての電みは1 / A Iがかけられる必要があ
る。 帰還型ネソトワークの場合の重みデータ修正アルゴリズ
ムは第34A図及び第3 4. B図に示される。この
場合も同様である。帰還型ネノトワークでは層は1層で
ある。マスクコントロールブロノクを誤差計測モードに
し、Tモードを1にし、レイヤを1、Enを1にして、
まずダミーノードの0ボルトffi圧出力によってオフ
セット電圧を計測する。割り込みカウンタ変数をOにし
、割り込み処理ルーチンに入って計測用回路の出力側に
あるA/D変換を介してQ,を読み、それをメモリに移
す。この処理をANP数だけ繰り返し、割り込み処理ル
ーチンを終了し、第1次補正処理に入る.帰還壓ネット
ワークでは17!!,かないために、第1次補正と第2
次補正は1度だけ行えばよい。次に、第2次補正を行う
ためにTモードをOに、レイヤを0のままで、Enを1
にする。そしてダミーノードの固定電圧lボルトを入力
し、オフセソトm圧及びゲイン誤差の影響を同時計測す
ることになる。割り込み回数カウンタ変数をOにし、割
り込み処理開始を行う。計測用回路のA/D変換を介し
て、Q.を各ANPごとに読む。すなわち、ダミーノー
ドからの1ボルトに対して第1次補正で決まったmみデ
ータを与えると、A. N Pは、内部の加算器利得0
.98をかけ、さらにオフセット電圧が加わった電圧と
してQ,を出力する。この処理は、11分のすべての7
’t N Pに対して行われ、各AN})に対応するQ
,とQ9の情報がメモリに書き込まれると、割り込み処
理ルーチンが終わる。 そして、MPUは第2次補正処理を行う。すなわら、M
PUはA,の逆数からW.を各ANPに対して計算し、
これを重み修正量として重みメモリに格納することにな
る。 次に本発明の複数ダミーノードによる重み補正方式を説
明する。 固定小数点方式では−E位ビットをサインビットとし、
この上位ビノトの次に小数点をおいた場合には、正の数
はOから1未満の間である。 従って、重みデータを16ピントの固定小数点方式で表
した場合には、1以上は表現できないことになる。 まず、階層型ネットワークについて説明すると、ダミー
ノードを各層について1個ずつあると仮定する。第35
A図の上部において、加算器利得が1であるべきところ
0.98であり、さらに、オフセット電圧が0.Ol存
在するので出力は1.3とするべきところが、1. 2
 6 4となって誤差が発生してしまう。スレッシュホ
ールド用の重みデータにオフセソト,ゲイン誤差用の重
みデータを加えた重みデータがダミーノードに対する重
みとして与丸られ、重みメモリに格納される。すなわち
、第35A図の左邪に示すように、ダミーノードと、入
力層のANPの出力を示した2つのノードとににおいて
、ダミーノードの電圧1ボルトにかける重みがスレソシ
ュホールド用と誤差補正用の和の形で0.316324
であると仮定する。この値は、固定小数点によって表現
可能であるがこれを2つの重みデータに分割する場合を
考える.そして、通常のANPに対する重みを0. 4
 0 8 2、他のAPNに対する重み−0.6122
とする.このようにするとANPの出力は+1.30と
なる。さらに、そのダミーノード川の重みデータが固定
小数点で表現できない場合がある。そのためこの市みデ
ータを2つ以上の重みデータの和で表現すれば、各重み
データは例えば1以下の値となり、固定小数点方式のデ
ィジタル量で表現できることになる。 ffi35A図右部において、1つは、スレッシュホー
ルド用ダミーノードに対するmみ0. 3 0 6 1
 2で他の1つは前述したオフセットと補正用ダミーノ
ードに対する重み0.010204である。すなわち、
スレッシュホールド用の電圧がオフセソト電圧よりも大
きく、従って、誤差も大きく発住ずる可能性があるから
、スレソシュホールド用ダミーノードとオフセット用ダ
ミーノードをわけることによって、オフセットの値が固
定小数点方式で表現できなくなることはほとんど避けら
れる。ダミーノードから生成される電圧は固定電圧】ボ
ルトであるから重みをこのように2つに分割しても、l
X0.30612ボルト+W.に相当する電圧は、重み
を1つにした場合の積と同じになる。各々の重みデータ
は重みメモリのダミーノード用として重みメモリの別々
の記憶領域に格納され、中間層の特定なANPに時分割
的にダミーノード用の重みデータとして与えられる。さ
らに、スレッシュホールド用の重みデータが大きい場合
にはこれを2分割すれば、第35B図の右邪に示すよう
に、ダミーノード用の重みデータは3個となる。各重み
データは固定小数点方式によりディジタル量で表現され
るものである。この場合は、重みメモリのダミーノード
用の重みデータを記憶する記憶空間が3つになり時分割
的に中間層のANPに与えられる。 ただし、各重みデータの分割は、中間層の各ANPごと
に異なるものである。 同様のことが出力層においても中間層用に用いられたダ
ミーノードに対して行われる。 帰還型ネソトワークについても、階層型ネットワークと
同様に、スレッシェホールド用ダミーノードとオフセッ
ト用ダミーノードと分割し、さらにスレッシュホールド
用ダミーノードを必要に応じて分割することにより、固
定小数点方式で重みデータを表現した場合の重みデータ
のダイナミックレンジを拡大できる。ただし、帰還型の
場合にダミーノードの出力は一層のみに接続される。 第36A図および第36B図は、第8図に示した階層型
ネットワークにおいて、複数ダミーノードで制御した場
合のタイミングチャートである。 ダミーノード出力DCSI,DOS2はそれぞれ連続す
る2つのハイバルスを有しており、これがマルチダミー
ノードに対応して2つの重みデータを制御することを示
している。 第37A図、第37B図は、第20図に示した帰還型ネ
ノトワークにおいて、複数ダミーノードでI1御した場
合のタイミングチャートである。 ダミーノード出力DCS3は連続する2つのハイバルス
を有している。 〔発明の効果〕 本発明によれば、n個のニューロチップからなる前段層
とm個の複数のニューロチップからなる後段の屡を考え
るとき、{ガ来は配線数がnm本になるのに対し、本発
明の実施例によれば、アナログバス1本にすることがで
きるので配線数を大幅に>J少させることかでき、また
、n個の二二一ロチソブからなる層に入力アナログ信号
を入力する際に、放送力式と同様にアナ1]グバスを介
して同時に入力できるので、lfi内のn. (Inの
ニューl:Jナ・,ブが並列演旅ができる。さらに、各
層についてもバ・fブラ・イン処理が行われるので、演
算速度を高速にでさる。 また、ニューロ千ノプをアナログ回路で構成しているの
で、回路の規樽が小さくてすみ、このため電力も小さく
てすむので、多数のニューロチノプによってニューラル
ネノトワークを構成できる。 さらにマルチダミーノードを用いたので重みデータ等を
固定小数点方式で表現した場合、そのダイナミックレン
ジを拡大できる。
When [ is input, is it ANPI?
An analog signal is sent to the analog bar between the intermediate layer and the output layer. vinegar
A signal is output to ANP4, and this signal is input to ANP4. and
At this time, the corresponding weight data is input to ANP4, and
With this, the product is performed and summed on the first peak of the SH2 signal.
sampled and held at the second peak. and this
When a total of 3 das are completed, the CSO signal will be raised from ANPI.
This becomes the CSI of ANP2. This is the state of ■
At this time, the weight data and the data on the analog bus
are multiplied and the sum is calculated. ■ has fallen
After a predetermined time, the CSI to ANP3 becomes high and is indicated by ■.
A product-sum operation is performed in ANP 4 as shown in FIG. like this
The sum of products operation is calculated in ANPA, and the mapping is performed at ■.
Fixed voltage output from the value node circuit 187
is input to ANP4, and this is stored internally.
will be added to the sum of products. The above operations are performed in parallel for ANP5 in the output layer.
It will be done. There is simultaneous processing here. Product determined by ANP4
The result of the sum operation is sent to the analog bus B3 connected to the output layer.
The output timing is mask control block 1
This is the rise of CSO3 issued from 81. Mac
value node circuit 187 outputs to analog bus B2
The control signal for this is DCS2, which corresponds to
respond. Until this DOS 2, the calculation results in the middle layer
This is the operation up to outputting. timing chart saw
The same behavior applies to signals written below this.
, and the middle layer and cascaded output-side
This is the signal pulse that defines the operation. CSO3 stands up
, the result of the product-sum operation calculated by ANP4 is output.
It turns out. In the output layer, two ANPs, ANP 4 and ANP 5, are output. For example, the rise of CSO2 in ■ is caused by ANPI.
This is an incoming signal, and its rising edge lags behind DCLK.
Ru. This is an analog input signal and digital weight data.
f! When performing calculations, digital data is transmitted using WCLK.
Serial when reading, but parallel internally
Converts digital data to analog with loading time
The input signal reaches the D/A converter, that is, the multiplication processing section
The rise of CSO2 is delayed to take into account the time it takes to
This is because it is In other words, there is a misalignment at the first head.
What we are doing is calling data, i.e. serial data.
Includes loading time. data has finished cents
It has been a while since DCLK rose.
That is, after 16 cycles of WCLK. analog squared
The calculation start time is determined by WCLK after CSO2 starts up.
This is after 8 cycles. Figure 10 shows the timing for reading digital weight data.
FIG. In the same figure,
Star clock MCLK, synchronization signal SYNC, weight cross
clock WCLK, data clock DCLK, actual weight
Data WDATA is shown. Weight data WD
A T A is read bit serially from weight memory.
16 bits are input serially. S is signbi
The bits from B14 to BO are numerical bits. In the same figure
B8, B7, B6 portions of weight data WDATA
expands downward in the diagram as a correspondence with weighted clock WCLK.
It is expressed in the form of The weight clock WCLK is
The period is 250 nsec and the duty ratio is 50%.
Ru. The address inside the sequencer starts from the falling edge of WCLK.
Weight memory after counter propagation delay time for address update
is given an address. That is, weight memory (.RAM
) is the address of bit n of m data WDATA.
This is the address of the crawl memory where the bit 7 is stored. child
After the address is confirmed, Binoto 7 reads it after tAA time.
Being left out. The change from bit 7 to bit 6 is weighted
Determined by the change to the next period of the clock, bit 6
is read out in the next cycle. 16 bits of weight data
The output is input to ANP, and the analog voltage input to ANP is
The product with pressure is calculated by internal D/A converter.
Therefore, to start inputting the analog voltage, use the data cross DC
It is input long after the rise from LK. That is,
, the analog input voltage is input to the D/A converter.
Since there is a time until the digit is reached, that time and digital
control the time that the weight data is sent internally, and
The arrival time of digital data and the arrival time of analog data are exactly the same.
It is necessary to input the analog voltage to match the For example, the rise of the analog input voltage is determined by the mmi data.
Start around B7 of , and BO of weight data is input.
After that, when all the MM data has been internally confirmed,
Control the time so that the multiplication with the analog value of starts.
It is necessary to take And the addition is performed during the period when DCLK becomes low next.
. The operating time of ANP depends on the SYNC signal, WCLK, and
It is specified by the data DCLK. And the analog input voltage is
Execute product with digital weight data from ANP input terminal
It takes a considerable amount of time to reach the voltage to the D/A converter.
Since there is an error between the CSI rise and the
starts later than the rising edge of DCLK.
Become. The mliA diagram shows the configuration of the mask control block 181.
It is a diagram. All mask control blocks 181
This is a part that summarizes the Ilm signals of. The main components are an external path interface circuit 200,
Control pattern memory 201 and microprogram sheet
Controller 202 and microcode memory 203, address
This is the creation unit 204. External bus interface circuit 20
0 is an ink face for connecting to MPU etc.
to the response line 205, data line 206 and control signal line 207.
It is connected. External bus interface circuit 200
Upper address comparison circuit 208, D-FF which is a register
209 is the upper address given from MPU etc.
is decoded and the upper address is a predetermined address.
When the lower address and data are respectively D-FF2
Launch signal from timing circuit 214 on 09,211
Set as a trigger. Its address and data are
7 via bus drivers 210 and 212, respectively.
Input internally via address bus and internal data path
. The address is determined by referring to the microcode memory 203.
, the microcode is written from the MPU side via the data path.
It is used in cases such as when reading. Also, lower addresses are bused.
Mic the microcode address via driver 210
It is also passed to the program sequencer 202, and the MPU side
Refer to the control pattern memory 201 at a specific address.
I'm trying to make it possible. Data from the MPU or main memory is connected to the data line 206.
After being latched to D-FF2 1 1 through
Separate memory in microcode memory via 2]
I/ORAM2 1 3 or control pattern memo
Separate I/ORAM 215, 216 in the library 201
Added. Datastore from MPU or memory
The lobe signal is transmitted via the f, lf# signal line 207.
G time I? When applied to 8214, it returns an acknowledge signal.
The communication method used to send data, including addresses and data transmission and reception.
Control takes place. Timing circuit 214 is D-FF21
1. Latch timing and WR signal to D-FF209
Through microcode memory 203, control pattern memo
The timing of writing to the memory 201 is controlled. The neuron as shown in the timing chart in Figure 9
"l""01 pattern of complex control signals given to the chip
is stored in the control pattern memory 201 for one cycle, and
The pattern for one period of -7 microprogram sequence
from the control pattern memory 201 according to the control of the sensor 202.
Generate by continuing. For example, reset signal R
eset, data clock DCLK, weight clock W
CLK, CSOI, CSO2, CSO3 and SYNC
1, SYNC2, SHI, SH2, OCI, OC2, etc.
Control signals are read from I/ORAM 2 1 5
control information, or sequence, that is issued and accompanies the pattern.
The control flag is from the second server} I/ORAM 216
Read out. For example, the control pattern memory 201 is i0
If the pattern 00110001 is stored
is a “1.0” bit pattern, so this '
Control pattern to repeat the pattern of I, 0” bits
By controlling the address of the online memory 201, this pattern
The repetition of is read out from the control pattern memory 201.
That will happen. In other words, the control signal pattern is very complex.
These patterns are rough, so please prepare these patterns in advance.
Store it in separate I/ORAM215, and
Separate I/ORAM2l5 address in micro
It can be specified according to the control of the program sequencer 202.
This creates a structure that outputs the bit pattern sequentially.
ing. Therefore, you will end up repeating some of the same patterns.
The address system determines how to achieve this repetition.
I obey you. This pattern for one cycle is used as an original putter.
I will call it N. repeat the original pattern
In order to
Feedback specific information from turn memory 20l
There is a need to. In other words, the second server} I/OR
Set the sequencer control flag in AM216 as a condition.
input to the microprogram sequencer 202 as input.
By doing so, the microprogram sequencer 202
Original parameters in the first separate I/ORAM2l5
Control to return to the first address containing the turn
. This makes it possible to repeat the original pattern.
will be carried out. That is, microprogram sequencer 2
02 is the general-purpose boat output line 20 until the condition is met.
2-1 to separate I/ORAM 2 1 5
Generate address signals sequentially. This address is usually
is incremented but at the end of the original pattern.
If the condition is met, the original putter
Return to the first address where the file is stored. Conclusion
As a result, a specific pattern is repeatedly separated l/OR
A control pattern is output from AM215. M11. Figure B shows the mask control block 181.
The mutual relationship between the information in the memories 201 and 203 to be controlled
be. In the same figure, lIIfII pattern memory 1 is
Corresponds to the first separate I/ORAM 2 1 5 and controls
Control pattern memory 2 is the second server} I/ORAM
It corresponds to 2 1 6. Inside the microcode memory 203
The control code of the sequencer 202 is stored, and mainly
, Jump instruction and Repeat instruction are stored.
. Reply to a specific address in the increasing direction of addresses
There is an eat command and a control pattern that follows this repeat command.
The number of repetitions of pattern 1 in memory is the control pattern memo.
For example, NOJ is stored in the corresponding address of
If so, IO iterations will be performed. this
In this way, the address increases and the microcode memory
When it comes to the Jump instruction, microcode memory 2
Jump to 500H with the second Jua+p in 03 and Patt
Output ern2. Repeat Pattern 2 5 times
Then, the third Jump in the microcode memory 203
So, jump to rl00HJ again and exit Pattern 1.
It will force you. In this way, the original putter
The pattern is read out from the control pattern memory l.
It will be done. 1 application that refers to this TA full pattern memory 201
WCLK is generated in synchronization with the dress read clock.
and synchronized to WCLK from weight memory 185.186.
The information is read out. To weight memory 185, 186
The address is the address l and address of the address creation unit 204.
Access by address signal output from address 2
be done. Address 1 and 7 Address 2 are respectively the middle layer and
It is separated according to the output layer. For ANP in the middle class
The weight data to be given is specified by address l
Read from weight memory 185 and sent to ANP to output layer
The weight data of is the weight memo specified by address 2.
Each address is the content read from the library 186.
The contents of memory 185 and 186 are each bit of weight data.
in the direction of increasing addresses. are stored in units of
Therefore, the count system for address counters 217 and 218 is
The control signal is given from the microprogram sequencer 202.
It is necessary to be The address counters 217, 21
8, this address is assigned to the bus driver 219, 220.
access to weight memories 185 and 186 one after another via
It is given in increments as a address signal. So
A plurality of weight data are stored in the weight memories 185 and 186.
is read from. WCLK from first separate I/ORAM2 1 5
and the counter from microprogram sequence 202
The control signal is sent to the AND circuit 221 in the address generation unit 204.
, 222 has been added. Counter control signal is high
When the address counter is updated by WCLK,
Address counter 21 is used for bits 1 to 16 of WCLK.
Increment 7,218. And the rest of the WC
For LK17 to 26 bits, the counter control signal is
By setting it low, WCLK can be inhibited and activated.
Stop incrementing the dress counters 217 and 218
do. Then, in synchronization with SYNCI and SYNC2,
Each counter reset signal is sent to the microprogram.
from the can 202 to the AND circuits 221 and 222.
, reset the address counters 217 and 218. child
The addresses of weight memories 185 and 186 can be determined by
Return to the first address. In addition, the mask control block
The mode signal output from the block 181 is transmitted through the weight memory.
Frequently used, i.e., weight memory is disconnected from the MPU data path.
Mode for giving separation weight data to ANP and weight memo
weight memory from the MPU to the MPU data path.
This is to form a mode that refers to the . The mode signal indicates that the lower bit of the data from the MPU is
1 bit of the position address and the write from the timing circuit 214.
The AND circuit 223 generates WR from the input signal.
Set the Frithop flop 224 using the signal as a trigger.
It is formed by When this mode signal is O
Weight memory is used normally. Write signal WR and 1 bit of internal address bus are ANDed.
The clock of the Frisobflovb 224 via the circuit 223
input to the terminal, and the LSB of the internal data path is input to the flip-flop.
It is input to the data terminal of the ROSOB 224. upper address
The mask control block 181 in the comparison circuit 208
is selected, and if it is, the bottom
Load address and data into DFF209, 211
. This type of ink face operation is connected to the MPU.
This is done similarly for other devices, but the weight memory is
Normally, weight data is supplied to AN・P, so M
Connecting directly to the PU's data path will result in bus contention. To prevent this, the LSB of the internal data path is
When it is taken into the flip-flop 224, the mode is set to 1.
and do not select the weight memory as described below.
In this way, data is generated from the weight memory onto the data path.
Make sure not to Internal address bus at specified timing
microcode by an internal address bus.
Either memory 203 or control pattern memory 201
Specify the address and internal
Write desired data from the data bus. This results in
Microprogram sequencer 202 and microcode
Memory 203, Sever} I/ORAM2 1 6
Change the stored program or select Severe} I/
The control pattern stored in ORAM 215 is changed. FIG. 12A shows data storage in this weight data memory 230.
FIG. In the figure, the 8 bits in the column direction have the same address.
This is the information of the 8-bit data included in the address, and each bit
is given to ANPI, ANP2...ANP8 from the bottom.
Ru. The addresses are different in the row direction, with rows to the left as shown in the figure.
The number of addresses increases as the distance increases. weight day
The data is 16 bits including the sign bit, so this
Store from small address to large address
. The MSB is a sign bit, and the other 15 bits are
It is a numeric bit. Micro program sequencer 20
The address is incremented from 2 in synchronization with WCLK.
1 word of weight data, i.e. 16 bits.
will be read out in order from MSB to LSB.
These weight data are passed to 8 multiple ANPs simultaneously.
It will be done. In this way, data is stored in the direction of increasing addresses.
Since the structure is such that the weight data is
A counter for the addresses is required. In other words, one word of weight data data from MSB to LSB.
Once the code has been counted, the weight data for III
Control is required to ensure that the This control
After all, it is done with the micro program sequencer 202.
There is. FIG. 12B shows the specific weight memory blocks 185 and 186.
It is a circuit. The memory 230 is called MB8464A-70.
It is RAM. Output corresponds to ANPI to ANP8
It is 8 bits. Basically, bus signals seen from the MPU bus
line and the area visible from Mask Control Block 181.
Use either dress 1 or 2. Addresses 1 and 2 are mentioned above.
These are addresses 1 and 2 in FIG. 11A. this address
1 and 2 are incremented in synchronization with WCLK.
It is input. 8 bits of data are read simultaneously and each
Bisoto is given to ANPI to ANP8 at the same time
. When the mode signal is 0, the heavy
The memory 230 is chip selected, and at this time, the memory 230 is
Address 1.2 from the black program sequencer 202
becomes valid at the multiplexer 234. Then, the weight
Weight data is sent from memory 230 to ANPs 1 to 8.
. On the other hand, since the output of the inverting circuit 231 is high, the output is high.
Estate bus transceiver 232 is disabled
state, the output of the weight memory 230 is output to the MPU.
Not done. When outputting to MPU, set the mode signal to 1 and
Address decoding is performed by appropriate address information from PU.
chip selects the memory 230 via the reader 235;
An address is given to the memory 230 from the MPU. mode belief
When the number is 1, reading to or from the MPU bus
$lgFl of write to memory 230 or read
The direction of the write is from the MPU through the AND gate 236.
Read Signal of the data line coming from
determined by. Next, the learning algorithm will be explained. Figure 12c shows the pack bag game system used in the present invention.
This is a flowchart of a learning algorithm called . studies
Xi will proceed as follows. Neural network of the present invention
Work, that is, a hierarchy composed of a set of ANPs
Is the MPU the complete information that should be learned from the input of the type network?
The signal is inputted via an input 'MvsE path (not shown). So
Then, the input signal passes through the input side circuit, intermediate layer and output layer.
+ via A/D converter to network output via
1 MPU is given. Stored in main memory on the MPU side.
A learning algorithm exists. Inside the MPU, the teacher signal is the main
Import from memory and connect the network output and teacher signal.
Check for errors. If the error is large, the MPU
, in the direction that the network produces the correct output.
This will change the mmi data, which is the strength of the connection. This weight data is passed through the weight memory 230 to the AN of each layer.
Added to P. When the weight data is updated by the learning algorithm
, the pack propagation learning algorithm in Figure 12C.
will follow the rules. Learning algorithm starts
, the MPU selects the Lth neuron ANP. of the output layer. teaching
Find the error between the master signal YL and the current output YL and calculate it.
Substitute into ZL. The output YL is the output of the neuron ANPL.
For example, we can use a sigmoid function as a nonlinear element.
If used as the output value of this nonlinear function,
It is something. Therefore, in neuron AN p+,
, it is necessary to propagate the error ZL to the input side of the nonlinear function.
be. When performing error propagation, the energy function, i.e.
The energy is the square of the error signal multiplied by 1/2, that is, EL = 1/2 (YL Yt)! The partial with respect to the nonlinear function input χ, that is, is as follows.
It can transform into a sea urchin. = (YL YL) ・f (Xc
). Here, the nonlinear function f(XL) is a sigmoid
If it is a function, then if we transform the differential r'(xt) of this sigmoid function, we get r'(XL) = YL(1-Yt.).
Become. This is shown in 82 of the flowchart.
Ru. Therefore, δ or energy non? Shape function input
, the deviation for , is V,XZL, that is, shown in S2.
The UL will be This energy nonlinear function input
It is necessary to further back-propagate the error amount δ to the intermediate layer.
be. Let A be the Kth neuron in the hidden layer. The output of Ak is assumed to be YII. Output layer neuron AN
The non-cotton function input XL of P t is
The output of the uron (y + ...YE■}
It is expressed as a sum of products multiplied by a weight WLK. Therefore, Xt is divided with respect to the weight WLw. on the other hand
, the variation of weights W and K with respect to energy EL is given by the following equation.
available. aWt m C; IXL o) Wt Kento
Become. In other words, it expresses S3's TL Uharo EL aWLII, and the energy weight vs.? partial distribution
There is. Therefore, let this TLX be the weight change ΔW.
However, in order to speed up the convergence, the first equation shown in 84
Add the second term and modify the weights using the following recurrence formula:
Ru. ΔWLk - αTLk +β・ΔWL, WL. =WLk+Δwt k Here, α and β are constants. Now the output layer has a specific
-I'm paying attention to Ron ANPL, but this person is NPI. inside
Do not assume that all neurons in the interlayer are connected.
Then, for each A N P L, set K from 1 to K Ill
! It is necessary to repeat until X. This is the flowchart
By repeating R1, the number of neurons in the middle layer is K■8.
This will be repeated. When this repetition is finished, the output layer
The backpropagation for the specific new terminal ANPL ends.
It turns out. Therefore, this can be expressed as all output layer neurons (ANP, ,
ANP! .. ..., ANPL■, }
As shown in R2 of the flowchart,
, L starts from 1 and repeats until I■. Sunawa
What, the number of Nierons in the final output layer? ■Repeat only 8
It becomes. Next, we will learn from the middle layer to the input layer.
Become. The algorithm is almost the same, but the error signal is
It cannot be expressed by the difference between the master signal and the output voltage, and becomes the formula S5.
. That is, Zk is the Kth neuron in the hidden layer, A
This term corresponds to the output error signal of This is calculated by the following formula.
It is clear that ? Become. Therefore, for the index L of Zk in S5
1 to L. Repeat until ■, that is, the number of outputs (R
3) The error signal component Z,l of the intermediate layer is calculated by
Ru. After that, the algorithm between the hidden layer and the output layer is the same.
It is the same. That is, first, the differential value of the sigmoid function■
, and use it to calculate Uks, that is, the non-energy
The amount of change with respect to the linear function input is determined at 86. In S7
No U? Find the output of the input layer, trII with YJ, using
Melt. This is shown in S8 as the main part of the weight change.
∆WkJ is calculated by adding the second term to speed up the convergence.
Therefore, the previous value Waj is given its ΔW1. Add J to create new W
, and so on. This is a weight update. Update this weight
Repeat for the input number J■8 (R4). In other words, j=1?
By repeating from to J thaX, input and intermediate
The weights between layers will be updated. In addition, Z of S5
k corresponds to the error signal of the output of the intermediate layer,
This is the deviation U of the output layer energy with respect to the function input value
It is expressed as backward backpropagation of L, and WLx is the intermediate
It is determined only after the weights of the layer and output layer are determined.
. In other words, the calculation for updating the weights is performed by the neurons in the output layer.
Starting from the neuron ANPL, the middle layer neuron A N P
Moving on to w, the intermediate layer neuron ANPK changes its weight.
The difference ΔW cannot be calculated unless the previous stage ΔW is determined.
It has become a thing. Therefore, calculations can only be made by going back to the maximum input layer.
Because of this, this learning is called backbroadcasting.
It is. Learning with BankBroadcastin uses learning data.
Forward motion that inputs complete information and outputs the result;
The strength of all the connections is such that the error in the result is small.
will be changed backwards. Therefore, this forward movement
It also requires production. In this forward motion, the analyzer of the present invention
The oral cavity is effectively utilized. Also, out
The algorithm for backpropagating force values is executed on the MPU. Note that if it is nonlinear and is not a sigmoid function, then
The nonlinear differential values of are different. For example, tanh(X)
If so, the learning algorithm is nonlinear, as shown in Figure 12D.
The result of differentiation of the shape is ■, = I-IYLI in the output layer.
(S2′), in the middle layer V,=l−lYm l (
s6”).Other parts are given the same reference numerals as in Fig. 12C, and explanations are omitted.
Omitted. Figure 13 shows the configuration of the daisy circuits 173 and 174 on the input side.
It is a diagram. In the figure, 240, 241, and 242 are D type flaps.
It's a rip flop. D at the rising edge of the DCLK signal
Set the data input to the fi child, and set the output Q to the state of 1.
to be jealous The first flip-flop 240
At the falling edge of , the CSI signal is set. And then the next
At the rising edge of the second Frithop flop 241,
cent output signal. Its output is Inl of the third flip-flop 242.
A child. has been entered. The clock that sets that input
The clock signal is the output of the 4-bit counter 243. Coun
243 is triggered at the falling edge of WCLK. Chestnut
It is activated at the falling edge of DCLK. Therefore, D
At the falling edge of CLK, the counter 243 becomes all 0.
, after the falling edge of WCLK is input eight times, the upper bit
The QD signal at the top becomes high, so this acts as a trigger.
Frisov flop 242 outputs a high signal to CSO
. When the output of flip-flop 241 becomes 0, CSO becomes
cleared. This operation causes the CSI to fall.
Therefore, for a predetermined period of time equivalent to 8 pulses of WCLK,
A daisy operation is performed in which CSO is output after
be exposed. Figure 14 shows the mank that forms the dummy node Nieron.
3 is a specific circuit diagram of the value node circuit 187. FIG. same
In the figure, resistor 250, Zener diode 25L 2
52, resistance 253, voltage followers 254 and 255 are constant
This is a circuit that generates voltage. Resistors 250, 253 and
+12 volts via diodes 251 and 252
When a current flows between −12 volts and voltage follower 254,
The 255 inputs have +7 volts and -7 volts, respectively.
It is formed. These voltages are applied to voltage followers 254, 25
It is outputted via the output resistor 256 of 5. one of these two
Analog switch 25 to draw constant voltage in time division
7 to 264. When the T mode signal is 0
, the constant voltage is passed through the analog switch 257 to the next
A voltage follower 265 is provided. T mode is 1
In test mode, the analog switch 258
Since the output is suppressed to analog ground, O
Volts are input to voltage follower 265. test mode
On the bus, the offset on the bus is notified to the MPU.
It becomes. The voltage follower 265 is a switch control of the output section.
enabled by the control. When output enable is 1
When the analog switch 260 is turned on, it becomes a voltage follower.
The output is given by the dummy node.
It is not output to the code output. Conversely, when the output enable is 0
is output to the dummy node output. analog switch 2
Switch control of 60 and its output is output enable or
is controlled by 2 and 0 enabled. i.e.
Dummy node output when output enable 1 or 2 is 0
A constant voltage is output. In addition, the dummy node output is
One side is for the dummy node in the input layer, and the second one is for the middle layer.
This is the output for the dummy node. The output of this dummy node
Since the voltage is fixed at a suitable value, the threshold
Can be used as voltage. In addition, Zener diode
251 and 252 output a constant voltage in reverse bias state.
The fixed voltage is from +7 volts to -7 volts.
It is possible to vary within the range of. Output enable 1
.. Is 2 another ANP connected to the analog bus?
to avoid collision between their output voltage and their analog bus
dummy no from mask control block 181
The enable state is determined by the code control signal DOS. Figure 15 shows the nonlinear E number generation circuit, Figure 16,
Figures 7 and 18 show the digital logic side inside the ANP.
It's hardware. Figure 15 shows a transistor circuit that realizes a sigmoid function.
It's a net. The sigmo-id function here is continuous and monotonous.
refers to non-decreasing functions and specifically excludes linear functions
isn't it. In the same figure, 343, 356, 378, 39
0,298,314 transistors and their paired
Form a differential amplifier with transistors and connect it to the collector side.
Each group of connected transistors forms a current mirror circuit.
It is. The collector of the left transistor of the differential ANP
The collector current that flows is the output current. current mirror
The current is output by changing the direction of the current. The current goes to the output VO
It enters the connected resistor 336. Due to low resistance 336
voltage is converted into current. High impedance output as there is no drive capability
Received at Op Amp Vanofa. transistor 337,
The circuit on the input side of 339 is a bias circuit. Shigumo
A piecewise linear method is used to realize the id function. S
The slope of each section of the gmoid function is
Determined by the ratio of Misota resistance 344 and output resistance 336.
It will be done. At this time, the emitter resistance of L transistor 343 etc.
included. Each differential ANP has a different gain. Each piecewise linear
The breakpoint for the transition of is based on the saturation characteristic.
I am using it. Their saturation characteristics are all different. vO output
At the point, the sum of the currents output from each operational amplifier is
Set the saturation characteristics of each ANP so that the value becomes a sigmoid function.
It's changing. Transistor 345 and resistor R1 are T4 current sources
It is. Transistor 346 and resistor R2, transistor
353 and resistor R3 are all current sources that supply the same current.
It is. In other words, the resistance is determined so that the current value is the same.
being admired. All have the same current source. transistor
345 and 346 collectors are connected, so the sum of
Current flows through the intersection of resistors 344 and 347. transis
When the collector currents of the terminals 343 and 348 are balanced,
Then it will be the same. The L transistor 351 improves the characteristics of the current mirror.
It is for the purpose of Transistor 350 is a diode
It's a connection. Changing the direction of current means changing the output
When the current is drawn in and when the current is sent out,
be. As shown in the figure, the current mirror transistor
Current flows from the collector of the capacitor 351 toward the output.
. There are many transistor arrays on the bottom, but the emitter and
Transistors whose directors are connected to the same point are connected to the same point.
It is a rangister. For example transistors 358 and 360
is the same transistor and this is the same as transistor 345
It is something. Also, 359 and 361 are the same transistor.
This corresponds to 346. 368,369 transistors
The data is the same, which corresponds to 353. Same as below
It is. Therefore, constant current power supplies driven by the same current
An operational amplifier with
A circuit with a total of 6 components that perform different operations
It is. In addition, the transistors 337 and 338 have a level shift
330 and 327 are also level shifts. Re
The bell shift circuit has an operating range based on the positive and negative sigmoid functions.
This is to make them almost the same. transition
The star 352 is connected to the collector current of the transistor 351 and the transistor 352.
Correction to make the collector currents of the resistor 353 equal
It is for use. Transistor 367, 385, 287
, 307 are also similar. Figure 16 shows the pulse signal supplied to the neurotinob.
Sequence generator 28 (FIG. 2) for forming
This is a concrete circuit. 401 and 402 and 404 and 405
is an inverter, and each inverter is an inverter for the cloth
It is ta. Rise of the latch signal of Frisob F, F
I made separate clocks for rising and falling clocks.
Ru. In the same figure, Furi, Buflo, and Pu are standing up and playing with Chronok.
Inverter and F. Stand up with F and raso
Chi's F. Form F. For example, in D C L K,
The one that passes through one inverter 401 falls and is used for lanochi.
This becomes the clock signal. and passes through the inverter 402
The one that rises becomes the clock DCLK for the latch.
. Similarly, the output of inverter 404 is WC for falling.
LK is the output of inverter 405 as the rising clock
It is WCLK. F. In F41.0, SYNC signal
The falling edge of DCLK latches the signal. F.
SYNC signal with F410 and 415 one cycle of DCLK
SYNC and its 1st signal.
17 pulses are created with the clock-delayed signal. S
1τ (one cycle of DCLK) after YNC rises
The pulse discharges the integrating capacitor in the ANP. vinegar
In other words, the signal CRST resets the capacitor.
It's a signal. Another D S H 2 is from the falling edge of SYNC
DCLK(7) A pulse with a length of lτ,
This corresponds to the sample/hold capacitor in the ANP.
sample/hold signal. 411 F. In F
Because the crosshair is WCLK and the data is DCLK
, WCLK latches the DCLK signal. So
After that, the SYNC signal goes high at NAND gate 414.
The first WC that comes with
Trigger LK and F. I am using the F443 clock. Nando Gate 4 1. 4 and inverter 440
It becomes C. F. At F443, the SYNC signal goes high.
The first signal called WCLK that comes in the state where
Imports weight data, that is, code binoto of WD.
. This signal is the weighted digital data coming in serially.
This is the MSB, or sign bit, of the data. That is, F.
F411 and Andgame} (414.44.0) tie
The sign bit is set to F. F443 latches. 4bi
The binary counter 416 in the cutout counts the number of WCLK pulses.
I get it. 16-bit digital weight data comes in.
So count 16 times. When the count is finished, the output goes high.
and enters the inverter 423. This signal has 16 parts.
This is No. C3 indicating that the loading is complete. This belief
The number shifts the weight data that comes into ANP serially.
It is used for controlling input to the register 27 (FIG. 2). Ma
The lowest bit of the counter 416 is sent to the inverter 422.
is input. The output of this inverter 422 is the CSO signal
generate. CSO is a daisy chain control signal.
Therefore, in the analog bus Bl, the two ANPs in the previous stage
In order to prevent conflicts between signals emitted from
After falling, perform a daisy operation to issue the next CS.
It is necessary to form a delay circuit for this purpose. This di
Ray delay time counts WCLK and its counter
It is formed by values. Counter 416 has finished counting
, an instruction to Fritsop flop 433 that it is finished.
The signal is latched through inverter 423, but this
is being played on WCLK. That is, the 17th WCL
I'm hitting K. through inverters 437 and 438
, the latched signal returns to the counter 416 and the counter
Do not allow 416 increment operation any more.
Performs disable control. Inverter 43
When the output of 8 goes low, counter 416 starts counting.
Stop. F. F433 page output is flip-flop
It is in 442. This is the output of shift register 408.
It becomes a power gate signal. That is, 16 digital
Shift register and register 408 receive weight data.
15 of the numerical bits shifted in sequence and excluding the sign bit
Once the bit data is arranged in parallel, these can be output.
Strengthen. No output is output while shifting, and all
The gate signal for outputting when it enters is WR.
Ru. The contents of shift register 408 are fed to the multiplier of ANP.
available. The signal output from F, F433 is branched.
is used as a shift register enable signal. F.
F442 is F. Latch the output of F433 at the rising edge
It is something that Falling edge of WCLK 16fII
The shift is completed at the gate, then stand up to open the gate.
It is possible to use a falling latch, but this is done at the falling edge. F. F
412 generates a pulse signal for selecting a sigmoid function.
It is. F. Using F412, the reset signal is {. t
At this point, W D , the weight digital input
Depending on whether the signal is O or not, decide whether to use the sigsoid or not.
select. This method may not be used in this system.
be. In reality, sigmoid selection 1'11 can be directly accessed from the outside.
to form a contact. The circuit below is a daisy chain circuit. Output of counter 416! i-F. With F434, it is difficult
, and with that De, Ray, the final F. Trigger F445
Stay connected. This causes a 1r shift in DCLK.
In addition, don't just slide around, put your head down.
are doing. That is, the CSI signal itself is D C i-
There may not be enough CSI for one period of K, so the CSI is used as CSO.
In order to
Delete the Icro, delay the front of the waveform, and leave the rear as it is.
creating a signal. Gates 425 and 427 are CSI buffers.
It's a sofa gate. Positive B, F and inverter bass
It is a. Figure 17 shows the sample/hold S/H signal and the 0C signal.
This is a phase control circuit 29 (FIG. 2) that forms a phase control circuit 29 (FIG. 2). S/
H Shinso is the one that goes into the inverter 515, and the one that goes into the inverter 515.
- I'm saying goodbye to those who fall into 5 2 4. OC signal too
Same 1, p. S/'H signal is game 1.524
A: Farewell to Novata 515, Inverter 5 1:i
If you enter game 1.5 2 5 at R mountain, then inverter
There are 8 levels. With the same phase for the S/H signal
It creates two signals with opposite phases. This is an inverter
I decided to combine several stages of cascades and create a cascade.
This prevents two outputs from becoming 1 at the same time. vinegar
That is, two sample/hold S/H signals, S/H
Forms O and S/H 1, which do not both become 1
7. In other words, inverter
The lane is to avoid both S/11 signals being on at the same time.
It is a delay circuit. Delay delay time is invar
Determined by the length of the chain, one side is on.
It is delayed by several steps from ζ and the other one is turned on. The same applies to S/HDO and S/HDI. The circuit related to the OC signal is basically the same, but
The CRST signal is input to gates 528 and 529.
Then, if CRST is 1, both outputs are forced to 1.
, both OCO and OCI should avoid becoming 1 at the same time.
However, in the case of OC, it is simultaneous only when CRST is 1.
I am trying to set it to 1. This allows analog
Integrator capacitor via Swissochi'LQ f3j
It has a reset function of discharging the ffi load.
Ru. Figure 18 shows a 15-bit shift register 27 (Figure 2)
It is. Gates 602, 603 and 6014, and F
.. It is equivalent to 1 bisoto in F627, and I will explain using this.
. The output of the previous time is input to the gate 603.
This is F. This is the output of F628. previous bit
Since it is an input from , it becomes a data signal for shifting.
. Other signals entering gate 603 are SHFT, i.e.
That is, it is a shift signal inverter. This is shift control
When this is enabled for a signal. to give shift instructions
Become. Also, at the gate 602, F. F627 itself
Contains the output of This feeds its own output
This means that you are in a bad mood. The other input of the gate 602 is an input of the S L{ F T signal.
gated phase is included in the same way, but this phase is gated.
It is different from what is included in 603. This causes the shift
When disabled, the current output will be retained.
. The cross signal always comes in regardless of the shift, so
, if the shift is not valid even if the cloth enters, the shift is
Not performed. Only when shift signal S H F T is valid
Shift the previous bit and input it through gate 603.
This results in a shift operation. The WR signal is the gate 632,
It is in the AND of 633 etc. This is the output of each bit
It is a selection signal for outputting or not outputting, and the signal is sent to the multiplier.
Controls whether or not to pass data stored in the field register.
It becomes a signal. Also, in order to take fanout, for example
If the inverter 620 converts 5 out of 151 units ([!
I's F. F recent signal and 10 at gate 626
F. It is designed to take charge of F's recent signal. Fan-out shift register 608 is shift enable
Equipped with LE S H F T and output enable WR functions.
ing. Next, the neurocomputer according to the present invention can be
A case where it is configured with l-work will be explained. FIG. 19A is a conceptual diagram of a feedback type network. Even in the case of feedback-type networks, there is basically an input
However, there is a return path in which the signal that you output also comes back.
It becomes a structure with . This feedback method is based on a hierarchical neural network.
A type that uses time division multiplexing in one layer in a multilayer network.
When it is used as a hop file, it is also used as a so-called hop file.
When used as a field-type neural network
There is a case. In the former case, the ANP input/output signals are time-divided, so
, a certain sequence cycle at the output point of each ANP
The output data of the same ANP is output sequentially,
Layered neural network for each sequence cycle
It operates sequentially as the input layer, intermediate layer, and output layer of the work.
In the latter case, the output of the ANP is
The output voltage is fed back until the voltage stabilizes. are returning
When you get a result, the result is the previous data, that is, you
The state is repeated until the data matches the previous data.
, convergence occurs when a stable solution is reached. According to the fruit example of the present invention, as shown in FIG. 19B,
, the return path will be realized using a common analog bus CB.
There is a U-shaped return section. And I calculated one myself.
The output is output and sent to each ANP through the return path.
Their outputs will be feedbanked. this return
Repeat the action. Figure 20 shows the neurocomputer of the present invention in a hierarchical network.
implemented by a feedback network that operates as a network.
This is an example of this. from analog input boats 1 and 2
ANPI, 2.3 for time-division analog input signals.
Perform the product-sum operation using ANPI, 2.3 as the middle layer.
Operate and send time and minutes from ANP1, 2.3 to analog bus B2.
This output signal is sent to the analog common, which is the feedback path.
Returns to analog bus B1 via bus CB and returns again to analog bus B1.
Perform a product-sum operation on the return signal using ANPI, 2.3.
This allows ANPI,2.3 to operate as an output layer.
2 and 3 create a layered network.
This is the realization of the work. Manx Value Node
Circuit 187 is the DOS output of the mask control block.
In response, a dummy signal is generated on analog bus B2. stop
DCLK and WCL from the mask control block.
K is input to the daisy circuit 171, and the CSl signal is input to the daisy circuit 171.
Specifies the timing of the rise and fall of the signal.
. Figure 21A is the feedback hierarchical network shown in Figure 20.
This is a timing chart. WCLK is generated only while DCLK is rising.
, the analog signal becomes steady after DCLK rises.
, and after the weight data comes in serially,
Mask control block at the timing before the lines are aligned.
CSOl from 181 is input to the daisy circuit 171.
Stand up as shown in ■. At this time, the analog input port
Analyzer held in sample/hold S/H from 1
The log signal is sent to the analog bar via analog switch 175.
Appeared on SBL, ANPI. The product-sum operation is performed in 2.3.
. At the next DCLK input, CS to the daisy circuit 172
When I rises as shown in ■, the analog input port
A sample/hold circuit that holds the input signal from
S/H signal is converted to analog via analog switch
Appears on bus B1 and ANPI. Second Seiwa performance in 2.3
calculation is performed. Furthermore, DCLK is input at the next timing.
After that, open the mask control block as shown in ■.
A dummy signal DOS is generated and sent to ANP 1, 2.3.
Then, a third summation is performed for a fixed voltage. Next
While the SYNC signal of
.. A sum-of-products operation is performed for the three output layers. Access to weight memory
The address count prohibition signal of address 1 signal rises.
The WC counts the address counter only while
LK is enabled, otherwise its counter
is suppressed. Next, CSO2 mask control IJ-
A. from Rubrosok. Given NPl, A. N
P1 sends the result of iii times of product sum to analog bus B2.
output and connect to analog bus B through analog common bus CB.
1 and return to ANPI, 2.3 again as shown by ■.
Then perform the sum-of-products operation. CSO2 is the internal disk of 8NPI.
In the G-chain circuit, after adding a predetermined delay,
Add the input signal CSI to ANP2 as shown in ■, and
When the ANP output signal is transferred to the analog bus B2 and the common bus C
ANP 1 again via B and analog buses A1, B1
is added to , and a sum-of-products operation is performed here. Similarly, ANP
After the CSO from ANP2 is delayed for a predetermined time, the CS from ANP3 is
I signal, and this CSI signal rises as shown in ■.
When the output signal of ANP3 is connected to the analog bus B2,
ANPI again via communication bus CB and analog bus B1,
It is fed back to step 2.3, where a product-sum operation is performed. similarly
As shown in ■, the rise of the signal DCS from the dummy node
Again, ANPI. 2.3 to
Then, a sum operation is performed. Then, the next CSO2 signal
At the rise of ANPl. .. 2 through S/II
Force is generated as shown in ■ and ■. Note that the analog input button
There is no output from port 2. Here ■, ■, ■ are ANPI, 2.3 operating as the middle layer.
■, ■, ■ are ANP 1, 2.3 are output layer and L7
It works. Therefore, according to this embodiment, A. NP1,
It is possible to configure a floor Z-type network with only one layer of 2.3.
Wear. FIG. 22 shows the 1st model according to the present invention.
The computer is configured with Hosobfield-type feedback network.
Fig. 23 shows the timing chart.
It is. Memo for mask control block 181
The output of the re-address pin and mode pin is the weighted memory block.
This weight memory block 185 is added to the memory block 185.
The BIO which is the data output of A.5 is A.5. NPIXBll is A
NP2 and B12 are connected to ANP3. mask control
Output signal from the CSO1 terminal of roll block 181
is added to the daisy circuit 171 and the Swiss circuit 175,
At the rising edge of this signal, the signal from analog input port 1 is
The output of sample/hold circuit 173 is connected to analog bus B.
Put it on 1. Then, the daisy circuit 171 causes a predetermined time delay.
After that, the output of CSO occurs, which is connected to daisy circuit 1.
72 as CSI and to analog input port 2.
Switch the signal of the connected sample/hold circuit 174.
It is placed on the analog bus Bl via the notch 176. Similarly, the output signal CSO of the daisy circuit 172' is analog
Sample/bold circuit 1 connected to input port 3
74' output switch 176' is opened and the signal is analyzed.
Put it on the log bus B1, as shown in Fig. 23 in AN[)1.
As shown in FIG.
drive the weight clock when the DCLK signal is high,
Digital mmi data that enters in synchronization with the weight crossoku
is multiplied by the analog input signal, and the DCLK f
When il is a low signal, sample/hold signal S 1
1 goes high, and the sum movement occurs on the integrator capacitor.
make a work That is, CSO 1, that is, Din circuit 1
During the period ■ when CSI is high, the address on bus Bl is
ANP1.23 performs a sum calculation on the analog signal. In addition, the OC signal from mask control block 181 is
When the signal goes high, ANPI, 2.3 is off-set.
Cancel, sample/hold, and create a single performance
Finish the arithmetic cycle. Next, the input of the second daisy circuit 172
Since the signal CSI becomes high ■, the next analog input board
ANPI, 2.3 performs the sum-of-products operation on the input signal from
conduct. Then, after the product-sum operation cycle ends, the digital
The CSI signal enters the digital circuit 172', and the sample/home
An output signal is generated from the field circuit 174', as shown by ■.
The third product-sum calculation cycle begins. Next, C302 message from mask control block 181
Issue ■ occurred and was sent from ANPI during the previous product-sum cycle.
The signal that was being formed is returned via the analog bus CB.
Then, ANPI, ANP2 are
.. ANP3 performs product-sum calculations at the same time. then delay for a predetermined time
After that, the CSO output signal of ANP1 is added to ANP2 at ■.
Here, the previous Teiwa cycle is daisy-chained.
ANP2 outputs the signal detected at the time of the signal. This belief
The signal is fed back via analog bus CB to ANPI, A.
NP2 and APN3 drive the product-sum operation with ■. And the same
After a predetermined time delay, the CSO of ANP2 is
It is added to P3, where the output from ANP3 is analog
Returning via Gubus CB, ANPi ANP2,A
In PN3, perform the Teiwa operation with ■. feedback network
As shown in Figures 23A and 23B,
, in three ANPs, six product-sum operation cycles are performed.
The outputs are respectively sent to the sample/hold circuits 177 and 1.
Analog output baud}0,L2 via 78, 178'
is output to. In addition, the sample/hold circuit 177
, 178, 178' output signals are analog multiplexed.
The A/D converter 18 outputs the selected output from the sensor 179.
0 to MP0182, memory 182, and communication interface.
applied to a digital control circuit including face 184.
. The MPU 182 displays the neuron output state at the current time and the previous time.
check whether the neuron output states of
Click. If they are the same, it is determined that they have converged. This way
is carried out via one common analog bus CB.
. A stable solution is reached by repeating the feedback operation.
This will be the final output. Figure 24 shows a feedback network and a hierarchical network.
This is an optimal embodiment of a combination of 8. A digital circuit is provided as an input layer, and an AN
Pl. 2.3 is provided. ANP4 and 5 are in the output layer.
provided. And the output of ANP1, 2.3 in the middle layer is
Analog bus B2 and common analog bus CD
It is returned to log bus B1. In addition, analog bus B1,
B2 has a max value node that acts as a dummy node.
A code circuit 187 is connected. And configure the output layer
The output of ANP4.5 is sent to the sample/hold circuit 17.
7.178 via analog output ba-}O and
output to l. B3 is an output layer analog bus. Neural nesotova shown in Figure 24 using Figure 25
Explain the operation of the park. First, DCLK and WCLK are mask control blocks.
Daisy circuit 171 and ANP 1, 2, 3, 4 from the
.. 5 respectively. mask control broso
As shown in 181 to
When input to the first daisy circuit Vs171, the analog input
The signal from output port 0 is sent to the sample/hold circuit 173.
and switch] 75 to the analog bus B1;
ANPI. In 2.3, the sum of products operation is SHI and CS1
This is done under the control of Next, after a predetermined period of time has passed after CSO1 falls, the second
The CSI signal input to the digital circuit 172 is shown in ■.
When the signal from the analog input port l is
sample/hold circuit 174 and switch 176
ANPI,2 of the intermediate layer by analog bus B2 via
.. 3, the product-sum operation is performed as shown in S H
It will be done. Similarly, after the CSO signal falls,
After the lapse of time, as shown in ■, the CSI to the third daisy circuit is
When the signal rises, the product-sum operation is performed in the middle layer ANPI, 2.3.
calculation is performed. And the output of intermediate iANPl,2,3
CSO2 stands up as shown by ■ and goes up to ANP 1
is applied to analog bus B2 and its output
is returned to analog bus B1 via common analog bus CB.
Since it is returned, the middle layer ANPI, ANP2, ANP3
Then, the product-sum operation is performed again to control SHI and OC1.
A sum-of-products operation is performed in AN. The output of P1 is analog
Since it occurs on log bus B2, ANP4, ANP5
Also, the product-sum operation is performed under the control of SH2 and OC2.
Ru. That is, in this embodiment, the middle layer ANPI
, ANP2, ANP3 and output layer ANP4, ANP5.
At the same time, a product-sum operation is performed. Next, after a predetermined period of time has passed after CSO2 falls, the intermediate
A CSI signal is input to ANP2 of the layer as shown in ■.
The output signals of ANP2 and ANP2 are passed through the common bus CB.
is fed back to the analog bus B1, so ANP1, 2.
In ANP4.3, the product-sum calculation is performed again.
At the same time in 5, Jyowa Chisan is performed in Imingae. Furthermore, the CSI signal is input to ANP 3 as shown by ■1.
Then, ANP3 sends the output address to 'rdress bus B1.
This results in ANPI of 2.3 and output layer ΔNP of 4.5.
A sum of products operation is executed at the same time. Next, Manox value node circuit 187 head dummy
When the signal DSC f is given as ■, it is sent to the analog bus B.
A constant voltage is output to ■, and this voltage (also common bus C B
and is returned via the analog l'I bus B1.
Then, a sum-of-products operation is performed in ANPI, 2.3. that
At the same time, the sum of products operation is also performed in the output layer ANP4.5. SYNCI is the period during which the sum of products is calculated in the middle layer and the middle layer and
is high during the period during which the sum of products is calculated by the output temperature and output temperature.
SYNC2 has a high speed during the sum of products operation between the intermediate layer and the output layer.
Yes. Then, when CS03 is output, ANP4 is
An output is generated at ■, and the CSO3 signal falls.
After a predetermined time, the ANP5 also outputs at ■
So 41-cheating. Note that while the address l and enable signal are low,
WCLK is suppressed. According to the invention, the front consisting of nierotisob of n (W)
The stage layer and the subsequent layer consisting of m multiple neurotisobes.
When you think about it, conventionally the number of wires is Ωm, but with this invention
According to the embodiment, it is possible to use one analog bus.
The number of wiring lines can be significantly reduced, and n
Input analog signals into a layer consisting of several neurochips.
When transmitting data, it is synchronized via an analog bus, similar to the broadcasting method.
Since it can be input at the same time, n l neurotisob in one layer
can perform parallel operations. Sara ζ, even if each N6 gets stuck, bye
Because brine processing is performed, calculation speed can be increased.
. Also, since the neurochip is composed of analog circuits,
, the scale of the circuit is small, and therefore the power is also small.
Because of this, neurocompilation is possible with a large number of neurotisob.
computer can be configured. In addition, two bites
Increasing the number of groups is done by
The control pattern is stored in the control pattern memory and the control pattern is changed.
This can be easily done by Figures 26A and 26B show errors that actual ANP has.
FIG. 3 is a conceptual diagram of the mechanism that generates the difference. Figure 26A shows the case where the input voltage is a known specific value.
, the output voltage of the neural network is shown by the dotted line.
Even if the theoretical value is
Because there are variations in the integral gain in the corresponding ANP,
If an output value that deviates from the theoretical value as shown by the dotted line is generated,
There is a case. Figure 26B shows the case where the input voltage is 0 volts.
In this case as well, the output voltage is output as an offset voltage.
It will be done. How to determine the error voltage at such an output?
The important question is whether it is appropriate to Figures 27 and 28 show this pulse-like error voltage, respectively.
Hierarchical and feedback neural networks that measure
This is a circuit for error measurement. Masokusubali'' - Node episode
The output of line 187 is connected to the analog bus. Also
, sets the data given from the MPU to the port register.
and its control signal E n . .. T mode, Layermo
Each bit of the code is sent to a mass value node circuit 187.
is given, but it is not given to that Ma Nox value node.
At the same time, the enable signal
It is also used for も's $1 order. For example, enable signal 1
Sometimes the intermediate layer voltage is
Enter MPU. This makes it possible to measure errors.
Ru. T mode is a test mode.
By using the intermediate layer for the O input mentioned above,
The voltage at the output layer analog bus is
It can be edited by the MPU via the data processor. For example, T mode
= 1, it becomes O input in the hierarchical neural network.
The response should be the offset voltage. 0 input
What voltage is sensed through the A/D converter when
monitor whether the Intermediate to monitor each layer
The analog path voltages connected to the layer and output layer are sequentially M
Transferred to PU. If you reverse T mode to low, next time
A high level voltage is always output. DCS 1 and DC
S2 is input to the OR circuit and is a port register.
It is kept low while En output from is high. Po
Set T mode to O by register
If set to 1 and En high, only the input layer will be locked.
It is possible to monitor the output by the result
remember. Next, if you make the layer low, you can create an analog middle layer.
offset on the bus can be sensed. make this selection
This is the port register. In the case of the feedback type shown in Figure 28,
Basically, there is only one bus, so it can be done with one measurement.
Become. If neither sum operation is performed, the offset voltage will be
Pressure measurements and gain errors cannot be measured. As described later, we change the weights for the dummy nodes and
Measure the output voltage when . In this case, each CS
■Controls the CSO and the output status of each layer in T mode.
Sense. This sensed data is converted into an A/D converter.
The data is transferred to the MPU via the . More specific information using the operation timing chart in Figure 29B.
Explain in detail. In Figure 29A, one period of DLCK
At , one cycle of product-sum is performed. That DCLK
When DCLK is high in the first half of one cycle of
At least 16 CLKs are input. This weight cross
WCLK transfers serial data to the shift register.
It is a clock for thinning out. SYNC signal is one
It defines the operation timing of ANP, and is different from DCLK.
rises half a cycle before
Falling down at the point of the cycle. SH is sample/hold
After that WCLK is input as a signal, that is, input analog
After the product of the digital data and the digital data is
The product signal is first sent to a capacitor.
. Then, the first high signal of the sample/hold signal is
At the moment the offset cancel signal OC falls, the offset cancel signal OC
rise and reverse the polarity of the capacitor. At that time
, the input signal to the capacitor is canted to 0,
Again at the next high signal of the sample/hold signal,
When a capacitor is charged, the capacitor has an input voltage of
A voltage equal to the offset voltage at signal O is charged.
It will be done. This reduces the capacitor by the offset.
signal, i.e. the offset has been cancelled.
Signals will be accumulated. However, even with this
If a cut remains, use the error absorption method of the present invention.
Ru. In Figure 27, a test is sent to port register 1 from the MPU.
When a command signal to enter the default mode is input, the En output goes high.
1 or 0 of test mode is enabled.
state. When the layer rises from low to high,
Test the middle layer. And when T mode is 1
, when detecting an offset error signal. layer
is high and the En signal is high, so gate 70
Output enable goes high via 2 and 703. And the input to the middle layer input of the Maxox value node circuit.
To make the fixed voltage 0 volts or high V state,
enable the path. Output enable goes high.
Once it goes up, it stays high until the end of the middle layer test.
. In other words, the offset error is detected for the middle layer.
do. Here, as mentioned above, DCLK becomes a high signal.
Then, one cycle of product-sum is performed. After that, CSI (CS
O2) becomes high and the output from ANPI becomes the analog bus.
(middle layer). Next, after a certain period of time, the CSI signal is also sent to ANP2.
Since it is added in a chain, the same applies from ANP 2.
The analog output signal is output and placed on the output bus of the intermediate layer.
Ru. Furthermore, after a predetermined period of time has elapsed, the CS [signal of ANP3
Since it rises to high, the analog output signal from ANP3
is output on the intermediate layer output analog bus. middle class
Each analog signal output to the operational amplifier 704 and
A/D converter via analog switches 705 and 706
data 707. and A/D converter 707
The outputs Q, are sent to the MPU and temporarily stored in the main memory.
held. Next, as shown in the timing chart of FIG. 29B,
The output of the dummy node with T mode set to 0 as shown in
By setting the voltage high, the MPU outputs the output voltage Q9 of each ANP.
Sense. ~j P tJ is this Q. Adder gain found from and Q9
Find Δ. Also, when the output of the layer of port register 1 is O, the input
Output input via inverter 708 and gates 709 and 710
Since a high signal is added to enable 2, the dummy in the middle layer
- node output terminal, that is, the 21 node times
An output signal is generated from the second output terminal of the output layer AN
P4.5 offset 7} is detected. And its output is
As mentioned above, operational amplifier 7l1, analog switch 71
2.713 to the A/D converter 707.
Ru. Note that the analog switches 714 and 715 are A/D controllers.
Voltage follower when not outputting to inverter 707
It is protected by A. In addition, the output of ANP4 and 5
is temporarily held in sample/hold 715 and 716.
, is output as an analog output signal. The above mentioned
Since the T mode is l, ANP I, 2, 3,
Since input signals of O are added to 4 and 5, respectively, A
The off-set voltage of the operational amplifiers of NP1 to 5 is △/D
The signal is output from the inverter 707 to the 8NP. In addition, as shown in FIG. 29B, when the T mode is 0,
, input dummy node output and dummy node for intermediate layer
A high level analog signal is output from the output.
, A/D converter 707 constitutes ANPI to 5.
The output voltage of the operational amplifier Q. (f&describe) is output
It will be done. Figure 28 shows the error in the feedback neural network.
The measurement circuit is shown, and Figures 30A and 30B show its operating circuit.
Indicates timing. Max value node circuit 187?
In these cases, only the output signal indicating the dummy node output to the input stone is
The signals are output and input to ANPI, 2.3, respectively. A
The output analog bus of NPI, 2.3 is connected via the common bus CB.
and is fed back to the analog bus on the input side. port register
Star 1, gates 702, 703, operational amplifier 704,
Nalogusu Isochi 705, 706, A/D Comparator Ichiyo 70
7. Gates 708, 709, 710 and Anakuchi Gusuino
The operation of chip 714 is similar to that shown in FIG. in one layer
Since it also serves as the output layer, there is no output layer like a hierarchical type.
No dummy node output to the output layer occurs. Dummy to output layer
The second output enable terminal that provides the -node output is connected.
be grounded. And the output signals from ANPI,2,3 are sampled/
Output via hold circuits 718, 719, 720
Ru. Figures 30A and 30B show the error measurement circuit in Figure 28.
Explain in more detail using the operation timing chart of
do. In FIG. 30A, in one period of DLCK
, one cycle of product-sum is performed. One cycle of that DCLK
When DCLK is high in the first half of
At least 16 items are entered. This weight clock WCL
K stores serial data in shift register 16@
It is a clock for The SYNC signal is one ANP
This specifies the operation timing, and is half the size of DCLK.
At the point of half a cycle of DCLK,
Fall down. SH is the sample/hold signal and its W
After CLK is input, that is, the input analog data and
After the product is multiplied with the digital weight data, the product signal is
It charges the capacitor first. And then
The first high signal of the sample/hold signal has fallen.
At this point, the offset cancel signal OC rises,
Reverse the polarity of the capacitor. At that time, the capacitor
The input signal to is canted to O and then sampled again.
/At the next high signal after the hold signal, the capacitor is
When charging, the capacitor has the same value as when the input signal is 0.
A voltage equal to the offset voltage is charged. to this
Therefore, the capacitor has less power by the offset note.
signal, i.e., a signal with offsets canceled, accumulates.
will be done. However, this still leaves an offcent
In some cases, the error absorption method of the present invention is further utilized. In Figure 28, port register 1 is tested by MPU.
When a command signal to enter the default mode is input, the En output goes high.
1 or O in test mode is enabled.
state. When the layer rises from low to high,
Perform a 1-layer test. When the T mode is 1, the offset error signal
This is the case when detecting. layer is high and the En signal
is high, so output enable via gate 702
The first signal in the list becomes high. And Masoxbalino
Connect the fixed voltage to the layer input of the board circuit to O port or high state.
To enable the circuit, enable the circuit. sand
That is, the offset error is detected for one layer. child
Here, as mentioned above, DCLK becomes a high signal, and the sum of products
One cycle of is performed. In the feedback type, the output/enable signal
Since the signal falls immediately, the input bus is disabled.
It becomes a table. However, while the output enable is high,
All ANP offset voltages are already sampled internally.
This means that it is being held. After that, CST
(CSO2) becomes high and output is output from ANPI.
output on the analog bus. Next, after a certain period of time, the CSI signal is also sent to ANP2.
Since it is added in a chain, the host is added from ANP2 as well.
The analog output signal for the offset that was held is output.
output bus and is placed on the output bus of this layer. Furthermore, a predetermined period of time has elapsed.
After that, the CSI signal of ANP3 rises to high.
, the analog output signal from ANP3 is the analog output of the layer
Output on the bus. Each of the offsets output to H
The analog signal Q, is the obeamp 704 and the analog switch.
to A/D converter 707 via switches 705 and 706.
You can call it. And the output Q of the 8/D converter 707
, are sent to the MPU and are temporarily held in main memory.
. Next, as shown in the timing chart of Figure 30B.
In order to
the MPU senses the output voltage Q of each ANP.
Ru. MPO is the adder gain A. obtained from this Q and Q9. Total
Calculate. The above is for the case where T mode is 1, so
, ANPI, 2.3 are each supplied with an input signal of O.
Therefore, the offset voltage of the operational amplifier of ANPI to 5
pressure is output from the A/D converter 707 to the MPU side.
. Furthermore, as shown in Figure 30B, when the T mode is set to O.
In this case, a high level signal is output from the input layer dummy node output.
Since the analog signal is output, the A/D converter 707
From ANPI to 3 is the output power of the operational amplifier that makes 4W.
Pressure Q. (described later) is output. Next, we will discuss the occurrence of calculation errors in the 7-nalog Nieron processor.
Weight correction method using raw model and dummy nodes
explain about. FIG. 31 is an algorithm of the first correction and second correction processing of the present invention.
FIG. The first correction process is the adder gain
Measurement condition settings for estimation and offset voltage measurement processing
It is. In other words, once the flowchart starts, the dummy
-The fixed voltage of the node is set to O, and the weight data for error measurement is
Reset 1−Qr as the weight for the dummy node.
That will happen. The second correction process is a dummy node 0 volts
offset voltage Qr for and lQr of 1 volt.
Result of multiplication as intermediate weight for dummy node
, an offset voltage is added to the output mixture
The correct adder gain is calculated using the information of the error output Q,
A, = (Q.-Qt)/Cl-Qt) is calculated.
That's true. The weight correction method uses a fixed voltage generated from a dummy node.
The weight for each neurotisob (4: weight is as follows)
, by adjusting the weights for the dummy nodes)
This is a method to absorb error voltage. Errors include offset errors and gain errors. In the present invention, dummy nodes logically exist. In other words, from the Maxox value node circuit to the analog bus
Adopts a method that generates a fixed voltage of, for example, 1 volt at the
Therefore, by SUing the weights for dummy nodes,
Input 0 volts to ANP to absorb the error.
How much error will be produced if
The following is an example of how this occurs.
be done. Figure 32 shows the performance in the analog neuron Brosenosa.
J1 model using calculation 2'l difference model and dummy node
It is a conceptual diagram of the positive method. For example, input with a weight of 0.3
In the case of O, the output is theoretically equal to O. JJ++ 3
When the gamma gain is 0.98, set this 0.98 to the input 0.
Even if you multiply it, it will return O and there is no meaning. On the other hand, the input is 11! le
In the case of 3 is the original product value
. 5.If the adder utility 15 is 0.98, then in 1)
The actual multiplied value is 0. 9 8 X O. 3 tona
) 6 Similarly for 1 volt from other nodes IX
0. 4 and <1. 0) X (-0.6)
Calculate all of the values obtained by multiplying each of these products by 0.98.
The sum is 1.274 volts as shown in the figure.
. In addition, an offset of the operational amplifier occurs, and 0.
01 volts is applied, resulting in 1,264 volts.
Becomes root. The actual value is l x 0. 3 + IX
Is it 0.4 + (i.0) X (-0.6)?
and 1.3 volts. However, it should be 1.3 volts.
However, due to gain error and offset error, 1.
It becomes 264 volts. This is the calculation error generation model.
. The figure below is a conceptual diagram of the market correction type force formula, and it shows the calculation error generation.
Offset voltage generated in the raw model -0
.. In order to correct the error of 01 volts, first, in this figure,
The voltage of the dummy node is set to 0.0 volt 1. this
Then, even if the adder {} is 0.98, the output is 0.0
volt, but an offset 1 voltage is applied, and the offset
The voltage Q is -0, Ol volts. and this
The weight for the dummy node is compensated to offset Q.
Set it as positive and change the weight for dummy node from 1 to 1.01.
Ru. This is the first correction, and generally, l. o-Q
It becomes the value of r. However, the adder utility 11 is 1.0.
The force is 0.98, so 1, O I
0.9 8. = 0.9898 vol 1. becomes Towa Prefecture. difference
In addition, the off-set of A bare bu is -0.01 volts as well.
Then, this is added and the output is 0.9798 volts.
This is defined as the mixed error output value Q9. offset
The voltage is -0.01 volt and the voltage is adjusted only by the first correction.
Q, which is 0.9798 of the mixed error output voltage
Multiply the second-order correction from the two pieces of information to calculate the additional gain A, W
do. The second-order correction follows the following equation as shown in the figure. A9 = (Qv Qt) ÷ (1.Qi, that is,
In the current example, A9 is 0.98, so find Ag.
This is the first stage of the second correction. because,
A fixed voltage of 1 volt is applied to the first correction W (1-Qr).
Offseno is multiplied by the adder gain A1l.
The sum of voltage Qr is Q. Therefore, Q9 = (I Qt) ×l ×Ag” Qt
This is because the weight W, must satisfy o=w,XA,+Qf, so ゛ζ must be obtained.
This is the second stage of the secondary correction. The reason for this is that
This is true when all output signals from all ANPs in the layer are 0.
In the future, the output of each ANP in the later layer will also be offset to the ANP.
Even if there is a note, it should be O. i.e. dummy
Since the output of the node is always ■, the output of the dummy node
, a dummy node such that the output signal later becomes O
The weight for the input signal to each ANP of the 11t layer from the
This is because it would be sufficient if it were determined. This W. 0
.. 010204 as the second-order corrected weight of l volt.
Multiply the dummy node and adder gain no\, = 0.9
Multiplying by 8 gives 0. 0 0 9 9 9 9 9
ri, almost 0. Ol Bolt. becomes. This
Since pressure 10,01 is added, the result is O volt.
Become. In this way, gain is also related to offseno1.
This means that Both offset 1 and gain at the same time
It would be better to correct it independently, but since that is not possible, the first
The method of correction is a mixture of both. This way
to generate a fixed voltage of 1 volt from the dummy node.
When the input of A N P is O volts, the output is
The offset voltage that is generated is canceled, resulting in the output
It would be a good idea to correct it so that it becomes 0 vol l. Such correction processing is performed by setting the correction enable flag En to 1.
It is done by doing. Error in the floor JQ neural network in Figure 27
When the T mode is set to 1 in the measurement circuit, the masox value
- The fixed voltage generated in the node circuit is forced to
Become Ruto. For analog bus ■ or ■, this
0 volts is forcefully input. For example, input layer analog
If you shift the bus ■ to 0 volts, each ANPI of the middle layer, 2
.. The output of No. 3 is output as an offset voltage. this
It is input to the MPU side via the A/D converter 707. The MPU side stores this offset voltage as Qr. M
The PU uses this Q to perform the first correction. Q, is given
Once obtained, use this to calculate the weights for the dummy nodes.
, it is necessary to correct the weights. In the second half of the first amendment
assumes that the fixed voltage of the dummy node is 1 volt. for example
, if we target the l-th ANP 1 in the middle layer, this dummy
-The weight data for the node voltage is set to 1.01.
control. The adder gain of that ANP 1 in the middle layer is 0
.. 98, the output of the adder will be 0.9898.
, and an offset voltage of -0.01 volt is added to Q
g is 0. 9 7 9 8 volts are output. child
This is connected to the output analog bus of the intermediate layer for error measurement.
Q is sent back to the MPU via the A/D converter inside the circuit.
, given as information. And the MPU calculates A9 and
Calculate W1 from 1/A9. As a result, W1 is the second complementary
Weight for a dummy node that generates 1 volt as a positive quantity
data, that is, 0.010204. Konoto
Since the adder gain in ANP is 0.98, the addition
The output of the device is 0.01 volt, and the offset is added.
0. Become a bolt. If the MPU confirms this, the data
The weight for me node is 0. 0 1 0 2 0 4
Since the value is found to be correct, the MPU assigns more weight to W1.
stored in memory. The above operation will be performed for all ANPs. Figures 33A to 33D are for hierarchical networks
This is the weight data correction algorithm. First, maskco
Set the control block to error measurement mode. Testmo
In other words, T mode is set to 1, and the layer is set to 1 of the middle layer.
, En is l. Then, the rigidity of the dummy node in the input layer is
Since the constant voltage is O volt voltage, each ANP in the intermediate layer
It becomes impossible to measure the off-cent voltage. Perform the first correction
To do this, the MPU starts interrupt processing.
ffl primary correction and secondary correction are performed. First, the middle class
Interrupt count counter variable that counts the number of ANPs being processed
Set to O and start interrupt processing. Then, ANP calculates the output voltage for O volt input voltage.
When output as Qf, it is passed through the A/D conversion of the measurement circuit.
data Q, t-MPU reads into internal register,
It then moves it from that register to main memory. So
, increment the interrupt counter variable, and add this
The number of interrupt counters becomes the number of measurement targets, that is, the number of ANPs.
Check whether they match. If they match
If not, it enters a wait state while sensing the count number.
Ru. If the count variable is equal to the number of objects to be measured, interrupt
After completing the processing routine, the first
The next correction process begins. That is, for each ANP, a dummy
The voltage at the node is 1 volt, and the first correction value is 1.0.
- Qf is first set as a weight, and all ANs are stored in the main memory.
Store it as a weight for P. In other words, T mode
Set it to O. Then, when 1゛mode=0, from the dummy node
produces a fixed voltage of 1 volt, whereas
Simultaneously measure the effects of offset voltage and gain error, and
Perform preprocessing for secondary correction. The interrupt count counter changes again.
Set the number to O and start interrupt processing. i.e. for measurement
Q, will be measured through the 8/D conversion of the circuit. The voltage of the dummy node is 1.0, and by the first correction
For example, the weight for ANP is 1.01, so add
The output is 0.9898 for the gain of 0.98, and the output is 0.9898.
offset voltage 10. 01 volt is added and Q9 is 0
.. 9 7 9 8 volts is calculated. This Q, is A
The MPU reads it through the /D converter and writes the memory from the register.
and apply this to all ANPs in the middle layer.
Increment the count variable as you would do. This i
Check whether the increment number has scattered the measurement target.
If they do not match, perform further measurements.
. If the number of counters is the number to be measured, an interrupt is generated.
After completing the correction processing routine, the second correction processing begins. sand
In other words, W1, which is the reciprocal of A multiplied by -Q, is applied to each ANP.
and ask. This W. Tamino that produces l volts
It is given as weight data for the code. In other words, it enters a routine to modify the weights for dummy nodes.
, for example, A. Weight data for N P 0.010
204 is determined. These weights are stored in weight memory.
It will be done. The above operation can also be performed for all ANPs in the output layer.
It becomes. Therefore, move to ■, set T mode to 1, and layer
Set to 0 to set the output layer mode, set En=1, and do the same
Start processing. By the way, set the interrupt counter to 0.
, enters the interrupt handling routine and is processed by the measurement circuit.
Offset voltage to the gummy node of O volts, Qf
is calculated for the ANP in the output layer, and these data are
Store in a harpoon. This process is performed on the number of measurement targets (output often ANP
number), exits the interrupt processing routine and returns to the first
Next correction processing will be performed. In other words, dummy no 1.
Set intermediate weight data for a fixed voltage of 1 port.
will be determined. Move on to ■. Set T mode to 0, layer to 0, En to
Set it to 1. Then, preprocessing for the second correction begins, and Q
Calculate 9 by 3. i.e. fixed voltage from dummy node
Since 1 volt is generated, the offset voltage and gain
The effect of errors will be measured simultaneously. Interrupt count
Set the count variable to O, start interrupt processing, and execute Q. of
It is read through an A/D converter and transferred to memory. And the discount
Increment the input count variable and add A in the output layer.
After performing the same number of steps as NP, exit from the interrupt handling routine.
, for the second correction, and use it for the dummy node.
Store it in weight memory as a weight. In the case of hierarchical type, W, obtained by the second correction is originally a dummy
It needs to be added to the weight given to the node. Moreover,
, all electricity needs to be applied with 1/AI.
Ru. Weight data correction algorithm for feedback type net work
Figures 34A and 34. Shown in Figure B. this
The same applies to the case. In the feedback type network, there is only one layer.
be. Set mask control block to error measurement mode
Then set T mode to 1, layer to 1, En to 1,
First, it is turned off by the 0 volt ffi pressure output of the dummy node.
Measure the set voltage. Set the interrupt counter variable to O.
, enters the interrupt processing routine and goes to the output side of the measurement circuit.
Read Q through some A/D conversion and transfer it to memory.
vinegar. Repeat this process for the number of ANP, and
completes the process and begins the first correction process. return net
17 at work! ! , the first correction and the second
The next correction only needs to be performed once. Next, perform the second correction
To do this, set T mode to O, leave layer at 0, and set En to 1.
Make it. Then input the fixed voltage l volt of the dummy node.
and simultaneously measure the influence of offset m pressure and gain error.
That will happen. Set the interrupt count counter variable to O, and
Start import processing. Via the A/D conversion of the measurement circuit
Q. Read for each ANP. i.e. dummy no
The m diameter determined by the first correction for 1 volt from the
When given the data, A. N P is the internal adder gain 0
.. The voltage is multiplied by 98 and the offset voltage is added.
and outputs Q. This process covers all 7 of 11 minutes.
't N P, and the Q corresponding to each AN})
, and Q9 information are written to memory, the interrupt processing starts.
The routine ends. Then, the MPU performs secondary correction processing. In other words, M
PU is the reciprocal of A, to W. is calculated for each ANP,
This will be stored in the weight memory as the weight correction amount.
Ru. Next, we will explain the weight correction method using multiple dummy nodes of the present invention.
I will clarify. In the fixed-point system, the -E bit is the sign bit,
If you place a decimal point after this upper binoto, it becomes a positive number.
is between O and less than 1. Therefore, the weight data is expressed in 16-pin fixed-point format.
In this case, 1 or more cannot be expressed. First, to explain hierarchical networks, dummy
Assume that there is one node for each layer. 35th
At the top of diagram A, where the adder gain should be 1
0.98, and furthermore, the offset voltage is 0.98. Ol existence
The output should be 1.3 because there are 1. 2
6 4, resulting in an error. Threshho
The weight data for the field is offset, and the weight for the gain error is
The weight data plus the weight data is the weight for the dummy node.
It is given as a weight and stored in the weight memory. i.e.
, as shown in the left side of Figure 35A, the dummy node and the input
In the two nodes showing the output of the ANP of the force layer,
, the weight applied to the voltage of 1 volt at the dummy node is
0.316324 in the form of the sum of hold and error correction
Assume that This value is represented by a fixed point
Although it is possible, if this is divided into two weight data,
think. Then, the weight for normal ANP is set to 0. 4
0 8 2, weight for other APNs - 0.6122
Suppose that In this way, the ANP output will be +1.30.
Become. Furthermore, the weight data of that dummy node is fixed.
It may not be possible to express it with a decimal point. Therefore, this city
If data is expressed as the sum of two or more weight data, each weight
For example, the data is a value less than or equal to 1, and is a fixed-point data format.
This means that it can be expressed as a digital quantity. On the right side of the ffi35A diagram, one is the threshold
mm 0. 3 0 6 1
2 and the other one is the offset and correction damino mentioned above.
The weight for the code is 0.010204. That is,
The voltage for the threshold is greater than the offset voltage.
Therefore, there is a possibility that the error will be large.
, a dummy node for threshold hold and a dummy node for offset.
By separating the menode, the offset value is fixed.
It is almost unavoidable that it cannot be expressed using the constant-point method.
It will be done. The voltage generated from the dummy node is a fixed voltage]
Since the weight is divided into two in this way, l
X0.30612 volts +W. The voltage corresponding to the weight
It is the same as the product when . Each weight data
is the separate weight memory for the weight memory dummy node.
stored in the storage area of , and time-shared to specific ANPs in the middle layer.
is given as weight data for dummy nodes. difference
Furthermore, if the weight data for threshold is large
If we divide this into two, we get the result shown on the right side of Figure 35B.
In this case, there are three pieces of weight data for the dummy node. each weight
Data is represented as a digital quantity using a fixed-point system.
It is something that In this case, a dummy node for weight memory
There are three storage spaces for storing weight data for time-sharing.
is given to the ANP in the middle layer. However, each weight data is divided for each ANP in the middle layer.
are different from each other. The same thing applies to the output layer as well.
Done to the menode. Regarding return-type networks, there are also hierarchical networks and
Similarly, the threshold dummy node and offset
Dummy node for data and further threshold
By dividing the dummy nodes for use as necessary,
Weight data when weight data is expressed using constant point method
can expand the dynamic range of However, the feedback type
In this case, the output of the dummy node is connected to only one layer. Figures 36A and 36B show the hierarchical structure shown in Figure 8.
In a network, if controlled by multiple dummy nodes,
FIG. The dummy node outputs DCSI and DOS2 are consecutive
The multi-dummy
Indicates that two weight data are controlled corresponding to the nodes.
are doing. Figures 37A and 37B show the feedback type cable shown in Figure 20.
In notebook work, if you control I1 with multiple dummy nodes
FIG. Dummy node output DCS3 has two consecutive high pulses.
have. [Effects of the Invention] According to the present invention, the front layer consisting of n neurochips
Considering the subsequent stage consisting of m multiple neurochips,
When the number of wires is nm in the original case,
According to Akira's example, it is possible to use one analog bus.
Since the number of wires can be reduced significantly, the number of wires can be significantly reduced.
, an input analog signal to a layer consisting of n 221 rotisob
When inputting
and can be input at the same time, n. (In
New l: Jna, Bu can perform in parallel. Furthermore, each
Since the layer is also subjected to B/F B/L processing, the performance
Increase calculation speed. In addition, Neurosennopu is composed of analog circuits.
Therefore, the circuit size can be small, and therefore the power consumption is also small.
Since the neural network is
You can configure Nenotwork. Furthermore, since we used multi-dummy nodes, weight data etc.
When expressed in fixed-point format, its dynamic range is
You can expand the image.

【図面の簡単な説明】[Brief explanation of the drawing]

第IA図は、本発明のニューロコンピュータの原理ゾロ
ノク図、 第1B図は、本発明のアナログニューロブロセソサ(A
NP)のチップから構成されたバソケージの概略図、 第工C図は、本発明のANPの内部構成図、第2図は、
本発明のアナログニニーロプロセッサの原理構成図、 第3図は2本発明の基本ユニソトの一実施例のブロソク
図、 第4図は、本発明の基本ユニソトの実施例の具体的回路
図、 第5図は、本発明の基本ユニソトの他の実施例の具体的
回路図、 第6図は、本発明の基本ユニソトに用いられる積分器の
動作タイミングを説明する図、第7A図は、′N層型ニ
ューラルネソトワークの概念図、 第7B図は、本発明ぐよる階層型二エーラルネットワー
クの概念図、 第8図は、本発明のニューロコンピュータを階暦型ネノ
トワークで実現したー実施例の具体的回路図、 第9A図、第9B図は、第8図に示した信号処理のタイ
ミング図、 第lO図は、ディジタル重みデータの読み込み夕・イミ
ングを示す図、 第11A図は、マスクコントロールブロノクの具体的回
路図、 ffii IB図は、制11lパターンメモリ及びマイ
クロ二7−ドメモリの構造を示す図、 第12A図は、重みy一タメモリへのデータ充填方法を
欣ず図、 第12B図は、重みデータメモリの具体的構成図、 第12c図及び第120図は学習アルゴリズムの7ロー
ナヤ−1・、 第13図は、ディジ−回路の具体的回路図、ml41’
4は、マ・ノクスバI!ユーノード回路の4体的回路図
、 第15図は、冫グモイド関数発生回路の具体的回路図、 第16図は、シーケンスジェネレータの具体的回路図、
7 第17図は、位相制御回路の具体的回路図、第18閏は
、シフトレジスタの具体的回路図、第19A図は、帰還
型ネットワークを説明する概念図、 第1.13図は、本発明のニヱーロコンピュータにより
帰還型ネットワークを楕成した場合の説明図、 820図は、本発明によるニューロコンピュータにより
、第1の帰還型ネノトワークを構成した実施例の具体的
回路図、 第2 1 A.図及び第2iB図は、第20図に示した
実施例の信号処理を示すタイミング図、82 2図は、
本発明のニューロコンピュータにより、第2の帰還型ネ
ソトワークを構成した実施例の具体的プロ・,・ク図、 第23.・ζ図及び第23B図は、第22図に示した実
施例の(3号処理を示すタイミング図、第24図は、本
発明のニューロコンピュータにより階層型と帰還型とを
組み合わせた他の実施例のブロック図、 第25A図、及び第25B図は、第24図に示した実施
例の信号処理を示すタイミング図、第26A図及び第2
6B図は実際のANPが持っている誤差を発生するメカ
ニズムの概念図、第27図,第28図はそれぞれこのパ
ルス的な誤差電圧を計るPIH型及び帰還型のニューラ
ルネットワークにおける誤差計測用回路を示す図、第2
9A図は、階層型ネットワークにおける中間層のオフセ
ット電圧計測用制御シーケンス、第29B図は、階層型
ネットワークにおける中間層のゲイン誤差計測用制御シ
ーケンス、第30A図は、帰還型ネットワークにおける
オフセント電圧計測用制御シーケンス、 第30B図は、帰還型ネットワークにおけるゲイン誤差
計測用制御シーケンス、 第31図は、本発明の誤差計測に用いられる第1次、第
2次補正処理の説明図、 第32図は、アナログニューロンブロセソサにおける演
算誤差発生モデルとダミーノードを利用した重み補正型
方式を示す図、 第33A図〜第33D図は、階層型ネントヮークの場合
の重みデータ修正方法を示すフローヂャート、 第34A図及び第34B図は、帰還型ネソトワークの場
合の重みデータ修正方法を示すフローチャート、 m35A図及び第35B図は、アナログニューロンプロ
セッサにおける演算誤差発生モデルとダミーノードを利
用した重み補正型方式を示す図、第36A図及び第36
B図は、階層型ネットワークを複数ダミーノードを用い
て制御する制御シーケンス、 第37A図及び第37B図は帰還型ネットワークを複数
ダミーノードを用いて制御する制御シーケンス、 第38図は、ニューロンモデルの基本ユニットの原理構
成図、 第39図は、NN型ニューラルネットワークの構成概念
図である。 12・・・制御パターンメモリ、 13・・・シーケンサ、 l4・・・重みメモリ、 L5・・・ディジタル制御手段、 l6・・・D/Aコンバータ、 l7・・・A/Dコンバータ、 18・・・ANPで構成したニューラルネットワーク、 19A・・・ダミーノード手段、
FIG. IA is a Zoronok diagram of the principle of the neurocomputer of the present invention, and FIG. 1B is an analog neuroprocessor (A) of the present invention.
A schematic diagram of a bathocage composed of chips of NP), Fig. C is an internal configuration diagram of the ANP of the present invention, and Fig. 2 is a
3 is a block diagram of an embodiment of the basic UNISOTO of the present invention; FIG. 4 is a specific circuit diagram of an embodiment of the basic UNISOTO of the present invention; Fig. 5 is a specific circuit diagram of another embodiment of the basic unisoto of the present invention, Fig. 6 is a diagram explaining the operation timing of the integrator used in the basic unisoto of the present invention, and Fig. 7A is Figure 7B is a conceptual diagram of a layered neural network. Figure 7B is a conceptual diagram of a hierarchical bilayer network according to the present invention. Figure 8 is an example of the neural computer of the present invention realized using a hierarchical neural network. Specific circuit diagrams, Figures 9A and 9B are timing diagrams of the signal processing shown in Figure 8, Figure 1O is a diagram showing the timing of reading digital weight data, and Figure 11A is a mask control diagram. The specific circuit diagram of Bronok, ffii IB diagram is a diagram showing the structure of control 11L pattern memory and microsecond memory, Figure 12A is a diagram showing the method of filling data into the weight y data memory, and Figure 12B is The figure shows a concrete configuration diagram of the weight data memory, Figures 12c and 120 show the learning algorithm of the 7Lonaya-1, and Figure 13 shows a concrete circuit diagram of the digital circuit, ml41'.
4 is Ma Noxuba I! 15 is a specific circuit diagram of a gmoid function generation circuit, 16 is a specific circuit diagram of a sequence generator,
7 Fig. 17 is a specific circuit diagram of the phase control circuit, the 18th leap is a specific circuit diagram of the shift register, Fig. 19A is a conceptual diagram explaining the feedback network, and Fig. 1.13 is a specific circuit diagram of the shift register. FIG. 820 is an explanatory diagram of the case where a feedback network is formed using the neurocomputer of the present invention; FIG. 1 A. 82 and 2iB are timing diagrams showing the signal processing of the embodiment shown in FIG.
23. Specific project diagram of an embodiment in which a second feedback type network is constructed using the neurocomputer of the present invention.・The ζ diagram and FIG. 23B are timing diagrams showing the processing (No. 3) of the embodiment shown in FIG. The block diagram of the example, FIGS. 25A and 25B, are timing diagrams, FIGS.
Figure 6B is a conceptual diagram of the mechanism that generates errors in an actual ANP, and Figures 27 and 28 are error measurement circuits in PIH type and feedback type neural networks that measure this pulse-like error voltage, respectively. Figure shown, second
Figure 9A is a control sequence for measuring offset voltage in the middle layer in a hierarchical network, Figure 29B is a control sequence for measuring gain error in the middle layer in a hierarchical network, and Figure 30A is a control sequence for measuring offset voltage in a feedback network. Control sequence, FIG. 30B is a control sequence for measuring gain error in the feedback network, FIG. 31 is an explanatory diagram of the first and second correction processing used for error measurement of the present invention, and FIG. 32 is: Figures 33A to 33D are flowcharts showing a weight data correction method in the case of hierarchical network work. and FIG. 34B are flowcharts showing a weight data correction method in the case of feedback type net work; FIG. 35A and FIG. Figures 36A and 36
Figure B shows a control sequence for controlling a hierarchical network using multiple dummy nodes, Figures 37A and 37B show a control sequence for controlling a feedback network using multiple dummy nodes, and Figure 38 shows a neuron model. Fig. 39 is a conceptual diagram of the configuration of the NN type neural network. 12... Control pattern memory, 13... Sequencer, l4... Weight memory, L5... Digital control means, l6... D/A converter, l7... A/D converter, 18...・Neural network composed of ANP, 19A... dummy node means,

Claims (1)

【特許請求の範囲】 1)アナログ信号を第1のアナログバスより時分割的に
入力し、積和演算を行ってアナログ信号を第2のアナロ
グバスに出力するアナログニューロプロセッサの集合か
らなるニューラルネットワーク(18)と、 該ニューラルネットワーク(18)の制御情報を格納す
る制御パターンメモリ(12)と、該制御パターンメモ
リ(12)のアドレスをアクセスするための信号を発生
するシーケンサ(13)と、 該シーケンサ(13)によって制御され前記アナログニ
ューロプロセッサに対する重みデータを格納する重みメ
モリとを有するニューロコンピュータにおいて、 各層のアナログバスの出力電圧値が所定のダイナミック
レンジを越える場合には、 その層の入力側のアナログバスに接続されるダミーノー
ド手段(19A)からの固定電圧に乗算される重みデー
タを複数の重みデータの和で表現し、各分割された重み
データを独立に重みメモリに記憶するマルチダミーノー
ド制御手段(19B)を有することを特徴とするニュー
ロコンピュータ。 2)前記ダミーノードの重みデータが固定小数点で表現
できない場合に、固定小数点で表現できる重みデータの
和で表現し、各分割される重みデータを独立に重みメモ
リに記憶することを特徴とする請求項1記載のマルチダ
ミーノードを有するニューロコンピュータ。
[Claims] 1) A neural network consisting of a set of analog neuroprocessors that time-divisionally input analog signals from a first analog bus, perform product-sum operations, and output the analog signals to a second analog bus. (18), a control pattern memory (12) that stores control information of the neural network (18), and a sequencer (13) that generates a signal for accessing an address of the control pattern memory (12); In a neurocomputer that is controlled by a sequencer (13) and has a weight memory that stores weight data for the analog neuroprocessor, when the output voltage value of the analog bus of each layer exceeds a predetermined dynamic range, the input side of that layer A multi-dummy system that expresses the weight data multiplied by the fixed voltage from the dummy node means (19A) connected to the analog bus of the dummy node as the sum of a plurality of weight data, and stores each divided weight data independently in the weight memory. A neurocomputer characterized by having node control means (19B). 2) When the weight data of the dummy node cannot be expressed as a fixed point, it is expressed as a sum of weight data that can be expressed as a fixed point, and each divided weight data is stored independently in a weight memory. A neurocomputer having the multi-dummy node according to item 1.
JP1054671A 1989-02-28 1989-03-07 Neurocomputer having multidummy node Pending JPH02232725A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1054671A JPH02232725A (en) 1989-03-07 1989-03-07 Neurocomputer having multidummy node
EP90103900A EP0385436B1 (en) 1989-02-28 1990-02-28 An error absorbing system in a neuron computer
DE69026740T DE69026740D1 (en) 1989-02-28 1990-02-28 Fault-absorbing system in a neural computer
US07/486,647 US5216746A (en) 1989-02-28 1990-02-28 Error absorbing system in a neuron computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1054671A JPH02232725A (en) 1989-03-07 1989-03-07 Neurocomputer having multidummy node

Publications (1)

Publication Number Publication Date
JPH02232725A true JPH02232725A (en) 1990-09-14

Family

ID=12977243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1054671A Pending JPH02232725A (en) 1989-02-28 1989-03-07 Neurocomputer having multidummy node

Country Status (1)

Country Link
JP (1) JPH02232725A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020534626A (en) * 2017-09-15 2020-11-26 ミシック,インコーポレイテッド Systems and methods for mixed signal computing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020534626A (en) * 2017-09-15 2020-11-26 ミシック,インコーポレイテッド Systems and methods for mixed signal computing

Similar Documents

Publication Publication Date Title
JP2679738B2 (en) Learning processing method in neurocomputer
KR940001173B1 (en) Neurocomputer
KR950008840B1 (en) Neuro chip
Baldi Gradient descent learning algorithm overview: A general dynamical systems perspective
US5506998A (en) Parallel data processing system using a plurality of processing elements to process data and a plurality of trays connected to some of the processing elements to store and transfer data
JP2663996B2 (en) Virtual neurocomputer architecture for neural networks
US5146543A (en) Scalable neural array processor
US5333239A (en) Learning process system for use with a neural network structure data processing apparatus
US5148515A (en) Scalable neural array processor and method
US5065339A (en) Orthogonal row-column neural processor
US5216746A (en) Error absorbing system in a neuron computer
EP0475732B1 (en) Asynchronous control system for a neuro computer
US5243688A (en) Virtual neurocomputer architectures for neural networks
JPH05282272A (en) Neural network parallel distribution processor
JPH02232725A (en) Neurocomputer having multidummy node
US5485548A (en) Signal processing apparatus using a hierarchical neural network
US5146420A (en) Communicating adder tree system for neural array processor
EP0488380A2 (en) Learning machine
JPH04316153A (en) Neuro-processor
JP2677656B2 (en) Central control system for neurocomputer
JP2618470B2 (en) Error absorption method by weight correction in neurocomputer.
JPH05159087A (en) Neuro processor
JPH02232786A (en) Error absorbing system by variable integral pulse in neurocomputer
US20240054330A1 (en) Exploitation of low data density or nonzero weights in a weighted sum computer
Khan et al. Systolic Architectures for artificial neural nets