JPH02266458A - ニューラルネットワークシミュレーション装置 - Google Patents

ニューラルネットワークシミュレーション装置

Info

Publication number
JPH02266458A
JPH02266458A JP1085829A JP8582989A JPH02266458A JP H02266458 A JPH02266458 A JP H02266458A JP 1085829 A JP1085829 A JP 1085829A JP 8582989 A JP8582989 A JP 8582989A JP H02266458 A JPH02266458 A JP H02266458A
Authority
JP
Japan
Prior art keywords
partial
vector
vectors
output
error
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
JP1085829A
Other languages
English (en)
Inventor
Nobuki Kajiwara
信樹 梶原
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP1085829A priority Critical patent/JPH02266458A/ja
Publication of JPH02266458A publication Critical patent/JPH02266458A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は高速かつ汎用性のあるニューラルネットワーク
シミュレーション装置に関する。
〔従来の技術〕
従来、多層ニューラルネットワークの逆伝播学習則のシ
ミュレーション方式としては、汎用計算機によるシミュ
レーション方式、ベクトル計算機やスーパーコンピュー
タの高速なベクトル演算機能をシミュレーションに必要
な行列演算に利用したシミュレーション方式、バス結合
された複数の処理装置に部分重み行列をνIり当て各処
理装置で部分重み行列の演算を並列に行うシミュレーシ
ョン方式、1次元の処理装置配列を用い各処理装置にそ
れぞれ異なる学習サンプルを割り当て並列にシミュレー
ションを行った後各処理装置で計算された重み行列の修
正値を累算するシミュレーション方式等が知られている
〔発明が解決しようとする課題〕 上述した従来のシミュレーション方式にあっては以下の
欠点がある。
(イ)汎用計算機によるシミュレーション方式では、ニ
ューラルネットワークの持つ並列性を引き出せず、高速
化が困難であった。
(ロ)ベクトル計算機や、スーパーコンピュータによる
シミュレーション方式では、高速なシミュレーションが
可能であるが、装置が大がかりで高価になる。
(ハ)バス結合された複数の処理装置によるシミュレー
ション方式では、複数処理装置による並列処理を行える
が、バス結合のため、バスのデータ転送能力により全体
の性能゛が抑えられてしまう。
(ニ)1次元の処理装置配列によるシミュレーション方
式では、複数の学習サンプル毎の重み行列の修正しかで
きないため、逆伝播学習則の最急降下アルゴリズムと確
率的降下アルゴリズムのうち最急降下アルゴリズムにし
か対応できない。
本発明の目的は、上記課題を解決し、多層ニューラルネ
ットワークの逆伝播学習則による高速かつ汎用性のある
ニューラルネットワークシミュレーション装置を提供す
ることにある。
〔課題を解決するための手段〕
本発明は、P行P列の2次元正方格子状に配置したP×
P台の処理装置で構成され、多層ニューラルネットワー
クの各層間のリンクの重みを行列表現し、各層のノード
の出力値と誤差信号をベクトル表現し、順方向出力伝播
過程、逆方向誤差伝播過程及び重み修正過程からなる逆
伝播学習則を行うニューラルネットワークシミュレーシ
ョン装置であって、 前記処理装置は、記憶装置と、数値演算装置と、上下左
右の4近傍の処理装置とのデータ転送手段と、記憶装置
、数値演算装置及びデータ転送手段を制御する制御装置
とを備えてなり、かつ重み行列をP×P分割した部分重
み行列を記憶装置に保持するものであり、またこれら処
理装置のうち2次元正方格子の対角要素に位置する処理
装置は、出力値ベクトルと誤差ベクトルをP分割した部
分ベクトルを記憶装置に保持するものであり、前記順方
向出力伝播過程は、前記対角処理装置から縦方向に部分
出力ベクトルを転送し、他の処理装置が転送された部分
出力ベクトルと部分重み行列の部分積ベクトルを計算し
、対角処理装置へ横方向に部分積ベクトルを累算するこ
とによりなされるものであり、 前記逆方向誤差伝播過程は、対角処理装置から横方向に
部分誤差ベクトルを転送し、他の処理装置が転送された
部分誤差ベクトルと部分重み行列の部分積ベクトルを計
算し、対角処理装置へ根方向に部分積ベクトルを累算す
ることによりなされるものであり、 前記重み更新過程は、対角処理装置から横方向に部分誤
差ベクトルを転送し、対角処理装置から横方向に部分出
力ベクトルを転送し、転送された部分誤差ベクトルと転
送された出力ベクトルとから部分重み行列を更新するこ
とによりなされるものであることを特徴とする。
C作用〕 本発明のニューラル名ットヮークシミュレーシコン装置
においては、重み行列、出力ベクトル及び誤差ベクトル
を部分行列と部分ベクトルに分割し、P(Pは1以上の
整数)行P列の2次元正方格子状に配置したP×P台の
処理装置により並列に部分行列と部分ベクトルの演算を
実行する。
各処理装置は格子状に配置され上下左右の4近傍に隣接
する処理装置とデータ転送が可能である。
対角処理装置から部分出力ベクトルと部分誤差ベクトル
の縦方向及び横方向の各処理装置への転送は隣接する処
理装置間のデータ転送手段を用いてパイプライン的に実
行しデータ転送を高速化する。
以上の複数処理装置による並列処理と処理装置間の効率
的なデータ転送により高速なシミュレーションを行うこ
とができる。
〔実施例〕
本発明の実施例について図面を参照して説明する。
第1図は本発明の一実施例に係るニューラルネントワー
クシミュレーション装置の全体構成図である。
図によれば、処理装置1 (PE)をP行P列に配置し
、各列毎データ転送路2でループ接続しかつ各行毎デー
タ転送路2でループ接続した構成となっている。従って
各処理装置1には上下左右の隣接する4個の処理装置1
が接続されている。
各処理装置1は、第2図に示すように、数値演算装置3
と、記憶装置4と、隣接する4つの処理装置と通信をす
るための通信装置5と、これらの装置3,4.5間でデ
ータ転送を行うための内部データ通信路6と、制御装置
7とにより構成されている。
第3図は多層ニューラルネットワークの逆伝播学習則の
説明図である。
ニューラルネットワークはL層から構成され、第1Nを
入力層、第り層を出力層とする。
図において、X+″(j)は第N層のj番目のノードの
出力値であり第N層の出力ベクトルの成分を示す。δ’
(Dはそのノードの誤差であり誤差ベクトルの成分を示
す。θ′4N)はその闇値ベクトルの成分、ΔθN(j
)は闇値の修正値ベクトルの成分である。またWN″1
・N(i、j)は第N層のj番目のノードから第N+1
層のi番目のノードをつなぐリンクの重みであり重み行
列の成分を示す。△Wl′″”(i、j)はその修正値
行列の成分である。
ここで、順方向出力伝播過程、即ち、第N層から第N+
1層にノードの出力値を前向きに伝播する過程は、次式
に従う。
%式%() 但し、f (X)は出力関数で、シグモイド関数f (
X)=1/1+e−X が用いられる。I  (k)は人力層のに番目のノード
の入力値であり入力ベクトルの成分である。
逆方向誤差伝播過程、即ち、第N±1層から第N層ヘノ
ードδ値(誤差)を後向きに伝播する過程は、次式に従
う。
%式%() (1−XH(j))であり、tは今回の後向き伝播訓練
が何回目の訓練であるかを示す整数、δL(k)は出力
層のに番目のノードの誤差ベクトル、X’(k)はその
出力ベクトルの成分、T (k)はその教師ベクトルの
成分である。
重み修正過程、即ち、ノードの出力値とδ値とから重み
を更新する過程は、次式に従う。
%式%() +76w”’・’(i、  j) =ηδH″’  (i)  +αΔθド’  (i)但
し、ηとαは正定数である。
第4図は行列WとベクトルXの乗算を複数の部分行列と
部分ベクトルの乗算で行う方法の説明図である。本図は
P−2の場合において行列Wを2×2の4分割にしかつ
ベクトルXを2分割したものである。yl、y2.xi
、x2は部分ベクトル、wll−w22は°部分行列で
ある。部分積yll〜y22を計算した後に部分積同士
の加算をすることによりylとy2を求めることができ
る。
本シミュレーション装置ではシミュレーションの大きな
部分を占める行列演算を以上の様に部分行列の演算に分
割し複数の処理装置で並列処理することにより高速なシ
ミュレーションを実現する。
第5図はP=4とした場合の全体の構成図を筒略化した
ものである。以下ではこの構成で順方向出力伝播過程、
逆方向誤差伝播過程及び重み修正過程がどのように実行
されるかを詳細に述べる。
各処理装置PE1j (i、j−1〜P)は重み行列W
N″l+N1重み修正行列△WN″トドを列方向にP分
割、行方向にP分割した部分行列W N I I + 
Nij、ΔW)l″I、)IiJを保持している(以下
ではMijは行列Mの第ij要素ではなく第ij部分行
列を表すことにする(第4図参照)。
また各対角処理装置PE1iは出力ベクトルXN、誤差
ベクトルδ8.闇値ベクトルθ8.闇値修正ベクトルΔ
θドをP分割した部分ベクトルXNi、  δNi、θ
M+、ΔθNiを保持する(ViはベクトルVの第i要
素ではなく第1部分ベクトルを表すこととする(第4図
参照))。
第6図は順方向出力伝播過程がどのように行われるかを
示したものである。まず対角処理装置PE、、が部分出
力ベクトルX N Jを縦方向に(PElj−PE4j
に)転送する(第6図(a))。
次に各処理装置PE1jは次の部分積 n e t X” r j =W””i j −X’j
を並列に計算する(第6図(b))。次に部分積neL
X’″I I Jを横方向に伝播し結果を対角処理装置
PE1iに累算する(第6図(C))。
netX”’i’ −ΣneLX”’ij対角処理装置
PE1iは累算された部分積netXN″i′から闇値
を減算し最終的なn e t XN″1jを計算し、出
力関数fを適用して出力XS″1を求める。
neLX’″’1=netXN″lit −θNi1X
”’i    −f  (netX”’i)第7図は逆
方向誤差伝播過程の説明図である。
ここでは順方向出力伝播過程と同様な処理を行うため重
複記載を省略する。
第8図に重み修正過程を示す。各処理装置PE1jはΔ
W ’ ” ’”Ni Jを更新するために部分誤差ベ
クトルδ9゛11と部分出力ベクトルX N Jを必要
とする。このため対角処理装置からδs++ iを横方
向に転送しく第8図(a))、次にχNJを縦方向に転
送する(第8図(b))。その後各処理装置PE1jは
ΔWN″1・NijとWN”・Ni Jを並列に更新す
る。このとき対角処理袋W P E i iはθ8゛1
 とΔθ8゛1の更新も行う(第8図(C))。
〔発明の効果〕
以上のように本発明のニューラルネントワークシミュレ
ーション装置においては、重み行列、出力ベクトル、誤
差ベクトルを部分行列と部分ベクトルに分割しP行P列
の2次元正方格子状に配置したP×P台の処理装置によ
り並列に部分行列と部分ベクトルの演算を実行するため
以下の効果かある。
(イ)各処理装置は格子状に配置され」二下左右の4近
傍に隣接する処理装置とデータ転送か可能である。
(ロ)対角処理装置から部分出力ベクトル、部分誤差ベ
クトルの縦方向、横方向の各処理装置への転送は隣接す
る処理装置間のデータ転送手段を用いてバイブライン的
に実行しデータ転送を高速化する。
(ハ)以上の複数処理装置による並列処理と処理装置間
の効率的なデータ転送により高速なシミュレーションを
実現する。
【図面の簡単な説明】
第1図は本発明の一実施例に係るニューラルネットワー
クシミュレーション装置を示す全体構成図、 第2図は第1図の装置に用いられる処理装置のブロック
図、 第3図は多層ニューラルネットワークの逆伝播学習則の
説明図、 第4図は行列WとベクトルXの乗算を複数の部分行列と
部分ベクトルの乗算で行う方法の説明図、第5図はP=
4とした場合の全体構成簡略図、第6図(a)〜(c)
は順方向出力伝播過程の説明図、 第7図(a)〜(c)は逆方向誤差伝播過程の説明図、 第8図(a)〜(c)は重み修正過程の説明図である。

Claims (1)

    【特許請求の範囲】
  1. (1)P行P列の2次元正方格子状に配置したP×P台
    の処理装置で構成され、多層ニューラルネットワークの
    各層間のリンクの重みを行列表現し、各層のノードの出
    力値と誤差信号をベクトル表現し、順方向出力伝播過程
    ,逆方向誤差伝播過程及び重み修正過程からなる逆伝播
    学習則を行うニューラルネットワークシミュレーション
    装置であって、 前記処理装置は、記憶装置と、数値演算装置と、上下左
    右の4近傍の処理装置とのデータ転送手段と、記憶装置
    ,数値演算装置及びデータ転送手段を制御する制御装置
    とを備えてなり、かつ重み行列をP×P分割した部分重
    み行列を記憶装置に保持するものであり、またこれら処
    理装置のうち2次元正方格子の対角要素に位置する処理
    装置は、出力値ベクトルと誤差ベクトルをP分割した部
    分ベクトルを記憶装置に保持するものであり、前記順方
    向出力伝播過程は、前記対角処理装置から縦方向に部分
    出力ベクトルを転送し、他の処理装置が転送された部分
    出力ベクトルと部分重み行列の部分積ベクトルを計算し
    、対角処理装置へ横方向に部分積ベクトルを累算するこ
    とによりなされるものであり、 前記逆方向誤差伝播過程は、対角処理装置から横方向に
    部分誤差ベクトルを転送し、他の処理装置が転送された
    部分誤差ベクトルと部分重み行列の部分積ベクトルを計
    算し、対角処理装置へ縦方向に部分積ベクトルを累算す
    ることによりなされるものであり、 前記重み更新過程は、対角処理装置から横方向に部分誤
    差ベクトルを転送し、対角処理装置から横方向に部分出
    力ベクトルを転送し、転送された部分誤差ベクトルと転
    送された出力ベクトルとから部分重み行列を更新するこ
    とによりなされるものであることを特徴とするニューラ
    ルネットワークシミュレーション装置。
JP1085829A 1989-04-06 1989-04-06 ニューラルネットワークシミュレーション装置 Pending JPH02266458A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1085829A JPH02266458A (ja) 1989-04-06 1989-04-06 ニューラルネットワークシミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1085829A JPH02266458A (ja) 1989-04-06 1989-04-06 ニューラルネットワークシミュレーション装置

Publications (1)

Publication Number Publication Date
JPH02266458A true JPH02266458A (ja) 1990-10-31

Family

ID=13869740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1085829A Pending JPH02266458A (ja) 1989-04-06 1989-04-06 ニューラルネットワークシミュレーション装置

Country Status (1)

Country Link
JP (1) JPH02266458A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
US6466924B1 (en) 1997-12-02 2002-10-15 Denso Corporation Verification method of neural network and verification apparatus thereof
JP2009199430A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd ベクトル積の並列処理方法
WO2020246598A1 (ja) * 2019-06-07 2020-12-10 国立研究開発法人理化学研究所 演算装置、演算方法、および演算プログラム
JP2021508125A (ja) * 2017-12-29 2021-02-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 行列乗算器
JP2022554371A (ja) * 2019-11-07 2022-12-28 清華大学 メモリスタに基づくニューラルネットワークの並列加速方法およびプロセッサ、装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
US6466924B1 (en) 1997-12-02 2002-10-15 Denso Corporation Verification method of neural network and verification apparatus thereof
JP2009199430A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd ベクトル積の並列処理方法
JP2021508125A (ja) * 2017-12-29 2021-02-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 行列乗算器
US11334648B2 (en) 2017-12-29 2022-05-17 Huawei Technologies Co., Ltd. Matrix multiplier
US11934481B2 (en) 2017-12-29 2024-03-19 Huawei Technologies Co., Ltd. Matrix multiplier
WO2020246598A1 (ja) * 2019-06-07 2020-12-10 国立研究開発法人理化学研究所 演算装置、演算方法、および演算プログラム
JP2020201659A (ja) * 2019-06-07 2020-12-17 国立研究開発法人理化学研究所 演算装置、演算方法、および演算プログラム
JP2022554371A (ja) * 2019-11-07 2022-12-28 清華大学 メモリスタに基づくニューラルネットワークの並列加速方法およびプロセッサ、装置

Similar Documents

Publication Publication Date Title
CN107578098B (zh) 基于脉动阵列的神经网络处理器
US10650301B2 (en) Utilizing a distributed and parallel set of neurosynaptic core circuits for neuronal computation and non-neuronal computation
JP2663996B2 (ja) ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア
US5170463A (en) Neuro-computer
JPH04290155A (ja) 並列データ処理方式
US5228113A (en) Accelerated training apparatus for back propagation networks
Meng et al. Accelerating proximal policy optimization on cpu-fpga heterogeneous platforms
Bilski et al. Parallel realisation of the recurrent multi layer perceptron learning
Wu et al. Parallelizing the self-organizing feature map on multiprocessor systems
US11709520B2 (en) Path-number-balanced universal photonic network
JPH02266458A (ja) ニューラルネットワークシミュレーション装置
Malluhi et al. Efficient mapping of ANNs on hypercube massively parallel machines
Rogers et al. Parallel Processing in a control systems environment
JPH076146A (ja) 並列データ処理システム
JP2825133B2 (ja) 並列データ処理方式
Ayoubi et al. Efficient mapping algorithm of multilayer neural network on torus architecture
JP2766858B2 (ja) ニューラルネットワーク並列シミュレーション方法及びそれに用いる装置
Shams et al. Parallel implementations of neural networks
Amin et al. Parallel backpropagation neural network training techniques using graphics processing unit
JPH06110864A (ja) 学習処理装置
Kumar et al. Algorithmic mapping of neural network models onto parallel SIMD machines
Fujimoto An enhanced parallel planar lattice architecture for large scale neural network simulations
JP3271186B2 (ja) 学習処理装置
Krikelis et al. Implementing neural networks with the associative string processor
Song et al. Implementation of two-dimensional systolic algorithms for multi-layered neural networks