JPH04293152A - Neural network simulator - Google Patents

Neural network simulator

Info

Publication number
JPH04293152A
JPH04293152A JP3057412A JP5741291A JPH04293152A JP H04293152 A JPH04293152 A JP H04293152A JP 3057412 A JP3057412 A JP 3057412A JP 5741291 A JP5741291 A JP 5741291A JP H04293152 A JPH04293152 A JP H04293152A
Authority
JP
Japan
Prior art keywords
work ram
weight data
external bus
buffer register
neural network
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.)
Withdrawn
Application number
JP3057412A
Other languages
Japanese (ja)
Inventor
Yoshio Hirose
広瀬 佳生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3057412A priority Critical patent/JPH04293152A/en
Publication of JPH04293152A publication Critical patent/JPH04293152A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE:To execute the learning at a high speed. CONSTITUTION:The above simulator is provided with a processor 40 provided with a first buffer register 46 and a second buffer register 48 which can execute freely an input and an output in parallel to each other to the outside, a first work RAM 50 connected to a first buffer register 46 through a first external bus 52, and a second work RAM 51 connected to a second buffer register 47 through a second external bus 53. The processor 40 reads in weight data from a first work RAM 50, updates the weight data, and writes the updated weight data in a second work RAM 50 at the time of a leaning calculation of an odd number-th time, and reads in the weight data from a second work RAM 51, updates the weight data, and writes the updated weight data in a first work RAM 50 at the time of a leaning calculation of an even number-th time.

Description

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

【0001】0001

【産業上の利用分野】本発明は、多層構造の神経回路網
への入力データに対する応答計算を実行し、該計算の結
果と教師データとの差に基づいて該神経回路網のユニッ
ト間結合の重みデータを更新する学習計算を実行する神
経回路網シミュレータに関する。
[Industrial Field of Application] The present invention executes response calculations to input data to a multilayer neural network, and calculates connections between units of the neural network based on the difference between the calculation result and training data. This invention relates to a neural network simulator that performs learning calculations to update weight data.

【0002】0002

【従来の技術】多層構造の神経回路網は、図8に簡単化
して示す如く、ニューロンを模擬したユニット11〜3
4と、これらの間の結合とからなる。ユニット11〜3
4は、ユニット11〜16からなる入力層(第1層)1
0と、ユニット21〜25からなる中間層(第2層)2
0と、ユニット31〜34からなる出力層(第3層)3
0とに分けられる。入力層10は、外部からの入力を受
取り、出力層30は、神経回路網の応答を外部に出力し
、中間層20は、入力層10からの信号を加工して出力
層30に渡す。この中間層20は、複数の層から構成さ
れることもある。
2. Description of the Related Art A multilayered neural network has units 11 to 3 that simulate neurons, as shown in simplified form in FIG.
4 and a bond between them. Units 11-3
4 is an input layer (first layer) 1 consisting of units 11 to 16;
0 and an intermediate layer (second layer) 2 consisting of units 21 to 25
0, and an output layer (third layer) 3 consisting of units 31 to 34.
It is divided into 0 and 0. The input layer 10 receives input from the outside, the output layer 30 outputs the response of the neural network to the outside, and the intermediate layer 20 processes the signal from the input layer 10 and passes it to the output layer 30. This intermediate layer 20 may be composed of multiple layers.

【0003】各ユニットは、同層ユニット間の結合は無
く、1つ上の層の全てのユニットと結合している。入力
層10のユニット11〜16にはそれぞれ、0〜1の範
囲に規格化された多値のV1 (1) 〜V6 (1)
が供給され、ユニット11〜16は、入力データV1 
(1)〜V6 (1)をそのまま全ユニット21〜25
へ供給する。中間層20のユニット2iの出力Vi(2
)及び出力層30のユニット3iの出力Vi(3)は、
次式で表される(図9)。
[0003] Each unit is connected to all units in the layer one above it, with no connections between units in the same layer. The units 11 to 16 of the input layer 10 each have multivalued V1 (1) to V6 (1) normalized to a range of 0 to 1.
is supplied, and units 11 to 16 receive input data V1
(1) ~ V6 (1) as is for all units 21 ~ 25
supply to Output Vi(2
) and the output Vi(3) of the unit 3i of the output layer 30 is
It is expressed by the following formula (FIG. 9).

【0004】   Vi(k)=f(ΣWij(k)Vj(k−1)−
θi(k))            ・・・(1) 
 f(X)={1+tanh(X/U0)}/2   
                 ・・・(2)ここ
に、Σはjについての総和を意味する。Wij(k)は
、第k層のユニットkiと第(k−1)層のユニット(
k−1)jとの間の結合の重みである。θi(k)は、
ユニットkiのしきい値である。また、(2)式はシグ
モイド関数であり、U0はこの関数の形状を決める定数
である。
Vi(k)=f(ΣWij(k)Vj(k-1)-
θi(k)) ...(1)
f(X)={1+tanh(X/U0)}/2
...(2) Here, Σ means the sum of j. Wij(k) is the unit ki of the kth layer and the unit (k-1)th layer (
k-1) is the weight of the connection between j. θi(k) is
is the threshold value of unit ki. Further, equation (2) is a sigmoid function, and U0 is a constant that determines the shape of this function.

【0005】このような多層構造の神経回路網は、その
出力データと正解データ(教師データ)との差が小さく
なるように、ユニット間の結合の重みWijを変化させ
ていくことによって学習する。この学習のアルゴリズム
として、バックプロパゲーション法が広く知られている
。 バックプロパゲーション法では、結合の重みWijは次
のようにして修正される。
[0005] Such a multilayer neural network learns by changing the weights Wij of connections between units so that the difference between its output data and correct data (teacher data) becomes smaller. The backpropagation method is widely known as an algorithm for this learning. In the backpropagation method, the connection weights Wij are modified as follows.

【0006】   Wij(k)(n)=Wij(k)(n−1)+Δ
Wij(k)(n)      ・・・(3)ここに、
nは学習回数である。Wij(k)(n)の修正量ΔW
ij(k)(n)は次式で与えられる。
Wij(k)(n)=Wij(k)(n-1)+Δ
Wij(k)(n)...(3) Here,
n is the number of times of learning. Correction amount ΔW of Wij(k)(n)
ij(k)(n) is given by the following equation.

【0007】   ΔWij(k)(n)=ηδi(k+1)Vj(k
)+αΔWij(k)(n−1)・(4)ここに、η及
びαは学習定数である。また、δi(k)はユニットk
iの出力の誤差であり、次式で与えられる。
ΔWij(k)(n)=ηδi(k+1)Vj(k
)+αΔWij(k)(n-1)·(4) Here, η and α are learning constants. Also, δi(k) is unit k
This is the error in the output of i and is given by the following equation.

【0008】   δi(3)=2(Ti−Vi(3))Vi(3)(
1−Vi(3))/U0・・(5)  δj(2)=2
(1−Vj(2))Vj(2)Σδi(3)Wij(2
)/U0・・(6)ここに、Σはiについての総和を意
味する。Tiは出力層30のユニット3iが出力すべき
正解データ(教師データ)である。
δi(3)=2(Ti−Vi(3))Vi(3)(
1-Vi(3))/U0...(5) δj(2)=2
(1-Vj(2))Vj(2)Σδi(3)Wij(2
)/U0...(6) Here, Σ means the sum of i. Ti is correct data (teacher data) that the unit 3i of the output layer 30 should output.

【0009】神経回路網では、上式(1)〜(6)で表
される多くの積和演算や関数計算を、神経回路網が正し
い応答をするようになるまで、繰り返し実行して、重み
Wijを修正しなければならない。このため、神経回路
網の規模が大きくなると、学習に要する時間が非常に長
くなる。そこで、プロセッサの内部処理をパイプライン
化して高速化を図っている。
[0009] In a neural network, many product-sum operations and function calculations expressed in equations (1) to (6) above are repeatedly executed until the neural network gives a correct response. I have to fix Wij. For this reason, as the scale of the neural network increases, the time required for learning becomes extremely long. Therefore, the internal processing of the processor is pipelined to speed it up.

【0010】0010

【発明が解決しようとする課題】しかしながら、比較的
データ量の多い重みデータWij、ΔWijをプロセッ
サ40の外部のRAMに格納しておき、RAMからプロ
セッサにWij、ΔWijを読み込んで、その修正計算
を行い、さらに、更新したWij、ΔWijを該RAM
に格納する必要がある。しかも、1回の学習に関し、こ
のような読み書き及び計算を、多数のWij、ΔWij
について、層数−1回繰り返し実行しなければならず、
学習速度を遅くする原因となっていた。
[Problem to be Solved by the Invention] However, it is necessary to store weight data Wij and ΔWij, which have a relatively large amount of data, in a RAM external to the processor 40, read Wij and ΔWij from the RAM into the processor, and perform correction calculations. Then, the updated Wij and ΔWij are stored in the RAM.
need to be stored in. Moreover, for one learning session, such reading, writing, and calculation are performed by many Wij, ΔWij.
For, the number of layers must be repeated once,
This caused the learning speed to slow down.

【0011】本発明の目的は、本発明者によるこのよう
な着眼点に鑑み、学習を高速に行わせることが可能な神
経回路網シミュレータを提供することにある。
[0011] An object of the present invention is to provide a neural network simulator that can perform learning at high speed in view of the above points of view of the present inventor.

【0012】0012

【課題を解決するための手段及びその作用】本発明に係
る神経回路網シミュレータを、実施例図1を参照して説
明する。この神経回路網シミュレータは、外部との間で
互いに並行して入出力自在な第1バッファレジスタ46
及び第2バッファレジスタ47を備え、多層構造の神経
回路網への入力データに対する応答計算を実行し、該計
算の結果と教師データとの差に基づいて該神経回路網の
ユニット間結合の重みデータを更新する学習計算を実行
するプロセッサ40と、第1外部バス52と、第1外部
バス52を介して第1バッファレジスタ46に接続され
た第1ワークRAM50と、第2外部バス53と、第2
外部バス53を介して第2バッファレジスタ47に接続
された第2ワークRAM51とを備えている。
[Means for Solving the Problems and Their Effects] A neural network simulator according to the present invention will be described as an embodiment with reference to FIG. This neural network simulator has a first buffer register 46 which can input and output freely in parallel to the outside.
and a second buffer register 47, which executes response calculations for input data to the multilayer neural network, and calculates weight data of connections between units of the neural network based on the difference between the result of the calculation and the teacher data. a processor 40 that executes learning calculations to update the , a first external bus 52 , a first work RAM 50 connected to the first buffer register 46 via the first external bus 52 , a second external bus 53 , and a first external bus 52 . 2
A second work RAM 51 is connected to a second buffer register 47 via an external bus 53.

【0013】プロセッサ40は、奇数回目の学習計算に
おいては、第1ワークRAM50から重みデータを読込
み、重みデータを更新し、更新した重みデータを第2ワ
ークRAM51に書き込み、偶数回目の学習計算におい
ては、第2ワークRAM51から重みデータを読込み、
重みデータを更新し、更新した重みデータを第1ワーク
RAM50に書き込む。
In the odd-numbered learning calculations, the processor 40 reads the weight data from the first work RAM 50, updates the weight data, and writes the updated weight data to the second work RAM 51, and in the even-numbered learning calculations. , reads the weight data from the second work RAM 51,
The weight data is updated and the updated weight data is written into the first work RAM 50.

【0014】奇数回目の学習計算においては、第1ワー
クRAM50を常に読み出し状態にし、第2ワークRA
M51を常に書き込み状態にすればよく、しかも、第1
ワークRAM50からの読み出しと第2ワークRAM5
1への書き込みが並行して行われるので、処理の高速化
が図られる。同様に、偶数回目の学習計算においては、
第1ワークRAM50を常に書き込み状態にし、第2ワ
ークRAM51を常に読み出し状態にすればよく、しか
も、第2ワークRAM50からの読み出しと第1ワーク
RAM51への書き込みが並行して行われるので、処理
の高速化が図られる。したがって、学習を高速に行わせ
ることが可能となる。  また、従来、同一RAMに対
してデータを更新していたのを、単に別のRAMに更新
値を格納するだけであるから、処理自体の複雑化は避け
られる。
In the odd-numbered learning calculations, the first work RAM 50 is always kept in a read state, and the second work RAM 50 is always read out.
All you have to do is keep M51 in the writing state, and the first
Reading from work RAM 50 and second work RAM 5
1 is performed in parallel, speeding up the processing is achieved. Similarly, in the even-numbered learning calculations,
It is sufficient to keep the first work RAM 50 always in the writing state and the second work RAM 51 always in the reading state.Moreover, reading from the second work RAM 50 and writing to the first work RAM 51 are performed in parallel, so that processing can be performed easily. The speed will be increased. Therefore, it becomes possible to perform learning at high speed. Furthermore, instead of updating data in the same RAM in the past, the updated value is simply stored in another RAM, so the process itself can be avoided from becoming complicated.

【0015】[0015]

【実施例】以下、図面に基づいて本発明に係る神経回路
網シミュレータの一実施例を説明する。  図1は神経
回路網シミュレータのハードウエア要部概略構成図であ
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the neural network simulator according to the present invention will be described below with reference to the drawings. FIG. 1 is a schematic diagram of the main hardware components of a neural network simulator.

【0016】プロセッサ40は、ALU41、乗算器4
2、シグモイド関数発生器43、レジスタ44、内部R
AM45、第1バッファレジスタ46、第2バッファレ
ジスタ47及び制御回路48を供え、これらの間が内部
バス49で接続されている。このシグモイド関数発生器
43は、例えば、上式(2)の右辺をXでベキ展開した
ものを演算する回路、又は、Xをアドレスとするテーブ
ルROMで構成されている。制御回路48は、神経回路
網をシミュレートするために他の構成要素を制御するも
のであり、プログラムROMが含まれており、高速処理
のためパイプライン制御を行う。内部RAM45は比較
的小記憶容量であるので、これを補うために、プロセッ
サ40の外部に第1ワークRAM50及び第2ワークR
AM51を備えている。
The processor 40 includes an ALU 41, a multiplier 4
2, sigmoid function generator 43, register 44, internal R
It includes an AM 45, a first buffer register 46, a second buffer register 47, and a control circuit 48, which are connected by an internal bus 49. This sigmoid function generator 43 is constituted by, for example, a circuit that calculates the right side of the above equation (2) expanded to a power of X, or a table ROM whose address is X. The control circuit 48 controls other components to simulate a neural network, includes a program ROM, and performs pipeline control for high-speed processing. Since the internal RAM 45 has a relatively small storage capacity, in order to compensate for this, a first work RAM 50 and a second work RAM 50 are provided outside the processor 40.
It is equipped with AM51.

【0017】第1ワークRAM50及び第2ワークRA
M51は、それぞれ第1外部バス52及び第2外部バス
53を介して第1バッファレジスタ46及び第2バッフ
ァレジスタ47に接続されており、第1ワークRAM5
0と第1バッファレジスタ46との間及び第2ワークR
AM51と第2バッファレジスタ47との間で並行して
データの授受を行うことが可能となっている。また、第
1外部バス52及び第2外部バス53には、入出力イン
タフェース54を介して入出力装置55が接続されてい
る。
[0017] First work RAM 50 and second work RA
M51 is connected to a first buffer register 46 and a second buffer register 47 via a first external bus 52 and a second external bus 53, respectively, and is connected to the first work RAM 5.
0 and the first buffer register 46 and the second work R
Data can be exchanged between the AM 51 and the second buffer register 47 in parallel. Furthermore, an input/output device 55 is connected to the first external bus 52 and the second external bus 53 via an input/output interface 54 .

【0018】本実施例の特徴は、プロセッサ40内に2
つの独立な第1バッファレジスタ46及び第2バッファ
レジスタ47を供え、プロセッサ40の外部に第1ワー
クRAM50及び第2ワークRAM51を備え、第1ワ
ークRAM50と第1バッファレジスタ46との間を第
1外部バス52で接続し、第2ワークRAM51と第2
バッファレジスタ47との間を第2外部バス53で接続
している点である。そして、以下に詳述する如く、奇数
回目の学習においては、第1ワークRAM50の内容を
読み出して重み修正計算を行い、その結果を第2ワーク
RAM51に格納し、偶数回目の学習においては、逆に
、第2ワークRAM51の内容を読み出して重み修正計
算を行い、その結果を第1ワークRAM50に格納する
ことにより、処理の複雑化を避け、かつ、処理の高速化
を図った点である。
The feature of this embodiment is that the processor 40 has two
A first work RAM 50 and a second work RAM 51 are provided outside the processor 40, and a first work RAM 50 and a second buffer register 46 are provided. The second work RAM 51 and the second
It is connected to the buffer register 47 by a second external bus 53. As described in detail below, in the odd-numbered learning, the contents of the first work RAM 50 are read out, weight correction calculations are performed, and the results are stored in the second work RAM 51, and in the even-numbered learning, the reverse is performed. Second, the contents of the second work RAM 51 are read out, weight correction calculations are performed, and the results are stored in the first work RAM 50, thereby avoiding complication of processing and speeding up the processing.

【0019】次に、図2〜7に基づいて、プロセッサ4
0による処理を説明する。図2〜7は、データの流れ及
び計算内容を表したものである。説明の簡単化のために
、神経回路網のモデルは、図8に示すものと同一とし、
計算内容も上記従来の技術の欄で述べたものと同一とす
る。
Next, based on FIGS. 2 to 7, the processor 4
Processing using 0 will be explained. 2 to 7 show the data flow and calculation contents. To simplify the explanation, the neural network model is the same as that shown in Fig. 8,
The calculation contents are also the same as those described in the column of the prior art above.

【0020】第1ワークRAM50には、予め、結合の
重み初期値Wij(1)、Wij(2)(i=1〜6、
j=1〜5、以下同様。)、重み補正初期値ΔWij(
1)=0、ΔWij(2)=0(i=1〜6、j=1〜
5、以下同様。)及びしきい値θi(2)(i=1〜5
、以下同様。)、θi(3)(i=1〜4、以下同様。 )が格納されている。一方、内部RAM45には、上式
(4)で用いられる学習定数α、η及び上式(2)で用
いられる関数形状決定の定数U0が格納されている。
The first work RAM 50 stores connection weight initial values Wij(1), Wij(2) (i=1 to 6,
j=1 to 5, and so on. ), weight correction initial value ΔWij(
1)=0, ΔWij(2)=0 (i=1~6, j=1~
5. Same hereafter. ) and threshold value θi(2) (i=1~5
, and so on. ), θi(3) (i=1 to 4, the same applies hereinafter) are stored. On the other hand, the internal RAM 45 stores learning constants α and η used in the above equation (4) and a constant U0 for determining the function shape used in the above equation (2).

【0021】(1)中間層ユニットの応答計算(図2)
入出力装置55から入出力インタフェース54、第2外
部バス53を介して、入力データVj(1)がプロセッ
サ40に供給されると、プロセッサ40はこれを内部R
AM45に格納し、これと並行して、第1ワークRAM
50から第1外部バス52を介し重みWij(1)及び
しきい値θi(2)を読み込み、上式(1)の右辺のシ
グモイド関数に与える値をk=2について計算する。そ
して、この計算値をシグモイド関数発生器43に供給し
て、ユニット2iの出力Vi(2)を求め、これを内部
RAM45に格納する。
(1) Response calculation of middle layer unit (Figure 2)
When input data Vj(1) is supplied from the input/output device 55 to the processor 40 via the input/output interface 54 and the second external bus 53, the processor 40 inputs it to the internal R
AM45, and in parallel, the first work RAM
50 via the first external bus 52, and calculates the value given to the sigmoid function on the right side of the above equation (1) for k=2. This calculated value is then supplied to the sigmoid function generator 43 to obtain the output Vi(2) of the unit 2i, which is stored in the internal RAM 45.

【0022】(2)出力層ユニットの応答計算(図3)
第1ワークRAM50から第1外部バス52を介して重
みWij(2)及びしきい値θi(3)を読み込み、内
部RAM45からユニット2jの出力Vj(2)を読み
出し、上式(1)の右辺のシグモイド関数に与える値を
k=3について計算する。そして、この計算値をシグモ
イド関数発生器43に供給して、ユニット3iの出力V
i(3)を求め、これを内部RAM45に格納する。
(2) Response calculation of output layer unit (Figure 3)
The weight Wij (2) and the threshold value θi (3) are read from the first work RAM 50 via the first external bus 52, the output Vj (2) of the unit 2j is read from the internal RAM 45, and the right side of the above equation (1) is Calculate the value given to the sigmoid function for k=3. Then, this calculated value is supplied to the sigmoid function generator 43, and the output V of the unit 3i is
i(3) is obtained and stored in the internal RAM 45.

【0023】(3)出力層ユニットの誤差計算(図4)
入出力装置55から入出力インタフェース54、第2外
部バス53を介して教師データTi(i=1〜4)を読
み込み、内部RAM45からU0及びユニット3iの出
力Vi(3)を読み出して、上式(5)の右辺を計算し
、その結果を誤差δi(3)として内部RAM45に格
納する。
(3) Error calculation of output layer unit (FIG. 4)
The teacher data Ti (i=1 to 4) is read from the input/output device 55 via the input/output interface 54 and the second external bus 53, U0 and the output Vi (3) of the unit 3i are read from the internal RAM 45, and the above formula is obtained. The right side of (5) is calculated and the result is stored in the internal RAM 45 as the error δi(3).

【0024】(4)中間層ユニットの誤差計算(図5)
第1ワークRAM50から第1外部バス52を介して重
みWij(2)を読み込み、内部RAM45からU0、
誤差δi(3)及びユニット2jの出力Vj(2)を読
み出して、上式(6)の右辺を計算し、その結果を誤差
δj(2)として内部RAM45に格納する。
(4) Error calculation of middle layer unit (FIG. 5)
The weight Wij(2) is read from the first work RAM 50 via the first external bus 52, and the weight U0,
The error δi(3) and the output Vj(2) of the unit 2j are read out, the right side of the above equation (6) is calculated, and the result is stored in the internal RAM 45 as the error δj(2).

【0025】(5)入力層・中間層ユニット間結合の重
みの更新(図6) 第1ワークRAM50から第1外部バス52を介して重
み補正値ΔWij(1)を読み込み、内部RAM45か
ら学習定数η、α、誤差δi(2)及びユニット1jの
出力Vj(1)を読み出して、上式(4)でk=2とし
たときの右辺を計算し、これを新たな重み補正値ΔWi
j(1)として、第2外部バス53を介し第2ワークR
AM51に格納するとともに、第1ワークRAM50か
ら重みWij(1)を読み出し、これと重み補正値ΔW
ij(1)との和を新たな重みWij(1)として、第
2外部バス53を介し第2ワークRAM51に格納する
(5) Updating the weight of the connection between input layer and hidden layer units (FIG. 6) Load the weight correction value ΔWij (1) from the first work RAM 50 via the first external bus 52, and read the learning constant from the internal RAM 45. Read out η, α, error δi (2), and output Vj (1) of unit 1j, calculate the right side of the above equation (4) when k=2, and use this as the new weight correction value ΔWi
j(1), the second work R via the second external bus 53
At the same time, the weight Wij(1) is stored in the AM51, and the weight Wij(1) is read out from the first work RAM50, and this and the weight correction value ΔW are
The sum of Wij(1) and Wij(1) is stored in the second work RAM 51 via the second external bus 53 as a new weight Wij(1).

【0026】これらの計算においては、第1ワークRA
M50を常に読み出し状態にし、第2ワークRAM51
を常に書き込み状態にすればよく、しかも、第1ワーク
RAM50からの読み出しと第2ワークRAM51への
書き込みが並行して行われるので、処理の高速化が図ら
れる。また、従来、同一RAMに対してデータを更新し
ていたのを、単に別のRAMに更新値を格納するだけで
あるから、処理自体の複雑化は避けられる。
In these calculations, the first work RA
M50 is always in the read state, and the second work RAM51
It is sufficient to keep the data in the write state at all times, and since reading from the first work RAM 50 and writing to the second work RAM 51 are performed in parallel, processing speed can be increased. Furthermore, instead of updating data in the same RAM in the past, the updated value is simply stored in another RAM, so the process itself can be avoided from becoming complicated.

【0027】(6)中間層ユニット・出力層ユニット間
結合の重みの更新(図7) 第1ワークRAM50から第1外部バス52を介して重
み補正値ΔWij(2)を読み込み、内部RAM45か
ら学習定数η、α、誤差δi(3)及びユニット2jの
出力Vj(2)を読み出して、上式(4)でk=3とし
たときの右辺を計算し、これを新たな重み補正値ΔWi
j(2)として、第2外部バス53を介し第2ワークR
AM51に格納するとともに、第1ワークRAM50か
ら重みWij(2)を読み出し、これと重み補正値ΔW
ij(2)との和を新たな重みWij(2)として、第
2外部バス53を介し第2ワークRAM51に格納する
(6) Updating the weight of the connection between the intermediate layer unit and the output layer unit (FIG. 7) The weight correction value ΔWij (2) is read from the first work RAM 50 via the first external bus 52 and learned from the internal RAM 45. Read the constants η, α, the error δi (3), and the output Vj (2) of the unit 2j, calculate the right side of the above equation (4) when k=3, and use this as the new weight correction value ΔWi.
j(2), the second work R via the second external bus 53
At the same time, the weight Wij(2) is stored in the AM51, and the weight Wij(2) is read out from the first work RAM50, and this and the weight correction value ΔW are
The sum of Wij(2) and Wij(2) is stored in the second work RAM 51 via the second external bus 53 as a new weight Wij(2).

【0028】この場合も上記(5)と同様に、第1ワー
クRAM50を常に読み出し状態にし、第2ワークRA
M51を常に書き込み状態にすればよく、しかも、第1
ワークRAM50からの読み出しと第2ワークRAM5
1への書き込みが並行して行われるので、処理の高速化
が図られる。また、従来、同一RAMに対してデータを
更新していたのを、単に別のRAMに更新値を格納する
だけであるから、処理自体の複雑化は避けられる。
In this case, as in (5) above, the first work RAM 50 is always kept in the read state, and the second work RAM 50
All you have to do is keep M51 in the writing state, and the first
Reading from work RAM 50 and second work RAM 5
1 is performed in parallel, speeding up the processing is achieved. Furthermore, instead of updating data in the same RAM in the past, the updated value is simply stored in another RAM, so the process itself can be avoided from becoming complicated.

