[go: up one dir, main page]

JPH05197707A - Information processing system - Google Patents

Information processing system

Info

Publication number
JPH05197707A
JPH05197707A JP4209163A JP20916392A JPH05197707A JP H05197707 A JPH05197707 A JP H05197707A JP 4209163 A JP4209163 A JP 4209163A JP 20916392 A JP20916392 A JP 20916392A JP H05197707 A JPH05197707 A JP H05197707A
Authority
JP
Japan
Prior art keywords
output
value
input
memory
selector
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
JP4209163A
Other languages
Japanese (ja)
Inventor
Mitsuo Asai
光男 浅井
Noboru Masuda
昇 益田
Moritoshi Yasunaga
守利 安永
Masayoshi Yagyu
正義 柳生
Minoru Yamada
稔 山田
Katsunari Shibata
克成 柴田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4209163A priority Critical patent/JPH05197707A/en
Publication of JPH05197707A publication Critical patent/JPH05197707A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 高速学習可能なニューラルネットにより構成
される情報処理システムを実現する。 【構成】 データバス1080〜1084により接続さ
れる半導体集積回路1050と、入力値を記憶する第1
のメモリ1010と、出力の所望する値を記憶する第2
のメモリ1012と、出力値を記憶する第3のメモリ1
011と、これらを制御する制御回路1003を備えた
情報処理システムであって、半導体集積回路はニューロ
ンモデルを計算する複数の機能ブロックを有し、機能ブ
ロックの1つはデータバスにより、自他の機能ブロック
の少なくともいずれかへデータを転送する手段と、複数
の入力値とそれらの入力値に対応する出力の所望する値
に対して、ニューロンモデル間の重み値を修正する手段
を有するものである。
(57) [Summary] [Purpose] To realize an information processing system composed of a neural network capable of high-speed learning. A semiconductor integrated circuit 1050 connected by data buses 1080 to 1084 and a first memory for storing input values
Second memory 1010 for storing a desired value of output
Memory 1012 and a third memory 1 for storing output values
011 and a control circuit 1003 for controlling them, the semiconductor integrated circuit has a plurality of functional blocks for calculating a neuron model, one of the functional blocks being a data bus, It has means for transferring data to at least one of the functional blocks, and means for correcting the weight value between the neuron models with respect to a desired value of a plurality of input values and outputs corresponding to those input values. .

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、音声認識、画像処理、
制御などに利用するニューラルネットを高速に学習する
ことができる情報処理システムに関する。特に、ウェハ
スケール集積回路(WSI)上に構成するのに好都合
で、高速な学習機能付きの大規模なニューラルネットを
コンパクトでかつ低価格で提供する情報処理システムに
関する。
BACKGROUND OF THE INVENTION The present invention relates to voice recognition, image processing,
The present invention relates to an information processing system capable of learning a neural network used for control etc. at high speed. In particular, the present invention relates to an information processing system that is convenient to construct on a wafer scale integrated circuit (WSI) and provides a large-scale neural network with a high-speed learning function in a compact size and at a low price.

【0002】[0002]

【従来の技術】ニューラルネットは認識、知識処理など
の情報処理に応用されている。ニューラルネットは入力
と期待する出力値を与えれば、学習により自己組織化が
可能である。そのため、プログラムを必要とせず、その
応用が期待されている。
2. Description of the Related Art Neural networks are applied to information processing such as recognition and knowledge processing. Neural networks can self-organize by learning if they are given inputs and expected output values. Therefore, it does not require a program and its application is expected.

【0003】学習アルゴリズムの1つに、ランメルハー
ト(Rumelhart) らによるパラレルディストリビューティ
ド プロセスィング (Rarallel Distributed Processin
g)第8章318〜362頁及び日経エレクトロニクス 1987.8.1
0(No.427)115〜121ページに紹介されている、”バッ
クプロパゲーション”が知られている。以下に、このバ
ックプロパゲーションを説明する。
One of the learning algorithms is the parallel distributed processinning by Rumelhart et al.
g) Chapter 8, pages 318-362 and Nikkei Electronics 1987.8.1
0 (No.427) "Backpropagation" introduced on pages 115-121 is known. The back propagation will be described below.

【0004】図2にニューラルネットを構成するニュー
ロンのモデルを示す。ニューロンは他のニューロンから
入力xi を入力する。そして、それぞれの入力xi に対
し重み値wjiで重み付けを行い、その総和である内部エ
ネルギー(内積)uj を計算する。この値を例えばシグ
モイド関数fによって変換し、出力xj を出力する。こ
こで、重み値wjiは、ニューロンjにおいて、入力する
ニューロンiに対する重み値である。
FIG. 2 shows a model of a neuron that constitutes a neural network. A neuron inputs the input x i from another neuron. Then, each input x i is weighted by the weight value w ji , and the internal energy (inner product) u j , which is the sum thereof, is calculated. This value is converted by, for example, a sigmoid function f, and the output x j is output. Here, the weight value w ji is a weight value for the input neuron i in the neuron j.

【0005】[0005]

【数1】 [Equation 1]

【0006】[0006]

【数2】 [Equation 2]

【0007】複数のニューロンを結合することによっ
て、ニューラルネットを構成できる。そして、重み値w
jiを変えることによって、いろいろな情報処理を行うこ
とが可能である。
A neural net can be constructed by connecting a plurality of neurons. Then, the weight value w
Various information processing can be performed by changing ji .

【0008】図3に階層型ニューラルネットを示す。本
図は、入力層、中間層、出力層の3階層から構成されて
いるが、中間層を複数とする構成にしてもよい。入力に
対し、情報処理を行なって出力する順方向に動作するモ
ードと、与えた入力に対して期待する出力値を外部から
与え、出力層側から入力層側へ向かって、重み値wji
修正していく逆方向に動作するモードを持つ。そのとき
の重み値wjiの修正値Δwjiをニューロンjでは
FIG. 3 shows a hierarchical neural network. Although this figure is composed of three layers of an input layer, an intermediate layer, and an output layer, it may be configured to have a plurality of intermediate layers. A mode in which information is processed and outputted in response to an input, and an expected output value for a given input is given from the outside, and a weight value w ji is given from the output layer side to the input layer side. It has a mode that works in the opposite direction to correct. The modified value Δw ji of the weight value w ji at that time is set in the neuron j.

【0009】[0009]

【数3】 [Equation 3]

【0010】とする。ここで、nは学習の回数、α、η
は定数である。また、関数δを以下のように決定する。
[0010] Here, n is the number of learnings, α, η
Is a constant. Further, the function δ is determined as follows.

【0011】出力層のニューロンkでは、期待する出力
値をtk とすると、
In the neuron k in the output layer, if the expected output value is t k ,

【0012】[0012]

【数4】 [Equation 4]

【0013】とし、中間層のニューロンjでは、In the middle layer neuron j,

【0014】[0014]

【数5】 [Equation 5]

【0015】と決める。ここで、関数f’は関数fの導
関数である。
And decide. Here, the function f ′ is a derivative of the function f.

【0016】以上のように修正値Δwを決定し、重み値
wを修正していく。そして、出力層の出力が期待するも
のとなるまで、以上の学習を繰り返す。
The correction value Δw is determined as described above, and the weight value w is corrected. Then, the above learning is repeated until the output of the output layer is as expected.

【0017】一般に、ニューラルネットの解明及びその
応用の研究は、逐次型計算機上でソフトウェアによるシ
ミュレーションによって行っている。しかし、非常に多
くの、例えば数千あるいは数万個のニューロンで構成す
る大規模なニューラルネットの学習を行うには、膨大な
計算時間が必要となる。また一般に、学習には非常に多
くの反復を必要とする場合が多い。そのため、大規模な
ニューラルネットの能力はよくわかっていないのが現状
である。
In general, research on the elucidation of a neural network and its application is carried out by software simulation on a sequential computer. However, in order to learn a large-scale neural network composed of a large number of neurons, for example, thousands or tens of thousands of neurons, enormous calculation time is required. Also, in general, learning often requires a large number of iterations. Therefore, at present, the capabilities of large-scale neural networks are not well understood.

【0018】一方、専用のハードウェアによってニュー
ラルネットを高速に計算させる試みがある。その一つで
ある、”完全ディジタルニューロWSIの基本設計”、
1989年 電子情報通信学会 春季全国大会講演論文集 7
分冊 SD-1-5,291〜292ページで発表された方式を図4に
示す。ここでWSIとは、ウェハスケール インテグレ
ーション(Wafer Scale Integration)のことである。
On the other hand, there is an attempt to calculate a neural network at high speed by using dedicated hardware. One of them, "Basic design of fully digital neuro WSI",
Proceedings of the 1989 IEICE Spring National Convention 7
Figure 4 shows the method announced on pages 291 to 292 of SD-1-5. Here, the WSI is a wafer scale integration.

【0019】図4において、201 はニューロン計算ユニ
ット、210 はバスである。各ニューロン計算ユニット20
1 はバスによって結合している。各ニューロン計算ユニ
ット201 のうち一つが選択され、その出力値をバス210
へ、次々と出力する。各ニューロン計算ユニット201
は、出力しているニューロンに対する重み値をメモリに
保持しており、バス210 から逐次入力する値に、それに
対する重み値をメモリから読みだして重み付けし、その
積を累積加算する。バス210へ出力するときは、その値
を (1)式のシグモイド関数によって変換して出力する。
重み付け回路は時分割に動作させる。各ニューロン計算
ユニット201が一通りバス210へ出力すれば、すべてが
(2)式の計算を行うことができる。以下、時分割バス結
合方式と呼ぶ。
In FIG. 4, 201 is a neuron calculation unit and 210 is a bus. Each neuron calculation unit 20
1s are connected by a bus. One of the neuron calculation units 201 is selected, and its output value is output to the bus 210
To one after another. Each neuron calculation unit 201
Holds the weight value for the output neuron in the memory, weights the value sequentially input from the bus 210 from the memory, weights the value, and cumulatively adds the products. When outputting to the bus 210, the value is converted by the sigmoid function of the equation (1) and output.
The weighting circuit operates in a time division manner. If each neuron calculation unit 201 outputs all to the bus 210, everything is
(2) can be calculated. Hereinafter, this is referred to as the time division bus coupling method.

【0020】以上の動作を行うことによって、(1)(2)式
のニューロンモデルを高速に演算することができる。も
う1つの特徴は、図4をWSI上で実現することであ
る。時分割バス結合方式によれば、重み付け回路を時分
割に使用して、1つのニューロン計算ユニット201 の面
積を大幅に低減することができる。このように、1計算
ユニットの面積をできる限り小さくし、1計算ユニット
あたり歩留まりを向上させ、欠陥によって動作不能とな
るニューロン計算ユニット201 の割合を低下させること
で、WSI化に成功している。WSI化することによ
り、以前に比して大規模なニューラルネットを高速にか
つコンパクトに実現することが可能となる。
By performing the above operation, the neuron model of equations (1) and (2) can be calculated at high speed. Another feature is to implement FIG. 4 on WSI. According to the time division bus coupling method, the weighting circuit is used for time division, and the area of one neuron calculation unit 201 can be greatly reduced. In this way, the area of one calculation unit is made as small as possible, the yield per one calculation unit is improved, and the ratio of the neuron calculation unit 201 which becomes inoperable due to a defect is reduced, thereby achieving the WSI. By using WSI, it becomes possible to realize a large-scale neural network faster and more compactly than before.

【0021】ニューロン間が完全結合しているニューラ
ルネットでは、ニューロン数をNとすると、1回の
(1)式、(2)式の計算を行うのに必要な重み付けの
回数は約N2個となる。時分割バス結合方式では、N個
の重み付け回路が同時に動作するため、計算時間はO
(N)となり、高速に大規模なニューラルネットを計算
することができる。
In a neural network in which neurons are completely connected, assuming that the number of neurons is N, the number of times of weighting required to perform one calculation of equations (1) and (2) is about N 2. Becomes In the time-division bus coupling method, N weighting circuits operate simultaneously, so the calculation time is O
(N), and a large-scale neural network can be calculated at high speed.

【0022】[0022]

【発明が解決しようとする課題】従来の技術で述べた時
分割バス結合方式において、前述のバックプロパゲーシ
ョンを行おうとした場合、逆方向の(3)〜(5)式の
計算では、関数δを計算するのに、ニューロンの出力先
における重み値が必要である。例えば、中間層のニュー
ロンjのδjを計算するには、出力層のニューロンkに
おけるニューロンjに対する重み値wkiが必要である。
しかし、前述のようにニューロンjを計算する計算ユニ
ット201 は、入力層のニューロンiに対する重み値wji
しか、保持していない。そのため、(5)式を並列に計
算することができず、δkkjを1個ずつ逐次に計算す
ることになる。そのため、順方向の計算を行うのに要す
る時間はO(N)となるにもかかわらず、逆方向の計算
に要する時間がO(N2 )となり、学習を高速に行えな
い問題がある。
In the time-division bus coupling method described in the prior art, when the above-mentioned back propagation is attempted, the function δ is calculated in the reverse equations (3) to (5). In order to calculate, the weight value at the output destination of the neuron is necessary. For example, in order to calculate δ j of the neuron j in the intermediate layer, the weight value w ki for the neuron j in the neuron k in the output layer is required.
However, the calculation unit 201 that calculates the neuron j as described above uses the weight value w ji for the neuron i in the input layer.
Only hold it. Therefore, equation (5) cannot be calculated in parallel, and δ k w kj must be calculated one by one. Therefore, although the time required to perform the forward calculation is O (N), the time required to perform the backward calculation is O (N 2 ), and there is a problem that the learning cannot be performed at high speed.

【0023】また、上記従来技術に記載したニューラル
ネット専用ハードウエアは、高速に学習を行なう機能を
有していない他、それをホストコンピュータに接続する
などして、情報処理システム全体として好適に動作させ
る点の開示はない。
The neural network dedicated hardware described in the above prior art does not have a function for performing high-speed learning, and it is preferably operated as the entire information processing system by connecting it to a host computer. There is no disclosure of the point.

【0024】本発明の目的は、高速学習可能なニューラ
ルネットにより構成される情報処理システムを実現する
ことであり、特に時分割バス結合方式とバックプロパゲ
ーションを組み合わせた情報処理システムを実現するこ
とにある。
An object of the present invention is to realize an information processing system composed of a neural network capable of high-speed learning, and in particular to realize an information processing system combining a time division bus coupling method and back propagation. is there.

【0025】本発明の他の目的は、以下の詳細な説明か
ら明らかになるであろう。
Other objects of the invention will be apparent from the detailed description below.

【0026】[0026]

【課題を解決するための手段】本発明の特徴の一つは、
学習機能を有するニューラルネットワークの情報処理シ
ステムそのものを構成することであり、データバスによ
り接続される半導体集積回路と、入力値を記憶する第1
のメモリと、出力の所望する値を記憶する第2のメモリ
と、出力値を記憶する第3のメモリと、これらを制御す
る制御回路を備えた情報処理システムであって、ニュー
ロンモデルを計算する機能ブロックからデータバスを介
して、自他の機能ブロックの少なくともいずれかへデー
タを転送する手段と、複数の入力値とそれらの入力値に
対する出力の所望する値に対して、ニューロンモデル間
の重みを修正する手段を有するものである。
One of the features of the present invention is:
A first aspect of the present invention is to configure an information processing system itself of a neural network having a learning function, and a semiconductor integrated circuit connected by a data bus and a first value storing input value.
, A second memory for storing a desired value of the output, a third memory for storing the output value, and a control circuit for controlling these, and calculates a neuron model. A means for transferring data from the functional block to at least one of the other functional blocks via the data bus, and a weight between neuron models for a plurality of input values and desired values of outputs corresponding to those input values. It has a means to correct.

【0027】他の特徴は、ウエハスケール集積回路を用
いて、学習機能を有するニューラルネットワークの情報
処理システムを構成するものである。
Another feature is that an information processing system of a neural network having a learning function is constructed by using a wafer scale integrated circuit.

【0028】他の特徴は、学習機能を有するニューラル
ネットワークの情報処理装置がホストコンピュータと接
続され、ホストコンピュータからの所期設定により、情
報処理装置の動作中はホストコンピュータを介在させず
に制御する手段を有するものである。
Another feature is that an information processing device of a neural network having a learning function is connected to a host computer, and is controlled by the host computer while the information processing device is operating without intervening the host computer. It has a means.

【0029】更に他の特徴は、学習機能を有するニュー
ラルネットワークの情報処理装置が、順方向の計算を行
う第1のネットワークと逆方向のδの計算を行う第2の
ネットワークを有し、各ネットワークは、それぞれの計
算を並列に行うのに都合が良いように重み値を保持し、
それらの修正はそれぞれのネットワークで行い、修正し
た結果を同じ重み値となるように構成した情報処理シス
テムである。
Still another feature is that the neural network information processing device having a learning function has a first network for performing forward calculation and a second network for performing reverse δ calculation, and each network Keeps the weight values so that it is convenient to perform each calculation in parallel,
These corrections are performed by the respective networks, and the information processing system is configured so that the correction results have the same weight value.

【0030】[0030]

【作用】本発明は、バックプロパゲーション学習アルゴ
リズムのような、順方向と逆方向の計算を行うニューラ
ルネットの学習を高速に行う専用計算機を用いた情報処
理システムに好適である。本発明では、(1)(2)式
の計算を順方向ネットワークで、(4)(5)式の計算
を逆方向ネットワークで行なう。各ニューロン間の重み
値は、2つのネットワークで同一の値で保持されてい
る。また、(3)式の修正値を計算するために必要な値
は、それぞれのネットワークで計算された値のどちらも
必要である。本発明では、2つのネットワーク間に通信
手段を設けることによって、それぞれの各ネットワーク
を構成するユニットが重み値を修正するのに必要な値を
得ることができ、それぞれで重み値を同一の値に修正す
ることを可能としている。順方向ネットワークでは、
(1)(2)式を並列に計算するのに好都合に構成し、
逆方向ネットワークでは(4)(5)式を並列に計算す
るのに好都合に構成している。また、(3)式の計算も
各ネットワークの各ユニットにおいて、並列に計算す
る。そのため、本発明を用いれば、前述の学習をO
(N)の計算時間で実行できる。
INDUSTRIAL APPLICABILITY The present invention is suitable for an information processing system using a dedicated computer such as a backpropagation learning algorithm that performs high speed learning of a neural network that performs forward and backward calculations. In the present invention, the equations (1) and (2) are calculated in the forward network, and the equations (4) and (5) are calculated in the backward network. The weight value between the neurons is held at the same value in the two networks. Further, both the values calculated in each network are necessary as the values necessary for calculating the corrected value of the equation (3). In the present invention, by providing the communication means between the two networks, it is possible to obtain the value necessary for the unit forming each network to correct the weight value, and set the weight value to the same value for each unit. It is possible to modify. In the forward network,
Conveniently constructing equations (1) and (2) in parallel,
The reverse network is conveniently configured to calculate equations (4) and (5) in parallel. The calculation of the equation (3) is also performed in parallel in each unit of each network. Therefore, if the present invention is used,
It can be executed in the calculation time of (N).

【0031】また、順方向と逆方向の計算をそれぞれ別
のネットワークにおいて計算するため、各計算ユニット
を小面積で実現できる。そのため、WSI化した場合、
1つの計算ユニットあたりの歩留まりを高くすることが
できる。
Further, since the calculation in the forward direction and the calculation in the reverse direction are calculated in different networks, each calculation unit can be realized in a small area. Therefore, in the case of WSI,
The yield per computing unit can be increased.

【0032】また、順方向の計算を行う計算ユニットと
逆方向の計算を行う計算ユニットは同一の回路構成とす
ることも可能で、設計工数を低減することができる。そ
のときは、どちらの計算ユニットとして動作させるか
は、制御信号によって決めることになる。そのため、W
SI化した場合も、一種類のWSIを設計し、製作すれ
ば良いので、低価格化できる。また、複数のWSIを用
意し、それらを接続すれば、より大規模なニューラルネ
ットを簡単に構成することができる。
Further, the calculation unit for performing the calculation in the forward direction and the calculation unit for performing the calculation in the reverse direction can have the same circuit configuration, and the number of design steps can be reduced. At that time, which calculation unit is to be operated depends on the control signal. Therefore, W
Even in the case of SI, it is sufficient to design and manufacture one type of WSI, so that the cost can be reduced. Further, by preparing a plurality of WSIs and connecting them, a larger-scale neural network can be easily constructed.

【0033】[0033]

【実施例】以下に、実施例を用いて本発明の詳細を説明
する。
EXAMPLES The present invention will be described in detail below with reference to examples.

【0034】図1は本発明の一実施例を示す図である。
図において、120F,121F,120B,121Bは計算ユニットで、1
23,124は制御回路である。各計算ユニットは制御回路12
3あるいは制御回路124と接続されている。130は制御信
号発生回路で、制御信号線142〜145に制御信号を出力す
る。各制御回路123,124は制御信号線142から制御信号を
入力する。140は出力バスである。128はバッファで、各
計算ユニットの出力値を出力バス140に出力するか、出
力バス140から分離するか、制御回路123,124よって制御
する。131は関数変換回路で、出力バス140から入力する
値に対して(1)式のシグモイド関数fで変換を行い出力
する。132は関数変換回路で、出力バス140から入力する
値に対して、シグモイド関数fの導関数f’に従って変
換し、出力する。125はセレクタで、制御信号線145の制
御信号によって、出力バス140または関数変換回路131の
出力または関数変換回路132の出力のうち1つを出力す
る。160は乗算器で、セレクタ125の出力に対し、定数η
を掛けて、出力する。127はセレクタで、制御信号線144
の制御信号によって、セレクタ125の出力または乗算器1
60の出力を出力する。150は外部入力端子で、141は入力
バスである。126はセレクタで、制御信号線143の制御信
号によって、セレクタ127の出力または外部入力端子150
から入力する信号を入力バス141に出力する。各計算ユ
ニットは入力バス141と接続し、入力バス141に出力され
る信号を入力することができる。また151は外部出力端
子で、入力バス141に出力される値を出力する。
FIG. 1 is a diagram showing an embodiment of the present invention.
In the figure, 120F, 121F, 120B, 121B are calculation units,
23 and 124 are control circuits. Each calculation unit has a control circuit 12
3 or connected to the control circuit 124. Reference numeral 130 is a control signal generation circuit that outputs control signals to the control signal lines 142 to 145. Each of the control circuits 123 and 124 inputs a control signal from the control signal line 142. 140 is an output bus. Reference numeral 128 denotes a buffer, which outputs the output value of each calculation unit to the output bus 140 or separates it from the output bus 140, and controls by the control circuits 123 and 124. Reference numeral 131 is a function conversion circuit, which converts the value input from the output bus 140 using the sigmoid function f of the equation (1) and outputs it. A function conversion circuit 132 converts a value input from the output bus 140 according to the derivative f ′ of the sigmoid function f and outputs the converted value. Reference numeral 125 denotes a selector that outputs one of the output of the output bus 140 or the function conversion circuit 131 or the output of the function conversion circuit 132 according to the control signal of the control signal line 145. 160 is a multiplier, which is a constant η with respect to the output of the selector 125.
Multiply and output. 127 is a selector and a control signal line 144
Output of selector 125 or multiplier 1 depending on the control signal of
Output 60 outputs. Reference numeral 150 is an external input terminal and 141 is an input bus. 126 is a selector, which outputs the selector 127 or the external input terminal 150 according to the control signal of the control signal line 143.
The signal input from is output to the input bus 141. Each calculation unit is connected to the input bus 141 and can input a signal output to the input bus 141. Reference numeral 151 denotes an external output terminal, which outputs a value output to the input bus 141.

【0035】図1は、(1)〜(5)式の演算を高速に
行う本発明の構成を示すものである。各計算ユニットの
詳細については、図7、図8、図9を用いて、後に述べ
る。図5に図1の構成の動作を詳しく示す。まず、図5
を用いて、本発明の動作についてニューロンjの動作を
中心に以下に説明する。なお、入力層は単に入力データ
を一時的に記憶する層として構成してもよいし、また図
5に示されるようにニューロモデルの計算ユニットとし
て構成してもよい。図5の各計算ユニットは図1の各計
算ユニットに対応しており、図1の計算ユニット120F,1
21F,120B,121Bは図5のそれぞれと対応している。計算
ユニット120F,121Fは順方向の動作を行う順方向ネット
ワークを構成しており、計算ユニット120B,121Bは逆方
向の動作を行う逆方向ネットワークを構成している。こ
こで、順方向ネットワークは(1)(2)式の計算を行
うネットワークのことであり、逆方向ネットワークとは
(4)(5)式の計算を行うネットワークのことであ
る。また、(3)式は各ネットワークにおいて計算す
る。
FIG. 1 shows the configuration of the present invention for performing the operations of the expressions (1) to (5) at high speed. Details of each calculation unit will be described later with reference to FIGS. 7, 8 and 9. FIG. 5 shows the operation of the configuration of FIG. 1 in detail. First, FIG.
The operation of the present invention will be described below with reference to the operation of the neuron j. The input layer may be simply configured as a layer for temporarily storing input data, or may be configured as a neuro model calculation unit as shown in FIG. The calculation units in FIG. 5 correspond to the calculation units in FIG. 1, and the calculation units 120F, 1 in FIG.
21F, 120B and 121B correspond to each of FIG. The calculation units 120F and 121F configure a forward network that performs a forward operation, and the calculation units 120B and 121B configure a reverse network that performs a backward operation. Here, the forward network is a network that performs calculations of equations (1) and (2), and the reverse network is a network that performs calculations of equations (4) and (5). The equation (3) is calculated in each network.

【0036】順方向ネットワークの中間層の計算ユニッ
トでは、入力層のニューロンiに対する重み値wjiを保
持しており、出力層の計算ユニットでは、中間層のニュ
ーロンjに対する重み値wkjを保持している。中間層の
計算ユニット120Fは、重み値wjiを保持している。ま
た、逆方向ネットワークの中間層の計算ユニットでは、
順方向ネットワークにおける出力層の計算ユニットが中
間層のニューロンjに対して持っている重み値wkjを保
持しており、逆方向ネットワークの入力層の計算ユニッ
トでは、順方向ネットワークにおける中間層の計算ユニ
ットが入力層のニューロンに対して持っている重み値w
jiを保持している。中間層の計算ユニット120Bは、重み
値wkjを保持している。順方向ネットワークが保持する
重み値wji,wkjと、逆方向ネットワークが保持する重み
値wji,wkjは対応しており、同じ値である。
The calculation unit in the middle layer of the forward network holds the weight value w ji for the neuron i in the input layer, and the calculation unit in the output layer holds the weight value w kj for the neuron j in the middle layer. ing. The calculation unit 120F in the middle layer holds the weight value w ji . Also, in the calculation unit in the middle layer of the reverse network,
The output layer calculation unit in the forward network holds the weight value w kj for the neuron j in the intermediate layer, and the input layer calculation unit in the backward network calculates the intermediate layer in the forward network. Weight value w that the unit has for neurons in the input layer
holding ji The calculation unit 120B in the middle layer holds the weight value w kj . Weight value w ji forward network held, and w kj, weights w ji of backward network holds, w kj corresponds, the same value.

【0037】順方向ネットワークでは、入力層から中間
層、出力層と各計算ユニットの出力xi、xj、xkが決
定していく。計算ユニット120Fは入力層の出力xi を入
力し、それに対する重み値wjiで重み付けを行い、内部
エネルギーuj を計算し、さらに非線形変換を行い、出
力値xj を出力する。次に、順方向ネットワークの出力
層の計算ユニットは中間層の出力xj を入力し、それに
対する重み値wkjで重み付けを行い、内部エネルギーu
k を計算し、さらに非線形変換を行い、出力値xk を出
力する。順方向ネットワークの各計算ユニットはそれぞ
れに対応する逆方向ネットワークの計算ユニットへそれ
ぞれの出力値xi、xj、xkを送信する。計算ユニット1
20Fは、計算ユニット120Bへ、その出力値xj を送信す
る。次に、順方向ネットワークの中間層と出力層の各計
算ユニットはそれぞれに対応する逆方向ネットワークの
計算ユニットへそれぞれの出力値xj、xkの微分xj'、
k'を送信する。計算ユニット120Fは出力値xj の微分
j'(=f'(uj))を計算ユニット120Bへ出力する。 次
に、順方向ネットワークの出力層の出力値xkが期待し
た値tkと異なる場合、重み値を修正する必要がある。
その動作を以下に説明する。
In the forward network, the outputs x i , x j and x k of each calculation unit from the input layer to the intermediate layer and the output layer are determined. The calculation unit 120F inputs the output x i of the input layer, weights it with the weight value w ji , calculates the internal energy u j , further performs nonlinear conversion, and outputs the output value x j . Next, the calculation unit of the output layer of the forward network inputs the output x j of the hidden layer, weights it with the weight value w kj , and outputs the internal energy u j.
k is calculated, nonlinear conversion is further performed, and the output value x k is output. Each computing unit of the forward network sends a respective output value x i , x j , x k to the corresponding computing unit of the reverse network. Calculation unit 1
20F sends its output value x j to the calculation unit 120B. Next, each calculation unit of the middle layer and the output layer of the forward network outputs to each corresponding calculation unit of the reverse network the derivative x j ′ of each output value x j , x k ,
send x k '. The calculation unit 120F outputs the derivative x j '(= f' (u j )) of the output value x j to the calculation unit 120B. Then, if the output value x k of the output layer of the forward network is different from the expected value t k , the weight value needs to be modified.
The operation will be described below.

【0038】逆方向ネットワークの出力層において、
(4)式に従い、δkを計算し、逆方向ネットワークの
中間層の各計算ユニットへ出力する。(4)式を計算す
るのに必要なxk'は既に入力している。逆方向ネットワ
ークは中間層の各計算ユニットは、δkを入力すると、
その値を用いて(3)式に従い、修正値Δwkjを計算
し、重み値wkjを変更する。また、逆方向ネットワーク
の出力層の各計算ユニットはそれぞれに対応する順方向
ネットワークの出力層の計算ユニットへそれぞれの出力
値δkを送信する。それにより、順方向ネットワークの
出力層の計算ユニットは、(3)式により修正値Δwkj
を計算し、重み値wkjを変更することができる。
At the output layer of the reverse network,
According to the equation (4), δ k is calculated and output to each calculation unit in the intermediate layer of the backward network. The x k ′ necessary for calculating the equation (4) has already been input. In the backward network, each calculation unit in the middle layer inputs δ k ,
Using the value, the correction value Δw kj is calculated according to the equation (3), and the weight value w kj is changed. Further, each calculation unit in the output layer of the reverse network sends the respective output value δ k to the corresponding calculation unit in the output layer of the forward network. Thereby, the calculation unit of the output layer of the forward network uses the modified value Δw kj according to the equation (3).
And the weight value w kj can be changed.

【0039】次に、逆方向ネットワークの出力層の各計
算ユニットの出力δkを出力し、それを入力する逆方向
ネットワークの中間層の計算ユニットはδkと重み値w
kjとの乗算を行い、(5)式に従って、δjを決定し、出力
する。(5)式を計算するのに必要なxj'は計算ユニット1
20Fから、既に入力している。逆方向ネットワークは入
力層の各計算ユニットは、δj を入力すると、その値を
用いて(3)式に従い、修正値Δwjiを計算し、重み値
jiを変更する。また、逆方向ネットワークの中間層の
各計算ユニットはそれぞれに対応する順方向ネットワー
クの中間層の計算ユニットへそれぞれのδj を送信す
る。順方向ネットワークの中間層の計算ユニットは、
(3)式により修正値Δwjiを計算し、重み値wjiを変
更することができる。
Next, the output δ k of each calculation unit in the output layer of the reverse direction network is output, and the calculation unit in the middle layer of the reverse direction network which inputs it outputs δ k and the weight value w.
Multiplies with kj , determines δ j according to equation (5), and outputs it. X j 'required to calculate equation (5) is the calculation unit 1
I have already entered from 20F. When the calculation unit in the input layer of the reverse direction network inputs δ j , the value is used to calculate the correction value Δw ji according to the equation (3) and change the weight value w ji . Also, each computation unit in the middle layer of the reverse network sends its respective δ j to the corresponding computation unit in the middle layer of the forward network. The calculation unit in the middle layer of the forward network is
The correction value Δw ji can be calculated by the equation (3) and the weight value w ji can be changed.

【0040】本発明は、以上に述べたように、(1)
(2)(4)(5)式におけるx,x'(=f'(u))をそ
れを高速に計算するのに好都合な順方向ネットワークに
おいて計算し、(4)(5)式におけるδをそれを高速
に計算するのに好都合な逆方向ネットワークにおいて計
算する。そして、(3)式におけるΔwは各ネットワー
クの各計算ユニットにおいて、それぞれが保持している
重み値wに対して計算する。順方向のネットワークの計
算ユニットでは、修正値Δwを計算するために、δが必
要であり、逆方向ネットワークの計算ユニットでは、δ
及びΔwを計算するために、x,x’が必要である。そ
のために、それぞれのネットワークで対応している計算
ユニット間では、データの通信が必要であるが、その通
信するデータ量はニューロン数に対応しており、それに
要する転送時間はO(N)であり、短時間で行うことが
できる。
As described above, the present invention provides (1)
Calculate x, x '(= f' (u)) in the equations (2), (4) and (5) in a forward network which is convenient for calculating it at high speed, and calculate δ in the equations (4) and (5). In the reverse network, which is convenient to compute it fast. Then, Δw in the equation (3) is calculated for each weight value w held in each calculation unit of each network. In the calculation unit of the forward network, δ is needed to calculate the correction value Δw, and in the calculation unit of the reverse network δ
X and x ′ are needed to calculate Δw and Δw. Therefore, it is necessary to communicate data between the calculation units corresponding to each network, but the amount of data to be communicated corresponds to the number of neurons, and the transfer time required for this is O (N). Can be done in a short time.

【0041】本図では、中間層を1層として説明した
が、複数の中間層から構成されるニューラルネットに対
しても、同様に学習を行うことができる。
In this figure, the intermediate layer is described as one layer, but the learning can be similarly performed for a neural network composed of a plurality of intermediate layers.

【0042】次に、図1を用いて、以上の動作のハード
ウェア上での実現方法について説明する。図6は、以上
の動作の流れを示す演算フロー図で、順方向ネットワー
クと逆方向ネットワークの計算ユニットの演算手順を示
している。順方向ネットワークの計算ユニットjは図1
及び図5の計算ユニット120Fであり、逆方向ネットワー
クの計算ユニットjは図1及び図5の計算ユニット120B
である。以下、図6に従い、図1を説明する。
Next, a method of realizing the above operation on hardware will be described with reference to FIG. FIG. 6 is a calculation flow chart showing the flow of the above operation, and shows the calculation procedure of the calculation units of the forward network and the backward network. The calculation unit j of the forward network is shown in FIG.
And the calculation unit 120F of FIG. 5 and the calculation unit j of the reverse network is the calculation unit 120B of FIG. 1 and FIG.
Is. Hereinafter, FIG. 1 will be described with reference to FIG.

【0043】各計算ユニットは入力するニューロンに対
する重み値をメモリに保持している。初めに、重み値w
の初期値を各計算ユニットに書き込む。計算ユニット12
0Fには、入力層のニューロンiに対する重み値wjiを書
き込む。計算ユニット120Bには、順方向ネットワークの
出力層の計算ユニットkが保持する中間層のニューロン
jに対する重み値と同じである重み値wkjを書き込む。
−動作1 次に、セレクタ126を外部入力端子150側を入力バス141
に出力するように設定し、外部入力端子150から順方向
ネットワークの入力層の各計算ユニットiへ入力値を書
き込む。−動作2 制御信号発生回路130は、セレクタ125を出力バス140を
出力するように設定し、セレクタ127をセレクタ125の出
力を出力するように設定し、セレクタ126をセレクタ127
の出力を出力するように、制御信号線143〜145に制御信
号を出力する。次に、制御信号発生回路130は制御信号
線142に、順方向ネットワークの入力層の計算ユニット
iのアドレスを出力する。制御回路123はアドレスをデ
コードし、もし、アドレスがその計算ユニットのアドレ
スと一致すれば、バッファ128をイネーブル状態とし、
順方向ネットワークの入力層の計算ユニットiの出力値
iを出力バス140に出力する。順方向ネットワークの入
力層の計算ユニットiは入力値を出力するだけである。
順方向ネットワークの中間層の計算ユニットjは入力バ
ス141から順方向ネットワークの入力層の出力xiを逐次
入力し、それに対する重み値wjiで重み付けを行い、そ
の積を累積加算していく。制御信号発生回路130が順方
向ネットワークの入力層の計算ユニットiのアドレスを
すべて指定すると中間層の各計算ユニットでは(2)式
の計算を行うことができ、その出力値ujが決定する。
Each calculation unit holds in memory the weight value for the input neuron. First, the weight value w
Write the initial value of to each calculation unit. Calculation unit 12
The weight value w ji for the neuron i in the input layer is written in 0F. The weight value w kj which is the same as the weight value for the neuron j in the intermediate layer held by the calculation unit k in the output layer of the forward network is written in the calculation unit 120B.
-Operation 1 Next, the selector 126 is connected to the external input terminal 150 side on the input bus 141.
And output the input value from the external input terminal 150 to each calculation unit i in the input layer of the forward network. -Operation 2 The control signal generation circuit 130 sets the selector 125 to output the output bus 140, sets the selector 127 to output the output of the selector 125, and sets the selector 126 to the selector 127.
The control signal is output to the control signal lines 143 to 145 so as to output the output. Next, the control signal generation circuit 130 outputs the address of the calculation unit i of the input layer of the forward network to the control signal line 142. The control circuit 123 decodes the address, and if the address matches the address of the calculation unit, the buffer 128 is enabled,
The output value x i of the calculation unit i in the input layer of the forward network is output to the output bus 140. The calculation unit i in the input layer of the forward network only outputs the input value.
The calculation unit j in the middle layer of the forward network sequentially inputs the outputs x i of the input layer of the forward network from the input bus 141, weights them with the weight value w ji , and cumulatively adds the products. When the control signal generation circuit 130 specifies all the addresses of the calculation unit i in the input layer of the forward network, each calculation unit in the intermediate layer can perform the calculation of equation (2), and the output value u j thereof is determined.

【0044】次に、制御信号発生回路130はセレクタ125
を関数変換回路131の出力を出力するように設定した
後、順方向ネットワークの中間層の計算ユニットのアド
レスを制御信号線142に出力する。アドレスを指定され
た計算ユニットはその出力値ujを出力バス140に出力す
る。非線形変換回路131は(1)式の変換を行い、xj (=
f(uj))を出力する。xj は入力バス141によって、順
方向ネットワークの出力層の計算ユニットkにブロード
キャストされる。出力層の計算ユニットkは入力バス14
1から中間層の出力xj を逐次入力し、それに対する重
み値wkjで重み付けを行い、その積を累積加算してい
く。制御信号発生回路130が順方向ネットワークの中間
層の計算ユニットjのアドレスをすべて指定すると出力
層の各計算ユニットkでは(2)式の計算を行うことが
でき、その出力値uk が決定する。−動作3 次に、制御信号発生回路130が順方向ネットワークの出
力層の計算ユニットkのアドレスを制御信号線142に出
力する。アドレスを指定された計算ユニットはその出力
値uk を出力バス140に出力する。その後、非線形変換
回路131によってxk (=f(uk))に変換され、セレク
タ125、セレクタ127、セレクタ126を通って、入力バス1
41に出力される。外部出力端子151から、その出力結果
を読むことができる。そして、出力層の出力値xkが期
待する出力値tkと一致していれば、学習を終了する。
一致しないときは、以下の動作を行なう。−動作4 制御信号発生回路130は、セレクタ125の出力を出力バス
140側とし、また、セレクタ127の出力を乗算器160側と
するように設定する。セレクタ127を乗算器160側に設定
し、セレクタ126をセレクタ127の出力を出力する。次
に、制御信号発生回路130は制御信号線142に、順方向ネ
ットワークの入力層の計算ユニットiのアドレスを出力
する。アドレスを指定された計算ユニットiの出力xi
はセレクタ125を通り、乗算器160に出力され、定数ηを
掛けて、η・xiに変換する。そして、セレクタ127、セ
レクタ126を通り、入力バス141へη・xiを出力する。逆
方向ネットワークの入力層の計算ユニットiはそれに対
応するη・xiが入力バス141へ出力されたとき、その値
を取り込む。次に、制御信号発生回路130は、セレクタ1
25の出力を関数変換回路131側とし、また、セレクタ127
の出力を乗算器160側とするように設定する。制御信号
発生回路130は、制御信号142に順方向ネットワークの中
間層の計算ユニットjのアドレスを出力する。アドレス
を指定された計算ユニットjの出力ujは関数変換回路1
31によってxjに変換され、セレクタ125を通り、乗算器
160に出力され、定数ηを掛けて、η・xjに変換する。
そして、セレクタ127、セレクタ126を通り、入力バス14
1へη・xjを出力する。逆方向ネットワークの中間層の
計算ユニットjはそれに対応するη・xjを入力する。例
えば、計算ユニット120Fの出力値uj は、関数変換回路1
31と乗算器160によって、η・xjに変換され、入力バス1
41に出力される。そのときに、計算ユニット120Bは、η
・xjを取り込む。−動作5 次に、制御信号発生回路130は、セレクタ125の出力を関
数変換回路132側とし、また、セレクタ127の出力をセレ
クタ125側とするように設定する。制御信号発生回路130
は、制御信号142に順方向ネットワークの中間層の計算
ユニットjと出力層の計算ユニットkのアドレスを出力
する。アドレスを指定された計算ユニットの出力uj
kは関数変換回路132によってxj'、xk'に変換し、セ
レクタ125、セレクタ127、セレクタ126を通り、入力バ
ス141へ出力する。逆方向ネットワーク中間層と出力層
の計算ユニットはそれに対応するxj'、xk'を入力する
ことができる。例えば、計算ユニット120Fの出力値uj
は、関数変換回路132xj'に変換され、入力バス141に出
力される。そのときに、計算ユニット120Bは、xj'を取
り込む。−動作6 次の動作では、逆方向ネットワークの出力層の計算ユニ
ットへ期待する出力値tkと先ほどの出力値xkの差(tk
−xk)をネットワークの外部からセットする。それ
は、ホストコンピュータが行ってもよいし、(tk
k)を計算する回路を設けてもよい。逆方向ネットワ
ークの出力層の計算ユニットkは、(4)式のδkの計算を
行なう。−動作7 次に、制御信号発生回路130は、出力バス140の出力を乗
算器160によって、η倍し、入力バス141に出力するよう
に、セレクタ125〜127を設定する。そして、逆方向ネッ
トワークの出力層の計算ユニットkのアドレスを制御信
号142へ出力する。アドレスを指定された各計算ユニッ
トの出力δk が乗算器160によってη倍され、入力バス1
41にη・δk が出力される。このとき、順方向ネットワ
ークの出力層の計算ユニットkは、入力バス141に自分
に対応する逆方向ネットワークの計算ユニットの出力η
・δk が出力されれば、内部に取り込む。−動作8 次に、制御信号発生回路130は、出力バス140の値が関数
変換回路131を通り、入力バス141に出力されるように、
セレクタ125〜127を設定した後、順方向ネットワークの
中間層の計算ユニットjのアドレスを制御信号142に出
力する。アドレスを指定された計算ユニットjは既に計
算済みの内部エネルギー値uj を出力する。その結果、
入力バス141には、関数変換された値xj が出力され
る。順方向ネットワークの出力層の各計算ユニットで
は、入力する値xj に対する重み値wkjの修正値Δwkj
を(3)式に従って、計算し、重み値wkjを修正する。
−動作9 次に、制御信号発生回路130は出力バス140の値がそのま
ま入力バス141に出力されるように、セレクタ125〜127
を設定した後、逆方向ネットワークの出力層の計算ユニ
ットkのアドレスを制御信号142に出力する。アドレス
を指定された計算ユニットは既に計算済みのδk を出力
する。その結果、δk は出力バス140、セレクタ125、セ
レクタ127、セレクタ126を通り、入力バス141に出力さ
れる。逆方向ネットワークの中間層の各計算ユニットで
は、入力する値δk に対する重み値wkjの修正値Δwkj
を(3)式に従って、計算し、重み値wkjを修正する。
−動作10 次に、制御信号発生回路130が逆方向ネットワークの出
力層の計算ユニットkのアドレスを指定する。アドレス
を指定された計算ユニットは既に計算済みのδk を出力
する。その結果、δk は出力バス140、セレクタ125、セ
レクタ127、セレクタ126を通り、入力バス141に出力さ
れる。逆方向ネットワークの中間層の各計算ユニットで
は、動作10において、修正された重み値wkjを用い、
(5)式に従い、δj を計算する。−動作11 次に、制御信号発生回路130は、出力バス140の出力を乗
算器160によって、η倍し、入力バス141に出力するよう
に、セレクタ125〜127を設定する。そして、逆方向ネッ
トワークの中間層の計算ユニットのアドレスを制御信号
142へ出力する。アドレスを指定された各計算ユニット
の出力δj が乗算器160によってη倍され、セレクタ12
7、セレクタ126を通り、入力バス141にη・δj が出力さ
れる。このとき、順方向ネットワークの中間層の計算ユ
ニットjは、入力バス141に自分に対応する逆方向ネッ
トワークの計算ユニットjの出力η・δj が出力されれ
ば、内部に取り込む。−動作12 次に、制御信号発生回路130は出力バス140の値が、入力
バス141に出力されるように、セレクタ125〜127を設定
した後、順方向ネットワークの入力層の計算ユニットi
のアドレスを制御信号142に出力する。アドレスを指定
された計算ユニットはxi を出力する。その結果、入力
バス141には、xi が出力される。順方向ネットワーク
の中間層の各計算ユニットでは、入力する値xi に対す
る重み値wjiの修正値Δwjiを(3)式に従って、計算
し、重み値wjiを修正する。−動作13 次に、制御信号発生回路130は出力バス140の値がそのま
ま入力バス141に出力されるように、セレクタ125〜127
を設定した後、逆方向ネットワークの中間層の計算jの
アドレスを制御信号142に出力する。アドレスを指定さ
れた計算ユニットは既に計算済みのδj を出力する。そ
の結果、δj は出力バス140、セレクタ125、セレクタ12
7、セレクタ126を通り、入力バス141に出力される。逆
方向ネットワークの入力層iの各計算ユニットでは、入
力する値δj に対する重み値wjiの修正値Δwji
(3)式に従って、計算し、重み値wjiを修正する。−
動作14その後、入力に対し、出力層の出力値xkが期待
する値tkとなるまで、以上の学習を繰り返す。
Next, the control signal generation circuit 130 operates the selector 125.
Is set to output the output of the function conversion circuit 131, and then the address of the calculation unit in the middle layer of the forward network is output to the control signal line 142. The addressed computing unit outputs its output value u j on the output bus 140. The non-linear conversion circuit 131 performs the conversion of the equation (1), and x j (=
f (u j )) is output. x j is broadcast by the input bus 141 to the computing unit k in the output layer of the forward network. The output layer calculation unit k is the input bus 14
The output x j of the intermediate layer is sequentially input from 1 and weighted with the weight value w kj for that, and the products are cumulatively added. When the control signal generation circuit 130 specifies all the addresses of the calculation unit j in the middle layer of the forward network, each calculation unit k in the output layer can perform the calculation of equation (2), and its output value u k is determined. .. -Operation 3 Next, the control signal generation circuit 130 outputs the address of the calculation unit k in the output layer of the forward network to the control signal line 142. The addressed computing unit outputs its output value u k on the output bus 140. After that, it is converted into x k (= f (u k )) by the non-linear conversion circuit 131, and passes through the selector 125, the selector 127, and the selector 126, and the input bus 1
It is output to 41. The output result can be read from the external output terminal 151. Then, if the output value x k of the output layer matches the expected output value t k , the learning ends.
If they do not match, the following operation is performed. -Operation 4 The control signal generation circuit 130 outputs the output of the selector 125 to the output bus.
It is set to the 140 side and the output of the selector 127 is set to the multiplier 160 side. The selector 127 is set on the multiplier 160 side, and the selector 126 outputs the output of the selector 127. Next, the control signal generation circuit 130 outputs the address of the calculation unit i of the input layer of the forward network to the control signal line 142. The output x i of the addressed computing unit i
Is output to the multiplier 160 through the selector 125, multiplied by a constant η, and converted into η · x i . Then, η · x i is output to the input bus 141 through the selector 127 and the selector 126. The calculation unit i in the input layer of the backward network takes in the value of η · x i when it is output to the input bus 141. Next, the control signal generation circuit 130 operates the selector 1
The output of 25 is the function conversion circuit 131 side, and the selector 127
The output of is set to the multiplier 160 side. The control signal generation circuit 130 outputs the address of the calculation unit j in the middle layer of the forward network as the control signal 142. The output u j of the address-specified calculation unit j is the function conversion circuit 1
It is converted into x j by 31 and passes through the selector 125 and the multiplier
It is output to 160, multiplied by a constant η, and converted into η · x j .
Then, through the selector 127 and the selector 126, the input bus 14
Output η · x j to 1. The calculation unit j in the middle layer of the backward network inputs the corresponding η · x j . For example, the output value u j of the calculation unit 120F is the function conversion circuit 1
31 and multiplier 160 convert to η · x j and input bus 1
It is output to 41. At that time, the calculation unit 120B
-Capture x j . -Operation 5 Next, the control signal generation circuit 130 sets the output of the selector 125 to the function conversion circuit 132 side and the output of the selector 127 to the selector 125 side. Control signal generation circuit 130
Outputs the address of the calculation unit j of the middle layer and the calculation unit k of the output layer of the forward network to the control signal 142. The output u j of the addressed computing unit,
The u k is converted into x j ′ and x k ′ by the function conversion circuit 132, passes through the selector 125, the selector 127, and the selector 126, and is output to the input bus 141. The calculation unit of the reverse network middle layer and the output layer can input the corresponding x j ′, x k ′. For example, the output value u j of the calculation unit 120F
Is converted into a function conversion circuit 132x j ', which is output to the input bus 141. At that time, the calculation unit 120B takes in x j '. -Operation 6 In the next operation, the difference (t k) between the output value t k expected of the calculation unit in the output layer of the reverse direction network and the output value x k obtained earlier is calculated.
-X k ) from outside the network. It may be done by the host computer or (t k
A circuit may be provided for calculating x k ). The calculation unit k in the output layer of the backward network calculates δ k in equation (4). -Operation 7 Next, the control signal generation circuit 130 sets the selectors 125 to 127 so that the output of the output bus 140 is multiplied by η by the multiplier 160 and output to the input bus 141. Then, the address of the calculation unit k in the output layer of the backward network is output to the control signal 142. The output δ k of each addressed computational unit is η multiplied by a multiplier 160 and the input bus 1
Η · δ k is output to 41. At this time, the calculation unit k of the output layer of the forward network outputs the output η of the calculation unit k of the backward network corresponding to itself to the input bus 141.
・ If δ k is output, capture it internally. -Operation 8 Next, the control signal generation circuit 130 causes the value of the output bus 140 to be output to the input bus 141 through the function conversion circuit 131.
After setting the selectors 125 to 127, the address of the calculation unit j in the middle layer of the forward network is output to the control signal 142. The addressed calculation unit j outputs the already calculated internal energy value u j . as a result,
The function-converted value x j is output to the input bus 141. In each calculation unit of the output layer of the forward network, the modified value Δw kj of the weight value w kj for the input value x j
Is calculated according to the equation (3), and the weight value w kj is corrected.
-Operation 9 Next, the control signal generation circuit 130 causes the selectors 125 to 127 to output the value of the output bus 140 to the input bus 141 as it is.
After setting, the address of the calculation unit k in the output layer of the reverse network is output to the control signal 142. The addressed calculation unit outputs the already calculated δ k . As a result, Δ k passes through the output bus 140, the selector 125, the selector 127, and the selector 126 and is output to the input bus 141. In each calculation unit in the middle layer of the backward network, the correction value Δw kj of the weight value w kj for the input value δ k
Is calculated according to the equation (3), and the weight value w kj is corrected.
-Operation 10 Next, the control signal generation circuit 130 specifies the address of the calculation unit k in the output layer of the reverse network. The addressed calculation unit outputs the already calculated δ k . As a result, Δ k passes through the output bus 140, the selector 125, the selector 127, and the selector 126, and is output to the input bus 141. In operation 10 each of the calculation units in the middle layer of the backward network uses the modified weight value w kj ,
Δ j is calculated according to the equation (5). -Operation 11 Next, the control signal generation circuit 130 sets the selectors 125 to 127 so that the output of the output bus 140 is multiplied by η by the multiplier 160 and output to the input bus 141. And the control signal to the address of the calculation unit in the middle layer of the reverse network.
Output to 142. The output δ j of each addressed calculation unit is multiplied by η by the multiplier 160 and the selector 12
7. η · δ j is output to the input bus 141 through the selector 126. At this time, if the output η · δ j of the calculation unit j of the reverse network corresponding to itself is output to the input bus 141, the calculation unit j of the middle layer of the forward network takes it in. -Operation 12 Next, the control signal generation circuit 130 sets the selectors 125 to 127 so that the value of the output bus 140 is output to the input bus 141, and then the calculation unit i of the input layer of the forward network.
The address of is output to the control signal 142. The addressed computing unit outputs x i . As a result, x i is output to the input bus 141. In each calculation unit of the middle layer of the forward network, the correction value Δw ji of the weight value w ji for the input value x i is calculated according to the equation (3), and the weight value w ji is corrected. -Operation 13 Next, the control signal generation circuit 130 selects the selectors 125 to 127 so that the value of the output bus 140 is output to the input bus 141 as it is.
, And outputs the address of the calculation j of the intermediate layer of the reverse direction network to the control signal 142. The addressed calculation unit outputs the already calculated δ j . As a result, δ j is output bus 140, selector 125, selector 12
7, output to the input bus 141 through the selector 126. In each calculation unit of the input layer i of the backward network, the correction value Δw ji of the weight value w ji for the input value δ j is calculated according to the equation (3), and the weight value w ji is corrected. −
Operation 14 After that, the above learning is repeated for the input until the output value x k of the output layer reaches the expected value t k .

【0045】本発明によれば、順方向及び逆方向のx及
びδの計算は各層において並列に動作し、それに要する
データの通信量もNに比例しているため、O(N)の時
間で、高速に学習することが可能である。
According to the present invention, the calculation of x and δ in the forward and backward directions operates in parallel in each layer, and the amount of data communication required for the calculation is proportional to N. Therefore, it takes O (N) time. It is possible to learn fast.

【0046】次に、図7、図8を用いて、順方向ネット
ワーク及び逆方向ネットワークを構成する計算ユニット
の詳細について、説明する。
Next, details of the calculation units forming the forward network and the backward network will be described with reference to FIGS. 7 and 8.

【0047】図7は順方向ネットワークを構成する計算
ユニットを示す図である。図7において、501は重み値
jiと(3)式におけるαΔwji(n) を記憶しおく、メモ
リである。503、504は加算器、502は乗算器である。51
1,512はラッチである。520は(3)式における前回の修正
値Δwji(n) をα倍する乗算器である。531〜534はセレ
クタである。540は入力バス141への接続端子である。55
0〜557は制御回路123が出力する制御信号の制御信号線
で、それぞれは、セレクタ534、メモリ501、ラッチ51
1、セレクタ531、セレクタ533、セレクタ532、ラッチ51
2、バッファ128を制御する。541は出力バス140への接続
端子である。接続関係を以下に説明する。
FIG. 7 is a diagram showing a calculation unit forming a forward network. In FIG. 7, 501 is a memory for storing the weight value w ji and αΔw ji (n) in the equation (3). Reference numerals 503 and 504 are adders, and 502 is a multiplier. 51
1, 512 are latches. Reference numeral 520 is a multiplier for multiplying the previous correction value Δw ji (n) in the equation (3) by α. 531 to 534 are selectors. 540 is a connection terminal to the input bus 141. 55
Reference numerals 0 to 557 are control signal lines for control signals output by the control circuit 123, which are the selector 534, the memory 501, and the latch 51.
1, selector 531, selector 533, selector 532, latch 51
2. Control the buffer 128. 541 is a connection terminal to the output bus 140. The connection relationship will be described below.

【0048】ラッチ511は入力バス接続端子540から入力
する信号を保持する。セレクタ531はメモリ501の出力で
ある重み値wjiとラッチ511の出力を入力している。乗
算器502はセレクタ531の出力と入力バス接続端子540を
入力している。加算器503は乗算器502の出力とメモリ50
1の出力であるαΔwji(n) を入力する。セレクタ532は
乗算器502の出力と加算器503の出力を入力する。加算器
504はセレクタ532の出力とセレクタ533の出力を入力す
る。ラッチ512は加算器504の出力を保持する。バッファ
128はラッチ512の出力を入力し、出力バス接続端子541
に出力する。セレクタ533はラッチ512の出力とメモリ50
1の出力である重み値wjiを入力する。乗算器520は加算
器503の出力を入力する。セレクタ534は入力バス接続端
子540から入力する信号と加算器504の出力を入力する。
メモリ501はセレクタ534の出力を重み値wji側、乗算器
520の出力をαΔwji(n) 側書き込みデータとして入力
する。また、メモリ501はアクセス時のアドレスを制御
回路123から入力する。
The latch 511 holds a signal input from the input bus connection terminal 540. The selector 531 inputs the weight value w ji which is the output of the memory 501 and the output of the latch 511. The multiplier 502 inputs the output of the selector 531 and the input bus connection terminal 540. The adder 503 is the output of the multiplier 502 and the memory 50.
Input αΔw ji (n) which is the output of 1. The selector 532 inputs the output of the multiplier 502 and the output of the adder 503. Adder
504 inputs the output of the selector 532 and the output of the selector 533. The latch 512 holds the output of the adder 504. buffer
128 inputs the output of latch 512, and output bus connection terminal 541
Output to. Selector 533 is the output of latch 512 and memory 50
The weight value w ji that is the output of 1 is input. The multiplier 520 inputs the output of the adder 503. The selector 534 inputs the signal input from the input bus connection terminal 540 and the output of the adder 504.
The memory 501 outputs the output of the selector 534 to the weight value w ji side, the multiplier
The output of 520 is input as write data on the αΔw ji (n) side. Further, the memory 501 inputs the address at the time of access from the control circuit 123.

【0049】動作1の重み値wjiの初期値を書き込むと
きは、入力バス接続端子540に初期値を与え、セレクタ5
34の出力を入力バス接続端子540側とすれば、メモリ501
に書き込むことができる。
When writing the initial value of the weight value w ji of the operation 1, the initial value is given to the input bus connection terminal 540 and the selector 5
If the output of 34 is the input bus connection terminal 540 side, the memory 501
Can be written on.

【0050】(2)式の計算を行なうときは、以下のよ
うに行なう。セレクタ531の出力をメモリ501の重み値w
ji出力側とする。入力バス接続端子540に入力する入力
値xiを入力する。乗算器502によって、積wjiiを行
なう。セレクタ532は乗算器502側を出力する。セレクタ
533はラッチ512側を出力する。加算器504はそれまでの
累積加算結果であるラッチ512の出力と積wjiiを加算
し、ラッチ512に書き込む。以上の動作を次々と、入力
バス接続端子540に入力する入力値xiに対して重み値w
jiを変えて行なえば、(2)式を計算することができる。
The calculation of equation (2) is performed as follows. The output of the selector 531 is set to the weight value w of the memory 501.
ji Output side. The input value x i input to the input bus connection terminal 540 is input. The product w ji x i is performed by the multiplier 502. The selector 532 outputs the multiplier 502 side. selector
The 533 outputs the latch 512 side. The adder 504 adds the output of the latch 512, which is the cumulative addition result up to that point, and the product w ji x i , and writes the result into the latch 512. The above operation is performed one after another, with respect to the input value x i input to the input bus connection terminal 540, the weight value w
Equation (2) can be calculated by changing ji .

【0051】逆方向ネットワークから入力するηδj
入力バス接続端子540から入力してラッチ511に書き込
む。
The ηδ j input from the reverse network is input from the input bus connection terminal 540 and written in the latch 511.

【0052】(3)式の計算を行なうときは、以下のよ
うに行なう。セレクタ531はラッチ511側を出力する。入
力バス接続端子540に入力する入力値xiを入力する。乗
算器502によって、ηδjiを計算する。加算器503によ
って、メモリ501の出力αΔwji(n) と乗算器502の出力
ηδjiの加算を行ない、修正値Δwji(n+1)を計算す
る。セレクタ532は加算器503側を出力する。セレクタ53
3はメモリ501の重み値wji出力側を出力する。加算器50
4はセレクタ533の出力の前回の重み値wji(n)とセレク
タ532の出力Δwji(n+1)を加算し、修正した重み値wji
(n+1)を出力する。セレクタ534は加算器504側を出力す
る。また、加算器503の出力Δwji(n+1)は乗算器520に
よってα倍する。そして、メモリ501にセレクタ534の出
力の修正した重み値wji(n+1)と乗算器520の出力αΔw
ji(n+1)を書き込む。以上の動作を次々と、入力バス接
続端子540に入力する入力値xiに対して行なえば、すべ
ての重み値wji(n+1)を修正することができる。
The calculation of equation (3) is performed as follows. The selector 531 outputs the latch 511 side. The input value x i input to the input bus connection terminal 540 is input. The multiplier 502 calculates ηδ j x i . The adder 503 adds the output αΔw ji (n) of the memory 501 and the output ηδ j x i of the multiplier 502 to calculate a corrected value Δw ji (n + 1). The selector 532 outputs the adder 503 side. Selector 53
3 outputs the weight value w ji output side of the memory 501. Adder 50
4 adds the output [Delta] w ji of the previous weight value w ji of the output of the selector 533 (n) and a selector 532 (n + 1), the weight value w ji that fixes
Output (n + 1). The selector 534 outputs the adder 504 side. Further, the output Δw ji (n + 1) of the adder 503 is multiplied by α by the multiplier 520. Then, the corrected weight value w ji (n + 1) of the output of the selector 534 and the output αΔw of the multiplier 520 are stored in the memory 501.
Write ji (n + 1). All the weight values w ji (n + 1) can be corrected by successively performing the above operation for the input value x i input to the input bus connection terminal 540.

【0053】図8は逆方向ネットワークを構成する計算
ユニットを示す図である。図8において、601は重み値
kjと(3)式におけるαΔwkj(n) を記憶しおく、メモ
リである。603、604は加算器、602は乗算器である。611
〜615はラッチである。620は(3)式における前回の修正
値Δwkj(n) をα倍する乗算器である。631〜634,636は
セレクタである。640は入力バス接続端子である。650〜
659、661、662は制御回路124が出力する制御信号の制御
信号線で、それぞれは、セレクタ636、ラッチ613、ラッ
チ612、ラッチ611、メモリ601、セレクタ631、セレクタ
632、セレクタ634、セレクタ633、ラッチ614、ラッチ61
5、バッファ128を制御する。641は出力バス接続端子で
ある。接続関係を以下に説明する。ラッチ611〜613は入
力バス接続端子640から入力する信号を入力する。セレ
クタ631はメモリ601の重み値wkj出力とラッチ611の出
力とラッチ612の出力を入力している。セレクタ632は入
力バス接続端子640から入力する信号とラッチ613の出力
とラッチ614の出力を入力する。乗算器602はセレクタ63
1の出力とセレクタ632の出力を入力する。加算器603は
メモリ601のαΔwkj(n) 出力と乗算器602の出力を入力
する。セレクタ633は加算器603の出力と乗算器602の出
力を入力する。加算器604はセレクタ634の出力とセレク
タ633の出力を入力する。ラッチ614は加算器604の出力
を入力する。セレクタ634はラッチ614の出力とメモリ60
1の重み値wkj出力を入力している。乗算器620は加算器
603の出力を入力する。セレクタ636は入力バス接続端子
640から入力する信号と加算器604の出力を入力する。メ
モリ601はセレクタ636の出力を重み値wkj側、乗算器62
0の出力をαΔwkj(n) 側書き込みデータとして入力す
る。また、メモリ601はアクセス時のアドレスを制御回
路124から入力する。ラッチ615は乗算器602の出力を入
力する。バッファ128はラッチ615の出力を入力し、出力
バス接続端子641に出力する。
FIG. 8 is a diagram showing a calculation unit forming a reverse network. In FIG. 8, 601 is a memory for storing the weight value w kj and αΔw kj (n) in the equation (3). Reference numerals 603 and 604 are adders, and 602 is a multiplier. 611
~ 615 is a latch. Reference numeral 620 is a multiplier for multiplying the previous correction value Δw kj (n) in the equation (3) by α. 631-634,636 are selectors. 640 is an input bus connection terminal. 650 ~
Reference numerals 659, 661, and 662 are control signal lines for control signals output from the control circuit 124. Each of them is a selector 636, a latch 613, a latch 612, a latch 611, a memory 601, a selector 631, and a selector 631.
632, selector 634, selector 633, latch 614, latch 61
5, control the buffer 128. 641 is an output bus connection terminal. The connection relationship will be described below. The latches 611 to 613 input the signal input from the input bus connection terminal 640. The selector 631 inputs the weight value w kj output of the memory 601, the output of the latch 611, and the output of the latch 612. The selector 632 inputs the signal input from the input bus connection terminal 640, the output of the latch 613, and the output of the latch 614. Multiplier 602 is selector 63
Input the output of 1 and the output of selector 632. The adder 603 inputs the αΔw kj (n) output of the memory 601 and the output of the multiplier 602. The selector 633 inputs the output of the adder 603 and the output of the multiplier 602. The adder 604 inputs the output of the selector 634 and the output of the selector 633. The latch 614 inputs the output of the adder 604. Selector 634 is the output of latch 614 and memory 60
The weight value w kj output of 1 is input. The multiplier 620 is an adder
Input the output of 603. Selector 636 is an input bus connection terminal
The signal input from 640 and the output of the adder 604 are input. The memory 601 outputs the output of the selector 636 to the weight value w kj side and the multiplier 62.
The output of 0 is input as write data on the αΔw kj (n) side. Further, the memory 601 inputs the address at the time of access from the control circuit 124. The latch 615 inputs the output of the multiplier 602. The buffer 128 inputs the output of the latch 615 and outputs it to the output bus connection terminal 641.

【0054】重み値wkjの初期値を書き込むときは、入
力バス接続端子640に初期値を与え、セレクタ636の出力
を入力バス接続端子640側とすれば、書き込むことがで
きる。
When writing the initial value of the weight value w kj , the initial value can be given to the input bus connection terminal 640 and the output of the selector 636 can be written on the input bus connection terminal 640 side.

【0055】逆方向ネットワークから入力するηxj
入力バス接続端子640から入力してラッチ611に書き込
む。xj'(=f'(uj))も入力バス接続端子640から入力して
ラッチ612に書き込む。
The η x j input from the reverse network is input from the input bus connection terminal 640 and written in the latch 611. x j '(= f' (u j )) is also input from the input bus connection terminal 640 and written in the latch 612.

【0056】また、出力層の計算ユニットとして動作さ
せるときに必要な出力値と期待する出力値の差(tk
k)は入力バス接続端子640から入力してラッチ613に
書き込む。出力層の計算ユニットでは、δk を計算する
のに以下の動作を行なう。
Further, the difference (t k
x k ) is input from the input bus connection terminal 640 and written in the latch 613. The output layer calculation unit performs the following operations to calculate δ k .

【0057】セレクタ631はラッチ612側を出力する。セ
レクタ632はラッチ613側を出力する。乗算器602ではラ
ッチ612の出力値xk'(=f'(uk))とラッチ613の出力値
(tk−xk)の乗算を行ない、(4)式のδkを出力する。
ラッチ615は乗算器602の出力δkを取り込み、バッファ1
28へ出力する。出力バス接続端子641には、δk が出力
される。
The selector 631 outputs the latch 612 side. The selector 632 outputs the latch 613 side. The multiplier 602 multiplies the output value x k ′ (= f ′ (u k )) of the latch 612 and the output value (t k −x k ) of the latch 613, and outputs δ k of the equation (4).
Latch 615 takes the output δ k of multiplier 602 and outputs it to buffer 1
Output to 28. Δ k is output to the output bus connection terminal 641.

【0058】出力層の計算ユニットでは、(5)式のδj
を計算するのに以下の動作を行なう。
In the calculation unit of the output layer, δ j in equation (5)
Perform the following operations to calculate

