JPH07101415B2 - 情報処理装置及びその学習方法 - Google Patents

情報処理装置及びその学習方法

Info

Publication number
JPH07101415B2
JPH07101415B2 JP2284235A JP28423590A JPH07101415B2 JP H07101415 B2 JPH07101415 B2 JP H07101415B2 JP 2284235 A JP2284235 A JP 2284235A JP 28423590 A JP28423590 A JP 28423590A JP H07101415 B2 JPH07101415 B2 JP H07101415B2
Authority
JP
Japan
Prior art keywords
output
value
layer
input
functional block
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 - Lifetime
Application number
JP2284235A
Other languages
English (en)
Other versions
JPH03206549A (ja
Inventor
光男 浅井
昇 益田
守利 安永
正義 柳生
稔 山田
克成 柴田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPH03206549A publication Critical patent/JPH03206549A/ja
Publication of JPH07101415B2 publication Critical patent/JPH07101415B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Feedback Control In General (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、音声認識、画像処理、制御などに利用するニ
ューラルネットを高速に学習することができる情報処理
装置に関する。特に、ウェハスケール集積回路(WSI)
上に構成するのに好都合で、高速な学習機能付きの大規
模なニューラルネットをコンパクトでかつ低価格で提供
する情報処理装置に及びその学習方法に関する。
[従来の技術] ニューラルネットは認識、知識処理などの情報処理に応
用されている。ニューラルネットは入力と期待する出力
値を与えれば、学習により自己組織化が可能である。そ
のため、プログラムを必要とせず、その応用が期待され
ている。
学習アルゴリズムの1つに、ランメルハート(Rumelhar
t)らによるパラレル ディストリビューティド プロ
セスィング(Rarallel Distribed Processing)第8章3
18〜362頁及び日経エレクトロニクス1987.8.10(No.42
7)115〜121ページに紹介されている。“バックプロパ
ゲーションが知られている。以下に、このバックプロバ
ゲーションを説明する。
第2図にニューラルネットを構成するニューロンのモデ
ルを示す。ニューロンは他のニューロンから入力xiを入
力する。そして、それぞれの入力xiに対し重み値wji
重み付けを行い、その総和である内部エネルギー(内
積)ujを計算する。この値を例えばシグモイド関数fに
よって変換し、出力xjを出力する。ここで、重みw
jiは、ニューロンjにおいて、入力するニューロンiに
対する重み値である。
wj=f(uj) (1) uj=Σiwji・xi (2) 複数のニューロンを結合することによって、ニューラル
ネットを構成できる。そして、重み値wjiを変えること
によって、いろいろな情報処理を行うことが可能であ
る。
第3図に階層型ニューラルネットを示す。本図は、入力
層、中間層、出力層の3階層から構成されているが、中
間層を複数とする構成にしてもよい。入力に対し、情報
処理を行なって出力する順方向に動作するモードと、与
えた入力に対して期待する出力値を外部から与え、出力
層側から入力層側へ向かって、重み値wjiを修正してい
く逆方向に動作するモードを持つ。そのときの重み値w
jiの修正値Δwjiをニューロンjでは Δwji n+1=ηδjxi+αΔwji n (3) とする。ここで、nは学習の回数、α、ηは定数であ
る。また、関数δを以下のように決定する。
出力層のニューロンkでは、期待する出力値をtkとする
と、 δ=(tk−xk)f′(uk) (4) とし、中間層のニューロンjでは、 δ=f′(uj)Σδkwji (5) と決める。ここで、関数f′は関数fの導関数である。
以上のように修正値Δwを決定し、重み値wを修正して
いく。そして、出力層の出力が期待するものとなるま
で、以上の学習を繰り返す。
一般に、ニューラルネットの解明及びその応用の研究で
は、遂次型計算機上でソフトウェアによるシミュレーシ
ョンによって行っている。しかし、非常に多くの、例え
ば数千あるいは数万個のニューロンで構成する大規模な
ニューラルネットの学習を行うには、膨大な計算時間が
必要なる。また一般に、学習には非常に多くの反復を必
要とする場合が多い。そのため、大規模なニューラルネ
ットの能力はよくわかっていないのが現状である。
一方、専用のハードウェアによってニューラルネットを
高速に計算させる試みがある。その一つである、“完全
ディジタルニューロWSIの基本設計”、1989年電子情報
通信学会 春季全国大会講演論文集7冊分SD−1−5,29
1〜292ページで発表された方式を第4図に示す。ここで
WSIとは、ウェハスケール インテグレーション(Wafer
Scale Integration)のことである。
第4図において、201はニューロン計算ユニット、210は
バスである。各ニューロン計算ユニット201はバスによ
って結合している。各ニューロン計算ユニット201のう
ち一つが選択され、その出力値をバス210へ、次々と出
力する。各ニューロン計算ユニット201は、出力してい
るニューロンに対する重み値をメモリに保持しており、
バス210から遂次入力する値に、それに対する重み値を
メモリから読みだして重み付けし、その積を累積加算す
る。バス210へ出力するときは、その値を(1)式のシ
グモイド関数によって変換して出力する。重み付け回路
は時分割に動作させる。各ニューロン計算ユニット201
が一通りバス210へ出力すれば、すべてが(2)式の計
算を行うことができる。以下、時分割バス結合方式と呼
ぶ。
以上の動作を行うことによって、(1)(2)式のニュ
ーロンモデルを高速に演算することができる。もう1つ
の特徴は、第4図をWSI上で実現することである。時分
割バス結合方式によれば、重み付け回路を時分割に使用
して、1つのニューロン計算ユニット201の面積を大幅
に低減することができる。このように、1計算ユニット
の面倒をできる限り小さくし、1計算ユニットあたり歩
留まりを向上させ、欠陥によって動作不能となるニュー
ロン計算ユニット201の割合を低下させることで、WSI化
に成功している。WSI化することにより、以前に比して
大規模なニューラルネットを高速にかつコンパクトに実
現することが可能となる。
ニューロン間が完全結合しているニューラルネットで
は、ニューロン数をNとすると、1回の(1)式、
(2)式の計算を行うのに必要な重み付けの回数は約N2
個となる。時分割バス結合方式では、N個の重み付け回
路が同時に動作するため、計算時間はO(N)となり、
高速に大規模なニューラルネットを計算することができ
る。
[発明が解決しようとする問題点] 従来の技術で述べた時分割バス結合方式において、前述
のバックプロパゲーションを行おうとした場合、逆方向
の(3)〜(5)式の計算では、関数δを計算するの
に、ニューロンの出力先における重み値が必要である。
例えば、中間層のニューロンjのδを計算するには、
出力層のニューロンkにおけるニューロンjに対する重
み値wkjが必要である。しかし、前述のようにニューロ
ンjを計算する計算ユニット201は、入力層のニューロ
ンiに対する重み値wjiしか、保持していない。そのた
め、(5)式を並列に計算することができず、δkwkj
1個ずつ遂次に計算することになる。そのため、順方向
を行うのに要する時間はO(N)となるにもかかわら
ず、逆方向の計算に要する時間がO(N2)となり、学習
を高速に行えない問題がある。
本発明の目的は、高速学習可能なニューラルネットによ
り構成される情報処理装置を実現することであり、特に
時分割バス結合方式とバックプロパゲーションを組み合
わせた情報処理装置及びその学習方法を実現することに
ある。
本発明の他の目的は、以下の詳細な説明から明らかにな
るであろう。
[問題点を解決するための手段] 本発明は、順方向の計算を行う第1のネットワークと逆
方向のδの計算を行う第2のネットワークと相互の通信
を行なう手段とを設ける。
また、各ネットワークには、それぞれの計算を並列に行
うのに都合が良いように重み値を保持する。そのため、
同一の重み値が2重に保持されることになるが、その修
正はそれぞれのネットワークで行い、修正した結果は同
じ値となる。
[作用」 本発明は、バックプロパゲーション学習アルゴリズムの
ような、順方向と逆方向の計算を行うニューラルネット
の学習を高速に行う専用計算機に好適である。本発明で
は、(1)(2)式の計算を順方向ネットワークで、
(4)(5)式の計算を逆方向ネットワークで行なう。
各ニューロン間の重み値は、2つのネットワークで同一
の値で保持されている。また、(3)式の修正値を計算
するために必要な値は、それぞれのネットワークで計算
された値のどちらも必要である。本発明では、2つのネ
ットワーク間に通信手段を設けることによって、それぞ
れの各ネットワークを構成するユニットが重み値を修正
するのに必要な値を得ることができ、それぞれが重み値
を同一の値に修正することを可能としている。順方向ネ
ットワークでは、(1)(2)式を並列に計算するのに
好都合に構成し、逆方向ネットワークでは(4)(5)
式を並列に計算するのに好都合に構成している。また、
(3)式の計算も各ネットワークの各ユニットにおい
て、並列に計算する。そのため、本発明を用いれば、前
述の学習をO(N)の計算時間で実行できる。
また、順方向と逆方向の計算をそれぞれ別のネットワー
クにおいて計算するため、各計算ユニットを小面積で実
現できる。そのため、WSI化した場合、1つの計算ユニ
ットあたりの歩留まりを高くすることができる。
また、順方向の計算を行う計算ユニットと逆方向の計算
を行う計算ユニットは同一の回路構成とすることも可能
で、設計工数を低減することができる。そのときは、ど
ちらの計算ユニットとして動作するかは、制御信号によ
って決めることになる。そのため、WSI化した場合も、
一種類のWSIを設計し、製作すれば良いので、低価格化
できる。また、複数のWSIを容易し、それらを接続すれ
ば、より大規模なニューラルネットを簡単に構成するこ
とができる。
[実施例] 以下に、実施例を用いて本発明の詳細を説明する。
第1図は本発明の一実施例を示す図である。図におい
て、120F,121F,120B,121Bは計算ユニットで、123,124は
制御回路である。各計算ユニットは制御回路123あるい
は制御回路124と接続されている。130は制御信号発生回
路で、制御信号142〜145に制御信号を出力する。各制御
回路123,124は制御信号線142から制御信号を入力する。
140は出力バスである。128はバッファで、各計算ユニッ
トの出力値を出力バス140に出力するか、出力バス140か
ら分離するか、制御回路123,124によって制御する。131
は関数変換回路で、出力バス140から入力する値に対し
て(1)式のシグモイド関数fで変換を行い出力する。
132は関数変換回路で、出力バス140から入力する値に対
して、シグモイド関数fの導関数f′に従って変換し、
出力する。125はセレクタで、制御信号線145の制御信号
によって、出力バス140または関数変換回路131の出力ま
たは関数変換回路132の出力のうち1つを出力する。160
は乗算器で、セレクタ125の出力に対し、定数ηを掛け
て、出力する。127はセレクタで、制御信号線144の制御
信号によって、セレクタ125の出力または乗算器160の出
力を出力する。150は外部入力端子で、141は入力バスで
ある。126はセレクタで、制御信号線143の制御信号によ
って、セレクタ127の出力または外部入力端子150から入
力する信号を入力バス141に出力する。各計算ユニット
は入力バス141と接続し、入力バス141に出力される信号
を入力することができる。また151は外部出力端子で、
入力バス141に出力される値を外出する。
第1図は、(1)〜(5)式の演算を高速に行う本発明
の構成を示すものである。各計算ユニットの詳細につい
ては、第7図、第8図、第9図、を用いて、後に述べ
る。第5図に第1図の構成の動作を詳しく示す。まず、
第5図を用いて、本発明の動作についてニューロンjの
動作を中心に以下に説明する。なお、入力層は単に入力
データを一時的に記憶する層として構成してもよいし、
また第5図に示されるようにニューロモーデルの計算ユ
ニットとして構成してもよい。第5図の各計算ユニット
は第1図の各計算ユニットに対応しており、第1図の計
算ユニット120F,121F,120B,121Bは第5図のそれぞれと
対応している。計算ユニット120F,121Fは順方向の動作
を行う順方向ネットワークを構成しており、計算ユニッ
ト120B,121Bは逆方向の動作を行う逆方向ネットワーク
を構成している。ここで、順方向ネットワークは(1)
(2)式の計算を行うネットワークのことであり、逆方
向ネットワークとは(4)(5)式の計算を行うネット
ワークのことである。また、(3)式は各ネットワーク
において計算する。
順方向ネットワークの中間層の計算ユニットでは、入力
層のニューロンi対する重み値wjiを保持しており、出
力層の計算ユニットでは、中間層のニューロンjに対す
る重み値wkjを保持している。中間層の計算ユニット120
Fは、重み値wjiを保持している。また、逆方向ネットワ
ークの中間層の計算ユニットでは、順方向ネットワーク
における出力層の計算ユニットが中間層のニューロンj
対し持っている重み値wkjを保持しており、逆方向ネッ
トワークの入力層の計算ユニットでは、順方向ネットワ
ークにおける中間層の計算ユニットが入力層のニューロ
ンに対して持っている重み値wjiを保持している。中間
層の計算ユニット120Bは、重み値wkjを保持している。
順方向ネットワークが保持する重み値wji,wkjと、逆方
向ネットワークが保持する重み値wji,wkjは対応してお
り、同じ値である。
順方向ネットワークでは、入力層から中間層、出力層と
各計算ユニットの出力xi,xj,xkが決定していく。計算ユ
ニット120Fは入力層の出力xiを入力し、それに対する重
み値wxjiで重み付けを行い、内部エネルギーujを計算
し、さらに非線形変換を行い、出力値xjを出力する。次
に、順方向ネットワークの出力層の計算ユニットは中間
層の出力xjを入力し、それに対する重み値wkjで重み付
けを行い、内部エネルギーukを計算し、さらに非線形変
換を行い、出力値xkを出力する。順方向ネットワークの
各計算ユニットはそれぞれに対応する逆方向ネットワー
クの計算ユニットへそれぞれの出力値xi,xj,xkを送信す
る。計算ユニット120Fは、計算ユニット120Bへ、その出
力値xjを送信する。次に、順方向ネットワークの中間層
と出力層の各計算ユニットはそれぞれに対応する逆方向
ネットワークの計算ユニットへそれぞれの出力値xj,xk
の部分微分xj′,xk′を送信する。計算ユニット120Fは
出力値xjの微分xj′(=f′(uj))を計算ユニット12
0Bへ出力する。
次に、順方向ネットワークの出力層の出力値xkが期待し
た値tkと異なる場合、重み値を修正する必要がある。そ
の動作を以下に説明する。
逆方向ネットワークの出力層において、(4)式に従
い、δを計算し、逆方向ネットワークの中間層の各計
算ユニットへ出力する。(4)式を計算するのに必要な
xk′は既に入力している。逆方向ネットワークは中間層
の各計算ユニットは、δを入力すると、その値を用い
て(3)式に従い、修正値Δwkjを計算し、重み値wkj
変更する。また、逆方向ネットワークの出力層の各計算
ユニットはそれぞれに対応する順方向ネットワークの出
力層の計算ユニットへそれぞれの出力値δを送信す
る。それにより、順方向ネットワークの出力層の計算ユ
ニットは、(3)式により修正値Δwkjを計算し、重み
値wkjを変更することがきる。
次に、逆方向ネットワークの出力層の各計算ユニットの
出力δを出力し、それを入力する逆方向ネットワーク
の中間層の計算ユニットはδと重み値wkjとの乗算を
行い、(5)式に従って、δを決定し、出力する。
(5)式を計算するのに必要なxj′は計算ユニット120F
から、既に入力している。逆方向ネットワークは入力層
の各計算ユニットは、δを入力すると、その値を用い
て(3)式に従い、の修正値Δwkjを計算し、重み値wkj
を変更する。また、逆方向ネットワークの中間層の各計
算ユニットはそれぞれに対応する順方向ネットワークの
中間層の計算ユニットへそれぞれのδを送信する。順
方向ネットワークの中間層の計算ユニットは、(3)式
により修正値Δwkjを計算し、重み値wkjを変更すること
ができる。
本発明は、以上に述べたように、(1)(2)(4)
(5)式におけるx,x′(=f′(u))をそれを高速
に計算するのに好都合な順方向ネットワークにおいて計
算し、(4)(5)式におけるδをそれを高速に計算す
るのに好都合な逆方向ネットワークにおいて計算する。
そして、(3)式におけるΔwは各ネットワークの各計
算ユニットにおいて、それぞれが保持している重み値w
に対して計算する。順方向のネットワークの計算ユニッ
トでは、修正値Δwを計算するために、δが必要でお
り、逆方向ネットワークの計算ユニットでは、ε及びΔ
Wを計算するためにx,x′が必要である。そのために、
それぞれのネットワークで対応している計算ユニット間
では、データの通信が必要であるが、その通信するデー
タ量はニューロン数に対応しており、それに要する転送
時間はO(N)であり、短時間で行うことができる。
本図では、中間層を1層として説明したが、複数の中間
層から構成されるニューラルネットに対しても、同様に
学習を行うことができる。
次に、第1図を用いて、以上の動作のハードウェア上で
の実現方法について説明する。第6図は、以上の動作の
流れを示す演算フロー図で、順方向ネットワークと逆方
向ネットワークの計算ユニットの演算手順を示してい
る。順方向ネットワークの計算ユニットjは第1図及び
第5図の計算ユニット120Fであり、逆方向ネットワーク
の計算ユニットjは第1図及び第5図の計算ユニット12
0Bである。以下、第6図に従い、第1図を説明する。
各計算ユニットは入力するニューロンに対する重み値を
メモリに保持している。初めに、重み値wの初期値を各
計算ユニットに書き込む。計算ユニット120Fには、入力
層のニューロンiに対する重み値wjiを書き込む。計算
ユニット120Bには、旬方向ネットワークの出力層の計算
ユニットkが保持する中間層のニューロンjに対する重
み値と同じである重み値wjiを書き込む。−動作1 次に、セレクタ126を外部入力端子150側を入力バス141
に出力するように設定し、外部入力端子150から順方向
ネットワークの入力層の各計算ユニットiへ入力値を書
き込む。−動作2 制御信号発生回路130は、セレクタ125を出力バス140を
出力するように設定し、セレクタ127をセレクタ125の出
力を出力するように設定し、セレクタ16をセレクタ127
の出力を出力するように、制御信号線143〜145に制御信
号を出力する。次に、制御信号発生回路130は制御信号
線142に、順方向ネットワークの入力層の計算ユニット
iのアドレスを出力する。制御回路123はアドレスをデ
コードし、もし、アドレスがその計算ユニットのアドレ
スと一致すれば、バッファ128をイネーブル状態し、順
方向ネットワークの入力層の計算ユニットiの出力値xi
を出力バス140に出力する。順方向ネットワークの入力
層の計算ユニットiは入力値を出力するだけである。順
方向ネットワークの中間層の計算ユニットjは入力バス
141から順方向ネットワークの入力層の出力xiを遂次入
力し、それに対する重み値wjiで重み付けを行い、その
積を累積加算していく。制御信号発生回路130が順方向
ネットワークの入力層の計算ユニットiのアドレスをす
べて指定すると中間層の各計算ユニットでは(2)式の
計算を行うことができ、その出力値ujが決定する。
次に、制御信号発生回路130はセレクタ125を関数変換回
路131の出力を出力するように設定した後、順方向ネッ
トワークの中間層の計算ユニットのアドレスを制御信号
線142に出力する。アドレスを指定された計算ユニット
はその出力値ujを出力バス140に出力する。非線形変換
回路131は(1)式の変換を行い、xj(=f(uj))を
出力する。xjは入力バス141によって、順方向ネットワ
ークの出力層の計算ユニットkにブロードキャストされ
る。出力層の計算ユニットkは入力バス141から中間層
の出力xjを遂次入力し、それに対する重み値xkjで重み
付けを行い、その後を累積加算していく。制御信号発生
回路130が順方向ネットワークの中間層の計算ユニット
jのアドレスをすべて指定すると出力層の各計算ユニッ
トkでは(2)式の計算を行うことができ、その出力値
ukが決定する。−動作3 次に、制御信号発生回路130が順方向ネットワークの出
力層の計算ユニットkのアドレスを制御信号線142に出
力する。アドレスを指定された計算ユニットはその出力
値ukを出力バス140に出力する。その後、非線形変換回
路131によってxk(=f(uk))に変換され、セレクタ1
25、セレクタ127、セレクタ126を通って、入力バス141
に出力される。外部出力端子151から、その出力結果を
読むことができる。そして、出力層の出力値xkが期待す
る出力値tkと一致していれば、学習を終了する。一致し
ないときは、以下の動作を行なう。−動作4 制御信号発生回路130は、セレクタ125の出力を出力バス
140側とし、また、セレクタ127の出力を乗算器160側と
するように設定する。セレクタ127を乗算器160側に設定
し、セレクタ126をセレクタ127の出力を出力する。次
に、制御信号発生回路130は制御信号線142に、順方向ネ
ットワークの入力層の計算ユニットiのアドレスを出力
する。アドレスを指定された計算ユニットiの出力xi
セレクタ125を通り、乗算器160に出力され、定数ηを掛
けて、η・xiに変換する。そして、セレクタ127、セレ
クタ126を通り、入力バス141へη・xiを出力する。逆方
向ネットワークの入力層の計算ユニットiはそれに対応
するη・xiが入力バス141へ出力されたとき、その値を
取り込む。次に、制御信号発生回路130は、セレクタ125
の出力を関数変換回路131側とし、また、セレクタ127の
出力を乗算器160側とするように設定する。制御信号発
生回路130は、制御信号142に順方向ネットワークの中間
層の計算ユニットjのアドレスを出力する。アドレスを
指定された計算ユニットjの出力ujは関数変換回路131
によってxjに変換され、セレクタ125を通り、乗算器160
に出力され、定数ηを掛けて、η・xjに変換する。そし
て、セレクタ127、セレクタ126を通り、入力バス141へ
η・xjを出力する。逆方向ネットワークの中間層の計算
ユニットjはそれに対応するη・xjを入力する。例え
ば、計算ユニット120Fの出力値ujは、関数変換回路131
と乗算器160によって、η・xjに変換され、入力バス141
に出力される。そのときに、計算ユニット120Bは、η・
xjを取り込む。−動作5 次に、制御信号発生回路130は、セレクタ125の出力を関
数変換回路132側とし、また、セレクタ127の出力をセレ
クタ125側とするように設定する。制御信号発生回路130
は、制御信号142に順方向ネットワークの中間層の計算
ユニットjと出力層の計算ユニットkのアドレスを出力
する。アドレスを指定された計算ユニットの出力uj,uk
は関数変換回路132によってuj′,uk′に変換し、セレク
タ125、セレクタ127、セレクタ126を通り、入力バス141
へ出力する。逆方向ネットワーク中間層と出力層の計算
ユニットはそれに対応するxj′,xk′を入力することが
できる。例えば、計算ユニット120Fの出力値ujは、関数
変換回路132xj′に変換され、入力バス141に出力され
る。そのときに、計算ユニット120Bは、xj′を取り込
む。−動作6 次の動作では、逆方向ネットワークの出力層の計算ユニ
ットへ期待する出力値tkと先ほどの出力値xkの差(tk
xk)をネットワークの外部からセットする。それは、ホ
ストコンピュータが行ってもよいし、(tk−xk)を計算
する回路を設けてもよい。逆方向ネットワークの出力層
の計算ユニットkは、(4)式のδの計算を行なう。
一動作7 次に、制御信号発生回路130は、出力バス140の出力を乗
算器160によって、η倍し、入力バス141に出力するよう
に、セレクタ125〜127を設定する。そして、逆方向ネッ
トワークの出力層の計算ユニットkのアドレスを制御信
号142へ出力する。アドレスを指定された各計算ユニッ
トの出力δが乗算器160によってη倍され、入力バス1
41にη・δが出力される。このとき、順方向ネットワ
ークの出力層の計算ユニットkは、入力バス141に自分
に対応する逆方向ネットワークの計算ユニットの出力η
・δが出力されれば、内部に取り込む。−動作8 次に、制御信号発生回路130は、出力バス140の値が関数
変換回路131を通り、入力バス141に出力されるように、
セレクタ125〜127を設定した後、順方向ネットワークの
中間層の計算ユニットjのアドレスを制御信号142に出
力する。アドレスを指定された計算ユニットjは既に計
算済みの内部エネルギー値ujを出力する。その結果、入
力バス141には、関数変換された値xjが出力される。順
方向ネットワークの出力層の各計算ユニットでは、入力
する値xjに対する重み値wkjの修正値Δwkjを(3)式に
従って、計算し、重み値wkjを修正する。−動作9 次に、制御信号発生回路130は出力バス140の値がそのま
ま入力バス141に出力されるように、セレクタ125〜127
を設定した後、逆方向ネットワークの出力層の計算ユニ
ットkのアドレスを制御信号142に出力する。アドレス
を指定された計算ユニットは既に計算済みのδを出力
する。その結果、δは出力バス140、セレクタ125、セ
レクタ127、セレクタ126を通り、入力バス141に出力さ
れる。逆方向ネットワークの中間層の各計算ユニットで
は、入力する値δに対する重み値wkjの修正値Δwkj
(3)式に従って、計算し、重み値wkjを修正する。−
動作10 次に、制御信号発生回路130が逆方向ネットワークの出
力層の計算ユニットkのアドレスを指定する。アドレス
設定された計算ユニットは既に計算済みのδを出力す
る。その結果、δは出力バス140、セレクタ125、セレ
クタ127、セレクタ126を通り、入力バス141に出力され
る。逆方向ネットワークの中間層の各計算ユニットで
は、動作10において、修正された重み値wkjを用い、
(5)式に従い、δは計算する。−動作11 次に、制御信号発生回路130は、出力バス140の出力を乗
算器160によって、η倍し、入力バス141に出力するよう
に、セレクタ125〜127を設定する。そして、逆方向ネッ
トワークの中間層の計算ユニットのアドレスを制御信号
142へ出力する。アドレスを指定された各計算ユニット
の出力δが乗算器160によってη倍され、セレクタ12
7、セレクタ126を通り、入力バス141にη・δが出力
される。このとき、順方向ネットワークの中間層の計算
ユニットjは、入力バス141に自分に対応する逆方向ネ
ットワークの計算ユニットjの出力η・δが出力され
れば、内部に取り込む。−動作12 次に、制御信号発生回路130は出力バス140の値が、入力
バス141に出力されるように、セレクタ125〜127を設定
した後、順方向ネットワークの入力層の計算ユニットi
のアドレスを制御信号142に出力する。アドレスを設定
された計算ユニットはxiを出力する。その結果、入力バ
ス141には、xiが出力される。順方向ネットワークの中
間層の各計算ユニットでは、入力する値xiに対する重み
値wjiの修正値Δwkiを(3)式に従って、計算し、重み
値wkjを修正する。−動作13 次に、制御信号発生回路130は出力バス140の値がそのま
ま入力バス14に出力されるように、セレクタ125〜127を
設定した後、逆方向ネットワークの中間層の計算jのア
ドレスを制御信号142に出力する。アドレスを指定され
た計算ユニットは既に計算済みのδを出力する。その
結果、δは出力バス140、セレクタ125、セレクタ12
7、セレクタ126を通り、入力バス141に出力される。逆
方向ネットワークの入力層iの各計算ユニットでは、入
力する値δに対する重み値wjiの修正値Δwjiを(3)
式に従って、計算し、重み値wkjを修正する。−動作14 その後、入力に対し、出力層の出力値xkが期待する値tk
となるまで、以上の学習を繰り返す。
本発明によれば、順方向及び逆方向のx及びδの計算は
各層において並列に動作し、それに要するデータの通信
量もNに比例しているため、O(N)の時間で、高速に
学習することが可能である。
次に、第7図、第8図を用いて、順方向ネットワーク及
び逆方向ネットワークを構成する計算ユニットの詳細に
ついて、説明する。
第7図は順方向ネットワークを構成する計算ユニットを
示す図である。第7図において、501は重み値wji
(3)式におけるαΔwji nを記憶しおく、メモリであ
る。503、504は加算器、502は乗算器である。511,512は
ラッチである。520は(3)式における前回の修正値Δw
ji nをα倍する乗算器である。531〜534はセレクタであ
る。540は入力バス141への接続端子である。550〜557は
制御回路123が出力する制御信号の制御信号線で、それ
ぞれは、セレクタ534、メモリ501,ラッチ511、セレクタ
531、セレクタ533、セレクタ532、ラッチ512、バッファ
128を制御する。541は出力バス140への接続端子であ
る。接続関係を以下に説明する。
ラッチ511は入力バス接続端子540から入力する信号を保
持する。セレクタ531はメモリ501の出力である重み値w
jiとラッチ511の出力を入力している。乗算器502はセレ
クタ531の出力と入力バス接続端子540を入力している。
加算器503は乗算器502の出力とメモリ501の出力である
αΔwji nを入力する。セレクタ532は乗算器502の出力と
加算器503の出力を入力する。加算器504はセレクタ532
の出力とセレクタ533の出力を入力する。ラッチ512は加
算器504の出力を保持する。バッファ128はラッチ512の
出力を入力し、出力バス接続端子541に出力する。セレ
クタ533はラッチ512の出力とメモリ501の出力である重
み値wjiを入力する。乗算器520は加算器503の出力を入
力する。セレクタ534は入力バス接続端子540から入力す
る信号と加算器504の出力を入力する。メモリ501はセレ
クタ534の出力を重み値wji側、乗算器520の出力をαΔw
ji n側書き込みデータとして入力する。また、メモリ501
はアクセス時のアドレスを制御回路123から入力する。
動作1の重み値wjiの初期値を書き込むときは、入力バ
ス接続端子540に初期値を与え、セレクタ534の出力を入
力バス接続端子540側とすれば、メモリ501に書き込むこ
とができる。
(2)式の計算を行なうときは、以下のように行なう。
セレクタ531の出力をメモリ501の重み値wji出力側とす
る。入力バス接続端子540に入力する入力値xiを入力す
る。乗算器502によって、積wjixiを行なう。セレクタ53
2は乗算器502側を出力する。セレクタ533はラッチ512側
を出力する。加算器504はそれまで累積加算結果である
ラッチ512の出力と積wjixiを加算し、ラッチ512に書き
込む。以上の動作を次々と、入力バス接続端子540に入
力する入力値xiに対して重み値wjiを変えて行なえば、
(2)式を計算することができる。
逆方向ネットワークから入力するηδは入力バス接続
端子540から入力してラッチ511に書き込む。
(3)式の計算を行なうときは、以下のように行なう。
セレクタ531はラッチ511側を出力する。入力バス接続端
子540に入力する入力値xiを入力する。乗算器502によっ
て、ηδjxiを計算する。加算器503によって、メモリ50
1の出力αΔwji nと乗算器502の出力ηδjxiの加算を行
ない、修正値Δwji n ) 1を計算する。セレクタ532は加算
器503側を出力する。セレクタ533はメモリ501の重み値w
ji出力側を出力する。加算器504はセレクタ533の出力の
前回の重みwji nとセレクタ532の出力Δwji n ) 1を加算
し、修正した重み値wji n ) 1を出力する。セレクタ534は
加算器504側を出力する。また、加算器503の出力Δwji n
) 1は乗算器520によってα倍する。そして、メモリ501に
セレクタ534の出力の修正した重み値wji n ) 1と乗算器520
の出力αΔwji n ) 1を書き込む。以上の動作を次々と、入
力バス接続端子540に入力する入力値xiに対して行なえ
ば、すべての重み値wji n ) 1を修正することができる。
第8図は逆方向ネットワークを構成する計算ユニットを
示す図である。第8図において、601は重みwkj(3)式
におけるαΔwkj nを記憶しておく、メモリである。60
3、604は加算器、602は乗算器である。611〜615はラッ
チである。620は(3)式における前回の修正値Δwkj n
をα倍する乗算器である。631〜634,636はセレクタであ
る。640は入力バス接続端子である。650〜659、661、66
2は制御回路124が出力する制御信号の制御信号線で、そ
れぞれは、セレクタ636、ラッチ613、ラッチ613、ラッ
チ612、ラッチ611、メモリ601、セレクタ631、セレクタ
632、セレクタ634、セレクタ633、ラッチ614、ラッチ61
5、バッファ128を制御する。641は出力バス接続端子で
ある。接続関係を以下に説明する。ラッチ611〜613は入
力バス接続端子640から入力する信号を入力する。セレ
クタ631はメモリ601の重み値wkj出力とラッチ611の出力
とラッチ612の出力を入力している。セレクタ632は入力
バス接続端子640から入力する信号とラッチ613の出力と
ラッチ614の出力を入力する。乗算器602はセレクタ631
の出力とセレクタ632の出力を入力する。加算器603はメ
モリ601のαΔwkj n出力と乗算器602の出力を入力する。
セレクタ633は加算器603の出力と乗算器602の出力を入
力する。加算器604はセレクタ634の出力とセレクタ633
の出力を入力する。ラッチ614は加算器604の出力を入力
する。セレクタ634はラッチ614の出力とメモリ601の重
み値wkj出力を入力している。乗算器620は加算器603の
入力する。セレクタ636は入力バス接続端子640から入力
する信号と加算器604の出力を入力する。メモリ601はセ
レクタ636の出力を重み値wkj側、乗算器620の出力をα
Δwkj n側書き込みデータとして入力する。また、メモリ
601はアクセス時のアドレスを制御回路124から入力す
る。ラッチ615は乗算器602の出力を入力する。バッファ
128はラッチ615の出力を入力し、出力バス接続端子641
に出力する。
重み値wkjの初期値を書き込むときは、入力バス接続端
子640に初期値を与え、セレクタ636の出力を入力バス接
続端子640側とすれば、書き込むことができる。
逆方向ネットワークから入力するηxjは入力バス接続端
子640から入力してラッチ611に巻き込む。xj′(=f′
(uj))も入力バス接続端子640から入力してラッチ612
に書き込む。
また、出力層の計算ユニットとして動作させるときに必
要な出力値と期待する出力値の差(tk−xk)は入力バス
接続端子640から入力してラッチ613に書き込む。出力層
の計算ユニットでは、δを計算するのに以下の動作を
行なう。
セレクタ631はラッチ612側を出力する。セレクタ632は
ラッチ613側を出力する。乗算器602ではラッチ612の出
力値xk′(=f′(uk))とラッチ613の出力値(tk−x
k)の乗算を行ない、(4)式のδを出力する。ラッ
チ615は乗算器602の出力δを取り込み、バッファ128
へ出力する。出力バス接続端子641には、δが出力さ
れる。
出力層の計算ユニットでは、(5)式のδを計算する
のに以下の動作を行なう。
セレクタ631はメモリ601の重み値wkj側を出力する。セ
レクタ632は入力バス接続端子640側を出力する。入力バ
ス接続端子640に出力層の出力δを入力する。乗算器6
02によって積δkwkjを出力する。セレクタ633は乗算器6
02側を出力する。セレクタ634はラッチ614側を出力す
る。加算器604はそれまでの累積加算効果であるラッチ6
14の出力と積δkwkjを加算し、ラッチ614に書き込む。
以上の動作を次々と、入力バス接続端子640に入力する
値δに対して行なえば、(2)式のΣδkwkjを計算す
ることができる。次にセレクタ631はラッチ612側を出力
する。セレクタ632はラッチ614側を出力する。乗算器60
2はラッチ612の出力xj′(=f′(uj))とラッチ614
の出力Σδkwkjの乗算を行ない、δを出力する。ラッ
チ615は乗算器602の出力δを取り込み、バッファ128
へ出力する。出力バス接続端子641には、δが出力さ
れる。
(3)式の計算を行なうときは、逆方向ネットワークの
中間層では以下のように行なう。セレクタ631はラッチ6
11側を出力する。入力バス接続端子640に入力する入力
値δを入力する。乗算器602によって、ηxjδを計
算する。加算器603によって、メモリ601の出力αΔwkj n
と乗算器602の出力ηxjδの加算を行ない、修正値Δw
ji n ) 1を計算する。セレクタ633は加算器603側を出力す
る。セレクタ634はメモリ601の重み値wkj出力側を出力
する。加算器604はセレクタ634の出力の前回の重み値w
kj nとセレクタ633の出力wji n ) 1を加算し、修正した重み
値wji n ) 1を出力する。セレクタ636は加算器604側を出力
する。また、加算器603の出力Δwji n ) 1は乗算器620によ
ってα倍する。そして、メモリ601にセレクタ626の出力
の修正した重み値wkj n ) 1と乗算器620の出力αΔwkj n ) 1
を書き込む。以上の動作を次々と、入力バス接続端子64
0に入力する入力値δに対して行なえば、すべての重
み値wkj n ) 1を修正することができる。逆方向ネットワー
クの入力層においても、同様に重み値wjiを修正するこ
とができる。
以上のように、本発明は、順方向ネットワークの出力層
の計算ユニットと逆方向ネットワークの中間層の計算ユ
ニットは同じ重み値wkj nを持つが、その修正はその重み
値を持つ計算ユニットがそれぞれで行なう。修正を行な
った重み値wkj n ) 1は同じ値となる。同様に、順方向ネッ
トワークの中間層の計算ユニットと逆方向ネットワーク
の入力層の計算ユニットは同じ重み値wji nを持つが、そ
の修正はその重みを持つ計算ユニットがそれぞれが行な
う。修正を行なった重み値wji n ) 1は同じ値となる。
次に第9図を説明する。第9図は第8図の計算ユニット
にセレクタ635とそれを制御する制御線660を加えたもの
である。122は制御回路である。セレクタ635はラッチ61
4の出力と乗算器602の出力を入力する。ラッチ615はセ
レクタ635の出力を入力する。その他は第8図と同じで
ある。セレクタ635の出力を乗算器602側とすれば、第7
図と同様の動作が可能であり、逆方向ネットワークの計
算ユニットとすることができる。また、セレクタ635の
出力をラッチ614側と設定し、第7図における、ラッチ5
11、セレクタ531、乗算器502、加算器503、セレクタ53
2、加算器504、ラッチ512、セレクタ533、乗算器520、
セレクタ534、メモリ501を第9図のラッチ611、セレク
タ631、乗算器602、加算器603、セレクタ633、加算器60
4、ラッチ614、セレクタ634、乗算器620、セレクタ63
6、メモリ601に対応させれば、順方向ネットワークの計
算ユニットとすることができる。即ち、本発明を実施例
するのに、第7図と第8図の2つの計算ユニットを設計
する必要はなく、第9図の計算ユニットを設計すればよ
い。そのような場合、設計口数を大幅に低減することが
できる。
以上のように、本発明の一実施例によれば、集積回路上
で実現することができるため、高速に学習するニューラ
ルネットを実現することができる。
次に、第10図を説明する。第10図において、1、2はウ
ェハ、700は機能ブロックである。710〜712はセレクタ
である。701は制御信号発生回路であり、第1図の制御
信号発生回路130の機能にセレクタ710〜712を制御する
機能を加えている。720は入力端子、730は出力端子であ
る。721〜725は制御信号線である。機能ブロック700は
第9図で構成することができる。ウェハ1、2内のネッ
トワークは第1図に対応している。セレクタ711はウェ
ハ1の第1図における外部出力端子151と入力端子720の
入力する信号を入力し、ウェハ2の第1図における外部
入力端子150に出力する。セレクタ710は入力端子720の
入力する信号とウェハ2の第1図における外部出力端子
151を入力し、ウェハ1の第1図における外部入力端子1
50に出力する。セレクタ712はウェハ1の外部出力端子1
51とウェハ2の外部出力端子151を入力し、外部出旅端
子730に出力する。制御信号発生回路701は制御信号線72
3〜725を通して、セレクタ710〜712へ制御信号を出力す
る。また、制御信号線721、722によって、ウェハ1、2
を制御する。ウェハ1の入力バス141の信号はセレクタ7
11を通して、ウェハ2の入力バス141へ送ることができ
る。同様にウェハ2からウェハ1へ送ることもできる。
また、外部入力端子720に入力する信号をセレクタ710,7
11を通して、ウェハ1、2の入力ガス141へ送ることが
できる。
以上のようにウェハ間を簡単に接続することでき、非常
に大規模なニューラルネットを高速に学習することがで
きる。
また、ウェハ1で順方向ネットワークを構成し、ウェハ
2で逆方向ネットワークを構成することにより、(3)
式における重み値の修正を各ネットワークで同時に行な
うことができるため、より、高速に学習を行える。
また、本図では、2枚のウェハの接続を示す図である
が、3枚以上の接続も簡単な修正で行なうことができ
る。
また、第1図の構成をそのままウェハ上に構成してもよ
い。また、さらに複数のウェハにより、各ネットワーク
を構成することもできる。
次に、第11図を説明する。第1図において、880,890は
機能ブロックである。801〜803,812〜814はセレクタで
ある。機能ブロック880を第7図で、機能ブロック890を
第8図で構成することができる。また、機能ブロック88
0,890は第9図で構成することができる。850,860は出力
バス、851,861は入力バスである。160a,160bは乗算器で
ある。本図では左側のネットワークは順方向ネットワー
クを、右側は逆方向ネットワーク対応している。
本図には制御信号発生回路及び制御信号を明記しない
が、第1図、第10図と同様な構成とすることで、各機能
ブロックや各セレクタを制御することができる。
順方向ネットワークでは、各機能ブロック880の出力は
出力バス850に出力される。関数変換回路131、132は出
力バス850を入力し、それぞれにおいて関数変換し、出
力する。セレクタ801は出力バス850の出力と関数変換回
路131、132の出力を入力し、そのうち1つを出力する。
セレクタ802はセレクタ801の出力と逆方向ネットワーク
の出力バス860を入力する。乗算器160aはセレクタ802の
出力を入力し、定数η倍して出力する。セレクタ803は
セレクタ801の出力と乗算器160の出力を入力し、入力バ
ス851に出力する。各機能ブロック880は入力バス851に
出力される値を入力することができる。逆方向ネットワ
ークでは、各機能ブロック890の出力は出力バス860に出
力される。セレクタ812は出力バス860と順方向ネットワ
ークのセレクタ801の出力を入力する。乗算器160bはセ
レクタ812の出力を入力し、定数η倍して出力する。セ
レクタ814はセレクタ812の出力と乗算器160bの出力を入
力する。セレクタ813は出力バス860とセレクタ814の出
力を入力し、入力バス861に出力する。
本図の構成では、順方向ネットワークを構成する機能ブ
ロック880は乗算器160aによって、逆方向ネットワーク
の出力バス860の値をη倍して取り込むことができる。
同様に、逆方向ネットワークを構成する機能ブロック89
0は乗算器160bによって順方向ネットワークの出力バス8
50の値をη倍して取り込むことができる。そのため、第
6図における動作5の順方向ネットワークから逆方向ネ
ットワークへηxjを通信する動作を動作3において行う
ことができる。動作3において、各機能ブロックが他の
機能ブロックへ出力xjをブロードキャストするときに、
同時に乗算器160bによってη倍し、逆方向ネットワーク
の入力バス861へ出力することができる。同様に、動作
8、12の逆方向ネットワークから順方向ネットワークへ
ηδを通信する動作を動作7、11において行うことがで
きる。以上のように、他方のネットワークのバスへの出
力値を盗み取ることにより、第6図における動作5、
8、12に要する時間を省くことができる。そのため、よ
り高速に学習を行うことができる。
次に、本発明によるニューロコンピューティングシステ
ムについて説明する。以下の実施例は、今まで述べてき
た情報処理装置を実用レベルまで追求した一態様であ
る。まず、第12図〜第19図を用い、構成について一通り
説明した後、その動作とそのために必要な制御につい
て、第20図〜第26図を用いて説明する。尚、今まで説明
してきた実施例と重複する箇所もあるが、一通り説す
る。
第12図はシステム全体を示す図である。第12図におい
て、1000はホストコンピュータ、1001はディジタイザで
ホストコンピュータ1000の入力装値の一つである。1003
はコントロールボードを示す。1030はWSIボード、1031
はWSI基板、1050はウェハで、ウェハ1050はWSI基板1031
と接着し、さらにWSI基板1031をWSIボード上と接続する
ことにより、ウェハ1050の電源給電及び外部との信号の
入出力を可能とする。1080はモード信号線、1081はアド
レス信号線、1082はクロック信号線、1083は入力データ
線、1084は出力データ線を示す。コントロールボード10
03と各WSIボード1030とは、1080〜1084の内部バス1020
によって接続する。コントロールボード1003上の1010は
入力層メモリ、1011は出力層メモリ、1012は教師信号メ
モリ、1013はシーケンスRAM、1002はクロック発振器を
示す。1021は外部バスを示す。ホストコンピュータ1000
はコトロールボード1003上の1010〜1013の各メモリに外
部バス1021を通して、アクセスが可能で任意に読みだ
し、書き込みを行うことができる。1085はデコーダ、10
40は出力バッファ、1041は入力バッファを示す。入力層
メモリ1010、教師信号メモリ1012は、それぞれ、アドレ
ス信号線1081を入力し、出力バッファ1040を通して、メ
モリの内容を入力データ線1083へ送ることが可能である
また、それぞれの出力バッファ1040はデコーダ1085によ
り、制御される。デコーダ1085モード信号線1080とアド
レス信号線1081を入力し、デコードする。シーケンスRA
M1013はモード信号及びアドレス信号を発生する。1086
はポインタで、パルスジェネレータ1002からクロック信
号線1082により送られるクロックを入力して、出力を1
づつ増やす。それを繰返し、シーケンスRAM1013に書き
込まれている命令のアドレスを指定する。シーケンスRA
M1013の各アドレスには、予め、実行するモード信号及
びアドレス信号の命令を順々に書き込んでおく。また、
1051はセレクタでシーケンスRAM1013または外部バス102
1から出力される命令をモード信号線1080及びアドレス
信号線1081へ出力する。1052は、セレクタで出力データ
線1084または外部バス1021から出力される値を入力デー
タ線1083へ出力する。
教師信号メモリ1012には出力層の教師信号を書き込んで
おく、入力層メモリ1010は、入力層ニューロンの役目を
行っており、入力層ニューロンの値を書き込んでおく。
出力層メモリ1011は入力バッファ1041を通して出力デー
タ線1084とアドレス信号線1081を入力し、出力層ニュー
ロンの出力を取り込む。
WSIボード1030はモード信号線1080、アドレス信号線108
1、クロック信号線1082、入力データ線1083を入力バッ
ファ1041を通して、ウェハ1050へ接続し、ウェハ1050か
ら出力される信号をデコーダ 1085により制御する出力バッファ1040を通して、出力デ
ータ線1084に出力する。また、このデコーダ1085はモー
ド信号線1080とアドレス信号線1081により、デコードを
行う。また、ホストコンピュータ1000からウェハ1050内
のラッチ、メモリ等に書き込む場合、自分のボードアド
レスが指定されているときに行う第13図はウェハ1050の
構成を示す図である。ウェハ1050は、1060のNブロッ
ク、1061のIOブロック、1062のBブロック、1063のPブ
ロックから構成する。各ブロックは等間隔で縦(列)方
向横(行)方向に配列する。ウェハ1050の中央の列の下
辺には、IOブロック1061を配置し、その他の中央の列に
は7個のBブロック1062を配置する。外部との入出力は
下辺のIOブロック1061が行う。中央の列以外には、Nブ
ロック1060を配置し、周辺部にPブロック1063を配置す
る。Pブロック1063はウェハの半導体プロセスにおける
品質管理を行うためのものである。Nブロク1060には、
ニューロンブロックを搭載し、Bブロック1062には、関
数変換テーブルを搭載する。IOブロック1061はBブロッ
ク1062の機能の他に外部との入出力を行うための機能も
持つ。IOブロック1061、Bブロック1062、Nブロック10
60の詳細については、第16図、第17図を用いて説明す
る。
第14図はウエハ1050内の信号線の構成と配置を示す図で
ある。1201はボンディングパッドでIOブロック1061の下
辺に設け、ボンディングワイヤーにより信号線を外部と
接続する。各Nブロック1060への信号線は、IOブロック
1061、各Bブロック1062において、まず、縦方向に信号
が伝わり、さらに、各横方向へ信号を送る。Nブロック
1060内のニューロンブロックの出力は、まず、その行の
IOブロック1061、Bブロック1062に集められ、そこで関
数変換を行い、入出力を行う下辺のIOブロック1061へ送
り、外部へ出力する。
第15図に、ウェハ1050の各ブロック1060〜1062への電源
給電方法及びWSI基板1031の構成を示す。第15図におい
て、1301〜1303はボンディングパッド1304はボンディン
グワイヤー1305はコネクタを示す。1310は各ブロック10
60〜1062へ電源を給電するための電源バスである。コネ
クタ1305はWSIボード1030と接続することにより、電源
及び信号線のWSI基板1031への接続を行う。電源線をボ
ンディングパッド1301、1304からWSI基板1031内を通
り、コレクタ1305へ引き出す。また、信号線をボンディ
ングパッド1303からコネクタ1305へ引き出す。ウェハ10
50内では、各ブロック1060〜1062の間に格子状に電源バ
ス1310を設け、各ブロック1060〜1062を電源バス1310と
接続する。電源バス1310の終端には、ボンディングパッ
ド1302を設ける。ウェハ1050上のボンディングパッド13
02とWSI基板1031上のボンディングパッド1301、1304を
ボンディングワイヤー1304により接続することにより、
各ブロック1060〜1062へ電源を給電することができる。
また、ウェハ1050上の第14図のボンディングパッド1201
とWSI基板1031上のボンディングパッド1303をボンディ
ングワイヤー1304により、接続することにより、第12図
の内部ハス1020とIOブロック1061と接続することができ
る。
第16図にBブロック1062を示す。IOブロック1061はBブ
ロック図1062の機能の他に外部との入出力機能を持つ。
第16図において、1070は変換テーブル、1071は制御回
路、1072〜1076はセレクタである。IOブロック1061、B
ブロク1062は、下辺に接続される外部またはIOブロック
1061またはBブロック1062からモード信号線1080、アド
レス信号線1081、クロック信号線1082を入力し、上辺に
接続されるBブロック1062とサイドに接続されるNブロ
ック1060へ出力する。入力データ線1083は、下辺から入
力し、セレクタ1073、変換テーブル1070、セレクタ107
4、セレクタ1076を通り左右辺へ出力するパスを持つ。
また、変換テーブル1070を通らずに、セレクタ1076のみ
を通り、左右辺へ出力することもできる。左右に接続さ
れるNブロック1060から入力する出力データセン1084は
セレクタ1072セレクタ1073、変換テーブル1070、セレク
タ1074、セレクタ1075を通り、下辺に接続されるBブロ
ック1062またはIOブロック1061または外部へ出力するパ
スを持つ。また、左右から入力する出力データ線1084は
セレクタ1072、セレクタ1075を通り、下辺の出力するこ
ともできる。セレクタ1072〜1076は、制御回路1071によ
って、制御される。制御回路1071はモード信号線1080と
アドレス信号1081を入力し、セレクタ1072〜1075の制御
信号を発生する。制御回路1071の構成については、第21
図は用いて、後に説明する。また、変換テーブル1070
は、書き込みのため、アドレス信号線1081、入力データ
線1083と接続する。
第17図にNブロック1060を示す。第17図に示すNブロッ
ク1060はウェハ1050において、中心より右側に配置する
ものである。左側に配置するNブロック1060は横方向に
対象なものとなる。第17図において、1100はニューロン
ブロックを示す。1101、1103はセレクタ、1102は制御回
路を示す。各Nブロック1060内にはニューロンブロック
1100を6個づつ搭載する。各ニューロンブロック1100
に、モード信号線1080、アドレス信号線1081、クロック
信号線1082、入力データ線1083を接続する、制御回路11
02はアドレス信号線1081をデコードし、セレクタ1101に
より、Nブロック1060内の6個のニューロンブロック11
00の出力から1つを選択心、セレクタ1103へ出力する。
セレクタ1103の入力のもう1つは右側に接続されている
Nブロック1060から出力される出力データ線1084であ
る。セレクタ1103の出力は左側に接続されるNブロック
1060またはBブロック1062またはIOブロック1061と接続
する。セレクタ1103の制御は制御回路1102が行う。
第18図にニューロンブロック1100の詳細を示す。本図は
第9図に示したものとほぼ同様の構成となっている。第
18図において、1121〜1125はラッチを示す。1130は乗算
器、1131はα乗算器、1132はη乗算器を示す。1140〜11
41は加算器を示す。
1150〜1152はセレクタを示す。1160はメモリ、1161はメ
モリのアドレスを指すポインタを示す。メモリ1160に
は、結合元のニューロンブロック1100のアドレスとそれ
結合係数wと前回の修正値Δwを記憶する。1170は制御
回路を示す。ラッチ1121は逆方向ネットワーク側として
動作するときにのみ使用し、入力データ線1083から送ら
れる(4)(5)式における、f′(u)を取り込む。
ラッチ1122順方向ネットワーク側として動作するとき
は、入力データ線1083から送られる(3)式における学
習信号δを取り込み、逆方向ネットワーク側として動作
するときは、入力データ線1083から送られる(3)式に
おけるxを取り込む。ラッチ1123は逆方向ネットワーク
の出力層として動作するときにのみ使用し、入力データ
線1083から送られる(4)式における教師信号tを取り
込む。セレクタ1150はメモリ1160の結合係数w,入力デー
タ線1083、ラッチ1121、ラッチ1122、ラッチ1124を入力
し、そのうち2つを選び、乗算器1130へ出力する。乗算
器1130は入力した値を乗算し、入力する。セレクタ1151
は、η乗算器1132、メモリ1160の結合係数w、乗算器11
30、ラッチ1122、ラッチ1123、ラッチ1124を入力し、そ
のうち2つを選択し、加算器1140へ出力する。加算器11
40は入力する値を加算または減算し、出力する。ラッチ
1024は加算器1140の出力を取り込む。セレクタ1152は、
ラッチ1124、乗算器1130を入力し、そのうち1つを選択
し、ラッチ1125へ出力する。ラッチ1125は第17図のセレ
クタ1101、1103を通して、出力データ線1084へ出力す
る。α乗算器1131はメモリ1160の前回の修正値Δwを入
力し、定数α倍し、出力する。加算器1141はα乗算器11
31、乗算器1130を入力し、加算して出力する。η乗算器
1132は加算器1141の出力を定数η倍して、出力する。メ
モリ1160は、加算器1140の出力の修正した結合係数w
と、加算器1141の出力の修正値Δwを取り込む。制御回
路1170はモード信号線1080、アドレス信号線1081、クロ
ック信号線1082を入力し、ニューロンブロック1100内の
セレクタの制御及びラッチ、メモリの書き込みの制御を
行う。以上のWSIによる構成について説明したが、第19
図に示すように、チップによっても、構成することがで
きる。第19図において、1400はチップボード、1401はN
チップ、1403はBチップ、1404はコネクタを示す。チッ
プボード1400を第12図におけるWSIボード1030と差し替
えることにより、同様にニューロンコンピューティング
システムを構成することができる。また、チップとWSI
の混在による構成も可能である。Nチップ1401はNブロ
ック1060と同じ機能を持ち、Bチップ1403はBブロック
1062と同じ機能を有する。NチップとBチップをチップ
ボード1400上でウェハ1050と同様となる接続を行えばよ
い。
以上に説明した第12図のシステムの構成がいろいろな動
作を繰り返すことにより、学習を行う。
第25図は第12図のモード信号線1080に出力するモード信
号の一部を示す図である。各モード信号における簡単な
動作内容について示した。
第12図のシステムは本図のモード信号に従い、いろいろ
な動作を行う。モード信号線1080を1,3,5,8,9,11,13,1
5,17,19に設定することにより、各ラッチ、メモリの初
期値を書き込むことができ。学習動作は時はモード信号
24〜32を使用する。設定する順番に関しては後に第26図
を用いて、説明する。
第25図に従い、第12図のシステムがどのように動作する
か説明し、それに伴い、第12図のシーケンスRAM1013、
第16図の制御回路1071、第17図の制御回路1102、第18図
の制御回路1170の機能についても説明することとする。
まず、第20図を用いて、IOブロック1061、Bブロック10
62、Nブロック1060及びNブロック1060内のニューロン
ブロック1100にアクセスするためのアドレスについて説
明する。学習動作時の各ニューロンブロック1100のアド
レスは相対アドレスで動作する。WSIでは、欠陥によ
り、全てのニューロンブロック1100を使用することがで
きない可能性が高い。また、本発明では、順方向ネット
ワークと逆方向ネットワークを構成するニューロンブロ
ック1100は1対1に対応している。そのため、各ニュー
ロンブロック1100は、任意の相対アドレスに設定できる
ようにする。相対アドレスを設定するときは、絶対アド
レスによりアクセスする。第20図(a)にウェハ1050内
の各ブロックの絶対アドレスを示す。また、第20図
(b)に絶対アドレスのビット構成を示す。ウェハ1050
内に全部で288個のニューロンブロック1100があるの
で、ウェハ内の絶対アドレスは9ビットとする。また、
それに、ボードアドレス4ビットを加える。なお、ボー
ドアドレスは第12図のデコード1085必要なもので、ウェ
ハ1050内へ送る必要はない。多くのボードを接続する場
合は、ボードアドレスのビットを増やせばよい。ウェハ
ナ内絶対アドレスのうち、3ビットは行アドレス、1ビ
ットは右/左アドレス、2ビットは列アドレス、3ビッ
トはNブロック内ニューロンブロックアドレスを示す。
行アドレスとは、ウェハ1050の下段からの0〜7行を示
す。右/左アドレスは、中心より、右か左かを示す。列
アドレスはどの列かを示す。Nブロック内ニューロンブ
ロックアドレスはNブロック1060内の6個のニューロン
ブロックのうちどれかを示す。Nブロック内アドレスの
ニューロンブロックアドレスを第20図(b)に示す。ま
た、第20図(c)に、チップボード1400内の絶対アドレ
スを示す。
第21図に第16図の制御回路1071を示す。また、第22図に
第17図の制御回路1102を第23図に第18図の制御回路1170
を示す。まず、この3つの図を用い、アドレスのデコー
ド方法について説明する。
第21図において、1501は絶対アドレスの列アドレスをデ
コードする列デコードである。
1502は絶対アドレスの行アドレスをデコードする行デコ
ーダ示す。1503はモード信号線をデコードするデコーダ
を示す。1506〜1507はラッチを示す。1504はインバータ
回路、1505はアンド回路を示す。1511〜1512は引き算回
路で、アドレス信号線1081に送られる相対アドレスとラ
ッチ1506、1507に予め書き込まれてい値と引き算を行
い、その結果の符号を出力する。
1509〜1510はセレクタで、絶対アドレスによるデコーダ
の結果と相対アドレスによるデコードの結果のいずれか
を選択し、出力する。デコーダ1503よりセレクタ1509、
1510に接続される制御線は絶対アドレスか相対アドレス
かを選択するものである。1520はNブロックセレクト線
を示す。
第22図において、1607はモード信号線1080をデコードす
るデコーダである。
1604はラッチで、入力データ線1083の出力を取り込むこ
とができる。その制御はデコーダ1607が行う。1603は引
き算回路で、アドレス信号線1081に送られる相対アドレ
スとラッチ1604に予め書き込まれている値と引き算を行
い、その結果の符号を出力する。1601〜1602はセレクタ
を示す。セレクタ1601は、列アドレスの絶対アドレスの
デコード結果であるNブロックセレクト線1520と相対ア
ドレスによるデコード結果のいずれかを選択し、出力す
る。セレクタ1602は、Nブロック内の絶対アドレスのデ
コード結果と相対アドレスのデコード結果を選択するも
のである。デコード1607よりセレクタ1601、1602に接続
される制御線は絶対アドレスか相対アドレスかを選択す
るものである。また、Nブロックセレクト線1520を捻じ
り、隣りのブロックと接続するのは、各列のNブロック
1060を同一パターンとすることができるからである。そ
れにより、半導体マスク設計工数を低減することができ
る。1605はデコーダでアドレス信号線1081のうち、絶対
アドレスのNブロック内アドレスをデコードする。
1606はエンコーダで6個の各ニューロンブロック1100に
おいて、アドレスをデコードされた結果を入力する。
第23図において、1701はラッチで、入力データ線1083に
出力される自分の相対アドレスを取り込む。また、相対
アドレスの他、自分が順方向ネットワーク側として動作
するのか、逆方向ネットワーク側で動作するのか、ま
た、逆方向ネットワーク側で動作する場合は、さらに、
中間層なのか、出力層なのかを示す情報も取り込む。17
03は比較回路で、アドレス信号線1081に出力される相対
アドレスと予め書き込まれているラッチ1701の自分の相
対アドレスを比較し、一致しているかどうをデコーダ17
02へ送る。また、その結果は第22図のデコーダ1605へも
出力する。1704は比較回路で、第18図のメモリ1160の結
合元アドレスとアドレス信号線1081に出力される相対ア
ドレスを比較する。1702はデコーダで、比較回路1703、
ラッチ1701、モード1081、第22図のデコーダ1605、クロ
ック4信号線1082、比較回路1704、第22図のセレクタ16
01を入力し、ニューロンブロック1100内のセレクタ、ラ
ッチ、メモリ、ポインタ、またラッチ1701の制御を行
う。
第25図には、動作を説明するのに必要な事項のみ示した
が、検査のために、ラッチ、メモリなどの書き込み読み
出しなどを行うためのモード信号も設定する。
まず、初期設定として絶対アドレスにより、相対アドレ
スと、順方向ネットワークまたは逆方向ネットワーク、
また、中間層または出力層を示す情報の2ビットを各ニ
ューロンブロク110の第23図の制御回路1170のラッチ170
1に書き込む。ホストコンピュータ1000により、第12図
のセレクタ1051、1052を外部バス1021側とする。モード
信号線1080を17に設定し、アクセスするニューロンブロ
ック1100の絶対アドレスをアドレス信号線1081に設定す
る。書き込みたい値を入力データ線1083に設定する。WS
Iボード1030では、デコーダ1085により、ボードアドレ
スをデコードし、自分のアドレスのときのみ、ウェハ10
50のラッチ、メモリ等の書き込みを行うように制御す
る。
絶対アドレスによる動作では、第21図の行デコーダ1502
により、行アドレスをデコードし、もし、その行が選択
されているかどうかがわかる。また、列デコーダ1501に
より、列アドレスを選択し、1〜4個その行方向にある
Nブロック1060のうち1個をそれに接続されているNブ
ロックセレクト線1520により選択するまた、右/左ビッ
トにより、右側または左側のNブロック1060かを選択す
る。行デコーダ1502の結果と右/左アドレスをアンド回
路1505によりアンドし、左側のデコーダ1501のイネーブ
ル信号にする。また、行デコーダ1502の結果と右/左ア
ドレスをインバータ回路1504により論理反転したものと
をアンド回路1505によりアンドし、その結果をデコーダ
1501のイネーブル信号とする。選択されたNブロック10
60内においては、第22図のデコーダ1605により、Nブロ
ック内アドレスをデコードし、各ニューロンブロック11
00内の第23図の制御回路1170へその結果を出力する。ま
た、セレクタ1601のNブロックの選択結果も制御回路11
70へ出力する。セレクト線制御回路1170のデコーダ1702
の制御より、モード信号が17でかつ自分が選択されてい
れば、そのラッチ1701に入力信号線1083に出力されてい
る値を取り込む。以上の動作により全てのニューロンブ
ロック1100のラッチ1701へ書き込む。ただし、同一のウ
ェハ内における相対アドレスは絶対アドレスの小さなも
のから多きなものに向かって増やす。空番号が存在して
もよい。これは、次に説明する出力データ線1084の制御
方法にかかわってくる。
次に、全てのNブロック1060の第22図のラッチ1604を設
定する。モード信号を15に設定しラッチ1604にはそのN
ブロック1060内のニューロンブロック1100に設定されさ
相対アドレスの最も大きな値を書き込む。ホストコンピ
ュータ1000によりモード信号線1080を15に設定し、アク
セスするNブロック1060の絶対アドレスをアドレス信号
線1081に設定する。Nブロック内ニューロンブロックア
ドレスの設定は不要である。書き込みたい値を入力デー
タ線1083に設定する。相対アドレスによる動作時のNブ
ロック1060における出力データ線1084の制御、即ち、第
17図にのセレクタ1103の制御は第22図の引き算回路1603
により、アドレス信号線1081からラッチ1604を引いた結
果の符号ビットにより行う。ラッチ1604には、そのNブ
ロック1060内のニューロンブロック1100の最大の相対ア
ドレスが書き込まれているので、そのNブロック1060よ
り外側のニューロンブロック1100は、ラッチ1604に書き
込まれた値より大きな相対アドレス設定されている。そ
のため、アドレス信号線1081がラッチ1604より大きな値
となる場合には、第17図のセレクタ1103を隣のNブロッ
ク1060に接続されている出力データ線1084を選択する。
次に、全てのIOブロック1061、Bブロック1062の第21図
のラッチ1507にその行のニューロブロック1100に設定さ
れた最大の相対アドレスを書き込む。ホストコンピュー
タ1000により、モード信号線1080を11に設定し、アクセ
スするIOブロック1061またはBブロック1062の絶対アド
レスの行アドレスをアドレス信号線1081に設定する。右
/左アドレス、列アドレス、Nブロック内アドレスの設
定は不要である。書き込む値を入力データ線1083に設定
する。
IOブロック1061,Bブロック1062における出力データセン
1084の制御、即ち、第16図のセレクタ1075の制御は第21
図の引き算回路1512により、アドレス信号線1081からラ
ッチ1507をいた結果の符号ビットにより行う。ラッチ15
07には、その行にあるニューロンブロック1100の最大の
相対アドレスが書き込まれているので、そのブロックよ
り上方のニューロンブロック1100には、ラッチ1507の値
より大きな相対アドレスが設定されている。そのため、
アドレス信号線1081がラッチ1507より大きな値となる場
合には、第16図のセレクタ1075を上方のBブロック1062
に接続されている出力データ線1084を選択する。
次に、全てのIOブロック1061、Bブロック1062の第21図
のラッチ1506にその行の右側のリューロンブロック1100
に設定された最大の相対アドレスを書き込む。ホストコ
ンピュータ1000により、モード信号線1080を13に設定
し、アクセスするIOブロック1061またはBブロック1062
の絶対アドレスの行アドレスをアドレス信号線1081に設
定する。右/左アドレス、列アドレス、Nブロック内ア
ドレスの設定は不要である。書き込む値を入力データセ
ン1083に設定する。第16図のセレクタ1072の制御は第21
図の引き算回路1511により、アドレス信号線1081からラ
ッチ1506を引きた結果の符号ビットにより行う。ラッチ
1506には、その行の右側にあるニューロンブロック1100
の最大の相対アドレスが書き込まれているので、左側の
ニューロンブロック1100には、ラッチ1506の値よりも大
きな相対アドレスが設定されている。そのため、アドレ
ス信号線1081がラッチ1506より大きな値となる場合に
は、第16図のセレクタ1072は左側と接続されている出力
データセン1084を選択する。
次に、IOブロック図1061、Bブロック1062の第16図の変
換テーブル1070の書き込みを行う。順方向ネットワーク
を構成するウェハ1050の変換テーブル1070は(1)式は
のf変換を、また、逆方向ネットワークを構成するウェ
ハ1050の変換テーブル1070は(4)(5)式のf′変換
を行う。
ホストコンピュータ1000により、モード信号線1080を9
に設定し、アドレス号線1081にアクセスするIOブロック
1061、Bブロック1062の絶対アドレスの行アドレスを設
定する右/左アドレス、列アドレス、Nブロック内アド
レスのビットに変換テーブル1070のアクセスしたいアド
レスを設定する。もし、7ビットで不足する場合は、ア
ドレス信号線1081のビット数を増やす。入力データ線10
83に書き込みたい値を設定する。IOブロック1061、各B
ブロック1062では、第21図の行デコーダ1502により、行
アドレスをデコードし、自分が選択されていれば、入力
データ線1083に出力されている値を変換テーブル1070に
書き込む。
次に、第12図の入力層メモリ1010に入力層ニューロンの
出力を教師信号メモリ1012に教師信号を書き込む。一般
に、ニューラルネットは、いろいろなパターンを学習さ
せるので、入力層メモリ1010は各パターンごとにセグメ
ント化する。同様に、各パターンに対応する教師信号を
書き込む教師信号メモリ1012もセグメント化する。各パ
ターンごとにアクセスするセグメントを変える。ホスト
コンピュータ1000により、それぞれ、モード信号を1、
3に設定し、アドレス信号を線1081に信号線1081にアド
レスを設定し、各メモリに値を書き込む。
次に、使用するニューロンブロック1100のメモリ1160に
結合係数の初期値を書き込む。モード信号を19に設定
し、まず、アドレス信号線1081にアクセスするニューロ
ンブロック1100のアドレスを設定し、その後アドレス信
号線1081にメモリ1160の書き込むアドレスを設定し、入
力データ線1083に書き込む値を設定する。このように、
アドレス信号線1081を時分割に使用してもよいし、始め
ポインタ1161を0にして、アドレス0から書き込み、順
次ポインタを1づつ進めて、メモリ1160にき込むことも
できる。メモリ1160には、結合するニューロンブロック
110の相対アドレスと、それとの結合係数wと、前回の
修正値Δwを書き込む。ただし、Δwの初期値は0でよ
い。また、学習動作を途中で中断し、途中結果をホスト
コンピュータ1000に読み出し、また、学習を再開すると
きなどは、それに応じて、必要な値を書き込むことにな
る。また、順方向ネットワークと逆方向ネットワークの
対応している結合係数の初期値は同じ値にする必要があ
る。
次に、第24図に示すようにシーケンスRAM1013に学習を
行うための一連のモード信号と出力を行うニューロンブ
ロック1100の相対アドレスを書き込む。
第26図にその例を示す。第26図では、入力層ニューロン
数3、中間層ニューロン数2、出力層ニューロン数2の
ニューラルネットの学習を行うためのシーケンスRAM101
3の例である。第26図には、1パターンの学習を示す
が、2パターン以上ある場合は、パターンを変えるごと
に、入力層メモリ、教師信号メモリのセグメントを変え
る必要がある。
以下に、学習動作を第26図に従い、説明する。入力層ニ
ューロンの相対アドレスを0〜2、中間層ニューロンの
相対アドレスを3〜4、出力層ニューロンの相対アドレ
スを5〜6とする。順方向ネットワークを構成するボー
ドアドレスを3、逆方向ネットワークを構成するボード
アドレスを4とし、2枚のボードを使用している。
逆方向ネットワークは入力層ニューロンを必要としない
ので、全部で8個のニューロンブロック1100を使用す
る。入力層メモリ、教師信号メモリはボードアドレスを
それぞれ0、1である。
まず、ポンプ1086をリセットする。シーケンスRAM1013
はアドレス0に書き込まれている命令とアドレスをそれ
ぞれ、モード信号線1080、アドレス信号線1081に出力す
る。それより、モード信号線1080を24に設定し、アドレ
ス信号線にアドレス5を設定する。また、ボードアドレ
スを1に設定する。デコーダ1085によりボードアドレス
をデコードシ、教師信号メモリ1012の出力を入力データ
線1083へ出力バッファ1040を通して、出力させる。教師
信号メモリ1012は、アドレス信号線1081に指定されるア
ドレス5の値を出力をする。逆方向ネットワーク側の出
力層の相対アドレスが5のニューロンブロック1100は入
力データ線1083に出力されている自分の教師信号を第18
図のラッチ1123に取り込む。同様に相対アドレスが6の
逆方向ネットワークの出力層のニューロンブロック100
に対しても行う。
ここで、ラッチ、メモリ等に書き込むには、アドレスの
ホールド時間や書き込むデータのホールド時間が必要で
ある。そのため、クロック信号線1082のクロック信号に
より、それらへのライトイネーブル信号のタイミングを
作る。
次に、ポインタ1086はクロック信号線1082よりクロック
を入力すると、第12図のポインタ1086は1つ進み、次の
命令に移る。モード信号線1080を25に設定し、第18図の
ポインタ1161をリセットする。また、第18図のニューロ
ンブロック110内のラッチ1124の内容もリセットする。
次の命令では、順方向動作を行う。モード信号線1080を
26に設定し、アドレス信号線は、入力層から出力層に向
かって、相対アドレスの小さい順にニューロンブロック
1100が指定する。ボードアドレスは入力層ではボードア
ドレス0を、そして、中間層、出力層ではボードアドレ
ス3を設定する。指定された入力層メモリ1010は入力デ
ータ線1083へ、その値を出力し、全てのニューロンブロ
ック1100へブロードキャストする。ニューロンブロック
1100では、26に設定されているモード信号線1080を第23
図のデコーダ1702でデコードし、第18図のニューロンブ
ロック1100の各セレクタを制御する。セレクタ1150はメ
モリ1160の結合係数wと入力データ線1083を乗算器1130
へ出力する。乗算器1130により、結合係数wとニューロ
ンの出力xとのシナプス演算、即ち、乗算を行う。セレ
クタ1151は乗算器1130とラッチ1124を加算器1140へ出力
するラッチ1124に加算器1140の出力を書き込む。セレク
タ1152はセレクタ114を選択する。ラッチ1125はその値
を取り込む。第23図の制御回路1170の比較回路1704によ
り、メモリ1160の結合元アドレスとアドレス信号線1081
に出力されているアドレスを比較し、一致しているとき
に、ラッチ1124と乗算器1130の出力を加算し、その結果
をラッチ1124に書き込む。そして、第18図のポイン1161
の値を1つ進める。このように、順次、アドレス信号線
1081に送られる出力元の相対アドレスと入力データ線10
83に送られるその出力を入力し、累積加算を行う。メモ
リ1160には、結合元アドレスの小さい順に書き込んでお
く。また、アドレス信号線1081と第23図のラッチ1701の
書き込まれた自分の相対アドレスを比較回路1703によ
り、比較し、一致していれば累積加算の結果、即ち、ラ
ッチ1125の内部エネルギー値uを第17図のセレクタ110
1、1103、出力データ線1084を通して、第16図のセレク
タ1072に送られる。IOブロック1061、Bブロック1062の
第21図のデコーダ1503は、モード信号が26に設定されて
いるとき、セレクタ1073はセレクタ1072側を選択し、セ
レクタ1074は変換テーブル1070を選択する。また、セレ
クタ1076は下側から送られる入力データ線1083をそのま
ま、サイドのNブロック1060に送るように、入力データ
線1083側を選択する。セレクタ1072、1075はアドレス信
号線1081を前述の方法により、制御する。これにより、
相対アドレスを指定されたニューロンブロック1100の出
力である内部エネルギー値uはその行の変換テーブル10
70に送られ、ニューロンの出力xに変換され、出力デー
タ線1084により、第12図のコントロールボード1003へ送
られる。第12図のセレクタ1052は、出力データ線1084の
値を、そのまま、入力データ線1083へ出力する。
また、このモードにおける逆方向ネットワーク側では、
第18図において、アドレス信号線1081に自分の相対アド
レスが出力されたときに、入力データ線1083の値をラッ
チ1122に取り込む。
次の動作では、モード信号線1080を27に設定し、中間層
と出力層の相対アドレスをアドレス信号1081に順次設定
していく。相対アドレスを指定された順方向ネットワー
クのニューロンブロック1100は再び第18のラッチ1125の
内容、即ち、内部エネルギー値uを第16図のIOブロック
1061、Bブロック1062へ送る。モード27において、IOブ
ロック1061、Bブロック1062のセレクタ1074はセレクタ
1072を選択する。そのため、内部エネルギー値uがその
まま下側の出力データ線1084へ出力する。アドレス信号
線1081のデコード方法に関しては、モード26と同様であ
る。内部エネルギー値uは、第12図のコントロールボー
ドを通り、出力データ線1084へ出力される。一方、逆方
向ネットワークのIOブロック1061、Bブロック1062で
は、セレクタ1073を入力データセン1083側に、セレクタ
1074を変換テーブル1071側に、セレクタ1076をセレクタ
1074側に設定する。入力データ線1083により送られる内
部エネルギー値uは、変換テーブル1071により、f′変
換して、f′(u)となり、サイドのNブロック1060へ
入力データ線1083により出力する。逆方向ネットワーク
の第18図のニューロンブロック1100では、アドレス信号
線1081に出力されるアドレスと自分の相対アドレス一致
すれば、入力データ線1083に出力されいるf′(u)を
ラッチ1121に取り込む。
次にモード信号線1080を28に設定する。逆方向ネットワ
ークの出力層のニューロンブロック1100はセレクタを次
のように設定する。第18図において、セレクタ1151はラ
ッチ1122とラッチ1123を加算消1140に出力する。加算器
1140により(t−x)を計算し、ラッチ1124へ書き込
む。セレクタ1150はラッチ1124とラッチ1121を乗算器11
30へ出力する。乗算器1130により、ラッチ1124の(t−
x)とラッチ1121のf′(u)の乗算を行い出力層の学
習信号δを計算する。セレクタ1152は乗算器1130の出力
をラッチ1125へ出力する。ラッチ1125に学習信号δを書
き込む。
次の命令では、モード信号線1080を25に設定し、第18図
のポインタ1161をリセットする。また、第18図のニュー
ロンブロック1100内のラッチ1124をリセットする。
次の命令では、モード信号線1080を29に設定し、出力層
の相対アドレスをアドレ信号線1081に小さい順に設定し
ていく。相対アドレスを指定された逆方向ネットワーク
の第18図のニューロンブロック1100はラッチ1125の内
容、即ち、出力層の学習信号δを第16図のIOブロック10
61、Bブロック1062へ送る。モード29において、IOブロ
ック1061、Bブロック1062の第16図のセレクタ1074はセ
レクタ1072を選択するので、学習信号δがそのまま出力
データ線1084へ出力される。アドレス信号線1081のデコ
ードに関しては、モード26と同様である。学習信号δ
は、第12図のコントロールボード1003を通り、入力デー
タ線1083へ出力される。順方向ネットワークのIOブロッ
ク1061、Bブロック1062では、第16図のセレクタ1076を
下側と接続されている入力データ線1083側に設定する。
逆方向ネットワークから送られる学習信号δは、サイド
のNブロック1060へ出力される。順方向ネットワークの
第18図のニューロンブロック110では、アドレス信号線1
081に出力されるアドレスと自分の相対アドレス一致す
れば、入力データ線1083に出力されている学習信号δを
ラッチ1122に取り込む。
また、逆方向ネットワークの中間層のニューロンブロッ
ク1100では、セレクタ1150はメモリ1160の結合係数wと
入力データ線1083を乗算器1130へ出力する。乗算器1130
により、係合係数wと学習信号δとの乗算を行う。セレ
クタ1151は乗算器1130とラッチ1124を加算器1140へ出力
する。ラッチ124は加算器1140の出力を取り込む。第23
図の比較回路1704により、メモリ1160が出力する結合元
アドレスとアドレス信号線1081を比較し、一致している
ときに、ラッチ1124と乗算器1130の出力を加算し、ラッ
チ1124に書き込む。そして、ポインタ1161の値を1つ進
める。このように、順次、アドレス信号線1081と入力デ
ータ線1083に送られてくる。出力元のニューロンブロッ
ク1100の相対アドレスとその出力を入力し、Σw・δの
累積加算を行う。
次の命令では、モード信号線1080を30に設定する。逆方
向ネットワークの出力層のニューロンブロック1100はセ
レクタを次のように設定する。第18図において、セレク
タ1150はラッチ1124とラッチ1121を乗算器1130へ出力す
る乗算器1130により、ラッチ1124のΣw・δとf′
(u)の乗算を行い中間層の学習信号δを計算する。セ
レクタ1152は乗算器1130の出力をラッチ1125へ出力す
る。ラッチ1125に学習信号δを書き込む。
次に、モード信号線1080を29に設定し、中間層の学習信
号δを全ニューロンブロック1100にブロドキャストす
る。順方向ネットワークのニューロンブロック1100は、
アドレス信号線1081の値と第23図のラッチ1701に書き込
まれた自分の相対アドレス比較回路1703により、比較
し、一致していれば、学習信号δをラッチ1122に取り込
む。
中間層が2層以上あるいは場合は、この後、再びモード
30の命令を行い、学習信号δを計算し、その後モード29
により順方向ネットワークへ送ればよい。
次の命令では、モード信号線1080を25に設定し、第18図
のポインタ1161をリセットする。
次に、モード信号線1080を、31に設定し、アドレス信号
線1081を入力層から中間層に向かって相対アドレスの小
さい順に指定する。入力層に関しては、入力層メモリ10
10から出力する。中間層に関して、順方向ネットワーク
の中間層のニューロンブロック1100はその内部エネルギ
ー値uをIOブロク1061、Bブロッック1062の変換テーブ
ル1070でf変換し、その値をブロードキャストする。順
方向ネットワークの第18図のニューロンブロック1100の
各セレクタを次のように制御する。セレクタ1150はラッ
チ1122と入力データ線1083を乗算器1130へ出力する。乗
算器1130により、ラッチ1122の学習信号δとニューロン
の出力xの乗算を行う。セレクタ1151はメモリ1160の結
合係数wとη乗算機1132を加算器1140へ出力する。ま
た、α乗算機1131はメモリ1160の前回の修正値Δw′を
入力し、α倍し、αΔw′を出力する。加算器1141は乗
算器1130の出力δ・xとα乗算器1131の出力αΔw′を
入力し、加算してη乗算器1132に出力する。η乗算器11
32の出力は、修正値である。メモリ1160のΔw′には、
ηを掛ける前の値を書き込む。
wji n+1=wji η+η・Δw′ji n+1 (6) Δw′ji n+1=δ・xi+α・Δw′ji n+1 (7) 定数ηは広範囲な値となるのでこのようにすることによ
り、メモリ1160へ書き込むΔw′のビット数を節約する
ことができる。加算器1140により、結合係数wを修正
し、メモリ1160にその修正結果を書き込む。また、以上
の修正動作は、第23図の比較回路1704により、メモリ11
60の結合元のアドレスとアドレス信号線1081が一致して
いるときに行う。
次に、モード信号線1080を25に設定し、第18図のポイン
タ1161をリセットする。
次に、モード信号線1080を32に設定し、逆方向ネットワ
ークの出力層のニューロンブロック1100の相対アドレス
をアドレス信号線1081に設定し、学習信号δをブロード
キャストする。もし、中間層が2層以上ある場合は、中
間層の学習信号δもブロードキャストする。逆方向ネッ
トワークの第18図のニューロンブロック1100の各セレク
タをモード31の順方向ネットワークの結合係数wの修正
とと同じように設定する。乗算器1130により、ラッチ11
22のニューロンの出力xと入力データ線1083に出力され
る学習信号δの乗算を行い、η乗算器1132、加算器114
0、α乗算器1131、加算器1141により、修正値Δw′お
よび修正した結合係数wを計算し、メモリ1160に書き込
む。
以上の動作を各パターンごとに、入力層メモリ、教師信
号メモリのセグメントを変えて行うことにより、学習動
作を行うことができる。また、出力層メモリ1011は、出
力データ線1084に出力される順方向ネットワークの出力
層ニューロンの出力を取り込む。ホストコンピュータ10
00は出力層メモリ1011を外部バス1021から読み出し、期
待する出力となっているか調べることができる。第12図
のアプリケーションの例として、例えば、第12図のディ
ジタイザー1001により、手書き文字を入力し、ホストコ
ンピュータ1000により入力した文字の座標を正規化し、
ニューラルネットの入力とし、手書き文字を認識するシ
ステムを作ることができる。第12図のシステムにおい
て、入力層p個、中間層q個、出力層r個の階層型ニュ
ーラルネットの1パターン1回の学習に要する時間は、
1回に要する累積加算の時間をtとすると、ほぼ、 (2p+4q+5r)・t(s) (8) となる。例えば、手書き文字認識にpを256(16ドット
×16ドット)、qを100、rを26、tを100msとすると、
1パターンの1回の学習を約0.1msで行うことができ
る。1文字の学習に1000回の繰り返しが必要としても、
10文字パターンの学習をわずか1秒で行うことができ
る。
[発明の効果] 本発明によれば、ニューラルネットを高速に学習させる
ことができる。また、ウェハスケール集積回路で構成す
るのに好都合で、複数のウェハで構成することも可能で
ある。また、その設計工数も少ない。そのため、大規模
なニューラルネットを高速に計算ができ、かつコンパク
トなニューロコンピュータ用のウェハスケール集積回路
を製造することができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図はニューラ
ルネットを構成するニューロンモデルを示す図、第3図
は3層の階層型ニューラルネットを示す図、第4図はニ
ューラルネットを高速に計算する専用ハードウェハを示
す図、第5図は本発明の動作の詳細について説明する
図、第6図は本発明による演算の流れを示す図、第7
図、第8図、第9図はそれぞれ本発明で用いる機能ブロ
ックの一例の詳細を示す図、第10図、第11図はそれぞれ
本発明の他の一実施例を示す図、第12図は本発明ニュー
ロコンピューティングシステムの全体を示す図、第13図
は本発明のニューロコンピューティングシステムのウェ
ハの構成を示す図、第14図はウェハの信号線の構成と配
置を示す図、第15図はウェハの各ブロックへの電源供給
方法およびWSI基板の構成を示す図、第16図はBブロッ
ク(IOブロック)を示す図、第17図はNブロックを示す
図、第18図はニューロンブロックの詳細を示す図、第19
図は本発明のシステムをチップにより構成した場合につ
いて説明する図、第20図はIOブロック、Bブロック、N
ブロック、Nブロック内のニューロンブロックにアクセ
スするためのアドレスについ説明する図、第21図は第16
図のの制御回路を示す図、第22図は第17図の制御回路を
示す図、第23図は第18図の制御回路を示す図、第24図は
シーケンスRAMについて説明する図、第25図はモード信
号とその動作の一例を示す図、第26図は第24図のシーケ
ンスRAMに書き込む命令の一例を示す図である。 符号の説明 120F,121F,120B,121B……計算ユニット、123,124……制
御回路、125〜127……セレクタ、128……バッファ、130
……制御信号発生回路、131,132……関数変換回路、140
……出力バス、141……入力バス、142〜145……制御信
号線、150……外部入力端子、151……外部出力端子、16
0……乗算器。
フロントページの続き (72)発明者 柳生 正義 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 山田 稔 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 柴田 克成 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 昭60−219837(JP,A)

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つの計算ユニットによって構
    成され、外部からの信号が入力される入力層、該入力層
    の出力を入力し入力値に対応した出力値を出力する中間
    層、及び上記入力層または中間層の出力を入力し入力値
    に対応した出力値を出力する出力層を備えた階層型ネッ
    トワークであって、入力層から出力層に向かって順方向
    に出力値を決定する第1のネットワークと、 少なくとも1つの計算ユニットによって構成され上記第
    1のネットワークに対応して少なくとも中間層及び該中
    間層に接続された出力層を備えた階層型ネットワークで
    あって、出力層から中間層に向かって逆方向に出力値を
    決定する第2ネットワークと、 上記第1及び第2のネットワーク間を相互に通信して上
    記各々のネットワークの計算ユニットの出力値を修正値
    を修正する手段と、 を有することを特徴とする情報処理装置。
  2. 【請求項2】上記計算ユニットは、他の計算ユニットか
    ら入力し、該入力値に重み付けした値の総和を計算し、
    該総和層に対応して出力値を決定するニューロン計算ユ
    ニットで構成される請求項1記載の情報処理装置。
  3. 【請求項3】上記第1のネットワークの入力層は、外部
    からの入力信号を記憶する機能を有する請求項1記載の
    情報処理装置。
  4. 【請求項4】上記中間層または出力層を構成する複数の
    計算ユニットは、1枚のウェハスケール集積回路上に集
    積される請求項1記載の情報処理装置。
  5. 【請求項5】上記第1のネットワークは、少なくとも1
    枚の第1のウェハスケール集積回路上に集積され、上記
    第2のネットワークは、少なくとも1枚の第2のウェハ
    スケール集積回路上に集積される請求項1記載の情報処
    理装置。
  6. 【請求項6】上記第1のネットワークの入力層は第1の
    機能ブロックとして、上記第1のネットワークの中間層
    及び出力層は第2の機能ブロックとして構成され、上記
    第2のネットワークの中間層及び出力層は第3の機能ブ
    ロックとして構成される請求項1記載の情報処理装置。
  7. 【請求項7】少なくとも1つのデータパスを有し、上記
    第1の機能ブロックと上記第2の機能ブロック間の通信
    と、上記第2の機能ブロック間の通信と、上記第3の機
    能ブロック間の通信と、上記第2の機能ブロックと上記
    第3の機能ブロック間の通信を上記データパスによって
    行う請求項6記載の情報処理装置。
  8. 【請求項8】上記第2の機能ブロックと上記第3の機能
    ブロックは、同一の回路で構成される請求項4記載の情
    報処理装置。
  9. 【請求項9】少なくとも1つの計算ユニットによって構
    成され、外部からの信号が入力される入力層、該入力層
    の出力を入力し入力値に対応した出力値を出力する中間
    層、及び上記入力層または中間層の出力を入力し入力値
    に対応した出力値を出力する出力層を備えた階層型ネッ
    トワークであって、入力層は第1の機能ブロックとし
    て、中間層及び出力層は第2の機能ブロックとして構成
    され、上記第1機能ブロック及び上記第2の機能ブロッ
    クは入力層側の出力値に対する重み値を保持し、入力層
    から出力層に向かって順方向に上記第1の機能ブロック
    及び上記第2の機能ブロックの出力値を決定する第1の
    ネットワークと、 少なくとも1つの計算ユニットによって構成され、上記
    第1のネットワークに対応して少なくとも中間層及び該
    中間層に接続された出力層を備えた階層型ネットワーク
    であって、中間層及び出力層は上記第2の機能ブロック
    に対応して第3の機能ブロックから構成され、上記第3
    の機能ブロックは出力層側の出力に対する重み値を保持
    し、出力層から中間層に向かって逆方向に上記第3の機
    能ブロックの出力値を決定する第2のネットワークと、 上記第2の機能ブロックと上記第3の機能ブロックとを
    相互に通信する手段とを有し、 上記第2の機能ブロックの保持する重み値と上記第3の
    機能ブロックの保持する重み値を1対1に対応させ、同
    一の値に修正することを特徴とする情報処理装置。
  10. 【請求項10】少なくとも1つのデータバスを有し、上
    記第1の機能ブロックと上記第2の機能ブロック間の通
    信と、上記第2の機能ブロック間の通信と、上記第3の
    機能ブロック間の通信と、上記第2の機能ブロックと上
    記第3の機能ブロック間の通信を上記データバスによっ
    て行う請求項9記載の情報処理装置。
  11. 【請求項11】少なくとも1つの第1のデータバスと少
    なくとも1つの第2のデータバスに接続された複数の機
    能ブロックと、 上記機能ブロックから第1のデータバスへ出力される値
    を関数により変換し、上記第2のデータバスへ出力する
    第1の関数計算手段と、 上記機能ブロックから第1のデータバスへ出力される値
    を上記関数の導関数により変換し、上記第2のデータバ
    スへ出力する第2の関数計算手段と、 上記機能ブロックから第1のデータバスへの出力を制御
    する手段とを有し、 上記機能ブロックは、入力値に重み付した値の総和を計
    算し、該総和値に対応して出力値を決定するニューロン
    モデルを計算する手段、当該機能ブロックの出力を上記
    第1のデータバスへ出力する手段、及び上記第1又は上
    記第2の関数計算手段にて上記第2のデータバスに出力
    される値を入力する手段を備えたことを特徴とする情報
    処理装置。
  12. 【請求項12】少なくとも1つの計算ユニットによって
    構成され、入力層、中間層及び出力層を備えた階層型ネ
    ットワークであって、入力層は第1の機能ブロックとし
    て、中間層及び出力層は第2の機能ブロックとして構成
    され、上記第1の機能ブロックは第1のデータバスと接
    続され、上記第2の機能ブロックは上記第1のデータバ
    スと第2のデータバスと接続され、入力層から出力層に
    向かって順方向に上記第1の機能ブロック及び上記第2
    の機能ブロックの出力値を決定する第1のネットワーク
    と、 少なくとも1つの計算ユニットによって構成され、上記
    第1のネットワークに対応して少なくとも中間層及び出
    力層を備えた階層型ネットワークであって、中間層及び
    出力層は上記第2の機能ブロックに対応して第3の機能
    ブロックから構成され、上記第3の機能ブロックは上記
    第1のデータバスと上記第2のデータバスに接続され、
    出力層から中間層に向かって逆方向に上記第3の機能ブ
    ロックの出力値を決定する第2のネットワークと、 第2のデータバスへ出力される値を関数により変換して
    上記第1のデータバスへ出力する第1の関数計算手段
    と、上記第2のデータバスへ出力される値を直接上記第
    1のデータバスへ出力する手段と、上記第2のデータバ
    スへ出力される値を上記関数の導関数により変換して上
    記第1のデータバスへ出力する第2の関数計算手段とを
    有し、 上記第2の機能ブロックは、入力値に重み付けするため
    のニューロンモデルの重み値を記憶する手段、上記重み
    付けされた入力値の総和を計算してニューロンモデルの
    内積演算を行う手段、及び上記重み値を書き換えて修正
    する手段を備え、 上記第3の機能ブロックは、上記ニューロンモデルの重
    み値を保持する手段、上記重み値を修正するために必要
    な値を計算する手段、及び上記重み値を書き換えて修正
    する手段を備え、 上記第2の機能ブロックは対応する上記第3の機能ブロ
    ックと相互に通信し、上記第2の機能ブロックと上記第
    3の機能ブロックはそれぞれが保持する上記重み値を対
    応する重み値と同一の値に修正することを特徴とする情
    報処理装置。
  13. 【請求項13】上記中間層または出力層を構成する複数
    の計算ユニットは、1枚のウェハスケール集積回路上に
    集積される請求項12記載の情報処理措置。
  14. 【請求項14】上記第1のネットワークは、少なくとも
    1枚の第1のウェハスケール集積回路上に集積され、上
    記第2のネットワークは、少なくとも1枚の第2のウェ
    ハスケール集積回路上に集積される請求項12記載の情報
    処理装置、
  15. 【請求項15】上記第1のウェハスケール集積回路と上
    記第2のウェハスケール集積回路は同一の回路で構成さ
    れる請求項14記載の情報処理装置。
  16. 【請求項16】上記第1の機能ブロックと上記第2の機
    能ブロックを同一の回路構成とする請求項13記載の情報
    処理装置。
  17. 【請求項17】入力層、中間層、及び出力層を備えた階
    層型ネットワークを有する情報処理装置の学習方法にお
    いて、 上記入力層から上記出力層に向かって順方向に出力層に
    向かって順方向に出力値を決定し、 上記中間層及び上記出力層は入力層側の出力値に対する
    第1の重み値を保持し、 学習時には、上記出力層から入力層に向かって逆方向に
    学習信号値を決定し、 上記入力層及び上記中間層は出力層側の学習信号値に対
    する第2の重みを保持し、 上記第1の重み値と第2の重み値は、上記学習によって
    同一の値に修正することを特徴とする情報処理装置の学
    習方法。
  18. 【請求項18】第1のデータバス(140)と、 情報処理装置の外部からのデータの入力と外部へのデー
    タの出力をおこなうための第2のデータバス(141)
    と、 ニューロンモデルの重み値を保持し、上記第2のデータ
    バス(141)からデータを入力して、入力された各々の
    データに上記保持されているニューロンモデルの重み値
    に従って重み付けし、重み付けしたデータの総和を計算
    してニューロンモデルの内積を計算し、該内積に対応し
    た出力を上記第1のデータバス(140)へ出力する第1
    の計算ユニット(120F)、第2の計算ユニット(121
    F)、第3の計算ユニット(121B)、及び第4の計算ユ
    ニット(120B)と、 上記第1の計算ユニット(120F)及び上記第2の計算ユ
    ニット(121F)によって計算されたニューロンモデルの
    内積を、上記第1のデータバス(140)から入力して、
    関数により変換し、上記第2のデータバス(141)に出
    力する第1の関数計算手段(131)と、 上記第1の計算ユニット(120F)及び上記第2の計算ユ
    ニット(121F)によって計算されたニューロンモデルの
    内積を、上記第1のデータバスから入力して、上記関数
    により変換して、上記第2のデータバス(141)に出力
    する第2の関数計算手段(132)と、 上記第1の計算ユニット(120F)、上記第2の計算ユニ
    ット(121F)、上記第3の計算ユニット(121B)、上記
    第4の計算ユニット(120F)、上記第1の関数計算手段
    (131)、及び上記第2の関数計算手段を制御するため
    の制御手段(130,125,126,127)とを備えた情報処理装
    置の学習方法であって、 上記情報処理装置が、外部からデータを入力して、上記
    第1の計算ユニット(120F)、上記第2の計算ユニット
    (121F)、及び上記第1の関数計算手段(131)を有す
    る順方向ネットワークによって計算を行うことにより、
    上記順方向ネットワークの出力値を決定し、 与えられた入力に対して期待される出力値を入力し、上
    記第3の計算ユニット(121B)、及び上記第4の計算ユ
    ニット(120B)を有する逆方向ネットワークと、上記第
    2の関数計算手段(132)によって計算をおこなうこと
    により、上記逆方向ネットワークの学習信号値を決定
    し、 上記第1乃至第4の各計算ユニットの出力値と上記学習
    信号値の積に比例した値をニューロンモデルの重み値に
    加算することにより、上記重み値を修正することを特徴
    とする情報処理装置の学習方法。
JP2284235A 1989-10-25 1990-10-24 情報処理装置及びその学習方法 Expired - Lifetime JPH07101415B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1-275834 1989-10-25
JP27583489 1989-10-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP4209163A Division JPH05197707A (ja) 1992-08-05 1992-08-05 情報処理システム

Publications (2)

Publication Number Publication Date
JPH03206549A JPH03206549A (ja) 1991-09-09
JPH07101415B2 true JPH07101415B2 (ja) 1995-11-01

Family

ID=17561080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2284235A Expired - Lifetime JPH07101415B2 (ja) 1989-10-25 1990-10-24 情報処理装置及びその学習方法

Country Status (1)

Country Link
JP (1) JPH07101415B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652139A (ja) * 1992-07-31 1994-02-25 Mikuni Corp ニューラルネットワークのデータ構造
KR102692218B1 (ko) * 2018-12-19 2024-08-05 에스케이하이닉스 주식회사 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템
JP6946364B2 (ja) * 2019-03-18 2021-10-06 株式会社東芝 ニューラルネットワーク装置

Also Published As

Publication number Publication date
JPH03206549A (ja) 1991-09-09

Similar Documents

Publication Publication Date Title
US5604840A (en) Information processing apparatus
US12147359B2 (en) AI accelerator apparatus using in-memory compute chiplet devices for transformer workloads
US5138695A (en) Systolic array image processing system
US4044243A (en) Information processing system
US12493778B2 (en) Method and apparatus for performing a neural network operation
JPH04293151A (ja) 並列データ処理方式
WO1991018350A1 (en) A learning machine synapse processor system apparatus
US5781702A (en) Hybrid chip-set architecture for artificial neural network system
EP0557997A2 (en) Information processing apparatus and information processing system
CN113157248A (zh) 存内处理(pim)系统和pim系统的操作方法
US12260223B2 (en) Generative AI accelerator apparatus using in-memory compute chiplet devices for transformer workloads
CN112559046A (zh) 数据处理装置及人工智能处理器
JPH05282272A (ja) ニューラルネットワーク並列分散処理装置
JPH0784975A (ja) 情報処理装置および学習演算処理方法
CN114003198A (zh) 内积处理部件、任意精度计算设备、方法及可读存储介质
JP3177996B2 (ja) ニューロプロセッサ
JP2001117900A (ja) ニューラルネットワーク演算装置
JPH07101415B2 (ja) 情報処理装置及びその学習方法
JPH05197707A (ja) 情報処理システム
JPH076146A (ja) 並列データ処理システム
JPH05159087A (ja) ニューロプロセッサ
JPH10134017A (ja) ファジー論理ニューラルネットワークモジュール型アーキテクチュア
JPH05128285A (ja) ニユーロプロセツサ
JP2765903B2 (ja) 情報処理装置
CN110163352B (zh) 电路规划结果产生方法与系统