JPH06139218A - ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 - Google Patents
ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置Info
- Publication number
- JPH06139218A JPH06139218A JP29244092A JP29244092A JPH06139218A JP H06139218 A JPH06139218 A JP H06139218A JP 29244092 A JP29244092 A JP 29244092A JP 29244092 A JP29244092 A JP 29244092A JP H06139218 A JPH06139218 A JP H06139218A
- Authority
- JP
- Japan
- Prior art keywords
- layer
- processor
- neural network
- data
- memory
- 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.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
Abstract
(57)【要約】
【構成】 多層型のニューラルネットワークの学習にお
いて、出力層の出力値に対する目標の他に、他の各層の
出力層に対する仮想目標を設け、入力層以外の各層の入
力を前層の目標値自身とすること、各層の出力値とター
ゲット値との誤差が少なくなるように各層の重みと出力
層の目標値以外の目標値自身を変更することを特徴とす
るものである。 【効果】 並列学習を行うことができるため、予測やパ
ターン認識、制御分野等で利用されている多層型のニュ
ーラルネットワークの高速学習が可能となる。
いて、出力層の出力値に対する目標の他に、他の各層の
出力層に対する仮想目標を設け、入力層以外の各層の入
力を前層の目標値自身とすること、各層の出力値とター
ゲット値との誤差が少なくなるように各層の重みと出力
層の目標値以外の目標値自身を変更することを特徴とす
るものである。 【効果】 並列学習を行うことができるため、予測やパ
ターン認識、制御分野等で利用されている多層型のニュ
ーラルネットワークの高速学習が可能となる。
Description
【0001】
【産業上の利用分野】この発明はディジタル集積回路又
は、複数のディジタル集積回路を含むシステムを用いて
神経回路網をシミュレートするための方法及び装置に関
する。
は、複数のディジタル集積回路を含むシステムを用いて
神経回路網をシミュレートするための方法及び装置に関
する。
【0002】
【従来の技術】この発明は並列処理を使用した人工の神
経回路網に関し、特に、従来よりも極めて大量の並列演
算を可能にした人工の神経回路網に関する。
経回路網に関し、特に、従来よりも極めて大量の並列演
算を可能にした人工の神経回路網に関する。
【0003】人工神経回路網をシミュレートする、典型
的な専用のディジタル集積回路又はシステムは、中央処
理装置(CPU)と、人工神経回路網を制御するための
データ及びプログラムを記憶するメモリと、各入力及び
出力装置とを含んでいる。記憶されるプログラムはディ
ジタル集積回路において利用可能なデータに関して所定
の演算、転送又は論理動作を行うようにディジタル集積
回路に指示する一連の命令である。かかるデータは最終
的に入力装置からディジタル集積回路に与えられ、そし
てCPU動作の結果は出力装置へと供給される。人工神
経回路網をシミュレートするために使用される典型的な
専用のディジタル集積回路において、この一連の命令は
一度に1つづつ直列に実行されるか又は、シミュレート
されつつあるニューロンつまり神経細胞の単一の層に関
して、その命令のすべて又はいくつかを並列に実行す
る。
的な専用のディジタル集積回路又はシステムは、中央処
理装置(CPU)と、人工神経回路網を制御するための
データ及びプログラムを記憶するメモリと、各入力及び
出力装置とを含んでいる。記憶されるプログラムはディ
ジタル集積回路において利用可能なデータに関して所定
の演算、転送又は論理動作を行うようにディジタル集積
回路に指示する一連の命令である。かかるデータは最終
的に入力装置からディジタル集積回路に与えられ、そし
てCPU動作の結果は出力装置へと供給される。人工神
経回路網をシミュレートするために使用される典型的な
専用のディジタル集積回路において、この一連の命令は
一度に1つづつ直列に実行されるか又は、シミュレート
されつつあるニューロンつまり神経細胞の単一の層に関
して、その命令のすべて又はいくつかを並列に実行す
る。
【0004】ここ10数年間、人工神経回路網は専用の
ディジタル集積回路を用いてシミュレートされて来た
が、ディジタル集積回路及びそれらを実行するプログラ
ムはますます複雑になって来ている。その複雑さは通
常、単一の専用のディジタル集積回路上でのプロセッサ
の数、サイズ及び精度における増大、並びに、それらメ
モリのサイズ及びそこに記憶されるプログラム及び/又
はデータの増大となって現われ、或る意味でディジタル
集積回路又はシステムはますます非能率的になって来て
いる。
ディジタル集積回路を用いてシミュレートされて来た
が、ディジタル集積回路及びそれらを実行するプログラ
ムはますます複雑になって来ている。その複雑さは通
常、単一の専用のディジタル集積回路上でのプロセッサ
の数、サイズ及び精度における増大、並びに、それらメ
モリのサイズ及びそこに記憶されるプログラム及び/又
はデータの増大となって現われ、或る意味でディジタル
集積回路又はシステムはますます非能率的になって来て
いる。
【0005】多層型の人工神経回路網のシミュレーショ
ンでは、入力層を除いたいずれかの与えられた層の計算
は前の層の出力層に依存している。特定の入力データ成
分に対して、同一の層に専用されているプロセッサは多
層回路網において同時に計算できる。また、人工神経回
路網をシミュレートするための典型的な専用のディジタ
ル集積回路はしばしば、各種プロセッサ間でデータを通
信するための広域バスつまりグローバル・バスを採用し
ており、いずれかのプロセッサがそのデータをグローバ
ル・バス上でのすべてのプロセッサに同時に通信するの
を可能にしている。次の層にあって、そしてグローバル
データバス上でのデータを予定している情報や組合せ命
令を含む目標プロセッサの同定は種々な方法によって検
証される。その方法のうちの最も一般的なものは“タグ
付”アドレスの使用である(例えば、タグ付アドレスを
用いたグローバル・バスについては、IJCNN '9
1シンガポール,Vol.III,ページ1844−184
9,“ウェーハ・スクールLSIにおける1152ディ
ジタル神経細胞から成る自己学習神経回路網”を参照;
グローバルデータバスについては、アダプティブ・ソル
ューションズ,インコーポレーテッド,“神経回路網シ
ュミレーションのための高度に並行なディジタル・アー
キテクチャ”を参照)。しかしながら、かかるグローバ
ル・バスの使用は、グローバルデータバス上でのすべて
のプロセッサがそのグローバルデータバス上にあるデー
タの目標“タグ付アドレス”を含んでいないので、専用
のディジタル集積回路の計算能率を制限する。それ故、
いずれかの与えられたタスクにおいては、専用のディジ
タル集積回路つまりシステムの一部のみが実際に使用さ
れることになる。それは、専用のディジタル集積回路に
より実行されつつある命令が2,3よりも多くないプロ
セッサにおいてのみ生じ、2,3の他の場所のみにおい
てデータに影響するためである。更に、専用のディジタ
ル集積回路のメモリのサイズやプロセッサの数が大きく
なるにつれて、いずれかのタスクで動作しないプロセッ
サの数も計算上ばかにならない。
ンでは、入力層を除いたいずれかの与えられた層の計算
は前の層の出力層に依存している。特定の入力データ成
分に対して、同一の層に専用されているプロセッサは多
層回路網において同時に計算できる。また、人工神経回
路網をシミュレートするための典型的な専用のディジタ
ル集積回路はしばしば、各種プロセッサ間でデータを通
信するための広域バスつまりグローバル・バスを採用し
ており、いずれかのプロセッサがそのデータをグローバ
ル・バス上でのすべてのプロセッサに同時に通信するの
を可能にしている。次の層にあって、そしてグローバル
データバス上でのデータを予定している情報や組合せ命
令を含む目標プロセッサの同定は種々な方法によって検
証される。その方法のうちの最も一般的なものは“タグ
付”アドレスの使用である(例えば、タグ付アドレスを
用いたグローバル・バスについては、IJCNN '9
1シンガポール,Vol.III,ページ1844−184
9,“ウェーハ・スクールLSIにおける1152ディ
ジタル神経細胞から成る自己学習神経回路網”を参照;
グローバルデータバスについては、アダプティブ・ソル
ューションズ,インコーポレーテッド,“神経回路網シ
ュミレーションのための高度に並行なディジタル・アー
キテクチャ”を参照)。しかしながら、かかるグローバ
ル・バスの使用は、グローバルデータバス上でのすべて
のプロセッサがそのグローバルデータバス上にあるデー
タの目標“タグ付アドレス”を含んでいないので、専用
のディジタル集積回路の計算能率を制限する。それ故、
いずれかの与えられたタスクにおいては、専用のディジ
タル集積回路つまりシステムの一部のみが実際に使用さ
れることになる。それは、専用のディジタル集積回路に
より実行されつつある命令が2,3よりも多くないプロ
セッサにおいてのみ生じ、2,3の他の場所のみにおい
てデータに影響するためである。更に、専用のディジタ
ル集積回路のメモリのサイズやプロセッサの数が大きく
なるにつれて、いずれかのタスクで動作しないプロセッ
サの数も計算上ばかにならない。
【0006】これらの問題は特に、多くの層の多層回路
網が必要とされる応用において強烈で、特に5つ又は、
それ以上の層の回路網がしばしば必要とされる著しい特
徴の応用に際してはなはだしい。
網が必要とされる応用において強烈で、特に5つ又は、
それ以上の層の回路網がしばしば必要とされる著しい特
徴の応用に際してはなはだしい。
【0007】代わりに、このような動作を行うための時
間は、もしもそれが多層の人工神経回路網の多くの層の
動作を並列に行うことが可能ならば、大いに減少でき
る。
間は、もしもそれが多層の人工神経回路網の多くの層の
動作を並列に行うことが可能ならば、大いに減少でき
る。
【0008】1989年に、多層回路網に局所学習つま
りローカル学習を始めて使用した幾つかの新しい学習ア
ルゴリズムが公表された(神経情報処理システム199
0,R.ローエル,“移動目標訓練アルゴリズム”,ペ
ージ558〜565;T.グロスマン,R.メイア及び
E.ドマニイ,“内部表示の選択による学習”,ページ
73〜80;A.クロフ,G.I.ソーアバーグソン及
びJ.A.ヘルツ,“内部表示に対するコスト・ファン
クション”,ページ733〜740を参照)。こうした
新しいアルゴリズムは、その層に対する入力に与えられ
るパターンに依存して、内部ニューロンの各々に学習し
て際して意図する目標状態が割当てられる技術を使用し
ている。これらのアルゴリズムは、逆伝搬の問題の1つ
を克服するために工夫されたもので、アルゴリズムを複
雑にしている学習でのデータの逆伝搬に必要な新しい重
みの計算に関係している。これらの新しいアルゴリズム
はその計算上の複雑さを内部表示を決定する複雑さに移
され、クローは、逆伝搬法に比較して、そうした方法を
ハードウェアで実施する方が容易であることを示唆して
いる。しかしながら、こうしたアルゴリズムが並列処理
のために構成されたという記事は、いずれの刊行物にも
見当らない。クローにより示唆されている1つのアルゴ
リズムは発明者等により発明されたものと類似している
が、内部目標を用いた定式化や評価方法の点で、発明者
等の技術と異なっている。すなわち、前者の定式化では
2層回路網に対するもので、そこでは、最後の層のみが
新しい重みを評価するために内部目標を使用している。
別な差違としては、定式化が2値入力パターン、2値内
部及び外部目標に対して設計された点である。この点
は、株価予測などのような入出力値が流動的であるアプ
リケーション、または特徴抽出などのような2層以上の
ネットワークを必要とするアプリケーションには適用で
きない点という問題を生じさせる。
りローカル学習を始めて使用した幾つかの新しい学習ア
ルゴリズムが公表された(神経情報処理システム199
0,R.ローエル,“移動目標訓練アルゴリズム”,ペ
ージ558〜565;T.グロスマン,R.メイア及び
E.ドマニイ,“内部表示の選択による学習”,ページ
73〜80;A.クロフ,G.I.ソーアバーグソン及
びJ.A.ヘルツ,“内部表示に対するコスト・ファン
クション”,ページ733〜740を参照)。こうした
新しいアルゴリズムは、その層に対する入力に与えられ
るパターンに依存して、内部ニューロンの各々に学習し
て際して意図する目標状態が割当てられる技術を使用し
ている。これらのアルゴリズムは、逆伝搬の問題の1つ
を克服するために工夫されたもので、アルゴリズムを複
雑にしている学習でのデータの逆伝搬に必要な新しい重
みの計算に関係している。これらの新しいアルゴリズム
はその計算上の複雑さを内部表示を決定する複雑さに移
され、クローは、逆伝搬法に比較して、そうした方法を
ハードウェアで実施する方が容易であることを示唆して
いる。しかしながら、こうしたアルゴリズムが並列処理
のために構成されたという記事は、いずれの刊行物にも
見当らない。クローにより示唆されている1つのアルゴ
リズムは発明者等により発明されたものと類似している
が、内部目標を用いた定式化や評価方法の点で、発明者
等の技術と異なっている。すなわち、前者の定式化では
2層回路網に対するもので、そこでは、最後の層のみが
新しい重みを評価するために内部目標を使用している。
別な差違としては、定式化が2値入力パターン、2値内
部及び外部目標に対して設計された点である。この点
は、株価予測などのような入出力値が流動的であるアプ
リケーション、または特徴抽出などのような2層以上の
ネットワークを必要とするアプリケーションには適用で
きない点という問題を生じさせる。
【0009】こうした概念はムーレイによって更に展開
され(“アナログVLSI及び多層パーセプトロン−精
度,雑音及びオン・チップ学習”、神経回路網に関する
第2回国際会議、ミュンヘン,−1991年、参照)、
アナログVLSI回路で使用するのに適している新しい
神経学習アルゴリズムを示唆している。マーレイによ
る、ローカル学習のみを使用する新しいアルゴリズムは
一般に使用されている逆搬アルゴリズムと対照的であ
る。マーレイの提案によると、彼が仮想目標と呼んでい
るシステムを使用した新しいアルゴリズムは神経の問題
を解決して、アナログVLSI学習プロセスとして育ち
得るものであった。マーレイの主な目的は、ディジタル
ではなくて、アナログのVLSIに対して最適化された
システムを作り出すことであって、これは記述される順
次学習シーケンス及び提案された予備のアナログ学習チ
ップ・アーキテクチャにおいて例示された。
され(“アナログVLSI及び多層パーセプトロン−精
度,雑音及びオン・チップ学習”、神経回路網に関する
第2回国際会議、ミュンヘン,−1991年、参照)、
アナログVLSI回路で使用するのに適している新しい
神経学習アルゴリズムを示唆している。マーレイによ
る、ローカル学習のみを使用する新しいアルゴリズムは
一般に使用されている逆搬アルゴリズムと対照的であ
る。マーレイの提案によると、彼が仮想目標と呼んでい
るシステムを使用した新しいアルゴリズムは神経の問題
を解決して、アナログVLSI学習プロセスとして育ち
得るものであった。マーレイの主な目的は、ディジタル
ではなくて、アナログのVLSIに対して最適化された
システムを作り出すことであって、これは記述される順
次学習シーケンス及び提案された予備のアナログ学習チ
ップ・アーキテクチャにおいて例示された。
【0010】この仮想目標システムの1つの結果による
と、神経アルゴリズムは、ローカル学習を使用するため
に、各層が別々に処理されるのを可能にした。しかしな
がら、マーレイのアルゴリズムつまりアーキテクチャを
使用して各層を並列に処理することは、2つの理由によ
って不可能であった。第1に、そのアルゴリズムはすべ
ての層を横切ったエラーを同時に最小にするために数学
的に引き出されていなかった。更に、そのアルゴリズム
の各部分が経験的に構成されていたので、勾配降下を保
証しなかった。
と、神経アルゴリズムは、ローカル学習を使用するため
に、各層が別々に処理されるのを可能にした。しかしな
がら、マーレイのアルゴリズムつまりアーキテクチャを
使用して各層を並列に処理することは、2つの理由によ
って不可能であった。第1に、そのアルゴリズムはすべ
ての層を横切ったエラーを同時に最小にするために数学
的に引き出されていなかった。更に、そのアルゴリズム
の各部分が経験的に構成されていたので、勾配降下を保
証しなかった。
【0011】
【発明が解決しようとする課題】本発明は、2つの隣接
する層間でのシナプス接続が並列に処理されるのみなら
ず、2つ以上の層からなる回路網では、その回路網にお
けるすべてのシナプス接続が並列に処理される人工神経
回路網処理システムの方法及び装置を工夫し、高速な学
習を行うことを目的とする。
する層間でのシナプス接続が並列に処理されるのみなら
ず、2つ以上の層からなる回路網では、その回路網にお
けるすべてのシナプス接続が並列に処理される人工神経
回路網処理システムの方法及び装置を工夫し、高速な学
習を行うことを目的とする。
【0012】
【課題を解決するための手段】並列処理アレイはプロセ
ッサ/メモリのアレイと、データが1つの特定の層では
いずれかのプロセッサ/メモリからいずれかの隣接する
層でのいずれか他のプロセッサ/メモリへ進められる少
なくとも2つのノードを持つ2次元パターンにおいてプ
ロセッサ/メモリを相互接続するための手段とを含んで
いる。
ッサ/メモリのアレイと、データが1つの特定の層では
いずれかのプロセッサ/メモリからいずれかの隣接する
層でのいずれか他のプロセッサ/メモリへ進められる少
なくとも2つのノードを持つ2次元パターンにおいてプ
ロセッサ/メモリを相互接続するための手段とを含んで
いる。
【0013】各プロセッサ/メモリは読出し/書込みメ
モリと、読出し/書込みメモリから読出されたデータ及
び命令情報に少なくとも部分的に依存した出力を作り出
すためのプロセッサとを含んでいる。相互接続手段はい
ずれかのプロセッサから隣接の層に割当てられたいずれ
かの他のプロセッサへと情報を転送するための手段を含
んでいる。
モリと、読出し/書込みメモリから読出されたデータ及
び命令情報に少なくとも部分的に依存した出力を作り出
すためのプロセッサとを含んでいる。相互接続手段はい
ずれかのプロセッサから隣接の層に割当てられたいずれ
かの他のプロセッサへと情報を転送するための手段を含
んでいる。
【0014】ここでのシステムは、各々が、入力信号を
それ自体に取り入れ且つ出力信号をそこから取り出すた
めの複数のシステム端子を持っている複数の層プロセッ
サを備え、各層プロセッサがメモリアクセス裁定ロジッ
クを持つメモリと、神経プロセッサとを含み、各神経プ
ロセッサが、デコーダで受信された命令に応答して出力
を発生する命令を復号するための制御ロジックと、シス
テム及び/又は他のプロセッサと通信するための複数の
メモリ及び/又は他のアドレス発生器と、そして計算面
とを含み、各計算面が、そこで人工神経回路網のシュミ
レーションが計算される、複数のシナプス・プロセッサ
/メモリを含み、更に、層プロセッサの外部での入力デ
ータを記憶するためのもので、各々が入力信号をそれ自
体に取り入れ、出力信号をそこから取り出すための複数
のシステム端子を持っている複数のパターン記憶ユニッ
トを備え、各パターン記憶ユニットがメモリアクセス裁
定ロジックを持つメモリからなり、更に入力信号をそれ
自体に取り入れ且つ出力信号をそこから取り出すための
複数のシステム端子を持つ制御ブロックを備え、以っ
て、正常な動作状態にある層プロセッサ及びパターン記
憶ユニットの機能を整合させ、そして層プロセッサ及び
パターン記憶ユニットを他の外部システムに結合するよ
うに構成されている。
それ自体に取り入れ且つ出力信号をそこから取り出すた
めの複数のシステム端子を持っている複数の層プロセッ
サを備え、各層プロセッサがメモリアクセス裁定ロジッ
クを持つメモリと、神経プロセッサとを含み、各神経プ
ロセッサが、デコーダで受信された命令に応答して出力
を発生する命令を復号するための制御ロジックと、シス
テム及び/又は他のプロセッサと通信するための複数の
メモリ及び/又は他のアドレス発生器と、そして計算面
とを含み、各計算面が、そこで人工神経回路網のシュミ
レーションが計算される、複数のシナプス・プロセッサ
/メモリを含み、更に、層プロセッサの外部での入力デ
ータを記憶するためのもので、各々が入力信号をそれ自
体に取り入れ、出力信号をそこから取り出すための複数
のシステム端子を持っている複数のパターン記憶ユニッ
トを備え、各パターン記憶ユニットがメモリアクセス裁
定ロジックを持つメモリからなり、更に入力信号をそれ
自体に取り入れ且つ出力信号をそこから取り出すための
複数のシステム端子を持つ制御ブロックを備え、以っ
て、正常な動作状態にある層プロセッサ及びパターン記
憶ユニットの機能を整合させ、そして層プロセッサ及び
パターン記憶ユニットを他の外部システムに結合するよ
うに構成されている。
【0015】
【作用】本発明は、多層型のニューラルネットワークの
学習において、出力層の出力値に対する目標の他に、他
の各層の出力層に対する仮想目標を設け、入力層以外の
各層の入力を前層の目標値自身とすること、各層の出力
値とターゲット値との誤差が少なくなるように各層の重
みと出力層の目標値以外の目標値自身を変更することを
特徴とするものである。
学習において、出力層の出力値に対する目標の他に、他
の各層の出力層に対する仮想目標を設け、入力層以外の
各層の入力を前層の目標値自身とすること、各層の出力
値とターゲット値との誤差が少なくなるように各層の重
みと出力層の目標値以外の目標値自身を変更することを
特徴とするものである。
【0016】本発明によれば、多層型ニューラルネット
ワークの学習高速化のために、ネットワークのフォーワ
ード処理とバックワード処理のいずれの層に関しても並
列に計算することができる。
ワークの学習高速化のために、ネットワークのフォーワ
ード処理とバックワード処理のいずれの層に関しても並
列に計算することができる。
【0017】
【実施例】以下、本発明のアルゴリズムは並列伝搬目標
アルゴリズムつまりPPTとして扱う。
アルゴリズムつまりPPTとして扱う。
【0018】アルゴリズムの説明 図1は学習プロセスの表示を示している。図に例示され
ている層は4プリ・シナプス・ユニット及び2ポスト・
シナプス・ユニットを持っている。丸はニューロン・ユ
ニットを示し、そして四角は仮想目標を示している。ニ
ューロンはそれへの全入力を合計し、そしてこの和のシ
グモイド変換を出力する。仮想目標は、PPTによって
設定され且つその学習プロセスにおいて使用されるデー
タである。この仮想目標は学習中に修正されるが、常
に、0及び1の限度間にとどまる。各パターンに対して
は組合せでの仮想目標がある。故に、仮想目標にとって
必要とされるメモリはニューロンの数及び層数の関数で
ある。しかしながら、仮想目標は学習プロセスにおいて
のみ必要とされる。2つのセットの仮想目標は、T k及
びT k+1 として示され、ここでkは層数を示してい
る。O K は前の層からの入力パターンである。もしもk
=0であるならば、そのパターンはユーザによって指定
される。I K は層内で局所的に計算され、そして重み
W k の掛け合わされたT k の和である。シグモイド変
換関数を通してI k を通過させることにより、次の層
への入力であるO k+1 を計算することができる。
ている層は4プリ・シナプス・ユニット及び2ポスト・
シナプス・ユニットを持っている。丸はニューロン・ユ
ニットを示し、そして四角は仮想目標を示している。ニ
ューロンはそれへの全入力を合計し、そしてこの和のシ
グモイド変換を出力する。仮想目標は、PPTによって
設定され且つその学習プロセスにおいて使用されるデー
タである。この仮想目標は学習中に修正されるが、常
に、0及び1の限度間にとどまる。各パターンに対して
は組合せでの仮想目標がある。故に、仮想目標にとって
必要とされるメモリはニューロンの数及び層数の関数で
ある。しかしながら、仮想目標は学習プロセスにおいて
のみ必要とされる。2つのセットの仮想目標は、T k及
びT k+1 として示され、ここでkは層数を示してい
る。O K は前の層からの入力パターンである。もしもk
=0であるならば、そのパターンはユーザによって指定
される。I K は層内で局所的に計算され、そして重み
W k の掛け合わされたT k の和である。シグモイド変
換関数を通してI k を通過させることにより、次の層
への入力であるO k+1 を計算することができる。
【0019】学習プロセスにおける第1のステップはプ
リ・シナプス仮想目標ベクトルT Kに重みベクトルW k
を掛け合わせ、そして、初めに、I k を、その後O K
+1を評価する。このステップでのすべての計算は並列に
実施される。
リ・シナプス仮想目標ベクトルT Kに重みベクトルW k
を掛け合わせ、そして、初めに、I k を、その後O K
+1を評価する。このステップでのすべての計算は並列に
実施される。
【0020】第2のステップは、その重みの更新を含ん
でいる。PPTアルゴリズムにおいて、重みは次の層へ
の入力つまりO k+1 と次の層の仮想目標T k+1 との間
におけるエラーを使用して局所的に更新される。このエ
ラーは比較ユニットにより図式的に示されている。重み
更新はそのエラー及びプリ・シナプス仮想目標T kを使
用することにより計算される。再度指摘するに、このス
テップにおける計算はすべて、並列に計算される。
でいる。PPTアルゴリズムにおいて、重みは次の層へ
の入力つまりO k+1 と次の層の仮想目標T k+1 との間
におけるエラーを使用して局所的に更新される。このエ
ラーは比較ユニットにより図式的に示されている。重み
更新はそのエラー及びプリ・シナプス仮想目標T kを使
用することにより計算される。再度指摘するに、このス
テップにおける計算はすべて、並列に計算される。
【0021】第3及び最終ステップは、プリ・シナプス
仮想目標への更新を計算する。この計算を行うには、ポ
スト及びプリ・シナプス仮想目標T k 及びT k+1 、プ
リ及びポスト・シナプス入力パターンO k 及びO k+1
、そして更新された重みW kを使用することが必要で
ある。このシーケンスにおける計算はすべて並列に計算
される。
仮想目標への更新を計算する。この計算を行うには、ポ
スト及びプリ・シナプス仮想目標T k 及びT k+1 、プ
リ及びポスト・シナプス入力パターンO k 及びO k+1
、そして更新された重みW kを使用することが必要で
ある。このシーケンスにおける計算はすべて並列に計算
される。
【0022】ここで、PPTアルゴリズムを使用した層
内での学習に対する処理ステップを終了する。
内での学習に対する処理ステップを終了する。
【0023】図2はPPTとBPとの間の比較を図式的
に示している。第1に、PPTアルゴリズムは多くの共
通する特長をBPアルゴリズムと分担し、第2に、BP
は現在最も広く使用されている神経アルゴリズムで、試
験問題での比較に対して良いベンチマークを与える。
に示している。第1に、PPTアルゴリズムは多くの共
通する特長をBPアルゴリズムと分担し、第2に、BP
は現在最も広く使用されている神経アルゴリズムで、試
験問題での比較に対して良いベンチマークを与える。
【0024】システム内でのデータフローは、情報又は
データが検査されつつあるシステム内で、やがて、送ら
れる方向として規定される。図2の左側に示されている
BPアルゴリズムデータフローによると、それは双方向
性であって、そして2つの明確な相、つまり、フィード
フォワード及びフィードバックワードへと分けられる。
フィードフォワード相において、入力パターンは回路網
の第1の層に適用される()。第1の層の数値を求め
()、求められた第1の層のパターンを第2の層に適
用する()。このデータは、その出力層に達するま
で、その回路網でのすべての層を通して伝搬される。各
層内での計算は並列であるけれども、第1の層を除いた
いずれかの層の計算は前の層からのデータをあてにする
ので、いずれかの瞬間における計算は唯1つの層につい
てのみ行われる。それ故、自動特徴抽出のような多くの
層を必要とする問題に対して、その計算は過大になる。
第1のフィードフォワード相の終結において、最終的な
出力ベクトルはエラーベクトルを作り出すために所望の
出力ベクトルに対して比較される()。これは、その
総合出力が所望の出力から離れている距離の大きさを与
える。第2のフィールドバックワード相はこのエラーベ
クトルを使用して、その出力エラーを減少させるよう
に、層内での重みを調整する()。最終出力層におい
て、BPアルゴリズムはその重みを調整し、その後、ど
の程度のエラーを前の層に戻すかについて計算する
()。第2の計算は、前の層がその重みに対する調整
を計算するために、必要とされる()。特定の層にお
ける重み更新は並列に計算でき且つエラー比計算も並列
に計算できるけれども、それら演算は連続的に行われな
ければならない。フィードフォーロード計算と同様な態
様において、各層は順に計算されなければならない。故
に、多くの層を持つシステムは延長された学習時間を持
っている。
データが検査されつつあるシステム内で、やがて、送ら
れる方向として規定される。図2の左側に示されている
BPアルゴリズムデータフローによると、それは双方向
性であって、そして2つの明確な相、つまり、フィード
フォワード及びフィードバックワードへと分けられる。
フィードフォワード相において、入力パターンは回路網
の第1の層に適用される()。第1の層の数値を求め
()、求められた第1の層のパターンを第2の層に適
用する()。このデータは、その出力層に達するま
で、その回路網でのすべての層を通して伝搬される。各
層内での計算は並列であるけれども、第1の層を除いた
いずれかの層の計算は前の層からのデータをあてにする
ので、いずれかの瞬間における計算は唯1つの層につい
てのみ行われる。それ故、自動特徴抽出のような多くの
層を必要とする問題に対して、その計算は過大になる。
第1のフィードフォワード相の終結において、最終的な
出力ベクトルはエラーベクトルを作り出すために所望の
出力ベクトルに対して比較される()。これは、その
総合出力が所望の出力から離れている距離の大きさを与
える。第2のフィールドバックワード相はこのエラーベ
クトルを使用して、その出力エラーを減少させるよう
に、層内での重みを調整する()。最終出力層におい
て、BPアルゴリズムはその重みを調整し、その後、ど
の程度のエラーを前の層に戻すかについて計算する
()。第2の計算は、前の層がその重みに対する調整
を計算するために、必要とされる()。特定の層にお
ける重み更新は並列に計算でき且つエラー比計算も並列
に計算できるけれども、それら演算は連続的に行われな
ければならない。フィードフォーロード計算と同様な態
様において、各層は順に計算されなければならない。故
に、多くの層を持つシステムは延長された学習時間を持
っている。
【0025】PPTデータフローは図2の右側に示され
ている。PPTアルゴリズム内でのデータフローは単一
方向(フィードフォワード)である。層に対する計算は
すべて局所的であるので、学習サイクル中、情報を層間
で通過させる必要はない。それ故、PPTアルゴリズム
での層はすべて並列に計算できるので、回路網の計算能
率を大いに改善できる。図2は2層回路網を示してい
る。BPとPPTとの間の性能を対比させるためには、
BP回路網及びPPT回路網のアーキテクチャが同じで
あると仮定する。もしも、そのシステム性能すなわちク
ロック速度、メモリ速度などが等価であるならば、それ
は、アルゴリズムの相対的性能がそのアルゴリズムによ
ることを意味する。
ている。PPTアルゴリズム内でのデータフローは単一
方向(フィードフォワード)である。層に対する計算は
すべて局所的であるので、学習サイクル中、情報を層間
で通過させる必要はない。それ故、PPTアルゴリズム
での層はすべて並列に計算できるので、回路網の計算能
率を大いに改善できる。図2は2層回路網を示してい
る。BPとPPTとの間の性能を対比させるためには、
BP回路網及びPPT回路網のアーキテクチャが同じで
あると仮定する。もしも、そのシステム性能すなわちク
ロック速度、メモリ速度などが等価であるならば、それ
は、アルゴリズムの相対的性能がそのアルゴリズムによ
ることを意味する。
【0026】BPアルゴリズムを使用して単一の学習反
復を実行するには、パターンが初めに第1の層に適用さ
れて、そこで、シナプス重みで倍率されなければならな
い。これには1期間かかるものと仮定しよう。このプロ
セスは第2の層を用いて繰り返されなければならないの
で、入力パターンを最終層の出力へ伝搬するには2期間
かかることになる。そこで、このデータはエラーベクト
ルを作り出すために所望の目標に対して比較されなけれ
ばならず、これにも1期間かかる。その後、エラーベク
トルは最後の層における更新された重みを計算するため
に使用され、これにも1期間かかる。ここで、エラーベ
クトルは、入力層における重みを更新するのに使用され
る(1期間かかる)前に、その入力層へと伝搬されなけ
ればならず、これにも別な1期間が必要である。それ
故、BPアルゴリズムを使用する単一の反復には6つの
期間を必要とする。
復を実行するには、パターンが初めに第1の層に適用さ
れて、そこで、シナプス重みで倍率されなければならな
い。これには1期間かかるものと仮定しよう。このプロ
セスは第2の層を用いて繰り返されなければならないの
で、入力パターンを最終層の出力へ伝搬するには2期間
かかることになる。そこで、このデータはエラーベクト
ルを作り出すために所望の目標に対して比較されなけれ
ばならず、これにも1期間かかる。その後、エラーベク
トルは最後の層における更新された重みを計算するため
に使用され、これにも1期間かかる。ここで、エラーベ
クトルは、入力層における重みを更新するのに使用され
る(1期間かかる)前に、その入力層へと伝搬されなけ
ればならず、これにも別な1期間が必要である。それ
故、BPアルゴリズムを使用する単一の反復には6つの
期間を必要とする。
【0027】PPTアルゴリズムでもって単一の反復を
行うには、パターンがまず第1の層に適用される。目標
はシナプス重みにより倍率され、これには1期間かか
る。仮想目標を含む結果的出力は更新された重みを計算
するために使用され(1期間かかる)、引続いて、更新
された目標の計算が行われる(1期間かかる)。従っ
て、PPTを使用した単一の学習反復には3期間を要す
る。
行うには、パターンがまず第1の層に適用される。目標
はシナプス重みにより倍率され、これには1期間かか
る。仮想目標を含む結果的出力は更新された重みを計算
するために使用され(1期間かかる)、引続いて、更新
された目標の計算が行われる(1期間かかる)。従っ
て、PPTを使用した単一の学習反復には3期間を要す
る。
【0028】以上の説明から明らかなように、単一の学
習反復を計算するには、PPTの方がBPよりも少ない
期間で済む。PPTにおける各層は局所的に計算できる
ので、PPTにおける層はすべて学習サイクルを同時に
行なう。並列学習については次のセクションで論議され
る。この説明において、両PPT及びBPで必要とされ
る計算サイクルは同一期間を取るものと仮定している。
しかしながら、実際には、PPTアルゴリズムの方がB
Pよりも一層複雑であるので、必要とする計算期間幾分
長い。
習反復を計算するには、PPTの方がBPよりも少ない
期間で済む。PPTにおける各層は局所的に計算できる
ので、PPTにおける層はすべて学習サイクルを同時に
行なう。並列学習については次のセクションで論議され
る。この説明において、両PPT及びBPで必要とされ
る計算サイクルは同一期間を取るものと仮定している。
しかしながら、実際には、PPTアルゴリズムの方がB
Pよりも一層複雑であるので、必要とする計算期間幾分
長い。
【0029】図3は3層PPT神経回路網の図式的表示
を示す。図の底部で連続せるチェーンとして示されてい
る3層回路網は説明を助けるために3つの区間に分割さ
れている。層についての図式的表示は図1に使用された
ものと同じである。図3において、ニューロン・ユニッ
トは丸で示され、仮想目標は四角により示され、そして
比較ユニットは長方形のボックスとして示されている。
を示す。図の底部で連続せるチェーンとして示されてい
る3層回路網は説明を助けるために3つの区間に分割さ
れている。層についての図式的表示は図1に使用された
ものと同じである。図3において、ニューロン・ユニッ
トは丸で示され、仮想目標は四角により示され、そして
比較ユニットは長方形のボックスとして示されている。
【0030】既に論議されたように、すべての層学習を
同時に持つことはPPTアルゴリズムを使用することで
可能である。図3は、層 k-1 がパターン1を計算し、
層 kがパターン3を計算し、そして層 k+1 がパターン
2を計算していることを示している。ベクトルO k ,
O k+1 ,T k 及びT k+1 はすべてパターン依存性で
ある。つまり、 k は同じであるが、ベクトルの値は、
その時刻にどのパターンが層上にあるのかに依存して異
なっている。図から見られるように、層 k-1 上にはベ
クトルO k があり、層 k 上にはベクトルO k があ
る。しかしながら、それは同じベクトルではない。層 k
-1 上でのO k は、層 k-1 のシナプス重み及びその引
続くシグモイド変換とのパターン1の層 k-1 上におけ
る仮想目標の現行の乗算の結果である。層 k 上におけ
るO k は層 k-1 のシナプス重み及びその引続くシグモ
イド変換とのパターン2の層 k-1 上における仮想目標
の前の計算の結果である。従って、重みはパターン依存
性でなく、そこには、層当り1セットの重みのみがあ
る。
同時に持つことはPPTアルゴリズムを使用することで
可能である。図3は、層 k-1 がパターン1を計算し、
層 kがパターン3を計算し、そして層 k+1 がパターン
2を計算していることを示している。ベクトルO k ,
O k+1 ,T k 及びT k+1 はすべてパターン依存性で
ある。つまり、 k は同じであるが、ベクトルの値は、
その時刻にどのパターンが層上にあるのかに依存して異
なっている。図から見られるように、層 k-1 上にはベ
クトルO k があり、層 k 上にはベクトルO k があ
る。しかしながら、それは同じベクトルではない。層 k
-1 上でのO k は、層 k-1 のシナプス重み及びその引
続くシグモイド変換とのパターン1の層 k-1 上におけ
る仮想目標の現行の乗算の結果である。層 k 上におけ
るO k は層 k-1 のシナプス重み及びその引続くシグモ
イド変換とのパターン2の層 k-1 上における仮想目標
の前の計算の結果である。従って、重みはパターン依存
性でなく、そこには、層当り1セットの重みのみがあ
る。
【0031】回路網上でのパターンについての計算シー
ケンスは、図3のベースにおける図を検討することによ
り理解できる。この図は、神経回路網の標準的表示であ
るチェーンにおいて一緒に連結された層を示している。
初めに、回路網上にはパターンがないものと仮定して、
第1のパターン2が層 k-1 上にロードされる。これ
は、層 k-1 上でのパターン2に対する仮想目標と、入
力パターン2情報とを含む。重みW k を用いて学習反
復を始めると、パターン2に対して、出力ベクトルO k
と、更新された仮想目標T k とを生じる。また、層 k
-1 上における重みW k は学習プロセス中に修正され
る。これで、第1の学習反復を完了する。第2の反復
は、パターン2に対する情報を層 k 上にロードするこ
と、パターン3に対する情報を層 k-1 上にロードする
ことを含んでいる。層 k は、パターン2が層 k-1 上で
計算されたときに、O k 情報を前の学習反復から受信
する。この反復において、両層 k 及び k-1 は学習反復
を同時に行う。第3の学習反復においては、パターン2
に対する情報が層 k+1 上にロードされ、パターン3に
対する情報が層 k 上にロードされ、パターン1に対す
る情報が層 k-1 上にロードされる。このセットにおい
て、それら3つの層はすべて学習反復を並列に行う。計
算は第1の層に適用されつつある他のパターンについて
継続され、その後、記述されたシーケンスにおいて計算
されたものへと進む。学習されるべきすべてのパターン
が回路網に適用されると、第1のパターンが再び層 k-1
において適用され、そのプロセスは、出力層での所望
の目標が達成されるまで継続する。
ケンスは、図3のベースにおける図を検討することによ
り理解できる。この図は、神経回路網の標準的表示であ
るチェーンにおいて一緒に連結された層を示している。
初めに、回路網上にはパターンがないものと仮定して、
第1のパターン2が層 k-1 上にロードされる。これ
は、層 k-1 上でのパターン2に対する仮想目標と、入
力パターン2情報とを含む。重みW k を用いて学習反
復を始めると、パターン2に対して、出力ベクトルO k
と、更新された仮想目標T k とを生じる。また、層 k
-1 上における重みW k は学習プロセス中に修正され
る。これで、第1の学習反復を完了する。第2の反復
は、パターン2に対する情報を層 k 上にロードするこ
と、パターン3に対する情報を層 k-1 上にロードする
ことを含んでいる。層 k は、パターン2が層 k-1 上で
計算されたときに、O k 情報を前の学習反復から受信
する。この反復において、両層 k 及び k-1 は学習反復
を同時に行う。第3の学習反復においては、パターン2
に対する情報が層 k+1 上にロードされ、パターン3に
対する情報が層 k 上にロードされ、パターン1に対す
る情報が層 k-1 上にロードされる。このセットにおい
て、それら3つの層はすべて学習反復を並列に行う。計
算は第1の層に適用されつつある他のパターンについて
継続され、その後、記述されたシーケンスにおいて計算
されたものへと進む。学習されるべきすべてのパターン
が回路網に適用されると、第1のパターンが再び層 k-1
において適用され、そのプロセスは、出力層での所望
の目標が達成されるまで継続する。
【0032】ハードウェア履行の説明 図4は、制御ブロック100と、複数の層プロセッサ2
00と、そしてパターン記憶メモリー300とからなる
ディジタルシステムを例示している。制御ブロックは、
システム100への入力信号を他のディジタルシステム
500から取り入れ、システム100からの出力信号を
他のディジタルシステム500へ与えるための複数のシ
ステム端子101を持ち、システム端子101は入力端
子103と、出力端子104と、双方向端子102とを
含んでいる。
00と、そしてパターン記憶メモリー300とからなる
ディジタルシステムを例示している。制御ブロックは、
システム100への入力信号を他のディジタルシステム
500から取り入れ、システム100からの出力信号を
他のディジタルシステム500へ与えるための複数のシ
ステム端子101を持ち、システム端子101は入力端
子103と、出力端子104と、双方向端子102とを
含んでいる。
【0033】制御ブロック100は、複数のシステム端
子105を持つグローバル・データ・バスを使用して、
複数のプロセッサ200及び複数のパターン記憶メモリ
300と連通し、複数のシステム端子105は制御ブロ
ック100への入力信号と、制御ブロック100からの
出力信号とを取扱う。グローバル・バス端子105は入
力端子106と、出力端子108と、そして双方向端子
107とを含んでいる。
子105を持つグローバル・データ・バスを使用して、
複数のプロセッサ200及び複数のパターン記憶メモリ
300と連通し、複数のシステム端子105は制御ブロ
ック100への入力信号と、制御ブロック100からの
出力信号とを取扱う。グローバル・バス端子105は入
力端子106と、出力端子108と、そして双方向端子
107とを含んでいる。
【0034】層プロセッサ200は、複数のシステム端
子209を持つ同じグローバル・データ・バスを使用し
て、制御ブロック100及び複数のパターン記憶メモリ
300と連通し、複数のシステム端子209は層プロセ
ッサ200への入力信号と、層プロセッサ200からの
出力信号とを取扱う。グローバル・データ・バス端子2
09は、入力端子210と、出力端子212と、そして
双方向端子211とを含んでいる。
子209を持つ同じグローバル・データ・バスを使用し
て、制御ブロック100及び複数のパターン記憶メモリ
300と連通し、複数のシステム端子209は層プロセ
ッサ200への入力信号と、層プロセッサ200からの
出力信号とを取扱う。グローバル・データ・バス端子2
09は、入力端子210と、出力端子212と、そして
双方向端子211とを含んでいる。
【0035】パターン記憶メモリ300は、複数のシス
テム端子301を持つグローバル・データバスを介し
て、制御ブロック100及び複数の層プロセッサ200
と連通し、複数のシステム端子301は、パターン記憶
メモリ300への入力信号と、パターン記憶メモリ30
0からの出力信号とを取扱う。グローバル・バス端子3
01は入力端子302と、出力端子304と、そして双
方向端子303とを含んでいる。
テム端子301を持つグローバル・データバスを介し
て、制御ブロック100及び複数の層プロセッサ200
と連通し、複数のシステム端子301は、パターン記憶
メモリ300への入力信号と、パターン記憶メモリ30
0からの出力信号とを取扱う。グローバル・バス端子3
01は入力端子302と、出力端子304と、そして双
方向端子303とを含んでいる。
【0036】グローバル・データバスは、必要な情報を
層プロセッサ200及びパターン記憶メモリ300にロ
ードするために初期化中に使用される。他方、通常の動
作中、出力データは層プロセッサ200から制御ブロッ
ク100へ転送される。
層プロセッサ200及びパターン記憶メモリ300にロ
ードするために初期化中に使用される。他方、通常の動
作中、出力データは層プロセッサ200から制御ブロッ
ク100へ転送される。
【0037】複数の層プロセッサ200は1次元アレイ
において配列され、そのアレイにおける第1の層プロセ
ッサは図の左側にあり、そして最後の層は図の右側にあ
る。第1の層プロセッサ200Aはそこへの入力データ
をパターン記憶メモリ300Aから取り入れるための複
数のシステム端子223を持っている。そのシステム端
子は入力端子213及び214と、そして出力端子21
5とを含んでいる。
において配列され、そのアレイにおける第1の層プロセ
ッサは図の左側にあり、そして最後の層は図の右側にあ
る。第1の層プロセッサ200Aはそこへの入力データ
をパターン記憶メモリ300Aから取り入れるための複
数のシステム端子223を持っている。そのシステム端
子は入力端子213及び214と、そして出力端子21
5とを含んでいる。
【0038】アレイでの第1の層プロセッサ200Aに
じかに接続されたパターン記憶メモリ300Aは、その
メモリ300Aからの出力データを連結する複数のシス
テム端子305をして、層プロセッサ200Aに連通し
ている。このシステム端子は入力端子306と、そして
出力端子307及び308とを含んでいる。
じかに接続されたパターン記憶メモリ300Aは、その
メモリ300Aからの出力データを連結する複数のシス
テム端子305をして、層プロセッサ200Aに連通し
ている。このシステム端子は入力端子306と、そして
出力端子307及び308とを含んでいる。
【0039】隣接する層プロセッサ200間での情報は
ローカル通信バスを使用して適用される。入力端子20
8と、出力端子206及び207とを含んでいる複数の
システム端子205は送り手層プロセッサ200Bから
のデータを、層プロセッサ200Bを連結しているロー
カル通信バスを介して、層プロセッサ200Cに結合す
るために使用されている。出力端子215と、入力端子
213及び214とを含んでいる。複数のシステム端子
221は、層プロセッサ200Bを層プロセッサ200
Aに連結しているローカル通信バスを介して受け手層プ
ロセッサ200Bにデータを結合するために使用されて
いる。
ローカル通信バスを使用して適用される。入力端子20
8と、出力端子206及び207とを含んでいる複数の
システム端子205は送り手層プロセッサ200Bから
のデータを、層プロセッサ200Bを連結しているロー
カル通信バスを介して、層プロセッサ200Cに結合す
るために使用されている。出力端子215と、入力端子
213及び214とを含んでいる。複数のシステム端子
221は、層プロセッサ200Bを層プロセッサ200
Aに連結しているローカル通信バスを介して受け手層プ
ロセッサ200Bにデータを結合するために使用されて
いる。
【0040】また、隣接する層プロセッサ200間での
情報は第2のローカル通信バスを用いて通過される。入
力端子203及び204とそして出力端子202とを含
んでいる複数のシステム端子201は、層プロセッサ2
00Bを層プロセッサ200Cに連結している第2のロ
ーカル通信バスを介して送り手層プロセッサ200Bに
データを結合するために使用されている。入力端子21
6と、出力端子217及び218とを含んでいる複数の
システム端子220は、層プロセッサ200Bを層プロ
セッサ200Aに連結している第2のローカル通信バス
に対して、送り手層プロセッサ200Bからのデータを
連結している。
情報は第2のローカル通信バスを用いて通過される。入
力端子203及び204とそして出力端子202とを含
んでいる複数のシステム端子201は、層プロセッサ2
00Bを層プロセッサ200Cに連結している第2のロ
ーカル通信バスを介して送り手層プロセッサ200Bに
データを結合するために使用されている。入力端子21
6と、出力端子217及び218とを含んでいる複数の
システム端子220は、層プロセッサ200Bを層プロ
セッサ200Aに連結している第2のローカル通信バス
に対して、送り手層プロセッサ200Bからのデータを
連結している。
【0041】チェーンにおける最後の層プロセッサ20
0Cは、パターン記憶メモリ300Cからのデータを層
プロセッサ200Cに読み込むための複数のシステム端
子からなるローカル通信バス222によりパターン記憶
メモリ300Cに接続されている。そのシステム端子は
入力端子203及び204と、そして出力端子202と
を含んでいる。
0Cは、パターン記憶メモリ300Cからのデータを層
プロセッサ200Cに読み込むための複数のシステム端
子からなるローカル通信バス222によりパターン記憶
メモリ300Cに接続されている。そのシステム端子は
入力端子203及び204と、そして出力端子202と
を含んでいる。
【0042】図5は層プロセッサ200を例示してい
る。それは仮想目標メモリ400と、神経プロセッサ6
00とからなっている。仮想目標メモリ400は、それ
自体への入力信号を神経プロセッサ600から取り入
れ、それ自体からの出力信号を神経プロセッサに与える
ための複数のシステム端子を持っている。このシステム
端子は入力端子404と、出力端子406と、双方向端
子405とを含んでいる。
る。それは仮想目標メモリ400と、神経プロセッサ6
00とからなっている。仮想目標メモリ400は、それ
自体への入力信号を神経プロセッサ600から取り入
れ、それ自体からの出力信号を神経プロセッサに与える
ための複数のシステム端子を持っている。このシステム
端子は入力端子404と、出力端子406と、双方向端
子405とを含んでいる。
【0043】神経プロセッサ600は仮想目標メモリ4
00へ又はからの情報を取り扱うための対応する組合せ
端子を持ち、システム端子には、入力端子603と、出
力端子601と、そして双方向端子602とが含まれ
る。
00へ又はからの情報を取り扱うための対応する組合せ
端子を持ち、システム端子には、入力端子603と、出
力端子601と、そして双方向端子602とが含まれ
る。
【0044】仮想目標メモリ400は神経プロセッサ6
00が表わしているその層に対するローカル仮想目標情
報を記憶するために使用されている。この仮想目標メモ
リ400に保持された情報はローカル神経プロセッサ6
00によるのみならず、また、前の神経プロセッサ60
0によっても必要である。前の層プロセッサ200は、
入力端子401と、出力端子402及び403とを含ん
でいる複数のシステム端子を介して仮想目標メモリ40
0をアクセスできる。
00が表わしているその層に対するローカル仮想目標情
報を記憶するために使用されている。この仮想目標メモ
リ400に保持された情報はローカル神経プロセッサ6
00によるのみならず、また、前の神経プロセッサ60
0によっても必要である。前の層プロセッサ200は、
入力端子401と、出力端子402及び403とを含ん
でいる複数のシステム端子を介して仮想目標メモリ40
0をアクセスできる。
【0045】神経プロセッサ600は複数のシステム端
子601〜615により示されている幾つかの通信ポー
トを持っている。複数のシステム端子601〜603は
プリ目標インタフェースに関与し、入力端子603、出
力端子601及び双方向性端子602となっている。シ
ステム端子604〜606はプリ入力インタフェースに
関与し、入力端子601及び605、出力端子606と
なっている。システム端子607〜609はポスト目標
インタフェースに関与し、入力端子609、出力端子6
07及び608となっている。システム端子610〜6
12はポスト入力インタフェースに関与し、入力端子6
11及び612、出力端子610となっている。複数の
システム端子613〜615はグローバル・データバス
に関与し、入力端子613、出力端子623、双方向端
子622となっいる。
子601〜615により示されている幾つかの通信ポー
トを持っている。複数のシステム端子601〜603は
プリ目標インタフェースに関与し、入力端子603、出
力端子601及び双方向性端子602となっている。シ
ステム端子604〜606はプリ入力インタフェースに
関与し、入力端子601及び605、出力端子606と
なっている。システム端子607〜609はポスト目標
インタフェースに関与し、入力端子609、出力端子6
07及び608となっている。システム端子610〜6
12はポスト入力インタフェースに関与し、入力端子6
11及び612、出力端子610となっている。複数の
システム端子613〜615はグローバル・データバス
に関与し、入力端子613、出力端子623、双方向端
子622となっいる。
【0046】図6は仮想目標メモリ400を一層詳細に
例示している。仮想目標メモリ400はメモリアクセス
裁定ロジック420及び読出し書込みメモリ440によ
って構成されている。仮想目標メモリ400は2ポート
装置であって、第1のポートは複数の端子421〜42
3、つまり、入力端子421と出力端子422及び42
3とからなっており、第2のポートは複数の端子424
〜426、つまり、入力端子424と、出力端子426
と、そして双方向状端子425とからなっている。
例示している。仮想目標メモリ400はメモリアクセス
裁定ロジック420及び読出し書込みメモリ440によ
って構成されている。仮想目標メモリ400は2ポート
装置であって、第1のポートは複数の端子421〜42
3、つまり、入力端子421と出力端子422及び42
3とからなっており、第2のポートは複数の端子424
〜426、つまり、入力端子424と、出力端子426
と、そして双方向状端子425とからなっている。
【0047】メモリアクセス裁定ロジック420は、出
力端子427及び双方向端子428を含む複数の端子を
通してメモリ440に連結されている。
力端子427及び双方向端子428を含む複数の端子を
通してメモリ440に連結されている。
【0048】メモリ・アクセス裁定ロジック420の機
能は、通信チャネル421〜423又は424〜426
のどれがメモリへのアクセスを持っているのかを判定す
ることにある。ここでは、複数の端子424〜426か
らなるチャネルをポートAとし、複数の端子421〜4
23からなるチャネルをポートBとする。もしもポート
Aがメモリをアクセスしたいとし、そしてポートBがす
でにそれをアクセスしていないとするならば、メモリア
クセス裁定ロジック420はそのメモリをポートAに割
当てる。もしもポートBが、ポートAに割当てられてい
るメモリへのアクセスを要請するならば、ポートBは、
ポートAがバスのアクセスを終えて、そのメモリを釈放
するまで、持たされる。
能は、通信チャネル421〜423又は424〜426
のどれがメモリへのアクセスを持っているのかを判定す
ることにある。ここでは、複数の端子424〜426か
らなるチャネルをポートAとし、複数の端子421〜4
23からなるチャネルをポートBとする。もしもポート
Aがメモリをアクセスしたいとし、そしてポートBがす
でにそれをアクセスしていないとするならば、メモリア
クセス裁定ロジック420はそのメモリをポートAに割
当てる。もしもポートBが、ポートAに割当てられてい
るメモリへのアクセスを要請するならば、ポートBは、
ポートAがバスのアクセスを終えて、そのメモリを釈放
するまで、持たされる。
【0049】図7は神経プロセッサ600を一層詳細に
例示している。プロセッサの詳細は、その機能が神経プ
ロセッサの動作を整合することにある制御ロジック62
0と、通信チャネルとして機能する複数のアドレス発生
器640及び複数のメモリ記憶装置680及び690
と、演算動作がそこで行われる計算面670とからなっ
ている。
例示している。プロセッサの詳細は、その機能が神経プ
ロセッサの動作を整合することにある制御ロジック62
0と、通信チャネルとして機能する複数のアドレス発生
器640及び複数のメモリ記憶装置680及び690
と、演算動作がそこで行われる計算面670とからなっ
ている。
【0050】制御ロジック620は幾つかの仕方におい
て履行される。第1はマイクロコントローラの形態にお
いて履行され、そこでの命令はグローバル・データバス
209を介してローカル制御ロジック620により復号
される予定の主制御ブロック100から層プロセッサ2
00へと通過される。その後、マイクロコントローラは
主制御ブロック100から受信される命令により指示さ
れるそのマイクロプログラム・メモリに保持されている
一連のプログラム・ステップを実行する。マイクロプロ
グラムを用いたマイクロコントローラは正しい制御信号
をその動作を行わせる指定されたシーケンスにおいて発
生する。代替として、マイクロコントローラは有限状態
マシンにより置き変えられても良い。有限状態マシンは
神経プロセッサ・ハードウェア600を制御する制御信
号をじかに発生する。制御ロジック620は、入力端子
621と、出力端子622と、そして双方向端子623
とを含む複数の端子を介してグローバル・データバスに
連結されている。また、制御ロジックは、入力端子62
5と、出力端子627と、そして双方向端子626とか
らなる複数の端子を持つ神経プロセッサ・グローバル・
データバス624によって神経プロセッサのハードウェ
アにも連結されている。神経プロセッサへの各種制御信
号、アドレス及びデータは神経プロセッサ・グローバル
データバス624を通して伝達される。
て履行される。第1はマイクロコントローラの形態にお
いて履行され、そこでの命令はグローバル・データバス
209を介してローカル制御ロジック620により復号
される予定の主制御ブロック100から層プロセッサ2
00へと通過される。その後、マイクロコントローラは
主制御ブロック100から受信される命令により指示さ
れるそのマイクロプログラム・メモリに保持されている
一連のプログラム・ステップを実行する。マイクロプロ
グラムを用いたマイクロコントローラは正しい制御信号
をその動作を行わせる指定されたシーケンスにおいて発
生する。代替として、マイクロコントローラは有限状態
マシンにより置き変えられても良い。有限状態マシンは
神経プロセッサ・ハードウェア600を制御する制御信
号をじかに発生する。制御ロジック620は、入力端子
621と、出力端子622と、そして双方向端子623
とを含む複数の端子を介してグローバル・データバスに
連結されている。また、制御ロジックは、入力端子62
5と、出力端子627と、そして双方向端子626とか
らなる複数の端子を持つ神経プロセッサ・グローバル・
データバス624によって神経プロセッサのハードウェ
アにも連結されている。神経プロセッサへの各種制御信
号、アドレス及びデータは神経プロセッサ・グローバル
データバス624を通して伝達される。
【0051】神経プロセッサ600は5つの通信チャネ
ルを持っている。グローバル・データバス209に対す
る接続は既に述べられた。複数の端子641,645,
651及び652はポスト目標インタフェースに関与
し、入力端子645及び652、出力端子641となっ
ている。複数の端子647,646,655はプリ目標
インタフェースに関与し、入力端子647、出力端子6
41、双方向端子655となっている。複数の端子64
9,648及び656はプリ入力インタフェースに関与
し、入力端子649及び656、出力端子648となっ
ている。複数の端子657,658及び659はポスト
入力インタフェースに関与し、入力端子658及び65
7、出力端子659となっている。
ルを持っている。グローバル・データバス209に対す
る接続は既に述べられた。複数の端子641,645,
651及び652はポスト目標インタフェースに関与
し、入力端子645及び652、出力端子641となっ
ている。複数の端子647,646,655はプリ目標
インタフェースに関与し、入力端子647、出力端子6
41、双方向端子655となっている。複数の端子64
9,648及び656はプリ入力インタフェースに関与
し、入力端子649及び656、出力端子648となっ
ている。複数の端子657,658及び659はポスト
入力インタフェースに関与し、入力端子658及び65
7、出力端子659となっている。
【0052】すべてのアドレス発生器640は、入力端
子642と、出力端子643と、そして双方向端子64
4とを含む複数の端子によって神経プロセッサ・グロー
バル・データバス624に接続されている。また、神経
プロセッサ680及び690内でのすべてのメモリ記憶
ユニットは、入力端子652と、出力端子653と、そ
して双方向端子654とからなる複数の端子により神経
プロセッサ・グローバル・データバス624にも接続さ
れている。更に、計算面670は単一の通信ポートを持
つ神経プロセッサ・グローバル・データバス624に結
合されている。そのポートは入力端子671と、出力端
子673と、双方向端子672からなる複数の端子を含
んでいる。
子642と、出力端子643と、そして双方向端子64
4とを含む複数の端子によって神経プロセッサ・グロー
バル・データバス624に接続されている。また、神経
プロセッサ680及び690内でのすべてのメモリ記憶
ユニットは、入力端子652と、出力端子653と、そ
して双方向端子654とからなる複数の端子により神経
プロセッサ・グローバル・データバス624にも接続さ
れている。更に、計算面670は単一の通信ポートを持
つ神経プロセッサ・グローバル・データバス624に結
合されている。そのポートは入力端子671と、出力端
子673と、双方向端子672からなる複数の端子を含
んでいる。
【0053】図8は単一の通信チャネルに対する2つの
層プロセッサ200間における通信ハードウェアを例示
している。
層プロセッサ200間における通信ハードウェアを例示
している。
【0054】接尾辞A又はBは異なる層プロセッサ20
0に属するハードウェア間を区別するのに使用されてい
る。接尾辞Aは現行の層に関係したハードウェアを示
し、接尾辞Bは先の層における層プロセッサに属するハ
ードウェアを示している。アドレス発生器640A及び
メモリ記憶装置680Aは現行層プロセッサ200Aに
関与し、メモリ記憶装置400Bはチェーンにおける次
の層プロセッサ200Bに関与している。この例で、必
要とされるデータはメモリ440Bに保持されていて、
それをメモリ680Aへと転送する必要がある。
0に属するハードウェア間を区別するのに使用されてい
る。接尾辞Aは現行の層に関係したハードウェアを示
し、接尾辞Bは先の層における層プロセッサに属するハ
ードウェアを示している。アドレス発生器640A及び
メモリ記憶装置680Aは現行層プロセッサ200Aに
関与し、メモリ記憶装置400Bはチェーンにおける次
の層プロセッサ200Bに関与している。この例で、必
要とされるデータはメモリ440Bに保持されていて、
それをメモリ680Aへと転送する必要がある。
【0055】図8はアドレス発生器640Aの一層詳細
なブロック図である。アドレス発生器640Aは、アド
レス復号兼裁定ロジック6410Aと、カウンタ644
0Aと、レジスタ6420Aと、そして比較器6430
Aとを含んでいる。アドレス復号兼裁定ロジック641
0A、カウンタ6440A及びレジスタ6420Aはす
べて、複数の双方向端子6451Aを含む共通のデータ
バスを介して、外部の神経プロセッサ・データバス62
4Aに連結されている。レジスタ6420A及び比較器
6430Aは単一方向端子からなるバス6452Aを介
して連結されていて、複数の端子6452Aはレジスタ
6420Aから出力されて、6430Aへ入力されてい
る。カウンタ6440Aはアドレス復号兼裁定ロジック
6410Aからカウンタ動作を制御するための複数の入
力端子6458Aを持っている。更に、カウンタ644
0Aは、比較器6430A、アドレス復号兼裁定ロジッ
ク6410A、そしてメモリアクセス裁定ロジック42
0A及び420Bへアドレス情報を供給するための複数
の出力端子64502Aを持っている。比較器6430
Aは、カウンタ6440Aから現行のアドレス情報を受
信するための複数の入力端子64502Aと、レジスタ
6420Aからの最後のアドレス情報を比較器6430
Aに連結するための複数の入力端子64502Aとを持
っている。比較器6430Aは、比較器6430Aから
の比較情報をアドレス復号兼裁定ロジック6410Aに
連結するための複数の出力端子6453Aを持ってい
る。アドレス復号兼裁定ロジック6410Aはメモリア
クセス裁定ロジック420Aからの裁定情報を連結する
ための複数の入力端子6456Aを持っている。アドレ
ス復号兼裁定ロジック6410Aはメモリアクセス裁定
ロジック420Bからの裁定情報を連結するための複数
の入力端子6457Aを持っている。アドレス復号兼裁
定ロジックはまた、入力端子6454A、出力端子64
55A及び双方向端子6451Aにより神経プロセッサ
・グローバル・データバス624Aに連結されている。
最後に、アドレス復号兼裁定ロジック6410Aはメモ
リアクセス要請信号を与える複数の出力端子64501
Aによりメモリアクセス兼裁定ロジック・ユニット42
0A及び420Bに連結されている。バス64501A
はカウンタ6440Aからの出力端子64502Aと一
緒に、バス6450Aを構成する。
なブロック図である。アドレス発生器640Aは、アド
レス復号兼裁定ロジック6410Aと、カウンタ644
0Aと、レジスタ6420Aと、そして比較器6430
Aとを含んでいる。アドレス復号兼裁定ロジック641
0A、カウンタ6440A及びレジスタ6420Aはす
べて、複数の双方向端子6451Aを含む共通のデータ
バスを介して、外部の神経プロセッサ・データバス62
4Aに連結されている。レジスタ6420A及び比較器
6430Aは単一方向端子からなるバス6452Aを介
して連結されていて、複数の端子6452Aはレジスタ
6420Aから出力されて、6430Aへ入力されてい
る。カウンタ6440Aはアドレス復号兼裁定ロジック
6410Aからカウンタ動作を制御するための複数の入
力端子6458Aを持っている。更に、カウンタ644
0Aは、比較器6430A、アドレス復号兼裁定ロジッ
ク6410A、そしてメモリアクセス裁定ロジック42
0A及び420Bへアドレス情報を供給するための複数
の出力端子64502Aを持っている。比較器6430
Aは、カウンタ6440Aから現行のアドレス情報を受
信するための複数の入力端子64502Aと、レジスタ
6420Aからの最後のアドレス情報を比較器6430
Aに連結するための複数の入力端子64502Aとを持
っている。比較器6430Aは、比較器6430Aから
の比較情報をアドレス復号兼裁定ロジック6410Aに
連結するための複数の出力端子6453Aを持ってい
る。アドレス復号兼裁定ロジック6410Aはメモリア
クセス裁定ロジック420Aからの裁定情報を連結する
ための複数の入力端子6456Aを持っている。アドレ
ス復号兼裁定ロジック6410Aはメモリアクセス裁定
ロジック420Bからの裁定情報を連結するための複数
の入力端子6457Aを持っている。アドレス復号兼裁
定ロジックはまた、入力端子6454A、出力端子64
55A及び双方向端子6451Aにより神経プロセッサ
・グローバル・データバス624Aに連結されている。
最後に、アドレス復号兼裁定ロジック6410Aはメモ
リアクセス要請信号を与える複数の出力端子64501
Aによりメモリアクセス兼裁定ロジック・ユニット42
0A及び420Bに連結されている。バス64501A
はカウンタ6440Aからの出力端子64502Aと一
緒に、バス6450Aを構成する。
【0056】転送シーケンスは神経プロセッサ制御ロジ
ック620により始まって、神経プロセッサ・グローバ
ル・データバス624Aを介して制御信号をアドレス発
生器640Aに出す。その転送シーケンスは神経プロセ
ッサ制御ロジック620により開始されて、神経プロセ
ッサ・グローバル・データバス624Aを介して、第1
のデータについてのアドレスをカウンタ6440Aにロ
ードする。その後、神経プロセッサ制御ロジック620
は、再び神経プロセッサ・グローバル・データバス62
4Aを介して最後のデータについてのアドレスをレジス
タ6420Aにロードする。転送を開始するために、神
経プロセッサ制御ロジック620は、神経プロセッサ・
グローバル・データバス624Aを介して、制御情報を
アドレス復号兼裁定ロジック6410Aへ転送する。コ
ードの受信に際して、アドレス復号兼裁定ロジック64
10Aは、メモリアクセス裁定ロジック420Bに対し
て制御信号を出すことによって、その転送を開始する。
もしもメモリ440Bが現にアクセスされていないとす
ると、メモリアクセス裁定ロジック420Bは、そのメ
モリをアドレス発生器640Aに割り当てをして、アド
レス発生器640Aがメモリ440Bを持つことを確認
するために、信号6457Aをアドレス復号兼裁定ロジ
ック6410Aに送り戻す。もしもメモリ440Bが他
のチャネル424B,425B及び406Bを介してす
でにアクセスされつつあるとすると、確認信号6457
Aは送られず、アドレス信号兼裁定ロジック6410A
は、それがメモリアクセス裁定ユニットにより出される
まで、待たなければならない。アドレス復号兼裁定ロジ
ック6410Aがメモリ440Bに割当てられた場合、
それは、メモリ440Aをアクセスするための要請をメ
モリアクセス裁定ロジック420Aに出す。もしもメモ
リ440Aが現に割当てられていないとすると、メモリ
アクセス裁定ロジック420Aは、それがメモリ440
Aに割当てられたことを示すために、確認信号6456
Aをアドレス兼裁定ロジック6410Aに送出する。メ
モリ440Aからメモリ440Bへのメモリ転送は、ア
ドレス復号兼裁定ロジック6410Aが両メモリ440
A及び440Bに割当てられた時点で開始できる。カウ
ンタ6440Aは転送されるべきデータに対する送り手
及び受け手アドレスを含んでいる。このアドレスは、読
出し/書込み及びチップ・ユネーブルのようなメモリの
正しい動作にとって必要とする制御信号と共に、複数の
出力端子6450Aを使用して、カウンタ6440Aか
らメモリアクセス裁定ロジック420B及び420Aに
連結される。カウンタ6440Aの値は最後のデータの
アドレスと比較されて、比較器6430Aにより、レジ
スタ6420Aに保持される。もしもそのアドレスが同
じであるならば、その転送が完了するにつれて、アドレ
ス兼裁定ロジック6410Aはメモリ440A及び44
0Bを解放する。もしも比較器6430Aの結果が同じ
でないならば、アドレス復号兼裁定ロジック6410A
がカウンタ6440Aをインクリメントし、次のデータ
が転送される。これは、すべてのデータが転送されるま
で、続行する。
ック620により始まって、神経プロセッサ・グローバ
ル・データバス624Aを介して制御信号をアドレス発
生器640Aに出す。その転送シーケンスは神経プロセ
ッサ制御ロジック620により開始されて、神経プロセ
ッサ・グローバル・データバス624Aを介して、第1
のデータについてのアドレスをカウンタ6440Aにロ
ードする。その後、神経プロセッサ制御ロジック620
は、再び神経プロセッサ・グローバル・データバス62
4Aを介して最後のデータについてのアドレスをレジス
タ6420Aにロードする。転送を開始するために、神
経プロセッサ制御ロジック620は、神経プロセッサ・
グローバル・データバス624Aを介して、制御情報を
アドレス復号兼裁定ロジック6410Aへ転送する。コ
ードの受信に際して、アドレス復号兼裁定ロジック64
10Aは、メモリアクセス裁定ロジック420Bに対し
て制御信号を出すことによって、その転送を開始する。
もしもメモリ440Bが現にアクセスされていないとす
ると、メモリアクセス裁定ロジック420Bは、そのメ
モリをアドレス発生器640Aに割り当てをして、アド
レス発生器640Aがメモリ440Bを持つことを確認
するために、信号6457Aをアドレス復号兼裁定ロジ
ック6410Aに送り戻す。もしもメモリ440Bが他
のチャネル424B,425B及び406Bを介してす
でにアクセスされつつあるとすると、確認信号6457
Aは送られず、アドレス信号兼裁定ロジック6410A
は、それがメモリアクセス裁定ユニットにより出される
まで、待たなければならない。アドレス復号兼裁定ロジ
ック6410Aがメモリ440Bに割当てられた場合、
それは、メモリ440Aをアクセスするための要請をメ
モリアクセス裁定ロジック420Aに出す。もしもメモ
リ440Aが現に割当てられていないとすると、メモリ
アクセス裁定ロジック420Aは、それがメモリ440
Aに割当てられたことを示すために、確認信号6456
Aをアドレス兼裁定ロジック6410Aに送出する。メ
モリ440Aからメモリ440Bへのメモリ転送は、ア
ドレス復号兼裁定ロジック6410Aが両メモリ440
A及び440Bに割当てられた時点で開始できる。カウ
ンタ6440Aは転送されるべきデータに対する送り手
及び受け手アドレスを含んでいる。このアドレスは、読
出し/書込み及びチップ・ユネーブルのようなメモリの
正しい動作にとって必要とする制御信号と共に、複数の
出力端子6450Aを使用して、カウンタ6440Aか
らメモリアクセス裁定ロジック420B及び420Aに
連結される。カウンタ6440Aの値は最後のデータの
アドレスと比較されて、比較器6430Aにより、レジ
スタ6420Aに保持される。もしもそのアドレスが同
じであるならば、その転送が完了するにつれて、アドレ
ス兼裁定ロジック6410Aはメモリ440A及び44
0Bを解放する。もしも比較器6430Aの結果が同じ
でないならば、アドレス復号兼裁定ロジック6410A
がカウンタ6440Aをインクリメントし、次のデータ
が転送される。これは、すべてのデータが転送されるま
で、続行する。
【0057】図9は計算面670の一層詳細なブロック
図を例示している。その計算面は複数のシナプス・プロ
セッサ67010及び複数のローカルメモリ67100
とを含んでいる。計算表面内でのデータフローは複数の
マルチプレクサ(MUX)67020,67030、及
び67040により指示される。ローカル・メモリ67
100の外に、そこには、ローカル記憶装置としてのラ
ンダムアクセス・メモリ(RAM)67070と、シグ
モイド転送ルックアップテーブル67050として機能
するランダムアクセスメモリ(RAM)とが存在する。
最後に、そこには、計算表面に対するポートとして機能
する幾つかのバッファ67110,67090及び67
060がある。
図を例示している。その計算面は複数のシナプス・プロ
セッサ67010及び複数のローカルメモリ67100
とを含んでいる。計算表面内でのデータフローは複数の
マルチプレクサ(MUX)67020,67030、及
び67040により指示される。ローカル・メモリ67
100の外に、そこには、ローカル記憶装置としてのラ
ンダムアクセス・メモリ(RAM)67070と、シグ
モイド転送ルックアップテーブル67050として機能
するランダムアクセスメモリ(RAM)とが存在する。
最後に、そこには、計算表面に対するポートとして機能
する幾つかのバッファ67110,67090及び67
060がある。
【0058】制御ロジック620は計算面の機能性を制
御する制御信号を与える。こうした信号は複数の入力端
子67200を通して神経プロセッサグローバル・デー
タバス624から連結される。また、そこには、複数の
出力端子67210を通して、状態フラグのようなステ
ータス情報を制御ロジック620に結合するマイクロプ
ログラムステータス・バスも存在する。
御する制御信号を与える。こうした信号は複数の入力端
子67200を通して神経プロセッサグローバル・デー
タバス624から連結される。また、そこには、複数の
出力端子67210を通して、状態フラグのようなステ
ータス情報を制御ロジック620に結合するマイクロプ
ログラムステータス・バスも存在する。
【0059】各シナプス・プロセッサ67010は人工
の神経回路網のシミュレーションで必要とされる重み情
報を記憶するローカル・メモリ67100に結合されて
いる。シナプス・プロセッサ67010は、複数の出力
端子67220を通して、アドレス、読出し/書込み及
びチップ・ユネーブルのような制御信号情報をローカル
メモリ67100に与え、そして複数の双方向端子67
230を含んでいるローカル・データバスを通して、メ
モリ67100からデータを読み出したり、そのメモリ
にデータを書き込んだりする。
の神経回路網のシミュレーションで必要とされる重み情
報を記憶するローカル・メモリ67100に結合されて
いる。シナプス・プロセッサ67010は、複数の出力
端子67220を通して、アドレス、読出し/書込み及
びチップ・ユネーブルのような制御信号情報をローカル
メモリ67100に与え、そして複数の双方向端子67
230を含んでいるローカル・データバスを通して、メ
モリ67100からデータを読み出したり、そのメモリ
にデータを書き込んだりする。
【0060】各シナプス・プロセッサ67010は、シ
ナプス・プロセッサ67010からシナプス・プロセッ
サ67010へ情報を転送するための4つのデータチャ
ネルを持っている。2つのチャネルは、図9に示されて
いるように、データを左から右へ通過させ、そして他の
2つのチャネルは情報を右から左へと通過させる。4つ
のチャネルは、出力端子67240,67250,67
260及び67270と、入力端子67280,672
90,67230及び67310とを含む複数のシステ
ム端子からなっている。複数の端子67240及び67
280はチャネルAを形成し、複数の端子67250及
び67290はチャネルBを形成し、複数の端子672
60及び67300はチャネルCを形成し、そして最後
に、複数の端子67270及び67310はチャネルD
を形成している。また、すべてのシナプス・プロセッサ
は共通の出力バス67330を共有し、複数の出力端子
67320を使用して連結されている。
ナプス・プロセッサ67010からシナプス・プロセッ
サ67010へ情報を転送するための4つのデータチャ
ネルを持っている。2つのチャネルは、図9に示されて
いるように、データを左から右へ通過させ、そして他の
2つのチャネルは情報を右から左へと通過させる。4つ
のチャネルは、出力端子67240,67250,67
260及び67270と、入力端子67280,672
90,67230及び67310とを含む複数のシステ
ム端子からなっている。複数の端子67240及び67
280はチャネルAを形成し、複数の端子67250及
び67290はチャネルBを形成し、複数の端子672
60及び67300はチャネルCを形成し、そして最後
に、複数の端子67270及び67310はチャネルD
を形成している。また、すべてのシナプス・プロセッサ
は共通の出力バス67330を共有し、複数の出力端子
67320を使用して連結されている。
【0061】シナプス・プロセッサ67010は神経計
算を行う演算ハードウェアを含んでいる。すべてのシナ
プス・プロセッサ67010は並列に動作可能である。
算を行う演算ハードウェアを含んでいる。すべてのシナ
プス・プロセッサ67010は並列に動作可能である。
【0062】出力バス67330は複数の入力端子を通
してシグモイド転送ルックアップテーブル67050に
連結している。このユニットはアドレスであるシナプス
・プロセッサ67010からの出力を入力データとして
取り、そしてバス67340上でのそのアドレスにデー
タを出力する。シグモイド転送ルックアップテーブル6
7050にデータをロードすることにより、入力アドレ
スをマップして、それを出力データに与えることができ
る。このように、ユーザが工夫できるいずれの数学的変
換でも実施することができる。シグモイド転送ルックア
ップテーブル67050は伝達関数でもっての初期化に
おいてロードされる。もしも伝達関数がそのシミュレー
ション中に変更されることが必要であれば、それは、神
経プロセッサ・グローバル・データバス624及びシナ
プス・プロセッサ67010を介して、マイクロプログ
ラム制御ロジック620を使用してシグモイド転送ルッ
クアップテーブル67050へとデータを書き込むこと
により容易に更新される。
してシグモイド転送ルックアップテーブル67050に
連結している。このユニットはアドレスであるシナプス
・プロセッサ67010からの出力を入力データとして
取り、そしてバス67340上でのそのアドレスにデー
タを出力する。シグモイド転送ルックアップテーブル6
7050にデータをロードすることにより、入力アドレ
スをマップして、それを出力データに与えることができ
る。このように、ユーザが工夫できるいずれの数学的変
換でも実施することができる。シグモイド転送ルックア
ップテーブル67050は伝達関数でもっての初期化に
おいてロードされる。もしも伝達関数がそのシミュレー
ション中に変更されることが必要であれば、それは、神
経プロセッサ・グローバル・データバス624及びシナ
プス・プロセッサ67010を介して、マイクロプログ
ラム制御ロジック620を使用してシグモイド転送ルッ
クアップテーブル67050へとデータを書き込むこと
により容易に更新される。
【0063】シグモイド転送ルックアップテーブル67
050からの結果出力は4入力チャネル、1出力チャネ
ル・マルチプレクサ67030を用いてローカル・メモ
リ67070に記憶される。シグモイド転送ルックアッ
プ・テーブル67050は、複数の入力端子と複数の出
力端子とを含んでいるバス67340を使用することに
よりマルチプレクサ67030に連結されている。マル
チプレクサ67030はバス67350によりローカル
メモリ67070に接続されている。また、シナプス・
プロセッサ67010は、バス67330がマルチプレ
クサ67030に連結されているので、ローカルメモリ
67070へとデータを書込むことができる。ローカル
メモリ67070をアクセスする際に必要とされるアド
レス情報はマイクロプログラム制御下にあるアドレス発
生器67080により供給される。
050からの結果出力は4入力チャネル、1出力チャネ
ル・マルチプレクサ67030を用いてローカル・メモ
リ67070に記憶される。シグモイド転送ルックアッ
プ・テーブル67050は、複数の入力端子と複数の出
力端子とを含んでいるバス67340を使用することに
よりマルチプレクサ67030に連結されている。マル
チプレクサ67030はバス67350によりローカル
メモリ67070に接続されている。また、シナプス・
プロセッサ67010は、バス67330がマルチプレ
クサ67030に連結されているので、ローカルメモリ
67070へとデータを書込むことができる。ローカル
メモリ67070をアクセスする際に必要とされるアド
レス情報はマイクロプログラム制御下にあるアドレス発
生器67080により供給される。
【0064】データは、複数の端子を通して神経プロセ
ッサグローバル・データバス624を連結する2つのポ
ートを使用して、シナプス・プロセッサ670へ入力さ
れたり、それから出力される。ポートA67060は神
経プロセッサ・グローバルデータ・バス624からのみ
のデータを受信する単方向ポートである。ポートB67
090及び67110は双方向であり、ポート6709
0はグローバルデータバス624にデータを出力するの
に使用されるが、ポート67110はグローバル・デー
タバス624からのデータを受信する。両ポートは、マ
イクロプログラム制御の下にあって、そして複数の入力
端子を介してバス671からマイクロプログラム制御信
号を受信する。神経プロセッサ670内でのデータフロ
ーはマルチプレクサ67040,67030及び670
20によって調節される。
ッサグローバル・データバス624を連結する2つのポ
ートを使用して、シナプス・プロセッサ670へ入力さ
れたり、それから出力される。ポートA67060は神
経プロセッサ・グローバルデータ・バス624からのみ
のデータを受信する単方向ポートである。ポートB67
090及び67110は双方向であり、ポート6709
0はグローバルデータバス624にデータを出力するの
に使用されるが、ポート67110はグローバル・デー
タバス624からのデータを受信する。両ポートは、マ
イクロプログラム制御の下にあって、そして複数の入力
端子を介してバス671からマイクロプログラム制御信
号を受信する。神経プロセッサ670内でのデータフロ
ーはマルチプレクサ67040,67030及び670
20によって調節される。
【0065】図10はシナプス・プロセッサ67010
を一層詳細に例示している。このシナプス・プロセッサ
は3つのレジスタ670110,670130及び67
0120を含んでいる。こうしたレジスタの各々は、デ
ータをレジスタに入れるための複数の入力端子と、デー
タをレジスタから取り出すための複数の出力端子と、そ
してレジスタの動作を制御するための複数の入力端子と
を含んでいる。また、シナプス・プロセッサはベースプ
ロセッサ670140を含んでいる。レジスタ6701
10,670130及び670120の目的は、単一の
バスが複数のデータ値を保持するのを可能にすることで
ある。これは、各プロセッサ670140が個々のデー
タバスを持つことを必要とすることもなしに、各プロセ
ッサ670140が異なる情報を並列に計算するのを可
能にする。レジスタ670110,670130及び6
70120と、ベースプロセッサ670140とはすべ
て、マイクロプログラムによって制御される。
を一層詳細に例示している。このシナプス・プロセッサ
は3つのレジスタ670110,670130及び67
0120を含んでいる。こうしたレジスタの各々は、デ
ータをレジスタに入れるための複数の入力端子と、デー
タをレジスタから取り出すための複数の出力端子と、そ
してレジスタの動作を制御するための複数の入力端子と
を含んでいる。また、シナプス・プロセッサはベースプ
ロセッサ670140を含んでいる。レジスタ6701
10,670130及び670120の目的は、単一の
バスが複数のデータ値を保持するのを可能にすることで
ある。これは、各プロセッサ670140が個々のデー
タバスを持つことを必要とすることもなしに、各プロセ
ッサ670140が異なる情報を並列に計算するのを可
能にする。レジスタ670110,670130及び6
70120と、ベースプロセッサ670140とはすべ
て、マイクロプログラムによって制御される。
【0066】図11はベースプロセッサ670140を
一層詳細に例示している。ベースプロセッサ67014
0はマルチプレクサ6701510,6701500,
6701450及び6701440と、レジスタ670
1480,6701470,6701420及び670
1430と、乗算器ユニット6701490と、演算論
理ユニット(ALU)6701460と、そしてカウン
タ6701410とから成っている。マルチプレクサ6
701510,6701500,6701450及び6
701440は神経プロセッサ670140でもってデ
ータフローを制御し、そしてマイクロプログラム制御下
に置かれる。こうしたマルチプレクサは複数の入力端子
によりマイクロプログラムバスに連結される。レジスタ
6701480,6701470,6701420及び
6701430は変数の一時記憶のために使用され、且
つマイクロプログラム制御下に置かれる。こうしたレジ
スタは複数の入力端子によりマイクロプログラムバスに
対して結合されている。乗算器6701490は算術的
乗算を実行する。このユニットは応用に依存して浮動小
数点及び/又は整数型に作られる。また、乗算器ユニッ
トは除算や論理桁送りのような動作を可能にする桁送り
機能を含むこともできる。乗算器は2つの演算数入力バ
ス6701600及び6701610を持ち、データが
複数の入力端子を用いて、マルチプレクサ670151
0及び6701500から乗算器6701490に結合
されるのを可能にする。結果は、バス6701620上
への複数の出力端子により、マルチプレクサ67014
50又はレジスタ6701480に結合される。乗算器
ユニット6701490はマイクロプログラムにより制
御され、そして複数の入力端子を介して、マイクロプロ
グラム入力バス67200から制御信号を受信する。こ
うした入力は乗算器が実行する各種動作を制御する。ま
た、乗算器ユニットは、複数の出力端子を使用して、マ
イクロプログラム・バス67210へと出力するので、
乗算器のステータスはビットオーバフローなどに対して
監視されることになる。演算論理ユニット(ALU)6
701460は、複数の入力端子を介して、2つの演算
数入力6701630及び6701640を持ってい
る。これらは、データが加算のためにALUへと通され
るのを可能にする。結果は、複数の出力端子を介して、
ALUからデータバス67330へと通過される。AL
U6701460の動作はマイクロプログラムによって
制御され、そして複数の入力端子を介して制御信号を受
信する。また、ALU6701460は、複数の出力端
子を使用して、マイクロプログラム・バス67210へ
出力するので、ALU6701460のステータスは加
算オーバフローなどに対して監視される。プロセッサ
は、双方向バス67230を介してローカルメモリ67
100に連結でき、そこでのアドレスはカウンタ670
1410によって供給される。更に、そのカウンタはマ
イクロプログラム制御下に置かれ、そして複数の入力端
子を介して、マイクロプログラム入力バス67200に
結合される。
一層詳細に例示している。ベースプロセッサ67014
0はマルチプレクサ6701510,6701500,
6701450及び6701440と、レジスタ670
1480,6701470,6701420及び670
1430と、乗算器ユニット6701490と、演算論
理ユニット(ALU)6701460と、そしてカウン
タ6701410とから成っている。マルチプレクサ6
701510,6701500,6701450及び6
701440は神経プロセッサ670140でもってデ
ータフローを制御し、そしてマイクロプログラム制御下
に置かれる。こうしたマルチプレクサは複数の入力端子
によりマイクロプログラムバスに連結される。レジスタ
6701480,6701470,6701420及び
6701430は変数の一時記憶のために使用され、且
つマイクロプログラム制御下に置かれる。こうしたレジ
スタは複数の入力端子によりマイクロプログラムバスに
対して結合されている。乗算器6701490は算術的
乗算を実行する。このユニットは応用に依存して浮動小
数点及び/又は整数型に作られる。また、乗算器ユニッ
トは除算や論理桁送りのような動作を可能にする桁送り
機能を含むこともできる。乗算器は2つの演算数入力バ
ス6701600及び6701610を持ち、データが
複数の入力端子を用いて、マルチプレクサ670151
0及び6701500から乗算器6701490に結合
されるのを可能にする。結果は、バス6701620上
への複数の出力端子により、マルチプレクサ67014
50又はレジスタ6701480に結合される。乗算器
ユニット6701490はマイクロプログラムにより制
御され、そして複数の入力端子を介して、マイクロプロ
グラム入力バス67200から制御信号を受信する。こ
うした入力は乗算器が実行する各種動作を制御する。ま
た、乗算器ユニットは、複数の出力端子を使用して、マ
イクロプログラム・バス67210へと出力するので、
乗算器のステータスはビットオーバフローなどに対して
監視されることになる。演算論理ユニット(ALU)6
701460は、複数の入力端子を介して、2つの演算
数入力6701630及び6701640を持ってい
る。これらは、データが加算のためにALUへと通され
るのを可能にする。結果は、複数の出力端子を介して、
ALUからデータバス67330へと通過される。AL
U6701460の動作はマイクロプログラムによって
制御され、そして複数の入力端子を介して制御信号を受
信する。また、ALU6701460は、複数の出力端
子を使用して、マイクロプログラム・バス67210へ
出力するので、ALU6701460のステータスは加
算オーバフローなどに対して監視される。プロセッサ
は、双方向バス67230を介してローカルメモリ67
100に連結でき、そこでのアドレスはカウンタ670
1410によって供給される。更に、そのカウンタはマ
イクロプログラム制御下に置かれ、そして複数の入力端
子を介して、マイクロプログラム入力バス67200に
結合される。
【0067】尚、図12は、図7に使用されるメモリ記
憶装置680の一実施例にかかる概念図であり、メモリ
アクセス裁定ロジック420、メモリ440を含む。
憶装置680の一実施例にかかる概念図であり、メモリ
アクセス裁定ロジック420、メモリ440を含む。
【0068】また、図13は、図7のプリ目標インター
フェースの一実施例にかかる概念図であり、メモリアク
セス裁定ロジック420、メモリ440を含む。
フェースの一実施例にかかる概念図であり、メモリアク
セス裁定ロジック420、メモリ440を含む。
【0069】図14は、本発明を適用した財政予測シス
テムのハードウエアの一構成例を示している。その財政
データは、将来のストック価格の予測のためにネットワ
ークを訓練するのに用いられる。
テムのハードウエアの一構成例を示している。その財政
データは、将来のストック価格の予測のためにネットワ
ークを訓練するのに用いられる。
【0070】図14に示したものは、a)マイクロプロ
グラムRAMまたはROMにおけるマイクロプログラム
命令のシーケンスからなるPPTアルゴリズムは、専用
の集積回路にて実装されるハードウエアユニットとして
構成することができ、さらに、b)PPTアルゴリズム
は、汎用のコンピュータシステムを用いてソフトウエア
のプログラムとして構成することができる。
グラムRAMまたはROMにおけるマイクロプログラム
命令のシーケンスからなるPPTアルゴリズムは、専用
の集積回路にて実装されるハードウエアユニットとして
構成することができ、さらに、b)PPTアルゴリズム
は、汎用のコンピュータシステムを用いてソフトウエア
のプログラムとして構成することができる。
【0071】図15は、本発明を適用した光学的パター
ン認識システムのハードウエアの一構成例を示してい
る。データは光学的な読み取り装置を介してPPTシス
テムに取り込まれる。固有の文字のサンプルの学習は、
ユーザ特有の入力を光学的な読み取り装置を介して取り
込むことで行われる。ユーザ特有の入力は、PPTアル
ゴリズムの学習における目標として用いられる。全ての
文字の全てのサンプルが正確に学習されたとき、システ
ムは、学習されたそれらのパターンに対して近いパター
ンを呼出し、入力された新しい文字を認識する。その結
果、様々な出力装置、例えば図15に示したディスプレ
イに出力を行うことができる。(なお、図15のPPT
ハードウエアの詳細は、図14に示したものと同様であ
る。)図15に示したものは、a)マイクロプログラム
RAMまたはROMにおけるマイクロプログラム命令の
シーケンスからなるPPTアルゴリズムは、専用の集積
回路にて実装されるハードウエアユニットとして構成す
ることができ、さらに、b)PPTアルゴリズムは、汎
用のコンピュータシステムを用いてソフトウエアのプロ
グラムとして構成することができる。
ン認識システムのハードウエアの一構成例を示してい
る。データは光学的な読み取り装置を介してPPTシス
テムに取り込まれる。固有の文字のサンプルの学習は、
ユーザ特有の入力を光学的な読み取り装置を介して取り
込むことで行われる。ユーザ特有の入力は、PPTアル
ゴリズムの学習における目標として用いられる。全ての
文字の全てのサンプルが正確に学習されたとき、システ
ムは、学習されたそれらのパターンに対して近いパター
ンを呼出し、入力された新しい文字を認識する。その結
果、様々な出力装置、例えば図15に示したディスプレ
イに出力を行うことができる。(なお、図15のPPT
ハードウエアの詳細は、図14に示したものと同様であ
る。)図15に示したものは、a)マイクロプログラム
RAMまたはROMにおけるマイクロプログラム命令の
シーケンスからなるPPTアルゴリズムは、専用の集積
回路にて実装されるハードウエアユニットとして構成す
ることができ、さらに、b)PPTアルゴリズムは、汎
用のコンピュータシステムを用いてソフトウエアのプロ
グラムとして構成することができる。
【0072】
【発明の効果】本発明によれば、並列学習を行うことが
できるため、予測やパターン認識、制御分野等で利用さ
れている多層型のニューラルネットワークの高速学習が
可能となる。
できるため、予測やパターン認識、制御分野等で利用さ
れている多層型のニューラルネットワークの高速学習が
可能となる。
【図1】本発明のアルゴリズムを用いて単一の層に対す
る学習シーケンスを例示している図である。
る学習シーケンスを例示している図である。
【図2】典型的な逆伝搬アルゴリズムと本発明のアルゴ
リズムのデータフローとの間における相違を例示してい
る図である。
リズムのデータフローとの間における相違を例示してい
る図である。
【図3】本発明のアルゴリズムを使用したパターンシー
ケンス計算を例示している図である。
ケンス計算を例示している図である。
【図4】本発明の実施例によるディジタル人工神経回路
網システムの概略図である。
網システムの概略図である。
【図5】図4の層プロセッサの1つの履行の概略図であ
る。
る。
【図6】図5の仮想ターゲットメモリの1つの履行の概
略図である。
略図である。
【図7】図5の神経プロセッサの1つの履行の概略図で
ある。
ある。
【図8】図7の2つの隣り合う層プロセッサ間における
通信回路の1つの履行の概略図である。
通信回路の1つの履行の概略図である。
【図9】図7の計算面の1つの履行の概略図である。
【図10】図9のシナプス・プロセッサの1つの履行の
概略図である。
概略図である。
【図11】図10のベース・プロセッサの1つの履行の
概略図である。
概略図である。
【図12】図7に使用されているメモリ記憶装置の1つ
の履行の概略図である。
の履行の概略図である。
【図13】図7に使用されているプリ目標インタフェー
スで使用されるメモリ記憶装置の1つの履行の概略図で
ある。
スで使用されるメモリ記憶装置の1つの履行の概略図で
ある。
【図14】本発明を適用した光学的パターン認識システ
ムのハードウエアの一構成例を示している。
ムのハードウエアの一構成例を示している。
【図15】本発明を適用した光学的パターン認識システ
ムのハードウエアの一構成例を示している。
ムのハードウエアの一構成例を示している。
100…制御ブロック、200…層プロセッサ、300
…パターン記憶メモリ、400…仮想目標メモリ、42
0…メモリ裁定ロジック、440…メモリ、600…神
経プロセッサ、620…制御ロジック、640…アドレ
ス発生器、670…計算面、680…メモリ記憶装置、
690…メモリ記憶装置。
…パターン記憶メモリ、400…仮想目標メモリ、42
0…メモリ裁定ロジック、440…メモリ、600…神
経プロセッサ、620…制御ロジック、640…アドレ
ス発生器、670…計算面、680…メモリ記憶装置、
690…メモリ記憶装置。
Claims (3)
- 【請求項1】ディジタル集積回路を用いて神経回路網を
完全に並列にシミュレートするための方法であって、 シナプス計算手段により、組合せでの一連の命令が、シ
ナプスが関係する層とは無関係に、修正されるべき人工
神経回路網により学習されるパターンを符号化するよう
に、人工神経回路網内における単一のシナプス重みが修
正されるのを可能にするために実行されるシナプス計算
のすべて又は幾つかは並列に実行され、 シナプス計算手段により、組合せでの一連の命令が、仮
想目標が関係する層とは無関係に、修正されるべき人工
神経回路網により学習されるパターンを符号化するよう
に、人工神経回路網内における単一の仮想目標が修正さ
れるのを可能にするために実行される仮想目標計算のす
べて又は幾つかは並列に実行され、 最大数が前記多層神経回路網における層数に等しい、1
つ又はそれ以上の入力パターンを前記回路網により同時
に学習することを特徴とするディジタル集積回路を用い
て神経回路網を完全に並列にシミュレートするための方
法。 - 【請求項2】ディジタル集積回路を用いて神経回路網を
完全に並列にシミュレートするための装置であって、 各々が複数のプロセッサ/メモリを含んでいる1次元状
アレイの層プロセッサを備え、前記複数のプロセッサ/
メモリの各々は、データがそこに書き込まれ且つデータ
がそこから読み出されるメモリ手段と、そして各層プロ
セッサが多層神経回路網の単一の層を表わしている場
合、前記メモリ手段及び命令情報から読み出されたデー
タに少なくとも部分的に依存した出力を作り出すための
プロセッサとを含んでおり、 各層プロセッサが多層神経回路網の単一の層を表わすこ
とのできる1次元アレイにおいて前記層プロセッサを相
互接続するための手段を有し、 前記アレイにおけるすべての層プロセッサがシナプス重
みか又は仮想目標に含まれるすべての又は幾つかの計算
が並列に計算できるようにする手段とを備え、1つの特
定の層に関連したすべての計算は1つの特定の層プロセ
ッサに関連されており、 前記1次元アレイにおける1つの層プロセッサにより発
生されたデータ情報を別な隣接の層プロセッサへ通過さ
せるための手段を備えたことを特徴とするディジタル集
積回路を用いて神経回路網を完全に並列にシミュレート
するための装置。 - 【請求項3】請求項2の装置において、1つの層プロセ
ッサにより発生されたデータ情報を別な手段へ通過させ
るための手段を含み、 いずれかの特定の層プロセッサは、各々が隣接する層プ
ロセッサ/メモリへの入力端子及び出力端子を含む複数
の端子を意味する少なくとも3つの並列データチャネル
と、データがそこに書き込まれ且つそこからデータが読
み出されるメモリ手段を有し、 入力パターンを記憶するための手段における、入力パタ
ーンはデータチャネルを通して1次元アレイの層プロセ
ッサ上でシミュレートされつつある人工の多層神経回路
網に与えられるデータを意味し、 目標パターンを記憶するための手段における、目標パタ
ーンは前記シミュレーションにおいて使用される前記人
工の多層神経回路網に与えられるデータを意味すること
を特徴とするディジタル集積回路を用いて神経回路網を
完全に並列にシミュレートするための装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29244092A JPH06139218A (ja) | 1992-10-30 | 1992-10-30 | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29244092A JPH06139218A (ja) | 1992-10-30 | 1992-10-30 | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06139218A true JPH06139218A (ja) | 1994-05-20 |
Family
ID=17781825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29244092A Pending JPH06139218A (ja) | 1992-10-30 | 1992-10-30 | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06139218A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017023042A1 (ko) * | 2015-08-03 | 2017-02-09 | 서울대학교산학협력단 | 딥 빌리프 네트워크를 위한 복수 레이어가 적층된 뉴런 어레이 및 뉴런 어레이 동작 방법 |
JP2022046552A (ja) * | 2016-10-27 | 2022-03-23 | グーグル エルエルシー | ニューラルネットワーク計算タイル |
US11816045B2 (en) | 2016-10-27 | 2023-11-14 | Google Llc | Exploiting input data sparsity in neural network compute units |
US12061968B2 (en) | 2016-10-27 | 2024-08-13 | Google Llc | Neural network instruction set architecture |
-
1992
- 1992-10-30 JP JP29244092A patent/JPH06139218A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017023042A1 (ko) * | 2015-08-03 | 2017-02-09 | 서울대학교산학협력단 | 딥 빌리프 네트워크를 위한 복수 레이어가 적층된 뉴런 어레이 및 뉴런 어레이 동작 방법 |
US11468283B2 (en) | 2015-08-03 | 2022-10-11 | Seoul National University R&Db Foundation | Neural array having multiple layers stacked therein for deep belief network and method for operating neural array |
JP2022046552A (ja) * | 2016-10-27 | 2022-03-23 | グーグル エルエルシー | ニューラルネットワーク計算タイル |
US11816480B2 (en) | 2016-10-27 | 2023-11-14 | Google Llc | Neural network compute tile |
US11816045B2 (en) | 2016-10-27 | 2023-11-14 | Google Llc | Exploiting input data sparsity in neural network compute units |
US12061968B2 (en) | 2016-10-27 | 2024-08-13 | Google Llc | Neural network instruction set architecture |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341547B (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
US5781701A (en) | Neural network and method of using same | |
US5740325A (en) | Computer system having a polynomial co-processor | |
KR950008840B1 (ko) | 뉴로 칩(neuro chip) | |
EP0570359B1 (en) | Heuristic processor | |
US5519647A (en) | Apparatus for and method of generating an approximation function | |
US5517596A (en) | Learning machine synapse processor system apparatus | |
KR20190003610A (ko) | 콘볼루션 신경망 정방향 연산 실행용 장치와 방법 | |
KR20190003612A (ko) | 완전연결층 신경망 역방향 트레이닝 실행용 장치와 방법 | |
JP2000511307A (ja) | 同時学習およびパフォーマンス情報処理システム | |
JP2004005645A (ja) | 確率に基づく推諭システム | |
JP2022538750A (ja) | ニューラルネットワークのためのカウンタベースの乗算累算回路 | |
CN111045644A (zh) | 存储器装置中的并行存储器存取及计算 | |
TWI782328B (zh) | 適用於神經網路運算的處理器 | |
JPH05242065A (ja) | 情報処理装置及びシステム | |
CN111045595A (zh) | 集成电路存储器装置及在其中实施的方法以及计算设备 | |
JPH06139218A (ja) | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 | |
EP0661645A2 (en) | Neural network | |
JP7556653B2 (ja) | 柔軟な精度のニューラル推論処理ユニット | |
US11586895B1 (en) | Recursive neural network using random access memory | |
Bogdan et al. | Kobold: a neural coprocessor for backpropagation with online learning | |
US12026548B2 (en) | Task manager, processing device, and method for checking task dependencies thereof | |
Shindo et al. | Evaluation of Task Mapping on Multicore Neural Network Accelerators | |
Roth et al. | Efficient on-line computation of connectivity: architecture of the connection unit of NESPINN | |
Smith et al. | A Hardware Implementation of a Neural Network Using the Parallel Propagated Targets Algorithm |