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

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

Info

Publication number
JPH05500429A
JPH05500429A JP3509437A JP50943791A JPH05500429A JP H05500429 A JPH05500429 A JP H05500429A JP 3509437 A JP3509437 A JP 3509437A JP 50943791 A JP50943791 A JP 50943791A JP H05500429 A JPH05500429 A JP H05500429A
Authority
JP
Japan
Prior art keywords
data
synaptic
value
group
neuron
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
JP3509437A
Other languages
English (en)
Other versions
JP2663995B2 (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 JPH05500429A publication Critical patent/JPH05500429A/ja
Application granted granted Critical
Publication of JP2663995B2 publication Critical patent/JP2663995B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks

Abstract

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

Description

【発明の詳細な説明】 スケーラプル・フロー仮想学習ニューロコンピュータ[技術分野] 本発明は、スケーラプル・フロー仮想学習ニューロコンピュータ・システム及び 装置に関し、具体的には、新しいグループ区分アルゴリズムを使用するスケーラ プル混成制御フロー/データ・フロー仮想学習ニューロコンピュータ、及び仮想 学習のための後方伝播能力を有する、スケーラプル仮想学習アーキテクチャ、シ ナプス・プロセッサ・アーキテクチャ(SPA)マツピング、内部正方形折畳み 、及びアレイ分離に関する。 [関連出願に対する相互参照コ 本出願は優先権を主張し、以下の関連同時係属特許出願の一部継続出願である。 1990年5月228出願の”APPARATUS AND METHOD F ORNEURAL PROCESSOR”と題するS、ヴアッシリアディス(V assiliadis)及びG、G、ペチャネク(Pechanek)の米国特 許出願第077526866号(IBMドケット番号EN9−90−045)( ”5NAP”ト呼ぶコトがある)。 1991年4月8日出願の”A TRIANGULARSC:ALAIJLEN EURAL 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−Fri as)の米国特許出願第07/681842号(IBMドケット番号EN9−9 1−026)(”5PIN”と呼ぶことがある)。 さらに、以下の関連出願が同時に出願されている。 1991年5月17日出願の”A LEARNING MACHINESYNA PSE PROCESSORSYSTEM APPARATUS ’と題するG 、G、ペチャネク、J、G、デルガードエフリアス及びS、ヴアッシリアディス の米国特許出願第07/702261号(I BMドケット番号EN9−91− 051)(”LM″または”PechanekLM91”と呼ぶことがある)。 1991年5月17日出願の”VIRTUAL NEUROCOMPUTERA RCHITEC:TURES FORNEURAL NETWORKS”と題す るG、 G、ペチャネク、J、G、デルガードエフリアス及びS、ヴアッシリア ディスの米国特許出願筒07/702260号(IBMドケット番号EN9−9 1−053)(”VIRTUAL”または”Pechanek V I RT  U A L 91″と呼ぶことがある)。 1991年5月170出願の”PLAN:PYRAMID LEARNINGA RCHITECTURE NEUROCOMPUTER”と題するG、 G、ペ チャネク、S、ヴアッシリアディス及びJ、 G、デルガードエフリアスの米国 特許出願第07/702263号(IBMドケット番号EN9−91−055)  (”PLAN”と呼ぶことがある)。 これらの同時係属出願及び本出願は同じ譲受人、すなわち、米国ニューヨーク州 アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションに よって所有されている。 これらの同時係属出願に記載の記述を、この引用によって本明細書に合体する。 [発明の検討で使用する参照文献コ 本発明者等の諸発明の詳細な検討では、従来技術ではないが議論を理解する助け となる本発明者等自身の未発表研究を含む他の研究を引用する。このような追加 の文献には以下のものがある。 D、 E、ルーメルハルト(Rumelhart) 、J、L、マツフレランド (McClelland)及びPDPリサーチ・グループ(the PDPRe search Group)の著書″Parallel Distribute dProcessing Vol、1: Foundations”、米国マサ チュセッッ州ケンブリッジ、MIT Press、 1986年刊(以下では”  Rume l hart86″と呼ぶ)。 J、J、ホップフィールド(Hopf 1eld)の論文”NeuronsWi th Graded Re5ponse Have Co11ective C omputationalProperties Like Those of  Two−3tate Neurons”。 Proceedings of the National Academy  of 5ciences 81. pp。 3088−3092.1984年5月(以下では”Hopfield 84”と 呼ぶ)。 1991年5月17出願の”A LEARNING MACHINE 5YNA PSEPROCESSORSYSTEM APPARATUS″と題するG、G 、ペチャネク、J、G、デルガードエフリアス及びS、ヴアッシリアディスの米 国特許出願第07/702261号(IBMドケット番号EN9−91−051 )(”LM”または”Pechanek LM 91”と呼ぶことがある)。 1991年5月17 日出IJt(7)”VIRTUAL NEUROCOMP UTERARCHITECTURES FORNEURAL NETWORKS ”と題するG、G、ヘチャネク、J、 G、デルガードエフリアス及びS、ヴア ッシリアディスの米国特許出願第07/702260号(IBMドケット番号E N9−91−053)(”VIRTUAL″または”Pechanek V I  RT U A L 91″と呼ぶことがある)。 H,Hellermanの著書”Digital Computer Syst emPrinciples”、 McGraw−Hill Book Comp any、 pp、346−348゜(以後”Hellerman 67”と呼ぶ 。)[背景技術] 仮想学習とは、外部メモリに記憶された仮想結合重み及び仮想ニューラル状態値 を修正できる能力を意味する。この機能は、同時係属の諸特詐出願で開発された その他の機能の完全なスケーラビリティを要求する環境にとって望ましいもので ある。この機能及びそれを達成するための装置はまだ開発されていない。 [発明の要約] 本発明者等は、スケーラプル仮想学習機械(SVLM)と呼ばれる仮想学習ニュ ーロコンピュータ装置を提供した。これは完全に結合されたスケーラプルなアー キテクチャにおいて高性能直接エミュレーション及び仮想学習能力を提供するも のである。本発明者等のSVLMは、本装置が接続できる外部メモリに記憶され た仮想結合重み及び仮想ニューラル状態値を修正できる能力を提供する。本発明 者等の諸発明によれば、本発明者等は、シナプス処理ユニットのグループに区分 されたNニューロン構造を有するスケーラプル・グループ区分仮想ニューラル・ シナプス・プロセッサ・アーキテクチャ装置を提供した。各グループは、命令及 びデータ記憶ユニットを含み、命令及びデータを受け取り、命令を実行し、7個 のニューロンに対する重み及びニューロン出力値用の外部データ記憶装置とイン ターフェースする、複数のシナプス処理ユニットを有する。ただし、V)N、か つVはグループ区分Nニューロン構造上でエミュレートされるニューラル・ネッ トワーク内のニューロンの数である。これらのグループは、グループ命令を実行 し、通信加算器ツリーを有する。Nニューロン構造は、好ましくはシグモイド生 成機構の形のニューロン活動化関数ユニットを有し、この構造は、7個のニュー ロンをサポートするNニューロン構造にこれらのグループを相互接続することが でき、通信加算器ツリーを介して命令とデータ、及びニューロン活動化関数ユニ ットの出力を入力シナプス処理ユニットに通信に戻すことができる。 スケーラプル・フロー仮想学習ニューロコンピュータ・システム装置は、スケー ラプル混成制御フロー/データ・フローを有し、スケーラプル仮想学習アーキテ クチャ用のグループ区分アルゴリズムを使用する。本発明者等は、仮想学習のた めの後方伝播能力を有するシナプス・プロセッサ・アーキテクチャ・マツピング 、内部正方形折畳み、及びアレイ分離を提供する。 グループ区分アルゴリズムは、それ自体の外部メモリを含むシナプス・プロセッ サの共通構成単位を作成する。これらのプロセッサ・グループは、完全な結合度 を維持する高性能の汎用仮想学習機械を作成するために使用される。シナプス・ プロセッサ・グループによって、システムは仮想サイズでスケーラプルになり、 直接実行能力が提供される。プロセッサ・グループ内部で、シナプス・プロセッ サは、外部メモリ・アクセスが可能で同期の問題が軽減された混成制御フロー/ データ・フロー・アーキテクチャとして設計される。 開発されている、ニューラル・ネットワークをサポートする一般のコンピュータ ・アーキテクチャは、「シナプス」プロセッサのアレイを折り畳み分離して、ニ ューロコンピュータ実施の共通構成単位であるプロセッサのクラスタまたはプロ セッサ・グループを作成する方法を利用するものである。 これらのプロセッサ・グループからなるニューロコンピュータは、完全に結合さ れたNニューロン・ネットワーク・モデルを直接実行し、N個より多いニューロ ンを含むネットワーク・モデルに対しては仮想実行モードをサポートする。グル ープ内の各プロセッサのシナプス・プロセッサ・アーキテクチャ(SPA)は、 グループ区分アルゴリズムから得られる直接エミュレーション・スケーラビリテ ィをサポートし、外部メモリの使用によって仮想シナプス・スケーラビリティを サポートする。この独特なSPAの特徴の1つは、順次命令実行による制御フロ ー操作と、実行が有効タグ付きデータ・フローの受取りに依存するデータ・フロ ー操作の両方が可能なことである。このアーキテクチャのもう1つの独特の特徴 は、実施態様で複数のプロセッサ・グループが利用されるとしてもニューラル・ ネットワーク・モデルにおける完全な結合度をサポートする、プロセッサ・グル ープにインターフェースする方法である。このニューロコンピュータの他の独特 の特徴は、シナプス・プロセッサにとって局所的な動作完了のグループ通知、及 び学習アルゴリズムのサポートである。 前記及びその他の改良は、以下の詳細な説明に記載されている。これらの発明な らびにその利点と特徴をよく理解するには、本発明者等がこの分野で行った他の 開発に関する同時係属の特許出願を参照しなければならないこともあろう。しか し、特に本明細書に記載する改良、利点及び特徴に関しては、添付の図面に沿っ た説明で参照を行う。 [図面の簡単な説明コ 第1図は、16個の仮想ニューロン重み(256重み)をサポートする4ニユー ロン構造の概略図である。 第2図は、8ニユーロン・アレイ・モデルの概略図である。 第3図は、1個の正方形プロセッサ・アレイと2個のより小さい三角形プロセッ サ・アレイに分割された8ニユーロン・アレイ・モデルの概略図である。 第4図は、8ニユーロン・アレイ・モデルの折り畳まれた内部正方形の概略図で ある。 第5図は、2個の三角形アレイに分離された折り畳まれた内部正方形の概略図で ある。 第6図は、好ましい外部水和、シグモイド生成機構、及び逆通信経路の概略図で ある。 第7図は、ニューロンY値を伴う16ニユーロン・アレイ・モデル重みマトリッ クスを示す図である。 第8図は、三角形アレイ1及び2を示す図である。 第9図は、三角形アレイ3及び4を示す図である。 第10図は、2個の三角形アレイに分離された、折り畳まれた内部正方形5を示 す図である。 第11図は、2個の三角形アレイに分離された、折り畳まれた内部正方形6を示 す図である。 第12図は、2個の三角形アレイに分離された、折り畳まれた内部正方形7を示 す図である。 第13図は、2個の三角形アレイに分離された、折り畳まれた内部正方形8を示 す図である。 第14図は、2個の三角形アレイに分離された、折り畳まれた内部正方形9を示 す図である。 第15図は、2個の三角形アレイに分離された、折り畳まれた内部正方形1oを 示す図である。 第16図は、逆通信経路を伴う好ましい外部水和、シグモイド生成機構の概略図 である。 第17図は、切替え機構の概略図である。 第18図は、学習をサポートするための修正された8ニューロン切替え機構の概 略図である。 第19図は、学習をサポートするための修正された16ニユーロン切替え機構の 概略図である。 第20図は、学習をサポートするための修正された16ニユーロン切替え機構の 別の部分の概略図である。 第21図は、■及びNと記憶及び動作サイクルの関係を示す表である。 第22図は、■=16、N=4、G = 4 ノ4 ニー :x −0ン・スケ ーラプル仮想学習機械の概略図である。 第23図は、外部メモリ構造の概略図である。 第24図は、1プロセツサ要素につき1個の重み、1個のY値ビット、1プロセ ツサ・グループにつき1で個の重み要素を有する、■=16、N=4、H=16 のスケーラプル仮想学習機械の外部メモリ構造の概略図である。 第25図は、外部メモリ、対角線シナプス・プロセッサ(DSYP) 、及び一 般シナプス・プロセッサ(GSYP)を有するシナプス・プロセッサ・アーキテ クチャの概略図である。 第26図は、16ニユーロン・ニューラル・ネットワークに関する4ニユ一ロン SVLMタイミングを示す図である。 第27図は、詳細なタイミングを示すために拡大したサイクル時間を示す図であ る。 第28図は、各シナプス・プロセッサ・グループ及び外部メモリ・アドレス指定 構造と関連するメモリ・サブシステムの概略図である。 第29図は、ニューロン・プロセッサのタグ付き命令/データ形式を示す図であ る。 第30図は、入出力問題を解(ためのニューラル・ネットワークの概略図である 。 第31図は、■=16、N=4、G = 4 (7) 4 ニー ニー C1’ / ・スケーラプルSVLM上にマツプされた、11ニユ一ロン入出力エンコー ダ問題を示す図である。 第32図は、初期設定の概略図である。 第33図は、第1層実行の概略図である。 第34図は、モードを進めYl’及びY2’ を逆通信するためのセットSOカ ウントを示す図である。 第35図は、第2層実行の概略図である。 第36図は、逆通信Y3’ の概略図である。 第37図は、第3層実行の概略図である。 第38図は、逆通信Y4’ 、Y5’ 、Y6″、及びY7’の概略図である。 第39図は、第4層実行の概略図である。 第40図は、ロードSビット&Iビット、及びS○カウントとIAカウント、R 4へのデータ経路変更、及び逆通信E8、R9、EIO,Ellの学習モードを 示す図である。 第41図は、重み付き誤差和ER4、ER5、ER6、ER7に関する乗算を開 始するためのMPY R6*R3T発行の学習モードを示す図である。 第42図は、重み付き誤差和ER4、ER5、ER6,及びER7作成の学習モ ードを示す図である。 第43図は、ステップ1重み更新MPY R5*R3→R4の学習モードを示す 図である。 第44図は、ステップ2重み更新MPY R4*IMD→R4の学習モードを示 す図である。 第45図は、外部メモリ内での重み更新ADD R6+R4→EXTMEM2の 学習モードを示す図である。 (注:図示の都合上、図は分割することがある。何枚も使用する場合は、慣例に 従って、図の上端を1枚目とし、以下上から順に並べることにする。) この詳細な説明は、例によって提供される本発明者等の諸明の好ましい実施例を 説明する一部分である。 [発明の好ましい実施例コ 本発明者等の好ましい実施例を検討する前に、好ましい実施例を説明する際に使 用するいくつかの共通の特徴を紹介しておくことが有用であろう。 この説明では、数Vは、ニューロコンピュータ上でモデル化されるネットワーク 内に含まれるニューロンの数を表すために使用し、数Nは、物理的実施態様で使 用可能な物理ニューロンの数を意味する。仮想処理ではV)Nである。この説明 で記述するニューロコンピュータ・アーキテクチャによって実施される計算タス クは、式1及び2で与えられる。これらの式は、”Rumelhart 86” の完全並列分散処理モデル及び”Hopfield 84”のホップフィールド ネットワークのサブセットに基づいている。 ・Vはニューラル・ネットワーク内のニューロンの数・重みWの下付き文字W1 .などは、ニューロン3からニューロ ン1への結合の重みを意味する。 ・Yjは結合重みWljで1番目のニューロン入力に結合された5番目のニュー ロン出力の値 ・Ex、は1番目のニューロンへの外部入力・−A≦Ex1≦+A、ただし、E x、がそのニューロンへのただ1つの入力である場合は、−AはY1=0に等し く、+AはY、≦1に等しくなる(士受容可能な範囲の誤差)。 ・F(Zi)はニューロン活動化関数であり、しばしば下記の形のシグモイド活 動化関数に等しく設定される。 上式で、 ・0≦F(z、)≦1 ・Tは所与の1組のZ、値に対するシグモイド関数の勾配を修正するのに使われ る大域制御パラメータ・e=自然対数(2,71828,、、)完全に結合され たVニューロン・ネットワークでは、式1及び2は4つの基本操作を含む。 1.72回の乗算 2、V回の積加算 3、V個の活動化関数 4、VXV回の通信 ニューロコンピュータ実施態様には、克服しなければならない多くの問題があり 、高性能を達成するには高度の並列性が必要である。ニューラル実行の4つの基 本操作との関係で、72個の乗算エンジン、V個の積加算及び活動化機構、及び 遅延時間が最小のvxv個の通信媒体を有することが望ましい。 通常、VはNに比べて大きい。ただし、Nは物理的に実現可能なニューロコンピ ュータを表す。V)Nなので、多数のサイズのニューラル・ネットワークモデル をサポートするために、ニューロコンピュータ内に仮想エミュレーション能力が 望ましい。さらに、ニューロコンピュータ・アーキテクチャではより多くの汎用 実行能力が必要であるので、学習にはいくつかの要件を満たす必要がある。仮想 能力及び直接エミュレーション能力の両方でスケーラプルなアーキテクチャを提 供しながら、完全な結合度ならびに仮想能力及び学習能力と関連した高性能をも たらすことは困難なタスクであった。これらの問題は、スケーラプル仮想学習機 械(SVLM)によって対処される。 本発明者等の他の同時係属出願は、基本的なものであり、多くの状況に適用可能 で必要な問題に解を与える最良の方法を提供するが、特殊な環境で見られるある 種の制限があることが認められる。たとえば、本発明者等の”Pechanek  LM91″の汎用学習機械(GPLM)シナプス・プロセッサ・アーキテクチ ャ (SPA)は、ニューラル・ネットワークモデルの直接実行に適切なシナプ ス処理要素光たり単一の結合重み及びニューロン値だけの記憶容量を有する。こ の直接エミュレーション能力により、VがN以下に制限される。さらに、GPL Mは、自動モードの同期制御のためにタグ付きデータの利用を必要としない、単 純な状態機械制御機構を利用していた(”Pechanek LM 91”参照 )。■が大きくなり、仮想能力が追加されると、状態機械制御は複雑になる。こ のSPAはまた、命令を発行する学習プロセッサに完了通知を提供しない局所処 理命令を含んでいた。学習プロセッサ内の状態機械制御動作は、タイムアウトが 、命令のタイプに応じてシナプス・プロセッサにいつ新しい命令を送れるかを決 定するようなものと仮定された。”Pechanek VIRTUAL 91’ の仮想TSNAPは、シナプス処理要素内に仮想結合重み及びニューロン値の記 憶域を含んでおり、7個(V>N)のニューロンのエミュレーションが可能であ ったが、それによってVは固定数に設定され、■及びNは技術能力に連係されて いた。さらに、この仮想TSNAPは学習能力をサポートせず、その代りに単純 な乗算機能ユニット及び必要な重み及びY値記憶域だけを使用していた。どちら の手法でも、エミュレートされるニューロンの数Vが増加するにつれて、前記の 特徴のために多数の難点が生ずる。1つの難点は、構造上でエミュレートできる ニューラル・ネットワークのサイズの制限である。GPLMは、N個のニューロ ンの物理的実施態様に制限され、■≦Nがエミュレートできる7個のニューロン のネットワークだけが可能になる。GPLMではNが制限されたが、仮想T S  NA Pでは、やはり技術的考慮により、■が制限される。■が選択され、仮 想TSNAP用のチップが作成された後は、■を増加することはできない。もう 1つの難点は、選択された技術のセル及び入出力容量による、1つのチップ上に 配置できるシナプス・プロセッサの数を実際的に考慮しなければならないことで ある。チップ上に多数のシナプス処理要素があり、望ましいシステムで多数のチ ップが利用されると仮定すると、同期制御はきわめて困難になる。 すべての動作に対する状態機械制御手法は、大きなシステムでは実現不可能であ る。状態機械で制御されるシステムは、構築された後は、容易には拡張できない 。命令の自動動作モードの同期化を解決するために、制御フロー(順次命令実行 )動作モードとデータ・フロー(データ依存実行)動作モードの両方をサポート できる新しいアーキテクチャが開発された。 命令の自動動作モードは、データ・フローで制御される動作として定義されるよ うになり、機能を「発火」する前に有効なタグ付きデータを受け取ることを必要 とする。通知なしの命令の局所処理も大型システムでは問題になる。グループ加 算ツリーを利用して、成功裡の動作完了を実現するだけでな(、動作中に発生す る誤差の通信をも行う、局所処理完了通知の新しい方法が定義される。このよう にして、すべての動作の完了が命令/データ発行プロセッサに通知され、従って 適切な制御が保証され、さらにスケーラビリティが実現される。 チップ上に限られた数のシナプス・プロセッサがあるという、発生する可能性の ある特別な状況が起こった場合、問題は、7個(V≧N)のニューロンをサポー トする多数のシナプス・プロセッサ・チップからなる学習能力をもつ大きなNニ ューロコンピュータをどのように構築すれば、重み及びニューロン値記憶域を拡 張して仮想容量を増加させるだけでなく、シナプス処理要素をも拡張して、直接 実行容量を増加させ、性能を向上させて将来の成長を可能にできるかである。 この説明では、学習及びモデル化されたニューロン間の完全な結合度を保持し、 高いエミュレーション性能を提供しながら、実際的スケーリング機構を可能にす る、新規な区分アルゴリズムによってプロセッサの大きな三角形アレイをより小 さな三角形プロセッサ・アレイ・グループに分割する方法を提示する。利用され る外部メモリの量のみに依存する、結合重み及びニューロン値記憶域の成長が可 能な、外部メモリ・アーキテクチャが開発された。同時係属出願のGPLMも同 時係属出願の仮想TSNAPも、容量と性能の両方でスケーラビリティを達成す るには不十分である。学習のサポートを維持し、スケーラプル仮想学習機械’( SVLM)と呼ばれる新しいタイプのニューロコンピュータを表す、新しいニュ ーロコンピュータ・アーキテクチャが開発された。この種の機械を開発する最善 の方法を例示するため、好ましい実施例を提示する。最初に、シナプス・プロセ ッサ・アーキテクチャの仮想TSNAP構造上へのマツピングを提示する。次に 、内部正方形折畳み及びアレイ分離グループ区分アルゴリズムを提示し、続いて 外部メモリをサポートする新しいシナプス・プロセッサ・アーキテクチャ及びグ ループ・アーキテクチャ、混成制御フロー/データ・フロー操作、及び誤差のあ るまたは誤差のない局所シナプス処理完了通知について述べる。 また、この新しいアーキテクチャの利用を実証する後方伝播学習の例も提示する 。 ”Pechanek V 工RT U A L 91”の仮想TSNAPは、シ ナプス・プロセッサ・セル内に重み及びニューロン値を含み、乗算器及び加算器 ツリーを循環的に共用し、反復加算器を使用する。各反復加算サイクルで、部分 和を生成し、それが反復加算器(IA)に記憶され反復加算器が各反復加算サイ クルごとにネットワーク和を累計する。 仮想TSNAPのレジスタ乗算器アーキテクチャは、”Pechanek LM  91”のシナプス・プロセッサ・アーキテクチャ上にマツプすることができる 。対角線シナプス処理「セル」DSYPと一般シナブス処理「セルJ GSYP の2種のタイプのプロセッサ「セル」構造がシナプス・プロセッサ・アーキテク チャにおける学習に使用される。DSYPは1個の重み/Y値乗算要素を含み、 GSYPは2個の重み/Y値乗算要素を含む。4物理ニユ一ロンGPLM上にマ ツプされた仮想16ニユーロン・ネットワークに対する結合重み及びニューロン 値記憶要件を第1図に示す、DSYPは点線で、GSYPは破線で囲んである。 DSYP及びGSYP内の重みは、4列にグループ分けされ、各列は4つの反復 加算サイクルと関連する結合重みから構成される。この例では、1個のニューロ ン出力を生ずるのに4つの反復加算サイクルが必要である。図のように、4つの 反復加算サイクルからなる第1セツトはYl’ 、Y2’ 、Y3’ 、Y4’  を生成する。4つの反復加算サイクルからなる第2セツトはY5’ 、Y6’  、Y7’、Y8’ を生成する。16個のニューロン出力すべてが出力される までこれが続行する。合併された構造は、新しいSVLMアーキテクチャを記述 するための出発点となる。 内部正方形折畳み及びアレイ分離 8ニユーロンの場合の”Pechanek LM 91”のGPLM構造を第2 図に示す。ここで、 第2図の大きな三角形構造の内部に、シナプス・プロセッサ・セルからなる1つ の正方形配置及び2つのより小さい三角形配置があることに留意されたい。これ らを主構造から分離し、加算ツリーの最終段をシナプス・プロセッサの配置の外 部に置(と、第3図に示す構造が得られる。第3図は、3つの構造、すなわち2 つの三角形アレイ及び1つの正方形アレイを含む。スケーラビリティをサポート するには、共通の反復可能な設計が望ましい。第3図に示した2つのタイプの構 造、すなわちシナプス・プロセッサからなる1つの正方形配置及び2つの三角形 配置があるので、単一の設計によるスケーラビリティは実現できない。正方形編 成の構造をどのように変えれば、元の8ニユーロン・モデルを構成する他の2つ の三角形アレイと同じサイズの2つの三角形アレイになり、共通の反復可能な設 計が得られるかを以下に示す。これを達成するために、まず正方形構造を第4図 に示すようにその対角線に沿って折り畳むが、すべてのシナプス・プロセッサは そのまま保ち、加算器ツリーだけを折り畳む。各シナプス・プロセッサ内の重み 及びY値記憶域を配置替えすることにより、第4図の折り畳んだ構造を第5図に 示すように2つの別々の三角形処理アレイとして書き直すことができる。この手 順に従うことにより、第2図の大きな三角形構造が4つのより小さい三角形アレ イから構成されることが示された。 ここでプロセッサのグループに関する新しい表記法を導入する。Gはグループの 数を表し、HはグループG内のシナプス・プロセッサ要素の数を表す。より小さ な各三角形構造は、この場合サイズH=16のグループGを表す。第3図は、A 1、A2、A3、A4を生成するグループと、B5、B6、B7、B8を生成す る第2のグループの2つのグループを示 ゛す。第5図は、B1、B2、B3、 B4を生成する三角形アレイ・グループとA5、A6.A7、A8を生成するも う1つの三角形アレイ・グループの2つの分離された三角形アレイ・グループを 示す。第2図のN=8ニューロン三角形アレイをつくるには、4つのグループ、 G=4が必要である。外部水和及びシグモイド生成関数、ならびに8ニユーロン ・モデルを完成する逆通信経路を第6図に示す。同図で、(→)は順方向水和経 路を示し、(←)は逆通信経路を示す。 この区分概念を、次に16ニユーロン・ニューロコンピュータについて提示する 。第1ステツプでは、第7図に示すように16ニユーロン構造を三角形アレイと 正方形アレイのグループに区分する。16のグループ・サイズHを使用する16 ニユーロン・モデルでは、1.2.3.4で表す4つの三角形アレイ、及び5. 6.7.8.9.1oで表す6つの正方形アレイがある。次に、これらの正方形 アレイを折り畳み、所望の三角形アレイに分離する。この場合、その結果得られ る16個の三角形アレイを第8図ないし第15図に示す。各図には、第7図を参 照するグループ・ラベルがつけである。 外部加算及びシグモイド生成関数、ならびに16ニユーロン・モデルを完成する 逆通信経路を第16図に示す。同図で(→)は順方向加算経路を示し、(←)は 逆通信経路を示す。 第8図ないし第17図の表現を容易にするために、次のことに留意されたい。 一般に、グループ区分アルゴリズムは所与のサイズHのより大きな構造に適用さ れるので、外部加算器ツリーにさらに水和段が追加される。単一のチップ上に1 つのプロセッサ・グループが、すなわち1チツプ上にH個のシナプス処理要素が 配置される実施態様を仮定すると、追加のグループ・チップを追加するとき、外 部加算器ツリーだけを修正すればよい、スケーラプル・ニューロコンピュータ設 計を構築することができる。これは、8及び16ニユーロン・モデルの例で見る ことができる。 Y値の配列を変えると、1つの正方形アレイを2つの三角形アレイに構造を変え ることができ、逆通信経路に影響が及ぶ。経路切替え機構を第17図に詳細に示 す。第17A図は、8ニユーロンの例でYl及びY5に対する切替え機構を示し 、第17B図は、16ニユーロンの例でYl、Y5、Y9、及びYDに対する切 替え機構を示す。各側でその他のニューロン出力に対しても同じ切替え機構が使 用される。逆通信経路内での経路の切替えはこの切替え機構によって実施される ことに留意されたい。たとえば、第17A図で、道通信用のスイッチ位置Y1は A1及び請求和経路に逆通信されるが、Y5はB1及びB5に逆通信される。三 角形構造だけの第3図及び第5図に戻ると、DSYP及びGSYP内で、受は取 られたY値が直列化して当該の加算器ツリーの原点と向き合った正しいレジスタ に入れられることがわかる。逆通信経路内のスイッチは、第17B図の16ニユ ーロンの例でも同じである。 第17図の外部切替え機構は後方伝播学習をサポートするようにさらに修正する 必要がある。外部処理切替え機構によってサポートされる動作モードには4つの 異なる動作モードがある。そのうちの2つは第17A図及び第17B図に示すよ うにニューロン実行によるものであり、2つは後方伝播学習によるものである。 1、ニューロン人力求和関数の外部水和。 2、ニューロン出力Y値の逆通信。 3、学習における誤差信号E、の逆通信。 4、学習における重み付き誤差水和ER,の外部水和。 動作モード1及び4は順方向加算経路に関し、動作モード2及び3は逆通信経路 に関するものである。学習のためとニューロン実行のための外部水和要件及び逆 通信要件は異なる。したがって、ハードウェアがニューロン実行モードにあるか それとも学習モードにあるかに応じて、異なる値が外部加算され、異なる値が逆 通信される。さらに詳しく、ニューロン実行用の逆通信経路を、学習の場合と比 較して考察する。 ニューロン実行モードでは、逆通信されたY、をその適切なW、Jと乗算しなけ ればならないが、学習モードでは逆通信された誤差信号E、をその適切なW3. と乗算しなければならない。 逆通信された値Y、とElの下付き文字のこの見たところ小さな変化は、E、値 と比較してY、値には異なる逆通信経路が必要なことを示している。これらの異 なる経路は、折り畳まれた正方形の分離された三角形によるものである。第17 図の例の外部スイッチは、異なる置方の経路要件をサポートするように修正しな ければならない。順方向水和要件に対処できるように、第17図の切替え機能に 追加の変更を加える。第18図は、8ニユーロンの例での修正された外部切替え 機構を示し、付記した数字1−4は上述の4つの切替え動作モードに対応する。 第19図及び第20図は、16ニユーロンの例での修正された外部切替え機構を 示す。第19図は、切替え動作モード1及び2に対応し、第20図は切替え動作 モード3及び4に対応する。動作モードに応じてすべての経路が変化するのでは ないことに留意されたい。例として第18図を使用すると、A1及びB5に対す るニューロン入力順方向水和経路(1)は、A1及びB5に対する重み付き誤差 和(4)に必要な経路と同じである。さらに、A1及びB5に対する逆通信経路 も、ニューロン実行と学習とで同じである。 第3図から理解できるように、A1及びB5は、折り畳みアルゴリズムの使用を 必要としない対角線三角形アレイと関連している。動作モードに応じて変更しな ければならない経路は、折り畳まれた内部正方形から分離された三角形構造と関 連する経路である。 第4図の分離する前の折り畳んだ内部正方形は、共通の複製可能な構造単位とし て使用できることに留意されたい。折り畳んだアレイの半分に対する重み及びY 値をゼロにすることによって、折り畳んだアレイで、2倍の数のプロセッサを使 用するエツジ三角形アレイの諸機能をモデル化することができる。このグループ 配置でも、なお外部切替え機能に対する要件がある。折り畳んだ内部正方形から 三角形アレイが分離されているために切替え機能を必要とする代りに、折り畳ん だ正方形構成単位上でモデル化されたエツジ三角形アレイに対する切替え機能が 必要である。折畳み正方形構成単位手法は、所与のサイズの対角線三角形アレイ では1つのプロセッサ・グループ内に2倍の数のプロセッサを必要とし、なお外 部切替え機能に対する要件があるので、この説明では折畳み正方形構成単位手法 についてはこれ以上検討しない。 第2図ないし第17図の8ニユーロンの例でも16ニユーロンの例でも、どちら の場合もV=Nなので仮想能力を必要としない。仮想ニューラル処理能力は、シ ナプス処理要素光たり1個を越える重み及びY値の記憶に加えて、ニューロン入 力の積の和関数の一部分を処理する方法を必要とする。部分和(PS)記憶要素 を備えた反復加算器によって、ニューロン処理全体を複数のサイクルに分割し、 以前の部分和を生成された最新の部分和に加えることができる。次に、プロセッ サ・グループの概念に仮想能力を追加する例を、■=16、N=4、H=4、G =4の場合について説明する(第22図)。 これは、後で仮想学習の例の説明で使用する。第22図は、修正された切替え機 構、部分和(PS)記憶機構を備える反復加算器、及びホスト・コンピュータと インターフェースする初期設定及び制御学習プロセッサを含む。ホスト・コンピ ュータは、学習プロセッサを介してプロセッサ・グループを初期設定する責任を 負う。たとえば、エミュレートされるネットワーク内のニューロンの数、すべて の結合重み、(必要なら、初期ニューロン値)、学習アルゴリズムをサポートす る「教師」値、走行すべきネットワーク更新サイクルの数をロードすること、な らびにモデルの実行を開始することが、エミュレーション・サイクルを開始する 前に満たさなければならない要件である。さらに、学習プロセッサはネットワー クの実行を監視するための追跡機能を含むことができる。 G=4個のグループがあり、各グループが、第22図でG1、G2、G3、G4 で記されたH=4個の処理要素を含む。 ただし、 ・G1はA1及びA2を生成する ・G2はA3及びA4を生成する ・G3はB1及びB2を生成する ・G4はB3及びB4を生成する ■=16なので、72個の結合重みがメモリに記憶される。 この例(第22図)では、4個の処理要素からなる4個のグループがあり、各グ ループは完成したシステムで合計16個の処理要素を存する。したがって、16 ニユーロンの完全に結合されたネットワークをサポートするには、各処理要素内 に16個の結合重みが必要である。 構造出力サイクルをSo1部分和反復加算サイクルをIAで表すものとする。一 般に、7個の仮想ニューロン及びN個の物理的ニューロンが与えられており、簡 単にするために、VとNはどちらも2の累乗であり、結合重み及びニューロン値 記憶域が各シナプス処理要素と関連付けられていると仮定すると、仮想学習構造 が形成される。 ・ (V/N)個のY値が各シナプス・プロセッサ要素に記憶される(IDSY P当り1要素、IGSYP当り2要素)。 ・ (■2/N2)個の結合重みが各シナプス・プロセッサ要素に記憶される。 ・1構造出力(S O)サイクル当りN2回の重みとY値の乗算からなる(V/ N)回の反復加算(IA)サイクル。 ・ISOサイクル当りN個のニューロン値からなる(V/N)回のSoプサイル 。 たとえば、第21図は、■及びNと記憶サイクル及び動作サイクルの関係を示す 。 第22図では、16個の重み値からなる各結合重みメモリが、結合重み記憶ブロ ック上でSO1、SO2、SO3、SO4と記されたそれぞれ4つの値からなる 4つのSO上セツト編成されている。各セットは、ニューロンN=4個の値から なる1セツトを生成するために、4つの部分和反復加算サイクルを必要とする。 切替え機構及び反復加算器に関するさらに二三の一般的コメントを第22図の順 に行う。図の切替え機構は、この構造の4つの切替え動作モードをサポートする のに必要なすべての経路の合成図である。反復加算器の概念は、同時係属出願” Pechanek V I RT UA L 91”に提示されている。この場 合、反復加算器があるために、加算経路内に追加の遅延が必要であった。このア ーキテクチャでは、反復加算器遅延は必要でないことに留意されたい。というの は、この機能は、3−1加算器を利用して加算器ツリーの最終段に組み込まれて いるからである(第22図)。さらに、同時係属出願”Pechanek LM  91”で提示された外部入力Exl経路が、ニューロン活動化関数入力の前に 提供される。 外部メモリ拡張 ”Pechanek LM 91”で提供されるシナプス・プロセッサ・アーキ テクチャ(SPA)は、ニューラル・ネットワーク・モデルの直接実行に適当な 、1シナプス処理要素当り1つの結合重みの記憶容量しかもたなかった。7個( VAN)のニューロンを含むより大きなネットワーク・モデルでは、性能に大き な影響を与えずに、または拡張された内部記憶域を含む新しいチップ設計を必要 とせずに、重み及びニューロン値記憶域を拡張する一般的方法が必要である。  ”Pechanek LM91”で提供されたデータ並列システム処理でも、同 じスケーリング問題が当てはまり、マトリックス要素がシナプス・プロセッサ・ レベルから容易にアクセスされなければならない。 メモリは、シナプス・プロセッサのグループ間で分割されていると考えることが でき、各グループは独立の読取り/書込み能力及びアドレス指定能力を有する。 この概念を、第23図に示す。同図は、好ましい外部メモリ構造を示している。 第24図に示した外部結合重みメモリ構成を仮定すると、メモリは0個のグルー プに配置される。ここで、1プロセツサ・グループ内にN個の物理ニューロン及 びH個のプロセッサ要素があるとすると、G=N2/Hである。たとえば、N= 256、H=256と仮定すると、G=2562/256 =256である。1 チツプが単一のプロセッサ・グループを含むと仮定すると、256ニユーロン・ ニューロコンピュータは256個のグループ・チップから構成され、したがって 合計65536個のシナプス処理要素が含まれる。外部メモリ・ワード長は2つ のピースから構成される。1つのピースは結合重みインターフェースと関連し、 他のピースはニューロンY値インターフェースと関連する。重みもY値もビット 直列形式である。1つの重みメモリ・アドレスは、H個の重みビットにアクセス する。ただし、プロセッサ・グループ内には1プロセッサ要素当り1個の重みビ ットがある。(対角線シナプス・プロセッサDSYP当り1シナプス・プロセッ サ要素、一般シナブス・プロセッサGSYP当り2シナプス・プロセッサ要素、 第25図)。話を簡単にするために、H及びNを指定するために2の偶数乗の基 準を仮定すると、F「はプロセッサ・グループ内で利用されるY値の数を表す。 したがって、外部メモリ・インターフェースは、(H+ECC1+A/T+EC C2)ビットの合成ワード長をもつ。ECC1ビットは、Hビットからなる各グ ループ上の誤差訂正コード・ビットに対応し、ECC2ビットは各EWビット上 の誤差訂正コード・ビットに対応する。ECClビットとECC2ビットはとも に、”Hellerman 67”に示されたハミング単一誤差訂正コードなど の誤差検出及び誤差訂正コード化方式を使って決定される。これには式4及び式 5に基づ<ECC追加ビットが必要である。 2”CC1≧H+ECC1+ 1 (4)2シCC2≧Fπ+ECC2+1 ( 5)たとえば、64個のシナプス処理要素に対応するH=64の場合、ECC1 =7個の追加ビットを使用しなければならない。ECCインターフェースは、誤 りがあることが検出されたデータの固定を可能にする。重みアレイ・インターフ ェースは双方向であり、学習をサポートするのに必要な外部重み値記憶域への各 シナプス・プロセッサ書込みアクセスが可能である。重みメモリに加えて、他の 2つの外部メモリ・アレイを使用する。1つは現ニューロン状態値(Y)用、も う1つは更新されたニューロン状態値(Y′)用である。各プロセッサ・グルー プごとに、77個のY値出力がある。現Y値アレイ及び新Y値アレイをネットワ ーク更新サイクルごとに前後にトグルすることもできる。たとえば、更新された Y値が新Y値アレイにロードされている間に、現Y値アレイが全ネットワーク更 新サイクルに対するY値を出力する0次のネットワーク更新サイクルでは、これ らのアレイは役割を替え、新しく更新されたY値(新Y値アレイ)が次のネット ワーク更新サイクルで現在値として使用され、前の現Y値アレイが新Y値で重ね 書きされる。出力用に一方のアレイを選択し、Y値をロードするためにもう一方 のアレイを選択するアレイ・セレクタ信号によって、これらのアレイを前後にト グルすることができる。別の動作モードでは、現Y値アレイだけを使用し、新Y 値は前に記憶されたY値を重ね書きする。使用する各パラメータのビット長に対 応するシナプス・プロセッサ内部レジスタ長は、長さDビットであり、Dビット 内に条件付き実行ビット(CEB)を含む(第29図)。D個の外部メモリ・ア ドレスは、それぞれDビットのH個の分離値に対応し、これにはプロセッサ要素 当り1つの値をビット直列方式でロードすることができる。外部重みメモリは、 Q*H値、またはそれと等価であるが、1メモリ位置当りH+ECC1ビットの Q*D個のメモリ位置を保持する。メモリ値はプロセッサのグループに対してア クセスされ、メモリ値はグループ・プロセッサ制御機構を介して読み取り、また は書き込むことができる。 シナプス・プロセッサ・セルへのメモリ接続を第25図に示す。メモリは対角線 シナプス・プロセッサ・セルに接続され(第25A図)、2本の外部メモリ入出 力線は分配機構に行く。外部メモリからの重み及びY値組路は、記憶されたPA THアドレスによって制御される。両方向入出力線を有する重みメモリに対して 1個のアドレスがある、すなわち重み値は別々にしかし同期せずにメモリから読 み出し、またはメモリに書き込むことができる。Y値アレイに対して2個のアド レスがあり、各アレイごとに1組ずつあって、それぞれ独立に制御される。Gセ ル・シナプス・プロセッサ(第25B図)では、各シナプス・プロセッサ要素に 対する両方向重みビット及び出力Y値ビットが分配機構に接続され、GSYP内 部の2個のプロセッサ要素への別々の経路ができている。 すべてのメモリ・アクセスは、内部プロセッサ・レジスタにロードされる。更新 されたY値、Y′は外部メモリに向かい、各入口点からプロセッサ・グループ・ チップに直接向かう。 外部メモリからきたY値は、プロセッサ・グループ・チップ上でファンアウトさ れて、各シナプス・プロセッサ要素に向かう。 ソース・アドレス及び宛先アドレスは、コマンド・レジスタに対する相対値であ る。相対アドレス指定を第25A図及び第25B図に示す。図では上端コマンド ・レジスタCMDTREGの相対アドレスは、レジスタ・ブロックの右の欄に示 され、下端コマンド・レジスタCMD BREGの相対アドレス指定はレジスタ ・ブロックの左の欄に示されている。 たとえば、下端コマンド・レジスタR2は上端コマンド・レジスタR5と同じで あることに留意されたい。加算器ツリーから受け取ったビット・ストリングは、 それがコマンドである場合、直列化されて、各Gセル内の2個のCMDレジスタ のうちの1つ、及び対角線セルの単一〇MDレジスタに入る。 別法として、加算器ツリーから受け取ったデータ・ビット・ストリングは、直列 化されて、Gセル内の使用可能な他の6つのレジスタのうちの1つ、及び対角線 セル内で使用可能な他の3つのレジスタのうちの1つに入る。DSYPでは、R 4ないしR6及びCR2のソースまたは宛先アドレスは以下のようにマツプされ る。 ・CR2→CRI ■=16のニューロン容量を有する4ニユ一ロンSVLMのタイミング図の例を 第26図に示す。この場合、それぞれ4IAサイクルからなる16/4=4個の SOプサイルがある。 各SOプサイルはV/N個のIAプサイルからなる。1工Aサイクルは、重みと Y値を乗算し、続いてV/N倍した値の和をめ、部分和結果を反復加算器に記憶 することから構成される。良好な性能を得るには、次のIAプサイル用の重み及 びY値へのアクセスが、最初のIAの乗算時間中に済んでいる必要がある。そう するには、EXUに入るすべてのオペランドがEXUの外部で関数実行中に固定 されないように、EXUの乗算器(または任意のEXU関数)に対して要件が課 せられる。乗算器にとって、これは、乗算器が必要ならそれ自体のオペランド・ レジスタを含まなければならないことを意味し、良好な性能を得るために、その 対応するオペランド・ビットが乗算器に入ってから1サイクル後に結果ビットが 生成される。災害が起こらないようにするには、実行二ニット(EXU)乗算器 について以下の関係式6が成立しなければならない。この関係式は、他のEXU 関数にも適用可能である(式7)。 乗算(ユつぃ−CDδ。8.。。。≦δや (6)一般に Dδextmea+ ≦δZKUC4n) (7)上式で、 ・読取り/書込みアクセスごとにDビット・δext+nemは外部メモリ・ア クセス遅延・δやは乗算器遅延、通常は長さ2*(D−1)クロック・サイクル ・δ2ゎ(fn)はEXUによって指定される関数の遅延EXUのすべての関数 は、より短い実行関数に埋込みを行うことによって、同じ時間内に実行されるよ うにすることができる。このようにして、最も長い実行関数によって、外部メモ リ・アクセス・タイミングの基準が決まる。たとえば、乗算関数が最長のEXU 実行関数であり、2つの32ビツト・オペランドの乗算を実行するのに64クロ ツク・サイクルかかると仮定すると、1つの32ビツト・オペランドの最大外部 メモリ・アクセス遅延は64クロツク・サイクルである。 すべてのEXU関数が同じ遅延時間になるようにすることによって、外部メモリ ・アクセス遅延時間に対してより厳しい要件が課されることはない。第27図に 、1組N個のニューロン値を生成するISOサイクルのタイミング図を示す。以 下の項目について詳細に説明する。 1、直列化してEXU乗算器に入れられた第1ビツトから工A1サイクルを開始 する。 2、乗算された結果の第1ビツトが乗算器を出て、加算ツリーに入る。 3、乗算された結果の第1ビツトとOの部分和が3−1加算器を出て、部分和レ ジスタに入る。 4、乗算された結果の最終ビットが乗算器を出て、加算ツリーに入る。 5、乗算された結果の最終ビットとOの部分和が3−1加算器を出て、部分和レ ジスタに入る。 6、第2IAサイクルの部分和の最終ビットが部分和レジスタに記憶される。 7、第3IAサイクルの部分和の最終ビットが部分和レジスタに記憶される。 8、第4IAサイクルの部分和の最終ビットがシグモイド生成機構に入る。 9、シグモイド結果の第1ビツトがシグモイド生成機構を出て、加算ツリーに入 り、外部メモリまたはシナプス・プロセッサ内のレジスターに逆通信される。 10、シグモイド結果の最終ビットがシグモイド生成機構を出て、加算ツリーに 入り、逆通信される。 11、シグモイド結果の最終ビットが、外部メモリまたはレジス・りで受け取ら れる(第1組のN個のY値が記憶される)。 1から4までの時間は、第27図に示すように、外部メモリから新しいY値また は重み値をロードするために使用可能な時間を表す。図では、詳細なタイミング を示すために時間スケールを拡大しである。 プロセッサ・グループのサイズは、チップ技術セル及び入出力仕様に応じて変わ る。第28図に示すように、各シナプス・プロセッサ・グループ・チップに1つ のメモリ・サブシステムが関連付けられている。 プロセッサ・グループの概念をサポートするのに必要な2つのタイプのコマンド 、すなわち1つはグループ専用コマンド専用のもの、もう1つはシナプス・プロ セッサと関連するものがなければならない。またコマンド形式は、新しいソース 及び宛先点として外部メモリをサポートしなければならない。外部メモリに関す るアドレス指定は、シナプス・コマンドの即値データ・フィールドを使用するこ とによって得ることができる。さらに、条件付き実行ビット(CEB)は、外部 メモリに記憶された各重み及びY値と関連していなければならない。 たとえば、N=256ニユーロン、H=256、D=33ビットの場合、コマン ド形式りは次のように定義される。 B同報通信ビット 1ビット タグ−8ビツト(log2N2/H) タグ・パリティ −=1ビット C,MDピッ上 1ビツト グループ・ビット −一一一 1ビツト自動ビツト −−−−−−−−−−−− → 1ビットCMD −−一一一−−−→ 4ビツト(16コマンド)ソース1 −一−−−−−−→ 4ビツト(16ソ一ス位置)ソース2−一−−−−−−→  4ビツト(16ソ一ス位置)宛先−一一一一一−−−→ 4ビツト(16宛先 位置)即値データ/外部 メモリ・アドレス −一一15ビット(15ビツト・データ/32K Dビット 位置) ECC−一一一一一−−−→ 6ビツト合計−−50ビット N=256ニユーロン、H=256.D=33ビット(CEB+32ビット・デ ータ)のデータ・ワードの例では、データ形式りは次のように定義される。 B同報通信ビット 1ビット タグ−8ビツト< l o g 2N2/ H)タグ、パリティ 1ビット CMDビット −−−−−→ 1ビツトCEBビツト 1ビツト データ 32ビツト ECC−一一一一一一−→ 6ビツト 合計−→5oビット 内部命令及びデータは長さDビットであり(第29図)、それぞれ丸ごと受け取 らなければならないので、外部メモリ・アドレスは、命令フィールドで指定され たシーリング(1og2D)ビットをメモリ・アドレスに付加することによって 形成される。シーリング関数は、括弧内の結果の関数の次に大きな整数をとる。 たとえば、メモリに記憶された33ビツト・データ・ワードのアドレスには6ビ ツトが付加され、32ビツト・ワードには5ビツトが付加される。追加のビット は、カウンタから自動的に生成され、カウンタはメモリからのビット・スライス ・アクセスごとに増分される。命令によって指定されたメモリ・アドレスごとに Dビットがアクセスされた後、カウンタは次のアクセスに備えてOに戻る。D= 32ビットの例では、命令内の15ビツトの外部メモリ・アドレス・フィールド が15+5ビツトの外部メモリ・アドレスに変換され、20ビツト・フィールド またはQ*D=220すなわちそれぞれH+ECCビットからなるIMEGの位 置または215*H(32に*H)の重み値を収容する。D=32ビットのH= 256個のプロセッサ・グループでは、プロセッサ・グループ・チップ当り最大 8MEGの結合重みがアドレス可能である。 同報通信ビット 同報通信ビットは以下のことを示す。 ・B=O:コマンド/データは特定のグループ用。 ・B=1=コマンド/データはすべてのグループ用。 グループ・コマンド 各プロセッサ・グループ・チップ内には単一のグループ・コマンド・レジスタが ある。グループ・コマンド・レジスタを利用してすべてのシナプス処理要素のコ マンド・ソースとして機能させる代替方法が存在する。プロセッサ・グループ当 り1個のコマンド・レジスタを利用することにより、シナプス・プロセッサ・コ マンドをグループ・コマンドと結合することによって個々の処理要素コマンド・ レジスタを省略することができる。1つのグループ・コマンド・レジスタでH個 のコマンド・レジスタが節約されるので、チップ面積がかなり節約できる。しか し、H−EXU、H分配機構、及びHセレクタを制御するために、グループ・コ マンド・デコードを各処理要素に分配しなければならないので、チップ面積の節 約は自由には得られない。配線の問題に加えて、集中されたソースからの信号の 潜在的に大きなファンアウトによるタイミング・ペナルティもある。したがって 、シナプス処理要素コマンド・レジスタはそのまま残し、通常は外部メモリ制御 機構と関連するグループ・コマンドだけを実施する。単一のグループ・タグがあ り、初期設定時にすべてのHタグ・レジスタにロードされる。2つのタイプのコ マンドが指定され、コマンドをデータ(コマンド・ビットが“0″にセットされ る)から区別するために、どちらもコマンド・ビットが1”にセットされる。グ ルータ・ピッL−(G)は、コマンドがシナプス・プロセッサ(、G=・0)に 関するものか、それともシナプス・プロセッサのグループ(G=1)に関するも のかを指定する。第1表に、現在定義されているグループ・コマンドをリストす る。SOカウンタは、要件に応じて、増分または減分するように設定することが できる。例えば、ニューラル実行モードでは増分し、後方伝播学習モードでは減 分する。増分の場合、カウンタは1から始まり、指定されたS○カウントまで増 分され、次に1に戻る。減分の場合は、カウンタはS○カウントから始まり、l まで減分され、次にSOカウントに戻る。疎に接続されたネットワークでは、各 グループに関するSOカウント及びIAカウントが5=OO&工=0のグループ ・コマンドGLDGTによって指定でき、後方伝播学習の例で示すように、それ によってSOカウントまたはIAカウントをクロックする必要がなくなる。カウ ントするように指定されたとき、IAカウンタは常に命令実行の完了時に増分さ れる。Soカウンタは、すべてのIAカウント・サイクルの完了時に増分または 減分される。 どんなニューラル・ネットワーク・エミュレーションでも、ネットワーク・モデ ル内の7個のニューロンのエミュレーションに必要なSOサイクル当りのIAプ サイルの数及びSOプサイルの総数を指定するために、グループ・レベル・コマ ンドを発行しなければならない。さらに、1(S″′′ビツト1 I F1ビッ ト、及びttU″ビットは、プロセッサ・グループが外部メモリにどのようにア クセスするかを指定する。 II S F+ビットとRI I+ビットを用いてアドレス指定を制御し、“U ”ビットを用いて外部Y値アレイがどのように利用されるかを制御することがで きる。u S nビットがII O○″にセッ゛トされた場合、外部メモリ・ア ドレスは現在定義されているSOプサイルを超えては増分されないが、rE”= 1の場合、メモリ・アドレスは各IAプサイルごとに増分され、現在定義されて いるSoプサイルについてIAプサイルの完全な実行が可能になる。′S″が“ 01″にセットされた場合は、SOカウントは次の命令が実行された後に増分さ れる。 それには、指定された回数のIAプサイルが完了することが必要である。SOカ ウンタ及びIAカウンタを増分することすることができる。SOカウントを固定 することによって、N個のニュー゛ロン値の反復実行が可能となるが、これは、 多層ニューラル・ネットワークの複数層がN個のニューロンの単−S○サイクル ゛・ゼット上にマツプされるときに使用される機能である。′U”ビットが“0 ”にセットされた場合、1つのY値アレイだけ、′たとえば現Y値アレイが利用 され、これは、新しく更新されたY値でアレイ内に記憶された旧Y値を重ね書き させる。a U nビットがR171にセットされた場合は、両方のY値アレイ が使用され、従って、新しいY値は現在のネットワーク・エミュレーションに使 用されているものと対向するアレイに書き込まれるだけであり、これらのアレイ は7個のニューロンが更新された後に交互にその役割を替える。Y値が外部メモ リに書き込まれている間に、その外部メモリからY値を読み取ることができる。 1IUjl =“OtTの場合、この同時操作は同じ外部メモリ・アレイから起 こらなければならず、1アレイ2ポ一ト操作が必要となる。 グループ・コマンドはチップ上のすべてのシナプス・プロセッサに共通なので、 そのグループと通信するにはただ1つの入力経路があればよい。これを実現する ために、プロセッサ加算ツリー経路の1つが、グループ通信経路としても機能す る独特なものとして指定される。いったん指定されると、この経路は一義的に識 別され、初期設定及び制御学習プロセッサからのグループ通信に使用される。 第1表 プロセッサ・グループ命令セリトンナプス・プロセッサ・コマンド コマンド・ビットが“1”にセットされ、グループ・ビットがKI Ojtにセ ットされた場合、受は取ったコマンドがシナプス・プロセッサ用に指定される。 第2表に、外部メモリをサポートするシナプス・プロセッサの命令セットをリス トする。外部メモリ・アドレスは命令の即値データ・フィールド内で指定するこ とができる、またそのアドレスに対する現在のS○及びIAカウント値を使用す るために、すなわち外部メモリの局所アドレス制御のために指定することもでき る。 ソースまたは宛先コードが、どのアドレス指定モードを使用するかを指定する。 第2表 シナプス・プロセッサ命令セット自動ビットの定義は、グループ・コマ ンドによってロードされるSビットの設定に依存する。その定義は次の通りであ る。 −A=O%5=OO:単−SOサイクル更新。′工”=1の場合、現在のSOプ サイルにおけるすべてのIAが実行され、次の命令を待つ。Soカウントは増分 されない。 ・A=O,S=01またはlO:現在のS○プサイルを実行し、SOカウントを 増分または減分し、新しいコマンドをべてのIAが実行される。 ・A=1、S=OO:現在のS○プサイルを実行し、新しいデータを待つ。有効 なタグ付きデータを受け取ると、同じS○プサイルを実行し、新しいデータを待 つ。有効なタグ付きデータを受け取るごとにこの手順を繰り返し、この手順を停 止する新しいコマンドを受け取るまで続行する。 ・A=O1S;01または10:現在のSOプサイルを実行し、S○カウントを 増分または減分し、新しいコマンドを待つ。有効なタグ付きデータを受け取ると Soプサイルを実行し、そのSOカウントを増分または減分し、新しいデータを 待つ。有効なタグ付きデータを受け取るごとにこの手順を繰り返し、この手順を 停止する新しいコマンドを受け取るまで続行する。 自動ビットは、本質的には、いつ実行サイクルが始まるかを指定する。A=Oの 場合、実行サイクルは命令を受け取つた時にだけ開始し、A=1の場合、実行サ イクルは自動命令の最初の実行後、有効なタグ付きデータを受け取るごとに開始 する。 シナプス・プロセッサ命令セットの検討を続ける前に、“A”ビット、IZ S  77 ビット、′工″ビット、及びrt U FFビットを2種の「古典的」 タイプのニューラル・ネットワークに適用する際のそれらの使用法の簡単な説明 を行ってお(。 まずホップフィールド・ネットワークでは、自動ビットは111 I7にセット され、(l S nビットはo1”にセットされ、“、工″ビット及び1(U  11ビツトはそれぞれ1”にセットされる。N個のY値の各セットは各SOプサ イルごとに現在のVニューロン・ネットワーク・エミュレーションに使用されて いるYアレイと対向するYアレイに書き込まれる。これは、各Y値アレイごとに 別々のアドレス線及び制御線を利用することにより、書込み操作を現Y値のセッ トの取出しとオーバーラツプさせることによって実施される。 ■ニューロン・エミュレーションを構成する最後の1iN個の値を受け取った後 、Yアレイの選択はトグルし、最近に更新されたY値が次のネットワーク更新サ イクルの現Y値として扱われる。このプロセスは、この動作を停止させるN。 P命令などの新しいコマンドを受け取るまで続行する。多層ネットワーク・エミ ュレーションでは、自動ビットは恐らく“1”にセットされ、“S”ビット及び “工”ビットはネットワーク実行シーケンスに応じてセットされ、′U″ビット はII OIIにセットされる。複数の層がSVLM内の1組N個のニューロン 上にマツプされる場合、tt S nビットはそれらの層のサブセットを実行す るためにu OOyyにセットされる。 たとえば、3層が1組N個のニューロン上にマツプされる場合、′S″は最初の 2層を実行するためにROO)+にセットされ続ける。次に、グループ・コマン ドが発行されて、II S 77をl(01IIに変更し、ネットワーク・エミ ュレーションは次の層の実行後、SOカウントの増分を続けることができる(す なわち、第3層はN個のニューロンのISOサイクル・セット上にマツプされる )、′U”は“071にセットされているので、新しいYデータが現Y値アレイ 内のYデータを重ね書きし、従って各層の実行は前の層で計算されたY値データ を利用することになる。これは、フィードフォワード多層ニューラル・ネットワ ークで通常の動作である。′U”ビット、44 I”ビット、及び“A”ビット を指定するために、大文字のj(U II、′工”、及び“A”が命令二−モニ ックに付加されて、指定されたビットが′1”にセットされているかどうかを示 す。ttU”、′工”、及び”A”が命令に付加されていない場合、これらのビ ットは“O”にセットされる。 “′S”ビットが“00”であることを示す指定はなく、11”は現在定義され ていないので、′S”ビット値は“1″または′2″として指定される。 シナプス・プロセッサ命令セットは、外部メモリ・アドレス・フィールド(即値 データ・フィールド)を含む。このために、PATH(EXT、MEM、)コマ ンドを使用して外部メモリをデータ・ソースとして指定することができる。外部 メモリによるPATHコマンドの使用についてまず説明し、続いて、他の命令が 外部メモリへの書込みで使用する共通の方法を説明する。 P A 、T Hコマンドは、加算ツリー宛先経路を1つの経路レジスタに、E XT、MEM、レジスタ宛先経路を別のレジスタにロードすることにより(第2 5図)、加算器ツリーに逆通信された、または外部メモリからアクセスされた情 報に対するデータ及びコマンド経路をシナプス・プロセッサ内でセットアツプす る。PATHコマンドのソース1フイールドは、どのレジスタを使用すべきか、 及びどのレジスタがPATHコマンドをさらに定義する拡張コマンド・フィール ドと見なせるかを決定する。PATHコマンドは、加算器ツリーからまたは外部 メモリから受け取ったデータの宛先点だけを指定する。このため、外部メモリの 宛先と共に外部メモリから受け取ったデータを指定するPATHコマンドは、同 じデータが受け取られ、何の処理もなしにすなわちNOP動作で同じ位置に送ら れるので、何も哲わない。いったん指定された経路は、経路を変更する新しい経 路コマンドを受け取らない限り同じままになる。たとえば、SVLM上のホップ フィールド・ネットワーク・モデルでは、省略時経路が前の処理によフて変更さ れた場合、逆通信されたY値及び仮想重みに対するPATHコマンドが一度発行 されて、GSYPシナプス処理セル内部で逆通信モードで、上端加算器ツリーが そのY値を下端Y値しジスタに供給し、下端加算器ツリーがそのY値を上端Y値 しジスタに供給することができる。ホップフィールド・モデルでは、この経路コ マンドは、固定重み実行モードを仮定すると、ネットワークの実行全体を通して 有効なままになる。またPATHコマンドは、次のコマンド用の経路を指定させ る。ホップフィールド・ネットワークの仮想モードの例では、外部メモリからの 重み値の取出しは、以前に取り出された重゛みの乗算時間中に実行される。 データ・フロー計算では、命令の実行は、すべてのオペランドを受け取るまで待 ち、受は取った時点でその命令が「発火」される。データ依存制御機構は、一致 するタグを有する有効なデータ・オペランドを受け取らたときその命令が実行さ れるように、タグ付きデータを使用するものと見なすことができる。これらのオ ペランドが同時には受け取られないと仮定すると、このデータ依存制御機構は大 きな潜在的性能及び同期問題の解決策を提供する。自動モードは、一致するタグ を有する有効データを受け取るまでその命令の実行が行われないので、データ依 存動作である。たとえば、プロセッサ・グループに送り戻された、逆通信された Y値は、共通のグループ・タグを含む。受取り側のプロセッサ・グループは、シ ナプス処理要素内の各Y値のタグをグループ・タグと比較し、それらが一致した 場合に、自動命令が実行される。このアーキテクチャの例では、プロセッサ・グ ループ・チップに対する。/7個のタグがすべて、同じグループ・タグをもたな ければならず、そうでないとグループ・エラーが発生する。 同様に、外部メモリからのデータにタグを付けることができる。各プロセッサ・ グループ・チップはそれ自体の1組の外部メモリ・アレイとインターフェースす るので、タグ付は制御は、外部ソースから逆通信されたデータと同じ方法では実 行できない。タグは記憶された値すべてについて同じなので、たとえば、タグを 使用することは、タグがメモリ内の各重み及びY値と関連付けられていることを 暗示せず、適当な時点でデータ線上に多重化される外部メモリ内でタグ・ソース を設定することができる。別法として、インターフェースの影響を最小にするた めに、外部メモリ・インターフェース上で異なるタイプのタグを使用することが できる。メモリとグループ・チップは緊密に結合されているので、異なるグルー プ・チップ間の識別が不要であるため、逆通信ツリー経路から必要とされるより も小さいタグ・フィールドが使用できる。 実施態様の判断に応じて弐6及び式7を再度使用しなければならない。 多(の命令は、個々のシナプス・プロセッサにとって局所である宛先を指定する 。この局所処理は、正しく処理しない場合、同期の問題を発生する可能性がある 。同時係属出願の”Pechanek LM 91”のGPLMでは、同期の問 題が、学習プロセッサのニューロン出力点に局在していた。シナプス・プロセッ サからは局所処理完了の通知は生成されなかった。そうではな(て、操作の安全 を保証するために、ニューロン出力点に固定されたハードウェア機構が設けられ た。同じシナプス・プロセッサへのどの局所処理コマンドも、その同じシナプス ・プロセッサへの次のコマンドから指定された命令の実行時間だけ分離しなけれ ばならなかった。たとえば、第2のコマンドを送れるようになる前にMPYコマ ンドが完了するようにするために、乗算は2’(D−1)クロックを要すること があり得た。SVLMでは、このタイムアウト法は、同期の問題を解決するには 十分ではない。すべての局所命令が実行の完了を発行点に通知する、新しい方法 を使用する。こ動作が各シナプス処理要素で実行され、その結果が局所シナプス ・レジスタに戻されて記憶される例を考えてみる。この局所動作の完了に成功し た時点で、各シナプス処理要素が加算ツリーに“1”の値を入力したと仮定する 。その場合は、log2Nサイクルの遅延後に、Nの加算値が得られ、特定の加 算ツリーに関連するN回の局所1作すべての正常な完了を示す。他のどんな値も 、操作シーケンス中でエラーが発生したことを示す。各プロセッサ・グループ・ チップが、他のグループ・チップとは異なる誤差値を付加できる′ようにするこ とによって、障害チップの特定が可能になる。同様に、異なる加算値で、異なる タイプのエラーが検出されたことを示すこともできよう。この局所動作完了の通 信は、完了通知を受け取るまでプロセッサ・グループば次め命令を送ること゛が できないので、タイムアウト手法に比べて時間のペナルティが小さい。命令゛完 了を通信するのに要する時間が短く、局所実行時間がlog2Nの遅延だけ増加 するだけである。非局所命令、すなわち宛先が加算ツリーである命令は、収束し たツリー結果が学習プロセッサに届いたとき、動作完了通知を提供する。 学習プロセッサは、同期制御を発行する命令について局所命令と非局所命令を区 別しなければならず、可変タイムアウト制御は不要である。 最後に、ここに記載した命令セットを使用してプログラム内で宛先争奪が起こら ないように保証するために、SVLMコンパイラが必要になる。 後方伝播仮想学習の例 SVLM構造上で後方伝播がどのように使用されるかを実証するために入出力エ ンコーダ問題を使用する。第3表は、”Rumelhart 86”によって認 識された入カー出カバターンのエンコーダ問題を示す。 第3表 入出力エンコーダ問題 この問題に使用するネットワーク構造を第30図に示す。 第30図は、入出力エンコーダ問題のためのニューラル・ネットワークを図示し ている。 多層ネットワークは、重みレジスタの条件付き実行ビットが0にセットされるこ とによって未使用の接続経路がゼロの重み値に保たれた、完全に結合されたネッ トワーク構造上にマツプされる。仮想機械の場合、ニューロンの最大層のサイズ によって、SVLM構造内の物理ニューロンの数Nの最小サイズが規定される。 入出力エンコーダ問題では11個のニューロンがあるが、物理ニューロンの数を 決定するための基準である最大層は4個のニューロンしかもたない。入出力エン コーダ問題では4ニユ一ロンSVLM構造が使用される。 たとえば、第22図に示したSVLM構造は、4つのグル−ブG=4からなり、 それぞれサイズH=4で16ニユーロン・ネットワークをエミュレートすること ができる。 入出力エンコーダ問題は、11ニユ一ロンSVLM構造で使用可能なすべての可 能な結合を必要としない。たとえば、ニューロン9に関する入出力エンコーダ・ ネットワーク方程式は次のようになる。 Y g= F (Wg 、4Y 4+ Wg 、5Y 5+Wg 、6 Y 6 + W9.7 Y7)第31図は、一般の11ニユ一ロンSVLMを、完全に結 合された11ニユーロン構造の各シナプス処理外部メモリの重み及びY値と共に 示す。完全に結合された11ニユーロン・ネットワーク内には121個の重みが あり、そのすべてが第31@に示されている。ニューロン・マツピングは第22 図に示したものとは異なっており、N個のニューロンの最大層の処理がN個のニ ューロンの1更新サイクルで実現できるようになっていることに留意されたい。 さらに、層1及び2、ニューロン出力Y1、Y2、及びY3が、N個のニューロ ンのS01サイクルにマツプされることにも留意されたい。 実行モード中、Y値は層ごとに計算される。すなわち、層1が最初に計算され、 そのY値結果が層2に使用され、以下最後の全層までこれを繰り返す。ニューロ ンのに個の層がすべて処理された後、ネットワークは学習モードに置かれる。 出力ニューロンは、出力層から誤差信号を計算し、次いで誤差信号値をツリーを 介してシナプス処理セルに逆通信する。 誤差信号の後方伝播は、出力層から開始し、入力層に向かって次々に層ごとに実 行される。これらの誤差信号は重み更新アルゴリズムで使用される。様々なシナ プス・プロセッサ内で適切な命令を実行することによって、後方伝播アルゴリズ ムを実行することができる。 順序通り並べられた手順を用いる詳細な例で、SVLM上にマツプされたとき、 入出力エンコーダ学習問題が後方伝播アルゴリズムによってどのように実施され るかを説明する。 あるパターンp(一般に、肩付き文字pはわかりやすいように省略する)につい て、SVLMニューロコンピュータ内で以下に箇条書きする手順に従う(「無結 合」重みはわかりやす(するために省略する。各シナプス処理要素内での、コマ ンド・レジスタに対するレジスタの相対位置は、第31図に示しである)。 1、SVLMが、外部メモリから1組の初期重み値及びY値を読み込むことによ って初期設定され、モデル内で使用されない結合に対するCEBビットは“0” にセットされる(第32図)。この入出力エンコーダの例では、完全に結合され た11ニユーロン・モデルの121個の可能な結合重みのうち22個だけが使用 される。それぞれ3つのIAプサイルからなる3つのSOプサイルが11ニユー ロン出力を得るために実行される。この入出力エンコーダ問題ではニューロン1 3.14.15、または16はないので、この例では第4のS○プサイル及びI Aプサイルは不要である。IAカウントとSOカウントをロードし、′″S I I、′I”、II U IIの各制御ビットをセットするために、グループ・コ マンドが発行サレル。GLDCTo、1,1命令は、′S″、′■”、“Ufj を”O’M:セットし、5O=1及びIA=1をCI−)’する。 2、初期設定の後、SVLMが実行モードに置かれ、入カバターン(EXl及び EX、2)が印加される。省略時経路が一般シナプス・プロセッサを通るものと して設定される。具体的には、上端加算器ツリーから受け取ったコマンドは下端 コマンド・レジスタCR2に行き、及び下端加算器ツリーから受け取ったコマン ドは上端コマンド・レジスタCR2に行(。上端加算器ツリーから受け取ったデ ータはR5Y、レジスタに行き、下端加算器ツリーから受け取ったデータはR5 Y、レジスタに行(。(相対アドレス指定を仮定する。)3.4個の物理ニュー ロンがMPYA R1富R2→ADDTREE (T)を発行する。ネットワー ク実行の各層について゛乗算命令を再発行する必要なしに性能を向上させるため に自動モードが使用される。層1及び2はN個のニューロンのS01サイクルに マツプされるので、S”=“oO”のとき、SoカウンタはSOカウントを増分 しない。さらに、“U”ビットが0”にセットされた場合、新しく更新されたY 値が次のニューロン更新で使用される。SVLM構造内のY値しジスタは最初0 なので、すべての重みとY値の積はOとなり、したがって加算されると0の加算 値を生ずる。 4、SVLM構造上でニューロンの第1層が実行されて、第1層ニューロン出力 及びその導関数を生成する(第33図)。 (学習プロセッサは、他の2個のニューロン出力値を無視す5、ネットワーク・ モデルの第2層をエミュレートし、続いて第3層及び第4層に進むために、第2 層の実行後、S○カウントを増分しなければならない。これを実現するために、 新しいグループ命令GLDCTI、3,1が発行されて、“′S”の状態を“0 1”に変更する。′工”ビット及びIZU”ビットは指定されていず、共に“0 ”にセットされたままとなる。 GLDCTI、3,1命令が送られた後、第1層ニューロン出力がSVLMにフ ィードバックされる(第34図)。自動MPY命令が指定されたので、Yl及び Y2を受け取ったときニューロンの第2層が実行され、第2層ニューロン出力及 びその導関数を生成する(第35図)。第2層の実行後、SOカウントが2に増 分される。 ・Yl及びY2を逆通信する ・Y3==F (W3,1Y1+W3,2Y2)・D r3=Y3 (1−Y3 ) 6、すべての層が実行されて、ネットワーク出力及びその導関数が得られるまで 、上記のプロセスが続行される(第36図、第37図、第38図、及び第39図 )。Y3’ を受け取ったとき、第2のSOプサイルが開始されて、第3層出力 、すなわちY4、Ye、Ye、Ylを発生する。次いでSOカウントが3に増分 される。第3層Y値が逆通信され、第3のSOプサイルが開始されて、第4層出 力を発生し、ネットワーク・エミュレーションが完了したときSOカウントを1 に増分させる。 ・第3層の実行はSOカウント=2から開始する。 ・YJを逆通信する(第36図)。 ・第3層の実行(第37図)。 −Y4= F (W4.3Y3) Y、、=F (w5.3Y、) −Y6=F (W6,3Y3) −Y7=F (W、、3Y3) −D r4=Y4 (1−YJ −Dr5=Y5 (1−Y5) −Dr6=Y6(1−Ye) D r7= y7(I YT) −Soカウントを3に増分する。 ・GLDCTI、3,2を発行して、IAカウントに2をロードし、外部メモリ から適当な重みにアクセスできるようにする。 ′″S I+ビット== LI OI I+及びS○カウント=3は同じままで ある。 ・第4層の実行はS○カウント=3から開始する。 ・Y4、Y9、Ye、及びYlを逆通信する(第38図)。 ・第4層の実行(第39図)。 Y 8= F (W、 、、Y4+W、 、5Y 5+W、 、6Y 、+W8 ,7Y 7)−Yg=F(Wg、4Y4+Wg、5Y5+Wg、6Y6+Wg、 7Y7)−y10=F(Wlo、4Y、+W1g、5Y5+W1g、6Y6+W  to 、7 Y 7) −Yl、:F(W、1.、Y4+W1.、、Y、+W、1.6Y6+Wt1.7 Y7) −D r6=Y6(1−y8) −Drg=Yg(1−y、) −D rto=Yto(1−ylo) −D r14=Y11(1−Yll) −S○カウントを1に進める。 7.11個のニューロン値及びその導関数がすべて計算され、Y値及びY導関数 アレイに入れられた後、SVLMは学習モードに置かれる。この例のように疎に 結合されたネットワークでは、IAカウント及びSOカウントが、非クロック方 式で使用され、新しいIAカウントまたはS○カウントが必要なときは、グルー プ・コマンド命令によって明示的にそれが変更される。 8、学習プロセッサが、Ylが最小指定誤差に収束するかどうか検査する。達し た場合は、パターンpに関する学習過程を停止することができる。収束に達して いない場合は、パターンpに関する学習が統′行される。 ・収束テストYs= 1 (!−s Ye)l≦最小誤差・収束テストY9=  l (t、−Y9)l≦最小誤差・収束テストY1゜=1(t□。−Yl。)1 ≦最小誤差・収束テストYrt= l (t tlYt、) l≦最小誤差9、 学習プロセッサが、出力ニューロンと前の層のニューロンの間の重みを更新する 際に使用する、出力ニューロンのδ戸、を計算する。 δ’1= (t’l−Y’、)Dr’1・δ、=E8= (t、−Yl5)Dr 6・δ、=l:9= (t、−y、)Drg゛δLO=E10= (tto Y IO) DriO・δtt:): 11 = (t 11 Yll) D r  5110、S○カウント及びIAカウントに、指定された非クロッキング・モー ドをロードする。データ経路が変更され、次に誤差信号が当該の各シナプス・プ ロセッサ要素の一時レジスタに逆通信される(第40図)。 ・GLDCTo、3,2が、S○=3及びIA=2をロードする。 これは、すべての重みが外部メモリ内のどこにあるかを指し、SOカウンタとI Aカウ°ンタがロックされないこと、すなわち5=oo、■=0を保証する。 ・4個の物理ニューロンが、PATHR4を発行することによってデータ経路を 変更する。PATHR4が発行されると、前記のステップ3で発行されたMPY Aによって指定される自動乗算モードが停止する。次に受け取られるデータは、 GSYP内の相対アドレスR4一時レジスタ及びDSYP内のR3に行く。コマ ンド経路は変更されないままとなる。 −R8,R9,EIO,El 1が、Y8、Y5.Y、。、Yttソース点から 逆通信される。 11、誤差信号と適当な重みの乗算を開始するためにMPY命令を発行する(第 41図)。積が加算されて、誤差和ERp、を生成する。これは、次層後方重み 修正プロセスで使用される(第42図)。コマンド経路は変更されなかった、す なわち上端加算器ツリーからのコマンドは下端コマンド・レジスタ(CR2)へ 行き、下端の加算器ツリーからのコマンドは上端のコマンド・レジスタ(CR2 )へ行(ので、誤差信号はR3一時レジスタの受け取ったコマンドに対する相対 アドレスにある。 ・ニューロン8.9.10,11が、MPY R6富R3→ADD TREE  (T)を発行する(第41図)。 ・重み付き誤差和ER4、ER5、ER6、ER7を生成する(第42図)。 −ER4=W8,4E8+W、、4E、+W10..EtQ+wtt、+F’t t −ER5=W8.、E、+W、、、E、+W、。、、El。+W1!、5Ei1 −ER6=W、、6E、+Wり、6E9+WIQ、6EtO+Wii、6Ei1 − ER7=W、、7E8+W、□7E、+Wよ。1□E1゜+W11.7Ei 1 12、層3と層4の間の重みが、ここで学習規則によって修正される。△W1. は、ρY)Eiによって2命令ステツプで生成される。 a、ステップ1−MPY R5”R3−R4(第43図)。 ・TEMPREG、、4=Y4E8 ・TEMPREG、、、=Y、E8 ・TEMPREG8,6=Y6E8 ・TEMPREG、、7=Y7E8 ・TEMPREG、、4=Y4E9 ・以下になるまで継続する ・TEMPREG、1.7=Y7E11b、ステップ2−MPY R4”1MD −R4(第44図)。 ・ΔW、、4=ρTEMPREG、、。 ・ΔW、、、=ρTEMPREG、、。 ・ΔWe、6=pTEMPREG8,6、 ・ΔW8,7=ρTEMPREG、 、。 ・ΔW、、4=ρTEMPREG、、。 ・以下になるまで継続する ・ΔW11.7”ρTEMPREG11,713、さらに1ステツプで層3と層 4の間の新しい重みを生成する。新w1j=w’ 、、=旧W、+ΔW、。新し い重みは外部メモリに記憶される。ADD R6+R4→EXT、MEM、2は 、現在のS○カウント及びIAカウントを外部メモリへのアドレスとして使用す る(第45図)。 −w’ 8.、=w8.4+ΔW8.4・w’ 8.、=w8..+ΔW8.。 −w’ e、6=w8.6+ΔWe、6・w’ =w +ΔW8.7 8.7 8.7 ・w’ 、、4=w9..+ΔW9.4・以下になるまで継続する ・w’ =w +ΔW11.7 tt、v tt、v 14、この手順に従って、ネットワーク内の他の層に関する重みを更新すること ができる。第3層については、一般式E1==DrIER1から5O=2及びI  A= 1 、誤差信号E4、R5、R6、R7を学習プロセッサ内で生成し、 次いでこれらの誤差信号を構造内で逆通信することができる。次に、誤差信号E R3を生成することができ、続いて重みW4,3、W6,3、W6,3、W7. 、について重み更新シーケンスを実行する。 すべての重みが更新されるまでこのプロセスを続行する。 15、次の学習サイクルPATHR2に備えて新しい経路コマンドが送られ、そ の結果、新しいY値が適切なレジスタに送られる。 16、SVLMが実行モードに置かれ、調整された重みによって出カバターンが 教育パターンと最小指定誤差で一致するまで既存のパターンpが再度印加される 。最小指定誤差に達するまで、SVLMは実行モードと学習モードに交互に切り 替わる。最小指定誤差に収束した後、新しいパターンを印加し、すべての教育パ ターンが印加されるまでこのプロセスを繰り返すことができる。 [要約コ それ自体の外部メモリを含むシナプス・プロセッサの共通構成単位を作成するグ ループ区分アルゴリズムを提示した。 このプロセッサ・グループを使って、高性能で完全な結合度を維持する汎用仮想 学習機械を作成する。このシナプス・プロセッサ・グループにより、システムは 仮想サイズでスケーラプルになり、直接実行能力をもつようになる。プロセッサ ・グループの内部で、シナプス・プロセッサは、外部メモリ・アクセスが可能で 、同期の問題が軽減された、混成制御フロー/データ・フロー・アーキテクチャ として設計される。 GSYP破線で囲む −一一一 6GSYP * 2要素/GSYP+4DSYPkl要素/DSYP=16シナ プス処理要素8ニユーロン・アレイ・モデルの折り畳んだ内部正方形ニューロン Y値を伴う16ニユーロン・アレイ・モデル重みマトリックスW7.6本Y6  W7,7*Y7 累 経路位置 衣料用の経路位置 (3)(す F、順方向水和 R−逆通信 F)G、21 V=16. H=4. G−4のニューロンSVLMAI BI A3 83 nα乙旦 A2 82 A4 84 v=i6. N=4. H,,16のSVLM外部メモリ構造V=16. H= 4. G−4の4ニユーロン・スケーラプルSVLM上にマツプされた11ニユ 一ロン入出力エンコーダ問題 AI BI A383 A2 B2 A4 B4 初期設定 AI BI A3 B5 A2 B2 A4 84 第1層実行 A1 BI A3 B5 A2 82 A4 84 モードを前進させYl’及びY2°を Aj BI A3 B3 第2層実行 A181 A3 B5 A2 B2 A4 B4 Y3°を逆通信する At BI A3 B5 0G、36B A2 B2 A4 B4 第3層実行 A1 81 A3 B5 A2 B2 A4 84 FIG、37 Y4°Y5’ Y6’及び費“を逆通信するA1 BI A3 B5 A2 B2 A4 84 FIG、38 第4層実行 At BI A3 83 FIG、39B A2 B2 A4 84 oo 000−Oo−00000 AI BI A3 B5 A2 B2 、A4 84 FIG、40 学習モード−重み付き誤差和a4. ER5,ER6,及1.FER7について のA1 81A3 B5 A2 B2 A4 84 AI BI A3 B5 A2 B2 A4 84 学習モード−ステップ1:重み更新MPYAI Bi A3 B5 A2 B2 A4 84 Ai 81A3 83 A2 B2 A4 84 0G、44 学習モード−外部メモリ内での重み更新ADDA181 A3 B5 A2 B2 A4 84 スケーラプル・フロー仮想学習ニューロコンピュータ[要約コ グループ区分アルゴリズムを使用するスケーラプル混成制御フロー/データ・フ ローを備えたスケーラプル・フロー仮想学習ニューロコンピュータと、仮想学習 のための後方伝播能力を備えたスケーラプル仮想学習アーキテクチャ、シナプス ・プロセッサ・アーキテクチャ・マツピング、内部正方形折畳み及びアレイ分離 が提供される。グループ区分アルゴリズムは、それ自体の外部メモリを含むシナ プス・プロセッサの共通構成単位を作成する。このプロセッサ・グループを使っ て、完全な結合度を維持する高性能の汎用仮想学習機械を作成する。このシナプ ス・プロセッサ・グループにより、システムは仮想サイズ・スケーラプルとなり 、直接実行能力をもつようになる。プロセッサ・グループの内部で、シナプス・ プロセッサは、外部メモリ・アクセスが可能で、同期の問題が軽減された、混成 制御フロー/データ・フロー・アーキテクチャとして設計される。 国際調査報告

Claims (56)

    【特許請求の範囲】
  1. 1.シナプス処理ユニットのグループに区分されたNニューロン構造を含む、ス ケーラブル・グループ区分仮想ニューラル・シナプス・プロセッサ・アーキテク チャ装置を備えたコンピュータ・システム装置であって、 前記グループが、命令及びデータ記憶ユニットを含み、命令及びデータを受け取 り、命令を実行し、V>Nであり、かつVが前記グループ区分Nニューロン構造 上でエミュレートされるニューラル・ネットワーク中のニューロンの数であると して、V個のニューロンに対する重み及びニューロン出力値用の外部データ記憶 装置とのインターフエースする、複数のシナプス処理ユニットを有し、 前記グループがさらに、グループ命令実行手段と通信加算器ツリーとを含み、 前記Nニューロン構造がさらに、ニューロン活動化関数ユニットと、V個のニュ ーロンをサポートするNニユーロン構造に前記グループを相互接続し、かつ前記 通信加算器ツリーによって命令、データと、ニューロン活動化関数ユニットの出 力とを通信して入力シナプス処理ユニットに戻す手段とを含む、 コンピュータ・システム装置。
  2. 2.対角線セル及び一般セルからなり、対角線に沿って折り畳まれたN×Nマト リックスの形に配置された、Nニューラル・ネットワーク内で結合重みとそれぞ れ関連付けられているN2個のシナプス処理ユニットを含む、請求項1に記載の 装置。
  3. 3.それぞれ単一のシナプス処理ユニットからなる対角線セルが、折り畳んだN ×N結合重みマトリックスの対角線結合重みと関連付けられ、それぞれ合併され た2個のシナプス処理ユニットからなる一般セルが、折り畳んだN×N結合重み マトリックスの対角線結合重みと関連付けられている、請求項2に記載の装置。
  4. 4.対角線セルのシナプス処理ユニットが、Nニューロン構造の付加された通信 加算器ツリーに結果を供給し、そこから命令及びデータを受け取る、請求項3に 記載の装置。
  5. 5.一般セルの2個の合併されたシナプス処理ユニットからなる構造が、象徴的 に上端シナプス処理ユニット及び下端シナプス処理ユニットとして編成され、前 記の上端シナプス処理ユニット及び下端シナプス処理ユニットが、Nニューロン 構造の付加された通信加算器ツリーに結果を供給し、そこから命令及びデータを 受け取る、請求項3に記載の装置。
  6. 6.折り畳んだN×Nマトリックスが、すべての一般セルから構成される2H個 のシナプス処理ユニットをそれぞれ含む1個または複数の正方形マトリックスと 、対角線セル及び一般セルの形のH個のシナプス処理ユニットをそれぞれ含む複 数の三角形マトリックスとに分割され、Hの値は、チップ上にH個のシナプス処 理ユニットからなるグループをパッケージする目的で技術及び設計の諸制約によ ってその値が決定され、HとNの大きさが与えられると、折り畳んだ元のN×N マトリックスから分割された三角形マトリックスと正方形マトリックスの数が決 まるという、請求項3に記載の装置。
  7. 7.2H個のシナプス処理ユニットを含む各正方形マトリックスが、シナプス処 理ユニットはそのままにして、シナプス処理ユニットに付加された通信加算器ツ リーのみを折り畳んで、その対角線に沿って折り畳まれる、請求項6に記載の装 置。
  8. 8.各シナプス処理ユニット中の重み及びY値の再配置によって、折り畳んだ正 方形構造を、それぞれがH個のシナプス処理ユニットを含み、かつそれぞれが1 つのプロセッサ・グループを表す別々の2個の三角形アレイとして、それぞれ描 き直すことができる、請求項7に記載の装置。
  9. 9.N2個のシナプス処理ユニットを含むNニューロン構造がG個のグループに 区分され、H個のシナプス処理ユニットを含む前記の各グループが対角線セルと 一般セルから構成され、前記の各対角線セルがある通信加算器ツリーに付加され 、前記の各一般セルが上端及び下端の通信加算器ツリーに付加されている、請求 項2に記載の装置。
  10. 10.G個のグループが、 グループの通信加算器ツリーから生成されたN2個のWijYj積のN個の部分 ニューロン入力和の外部求和、N個のニューロン活動化関数ユニットの出力Yi 値のそれぞれを、結合重み記憶ユニットWijを格納するN個のシナプス処理ユ ニットのYj=i記憶ユニットに通信し、それによって各シナプス処理ユニット 内でj番目のY値をそれと一致するj番目の下付き文字をもつ結合重みと関連付 けることによる、前記Yi値の逆方向通信、 N個のニューロン誤差信号Ei値のそれぞれを、結合重み記憶ユニットWijを 格納するN個のシナプス処理装置の記憶ユニットに通信し、それによって各シナ プス処理ユニット内で、i番目の誤差信号値をそれと一致するi番目の下付き文 字をもつ結合重みと関連付けることによる、前記Ei値の逆方向通信、及び グループの通信加算器ツリーから生成されたWijEi積の部分的重み付け誤差 和の外部求和 を行なう目的で、外部求和及び切換え機構に接続されている、請求項9に記載の 装置。
  11. 11.外部求和及び切換え機構が、それぞれ1つの累計記憶ユニットを含む反復 加算器に接続されている、請求項10に記載の装置。
  12. 12.反復加算器が外部求和ツリーの最終求和段に組み込まれている、請求項1 1に記載の装置。
  13. 13.N個の反復加算器がそれぞれ追加の求和段に接続され、前記追加の求和段 が、外部入力値と反復加算器の出力との和をとって、結果をニューロン活動化関 数ユニットに供給する、請求項11に記載の装置。
  14. 14.対角線セルの単一シナプス処理ユニットがそれぞれ、タグ突合せユニット と、命令/データ復号機構を介して外部から受け取った命令及びデータ用の宛先 経路制御機構と、加算器ツリー・データ経路記憶ユニットと、外部記憶データ経 路記憶ユニットと、分配ユニットと、1つの命令記憶ユニット、1つの重み値記 憶ユニット、Y値記憶ユニットと呼ぶ1つのニューロン活動化関数ユニット出力 値記憶ユニット及び1つの一時データ記憶ユニットからなる命令及びデータ記憶 ユニットと、命令復号機構を介して制御される記憶ユニット・オペランド選択機 構と、選択ユニットと、命令記憶ユニットに関するアドレス指定手段と、命令復 号機構及び分配ユニットを介して制御される結果宛先経路制御機構と、外部記憶 装置読取り専用Y値データ経路と、外部記憶装置読み書き重み値データ経路と、 プログラマブル実行ユニットとから構成される、請求項3に記載の装置。
  15. 15.一般セルの合併された2個のシナプス処理ユニットが、2個のタグ突合せ 機構と、2個の命令/データ復号機構を介して外部から受け取った命令及びデー タ用の共通宛先経路制御機構と、2個の加算器ツリー・データ経路記憶ユニット と、2個の外部記憶データ経路記憶ユニットと、2個のコマンド経路ピットと、 共通分配ユニットと、2個の記憶ユニット、2個の重み値記憶ユニット、2個の Y値記憶ユニット及び2個の一時データ記憶ユニットからなる命令及びデータ記 憶ユニットと、2個の命令復号機構を介して制御される2個の記憶ユニット・オ ペランド選択機構と、共通選択ユニットと、2個の命令記憶ユニットに関する2 個のアドレス指定手段と、2個の命令復号機構及び共通分配ユニットを介して制 御される2個の結果宛先経路制御機構と、2個の外部記憶装置読取り専用Y値デ ータ経路と、2個の外部記憶装置読み書き重み値データ経路と、2個のプログラ マブル実行ユニットとから構成される、請求項3に記載の装置。
  16. 16.シナプス処理ユニットのデータ記憶ユニットが、データ記憶ユニットごと に1ビットの条件付き実行ビットを格納し、前記ピットがデータの使用、及びデ ータを重ね書きできるかどうかを制御する、請求項1に記載の装置。
  17. 17.Hが2の偶数乗であるとして、各グループが1個の外部記憶装置とインタ ーフェースし、前記インターフエースがH個の読み書き重み値データ経路と、√ H個の読取り専用Y値データ経路と、√H個の書込み専用Y値データ経路と、グ ループ重み値アドレス指定及びY値書込み経路とY値読取り経路の個別アドレス 指定を制御する手段と、選択されたアドレスでのデータの読取り及び書込みを制 御する手段とを含む、請求項9に記載の装置。
  18. 18.外部記憶装置が、1個の重みアレイと、それぞれ現Y値アレイ及び新Y値 アレイと呼ばれる2個のY値アレイとを含む、請求項17に記載の装置。
  19. 19.V及びNが2の累乗であるとして、外部記憶装置が、V2/N2個の重み 値と、各Y値アレイ中にV/N個のY値を含み、すべてのアレイ重み値及びY値 が条件付き実行ビットを含んでいる、請求項18に記載の装置。
  20. 20.V個のニユーロンをサポートするグループ区分Nニューロン構造が、シナ プス経路装置のグループとインターフェースする各外部記憶装置内にさらに多く の外部記憶装置を追加することにより、より大きなVにスケーリングできる、請 求項18に記載の装置。
  21. 21.共通重み値読み書き制御手段のもとで、H個の重み値が同時に外部記憶装 置から読み取られ、あるいはH個の重み値が同時に外部記憶装置に書き込まれる 、請求項17に記載の装置。
  22. 22.Hが2の偶数乗であるとして、別々のY値読取り制御手段及びY値書込み 制御手段のもとで、√H個のY値の同時読取りと√H個のY値の同時書込みが別 々にまたは並列に行なわれる、請求項17に記載の装置。
  23. 23.現Y値アレイからのY値をニューラル計算に使用しながら、新しく生成さ れたY値を新Y値アレイに記憶する第1の動作モードと、新しく作成されたY値 を現Y値アレイに書き込む第2の動作モードの、2種の動作モード用の制御手段 が設けられている、請求項22に記載の装置。
  24. 24.重み値及びY値がビット直列形式で外部記憶装置に記憶される、請求項1 8に記載の装置。
  25. 25.プログラマブル・グループ実行ユニットが、外部記憶インターフエースを 制御する目的で、選択されたグループに付加された通信加算器ツリーから受け取 ったグループ・コマンドに応答する、請求項17に記載の装置。
  26. 26.ニユーロン活動化関数ユニットが、Y値出力を提供する非線形シグモイド 生成機構及びY(1−Y)値出力を提供するシグモイド導関数生成機構である、 請求項1に記載の装置。
  27. 27.通信加算器ツリーが、log2N個の2−1通信加算器段を含む、請求項 1に記載の装置。
  28. 28.通信加算器ツリーの各段が、2−1加算器からなる2−1通信加算器と、 加算から得られるのとは逆方向に値を通信するための加算器バイパス経路と、加 算機能と逆方向通信経路の間で切り換える手段とを含んでいる、請求項27に記 載の装置。
  29. 29.接続されたホスト・コンピュータならびにN個の外部求和及び切換え機構 とインターフエースするプログラマブル・プロセッサ制御装置が、 外部求和及び切換え機構の制御 通信加算器ツリーの制御 反復加算器の制御 シナプス・プロセッサの初期設定 シナプス・プロセッサ命令の発行 アルゴリズムによるデータの計算 シナプス・プロセッサ・データの発行 ニユーラル・ネットワークのエミユレーシヨンの開始多層ネットワークのシーケ ンス制御 ニューラル・ネットワーク・エミユレーシヨンの停止−所期の結果への収束テス トによる停止、または−ホストによって指定された回数のエミユレーション・サ イクルの完了による停止 の諸機能を提供する、請求項1に記載の装置。
  30. 30.重みアレイ、Y値アレイ、Y(1−Y)アレイ、教師アレイ、及びトレー ス・アレイを含む、請求項29に記載のプログラマブル・プロセッサ制御装置。
  31. 31.N2個のシナプス処理ユニットと、N個の通信加算器ツリーと、N個のニ ユーロン活動化関数ユニットと、グループ当りH個のシナプス処理ユニットから なるG個のグループに区分され、各グループが外部記憶装置とインターフェース してV個(V>N)のニューロンの記憶能力を提供する、Nニューロン構造用の N個のニューロン活動化関数ユニット及びN個の外部求和及び切換え機構と、プ ログラマブル・プロセッサ制御装置とが存在する、請求項1に記載の装置。
  32. 32.グループ区分Nニューロン構造が、既存の構造にグループを追加し、かつ 外部求和及び切換え機構とプログラマブル・プロセッサ制御装置とを追加のニュ ーロンをサポートできるように修正することにより、より大きなNにスケーリン グできる、請求項31に記載の装置。
  33. 33.各通信加算器ツリーが、ツリーのリーフ・ノードにあるN個のシナプス処 理ユニットと、追加の外部入力求和段の外部求和ツリーの出力部のルートに接続 された1個のニューロン活動化関数とに接続されて、結果をプログラマブル・プ ロセッサ制御装置に提供し、Nニューロン構造を構成する、前記の通信加算器ツ リーと、外部求和及び切換え機構と、反復加算器と、外部記憶装置とインターフ エースするシナプス処理ユニットのグループと、ニューロン活動化関数ユニット とが、 重み値及びデータ値を各シナプス処理ユニットに入力する手段と、 タグ付き命令、データ、及びニューロン出力値(Y値と呼ぶ)を入力シナプス処 理ユニットに通信して戻す手段と、データを外部記憶装置から入力シナプス処理 ユニットに読み取り、外部記憶装置から入力シナプス処理ユニットに書き込む手 段と、 各シナプス処理ユニット内で、付加された通信加算器ツリーから受け取った命令 、データ及びY値の宛先を制御する手段と、 各シナプス処理ユニット内で、外部記憶装置から受け取ったデータの宛先を制御 する手段と、 動作モードに応じて外部求和及び切換え機構を制御する手段と、 各シナプス処理ユニット内で、受け取ったシナプス・プロセッサ命令を実行する 手段と、 各グループ内で、受け取ったグループ命令を実行する手段と、 自動モードで次の動作に使用するデータを受け取つたとき、前に受け取つた命令 を実行する手段と、結果を局所的に各シナプス処理ユニットに留まらせ、あるい は外部記憶装置に送らせ、あるいは付加された通信加算器ツリーに送らせる、オ ペランド選択及び宛先経路制御手段と、その結果が局所的に各シナプス処理ユニ ットに留まる動作について、付加されたプログラマブル・プロセッサ制御装置に 動作完了を通信する手段と、 シナプス処理ユニットから受け取った値の和を求める手段と、 外部入力値を各ニューロン活動化関数ユニットに入力する手段と、 新しい命令、データ及びニューロン活動化関数ユニットY値を生成する手段と を有する、請求項31に記載の装置。
  34. 34.重み値及びデータ値を各シナプス処理ユニットに入力する手段が、各シナ プス処理ユニット内及び外部記憶装置内の各重み値及びデータ値記憶ユニットに アクセス可能な、プログラマブル・プロセッサ制御装置の形のホスト・インター フエース制御機構を含む、請求項33に記載の装置。
  35. 35.タグ付き命令、データ及びニューロン出力値(Y値と呼ぶ)を入力シナプ ス処理ユニットに通信して戻す手段が、通信モードで動作する通信加算器ツリー と、各シナプス処理ユニット内のタグ突合せユニットとによるものであり、受け 取った値がそれぞれ同報通信ビットとタグ・フィールドからなるタグ・ヘッダを 含んでいる、請求項33に記載の装置。
  36. 36.タグ・フィールドが、あるグループ中のすべてのシナプス処理ユニットに 共通なグループ・タグである、請求項35に記載の装置。
  37. 37.データを外部記憶装置から入力シナプス処理ユニットに通信する手段が、 1個の重み外部記憶アドレスと、2個のY値外部記憶アドレスと、選択的読み書 き制御とからなるグループ外部記憶装置読み書き制御機構によるものであり、そ のアドレス指定及び制御機構が受け取つたグループ命令によってセットアップさ れ、外部記憶装置に記憶されたDビット重み値が、それぞれHビットのD回のア クセスを必要とし、シーリング関数が、log2Dが分数の場合にlog2Dの 次に大きな整数を取るものとして、そのアドレス指定が、命令即値データ・フィ ールドで指定される記憶アドレスにシーリング(log2D)ビットを付加する ことによつて実現される、請求項33に記載の装置。
  38. 38.各シナプス処理ユニット内で付加された通信加算器ツリーから受け取った 命令、データ及びY値の宛先を制御する手段が、命令については、一般セル中で は命令復号機構と、コマンド経路ビットと、分配論理機構とにより、また対角線 セル中では、命令復号機構と、R1、R2、・・・、R6がある命令からアドレ ス可能なデータ記憶ユニットを表すものとして、R4→R3、R5→R2、R6 →R1、CR2→CR1のマッピングを行なう記憶ユニット・マッピング論理機 構と、分配論理機構とにより、またY値を含めたデータについては、対角線セル 中でも一般セル中でも、データ復号機構と、データ経路記憶ユニットとによるも のである、請求項33に記載の装置。
  39. 39.各シナプス処理ユニット内で外部記憶装置から受け取つたデータの宛先を 制御する手段が、対角線セル中でも一般セル中でも外部記憶装置データ経路記憶 ユニットによるものである、請求項33に記載の装置。
  40. 40.YINMODEと呼ぶ一般セルの1つの動作モードでは、上端通信加算器 ツリーから受け取つた命令が上端シナプス処理ユニットの命令記憶ユニットに送 られ、下端通信加算器ツリーから受け取った命令が下端シナプス処理ユニットの 命令記憶ユニットに送られ、上端通信加算器ツリーから受け取ったデータが上端 シナプス処理ユニットの指定されたデータ記憶ユニットに送られ、下端通信加算 器ツリーから受け取ったデータが下端シナプス処理ユニットの指定されたデータ 記憶ユニットに送られるように、データ経路記憶ユニットとコマンド経路ビット がセットアップされる、請求項38に記載の方法。
  41. 41.YOUTMODEと呼ぶ一般セルの1つの動作モードでは、上端通信加算 器ツリーから受け取つた命令が下端シナプス処理ユニットの命令記憶ユニットに 送られ、下端通信加算器ツリーから受け取つた命令が上端シナプス処理ユニット の命令記憶ユニットに送られ、上端通信加算器ツリーから受け取ったデータが下 端シナプス処理ユニットの指定されたデータ記憶ユニットに送られ、下端通信加 算器ツリーから受け取ったデータが上端シナプス処理ユニットの指定されたデー タ記憶ユニットに送られるように、データ経路記憶ユニットとコマンド経路ビッ トがセットアップされる、請求項38に記載の方法。
  42. 42.動作モードに応じて外部求和及び切換え機構を制御する手段が、動作モー ドに応じてアルゴリズム制御が変化する、プログラマブル・プロセッサ制御装置 からのアルゴリズム制御によるものである、請求項33に記載の装置。
  43. 43.各シナプス処理ユニット内で受け取ったシナプス・プロセッサ命令を実行 する手段が、自動動作モードの指定と、原始オペランドと、結果宛先と、ソース 指定及び宛先指定に応じてデータまたは外部記憶装置をアドレス指定するための 即値データの指定とを含む、非動作(NOP)命令、(加算器ツリー経路をセッ トアップするための)PATH命令、(外部記憶経路をセットアップするための )PATH命令、算術命令、論理命令、外部記憶装置読取り命令、及び外部記憶 装置書込み命令に応答する、プログラマブル実行ユニットによるものである、請 求項33に記載の装置。
  44. 44.実行の短い命令には埋込みを行なつて、実行が最長の命令によって外部記 憶アクセス・タイミングの判断基準が決まるようにすることにより、すべての命 令が同じ量の時間で実行される、請求項43に記載の装置。
  45. 45.各グループ内で受け取つたグループ命令を実行する手段が、外部記憶アド レス形成を制御し、かつS=00(カウントせず)、S=01(カウント増分) 、S=10(カウント減分)、S=11(使用せず)の各指定と、I=0(カウ ントせず)、I=1(カウント)、U=0(1個のY値アレイ使用)、U=1( 両方のY値アレイ使用及びトグル使用)の各指定と、SOカウント(SOは構造 化出力サイクルの略語であつて、各SOサイクルごとにN個のニユーロン出力が 生成される)とIAカウント(IAは反復加算サイクルの略語であって、Vニュ ーロン・ネットワーク中の各ニューロンごとにV/N回の反復加算が実行される )とを含む、非動作(NOP)命令、(S、I、Uパラメータをセットするため の)GSET命令、及び(S、I、U、SOカウント、IAカウントの各パラメ ータをセットするための)GLDCT命令に応答する、指定したグループ論理機 構によるものである、請求項33に記載の装置。
  46. 46.自動モードで次の動作で使用するデータを受け取ったとき前に受け取った 命令を実行する手段が、自動モードをセットする能力をもつ命令を受け取ること によって、かつ・A=0、S=00:単一SOサイクル更新、“I”=1の場合 、現SOサイクルのすべてのIAが実行され、次の命令を待ち、SOカウントは 増分されない・A=0、S=01または10:現SOサイクルを実行してSOカ ウントを増分または減分し、新しいコマンドを待ち、“I”=1の場合、現SO サイクルのすべてのIAが実行される ・A=1、S=00:現SOサイクルを実行し、新しいデータを待ち、有効なタ グ付きデータを受け取つたとき、同じSOサイクルを実行し、新しいデータを待 ち、有効なタグ付きデータを受け取るたびにこの手順を繰り返し、これを停止さ せる新しいコマンドを受け取るまで続行する・A=1、S=01または10:現 SOサイクルを実行してSOカウントを増分または減分し、新しいデータを待ち 、有効なタグ付きデータを受け取つたとき、SOサイクルを実行してSOカウン トを増分または減分し、新しいデータを待ち、有効なタグ付きデータを受け取る たびにこの手順を繰り返し、これを停止させる新しいコマンドを受け取るまで続 行する 方式で前に発行されたグループ命令によつて指定されるSビツトの設定によって 、かつ プログラマブル・プロセッサ制御装置から送られた有効なタグ付きデータを受け 取ることによつてセットされる自動モード・フラグによるものである、請求項3 3に記載の装置。
  47. 47.結果を局所的に各シナプス処理ユニットに留まらせ、あるいは外部記憶装 置に送らせ、あるいは付加された通信加算器ツリーに送らせるようにオペランド 選択及び宛先経路の制御を行なう手段が、命令復号機構と、外部記憶装置宛先用 のグループ・アドレス指定制御及びアドレス形成と、分配論理機構とによるもの である、請求項33に記載の装置。
  48. 48.その結果が局所的に各シナプス処理ユニットに留まる動作について、付加 されたプログラマブル・プロセッサ制御装置に動作完了を通信する手段が、求和 モードでの通信加算器ツリーの使用によるものであり、その際に、動作を首尾よ く完了したシナプス・プロセッサはツリーに“1”を注入し、動作が不成功に終 わると、シナプス・プロセッサはツリーに“0”を注入し、それによって、N個 のシナプス・プロセッサ局所動作が首尾よく完了した場合はNの求和値が得られ 、いずれかのシナプス・プロセッサ動作が不成功であった場合はそれが得られな いという、請求項33に記載の装置。
  49. 49.シナプス処理ユニットから受け取った値の和を求める手段が、関数実行モ ードで動作する付加された通信加算器ツリーと、求和モードの外部求和及び切換 え機構とによるものである、請求項33に記載の装置。
  50. 50.外部入力値を各ニユーロン活動化関数ユニットに入力する手段が、プログ ラマブル・プロセッサ制御装置から供給され、反復加算器の出力部にある最終求 和段に外部から印加される入力によるものである、請求項33に記載の装置。
  51. 51.新しい命令、データ及びニューロン活動化関数ユニットY値を生成する手 段が、ニューロン活動化関数ユニットと、接続されたホスト・コンピュータなら びにN個の外部求和及び切換え機構とインターフェースするプログラマブル・プ ロセッサ制御装置とによるものである、請求項33に記載の装置。
  52. 52.プログラマブル・プロセッサ制御装置によつて発行される局所及び非局所 シナプス・プロセッサ命令が、構造上での災害を避けるために、命令及びデータ 発行機構として、動作のために外部求和経路から受け取った値の使用を決定する 、請求項51に記載のプログラマブル・プロセッサ制御装置。
  53. 53.データがビット直列形式であり、ビットが対角線セルまたは一般セル中で 受け取られる順序が、まず同報通信ビット、次にタグ・フィールド、次にエラー 処理ビット、続いてデータを示す非活動状態にセットされたコマンド・ビット、 条件付き実行ビット、データ・フィールド、最後にエラー処理ビットである、請 求項33に記載の装置。
  54. 54.シナプス・プロセッサ命令がビット直列形式であり、ビットが対角線セル または一般セル中で受け取られる順序が、まず同報通信ビット、次にタグ・フィ ールド、次にエラー処理ビット、続いて命令を示す活動状態にセットされたコマ ンド・ビット、シナプス・プロセッサ命令を示す非活動状態にセットされたグル ープ・ビット、自動ビット、命令のタイプを示すコマンド・フィールド、最初の オペランドを示すソース1フィールド、第2のオペランドを示すソース2フィー ルド、結果の宛先を示す宛先フィールド、即値データまたは外部メモリ・アドレ ス用の即値データ・フィールド、最後にエラー処理ビットである、請求項33に 記載の装置。
  55. 55.グループ命令がビット直列形式であり、ビットが対角線セルまたは一般セ ル中で受け取られる順序が、まず同報通信ビット、次にタグ・フィールド、次に エラー処理ビット、続いて命令を示す活動状態にセットされたコマンド・ビット 、グループ命令を示す活動状態にセットされたグループ・ビット、2個の命令出 力カウンタ制御ビット、反復加算器カウンタ制御ビット、Yアレイ使用ビット、 命令のタイプを示すコマンド・フィールド、SOカウント・フィールド、IAカ ウント・フィールド、最後にエラー処理ビットである、請求項33に記載の装置 。
  56. 56.4つのグループを含み(G=4)、各グループごとにH=4個のシナプス 処理ユニットを有するグループ区分N(=4)ニューロン構造上にマップされた V(=11)ニューロン構造からなり、SO1サイクルにマップされる外部入力 をもつ2個のニューロンを含む第1層と、やはりSO1サイクルにマップされる 1個のニューロンを含む第2層と、SO2サイクルにマップされる4個のニュー ロンを含む第3層と、SOサイクルにマップされる4個のニューロンを含む第4 層の4層から構成される多層ニューラル・ネットワーク上で、入出力エンコーダ 問題のために後方伝播学習をエミユレートするために、レジスタが記憶ユニット として使用され、MPYが複数命令を指し、加算器ツリーの宛先が付加された通 信加算器ツリーに結果を送り、プログラマブル・プロセッサ制御装置を学習プロ セッサと呼び、SVLM(スケーラブル仮想学習機械)がV個のニユーロンをサ ポートするグループ区分Nニューロン構造を指すものとして、以下のステップを 順次実行するための手段が設けられている、請求項33に記載の装置: a)外部メモリから、このモデルで使用されない結合に対してCEBビットが“ 0”にセットされた1組の初期重み値とY値を読み込むことによつて、SVLM を初期設定する。 完全に結合された11ニューロン・モデルの可能な121個の結合重みのうちの 22個だけが入出力エンコーダ問題で使用される。11個のニューロン出力を得 るために、それぞれ3つのIAサイクルからなる3つのSOサイクルを実行する 。 入出力エンコーダ問題ではニューロン13、14、15または16はないので、 この例では第4のSOサイクル及びIAサイクルは不要である。IAカウントと SOカウントをロードし、“S”、“I”、“U”の各制御ビットをセットする ために、グループ・コマンドが発行される。GLDCTO,1,1命令が“S” 、“I”、“U”を“O”にセットし、SO=1及びIA=1をロードする。 b)初期設定の後、SVLMを実行モードに置き、入力パターンEX1とEX2 を印加する。省略時経路を一般シナプス・プロセッサを通るものとして設定する 。具体的には、上端加算器ツリーから受け取ったコマンドは下端コマンド・レジ スタCR2に入り、下端加算器ツリーから受け取つたデータは上端コマンド・レ ジスタCR2に入る。上端加算器ツリーから受け取つたデータはYiレジスタR 5に入り、下端加算器ツリーから受け取ったデータはYjレジスタR5に入る( 相対アドレス指定を仮定する)。 c)4個の物理ニューロンがMPYA R1*R2→ADDTREE(T)を発 行する。各ネットワーク実行層ごとに乗算命令を再発行せずに性能を向上させる ために、自動モードを使用する。層1と2はN個のニユーロンのSO1サイクル 上にマップされるので、“S”=“00”のとき、SOカウンタはSOカウント を増分しない。さらに、“U”ビットが“0”にセットされた場合、新しく更新 されたY値が次のニユーロン更新で利用される。SVLM構造中のY値レジスタ は最初0なので、すべての重みとY値の積は0となり、したがって加算されると 0の加算値を生じる。 d)SVLM構造上でニューロンの第1層を実行して、第1層ニューロン出力及 びその導関数を生成する(学習プロセッサは他の2個のニューロン出力値を無視 する)。 ・Y1=F(EX1) ・Y2=F(EX2) ・Dr1=Y1(1−Y1) ・Dr2=Y2(1−Y2) e)ネットワーク・モデルの第2層をエミユレートし、続いて第3層及び第4層 に進むために、第2層の実行後、SOカウントを増分しなければならない。これ を実現するために、新しいグループ命令GLDCT1,3,1命令を発行して、 “S”の状態を“01”に変更する。“I”ビットと“U”ビットは指定されて いず、共に“O”にセットされたままとなる。 GLDCT1,3,1命令が送られた後、第1層ニューロン出力がSVLMにフ ィードバックされる。自動MPY命令が指定されたので、Y1とY2を受け取っ たときニューロンの第2層が実行され、第2層ニューロン出力とその導関数を生 成する。 第2層の実行後、SOカウントが2に増分される。 ・Y1及びY2を逆方向通信する。 ・Y3=F(W3,1Y1十W3,2Y2)・Dr3=Y3(1−Y3) f)すべての層が実行され、ネットワーク出力とその導関数が得られるまで、こ れを続行する。Y3′を受け取ったとき、第2のSOサイクルが開始されて、第 3層出力、すなわちY4、Y5、Y6、Y7を発生し、SOカウントが3に増分 される。第3層Y値が逆方向通信され、第3SOサイクルが開始されて、第4層 出力を発生し、ネットワーク・エミユレーシヨンが完了したときSOカウントを 1に増分させる。  ・第3層の実行はSOカウント=2から始まる・Y3を逆方向通信する ・第3層の実行 −Y4=F(W4,3Y3) −Y5=F(W5,3Y3) −Y6=F(W6,3Y3) −Y7=F(W7,3Y3) −Dr4=Y4(1−Y4) −Dr5=Y5(1−Y5) −Dr6=Y6(1−Y6) −Dr7=Y7(1−Y7) −SOカウントを3に増分する ・GLDCT1,3,2命令を発行してIAカウントに2をロードし、外部記憶 装置から正しい重みにアクセスできるようにする。“S”ビット=“01”及び SOカウント=3は同じままである ・第4層の実行はSOカウント=3から始まる・Y4、Y5、Y6、Y7を逆方 向通信する・第4層の実行 −Y8=F(W8,4Y4+W8,5Y5+W8,6Y6+W8,7Y7)−Y 9=F(W9,4Y4+W9,5Y5+W9,6Y6+W9,7Y7)−Y10 =F(W10,4Y4+W10,5Y5+W10,6Y6+W10,7Y7) −Y11=F(W11,4Y4+W11,5Y5+W11,6Y6+W11,7 Y7) −Dr8=Y8(1−Y8) −Dr9=Y9(1−Y9) −Dr10=Y10(1−Y10) −Dr11=Y11(1−Y11) −SOカウントを1に進める g)11個のニューロン値及びその導関数がすべて計算され、Y値アレイ及びY 導関数アレイに入れられた後、SVLMを学習モードに置く。この例のように疎 に結合したネットワークでは、IAカウント及びSOカウントを非クロッキング 方式で使用し、新しいIAカウントまたはSOカウントを望むときには、グルー プ・コマンド命令によつて明示的にそれを変更する。 h)学習プロセッサが、Yi値が最小指定誤差に収束するかどうか検査する。最 小誤差に達した場合は、パターンpに関する学習過程を停止することができる。 収束に達していない場合は、パターンpに関する学習を続行する。 ・収束テストY8=|(t8−Y8)|≦最小誤差・収束テストY9=|(t9 −Y9)|≦最小誤差・収束テストY10=|(t10−Y10)|≦最小誤差 ・収束テストY11=|(t11−Y11)1≦最小誤差i)学習プロセッサが 、出力ニューロンと前の層のニューロンの間の重みを更新する際に使用する、出 力ニューロンのδipを計算する。 δip=(tip−Yip)Drip ・δ8=E8=(t8−Y8)Dr8 ・δ9=E9=(t9−Y9)Dr9 ・δ10=E10=(t10−Y10)Dr10・δ11=E11=(t11− Y11)Dr11j)クロッキング・モードの指定なしでSOカウントとIAカ ウントをロードする。データ経路が変更され、次に誤差信号が当該のシナプス・ プロセッサ要素の一時レジスタに逆通信される。 ・GLDCT0,3,2命令がSO=3及びIA=2をロードする。これは、す べての重みが外部メモリ中のどこにあるかを指し、SOカウンタとIAカウンタ がクロックされないこと、すなわちS=00、I=0を保証する。 4個の物理ニューロンが、PATH R4を発行してデータ経路を変更する。P ATH R4を発行すると、前記ステップC)で発行されたMPYAによって指 定される自動乗算モードが停止する。次に受け取られるデータは、GSYP内の 相対アドレスR4一時レジスタ及びDSYP内のR3に入る。コマンド経路は変 更されないままとなる。 ・E8、E9、E10、E11がY8、Y9、Y10、Y11ソース点から逆通 信される。 k)誤差信号と適切な重みの乗算を開始するためにMPY命令を発行する。積を 加算して、次層後方重み修正プロセスで使用される誤差和ERipを生成する。 コマンド経路が変更されなかった、すなわち上端加算器ツリーからのコマンドは 下端コマンド・レジスタCR2に入り、下端加算器ツリーからのコマンドは上端 コマンド・レジスタCR2に入るので、誤差信号はR3一時レジスタの受け取っ たコマンドに対する相対アドレスにある。 ▲数式、化学式、表等があります▼ 上式でm=Mi+M2+・・・+ML ・ニューロン8、9、10、11がMPYR6*R3→ADD TREE(T) を発行する ・重み付き誤差和ER4、ER5、ER6、ER7を生成する。 ER4=W8,4E8+W9,4E9+W10,4E10+W11,4E11E R5=W8,5E8+W9,5E9+W10,5E10+W11,5E11ER 6=W8,6E8+W9,6E9+W10,6E10+W11,6E11ER7 =W8,7E8+W9,7E9+W10,7E10+W11,7E111)層3 と層4の間の重みが、ここで学習規則によって修正される。ΔWijはpYjE iによつて2命令ステップで生成される。 ステップ1 MPY R5*R3→R4・TEMPREG8,4=Y4E8 ・TEMPREG8,5=Y5E8 ・TEMPREG8,6=Y6E8 ・TEMPREG8,7=Y7E8 TEMPREG9,4=Y4E9 ・以下になるまで続ける ・TEMPREG11,7=Y7E11ステップ2 MPYR4*IMD→R4 ・ΔW8,4=pTEMPREG8,4・ΔW8,5=pTEMPREG8,5 ・ΔW8,6=pTEMPREG8,6・ΔW8,7=pTEMPREG8,7 ・ΔW9,4=pTEMPREG9,4・以下になるまで続ける ・ΔW11,7=pTEMPREG11,7m)さらに1ステップで層3と層4 の間の新しい重み値を生成する。新Wij=W′ij=旧Wij+ΔWij。新 しい重みを外部記憶装置に記憶する。ADD R6+R4→EXT.MEM.2 は現SOカウントと現IAカウントを外部記憶装置へのアドレスとして使用する 。 ・ΔW′8,4=pTEMPREG8,4・ΔW′8,5=pTEMPREG8 ,5・ΔW′8,6=pTEMPREG8,6・ΔW′8,7=pTEMPRE G8,7・ΔW′9,4=pTEMPREG9,4・以下になるまで続ける ・ΔW′11,7=pTEMPREG11,7n)この手順に従って、ネットワ ーク内の他の層に関する重みを更新することができる。第3層については、一般 式E1=DriERiからSO=2、IA=1、誤差信号E4、E5、E6、E 7を学習プロセッサ内で生成し、次いで誤差信号を構造内で逆通信することがで きる。次に誤差信号ER3を生成することができ、続いて重みW4,3、W5, 3、W6,3、W7,3について重み更新シーケンスを実行する。すべての重み が更新されるまでこれを続行する。 o)次の学習サイクルに備えて新しい経路コマンドPATH R2を送り、その 結果、新しいY値が適切なレジスタに送られる。 p)SVLMを実行モードに置き、調整された重みによって出力パターンが最小 指定誤差で学習パターンと一致するまで既存のパターンpを再度印加する。最小 指定誤差に達するまで、SVLMは実行モードと学習モードに交互に切り替わる 。最小指定誤差に収束した後、新しいパターンを印加し、すべての学習パターン が印加済みとなるまでこのプロセスを繰り返すことができる。
JP3509437A 1990-05-22 1991-05-17 スケーラブル・フロー仮想学習ニューロコンピュータ Expired - Fee Related JP2663995B2 (ja)

Applications Claiming Priority (4)

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

Publications (2)

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

Family

ID=27062243

Family Applications (4)

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

Family Applications Before (3)

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

Country Status (4)

Country Link
US (3) US5509106A (ja)
EP (4) EP0484506A1 (ja)
JP (4) JP2746350B2 (ja)
WO (4) WO1991018351A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2647327B2 (ja) * 1992-04-06 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 大規模並列コンピューティング・システム装置
JP2572522B2 (ja) * 1992-05-12 1997-01-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピューティング装置
US5517667A (en) * 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
AU684214B2 (en) * 1994-09-07 1997-12-04 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
WO1999033019A1 (en) * 1997-12-19 1999-07-01 Bae Systems Plc Neural networks and neural memory
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 中国科学院计算技术研究所 加法器装置、数据累加方法及数据处理装置
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 삼성전자주식회사 심층 신경망용 가속기
CN111310893B (zh) * 2016-08-05 2023-11-21 中科寒武纪科技股份有限公司 一种用于执行神经网络运算的装置及方法
US9946539B1 (en) 2017-05-23 2018-04-17 Google Llc Accessing data in multi-dimensional tensors using adders
US10534607B2 (en) 2017-05-23 2020-01-14 Google Llc Accessing data in multi-dimensional tensors using adders
US10699779B2 (en) 2017-11-29 2020-06-30 Silicon Storage Technology, Inc. Neural network classifier using array of two-gate non-volatile memory cells
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 株式会社東芝 演算装置
US20220035762A1 (en) 2018-10-18 2022-02-03 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
CN113569796A (zh) * 2018-11-16 2021-10-29 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
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
US10720217B1 (en) 2019-01-29 2020-07-21 Silicon Storage Technology, Inc. Memory device and method for varying program state separation based upon frequency of use
US10929058B2 (en) 2019-03-25 2021-02-23 Western Digital Technologies, Inc. Enhanced memory device architecture for machine learning
US11783176B2 (en) 2019-03-25 2023-10-10 Western Digital Technologies, Inc. Enhanced storage device memory architecture for machine learning
US11423979B2 (en) 2019-04-29 2022-08-23 Silicon Storage Technology, Inc. Decoding system and physical layout for analog neural memory in deep learning artificial neural network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796199A (en) * 1987-02-24 1989-01-03 Oregon Graduate Center Neural-model, information-handling architecture and method
US4858147A (en) * 1987-06-15 1989-08-15 Unisys Corporation Special purpose neurocomputer system for solving optimization problems
US5014235A (en) * 1987-12-15 1991-05-07 Steven G. Morton Convolution memory
FR2625347B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
US4953099A (en) * 1988-06-07 1990-08-28 Massachusetts Institute Of Technology Information discrimination cell
DE58906476D1 (de) * 1988-07-05 1994-02-03 Siemens Ag In integrierter Schaltungstechnik ausgeführtes digitales neuronales Netz.
GB2224139A (en) * 1988-10-24 1990-04-25 Philips Electronic Associated Digital data processing apparatus
FR2639461A1 (fr) * 1988-11-18 1990-05-25 Labo Electronique Physique Arrangement bidimensionnel de points memoire et structure de reseaux de neurones utilisant un tel arrangement
DE68927474T2 (de) * 1988-12-29 1997-05-22 Sharp Kk Neuro-Rechner
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
US5148515A (en) * 1990-05-22 1992-09-15 International Business Machines Corp. Scalable neural array processor and method
US5243688A (en) * 1990-05-22 1993-09-07 International Business Machines Corporation Virtual neurocomputer architectures for neural networks

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH05500429A (ja) スケーラブル・フロー仮想学習ニューロコンピュータ
US5682544A (en) Massively parallel diagonal-fold tree array processor
US5329611A (en) Scalable flow virtual learning neurocomputer
US5325464A (en) Pyramid learning architecture neurocomputer
US5815723A (en) Picket autonomy on a SIMD machine
US5805915A (en) SIMIMD array processing system
JPH03251947A (ja) ニューロチップおよびそのチップを用いたニューロコンピュータ
JP2021507383A (ja) ニューラルネットワークプロセッサに対する統合メモリ構造
Christ et al. A very fast parallel processor
JP2647330B2 (ja) 超並列コンピューティングシステム
Deprit Implementing recurrent back-propagation on the Connection Machine
US5765012A (en) Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US11250105B2 (en) Computationally efficient general matrix-matrix multiplication (GeMM)
Viredaz Design and analysis of a systolic array for neural computation
Müller et al. High performance neural net simulation on a multiprocessor system with" intelligent" communication
Brickner et al. QCD on the connection machine: beyond LISP
Morishita et al. Neural Network Multiprocessors Applied with Dynamically Reconfigurable Pipeline Architecture
Smith et al. A programmable floating-point cell for systolic signal processing
Hewitt Preliminary Design of the APIARY for VLSI Support of Knowledge-Based Systems
Malek High-performance computing in Europe
Faure et al. A cellular architecture dedicated to neural net emulation
Miller A Survey of Parallel Computing
O’Donnell Supporting functional and logic programming languages through a data parallel VLSI architecture
Baker et al. Simulation Between Enhanced Meshes and the Multiple Associative Computing (MASC) Model
Haider Systolic arrays for the matrix iterative methods

Legal Events

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