JPH04505824A - ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア - Google Patents
ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュアInfo
- Publication number
- JPH04505824A JPH04505824A JP3517778A JP51777891A JPH04505824A JP H04505824 A JPH04505824 A JP H04505824A JP 3517778 A JP3517778 A JP 3517778A JP 51777891 A JP51777891 A JP 51777891A JP H04505824 A JPH04505824 A JP H04505824A
- Authority
- JP
- Japan
- Prior art keywords
- neuron
- weight
- adder
- values
- units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア
[発明の分野]
本発明は、コンピュータ及びコンピュータ・システムに関し、より詳しくは、ニ
ューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュアに関
する。
[関連出願に対する相互参照]
本出願は優先権を主張し、以下の関連同時係属特許出願の一部継続出願である。
1990年5月22日出願の”APPARATUS AND METHOD F
ORNEURAL PROCESSOR”と題するS、ヴアッシリアディス(V
assiliadis)及びG、G、ペチャネク(Pechanek)の米国特
許出願第071526866号(I BMドケット番号EN9−90−045)
、”5NAP”と呼ぶことがある。
1991年4月8日出願の”A TRIANGULAR5CALABLENEU
RAL ARRAY PROCESSOR”と題するG、G、ペチャネク及びS
。
ヴアッシリアディスの米国特許出願第07/682785号(IBMドケット番
号EN9−91−018) 、”T−8NAP I+と呼ぶことがある。
1991年4月8日出願の”5PIN:A 5EQUENTIALPIPELI
NED NEUROCOMPUTER”と題するS、ヴアッシリアディス、G、
G、ペチャネク及びJ、 G、デルガード;フリアス(Delgado−Fr
ias)の米国特許出願第07/681842号(IBMドケット番号EN9−
91−026) 、”5PIN”と呼ぶことがある。
さらに、以下の関連出願が同時に出願されている。
1991年5月17日出願の”A LEARNING MACHINESYNA
PSE PROCESSORSYSTEM APPARATUS”と題するG、
G、ペチャネク、S、ヴアッシリアディス及びJ、 G、デルガードエフリアス
の米国特許出願筒07/702260号(I BMドケット番号EN9−91−
053)、”LEARNING MACHINE”と呼ぶことがある。
1991年5月17日出願(7) ”5CALABLE FLOW VIRTU
ALLEARNING NEUROCOMPUTER”と題するG、G、ベチャ
ネク、S、ヴアッシリアディス及びJ、G、デルガードエフリアスの米国特許出
願第07/702262号(IBMドケット番号EN9−91−054) 、”
SVLM”と呼ぶコトカアル。
1991年5月17日出願の”PLAN:PYRAMID LEARNINGA
RCHITECTURE NEUROCOMPUTER”と題するG、G、ベチ
ャネク、S、ヴアッシリアディス及びJ、 G、デルガードエフリアスの米国特
許出願第07/702263号(IBMドケット番号EN9−91−055)
、”PLAN”と呼ぶコトがある。
これらの同時係属出願及び本出願は同じ譲受人、すなわち、米国ニューヨーク州
アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションに
よって所有されている。
これらの同時係属出願に記載の記述は、この引用によって本明細書に合体される
。
[本発明者等の発明の検討において使用される文献コ本発明者等の発明の詳細な
検討においては、従来技術ではないが本発明者等の説明を理解する助けとなる我
々自身の未発表研究を含む他の研究を引用する。このような追加の文献は以下の
ものである。
R,ヘヒト=ニールセン(Hecht−Neilsen)の著書”Neuroc
omputing”、 Adison Wesley Publishing
Company。
1990年刊、pp、297〜315 (以下では#Hecht 90”と呼ぶ
)。
R,T、セイヴリ−(Savely)編”The implementatio
nof Neural Network Technology”IEEE第1
回第1二Conference on Neural Networks)、
IV.pp.477 〜488, I EEE,1987年6月(以下では”5
avely, b T EEE 1987”と呼ぶ)。
p. トレリーヴアン(Treleavin) 、M.バケコ(Pacheco
)及びM6ヴエラスコ(Vellasco)の論文”VLSIArchitec
tures for Neural Networks”、I E E E M
i c ro 、 pp.8〜27. 1989年12月(以下では”Tre
leavin 89”と呼ぶ)。
S.スーチェク(Souc’ ek)及びM.スーチェク(Souc’ ek)
の著書”Neural and Massively Parallel Co
mputers”、米国ニューヨーク州ニューヨーク、 John Wiley
& 5ons, 1988年刊(以下では”5ouc’ ek 88”と呼ぶ
)。
D.E.ルーメルハルト(Rumelhart) 、J.L.マツフレランド(
McClelland)及びPDMリサーチ・グループ(the PDPRes
earch Group)の著書”Parallel Distributed
Processing Vol.1: Foundations”、米国マサチ
ューセッツ州ケンブリッジ、HIT Press, 1986年刊。(以下では
”Rumelhart 86”と呼ぶ。
J.J.ホップフィールド(Hopf 1eld)の論文”NeuronsWi
th Graded Re5ponse Have Co11ective C
:omputationalProperties Like Those o
f Two−5tate Neurons”。
Proceedings of the National Academy
of 5ciences 81, pp。
3088−3092. 1984年5月。(以下では”Hopfield 84
”と呼ぶ。)1990年5月18日出願の”APPARATUS AND ME
THOD FORNEURAL PROCESSOR”と題するS.ヴアッシリ
アディス及びG. G.ペチャネクの米国特許出願第071526866号(T
E3Mドケット番号EN9−9 0−04 5) 、以下では5NAP T′ま
たは”Vassiliadis 5NAP 90”と呼ぶことがある。
1991年4月8日出願の”A TRIANGULAR 5CALABLENE
URAL ARRAY PROCESSOR″と題するG. G.ペチャネク及
びS.ヴアッシリアディスの米国特許出願第07/682785号(IBMドケ
ット番号EN9−9 1−0 1 8) 、以下では”T−3NAP”と呼ぶこ
とがある。
以上の追加の参照文献を引用により本明細書に合体する。
[発明の背景]
[序 論コ
ニューラル・プロセッサ上でモデル化したニューロンを、「直接」または「仮想
」実施態様でシミュレートする。直接的方法では、各ニューロンが、システム内
で活動状態の他のニューロン処理要素(PE)と並列に同時に動作できる利用可
能な物理的処理要素(PE)をもっことになる。「仮想」実施態様では、PE処
理がその「仮想」ニューロンの間で共用されることを必要とする個々のハードウ
ェア処理要素(PE)に複数のニューロンが割り当てられる。ネットワークの性
能は「直接的」手法の方が高くなるが、多くのネットワーク・シミュレーション
では多数のニューロンが利用され、かつ技術的制約によって実施できる「直接」
ニューロンPEの数が制限されるので、多くのニューロコンピュータ設計では、
「仮想」ニューロンという概念を利用して、直接利用できるよりも多数のニュー
ロンをシミュレートしている。
仮想ニューロコンピュータに関係する基本概念は、可能ならば、ある程度の並列
性を与え、次いで、ネットワークで実施しようとするニューロンの合計数を利用
可能な並列処理要素の間で分割し、物理的処理要素1個ごとの時分割多重化を用
いることにある。こうすると、もちろん1時間単位が、単一の物理的PEに割り
当てられた仮想ニューラル・ノードの数に応じて必要な処理をカバーするように
拡大される。仮想ニューラル・ノードは、シミュレートされているネットワーク
中の1ニユーロンを表す。単一プロセッサも使用できるが、全ニューラル・ノー
ドについてすべての処理を順次扱わなければならない。このため、多くの仮想ニ
ューロコンピュータは、並列に配列したマイクロプロセッサを用いている。
”Hecht−Nielsen 90”、”5avely I E E E 8
7”及び”Treleavin 89”を参照されたい。通常用いられる構造で
は、各ニューラル・ノードの計算能率を改善するため、浮動小数点ハードウェア
加速機構を追加することができる。性能を改善するには、並列処理要素間に物理
的PE間の効率的な通信ネットワークも必要である。これらの仮想ニューロコン
ピュータが機能するには、ネットワーク相互接続構造、重みマトリックス、及び
仮想PE活動化状態メモリを含む物理的プロセッサ用の局所メモリがなければな
らない。また、ネットワークを初期設定し、入カバターンまたは入力データを供
給し、さらに出カバターンまたは出力データを検索して解析する必要に応じて、
ホスト・コンピュータ(パーソナル・コンピュータと同程度に簡単なものでよい
)へのインターフェースもなければならない。
[発明の要約コ
一般に、本発明者等の仮想システムは、スケーラプルで、ネットワークに適用可
能であり、他の出願で例示されている本発明者等の改良されたハードウェアを、
物理的ハードウェアに所望の適用業務の結果を達成するのに充分なニューロンが
設けられていない場合に、使用できるようにするものである。仮想スケーラプル
・ニューラル・アレイ・プロセッサ装置として機能するこの新しい装置は、乗算
器、重み記憶域及び7個のニューロン用のニューロン出力値記憶域を含む重み乗
算ユニットを備えたNニューロン構造を有する。ただし、V)Nであり、VはN
ニューロン構造上でエミュレートされるニューラル・ネットワーク中のニューロ
ンの数である。本発明者等はまた、通信加算器ツリー、ニューロン活動化関数ユ
ニット、及び通信加算器ツリーを介してニューロン活動化関数ユニットの出力を
入力重み乗算ユニットに通信する方法も提供する。
第1のアーキテクチュア上好ましい実施例は、以下で論じる手法である。これは
、物理的シナプス処理要素が共用でき、その結果ニューロン入力がN個のシナプ
ス・プロセッサからなる1つの行または列で表されるのではなく、シナプス・プ
ロセッサの複数の行または列で表されるように、5NAP構造を修正するもので
ある。以下で論じる第2のアーキテクチュア上好ましい実施例は、N個の活動化
関数生成機構(シグモイド生成機構)を保持しながら、モデル化しようとする7
個のニューロンをカバーするのに充分なシナプス処理要素が利用可能となるまで
、シナプス処理要素のグループを複製する、TSNAP用の手法である。以下で
論じる第3のアーキテクチュア上好ましい実施例は、部分和記憶要素付きの反復
加算器をN個のシグモイド生成機構の各入力に追加し、重み記憶域を各シナプス
・プロセッサで適切に増加させる、5NAPまたはTSNAP用の普通の手法に
当たる、一般的手法である。
この3つのアーキテクチャ手法すべてを例示する上記及びその他の改良は、以下
の詳細な説明に記載されている。これらの発明ならびにその利点と特徴をよく理
解するには、本発明者等がこの分野で行った他の開発に関する同時係属の特許出
願を参照しなければならないこともあろう。しかし、特に本明細書に記載する改
良、利点及び特徴に関しては、添付の図面に沿った説明で参照を行う。
[図面の簡単な説明]
第1図は、仮想ニューロコンピュータの説明図である。
第2図は、8個の仮想ニューロンを含む5NA−Vlの構成図である。
第3図は、5NAP−Vlのバイパス加算器の配線図である。
第4図は、5NAPのタグ突合せ乗算器の配線図である。
第5図は、5NAP−ショット1〜4の構成図である。
第6図は、5NAP−ショット5の構成図である。
第7図は、5NAP−ショット6〜9の構成図である。
第8図は、5NAP−ショット10の構成図である。
第9図は、8個の仮想ニューロンを含む5NAP−V2の配線図である。
第10図は、4ニユーロンのT−SNAPの構成図である。
第11図4!、ニューロンY値を含む9ニューロンT−3NAPの重みマトリッ
クスを示す図である。
第12図は、4個の物理ニューロンを含む8ニューロン仮想T−3NAPの構成
図である。
第13図は、ニューロンY値を含む16ニユーロンT−8NAPの重みマトリッ
クスを示す図である。
第14図は、16ニユーロン仮想T−3NAP及びステップ1のYl’ 、Y2
’ 、Y3’ 、Y4’の計算の説明図である。
第15図は、16ニユーロン仮想T−3NAP及びステップ2のY5’ 、Y6
’ 、Y7’ 、Y8’の計算の説明図である。
第16図は、16ニユーロン仮想T−3NAP及びステップ3のY9’ 、YA
’ 、YB’ 、YC’の計算の説明図である。
第17図は、4つの3角形区画を含む16ニユーロン仮想T−3NAP及びステ
ップ4のUD’ 、YE’ 、YF’ 、YG′の計算の説明図である。
第18図は、16のニューロン重みを含む4ニューロンT−3NAP−V2の構
成図である。
第19図は、仮想アーキテクチュア比較の要約図である。
(注:図示の便宜上、図を分割することがあるが、何枚もを使用する場合は、慣
例に従って、図の上端を1枚目とし、以下上から順に並べることにする。)
次に、例として本発明の好ましい実施例を説明する部分として、詳細な説明を行
う。
[発明の詳細な説明コ
好ましい実施例を詳しく考察する前に、ハードウェアを、そのハードウェア限界
を超えて、利用できるよりも多くのニューロンを必要とする適用業務を扱えるよ
うに拡張することのできる、本発明者等が発明したニューラル・ネットワーク用
の仮想ニューロコンピュータ・アーキテクチャの理解を深めるのに役立つと思わ
れる仮想ニューロコンピュータを例示することは価値があろう。
仮想ニューロコンピュータの特性を、図1に示す。ここで、”Sou’ cek
88”が例示しているヘヒト=ニールセンの関連システムを参照することがで
きよう。最大R個の物理的処理要素が、第1図に示されている。KXRニューロ
ンのニューラル・ネットワークでは、各物理プロセッサににニューロン用のニュ
ーラル・ノード計算タスクを割り当てることになる。このタスクは、積(重みX
結合されたニューロンの出力)の和、活動化関数、それに恐らく出力関数を計算
することである。
並列同報通信バスを使って、ネットワーク相互接続情報、ニューロン活動化状態
値などを物理プロセッサ間で通信する。
第1図の構造では、バス争奪が起こらないように、システム制御装置によって並
列バスを制御する。仮想ニューロン活動化出力値を計算した後、各ニューラル処
理要素で、これらの値に対する局所システム・コピーを更新しなければならない
。
好ましい実施例及びそれらの実施例で例示されるアーキテクチュアを例示する際
に、数Vは、ニューロコンピュータ上でモデル化しようとするネットワークに含
まれるニューロンの数を示すために用いる。数Nは、物理的実施態様で利用可能
な物理ニューロンの数を示す。仮想処理の場合は、V)Nである。別設の指示が
ない限り、NとVは2の累乗とする。
本明細書に所載のニューロコンピュータ・アーキテクチュアによって実施される
計算タスクは、完全並列分散処理モデルのサブセットに基づく方程式(1)及び
(2)で与えられる。
”Rumelhart 86”、ならびに”Hopfield 84”で例示さ
れるホップフィールド・ネットワークを参照されたい。
・Vは、ニューラル・ネットワーク中のニューロンの数である。
・W13など、重みWの下付き文字は、ニューロン3からニューロン1への結合
の重みを指すものとする。
・Yjは、W、jの結合重みを介して第iニューロンの入力に結合されている第
jニューロンの出力値である。
・F(Z)は、しばしばシグモイド活動化関数に等しく設定される、ニューロン
活動化関数であり、たとえば次の形をとる。
ただし、
・0≦F(z)≦1
・Tは、Z値のある集合に対するシグモイド関数の勾配を修正するのに用いられ
る大域制御パラメータである。
’e=自然対数(2,71828・)
式1及び2は、完全に接続されたVニューロン・ネットワークでは、次の4種の
基本演算を含む。
1.72回の乗算
2、V回の積和
3、V個の活動化関数
4、VXV回の通信
望ましい実施例によれば、一般にホスト・コンピュータは、ネットワーク・アー
キテクチュアを初期設定する責任を負う。
たとえば、ホスト・コンピュータは、アーキテクチュアによってシミュレートさ
れるネットワーク中のニューロンの数、すべての結合重み、初期ニューロン値、
走行すべきネットワーク更新サイクルの数をロードし、モデルの実行を開始する
責任を負う。ホスト・コンピュータはまた、ネットワークの実行終了時にニュー
ロン値を読み取る能力を備えている。様々なニューラル処理アーキテクチュアの
性能を評価し比較する際、初期設定時間及びホスト処理時間を別々の問題と考え
、実行中の性能のみを考察する。
第1のアーキテクチュア上好ましい実施例は、以下で論じる手法である。これは
、物理的シナプス処理要素が共用でき、その結果ニューロン入力がN個のシナプ
ス・プロセッサからなる1つの行または列で表されるのではなく、シナプス・プ
ロセッサの複数の行または列で表されるように、5NAP構造を修正するもので
ある。(”Vassiliadis S NA P 90”参照)以下で論じる
第2のアーキテクチュア上好ましい実施例は、N個の活動化関数生成機構(シグ
モイド生成機構)を保持しながら、モデル化しようとするV個のニューロンをカ
バーするのに充分なシナプス処理要素が利用可能となるまで、シナプス処理要素
のグループを複製する、T’ S N A P用の手法であるじ’Pechan
ek T −S N A P ”参照)。以下で論じる第3のアーキテクチュア
上好ましい実施例は、部分和記憶要素付きの反復加算器をN個のシグモイド生成
機構の各入力に追加し、重み記憶域を各シナプス・プロセッサで適切に増加させ
る、5NAPまたはTSNAP用の普通の手法に当たる、一般的手法である。各
アーキテクチュア手法について検討した後で、各仮想ニューロコンピュータの性
能について論じる。
要約として、各仮想アーキテクチュア手法を実施コスト及び性能の点で比較する
。所与の適用業務に対する「最善の」アーキテクチュアは、これらのコストに応
じて変わり、適用業務の種類に応じて選択される。
性能序論
仮想アーキテクチュアの性能を評価するため、「名前付き」要素を使って遅延を
表すδ。a工。で遅延変数を示すものとする。
以下の遅延変数が用いられる。
・δや2乗算器の遅延
・δ6=通信加算器の2−1加算段の遅延・δ6=シグモイド生成機構の遅延
・δ9=通信加算器の通信バイパス段の遅延次のような一般的仮定及びその他の
表記法にも注意されたい。
1、システム定義のクロック期間はCであり、すべての遅延はCの倍数として指
定される。
2、通信加算器ツリー中の段数はlog2 Nである。ただし、Nは物理ニュー
ロンの合計数である。
アーキテクチュアの性能は、ニューロンの出力を生成する期間で表される。遅延
を増加させずに安全性を実現するには、1、乗算
2、加算器ツリー
3、シグモイド生成機構
4、通信ツリー
のように、各動作が順次、前の動作終了に続いて行なわれなければならない。こ
うした事象のシーケンスには、カウンタの使用など簡単な制御機構が必要であり
、その出力値を、リストされている事象を表す遅延、すなわ、ち乗算器の遅延、
log2N通信加算器ツリーの加算モードの遅延、シグモイド遅延及びlog2
N通信加算器ツリーの通信モードの遅延の値と比較する。
5NAP−Vl (SNAP仮想アーキテクチュア1)以下で述べる5NAP−
Vlと呼ばれる第1の手法は、VをN2の最大値までに制限する。N2より多(
のニューロンもこのアーキテクチュアでシミュレートできるが、より複雑な制御
処理が必要となり、この拡張能力についてはこの説明では論じないことにする。
5NAP−V1アーキテクチュアでは、5NAPのニューロン定義(”Vass
iliadis 5NAP90”)を、1ニューロン当り必要な重み付き人力の
数がより大きくなっても対処できるように変更する。
第2図は、4ニユーロン5NAP上でモデル化した仮想8ニユーロン・ネットワ
ークを示している。重み及びY値用の充分な内部記憶域が乗算器セル構造内で利
用可能であると仮定する。
V=2Hの5NAP−Vl中ノニューロンハ、2列(7)物理ニューロンを用い
て、モデル化したネットワーク中の7個のニューロンの一つを表す。2列構造の
全域にわたる完全な加算を実施するには、加算器ツリー中で使用される通信加算
器の変更が必要である。第3図の5NAP−Vlバイパス加算器に示されている
こうした変更により、加算器を順方向ならびに逆方向通信モード方向にバイパス
させることが可能となる。第3図には様々なバイパス経路が矢印で示されている
。
この表記法は、第2図でも、どこでバイパス加算器が使用されるかを示すのに利
用する。
第1表は、D3、D2及びD1制制御帯からコード化された、中央の共通ツリー
制御点から駆動される、駆動制御機構DRI、DR2、DR3、DR4、DR5
を表している。
[第1表コ
共通ツリー制御機構の真理値表
ニューロン値が適切なニューロン入力に逆方向通信されることを保証するため、
シグモイド生成機構はまた生成された値にタグ付けしなければならない。このタ
グは、加算器ツリーを通るその戻り経路でニューロン値に付随する。次に、乗算
器セルY値入力レジスタは、ニューロンY値タグ突合せ比較機能を必要とする。
これは、第4図に示されている。第4図では、Y値しジスタのロードがタグ突合
せ機能の制御を受ける。古い値と新しい値の2つのY値のレジスタが必要である
。
初期設定で既に重み、タグ、第1ニユーロン値が乗数レジスタにロード済みであ
ると仮定すると、5NAP構造は次のように動作する。(番号付けした各関数は
、第5図が5NAP−ショット1〜4に、第6図が5NAP−ショット5に、第
7図が5NAP−ショット6〜9に、第8図が5NAP−ショット10にという
ように図に対応している。)ごとに重み付きニューロン値の部分和を生成する。
3、 逆方向部分和及び最終合計−バイパス加算器を使って部分和が行加算器ツ
リーに逆方向通信される。また、加算関数が行ツリーのそのレベルで不要な場合
には、加算器をバイパスするのでなく、入り部分和にゼロを加えればよい。
4、 ニューロン値Yl’及びY2’ を生成する一上端の2つのシグモイド生
成機構がY1′及びY2′ を生成する。
置かれ、2個のニューロン値がそのタグと共に、逆方向通信で戻されて、一致す
るタグを含む乗算器入力レジスタ中で受け取られる。
66 ニューロン値Y、に重みWljを乗じる。
7、 順方向部分和−垂直列加算器ツリーを操作して、各列ごとに重み付きニュ
ーロン値の部分和を生成する。
8、 逆方向部分和及び最終合計−バイパス加算器を使って部分和が行加算器ツ
リーに逆方向通信される。また、加算関数が行ツリーのそのレベルで不要な場合
には、加算器をバイパスするのでなく、入り部分和にゼロを加えればよい。
9、 ニューロン値Y3’及びY4’ を生成する一下端の2行のシグモイド生
成機構がY1″及びY2″ を生成する。
かれ、2個のニューロン値がそのタグと共に、逆方向通信で戻されて、一致する
タグを含む乗算器入力レジスタ中で受け取られる。
11、上端の2行のシグモイド生成機構から生成されたY5′及びY6′ と、
下端の2つのシグモイド生成機構から生成されたY7″及びY8′ について、
同様に続行する。
12、ホストによって指定された反復回数が終了するまで、続行する。
複数列(行)の共用は、全乗算器が一時に1個のニューロンについて重みにニュ
ーロン値を乗じた関数を与える、v=N2まで拡張可能である。こうした状況で
、1ニユーロン更新サイクルにつき、1つのシグモイド生成機構だけが使用され
る。逆方向通信経路は、各タグ付きニューロン値がすべての乗算器セルに到着し
て、そこでタグ突合せ操作が行なわれるように制御される。このようにして、1
ネツトワーク更新サイクルは、1サイクル当り1ニユーロンのペースで7個の5
NAPサイクルを要することになる。従って、各乗算器セルの重み記憶域は、v
=N2ニューロンの仮想ネットワークでは、1セル当り最高N2個の重みまで増
加することになる。Y値記憶域は、1セル当り現在値と新しい値の同じ2つの値
のままとなる。水平シグモイド生成機構は、直接シミュレーションで必要なだけ
なので、全仮想実施態様ではこれを除去することができる。
V=に’Hの場合、1乗算器セル当りの重み記憶域は、(VK)
1乗算器セル当りの重みの数= N
(VK)
SNAP−V1期間=N (3M + 4 (log2N ) C+ 65)と
して与えられる。
5NAP−V2 (SNAP仮想アーキテクチュア2)上記で論じた5NAP上
での仮想処理のもう一つの手法は、各シグモイド入力部に記憶要素付き加算器で
ある反復加算器を設けるものである。V=’2Nの場合は、シグモイド関数の前
に完全求和を形成するために、各ニューロンの2サイクルが必要である。V =
K ”Hの場合には、完全求和を行うためににサイクルが必要となる。この構
造は第9図、5NAP−V2に示されており、代替実施例と見なすべきである。
S N A P −V 2では、重み及びニューロン値レジスタの数を決定する
関係式
が成り立つ。(ただし、「は、(V/N)が分数の場合、次に大きな整数を生じ
るシーリング演算子である)。
Kで表した重みレジスタの総数は、
重みレジスタの総数= (2N−1)NK2(対角線セルでに2個の重み、その
他のセルでは2に2個の重みから構成される)
対角線セルにに個のY値しジスタ、他のセルには2に個のY値しジスタが存在す
る。
5NAP−V2期間=K (Kδ、+(K+ 1 )(log2N)C+61A
+615) (4)
TSNAP−Vl (TSNAP仮想アーキテクチュア1)TSNAP上での仮
想実施態様は、T−3NAPによって実現される諸機能を実施する、本発明者等
の通常好ましい実施例である。これを、4ニユーロンTSNAP上でモデル化し
た4、8.16ニユーロンのネットワークを用いて例示することにする。第10
図は、4ニユーロンTSNAPを示している。たとえば、第10図で、Y3を生
成するニューロン3は、ボールド体で強調表示されているN=4の積項の輪郭線
で表される。第10図と共に参照しやすいように、ニューロン3についての式を
ここに示してお(。
Y3:F(W31Y1+W32Y2+W33Y3+W34Y4)第10図、第1
2図及び第14〜17図で、Sはシグモイド生成機構を表す。
第11図は、8ニユーロンT S NA P上でモデル化する時に必要な8個の
ニューロン重み及びY値を表している。第12図は、対角線セル、Gセル及び加
算器ツリーを複製し、構造の対角線上で部分和を生成することによって、第10
図のTSNAP構造を修正したものである請求和ツリー構造が必要に応じて配置
できることを実証するため請求和か対角線上に示されている。複製された3角形
の区画は、シグモイド生成機構を除外しているが、区画の大きさは、T S N
A P区画の物理ニューロンの数Nに等しいシグモイド生成機構の数に基づく。
TSNAP−Vlでは、システム上でモデル化される最大のネットワークを扱う
のに充分な回数で3角形区画が複製されるものと仮定する。複製される3角形区
画の数は、で与えられる。(ただし、「は(V/N)が分数値の場合、(V/N
)の次に大きな整数を生じるシーリング演算子である)。
第12図のステップ1の例では、わかりやすいように、ニューロン1〜4に対す
る重み及び出力値が最初に示されている。第12図のステップ2は、ニューロン
5〜8に必要な重み及び構造を示している。例えば、第12図では、Y3を生じ
るニューロン3及びY7を生じるニューロン7は、ステップ1及びステップ2に
ボールド体で強調表示されているN=8の積項の輪郭線で表される。第12図と
共に参照しやすいように、ニューロン3及び7についての式をここに示しておく
。
Y3=F(W31Y1+W32Y2+W33Y3+W34Y4+W35Y5+W
、6Y、+W、7Y、+W、8Y、) ’Y7=F(W71Y 1+W72Y2
+W7.Y、+w、、y、+w75y5+W7゜Y6+W、□Y、+W、8Y8
)逆方向通信経路では、正しいニューロン値だけが適切な3角形区画にロードさ
れるように、ニューロン値にタグ付けすることになる。ニューロン値を3角形区
画にあるいは各Y値記憶レジスタに送る前に、タグの比較を行うことができる。
本発明者等が好ましいとする上記に例示した実施例の利点の一つは、ニューロン
活動化関数生成機構を同じ数に保持しながら、乗数器及び通信加算器ツリーの複
製によって、第12図に示した基本概念を反復してより大きなネットワーク用に
拡張できることである。16ニユーロンのネットワークに対するこの手法が、第
14図ないし第17図に示されている。
参考のため、16ニユーロンTSNAPで使用される、16ニユーロン用のすべ
ての重みとニューロン値が第13図に示されている。第14図ないし第17図は
、4つの複製されたTSNAP区画を含んでいる。ニューロン1〜4用の重み及
び出力値が、第14図のステップ1に示されている。第15図のステップ2は、
ニューロン5〜8に必要な重み及び構造を示している。同様に、第16図のステ
ップ3は、ニューロン9〜12を示し、第17図のステップ4は、ニューロン1
3〜16を示している。わかりやすいように、A=10、B=11、C=12、
D=13、E=14、F=15、G=16とすると、たとえば、第14図ないし
第17図で、Y3を生じるニューロン3、Y7を生じるニューロン7、Y22を
生じるニューロン12、Y、4を生じるニューロン14が、ステップ1ないしス
テップ4にボールド体で強調表示されている各ニューロンに対するN=16の積
項の輪郭線で表される。第14図ないし第17図と共に参照しやすいように、ニ
ューロン3.7.12.14についての式をここに示しておく。
Y、= F(W3,1Y□+W3,2Y 2+W、、3Y、+W3..Y、+W
3.y5+w3,6y6+w3,7y7+w3,8y8)+(W3,9Y 9+
W3,10Y 10+w、 、、、 Y 1. +W3,12Y 12+W3
..3Y、、+W、、、4Y 14+W、・tsy 15+w、 、t6y 1
6)Y7= F(WT、IY工+W7,2Y2+W7,3Y、+W、、、Y、+
w7..y5+w、、6y6+w7,7y7+w7,8y、)+(w7.、y、
+w7,1゜’y1o+w7..1y11+w7,12y、2+W7,13Y
、3+W、 、14Yよ、+WT、、5Y 、、+W7,16Y 16)Y 1
2= F (W12,1Y 、+W、2.2Y 2+W12.、Y 3+W、。
、4Y4+W12,5Y 5+W、、6Y 6+W12,7y7+w12,8y
、)+(W12・9Y9+W、2,10Y、0+W12.HY、1+W12,1
2Y 12+w 12.13Y 13+ W12.14Y ’14 +w、2,
15y 15+W12.16Y 16)
Y i4= F (W、、、 1Y 1+W1..2Y 2+W14,3Y 3
+w14,4y4+w14.y、+w、、6y6+w1.、□y7+w14.!
1Y6)+(w14,9y 9+w14,10Y 10+ w14.’11 Y
i i +w14.12Y 12+W14,13Y 13+W、4,14Y
t4+w14.tsy 15+”14 、t6Y 1s)
第14図ないし第17図で、Sはシグモイド生成機構を表す。
実施コストは、次の通りである。
・1乗算器セル当りに個の重みレジスタ・1乗算器セル当り1個のY値しジスタ
・合計KN2個の乗算器
・合計KN(N−1)個の加算器
TSNAP−Vlの性能は、次の通りである。
TSNAP−V1期間=K(δや+2 (log2 N + log2 K )
δ6+δ、)
TSNAP−V2 (TSNAP仮想アーキテクチュア2)乗算器及び通信加算
器区画を複製せずに、仮想TSNAPを開発するもう一つの手法は、重み及びニ
ューロン値をセルに入れ、乗算器及び加算器ツリーを循環式に共用することによ
るものである。これを実施するには、活動化関数を入力する前に、各サイクルご
とに部分和を記憶し、部分和を加算する反復加算器が必要となる。4物理ニユー
ロンのTSNAP上でのこの構造が、16ニユーロン仮想ネツトワークに必要な
重み及びニューロン値記憶域と共に、第18図に示されている。
実施コストは、次の通りである。
・1乗算器セル当りに’に個の重みレジスタ・1乗算器セル当りに個のY値しジ
スタ・合計N2個の乗算器
・合計N (N−1)+N (IA)個の加算器TSNAP−V2の性能は、次
の通りである。
TSNAP−V2期間=K (KδM+ 2 (log2N B A+δIA)
+66)
使用する実施例を選択するのに用いられる要約表第19図は、異なる4種の5N
AP仮想プロセツサ設計のハードウェア・コスト及び性能の比較を示している。
VとNは共に2の累乗であると仮定する。すべての仮想実施態様だけを考察し、
K=V/Nであると仮定する。したがって、本発明者等が好ましいとする様々な
実施例が一般に異なる様々な場合に有用であり、どれを選択するかは、適用業務
の種類、所望の適用業務でのコスト及び性能の比較に基づ(ことがわかるであろ
う。
以上、本発明者等の諸発明の好ましい実施例を記載したが、当業者なら、現在で
も将来でも、これらの議論を理解すれば、下記の特許請求の範囲に含まれる様々
な改良及び機能強化を行なえることが理解されよう。特許請求の範囲は、最初に
開示された発明に対して適切な保護を維持するものと解釈すべきである。
仮想二ニー0コンピユー9 To/FROM HO3TFIG、1
8儂の仮想ニューロンを備えT−5NAP−VjL FIG、3
(Vに)lNmのエントリーを含む重みアレイFIG、4
1/l 噛 N の
> Σ 洲 洲
4ニユーロン T−SNAP
ニューロンY[を含む8ニューロンTSNAP重みマトリックスWN*Yi
W+2*Y2
W21*Yi W22m2
W13*Y3 W23*Y3
W3+*Yi W32傘Y2 W33*Y3W14+kY4 W24*y4 w
34*YaW41*Yi W42*Y2 W43*Y3 W44*Y4W15*
Y5 W25+kY5 W3S*YS W45*YSW5j*YI WS2*Y
2 WS3+kY3 W541kY4 W55*Y5物理的ニューロン4mを備
えた8ニューロン仮想TSNAP−V1Y4’
YS’
FIG、12
二ニーロンY値を含む16ニユーロンTSNAP重みマトリックスW1.1*Y
i
W+ 、 2+kY2
w2,1*YI W2,2*Y2
W1・3*Y3 W2・3*Y3 FIG、13AW3,1*YI W5,2*
Y2 W3.3*Y5FIG、13B
W6.6*Y6
W6,7*Y7
W7.6*Y6 W7.7傘Y7
W6.8*Y8 W7.8*Y8
W8.6*Y6 W8,7*Y7 W8.8*Y8w6,9*Y9 W7,9*
Y9 W8.9*Y9w9.6mY6 W9.7*y7 W9,8*Y8 W9
.9*Y9W6.+IN+YjOW7.jo*vio W8.j1M+Yio
W9,10*YjOW10,6111Y6 Wlo、7*Y7 W+0.8*Y
8 Wlo、9*Y9 Wlo、icnYj0FIG、13
Wjl、IS傘Y+5 W+2.1S傘Y1S Wls、j5+l’Y15 W
+4.IS傘yes wW+5.jl傘Y4j l#15.I2*Y+2 W1
5.IS傘Y13 WIS、I4本Y14 WISiS*YIS16個のニュー
ロン重みを含む4ニューロンTSNAP−V2F+G、18
要約書
ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア
[要約コ
スケ−ラブル・ニューラル・プロセッサ(SNAP)及び3角形のスケーラプル
・ニューラル・アレイ・プロセッサ(T−3NAP)が、モデル化しようとする
ニューロンの数が実施された物理ニューロンの数を越えている場合にネットワー
クのシミュレーションを扱えるように拡張される。こうした仮想ニューラル処理
が、一つは5NAPに、もう一つはTSNAPに、さらに一つは5NAPとTS
NAPの両方に適用される、仮想ニューロンを扱う3種の一般的な仮想アーキテ
クチュア手法について記載される。
国際調査報告
Claims (29)
- 1.仮想的スケーラプル・ニューラル・アレイ・プロセッサ装置において、V. >Nであり、VがNニューロン構造上でエミュレートされるニューラル・ネット ワーク中のニューロンの数であるとして、乗算器、重み記憶域及びVニューロン 用ニューロン出力値記憶域を含む重み乗算器ユニットと、通信加算器ツリーと、 ニューロン活動化関数ユニットと、通信加算器ツリーを使ってニューロン活動化 関数ユニットの出力を通信して入力重み乗算器ユニットに戻す手段とを有するN ニューロン構造を備える装置。
- 2.それぞれ重み記憶ユニットと、ニューロン出力値記憶ユニットと、乗算器と 、タグ突合せ機能とから構成されるN2個の重み乗算器ユニットを含み、さらに 2N個の通信加算器ツリーと2N個のニューロン活動化関数ユニットとの直交セ ットを含む、請求項1の装置。
- 3.ニューロン活動化関数ユニットが非線形シグモイド生成機構である、請求項 1の装置。
- 4.通信加算器ツリーがlog2N個の2−1通信加算器段を含んでいる、請求 項1の装置。
- 5.2−1通信加算器を含む通信加算器ツリーの各段が、2−1加算器と、加算 から得られるものと逆方向に値を通信する目的用の加算器バイパス経路と、加算 経路と同じ方向に値を通信する目的用の加算器バイパス経路と、加算機能経路と 異なる通信経路の間で切り換える手段とから構成されている、請求項4の装置。
- 6.K=V/Nであり、Vは2の累乗で、Nニューロン構造上でエミュレートさ れるニューラル・ネットワーク中のニューロンの数であるとして、各重み乗算器 ユニットが、K2個の重み記憶ユニットと、2個のニューロン出力値記憶ユニッ トと乗算器とを含んでいる、請求項2の装置。
- 7.重み乗算器ユニットが、重み処理ユニットのタグと一致するタグの付いたニ ューロン出力値だけが重み乗算器ユニットに含まれるニューロン出力値記憶ユニ ットに記憶されるようにするタグ突合せ機能を含んでいる、請求項6の装置。
- 8.2個のニューロン出力値記憶ユニットが、旧ニューロン出力値記憶ユニット 及び新出力値記憶ユニットから構成されている、請求項6の装置。
- 9.N<V<N2で、かつVが2の累乗であり、Nも2の累乗であるとして、V 個のニューロンを含むニューラル・ネットワークを、N個のニューロンを有し、 2N個の通信加算器ツリーと2N個のニューロン活動化関数との直交セットから 構成される装置上でエミュレートするために、(a)重み及びニューロン出力値 を構造にロードするステップと、 (b)旧ニューロン出力値を重み値と乗算するステップと、(c)第1組のN個 の直交通信乗算器ツリーによって、値と重みの積の部分和をとるステップと、 (d)部分和値の最終求和を得る目的で、第2組のN個の直交通信加算器ツリー のうちの選択されたサブセットヘの加算器バイパス経路によって、部分和値を逆 方向通信するステップと、 (e)最終和を選択されたニューロン活動化関数ユニットに入力するステップと 、 (f)第2組のN個の直交ニューロン活動化関数ユニットに含まれる選択された ニューロン活動化関数ユニットによって、新しいタグ付きニューロン出力値を生 成するステップと、 (g)新しいタグ付きニューロン出力値を一致するタグの付いたニューロン入力 重み乗算器ユニットに通信するステップと、 (h)本明細書でSNAPサイクルと呼ぶ以上の諸ステップを、Vニューラル・ ネットワーク中の他のニューロンについて続行するステップと、 (i)重み乗算器ユニット中の旧ニューロン値を新ニューロン値で置換して、新 ニューロン値を今度は旧ニューロン値として扱うステップと、 (j)ホストによって指定される回数だけの反復が完了するまで、V個のニュー ロンについてSNAPサイクルの諸ステップを繰り返し、続いて重み乗算器ユニ ット中の旧ニューロン値を新ニューロン値で置換するステップと を順次実行する手段が設けられている、請求項2の装置。
- 10.ニューロン数V=N2であり、その場合に、N2個の重み乗算器ユニット の各組の乗算を用いて、Vニューラル・ネットワーク中の各ニューロンについて ニューロン値と重みの積を生成する、請求項9の装置。
- 11.ただ一つのニューロン活動化関数だけを順次使って、タグ付きニューロン 値を生成し、各タグ付きニューロン値を逆方向通信にすべての重み乗算器ユニッ トに戻し、そのうち一致するタグの付いた入力重み処理ユニットだけが生成され たニューロン出力値を受け取る、請求項10の装置。
- 12.重み乗算器ユニットの重み記憶ユニットがN2個の値を含み、N2個のS NAPサイクルを利用してVニューラル・ネットワークがエミュレートされる、 請求項10の装置。
- 13.V>Nで、Vが一般に2の累乗でなく、Nが2の累乗であるとして、V個 のニューロンを含むニューラル・ネットワークを、N個のニューロンを有し、2 N個の通信加算器ツリーと2N個のニューロン活動化関数との直交セットから構 成される装置上でエミュレートするために、Kが、(V/N)が分数の場合にシ ーリング演算子が(V/N)の次に大きな整数を生成する、シーリング(V/N )に等しいとして、各重み乗算器ユニット中に、使用されないニューロン重み記 憶ユニットをゼロの値で埋めた対象構造に対するK2個の重み記憶ユニットと、 さらに2個のニューロン出力値記憶ユニットと1個の乗算器が存在する、請求項 9の装置。
- 14.さらに、それぞれが2N個の通信加算器ツリーの出力部に位置する部分和 記憶ユニットを含む、2N個の累算器を含む、請求項2の装置。
- 15.通信加算器ツリーが、log2N個の2−1通信加算器段を含んでいる、 請求項14の装置。
- 16.通信加算器ツリーの各段が、2−1加算器を含む2−1通信加算器と、加 算から得られるのと逆方向に値を通信する目的用の加算器バイパス経路と、加算 機能と逆方向通信経路の間で切り換える手段とを含んでいる、請求項15の装置 。
- 17.k=V/Nで、VとNが共に2の累乗であるとして、N2個の重み乗算ユ ニットが、1個の乗算器と、N個の対角線重み乗算器ユニット中のK2個の重み 記憶ユニット及びK個のニューロン出力値記憶ユニットと、他のN2−N個の重 み乗算器ユニット中の2K2個の重み記憶ユニット及び2*K個のニューロン出 力値記憶ユニットとを含んでいる、請求項14の装置。
- 18.V>Nで、Vが2の累乗、Nも2の累乗であるとして、V個のニューロン を含むニューラル・ネットワークを、N個のニューロンを有し、2N個の通信加 算器ツリーと2N個の累算器と2N個のニューロン活動化関数との直交セットか ら構成される装置上でエミュレートするために、(a)重み及びニューロン出力 値を構造にロードするステップと、 (b)第1組のニューロン出力値を重み値とN2回乗算するステップと、 (c)第1組のN個の直交通信加算器ツリーによって値と重みの積の部分和をと り、第1組のN個の累算器の部分和記憶ユニットに記憶するステップと、(d) 第2組のニューロン出力値を重み値とN2回乗算するステップと、 (e)第1組のN個の直交通信加算器ツリーによって値と重みの第2組の積の部 分和をとり、それを、前記第1組の乗算と部分求和で得られ累算器に記憶されて いる部分和値に加え、その結果得られる和をN個の累算器の部分和記憶ユニット に記憶するステップと、(f)V/N回の部分求和がすべて完了し、その結果、 累算器から各ニューロンに対するV個のニューロン入力のN個の最終和を得るま で、N2回乗算と部分求和を続行するステップと、 (g)最終和の値を第1組のN個の直交ニューロン活動化関数ユニットに入力す るステップと、 (h)第1組のN個の直交ニューロン活動化関数ユニットによって、N個のニュ ーロン出力値を生成するステップと、 (i)1重み乗算ユニット当り1個のニューロン出力値ずつ、N個のニューロン 出力値をニューロン入力重み乗算ユニットに通信して、そこに記憶するステップ と、(j)Vニューラル・ネットワーク中の他のニューロンにつっいて、一度に N個のニューロン出力値ずつ、本明細書でSNAP−Aサイクルと呼ぶ以上のス テップbないしiを続行し、その結果、V/N回のSNAP−Aサイクルを得る ステップと、 (k)第1組の新たに生成されたニューロン出力値を重み値とN2回乗算するス テップと、 (l)第2組のN個の直交通信加算器ツリーによって値と重みの積の部分和をと り、それを第2組のN個の累算器の部分和記憶ユニットに記憶するステップと、 (m)第2組の新たに生成されたニューロン出力値を重み値とN2回乗算するス テップと、 (n)第2組のN個の直交加算器ツリーによって値と重みの積の部分和をとり、 それを、第2組の直交加算器ツリーから生成された、前記第1組の乗算と部分求 和で得られ累算器に記憶されている部分和の値に加え、その結果得られる和を第 2組のN個の累算器の部分和記憶ユニットに記憶するステップと、 (o)各ニューロンに対するV/N回の部分求和がすべて完了し、その結果、第 2組のN個の累算器からV個のニューロン入力のN個の最終和を得るまで、N2 回乗算と部分求和を続行するステップと、 (p)最終和の値を第2組のN個の直交ニューロン活動化関数ユニットに入力す るステップと、 (q)第2組のN個の直交ニューロン活動化関数ユニットによって、N個のニュ ーロン出力値を生成するステップと、 (r)1重み乗算ユニット当り1個のニューロン出力値ずつ、N個のニユーロン 出力値をニューロン入力重み乗算ユニツトに通信して、そこに記憶するステップ と、(s)Vニューラル・ネットワーク中の他のニューロンについて、一度にN 個のニューロン出力値ずつ、本明細書でSNAP−Bサイクルと呼ぶ以上のステ ップkないしrを続行し、その結果、V/N回のSNAP−Bサイクルを得るス テップと、 (t)ホストによって指定された回数だけ反復が完了するまで、SNAP−Aサ イクル、続いてSNAP−Bサイクルを繰り返すステップと を順次実行する手段が設けられている、請求項14の装置。
- 19.V>Nで、Vが一般に2の累乗でなく、Nが2の累乗であるとして、V個 のニューロンを含むニューラル・ネットワークを、N個のニューロンを有し、2 N個の通信加算器ツリーと2N個の累算器と2N個のニューロン活動化関数との 直交セットから構成される装置上でエミュレートするために、Kが、(V/N) が分数の場合にシーリング演算子が(V/N)の次に大きな整数を生成する、シ ーリング(V/N)に等しいとして、及び出力値記憶ユニットを各重み乗算ユニ ット中に、使用されないニューロンの重み記憶ユニットをゼロの値で埋めた対称 構造に対する、N個の対角線重み乗算ユニット中のK2個の重み記憶ユニット及 びK個のニューロン出力値記憶ユニットと、他のN2−N個の重み乗算ユニット 中の2K2個の重み記憶ユニット及び2*K個のニューロン出力値記憶ユニット が存在し、K回のSNAP−Aサイクルとそれに続くK回のSNAP−Bサイク ルがある、請求項18の装置。
- 20.N2個の重み乗算ユニットが対角線に沿って折り畳まれたN×N重みマト リックスの形で含まれており、KがV/Nに等しいとして、各重み乗算ユニット が、K個の重み記憶ユニットと1個のニューロン出力値記憶ユニットと1個の乗 算器と、さらに本明細書で3角形区画と名付けるタグ突合せ関数とを含んでいる 、請求項1の装置。
- 21.重み乗算ユニットが、そのタグと一致するタグの付いたニューロン出力値 だけをその重み乗算ユニットに含まれるニューロン出力値記憶ユニットに記憶す るようにするタグ突合せ機能を含んでいる、請求項20の装置。
- 22.Vニューロン構造が、それぞれlog2N個の2−1通信加算器段を含む N個の通信加算器ツリーを備えるV/N個の3角形区画と、3角形区画の外部に 、log2(V/N)個の通信加算器段を含むN個の外部通信加算器ツリーと、 N個のニューロン活動化関数ユニットを含んでいる、請求項20の装置。
- 23.通信加算器ツリーの各段が、2−1加算器を含む2−1通信加算器と、加 算から得られるものと逆方向に値を通信する目的用の加算器バイパス経路と、加 算機能と逆方向通信経路の間で切り換える手段とを含んでいる、請求項22の装 置。
- 24.V>Nで、Vが2の累乗であり、Nも2の累乗であるとして、V個のニュ ーロンを含むニューラル・ネットワークを、N個のニューロンを有し、V/N個 の反復された3角形区画とN個の外部通信加算器ツリーとN個の活動化関数ユニ ットとから構成される装置上でエミュレートするために、(a)重み及びニュー ロン出力値を構造にロードするステップと、 (b)各3角形区画中でニューロン出力値を重み値とN2回乗算し、それによっ て(V/N)XN2すなわちV*2N回のニューロン乗算を行うステップと、 (c)各3角形区画によって、値と重みのN2個の積の部分和をとるステップと 、 (d)上記N個の外部通信加算器ツリーによって、各3角形区画からの上記部分 和のN個の最終和をとるステップと、 (e)N個の最終和をN個ニューロン活動化関数ユニットに入力するステップと 、 (f)N個のニューロン活動化関数ユニットによって、N個のタグ付きニューロ ン出力値を生成するステップと、(g)1重み乗算器ユニット当り1個のニュー ロン出力値ずつ、N個のタグ付きニューロン出力値を一致するタグの付いたニュ ーロン入力重み乗算器ユニットに通信し、そこに記憶するステップと、 (h)Vニューラル・ネットワーク中の他のニューロンについて、本明細書でT SNAP−Aサイクルと呼ぶ以上のステップbないしgを続行し、その結果、V ニューロン・ネットワークをエミュレートするV/N回のTSNAP−Aサイク ルを得るステップと、(i)ホストによって指定される回数だけ反復が完了する まで、TSNAP−Aサイクルを繰り返すステップとを順次実行する手段が設け られている、請求項20の装置。
- 25.V>Nで、Vが一般に2の累乗でなく、Nが2の累乗であるとして、V個 のニューロンを含むニューラル・ネットワークを、N個のニューロンを有し、V /N個の複製された3角形区画とN個の外部通信加算器ツリーとN個のニューロ ン活動化関数ユニツトとから構成される装置上でエミュレートするために、Kが 、(V/N)が分数の場合にシーリング演算子がその次に大きな整数を生成する シーリング(V/N)に等しいとして、KN2個の重み乗算ユニットが存在し、 各重み乗算ユニットが、使用されないニューロン重み記憶ユニットを0の値で埋 めた対称構造に対するK個の重み記憶ユニットと、さらに1個のニューロン出力 値記憶ユニットを含み、Vニューラル・ネットワークをエミュレートするために K回のTSNAP−Aサイクルが実行される、請求項24の装置。
- 26.N2個の重み乗算ユニットが対角線に沿って折り畳まれたN×Nマトリッ クスの形で含まれ、KがV/Nに等しいとして、各重み乗算ユニットが、K2個 の重み記憶ユニットとK個のニューロン出力値記憶ユニットと1個の乗算器とを 含み、さらに、N個の通信加算器ツリーと、それぞれがN個の通信加算器ツリー の出力部に位置する部分和記憶ユニットを含んでいるN個の累算器と、N個のニ ューロン活動化関数ユニットを含んでいる、請求項1の装置。
- 27.通信加算器ツリーの各段が、2−1加算器を含む2−1通信加算器ツリー と、加算から得られるものと逆方向に値を通信する目的用の加算器バイパス経路 と、加算機能と逆方向通信経路の間で切り換える手段とを含んでいる、請求項2 6の装置。
- 28.V>Nで、Vが2の累乗であり、Nも2の累乗であるとして、V個のニュ ーロンを含むニューラル・ネットワークを、N個のニューロンを有し、それぞれ がK2個の重み記憶ユニット、K個のニューロン出力値記憶ユニット及び1個の 乗算器を含むN2個の重み乗算器ユニットと、N個の通信加算器ツリーと、N個 の累算器と、N個のニューロン活動化関数ユニットとから構成される装置上でエ ミュレートするために、(a)重み及びニューロン出力値を構造にロードするス テップと、 (b)第1組のニューロン出力値を重み値とN2回乗算するステップと、 (c)N個の通信加算器ツリーによって、値と重みの積の部分和をとり、これを N個の累算器の部分和記憶ユニットに記憶するステップと、 (d)第2組のニューロン出力値を重み値とN2回乗算するステップと、 (e)N個の通信加算器ツリーによって、第2組の値と重みの積の部分和をとり 、それを、上記第1組の乗算及び部分求和で得られ累算器に記憶されている部分 和値に加え、その結果得られた和をN個の累算器の部分和記憶ユニットに記憶す るステップと、 (f)各ニューロンに対するV/N回の部分和がすべて完了するまで、累算器か らN2回の乗算及び部分求和を続行し、それによって、V個のニューロン入力の N個の最終和を生成するステップと、 (g)最終和の値をN個のニューロン活動化関数ユニットに入力するステップと 、 (h)N個のニューロン活動化関数ユニットによって、N個のニューロン出力値 を生成するステップと、(i)1重み乗算ユニット当り1個のニューロン出力値 ずつ、N個のニューロン出力値をニューロン入力重み乗算ユニットに通信し、そ こに記憶するステップと、(j)Vニューラル・ネットワーク中の他のニューロ ンについて、一度にN個のニューロン出力値ずつ、本明細書でTSNAP−Bサ イクルと呼ぶ上記のステップbないしiを続行して、その結果、Vニューラル・ ネットワークをエミューレートするV/N回のTSNAP−Bサイクルを得るス テップと、 (k)ホストによって指定された回数だけ反復が完了するまで、TSNAP−B サイクルを繰り返すステップとを順次実行する手段が設けられている、請求項2 6の装置。
- 29.V>Nで、Vが一般に2の累乗でなく、Nが2の累乗であるとして、V個 のニューロンを含むニューラル・ネットワークを、N個のニューロンを有し、N 個の通信加算器ツリーとN個の累算器とN個のニューロン活動化関数ユニットと から構成される装置上でエミュレートするために、Kが、(V/N)が分数の場 合にシーリング演算子が(V/N)の次に大きな整数を生成する、シーリング( V/N)に等しいとして、それぞれが、使用されていないニューロン重み記憶ユ ニット及び出力値記憶ユニットを0の値で埋めた対称構造に対するK2個の重み 記憶ユニットとK個のニューロン出力値記憶ユニットと、さらに1個の乗算器を 含んでいる、N2個の重み乗算ユニットが存在し、Vニューラル・ネットワーク をエミュレートするためにK回のTSNAP−Aサイクルが実行される、請求項 28の装置。
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 |
---|---|
JPH04505824A true JPH04505824A (ja) | 1992-10-08 |
JP2663996B2 JP2663996B2 (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 After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 | 学習機械シナプス・プロセッサ・システム装置 |
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)
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)
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 |
-
1991
- 1991-05-17 EP EP91918394A patent/EP0486684A1/en not_active Withdrawn
- 1991-05-17 EP EP91910047A patent/EP0486635A1/en not_active Withdrawn
- 1991-05-17 EP EP91920989A patent/EP0484522A1/en not_active Withdrawn
- 1991-05-17 EP EP91910713A patent/EP0484506A1/en not_active Withdrawn
- 1991-05-17 JP JP3517778A patent/JP2663996B2/ja not_active Expired - Fee Related
- 1991-05-17 WO PCT/US1991/003315 patent/WO1991018349A1/en not_active Application Discontinuation
- 1991-05-17 JP JP3510818A patent/JP2502867B2/ja not_active Expired - Lifetime
- 1991-05-17 WO PCT/US1991/003316 patent/WO1991018350A1/en not_active Application Discontinuation
- 1991-05-17 WO PCT/US1991/003317 patent/WO1991018351A1/en not_active Application Discontinuation
- 1991-05-17 JP JP3509437A patent/JP2663995B2/ja not_active Expired - Fee Related
- 1991-05-17 JP JP3510421A patent/JP2746350B2/ja not_active Expired - Fee Related
- 1991-05-17 WO PCT/US1991/003318 patent/WO1992001257A1/en not_active Application Discontinuation
-
1994
- 1994-04-22 US US08/231,853 patent/US5509106A/en not_active Expired - Fee Related
- 1994-12-22 US US08/362,087 patent/US5542026A/en not_active Expired - Fee Related
-
1995
- 1995-06-02 US US08/459,191 patent/US5617512A/en not_active Expired - Fee Related
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 |
JP2663995B2 (ja) | 1997-10-15 |
JPH04507026A (ja) | 1992-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04505824A (ja) | ニューラル・ネットワーク用の仮想ニューロコンピュータ・アーキテクチュア | |
Eldredge et al. | RRANN: a hardware implementation of the backpropagation algorithm using reconfigurable FPGAs | |
US5146543A (en) | Scalable neural array processor | |
JP2666830B2 (ja) | トライアングル・スケーラブル・ニューラル・アレイ・プロセッサ | |
Lehmann et al. | A generic systolic array building block for neural networks with on-chip learning | |
US5148515A (en) | Scalable neural array processor and method | |
KR20160111795A (ko) | 인공 신경망의 뉴로모픽 하드웨어 구현 방법 | |
US5243688A (en) | Virtual neurocomputer architectures for neural networks | |
Balasundaram et al. | Impulsive effects on competitive neural networks with mixed delays: existence and exponential stability analysis | |
Svensson et al. | Execution of neural network algorithms on an array of bit-serial processors | |
JPH05346914A (ja) | ニューロプロセッサ | |
US5146420A (en) | Communicating adder tree system for neural array processor | |
Penz et al. | Digital signal processor accelerators for neural network simulations | |
JPH07210534A (ja) | ニューラルネットワーク | |
Mihu et al. | Specifications and FPGA implementation of a systolic Hopfield-type associative memory | |
El-Amawy et al. | Algorithmic mapping of feedforward neural networks onto multiple bus systems | |
Calvert et al. | Distributed artificial neural network architectures | |
Jin et al. | Algorithm for mapping multilayer bp networks onto the spinnaker neuromorphic hardware | |
JPH04233062A (ja) | ベクトルの処理方法およびその回路 | |
US5251287A (en) | Apparatus and method for neural processing | |
JPH02287862A (ja) | ニューラルネットワーク演算装置 | |
Krikelis et al. | Implementing neural networks with the associative string processor | |
Gusciora | Back propagation on Warp | |
Farber | Efficiently modeling neural networks on massively parallel computers | |
Purkayastha | A parallel algorithm for the Sylvester observer equation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |