JPH04290155A - 並列データ処理方式 - Google Patents

並列データ処理方式

Info

Publication number
JPH04290155A
JPH04290155A JP3054725A JP5472591A JPH04290155A JP H04290155 A JPH04290155 A JP H04290155A JP 3054725 A JP3054725 A JP 3054725A JP 5472591 A JP5472591 A JP 5472591A JP H04290155 A JPH04290155 A JP H04290155A
Authority
JP
Japan
Prior art keywords
data processing
terminal
tray
processing
processing unit
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
JP3054725A
Other languages
English (en)
Inventor
Hideki Kato
英樹 加藤
Hideki Yoshizawa
英樹 吉沢
Hiromoto Ichiki
市▲来▼ 宏基
Daiki Masumoto
大器 増本
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 JP3054725A priority Critical patent/JPH04290155A/ja
Priority to EP9292302370A priority patent/EP0505179A3/en
Publication of JPH04290155A publication Critical patent/JPH04290155A/ja
Priority to US08/420,332 priority patent/US5544336A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,複数個のデータ処理ユ
ニットを同期的に使用してデータ処理を行う並列データ
処理方式に関する。
【0002】近年,電子計算機或いはデジタル信号処理
装置等のシステムにおいて,データ処理の適用分野の拡
大に伴い,処理されるデータの量が膨大になり,特に画
像処理或いは音声処理等の分野では高速なデータ処理を
行う必要があり,そのため,複数個のデータ処理ユニッ
トを同期的に用いてデータを処理するデータ処理の並列
性の利用が重要となる。一般に,複数の処理ユニットを
用いた処理において重要な概念に台数効果がある。これ
は用意されたデータ処理ユニットの台数に比例したデー
タ処理速度の向上が得られることを意味するが,並列処
理方式においては良好な台数効果を得ることが非常に重
要となる。
【0003】台数効果が悪化する主要な原因は,問題そ
のものの並列度による限界を別にすれば,データ処理に
伴うデータ転送に要する時間が本来のデータ処理に要す
る時間に加算されてトータルとしての処理時間が引き延
ばされることにある。従って,台数効果の向上にはデー
タ伝送路の容量をフルに活用することが有効であるが,
これはなかなか難しい。
【0004】しかし,処理が規則的な場合には,この規
則性を利用して台数効果を上げることが可能となる。
【0005】データをシストリックアレイ,すなわち,
巡回的にデータを流し,2つのデータがその流れにおい
てそろったところで演算を行うようにする。処理が規則
的なことを利用する並列処理がシストリックアレイ方式
であり,この中でリングシストリックアレイ方式と呼ば
れる1次元のシストリックアレイ方式は,複数個のデー
タ処理ユニットを同期的に用いてシストリックなデータ
を処理する並列データ処理方式であって実現が比較的容
易である。規則性のある処理として,ベクトルの内積演
算を基本とした行列演算や,ニューラルネットの積和演
算に非線形関数を介して出力する並列処理がある。
【0006】
【従来の技術】図12は従来の共通バス結合型並列方式
の原理構成図である。同図において91はプロセッサエ
レメント,4はメモリ手段,93は共通バス,92は共
通バスに接続されるバス,94はプロセッサエレメント
と,それに対応して接続されるメモリ4を接続する内部
バスである。この共通バス結合型並列方式においては,
プロセッサエレメント(以下PEと称す)間の通信が共
通バス93を介して行われる。特定な時間区域には共通
バスに乗せるデータは1つであるため,共通バスによる
通信は共通バス全体にわたって同期をとる必要がある。
【0007】図13は共通バス結合型並列方式による行
列ベクトル積の動作フローチャートである。各PEは他
のPEからのデータXとメモリ上のWとをかけ,その積
をYに足しこむ動作を行う。そのためフローチャートに
示すように,i番目のPEに関して,その内部にあるレ
ジスタの内容,すなわち,Yi の値をまず0にする。 そして以下をn回繰り返す。すなわち,共通バス93に
Xj を与えるとi番目のPEは共通バスに接続された
バス92からの入力とメモリ4から内部バス94を介し
て与えられる入力(Wij)を掛け合わせ,その積をY
i に足し込む。これを繰り返す。
【0008】図14は従来のリングシストリック方式の
原理説明図である。同図において120はプロセッサエ
レメント(PE)である。各PEは巡回バス122によ
って接続されている。また,121は係数Wijを格納
するメモリである。W11, W12,....,W3
3などは係数行列の要素であり,一般にWijは行列の
ij成分である。 この係数行列Wと,ベクトルx=(X1 ,X2 ,X
3)を掛ける動作をこのリングシストリック方式で行う
場合,次のようにして行われる。
【0009】図15はプロセッサエレメントの第i番目
の内部構造である。同図において123は乗算器,12
4は加算器,125はアキュムレータ(ACC),12
1は係数の要素Wijを格納するメモリである。このメ
モリ121はいわゆるFIFOであって,係数行列の第
i行目に関する係数としてWij,すなわちj番目の列
の要素が出力されようとしている状態である。このFI
FOは出力された次のクロックでは巡回し,バス126
を介して後ろ側からまた入力される。従って図に示すよ
うに,Wi1, ....,Wi j−1 はすでに巡
回されて後側に格納されている状態となっている。
【0010】一方,ベクトルの各要素は巡回バス122
を介して入力される。現在,要素Xj が入力されてい
る状態である。すでにアキュムレータ125にはWi1
×X1 +....+Wi j−1 ×Xj−1 の内
積結果が格納されている。これが今アキュムレータ12
5から出力され,加算器124の一方の入力に入力され
ている。外部からのXj とFIFOから出力されてい
るWijの積が乗算器123によって乗算され,その結
果が加算器124の他方の入力に入力され,現在のアキ
ュムレータ125の内容とが加えられ,次のクロックで
同じアキュムレータ125に加算される。
【0011】この繰り返しによって,係数行列Wの第i
行目の行ベクトルと外部から与えられるベクトルxとの
内積演算が実行される。なお,スイッチ(Switch
) はデータXi をスルーに外部に出すか,あるいは
内部に取り込み,アキュムレータ125にセットする場
合との選択を行うためのものである。
【0012】このようなPEで,行列×ベクトルの積を
行う場合,図14に示すように,PE−1はまず,W1
1とX1 を掛け,次のクロック周期に,X2 が右側
のPE−2から流れ込み,W12がメモリ121から出
力されるので,W12×X2 が演算される。同様に次
のクロックではW13とX3 との積が実行され,この
ことにより係数行列の第1列目とベクトルxとの積がP
E−1において可能となる。
【0013】また,第2列目とベクトルとの積はPE−
2において行われる。すなわち,W22とX2 を掛け
,次のクロック周期に,W23とX3 を掛け,次のク
ロック周期においてW21と巡回的にもどってきたX1
 との積を行うことになる。同様に,第3行目とベクト
