JP3177996B2 - ニューロプロセッサ - Google Patents
ニューロプロセッサInfo
- Publication number
- JP3177996B2 JP3177996B2 JP08390391A JP8390391A JP3177996B2 JP 3177996 B2 JP3177996 B2 JP 3177996B2 JP 08390391 A JP08390391 A JP 08390391A JP 8390391 A JP8390391 A JP 8390391A JP 3177996 B2 JP3177996 B2 JP 3177996B2
- Authority
- JP
- Japan
- Prior art keywords
- weight
- memory
- time
- register
- correction
- 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.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
- Image Analysis (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ニューラルネットワー
クの学習の計算を高速に行なうためのニューロプロセッ
サに関するものである。
クの学習の計算を高速に行なうためのニューロプロセッ
サに関するものである。
【0002】
【従来の技術】ニューラルネットワークは、人間の脳の
神経細胞の働きをモデル化して模倣することによって、
従来のいわゆるノイマン形のコンピュータが苦手として
いた認識や、連想,最適化問題,音声合成等を得意とす
る新しいコンピュータを実現しようとするものである。
神経細胞の働きをモデル化して模倣することによって、
従来のいわゆるノイマン形のコンピュータが苦手として
いた認識や、連想,最適化問題,音声合成等を得意とす
る新しいコンピュータを実現しようとするものである。
【0003】ニューラルネットワークには、ニューロン
が層状に配置された階層構造のものや、すべてのニュー
ロンが相互に結合した相互結合構造のものなど、さまざ
まな構造のものがある。その中で階層構造のネットワー
クは、例えばバックプロパゲーションアルゴリズムと呼
ばれる学習アルゴリズムで簡単に学習させることがで
き、制御,文字認識,画像認識,画像処理などに幅広く
応用することができる。
が層状に配置された階層構造のものや、すべてのニュー
ロンが相互に結合した相互結合構造のものなど、さまざ
まな構造のものがある。その中で階層構造のネットワー
クは、例えばバックプロパゲーションアルゴリズムと呼
ばれる学習アルゴリズムで簡単に学習させることがで
き、制御,文字認識,画像認識,画像処理などに幅広く
応用することができる。
【0004】ニューラルネットワークの学習とは、ニュ
ーラルネットワーク内に多数存在するシナプス結合の重
みを修正することによって、ニューラルネットワークの
動作を最適化することである。重みの修正は、次式のよ
うに表される。
ーラルネットワーク内に多数存在するシナプス結合の重
みを修正することによって、ニューラルネットワークの
動作を最適化することである。重みの修正は、次式のよ
うに表される。
【0005】Wnew=Wold+ΔW Wは、シナプス結合の重みを表し、添字のnew,ol
dは、それぞれ修正前,修正後を表す。ΔWは重みの修
正量で、例えば、バックプロパゲーションアルゴリズム
によって計算される。
dは、それぞれ修正前,修正後を表す。ΔWは重みの修
正量で、例えば、バックプロパゲーションアルゴリズム
によって計算される。
【0006】従来、ニューロプロセッサとして、乗算器
や加算器を備え、パイプライン処理によって計算を行な
う構成のものが考案されている。そのようなニューロプ
ロセッサで上式で表される重みの修正を行なう回路のブ
ロック図の例が、図6である。
や加算器を備え、パイプライン処理によって計算を行な
う構成のものが考案されている。そのようなニューロプ
ロセッサで上式で表される重みの修正を行なう回路のブ
ロック図の例が、図6である。
【0007】図6の動作のタイミングを示したのが図7
である。図7において時刻欄以外の各欄の数字は、その
データが何番目の重みに対するものかを表す。また、重
み用メモリの欄のCSは重み用メモリを選択する信号、
OEは読み出しを可能な状態にする信号、WEは書き込
みを可能な状態にする信号であり、HとLは、それぞ
れ、動作状態,動作しない状態を表す。
である。図7において時刻欄以外の各欄の数字は、その
データが何番目の重みに対するものかを表す。また、重
み用メモリの欄のCSは重み用メモリを選択する信号、
OEは読み出しを可能な状態にする信号、WEは書き込
みを可能な状態にする信号であり、HとLは、それぞ
れ、動作状態,動作しない状態を表す。
【0008】以下に、図7にしたがって、図6の回路の
動作を説明する。まず、時刻1で1番目の重みに対する
修正量ΔWが、ΔW計算回路1で計算され、時刻2でΔ
Wの計算結果がレジスタ11にラッチされる。それと並
行して、時刻1でレジスタ14に、1番目の重みに対す
るアドレスがセットされ、修正前の重みの値Woldが、
重み用メモリ3より読み出されて、時刻2でレジスタ1
2にラッチされる。そして加算器2でレジスタ11の修
正量ΔWの値と、レジスタ12の修正前の重みの値W
oldとが加算されて、時刻3でその修正結果の重みの値
Wnewがレジスタ13にラッチされる。それと同時に、
修正結果の重みの値Wnewを書き込むためにレジスタ1
4に1番目の重みに対するアドレスがセットされ、重み
用メモリ3を書き込みに切り替えることによって、メモ
リへの書き込みが行なわれる。
動作を説明する。まず、時刻1で1番目の重みに対する
修正量ΔWが、ΔW計算回路1で計算され、時刻2でΔ
Wの計算結果がレジスタ11にラッチされる。それと並
行して、時刻1でレジスタ14に、1番目の重みに対す
るアドレスがセットされ、修正前の重みの値Woldが、
重み用メモリ3より読み出されて、時刻2でレジスタ1
2にラッチされる。そして加算器2でレジスタ11の修
正量ΔWの値と、レジスタ12の修正前の重みの値W
oldとが加算されて、時刻3でその修正結果の重みの値
Wnewがレジスタ13にラッチされる。それと同時に、
修正結果の重みの値Wnewを書き込むためにレジスタ1
4に1番目の重みに対するアドレスがセットされ、重み
用メモリ3を書き込みに切り替えることによって、メモ
リへの書き込みが行なわれる。
【0009】2番目の重みの修正は、1番目の重みの修
正より1時刻遅れて、全く同様に実行される。しかし、
その次の3番目の重みの修正は、図7に示したように、
さらに3時刻遅れて実行されなければならない。なぜな
らば、3番目の重みの修正を、2番目の重みの修正より
1時刻だけ遅れて実行すると、1番目の重みの修正後の
データの重み用メモリへの書き込みと、3番目の重みの
修正前のデータの読み出しが時刻3で重なってしまう。
同時刻に同一メモリへの書き込みと読み出しを並列して
行なうのは不可能である。したがって、3番目の重みの
修正は、2番目の重みの修正より3時刻遅れて実行され
ることが必要になる。
正より1時刻遅れて、全く同様に実行される。しかし、
その次の3番目の重みの修正は、図7に示したように、
さらに3時刻遅れて実行されなければならない。なぜな
らば、3番目の重みの修正を、2番目の重みの修正より
1時刻だけ遅れて実行すると、1番目の重みの修正後の
データの重み用メモリへの書き込みと、3番目の重みの
修正前のデータの読み出しが時刻3で重なってしまう。
同時刻に同一メモリへの書き込みと読み出しを並列して
行なうのは不可能である。したがって、3番目の重みの
修正は、2番目の重みの修正より3時刻遅れて実行され
ることが必要になる。
【0010】なお、同時刻に同一メモリへの書き込みと
読み出しを並列に行なうことを可能にする方法として、
マルチポートのメモリを用いる方法がある。しかし、マ
ルチポートのメモリは回路規模が大きくなるので、その
使用は望ましくない。
読み出しを並列に行なうことを可能にする方法として、
マルチポートのメモリを用いる方法がある。しかし、マ
ルチポートのメモリは回路規模が大きくなるので、その
使用は望ましくない。
【0011】
【発明が解決しようとする課題】シナプス結合の重みの
修正においては、重み用メモリに対して、読み出しと書
き込みを行なわなければならない。ところが、上記従来
技術で示したように、重み用メモリが1つで読み出しと
書き込みが同時にできない場合、書き込みが終了するの
を待って、読み出しを行なわなければならない。そのた
め、演算器を使用していない空白の時間が存在する。こ
の空白の時間のために、演算器の使用効率が低く、全体
として計算速度が低かった。
修正においては、重み用メモリに対して、読み出しと書
き込みを行なわなければならない。ところが、上記従来
技術で示したように、重み用メモリが1つで読み出しと
書き込みが同時にできない場合、書き込みが終了するの
を待って、読み出しを行なわなければならない。そのた
め、演算器を使用していない空白の時間が存在する。こ
の空白の時間のために、演算器の使用効率が低く、全体
として計算速度が低かった。
【0012】本発明は、上記問題を解決し、高速に学習
が可能なニューロプロセッサを提供することを目的とし
ている。
が可能なニューロプロセッサを提供することを目的とし
ている。
【0013】
【課題を解決するための手段】上記の目的を達成するた
めに本発明のニューロプロセッサは、複数個に分割され
たシナプス結合の重み用メモリと、前記重み用メモリの
出力を選択する第一の切り替え回路と、重み修正回路
と、前記重み修正回路の出力を重み用メモリに分配する
第二の切り替え回路から構成されている。
めに本発明のニューロプロセッサは、複数個に分割され
たシナプス結合の重み用メモリと、前記重み用メモリの
出力を選択する第一の切り替え回路と、重み修正回路
と、前記重み修正回路の出力を重み用メモリに分配する
第二の切り替え回路から構成されている。
【0014】
【作用】上記構成により、シナプス結合の重み用メモリ
を複数個に分割し、第一の切り替え回路に接続された前
記重み用メモリと第二の切り替え回路に接続された前記
重み用メモリとを異ならせることにより、一方のメモリ
からシナプス結合の重みのデータを読み出すのと同時刻
に、他方のメモリに重みのデータを書き込むことができ
る。したがって、データの書き込みが終わるまで、読み
出しを待つ必要がなくなり、その結果、演算器の使用効
率が高くなり、高速な計算を行なうことができる。
を複数個に分割し、第一の切り替え回路に接続された前
記重み用メモリと第二の切り替え回路に接続された前記
重み用メモリとを異ならせることにより、一方のメモリ
からシナプス結合の重みのデータを読み出すのと同時刻
に、他方のメモリに重みのデータを書き込むことができ
る。したがって、データの書き込みが終わるまで、読み
出しを待つ必要がなくなり、その結果、演算器の使用効
率が高くなり、高速な計算を行なうことができる。
【0015】
【実施例】以下、本発明の実施例を図面により説明す
る。
る。
【0016】図1は、本発明の第一の実施例におけるシ
ナプス結合の重みの修正の回路のブロック図である。図
1において1は修正量ΔWの計算回路、2は加算器であ
る。11,12,13は、データをラッチするレジスタ
である。14は重み用メモリAに、15は重み用メモリ
Bにアドレスを与えるレジスタである。31は、重み用
メモリA,Bから読み出した重みデータWoldを選択す
る第一の切り替え回路としてマルチプレクサを用いる。
32は、修正された重み用メモリWnewを重み用メモリ
A,Bのどちらに与えるかを選択する第二の切り替え回
路としてデマルチプレクサを用いる。図1において3は
重み用メモリA、4は重み用メモリBである。これらの
重み用メモリAとBは、従来例の図6の重み用メモリ3
を2つに分割したものである。図3に、本実施例のシナ
プス結合の重み用メモリAとBへのアドレスの割り当て
と、その内容を示す。本実施例では、重み用メモリA,
Bに、重みデータを、連続した2つのアドレスごとに交
互に割り当てる。
ナプス結合の重みの修正の回路のブロック図である。図
1において1は修正量ΔWの計算回路、2は加算器であ
る。11,12,13は、データをラッチするレジスタ
である。14は重み用メモリAに、15は重み用メモリ
Bにアドレスを与えるレジスタである。31は、重み用
メモリA,Bから読み出した重みデータWoldを選択す
る第一の切り替え回路としてマルチプレクサを用いる。
32は、修正された重み用メモリWnewを重み用メモリ
A,Bのどちらに与えるかを選択する第二の切り替え回
路としてデマルチプレクサを用いる。図1において3は
重み用メモリA、4は重み用メモリBである。これらの
重み用メモリAとBは、従来例の図6の重み用メモリ3
を2つに分割したものである。図3に、本実施例のシナ
プス結合の重み用メモリAとBへのアドレスの割り当て
と、その内容を示す。本実施例では、重み用メモリA,
Bに、重みデータを、連続した2つのアドレスごとに交
互に割り当てる。
【0017】図1の動作のタイミングを示したのが、図
2である。図2において時刻以外の欄の数字は、そのデ
ータが何番目の重みに対するものかを表す。また、マル
チプレクサ31とデマルチプレクサ32の欄のA,B
は、重み用メモリA,Bのどちらを選択するかを表す。
重み用メモリAとBを選択する信号をCS、読み出し可
能信号をOE、書き込み可能信号をWEとし、それぞれ
Hで動作状態、Lで動作しない状態を表す。
2である。図2において時刻以外の欄の数字は、そのデ
ータが何番目の重みに対するものかを表す。また、マル
チプレクサ31とデマルチプレクサ32の欄のA,B
は、重み用メモリA,Bのどちらを選択するかを表す。
重み用メモリAとBを選択する信号をCS、読み出し可
能信号をOE、書き込み可能信号をWEとし、それぞれ
Hで動作状態、Lで動作しない状態を表す。
【0018】以下、図2にしたがって、図1の回路の動
作を説明する。まず、時刻1で1番目の重みに対する修
正量ΔWが、ΔW計算回路1で計算され、時刻2で、修
正量ΔWの計算結果がレジスタ11にラッチされる。そ
れと並行して、時刻1でレジスタ14に、1番目の重み
に対するアドレスがセットされ、修正前の重みの値W
oldが重み用メモリAより読み出されて、時刻2でレジ
スタ12にラッチされる。この時、マルチプレクサ31
は、重み用メモリAのデータを選択するようになってい
る。そして加算器2で、レジスタ11の修正量ΔWの値
と、レジスタ12の修正前の重みの値Woldが加算され
て、時刻3でその修正結果の重みの値Wnewがレジスタ
13にラッチされる。それと同時に、修正結果の重みの
値Wnewをメモリに書き込むために、デマルチプレクサ
32は重み用メモリAを選択し、かつ、レジスタ14に
1番目の重みに対するアドレスをセットし、重み用メモ
リAを書き込みに切り替えることによって、メモリへの
書き込みが行なわれる。
作を説明する。まず、時刻1で1番目の重みに対する修
正量ΔWが、ΔW計算回路1で計算され、時刻2で、修
正量ΔWの計算結果がレジスタ11にラッチされる。そ
れと並行して、時刻1でレジスタ14に、1番目の重み
に対するアドレスがセットされ、修正前の重みの値W
oldが重み用メモリAより読み出されて、時刻2でレジ
スタ12にラッチされる。この時、マルチプレクサ31
は、重み用メモリAのデータを選択するようになってい
る。そして加算器2で、レジスタ11の修正量ΔWの値
と、レジスタ12の修正前の重みの値Woldが加算され
て、時刻3でその修正結果の重みの値Wnewがレジスタ
13にラッチされる。それと同時に、修正結果の重みの
値Wnewをメモリに書き込むために、デマルチプレクサ
32は重み用メモリAを選択し、かつ、レジスタ14に
1番目の重みに対するアドレスをセットし、重み用メモ
リAを書き込みに切り替えることによって、メモリへの
書き込みが行なわれる。
【0019】2番目の重みの修正は、1番目の重みの修
正より1時刻遅れて、全く同様に実行される。そして、
3番目の重みの修正は、さらに1時刻遅れて実行され
る。すなわち、この実施例によると、図1のような構成
にし、2つのメモリへの重みデータの割当てを図3のよ
うにしたので、1番目の重みのデータの書き込みは重み
用メモリAに対して行ない、3番目の重みのデータの読
み出しは重み用メモリBに対して行なうようになる。そ
の結果、3番目の重みのデータのメモリからの読み出し
が、1番目の重みデータのメモリへの書き込みと同時に
行なえるようになるので、図2に示したように、3番目
の重みの修正が、2番目の重みの修正より、1時刻遅ら
せるだけで実行できる。4番目以降の重みの修正も、マ
ルチプレクサ31の切り替えと、レジスタ14と15の
アドレスの発生と、それぞれの重み用メモリA,Bの読
み出し可能信号OEと書き込み可能信号WEのH/Lの
切り替えを適切に行なってやることによって、重みのデ
ータの読み出しが、書き込みと同時に並列して行なえる
ので、1時刻ずつ遅れて実行することが可能である。
正より1時刻遅れて、全く同様に実行される。そして、
3番目の重みの修正は、さらに1時刻遅れて実行され
る。すなわち、この実施例によると、図1のような構成
にし、2つのメモリへの重みデータの割当てを図3のよ
うにしたので、1番目の重みのデータの書き込みは重み
用メモリAに対して行ない、3番目の重みのデータの読
み出しは重み用メモリBに対して行なうようになる。そ
の結果、3番目の重みのデータのメモリからの読み出し
が、1番目の重みデータのメモリへの書き込みと同時に
行なえるようになるので、図2に示したように、3番目
の重みの修正が、2番目の重みの修正より、1時刻遅ら
せるだけで実行できる。4番目以降の重みの修正も、マ
ルチプレクサ31の切り替えと、レジスタ14と15の
アドレスの発生と、それぞれの重み用メモリA,Bの読
み出し可能信号OEと書き込み可能信号WEのH/Lの
切り替えを適切に行なってやることによって、重みのデ
ータの読み出しが、書き込みと同時に並列して行なえる
ので、1時刻ずつ遅れて実行することが可能である。
【0020】以上の動作の説明よりわかるように、本発
明のニューロプロセッサでは、シナプス結合の重み用メ
モリを2つに分割することによって、重みのデータを読
み出すと同時に修正された重みのデータを書き込むこと
を可能にする。その結果、従来例では、図7よりわかる
ように、シナプス結合の重みの修正の計算は、(重みの
データ数)×2の時刻がかかっていたのが、上記実施例
では図2よりわかるように、(重みのデータ数)+2の
時刻で計算は終了することがわかる。したがって、重み
のデータ数が大きい場合、計算にかかる時刻は、従来例
の1/2倍に短縮される。
明のニューロプロセッサでは、シナプス結合の重み用メ
モリを2つに分割することによって、重みのデータを読
み出すと同時に修正された重みのデータを書き込むこと
を可能にする。その結果、従来例では、図7よりわかる
ように、シナプス結合の重みの修正の計算は、(重みの
データ数)×2の時刻がかかっていたのが、上記実施例
では図2よりわかるように、(重みのデータ数)+2の
時刻で計算は終了することがわかる。したがって、重み
のデータ数が大きい場合、計算にかかる時刻は、従来例
の1/2倍に短縮される。
【0021】図4は、本発明の第二の実施例におけるシ
ナプス結合の重みの修正の回路のブロック図である。図
4において1は修正量ΔWの計算回路、2は加算器であ
る。図4において3は重み用メモリA、4は重み用メモ
リB、5は重み用メモリC、6は重み用メモリDであ
る。これらの重み用メモリA,B,C,Dは、従来例の
図6の重み用メモリ3を、4つに分割したものである。
11,12および17,18,19,20は、データを
ラッチするレジスタである。13,14,15,16は
それぞれ重み用メモリA,B,C,Dにアドレスを与え
るレジスタである。31は、重み用メモリA,B,C,
Dから読み出した重みデータWoldを選択する第一の切
り替え回路としてマルチプレクサを用いる。本実施例で
は、重み用メモリA,B,C,Dに、順次アドレスを割
り当てる。前記構成を用いれば、それぞれの重み用メモ
リへのデータの書き込みに2時刻かかるような低速なメ
モリを用いても、重みの修正の計算を高速に行なうこと
ができる。
ナプス結合の重みの修正の回路のブロック図である。図
4において1は修正量ΔWの計算回路、2は加算器であ
る。図4において3は重み用メモリA、4は重み用メモ
リB、5は重み用メモリC、6は重み用メモリDであ
る。これらの重み用メモリA,B,C,Dは、従来例の
図6の重み用メモリ3を、4つに分割したものである。
11,12および17,18,19,20は、データを
ラッチするレジスタである。13,14,15,16は
それぞれ重み用メモリA,B,C,Dにアドレスを与え
るレジスタである。31は、重み用メモリA,B,C,
Dから読み出した重みデータWoldを選択する第一の切
り替え回路としてマルチプレクサを用いる。本実施例で
は、重み用メモリA,B,C,Dに、順次アドレスを割
り当てる。前記構成を用いれば、それぞれの重み用メモ
リへのデータの書き込みに2時刻かかるような低速なメ
モリを用いても、重みの修正の計算を高速に行なうこと
ができる。
【0022】図4の回路の動作のタイミングを示したの
が、図5である。図5において時刻以外の欄の数字は、
そのデータが何番目の重みに対するものかを表す。ま
た、マルチプレクサ31の欄のA,B,C,Dは、重み
用メモリA,B,C,Dのどれを選択するかを表す。重
み用メモリA,B,C,Dを選択する信号をCS、読み
出し可能信号をOE、書き込み可能信号をWEとし、そ
れぞれHで動作状態、Lで動作しない状態を表す。
が、図5である。図5において時刻以外の欄の数字は、
そのデータが何番目の重みに対するものかを表す。ま
た、マルチプレクサ31の欄のA,B,C,Dは、重み
用メモリA,B,C,Dのどれを選択するかを表す。重
み用メモリA,B,C,Dを選択する信号をCS、読み
出し可能信号をOE、書き込み可能信号をWEとし、そ
れぞれHで動作状態、Lで動作しない状態を表す。
【0023】以下、図5にしたがって、図4の回路の動
作を説明する。まず、時刻1で1番目の重みに対する修
正量ΔWが、ΔW計算回路1で計算され、時刻2で、Δ
Wの計算結果がレジスタ11にラッチされる。それと並
行して、時刻1でレジスタ13に、1番目の重みに対す
るアドレスがセットされ、修正前の重みWの値Woldが
重み用メモリAより読み出されて、時刻2でレジスタ1
2にラッチされる。この時、マルチプレクサ31は重み
用メモリAのデータを選択するようになっている。そし
て加算器2で、レジスタ11の修正量ΔWの値と、レジ
スタ12の修正前の重みの値Woldとが加算されて、時
刻3でその修正結果の重みの値Wnewがレジスタ17に
ラッチされる。レジスタ17は、時刻3から4時刻ごと
に修正結果の重みの値Wnewのラッチを行なう。時刻
3,4で、修正結果の重みの値Wnewをメモリに書き込
むために、レジスタ13に1番目の重みに対するアドレ
スがセットされ、重み用メモリAを書き込みに切り替え
ることによって、メモリへの書き込みが行なわれる。
作を説明する。まず、時刻1で1番目の重みに対する修
正量ΔWが、ΔW計算回路1で計算され、時刻2で、Δ
Wの計算結果がレジスタ11にラッチされる。それと並
行して、時刻1でレジスタ13に、1番目の重みに対す
るアドレスがセットされ、修正前の重みWの値Woldが
重み用メモリAより読み出されて、時刻2でレジスタ1
2にラッチされる。この時、マルチプレクサ31は重み
用メモリAのデータを選択するようになっている。そし
て加算器2で、レジスタ11の修正量ΔWの値と、レジ
スタ12の修正前の重みの値Woldとが加算されて、時
刻3でその修正結果の重みの値Wnewがレジスタ17に
ラッチされる。レジスタ17は、時刻3から4時刻ごと
に修正結果の重みの値Wnewのラッチを行なう。時刻
3,4で、修正結果の重みの値Wnewをメモリに書き込
むために、レジスタ13に1番目の重みに対するアドレ
スがセットされ、重み用メモリAを書き込みに切り替え
ることによって、メモリへの書き込みが行なわれる。
【0024】2番目以降の重みの修正は、マルチプレク
サ31の切り替えと、レジスタ13,14,15,16
のアドレスの発生と、それぞれの重み用メモリA,B,
C,Dの読み出し可能信号OEと書き込み可能信号WE
のH/Lの切り替えを適切に行なってやることによっ
て、重みのデータの読み出しが、書き込みと同時に並列
して行なえるので、1時刻ずつ遅れて実行することが可
能である。
サ31の切り替えと、レジスタ13,14,15,16
のアドレスの発生と、それぞれの重み用メモリA,B,
C,Dの読み出し可能信号OEと書き込み可能信号WE
のH/Lの切り替えを適切に行なってやることによっ
て、重みのデータの読み出しが、書き込みと同時に並列
して行なえるので、1時刻ずつ遅れて実行することが可
能である。
【0025】以上の動作説明よりわかるように、本実施
例のニューロプロセッサでは、シナプス結合の重み用メ
モリを4つに分割することによって、重みのデータを読
み出すと同時に修正された重みのデータを書き込むこと
を可能にする。
例のニューロプロセッサでは、シナプス結合の重み用メ
モリを4つに分割することによって、重みのデータを読
み出すと同時に修正された重みのデータを書き込むこと
を可能にする。
【0026】前記2つの実施例とも演算器は連続して使
用され、演算器の使用効率が高くなるので、計算が高速
に行なえるようになる。
用され、演算器の使用効率が高くなるので、計算が高速
に行なえるようになる。
【0027】なお、本実施例では、ΔW計算回路の計算
が1時刻で終了するとしているが、ΔW計算回路がパイ
プラインの構成になっていて、計算に複数時刻必要な場
合も、効果は同様に得られる。また、修正量ΔWの計算
アルゴリズムに依存しないので、どのような学習アルゴ
リズムで学習するニューロプロセッサに対しても応用で
きる。
が1時刻で終了するとしているが、ΔW計算回路がパイ
プラインの構成になっていて、計算に複数時刻必要な場
合も、効果は同様に得られる。また、修正量ΔWの計算
アルゴリズムに依存しないので、どのような学習アルゴ
リズムで学習するニューロプロセッサに対しても応用で
きる。
【0028】
【発明の効果】本発明によれば、シナプス結合の重み用
メモリを複数個に分割し、第一の切り替え回路で接続さ
れる前記重み用メモリと第二の切り替え回路で接続され
る前記重み用メモリとを別々にすることにより、読み出
しと書き込みを同時刻に並列して行なうことが可能とな
る。その結果、演算器の使用効率が高くなる。また、低
速のメモリを用いても、それぞれの重み用メモリにレジ
スタを設けることによって、読み出しと書き込みを同時
刻に並列して行なうことが可能となり、ニューラルネッ
トワークの計算が高速にできるニューロプロセッサを提
供できる。
メモリを複数個に分割し、第一の切り替え回路で接続さ
れる前記重み用メモリと第二の切り替え回路で接続され
る前記重み用メモリとを別々にすることにより、読み出
しと書き込みを同時刻に並列して行なうことが可能とな
る。その結果、演算器の使用効率が高くなる。また、低
速のメモリを用いても、それぞれの重み用メモリにレジ
スタを設けることによって、読み出しと書き込みを同時
刻に並列して行なうことが可能となり、ニューラルネッ
トワークの計算が高速にできるニューロプロセッサを提
供できる。
【図1】第一の実施例のシナプス結合の重みの修正の回
路のブロック図
路のブロック図
【図2】第一の実施例のシナプス結合の重みの修正の動
作のタイミングの図
作のタイミングの図
【図3】第一の実施例のシナプス結合の重み用メモリの
アドレスの割当とその内容の図
アドレスの割当とその内容の図
【図4】第二の実施例のシナプス結合の重みの修正の回
路のブロック図
路のブロック図
【図5】第二の実施例のシナプス結合の重みの修正の動
作のタイミングの図
作のタイミングの図
【図6】従来のシナプス結合の重みの修正の回路のブロ
ック図
ック図
【図7】従来のシナプス結合の重みの修正の動作のタイ
ミングの図
ミングの図
1 ΔW計算回路 2 加算器 3 シナプス結合の重み用メモリ 4 シナプス結合の重み用メモリ 5 シナプス結合の重み用メモリ 6 シナプス結合の重み用メモリ 11 レジスタ 12 レジスタ 13 レジスタ 14 レジスタ 15 レジスタ 16 レジスタ 17 レジスタ 18 レジスタ 19 レジスタ 20 レジスタ 31 マルチプレクサ 32 デマルチプレクサ
フロントページの続き (72)発明者 勝 新一 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平4−266127(JP,A) 特開 平3−268080(JP,A) 上村、佐藤、溝口、天満、「パタンマ ッチングプロセッサ プロトタイプの試 作」、電子情報通信学会技術研究報告 (IE90−177)、p.25−p.32 (1991.3) (58)調査した分野(Int.Cl.7,DB名) G06N 3/00 - 3/10 G06F 15/18 JICSTファイル(JOIS)
Claims (2)
- 【請求項1】複数個に分割されたシナプス結合の重み用
メモリと、前記重み用メモリの出力を選択する第一の切
り替え回路と、重み修正回路と、前記重み修正回路の出
力を前記重み用メモリに分配する第二の切り替え回路と
を備え、前記第一の切り替え回路で接続された前記重み
用メモリと前記第二の切り替え回路で接続された前記重
み用メモリとが異なることを特徴とするニューロプロセ
ッサ。 - 【請求項2】第二の切り替え回路が複数個のレジスタか
ら成り、前記レジスタの入力が重み修正回路の出力に共
通接続され、前記レジスタの出力が重み用メモリのデー
タ線に接続されていることを特徴とする請求項1記載の
ニューロプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08390391A JP3177996B2 (ja) | 1991-04-16 | 1991-04-16 | ニューロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08390391A JP3177996B2 (ja) | 1991-04-16 | 1991-04-16 | ニューロプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04316153A JPH04316153A (ja) | 1992-11-06 |
JP3177996B2 true JP3177996B2 (ja) | 2001-06-18 |
Family
ID=13815588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08390391A Expired - Fee Related JP3177996B2 (ja) | 1991-04-16 | 1991-04-16 | ニューロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3177996B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016030195A (ja) * | 2014-07-29 | 2016-03-07 | 徹 小窪 | ペットボトル注水補助器 |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7070239B2 (ja) * | 2018-08-23 | 2022-05-18 | 株式会社明電舎 | ニューラルネットワークの入出力制御方式 |
-
1991
- 1991-04-16 JP JP08390391A patent/JP3177996B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
上村、佐藤、溝口、天満、「パタンマッチングプロセッサ プロトタイプの試作」、電子情報通信学会技術研究報告(IE90−177)、p.25−p.32(1991.3) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016030195A (ja) * | 2014-07-29 | 2016-03-07 | 徹 小窪 | ペットボトル注水補助器 |
US11461614B2 (en) | 2017-04-04 | 2022-10-04 | Hailo Technologies Ltd. | Data driven quantization optimization of weights and input data in an artificial neural network |
US11461615B2 (en) | 2017-04-04 | 2022-10-04 | Hailo Technologies Ltd. | System and method of memory access of multi-dimensional data |
US11675693B2 (en) | 2017-04-04 | 2023-06-13 | Hailo Technologies Ltd. | Neural network processor incorporating inter-device connectivity |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
US11238331B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method for augmenting an existing artificial neural network |
US11263512B2 (en) | 2017-04-04 | 2022-03-01 | Hailo Technologies Ltd. | Neural network processor incorporating separate control and data fabric |
US11216717B2 (en) | 2017-04-04 | 2022-01-04 | Hailo Technologies Ltd. | Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11354563B2 (en) | 2017-04-04 | 2022-06-07 | Hallo Technologies Ltd. | Configurable and programmable sliding window based memory access in a neural network processor |
US11514291B2 (en) | 2017-04-04 | 2022-11-29 | Hailo Technologies Ltd. | Neural network processing element incorporating compute and local memory elements |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
Also Published As
Publication number | Publication date |
---|---|
JPH04316153A (ja) | 1992-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4739474A (en) | Geometric-arithmetic parallel processor | |
US5329611A (en) | Scalable flow virtual learning neurocomputer | |
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 | |
US4974146A (en) | Array processor | |
US5600843A (en) | Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays | |
JPS6126712B2 (ja) | ||
EP0486635A1 (en) | Scalable flow virtual learning neurocomputer | |
TW202121202A (zh) | 資料暫存裝置、資料暫存方法以及計算方法 | |
JP3177996B2 (ja) | ニューロプロセッサ | |
JPH0784975A (ja) | 情報処理装置および学習演算処理方法 | |
CN112784951A (zh) | Winograd卷积运算方法及相关产品 | |
JPH05346914A (ja) | ニューロプロセッサ | |
JPH05159087A (ja) | ニューロプロセッサ | |
JPH04237388A (ja) | ニューロプロセッサ | |
JPH05128285A (ja) | ニユーロプロセツサ | |
JP3305406B2 (ja) | プログラム制御のプロセッサ | |
JPS5999568A (ja) | プロセツサセル及び該プロセツサセルから形成されるアレ− | |
JP3047411B2 (ja) | ネットワーク構成データ処理装置の重み更新量保持方式 | |
JPH03105452A (ja) | ネットワーク構成データ処理装置の重み保持方式 | |
JPH04233063A (ja) | ニューロプロセッサ | |
JPH086915A (ja) | ニューロコンピュータおよびその演算方法 | |
CN116910437A (zh) | 矩阵转置装置、方法、ai处理器及计算机设备 | |
JPH07101415B2 (ja) | 情報処理装置及びその学習方法 | |
JPS6019258A (ja) | 記憶装置 | |
JP2824708B2 (ja) | 図形描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |