JP2663995B2 - スケーラブル・フロー仮想学習ニューロコンピュータ - Google Patents

スケーラブル・フロー仮想学習ニューロコンピュータ

Info

Publication number
JP2663995B2
JP2663995B2 JP3509437A JP50943791A JP2663995B2 JP 2663995 B2 JP2663995 B2 JP 2663995B2 JP 3509437 A JP3509437 A JP 3509437A JP 50943791 A JP50943791 A JP 50943791A JP 2663995 B2 JP2663995 B2 JP 2663995B2
Authority
JP
Japan
Prior art keywords
neuron
synapse
processor
bit
group
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
JP3509437A
Other languages
English (en)
Other versions
JPH05500429A (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
Priority claimed from US07/526,866 external-priority patent/US5065339A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05500429A publication Critical patent/JPH05500429A/ja
Application granted granted Critical
Publication of JP2663995B2 publication Critical patent/JP2663995B2/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)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Feedback Control In General (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 [技術分野] 本発明は、スケーラブル・フロー仮想学習ニューロコ
ンピュータ・システム及び装置に関し、具体的には、新
しいグループ区分アルゴリズムを使用するスケーラブル
混成制御フロー/データ・フロー仮想学習ニューロコン
ピュータ、及び仮想学習のための後方伝播能力を有す
る、スケーラブル仮想学習アーキテクチャ、シナプス・
プロセッサ・アーキテクチャ(SPA)マッピング、内部
正方形折畳み、及びアレイ分離に関する。
[関連出願に関する相互参照] 本出願は優先権を主張し、以下の関連同時係属特許出
願の一部継続出願である。
1990年5月22日出願の“APPARATUS AND METHOD FOR N
EURAL PROCESSOR"と題するS.ヴァッシリアディス(Vass
iliadis)及びG.G.ペチャネク(Pechanek)の米国特許
出願第07/526866号(IBMドケット番号EN9-90-045)
(“SNAP"と呼ぶことがある)。
1991年4月8日出願の“A TRIANGULAR SCALABLE NEUR
AL ARRAY PROCESSOR"と題するG.G.ペチャネク及びS.ヴ
ァッシリアディスの米国特許出願第07/682785号(IBMド
ケット番号EN9-91-018)(“T−SNAP"と呼ぶことがあ
る)。
1991年4月8日出願の“SPIN:A SEQUENTIAL PIPELINE
D NEURO COMPUTER"と題するS.ヴァッシリアディス、G.
G.ペチャネク及びJ.G.デルガード=フリアス(Delgado-
Frias)の米国特許出願第07/681842号(IBMドケット番
号EN9-91-026)(“SPIN"と呼ぶことがある)。
さらに、以下の関連出願が同時に出願されている。
1991年5月17日出願の“A LEARNING MACHINE SYNAPSE
PROCESSOR SYSTEM APPARATUS"と題するG.G.ペチャネ
ク、J.G.デルガード=フリアス及びS.ヴァッシリアディ
スの米国特許出願第07/702261号(IBMドケット番号EN9-
91-051)(“LM"または“Pechanek LM91"と呼ぶことが
ある)。
1991年5月17日出願の“VIRTUAL NEUROCOMPUTER ARCH
ITECTURES FOR NEURAL NETWORKS"と題するG.G.ペチャネ
ク、J.G.デルガード=フリアス及びS.ヴァッシリアディ
スの米国特許出願第07/702260号(IBMドケット番号EN9-
91-053)(“VIRTUAL"または“Pechanek VIRTUAL 91"と
呼ぶことがある)。
1991年5月17日出願の“PLAN:PYRAMID LEARNING ARCH
ITECTURE NEUROCOMPUTER"と題するG.G.ペチャネク、S.
ヴァッシリアディス及びJ.G.デルガード=フリアスの米
国特許出願第07/702263号(IBMドケット番号EN9-91-05
5)(“PLAN"と呼ぶことがある)。
これらの同時係属出願及び本出願は同じ譲渡人、すな
わち、米国ニューヨーク州アーモンクのインターナショ
ナル・ビジネス・マシーンズ・コーポレーションによっ
て所有されている。
これらの同時係属出願に記載の記述を、この引用によ
って本明細書に合体する。
[発明の検討で使用する参照文献] 本発明者等の諸発明の詳細な検討では、従来技術では
ないが議論を理解する助けとなる本発明者等自身の未発
表研究を含む他の研究を引用する。このような追加の文
献には以下のものがある。
D.E.ルーメルハルト(Rumelhart)、J.L.マックレラ
ンド(McClelland)及びPDPリサーチ・グループ(the P
DP Research Group)の著書“Parallel Distributed Pr
ocessing Vol.1:Foundations"、米国マサチュセッツ州
ケンブリッジ、MIT Press、1986年刊(以下では“Rumel
hart 86"と呼ぶ)。
J.J.ホップフィールド(Hopfield)の論文“Neurons
With Graded Response Have Collective Computational
Properties Like Those of Two-State Neurons",Proce
edings of the National Academy of Sciences 81,pp.3
088-3092,1984年5月(以下では“Hopfield 84"と呼
ぶ)。
1991年5月17出願の“A LEARNING MACHINE SYNAPSE P
ROCESSOR SYSTEM APPARATUS"と題するG.G.ペチャネク、
J.G.デルガード=フリアス及びS.ヴァッシリアディスの
米国特許出願第07/702261号(IBMドケット番号EN9-91-0
51)(“LM"または“Pechanek LM 91"と呼ぶことがあ
る)。
1991年5月17日出願の“VIRTUAL NEUROCOMPUTER ARCH
ITECTURES FOR NEURAL NETWORKS"と題するG.G.ペチャネ
ク、J.G.デルガード=フリアス及びS.ヴァッシリアディ
スの米国特許出願第07/702260号(IBMドケット番号EN9-
91-053)(“VIRTUAL"または“Pechanek VIRTUAL 91"と
呼ぶことがある)。
H.Hellermanの著書“Digital Computer System Princ
iples",McGraw-Hill Book Company,pp.346-348。(以後
“Hellerman 67"と呼ぶ。) [背景技術] 仮想学習とは、外部メモリに記憶された仮想結合重み
及び仮想ニューラル状態値を修正できる能力を意味す
る。この機能は、同時係属の諸特許出願で開発されたそ
の他の機能の完全なスケーラビリティを要求する環境に
とって望ましいものである。この機能及びそれを達成す
るための装置はまだ開発されていない。
[発明の要約] 本発明者等は、スケーラブル仮想学習機械(SVLM)と
呼ばれる仮想学習ニューロコンピュータ装置を提供し
た。これは完全に結合されたスケーラブルなアーキテク
チャにおいて高性能直接エミュレーション及び仮想学習
能力を提供するものである。本発明者等のSVLMは、本装
置が接続できる外部メモリに記憶された仮想結合重み及
び仮想ニューラル状態値を修正できる能力を提供する。
本発明者等の諸発明によれば、本発明者等は、シナプス
処理ユニットのグループに区分されたNニューロン構造
を有するスケーラブル・グループ区分仮想ニューラル・
シナプス・プロセッサ・アーキテクチャ装置を提供し
た。各グループは、命令及びデータ記憶ユニットを含
み、命令及びデータを受け取り、命令を実行し、V個の
ニューロンに対する重み及びニューロン出力値用の外部
データ記憶装置とインターフェースする、複数のシナプ
ス処理ユニットを有する。ただし、V>N、かつVはグ
ループ区分Nニューロン構造上でエミュレートされるニ
ューラル・ネットワーク内のニューロンの数である。こ
れらのグループは、グループ命令を実行し、通信加算器
ツリーを有する。Nニューロン構造は、好ましくはシグ
モイド生成機構の形のニューロン活動化関数ユニットを
有し、この構造は、V個のニューロンをサポートするN
ニューロン構造にこれらのグループを相互接続すること
ができ、通信加算器ツリーを介して命令とデータ、及び
ニューロン活動化関数ユニットの出力を入力シナプス処
理ユニットに通信に戻すことができる。
スケーラブル・フロー仮想学習ニューロコンピュータ
・システム装置は、スケーラブル混成制御フロー/デー
タ・フローを有し、スケーラブル仮想学習アーキテクチ
ャ用のグループ区分アルゴリズムを使用する。本発明者
等は、仮想学習のための後方伝播能力を有するシナプス
・プロセッサ・アーキテクチャ・マッピング、内部正方
形折畳み、及びアレイ分離を提供する。
グループ区分アルゴリズムは、それ自体の外部メモリ
を含むシナプス・プロセッサの共通構成単位を作成す
る。これらのプロセッサ・グループは、完全な結合度を
維持する高性能の汎用仮想学習機械を作成するために使
用される。シナプス・プロセッサ・グループによって、
システムは仮想サイズでスケーラブルになり、直接実行
能力が提供される。プロセッサ・グループ内部で、シナ
プス・プロセッサは、外部メモリ・アクセスが可能で同
期の問題が軽減された混成制御フロー/データ・フロー
・アーキテクチャとして設計される。
開発されている、ニューラル・ネットワークをサポー
トする一般のコンピュータ・アーキテクチャは、「シナ
プス」プロセッサのアレイを折り畳み分離して、ニュー
ロコンピュータ実施の共通構成単位であるプロセッサの
クラスタまたはプロセッサ・グループを作成する方法を
利用するものである。これらのプロセッサ・グループか
らなるニューロコンピュータは、完全に結合されたNニ
ューロン・ネットワーク・モデルを直接実行し、N個よ
り多いニューロンを含むネットワーク・モデルに対して
は仮想実行モードをサポートする。グループ内の各プロ
セッサのシナプス・プロセッサ・アーキテクチャ(SP
A)は、グループ区分アルゴリズムから得られる直接エ
ミュレーション・スケーラビリティをサポートし、外部
メモリの使用によって仮想シナプス・スケーラビリティ
をサポートする。この独特なSPAの特徴の1つは、順次
命令実行による制御フロー操作と、実行が有効タグ付き
データ・フローの受取りに依存するデータ・フロー操作
の両方が可能なことである。このアーキテクチャのもう
1つの独特の特徴は、実施態様で複数のプロセッサ・グ
ループが利用されるとしてもニューラル・ネットワーク
・モデルにおける完全な結合度をサポートする、プロセ
ッサ・グループにインターフェースする方法である。こ
のニューロコンピュータの他の独特の特徴は、シナプス
・プロセッサにとって局所的な動作完了のグループ通
知、及び学習アルゴリズムのサポートである。
前記及びその他の改良は、以下の詳細な説明に記載さ
れている。これらの発明ならびにその利点と特徴をよく
理解するには、本発明者等がこの分野で行った他の開発
に関する同時係属の特許出願を参照しなければならない
こともあろう。しかし、特に本明細書に記載する改良、
利点及び特徴に関しては、添付の図面に沿った説明で参
照を行う。
[図面の簡単な説明] 第1図は、16個の仮想ニューロン重み(256重み)を
サポートする4ニューロン構造の概略図である。
第2図は、8ニューロン・アレイ・モデルの概略図で
ある。
第3図は、1個の正方形プロセッサ・アレイと2個の
より小さい三角形プロセッサ・アレイに分割された8ニ
ューロン・アレイ・モデルの概略図である。
第4図は、8ニューロン・アレイ・モデルの折り畳ま
れた内部正方形の概略図である。
第5図は、2個の三角形アレイに分離された折り畳ま
れた内部正方形の概略図である。
第6図は、好ましい外部求和、シグモイド生成機構、
及び逆通信経路の概略図である。
第7図は、ニューロンY値を伴う16ニューロン・アレ
イ・モデル重みマトリックスを示す図である。
第8図は、三角形アレイ1及び2を示す図である。
第9図は、三角形アレイ3及び4を示す図である。
第10図は、2個の三角形アレイに分離された、折り畳
まれた内部正方形5を示す図である。
第11図は、2個の三角形アレイに分離された、折り畳
まれた内部正方形6を示す図である。
第12図は、2個の三角形アレイに分離された、折り畳
まれた内部正方形7を示す図である。
第13図は、2個の三角形アレイに分離された、折り畳
まれた内部正方形8を示す図である。
第14図は、2個の三角形アレイに分離された、折り畳
まれた内部正方形9を示す図である。
第15図は、2個の三角形アレイに分離された、折り畳
まれた内部正方形10を示す図である。
第16図は、逆通信経路を伴う好ましい外部求和、シグ
モイド生成機構の概略図である。
第17図は、切替え機構の概略図である。
第18図は、学習をサポートするための修正された8ニ
ューロン切替え機構の概略図である。
第19図は、学習をサポートするための修正された16ニ
ューロン切替え機構の概略図である。
第20図は、学習をサポートするための修正された16ニ
ューロン切替え機構の別の部分の概略図である。
第21図は、V及びNと記憶及び動作サイクルの関係を
示す表である。
第22図は、V=16、N=4、G=4の4ニューロン・
スケーラブル仮想学習機械の概略図である。
第23図は、外部メモリ構造の概略図である。
第24図は、1プロセッサ要素につき1個の重み、1個
のY値ビット、1プロセッサ・グループにつきH個の重
み要素を有する、V=16、N=4、H=16のスケーラブ
ル仮想学習機械の外部メモリ構造の概略図である。
第25図は、外部メモリ、対角線シナプス・プロセッサ
(DSYP)、及び一般シナプス・プロセッサ(GSYP)を有
するシナプス・プロセッサ・アーキテクチャの概略図で
ある。
第26図は、16ニューロン・ニューラル・ネットワーク
に関する4ニューロンSVLMタイミングを示す図である。
第27図は、詳細なタイミングを示すために拡大したサ
イクル時間を示す図である。
第28図は、各シナプス・プロセッサ・グループ及び外
部メモリ・アドレス指定構造と関連するメモリ・サブシ
ステムの概略図である。
第29図は、ニューロン・プロセッサのタグ付き命令/
データ形式を示す図である。
第30図は、入出力問題を解くためのニューラル・ネッ
トワークの概略図である。
第31図は、V=16、N=4、G=4の4ニューロン・
スケーラブルSVLM上にマップされた、11ニューロン入出
力エンコーダ問題を示す図である。
第32図は、初期設定の概略図である。
第33図は、第1層実行の概略図である。
第34図は、モードを進めY1′及びY2′を逆通信するた
めのセットSOカウントを示す図である。
第35図は、第2層実行の概略図である。
第36図は、逆通信Y3′の概略図である。
第37図は、第3層実行の概略図である。
第38図は、逆通信Y4′、Y5′、Y6′、及びY7′の概略
図である。
第39図は、第4層実行の概略図である。
第40図は、ロードSビット&Iビット、及びSOカウン
トとIAカウント、R4へのデータ経路変更、及び逆通信E
8、E9、E10、E11の学習モードを示す図である。
第41図は、重み付き誤差和ER4、ER5、ER6、ER7に関す
る乗算を開始するためのMPY R6*R3 T発行の学習モード
を示す図である。
第42図は、重み付き誤差和ER4、ER5、ER6、及びER7作
成の学習モードを示す図である。
第43図は、ステップ1重み更新MPY R5*R3→R4の学習
モードを示す図である。
第44図は、ステップ2重み更新MPY R4*IMD→R4の学
習モードを示す図である。
第45図は、外部メモリ内での重み更新ADD R6+R4→EX
TMEM2の学習モードを示す図である。
(注:図示の都合上、図は分割することがある。何枚も
使用する場合は、慣例に従って、図の上端を1枚目と
し、以下上から順に並べることにする。) この詳細な説明は、例によって提供される本発明者等
の諸明の好ましい実施例を説明する一部分である。
[発明の好ましい実施例] 本発明者等の好ましい実施例を検討する前に、好まし
い実施例を説明する際に使用するいくつかの共通の特徴
を紹介しておくことが有用であろう。
この説明では、数Vは、ニューロコンピュータ上でモ
デル化されるネットワーク内に含まれるニューロンの数
を表すために使用し、数Nは、物理的実施態様で使用可
能な物理ニューロンの数を意味する。仮想処理ではV>
Nである。この説明で記述するニューロコンピュータ・
アーキテクチャによって実施される計算タスクは、式1
及び2で与えられる。これらの式は、“Rumelhart 86"
の完全並列分散処理モデル及び“Hopfield 84"のホップ
フィールドネットワークのサブセットに基づいている。
上式で、 ・ Vはニューラル・ネットワーク内のニューロンの数 ・ 重みWの下付き文字W13などは、ニューロン3から
ニューロン1への結合の重みを意味する。
・ Yjは結合重みWijでi番目のニューロン入力に結
合されたj番目のニューロン出力の値 ・ Exiはi番目のニューロンへの外部入力 ・ −A≦Exi≦+A。ただし、Exiがそのニューロンへ
のただ1つの入力である場合は、−AはYi=0に等し
く、+AはYi=1に等しくなる(±受容可能な範囲の
誤差)。
・ F(zi)は、ニューロン活動化関数であり、しば
しば下記の形のシグモイド活動化関数に等しく設定され
る。
上式で、 ・ 関数F(zi)について ・ 0≦F(zi)≦1 ・ Tは所与の1組のzi値に対するシグモイド関数の
勾配を修正するのに使われる大域制御パラメータ ・ e=自然対数(2.71828……) 完全に結合されたVニューロン・ネットワークでは、
式1及び2は4つの基本操作を含む。
1.V2回の乗算 2.V回の積加算 3.V個の活動化関数 4.V×V回の通信 ニューロンコンピュータ実施態様には、克服しなけれ
ばならない多くの問題があり、高性能を達成するには高
度の並列性が必要である。ニューラル実行の4つの基本
操作との関係で、V2個の乗算エンジン、V個の積加算
及び活動化機構、及び遅延時間が最小のV×V個の通信
媒体を有することが望ましい。通常、VはNに比べて大
きい。ただし、Nは物理的に実現可能なニューロコンピ
ュータを表す。V>Nなので、多数のサイズのニューラ
ル・ネットワークモデルをサポートするために、ニュー
ロコンピュータ内に仮想エミュレーション能力が望まし
い。さらに、ニューロコンピュータ・アーキテクチャで
はより多くの汎用実行能力が必要であるので、学習には
いくつかの要件を満たす必要がある。仮想能力及び直接
エミュレーション能力の両方でスケーラブルなアーキテ
クチャを提供しながら、完全な結合度ならびに仮想能力
及び学習能力と関連した高性能をもたらすことは困難な
タスクであった。これらの問題は、スケーラブル仮想学
習機械(SVLM)によって対処される。
本発明者等の他の同時係属出願は、基本的なものであ
り、多くの状況に適用可能で必要な問題に解を与える最
良の方法を提供するが、特殊な環境で見られるある種の
制限があることが認められる。たとえば、本発明者等の
“Pechanek LM 91"の汎用学習機械(GPLM)シナプス・
プロセッサ・アーキテクチャ(SPA)は、ニューラル・
ネットワークモデルの直接実行に適切なシナプス処理要
素当たり単一の結合重み及びニューロン値だけの記憶容
量を有する。この直接エミュレーション能力により、V
がN以下に制限される。さらに、GPLMは、自動モードの
同期制御のためにタグ付きデータの利用を必要としな
い、単純な状態機械制御機構を利用していた(“Pechan
ek LM 91"参照)。Vが大きくなり、仮想能力が追加さ
れると、状態機械制御は複雑になる。このSPAはまた、
命令を発行する学習プロセッサに完了通知を提供しない
局所処理命令を含んでいた。学習プロセッサ内の状態機
械制御動作は、タイムアウトが、命令のタイプに応じて
シナプス・プロセッサにいつ新しい命令を送れるかを決
定するようなものと仮定された。“Pechanek VIRTUAL 9
1"の仮想TSNAPは、シナプス処理要素内に仮想結合重み
及びニューロン値の記憶域を含んでおり、V個(V>
N)のニューロンのエミュレーションが可能であった
が、それによってVは固定数に設定され、V及びNは技
術能力に連係されていた。さらに、この仮想TSNAPは学
習能力をサポートせず、その代りに単純な乗算機能ユニ
ット及び必要な重み及びY値記憶域だけを使用してい
た。どちらの手法でも、エミュレートされるニューロン
の数Vが増加するにつれて、前記の特徴のために多数の
難点が生ずる。1つの難点は、構造上でエミュレートで
きるニューラル・ネットワークのサイズの制限である。
GPLMは、N個のニューロンの物理的実施態様に制限さ
れ、V≦NがエミュレートできるV個のニューロンのネ
ットワークだけが可能になる。GPLMではNが制限された
が、仮想TSNAPでは、やはり技術的考慮により、Vが制
限される。Vが選択され、仮想TSNAP用のチップが作成
された後は、Vを増加することはできない。もう1つの
難点は、選択された技術のセル及び入出力容量による、
1つのチップ上に配置できるシナプス・プロセッサの数
を実際的に考慮しなければならないことである。チップ
上の多数のシナプス処理要素があり、望ましいシステム
で多数のチップが利用されると仮定すると、同期制御は
きわめて困難になる。すべての動作に対する状態機械制
御手法は、大きなシステムでは実現不可能である。状態
機械で制御されるシステムは、構築された後は、容易に
は拡張できない。命令の自動動作モードの同期化を解決
するために、制御フロー(順次命令実行)動作モードと
データ・フロー(データ依存実行)動作モードの両方を
サポートできる新しいアーキテクチャが開発された。命
令の自動動作モードは、データ・フローで制御される動
作として定義されるようになり、機能を「発火」する前
に有効なタグ付きデータを受け取ることを必要とする。
通知なしの命令の局所処理も大型システムでは問題にな
る。グループ加算ツリーを利用して、成功裡の動作完了
を実現するだけでなく、動作中に発生する誤差の通信を
も行う、局所処理完了通知の新しい方法が定義される。
このようにして、すべての動作の完了が命令/データ発
行プロセッサに通知され、従って適切な制御が保証さ
れ、さらにスケーラビリティが実現される。
チップ上に限られた数のシナプス・プロセッサがある
という、発生する可能性のある特別な状況が起こった場
合、問題は、V個(V≧N)のニューロンをサポートす
る多数のシナプス・プロセッサ・チップからなる学習能
力をもつ大きなNニューロコンピュータをどのように構
築すれば、重み及びニューロン値記憶域を拡張して仮想
容量を増加させるだけでなく、シナプス処理要素をも拡
張して、直接実行容量を増加させ、性能を向上させて将
来の成長を可能にできるかである。この説明では、学習
及びモデル化されたニューロン間の完全な結合度を保持
し、高いエミュレーション性能を提供しながら、実際的
スケーリング機構を可能にする、新規な区分アルゴリズ
ムによってプロセッサの大きな三角形アレイをより小さ
な三角形プロセッサ・アレイ・グループに分割する方法
を提示する。利用される外部メモリの量のみに依存す
る、結合重み及びニューロン値記憶域の成長が可能な、
外部メモリ・アーキテクチャが開発された。同時係属出
願のGPLMも同時係属出願の仮想TSNAPも、容量と性能の
両方でスケーラビリティを達成するには不十分である。
学習のサポートを維持し、スケーラブル仮想学習機械
(SVLM)と呼ばれる新しいタイプのニューロコンピュー
タを表す、新しいニューロコンピュータ・アーキテクチ
ャが開発された。この種の機械を開発する最善の方法を
例示するため、好ましい実施例を提示する。最初に、シ
ナプス・プロセッサ・アーキテクチャの仮想TSNAP構造
上へのマッピングを提示する。次に、内部正方形折畳み
及びアレイ分離グループ区分アルゴリズムを提示し、続
いて外部メモリをサポートする新しいシナプス・プロセ
ッサ・アーキテクチャ及びグループ・アーキテクチャ、
混成制御フロー/データ・フロー操作、及び誤差のある
または誤差のない局所シナプス処理完了通知について述
べる。また、この新しいアーキテクチャの利用を実証す
る後方伝播学習の例も提示する。
スケーラブル仮想学習アーキテクチャSPAの仮想TSNAP上
へのマッピング “Pechanek VIRTUAL 91"の仮想TSNAPは、シナプス・プ
ロセッサ・セル内に重み及びニューロン値を含み、乗算
器及び加算器ツリーを循環的に共用し、反復加算器を使
用する。各反復加算サイクルで、部分和を生成し、それ
が反復加算器(IA)に記憶され反復加算器が各反復加算
サイクルごとにネットワーク和を累計する。
仮想TSNAPのレジスタ乗算器アーキテクチャは、“Pec
hanek LM 91"のシナプス・プロセッサ・アーキテクチャ
上にマップすることができる。対角線シナプス処理「セ
ル」DSYPと一般シナプス処理「セル」GSYPの2種のタイ
プのプロセッサ「セル」構造がシナプス・プロセッサ・
アーキテクチャにおける学習に使用される。DSYPは1個
の重み/Y値乗算要素を含み、GSYPは2個の重み/Y値乗算
要素を含む。4物理ニューロンGPLM上にマップされた仮
想16ニューロン・ネットワークに対する結合重み及びニ
ューロン値記憶要件を第1図に示す。DSYPは点線で、GS
YPは破線で囲んである。DSYP及びGSYP内の重みは、4列
にグループ分けされ、各列は4つの反復加算サイクルと
関連する結合重みから構成される。この例では、1個の
ニューロン出力を生ずるのに4つの反復加算サイクルが
必要である。図のように、4つの反復加算サイクルから
なる第1セットはY1′、Y2′、Y3′、Y4′を生成する。
4つの反復加算サイクルからなる第2セットはY5′、Y
6′、Y7′、Y8′を生成する。16個のニューロン出力す
べてが出力されるまでこれが続行する。合併された構造
は、新しいSVLMアーキテクチャを記述するための出発点
となる。
内部正方形折畳み及びアレイ分離 8ニューロンの場合の“Pechanek LM 91"のGPLM構造
を第2図に示す。ここで、 第2図の大きな三角形構造の内部に、シナプス・プロ
セッサ・セルからなる1つの正方形配置及び2つのより
小さい三角形配置がることに留意されたい。これらを主
構造から分離し、加算ツリーの最終段をシナプス・プロ
セッサの配置の外部に置くと、第3図に示す構造が得ら
れる。第3図は、3つの構造、すなわち2つの三角形ア
レイ及び1つの正方形アレイを含む。スケーラビリティ
をサポートするには、共通の反復可能な設計が望まし
い。第3図に示した2つのタイプの構造、すなわちシナ
プス・プロセッサからなる1つの正方形配置及び2つの
三角形配置があるので、単一の設計によるスケーラビリ
ティは実現できない。正方形編成の構造をどのように変
えれば、元の8ニューロン・モデルを構成する他の2つ
の三角形アレイと同じサイズの2つの三角形アレイにな
り、共通の反復可能な設計が得られるかを以下に示す。
これを達成するために、まず正方形構造を第4図に示す
ようにその対角線に沿って折り畳むが、すべてのシナプ
ス・プロセッサはそのまま保ち、加算器ツリーだけを折
り畳む。各シナプス・プロセッサ内の重み及びY値記憶
域を配置替えすることにより、第4図の折り畳んだ構造
を第5図に示すように2つの別々の三角形処理アレイと
して書き直すことができる。この手順に従うことによ
り、第2図の大きな三角形構造が4つのより小さい三角
形アレイから構成されることが示された。
ここでプロセッサのグループに関する新しい表記法を
導入する。Gはグループの数を表し、HはグループG内
のシナプス・プロセッサ要素の数を表す。より小さな各
三角形構造は、この場合サイズH=16のグループGを表
す。第3図は、A1、A2、A3、A4を生成するグループと、
B5、B6、B7、B8を生成する第2のグループの2つのグル
ープを示す。第5図は、B1、B2、B3、B4を生成する三角
形アレイ・グループとA5、A6、A7、A8を生成するもう1
つの三角形アレイ・グループの2つの分離された三角形
アレイ・グループを示す。第2図のN=8ニューロン三
角形アレイをつくるには、4つのグループ、G=4が必
要である。外部求和及びシグモイド生成関数、ならびに
8ニューロン・モデルを完成する逆通信経路を第6図に
示す。同図で、(→)は順方向求和経路を示し、(←)
は逆通信経路を示す。
この区分概念を、次に16ニューロン・ニューロコンピ
ュータについて提示する。第1ステップでは、第7図に
示すように16ニューロン構造を三角形アレイと正方形ア
レイのグループに区分する。16のグループ・サイズHを
使用する16ニューロン・モデルでは、1、2、3、4で
表す4つの三角形アレイ、及び5、6、7、8、9、10
で表す6つの正方形アレイがある。次に、これらの正方
形アレイを折り畳み、所望の三角形アレイに分離する。
この場合、その結果得られる16個の三角形アレイを第8
図ないし第15図に示す。各図には、第7図を参照するグ
ループ・ラベルがつけてある。外部加算及びシグモイド
生成関数、ならびに16ニューロン・モデルを完成する逆
通信経路を第16図に示す。同図で(→)は順方向加算経
路を示し、(←)は逆通信経路を示す。第8図ないし第
17図の表現を容易にするために、次のことに留意された
い。
・ A=10 ・ B=11 ・ C=12 ・ D=13 ・ E=14 ・ F=15 ・ G=16 一般に、グループ区分アルゴリズムは所与のサイズH
のより大きな構造に適用されるので、外部加算器ツリー
にさらに求和段が追加される。単一のチップ上に1つの
プロセッサ・グループが、すなわち1チップ上にH個の
シナプス処理要素が配置される実施態様を仮定すると、
追加のグループ・チップを追加するとき、外部加算器ツ
リーだけを修正すればよい、スケーラブル・ニューロコ
ンピュータ設計を構築することができる。これは、8及
び16ニューロン・モデルの例で見ることができる。
Y値の配列を変えると、1つの正方形アレイを2つの
三角形アレイに構造を変えることができ、逆通信経路に
影響が及ぶ。経路切替え機構を第17図に詳細に示す。第
17A図は、8ニューロンの例でY1及びY5に対する切替え
機構を示し、第17B図は、16ニューロンの例でY1、Y5、Y
9、及びYDに対する切替え機構を示す。各例でその他の
ニューロン出力に対しても同じ切替え機構が使用され
る。逆通信経路内での経路の切替えはこの切替え機構に
よって実施されることに留意されたい。たとえば、第17
A図で、逆通信用のスイッチ位置Y1はA1及びA5求和経路
に逆通信されるが、Y5及びB1及びB5に逆通信される。三
角形構造だけの第3図及び第5図に戻ると、DSYP及びGS
YP内で、受け取られたY値が直列化して当該の加算器ツ
リーの原点と向き合った正しいレジスタに入れられるこ
とがわかる。逆通信経路内のスイッチは、第17B図の16
ニューロンの例でも同じである。
第17図の外部切替え機構は後方伝播学習をサポートす
るようにさらに修正する必要がある。外部処理切替え機
構によってサポートされる動作モードには4つの異なる
動作モードがある。そのうちの2つは第17A図及び第17B
図に示すようにニューロン実行によるものであり、2つ
は後方伝播学習によるものである。
1.ニューロン入力求和関数の外部求和。
2.ニューロン出力Y値の逆通信。
3.学習における誤差信号Eiの逆通信。
4.学習における重み付き誤差求和ERiの外部求和。
動作モード1及び4は順方向加算経路に関し、動作モ
ード2及び3は逆通信経路に関するものである。学習の
ためとニューロン実行のための外部求和要件及び逆通信
要件は異なる。したがって、ハードウェアがニューロン
実行モードにあるかそれとも学習モードにあるかに応じ
て、異なる値が外部加算され、異なる値が逆通信され
る。さらに詳しく、ニューロン実行用の逆通信経路を、
学習の場合と比較して考察する。ニューロン実行モード
では、逆通信されたYjをその適切なWijと乗算しなけ
ればならないが、学習モードでは逆通信された誤差信号
iをその適切なWijと乗算しなければならない。逆通
信された値YjとEiの下付き文字のこの見たところ小さ
な変化は、Ei値と比較してYj値には異なる逆通信経路
が必要なことを示している。これらの異なる経路は、折
り畳まれた正方形の分離された三角形によるものであ
る。第17図の例の外部スイッチは、異なる両方の経路要
件をサポートするように修正しなければならない。順方
向求和要件に対処できるように、第17図の切替え機能に
追加の変更を加える。第18図は、8ニューロンの例での
修正された外部切替え機構を示し、付記した数字1−4
は上述の4つの切替え動作モードに対応する。第19図及
び第20図は、16ニューロンの例での修正された外部切替
え機構を示す。第19図は、切替え動作モード1及び2に
対応し、第20図は切替え動作モード3及び4に対応す
る。動作モードに応じてすべての経路が変化するのでは
ないことに留意されたい。例として第18図を使用する
と、A1及びB5に対するニューロン入力順方向求和経路
(1)は、A1及びB5に対する重み付き誤差和(4)に必
要な経路と同じである。さらに、A1及びB5に対する逆通
信経路も、ニューロン実行と学習とで同じである。第3
図から理解できるように、A1及びB5は、折り畳みアルゴ
リズムの使用に必要としない対角線三角形アレイと関連
している。動作モードに応じて変更しなければならない
経路は、折り畳まれた内部正方形から分離された三角形
構造と関連する経路である。
第4図の分離する前の折り畳んだ内部正方形は、共通
の複製可能な構造単位として使用できることに留意され
たい。折り畳んだアレイの半分に対する重み及びY値を
ゼロにすることによって、折り畳んだアレイで、2倍の
数のプロセッサを使用するエッジ三角形アレイの諸機能
をモデル化することができる。このグループ配置でも、
なお外部切替え機能に対する要件がある。折り畳んだ内
部正方形から三角形アレイが分離されているために切替
え機能を必要とする代りに、折り畳んだ正方形構成単位
上でモデル化されたエッジ三角形アレイに対する切替え
機能が必要である。折畳み正方形構成単位手法は、所与
のサイズの対角線三角形アレイでは1つのプロセッサ・
グループ内に2倍の数のプロセッサを必要とし、なお外
部切替え機能に対する要件があるので、この説明では折
畳み正方形構成単位手法についてはこれ以上検討しな
い。
第2図ないし第17図の8ニューロンの例でも16ニュー
ロンの例でも、どちらの場合もV=Nなので仮想能力を
必要としない。仮想ニューラル処理能力は、シナプス処
理要素当たり1個を越える重み及びY値の記憶に加え
て、ニューロン入力の積の和関数の一部分を処理する方
法を必要とする。部分和(PS)記憶要素を備えた反復加
算器によって、ニューロン処理全体を複数のサイクルに
分割し、以前の部分和を生成された最新の部分和に加え
ることができる。次に、プロセッサ・グループの概念に
仮想能力を追加する例を、V=16、N=4、H=4、G
=4の場合について説明する(第22図)。これは、後で
仮想学習の例の説明で使用する。第22図は、修正された
切替え機構、部分和(PS)記憶機構を備える反復加算
器、及びホスト・コンピュータとインターフェースする
初期設定及び制御学習プロセッサを含む。ホスト・コン
ピュータは、学習プロセッサを介してプロセッサ・グル
ープを初期設定する責任を負う。たとえば、エミュレー
トされるネットワーク内のニューロンの数、すべての結
合重み、(必要なら、初期ニューロン値)、学習アルゴ
リズムをサポートする「教師」値、走行すべきネットワ
ーク更新サイクルの数をロードすること、ならびにモデ
ルの実行を開始することが、エミュレーション・サイク
ルを開始する前に満たさなければならない要件である。
さらに、学習プロセッサはネットワークの実行を監視す
るための追跡機能を含むことができる。
G=4個のグループであり、各グループが、第22図で
G1、G2、G3、G4で記されたH=4個の処理要素を含む。
ただし、 ・ G1はA1及びA2を生成する ・ G2はA3及びA4を生成する ・ G3はB1及びB2を生成する ・ G4はB3及びB4を生成する V=16なので、V2個の結合重みがメモリに記憶され
る。この例(第22図)では、4個の処理要素からなる4
個のグループがあり、各グループは完成したシステムで
合計16個の処理要素を存する。したがって、16ニューロ
ンの完全に結合されたネットワークをサポートするに
は、各処理要素内に16個の結合重みが必要である。
構造出力サイクルをSO、部分和反復加算サイクルをIA
で表すものとする。一般に、V個の仮想ニューロン及び
N個の物理的ニューロンが与えられており、簡単にする
ために、VとNはどちらも2の累乗であり、結合重み及
びニューロン値記憶域が各シナプス処理要素と関連付け
られていると仮定すると、仮想学習構造が形成される。
・ (V/N)個のY値が各シナプス・プロセッサ要素に
記憶される(1DSYP当り1要素、1GSYP当り2要素)。
・ (V2/N2)個の結合重みが各シナプス・プロセッサ
要素に記憶される。
・ 1構造出力(SO)サイクル当りN2回の重みとY値
の乗算からなる(V/N)回の反復加算(IA)サイクル。
・ 1SOサイクル当りN個のニューロン値からなる(V/
N)回のSOサイクル。
たとえば、第21図は、V及びNと記憶サイクル及び動
作サイクルの関係を示す。
第22図では、16個の重み値からなる各結合重みメモリ
が、結合重み記憶ブロック上でSO1、SO2、SO3、SO4と記
されたそれぞれ4つの値からなる4つのSOセットに編成
されている。各セットは、ニューロンN=4個の値から
なる1セットを生成するために、4つの部分和反復加算
サイクルを必要とする。
切替え機構及び反復加算器に関するさらに二三の一般
的コメントを第22図の順に行う。図の切替え機構は、こ
の構造の4つの切替え動作モードをサポートするのに必
要なすべての経路の合成図である。反復加算器の概念
は、同時係属出願“Pechanek VIRTUAL 91"に提示されて
いる。この場合、反復加算器があるために、加算経路内
に追加の遅延が必要であった。このアーキテクチャで
は、反復加算器遅延は必要でないことに留意されたい。
というのは、この機能は、3−1加算器を利用して加算
器ツリーの最終段に組み込まれているからである(第22
図)。さらに、同時係属出願“Pechanek LM 91"で提示
された外部入力Exi経路が、ニューロン活動化関数入力
の前に提供される。
外部メモリ拡張 “Pechanek LM 91"で提供されるシナプス・プロセッ
サ・アーキテクチャ(SPA)は、ニューラル・ネットワ
ーク・モデルの直接実行に適当な、1シナプス処理要素
当り1つの結合重みの記憶容量しかもたなかった。V個
(V>N)のニューロンを含むより大きなネットワーク
・モデルでは、性能に大きな影響を与えずに、または拡
張された内部記憶域を含む新しいチップ設計を必要とせ
ずに、重み及びニューロン値記憶域を拡張する一般的方
法が必要である。“Pechanek LM 91"で提供されたデー
タ並列システム処理でも、同じスケーリング問題が当て
はまり、マトリックス要素がシナプス・プロセッサ・レ
ベルから容易にアクセスされなければならない。
メモリは、シナプス・プロセッサのグループ間で分割
されていると考えることができ、各グループは独立の読
取り/書込み能力及びアドレス指定能力を有する。この
概念を、第23図に示す。同図は、好ましい外部メモリ構
造を示している。
第24図に示した外部結合重みメモリ構成を仮定する
と、メモリはG個のグループに配置される。ここで、1
プロセッサ・グループ内にN個の物理ニューロン及びH
個のプロセッサ要素があるとすると、G=N2/Hであ
る。たとえば、N=256、H=256と仮定すると、G=25
62/256=256である。1チップが単一のプロセッサ・グ
ループを含むと仮定すると、256ニューロン・ニューロ
コンピュータは256個のグループ・チップから構成さ
れ、したがって合計65536個のシナプス処理要素が含ま
れる。外部メモリ・ワード長は2つのピースから構成さ
れる。1つのピースは結合重みインターフェースと関連
し、他のピースはニューロンY値インターフェースと関
連する。重みもY値もビット直列形式である。1つの重
みメモリ・アドレスは、H個の重みビットにアクセスす
る。ただし、プロセッサ・グループ内には1プロセッサ
要素当り1個の重みビットがある。(対角線シナプス・
プロセッサDSYP当り1シナプス・プロセッサ要素、一般
シナプス・プロセッサGSYP当り2シナプス・プロセッサ
要素、第25図)。話を簡単にするために、H及びNを指
定するために2の偶数乗の基準を仮定すると、 はプロセッサ・グループ内に利用されるY値の数を表
す。したがって、外部メモリ・インターフェースは、 ビットの合成ワード長をもつ。ECC1ビットは、Hビット
からなる各グループ上の誤差訂正コード・ビットに対応
し、ECC2ビットは各 ビット上の誤差訂正コード・ビットに対応する。ECC1ビ
ットとECC2ビットはともに、“Hellerman 67"に示され
たハミング単一誤差訂正コードなどの誤差検出及び誤差
訂正コード化方式を使って決定される。これには式4及
び式5に基づくECC追加ビットが必要である。
ECC1≧H+ECC1+1 (4) たとえば、64個のシナプス処理要素に対応するH=64
の場合、ECC1=7個の追加ビットを使用しなければなら
ない。ECCインターフェースは、誤りがあることが検出
されたデータの固定を可能にする。重みアレイ・インタ
ーフェースは双方向であり、学習をサポートするのに必
要な外部重み値記憶域への各シナプス・プロセッサ書込
みアクセスが可能である。重みメモリに加えて、他の2
つの外部メモリ・アレイを使用する。1つは現ニューロ
ン状態値(Y)用、もう1つは更新されたニューロン状
態値(Y′)用である。各プロセッサ・グループごとに 個のY値出力がある。現Y値アレイ及び新Y値アレイを
ネットワーク更新サイクルごとに前後にトグルすること
もできる。たとえば、更新されたY値が新Y値アレイに
ロードされている間に、現Y値アレイが全ネットワーク
更新サイクルに対するY値を出力する。次のネットワー
ク更新サイクルでは、これらのアレイは役割を替え、新
しく更新されたY値(新Y値アレイ)が次のネットワー
ク更新サイクルで現在値として使用され、前の現Y値ア
レイが新Y値で重ね書きされる。出力用に一方のアレイ
を選択し、Y値をロードするためにもう一方のアレイを
選択するアレイ・セレクタ信号によって、これらのアレ
イを前後にトグルすることができる。別の動作モードで
は、現Y値アレイだけを使用し、新Y値は前に記憶され
たY値を重ね書きする。使用する各パラメータのビット
長に対応するシナプス・プロセッサ内部レジスタ長は、
長さDビットであり、Dビット内に条件付き実行ビット
(CEB)を含む(第29図)。D個の外部メモリ・アドレ
スは、それぞれDビットのH個の分離値に対応し、これ
にはプロセッサ要素当り1つの値をビット直列方式でロ
ードすることができる。外部重みメモリは、Q*H値、
またはそれと等価であるが、1メモリ位置当りH+ECC1
ビットのQ*D個のメモリ位置を保持する。メモリ値は
プロセッサのグループに対してアクセスされ、メモリ値
はグループ・プロセッサ制御機構を介して読み取り、ま
たは書き込むことができる。
シナプス・プロセッサ・セルへのメモリ接続を第25図
に示す。メモリは対角線シナプス・プロセッサ・セルに
接続され(第25A図)、2本の外部メモリ入出力線は分
配機構に行く。外部メモリからの重み及びY値経路は、
記憶されたPATHアドレスによって制御される。両方向入
出力線を有する重みメモリに対して1個のアドレスがあ
る、すなわち重み値は別々にしかし同期せずにメモリか
ら読み出し、またはメモリに書き込むことができる。Y
値アレイに対して2個のアドレスがあり、各アレイごと
に1組ずつあって、それぞれ独立に制御される。Gセル
・シナプス・プロセッサ(第25B図)では、各シナプス
・プロセッサ要素に対する両方向重みビット及び出力Y
値ビットが分配機構に接続され、GSYP内部の2個のプロ
セッサ要素への別々の経路ができている。すべてのメモ
リ・アクセスは、内部プロセッサ・レジスタにロードさ
れる。更新されたY値、Y′は外部メモリに向かい、各
入口点からプロセッサ・グループ・チップに直接向か
う。外部メモリからきたY値は、プロセッサ・グループ
・チップ上でファンアウトされて、各シナプス・プロセ
ッサ要素に向かう。
ソース・アドレス及び宛先アドレスは、コマンド・レ
ジスタに対する相対値である。相対アドレス指定を第25
A図及び第25B図に示す。図では上端コマンド・レジスタ
CMD TREGの相対アドレスは、レジスタ・ブロックの右の
欄に示され、下端コマンド・レジスタCMD BREGの相対ア
ドレス指定はレジスタ・ブロックの左の欄に示されてい
る。たとえば、下端コマンド・レジスタR2は上端コマン
ド・レジスタR5と同じであることに留意されたい。加算
器ツリーから受け取ったビット・ストリングは、それが
コマンドである場合、直列化されて、各Gセル内の2個
のCMDレジスタのうちの1つ、及び対角線セルの単一CMD
レジスタに入る。別法として、加算器ツリーから受け取
ったデータ・ビット・ストリングは、直列化されて、G
セル内の使用可能な他の6つのレジスタのうちの1つ、
及び対角線セル内で使用可能な他の3つのレジスタのう
ちの1つに入る。DSYPでは、R4ないしR6及びCR2のソー
スまたは宛先アドレスは以下のようにマップされる。
・ R4→R3 ・ R5→R2 ・ R6→R1 ・ CR2→CR1 V=16のニューロン容量を有する4ニューロンSVLMの
タイミング図の例を第26図に示す。この場合、それぞれ
4IAサイクルからなる16/4=4個のSOサイクルがある。
各SOサイクルはV/N個のIAサイクルからなる。1IAサイ
クルは、重みとY値を乗算し、続いてV/N倍した値の和
を求め、部分和結果を反復加算器に記憶することから構
成される。良好な性能を得るには、次のIAサイクル用の
重み及びY値へのアクセスが、最初のIAの乗算時間中に
済んでいる必要がある。そうするには、EXUに入るすべ
てのオペランドがEXUの外部で関数実行中に固定されな
いように、EXUの乗算器(または任意のEXU関数)に対し
て要件が課せられる。乗算器にとって、これは、乗算器
が必要ならそれ自体のオペランド・レジスタを含まなけ
ればならないことを意味し、良好な性能を得るために、
その対応するオペランド・ビットが乗算器に入ってから
1サイクル後に結果ビットが生成される。災害が起こら
ないようにするには、実行ユニット(EXU)乗算器につ
いて以下の関係式6が成立しなければならない。この関
係式は、他のEXU関数にも適用可能である(式7)。
乗算について Dδextmem≦δM (6) 一般に Dδextmem≦δEXU(fn) (7) 上式で、 ・ 読取り/書込みアクセスごとにDビット ・ δextmemは外部メモリ・アクセス遅延 ・ δMは乗算器遅延、通常は長さ2*(D−1)クロ
ック・サイクル ・ δEXU(fn)はEXUによって指定される関数の遅延 EXUのすべでの関数は、より短い実行関数に埋込みを
行うことによって、同じ時間内に実行されるようにする
ことができる。このようにして、最も長い実行関数によ
って、外部メモリ・アクセス・タイミングの基準が決ま
る。たとえば、乗算関数が最長のEXU実行関数であり、
2つの32ビット・オペランドの乗算を実行するのに64ク
ロック・サイクルかかると仮定すると、1つの32ビット
・オペランドの最大外部メモリ・アクセス遅延は64クロ
ック・サイクルである。すべてのEXU関数が同じ遅延時
間になるようにすることによって、外部メモリ・アクセ
ス遅延時間に対してより厳しい要件が課されることはな
い。第27図に、1組N個のニューロン値を生成する1SO
サイクルのタイミング図を示す。以下の項目について詳
細に説明する。
1.直列化してEXU乗算器に入れられた第1ビットからIA1
サイクルを開始する。
2.乗算された結果の第1ビットが乗算器を出て、加算ツ
リーに入る。
3.乗算された結果の第1ビットと0の部分和が3−1加
算器を出て、部分和レジスタに入る。
4.乗算された結果の最終ビットが乗算器を出て、加算ツ
リーに入る。
5.乗算された結果の最終ビットと0の部分和が3−1加
算器を出て、部分和レジスタに入る。
6.第2IAサイクルの部分和の最終ビットが部分和レジス
タに記憶される。
7.第3IAサイクルの部分和の最終ビットが部分和レジス
タに記憶される。
8.第4IAサイクルの部分和の最終ビットがシグモイド生
成機構に入る。
9.シグモイド結果の第1ビットがシグモイド生成機構を
出て、加算ツリーに入り、外部メモリまたはシナプス・
プロセッサ内のレジスタに逆通信される。
10.シグモイド結果の最終ビットがシグモイド生成機構
を出て、加算ツリーに入り、逆通信される。
11.シグモイド結果の最終ビットが、外部メモリまたは
レジスタで受け取られる(第1組のN個のY値が記憶さ
れる)。
1から4までの時間は、第27図に示すように、外部メ
モリから新しいY値または重み値をロードするために使
用可能な時間を表す。図では、詳細なタイミングを示す
ために時間スケールを拡大してある。
プロセッサ・グループのサイズは、チップ技術セル及
び入出力仕様に応じて変わる。第28図に示すように、各
シナプス・プロセッサ・グループ・チップに1つのメモ
リ・サブシステムが関連付けられている。
プロセッサ・グループの概念をサポートするのに必要
な2つのタイプのコマンド、すなわち1つはグループ専
用コマンド専用のもの、もう1つはシナプス・プロセッ
サと関連するものがなければならない。またコマンド形
式は、新しいソース及び宛先点として外部メモリをサポ
ートしなければならない。外部メモリに関するアドレス
指定は、シナプス・コマンドの即値データ・フィールド
を使用することによって得ることができる。さらに、条
件付き実行ビット(CEB)は、外部メモリに記憶された
各重み及びY値と関連していなければならない。
たとえば、N=256ニューロン、H=256、D=33ビッ
トの場合、コマンド形式Lは次のように定義される。
B同報通信ビット→ 1ビット タグ → 8ビット(log2N2/H) タグ・パリティ → 1ビット CMD ビット → 1ビット グループ・ビット→ 1ビット 自動ビット → 1ビット CMD → 4ビット(16コマンド) ソース1 → 4ビット(16ソース位置) ソース2 → 4ビット(16ソース位置) 宛先 → 4ビット(16ソース宛先位置) 即値データ/外部 メモリ・アドレス→15ビット(15ビット・データ/32K Dビット位置) ECC → 6ビット 合計→50ビット N=256ニューロン、H=256,D=33ビット(CEB+32
ビット・データ)のデータ・ワードの例では、データ形
式Lは次のように定義される。
B同報通信ビット → 1ビット タグ → 8ビット(log2N2/H) タグ・パリティ → 1ビット CMDビット → 1ビット CEBビット → 1ビット データ → 32ビット ECC → 6ビット 合計→50ビット 内部命令及びデータは長さDビットであり(第29
図)、それぞれ丸ごと受け取らなければならないので、
外部メモリ・アドレスは、命令フィールドで指定された
シーリング(log2D)ビットをメモリ・アドレスに付加
することによって形成される。シーリング関数は、括弧
内の結果の関数の次に大きな整数をとる。たとえば、メ
モリに記憶された33ビット・データ・ワードのアドレス
には6ビットが付加される。32ビット・ワードには5ビ
ットが付加される。追加のビットは、カウンタから自動
的に生成され、カウンタはメモリからのビット・スライ
ス・アクセスごとに増分され、命令によって指定された
メモリ・アドレスごとにDビットがアクセスされた後、
カウンタは次のアクセスに備えて0に戻る。D=32ビッ
トの例では、命令内の15ビットの外部メモリ・アドレス
・フィールドが15+5ビットの外部メモリ・アドレスに
変換され、20ビット・フィールドまたはQ*D=220
なわちそれぞれH+ECCビットからなる1MEGの位置また
は215*H(32K*H)の重み値を収容する。D=32ビ
ットのH=256個のプロセッサ・グループでは、プロセ
ッサ・グループ・チップ当り最大8MEGの結合重みがアド
レス可能である。
同報通信ビット 同報通信ビットは以下のことを示す。
・ B=0:コマンド/データは特定のグループ用。
・ B=1:コマンド/データはすべてのグループ用。
グループ・コマンド 各プロセッサ・グループ・チップ内には単一のグルー
プ・コマンド・レジスタがある。グループ・コマンド・
レジスタを利用してすべてのシナプス処理要素のコマン
ド・ソースとして機能させる代替方法が存在する。プロ
セッサ・グループ当り1個のコマンド・レジスタを利用
することにより、シナプス・プロセッサ・コマンドをグ
ループ・コマンドと結合することによって個々の処理要
素コマンド・レジスタを省略することができる。1つの
グループ・コマンド・レジスタでH個のコマンド・レジ
スタが節約されるので、チップ面積がかなり節約でき
る。しかし、H−EXU、H分配機構、及びHセレクタを
制御するために、グループ・コマンド・デコードを各処
理要素に分配しなければならないので、チップ面積の節
約は自由には得られない。配線の問題に加えて、集中さ
れたソースからの信号の潜在的に大きなファンアウトに
よるタイミング・ペナルティもある。したがって、シナ
プス処理要素コマンド・レジスタはそのまま残し、通常
は外部メモリ制御機構と関連するグループ・コマンドだ
けを実施する。単一のグループ・タグがあり、初期設定
時にすべてのHタグ・レジスタにロードされる。2つの
タイプのコマンドが指定され、コマンドをデータ(コマ
ンド・ビットが“0"にセットされる)から区別するため
に、どちらもコマンド・ビットが“1"にセットされる。
グループ・ビット(G)は、コマンドがシナプス・プロ
セッサ(G=0)に関するものか、それともシナプス・
プロセッサのグループ(G=1)に関するものかを指定
する。第1表に、現在定義されているグループ・コマン
ドをリストする。SOカウンタは、要件に応じて、増分ま
たは減分するように設定することができる。例えば、ニ
ューラル実行モードでは増分し、後方伝播学習モードで
は減分する。増分の場合、カウンタは1から始まり、指
定されたSOカウントまで増分され、次に1に戻る。減分
の場合は、カウンタはSOカウントから始まり、1まで減
分され、次にSOカウントに戻る。疎に接続されたネット
ワークでは、各グループに関するSOカウント及びIAカウ
ントがS=00&I=0のグループ・コマンドGLDCTによ
って指定でき、後方伝播学習の例で示すように、それに
よってSOカウントまたはIAカウントをクロックする必要
がなくなる。カウントするように指定されたとき、IAカ
ウンタは常に命令実行の完了時に増分される。SOカウン
タは、すべてのIAカウント・サイクルの完了時に増分ま
たは減分される。
どんなニューラル・ネットワーク・エミュレーション
でも、ネットワーク・モデル内のV個のニューロンのエ
ミュレーションに必要なSOサイクル当りのIAサイクルの
数及びSOサイクルの総数を指定するために、グループ・
レベル・コマンドを発行しなければならない。さらに、
“S"ビット、“I"ビット、及び“U"ビットは、プロセッ
サ・グループが外部メモリにどのようにアクセスするか
を指定する。
“S"ビットと“I"ビットを用いてアドレス指定を制御
し、“U"ビットを用いて外部Y値アレイがどのように利
用されるかを制御することができる。“S"ビットが“0
0"にセットされた場合、外部メモリ・アドレスは現在定
義されているSOサイクルを超えては増分されないが、
“I"=1の場合、メモリ・アドレスは各IAサイクルごと
に増分され、現在定義されているSOサイクルについてIA
サイクルの完全な実行が可能になる。“S"が“01"にセ
ットされた場合は、SOカウントは次の命令が実行された
後に増分される。それには、指定された回数のIAサイク
ルが完了することが必要である。SOカウンタ及びIAカウ
ンタを増分することによって、実行はV個(V>N)の
ニューロンを通って前進することができる。SOカウント
を固定することによって、N個のニューロン値の反復実
行が可能となるが、これは、多層ニューラル・ネットワ
ークの複数層がN個のニューロンの単一SOサイクル・セ
ット上にマップされるときに使用される機能である。
“U"ビットが“0"にセットされた場合、1つのY値アレ
イだけ、たとえば現Y値アレイが利用され、これは、新
しく更新されたY値でアレイ内に記憶された旧Y値を重
ね書きさせる。“U"ビットが“1"にセットされた場合
は、両方のY値アレイが使用され、従って、新しいY値
は現在のネットワーク・エミュレーションに使用されて
いるものと対向するアレイに書き込まれるだけであり、
これらのアレイはV個のニューロンが更新された後に交
互にその役割を替える。Y値が外部メモリに書き込まれ
ている間に、その外部メモリからY値を読み取ることが
できる。“U"=“0"の場合、この同時操作は同じ外部メ
モリ・アレイから起こらなければならず、1アレイ2ポ
ート操作が必要となる。
グループ・コマンドはチップ上のすべてのシナプス・
プロセッサに共通なので、そのグループと通信するには
ただ1つの入力経路があればよい。これを実現するため
に、プロセッサ加算ツリー経路の1つが、グループ通信
経路としても機能する独特なものとして指定される。い
ったん指定されると、この経路は一義的に識別され、初
期設定及び制御学習プロセッサからのグループ通信に使
用される。
シナプス・プロセッサ・コマンド コマンド・ビットが“1"にセットされ、グループ・ビ
ットが“0"にセットされた場合、受け取ったコマンドが
シナプス・プロセッサ用に指定される。第2表に、外部
メモリをサポートするシナプス・プロセッサの命令セッ
トをリストする。外部メモリ・アドレスは命令の即値デ
ータ・フィールド内で指定することができる、またその
アドレスに対する現在のSO及びIAカウント値を使用する
ために、すなわち外部メモリの局所アドレス制御のため
に指定することもできる。ソースまたは宛先コードが、
どのアドレス指定モードを使用するかを指定する。
自動ビットの定義は、グループ・コマンドによってロ
ードされるSビットの設定に依存する。その定義は次の
通りである。
・ A=0、S=00:単一SOサイクル更新。“I"=1の
場合、現在のSOサイクルにおけるすべてのIAが実行さ
れ、次の命令を待つ。SOカウントは増分されない。
・ A=0、S=01または10:現在のSOサイクルを実行
し、SOカウントを増分または減分し、新しいコマンドを
待つ。“I"=1の場合、現在のSOサイクルにおけるすべ
てのIAが実行される。
・ A=1、S=00:現在のSOサイクルを実行し、新し
いデータを待つ。有効なタグ付きデータを受け取ると、
同じSOサイクルを実行し、新しいデータを待つ。有効な
タグ付きデータを受け取るごとにこの手順を繰り返し、
この手順を停止する新しいコマンドを受け取るで続行す
る。
・ A=0、S=01または10:現在のSOサイクルを実行
し、SOカウントを増分または減分し、新しいコマンドを
待つ。有効なタグ付きデータを受け取るとSOサイクルを
実行し、そのSOカウントを増分または減分し、新しいデ
ータを待つ。有効なタグ付きデータを受け取るごとにこ
の手順を繰り返し、この手順を停止する新しいコマンド
を受け取るまで続行する。
自動ビットは、本質的には、いつ実行サイクルが始ま
るかを指定する。A=0の場合、実行サイクルは命令を
受け取った時にだけ開始し、A=1の場合、実行サイク
ルは自動命令の最初の実行後、有効なタグ付きデータを
受け取るごとに開始する。
シナプス・プロセッサ命令セットの検討を続ける前
に、“A"ビット、“S"ビット、“I"ビット、及び“U"ビ
ットを2種の「古典的」タイプのニューラル・ネットワ
ークに適用する際のそれらの使用法の簡単な説明を行っ
ておく。まずホップフィールド・ネットワークでは、自
動ビットは“1"にセットされ、“S"ビットは“01"にセ
ットされ、“I"ビット及び“U"ビットはそれぞれ“1"に
セットされる。N個のY値の各セットは各SOサイクルご
とに現在のVニューロン・ネットワーク・エミュレーシ
ョンに使用されているYアレイと対向するYアレイに書
き込まれる。これは、各Y値ごとに別々のアドレス線及
び制御線を利用することにより、書込み操作を現Y値の
セットの取出しとオーバーラップさせることによって実
施される。
Vニューロン・エミュレーションを構成する最後の1
組N個の値を受け取った後、Yアレイの選択はトグル
し、最近に更新されたY値が次のネットワーク更新サイ
クルの現Y値として扱われる。このプロセスは、この動
作を停止させるNOP命令などの新しいコマンドを受け取
るまで続行する。多層ネットワーク・エミュレーション
では、自動ビットは恐らく“1"にセットされ、“S"ビッ
ト及び“I"ビットはネットワーク実行シーケンスに応じ
てセットされ、“U"ビットは“0"にセットされる。複数
の層がSVLM内の1組N個のニューロン上にマップされる
場合、“S"ビットはそれらの層のサブセットを実行する
ために“00"にセットされる。たとえば、3層が1組N
個のニューロン上にマップされる場合、“S"は最初の2
層を実行するために“00"にセットされ続ける。次に、
グループ・コマンドが発行されて、“S"を“01"に変更
し、ネットワーク・エミュレーションは次の層の実行
後、SOカウントの増分を続けることができる(すなわ
ち、第3層はN個のニューロンの1SOサイクル・セット
上にマップされる)。“U"は“0"にセットされているの
で、新しいYデータが現Y値アレイ内のYデータを重ね
書きし、従って各層の実行は前の層で計算されたY値デ
ータを利用することになる。これは、フィードフォワー
ド多層ニューラル・ネットワークで通常の動作である。
“U"ビット、“I"ビット、及び“A"ビットを指定するた
めに、大文字の“U"、“I"、及び“A"が命令ニーモニッ
クに付加されて、指定されたビットが“1"にセットされ
ているかどうかを示す。“U"、“I"、及び“A"が命令に
付加されていない場合、これらのビットは“0"にセット
される。“S"ビットが“00"であることを示す指定はな
く、“11"は現在定義されていないので、“S"ビット値
は“1"または“2"として指定される。
シナプス・プロセッサ命令セットは、外部メモリ・ア
ドレス・フィールド(即値データ・フィールド)を含
む。このために、PATH(EXT.MEM.)コマンドを使用して
外部メモリをデータ・ソースとして指定することでき
る。外部メモリによるPATHコマンドの使用についてまず
説明し、続いて、他の命令が外部メモリへの書込みで使
用する共通の方法を説明する。
PATHコマンドは、加算ツリー宛先経路を1つの経路レ
ジスタに、EXT.MEM.レジスタ宛先経路を別のレジスタに
ロードすることにより(第25図)、加算器ツリーに逆通
信された、または外部メモリからアクセスされた情報に
対するデータ及びコマンド経路をシナプス・プロセッサ
内でセットアップする。PATHコマンドのソース1フィー
ルドは、どのレジスタを使用すべきか、及びどのレジス
タがPATHコマンドをさらに定義する拡張コマンド・フィ
ールドと見なせるかを決定する。PATHコマンドは、加算
器ツリーからまたは外部メモリから受け取ったデータの
宛先点だけを指定する。このため、外部メモリの宛先と
共に外部メモリから受け取ったデータを指定するPATHコ
マンドは、同じデータが受け取られ、何の処理もなしに
すなわちNOP動作で同じ位置に送られるので、何も行わ
ない。いったん指定された経路は、経路を変更する新し
い経路コマンドを受け取らない限り同じままになる。た
とえば、SVLM上のホップフィールド・ネットワーク・モ
デルでは、省略時経路が前の処理によって変更された場
合、逆通信されたY値及び仮想重みに対するPATHコマン
ドが一度発行されて、GSYPシナプス処理セル内部で逆通
信モードで、上端加算器ツリーがそのY値を下端Y値レ
ジスタに供給し、下端加算器ツリーがそのY値を上端Y
値レジスタに供給することができる。ホップフィールド
・モデルでは、この経路コマンドは、固定重み実行モー
ドを仮定すると、ネットワークの実行全体を通して有効
なままになる。またPATHコマンドは、次のコマンド用の
経路を指定させる。ホップフィールド・ネットワークの
仮想モードの例では、外部メモリからの重み値の取出し
は、以前に取り出された重みの乗算時間中に実行され
る。
データ・フロー計算では、命令の実行は、すべてのオ
ペランドを受け取るまで待ち、受け取った時点でその命
令が「発火」される。データ依存制御機構は、一致する
タグを有する有効なデータ・オペランドを受け取ったと
きその命令が実行されるように、タグ付きデータを使用
するものと見なすことができる。これらのオペランドが
同時には受け取られないと仮定すると、このデータ依存
制御機構は大きな潜在的性能及び同期問題の解決策を提
供する。自動モードは、一致するタグを有する有効デー
タを受け取るまでその命令の実行が行われないので、デ
ータ依存動作である。たとえば、プロセッサ・グループ
に送り戻された、逆通信されたY値は、共通のグループ
・タグを含む。受取り側のプロセッサ・グループは、シ
ナプス処理要素内の各Y値のタグをグループ・タグと比
較し、それらが一致した場合に、自動命令が実行され
る。このアーキテクチャの例では、プロセッサ・グルー
プ・チップに対する 個のタグがすべて、同じグループ・タグをもたなければ
ならず、そうでないとグループ・エラーが発生する。同
様に、外部メモリからのデータにタグを付けることがで
きる。各プロセッサ・グループ・チップはそれ自体の1
組の外部メモリ・アレイとインターフェースするので、
タグ付け制御は、外部ソースから逆通信されたデータと
同じ方法では実行できない。タグは記憶された値すべて
について同じなので、たとえば、タグを使用すること
は、タグがメモリ内の各重み及びY値と関連付けられて
いることを暗示せず、適当な時点でデータ線上に多重化
される外部メモリ内でタグ・ソースを設定することがで
きる。別法として、インターフェースの影響を最小にす
るために、外部メモリ・インターフェース上で異なるタ
イプのタグを使用することができる。メモリとグループ
・チップは緊密に結合されているので、異なるグループ
・チップ間の識別が不要であるため、逆通信ツリー経路
から必要とされるよりも小さいタグ・フィールドが使用
できる。実施態様の判断に応じて式6及び式7を再度使
用しなければならない。
多くの命令は、個々のシナプス・プロセッサにとって
局所である宛先を指定する。この局所処理は、正しく処
理しない場合、同期の問題を発生する可能性がある。同
時係属出願の“Pechanek LM 91"のGPLMでは、同期の問
題が、学習プロセッサのニューロン出力点に局在してい
た。シナプス・プロセッサからは局所処理完了の通知は
生成されなかった。そうではなくて、操作の安全を保証
するために、ニューロン出力点に固定されたハードウェ
ア機構が設けられた。同じシナプス・プロセッサへのど
の局所処理コマンドも、その同じシナプス・プロセッサ
への次のコマンドから指定された命令の実行時間だけ分
離しなければならなかった。たとえば、第2のコマンド
を送れるようになる前にMPYコマンドが完了するように
するために、乗算は2*(D−1)クロックを要するこ
とがあり得た。SVLMでは、このタイムアウト法は、同期
の問題を解決するには十分ではない。すべての局所命令
が実行の完了を発行点に通知する、新しい方法を使用す
る。この方法は、通信チャネルとして加算ツリーを使用
する。局所動作が各シナプス処理要素で実行され、その
結果が局所シナプス・レジスタに戻されて記憶される例
を考えてみる。この局所動作の完了に成功した時点で、
各シナプス処理要素が加算ツリーに“1"の値を入力した
と仮定する。その場合は、log2Nサイクルの遅延後に、
Nの加算値が得られ、特定の加算ツリーに関連するN回
の局所動作すべての正常な完了を示す。他のどんな値
も、操作シーケンス中でエラーが発生したことを示す。
各プロセッサ・グループ・チップが、他のグループ・チ
ップとは異なる誤差値を付加できるようにすることによ
って、障害チップの特定が可能になる。同様に、異なる
加算値で、異なるタイプのエラーが検出されたことを示
すこともできよう。この局所動作完了の通信は、完了通
知を受け取るまでプロセッサ・グループに次の命令を送
ることができないので、タイムアウト手法に比べて時間
のペナルティが小さい。命令完了を通信するのに要する
時間が短く、局所実行時間がlog2Nの遅延だけ増加する
だけである。非局所命令、すなわち宛先が加算ツリーで
ある命令は、収束したツリー結果が学習プロセッサに届
いたとき、動作完了通知を提供する。学習プロセッサ
は、同期制御を発行する命令について局所命令と非局所
命令を区別しなければならず、可変タイムアウト制御は
不要である。
最後に、ここに記載した命令セットを使用してプログ
ラム内で宛先争奪が起こらないように保証するために、
SVLMコンパイラが必要になる。
後方伝播仮想学習の例 SVLM構造上で後方伝播がどのように使用されるかを実
証するために入出力エンコーダ問題を使用する。第3表
は、“Rumelhart 86"によって認識された入力−出力パ
ターンのエンコーダ問題を示す。
この問題に使用するネットワーク構造を第30図に示
す。第30図は、入出力エンコーダ問題のためのニューラ
ル・ネットワークを図示している。
多層ネットワークは、重みレジスタの条件付き実行ビ
ットが0にセットされることによって未使用の接続経路
がゼロの重み値に保たれた、完全に結合されたネットワ
ーク構造上にマップされる。仮想機械の場合、ニューロ
ンの最大層のサイズによって、SVLM構造内の物理ニュー
ロンの数Nの最小サイズが規定される。入出力エンコー
ダ問題では11個のニューロンがあるが、物理ニューロン
の数を決定するための基準である最大層は4個のニュー
ロンしかもたない。入出力エンコーダ問題では4ニュー
ロンSVLM構造が使用される。たとえば、第22図に示した
SVLM構造は、4つのグループG=4からなり、それぞれ
サイズH=4で16ニューロン・ネットワークをエミュレ
ートすることができる。
入出力エンコーダ問題は、11ニューロンSVLM構造で使
用可能なすべての可能な結合を必要としない。たとえ
ば、ニューロン9に関する入出力エンコーダ・ネットワ
ーク方程式は次のようになる。
9=F(W9.4Y4+W9.5Y5+W9.6Y6+W9.7Y7) 第31図は、一般の11ニューロンSVLMを、完全に結合さ
れた11ニューロン構造の各シナプス処理外部メモリの重
み及びY値と共に示す。完全に結合された11ニューロン
・ネットワーク内には121個の重みがあり、そのすべて
が第31図に示されている。ニューロン・マッピングは第
22図に示したものとは異なっており、N個のニューロン
の最大層の処理がN個のニューロンの1更新サイクルで
実現できるようになっていることに留意されたい。さら
に、層1及び2、ニューロン出力Y1、Y2、及びY3が、N
個のニューロンのSO1サイクルにマップされることにも
留意されたい。
実行モード中、Y値は層ごとに計算される。すなわ
ち、層1が最初に計算され、そのY値結果が層2に使用
され、以下最後の全層までこれを繰り返す。ニューロン
のK個の層がすべて処理された後、ネットワークは学習
モードに置かれる。出力ニューロンは、出力層から誤差
信号を計算し、次いで誤差信号値をツリーを介してシナ
プス処理セルに逆通信する。誤差信号の後方伝播は、出
力層から開始し、入力層に向かって次々に層ごとに実行
される。これらの誤差信号は重み更新アルゴリズムで使
用される。様々なシナプス・プロセッサ内で適切な命令
を実行することによって、後方伝播アルゴリズムを実行
することができる。
順序通り並べられた手順を用いる詳細な例で、SVLM上
にマップされたとき、入出力エンコーダ学習問題が後方
伝播アルゴリズムによってどのように実施されるかを説
明する。
あるパターンp(一般に、肩付き文字pはわかりやす
いように省略する)について、SVLMニューロコンピュー
タ内で以下に箇条書きする手順に従う(「無結合」重み
はわかりやすくするために省略する。各シナプス処理要
素内での、コマンド・レジスタに対するレジスタの相対
位置は、第31図に示してある)。
1.SVLMが、外部メモリから1組の初期重み値及びY値を
読み込むことによって初期設定され、モデル内で使用さ
れない結合に対するCEBビットは“0"にセットされる
(第32図)。この入出力エンコーダの例では、完全に結
合された11ニューロン・モデルの121個の可能な結合重
みのうち22個だけが使用される。それぞれ3つのIAサイ
クルからなる3つのSOサイクルが11ニューロン出力を得
るために実行される。この入出力エンコーダ問題ではニ
ューロン13、14、15、または16はないので、この例では
第4のSOサイクル及びIAサイクルは不要である。IAカウ
ントとSOカウントをロードし、“S"、“I"、“U"の各制
御ビットをセットするために、グループ・コマンドが発
行される。GLDCT0,1,1命令は、“S"、“I"、“U"を“0"
をセットし、SO=1及びIA=1をロードする。
2.初期設定の後、SVLMが実行モードに置かれ、入力パタ
ーン(EX1及びEX2)が印加される。省略時経路が一般シ
ナプス・プロセッサを通るものとして設定される。具体
的には、上端加算器ツリーから受け取ったコマンドは下
端コマンド・レジスタCR2に行き、及び下端加算器ツリ
ーから受け取ったコマンドは上端コマンド・レジスタCR
2に行く。上端加算器ツリーから受け取ったデータはR5Y
iレジスタに行き、下端加算器ツリーから受け取ったデ
ータはR5Yjレジスタに行く。(相対アドレス指定を仮定
する。) 3.4個の物理ニューロンがMPYA R1*R2→ADD TREE(T)
を発行する。ネットワーク実行の各層について乗算命令
を再発行する必要なしに性能を向上させるために自動モ
ードが使用される。層1及び2はN個のニューロンのSO
1サイクルにマップされるので、“S"=“00"のとき、SO
カウンタはSOカウントを増分しない。さらに、“U"ビッ
トが“0"にセットされた場合、新しく更新されたY値が
次のニューロン更新で使用される。SVLM構造内のY値レ
ジスタは最初0なので、すべての重みとY値の積は0と
なり、したがって加算されると0の加算値を生ずる。
4.SVLM構造上でニューロンの第1層が実行されて、第1
層ニューロン出力及びその導関数を生成する(第33
図)。(学習プロセッサは、他の2個のニューロン出力
値を無視する。) ・ Y1=F(Ex1) ・ Y2=F(Ex2) ・ Dr1=Y1(1−Y1) ・ Dr2=Y2(1−Y2) 5.ネットワーク・モデルの第2層をエミュレートし、続
いて第3層及び第4層に進むために、第2層の実行後、
SOカウントを増分しなければならない。これを実現する
ために、新しいグループ命令GLDCT1,3,1が発行されて、
“S"の状態を“01"に変更する。“I"ビット及び“U"ビ
ットは指定されていず、共に“0"にセットされたままと
なる。GLDCT1,3,1命令が送られた後、第1層ニューロン
出力がSVLMにフィードバックされる(第34図)。自動MP
Y命令が指定されたので、Y1及びY2を受け取ったときニ
ューロンの第2層が実行され、第2層ニューロン出力及
びその導関数を生成する(第35図)。第2層の実行後、
SOカウントが2に増分される。
・ Y1及びY2を逆通信する。
・ Y3=F(W3.1Y1+W3.2Y2) ・ Dr3=Y3(1−Y3) 6.すべての層が実行されて、ネットワーク出力及びその
導関数が得られるまで、上記のプロセスが続行される
(第36図、第37図、第38図、及び第39図)。Y3′を受け
取ったとき、第2のSOサイクルが開始されて、第3層出
力、すなわち、Y4、Y5、Y6、Y7を発生する。次いで
SOカウントが3に増分される。第3層Y値が逆通信さ
れ、第3のSOサイクルが開始されて、第4層出力を発生
し、ネットワーク・エミュレーションが完了したときSO
カウントを1に増分させる。
・ 第3層の実行はSOカウント=2から開始する。
・ Y3を逆通信する(第36図)。
・ 第3層の実行(第37図)。
− Y4=F(W4.3Y3) − Y5=F(W5.3Y3) − Y6=F(W6.3Y3) − Y7=F(W7.3Y3) − Dr4=Y4(1−Y4) − Dr5=Y5(1−Y5) − Dr6=Y6(1−Y6) − Dr7=Y7(1−Y7) − SOカウントを3に増分する。
・ GLDCT1,3,2を発行して、IAカウントに2をロード
し、外部メモリから適当な重みにアクセスできるように
する。“S"ビット=“01"及びSOカウント=3は同じま
まである。
・ 第4層の実行はSOカウント=3から開始する。
・ Y4、Y5、Y6、及びY7を逆通信する(第38図)。
・ 第4層の実行(第39図)。
− Y8=F(W8.4Y4+W8.5Y5+W8.6Y6+W8.7Y7) − Y9=F(W9.4Y4+W9.5Y5+W9.6Y6+W9.7Y7) − Y10=F(W10.4Y4+W10.5Y5+W10.6Y6+W10.7Y7) − Y11=F(W11.4Y4+W11.5Y5+W11.6Y6+W11.7Y7) − Dr8=Y8(1−Y8) − Dr9=Y9(1−Y9) − Dr10=Y10(1−Y10) − Dr11=Y11(1−Y11) − SOカウントを1に進める。
7.11個のニューロン値及びその導関数がすべて計算さ
れ、Y値及びY導関数アレイに入れられた後、SVLMは学
習モードに置かれる。この例のように疎に結合されたネ
ットワークでは、IAカウント及びSOカウントが、非クロ
ック方式で使用され、新しいIAカウントまたはSOカウン
トが必要なときは、グループ・コマンド命令によって明
示的にそれが変更される。
8.学習プロセッサが、Yiが最小指定誤差に収束するか
どうか検査する。達した場合は、パターンpに関する学
習過程を停止することができる。収束に達していない場
合は、パターンpに関する学習が続行される。
・ 収束テストY8=|(t8−Y8)|≦最小誤差 ・ 収束テストY9=|(t9−Y9)|≦最小誤差 ・ 収束テストY10=|(t10−Y10)|≦最小誤差 ・ 収束テストY11=|(t11−Y11)|≦最小誤差 9.学習プロセッサが、出力ニューロンと前の層のニュー
ロンの間の重みを更新する際に使用する、出力ニューロ
ンのδp iを計算する。
δp i=(tp i−Yp i)Drp i ・ δ8=E8=(t8−Y8)Dr8 ・ δ9=E9=(t9−Y9)Dr9 ・ δ10=E10=(t10−Y10)Dr10 ・ δ11=E11=(t11−Y11)Dr11 10.SOカウント及びIAカウントに、指定された非クロッ
キング・モードをロードする。データ経路が変更され、
次に誤差信号が当該の各シナプス・プロセッサ要素の一
時レジスタに逆通信される(第40図)。
・ GLDCT0,3,2が、SO=3及びIA=2をロードする。こ
れは、すべての重みが外部メモリ内のどこにあるかを指
し、SOカウンタとIAカウンタがロックされないこと、す
なわちS=00、I=0を保証する。
・ 4個の物理ニューロンが、PATH R4を発行すること
によってデータ経路を変更する。PATH R4が発行される
と、前記のステップ3で発行されたMPYAによって指定さ
れる自動乗算モードが停止する。次に受け取られるデー
タは、GSYP内の相対アドレスR4一時レジスタ及びDSYP内
のR3に行く。コマンド経路は変更されないままとなる。
・ E8,E9,E10、E11が、Y8、Y9,Y10、Y11ソース点か
ら逆通信される。
11.誤差信号と適当な重みの乗算を開始するためにMPY命
令を発行する(第41図)。積が加算されて、誤差和ERp i
を生成する。これは、次層後方重み修正プロセスで使用
される(第42図)。コマンド経路は変更されなかった、
すなわち上端加算器ツリーからのコマンドは下端コマン
ド・レジスタ(CR2)へ行き、下端の加算器ツリーから
のコマンドは上端のコマンド・レジスタ(CR2)へ行く
ので、誤差信号はR3一時レジスタの受け取ったコマンド
に対する相対アドレスにある。
上式でm=M1+M2+……+ML ・ ニューロン8、9、10、11が、MPY R6*R3→ADD TRE
E(T)を発行する(第41図)。
・ 重み付き誤差和ER4、ER5、ER6、ER7を生成する(第
42図)。
− ER4=W8.4E8+W9.4E9+W10.4E10+W11.4E11) − ER5=W8.5E8+W9.5E9+W10.5E10+W11.5E11) − ER6=W8.6E8+W9.6E9+W10.6E10+W11.6E11) − ER7=W8.7E8+W9.7E9+W10.7E10+W11.7E11) 12.層3と層4の間の重みが、ここで学習規則によって
修正される。ΔWijは、ρYjEiによって2命令ステッ
プで生成される。
a.ステップ1−MPY R5*R3→R4(第43図)。
・ TEMPREG8.4=Y4E8 ・ TEMPREG8.5=Y5E8 ・ TEMPREG8.6=Y6E8 ・ TEMPREG8.7=Y7E8 ・ TEMPREG9.4=Y4E9 ・ 以下になるまで継続する ・ TEMPREG11.7=Y7E11 b.ステップ2−MPY R4*IMD→R4(第44図)。
・ ΔW8.4=ρTEMPREG8.4 ・ ΔW8.5=ρTEMPREG8.5 ・ ΔW8.6=ρTEMPREG8.6 ・ ΔW8.7=ρTEMPREG8.7 ・ ΔW9.4=ρTEMPREG9.4 ・ 以下になるまで継続する ・ ΔW11.7=ρTEMPREG11,7 13.さらに1ステップで層3と層4の間の新しい重みを
生成する。新Wij=W′ij=旧Wij+ΔWij。新しい重
みは外部メモリに記憶される。ADD R6+R4→EXT.MEM.2
は、現在のSOカウント及びIAカウントを外部メモリへの
アドレスとして使用する(第45図)。
・ W′8.4=W8.4+ΔW8.4 ・ W′8.5=W8.5+ΔW8.5 ・ W′8.6=W8.6+ΔW8.6 ・ W′8.7=W8.7+ΔW8.7 ・ W′9.4=W9.4+ΔW9.4 ・ 以下になるまで継続する ・ W′11.7=W11.7+ΔW11.7 14.この手順に従って、ネットワーク内の他の層に関す
る重みを更新することができる。第3層については、一
般式Ei=DriERiからSO=2及びIA=1、誤差信号E4、E
5、E6、E7を学習プロセッサ内で生成し、次いでこれら
の誤差信号を構造内で逆通信することができる。次に、
誤差信号ER3を生成することができ、続いて重みW4.3
5.3、W6.3、W7.3について重み更新シーケンスを実
行する。すべての重みが更新されるまでこのプロセスを
続行する。
15.次の学習サイクルPATHR2に備えて新しい経路コマン
ドが送られ、その結果、新しいY値が適切なレジスタに
送られる。
16.SVLMが実行モードに置かれ、調整された重みによっ
て出力パターンが教育パターンと最小指定誤差で一致す
るまで既存のパターンpが再度印加される。最小指定誤
差に達するまで、SVLMは実行モードと学習モードに交互
に切り替わる。最小指定誤差に収束した後、新しいパタ
ーンを印加し、すべての教育パターンが印加されるまで
このプロセスを繰り返すことができる。
[要約] それ自体の外部メモリを含むシナプス・プロセッサの
共通構成単位を作成するグループ区分アルゴリズムを提
示した。このプロセッサ・グループを使って、高性能で
完全な結合度を維持する汎用仮想学習機械を作成する。
このシナプス・プロセッサ・グループにより、システム
は仮想サイズでスケーラブルになり、直接実行能力をも
つようになる。プロセッサ・グループの内部で、シナプ
ス・プロセッサは、外部メモリ・アクセスが可能で、同
期の問題が軽減された、混成制御フロー/データ・フロ
ー・アーキテクチャとして設計される。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デルガドーフライアズ、オセ、グアダル ーペ アメリカ合衆国ニューヨーク州ヴェスタ ル、アパートメント11、プラザ・ドライ ブ431番地

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】仮想ニューラル・シナプス・プロセッサ装
    置を備えるコンピュータ・システムであって、前記装置
    は、 Nが1以上の整数である、グループに区分化されたN物
    理ニューロン構造 を含み、前記グループは、 命令およびデータを記憶する手段と、前記記憶手段に接
    続され命令およびデータを受け取る手段と、前記受取手
    段に接続され命令を実行する手段と、VがNより大きく
    て、V個のニューロンの重みおよびニューロン出力値の
    ための外部データ記憶装置とインタフェースする手段と
    を含むシナプス処理手段と、 前記外部データ記憶装置と接続されグループ命令を実行
    する手段と、 前記シナプス処理手段に接続された通信加算器ツリーと を含み、前記Nニューロン構造は、 前記シナプス処理手段に接続されニューロン活動化関数
    の開始を制御するニューロン活動化手段と、 前記グループを相互結合してNニューロン構造にする手
    段と、 前記通信加算器ツリーを通してシナプス処理のためにニ
    ューロン活動化手段の命令およびデータと出力をシナプ
    ス処理手段に伝達し戻す手段と を含むことにより、Nニューロン構造上にV個のニュー
    ロン(仮想ニューロン)をエミュレートするようにした
    コンピュータ・システム。
  2. 【請求項2】N×Nマトリックスを構成してその対角線
    について対称の位置にあるものが結合されたN×N結合
    重み行列の形に配置されたものであり、その対角線上に
    ある対角線セルとそれ以外の一般セルとを含むNニュー
    ロン・ネットワーク内の結合重みに関連づけられたN2
    個のシナプス処理手段を含む請求項1に記載のシステ
    ム。
  3. 【請求項3】前記対角線セルが、それぞれ単一のシナプ
    ス処理手段を含み、前記N×N結合重み行列の対角線上
    の結合重みに関連づけられ、前記一般セルがそれぞれ上
    端シナプス処理手段と下端シナプス処理手段とを含み、
    前記N×N結合重み行列の前記対角線上のもの以外の結
    合重みに関連づけられている請求項2に記載のシステ
    ム。
  4. 【請求項4】前記上端シナプス処理手段と前記下端シナ
    プス処理手段がそれぞれNニューロン構造の接続された
    通信加算器ツリーに結果を供給し、かつ前記接続された
    通信加算器ツリーから命令およびデータを受け取る手段
    を含む請求項3に記載のシステム。
  5. 【請求項5】前記Nニューロン構造がG個のグループに
    区分化され、Gが1より大きい整数であり、各前記グル
    ープは対角線セルと一般セルとを含み、各前記対角線セ
    ルは通信加算器ツリーに接続され、各前記一般セルは上
    端通信加算器ツリーと下端通信加算器ツリーとに接続さ
    れている請求項2に記載のシステム。
JP3509437A 1990-05-22 1991-05-17 スケーラブル・フロー仮想学習ニューロコンピュータ Expired - Fee Related JP2663995B2 (ja)

Applications Claiming Priority (4)

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
US68278691A 1991-04-08 1991-04-08
US682,786 1991-04-08

Publications (2)

Publication Number Publication Date
JPH05500429A JPH05500429A (ja) 1993-01-28
JP2663995B2 true JP2663995B2 (ja) 1997-10-15

Family

ID=27062243

Family Applications (4)

Application Number Title Priority Date Filing Date
JP3517778A Expired - Fee Related JP2663996B2 (ja) 1990-05-22 1991-05-17 ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア
JP3510818A Expired - Lifetime JP2502867B2 (ja) 1990-05-22 1991-05-17 Plan―ピラミッド型学習ア―キテクチャ・ニュ―ロコンピュ―タ
JP3509437A Expired - Fee Related JP2663995B2 (ja) 1990-05-22 1991-05-17 スケーラブル・フロー仮想学習ニューロコンピュータ
JP3510421A Expired - Fee Related JP2746350B2 (ja) 1990-05-22 1991-05-17 学習機械シナプス・プロセッサ・システム装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP3517778A Expired - Fee Related JP2663996B2 (ja) 1990-05-22 1991-05-17 ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア
JP3510818A Expired - Lifetime JP2502867B2 (ja) 1990-05-22 1991-05-17 Plan―ピラミッド型学習ア―キテクチャ・ニュ―ロコンピュ―タ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP3510421A Expired - Fee Related JP2746350B2 (ja) 1990-05-22 1991-05-17 学習機械シナプス・プロセッサ・システム装置

Country Status (4)

Country Link
US (3) US5509106A (ja)
EP (4) EP0486684A1 (ja)
JP (4) JP2663996B2 (ja)
WO (4) WO1991018349A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2647327B2 (ja) * 1992-04-06 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 大規模並列コンピューティング・システム装置
JP2572522B2 (ja) * 1992-05-12 1997-01-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピューティング装置
US5517667A (en) * 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
WO1996008005A1 (en) * 1994-09-07 1996-03-14 Motorola Inc. System for recognizing spoken sounds from continuous speech and method of using same
US6128720A (en) * 1994-12-29 2000-10-03 International Business Machines Corporation Distributed processing array with component processors performing customized interpretation of instructions
US5659785A (en) * 1995-02-10 1997-08-19 International Business Machines Corporation Array processor communication architecture with broadcast processor instructions
US5799134A (en) * 1995-03-13 1998-08-25 Industrial Technology Research Institute One dimensional systolic array architecture for neural network
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
JP3413213B2 (ja) * 1997-12-19 2003-06-03 ビーエイイー システムズ パブリック リミテッド カンパニー バイナリーコードコンバーター及びコンパレーター
US7254565B2 (en) * 2001-07-26 2007-08-07 International Business Machines Corporation Method and circuits to virtually increase the number of prototypes in artificial neural networks
JP3987782B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
GB2400201A (en) * 2003-04-05 2004-10-06 Hewlett Packard Development Co Network modelling its own response to a requested action
US8443169B2 (en) * 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
CN111291873A (zh) * 2014-07-21 2020-06-16 徐志强 预制性突触的模拟方法及装置
US9747546B2 (en) 2015-05-21 2017-08-29 Google Inc. Neural network processor
CN105512724B (zh) * 2015-12-01 2017-05-10 中国科学院计算技术研究所 加法器装置、数据累加方法及数据处理装置
US11308383B2 (en) 2016-05-17 2022-04-19 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
KR102459854B1 (ko) * 2016-05-26 2022-10-27 삼성전자주식회사 심층 신경망용 가속기
CN107688853B (zh) * 2016-08-05 2020-01-10 中科寒武纪科技股份有限公司 一种用于执行神经网络运算的装置及方法
US10534607B2 (en) 2017-05-23 2020-01-14 Google Llc Accessing data in multi-dimensional tensors using adders
US9946539B1 (en) 2017-05-23 2018-04-17 Google Llc Accessing data in multi-dimensional tensors using adders
US10796198B2 (en) 2018-02-08 2020-10-06 Western Digital Technologies, Inc. Adjusting enhancement coefficients for neural network engine
US11164072B2 (en) * 2018-02-08 2021-11-02 Western Digital Technologies, Inc. Convolution engines for systolic neural network processor
US10853034B2 (en) 2018-03-30 2020-12-01 Intel Corporation Common factor mass multiplication circuitry
JP6902000B2 (ja) * 2018-07-10 2021-07-14 株式会社東芝 演算装置
EP4009183A1 (en) 2018-10-18 2022-06-08 Shanghai Cambricon Information Technology Co., Ltd Network-on-chip data processing method and device
CN113569798B (zh) * 2018-11-16 2024-05-24 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
US11270763B2 (en) 2019-01-18 2022-03-08 Silicon Storage Technology, Inc. Neural network classifier using array of three-gate non-volatile memory cells
US11409352B2 (en) 2019-01-18 2022-08-09 Silicon Storage Technology, Inc. Power management for an analog neural memory in a deep learning artificial neural network
US11023559B2 (en) 2019-01-25 2021-06-01 Microsemi Soc Corp. Apparatus and method for combining analog neural net with FPGA routing in a monolithic integrated circuit
US10720217B1 (en) 2019-01-29 2020-07-21 Silicon Storage Technology, Inc. Memory device and method for varying program state separation based upon frequency of use
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
US11423979B2 (en) 2019-04-29 2022-08-23 Silicon Storage Technology, Inc. Decoding system and physical layout for analog neural memory in deep learning artificial neural network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796199A (en) * 1987-02-24 1989-01-03 Oregon Graduate Center Neural-model, information-handling architecture and method
US4858147A (en) * 1987-06-15 1989-08-15 Unisys Corporation Special purpose neurocomputer system for solving optimization problems
US5014235A (en) * 1987-12-15 1991-05-07 Steven G. Morton Convolution memory
FR2625347B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
US4953099A (en) * 1988-06-07 1990-08-28 Massachusetts Institute Of Technology Information discrimination cell
DE58906476D1 (de) * 1988-07-05 1994-02-03 Siemens Ag In integrierter Schaltungstechnik ausgeführtes digitales neuronales Netz.
GB2224139A (en) * 1988-10-24 1990-04-25 Philips Electronic Associated Digital data processing apparatus
FR2639461A1 (fr) * 1988-11-18 1990-05-25 Labo Electronique Physique Arrangement bidimensionnel de points memoire et structure de reseaux de neurones utilisant un tel arrangement
EP0377221B1 (en) * 1988-12-29 1996-11-20 Sharp Kabushiki Kaisha Neuro-computer
JPH02287670A (ja) * 1989-04-27 1990-11-27 Mitsubishi Electric Corp 半導体神経回路網
US5148514A (en) * 1989-05-15 1992-09-15 Mitsubishi Denki Kabushiki Kaisha Neural network integrated circuit device having self-organizing function
JP2517410B2 (ja) * 1989-05-15 1996-07-24 三菱電機株式会社 学習機能付集積回路装置
US5148515A (en) * 1990-05-22 1992-09-15 International Business Machines Corp. Scalable neural array processor and method
US5243688A (en) * 1990-05-22 1993-09-07 International Business Machines Corporation Virtual neurocomputer architectures for neural networks

Also Published As

Publication number Publication date
EP0484506A1 (en) 1992-05-13
EP0486635A1 (en) 1992-05-27
EP0486684A1 (en) 1992-05-27
JPH04507027A (ja) 1992-12-03
JP2502867B2 (ja) 1996-05-29
JP2746350B2 (ja) 1998-05-06
JP2663996B2 (ja) 1997-10-15
EP0484522A1 (en) 1992-05-13
EP0484522A4 (ja) 1994-03-23
WO1991018349A1 (en) 1991-11-28
EP0486684A4 (ja) 1994-03-23
EP0484506A4 (ja) 1994-03-23
WO1991018351A1 (en) 1991-11-28
EP0486635A4 (ja) 1994-03-23
JPH05500429A (ja) 1993-01-28
WO1992001257A1 (en) 1992-01-23
US5542026A (en) 1996-07-30
WO1991018350A1 (en) 1991-11-28
US5509106A (en) 1996-04-16
US5617512A (en) 1997-04-01
JPH04505824A (ja) 1992-10-08
JPH04507026A (ja) 1992-12-03

Similar Documents

Publication Publication Date Title
JP2663995B2 (ja) スケーラブル・フロー仮想学習ニューロコンピュータ
US5329611A (en) Scalable flow virtual learning neurocomputer
US5613044A (en) Learning machine synapse processor system apparatus
US5682544A (en) Massively parallel diagonal-fold tree array processor
US5337395A (en) SPIN: a sequential pipeline neurocomputer
JP2021507383A (ja) ニューラルネットワークプロセッサに対する統合メモリ構造
JPH08241291A (ja) プロセッサ
TWI417797B (zh) A Parallel Learning Architecture and Its Method for Transferred Neural Network
JP2575565B2 (ja) Spin:順次パイプライン式ニューロコンピュータ
JPH06500187A (ja) 高度並列入/出力を持つ多次元プロセッサシステムおよびプロセッサアレイ
US20200226201A1 (en) Methods and Apparatus for Constructing Digital Circuits for Performing Matrix Operations
US20240176845A1 (en) Method and device for matrix multiplication optimization using vector registers
JP2647330B2 (ja) 超並列コンピューティングシステム
Chinn et al. Systolic array implementations of neural nets on the MasPar MP-1 massively parallel processor
US5243688A (en) Virtual neurocomputer architectures for neural networks
Saeks et al. On the Design of an MIMD Neural Network Processor
JPH04316153A (ja) ニューロプロセッサ
Dey et al. An application specific processor architecture with 3D integration for recurrent neural networks
De Gloria et al. Clustered Boltzmann Machines: Massively parallel architectures for constrained optimization problems
Hadley The performance enhancement of a run-time reconfigurable FPGA system through partial reconfiguration
Turega A computer architecture to support neural net simulation
Hämäläinen et al. Linearly expandable partial tree shape architecture for parallel neurocomputer
Vassiliadis et al. SPIN: The sequential pipelined neuroemulator
Michael A Parallel Computer Architecture to Support Artificial Neural Networks
Howe et al. SPACE: Symbolic processing in associative computing elements

Legal Events

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