【0029】以上のようにして、1回目の学習が終了す
る。一般に、奇数回目の学習は、この1回目の学習と同
一の処理を行う。偶数回目の学習は、第1ワークRAM
50と第2ワークRAM51の役割を逆にする。すなわ
ち、第2ワークRAM51から重みデータWij、ΔW
ijを読込み、重みデータWij、ΔWijを更新し、
更新した重みデータWij、ΔWijを第1ワークRA
M50に書き込む。
[0029] In the above manner, the first learning is completed. Generally, the odd-numbered learning process is the same as the first learning process. For even-numbered learning, the first work RAM
The roles of 50 and second work RAM 51 are reversed. In other words, the weight data Wij, ΔW from the second work RAM 51
Read ij, update weight data Wij, ΔWij,
The updated weight data Wij and ΔWij are sent to the first work RA.
Write to M50.

【0030】[0030]

【発明の効果】以上説明した如く、本発明に係る神経回
路網シミュレータでは、奇数回目の学習計算においては
、第1ワークRAMを常に読み出し状態にし、第2ワー
クRAMを常に書き込み状態にすればよく、しかも、第
1ワークRAMからの読み出しと第2ワークRAMへの
書き込みが並行して行われ、同様に、偶数回目の学習計
算においては、第1ワークRAMを常に書き込み状態に
し、第2ワークRAMを常に読み出し状態にすればよく
、しかも、第2ワークRAMからの読み出しと第1ワー
クRAMへの書き込みが並行して行われるので、学習を
高速に行わせることが可能となるという優れた効果を奏
する。
[Effects of the Invention] As explained above, in the neural network simulator according to the present invention, in odd-numbered learning calculations, it is sufficient to keep the first work RAM always in the read state and the second work RAM always in the write state. , Moreover, reading from the first work RAM and writing to the second work RAM are performed in parallel, and similarly, in even-numbered learning calculations, the first work RAM is always in the writing state, and the second work RAM is always in the writing state. It is only necessary to keep the data in the read state at all times, and since reading from the second work RAM and writing to the first work RAM are performed in parallel, an excellent effect is achieved in that learning can be performed at high speed. play.

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

【図1】本発明の一実施例の神経回路網シミュレータの
ハードウエア要部概略構成図である。
FIG. 1 is a schematic diagram of the main hardware components of a neural network simulator according to an embodiment of the present invention.

【図2】データの流れと中間層ユニットの応答計算を示
す動作説明図である。
FIG. 2 is an operation explanatory diagram showing data flow and response calculation of an intermediate layer unit.

【図3】データの流れと出力層ユニットの応答計算を示
す動作説明図である。
FIG. 3 is an operation explanatory diagram showing data flow and response calculation of an output layer unit.

【図4】データの流れと出力層ユニットの誤差計算を示
す動作説明図である。
FIG. 4 is an operation explanatory diagram showing data flow and error calculation of an output layer unit.

【図5】データの流れと中間層ユニットの誤差計算を示
す動作説明図である。
FIG. 5 is an operation explanatory diagram showing data flow and error calculation of the intermediate layer unit.

【図6】データの流れと入力層・中間層ユニット間結合
の重みの更新を示す動作説明図である。
FIG. 6 is an operation explanatory diagram showing data flow and updating of weights of connections between input layer and intermediate layer units.

【図7】データの流れと入力層・中間層ユニット間結合
の重みの更新を示す動作説明図である。
FIG. 7 is an operation explanatory diagram showing data flow and updating of weights of connections between input layer and intermediate layer units.

【図8】多層構造の神経回路網のモデル図である。FIG. 8 is a model diagram of a neural network with a multilayer structure.

【図9】図8に示すユニットの応答説明図である。FIG. 9 is an explanatory diagram of the response of the unit shown in FIG. 8;

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

10  入力層 20  中間層 30  出力層 11〜16、21〜25、31〜34  ユニット40
  プロセッサ 41  ALU 42  乗算器 43  シグモイド関数発生器 44  レジスタ 45  内部RAM 46  第1バッファレジスタ 47  第2バッファレジスタ 48  制御回路 49  内部バス 50  第1ワークRAM 51  第2ワークRAM 52  第1外部バス 53  第2外部バス
