JPH02170263A - ニユーラルネツト信号処理プロセツサ - Google Patents

ニユーラルネツト信号処理プロセツサ

Info

Publication number
JPH02170263A
JPH02170263A JP63323302A JP32330288A JPH02170263A JP H02170263 A JPH02170263 A JP H02170263A JP 63323302 A JP63323302 A JP 63323302A JP 32330288 A JP32330288 A JP 32330288A JP H02170263 A JPH02170263 A JP H02170263A
Authority
JP
Japan
Prior art keywords
processor
neural net
input
output
data
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.)
Granted
Application number
JP63323302A
Other languages
English (en)
Other versions
JP2703010B2 (ja
Inventor
Toru Umaji
馬路 徹
Hidenori Inai
秀則 井内
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63323302A priority Critical patent/JP2703010B2/ja
Priority to US07/455,141 priority patent/US5091864A/en
Publication of JPH02170263A publication Critical patent/JPH02170263A/ja
Application granted granted Critical
Publication of JP2703010B2 publication Critical patent/JP2703010B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ニューラルネット信号処理プロセッサすなわ
ち、生物の神経回路網をモデルとしたニューロ・コンピ
ユーテイングを実現するニューラルネット用LSIプロ
セッサに関するものである。
このようなプロセッサの具体的利用分野としだは。
の 多Mt、V入力情報をもとに高速かつフレキシブルに判
断を行なう必要がある画像認識、音声認識、音声合成等
広範囲の分野が考えられる。
〔従来の技術〕
この分野に関係する技術の技術としては、(1)小池他
、[専用ハードウェアーによるニューロ・コンピユーテ
イング」情報処理学会誌。
VoQ、29.N119.p974−983.1988
年9月 (2) S、YJung、“Parallel Arc
hitectures forArtiicial N
eural Nets”、Digest of the
 IEEEInternatlonal Confer
ence on 5ystoricArrays、19
88 の公知例がある。
ニューラルネットは簡単な関数計算を行なう計算機ユニ
ットが互いに重み付きの方向性リンクで結合されネット
ワークを構成し、入力情報を上記ネットワークで並列的
に処理するものである。ここには従来の計算機に見られ
るプログラムは存在せず、上記重み及び関数を初期値設
定または学習によって設定することにより、各種処理に
対応するものである。
重みの付加及び関数計算は第25図に示すニューロン回
路により実行される。このニューロンが複数個結合され
てニューラルネットを構成する。
この回路にN個の入力(Xi、X2.・・・・・・XN
)を与えることにより、(1)式に示した出力を得る。
ここで、係数mijが入力Xjに重みを付加し。
f()が関数値を与える。
f()はニユーラル・ネットの収束性を決めるうえで大
切な非線形関数であり、生物のニューロンに類似した(
2)式に示すシグモイド関数が一般によく使用される。
f(u)=1/(1+EXP(−u))    −(2
)−層ニューラルネットの場合、上記ニューロン回路は
第26図に示したように結合される。このようなニュー
ラルネットを用いることにより1画像や音声のパターン
・マツチングが取れる。マツチングすべきパターンを各
ニューロンの重み係数に設定される。
ここで、入力X1〜XNは25個の全ニユーロンP5に
供給され、各ニューロンからはY1〜YMが並列に出力
される。ここで、各入力はM個のニューロン(ノード)
を駆動する必要がある。
また総記線数【リンク数)はN6Mであり、非常に多い
例えば、100X100画素の入カバターンを受けて、
これを1000種類のパターンのいずれかに分類するた
めには最低でもN = 10,000個の入力端子と、
M=1,000 個のニューロンが必要とされる。この
場合各入力端子は1,000 個のニューロンを駆動す
る必要があり、総記線数も10.000,000本にも
なる。
このようなニューラルネットは、アナログICによる実
現するアプローチが最も直接的である。
しかし、公知例(1)にもあるとおり、現在の技術では
配線の多さ等から集積度が上がらす、1チツプに数10
から数百のニューロンしか乗らない。
従って、先の例では最低でも10チツプ必要となる。チ
ップ間でアナログ値を精度良く伝達するにも高度の技術
を要する。
また、重みは抵抗あるいはトランジスタのコンダクタン
スで実現しなければならず、重み係数のプログラマビリ
ティが要求される学習可能なニュ−ラルネットの実現は
困難である。
ディジタル回路を用いてニューラルネットを実現の場合
は上記のチップ間信号伝達1重み等のプログラマビリテ
ィの問題は解決する。この場合、1個のニューロンを1
台の計算ユニットで処理する場合とlJf数のニューロ
ンを仮想的に1台の計算ユニットで処理する場合とがあ
る。前者のアプローチでは1台ごとに積和演算機能と関
数機能を設ける必要があるためどうしてもハード量は大
きくなる。これにより致方ニューロンが限界である。
後宮のアプローチではハードtの問題はなくなるが、1
台の複数ニューロンを処理する必要があるためアナログ
処理方式に比較して速度が落ちる。
しかし、プログラムの入り替えのみにより各種モデルに
対応できるため現在提案されているディジタル処理方式
のほとんどすべてがこの方式となっている。
ニユーラル・ネットではニューロン間の接続数の多さか
ら、上記いずれの場合もプロセッサ間の通信が多く、接
続方法の選択が系全体の性能に大きく影響する。
現在、後者の方式がDSP (ディジタル信号処理プロ
セッサ)や浮動小数点演算プロセッサにより実現されて
いる。しかし、このような従来のチップをそのまま用い
るため、最新のマイクロプロセッサM68020及びそ
の浮動小数点演算コプロセッサを15組も用いてもその
性能は高々500にリンク7秒に制限されている。ここ
で、1リンク処理は1個の重みを計算することに相当す
る。
公知例(1)にある〜ewManのように8個のデータ
フロープロセッサを用いた場合はこの速度を8Mリンツ
ク秒にまで向上できるが、この中には各プロセッサエレ
メントに2個の浮動小数点演算プロセッサが使用されて
おり計16個も使用されることになる。
ところで、画像信号をリアルタイムで処理する場合、例
えば512x512=256に画素/フレームのデータ
を毎秒15フレームの速度で処理する必要がある。これ
を第26図に示したもつとも簡単なニューロンM個の1
層ニューラルネットで処理する場合に要求される処理速
度は3 、8 MMリンツク秒となる。ニューロン数M
を100個としても380Mリンク/秒の超高速処理が
要求される。これを従来のチップで処理することは不可
能である。また出来たとしてもその回路規模は非常に大
きくなり実用的でない。
この71111%を解決する一つのアプローチとして公
知例(2)に述べであるようなシストリック・アレイの
しようが考えられている。第27図は該アレイに使用さ
れている単位シストリック・プロセッサ・エレメントを
、また第28図はこれを用いて先程の第26図に示した
1層ニューラルネットを構成した例を示しである。各プ
ロセッサ・エレメント1;36は、係数を保持すると共
に、読みだした後レジスタ内データの配置を1個ずつシ
フトするシフト・レジスタ133.入力データ(X、1
)(j=l〜N)に重み係数rn i jをかけるため
の乗算器2、上記乗算結果を累積するための加算器3及
びアキュムレータ4.積和(累積結果)14に非線形関
数処理f()を与えるための非線形関数発生機構135
.及びN個の入力データの積和が完了した段階でこれを
出力端子Qiに出力するための入出力切換えマルチプレ
クサ134から構成されている。
第28図に示したシストリック・アレイ使用の1層ニュ
ーラルネットはM個のシストリック・プロセッサ・エレ
メント136を接続した形となっており、入力データ(
Xj)を巡回するための入力データ巡回線138により
左端のプロセッサSPE−1から右端のプロセッサSP
E−Mにデータを転送している。入力データ17はこの
線138に供給され、出力データ18も同巡回線138
から出力される。このように接続は巡回線138を除い
て隣接プロセッサ間に限定されているため非常に配線数
が少なく、またこのため信号の転送速度も速い。
まず1層ニューラルネット上のニューロン数Mが入力デ
ータ数(第26図のニューラルネットの入力端子数)N
に等しい場合、第30図を用いて上記回路の動作の概略
を説明する。まず、時刻TOからT 1の間に左端から
1システム・クロックごとに入力データ(Xj)が順次
入力される。
なおシステム・クロックの周期はT(秒)である。
1クロツクごとに各プロセッサ136の右から入ったデ
ータ(Xj)は左隣のプロセッサに転送される。このよ
うにして1時刻ToからNET(秒)後に各プロセッサ
にデータが行き渡り、各プロセッサが演算処理を開始す
る。なお、各プロセッサにデータ(Xj)を並列に設定
する手段がある場合はこのデータ転送(To−T1間)
の処理は不要である。しかし、これには入力データ数8
個だけの配線が必要であり、配線数が少ないというシス
トリックアレイの特徴が生せない。
演算処理と同時に1クロツクごとに入力データを左隣の
プロセッサに転送する。一番左端のプロセッサSPE−
1は入力データ巡回線138を介して入力データを右端
のプロセッサSPE−Mに転送する。
この際、プロセッサSPE−1は入力データがXi、X
2.X3・・・・・・の順で入ってくるため、これに合
わせて係数シフトレジスタ133からの係数mijはm
 I M、 mM 2 、 mM 3 =−−の順で読
みだす、しかし、2番目のプロセッサSPE−2にはX
2.X3.X4・・・・・・の順でデータが入ってくる
ため、係数mi jGm22.m23.m24・・・・
・・m21の順で読みだす、この係数読みだし順序を容
易に行なうために係数シフトレジスタ133が使用され
ている。しかし、係数設定時にはこのようなプロセッサ
間での係数読みだし順序を意識する必要があり、設定処
理が面倒である。
演算処理速度としては毎タロツクごとに並列にM個の重
み演算を処理できる。つまり、毎クロックごとにMリン
クの計算処理を実行できる。今、1μm CM OS技
術を用いて上記チップを製作した場合、約20 M H
zのクロックでプロセッサを動作させることが可能であ
る。また、1QX10■2のチップ上には上記プロセッ
サが約100個集積できる。これによりこのようなチッ
プのニューラルネットとしての処理能力は2000Mリ
ンク/秒にもなり先程の画像等の高速信号のリアルタイ
ム処理が可能となる。
第29図は入力データ数Nがプロセッサの数Mよりも多
い場合の動作例を示している。この場合。
時刻T1から演算処理を開始できるが、これと同時に入
力データ巡回線138を介してデータを左から右に巡回
しようにも、未だ入力データXM+1、・・・・・・X
Nが入ってくるため、11〜i4間でデータの競合が起
こり回路が正常に動作しない。
((X j )の各プロセッサへの並列入力が可能な場
合は問題ないが配線の多さから実用的ではない)また、
先程のM=Nの場合にも当てはまるが、出力データ(Y
i)も同信号線138に乗せているため、出力データ(
Yi)が転送されている間(時刻′r 2〜T 3間)
は次のデータ(Xj)が入力できない。
以上、公知例のシストリックアレイに関してまとめると
、並列処理により画像のリアルタイム処理も可能な高速
処理が可能であり、また隣接プロセッサ間の配線のみで
複雑なニューラルネットの接続が実現できるという特徴
がある。その一方で、入力データ(Xj)と出力データ
(Yi)が同一信号線を用いるため、データの競合が起
こるという問題と、係数mijの読みだし順序がプロセ
ッサ間で異なるため、係数の設定等に特別の工夫が必要
であるといった問題点がある。また、該公知例ではホッ
プフィールド及びバックプロパゲーション以外の一般的
なニューラルネットへの展開にも言及されていない。
〔発明が解決しようとする課題〕
本発明は本発明者による上記の如き検討結果を基にして
なされたものであり、その目的とするところは下記の如
き技術課題を解決することにある。
(1)従来技術(公知例(2))は、隣接プロセッサの
みの結線でニューラルネットの複雑な結線と同機能を実
現できたが、入力データ及び出力データを同一信号線に
乗せるため、出力データの転送を待たないと次の入力デ
ータが転送できないといった転送能力上から来る速度の
問題点があるとともに、やはり上記データ転送路上のデ
ータ競合のため、入力データ数Nがプロセッサの数Mよ
りも多い場合そのままでは適用できないといった問題が
生じる。従って、本発明の第1の目的はこのようなデー
タ転送路上のデータ競合を防ぐことにより、高速のデー
タ転送を可能とすると共に、入力データ数N及びプロセ
ッサの数Mの制約を受けない、より汎用の高速大規模ニ
ューラルネットを実現することにある。
(2)公知例(2)では1巡回線138(第28図)に
より、初段プロセッサから最終段プロセッサにデータを
巡回する必要があるが、大規模ニユーラル・ネットでは
このような拒離的に離れたプロセッサ間での同期をとる
ことは困難である。
従って、本発明の第2の目的はこのような巡回線を避け
、大規模ニューラルネットにも適用可能とすることであ
る。
(3)公知例(2)では各プロセッサごとに非線形関数
発生機構を設けていたが、ニューロンを最適状態で動作
させるためにはこの非線形特性を可変とする必要がある
。この変更は各プロセッサ個別に行なう必要はなくニュ
ーラルネット層単位で行なえばよい、公知例(2)の場
合は全プロセッサに対して上記特性を書き換える必要が
あり1時間がかかる。従って、本発明の第3の目的は各
重み係数と共に非線形関数(シグモイド関数等)のプロ
グラミングを高速に行なうことである。
(4)公知例(2)で示されるプロセッサをホップフィ
ールド型ニューラルネット、多層ニューラルネット及び
バックプロパゲーション型ニューラルネットに適用する
ためには各々に対して接続形態を変更するなどハードウ
ェアの変更が必要である。従って1本発明の第4の目的
はハードウェアを変更することなく、プログラミングの
みで各種ニューラルネットに対応可能な汎用性を持つプ
ロセッサを実現することである。
(5)公知例(2)では1ニユーロンを実現するために
、乗算器、加算器が1組必要であるが、速度の要求され
ないシステムではハードウェアが大きすぎて経済的でな
い、従って1本発明の第5の目的は、応用システムに合
わせた速度を持つニューロン・プロセッサを最小のハー
ドウェアで実現することである。
(6)公知例(2)ではニューラルネットの複雑で膨大
な接続配線を隣接プロセッサ間の唯1本の信号線で実現
しているが、このために逆に冗長性がなくなり、1箇所
の配線切れや、1個のプロセッサの欠陥のみでニューラ
ルネット全体の機能が停止してしまうといった欠点を有
する。従って1本発明の第6の目的はこのような断線や
欠陥ニューロンに対して耐性を持たせることにある。
〔課題を解決するための手段〕
上記の如き本発明の種々の目的を達成するため、本発明
は下記の如き手段を有するものである。
(1)第1の目的は、入力データ及び出力データに独立
した信号線を持つシストリック・アレイでニューロンの
処理を行なうことにより達成される。
(2)第2の目的は、入力データ系列(Xj)(1≦j
≦N)に対して全プロセッサが同時に積和演算処理を開
始することなく、初段プロセッサから順次処理を開始す
る回路構成及び処理方式を用いることにより達成される
(3)第3の目的は、1層ニユーラル・ネットにおいて
入力データと重み係数を乗算し、1ニユ一ロン分の乗算
結果を累積する積和演算はジストリクアレイで行ない、
非atm処理は1層ごとにただ1個設けた非線形関数ル
クアップテーブルを用いて行なうことにより達成される
。さらにここでは各重み係数メモリ、非線形関数ルック
アップテーブルをホストCPUよりアクセスするパスラ
インを設けて特性の変更を容易にしている。
(4)第4の目的は、プロセッサごとに入力データ。
出力データ及び非線形関数ルックアップテーブルをバイ
パスできる構成にしておき、そのバスをプログラマブル
とすることにより達成される。
(5)第5の目的は、1プロセツサに複数のニューロン
の重み係数を記憶する係数メモリ、複数ニューロンの積
和演算を制御する機構を設けること、または並列乗算器
のかわりに直列乗算器を用いることにより達成される。
(6)第6の目的は、上記に加え、テストデータ発生機
構及び検出機構を設けることにより達成される。
〔作用〕
(1)第1の解決手段において、入力データと出力デー
タの信号線を分離したことにより、これらのデータ競合
がなくなり、入力データと出力データを並行して転送す
るなどの高速処理が可能になるとともに、ニューロン数
の制約を受けることなく、より汎用のニューラルネット
が構成できる。
(2)第2の解決手段により、公知例(2)のように全
プロセッサの同時信号処理開始のためのデータ循環が不
要となり、初段プロセッサ/最終段プロセッサ間の信号
データの同期が不要となる。
これにより大現模ニューラルネットにも対応可能となる
。また、−殻内には1セツトに入力データ(Xj)(1
≦j≦N)に引き続いて次の入力データ・セット(X’
j)(1≦j≦N)がすぐ入力されるのでプロセッサが
休止している期間はない。
(3)第3の解決手段により、パスラインを介して任意
の重み係数及び非線形関数のプログラミングが可能であ
る。また、各層のプログラムすべき非線形ルックアップ
テーブルを唯一個にしたことにより、上記パスラインの
負荷を軽減すると共にプログラミングすべき箇所を大幅
に低減し、特性の変更を高速に行なうことを可能にした
(4)第4の解決手段においては信号のバイパス経路を
ニューラルネット・モデルにしたがってプログラミング
することにより、同一ハードウェアで1層ネット、多層
ネット、巡回型ネット。
分割型ネット等が構成可能となる。
(5)第3の解決手段においては、1組の乗算器。
加算器を複数ニューロン処理に共用できるため。
ハード社の節約が出来る。また、処理速度に対応して1
プロセツサの処理ニューロン数を調整(プログラミング
)できる。また、直列乗算器を用いることにより、加算
器のみで乗算も実現できるため、同様にハード量の節約
が出来る。
〔実施例〕
第1図は本発明の各種ニューラルネットに共通で使用で
きるシストリック・プロセッサ・エレメント(以下SP
Eと略する)であり、第3図はその動作タイミングを示
したものである0本プロセッサで非線形関数機能以外の
1ニユーロンの機能をすべて果たす。また、第2図は上
記SPEをM個用いて構成したN入力1Mニューロンの
1層ニューラル・ネッ1−であり、第4図はその動作タ
イミングを示している。
1番目のニューロンの機能を受は持つ第1図に示したシ
ストリック・プロセッサ・エレメントSPEiは、i番
目のニューロンの重み係数(mij)(1≦j≦N)を
記憶するための係数メモリ1、入力データ (Xj)(
1≦j≦N)に重み係数を乗算するための乗算器2、上
記乗算結果とアキュムレータ4とを加算する加算器3、
クロックCKIによりラッチを行なう前段部とクロック
CK2によりラッチを行なう後段部がら構成されるマス
タースレーブ型アキュムレータ4、アキュムレータの累
積結果にューロン積和出力)14または前段からの積和
出力データ10のいずれかを選択するためのマルチプレ
クサ12.シストリック・アレイとしてバイブライン処
理を行なうためのCKI、2により制御されるマスター
スレーブ型の出力データラッチ7、同じくバイブライン
処理用に人力データに遅延を与えるための第1の人力デ
ータラッチ5、及び上記累積結果とタイミングを合わせ
るための第2の入力データラッチ6から構成されている
。尚1図示していないが、これらのラッチ5,6.7は
ノンオーバラップ2相クロツクCKI、CK2により1
1動されることにより、所定の遅延を与えるものである
Qin端子は前段の同様な構成のSPEi−1からの積
和出力(SL、S2・・・・・・S i −1)を受け
る端子、Dinはニューロンの入力データ(Xl、X2
・・・・・・)を前段のSPEi−1から受ける端子、
Q o u tは前段からの積和出力(81゜S2・・
・・・・5i−1) と共に、SPEiからの積和出力
Siをも順次次段のSPEi+1に送り出すための端子
、Doutはニューロンの入力データ(Xi、X2・・
・・・・)を次段のSPEi+1に送り出すための端子
である。
第3図を用いてlSPEの動作を説明する。
SPEはノンオーバラップ2相クロツクCKI。
2で駆動される0時刻T1でCK2が立ち上がると同時
に入力端子Dinを介して前段のSPEi−1から最初
の入力データX1が入力される。これに合わせて、上記
入力データに乗算すべき重み係数m1l(i番目のSP
Eの1#r目の入力データに対する係数)が係数メモリ
1から読みだされる1乗算器2にて上記入力データX1
と重み係数milが乗算され、その乗算結果mil傘X
Lが加算器3に渡される。
乗算器2の出力mij*Xjは加算器3及びアキュムレ
ータ4により累積さる。ここでアキュムレータ4として
は2相クロックCKI、CK2により駆動されるマスタ
ー・スレーブ型のフリップフロップになっている。この
ため、CK1がハイレベルとなって加算器3からのデー
タをアキュムレータ4の前段にラッチする時点でも2ア
キユムレータ4の後段出力は前回にラッチされた信号を
保持できる。加算器3はこの保持されたアキュムレータ
4の後段の出力を用いて計算している。
時刻T1でのアキュムレータ4の後段の出力(累積値)
は0であり、この値と乗算器2からの出mil串Xlと
が加算器3により加算されて時刻Tl、T2間のCKI
がハイレベルになることによりアキュムレータ4の前段
にラッチされる。
Dinからの入力データは2段の入力データラッチ5.
6を介してそのまま次段のSPEi+1に転送される。
これにより、2クロック周期分の遅延を受ける。
ilを目のプロセッサSPEiでの累積にューロン積和
出力): Si=Σ mij申Xj j=1 が終了しないうちは、Qinから入力される前段からの
出力データにューロン積和出力)(・・・・・・5i−
2,5i−1)がそのままマルチプレクサ12及び出力
データラッチ7を介し、1クロック周期分の遅延を受け
て出力データ端子Q o u tに転送される。
時刻T2ではCK2が立ち上がり、D i +1端子を
介して前段から入力データX2が取り込まれると共に、
これに対応した係数mi2が係数メモリ1から読みださ
れる。これらは乗算器2により乗算されて乗算結果m1
2mX2を得る。
同じく時変IT2でのクロックCK2の立ち上がりに合
わせて、先にアキュムレータ4の前段にラッチされたデ
ータmil串X1がアキュムレータ4の後段の出力に現
われ、乗算器2の出力miZ*X2と加算され、続<C
KIによりその加算結果mil*X1+mi2串X2が
アキュムレータ4の前段にラッチされる。
以下、時刻T [N+11で以下のように累積が7キユ
ムレータ4の出力に現われ、一連の積和演算が完了する
: Si=Σ mij申Xj j=1 累積が完了した時点で累積結果Siがマルチプレクサ1
2を介して出力データ・ラッチ7に転送される。このラ
ッチ7により1段(1クロック周期分)遅延され、時刻
T [N+2]で本ニューロンの積和出力Siが出力端
子Qoutを介して次段に転送される1時刻T [N+
1] 、T [N+2]間以外ではマルチプレクサ12
は前段からの出力信号Sk(k<i)を出力データラッ
チ7に伝える。
第2図は上記シストリック・プロセッサ・エレメントS
PEをM個用いて構成したMニューロン。
N入力9M出力の1層のニユーラル・ネットであり、第
4図はその動作タイミングを説明している。
第2図に示した各シストリック・プロセッサ・エレメン
トSPE−iは第26図の従来の1層ニューラルネット
のニューロンNiに対応している。
また従来のニューラルネットの入出力が並列に行なわれ
ているのに対して、入力(Xi)は入力端子DOから直
列に入力され、出力(Yi)はシグモイド関数ルックア
ップテーブル16から直列に得られる。なお、ニューラ
ルネット積和出力線20には、シグモイド関数に通す前
の積和出力(Si)が得られる。
各SPEの入力データ送出端子Doutは次段のSPE
の入力データ受は取り端子Dinに接続され、出力デー
タ送出端子Q o u tは次段の出力データ受は取り
端子Qinに接続されている。初段SPE−1の入力デ
ータ受は取り端子Din(Do)には−層ニューロンの
入力データ(Xj)が毎タロツクごとに入力される。ま
た、初段SPE−1の出力データ受は取り端子Qin(
QO)はデータが入力されず接地される。
最終段SPE−Mの入力データ送出端子D outは解
放状態であり、出力データ送出端子Qoutはシグモイ
ド関数ルックアップテーブル16の入力端に接続されて
いる。出力データ送出端子Q o u tから一層ニュ
ーラルネットの積和出力(Si)が得られると共に、シ
グモイド関数ルックアップテーブル16の出力端からは
以下の一層ニューラルネットの出力が得られる: ただしシグモイド関数f()41以下の式で示される: f(u)=1/  (1+EXP(−u))第2図に示
したように、配線は隣接SPE間に見られるのみであり
ニューロンの数Mの倍の2M本のみとなっている。ここ
では、入力データ、出力データ用に信号線を共有する第
27.28図の公知例と異なり、各SPE間はそれぞれ
入力データに一本、出力データに一本の計2本のデータ
線で結合されている。
また、各プロセッサ、エレメントごとに非線型関数発生
機構を有する第27.28図の公知例と異なり、非線形
性を決めるシグモイド関数ルックアップテーブル16が
最終段に1個有ればよいため、非線形特性の変更には1
個のシグモイド関数ルックアップテーブルのみの書き換
えで済むため、特性の変更が迅速に行なえる。
なお、非線形特性f (u)の変更としては例えば以下
の式のaの値を変えることが考えられる:f(u)=1
/(1+EXP(−a * u))aの値が小さくなる
に従って関数f (u)はなだらかとなり、上記ニュー
ラルネットを用いたシステムの応答速度が遅くなる。
以下、第2図、第4図を用いて1層ニューラルネットの
動作を説明する。第4図で示すように。
シストリック・アレイの初段プロセッサの入力Doには
、時刻T1から入力データXi、X2.・・・・・・X
Nがシリアルに周期Tで入力される。SPE2へは2段
(2クロツク)遅延されたデータD1が時刻T3より人
力される。SPE:3へはさらに2段(2クロツク)遅
延されたデータD2が時刻T5より入力される。以下同
様に入力データはlSPEを通過するごとに2段遅延さ
れて転送される。
各SPE内ではNクロック(N周期)かけて1ニユ一ロ
ン分の積和計算を行なう。
SPE−1で計算される第1ニユーロンの積和計算結果
S1は、第3図でも示したように時刻T [N+21に
出力データQ1としてSPE2に渡される。その後、積
和出力(Si)はlSPEを通過するごとに1クロツク
(1段)だけ遅延されて転送される。これにより積和出
力S1がSPE2からSPE3に転送される時刻はT 
[N+31となる。
さて、ここで出力データ(Si)(1≦i≦M)と入力
データ(Xj)  (1≦j≦N)とのタイミング関数
について言及する。シストリック・アレイはバイブライ
ン処理を行なうため、各SPE内の積和出力データ(S
 i )及び入力データ(Xj)の46号経路に少なく
とも1段のラッチが入る。
(第1図ラッチ7.5) もし、ここで入力データ側の(Xj)に対しても1段の
ラッチしか設けない場合、Dl上の5P12.1からS
PE2人カデータXNは、時刻”1゛[N+11に転送
される。(2段ラッチを設けた第4図ではT [N+2
]で転送されている。) 第1図のプロセッサ回路で示したように、最後の入力デ
ータXNが入ってからマルチプレクサ12に積和出力S
iが現われるまでの遅延はアキュムレータ4の遅延分の
1クロツクのみである。
これによりSPE−2内のマルチプレクサ12に同プロ
セッサの積和出力S2が現われる時刻は、同プロセッサ
に最後の入力データXNが入力されてから1クロツク分
遅れた時刻T [N+2]となる。
一方、SPE−1の積和出力S1がQl上を介してSP
E−2内のマルチプレクサ12にはいる時刻も、第4図
でも示したようにT [N+2]である。SPE−2内
のマルチプレクサ12はSl及びS2を同時に通せず、
いずれかの信号が消えてしまう。これではニューラルネ
ットの処理が出来ない。
このような問題を避けるため、第1図に示したように入
力データ(Xj)の信号経路に第2の遅延ラッチ6を設
けた。これにより、第4図に示したようにSPE−2に
最後の入力データが入る時刻がT [N+2]となり、
同プロセッサの積和出力がSPE−2内のマルチプレク
サ12に転送される時刻がT [N+3]となる。これ
は+ SPE−1からの積和出力S1が同マルチプレク
サ12に入力される時刻T [N+2]よりも1クロツ
ク分遅いため、先程のようなデータS1,2の競合は起
きない。
同様にSPE−i内では、前段までの積和出力(Sk)
(k≦1−1)がマルチプレクサ12を介して次段に転
送されてからi番目のSPEiの累積が完了し、積和結
果Siが同マルチプレクサを介して次段に転送される。
1層ニューラルネット積和出力81.S2・・・・・・
SMは(N+M)Tの遅延の後SPE−M出力端子に呪
われ、これをシグモイド関数ルックアップテーブル16
に通すことにより1層ニューラルネット出力Yl、Y2
・・・・・・YMを得る。
入力データX1が入ってから最初の出力Y1が現われる
までの遅延時間は(N+M)Tである。
ここでNは入力データの数にニューラルネットの入力端
子数)、Mはプロセッサ数にニューロン数)、Tはクロ
ック周期である。
本発明のシストリック・プロセッサを用いたニューラル
ネットでは、公知例(第27.28図)と異なり、入力
データ(Xj)と積和出力データ(Si)が独立データ
線で転送される。これにより公知例のような入出力デー
タの競合が生じず高速の処理が可能である0例えば、N
2Mの場合。
−組のX1〜XNまでの入力終了後連続して次の組の入
力データX1′〜XN’ を入力することが出来る。こ
のようなデータの連続入力は、映像信号のように連続し
た高速信号のリアルタイム処理に不可欠である。
85Mの場合はX1人力後MTだけ待ってから次の組の
データを入力する。しかしこの場合も出力データ(Yi
)は連続しており、高効率でデータ転送を行なっている
また、公知例(第28図)のような初段のプロセッサか
ら最終段のプロセッサに信号を巡回させる必要もないた
め、大規模ニューラルネットを実現する際の両端プロセ
ッサ間の同期も問題にならない。
本発明では1層ニューラルネットの他に多様なニューラ
ルネットに本プロセッサ・エレメントSPEを適応して
いる。以下ではまず第31図に示したような多層ニュー
ラルネットへの展開を説明する。このような多層ニュー
ラルネットは第1層の判定結果を受けて第2層でより高
い階層での判定を行なうなど、先の1層ニューラルネッ
トをより高機能化、高性能化したものである。
第5図は本発明による2層ニューラルネットの回路構成
を示したものである。ここでは第1層ニューラルネット
の出力(Yj)をそのまま第2層の入力DOに回すだけ
出よい。
同図において、Nl、Ml、N2.N2はそれぞれ第1
層ニューラルネットの入力データ数、ニューロン数、第
2層ニューラルネットの入力データ数、ニューロン数で
ある。
第6図はシストリック・アレイをさらに第31図で示し
たような多層ニューラルネットにまで拡張したものであ
る。このような大規模ニューラルネットにおいても、デ
ータ転送は隣接プロセッサ間に限定されているため、負
荷の増大による速度の低下はない、またニューラルネッ
ト層間の配線は1本のみで済み、大幅に低減されている
シグモイド関数ルックアップテーブル16が各層1個で
足りるため、その特性の書き換えも容易である。
また、入出力データが独立した信号線を用いているため
、入出力データが競合することなく連続して入力データ
を入れることが出来る。
第7図は第32図に示した1層の巡回型ニューラルネッ
ト(ホップフィールド型ニューラルネット)にシストリ
ック・アレイを適用したものである。ホップフィールド
型ニューラルネットは判定結果(Y i )を再び同−
ニューラルネットに循環させるものであり、これにより
1判定結果を強調していく、つまり興奮しているニュー
ロン(高い出力値を示すニューロン)はますます強調さ
れ、興奮していないニューロン(低い出力値を示すニュ
ーロン)は他のニューロンからの出力によりますます抑
制される。
シストリック・アレイを用いた構成は容易であり、単に
ルックアップテーブル・メモリ16の出力をマルチプレ
クサ51を介して入力Doに帰還するだけで済む、初期
入力設定には、入力データ52をマルチプレクサ51を
介して入力Doに転送するだけでよい。
第8WIは、第2層のみに巡回型ニューラルネットを持
つハミング型ニューラルネット(第33図)のシストリ
ック・アレイによる構成を示している。
非巡回型第1層ニューラルネット出力23を巡回型第2
層の入力データ・マルチプレクサ51に入力することに
より第33図と等価な機能を実現している。
このようなニューラルネットは第1Mで判定を行なって
から、第2層で強調処理を行なうため、1層のみで面処
理を行なう先のホップフィールド型ニューラルネットに
比較して効率が高い。
第9図は2層ニューラルネットの第1Mを2ブロツクに
分割にして高速化した本発明による分割型ニューラルネ
ットである。実際の応用では、ある結合は強く(重み係
数の絶対値が大きく)、またあるものは結合が弱い、自
然界にはこのような神経系の結合が多く見られる。そこ
で結合の無視できるものを完全に切り離すことにより、
不要な積和演算及びデータ転送を省き処理速度を向上さ
せることが出来る。
第9図では、入力データのうちX1〜XN/2の半分の
ものは第1層の左側ブロックSPELL−1〜SPEL
L−N/2にのみ入力され、残りのデータXN/2+1
〜XNは右側ブロックSPE12−1〜SPE12−N
/2にのみ転送され、この間の結合はない、各ブロック
の出力は順次出力ゲート119,120及びローカル・
データバス121を介して第2層シストリックアレイに
転送される。
その動作タイミングチャートを第10図を用いて説明す
る。第9図の左側のブロックの分の入力データx i 
、x 2 *・・・・・・X  N/2が入力開始され
てから(N/2+N/2)T時間後に同ブロックからの
出力Yl、Y2.・・・・・・Y  N/2が第1のシ
グモイド関数ルックアップテーブル117上に現われ、
第1のゲート119を開けることによりこのデータをロ
ーカル・データ・バスを介して第2層目のシストリック
・アレイに転送する。
つづいて第9図の右側のブロックの分の入力デ−9X 
 N/2+1.X  N/2+2.−=−X  Nが入
力開始されてから(N/2+N/2)T時間後に同ブロ
ックからの出力Y N/2+1. Y N/2+2.・
・・・・・YMが第2のシグモイド関数ルックアップテ
ーブル118上に現われ、第2のゲート1,20を開け
ることによりこのデータをローカル・データ・バスを介
して第2層目のシストリック・アレイに転送する。
ここでは、第1層めのシストリック・アレイがN/2ニ
ユーロン、N/2人カデータに分割されたため、それぞ
れのブロック内での入力から出力までの遅延時間は(N
/2+N/2)Tにまで短縮される。ローカルバスを介
してこのデータがそのまま第2層に転送されるため、全
体でも第1層の遅延が(N/2+M/2)Tにまで半減
される。
以上のように、第1図のシストリック・プロセッサ・エ
レメントSPEを用いることにより、多様なニューラル
ネット・プロセッサを構成することが出来る。
第11図はさらに一般的なニューラルネットを本発明の
シストリック・アレイで構成した例である。ここで各ニ
ューロンの番号Nijとシストリック・プロセッサ・エ
レメントSPEijの番号が対応している。第1,3層
は非巡回型、第2層は巡回型、第4層は分割型のニュー
ラルネットである8 このようにシストリック・アレイで構成した場合、複雑
な多層ニューラルネットも容易に実現できる。
ここではさらに4#めのl1lfiである汎用ニューラ
ルネットを実現するため、第12図に示す回路構成のシ
ストリック・プロセッサ・エレメントを考案した。
第12図は第1図の基本回路に図中ハツチングを入れて
示した回路を追加した。追加された回路の内容は;出力
データを選択するマルチプレクサ113、入力データを
選択するためのマルチプレクサ112.出力データをシ
グモイド関数に通すか否かを選択するためのシグモイド
関数ルックアップテーブル16及びマルチプレクサ10
6.ローカル・プロセッサ間のデータ転送を行なうため
のデータバス107.入力データをバイパスするための
入力データパス110.双方向ゲート10g及びゲート
109である。
第13図の下図は第12図のプロセッサ8個を用いた実
施例であり、8個のシストリック・プロセッサ・エレメ
ントの信号経路をプログラムするだけで例えば第13図
、第14図、第15図上図に示した3タイプのニューラ
ルネットを実現できる。横方向に活性化されている信号
経路は下図シストリック・アレイ中太線で示しである。
第13図の実施例では3層のニューラルネットが実現さ
れており、第1.2.3層目がそれぞれ3個、2個、3
個のニューロンで構成されている。
これを、その第13図の下図の信号経路にシストリック
・アレイをプログラムすることにより実現できる。
SPELL、SPE12及びSPE13が第1層、3ニ
ユーロンのニューラルネットを構l戊しており、SPE
13のルックアップテーブル16を介して出力が第2層
のシストリックアレイSPE21.SPE22に転送さ
れている。以下SPE22のルックアップテーブル16
を通ったデータは第3層のシストリックアレイSPE3
1.32゜33に伝えられる。各1層の構成及び動作は
、第2図の回路に準する。
第14図の実施例では第1層に非巡回型3ニユーロン、
fi2Nに巡回型の3ニユーロン・ニューラルネットを
設けたハミング型ニューラルネットとなっている。ここ
ではSPELL、12.13が第1層のニューラルネッ
トを構成し、SPE13内ルツクアツプテーブル16を
介してSPE13の出力がSPE21に伝えられる。
SPE21の入力マルチプレクサには先の信号と共にS
PE23からローカルバス107を介して帰還される巡
回信号も受け、これらを切り替えることにより先の第8
図と同様の動作を行なう。
第15図の実施例は4ニユーロンからなる第1層のニュ
ーラルネットを二つに分割したものである。上図におい
て入力Xi、X2はNil、N12により構成される第
1層の第1のブロックにのみ入力され、入力X3.X4
はN13.N14により構成された第2のブロックに入
力される。第1層のニューラルネット出力は第2層の各
ニューロンN21.N22に入りここで合成される。
これを実現するため、入力データはローカル入力データ
バス110を介して第1のブロックを処理するSPEL
Lの入力端子、及び第2にブロックを処理するSPE1
3の入力端子に直接入力される。第1のブロックの出力
はSPE12のシグモイド関数ルックアップテーブル1
6及びゲートを介してローカル・データバス107に出
力される、同様に、第2のブロックの出力はSPE14
のシグモイド関数ルックアップテーブル16及びゲート
を介してローカル・データバス107に出力される。
ローカル・データバス107上に合成された第1層の出
力は第2層のプロセッサSPE21に入力され、その出
力はSPE22のシグモイド関数ルックアップテーブル
16及びゲートを介してローカル・データバス107に
出力される。
以下に、以上のアーキテクチャを具体的に実現できる回
路に関しての実施例を示す。
第16図は、第1図の構成を具体的に実現するための並
列乗算器を用いたシストリック・プロセッサ・エレメン
トの実施例である。
本回路は、並列乗算器49.加算器3.アキュムレータ
4.係数メモリ1.アドレスカウンタ36、出力データ
マルチプレクサ12から構成されている。
乗算器49の入力には入力データラッチ37及び係数デ
ータラッチ38を設ける。係数メモリ1のアドレス50
はアドレス・カウンタ36により作成する。
アドレス・カウンタはノンオーバラップ2相クロツクC
LKIIN及びCLKIN2に同期してカウントアツプ
を行ない、リセット信号R5Tinによりリセットされ
る。リセット信号は入力データDinに同期して送られ
、次段プロセッサのリセットのため2クロック分の遅延
をR8T信号遅延ラッチ43.44により付加する。
乗算にかかわるデータバスにはアドレス・カウンタ36
.ラッチ38及びラッチ41の3段遅延がある。従って
、R8T信号が解除されてから最初の乗算結果m i 
1 傘X 1が加算器3の入力端子Cに達するまでには
3クロック分の遅延がある。
これに合わせて、加算器3の入力端子りに初期値0を設
定するためには、RST信号を3段のリセット信号作成
ラッチ39,40.40’により3段遅延させてアキュ
ムレーション・リセット・ゲート42の反転入力端子に
入力し、加算器3の入力端子りをゼロに設定する必要が
ある。
並列乗算器49と加算器3との間には、第1図の基本ア
ーキテクチャでは用いていなかったパイプライン用のラ
ッチ41が挿入されている。これにより1乗算処理のみ
に1マシンサイクル(1クロツタサイクル)かけること
が可能となり1回路の速度に関するマージンを上げるこ
とが出来る。
(第1図の基本アーキテクチャでは乗算処理及び加算処
理を1マシンサイクルで行なう必要があった。) マルチプレクサ12とラッチ7の直列接続の順序は動作
上無関係であるため1本実施例では出力データマルチプ
レクサ12の挿入位置を出力データラッチ7の後に変更
した。
出力データマルチプレクサ12の制御信号ENBLin
もやはり、入力データに同期して転送し、2段のENB
L信号遅延ラッチにより各SPEごとに2クロック分の
遅延を与える。
2相ノンオーバラツプクロツク制御クロツクCLKin
l及びCLKin2はクロックバッファ47により再生
、増幅して次段のSPEに送る。
ただし、SPE内の全回路は入力されるクロックCLK
inl及びCLKin2を用いる。これにより各SPE
内の確実な動作タイミングが保証される。
このようにSPEを経由するに従いクロックのタイミン
グが少しずつ遅延されるため、特に大規模ニューラルネ
ットでは先頭SPEと最後尾のSPEでは、クロック・
タイミングが大きくずれる可能性がある。このことから
公知例(第27゜28図)に見られるような入力データ
巡回線は特別な同期手段を用いないかぎり容易でない、
その点、本発明のプロセッサではデータの巡回が不要で
あるため上記のような心配はいならい。
第17図に、第1図の構成を具体的に実現するための別
の実施例を示す。ここでは、第16図中の並列乗算器4
9のかわりに、シフト回路80゜乗算器アキュムレータ
77及び加算器3を用いて直列乗算を行なっている。こ
れにより回路の削減が出来る。乗算器の演算精度が4ビ
ツトの場合、並列乗算器を用いた実施例(第17図)の
SPEに用いられる論理回路の素子数は約1.450 
 トランジスタであった。このうち並列乗算器の素子数
は550トランジスタである。従って、並列乗算器を取
り除いた本実施例は前者の約273の素子数となる。た
だし、直列乗算を行なうため、速度は174以下となる
。並列乗算器の素子数は演算精度の2乗に比例するため
、演算精度が大きい場合1本実施例による素子数低減効
果は大きい。
以下、第17図を用いて本実施例を説明する。
先の第16図の実施例と異なるのは、直列演算のための
処理シーケンスを記録したプログラム・メモリ78が設
けられたこと及び外部から供給されるクロックCLKI
、CLK2の周期がデータ周期の174である点である
同期信号5YNCinはデータ同期と同周期であり、プ
ログラムメモリの開始タイミングを規定している。
プログラム・メモリからの制御信号はENBLl、EN
BL2.Gl及び5FTIの4種のみであり、Kピット
乗算の場合に+1ステツプのプログラムで事足りるので
プログラム・メモリ容量は小さいもので済む。
加算器のアキュムレータには累積用アキュムレータ4に
加え、直列乗算用アキュムレータ77を新たに設け、そ
れぞれをイネーブル信号ENBL1及びENBL2によ
り使い分けている。
直列乗算ではANDゲート75を用いて部分積(論理積
)をとり、これをマルチプレクサ76を介して加算器3
に入力する。加算器では、この部分積データにアキュー
ムレータ77の内容を1ビツトシフトしたデータを加算
し、これを繰り返すことにより通常の直列乗算を実行す
る。
SPE内ではデータの1重4周期のクロックCKI、C
K2と共にデータと同周期の2相ノンオーバラツプクロ
ツクCLK2IN、CLKIINも用いられる。後者は
5YNCI生成用Dフリツプフロツプ及びクロック生成
用ANDゲート73により生成され、各種信号の遅延ラ
ッチ5,6゜7.43,44,45,46を駆動するた
めに使用される。
直列乗算器を用いた第17図の実施例よりもさらに素子
数を低減する手法として、複数ニューロンを1プロセツ
サ、エレメントMSPEで処理する実施例を第18図に
示す、この複数ニューロン処理シストリック・プロセッ
サ・エレメント(以下MSPEと略す)は1個でP個分
のニューロンを処理する。
MSPEはP1ri!分のニューロンの係数を記憶する
係数メモリ12乗算器2.加算器3、各ニューロンごと
に設けられたP個のアキュムレータ81゜同じくP個の
バッファアレイ及び出力データマルチプレクサ12から
構成されている。
今までの実施例では、入力データをXi、X2・・・・
・・と毎クロックごとに更新し、重み係数m i 、j
もこれに合わせてmil、m12e・・・・・・と更新
することにより、最新の更新データ、係数同士を乗算し
、累積していた。ところが本実施例では、入力データX
jはPクロックの間固定したままで、P個のニューロン
分の重み係数mij  (1≦j≦P)を毎クロックご
とに更新し、P個分の二ニーロンの乗算mij−Xj 
 (1≦j≦P)を実行し、ひきつずきP個分のニュー
ロンの累積を行なうものである。
第19図は上記回路の動作タイミングチャートを示した
ものである。入力データ(Xj)は周期PT(Tはクロ
ック周期)で入力される。これに対し1重み係数mjj
は周期Tで読みだされる。
第19図を用いて以下の処理を詳細に説明する。
時刻T1からT CP+1]までは前段から入力データ
X1が継続して入力される。この間、係数メモリ13か
らは、時刻T1に第1のニューロンの最初の係数m 1
1が読みだされ、これと先の入力データX1が乗算器2
により乗算される。続いて乗算結果m 11 申X 1
と、第1のニューロンのアキュムレータACC1の出力
0とが加算器3により加算され、その加算器出力m 1
1 串X、 1は再びACClに記録される。ここで、
アキュムレータ81は第1図のものと同様2相クロツク
で駆動されるマスタースレーブ型のものとなっているた
め、出力を保持した状態で、クロックCKIにより加算
結果をラッチできる。
以下同様に、入力データはXlのままで1時刻T2に第
2のニューロンの最初の係数m21が読みだされ、これ
と先の入力データx1が乗算@2により乗算される。続
いて乗算結果m21傘X1と、第2のニューロンのアキ
ュムレータACC2の出力0とが加算器3により加算さ
れ、その加算器出力m21*X1は再びACC2に記録
される。
このようにして入力x1をPTの期間だけ保持したまま
、P個分の積和処理を実行する。
時刻T [P+11からは入力データをx2に保持した
まま1重み係数m12(1≦i≦P)を毎クロックごと
更新し、乗算器2により毎タロツクごと乗算結果miZ
傘X2 (1≦i≦P)が得られ”る。
その乗算結果mi2*X2と対応するアキュムレータA
CCi(1≦i≦P)の後段の出力mil串X1が加算
器3により加算されてその結果は再び同アキュムレータ
ACCiの前段に累積される。
以下同様にして、時刻T [(N−1)P+1コからは
最後の入力データXNがPクロックの期間継続して入力
される。これに合わせて同時刻から第1のニューロンの
最後の係数m1N(1≦i≦P)が順次読みだされ、こ
れと先の入力データXNが乗算器2により乗算される。
続いて乗算結果miN申XN (1≦i≦p)と、第1
番目のニューロンのアキュムレータACCi(1≦i≦
P)の出カニj=1 とが加算器3により加算され、その加算器出カニSi=
Σ mij傘Xj j=1 は再び第iニューロンの出力バッファBUFiに記録さ
れる。同バッファは出力マルチプレクサ12を介して1
次段への出力端子QMoutに上記第iニューロンの積
和結果Siを出力する。
1プロセツサ・エレメントMSPHにおいて、データX
iが入力されてから最初の積和出力S1が得られるまで
の遅延時間は: ((N−1)P+1)T である。
入力データDinの遅延には、クロックCKを1/Pに
分周したクロックCKPに従ってPクロック遅延を行な
うランチ88及びクロックGKに従って1段の遅延を行
なうラッチ87を用いる。
従って、クロックCKの周期をT(秒)とした場合(P
+1)T (秒)だけの遅延を受けることになる。
出力データQMinの遅延には通常のクロックCKに従
って1段の遅延を行なうラッチ62を用いる。
Pが十分大きい場合は、シグモイド関数ルックアップテ
ーブル16もプロセッサ・エレメントMSPE回路全体
から見ればそれほど大きな回路ではないためMSPEご
とに設けることも考えられる。(図中破線で示しである
。) 第20図(a)は第1図に示した1ニユーロン/1プロ
セツサ構成のプロセッサを8個接続したニューラルネッ
ト回路である。これを4ニユーロン/1プロセツサ構成
のプロセッサ2個で実現したのが同(b)図である。こ
こでは、第18図のプロセッサをP=4として使用して
いる。つまり1個のプロセッサが4個分のニューロンの
処理を実行する。
以下、第18図のプロセッサの具体的な回路を示す、第
21図は上記回路の1実施例を示したものである。
複数ニューロンを扱う場合、大容量係数メモリが必要と
される1例えば、1ニユーロンの入力データ数N = 
10,000.1プロセツサMSPEの処理ニューロン
数p=iooとして、1系数が8 bit精度を有する
場合、8Mbitものメモリが必要となる。
さらに周期T(数十ns)の基準クロックCKで高速の
係数読み出しを行なう必要がある。
このため、同図で示したような出力シフトレジスタ92
内蔵の高速外部係数メモリ91の使用が望ましい。シフ
トレジスタ92には1ライン分(Pニューロン分)の係
数を並列に転送し、これをシリアルに高速読みだしする
。データは順次アクセスするため、ランダムアクセスは
不要であり。
アドレスカウンタ/デコーダ93により逐次アクセスを
行なう。
加算器3の出力はマルチプレクサ95によりアキュムレ
ータ81とバッファ83に振り分けられる。累積(積和
)中はアキュムレータ81に送られ、最終結果のみバッ
ファ83に送られる。プログラムメモリ78が以上の制
御プログラムを記憶している。
次に、よりプログラマビリティを改善した実施例を第2
2図を用いて説明する。
係数書き換えを容易にするため、各プロセッサ・エレメ
ントの係数メモリ101がホスト・プロセッサ102か
らランダムにアクセス可能とする。
ここでは、外部係数メモリをランダムアクセス可能とす
るため、アドレス・デコーダ105を設けたデュアルポ
ート・メモリ101としている。ホストCPU102か
らのアドレスはホストアドレスバス104を介してアド
レスデコーダ105に伝えられ、データはホストデータ
バス103を介してメモリ101に転送される。これに
より更新の必要な係数または係数ブロックのみをアクセ
スすることができ、ニユーラル・ネットの係数更新が迅
速にできる。
また、各ニューラルネット層ごとに設けられているシグ
モイド関数ルックアップテーブル16またはプロセッサ
内蔵のシグモイド関数ルックアップテーブル124をも
ホスト102からランダム・アクセス可能として、ニュ
ーラルネットの柔軟性を高める。
なお上記手段は第1図の回路にも適応出来る。
最後にフォールト・トレラントなニューラルネット用シ
ストリックアレイに関する実施例を説明する。
欠陥ニューロンの回避機能はシストリック・アレイを用
いたニューラルネットでは特に重要である。第26図や
第31図で示したような、各ニューロン間に配線を持つ
従来のニューラルネットでは、数本の配線が切断されて
も、係数を再構成することによりこれを回避できる。さ
らに学習機能のあるバックプロパゲーション型ニューラ
ルネット等では、係数適応化に際して自動的にこれらの
欠陥結線を回避する。(欠陥を含んだニューラルネット
として適応化処理を行なう、) ところで、本発明のシストリック・アレイを用いると、
すべての情報が、入力データ線及び出力データ線の2本
の配線のみで伝達され、しかもそれらの信号は各層のす
べてのシストリック・プロセッサ・エレメントを通過し
なければならない。
このため、1本の配線の欠陥、1個のプロセッサ・エレ
メントの欠陥でも全ニューラルネットの機能を停止させ
る危険性がある。これを回避するためには、欠陥救済は
不可決の要素である。
第23.24図はこの欠陥救済方式を示しており、第2
3図は故障(欠陥)検出方式、第24図は検出した欠陥
プロセッサを回避する(バイパス)する方式を示す。
第23図では、テスト・データ発生回路127により、
各プロセッサの重み係数メモリ1に所定のデータを設定
すると共に、ローカル入力データバス110を介して所
定のテスト・データをアレイの左端から入力していく。
今、被テスト・プロセッサが左から3番目のSPE3で
ある場合、テスト・データはローカル入力データバス1
10を介して該プロセッサの手前のプロセッサSPEI
、SPE2をバイパスする。
被テスト・プロセッサSPE3では、入力データはプロ
セッサ内処理回路により処理され、処理結果はゲートを
経由してローカル・データバス107に出力される。
どのプロセッサのどのデータをローカル・データバス1
07に出力するかは、テストアドレスバス125を経由
して入力されるアドレスを各プロセッサ内のアドレスデ
コーダ126でデコードすることにより行なわれる。上
記試験結果は比較器129に入力され、期待値メモリ1
28からのデータと比較され、その比較結果131は判
定回路130に渡され、欠陥の分析がなされる。これに
より回避すべきプロセッサが検出される。
第24図は検出された欠陥プロセッサを回避する方法を
示している。ここでは3番目のプロセッサSPE3を回
避することを想定している0回避するプロセッサのアド
レスがテストアドレスバス125を介して転送されると
、SPE3のアドレスデコーダ126がその回避命令を
ラッチし、信号処理を行なうことなく信号をバイパスす
る。
その際、前段よりの出力データ10に対しては1段の出
力データ・ラッチが入るが、前段からの入力データ8に
対しては2段のラッチが入っているため(第1,131
idのラッチ5.6)、バイパスされる入力データ8が
出力データ10に比較して1段余計に遅延を受けること
になる。これを防ぐため、本実施例ではラッチ5,6の
一方をスルー・ラッチ132として、入力データ8に対
しても遅延を1段のみにそろえている。
このようにして、すべてのデータがプロセッサSPE3
を回避する。バイパス制御回路127が複数のバイパス
プロセッサに対して回避命令を発行できることはもちろ
んである。
【発明の効果〕
(1)本発明では、複雑なニューラルネットの接続を、
シストリック・アレイ・プロセッサを用いることにより
隣接プロセッサ間の接続でのみ実現することが出来る。
これにより、各ニューロンの負荷は隣接ニューロン・プ
ロセッサ1個のみとなり、大規模ニューラルネットに対
しても、負荷容址を抑え、高速処理が可能となった。
さらに、公知例(2)と異なり、入力データと出力デー
タに対して独立の信号線を設けることにより、これらの
信号の競合を抑え、ビデオ(1号を連続して処理できる
などの高速処理が可能になると共に、入力データ数Nと
二ニーロン数Mの大小の制約を受けない汎用のニューラ
ルネットが構成できる。
(2)本発明では各入力データ(Xj)(1≦j≦N)
に対して初段プロセッサから順次積和処理を開始するた
め、公知例(2)にあるような初段プロセッサから最終
段プロセッサへのデータの巡回が不要となり、これら両
端プロセッサの同期をとることなく大規模のニューラル
ネットを構成することが出来る。
(3)本発明では、各ニューラルネット層に1個のシグ
モイド関数ルックアップテーブルがあるのみなので、こ
れらの変換テーブルのプログラミングが容易である。
(4)本発明において、各プロセッサ・エレメントにシ
グモイド関数ルックアップテーブル及びそのバイパス回
路、ローカルデータバス及びローカル入力データバスを
追加することにより、同一ハードウェア上で、プログラ
ムにより各穐ニューラルネットに対応可能な汎用シスト
リック・アレイを構成することが出来る。
(5)本発明においては、1組の乗算器、加算器を用い
て複数ニューロンの処理を行なえるため。
要求処理速度及びニューラルネットの規模に合わせて最
適なプロセッサ構成をとることが出来る。
(6)各プロセッサ・エレメントにテストアドレスバス
及びアドレスデコーダを追加することによす、故障検出
を可能とする。また、さらにバイパス用に入力データ遅
延ラッチをスルーとすることにより、入力データと出力
データの遅延をそろえ、故障プロセッサの回避を行なう
ことが出来た。
【図面の簡単な説明】
第1図は本発明によるシストリック・プロセッサ・エレ
メント基本回路構成、第2図は本発明によるシストリッ
ク・アレイを用いた1層ニューラルネット、第3図は本
発明によるシストリック・プロセッサ・エレメント基本
面路の動作タイミングチャート、第4図は本発明による
シストリック・アレイを用いた1層ニューラルネットの
動作タイミングチャート、第5図は本発明によるシスト
リック・アレイを用いた2層ニューラルネット、第6図
は本発明によるシストリック・アレイを用いた多層ニュ
ーラルネット、第7図は本発明によるシストリック・ア
レイを用いた巡回型1層ニューラルネット、第8図は本
発明によるシストリック・アレイを用いたハミング型2
層ニューラルネット、第9図は本発明によるシストリッ
ク・アレイを用いた分割型ニューラルネット、第10図
は本発明によるシストリック・アレイを用いた分割型ニ
ューラルネットの動作タイミングチャート。 第11図は本発明によるシストリック・アレイを用いた
一般化多層ニューラルネット、第12図は本発明による
ニューラルネット構成変更を可能とするシストリック・
プロセッサ・エレメント、第13図は本発明によるニュ
ーラルネットの構成変更1(3層ニューラルネット)、
第14図は本発明によるニューラルネットの構成変更2
(ハミング型ニューラルネット)、第15図は本発明に
よるニューラルネットの構成変更3(分割型ニューラル
ネット)、第16図は並列演算器を使用した本発明によ
るシストリック・プロセッサ・エレメントの回路構成、
第17図は直列演算器を使用した本発明によるシストリ
ック・プロセッサ・エレメントの回路構成、第18図は
複数ニューロンを処理する本発明によるシストリック・
プロセッサ・エレメント、第19図は複数ニューロンを
処理する本発明によるシストリック・プロセッサ・エレ
メントの動作タイミング・チャート、第20図は複数ニ
ューロンを処理する本発明によるシストリック・プロセ
ッサ・エレメントを用した1層ニューラルネット、第2
1図は複数ニューロンを処理する本発明によるシストリ
ック・プロセッサ・エレメントの回路の実施例、第22
図は係数メモリ、シグモイド関数ルックアップテーブル
のプログラミングを容易とする本発明によるシストリッ
ク・プロセッサ・エレメントの回路の実施例、第23図
は本発明によるシストリック・プロセッサ・アレイの故
障検出を行うための回路図、第24図は本発明による故
障したシストリック・プロセッサ・エレメントのバイパ
ス回路動作を行うための回路図をそれぞれ示し、第25
図は公知のニューロンの基本機能を示す回路図、第26
図は公知の1層ニューラルネット、第27図は公知例(
2)のシストリック・プロセッサ・エレメント、第28
図は公知例(2)のシストリック・プロセッサ・エレメ
ントを用いた1層ニューラルネット、第29図は公知例
(2)のシストリック・プロセッサ・エレメントを用い
た1層ニューラルネットの動作タイミングチャート1.
第30図は公知例(2)のシストリック・プロセッサ・
エレメントを用いた1層ニューラルネットの動作タイミ
ングチャート2.第31図は公知の多層ニューラルネッ
ト、第32図は公知の巡回型1層ニューラルネット(ホ
ップフィールド型ニューラルネット)、第33図は公知
の巡回型2層ニューラルネット(ハミング型ニューラル
ネット)を示す。 1・・・係数メモリ、2・・・乗算器、3・・・加算器
、4・・・アキュムレータ、5・・・入力データ・ラッ
チ1.6・・・人力データ・ラッチ2,7・・・主力デ
ータラッチ、8・・・前段よりの入力データ、9・・・
次段への入力データ、10・・・前段よりの出力データ
、11・・・次段への出力データ、12・・・出力デー
タ・マルチプレクサ、13・・・係数、14・・・ニュ
ーロン積和出力。 15・・・シストリック・プロセッサ・エレメント。 16・・・シグモイド関数、17・・・1層ニューラル
ネット入力、18・・・1層ニューラルネット出力、1
9・・・ゼロ入力、20・・・1層ニューラルネット積
和出力、21・・・第2Mシストリック・プロセッサ・
エレメント、22・・・第1層シストリック・プロセッ
サ・エレメント、23・・・第1層ニューラルネット出
力、24・・・第1層ニューラルネット入力。 25・・・第2層ニューラルネット出力、26・・・ニ
ューラルネット出力、27・・・ニューラルネット入力
、28・・・第2層ニューラルネット入力、29・・・
第2層ニューラルネット出力、30・・・第1層ニュー
ラルネット入力、31・・・第1層ニューラルネット出
力、32・・・第2層シストリック・プロセッサ・エレ
メント、33・・・第2層シストリック・プロセッサ・
エレメント、34・・・第p層シグモイド関数ルクアッ
プテーブル、35・・・第P層シグモイド関数ルクアツ
プテーブル、36・・・アドレスカウンタ、37・・・
入力データラッチ、38・・・係数ラッチ。 39・・・リセット信号作成用遅延ラッチ、40・・・
リセット信号作成用遅延ラッチ、41・・・積和パイプ
ライン演算用ラッチ、42・・・アキュムレーション・
リセット・ゲート、43・・・R8T信号遅延ラツチ、
44・・・R8T信号遅延ラッチ、45・・・ENBL
信号遅延ラッチ、46・・・ENBL信号遅延ラッチ、
47・・・クロック・バッファ、48・・・並列演算器
使用シストリック・プロセッサ、49・・・並列乗算器
。 50・・・アドレス、51・・・入力データ・マルチプ
レクサ、52・・・入力データ、58・・・出力データ
、54・・・ニューロン入力、55・・・ニューロン出
力。 56・・・演算増幅器、57・・・容量、58・・・コ
ンダクタンス、59・・・共通入力線、60・・・演算
増幅器入力線、61・・・データラッチ、62・・・積
和データ遅延ラッチ、63・・・入力データ、64・・
・出力ゲート制御信号、65・・・出力ゲート、66・
・・直並列ニューロン・プロセッサ、67・・・積和出
力バス、68・・・入力データバス、69・・・バッフ
ァ出力、70・・・バッファ、71・・・係数レジスタ
、72・・・積和出力、73・・・クロック生成用AN
Dゲート、74・・・5YNCI生成用Dフリツププロ
ツプ、75・・・部分積生成用ANDゲート、76・・
・加算器A入力マルチプレクサ、77・・・乗算用アキ
ュムレータ、78・・・プログラム・メモリ、79・・
・直列演算器使用シストリック・プロセッサ、80・・
・シフト回路、81・・・アキュムレータ・アレイ、8
2・・・アキュムレーション・バス、83・・・バッフ
ァ・アレイ、84・・・出力データ・ローカルバス、8
5・・・複数ニューロン処理直並列プロセッサ、86・
・・複数ニューロン処理シストリック・プロセッサ・エ
レメント、87・・・データ遅延ラッチ、88・・・]
、/Pクロック使用データ遅延ラッチ、89・・・前段
よりの出力データ、90・・・次段への出力データ、−
91・・・外部係数メモリ、92・・・高速係数読みだ
し用シフトレジスタ、93・・・1ラインにニーロン2
個)係数アクセス用アドレス・カウンタ/デコーダ、9
4・・・外部メモリ制御信号、95・・・加算機器出力
マルチプレクサ、96・・・メモリ・カウンタ/デコー
ダ、97・・・係数ラッチ、98・・・乗算結果ラッチ
、99・・・アキュムレータ・ラッチ、100・・・ア
ドレス・カウンタ/デコーダ、101・・・デュアルポ
ート外部係数メモリ、102・・・ホストCPU、10
3・・・ホスト・データバス、104・・・ホスト・ア
ドレスバス、105・・・アドレス・デコーダ、106
・・・シグモイド関数ルックアップテーブル・バイパス
用マルチプレクサ、107・・・ローカル・データバス
、108・・・双方向ゲート、109・・・ゲート、1
10・・・ローカル・入力データバス、111・・・可
変構造シストリック・プロセッサ・エレメント。 112・・・入力データマルチプレクサ、113・・・
出力データマルチプレクサ、114・・・積和回路、1
15・・・第1層ブロック1シストリツク・プロセッサ
・エレメント、116・・・第1ブロツク2シストリツ
ク・プロセッサ・エレメント、117・・・ブロックト
ルックアップ・テーブル、118・・・ブロック2・ル
ックアップ・テーブル、119・・・ブロック1出力ゲ
ート、120・・・ブロック2出力ゲート、121・・
・ローカル・データバス、122・・・複数ニューロン
処理積和回路、123・・・複数ニューロン係数メモリ
、124・・・内蔵シグモイド関数ルックアップ・テー
ブル、125・・・テスト・アドレスバス、126テス
ト・アドレス・デコーダ。 127・・・テスト・データ発生/バイパス制御回路、
128・・・期待値メモリ、129・・・比較器、13
0・・・判定回路、131・・・比較器出力、132・
・・スルーラッチ、133・・・係数シフトレジスタ、
134・・・入出力切換マルチプレクサ、135・・・
非線型関数発生機構、13B・・・シストリック・プロ
セッサ・エレメント、137・・・入力データ切換マル
チプ第16図 第21図 DM@ut 25、ニューロン 54.ニューロン入力 55、ニューロン出力 第25図 xj:入力 mij :lX敗 N:入力端子数 f (x) :非線形関数(シグモイド関数等)第27
1!1 PE i >  X

Claims (15)

    【特許請求の範囲】
  1. 1.N個の入力信号Xj(j=1〜N)のそれぞれに係
    数mijを乗じて加算し、その積和値:N Si:Σmij*Xj j:1 を生成するN個のニユーロン回路からなる1層のニユー
    ラル・ネットにおいて、  1層のニユーラルネットに入力される入力信号Xj(
    j=1〜N)をシリアル入力データとし、入力データ遅
    延用の2段ラッチ,積和出力データ遅延用の1段ラッチ
    ,係数メモリ,積和のための乗算および,加算手段,ア
    キユムレータ,前段からの積和出力Sk(k=1〜i−
    1)と上記回路により計算される積和結果Siの選択を
    行なうためのマルチプレクサから構成される複数のシス
    トリック・プロセッサ・エレメントSPE−i(i:1
    〜M)で積和を順次実行し、1層分のシリアル積和出力
    Si(i:1〜M)を得ることを特徴とするニユーラル
    ・ネット信号処理プロセッサ。
  2. 2.請求項1記載の1層ニユーラル・ネット用プロセッ
    サのシリアル出力に第1層と同様に構成されたM2個の
    プロセッサ・エレメントで構成された第2の1層ニユー
    ラル・ネット用プロセッサの入力を応答せしめ、2層目
    のプロセッサ・アレイからの積和出力を得ることを特徴
    とする2層ニユーラル・ネット信号処理プロセッサ。
  3. 3.請求項1記載の1層ニユーラル・ネット用プロセッ
    サ・アレイのシリアルに第2層の同様なM2のプロセッ
    サ・エレメントで構成された1層ニユーラル・ネット用
    プロセッサ・アレイの入力を応答せしめ、2層目のプロ
    セッサ・アレイからの積和出力に第3層のプロセッサ・
    アレイの入力を応答せしめ、以下同様にして第p−1層
    ニユーラルネット用プロセッサ・アレイのシリアル出力
    に第p層ニユーラルネット用プロセッサ・アレイの入力
    を応答せしめ、最終的に第P層からの積和出力を得るこ
    とを特徴とする多層ニユーラル・ネット信号処理プロセ
    ッサ。
  4. 4.請求項1記載の1層ニユーラル・ネット用プロセッ
    サ・アレイに.該プロセッサ・アレイのシリアルに再び
    該プロセッサ・アレイの入力に応答するか、新規の入力
    を外部から該プロセッサ・アレイに入力するかを選択す
    る入力データ・マルチプレクサを設けたことを特徴とす
    る巡回型ニユーラル・ネット信号処理プロセッサ。
  5. 5.請求項1記載の1層ニユーラルネット用プロセッサ
    ・アレイの出力Yj(j:1〜M)を請求項4記載の巡
    回型ニユーラルネット用プロセッサ・アレイに入力し、
    ここから出力を得ることを特徴とするハミング型ニユー
    ラル・ネット信号処理プロセッサ。
  6. 6.請求項1記載の1層ニユーラルネット用プロセッサ
    ・アレイを2個以上のブロックに分割し、それぞれのブ
    ロックからの出力をトライステート・ゲート手段を介し
    てローカルデータバスに順次出力し、これを次の層のニ
    ユーラルネット用プロセッサ・アレイに転送することを
    特徴とする分割ニユーラルネット信号処理プロセッサ。
  7. 7.請求項3記載の多層ニユーラルネット用プロセッサ
    の任意の層を請求項4記載の巡回型ニユーラルネット用
    プロセッサ・アレイ、または請求項6記載の分割ニユー
    ラル・ネット用プロセッサ・アレイで置き換えたことを
    特徴とするニユーラル・ネット信号処理プロセッサ。
  8. 8.請求項1記載のニユーラルネット信号処理プロセッ
    サに使用される各プロセッサ・エレメントに非線形関数
    ルックアップ・テーブル及び該非線形関数ルックアップ
    ・テーブルをバイパスする一組のマルチプレクサ,デー
    タをバイパスするためのローカルデータバス,入力デー
    タをバイパスするためのローカル入力データバス,積和
    出力を上記ローカルデータバスに出力するためのゲート
    ,ローカルデータバスまたはローカル入力データバスか
    ら入力データを得るためのゲート,前段からのデータも
    しくはバイパスや帰還されたデータを選択するためのマ
    ルチプレクサ,前段からの積和出力または所定の入力を
    選択するためのマルチプレクサを付加したことを特徴と
    するニユーラルネット信号処理プロセッサ。
  9. 9.請求項1から請求項8までのいずれかに記載のシス
    トリックプロセッサ・エレメントに並列加算器,並列乗
    算器を使用したことを特徴とするニユーラルネット信号
    処理プロセッサ。
  10. 10.請求項1から請求項8までのいずれかに記載のシ
    ストリックプロセッサ・エレメントに並列加算器及びこ
    れを用いた直列乗算器を使用したことを特徴とするニユ
    ーラルネット信号処理プロセッサ。
  11. 11.請求項1から請求項8までのいずれかに記載のシ
    ストリックプロセッサ・エレメントにおいて、ニユーロ
    ンP個分の係数mij(i:1〜P,j=1〜N)、1
    個の入力保持用レジスタ、P個のアキユムレータ、p個
    のバッフアメモリ、P段のシフトレジスタを付加し、P
    個のニユーロンの処理を実行することを特徴とするニユ
    ーラルネット信号処理プロセッサ。
  12. 12.請求項1及び請求項11記載までのいずれかに係
    数メモリにおいて、シフトレジスタを介して高速に係数
    mijをメモリから読みだすことを特徴とするニユーラ
    ル・ネット信号処理プロセッサ。
  13. 13.請求項12記載の係数メモリにおいて、読みだし
    と独立したポートを介してホスト・プロセッサより係数
    を書き換えることを特徴とするニユーラル・ネット信号
    処理プロセッサ。
  14. 14.請求項1から請求項13までのいずれかに記載の
    シストリックプロセッサ・エレメントにおいて、ホスト
    ・プロセッサの非線形関数ルックアップ・テーブル・メ
    モリの内容がホスト・プロセッサにより書き換え可能な
    シストリック・プロセッサ・エレメントを用いたニユー
    ラル・ネット信号処理プロセッサ。
  15. 15.請求項1から請求項14までのいずれかに記載の
    シストリック・プロセッサ・エレメントに出力データ用
    ゲート,バイパス用遅延ラッチ,テストアドレスバス,
    テストデータバス,アドレスデコーダを付加し、シスト
    リック・アレイ外部には、テストデータ発生/バイパス
    制御回路,比較器,期待値メモリ・判定回路を付加する
    ことにより、故障検出及び故障プロセッサのバイパスを
    可能としたニユーラル・ネット信号処理プロセッサ。
JP63323302A 1988-12-23 1988-12-23 ニユーラルネツト信号処理プロセツサ Expired - Lifetime JP2703010B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63323302A JP2703010B2 (ja) 1988-12-23 1988-12-23 ニユーラルネツト信号処理プロセツサ
US07/455,141 US5091864A (en) 1988-12-23 1989-12-21 Systolic processor elements for a neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63323302A JP2703010B2 (ja) 1988-12-23 1988-12-23 ニユーラルネツト信号処理プロセツサ

Publications (2)

Publication Number Publication Date
JPH02170263A true JPH02170263A (ja) 1990-07-02
JP2703010B2 JP2703010B2 (ja) 1998-01-26

Family

ID=18153265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63323302A Expired - Lifetime JP2703010B2 (ja) 1988-12-23 1988-12-23 ニユーラルネツト信号処理プロセツサ

Country Status (2)

Country Link
US (1) US5091864A (ja)
JP (1) JP2703010B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598509A (en) * 1992-08-28 1997-01-28 Hitachi, Ltd. Method of configuring a neural network and a diagnosis/recognition system using the same
US5627941A (en) * 1992-08-28 1997-05-06 Hitachi, Ltd. Method of configuring a neural network and a diagnosis/control system using the neural network
JP2021519455A (ja) * 2018-03-30 2021-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 大規模並列ニューラル推論コンピューティングのためのシステムおよび方法
CN113705773A (zh) * 2021-07-27 2021-11-26 西安交通大学 用于图神经网络推理的动态可重构pe单元及pe阵列
JP2023169224A (ja) * 2015-05-21 2023-11-29 グーグル エルエルシー ニューラルネットワークプロセッサにおけるベクトル計算ユニット

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588091A (en) * 1989-05-17 1996-12-24 Environmental Research Institute Of Michigan Dynamically stable associative learning neural network system
US5185851A (en) * 1989-07-12 1993-02-09 Ricoh Company, Ltd. Neuron unit and neuron unit network
US5191637A (en) * 1989-07-12 1993-03-02 Ricoh Company, Ltd. Neuron unit and neuron unit network
US5481646A (en) * 1989-07-12 1996-01-02 Ricoh Company, Ltd. Neuron unit and neuron unit network
US5337395A (en) * 1991-04-08 1994-08-09 International Business Machines Corporation SPIN: a sequential pipeline neurocomputer
EP0461902B1 (en) * 1990-06-14 1998-12-23 Canon Kabushiki Kaisha Neural network
US5216751A (en) * 1990-10-22 1993-06-01 Motorola, Inc. Digital processing element in an artificial neural network
US5208900A (en) * 1990-10-22 1993-05-04 Motorola, Inc. Digital neural network computation ring
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5402519A (en) * 1990-11-26 1995-03-28 Hitachi, Ltd. Neural network system adapted for non-linear processing
US5214747A (en) * 1990-12-24 1993-05-25 Eastman Kodak Company Segmented neural network with daisy chain control
EP0591279A1 (en) * 1991-06-21 1994-04-13 University College London Devices for use in neural processing
US5450339A (en) * 1991-10-10 1995-09-12 Harris Corp Noncanonic fully systolic LMS adaptive architecture
US5519811A (en) * 1991-10-17 1996-05-21 Kawasaki Steel Corporation Neural network, processor, and pattern recognition apparatus
WO1993010500A1 (en) * 1991-11-13 1993-05-27 Iowa State University Research Foundation, Inc. Improved memory capacity neural network
US5278945A (en) * 1992-01-10 1994-01-11 American Neuralogical, Inc. Neural processor apparatus
US5627943A (en) * 1993-02-17 1997-05-06 Kawasaki Steel Corporation Neural network processor including systolic array of two-dimensional layers
JPH076146A (ja) * 1993-06-18 1995-01-10 Fujitsu Ltd 並列データ処理システム
US5473731A (en) * 1993-07-20 1995-12-05 Intel Corporation Lattice based dynamic programming classification system
US5542054A (en) * 1993-12-22 1996-07-30 Batten, Jr.; George W. Artificial neurons using delta-sigma modulation
US5659780A (en) * 1994-02-24 1997-08-19 Wu; Chen-Mie Pipelined SIMD-systolic array processor and methods thereof
EP0694852B1 (en) * 1994-07-28 2002-06-26 International Business Machines Corporation Innovative neuron circuit architectures
US5583771A (en) * 1994-08-04 1996-12-10 Delco Electronics Corp. Method and apparatus for distinguishing between deployment events and non-deployment events in an SIR system
US5799134A (en) * 1995-03-13 1998-08-25 Industrial Technology Research Institute One dimensional systolic array architecture for neural network
US5912828A (en) * 1995-12-28 1999-06-15 Lucent Technologies Inc. Equalizer filter configuration for processing real-valued and complex-valued signal samples
US5640336A (en) * 1996-01-02 1997-06-17 Motorola Computational array and method for calculating multiple terms of a polynomial in a single computing element
US6601049B1 (en) * 1996-05-02 2003-07-29 David L. Cooper Self-adjusting multi-layer neural network architectures and methods therefor
US6009418A (en) * 1996-05-02 1999-12-28 Cooper; David L. Method and apparatus for neural networking using semantic attractor architecture
JP3422686B2 (ja) 1998-06-12 2003-06-30 三菱電機株式会社 データ復号装置及びデータ復号方法
US6523018B1 (en) * 1998-12-29 2003-02-18 International Business Machines Corporation Neural chip architecture and neural networks incorporated therein
US6502083B1 (en) * 1998-12-29 2002-12-31 International Business Machines Corporation Neuron architecture having a dual structure and neural networks incorporating the same
US6370265B1 (en) * 1999-11-24 2002-04-09 Direct Radiography Corp. Method for generating gray scale transfer functions for use in displaying a digital radiogram
FI20002853L (fi) * 2000-12-22 2002-06-23 Nokia Corp Keinotekoisen assosiatiivisen neuronin synapsi
MY138544A (en) * 2003-06-26 2009-06-30 Neuramatix Sdn Bhd Neural networks with learning and expression capability
JP5911165B2 (ja) * 2011-08-05 2016-04-27 株式会社メガチップス 画像認識装置
US20160328645A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Reduced computational complexity for fixed point neural network
US11244225B2 (en) 2015-07-10 2022-02-08 Samsung Electronics Co., Ltd. Neural network processor configurable using macro instructions
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US12430543B2 (en) 2017-04-04 2025-09-30 Hailo Technologies Ltd. Structured sparsity guided training in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN108564169B (zh) * 2017-04-11 2020-07-14 上海兆芯集成电路有限公司 硬件处理单元、神经网络单元和计算机可用介质
US10795836B2 (en) 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
CN109583577B (zh) * 2017-09-29 2021-04-23 上海寒武纪信息科技有限公司 运算装置及方法
KR102610842B1 (ko) 2017-12-01 2023-12-07 한국전자통신연구원 뉴럴 네트워크에서의 프로세싱 엘리먼트 및 그 동작 방법
US11769042B2 (en) 2018-02-08 2023-09-26 Western Digital Technologies, Inc. Reconfigurable systolic neural network engine
US11164072B2 (en) 2018-02-08 2021-11-02 Western Digital Technologies, Inc. Convolution engines for systolic neural network processor
US11308395B2 (en) 2018-04-27 2022-04-19 Alibaba Group Holding Limited Method and system for performing machine learning
US11966835B2 (en) 2018-06-05 2024-04-23 Nvidia Corp. Deep neural network accelerator with fine-grained parallelism discovery
CN109344964B (zh) * 2018-08-08 2020-12-29 东南大学 一种适用于神经网络的乘加计算方法和计算电路
CN110825311B (zh) * 2018-08-10 2023-04-18 昆仑芯(北京)科技有限公司 用于存储数据的方法和装置
US11769040B2 (en) 2018-09-10 2023-09-26 Nvidia Corp. Scalable multi-die deep learning system
US12079592B2 (en) 2018-11-20 2024-09-03 Samsung Electronics Co., Ltd. Deep neural network accelerator including lookup table based bit-serial processing elements
EP3671748A1 (en) * 2018-12-21 2020-06-24 IMEC vzw In-memory computing for machine learning
CN109933371A (zh) * 2019-02-01 2019-06-25 京微齐力(北京)科技有限公司 其单元可访问本地存储器的人工智能模块和系统芯片
US11270197B2 (en) 2019-03-12 2022-03-08 Nvidia Corp. Efficient neural network accelerator dataflows
US10929058B2 (en) 2019-03-25 2021-02-23 Western Digital Technologies, Inc. Enhanced memory device architecture for machine learning
US11783176B2 (en) 2019-03-25 2023-10-10 Western Digital Technologies, Inc. Enhanced storage device memory architecture for machine learning
CN110728366A (zh) * 2019-10-23 2020-01-24 马卫东 基于加减计数器的人工神经网络
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US12248367B2 (en) 2020-09-29 2025-03-11 Hailo Technologies Ltd. Software defined redundant allocation safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
CN115204355A (zh) * 2021-04-14 2022-10-18 蒂普爱可斯有限公司 能够重新使用数据的神经处理单元及其方法
US12141095B2 (en) * 2022-09-30 2024-11-12 Nanjing Semidrive Technology Ltd. Systolic array, systolic array system, computation method, device, and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4953099A (en) * 1988-06-07 1990-08-28 Massachusetts Institute Of Technology Information discrimination cell
US4967369A (en) * 1988-06-07 1990-10-30 Jourjine Alexander N Variable capacity transmission medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598509A (en) * 1992-08-28 1997-01-28 Hitachi, Ltd. Method of configuring a neural network and a diagnosis/recognition system using the same
US5627941A (en) * 1992-08-28 1997-05-06 Hitachi, Ltd. Method of configuring a neural network and a diagnosis/control system using the neural network
JP2023169224A (ja) * 2015-05-21 2023-11-29 グーグル エルエルシー ニューラルネットワークプロセッサにおけるベクトル計算ユニット
US12277499B2 (en) 2015-05-21 2025-04-15 Google Llc Vector computation unit in a neural network processor
JP2021519455A (ja) * 2018-03-30 2021-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 大規模並列ニューラル推論コンピューティングのためのシステムおよび方法
CN113705773A (zh) * 2021-07-27 2021-11-26 西安交通大学 用于图神经网络推理的动态可重构pe单元及pe阵列
CN113705773B (zh) * 2021-07-27 2023-09-19 西安交通大学 用于图神经网络推理的动态可重构pe单元及pe阵列

Also Published As

Publication number Publication date
US5091864A (en) 1992-02-25
JP2703010B2 (ja) 1998-01-26

Similar Documents

Publication Publication Date Title
JPH02170263A (ja) ニユーラルネツト信号処理プロセツサ
EP3669303B1 (en) Systolic neural network engine capable of backpropagation
US5812993A (en) Digital hardware architecture for realizing neural network
US5138695A (en) Systolic array image processing system
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
US20090204788A1 (en) Programmable pipeline array
EP0370543B1 (en) Digital neural network
CN112639839A (zh) 神经网络的运算装置及其控制方法
JPH0425586B2 (ja)
JP2994390B2 (ja) データ処理回路のための転置メモリ
CN118414602A (zh) 利用广播数据的乘法-累加
EP4193358A1 (fr) Module memoire reconfigurable adapte a mettre en oeuvre des operations de calcul
JPH06502265A (ja) 信号処理におけるマトリクス演算の計算回路装置
JPS63167967A (ja) ディジタル信号処理集積回路
EP1733300B1 (en) Improvements relating to orthogonal data memory
JPH04503720A (ja) デジタル信号処理装置のフレキシブル制御装置及び方法
US5790439A (en) Reduced test time finite impulse response digital filter
JPS6238975A (ja) 自己相関装置
JPS6386630A (ja) 並列伝送路におけるフレ−ム同期方式
JPH0281258A (ja) 並列計算機
JP3319755B2 (ja) ブックキーピングメモリ
RU2848159C1 (ru) Устройство для умножения бинарных матриц
JPS61256478A (ja) 並列処理計算機
JPH03105584A (ja) 並列データ処理方式
JP2001160736A (ja) デジタルフィルタ回路