JP2575565B2 - Spin:順次パイプライン式ニューロコンピュータ - Google Patents

Spin:順次パイプライン式ニューロコンピュータ

Info

Publication number
JP2575565B2
JP2575565B2 JP3510394A JP51039491A JP2575565B2 JP 2575565 B2 JP2575565 B2 JP 2575565B2 JP 3510394 A JP3510394 A JP 3510394A JP 51039491 A JP51039491 A JP 51039491A JP 2575565 B2 JP2575565 B2 JP 2575565B2
Authority
JP
Japan
Prior art keywords
neuron
spin
value
values
weight
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.)
Expired - Fee Related
Application number
JP3510394A
Other languages
English (en)
Other versions
JPH04507025A (ja
Inventor
ヴァシリデイス、スタマテイス
ピチャネック、ジェラルド、ジョージ
デルガドーフライアズ、ホセ、グアダルーペ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04507025A publication Critical patent/JPH04507025A/ja
Application granted granted Critical
Publication of JP2575565B2 publication Critical patent/JP2575565B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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

Landscapes

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

Description

【発明の詳細な説明】 [技術分野] 本発明はニューロコンピュータ・アーキテクチャに関
し、さらに具体的には順次パイプライン式ニューロコン
ピュータに関するものである。
[関連出願] 本特許出願は、その優先権が本明細書で主張されてい
る以下の米国特許出願に関連する。
1990年5月22日出願の“Apparatus and Method for N
eural Processing"と題するS.ヴァッシリアディス(Vas
siliadis)及びG.G.ペチャネク(Pechanek)の米国特許
出願第07/526866号(以下ではSNAPと呼ぶ)。
本願と同時に出願された“A Triangular Scalable Ne
ural Array Processor"と題するG.G.ペチャネク及びS.
ヴァッシリアディスの米国特許出願第07/682786号(以
下ではT−SNAPと呼ぶ)。
これらの同時係属出願及び本出願は同じ譲受人、すな
わち米国ニューヨーク州アーモンクのインターナショナ
ル・ビジネス・マシーンズ・コーポレーションによって
所有されている。
これらの同時係属出願に記載されている記述を、この
引用によって本明細書に合体する。
[背景技術] 「発明の詳細な説明」の項に記載された考察に関連す
ると考えられるいくつかの参考文献があるが、それらの
引用は、以下の各参考文献後に示した形で行なう。この
ような参考文献には次のものがある。
D.E.ルーメルハート(Rumelhart)、J.L.マックレラ
ンド(McClelland)及びPDPリサーチ・グループの著書 “Parallel Distributed Processing,Vol.1:Foundation
s"、米国マサチューセッツ州ケンブリッジ、MIT Press,
1986年刊(以下では“Rumelhart86"と呼ぶ)。
J.Jホップフィールド(Hopfield)の論文“Neurous W
ith Graded Response Have Collective Computational
Properties Like Those of Two-State Neurons",Proces
sings of the National Academy of Sciences,pp.3088,
3092,1984年5月。(以下では“Hopfield 84"と呼
ぶ)。
S.Y.クン(Kung)及びJ.N.ホワン(Hwang)の論文“A
Unified Systolic Architecture for Artificial Neur
al Networks,Journal of Parallel and Distributed Co
mputing 6,pp.358-387,1989年(以下では“Kung 89"と
呼ぶ)。
P.トレリーヴァン(Treleaven)及びM.ベラスコ(Vel
lasco)の論文“Neural Network on Silicon",M.サミ
(Sami)及びF.シスタンテ(Sistante)編、Wafer Scal
e Integration,III′,(IFIP、1986年6月)、pp.1−1
0,Elsevier Science Publishers,B.V.,オランダ、ノー
スホランド州、1990年刊(以下では“Treleven 90"と呼
ぶ)。
J.Jホップフィールド及びD.W.タンク(Tank)の著書
“Neural Computation of Decisions in Optimization
Problems",pp.141,152,1985年刊(以下では“Hopfield
85"と呼ぶ)。
[用語の定義] これらの定義は、本明細書に含まれる諸発明を論じる
際に使用される様々な新しい用語に関するものであり、
以後の考察を読む際に有用であることが判明するであろ
う。
・SPIN:順次パイプライン式ニューロコンピュータ ・SNAP:スケーラブル・ニューラル・アレイ・プロセッ
サ ・T−SNAP:三角形スケーラブル・ニューラル・アレイ
・プロセッサ ・VSPIN:仮想順次パイプライン式ニューロコンピュータ ・SPIN−E:順次パイプライン式ニューロコンピュータ E。Eは並列統合形SPIN構造の数を表す。
・SPIN-IP:並列性が向上した順次パイプライン式ニュー
ロコンピュータ ・SPIN−EXP:順次パイプライン式ニューロコンピュータ
EXP。Eは物理ニューロンの数、Xは、E−1個の追加
の物理ニューロンに含まれる、反復された入力乗算器部
分の数、Pは、追加の並列物理ニューロンから生成され
るニューロン値の数を表す。
・PE:処理要素 ・PN:物理ニューロン ・NN:ニューラル・ネットワーク ・シグモイド関数は、ニューロンの状態を示す非線形ニ
ューロン関数であり、本明細書では、シグモイド生成機
構と呼ばれる好ましい生成機構の形で1つのニューロン
活動化関数を提供する。シグモイド生成機構は文中では
SIGまたはSと略記する。
・MPX:マルチプレクサ ・M:乗算器遅延 ・m:SPINによってエミュレートされるニューラル・ネッ
トワーク内のニューロンの数 ・N:SPINがサポートする物理ニューロンの数 ・R:ネツトワーク更新サイクルの数 ・BI/DI:両方向バス ・MEM:使用される結合重みメモリのサイズ ・PS:部分和 ・TSP:巡回セールスマン問題 ・SYNC:同期論理 ・A:乗算器クロック・サイクル遅延に等しい無次元数 ・B:シグモイド・クロック・サイクル遅延に等しい無次
元数 ・L:ビットで表したワード幅 ・WTS:重み ・MPY:乗算または乗算器 [序論] 本明細書に記載するニューロコンピュータ・アーキテ
クチャによって実施される計算タスクは、式1及び2で
表される。これらの式は完全並列分散処理モデルのサブ
セットに基づくものである(“Rumelhart 86"及び“Hop
field 85"のネットワーク参照)。
上式で、 ・Nはニューラル・ネットワーク内のニューロンの数で
ある。
・W13など重みWの下付き文字は、ニューロン3からニ
ューロン1への結合の重みを意味するものと解釈すべき
である。
・Yjは、結合重みWijを介してi番目のニューロン入力
に結合されたj番目のニューロン出力の値である。
・F(z)は、例えば次のような形式のシグモイド活動
化関数に等しく何回もセットされる、ニューロン活動化
関数である。
上式で、 ・関数F(z)に関して、 である。
・0≦F(z)≦1 ・Tは、所与の1組のz値に関してシグモイド関数の勾
配を変更するために使用される大域制御パラメータであ
る。
・e=自然対数(2.71828...) 式1及び2は、完全に結合されたNニューロン・ネット
ワークでは、以下の4つの基本動作を含む。
1.N2回の乗算 2.N回の積和演算 3.N個の活動家関数 4.N×N回の通信 通常は基本的ニューロコンピュータ動作である学習に
ついては考察しない。重みはネットワーク実行サイクル
の間中一定であると仮定し、さらに、必要な場合、重み
更新のための学習アルゴリズムが実施されるホスト・コ
ンピュータから重みがロード可能であると仮定する。ホ
スト・コンピュータは、また、ネットワーク・アーキテ
クチャを初期設定する責任を負う。例えば、ホスト・コ
ンピュータは、このアーキテクチャによってシミュレー
トされるネットワーク中のニューロンの数、全ての結合
重み、初期ニューロン値、実行されるネットワーク更新
サイクルの数をロードし、かつモデルの実行を開始する
責任を負う。ホスト・コンピュータはまた、ネットワー
ク実行の完了時にニューロン値を読み取る能力を備えて
いる。様々なニューラル処理アーキテクチャの性能を評
価し比較する際、初期設定時間及びホスト処理時間は別
の問題と見なし、ここでは実行中の性能のみを考える。
SNAP及びTSNAPはそれぞれ固有の利点を有するが、性
能よりもハードウェア・コストの方が大事な場合は、リ
ング・シストリック・アレイ・ニューラル・ネットワー
クと同等またはそれ以上の性能を提供しながら、ハード
ウェアのかなりの節約をもたらすSPINアーキテクチャ
が、SNAP及びTSNAPの代わりに使用される。第1図に関
して以下に考察するように、この考察ではSPIN及びその
拡張版を記述し、性能評価、及び従来技術のリング・シ
ストリック・ニューラル・ネットワーク(NN)との性能
比較を行なう。
[発明の開示] 本明細書で提案する新しいアーキテクチャSPIN(順次
パイプライン式ニューロコンピュータ)は、その拡張版
(VSPIN、SPIN−E、SPIN-IP、SPIN-EXP)と共に、種々
の動作で改善された性能を示すアーキテクチャであり、
このことは、「詳細な説明」の項で、完全に結合された
ニューロン・ネットワークに対する式1及び2に含まれ
る4つの基本動作の実施に関して実証する予定である。
好ましい各実施例については、それぞれ基本的なSPINア
ーキテクチャに関して説明する。SPINはNニューロン・
ネットワークを実施することができる。ただし、Nは、
実施される物理ニューロンの数を表す。SPINは、N個の
乗算器を使用して乗算を行ない、パイプライン式加算器
ツリー構造によってN回の積和演算を行ない、1つの活
動化関数モジュールを使用し、N個のニューロン入力値
積和を順次上記モジュール中を通過させることによって
N個の活動化関数を提供し、さらに1本のバスを使っ
て、シフト・レジスタ形式に編成された乗算器入力レジ
スタにN個のニューロン値を順次供給することによって
N×N回の通信を行なう。全てのSPINアーキテクチャ
は、ビット直列形式またはワード表示形式で実施可能で
ある。
本発明の様々な好ましい実施例の詳細な説明について
は、それぞれのアーキテクチャ構造を好ましい実施例と
して記述する「詳細な説明」の項、及び添付の図面及び
表を参照されたい。
[図面及び表の簡単な説明] 第1図は、ニューラル・ネットワーク用の従来技術の
リング・シストリック・アレイ・アーキテクチャ及び動
作シーケンスを示す図である。
第2図は、順次パイプライン式ニューロコンピュータ
(SPIN)の好ましい実施例を示す図である。
第3図は、SPIN処理要素を示す図である。
第4図は、重み記憶構造を示す図である。
第5図は、SPIN論理パイプラインを示す図である。
第6図は、タグ突合せPE機能を持たない簡略化したSP
INを示す図である。
第7図は、仮想順次パイプライン式ニューロコンピュ
ータ(VSPIN)を示す図である。
第8図は、VSPINの重み記憶構造を示す図である。
第9図は、順次パイプライン式ニューロコンピュータ
2(SPIN−2)を示す図である。
第10図は、SPIN-IPを示す図である。
第11図は、SPIN-IPの重み記憶構造を示す図である。
第12図は、SPIN-IP2を示す図である。
第13図は、SPIN-211を示す図である。
第14図は、SPIN-211、及びPN−2待ち行列に基づく構
造を示す図である。
第15図は、SPIN-EXPを示す図である。
第16図は、E=2で、PN−2個の乗算器入力をもたら
すためのN/X−1マルチプレクサを備えたSPIN-2EXPを示
す図である。
第17図は、アーキテクチャ比較の要約を示す図であ
る。
表1は、リング・シストリック・アレイNN、SPIN、SP
IN-EXP、SPIN-IP、及びSPIN−Eのそれぞれの性能比較
を示す表である。
[発明の詳細な説明] 従来技術のリング・シストリック・アレイ・ニューラル
・ネットワークの説明 一例として、シストリック・アレイを使った式1及び
2の実施について説明する。"Kung 89"に記載されてい
る、リング・シストリック・アレイと呼ばれる基本構造
を第1図に示す。この構造では、各PEは、Yiで表される
ニューロンとして扱われ、そのニューロン用の重み記憶
機構を含み、重みは、PEからPEに線形シフトされるとき
j番目のニューロン値に対応する、循環シフト順に記憶
される。初期ニューロン値及び重みがPEに事前にロード
されていると仮定すると、ネットワーク更新サイクルに
対するこのアーキテクチャの動作シーケンスは、第1図
に示す通りである。このようにニューラル・ネットワー
クはシストリック・アレイ上でモデル化することができ
る。
リング・シストリック・アレイの性能 リング・シストリック・アレイの性能を評価するた
め、遅延変数を「名前付き」要素による遅延を表すδ
nameで表すものとする。以下の遅延変数が使用される。
・δM=YiWij乗算器遅延 ・δMb=ビット直列単一ビット乗算器遅延 ・δA=2−1加算器遅延 ・δS=シグモイド生成機構遅延 ・δB1=リング・シストリック・アレイNNバス遅延 ・δW=重みアレイ・アクセス遅延 以下の一般的仮定及びその他の表記法に留意されたい。
1.システムによって定義されるクロック周期はCであ
り、全ての遅延はCの倍数として指定される。
2.δW≦δMo重みアレイから重みにアクセスするための
時間は、重み×Y値の乗算器遅延以下でなければならな
い。
3.δB1≦δMまたビット直列設計ではδB1≦δMboバス遅
延は、乗算器遅延以下、またビット直列設計ではビット
乗算器遅延以下でなければならない。
4.δA≦δMまたビット直列設計ではδA≦δMbo加算器遅
延は、乗算器遅延以下、またビット直列設計ではビット
乗算器遅延以下でなければならない。
このアーキテクチャの性能は、ニューロンを出力する
周期で表す。リング・シストリック・アレイ・アーキテ
クチャ(従来技術を示す第1図)は、重複動作を前提と
して以下の性能特性を有する。
シストリック・リング周期=NδM+δA+δB1+δ
S (3) SPINの説明 それぞれ式1及び2を実施するニューラル要素のネッ
トワークが、これから説明するニューラル・アーキテク
チャの基礎である。式1は、j=1〜Nの全てのYjが、
乗算累計関数に含まれることを暗示し、各ニューロンが
ネットワーク内の他の全てのニューロンに結合される可
能性があることを示す。Wijの集合が0に等しい特別な
場合は、このモデルで扱われる一般的な場合を表すとは
見なされない。したがって、式1の実施に関する大きな
考慮点は、通常N個の物理ニューロン(PN)の完全な結
合を可能にするネットワーク相互接続戦略の設計であっ
た。考慮されるオプションは、例えば、バス幅のワイヤ
によるN2の完全に結合されたネットワークから、ハイパ
ーキューブ、ハイパーンット等の経路指定処理要素を含
むメッセージ伝達構造にまで及んでいる。完全に結合さ
れたネットワークは経路指定遅延を生じないので、バス
幅結合によるN2がワイヤ配線可能であると仮定すると、
潜在的性能は最大である。PNの数が増大するにつれて、
完全結合ワイヤ配線の問題は非常にコストがかかるもの
になり、実現不能になる可能性があり、その結果、ある
種のネットワーク経路指定構造によりワイヤ配線の問題
を解決する相互接続方法が選択されることになるが、点
間遅延が長くなるという犠牲を伴う。SPINならびにリン
グ・シストリック・アレイNNは、この相互接続の問題に
対するもう1つの解決策を提供する。
SPINでは式1に関する別の解釈を用いる。この解釈
は、各ニューロンiについて、同じYj入力と重みの1組
N回の乗算があることの留意に基づくものである。この
ことは、式1を拡張し、複数のニューロン出力に関する
式を比較すれば、容易に理解できる。例えば、式1から
形成されるN個のニューロン出力は次の通りである。
Yj入力及びそれに関連する重みが別々に得られ、かつ別
々の並列乗算器がN個あると仮定すると、所与の"i"に
ついて、1乗算遅延時間δMにN個の積を並列に形成す
ることができる。次にこれらN個の積を互いに加算して
最終和zを形成し、これをF(z)ユニットに送ってニ
ューロン出力を発生することができる。重み選択のため
新しい"i"を使用し、かつYiを一定に保つことにより、
同様に1δM時間内にi番目の計算に関する並列積を得
ることができる。このことは、独立した並列入力値重み
処理が単一の固定した和及びF(z)関数と結合されて
いるため、N個のYiニューロン出力が順次計算できる、
単一ニューロン構造が設計可能なことを暗示している。
F(z)関数は、シグモイド関数と呼ばれる種類の非線
形関数でよい。ニューロン活動化関数の他の例として
は、しきい値関数、確率関数等がある。
ただ1つの物理ニューロン(PN)を有するSPINを第2
図に示す。SPINは、タグ突合せ機能をもたらすN個の入
力値処理要素(PE)、N個の重み乗算器、それぞれN個
の重みを有するN個の重み記憶ユニット、log2Nの2−
1加算器段を含む対称形加算器ツリー、単一のシグモイ
ド生成機構、及び1個の負荷を有する所望のバス幅の1
本のバスを含む。SPINでは、フロント・エンドPEは、タ
グ付きのニューロン値がそれと一致するタグの付いた乗
算器に到達することを保証する機能を提供する。バス
は、ニューロン値、そのソース・タグ、有効信号、及び
ホストによってのみ制御される重みビットから成るニュ
ーロン情報のパケットを含む。N個のニューロンの場合
は、N個のタグ、N個のPE、及びN個の乗算器がある
が、加算器ツリー及び1つのシグモイド生成機構は1個
だけである。第3図は、代表的なPEを示す。
1本のニューロン出力バス上でニューロン値が順次発
生するには、Yiが識別されさえすればよい。このこと
は、ニューロン値の一定の順序づけ(例えば、Y1、次に
Y2...最後にYN)を保証することによって実現できる。
N個の物理ニューロン用に設計されたSPIN上で、m個の
ニューロンを含むニューラル・ネットワークをシミュレ
ートするため(mはNとは異なる)、"i"に等しいタグ
で各ニューロン値を一義的に識別する、タグ識別法を使
用する。各Yi値は、乗算器入力値部でのタグ突合せ動作
を必要とする固定乗算器入力部に送らなければならない
(第3図)。Yi及びその"i"タグは、シグモイド出力か
ら構造内の最後のPE、すなわちPE−Nに供給される。受
け取った各ニューロンは次のPEにシフトされる。この点
間シフト・レジスタ構造では、ニューロン値の順序が重
要であり、ニューロン値は、重みアレイに記憶された重
みと一致する順序でバス上に現れる必要がある。例え
ば、第2図に示すように、最初にY1、次にY2、...最後
にYNo有効な安定データのみが受け取られ、処理される
ようにするため、有効(V)と呼ばれるタグ・ビットを
1システム・クロック周期中、ニューロン値及びその"
i"タグと共にバス上に置くことができる。入力受取り論
理機構は、有効ビットが「オン」であり、かつ予め記憶
された入力タグに一致する"i"タグがあるのでない限
り、Yiを受け入れることができない。たとえYi値が順序
通りニューロン入力上に到着しても、N個の並列乗算が
いつ開始できるかを示すため、最後のニューロン値が到
達したことを示す方法を用意しなければならない。最後
のニューロンを受け取ったとの通知は、ニューロン値の
順序通りの出力順序を保証することによって自動的に実
現できる。ニューロン値が(例えば、Y1から始めて)順
に計算され、かつバスがPE−Nに接続されているので、
全てのYi値が受け取られるまで一致は生じ得ない。すな
わち、YNがPE−Nで受け取られたとき、先行する全ての
Yiが、一致する"i"タグを含むPE−i内で受け取られる
(シフトされる)。タグの一致が生じたとき、各PEは、
受け取ったY値を乗算器入力ラッチに転送し、新しい更
新サイクルのための並列乗算処理を開始する。このN番
目の事象も、N個の入力レジスタを介して有効(V)ビ
ットを順次シフトすることによって示すことができる。
Vビット・シフト・レジスタ・ラッチが最初は0であ
り、各一致状態の後で0になると仮定すると、N個のYi
が全て受け取られるまでVビットは第2図のPE−1に到
達しない。ニューロン値を受け取るためにタグ突合せ法
を使用することにより、一致したYi値のPE局所転送制御
が可能になり、さらにm個のニューロン(m≦N)を含
むネットワークのシミュレーションが本来的に可能にな
る。それとは別に、Y値の全ビットがニューロンPNバス
から並列に受け取られ、かつm=Nの場合は、PE−1の
Vビット出力は、次のネットワーク更新サイクルを「開
始」すべきことを示すことができる。m<Nのネットワ
ーク・モデルの場合は、SPINは、m2個の重み、ホストか
らロードされたm個のタグ、及びN−m+1ないしNで
表される下端のm個のニューロン入力位置に置かれた初
期のネットワークY値で初期設定され、他のY位置は0
に初期設定される。0にされたY値は、N−m個の乗算
器、及び加算器ツリーのそれらの部分が、SPIN上のmニ
ューロン・ネットワークのシミュレーションに影響を及
ぼさないことを保証する。SPINはm個の値、すなわち、
(N−m+1)、(N−m+2)、...N番目の値を順次
発生し、最後のm番目の値でm個のタグ一致状態が発生
して、m個の値及び(N−m)個の0のY値を乗算器入
力レジスタに局所転送させて、次のネットワーク更新サ
イクルを開始させることになる。さらに、次のm個の更
新サイクルY値を受け取る準備として、シフト・レジス
タから構成されるY値入力レジスタが0にされる。制御
論理機構内で必要な場合、カウンタがN番目の一致信号
を供給する。
重み記憶構造の例を第4図に示す。第4図は、モデル
内でその重み出力が乗算器要素に進むアレイを示す。重
み値の精度及び重みの数によってアレイのサイズが決ま
る。例えば、重み値をLビットの数で表すことができ、
完全結合のNニューラル・ネットワークSPIN実施態様で
は、全重み記憶機構はN2個の重み値を受け取ることにな
る。各SPINニューロン入力は、各ニューロンに対する入
力結合度を表すN個の重みを記憶するだけでよくなり、
従って各ニューロン入力部でN×Lビットのアレイが必
要になる。初期設定時に、アレイのアドレス生成機構
が、乗算器に出力される最初の重み値を表す0番目の重
みアドレスに設定される。アドレスは、次の乗算に備え
て、必要な次の重みが乗算器入力部で使用可能になるよ
うに増減される。アドレス生成機構は、全てのネットワ
ーク重みがアクセスされるまで、進み続ける。アドレス
生成機構はまた、ネットワーク・モデルの必要な積の数
をカウントする複製機能をもたらすことができる。m≦
Nの場合、SPIN上でモデル化されるネットワーク内のニ
ューロンの数(m)がホスト・コンピュータからロード
され、アドレス生成機構がそれを使用して、m番目の事
象を表す信号を発生することができる。カウンタは、m
番目のアドレスを発生した後に0番目の値に戻る、循環
式であると想定する。
ホスト初期設定及び論理パイプライン制御の考察で
は、m=Nであると仮定する。
ホスト初期設定時に、PEごとに異なるタグであるPEタ
グ、N2個の重み、初期のYiニューロン値、ニューロン数
N、及びネットワーク反復更新サイクル数Rが、それ事
態のホスト・インターフェースを介してPNにロードされ
う。走査されるPEタグを除き、重み及びニューロン値の
ロードにはニューロンPNバスが使用できる。ホストから
のみ制御されるWタグ・ビットにより、PEを介して重み
をロードすることが可能になる。Yi値は最後にロードさ
れ、例えば、Y1から始まり、YNがロードされるまで昇順
に続行される。YNが受け取られると、全てのY値が一致
するタグをもつPEに入り、ネットワークの実行が開始さ
れる。
ネットワークの実行が開始すると、ホストはニューロ
ンPNバスの使用を禁止し、PEはY値を乗算器入力ラッチ
に内部転送し、Yjに対する印加された重みWijと共に、
有効な乗算を続行する。実行中、PNは、それぞれ<W、
V、ソース・タグ、Yi>のバス・パケットで表されるニ
ューロン値を順次出力する。全てのニューロン値に対し
て、活動状態の有効ビットがある。オンの有効ビットが
あり、かつ予め記憶されたタグとバス上のタグが一致す
る場合、ニューロンY値が乗算器入力段を通ってゲート
され、そこにラッチされる。N番目のパケットが受け取
られるまで、一致状態は生じない。乗算器及びlog2N加
算器ツリーを備えたPNパイプラインを第5図に示す。乗
算器は、PE比較/ゲート機能からY値を受け取り、その
間に重み記憶機構から重みが得られる。Yj入力はネット
ワーク更新サイクルを通じて一定入力のままであり、重
み記憶機構は、iが順次変化するにつれてWijとYjを対
にしながら後入れ先出しスタックにおけるように新しい
重みを読み出す。N番目のY値の受取り時にN個の一致
状態が発生すると、開始信号が発生し、次のネットワー
ク更新サイクルを開始する。例えば、第5図で、有効論
理機構のフロント・エンドは、MPX、ラッチ及び遅延δM
(M)ブロックで示されるように、循環シフト・レジス
タを使用する。この循環シフト・レジスタは、各乗算の
開始時に新しい有効ビットが始まるように、有効ビット
をシフトする。有効ビットはまた、乗算、加算及びシグ
モイド生成が遅延ブロックによってシミュレートされる
点を除き、PN乗加算器ツリー・パイプラインの複製であ
る、パイプライン中を順次通過する。有効パイプライン
は、有効ビットがパイプラインを通ってシフトすると
き、有効ビットに、それと同じパイプライン・レベルに
ある他のパイプライン・ラッチを制御させることによ
り、他のパイプラインを制御することができる。有効パ
イプライン遅延ブロックは、実施上の特性に応じて、こ
の種の制御を実現可能にするために、指定されたブロッ
ク遅延よりも1クロック・サイクル少なくなければなら
ないことがある。重みアレイはカウンタからアドレスさ
れる。このカウンタは、次の重みのアドレスが前もって
準備できるように、乗算器遅延ブロックに入る前に有効
ビットによって論理的に増分される。カウンタは、ネッ
トワーク内で処理されるニューロンの数に等しいN事象
の最大数までカウントし、その後、N+1有効ビットが
生成されないようにするNTH-EVENT信号を生成する。カ
ウンタは各重みアレイのi番目の重みをアドレスする。
このi番目のアドレスはまた、Yi計算用のタグをも表
す。次にソース・タグ“i"が、ニューロンYi値と同期し
てバス上に到着するようにパイプライン化される。この
考察では、SPINで排除されているわけではないけれども
乗算器はパイプライン化されないが、乗算は加算とオー
バーラップする。このためには、乗算器と加算器ツリー
の間にレジスタ・ラッチを設けることが必要である。加
算器ツリーは段間でパイプライン化され、加算器ツリー
中での前の求和が終わる前に新しい求和処理が開始でき
るようになっている。さらに、わかりやすいように図に
は示されていないが、各加算器段はラッチされる。log2
Nの加算段が完了した後、所与の"i"に対するYiWijの1
からNまでの全ての"j"についての累積和がシグモイド
入力値ラッチにクロック・インされる。シグモイド生成
機構の完了後、結果が単一バス上に出力される。
上述のように、上記のタグ付きSPINアーキテクチャ
は、m=Nの場合、各PEからタグ比較機能を取り除いて
簡単にすることができる。この構造は、第6図に示すよ
うに簡単になる。
SPIN周期の計算 前述のSPINアーキテクチャの性能を評価するため、
「指定された」要素中の遅延を表すδnameで遅延変数を
表すものとする。SPINでは、以下の遅延変数が使用され
る。
・δPE=SPIN PE遅延 ・δM=YiWij乗算器遅延 ・δA=2−1加算器遅延 ・δS=シグモイド生成機構遅延 ・δB2=SPINバス遅延 ・δW=重みアレイ・アクセス遅延 以下の一般的仮定及び他の表記法に留意されたい。
1.ブロック遅延は、下付き文字"d"で表す。
2.システムによって定義されるクロック周期はCであ
り、全ての遅延はCの倍数として表される。
3.SPIN内の加算器ツリーは段間でパイプライン化されて
いる。
4.SPIN内の加算器ツリーの段数はlog2Nである。ただ
し、Nはシミュレートされるニューロンの総数であり、
SPIN入力の数に等しい。
SPINアーキテクチャの性能は、ニューロン出力を発生
する周期によって表される。SPINは、リング・シストリ
ック・アレイの場合と同様に、帰納的方程式1に基づく
ので、前のYi値が計算され、入力値論理機構で受け取ら
れる前にYi+1の計算を開始することができない。これら
の周期では、SPINで排除されてはいないけれども乗算及
びシグモイド関数はパイプライン化された関数とは見な
されないが、それらの入力が乗算器またはシグモイド遅
延全体で一定に保たれることを必要とする。構造の安全
性及び性能上の理由から、計算用の値が、必要なときに
様々な機能ユニットの入力中に存在し、かつ入力論理及
び重みアクセスが乗算動作と並列に動作することが望ま
れる。追加の遅延なしに安全性を得るためには、いくつ
かの制約をアーキテクチャが満たされなければならな
い。乗算器動作間に遅延ギャップがないように、重みア
クセス及び入力PE遅延は乗算器遅延以下でなければなら
ない。
δW≦δM (4) δPE≦δM (5) 式4及び5を満たすことができない場合は、最大遅延時
間δWまたはδPEを有するユニットが、必要に応じて有
効データが乗算器に安全に供給できるように、タイミン
グを制御する。乗算の結果が衝突なしに加算器ツリーに
供給されるには、乗算遅延は加算器遅延よりも長くなけ
ればならない。
δM≧δA (6) これらの遅延条件のため、各Yiに対する最終的求和結果
が、各乗算器遅延ごとに1個という速度で順にシグモイ
ド生成機構に入ることになる。この速度が、YjWij積が
加算器ツリーに入る速度である。シグモイド関数がパイ
プライン化されていないものとすると、安全を保証する
ためにもう1つの遅延条件が必要である。
δS≦δM (7) この条件により、シグモイド関数が処理のために各求和
値を受け取れることが保証される。δS≦δMの場合は、
シグモイド入力部での緩衝、または並列に動作する複数
のシグモイド生成機構の使用が必要となろう。単一のシ
グモイド生成機構でδS≦δM条件を満たす手法の一例
は、線形シグモイド関数に対するテーブル索引近似を使
用するものである。この近似手法は他のニューロンコン
ピュータ、例えば"Treleaven 90"で使用されている。
要約すると、SPINの安全条件は次の通りである。
δW≦δM 式4 δPE≦δM 式5 δM≧δA 式6 δS≦δM 式7 つまり、SPINでは、ニューロン値Y1,Y2,...,YNが1
つのPNから順次出力される。各値はタグを付けられ、次
にバス上に置かれる。バス上のタグと一致した適切なPE
が、ニューロン出力値を正しい入力値乗算器にゲートす
る。N個のニューロン値が全て受け取られたときだけ一
致状態が生じることができる。この順序配列及びバスと
PE−Nの接続により、ホスト・コンピュータからの初期
設定時及び内部処理の実行中、各反復サイクルでSPINプ
ロセッサが、どのようにニューロンが得られたかという
点だけを除き、初期設定時と全く同様に機能することが
保証される。N回の乗算に対する遅延は次の通りであ
る。
加算の第1段の遅延は以下の通りである。
加算の第2段の遅延は以下の通りである。
最終的求和遅延は次のようになる。
最終和は、シグモイド関数の作用を受け、次に単一バス
上をPE入力に送られ、次に、PEで処理されてから乗算器
入力に到達する。この遅延は次の通りである。
乗算器はパイプライン化されていないので、各重み乗算
は順次行なわれる。さらに、δS≦δM、すなわちパイプ
ライン化シグモイド生成機構及びパイプライン化加算器
ツリーを仮定すると、生成される次のニューロン値は次
の形になる。
(Y′id=(i)δM+(log2N)δA+δS+δB2+δ
PE 例えば、9番目のニューロン値の遅延は次のようになる (Y′9d=9δM+(log2N)δA+δS+δB2+δPE 新しい各ネットワーク更新サイクルは、初期設定後の最
初のサイクルと同じ遅延に従う。ニューロン値の生成に
関連する周期は次の通りである。
SPIN周期=(Y′Nd=NδM+(log2N)δA+δS+δ
B2+δPE (8) 性能についての考察 シストリック・リングとSPINの2つの周期の結果を比
較すると、 シストリック・リング周期=NδM+δA+δS+δB1
3 SPIN周期=NδM+(log2N)δA+δS+δB2+δPE
8 δB1=δB2であり、かつδPEが小さいと仮定すると、SP
INの性能の主な差は加算器ツリーによるものであること
が留意される。
性能の差≒(log2N)δA この差(log2N)δAは、Nが増加するに従って小さくな
る。Nが大きな場合、SPINはリング・シストリック・ア
レイに匹敵する性能をもたらす。
VSPIN(仮想SPIN)の説明 m>Nの場合を扱えるようにSPINを修正する方法は幾
つかある。ただし、mはニューラル・ネットワーク内の
ニューロンの数、Nは、SPINがサポートする物理ニュー
ロンの数である。SPINに対する変更の例及びその動作に
ついて検討する。log2N加算器ツリーの出力側に累算器
を追加したSPINを考える。この累算器はm個の記憶要
素、部分和アレイを含み、m個の部分和(PS)値を記憶
できる。シグモイド生成機構は、式1によって決定され
る完全な入力和が満たされるまで必要とされない。さら
に、重み記憶機構が、一層大きなネットワークに対処で
きるように拡張される。制御構造は、以下の動作シーケ
ンスで記述されるように修正されることになる。各SPIN
に所与のサイズの重み記憶機構MEMがあり、Nが与えら
れている場合(m>N)、ニューラル・ネットワークを
実行することができる。mの大きさは次式で与えられ
る。
これは、完全に結合されたmニューロン・ネットワーク
内でm2個の重みが可能であり、m2個の重みがN個のSPIN
入力値の間に分配されるからである。話を簡単にするた
め、mは、上記平方根から得られる整数であるとする。
例えば、Lビットの重み値N=128、かつ入力重みアレ
イ・メモリのMEM=32K×Lビットと仮定すると、mは、
128個の入力を含むSPIN構造上でシミュレートできる、2
048個の完全に結合されたニューロンに等しくなる。VSP
IN構造を第7図に示す。第7図では、わかりやすいよう
に、ホスト・インターフェース機能ブロックは取り除い
てある。重みは第8図に示すように記憶される。VSPIN
は次のように動作する。
・開始:Y値Y1,Y2,...YNを乗算器入力レジスタに転送
し、VSPINの実行を開始する。
・Y値YN+1,YN+2,...Y2Nのホスト・ロードを開始し、
部分和(PS_,_)を部分和アレイに記憶する。
・新しいY値YN+1,YN+2,...Y2Nを乗算器入力レジスタ
に転送し、VSPINの実行を開始する。
・Y値Y2N+1,Y2N+2,...Y3Nのホスト・ロードを開始
し、部分和(PS_,_)を部分和アレイに記憶する。
・新しいY値Ym-N+1,Ym-N+2,...Ymを乗算器入力レジス
タに転送し、VSPINの実行を開始する。
・PS1,m/Nをシグモイドに送ってY1を生成する。
・シグモイド関数が完了したとき、Y1をPE−N及びホス
ト・インターフェースに送る。
・PS2,m/Nをシグモイドに送ってY2を生成する。
・シグモイド関数が完了したとき、Y2をPE−N及びホス
・次のm−N個のY値はホスト・インターフェースに進
むだけであり、PEは、ネットワークが「開始」されるま
でこのN個のY値を保持する。
・PSN+1,m/Nをシグモイドに送ってYN+1を生成する。
・PSm,m/Nをシグモイドに送ってYmを生成する。
・シグモイド関数が完了したとき、Ymをホスト・インタ
ーフェースに送る。
・更新サイクルがホストによって指定された回数だけ完
了するまで繰り返す。
別法として、すべてのY値をホストに送ることができ
る。この場合、ホストは、m個のY値を受け取った後、
PEをY′1,Y′2,...Y′N値で初期設定してネットワーク
を開始させるが、性能は低下することになる。
N=128及びMEM=32K×Lビットの例では、VSPINは全
性能で128ニューロン・ネットワーク、仮想モードで204
8ニューロン・ネットワークを直接実施することにな
る。"Hopfield 85"のニューラル・ネットワーク上にマ
ップしたホップフィールドの巡回セールスマン問題(TS
P)の例に従うと、上記のVSPIN例では、10都市の問題が
直接実行でき、45都市の問題が仮想モードで実行できる
ことになる。
これは、1つのSPIN拡張の方法にすぎず、ホスト・イ
ンターフェース対話を使って重み及びY値の両方を更新
する他の方法も可能である。
VSPIN周期の計算 m個の部分和からなる各グループが実行される間に、
ホスト・インターフェースには、m個の部分和からなる
次のグループに必要な新しい1組N個のY値がロードさ
れる。正しく設計されていれば、N個のY値をロードす
るのに要する時間は、m個の部分和の処理よりも少な
い。例えばホスト・インターフェースにm個のY値バッ
ファを設けて、ホスト・インターフェースがVSPIN周期
の計算に影響を与えないようにしてこれを実現すること
ができる。
m>N、及びSPINと同じ条件下で、VSPIN周期の式が
次のようになることを示すことができる。
m=Nの場合、VSPIN周期はSPIN周期とほぼ同じであ
る。
SPIN−Eの説明 SPINアーキテクチャでは、ハードウェアの追加により
さらに改善が可能である。話を簡単にするため、第9図
のE=2の場合の、タグが付かないSPIN−E構造を考え
る。この構造は、元のSPIN構成のうちの合併された2つ
を使用し、m=N、かつNは偶数のニューロン数であ
る。単一のホスト・インターフェースがSPINの場合と同
じ機能をもたらすものと仮定する。さらに、PNが複数個
ある場合でも実施態様によっては別の指定になることも
あるが、論理的にはただ1つの重みアドレス生成機構が
必要となるだけであることに留意されたい。
話を進める前に、SPINで使用されるものとは異なって
いるに違いないので、より一般的なタグ付きアーキテク
チャについて簡単に説明することが望ましい。例えば、
−K(PN−K)によって識別されるE個のPNの場合、次
のようになる。ただし、Kは1,2,...Eに等しく、iは1,
2,...N/Eと順次変化し、N/Eは偶数の整数である。
PN−Kタグ=K+E(i−1) この場合、各固有PNの開始タグは、前のPNのタグよりも
+1だけ大きくなる。この開始タグが、その特定のPNの
0番目のタグとなる。各後続タグは前のタグよりもちょ
うど+Eカウントだけ多くなり、最後のタグがバス上に
出力された後は最初の0番目のタグの値に戻る。従っ
て、+Eカウンタ・タグ回路が各PN内で重複している。
SPIN−2構造は、それぞれニューロン値同期ユニットに
到る2本のバスを有し、この同期ユニットは2つのY値
を並列に受け取り、直列に接続されたニューロン入力Y
値レジスタにY値を正しい順序で出力する。同期論理機
構は2回のシフトを必要とするが、これはY値間の遅延
時間内に容易に行なうことができ、従って、同期時間は
最後のY値上でのみ見られる。SPINと比べて、SPIN−E
は、使用する乗算器、2−1加算器及びシグモイド生成
機構の数は2倍になるが、Y値レジスタは、2つの乗算
器/加算器ツリー構造で共用できるので同数である。各
SPIN−E部分で乗算が半分ずつ実行されるので、SPINと
同じ遅延条件を使って次の反復周期が得られる。
Eが大きくなるほど、同期時間を考慮しなければならな
い。SPINタイミング条件のもとでは、Y値が最も速く生
成できるのは、各乗算器遅延時間δMにつき1回であ
る。δ′Mが乗算器遅延と等しい数字の無次元量である
とすると、E>δ′Mのとき、生成されるE個のY値か
らなる各グループごとに同期時間を考慮しなければなら
ない。E>δ′Mのときは、処理を停止するか、または
十分なバッファを同期装置に設けなければならない。E
>δ′Mは、非常に大きなシステムを意味し、その性能
が同期の問題によって大きな影響を受けているので、E
≦δ′MのときのSPIN−Eの性能のみを考慮する。一般
に、この数のSPIN部分が反復されるので、以下の周期が
得られる。
E≦δ′Mの場合 SPIN−EとSPINの性能を比較すると、性能上の利益は次
式で与えられる。
Eが小さい場合は、式8と9を代入すると、 Nが大きくなると、NδM>>((log2N)δA+δS+δ
B+δPE)となり、EがNに比べて小さい場合は、(N/
E)δM>>(log2A+δS+δB+δPE+EC)となり、
次式をもたらす。
性能の向上≒E E=2の場合、性能の向上は、Nの大きさが増大するに
従って2に近づく。
SPIN−-IP(並列性の増大したSPIN)の説明 第10図のSPIN-IPに示すように、非パイプライン式の
乗算器及びシグモイド生成機構を重複させることによっ
て、SPINの性能をさらに高めることができる。実際に、
シグモイド生成機構の使い方における特定の条件が満足
されるなら、SPIN-IPを用いると、δS≦δMという制約
を除去し、各シグモイド生成機構に別々のバスを設ける
必要をなくすことができる。A*N個の乗算器及びB個の
シグモイド生成機構によって性能の向上が得られる。た
だし、Aは乗算器クロック・サイクル遅延に等しい無次
元数であり、Bはシグモイド・クロック・サイクル遅延
に等しい無次元数である。例えば、乗算器遅延が長さ32
クロックの場合、A=32であり、シグモイド生成機構が
長さ64クロック・サイクルの場合、B=64である。オー
バラップしない順次的求和値入力を有するシグモイド生
成機構への共通入力を設けることにより、δS=δMとい
う制約を除去することができる。SPIN−EではB個のシ
グモイド生成機構はB本のバスを意味するが、SPIN-IP
ではそうではない。というのは、B個のシグモイド生成
機構から生成されるY値は、SPIN−Eにおけるように並
列には生成されないからである。SPIN-IPシグモイド生
成機構は、互いに1クロック・サイクルずつ離してY値
を順次生成する。従って、1本のLビット幅の並列3状
態バスを使用することができる。
ビット直列設計では、求和構造も、増大した並列性に
対応できるように適合させなければならない。δS≦δM
という制約を除去し、各シグモイド生成機構毎に1本の
バスを設ける必要をなくすビット直列設計を実現するに
は、ビット直列乗算器または加算器ツリーの値を、ビッ
ト並列形式で累計し、1クロック・サイクル毎に1個の
値という速度でシグモイド生成機構に印加させることが
必要である。こうすると、シグモイド生成機構は1クロ
ック・サイクル毎に1つのY値を生成できるようにな
る。2−1ビット直列加算器から構成される"A"個の加
算器ツリー、または各乗算器からの"A"ビット幅の値を
収容する1個の加算器ツリーのどちらかを使用しなけれ
ばならない。加算器段の遅延を最小にするには、2−1
加算器から構成される"A"個の加算器ツリーを使用し、
ビット直列求和値をシグモイド生成機構に入る前に累計
する。ワード並列手法では1個の加算器ツリーを使用す
る。というのは、"A"ワード幅の加算器ツリーよりも少
ないハードウェアしか要せず、かつ2つの可能なワード
並列ツリー実施態様の間で加算器段遅延の違いがないか
らである。
ホスト・インターフェースは、SPINと同様に機能する
が、わかりやすいように、第10図のSPIN-IPでは省略し
た。ビット直列の側から見ると、第10図は、ビット直列
積が、ワード並列形式で構成された加算器ツリーに入る
前に累計される実施態様を示す。
第10図を見るとわかるように、乗算器入力は1入力当
たりA個の乗算器を含むように拡張されており、各乗算
器は、MPXで表されるA−1マルチプレクサに出力を供
給する。MPXの出力は標準のlog2N加算器ツリーに供給さ
れる。別法として、ビット直列設計では、マルチプレク
サを介して1個の加算器ツリーに入る前に積を累計する
代わりに、"A"個の加算器ツリーを設け、ビット累算器
をそれらの出力側に配置することができる。累計された
出力は次にB個のシグモイド生成機構に分配されるが、
これは、例えば、B個のシグモイド生成機構全てに結合
された共通の3状態バスを使用することによって実現で
きる。第10図に示すように、加算器ツリーの出力はB個
のシグモイド生成機構にファンアウトし、シグモイド生
成機構の出力は1本のLビット幅の3状態バスに供給さ
れる。説明を簡単にするため、N/Aは、第11図に示す重
み記憶機構について仮定するように整数であると仮定す
る。ホスト・インターフェースがSPINと同様にしてSPIN
-IPを初期設定すると仮定すると、以下の動作シーケン
スが実行される。重み値は第11図に示してある。開始信
号が発生した後、最初のY値が最初の乗算器セルに転送
されて第1列の乗算を開始する。
第1列のMPY1=Y1W1,1,Y2W1,2,...,YNW1,N 次のクロック・サイクルでY値が次の乗算器入力セルに
シフトされ、第2列の乗算を開始する。
第2列のMPY2=Y1W2,1,Y2W2,2,...,YNW2,N A番目のクロックの後、各乗算器セルがY値入力を受け
取るまで、各クロック・サイクル毎にY値が次の乗算器
入力セルにシフトされる。第A列の乗算が開始する。
第A列のMPYA=Y1WA,1,Y2WA,2,...,YNWA,N A番目のクロックの後、第1列の乗算器はその乗算を完
了して結果をA−1マルチプレクサに送っており、マル
チプレクサは値を加算器ツリーにゲートする。マルチプ
レクサは次のクロック・サイクルで切り換わり、第2列
の乗算結果が加算器ツリーに入ることができるようにな
る。この手法では、加算器段遅延が長さ1クロック・サ
イクルである必要がある。各列の乗算が完了した後、各
列の乗算器は次の乗算を開始する。このようにして、最
初のδM遅延後、後続の全ての乗算結果が1クロック・
サイクル当たり1個という速度で加算器ツリーに入る。
加算器ツリーからの求和結果(ビット直列設計の場合は
ビット累計結果)も最初のδM+δmpx+(log2N)δA
延の後、1クロック・サイクル当たり求和結果1個とい
う速度で生成され、パイプラインを埋めていく。シグモ
イド生成機構の遅延は1クロック・サイクルよりも大き
いと仮定されるので、入ってくる入力を処理するために
複数のシグモイド生成機構が並列に配置される。シグモ
イド生成機構の簡単な、順序通りの順次的選択制御によ
って、シグモイド生成機構が正しく始動されることが保
証される。シグモイド生成機構は次にその最初のシグモ
イド遅延後、クロック・サイクルごとにY値を生成す
る。Y値はB個のシグモイドの生成機構から順次生成さ
れるので、生成機構の出力は、1本の共通3状態バスを
使用することができ、順次制御によって1クロック・サ
イクル毎に1つのY値がバス上で使用可能になる。シグ
モイド出力バスはLビット幅であると仮定され、N番目
のタグを有するPEに接続されている。これらの出力はSP
INと同様に順次的順序Y1,Y2,...YNで生成され、N番目
のY値を受け取った後で始めて次の更新サイクルが開始
できる。
SPIN-IP周期の計算 加算器ツリー入力でのマルチプレクサの使用、または
加算器出力部でマルチプレクサ機能を提供する"A"個の
加算器ツリーを伴う3状態バスの使用と関連する遅延時
間がある。この時間はδmpxで表され、パイプラインの
一部として扱われる。SPIN-IPの周期は次のようにな
る。
SPIN-IP周期=δM+δmpx+(log2N)δA+δS+δB
δPE+(N−1)C (10) SPIN-IPとSPIN−E(E=δ′M)を比較すると、性能上
の利益は次式で与えられる。
バス遅延が等しいと仮定し、式9(E=δ′M)及び式1
0を代入すると、 ・δmpx=1 ・δS+δB+δPE=K と仮定すると、 ただし、C=クロック・サイクル E=δ′Mのとき、SPIN-IPはSPIN−Eと等しい機能を
有する。
ビット直列設計、すなわち非パイプライン式乗算器及
びシグモイド生成機構を用いた設計とは違って、乗算器
及びシグモイド生成機構を(乗算器は"A"段、シグモイ
ド生成機構は"B"段で)パイプライン化することによ
り、Lビットの並列設計でSPIN-IPと同等の性能を得る
ことができることに留意されたい。乗算器、加算器ツリ
ー及びシグモイド生成機構における各段遅延は等しいも
のと仮定する。パイプライン化する場合、ただ1つのシ
グモイド生成機構しか必要でなくなる。さらに、加算器
ツリー入力部にマルチプレクサは必要でない。プロセッ
サは、SPIN-IPと同様にY値を順序通り順次生成する。
この完全パイプライン式手法の高水準構造を第12図SPIN
-IP2に示す。
SPIN-IP2周期の計算 SPIN-IP2周期=δM+(log2N)δA+δS+δB+δPE
(N−1) (11) SPIN-EXPの説明 E個の並列要素を有する、SPIN−Eと呼ばれる拡張さ
れたSPIN設計のSPINと比べた性能上の利益は、Nが大き
くEが小さい場合、Eに近づく。SPIN-Eは、例えば、E
*N個の乗算器、E個の加算器ツリー、E個のシグモイド
生成機構、及びE本のバスの相互接続ネットワークを必
要とする。SPIN-IPは、A*N個の乗算器、A個の加算器
ツリー、B個のシグモイド生成機構、及び1本のバスを
必要とする。どちらの手法も大量のハードウェアを必要
とする。SPIN-EXPと呼ばれるもう1つの手法を調べた。
この手法は、少ないハードウェアで、シストリック・ア
レイ・ニューラル・ネットワークに関して既に述べたよ
りも秀れた性能をもたらす代替的手法を提供する。この
新しい構造はまた、性能の範囲を並列度及びシステムに
組み込まれる関連ハードウェアのコストと共に変動させ
ることができる。SPIN-EXPは、その極限では、関連する
性能利得を有するSPIN−E構造になる。
SPIN-EXPは、E個のPN要素、E−1個の追加のPNに含
まれるX個の反復された入力乗算器部分から構成され、
追加の並列PNからP個のニューロン値を発生する。E=
2,X=1,P=1の場合のこの構造を第13図に示す。
第13図のSPIN-EXPのPN−1では、ニューロン値Y1
Y2,...YN-1が1つのPNから順次出力される。各値はタグ
をつけられて、バスに置かれる。入力PEは、基本SPIN構
造に関して既に述べたのと同様に機能する。「開始」信
号は、カウンタ比較回路から得られるものでよい。この
回路は、N個のニューロン値すべてをバスから受け取る
まで新しい動作が起こらないことを保証する。「開始」
信号は、SPIN-EXPのPNプロセッサが、ホスト・コンピュ
ーターからの初期設定時及び内部処理の実行中に、各反
復サイクルで、ニューロン値がどのように得られるかを
除けば、初期設定時と全く同様に機能することを保証す
る。
第13図に示したPN−2の場合、PE−AはPN−1のタグ
付きの値を受け取り、それを待ち行列に記憶する。2個
のPE−N、すなわちPN−1中の1つとPN−2中の1つは
PN−2の出力を受け取り、この出力はP=1のこの場
合、モデル化されたネットワーク構造のN番目の出力で
ある。PN−2のPE−Nは、PN−2の待ち行列内に他のPN
−1の(N−1)個のタグ付きの値の後にN番目の値を
記憶する。PN−2は、この待ち行列からのニューロンY
値とその関連する重みの順次乗算を行ない、積を繰り返
し加算する。最終的反復和は、N番目のニューロンに対
する全ての重み付き入力の総和を示し、この値は次にYN
値を発生するためにシグモイド生成機構に送られる。PN
−2のYN値は2個のPE(PN−1中の1つ及びPN−2中の
1)だけに進む。PN−2に対する次のネットワーク更新
サイクルは、PN−1プロセッサと同様に「開始」信号に
よって制御される。第14図に、待ち行列に基づくニュー
ラル要素をさらに詳細に示す。Y値待ち行列記憶機構
は、第14図でバタフライ待ち行列と呼ぶ、2つの記憶ア
レイから構成される。現更新サイクル用のY値はアレイ
の一方、例えばQ1に保持され、他方のアレイ、例えばQ2
は、次のネットワーク更新サイクルで使用される新しい
Y値で更新される。次のサイクルが「開始」さらたと
き、待ち行列バッファが切り換わって、新しいY値(こ
の例ではQ2)が次の更新サイクルで使用され、他方の待
ち行列(この場合はQ1)が次のサイクルのY値をロード
し始めるようになる。待ち行列バッファは、各更新サイ
クル毎に切り換わる。ホストは最初に第1のニューロン
値及び全ての重みを待ち行列及び重みアレイに記憶す
る。初期設定後、SPIN-EXPが「開始」され、PN−1から
タグ付きのY値が順次出力される。タグは、Y値が書き
込まれる待ち行列へのアドレスとして機能する。PN−2
から発生されたYN値は、N番目のアドレスに記憶され
る。PN−2の重みアレイ・アドレス生成機構は、ネット
ワークの実行中に全てのPN−2重みアレイ及び待ち行列
を生成する。これによって、Yjが乗算器への入力として
Wijと正しく対にされる。乗算器の後には、記憶要素を
備えた単一加算器から成る反復加算器が配置され、累計
和関数を提供する。求和処理を開始する前に反復加算器
記憶要素を0に初期設定しなければならず、それが第1
乗算器の積に加えられる。第2の乗算の完了後、加算器
記憶要素に記憶された第1の積と第2の乗算結果を加算
することができる。N−1個の和のうちの最初のもので
あるこの和が加算器記憶要素に記憶され、重みとニュー
ロン値の積の現在の和が得られる。これらの反復加算は
乗算動作と並列に行なうことができる。次に最終的累計
和が、新しいニューロン出力を計算するシグモイド関数
への入力になる。タグの生成では、PN−2部分が扱うニ
ューロン値の数を考慮に入れなければならない。これ
は、ホストによってロードされたレジスタから得られる
変数Pによって制御される。PN−1はY1,Y2,...YN-P
出力し、PN−2はYN-P+1,YN-P+2,...YNを出力する。
このPN−2構造を用いると、並列性の向上をもたら
し、その結果、最小限の追加ハードウェアで性能を向上
させることができるようになる。PN−2での並列性増大
の一例を第15図に示す(わかりやすいようにホスト・イ
ンターフェースは省略してある)。第15図では、第13図
のPN−2の入力乗算器部分が反復されており、PN−2が
P=2の出力YN-1及びYNを処理できるようにその性能を
向上させることが可能になる。反復された入力乗算器の
数はXで表される。各乗算器入力に対する待ち行列のサ
イズは、Xが増加するに従って小さくなる。例えば、X
=1の場合、単一のバタフライ待ち行列がN個のY値エ
ントリを含み、X=2の場合は、2個のバタフライ待ち
行列がそれぞれN/2個のY値エントリを含み,...,X=N
の場合は、待ち行列はY値レジスタになる。X=Nの場
合の構造は、PN−2における反復加算器も、追加のY値
レジスタも必要としない。これらは、第9図に示すよう
に、PN−2構造がPN−1の複製となり、さらにPN−1/PN
−2構造全体がSPIN−E(E=2)になるように、PN−
1から共用できるからである。
SPIN-EXP周期の計算 周期計算は、第12図の例(X=2)に示すように、PN
−2における増大した並列性に基づく。次に式を一般に
Xに拡張する。以下の新しい変数がSPIN-EXPの解析で使
用される。
・δQr=SPIN-EXP待ち行列読取りアクセス遅延 ・δQW=SPIN-EXP待ち行列書込み遅延 新しい一般的仮定及び他の表記法は以下の通りであ
る。
1.δQr≦δMo待ち行列読取りアクセス遅延は乗算器遅延
よりも小さくなければならない。
2.δQW≦δMo待ち行列書込み遅延は乗算器遅延よりも小
さくなければならない。
3.SPIN、SPIN−E及びSPIN-EXPのPN−1では、加算器ツ
リー中の段数はlog2Nである。ただし、Nはシミュレー
トされるニューロンの総数であり、SPIN入力の数に等し
い。
4.SPIN-EXPのPN−2では、加算器ツリー中の段の総数は
log2Xである。ただし、Xは反復された入力乗算器部分
の数である。
PN−1の場合 SPIN-EXPのPN−1部分は、SPINと同様にY値を生成
し、以下の形のタイミング式を有する。
(Y′id=(i)δM+(log2N)δA+δS+δB2+δ
PE SPIN-EXPでは、PN−1は、(N−P)番目の値が次のよ
うになるN−P個の値を生成する。
(Y′N-Pd=(N−P)δM+(log2N)δA+δS+δ
B2+δPE (12) PN−2の場合 Xに関する最後の2つの乗算は次のようになる。
(YN-1WN-1,N-1d=N/XδM (YNWN-1,Nd=N/XδM 加算器ツリー及び反復加算の場合 Xに関する最後の求和は次のようになる。
δA項をまとめると、 (N−1)番目のニューロンの出力Y値をこのとき次の
ように計算することができる。
PN−2からのP番目のY値、すなわち、この場合はPN−
2からのYN値は以下のタイミングを有する。
(Y′Nd=P(N/X)δM+(1+log2X)δA+δS
δB2+δPE (13) PN−2は、X個の反復された入力乗算器部分によってP
個のニューロン値を生成する。SPIN-EXPの性能を以前の
手法よりも向上させるには、PN−2から生成される最後
のニューロン値が、N−Pニューロン値がPN−1から生
成される以下の時間で生成されることが必要である。式
12≧式13と設定すると、次の結果が得られる。
(N−P)δM+(log2N)δA+δS+δB2+δPE≧P
(N/X)δM+(1+log2X)δA+δS+δB2+δPE 整理すると、 (N−P)δM+(log2N)δA≧P(N/X)δM+(1+l
og2X)δA Pについて解くと、 X=1の場合、Pは次のようになる。
P=1の場合にNについて解くと、乗算器遅延及び加算
器遅延に関してNの最小値が得られる。
加算器遅延を1クロック・サイクルすなわちδA=1Cと
仮定して式15に代入すると、 ただし、δ′M=δMの無次元数値。乗算器遅延の増大に
伴うNのこの指数関数的増加は、第13図のPN−2の構造
によるものである。P=1の場合は、システム全体の性
能がPN−2遅延だけ低下する。というのは、現在の反復
値、すなわちPN−2からの反復値が全て受け取られるま
で、PN−1は次の値の処理を開始できないからである。
PN−1について式12を繰り返し、P=1と設定すると、 (Y′N-1)d=(N−1)δM+(log2N)δA+δS
δB2+δPE (16) リング・シストリック・アレイ・ニューラル・ネットワ
ークの式3を再掲すると、 シストリック・リング周期=NδM+δA+δB1+δS P=1の場合、式16はシストリック・リング・ニューラ
ル・ネットワークの性能式に非常に近くなり、性能が依
然としてリング・シストリック・アレイ手法とほぼ同等
であることを示す。
X=Nの場合は、反復加算器遅延は必要でなく、1本
の加算器ツリーだけでよく、PN−2はPN−1の複製にな
る。このX=Nの場合は、Pは次のようになる。
したがって、XがNに近づくに従って性能は2倍にな
り、回路は、既に述べたSPIN−E(E=2)のようにな
る。
Xが増加するとき、SPIN-EXPを実施するもっと実現可
能な方法は、PN間でY値レジスタを共用し、N/X−1マ
ルチプレクサを使ってPN−2の乗算器入力を供給するも
のになる。X=N/2の場合についてこの構造を第16図に
示す。この例では単純なスイッチとして働くマルチプレ
クサが無視し得るほど小さな遅延を示し、クリティカル
なタイミング経路に影響を及ぼさないものと仮定する
と、PN−2に対するタイミング式は式13と同じままとな
る。ビット直列設計では、Y値がマルチプレクサ内にシ
フトされ、Y値レジスタ内で再循環されるものと仮定す
ると、X個のN/X−1単一ビット・マルチプレクサが必
要なだけであり、全体的なハードウェア・コストをほと
んど増加しない。
SPIN-EXPの性能比較 シグモイド生成機構は、それを実施するのに、一般に
乗算器または加算器よりも多くのハードウェアを必要と
する複雑な関数である。そうであっても、シグモイド生
成機構、マルチプレクサとその入力レジスタ、及び加算
器がそれぞれ同量のハードウェアを必要とする最悪の場
合のシナリオを考えると、リング・シストリック・アレ
イ・ニューラル・ネットワークとほぼ同じハードウェア
を含むSPIN-EXP構造からどのような性能を得ることがで
きるであろうか。両方の構造は同量の重み記憶域を必要
とするので、両方の設計で使用される乗算器、加算器及
びシグモイド生成機構の合計量を調べてみる。シグモイ
ド生成機構の差は、SPIN-EXPにおける追加の乗算器及び
加算器に使用される。
まずN=1024とする。
リング・シストリック・アレイでは、以下のコストを想
定する。
・乗算器1024個 ・加算器1024個 ・シグモイド生成機構1024個 リング・シストリック・アレイ・ニューラル・ネットワ
ークは合計3072個の要素を有する。
E=2個のシグモイド生成機構を含むSPIN-EXP構造を
考えると、 ・乗算器1024+X個 ・加算器1024+X−1個 ・シグモイド生成機構2個 2つのアーキテクチャの間には、N−2、すなわち、
シグモイド生成機構1022個の差がある。SPIN-EXPでは、
要素の合計数は以下のようになる。
SPIN-EXP要素の数=2049+2X ハードウェア・コストを上記のように仮定して、両方の
設計の要素の数を等しく置き、その結果得られる式をX
について解くことができる。
3072=2049+2X X≒512 ここで再掲する式14を使って、Pについて解くことがで
きる。
P≦341.3 P=341及びX=52を使って、SPIN-EXPのPN−1(式1
2)とPN−2(式13)の関係を調べる。式12≧式13と置
き、共通項を差し引くと、結果は次のようになる。
(1024-341)δM+(log21024)δA≧341(1024/512)
δM+(1+log2512)δA 整理すると、 (683)δM+(10)δA≧(682)δM+(10)δA 上記不等式が成立するので、SPIN-EXPは正しく機能す
る。この2つのハードウェア・モデルは最悪の場合の仮
定のもとでほぼ等しいので、性能の向上を計算すること
ができる。
式3及び12を代入し、δB1=δB2=δBと置くと、 N=1024及びP=341を代入すると、 Nが大きい場合、NδM>>(δA+δS+δB)、かつ
(N−P)δM>>((log2N)δA+δS+δB+δPE
なので、次のようになる。
この例では、性能の向上は以下のようになる。
シグモイド生成機構はこの例で想定したよりも複雑な関
数なので、1.5倍という性能の向上は、実際に得られる
下限を示している。
比較 第17図は、全てのパラメータは2の累乗であると仮定
し、ここで考察したアーキテクチャのハードウェア及び
性能の比較を示す。
・N−モデル化される物理ニューロンの数 ・E=PN要素の数 ・X=反復された入力乗算器部分の数 ・P=反復された並列PNから生成されるニューロン値の
数 ・A=クロック・サイクル単位で示した乗算器遅延に等
しい無次元数 ・B=クロック・サイクル単位で示したシグモイド遅延
に等しい無次元数 ・C=システム・クロック・サイクルを表す単位 以下の仮定のもとでのアーキテクチャ間の仮想システ
ム・クロック・サイクルの比較を表1に示す(比較が有
効となるように、δS≦δMを保つ)。
・δM=64 ・δS=64 ・δA=1 ・δB=1 ・δmpx=1 ・δPE=1 SPINアーキテクチャの4種類の拡張版SPIN−E、SPIN
-IP、SPIN-IP2及びSPIN-EXP、ならびにVSPINと呼ばれる
SPINの5番目の仮想的拡張版について検討した。リング
・シストリック・アレイ・ニューラル・ネットワークに
ついて考察し、それとSPINアーキテクチャの間で比較を
行なった。この検討から、以下のことが結論できる。
・SPIN及びその拡張版では、様々な性能対価格のトレー
ドオフを示す広範な実施態様が可能である。
・NニューロンのSPINタグ付きアーキテクチャは、m
(m<N)ニューロンのネットワークで全性能に近い性
能をもたらす。log2Nの加算器ツリーとlog2m加算器ツリ
ーのわずかな差が、全性能を得るための唯一の制限因子
である。m≦Nの範囲にわたってこの性能を得るために
構造上の変更は必要でない。
・このアーキテクチャは、ニューロンの数(m)が、SP
INが直接サポートするニューロンの数Nよりも大きいネ
ットワークの仮想実施態様用に拡張可能である。
・SPINはビット直列手法またはワード並列手法のいずれ
でも実施可能である。
・SPIN-IPはSPINに比べて秀れた性能をもたらし、さら
にδS≦δM及びシグモイド生成機構1個当たり1本のバ
スという制約をなくしながら、SPIN−E(E=δ′M
と同等の性能をもたらす。
・Nが大きな場合、SPINの性能はリング・シストリック
・アレイ・ニューラル・ネットワークの性能とほぼ同等
であるが、必要なシグモイド生成機構はN−1個だけ少
なくなり、ハードウェアがかなり節約される。
・ここで示した、等量のハードウェアの最悪の場合の比
較では、SPIN-EXPはリング・シストリック・アレイ・ニ
ューラル・ネットワークに比べて約1.5倍の性能向上を
もたらす。
以上、本発明の好ましい実施例について説明したが、
当業者ならこれらの論議を理解すれば、現在でも将来で
も下記の特許請求の範囲に含まれる様々な改良及び機能
強化をそれに加えるであろう。この特許請求の範囲は、
最初に開示した諸発明に対する適切な保護を維持するも
のと解釈すべきである。
フロントページの続き (72)発明者 デルガドーフライアズ、ホセ、グアダル ーペ アメリカ合衆国ニューヨーク州ヴェスタ ル、アパートメント11、プラザ・ドライ ブ431番地 (56)参考文献 特開 昭58−181168(JP,A) 特開 平1−265330(JP,A) 特開 平2−64880(JP,A)

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】N個の処理要素(PE)であって、その各々
    が、ニューロン値及びPEタグのための記憶手段と、新し
    いニューロン値を識別するタグとPEタグを比較するタグ
    突き合わせ手段と、前記新しいニューロン値のタグが前
    記PEタグと一致する場合は前記PEのニューロン値として
    前記新しいニューロン値を記憶する手段と、及び前記新
    しいニューロン値を識別するタグが前記PEタグと一致し
    ない場合は前記PEの次のものに前記新しいニューロン値
    を渡す手段を有するN−1個のPEとを含み、 N個の重み記憶ユニットであって、そのそれぞれが前記
    PEのそれぞれの1つに接続され、及びそのそれぞれが複
    数の重み値を記憶するものと、 N個の乗算器であって、そのそれぞれが前記重み記憶ユ
    ニットのそれぞれの1つに接続され、及びそのそれぞれ
    が出力として前記重み記憶ユニットのそれぞれの1つ接
    続されたそれぞれのPEの1つのニューロン値と前記重み
    記憶ユニットののそれぞれの1つの重み値の1つの積を
    生成するものと、 和を生成するために前記乗算器の出力を加算する加算器
    ツリーと、 前記和を受信し、その和からニューロン活動化関数を用
    いて新しいニューロン値を生成する生成手段と、 前記生成されたニューロン値を前記生成手段から前記PE
    の1つに新しいニューロン値として通信する手段と、 を有する順次パイプライン式ニューラル・コンピュータ
    装置。
  2. 【請求項2】前記ニューロン活動化関数は非線型シグモ
    イド関数である請求項1記載の装置。
  3. 【請求項3】前記加算器ツリーはlog2N個の2−1加算
    器段を含む請求項1記載の装置。
  4. 【請求項4】前記通信手段は、前記ニューロン値、ソー
    ス・タグ、有効信号、及びホストのみで制御される重み
    ビットとからなるニューロン情報のパケットを含むバス
    である請求項1記載の装置。
  5. 【請求項5】ホストへの独立したインターフェースと、 前記装置の初期設定のために前記ホスト・コンピュータ
    を前記通信手段に接続し、及び前記重み値及び前記ニュ
    ーロン値にアクセスするための手段と、 を供給するホスト・インターフェース制御手段を含む請
    求項1記載の装置。
  6. 【請求項6】前記重み記憶ユニットが、 前記N個の重み値をアドレスする手段と、 全ての重みアレイのための共通Nアドレス生成機構であ
    って、前記アドレス生成機構はN番目の更新サイクルを
    示すN番目の事象出力を提供するものと、 を有する請求項1記載の装置。
  7. 【請求項7】前記PEの記憶タグによって特定された順序
    で前記通信手段に前記新しいニューロン値を順番に生成
    し出力する手段を含む請求項1記載の装置。
  8. 【請求項8】有効かつ安定なニューロン情報のみが通信
    されるように、1制御周期の間に前記新しいニューロン
    値及び識別タグと共に前記通信手段上に置かれる有効ビ
    ットを含む請求項1記載の装置。
  9. 【請求項9】前記新しいニューロン値を記憶するための
    手段を非活動化する手段を含む請求項1記載の装置。
  10. 【請求項10】次の1組の並列乗算がいつ開始できるか
    を示すために、最後の新しいニューロン値が前記PEのう
    ちの1に通信されたことを示すための手段を含む請求項
    1記載の装置。
  11. 【請求項11】前記PEにおけるタグ突き合わせ手段がな
    く、前記新しいニューロン値がカウンタ機構からの指示
    で、前記PEのニューロン値として記憶される請求項1記
    載の装置。
  12. 【請求項12】前記加算器ツリー接続された累算器含む
    請求項1記載の装置。
  13. 【請求項13】E−1個の実質的に同じ装置に接続さ
    れ、さらにE本のバスの相互接続ネットワークと制御手
    段を有する請求項1記載の装置。
  14. 【請求項14】複数の非パイプライン式乗算器及びニュ
    ーロン活動化関数がある請求項1記載の装置。
  15. 【請求項15】E個の実質的に同じ並列装置と、E本の
    バスと、E−1個の並列装置からP個のニューロン値を
    生成するための、前記E−1個の並列装置に含まれるX
    個の反復された入力乗算器部分を有し、ここでE、X、
    及びPは1より大きい整数である請求項1記載の装置。
JP3510394A 1990-05-22 1991-04-08 Spin:順次パイプライン式ニューロコンピュータ Expired - Fee Related JP2575565B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US526,866 1990-05-22
US07/526,866 US5065339A (en) 1990-05-22 1990-05-22 Orthogonal row-column neural processor

Publications (2)

Publication Number Publication Date
JPH04507025A JPH04507025A (ja) 1992-12-03
JP2575565B2 true JP2575565B2 (ja) 1997-01-29

Family

ID=24099135

Family Applications (3)

Application Number Title Priority Date Filing Date
JP3510394A Expired - Fee Related JP2575565B2 (ja) 1990-05-22 1991-04-08 Spin:順次パイプライン式ニューロコンピュータ
JP3507999A Expired - Fee Related JP2666830B2 (ja) 1990-05-22 1991-04-08 トライアングル・スケーラブル・ニューラル・アレイ・プロセッサ
JP3125109A Expired - Fee Related JPH07117948B2 (ja) 1990-05-22 1991-04-26 コンピユータ装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP3507999A Expired - Fee Related JP2666830B2 (ja) 1990-05-22 1991-04-08 トライアングル・スケーラブル・ニューラル・アレイ・プロセッサ
JP3125109A Expired - Fee Related JPH07117948B2 (ja) 1990-05-22 1991-04-26 コンピユータ装置

Country Status (4)

Country Link
US (1) US5065339A (ja)
EP (3) EP0484479A1 (ja)
JP (3) JP2575565B2 (ja)
WO (2) WO1991018347A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278945A (en) * 1992-01-10 1994-01-11 American Neuralogical, Inc. Neural processor apparatus
DK170490B1 (da) * 1992-04-28 1995-09-18 Multi Inform As Databehandlingsanlæg
JP2647330B2 (ja) * 1992-05-12 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 超並列コンピューティングシステム
FR2692702A1 (fr) * 1992-06-17 1993-12-24 Philips Electronique Lab Dispositif de traitement de données ayant une architecture à instruction commune agissant sur des données multiples.
US5517667A (en) * 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
JP3524250B2 (ja) * 1995-11-27 2004-05-10 キヤノン株式会社 デジタル画像処理プロセッサ
US6023753A (en) * 1997-06-30 2000-02-08 Billion Of Operations Per Second, Inc. Manifold array processor
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
EP1182609A1 (de) * 2000-08-25 2002-02-27 Peter Bezler Schaltungsanordnung zur Simulation neuronaler Netzwerke und zur positionsunabhängigen Mustererkennung
KR20130090147A (ko) * 2012-02-03 2013-08-13 안병익 신경망 컴퓨팅 장치 및 시스템과 그 방법
EP3035249B1 (en) * 2014-12-19 2019-11-27 Intel Corporation Method and apparatus for distributed and cooperative computation in artificial neural networks
US10496855B2 (en) 2016-01-21 2019-12-03 Hewlett Packard Enterprise Development Lp Analog sub-matrix computing from input matrixes
CN107315571B (zh) * 2016-04-27 2020-07-31 中科寒武纪科技股份有限公司 一种用于执行全连接层神经网络正向运算的装置和方法
EP3542319B1 (en) * 2016-11-15 2023-07-26 Google LLC Training neural networks using a clustering loss
US10241971B2 (en) 2016-12-15 2019-03-26 Hewlett Packard Enterprise Development Lp Hierarchical computations on sparse matrix rows via a memristor array
US10459876B2 (en) * 2018-01-31 2019-10-29 Amazon Technologies, Inc. Performing concurrent operations in a processing element
US10621489B2 (en) * 2018-03-30 2020-04-14 International Business Machines Corporation Massively parallel neural inference computing elements
CN108977897B (zh) * 2018-06-07 2021-11-19 浙江天悟智能技术有限公司 基于局部内在可塑性回声状态网络的熔纺工艺控制方法
JP2022075295A (ja) 2020-11-06 2022-05-18 富士通株式会社 機械学習プログラム、機械学習方法および情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58181168A (ja) * 1982-04-17 1983-10-22 Nippon Telegr & Teleph Corp <Ntt> 自律型プロセツサアレイ方式
FR2625347B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
JPH01265330A (ja) * 1988-04-15 1989-10-23 Sanyo Electric Co Ltd データ駆動型のデータ処理装置
EP0349820B1 (de) * 1988-07-05 1995-04-19 Siemens Aktiengesellschaft Netzwerk -Baustein und Architektur für die programmierbare Emulation künstlicher neuronaler Netze mit digitaler Arbeitsweise
JPH0229851A (ja) * 1988-07-20 1990-01-31 Fujitsu Ltd 複数配列データ比較方法
JP2679731B2 (ja) * 1988-08-31 1997-11-19 富士通株式会社 パイプライン処理を用いたニューラルアーキテクチュア
GB2224139A (en) * 1988-10-24 1990-04-25 Philips Electronic Associated Digital data processing apparatus

Also Published As

Publication number Publication date
JPH04507025A (ja) 1992-12-03
US5065339A (en) 1991-11-12
WO1991018347A1 (en) 1991-11-28
EP0459222A2 (en) 1991-12-04
EP0484479A4 (ja) 1994-04-13
EP0484507A4 (en) 1992-07-15
EP0459222A3 (ja) 1994-03-30
WO1991018348A1 (en) 1991-11-28
JP2666830B2 (ja) 1997-10-22
EP0484507A1 (en) 1992-05-13
JPH07117948B2 (ja) 1995-12-18
JPH04232562A (ja) 1992-08-20
JPH04506879A (ja) 1992-11-26
EP0484479A1 (en) 1992-05-13

Similar Documents

Publication Publication Date Title
JP2575565B2 (ja) Spin:順次パイプライン式ニューロコンピュータ
US5337395A (en) SPIN: a sequential pipeline neurocomputer
JP2663996B2 (ja) ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア
JP3096387B2 (ja) 数値演算処理装置
US5377306A (en) Heuristic processor
JPH02170263A (ja) ニユーラルネツト信号処理プロセツサ
EP0370543B1 (en) Digital neural network
JPH04293151A (ja) 並列データ処理方式
Kearney et al. Bundled data asynchronous multipliers with data dependent computation times
US5243688A (en) Virtual neurocomputer architectures for neural networks
WO2022062391A1 (zh) 一种加速rnn网络的系统、方法及存储介质
Basiri Versatile architectures of artificial neural network with variable capacity
US11250105B2 (en) Computationally efficient general matrix-matrix multiplication (GeMM)
Kim et al. An Asynchronous Inter-Processor Communication Based, Input Recycling Parallel Architecture for Large Scale Neural Network Simulation
Myers et al. HANNIBAL: A VLSI building block for neural networks with on-chip backpropagation learning
EP4250186A1 (en) Qram architecture quantum circuit construction method and apparatus, and quantum address data analysis method and apparatus
EP4254275A1 (en) Data reading method and apparatus, storage medium and electronic apparatus
Ahn Extension of neuron machine neurocomputing architecture for spiking neural networks
JP3114616B2 (ja) ソフトウェア変換を用いた順序回路の生成
JP2679731B2 (ja) パイプライン処理を用いたニューラルアーキテクチュア
Krikelis A novel massively associative processing architecture for the implementation of artificial neural networks
Delgado-Frias et al. A VLSI pipelined neuroemulator
Hämäläinen et al. Linearly expandable partial tree shape architecture for parallel neurocomputer
Myjak A two-level reconfigurable cell array for digital signal processing
Hadley The performance enhancement of a run-time reconfigurable FPGA system through partial reconfiguration

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees