JPH04507026A - 学習機械シナプス・プロセッサ・システム装置 - Google Patents

学習機械シナプス・プロセッサ・システム装置

Info

Publication number
JPH04507026A
JPH04507026A JP3510421A JP51042191A JPH04507026A JP H04507026 A JPH04507026 A JP H04507026A JP 3510421 A JP3510421 A JP 3510421A JP 51042191 A JP51042191 A JP 51042191A JP H04507026 A JPH04507026 A JP H04507026A
Authority
JP
Japan
Prior art keywords
neuron
data
unit
synaptic
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3510421A
Other languages
English (en)
Other versions
JP2746350B2 (ja
Inventor
ピチャネック、ジェラルド、ジョージ
ヴァシリデイス、スタマテイス
デルガドーフライアズ、ホセ、グアダルーペ
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレーション
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 インターナショナル・ビジネス・マシーンズ・コーポレーション filed Critical インターナショナル・ビジネス・マシーンズ・コーポレーション
Publication of JPH04507026A publication Critical patent/JPH04507026A/ja
Application granted granted Critical
Publication of JP2746350B2 publication Critical patent/JP2746350B2/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)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Multi Processors (AREA)
  • Feedback Control In General (AREA)
  • Devices For Executing Special Programs (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 学習機械シナプス・プロセッサ・システム装置[関連出願に対する相互参照] 本出願は優先権を主張し、以下の関連同時係属特許出願の一部継続出願である。
1990年5月22ヨ出願のAPPARATUS AND METHOD FO RNEURAL PROCESSOR”と題するS、ヴアッシリアディス(Va ssiliadis)及びG、G。ペチャネク(Pechanek)の米国特許 畠願第071526866号(IBMドヶット番号EN9−90−045)(” 5NAP”と呼ぶことがある)。
1991年4月8日出願の”A TRIANGULAR5CALABLENEU R,AL ARRAY PROCESSOR”と題するG、G、ペチャネク及び S。
ヴアッシリアディスの米国特許出願第07/682785号CI BMFケッ) 一番%EN9−91−018)(”T−3NAP”と呼ぶことがある)、。
1991年4月8日出願(7) ”5PIN:A 5EQUENTIALPIP ELINED NEUROCOMPUTER”と題するS、ヴアッシリアディス 、G、 G、ペチャネク及びJ、 G、デルガードエフリアス(Delgado −Frias)の米国特許出願第07/681842号(IBMドケット番号E N9−91−026)(”5PIN’と呼ぶことがある)。
さらに、以下の関連出願が同時に出°願されている。
1991年5月17日出願の”VIRTUAL NEUROCOMPUTERA RCHITECTURES FORNEURAL NETWORKS”と題すル G、G、ヘチャネク、J、G、デルガードエフリアス及びS、ヴアッシリアディ スの米国特許出願筒077702260号(IBMドケット番号EN9−91− 053)(”VIRTUAL”と呼ぶことがある)。
1991年5月17日出願の”PLAN:PYRAMID LEARNINGA RCHITECTURE NEUROCOMPUTER”と題するG、G、ペチ ャネク、S、ヴアッシリアディス及びJ、 G、デルガードエフリアスの米国特 許出願第07/702263号(IBMドケット番号EN9−91.−055)  (”PLAN”と呼ぶことがある)。
1991年5月17日出願の“S(1:ALABLE FLOW VIRTUA LLEARNING NEUROCOMPUTER”と題するG、G、ペチャネ ク、S、ヴアッシリアディス及びJ、 G、デルガードエフリアスの米国特許出 願第07/702262号(IBMドケット番号EN9−91−054) (” SVLM″と呼ぶコトカアル)。
これらの同時係属出願及び本出願は同じ譲受人、すなわち、米国ニューヨーク州 アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションに よって所有されている。
これらの同時係属出願に記載の記述を、この引用によって本明細書に合体する。
[技術分野] 本発明はコンピュータ・システムに関し、具体的には記載されたコンピュータ・ システムによって実施できる例によって例示される後方伝播、ボルツマン様機械 、及びマトリックス処理を提供できる学習機械シナプス・プロセッサ・システム ・アーキテクチャに関する。
[発明の検討で使用する参照文献コ 本発明者等の諸発明の詳細な検討では、従来技術ではないが議論を理解する助け となる本発明者等自身の未発表研究を含む他の研究を引用する。このような追加 の文献には以下のものがある。
D、E、ルーメルハルト(Rumelhart) 、J、L、 マツフレランド (McClel 1and)及びPDMリサーチ・グループ(the PDPR esearch Group)の著書″Parallel Distribut edProcessing Vol、1: Foundations”、米国マ サチューセッツ州ケンブリッジ、MIT Press、 1986年刊(以下で は”Rumelhart86”と呼ぶ)。
J、 N、ホワン(Hwang) 、J、A、ヴロンツォス(Vlontzos )及びS、Y、クング(Kung)の論文”A 5ystolic Neura lNetwork Architecture for Hidden Mar kov Models”、 IEEETransactions on Aco usticsSSpeech、and Signal Processing。
Vol、37. No12. pp、1967−1979.1989年(以下で は”Hwang89’と呼ぶ)。
M、コープイル(Caudill)の論文”Neura、I Networks Primer−Part ”、 ATExpert、 pp、53−59.19 88年6月刊(以下では”Caudill 88”と呼ぶ。)1990年5月1 8日出願の”APPARATUS AND METHOD FORNEURAL  PROCESSOR”と題するS、ヴアッシリアディス及びG。
G、ペチャネクの米国特許出願第071526866号(IBMドケット番号E N9−90−045)(以下では”5NAP″または’ffassiliadi s S N A P 90”と呼ぶことがある)、。
1991年4月8日出願の”A TRIANGULAR5CALABLENEU RAL ARRAY PROCESSOR”と題するG、G、ベチャネク及びS 。
ヴアッシリアディスの米国特許出願第07/682785号(IBMドケット番 号EN9−91−018) (以下では”T−3NAP”と呼ぶことがある)。
1991年4月8日出願の”5PIN: A 5EQUENTIALPIPEL INED NEUROCOMPUTER”と題するS、ヴアッシリアディス、G 、 G、ペチャネク及びJ、 G、デルガードエフリアスの米国特許出願第07 /681842号(I BMドケット番号EN9−91−026)(以下Qは’ 5PIN’Jたは”Vassiliadis 91”と呼ぶことがある)。
B、ウィドロウ(Widrow)及びM、E、ホップ(Hoff)の論文”Ad aptivs Swj、tching C1rcuits”、 IRE WES CON ConventionR,ecord、 pp、96−104.196 0年(以下では”Widrow 60”と呼ぶ)。
S、グロスベルブ(Grossberg)の論文”CompetitiveLe arning: From Interactive Activation  to AdaptiveResonance’、 Cognitive 5ci ence 11. pp、23−63.1987年(以下ではGrossber g 87’と呼ぶ。)E、B、アイヒエルベルガー(Eichelberger )及びT、W、ウィリアムス(Willj、ams)の論文”A Logic  Design 5tructurefor Te5tability”、 Pr oceedings 14th Design AutomationConf erence、 IEEE、1977年(以下では”Eichelberger  77’と呼ぶ)。
J、J、ホップフィールド(I(opfieLd)の論文”NeuronsWi th Graded Re5ponse Have Co11ective C omputationalProperties Like Those of  Two−5tate Neurons”。
Proceedings of the National Academy  of 5ciences 81. pp。
3088−3092.1984年5月(以下では”Hopfield 84”と 呼ぶ)。
D、H,アクレイ(Ackley) 、G、E、ヒントン(Hinton)及び T、J、セイノフスキ(Sejnowski)の論文“A LearningA lgorithm for Boltzmann Machines”、 Co gnitive 5cience 9゜pp、147−169.1985年(以 下では”Ackley 85’と呼ぶ)。
J、L、マツフレランド及びり、 E、ルーメルハルトの著書“Explora tions in Parallel Distributed Proces sing: AHandbook of Models、Programs a nd Exercises”、米国マサチューセッツ州ケンブリッジ、HIT  Press、 1988年刊(以下では”McClelland 88”と呼ぶ )。
J、 J、ホップフィールドの論文“Neural Networks and Physical Systems with Emergent Co1.1 ectiveComputational Abilities“、 Proc eedings of the NationalAcademy of 5c iences 79. pp、2554−2558.1982年(以下では”H opf 1eld 82”と呼ぶ)。
[背景技術] Webster’s New COlleColle Dictionaryに よれば、″学習する(learn)“という単語は、「勉強、教育、または経験 によって知識または理解または技能を得ること」を意味する。ニューラル・ネッ トワークの知識は、ニューロン間の相互接続の強度または重みによって符号化さ れる。N個のニューロンからなる完全に接続されたネットワークでは、学習規則 によって修正可能なN2個の相互結合重みが使用可能である。ネットワークが経 験するといわれる「t−習」過程は、Websterの定義と類似の意味で、相 互結合重み値の修正を支配する機構または規則を意味する。このような学習規則 の1つは、D、E。
ルーメルハルト、J、L、マツフレランド及びFDPリサーチ・グループの著書 ”Parallel Distributed Processing Vol 、1:Foundations”、米国マサチューセッツ州ケンブリッジ、MI TPr6ss、 1986年刊(以下では”Rumelhart 86nと呼ぶ )によって示されるように後方伝播と呼ばれる。後方伝播学習規則についてまず 説明し、その後で学習機械の実施態様に使用されるシナプス・プロセッサ・アー キテクチャについて論じる。
次に、入出力エンコーダ・ニューラル・ネットワークを使用する後方伝播の例を 示す。本発明の主題であるこのシナプス・プロセッサ・アーキテクチャは、他の ニューラル・ネットワークのモデル化、及びより一般的なりラスの並列データ・ アルゴリズムの実行に連層できるので、以後の一連の例で、この新しいシステム を用いたボルツマン様機械及びマトリックス処理の実施態様を示すことにする。
本発明者等の諸発明の詳細な考察の際、上述したように、我々自身の未発表研究 を含む他の研究を引用する。これらの背景文献は、引用によって本明細書に合体 する。
[発明の開示] 本発明者等の新しく開発したコンピュータ・システムは、シナプス処理要素用の 新しいアーキテクチャを有するニューラル・シナプス・プロセッサ装置として記 述することができる。好ましい装置は、命令及びデータ記憶ユニットを含み、命 令及びデータを受け取り、命令を実行する、シナプス処理ユニットを有するNニ ューロン構造をもつ。二〇Nニューロン構造は、通信加算器ツリー、ニューロン 活動化関数ユニット、及び通信加算器ツリーによって命令、データ、及びニュー ロン活動化関数ユニットの出力をすべて入力シナプス処理ユニットに返送するた めの配置を含むべきである。
以下で説明する好ましい装置は、N2個のシナプス処理ユニットを含む。各ユニ ットは、エミュレートされるNニューラル・ネットワーク内の結合重みと関連づ けられ、対角線セル及び一般セルから構成される対角線に沿って折り畳まれたN ×Nマトリックスの形に配置されている。
好ましいシステムでは、対角線セルは、それぞれ単一のシナプス処理ユニットを 利用し、折り畳まれたNXN結合重みマトリックスの対角線結合重みと関連づけ られ、一般セルは、それぞれ合併された2つのシナプス処理ユニットをもち、折 り畳まれたNXN結合重みマトリックスの対称結合重みと関連づけられている。
これらの改良を実施するために我々が知っている最良の形で以下に記述するシナ プス処理要素用の本発明者等の新しいアーキテクチャを使用すると、後方伝播及 びボルツマン様機械アルゴリズムが利用でき、入出力エンコーダ・ニューラル・ ネットワークの例について考察するように、本発明者等の「汎用学習機械J ( G P LM)上で後方伝播及びボルツマン機械が共に実施でき、かつマトリッ クス乗算、加算、及びプール演算用のデータ並列アルゴリズムがGPLMで実施 できる。
上記及びその他の改良は、以下の詳細な説明に記載されている。これらの発明な らびにその利点と特徴をよく理解するには、本発明者等がこの分野で行った他の 開発に関する同時係属の特許出願を参照しなければならないこともあろう。しか し、特に本明細書に記載する改良、利点及び特徴に関しては、添付の図面に沿っ た説明中で参照を行なう。
口図面の簡単な説明] 第1図は、多層後方伝播ネットワークの概略図である。
第2図は、3層後方伝播ネットワークの概略図である。
第3図は、重み/Y値乗算構造を2つの部分に分けて示した概略図である。
第3A図は対角線セルについて、第3B図は一般セルについての概略図である。
第4図は、本発明の好ましいシナプス・プロセッサ・アーキテクチャを2つの部 分に分けて示した概略図である。
第4A[lは対角線シナプス・プロセッサDSYP、第4B図は一般シナプス・ プロセッサGSYPの概略図である。
第5図は、好ましい通信加算器ツリーの概略図である。
第6図は、シナプス・プロセッサ・アーキテクチャを有する4ニユ一ロン汎用学 習機械の概略図である。
第7図は、シナプス・プロセッサによってタグ付けされた命令/データ形式を示 す図である。
第8図は、入出力コード化問題用のニューラル・ネットワークの概略図である。
第9図は、GPLM上で実施された本発明のシナプス・プロセッサ・アーキテク チャの概略図である。
(注: 図示の都合上、第9−20図は分割することがある。
何枚も使用する場合は、慣例に従って、図の上端を1枚目とし、以下上から順に 並べることにする。)第10図は、本発明のシステムでの初期設定及び第1層実 行の概略図である。
第11図は、本発明のシステムでの第2層実行の概略図である。
第12図は、本発明のシステムでの第3層実行の概略図である。
第13図は、本発明のシステムでの第4層実行の概略図である。
第14図は、学習モード−逆通信E8、E9、EIOSEllの概略図である。
第15図は、学習モード−重み付き誤差総和作成ER4、ERA、ER6、ER 7の概略図である。
第16図は、学習モード−逆通信E4、E5、E6、E7、及び誤差総和作成E R2の概略図である。
第17図は、学習モード−逆通信E3の概略図である。
第18図は、学習モード−ステップ1重み更新の概略図である。
第19図は、学習モード−ステップ2重み更新(p=ρ)の概略図である。
第20図は、学習モード−ステップ3重み更新の概略図である。
第21図は、マトリックス演算としてのニューロン計算の概略図である。
第22図は、一般マトリックス乗算の概略図である。
[発明の好ましい実施例コ この詳細な説明は、例によって提供される本発明者等の諸発明の好ましい実施例 を説明する一部分である。
後方伝播学習の背景 後方伝播学習アルゴリズムは、通常、フィードフォワード多層ニューラル・ネッ トワーク上で実施されるが、再帰的ネットワークへの適用もすでに試みられてい る。たとえば、”R,uuelhart 86”及び’8wang 89”を参 照されたい。ここでは、フィードフォワード・ネットワークだけを考察する。フ ィードフォワード・ネットワークは、パターン分類機構またはパターン・マツプ 機構として機能し、入カバターンが加えられたとき、フィードフォワード・ネッ トワークはこれらの入カバターンからパターンの出力セットへのマツピングまた は分類を学習する。ネットワークの「教師」として機能する分類または入出力マ ツピングのサブセットは最初に既知であると仮定する。分類のサブセットを学習 した後は、ネットワークは、見えないパターンに応答して、それらのパターンを すでに学習した分類にマツプすることができる。以前に見たことのないパターン を正しく分類できるネットワークの能力は、「−膜化」と呼ばれる。ネットワー クは、ニューロンの入力層、出力層、及び1つまたは複数の隠れ層からなり、入 カバターン内の各文字については入力ニューロン・ユニットによって、出カバタ ーン内の各分類または文字については出力ニューロン・ユニットによってセット アツプされる(第1図)。
隠れニューロン層の数、及び各隠れ層内のニューロンの数はさらに決定が難しい 。コルモゴロフの定理(”Caudill 88”参照)は、m個の入力ニュー ロン、n個の出力ニューロン、及び2m+1個の隠れ層ニューロンからなる3層 ニューラル・ネットワークが、m個の文字からなる入カバターンをn個の文字か らなる出カバターンにマツプできることを示している。
ここで、入力文字はO≦値≦1に制約される。しかし、コルモゴロフの定理は、 マツピング問題に対するニューラル・ネットワークの最小解を保証しない(Ca udill 88”参照)。最適解を得るための隠れユニットの最小数を選択す る方法は知られていない。隠れユニットの数を選択するには通常、経験、常識、 コルモゴロフ定理の使用、または実験的方法が使用される。層の数と層当たりの ニューロンの数が選択されると、次に接続構造が決定される。フィードフォワー ド・ネットワークは通常、隣接する層同士の間で完全な接続が可能であり、また 非隣接層間で接続をもつこともできるが、すべての接続はフィードフォワード方 向だけである。このフィードフォワード接続の制限は、フィードバック結合重み がないこと、及び層内のニューロン同士の間に接続がないことを意味すると思わ れる。この接続構造では、’R,umelhart 86″におけるように、通 常、重みは訓練の前にランダムに決定される。
第1図及びその他の図で、以下の記号を使用する。
・全ネットワーク内にN個のニューロン。
・添え字りはに個の層を番号付けするのに使用する。ただし、1≦L≦に0 ・各層内にはML個のニューロンがあり、したがってM1+M2+、、、+MK =N。
・重みは二重添え字を付けて示す。Wl、は接続されたユニットjからユニット iへの接続の重みを示す。
・外部入力は新しい変数Exlで表す。ただし、1≦i≦N。
各ニューロンは外部人力Ex、をもつことができる。
・すべてのニューロン出力はYlで表す。
・ニューロンは以下のように順次番号付けするニー 層L=1のニューロン:Y t、Yl、、、、、Y減1− 層L=2のニューロン:Y酩1+1* Yば1+ 2t a 6.tYM1十堕2 − 層L=にのニューコン:YN−ッに十、、 YN−にに+2p m + +  tN ニューロン・シグモイド関数を、以前に採用した形から式1の形に変形する ( たとえば”Vassiliadis S NA P 90“、”T−3NAP” 、及び”Vassiliadis S P I N 91”参照)。変更点は、 ニューロン処理要素への外部入力を表す項Ex1を追加したことである。
多(のフィードフォワード・ニューラル・ネットワークでは、入力ニューロン層 だけが外部入力を使用する。文献、たとえば”Rumelhart 86”では 、フィードフォワード・ネットワークの入力ニューロンは、ニューラル・ネット ワーク内の他のニューロンが使用するシグモイド関数ではなく、識別活動化/出 力関数を使用する。この場合、Y1=Ex1゜その代わり、シグモイド関数が入 力ニューロンに使用でき、Exlの範囲を−A≦Ex、≦+Aにまで拡大するこ とによって、すべてのニューロンが同じ活動化関数をもつことができる。ただし 、Ex、が1つのニューロンへの唯一の入力であると仮定すると、−八はY、= Oに等しく、+AはY、≦1に等しい。許容可能な誤差範囲内で、外部人力EX 、の使用によって、入力ニューロンを0”状態または”1″′状態に強制するこ とができる。ネットワーク内のその他のニューロンのEx、は、必要でなければ 、Oに等しくすることができる。
ニューロン活動化関数F(Zl)をシグモイド関数に等しく決定する。その形は 、たとえば次の通りである。
−e=自然対数(2,71828,、、)−関数r(zl)について、 −〇≦F(z+) ≦1 − Tは、所与の1組の2.値に対するシグモイド関数の勾配を変更するために 使用する大域制御パラメータである。
既知の1組の入力/教師パターンが与えられた場合、既知入力が後方伝播ネット ワークに加えられ、そのネットワークは実行モードで実行しである出力を生ずる 。次にネットワークは学習モードに置かれ、ある規則に従って重みが調整される 。教師パターンと実際に生じた出カバターンの不一致度が誤差である。後方伝播 学習規則の背後にある基本概念は、全ネットワーク誤差E (W)を調整可能な 重みの関数としてすべての入力/教師パターンについて最小化することである。
ネットワーク誤差E (W)は、教師入力及びネットワーク出力の2次関数とし て選択される(”Rumelhart 86″の後方伝播/デルタ規則方程式) ニ ーQはパターンpの数に等しい。
−出カニニット上に教師入力しPlがある。
特定のパターンpについて、 E (W)’は、ウィドロウとホフ(”Widr ow 60”)の研究によれば、連続値出力をもつユニットのシステムではなく 単一層線形しきい値ユニット・システムでは、2次誤差関数をある範囲のネット ワーク重みの値に対してプロットした曲線は、1つの最小値をもつ滑らかな関数 となる。平均2乗誤差を最小化する手順を使用することによって、ネットワーク は、誤差面に沿って単一の最小値に達するまで勾配を下げる。言い替えると、誤 差関数が最小になるように重みが変更される。より具体的には、重み変化を誤差 関数の導関数の負数に比例させることによって勾配降下が達成される。線形しき い値ニューロンに使用されたこの勾配降下の概念が、シグモイド型応答を有する ニューロンに拡張される。
式1及び式2で定義された活動化関数を有するニューロンで平均2乗誤差を最小 にするには、重み変化に対する誤差関数の導関数を計算しなければならない。重 みは、勾配降下方程式に従って変化しなければならない。
(上式で、ρは比例定数である。) 連鎖体を使用して重みに対する誤差関数(式5)の導関数をとると、 式7の最初の部分(d E’) / (d z’、)は、第iユニットの入力の 変化に対して誤差E′がどのように変化するかを表す。
式7の第2の部分(d z’z) / (dWtJ)は、特定の重みWlJの変 化に対して第i入力がどのように変化するかを表す。
外部人力Ex、はネットワーク実行中一定と仮定されるので、式7の第2の部分 の導関数は次のようになる。
式7の第1部分の導関数は、”Rumelhart 86”によって解釈された 線形ニューロンで使用される元のデルタ規則アルゴリズムに基づいている。ニュ ーロンが線形であるなら、Y′、は入力zP、またはその定数倍に等しくなるは ずである。この線形式と「一貫性」をもつようにするため、第1の導関数は、” Rumelhart 86”に従って次のように定義する。
誤差面E上で勾配降下を実施するため、弐6に基づくこの学習規則に従って重み を変化させる。
ΔW、、=ρδ’1Y’、 (10) (上式で、ρは学習速度(比例定数)を表す。)多層ネットワーク内のすべての ニューロンについてδ′、を決定することが、後方伝播アルゴリズムの核心であ る。式9に対して微分連鎖規則を適用すると、次式が得られる。
第1項(dE’)/ (dY’りは、ニューロンの出力の関数としての誤差の変 化を表し、第2項(d Y’+) / (d Z’+)は入力の変化の関数とし ての出力の変化を表す。第2項は出力ニューロンと隠れニューロンの両方に有効 である。活動化関数(式2)の導関数は次の通りである。
式11の第1項の計算は、ユニットが出力ニューロンであるか、それとも隠れニ ューロンの1つであるかによって変わる。
出カニニットの場合は、教育入力が使用可能なので、出力ニューロンに関する式 12を式14に代入すると二δへ= (t’!−yp、)YPl(1−Y’1)  (15)従って、出力ニューロンについては、式10は次のようになる。
ΔW1.=ρY’J (u’+ Y’z)Y’+(I Y’、) (16)出力 Y、をもちY、がフィードフォワード層に接続されている層り内の第1の隠れユ ニットについて、連鎖体を使用して(d E’)/(d Y’1)を書き直すと 、上式で、m=M1+M2+、、、+ML式17は、ニューロンのフィードラオ ワ−1’層Yt+i?Y m+2+ I T −# yNに対する層り内のY、 の効果を表す。続は調べている唯一の効果はY、によるものなので、フィードフ ォワード層内のすべての入力のYlに対する導関数は次のように式9を式19に 代入すると: Wc、は、1つのフィードフォワード層内における隠れユニットiからニューロ ン・ユニットCへの結合重みであると解釈される。式11を整理すると、 式12及び20を式11に代入すると:次に、式10に基づいて、 ΔW、J=ρy P Jy ’ 、(I Y ’ + )Σ δPcWc、(2 2)C11口十1 層りの隠れユニットの誤差信号δ′1を、Lより前の層に後方伝播させて、重み 修正プロセスを続行することができる。
多層ニューラル・ネットワークでは、式16及び22が後方伝播学習規則を構成 する。すべての重みが、下記の一般規則に従って更新される。
新しいW1j=古いW、+ΔWi、(23)いま図を詳細に参照すると、後方伝 播は、高水準からは第2図に示すように見える。第2図は、3層後方伝播ネット ワークを示している。 ’Grossberg 87”参照。第1図は、3層F 1、F2、F3の後方伝播ネットワーク内に含まれる主要な計算ブロックの概略 を示す。このネットワークへの入力は、3つの層Fl、F2、F3を通過して、 F3層から実際のネットワーク出力を発生する。ユニットのF1層、F2層、F 3層は、各層内でニューロンの出力を直接生成する、非線形で、微分可能な、非 減少の活動化関数をもつ。これらの活動化関数は、微分器ブロックF6、F7、 及び誤差信号ブロックF4、F5に送られる。ブロックF6及びF7は、それぞ れ層F3及びF2からの活動化関数を微分し、対応する誤差ブロックF4及びF 5に信号を供給する。またブロックF4は、層F3からの直接出力と、予想出力 と記された教育入力とを受け取る。ブロックF4は、予想出力と実際の出力F3 の差に実際の出力F3の導関数を掛けた積に基づ(学習信号を作成する(式15 )。次に、F3とF2の間の重みが、学習信号によって修正される(式16及び 23)。隠れ層とも呼ばれる層F2への重みは、多少異なる規則によって修正さ れる。というのは、教師、すなわちF2層に対する予想出力が存在しないからで ある。F5ブロックからの学習信号は式21に等しく、重みは式22及び23に 基づいて更新される。
このネットワークは、2つのフェーズ、すなわち実行または順方向伝播フェーズ と、F3層から出発して重みを修正し入力層へ後方伝播する、ネットワークを介 する後方伝播である学習フェーズで働(。このサイクル、すなわち新しい出力を 発生する順方向伝播フェーズと、その後に続く重みを更新する後方伝播フェーズ は、実際値と目標値が一致する、または許容範囲内に入るまで続く。
学習機械シナプス・プロセッサ・アーキテクチャ”T−3NAP″に記述された TSNAP構造は、TSNAPが重み修正機構を提供しなかったので、ホスト・ プロセッサが、ニューラル・ネットワーク・モデルが必要とする学習機能を提供 することを必要とした。さらに、T S NA Pは、式1で記述されるニュー ロン実行機能も提供しない。複数の学習アルゴリズム及び新しいニューロン定義 (式1)に対応するには、TSNAPアーキテクチャの大きな変更が必要である 。これらの変更は、ニューラル・ネットワーク・パラダイムに通常付随する能力 を超える能力をもたらすものである。
TSNAPで提供された固定乗算機能の代わりに、命令を受け取って実行する新 しいタイプの計算要素で乗算要素を置き換えた、より一般的なプロセッサ・アー キテクチャが使用される。この新しいアーキテクチャをシナプス・プロセッサ・ アーキテクチャ(SPA)と呼ぶ。ビット直列通信が、システム装置の好ましい 実施例によって実施される以下のアーキテクチャの議論の基礎となる仮定である が、このビット直列のSPA実施例は、ビット直列の実施態様だけに限定される ものではな(、このアーキテクチャはやはり以下で詳細に説明するワード並列形 式にも適用できる。
重み/Y値乗算機能は、式1及び2で定義されるように、生物ニューロンとの粗 い機能的類推では、入力シナプス処理に対応する。拡張された乗算セルまたは[ シナプスコプロセッサ・アーキテクチャは、重み/Y値乗算機能及び以下で説明 する追加の機能を含む。学習なしのニューラル実行能力、一般セル構造及び対角 線セル構造を実施するには、2つのタイプのプロセッサ「セル」構造が必要であ る。
学習なしの基本実行構造、及び学習をサポートする新しいプロセッサ構造は、第 3図及び第4図に示されている。以下の説明で使用する「要素」という用語は、 重み変更能力なしのシナプス処理に必要な最小のアーキテクチャ機能ユ・ニット 、すなわち重みレジスタ、Y値しジスタ、及びW、jY、で象徴的に示される乗 算器を意味する。第1の「セル」 (第3A図)は、対角線要素w、xy、と関 連し、第2の「セルJ、Gセル(第3B図)は残りの要素W1.Y、と関連し、 上端及び下端配置で示された、Gセル内に置かれた2つの要素を含む。基本的ニ ューラル実行構造(第3A図及び第3B図)に対する変更点は、第4A図及び第 4B図に示されており、タグ比較機能、コマンド(CMD)レジスタ、一時(T EMP)レジスタ、各データ・レジスタ内の条件付き実行ビット(CEB)、デ ータ経路レジスタ、コマンド経路ビット、セレクタ及びディストリビュータ制御 構造、及び実行ユニット(EXU)ブロックで表される乗算以外の拡張機能を追 加したことである。
簡潔に言うと、タグ比較機能により、同報通信Bビットを用いて個々のシナプス ・プロセッサ「要素」またはすべてのプロセッサを選択することが可能になる。
コマンド制御命令とデータ経路、ならびに拡張EXU機能、データ経路レジスタ 、コマンド経路ビットはプログラマブルな記憶要素である。一時レジスタは、各 要素内で追加の記憶能力を提供し、セレクタ及びディストリビュータ制御構造は 、記憶されたデータ/コマンド経路とコマンドのソース・アドレス及び宛先アド レスとに基づく内部要素経路の選択を制御する。この新しい形のプロセッサ・セ ルは、シナプス・プロセッサ(SYP)と呼び、対角線セルはDSYP、一般セ ル(Gセル)はGSYPと呼ぶ。第3A[ffi及び第3B図を検討して、ニュ ーラル・ネットワーク・モデルにおける完全な接続性をサポートするSYPセル の本質的かつ新規なアーキテクチャ上の特徴を簡潔に考察する。たとえば、各処 理セル内での乗算を暗示する、実行モードにあるニューラル・ネットワーク・モ デルでは、対角線セルは、その記憶された重みにその記憶されたY値を掛け、乗 算結果を関連する加算器ツリーに供給する。対角線セルの逆通信モードでは、関 連する加算器ツリーからY値を受け取って、Y値しジスタに記憶する。またこの 構造の「Gセル」は、重みとY値の積を生成し、この積を関連する加算器ツリー に供給する。これらの「Gセル」の逆通信モードでは、下端の乗数加算器ツリー から受け取ったY、値は、上端のY値しジスタに記憶され、同様に上端の乗数加 算器ツリーから受け取ったY1値は、下端のY値しジスタに記憶される。このY 値記憶の切替えは、完全な接続性をサポートする本質的特徴である。拡張された セル(第4Ajl及び第4B図)では、この経路切替えはプログラマブルであり 、そのために、処理のためのさらに別の独特のアーキテクチャ上の特徴が可能に なる。シナプス・プロセッサのプログラマブル性は、逆通信モードにある関連す る加算器ツリーからシナプス・プロセッサCMDレジスタで受け取ったコマンド または命令を介して得られる。命令を受け取ると、各SYP要素は、その命令で 指定される操作を実行する。命令のタイプには、データ及びコマンド経路命令、 算術命令、及び論理命令がある。各SYPは、ソース経路と宛先経路及びEXU 機能を指定する、各処理要素用のコマンド・レジスタを含む。DSYPは、1つ のコマンド・レジスタを含み、GSYPは2つのコマンド・レジスタを含む。こ こで、好ましい重み/YY値算構造については第3図を、このシナプス・プロセ ッサ・アーキテクチャの例については第4図を参照されたい。
第5図を参照して通信加算器ツリーの機能(”T−3NAP″参照)について考 察する。象徴的加算器ツリーが第5図の左側に示され、各段の加算器は文字Aで 表されている。パイプライン・ラッチは、わかりやすくするために省略した。使 用される通信加算器ツリー構造のより詳細な表現は第5図の右側に示されている 。3つの加算器要素が、2段パイプライン式ツリー配置で示されている。加算器 要素は、その出力上のブロックである1つのスイッチ1 (SWI)、及び加算 器をバイパスするブロックである2つのスイッチ2 (SW2)をもつ。通信加 算器ツリーは、2つのモード、すなわち順方向加算モード及び逆通信モード(バ イパス・モードともいう)のうちの1つに置(ことができる。ツリーのすべての ノードが同じ関数を提供することを保証するために、各加算器要素で共通の制御 信号が使用される。ただし、一般的には、ツリー処理ノードは拡張機能能力のも のでよく、各ツリー・ノード内に別々の制御機構を設けることによって処理ノー ドの制御をより柔軟にすることができる。別々の制御線の使用、またはツリー処 理ノードへのタグ付けされたコマンドの使用は、ツリーの処理能力を拡張する機 構の2つの例である。ツリー・ノード機能ユニットのより拡張された機能は、機 能の定義によって必要とされる追加の記憶要素を含むことができる。
この説明では、通信加算器ツリー処理ノードはすべて、中心制御点からイネーブ ル/ディスエーブルされる共通のツリー制御信号を利用して、その入力データに 対して同じ機能、すなわち加算またはバイパス通信を提供する。ツリー制御信号 によって指定される機能の1つは加算器バイパスである。スイッチSWIとSW 2はともにオン/オフ制御機構をもち、「オフ」状態にあるときはスイッチを開 すなわち高インピーダンス状態に保ち、「オン」状態にあるときは加算器をバイ パスして低インピーダンス経路を通る。SWIがイネーブルされたとき、SW2 はディスエーブルされ、逆も同様である。
こうして、加算器ツリーは、たとえばSWIがオン、SW2がオフの1方向で加 算機能を提供することができ、またSWlがオフ、SW2がオンの加算器バイパ ス・モードでは本質的に通信経路として機能する。2−1加算器などの2−1機 能要素を使用する加算器ツリーは、log2N個の段を必要とする。また、すべ て同じ要素タイプのまたは組み合わせた、3−1.4−1.、、、、N−1加算 器などの3−1.4−1、、、、、N−1機能要素及びそのバイパス・スイッチ を用いて、順方向加算器及び通信経路機能を実施して、指定された関数を生成す ることができる。通信加算器(第5図)はその論理関数を表すことに留意された い。というのは、たとえば、使用する技術に応じて、「オフ」が高インピーダン ス状態に等しいSWIの機能を、各加算器要素の最終内部段で必要とされるゲー ト装置内に組み込むことができ、それによって加算機能への遅延を増大させない からである。また、別々の通信ツリー経路を設け、それによってたとえば加算機 能の進行中に通信を行なうことができる。
4ニユーロンの例を第6図に示す。これは、通信加算器ツリーとシグモイド生成 機構を接続して、汎用学習機械(GPLM)に使用される修正SPA構造の全体 像を提供し、加算器ツリーの上端−下端結合を象徴的に示すことができる。第6 図で、シグモイド生成機構SIGは、式2及び3で記述される関数を提供し、Y 導関数生成機構S I G’は式12で記述される関数を提供する。ネットワー クの外部人力Ex1は、最終加算器段に供給されてからシグモイド生成機構に供 給される。学習プロセッサは、シナプス・プロセッサのアレイの中心制御点であ り、ホスト・コンピュータとインターフェースする。ホスト・コンピュータは、 モデル化されたネットワークの結合重み、ニューロンY値、Y導関数値、「教師 」値、及びトレース値を格納する学習プロセッサの内部記憶装置にアクセスでき る。学習プロセッサがもついくつかの機能は以下の通りである。
1、すべてのシナプス・プロセッサの初期設定2.0PLMの始動 3、GPLMの停止 ・モデル化されたネットワークの出力の、所望出力との比較による、収束検査 ・ホスト指定のR更新サイクルが完了した。
40通信加算器ツリーの制御 5、シナプス・プロセッサ命令の発行 6、多層ネットワークのシーケンス制御7、シナプス・プロセッサ・データの発 行8、学習アルゴリズムにおけるすべてのδ、の計算ニューロン入力と関連する シナプス・プロセッサ・レジスタは、LSSD走査のためにシリアル・ディジー ・チェーン方式で互いに接続されている(’Eichelbergsr 77” 参照)、LSSD走査は、テスト及びレジスタの初期設定をサポートする。各ニ ューロンは、実施技術に応じて1つまたは複数の走査ストリングをもつことがで きる。たとえば、各ニューロンごとにただ1つの重みレジスタを含む1つの独立 の走査経路を設けて、学習プロセッサとインターフェースするN個の重みレジス タ走査経路を得ることができる。学習プロセッサは、走査経路を介して重みレジ スタを初期設定し、学習モードでの重み更新はGPLM構造内で並列に実行され る。必要ならば、加算器ツリー構造を介してY値を逆通信することによって、Y 値が初期設定される。ニューロン3に対するニューラル計算で必要な要素の記憶 の例を、ここに記述し、第6図に強調して示す。
Y、=F (W、、1Y工+J、2Y2+W3.3Y3+W3,4Y4)第6図 は、シナプス・プロセッサ・アーキテクチャをもつ4ニユ一ロン汎用学習機械を 示している。各ニューロン出力Y、は、学習プロセッサに接続され、学習プロセ ッサは、加算器ツリーの逆通信経路を介してY、ニューロンのシナプス・プロセ ッサに命令を発行する。特定のシナプス・プロセッサ要素とグループ・シナプス ・プロセッサの制御は、すべての通信にタグ・ビットと同報通信” B ”ビッ トを追加すること、及び各シナプス・プロセッサ内のタグ及び”B”ビット比較 機能によって得ることができる。第7図に、命令及びデータのフォーマットを示 す。”B”ビットは、フィールド内の第1ビツトとして追加され、B=1の場合 は同報通信コマンド/データを示し、B=Oの場合はタグ付きコマンド/データ を示す。
同報通信メツセージ/データは、TAGと独立な特定のY、ニューロンにリンク されたN個すべてのシナプス・プロセッサに行く。TAGフィールドは、少な( ともlog2Nビットの長さでなければならず、あるニューロンに属するすべて のシナプス・プロセッサの識別を可能にする。受は取ったタグは、各シナプス処 理要素内に記憶されたタグとビットごとに比較され、最終タグ・ビットの比較が 完了した後は、後続のコマンド/データが特定のシナプス・プロセッサ要素によ って受け取られるかどうかが既知となる。タグが一致すると、コマンドまたはデ ータが受け取られ、一致しないとコマンド/データの受取りが妨げられる。また 、エラー処理のために、第7図に示すように、Pで表されるパリティ・ビットま たはエラー訂正ビットをタグ・フィールドに含めることもできる。
また逆通信されたコマンドまたはデータは、ビット・ストリングがデータなのか それともコマンドなのかを示す単一のビット(CMD) 、特別の自動実行モー ドを示すAUT○ビット、及びエラー訂正/検出ビット(ECC)を含む。コマ ンド・ビットの長さ及びデータ・ビットの長さは等しいと仮定されている。表1 はシナプス・プロセッサ命令セットを含む。
一例として、ホップフィールド・ニューラル・ネットワーク・モデル(”Hop field 84”参照)を利用すると、ネットワーク操作のために自動モード を指定することができる。この場合、次のネットワーク・サイクルを開始するた めに各ネットワーク実行サイクル後にMPY命令を繰り返し送ることを必要とせ ず、新しく計算されたY値を受け取った後に、自動モードで次の更新サイクルが 自動的に開始することになる。この自動モードは、所望のコマンド内のAUTO ビットを”1′にセットすることによって開始される。たとえば、ホップフィー ルド・ネットワーク・モデルで使用するMPYは、シナプス・プロセッサ内で自 動モード・フラグをセットする。この最初の操作は、AUTOビットが1″にセ ットされた命令の受け取りによって開始される。新しい更新済みデータを受け取 る度にこの命令が繰り返され、NOP命令の受け取りなど新しいコマンドを受け 取った時に処理が停止する。たとえばMPYAのように、大文字のAが命令二− モニックに追加されると、自動ビットを”1″にセットすべきことを指示する。
ソース・アドレス及び宛先アドレスは、コマンド・レジスタに対する相対なもの である。この相対的アドレス指定を第4B図に示す。図では上端のコマンド・レ ジスタCMD TREGの相対アドレスが、レジスタ・ブロックの右にある欄に 示され、下端のコマンド・レジスタCMD BREGの相対アドレスはレジスタ ・ブロックの左にある欄に示されている。たとえば、下端のコマンド・レジスタ R2は上端のコマンド・レジスタR5と同じであることに留意されたい。加算器 ツリーから受け取ったビット・ストリングは、それがコマンドである場合、直列 化されて、各Gセル内の2個のCMDレジスタのうちの1個、及び対角線セルの 単一〇MDレジスタに入れられる。一方、加算器ツリーから受け取ったデータ・ ビット・ストリングは、直列化されて、Gセル内で使用可能な他の6個のレジス タのうちの1個、及び対角線セル内で使用可能な他の3個のレジスタのうちの1 個に入れられる。
DSYPでは、R4ないしR6及びC,R2のソース・アドレスまたは宛先アド レスは以下のようにマツプされる:たとえば、ソース・アドレスまたは宛先アド レスが3ビツトと仮定する。GSYPに3ビツトすべてを使用させ、DSYPに は2つの最下位ビットだけを使用させることによって、適切なマツピングを行な うことができる。
−000→ CRI 宛先レジスタ経路は、PATH命令によって指定されたままとなり、データ経路 レジスタまたはコマンド経路ビット・レジスタに記憶される。異なる経路を希望 する場合は、PATHコマンドを再発行しなければならない。コマンドが指定さ れない場合、省略時のレジスタ経路は”T−3NAP”に記述されているように なる。すべてのシナプス・プロセッサ・データ・レジスタは、各データ・レジス タ内に条件付き実行ビットがあるために、長さくD+1)ビットである。命令及 びデータのフォーマットを示した第7図を参照のこと。CEBがある命令の宛先 レジスタ内で7jo″にセットされている場合、そのコマンドはNOP命令とし て扱われる、すなわち宛先レジスタの内容は変更されず、′○”が加算器ツリー に送られる。CEBが”1″にセットされている場合は、レジスタの内容を変更 することができる。たとえば、このビットを重みレジスタ上で使用して、結合の 有無を識別することができる。
というのは、後で提示するボルツマン様機械の例に見られるように、Oの重み値 は必ずしもこれを実施するのに十分ではないからである。加算器ツリーが宛先点 でない場合、あるいはNOP状況が発生している場合は、必ず″ゼロ″が加算器 ツリーに送られる。CEBは、初期設定時にチップの走査機能または経路コマン ドを用いてセットすることができる。
第1表は、本発明の好ましい命令セット機能を列挙する。
第1表 シナプス・プロセッサ命令セット第1表のように、PATHコマンドは 、加算器ツリー中を逆通信される情報用のシナプス・プロセッサ内部のデータ及 びコマンド経路をセットアツプし、この経路は、その経路を変更する新しいPA THコマンドを受け取らない限り、同じままとなる。たとえば、GPLM上のホ ップフィールド・ネットワーク・モデルでは、省略時の経路が以前の処理のため に変更されていた場合、逆通信モードで、上端の加算器ツリーがその受け取った Y値を下端のY値しジスタに結合し、下端加算器ツリーがその受け取ったY値を 上端のY値しジスタに結合することができるようになると、PATHコマンドが 発行されることになる。ホップフィールド・モデルでは、この経路コマンドは、 固定重み実行モードを仮定すると、ネットワーク実行中ずつと有効なままとなる 。また、PATHコマンドは、次のコマンドに対する経路の指定を可能にする。
これは、ニューロンが、2つの独特なモードで動作できるので、興味深い新しい 機能を意味する。Y INMODEと呼ばれる第1のモードでは、すべてのニュ ーロンについて、下端の加算器ツリーから受け取ったコマンドはCMD BRE G(CRI)に送られ、上端の加算器ツリーから受け取ったコマンドはCMD  TREG (CRI)に送られる。この場合、YINMODEでは、すべてのニ ューロン入力SYPがコマンド・フィールドで指定された通りに機能する。こう して、各ニューロンを、そのニューロンへのすべての入力に共通な、異なる入力 シナプス処理機能で指定することができる。たとえば、ニューロン8へのすべて の入力は、重みレジスタ値とニューロンY[の乗算によって指定でき、ニューロ ン7へのすべての入力は、一時レジスタ値とニューロンY値の乗算によって指定 できる。すべてのニューロン通信加算器ツリーは互いに独立なので、異なるニュ ーロンではYINMODEで各ニューロン入力機能の実行回数が異なることがあ り得るが、このような場合、加算結果が異なる時に発生し、そのため、処理しな ければ学習プロセッサで同期の問題が発生する可能性があることに留意されたい 。YINMODEを使って、処理すべきニューロンを非同期的に選択することが できる。YOUTMODEと呼ばれる第2のモードでは、すべてのニューロンに ついて、下端の加算器ツリーから受け取ったコマンドは、CMD TREG ( CR2)に送られ、上端の加算器ツリーから受け取ったコマンドは、CMD B REG (CR2)に送られる。この場合、YOUTMODEでは、すべてのニ ューロンY値出力は、その入力宛先SYPで適用されるのと同じシナプス関数を もつ。こうして、各ニューロンはその入力SYPで複数の関数をもつことができ る。たとえば、すべてのY8宛先SYPは、重みレジスタ値とニューロンY値の 乗算によって指定でき、すべてのY7宛先SYPは、一時レジスタ値とニューロ ンY値の乗算によって指定できる。
1つのニューロン入力で指定されたすべての関数は、それらの関数が異なってい ても同じ長さの時間で実行しなければならない。一般的ニ、YINMODE、! :YOUTMODE+、t、争奪が発生する可能性があるので、単一のネットワ ーク構造内で相互に交換できない。”T−3NAP”におけるTSNAPの最初 の記載では、これらのニューロンは、GPLMにおけるYOUTMODEに対応 する固定動作モードで機能し、すべてのニューロンは同じ関数によって指定され た。入出力エンコーダ問題及びボルツマン様機械の例では、Y I NMODE を利用する。ボルツマン様機械の例は、この説明で提示する後方伝播の例の後に 挙げる。
多くの命令は、個々のシナプス・プロセッサにとって局所である宛先を指定する 。この局所処理は、正しく処理しない場合、同期の問題を発生し得る。GPLM 構造全体に同期機構を拡散させる代わりに、同期の問題が学習プロセッサのニュ ーロン出力点に局在することになる。シナプス・プロセッサからは局所処理完了 の通知は生成されない。そうではな(て、操作の安全を保証するために、ニュー ロン出力点に固定されたハードウェア機構が設けられる。また、この問題をシナ プス・プロセッサ位置にある待ち行列を使って「解決する」ことは望ましくない 。というのは、そうすると、シナプス・プロセッサのサイズが増大し、単一のチ ップ上に配置できるその数が制限されるからである。そうせずに、命令発行点で 問題を解決し、すべての危険を回避する。同じシナプス・プロセッサへのどの局 所処理コマンドも、その同じシナプス・プロセッサへの次のコマンドから指定さ れたシナプス・プロセッサ命令の実行時間だけ分離しなければならない。たとえ ば、MPYコマンドを完了するのに2Lクロツクを要する乗算は、第2のコマン ドが送られる前に完了しなければならない。こうする必要があるのは、コマンド ・バッファ・レジスタを必要としないためである。というのは、各コマンドは、 指令された機能の動作中、シナプス・プロセッサ内で一定のままでなければなら ないからである。非局所命令、すなわち、宛先が加算ツリーである命令は、収束 したツリー結果が学習プロセッサに届いたとき、動作完了の通知を提供する。非 局所命令では、学習プロセッサは、結果を受け取るまで待ってから、新しい命令 をそのツリーに接続されたシナプス・プロセッサに送る。次に、学習プロセッサ 内の各ニューロン出力点を同期機構でセットアツプして、各シナプスに命令を最 大速度で安全に発行することができる。
最後に、ここに記載した命令セットを使用してプログラム内で宛先争奪が起こら ないようにするために、GPLMコンパイラが必要になる。
後方伝播学習の例 GPLM構造上で後方伝播がどのように使用されるかを実証するために入出力エ ンコーダ問題を使用する。第2表は、入カー出カバターンのコード化問題を示す 。”Rumelhart 86”を参照のこと。
第2表 入出力コード化問題 この問題に使用するネットワーク構造を第8図に示す。第8図は、入出力コード 化問題のためのニューラル・ネットワークを図示している。すべてのニューロン 出力が学習プロセッサに使用可能なので、GPLM構造上にマツプされるとき、 多層ネットワークにおける隠れユニットのようなものはない、多層ネットワーク は、重みレジスタの条件付き実行ビットがOにセットされることによって未使用 の接続経路がゼロの重み値に保たれた、完全に結合されたネットワーク構造上に マツプされる。11ニユ一ロンGPLM構造を必要とする入出力コード化問題で は11個のニューロンが使用される。入出力エンコーダ問題は、11ニユ一ロン GPLM構造で使用可能なすべての可能な結合を必要としない。たとえば、ニュ ーロン9に関する入出力エンコーダ・ネットワーク方程式は次のようになる。
Y、=F (w、、’y、+w5..y、+w、、、y6+w、、□y 7 ) 第9図は、一般の11ニユ一ロンGPLMを、完全に結合された11ニユーロン 構造の各ニューロンのコマンド、重み、Y値、及び一時レジスタ値と共に示す。
学習プロセッサ、シグモイド、及び導関数ブロックはわかりやすいように省略し た。必要に応じて、加算器段遅延と等価な、遅延ブロックを伴うシーリング(l  o g 2N)加算器段が使用される。シーリング関数は、オペランド値の次 に大きな整数をとる。すなわち、シーリング(log211=3.459.、、 )=4である。
実行モード中、Y値は層ごとに計算される。すなわち、層lが最初に計算され、 そのY値結果が層2のために使用され、以下最後の層までこれを繰り返す。ニュ ーロンのに個の層がすべて処理された後、ネットワークは学習モードに置かれる 。
出力ニューロンは、出力層から誤差信号を計算し、次いで誤差信号値をツリーを 介してシナプス処理セルに逆通信する。
誤差信号の後方伝播は、出力層から開始し、入力層に向かって次々に層ごとに実 行される。様々なシナプス・プロセッサ内で適切な命令を実行することによって 、後方伝播アルゴリズムを実行することができる。
順序通り並べられた手順を用いる詳細な例で、GPLM上にマツプされたとき、 入出力エンコーダ学習問題が後方伝播アルゴリズムによってどのように実施され るかを説明する。
あるパターンp(一般に、肩付き文字pはわかりやすいように省略する)につい て、GPLMニューロコンピュータ内で以下に箇条書きにする手順に従う。「無 結合」重みはわかりやす(するために省略する。コマンド・レジスタに対するレ ジスタの相対位置は、第9図に示されている。
1、GPLMが、第10図に示すように、重みレジスタのCEBビットが1nに セットされている、重み値の初期セット内を走査することによって初期設定され る。その他の重み値及びすべてのY値しジスタはゼロ値で走査される。
2、初期設定後GPLMが実行モードに置かれ、入カバターン(EXI及びEX 2)が加えられ、省略時経路が一般シナプス・プロセッサを通るものとして設定 される。具体的には、上端のADDツリーから受け取ったコマンドは下端のコマ ンド・レジスタCR2に行き、下端のADDツリーから受け取ったコマンドは上 端のコマンド・レジスタCR2に行く。
上端のADDツリーから受け取ったデータはR5Yルジスタに行き、下端のAD Dツリーから受け取ったデータはR5Y3レジスタに行り、(相対アドレス指定 を仮定する。)3、ニューロン1.21.、、.11がMPYA R1掌R2→ ADD TREEを発行する。(ADDツリーが加算用に指定される)。ネット ワーク実行の各層について乗算命令を再発行する必要なしに性能を向上させるた めに自動モードが使用される。GPLM構造内のY値しジスタは最初0なので、 すべての重み×Y値は積0を生じ、したがって加算されるとOの加算値を生ずる 。
4、ニューロンの第1層がGPLM構造上で実行されて、第1層ニューロン出力 及びその導関数を生成する(第10図)。
(学習プロセッサは、他のニューロン出力値、すなわちY3、Y41.、、、Y llを無視する。) 5、第1層ニューロン出力が、GPLMにフィードバックされ、ニューロンの第 2層が実行されて、ニューロン出力の第2層及びその導関数を生成する(第11 図)。にニューロン3だけは、データなしとして応答する。あるいは、他のニュ ーロンではコマンドは逆通信され、ニューロン3だけは有効重み、重みレジスタ CEB=1、及びY値の積をもつ。)・Yl及びY2を逆通信する 、Y3==F (W3.IY、+W3.2Y2)” Dr 3=Y3 (1−Y 3) 6、すべての層が実行されてネットワーク出力及びそれらの導関数が得られるま で上記のプロセスが繰り返される(第12図及び第13図)。
・Y、を逆通信する ・Y4”F (W4.3Y3) ・Y5”F (w、、、y、) ・Y6=F (W、、3Y、) ・Y7=F (Wt、3Y3) ・Y4、Y、AY6、及びY7を逆通信する一Y8=F (w8,4y4+w8 .y、+w8,6y、+w、、了Y了)・Y、=F (w3.、y、+w9.. y、+w、、6y、+w7,7y7)・Y1o=F (w、。、4y4+w、。
、、y、+w、0..y6+w、。、7’y丁)−Y 11=F (Wll、4 Y4+W11,5Y5+WH,6Y6+W11,7Y7)・Dr6=Y、、(1 −Y8) ・Dr、=Y、(1−Y、) ・Dr10=Y10(1’1’10) ” Dr11=Y11 (1−Yll)7.11個のニューロン値及びその導関 数がすべて計算され、Y値及びY導関数アレイに入れられた後、GPLMは学習 モードに置かれる。
8、学習プロセッサが、最小指定誤差に収束するかどうかYlを検査する。到達 している場合、パターンpについての学習プロセスを停止することができる。収 束に達していない場合は、パターンpについての学習が続行される。
・収束テストYe=l (te Ye)l≦最小誤差・収束テストY9= l  (tg y、)l≦最小誤差・収束テストYto=l(ti。−Yl。)I≦最 小誤差・収束テストYtt= l (t 11 Ytt) l≦最小誤差9、学 習プロセッサは、出力ニューロンと前の層内のニューロンとの間の重みを更新す る際に使用するために出力ニューロンに関するδ′、を計算する。
δ’1= (t’1−Y’、)Dr’1・δ6=E8= (t6−YB)Dr6 ・δg= E 9 = (t g Yg) D r9・ δto=E1”” ( t、。−Ylo)Drl。
・δL1=E1”” (tIL−Yll)Drlllo、データ経路が変更され 、次に誤差信号が当該の各乗数入力セル一時レジスタに逆通信される(第14図 )。・ニューロン1.21.、、.11が、PATHR4を発行することによっ てデータ経路を変更する。PATHR4が発行されると、上記のステップ3で発 行されたMPYAによって指定される自動乗算モードが停止する。受は取り中の データは、GSYP内の相対アドレスR4及びDSYP内のR3一時レジスタに 行く。コマンド経路は変更されないままとなる。
・R8、R9、Ego、及びEllが、Y8、Y3、Yl。、及びY工、ソース 点から逆通信される。
11、誤差信号と適当な重みとを乗算するためのMPY命令を発行する。積が加 算されて、誤差水和合計ER’、を生成する。これは、次層後方重み修正プロセ スで使用される(第15図)。コマンド経路、すなわち上端のADDツリー・コ マンドから下端のコマンド・レジスタ (CR2)、及び下端のADDツリー・ コマンドから上端のコマンド・レジスタ(CR2)への経路は変更されなかった ので、誤差信号は受け取ったコマンドに関する一時レジスタ・アドレスR3内に ある。
上式でm==M、+M2+−、、+ML・ニューロン8.9.10.及び11が 、MPY R6”R3→ADD TREEを発行する。下端のコマンドR6重み レジスタ(下端のコマンドに関する重みレジスタ)のCEBビットが0に等しい ので、有効な積の和は、GSYPの上端ADDツリーを介してのみ得られる。
−ER,=W、、4E8+W9,4E9+WtO,4E1o+W1..4E、1 − E R5=W+5.、E 、+W9.5E 9+WtQ、、E 1.+W1 1,5E 11− E R,=W9..E 、+W9,6E 9+WtO,6E  10+W11.、E tt−E R7=W、、7E 8+W9,7E 9+W tO,、E 1.+W11..E tt12、層り内の誤差信号が計算される。
これは、新しく計算された導関数に関する式21、式24、及び誤差水和方程式 25を使用して、Lより前の次の層(が存在する場合、そこ)で使用される ( 第16図)。ニューロン3はPATHCRIを通ってYINMODEに置かれ、 次にニューロン3に乗算コマンドが発行され、最後にニューロン3がPATHC R2を通って¥OUTMODEに置かれ、GPLM構造内の他のニューロンと一 貫性をもつようになる。
δ’、=D r’、ER’1 (26)・δ4=E4=Dr4ER4 ・δ5=E5=Dr5ER5 ・δ6=E6=Dr6ER6 ・δ、= E 7 =D r7E R7・R4、R5、R6、及びR7を当該の 各乗数入力セルに逆通信する。
・PATHCRI ・ニューロン3がMPY R6”R3→ADD TREEを発行する。
・ER3=W4,3E4+W9.、E、+W6,3E6+W、、3E。
・PATHCR2 13、層2について誤差信号(R3)が計算され、構造内に逆通信される(第1 7図)。
δ’i = D r ’s E R’s (26)・δ3=E3=Dr3ER3 ・R3を当該の乗数入力セルに逆通信する。
・第1層内では重みを調整する必要がないので、ここで後方伝播アルゴリズムを 停止することができる。
14、このとき、ニューロンのΔW1Jは3つの命令ステップで計算することが できる。8.=E、を代入すると、ΔW1.=ρYp、E1p (27) 8、ステップ1−ニューロン1.21.、、.11が、MPY R5京R3→R 4を発行する(第18図)。
・TEMPREG3,1=Y、E 3 ・TEMPREG、、2=Y2E 3 ・TEMPREG4,3=Y3E4 ・以下になるまで継続する ・T EMP REGll 、7=Y7E 11b、ステップ2−ニューロン1 .21000.11が、MPY R4“IM、D−4R4を発行する(第19図 )。IMDは学習速度ρを含んでいる。
・ΔW、、、=ρTEMPREG3,1・ΔW3.2=ρTEMPREG、、2 ・ΔW、、3=ρTEMPREG、、3・以下になるまで継続する ・ΔW11.7=ρTEMPREG1.、。
c、ステップ3−ニューロン1.2、・・・・ 11が・ADD R6+R4→ R6を発行する(新しい重み値がこれで計算された)(第20図)。新しい重み 値はw’ 、jで示される。
新W、J=旧W、J+ΔW1.すべてのニューロンについての式23 %式% ・以下になるまで継続するニ ーw’ 11.=w11.7+ΔW、、715、新しい経路コマンドが、次の学 習サイクルPATHR2に備えて送られ、従って新しいY値が適切なレジスタに 送られる。
16.0PLMが実行モードに置かれ、調整された重みによって出カバターンが 教育パターンと最小指定誤差で一致するまで既存のパターンpが再び加えられる 。最小指定誤差に達するまで、GPLMは実行モードと学習モードに交互に切り 替わる。最小指定誤差に収束した後、新しいパターンを加え、すべての教育パタ ーンが加えられるまでこのプロセスを繰り返すことができる。
フィードフォワード実行及び後方伝播の性能実行の各種モードのステップを以下 に示す。
実行モード: 第1層タイミング: MPYA命令発行: (L−1)+ (logzN)δ6MPYプラスADDツ リー二δw+ (l Og 2N) δ6+66シグモイド遅延:δ3 第2層タイミング: シグモイド遅延とオーバーラツプさせたY値の逆通信=(logzN)δ6 MPYプラスA、DDツリー二δに+ (l o g 2N ) δ6+66シ グモイド遅延:6に れかに個の層すべてについて繰り返され、従って一般にに個の層の場合、フィー ドフォワード実行遅延は下記のようになる(各層は順次実行されることに留意さ れたい)。
(L−1)+K (δ)II + 2 (l o g 2N) δ6+66+6 6)学習モード: 新しい定義は次のようになる。
・δF、、=誤差信号計算遅延 ・δcT=収束テスト遅延 ・δ。や。/ND= (L −1) + (l o g2N) δ6コマンド( CMD)または別々のオーバーラツプしないデータ(ND)を通信する際の遅延 ・δAI)D=Lδ6+ト データ・ワード及びコマンド・ワードの長さLビット入出力エンコーダ・ニュー ラル・ネットワークと同様、第1層上に計算する必要のある重み付けされた入力 がな(、かつすべてのY値導関数が利用できるものと仮定すると、セットアツプ : 収束テスト及びPATHコマンド:δCT+δCゎ第1後方伝播: 誤差信号を計算し、計算された誤差信号を逆通信する:δε1+δND MPY及び誤差信号加算: δ。、D+δ、+ (l o g 2N)δ6第2後方伝播: 誤差信号を計算し、PATHを発行し、計算された誤差信号コδ5.+δNDを 道通信し、PATHを発行する。
MPY及び誤差信号加算:δ。ゎ+δイ+(logzN)δにれを、K−2個の 類似の後方伝播について繰り返し、従って一般にに個の層の場合、(K−2)( δ。1+6.0+δcMr)+δ、!+ 2 (l o g2N)δA)最終後 方伝播は前進加算を必要とせず、従って:δ訓+δNつ 最終重み更新は、3個の局所コマンド、すなわち2個のMPYと1個のADDか らなる3つのステップで実行される:3δc、0+2δM+δ^r:ID δCNIDとδNDに代入し整理すると、一般にに個の層の場合の学習モード・ タイミング遅延が得られる:δC丁十 δcvry+ (K 2 )(δ51+ δND+ δCMD+ δ、+2(logzN)δA)+65.+δND+33 c、I!。+26゜+δADDδ6が1時間単位に等しいと仮定すると、学習モ ード・タイミング遅延は次式で与えられる: δ。ア+(K−1,)δ8.十にδい+2 (K+ 1 )L+(4K 3)( logzN) 2K Nのサイズが増加するとき、学習遅延はlogzN及び収束テスト時間及び誤差 信号計算遅延時間という小さな量だけ増加する。たとえば、N=128ニューロ ン、L=52ビットと仮定すると、学習モード・タイミング遅延は次のようにな るδCT(N−128)+(K 1)δv、s <N−12e、+ K 5 N !+ 130 K +N=1024及びL=58ビットの場合、学習時間は次の ようになる: 60丁(N−1024)+ (K −1)δシミ(N・1024)+にδ閘+  154に+ボルツマン様機械の学習の例 以下の考察は、ボルツマン機械(”Ackley 85”参照)の紹介を意図し たものではなく、ボルツマン・アルゴリズムが(”Ackley 85”、”R umelhart 86”、及び”McClelland 88’から)GPL M上にどのようにマツプできるかを示すものである。
ボルツマン機械は、元のホップフィールド・ネットワーク(”Hopfield  82”)の場合と全く同様に、完全に結合された2進しきい値ニューラル・ユ ニットのネットワークから構成される。ホップフィールドが使用した決定論的更 新規則と組み合わせたランダム及び非同期ニューロン選択の代わりに、非同期的 に選択されたニューロン・ユニットに対しては確率論的更新規則が使用される。
さらに、ニューロンのホップフィールド単一層の代わりに、入カニニット、隠れ ユニット、及び出カニニットをもつ多層機械としてボルツマン機械を指定するこ とができる。ただし、入カニニット及び出カニニットは「クランプ」、すなわち 所望の値に設定できる。結合重みを修正するために、すべてのニューロン出力を 監視し、それらの活動化値の統計を記録しなければならない。というのは、結合 された2つのユニット間の結合重みの変化は、ネットワークが自由実行モードと 「クランプ」モードの双方でr平衡」を達成した後で、この両方のモードで同時 にこれらの結合されたユニットが「オン」となる確率の差に比例するからである 。ボルツマン機械では温度パラメータTの使用を含むシミュレートされたアニー リングが重要な役割を演じ、温度の制御によって「平衡」が得られる。Ackl ey 85nに記述された入出力エンコーダ問題では、使用された「平衡」手順 は「9.。
すべての未クランプ・ユニットが等しい確率でランダムに「オン」または「オフ 」にされ(温度を無限に上げることに対応する)、次いでネットワークが以下の 時間の間、以下の温度で(2@20,2@15.2@12、及び4@10)走行 させられる。このアニーリング・スケジュールの後、ネットワークは平衡に達し たと仮定され、100時間単の間、10種の温度で統計を収集する。(注)1時 間単位は、各ユニットに平均して1回その状態を変化させる機会を与えるのに必 要な時間と定義する。これは、n個の未クランプ・ユニットがある場合、1時間 間隔にn回のランダム試行が行なわれ、その間にあるユニットがその状態を変化 させる機会を与えられることを意味する」というものであった。統計は、ユニッ ト同士の結合された対がどれだけ頻繁に「平衡」状態で一緒に「オン」になるか に関するものである。
次にGPLM上でモデル化された入出力エンコーダ問題のボルツマン様機械によ る実施態様について説明する。ニューロンのネットワークは3層であり、層1、 層2、層3内にそれぞれM1個、M2個、M3個のニューロンがあると仮定する 。
層1と層3は、それぞれの層内で完全に結合されているが、互いには結合されて いない。その代わりに、層1と層3は共に隠れ層2に完全に結合されているが、 隠れ層2内では隠れユニット同士は互いに結合されていない。指示された結合の 重みはすべて、最初、Oにセットされ、すべての有効結合重みについて重みCE Bビットが°′1”にセットされる。各ニューロンは2進型でII O++また は“1”の活動状態をとる。第1ニユーロンについてのrオン」/「オフ」エネ ルギ差ΔE、は次のように定義される。
指定された結合重みをもつNニューロン入出力エンコーダ・ネットワークがGP LM上で初期設定され、教師として機能できる既知の1組の入出カバターンが存 在すると仮定すると、サイクルを反復可能にするためにランダム「シード」が指 定されている場合、 1、入カニニット及び出カニニットを入出力エンコーダ・パターンの1つに「ク ランプ」することによって、ネットワーク更新サイクルを開始する。
・GPLMでは、これは、ネットワーク入力Y値及びネットワーク出力Y値を当 該の各シナプス・プロセッサに道通信し、上端のADDツリー値が下端のY値し ジスタに、及びその逆方向に行くように経路を切り替えることによって達成され る。隠れユニットについてはrオン」または「オフ」になる確率が等しいランダ ムY値を選択し、入出力Y値と同様に逆通信する。
2、入力/出カニニットがクランプされているとき、更新すベキ隠れユニット・ ニューロンをランダムに選択する。
・学習プロセッサは、1とNの間で一様に分布する整数乱数を発生できる乱数発 生器を必要とする。
・選択されたニューロンにPATHコマンドを発行して、切り替えが起こらない ように、すなわち上端のADDツリー・コマンドが上端コマンド・レジスタに、 及び逆方向に行くようにコマンド経路を変更する。(PATHCRI)(データ 経路は変更されない。) ・MPY R1本R2→ADD TREEを選択された二ニーロンに発行する。
3、選択された第1ニユーロンの「オン」状態確率oSPを決定する。
■ ・シグモイド生成機構は、学習プロセッサからロード可能なTパラメータ入力を もたなければならない。
4.0spは、選択されたニューロンにMPY R1ゞR2→ADD TREE 命令が以前に発行されたことによる、選択されたニューロンに関するシグモイド 関数の出力である。
5、学習プロセッサは、選択されたニューロンの活動化値Yを決定する。
IF(乱数≦○SPりTHEN Y、=1ELSE Y、=0 6、新しく更新されたY値がネットワーク内で逆通信される。
7、統計的に有意なニューロン活動度を得るのに十分なサイクルが走行され、ネ ットワークがアニーリング・スケジュールによって、すなわちパラメータTを変 化させることによって「平衡」に達するまで、ニューロン選択及び更新プロセス を続ける。学習プロセッサは、結合されたニューロンについて、結合されたユニ ットがどれほど頻繁に同時に「オン」であったかを示す値を記録する。
8、走行すべきパターンがまだ他にある場合、次の入出力エンコーダ・パターン を選択し、それをネットワーク上で「クランプ」し、ステップ2から始めて、上 で定義したようにネットワークを走行させる。ネットワーク上で走行されたすべ てのパターンに関する統計を取り続ける。
9、すべてのパターンを走行した後、記録された統計値は、1対の結合されたニ ューロンが共に「オン」であった確率を表す。学習プロセッサは「クランプ」さ れた統計値のアレイを保持する。
10、ネットワークは「未クランプ」であり、すべてのニューロン値はランダム 化されて「オン」または「オフ」である確率が等しくなり、ネットワークはアニ ーリング・スケジュールに従って「平衡Jに達することができる。
11、「クランプ」動作モードの場合と同じ回数のアニーリングの間「オンJの ユニットの対の統計が記録される。学習プロセッサは「未クランプ」統計のアレ イを保持する。
12、ネットワーク構造内で結合重みを更新するための2つの方法は下記の通り である。
a・ΔW、=ρ (pu p’ 1d b−pxa>p’ 13の場合 △W5.=十固定重みステップ pia<p’ IJの場合 ΔW1.=−固定重みステップ ・上式で、popは「クランプ」モードで対1、jが同時に「オン」となる平均 確率、p’ sJは自由走行動作モードで対i、jが同時に「オン」となる平均 確率である。
たとえば、上記の第1の重み更新法は、シナプス・プロセッサYと一時レジスタ 、及び以下のようなPA S CA L様擬似コード(括弧内は説明)に基づく 手順を使用することによって達成できる。FORループは、N個のニューロンに またがるN個の並列操作に変換されることになる。
a、For i=1 to N(次の操作がN個のニューロンすべてにわたって 並列に実行される。)b、−For j=1 to Nシフト・レジスタ、P、 JをニューロンiのYレジスタ内に走査する(N個のニューロンについてN個の 値が、並列に実行された1回の操作でYレジスタ内に走査される) c、 −−For j=1 to Nシフト・レジスタ走査、pr、Jをニュー ロン1の一時レジスタ内に走査する(N個のニューコンについてN個の値が、並 列に実行された1回の操作で一時レジスタ内に走査される) d、−−−ADD R2+R3→R3? (PIJ P’ IJ)→R3(N個 のADD命令がニューロンごとに1個ずつ並列に発行される。) e、−−−MPY R3を工MD1/2 →R3,Δ”JJ i、 →R3(N 個のMPY命令がニューロンごとに1個ずつ並列に発行される。) f、−−−ADD R1+R3→R1,W’、J→R1(N個のADD命令がニ ューロンごとに1個ずつ並列に発行される。)13、差psrQ’sJが指定さ れた最小誤差以下になるまで上記のプロセスを繰り返す。
並列データ・アルゴリズム マトリックス乗算 積計算のニューロン入力和は、第21図に示すようなi列及び5行のマトリック ス乗算と見ることができる。ニューロン入力マトリックスZiは次のように定義 される。
zl=Y、W1□+Y2WB+、、、+Y、W、Nマトリックス演算としてのニ ューロン計算ニューロン計算は第21図に示されている。これは、一般のマトリ ックス乗算のサブセットである。第22図に示すようなi列及び5行の2つのN XNマトリックスを考える。
一般のマトリックス乗算 第22図に一般のマトリックス乗算を示す。結果マトリックスZの各結果第9行 に対してYマトリックスの第5行を逆通信することにより、Y値マトリックスの 1行がGPLMにコードされると仮定すると、結果マトリックスZのN個の値が 、PASCAL様擬似コードに基づいて下記のような一般形で並列に計算される 。FORループは、N個のニューロンにまたがるN個の並列操作に変換される。
1、FORi=1 to N 2、FORk=1 to N 3、END FOR 4、END FOR 以下の手順に従う: (括弧内の遅延は、ADDツリ一段遅延δ6=1を仮定す る。) 1、Wマトリックスをロードする(1ニユーロンにつきN個のW値があり、N個 のニューロンのN個のW値を並列に走査するのに(NL)時間を要すると仮定す る)2、Y値を逆通信することによって最初のY行をロードする( (L 1  ) + l o g2N)3、MPYA R1本R2→ADD TREE (こ の場合、ADDツリーが水和プロセスのために初期設定されている。)((L− 1)+l og2N) 4、結果Zマトリックスの第1行を計算する。Yレジスタ及びWレジスタを乗算 し、続いて加算器ツリーを乗算する(δM+log2N) 5、N個のZ値を学習プロセッサに記憶する(δ6ア。85)6、第2のY行を 逆通信する((L −1)+ l o g2N)7、新しいY値を受け取ったと き、結果Zマトリックスの第2行を計算する。Yレジスタ及びWレジスタを乗算 し、続いて加算器ツリーを乗算する(δや+log2N)8、N個のZ値を学習 プロセッサに記憶する(δ8TOR1)9、最後まで行計算を続ける 10、第N番目のY行を逆通信する((L −1)+ l o g 2N)11 、新しいY値を受け取ったとき、結果Zマトリックスの第8行を計算する。Yレ ジスタ及びWレジスタを乗算し、続いて加算器ツリーを乗算する(δ、4+ l  o g 2N)12、結果Zマトリックスの最終行を学習プロセッサに記憶す る(δl5TOR0) 13.終了 W値を走査し、記憶操作が次の行のY値の道通信とオーバーラツプできると仮定 することによって、Wマトリックスを初期設定した後、NXN2計算の全処理時 間は次のようになる。
NXNマトリックス乗算= (L−1)+log2N+N (δN + (L  1 ) + 2 l o g 2N)+δ5TOREマトリックス加算及びプー ル演算 第22図に示したものと同じ形のマトリックスを仮定すると、Yマトリックスと Wマトリックスを共にGPLM構造にロードすることができる。というのは、G PLM構造内にはN2個の固有なYレジスタ及びWレジスタがあるからである。
Yレジスタ及びWレジスタ上の局所加算またはプール演算は、GPLM構造内で 実行することができ、結果は一時レジスタに送られる。演算完了時に、元のYマ トリックス及びWマトリックスは、GPLM構造内にそのまま残り、一時レジス タは結果マトリックスを含むようになる。結果は、走査出力し、あるいはシナプ ス・プロセッサ・セルから個別に読み出し、あるいは以後の操作(命令の連鎖ま たはリンク)のために使用することができる。
駆上、本発明の好ましい実施例について説明したが、当業者ならこれらの論議を 理解すれば、現在でも将来でも下記の特許請求の範囲に含まれる様々な改良及び 機能強化をそれに加えるであろう。この特許請求の範囲は、最初に開示した諸発 明に対する適切な保護を維持するものと解釈すべきである。
シナプス・プロセッサのアーキテクチャ対角線シナプス・プロセッサ(DSYP )遥宜加31141ツリー FIG、5 シナプス・プロセッサのタグ付き自令/データ形式^ !! 腹 籾 嘲 嘲 Σ マトリックス演算としてのニコーロン計算FIG、21 F I G、22 [要約コ 装置のシナプス処理要素に対するニューロン・アーキテクチャを有するニューラ ル・シナプス・プロセッサ装置が開示される。好ましい装置は、命令およびデー タ記憶ユニットを含み、命令およびデータを受け取り、命令を実行する、シナプ ス処理ユニットを有するNニューロン構造を有する。このNニューロン構造は、 通信加算器ツリーと、ニューロン活動化関数ユニットと、通信加算器ツリーによ って命令、データ、及びニューロン活動化関数ユニットの出力をすべて入力シナ プス処理ユニットに戻し通信するための配置とを含むべきである。この装置は、 ビット直列システムまたはワード並列システムとして構築できる。好ましい構造 は、N2個のシナプス処理ユニットを含み、各シナプス処理ユニットは、エミュ レートすべきNニューラル・ネットワーク内の結合重みと関連付けられ、対角線 セルおよび一般セルからなる対角線に沿って折り畳まれたNXNマトリックスの 形に配置されている。
それぞれが単一のシナプス処理ユニットを利用する対角線セルは、折り畳まれた NXN結合重みマトリックスの対角線結合重みと関連付けられ、それぞれが合併 された2つのシナプス処理ユニットを有する一般セルは、折り畳まれたNXN結 合重みマトリックスの対称結合重みと関連付けられる。後方伝播学習アルゴリズ ムを最初に検討し、続いて学習機械シナプス・プロセッサ・アーキテクチャを提 示する。次に、後方伝播学習アルゴリズムの実施態様の例を示す。続いてボルツ マン様機械の例および前記アーキテクチャ上にマツプされたデータ並列の例を示 す。
国際調査報告

Claims (36)

    【特許請求の範囲】
  1. 1.命令及びデータ記憶ユニットを含み、命令及びデータを受け取り、命令を実 行する、シナプス処理ユニットを有するNニューロン構造を含み、 前記Nニューロン構造が、 通信加算器ツリーと、 ニューロン活動化関数ユニットと、 前記通信加算器ツリーによって命令、データ、及びニューロン活動化関数ユニッ トの出力をすべて入力シナプス処理ユニットに戻し通信するための手段とを含む 、ニューラル・シナプス.プロセッサ・アーキテクチャを有するコンピュータ・ システム装置。
  2. 2.さらに、対角線セル及び一般セルからなり、対角線に沿って折り畳まれたN ×Nマトリックスの形に配置された、エミュレートすべきNニューラル・ネット ワーク内で結合重みとそれぞれ関連付けられているN2個のシナプス処理ユニッ トを含む、請求項1の装置。
  3. 3.それぞれ単一のシナプス処理ユニットを含む前記の対角線セルが、折り畳ま れたN×N結合重みマトリックスの対角線結合重みと関連付けられ、それぞれ合 併された2つのシナプス処理ユニットを有する一般セルが、折り畳まれたN×N 結合重みマトリックスの対称結合重みと関連付けられている、請求項2の装置。
  4. 4.対角線セルの単一のシナプス処理ユニットが、それぞれタグ突合せユニット と、命令/データ復号機構、データ経路記憶ユニット及び分配ユニットによる、 外部で受け取った命令及びデータ用の宛先経路制御機構と、1つの命令記憶ユニ ット、1つの重み値記憶ユニット、1つのニューロン活動化関数ユニット出力値 記憶ユニット(Y値記憶ユニットと呼ぶ)及び1つの一時データ記憶ユニットか ら構成される命令及びデータ記憶ユニットと、命令復号機構、セレクタ・ユニッ ト及び命令記憶ユニットに関するアドレス指定手段によって制御される記憶ユニ ット・オペランド選択機構と、命令復号機構及び分配ユニットによって制御され る結果宛先経路制御機構と、プログラマブル実行ユニットとから構成される、請 求項3の装置。
  5. 5.対角線セルのシナプス処理ユニットが、結果をNニューロン構造の付属の通 信加算器ツリーに供給し、そこから命令及びデータを受け取る、請求項3の装置 。
  6. 6.一般セルの合併された2つのシナプス処理ユニットが、2つのタグ突合せユ ニットと、2つの命令/データ復号機構、2つのデータ経路記憶ユニット、2つ のコマンド経路ビット及び共通の分配ユニットによる、外部で受け取った命令及 びデータ用の共通の宛先経路制御機構と、2つの命令記憶ユニット、2つの重み 値記憶ユニット、2つのY値記憶ユニット及び2つの一時データ記憶ユニットか ら構成される命令及びデータ記憶ユニットと、2つの命令復号機構、共通のセレ クタ・ユニット及び2つの命令記憶ユニットに関する2つのアドレス指定手段に よって制御される2つの記憶ユニット・オペランド選択機構と、2つの命令復号 機構及び共通の分配ユニットによって制御される2つの結果宛先経路制御機構と 、2つのプログラマブル実行ユニットとから構成される、請求項3の装置。
  7. 7.一般セルの2つの合併されたシナプス処理ユニット構造が、象徴的に上端シ ナプス処理ユニット及び下端シナプス処理ユニットとして編成され、前記の各上 端シナプス処理ユニット及び下端シナプス処理ユニットがそれぞれNニューロン 構造の付加された通信加算器ツリーに結果を供給し、そこから命令及びデータを 受け取る、請求項3の装置。
  8. 8.シナプス・プロセッサのデータ記憶ユニットがデータ記憶ユニットごとに1 ビットの条件付き実行ビットを含み、前記ビットがデータの使用、及びデータが 重ね書きできるかどうかを制御する、請求項1の装置。
  9. 9.ニューロン活動化関数ユニットが、Y値出力を提供する非線形シグモイド生 成機構及びY(1−Y)値出力を提供するシグモイド導関数生成機構である、請 求項1の装置。
  10. 10.通信加算器ツリーがlog2N個の2/1通信加算器段を含む、請求項1 の装置。
  11. 11.通信加算器ツリーの各段が、2/1加算器からなる2/1通信加算器と、 加算から得られた方向とは逆方向に値を通信するための加算器バイパス経路と、 加算機能と逆通信経路の間で切り替えるための手段とを含む、請求項10の装置 。
  12. 12.各通信加算器ツリーがそれぞれ追加の加算段に接続され、外部入力値が通 信加算器ツリーの出力と加算され、前記の追加加算段が結果をニューロン活動化 関数ユニットに提供する、請求項1の装置。
  13. 13.接続されたホスト・コンピュータ及びN個の通信加算器ツリーとインター フェースするプログラマブル・プロセッサ制御装置が、 ・通信加算器ツリーの制御 ・シナプス・プロセッサの初期設定 ・シナプス・プロセッサ命令の発行 ・アルゴリズムによるデータ計算 ・シナプス・プロセッサ・データの発行・ニューラル・ネットワーク・エミュレ ーションの開始多層ネットワークのシーケンス制御 ・ニューラル・ネットワーク・エミュレーションの停止−所望の結果への収束テ ストによる停止−ホストが指定した回数のエミュレーション・サイクルの完了に よる停止 の諸機能を提供する、請求項1の装置。
  14. 14.重みアレイ、Y値アレイ、Y(1−Y)アレイ、教師アレイ、及びトレー ス・アレイを含む、請求項13の制御装置プログラマブル・プロセッサ。
  15. 15.N2個のシナプス処理ユニットと、N個の通信加算器ツリーと、Nニュー ロン構造用のN個のニューロン活動化関数ユニットとがある、請求項1の装置。
  16. 16.各通信加算器ツリーがそれぞれそのツリーのリーフ・ノードにあるN個の シナプス処理ユニットと、ツリーのルートに接続された1つのニューロン活動化 関数ユニットとに接続されて結果をプログラマブル・プロセッサ制御装置に提供 し、Nニューロン構造を構成する、前記の通信加算器ツリーと、シナプス処理ユ ニットと、ニューロン活動化関数ユニットとが、 ・重み及びデータ値を各シナプス処理ユニットに入力する手段と、 ・タグ付けされた命令、データ、及びニューロン出力値(Y値と呼ぶ)を入力シ ナプス処理ユニットに戻し通信する手段と、 ・各シナプス処理ユニット内で命令、データ、及びY値の宛先を制御する手段と 、 ・各シナプス処理ユニット内で受け取った命令を実行する手段と、 ・自動モードで次の操作で使用されるデータを受け取ったとき、前に受け取った 命令を実行する手段と、結果を局所的に各シナプス処理ユニットに留まらせ、あ るいは付加された通信加算器ツリーに送らせる、オペランド選択及び宛先経路制 御手段と、 ・シナプス処理ユニットから受け取った値を加算する手段と、・外部入力値を各 ニューロン活動化関数ユニットに入力する手段と、 ・新しい命令、データ、及びニューロン活動化関数ユニットY値を生成する手段 と を有する、請求項15の装置。
  17. 17.重み及びデータ値を各シナプス処理ユニットに入力する手段が、各シナプ ス処理ユニット内の各重み及びデータ値記憶ユニットにアクセス可能なプログラ マブル・プロセッサ制御装置の形のホスト・インターフェース制御機構を含む、 請求項16の装置。
  18. 18.タグ付けされた命令、データ及びニューロン出力値(Y値と呼ぶ)を入力 シナプス処理ユニットに逆通信する手段が、通信モードで動作する通信加算器ツ リーと、各シナプス処理ユニット内のタグ突合せユニットによるものであり、タ グが同報通信ビット及びタグ・アドレス・フィールドを含む、請求項16の装置 。
  19. 19.各シナプス処理ユニット内で命令、データ、及びY値の宛先を制御する手 段が、命令については、一般セル中では命令復号機構と、コマンド経路ビットと 、分配論理回路とにより、対角線セル中では命令復号機構と、R4→R3、R5 →R2、R6→R1、CR2→CR1のマッピングを行うレジスタ・マッピング 論理回路と、分配論理回路とにより、Y値を含めたデータについては、対角線セ ル中でも一般セル中でも、データ復号機構と、データ経路記憶ユニットとによる ものである、請求項16の装置。
  20. 20.YINMODEと呼ばれる一般セルの1つの動作モードでは、上端通信加 算器ツリーから受け取った命令が上端シナプス処理ユニットの命令記憶ユニット に送られ、下端通信加算器ツリーから受け取った命令が下端シナプス処理ユニッ トの命令記憶ユニットに送られ、上端通信加算器ツリーから受け取ったデータが 上端シナプス処理ユニットの指定されたデータ記憶ユニットに送られ、下端通信 加算器ツリーから受け取ったデータが下端シナプス処理ユニットの指定されたデ ータ記憶ユニットに送られるように、データ経路記憶ユニット及びコマンド経路 ビットがセットアップされる、請求項19の装置。
  21. 21.YOUTMODEと呼ばれる一般セルの第2の動作モードでは、上端通信 加算器ツリーから受け取った命令が下端シナプス処理ユニットの命令記憶ユニッ トに送られ、下端通信加算器ツリーから受け取った命令が上端シナプス処理ユニ ットの命令記憶ユニットに送られ、上端通信加算器ツリーから受け取ったデータ が下端シナプス処理ユニットの指定されたデータ記憶ユニットに送られ、下端通 信加算器ツリーから受け取ったデータが上端シナプス処理ユニットの指定された データ記憶ユニットに送られるように、データ経路記憶ユニット及びコマンド経 路ビットがセットアップされる、請求項19の装置。
  22. 22.各シナプス処理ユニット内で受け取った命令を実行する手段が、自動動作 モード、ソース・オペランド、結果の宛先、及び即値データの指定を含む、NO P、PATH、算術命令、及び論理命令に応答するプログラマブル実行ユニット を介するものである、請求項16の装置。
  23. 23.自動モードで次の操作で使用されるデータを受け取ったとき、前に受け取 った命令を実行する手段が、自動モードを設定する能力をもつ命令を受け取り、 かつ争奪が起こらないようにプログラマブルなプロセッサ制御装置内のタイムア ウト機構によって制御される、十分なタイミング遅延の後にだけ送られる有効デ ータを受け取ることによってセットされる、自動モード・フラグによるものであ る、請求項16の装置。
  24. 24.結果を各シナプス処理ユニット内で局所に留まらせ、または付加された通 信加算器ツリーに送らせるオペランド選択及び宛先経路制御手段が、命令復号機 構及び分配論理回路によるものであり、シナプス処理ユニット内で局所に留まる 結果に対しては、接続されたプログラマブル・プロセッサ制御装置に操作完了指 示が与えられない、請求項16の装置。
  25. 25.シナプス処理ユニットから受け取った値を加算する手段が、関数実行モー ドで活動する、付加された通信加算器ツリーを介するものである、請求項16の 装置。
  26. 26.外部入力値を各ニューロン活動化関数ユニットに入力する手段が、外部か ら通信加算器ツリーの出力側にある最終加算段に印加された入力を介するもので ある、請求項16の装置。
  27. 27.新しい命令、データ、及びニューロン活動化関数ユニットY値を生成する 手段が、ニューロン活動化関数ユニットと、接続されたホスト・コンピュータ及 びN個の通信加算器ツリーにインターフニースするプログラマブル・プロセッサ 制御装置とによるものである、請求項16の装置。
  28. 28.構造に対する危険を避けるために、タイムアウト状態機械制御機構が命令 及びデータ発行機構上で使用される、請求項27のプログラマブル・プロセッサ 制御装置。
  29. 29.データがビット直列形式であり、データに関して、ビットを対角線セルま たは一般セルで受け取る順序が、最初に同報通信ビット、次にタグ・フィールド 、次に誤差処理ビット、続いて非活動状態にセットされるとデータを指示するコ マンド・ビット、予備ビット、データ・フィールド、最後に誤差処理ビットであ る、請求項16の装置。
  30. 30.命令がビット直列形式であり、命令に関して、ビットを対角線セルまたは 一般セルで受け取る順序が、最初に同報通信ビット、次にタグ・フィールド、次 に誤差処理ビット、続いて活動状態にセットされると命令を指示するコマンド・ ビット、自動ビット、命令のタイプを指示するコマンド・フィールド、第1オペ ランドを指示するソース1フィールド、第2オペランドを指示するソース2フィ ールド、結果の宛先を指示する宛先フィールド、即値データ・フィールド、最後 に誤差処理ビットである、請求項16の装置。
  31. 31.完全に接続されたNニューラル・ネットワークをエミュレートするために 、 a)N個の通信加算器ツリーを通信モードに置くステップと、b)初期重み、Y 値、一般セルのデータ経路、及びYOUTMODEにセットされたコマンド経路 ビットを構造にロードするステップと、 c)N個の通信加算器ツリーに乗算命令を発行するステップと、 d)シナプス処理ユニットの命令記憶ユニット内で乗算命令を受け取るステップ と、 e)N個の通信加算器ツリーを機能モードに置くステップと、f)ニューロンY j値と重みWij値を乗算するステップと、g)付加された通信加算器ツリーに Y値×重みの積を送るステップと、 h)機能モードの通信加算器ツリー上で送られてきた積値を加算するステップと 、 i)外部入力値を印加し、それを通信加算器ツリーから送られてきた積値の求和 に加算するステップと、j)ニューロン活動化関数ユニットからNニューロンY 値を生成するステップと、 k)通信加算器ツリーを通信モードに置くステップと、1)N個の通信加算器ツ リーにNニューロンY値を発行し、それによって1つのニューラル・ネットワー ク更新サイクルを完了するステップと を順次実行するための手段が設けられている、請求項16の装置。
  32. 32.第1層が外部入力をもつ2個のニューロンを含み、第2層が1個のニュー ロンを含み、第3層が4個のニューロンを含み、第4層が4個のニューロンを含 み、レジスタが記憶ユニットとして使用される、4層から構成されるN(=11 )ニューロン構造からなる多層ニューラル・ネットワーク上で、入出力エンコー ダ問題のために、後方伝播学習をエミュレートするための順次実行手段が設けら れ、レジスタが記憶ユニットとして使用され、MPYが乗算命令を示すときこの 構造及び制御機構がプロセスをイネーブルし、ADDTREEの宛先が結果を付 加された通信加算器ツリーに送る(プログラマブル・プロセッサ制御装置を学習 プロセッサと呼び、このNニューロン構造をGPLMで示す)、請求項16の装 置であって、 a)重みレジスタCEBビット・セットが“1”にセットされた重み値の初期セ ットを走査入力することによってGPLMが初期設定され、その他の重み値及び すべてのY値レジスタが0値で走査入力され、 b)初期設定後、GPLMが実行モードに置かれ、入力パターンEX1及びEX 2が印加され、 c)ニューロン1、2、・・・、11がMPYAR1*R2→ADDTREEを 発行し(ADDツリーは加算のために指定されている)、 d)ニューロンの第1層がGPLM構造上で実行されて、第1層ニューロン出力 及びその導関数を生成し、第1層ニューロン出力がGPLMにフィードバックさ れ、ニューロンの第2層が実行されて第2層ニューロン出力及びその導関数を生 成し、 e)すべての層が実行され、ネットワーク出力及びその導関数が得られるまで、 このプロセスを繰り返し、f)11個のニューロンの値及びその導関数がすべて 計算されてY値及びY導関数アレイに入れられた後、GPLMが学習モードに置 かれ、 g)Yiが最小指定誤差に収束するかどうか学習プロセッサが検査し、到達しな い場合は、パターンpに関する学習プロセスが停止できるが、収束に達成しない 場合は、パターンpに関する学習を続行し、 h)学習プロセッサが、出力ニューロンと前の層内のニューロンの間の結合重み を更新する際に使用される、出力ニューロンに関するδ■iを計算し、 i)ニューロン1、2、・・・、11がPATHR4を発行することによってデ ータ経路が変更され、誤差信号が当該の各乗算器入力セル一時レジスタに逆通信 され、j)誤差信号と適当な重みを乗算するためのMPY命令を発行するように システム装置が制御され、これらの積が加算されて次層後方伝播重み修正プロセ スで使用される誤差和ERpiを生成し、 k)ニューロン8、9、10、11がMPYR6*R3→ADDTREEを発行 し、 1)層Lより前の次層(が存在する場合にその)内で使用される層L内の誤差信 号が計算され、ニューロン3がPATHCR1を介してYINMODEに置かれ 、その結果ニューロン3に対して乗算コマンドが発行され、最後にニューロン3 がPATHCR2を介してYOUTMODEに置かれて、GPLM構造内の他の ニューロンと一貫性をもつようになり、m)ニューロン3がMPYR6*R3→ ADDTREEを発行し、 n)層2に対する誤差信号(E3)が計算され、構造内で逆通信され、 o)ニューロンのΔWijが計算され、次いでp)ステップ1として、ニューロ ン1、2、・・・、11がMPYR5*R3→R4を発行し、 q)ステップ2として、ニューロン1、2、・・・、11がMPYR4*IMD →R4を発行し(IMDは学習速度ρを含む)、 r)ステップ3として、ニューロン1、2、・・・、11がADDR6+R4→ R6を発行し、新しい重み値が計算され、 s)次の学習サイクルPATHR2の準備として新しい経路コマンドが送られ、 その結果新しいY値が適切なレジスタに送られ、 t)GPLMが実行モードに置かれ、調整された重みによって出力パターンが最 小指定誤差で教育パターンに一致するようになるまで、既存パターンpが再び印 加され、最小指定誤差に収束した後、新しいパターンが印加され、すべての教育 パターンが印加されるまでこのプロセスが繰り返されるという、装置。
  33. 33.3層のニューロンから構成される、入出力エンコーダ問題のボルッマン様 機械をエミュレートするための順次実行手段が設けられ、レジスタが記憶ユニッ トとして使用され、MPYが乗算命令を示すときこのシステム装置用の構造及び 制御機構がプロセスをイネーブルし、ADDTREEの宛先が結果を付加された 通信加算器ツリーに送る(プログラマブル・プロセス制御装置を学習プロセッサ と呼び、Nニューロン構造をGPLMで示す)、請求項16の装置であって、シ ーケンスが a)入出力ユニットを1つの入出力エンコーダ・パターンに「クランプ(固定) 」することによってネットワーク更新サイクルを開始するステップと、 b)入出力ユニットがクランプされているとき、更新のために隠れユニット・ニ ューロンをランダムに選択するステップと、 c)選択された第iニューロンの「オン」状態確率(OSP)を決定するステッ プと、 d)学習プロセッサが選択されたニューロンの活動化値Yを決定するステップと 、 f)新しく更新されたY値をネットワーク内で逆通信するステップと、 g)学習プロセッサが、結合されたニューロンについて、結合されたユニットが どれだけ頻繁に同時に「オン」であったかを示す値を記録して、統計的に有意な ニューロン活動度を得るのに十分なサイクルが走行され、アニーリング・スケジ ュールによりパラメータTを変えることによってネットワークが「平衡」に達す るまで、ニューロン選択及び更新プロセスを続行するステップと、 h)実行すべきパターンが他にもまだある場合、次の入出力エンコーダ・パター ンを選択し、それをネットワーク上でクランプし、上記で定義されるようにネッ トワークをステップ2から走行させ、ネットワークで走行されるすべてのパター ンについて統計をとり続けるステップと、i)すべてのパターンを走行させた後 、1対の結合されたニューロンがともに「オン」であった確率を表す統計を記録 し、その結果学習プロセッサが「クランプ」された統計のアレイを保持するステ ップと、 j)ネットワークを「クランプせず」、すべてのニューロン値を「オン」または 「オフ」となる確率が等しくなるようにランダムにし、ネットワークがアニーリ ング・スケジュールに従って「平衡」に達することができるようにするステップ と、 k)次いで「クランプ」操作モードで実行されたのと同数のアニーリングの間「 オン」ユニットの対の統計を記録して、学習プロセッサが「非クランプ」統計の アレイを保持するステップと、 1)得られた統計値を使用して、レジスタにPij及び−p′ijをロードし、 次に記憶された値を加算し、続いて即値データとして記憶された学習速度ρを乗 算することによって、重みの変化ΔWij=ρ(Pij−p′ij)を計算する ステップと、 m)旧重み値にΔWijを加算し、結果を旧重みの代わりに記憶することによっ て、新重みを計算するステップとを含む、装置。
  34. 34.1つはWマトリックスと呼ばれ、もう1つはYマトリックスと呼ばれる2 つのN×Nマトリックスのマトリックス乗算を順次実行するための手段が設けら れており、この乗算によってzマトリックスと呼ばれる第3のN×Nマトリック スが生成され、レジスタが記憶ユニットとして使用され、MPYが乗算命令を示 すときプロセスをイネーブルし、ADDTREEの宛先が結果を付加された通信 加算器ツリーに送る(プログラマブル・プロセッサ制御装置を学習プロセスと呼 び、Nニューロン構造をGPLMで示す)、請求項16の装置であって、処理ス テップが、 a)Wマトリックスをロードする(1ニューロンごとにN個のW値があると仮定 して値を走査する)ステップと、b)Y値を逆通信することによって最初のY行 をロードするステップと、 c)MPYAR1*R2→ADD TREEを発行する(ADDツリーは加算プ ロセスのために初期設定されている)ステップと、 d)結果のzマトリックスの第1行を計算する、すなわちYレジスタとWレジス タを乗算し、続いて加算ツリーを棄算するステップと、 e)N個のz値を学習プロセッサに記憶するステップと、f)第2のY行を逆通 信するステップと、g)新しいY値を受け取ったとき、結果zマトリックスの第 2行を計算する、すなわちYレジスタとWレジスタを乗算し、続いて、加算器ツ リーを乗算するステップと、h〕N個のz値を学習プロセッサに記憶するステッ プと、i)最後まで行計算を続行するステップと、j)N番目のY行を逆通信す るステップと、k)新しいY値を受け取ったとき、結果zマトリックスの第N行 を計算する、すなわちYレジスタとWレジスタを乗算し、続いて、加算器ツリー を乗算するステップと1)結果zマトリックスの最終行を学習プロセッサに記憶 するステップと を含む、装置。
  35. 35.1つはWマトリックスと呼ばれ、もう1つはYマトリックスと呼ばれる2 つのN×Nマトリックスのマトリックス加算を順次実行するための手段が設けら れており、この乗算によってzマトリックスと呼ばれる第3のN×Nマトリック スが生成されて一時記憶ユニット内のシナプス・プロセッサに内部記憶され、レ ジスタが記憶ユニットとして使用され、YマトリックスとWマトリックスの両方 がGPLM構造(Nニューロン構造をGPLMで示す)にロードされ、かつ前記 の構造内にN2個の固有なYおよびW(重み)レジスタがあると仮定して、シス テムがYおよびWレジスタ上で局所加算を実行するようにイネーブルされ、この 加算が前記構造内で実行され、その結果がシナプス処理ユニットの一時レジスタ に送られ、加算完了後元のYおよびWマトリックスが前記構造内にそのまま残り 、一時レジスタが加算結果マトリックスを格納し、このマトリックスが走査出力 し、あるいはシナプス処理セルから個別に読み出し、あるいは以後の操作のため に使用することができる、請求項16の装置。
  36. 36.1つはWマトリックスと呼ばれ、もう1つはYマトリックスと呼ばれる2 つのN×Nマトリックスのマトリックスブール演算を順次実行するための手段が 設けられており、このブール演算によってzマトリックスと呼ばれる第3のN× Nマトリックスが生成されて一時記憶ユニット内のシナプス・プロセッサに内部 記憶され、レジスタが記憶ユニットとして使用され、YマトリックスとWマトリ ックスの両方がGPLM構造(Nニューロン構造をGPLMで示す)にロードさ れ、かつ前記の構造内にN2個の固有なYおよびW(重み)レジスタがあると仮 定して、前記のYおよびWレジスタ上での局所ブール演算が前記の構造内で実行 され、その結果がシナプス処理ユニットの一時レジスタに送られ、ブール演算完 了後元のYおよびWマトリックスが前記構造内にそのまま残り、一時レジスタが ブール演算結果マトリックスを格納し、このマトリックスが走査出力し、あるい はシナプス処理セルから個別に読み出し、あるいは以後の操作のために使用する ことができる、請求項16の装置。
JP3510421A 1990-05-22 1991-05-17 学習機械シナプス・プロセッサ・システム装置 Expired - Fee Related JP2746350B2 (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
JPH04507026A true JPH04507026A (ja) 1992-12-03
JP2746350B2 JP2746350B2 (ja) 1998-05-06

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―ピラミッド型学習ア―キテクチャ・ニュ―ロコンピュ―タ
JP3510421A Expired - Fee Related JP2746350B2 (ja) 1990-05-22 1991-05-17 学習機械シナプス・プロセッサ・システム装置
JP3509437A Expired - Fee Related JP2663995B2 (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
JP3509437A Expired - Fee Related JP2663995B2 (ja) 1990-05-22 1991-05-17 スケーラブル・フロー仮想学習ニューロコンピュータ

Country Status (4)

Country Link
US (3) US5509106A (ja)
EP (4) EP0486635A1 (ja)
JP (4) JP2663996B2 (ja)
WO (4) WO1991018351A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
JP2020009265A (ja) * 2018-07-10 2020-01-16 株式会社東芝 演算装置

Families Citing this family (34)

* 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
DE69815390T2 (de) * 1997-12-19 2004-05-13 Bae Systems Plc, Farnborough Neuronale netzwerke
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
CN104899640B (zh) * 2014-07-21 2019-09-10 徐志强 神经网络的模拟装置及方法
US9747546B2 (en) 2015-05-21 2017-08-29 Google Inc. Neural network processor
CN105512724B (zh) * 2015-12-01 2017-05-10 中国科学院计算技术研究所 加法器装置、数据累加方法及数据处理装置
WO2017200883A1 (en) * 2016-05-17 2017-11-23 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
KR102459854B1 (ko) * 2016-05-26 2022-10-27 삼성전자주식회사 심층 신경망용 가속기
CN111310893B (zh) * 2016-08-05 2023-11-21 中科寒武纪科技股份有限公司 一种用于执行神经网络运算的装置及方法
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
US11551064B2 (en) 2018-02-08 2023-01-10 Western Digital Technologies, Inc. Systolic neural network engine capable of forward propagation
US10796198B2 (en) 2018-02-08 2020-10-06 Western Digital Technologies, Inc. Adjusting enhancement coefficients for neural network engine
US10853034B2 (en) 2018-03-30 2020-12-01 Intel Corporation Common factor mass multiplication circuitry
EP4009183A1 (en) * 2018-10-18 2022-06-08 Shanghai Cambricon Information Technology Co., Ltd Network-on-chip data processing method and device
CN113569797B (zh) * 2018-11-16 2024-05-21 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
US11270763B2 (en) 2019-01-18 2022-03-08 Silicon Storage Technology, Inc. Neural network classifier using array of three-gate non-volatile memory cells
US11500442B2 (en) 2019-01-18 2022-11-15 Silicon Storage Technology, Inc. System for converting neuron current into neuron current-based time pulses in 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
US11270771B2 (en) 2019-01-29 2022-03-08 Silicon Storage Technology, Inc. Neural network classifier using array of stacked gate non-volatile memory cells
US11783176B2 (en) 2019-03-25 2023-10-10 Western Digital Technologies, Inc. Enhanced storage device memory architecture for machine learning
US10929058B2 (en) 2019-03-25 2021-02-23 Western Digital Technologies, Inc. Enhanced memory device 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 半導体神経回路網
JP2517410B2 (ja) * 1989-05-15 1996-07-24 三菱電機株式会社 学習機能付集積回路装置
US5148514A (en) * 1989-05-15 1992-09-15 Mitsubishi Denki Kabushiki Kaisha Neural network integrated circuit device having self-organizing function
US5243688A (en) * 1990-05-22 1993-09-07 International Business Machines Corporation Virtual neurocomputer architectures for neural networks
US5148515A (en) * 1990-05-22 1992-09-15 International Business Machines Corp. Scalable neural array processor and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COGNITIVE SCIENCE=1985 *
PARALLEL DISTRIBUTED PROCESSING=1986 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020009265A (ja) * 2018-07-10 2020-01-16 株式会社東芝 演算装置
US11163534B2 (en) 2018-07-10 2021-11-02 Kabushiki Kaisha Toshiba Arithmetic device
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH04507026A (ja) 学習機械シナプス・プロセッサ・システム装置
US5483620A (en) Learning machine synapse processor system apparatus
US5613044A (en) Learning machine synapse processor system apparatus
US5784632A (en) Parallel diagonal-fold array processor
US5329611A (en) Scalable flow virtual learning neurocomputer
US5604840A (en) Information processing apparatus
JPH03251947A (ja) ニューロチップおよびそのチップを用いたニューロコンピュータ
JPH02193251A (ja) エラー後方伝ぱん法と神経網システム
Hwang et al. A systolic neural network architecture for hidden Markov models
US5243688A (en) Virtual neurocomputer architectures for neural networks
Kung et al. Digital VLSI architectures for neural networks
JP2001117900A (ja) ニューラルネットワーク演算装置
Shams et al. Implementing regularly structured neural networks on the DREAM machine
Viredaz et al. MANTRA I: A systolic neuro-computer
JPH02266458A (ja) ニューラルネットワークシミュレーション装置
Morishita et al. Neural Network Multiprocessors Applied with Dynamically Reconfigurable Pipeline Architecture
JPH05197707A (ja) 情報処理システム
Margaritis On the systolic implementation of associative memory artificial neural networks
Yáñez et al. Backpropagation multilayer perceptron: A modular implementation
JPH05197702A (ja) 神経回路網シミュレータ装置
Sheu et al. Neural-based analog trainable vector quantizer and digital systolic processors
JPH07101415B2 (ja) 情報処理装置及びその学習方法
JP2766858B2 (ja) ニューラルネットワーク並列シミュレーション方法及びそれに用いる装置
Duranton et al. Hardware Accelerators for Neural Networks: Simulations in Parallel Machines
Misra et al. Implementation of Sparse Neural Networks on Fixed Size Arrays

Legal Events

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