JPH0471063A - 神経回路網型計算装置 - Google Patents

神経回路網型計算装置

Info

Publication number
JPH0471063A
JPH0471063A JP2182580A JP18258090A JPH0471063A JP H0471063 A JPH0471063 A JP H0471063A JP 2182580 A JP2182580 A JP 2182580A JP 18258090 A JP18258090 A JP 18258090A JP H0471063 A JPH0471063 A JP H0471063A
Authority
JP
Japan
Prior art keywords
neural network
layer
calculation
unit
element processor
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
JP2182580A
Other languages
English (en)
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 JP2182580A priority Critical patent/JPH0471063A/ja
Publication of JPH0471063A publication Critical patent/JPH0471063A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 (目 次〕 概要 産業上の利用分野 従来の技術     (第10図、第11図)発明が解
決しようとする課題 課題を解決するための手段 作用 実施例 本発明の要素プロセッサの説明 (第1図〜第6図) 複数の要素プロセッサで構成したリング網の説明   
   (第7図〜第9図)発明の効果 〔概 要〕 多層構造型の神経回路網型計算装置に関し、計算の高速
化を達成することを目的とし、入力層、少なくとも1層
の中間層および出力層で構成された多層構造型の神経回
路網型計算装置であって、前記入力層を構成するユニッ
ト前記中間層を構成するユニットおよび前記出力層を構
成するユニットのそれぞれの機能を有する要素プロセッ
サを具備し、該要素プロセッサは、バックプロパゲーシ
ョン法による学習機能を実現するための複数の乗算器、
複数のALU、  レジスタ、マルチプレクサ、および
、それらを制御する制御回路を備え、ニューラルネット
ワークにおける前向き積和計算を同時に複数の重み付け
和をとることによって高速に演算できるように構成する
[産業上の利用分野] 本発明はニューラルネットワーク(神経回路網)のハー
ドウェアシミュレータに関し、特に、多層構造型の神経
回路網型計算装置に関する。
近年、ニューロ技術の応用の要求に伴って、高速なニュ
ーロ動作が可能な神経回路網型計算装置が要望されてい
る。
〔従来の技術〕
第1O図は多層構造型の神経回路網型計算装置を示す図
であり、入力層、中間層および出力層の三層で構成され
たニューラルネットワークを示すものである。
第10図に示されるように、多層構造型のニューラルネ
ットワークは、ニューロンを模擬したユニットと呼ばれ
る素子Uと、それらを結ぶ結線りとから構成される。す
なわち、ニューラルネットワークは、ユニットI[I+
−IL16を有する入力層、ユニットMU、〜MtlS
を有する中間層、および、ユニッ)’ 00.〜OU、
を有する出力層の3つの層から構成される。各ユニット
は、同じ層のユニ・ストとの間には結合はなく、一つ下
(上)の層のすべてのユニットと結合している。例えば
、中間層のユニットMU、は、入力層の全てのユニット
IU、〜Ill。
と結線L1によって結ばれ、また、例えば、出力層のユ
ニットOU1 は、中間層の全てのユニ7)MU、−M
t15と結線LMOによって結ばれている。ここで、入
力層は外部からの入力を受は取る層であり、出力層はニ
ューラルネットワークの応答を外部へ出力する層である
。また、中間層は、入力層からの信号を加工して出力層
に渡す層である。そして、中間層は、ニューラルネット
ワークによっては複数の層から構成されることもある。
第11図は第10図の多層構造型の神経回路網型計算装
置に使用する各ユニットUを示す図である。
第11図に示されるように、ユニット間の結合はそれぞ
れ重みを持っている。各ユニット(入力層のユニットは
除く)の働きは、1つ下の層のユニットからの出力(V
、〜V、)と、そのユニットU、との間の結合の重み(
W;+−Win)との積を取ったもの(LL+〜Vアー
4,1)を、すべてのユニットに渡って総和(Σ)を取
り、さらに、成る闇値を加えた量にシグモイド関数と呼
ばれる非線形関数(f)を施したものを出力するように
なっている。ここで、第に層(ただし入力層は除く)の
i番目のユニットUi(k)の働きを式で表すと次のよ
うになる。
v%kl、=[(Σw、、 (k−11v J(k−1
)−θ%kl)f  (x)  =’A (1+tan
h (x/ Xo))  (2)ただし、v 、 (舅
−1) は第(k−1)層のj番目のユニットの出力で
あり、w 、 、 (k −11は第に層のi番目のユ
ニットと第(k−1)層のj番目のユニットとの間の結
合の重みである。また、θ、(k)はこのユニットの闇
値である。さらに、(2)式はシグモイド関数を表して
おり、Xoはシグモイド関数の形状を決める定数である
多層構造のニューラルネットワークは、入力データに対
してニューラルネットワークの出力と、ニューラルネッ
トワークが出力すべき正解データとの差(誤差)が小さ
くなるように、ユニット間の結合の重みを変化させてい
くことによって学習する。この学習のアルゴリズムとし
ては、へ゛ツタプロパゲーション法が広く知られている
。このバックプロパゲーション法では、結合の重みは次
のように修正される。
ここで、6w = J”’ (n)は第に層のi番目の
ユニットと、第(k−1)層のj番目のユニットとの間
の結合の重みw 、 J′に’ (n)の修正量で、(
4)式または(5)式によって与えられる。
である。ここでη及びαは学習定数と呼ばれる定数であ
る。(5)式でΣ2というのは、ネットワークに学習さ
せるすべてのパターンpについて総和をとるということ
を示している。つまり(4)式はネットワークに1つの
パターンを1度学習させるたびに重みを修正するという
ことを示し、(5)式はネットワークにすべてのパター
ンを1度ずつ学習させてから重みを修正するということ
を示している。
また、出力層のユニットに対してはδは次のように与え
られる。
(k)2       (k)   (k)     
(k)δ  −一 (乞  −v   )v   (1
−v   )iu    i     i     1
tここでt、は出力層のi番目のユニットが出力すべき
教師データである。また中間層のユニットに対してδは
、 で与えられる。
[発明が解決しようとする課題] 上述した多層構造型の神経回路網型計算装置において、
神経回路網の計算には多くの積和演算や関数計算を全て
のユニットに対して行わなければならない。従来は、こ
の計算をプログラムを作成して計算機に実行させていた
ため、計算が全てのユニットに対して逐次的に行われ、
計算に長い時間を要していた。また、ユニットの機能を
果たす要素プロセッサによりリング網を構成し、並列に
計算を実行して高速化を図る手法も研究されているが、
要素プロセッサの数が中間層と出力層の内でユニット数
の多い方により決定されるため、中間層および出力層に
比べて入力層のユニット数が極端に多い場合には、充分
な並列度が得られないことがあった。さらに、前述した
(6)式および(7)弐の実行には、演算の途中結果を
一時レジスタに格納する必要があるため、実行サイクル
数が長くなり、動作速度が遅くならざるをえなかった。
本発明は、上述した課題に鑑み、計算の高速化を達成す
ることを目的とする。
〔課題を解決するための手段〕
本発明によれば、入力層、少なくとも1層の中間層およ
び出力層で構成された多層構造型の神経回路網型計算装
置であって、前記入力層を構成するユニット、前記中間
層を構成するユニシトおよび前記出力層を構成するユニ
ットのそれぞれの機能を有する要素プロセッサPEを具
備し、該要素プロセッサPEは、バ・ツクプロパゲーシ
ョン法による学習機能を実現するための複数の乗算器1
1.複数のALU12.  レジスタ13.マルチプレ
クサ14.および、それらを制御する制御回路15を備
え、ニューラルネットワークにおける前向き積和計算を
同時に複数の重み付け和をとることによって高速に演算
できるようにしたことを特徴とする神経回路網型計算装
置が提供される。
(作 用〕 本発明の神経回路網型計算装置は、中間層を構成するユ
ニットおよび出力層を構成するユニットのそれぞれの機
能を有する要素プロセッサPEを備えている。この要素
プロセッサPEには、バックプロパゲーション法による
学習機能を実現するために使用する複数の乗算器11.
複数のALU12.  レジスタ13.マルチプレクサ
14.および、それらを制御する制御回路15が設けら
れている。これによって、ニューラルネットワークにお
ける前向き積和計算を同時に複数の重み付け和をとって
高速に演算し、計算の高速化を達成することができる。
すなわち、本発明の神経回路網型計算装置によれば、要
素プロセッサPEには、複数の乗算器11と複数のAL
U12が搭載され、そして、乗算器11の出力がツリー
(2進木)状に繋がれてALtJ12で総和がとられる
。これによって、高速な積和演算が可能になる。また、
実行している計算のステージに応じて、演算器を繋ぎ変
えることができ、前述した(6)式および(7)式もパ
イプライン処理されて、計算の高速化が実現されること
になる。ここで、要素プロセッサPEを複数個差べて1
次元のリング網を構成し、神経回路網の計算を並列に行
って学習の高速化を図ることもできる。
〔実施例〕
以下、図面を参照して本発明に係る神経回路網型計算装
置の実施例を説明する。
第1図は本発明に係る神経回路網型計算装置に使用する
要素プロセッサの一実施例を示すブロック図であり、第
2図〜第6図は、第1図の要素ブロモ、すにおける各種
の計算を説明するための図である。
第1図に示されるように、要素ブロモ・ンサPEには、
乗算器11およびALU12が各々4個ずつ搭載され、
各演算器の入力のマルチプレクサ14を切り替えること
によって、演算器間の繋がりを実行したい計算にあった
構成に変更し、高速な計算を可能にしている。
バックプロパゲージジン学習法は次に示すように6種類
の計算ステージから構成される。
(a)前向き積和演算 (b)シグモイド関数計算 (c)出力層ユニットの誤差計算 (d)後向き誤差伝搬計算 (e)中間層ユニットの誤差計算 (f)重みの修正量および重みの更新計算以下、第1図
に示した要素プロセッサPEで、各演算ステージをどの
ように実現するかを説明する。
(a)前向き積和演算 前向きの積和演算を行うときには、第2図に示すように
マルチプレクサ14を切り替えて計算を行う。下の層の
ユニットの出力Vは、ローカルメモリLMもしくはリン
グ網に接続した左側の要素プロセッサPEからレジスタ
13(R1)に読み込まれる。重みデータWはローカル
メモIJLI))らレジスタ13(R2)に読み込まれ
る。4つの乗算器11(111〜114)テユニットの
出力と重みの積が同時に4つ計算される。
ここで、乗算器111 と乗算器112の出力はALU
12(121)で加算され、乗算器113と乗算器11
4の出力はA L U12(124)で加算される。こ
れらの2つA L U12L124の出力は、A L 
U12(123)で加算される。そして、A L U1
2(122)において全ての結果が合計されることにな
る。このようにして、入力の重み付け総和ΣWgV、が
計算され、その結果はレジスタ13(Wl)を通してロ
ーカルメモリLMに書き込まれる。
(b)シグモイド関数計算 シグモイド関数計算については、展開式を要素プロセッ
サPEの乗算器11とALU12を用いて計算するか、
或いは、シグモイド関数発生器を要素プロセッサPEに
内蔵または外付けにして計算をする。
(C)出力層ユニットの誤差計算 出力層ユニットの誤差の計算を行うときには、第3図に
示すようにマルチプレクサ14を切り替えて計算を行う
。レジスタ13 (R2)に教師データtを、レジスタ
13(R3)に出力層ユニットの出力Vをローカルメモ
リLMから読み込む。ALU121で(tV)を、AL
U124で(1−v)を計算し、ソノ結果を乗算器11
L 112.114に送る。乗算器111は定数2η/
 u oと(t−v)の積を計算し、乗算器112は誤
差(t−v)の二乗を計算する。乗算器114はレジス
タ13(T)の内容Vと(1−V)の積を計算する。ま
た、乗算器113は乗算器111と乗算器114の出力
を受は取って、その積を計算する。その結果が出力層ユ
ニットの誤差δになる。
さらに、ALU122は乗算器112の出力の総和を計
算する。そして、乗算器113で計算された誤差δは、
レジスタ13(Wl)を通じてローカルメモリLMに書
き出される。
(d)後向き誤差伝搬計算 後向きの積和演算を行うときには、第4図に示すように
マルチプレクサ14を切り替え、乗算器111−114
とALU121〜124を1つずつ組み合わせて4つの
ユニットの積和を同時に計算する。
また、重みデータWはローカルメモリLMからレジスタ
13(R1)に読み込まれ、上の層のユニットの誤差δ
はローカルメモリLMからレジスタ13(R2)に読み
込まれる。さらに、乗算器111〜114で重みとユニ
ットの誤差の積を計算し、ALU121〜124でそれ
をすべて足し合わせる。そして、計算された結果はレジ
スタ13(Wl)を通じてローカルメモリレに書き出さ
れる。
(e)中間層ユニットの誤差計算 中間層ユニットの誤差の計算を行うときには、第5図に
示すようにマルチプレクサ14を切り替えて計算を行う
。まず、レジスタ13 (R2)に対して、上記した計
算(d)で計算された後向き積和演算の結果δ32ゝ”
を、また、レジスタ13(R3)に中間層ユニットの出
力VをローカルメモリL門からロードする。次に、AL
U124で(1−v)を計算し、その結果を乗算器11
4に送る。また、乗算器111は定数2 / u oと
δ32ゝ°の積を計算し、乗算器114はALU124
で計算された(1−V)とVの積を計算し、そして、乗
算器113は乗算器111と乗算器114の結果を掛は
合わせる。この結果が中間層ユニットの誤差6322 
になる。さらに、計算された中間層ユニットの誤差はレ
ジスタ13(Wl)を通じてローカルメモリLMに書き
出される。
(f)重みの修正量および重みの更新計算重みの修正量
を計算して、重みを更新するときには、第6図に示すよ
うにマルチプレクサ14を切り替えて計算を行う。まず
、レジスタ13(R2)に対してユニットの誤差δを、
レジスタ13(R3)に対して重みの修正量の前回の値
ΔWを、レジスタ13 (R4)に対して重みの前回の
値Wを、それぞれローカルメモリLMからロードする。
また、レジスタ13(R1)にはユニットの出力値Vを
ローカルメモリレまたは左隣の要素プロセッサPEから
ロードする。次に、乗算器111でユニットの誤差と出
力の積を計算し、乗算器112で学習定数αと前回の重
みの修正量ΔWの積を計算する。また、ALU121で
乗算器111および112の出力を足す合わせ、新しい
重みの修正量を計算する。さらに、ALU123てAL
U121で計算された新しい重みの修正量と、前回の重
みを足し合わせ、新しい重みを計算する。同様に、同じ
計算を乗算器113並びに113およびALU124並
びに122を使用して行う。そして、更新された重みの
修正量はレジスタ13(Wl)を通じて、また、更新さ
れた重みはレジスタ13(W2)を通じてローカルメモ
リレに格納される。
上述した(a)〜(f)において、(b)のシグモイド
関数の計算以外は、全てパイプライン処理されて高速な
計算が可能である。バックプロパゲーション学習法では
、次の(1)〜(8)までの計算を行うことで一回の学
習計算が終了する。
このように、本実施例の神経回路網型計算装置は、神経
回路網のシミュレーションにおいて、複数のユニットの
出力の重み付け和が同時にとることができ、またシグモ
イド関数の計算以外はすべてパイプラインで流れるので
計算の著しい高速化が達成できる。
以上において、要素プロセッサPEに乗算器11および
ALU12をさらに4個ずつ搭載して、同じ原理で計算
を行わせればより高速な計算が可能である。また、この
要素プロセッサPEを1つだけ用いても高速な計算は行
えるが、第7図に示すように、この要素プロセッサPE
を複数個リング網に結合して、並列に計算を行わせるこ
とによってさらに高速な計算が可能になる。
以下、第7図〜第9図を参照して、中間層が1層だけの
3層構造の神経回路網の計算を説明する。
中間層が1層だけの3層構造の神経回路網の計算では、
計算は次のような順序で行われる。
(1)入力層→中間層の前向き積和演算(2)中間層ユ
ニットのシグモイド関数計算(3)中間層→出力層の前
向き積和演算(4)出力層ユニットのシグモイド関数計
算(5)出力層ユニットの誤差計算 (6)出力層→中間層の後向き誤差伝搬計算(7)中間
層ユニットの誤差計算 (8)重みの修正の計算 第7図は本発明に係る神経回路網型計算装置の一例の全
体的なシステム構成を示す図であり、第8図は本発明の
神経回路網型計算装置の一例における要素プロセッサへ
のユニットの割り当てを説明するための図である。
本実施例の神経回路網型計算装置は、第8図に示される
ように、中間層が1層だけで、各層のユニットの数は入
力層が12個、中間層が12個、出力層が12個となっ
ており、また、要素プロセッサは3個となっている。
すなわち、第8図に示されるように、各要素プロセッサ
PEI、PH2,PH,が受は持つ各層のユニットの割
り当ては、要素プロセッサPE、に対して入力層のユニ
ット■υI+IυZ+ l113. IU、、中間層の
ユニットMtl+、MUz、MU:+、Mu4および出
力層のユニットOU+、OUz。
OU3.OU、が割り当てられ、要素プロセッサPE2
に対して入力層のユニッ目US、 IU&、 Itlt
、 IIJa、中間層のユニットMIIS、 ML+6
. MUD、 Musおよび出力層のユニットOUs、
OUb、OL+7.Oleが割り当てられ、そして、要
素プロセッサPE3に対して入力層のユニットIII。
IUro、IU、1.IIJ+z、中間層のユニ・ノド
MU9.MIJIO,MLIII。
MU+2および出力層のユニットOU9,0U10,0
Llll、0UI2が割り当てられるようになっている
。ここで、各要素プロセッサPE、、PE、、PH3に
対応するローカルメモリには、予め必要なデータ(入力
データ、教師データ、重みの初期値等)がロードされて
いるものとする。
次に、計算の流れを概略する。この計算の流れは、(1
)入力層→中間層の前向き積和演算、(2)中間層ユニ
ットのシグモイド関数計算、(3)中間層→出力層の前
向き積和演算、(4)出力層ユニットのシグモイド関数
計算、(5)出力層ユニットの誤差計算、(6)出力層
→中間層の後向き誤差伝搬計算、(7)中間層ユニット
の誤差計算、および、(8)重みの修正の計算の順で行
われる。
第9図は第8図の神経回路網型計算装置の動作を説明す
るための図である。第8図および第9図を参照して、上
記(1)〜(8)の計算方法について順に説明する。
(1)人力層→中間層の前向き積和演算まず、第8図に
示されるように、左端の要素プロセッサPE、は1番目
〜4番目の中間層ユニット1’lU、〜?IIj、の計
算を担当し、中央の要素プロセッサPE2は5番目〜8
番目の中間層ユニットMus〜Mt1.の計算を担当し
、そして、右端の要素プロセッサPE3は9番目〜12
番目の中間層ユニットMU。
〜MU+zの計算を担当するが、最初は、それぞれ1番
目、5番目、9番目の中間層ユニットMtl、、M[1
5MIJ、の計算から始める。
まず、各要素ユニットPEI、PEz、PE4は、対応
するローカルメモリから、それぞれが受は持っている入
力層ユニットのうち、1番目〜4番目、5番目〜8番目
、9番目〜12番目のユニットの出力vl  ””’V
4  *  vS  〜■、  +  V9”〜V12
および、その入力層ユニットとの間の結合の重みw 、
 、 N 1〜w、4(1)、Wss”’〜w、s”’
、w、、(1)〜w1,1□(1)をそれぞれ読み込む
。そして、それらの加重和を計算する(第9図(a)参
照)。
次に、読み込んだ入力層ユニットの出力を右隣の要素プ
ロセッサに転送する。各要素プロセッサは、左隣の要素
プロセッサから送られてくるデータに対応した重みデー
タをローカルメモリから読み込み、それらの積を計算し
て、先はどの結果と加え合わせる(第9図(b)参照)
。さらに、もう−度、入カニニットの出力を右隣の要素
ユニットに転送し、同様に重みデータと掛は合わせて加
え合わせる(第9図(c)参照)。これで、各要素プロ
セッサでは、それぞれ1番目、5番目、9番目の中間層
ユニットMU+ 1MUS、 MU9に入力する12個
の信号の加重和が計算されたことになる。次に、闇値を
ローカルメモリから読み込んで計算結果に加える(第9
図(d)参照)。
ここで、第9図(a)〜(d)において、ローカルメモ
リLMI、LM2.LM3から要素プロセッサPE、、
PE、。
PH3に向かう矢印は、該ローカルメモリから要素プロ
セッサに読み込んだデータを示し、また、要素プロセッ
サPEI、PER5PE:IからローカルメモリLM。
LM2.LM:lに向かう矢印は、該要素プロセッサか
らローカルメモリに書き込むデータを示す。さらに、隣
接する要素プロセッサ間の矢印(PE、−+PE2. 
PEz→PE3. PE、→PE、)は、隣接する要素
プロセッサ間で転送されるデータを示している。この関
係は、第9図の全ての図においても同様であり、各図に
於ける参照符号は、読み出し、書き込みおよび転送され
るデータを示している。
同様にして、2番目、6番目、10番目の中間層ユニッ
)MLIz、MU6.MU+aに対する計算をそれぞれ
の要素プロセッサで行う(第9図(e)参照)。次に、
3番目、7番目、11番目の中間層ユニット阿υ3.M
(1,。
MUt+の計算を、その後、4番目、8番目、12番目
の中間層ユニットMU4.MU8. MU+2の計算を
行う(第9図(f)参照)。計算結果は、4データずつ
まとめてローカルメモリに書き込む(第9図(g)参照
)。
(2)中間層ユニットのシグモイド関数計算上述した(
1)で計算された入力層ユニットの出力の加重和をロー
カルメモリから読み出し、要素プロセッサにおいてシグ
モイド関数fを施して結果を再びローカルメモリに書き
込む(第9図(h)〜(i)参照)。
(3) 、 (4)  中間層→出力層の前向き積和演
算および出力層ユニットのシグモイド関数計算前述した
(1)と同様に、中間層ユニットの出力をローカルメモ
リから読み出して加重和をとり、さらに、シグモイド関
数fを施してローカルメモリに書き込む(第9図(j)
参照)。
(5)出力層ユニットの誤差計算 ローカルメモリから出力層ユニットの出力v、 (2)
(2)         (Z)         (
2)〜■4 I ■5 Nvll I vq 〜v12
(2)および、その出カニニットに対応する教師データ
t1〜t 4+ t S〜18.1.〜t12を読み出
し、(6)式に従って出力層ユニットの誤差δ1(3)
を計算し、その結果61′3)〜δ、(3)、δ、(3
)〜δ8(3)δ、り3)〜δ、%3)をローカルメモ
リに書き込む(第9図(k)〜(1)参照)。
(6)出力層→中間層の後向き誤差伝搬計算ここでは、
(7)式の右辺の積和の項の計算を行う。各要素プロセ
ッサは4ユニット分の計算を並列に行う。1番目の要素
プロセッサPE、は、1番目〜4番目の中間層ユニット
MU、〜M11.の計算を、2番目の要素プロセッサP
E2は5番目〜8番目の中間層ユニノl”Mtls〜?
lUaの計算を、そして、3番目の要素プロセッサPE
3は9番目〜12番目の中間層ユニットMU9〜MIJ
、□の計算を同時に行う。
まず、ローカルメモリから出カニニットの誤差δ、。ゝ
を読み出す。そして、読み込んだ出力層ユニットの誤差
データの第1の要素(1番目の要素プロセッサではδ 
(:11. 2番目の要素プロセッサではδ +31.
 3番目の要素プロセッサではδ、33′になる。)に
対応する重みデータ(1番目の要素プロセッサではw 
、 、 ”〜W、4”、2番目の要素プロセッサではW
55(2ゝ〜w5.”、3番目の要素プロセッサではW
 99 ”〜W11..!” になる。)を読み出し、
4組の乗算器、ALUを用いてその積を同時に計算する
(第9図(m)参照)。次に、出力層ユニットの誤差の
第2の要素(それぞれ62°lδ、 +31.δ1゜(
3))に対応する重みデータをローカルメモリから読み
出し、その積を先程の結果に加え合わせる(第9図(o
) 、 (p)参照)。そして、前向きの積和演算の場
合とは異なり、ここでは加重和を右隣の要素プロセッサ
に転送する。
2番目の要素プロセッサには1〜4番目の中間層ユニッ
トの途中のデータδ、(2)’が送られてくる。次に、
この要素プロセッサの保持している出力層ユニットの誤
差データの第1の要素(δ +11 )に対応する重み
データをローカルメモリから読み出し、その積を1番目
の要素プロセッサから送られてきたデータにそれぞれ加
え合わせる(第9図(q)参照)。同様に、出力層ユニ
ットの誤差の2番目、3番目、4番目の要素に対応する
重みデータをローカルメモリから読み出し、積をそれぞ
れ加え合わせる(第9図(r)参照)。4つの要素の全
てに対して加重和が計算されると、もう−度その結果を
右隣の要素プロセッサに転送する。そして、同じように
出力層ユニットの誤差と、それに対応する重みデータの
積を加え合わせる(第9図(s) 、 (t)参照)。
本実施例では、要素プロセッサの数は3個なので、2回
の転送で全ての加重和が取られることになる。計算され
た加重和は、もう−度右隣の要素プロセッサに転送され
、元の要素ブロセ・ンサのローカルメモリに格納される
(第9図(u)参照)。
(7)中間層ユニットの誤差計算 ローカルメモリから中間層ユニットの出力値■、 +2
1と、(6)で計算したその中間層ユニ、ントの後向き
の積和結果δJ121’を読み込み、(7)式に従って
中間層ユニットの誤差δJ′2)を計算し、その結果を
再びローカルメモリLM+ 、 LM2. LM3に書
き込む(第9図(v)〜(−)参照)。
(8)重みの修正の計算 まず、入力層および中間層の重みから更新する。
ローカルメモリから中間層ユニ・ントの誤差δ、(2)
入力層ユニットの出力v 、 + 1 +を読み出す。
読み込んだ中間層ユニットの誤差データの第1の要素(
1番目の要素プロセッサではδ (り、2番目の要素プ
ロセッサではδ (21,3番目の要素プロセッサでは
δ、4) になる。)に対応する重みの修正量ΔW i
 j ”’ +重みW、j”ゝの前回のデータを読み出
す。(4)および(3)式に従って新しい重みの修正量
Δw 、、 ”’ および重みW 、j (1) を計
算する(第9図(x)参照)。その結果をローカルメモ
リに書き出す(第9図(y)参照)。
次に、中間層ユニットの誤差データの第2の要素(それ
ぞiL”、  δb(2)、6.、”> に対応する重
みの修正量ΔWij”’、重みW、j”ゝ の前回のデ
ータを読み出し、(4)および(3)式に従って新しい
重みの修正量ΔWij”’ および重みWij”’ヲ計
算し、その結果をローカルメモリに書き出す(第9図(
z) 、 (A)参照)。同様に、3番目、4番目の要
素に対しても重みの修正量および重みを更新する(第9
図(B)参照)。
さらに、入力層ユニットの出力データは、右隣の要素プ
ロセッサに転送される。左隣の要素プロセッサから送ら
れた入力層ユニットに対応する重みおよびその重みの修
正量をローカルメモリから読み出し、先程と同様にして
、新しい重みおよび重みの修正量を計算してローカルメ
モリに書き出す(第9図(D)〜(E)参照)。同様に
して、中間層、出力層間の結合を含め全ての重みと重み
の修正量を計算し、更新した結果をローカルメモリに書
き出す(第9図(F)参照)。
[発明の効果〕 以上、詳述したように、本発明の神経回路網型計算装置
によれば、複数の乗算器および複数のAL Uを備えた
要素プロセッサを使用してニューラルネットワークにお
ける前向き積和計算を同時に複数の重み付け和をとるこ
とによって、計算の高速化を達成することができる。さ
らに、計算の種類によって演算器の繋ぎ方を変更し、シ
グモイド関数を除く全ての計算をパイプライン処理する
ことにより、計算の高速化を達成することができる。
【図面の簡単な説明】
第1図は本発明に係る神経回路網型計算装置に使用する
要素プロセッサの一実施例を示すブロック図、 第2図は第1図の要素プロセッサにおける前向き積和演
算の計算を説明するための図、第3図は第1図の要素プ
ロセッサにおける出力層ユニットの誤差の計算を説明す
るための図、第4図は第1図の要素プロセッサにおける
後向き積和演算の計算を説明するための図、第5図は第
1図の要素プロセッサにおける中間層ユニットの誤差の
計算を説明するための図、第6図は第1図の要素プロセ
ッサにおける重みの修正量および重みの更新の計算を説
明するための図、 第7図は本発明に係る神経回路網型計算装置の一例の全
体的なシステム構成を示す図、第8図は本発明の神経回
路網型計算装置の一例における要素プロセッサへのユニ
ットの割り当てを説明するための図、 第9図は第8図の神経回路網型計算装置の動作を説明す
るための図、 第10図は多層構造型の神経回路網型計算装置を示す図
、 第11図は第10図の多層構造型の神経回路網型計算装
置に使用する各ユニットを示す図である。 (符号の説明) LM、LMI、LM2.L?h・・・ローカルメモリ、
PE、PE、、PEA、PE3・・・要素プロセッサ、
11・・・乗算器、 12・・・ALU、 13・・・レジスタ、 14・・・マルチプレクサ、 15・・・制御回路。

Claims (3)

    【特許請求の範囲】
  1. 1.入力層、少なくとも1層の中間層および出力層で構
    成された多層構造型の神経回路網型計算装置であって、 前記入力層を構成するユニット,前記中間層を構成する
    ユニットおよび前記出力層を構成するユニットのそれぞ
    れの機能を有する要素プロセッサ(PE)を具備し、 該要素プロセッサは、バックプロパゲーション法による
    学習機能を実現するための複数の乗算器(11),複数
    のALU(12),レジスタ(13),マルチプレクサ
    (14),および,それらを制御する制御回路(15)
    を備え、ニューラルネットワークにおける前向き積和計
    算を同時に複数の重み付け和をとることによって高速に
    演算できるようにしたことを特徴とする神経回路網型計
    算装置。
  2. 2.入力層を構成するユニット,中間層を構成するユニ
    ットおよび出力層を構成するユニットのそれぞれの機能
    を有し、リング網として構成された複数の要素プロセッ
    サ(PE)と、該各要素プロセッサに対してそれぞれ設
    けられた複数のローカルメモリ(LM)とを具備する多
    層構造型の神経回路網型計算装置であって、 前記各要素プロセッサは、バックプロパゲーション法に
    よる学習機能を実現するための複数の乗算器(11),
    複数のALU(12),レジスタ(13),マルチプレ
    クサ(14),および,それらを制御する制御回路(1
    5)を備え、ニューラルネットワークにおける前向き積
    和計算を同時に複数の重み付け和をとることによって高
    速に演算できるようにしたことを特徴とする神経回路網
    型計算装置。
  3. 3.前記神経回路網型計算装置は、計算の種類によって
    演算器の繋ぎ方を変更し、シグモイド関数を除く全ての
    計算をパイプライン処理するようになっている請求項第
    2項に記載の神経回路網型計算装置。
JP2182580A 1990-07-12 1990-07-12 神経回路網型計算装置 Pending JPH0471063A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2182580A JPH0471063A (ja) 1990-07-12 1990-07-12 神経回路網型計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2182580A JPH0471063A (ja) 1990-07-12 1990-07-12 神経回路網型計算装置

Publications (1)

Publication Number Publication Date
JPH0471063A true JPH0471063A (ja) 1992-03-05

Family

ID=16120771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2182580A Pending JPH0471063A (ja) 1990-07-12 1990-07-12 神経回路網型計算装置

Country Status (1)

Country Link
JP (1) JPH0471063A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994019762A1 (en) * 1993-02-22 1994-09-01 Tadashi Shibata Computing device
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
WO2019086891A1 (en) * 2017-11-02 2019-05-09 Imperial Innovations Limited Sensor device for classification of data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994019762A1 (en) * 1993-02-22 1994-09-01 Tadashi Shibata Computing device
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
WO2019086891A1 (en) * 2017-11-02 2019-05-09 Imperial Innovations Limited Sensor device for classification of data

Similar Documents

Publication Publication Date Title
US5483620A (en) Learning machine synapse processor system apparatus
Eldredge et al. RRANN: a hardware implementation of the backpropagation algorithm using reconfigurable FPGAs
Ramacher SYNAPSE—A neurocomputer that synthesizes neural algorithms on a parallel systolic engine
EP0421639B1 (en) Parallel data processing system
Serbedzija Simulating artificial neural networks on parallel architectures
JPH04293151A (ja) 並列データ処理方式
Lehmann et al. A generic systolic array building block for neural networks with on-chip learning
Ramacher et al. Multiprocessor and memory architecture of the neurocomputer SYNAPSE-1
Wawrzynek et al. The design of a neuro-microprocessor
Savich et al. A scalable pipelined architecture for real-time computation of MLP-BP neural networks
Ienne et al. Special-purpose digital hardware for neural networks: An architectural survey
Saeks et al. On the Design of an MIMD Neural Network Processor
JPH0619862A (ja) スケーラブル超並列グループ分割対角線折畳みスイッチング・ツリー型コンピューティング装置
Watanabe et al. Neural network simulation on a massively parallel cellular array processor: AAP-2
Muller et al. Achieving supercomputer performane for neural net simulation with an array of digital signal processors
JPH0471063A (ja) 神経回路網型計算装置
Skubiszewski An Extact Hardware Implementation of the Boltzmann Machine.
Asanović et al. Using simulations of reduced precision arithmetic to design a neuro-microprocessor
Viredaz et al. MANTRA I: A systolic neuro-computer
Acosta et al. Custom architectures for fuzzy and neural networks controllers
Viredaz Design and analysis of a systolic array for neural computation
Pedrycz et al. A reconfigurable fuzzy neural network with in-situ learning
Wilson Neural Computing on a One Dimensional SIMD Array.
Przytula Parallel digital implementations of neural networks
Märkl Märkl, Kilian Efficient Implementation of Neural Networks on Field Programmable Gate Arrays