JPH04233063A - ニューロプロセッサ - Google Patents
ニューロプロセッサInfo
- Publication number
- JPH04233063A JPH04233063A JP2408980A JP40898090A JPH04233063A JP H04233063 A JPH04233063 A JP H04233063A JP 2408980 A JP2408980 A JP 2408980A JP 40898090 A JP40898090 A JP 40898090A JP H04233063 A JPH04233063 A JP H04233063A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- neuron
- output
- register
- calculation
- 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
- 230000015654 memory Effects 0.000 claims abstract description 93
- 210000002569 neuron Anatomy 0.000 claims abstract description 91
- 230000006870 function Effects 0.000 claims abstract description 37
- 238000013528 artificial neural network Methods 0.000 claims abstract description 22
- 230000000946 synaptic effect Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 abstract description 51
- 210000000225 synapse Anatomy 0.000 abstract description 16
- 230000008878 coupling Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 abstract 1
- 238000005859 coupling reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 21
- 238000000034 method Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101000582320 Homo sapiens Neurogenic differentiation factor 6 Proteins 0.000 description 1
- 102100030589 Neurogenic differentiation factor 6 Human genes 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、階層構造ニューラルネ
ットワークの前向き伝搬の計算、及びバックプロパゲー
ションアルゴリズムによる学習の計算を高速に行なうた
めのニューロプロセッサに関するものである。
ットワークの前向き伝搬の計算、及びバックプロパゲー
ションアルゴリズムによる学習の計算を高速に行なうた
めのニューロプロセッサに関するものである。
【0002】
【従来の技術】ニューラルネットワークは、人間の脳の
神経細胞の働きをモデル化して模倣することによって、
従来のいわゆるノイマン形のコンピュータが苦手として
いた認識や、連想,最適化問題,音声合成等を得意とす
る新しいコンピュータを実現しようとするものである。
神経細胞の働きをモデル化して模倣することによって、
従来のいわゆるノイマン形のコンピュータが苦手として
いた認識や、連想,最適化問題,音声合成等を得意とす
る新しいコンピュータを実現しようとするものである。
【0003】ニューラルネットワークには、ニューロン
が層状に配置された階層構造のものや、すべてのニュー
ロンが相互に結合した相互結合構造のものなど、さまざ
まな構造のものがある。その中で階層構造のネットワー
クは、例えばバックプロパゲーションアルゴリズムと呼
ばれる学習アルゴリズムで簡単に学習させることができ
、制御,文字認識,画像認識,画像処理などに幅広く応
用することができると考えられている。
が層状に配置された階層構造のものや、すべてのニュー
ロンが相互に結合した相互結合構造のものなど、さまざ
まな構造のものがある。その中で階層構造のネットワー
クは、例えばバックプロパゲーションアルゴリズムと呼
ばれる学習アルゴリズムで簡単に学習させることができ
、制御,文字認識,画像認識,画像処理などに幅広く応
用することができると考えられている。
【0004】図10は階層構造のネットワークの例を示
したものである。図10で、101は各層中に配置され
たニューロン、102はシナプスと呼ばれるニューロン
間の結合、103は入力層、104は中間層、105は
出力層を示す。図10では3層のネットワークの例を示
しているが、中間層を複数にすることによって4層以上
の階層構造のネットワークにすることもできる。以後は
3層のネットワークに限って説明するが、4層以上のネ
ットワークに対してもまったく同様の扱いである。また
、図10では各層のニューロンの数は、それぞれ3,2
,3として例示したものであるが、各層のニューロンの
数を増減させても同様である。ニューラルネットワーク
への入力信号は、おのおの、入力層103の各ニューロ
ンに与えられる。そして、信号が入力層,中間層,出力
層の順番に伝搬していき、出力層105のニューロンの
信号がネットワークの出力になる。このような入力層、
中間層,出力層の順番に伝搬していく通常の伝搬を前向
きの伝搬と呼ぶ。
したものである。図10で、101は各層中に配置され
たニューロン、102はシナプスと呼ばれるニューロン
間の結合、103は入力層、104は中間層、105は
出力層を示す。図10では3層のネットワークの例を示
しているが、中間層を複数にすることによって4層以上
の階層構造のネットワークにすることもできる。以後は
3層のネットワークに限って説明するが、4層以上のネ
ットワークに対してもまったく同様の扱いである。また
、図10では各層のニューロンの数は、それぞれ3,2
,3として例示したものであるが、各層のニューロンの
数を増減させても同様である。ニューラルネットワーク
への入力信号は、おのおの、入力層103の各ニューロ
ンに与えられる。そして、信号が入力層,中間層,出力
層の順番に伝搬していき、出力層105のニューロンの
信号がネットワークの出力になる。このような入力層、
中間層,出力層の順番に伝搬していく通常の伝搬を前向
きの伝搬と呼ぶ。
【0005】図11はニューロンの働きを示した図であ
る。図11で、101,107,108,109はニュ
ーロン、102はシナプス、106はニューロンの特性
関数fである。ニューロンは1つ前の層のニューロンの
出力をシナプスを介して受け取る。それぞれのシナプス
は結合の重みと呼ばれる値を持っており、前の層のニュ
ーロンの出力値にその結合の重みの値を乗算した結果を
次のニューロンに与える。シナプスの結合の重みは、そ
れぞれのシナプスで異なった値になっている。例えば、
図11のl層目のi番目のニューロン108とl+1層
目のj番目のニューロン101との間のシナプスは結合
の重みwljiを持っており、l層目のi番目のニュー
ロン108の出力Oliにその結合の重みの値を乗算し
た結果wlji×Oliがl+1層目のj番目のニュー
ロン101に与える。そして、ニューロン101はそれ
に結合するすべてのシナプスより与えられる入力をすべ
て加算し、その加算結果にニューロンの特性関数106
を作用させて、その関数値をニューロン101の出力O
l+1,jとして出力する。これを式で表すと次式のよ
うになる。
る。図11で、101,107,108,109はニュ
ーロン、102はシナプス、106はニューロンの特性
関数fである。ニューロンは1つ前の層のニューロンの
出力をシナプスを介して受け取る。それぞれのシナプス
は結合の重みと呼ばれる値を持っており、前の層のニュ
ーロンの出力値にその結合の重みの値を乗算した結果を
次のニューロンに与える。シナプスの結合の重みは、そ
れぞれのシナプスで異なった値になっている。例えば、
図11のl層目のi番目のニューロン108とl+1層
目のj番目のニューロン101との間のシナプスは結合
の重みwljiを持っており、l層目のi番目のニュー
ロン108の出力Oliにその結合の重みの値を乗算し
た結果wlji×Oliがl+1層目のj番目のニュー
ロン101に与える。そして、ニューロン101はそれ
に結合するすべてのシナプスより与えられる入力をすべ
て加算し、その加算結果にニューロンの特性関数106
を作用させて、その関数値をニューロン101の出力O
l+1,jとして出力する。これを式で表すと次式のよ
うになる。
【0006】
【数1】
【0007】したがって、3層のネットワークの場合の
前向き伝搬は、つぎの手順で計算される。まず最初にす
べての中間層のニューロンについて、その出力を、
前向き伝搬は、つぎの手順で計算される。まず最初にす
べての中間層のニューロンについて、その出力を、
【0
008】
008】
【数2】
【0009】に従って計算する。次にその結果を使って
すべての出力層のニューロンについて、その出力を、
すべての出力層のニューロンについて、その出力を、
【
0010】
0010】
【数3】
【0011】に従って計算する。次に、図10の3層の
階層構造ネットワークのバックプロパゲーションアルゴ
リズムによる学習の方法について説明する。バックプロ
パゲーションアルゴリズムでは、入力とそれに対する理
想的な出力の組を用意し、その入力に対する実際の出力
と理想的な出力の差が減少するようにシナプスの結合の
重みを修正する。この理想的な出力のことを通常は教師
信号と呼ぶ。以下に、3層のネットワークについて具体
的な計算方法を順を追って説明する。 1.前向きの伝搬によって実際の出力を計算する。 2.次式に従って出力層の各ニューロンの誤差に対応し
た値(以下、単にデルタと呼ぶ)を計算する。
階層構造ネットワークのバックプロパゲーションアルゴ
リズムによる学習の方法について説明する。バックプロ
パゲーションアルゴリズムでは、入力とそれに対する理
想的な出力の組を用意し、その入力に対する実際の出力
と理想的な出力の差が減少するようにシナプスの結合の
重みを修正する。この理想的な出力のことを通常は教師
信号と呼ぶ。以下に、3層のネットワークについて具体
的な計算方法を順を追って説明する。 1.前向きの伝搬によって実際の出力を計算する。 2.次式に従って出力層の各ニューロンの誤差に対応し
た値(以下、単にデルタと呼ぶ)を計算する。
【0012】
【数4】
【0013】δljはl層目のj番目のニューロンに対
するデルタ、tjは出力層のj番目のニューロンに対す
る教師信号、gは
するデルタ、tjは出力層のj番目のニューロンに対す
る教師信号、gは
【0014】
【数5】
【0015】で表されるようにニューロンの特性関数f
の微分係数である。ニューロンの特性関数fは、単調非
減少の関数が用いられるので、(数5)に示したように
、特性関数の微分係数を特性関数の関数値の関数として
表すことができる。 3.中間層と出力層との間のシナプスの結合の重みの修
正量を、次式に従って計算し、重みを修正する。
の微分係数である。ニューロンの特性関数fは、単調非
減少の関数が用いられるので、(数5)に示したように
、特性関数の微分係数を特性関数の関数値の関数として
表すことができる。 3.中間層と出力層との間のシナプスの結合の重みの修
正量を、次式に従って計算し、重みを修正する。
【0016】
【数6】
【0017】ηは修正係数である。
4.中間層のニューロンに対するデルタを、次式に従っ
て計算する。
て計算する。
【0018】
【数7】
【0019】5.中間層と入力層の間のシナプスの結合
の重みの修正量を、次式に従って計算し、重みを修正す
る。
の重みの修正量を、次式に従って計算し、重みを修正す
る。
【0020】
【数8】
【0021】実際の学習では、以上に述べた手順を、複
数個の入力と教師信号の組に対して行い、さらにそれを
何回も繰り返す。すなわち、上の1から5までの手順を
1回の学習と呼ぶことにすると、総学習回数は、(学習
に用いる入力と教師信号の組の数)×(繰り返しの回数
)となる。
数個の入力と教師信号の組に対して行い、さらにそれを
何回も繰り返す。すなわち、上の1から5までの手順を
1回の学習と呼ぶことにすると、総学習回数は、(学習
に用いる入力と教師信号の組の数)×(繰り返しの回数
)となる。
【0022】以上より明らかなように、ニューラルネッ
トワークの計算は、演算量が非常に多いのが特徴である
。また、そのためにメモリのアクセス回数も非常に多く
なる。特に学習は繰り返しが必要なので、非常に演算量
が多くなる。そのため、従来、ニューラルネットワーク
の研究においては大型計算機やワークステーションのよ
うなかなり大きなハードウェアが必要であった。しかし
、ニューラルネットワークを例えば家電製品のようなも
のに応用することを考えた場合に、もっと小さなハード
ウェアでニューラルネットワークが計算できることが必
要になってくる。
トワークの計算は、演算量が非常に多いのが特徴である
。また、そのためにメモリのアクセス回数も非常に多く
なる。特に学習は繰り返しが必要なので、非常に演算量
が多くなる。そのため、従来、ニューラルネットワーク
の研究においては大型計算機やワークステーションのよ
うなかなり大きなハードウェアが必要であった。しかし
、ニューラルネットワークを例えば家電製品のようなも
のに応用することを考えた場合に、もっと小さなハード
ウェアでニューラルネットワークが計算できることが必
要になってくる。
【0023】そこで、通常の汎用のマイクロプロセッサ
や、乗算器と加算器を持ちそれらを並列に動作させ、そ
の積和演算をパイプライン処理するディジタルシグナル
プロセッサ(DSP)のようなものも用いられている。 しかし、汎用のマイクロプロセッサでは計算に膨大な時
間が必要になる。またDSPでも膨大な回数のメモリの
アクセスがネックになって積和演算のパイプラインを十
分に活かすことができなくなり、乗算器や加算器が使用
されていない時間が多くなり、計算時間の短縮は大きく
ならない。そのため、特に学習の計算を汎用のマイクロ
プロセッサやDSPで行うのは困難である。したがって
、学習は大型計算機やワークステーションのような大き
なハードウェアで行い、学習結果のデータをマイクロプ
ロセッサやDSPに移し、学習結果を用いた前向きの伝
搬の計算のみをマイクロプロセッサやDSPで行うとい
う方法などがとられている。
や、乗算器と加算器を持ちそれらを並列に動作させ、そ
の積和演算をパイプライン処理するディジタルシグナル
プロセッサ(DSP)のようなものも用いられている。 しかし、汎用のマイクロプロセッサでは計算に膨大な時
間が必要になる。またDSPでも膨大な回数のメモリの
アクセスがネックになって積和演算のパイプラインを十
分に活かすことができなくなり、乗算器や加算器が使用
されていない時間が多くなり、計算時間の短縮は大きく
ならない。そのため、特に学習の計算を汎用のマイクロ
プロセッサやDSPで行うのは困難である。したがって
、学習は大型計算機やワークステーションのような大き
なハードウェアで行い、学習結果のデータをマイクロプ
ロセッサやDSPに移し、学習結果を用いた前向きの伝
搬の計算のみをマイクロプロセッサやDSPで行うとい
う方法などがとられている。
【0024】
【発明が解決しようとする課題】以上に述べたように、
ニューラルネットワークの計算は、演算量とメモリのア
クセス回数が多いのが特徴である。そのためニューラル
ネットワークを例えば家電製品のようなものに応用する
ことを考えた場合に、汎用のマイクロプロセッサやDS
Pでは学習を行うことが困難である。したがって、学習
は大型計算機やワークステーションのような大きなハー
ドウェアで行い、学習結果のデータをマイクロプロセッ
サやDSPに移し、学習結果を用いた前向きの伝搬の計
算のみをマイクロプロセッサやDSPで行うというよう
な方法をとらざるを得ない。
ニューラルネットワークの計算は、演算量とメモリのア
クセス回数が多いのが特徴である。そのためニューラル
ネットワークを例えば家電製品のようなものに応用する
ことを考えた場合に、汎用のマイクロプロセッサやDS
Pでは学習を行うことが困難である。したがって、学習
は大型計算機やワークステーションのような大きなハー
ドウェアで行い、学習結果のデータをマイクロプロセッ
サやDSPに移し、学習結果を用いた前向きの伝搬の計
算のみをマイクロプロセッサやDSPで行うというよう
な方法をとらざるを得ない。
【0025】この場合、ニューラルネットワークの動作
は固定的になってしまい、ニューラルネットワークの特
長の一つである、ユーザが自分で学習させて自分好みの
動作をするニューラルネットワークを実現することがで
きるということが、できなくなってしまう。例えば、エ
アコンをニューラルネットワークを用いて制御する場合
、学習結果のデータをマイクロプロセッサやDSPに移
し、学習結果を用いた前向きの伝搬の計算のみをマイク
ロプロセッサやDSPで行う方法だと、制御方法はメー
カーが学習させた方法に固定されてしまい、ユーザが自
分好みの制御方法を学習させることができない。
は固定的になってしまい、ニューラルネットワークの特
長の一つである、ユーザが自分で学習させて自分好みの
動作をするニューラルネットワークを実現することがで
きるということが、できなくなってしまう。例えば、エ
アコンをニューラルネットワークを用いて制御する場合
、学習結果のデータをマイクロプロセッサやDSPに移
し、学習結果を用いた前向きの伝搬の計算のみをマイク
ロプロセッサやDSPで行う方法だと、制御方法はメー
カーが学習させた方法に固定されてしまい、ユーザが自
分好みの制御方法を学習させることができない。
【0026】そこで、ユーザが自分で学習させて自分好
みの動作をするニューラルネットワークを実現するため
に、学習が高速に行えるニューロプロセッサが必要にな
ってくる。本発明は上記課題を解決するもので、高速の
ニューロプロセッサを提供することを目的としている。
みの動作をするニューラルネットワークを実現するため
に、学習が高速に行えるニューロプロセッサが必要にな
ってくる。本発明は上記課題を解決するもので、高速の
ニューロプロセッサを提供することを目的としている。
【0027】
【課題を解決するための手段】以上の課題を解決するた
め、本発明のニューロプロセッサでは、シナプスの結合
重み用メモリ,ニューロン出力用メモリ,ニューロンの
誤差に対応した値用メモリ,ニューロン特性関数用メモ
リ,ニューロン特性関数微分係数用メモリ,教師信号用
メモリを持ち、前記複数メモリの信号を選択的に処理す
る。
め、本発明のニューロプロセッサでは、シナプスの結合
重み用メモリ,ニューロン出力用メモリ,ニューロンの
誤差に対応した値用メモリ,ニューロン特性関数用メモ
リ,ニューロン特性関数微分係数用メモリ,教師信号用
メモリを持ち、前記複数メモリの信号を選択的に処理す
る。
【0028】さらに、本発明のニューロプロセッサでは
、各々のメモリの信号が、順次、パイプライン処理で演
算処理可能である。
、各々のメモリの信号が、順次、パイプライン処理で演
算処理可能である。
【0029】
【作用】上記構成により、メモリが分割されているため
、複数メモリから同時に信号読みだしがされ、乗算器,
加算器に入力され、処理が行われる。さらに、パイプラ
イン処理により順次信号読みだしがなされているため、
乗算器,加算器などによる処理が効率よく行われる。
、複数メモリから同時に信号読みだしがされ、乗算器,
加算器に入力され、処理が行われる。さらに、パイプラ
イン処理により順次信号読みだしがなされているため、
乗算器,加算器などによる処理が効率よく行われる。
【0030】したがって、多量の演算を効率よく処理す
るため高速化が図れる。
るため高速化が図れる。
【0031】
【実施例】以下、本発明の実施例を図面により説明する
。
。
【0032】図1は本発明の一実施例のニューロプロセ
ッサの構成図である。図1の11は入出力部で、外部と
のデータの入出力を行う。図1の12は制御部で、命令
のデコードと各ブロックを制御する信号を発生する働き
をする。図1の13のアドレスカウンタ群で、制御部1
2の制御信号に従って各メモリのアドレスを発生させる
働きをする。
ッサの構成図である。図1の11は入出力部で、外部と
のデータの入出力を行う。図1の12は制御部で、命令
のデコードと各ブロックを制御する信号を発生する働き
をする。図1の13のアドレスカウンタ群で、制御部1
2の制御信号に従って各メモリのアドレスを発生させる
働きをする。
【0033】図1の1は乗算器で、レジスタ21と22
に入れられたデータを乗算し、乗算結果をレジスタ23
に入れる動作をする。乗算器は並列型乗算器で、乗算は
1クロックの間で行うことができる。レジスタ21,2
2への入力はセレクタ41,42で選択できるようにな
っている。セレクタ41,42がどのデータを選択する
かの制御信号は制御部12で発生させる。
に入れられたデータを乗算し、乗算結果をレジスタ23
に入れる動作をする。乗算器は並列型乗算器で、乗算は
1クロックの間で行うことができる。レジスタ21,2
2への入力はセレクタ41,42で選択できるようにな
っている。セレクタ41,42がどのデータを選択する
かの制御信号は制御部12で発生させる。
【0034】図1の2は加算器で、2つの入力を加算し
、結果をレジスタ24に入れる。加算器は加算を1クロ
ックの間で行うことができる。加算器への入力はセレク
タ43,44で選択できるようになっている。加算器は
減算の機能も有する。セレクタ43,44がどのデータ
を選択するかの制御信号は制御部12で発生させる。
、結果をレジスタ24に入れる。加算器は加算を1クロ
ックの間で行うことができる。加算器への入力はセレク
タ43,44で選択できるようになっている。加算器は
減算の機能も有する。セレクタ43,44がどのデータ
を選択するかの制御信号は制御部12で発生させる。
【0035】図1の3はバレルシフタで、レジスタ25
で与えられるシフト量だけデータをシフトさせる。この
バレンシフタは修正係数ηの乗算に用いる。
で与えられるシフト量だけデータをシフトさせる。この
バレンシフタは修正係数ηの乗算に用いる。
【0036】図1の4は、シナプスの結合の重み用メモ
リで、5はニューロンの出力用メモリで、6はデルタ用
のメモリで、7はニューロンの特性関数のテーブル用の
メモリで、8はニューロンの特性関数の微分係数のテー
ブル用のメモリで、9は教師信号用のメモリである。
リで、5はニューロンの出力用メモリで、6はデルタ用
のメモリで、7はニューロンの特性関数のテーブル用の
メモリで、8はニューロンの特性関数の微分係数のテー
ブル用のメモリで、9は教師信号用のメモリである。
【0037】図1の61はデータの入出力用のバスで、
データを入出力する必要のあるメモリと入出力部11と
に接続されている。
データを入出力する必要のあるメモリと入出力部11と
に接続されている。
【0038】以下に本実施例のニューロプロセッサの動
作について詳しく説明する。まず、制御部12内の命令
デコーダによって命令がデコードされる。制御部12は
命令に応じて各ブロックを制御する信号を発生し、それ
ぞれのブロックにその制御信号を送る。アドレスカウン
タ群13は、制御部12からの制御信号によって、命令
に応じたアドレスを発生させる。
作について詳しく説明する。まず、制御部12内の命令
デコーダによって命令がデコードされる。制御部12は
命令に応じて各ブロックを制御する信号を発生し、それ
ぞれのブロックにその制御信号を送る。アドレスカウン
タ群13は、制御部12からの制御信号によって、命令
に応じたアドレスを発生させる。
【0039】本ニューロプロセッサの動作はいくつかの
モードに分けることができる。各動作モードでは、図1
中のセレクタ41〜46を切り替えることによって、そ
れぞれのモードの計算が行えるようにデータが流れるよ
うにする。そしてアドレスカウンタ群13でそれぞれの
動作のモードにあわせてアドレスを発生させることによ
って、各モードの計算を実現する。以下に、本実施例の
ニューロプロセッサの各動作モードでの動作について説
明する。
モードに分けることができる。各動作モードでは、図1
中のセレクタ41〜46を切り替えることによって、そ
れぞれのモードの計算が行えるようにデータが流れるよ
うにする。そしてアドレスカウンタ群13でそれぞれの
動作のモードにあわせてアドレスを発生させることによ
って、各モードの計算を実現する。以下に、本実施例の
ニューロプロセッサの各動作モードでの動作について説
明する。
【0040】まず、前向き伝搬の計算のモードについて
説明する。図2は、前向き伝搬の場合のデータの流れを
示した図である。アドレス51は、シナプスの結合の重
み用のメモリ4のアドレスで、アドレスカウンタ群13
より与えられる。アドレス52は、ニューロンの出力用
メモリ5のアドレスで、アドレスカウンタ群13より与
えられる。セレクタ41によって、レジスタ21にはシ
ナプスの結合の重みが入るようにする。セレクタ42に
よってレジスタ22にはニューロンの出力が入るように
する。セレクタ43と44によって加算器2にはレジス
タ24とレジスタ23が入力されるようにする。セレク
タ43は、加算器2のもう一方の入力を0にするか、レ
ジスタ24の値にするか選択できるようになっている。
説明する。図2は、前向き伝搬の場合のデータの流れを
示した図である。アドレス51は、シナプスの結合の重
み用のメモリ4のアドレスで、アドレスカウンタ群13
より与えられる。アドレス52は、ニューロンの出力用
メモリ5のアドレスで、アドレスカウンタ群13より与
えられる。セレクタ41によって、レジスタ21にはシ
ナプスの結合の重みが入るようにする。セレクタ42に
よってレジスタ22にはニューロンの出力が入るように
する。セレクタ43と44によって加算器2にはレジス
タ24とレジスタ23が入力されるようにする。セレク
タ43は、加算器2のもう一方の入力を0にするか、レ
ジスタ24の値にするか選択できるようになっている。
【0041】図3は、前向き伝搬の場合の計算のタイミ
ングの例を示した図である。図3には入力層が3ニュー
ロンの時に中間層のニューロンの出力を計算する場合の
動作のタイミングを示している。まず時刻1でアドレス
51と52がセットされる。そして、時刻2でそのアド
レスの指すデータがレジスタ21と22にラッチされる
。それと同時にアドレス51と52には次のアドレスが
セットされる。そして乗算が行われて、時刻3で乗算結
果がレジスタ23にラッチされる。そして加算器2で加
算が行われて、時刻4で加算結果がレジスタ24にラッ
チされる。加算器2のもう一方の入力はセレクタ43で
選択される。セレクタ43の欄に0と示してあるのは0
を選択することを表し、レジスタ24と示してあるのは
レジスタ24のデータを選択することを表している。 セケクタ43を図3のように切り替えることによって乗
算結果を累積加算することができる。
ングの例を示した図である。図3には入力層が3ニュー
ロンの時に中間層のニューロンの出力を計算する場合の
動作のタイミングを示している。まず時刻1でアドレス
51と52がセットされる。そして、時刻2でそのアド
レスの指すデータがレジスタ21と22にラッチされる
。それと同時にアドレス51と52には次のアドレスが
セットされる。そして乗算が行われて、時刻3で乗算結
果がレジスタ23にラッチされる。そして加算器2で加
算が行われて、時刻4で加算結果がレジスタ24にラッ
チされる。加算器2のもう一方の入力はセレクタ43で
選択される。セレクタ43の欄に0と示してあるのは0
を選択することを表し、レジスタ24と示してあるのは
レジスタ24のデータを選択することを表している。 セケクタ43を図3のように切り替えることによって乗
算結果を累積加算することができる。
【0042】メモリの読み出しと、積の計算と和の計算
(いわゆる、積和演算)は、パイプライン処理で次々に
行われて、時刻6でレジスタ24にシナプス3つ分の積
和演算の結果がラッチされる。この演算結果の値をアド
レスとしてニューロンの特性関数用のメモリ7のデータ
を読み出すことによって、時刻7でレジスタ28にニュ
ーロンの出力がラッチされる。このときにニューロンの
出力用メモリ5を書き込みにすることによって、このニ
ューロンの出力をメモリに書き込む。時刻7ではアドレ
ス52にはレジスタ28の値を書き込むアドレスをセッ
トしておく。そして、時刻8からは次のニューロンの出
力の計算を始める。図3よりわかるように、重み用のメ
モリとニューロンの出力用のメモリとが独立しているの
で、両方の値を同時に並列に読み出せることと、メモリ
の読み出しと、積と和の計算がパイプライン処理で行わ
れることによって、時刻2から時刻4まで連続して乗算
器が使用されている。また加算器は時刻3から時刻5ま
で連続して使用されている。このように乗算器と加算器
を効率よく使用することが可能になり、その結果、計算
が高速に行えるようになる。図3では1つのニューロン
に前の層の3つのニューロンが結合している場合につい
て示しているが、結合しているニューロン数が多くなる
と、乗算器や加算器が連続して使用される時間がさらに
長くなり、乗算器と加算器の使用の効率はより一層高く
なる。
(いわゆる、積和演算)は、パイプライン処理で次々に
行われて、時刻6でレジスタ24にシナプス3つ分の積
和演算の結果がラッチされる。この演算結果の値をアド
レスとしてニューロンの特性関数用のメモリ7のデータ
を読み出すことによって、時刻7でレジスタ28にニュ
ーロンの出力がラッチされる。このときにニューロンの
出力用メモリ5を書き込みにすることによって、このニ
ューロンの出力をメモリに書き込む。時刻7ではアドレ
ス52にはレジスタ28の値を書き込むアドレスをセッ
トしておく。そして、時刻8からは次のニューロンの出
力の計算を始める。図3よりわかるように、重み用のメ
モリとニューロンの出力用のメモリとが独立しているの
で、両方の値を同時に並列に読み出せることと、メモリ
の読み出しと、積と和の計算がパイプライン処理で行わ
れることによって、時刻2から時刻4まで連続して乗算
器が使用されている。また加算器は時刻3から時刻5ま
で連続して使用されている。このように乗算器と加算器
を効率よく使用することが可能になり、その結果、計算
が高速に行えるようになる。図3では1つのニューロン
に前の層の3つのニューロンが結合している場合につい
て示しているが、結合しているニューロン数が多くなる
と、乗算器や加算器が連続して使用される時間がさらに
長くなり、乗算器と加算器の使用の効率はより一層高く
なる。
【0043】次に、出力層のデルタの計算のモードにつ
いて説明する。図4は、出力層のデルタの計算の場合の
データの流れを示した図である。アドレス53と52は
、それぞれ教師信号用メモリ9のアドレスとニューロン
の出力用メモリ5のアドレスとであり、アドレスカウン
タ群13より与えられる。セレクタ46と43、同45
と44によって、加算器2には教師信号9とニューロン
の出力とが入るようにする。加算器2では(レジスタ2
6の値)−(レジスタ27の値)の計算を行う。セレク
タ41によって、レジスタ21には加算器の出力が入る
ようにする。セレクタ42によってレジスタ22にはニ
ューロンの特性関数の微分係数が入るようにする。レジ
スタ21,22のデータは乗算器1で乗算処理され、レ
ジスタ23を経て、デルタ用メモリ6に書き込まれる。
いて説明する。図4は、出力層のデルタの計算の場合の
データの流れを示した図である。アドレス53と52は
、それぞれ教師信号用メモリ9のアドレスとニューロン
の出力用メモリ5のアドレスとであり、アドレスカウン
タ群13より与えられる。セレクタ46と43、同45
と44によって、加算器2には教師信号9とニューロン
の出力とが入るようにする。加算器2では(レジスタ2
6の値)−(レジスタ27の値)の計算を行う。セレク
タ41によって、レジスタ21には加算器の出力が入る
ようにする。セレクタ42によってレジスタ22にはニ
ューロンの特性関数の微分係数が入るようにする。レジ
スタ21,22のデータは乗算器1で乗算処理され、レ
ジスタ23を経て、デルタ用メモリ6に書き込まれる。
【0044】図5は、出力層のデルタの計算のモードの
動作のタイミングの例を示した図である。図5には出力
層の3つのニューロンに対する計算のタイミングを示し
ている。まず、時刻1でアドレス53と52がセットさ
れる。時刻2でそのアドレスの指すデータがレジスタ2
6と27,29にラッチされる。それと同時にアドレス
53と52には次のアドレスがセットされる。そして、
加算器2で減算が行われて、時刻3で減算結果がレジス
タ24にラッチされる。それと同時にニューロンの特性
関数の微分係数の値がレジスタ30にラッチされる。時
刻4でレジスタ24と30の中身が、それぞれ、セレク
タ41と42を介して、レジスタ21と22にラッチさ
れる。そして、乗算器1で乗算が行われて、時刻5でそ
の乗算結果、すなわちデルタの値がレジスタ23にラッ
チされる。このとき、アドレス54に計算結果を書き込
むためのアドレス信号がセットされ、このアドレス信号
によってデルタ用メモリ6にデルタの値の書き込みが行
われる。図5によりわかるように、教師信号用のメモリ
とニューロン出力用のメモリとニューロンの特性関数の
微分係数用のメモリとデルタ用のメモリがそれぞれアド
レス52〜54の各アドレスにもとづいて並列にアクセ
スできることと、クロック信号によって、順次、各レジ
スタのデータを加算、あるいは乗算するパイプライン処
理によって、加算器と乗算器の使用の効率が高くなり、
高速な計算が可能になる。図5では3つの出力層のニュ
ーロンの場合について示しているが、出力層のニューロ
ン数が多くなると、乗算器や加算器が連続して使用され
る時間がさらに長くなり、乗算器と加算器の使用の効率
はより一層高くなる。
動作のタイミングの例を示した図である。図5には出力
層の3つのニューロンに対する計算のタイミングを示し
ている。まず、時刻1でアドレス53と52がセットさ
れる。時刻2でそのアドレスの指すデータがレジスタ2
6と27,29にラッチされる。それと同時にアドレス
53と52には次のアドレスがセットされる。そして、
加算器2で減算が行われて、時刻3で減算結果がレジス
タ24にラッチされる。それと同時にニューロンの特性
関数の微分係数の値がレジスタ30にラッチされる。時
刻4でレジスタ24と30の中身が、それぞれ、セレク
タ41と42を介して、レジスタ21と22にラッチさ
れる。そして、乗算器1で乗算が行われて、時刻5でそ
の乗算結果、すなわちデルタの値がレジスタ23にラッ
チされる。このとき、アドレス54に計算結果を書き込
むためのアドレス信号がセットされ、このアドレス信号
によってデルタ用メモリ6にデルタの値の書き込みが行
われる。図5によりわかるように、教師信号用のメモリ
とニューロン出力用のメモリとニューロンの特性関数の
微分係数用のメモリとデルタ用のメモリがそれぞれアド
レス52〜54の各アドレスにもとづいて並列にアクセ
スできることと、クロック信号によって、順次、各レジ
スタのデータを加算、あるいは乗算するパイプライン処
理によって、加算器と乗算器の使用の効率が高くなり、
高速な計算が可能になる。図5では3つの出力層のニュ
ーロンの場合について示しているが、出力層のニューロ
ン数が多くなると、乗算器や加算器が連続して使用され
る時間がさらに長くなり、乗算器と加算器の使用の効率
はより一層高くなる。
【0045】次に、シナプスの結合の重みの修正のモー
ドについて説明する。図6は、シナプスの結合の重みの
修正の場合のデータの流れを示した図である。セレクタ
41と42によって、レジスタ21と22にはそれぞれ
デルタの値とニューロンの出力の値が入るようにする。 乗算器1の出力は、レジスタ23を介し、バレルシフタ
3を通して、セレクタ45とレジスタ27およびセレク
タ44によって加算器2に入るようにする。加算器2の
もう一方の入力はセレクタ46とレジスタ26、および
セレクタ43によってシナプスの結合の重みになるよう
にする。
ドについて説明する。図6は、シナプスの結合の重みの
修正の場合のデータの流れを示した図である。セレクタ
41と42によって、レジスタ21と22にはそれぞれ
デルタの値とニューロンの出力の値が入るようにする。 乗算器1の出力は、レジスタ23を介し、バレルシフタ
3を通して、セレクタ45とレジスタ27およびセレク
タ44によって加算器2に入るようにする。加算器2の
もう一方の入力はセレクタ46とレジスタ26、および
セレクタ43によってシナプスの結合の重みになるよう
にする。
【0046】図7は、シナプスの結合の重みの修正の場
合の動作のタイミングの例を示した図である。図7には
中間層が2ニューロンのネットワークで、中間層と出力
層との間のシナプスの結合の重みを修正する場合の動作
のタイミングを示している。まず時刻1でアドレス54
と52がセットされる。時刻2でそのアドレスの指すデ
ルタ用メモリ6およびニューロン出力用メモリ5の各デ
ータがレジスタ21と22にラッチされる。それと同時
にアドレス54と52には次のアドレスがセットされる
。そして乗算器1で乗算が行われて、時刻3で乗算結果
がレジスタ23にラッチされる。そしてバレルシフタ3
で修正係数ηの乗算が行われて、時刻4で修正量Δwが
レジスタ27にラッチされる。一方、時刻3でアドレス
51に修正する重みのアドレスがセットされ、時刻4で
重みの値がレジスタ26にラッチされる。そして加算器
2で加算が行われ、時刻5でレジスタ24に加算結果が
ラッチされる。さらにアドレス51に計算結果を書き込
むアドレスをセットし、重み用メモリ4を書き込みにす
ることによって、修正した重みがメモリに書き込まれる
。
合の動作のタイミングの例を示した図である。図7には
中間層が2ニューロンのネットワークで、中間層と出力
層との間のシナプスの結合の重みを修正する場合の動作
のタイミングを示している。まず時刻1でアドレス54
と52がセットされる。時刻2でそのアドレスの指すデ
ルタ用メモリ6およびニューロン出力用メモリ5の各デ
ータがレジスタ21と22にラッチされる。それと同時
にアドレス54と52には次のアドレスがセットされる
。そして乗算器1で乗算が行われて、時刻3で乗算結果
がレジスタ23にラッチされる。そしてバレルシフタ3
で修正係数ηの乗算が行われて、時刻4で修正量Δwが
レジスタ27にラッチされる。一方、時刻3でアドレス
51に修正する重みのアドレスがセットされ、時刻4で
重みの値がレジスタ26にラッチされる。そして加算器
2で加算が行われ、時刻5でレジスタ24に加算結果が
ラッチされる。さらにアドレス51に計算結果を書き込
むアドレスをセットし、重み用メモリ4を書き込みにす
ることによって、修正した重みがメモリに書き込まれる
。
【0047】次の重みの修正は、最初の重みの修正より
1クロック遅れて実行する。そして、さらにその次の重
みの修正はさらに3クロック遅れて実行する。すなわち
アドレス54と52は2ずつ連続して発生させて、その
間に2クロックの空白を作る。それによってアドレス5
1は読み出しと書き込みの両方で連続して意味のあるア
ドレスを示すようになる。図7よりわかるように、デル
タ用のメモリとニューロンの出力用のメモリとシナプス
の結合の重み用のメモリが並列にアクセスできることと
、パイプラインによって、加算器と乗算器の使用の効率
が高くなり、高速な計算が可能になる。
1クロック遅れて実行する。そして、さらにその次の重
みの修正はさらに3クロック遅れて実行する。すなわち
アドレス54と52は2ずつ連続して発生させて、その
間に2クロックの空白を作る。それによってアドレス5
1は読み出しと書き込みの両方で連続して意味のあるア
ドレスを示すようになる。図7よりわかるように、デル
タ用のメモリとニューロンの出力用のメモリとシナプス
の結合の重み用のメモリが並列にアクセスできることと
、パイプラインによって、加算器と乗算器の使用の効率
が高くなり、高速な計算が可能になる。
【0048】次に、中間層のデルタの計算のモードにつ
いて説明する。図8は、中間層のデルタの計算の場合の
信号の流れを示した図である。このモードでは乗算器1
をセレクタ41,42の切り替えによって2通りに使用
する。まず、最初はセレクタ41と42によって、レジ
スタ21と22にはデルタ用メモリ6および重み用メモ
リ4から、それぞれデルタとシナプスの結合の重みの各
データが入るようにする。セレクタ43と44によって
加算器2にはレジスタ24とレジスタ23が入力される
ようにする。この状態で乗算器1および加算器2によっ
て積和演算を行い、この積和演算が終了したら、セレク
タ41と42とをそれぞれ切り替えて、レジスタ21と
22には、それぞれ、レジスタ24と30の各値が入る
ようにする。
いて説明する。図8は、中間層のデルタの計算の場合の
信号の流れを示した図である。このモードでは乗算器1
をセレクタ41,42の切り替えによって2通りに使用
する。まず、最初はセレクタ41と42によって、レジ
スタ21と22にはデルタ用メモリ6および重み用メモ
リ4から、それぞれデルタとシナプスの結合の重みの各
データが入るようにする。セレクタ43と44によって
加算器2にはレジスタ24とレジスタ23が入力される
ようにする。この状態で乗算器1および加算器2によっ
て積和演算を行い、この積和演算が終了したら、セレク
タ41と42とをそれぞれ切り替えて、レジスタ21と
22には、それぞれ、レジスタ24と30の各値が入る
ようにする。
【0049】図9は、中間層のデルタの計算の場合の動
作のタイミングの例を示した図である。図9には出力層
が3ニューロンの時に中間層のデルタを計算する場合の
動作のタイミングを示している。まず、時刻1でアドレ
ス54と51がセットされる。セレクタ41,42の欄
がAとしてあるのは、セレクタを切り替えてレジスタ2
1と22にはそれぞれデルタとシナプスの結合の重みが
入るようにしている状態であることを表わしている。そ
して時刻2でそのアドレスの指すデルタ用メモリ6およ
び重み用メモリ4中の各データがレジスタ21と22に
ラッチされる。それと同時に、アドレス54と51には
次のアドレスがセットされると共に、乗算器1で乗算が
行われて、時刻3で、その乗算結果がレジスタ23にラ
ッチされると共に加算器2でその加算が行われる。そし
て、時刻4で加算結果がレジスタ24にラッチされる。 加算器2のもう一方の入力はセレクタ43で選択される
。図9の中のセレクタ43のデータ欄に0と示してある
のは0を選択することをあらわし、レジスタ24と示し
てあるまはレジスタ24のデータを選択することをあら
わしている。セレクタ43を切り替えることによって、
図9のように、レジスタ23にラッチされた乗算結果を
時刻タイミングによって順次累積加算することができる
。
作のタイミングの例を示した図である。図9には出力層
が3ニューロンの時に中間層のデルタを計算する場合の
動作のタイミングを示している。まず、時刻1でアドレ
ス54と51がセットされる。セレクタ41,42の欄
がAとしてあるのは、セレクタを切り替えてレジスタ2
1と22にはそれぞれデルタとシナプスの結合の重みが
入るようにしている状態であることを表わしている。そ
して時刻2でそのアドレスの指すデルタ用メモリ6およ
び重み用メモリ4中の各データがレジスタ21と22に
ラッチされる。それと同時に、アドレス54と51には
次のアドレスがセットされると共に、乗算器1で乗算が
行われて、時刻3で、その乗算結果がレジスタ23にラ
ッチされると共に加算器2でその加算が行われる。そし
て、時刻4で加算結果がレジスタ24にラッチされる。 加算器2のもう一方の入力はセレクタ43で選択される
。図9の中のセレクタ43のデータ欄に0と示してある
のは0を選択することをあらわし、レジスタ24と示し
てあるまはレジスタ24のデータを選択することをあら
わしている。セレクタ43を切り替えることによって、
図9のように、レジスタ23にラッチされた乗算結果を
時刻タイミングによって順次累積加算することができる
。
【0050】メモリの読み出しと、積の計算と和の計算
とがパイプラインで次々に行われて、時刻6でレジスタ
24にシナプス3つ分の積和演算の結果がラッチされる
。ここでセレクタ41と42をBに切り替えて、この演
算結果の値を時刻7でレジスタ21にラッチし、ニュー
ロンの特性関数の微分係数の値g(O21)を、対応の
メモリ8からアクセスして、レジスタ22にラッチする
。時刻7でニューロンの特性関数の微分係数の値g(O
21)レジスタ22にラッチするために、時刻4でアド
レス52をセットし、時刻5でニューロンの出力の値を
レジスタ29にラッチし、時刻6でニューロンの特性関
数の微分係数の値をレジスタ30にラッチしておく。 時刻6でセレクタ41,42のデータ欄がBとしてある
のは、同セレクタを切り替えて、レジスタ21と22に
はそれぞれレジスタ24と30の値が入るようにしてい
る状態であることを表わしている。そして、乗算器1の
乗算結果が時刻8でレジスタ23にラッチされる。この
とき、アドレス54に計算結果を書き込むアドレスをセ
ットし、デルタ用メモリ6を書き込みにすることによっ
てデルタの値がメモリに書き込まれる。そして次の時刻
のタイミングで、中間層の次のニューロンに対するデル
タの計算がはじまる。図9よりわかるように、デルタ用
のメモリとシプナスの結合の重み用のメモリとニューロ
ンの出力用のメモリとニューロンの特性関数の微分係数
のテーブル用のメモリが並列にアクセスできることと、
パイプラインによって、加算器と乗算器の使用の効率が
高くなり、高速な計算が可能になる。
とがパイプラインで次々に行われて、時刻6でレジスタ
24にシナプス3つ分の積和演算の結果がラッチされる
。ここでセレクタ41と42をBに切り替えて、この演
算結果の値を時刻7でレジスタ21にラッチし、ニュー
ロンの特性関数の微分係数の値g(O21)を、対応の
メモリ8からアクセスして、レジスタ22にラッチする
。時刻7でニューロンの特性関数の微分係数の値g(O
21)レジスタ22にラッチするために、時刻4でアド
レス52をセットし、時刻5でニューロンの出力の値を
レジスタ29にラッチし、時刻6でニューロンの特性関
数の微分係数の値をレジスタ30にラッチしておく。 時刻6でセレクタ41,42のデータ欄がBとしてある
のは、同セレクタを切り替えて、レジスタ21と22に
はそれぞれレジスタ24と30の値が入るようにしてい
る状態であることを表わしている。そして、乗算器1の
乗算結果が時刻8でレジスタ23にラッチされる。この
とき、アドレス54に計算結果を書き込むアドレスをセ
ットし、デルタ用メモリ6を書き込みにすることによっ
てデルタの値がメモリに書き込まれる。そして次の時刻
のタイミングで、中間層の次のニューロンに対するデル
タの計算がはじまる。図9よりわかるように、デルタ用
のメモリとシプナスの結合の重み用のメモリとニューロ
ンの出力用のメモリとニューロンの特性関数の微分係数
のテーブル用のメモリが並列にアクセスできることと、
パイプラインによって、加算器と乗算器の使用の効率が
高くなり、高速な計算が可能になる。
【0051】以上の動作の説明よりわかるように、本プ
ロセッサでは、シナプスの結合の重み用のメモリ4と、
ニューロンの出力用のメモリ5と、デルタ用のメモリ6
と、ニューロンの特性関数のテーブル用のメモリ7と、
ニューロンの特性関数の微分係数のテーブル用のメモリ
8と、教師信号用のメモリ9をそれぞれ独立したメモリ
として持つことによって、それらに対して並列にアクセ
スすることを可能にする。また、メモリの読み出しと積
と和の計算が、パイプラインになるように配置する。そ
の結果、乗算器と加算器が効率よく使用されるようにな
るので、階層構造のニューラルネットワークの前向き伝
搬と学習の計算が高速に行える。
ロセッサでは、シナプスの結合の重み用のメモリ4と、
ニューロンの出力用のメモリ5と、デルタ用のメモリ6
と、ニューロンの特性関数のテーブル用のメモリ7と、
ニューロンの特性関数の微分係数のテーブル用のメモリ
8と、教師信号用のメモリ9をそれぞれ独立したメモリ
として持つことによって、それらに対して並列にアクセ
スすることを可能にする。また、メモリの読み出しと積
と和の計算が、パイプラインになるように配置する。そ
の結果、乗算器と加算器が効率よく使用されるようにな
るので、階層構造のニューラルネットワークの前向き伝
搬と学習の計算が高速に行える。
【0052】なお、本発明のニューロプロセッサは、そ
れだけで1チップになっていても、他のプロッセサや演
算ブロックやメモリ等と同一のチップ上に存在してもか
まわない。
れだけで1チップになっていても、他のプロッセサや演
算ブロックやメモリ等と同一のチップ上に存在してもか
まわない。
【0053】
【発明の効果】以上の実施例から明らかなように、本発
明によれば、メモリの分割によってメモリの並列アクセ
スを可能にしていることと、パイプライン処理を行って
いることによって計算が効率よく行われて、階層構造の
ニューラルネットワークの前向き伝搬と学習の計算が高
速にできるニューロプロセッサを提供できる。
明によれば、メモリの分割によってメモリの並列アクセ
スを可能にしていることと、パイプライン処理を行って
いることによって計算が効率よく行われて、階層構造の
ニューラルネットワークの前向き伝搬と学習の計算が高
速にできるニューロプロセッサを提供できる。
【図1】本発明の一実施例のニューロプロセッサの構成
図
図
【図2】前向き伝搬の時のデータの流れの図
【図3】前
向き伝搬の時の動作のタイミングの図
向き伝搬の時の動作のタイミングの図
【図4】出力層の
デルタの計算のデータ流れの図
デルタの計算のデータ流れの図
【図5】出力層のデルタ
の計算の動作のタイミングの図
の計算の動作のタイミングの図
【図6】重みの修正のデ
ータ流れの図
ータ流れの図
【図7】重みの修正の動作のタイミングの図
【図8】中
間層のデルタの計算のデータ流れの図
間層のデルタの計算のデータ流れの図
【図9】中間層の
デルタの計算の動作のタイミングの図
デルタの計算の動作のタイミングの図
【図10】階層構
造ニューラルネットワークの図
造ニューラルネットワークの図
【図11】ニューロンの
働きを示した図
働きを示した図
1 乗算器
2 加算器
3 バレルシフタ
4 シナプスの結合の重み用メモリ
5 ニューロン出力用メモリ
6 デルタ用メモリ
7 ニューロンの特性関数のテーブル用のメモリ8
ニューロンの特性関数の微分係数のテーブル用のメモ
リ 9 教師信号用のメモリ 11 入出力部 12 制御部 13 アデレスカウンタ群 21〜30 レジスタ 41〜46 セレクタ 51〜54 アドレス 61 入出力バス 101 ニューロン 102 シナプス 103 入力層 104 中間層 105 出力層 106 ニューロンの特性関数 107〜109 ニューロン
ニューロンの特性関数の微分係数のテーブル用のメモ
リ 9 教師信号用のメモリ 11 入出力部 12 制御部 13 アデレスカウンタ群 21〜30 レジスタ 41〜46 セレクタ 51〜54 アドレス 61 入出力バス 101 ニューロン 102 シナプス 103 入力層 104 中間層 105 出力層 106 ニューロンの特性関数 107〜109 ニューロン
Claims (2)
- 【請求項1】ニューラルネットワークの演算処理部分と
して、シナプスの結合重み用メモリ,ニューロン出力用
メモリ,ニューロンの誤差に対応した値用メモリ,ニュ
ーロン特性関数用メモリ,ニューロン特性関数微分係数
用メモリ,教師信号用メモリを持ち、前記複数メモリの
信号を選択的に処理するニューロプロセッサ。 - 【請求項2】請求項1記載の各々のメモリの信号が順次
、パイプライン処理されるニューロプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2408980A JPH04233063A (ja) | 1990-12-28 | 1990-12-28 | ニューロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2408980A JPH04233063A (ja) | 1990-12-28 | 1990-12-28 | ニューロプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04233063A true JPH04233063A (ja) | 1992-08-21 |
Family
ID=18518370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2408980A Pending JPH04233063A (ja) | 1990-12-28 | 1990-12-28 | ニューロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04233063A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100292067B1 (ko) * | 1997-12-26 | 2001-07-12 | 전주범 | 이산시간셀룰러신경회로망용셀 |
JP2021168095A (ja) * | 2020-04-13 | 2021-10-21 | LeapMind株式会社 | ニューラルネットワーク回路、エッジデバイスおよびニューラルネットワーク演算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6146530A (ja) * | 1984-08-13 | 1986-03-06 | Hitachi Ltd | 会話システム |
JPH01502787A (ja) * | 1987-06-15 | 1989-09-21 | ユニシス コーポレーシヨン | 最適化問題解決のためのニユーロコンピユータ・システム |
JPH01291298A (ja) * | 1988-05-18 | 1989-11-22 | Nec Corp | 適応型音声認識装置 |
JPH01320564A (ja) * | 1988-06-23 | 1989-12-26 | Hitachi Ltd | 並列処理装置 |
-
1990
- 1990-12-28 JP JP2408980A patent/JPH04233063A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6146530A (ja) * | 1984-08-13 | 1986-03-06 | Hitachi Ltd | 会話システム |
JPH01502787A (ja) * | 1987-06-15 | 1989-09-21 | ユニシス コーポレーシヨン | 最適化問題解決のためのニユーロコンピユータ・システム |
JPH01291298A (ja) * | 1988-05-18 | 1989-11-22 | Nec Corp | 適応型音声認識装置 |
JPH01320564A (ja) * | 1988-06-23 | 1989-12-26 | Hitachi Ltd | 並列処理装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100292067B1 (ko) * | 1997-12-26 | 2001-07-12 | 전주범 | 이산시간셀룰러신경회로망용셀 |
JP2021168095A (ja) * | 2020-04-13 | 2021-10-21 | LeapMind株式会社 | ニューラルネットワーク回路、エッジデバイスおよびニューラルネットワーク演算方法 |
CN113537479A (zh) * | 2020-04-13 | 2021-10-22 | 利普麦德株式会社 | 神经网络电路、边缘设备以及神经网络运算方法 |
TWI773245B (zh) * | 2020-04-13 | 2022-08-01 | 日商利普麥德股份有限公司 | 神經網路電路、網路終端設備及神經網路運算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950008840B1 (ko) | 뉴로 칩(neuro chip) | |
US5600843A (en) | Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays | |
JPH04293151A (ja) | 並列データ処理方式 | |
Eldredge et al. | RRANN: a hardware implementation of the backpropagation algorithm using reconfigurable FPGAs | |
US20240265234A1 (en) | Digital Processing Circuits and Methods of Matrix Operations in an Artificially Intelligent Environment | |
JPH04290155A (ja) | 並列データ処理方式 | |
WO2017185347A1 (zh) | 用于执行循环神经网络和lstm运算的装置和方法 | |
JPH0784975A (ja) | 情報処理装置および学習演算処理方法 | |
Roy et al. | PIM-DRAM: Accelerating machine learning workloads using processing in commodity DRAM | |
JPH02193251A (ja) | エラー後方伝ぱん法と神経網システム | |
JPH06259585A (ja) | ニューラルネットワーク装置 | |
Chen et al. | BRAMAC: Compute-in-BRAM Architectures for Multiply-Accumulate on FPGAs | |
Saeks et al. | On the Design of an MIMD Neural Network Processor | |
JP3177996B2 (ja) | ニューロプロセッサ | |
Svensson et al. | Execution of neural network algorithms on an array of bit-serial processors | |
JPH04233063A (ja) | ニューロプロセッサ | |
Meng et al. | PPOAccel: A high-throughput acceleration framework for proximal policy optimization | |
JPH04237388A (ja) | ニューロプロセッサ | |
JPH076146A (ja) | 並列データ処理システム | |
JPH05159087A (ja) | ニューロプロセッサ | |
JP2825133B2 (ja) | 並列データ処理方式 | |
US12141226B2 (en) | Systems and processes for organizing and controlling multiple matrix processor circuits | |
Bogdan et al. | Kobold: a neural coprocessor for backpropagation with online learning | |
JPH06139218A (ja) | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 | |
US20200226201A1 (en) | Methods and Apparatus for Constructing Digital Circuits for Performing Matrix Operations |