ルとの積はW33とX3 を掛け,W31と巡回してく
るX1 とを掛け,W32と巡回して戻ってくるX2 
との積をとって内積演算を実行することによって可能と
なる。
【0014】従って,この動作において,W11とX1
 との積,及びW22とX2 ,W33とX3 との積
は同時に行えることになる。しかし,図に示すように,
この同時性を実行するためには係数行列の要素の並べ方
にねじれが生じている。このようなリングシストリック
アレイ方式においては,各PE間のデータ転送と,各P
Eでのデータ処理を同期して実行することで,データ転
送路を有効に利用でき,従って良好な台数効果を得るこ
とができる。
【0015】図16は,図14のリングシストリック方
式の構成を多段に組み合わせたものであり,この構成に
より,連続する行列とベクトルの積を行うことが可能と
なる。このようなシストリックアレイ方式は処理が規則
的であるため,データ伝送路の容量をフルに活用するこ
とが可能であり,従って台数効果の向上が計れる。
【0016】図12のような従来の共通バス結合の並列
方式においては,プロセッシングエレメント,すなわち
PE間の結合が共通バスによっているため,一時には1
つのデータしか転送できない。また,共通バスによる結
合は共通バス全体にわたる同期をとらなければならない
【0017】従って,従来の共通バス結合型並列方式に
おいては良好な台数効果を得られる処理の種類が少ない
という問題が生じ,さらに共通バスによる結合は,結合
されるPEの個数の増加とともに共通バスが長くなり,
共通バス全体にわたる同期をとるのが難しくなるという
問題,そして,大規模並列には適さないという問題が生
じていた。
【0018】また,図14のような従来のリングシスト
リックアレイ方式においては,各PE間のデータ転送と
PEでのデータ処理を同期して実行することにより,台
数効果を得ることができるが,この方式では,各PE間
でのデータ転送と,各PE間でのデータ処理のタイミン
グを合わせねばならない。
【0019】また,この方式では,例えば長方形の行列
とベクトルとの積を求める場合等のようにデータ処理ユ
ニットとデータ保持ユニットとのそれぞれの最適な個数
が等しくない場合には,実際のデータ処理に係わらない
PEが必要となり,すなわち,遊ぶPEが多くなり,そ
のため台数効果が悪化するという問題がある。
【0020】言い換えれば,効率よくとける問題と回路
構成とが固く対応し,問題の大きさが最適な値と異なる
と台数効果が悪化してしまう。逆にいうと,良好な台数
効果が得られる問題が特定されてしまい,広範な処理に
適用できず,柔軟性,或いは汎用性に欠け,結果として
,ある程度広い範囲の処理に適用できる高速なデータ処
理系を実現することが困難となる。
【0021】このような問題点を解決するために,本願
出願人は,先に特許出願を行って,前記のリングシスト
リックアレイ方式や共通バス結合型SIMD(Sing
le Instruction Muti Data)
結合方式と同程度なハードウエア構成で,データ転送に
よるオーバヘッドを減少せしめ,特に,長方形行列とベ
クトルとの積を求めるような処理に対しても,本来の並
列度を最大限利用できるようにして良好な台数効果を得
ることにより,行列演算あるいはニューロコンピュータ
演算を行い得る並列データ処理方式を提案した。
【0022】以下,当該先の提案について簡単に述べて
おく。
【0023】図17は先の提案の場合の原理説明図であ
る。同図において1はデータ処理ユニット,2はデータ
の保持及び転送を行うトレイ,3は各トレイの相互接続
により構成されるシフト手段,11はデータ処理ユニッ
トの第1の入力,12はデータ処理ユニットの第2の入
力,21はトレイの第1の入力,22はトレイの第1の
出力,23はトレイ2の第2の出力である。また4はメ
モリ,6は結合手段,5はクロック供給部を表わしてい
る。
【0024】データ処理ユニット1はデータの処理を行
い,トレイ2は転送の動作を行うものでシフト手段3を
構成して,データの巡回シフトを行う。図示の場合では
m×n行列Aと要素数のベクトルxとの積を求める場合
,行列Aの行数mが列数nより小さい場合であっても,
或いはmがnより大きい場合であっても,m個のデータ
処理ユニットとn個のトレイを用いてnに比例する処理
時間でその積が実行可能となり,従って,良好な台数効
果を得ることができる。
【0025】すなわち,図17に示すように,それぞれ
2つの入力を持ち,その入力間の乗算機能とその乗算結
果の累積機能,すなわち内積演算を実行するm個のデー
タ処理ユニット1と,n個のトレイ2とからなる構成に
おいて,ユニット内の累積レジスタの内容をYとした場
合に,データ処理ユニットは11からの入力と12から
の入力を掛け合わせ,積を累積レジスタYに足し込み,
その後,シフト手段3内の隣接するトレイ間でベクトル
xの要素をシフトする。この動作をn回繰り返すことに
より,m×nの行列Aと,n次元ベクトルとの乗算がm
個のデータ処理ユニットを用いてnに比例する処理時間
で実行可能となる。
【0026】すなわち,前記リングシストリックアレイ
方式やSIMD結合方式の場合と異なり,データ処理ユ
ニット1とデータ保持機能を有するトレイ2とを分離す
ることにより,それぞれmとnとが異なっている場合で
あっても,タイミングを合わせるための処理を必要とせ
ずに良好な台数効果を得ることが可能となる。
【0027】さらに,トレイ2間のデータ転送とデータ
処理ユニット1によるデータ処理とを同時並行的に行い
,一般的にはデータ処理ユニットがデータ処理に有する
時間よりもデータ転送時間を短くすることが期待できる
ので,データ転送時間をデータ処理時間の影に隠すこと
で実質的に0にし,そのことにより,処理時間を短縮す
ることが可能となっている。このことにより,行列演算
あるいはニューロコンピュータ演算を行う。
【0028】図18は図17の場合の動作概念図である
。同図においてトレイ2内のデータX1 からXn は
ベクトルxの要素でその個数はnであるとする。またデ
ータ処理ユニットはm個あり,その各々に累積レジスタ
があり,その内容がY1 ,Y2 ,....,Ym 
である。
【0029】m×nの長方行列の要素はA11からAm
mまでのm×n個存在する。データ処理ユニットの1−
1には係数行列の第1行目であるA11,A12,..
..,A1nが同期的に12−1の入力バスから入力さ
れる。
【0030】またデータ処理ユニット1−2はA22,
A23,....,A21がシストリック動作の各タイ
ミングで順番に与えられる。また,データ処理ユニット
1−mにはAmm,Amm+1,....,Am m−
1 が同期的に与えられる。
【0031】時間タイミングT1 においては図18に
示されるようにトレイの2−1,2−2,....,2
−nにはX1 ,X2 ,Xm ,....,Xn が
あり,ユニット1−1,1−2,....,1−mには
それぞれ係数行列の要素A11,A22,....,A
mmが入力されている。従って,このタイミングにおい
てデータ処理ユニット1−1はA11とトレイ21のデ
ータX1 との積を求め,データ処理ユニット1−2は
対応するトレイ2−2にあるX2 とメモリから与えら
れるA22との積を求め,同様に,データ処理ユニット
2−mにおいてはAmmとXm の積を求める。
【0032】このタイミングは図18のT1 のタイミ
ングで行われている。すなわち積和を求める同期クロッ
クにおいて,バス11−1にはX1があり,バス12−
1にはA11があり,バス11−2にはX2 ,12−
2にはA22,11−3にはX3 ,12−3にはA3
3があり,11−mにはXm ,12−mにはAmmが
のっている。従って,図18のT1 のタイムにおける
図に示すように内積演算が行われる。
【0033】累積レジスタYの値はこの時は0であるか
ら内積結果は0に掛けた値が加わることになる。積和演
算が終わるとシフト動作に入り図18のタイミングT2
 に移る。このとき,シフトされているからトレイ2−
1にはX2 ,トレイ2−2にはX3 ,そしてトレイ
2−mにはXm+1 が格納され,また,係数行列の要
素もデータ処理ユニット1−1,....,1−mには
それぞれA12,A23,Am m+1 が入力される
【0034】従って,T2 のタイミングにおいて,A
12とX2 との積をとり,前の累積レジスタYとの和
が求められる。従ってユニット1−1においてはT1 
において求まったA11とX1 との積に対してT2 
において求められるA12とX2 との積が加算され,
その結果が累積レジスタに格納される。同様にユニット
1−2においては前の結果であるA22×X2 +A2
3×X3 の結果が累積レジスタに格納される。ユニッ
ト1−mに対しても同様である。そしてまたシフトし,
タイミングT3 に移る。トレイ2−1にはX3 ,ト
レイ2−2にはX4 ,トレイ2−mにはXm m+2
 ,トレイ2−nにはX2 が入り,図18のT3 時
間における図に示されるような内積演算が実行される。
【0035】図19は図17に示すトレイの構成を示し
ており,図下方には図上方に示す丸印部分の具体例を表
わしている。図中の符号2aはトレイデータ保持回路,
2bはトレイデータ転送回路,2cは制御手段,2dは
データ入出力回路である。
【0036】図19下方に示す如く,データ保持回路2
aには,図17に示す右側のトレイと図17に示す左側
のトレイとデータ処理ユニット1とからのいずれかのデ
ータがセット可能とされ,また当該データ保持回路2a
からのデータは,図17に示す左側のトレイと図17に
示す右側のトレイとデータ処理ユニット1とに供給され
る。
【0037】上述した如く並列データ処理方式が提供さ
れるが,当該並列データ処理方式によれば複数個のデー
タを並列的に処理することが可能となり,次の如き処理
に利用される。
【0038】即ち,従来から広く利用されているフォン
ノイマン型コンピュータによる論理型データ処理だけで
は,人間が行っているような柔軟なパターン処理は難し
い。この観点から,異なる計算原理にもとづくニューロ
コンピュータが研究されている。
【0039】ニューロコンピュータの大きい特徴の1つ
にその学習機能がある。現在最も広く使われている学習
則の1つに誤差逆伝搬則がある。しかしこの誤差逆伝搬
則を大規模なニュラルネットワークあるいは大量の学習
データに適用した場合,学習の収束までに非常に長い時
間を要する。
【0040】上述した並列データ処理方式は,当該誤差
逆伝搬則による学習に利用される。
【0041】図20はニューロコンピュータにおける基
本素子であるニューロンモデルの構成を示す。ニューロ
ンモデルは入力X1 ,X2 ,....,Xn の各
々にシナプス結合としての重み時W1 ,W2 ,..
..,Wn をそれぞれ乗算し,その総和を求め,これ
を内部値Uとする。このUに非線形関数fを施し,出力
Yとする。ここで非線形関数fは図に示すようなS型の
シグモイド関数が一般に使われる。
【0042】図21は図20図示のニューロンモデルの
複数を用いて入力層,中間層,出力層の3層構造でニュ
ーロコンピュータを形成する階層型のニューラルネット
ワークの概念図である。
【0043】第1層の入力層は入力信号I1 ,I2 
,....,IN(1)を入力する。第2層の中間層は
各々のユニット,すなわち,各々のニューロンモデルが
第1層の例えばすべてのニューロンモデルに接続され,
その結合枝がシナプス結合であって,重みWijが与え
られている。 第3層の出力層は同様に中間層の各ニューロンモデルの
全てに各々のユニットが接続されている。その出力は外
部に出される。
【0044】このニューラルネットにおいては学習時に
おいて入力層に与えられる入力パターンの信号に対応す
る教師信号と出力層との出力信号との誤差を求め,この
差が非常に小さくなるように中間層と出力層との間の重
み及び第1層と第2層の間の重みを定めるようにする。 このアルゴリズムがバックプロパゲーション法則,すな
わち逆伝播学習則と呼ばれるものである。
【0045】逆伝播学習則によって定められた重み値を
保存し,例えばパターン認識等の連想処理を行う場合に
は,第1層の入力にて認識するべきパターンからややず
れた不完全なパターンを与えると,出力層からそのパタ
ーンに対応した出力信号が出力され,その信号は学習時
に与えたそのパターンに対応する教師信号と非常に似た
ような信号が出てくる。教師信号との差が非常に小さけ
れば,その不完全なパターンを認識したことになる。
【0046】図21においてN(1)は第1層のニュー
ロン数である。また通常,第1層,すなわち入力層の各
ニューロンの出力は入力と等しいものとするので,実質
的な処理の必要はない。通常の動作,すなわちパターン
認識を行う場合の前向きの処理を図22に示す。
【0047】図22は前向き処理フローチャートである
【0048】前向き処理では図21に示すネットワーク
において,各層間の結合枝上の重み係数は定まっている
ものとする。図21のネットワークをニューロコンピュ
ータで実現する場合,次の処理が行われる。前向き動作
の基本動作は図20のニューロンモデルにおいて,入力
に重みを掛けその総和をとったものをUとし,そのUに
非線形関数を施す処理となる。これを各層において行う
ことになる。
【0049】そのため,まず,ステップ70において入
力データ,すなわちI1 からIN(1)までのデータ
をシフトレジスタ上にセットする。そして層の数をLで
表すと,以下のすべての処理を層分繰り返す。例えばL
が3であった場合には,3回繰り返す。繰り返される処
理は1層分の前向き処理である。
【0050】そして,処理が終了する。その1層分の前
向き処理が図22の下側に示されている。
【0051】今,中間層に注目すると,lは2である。 ステップ72において,シフトレジスタの長さをN(l
−1)にする。すなわち,l=2であるからN(1),
すなわち入力層の数にする。
【0052】ステップ73は中間層におけるニューロン
モデルの処理である。インデックスのjは入力層のユニ
ット数の数1から数N(1)まで変化させる。Wij(
l)は入力層と中間層の間の結合における重み係数であ
る。すなわちl=2である。Yj (l−1)は入力層
のj番目のユニットからの出力である。iは中間層のi
番目のユニットを意味する。i番目のユニットの状態U
i (2)は入力層の出力Yj ,すなわちj番目のY
に重みWijをかけてその総和より計算される。
【0053】ステップ74に移って,その中間層のi番
目の状態Ui (2)は非線形関数,すなわちシグモイ
ド関数に入力され,その出力がYi(2)となる。すな
わちステップ73の内積計算はデータ処理ユニット1内
で行うが,このシグモイド関数の計算に当っては専用の
装置を用いてもよい。
【0054】ステップ75で例えば,中間層のi番目の
ユニットの出力Yi(2)はトレイのi番目に出力され
る。そして処理が終わる。
【0055】以上の前向き処理を入力層,中間層,出力
層に対して行うことになる。このようにして各層の前向
き処理が終了する。すなわちニューロン単体のシミュレ
ーションに必要な処理は図20中の式で示される演算で
,その内容は重みと入力ベクトルとの内積演算及びその
演算結果に対するシグモイド関数値の計算であり,その
関数値の計算は例えばシグモイド関数処理専用の装置に
より実現される。
【0056】従って,ネットワーク中のある1層の処理
は図21に示すように,そのニューロン単体の演算をそ
の層内の全ニューロン分行うことである。従って内積演
算は各ニューロンi番目とする結合係数ベクトルを並べ
た行列W(l)=〔Wij(l)〕と,その層への入力
を並べたベクトルx(l)=〔Xj (l)〕の積のベ
クトルUは
【0057】
【数1】
【0058】となり,実行可能となる。
【0059】またシグモイド関数演算は各シグモイド関
数処理専用の装置が積ベクトルの各要素,Ui (l)
を入力し,対応する関数値Yi (l)=f(Ui (
l))を出力することによってなされる。継続する層す
なわち, 第(l+1)層が存在する場合には,その各
関数値出力Yi (l)を各トレイに書き込み,第(l
+1)層の処理においてはこれを入力として以上の過程
を繰り返す。
【0060】次にニューロコンピュータを用いて学習動
作,すなわちバックプロパゲーションアルゴリズムを実
行する場合について説明する。
【0061】図23は学習処理フローチャートである。 ニューロコンピュータにおける学習とはネットワークが
所望の入出力関係を満たすようになるまで各ニューロン
の重みを修正することである。
【0062】学習方法は所望の入力信号ベクトルと教師
信号ベクトルとの対を複数個,すなわち教師信号の集合
分だけ用意し,その中から1対を選び,その入力信号I
P を学習対象ネットワークに入力し,入力に対するネ
ットワークの出力と正しい出力信号,すなわちその入力
信号に対応した教師信号OPとを比較する。この差を誤
差と称するが,その誤差,及びこの時の入出力信号の値
を基に,各ニューロンの重みを修正することになる。
【0063】この過程を教師信号の集合中の全要素にわ
たり学習が収束するまで繰り返すものである。すなわち
,入力パターンの数の分だけ,すべて重み値として分布
的に記憶することになる。この後ろ向き処理と呼ばれる
重みの修正過程において出力層で得られた誤差を途中で
変形しながら入力層に向け通常の信号の流れる向きとは
逆方向に伝播させる。これがバックプロパゲーションの
アルゴリズムである。
【0064】まず前記誤差Dを以下のように再帰的に定
義する。Di(l)は第l層のi番目のニューロンから
逆向きに伝播される誤差,Lはネットワークの層数であ
る。
【0065】
【数2】
【0066】
【数3】
【0067】ここでf′(U)はシグモイド関数f(X
)のXに対する微係数f′(X)のX=Uの時の値であ
り,例えば     f(X)=tanhX           
                         
(3)ならば,     f′(X)=d(tanhX)/dX=1−t
anh2 X              =1−f2
 (X)                     
     (4)であるから,     f′(Ui)=1−f2 (Ui)=1−Yi
2           (5)である。
【0068】このDiとYiを基に,以下のように重み
を更新する。基本的には次の式を用いる。ここではηは
重みを更新する刻み幅であり,小さければ学習安定に収
束する収束が遅くなり,大きすぎると収束しなくなると
いう性質を持ったパラメタである。
【0069】
【数4】
【0070】
【数5】
【0071】しかし,次式も良く用いられている。これ
は上式の
【0072】
【数6】
【0073】を1次のデジタルローパスフィルタに通し
たことになっており,αはその時定数を決めるパラメタ
である。
【0074】
【数7】
【0075】この後ろ向き処理の過程において必要とな
る演算はベクトル間の演算,或いは行列とベクトルとの
演算であり,特にその中心となるのは各層のニューロン
の重みを要素とする重み行列Wの転置行列 trans
pose (W)と前記誤差ベクトルDj (l)との
乗算である。 この誤差ベクトルは1層内に複数個のニューロンがある
一般の場合,誤差はベクトルとなる。
【0076】左のフローチャートを説明する。1層分の
前向きの処理と後向きの処理が行われる。まず,入力デ
ータIP をシフトレジスタ上にセットし,1層分の前
向き処理をシステムで行う。
【0077】これは各層で行われるため,この前向き処
理を層の数分だけ繰り返す。すると出力データOP が
出力されるので,これをシフトレジスタ上にセットする
。 そして,ステップ79から以下を出力層のユニット分だ
け並列に実行する。すなわち誤差Di (L)=Yi 
(L)−OP (i)を計算し,この誤差をトレイのi
番目にセットする。そして出力層から入力層に向かって
各層毎に後向き処理を行う。
【0078】この後向き処理は図24に示されている。 第L番目の層に関して,この層の数はN(l)であるか
らシフトレジスタ長をN(l)にする。そして以下の動
作をこの前の層のユニット数だけ並列に実行する。すな
わち,上記(2)式を,ステップ83において実行する
。ここで重要なのは重みはWji(l)となっており,
これは重み行列の転置行列 transpose (W
)の要素になっている。
【0079】そしてステップ84において,上記(6)
, (7)あるいは(8)式を計算し,重みの更新を行
う。 ステップ85で,求まった誤差Di(l−1)をトレイ
のi番目に出力する。これは次の誤差を計算するため,
ステップ84の動作に必要となる。
【0080】図25は前向き処理と後向き処理の連続処
理を学習が習得するまで繰り返すことを意味するフロー
チャートである。また,このような処理において重みの
更新と学習を安定にするために重みの修正量の平滑化等
の処理があるが,これらはいずれも行列のスカラ倍及び
行列同士の加減算からなり,やはり,本ニューロコンピ
ュータにおいて行える。
【0081】またシグモイド関数処理専用の装置はハー
ドウエアで実現するものとしたが,ソフトウエアで実現
してもよい。
【0082】以上のニューロコンピュータをさらに図2
6を用いて説明する。図26はエラーバックプロパゲー
ションの学習を行う時の処理フローである。ここでは,
ベクトル表示を用いている。同図においてx(l)は第
l層のニューロンベクトル,Wは同じく結合係数,すな
わち重み行列である。fはシグモイド関数,dは誤差,
(l)は第l層の出力側から逆向きに伝播してきた誤差
ベクトル,ΔWは重みの修正量である。
【0083】入力信号が与えられると,まず,3層であ
る場合には,入力層はないものとすれば,隠れ層の前向
き処理を行う。それがu=Wy (l)である。このu
に非線形関数を施せば,次の層,すなわち(l+1)層
の入力となる。これは出力層の入力であるから,その前
向き処理を行う。
【0084】そして教師信号を入力し,後向き処理に入
る。
【0085】出力層においては教師信号と出力信号の誤
差dをfの微分を掛けて後向き処理にする。また中間層
等の間の誤差は逆伝播してくる誤差信号に微分をかけた
変数に重み行列の転置行列 transpose (W
)をかけて求められる。
【0086】誤差ベクトルの各要素にシグモイドの微分
をかけた値に前の transpose (W)の要素
を掛けてこれによりΔWを求め,Wを更新すればよい。
【0087】このようにして,出力層の後向き処理,及
び隠れ層の後向き処理が行われる。前向き処理で行う演
算は,重み行列Wと入力ベクトルyとの積,この結果ベ
クトルの各要素のシグモイド関数の値の計算である。こ
の計算は各ニューロンで並列に計算できる。また後向き
処理でも仕事は大きく分けて2あり,1つ目は教師信号
と出力信号との誤差を順次変形しながら,後から前へ逆
向きに伝播すること,また2つ目はその誤差を基に重み
行列Wの転置行列 transpose(W)による乗
算が必要になる。
【0088】図27は学習処理をまとめて表わしたフロ
ーチャートである。図中の符号70(76),71(7
6),72,73,74,75,79,80,81,8
2,83,84は上述の図22,図23,図24,図2
5に対応している。
【0089】
【発明が解決しようとする課題】前記の従来の並列デー
タ処理方式においては,前記トレイ2の個数が例えば2
56個程度のものとなっている。このために,トレイ2
を例えば32個程度で足りる演算を実行しようとする場
合には,残余の224個のトレイ2とデータ処理ユニッ
ト1とに遊びが生じる。即ち,図17に示す従来の場合
において,結合手段6としては,図17図示の最右端の
入力を途中の結合手段6をショートカットして直接受取
る機能をもつよう構成されていることから,上記の例で
言えば32個分のトレイ2のみを使用するようにするこ
とは可能であるが,残余の224個分が遊びとなる。
【0090】上記の如き設定例の場合には,上記256
個分を8群に区分し,当該8群で並列処理することが望
まれる。
【0091】本発明はシフト手段を構成するトレイを複
数の群に区分して,並列処理を実行できるようにするこ
とを目的としている。
【0092】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。図中の符号1はデータ処理ユニット,2はト
レイ,3はシフト手段を表わしている。そして7は本発
明にいう切り換え手段であって,図中の符号7−1で示
す如きシフト手段延長モードの下での接続状態と,図中
の符号7−2で示す如きシフト手段分割モードの下での
接続状態とが選択的に切り換え可能に構成されている。
【0093】切り換え手段7は,第1の端子■と,第2
の端子■と,第3の端子■と,第4の端子■とをそなえ
ている。上記シフト手段延長モードの下では,第1の端
子■と第3の端子■とが内部接続され,かつ第2の端子
■と第4の端子■とが内部接続される。また上記シフト
手段分割モードの下では,第1の端子■と第2の端子■
とが内部接続され,かつ第3の端子■と第4の端子■と
が内部接続される。
【0094】これによって,シフト手段延長モードの場
合には,注目した切り換え手段7の図示右側(又は左側
)のトレイ2からのデータは図示左側(又は右側)のト
レイ2に伝送されることとなる。またシフト手段分割モ
ードの場合には,注目した切り換え手段7の図示右側の
トレイ2からの(又は右側のトレイ2に向う)データは
図示右側に(又は右側から)伝送されかつ図示左側のト
レイ2からの(又は左側のトレイ2に向う)データは図
示左側に(又は左側から)伝送される。即ちこの場合に
は,シフト手段3が左右に分割される形となる。
【0095】データ処理ユニット1は,例えばトレイ2
から供給される変数と,データ処理ユニット1内に存在
し(あるいは図示しないメモリから供給される)係数と
の乗算を行い,その結果を累算してゆく如き処理を実行
する。
【0096】トレイ2によって構成されるシフト手段3
には,例えば変数x1 ,x2 ,x3 ,....が
シフトされつつ巡回されてゆく。
【0097】
【作用】図示のデータ処理ユニット1とトレイ2とはデ
ータを相互に授受することができ,(1)シフト手段3
上で夫々のトレイ2に対してデータがシフトされてゆく
データ転送と,(2)トレイ2とデータ処理ユニット1
との間でのデータ転送と,(3)データ処理ユニット1
内でのデータ処理動作と,が互いに同期化されて実行さ
れる。
【0098】そして,本発明の場合には,例えば  個
分ずつのトレイ2が1つの巡回シフトレジスタを構成す
るように,切り換え手段7の所定のものが上記シフト手
段分割モードで選択されるとすると,全体で例えば25
6個のトレイ2をもつシフト手段3が8個の巡回シフト
レジスタに分割される。そして,当該分割によって,8
組の演算処理が並列に実行可能となる。
【0099】
【実施例】図2は本発明の実施例構成を示す。図中の符
号1,2,2a,2b,2c,2d,3,4,5,11
,12,21,22,23は図17に対応しており,5
aはクロック発生回路,5bはクロック分配回路,7は
切り換え手段,101はシグモイド関数処理ユニット,
103は学習時の終了判定手段である。
【0100】学習時の終了判定手段103は,例えば通
信手段によって各データ処理ユニット1と接続されたホ
ストコンピュータと,各データ処理ユニット1が計算し
た出力誤差を上述の通信手段によってホストコンピュー
タに通知する手段と,一般に複数個の出力誤差値をもと
に学習の終了を判定してニューロコンピュータにおける
学習を停止する手段から構成される。
【0101】切り換え手段7は,従来の構成である図1
7における結合手段6に代えて設けられている。そして
上述した如く,切り換え手段7の所定のものを,シフト
手段分割モードにすることによって,図2に示す全体が
,幾つかの分割されたシステムとなり,各群が並列運転
可能となる。以下,幾つかの演算を行う態様を説明する
【0102】図3,図4は行列ベクトル積を演算する場
合を説明する説明図である。図中の符号1,2,7は図
1に対応しており,図3の場合には,符号7(7−2)
として示している切り換え手段が上述のシフト手段分割
モードに選ばれ,シフト手段3が,2つのシフト手段3
−1と3−2とに分割されている。
【0103】マトリクスAがエレメントa11,a12
,...,a55によって構成されているものとし,マ
トリクスBがエレメントb11,b12,...,b3
3によって構成されているものとする。またベクトル変
数xがx1 ないしx5 で与えられ,ベクトル変数y
がy1 ,y2 ,y3 で与えられるとする。
【0104】データ処理ユニット1−1にはエレメント
a11,a12,...,a15が図2に示すメモリ4
から供給され,データ処理ユニット1−2にはエレメン
トa22, a23,...,a21がメモリ4から供
給され,...,データ処理ユニット1−5にはエレメ
ントa55,a51,...,a54がメモリ4から供
給される。そしてトレイ2−1ないし2−5に対して,
x1 ,x2 ,x3 ,x4 ,x5 がセットされ
た上で巡回される。
【0105】同様にデータ処理ユニット1−6にはエレ
メントb11,...,b21がメモリ4から供給され
,...,データ処理ユニット1−8にはエレメントb
33,...,b32がメモリ4から供給される。そし
て,トレイ2−6ないし2−8に対して,y1 ,y2
 ,y3 がセットされた上で巡回される。
【0106】図4におけるステップ301は,図3にお
いてベクトル変数xやyをセットする状態を表わしてい
る。ステップ302は,切り換え手段7(7−2)によ
ってシフト手段3を2分割することを表わしている。
【0107】ステップ303において,各データ処理ユ
ニット1内のアキュムレータをクリヤする。ステップ3
04において,トレイ2側からの入力(xiやyi )
とメモリ4側からの入力(apqやbpq)とを乗算し
て,その結果をアキュムレータに加算する。ステップ3
05においてトレイ2の内容をシフトする。ステップ3
04と305とは,シフト手段3−1側で5回行われ,
シフト手段3−2側で3回行われる。これによってAx
 やBy の計算即ち行列ベクトル積の計算が実行され
る。
【0108】図5,図6は行列行列積を演算する場合を
説明する説明図である。図中の符号は図3に対応してい
る。
【0109】マトリクスAとマトリクスXとが図5に示
す如きものとして,トレイ2−1ないし2−4に対して
x11ないしx14がセットされて巡回され,トレイ2
−5ないし2−8に対してx21ないしx24がセット
されて巡回される。
【0110】図6におけるステップ401は,図5にお
いて被乗数行列xのエレメントをトレイ2上にセットす
る状態を表わしている。ステップ402はシフト手段3
を2分割することを表わしている。
【0111】ステップ403において,各データ処理ユ
ニット1内のアキュムレータをクリヤする。ステップ4
04においてxijとapqとを乗算して,その結果を
アキュムレータに加算する。ステップ405においてト
レイ2の内容をシフトする。ステップ404と405と
は4回繰返される。
【0112】図7,図8はニューロコンピュータが3層
ネットワークで構成される場合の前向き処理を説明する
図である。図中の符号は図3に対応している。
【0113】前向き処理は,次式に示す如き積和計算に
対応することとなる。
【0114】
【数8】
【0115】重みWは回数i回目における重みであり,
ベクトルyは回数(i−1)回目におけるベクトルであ
る。図7と図8とを対応するとより明確になる如く,ス
テップ501においてシフト手段3を長さ4ずつに分割
して,図7図示の如く2つのシフト手段3−1と3−2
とに分割する。ステップ502において,ベクトルyi
(1),yi(2)をセットする。
【0116】ステップ503において,w(2) y(
1) やw(3) y(2) が計算される。そしてス
テップ504において,図2に示すシグモイド関数処理
ユニット101を用いて,シグモイド関数の値を計算す
る。ステップ505において,シグモイド関数の値をト
レイ2−iに出力し,次いでステップ506において,
シフト手段3−1と3−2とを連結した上で,即ち長さ
を図示の場合には「8」にした上で,4個シフトするよ
うにする。このようなステップ501ないし506の処
理は,入力が存在する限り繰返され,前向き処理が終了
する。
【0117】図9,図10は後向き処理を説明する図で
ある。図中の符号は図3に対応している。後向き処理も
,第(9)式に示す如き積和計算を行うことに対応する
。図10におけるステップ601において,シフト手段
3を2つに分割する。そしてステップ602において夫
々のシフト手段3−1と3−2とを,異なる訓練データ
にて,例えば10回程度学習させる。その後,2つのシ
フト手段における重みをマージする。
【0118】図11は誤差逆伝搬学習則のフローチャー
トを表わす。図11は,従来の技術に関連して説明した
図27に対応している。そして図8,図10に対応して
いる。
【0119】
【発明の効果】以上説明した如く,本発明によれば,シ
フト手段を適宜分割した上で,並行した計算処理が可能
となり,また必要に応じて一旦分割したシフト手段を統
合させることも可能となる。このために,例えば図2に
示す如き全体の構成を効率よく使用することが可能とな
る。
【図面の簡単な説明】
【図1】本発明の原理構成図を示す
【図2】本発明の実施例構成を示す。
【図3】行列ベクトル積を演算する場合の説明図である
【図4】行列ベクトル積を演算する場合の説明図である
【図5】行列行列積を演算する場合の説明図である。
【図6】行列行列積を演算する場合の説明図である。
【図7】前向き処理を説明する図である。
【図8】前向き処理を説明する図である。
【図9】後向き処理を説明する図である。
【図10】後向き処理を説明する図である。
【図11】誤差逆伝搬学習則のフローチャートである。
【図12】従来の共通バス結合型並列方式の原理構成図
である。
【図13】共通バス結合型並列方式による行列ベクトル
積のフローチャートである。
【図14】従来のリングシストリック方式の原理説明図
である。
【図15】プロセッサエレメント(データ処理ユニット
)の内部構成を示す。
【図16】図14のリングシストリック方式の構成を多
段に組み合わせたものである。
【図17】先の提案の場合の原理構成図である。
【図18】図17の場合の動作概念図である。
【図19】図17に示すトレイの構成を示す。
【図20】ニューロンモデルの構成を示す。
【図21】図20に示すニューロンモデルを用いたニュ
ーラルネットワークの概念図である。
【図22】前向き処理のフローチャートを示す。
【図23】学習処理フローチャートを示す。
【図24】後向き処理のフローチャートを示す。
【図25】学習が習得されるまでの繰返しを説明する図
である。
【図26】エラーバックプロパゲーション(誤差逆伝搬
学習)の処理フローを示す。
【図27】学習をまとめて表わしたフローチャートであ
る。
【符号の説明】
1  データ処理ユニット 2  トレイ 3  シフト手段 4  メモリ 7  切り換え手段

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】  夫々少なくとも第1の端子(31)を
    もつ複数個のデータ処理ユニット(1)と,夫々第1の
    入力(21)及び出力(22)をもちかつ夫々データ保
    持機能とデータ転送機能とをもつ複数個のトレイ(2)
    であって,前記トレイ(2)の全部又はその一部が夫々
    前記データ処理ユニット(1)の第1の端子(31)に
    接続された接続端子(23)を有するものと,前記接続
    するトレイ(2)の第1の入力(21) 及び出力 (
    22) が接続されて構成されるシフト手段(3)とを
    そなえ,前記シフト手段(3)が,当該シフト手段(3
    )の長さを変更する切り換え手段(7)により,分割可
    能に構成されてなり,前記シフト手段(3)上のデータ
    転送と,前記トレイ(2)と前記データ処理ユニット(
    1)との間のデータ転送と,前記データ処理ユニット(
    1)によるデータ処理とを同期して行うようにしたこと
    を特徴とする並列データ処理方式。
  2. 【請求項2】  前記シフト手段(3)はサイクリック
    シフトレジスタを構成することを特徴とする請求項1記
    載の並列データ処理方式。
  3. 【請求項3】  前記切り換え手段(7)は,第1の端
    子と第2の端子と第3の端子と第4の端子とをそなえ,
    第1の端子と第3の端子とを内部接続すると共に第2の
    端子と第4の端子とを内部接続して,前記シフト手段(
    3)を延長状態に形成するシフト手段延長モードと,第
    1の端子と第2の端子とを内部接続すると共に第3の端
    子と第4の端子とを内部接続して,前記シフト手段(3
    )を複数個のサイクリックシフトレジスタ構成に分割す
    るシフト手段分割モードとを選択的に切り換えるように
    したことを特徴とする請求項1記載の並列データ処理方
    式。
  4. 【請求項4】  前記データ処理ユニット(1)は,シ
    グモイド関数ユニット(101)を有することを特徴と
    する請求項1記載の並列データ処理方式。
  5. 【請求項5】  前記データ処理ユニット(1)は,第
    2の端子(12)に接続されるメモリ手段(4)をそな
    え,当該メモリ手段(4)から,少なくとも1つの変数
    が前記データ処理ユニット(1)に供給されることを特
    徴とする請求項1記載の並列データ処理方式。
JP3054725A 1991-03-19 1991-03-19 並列データ処理方式 Withdrawn JPH04290155A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3054725A JPH04290155A (ja) 1991-03-19 1991-03-19 並列データ処理方式
EP9292302370A EP0505179A3 (en) 1991-03-19 1992-03-19 A parallel data processing system
US08/420,332 US5544336A (en) 1991-03-19 1995-04-11 Parallel data processing system which efficiently performs matrix and neurocomputer operations, in a negligible data transmission time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3054725A JPH04290155A (ja) 1991-03-19 1991-03-19 並列データ処理方式

Publications (1)

Publication Number Publication Date
JPH04290155A true JPH04290155A (ja) 1992-10-14

Family

ID=12978779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3054725A Withdrawn JPH04290155A (ja) 1991-03-19 1991-03-19 並列データ処理方式

Country Status (3)

Country Link
US (1) US5544336A (ja)
EP (1) EP0505179A3 (ja)
JP (1) JPH04290155A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123074A (ja) * 2007-11-16 2009-06-04 Mega Chips Corp 画像処理装置
JP2014016957A (ja) * 2012-07-11 2014-01-30 Tokyo Univ Of Agriculture & Technology データ処理装置
JP2020067688A (ja) * 2018-10-22 2020-04-30 日本電信電話株式会社 分散処理システムおよび分散処理方法
JP2020067687A (ja) * 2018-10-22 2020-04-30 日本電信電話株式会社 分散処理システムおよび分散処理方法

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943242A (en) * 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US5872729A (en) * 1995-11-27 1999-02-16 Sun Microsystems, Inc. Accumulation buffer method and apparatus for graphical image processing
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654593A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE59710317D1 (de) 1996-12-27 2003-07-24 Pact Inf Tech Gmbh VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.)
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
DE19704044A1 (de) * 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
DE19704728A1 (de) 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704742A1 (de) 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
FR2818066B1 (fr) * 2000-12-12 2003-10-10 Eads Airbus Sa Procede et dispositif de transmission deterministe de donnees asynchrones mises en paquet
US6990555B2 (en) * 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
JP2004533691A (ja) * 2001-06-20 2004-11-04 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データを処理するための方法
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
US8990280B2 (en) * 2005-09-30 2015-03-24 Nvidia Corporation Configurable system for performing repetitive actions
US7433981B1 (en) * 2005-09-30 2008-10-07 Nvidia Corporation System and method for using co-processor hardware to accelerate highly repetitive actions
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
EP2122542B1 (en) 2006-12-08 2017-11-01 Medhat Moussa Architecture, system and method for artificial neural network implementation
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US10049322B2 (en) 2015-05-21 2018-08-14 Google Llc Prefetching weights for use in a neural network processor
US10438117B1 (en) 2015-05-21 2019-10-08 Google Llc Computing convolutions using a neural network processor
US10192162B2 (en) 2015-05-21 2019-01-29 Google Llc Vector computation unit in a neural network processor
US9747546B2 (en) 2015-05-21 2017-08-29 Google Inc. Neural network processor
US10083395B2 (en) 2015-05-21 2018-09-25 Google Llc Batch processing in a neural network processor
US9805303B2 (en) 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
US10089110B2 (en) * 2016-07-02 2018-10-02 Intel Corporation Systems, apparatuses, and methods for cumulative product
TWI812254B (zh) 2017-05-17 2023-08-11 美商谷歌有限責任公司 用於訓練神經網路之方法、系統及非暫時性電腦可讀儲存媒體
US10127494B1 (en) * 2017-08-02 2018-11-13 Google Llc Neural network crossbar stack
US10601960B2 (en) 2018-02-14 2020-03-24 Eingot Llc Zero-knowledge environment based networking engine
CN110750232B (zh) * 2019-10-17 2023-06-20 电子科技大学 一种基于sram的并行乘加装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4816993A (en) * 1984-12-24 1989-03-28 Hitachi, Ltd. Parallel processing computer including interconnected operation units
JPH0740252B2 (ja) * 1986-03-08 1995-05-01 株式会社日立製作所 マルチプロセツサシステム
GB8618943D0 (en) * 1986-08-02 1986-09-10 Int Computers Ltd Data processing apparatus
US5170484A (en) * 1986-09-18 1992-12-08 Digital Equipment Corporation Massively parallel array processing system
DE3786330T2 (de) * 1986-11-27 1993-11-25 Nippon Telegraph & Telephone Paralleldatenverarbeitungsvorrichtung und -verfahren.
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
US5014235A (en) * 1987-12-15 1991-05-07 Steven G. Morton Convolution memory
US5187801A (en) * 1990-04-11 1993-02-16 Thinking Machines Corporation Massively-parallel computer system for generating paths in a binomial lattice

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123074A (ja) * 2007-11-16 2009-06-04 Mega Chips Corp 画像処理装置
JP2014016957A (ja) * 2012-07-11 2014-01-30 Tokyo Univ Of Agriculture & Technology データ処理装置
JP2020067688A (ja) * 2018-10-22 2020-04-30 日本電信電話株式会社 分散処理システムおよび分散処理方法
JP2020067687A (ja) * 2018-10-22 2020-04-30 日本電信電話株式会社 分散処理システムおよび分散処理方法

Also Published As

Publication number Publication date
US5544336A (en) 1996-08-06
EP0505179A3 (en) 1994-12-07
EP0505179A2 (en) 1992-09-23

Similar Documents

Publication Publication Date Title
JPH04290155A (ja) 並列データ処理方式
US5506998A (en) Parallel data processing system using a plurality of processing elements to process data and a plurality of trays connected to some of the processing elements to store and transfer data
EP0421639B1 (en) Parallel data processing system
US20210241071A1 (en) Architecture of a computer for calculating a convolution layer in a convolutional neural network
EP3451242A1 (en) Device and method for performing reversetraining of fully connected layers of neural network
EP0479102A2 (en) Multidimensional systolic array processing apparatus and method
CN113159285B (zh) 神经网络加速器
CN110580519B (zh) 一种卷积运算装置及其方法
Saeks et al. On the Design of an MIMD Neural Network Processor
US5627944A (en) Parallel data processing system
Svensson et al. Execution of neural network algorithms on an array of bit-serial processors
JP2760170B2 (ja) 学習機械
JPH05346914A (ja) ニューロプロセッサ
JP2825133B2 (ja) 並列データ処理方式
Hanzálek A parallel algorithm for gradient training of feedforward neural networks
El-Amawy et al. Algorithmic mapping of feedforward neural networks onto multiple bus systems
JPH05197705A (ja) ニューラルネットワークの学習システム
Duranton et al. A general purpose digital architecture for neural network simulations
JPH03105583A (ja) 並列データ処理方式
US20220036196A1 (en) Reconfigurable computing architecture for implementing artificial neural networks
JPH03105582A (ja) 並列データ処理方式
Krikelis et al. Implementing neural networks with the associative string processor
Al-Dabass et al. Parallelism in neural nets
Kwan et al. Systolic implementation of counterpropagation networks
Rojas et al. Hardware for Neural Networks

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