JPH07117948B2 - コンピユータ装置 - Google Patents

コンピユータ装置

Info

Publication number
JPH07117948B2
JPH07117948B2 JP3125109A JP12510991A JPH07117948B2 JP H07117948 B2 JPH07117948 B2 JP H07117948B2 JP 3125109 A JP3125109 A JP 3125109A JP 12510991 A JP12510991 A JP 12510991A JP H07117948 B2 JPH07117948 B2 JP H07117948B2
Authority
JP
Japan
Prior art keywords
value
response
input
state
operating
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
JP3125109A
Other languages
English (en)
Other versions
JPH04232562A (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 JPH04232562A publication Critical patent/JPH04232562A/ja
Publication of JPH07117948B2 publication Critical patent/JPH07117948B2/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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピユータ装置に関
し、特に汎用デイジタルコンピユータシステムにおける
新しい有用な改善に関する。詳細には、本発明は完全に
接続したネツトワークモデルについて配列構造内で内部
通信機構を用いる神経ネツトワークアーキテクチヤに関
する。
【0002】
【従来の技術】神経計算パラダイム(neural computing
paradigm )は一般に、入力重み付け乗算、積加算、神
経状態計算及びニユーロン間の完全な接続からなる動的
で高度に並列計算するようになされた内部的なシステム
である点に特徴がある。
【0003】ほとんどの市販用の人工的神経システム
(ANS)はフオンノイマンコンピユータにおいてモデ
ル化される。これは処理アルゴリズムを容易に変更し得
るようにすると共に、異なつたネツトワーク構造を使用
し得るようにするが、最新のネツトワークであつても実
行速度が低い。これに対して神経ネツトワークを援助す
る並列構造のものが開発されているが、システムモデル
が要求する範囲で処理エレメントがニユーロン動作を実
行させるので、応用業務(すなわちアプリケーシヨン)
に適合するように機能しようとする実際のニユーロンの
現在の知識がずれるおそれがある。
【0004】神経ネツトワーク処理要素により要求され
る代表的な計算タスクの一例は(1)MITプレス1986
年版の「並列分散処理第1巻、基礎(Parallel Distrib
utedProcessing Vol.1 、foundations )」に示される
完全並列分散処理モデルに示されている。そのような処
理要素すなわちニユーロンのネツトワークは(2)「プ
ロシーデイングス・オブ・ナシヨナル・アカデミ・オブ
・サイエンス81」、1984年5月、pp3088−3092に示さ
れている。これを図39及び表1に示す。
【表1】
【0005】図39において、神経ネツトワーク処理ユ
ニツトすなわちニユーロン40は一般に入力機能Ii
4と活動機能Yi 42を含む処理タスクと、接続ネツト
ワーク46及び48を含んでおり、これらのネツトワー
ク46及び48は最悪の場合ニユーロン40を自身を含
む他のすべてのニユーロンに接続する。
【0006】活動機能Yi 42はシグモイド(sigmoid
)機能と呼ばれる形式の非線形機能である。活動機能
i 42の他の例はしきい値機能、確率機能等を含む。
そのような非線形シグモイド処理要素40のネツトワー
クはデイジタルプロセツサによつてシミユレートし得る
動的システムを表す。数学的には、ニユーロンの非線形
動的モデルは時間についてのニユーロン機能を支配する
非線形式の導関数をとり、またその関数の計算のために
数値的微分技術を用いることによりデイジタル的にシミ
ユレートし得る。この数学的な方法は神経ネツトワーク
の非線形連続関数をデイジタル表記にマツピングし得る
ようにする。独立した時間ステツプにおいて入力機能I
i がデイジタル重み値Wijを各ニユーロン入力について
デイジタル信号値Yj で乗算し、かつこれら積のデイジ
タル値の和をつくる。活動機能Yi への入力は入力機能
i の出力であり、この場合の出力は直接に活動機能Y
i となる。又はその出力は機能Yi になり得る。
【0007】
【発明が解決しようとする課題】神経ネツトワークの非
線形デイジタルシミユレートの精度は重み精度、ニユー
ロン値、積、積和及び活動値と、シミユレーシヨンに用
いられる時間ステツプのサイズとにより決まる。特定の
シミユレーシヨンに必要な精度は問題に依存する。時間
ステツプのサイズは活動機能に組込まれる乗算係数とし
て扱うことができる。1つのネツトワークにおけるニユ
ーロンはすべて同一の機能をもち得るが、これは必要条
件ではない。
【0008】神経プロセツサでモデル化されるニユーロ
ンは、「直接」及び又は「仮想」インプレメンテーシヨ
ンでシミユレートし得る。直接法では各ニユーロンは物
理的な処理要素(PE)を有し、この処理要素は当該シ
ステム内において活動する他のニユーロン処理要素と同
時に並列に動作し得る。「仮想」インプレメンテーシヨ
ンにおいては、複数のニユーロンが各ハードウエア処理
要素(PE)に割り当てられ、処理要素の処理がその
「仮想」ニユーロンを共用する必要がある。このネツト
ワークの性能は「直接」法を採用したことにより大きく
できるが、最新の人工神経システムはアーキテクチヤ及
び技術上の限界のためにこの「仮想」ニユーロンの概念
を利用している。
【0009】神経ネツトワークの「直接」インプレメン
テーシヨンにおける2つの大きな問題はニユーロン間の
相互接続ネツトワーク及びニユーロン関数の計算速度で
ある。第1に、多数のニユーロン(処理ユニツト又は処
理要素)を有する人工神経システムでは処理要素を接続
する方法が性能及びコストの点で臨界的なものとなる。
そのような直接システムの物理的インプレメンテーシヨ
ンにおいて完全な接続を必要とすると、非常に多数の相
互接続ラインが必要なために、不可能ではないにしても
非常に達成が困難である。第2に、神経処理負荷は各ニ
ユーロンへの入力信号の「重み付け」について行れねば
ならない多重の並列計算を含む。
【0010】神経処理負荷の比較的大きいサイズのもの
は、対称的な重みに完全に接続される64×64要素ホツプ
フイールド(Hopfield)ネツトワークを用いて表示する
ことができる。この種のネツトワークは64×64=4096個
のニユーロンを有し、その完全相互接続ネツトワークは
4096×4096すなわち約16×106 個の重み値を有する。12
8 ×128 要素のホツプフイールドネツトワークは256 ×
106 個の重みをもつ128 ×128 =16384 個のニユーロン
を有する。値(重み)×(ニユーロン入力値)のすべて
のニユーロンについての和は、前述のシグモイド活動機
能のような各ニユーロンの活動機能に対する入力にな
る。各計算は、ネツトワークの更新サイクルごとにすべ
てのニユーロンについて完了しなければならない処理負
荷全体について求めたものである。
【0011】神経コンピユータを満足する1つの構造は
リングシストリツク(ring systolic )配列である。シ
ストリツク配列はデータをリズミカルに計算してシステ
ムを通過させるプロセツサネツトワークを形成する。神
経コンピユータを満足するシストリツク配列の一例は
「ジヤーナル・オブ・パラレル・アンド・デイストリビ
ユーテツド・コンピユーテイング6」、第358 頁−第38
7 頁,1989年の「ア・ユニフアイド・シストリツク・ア
ーキテクチヤ・フオー・アーテイフイシアル・ニユーラ
ル・ネツトワーク」に示されるパイプライン配列アーキ
テクチヤであり、これを図40及び表2に示す。
【表2】
【0012】この構造において、符号50、52、…
…、54によつて示す処理要素PE−1、PE−2、…
…、PE−Nは1つのニユーロンYi として取扱われ
る。各ニユーロンは重み記憶手段51、53、……、5
5を含み、この重みは処理要素から処理要素に直線的に
シフトされるときのj番目のニユーロン値に対応する循
環シフト順に記憶される。初期ニユーロン値及び重みが
ホストから処理要素50、52、……、54に予めロー
ドされているとすると、ネツトワーク更新サイクルは、
表2に示すように、Ii 値(ステツプ1〜7)及びYi
値(ステツプ8)を計算する。このように神経ネツトワ
ークはシストリツク配列によつてモデル化し得る。
【0013】リングシストリツク配列アーキテクチヤ
(図40及び表2)は重畳動作を仮定すると次の性能特
性を有する。
【数1】 ただし、各処理要素を通る際の遅延を次の遅延変数によ
つて表す。 δM =乗算器の遅延量 δΛ=通信加算器(2−1加算段遅延) δS =シグモイド発生器遅延 δBUS =通信加算器(通信バイパス段遅延) N=ニユーロンの総数。 本発明の目的は改善された配列プロセツサ装置及び方法
を提供することである。
【0014】本発明の他の目的は改善された神経システ
ムアーキテクチヤ及び方法を提供することである。本発
明の他の目的は大型神経ネツトワークの改善された直接
モデル化を与える人工神経システムを提供することであ
る。本発明の他の目的は総合的接続性に特徴をもつ神経
配列についてその物理的な構成が複雑な問題点を解消す
る改善された相互接続ネツトワークを提供することであ
る。本発明の他の目的は複数の相互に接続された半導体
チツプ全体に効率の良い分布を与える改善された神経配
列アーキテクチヤ及び方法を提供することである。
【0015】
【課題を解決するための手段】本発明の装置において
は、配列プロセツサが複数の入力機能要素を含み、各入
力機能要素は選択的に一群のニユーロンに割り当てら
れ、また各ニユーロンは選択された入力機能要素群から
ニユーロン値を発生してそのニユーロン値を上記選択さ
れた入力機能要素群に戻すための手段を含む。
【0016】
【作用】本発明の装置及び方法によれば、各ニユーロン
のそれ自身を含む全ての他のニユーロンに対する総合的
接続性はニユーロンの直交関係により達成される。すな
わち与えられた1つの乗算要素は第1サイクルにおいて
列ニユーロンに対して入力機能内の行要素として動作
し、第2サイクルにおいて行ニユーロンに対して入力機
能内の列要素として動作する。本発明の方法によれば、
直交ニユーロン群と複数の入力機能要素を含む配列プロ
セツサは、(1)入力機能の第1サブセツトについて第
1ニユーロンを1つのニユーロン値を発生し、かつそれ
をその第1サブセツトにロードするように動作させるス
テツプと、(2)入力機能の上記第1サブセツトのそれ
ぞれを直交ニユーロンセツトの内の1つに割り当てるス
テツプとを含む方法に従つて動作する。
【0017】
【実施例】以下図面について本発明の一実施例を詳述す
る。
【0018】本発明はニユーロン要素の直交するセツト
を含む神経プロセツサ及び要素間にニユーロン値を移送
させる。1つのニユーロンは、(1)一般に入力機能要
素のセツト又はそれぞれ入力値及び重み値に応じて重み
付けされた出力を与える乗算要素によつて形成される入
力機能、(2)一般に乗算要素からの重み付けされた出
力を1つの値に合成する加算器ツリーでなる合成又は減
算機能、及び(3)この1つの値に応じてニユーロン出
力を発生する活動機能を含む。最悪の場合総合的な接続
はN×Nニユーロン配列内の各ニユーロンはニユーロン
出力をそれ自体を含む全てのニユーロンの入力値として
通信するように接続され、従つてその入力機能にN個の
乗算要素群を有する。本発明の好適な実施例によれば、
この合成機能はニユーロン出力をそれ自体の入力機能に
戻すための戻り通信パスを含む。各ニユーロンのそれ自
体を含む全てのニユーロンへの総合的な接続はニユーロ
ンの直交関係により達成される。すなわち1つの与えら
れた乗算要素は第1サイクルでは列ニユーロンに対し入
力機能内の行要素として動作し、また第2サイクルにお
いて行要素に対し入力機能内の列要素として動作する。
【0019】完全に接続したN個のニユーロンネツトワ
ークをシミユレートする神経コンピユータにより通常実
行される4つの基本的動作は次の通りである。 1.N2 回の乗算。 2.N回の積加算。 3.N回の活動関数演算。 4.N×N回の通信。 後述するように、本発明の一実施例によれば、スカラブ
ル(scalable)な神経配列プロセツサ(SNAP)はN
2 個の乗算器によるN2 回の乗算、ツリー構造によるN
回の積加算、別個の活動関数演算モジユールによるN回
の活動関数演算、及び加算ツリー構造に含まれている逆
方向のパスメカニズムによるN×N回の通信を行う。
【0020】後述する本発明の好適な実施例に関連し
て、神経プロセツサによつて実行される関数演算は次式
で表される。
【数2】 ただし、Nはニユーロンの数、F(X)は好適な実施例
においては次式のシグモイド活動関数に等しくセツトさ
れるニユーロン活動関数である。
【数3】 ただし、(2)式において重みWの添字はニユーロン間
の接続の重みを表し、例えばW13はニユーロン3からニ
ユーロン1への接続の重みを表す。
【0021】後述する本発明の実施例では、重みはネツ
トワークの実行期間の間固定される。しかしながら、こ
れらの重みはホストコンピユータからロードできるの
で、学習アルゴリズムはホストにおいて実行され、重み
が更新される。さらに図25について後述する本発明の
好適な実施例においては、ホストコンピユータ30が、
(1)アーキテクチヤによりシミユレートされるべきネ
ツトワーク内のニユーロンの数(a)、全ての接続重み
(b)、初期ニユーロン値(c)及び走るべきネツトワ
ーク更新サイクルの数(d)をロードし、(2)このモ
デルの実行をスタートし、(3)ネツトワーク実行の完
了時にニユーロン値を読取ることによりネツトワーク3
2のアーキテクチヤを初期化する。
【0022】その後、種々の神経処理アーキテクチヤの
性能をアクセスして比較する際に、実行中の性能だけを
考慮し、初期化時間及びホスト処理時間は考慮しないよ
うにする。本発明の好適な実施例によれば、後述する乗
算器及び加算器ツリー配列構造はニユーロン要素間のニ
ユーロン値の転送手段を与える。スカラブル神経配列プ
ロセツサ(SNAP)のこの実施例についての(2)式
の解釈は、各ニユーロンiについて同一のYi 入力にお
いて異なる重みをもつ重み乗算をする点に特徴がある。
これは各ニユーロン値について(2)式を拡張し、かつ
複数のニユーロン出力についてこれらの式を比較するこ
とにより明らかに分る。(2)式から形成されるN個の
ニユーロン出力は次の(4)式の通りである。
【数4】
【0023】図1において、一例としてN2 個の相互接
続を有する4(N=4)ニユーロン配列が示されてお
り、総合接続の原理(Nが非常に大きくなつたときにN
ニユーロンマトリクスを物理的に実現することがほとん
ど不可能であること)を示している。ここではニユーロ
ン60は加算器ツリー62、乗算器64、66、68、
70及びシグモイド発生器72を含む。このニユーロン
構造は複製されてさらに3個のニユーロン90、92、
94を形成し、図示するようにシグモイド発生器74、
76、78が加算器ツリー80、82、84及び乗算器
回路(91、93、95、97)、(61、63、6
5、67)、(71、73、75、77)と関連付けら
れる。ニユーロン90のシグモイド発生器74からの出
力値Y2′は乗算器66、93、63、73の入力に帰
還され(すなわちデータパス69で相互接続され)、こ
れらの乗算器が4×4乗算器マトリクスの第2行を形成
する。ニユーロン92のシグモイド発生器76の出力Y
3′は乗算器68、95、65、75の入力に帰還され
(データパス79により相互接続される)、これらが4
×4乗算器マトリクスの第3行を形成する。図示しない
が、ニユーロン60及び94のシグモイド発生器72及
び78は乗算器マトリクスの第1行を形成する乗算器6
4、91、61、71の入力端に帰還され(相互接続さ
れ)、これによりマトリクスの第4行を形成する乗算器
70、97、67、77の入力に帰還される。ここでは
重み及びニユーロン値は、例えば16又は32ビツト表記の
ような値の精度を反映するデータ通信パス上の任意のビ
ツト数で表される。
【0024】Yj 入力(例えばY1、Y2、Y3、Y
4)及び対応する重みは別個に使用することができかつ
N個の並列乗算器(例えば乗算器64、66、68、7
0)があるとすれば、与えられたニユーロン「i」(例
えばニユーロン60)について、N個の積が1乗算器遅
延時間内に並列に(すなわち乗算器64、66、68、
70の出力端において)形成される。これらN個の積は
ツリー構造(例えば加算器ツリー62)に配列される2
対1(2−1)加算器を用いて加算されて最終和Xを形
成し、この最終和XがF(X)ユニツト(例えばシグモ
イド発生器72)に加えられてi番目のニユーロン出力
(例えばY1′)を形成する。このようなN個のニユー
ロン(例えば60、90、92、94)によりN個のニ
ユーロン値(例えば相互接続されたニユーロン値Y
1′、Y2′、Y3′、Y4′)が形成される。
【0025】各ニユーロンの出力がマトリクス内のそれ
自身のニユーロンを含んで他の全てのニユーロンの入力
端に相互接続されると、図1のN個のニユーロン60、
90、92、94はN2 個の接続69、79……を必要
とし、これはNが増加すると物理的に不可能ではなくと
も困難である。本発明によれば、(2)式によつて要求
されるようなスカラブル神経配列プロセツサ(SNA
P)における完全な相互接続を図1に示すような相互接
続法で表される方法によつて困難性を伴わずに達成する
ために、ニユーロン値を移送するための新規な方法が提
供される。これは図2及び図3のスカラブル神経配列プ
ロセツサ(SNAP)加算ツリー、図4及び図5のスカ
ラブル神経配列プロセツサ(SNAP)乗算器、図6及
び図7のスカラブル神経配列プロセツサ(SNAP)シ
グモイド発生器の直交ニユーロンのマトリクス(以下図
8の4ニユーロンスカラブル神経配列プロセツサ(SN
AP)について述べる)を使用することにより達成され
る。ここでは一対のニユーロンはそれらが1つの入力機
能要素を時間的に共用するとき直交するという。他の相
互接続ネツトワークはそれらが複数入力を1つの値に縮
減する属性をもつていれば利用することができ、この1
つの値は図2及び図3のスカラブル神経配列プロセツサ
(SNAP)加算ツリーによつて後述するように入力に
戻される。
【0026】図2において、本発明の加算ツリー108
が記号的に示されており、2−1(2対1)加算器をA
で示している。図3において、このスカラブル神経配列
プロセツサ(SNAP)の加算ツリー108の詳細を示
す。3個のスカラブル神経配列プロセツサ(SNAP)
2−1加算要素(2−1ADDER)120、122、
124が2段パイプラインツリー構成として示されてい
る。出力段110の2−1加算要素124はその出力端
に第1ドライバー(DRVR1)126を有すると共
に、加算器124を逆方向にバイパスする2個の第2ド
ライバー(DRVR2)128及び130を有する。ド
ライバ126、128及び130は、デイスエーブル状
態のときドライバ出力を高インピーダンス状態に維持
し、イネーブル状態のときドライバを非反転バツフアに
するイネーブル/デイスエーブル信号(図25の状態特
定制御装置34において発生される)に応答する。第1
ドライバ(DRVR1)126がイネーブルになると、
第2ドライバ(DRVR2)128及び130はデイス
エーブルになり、又はその逆になる。この構造は入力段
においても同様であり、入力加算器116及び118が
出力段110への入力を形成する出力112及び114
をそれぞれ有する。このように加算器ツリーは第1ドラ
イバ(DRVR1)がイネーブルかつ第2ドライバ(D
RVR2)がデイスエーブルのとき一方向に加算機能を
もつことができ、これに対して本質的には第1ドライバ
(DRVR1)がデイスエーブルかつ第2ドライバ(D
RVR2)がイネーブルのとき逆方向に通信パスとして
機能する。また図28について後述するように、別々の
逆方向通信パスを利用することもできる。なお通常パイ
プラインラツチ(図示せず)がこれら加算器の入力端に
設けられている。
【0027】2−1加算器(例えば加算器120、12
2、124)を用いる図3に示すような加算器ツリー1
08はlog2N個の加算段を必要とする。スカラブル神経
配列プロセツサ(SNAP)の通信加算器108は、例
えば回路技術により、第1ドライバ(DRVR1)12
6の機能が出力段110及び入力段116、118にそ
れぞれ必要なゲート装置として組込まれることにより加
算機能に付加的な遅延を与えないようにすることができ
るから、その論理機能を表すことに注意すべきである。
又は一般的に順方向加算及び逆方向加算の通信パスを2
−1、3−1、……、N−1加算器又はそれらの組合せ
によつて作ることもできる。また、一般にこの加算機能
は複数の入力を1つの出力値にまとめる任意の機能(プ
ール又は算術又はそれらの組合せ)を実現できる。
【0028】図4及び図5において、スカラブル神経配
列プロセツサ(SNAP)乗算器160は通信加算器1
08と共に動作するようになされている。ニユーロン値
用の記憶手段がレジスタ(REG)162として用意さ
れ、対応する重みがレジスタ(WT)164として用意
される。(2)式のYj 及びWijの値すなわち被演算子
はホストコンピユータからレジスタ162及び164に
初期化されて乗算器166に入力される。初期化後のレ
ジスタ162の値Yj は通信モード、すなわち第1ドラ
イバ(DRVR1)126、168……がデイスエーブ
ルかつ第2ドライバ(DRVR2)128、130……
がイネーブルのとき、通信加算器からパス170を介し
て入力する。図4及び図5の場合、乗算器166を用い
ているが本発明はこれに限らず、他の機能を本発明の範
囲内でドライバ168への出力機能を発生するために用
意することができる。
【0029】図6及び図7において、スカラブル神経配
列プロセツサ(SNAP)シグモイド発生器180は、
まず第1ドライバ(DRVR1)がイネーブルかつ第2
ドライバ(DRVR2)がデイスエーブルのとき、重み
付け入力の加算からニユーロン値Yi をシグモイド発生
器(SIG)182において計算してレジスタ(RE
G)184に記憶し、その後発生されたニユーロンYi
の値を、第1ドライバ(DRVR1)がデイスエーブル
かつ第2ドライバ(DRVR2)がイネーブルのとき、
加算器108を逆方向に通じて乗算器160に戻すこと
により通信加算器ツリー108と共に動作する。前述の
ように、シグモイド機能以外の機能を本発明の範囲内
で、活動関数発生器180において実行することができ
る。
【0030】図8において、本発明の好適な実施例によ
る4ニユーロンスカラブル神経配列プロセツサ(SNA
P)マトリクスを述べる。図8の実施例の場合、図3の
構成において加算器ツリーを通じて通信パスを利用する
ことができるような構造を図2〜図7の構成に加えるよ
うになされている。この付加構造はN個の通信加算ツリ
ー(その1つが加算ツリー232である)からなる他の
ツリー群であり、シグモイド発生器220、222、2
24及び226が第1群210、212、214及び2
16に直角に配置されている。図8は4ニユーロンスカ
ラブル神経配列プロセツサ(SNAP)内のこれら付加
的なN個の構造を示す。通信加算ツリー232等及びそ
の活動、又はシグモイド発生器220、222、224
及び226を含むこの付加された水平構造(すなわち行
セクシヨン)は図2及び図3、図4及び図5、図6及び
図7について上述した垂直構造と全く同じであるが、行
セクシヨンに新しいドライバイネーブル/デイスエーブ
ル信号(図示せず)が必要な点が異なる。図8〜図16
に、便宜上垂直コラム加算ツリー(例えば加算器23
0)に組合されたシグモイド発生器(例えば210)を
垂直については添字vを付して示し、水平加算ツリー
(例えば232)及びこれに組合されたシグモイド発生
器(例えば224)を水平について添字hを付して示し
ている。同様に、垂直加算ツリーに関連する第1ドライ
バ(DRVR1)及び第2ドライバ(DRVR2)と、
対応するシグモイド発生器(図8〜図16には図示して
いない)が添字vで識別される。同様に水平ツリーに関
連するドライバ及び発生器は添字hで識別される。ここ
で乗算器246のような各入力機能は直交ニユーロンと
関連付けられており、すなわち次に述べるように1つの
垂直ニユーロン230と、1つの水平ニユーロン232
とに時分割的に割り当てられる。
【0031】図9〜図16において、図8の4ニユーロ
ンスカラブル神経配列プロセツサ(SNAP)の状態の
説明を本発明による2サイクルの更新動作について行
う。図9〜図16においてそれぞれのプロセスステツプ
又は状態で実行される機能部分に×印を付してある。図
9〜図16のマトリクスは図8に対応するが、データパ
スラインを含んでおらず、水平加算ツリー232(及び
加算器ツリー286、288、290)を水平バーで表
し、また垂直加算器230(及び加算ツリー280、2
82、284)を垂直バーで表すことにより簡略化して
ある。説明の便宜上、図10〜図16においては選択さ
れた活性要素を参照数字で識別する。
【0032】この実施例の場合、図8及び図9のマトリ
クスは、ホストが重み(図3、図5)と、第1ニユーロ
ン値Y1、Y2、Y3、Y4を各列の乗算器レジスタ1
62、164(図5)にロードすることによつて初期化
される。その後このスカラブル神経配列プロセツサ(S
NAP)構造は次のように動作する。ステツプ1(MU
LTIPLY)図9においてニユーロン値Yi が乗算器
240、242、……250、……、278において並
列に重みWijを乗算される。ステツプ2(VERTIC
AL FORWARD)
【0033】図10において、垂直列加算ツリー23
0、280、282、284がドライバDRVR1v
イネーブル、かつドライバDRVR2v 、DRVR
h 、DRVR2h をデイスエーブルに動作して重み付
けニユーロン値の合成(ここでは加算)をする。ステツ
プ3(GENERATE VERTICAL) 図11において垂直活動関数演算をすることにより、シ
グモイド発生器210、212、214、216が垂直
ニユーロン値Yiv、Y1′、Y2′、Y3′、Y4′を
発生する。ステツプ4(VERTICAL REVER
SE)
【0034】図12において、垂直加算ツリー230、
280、282、284がドライバDRVR2v をイネ
ーブルかつドライバDRVR1v、DRVR1h 、DR
VR2h をデイスエーブルにして垂直ニユーロン値Yiv
を乗算器240、242、……、250、……、278
の入力レジスタ162(図5)に戻すように動作する。
これは第1更新サイクルを完了させるものであり、列に
初期化される入力値Y1、Y2、Y3、Y4が変更され
てそれぞれ値Y1′、Y2′、Y3′、Y4′としてこ
のマトリクスの行に置かれる。ステツプ5(MULTI
PLY VERTICAL) 図13、図5において、垂直ニユーロン値Yiv(レジス
タ162内の値)に重みWij(レジスタ164内の値)
が乗算(乗算器166において)される。
【0035】ステツプ6(HORIZONTAL FO
RWARD) 図14、図3において、水平加算ツリー232、28
6、288、290がドライバDRV1h をイネーブル
かつドライバDRVR2h 、DRVR1v 、DRVR2
v をデイスエーブルにして重み付けニユーロン値の加算
を加算器171において行うように動作する。ステツプ
7(GENERATE HORIZONTAL) 図15、図7において、水平シグモイド発生器220、
222、224、226が水平ニユーロン値Yih、Y
1″、Y2″、Y3″、Y4″を発生する。ステツプ8
(HORIZONTAL REVERSE)
【0036】図16において、水平加算ツリー232、
286、288、290がドライバDRVR2h をイネ
ーブルかつドライバDRVR1h、DRVR1v 、DR
VR2v をデイスエーブルにして水平ニユーロン値
ih、Y1″、Y2″、Y3″、Y4″を乗算器24
0、242、……250、……278の入力レジスタに
戻すように動作する。これが第2更新サイクルを完了さ
せ、2回変更された元の入力値Y1、Y2、Y3、Y4
が列にY1″、Y2″、Y3″、Y4″として置かれ
る。ステツプ1〜8はホストが指定する反復回数の完了
まで繰り返される。
【0037】本発明のオブジエクトについてスカラブル
神経配列プロセツサ(SNAP)アーキテクチヤの性能
を評価するために、次のそれぞれの名前付きの要素の遅
延を表す遅延変数が用いられる。 δM =乗算器遅延。 δA =通信加算器(2−1加算段の遅延)。 δS =シグモイド発生器の遅延。 δB =通信加算器(通信バイパス段の遅延)。 また次の一般的仮定がある。 1.システム限定クロツク周期はCであり、全ての遅延
がCの倍数である。2.このスカラブル神経配列プロセ
ツサ(SNAP)では2対1加算器が、Nをシミユレー
トされるニユーロンの総数としてニユーロン入力の数に
等しいとすると、log2N個の加算段をもつ加算ツリー機
能をもつように使用される。
【0038】このスカラブル神経配列プロセツサ(SN
AP)アーキテクチヤの性能はニユーロン出力を発生す
るに必要な時間で表される。スカラブル神経配列プロセ
ツサ(SNAP)はリングシストリツク配列をもつもの
は(2)式により表される再帰式に基づいて動作するか
ら、Yi (t+1)の計算は前のYi (t)値が計算さ
れて入力に入る前には開始できない。この実施例では乗
算及びシグモイド機能はパイプラインとされておらず、
それらの入力を全ての乗算器又はシグモイド遅延期間の
間一定値に維持しなければならない(勿論これらをパイ
プラインとすることはできる)。構造と性能の安全につ
いての計算のための値が必要なとき、種々の機能ユニツ
トの入力にあり、かつ入力論理及び重みアクセスが乗算
動作と並列、すなわちパイプラインモードで動作するこ
とが望ましい。付加的な遅延を導入せずに安全性を得る
ためには各動作が次のように前の動作の完了時に順次生
じなくてはならない。 1.乗算器。 2.加算ツリー。 3.シグモイド発生器。 4.通信ツリー。
【0039】この事象シーケンスはリストされた事象を
表す遅延値、すなわち乗算器遅延、log2N加算ツリー加
算モード遅延、シグモイド遅延、log2N通信加算ツリー
通信モード遅延に対して比較される出力値を有するカウ
ンタを使用するような簡単な制御メカニズムを必要とす
る。遅延の一致が生じると、このシーケンスの次の事象
がスタートする。この制御シーケンスに従えば、ニユー
ロン値間の周期は次のようになる。
【数5】
【0040】ここでδA =δB =1Cとすれば、スカラ
ブル神経配列プロセツサ(SNAP)の周期は、
【数6】 となる。これまでの仮定は、重み及びニユーロン値が、
例えば16又は32ビツトのようにその値の精度を反映する
ような任意のビツト数で表されるということである。こ
の値についての表記の選択は、アレイ内の各乗算器がそ
の表記をサポートしなければならないからスカラブル神
経配列プロセツサ(SNAP)の実際の物理的構成を大
きく制限する。例えばN2 個の32ビツト乗算器は物理的
な構成により支持されるニユーロン数Nを大きく制限す
る。この設計思想においては、スカラブル神経配列プロ
セツサ(SNAP)構成にマツピングされる神経ネツト
ワークの問題にはどの程度の精度が必要かという問題が
生じる。精度は特別の問題であり、従つてこのスカラブ
ル神経配列プロセツサ(SNAP)アーキテクチヤの所
望の特徴はユーザ指定の精度をアプリケーシヨンに必要
なものとし得ることである。プログラム可能な指定ビツ
ト長を用いて、逐次ビツト法を使用すれば、ユーザが選
択可能な精度問題を解決するばかりでなく、物理的な実
施を著しく容易にする。各乗算器の重み及びYi レジス
タは被演算子のビツト長Lがホストからプログラム可能
であるような可変長シフトレジスタとして機能する。乗
算器は精度L又は2Lビツトの逐次ビツト乗算を与え、
結果のビツトが同じく逐次ビツト形の通信加算器に挿入
される。逐次ビツト乗算の一例は「IEEEトランザク
シヨンズ・オン・コミユニケーシヨンズ」、1976年4
月、第 418頁、第 425頁の「ツース・コンプリメント・
パイプライン・乗算器」に示されている。シグモイド発
生器は逐次ビツト形か、又は積の値の可変長の和を処理
できるものである。
【0041】図17において、乗算器が精度Lビツトを
与える場合にはシグモイド発生器は逐次化されず、長さ
Lの積入力の和を処理し、逐次ビツトスカラブル神経配
列プロセツサ(SNAP)周期は次の通りになる。
【数7】 図18はNが大きい配列についての有利なパツケージ及
び配線特性を有する物理的レイアウト構造を与える本発
明の一実施例を示し、これによればN×Nの乗算器配列
が4つの象限に区分され、それぞれがN/2×N/2乗
算器を表すようにされ、シグモイド発生器を有する加算
ツリーがこれら象限間に水平及び垂直に置かれる。
【0042】図19及び図20に例えば図18のアレイ
構造の4つのニユーロンスカラブル神経配列プロセツサ
(SNAP)乗算器象限の1つを示す。図19及び図2
0において、大文字Aは2対1加算器を示す。これらは
図2について述べたように、符号300及び302で示
すような水平及び垂直加算ツリーとして配置される。乗
算器セルMは図4について上述したものである。これに
より大きい配列は同一のブロツクを用いてスペース及び
配線に有利なマトリクスが得られる。大きな配列につい
て、加算ツリーデータパスに交差するワイヤの数は水平
及び垂直ワイヤリングチヤンネルにおいてlog2(N/
2)より大きくはならない。シグモイド発生器310〜
324はこのマトリクスの行方向に用意され、またシグ
モイド発生器330〜344は列方向に用意される。
【0043】図21及び図22において、本発明のスカ
ラブル神経配列プロセツサ(SNAP)アーキテクチヤ
についてのパツケージ法の一例を述べる。ここでは2つ
の形式の異なるチツプが用いられ、一方は図19及び図
20に示す形式の乗算器配列(M−CHIP)400〜
436であり、他方はそれぞれ450〜456のような
SIGIv ……SIG−Nv 及びSIG1h ……SIG
−Nh について入力通信加算ツリー460、462、4
64、466を含むニユーロン活動関数演算チツプ44
0、442、444、446である。このパツケージ法
は拡張を可能にするために、SIGチツプ入力通信加算
ツリー460〜466をそれぞれ図23及び図24に示
すように僅かに変更している。
【0044】図24において、符号480及び482で
示すような付加的ドライバDRVR3が加算段484及
び486に付加され、加算段例えば120が、ドライバ
(DRVR2)128、130によつて逆方向に与えら
れる例えば124のような加算器のバイパスと同様に順
方向において状態特定制御手段34(図25)の制御に
よつてバイパスされ得るようにする。1つの加算段が構
成中のシステムにおいて不要なときにはその段が順方向
においてバイパスされる。より小さいシステムでは使用
されるチツプが加算段内の正しいレベルに接続するよう
にそれらチツプが接続され、かつ入力加算段がバイパス
される。3つの加算段484、486、488を有する
図23及び図24のSIGチツプの例の場合には、2つ
の異なるシステムが構成し得るのであり、その1つは象
限当り1つのチツプM−CHIPであり、第2は図21
及び図22に示すように象限当り4つのチツプM−CH
IP400、402、404、406をもつものであ
る。勿論より大きい入力ツリーをSIGチツプに組込ん
でより大きい成長を可能にすることができる。これは加
算ツリーの接続が逐次ビツト形であるから特別のチツプ
入出力を必要としない。この方法によれば、拡張は象限
内で対称N/2×N/2関係を維持するために各象限内
で4倍する必要がある。この関係を例えば表3に示す。
【表3】
【0045】図25において、ホスト30はスカラブル
神経配列プロセツサ32に対し2方向通信を行うことが
でき、このプロセツサはここに述べるプロトコルに従つ
てイネーブル/デイスエーブル状態特定制御手段34に
応答する種々のドライバDRVR1、DRVR2、DR
VR3を含む。図26において、本発明の行(ロー)ス
カラビリテイ(scalability)を述べる。この実施例にお
いて、一時にN行より少ない行数(この実施例の場合2
行)ごとにN×N神経配列マトリクスを処理する。かく
してそれぞれN個の乗算器504、506の長さをもつ
2つの行500、502が、それぞれ垂直通信加算ツリ
ー514、516、……、518の出力側に設けられる
反復加算器508、510、……、512を有する。
【0046】図27において、会話型加算器512は加
算器(2−1ADDER)520及び記憶レジスタ(R
EG)522を含む。会話型加算器512は、列518
が最終加算が形成されてシグモイド発生器524に与え
られるまでN/#ROWS回繰返されるとき、垂直加算
ツリー518の部分和をレジスタ522に累積する。同
様に、会話型508及び510は一時に2行(ロー)5
00、502(#ROWS)ずつ加算器ツリー514、
516からの部分和を累積し、最終加算を活動(シグモ
イド)機能526、528にそれぞれ与える。これら列
(コラム)加算が完了した後に、N個のニユーロン値が
図28〜図32について述べるように、活動関数演算5
24、526、528……によつて発生されて加算ツリ
ー514、516、……518から水平加算ツリー50
0、502に戻される。
【0047】図28において、垂直加算ツリー518
(図26)は本発明のデユアルパス形式を有する。ここ
では、性能並びに加算ツリー108(図3)との対比の
ために、別個の逆方向通信パス530、531、53
2、534、536がシグモイド524のレジスタ57
0(図32)の出力YN から乗算器504、506、…
…に与えられる(図28には4本の逆方向通信パス53
0〜536を示しているが、図27の実施例では2行に
は2個だけが必要である。)ツリー108のサイズによ
り、かつ用いられる回路技術により、ドライバDRVR
2、538及び540がローデイングの処理のために逆
方向の通信パス530〜536で使用される。逆方向の
通信パス530、532、534、536は加算ツリー
パス540〜550の後段となつているが、これらのあ
て先は例えば504、506のような乗算器の入力レジ
スタ564(図28)であるからこれは必要ではない。
【0048】図29及び図30、図31及び図32にお
いて乗算器504、506及びシグモイド発生器524
はこの逆方向の通信パスのためにライン560、562
を与えることによつて変更されている。図30におい
て、例えば乗算機能504はニユーロン値N/#ROW
S及びそれに関連するY値スタツク564及び重みスタ
ツク566内の重みを記憶する。スタツク564、56
6はFIFO構成でニユーロン値N/#ROWSを記憶
する。同様に図32において各行(ロー)500、50
2はN/#ROWS回繰返し演算しなければならないか
ら、シグモイド発生器524(図31)はレジスタ57
0を含むことにより、重畳動作を可能にするようなパイ
プライン形式になされている。
【0049】図33及び図26をみるに、本発明の行
(ロー)スカラビリテイでは2つの行が行500、50
2についてそれぞれ1つずつの2−7段デユアルパス加
算器及びコラム514、……、518についてそれぞれ
1つの128個の1段加算器591、593を有すると
共に、N=1024ニユーロンシステムを作るための2
×128乗算器レイチツプ601について最小ビルデイ
ングブロツクを表す。ラインROW−1(xxx)h5
90はライン594で置き代えられた第1行500につ
いての7段通信加算器592の出力であり、また第2行
502についての加算器596の出力である。ここでは
コラム出力部分和ラインPS1、PS2、PS3……P
S128が設けられ、それぞれがシグモイド発生器チツ
プ内の会話型加算器508、510、……512にバイ
パスされた入力ツリーを接続する。拡張は、このシステ
ムに行を加え、かつシグモイド発生器チツプを図34及
び図35に示すように接続することにより行われる。
【0050】行スカラビリテイを有するスカラブル神経
配列プロセツサ(SNAP)の性能はコラムYiの発生
に関連する周期及び行Yiの発生に関連する別の周期に
よつて予想されるような対称形ではない。
【数8】 ただし、δIAは会話型加算器遅延である。
【数9】 行が付加されると性能はより対称に近くなり、N列×N
行では前述のように行スカラビリテイを伴わないスカラ
ブル神経配列プロセツサ(SNAP)の性能に等しくな
る。
【0051】図36及び図37において、本発明のスカ
ラブル神経配列プロセツサ(SNAP)直交スイツチン
グの概念はニユーロン限定における2次元行/列スイツ
チからニユーロン面間の3次元スイツチに拡張される。
図36の立方形構造640では4個の面642、64
4、646、648はそれぞれ4ニユーロンネツトワー
クにおけるニユーロンの1つを表す。加算収斂(add con
vergence) は4個のピラミツド形構造650、652、
654、656で示されており、ニユーロンそれぞれに
1つとなつて2対1加算要素を含む。このように側面
1、642はそれぞれ値Y1、Y2、Y3、Y4に初期
化された入力要素660、662、664、666を含
む第1ニユーロンを表す。第1動作サイクルにおいてこ
の第1ニユーロン値Y1′が発生されて入力要素66
0、662、664、666にロードされる。第2サイ
クルにおいて入力要素660からのY1′値、入力要素
670からのY2′値及び側面3、646及び側面4、
648からの対応する入力要素からのY3′及びY4′
値がシグモイド発生器700に加えられて値Y1″を作
る。図37及び図38においては図36の立方形構造を
展開して2回の更新サイクルによる4−ニユーロンスカ
ラブル神経配列プロセツサ(SNAP)を示している。
直交の概念は、例えば要素660であるそれぞれの入力
要素が2つのニユーロン間で時分割されている限り、こ
の実施例においても維持されており、この場合には第1
ニユーロンが入力要素660、662、664、666
を含み、また第2ニユーロンが入力要素660、670
を含む。
【0052】上述したように、通信加算ツリーを用いる
ことにより、又は同様の相互接続構造及び本発明のスカ
ラブル神経配列プロセツサ(SNAP)構造を用いるこ
とにより、N2 個の接続の本質的な制限が著しく低下し
て完全な相互接続を維持しつつ正規の構造の拡張を可能
にする。さらに必要とするN2 回の通信の性能上のイン
パクトはlog2Nであり、これはNが増加したときのイン
パクトを小さいものにする。表4は、本発明の「SNA
P」、「BIT SERIAL SNAP」及び「SN
AP ROW」アーキテクチヤと、従来の「SYSTO
LIC RING」アーキテクチヤ間のハードウエアコ
スト及び性能の比較を含む要約パフオーマンス評価及び
別のアーキテクチヤとの比較を示す。
【表4】
【0053】
【発明の効果】上述のように本発明によれば、新しい神
経システムアーキテクチヤが構成され、大型神経ネツト
ワークの直接的モデル化をすることができる。また神経
配列の物理的な構成上の複雑さが軽減される。
【図面の簡単な説明】
【図1】総合接続法を表す4ニユーロン配列を示す略線
的接続図である。
【図2】本発明による通信加算器を示す略線的接続図で
ある。
【図3】本発明による通信加算器を示す略線的接続図で
ある。
【図4】本発明による乗算器を示す略線的接続図であ
る。
【図5】本発明による乗算器を示す略線的接続図であ
る。
【図6】本発明による活動関数発生器(シグモイド発生
器)を示す略線的接続図である。
【図7】本発明による活動関数発生器(シグモイド発生
器)を示す略線的接続図である。
【図8】4ニユーロンマトリクスを形成するための通信
加算器、乗算器及びシグモイド発生器の相互接続を示す
略線的接続図である。
【図9】2回のニユーロン更新サイクル動作を通じて図
8の4ニユーロンマトリクスの選択された要素の乗算動
作状態を示す略線的接続図である。
【図10】2回のニユーロン更新サイクル動作を通じて
図8の4ニユーロンマトリクスの選択された要素の垂直
順方向加算動作状態を示す略線的接続図である。
【図11】2回のニユーロン更新サイクル動作を通じて
図8の4ニユーロンマトリクスの選択された要素の垂直
活動関数演算動作状態を示す略線的接続図である。
【図12】2回のニユーロン更新サイクル動作を通じて
図8の4ニユーロンマトリクスの選択された要素の垂直
逆方向通過動作状態を示す略線的接続図である。
【図13】2回のニユーロン更新サイクル動作を通じて
図8の4ニユーロンマトリクスの選択された要素の垂直
乗算動作状態を示す略線的接続図である。
【図14】2回のニユーロン更新サイクル動作を通じて
図8の4ニユーロンマトリクスの選択された要素の水平
順方向動作状態を示す略線的接続図である。
【図15】2回のニユーロン更新サイクル動作を通じて
図8の4ニユーロンマトリクスの選択された要素の水平
活動関数演算動作状態を示す略線的接続図である。
【図16】2回のニユーロン更新サイクル動作を通じて
図8の4ニユーロンマトリクスの選択された要素の水平
逆方向動作状態を示す略線的接続図である。
【図17】本発明の逐次ビツト実施例についてのタイミ
ングを示すタイミング図である。
【図18】ニユーロンマトリクスのパツケージング及び
ワイヤリングについての物理的レイアウト構造を示す略
線図である。
【図19】16ニユーロンマトリクスの乗算器象限部分
の構成を示す略線的接続図である。
【図20】16ニユーロンマトリクスの乗算器象限部分
の構成を示す略線的接続図である。
【図21】乗算器配列チツプ及びニユーロン活動機能チ
ツプを有するニユーロンマトリクスのパツケージング及
びワイヤリングについての物理的レイアウト構造を示す
略線図である。
【図22】乗算器配列チツプ及びニユーロン活動機能チ
ツプを有するニユーロンマトリクスのパツケージング及
びワイヤリングについての物理的レイアウト構造を示す
略線図である。
【図23】図21のニユーロンマトリクスのニユーロン
活動機能チツプの一実施例の略線図である。
【図24】図21のニユーロンマトリクスのニユーロン
活動機能チツプの一実施例の略線図である。
【図25】ホストエンドバイロンメント内の本発明の神
経アレイネツトワークを示すブロツク図である。
【図26】本発明の行スカラビリテイ実施例について会
話型加算器の使用態様を示す略線的接続図である。
【図27】図26の会話型加算器を示すブロツク図であ
る。
【図28】本発明のデユアルパス加算器を示すブロツク
図である。
【図29】本発明の他のデユアルパス加算器について乗
算器機能の構成を示す略線的接続図である。
【図30】本発明の他のデユアルパス加算器について乗
算器機能の構成を示す略線的接続図である。
【図31】1022の行スカラビリテイについてのシグ
モイド乗算器活動機能の構成を示す略線的接続図であ
る。
【図32】1022の行スカラビリテイについてのシグ
モイド乗算器活動機能の構成を示す略線的接続図であ
る。
【図33】行スカラビリテイについての乗算器チツプの
一例を示す略線的接続図である。
【図34】N=1024ニユーロンシステムについて2
行ビルデイングブロツクを用いた本発明の行スカラビリ
テイ用の乗算器配列チツプの一例を示す略線的接続図で
ある。
【図35】N=1024ニユーロンシステムについて2
行ビルデイングブロツクを用いた本発明の行スカラビリ
テイ用の乗算器配列チツプの一例を示す略線的接続図で
ある。
【図36】4ニユーロンスカラブル神経配列プロセツサ
(SNAP)についての本発明の3次元構成例を示す略
線的接続図である。
【図37】図36の3次元4ニユーロンスカラブル神経
配列プロセツサ(SNAP)を示す略線的接続図であ
る。
【図38】図36及び図37の3次元4ニユーロンスカ
ラブル神経配列プロセツサ(SNAP)の2回の更新サ
イクルにおけるニユーロン入力値を示す略線図である。
【図39】代表的ニユーロン機能を示すブロツク図であ
る。
【図40】従来のリングシストロリツク配列を示すブロ
ツク図である。
【符号の説明】
60、92、94……ニユーロン、62、80、83、
84……加算ツリー、61、63、64、65、66、
67、68、70、71、73、75、77、91、9
3、95、97……乗算器、72、74、76、78…
…シグモイド発生器、79……データパス、110、1
16、118、120、122、124……加算器。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ゲラルド・ジヨージ・ペチヤネツク アメリカ合衆国、ニユーヨーク州13760、 エンドウエル、デボネイアー・ドライブ 945番地 (56)参考文献 特開 平2−58157(JP,A) 特開 平2−29851(JP,A)

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】複数の入力機能要素を含み、各入力機能要
    素は直交するニユーロンに選択的に割り当てられ、 前記各ニユーロンは 選択された入力機能要素群から1つのニユーロン値を発
    生する手段と 前記ニユーロン値を前記入力機能要素群に通信する手段
    とを含むことを特徴とするコンピユ−タ装置。
  2. 【請求項2】前記入力機能要素は重み付け入力値を発生
    するために入力値に重み値を適用する手段を含むことを
    特徴とする特許請求の範囲第1項に記載のコンピユータ
    装置。
  3. 【請求項3】前記ニユーロン値発生手段は前記入力機能
    要素のそれぞれからの前記重み付けられた入力値を合成
    する手段と、当該合成手段の出力に活動関数を適用する
    手段とを含むことを特徴とする特許請求の範囲第2項に
    記載のコンピユータ装置。
  4. 【請求項4】前記適用する手段はデイジタル乗算器を含
    むことを特徴とする特許請求の範囲第2項に記載のコン
    ピユータ装置。
  5. 【請求項5】前記適用する手段は加算ツリーを含むこと
    を特徴とする特許請求の範囲第3項に記載のコンピユー
    タ装置。
  6. 【請求項6】前記活動関数はシグモイド関数を含むこと
    を特徴とする特許請求の範囲第3項に記載のコンピユー
    タ装置。
  7. 【請求項7】前記通信する手段は前記ニユーロン値及び
    前記重み付けられた入力値を前記活動関数適用手段に通
    信するために選択的に動作し得る通信パスを含むことを
    特徴とする特許請求の範囲第3項に記載のコンピユータ
    装置。
  8. 【請求項8】前記通信パス手段は前記重み付けられた入
    力値及び前記ニユーロン値に対する各別の伝送パスを含
    むことを特徴とする特許請求の範囲第7項に記載のコン
    ピユータ装置。
  9. 【請求項9】前記入力機能要素のそれぞれを1つの列ニ
    ユーロン内の行要素及び行ニユーロン内の列要素として
    選択的に割り当てる手段を含むことを特徴とする特許請
    求の範囲第1項に記載のコンピユータ装置。
  10. 【請求項10】前記発生する手段及び前記通信する手段
    をビツト逐次モードで動作させる手段を含むことを特徴
    とする特許請求の範囲第3項に記載のコンピユータ装
    置。
  11. 【請求項11】前記合成する手段は重み付けられた入力
    値の部分和を累積するための会話型加算手段を含むこと
    を特徴とする特許請求の範囲第3項に記載のコンピユー
    タ装置。
  12. 【請求項12】それぞれが入力機能要素、活動機能要素
    及び接続ネツトワークを含む複数のニユーロンを含み、
    さらに、 計算状態及び通信状態を特定する状態手段と、 上記状態手段に応答して上記入力機能要素及び上記活動
    機能要素をニユーロン値を発生するように動作させる手
    段と、 上記計算状態に応答して上記入力機能要素の出力を上記
    活動機能要素に通信するためのデータパス手段と、 上記通信状態に応答して上記データパスを、上記ニユー
    ロン値を上記入力機能要素に通信するように動作させる
    手段とを具えることを特徴とするスカラブル神経配列プ
    ロセツサ。
  13. 【請求項13】接続ネツトワークを含む神経配列プロセ
    ツサに用い、 計算状態及び通信状態を特定する状態手段と、 上記計算状態に応じて少なくとも2つの入力を合成して
    上記加算器の出力を発生する加算手段と、 上記計算状態に応答して上記加算器出力をデータパスに
    通信する第1ドライバ手段と、 上記通信状態に応答して上記データパスを上記入力に接
    続する第2ドライバ手段とを具えることを特徴とする加
    算ツリー。
  14. 【請求項14】さらに、 前記加算状態及び前記加算出力に応答して活動関数を適
    用することによりニユーロン値を発生する関数演算発生
    器手段と、 前記通信状態に応答して上記ニユーロン値を前記データ
    パスに通信する第3ドライバ手段とを具えることを特徴
    とする特許請求の範囲第13項に記載の神経配列プロセ
    ツサに使用するための活動関数発生器。
  15. 【請求項15】さらに、 第1被演算子を記憶するための第1被演算子手段と、 第2被演算子を記憶するための第2被演算子手段と、 前記加算状態と上記第1及び第2被演算子とに応答して
    前記加算手段に通信するための出力を発生する乗算器
    と、 前記通信状態に応答して前記データパス上の前記ニユー
    ロン出力を上記第2被演算子手段に通信するための通信
    手段とを具えることを特徴とする特許請求の範囲第14
    項に記載の神経配列プロセツサに使用するための乗算
    器。
  16. 【請求項16】複数の相互接続構造及び当該相互接続構
    造の内の1つからの出力信号に応じて活動関数を適用す
    ることによりニユーロン値を発生する活動関数発生器か
    らなる直交群を含むスカラブル神経配列プロセツサ。
  17. 【請求項17】さらに、 前記相互接続構造は第1状態において複数の入力に選択
    的に応答して前記出力信号を発生し、第2状態において
    前記ニユーロン値を上記入力に戻すように動作する加算
    ツリーを 具えることを特徴とする特許請求の範囲第16項に記載
    の神経配列プロセツサ。
  18. 【請求項18】入力機能の第1副群に基づき1つのニユ
    ーロン値を発生して上記第1副群に戻すように第1ニユ
    ーロンを演算するステツプと、 上記入力機能要素の第1副群のそれぞれを直交ニユーロ
    ン群の異なつたものに割り当てるステツプとを具えるこ
    とを特徴とする複数の入力機能要素と直交するニユーロ
    ン群を含む配列プロセツサの動作方法。
  19. 【請求項19】乗算器配列と、複数の直交する垂直及び
    水平加算ツリー群と、活動関数発生器とを含むスカラブ
    ル神経配列について、 計算状態及び通信状態を同期的に特定するステツプと、 第1計算状態に応答して上記乗算器を第1の重み付けニ
    ユーロン値群を発生するように動作させるステツプと、 第1通信状態に応答して上記垂直加算ツリーを上記第1
    重み付けニユーロン値群によりこの第1重み付けニユー
    ロン値の第1加算を行うように動作させるステツプと、 第2計算状態に応答して上記垂直活動関数発生器を上記
    第1加算に応じて活動関数を適用することにより垂直ニ
    ューロン値を発生するように演算させるステツプと、 第2通信状態に応答して上記垂直加算ツリーを上記垂直
    ニユーロン値を上記乗算器の入力に戻すように動作させ
    るステツプと、 第3計算状態に応答して上記乗算器を上記垂直ニユーロ
    ン値に応じて第2重み付けニユーロン値群を発生するよ
    うに動作させるステツプと、 第3通信状態に応答して上記水平加算ツリーを上記第2
    重み付けニユーロン値群の第2加算を発生するように動
    作させるステツプと、 第4計算状態に応答して上記水平活動関数発生器を上記
    第2加算に応じて活動関数を適用することにより水平ニ
    ユーロン値を発生させるように動作させるステツプと、 第4通信状態に応答して上記水平加算ツリーを上記水平
    ニユーロン値を上記乗算器の入力に戻すように動作させ
    るステツプとを具えることを特徴とするスカラブル神経
    配列プロセツサの動作方法。
  20. 【請求項20】機能要素配列と、通信、計算及び減算の
    ための複数の直交する垂直及び水平処理要素群を含むス
    カラブル神経配列プロセツサについて、 計算状態及び通信状態を周期的に特定するステツプと、 第1計算状態に応答して上記機能要素を第1出力値群を
    発生するように動作させるステツプと、 第1通信状態に応答して上記垂直処理要素を第1出力値
    群に応じて上記出力値から第1計算値及び第1減算値を
    発生させるように動作させるステツプと、 第2計算状態に応答して上記垂直処理要素を上記第1減
    算値に応じて垂直出力値を発生するように動作させるス
    テツプと、 第2通信状態に応答して上記垂直処理要素を上記垂直出
    力を上記機能要素の入力に戻すように動作させるステツ
    プと、 第3計算状態に応答して上記機能要素を上記垂直出力値
    に応じて第2出力値群を発生するように動作させるステ
    ツプと、 第3通信状態に応答して上記水平処理要素を第2計算値
    及び第2減算値を発生するように動作させるステツプ
    と、 第4計算状態に応答して上記水平処理要素を上記第2減
    算値に応じて水平出力値を発生するように動作させるス
    テツプと、 第4通信状態に応答して上記水平処理要素を上記水平出
    力値を上記機能要素の入力に戻すように動作させるステ
    ツプとを具えることを特徴とする神経配列プロセツサの
    動作方法。
  21. 【請求項21】複数の機能要素手段と、計算、減算及び
    通信のための複数の直交垂直及び水平処理手段群とを具
    え、さらに、 第1計算状態に応答して第1出力値群を発生する上記機
    能要素手段と、 第1通信状態に応答して上記第1出力値群から第1減算
    値を計算する上記垂直処理手段と、 第2計算状態に応答して上記第1減算値から垂直出力値
    を発生する上記垂直処理手段と、 第2通信状態に応答して上記垂直出力値を上記機能要素
    手段の入力に戻す上記垂直処理手段と、 第3計算状態に応答して上記垂直出力値から第2出力値
    群を発生する上記機能要素手段と、 第3通信状態に応答して上記第2出力値群から第2減算
    値を計算する上記水平処理手段と、 第4計算状態に応答して上記第2減算値から水平出力値
    を発生する上記水平処理手段と、 第4通信状態に応答して上記水平出力値を上記機能要素
    手段の入力に戻す上記水平処理手段とを具えることを特
    徴とする配列プロセツサ。
  22. 【請求項22】前記直交ニユーロンは複数Nの行ニユー
    ロンと複数Nの列ニユーロンとを含み 、各入力機能要素は列ニユーロン内の行入力機能及び行
    ニユーロン内の列入力機能として選択的に割り当てられ
    ることを特徴とする特許請求の範囲第1項に記載のコン
    ピユータ装置。
  23. 【請求項23】さらに、 N個の列入力機能要素において少なくとも2つの行ニユ
    ーロンを並列動作させて部分列ニユーロン値を発生する
    手段と、 上記部分列ニユーロン値を累積して列ニユーロン値を発
    生する手段とを具えることを特徴とする特許請求の範囲
    第22項に記載のコンピユータ装置。
  24. 【請求項24】さらに、 N個の列入力機能要素において少なくとも2つの行ニユ
    ーロンを並列動作させて行ニユーロン値を発生する手段
    を具えることを特徴とする特許請求の範囲第22項に記
    載のコンピユータ装置。
  25. 【請求項25】さらに、 N個の列入力機能要素において少なくとも2つの列ニユ
    ーロンを並列動作させて部分行ニユーロン値を発生する
    手段と、 上記部分行ニユーロン値を累積して行ニユーロン値を発
    生する手段とを具えることを特徴とする特許請求の範囲
    第22項に記載のコンピユータ装置。
  26. 【請求項26】さらに、 N個の行入力機能要素において少なくとも2つの列ニユ
    ーロンを並列動作させて列ニユーロン値を発生する手段
    を具えることを特徴とする特許請求の範囲第22項に記
    載のコンピユータ装置。
  27. 【請求項27】前記直交ニユーロンは行又は列ニユーロ
    ンと等価な複数の動作面を含むことを特徴とする特許請
    求の範囲第1項に記載のコンピユータ装置。
  28. 【請求項28】前記行ニユーロンは平面構造として構成
    されることを特徴とする特許請求の範囲第22項に記載
    のコンピユータ装置。
  29. 【請求項29】前記列ニユーロンは平面構造として構成
    されることを特徴とする特許請求の範囲第22項に記載
    のコンピユータ装置。
JP3125109A 1990-05-22 1991-04-26 コンピユータ装置 Expired - Fee Related JPH07117948B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPH04232562A JPH04232562A (ja) 1992-08-20
JPH07117948B2 true JPH07117948B2 (ja) 1995-12-18

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 Before (2)

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 トライアングル・スケーラブル・ニューラル・アレイ・プロセッサ

Country Status (4)

Country Link
US (1) US5065339A (ja)
EP (3) EP0484507A4 (ja)
JP (3) JP2575565B2 (ja)
WO (2) WO1991018348A1 (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 中科寒武纪科技股份有限公司 一种用于执行全连接层神经网络正向运算的装置和方法
WO2018093935A1 (en) * 2016-11-15 2018-05-24 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
EP0459222A3 (ja) 1994-03-30
JPH04507025A (ja) 1992-12-03
JP2575565B2 (ja) 1997-01-29
EP0459222A2 (en) 1991-12-04
EP0484507A1 (en) 1992-05-13
WO1991018347A1 (en) 1991-11-28
JPH04232562A (ja) 1992-08-20
EP0484479A1 (en) 1992-05-13
JP2666830B2 (ja) 1997-10-22
EP0484479A4 (ja) 1994-04-13
EP0484507A4 (en) 1992-07-15
WO1991018348A1 (en) 1991-11-28
US5065339A (en) 1991-11-12
JPH04506879A (ja) 1992-11-26

Similar Documents

Publication Publication Date Title
US5542026A (en) Triangular scalable neural array processor
US5146543A (en) Scalable neural array processor
JPH07117948B2 (ja) コンピユータ装置
EP3373210B1 (en) Transposing neural network matrices in hardware
Ramacher SYNAPSE—A neurocomputer that synthesizes neural algorithms on a parallel systolic engine
US5148515A (en) Scalable neural array processor and method
US5285524A (en) Neural network with daisy chain control
US5179714A (en) Parallel bit serial data processor
EP0421639B1 (en) Parallel data processing system
US5243688A (en) Virtual neurocomputer architectures for neural networks
JPH06502265A (ja) 信号処理におけるマトリクス演算の計算回路装置
US5146420A (en) Communicating adder tree system for neural array processor
JP2024028901A (ja) ハードウェアにおけるスパース行列乗算
Penz et al. Digital signal processor accelerators for neural network simulations
Ramacher et al. Fine-grain system architectures for systolic emulation of neural algorithms
GB2206428A (en) Computer
US5251287A (en) Apparatus and method for neural processing
JP2825133B2 (ja) 並列データ処理方式
Roth et al. Efficient on-line computation of connectivity: architecture of the connection unit of NESPINN
Mihu et al. Specifications and FPGA implementation of a systolic Hopfield-type associative memory
Strey et al. A massively parallel neurocomputer with a reconfigurable arithmetical unit
Lin Trading bitwidth for array size: a unified reconfigurable arithmetic processor design
JPH02287862A (ja) ニューラルネットワーク演算装置
Rybarczyk et al. The concept of a microcontroller with neural-matrix coprocessor for control systems that exploits reconfigurable FPGAs
JPH05101031A (ja) ニユーラルネツトワーク装置

Legal Events

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