JPH02236658A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH02236658A JPH02236658A JP1056458A JP5645889A JPH02236658A JP H02236658 A JPH02236658 A JP H02236658A JP 1056458 A JP1056458 A JP 1056458A JP 5645889 A JP5645889 A JP 5645889A JP H02236658 A JPH02236658 A JP H02236658A
- Authority
- JP
- Japan
- Prior art keywords
- neuron
- bus
- information processing
- signal
- neurons
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【産業上の利用分野1
本発明はニューラルネットワーク等の電子式情報処理装
置に係り,特にそのハードウエア量を大幅に削減した情
報処理装置に関する. 【従来の技術1 ニューラルネットワークは,ニューロンと呼ばれる情報
処理単位を複数個持ち,各ニューロンは他の幾つかのニ
ューロンから出力される信号を相互に受ける.各ニュー
ロンには複数個のシナプスと呼ばれーる回路が備えられ
,この回路で他のニューロンから受けた信号と相手毎に
定められた係数(以下,重み値と呼ぶ)を掛け算する。 そして,その積の総和に応じて各ニューロンの出力が決
まるようになっている.このようなニューラルネットワ
ークの例が,日経エレクトロニクス誌の1987年8月
10日号(No.4 2 7)の115頁からの記事に
紹介されている.また,日経マイクロデバイス誌の19
88年7月号の72頁からの記事には,ディジタル回路
のみによって構成されたニューラルネットワークの例も
紹介されている.ディジタル回路は,アナログ回路に比
べてハードウエアの量は多くなるが,素子のバラッキや
ノイズ等に対して強く精度を上げることが容易であり,
高集積化に適している。 【発明が解決しようとする課題1 ところで,ニューラルネットワークによってより複雑な
情報処理をさせようとすると,ニューロンの個数を増や
すことが必要になる.ところが,従来の構造のニューラ
ルネットワークでは,各二二一ロンを相互に接続する配
線の量やシナブスの個数がニューロンの個数の2乗に比
例して増えるため,規模の拡張が困難であり,更にニュ
ーロンの個数をある程度以上多くするとその実現が飛躍
的に困難になる。特に,演算精度や耐ノイズ性の面で集
積化に適したディジタル回路の場合,シナプスを構成す
る乗算器には多数の素子が必要であり,この問題は一層
深刻である。 本発明の第1の目的は,ニューラルネットワーク等の情
報処理装置において,情報処理単位であるニューロンの
個数を増やしてもハードウエアの量が飛躍的には増加し
ない情報処理装置を提供することにある。 本発明の第2の目的は,デイジタル回路によって構成し
た大規模なニューラルネットワークを実現することにあ
る。 本発明の第3の目的は,ニューロンの個数を増やしても
歩留まりを下げることなく大規模なニューラルネットワ
ークを構成できる情報処理装置を提供することにある。 本発明の第4の目的は,ニューロンの個数の増加による
動作速度の低下を抑え,高速で大規模なニューラルネッ
トワークを構成できる情報処理装置を提供することにあ
る. 本発明の第5の目的は,より少ない種類のフォトマスク
を用いて大規模なニューラルネットワークを実現できる
情報処理貰置を提供することにある. 【課題を解決するための手段】 本発明の第1もしくは第2の目的は,ニューロン間相互
の信号の伝達を,共通のハードウエアを使って時分割で
行うことにより実現できる。 また,本発明の第1もしくは第2の目的は,重み値を半
導体記憶装置に記憶させ,重み値の絶対値の大きいもの
から所定の個数のみを記憶させることによっても実現で
きる。 本発明の第2の目的は,ニューロン間相互を接続するバ
スを階層化することにより実現できる。 本発明の第3の目的は,上位の階層のバスを構成する配
線の幅や間隔を広くすることにより実現できる. 本発明の第4の目的は,バス上の信号伝達をパイプライ
ン化することにより実現できる。 また,本発明の第4の目的は,重み値をアクセスされる
順に記憶させることによっても実現できる. 本発明の第5の目的は,バスのうちの一部に,位置をシ
フトさせながら隣と接続するものを設けることにより実
現できる。
置に係り,特にそのハードウエア量を大幅に削減した情
報処理装置に関する. 【従来の技術1 ニューラルネットワークは,ニューロンと呼ばれる情報
処理単位を複数個持ち,各ニューロンは他の幾つかのニ
ューロンから出力される信号を相互に受ける.各ニュー
ロンには複数個のシナプスと呼ばれーる回路が備えられ
,この回路で他のニューロンから受けた信号と相手毎に
定められた係数(以下,重み値と呼ぶ)を掛け算する。 そして,その積の総和に応じて各ニューロンの出力が決
まるようになっている.このようなニューラルネットワ
ークの例が,日経エレクトロニクス誌の1987年8月
10日号(No.4 2 7)の115頁からの記事に
紹介されている.また,日経マイクロデバイス誌の19
88年7月号の72頁からの記事には,ディジタル回路
のみによって構成されたニューラルネットワークの例も
紹介されている.ディジタル回路は,アナログ回路に比
べてハードウエアの量は多くなるが,素子のバラッキや
ノイズ等に対して強く精度を上げることが容易であり,
高集積化に適している。 【発明が解決しようとする課題1 ところで,ニューラルネットワークによってより複雑な
情報処理をさせようとすると,ニューロンの個数を増や
すことが必要になる.ところが,従来の構造のニューラ
ルネットワークでは,各二二一ロンを相互に接続する配
線の量やシナブスの個数がニューロンの個数の2乗に比
例して増えるため,規模の拡張が困難であり,更にニュ
ーロンの個数をある程度以上多くするとその実現が飛躍
的に困難になる。特に,演算精度や耐ノイズ性の面で集
積化に適したディジタル回路の場合,シナプスを構成す
る乗算器には多数の素子が必要であり,この問題は一層
深刻である。 本発明の第1の目的は,ニューラルネットワーク等の情
報処理装置において,情報処理単位であるニューロンの
個数を増やしてもハードウエアの量が飛躍的には増加し
ない情報処理装置を提供することにある。 本発明の第2の目的は,デイジタル回路によって構成し
た大規模なニューラルネットワークを実現することにあ
る。 本発明の第3の目的は,ニューロンの個数を増やしても
歩留まりを下げることなく大規模なニューラルネットワ
ークを構成できる情報処理装置を提供することにある。 本発明の第4の目的は,ニューロンの個数の増加による
動作速度の低下を抑え,高速で大規模なニューラルネッ
トワークを構成できる情報処理装置を提供することにあ
る. 本発明の第5の目的は,より少ない種類のフォトマスク
を用いて大規模なニューラルネットワークを実現できる
情報処理貰置を提供することにある. 【課題を解決するための手段】 本発明の第1もしくは第2の目的は,ニューロン間相互
の信号の伝達を,共通のハードウエアを使って時分割で
行うことにより実現できる。 また,本発明の第1もしくは第2の目的は,重み値を半
導体記憶装置に記憶させ,重み値の絶対値の大きいもの
から所定の個数のみを記憶させることによっても実現で
きる。 本発明の第2の目的は,ニューロン間相互を接続するバ
スを階層化することにより実現できる。 本発明の第3の目的は,上位の階層のバスを構成する配
線の幅や間隔を広くすることにより実現できる. 本発明の第4の目的は,バス上の信号伝達をパイプライ
ン化することにより実現できる。 また,本発明の第4の目的は,重み値をアクセスされる
順に記憶させることによっても実現できる. 本発明の第5の目的は,バスのうちの一部に,位置をシ
フトさせながら隣と接続するものを設けることにより実
現できる。
ニューロン間相互の信号の伝達を,共通のハードウエア
を使って時分割で行うことにより,1ニューロン当たり
に必要なシナブスの数が1個で済み,よってニューロン
の個数を増やしても飛躍的にはハードウエアの量が増加
しなくなる。従って,大規模なニューラルネットワーク
を実現することも可能になる。 重み値を半導体記憶装置に記憶させることにより,重み
値の入れ替えが容易になる。そして,絶対値の大きいも
のから所定の個数のみを記憶させることによって,ハー
ドウエアの量を節約することができる。 また,バスをWI層化することにより,ニューロンの数
を増やしても1本のバスに付く負荷が重くならないよう
にすることが可能となり,よって大規模なニューラルネ
ットワークを実現することができる. WSI(ウエハスケール集積回路)上にニューラルネッ
トワークを構成した場合,バスを階層化すると,上位の
階層のバスに断線やショート等の故障が発生した時には
大きな範囲にその影響が及び歩留まりが下がるが,上位
の階層のバスのみ配線の幅や間隔を広くすることにより
,その部分の故障発生率を下げることができる. バス上の信号伝達をパイプライン化することにより,1
個のニューロンから他のニューロンに信号が送られる時
間内に数個のニューロンから他のニューロンに信号を送
ることが可能となり,よって動作速度を上げることがで
きる。 重み値をアクセスされる順に記憶させることにより,次
にアクセスされる重み値を予め読み出しておくことが可
能となり,よって動作速度を上げることができる。 位置をシフトさせながら隣と接続するバスを設けること
により,全く同一の形状の集積回路を並べてもそれぞれ
異なる信号を与えることが可能となる.従って,同じマ
スクを使って作成したニューロン回路を並べてWSI(
ウエハスケール集積回路)を構成することが可能となる
。
を使って時分割で行うことにより,1ニューロン当たり
に必要なシナブスの数が1個で済み,よってニューロン
の個数を増やしても飛躍的にはハードウエアの量が増加
しなくなる。従って,大規模なニューラルネットワーク
を実現することも可能になる。 重み値を半導体記憶装置に記憶させることにより,重み
値の入れ替えが容易になる。そして,絶対値の大きいも
のから所定の個数のみを記憶させることによって,ハー
ドウエアの量を節約することができる。 また,バスをWI層化することにより,ニューロンの数
を増やしても1本のバスに付く負荷が重くならないよう
にすることが可能となり,よって大規模なニューラルネ
ットワークを実現することができる. WSI(ウエハスケール集積回路)上にニューラルネッ
トワークを構成した場合,バスを階層化すると,上位の
階層のバスに断線やショート等の故障が発生した時には
大きな範囲にその影響が及び歩留まりが下がるが,上位
の階層のバスのみ配線の幅や間隔を広くすることにより
,その部分の故障発生率を下げることができる. バス上の信号伝達をパイプライン化することにより,1
個のニューロンから他のニューロンに信号が送られる時
間内に数個のニューロンから他のニューロンに信号を送
ることが可能となり,よって動作速度を上げることがで
きる。 重み値をアクセスされる順に記憶させることにより,次
にアクセスされる重み値を予め読み出しておくことが可
能となり,よって動作速度を上げることができる。 位置をシフトさせながら隣と接続するバスを設けること
により,全く同一の形状の集積回路を並べてもそれぞれ
異なる信号を与えることが可能となる.従って,同じマ
スクを使って作成したニューロン回路を並べてWSI(
ウエハスケール集積回路)を構成することが可能となる
。
以下,第1図を用いて本発明の一実施例を説明する.第
1図において,100がニューロンであり,この図では
,説明を簡単にするため,4個のニューロンを接続した
場合を示す。各ニューロンの中には,重み値を記憶する
ためのメモリ101,入力信号と重み値を掛け算するた
めの乗算器102,その積の総和を計算するための加算
器103およびラッチ回路104,その総和を記憶する
ためのラッチ回路105,ラッチ回路105の内容を出
力するためのトライステート出力のバッファ回路106
,そのニューロンが選択されたか否かを判断するための
デコーダ107が備えられている.各ニューロン100
は,バスを介して制御装置200と接続される.301
,302,303,304は,それぞれ入力信号,アド
レス信号,クロック信号,サイクル信号を,制御装置2
00から各ニューロン100へ送るためのバスである.
305は出力信号を各ニューロン100から制御装置2
00へ送るためのバスである。この実施例では,ラッチ
回路104にはバス303からのクロック信号のエッジ
によってデータが取り込まれるものを使用する。また,
各ニューロン100にはそれぞれ固有のアドレスが割り
当てられており,そのアドレスと制御装置200からの
アドレス信号が一致した時にデコーダ107が信号を出
すように設定する。 次に,この装置の動作を説明する。制御装置200は,
第2図に示すように,アドレス信号として各ニューロン
のアドレスを順次繰り返すような信号を,クロック信号
として各アドレスが指定される毎にラッチ回路104に
データを取り込ませる信号を,サイクル信号としてアド
レスが一巡する毎にラッチ回路105にデータを取り込
ませる信号をそれぞれ送出する.制御装置200からバ
ス302により各ニューロン100に一斉に送られたア
ドレス信号は,デコーダ回路107に加えられ,そのア
ドレス信号によって指定されたニューロン内のバッファ
回路106のみが出力バス305に信号を出力する.そ
の他のニューロン内のバッファ回路106は,高抵抗状
態になる.従って,アドレス信号によって指定されたニ
ューロン100内のラッチ回路105の内容が制御装置
200に送られる.制御装置200内では,その信号を
そのまま若しくはシグモイド関数等によって関数変換し
,入力バス301を介して各ニューロン100に送出す
る。各ニューロン100内では,その時にアドレス信号
が指定する相手との間の重み値をメモリ101から読み
出し,その重み値と制御回路200からバス301を介
して送られた入力信号の積を乗算器102によって求め
,その積とそれまでにラッチ回路104に累積された数
値の和を加算器103によって求め,その和がラッチ回
路104に加えられる。ここでバス303からクロック
信号が加えられると,その和がラッチ回路104に取り
込まれる.従って,アドレスが一巡する間に,全てのニ
ューロンからの信号と重み値の積の総和がラッチ回Il
t104内に求まる.そして,バス304からサイクル
信号が加えられると,その総和がラッチ回路105に取
り込まれ,各ニューロン100の新たな出力値となる.
このようにして,第1図の回路はニューラルネットワー
クとして動作する. ところで,第1図のような構成のままニューロン100
の数を増やして大規模なニューラルネットワークを構成
しようとすると,ニューロン数がある程度以上多くなる
とバスに付加される容量が大きくなって動作速度が遅く
なる.第3図は,これを避けるためにバスを階層構造に
した本発明の一実施例の一部分を示したものであり,1
個のニューロン群150を示す。これを後に述べる(第
4図)ように多数接続すれば,大規模なニューラルネッ
トワークを実現することができる。第3図において,1
0oはニューロン,301〜305は第1階m<最下層
)のバスであり,この部分は第1図のニューロン100
およびバス301〜305と同じように構成する。ただ
し,大規模なニューラルネットワークを構成できるよう
にするため,アドレスバス302のビット数と重み値を
記憶するメモリ101の容量とは第1図の場合より大き
くする必要がある。311,312,313,314,
315は,それぞれ入力信号,アドレス信号,クロック
信号,サイクル信号,出力信号を伝送するための第2階
層のバスである.第2階層のバスのうち311〜314
はバツファ回路158を介して第1階層のバス301〜
304へ信号を送り出し,第2階層の出力八ス315は
トライステートバツファ156を介して第1階層の出力
バス305からの信号を受ける.157は,このニュー
ロン群150の中にアドレス信号が指定するニューロン
100が有るか否かを判定するためのものであり,有る
と判定したときには第1階暦の出力バス305上のデー
タが第2階層の出力バス315に送り出されるようにし
,無いと判定した時にはトライステートバソファ156
の出力を高抵抗状態にする.このニューロン群150を
多数用意して第2階層のバス311〜315同士を接続
すると,1つ1つのバスに付加される容量をあまり増や
さずに多数のニューロン100を接続することができる
。 第4図は,その接続方法の一実施例を示したものである
.第4図は,1枚の半導体基板500の上にWSI(ウ
エハスケール集積回路)として構成した実施例である。 150は1個々々が第3図に示したニューロン群であり
,この図には60個のニューロン群を描いてある。31
1〜315は横方向に設けた第2階層のバスであり,基
板全面に渡って複数組設けてある。321〜325は縦
方向に設けた第3階暦のバスであり,基板中央に1組だ
け設けてある.この実施例では,2〜4個ずつのニュー
ロン群150を第2階暦のバス311〜315によって
接続し,第2階層のバス311〜315はバッファ部3
50を介して第3階層のバス321〜325に接続する
.バッファ部350の構造は,第3図における第1階層
のバス301〜305と第2階層のバス311〜315
の接続部の構造と同様であり,入カバッファ,デコーダ
,出力バソファからなる.そして,第3階層のバス32
1〜325の一端に,制御装i1200を設ける.この
ようにすれば,バスの最大長をせいぜい基板の直径程度
に抑えながら,基板全面に設けたニューロンを全て接続
したニューラルネットワークを実現することができる.
なお,電源については,第2階層のバス311〜315
と平行に電源供給用のバスを走らせ,両端に設けた電源
パッド部450から供給することにより,多数の給電点
を確保することができる.また,電源供給用のバスや第
2階層のバス311〜315および第3階層のバス32
1〜325等に使う配線ついては,ニューロン群150
やバッファ部350の内部の配線より線幅が太く間隔の
広いものを使うのが望ましい。これは,線長の長いこれ
らのバスは配線抵抗が大きくならないように特に注意す
る必要があるためと,階層の上の方のバスに断線やショ
ート等の故障があった場合にはこれにつながる多数のニ
ューロンが使えなくなるため,これらのバスは特に故障
率を下げる必要があるからである.少数のニューロンし
か影響を受けないような故障については,正常なニュー
ロンの側において故障したニューロンに対する重み値を
Oとすることにより,故障した部分を使わないようにす
ることができる.また,制御装置200をこのウエハ5
00の上には設けず,この位置にバッファ回路を設けて
外部に設けた制御装置と接続することも可能である。 制御装置200が故障すると全体が使えなくなるが,こ
の部分だけを外部に設けておけば,故障時には取り替え
ることが可能である。また,制御装置200若しくは外
部との接続用のバップア回路を,多重化することによっ
て故障率を下げたり,歩留まりの高いウエハの中心部分
に設けることも考えられる.さらに,複数の基板500
を用意して,このバッファ回路を介して第4階層のバス
に接続し,更に大規模なニューラルネットワークを構成
することも可能である。 ところで,バスの階層を増やすと,末端のニューロン1
00から出た信号が制御装置200を介して再び末端の
ニューロンlOOに到達するまでの遅延時間が増大する
。しかし,上層のバスと下層のバスを接続するバッファ
の部分にラッチ回路を挿入して信号の伝達を同期化する
ことにより,パイプライン処理を可能にして実質的な処
理時間を増大させずに済む.そのタイミングの一例を,
第5図を用いて詳しく説明する.この図には,ニューロ
ンの個数が100個の場合を示す.クロック信号につい
ては,なるべく高速の回路を用いて,第3階層のバス3
23から第2階層のバス313,更に第1階層のバス3
03への伝播時間が小さくなるように供給する.その他
の信号は,全て各階層のクロック信号に同期して伝達さ
せる.アドレス信号は,各ニューロンのアドレス1〜1
00と時分割の制御に必要なアドレス101〜105を
繰り返すように供給し,最大値105から最小値1に戻
る間には1クロック分のインタバルを置く。 これをクロック信号に同期して伝達させるため,第2階
層,第1階層へと伝播していく時に1クロック分ずつシ
フトする.そして,各ニューロンには第1階層のアドレ
スバス302が接続さ九でいるため,このバス上のアド
レス信号が指定するニューロンの出力値が第1階Mの出
力バス305に出力される。そして,今度はこの出力信
号がクロック信号に同期して1クロック分ずつシフトし
ながら第2階層の出力バス315,第3階層の出力バス
325へと送られる。これが制御回路200を経由して
第3llIJ層の入力バス321へ加えらJ5るが,制
御回路200の中でもクロック信号に同期させるようす
れば,図に示すように1クロック分シフトする.そして
これが再び1クロック分ずつシフトしながら第2階層の
入力バス311,第1階層の入力バス301へと送られ
る。従って,第1階層のアドレスバス302上にアドレ
ス信号が到達してから5クロック分後に,そのアドレス
が指定するニューロンからの信号が各ニューロンに到達
する。従って各ニューロンでは,その時のアドレス信号
が示す数値より5だけ小さい数値のアドレスのニューロ
ンからの信号とみなして累積加算の計算を行う.このよ
うにすれば,バス間の信号伝達を同期化しない場合に比
べてクロック信号の周期を短くできる. また,第4図のように直径が数インチに及ぶ半導体基板
全面にわたって集禮回路を形成しようとした場合,基板
に塗布したフォトレジストを露光してパターンを形成す
る工程において1度に全面を露光しようとすると解像度
が悪くなるため,例えばニューロン群150を1回の露
光単位として何回かに分けて露光することになる.その
場合,各ニューロン群150のパターンが少しずつでも
異なると全てのパターンに対してそれぞれマスクを用意
することが必要となり,マスクの種類が膨大になって不
経済である.一方,各ニューロンにはそれぞれに個別に
定められたアドレスがあり,これを識別する機能が必要
である.すなわち,各ニューロン群150の中身を全く
変えずに個別のアドレスを識別できるようにする必要が
ある.これを実現する一実施例を第6図に示す.第6図
は,第4図の中のニューロン群1行分の内の更に右半分
について示したものである.第6図において,150は
ニューロン群である.この中で100はニューロン,3
11〜315は第2階層のバス,156はトライステー
トバッファ,158はバッファであり,これらの接続関
係は第3図の時と同様である.350は第3階層のバス
321〜325と第2階層のバス311〜315を接続
する部分であり,166はトライステートバッファ,1
68はバッファである。そして,第3図では各ニューロ
ン群150の中に搭載したデコーダ157は,第6図で
は第3階層と第2階層のバスの接続部350の中に搭載
する。このデコーダ157の出力は4ビットのバス31
Gを介して各ニューロン群150に送られるが,このバ
スは図に示すようにニューロン群150を1個通る毎に
1ビットずつシフトするように形成する。そしてこのデ
コーダ157は,アドレス信号が指すニューロン100
を含むニューロン群150に対応する出力のみをハイレ
ベルにする。すると,各ニューロン群150は全く同一
形状であるにもかかわらず,目的とするニューロン群1
個だけを選択することができる。また,各ニューロン1
00は,アドレス信号の下2ビットとデコーダ157か
ら送られてきた信号によって,自分が選択されたか否か
を判断することができる。更に,接続部350について
も,同様の手法を用いて目的とする1行だけを選択する
ことができる。この場合,アドレス信号の上位のビッ1
−をデコードした結果を制御装置200から9ビットの
バス326を介して各接続部350に送る。9ビットの
バス326は1行毎に1ビットずつシフトするように形
成してあるため,各接続部350は全く同一の形状であ
るにもかかわらず,目的とする1行だけを選択すること
ができる。以上により,第4図に示したニューラルネッ
トワークを作成するのに必要なフォトマスクの種類は,
右側のニューロン群150用,左側のニューロン群15
0用,接続部350用,制御装置200または外部との
接続回路用,電源パッド450用の5セットに抑えるこ
とができる.なお,略円形の半導体基板を使ってこの手
法を用いるとアドレスに空き番号が生じるが,制御装置
200からアドレス信号を送るときに空き番号を飛ばす
ようにすれば,処理時間を増大させずに済むことは言う
までもない6また,各ニューロン100内のデコーダ1
07についても,各ニューロン100内に設けずにニュ
ーロン群150毎にまとめて設ければ,各ニューロン1
00を全て同一の回路にできるため設計が容易になる。 ところで,接続するニューロンの数が多くなると,第1
図に示した各ニューロン100内のメモリ101に記憶
すべき重み値の個数も増大し,容量の大きなメモリが必
要になる.第7図は,このメモリ101の容量を節滅す
る一実施例を示したものである.この回路は,重み値の
中で絶対値の大きなものから順に所定の数だけを相手の
アドレスと対にして記憶し,その他の重み値は0とみな
すことによって記憶容量を節減しようとするものである
.第7図において,111,112はメモリセルアレイ
,113はポインタ,114は比較器,115はセレク
タである.メモリセルアレイのうち,111は相手のア
ドレスを記憶する部分,112は重み値を記憶する部分
であり,相手のアドレスと重み値を対にしてメモリセル
アレイの各行に記憶させておく.このとき,各行に記憶
させる順序は,アドレスが昇順に並ぶようにする.また
,前述のように,制御装置200からバス302を介し
て各ニューロンに送出するアドレス信号についても昇順
に送るようにする.そして,ポインタ113は,最初は
メモリセルアレイ111,112の第1行を指すように
セットする。 すると,第1行に記憶されている内容が読み出され,そ
のアドレス情報が比較器114の一端122に,重み値
情報がセレクタ115の一端124にそれぞれ加えられ
る。この時に比較器114に加えられているアドレス情
報は,メモリセルアレイ111の中に記憶されているア
ドレス情報のうち最も小さい数である。一方,制御装置
200からアドレスバス302を介して送られてきたア
ドレス信号は,比較器114の他端に加えられる。そし
て,アドレス信号は昇順に送られてくるため,比較器1
14に加えられる信号122が最初に一致するまでの間
はアドレス信号の方が小さい数であり,従ってメモリセ
ルアレイ111の中に存在しない数である.この時には
比較器114の出力123は口・一レベルとなって,セ
レクタ115の出力端子126には他端125に加えら
れた数値It O ##が出力される。そして,このセ
レクタ115の出力がその時にアドレス信号302が指
す相手に対する重み値である。この場合は,メモリセル
アレイ111の中に記憶されていない相手,すなわち重
み値の絶対値が小さい場合であり,その重み値は0とみ
なされる。また,比較器114の出力123がローレベ
ルの間はAND回路116の出力127も常にローレベ
ルであり,ポインタ113は同じ行を指したままである
.ところが,122の端子に加えられたアドレス情報と
アドレスバス302を介して送られてきたアドレス信号
が一致すると,比較器114の出力123がハイレベル
となって124の端子に加えられた重み値情報がセレク
タ115の出力端子126に現われる。これは,その時
のアドレス信号が指す相手に対する重み値である.そし
て,バス303を介して送られてくるクロック信号に同
期してポインタ113は次の行を指す。すると,今度は
,その行に記憶されたアドレス情報と,アドレスバス3
02を斤して送られるアドレス信号とが一致するまで,
セレクタ115はIt O I+を出力し続け,以下同
様の動作を繰り返す。そして,バス304を介してサイ
クル信号が送られてくると,ポインタ113は再び第1
行に戻る。以上述べたように,第7図の回路は,メモリ
セルアレイ112に記憶された絶対値の大きな重み値は
正確に読み出し,その他の重み値はOとみなすように動
作する。また,以上述べたようにこのメモリは必ず昇順
に読み出されるため,アドレス信号が送られてくると当
該情報が有るか否かを瞬時に判断することができ,よっ
てアクセス時間を増大させること無く読み出すことがで
きる. 第8図は,第1図中に示したニューロン100の構成に
ついて,その一実施例を更に詳しく示したものである。 第8図において,重み値を記憶するメモリ101,乗算
器102,加算器103,ラッチ回路104,ラッチ回
路1o5,トライステートバソファ106,デコーダ1
07および第1階暦のバス301〜305の動作は第1
図で説明した通りである。シフタ807およびセレクタ
803は,動作を安定化させるための回路である。 また,デコーダ8o1,セレクタ802,トライステー
トバソファ804,ラッチ回路805,セレクタ806
,808,バス831〜838は,本発明のニューラル
ネットワークに自己学習させるためのものである。 シフタ回路807は,ラッチ回路104の出力値を17
2倍,または1/4倍,または178倍,・・・とシフ
トさせるように構成する。セレクタ803は通常は乗算
器102の出力を加算器103に伝えるが,サイクル信
号(バス304)が入った時にはシフタ回路807の出
力を伝えるようにしておく。また,セレクタ803がシ
フタ回路807の出力を伝える時には,加算器103が
減算の動作をするように構成する.セレクタ808は,
自己学習時以外はラッチ回路104の出力を加算器10
3に加える。すると,通常は加算rI1 0 3とラッ
チ回路104は前述の累積加算の動作を行゛なうが,サ
イクル信号が入ると,ラッチ回路104の出力がラッチ
回路105に取り込まれると共に1/2倍,または3/
4倍,または778倍,・・・されてラッチ回路104
の入力側に加えられる.これがクロック信号(バス30
3)に同期してラッチ回路104に取り込まれ,新たな
累積加算が始まる。この場合には前のサイクルで計算さ
れた値と現サイクルで計算されるべき値の加重平均を計
算することになり,計算結果が収束する迄に時間がかか
るが振動はしにくくなる。 自己学習の動作は以下のようにして行なう。なお,自己
学習のアノレゴリズムには,パックブロパゲーション(
この方式の数学的な根拠は,例えば口経エレクトロニク
ス誌1987年8月10日号115頁〜の記事に詳述さ
れている)を使うものとする.先ず最初は,累積加算の
動作を繰り返して各ニューロンの出力値を求め,ラッチ
回路105に記憶する.次に,出力層に属するニューロ
ンのアドレスをアドレスバス302を介して制御装置2
00から順次送り出し,ラッチ回路105の内容を制御
装12200側に読み込んで期待される出力値との差(
以下,この値をδ値と称する)を求め,バス833を介
してそのニューロンのラッチ回路805に書き込む。出
力層に属さないニューロンについては,アドレスバス3
02上の信号をδ値を求めたいニューロンのアドレスに
固定し,そのニューロンに対する各ニューロンの重み値
と各ニューロンのδ値の積の累積加算によって求める。 その重み値は各ニューロン内のメモリ101から,δ値
は各ニューロン内のラッチ回路805から,それぞれセ
レクタ802,806を介して各ニューロン内の乗算器
102に加える.これによって先ず積が求まる。次に,
バス831を介して制御装1i200から各ニューロン
のアドレスを順次送出し,今の積をバス832を介して
制御装百200に読み込む。これを制御装置200内で
累積加算してδ値を求め,目的とするニューロンのラッ
チ回路805に書き込む。 そして全てのニューロンのδ値が求まったら,837の
バスを介して送られた適当な係数とラッチ回路805に
記憶されたδ値の積を乗算器102によって求め,加算
器103の一端に加える。そして,アドレスバス302
を介して加えるアドレス信号を一巡させながら,メモリ
101に記憶された重み値と加算器103の一端に加え
られている値とを加算した結果を新たな重み値として更
新する。これを繰り返すことにより,自己学習が行なわ
れる。 なお,学習については別の計算機上で行なって,その結
果得られた重み値を直接メモリ101に書き込み,通常
の動作のみを本発明のニューラルネットワーク上で行な
うような使い方も可能であるのは言うまでもない。
1図において,100がニューロンであり,この図では
,説明を簡単にするため,4個のニューロンを接続した
場合を示す。各ニューロンの中には,重み値を記憶する
ためのメモリ101,入力信号と重み値を掛け算するた
めの乗算器102,その積の総和を計算するための加算
器103およびラッチ回路104,その総和を記憶する
ためのラッチ回路105,ラッチ回路105の内容を出
力するためのトライステート出力のバッファ回路106
,そのニューロンが選択されたか否かを判断するための
デコーダ107が備えられている.各ニューロン100
は,バスを介して制御装置200と接続される.301
,302,303,304は,それぞれ入力信号,アド
レス信号,クロック信号,サイクル信号を,制御装置2
00から各ニューロン100へ送るためのバスである.
305は出力信号を各ニューロン100から制御装置2
00へ送るためのバスである。この実施例では,ラッチ
回路104にはバス303からのクロック信号のエッジ
によってデータが取り込まれるものを使用する。また,
各ニューロン100にはそれぞれ固有のアドレスが割り
当てられており,そのアドレスと制御装置200からの
アドレス信号が一致した時にデコーダ107が信号を出
すように設定する。 次に,この装置の動作を説明する。制御装置200は,
第2図に示すように,アドレス信号として各ニューロン
のアドレスを順次繰り返すような信号を,クロック信号
として各アドレスが指定される毎にラッチ回路104に
データを取り込ませる信号を,サイクル信号としてアド
レスが一巡する毎にラッチ回路105にデータを取り込
ませる信号をそれぞれ送出する.制御装置200からバ
ス302により各ニューロン100に一斉に送られたア
ドレス信号は,デコーダ回路107に加えられ,そのア
ドレス信号によって指定されたニューロン内のバッファ
回路106のみが出力バス305に信号を出力する.そ
の他のニューロン内のバッファ回路106は,高抵抗状
態になる.従って,アドレス信号によって指定されたニ
ューロン100内のラッチ回路105の内容が制御装置
200に送られる.制御装置200内では,その信号を
そのまま若しくはシグモイド関数等によって関数変換し
,入力バス301を介して各ニューロン100に送出す
る。各ニューロン100内では,その時にアドレス信号
が指定する相手との間の重み値をメモリ101から読み
出し,その重み値と制御回路200からバス301を介
して送られた入力信号の積を乗算器102によって求め
,その積とそれまでにラッチ回路104に累積された数
値の和を加算器103によって求め,その和がラッチ回
路104に加えられる。ここでバス303からクロック
信号が加えられると,その和がラッチ回路104に取り
込まれる.従って,アドレスが一巡する間に,全てのニ
ューロンからの信号と重み値の積の総和がラッチ回Il
t104内に求まる.そして,バス304からサイクル
信号が加えられると,その総和がラッチ回路105に取
り込まれ,各ニューロン100の新たな出力値となる.
このようにして,第1図の回路はニューラルネットワー
クとして動作する. ところで,第1図のような構成のままニューロン100
の数を増やして大規模なニューラルネットワークを構成
しようとすると,ニューロン数がある程度以上多くなる
とバスに付加される容量が大きくなって動作速度が遅く
なる.第3図は,これを避けるためにバスを階層構造に
した本発明の一実施例の一部分を示したものであり,1
個のニューロン群150を示す。これを後に述べる(第
4図)ように多数接続すれば,大規模なニューラルネッ
トワークを実現することができる。第3図において,1
0oはニューロン,301〜305は第1階m<最下層
)のバスであり,この部分は第1図のニューロン100
およびバス301〜305と同じように構成する。ただ
し,大規模なニューラルネットワークを構成できるよう
にするため,アドレスバス302のビット数と重み値を
記憶するメモリ101の容量とは第1図の場合より大き
くする必要がある。311,312,313,314,
315は,それぞれ入力信号,アドレス信号,クロック
信号,サイクル信号,出力信号を伝送するための第2階
層のバスである.第2階層のバスのうち311〜314
はバツファ回路158を介して第1階層のバス301〜
304へ信号を送り出し,第2階層の出力八ス315は
トライステートバツファ156を介して第1階層の出力
バス305からの信号を受ける.157は,このニュー
ロン群150の中にアドレス信号が指定するニューロン
100が有るか否かを判定するためのものであり,有る
と判定したときには第1階暦の出力バス305上のデー
タが第2階層の出力バス315に送り出されるようにし
,無いと判定した時にはトライステートバソファ156
の出力を高抵抗状態にする.このニューロン群150を
多数用意して第2階層のバス311〜315同士を接続
すると,1つ1つのバスに付加される容量をあまり増や
さずに多数のニューロン100を接続することができる
。 第4図は,その接続方法の一実施例を示したものである
.第4図は,1枚の半導体基板500の上にWSI(ウ
エハスケール集積回路)として構成した実施例である。 150は1個々々が第3図に示したニューロン群であり
,この図には60個のニューロン群を描いてある。31
1〜315は横方向に設けた第2階層のバスであり,基
板全面に渡って複数組設けてある。321〜325は縦
方向に設けた第3階暦のバスであり,基板中央に1組だ
け設けてある.この実施例では,2〜4個ずつのニュー
ロン群150を第2階暦のバス311〜315によって
接続し,第2階層のバス311〜315はバッファ部3
50を介して第3階層のバス321〜325に接続する
.バッファ部350の構造は,第3図における第1階層
のバス301〜305と第2階層のバス311〜315
の接続部の構造と同様であり,入カバッファ,デコーダ
,出力バソファからなる.そして,第3階層のバス32
1〜325の一端に,制御装i1200を設ける.この
ようにすれば,バスの最大長をせいぜい基板の直径程度
に抑えながら,基板全面に設けたニューロンを全て接続
したニューラルネットワークを実現することができる.
なお,電源については,第2階層のバス311〜315
と平行に電源供給用のバスを走らせ,両端に設けた電源
パッド部450から供給することにより,多数の給電点
を確保することができる.また,電源供給用のバスや第
2階層のバス311〜315および第3階層のバス32
1〜325等に使う配線ついては,ニューロン群150
やバッファ部350の内部の配線より線幅が太く間隔の
広いものを使うのが望ましい。これは,線長の長いこれ
らのバスは配線抵抗が大きくならないように特に注意す
る必要があるためと,階層の上の方のバスに断線やショ
ート等の故障があった場合にはこれにつながる多数のニ
ューロンが使えなくなるため,これらのバスは特に故障
率を下げる必要があるからである.少数のニューロンし
か影響を受けないような故障については,正常なニュー
ロンの側において故障したニューロンに対する重み値を
Oとすることにより,故障した部分を使わないようにす
ることができる.また,制御装置200をこのウエハ5
00の上には設けず,この位置にバッファ回路を設けて
外部に設けた制御装置と接続することも可能である。 制御装置200が故障すると全体が使えなくなるが,こ
の部分だけを外部に設けておけば,故障時には取り替え
ることが可能である。また,制御装置200若しくは外
部との接続用のバップア回路を,多重化することによっ
て故障率を下げたり,歩留まりの高いウエハの中心部分
に設けることも考えられる.さらに,複数の基板500
を用意して,このバッファ回路を介して第4階層のバス
に接続し,更に大規模なニューラルネットワークを構成
することも可能である。 ところで,バスの階層を増やすと,末端のニューロン1
00から出た信号が制御装置200を介して再び末端の
ニューロンlOOに到達するまでの遅延時間が増大する
。しかし,上層のバスと下層のバスを接続するバッファ
の部分にラッチ回路を挿入して信号の伝達を同期化する
ことにより,パイプライン処理を可能にして実質的な処
理時間を増大させずに済む.そのタイミングの一例を,
第5図を用いて詳しく説明する.この図には,ニューロ
ンの個数が100個の場合を示す.クロック信号につい
ては,なるべく高速の回路を用いて,第3階層のバス3
23から第2階層のバス313,更に第1階層のバス3
03への伝播時間が小さくなるように供給する.その他
の信号は,全て各階層のクロック信号に同期して伝達さ
せる.アドレス信号は,各ニューロンのアドレス1〜1
00と時分割の制御に必要なアドレス101〜105を
繰り返すように供給し,最大値105から最小値1に戻
る間には1クロック分のインタバルを置く。 これをクロック信号に同期して伝達させるため,第2階
層,第1階層へと伝播していく時に1クロック分ずつシ
フトする.そして,各ニューロンには第1階層のアドレ
スバス302が接続さ九でいるため,このバス上のアド
レス信号が指定するニューロンの出力値が第1階Mの出
力バス305に出力される。そして,今度はこの出力信
号がクロック信号に同期して1クロック分ずつシフトし
ながら第2階層の出力バス315,第3階層の出力バス
325へと送られる。これが制御回路200を経由して
第3llIJ層の入力バス321へ加えらJ5るが,制
御回路200の中でもクロック信号に同期させるようす
れば,図に示すように1クロック分シフトする.そして
これが再び1クロック分ずつシフトしながら第2階層の
入力バス311,第1階層の入力バス301へと送られ
る。従って,第1階層のアドレスバス302上にアドレ
ス信号が到達してから5クロック分後に,そのアドレス
が指定するニューロンからの信号が各ニューロンに到達
する。従って各ニューロンでは,その時のアドレス信号
が示す数値より5だけ小さい数値のアドレスのニューロ
ンからの信号とみなして累積加算の計算を行う.このよ
うにすれば,バス間の信号伝達を同期化しない場合に比
べてクロック信号の周期を短くできる. また,第4図のように直径が数インチに及ぶ半導体基板
全面にわたって集禮回路を形成しようとした場合,基板
に塗布したフォトレジストを露光してパターンを形成す
る工程において1度に全面を露光しようとすると解像度
が悪くなるため,例えばニューロン群150を1回の露
光単位として何回かに分けて露光することになる.その
場合,各ニューロン群150のパターンが少しずつでも
異なると全てのパターンに対してそれぞれマスクを用意
することが必要となり,マスクの種類が膨大になって不
経済である.一方,各ニューロンにはそれぞれに個別に
定められたアドレスがあり,これを識別する機能が必要
である.すなわち,各ニューロン群150の中身を全く
変えずに個別のアドレスを識別できるようにする必要が
ある.これを実現する一実施例を第6図に示す.第6図
は,第4図の中のニューロン群1行分の内の更に右半分
について示したものである.第6図において,150は
ニューロン群である.この中で100はニューロン,3
11〜315は第2階層のバス,156はトライステー
トバッファ,158はバッファであり,これらの接続関
係は第3図の時と同様である.350は第3階層のバス
321〜325と第2階層のバス311〜315を接続
する部分であり,166はトライステートバッファ,1
68はバッファである。そして,第3図では各ニューロ
ン群150の中に搭載したデコーダ157は,第6図で
は第3階層と第2階層のバスの接続部350の中に搭載
する。このデコーダ157の出力は4ビットのバス31
Gを介して各ニューロン群150に送られるが,このバ
スは図に示すようにニューロン群150を1個通る毎に
1ビットずつシフトするように形成する。そしてこのデ
コーダ157は,アドレス信号が指すニューロン100
を含むニューロン群150に対応する出力のみをハイレ
ベルにする。すると,各ニューロン群150は全く同一
形状であるにもかかわらず,目的とするニューロン群1
個だけを選択することができる。また,各ニューロン1
00は,アドレス信号の下2ビットとデコーダ157か
ら送られてきた信号によって,自分が選択されたか否か
を判断することができる。更に,接続部350について
も,同様の手法を用いて目的とする1行だけを選択する
ことができる。この場合,アドレス信号の上位のビッ1
−をデコードした結果を制御装置200から9ビットの
バス326を介して各接続部350に送る。9ビットの
バス326は1行毎に1ビットずつシフトするように形
成してあるため,各接続部350は全く同一の形状であ
るにもかかわらず,目的とする1行だけを選択すること
ができる。以上により,第4図に示したニューラルネッ
トワークを作成するのに必要なフォトマスクの種類は,
右側のニューロン群150用,左側のニューロン群15
0用,接続部350用,制御装置200または外部との
接続回路用,電源パッド450用の5セットに抑えるこ
とができる.なお,略円形の半導体基板を使ってこの手
法を用いるとアドレスに空き番号が生じるが,制御装置
200からアドレス信号を送るときに空き番号を飛ばす
ようにすれば,処理時間を増大させずに済むことは言う
までもない6また,各ニューロン100内のデコーダ1
07についても,各ニューロン100内に設けずにニュ
ーロン群150毎にまとめて設ければ,各ニューロン1
00を全て同一の回路にできるため設計が容易になる。 ところで,接続するニューロンの数が多くなると,第1
図に示した各ニューロン100内のメモリ101に記憶
すべき重み値の個数も増大し,容量の大きなメモリが必
要になる.第7図は,このメモリ101の容量を節滅す
る一実施例を示したものである.この回路は,重み値の
中で絶対値の大きなものから順に所定の数だけを相手の
アドレスと対にして記憶し,その他の重み値は0とみな
すことによって記憶容量を節減しようとするものである
.第7図において,111,112はメモリセルアレイ
,113はポインタ,114は比較器,115はセレク
タである.メモリセルアレイのうち,111は相手のア
ドレスを記憶する部分,112は重み値を記憶する部分
であり,相手のアドレスと重み値を対にしてメモリセル
アレイの各行に記憶させておく.このとき,各行に記憶
させる順序は,アドレスが昇順に並ぶようにする.また
,前述のように,制御装置200からバス302を介し
て各ニューロンに送出するアドレス信号についても昇順
に送るようにする.そして,ポインタ113は,最初は
メモリセルアレイ111,112の第1行を指すように
セットする。 すると,第1行に記憶されている内容が読み出され,そ
のアドレス情報が比較器114の一端122に,重み値
情報がセレクタ115の一端124にそれぞれ加えられ
る。この時に比較器114に加えられているアドレス情
報は,メモリセルアレイ111の中に記憶されているア
ドレス情報のうち最も小さい数である。一方,制御装置
200からアドレスバス302を介して送られてきたア
ドレス信号は,比較器114の他端に加えられる。そし
て,アドレス信号は昇順に送られてくるため,比較器1
14に加えられる信号122が最初に一致するまでの間
はアドレス信号の方が小さい数であり,従ってメモリセ
ルアレイ111の中に存在しない数である.この時には
比較器114の出力123は口・一レベルとなって,セ
レクタ115の出力端子126には他端125に加えら
れた数値It O ##が出力される。そして,このセ
レクタ115の出力がその時にアドレス信号302が指
す相手に対する重み値である。この場合は,メモリセル
アレイ111の中に記憶されていない相手,すなわち重
み値の絶対値が小さい場合であり,その重み値は0とみ
なされる。また,比較器114の出力123がローレベ
ルの間はAND回路116の出力127も常にローレベ
ルであり,ポインタ113は同じ行を指したままである
.ところが,122の端子に加えられたアドレス情報と
アドレスバス302を介して送られてきたアドレス信号
が一致すると,比較器114の出力123がハイレベル
となって124の端子に加えられた重み値情報がセレク
タ115の出力端子126に現われる。これは,その時
のアドレス信号が指す相手に対する重み値である.そし
て,バス303を介して送られてくるクロック信号に同
期してポインタ113は次の行を指す。すると,今度は
,その行に記憶されたアドレス情報と,アドレスバス3
02を斤して送られるアドレス信号とが一致するまで,
セレクタ115はIt O I+を出力し続け,以下同
様の動作を繰り返す。そして,バス304を介してサイ
クル信号が送られてくると,ポインタ113は再び第1
行に戻る。以上述べたように,第7図の回路は,メモリ
セルアレイ112に記憶された絶対値の大きな重み値は
正確に読み出し,その他の重み値はOとみなすように動
作する。また,以上述べたようにこのメモリは必ず昇順
に読み出されるため,アドレス信号が送られてくると当
該情報が有るか否かを瞬時に判断することができ,よっ
てアクセス時間を増大させること無く読み出すことがで
きる. 第8図は,第1図中に示したニューロン100の構成に
ついて,その一実施例を更に詳しく示したものである。 第8図において,重み値を記憶するメモリ101,乗算
器102,加算器103,ラッチ回路104,ラッチ回
路1o5,トライステートバソファ106,デコーダ1
07および第1階暦のバス301〜305の動作は第1
図で説明した通りである。シフタ807およびセレクタ
803は,動作を安定化させるための回路である。 また,デコーダ8o1,セレクタ802,トライステー
トバソファ804,ラッチ回路805,セレクタ806
,808,バス831〜838は,本発明のニューラル
ネットワークに自己学習させるためのものである。 シフタ回路807は,ラッチ回路104の出力値を17
2倍,または1/4倍,または178倍,・・・とシフ
トさせるように構成する。セレクタ803は通常は乗算
器102の出力を加算器103に伝えるが,サイクル信
号(バス304)が入った時にはシフタ回路807の出
力を伝えるようにしておく。また,セレクタ803がシ
フタ回路807の出力を伝える時には,加算器103が
減算の動作をするように構成する.セレクタ808は,
自己学習時以外はラッチ回路104の出力を加算器10
3に加える。すると,通常は加算rI1 0 3とラッ
チ回路104は前述の累積加算の動作を行゛なうが,サ
イクル信号が入ると,ラッチ回路104の出力がラッチ
回路105に取り込まれると共に1/2倍,または3/
4倍,または778倍,・・・されてラッチ回路104
の入力側に加えられる.これがクロック信号(バス30
3)に同期してラッチ回路104に取り込まれ,新たな
累積加算が始まる。この場合には前のサイクルで計算さ
れた値と現サイクルで計算されるべき値の加重平均を計
算することになり,計算結果が収束する迄に時間がかか
るが振動はしにくくなる。 自己学習の動作は以下のようにして行なう。なお,自己
学習のアノレゴリズムには,パックブロパゲーション(
この方式の数学的な根拠は,例えば口経エレクトロニク
ス誌1987年8月10日号115頁〜の記事に詳述さ
れている)を使うものとする.先ず最初は,累積加算の
動作を繰り返して各ニューロンの出力値を求め,ラッチ
回路105に記憶する.次に,出力層に属するニューロ
ンのアドレスをアドレスバス302を介して制御装置2
00から順次送り出し,ラッチ回路105の内容を制御
装12200側に読み込んで期待される出力値との差(
以下,この値をδ値と称する)を求め,バス833を介
してそのニューロンのラッチ回路805に書き込む。出
力層に属さないニューロンについては,アドレスバス3
02上の信号をδ値を求めたいニューロンのアドレスに
固定し,そのニューロンに対する各ニューロンの重み値
と各ニューロンのδ値の積の累積加算によって求める。 その重み値は各ニューロン内のメモリ101から,δ値
は各ニューロン内のラッチ回路805から,それぞれセ
レクタ802,806を介して各ニューロン内の乗算器
102に加える.これによって先ず積が求まる。次に,
バス831を介して制御装1i200から各ニューロン
のアドレスを順次送出し,今の積をバス832を介して
制御装百200に読み込む。これを制御装置200内で
累積加算してδ値を求め,目的とするニューロンのラッ
チ回路805に書き込む。 そして全てのニューロンのδ値が求まったら,837の
バスを介して送られた適当な係数とラッチ回路805に
記憶されたδ値の積を乗算器102によって求め,加算
器103の一端に加える。そして,アドレスバス302
を介して加えるアドレス信号を一巡させながら,メモリ
101に記憶された重み値と加算器103の一端に加え
られている値とを加算した結果を新たな重み値として更
新する。これを繰り返すことにより,自己学習が行なわ
れる。 なお,学習については別の計算機上で行なって,その結
果得られた重み値を直接メモリ101に書き込み,通常
の動作のみを本発明のニューラルネットワーク上で行な
うような使い方も可能であるのは言うまでもない。
以上述べたように,本発明によればニューロンの個数を
増やしてもハードウエアの量が飛躍的には増大しないニ
ューラルネットワークを実現することができる。
増やしてもハードウエアの量が飛躍的には増大しないニ
ューラルネットワークを実現することができる。
第1図は本発明の一実施例を示す構成図,第2図はその
動作を説明するためのタイミング図,第3図は本発明の
他の実施例の1部分を示す構成図,第4図はその全体を
示す構成図,第5図はその動作を説明するためのタイミ
ング図,第6図〜第8図はそれぞれ本発明の更に他の実
施例の1部分を示す構成図である。 符号の説明 100・・・ニューロン,101・・・重み値を記憶す
るためのメモリ,1o2・・・シナプスを構成する乗算
器,200・・・制御装置,301〜305・・・第1
階JIのバス,311〜315・・・第2階層のバス,
321〜325・・・第3階層のバスである。 第1図 第2図 第3図 二二:旦冫群ニュ因 法Ω映 椋N蔽ミ 転一鉄 メ±ljfll
動作を説明するためのタイミング図,第3図は本発明の
他の実施例の1部分を示す構成図,第4図はその全体を
示す構成図,第5図はその動作を説明するためのタイミ
ング図,第6図〜第8図はそれぞれ本発明の更に他の実
施例の1部分を示す構成図である。 符号の説明 100・・・ニューロン,101・・・重み値を記憶す
るためのメモリ,1o2・・・シナプスを構成する乗算
器,200・・・制御装置,301〜305・・・第1
階JIのバス,311〜315・・・第2階層のバス,
321〜325・・・第3階層のバスである。 第1図 第2図 第3図 二二:旦冫群ニュ因 法Ω映 椋N蔽ミ 転一鉄 メ±ljfll
Claims (1)
- 【特許請求の範囲】 1、複数の機能ブロック(以下、ニューロンと称する)
を備え、各ニューロンと他のニューロンとの間には個々
に定められた係数(以下、重み値と称する)が存在し、
各ニューロンの出力値は他のニューロンの出力値と重み
値の積の総和に応じて決まるように構成された情報処理
装置において、上記複数のニューロンの内から1個を特
定するためのアドレス信号と、該アドレス信号を伝達す
るためのアドレスバスと、上記各ニューロンの出力信号
を伝達するための出力バスとを設け、上記ニューロンは
上記アドレス信号によって特定された時にのみ上記出力
バスに出力信号を送り出すように構成したことを特徴と
する情報処理装置。 2、複数のニューロンを備え、各ニューロンと他のニュ
ーロンとの間には個々に定められた重み値が存在し、各
ニューロンの出力値は他のニューロンの出力値と重み値
の積の総和に応じて決まるように構成された情報処理装
置において、上記複数のニューロンは複数の群に分けら
れ、各群に設けられ該群に属するニューロンと接続され
る第1階層のバスと、複数の群に共通に設けられ該複数
の群の第1階層のバスと接続される第2階層のバスとを
設けたことを特徴とする情報処理装置。 3、上記第2階層のバスは、上記第1階層のバスより幅
の広い導体で配線されたことを特徴とする請求項2の情
報処理装置。 4、クロック信号が設けられ、上記第1階層のバスと上
記第2階層のバスの間の信号伝達は上記クロック信号に
同期して行われることを特徴とする請求項2、または3
の情報処理装置。 5、同一形状の複数の半導体集積回路が同一の半導体基
板上に設けられ、上記複数の半導体集積回路に接続され
る共通のバスが設けられた情報処理装置において、上記
共通のバスは、上記複数の半導体集積回路内の信号配線
より幅の広い導体で配線されたことを特徴とする情報処
理装置。 6、同一形状の複数の半導体集積回路が同一の半導体基
板上に設けられ、上記複数の半導体集積回路に接続され
る共通のバスが設けられた情報処理装置において、クロ
ック信号が設けられ、上記共通のバスと上記複数の半導
体集積回路内の信号配線の間の信号伝達は上記クロック
信号に同期して行なわれることを特徴とする情報処理装
置。 7、同一形状の複数の半導体集積回路が同一の半導体基
板上に設けられ、上記複数の半導体集積回路に接続され
る共通のバスが複数組設けられた情報処理装置において
、上記複数組のバスの内の少なくとも1組は上記複数の
半導体集積回路内の対応する位置にある信号同士をその
まま接続し、上記複数組のバスの内の他の少なくとも1
組は上記複数の半導体集積回路内の対応する位置にある
信号同士をシフトさせながら接続することを特徴とする
情報処理装置。 8、上記シフトさせながら接続するバスは、上記複数の
半導体集積回路の中から特定のものを選択するために設
けた信号を伝達することを特徴とする請求項7の情報処
理装置。 9、複数のニューロンを備え、各ニューロンと他のニュ
ーロンとの間には個々に定められた重み値が存在し、各
ニューロンの出力値は他のニューロンの出力値と重み値
の積の総和に応じて決まるように構成された情報処理装
置において、上記重み値は信号を受ける側のニューロン
内に設けた半導体記憶装置に記憶させたことを特徴とす
る情報処理装置。 10、複数のニューロンを備え、各ニューロンと他のニ
ューロンとの間には個々に定められた重み値が存在し、
各ニューロンの出力値は他のニューロンの出力値と重み
値の積の総和に応じて決まるように構成された情報処理
装置において、上記重み値は、信号を受ける側において
絶対値の大きな方から所定の個数だけを記憶させること
を特徴とする情報処理装置。 11、上記重み値をアクセスされる順に並べて記憶させ
ることを特徴とする請求項9、または10の情報処理装
置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1056458A JP2804069B2 (ja) | 1989-03-10 | 1989-03-10 | 情報処理装置 |
| DE69032680T DE69032680T2 (de) | 1989-01-06 | 1990-01-04 | Neuronaler Rechner |
| US07/461,080 US5165010A (en) | 1989-01-06 | 1990-01-04 | Information processing system |
| EP90100171A EP0378115B1 (en) | 1989-01-06 | 1990-01-04 | Neural computer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1056458A JP2804069B2 (ja) | 1989-03-10 | 1989-03-10 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02236658A true JPH02236658A (ja) | 1990-09-19 |
| JP2804069B2 JP2804069B2 (ja) | 1998-09-24 |
Family
ID=13027659
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1056458A Expired - Lifetime JP2804069B2 (ja) | 1989-01-06 | 1989-03-10 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2804069B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5621862A (en) * | 1993-07-29 | 1997-04-15 | Matsushita Electric Industrial Co., Ltd. | Information processing apparatus for implementing neural network |
| JP2001188767A (ja) * | 1999-12-28 | 2001-07-10 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置及びニューラルネットワークの演算方法 |
| JP2003512683A (ja) * | 1999-10-15 | 2003-04-02 | ザ・ビクトリア・ユニバーシテイ・オブ・マンチエスター | ニューラルネットワーク素子 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63266700A (ja) * | 1987-04-24 | 1988-11-02 | Hitachi Ltd | ウエハ大半導体集積回路装置 |
-
1989
- 1989-03-10 JP JP1056458A patent/JP2804069B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63266700A (ja) * | 1987-04-24 | 1988-11-02 | Hitachi Ltd | ウエハ大半導体集積回路装置 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5621862A (en) * | 1993-07-29 | 1997-04-15 | Matsushita Electric Industrial Co., Ltd. | Information processing apparatus for implementing neural network |
| JP2003512683A (ja) * | 1999-10-15 | 2003-04-02 | ザ・ビクトリア・ユニバーシテイ・オブ・マンチエスター | ニューラルネットワーク素子 |
| JP2001188767A (ja) * | 1999-12-28 | 2001-07-10 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置及びニューラルネットワークの演算方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2804069B2 (ja) | 1998-09-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6654730B1 (en) | Neural network arithmetic apparatus and neutral network operation method | |
| US4672536A (en) | Arbitration method and device for allocating a shared resource in a data processing system | |
| KR950008840B1 (ko) | 뉴로 칩(neuro chip) | |
| US5165010A (en) | Information processing system | |
| EP0080626B1 (en) | Memory module selection and reconfiguration apparatus in a data processing system | |
| EP0248906A1 (en) | Multi-port memory system | |
| EP0256661A2 (en) | Array processor | |
| US11635942B2 (en) | Processing-in-memory (PIM) devices and methods of testing the PIM devices | |
| JPH064507A (ja) | ニューラルネット | |
| KR900008395A (ko) | 데이터 셀 장치 및 그 장치를 이용한 신경 네트워크 시스템 | |
| CN114626517B (zh) | 一种存储双层权重数据的脉动阵列 | |
| JPH05108595A (ja) | ニユーラルネツトワークの分散学習装置 | |
| JPH05282272A (ja) | ニューラルネットワーク並列分散処理装置 | |
| JP2552784B2 (ja) | 並列データ処理制御方式 | |
| JPH02236658A (ja) | 情報処理装置 | |
| CN109670581A (zh) | 一种计算装置及板卡 | |
| US5420982A (en) | Hyper-cube network control system having different connection patterns corresponding to phase signals for interconnecting inter-node links and between input/output links | |
| CN113887697A (zh) | 半导体器件、其数据生成方法及其控制方法 | |
| US4685128A (en) | Method and network for transmitting addressed signal samples from any network input to an addressed network output | |
| US7516059B2 (en) | Logical simulation device | |
| JP4049957B2 (ja) | マルチプロセッサシステム | |
| JP2765903B2 (ja) | 情報処理装置 | |
| JP2729987B2 (ja) | ネットワーク構成データ処理装置の重み保持方式 | |
| JP2002368097A (ja) | 半導体集積回路のレイアウト設計における配線方法、半導体集積回路及び機能マクロ | |
| CN121880262A (zh) | 面向细粒度结构化稀疏的存内计算矩阵乘法加速系统 |