【0059】セレクタ631はメモリ601の重み値wkj側を
出力する。セレクタ632は入力バス接続端子640側を出力
する。入力バス接続端子640に出力層の出力δkを入力す
る。乗算器602によって積δkkjを出力する。セレクタ
633は乗算器602側を出力する。セレクタ634はラッチ614
側を出力する。加算器604はそれまでの累積加算結果で
あるラッチ614の出力と積δkkjを加算し、ラッチ614
に書き込む。以上の動作を次々と、入力バス接続端子64
0に入力する入力値δkに対して行なえば、(2)式のΣδk
kjを計算することができる。次にセレクタ631はラッ
チ612側を出力する。セレクタ632はラッチ614側を出力
する。乗算器602はラッチ612の出力xj'(=f'(uj))とラ
ッチ614の出力Σδkkjの乗算を行ない、δjを出力す
る。ラッチ615は乗算器602の出力δj を取り込み、バッ
ファ128へ出力する。出力バス接続端子641には、δj
出力される。
The selector 631 outputs the weight value w kj side of the memory 601. The selector 632 outputs the input bus connection terminal 640 side. The output δ k of the output layer is input to the input bus connection terminal 640. The multiplier 602 outputs the product δ k w kj . selector
633 outputs on the multiplier 602 side. Selector 634 has latch 614
Output side. The adder 604 adds the output of the latch 614, which is the cumulative addition result up to that time, and the product δ k w kj , and the latch 614
Write in. Input bus connection terminal 64
For input value δ k input to 0, Σδ k in Eq. (2)
w kj can be calculated. Next, the selector 631 outputs the latch 612 side. The selector 632 outputs the latch 614 side. The multiplier 602 multiplies the output x j '(= f' (u j )) of the latch 612 and the output Σδ k w kj of the latch 614 and outputs δ j . The latch 615 takes in the output δ j of the multiplier 602 and outputs it to the buffer 128. Δ j is output to the output bus connection terminal 641.

【0060】(3)式の計算を行なうときは、逆方向ネ
ットワークの中間層では以下のように行なう。セレクタ
631はラッチ611側を出力する。入力バス接続端子640に
入力する入力値δkを入力する。乗算器602によって、η
jδkを計算する。加算器603によって、メモリ601の出
力αΔwkj(n) と乗算器602の出力ηxjδkの加算を行
ない、修正値Δwkj(n+1)を計算する。セレクタ633は加
算器603側を出力する。セレクタ634はメモリ601の重み
値wkj出力側を出力する。加算器604はセレクタ634の出
力の前回の重み値wkj(n) とセレクタ633の出力Δw
kj(n+1)を加算し、修正した重み値wkj(n+1)を出力す
る。セレクタ636は加算器604側を出力する。また、加算
器603の出力Δwkj(n+1)は乗算器620によってα倍す
る。そして、メモリ601にセレクタ636の出力の修正した
重み値wkj(n+1)と乗算器620の出力αΔwkj(n+1)を書
き込む。以上の動作を次々と、入力バス接続端子640に
入力する入力値δkに対して行なえば、すべての重み値
kj(n+1)を修正することができる。逆方向ネットワー
クの入力層においても、同様に重み値wjiを修正するこ
とができる。
The calculation of the equation (3) is performed as follows in the intermediate layer of the backward network. selector
631 outputs the latch 611 side. The input value δ k to be input to the input bus connection terminal 640 is input. By the multiplier 602, η
Calculate x j δ k . By the adder 603 performs addition of the output ηx j δ k of the output of the memory 601 αΔw kj (n) and the multiplier 602 calculates a correction value Δw kj (n + 1). The selector 633 outputs the adder 603 side. The selector 634 outputs the weight value w kj output side of the memory 601. The adder 604 determines the previous weight value w kj (n) of the output of the selector 634 and the output Δw of the selector 633.
kj (n + 1) is added and the corrected weight value w kj (n + 1) is output. The selector 636 outputs the adder 604 side. The output Δw kj (n + 1) of the adder 603 is multiplied by α by the multiplier 620. Then, the corrected weight value w kj (n + 1) of the output of the selector 636 and the output αΔw kj (n + 1) of the multiplier 620 are written in the memory 601. All the weight values w kj (n + 1) can be corrected by successively performing the above operation on the input value δ k input to the input bus connection terminal 640. The weight value w ji can be similarly corrected in the input layer of the backward network.

【0061】以上のように、本発明は、順方向ネットワ
ークの出力層の計算ユニットと逆方向ネットワークの中
間層の計算ユニットは同じ重み値wkj(n)を持つが、そ
の修正はその重み値を持つ計算ユニットがそれぞれで行
なう。修正を行なった重み値wkj(n+1)は同じ値とな
る。同様に、順方向ネットワークの中間層の計算ユニッ
トと逆方向ネットワークの入力層の計算ユニットは同じ
重み値wji(n)を持つが、その修正はその重み値を持つ
計算ユニットがそれぞれで行なう。修正を行なった重み
値wji(n+1)は同じ値となる。
As described above, according to the present invention, the calculation unit of the output layer of the forward network and the calculation unit of the intermediate layer of the reverse network have the same weight value w kj (n), but the modification is to adjust the weight value. Computation unit with has each done. The corrected weight value w kj (n + 1) becomes the same value. Similarly, the calculation unit in the middle layer of the forward network and the calculation unit in the input layer of the reverse network have the same weight value w ji (n), but the correction is performed by each calculation unit having that weight value. The corrected weight value w ji (n + 1) becomes the same value.

【0062】次に図9を説明する。図9は図8の計算ユ
ニットにセレクタ635とそれを制御する制御線660を加え
たものである。122は制御回路である。セレクタ635はラ
ッチ614の出力と乗算器602の出力を入力する。ラッチ61
5はセレクタ635の出力を入力する。その他は図8と同じ
である。セレクタ635の出力を乗算器602側とすれば、図
7と同様の動作が可能であり、逆方向ネットワークの計
算ユニットとすることができる。また、セレクタ635の
出力をラッチ614側と設定し、図7における、ラッチ51
1、セレクタ531、乗算器502、加算器503、セレクタ53
2、加算器504、ラッチ512、セレクタ533、乗算器520、
セレクタ534、メモリ501を図9のラッチ611、セレクタ6
31、乗算器602、加算器603、セレクタ633、加算器604、
ラッチ614、セレクタ634、乗算器620、セレクタ636、メ
モリ601に対応させれば、順方向ネットワークの計算ユ
ニットとすることができる。即ち、本発明を実施するの
に、図7と図8の2つの計算ユニットを設計する必要は
なく、図9の計算ユニットを設計すればよい。そのよう
な場合、設計工数を大幅に低減することができる。
Next, FIG. 9 will be described. FIG. 9 shows the calculation unit of FIG. 8 with a selector 635 and a control line 660 for controlling the selector 635 added. 122 is a control circuit. The selector 635 inputs the output of the latch 614 and the output of the multiplier 602. Latch 61
5 inputs the output of the selector 635. Others are the same as those in FIG. If the output of the selector 635 is on the multiplier 602 side, the same operation as in FIG. 7 can be performed, and the calculation unit of the reverse network can be realized. Further, the output of the selector 635 is set to the latch 614 side, and the latch 51 shown in FIG.
1, selector 531, multiplier 502, adder 503, selector 53
2, adder 504, latch 512, selector 533, multiplier 520,
The selector 534, the memory 501, the latch 611 and the selector 6 in FIG.
31, multiplier 602, adder 603, selector 633, adder 604,
If it corresponds to the latch 614, the selector 634, the multiplier 620, the selector 636, and the memory 601, then it can be used as a forward network calculation unit. That is, in order to carry out the present invention, it is not necessary to design the two calculation units shown in FIGS. 7 and 8, but the calculation unit shown in FIG. 9 may be designed. In such a case, the design man-hour can be reduced significantly.

【0063】以上のように、本発明の一実施例によれ
ば、集積回路上で実現することができるため、高速に学
習するニューラルネットを実現することができる。
As described above, according to one embodiment of the present invention, since it can be realized on an integrated circuit, it is possible to realize a neural network for learning at high speed.

【0064】次に、図10を説明する。図10におい
て、1、2はウェハ、700は機能ブロックである。710〜71
2はセレクタである。701は制御信号発生回路であり、図
1の制御信号発生回路130の機能にセレクタ710〜712を
制御する機能を加えている。720は入力端子、730は出力
端子である。721〜725は制御信号線である。機能ブロッ
ク700は図9で構成することができる。ウェハ1、2内の
ネットワークは図1に対応している。セレクタ711はウ
ェハ1の図1における外部出力端子151と入力端子720の
入力する信号を入力し、ウェハ2の図1における外部入
力端子150に出力する。セレクタ710は入力端子720の入
力する信号とウェハ2の図1における外部出力端子151を
入力し、ウェハ1の図1における外部入力端子150に出力
する。セレクタ712はウェハ1の外部出力端子151とウェ
ハ2の外部出力端子151を入力し、外部出力端子730に出
力する。制御信号発生回路701は制御信号線723〜725を
通して、セレクタ710〜712へ制御信号を出力する。ま
た、制御信号線721、722によって、ウェハ1、2を制御す
る。ウェハ1の入力バス141の信号はセレクタ711を通し
て、ウェハ2の入力バス141へ送ることができる。同様に
ウェハ2からウェハ1へ送ることもできる。また、外部入
力端子720に入力する信号をセレクタ710、711を通し
て、ウェハ1、2の入力バス141へ送ることができる。
Next, FIG. 10 will be described. In FIG. 10, 1 and 2 are wafers, and 700 is a functional block. 710-71
2 is a selector. Reference numeral 701 denotes a control signal generation circuit, which has a function of controlling the selectors 710 to 712 added to the function of the control signal generation circuit 130 of FIG. 720 is an input terminal and 730 is an output terminal. 721 to 725 are control signal lines. The functional block 700 can be configured in FIG. The network in wafers 1 and 2 corresponds to FIG. The selector 711 inputs the signals input from the external output terminal 151 and the input terminal 720 of the wafer 1 in FIG. 1 and outputs the signals to the external input terminal 150 of the wafer 2 in FIG. The selector 710 inputs the signal input from the input terminal 720 and the external output terminal 151 in FIG. 1 of the wafer 2 and outputs the signal to the external input terminal 150 in FIG. 1 of the wafer 1. The selector 712 inputs the external output terminal 151 of the wafer 1 and the external output terminal 151 of the wafer 2 and outputs them to the external output terminal 730. The control signal generation circuit 701 outputs control signals to the selectors 710 to 712 through the control signal lines 723 to 725. Further, the control signal lines 721 and 722 control the wafers 1 and 2. The signal on the input bus 141 of the wafer 1 can be sent to the input bus 141 of the wafer 2 through the selector 711. Similarly, the wafer 2 can be sent to the wafer 1. Further, a signal input to the external input terminal 720 can be sent to the input bus 141 of the wafers 1 and 2 through the selectors 710 and 711.

【0065】以上のようにウェハ間を簡単に接続するこ
とでき、非常に大規模なニューラルネットを高速に学習
することができる。
As described above, wafers can be easily connected, and a very large-scale neural network can be learned at high speed.

【0066】また、ウェハ1で順方向ネットワークを構
成し、ウェハ2で逆方向ネットワークを構成することに
より、(3)式における重み値の修正を各ネットワーク
で同時に行なうことができるため、より、高速に学習を
行なえる。
Further, since the wafer 1 constitutes the forward network and the wafer 2 constitutes the reverse network, the weight values in the equation (3) can be corrected simultaneously in each network, and therefore the speed can be further increased. Can learn.

【0067】また、本図では、2枚のウェハの接続を示
す図であるが、3枚以上の接続も簡単な修正で行なうこ
とができる。
Further, in this figure, the connection of two wafers is shown, but the connection of three or more wafers can be made by a simple correction.

【0068】また、図1の構成をそのままウェハ上に構
成してもよい。また、さらに複数のウェハにより、各ネ
ットワークを構成することもできる。
Further, the structure of FIG. 1 may be directly formed on the wafer. Further, each network can be configured by a plurality of wafers.

【0069】次に、図11を説明する。図11におい
て、880,890は機能ブロックである。801〜803,812〜814
はセレクタである。機能ブロック880を図7で、機能ブ
ロック890を図8で構成することができる。また、機能
ブロック880,890は図9で構成することができる。850,8
60は出力バス、851,861は入力バスである。160a,160bは
乗算器である。本図では左側のネットワークは順方向ネ
ットワークを、右側は逆方向ネットワーク対応してい
る。本図には制御信号発生回路及び制御信号線を明記し
ないが、図1、図10と同様な構成とすることで、各機
能ブロックや各セレクタを制御することができる。
Next, FIG. 11 will be described. In FIG. 11, 880 and 890 are functional blocks. 801-803,812-814
Is a selector. The function block 880 can be configured in FIG. 7 and the function block 890 can be configured in FIG. Further, the function blocks 880 and 890 can be configured in FIG. 850,8
60 is an output bus, and 851 and 861 are input buses. 160a and 160b are multipliers. In the figure, the network on the left corresponds to the forward network, and the network on the right corresponds to the reverse network. Although the control signal generation circuit and the control signal line are not shown in the figure, each functional block and each selector can be controlled by using the same configuration as that in FIGS. 1 and 10.

【0070】順方向ネットワークでは、各機能ブロック
880の出力は出力バス850に出力される。関数変換回路13
1、132は出力バス850を入力し、それぞれにおいて関数
変換し、出力する。セレクタ801は出力バス850の出力と
関数変換回路131、132の出力を入力し、そのうち1つを
出力する。セレクタ802はセレクタ801の出力と逆方向ネ
ットワークの出力バス860を入力する。乗算器160aはセ
レクタ802の出力を入力し、定数η倍して出力する。セ
レクタ803はセレクタ801の出力と乗算器160の出力を入
力し、入力バス851に出力する。各機能ブロック880は入
力バス851に出力される値を入力することができる。逆
方向ネットワークでは、各機能ブロック890の出力は出
力バス860に出力される。セレクタ812は出力バス860と
順方向ネットワークのセレクタ801の出力を入力する。
乗算器160bはセレクタ812の出力を入力し、定数η倍し
て出力する。セレクタ814はセレクタ812の出力と乗算器
160bの出力を入力する。セレクタ813は出力バス860とセ
レクタ814の出力を入力し、入力バス861に出力する。
In the forward network, each functional block
The output of 880 is output to output bus 850. Function conversion circuit 13
1, 132 input the output bus 850, perform function conversion in each, and output. The selector 801 inputs the output of the output bus 850 and the outputs of the function conversion circuits 131 and 132, and outputs one of them. The selector 802 inputs the output of the selector 801 and the output bus 860 of the reverse network. The multiplier 160a receives the output of the selector 802, multiplies it by a constant η, and outputs it. The selector 803 inputs the output of the selector 801 and the output of the multiplier 160 and outputs them to the input bus 851. Each function block 880 can input the value output to the input bus 851. In the reverse network, the output of each functional block 890 is output to output bus 860. The selector 812 inputs the output bus 860 and the output of the forward network selector 801.
The multiplier 160b receives the output of the selector 812, multiplies it by a constant η, and outputs it. Selector 814 is the output of selector 812 and the multiplier
Input the output of 160b. The selector 813 inputs the output of the output bus 860 and the output of the selector 814 and outputs it to the input bus 861.

【0071】本図の構成では、順方向ネットワークを構
成する機能ブロック880は乗算器160aによって、逆方向
ネットワークの出力バス860の値をη倍して取り込むこ
とができる。同様に、逆方向ネットワークを構成する機
能ブロック890は乗算器160bによって、順方向ネットワ
ークの出力バス850の値をη倍して取り込むことができ
る。そのため、図6における動作5の順方向ネットワー
クから逆方向ネットワークへηxjを通信する動作を動
作3において行うことができる。動作3において、各機
能ブロックが他の機能ブロックへ出力xjをブロードキ
ャストするときに、同時に乗算器160bによってη倍し、
逆方向ネットワークの入力バス861へ出力することがで
きる。同様に、動作8、12の逆方向ネットワークから順
方向ネットワークへηδを通信する動作を動作7、11に
おいて行うことができる。以上のように、他方のネット
ワークのバスへの出力値を盗み取ることにより、図6に
おける動作5、8、12に要する時間を省くことができ
る。そのため、より高速に学習を行うことができる。
In the configuration of this figure, the functional block 880 forming the forward network can take in the value of the output bus 860 of the backward network multiplied by η by the multiplier 160a. Similarly, the functional block 890 forming the reverse network can take in the value of the output bus 850 of the forward network by η times by the multiplier 160b. Therefore, the operation of communicating ηx j from the forward network to the reverse network of operation 5 in FIG. 6 can be performed in operation 3. In operation 3, when each functional block broadcasts the output x j to other functional blocks, it is multiplied by η by the multiplier 160b at the same time,
It can be output to the input bus 861 of the reverse network. Similarly, the act of communicating ηδ from the reverse network to the forward network of acts 8 and 12 can be performed in acts 7 and 11. As described above, by stealing the output value to the bus of the other network, the time required for the operations 5, 8, and 12 in FIG. 6 can be omitted. Therefore, learning can be performed at higher speed.

【0072】次に、本発明によるニューロコンピューテ
ィングシステムについて説明する。以下の実施例は、今
まで述べてきた情報処理装置を実用レベルまで追求した
一態様である。まず、図12〜図19を用い、構成につ
いて一通り説明した後、その動作とそのために必要な制
御について、図20〜図26を用いて説明する。尚、今
まで説明してきた実施例と重複する箇所もあるが、一通
り説明する。
Next, the neurocomputing system according to the present invention will be described. The following embodiment is one mode in which the information processing apparatus described so far is pursued to a practical level. First, the configuration is described once with reference to FIGS. 12 to 19, and then the operation and the control required therefor are described with reference to FIGS. 20 to 26. It should be noted that although there are some points that overlap with the above-described embodiments, they will be described once.

【0073】図12はシステム全体を示す図である。図
12において、1000はホストコンピュータ、100
1はディジタイザでホストコンピュータ1000の入力
装置の一つである。1003はコントロールボードを示
す。1030はWSIボード、1031はWSI基板、
1050はウェハで、ウェハ1050はWSI基板10
31と接着し、さらにWSI基板1031をWSIボー
ド上と接続することにより、ウェハ1050の電源給電
及び外部との信号の入出力を可能とする。1080はモ
ード信号線、1081はアドレス信号線、1082はク
ロック信号線、1083は入力データ線、1084は出
力データ線を示す。コントロールボード1003と各W
SIボード1030とは、1080〜1084の内部バ
ス1020によって接続する。コントロールボード10
03上の1010は入力層メモリ、1011は出力層メ
モリ、1012は教師信号メモリ、1013はシーケン
スRAM、1002はクロック発振器を示す。1021
は外部バスを示す。ホストコンピュータ1000はコン
トロールボード1003上の1010〜1013の各メ
モリに外部バス1021を通して、アクセスが可能で任
意に読みだし、書き込みを行うことができる。1085
はデコーダ、1040は出力バッファ、1041は入力
バッファを示す。入力層メモリ1010、教師信号メモ
リ1012は、それぞれ、アドレス信号線1081を入
力し、出力バッファ1040を通して、メモリの内容を
入力データ線1083へ送ることが可能である。また、
それぞれの出力バッファ1040はデコーダ1085に
より、制御される。デコーダ1085はモード信号線1
080とアドレス信号線1081を入力し、デコードす
る。シーケンスRAM1013はモード信号及びアドレ
ス信号を発生する。1086はポインタで、パルスジェ
ネレータ1002からクロック信号線1082により送
られるクロックを入力して、出力を1づつ増やす。それ
を繰返し、シーケンスRAM1013に書き込まれてい
る命令のアドレスを指定する。シーケンスRAM101
3の各アドレスには、予め、実行するモード信号及びア
ドレス信号の命令を順々に書き込んでおく。また、10
51はセレクタで、シーケンスRAM1013または外
部バス1021から出力される命令をモード信号線10
80及びアドレス信号線1081へ出力する。1052
は、セレクタで出力データ線1084または外部バス1
021から出力される値を入力データ線1083へ出力
する。
FIG. 12 is a diagram showing the entire system. In FIG. 12, 1000 is a host computer, 100
A digitizer 1 is one of the input devices of the host computer 1000. Reference numeral 1003 indicates a control board. 1030 is a WSI board, 1031 is a WSI board,
1050 is a wafer, and the wafer 1050 is the WSI substrate 10.
By bonding with WSI substrate 31 and connecting the WSI substrate 1031 to the WSI board, it is possible to supply power to the wafer 1050 and input / output signals to / from the outside. Reference numeral 1080 is a mode signal line, 1081 is an address signal line, 1082 is a clock signal line, 1083 is an input data line, and 1084 is an output data line. Control board 1003 and each W
It is connected to the SI board 1030 by an internal bus 1020 of 1080 to 1084. Control board 10
Reference numeral 1010 denotes an input layer memory, 1011 an output layer memory, 1012 a teacher signal memory, 1013 a sequence RAM, and 1002 a clock oscillator. 1021
Indicates an external bus. The host computer 1000 can access the memories 1010 to 1013 on the control board 1003 through the external bus 1021 and can arbitrarily read and write. 1085
Is a decoder, 1040 is an output buffer, and 1041 is an input buffer. The input layer memory 1010 and the teacher signal memory 1012 can each receive the address signal line 1081 and send the contents of the memory to the input data line 1083 through the output buffer 1040. Also,
Each output buffer 1040 is controlled by the decoder 1085. The decoder 1085 is the mode signal line 1
080 and the address signal line 1081 are input and decoded. The sequence RAM 1013 generates a mode signal and an address signal. Reference numeral 1086 denotes a pointer, which inputs the clock sent from the pulse generator 1002 through the clock signal line 1082 and increments the output by one. By repeating this, the address of the instruction written in the sequence RAM 1013 is designated. Sequence RAM 101
At each address of 3, the commands of the mode signal and the address signal to be executed are sequentially written in advance. Also, 10
Reference numeral 51 is a selector that sends a command output from the sequence RAM 1013 or the external bus 1021 to the mode signal line 10.
80 and the address signal line 1081. 1052
Is the output data line 1084 or the external bus 1 at the selector.
The value output from 021 is output to the input data line 1083.

【0074】教師信号メモリ1012には出力層の教師
信号を書き込んでおく、入力層メモリ1010は、入力
層ニューロンの役目を行っており、入力層ニューロンの
値を書き込んでおく。出力層メモリ1011は入力バッ
ファ1041を通して出力データ線1084とアドレス
信号線1081を入力し、出力層ニューロンの出力を取
り込む。
The teacher signal of the output layer is written in the teacher signal memory 1012. The input layer memory 1010 serves as an input layer neuron, and the value of the input layer neuron is written therein. The output layer memory 1011 inputs the output data line 1084 and the address signal line 1081 through the input buffer 1041 and takes in the output of the output layer neuron.

【0075】WSIボード1030はモード信号線10
80、アドレス信号線1081、クロック信号線108
2、入力データ線1083を入力バッファ1041を通
して、ウェハ1050へ接続し、ウェハ1050から出
力される信号をデコーダ1085により制御する出力バ
ッファ1040を通して、出力データ線1084に出力
する。また、このデコーダ1085はモード信号線10
80とアドレス信号線1081により、デコードを行
う。また、ホストコンピュータ1000からウェハ10
50内のラッチ、メモリ等に書き込む場合、自分のボー
ドアドレスが指定されているときに行う。
The WSI board 1030 uses the mode signal line 10
80, address signal line 1081, clock signal line 108
2. The input data line 1083 is connected to the wafer 1050 through the input buffer 1041, and the signal output from the wafer 1050 is output to the output data line 1084 through the output buffer 1040 controlled by the decoder 1085. In addition, the decoder 1085 uses the mode signal line 10
Decoding is performed by 80 and the address signal line 1081. In addition, from the host computer 1000 to the wafer 10
When writing to the latch, memory, etc. in 50, it is performed when the own board address is specified.

【0076】図13はウェハ1050の構成を示す図で
ある。ウェハ1050は、1060のNブロック、10
61のIOブロック、1062のBブロック、1063
のPブロックから構成する。各ブロックは等間隔で縦
(列)方向横(行)方向に配列する。ウェハ1050の
中央の列の下辺には、IOブロック1061を配置し、
その他の中央の列には7個のBブロック1062を配置
する。外部との入出力は下辺のIOブロック1061が
行う。中央の列以外には、Nブロック1060を配置
し、周辺部にPブロック1063を配置する。Pブロッ
ク1063はウェハの半導体プロセスにおける品質管理
を行うためのものである。Nブロック1060には、ニ
ューロンブロックを搭載し、Bブロック1062には、
関数変換テーブルを搭載する。IOブロック1061は
Bブロック1062の機能の他に外部との入出力を行う
ための機能も持つ。IOブロック1061、Bブロック
1062、Nブロック1060の詳細については、図1
6、図17を用いて説明する。
FIG. 13 shows the structure of the wafer 1050. Wafer 1050 has 1060 N blocks and 10
61 IO blocks, 1062 B blocks, 1063
Of P blocks. The blocks are arranged at equal intervals in the vertical (column) direction and the horizontal (row) direction. The IO block 1061 is arranged on the lower side of the center row of the wafer 1050,
Seven B blocks 1062 are arranged in the other central columns. Input / output to / from the outside is performed by the IO block 1061 on the lower side. N blocks 1060 are arranged in columns other than the central column, and P blocks 1063 are arranged in the peripheral portion. The P block 1063 is for performing quality control in the semiconductor process of the wafer. The N block 1060 includes a neuron block, and the B block 1062 includes
Equipped with a function conversion table. The IO block 1061 has a function for performing input / output with the outside in addition to the function of the B block 1062. For details of the IO block 1061, the B block 1062, and the N block 1060, see FIG.
6, and FIG. 17 will be described.

【0077】図14はウェハ1050内の信号線の構成
と配置を示す図である。1201はボンディングパッド
でIOブロック1061の下辺に設け、ボンディングワ
イヤーにより信号線を外部と接続する。各Nブロック1
060への信号線は、IOブロック1061、各Bブロ
ック1062において、まず、縦方向に信号が伝わり、
さらに、各横方向へ信号を送る。Nブロック1060内
のニューロンブロックの出力は、まず、その行のIOブ
ロック1061、Bブロック1062に集められ、そこ
で関数変換を行い、入出力を行う下辺のIOブロック1
061へ送り、外部へ出力する。
FIG. 14 is a diagram showing the configuration and arrangement of signal lines in the wafer 1050. A bonding pad 1201 is provided on the lower side of the IO block 1061 and connects the signal line to the outside by a bonding wire. Each N block 1
Regarding the signal line to 060, first, in the IO block 1061 and each B block 1062, a signal is transmitted in the vertical direction,
Further, it sends a signal in each lateral direction. The output of the neuron block in the N block 1060 is first collected in the IO block 1061 and the B block 1062 in that row, and the function conversion is performed therein, and the IO block 1 in the lower side for inputting / outputting is performed.
061, and output to the outside.

【0078】図15に、ウェハ1050の各ブロック1
060〜1062への電源給電方法及びWSI基板10
31の構成を示す。図15において、1301〜130
3はボンディングパッド、1304はボンディングワイ
ヤー、1305はコネクタを示す。1310は各ブロッ
ク1060〜1062へ電源を給電するための電源バス
である。コネクタ1305はWSIボード1030と接
続することにより、電源及び信号線のWSI基板103
1への接続を行う。電源線をボンディングパッド130
1、1304からWSI基板1031内を通り、コレク
タ1305へ引き出す。また、信号線をボンディングパ
ッド1303からコネクタ1305へ引き出す。ウェハ
1050内では、各ブロック1060〜1062の間に
格子状に電源バス1310を設け、各ブロック1060
〜1062を電源バス1310と接続する。電源バス1
310の終端には、ボンディングパッド1302を設け
る。ウェハ1050上のボンディングパッド1302と
WSI基板1031上のボンディングパッド1301、
1304をボンディングワイヤー1304により接続す
ることにより、各ブロック1060〜1062へ電源を
給電することができる。また、ウェハ1050上の図1
4のボンディングパッド1201とWSI基板1031
上のボンディングパッド1303をボンディングワイヤ
ー1304により、接続することにより、図12の内部
バス1020とIOブロック1061と接続することが
できる。
FIG. 15 shows each block 1 of the wafer 1050.
Method for supplying power to 060 to 1062 and WSI substrate 10
The structure of 31 is shown. In FIG. 15, 1301 to 130
3 is a bonding pad, 1304 is a bonding wire, and 1305 is a connector. Reference numeral 1310 is a power supply bus for supplying power to the blocks 1060 to 1062. By connecting the connector 1305 to the WSI board 1030, the WSI board 103 for power and signal lines can be connected.
Connect to 1. The power supply line is bonded to the bonding pad 130.
1, 1304 through the WSI substrate 1031 and drawn to the collector 1305. Further, the signal line is pulled out from the bonding pad 1303 to the connector 1305. In the wafer 1050, the power supply buses 1310 are provided in a grid pattern between the blocks 1060 to 1062, and the blocks 1060 are provided.
1062 to power bus 1310. Power bus 1
A bonding pad 1302 is provided at the end of 310. Bonding pads 1302 on the wafer 1050 and bonding pads 1301 on the WSI substrate 1031,
By connecting 1304 with the bonding wire 1304, power can be supplied to each of the blocks 1060 to 1062. In addition, FIG.
4 bonding pad 1201 and WSI substrate 1031
By connecting the upper bonding pad 1303 with the bonding wire 1304, the internal bus 1020 and the IO block 1061 in FIG. 12 can be connected.

【0079】図16にBブロック1062を示す。IO
ブロック1061はBブロック1062の機能の他に外
部との入出力機能を持つ。図16において、1070は
変換テーブル、1071は制御回路、1072〜107
6はセレクタである。IOブロック1061、Bブロッ
ク1062は、下辺に接続される外部またはIOブロッ
ク1061またはBブロック1062からモード信号線
1080、アドレス信号線1081、クロック信号線1
082を入力し、上辺に接続されるBブロック1062
とサイドに接続されるNブロック1060へ出力する。
入力データ線1083は、下辺から入力し、セレクタ1
073、変換テーブル1070、セレクタ1074、セ
レクタ1076を通り左右辺へ出力するパスを持つ。ま
た、変換テーブル1070を通らずに、セレクタ107
6のみを通り、左右辺へ出力することもできる。左右に
接続されるNブロック1060から入力する出力データ
線1084はセレクタ1072、セレクタ1073、変
換テーブル1070、セレクタ1074、セレクタ10
75を通り、下辺に接続されるBブロック1062また
はIOブロック1061または外部へ出力するパスを持
つ。また、左右から入力する出力データ線1084はセ
レクタ1072、セレクタ1075を通り、下辺の出力
することもできる。セレクタ1072〜1076は、制
御回路1071によって、制御される。制御回路107
1はモード信号線1080とアドレス信号線1081を
入力し、セレクタ1072〜1075の制御信号を発生
する。制御回路1071の構成については、図21を用
いて、後に説明する。また、変換テーブル1070は、
書き込みのため、アドレス信号線1081、入力データ
線1083と接続する。
FIG. 16 shows the B block 1062. IO
The block 1061 has an input / output function with the outside in addition to the function of the B block 1062. In FIG. 16, 1070 is a conversion table, 1071 is a control circuit, and 1072-107.
6 is a selector. The IO block 1061 and the B block 1062 are connected to the lower side from the external or IO block 1061 or the B block 1062 from the mode signal line 1080, the address signal line 1081, and the clock signal line 1.
082 is input and is connected to the upper side of the B block 1062.
And to the N block 1060 connected to the side.
The input data line 1083 is input from the lower side, and the selector 1
073, the conversion table 1070, the selector 1074, and the selector 1076 have a path for outputting to the left and right sides. Also, without passing through the conversion table 1070, the selector 107
It is also possible to output only to 6 and to the left and right sides. Output data lines 1084 input from the N blocks 1060 connected to the left and right are selectors 1072, selectors 1073, conversion tables 1070, selectors 1074, and selectors 10.
It has a path for passing to B block 1062 or IO block 1061 connected to the lower side or output to the outside through 75. Further, the output data lines 1084 input from the left and right can pass through the selector 1072 and the selector 1075 and output on the lower side. The selectors 1072 to 1076 are controlled by the control circuit 1071. Control circuit 107
1 receives the mode signal line 1080 and the address signal line 1081 and generates control signals for the selectors 1072 to 1075. The configuration of the control circuit 1071 will be described later with reference to FIG. Further, the conversion table 1070 is
For writing, it is connected to the address signal line 1081 and the input data line 1083.

【0080】図17にNブロック1060を示す。図1
7に示すNブロック1060はウェハ1050におい
て、中心より右側に配置するものである。左側に配置す
るNブロック1060は横方向に対象なものとなる。図
17において、1100はニューロンブロックを示す。
1101、1103はセレクタ、1102は制御回路を
示す。各Nブロック1060内にはニューロンブロック
1100を6個づつ搭載する。各ニューロンブロック1
100に、モード信号線1080、アドレス信号線10
81、クロック信号線1082、入力データ線1083
を接続する。制御回路1102はアドレス信号線108
1をデコードし、セレクタ1101により、Nブロック
1060内の6個のニューロンブロック1100の出力
から1つを選択し、セレクタ1103へ出力する。セレ
クタ1103の入力のもう1つは右側に接続されている
Nブロック1060から出力される出力データ線108
4である。セレクタ1103の出力は左側に接続される
Nブロック1060またはBブロック1062またはI
Oブロック1061と接続する。セレクタ1103の制
御は制御回路1102が行う。
FIG. 17 shows the N block 1060. Figure 1
N block 1060 shown in FIG. 7 is arranged on the right side of the center of wafer 1050. The N block 1060 arranged on the left side is symmetrical in the horizontal direction. In FIG. 17, reference numeral 1100 indicates a neuron block.
1101 and 1103 are selectors and 1102 is a control circuit. Six neuron blocks 1100 are mounted in each N block 1060. Each neuron block 1
100, mode signal line 1080, address signal line 10
81, clock signal line 1082, input data line 1083
Connect. The control circuit 1102 uses the address signal line 108
1 is decoded, the selector 1101 selects one from the outputs of the six neuron blocks 1100 in the N block 1060, and outputs it to the selector 1103. The other input of the selector 1103 is the output data line 108 output from the N block 1060 connected to the right side.
It is 4. The output of the selector 1103 is N block 1060 or B block 1062 or I connected to the left side.
Connect to the O block 1061. The control circuit 1102 controls the selector 1103.

【0081】図18にニューロンブロック1100の詳
細を示す。本図は図9に示したものとほぼ同様の構成と
なっている。図18において、1121〜1125はラ
ッチを示す。1130は乗算器、1131はα乗算器、
1132はη乗算器を示す。1140〜1141は加算
器を示す。1150〜1152はセレクタを示す。11
60はメモリ、1161はメモリのアドレスを指すポイ
ンタを示す。メモリ1160には、結合元のニューロン
ブロック1100のアドレスとそれ結合係数wと前回の
修正値Δwを記憶する。1170は制御回路を示す。ラ
ッチ1121は逆方向ネットワーク側として動作すると
きにのみ使用し、入力データ線1083から送られる
(4)(5)式における、f’(u)を取り込む。ラッ
チ1122は順方向ネットワーク側として動作するとき
は、入力データ線1083から送られる(3)式におけ
る学習信号δを取り込み、逆方向ネットワーク側として
動作するときは、入力データ線1083から送られる
(3)式におけるxを取り込む。ラッチ1123は逆方
向ネットワークの出力層として動作するときにのみ使用
し、入力データ線1083から送られる(4)式におけ
る教師信号tを取り込む。セレクタ1150はメモリ1
160の結合係数w,入力データ線1083、ラッチ1
121、ラッチ1122、ラッチ1124を入力し、そ
のうち2つを選び、乗算器1130へ出力する。乗算器
1130は入力した値を乗算し、出力する。セレクタ1
151は、η乗算器1132、メモリ1160の結合係
数w、乗算器1130、ラッチ1122、ラッチ112
3、ラッチ1124を入力し、そのうち2つを選択し、
加算器1140へ出力する。加算器1140は入力する
値を加算または減算し、出力する。ラッチ1024は加
算器1140の出力を取り込む。セレクタ1152は、
ラッチ1124、乗算器1130を入力し、そのうち1
つを選択し、ラッチ1125へ出力する。ラッチ112
5は図17のセレクタ1101、1103を通して、出
力データ線1084へ出力する。α乗算器1131はメ
モリ1160の前回の修正値Δwを入力し、定数α倍
し、出力する。加算器1141はα乗算器1131、乗
算器1130を入力し、加算して出力する。η乗算器1
132は加算器1141の出力を定数η倍して、出力す
る。メモリ1160は、加算器1140の出力の修正し
た結合係数wと、加算器1141の出力の修正値Δwを
取り込む。制御回路1170はモード信号線1080、
アドレス信号線1081、クロック信号線1082を入
力し、ニューロンブロック1100内のセレクタの制御
及びラッチ、メモリの書き込みの制御を行う。
FIG. 18 shows the details of the neuron block 1100. This figure has almost the same configuration as that shown in FIG. In FIG. 18, reference numerals 1121 to 1125 denote latches. 1130 is a multiplier, 1131 is an α multiplier,
1132 indicates an η multiplier. Reference numerals 1140-1114 denote adders. Reference numerals 1150 to 1152 denote selectors. 11
Reference numeral 60 denotes a memory, and 1161 denotes a pointer that points to an address of the memory. The memory 1160 stores the address of the neuron block 1100 of the connection source, its connection coefficient w, and the previous correction value Δw. Reference numeral 1170 represents a control circuit. The latch 1121 is used only when operating as the reverse network side, and captures f ′ (u) in the equations (4) and (5) sent from the input data line 1083. The latch 1122 takes in the learning signal δ in the equation (3) sent from the input data line 1083 when it operates as the forward network side, and sends it from the input data line 1083 (3 when it operates as the reverse network side). ) Take in x in the equation. The latch 1123 is used only when it operates as the output layer of the backward network, and captures the teacher signal t in the equation (4) sent from the input data line 1083. Selector 1150 is memory 1
160 coupling coefficient w, input data line 1083, latch 1
121, a latch 1122, and a latch 1124 are input, and two of them are selected and output to the multiplier 1130. The multiplier 1130 multiplies the input value and outputs it. Selector 1
151 is the η multiplier 1132, the coupling coefficient w of the memory 1160, the multiplier 1130, the latch 1122, and the latch 112.
3, input the latch 1124, select two of them,
Output to the adder 1140. The adder 1140 adds or subtracts an input value and outputs it. The latch 1024 captures the output of the adder 1140. The selector 1152 is
Input the latch 1124 and the multiplier 1130, and
One of them is selected and output to the latch 1125. Latch 112
5 is output to the output data line 1084 through the selectors 1101 and 1103 of FIG. The α multiplier 1131 inputs the previous correction value Δw of the memory 1160, multiplies it by a constant α, and outputs it. The adder 1141 inputs the α multiplier 1131 and the multiplier 1130, adds them, and outputs them. η multiplier 1
132 multiplies the output of the adder 1141 by a constant η and outputs the result. The memory 1160 fetches the corrected coupling coefficient w of the output of the adder 1140 and the corrected value Δw of the output of the adder 1141. The control circuit 1170 uses the mode signal line 1080,
The address signal line 1081 and the clock signal line 1082 are input to control selectors and latches in the neuron block 1100, and memory writing.

【0082】以上にWSIによる構成について説明した
が、図19に示すように、チップによっても、構成する
ことができる。図19において、1400はチップボー
ド、1401はNチップ、1403はBチップ、140
4はコネクタを示す。チップボード1400を図12に
おけるWSIボード1030と差し替えることにより、
同様にニューロコンピューティングシステムを構成する
ことができる。また、チップとWSIの混在による構成
も可能である。Nチップ1401はNブロック1060
と同じ機能を持ち、Bチップ1403はBブロック10
62と同じ機能を有する。NチップとBチップをチップ
ボード1400上でウェハ1050と同様となる接続を
行えばよい。
Although the WSI configuration has been described above, it can also be configured by a chip as shown in FIG. In FIG. 19, 1400 is a chip board, 1401 is an N chip, 1403 is a B chip, 140
Reference numeral 4 represents a connector. By replacing the chip board 1400 with the WSI board 1030 in FIG. 12,
A neurocomputing system can be similarly constructed. Further, a configuration in which chips and WSI are mixed is also possible. N chip 1401 is N block 1060
It has the same function as B chip 1403 and B block 10
It has the same function as 62. The N chip and the B chip may be connected on the chip board 1400 in the same manner as the wafer 1050.

【0083】以上に説明した図12のシステムの構成が
いろいろな動作を繰り返すことにより、学習を行う。
Learning is performed by repeating various operations in the system configuration of FIG. 12 described above.

【0084】図25は図12のモード信号線1080に
出力するモード信号の一部を示す図である。各モード信
号における簡単な動作内容について示した。図12のシ
ステムは本図のモード信号に従い、いろいろな動作を行
う。モード信号線1080を1,3,5,8,9,1
1,13,15,17,19に設定することにより、各
ラッチ、メモリの初期値を書き込むことができる。学習
動作時はモード信号24〜32を使用する。設定する順
番に関しては後に図26を用いて、説明する。
FIG. 25 is a diagram showing a part of the mode signal output to the mode signal line 1080 of FIG. The simple operation contents for each mode signal are shown. The system of FIG. 12 performs various operations according to the mode signal of this figure. Set the mode signal line 1080 to 1, 3, 5, 8, 9, 1
By setting to 1, 13, 15, 17, and 19, initial values of each latch and memory can be written. The mode signals 24 to 32 are used during the learning operation. The order of setting will be described later with reference to FIG.

【0085】図25に従い、図12のシステムがどのよ
うに動作するか説明し、それに伴い、図12のシーケン
スRAM1013、図16の制御回路1071、図17
の制御回路1102、図18の制御回路1170の機能
についても説明することとする。
The operation of the system of FIG. 12 will be described with reference to FIG. 25, and along with that, the sequence RAM 1013 of FIG. 12, the control circuit 1071 of FIG. 16, and FIG.
The functions of the control circuit 1102 and the control circuit 1170 in FIG. 18 will be described.

【0086】まず、図20を用いて、IOブロック10
61、Bブロック1062、Nブロック1060及びN
ブロック1060内のニューロンブロック1100にア
クセスするためのアドレスについて説明する。学習動作
時の各ニューロンブロック1100のアドレスは相対ア
ドレスで動作する。WSIでは、欠陥により、全てのニ
ューロンブロック1100を使用することができない可
能性が高い。また、本発明では、順方向ネットワークと
逆方向ネットワークを構成するニューロンブロック11
00は1対1に対応している。そのため、各ニューロン
ブロック1100は、任意の相対アドレスに設定できる
ようにする。相対アドレスを設定するときは、絶対アド
レスによりアクセスする。図20(a)にウェハ105
0内の各ブロックの絶対アドレスを示す。また、図20
(b)に絶対アドレスのビット構成を示す。ウェハ10
50内に全部で288個のニューロンブロック1100
があるので、ウェハ内の絶対アドレスは9ビットとす
る。また、それに、ボードアドレス4ビットを加える。
なお、ボードアドレスは図12のデコーダ1085に必
要なもので、ウェハ1050内へ送る必要はない。多く
のボードを接続する場合は、ボードアドレスのビットを
増やせばよい。ウェハ内絶対アドレスのうち、3ビット
は行アドレス、1ビットは右/左アドレス、2ビットは
列アドレス、3ビットはNブロック内ニューロンブロッ
クアドレスを示す。行アドレスとは、ウェハ1050の
下段からの0〜7行を示す。右/左アドレスは、中心よ
り、右か左かを示す。列アドレスはどの列かを示す。N
ブロック内ニューロンブロックアドレスはNブロック1
060内の6個のニューロンブロックのうちどれかを示
す。Nブロック内アドレスのニューロンブロックアドレ
スを図20(b)に示す。また、図20(c)に、チッ
プボード1400内の絶対アドレスを示す。
First, the IO block 10 will be described with reference to FIG.
61, B block 1062, N block 1060 and N
An address for accessing the neuron block 1100 in the block 1060 will be described. The address of each neuron block 1100 during the learning operation operates with a relative address. WSI is likely to be unable to use all neuron blocks 1100 due to defects. Further, in the present invention, the neuron block 11 forming the forward network and the backward network is
00 has a one-to-one correspondence. Therefore, each neuron block 1100 can be set to any relative address. When setting a relative address, access with an absolute address. The wafer 105 is shown in FIG.
The absolute address of each block within 0 is shown. Also, FIG.
The bit structure of the absolute address is shown in (b). Wafer 10
A total of 288 neuron blocks 1100 in 50
Therefore, the absolute address in the wafer is 9 bits. Also, a board address of 4 bits is added to it.
The board address is necessary for the decoder 1085 of FIG. 12, and does not need to be sent into the wafer 1050. When connecting many boards, increase the bits of the board address. Of the in-wafer absolute address, 3 bits indicate a row address, 1 bit indicates a right / left address, 2 bits indicate a column address, and 3 bits indicate a neuron block address in an N block. The row address indicates rows 0 to 7 from the lower stage of the wafer 1050. The right / left address indicates right or left from the center. The column address indicates which column. N
In-block neuron block address is N block 1
It shows any of the 6 neuron blocks in 060. The neuron block address of the address in the N block is shown in FIG. Further, FIG. 20C shows an absolute address in the chip board 1400.

【0087】図21に図16の制御回路1071を示
す。また、図22図に図17の制御回路1102を図2
3に図18の制御回路1170を示す。まず、この3つ
の図を用い、アドレスのデコード方法について説明す
る。
FIG. 21 shows the control circuit 1071 of FIG. Further, the control circuit 1102 of FIG. 17 is shown in FIG.
3 shows the control circuit 1170 of FIG. First, the address decoding method will be described with reference to these three figures.

【0088】図21において、1501は絶対アドレス
の列アドレスをデコードする列デコーダである。150
2は絶対アドレスの行アドレスをデコードする行デコー
ダを示す。1503はモード信号線をデコードするデコ
ーダを示す。1506〜1507はラッチを示す。15
04はインバータ回路、1505はアンド回路を示す。
1511〜1512は引き算回路で、アドレス信号線1
081に送られる相対アドレスとラッチ1506、15
07に予め書き込まれている値と引き算を行い、その結
果の符号を出力する。1509〜1510はセレクタ
で、絶対アドレスによるデコードの結果と相対アドレス
によるデコードの結果のいずれかを選択し、出力する。
デコーダ1503よりセレクタ1509、1510に接
続される制御線は絶対アドレスか相対アドレスかを選択
するものである。1520はNブロックセレクト線を示
す。
In FIG. 21, reference numeral 1501 is a column decoder for decoding the column address of the absolute address. 150
Reference numeral 2 denotes a row decoder which decodes an absolute address row address. Reference numeral 1503 denotes a decoder for decoding the mode signal line. Reference numerals 1506 to 1507 denote latches. 15
Reference numeral 04 is an inverter circuit, and reference numeral 1505 is an AND circuit.
Reference numerals 1511 to 1512 denote subtraction circuits, which are address signal lines 1
Relative address and latches 1506, 15 sent to 081
The value written in 07 is subtracted, and the sign of the result is output. Reference numerals 1509 to 1510 denote selectors that select and output either the decoding result by the absolute address or the decoding result by the relative address.
The control line connected from the decoder 1503 to the selectors 1509 and 1510 selects either an absolute address or a relative address. Reference numeral 1520 indicates an N block select line.

【0089】図22において、1607はモード信号線
1080をデコードするデコーダである。1604はラ
ッチで、入力データ線1083の出力を取り込むことが
できる。その制御はデコーダ1607が行う。1603
は引き算回路で、アドレス信号線1081に送られる相
対アドレスとラッチ1604に予め書き込まれている値
と引き算を行い、その結果の符号を出力する。1601
〜1602はセレクタを示す。セレクタ1601は、列
アドレスの絶対アドレスのデコード結果であるNブロッ
クセレクト線1520と相対アドレスによるデコード結
果のいずれかを選択し、出力する。セレクタ1602
は、Nブロック内の絶対アドレスのデコード結果と相対
アドレスのデコード結果を選択するものである。デコー
ダ1607よりセレクタ1601、1602に接続され
る制御線は絶対アドレスか相対アドレスかを選択するも
のである。また、Nブロックセレクト線1520を捻じ
り、隣のブロックと接続するのは、各列のNブロック1
060を同一パターンとすることができるからである。
それにより、半導体マスク、設計工数を低減することが
できる。1605はデコーダで、アドレス信号線108
1のうち、絶対アドレスのNブロック内アドレスをデコ
ードする。1606はエンコーダで6個の各ニューロン
ブロック1100において、アドレスをデコードされた
結果を入力する。
In FIG. 22, 1607 is a decoder for decoding the mode signal line 1080. Reference numeral 1604 is a latch that can capture the output of the input data line 1083. The control is performed by the decoder 1607. 1603
Is a subtraction circuit, which subtracts the relative address sent to the address signal line 1081 and the value previously written in the latch 1604, and outputs the sign of the result. 1601
Reference numerals 1602 denote selectors. The selector 1601 selects and outputs either the N block select line 1520 which is the decoding result of the absolute address of the column address or the decoding result of the relative address. Selector 1602
Selects the absolute address decoding result and the relative address decoding result in the N block. The control line connected from the decoder 1607 to the selectors 1601 and 1602 selects either an absolute address or a relative address. The N block select line 1520 is twisted and connected to the adjacent block by the N block 1 in each column.
This is because 060 can have the same pattern.
As a result, the semiconductor mask and the number of design steps can be reduced. 1605 is a decoder for the address signal line 108
Of 1, the addresses in N blocks of absolute addresses are decoded. An encoder 1606 inputs the result of decoding the address in each of the six neuron blocks 1100.

【0090】図23において、1701はラッチで、入
力データ線1083に出力される自分の相対アドレスを
取り込む。また、相対アドレスの他、自分が順方向ネッ
トワーク側として動作するのか、逆方向ネットワーク側
で動作するのか、また、逆方向ネットワーク側で動作す
る場合は、さらに、中間層なのか、出力層なのかを示す
情報も取り込む。1703は比較回路で、アドレス信号
線1081に出力される相対アドレスと予め書き込まれ
ているラッチ1701の自分の相対アドレスを比較し、
一致しているかどうかをデコーダ1702へ送る。ま
た、その結果は図22のデコーダ1605へも出力す
る。1704は比較回路で、図18のメモリ1160の
結合元アドレスとアドレス信号線1081に出力される
相対アドレスを比較する。1702はデコーダで、比較
回路1703、ラッチ1701、モード信号線108
1、図22のデコーダ1605、クロック信号線108
2、比較回路1704、図22のセレクタ1601を入
力し、ニューロンブロック1100内のセレクタ、ラッ
チ、メモリ、ポインタ、また、ラッチ1701の制御を
行う。
In FIG. 23, reference numeral 1701 designates a latch which fetches its own relative address output to the input data line 1083. In addition to the relative address, whether it operates as the forward network side, the reverse network side, and if it operates on the reverse network side, whether it is the middle layer or the output layer. Also captures information indicating. Reference numeral 1703 is a comparison circuit, which compares the relative address output to the address signal line 1081 with the relative address of the latch 1701 written in advance,
Whether or not they match is sent to the decoder 1702. The result is also output to the decoder 1605 in FIG. Reference numeral 1704 is a comparison circuit, which compares the combination source address of the memory 1160 of FIG. 18 with the relative address output to the address signal line 1081. 1702 is a decoder, which is a comparison circuit 1703, a latch 1701, and a mode signal line 108.
1, the decoder 1605 of FIG. 22, the clock signal line 108
2, the comparator circuit 1704 and the selector 1601 in FIG. 22 are input to control the selector, the latch, the memory, the pointer, and the latch 1701 in the neuron block 1100.

【0091】図25には、動作を説明するのに必要な事
項のみ示したが、検査のために、ラッチ、メモリなどの
書き込み読みだしなどを行うためのモード信号も設定す
る。
Although only the items necessary for explaining the operation are shown in FIG. 25, a mode signal for performing writing / reading of a latch, a memory or the like is also set for inspection.

【0092】まず、初期設定として、絶対アドレスによ
り、相対アドレスと、順方向ネットワークまたは逆方向
ネットワーク、また、中間層または出力層を示す情報の
2ビットを各ニューロンブロック1100の図23の制
御回路1170のラッチ1701に書き込む。ホストコ
ンピュータ1000により、図12のセレクタ105
1、1052を外部バス1021側とする。モード信号
線1080を17に設定し、アクセスするニューロンブ
ロック1100の絶対アドレスをアドレス信号線108
1に設定する。書き込みたい値を入力データ線1083
に設定する。WSIボード1030では、デコーダ10
85により、ボードアドレスをデコードし、自分のアド
レスのときのみ、ウェハ1050のラッチ、メモリ等の
書き込みを行うように制御する。
First, as an initial setting, a relative address and two bits of information indicating a forward network or a backward network, and an intermediate layer or an output layer are set as absolute addresses by the control circuit 1170 of each neuron block 1100 shown in FIG. Write to the latch 1701 of The host computer 1000 causes the selector 105 of FIG.
1, 1052 are on the external bus 1021 side. The mode signal line 1080 is set to 17 and the absolute address of the neuron block 1100 to be accessed is set to the address signal line 108.
Set to 1. Input the data you want to write 1083
Set to. In the WSI board 1030, the decoder 10
The board address is decoded by 85, and control is performed so that the latch of the wafer 1050, the writing of the memory, and the like are performed only when the address is its own.

【0093】絶対アドレスによる動作では、図21の行
デコーダ1502により、行アドレスをデコードし、も
し、その行が選択されているかどうかがわかる。また、
列デコーダ1501により、列アドレスを選択し、1〜
4個その行方向にあるNブロック1060のうち1個
を、それに接続されているNブロックセレクト線152
0により選択する。また、右/左ビットにより、右側ま
たは左側のNブロック1060かを選択する。行デコー
ダ1502の結果と右/左アドレスをアンド回路150
5によりアンドし、左側のデコーダ1501のイネーブ
ル信号にする。また、行デコーダ1502の結果と右/
左アドレスをインバータ回路1504により論理反転し
たものとをアンド回路1505によりアンドし、その結
果をデコーダ1501のイネーブル信号とする。選択さ
れたNブロック1060内においては、図22のデコー
ダ1605により、Nブロック内アドレスをデコード
し、各ニューロンブロック1100内の図23の制御回
路1170へその結果を出力する。また、セレクタ16
01のNブロックの選択結果も制御回路1170へ出力
する。セレクト線制御回路1170のデコーダ1702
の制御により、モード信号が17でかつ自分が選択され
ていれば、そのラッチ1701に入力信号線1083に
出力されている値を取り込む。以上の動作により全ての
ニューロンブロック1100のラッチ1701へ書き込
む。ただし、同一のウェハ内における相対アドレスは絶
対アドレスの小さなものから大きなものに向かって増や
す。空番号が存在してもよい。これは、次に説明する出
力データ線1084の制御方法にかかわってくる。
In the operation based on the absolute address, the row decoder 1502 of FIG. 21 decodes the row address, and if the row is selected, it can be known. Also,
The column decoder 1501 selects a column address, and
One of the four N blocks 1060 in the row direction is connected to the N block select line 152 connected to it.
Select by 0. Further, the right / left bit is used to select the right or left N block 1060. The AND circuit 150 calculates the result of the row decoder 1502 and the right / left address.
The AND is performed by 5 and the enable signal of the decoder 1501 on the left side is obtained. Also, the result of the row decoder 1502 and the right /
An AND circuit 1505 ANDs the left address logically inverted by the inverter circuit 1504, and the result is used as an enable signal for the decoder 1501. In the selected N block 1060, the address in the N block is decoded by the decoder 1605 in FIG. 22, and the result is output to the control circuit 1170 in FIG. 23 in each neuron block 1100. Also, the selector 16
The selection result of the N block 01 is also output to the control circuit 1170. Decoder 1702 of select line control circuit 1170
When the mode signal is 17 and the self is selected by the control of 1, the value output to the input signal line 1083 is fetched in the latch 1701. By the above operation, data is written in the latches 1701 of all neuron blocks 1100. However, the relative addresses within the same wafer increase from the smallest absolute address to the largest. There may be an empty number. This is related to the control method of the output data line 1084 described below.

【0094】次に、全てのNブロック1060の図22
のラッチ1604を設定する。モード信号を15に設定
しラッチ1604には、そのNブロック1060内のニ
ューロンブロック1100に設定された相対アドレスの
最も大きな値を書き込む。ホストコンピュータ1000
により、モード信号線1080を15に設定し、アクセ
スするNブロック1060の絶対アドレスをアドレス信
号線1081に設定する。Nブロック内ニューロンブロ
ックアドレスの設定は不要である。書き込みたい値を入
力データ線1083に設定する。相対アドレスによる動
作時のNブロック1060における出力データ線108
4の制御、即ち、図17のセレクタ1103の制御は図
22の引き算回路1603により、アドレス信号線10
81からラッチ1604を引いた結果の符号ビットによ
り行う。ラッチ1604には、そのNブロック1060
内のニューロンブロック1100の最大の相対アドレス
が書き込まれているので、そのNブロック1060より
外側のニューロンブロック1100は、ラッチ1604
に書き込まれた値より大きな相対アドレスに設定されて
いる。そのため、アドレス信号線1081がラッチ16
04より大きな値となる場合には、図17のセレクタ1
103を隣のNブロック1060に接続されている出力
データ線1084を選択する。
Next, FIG. 22 for all N blocks 1060.
The latch 1604 is set. The mode signal is set to 15, and the largest value of the relative addresses set in the neuron block 1100 in the N block 1060 is written in the latch 1604. Host computer 1000
Thus, the mode signal line 1080 is set to 15 and the absolute address of the N block 1060 to be accessed is set to the address signal line 1081. It is not necessary to set the neuron block address in the N block. The value to be written is set in the input data line 1083. Output data line 108 in N block 1060 during operation by relative address
4, that is, the control of the selector 1103 in FIG. 17, is performed by the subtraction circuit 1603 in FIG.
It is performed by the sign bit of the result of subtracting the latch 1604 from 81. The latch 1604 includes the N block 1060.
Since the maximum relative address of the inner neuron block 1100 is written, the neuron block 1100 outside the N block 1060 is latched by the latch 1604.
It is set to a relative address larger than the value written in. Therefore, the address signal line 1081 is
When the value is larger than 04, the selector 1 of FIG.
103 selects the output data line 1084 connected to the adjacent N block 1060.

【0095】次に、全てのIOブロック1061、Bブ
ロック1062の図21のラッチ1507にその行のニ
ューロンブロック1100に設定された最大の相対アド
レスを書き込む。ホストコンピュータ1000により、
モード信号線1080を11に設定し、アクセスするI
Oブロック1061またはBブロック1062の絶対ア
ドレスの行アドレスをアドレス信号線1081に設定す
る。右/左アドレス、列アドレス、Nブロック内アドレ
スの設定は不要である。書き込む値を入力データ線10
83に設定する。
Next, the maximum relative address set in the neuron block 1100 of that row is written in the latches 1507 of FIG. 21 of all IO blocks 1061 and B blocks 1062. By the host computer 1000,
Set mode signal line 1080 to 11 and access
The absolute address row address of the O block 1061 or the B block 1062 is set in the address signal line 1081. It is not necessary to set the right / left address, the column address, and the address in the N block. Input data line 10
Set to 83.

【0096】IOブロック1061,Bブロック106
2における出力データ線1084の制御、即ち、図16
のセレクタ1075の制御は図21の引き算回路151
2により、アドレス信号線1081からラッチ1507
を引いた結果の符号ビットにより行う。ラッチ1507
には、その行にあるニューロンブロック1100の最大
の相対アドレスが書き込まれているので、そのブロック
より上方のニューロンブロック1100には、ラッチ1
507の値より大きな相対アドレスが設定されている。
そのため、アドレス信号線1081がラッチ1507よ
り大きな値となる場合には、図16のセレクタ1075
を上方のBブロック1062に接続されている出力デー
タ線1084を選択する。
IO block 1061, B block 106
Control of the output data line 1084 in FIG.
21 is controlled by the subtraction circuit 151 shown in FIG.
2 from the address signal line 1081 to the latch 1507.
It is performed by the sign bit of the result of subtracting. Latch 1507
Since the maximum relative address of the neuron block 1100 in that row is written in, the latch block 1100 is latched in the neuron block 1100 above that block.
A relative address larger than the value of 507 is set.
Therefore, when the address signal line 1081 has a value larger than that of the latch 1507, the selector 1075 in FIG.
To select the output data line 1084 connected to the upper B block 1062.

【0097】次に、全てのIOブロック1061、Bブ
ロック1062の図21のラッチ1506にその行の右
側のニューロンブロック1100に設定された最大の相
対アドレスを書き込む。ホストコンピュータ1000に
より、モード信号線1080を13に設定し、アクセス
するIOブロック1061またはBブロック1062の
絶対アドレスの行アドレスをアドレス信号線1081に
設定する。右/左アドレス、列アドレス、Nブロック内
アドレスの設定は不要である。書き込む値を入力データ
線1083に設定する。図16のセレクタ1072の制
御は図21の引き算回路1511により、アドレス信号
線1081からラッチ1506を引いた結果の符号ビッ
トにより行う。ラッチ1506には、その行の右側にあ
るニューロンブロック1100の最大の相対アドレスが
書き込まれているので、左側のニューロンブロック11
00には、ラッチ1506の値より大きな相対アドレス
が設定されている。そのため、アドレス信号線1081
がラッチ1506より大きな値となる場合には、図16
のセレクタ1072は左側と接続されている出力データ
線1084を選択する。
Next, the maximum relative address set in the neuron block 1100 on the right side of the row is written in the latches 1506 of all IO blocks 1061 and B blocks 1062 in FIG. The mode signal line 1080 is set to 13 by the host computer 1000, and the absolute address row address of the IO block 1061 or B block 1062 to be accessed is set to the address signal line 1081. It is not necessary to set the right / left address, the column address, and the address in the N block. The value to be written is set in the input data line 1083. Control of the selector 1072 of FIG. 16 is performed by the subtraction circuit 1511 of FIG. 21 according to the sign bit obtained by subtracting the latch 1506 from the address signal line 1081. Since the maximum relative address of the neuron block 1100 on the right side of the row is written in the latch 1506, the left neuron block 11
A relative address larger than the value of the latch 1506 is set in 00. Therefore, the address signal line 1081
16 is larger than the latch 1506,
Selector 1072 selects the output data line 1084 connected to the left side.

【0098】次に、IOブロック1061、Bブロック
1062の図16の変換テーブル1070の書き込みを
行う。順方向ネットワークを構成するウェハ1050の
変換テーブル1070は(1)式のf変換を、また、逆
方向ネットワークを構成するウェハ1050の変換テー
ブル1070は(4)(5)式のf’変換を行う。
Next, the conversion table 1070 of FIG. 16 of the IO block 1061 and B block 1062 is written. The conversion table 1070 of the wafer 1050 forming the forward network performs the f conversion of the equation (1), and the conversion table 1070 of the wafer 1050 forming the reverse network performs the f ′ conversion of the equations (4) and (5). .

【0099】ホストコンピュータ1000により、モー
ド信号線1080を9に設定し、アドレス信号線108
1にアクセスするIOブロック1061、Bブロック1
062の絶対アドレスの行アドレスを設定する。右/左
アドレス、列アドレス、Nブロック内アドレスのビット
に変換テーブル1070のアクセスしたいアドレスを設
定する。もし、7ビットで不足する場合は、アドレス信
号線1081のビット数を増やす。入力データ線108
3に書き込みたい値を設定する。IOブロック106
1、各Bブロック1062では、図21の行デコーダ1
502により、行アドレスをデコードし、自分が選択さ
れていれば、入力データ線1083に出力されている値
を変換テーブル1070に書き込む。
The mode signal line 1080 is set to 9 by the host computer 1000, and the address signal line 108 is set.
IO block 1061 and B block 1 that access 1
Set the row address of the absolute address of 062. The address to be accessed in the conversion table 1070 is set to the bits of the right / left address, the column address, and the address in the N block. If 7 bits is insufficient, the number of bits of the address signal line 1081 is increased. Input data line 108
Set the value you want to write to 3. IO block 106
1. In each B block 1062, the row decoder 1 of FIG.
The row address is decoded by 502, and if the row address is selected, the value output to the input data line 1083 is written in the conversion table 1070.

【0100】次に、図12の入力層メモリ1010に入
力層ニューロンの出力を教師信号メモリ1012に教師
信号を書き込む。一般に、ニューラルネットは、いろい
ろなパターンを学習させるので、入力層メモリ1010
は各パターンごとにセグメント化する。同様に、各パタ
ーンに対応する教師信号を書き込む教師信号メモリ10
12もセグメント化する。各パターンごとにアクセスす
るセグメントを変える。ホストコンピュータ1000に
より、それぞれ、モード信号を1、3に設定し、アドレ
ス信号線1081にアドレスを設定し、各メモリに値を
書き込む。
Next, the output of the input layer neuron is written in the input layer memory 1010 of FIG. 12 and the teacher signal is written in the teacher signal memory 1012. Generally, since the neural network learns various patterns, the input layer memory 1010
Is segmented for each pattern. Similarly, the teacher signal memory 10 for writing the teacher signal corresponding to each pattern
12 is also segmented. Change the segment to be accessed for each pattern. The host computer 1000 sets the mode signal to 1 and 3 respectively, sets the address to the address signal line 1081, and writes the value to each memory.

【0101】次に、使用するニューロンブロック110
0のメモリ1160に結合係数の初期値を書き込む。モ
ード信号を19に設定し、まず、アドレス信号線108
1にアクセスするニューロンブロック1100のアドレ
スを設定し、その後アドレス信号線1081にメモリ1
160の書き込むアドレスを設定し、入力データ線10
83に書き込む値を設定する。このように、アドレス信
号線1081を時分割に使用してもよいし、初めポイン
タ1161を0にして、アドレス0から書き込み、順次
ポインタを1づつ進めて、メモリ1160に書き込むこ
ともできる。
Next, the neuron block 110 to be used
The initial value of the coupling coefficient is written in the memory 1160 of 0. The mode signal is set to 19 and the address signal line 108 is set first.
1 sets the address of the neuron block 1100 that accesses 1 and then sets the memory 1 in the address signal line 1081.
Set the write address of 160 and input data line 10
The value to be written in 83 is set. As described above, the address signal line 1081 may be used for time division, or the pointer 1161 may be set to 0 at the beginning to write from the address 0, and the pointer may be sequentially advanced by 1 to write to the memory 1160.

【0102】メモリ1160には、結合するニューロン
ブロック1100の相対アドレスと、それとの結合係数
wと、前回の修正値Δwを書き込む。ただし、Δwの初
期値は0でよい。また、学習動作を途中で中断し、途中
結果をホストコンピュータ1000に読み出し、また、
学習を再開するときなどは、それに応じて、必要な値を
書き込むことになる。また、順方向ネットワークと逆方
向ネットワークの対応している結合係数の初期値は同じ
値にする必要がある。
In the memory 1160, the relative address of the neuron block 1100 to be connected, the connection coefficient w with it, and the previous correction value Δw are written. However, the initial value of Δw may be 0. Further, the learning operation is interrupted halfway, the intermediate result is read out to the host computer 1000, and
When resuming learning, the required value will be written accordingly. Also, the initial values of the corresponding coupling coefficients of the forward network and the backward network must be the same.

【0103】次に、図24に示すようにシーケンスRA
M1013に学習を行うための一連のモード信号と出力
を行うニューロンブロック1100の相対アドレスを書
き込む。
Next, as shown in FIG. 24, the sequence RA
A series of mode signals for learning and a relative address of the neuron block 1100 for outputting are written in M1013.

【0104】図26にその例を示す。図26では、入力
層ニューロン数3、中間層ニューロン数2、出力層ニュ
ーロン数2のニューラルネットの学習を行うためのシー
ケンスRAM1013の例である。図26には、1パタ
ーンの学習を示すが、2パターン以上ある場合は、パタ
ーンを変えるごとに、入力層メモリ、教師信号メモリの
セグメントを変える必要がある。
FIG. 26 shows an example thereof. FIG. 26 shows an example of the sequence RAM 1013 for learning a neural net having three input layer neurons, two intermediate layer neurons, and two output layer neurons. FIG. 26 shows learning of one pattern, but when there are two or more patterns, it is necessary to change the segments of the input layer memory and the teacher signal memory each time the pattern is changed.

