JPH0769893B2 - Neural network simulator - Google Patents
Neural network simulatorInfo
- Publication number
- JPH0769893B2 JPH0769893B2 JP63015116A JP1511688A JPH0769893B2 JP H0769893 B2 JPH0769893 B2 JP H0769893B2 JP 63015116 A JP63015116 A JP 63015116A JP 1511688 A JP1511688 A JP 1511688A JP H0769893 B2 JPH0769893 B2 JP H0769893B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- message
- processing
- output
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明はニューラルネットワークのシミュレーション技
術に関するものである。The present invention relates to a neural network simulation technique.
(従来の技術) 従来、計算機上のソフトウェアによるシミュレータや、
複数のマイクロプロセッサをバス結合したシミュレータ
や、1つのアナログIC上にニューラルネットワークを実
現したシミュレータが存在していた。(Prior art) Conventionally, a simulator using software on a computer,
There have been simulators in which a plurality of microprocessors are connected by a bus and simulators in which a neural network is realized on one analog IC.
(発明が解決しようとする問題点) しかし、ソフトウェアによるシミュレータではニューラ
ルネットワークの持つ並列性を活かすことができず高速
なシミュレーションは不可能であった。(Problems to be Solved by the Invention) However, the simulator using software cannot utilize the parallelism of the neural network and cannot perform high-speed simulation.
複数のマイクロプロセッサをバスで結合したシステムで
は、シミュレーションのアルゴリズムの持つ並列性を活
かすことができず、さらにプロセッサの台数が増えた場
合にプロセッサ間の通信を効率よく行うことが出来なく
なり、大規模で高速なシミュレーションは不可能であっ
た。In a system in which multiple microprocessors are connected by a bus, the parallelism of the simulation algorithm cannot be used, and when the number of processors increases, communication between processors cannot be performed efficiently, resulting in a large scale. Therefore, high-speed simulation was impossible.
アナログIC上にニューラルネットワークを実現したシス
テムでは、1度作ってしまうと回路の変更が不可能で柔
軟性に欠け、また大規模なネットワークを集積すること
も不可能であった。In a system that realized a neural network on an analog IC, once made, it was impossible to change the circuit and lack flexibility, and it was also impossible to integrate a large-scale network.
本発明の目的は、大規模なニューラルネットワークの高
速なシミュレーションと、シミュレートするニューラル
ネットワークを柔軟に変更することが可能なシミュレー
タを提供することにある。An object of the present invention is to provide a high-speed simulation of a large-scale neural network and a simulator capable of flexibly changing the simulated neural network.
(問題点を解決するための手段) 本発明は、各ノードが重み付きリンクを介して互いにメ
ッセージを授受し、メッセージの内容に応じて内部状態
及び出力を変化させるニューラルネットワークをシミュ
レートする装置であって、ニューラルネットワークを分
割した部分ネットワークを並列に処理するための複数の
プロセッサと、該複数のプロセッサを接続し、プロセッ
サ間でメッセージを転送するための多段接続ネットワー
クから構成され、各プロセッサは、 (a).他のプロセッサからのメッセージと自分自身か
らのメッセージをマルチプレックスするマルチプレク
サ、 (b).該マルチプレクサの出力をバッファリングする
入力バッファ、 (c).入力バッファ内のメッセージに従って割り当て
られた該部分ネットワーク内のノードオの入力処理をす
る演算装置、 (d).入力処理の結果を格納する記憶装置、 (e).該入力処理をする演算装置と該入力処理の結果
を格納する記憶装置間でデータ転送を行うための内部バ
ス、 (f).該入力処理の結果を格納する記憶装置の内容
と、ノードの内部状態を格納する記憶装置の内容とか
ら、ノードの内部状態の更新、及び該ノードの内部状態
を格納する記憶装置の内容とリンクの接続情報及びリン
クの重みを格納している記憶装置の内容とからノードの
出力処理を行う演算装置、 (g).該内部バスとは分離されており、該ノードの内
部状態を格納する記憶装置と該リンクの接続情報及びリ
ンクの重みを格納している記憶装置、 (h).該ノードの内部処理及び出力処理を行う演算装
置間でデータ転送を行うための内部バス、 (i).該ノードの内部処理及び出力処理を行う演算装
置の出力処理の結果のメッセージをバッファリングする
出力バッファ、 (j).出力バッファ内のメッセージを該マルチプレク
サと他のプロセッサへ選択するセレクタ、 とから構成され、 多段接続ネットワークは、該プロセッサから出力された
メッセージをメッセージの宛先で指定された所定の該プ
ロセッサに転送するために、 (k).N×N(N≧2)の変換器で、入力ポートからの
メッセージをその宛先のアドレスに応じて所定の出力ポ
ートに送出する多段に接続された複数のルータセルから
構成されることを特徴とするニューラルネットワークシ
ミュレータである。(Means for Solving Problems) The present invention is an apparatus for simulating a neural network in which nodes exchange messages with each other via weighted links, and the internal states and outputs are changed according to the contents of the messages. Therefore, it is composed of a plurality of processors for processing the partial networks obtained by dividing the neural network in parallel, and a multi-stage connection network for connecting the plurality of processors and transferring a message between the processors. (A). A multiplexer that multiplexes messages from other processors with messages from itself, (b). An input buffer for buffering the output of the multiplexer, (c). An arithmetic unit for input processing of nodes in the sub-network allocated according to the message in the input buffer, (d). A storage device for storing the result of the input processing, (e). An internal bus for transferring data between an arithmetic unit that performs the input process and a storage device that stores the result of the input process, (f). Updating the internal state of the node from the content of the storage device that stores the result of the input processing and the content of the storage device that stores the internal state of the node, and linking with the content of the storage device that stores the internal state of the node An arithmetic unit that performs node output processing from the contents of the storage device that stores the connection information and link weights of (g). A storage device that is separated from the internal bus and that stores the internal state of the node and the connection information of the link and the weight of the link, (h). An internal bus for transferring data between arithmetic units that perform internal processing and output processing of the node, (i). An output buffer for buffering a message resulting from the output processing of the arithmetic unit that performs internal processing and output processing of the node, (j). And a selector for selecting a message in an output buffer to the multiplexer and another processor, and the multistage connection network transfers the message output from the processor to a predetermined processor designated by a destination of the message. And (k) .N × N (N ≧ 2) converter, which is composed of multiple router cells connected in multiple stages to send a message from an input port to a predetermined output port according to its destination address. This is a neural network simulator characterized by the following.
(作用) 本発明においては、シミュレートするニューラルネット
ワークを部分ネットワークに分割し複数のプロセッサに
割当て並列に処理することによりニューラルネットワー
クの持つ並列性を引出し、また、各プロセッサに、分離
された2つのバスと、2つの演算装置を設け、並列に処
理を行うことにより、シミュレーションのアルゴリズム
のもつ並列性を引出し高速なシミュレーションを可能に
する。また、リンクの接続情報及びリンクの重みを格納
する記憶装置の内容を書き換えることによりシミュレー
トするニューラルネットワークを柔軟に変更することを
可能とする。(Operation) In the present invention, the neural network to be simulated is divided into partial networks, which are assigned to a plurality of processors and processed in parallel so that the parallelism of the neural network is derived, and each processor is divided into two separate networks. By providing a bus and two arithmetic units and performing processing in parallel, the parallelism of the simulation algorithm can be extracted and high-speed simulation can be performed. Further, it is possible to flexibly change the simulated neural network by rewriting the contents of the storage device that stores the link connection information and the link weight.
(実施例) 第1図は、システムを構成する1つのプロセッサ1のブ
ロック図で、マルチプレクサ2と、入力バッファ3と、
演算装置4と、内部バス5と、記憶装置6と、セレクタ
7と、出力バッファ8と、演算装置9と、内部バス10
と、記憶装置11と、から構成される。(Embodiment) FIG. 1 is a block diagram of one processor 1 constituting a system, which includes a multiplexer 2, an input buffer 3, and
Arithmetic unit 4, internal bus 5, storage unit 6, selector 7, output buffer 8, arithmetic unit 9, and internal bus 10.
And a storage device 11.
第2図は、第1図のプロセッサを含む全体構成図で、複
数のプロセッサ1と、それらの間でデータの転送を行な
うための多段接続ネットワーク14から構成される。多段
接続ネットワーク14は、複数のルータセル15から構成さ
れる。FIG. 2 is an overall configuration diagram including the processor of FIG. 1, and comprises a plurality of processors 1 and a multistage connection network 14 for transferring data between them. The multistage connection network 14 is composed of a plurality of router cells 15.
ルーセル15は、N×N(N≧2)の変換器で、入力ポー
トからのメッセージをその宛先のアドレスに応じて所定
の出力ポートに送出する。プロセッサ1からのメッセー
ジは複数段のルータセルで変換され、メッセージの宛先
で指定された所定のプロセッサ1に届く。Roussel 15 is an N × N (N ≧ 2) converter and sends a message from an input port to a predetermined output port according to the address of its destination. A message from the processor 1 is converted by a plurality of stages of router cells and reaches a predetermined processor 1 designated by the destination of the message.
第3図は、ニューラルネットワークの部分ネットワーク
18への分割を説明する図である。ニューラルネットワー
クは多数のノード16(ニューロン)と重み付きリンク17
で構成される。各ノード16は重み付きのリンクを介して
他のノード16と互いにメッセージを授受し、メッセージ
の内容に応じてその、内部状態及び出力を変化させる。
このニューラルネットワーク全体は複数(第3図では4
つ)の部分ネットワーク18に分割され、各部分ネットワ
ーク18がそれぞれプロセッサ1に割り当てられ並列に処
理される。プロセッサ1は割り当てられた部分ネットワ
ーク18に含まれるノード16、重み付きリンク17の機能を
シミュレーションする。同一の部分ネットワーク18に含
まれる(すなわち同一のプロセッサ1で処理される)ノ
ード16間に重み付きのリンク17がある場合はプロセッサ
1間の通信は必要ない。異なる部分ネットワーク18に含
まれる(すなわちことなるプロセッサ1で処理される)
ノード16間に重み付きのリンク17がある場合は、プロセ
ッサ間通信が必要になる。この場合、ノード間のメッセ
ージの授受は多段接続ネットワーク14を介して行われ
る。Figure 3 shows a partial network of a neural network.
It is a figure explaining division into 18. A neural network has many nodes 16 (neurons) and weighted links 17
Composed of. Each node 16 sends and receives a message to and from another node 16 via a weighted link, and changes its internal state and output according to the content of the message.
This neural network has a plurality of whole networks (4 in FIG. 3).
Sub network 18) and each sub network 18 is assigned to the processor 1 and processed in parallel. The processor 1 simulates the functions of the node 16 and the weighted link 17 included in the allocated sub-network 18. If there is a weighted link 17 between the nodes 16 included in the same partial network 18 (that is, processed by the same processor 1), communication between the processors 1 is not necessary. Included in different sub-networks 18 (ie processed by different processors 1)
If there are weighted links 17 between nodes 16, interprocessor communication is required. In this case, messages are exchanged between the nodes via the multistage connection network 14.
次に、プロセッサの処理を第1図を用いて詳細に説明す
る。Next, the processing of the processor will be described in detail with reference to FIG.
他のプロセッサから届いた入力メッセージ12と、自分自
身のセレクタ7から届いたメッセージは、マルチプレク
サ2で調停を受けて入力バッファ3に入る。The input message 12 received from another processor and the message received from its own selector 7 are arbitrated by the multiplexer 2 and enter the input buffer 3.
記憶装置6は、プロセッサ1が割り当てられた部分ネッ
トワークの各ノード毎の入力処理の結果が格納される。The storage device 6 stores the result of the input processing for each node of the partial network to which the processor 1 is assigned.
演算装置4は、入力バッファ3からメッセージを取り出
しながらメッセージの内容に従って入力処理を行い、結
果を記憶装置6に格納する。The arithmetic unit 4 performs input processing according to the contents of the message while taking out the message from the input buffer 3, and stores the result in the storage unit 6.
記憶装置11は、部分ネットワークの各ノードの内部状態
とリンクの接続情報及びリンクの重みを格納している。The storage device 11 stores the internal state of each node of the partial network, the link connection information, and the link weight.
演算装置9は、記憶装置6の入力処理の結果と記憶装置
11の各ノードの内部状態を参照し各ノードの内部状態の
更新処理を行う。また演算装置9は記憶装置11の各ノー
ドの内部状態とリンクの接続情報及びリンクの重みを参
照して各ノードの出力処理を行いメッセージを出力バッ
ファ8に書き込む。The arithmetic unit 9 is the result of the input processing of the storage device 6 and the storage device.
The internal state of each node in 11 is referenced and the internal state of each node is updated. The arithmetic unit 9 also refers to the internal state of each node of the storage unit 11, the connection information of the link, and the weight of the link to perform output processing of each node and write a message in the output buffer 8.
セレクタ7は、出力バッファ8からメッセージを取り出
しその内容に従ってメッセージを出力メッセージ13とし
て他のプロセッサに転送するか、または自分自身のマル
チプレクサ2に転送する。The selector 7 takes a message from the output buffer 8 and transfers the message as an output message 13 to another processor or to its own multiplexer 2 according to its contents.
(発明の効果) 以上のように、本発明においては、シミュレートするニ
ューラルネットワークを部分ネットワークに分割し複数
のプロセッサに割当て並列に処理することによりニュー
ラルネットワークの持つ並列性を引出し、また、各プロ
セッサに、分離された2つのバスと、2つの演算装置を
設け、並列に処理を行うことにより、シミュレーション
のアルゴリズムのもつ並列性を引出し高速なシミュレー
ションを可能にする。また、リンクの接続情報及びリン
クの重みを格納する記憶装置の内容を書き換えることに
よりシミュレートするニューラルネットワークを柔軟に
変更することが可能となる。(Effects of the Invention) As described above, in the present invention, the neural network to be simulated is divided into sub-networks, which are assigned to a plurality of processors and processed in parallel to bring out the parallelism of the neural network. In addition, by providing two separated buses and two arithmetic units and performing processing in parallel, the parallelism of the simulation algorithm is brought out and high-speed simulation is enabled. Further, the neural network to be simulated can be flexibly changed by rewriting the contents of the storage device that stores the link connection information and the link weight.
第1図は、システムを構成する1つのプロセッサのブロ
ック図、第2図は、第1図のプロセッサを含む構成図、
第3図はニューラルネットワークの部分ネットワークへ
の分割を説明する図である。 1……プロセッサ、2……マルチプレクサ、3……入力
バッファ、4……演算装置、5……内部バス、6……記
憶装置、7……セレクタ、8……出力バッファ、9……
演算装置、10……内部バス、11……記憶装置、12……入
力メッセージ、13……出力メッセージ、14……多段接続
ネットワーク、15……ルータセル、16……ノード、17…
…重み付きリンク、18……部分ネットワークFIG. 1 is a block diagram of one processor constituting the system, FIG. 2 is a configuration diagram including the processor of FIG. 1,
FIG. 3 is a diagram for explaining division of the neural network into partial networks. 1 ... Processor, 2 ... Multiplexer, 3 ... Input buffer, 4 ... Arithmetic device, 5 ... Internal bus, 6 ... Storage device, 7 ... Selector, 8 ... Output buffer, 9 ...
Arithmetic unit, 10 ... Internal bus, 11 ... Storage device, 12 ... Input message, 13 ... Output message, 14 ... Multi-stage connection network, 15 ... Router cell, 16 ... Node, 17 ...
… Weighted links, 18 …… Partial networks
Claims (1)
メッセージを授受し、メッセージの内容に応じて内部状
態及び出力を変化させるニューラルネットワークをシミ
ュレートする装置であって、ニューラルネットワークを
分割した部分ネットワークを並列に処理するための複数
のプロセッサと、該複数のプロセッサを接続し、プロセ
ッサ間でメッセージを転送するための多段接続ネットワ
ークから構成され、各プロセッサは、 (a).他のプロセッサからのメッセージと自分自身か
らのメッセージをマルチプレックスするマルチプレク
サ、 (b).該マルチプレクサの出力をバッファリングする
入力バッファ、 (c).入力バッファ内のメッセージに従って割り当て
られた該部分ネットワーク内のノードの入力処理をする
演算装置、 (d).入力処理の結果を格納する記憶装置、 (e).該入力処理をする演算装置と該入力処理の結果
を格納する記憶装置間でデータ転送を行うための内部バ
ス、 (f).該入力処理の結果を格納する記憶装置の内容
と、ノードの内部状態を格納する記憶装置の内容とか
ら、ノードの内部状態の更新、及び該ノードの内部状態
を格納する記憶装置の内容とリンクの接続情報及びリン
クの重みを格納している記憶装置の内容とからノードの
出力処理を行う演算装置、 (g).該内部バスとは分離されており、該ノードの内
部状態を格納する記憶装置と該リンクの接続情報及びリ
ンクの重みを格納している記憶装置、 (h).該ノードの内部処理及び出力処理を行う演算装
置間でデータ転送を行うための内部バス、 (i).該ノードの内部処理及び出力処理を行う演算装
置の出力処理の結果のメッセージをバッファリングする
出力バッファ、 (j).出力バッファ内のメッセージを該マルチプレク
サと他のプロセッサへ選択するセレクタ、 とから構成され、 多段接続ネットワークは、 該プロセッサから出力されたメッセージをメッセージの
宛先で指定された所定の該プロセッサに転送するため
に、 (k).N×N(N≧2)の変換器で、入力ポートからの
メッセージをその宛先のアドレスに応じて所定の出力ポ
ートに送出する多段に接続された複数のルータセルから
構成されることを特徴とするニューラルネットワークシ
ミュレータ。1. A device for simulating a neural network in which each node exchanges messages with each other via weighted links, and changes an internal state and an output according to the contents of the message, which is a divided part of the neural network. It is composed of a plurality of processors for processing the network in parallel and a multi-stage connection network for connecting the plurality of processors and transferring a message between the processors. A multiplexer that multiplexes messages from other processors with messages from itself, (b). An input buffer for buffering the output of the multiplexer, (c). An arithmetic unit for performing input processing of a node in the sub-network allocated according to the message in the input buffer; (d). A storage device for storing the result of the input processing, (e). An internal bus for transferring data between an arithmetic unit that performs the input process and a storage device that stores the result of the input process, (f). Updating the internal state of the node from the content of the storage device that stores the result of the input processing and the content of the storage device that stores the internal state of the node, and the link with the content of the storage device that stores the internal state of the node An arithmetic unit that performs node output processing from the contents of the storage device that stores the connection information and link weights of (g). A storage device that is separated from the internal bus and that stores the internal state of the node and the connection information of the link and the weight of the link, (h). An internal bus for transferring data between arithmetic units that perform internal processing and output processing of the node, (i). An output buffer for buffering a message resulting from the output processing of the arithmetic unit that performs internal processing and output processing of the node, (j). And a selector for selecting a message in an output buffer to the multiplexer and another processor, and the multistage connection network transfers the message output from the processor to a predetermined processor designated by a destination of the message. And (k) .N × N (N ≧ 2) converter, which is composed of multiple router cells connected in multiple stages for sending a message from an input port to a predetermined output port according to the address of its destination. A neural network simulator characterized by the following.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63015116A JPH0769893B2 (en) | 1988-01-25 | 1988-01-25 | Neural network simulator |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63015116A JPH0769893B2 (en) | 1988-01-25 | 1988-01-25 | Neural network simulator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01189755A JPH01189755A (en) | 1989-07-28 |
| JPH0769893B2 true JPH0769893B2 (en) | 1995-07-31 |
Family
ID=11879858
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63015116A Expired - Lifetime JPH0769893B2 (en) | 1988-01-25 | 1988-01-25 | Neural network simulator |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0769893B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE58909182D1 (en) * | 1988-07-05 | 1995-05-24 | Siemens Ag | Network module and architecture for the programmable emulation of artificial neural networks with digital mode of operation. |
| JPH04344970A (en) * | 1991-05-23 | 1992-12-01 | Nippon Telegr & Teleph Corp <Ntt> | Neural network processor |
| US8429107B2 (en) | 2009-11-04 | 2013-04-23 | International Business Machines Corporation | System for address-event-representation network simulation |
| JP7014963B2 (en) * | 2018-03-15 | 2022-02-02 | 富士通株式会社 | Optimization device and control method of optimization device |
-
1988
- 1988-01-25 JP JP63015116A patent/JPH0769893B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01189755A (en) | 1989-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI647934B (en) | Network topology real machine simulation method and system | |
| Thompson | Processor Intercommunication | |
| CN114329920B (en) | A large-scale satellite network simulation evaluation and testing system combining virtual and real systems | |
| Wilkinson | Parallel programming: Techniques and applications using networked workstations and parallel computers, 2/E | |
| US5243704A (en) | Optimized interconnect networks | |
| TW202022644A (en) | Operation device and operation method | |
| CN115576289A (en) | Reconfigurable high-fidelity large-scale industrial internet simulation platform based on virtualization technology | |
| Tilborg | MICROS, a distributed operating system for MICRONET, a reconfigurable network computer | |
| CN111082949A (en) | Method for efficiently transmitting pulse data packets in brain-like computer | |
| CA1246743A (en) | Array for simulating computer functions for large computer systems | |
| EP4293984A1 (en) | Data transmission system and method, and related device | |
| US20210319295A1 (en) | Data processing module, data processing system and data processing method | |
| CN112242963B (en) | A fast high concurrent neural impulse data packet distribution and transmission method and system | |
| US5420982A (en) | Hyper-cube network control system having different connection patterns corresponding to phase signals for interconnecting inter-node links and between input/output links | |
| JPH0769893B2 (en) | Neural network simulator | |
| CN116523045B (en) | Deep learning reasoning simulator oriented to multi-core chip | |
| CN212364994U (en) | Brain-like super-computing platform principle machine device | |
| CA2028807C (en) | Decentralized simulator | |
| Youssef et al. | A new approach to fast control of r 2× r 2 3-stage benes networks of r× r crossbar switches | |
| Chin et al. | Connection principles for multipath, packet switching networks | |
| GB2206428A (en) | Computer | |
| WO2023214608A1 (en) | Quantum circuit simulation hardware | |
| JPH05250346A (en) | Neural network simulation device | |
| JPH04307654A (en) | Neural network simulation system | |
| Clarke et al. | Transputer-based simulation tool for performance evaluation of wide area telecommunications networks |