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
Application number
JP2408980A
Other languages
English (en)
Inventor
Yoichi Tamura
洋一 田村
Tadayuki Morishita
森下 賢幸
Atsuo Inoue
敦雄 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2408980A priority Critical patent/JPH04233063A/ja
Publication of JPH04233063A publication Critical patent/JPH04233063A/ja
Pending legal-status Critical Current

Links

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のニューロンの
信号がネットワークの出力になる。このような入力層、
中間層,出力層の順番に伝搬していく通常の伝搬を前向
きの伝搬と呼ぶ。
【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として出力する。これを式で表すと次式のよ
うになる。
【0006】
【数1】
【0007】したがって、3層のネットワークの場合の
前向き伝搬は、つぎの手順で計算される。まず最初にす
べての中間層のニューロンについて、その出力を、
【0
008】
【数2】
【0009】に従って計算する。次にその結果を使って
すべての出力層のニューロンについて、その出力を、

0010】
【数3】
【0011】に従って計算する。次に、図10の3層の
階層構造ネットワークのバックプロパゲーションアルゴ
リズムによる学習の方法について説明する。バックプロ
パゲーションアルゴリズムでは、入力とそれに対する理
想的な出力の組を用意し、その入力に対する実際の出力
と理想的な出力の差が減少するようにシナプスの結合の
重みを修正する。この理想的な出力のことを通常は教師
信号と呼ぶ。以下に、3層のネットワークについて具体
的な計算方法を順を追って説明する。 1.前向きの伝搬によって実際の出力を計算する。 2.次式に従って出力層の各ニューロンの誤差に対応し
た値(以下、単にデルタと呼ぶ)を計算する。
【0012】
【数4】
【0013】δljはl層目のj番目のニューロンに対
するデルタ、tjは出力層のj番目のニューロンに対す
る教師信号、gは
【0014】
【数5】
【0015】で表されるようにニューロンの特性関数f
の微分係数である。ニューロンの特性関数fは、単調非
減少の関数が用いられるので、(数5)に示したように
、特性関数の微分係数を特性関数の関数値の関数として
表すことができる。 3.中間層と出力層との間のシナプスの結合の重みの修
正量を、次式に従って計算し、重みを修正する。
【0016】
【数6】
【0017】ηは修正係数である。 4.中間層のニューロンに対するデルタを、次式に従っ
て計算する。
【0018】
【数7】
【0019】5.中間層と入力層の間のシナプスの結合
の重みの修正量を、次式に従って計算し、重みを修正す
る。
【0020】
【数8】
【0021】実際の学習では、以上に述べた手順を、複
数個の入力と教師信号の組に対して行い、さらにそれを
何回も繰り返す。すなわち、上の1から5までの手順を
1回の学習と呼ぶことにすると、総学習回数は、(学習
に用いる入力と教師信号の組の数)×(繰り返しの回数
)となる。
【0022】以上より明らかなように、ニューラルネッ
トワークの計算は、演算量が非常に多いのが特徴である
。また、そのためにメモリのアクセス回数も非常に多く
なる。特に学習は繰り返しが必要なので、非常に演算量
が多くなる。そのため、従来、ニューラルネットワーク
の研究においては大型計算機やワークステーションのよ
うなかなり大きなハードウェアが必要であった。しかし
、ニューラルネットワークを例えば家電製品のようなも
のに応用することを考えた場合に、もっと小さなハード
ウェアでニューラルネットワークが計算できることが必
要になってくる。
【0023】そこで、通常の汎用のマイクロプロセッサ
や、乗算器と加算器を持ちそれらを並列に動作させ、そ
の積和演算をパイプライン処理するディジタルシグナル
プロセッサ(DSP)のようなものも用いられている。 しかし、汎用のマイクロプロセッサでは計算に膨大な時
間が必要になる。またDSPでも膨大な回数のメモリの
アクセスがネックになって積和演算のパイプラインを十
分に活かすことができなくなり、乗算器や加算器が使用
されていない時間が多くなり、計算時間の短縮は大きく
ならない。そのため、特に学習の計算を汎用のマイクロ
プロセッサやDSPで行うのは困難である。したがって
、学習は大型計算機やワークステーションのような大き
なハードウェアで行い、学習結果のデータをマイクロプ
ロセッサやDSPに移し、学習結果を用いた前向きの伝
搬の計算のみをマイクロプロセッサやDSPで行うとい
う方法などがとられている。
【0024】
【発明が解決しようとする課題】以上に述べたように、
ニューラルネットワークの計算は、演算量とメモリのア
クセス回数が多いのが特徴である。そのためニューラル
ネットワークを例えば家電製品のようなものに応用する
ことを考えた場合に、汎用のマイクロプロセッサやDS
Pでは学習を行うことが困難である。したがって、学習
は大型計算機やワークステーションのような大きなハー
ドウェアで行い、学習結果のデータをマイクロプロセッ
サやDSPに移し、学習結果を用いた前向きの伝搬の計
算のみをマイクロプロセッサやDSPで行うというよう
な方法をとらざるを得ない。
【0025】この場合、ニューラルネットワークの動作
は固定的になってしまい、ニューラルネットワークの特
長の一つである、ユーザが自分で学習させて自分好みの
動作をするニューラルネットワークを実現することがで
きるということが、できなくなってしまう。例えば、エ
アコンをニューラルネットワークを用いて制御する場合
、学習結果のデータをマイクロプロセッサやDSPに移
し、学習結果を用いた前向きの伝搬の計算のみをマイク
ロプロセッサやDSPで行う方法だと、制御方法はメー
カーが学習させた方法に固定されてしまい、ユーザが自
分好みの制御方法を学習させることができない。
【0026】そこで、ユーザが自分で学習させて自分好
みの動作をするニューラルネットワークを実現するため
に、学習が高速に行えるニューロプロセッサが必要にな
ってくる。本発明は上記課題を解決するもので、高速の
ニューロプロセッサを提供することを目的としている。
【0027】
【課題を解決するための手段】以上の課題を解決するた
め、本発明のニューロプロセッサでは、シナプスの結合
重み用メモリ,ニューロン出力用メモリ,ニューロンの
誤差に対応した値用メモリ,ニューロン特性関数用メモ
リ,ニューロン特性関数微分係数用メモリ,教師信号用
メモリを持ち、前記複数メモリの信号を選択的に処理す
る。
【0028】さらに、本発明のニューロプロセッサでは
、各々のメモリの信号が、順次、パイプライン処理で演
算処理可能である。
【0029】
【作用】上記構成により、メモリが分割されているため
、複数メモリから同時に信号読みだしがされ、乗算器,
加算器に入力され、処理が行われる。さらに、パイプラ
イン処理により順次信号読みだしがなされているため、
乗算器,加算器などによる処理が効率よく行われる。
【0030】したがって、多量の演算を効率よく処理す
るため高速化が図れる。
【0031】
【実施例】以下、本発明の実施例を図面により説明する
【0032】図1は本発明の一実施例のニューロプロセ
ッサの構成図である。図1の11は入出力部で、外部と
のデータの入出力を行う。図1の12は制御部で、命令
のデコードと各ブロックを制御する信号を発生する働き
をする。図1の13のアドレスカウンタ群で、制御部1
2の制御信号に従って各メモリのアドレスを発生させる
働きをする。
【0033】図1の1は乗算器で、レジスタ21と22
に入れられたデータを乗算し、乗算結果をレジスタ23
に入れる動作をする。乗算器は並列型乗算器で、乗算は
1クロックの間で行うことができる。レジスタ21,2
2への入力はセレクタ41,42で選択できるようにな
っている。セレクタ41,42がどのデータを選択する
かの制御信号は制御部12で発生させる。
【0034】図1の2は加算器で、2つの入力を加算し
、結果をレジスタ24に入れる。加算器は加算を1クロ
ックの間で行うことができる。加算器への入力はセレク
タ43,44で選択できるようになっている。加算器は
減算の機能も有する。セレクタ43,44がどのデータ
を選択するかの制御信号は制御部12で発生させる。
【0035】図1の3はバレルシフタで、レジスタ25
で与えられるシフト量だけデータをシフトさせる。この
バレンシフタは修正係数ηの乗算に用いる。
【0036】図1の4は、シナプスの結合の重み用メモ
リで、5はニューロンの出力用メモリで、6はデルタ用
のメモリで、7はニューロンの特性関数のテーブル用の
メモリで、8はニューロンの特性関数の微分係数のテー
ブル用のメモリで、9は教師信号用のメモリである。
【0037】図1の61はデータの入出力用のバスで、
データを入出力する必要のあるメモリと入出力部11と
に接続されている。
【0038】以下に本実施例のニューロプロセッサの動
作について詳しく説明する。まず、制御部12内の命令
デコーダによって命令がデコードされる。制御部12は
命令に応じて各ブロックを制御する信号を発生し、それ
ぞれのブロックにその制御信号を送る。アドレスカウン
タ群13は、制御部12からの制御信号によって、命令
に応じたアドレスを発生させる。
【0039】本ニューロプロセッサの動作はいくつかの
モードに分けることができる。各動作モードでは、図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の値にするか選択できるようになっている。
【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のように切り替えることによって乗
算結果を累積加算することができる。
【0042】メモリの読み出しと、積の計算と和の計算
(いわゆる、積和演算)は、パイプライン処理で次々に
行われて、時刻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に書き込まれる。
【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つの出力層のニュ
ーロンの場合について示しているが、出力層のニューロ
ン数が多くなると、乗算器や加算器が連続して使用され
る時間がさらに長くなり、乗算器と加算器の使用の効率
はより一層高くなる。
【0045】次に、シナプスの結合の重みの修正のモー
ドについて説明する。図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を書き込みにす
ることによって、修正した重みがメモリに書き込まれる
【0047】次の重みの修正は、最初の重みの修正より
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の各値が入る
ようにする。
【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にラッチされた乗算結果を
時刻タイミングによって順次累積加算することができる
【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よりわかるように、デルタ用
のメモリとシプナスの結合の重み用のメモリとニューロ
ンの出力用のメモリとニューロンの特性関数の微分係数
のテーブル用のメモリが並列にアクセスできることと、
パイプラインによって、加算器と乗算器の使用の効率が
高くなり、高速な計算が可能になる。
【0051】以上の動作の説明よりわかるように、本プ
ロセッサでは、シナプスの結合の重み用のメモリ4と、
ニューロンの出力用のメモリ5と、デルタ用のメモリ6
と、ニューロンの特性関数のテーブル用のメモリ7と、
ニューロンの特性関数の微分係数のテーブル用のメモリ
8と、教師信号用のメモリ9をそれぞれ独立したメモリ
として持つことによって、それらに対して並列にアクセ
スすることを可能にする。また、メモリの読み出しと積
と和の計算が、パイプラインになるように配置する。そ
の結果、乗算器と加算器が効率よく使用されるようにな
るので、階層構造のニューラルネットワークの前向き伝
搬と学習の計算が高速に行える。
【0052】なお、本発明のニューロプロセッサは、そ
れだけで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  ニューロン

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】ニューラルネットワークの演算処理部分と
    して、シナプスの結合重み用メモリ,ニューロン出力用
    メモリ,ニューロンの誤差に対応した値用メモリ,ニュ
    ーロン特性関数用メモリ,ニューロン特性関数微分係数
    用メモリ,教師信号用メモリを持ち、前記複数メモリの
    信号を選択的に処理するニューロプロセッサ。
  2. 【請求項2】請求項1記載の各々のメモリの信号が順次
    、パイプライン処理されるニューロプロセッサ。
JP2408980A 1990-12-28 1990-12-28 ニューロプロセッサ Pending JPH04233063A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 並列処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 (3)

* Cited by examiner, † Cited by third party
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株式会社 ニューラルネットワーク回路、エッジデバイスおよびニューラルネットワーク演算方法
TWI773245B (zh) * 2020-04-13 2022-08-01 日商利普麥德股份有限公司 神經網路電路、網路終端設備及神經網路運算方法

Similar Documents

Publication Publication Date Title
KR950008840B1 (ko) 뉴로 칩(neuro chip)
US5506998A (en) Parallel data processing system using a plurality of processing elements to process data and a plurality of trays connected to some of the processing elements to store and transfer data
US5600843A (en) Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays
Eldredge et al. RRANN: a hardware implementation of the backpropagation algorithm using reconfigurable FPGAs
JPH04290155A (ja) 並列データ処理方式
WO2017185347A1 (zh) 用于执行循环神经网络和lstm运算的装置和方法
US11983616B2 (en) Methods and apparatus for constructing digital circuits for performing matrix operations
JPH0784975A (ja) 情報処理装置および学習演算処理方法
US20200226201A1 (en) Methods and Apparatus for Constructing Digital Circuits for Performing Matrix Operations
JPH02193251A (ja) エラー後方伝ぱん法と神経網システム
Saeks et al. On the Design of an MIMD Neural Network Processor
JPH06259585A (ja) ニューラルネットワーク装置
JP3177996B2 (ja) ニューロプロセッサ
JPH05346914A (ja) ニューロプロセッサ
Svensson et al. Execution of neural network algorithms on an array of bit-serial processors
JPH04233063A (ja) ニューロプロセッサ
Chen et al. BRAMAC: Compute-in-BRAM Architectures for Multiply-Accumulate on FPGAs
Meng et al. PPOAccel: A high-throughput acceleration framework for proximal policy optimization
JPH04237388A (ja) ニューロプロセッサ
JPH076146A (ja) 並列データ処理システム
JPH05128285A (ja) ニユーロプロセツサ
JPH05159087A (ja) ニューロプロセッサ
JP2825133B2 (ja) 並列データ処理方式
US20240054330A1 (en) Exploitation of low data density or nonzero weights in a weighted sum computer
JPH04364525A (ja) 並列演算装置