【0105】以下に、学習動作を図26に従い、説明す
る。入力層ニューロンの相対アドレスを0〜2、中間層
ニューロンの相対アドレスを3〜4、出力層ニューロン
の相対アドレスを5〜6とする。順方向ネットワークを
構成するボードアドレスを3、逆方向ネットワークを構
成するボードアドレスを4とし、2枚のボードを使用し
ている。
The learning operation will be described below with reference to FIG. The relative addresses of the input layer neurons are 0 to 2, the relative addresses of the intermediate layer neurons are 3 to 4, and the relative addresses of the output layer neurons are 5 to 6. Two boards are used with a board address forming the forward network of 3 and a board address forming the reverse network of 4.

【0106】逆方向ネットワークは入力層ニューロンを
必要としないので、全部で8個のニューロンブロック1
100を使用する。入力層メモリ、教師信号メモリはボ
ードアドレスをそれぞれ0、1である。
Since the reverse network does not require input layer neurons, a total of 8 neuron blocks 1
Use 100. The board addresses of the input layer memory and the teacher signal memory are 0 and 1, respectively.

【0107】まず、ポインタ1086をリセットする。
シーケンスRAM1013はアドレス0に書き込まれて
いる命令とアドレスをそれぞれ、モード信号線108
0、アドレス信号線1081に出力する。それより、モ
ード信号線1080を24に設定し、アドレス信号線に
アドレス5を設定する。また、ボードアドレスを1に設
定する。デコーダ1085によりボードアドレスをデコ
ードし、教師信号メモリ1012の出力を入力データ線
1083へ出力バッファ1040を通して、出力させ
る。教師信号メモリ1012は、アドレス信号線108
1に指定されるアドレス5の値を出力する。逆方向ネッ
トワーク側の出力層の相対アドレスが5のニューロンブ
ロック1100は入力データ線1083に出力されてい
る自分の教師信号を図18のラッチ1123に取り込
む。同様に相対アドレスが6の逆方向ネットワークの出
力層のニューロンブロック1100に対しても行う。
First, the pointer 1086 is reset.
The sequence RAM 1013 stores the command and the address written in the address 0, respectively, in the mode signal line 108.
0, and output to the address signal line 1081. Then, the mode signal line 1080 is set to 24, and the address 5 is set to the address signal line. Also, the board address is set to 1. The board address is decoded by the decoder 1085, and the output of the teacher signal memory 1012 is output to the input data line 1083 through the output buffer 1040. The teacher signal memory 1012 has the address signal line 108.
The value of address 5 designated by 1 is output. The neuron block 1100 whose relative address in the output layer on the reverse direction network side is 5 takes in its own teacher signal output to the input data line 1083 to the latch 1123 in FIG. Similarly, the same operation is performed for the neuron block 1100 in the output layer of the backward network having the relative address of 6.

【0108】ここで、ラッチ、メモリ等に書き込むに
は、アドレスのホールド時間や書き込むデータのホール
ド時間が必要である。そのため、クロック信号線108
2のクロック信号により、それらへのライトイネーブル
信号のタイミングを作る。
Here, in order to write data in a latch, a memory, etc., an address hold time or write data hold time is required. Therefore, the clock signal line 108
The two clock signals make the timing of the write enable signals to them.

【0109】次に、ポインタ1086はクロック信号線
1082よりクロックを入力すると、図12のポインタ
1086が1つ進み、次の命令に移る。モード信号線1
080を25に設定し、図18図のポインタ1161を
リセットする。また、図18のニューロンブロック11
00内のラッチ1124の内容もリセットする。
Next, when the pointer 1086 inputs a clock from the clock signal line 1082, the pointer 1086 of FIG. 12 advances by 1 and moves to the next instruction. Mode signal line 1
080 is set to 25, and the pointer 1161 in FIG. 18 is reset. In addition, the neuron block 11 of FIG.
The contents of the latch 1124 in 00 are also reset.

【0110】次の命令では、順方向動作を行う。モード
信号線1080を26に設定し、アドレス信号線は、入
力層から出力層に向かって、相対アドレスの小さい順に
ニューロンブロック1100が指定する。ボードアドレ
スは入力層ではボードアドレス0を、そして、中間層、
出力層ではボードアドレス3を設定する。指定された入
力層メモリ1010は入力データ線1083へ、その値
を出力し、全てのニューロンブロック1100へブロー
ドキャストする。ニューロンブロック1100では、2
6に設定されているモード信号線1080を図23のデ
コーダ1702でデコードし、図18のニューロンブロ
ック1100の各セレクタを制御する。セレクタ115
0はメモリ1160の結合係数wと入力データ線108
3を乗算器1130へ出力する。乗算器1130によ
り、結合係数wとニューロンの出力xとのシナプス演
算、即ち、乗算を行う。セレクタ1151は乗算器11
30とラッチ1124を加算器1140へ出力する。ラ
ッチ1124に加算器1140の出力を書き込む。セレ
クタ1152はセレクタ1124を選択する。ラッチ1
125はその値を取り込む。図23の制御回路1170
の比較回路1704により、メモリ1160の結合元ア
ドレスとアドレス信号線1081に出力されているアド
レスを比較し、一致しているときに、ラッチ1124と
乗算器1130の出力を加算し、その結果をラッチ11
24に書き込む。そして、図18のポインタ1161の
値を1つ進める。このように、順次、アドレス信号線1
081に送られる出力元の相対アドレスと入力データ線
1083に送られるその出力を入力し、累積加算を行
う。メモリ1160には、結合元アドレスの小さい順に
書き込んでおく。また、アドレス信号線1081と図2
3のラッチ1701に書き込まれた自分の相対アドレス
を比較回路1703により、比較し、一致していれば、
累積加算の結果、即ち、ラッチ1125の内部エネルギ
ー値uを図17のセレクタ1101、1103、出力デ
ータ線1084を通して、図16のセレクタ1072に
送られる。IOブロック1061、Bブロック1062
の図21のデコーダ1503は、モード信号が26に設
定されているとき、セレクタ1073はセレクタ107
2側を選択し、セレクタ1074は変換テーブル107
0を選択する。また、セレクタ1076は下側から送ら
れる入力データ線1083をそのまま、サイドのNブロ
ック1060に送るように、入力データ線1083側を
選択する。セレクタ1072、1075はアドレス信号
線1081を前述の方法により、制御する。これによ
り、相対アドレスを指定されたニューロンブロック11
00の出力である内部エネルギー値uはその行の変換テ
ーブル1070に送られ、ニューロンの出力xに変換さ
れ、出力データ線1084により、図12のコントロー
ルボード1003へ送られる。図12のセレクタ105
2は、出力データ線1084の値を、そのまま、入力デ
ータ線1083へ出力する。
The next instruction performs a forward operation. The mode signal line 1080 is set to 26, and the address signal line is designated by the neuron block 1100 from the input layer toward the output layer in ascending order of relative address. The board address is 0 in the input layer, and the middle layer,
Board address 3 is set in the output layer. The designated input layer memory 1010 outputs the value to the input data line 1083 and broadcasts it to all neuron blocks 1100. In the neuron block 1100, 2
The mode signal line 1080 set to 6 is decoded by the decoder 1702 of FIG. 23, and each selector of the neuron block 1100 of FIG. 18 is controlled. Selector 115
0 is the coupling coefficient w of the memory 1160 and the input data line 108.
3 is output to the multiplier 1130. The multiplier 1130 performs synapse calculation, that is, multiplication between the coupling coefficient w and the output x of the neuron. The selector 1151 is the multiplier 11
30 and the latch 1124 are output to the adder 1140. The output of the adder 1140 is written in the latch 1124. The selector 1152 selects the selector 1124. Latch 1
125 takes in the value. The control circuit 1170 of FIG.
Comparing circuit 1704 compares the connection source address of memory 1160 with the address output to address signal line 1081, and when they match, the outputs of latch 1124 and multiplier 1130 are added, and the result is latched. 11
Write to 24. Then, the value of the pointer 1161 in FIG. 18 is advanced by one. In this way, the address signal line 1 is sequentially
The relative address of the output source sent to 081 and the output sent to the input data line 1083 are input, and cumulative addition is performed. The memory 1160 is written in the ascending order of the connection source address. The address signal line 1081 and FIG.
The relative address written in the latch 1701 of No. 3 is compared by the comparison circuit 1703, and if they match,
The result of cumulative addition, that is, the internal energy value u of the latch 1125 is sent to the selector 1072 of FIG. 16 through the selectors 1101 and 1103 of FIG. 17 and the output data line 1084. IO block 1061, B block 1062
21 of FIG. 21, when the mode signal is set to 26, the selector 1073 selects the selector 107.
The second side is selected, and the selector 1074 selects the conversion table 107.
Select 0. Further, the selector 1076 selects the input data line 1083 side so that the input data line 1083 sent from the lower side is sent to the N block 1060 on the side as it is. The selectors 1072 and 1075 control the address signal line 1081 by the method described above. As a result, the neuron block 11 whose relative address is specified
The internal energy value u, which is the output of 00, is sent to the conversion table 1070 of that row, converted into the output x of the neuron, and sent to the control board 1003 of FIG. 12 through the output data line 1084. Selector 105 of FIG.
2 outputs the value of the output data line 1084 as it is to the input data line 1083.

【0111】また、このモードにおける逆方向ネットワ
ーク側では、図18において、アドレス信号線1081
に自分の相対アドレスが出力されたときに、入力データ
線1083の値をラッチ1122に取り込む。
On the reverse network side in this mode, the address signal line 1081 in FIG.
When its own relative address is output, the value of the input data line 1083 is fetched in the latch 1122.

【0112】次の動作では、モード信号線1080を2
7に設定し、中間層と出力層の相対アドレスをアドレス
信号1081に順次設定していく。相対アドレスを指定
された順方向ネットワークのニューロンブロック110
0は再び図18のラッチ1125の内容、即ち、内部エ
ネルギー値uを図16のIOブロック1061、Bブロ
ック1062へ送る。モード27において、IOブロッ
ク1061、Bブロック1062のセレクタ1074は
セレクタ1072を選択する。そのため、内部エネルギ
ー値uがそのまま下側の出力データ線1084へ出力す
る。アドレス信号線1081のデコード方法に関して
は、モード26と同様である。内部エネルギー値uは、
図12のコントロールボードを通り、出力データ線10
84へ出力される。一方、逆方向ネットワークのIOブ
ロック1061、Bブロック1062では、セレクタ1
073を入力データ線1083側に、セレクタ1074
を変換テーブル1070側に、セレクタ1076をセレ
クタ1074側に設定する。入力データ線1083によ
り送られる内部エネルギー値uは、変換テーブル107
0により、f’変換して、f’(u)となり、サイドの
Nブロック1060へ入力データ線1083により出力
する。逆方向ネットワークの図18のニューロンブロッ
ク1100では、アドレス信号線1081に出力される
アドレスと自分の相対アドレスが一致すれば、入力デー
タ線1083に出力されているf’(u)をラッチ11
21に取り込む。
In the next operation, the mode signal line 1080 is set to 2
7, and the relative addresses of the intermediate layer and the output layer are sequentially set in the address signal 1081. Forward network neuron block 110 with relative addresses
0 again sends the contents of the latch 1125 of FIG. 18, that is, the internal energy value u to the IO block 1061 and B block 1062 of FIG. In mode 27, the selectors 1074 of the IO block 1061 and B block 1062 select the selector 1072. Therefore, the internal energy value u is output to the lower output data line 1084 as it is. The decoding method of the address signal line 1081 is similar to that of the mode 26. The internal energy value u is
Output data line 10 through the control board of FIG.
It is output to 84. On the other hand, in the reverse direction IO block 1061 and B block 1062, the selector 1
073 to the input data line 1083 side, selector 1074
To the conversion table 1070 side and the selector 1076 to the selector 1074 side. The internal energy value u sent by the input data line 1083 is converted into the conversion table 107.
By 0, f ′ conversion is performed to f ′ (u), which is output to the side N block 1060 through the input data line 1083. In the reverse direction network neuron block 1100 of FIG. 18, if the address output to the address signal line 1081 and its own relative address match, f ′ (u) output to the input data line 1083 is latched 11.
Take in 21.

【0113】次にモード信号線1080を28に設定す
る。逆方向ネットワークの出力層のニューロンブロック
1100はセレクタを次のように設定する。図18にお
いて、セレクタ1151はラッチ1122とラッチ11
23を加算器1140に出力する。加算器1140によ
り(t−x)を計算し、ラッチ1124へ書き込む。セ
レクタ1150はラッチ1124とラッチ1121を乗
算器1130へ出力する。乗算器1130により、ラッ
チ1124の(t−x)とラッチ1121のf’(u)
の乗算を行い出力層の学習信号δを計算する。セレクタ
1152は乗算器1130の出力をラッチ1125へ出
力する。ラッチ1125に学習信号δを書き込む。
Next, the mode signal line 1080 is set to 28. The neuron block 1100 in the output layer of the backward network sets the selector as follows. In FIG. 18, the selector 1151 includes latches 1122 and 11
23 is output to the adder 1140. (T−x) is calculated by the adder 1140 and written in the latch 1124. The selector 1150 outputs the latch 1124 and the latch 1121 to the multiplier 1130. The multiplier 1130 causes (t−x) of the latch 1124 and f ′ (u) of the latch 1121.
And the learning signal δ of the output layer is calculated. Selector 1152 outputs the output of multiplier 1130 to latch 1125. The learning signal δ is written in the latch 1125.

【0114】次の命令では、モード信号線1080を2
5に設定し、図18のポインタ1161をリセットす
る。また、図18のニューロンブロック1100内のラ
ッチ1124をリセットする。
In the next instruction, the mode signal line 1080 is set to 2
5, the pointer 1161 in FIG. 18 is reset. Further, the latch 1124 in the neuron block 1100 of FIG. 18 is reset.

【0115】次の命令では、モード信号線1080を2
9に設定し、出力層の相対アドレスをアドレス信号線1
081に小さい順に設定していく。相対アドレスを指定
された逆方向ネットワークの図18のニューロンブロッ
ク1100はラッチ1125の内容、即ち、出力層の学
習信号δを図16のIOブロック1061、Bブロック
1062へ送る。モード29において、IOブロック1
061、Bブロック1062の図16のセレクタ107
4はセレクタ1072を選択するので、学習信号δがそ
のまま出力データ線1084へ出力される。アドレス信
号線1081のデコードに関しては、モード26と同様
である。学習信号δは、図12のコントロールボード1
003を通り、入力データ線1083へ出力される。順
方向ネットワークのIOブロック1061、Bブロック
1062では、図16のセレクタ1076を下側と接続
されている入力データ線1083側に設定する。逆方向
ネットワークから送られる学習信号δは、サイドのNブ
ロック1060へ出力される。順方向ネットワークの図
18のニューロンブロック1100では、アドレス信号
線1081に出力されるアドレスと自分の相対アドレス
が一致すれば、入力データ線1083に出力されている
学習信号δをラッチ1122に取り込む。
In the next instruction, the mode signal line 1080 is set to 2
9 and set the relative address of the output layer to the address signal line 1
It is set to 081 in ascending order. The neuron block 1100 of FIG. 18 of the backward network specified with the relative address sends the contents of the latch 1125, that is, the learning signal δ of the output layer to the IO block 1061 and the B block 1062 of FIG. IO block 1 in mode 29
061, selector 107 of B block 1062 in FIG.
Since 4 selects the selector 1072, the learning signal δ is directly output to the output data line 1084. The decoding of the address signal line 1081 is the same as in mode 26. The learning signal δ corresponds to the control board 1 of FIG.
It is output to the input data line 1083 through 003. In the IO block 1061 and B block 1062 of the forward network, the selector 1076 of FIG. 16 is set to the input data line 1083 side connected to the lower side. The learning signal δ sent from the reverse network is output to the side N block 1060. In the neuron block 1100 of FIG. 18 of the forward network, if the address output to the address signal line 1081 and its own relative address match, the learning signal δ output to the input data line 1083 is fetched in the latch 1122.

【0116】また、逆方向ネットワークの中間層のニュ
ーロンブロック1100では、セレクタ1150はメモ
リ1160の結合係数wと入力データ線1083を乗算
器1130へ出力する。乗算器1130により、結合係
数wと学習信号δとの乗算を行う。セレクタ1151は
乗算器1130とラッチ1124を加算器1140へ出
力する。ラッチ1124は加算器1140の出力を取り
込む。図23の比較回路1704により、メモリ116
0が出力する結合元アドレスとアドレス信号線1081
を比較し、一致しているときに、ラッチ1124と乗算
器1130の出力を加算し、ラッチ1124に書き込
む。そして、ポインタ1161の値を1つ進める。この
ように、順次、アドレス信号線1081と入力データ線
1083に送られてくる、出力元のニューロンブロック
1100の相対アドレスとその出力を入力し、Σw・δ
の累積加算を行う。
In the neuron block 1100 in the intermediate layer of the reverse network, the selector 1150 outputs the coupling coefficient w of the memory 1160 and the input data line 1083 to the multiplier 1130. The multiplier 1130 multiplies the coupling coefficient w by the learning signal δ. The selector 1151 outputs the multiplier 1130 and the latch 1124 to the adder 1140. The latch 1124 takes in the output of the adder 1140. By the comparison circuit 1704 of FIG.
The source address and the address signal line 1081 output by 0
Are compared, and when they match, the outputs of the latch 1124 and the multiplier 1130 are added and written to the latch 1124. Then, the value of the pointer 1161 is advanced by one. In this manner, the relative address of the neuron block 1100 as the output source and its output, which are sequentially sent to the address signal line 1081 and the input data line 1083, are input, and Σw · δ
The cumulative addition of is performed.

【0117】次の命令では、モード信号線1080を3
0に設定する。逆方向ネットワークの出力層のニューロ
ンブロック1100はセレクタを次のように設定する。
図18において、セレクタ1150はラッチ1124と
ラッチ1121を乗算器1130へ出力する。乗算器1
130により、ラッチ1124のΣw・δとf’(u)
の乗算を行い中間層の学習信号δを計算する。セレクタ
1152は乗算器1130の出力をラッチ1125へ出
力する。ラッチ1125に学習信号δを書き込む。
In the next instruction, the mode signal line 1080 is set to 3
Set to 0. The neuron block 1100 in the output layer of the backward network sets the selector as follows.
In FIG. 18, the selector 1150 outputs the latch 1124 and the latch 1121 to the multiplier 1130. Multiplier 1
130, Σw · δ and f ′ (u) of the latch 1124
And the learning signal δ of the intermediate layer is calculated. Selector 1152 outputs the output of multiplier 1130 to latch 1125. The learning signal δ is written in the latch 1125.

【0118】次に、モード信号線1080を29に設定
し、中間層の学習信号δを全ニューロンブロック110
0にブロードキャストする。順方向ネットワークのニュ
ーロンブロック1100は、アドレス信号線1081の
値と図23のラッチ1701に書き込まれた自分の相対
アドレスを比較回路1703により、比較し、一致して
いれば、学習信号δをラッチ1122に取り込む。
Next, the mode signal line 1080 is set to 29, and the learning signal δ of the intermediate layer is set to all neuron blocks 110.
Broadcast to 0. The neuron block 1100 of the forward network compares the value of the address signal line 1081 with its own relative address written in the latch 1701 of FIG. 23 by the comparison circuit 1703. Take in.

【0119】中間層が2層以上ある場合は、この後、再
び、モード30の命令を行い、学習信号δを計算し、そ
の後モード29により順方向ネットワークへ送ればよ
い。
When the number of intermediate layers is two or more, after that, the command of the mode 30 is again given, the learning signal δ is calculated, and then the mode 29 is sent to the forward network.

【0120】次の命令では、モード信号線1080を2
5に設定し、図18のポインタ1161をリセットす
る。
In the next instruction, the mode signal line 1080 is set to 2
5, the pointer 1161 in FIG. 18 is reset.

【0121】次に、モード信号線1080を31に設定
し、アドレス信号線1081を入力層から中間層に向か
って相対アドレスの小さい順に指定する。入力層に関し
ては、入力層メモリ1010から出力する。中間層に関
して、順方向ネットワークの中間層のニューロンブロッ
ク1100はその内部エネルギー値uをIOブロック1
061、Bブロック1062の変換テーブル1070で
f変換し、その値をブロードキャストする。順方向ネッ
トワークの図18のニューロンブロック1100の各セ
レクタを次のように制御する。セレクタ1150はラッ
チ1122と入力データ線1083を乗算器1130へ
出力する。乗算器1130により、ラッチ1122の学
習信号δとニューロンの出力xの乗算を行う。セレクタ
1151はメモリ1160の結合係数wとη乗算機11
32を加算器1140へ出力する。また、α乗算器11
31はメモリ1160の前回の修正値Δw’を入力し、
α倍し、αΔw’を出力する。加算器1141は乗算器
1130の出力δ・xとα乗算器1131の出力αΔ
w’を入力し、加算してη乗算器1132に出力する。
η乗算器1132の出力は、修正値である。メモリ11
60のΔw’には、ηを掛ける前の値を書き込む。
Next, the mode signal line 1080 is set to 31, and the address signal lines 1081 are designated from the input layer toward the intermediate layer in ascending order of relative address. With respect to the input layer, it is output from the input layer memory 1010. With respect to the intermediate layer, the neuron block 1100 in the intermediate layer of the forward network calculates its internal energy value u by IO block 1
061, f conversion is performed by the conversion table 1070 of the B block 1062, and the value is broadcast. Each selector of the neuron block 1100 of FIG. 18 of the forward network is controlled as follows. The selector 1150 outputs the latch 1122 and the input data line 1083 to the multiplier 1130. The multiplier 1130 multiplies the learning signal δ of the latch 1122 by the output x of the neuron. The selector 1151 uses the coupling coefficient w of the memory 1160 and the η multiplier 11
32 is output to the adder 1140. Also, the α multiplier 11
31 inputs the previous correction value Δw ′ of the memory 1160,
Multiply by α and output αΔw ′. The adder 1141 outputs the output δ · x of the multiplier 1130 and the output αΔ of the α multiplier 1131.
w ′ is input, added, and output to the η multiplier 1132.
The output of η multiplier 1132 is a modified value. Memory 11
The value before multiplication by η is written in Δw ′ of 60.

【0122】[0122]

【数6】 [Equation 6]

【0123】[0123]

【数7】 [Equation 7]

【0124】定数ηは広範囲な値となるのでこのように
することにより、メモリ1160へ書き込むΔw’のビ
ット数を節約することができる。加算器1140によ
り、結合係数wを修正し、メモリ1160にその修正結
果を書き込む。また、以上の修正動作は、図23の比較
回路1704により、メモリ1160の結合元アドレス
とアドレス信号線1081が一致しているときに行う。
Since the constant η has a wide range of values, the number of bits of Δw ′ written in the memory 1160 can be saved by doing so. The adder 1140 corrects the coupling coefficient w and writes the correction result in the memory 1160. The above correction operation is performed by the comparison circuit 1704 of FIG. 23 when the coupling source address of the memory 1160 and the address signal line 1081 match.

【0125】次に、モード信号線1080を25に設定
し、図18のポインタ1161をリセットする。
Next, the mode signal line 1080 is set to 25, and the pointer 1161 in FIG. 18 is reset.

【0126】次に、モード信号線1080を32に設定
し、逆方向ネットワークの出力層のニューロンブロック
1100の相対アドレスをアドレス信号線1081に設
定し、学習信号δをブロードキャストする。もし、中間
層が2層以上ある場合は、中間層の学習信号δもブロー
ドキャストする。逆方向ネットワークの第18図のニュ
ーロンブロック1100の各セレクタをモード31の順
方向ネットワークの結合係数wの修正と同じように設定
する。乗算器1130により、ラッチ1122のニュー
ロンの出力xと入力データ線1083に出力される学習
信号δの乗算を行い、η乗算器1132、加算器114
0、α乗算器1131、加算器1141により、修正値
Δw’および修正した結合係数wを計算し、メモリ11
60に書き込む。
Next, the mode signal line 1080 is set to 32, the relative address of the neuron block 1100 in the output layer of the backward network is set to the address signal line 1081, and the learning signal δ is broadcast. If there are two or more intermediate layers, the learning signal δ of the intermediate layer is also broadcast. Each selector of the neuron block 1100 of FIG. 18 of the backward network is set in the same manner as the correction of the coupling coefficient w of the forward network of the mode 31. The multiplier 1130 multiplies the output x of the neuron of the latch 1122 by the learning signal δ output to the input data line 1083 to obtain the η multiplier 1132 and the adder 114.
The corrected value Δw ′ and the corrected coupling coefficient w are calculated by 0, the α multiplier 1131 and the adder 1141, and the memory 11
Write to 60.

【0127】以上の動作を各パターンごとに、入力層メ
モリ、教師信号メモリのセグメントを変えて行うことに
より、学習動作を行うことができる。また、出力層メモ
リ1011は、出力データ線1084に出力される順方
向ネットワークの出力層ニューロンの出力を取り込む。
ホストコンピュータ1000は出力層メモリ1011を
外部バス1021から読み出し、期待する出力となって
いるか調べることができる。
The learning operation can be performed by changing the segments of the input layer memory and the teacher signal memory for each pattern for the above operation. Further, the output layer memory 1011 captures the output of the output layer neuron of the forward network which is output to the output data line 1084.
The host computer 1000 can read the output layer memory 1011 from the external bus 1021 and check whether the output is as expected.

【0128】図12のアプリケーションの例として、例
えば、図12のディジタイザー1001により、手書き
文字を入力し、ホストコンピュータ1000により入力
した文字の座標を正規化し、ニューラルネットの入力と
し、手書き文字を認識するシステムを作ることができ
る。図12のシステムにおいて、入力層p個、中間層q
個、出力層r個の階層型ニューラルネットの1パターン
の1回の学習に要する時間は、1回に要する累積加算の
時間をtとすると、ほぼ、
As an example of the application shown in FIG. 12, for example, the digitizer 1001 shown in FIG. 12 inputs handwritten characters, the coordinates of the characters input by the host computer 1000 are normalized, and the handwritten characters are recognized by the input of the neural network. You can create a system that does. In the system of FIG. 12, p input layers and an intermediate layer q
The time required for one learning of one pattern of a multi-layered neural network of 1 and output layer r is almost the same as

【0129】[0129]

【数8】(2p+4q+5r)・t(s) (8) となる。例えば、手書き文字認識にpを256(16ド
ット×16ドット)、qを100、rを26、tを10
0nsとすると、1パターンの1回の学習を約0.1m
sで行うことができる。1文字の学習に1000回の繰
り返しが必要としても、10文字パターンの学習をわず
か1秒で行うことができる。
(8) (2p + 4q + 5r) · t (s) (8) For example, p is 256 (16 dots × 16 dots), q is 100, r is 26, and t is 10 for handwritten character recognition.
Assuming 0 ns, one learning per pattern is about 0.1 m
s can be done. Even if it takes 1000 times to learn one character, it is possible to learn a 10-character pattern in only 1 second.

【0130】[0130]

【発明の効果】本発明によれば、ニューラルネットを高
速に学習させることができる。また、ウェハスケール集
積回路で構成するのに好都合で、複数のウェハで構成す
ることも可能である。また、その設計工数も少ない。そ
のため、大規模なニューラルネットを高速に計算がで
き、かつコンパクトなニューロコンピュータ用のウェハ
スケール集積回路を製造することができる。
According to the present invention, a neural network can be learned at high speed. Further, it is convenient to form a wafer scale integrated circuit, and it is also possible to form a plurality of wafers. Also, the number of designing steps is small. Therefore, a large-scale neural network can be calculated at high speed, and a compact wafer-scale integrated circuit for a neurocomputer can be manufactured.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示す図である。FIG. 1 is a diagram showing an embodiment of the present invention.

【図2】ニューラルネットを構成するニューロンモデル
を示す図である。
FIG. 2 is a diagram showing a neuron model forming a neural net.

【図3】3層の階層型ニューラルネットを示す図であ
る。
FIG. 3 is a diagram showing a three-layer hierarchical neural network.

【図4】ニューラルネットを高速に計算する専用ハード
ウェアを示す図である。
FIG. 4 is a diagram showing dedicated hardware for calculating a neural network at high speed.

【図5】本発明の動作の詳細について説明する図であ
る。
FIG. 5 is a diagram for explaining the details of the operation of the present invention.

【図6】本発明による演算の流れを示す図である。FIG. 6 is a diagram showing a flow of calculation according to the present invention.

【図7】本発明で用いる機能ブロックの一例の詳細を示
す図である。
FIG. 7 is a diagram showing details of an example of a functional block used in the present invention.

【図8】本発明で用いる機能ブロックの一例の詳細を示
す図である。
FIG. 8 is a diagram showing details of an example of a functional block used in the present invention.

【図9】本発明で用いる機能ブロックの一例の詳細を示
す図である。
FIG. 9 is a diagram showing details of an example of a functional block used in the present invention.

【図10】本発明の他の一実施例を示す図である。FIG. 10 is a diagram showing another embodiment of the present invention.

【図11】本発明の他の一実施例を示す図である。FIG. 11 is a diagram showing another embodiment of the present invention.

【図12】本発明のニューロコンピューティングシステ
ムの全体を示す図である。
FIG. 12 is a diagram showing an entire neurocomputing system of the present invention.

【図13】本発明のニューロコンピューティングシステ
ムのウェハの構成を示す図である。
FIG. 13 is a diagram showing a structure of a wafer of the neuro-computing system of the present invention.

【図14】ウェハの信号線の構成と配置を示す図であ
る。
FIG. 14 is a diagram showing a configuration and arrangement of signal lines on a wafer.

【図15】ウェハの各ブロックへの電源供電方法および
WSI基板の構成を示す図である。
FIG. 15 is a diagram showing a method of supplying power to each block of a wafer and a configuration of a WSI substrate.

【図16】Bブロック(IOブロック)を示す図であ
る。
FIG. 16 is a diagram showing a B block (IO block).

【図17】Nブロックを示す図である。FIG. 17 is a diagram showing N blocks.

【図18】ニューロンブロックの詳細を示す図である。FIG. 18 is a diagram showing details of a neuron block.

【図19】本発明のシステムをチップにより構成した場
合について説明する図である。
FIG. 19 is a diagram illustrating a case where the system of the present invention is configured by a chip.

【図20】IOブロック、Bブロック、Nブロック、N
ブロック内のニューロンブロックにアクセスするための
アドレスについて説明する図である。
FIG. 20 is an IO block, B block, N block, N
It is a figure explaining the address for accessing the neuron block in a block.

【図21】図16の制御回路を示す図である。FIG. 21 is a diagram showing the control circuit of FIG. 16;

【図22】図17の制御回路を示す図である。22 is a diagram showing the control circuit of FIG. 17. FIG.

【図23】図18の制御回路を示す図である。23 is a diagram showing the control circuit of FIG. 18. FIG.

【図24】シーケンスRAMについて説明する図であ
る。
FIG. 24 is a diagram illustrating a sequence RAM.

【図25】モード信号とその動作の一例を示す図であ
る。
FIG. 25 is a diagram showing an example of a mode signal and its operation.

【図26】図24のシーケンスRAMに書き込む命令の
一例を示す図である。
26 is a diagram showing an example of an instruction to write to the sequence RAM of FIG. 24. FIG.

【符号の説明】[Explanation of symbols]

120F,121F,120B,121B…計算ユニット、123,124…制御回
路、125〜127…セレクタ、128…バッファ、130…制御信
号発生回路、131,132…関数変換回路、140…出力バス、
141…入力バス、142〜145…制御信号線、150…外部入力
端子、151…外部出力端子、160…乗算器。
120F, 121F, 120B, 121B ... Calculation unit, 123, 124 ... Control circuit, 125-127 ... Selector, 128 ... Buffer, 130 ... Control signal generation circuit, 131, 132 ... Function conversion circuit, 140 ... Output bus,
141 ... Input bus, 142-145 ... Control signal line, 150 ... External input terminal, 151 ... External output terminal, 160 ... Multiplier.

フロントページの続き (72)発明者 柳生 正義 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 山田 稔 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 柴田 克成 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内Front page continuation (72) Masayoshi Yagyu, 1-280, Higashi Koikekubo, Kokubunji, Tokyo, Central Research Laboratory, Hitachi, Ltd. (72) Minoru Yamada, 1-280, Higashi Koikeku, Tokyo Kokubunji City, Central Research Laboratory, Hitachi Ltd. (72) Inventor Katsunari Shibata 1-280, Higashi Koigokubo, Kokubunji, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】データバスにより接続される半導体集積回
路と、入力値を記憶する第1のメモリと、出力の所望す
る値を記憶する第2のメモリと、出力値を記憶する第3
のメモリと、これらを制御する制御回路を備えた情報処
理システムであって、 上記半導体集積回路はニューロンモデルを計算する複数
の機能ブロックを有し、上記機能ブロックの1つは上記
データバスにより、自他の機能ブロックの少なくともい
ずれかへデータを転送する手段と、 複数の上記入力値とそれらの入力値に対応する上記所望
する値に対して、上記ニューロンモデル間の重み値を修
正する手段を有することを特徴とする情報処理システ
ム。
1. A semiconductor integrated circuit connected by a data bus, a first memory for storing an input value, a second memory for storing a desired output value, and a third memory for storing an output value.
And a control circuit for controlling them, the semiconductor integrated circuit has a plurality of functional blocks for calculating a neuron model, and one of the functional blocks is provided by the data bus. Means for transferring data to at least one of the other functional blocks, and means for modifying the weight value between the neuron models for the plurality of input values and the desired value corresponding to those input values. An information processing system having.
【請求項2】データバスにより接続される少なくとも1
つのウェハスケール集積回路と、入力値を記憶する第1
のメモリと、出力の所望する値を記憶する第2のメモリ
と、出力値を記憶する第3のメモリと、これらを制御す
る制御回路を備えた情報処理システムであって、 上記ウェハスケール集積回路はニューロンモデルを計算
する複数の機能ブロックを有し、上記機能ブロックの1
つは上記データバスにより、自他の機能ブロックの少な
くともいずれかへデータを転送する手段と、 複数の上記入力値とそれらの入力値に対応する上記所望
する値に対して、上記ニューロンモデル間の重み値を修
正する手段を有することを特徴とする情報処理システ
ム。
2. At least one connected by a data bus
One wafer-scale integrated circuit and a first memory for storing input values
An information processing system comprising: a memory, a second memory for storing a desired value of output, a third memory for storing an output value, and a control circuit for controlling these; Has a plurality of functional blocks for calculating a neuron model, and one of the above functional blocks
One is means for transferring data to at least one of the other functional blocks by the data bus, and a plurality of the input values and the desired values corresponding to those input values, between the neuron models. An information processing system comprising means for modifying a weight value.
【請求項3】データバスにより接続される少なくとも1
つのウェハスケール集積回路と、入力値を記憶する第1
のメモリと、出力の所望する値を記憶する第2のメモリ
と、出力値を記憶する第3のメモリと、これらを制御す
る制御回路を備えた情報処理システムであって、 上記ウェハスケール集積回路はニューロンモデルを計算
する複数の機能ブロックを有し、上記機能ブロックの1
つは上記データバスにより、自他の機能ブロックの少な
くともいずれかへデータを転送する手段を有し、 少なくとも1つの上記機能ブロックにより中間層、出力
層とその出力が決定していく第1の階層的ネットワーク
を構成すると共に、少なくとも1つの上記機能ブロック
により出力層、中間層とその出力が決定していく第2の
階層的ネットワークを構成し、 上記第1の階層的ネットワークと上記第2の階層的ネッ
トワークの上記機能ブロックは1対1に対応し、複数の
上記入力値とそれらの入力値に対応する上記所望する値
に対して、上記ニューロンモデル間の結合係数を修正す
る手段を有することを特徴とする情報処理システム。
3. At least one connected by a data bus
One wafer-scale integrated circuit and a first memory for storing input values
An information processing system comprising: a memory, a second memory for storing a desired value of output, a third memory for storing an output value, and a control circuit for controlling these; Has a plurality of functional blocks for calculating a neuron model, and one of the above functional blocks
One has means for transferring data to at least one of the other functional blocks by the data bus, and the first layer in which the intermediate layer, the output layer and the output thereof are determined by at least one of the functional blocks. A second hierarchical network in which the output layer, the intermediate layer, and the output thereof are determined by at least one of the functional blocks, and the first hierarchical network and the second hierarchical layer are configured. The functional blocks of the dynamic network have a one-to-one correspondence, and have means for modifying the coupling coefficient between the neuron models with respect to the plurality of input values and the desired values corresponding to the input values. A characteristic information processing system.
【請求項4】上記ウェハスケール集積回路の複数の機能
ブロックは、物理的に決まる絶対的なアドレスと外部か
ら設定する論理的なアドレスにより、外部からアクセス
する請求項3記載の情報処理システム。
4. The information processing system according to claim 3, wherein the plurality of functional blocks of the wafer scale integrated circuit are externally accessed by an absolute address physically determined and a logical address externally set.
【請求項5】上記第1の階層的ネットワークと上記第2
の階層的ネットワークの1対1に対応する2つの上記機
能ブロックは、上記論理的なアドレスを同一に設定し、
上記論理的なアドレスにより対応付けを判別する請求項
4記載の情報処理システム。
5. The first hierarchical network and the second hierarchical network.
The above-mentioned two functional blocks corresponding to one-to-one of the hierarchical network of
The information processing system according to claim 4, wherein the association is determined based on the logical address.
【請求項6】入力値を記憶する第1のメモリと、出力の
所望する値を記憶する第2のメモリと、出力値を記憶す
る第3のメモリと、複数の機能ブロックと、これら制御
する制御回路を備え、上記機能ブロックは1つのニュー
ロンモデルを計算する情報処理装置を有する情報処理シ
ステムであって、 上記情報処理装置はホストコンピュータと接続され、上
記ホストコンピュータは上記情報処理装置の初期設定を
行い、上記情報処理装置を動作させたとき、上記出力値
を記憶する第3のメモリから各ニューロンモデルの出力
値を得て、上記動作中は上記ホストコンピュータを介在
させず制御する手段を有することを特徴とする情報処理
システム。
6. A first memory for storing an input value, a second memory for storing a desired output value, a third memory for storing an output value, and a plurality of functional blocks, which control these. An information processing system including a control circuit, the functional block having an information processing device for calculating one neuron model, wherein the information processing device is connected to a host computer, and the host computer is an initial setting of the information processing device. When the information processing apparatus is operated, the output value of each neuron model is obtained from the third memory that stores the output value, and during the operation, there is provided means for controlling without intervening the host computer. An information processing system characterized by the above.
【請求項7】入力値を記憶する第1のメモリと、出力の
所望する値を記憶する第2のメモリと、出力値を記憶す
る第3のメモリと、複数の機能ブロックと、これらを制
御する制御回路を備え、上記機能ブロックは1つのニュ
ーロンモデルを計算する情報処理装置を有する情報処理
システムであって、 上記情報処理装置はホストコンピュータと接続され、上
記機能ブロックはニューロンモデルの出力値を計算する
第1の機能と、ニューロンモデルの学習信号値を計算す
る第2の機能を有し、動作時は上記第1の機能または上
記第2の機能のどちらか一方の動作を行うように構成
し、 上記ホストコンピュータは、上記機能ブロックを上記第
1の機能または上記第2の機能として動作させるか、各
々の上記機能ブロックを設定するように制御する手段を
有することを特徴とする情報処理システム。
7. A first memory for storing an input value, a second memory for storing a desired output value, a third memory for storing an output value, a plurality of functional blocks, and controlling them. An information processing system including a control circuit for controlling a neuron model, wherein the functional block is an information processing system having an information processing device that calculates one neuron model, wherein the information processing device is connected to a host computer, It has a first function of calculating and a second function of calculating a learning signal value of a neuron model, and is configured to perform either one of the first function and the second function during operation. Then, the host computer controls the function block to operate as the first function or the second function, or to set each of the function blocks. The information processing system characterized by having steps.
【請求項8】外部から信号を入力し上記信号を保持して
出力する入力層、信号を入力しニューロン計算ユニット
におけるニューロンモデルの出力値を計算して出力する
第1の中間層、信号を入力しニューロン計算ユニットに
おけるニューロンモデルの出力値を計算して出力する第
1の出力層、上記第1の中間層又は上記第1の出力層の
ニューロンモデルの重み値を修正する修正手段を備え、
外部から信号を入力し、入力層、第1の中間層、第1の
出力層の順に信号を処理し、ニューロンモデルの出力値
を決定する第1のネットワークと、 学習信号を計算して出力する第2の出力層、上記修正手
段の出力値と上記学習信号値を計算して出力する第2の
中間層を備え、与えられた入力に対して期待される出力
値を入力し、第2の出力層、第2の中間層の順に信号を
処理し、学習信号値を決定する第2のネットワークと、 上記第1のネットワークと上記第2のネットワーク間
で、相互にデータを通信する通信手段とを備え、 上記通信手段によって、上記第1のネットワークと上記
第2のネットワーク間で、上記ニューロンモデルの出力
値と上記学習信号値を通信することを通して、上記の修
正手段により、上記ニューロンモデルの出力値と上記学
習信号値の積に比例した値をニューロンモデルの重み値
に加算することにより、上記重み値を修正する手段を有
することを特徴とする情報処理システム。
8. An input layer for inputting a signal from the outside and holding and outputting the signal, a first intermediate layer for inputting a signal, calculating and outputting an output value of a neuron model in a neuron calculation unit, and inputting a signal And a correction means for correcting the weight value of the neuron model in the first output layer, which outputs and outputs the output value of the neuron model in the neuron calculation unit,
A signal is input from the outside, the signal is processed in the order of the input layer, the first intermediate layer, and the first output layer, and the first network that determines the output value of the neuron model and the learning signal are calculated and output. A second output layer, a second intermediate layer for calculating and outputting the output value of the correction means and the learning signal value, and inputting an expected output value for a given input, A second network that processes a signal in the order of the output layer and the second intermediate layer to determine a learning signal value; and a communication unit that mutually communicates data between the first network and the second network. The communication means communicates the output value of the neuron model and the learning signal value between the first network and the second network, and the correction means outputs the output of the neuron model. And by a value proportional to the product of the learning signal value is added to the weight value of the neuron models, the information processing system characterized by having means for modifying the weighting value.
JP4209163A 1992-08-05 1992-08-05 Information processing system Pending JPH05197707A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4209163A JPH05197707A (en) 1992-08-05 1992-08-05 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4209163A JPH05197707A (en) 1992-08-05 1992-08-05 Information processing system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2284235A Division JPH07101415B2 (en) 1989-10-25 1990-10-24 Information processing apparatus and learning method thereof

Publications (1)

Publication Number Publication Date
JPH05197707A true JPH05197707A (en) 1993-08-06

Family

ID=16568372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4209163A Pending JPH05197707A (en) 1992-08-05 1992-08-05 Information processing system

Country Status (1)

Country Link
JP (1) JPH05197707A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654730B1 (en) 1999-12-28 2003-11-25 Fuji Xerox Co., Ltd. Neural network arithmetic apparatus and neutral network operation method
JP2017130221A (en) * 2015-10-23 2017-07-27 株式会社半導体エネルギー研究所 Semiconductor device and electronic equipment
JP2020046821A (en) * 2018-09-18 2020-03-26 株式会社東芝 Neural network device
JP2020149625A (en) * 2019-03-15 2020-09-17 株式会社東芝 Operation apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654730B1 (en) 1999-12-28 2003-11-25 Fuji Xerox Co., Ltd. Neural network arithmetic apparatus and neutral network operation method
JP2017130221A (en) * 2015-10-23 2017-07-27 株式会社半導体エネルギー研究所 Semiconductor device and electronic equipment
US10922605B2 (en) 2015-10-23 2021-02-16 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
US11893474B2 (en) 2015-10-23 2024-02-06 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
JP2020046821A (en) * 2018-09-18 2020-03-26 株式会社東芝 Neural network device
US11455526B2 (en) 2018-09-18 2022-09-27 Kabushiki Kaisha Toshiba Neural network device
JP2020149625A (en) * 2019-03-15 2020-09-17 株式会社東芝 Operation apparatus

Similar Documents

Publication Publication Date Title
US5604840A (en) Information processing apparatus
JP2746350B2 (en) Learning machine synapse processor system device
CN110674933A (en) Pipeline technique for improving neural network inference accuracy
EP0422348A2 (en) Two-dimensional systolic array for neural networks, and method
JPH04293151A (en) Parallel data processing method
JP2001188767A (en) Neutral network arithmetic unit and method
US5564115A (en) Neural network architecture with connection pointers
US5781702A (en) Hybrid chip-set architecture for artificial neural network system
EP0557997A2 (en) Information processing apparatus and information processing system
US12147359B2 (en) AI accelerator apparatus using in-memory compute chiplet devices for transformer workloads
JPH05282272A (en) Neural network parallel distribution processor
JPH0784975A (en) Information processing apparatus and learning calculation processing method
CN110232441B (en) Stack type self-coding system and method based on unidirectional pulsation array
JPH05197707A (en) Information processing system
JP2001117900A (en) Neural network arithmetic device
JPH076146A (en) Parallel data processing system
JPH07101415B2 (en) Information processing apparatus and learning method thereof
US12260223B2 (en) Generative AI accelerator apparatus using in-memory compute chiplet devices for transformer workloads
JPH05159087A (en) Neuro processor
JPH04237388A (en) Neuro processor
Ramacher et al. Fine-grain system architectures for systolic emulation of neural algorithms
Lee et al. Parallel digital image restoration using adaptive VLSI neural chips
CN112949834A (en) Probability calculation pulse type neural network calculation unit and architecture
JP2765903B2 (en) Information processing device
JP2825133B2 (en) Parallel data processing method