JPH05265996A - ニューロコンピュータ - Google Patents

ニューロコンピュータ

Info

Publication number
JPH05265996A
JPH05265996A JP6581792A JP6581792A JPH05265996A JP H05265996 A JPH05265996 A JP H05265996A JP 6581792 A JP6581792 A JP 6581792A JP 6581792 A JP6581792 A JP 6581792A JP H05265996 A JPH05265996 A JP H05265996A
Authority
JP
Japan
Prior art keywords
pes
bus
output
unit
layer
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
JP6581792A
Other languages
English (en)
Inventor
Tsutomu Ishikawa
勉 石川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP6581792A priority Critical patent/JPH05265996A/ja
Publication of JPH05265996A publication Critical patent/JPH05265996A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】 複数の処理要素(PE)の並列処理を重複す
ることなく行い、高速演算を可能にする。 【構成】 2、例えば8ケのPEは、ハイパキューブ
結合とされ、ハミング符号及びその剰余類によりバス集
合(000,111)、(001,110)、(01
0,101)及び(100,011)に分割され、その
バス集合毎にバス結合する。結合荷重と前層のユニット
の出力との間の積和計算が全PEで均等に分担され、か
つ、その総和の計算に必要なPE間転送が直接結合され
たPE間のみの転送で済むように、結合荷重行列〔W
1,1 〜W8,8 〕を割付け、前層の出力X1 〜X8 を各P
Eに与えて、各PEは並列的に部分積和演算を行う。そ
の後、その部分積和をそれを必要とするPEに順次転送
し、自PEでの部分積和と転送されてきた部分積和との
総和をとり、ユニット出力を計算し、そのユニット出力
をバス集合内のPE間で互いに転送しあう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、認識や制御等の分野
で広く利用されつつある多層型ニューラルネットを、高
速に演算処理する並列型のニューロコンピュータに関す
るものである。
【0002】
【従来の技術】多層型ニューラルネットの構成を図4に
示す。同図に示す様に多層型ニューラルネットは、多入
力1出力の非線形しきい値素子であるユニット(ニュー
ロン)を層状に配置し、その間を相互結合したものであ
る。一般に層の数は3以上で最初の層(図4で左端)は
入力層、最後の層(図4で右端)は出力層、その間の層
は中間層と呼ばれる。各層のユニット(左からj番目の
層で上からi番目のユニットとしよう)は、その直前の
層のユニットの出力および、そのユニットと自ユニット
との間の結合荷重をもとに以下の計算を行う。
【0003】 Xi,j =F(Σh-1 n i,h ×Xh,j-1 −θ) ここで、Xi,j は自ユニット(左からj番目の層で上か
らi番目のユニット)の出力、Xh,j-1 は直前の層(j
−1番目の層)の上からh番目のユニットの出力、W
i,h は直前の層の上からh番目のユニットと自ユニット
の間の結合荷重、θはしきい値、nは直前の層のユニッ
トの数、Fは非線形の関数(一般にシグモイド関数が用
いられる)である。即ち、多層型ニューラルネットで
は、ある層(ユニットの数をnp とする)の出力X
j (np 次元のベクトル)は、その層と直前の層(ユニ
ットの数をnb とする)との間の結合荷重行列(np
b 列)と直前の層の出力(nb 次元のベクトル)の積
(=W×Xj-1 )をもとに計算され、この計算が最初の
中間層から出力層まで繰り返され最終的なニューラルネ
ットの出力となる。
【0004】従来、この多層型ニューラルネットの出力
を高速に計算するニューロコンピュータとしては、図5
に示すように複数の処理要素(PE)を2次元アレイ状
に結合し(両端のPE群は反対側のPE群とそれぞれル
ープを構成するように結合)、各PEに1または複数の
結合荷重を割り当てて行列とベクトルの積を各PEが一
部ずつ分担して並列に行い、その後、各演算結果を加算
して1つの層の演算を行い、これを繰り返し計算する構
成が考えられていた。以下、この構成における動作を説
明する。説明を簡単化するため、各層のユニット数は等
しくn(結合荷重行列はn行n列となる)、PEアレイ
はp×pとする。この構成では、各層のユニット毎の出
力はPEアレイの行方向のPE全体で計算する。すなわ
ち、n行n列の結合荷重行列を図6の様に、行方向、列
方向ともにp等分して(n/p)×(n/p)個の結合
荷重からなる部分行列に分割し、各部分行列を図5のそ
れと対応する位置のPEに割り当てる。つまり上からi
番目で左からj番目の部分行列は、PEアレイで上から
i番目で左からj番目のPEに割り当てる。又、前層の
出力ベクトルXj-1 (x1,j-1,2,j-1,…, xn,j-1
もp等分してn/p個の出力値を持つ部分ベクトルに分
割し、各部分ベクトルをPEアレイの各列に対応させて
配置する。つまり上からi番目の部分ベクトルをPEア
レイで左からi列目の全PEに配置する。こうするとニ
ューラルネットの1つの層における行列とベクトルの積
の演算はつぎの様なステップで並列的に行われる。 i)全PEは割り当てられた結合荷重の部分行列と前層
の出力の部分ベクトルの積を計算し、その総和をとる。
この結果を部分積和と呼ぶ。 ii)各PEはi)の部分積和を行方向の隣接PEに順次
転送する。 iii)各PEは自PEの部分積和に隣接PEから転送され
てきた部分積和を順次加算する。 iv)部分積和が行方向のPEで一周するまでii)、iii)
を繰り返す。
【0005】以上のステップで計算するとiv)の後で
は、結合荷重行列の各行の結合荷重と前層の出力ベクト
ルとの積が、PEアレイの対応する行の全PEで同時に
得られることになる。例えば、結合荷重行列の上からn
/p行分の結合荷重と前層の出力ベクトルの積は、PE
アレイの最初の行の全PEで同時に得られる。従って、
これをもとに各行のPEはn/p個のユニットの出力を
計算でき、つぎの層の出力を計算するためのベクトルが
PEアレイの各行にn/p個づつ分散して配置されるこ
とになる。
【0006】次の層の出力の計算は、以上と同様の手順
(ただし、ii)の転送方向は列方向)を、その層とその
前層との間の結合荷重行列の転置行列に対して行うこと
によりなされる。その次の層の出力の計算は以上と全く
同様の手順でおこなわれる。これを出力層の出力が得ら
れるまで繰り返す事により多層型ニューラルネットの出
力が計算される(この動作の詳細は情報処理学会第39
回全国大会資料1762−1763頁(講演番号3W−
10)を参照。
【0007】
【発明が解決しようとする課題】以上の説明からわかる
ように、従来のニューロコンピュータでは行列とベクト
ルとの積の演算のうちi)の部分のみが全PEで並列的
におこなわれるだけで、その他の部分(ii)からiv)
と、行列とベクトルとの積の計算結果をもとにしたユニ
ットの出力の計算)は行あるいは列方向のPEの数の並
列性しか得られなかった。即ち、後者の処理においては
等価的にはp2 個のPEのうちp個のPEのみしか有効
に機能しなかったことになり(行あるいは列方向の全て
のPEは全く同一の重複した処理を行う)、PEの利用
効率が悪く、ひいてはPE数に見合った速度向上も得ら
れないという問題があった。
【0008】この発明の目的は、全PEが並列に動作し
かつ全PEが重複した処理を行なわない、高速かつPE
の利用効率が高い多層型ニューラルネット用のニューロ
コンピュータを提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するた
め、この発明では、まず複数(2h 個)のPEをハイパ
キューブ状に結合し、さらにこれらPEを以下のように
a個のバス集合に分割し、そのバス集合ごとにバス結合
を設ける。ここで、ハイパキューブ状の結合とは、PE
の番号を2進表示したとき、そのビットパターンが1ビ
ットだけ異なるPE同志をすべて結合する構造である。 ・h=2m −1(m:正整数)のときは、全PEをその
番号(hビットパターン)において、完全符号であるハ
ミング符号とその剰余類に分割し、それらハミング符号
と各剰余類ごとにそれに含まれるPE群を一つのバス集
合とする。 ・h≠2m −1のときは、まず元のハイパキューブ状結
合をs次元(s=2m −1となるh以下の最大のs)の
サブキューブに分割し、各サブキューブ内の全PEをそ
の番号(sビットパターン)において、完全符号である
ハミング符号とその剰余類に分割し、それらハミング符
号と各剰余類ごとにそれに含まれるPE群を一つの集合
とし、つぎにサブキューブ間で対応する集合同士を統合
して一つのバス集合とする。
【0010】次に、以上のように複数のバス結合を付加
されたハイパキューブの各PEに対し、多層型ニューラ
ルネットの結合荷重を各層毎(層内のユニット数:n)
に以下のように割り付ける。 ・同一のバス集合に属する各PEは、“u mod a
(u:層内のユニット番号)”が同じ値になるユニット
の出力の計算を均等に分担し受け持ち、各ユニットの出
力を計算するのに必要な結合荷重(結合荷重行列の行方
向の結合荷重)は、そのユニットの出力を計算するPE
と、それと異なるバス集合に属しかつそのPEからハミ
ング距離1にあるPEとの間で均等に、かつ、“v m
od a(v:結合荷重行列の列の番号)”が同じ値に
なる結合荷重を同一のPEが受持つように、かつ、結合
荷重行列の同一の列は同一のバス集合のPEが受け持つ
ように割り付ける。
【0011】多層型ニューラルネットの出力の計算は、
以上のような構成とPEへの結合荷重割り付けに基づい
て以下の手順で行う。 i)全PEは割り付けられた結合荷重と前層の出力との
積をとりその総和(部分積和)を計算する。 ii) 各PEは、自PEに分担されたユニットの計算に必
要な部分積和以外の部分積和をそれを必要とするPEに
順次転送する。 iii)各PEは、自PEでの部分積和と転送されてきた部
分積和との総和をとり、それをもとに自PEに割り当て
られたユニットの出力を計算する。 iv)各バス集合内のPEは、iii)で得たユニットの出力
を同一集合内の全PEにバスにより互いに転送しあい一
つの層の処理を完了する。
【0012】この処理を各層毎に繰り返すことにより最
後の層である出力層の出力を得る。
【0013】
【作用】このような構成、結合荷重割り付け、処理手順
をとることにより、i)からiii)までの全ての処理は全
PEで重複することなく並列的に行われることになる。
なお、iv)の処理はバスの数だけの並列性となるが、こ
の処理量は後で説明するようにi)からiii)までの処理
量に対して充分少なく、ほぼ無視することができる。
【0014】
【実施例】この発明では複数のPEをハイパキューブ状
に結合し、更にこれらPEをa個のバス集合に分割し、
そのバス集合ごとにバス結合を設けるがまずハイパキュ
ーブへの具体的なバス結合の付加方法、次に各PEへの
具体的な負荷(結合荷重)の割り付け法、最後に具体的
な処理手順の順にこの発明の詳細を説明する。
【0015】ハイパキューブへのバス結合の付加は前述
したように、完全符号であるハミング符号(すべての符
号が距離1の点にある)による剰余類展開を用いて全P
Eを分割することにより行われる。まずh=2m −1
(m:正整数)のときの例として、PE数が8(3次
元)のハイパキューブの場合(h=3,m=1)につい
て説明する。このとき、ハミング符号をパリティ検査行
列Hとして、
【0016】
【数1】 を用いると、PE番号は図1Aのように剰余類展開され
る(ハミング符号の構成法、剰余類展開の詳細について
は、文献;宮川、岩重、今井著“符号理論”昭晃堂を参
照のこと)。ここで、S1 がハミング符号、S2 〜S4
が剰余類である。このように8個のPEを、その番号で
4つのバス集合、S1 〜S4 に分割し、図1Bに示すよ
うに、各バス集合ごとにそれらバス集合に含まれる全P
Eをバス結合する。つまり番号(000)と(11
1)、(001)と(110)、(010)と(10
1)、(100)と(011)のPEの間にそれぞれバ
ス結合が設けられる。PE(000)、(001)、
(010)、(100)間でハイパキューブ結合され、
PE(111)、(110)、(101)、(011)
間でハイパキューブ結合されている。
【0017】次に、h≠2m −1(m:正整数)のとき
の例として、PE数が16(4次元)のハイパキューブ
の場合(h=4)について説明する。まず、このハイパ
キューブをs次元(s=2m −1となるh以下の最大の
s)のサブキューブに分割するが、この場合h=4なの
でsは3となる。即ち、3次元のサブキューブ2個に分
割する。次に、この各サブキューブにおける全PEをそ
の下3ビットのPE番号において、完全符号であるハミ
ング符号とその剰余類とに分割する。例えば、前述の例
と同じパリティ検査行列を用いると、各サブキューブ内
のPEはその下3ビットのPE番号において、図1Aの
ようにそれぞれ4個の集合に分割される。次に、サブキ
ューブ間で対応する集合同士(S1 とS1 ,S2
2 ,S3 とS3 ,S4 とS4 )を統合して図2Aのよ
うにそれぞれ一つのバス集合とする。ここで、各バス集
合内で上2列および下2列の番号がそれぞれのサブキュ
ーブ内のPEの番号に対応している。こうして構成した
4個のバス集合S1 〜S4 の各PE間にバス結合を設け
る。例えば、バス集合S1 では(0000),(011
1),(1000),(1111)の4個のPEが一つ
のバスに結合される。
【0018】以上、説明を簡単化するため比較的PE数
が少ないハイパキューブを例に説明したが、PE数が多
いハイパキューブについても同様な方法でバス結合を付
加する。次に各PEへの具体的な負荷(結合荷重)の割
り付け法について、ニューラルネットのある層(かりに
第2層とする)のユニット数とその直前の層(かりに第
1層とする)のユニット数とが共に8(結合荷重行列は
8列8行)で、これを8個のPEからなるハイパキュー
ブ(図1Bの構成)に結合荷重を割り付ける場合を例に
説明する。この場合、第2層において基本的には図2B
に示す行列とベクトルの積を計算することになる。ここ
でyi は第2層の上からi番目のユニット(ユニット
i、i:ユニット番号)への総入力値(ユニットの出力
の計算のベースとなる)、xi は第1層のユニットiの
出力値、Wk,h は第1層のユニットhと第2層のユニッ
トkとの間の結合荷重である。
【0019】図3にこの場合の結合荷重の割り付け例を
示す。同図において3ビットの番号は、結合荷重w、第
1層のユニットの出力値x、第2層のユニットへの総入
力値yを受け持つPEの番号を示している。例えば、結
合荷重w1,1 は(000)のPEが受持ち、第1層のユ
ニット1の出力値x1 は(000)と(111)のPE
に配置し、第2層のユニット1の総入力値y1 は(00
0)のPEがその計算を担当することを表している。即
ち、第2層のユニットへの総入力値yの計算は、同一の
バス集合に属するPEが、“u mod a(u:ユニ
ット番号)”が同じ値になるユニットの計算を均等に分
担し受け持つ。この例ではバス集合の数aは4であるか
ら、 u mod a=1 となるユニット1,5はバス集合
1 の(000)と(111)のPE u mod a=2 となるユニット2,6はバス集合
2 の(001)と(110)のPE u mod a=3 となるユニット3,7はバス集合
3 の(010)と(101)のPE u mod a=0 となるユニット4,8はバス集合
4 の(100)と(011)のPE がそれぞれ1ユニットづつ受け持っている。
【0020】又、結合荷重については、第2層の一つの
ユニットへの総入力値yを計算するのに必要な結合荷重
行列の行方向の結合荷重毎に考え、1行分の結合荷重
を、そのユニットの値を計算するPEと、それと異なる
バス集合に属しかつそのPEからハミング距離1にある
PEとの間で均等に、かつ、“v mod a(v:結
合荷重行列の列の番号)”が同じ値になる結合荷重を同
一のPEが受持つように割り付ける。この例では、第2
層のユニット1への総入力値y1 の計算は(000)の
PEで行い、ユニット2〜8への各総入力値y2 〜y8
の計算は(001),(100),(111),(11
0),(101),(011)の各PEで行う。例えば
ユニット1へ総入力値y1 の計算に必要な第1行目の結
合荷重について説明するとつぎのようになる。これら結
合荷重は、y1 の計算はバス集合S 1 の(000)のP
Eが受け持つのでそれと異なるバス集合S2 ,S3 ,S
4 に属しかつそのPE(000)からハミング距離1に
ある(001),(010),(100)のPEとの間
で2個づつ分担して受け持っている。さらに具体的に
は、 v mod a=1 となる結合荷重W1,1 ,W1,5
(000)のPE v mod a=2 となる結合荷重W1,2 ,W1,6
(001)のPE v mod a=3 となる結合荷重W1,3 ,W1,7
(010)のPE v mod a=0 となる結合荷重W1,4 ,W1,8
(100)のPE がそれぞれ受け持っている。その他の行の結合荷重につ
いても同様にして割り付けられている。但し、このと
き、結合荷重行列の同一の列は同一のバス集合のPEが
受け持つよう割り付ける。この例では第1列はバス集合
1 のPE(000),(111)が受持つ。このよう
に結合荷重を割り付けると、総入力値yの計算に必要な
PE間転送は、ハイパキューブの結合(リンクと呼ぶ)
により直接接続されたPEとの間の転送だけになる(後
で詳細に説明)。又、次の層の計算に必要なxをバスに
より同一バス集合内のPEに集めることが可能となる
(後で詳細に説明)。
【0021】又、第1層のユニットの出力値xについて
はそれとの間で積をとる結合荷重wに対応させてPEに
配置しておく必要がある(最初の層の計算のときの
み)。具体的には、同図に示すように、結合荷重行列の
第1列はバス集合S1 のPEに割り当てられているた
め、この結合荷重との間で積をとるx1 は同一集合の
(000),(111)のPEに配置してある。他のx
についても同様にして配置してある。なお次の層の計算
のためのxについては後述するように、その前の層の計
算の結果として自動的にこのような配置となる。
【0022】次に、具体的な処理手順を以上の例の場合
(図1Bの構成で図3の結合荷重割り付け)について説
明する。まず、全PEは割り付けられた結合荷重と前層
の出力との積をとりその総和(部分積和)を計算する。
具体的には、例えば(000)のPEは、 :w1,1 ×x1 +w1,5 ×x5 :w2,1 ×x1 +w2,5 ×x5 :w3,1 ×x1 +w3,5 ×x5 :w4,1 ×x1 +w4,5 ×x5 の4個の部分積和を計算する。その他のPEも同様に割
り当てられた結合荷重と第1層のユニットの出力値との
間で積和計算を行う。この部分積和の計算は全PEで並
列的に行われ、この場合には各PEとも8回の積と4回
の和の計算を行うことになる。この段階で第2層のユニ
ットへの入力yの計算に必要な部分積和は全PEに分散
されて配置される事になる。
【0023】次に、各PEは、自PEに分担されたユニ
ットの計算に必要な部分積和以外の部分積和をそれを必
要とするPEに順次転送する。具体的には、例えば(0
00)のPEは、自PEに分担されたユニットの計算に
必要な部分積和は上記であり、他の部分積和について
は上記の部分積和をy2 の計算を担当する(001)
のPEへ、の部分積和をy3 の計算を担当する(01
0)のPEへ、の部分積和をy4 の計算を担当する
(100)のPEへそれぞれ転送する。その他のPEも
同様な転送を行うが、これらの転送は次のような方法を
とると、ハイパキューブのいかなるリンクにおいても衝
突が起こらず全PEで並列的に実行できる。これは、P
E番号が偶数重み(番号を表すビットパターンにおいて
1の数が偶数個)のPEがiビット目を反転したPEに
転送しているときは、PE番号が奇数重み(番号を表す
ビットパターンにおいて1の数が奇数個)のPEはjビ
ット目(i≠j)を反転したPEに転送するようにすれ
ばよい。例えばこの例の場合では、最初の転送において
は(000),(110),(101),(011)の
PEは自PEと1ビット目が異なる番号のPEへ、(1
11),(001),(010),(100)のPEは
2ビット目が異なる番号のPEへ転送する。次の転送で
は前者のPEは2ビット目が異なる番号のPEへ、後者
のPEは3ビット目が異なる番号のPEへ転送する。
又、その次の転送では前者のPEは3ビット目が異なる
番号のPEへ、後者のPEは1ビット目が異なる番号の
PEへ転送する。こうすると3回の転送によりyの計算
に必要な部分積和はその計算を担当する各PEに集まる
ことになる。
【0024】次に各PEは、自PEでの部分積和と転送
されてきた3つの部分積和との総和をとり、それをもと
に自PEに割り当てられたユニットの出力を計算する
(これはyと前述のしきい値θおよび関数Fを用いて計
算。)この計算も当然全PEで並列的に行われる。なお
この総和をとるステップとその前の転送のステップは交
互に行ってもよいことは言うまでもない。この段階で、
第2層の各ユニットへの総入力値の計算を担当したそれ
ぞれのPEに、それに対応する第2層の各ユニットの出
力値が得られることになる。
【0025】次に、各バス集合内のPEは、計算したユ
ニットの出力を同一集合内の全PEにバスにより互いに
転送する。具体的にはこの例の場合、バス集合S1 につ
いては(000)のPEは第2層のユニット1の出力を
(111)のPEへ、(111)のPEはユニット5の
出力を(000)のPEへそれぞれバスを用いて転送す
る。この結果、(000)と(111)のPEの双方に
ユニット1,5の出力が集まる。他のバス集合について
も同様な転送を行う(バス集合の数の並列性)。この転
送は次の層の計算に必要なxを、それを必要とするPE
に配置するためのものである。即ち、その前の層のユニ
ットの出力が次の層のユニットへの入力となるため、予
め次の層の計算の前にそれに必要なxを各PEに配置し
ておくものである。この転送の回数は一つのバス集合に
割り当てられたyの数である。なお、この例ではバスに
結合されるPEが2個しかないため1対1の転送となっ
ているが、それ以上の場合には1対多の転送となる(一
つのPEがバス集合内の他の全てのPEにバスを用いて
放送により転送)。
【0026】以上の処理よりある層の計算が完了し、こ
の発明によるニューロコンピュータはこの処理を各層毎
に繰り返すことにより最後の層である出力層の出力を得
る。以上PE数8、各層のユニット数8の場合について
説明したが、これらがこれ以上の場合についても同様に
処理できることは言うまでもない。又、この発明は多層
型ニューラルネットの処理の高速化を目指したものだ
が、その他でも行列とベクトルの積を連続的にとる処理
には一般的に適用できる。
【0027】
【発明の効果】以上説明したように、この発明では、ハ
ミング符号とその剰余類を用いてハイパキューブのPE
群を複数の集合(バス集合)に分割し、この集合毎にバ
ス結合を設け、結合荷重と前層のユニットの出力との間
の積和計算が全PEで均等に分担され、かつ、その総和
の計算に必要なPE間転送が直接結合されたPE間のみ
の転送で済むように各層の結合荷重をPEに割り付け、
全PEはまず割り付けられた結合荷重と前層の出力との
間で部分積和を求め、次に部分積和をそれを必要とする
PEに順次転送し、自PEでの部分積和と転送されてき
た部分積和との総和をとりユニットの出力を計算し、そ
の後、各バス集合内のPEがユニットの出力を同一集合
内の全PEにバスにより互いに転送しあう事により一つ
の層の処理を完了し、この処理を各層毎に繰り返すこと
により多層型ニューラルネットの出力を計算する。
【0028】即ち、この発明では以上のような構成、結
合荷重割り付け、処理を行うため、ユニットの出力のバ
スによる転送以外の全ての処理が全PEで完全に並列的
に行われることになり、PEの利用効率が高く、ひいて
は多層型ニューラルネットの処理を大幅に高速化できる
という利点がある。
【図面の簡単な説明】
【図1】Aはこの発明で用いられるバス集合構成例を示
す図、BはAのバス集合にバス結合を付加したハイパキ
ューブ構成例を示す図である。
【図2】Aは他のバス集合構成例を示す図、Bはこの発
明の実施例における行列とベクトルとの積の計算を示す
図である。
【図3】この発明の実施例における結合荷重等のPEへ
の割り付け例を示す図。
【図4】多層型ニューラルネットの構成を示すブロック
図。
【図5】従来の高速化法で用いられていた並列プロセッ
サの構成を示すブロック図。
【図6】従来の方法での結合荷重割り付けを説明する
図。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数(2h 個)の処理要素(以下PEと
    呼ぶ)をハイパキューブ状に結合し、さらにこれらPE
    を以下のようにa個のバス集合に分割し、そのバス集合
    ごとにバス結合を設け、 h=2m −1(m:正整数)のときは、全PEを、その
    番号(hビットパターン)において、完全符号であるハ
    ミング符号とその剰余類とに分割し、それらハミング符
    号および各剰余類ごとにそれに含まれるPE群を一つの
    バス集合とし、 h≠2m −1のときは、まず元のハイパキューブ状結合
    をs次元(s=2m −1となるh以下の最大のs)のサ
    ブキューブに分割し、その各サブキューブ内の全PE
    を、その番号(sビットパターン)において、完全符号
    であるハミング符号とその剰余類とに分割し、それらハ
    ミング符号および各剰余類ごとにそれに含まれるPE群
    を一つの集合とし、つぎに上記サブキューブ間で対応す
    る集合同士を統合して一つのバス集合とし、 多層型ニューラルネットの結合荷重を各層毎に以下のよ
    うに各PEに割り付け、 同一のバス集合に属する各PEは、“u mod a
    (u:ニューラルネットの一つの層のユニット番号)”
    が同じ値になるユニットの出力の計算を均等に分担し受
    け持ち、各ユニットの出力を計算するのに必要な結合荷
    重(結合荷重行列の行方向の結合荷重)は、そのユニッ
    トの出力を計算するPEと、それと異なるバス集合に属
    しかつそのPEからハミング距離1にあるPEとの間で
    均等に、かつ、“v mod a(v:結合荷重行列の
    列の番号)”が同じ値になる結合荷重を同一のPEが受
    持つように、かつ、結合荷重行列の同一の列は同一のバ
    ス集合のPEが受け持つように割り付け、 全PEはまず割り付けられた結合荷重と前層の出力との
    間で積和計算し(この結果を部分積和と呼ぶ)、次に自
    PEに分担されたユニットの計算に必要な部分積和以外
    の部分積和を、それを必要とするPEに順次転送し、自
    PEでの部分積和と転送されてきた部分積和の総和をと
    りユニットの出力を計算し、その後、各バス集合内のP
    Eがユニットの出力を同一集合内の全PEにバスにより
    互いに転送しあう事により一つの層の処理を完了し、こ
    の処理を各層毎に繰り返す手段をもつことを特徴とする
    ニューロコンピュータ。
JP6581792A 1992-03-24 1992-03-24 ニューロコンピュータ Pending JPH05265996A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6581792A JPH05265996A (ja) 1992-03-24 1992-03-24 ニューロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6581792A JPH05265996A (ja) 1992-03-24 1992-03-24 ニューロコンピュータ

Publications (1)

Publication Number Publication Date
JPH05265996A true JPH05265996A (ja) 1993-10-15

Family

ID=13297961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6581792A Pending JPH05265996A (ja) 1992-03-24 1992-03-24 ニューロコンピュータ

Country Status (1)

Country Link
JP (1) JPH05265996A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176110A (ja) * 2008-01-25 2009-08-06 Seiko Epson Corp 並列演算装置および並列演算方法
JP2021082317A (ja) * 2017-02-23 2021-05-27 セレブラス システムズ インク. 加速化ディープラーニング
US11488004B2 (en) 2017-04-17 2022-11-01 Cerebras Systems Inc. Neuron smearing for accelerated deep learning

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176110A (ja) * 2008-01-25 2009-08-06 Seiko Epson Corp 並列演算装置および並列演算方法
JP2021082317A (ja) * 2017-02-23 2021-05-27 セレブラス システムズ インク. 加速化ディープラーニング
US11934945B2 (en) 2017-02-23 2024-03-19 Cerebras Systems Inc. Accelerated deep learning
US11488004B2 (en) 2017-04-17 2022-11-01 Cerebras Systems Inc. Neuron smearing for accelerated deep learning

Similar Documents

Publication Publication Date Title
Nassimi et al. Bitonic sort on a mesh-connected parallel computer
JP6960700B2 (ja) マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式
Buscema Metanet*: The theory of independent judges
US5170463A (en) Neuro-computer
JPH06131308A (ja) 多次元シストリックアレイ処理装置及び方法
Stout Hypercubes and pyramids
WO2019155910A1 (ja) ニューラル電子回路
JPH04232562A (ja) コンピユータ装置
JPH05265996A (ja) ニューロコンピュータ
JPH06175986A (ja) 行列演算の並列処理方法
JPH05346914A (ja) ニューロプロセッサ
US6718465B1 (en) Reconfigurable inner product processor architecture implementing square recursive decomposition of partial product matrices
Sudhakar et al. Efficient mapping of backpropagation algorithm onto a network of workstations
US5530953A (en) Apparatus for relocating spatial information for use in data exchange in a parallel processing environment
CN110222819B (zh) 一种用于卷积神经网络加速的多层数据分区域联合计算方法
JPH06110864A (ja) 学習処理装置
GB2206428A (en) Computer
JPH0440581A (ja) ニューロプロセッサ
JPH02266458A (ja) ニューラルネットワークシミュレーション装置
JP3271186B2 (ja) 学習処理装置
Kashef et al. Augmented parity check codes for encoding of asynchronous sequential machines
Ben‐Natan et al. Parallel contractions of grids for task assignment to processor networks
JPH0782482B2 (ja) ニューロコンピュータの負荷配分方法
Hernández et al. Influence of the level of connectivity on the members of the Octahedron and X-Octahedron families of tensegrities
JPH0690704B2 (ja) ニューロコンピュータ