10 input layer 20 intermediate layer 30 output layer 11-16, 21-25, 31-34 unit 40
Processor 41 ALU 42 Multiplier 43 Sigmoid function generator 44 Register 45 Internal RAM 46 First buffer register 47 Second buffer register 48 Control circuit 49 Internal bus 50 First work RAM 51 Second work RAM 52 First external bus 53 Second external bus

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  外部との間で互いに並行して入出力自
在な第1バッファレジスタ(46)及び第2バッファレ
ジスタ(47)を備え、多層構造の神経回路網への入力
データに対する応答計算を実行し、該計算の結果と教師
データとの差に基づいて該神経回路網のユニット間結合
の重みデータ(Wij、ΔWij)を更新する学習計算
を実行するプロセッサ(40)と、第1外部バス(52
)と、該第1外部バスを介して該第1バッファレジスタ
に接続された第1ワークRAM(50)と、第2外部バ
ス(53)と、該第2外部バスを介して該第2バッファ
レジスタに接続された第2ワークRAM(51)とを備
え、該プロセッサ(40)は、奇数回目の学習計算にお
いては、該第1ワークRAM(50)から該重みデータ
を読込み、該重みデータを更新し、更新した該重みデー
タを該第2ワークRAM(51)に書き込み、偶数回目
の学習計算においては、該第2ワークRAM(51)か
ら該重みデータを読込み、該重みデータを更新し、更新
した該重みデータを該第1ワークRAM(50)に書き
込むことを特徴とする神経回路網シミュレータ。
1. A first buffer register (46) and a second buffer register (47) which can be freely input/output to and from the outside in parallel with each other, and capable of calculating responses to input data to a multilayered neural network. a first external bus; (52
), a first work RAM (50) connected to the first buffer register via the first external bus, a second external bus (53), and a second buffer register via the second external bus. and a second work RAM (51) connected to a register, and the processor (40) reads the weight data from the first work RAM (50) in odd-numbered learning calculations, and reads the weight data from the first work RAM (50). update and write the updated weight data to the second work RAM (51), and in even-numbered learning calculations, read the weight data from the second work RAM (51) and update the weight data; A neural network simulator characterized in that the updated weight data is written into the first work RAM (50).
JP3057412A 1991-03-20 1991-03-20 Neural network simulator Withdrawn JPH04293152A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3057412A JPH04293152A (en) 1991-03-20 1991-03-20 Neural network simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3057412A JPH04293152A (en) 1991-03-20 1991-03-20 Neural network simulator

Publications (1)

Publication Number Publication Date
JPH04293152A true JPH04293152A (en) 1992-10-16

Family

ID=13054935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3057412A Withdrawn JPH04293152A (en) 1991-03-20 1991-03-20 Neural network simulator

Country Status (1)

Country Link
JP (1) JPH04293152A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9555837B2 (en) 2015-03-27 2017-01-31 Kobe Steel, Ltd. Vehicle hood structure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9555837B2 (en) 2015-03-27 2017-01-31 Kobe Steel, Ltd. Vehicle hood structure

Similar Documents

Publication Publication Date Title
EP3451239A1 (en) Apparatus and method for executing recurrent neural network and lstm computations
CN107423816A (en) A kind of more computational accuracy Processing with Neural Network method and systems
JPH02144674A (en) Logical circuit simulation device
CN107516132A (en) The simplification device and method for simplifying of artificial neural networks
TW201232429A (en) High-speed hardware back-propagation and recurrent type artificial neural network with flexible architecture
JP2020197922A (en) Neural network arithmetic device, neural network, and neural network control method
JPH02193251A (en) Error backward propagation and nerve network system
Neumann et al. Quantum reinforcement learning: Comparing quantum annealing and gate-based quantum computing with classical deep reinforcement learning
JPH04293152A (en) Neural network simulator
JP3177996B2 (en) Neuroprocessor
JPH04237388A (en) Neuro processor
CN115994221A (en) Memristor-based text emotion detection system and method
JPH05159087A (en) Neuro processor
Ayoubi et al. Efficient mapping algorithm of multilayer neural network on torus architecture
JPH04216160A (en) Neural network circuit
JPH04229361A (en) Learning method for neural network and signal processor using the same
JPH04233063A (en) Neuro processor
JPH05197702A (en) Simulator device for neural network
Fang Intelligent Evaluation Model for Role Transformation Ability of Vocational Teachers Based on Neural Networks
Zhang et al. Parallel system design for time-delay neural networks
JPH0432904A (en) Evaluated value generating device
JPH036769A (en) Method and device for parallel simulation of neural network
Jianmin et al. The design on CMAC Neural network based on FPGA
Vives Pons Dynamic Neural Networks for Multi-‐Body Simulation in Mechanical Systems
JPH05120254A (en) Signal processor

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514