JPH02226382A - ニューロコンピュータにおける重み補正による誤差吸収方式 - Google Patents
ニューロコンピュータにおける重み補正による誤差吸収方式Info
- Publication number
- JPH02226382A JPH02226382A JP1045208A JP4520889A JPH02226382A JP H02226382 A JPH02226382 A JP H02226382A JP 1045208 A JP1045208 A JP 1045208A JP 4520889 A JP4520889 A JP 4520889A JP H02226382 A JPH02226382 A JP H02226382A
- Authority
- JP
- Japan
- Prior art keywords
- output
- signal
- analog
- weight
- input
- 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
- Feedback Control In General (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
重み補正による誤差吸収方式に関し、
少ない配線本数で階層ネットワークを構成する基本ユニ
ット間でのデータの授受を実現できる時分割方式のニュ
ーロコンピュータにおいて、ダミノード用重みデータを
調整してオフセットやゲイン誤差を吸収することを目的
とし、 アナログ信号を第1のアナログバスより時分割的に入力
し、積和演算を行ってアナログ信号を第2のアナログバ
スに出力するアナログニューロプロセッサの集合からな
るニューラルネットワークと、該ニューラルネットワー
クのアナログバスに接続されテストモード時において、
指定された前記アナログバスに固定電圧を発生するダミ
ーノード手段と、テストモード時の第1の状態において
前記第1のアナログバスにダミーノード手段を介して0
ボルトを強制的に入力し、前記第2のアナログバスから
アナログニューロプロセッサ内で発生されたオフセット
電圧を検出する誤差測定手段と、前記各ニューロプロセ
ッサのオフセット電圧からテストモード時の第2の状態
において、前記ダミーノード手段から生成される固定電
圧と乗算されるべき各ニューロプロセッサへの重みの中
間的な重みを決め、第2のアナログバスから出力される
検出出力電圧からゲイン利得を使って正しいダミーノー
ド用重みを計算するディジタル制御手段内の重み補正手
段と、該重み補正手段によって補正された重みを格納す
る重みメモリと、前記ニューラルネットワークの動作を
制御する制御パターンがシーケンサの制御によって順次
読み出される制御パターンメモリとからなるように構成
する。
ット間でのデータの授受を実現できる時分割方式のニュ
ーロコンピュータにおいて、ダミノード用重みデータを
調整してオフセットやゲイン誤差を吸収することを目的
とし、 アナログ信号を第1のアナログバスより時分割的に入力
し、積和演算を行ってアナログ信号を第2のアナログバ
スに出力するアナログニューロプロセッサの集合からな
るニューラルネットワークと、該ニューラルネットワー
クのアナログバスに接続されテストモード時において、
指定された前記アナログバスに固定電圧を発生するダミ
ーノード手段と、テストモード時の第1の状態において
前記第1のアナログバスにダミーノード手段を介して0
ボルトを強制的に入力し、前記第2のアナログバスから
アナログニューロプロセッサ内で発生されたオフセット
電圧を検出する誤差測定手段と、前記各ニューロプロセ
ッサのオフセット電圧からテストモード時の第2の状態
において、前記ダミーノード手段から生成される固定電
圧と乗算されるべき各ニューロプロセッサへの重みの中
間的な重みを決め、第2のアナログバスから出力される
検出出力電圧からゲイン利得を使って正しいダミーノー
ド用重みを計算するディジタル制御手段内の重み補正手
段と、該重み補正手段によって補正された重みを格納す
る重みメモリと、前記ニューラルネットワークの動作を
制御する制御パターンがシーケンサの制御によって順次
読み出される制御パターンメモリとからなるように構成
する。
〔産業上の利用分野〕
本発明は、アナログニューロンチップをアナログ時分割
伝送路により結合することで実現されるニューロコンピ
ュータに係り、さらに詳しくは、重み補正による誤差吸
収方式に関する。
伝送路により結合することで実現されるニューロコンピ
ュータに係り、さらに詳しくは、重み補正による誤差吸
収方式に関する。
従来の逐次処理コンピュータ(ノイマン型コンピュータ
)では、使用方法や環境の変化に応じてコンピュータの
データ処理機能を調節することが難しいので、適応性を
有するデータ処理方式として、新たに階層ネットワーク
による並列分散処理方式が提唱されてきている。特に、
バックプロパゲーション法と呼ばれる処理方式(D、
E、 Rumelhart。
)では、使用方法や環境の変化に応じてコンピュータの
データ処理機能を調節することが難しいので、適応性を
有するデータ処理方式として、新たに階層ネットワーク
による並列分散処理方式が提唱されてきている。特に、
バックプロパゲーション法と呼ばれる処理方式(D、
E、 Rumelhart。
G、E、Hinton、 and R,J、l+Iil
liams、 ”LearningInternal
Representations by Error
Propagation +PARALLEL D
ISTRIBUTED PROCESSING、
Vol、1. pp。
liams、 ”LearningInternal
Representations by Error
Propagation +PARALLEL D
ISTRIBUTED PROCESSING、
Vol、1. pp。
318−364. The MIT Press、 1
986)が、その実用性の高さから注目されている。
986)が、その実用性の高さから注目されている。
バック・プロパゲージコン法では、基本ユニ・7トと呼
ぶ一種のノードと重みを持つ内部結合とから階層ネット
ワークを構成している。第3F図に、基本ユニット1の
原理構成を示す。この基本ユニット1は、連続ニューロ
ンモデルに類似した処理を実行する。即ち、これは多大
カー出力系となっており、複数の入力(yh )に対し
それぞれの内部結合の重み(Wi h lを乗じる乗算
処理部2と、それらの全乗算結果を加算する累算処理部
3と、この加算値に非線形の閾値処理を施して1つの最
終出力X8を出力する閾値処理部4とを備える。
ぶ一種のノードと重みを持つ内部結合とから階層ネット
ワークを構成している。第3F図に、基本ユニット1の
原理構成を示す。この基本ユニット1は、連続ニューロ
ンモデルに類似した処理を実行する。即ち、これは多大
カー出力系となっており、複数の入力(yh )に対し
それぞれの内部結合の重み(Wi h lを乗じる乗算
処理部2と、それらの全乗算結果を加算する累算処理部
3と、この加算値に非線形の閾値処理を施して1つの最
終出力X8を出力する閾値処理部4とを備える。
第36図は階層型ニューラルネットワークの構成概念図
である。構成の多数の基本ユニット(1h、1−i、1
−jlが、第36図に示すように階層的に接続されるこ
とで、入力信号パターンに対応するところの出力信号パ
ターンが出力されることになる。
である。構成の多数の基本ユニット(1h、1−i、1
−jlが、第36図に示すように階層的に接続されるこ
とで、入力信号パターンに対応するところの出力信号パ
ターンが出力されることになる。
学習時には、出カバターンと目的とする教師パターンの
差が小さくなるように、各階層間の結合の重み(Wユ、
)が決定される。この様な学習は、複数の入カバターン
に対して行われ、多重化される。また、連想時には、人
カバターンが学習時に入力した完全情報と少し異なる不
完全な情報であっても、学習時の教師パターンに近い出
カバターンが得られることにより、連想処理が可能とな
る。
差が小さくなるように、各階層間の結合の重み(Wユ、
)が決定される。この様な学習は、複数の入カバターン
に対して行われ、多重化される。また、連想時には、人
カバターンが学習時に入力した完全情報と少し異なる不
完全な情報であっても、学習時の教師パターンに近い出
カバターンが得られることにより、連想処理が可能とな
る。
この様な構成のニューロコンピュータを現実のものとし
ていくためには、階層ネットワークを構成することにな
る基本ユニット1間のデータの授受を、できる限り少な
い配線本数で実現していく必要がある。このことは、複
雑なデータ処理を実現していくために、階層ネットワー
クの構成をより多層化したり、基本ユニットの数を増し
ていく必要があるという背景のもとで、どうしても解決
していかなくてはならない課題の1つなのである。
ていくためには、階層ネットワークを構成することにな
る基本ユニット1間のデータの授受を、できる限り少な
い配線本数で実現していく必要がある。このことは、複
雑なデータ処理を実現していくために、階層ネットワー
クの構成をより多層化したり、基本ユニットの数を増し
ていく必要があるという背景のもとで、どうしても解決
していかなくてはならない課題の1つなのである。
しかしなから、先に説明したデータ転送方式では、第3
6図に示す階層ネットワークの構成からも明らかなよう
に、2つの眉間の配線本数が極めて多くなることから、
階層ネットワークをチップ化するときに、小さくできな
くなると共に、信頼性を高めることができなくなるとい
う問題点がある。例えば、隣接する2つの層の基本ユニ
ット数を同じとし、すべての基本ユニット1が互いに接
続されるという完全結合を想定するならば、配線本数は
基本ユニット数の2乗に比例して増加することになる。
6図に示す階層ネットワークの構成からも明らかなよう
に、2つの眉間の配線本数が極めて多くなることから、
階層ネットワークをチップ化するときに、小さくできな
くなると共に、信頼性を高めることができなくなるとい
う問題点がある。例えば、隣接する2つの層の基本ユニ
ット数を同じとし、すべての基本ユニット1が互いに接
続されるという完全結合を想定するならば、配線本数は
基本ユニット数の2乗に比例して増加することになる。
このように、配線本数が急激に増加してしまう。
本発明は、少ない配線本数で階層ネットワークを構成す
る基本ユニット間でのデータの授受を実現できる時分割
方式のニューロコンピュータにおいて、ダミノード用重
みデータを調整してオフセットやゲイン誤差を吸収する
ことを目的とする。
る基本ユニット間でのデータの授受を実現できる時分割
方式のニューロコンピュータにおいて、ダミノード用重
みデータを調整してオフセットやゲイン誤差を吸収する
ことを目的とする。
第1A図は本発明のニューロコンピュータのシステムブ
ロック図である。
ロック図である。
ニューラルネットワーク18は、アナログ信号を第1の
アナログバスより時分割的に入力し、積和演箕を行って
アナログ信号を第2のアナログバスに出力するアナログ
ニューロプロセッサの集合からなり、ダミーノード手段
6は、ニューラルネットワーク18のアナログバスに接
続されテストモード時において、指定された前記アナロ
グバスに固定電圧を発生し、誤差測定手段20は、テス
トモード時の第1の状態において前記第1のアナログバ
スにダミーノード手段6を介して0ボルトを強制的に入
力し、前記第2のアナログバスからアナログニューロプ
ロセッサ内で発生されたオフセット電圧を検出し、ディ
ジタル制御手段内の重み補正手段19は、各ニューロプ
ロセッサのオフセット電圧からテストモード時の第2の
状態において、前記ダミーノード手段6から生成される
固定電圧と乗算されるべき各ニューロプロセッサへの重
みの中間的な重みを決め、第2のアナログバスから出力
される検出出力電圧からゲイン利得を使って正しいダミ
ーノード用重みを計算し、重みメモリ14は、重み補正
手段によって補正された重みを格納し、ニューラルネッ
トワーク18は、ニューラルネットワークの動作を制御
する制御パターンがシーケンサ13の制御によって順次
読み出される制御パターンメモリ12とからなるアナロ
グ信号を第1のアナログバスより時分割的に入力し、積
和演算を行ってアナログ信号を第2のアナログバスに出
力するアナログニューロプロセッサの集合からなり、ダ
ミーノード手段6は、ニュラルネットワーク18のアナ
ログバスに接続されテストモード時において、指定され
た前記アナログバスに固定電圧を発生し、誤差測定手段
20は、テストモード時の第1の状態において前記第1
のアナログバスにダミーノード手段6を介して0ボルト
を強制的に入力し、前記第2のアナログバスからアナロ
グニューロプロセッサ内で発生されたオフセット電圧を
検出し、ディジタル制御手段内の重み補正手段19は、
各ニューロプロセッサのオフセット電圧からテストモー
ド時の第2の状態において、前記ダミーノード手段6か
ら生成される固定電圧と乗算されるべき各ニューロプロ
セッサへの重みの中間的な重みを決め、第2のアナログ
バスから出力される検出出力電圧からゲイン利得を使っ
て正しいダミーノード用重みを計算し、重みメモリ14
は、重み補正手段によって補正された重みを格納し、制
御パターンメモリ12は、ニューラルネットワークの動
作を制御する制御パターンがシーケンサ13の制御によ
って順次読み出される。
アナログバスより時分割的に入力し、積和演箕を行って
アナログ信号を第2のアナログバスに出力するアナログ
ニューロプロセッサの集合からなり、ダミーノード手段
6は、ニューラルネットワーク18のアナログバスに接
続されテストモード時において、指定された前記アナロ
グバスに固定電圧を発生し、誤差測定手段20は、テス
トモード時の第1の状態において前記第1のアナログバ
スにダミーノード手段6を介して0ボルトを強制的に入
力し、前記第2のアナログバスからアナログニューロプ
ロセッサ内で発生されたオフセット電圧を検出し、ディ
ジタル制御手段内の重み補正手段19は、各ニューロプ
ロセッサのオフセット電圧からテストモード時の第2の
状態において、前記ダミーノード手段6から生成される
固定電圧と乗算されるべき各ニューロプロセッサへの重
みの中間的な重みを決め、第2のアナログバスから出力
される検出出力電圧からゲイン利得を使って正しいダミ
ーノード用重みを計算し、重みメモリ14は、重み補正
手段によって補正された重みを格納し、ニューラルネッ
トワーク18は、ニューラルネットワークの動作を制御
する制御パターンがシーケンサ13の制御によって順次
読み出される制御パターンメモリ12とからなるアナロ
グ信号を第1のアナログバスより時分割的に入力し、積
和演算を行ってアナログ信号を第2のアナログバスに出
力するアナログニューロプロセッサの集合からなり、ダ
ミーノード手段6は、ニュラルネットワーク18のアナ
ログバスに接続されテストモード時において、指定され
た前記アナログバスに固定電圧を発生し、誤差測定手段
20は、テストモード時の第1の状態において前記第1
のアナログバスにダミーノード手段6を介して0ボルト
を強制的に入力し、前記第2のアナログバスからアナロ
グニューロプロセッサ内で発生されたオフセット電圧を
検出し、ディジタル制御手段内の重み補正手段19は、
各ニューロプロセッサのオフセット電圧からテストモー
ド時の第2の状態において、前記ダミーノード手段6か
ら生成される固定電圧と乗算されるべき各ニューロプロ
セッサへの重みの中間的な重みを決め、第2のアナログ
バスから出力される検出出力電圧からゲイン利得を使っ
て正しいダミーノード用重みを計算し、重みメモリ14
は、重み補正手段によって補正された重みを格納し、制
御パターンメモリ12は、ニューラルネットワークの動
作を制御する制御パターンがシーケンサ13の制御によ
って順次読み出される。
アナログ入力信号を時分割でアナログニューロチップに
入力し、この信号と重みデータとの積を取り、この積信
号をそれぞれ加算して得られる積和信号を非線形関数回
路を通して出力することによりアナログニューロチップ
を構成する。このアナログニューロチップを複数個用い
て階層型あるいは帰還型のニューラルネットワーク18
を構成し、このニューラルネットワーク18にシーケン
サ13によってアクセスすべきアドレスが与えられた制
御パターンメモリ12から出力される制御信号を加える
。またニューラルネットワーク18には学習等によって
得られる重みデータが重みメモリ14から供給される。
入力し、この信号と重みデータとの積を取り、この積信
号をそれぞれ加算して得られる積和信号を非線形関数回
路を通して出力することによりアナログニューロチップ
を構成する。このアナログニューロチップを複数個用い
て階層型あるいは帰還型のニューラルネットワーク18
を構成し、このニューラルネットワーク18にシーケン
サ13によってアクセスすべきアドレスが与えられた制
御パターンメモリ12から出力される制御信号を加える
。またニューラルネットワーク18には学習等によって
得られる重みデータが重みメモリ14から供給される。
そしてニューラルネットワーク18、制御パターンメモ
リ12、シーケンサ13、重みメモリ14はディジタル
制御手段15のディジタル信号によって制御され、且つ
管理される。また、ディジタル制御手段15内のMPU
では、特に、学習アルゴリズムが実行され、かつ出力信
号のチエツクなどが行われる。このようにして、時分割
アナログ入力信号と時分割アナログ出力信号を用いるこ
とを特徴とするアナログニューロコンピュータシステム
が実現される。
リ12、シーケンサ13、重みメモリ14はディジタル
制御手段15のディジタル信号によって制御され、且つ
管理される。また、ディジタル制御手段15内のMPU
では、特に、学習アルゴリズムが実行され、かつ出力信
号のチエツクなどが行われる。このようにして、時分割
アナログ入力信号と時分割アナログ出力信号を用いるこ
とを特徴とするアナログニューロコンピュータシステム
が実現される。
第1B図は本発明のニューロチップから構成されるアナ
ログニューロプロセッサ(ANP)11のデュアルイン
ラインパッケージの概略図である。
ログニューロプロセッサ(ANP)11のデュアルイン
ラインパッケージの概略図である。
これは、MB4442と呼ばれニューロンモデルの処理
を実行する。内部の闇値処理部はシグモイド関数で置換
したモデルとなっている。アナログニューロチップはA
NPと呼ばれ、アナログデータを人出力するデバイスで
ある。第1C図は本発明のANPの内部構成図である。
を実行する。内部の闇値処理部はシグモイド関数で置換
したモデルとなっている。アナログニューロチップはA
NPと呼ばれ、アナログデータを人出力するデバイスで
ある。第1C図は本発明のANPの内部構成図である。
第1C図に示すようにANPIIはアナログバスBlと
アナログバスB2の間に接続される。ANPIIは入力
するアナログ信号と重みを掛けるアナログ乗算部22、
積の和を求めるアナログ加算部23、和を保持するサン
プル/ホールド部24、シグモイド関数の値を出力する
非線形関数部25よりなる。第1B図のANPIIの各
端子を説明する。ANPllの内部はアナログ回路部と
ディジタル回路部から構成されている。十−6ボルトの
端子は、アナログ回路部のオペアンプに供給される電源
端子である。D in及びり。utはアナログ入力信号
及び出力信号の端子である。AGNDはアナログ回路部
の接地端子である。R1+及びRt一端子はアナログ回
路部にある積分回路の外付抵抗Rの端子であり、Ct十
、Ct一端子は同じく積分回路の外付キャパシタCの端
子である。DGNDはディジタル回路部のグランド端子
である。+5ボルトはディジタル回路部の電源端子であ
る。R3Tは積分回路のキャパシタの電荷等のリセット
を行うリセット信号端子である。C3I及びC8Oはデ
イジ−チェーン用制御信号の入出力端子であり、OCは
オフセットキャンセル制御信号用端子、S/H端子は、
サンプル/ボールド用制御信号端子、5YNCは各層の
処理に対する同期信号端子、DCL Kはアナログ入力
信号の処理を行うための基本クロック信号端子、WCL
Kはディジタル重みデータを取り込むためのクロック端
子、WDはビットシリアルで人力するディジタル重みデ
ータ用の端子である。
アナログバスB2の間に接続される。ANPIIは入力
するアナログ信号と重みを掛けるアナログ乗算部22、
積の和を求めるアナログ加算部23、和を保持するサン
プル/ホールド部24、シグモイド関数の値を出力する
非線形関数部25よりなる。第1B図のANPIIの各
端子を説明する。ANPllの内部はアナログ回路部と
ディジタル回路部から構成されている。十−6ボルトの
端子は、アナログ回路部のオペアンプに供給される電源
端子である。D in及びり。utはアナログ入力信号
及び出力信号の端子である。AGNDはアナログ回路部
の接地端子である。R1+及びRt一端子はアナログ回
路部にある積分回路の外付抵抗Rの端子であり、Ct十
、Ct一端子は同じく積分回路の外付キャパシタCの端
子である。DGNDはディジタル回路部のグランド端子
である。+5ボルトはディジタル回路部の電源端子であ
る。R3Tは積分回路のキャパシタの電荷等のリセット
を行うリセット信号端子である。C3I及びC8Oはデ
イジ−チェーン用制御信号の入出力端子であり、OCは
オフセットキャンセル制御信号用端子、S/H端子は、
サンプル/ボールド用制御信号端子、5YNCは各層の
処理に対する同期信号端子、DCL Kはアナログ入力
信号の処理を行うための基本クロック信号端子、WCL
Kはディジタル重みデータを取り込むためのクロック端
子、WDはビットシリアルで人力するディジタル重みデ
ータ用の端子である。
第2図は、本発明のアナログニューロプロセッサ(AN
P)の原理構成図である。
P)の原理構成図である。
別々のANP (図示せず)から時分割的に送られてく
るアナログ人力信号をアナログバスB1からANPll
内のアナログ乗算部22に入力し、このアナログ乗算部
22ではシフトレジスタ27を介してビットシリアルに
入力されその後直並列変換されたディジタル重みデータ
WDと掛は算して、アナログ入力信号とディジタル重み
データとの積を示す積信号を得る。次の、アナログ加算
部23は、外付けの抵抗RとキャパシタCからなるミラ
ー積分回路であって、アナログバスB1に接続された前
段の複数のANP (ANPの存在する場所をノードと
呼ぶ)から時分割で送られるアナ0グ入力信号とダミー
ノードから送られる闇値用のアナログ入力信号とからそ
れぞれ得られる積信号の和を求めるものである。次に、
サンプル/ホールド部24で積信号を所望時間待たせる
ためにホールドした後に、さらにそのサンプル/ボール
ドされた出力を非線形関数部25を介して変換する。出
力制御部26では、シーケンスジェネレータ28の制御
を受けて所定時間遅延させた後に、アナログ出力信号り
。utをアナログバスB2へ出力する。なお、シーケン
スジェネレータ28は内部に供給される制御信号も生成
する。そして、位相制御部29では、おもにANP内の
アナログ回路部とディジタル回路部を接続する各スイッ
チのオンかオフが確実に行われるように、制御信号の位
相を制御するもので、特に、第1のスイッチがオンのと
き第2のスイッチをオフにする場合それ等のスイッチが
同時にオンする場合がないように制御信号の位相を制御
する。
るアナログ人力信号をアナログバスB1からANPll
内のアナログ乗算部22に入力し、このアナログ乗算部
22ではシフトレジスタ27を介してビットシリアルに
入力されその後直並列変換されたディジタル重みデータ
WDと掛は算して、アナログ入力信号とディジタル重み
データとの積を示す積信号を得る。次の、アナログ加算
部23は、外付けの抵抗RとキャパシタCからなるミラ
ー積分回路であって、アナログバスB1に接続された前
段の複数のANP (ANPの存在する場所をノードと
呼ぶ)から時分割で送られるアナ0グ入力信号とダミー
ノードから送られる闇値用のアナログ入力信号とからそ
れぞれ得られる積信号の和を求めるものである。次に、
サンプル/ホールド部24で積信号を所望時間待たせる
ためにホールドした後に、さらにそのサンプル/ボール
ドされた出力を非線形関数部25を介して変換する。出
力制御部26では、シーケンスジェネレータ28の制御
を受けて所定時間遅延させた後に、アナログ出力信号り
。utをアナログバスB2へ出力する。なお、シーケン
スジェネレータ28は内部に供給される制御信号も生成
する。そして、位相制御部29では、おもにANP内の
アナログ回路部とディジタル回路部を接続する各スイッ
チのオンかオフが確実に行われるように、制御信号の位
相を制御するもので、特に、第1のスイッチがオンのと
き第2のスイッチをオフにする場合それ等のスイッチが
同時にオンする場合がないように制御信号の位相を制御
する。
なお、シーケンスジェネレータ28は、リセット信号R
3T、、DCLK、WCLK、5YNC。
3T、、DCLK、WCLK、5YNC。
S/H,QC,、C3Iを後述するマスクコントロール
ブロックから入力するとともにC8Oを出力し、ANP
の内部の制御信号を生成する。
ブロックから入力するとともにC8Oを出力し、ANP
の内部の制御信号を生成する。
ニューラルネットワークでは、同時処理により高速演算
を行う必要がある。本発明では時分割データを使ってい
るが、定常状態では、各ANPがパイプライン的に同時
処理を行う。理想的なニューラルネットワークでは、ニ
ューロンは他のそれぞれのニューロンに相互結合した結
線が必要であるが、このままシステムを実現しようとす
ると、配線数が多くなる。そこで、本発明では時分割デ
ータを扱うので、各ANP内の積和の処理時間が伸びる
が、それを縦方向に、すなわち同層方向にチップを並列
に並べることで、層内のニューロチップを構成するAN
Pの同時処理により、その処理時間を改善する。また、
各層ではパイプライン処理が可能で、このことでも処理
時間が小さくなる。アナログバスに接続した例えば3個
の各ニューロチップには、入力が入ってくると、それは
3個とも同時に入り3個とも並列に、そのアナログ電圧
に対して、各ANPが重みとの積を生成し、それを積分
器のキャパシタに電荷として保持する。
を行う必要がある。本発明では時分割データを使ってい
るが、定常状態では、各ANPがパイプライン的に同時
処理を行う。理想的なニューラルネットワークでは、ニ
ューロンは他のそれぞれのニューロンに相互結合した結
線が必要であるが、このままシステムを実現しようとす
ると、配線数が多くなる。そこで、本発明では時分割デ
ータを扱うので、各ANP内の積和の処理時間が伸びる
が、それを縦方向に、すなわち同層方向にチップを並列
に並べることで、層内のニューロチップを構成するAN
Pの同時処理により、その処理時間を改善する。また、
各層ではパイプライン処理が可能で、このことでも処理
時間が小さくなる。アナログバスに接続した例えば3個
の各ニューロチップには、入力が入ってくると、それは
3個とも同時に入り3個とも並列に、そのアナログ電圧
に対して、各ANPが重みとの積を生成し、それを積分
器のキャパシタに電荷として保持する。
そして、次の時間区域で、同じアナログバスのアナログ
入力に対して、各ANPは重みとの積を形成し積分器の
キャパシタ内に前の時間区域で決まった積に加え込むこ
とになる。前段のすべてのANPからのアナログ入力信
号に対する重みとの積に対する和が生成された後、その
和はサンプル/ホールドされる。その後、シグモイド関
数を介して出力されるが、これは、C3I制御信号入力
時に出力される。そして、出力完了時にC3Iが立ち下
がり、その後一定時間遅延後にC3oを立ち上げて、出
力バスの使用権を同一層内の隣接ニューロチップからな
るANPに与える。
入力に対して、各ANPは重みとの積を形成し積分器の
キャパシタ内に前の時間区域で決まった積に加え込むこ
とになる。前段のすべてのANPからのアナログ入力信
号に対する重みとの積に対する和が生成された後、その
和はサンプル/ホールドされる。その後、シグモイド関
数を介して出力されるが、これは、C3I制御信号入力
時に出力される。そして、出力完了時にC3Iが立ち下
がり、その後一定時間遅延後にC3oを立ち上げて、出
力バスの使用権を同一層内の隣接ニューロチップからな
るANPに与える。
第3図はニューロチップである基本ユニットの第1の実
施例構成図である。同図の乗算部32、加算部33、閾
値処理部34は連続ニューロンモデルの実行部であるが
、この実施例では出力保持部35が存在する。具体的に
は、基本ユニット31に接続される複数の人力をY i
−、この各接続に対応して設定される重みをWiとする
ならば、乗算部32は、 Y i −W i を算出し、加算部33は、 X−ΣYi −Wi−θ を算出する。但し、θは闇値である。闇値部34は最終
出力をYとするならば、 Y= 1/ (1+ exp (−X) ) ・・・
・(11を算出することになる。
施例構成図である。同図の乗算部32、加算部33、閾
値処理部34は連続ニューロンモデルの実行部であるが
、この実施例では出力保持部35が存在する。具体的に
は、基本ユニット31に接続される複数の人力をY i
−、この各接続に対応して設定される重みをWiとする
ならば、乗算部32は、 Y i −W i を算出し、加算部33は、 X−ΣYi −Wi−θ を算出する。但し、θは闇値である。闇値部34は最終
出力をYとするならば、 Y= 1/ (1+ exp (−X) ) ・・・
・(11を算出することになる。
ダミーノードから入力される“+1″という値に“−θ
”という重みをかけて加算部33で「Xθ」の結果が出
力される。従って閾値部34ではS字曲線による変換だ
けが行われている。
”という重みをかけて加算部33で「Xθ」の結果が出
力される。従って閾値部34ではS字曲線による変換だ
けが行われている。
乗算部32は、乗算型D/Aコンバータ32aで構成さ
れ、前段層の基本ユニット31から、あるいは後述する
ダミーノードの回路からのアナログ信号(入カスイソチ
部37を介して入力される)の入力と、その入力に対し
て乗算されるべきディジタル信号の重み情1(後述する
重み保持部38を介して入力される)との乗算を行って
、得られた乗算結果をアナログ信号で出力するよう処理
するもの、加算部33は、積分器で構成されるアナログ
加算器33aとアナログ加算器33aの加算結果を保持
する保持回路33bとにより構成される。乗算型D/A
コンバータ32aは、D/Aコンバータの基準電圧端子
にアナログ入力信号を人力し、各ディジタル入力端子に
重みの各ビットをディジタル人力信号として入力するも
のであり、結果として、そのアナログ入力信号と重みと
の積を生成する。アナログ加算器33aは、乗算型D/
Aコンバータ32aの出力と、前回に求められて保持回
路33bに保持されている加算値とを加算して新たな加
算値を求めるもの、保持回路33bは、アナログ加算器
33aが求めた加算値をホールドするとともに、そのホ
ールド値を前回の加算値としてアナログ加算器33aに
フィードバックさせるものである。これらの加算処理は
制御回路39より出力される加算制御信号に同期して実
行される。闇値部34は、アナログの関数発生回路であ
る非線形関数発生回路34aで構成され、入力に対して
シグモイド関数等の非線形信号を出力するものである。
れ、前段層の基本ユニット31から、あるいは後述する
ダミーノードの回路からのアナログ信号(入カスイソチ
部37を介して入力される)の入力と、その入力に対し
て乗算されるべきディジタル信号の重み情1(後述する
重み保持部38を介して入力される)との乗算を行って
、得られた乗算結果をアナログ信号で出力するよう処理
するもの、加算部33は、積分器で構成されるアナログ
加算器33aとアナログ加算器33aの加算結果を保持
する保持回路33bとにより構成される。乗算型D/A
コンバータ32aは、D/Aコンバータの基準電圧端子
にアナログ入力信号を人力し、各ディジタル入力端子に
重みの各ビットをディジタル人力信号として入力するも
のであり、結果として、そのアナログ入力信号と重みと
の積を生成する。アナログ加算器33aは、乗算型D/
Aコンバータ32aの出力と、前回に求められて保持回
路33bに保持されている加算値とを加算して新たな加
算値を求めるもの、保持回路33bは、アナログ加算器
33aが求めた加算値をホールドするとともに、そのホ
ールド値を前回の加算値としてアナログ加算器33aに
フィードバックさせるものである。これらの加算処理は
制御回路39より出力される加算制御信号に同期して実
行される。闇値部34は、アナログの関数発生回路であ
る非線形関数発生回路34aで構成され、入力に対して
シグモイド関数等の非線形信号を出力するものである。
乗算結果の累算が閾値(−θ)の加算を含めて終了した
ときに、保持回路33bにホールドされている加算値X
に対し閾値(−θ)を加えて(11式のシグモイド関数
の演算処理を施し、アナログ出力値Yを得るもの、出力
保持部35は、サンプルホールド回路で構成され、後段
層の基本ユニット31への出力となる非線形関数発生回
路34aのアナログ信号の出力値Yをホールドするもの
である。
ときに、保持回路33bにホールドされている加算値X
に対し閾値(−θ)を加えて(11式のシグモイド関数
の演算処理を施し、アナログ出力値Yを得るもの、出力
保持部35は、サンプルホールド回路で構成され、後段
層の基本ユニット31への出力となる非線形関数発生回
路34aのアナログ信号の出力値Yをホールドするもの
である。
また、36は出力スイソチ部であり、制御回路39より
の出力制御信号を受けて一定時間ONすることで、出力
保持部35が保持するところの最終出力をアナログバス
B2上に出力するよう処理するもの、37は入カスイン
チ部であり、制御回路39よりの入力制御信号を受けて
前段層の基本ユニット31から最終出力からのアナログ
出力が送られてくるときにONすることで入力の受付を
行う。38は重み保持部であり、パラレルアウトシフト
レジスタ等により構成され、重みメモリから送られてく
るビットシリアルの重み信号がバッファ38aのゲート
がオープン(制御回路39による重み入力制御信号がオ
ン)された時に、この重み信号を乗算部32が必要とす
るビットパラレルの重みとして保持するものである。ヒ
ントパラレルの重みは乗算制御信号が与えられたときに
パラレルで乗算部に与えられる。39はディジタル回路
部の制御回路で外部からの同期信号から内部の同期信号
を生成するもので、内部のアナログ処理の機能の制御を
実行する。
の出力制御信号を受けて一定時間ONすることで、出力
保持部35が保持するところの最終出力をアナログバス
B2上に出力するよう処理するもの、37は入カスイン
チ部であり、制御回路39よりの入力制御信号を受けて
前段層の基本ユニット31から最終出力からのアナログ
出力が送られてくるときにONすることで入力の受付を
行う。38は重み保持部であり、パラレルアウトシフト
レジスタ等により構成され、重みメモリから送られてく
るビットシリアルの重み信号がバッファ38aのゲート
がオープン(制御回路39による重み入力制御信号がオ
ン)された時に、この重み信号を乗算部32が必要とす
るビットパラレルの重みとして保持するものである。ヒ
ントパラレルの重みは乗算制御信号が与えられたときに
パラレルで乗算部に与えられる。39はディジタル回路
部の制御回路で外部からの同期信号から内部の同期信号
を生成するもので、内部のアナログ処理の機能の制御を
実行する。
このように構成されることで、第3図の信号処理構成を
採る基本ユニット31の入出力がアナログ信号でもって
実現されることになるのである。
採る基本ユニット31の入出力がアナログ信号でもって
実現されることになるのである。
なお、乗算型D/Aコンバータ32aは、ディジタル信
号の重み情報をパラレルで受は取るようにするものでも
よいし、重み情報をシリアルで受は取ってからパラレル
変換するようにするものでもよい。あるいは、重み情報
をアナログ信号で構成するならば、乗算型D/Aコンバ
ータ32aの代わりに、アナログ乗算器を用いることが
できる。
号の重み情報をパラレルで受は取るようにするものでも
よいし、重み情報をシリアルで受は取ってからパラレル
変換するようにするものでもよい。あるいは、重み情報
をアナログ信号で構成するならば、乗算型D/Aコンバ
ータ32aの代わりに、アナログ乗算器を用いることが
できる。
第4図はI IIIの本発明のニューロチップ(ANP
)の実施例の具体的回路図である。
)の実施例の具体的回路図である。
このユニットでは入力部42、乗算部43、加算部44
、サンプル/ボールド部45、非線形関数部46、及び
出力部47から構成され、ここでは、出力保持回路はな
く、サンプル/ホール、ド部45が出力保持の機能も有
するものとする。
、サンプル/ボールド部45、非線形関数部46、及び
出力部47から構成され、ここでは、出力保持回路はな
く、サンプル/ホール、ド部45が出力保持の機能も有
するものとする。
入力部42はオフセットキャンセル部51と、1倍のバ
ッファ49から構成されている。1倍のバッファ49は
電圧フォロアで、オペアンプの出力を一端子にフィード
バックし、子端子に入力電圧を入力することによって構
成される。データ入力はアナログの時分割されたパルス
信号である。
ッファ49から構成されている。1倍のバッファ49は
電圧フォロアで、オペアンプの出力を一端子にフィード
バックし、子端子に入力電圧を入力することによって構
成される。データ入力はアナログの時分割されたパルス
信号である。
OCはオフセットコントロール信号であり、これが1の
ときアナログスイッチ66がオンし、1倍のバッファ4
9には、0電圧が強制的に設定される。一方、オフセッ
トコントロール信号OCが、0のときアナログスイッチ
66はオフされ、他方のアナログスイッチの他方65が
オンし、データ入力が1倍のバッファ49に入力される
。すなわち、オフセットコントロール信号OCが1であ
る場合には、ニューロンユニットにはOボルトが強制的
に入力されて乗算器出力までの回路のオペアンプ出力に
生じるオフセット電圧に対するオフセットのキャンセル
の動作を行うようにしている。
ときアナログスイッチ66がオンし、1倍のバッファ4
9には、0電圧が強制的に設定される。一方、オフセッ
トコントロール信号OCが、0のときアナログスイッチ
66はオフされ、他方のアナログスイッチの他方65が
オンし、データ入力が1倍のバッファ49に入力される
。すなわち、オフセットコントロール信号OCが1であ
る場合には、ニューロンユニットにはOボルトが強制的
に入力されて乗算器出力までの回路のオペアンプ出力に
生じるオフセット電圧に対するオフセットのキャンセル
の動作を行うようにしている。
アナログスイッチ65と66は同図ではOC信号の反転
位相と正相位相でスイツチングの制御が行われているが
、位相制御回路によって、同時オンがないようになって
いる。以後このことをOCが「位相制御された」という
言い方をすることにする。
位相と正相位相でスイツチングの制御が行われているが
、位相制御回路によって、同時オンがないようになって
いる。以後このことをOCが「位相制御された」という
言い方をすることにする。
正負切換回路52は2つの倍数器をカスケード結合して
構成されている。倍数器では入力抵抗(10にΩ)とフ
ィードバンク抵抗(10にΩ)によって10/10、す
なわち1倍の電圧の反転したものが形成され、それを1
段だけを通すか、2段を通すかによってアナログ電圧の
符号を決定している。
構成されている。倍数器では入力抵抗(10にΩ)とフ
ィードバンク抵抗(10にΩ)によって10/10、す
なわち1倍の電圧の反転したものが形成され、それを1
段だけを通すか、2段を通すかによってアナログ電圧の
符号を決定している。
その制御信号はディジタル重みデータの符号ビン)(S
IGN)であり、このS’lGNビットはMOSスイッ
チ70のゲートに接続されている。この5IGNの制御
信号も位相制御されている。符号ビ・7トが1である場
合に入力部42からの入力電圧は第1段目の倍数器で反
転され、さらにスイッチ67もオンしているので後段の
倍数器も通り、結果として正相となる。また符号ビット
がOである場合には、反転回路68を介して、スイッチ
69がオンとなる。この時スイッチ67と70はオフし
ているため、入力部42からの入力端子はスイッチ69
を介して後段のオペアンプ71の一端子に入力される。
IGN)であり、このS’lGNビットはMOSスイッ
チ70のゲートに接続されている。この5IGNの制御
信号も位相制御されている。符号ビ・7トが1である場
合に入力部42からの入力電圧は第1段目の倍数器で反
転され、さらにスイッチ67もオンしているので後段の
倍数器も通り、結果として正相となる。また符号ビット
がOである場合には、反転回路68を介して、スイッチ
69がオンとなる。この時スイッチ67と70はオフし
ているため、入力部42からの入力端子はスイッチ69
を介して後段のオペアンプ71の一端子に入力される。
従って、前段の抵抗72と後段のオペアンプのフィード
バックの抵抗73とによって倍数器が形成され、1倍さ
れた形で反転される。すなわち、符号ビットの正負によ
って人力部42の入力が、正または負の電圧として形成
され、これが、興奮性と抑制性のシナプス結合に従った
電圧となる。正負切換回路52からの出力は乗算部43
の中にあるD/Aコンバータ53のR−2R抵抗回路網
の74の点、すなわち基準電圧端子に入力される。
バックの抵抗73とによって倍数器が形成され、1倍さ
れた形で反転される。すなわち、符号ビットの正負によ
って人力部42の入力が、正または負の電圧として形成
され、これが、興奮性と抑制性のシナプス結合に従った
電圧となる。正負切換回路52からの出力は乗算部43
の中にあるD/Aコンバータ53のR−2R抵抗回路網
の74の点、すなわち基準電圧端子に入力される。
R−2R方式のD/Aコンバータをまず説明する。MS
BからI−S Bまでのディジタル重みによって内部の
スイッチはオンまたはオフをとる。ディジタル値が1で
ある場合に、電流は右側のスイッチ75を通って、オペ
アンプ76の仮想接地点78に流れ込む。オペアンプ7
6の仮想接地点78は十端子と同じ電圧になるように制
御され、これがグランドであるから仮想的な0ボルトで
ある。
BからI−S Bまでのディジタル重みによって内部の
スイッチはオンまたはオフをとる。ディジタル値が1で
ある場合に、電流は右側のスイッチ75を通って、オペ
アンプ76の仮想接地点78に流れ込む。オペアンプ7
6の仮想接地点78は十端子と同じ電圧になるように制
御され、これがグランドであるから仮想的な0ボルトで
ある。
D/Aコンバータ53においてRはIOKΩ、2Rは2
0にΩである。スイッチの状態に関わらず、2Rの抵抗
には電流が流れ、ディジタル値の値に従ってその2Rに
流れる重み電流が仮想接地点78の方に流れるかどうか
が決定される。1香石の2Rに流れる電流をiとする。
0にΩである。スイッチの状態に関わらず、2Rの抵抗
には電流が流れ、ディジタル値の値に従ってその2Rに
流れる重み電流が仮想接地点78の方に流れるかどうか
が決定される。1香石の2Rに流れる電流をiとする。
右から2番目すなわちLSBに対応する2Rの電流は1
香石の2Rにかかる電圧を2Rで割った値であるから2
RXi÷2Rでiとな?6υっ−・′1番香石横方向の
Rには電流21が流れる。右から3番目の2Rには2R
X i+RX2 iの電圧がかかり、これを2Rで割る
から21の電流が流れる。以下同様で左に行くに従って
4i、8iとなって2のべき乗で増える電流になる。こ
の2のべき乗になった重み電流をオペアンプの方に流す
か流さないかを決めているのがMSBからLSBである
。従って、ディジタル重みに対応する電流が2のべき乗
の形で仮想接地78に流れこみ、オペアンプ76の入力
インピーダンスは無限大であるから、この電流がオペア
ンプ36の帰還抵抗78に流れる。従って、D/Aコン
バータの出力電圧V。utは入力電圧をEとすれば、 Vout” ×(Do +2XDI +22XDz 2” 十・・・・+2” MDll−1) となる。ここで、DoはLSBで、Dll−1がMSB
であるとする。すなわち、掛算部43の出力は等価的に
入力電圧Eに重みを掛けた値になっている。
香石の2Rにかかる電圧を2Rで割った値であるから2
RXi÷2Rでiとな?6υっ−・′1番香石横方向の
Rには電流21が流れる。右から3番目の2Rには2R
X i+RX2 iの電圧がかかり、これを2Rで割る
から21の電流が流れる。以下同様で左に行くに従って
4i、8iとなって2のべき乗で増える電流になる。こ
の2のべき乗になった重み電流をオペアンプの方に流す
か流さないかを決めているのがMSBからLSBである
。従って、ディジタル重みに対応する電流が2のべき乗
の形で仮想接地78に流れこみ、オペアンプ76の入力
インピーダンスは無限大であるから、この電流がオペア
ンプ36の帰還抵抗78に流れる。従って、D/Aコン
バータの出力電圧V。utは入力電圧をEとすれば、 Vout” ×(Do +2XDI +22XDz 2” 十・・・・+2” MDll−1) となる。ここで、DoはLSBで、Dll−1がMSB
であるとする。すなわち、掛算部43の出力は等価的に
入力電圧Eに重みを掛けた値になっている。
その重み係数はMSBからLSBに人力されるディジタ
ル値で制御されることになる。一方、加算部44は時分
割多重化アナログ信号の各電圧とディジタル重みデータ
との容積についてミラー積分器を時分割的に使用するこ
とにより累積加算動作を実行する。そして、サンプル/
ホールド回路45は、加算結果をサンプル/ホールドす
る。
ル値で制御されることになる。一方、加算部44は時分
割多重化アナログ信号の各電圧とディジタル重みデータ
との容積についてミラー積分器を時分割的に使用するこ
とにより累積加算動作を実行する。そして、サンプル/
ホールド回路45は、加算結果をサンプル/ホールドす
る。
次に加算部44を説明する。加算部44は抵抗Rと帰還
キャパシタCによる積分器である。加算部44の入力部
には時分割加算制御部55があり、位相制御されたサン
プル/ホールド信号S/H信号が1のとき乗算部43の
出力電圧がオペアンプの仮想接地点79に入力され、S
/H信号が0のとき反転回路80によりスイッチ81が
オンとなって乗算部43の出力が抵抗Rを介してグラン
ドに接続されるので加算部44帰還キャパシタCには加
算されないことになる。今、S/H信号が1のとき、乗
算部43の出力電圧は抵抗Rを介してオペアンプ102
の一端子に入力し、入力電圧を抵抗Rで割った電流が仮
想接地を介して帰還キャパシタCの方に入力される。こ
の後、S/H信号がまたOとなり、乗算部43と加算部
44は切り離されるので、乗算部43は次の入力信号に
対して、重みデータを掛けることができる。キャパシタ
Cを含む積分回路の帰還回路82には4つのスイッチを
用いてオフセットキャンセル機能が付加されている。今
オフセットコントロール信号OCが1になったとすると
、スイッチ83と84がオンで、85と86がオフとな
る。オフセットコントロール信号OCがOの時には、デ
ータ入力部42、データ入力端子DATA −INPU
Tに入力電圧が与えられ、それに対応する乗算部43の
出力が抵抗Rを介してキャパシタCに入力される。この
時、スイッチ85.86がオンであり、キャパシタCの
極性はオペアンプの一端子に接続されている側か−、オ
ペアンプ102の出力に接続されている側が十である。
キャパシタCによる積分器である。加算部44の入力部
には時分割加算制御部55があり、位相制御されたサン
プル/ホールド信号S/H信号が1のとき乗算部43の
出力電圧がオペアンプの仮想接地点79に入力され、S
/H信号が0のとき反転回路80によりスイッチ81が
オンとなって乗算部43の出力が抵抗Rを介してグラン
ドに接続されるので加算部44帰還キャパシタCには加
算されないことになる。今、S/H信号が1のとき、乗
算部43の出力電圧は抵抗Rを介してオペアンプ102
の一端子に入力し、入力電圧を抵抗Rで割った電流が仮
想接地を介して帰還キャパシタCの方に入力される。こ
の後、S/H信号がまたOとなり、乗算部43と加算部
44は切り離されるので、乗算部43は次の入力信号に
対して、重みデータを掛けることができる。キャパシタ
Cを含む積分回路の帰還回路82には4つのスイッチを
用いてオフセットキャンセル機能が付加されている。今
オフセットコントロール信号OCが1になったとすると
、スイッチ83と84がオンで、85と86がオフとな
る。オフセットコントロール信号OCがOの時には、デ
ータ入力部42、データ入力端子DATA −INPU
Tに入力電圧が与えられ、それに対応する乗算部43の
出力が抵抗Rを介してキャパシタCに入力される。この
時、スイッチ85.86がオンであり、キャパシタCの
極性はオペアンプの一端子に接続されている側か−、オ
ペアンプ102の出力に接続されている側が十である。
次に、オフセットコントロール信号OCが1である場合
にはデータ入力は強制的にはOにされる。この場合、正
負切換回路42及び乗算部43のD/Aコンバータ53
を介してもしオフセットがなければ、D/Aコンバータ
44の出力は0ボルトとなる。しかし、オペアンプ49
.103.71.102があるためにオフセット電圧が
生じ、そのオフセット電圧が加算部44のキャパシタC
に蓄えられる。この場合、前のオフセットコントロール
信号OCがOである場合と違ってスイッチ83.84が
オンとなり、キャパシタCの十−の極性は逆転する。そ
のため、入力信号が人力された時に生じるオフセット電
圧はオフセットコントロール信号○Cを1にすることに
より、キャパシタCの極性が変わり、結果として、オフ
セットがキャンセルされることになる。本発明では、こ
のように、キャパシタCの極性の反転を用いて等測的に
オフセットキャンセル機能を有するように構成されてい
る。なお、スイッチ87はリセット信号によって制御さ
れ、処理開始時にリセット信号が与えられた場合に、キ
ャパシタChの電圧を零にし、加算部の出力を強制的に
0にリセットするものである。このOC信号も位相制御
されているものとする。
にはデータ入力は強制的にはOにされる。この場合、正
負切換回路42及び乗算部43のD/Aコンバータ53
を介してもしオフセットがなければ、D/Aコンバータ
44の出力は0ボルトとなる。しかし、オペアンプ49
.103.71.102があるためにオフセット電圧が
生じ、そのオフセット電圧が加算部44のキャパシタC
に蓄えられる。この場合、前のオフセットコントロール
信号OCがOである場合と違ってスイッチ83.84が
オンとなり、キャパシタCの十−の極性は逆転する。そ
のため、入力信号が人力された時に生じるオフセット電
圧はオフセットコントロール信号○Cを1にすることに
より、キャパシタCの極性が変わり、結果として、オフ
セットがキャンセルされることになる。本発明では、こ
のように、キャパシタCの極性の反転を用いて等測的に
オフセットキャンセル機能を有するように構成されてい
る。なお、スイッチ87はリセット信号によって制御さ
れ、処理開始時にリセット信号が与えられた場合に、キ
ャパシタChの電圧を零にし、加算部の出力を強制的に
0にリセットするものである。このOC信号も位相制御
されているものとする。
加算部44の出力はサンプル/ホールド回路45の入力
となる。サンプル/ホールド部45では、位相制御され
たサンプル/ホールド制御信号S/Houtが1である
場合に、スイッチ88を介して加算部44の出力がキャ
パシタChに蓄えられる。
となる。サンプル/ホールド部45では、位相制御され
たサンプル/ホールド制御信号S/Houtが1である
場合に、スイッチ88を介して加算部44の出力がキャ
パシタChに蓄えられる。
S / Hout制御信号が1である場合には、反転回
路94によってスイッチ90の制御信号は0となり、キ
ャパシタChの一方の端子はグランドに接地されず、ス
イッチ91がオンになることによりユニットの最終出力
信号がそのスイッチ91を介してキャパシタChに入力
される。すなわち、その時の最終出力信号がオペアンプ
96の出力端からフィードバックされてキャパシタC6
の下側に与えられる。従って、キャパシタCには、加算
部44の出力から最終出力信号の値を引いた電圧が保持
される。一方S / HouL制御信号が0のときには
、スイッチ89と90がオンし、キャパシタChの下側
はグランドとなり、結果としてキャパシタCに蓄えられ
た電圧、すなわち加算部44の出力から最終出力値を引
いた電圧値がスイッチ89を介して1倍のオペアンプ9
3の+側に入力され、そしてこのオペアンプ93はバッ
ファとして働いて、オペアンプ93の出力がシグモイド
関数の入力となる。また、S / Hout制御信号が
1のときスイッチ88がオンし、キャパシタC6には加
算器の出力値と最終出力値との差の電圧が蓄えられてい
るときには、スイッチ92がオンしている。そのためオ
ペアンプ93にはOボルトが強制的に入力される。この
時にシグモイド関数46及びオペアンプ96.アナログ
スイッチ100を介してオフセット電圧ΔVがスイッチ
91を介してC,、の下側に入力される。したがってS
/ Hout制御信号がOの時点、すなわちスイッチ
89がオンでスイッチ92がオフである場合には、C6
に蓄えられた電圧、すなわち(加算部の出力−オフセッ
ト電圧Δ■)がオペアンプ93とシグモイド関数46を
介して最終出力になるが、S/Hout信号が1になる
と、この時に生成されるオフセット電圧もΔ■であるか
ら結果として、オフセット電圧かキャンセルされること
になる。
路94によってスイッチ90の制御信号は0となり、キ
ャパシタChの一方の端子はグランドに接地されず、ス
イッチ91がオンになることによりユニットの最終出力
信号がそのスイッチ91を介してキャパシタChに入力
される。すなわち、その時の最終出力信号がオペアンプ
96の出力端からフィードバックされてキャパシタC6
の下側に与えられる。従って、キャパシタCには、加算
部44の出力から最終出力信号の値を引いた電圧が保持
される。一方S / HouL制御信号が0のときには
、スイッチ89と90がオンし、キャパシタChの下側
はグランドとなり、結果としてキャパシタCに蓄えられ
た電圧、すなわち加算部44の出力から最終出力値を引
いた電圧値がスイッチ89を介して1倍のオペアンプ9
3の+側に入力され、そしてこのオペアンプ93はバッ
ファとして働いて、オペアンプ93の出力がシグモイド
関数の入力となる。また、S / Hout制御信号が
1のときスイッチ88がオンし、キャパシタC6には加
算器の出力値と最終出力値との差の電圧が蓄えられてい
るときには、スイッチ92がオンしている。そのためオ
ペアンプ93にはOボルトが強制的に入力される。この
時にシグモイド関数46及びオペアンプ96.アナログ
スイッチ100を介してオフセット電圧ΔVがスイッチ
91を介してC,、の下側に入力される。したがってS
/ Hout制御信号がOの時点、すなわちスイッチ
89がオンでスイッチ92がオフである場合には、C6
に蓄えられた電圧、すなわち(加算部の出力−オフセッ
ト電圧Δ■)がオペアンプ93とシグモイド関数46を
介して最終出力になるが、S/Hout信号が1になる
と、この時に生成されるオフセット電圧もΔ■であるか
ら結果として、オフセット電圧かキャンセルされること
になる。
シグモイド関数を生成する非線形関数部は非線形回路選
択制御部があり、位相制御されたSe151g信号を1
にするとスイッチ95がオンし、シグモイド関数の出力
が次段に入力される。しかし、Se151g信号が0の
時には反転回路97を介してスイッチ98の制御信号が
1となってそれがオンし、シグモイド関数の出力はカッ
トされる。すなわちSe151g信号が0の時には、サ
ンプル/ホールド部の出力電圧がシグモイド関数を介さ
ずに直接オペアンプ96に入力される。オペアンプ96
は本質的には出力を一端子に直接帰還する1倍のオペア
ンプでバッファの働きをする。すなわち出力インピーダ
ンスをOにするバッファとなる。
択制御部があり、位相制御されたSe151g信号を1
にするとスイッチ95がオンし、シグモイド関数の出力
が次段に入力される。しかし、Se151g信号が0の
時には反転回路97を介してスイッチ98の制御信号が
1となってそれがオンし、シグモイド関数の出力はカッ
トされる。すなわちSe151g信号が0の時には、サ
ンプル/ホールド部の出力電圧がシグモイド関数を介さ
ずに直接オペアンプ96に入力される。オペアンプ96
は本質的には出力を一端子に直接帰還する1倍のオペア
ンプでバッファの働きをする。すなわち出力インピーダ
ンスをOにするバッファとなる。
出力部47には時分割アナログ出力部64と出力制御部
63が接続されている。C3Iが1のときにはスイッチ
99がオンで、スイッチ101もオンであるため、オペ
アンプ96の最終出力値が。
63が接続されている。C3Iが1のときにはスイッチ
99がオンで、スイッチ101もオンであるため、オペ
アンプ96の最終出力値が。
DATA −0tlTPUTに出力され、しかもその一
端子にフィードバックされて、オペアンプ96は1倍の
オペアンプとして働く。それと同時に最終出力値がサン
プル/ホールド部45にフィードバックされる。一方、
C3Iが0のときインバータ104を介してスイッチ1
00がオンになり、スイッチ101.99がオフになる
。すなわちオペアンプ96の出力はDATA −011
TPUT線には出力されないことになる。しかし、スイ
ッチ100がオンすることによって1倍のバッファを形
成するようにしているためオペアンプ96の電圧フォロ
ア動作は破壊されることなく実行される。出力部47は
出力制御入力信号C3Iによって出力パルス電圧を伝達
するかどうかを決める回路である。このC3Iをデイレ
イ回路105を介してC3Oとして出力し、層内の隣接
するニューロデツプに対する出力アナログ信号の時間タ
イミングを決定することになる。
端子にフィードバックされて、オペアンプ96は1倍の
オペアンプとして働く。それと同時に最終出力値がサン
プル/ホールド部45にフィードバックされる。一方、
C3Iが0のときインバータ104を介してスイッチ1
00がオンになり、スイッチ101.99がオフになる
。すなわちオペアンプ96の出力はDATA −011
TPUT線には出力されないことになる。しかし、スイ
ッチ100がオンすることによって1倍のバッファを形
成するようにしているためオペアンプ96の電圧フォロ
ア動作は破壊されることなく実行される。出力部47は
出力制御入力信号C3Iによって出力パルス電圧を伝達
するかどうかを決める回路である。このC3Iをデイレ
イ回路105を介してC3Oとして出力し、層内の隣接
するニューロデツプに対する出力アナログ信号の時間タ
イミングを決定することになる。
このため、本発明では出力部47からのアナログ信号は
時分割で伝達されるため、バス上で他のニューロチップ
からのアナログ信号と競合しない。
時分割で伝達されるため、バス上で他のニューロチップ
からのアナログ信号と競合しない。
第5図は第4図において、オフセットキャンセルOCを
0CO1OC1、サイン5IGNをPN。
0CO1OC1、サイン5IGNをPN。
PN、サンプル/ボールドSHを5HII、5HIO、
サンプル/ホールドS/Houtを5H21,5H20
、シグモイド選択信号Se151gを−S IGM、S
IGM、デイジ−チェーン用信号C3Iをcs、−c
sでの2信号で位相制御を実現する。すなわち、1つの
制御信号を、それぞれ正相を逆相の2信号で構成しかつ
位相をずらすことにより、これらの制御信号の正相と逆
相で制御される別のスイッチが同時にオン状態にならな
いようにした信号にした場合の実施例である。なお、D
/Aコンバータ53の出力端に接続されたキャパシタC
1、抵抗Rfはオペアンプ76のフィードバック信号を
D/Aコンバータの演算速度にあわせるためのものであ
り、DT端子には、D/Aコンバータのディジタル入力
が加えられる。
サンプル/ホールドS/Houtを5H21,5H20
、シグモイド選択信号Se151gを−S IGM、S
IGM、デイジ−チェーン用信号C3Iをcs、−c
sでの2信号で位相制御を実現する。すなわち、1つの
制御信号を、それぞれ正相を逆相の2信号で構成しかつ
位相をずらすことにより、これらの制御信号の正相と逆
相で制御される別のスイッチが同時にオン状態にならな
いようにした信号にした場合の実施例である。なお、D
/Aコンバータ53の出力端に接続されたキャパシタC
1、抵抗Rfはオペアンプ76のフィードバック信号を
D/Aコンバータの演算速度にあわせるためのものであ
り、DT端子には、D/Aコンバータのディジタル入力
が加えられる。
第5図で第4図と同一箇所は同一番号を付して説明を省
略する。
略する。
第6図は、本発明の重み補正による誤差方式に基づく積
分器におけるタイミング図である。データクロックDC
LKと重みクロックWCLKは基本的な動作クロックで
、データクロックDCLKのハイ状態の半周期間に高速
な重みクロックWCLKが出力される。重みクロックW
CLK信号は重みシリアルデータを取り込むための同期
クロックである。データクロックDCLK信号はアナロ
グ入力信号に対する処理を行うための基本クロックであ
る。同期信号5YNCは各層において一層内の各アナロ
グニューロンプロセッサANPの同期をとる同期信号で
ある。積分器の出力電圧の変化は下の三角形で示された
部分の波形で示される。
分器におけるタイミング図である。データクロックDC
LKと重みクロックWCLKは基本的な動作クロックで
、データクロックDCLKのハイ状態の半周期間に高速
な重みクロックWCLKが出力される。重みクロックW
CLK信号は重みシリアルデータを取り込むための同期
クロックである。データクロックDCLK信号はアナロ
グ入力信号に対する処理を行うための基本クロックであ
る。同期信号5YNCは各層において一層内の各アナロ
グニューロンプロセッサANPの同期をとる同期信号で
ある。積分器の出力電圧の変化は下の三角形で示された
部分の波形で示される。
積分波形は、サンプル/ホールド制御信号SHのパルス
で制御され、このパルスがハイの間、積分の動作を実行
する。すなわち、積分器のキャパシタCに対する充電を
開始し、このサンプル/ホールド制御信号SHのパルス
がハイの間は、このキャパシタに徐々に電荷が蓄積され
て電圧は上がるが、サンプル/ホールド制御信号SHの
パルスがロウとなって遮断されると、充電動作を停止す
る。
で制御され、このパルスがハイの間、積分の動作を実行
する。すなわち、積分器のキャパシタCに対する充電を
開始し、このサンプル/ホールド制御信号SHのパルス
がハイの間は、このキャパシタに徐々に電荷が蓄積され
て電圧は上がるが、サンプル/ホールド制御信号SHの
パルスがロウとなって遮断されると、充電動作を停止す
る。
従って、この積分時間範囲でのチャージ分だけが意味を
持つ。サンプル/ホールド制御信号のパルスの幅によっ
て比例配分された電圧、即ち、入力電圧に積分ゲインを
掛けたものとなる。すなわち、入力サンプル/ホールド
制御信号S/Hのパルス幅がPのとき、キャパシタCに
充電される電圧は■3であり、サンプル/ホールド制御
信号S/Hのパルス幅Wのとき充電電圧はV、l とな
る。
持つ。サンプル/ホールド制御信号のパルスの幅によっ
て比例配分された電圧、即ち、入力電圧に積分ゲインを
掛けたものとなる。すなわち、入力サンプル/ホールド
制御信号S/Hのパルス幅がPのとき、キャパシタCに
充電される電圧は■3であり、サンプル/ホールド制御
信号S/Hのパルス幅Wのとき充電電圧はV、l とな
る。
サンプル/ホールド制御信号SHが下がり、スイッチン
グ制御より積分器のキャパシタの極性が変わり、オフセ
ット分が加算されている積分出力は反転する。そして、
オフセットコントロール信号OCがハイ状態でサンプル
/ホールド制御信号SHが再び立ち上がると、オフセッ
ト電圧■5(vb ’ )がそのキャパシタに加算され
、SH倍信号立ち下がった時点では、結果としてオフセ
ット分がキャンセルされた積分出力値Va−V。
グ制御より積分器のキャパシタの極性が変わり、オフセ
ット分が加算されている積分出力は反転する。そして、
オフセットコントロール信号OCがハイ状態でサンプル
/ホールド制御信号SHが再び立ち上がると、オフセッ
ト電圧■5(vb ’ )がそのキャパシタに加算され
、SH倍信号立ち下がった時点では、結果としてオフセ
ット分がキャンセルされた積分出力値Va−V。
(V、 ′−V、 ′)を極性をもどしてサンプル
/ホールドされる。
/ホールドされる。
次に、階層型ニューラルネットワークを説明する。第7
A図は階層型ネットワークの概念図である。階層型では
左側の入力層の入力ノード110から入った入力データ
は順次右側の方向に向かって1方向にだけ処理されてい
く。中間層の各ニューロン112は、ダミーノード11
1を含む前の層の出力をそれぞれ層内の完全結合で受け
るようになっている。入力層に例えば4個の入力ツード
ア 110があると、それにダミーノード111の1個がた
され、中間層の各ニューロン112からみると入力層は
5つのニューロンに見えている。ここで、ダミーノード
111とは、スレッシュホールドをコントロールするも
ので、積和の結果Xのシグモイド関数 の値Xに一定値−θを加えることによりX軸の正方向に
シフトさせた値f (X−θ)にするものである。これ
はダミーノード111に対応する重みをニューロン内で
変えることと等価であるが、後述するマックスバリュー
ノード回路を用いて、定値θを生成している。このよう
に、ダミーノドに対する重みを用意しておけば、闇値を
重みで表現することができる。そして出力層のニューロ
ン112から中間層はニューロンが4個あるようにみえ
る。入力層に加えられた入力データは、中間層ニューロ
ン112、出力層ニューoンl 12で重みデータを用
いてそれぞれ積和演算を施され、結果として出力データ
を発生する。
A図は階層型ネットワークの概念図である。階層型では
左側の入力層の入力ノード110から入った入力データ
は順次右側の方向に向かって1方向にだけ処理されてい
く。中間層の各ニューロン112は、ダミーノード11
1を含む前の層の出力をそれぞれ層内の完全結合で受け
るようになっている。入力層に例えば4個の入力ツード
ア 110があると、それにダミーノード111の1個がた
され、中間層の各ニューロン112からみると入力層は
5つのニューロンに見えている。ここで、ダミーノード
111とは、スレッシュホールドをコントロールするも
ので、積和の結果Xのシグモイド関数 の値Xに一定値−θを加えることによりX軸の正方向に
シフトさせた値f (X−θ)にするものである。これ
はダミーノード111に対応する重みをニューロン内で
変えることと等価であるが、後述するマックスバリュー
ノード回路を用いて、定値θを生成している。このよう
に、ダミーノドに対する重みを用意しておけば、闇値を
重みで表現することができる。そして出力層のニューロ
ン112から中間層はニューロンが4個あるようにみえ
る。入力層に加えられた入力データは、中間層ニューロ
ン112、出力層ニューoンl 12で重みデータを用
いてそれぞれ積和演算を施され、結果として出力データ
を発生する。
第7A図に示した階層型構造のものを本発明のANPを
用いて実現すると、第7B図のように、各層間、つまり
人力と中間層との間、中間層と出力層の間、出力層の出
力にそれぞれの独立のアナログバスB1.B2.B3を
設けることになφ。
用いて実現すると、第7B図のように、各層間、つまり
人力と中間層との間、中間層と出力層の間、出力層の出
力にそれぞれの独立のアナログバスB1.B2.B3を
設けることになφ。
縦方向のA N Pは全部並列に実行できるという構造
になる。出力層の出力にはサンプルホールド回路SHを
付ける。
になる。出力層の出力にはサンプルホールド回路SHを
付ける。
第8図は階層ニューラルネットワークを実現する本発明
のニューロコンピュータのブロック図である。ニューロ
チップからアナログニューロンプロセッサANP 1〜
5を各層に並列に配置し、各層間に独立にアナログバス
(Bl、B2.B3)を設ける。同図において、ANP
i 2.3で中間層を形成し、ANP4.5で出力層
を形成する。
のニューロコンピュータのブロック図である。ニューロ
チップからアナログニューロンプロセッサANP 1〜
5を各層に並列に配置し、各層間に独立にアナログバス
(Bl、B2.B3)を設ける。同図において、ANP
i 2.3で中間層を形成し、ANP4.5で出力層
を形成する。
また、入力段のANPはなく、入力側にはアナログ入力
信号をタイミングよく入力するためのデイジー回路17
1.172が存在する。S/Hで示す回路はサンプル/
ホールド回路173,174である。ANP1〜5には
それぞれコントロール用のロジック信号が必要であるの
で、マスクコントロールブロック(MCB)181から
各層に多くの制御信号線を送り込む。データクロックD
CLKはすべてのANPの入力側のデイジー回路171
と172に与えられ、アナログ処理の基本クロックとな
る。重みクロックWCLKもすべてのANPと入力側の
デイジー回路171.172に与えられ、重みデータ用
の高速クロックである。
信号をタイミングよく入力するためのデイジー回路17
1.172が存在する。S/Hで示す回路はサンプル/
ホールド回路173,174である。ANP1〜5には
それぞれコントロール用のロジック信号が必要であるの
で、マスクコントロールブロック(MCB)181から
各層に多くの制御信号線を送り込む。データクロックD
CLKはすべてのANPの入力側のデイジー回路171
と172に与えられ、アナログ処理の基本クロックとな
る。重みクロックWCLKもすべてのANPと入力側の
デイジー回路171.172に与えられ、重みデータ用
の高速クロックである。
重みメモリブロック185,186から各ANP4.5
及びANPI、2.3にはその重みクロックWCLKに
同期して重みデータが入力される。
及びANPI、2.3にはその重みクロックWCLKに
同期して重みデータが入力される。
また、同期信号5YNCIは中間層のANPに与えられ
る層の同期クロックで同期信号5YNC2は出力層のA
NPに与えられる層の同期クロックである。SHIとO
Clは中間層のANPに対するサンプル/ホールド制御
信号とオフセットコントロール信号、SH2とOC2は
出力層のANPに対するサンプル/ボールド制御信号と
オフセットコントロール信号である。
る層の同期クロックで同期信号5YNC2は出力層のA
NPに与えられる層の同期クロックである。SHIとO
Clは中間層のANPに対するサンプル/ホールド制御
信号とオフセットコントロール信号、SH2とOC2は
出力層のANPに対するサンプル/ボールド制御信号と
オフセットコントロール信号である。
左側のブロックであるデイジー回路171,172は、
人力層に相当する入力側回路である。入力ノード、つま
り入力層内のニューロンを実現するために、アナログ信
号を時分割でANPが出すのと同じタイミングで、アナ
ログ入力ポート0゜1より与えられるアナログ入力信号
を回路内に入力しなければならない。つまり、出力層か
らみれば、出力層のANP4.5は前の中間層のANP
l、2.3からアナログ信号をアナログバスB2を介し
て時分割で受けることを基本動作としている。これと同
し関係が中間層と入力層にも存在しなければならない。
人力層に相当する入力側回路である。入力ノード、つま
り入力層内のニューロンを実現するために、アナログ信
号を時分割でANPが出すのと同じタイミングで、アナ
ログ入力ポート0゜1より与えられるアナログ入力信号
を回路内に入力しなければならない。つまり、出力層か
らみれば、出力層のANP4.5は前の中間層のANP
l、2.3からアナログ信号をアナログバスB2を介し
て時分割で受けることを基本動作としている。これと同
し関係が中間層と入力層にも存在しなければならない。
入力層と中間層の関係は、中間層のANPから見るとそ
の前に入力層のANPがあるように見えなければいけな
い。このことは、中間層のANPがアナログバスB2に
アナログ信号を出力するタイミングと同じ機能でアナロ
グ入力ボート0.1からのアナログ人力信号に対しても
決まった規則でアナログバスB1に出力しなくてはなら
ないという制約がある。即ちアナログ入力ボート0.1
からの入力信号はアナログバスB1に時分割に乗ってく
る。アナログ人力ボートOからのアナログ信号は、適当
なタイミングでアナログバスB1に乗るが、そこに出力
した次のタイミングで、アナログ入力ボート1からの次
のアナログ入力信号が同じアナログバスB1に乗る。こ
の同期をとるために一定のタイミングで出される入力制
御信号C8Iをデイジー回路171が人力し、一定時間
後に、その回路から出力制御信号C8Oが出される。こ
のC3Iはマスクコントロール回路181のC3O1か
ら出力される。デイジー回路171,172は一種の遅
延回路である。
の前に入力層のANPがあるように見えなければいけな
い。このことは、中間層のANPがアナログバスB2に
アナログ信号を出力するタイミングと同じ機能でアナロ
グ入力ボート0.1からのアナログ人力信号に対しても
決まった規則でアナログバスB1に出力しなくてはなら
ないという制約がある。即ちアナログ入力ボート0.1
からの入力信号はアナログバスB1に時分割に乗ってく
る。アナログ人力ボートOからのアナログ信号は、適当
なタイミングでアナログバスB1に乗るが、そこに出力
した次のタイミングで、アナログ入力ボート1からの次
のアナログ入力信号が同じアナログバスB1に乗る。こ
の同期をとるために一定のタイミングで出される入力制
御信号C8Iをデイジー回路171が人力し、一定時間
後に、その回路から出力制御信号C8Oが出される。こ
のC3Iはマスクコントロール回路181のC3O1か
ら出力される。デイジー回路171,172は一種の遅
延回路である。
各デイジー回路171はマスクコントロール181から
入力制御信号C3Iを人力すると、自分は縦方向に隣接
する次のデイジー回路172に対して、アナログ入力ボ
ート1のアナログ出力信号を出すように、C8O信号を
次に渡すことになる。
入力制御信号C3Iを人力すると、自分は縦方向に隣接
する次のデイジー回路172に対して、アナログ入力ボ
ート1のアナログ出力信号を出すように、C8O信号を
次に渡すことになる。
この動作をデイジー制御と呼ぶ。
マスクコントロール回路181のC3O1が立ち上がる
と、スイッチ175がオンし、サンプル/ホールド回路
173に保持されているアナログ入力ボートOのアナロ
グ入力信号はアナログバスB1に乗る。C3OIはデイ
ジー回路171のC3Iであるから、これが立ち下がっ
てから一定時間後にC8Oが立ち上がる。これはデイジ
ー回路172のC3Iであると同時に、スイッチ176
を制御してオンにさせるので、サンプル/ホールド回路
174に保持されていたアナログ入力ボート1のアナロ
グ入力信号をバスB1に乗せる。階層構造になった本シ
ステムでは、このデイジー制御が必要となる。つまり、
アナログ入力信号に対してアナログ入力ボートOからサ
ンプル/ホールド回路173を介してアナログバスB1
に出力すれば、次にアナログ入力信号に対してアナログ
入力ボート1からサンプル/ホールド回路174を介し
て同じアナログバスB1に出力させることになる。中間
層の各ニューロンでみているとアナログ人力ボート0の
アナログ入力信号とアナログ入力ボート1からの次のア
ナログ入力信号とは時分割で逐次に入ってくる。
と、スイッチ175がオンし、サンプル/ホールド回路
173に保持されているアナログ入力ボートOのアナロ
グ入力信号はアナログバスB1に乗る。C3OIはデイ
ジー回路171のC3Iであるから、これが立ち下がっ
てから一定時間後にC8Oが立ち上がる。これはデイジ
ー回路172のC3Iであると同時に、スイッチ176
を制御してオンにさせるので、サンプル/ホールド回路
174に保持されていたアナログ入力ボート1のアナロ
グ入力信号をバスB1に乗せる。階層構造になった本シ
ステムでは、このデイジー制御が必要となる。つまり、
アナログ入力信号に対してアナログ入力ボートOからサ
ンプル/ホールド回路173を介してアナログバスB1
に出力すれば、次にアナログ入力信号に対してアナログ
入力ボート1からサンプル/ホールド回路174を介し
て同じアナログバスB1に出力させることになる。中間
層の各ニューロンでみているとアナログ人力ボート0の
アナログ入力信号とアナログ入力ボート1からの次のア
ナログ入力信号とは時分割で逐次に入ってくる。
各デイジー回路171.172は、アナログバスB1上
のバス競合を防ぐために、入力制御信号C3Iを特定の
時間だけ遅延させて出力制御信号C8Oを出す。
のバス競合を防ぐために、入力制御信号C3Iを特定の
時間だけ遅延させて出力制御信号C8Oを出す。
中間層においても、マスクコントロールブロック181
からの出力制御信号C3O2をC3Iとして受けるAN
P 1がアナログ信号を出力したら、C8OをC8Iと
してANP2に渡すと、次にANP2が出力する。AN
P2のC8OをC3Iとして受けるANP3が次にアナ
ログ信号を出力すことになる。要するに、ここではAN
PI、2゜3の順に出力し、中間層のデイジー動作が終
わる。
からの出力制御信号C3O2をC3Iとして受けるAN
P 1がアナログ信号を出力したら、C8OをC8Iと
してANP2に渡すと、次にANP2が出力する。AN
P2のC8OをC3Iとして受けるANP3が次にアナ
ログ信号を出力すことになる。要するに、ここではAN
PI、2゜3の順に出力し、中間層のデイジー動作が終
わる。
これと並行して全ての動作を管理しているマスクコント
ロールブロック181は、出力層のANP4にC3O3
を与えるとANP 4が出力し、出力完了後、ANP4
がANP5にC8Oを与えるとANP5が出力する。
ロールブロック181は、出力層のANP4にC3O3
を与えるとANP 4が出力し、出力完了後、ANP4
がANP5にC8Oを与えるとANP5が出力する。
出力層のANP4.5からの出力は、それぞれマスクコ
ントロールブロック181からC8O3信号及びANP
4からのデイジ−チェーン用出力制御信号C8Oによっ
てそれぞれサンプル/ホールド回路177.178でサ
ンプル/ホールドされる。この出力電圧は、アナログ出
力ボート0゜1からアナログ出力信号として出力される
他、アナログマルチプレクサ179で選択された後、A
/Dコンバータ180でA/D変換され、MPU182
、メモリ183、通信インタフェイス184から構成さ
れるディジタル制御手段に入力される。そして、MPU
182で例えば学習時に与えたMPU内に蓄えられた教
師信号と比較し、所望の出力信号であるかのヂエソクを
行い、この結果に基づいて後述する重みメモリの重みデ
ータを変更する。マックスバリューノード回路187は
マスクコントロールブロック181からダミーノード制
御信号DC3L、DC32が出力イネーブル1及び2に
加えられるとともに、出力端子はアナログバスBl、B
2に接続される。
ントロールブロック181からC8O3信号及びANP
4からのデイジ−チェーン用出力制御信号C8Oによっ
てそれぞれサンプル/ホールド回路177.178でサ
ンプル/ホールドされる。この出力電圧は、アナログ出
力ボート0゜1からアナログ出力信号として出力される
他、アナログマルチプレクサ179で選択された後、A
/Dコンバータ180でA/D変換され、MPU182
、メモリ183、通信インタフェイス184から構成さ
れるディジタル制御手段に入力される。そして、MPU
182で例えば学習時に与えたMPU内に蓄えられた教
師信号と比較し、所望の出力信号であるかのヂエソクを
行い、この結果に基づいて後述する重みメモリの重みデ
ータを変更する。マックスバリューノード回路187は
マスクコントロールブロック181からダミーノード制
御信号DC3L、DC32が出力イネーブル1及び2に
加えられるとともに、出力端子はアナログバスBl、B
2に接続される。
第9A図は第8図に示した実施例にかかる階層型ニュー
ロコンピュータのタイミング図である。
ロコンピュータのタイミング図である。
各層別にその制御信号線が抜き出して書かれている。、
まず基本的な動作クロックであるデータクロツクDCL
Kと重みクロックWCLKは同一層のすべてのANPや
入力側のデイジー回路171172に同時に入る。
まず基本的な動作クロックであるデータクロツクDCL
Kと重みクロックWCLKは同一層のすべてのANPや
入力側のデイジー回路171172に同時に入る。
重みクロックWCLKは、重みのディジタルデータをシ
リアルで送り込むためのシリアル同期パルスで、重みメ
モリブロックから重みを読み出すための同期クロックで
ある。どのタイミングで、入力データを取り込むかはそ
れぞれの制御信号で規定する。まず第9A図のタイミン
グチャートにおいて、C801はマスクコントロールブ
ロック1131から出力されるデイジ−チェーン用制御
信号C801、すなわちデイジー回路171へのデイジ
−チェーン用制御信号C3Iである。デイジー回路17
1において、C3Iが1番目のアナログ入力信号をアナ
ログ入力ボート0からサンプル/ホールド回路5H17
3を介してアナログバスB1に出力させる。すなわちタ
イミングチャートの■においてアナログ信号をアナログ
バスB1に出力させる。この瞬間に、アナログバスB1
上に電圧が乗り、ANPI、ANP2.ANP3はこの
アナログ信号に対して並列に積和演算を行う。
リアルで送り込むためのシリアル同期パルスで、重みメ
モリブロックから重みを読み出すための同期クロックで
ある。どのタイミングで、入力データを取り込むかはそ
れぞれの制御信号で規定する。まず第9A図のタイミン
グチャートにおいて、C801はマスクコントロールブ
ロック1131から出力されるデイジ−チェーン用制御
信号C801、すなわちデイジー回路171へのデイジ
−チェーン用制御信号C3Iである。デイジー回路17
1において、C3Iが1番目のアナログ入力信号をアナ
ログ入力ボート0からサンプル/ホールド回路5H17
3を介してアナログバスB1に出力させる。すなわちタ
イミングチャートの■においてアナログ信号をアナログ
バスB1に出力させる。この瞬間に、アナログバスB1
上に電圧が乗り、ANPI、ANP2.ANP3はこの
アナログ信号に対して並列に積和演算を行う。
そのC8Oがデイジー回路171を通過し、C8Oが立
ち下がってから所定時間後に次のC3Iが■に示ずよう
に立ち上がり、デイジー回路172にそのC8Iが入る
。次のC8■は入力層の2番目のデイジー回路172に
入る制御信号である。
ち下がってから所定時間後に次のC3Iが■に示ずよう
に立ち上がり、デイジー回路172にそのC8Iが入る
。次のC8■は入力層の2番目のデイジー回路172に
入る制御信号である。
そしてC3Iがハイの間にアナログ入力ボート1からア
ナログ入力信号をサンプル/ホールド回路S H174
を介してANPI、ANP2.ANP3に入力し、ここ
で積和演算を行う。マスクコントロールブロック181
かものII)C31は、ダミーノードへの制御信号であ
る。各層とも入力の他にダミーノードからの信号がある
のでにニーロンノード数+1)個のノードの形態であり
、入力層では2人力であるが、各中間層のANPからみ
ると3人力であるように見える。これを時間的に説明す
ると、2つのC3Iと1つのDC31で1つのブロック
となる制御信号である。入力のサイクルは、最初のC3
Iから始まり、DC31のダミーへの入力で終わる。ダ
ミーノードはマンクスバリューノード回路187であり
、その回路はDC3Iが入力されている間アナログバス
に固定されたある閾値電圧を出力する。すなわち■で示
すようにDC3Iが立ち上がってからこの電圧が出力さ
れている間、中間層の各ANPは通常の入力と同様に積
和演算を行って、その固定電圧が前の2つのアナログ入
力信号の積和演算されたものの結果に加えられることに
なる。すなわち、掛は算後、足し算を実行する。5YN
CIは、csoiが立ち上がる前のDCLKの立ち下が
りでハイとなり、[)C31が立ち上がってから次のD
CLKの立ち下がりでロウとなる。これは入力層の同期
をとる信号である。WCLKが人力されている間でアナ
ログ入力と重みデータの掛は算が行われる。
ナログ入力信号をサンプル/ホールド回路S H174
を介してANPI、ANP2.ANP3に入力し、ここ
で積和演算を行う。マスクコントロールブロック181
かものII)C31は、ダミーノードへの制御信号であ
る。各層とも入力の他にダミーノードからの信号がある
のでにニーロンノード数+1)個のノードの形態であり
、入力層では2人力であるが、各中間層のANPからみ
ると3人力であるように見える。これを時間的に説明す
ると、2つのC3Iと1つのDC31で1つのブロック
となる制御信号である。入力のサイクルは、最初のC3
Iから始まり、DC31のダミーへの入力で終わる。ダ
ミーノードはマンクスバリューノード回路187であり
、その回路はDC3Iが入力されている間アナログバス
に固定されたある閾値電圧を出力する。すなわち■で示
すようにDC3Iが立ち上がってからこの電圧が出力さ
れている間、中間層の各ANPは通常の入力と同様に積
和演算を行って、その固定電圧が前の2つのアナログ入
力信号の積和演算されたものの結果に加えられることに
なる。すなわち、掛は算後、足し算を実行する。5YN
CIは、csoiが立ち上がる前のDCLKの立ち下が
りでハイとなり、[)C31が立ち上がってから次のD
CLKの立ち下がりでロウとなる。これは入力層の同期
をとる信号である。WCLKが人力されている間でアナ
ログ入力と重みデータの掛は算が行われる。
中間層のANPに入るサンプル/ホールド信号SH1に
は、2つの山Ml、M2が出力されているが、最初の山
M1の少し前で積をとり山の部分で和を生成し、ホール
ドする。そして、次の山M2でオフセット電圧Vb
(第6図参照)を差し引いてサンプル/ホールドする。
は、2つの山Ml、M2が出力されているが、最初の山
M1の少し前で積をとり山の部分で和を生成し、ホール
ドする。そして、次の山M2でオフセット電圧Vb
(第6図参照)を差し引いてサンプル/ホールドする。
このような処理を入力されるすべてのアナログ信号につ
いて順次繰り返し行い、積和の計算が終わる。この場合
はダミーを含めて中間層の各ANPは積和演算を3回実
行する。これで中間層の各ANPの処理は終わり、3人
力に対する積の加算までが終了する。
いて順次繰り返し行い、積和の計算が終わる。この場合
はダミーを含めて中間層の各ANPは積和演算を3回実
行する。これで中間層の各ANPの処理は終わり、3人
力に対する積の加算までが終了する。
また、タイミングチャートに於いてDC31が立ち下が
った直後のDCLKがハイのとき、アナログ2カボート
0.1.ダミーノードから3つの信号について積和演算
した結果が各ANPI、2゜3のキャパシタ(第4図、
サンプル/ホール1部45内の06)にホールドされる
。このような動作が基本的に繰り返されることになるが
、中間層と出力層との間にあるアナログバスB2にAN
Plの出力信号をいつ出力するかということはマスクコ
ントロールブロック181から出されるC802の信号
の立ち上がりで決まる。
った直後のDCLKがハイのとき、アナログ2カボート
0.1.ダミーノードから3つの信号について積和演算
した結果が各ANPI、2゜3のキャパシタ(第4図、
サンプル/ホール1部45内の06)にホールドされる
。このような動作が基本的に繰り返されることになるが
、中間層と出力層との間にあるアナログバスB2にAN
Plの出力信号をいつ出力するかということはマスクコ
ントロールブロック181から出されるC802の信号
の立ち上がりで決まる。
SHIの下に示したオフセットコントロール制御信号O
CIはANPの内部においてオフセットキャンセルを行
う。すなわち各ANPは内部的にオペアンプを含むアナ
ログ回路であって、回路自体がオフセットを持っている
ため、このオフセットをキャンセルするための制御信号
がOC信号である。OClに示されるように積和の演算
が1つ実行される毎に1つのパルスが出され、内部にお
いてオフセットキャンセルが実行されている。タイミン
グチャートでは■で示すようにC3O2が立ち上がると
ともにANPIからアナログバスB2にANP 1にホ
ールドされていた信号が出力し、C3O2がハイの間に
出力層のANP4が積和演算を行う。■で示されるC3
O2の立ち上がりはその前の入力結果の積和の結果を出
力するタイミングである。
CIはANPの内部においてオフセットキャンセルを行
う。すなわち各ANPは内部的にオペアンプを含むアナ
ログ回路であって、回路自体がオフセットを持っている
ため、このオフセットをキャンセルするための制御信号
がOC信号である。OClに示されるように積和の演算
が1つ実行される毎に1つのパルスが出され、内部にお
いてオフセットキャンセルが実行されている。タイミン
グチャートでは■で示すようにC3O2が立ち上がると
ともにANPIからアナログバスB2にANP 1にホ
ールドされていた信号が出力し、C3O2がハイの間に
出力層のANP4が積和演算を行う。■で示されるC3
O2の立ち上がりはその前の入力結果の積和の結果を出
力するタイミングである。
次に、第9図を使って中間層と出力層との間のタイミン
グを説明する。
グを説明する。
なお、同図において、中間層からのデイジ−チェーン制
御信号の出力■、■、■、■及び出力層からの出力■、
■に同期してアナログバス上にあられれるアナログ信号
は上述した入力層からのデイジ−チェーン制御信号の出
力■、■、■に同期してアナログバス上に入力されるア
ナログ信号に対して■処理サイクル前の結果が現れるこ
とになる。パイプライン処理の実行は後で説明するが、
タイミングチャートの■で示されるC802の立ち上が
り時において、ANPIの出力が出される。
御信号の出力■、■、■、■及び出力層からの出力■、
■に同期してアナログバス上にあられれるアナログ信号
は上述した入力層からのデイジ−チェーン制御信号の出
力■、■、■に同期してアナログバス上に入力されるア
ナログ信号に対して■処理サイクル前の結果が現れるこ
とになる。パイプライン処理の実行は後で説明するが、
タイミングチャートの■で示されるC802の立ち上が
り時において、ANPIの出力が出される。
■に示されるC3O2の立ち上がり時にタイミングチャ
ー) S H2の信号を見るとパルスが2つ出されてい
る。SH2H2O28図のブロック図において、出力層
の第1番目のANP4に入力されている。すなわちSH
2H2O2つの山のパルスにおいて、ANP4内で和の
演算が1つ実−行される。中間層には図に示されるよう
にANPI、2゜3の3つの中間層のニューロンがある
が、マックスバリューノード回路187によるダミーノ
ードが1つ加えられ、合計4つのニューロンがあると仮
定されている。従ってSH2H2O22つのパルスが■
の部分から見て4回出力されており、このS H2信号
の4組の山のパルスで中間層のアナログ信号がANP4
に入力され積和が演算される。
ー) S H2の信号を見るとパルスが2つ出されてい
る。SH2H2O28図のブロック図において、出力層
の第1番目のANP4に入力されている。すなわちSH
2H2O2つの山のパルスにおいて、ANP4内で和の
演算が1つ実−行される。中間層には図に示されるよう
にANPI、2゜3の3つの中間層のニューロンがある
が、マックスバリューノード回路187によるダミーノ
ードが1つ加えられ、合計4つのニューロンがあると仮
定されている。従ってSH2H2O22つのパルスが■
の部分から見て4回出力されており、このS H2信号
の4組の山のパルスで中間層のアナログ信号がANP4
に入力され積和が演算される。
この動作は当然、中間層のANPが入力信号に対して積
和演算をしているタイミングと同時に行っていることに
なり、これはパイプライン処理となっている。C3O2
の下の信号は中間層にあるANPIのC8Oの信号で、
これは同じ中間層のANP2に対するC8Iである。こ
れが■で示されている部分である。その下はANP2の
C8Oでその下はANP3のC3Iでこれが■である。
和演算をしているタイミングと同時に行っていることに
なり、これはパイプライン処理となっている。C3O2
の下の信号は中間層にあるANPIのC8Oの信号で、
これは同じ中間層のANP2に対するC8Iである。こ
れが■で示されている部分である。その下はANP2の
C8Oでその下はANP3のC3Iでこれが■である。
その下がANP3のC8○であり、その下の■がダミー
ノードのC3IであってこれはDC32、ずなわちマス
タコントロールブロックから出される信号である。C3
Iで見ると■、■、■、■の順序でそれぞれ中間層のA
NPI、ANP2.ANP3、そしてダミーノードのマ
ックスバリューノード回路187に人力される。この間
S H2信号は2つの山を持つパルス信号を4つ出して
いる。
ノードのC3IであってこれはDC32、ずなわちマス
タコントロールブロックから出される信号である。C3
Iで見ると■、■、■、■の順序でそれぞれ中間層のA
NPI、ANP2.ANP3、そしてダミーノードのマ
ックスバリューノード回路187に人力される。この間
S H2信号は2つの山を持つパルス信号を4つ出して
いる。
すなわち、ANP4の出力層のニューロンは人力アナロ
グ信号と重みとの積を4つ分加えることになる。■の部
分でANPIにC3Iが人力している時にはANPIか
らアナログ信号が中間層と出力層の間のアナログバスに
信号が出され、これがANP4に入力される。そしてこ
の時、対応する重みデータがANP4に入力され、それ
と共に積が実行され、SH2H2O21の山で加算され
、第2の山でサンプル/ホールドされる。そしてこの計
算が終わると、ANPIからC8Oの信号が立ち上がり
、これがANP2のC3Iとなる。これが■の状態であ
り、この時重みデータとアナログバス上のデータとが掛
は算され、和が計算される。■が立ち下がったあと所定
時間後にANP3へのC8Iがハイとなり■で示ずよう
にANP4で積和演算が行われる。このような積和の演
算がANPd内で計算され、■のところでマックスバリ
ューノード回路187から出力される固定電圧がANP
4に人力され、これが内部のいままで蓄えられた積和に
加えられることになる。
グ信号と重みとの積を4つ分加えることになる。■の部
分でANPIにC3Iが人力している時にはANPIか
らアナログ信号が中間層と出力層の間のアナログバスに
信号が出され、これがANP4に入力される。そしてこ
の時、対応する重みデータがANP4に入力され、それ
と共に積が実行され、SH2H2O21の山で加算され
、第2の山でサンプル/ホールドされる。そしてこの計
算が終わると、ANPIからC8Oの信号が立ち上がり
、これがANP2のC3Iとなる。これが■の状態であ
り、この時重みデータとアナログバス上のデータとが掛
は算され、和が計算される。■が立ち下がったあと所定
時間後にANP3へのC8Iがハイとなり■で示ずよう
にANP4で積和演算が行われる。このような積和の演
算がANPd内で計算され、■のところでマックスバリ
ューノード回路187から出力される固定電圧がANP
4に人力され、これが内部のいままで蓄えられた積和に
加えられることになる。
以上の動作は出力層のANP5に対しても並行して行わ
れる。ここに同時処理がある。ANP 4で計算された
積和演算の結果が出力層に接続されたアナログバスB3
に出力されるタイミングはマスクコントロールブロック
181から出されるC3O3の立ち上がりである。マソ
クスバリニーノド回路187がアナログバスB2に出力
するための制御信号がDC32であって、これが■に対
応する。このDC32までは中間層における計算結果を
出力するまでの動作である。タイミングチャートのこれ
よりも下に書いである信号に対しては同じような動作で
あり、中間層とカスケードに接続された出力層側の動作
を規定する信号パルスである。C3O3が立ち上がると
、ANP4で1算された積和演算の結果が出力されるこ
とになる。
れる。ここに同時処理がある。ANP 4で計算された
積和演算の結果が出力層に接続されたアナログバスB3
に出力されるタイミングはマスクコントロールブロック
181から出されるC3O3の立ち上がりである。マソ
クスバリニーノド回路187がアナログバスB2に出力
するための制御信号がDC32であって、これが■に対
応する。このDC32までは中間層における計算結果を
出力するまでの動作である。タイミングチャートのこれ
よりも下に書いである信号に対しては同じような動作で
あり、中間層とカスケードに接続された出力層側の動作
を規定する信号パルスである。C3O3が立ち上がると
、ANP4で1算された積和演算の結果が出力されるこ
とになる。
出力層ではANP4、ANP5の2個が出力される。な
お、例えば■のC3O2の立ち上がりは、ANP 1に
入る信号で、この立ち上がりはDCLKよりも遅れてい
る。これはアナログ入力信号とディジタル重みデータと
の積演算を行う場合、WCLKてディジタルデータを読
み込む時にシリアルであって、これを内部でパラレルに
変換するディジタルデータの読み込み時間とアナログ入
力信号がD/Aコンバータすなわち乗算処理部に到達す
るまでの時間を考慮してC3O2の立ち上がりを遅ら(
でいるからである。すなわち、最初の頭の部分でズして
いるのは、データの呼び出し、つまりシリアルデータの
読み込み時間が含まれている。データがセットし終わる
のはDCLKの立ち上がりから、しばらくたった時間す
なわちWCLKで16サイクル後である。アナログ乗算
の開始時間はC3O2が立ち上がってからWCLKで8
サイクルたった後である。
お、例えば■のC3O2の立ち上がりは、ANP 1に
入る信号で、この立ち上がりはDCLKよりも遅れてい
る。これはアナログ入力信号とディジタル重みデータと
の積演算を行う場合、WCLKてディジタルデータを読
み込む時にシリアルであって、これを内部でパラレルに
変換するディジタルデータの読み込み時間とアナログ入
力信号がD/Aコンバータすなわち乗算処理部に到達す
るまでの時間を考慮してC3O2の立ち上がりを遅ら(
でいるからである。すなわち、最初の頭の部分でズして
いるのは、データの呼び出し、つまりシリアルデータの
読み込み時間が含まれている。データがセットし終わる
のはDCLKの立ち上がりから、しばらくたった時間す
なわちWCLKで16サイクル後である。アナログ乗算
の開始時間はC3O2が立ち上がってからWCLKで8
サイクルたった後である。
第10図は、ディジタル重みデータの読み込みタイミン
グを示すタイミングチャートである。同図において、マ
スタクロックMCLK、同期信号5YNC,重みクロッ
クWCL K、データクロックDCLK、実際の重みデ
ータWDATAが示されている。重みデータWDATA
は重みメモリからビットシリアルで読み出され、16ビ
ツトがシリアルに人力される。Sはサインビットで、B
14〜BOまでが数値ビットである。同図において重み
データWDATAのB8.B7.B6の部分が重みクロ
ックWCLKとの対応として図の下方に拡大された形で
表現されている。重みクロックWCLKは周期が250
n5ecでデユーティ比50%になっている。WCL
Kの立ち下がりからシーケンサ内部にあるアドレス更新
用のカウンタの伝播遅延時間後に重みメモリにアドレス
が与えられる。即ち重みメモリ (RAM)のビットn
のアドレスは重みデータWDATAのビット7が格納さ
れている重みメモリのアドレスである。このアドレスが
確定した後、tAA時刻後にビット7が読み出されてい
る。ビット7からビット6への変化は重みクロックの次
の周期への変化によって決まり、ビット6は次の周期で
読み出されている。重みデータの16ビツトはANPに
入力され、ANPに入力されるアナログ電圧との積が内
部のD/Aコンバータによって計算されるので、アナロ
グ電圧の入力開始は、データクロツタDCLKからの立
ち上がりからずっと後に入力される。即ち、アナログ入
力電圧は入力されてからD/Aコンバータに到達される
までの時間があるのでその時間とディジタル重みデータ
が内部にセントされる時間とを制御し、重みデータの到
着時間とアナログの到着時間がちょうど一致するように
アナログ電圧を入力する必要がある。
グを示すタイミングチャートである。同図において、マ
スタクロックMCLK、同期信号5YNC,重みクロッ
クWCL K、データクロックDCLK、実際の重みデ
ータWDATAが示されている。重みデータWDATA
は重みメモリからビットシリアルで読み出され、16ビ
ツトがシリアルに人力される。Sはサインビットで、B
14〜BOまでが数値ビットである。同図において重み
データWDATAのB8.B7.B6の部分が重みクロ
ックWCLKとの対応として図の下方に拡大された形で
表現されている。重みクロックWCLKは周期が250
n5ecでデユーティ比50%になっている。WCL
Kの立ち下がりからシーケンサ内部にあるアドレス更新
用のカウンタの伝播遅延時間後に重みメモリにアドレス
が与えられる。即ち重みメモリ (RAM)のビットn
のアドレスは重みデータWDATAのビット7が格納さ
れている重みメモリのアドレスである。このアドレスが
確定した後、tAA時刻後にビット7が読み出されてい
る。ビット7からビット6への変化は重みクロックの次
の周期への変化によって決まり、ビット6は次の周期で
読み出されている。重みデータの16ビツトはANPに
入力され、ANPに入力されるアナログ電圧との積が内
部のD/Aコンバータによって計算されるので、アナロ
グ電圧の入力開始は、データクロツタDCLKからの立
ち上がりからずっと後に入力される。即ち、アナログ入
力電圧は入力されてからD/Aコンバータに到達される
までの時間があるのでその時間とディジタル重みデータ
が内部にセントされる時間とを制御し、重みデータの到
着時間とアナログの到着時間がちょうど一致するように
アナログ電圧を入力する必要がある。
例えば、アナログ入力端子の立ち上がりは、重みデータ
のB7あたりから立ちあげ、重みデータのBOが入力さ
れ、その後すべての重みデータが内部で確定した頃にそ
のアナログ値との乗算がスタートするように時間の制御
をとる必要がある。
のB7あたりから立ちあげ、重みデータのBOが入力さ
れ、その後すべての重みデータが内部で確定した頃にそ
のアナログ値との乗算がスタートするように時間の制御
をとる必要がある。
そして加算はDCLKが次にロウになる期間で行われる
。
。
ANPの動作時間は、5YNC信号とWCLK。
及びデータDCLKで規定される。そしてアナログ入力
電圧はANPの入力端子からディジタル重みデータと積
を実行するD/Aコンバータ迄の電圧到達時間等にかな
りの時間誤差があるので、マージンを見込んでC3Iの
立上りはDCLKの立上りより遅れたところから始まる
ことになる。
電圧はANPの入力端子からディジタル重みデータと積
を実行するD/Aコンバータ迄の電圧到達時間等にかな
りの時間誤差があるので、マージンを見込んでC3Iの
立上りはDCLKの立上りより遅れたところから始まる
ことになる。
第11A図はマスクコントロールブロック181の構成
図である。マスクコントロールブロック181はすべて
の制御信号を総括する部分である。
図である。マスクコントロールブロック181はすべて
の制御信号を総括する部分である。
主要な構成要素は外部バスインタフェイス回路200、
制御パターンメモリ201及びマイクロブログラムシー
ケンサ202とマイクロコードメモリ203、アドレス
作成部204である。外部バスインタフェイス回路20
0は、MPU等に接続するためのインタフェイスでアド
レス線205、データ線206及び制御信号線207に
接続されている。外部バスインクフェイス回路200の
上位アドレス比較回路208、レジスタであるDFF2
09はそれぞれMPU等から与えられる上位アドレスを
デコードし、上位アドレスが予め定められた番地である
場合に、下位アドレスとデータをそれぞれD−FF20
9,211にタイミング回路214からのラッチ信号を
トリガとしてセットする。そのアドレスとデータはそれ
ぞれバスドライバ210と212を介して、内部アドレ
スバスと内部データバスを介して内部に入力される。
制御パターンメモリ201及びマイクロブログラムシー
ケンサ202とマイクロコードメモリ203、アドレス
作成部204である。外部バスインタフェイス回路20
0は、MPU等に接続するためのインタフェイスでアド
レス線205、データ線206及び制御信号線207に
接続されている。外部バスインクフェイス回路200の
上位アドレス比較回路208、レジスタであるDFF2
09はそれぞれMPU等から与えられる上位アドレスを
デコードし、上位アドレスが予め定められた番地である
場合に、下位アドレスとデータをそれぞれD−FF20
9,211にタイミング回路214からのラッチ信号を
トリガとしてセットする。そのアドレスとデータはそれ
ぞれバスドライバ210と212を介して、内部アドレ
スバスと内部データバスを介して内部に入力される。
そのアドレスはマイクロコードメモリ203を参照して
、マイクロコードをデータバスを介してMPU側から書
き込む場合等に利用される。また下位アドレスはバスド
ライバ210を介してマイクロコードアドレスをマイク
ロプログラムシーケンサ202にも渡され、MPU側か
らの特定なアドレスで制御パターンメモリ201を参照
できるようにしている。
、マイクロコードをデータバスを介してMPU側から書
き込む場合等に利用される。また下位アドレスはバスド
ライバ210を介してマイクロコードアドレスをマイク
ロプログラムシーケンサ202にも渡され、MPU側か
らの特定なアドレスで制御パターンメモリ201を参照
できるようにしている。
MPUあるいは主記憶からのデータはデータ線206を
介してD−FF211にランチされた後、バスドライバ
212を介してマイクロコードメモリ内のセパレートI
10RAM213あるいは、制御パターンメモリ201
内のセパレー1−I11−l1ORA、216に加えら
れる。MPU或いはメモリからのデータストローブ信号
が制御信号線207を介してタイミング回路214に加
えられるとアクノリッジ信号を返送する通信方式で、ア
ドレスやデータの送受信に関する制御が行われる。タイ
ミング回路214はD−FF211.DFF209への
ランチタイミングやWR倍信号介してマイクロコードメ
モリ203、制御パターンメモリ201への書き込みタ
イミング等を制御する。
介してD−FF211にランチされた後、バスドライバ
212を介してマイクロコードメモリ内のセパレートI
10RAM213あるいは、制御パターンメモリ201
内のセパレー1−I11−l1ORA、216に加えら
れる。MPU或いはメモリからのデータストローブ信号
が制御信号線207を介してタイミング回路214に加
えられるとアクノリッジ信号を返送する通信方式で、ア
ドレスやデータの送受信に関する制御が行われる。タイ
ミング回路214はD−FF211.DFF209への
ランチタイミングやWR倍信号介してマイクロコードメ
モリ203、制御パターンメモリ201への書き込みタ
イミング等を制御する。
第9図のタイミングチャートに示されるようなニューロ
チップに与える複雑な制御信号の” 1 ”“0”パタ
ーンは、制御パターンメモリ201に1周期分格納され
、その1周期分のパターンをマイクロプログラムシーケ
ンサ202の制御に従って制御パターンメモリ201か
ら読み出すことによって生成する。例えばリセット信号
Re5et %データクロックDCLK、重みクロック
WCL K。
チップに与える複雑な制御信号の” 1 ”“0”パタ
ーンは、制御パターンメモリ201に1周期分格納され
、その1周期分のパターンをマイクロプログラムシーケ
ンサ202の制御に従って制御パターンメモリ201か
ら読み出すことによって生成する。例えばリセット信号
Re5et %データクロックDCLK、重みクロック
WCL K。
C3OI、tso2.C3O3や5YNCI、5YNC
2、SHI、SH2、OCl、OC2等の制御信号はセ
パレー) I10RAM215から読出され、パターン
に付随する制御情報つまりシーケンス制御フラグは第2
のセパレートI10RAM216から読み出される。例
えば制御パターンメモリ201は10001.1000
1というパターンが格納されている場合には、1,0”
ビットのパターンであるから、この“”10”ビットの
パターンを繰り返すように制御パターンメモリ201の
アドレスを制御すれば、このパターンの繰り返しが制御
パターンメモリ201から読み出されることになる。す
なわち制御信号のパターンは非常に複雑なパターンであ
るので、これらのパターンを予めこのセパレートI10
RAM215に格納しておき、そのセパレートI10R
AM215のアドレスをマイクロプログラムシーケンサ
202の制御に従って指定することによって順次そのビ
ットパターンを出力する構造になっている。
2、SHI、SH2、OCl、OC2等の制御信号はセ
パレー) I10RAM215から読出され、パターン
に付随する制御情報つまりシーケンス制御フラグは第2
のセパレートI10RAM216から読み出される。例
えば制御パターンメモリ201は10001.1000
1というパターンが格納されている場合には、1,0”
ビットのパターンであるから、この“”10”ビットの
パターンを繰り返すように制御パターンメモリ201の
アドレスを制御すれば、このパターンの繰り返しが制御
パターンメモリ201から読み出されることになる。す
なわち制御信号のパターンは非常に複雑なパターンであ
るので、これらのパターンを予めこのセパレートI10
RAM215に格納しておき、そのセパレートI10R
AM215のアドレスをマイクロプログラムシーケンサ
202の制御に従って指定することによって順次そのビ
ットパターンを出力する構造になっている。
よって、幾つかの同じパターンを繰り返すことになるの
で、その繰り返しをどのように実現するかはアドレス制
御に従う。この1周期分のパターンをオリジナルパター
ンと呼ぶことにする。オリジナルパターンを繰り返すた
めには、マイクロプログラムシーケンサ202に制御パ
ターンメモリ201からの特定な情報をフィードバック
する必要がある。すなわち第2のセパレートI10RA
M216内のシーケンサコントロールフラグを条件入力
としてマイクロプログラムシーケンサ202に入力する
ことにより、マイクロプログラムシーケンサ202は第
1のセパレートI10RAM215内のオリジナルパタ
ーンの入っている先頭アドレスに戻るように制御する。
で、その繰り返しをどのように実現するかはアドレス制
御に従う。この1周期分のパターンをオリジナルパター
ンと呼ぶことにする。オリジナルパターンを繰り返すた
めには、マイクロプログラムシーケンサ202に制御パ
ターンメモリ201からの特定な情報をフィードバック
する必要がある。すなわち第2のセパレートI10RA
M216内のシーケンサコントロールフラグを条件入力
としてマイクロプログラムシーケンサ202に入力する
ことにより、マイクロプログラムシーケンサ202は第
1のセパレートI10RAM215内のオリジナルパタ
ーンの入っている先頭アドレスに戻るように制御する。
このことにより、オリジナルパターンの繰り返しが実行
される。すなわち、マイクロプログラムシーケンサ20
2はその条件が満たされるまで汎用ボート出力線202
−1を介してセパレートI10RAM215へのアドレ
ス信号を逐次に生成する。通常はこのアドレスはインク
リメントされるがオリジナルパターンの最終になったと
いう条件が満たされると、そのオリジナルパターンが格
納されている先頭アドレスに戻るようにする。結果とし
て特定なパターンが繰り返しセパレートI/、ORAM
215から制御パターンが出力される。
される。すなわち、マイクロプログラムシーケンサ20
2はその条件が満たされるまで汎用ボート出力線202
−1を介してセパレートI10RAM215へのアドレ
ス信号を逐次に生成する。通常はこのアドレスはインク
リメントされるがオリジナルパターンの最終になったと
いう条件が満たされると、そのオリジナルパターンが格
納されている先頭アドレスに戻るようにする。結果とし
て特定なパターンが繰り返しセパレートI/、ORAM
215から制御パターンが出力される。
第11B図Lt、マスクコントロールブロック181を
制御するメモリ201及び203内の情報の相互関係で
ある。同図において、制御パターンメモリ1が第1のセ
パレートI10RAM215に相当し、制御パターンメ
モリ2が第2のセパレートI10RAM216に相当す
る。マイクロコードメモリ203内には、シーケンサ2
02の制御コードが記憶され、主に、Jump命令とR
epea を命令が格納されている。アドレスの増加方
向にみて、特定なアドレスにRepea を命令があり
、この反復命令に従う制御パターンメモリ内のパターン
1の繰り返し数は制御パターンメモリ2の対応するアド
レスに格納され、例えば「10」であるとすれば、10
回の反復を実行することになる。このようにして、アド
レスが増加し、マイクロコードメモリのJump命令に
来たときに、マイクロコードメモリ203内の第2のJ
umpで500Hに飛び、Pattern2を出力する
。Pattern 2を5回繰り返すと、マイクロコー
ドメモリ203内の第3のJumpで、再びr、100
HJに飛び、Pattern 1を出力することにな
る。このようにして、オリジナルパターンが繰り返され
て、制御パターンメモリ1から読み出される。
制御するメモリ201及び203内の情報の相互関係で
ある。同図において、制御パターンメモリ1が第1のセ
パレートI10RAM215に相当し、制御パターンメ
モリ2が第2のセパレートI10RAM216に相当す
る。マイクロコードメモリ203内には、シーケンサ2
02の制御コードが記憶され、主に、Jump命令とR
epea を命令が格納されている。アドレスの増加方
向にみて、特定なアドレスにRepea を命令があり
、この反復命令に従う制御パターンメモリ内のパターン
1の繰り返し数は制御パターンメモリ2の対応するアド
レスに格納され、例えば「10」であるとすれば、10
回の反復を実行することになる。このようにして、アド
レスが増加し、マイクロコードメモリのJump命令に
来たときに、マイクロコードメモリ203内の第2のJ
umpで500Hに飛び、Pattern2を出力する
。Pattern 2を5回繰り返すと、マイクロコー
ドメモリ203内の第3のJumpで、再びr、100
HJに飛び、Pattern 1を出力することにな
る。このようにして、オリジナルパターンが繰り返され
て、制御パターンメモリ1から読み出される。
この制御パターンメモリ201を参照するアドレスの読
み出しクロックに同期してWCLKが作られており、重
みメモリ185,186からWCLKに同期して情報が
読み出される。重みメモリ185.186へのアドレス
はアドレス作1部204のアドレス1及びアドレス2か
ら出力されるアドレス信号によってアクセスされる。ア
ドレス1とアドレス2はそれぞれ、中間層と出力層に対
応して分離している。中間層にあるANPに与えるべき
重みデータはアドレス1によって指定される重みメモリ
185から読み出され、出力層へのANPへの重みデー
タはアドレス2によって指定される重みメモリ186か
ら読み出された内容である。各アドレスは重みメモリ1
85,186の内容が重みデータの各ビットをアドレス
が増す方向に1ビツトずつ格納されているので、アドレ
スカウンタ217,218へのカウント制御信号がマイ
クロプログラムシーケンサ202から与えられる必要が
ある。そのアドレスカウンタ217218によってこの
アドレスがバスドライバ219.220を介して次から
次へと重みメモリ185.186へのアドレス信号とし
て、インクリメントして与えられる。そして複数の重み
データがその重みメモリ185,186から読み出され
る。
み出しクロックに同期してWCLKが作られており、重
みメモリ185,186からWCLKに同期して情報が
読み出される。重みメモリ185.186へのアドレス
はアドレス作1部204のアドレス1及びアドレス2か
ら出力されるアドレス信号によってアクセスされる。ア
ドレス1とアドレス2はそれぞれ、中間層と出力層に対
応して分離している。中間層にあるANPに与えるべき
重みデータはアドレス1によって指定される重みメモリ
185から読み出され、出力層へのANPへの重みデー
タはアドレス2によって指定される重みメモリ186か
ら読み出された内容である。各アドレスは重みメモリ1
85,186の内容が重みデータの各ビットをアドレス
が増す方向に1ビツトずつ格納されているので、アドレ
スカウンタ217,218へのカウント制御信号がマイ
クロプログラムシーケンサ202から与えられる必要が
ある。そのアドレスカウンタ217218によってこの
アドレスがバスドライバ219.220を介して次から
次へと重みメモリ185.186へのアドレス信号とし
て、インクリメントして与えられる。そして複数の重み
データがその重みメモリ185,186から読み出され
る。
第1のセパレートI10RAM215からWCLKとマ
イクロプログラムシーケンス202からのカウンタ制御
信号がアドレス作成部204内のアンド回路221.2
22に加えられている。カウンタ制御信号がハイのとき
、WCLKによってアドレスカウンタは更新され、WC
LKの1〜16ビツトまではアドレスカウンタ217,
218をインクリメントする。そして、残りのWCLK
17〜26ビツトに対しては、カウンタ制御信号をロウ
とすることによりWCLKをインヒビットとしてアドレ
スカウンタ217,218のインクリメントを停止する
。そして、5YNCI、5YNC2に同期して、それぞ
れカウンタリセット信号をマイクロプログラムシーケン
ス202からアンド回路221,222に送出して、ア
ドレスカウンタ217.218をリセットする。このこ
とにより、重みメモリ185,186のアドレスを先頭
アドレスに戻す。なお、マスクコントロールブロック1
81から出力されるモード信号は、重みメモリの1通常
使用、すなわち重みメモリをMPUデータバスから切り
離し重みデータをANPに与えるモードと、重みメモリ
をMPUデータバスに接続し、MPUから重みメモリを
参照するモードを形成するためのものである。
イクロプログラムシーケンス202からのカウンタ制御
信号がアドレス作成部204内のアンド回路221.2
22に加えられている。カウンタ制御信号がハイのとき
、WCLKによってアドレスカウンタは更新され、WC
LKの1〜16ビツトまではアドレスカウンタ217,
218をインクリメントする。そして、残りのWCLK
17〜26ビツトに対しては、カウンタ制御信号をロウ
とすることによりWCLKをインヒビットとしてアドレ
スカウンタ217,218のインクリメントを停止する
。そして、5YNCI、5YNC2に同期して、それぞ
れカウンタリセット信号をマイクロプログラムシーケン
ス202からアンド回路221,222に送出して、ア
ドレスカウンタ217.218をリセットする。このこ
とにより、重みメモリ185,186のアドレスを先頭
アドレスに戻す。なお、マスクコントロールブロック1
81から出力されるモード信号は、重みメモリの1通常
使用、すなわち重みメモリをMPUデータバスから切り
離し重みデータをANPに与えるモードと、重みメモリ
をMPUデータバスに接続し、MPUから重みメモリを
参照するモードを形成するためのものである。
モード信号は、MPUからのデータの下位ビットが、下
位アドレスの1ビツトとタイミング回路214からの書
込み信号からWRをアンド回路223にて生じるアンド
信号をトリガとしてフリップフロップ224にセットさ
れることにより形成される。このモード信号がOのとき
重みメモリは通常使用となる。
位アドレスの1ビツトとタイミング回路214からの書
込み信号からWRをアンド回路223にて生じるアンド
信号をトリガとしてフリップフロップ224にセットさ
れることにより形成される。このモード信号がOのとき
重みメモリは通常使用となる。
書込み信号WRと内部アドレスバスの1ピントがアンド
回路223を介してフリップフロップ224のクロック
端子に入力され、内部データバスのLSBがフリップフ
ロップ224のデータ端子に入力される。上位アドレス
を比較回路208でマスタコントロー、ルブロソク18
1が選択されているかを判定し、選択されている場合、
下位アドレスとデータをDFF209,211に取り込
む。
回路223を介してフリップフロップ224のクロック
端子に入力され、内部データバスのLSBがフリップフ
ロップ224のデータ端子に入力される。上位アドレス
を比較回路208でマスタコントロー、ルブロソク18
1が選択されているかを判定し、選択されている場合、
下位アドレスとデータをDFF209,211に取り込
む。
このような、インタフェイス動作はMPUに接続される
他のデバイスに対しても同様に行われるが重みメモリは
通常ANPに対し重みデータを供給しているので、MP
Uのデータバスに直接接続するとバス競合が生じる。こ
れを防ぐために、内部データバスのLSBがフリップフ
ロップ224に取り込まれた時はモードを1として、重
みメモリを後述するようにチップセレクトしないように
して、重みメモリからデータバス上にデータが生じない
ようにする。内部アドレスバスが所定タイミングにおい
て、内部アドレスバスによって、マイクロコードメモリ
203と制御パターンメモリ201のいずれかのアドレ
スを指定し、そのアクセスされたアドレスに内部データ
バスから所望のデータを書き込む。これにより、マイク
ロプログラムシーケンサ202やマイクロコードメモリ
203、セバレー1−111−110RAに記憶された
プログラムを変更するか、セパレー)I10RAM21
5に記憶された制御パターンを変更する。
他のデバイスに対しても同様に行われるが重みメモリは
通常ANPに対し重みデータを供給しているので、MP
Uのデータバスに直接接続するとバス競合が生じる。こ
れを防ぐために、内部データバスのLSBがフリップフ
ロップ224に取り込まれた時はモードを1として、重
みメモリを後述するようにチップセレクトしないように
して、重みメモリからデータバス上にデータが生じない
ようにする。内部アドレスバスが所定タイミングにおい
て、内部アドレスバスによって、マイクロコードメモリ
203と制御パターンメモリ201のいずれかのアドレ
スを指定し、そのアクセスされたアドレスに内部データ
バスから所望のデータを書き込む。これにより、マイク
ロプログラムシーケンサ202やマイクロコードメモリ
203、セバレー1−111−110RAに記憶された
プログラムを変更するか、セパレー)I10RAM21
5に記憶された制御パターンを変更する。
第12A図はこの重みデータメモリ230のデータ格納
構成図である。同図において列方向の8ビツトは同じア
ドレスに入った8ビツトデータの情報であり、各ビット
は下からANPI、ANP2・・・ANP8に与えられ
る。行方向はアドレスが異なり、図に示すように左に行
(はどアドレスが増加する方向となっている。重みデー
タはサインビットを含めて16ビツトであるからこれを
アドレスの小さい方向から大きい方に向かって格納する
。MSBは、サインビットで、それ以外の15ビツトは
数値ビットである。マイクロプログラムシーケンサ20
2からアドレスがWCLKに同期してインクリメントさ
れると、重みデータの1ワ一ド分、すなわち16ビツト
がMSBから順にLSBまで読み出されることになる。
構成図である。同図において列方向の8ビツトは同じア
ドレスに入った8ビツトデータの情報であり、各ビット
は下からANPI、ANP2・・・ANP8に与えられ
る。行方向はアドレスが異なり、図に示すように左に行
(はどアドレスが増加する方向となっている。重みデー
タはサインビットを含めて16ビツトであるからこれを
アドレスの小さい方向から大きい方に向かって格納する
。MSBは、サインビットで、それ以外の15ビツトは
数値ビットである。マイクロプログラムシーケンサ20
2からアドレスがWCLKに同期してインクリメントさ
れると、重みデータの1ワ一ド分、すなわち16ビツト
がMSBから順にLSBまで読み出されることになる。
8個の複数のANPに同時にこれらの重みデータが渡さ
れる。このようにアドレスの増加する方向にデータが格
納される構造になっているため、この重みデータに対す
るアドレスのカウンタが必要となる。
れる。このようにアドレスの増加する方向にデータが格
納される構造になっているため、この重みデータに対す
るアドレスのカウンタが必要となる。
すなわち、MSBからLSHの重みデータデータの1ワ
一ド分がカウントされたら、1個分の重みデータになる
ようにカウントされる制御が必要となる。この制御はや
はりマイクロプログラムシーケンサ202で行っている
。
一ド分がカウントされたら、1個分の重みデータになる
ようにカウントされる制御が必要となる。この制御はや
はりマイクロプログラムシーケンサ202で行っている
。
第12B図は重みメモリブロック185.186具体的
回路である。メモリ230はMB8464A−70とい
うRAMである。出力はANP 1〜ANP8に対応す
る8ビツトである。基本的にMPUのバスから見たバス
信号線とマスクコントロールブロック181から見える
アドレス1と2のどちらかを使う。アドレス1と2は前
述した第11A図のアドレス1と2である。このアドレ
ス1と2はWCLKに同期してインクリメントされる形
で入力される。8ビツトのデータは同時に読み出され、
各ビットはANPI〜ANP8に対して同時に与えられ
る。
回路である。メモリ230はMB8464A−70とい
うRAMである。出力はANP 1〜ANP8に対応す
る8ビツトである。基本的にMPUのバスから見たバス
信号線とマスクコントロールブロック181から見える
アドレス1と2のどちらかを使う。アドレス1と2は前
述した第11A図のアドレス1と2である。このアドレ
ス1と2はWCLKに同期してインクリメントされる形
で入力される。8ビツトのデータは同時に読み出され、
各ビットはANPI〜ANP8に対して同時に与えられ
る。
モード信号がOのときアンドゲート233を介して、重
みメモリ230はチップセレクトされ、このとき、マイ
クロプログラムシーケンサ202からのアドレス1.2
がマルチプレクサ234で有効となる。そして、重みメ
モリ230から重みデータがANP 1〜8に送られる
。一方、反転回路231の出力は、ハイであるからトラ
イステートパストランシーバ232はディスイネーブル
状態となって重みメモリ230の出力はMPUへと出力
されない。
みメモリ230はチップセレクトされ、このとき、マイ
クロプログラムシーケンサ202からのアドレス1.2
がマルチプレクサ234で有効となる。そして、重みメ
モリ230から重みデータがANP 1〜8に送られる
。一方、反転回路231の出力は、ハイであるからトラ
イステートパストランシーバ232はディスイネーブル
状態となって重みメモリ230の出力はMPUへと出力
されない。
MPUに出力する場合には、モード信号を1にして、M
PUからの適当なアドレス情報によって、アドレスデコ
ーダ235を介してメモリ230をチップセレクトし、
メモリ230にMPUからアドレスを与える。モード信
号が1のとき、MPUバスへの読み出しまたはバスから
メモリ230への書き込みの制御すなわちリードライト
の方向は、MPUからアンドゲート236を介して来る
ブタ線の読み出し信号Read Signal によっ
て決められる。
PUからの適当なアドレス情報によって、アドレスデコ
ーダ235を介してメモリ230をチップセレクトし、
メモリ230にMPUからアドレスを与える。モード信
号が1のとき、MPUバスへの読み出しまたはバスから
メモリ230への書き込みの制御すなわちリードライト
の方向は、MPUからアンドゲート236を介して来る
ブタ線の読み出し信号Read Signal によっ
て決められる。
次に学習のアルゴリズムについて説明する。
第12C図は本発明に利用されるバックプロパゲーショ
ンという学習アルゴリズムのフローチャートである。学
習は次のように進められる。本発明のニューラルネット
ワークすなわち、ANPの集合によって構成される階層
型ネットワークの入力に学習すべき完全情報がMPUか
ら図示しない入力制御回路を介して入力される。そして
、その入力信号は入力端回路、中間層及び出力層を介し
てネットワーク出力にA/Dコンバータを介した後MP
Uに与えられる。MPU側の主記憶内に学習アルゴリズ
ムが存在する。MPU内は、教師信号を主記憶から取り
入れ、ネットワークの出力と教師信号との誤差を調べる
。もし、その誤差が大きければ、MPUは、ネットワー
クが正しい出力を出す方向に、ネットワークの接続の強
さである重みデータを変えることになる。この重みデー
タは重みメモリ230を介して各層のANPに加えられ
る。
ンという学習アルゴリズムのフローチャートである。学
習は次のように進められる。本発明のニューラルネット
ワークすなわち、ANPの集合によって構成される階層
型ネットワークの入力に学習すべき完全情報がMPUか
ら図示しない入力制御回路を介して入力される。そして
、その入力信号は入力端回路、中間層及び出力層を介し
てネットワーク出力にA/Dコンバータを介した後MP
Uに与えられる。MPU側の主記憶内に学習アルゴリズ
ムが存在する。MPU内は、教師信号を主記憶から取り
入れ、ネットワークの出力と教師信号との誤差を調べる
。もし、その誤差が大きければ、MPUは、ネットワー
クが正しい出力を出す方向に、ネットワークの接続の強
さである重みデータを変えることになる。この重みデー
タは重みメモリ230を介して各層のANPに加えられ
る。
重みデータが学習アルゴリズムによって更新される場合
、第12C図のパックプロパゲーション学習アルゴリズ
ムに従うことになる。学習アルゴリズムがスタートする
と、MPUは出力層のL番目のニューロンANPLは教
師信号YLと、現在の出力YL との誤差を求めてそれ
をZLに代入する。出力YLは、ニューロンA N P
Lの出力であるから、例えばシグモイド関数を非線形
素子として使うならば、この非線形関数の出力値として
出されたものである。従って、ニューロンA N P
Lにおいて、誤差ZLを非線形関数の入力側に誤差伝播
する必要がある。誤差伝播を行う場合、エネルギー関数
、すなわち誤差信号の2乗に1/2を掛けたエネルギー
、すなわち EL = 1/2 (yt、 −YL ) 2の非線形
関数人力X、に対する偏分、すなわち29X。
、第12C図のパックプロパゲーション学習アルゴリズ
ムに従うことになる。学習アルゴリズムがスタートする
と、MPUは出力層のL番目のニューロンANPLは教
師信号YLと、現在の出力YL との誤差を求めてそれ
をZLに代入する。出力YLは、ニューロンA N P
Lの出力であるから、例えばシグモイド関数を非線形
素子として使うならば、この非線形関数の出力値として
出されたものである。従って、ニューロンA N P
Lにおいて、誤差ZLを非線形関数の入力側に誤差伝播
する必要がある。誤差伝播を行う場合、エネルギー関数
、すなわち誤差信号の2乗に1/2を掛けたエネルギー
、すなわち EL = 1/2 (yt、 −YL ) 2の非線形
関数人力X、に対する偏分、すなわち29X。
は次のように変形できる。
=(Yt、 Yt、 ) ・ r(xL )と
なる。ここで、非線形関数f (xL)がシグモイド関
数であるとするならば、 ■1−である。従って、δすなわちエネルギーの非線形
関数入力XLに対する偏分はVL×ZLとなり、すなわ
ちS2に示されるUl−となる。このエネルギーの非線
形関数入力に対する誤差分δをさらに中間層へ逆伝播さ
せる必要がある。
なる。ここで、非線形関数f (xL)がシグモイド関
数であるとするならば、 ■1−である。従って、δすなわちエネルギーの非線形
関数入力XLに対する偏分はVL×ZLとなり、すなわ
ちS2に示されるUl−となる。このエネルギーの非線
形関数入力に対する誤差分δをさらに中間層へ逆伝播さ
せる必要がある。
中間層の第に番目のニューロンをA、とする。
Al1の出力はYkとする。出力層のニューロンANP
Lの非線形関数入力XLはすべての中間層にあるニュー
ロンの出力(Y、 ・・Yk、4A、l)マテノそれ
ぞれに重みWLKを掛けた積和で表現される。
Lの非線形関数入力XLはすべての中間層にあるニュー
ロンの出力(Y、 ・・Yk、4A、l)マテノそれ
ぞれに重みWLKを掛けた積和で表現される。
従って、Xtの重みWLKに対する偏分はとなる。一方
、エネルギーELに対する重みWLKの変分は次式で与
えられる。
、エネルギーELに対する重みWLKの変分は次式で与
えられる。
このシグモイド関数の微分子 ′(XL )を変形する
と、 f ’ (XL ) −Yt、 (1−YL
)となる。これはフローチャートの82に示される
となる。すなわちS3のTtxは EL θWLk を表現しているもので、エネルギーの重みに対する偏分
である。従って、このTLKを重みの変化分ΔWとすれ
ばよいが、収束を早めるために84に示される第1式の
第2項を加えて、次のような漸化式にして重みを修正す
る。
と、 f ’ (XL ) −Yt、 (1−YL
)となる。これはフローチャートの82に示される
となる。すなわちS3のTtxは EL θWLk を表現しているもので、エネルギーの重みに対する偏分
である。従って、このTLKを重みの変化分ΔWとすれ
ばよいが、収束を早めるために84に示される第1式の
第2項を加えて、次のような漸化式にして重みを修正す
る。
ΔWLk−αTLk十β・△W1う
WLll=W、、+ΔW、に
ここで、α、βは定数である。今、出力層の特定なニュ
ーロンANPLに注目しているが、このANPLは中間
層のニューロンにすべて接続されているものとするなら
ば、各ANPLに対してKを1からK mnxまで繰り
返す必要がある。これがフローチャートのR1に示す繰
り返しで、中間層のニューロン数に□つだけ繰り返すこ
とになる。この繰り返しが終わると出力層の特定なニュ
ーロンANPLに対する逆伝播が終了することになる。
ーロンANPLに注目しているが、このANPLは中間
層のニューロンにすべて接続されているものとするなら
ば、各ANPLに対してKを1からK mnxまで繰り
返す必要がある。これがフローチャートのR1に示す繰
り返しで、中間層のニューロン数に□つだけ繰り返すこ
とになる。この繰り返しが終わると出力層の特定なニュ
ーロンANPLに対する逆伝播が終了することになる。
従ってこれをすべての出力層のニューロン(ANPI
、 ANP2 、 ・−−、ANPL mai+ )
に対して行う必要があるため、フローチャートのR2に
示すように、Lを1からLllaXまで繰り返すことに
なる。すなわち、最終出力層のニューロンの数L ma
xだけ繰り返すことになる。
、 ANP2 、 ・−−、ANPL mai+ )
に対して行う必要があるため、フローチャートのR2に
示すように、Lを1からLllaXまで繰り返すことに
なる。すなわち、最終出力層のニューロンの数L ma
xだけ繰り返すことになる。
次に今度は中間層から人力層に向かって学習することに
なる。アルゴリズムはほぼ同様であるが、誤差信号は教
師信号と出力電圧との差で表現できず、S5の式になる
。すなわち、Z、が中間層のに番目のニューロン、A、
の出力誤差信号に対応する項となる。これは次式によっ
て明らかである。
なる。アルゴリズムはほぼ同様であるが、誤差信号は教
師信号と出力電圧との差で表現できず、S5の式になる
。すなわち、Z、が中間層のに番目のニューロン、A、
の出力誤差信号に対応する項となる。これは次式によっ
て明らかである。
−ΣWL k −UL
となる。従って、S5のZkのインデックスLに対して
1からL maつまで、すなわち出力の数だけ繰り返す
(R3)ことによって中間層の誤差信号骨Z、が計算さ
れる。その後は中間層と出力層との間のアルゴリズムと
同じである。すなわち、まず、シグモイド関数の微分値
V、を出し、それを用いてUk、すなわちエネルギーの
非線形関数入カに対する変化分を86で求める。S7で
そのU。
1からL maつまで、すなわち出力の数だけ繰り返す
(R3)ことによって中間層の誤差信号骨Z、が計算さ
れる。その後は中間層と出力層との間のアルゴリズムと
同じである。すなわち、まず、シグモイド関数の微分値
V、を出し、それを用いてUk、すなわちエネルギーの
非線形関数入カに対する変化分を86で求める。S7で
そのU。
を用いて人力層の出力、YJとの積Tk1を求める。こ
れを重み変化分の主要部として、S8に示すように収束
を早めるための第2項を加えて、ΔW5.を求め、前の
値WkJにそのΔWk Jを加えて新たなWkjとする
。これが重みの更新である。この重みの更新を入力数J
イ□だけ繰り返す(R4)。すなわちj=1からJff
laxまで繰り返すことによって入力層と中間層の間の
重みが更新されることになる。なお、S5のZ、は中間
層の出力の誤差信号に対応するものであって、これは出
力層のエネルギーの関数入力値に対する偏分しLを後ろ
向きに逆伝播した形で表現され、WLKは中間層と出力
層との重みが定まって初めて定まるものである。すなわ
ち重みの更新に対する計算は出力層のニューロンANP
Lから始めて中間層のニューロンANPKに移り、中間
層のニューロンANPKではその重み変化分ΔWはその
前段のΔWが決まらないと計算できないものとなってい
る。
れを重み変化分の主要部として、S8に示すように収束
を早めるための第2項を加えて、ΔW5.を求め、前の
値WkJにそのΔWk Jを加えて新たなWkjとする
。これが重みの更新である。この重みの更新を入力数J
イ□だけ繰り返す(R4)。すなわちj=1からJff
laxまで繰り返すことによって入力層と中間層の間の
重みが更新されることになる。なお、S5のZ、は中間
層の出力の誤差信号に対応するものであって、これは出
力層のエネルギーの関数入力値に対する偏分しLを後ろ
向きに逆伝播した形で表現され、WLKは中間層と出力
層との重みが定まって初めて定まるものである。すなわ
ち重みの更新に対する計算は出力層のニューロンANP
Lから始めて中間層のニューロンANPKに移り、中間
層のニューロンANPKではその重み変化分ΔWはその
前段のΔWが決まらないと計算できないものとなってい
る。
従って最後の入力層まで遡って始めて81算が可能とな
るところからこの学習はバックプロパゲーションと呼ば
れている。
るところからこの学習はバックプロパゲーションと呼ば
れている。
バックプロパゲーションによる学習は学習用のデータを
完全情報として入力し、結果を出力する前向き動作とそ
の結果のエラーを小さくするようにすべての結合の強さ
を後ろ向きに変えることになる。その為、この前向き動
作も必要となる。この前向き動作において本発明のアナ
ロダニニーラルネット部が有効に利用される。また、出
力値を逆伝播するアルゴリズムはMPUで実行される。
完全情報として入力し、結果を出力する前向き動作とそ
の結果のエラーを小さくするようにすべての結合の強さ
を後ろ向きに変えることになる。その為、この前向き動
作も必要となる。この前向き動作において本発明のアナ
ロダニニーラルネット部が有効に利用される。また、出
力値を逆伝播するアルゴリズムはMPUで実行される。
なお、シグモイド関数でない非線形である場合には、そ
の非線形の微分値が異なる。例えばtanh(X)であ
るならば学習アルゴリズムは第12D図のように、非線
形の微分結果は、出力層ではVL−1−IYLIとなり
(S2’)、中間層では■。
の非線形の微分値が異なる。例えばtanh(X)であ
るならば学習アルゴリズムは第12D図のように、非線
形の微分結果は、出力層ではVL−1−IYLIとなり
(S2’)、中間層では■。
−1−IYk l (36′)となる。
その他は、第12C図と同じ参照符号をつけて説明を省
略する。
略する。
第13図は入力側のデイジー回路173,174の構成
図である。図中240,241,242はDタイプのフ
リップフロップである。DCLK信号の立ち上がりでD
端子に入力されるデータをセットし、出力Qを1の状態
にする。第1のフリップフロップ240は、DCLKの
立ち下がりで、C3I信号をセットする。そして、次の
立ち上がりで第2番目のフリップフロップ241にその
出力信号をセットする。
図である。図中240,241,242はDタイプのフ
リップフロップである。DCLK信号の立ち上がりでD
端子に入力されるデータをセットし、出力Qを1の状態
にする。第1のフリップフロップ240は、DCLKの
立ち下がりで、C3I信号をセットする。そして、次の
立ち上がりで第2番目のフリップフロップ241にその
出力信号をセットする。
その出力は第3番目のフリップフロップ242のD端子
に入力されている。その入力をセットするクロック信号
は4ビツトカウンタ243の出力である。カウンタ24
3はWCLKの立ち下がりでトリガされる。クリアされ
るのはDCLKの立ち下がりである。従って、DCLK
の立ち下がりにカウンタ243はオールOとなり、WC
LKの立ち下がりが8回入力された後、上位ビットのQ
D倍信号ハイとなるので、これがトリガとなってフリッ
プフロップ242はC3Oにハイ信号を出力する。フリ
ップフロップ241の出力が0になればC3Oはクリア
される。このような動作により、C3Iが立ち下がって
、WCLKの8パルス分に相当する所定な時間通過した
のちC8Oが出力されるというデイジー動作が行われる
。
に入力されている。その入力をセットするクロック信号
は4ビツトカウンタ243の出力である。カウンタ24
3はWCLKの立ち下がりでトリガされる。クリアされ
るのはDCLKの立ち下がりである。従って、DCLK
の立ち下がりにカウンタ243はオールOとなり、WC
LKの立ち下がりが8回入力された後、上位ビットのQ
D倍信号ハイとなるので、これがトリガとなってフリッ
プフロップ242はC3Oにハイ信号を出力する。フリ
ップフロップ241の出力が0になればC3Oはクリア
される。このような動作により、C3Iが立ち下がって
、WCLKの8パルス分に相当する所定な時間通過した
のちC8Oが出力されるというデイジー動作が行われる
。
第14図はダミーノードのニューロンを形成するマック
スバリューノード回路187の具体的回路図である。同
図において抵抗250、ツェナーダイオード251.2
52、抵抗253、電圧フォロア254.255は一定
電圧を形成する回路である。抵抗250.253とツェ
ナーダイオード251.252を介して+12ボルトか
ら一12ボルトに電流が流れると電圧フォロア254.
255の人力には、それぞれ+7ボルトと一7ボルトが
形成される。これらの電圧は電圧フォロア254.25
5の出力抵抗256を介して出力される。この2つの一
定電圧を時分割で引き出すようにアナログスイッチ25
7〜264を用いて制御する。Tモードの信号が0の時
、その一定電圧はアナログスイッチ257を介して次の
電圧フォロア265に与えられる。Tモードが1すなわ
ち、テストモードの時にはアナログスイッチ258によ
ってその出力はアナロググランドに抑えられるため、0
ポルトが電圧フォロア265に入力される。テストモー
ドでは、バス上のオフセットがMPUに通知されること
になる。電圧フォロア265は、出力部のスイッチ制御
によってイネーブルされる。出力イネーブルが1のとき
、アナログスイッチ260がオンで電圧フォロアとして
働き、その出力が与えられるが、この時、ダミーノード
出力には出力されない。逆に出力イネーブルがOの時に
ダミーノード出力に出力される。アナログスイッチ26
0とその出力のスイッチ制御は出力イネーブルlまたは
2によって制御され、0イネーブルである。すなわち出
力イネーブル1または2がOの時にダミーノード出力に
一定電圧が出力される。なお、ダミーノード出力は上側
が入力層のダミーノード用であり、2番目が中間層のダ
ミーノード用の出力である。このダミーノードの出力電
圧は適当な値に固定されるため、スレッシュホールド電
圧として使用可能となる。なお、ツェナーダイオード2
51,252は逆バイアス状態で一定の電圧を出すもの
であり、固定電圧は、+7ボルトから一7ボルトまでの
範囲で可変できるようにしている。出力イネーブル1.
2はアナログバスにつながっている他のANPからの出
力電圧とそのアナログバス上で衝突を避けるためにマス
クコントロールブロック181からのダミーノード制御
信号DC3でイネーブル状態が決められている。
スバリューノード回路187の具体的回路図である。同
図において抵抗250、ツェナーダイオード251.2
52、抵抗253、電圧フォロア254.255は一定
電圧を形成する回路である。抵抗250.253とツェ
ナーダイオード251.252を介して+12ボルトか
ら一12ボルトに電流が流れると電圧フォロア254.
255の人力には、それぞれ+7ボルトと一7ボルトが
形成される。これらの電圧は電圧フォロア254.25
5の出力抵抗256を介して出力される。この2つの一
定電圧を時分割で引き出すようにアナログスイッチ25
7〜264を用いて制御する。Tモードの信号が0の時
、その一定電圧はアナログスイッチ257を介して次の
電圧フォロア265に与えられる。Tモードが1すなわ
ち、テストモードの時にはアナログスイッチ258によ
ってその出力はアナロググランドに抑えられるため、0
ポルトが電圧フォロア265に入力される。テストモー
ドでは、バス上のオフセットがMPUに通知されること
になる。電圧フォロア265は、出力部のスイッチ制御
によってイネーブルされる。出力イネーブルが1のとき
、アナログスイッチ260がオンで電圧フォロアとして
働き、その出力が与えられるが、この時、ダミーノード
出力には出力されない。逆に出力イネーブルがOの時に
ダミーノード出力に出力される。アナログスイッチ26
0とその出力のスイッチ制御は出力イネーブルlまたは
2によって制御され、0イネーブルである。すなわち出
力イネーブル1または2がOの時にダミーノード出力に
一定電圧が出力される。なお、ダミーノード出力は上側
が入力層のダミーノード用であり、2番目が中間層のダ
ミーノード用の出力である。このダミーノードの出力電
圧は適当な値に固定されるため、スレッシュホールド電
圧として使用可能となる。なお、ツェナーダイオード2
51,252は逆バイアス状態で一定の電圧を出すもの
であり、固定電圧は、+7ボルトから一7ボルトまでの
範囲で可変できるようにしている。出力イネーブル1.
2はアナログバスにつながっている他のANPからの出
力電圧とそのアナログバス上で衝突を避けるためにマス
クコントロールブロック181からのダミーノード制御
信号DC3でイネーブル状態が決められている。
第15図は非線形間数発生回路であり、第16図、第1
7図、第18図はANP内部のディジタルロジック側の
ハードウェアである。
7図、第18図はANP内部のディジタルロジック側の
ハードウェアである。
第15図はシグモイド関数を実現するトランジスタ回路
網である。ここでいうシグモイド関数とは連続で単調非
減少な関数を指し、かつ線形関数を特に除外するもので
はない。同図において343.356,378,390
,298,314のトランジスタとそれに対になったト
ランジスタで差動増幅器を形成し、コレクタ側に接続さ
れたトランジスタ群がそれぞれカレントミラー回路であ
る。差動ANPの左側のトランジスタのコレクタを流れ
るコレクタ電流が出力電流である。カレントミラーで電
流の方向を変えて出力している。電流は出力vOに接続
されている抵抗336にはいる。抵抗336によって電
圧か電流に変えられる。
網である。ここでいうシグモイド関数とは連続で単調非
減少な関数を指し、かつ線形関数を特に除外するもので
はない。同図において343.356,378,390
,298,314のトランジスタとそれに対になったト
ランジスタで差動増幅器を形成し、コレクタ側に接続さ
れたトランジスタ群がそれぞれカレントミラー回路であ
る。差動ANPの左側のトランジスタのコレクタを流れ
るコレクタ電流が出力電流である。カレントミラーで電
流の方向を変えて出力している。電流は出力vOに接続
されている抵抗336にはいる。抵抗336によって電
圧か電流に変えられる。
ドライブ能力がないため、出力にはハイインピーダンス
のオペアンプバッファで受ける。トランジスタ337,
339より入力端の回路はバイアス回路である。シグモ
イド関数を実現するために区分線形法を使っている。シ
グモイド関数の各区分の傾きはエミッタに接続されたエ
ミッタ抵抗344と出力抵抗336の比によって決めら
れる。この時トランジスタ343等のエミッタ抵抗も含
まれる。各差動ANPのゲイン:す異なる。各区分線形
の移り変わりに対するブレイクポイントは飽和特性を利
用している。その飽和特性はすべて異なる。■0の出力
点において、各オペアンプから出力される電流の総和の
値がシグモイド関数になるように各ANPの飽和特性を
変えている。トランジスタ345と抵抗R1は電流源で
ある。トランジスタ346と抵抗R2、トランジスタ3
53と抵抗R3等はすべて同じ電流を供給する電流源で
ある。すなわち、電流値は同じになるように抵抗が決め
られている。すべて同一電流源である。トランジスタ3
45,346のコレクタは接続されているので、和の電
流が抵抗344.347の交点に流れる。トランジスタ
343,348のコレクタ電流は、バランスした時点で
は同じになる。
のオペアンプバッファで受ける。トランジスタ337,
339より入力端の回路はバイアス回路である。シグモ
イド関数を実現するために区分線形法を使っている。シ
グモイド関数の各区分の傾きはエミッタに接続されたエ
ミッタ抵抗344と出力抵抗336の比によって決めら
れる。この時トランジスタ343等のエミッタ抵抗も含
まれる。各差動ANPのゲイン:す異なる。各区分線形
の移り変わりに対するブレイクポイントは飽和特性を利
用している。その飽和特性はすべて異なる。■0の出力
点において、各オペアンプから出力される電流の総和の
値がシグモイド関数になるように各ANPの飽和特性を
変えている。トランジスタ345と抵抗R1は電流源で
ある。トランジスタ346と抵抗R2、トランジスタ3
53と抵抗R3等はすべて同じ電流を供給する電流源で
ある。すなわち、電流値は同じになるように抵抗が決め
られている。すべて同一電流源である。トランジスタ3
45,346のコレクタは接続されているので、和の電
流が抵抗344.347の交点に流れる。トランジスタ
343,348のコレクタ電流は、バランスした時点で
は同じになる。
トランジスタ351はカレントミラーの特性をよくする
ためのものである。トランジスタ350はダイオード接
続である。電流の向きを変えるということは出力に対し
て、電流を引っ張りこむ場合と電流を外に出す場合があ
る。同図に示すように、カレントミラーのトランジスタ
351のコレクタからは出力に向かって電流が流れる。
ためのものである。トランジスタ350はダイオード接
続である。電流の向きを変えるということは出力に対し
て、電流を引っ張りこむ場合と電流を外に出す場合があ
る。同図に示すように、カレントミラーのトランジスタ
351のコレクタからは出力に向かって電流が流れる。
下側のトランジスタ配列は沢山あるが、エミッタとコレ
クタが同じ点に接続されているトランジスタは同しトラ
ンジスタである。例えばトランジスタ358と360は
同じトランジスタでこれはトランジスタ345と同じも
のである。また359と361も同じトランジスタでこ
れは346に対応する。368 369のトランジスタ
は同じであり、これは353に対応する。以下、同様で
ある。したがって、同じ電流で駆動される定電流電源を
有するオペアンプが出力電圧の正負に従って電流の向き
が異なるような動作を行うものが全部で6個ある回路で
ある。また、トランジスタ337,338はレベルシフ
トであり、330と327もレベルシフトである。レベ
ルシフト回路はシグモイド関数の正と負で動作範囲がほ
ぼ同じになるようにするためのものである。トランジス
タ352はトランジスタ351のコレクタ電流とトラン
ジスタ353のコレクタ電流が等しくなるための補正用
のものである。トランジスタ367.385,287.
307も同様である。
クタが同じ点に接続されているトランジスタは同しトラ
ンジスタである。例えばトランジスタ358と360は
同じトランジスタでこれはトランジスタ345と同じも
のである。また359と361も同じトランジスタでこ
れは346に対応する。368 369のトランジスタ
は同じであり、これは353に対応する。以下、同様で
ある。したがって、同じ電流で駆動される定電流電源を
有するオペアンプが出力電圧の正負に従って電流の向き
が異なるような動作を行うものが全部で6個ある回路で
ある。また、トランジスタ337,338はレベルシフ
トであり、330と327もレベルシフトである。レベ
ルシフト回路はシグモイド関数の正と負で動作範囲がほ
ぼ同じになるようにするためのものである。トランジス
タ352はトランジスタ351のコレクタ電流とトラン
ジスタ353のコレクタ電流が等しくなるための補正用
のものである。トランジスタ367.385,287.
307も同様である。
第16図は、ニューロチップ内に供給するパルス信号の
形成するためのシーケンスジェネレータ28(第2図)
の具体回路である。401と402及び404と405
はインバータで、各インバータはクロック用のインバー
タである。フリップフロップF、Fのランチ信号の立ち
上がり用と立ち下がり用とに分けてクロックを作ってい
る。同図のフリップフロップは立ち上がりクロックでラ
ッチするもので、インバータとF、Fで立ち上がりラッ
チのF、Fを形成する。例えばDCLKでは、インバー
タ401を1個通ったものが立ち下がりランチ用のクロ
ック信号となる。そしてインバータ402を通ったもの
が立ち上がりラッチ用のクロックDCLKとなる。同様
にインバータ404の出力が立ち下がり用のWCLKで
インバータ405の出力が立ち上がり用クロックWCL
Kである。F、F410において、5YNC信号をDC
LKの立ち下がりがラッチしている。F、 F410
と415で5YNC信号をDCLKの1サイクル分遅ら
せ、5NC2信号を作って、5YNCとその1クロツク
遅れた信号とで1τのパルスを作っている。5YNCが
立ち上がった後の1τ(D CL Kの1周期)のパル
スでANP内の積分用コンデンサの放電を行う。すなわ
ちCR3Tという信号がそのコンデンサのリセット信号
である。
形成するためのシーケンスジェネレータ28(第2図)
の具体回路である。401と402及び404と405
はインバータで、各インバータはクロック用のインバー
タである。フリップフロップF、Fのランチ信号の立ち
上がり用と立ち下がり用とに分けてクロックを作ってい
る。同図のフリップフロップは立ち上がりクロックでラ
ッチするもので、インバータとF、Fで立ち上がりラッ
チのF、Fを形成する。例えばDCLKでは、インバー
タ401を1個通ったものが立ち下がりランチ用のクロ
ック信号となる。そしてインバータ402を通ったもの
が立ち上がりラッチ用のクロックDCLKとなる。同様
にインバータ404の出力が立ち下がり用のWCLKで
インバータ405の出力が立ち上がり用クロックWCL
Kである。F、F410において、5YNC信号をDC
LKの立ち下がりがラッチしている。F、 F410
と415で5YNC信号をDCLKの1サイクル分遅ら
せ、5NC2信号を作って、5YNCとその1クロツク
遅れた信号とで1τのパルスを作っている。5YNCが
立ち上がった後の1τ(D CL Kの1周期)のパル
スでANP内の積分用コンデンサの放電を行う。すなわ
ちCR3Tという信号がそのコンデンサのリセット信号
である。
もう1つのDSH2は5YNCの立ち下がりからDCL
Kの1τ分の長さをとったパルスであって、これがAN
P内のサンプル/ホールドのコンデンサに対するサンプ
ル/ホールド信号となる。411のF、Fではクロック
がWCLKで、データがDCLKであるから、WCLK
でDCLK信号をラッチしている。その後ナントゲート
414で5YNC信号がハイになっていて、かつDCL
Kがハイという状態で最初にきたWCLKをトリガして
F、F443のクロックにしている。ナントゲート41
4とインパーク440でアンドとなる。
Kの1τ分の長さをとったパルスであって、これがAN
P内のサンプル/ホールドのコンデンサに対するサンプ
ル/ホールド信号となる。411のF、Fではクロック
がWCLKで、データがDCLKであるから、WCLK
でDCLK信号をラッチしている。その後ナントゲート
414で5YNC信号がハイになっていて、かつDCL
Kがハイという状態で最初にきたWCLKをトリガして
F、F443のクロックにしている。ナントゲート41
4とインパーク440でアンドとなる。
F、F443において、5YNC信号がハイになってい
る状態で最初にきたWCLKという信号がディジタル重
みデータすなわちWDの符号ビットを取り込んでいる。
る状態で最初にきたWCLKという信号がディジタル重
みデータすなわちWDの符号ビットを取り込んでいる。
この信号はシリアルに入ってくる重みディジタルデータ
のMSB、ずなわち符号ビットである。すなわちF、F
411とアントゲ−1−(414,440)のタイミン
グで符号ビットをF、F443がランチする。4ビツト
の2進カウンタ416はWCLKのパルス数をかぞえる
。16ビツトのディジタル重みデータが入ってくるので
16回数える。数え終わったところで、出力がハイとな
り、インバータ423に入る。この信号は16個カウン
トし終わったことを指示する信号である。この信号はシ
リアルにANPに入ってきた重みデータをシフトレジス
タ27 (第2図)に入れる制御等に使われる。またカ
ウンタ416の最下位ビットはインバータ422に人力
される。このインバータ422の出力はC8O信号を生
成する。C8Oはデイジ−チェーンの制御信号であって
、アナログバスB1において、前段の2つのANPから
出される信号の競合を防ぐため、前の時刻のC8が落ち
た後、次のC8を出すようにデイジー動作を実行するた
めのデイレイ回路を形成する必要がある。このデイレイ
の遅延時間はWCLKをカウントし、そのカウンタ値で
形成している。カウンタ416のカウントが終わり、フ
リ・7プフロソプ433にその終わったという指示の信
号がインバータ423を介してラッチされるが、これは
WCLKでたたいている。すなわち17(回目のWCL
Kでたたいている。インバータ437と438を通して
、ラッチされた信号がカウンタ416に戻り、カウンタ
416のインクリメント動作をこれ以上させないように
ディスイネーブルの制御を行っている。インバータ43
8の出力がロウになると、カウンタ416はカウントが
停止する。F、F433の頁の出力はフリップフロップ
442に入っている。これがシフトレジスタ408の出
力のゲート信号になる。ずなわち、16111のディジ
タル重みデータが入ってくるのをシフトレジスタ408
で順々にシフトし、符号ビットを除いた数値ビットの1
5ビツトのデータをパラレルに並べたところでこれらを
出力する。シフトしている間は出力は出ないようにし、
全部入ったところで出力するためのゲート信号がWRで
ある。シフトレジスタ408の内容はANPの掛算器に
与えられる。F、F433から出力される信号は、分岐
されてシフトレジスタのイネーブル信号に使われる。F
、F442はF、F433の出力を立ち上がりでラッチ
するものである。WCLKの16個の立ち下がりラッチ
でシフトが完了し、その後ゲートを開くのに立ち上がり
ラッチでもよいが、立ち下がりで行っている。F、F4
12はシグモイド関数の選択用のパルス信号を作るもの
である。F、F412を使ってリセット信号がはいった
時点で、WD、すなわち重みディジタル入力信号がOか
1によってシグモイドを使うか使わないかを選択する。
のMSB、ずなわち符号ビットである。すなわちF、F
411とアントゲ−1−(414,440)のタイミン
グで符号ビットをF、F443がランチする。4ビツト
の2進カウンタ416はWCLKのパルス数をかぞえる
。16ビツトのディジタル重みデータが入ってくるので
16回数える。数え終わったところで、出力がハイとな
り、インバータ423に入る。この信号は16個カウン
トし終わったことを指示する信号である。この信号はシ
リアルにANPに入ってきた重みデータをシフトレジス
タ27 (第2図)に入れる制御等に使われる。またカ
ウンタ416の最下位ビットはインバータ422に人力
される。このインバータ422の出力はC8O信号を生
成する。C8Oはデイジ−チェーンの制御信号であって
、アナログバスB1において、前段の2つのANPから
出される信号の競合を防ぐため、前の時刻のC8が落ち
た後、次のC8を出すようにデイジー動作を実行するた
めのデイレイ回路を形成する必要がある。このデイレイ
の遅延時間はWCLKをカウントし、そのカウンタ値で
形成している。カウンタ416のカウントが終わり、フ
リ・7プフロソプ433にその終わったという指示の信
号がインバータ423を介してラッチされるが、これは
WCLKでたたいている。すなわち17(回目のWCL
Kでたたいている。インバータ437と438を通して
、ラッチされた信号がカウンタ416に戻り、カウンタ
416のインクリメント動作をこれ以上させないように
ディスイネーブルの制御を行っている。インバータ43
8の出力がロウになると、カウンタ416はカウントが
停止する。F、F433の頁の出力はフリップフロップ
442に入っている。これがシフトレジスタ408の出
力のゲート信号になる。ずなわち、16111のディジ
タル重みデータが入ってくるのをシフトレジスタ408
で順々にシフトし、符号ビットを除いた数値ビットの1
5ビツトのデータをパラレルに並べたところでこれらを
出力する。シフトしている間は出力は出ないようにし、
全部入ったところで出力するためのゲート信号がWRで
ある。シフトレジスタ408の内容はANPの掛算器に
与えられる。F、F433から出力される信号は、分岐
されてシフトレジスタのイネーブル信号に使われる。F
、F442はF、F433の出力を立ち上がりでラッチ
するものである。WCLKの16個の立ち下がりラッチ
でシフトが完了し、その後ゲートを開くのに立ち上がり
ラッチでもよいが、立ち下がりで行っている。F、F4
12はシグモイド関数の選択用のパルス信号を作るもの
である。F、F412を使ってリセット信号がはいった
時点で、WD、すなわち重みディジタル入力信号がOか
1によってシグモイドを使うか使わないかを選択する。
この方法は本システムで使用されない場合もある。実際
はシグモイド選択信号は、外部から直接形成する。下の
回路はデイジ−チェーン回路である。カウンタ416の
出力をF、F434でデイレイを作り、そのデイレイで
最後のF、F445をトリガを掛けている。このことに
より、DCLKの1τ分ズラした上に、そのままズラす
のではなく、頭をおとすようにしている。すなわちC3
I信号それ自身はDCLKの1周期分はないこともあり
、そのC8IをC8OにするためにはC3Iに対して、
最初の、例えば、2マイクロ分を削って波形の前を遅ら
せ、後ろはそのまま信号を作っている。ゲート425と
427はC3Iのバッファゲートである。正のバッファ
とインバータバッファである。
はシグモイド選択信号は、外部から直接形成する。下の
回路はデイジ−チェーン回路である。カウンタ416の
出力をF、F434でデイレイを作り、そのデイレイで
最後のF、F445をトリガを掛けている。このことに
より、DCLKの1τ分ズラした上に、そのままズラす
のではなく、頭をおとすようにしている。すなわちC3
I信号それ自身はDCLKの1周期分はないこともあり
、そのC8IをC8OにするためにはC3Iに対して、
最初の、例えば、2マイクロ分を削って波形の前を遅ら
せ、後ろはそのまま信号を作っている。ゲート425と
427はC3Iのバッファゲートである。正のバッファ
とインバータバッファである。
第17図はサンプル/ホールドS/H信号と、OC信号
を形成する位相制御回路29(第2図)である。S/H
信号はインバータ515に入るものと、ゲート524に
入るものと別れている。OC信号も同様である。S/H
信号がゲート524とインバータ515に別れ、インバ
ータ515経出でゲート525に入るとその後はインバ
ータが8段ある。S/H信号に対してそのままの位相と
逆位相の2通りの信号を作っている。これはインバータ
を数段骨カスケードに結合し、たすきがけすることによ
り2つの出力が同時に1になることを避けている。すな
わち、サンプル/ホールドS/H信号の2つ、S/HO
とS/H1を形成し、それが両方ともJにならないよう
にするようにしている。すなわち、インバータチェーン
はS/H信号の両方が同時オンを避けるためのデイレイ
回路である。デイレイの遅延時間はインバータチェーン
の長さによって決まり、片方がオンになってから数段骨
遅らせ、もう片方をオンにしている。
を形成する位相制御回路29(第2図)である。S/H
信号はインバータ515に入るものと、ゲート524に
入るものと別れている。OC信号も同様である。S/H
信号がゲート524とインバータ515に別れ、インバ
ータ515経出でゲート525に入るとその後はインバ
ータが8段ある。S/H信号に対してそのままの位相と
逆位相の2通りの信号を作っている。これはインバータ
を数段骨カスケードに結合し、たすきがけすることによ
り2つの出力が同時に1になることを避けている。すな
わち、サンプル/ホールドS/H信号の2つ、S/HO
とS/H1を形成し、それが両方ともJにならないよう
にするようにしている。すなわち、インバータチェーン
はS/H信号の両方が同時オンを避けるためのデイレイ
回路である。デイレイの遅延時間はインバータチェーン
の長さによって決まり、片方がオンになってから数段骨
遅らせ、もう片方をオンにしている。
S/HDOとS/HDIに関しても同様である。
00信号に関する回路も基本的には同じであるが、それ
はCR3T信号がゲート528と529に入っているの
で、CR3Tが1の場合には強制的に両方出力を1にす
る。OCOとOClの両方共、同時に1になることを避
けているが、○Cの場合はCR3Tが1の場合だけ同時
に1になるようにしている。このことにより、アナログ
スイッチのtti制御を介して積分器のコンデンサの電
荷を放電するというリセット機能を実現している。
はCR3T信号がゲート528と529に入っているの
で、CR3Tが1の場合には強制的に両方出力を1にす
る。OCOとOClの両方共、同時に1になることを避
けているが、○Cの場合はCR3Tが1の場合だけ同時
に1になるようにしている。このことにより、アナログ
スイッチのtti制御を介して積分器のコンデンサの電
荷を放電するというリセット機能を実現している。
第18図は15ビツトのシフトレジスタ27(第2図)
である。ゲート602と603及び6014、そしてF
、F627で1ビツトに相当し、これを使って説明する
。ゲート603には、前の時刻の出力が入力されている
もので、これはF。
である。ゲート602と603及び6014、そしてF
、F627で1ビツトに相当し、これを使って説明する
。ゲート603には、前の時刻の出力が入力されている
もので、これはF。
F628の出力である。前のビットからの入力というこ
とで、シフト用のデータ信号となる。ゲート603に入
っている他の信号は5HFT、ずなわちシフト信号のイ
ンバータである。これはシフト制御信号で、これが有効
のとき、シフトの指示を行うことになる。またゲート6
02にはF、 F627そのものの出力が入っている。
とで、シフト用のデータ信号となる。ゲート603に入
っている他の信号は5HFT、ずなわちシフト信号のイ
ンバータである。これはシフト制御信号で、これが有効
のとき、シフトの指示を行うことになる。またゲート6
02にはF、 F627そのものの出力が入っている。
これは自分自身の出力をフィードバックしていることに
なる。
なる。
ゲート602の他の入力には5HFT信号のインバート
が同じように入っているが、この位相はゲ−)603に
入っているものと異なる。これによりシフトが無効の時
に、今の出力をそのまま保持することになる。クロック
信号はシフトと無関係に常時入ってくるので、クロック
が入ってもシフトが有効でなければシフトは行わない。
が同じように入っているが、この位相はゲ−)603に
入っているものと異なる。これによりシフトが無効の時
に、今の出力をそのまま保持することになる。クロック
信号はシフトと無関係に常時入ってくるので、クロック
が入ってもシフトが有効でなければシフトは行わない。
シフト信号5)IFTが有効の時だけ前のビットをシフ
トし、ゲート603を通って入力することでシフト動作
となる。WR倍信号ゲート632.633等のアンドに
入っている。これは各ビットの出力を出すか出さないか
の選択信号となり、乗算器の方にシフトレジスタに格納
されたデータをわたすかどうかの制御信号となる。また
、ファンアウトをとるために、例えばインバータ620
によって15個のうち5個のF、Fのリセット信号そし
て、ゲート626で10個のF、Fのリセット信号を受
は持つようにしている。ファンアウトのシフトレジスタ
608はシフトイネーブル5HFTと出力のイネーブル
WRの機能がついている。
トし、ゲート603を通って入力することでシフト動作
となる。WR倍信号ゲート632.633等のアンドに
入っている。これは各ビットの出力を出すか出さないか
の選択信号となり、乗算器の方にシフトレジスタに格納
されたデータをわたすかどうかの制御信号となる。また
、ファンアウトをとるために、例えばインバータ620
によって15個のうち5個のF、Fのリセット信号そし
て、ゲート626で10個のF、Fのリセット信号を受
は持つようにしている。ファンアウトのシフトレジスタ
608はシフトイネーブル5HFTと出力のイネーブル
WRの機能がついている。
次に、本発明に係るニューロコンピュータを帰還型ネッ
トワークで構成した場合について説明する。
トワークで構成した場合について説明する。
第19A図は帰還型ネットワークの概念図である。
帰還型ネットワークの場合にも、基本的には入力が存在
するが、自分が出力した信号も帰ってくるという帰還路
をもった構造となる。この帰還方式は、階層型ニューラ
ルネットワークにおける1層を時分割多重使用するタイ
プとして利用される場合と、またいわゆるホップフィー
ルド型のニューラルネットワークとして利用される場合
がある。
するが、自分が出力した信号も帰ってくるという帰還路
をもった構造となる。この帰還方式は、階層型ニューラ
ルネットワークにおける1層を時分割多重使用するタイ
プとして利用される場合と、またいわゆるホップフィー
ルド型のニューラルネットワークとして利用される場合
がある。
前者の場合、ANPの入出力信号は、時分割であるので
、各ANPの出力点ではある一定のシーケンスサイクル
毎にその間じANPの出力データが逐次に出力されて、
1つシーケンスサイクルごとに階層型ニューラルネット
ワークの入力層、中間層、出力層として順次動作する。
、各ANPの出力点ではある一定のシーケンスサイクル
毎にその間じANPの出力データが逐次に出力されて、
1つシーケンスサイクルごとに階層型ニューラルネット
ワークの入力層、中間層、出力層として順次動作する。
後者の場合、ANPの出力が特定の値になるまで、つま
り安定するまで、出力電圧が帰還される。帰還している
結果を出した時に、その結果が前のデータ、つまり自分
が前に出したデータと一致するまで、状態が繰り返され
、安定解に達すれば収束となる。
り安定するまで、出力電圧が帰還される。帰還している
結果を出した時に、その結果が前のデータ、つまり自分
が前に出したデータと一致するまで、状態が繰り返され
、安定解に達すれば収束となる。
本発明の実施例によれば、第19B図に示されるように
、帰還路を共通アナログバスCBで実現することになり
コの字型の帰還部が存在する。そして1個目分が計算し
て出したものが出力され帰還路を通じて各ANPからの
出力がフィードバックされることになる。この帰還動作
を繰り返していく。
、帰還路を共通アナログバスCBで実現することになり
コの字型の帰還部が存在する。そして1個目分が計算し
て出したものが出力され帰還路を通じて各ANPからの
出力がフィードバックされることになる。この帰還動作
を繰り返していく。
第20図は本発明のニューロコンピュータを階層型ネッ
トワークとして動作する帰還型ネットワークによって実
現した実施例である。アナログ入力ボート1.2からの
時分割アナログ人力信号に対してANPl、2.3にお
いて積和演算を行い、ANPI、2.3を中間層として
動作させANPl、2.3からアナログバスB2に時分
割出力し、この出力信号を帰還路であるアナログコモン
バスCBを介してアナログバスB1に帰還し再びこの帰
還信号に対してANPl、2.3で積和演算を行うこと
により、ANPI、2.3を出力層として動作させるこ
とにより、−層のANPI、23により階層型ネットワ
ークを実現したものである。マックスバリューノード回
路187はマスクコントロールブロックのDO3出力を
受けてアナログバスB2にダミー信号を生ずる。そして
マスクコントロールブロックからD CL K及びWC
LKがそれぞれデイジー回路171に入力され、C8I
信号の立ち上がり及び立ち下がりのタイミングを規定す
る。
トワークとして動作する帰還型ネットワークによって実
現した実施例である。アナログ入力ボート1.2からの
時分割アナログ人力信号に対してANPl、2.3にお
いて積和演算を行い、ANPI、2.3を中間層として
動作させANPl、2.3からアナログバスB2に時分
割出力し、この出力信号を帰還路であるアナログコモン
バスCBを介してアナログバスB1に帰還し再びこの帰
還信号に対してANPl、2.3で積和演算を行うこと
により、ANPI、2.3を出力層として動作させるこ
とにより、−層のANPI、23により階層型ネットワ
ークを実現したものである。マックスバリューノード回
路187はマスクコントロールブロックのDO3出力を
受けてアナログバスB2にダミー信号を生ずる。そして
マスクコントロールブロックからD CL K及びWC
LKがそれぞれデイジー回路171に入力され、C8I
信号の立ち上がり及び立ち下がりのタイミングを規定す
る。
第21A図は第20図に示した帰還型階層ネットワーク
のタイミングチャートである。
のタイミングチャートである。
DCLKが立ち上がっている間だけ、WCLKは発生し
、DCLKが立ち上がってからアナログ信号が定常化し
、かつ重みデータがシリアルに入ってきた後で、パラレ
ルに揃う前のタイミングでマスクコントロールブロック
181からのC3O1がデイジー回路171に入力され
■に示すように立ち上がる。この時アナログ入力ボート
1よりサンプル/ホールドS / Hに保持されている
アナログ信号はアナログスイッチ175を介してアナロ
グバスB1に現れ、ANPI、2.3で積和演算が行わ
れる。次のDCLKの入力で、デイジー回路172への
C3Iが■に示すように立ち上がると、アナログ入力ポ
ートからの入力信号を保持しているサンプル/ホールド
回路S/Hの信号がアナログスイッチを介してアナログ
バスB1上に現れ、ANPI、2.3で2回目の積和演
算が行われる。さらに次のタイミングでDCLKが入力
した後、■に示すようにマスクコントロールブロックよ
りダミー信号DO3が発生し、ANPl2.3において
は、固定電圧に対する3回目の和が実行される。次の5
YNC信号が立ち上がっている間に、ANPl、2.3
の出力層の積和演算が行われる。重みメモリへのアドレ
ス1の信号のアドレスカウント禁止信号が立ち上がって
いる間だけ、アドレスカウンタをカウントするWCLK
がイネーブルされ、それ以外の時には、そのカウントは
抑止される。次に、C3O2がマスクコントロールブロ
ックよりANPIに与えられると、ANPIは、前回の
積和の結果をアナログバスB2に出力し、アナログ共通
バスCBを通してアナログバスB1に帰還し、■で示す
ように再びANPi、2.3において積和演算を行う。
、DCLKが立ち上がってからアナログ信号が定常化し
、かつ重みデータがシリアルに入ってきた後で、パラレ
ルに揃う前のタイミングでマスクコントロールブロック
181からのC3O1がデイジー回路171に入力され
■に示すように立ち上がる。この時アナログ入力ボート
1よりサンプル/ホールドS / Hに保持されている
アナログ信号はアナログスイッチ175を介してアナロ
グバスB1に現れ、ANPI、2.3で積和演算が行わ
れる。次のDCLKの入力で、デイジー回路172への
C3Iが■に示すように立ち上がると、アナログ入力ポ
ートからの入力信号を保持しているサンプル/ホールド
回路S/Hの信号がアナログスイッチを介してアナログ
バスB1上に現れ、ANPI、2.3で2回目の積和演
算が行われる。さらに次のタイミングでDCLKが入力
した後、■に示すようにマスクコントロールブロックよ
りダミー信号DO3が発生し、ANPl2.3において
は、固定電圧に対する3回目の和が実行される。次の5
YNC信号が立ち上がっている間に、ANPl、2.3
の出力層の積和演算が行われる。重みメモリへのアドレ
ス1の信号のアドレスカウント禁止信号が立ち上がって
いる間だけ、アドレスカウンタをカウントするWCLK
がイネーブルされ、それ以外の時には、そのカウントは
抑止される。次に、C3O2がマスクコントロールブロ
ックよりANPIに与えられると、ANPIは、前回の
積和の結果をアナログバスB2に出力し、アナログ共通
バスCBを通してアナログバスB1に帰還し、■で示す
ように再びANPi、2.3において積和演算を行う。
C3O2がANPIの内部のデイジ−チェーン回路にお
いて、所定遅延を加えられた後、ANP2に■に示すよ
うに入力信号C3Iを加え、この時、ANPの出力信号
がアナログバスB2に共通バスC’B及びアナログバス
A1、B1を介して再びANPIに加えられ、ここで積
和演算が行われる。同様にANP2からのC8oは所定
時間遅らせた後、ANP3のC3I信号となり、このC
8I信号が■に示すように立ち上がった時にANP3の
出力信号がアナログバスB2.共通バスCB、アナログ
バスB1を介して再びANPI、2.3に帰還されてこ
こで積和演算が行われる。同様に■に示すようにダミー
ノードからの信号DC3の立ち上がりの際に再び、固定
電圧に対してANPl、23により和の演算が行われる
。そして、次のC802の信号の立上りでANPI、2
からS/Hを介して出力が■、■に示すように生じる。
いて、所定遅延を加えられた後、ANP2に■に示すよ
うに入力信号C3Iを加え、この時、ANPの出力信号
がアナログバスB2に共通バスC’B及びアナログバス
A1、B1を介して再びANPIに加えられ、ここで積
和演算が行われる。同様にANP2からのC8oは所定
時間遅らせた後、ANP3のC3I信号となり、このC
8I信号が■に示すように立ち上がった時にANP3の
出力信号がアナログバスB2.共通バスCB、アナログ
バスB1を介して再びANPI、2.3に帰還されてこ
こで積和演算が行われる。同様に■に示すようにダミー
ノードからの信号DC3の立ち上がりの際に再び、固定
電圧に対してANPl、23により和の演算が行われる
。そして、次のC802の信号の立上りでANPI、2
からS/Hを介して出力が■、■に示すように生じる。
なお、アナログ入力ボート2からは出力されない。
ここで■、■、■はANPI、2.3が中間層として動
作し、■、■、■はANPl、、2.3が出力層とし、
て動作する。従ってこの実施例によれば、ANPl、2
.3の1層のみの構成で階層型ネットワークを構成でき
る。
作し、■、■、■はANPl、、2.3が出力層とし、
て動作する。従ってこの実施例によれば、ANPl、2
.3の1層のみの構成で階層型ネットワークを構成でき
る。
第22図は本発明にかかるアナログニューロコンピュー
タをホップフィールド型の帰還型ネットワークで構成し
た実施例であり、第23図はそのタイミングチャートで
ある。マスクコントロールブロック181の、メモリ・
アドレス端子及びモード端子の出力が重みメモリブロッ
ク185に加えられ、この重みメモリブロック185の
データ出力であるBIOはANP 1、BllはANP
2、B12はANP3に接続される。マスクコントロー
ルブロック181のC3O1の端子からの出力信号は、
デイジー回路171、スイッチ175に加えられ、この
信号の立ち上がりで、アナログ入力ボート1からのサン
プル/ホールド回路173の出力をアナログバスB1に
乗せる。そしてデイジー回路171で所定時間遅延され
た後、C8○の出力が生じ、これがデイジー回路172
にC8Iとして加えられてアナログ入力ボート2に接続
されたサンプル/ホールド回路174の信号をスイッチ
176を介してアナログバスB1に乗せる。
タをホップフィールド型の帰還型ネットワークで構成し
た実施例であり、第23図はそのタイミングチャートで
ある。マスクコントロールブロック181の、メモリ・
アドレス端子及びモード端子の出力が重みメモリブロッ
ク185に加えられ、この重みメモリブロック185の
データ出力であるBIOはANP 1、BllはANP
2、B12はANP3に接続される。マスクコントロー
ルブロック181のC3O1の端子からの出力信号は、
デイジー回路171、スイッチ175に加えられ、この
信号の立ち上がりで、アナログ入力ボート1からのサン
プル/ホールド回路173の出力をアナログバスB1に
乗せる。そしてデイジー回路171で所定時間遅延され
た後、C8○の出力が生じ、これがデイジー回路172
にC8Iとして加えられてアナログ入力ボート2に接続
されたサンプル/ホールド回路174の信号をスイッチ
176を介してアナログバスB1に乗せる。
同様にデイジー回路172′の出力信号C8Oがアナロ
グ人力ボート3に接続れたサンプル/ホールド回路17
4′の出力スイッチ176′を開いてその信号をアナロ
グバスB1に乗せる。ANPlでは第23図に示すよう
に、DCLK信号の1周期で1つの積和の演算を行い、
DCLK信号がハイの時に重みクロックを駆動し、その
重みクロックに同期して入るディジタル重みデータと、
アナログ入力信号との掛は算を行い、DCLKの後半の
ロウ信号の時に、サンプル/ホールド信号SHがハイと
なり、積分器のキャパシタにおいて、和の動作を行う。
グ人力ボート3に接続れたサンプル/ホールド回路17
4′の出力スイッチ176′を開いてその信号をアナロ
グバスB1に乗せる。ANPlでは第23図に示すよう
に、DCLK信号の1周期で1つの積和の演算を行い、
DCLK信号がハイの時に重みクロックを駆動し、その
重みクロックに同期して入るディジタル重みデータと、
アナログ入力信号との掛は算を行い、DCLKの後半の
ロウ信号の時に、サンプル/ホールド信号SHがハイと
なり、積分器のキャパシタにおいて、和の動作を行う。
すなわちC3O1すなわちデイジー回路1のC3Iがハ
イになっている期間■で、バスBI上のアナログ信号に
対してANPl、23は積和演算を行う。また、マスク
コントロールブロック181からのOC信号がハイとな
ると、ANPl2.3はオフセットキャンセルを行い、
サンプル/ホールドして1つの積和演算周期を終える。
イになっている期間■で、バスBI上のアナログ信号に
対してANPl、23は積和演算を行う。また、マスク
コントロールブロック181からのOC信号がハイとな
ると、ANPl2.3はオフセットキャンセルを行い、
サンプル/ホールドして1つの積和演算周期を終える。
次に第2のデイジー回!?&172の人力信号C3Iが
ハイ■になるので、次のアナログ入力ボートからの入力
信号に対しANPI、2.3は積和演算を行う。そして
、その積和演算周期が終了した後に、デイジー回路17
2′にC8I信号が入り、サンプル/ホールド回[11
74′から出力信号が生じて、■で示すように第3番目
の積和演算サイクルに入る。
ハイ■になるので、次のアナログ入力ボートからの入力
信号に対しANPI、2.3は積和演算を行う。そして
、その積和演算周期が終了した後に、デイジー回路17
2′にC8I信号が入り、サンプル/ホールド回[11
74′から出力信号が生じて、■で示すように第3番目
の積和演算サイクルに入る。
次にマスクコントロールブロック181からC802信
号■が生じて、ANPIから前回の積和サイクルの時に
形成されていた信号がアナログバスCBを介して帰還さ
れ、その帰還された信号に対して、ANPI、ANP2
.ANP3で積和演算を同時に行う。次に所定時間遅延
した後、ANPlのC8O出力信号が■でANP2に加
えられ、ここでデイジ−チェーン的に前回の積和サイク
ルの時に蓄えられた信号をANP2が出力する。この信
号はアナログバスCBを介して帰還されてANPI、A
NP2.APN3で積和演算を■で駆動する。そして同
様に所定時間遅延した後、ANP2のC8○が■でAN
P3に加わえられ、ここでANP3からの出力をアナロ
グバスCBを介して帰還して、ANPI、ANP2.A
PN3において■で積和演算を行う。帰還型ネットワー
クにおいては、第23A図及び第23B図に示すように
、3つのANPにおいて、6つの積和演算サイクルを経
て出力が、それぞれサンプル/ホールド回路177.1
78.178′を介してアナログ出力ボート0、■、2
へと出力される。また、サンプル/ホールド回路177
.178.178′の出力信号がアナログマルチプレク
サ179で選択出力されたものをA/Dコンバータ18
0を介してMPU182、メモリ182、通信インター
フェイス184を含むデジイタル制御回路に与えられる
。MPU182で現時刻のニューロン出力状態と前時刻
のニューロン出力状態が同じになったかどうかをチエツ
クする。同じになれば収束したものと判定する。このよ
うに、1本の共通アナログバスCBを介して実行される
。帰還動作を繰り返していくことによって安定解に到達
すればこれを最終的な出力とする。
号■が生じて、ANPIから前回の積和サイクルの時に
形成されていた信号がアナログバスCBを介して帰還さ
れ、その帰還された信号に対して、ANPI、ANP2
.ANP3で積和演算を同時に行う。次に所定時間遅延
した後、ANPlのC8O出力信号が■でANP2に加
えられ、ここでデイジ−チェーン的に前回の積和サイク
ルの時に蓄えられた信号をANP2が出力する。この信
号はアナログバスCBを介して帰還されてANPI、A
NP2.APN3で積和演算を■で駆動する。そして同
様に所定時間遅延した後、ANP2のC8○が■でAN
P3に加わえられ、ここでANP3からの出力をアナロ
グバスCBを介して帰還して、ANPI、ANP2.A
PN3において■で積和演算を行う。帰還型ネットワー
クにおいては、第23A図及び第23B図に示すように
、3つのANPにおいて、6つの積和演算サイクルを経
て出力が、それぞれサンプル/ホールド回路177.1
78.178′を介してアナログ出力ボート0、■、2
へと出力される。また、サンプル/ホールド回路177
.178.178′の出力信号がアナログマルチプレク
サ179で選択出力されたものをA/Dコンバータ18
0を介してMPU182、メモリ182、通信インター
フェイス184を含むデジイタル制御回路に与えられる
。MPU182で現時刻のニューロン出力状態と前時刻
のニューロン出力状態が同じになったかどうかをチエツ
クする。同じになれば収束したものと判定する。このよ
うに、1本の共通アナログバスCBを介して実行される
。帰還動作を繰り返していくことによって安定解に到達
すればこれを最終的な出力とする。
第24図は、帰還型ネットワークと階層型ネ。
トワークを組み合わせたものの最適実施例である。
入力層としてデイジー回路が設けられ、中間層にはAN
PI、2.3が設けられる。出力層にはANP4.5が
設けられる。そして中間層のANPl、2.3の出力は
アナログバスB2と共通アナログバスCDを介してアナ
ログバスB1に帰還される。また、アナログバスB1、
B2にはダミーノードとして働くマックスバリューノー
ド回路187が接続されている。そして、出力層を構成
するANP4.5の出力はサンプル/ホールド回路17
7.1.78をそれぞれ介してアナログ出力ボート0及
び1に出力される。B3は出力層アナログバスである。
PI、2.3が設けられる。出力層にはANP4.5が
設けられる。そして中間層のANPl、2.3の出力は
アナログバスB2と共通アナログバスCDを介してアナ
ログバスB1に帰還される。また、アナログバスB1、
B2にはダミーノードとして働くマックスバリューノー
ド回路187が接続されている。そして、出力層を構成
するANP4.5の出力はサンプル/ホールド回路17
7.1.78をそれぞれ介してアナログ出力ボート0及
び1に出力される。B3は出力層アナログバスである。
第25図を用いて第24図に示したニューラルネットワ
ークの動作を説明する。
ークの動作を説明する。
まず、DCLK及びWCL、Kがマスタコントロルブロ
ソクからデイジー回路171及びANPl、2,3,4
.5にそれぞれ入力される。マスクコントロールブロッ
ク181から■に示すようにC3OlがC3Iとして第
1のデイジー回路171に入力されるとアナログ入力ボ
ートOからの信号がサンプル/ホールド回路173及び
スイッチ175を介してアナログバスB1に生じ、AN
Pi、 2. 3において積和演算がSHI及びCS
1の制御で行われる。
ソクからデイジー回路171及びANPl、2,3,4
.5にそれぞれ入力される。マスクコントロールブロッ
ク181から■に示すようにC3OlがC3Iとして第
1のデイジー回路171に入力されるとアナログ入力ボ
ートOからの信号がサンプル/ホールド回路173及び
スイッチ175を介してアナログバスB1に生じ、AN
Pi、 2. 3において積和演算がSHI及びCS
1の制御で行われる。
次に、C3O1が立下がった後、所定時間経過後に第2
のデイジー回路172に入力されるC8I信号が■に示
すように立ち上がると、アナログ入力ボート1からの信
号かサンプル/ホールド回路174及びスイッチ176
を介してアナログバスB2により中間層のANPI、2
.3において、SHIに示すように積和演算が行われる
。同様にC8Oが信号が立ち下がった後、所定時間経過
後に■に示すように第3のデイジー回路へのC3I信号
が立ち上がると、中間層ANPI、2.3で積和演算が
行われる。そして、中間層ANP 1゜2.3の出力は
C3O2が■で示すように立ち上がってANPIに加え
られると、アナログバスB2に出力されその出力は共通
アナログバスCBを介してアナログバスB1に帰還され
るので、中間層のANPI、ANP2.ANP3におい
ては再び積和演算が行われSHIとOCIの制御で積和
演算が行われると共に、ANPIの出力はアナログバス
B2上に生じているので、ANP4.ANP5において
も、SH2とOC2の制御で積和演算が行われる。すな
わち、この実施例においては、中間層ANPI、ANP
2、ANP3と出力FJANP4 ANP5において
同時に積和演算が行われる。
のデイジー回路172に入力されるC8I信号が■に示
すように立ち上がると、アナログ入力ボート1からの信
号かサンプル/ホールド回路174及びスイッチ176
を介してアナログバスB2により中間層のANPI、2
.3において、SHIに示すように積和演算が行われる
。同様にC8Oが信号が立ち下がった後、所定時間経過
後に■に示すように第3のデイジー回路へのC3I信号
が立ち上がると、中間層ANPI、2.3で積和演算が
行われる。そして、中間層ANP 1゜2.3の出力は
C3O2が■で示すように立ち上がってANPIに加え
られると、アナログバスB2に出力されその出力は共通
アナログバスCBを介してアナログバスB1に帰還され
るので、中間層のANPI、ANP2.ANP3におい
ては再び積和演算が行われSHIとOCIの制御で積和
演算が行われると共に、ANPIの出力はアナログバス
B2上に生じているので、ANP4.ANP5において
も、SH2とOC2の制御で積和演算が行われる。すな
わち、この実施例においては、中間層ANPI、ANP
2、ANP3と出力FJANP4 ANP5において
同時に積和演算が行われる。
次に、C3O2が立ち下がった後所定時間経過後に中間
層のANP2に■に示すようにC3I信号を入力される
とANP2の出力信号はANP2、共通バスCBを介し
てアナログバスB1に帰還されるので、ANPI、2.
3においては再び積和演算が行われると共にANP4.
5においても同時タイミングで積和演算が行われる。
層のANP2に■に示すようにC3I信号を入力される
とANP2の出力信号はANP2、共通バスCBを介し
てアナログバスB1に帰還されるので、ANPI、2.
3においては再び積和演算が行われると共にANP4.
5においても同時タイミングで積和演算が行われる。
さらに、■で示すようにC3I信号がANP3に入力さ
れるとANP3は出力信号をアドレスバスB1に生じる
のでANPl、2.3及び出力層のANP4.5で同時
に積和演算が実行される。
れるとANP3は出力信号をアドレスバスB1に生じる
のでANPl、2.3及び出力層のANP4.5で同時
に積和演算が実行される。
その次に、マックスバリューノード回路187ヘダミー
信号DSCIが■で与えられると、アナログバスBに■
に一定電圧が出力され、この電圧は共通バスCB及びア
ナログバスB1を介して帰還され、これに対して、AN
PI、2.3で積和演算が行われる。それと共に出力層
ANP4.5でも積和演算が行われる。
信号DSCIが■で与えられると、アナログバスBに■
に一定電圧が出力され、この電圧は共通バスCB及びア
ナログバスB1を介して帰還され、これに対して、AN
PI、2.3で積和演算が行われる。それと共に出力層
ANP4.5でも積和演算が行われる。
5YNCIは、中間層で積和演算される期間と中間層及
び出力層で積和演算される期間にわたってハイであり、
5YNC2は中間層と出力層で積和演算がされる間がハ
イである。そして、C803が出力されるとANP4は
■のところで出力を生じ、そのC3O3信号が立ち下が
った後、所定時間後にANP5もまた出力を■のところ
で生ずる。
び出力層で積和演算される期間にわたってハイであり、
5YNC2は中間層と出力層で積和演算がされる間がハ
イである。そして、C803が出力されるとANP4は
■のところで出力を生じ、そのC3O3信号が立ち下が
った後、所定時間後にANP5もまた出力を■のところ
で生ずる。
なお、アドレス1及びイネーブル信号がロウである間は
WCLKが抑止される。
WCLKが抑止される。
本発明によれば、n個のニューロチップからなる前段層
とm個の複数のニューロチップからなる後段の層を考え
るとき、従来は配線数がnm個になるのに、本発明の実
施例によれば、アナログバス1本にすることができるの
で配線数を大幅に減少させることができ、また、n個の
ニューロチップからなる層に入力アナログ信号を入力す
る際に、放送方式と同様にアナログバスを介して同時に
入力できるので、1層内のn個のニューロチップが並列
演算ができる。さらに、各層についてもパイプライン処
理が行われるので、演算速度を高速にできる。
とm個の複数のニューロチップからなる後段の層を考え
るとき、従来は配線数がnm個になるのに、本発明の実
施例によれば、アナログバス1本にすることができるの
で配線数を大幅に減少させることができ、また、n個の
ニューロチップからなる層に入力アナログ信号を入力す
る際に、放送方式と同様にアナログバスを介して同時に
入力できるので、1層内のn個のニューロチップが並列
演算ができる。さらに、各層についてもパイプライン処
理が行われるので、演算速度を高速にできる。
また、ニューロチップをアナログ回路で構成しているの
で、回路の規模が小さくてすみ、このため電力も小さく
てすむので、多数のニューロチップによりニューロコン
ピュータを構成するこができる。さらに、ニューロチッ
プの数を増やすことはマスクコントロールブロック内の
制御ハターンメモリに格納されて制御パターンをかえる
ことにより容易に行える。
で、回路の規模が小さくてすみ、このため電力も小さく
てすむので、多数のニューロチップによりニューロコン
ピュータを構成するこができる。さらに、ニューロチッ
プの数を増やすことはマスクコントロールブロック内の
制御ハターンメモリに格納されて制御パターンをかえる
ことにより容易に行える。
第26A図、第26B図は実際のAN、Pが持っている
誤差を発生するメカニズムの概念図である。
誤差を発生するメカニズムの概念図である。
第26A図は入力電圧が既知である特定の値である場合
で、ニューラルネットワークの出力電圧が点線に示され
る理論値であってもG1から05までのニューロンに相
当するANPにおいて、積分ゲインのバラつきがあるた
め点線のような理論値からズした出力値が生成される場
合がある。第26B図は入力電圧が0ボルトの場合であ
ってこの場合も出力電圧はオフセット電圧として出力さ
れる。このような出力における誤差電圧をどのように測
定すればよいかということが重要な問題である。
で、ニューラルネットワークの出力電圧が点線に示され
る理論値であってもG1から05までのニューロンに相
当するANPにおいて、積分ゲインのバラつきがあるた
め点線のような理論値からズした出力値が生成される場
合がある。第26B図は入力電圧が0ボルトの場合であ
ってこの場合も出力電圧はオフセット電圧として出力さ
れる。このような出力における誤差電圧をどのように測
定すればよいかということが重要な問題である。
第27図、第28図はそれぞれこのパルス的な誤差電圧
を計る階層型及び帰還型のニューラルネソトワークにお
ける誤差計測用回路である。マックスバリューノード回
路187の出力はアナログバスに接続されている。また
、MPUから与えられるデータをポートレジスタにセッ
トし、その制御信号En、Tnmド、レイヤーモードの
各ビットはマックスバリューノード回路187に与えら
れるが、そのマックスバリューノードに与えられるイネ
ーブル信号は同時にオペアンプの出力のスイッチの制御
にも利用される。例えばイネーブル信号1の時には中間
層の電圧はA/Dコンバータ707を介してMPUに入
る。このことによって誤差の計測が可能となる。Tモー
ドとはテストモードのことであり、このTモードを使う
ことによって前述したO入力に対する中間層と出力層の
アナログバスにおける電圧がA/Dコンバータを介して
MPUで測定可能となる。例えば、Tモード−1では階
層形のニューラルネットワークでは0人力に対するオフ
セット電圧が応答となるはずである。0人力時にA/D
コンバータを介してどのような電圧がセンスされるかを
モニタする。各層毎にモニタするために中間層及び出力
層に接続されたアナログバス電圧が順番にMPUに転送
される。Tモードを逆にローにすると、今度はハイレベ
ルの電圧が常に出される。DC31とDC32は、オア
回路に入力されており、ポートレジスタから出力される
Enがハイの間はロウにされている。ポートレジスタに
よってTモードを1にし、レイヤを1にセットし、En
をハイにすれば、入力層だけをロウにして出力をモニタ
することが可能となる。その結果を記憶する。次にレイ
ヤをロウにすれば中間層のアナログバス上のオフセット
をセンスできる。この選択を行うのがポートレジスタで
ある。第28図の帰還型の場合では基本的にはバスは1
本であるから1回の計測で可能となる。どちらも積和演
算を実行しないと、オフセット電圧の測定やゲイン誤差
は測定できない。後述するように、ダミーノードに対す
る重みを変えてその時の出力電圧を測定する。この場合
、それぞれのC3IとC8Oの制御を行い、Tモードで
各層の出力状態をセンスする。このセンスしたデー夕を
A/Dコンバータを介してMPUにとる。
を計る階層型及び帰還型のニューラルネソトワークにお
ける誤差計測用回路である。マックスバリューノード回
路187の出力はアナログバスに接続されている。また
、MPUから与えられるデータをポートレジスタにセッ
トし、その制御信号En、Tnmド、レイヤーモードの
各ビットはマックスバリューノード回路187に与えら
れるが、そのマックスバリューノードに与えられるイネ
ーブル信号は同時にオペアンプの出力のスイッチの制御
にも利用される。例えばイネーブル信号1の時には中間
層の電圧はA/Dコンバータ707を介してMPUに入
る。このことによって誤差の計測が可能となる。Tモー
ドとはテストモードのことであり、このTモードを使う
ことによって前述したO入力に対する中間層と出力層の
アナログバスにおける電圧がA/Dコンバータを介して
MPUで測定可能となる。例えば、Tモード−1では階
層形のニューラルネットワークでは0人力に対するオフ
セット電圧が応答となるはずである。0人力時にA/D
コンバータを介してどのような電圧がセンスされるかを
モニタする。各層毎にモニタするために中間層及び出力
層に接続されたアナログバス電圧が順番にMPUに転送
される。Tモードを逆にローにすると、今度はハイレベ
ルの電圧が常に出される。DC31とDC32は、オア
回路に入力されており、ポートレジスタから出力される
Enがハイの間はロウにされている。ポートレジスタに
よってTモードを1にし、レイヤを1にセットし、En
をハイにすれば、入力層だけをロウにして出力をモニタ
することが可能となる。その結果を記憶する。次にレイ
ヤをロウにすれば中間層のアナログバス上のオフセット
をセンスできる。この選択を行うのがポートレジスタで
ある。第28図の帰還型の場合では基本的にはバスは1
本であるから1回の計測で可能となる。どちらも積和演
算を実行しないと、オフセット電圧の測定やゲイン誤差
は測定できない。後述するように、ダミーノードに対す
る重みを変えてその時の出力電圧を測定する。この場合
、それぞれのC3IとC8Oの制御を行い、Tモードで
各層の出力状態をセンスする。このセンスしたデー夕を
A/Dコンバータを介してMPUにとる。
第27図の誤差計測用回路を第29A図及び第30A図
の動作タイミングチャートを用いて、より具体的に説明
する。第29図において、DLCKの1周期において、
積和の1サイクルが行われる。そのDCLKの1周期の
前半のDCLKがハイの時に重みクロックWCLKが少
なくとも16個入力される。この重みクロックWCLK
は、シリアルデータをシフトレジスタに16(固蓄える
ためのクロックである。5YNC信号は1つのANPの
動作タイミングを規定するもので、DCLKより半サイ
クル前に立ち上がり、DCLKの半分のサイクルの点で
立ち下がる。SHはサンプル/ホールド信号でそのWC
LKが入力した後、すなわち入力アナログデータとディ
ジタル重みデータとの積が行われた後にその積信号をコ
ンデンサにまずチャージするものである。そして、サン
プル/ホールド信号の最初のハイ信号が立ち下がった時
点で、オフセットキャンセル信号○Cが立ち上がり、コ
ンデンサの極性を逆に反転する。その時、コンデンサへ
の入力信号は、0にカットしておいて、再びサンプル/
ホールド信号の次のハイ信号において、コンデンサにチ
ャージを行うと、コンデンサには、入力信号Oの時のオ
フセット電圧に等しい電圧がチャージされる。これによ
ってコンデンサはオフセット分だけ少なくなった信号、
すなわちオフセットがキャンセルされた信号が蓄積され
ることになる。しかし、これでもオフセットが残る場合
には更に本発明の誤差吸収方式を利用する。
の動作タイミングチャートを用いて、より具体的に説明
する。第29図において、DLCKの1周期において、
積和の1サイクルが行われる。そのDCLKの1周期の
前半のDCLKがハイの時に重みクロックWCLKが少
なくとも16個入力される。この重みクロックWCLK
は、シリアルデータをシフトレジスタに16(固蓄える
ためのクロックである。5YNC信号は1つのANPの
動作タイミングを規定するもので、DCLKより半サイ
クル前に立ち上がり、DCLKの半分のサイクルの点で
立ち下がる。SHはサンプル/ホールド信号でそのWC
LKが入力した後、すなわち入力アナログデータとディ
ジタル重みデータとの積が行われた後にその積信号をコ
ンデンサにまずチャージするものである。そして、サン
プル/ホールド信号の最初のハイ信号が立ち下がった時
点で、オフセットキャンセル信号○Cが立ち上がり、コ
ンデンサの極性を逆に反転する。その時、コンデンサへ
の入力信号は、0にカットしておいて、再びサンプル/
ホールド信号の次のハイ信号において、コンデンサにチ
ャージを行うと、コンデンサには、入力信号Oの時のオ
フセット電圧に等しい電圧がチャージされる。これによ
ってコンデンサはオフセット分だけ少なくなった信号、
すなわちオフセットがキャンセルされた信号が蓄積され
ることになる。しかし、これでもオフセットが残る場合
には更に本発明の誤差吸収方式を利用する。
第27図において、ポートレジスタ1にMPtJよりテ
ストモードに入る指令信号が入力されると、En出力が
ハイに立ち上がり、テストモードの1または0がイネー
ブル状態となる。レイヤがロウからハイに立ち上がると
、中間層のテストを行う。
ストモードに入る指令信号が入力されると、En出力が
ハイに立ち上がり、テストモードの1または0がイネー
ブル状態となる。レイヤがロウからハイに立ち上がると
、中間層のテストを行う。
そして、Tモードが1の時には、オフセットの誤差信号
を検出する場合である。レイヤがハイであり、En信号
がハイであるので、ゲート702及び703を介して出
力イネーブルがハイとなる。
を検出する場合である。レイヤがハイであり、En信号
がハイであるので、ゲート702及び703を介して出
力イネーブルがハイとなる。
そして、マックスバリューノード回路の中間屑入力への
固定電圧をOボルトまたはハイ状態にするため、その回
路をイネーブル状態にする。出力イネーブルがハイに立
ち上がると、中間層のテスト終了までハイの状態となる
。すなわち、中間層について、オフセットの誤差を検出
する。ここで、上述したようにDCLKがハイ信号とな
り、積和の1周期が行われる。その後で、C3I (
C3O2)がハイとなり、ANPIから出力がアナログ
バス(中間層)上に出力される。
固定電圧をOボルトまたはハイ状態にするため、その回
路をイネーブル状態にする。出力イネーブルがハイに立
ち上がると、中間層のテスト終了までハイの状態となる
。すなわち、中間層について、オフセットの誤差を検出
する。ここで、上述したようにDCLKがハイ信号とな
り、積和の1周期が行われる。その後で、C3I (
C3O2)がハイとなり、ANPIから出力がアナログ
バス(中間層)上に出力される。
次に一定時間たったANP2へもC3I信号がデイジ−
チェーン的に加えられるので、ANP2からも同様にア
ナログ出力信号が出力され、中間層の出力バス上にのる
。さらに所定時間経過後に、ANP3のC3I信号がハ
イに立ち上がるので、ANP 3からアナログ出力信号
が中間層の出力のアナログバス上に出力される。中間層
に出力された各アナログ信号はオペアンプ704及びア
ナログスイッチ705,706を介してA/Dコンバー
タ707に加えられる。そしてA/Dコンバータ707
の出力QfはMPUに送られ、それぞれ主記憶に一時保
持される。次に、第29B図のタイミングチャートに示
されるように、Tモードを1にしてダミーノードの出力
電圧をハイにして、各ANPの出力電圧QgをMPUが
センスする。
チェーン的に加えられるので、ANP2からも同様にア
ナログ出力信号が出力され、中間層の出力バス上にのる
。さらに所定時間経過後に、ANP3のC3I信号がハ
イに立ち上がるので、ANP 3からアナログ出力信号
が中間層の出力のアナログバス上に出力される。中間層
に出力された各アナログ信号はオペアンプ704及びア
ナログスイッチ705,706を介してA/Dコンバー
タ707に加えられる。そしてA/Dコンバータ707
の出力QfはMPUに送られ、それぞれ主記憶に一時保
持される。次に、第29B図のタイミングチャートに示
されるように、Tモードを1にしてダミーノードの出力
電圧をハイにして、各ANPの出力電圧QgをMPUが
センスする。
MPUはこのQfとQgから求まる加算器利得Ag=(
Qgを求める。
Qgを求める。
また、ポートレジスタ1のレイヤの出力がOの時にはイ
ンバータ708とゲート709.710を介して出力イ
ネーブル2にハイ信号が加えられるので、中間層のダミ
ーノード出力端子すなわち、マックスバリューノード回
路の第2の出力端子から出力信号が生じて出力層のAN
P4.5のオフセットを検出する。そして、その出力は
前述と同様にオペアンプ711.アナログスイッチ71
2713を介してA/Dコンバータ707に加えられる
。なお、アナログスイッチ714,715はA/Dコン
バータ707へと出力しない場合に電圧を電圧フォロア
で保護するものである。なお、ANP4及び5の出力は
サンプル/ホールド715.716で一時保持されて、
アナログ出力信号として出力される。上述したものはT
モードが1の場合であるので、ANPI、2.3.4.
5にはそれぞれ0の入力信号が加えられるから、ANP
l乃至5のオペアンプのオフセット電圧がA/Dコンバ
ータ707からANPに出力される。
ンバータ708とゲート709.710を介して出力イ
ネーブル2にハイ信号が加えられるので、中間層のダミ
ーノード出力端子すなわち、マックスバリューノード回
路の第2の出力端子から出力信号が生じて出力層のAN
P4.5のオフセットを検出する。そして、その出力は
前述と同様にオペアンプ711.アナログスイッチ71
2713を介してA/Dコンバータ707に加えられる
。なお、アナログスイッチ714,715はA/Dコン
バータ707へと出力しない場合に電圧を電圧フォロア
で保護するものである。なお、ANP4及び5の出力は
サンプル/ホールド715.716で一時保持されて、
アナログ出力信号として出力される。上述したものはT
モードが1の場合であるので、ANPI、2.3.4.
5にはそれぞれ0の入力信号が加えられるから、ANP
l乃至5のオペアンプのオフセット電圧がA/Dコンバ
ータ707からANPに出力される。
なお、第29B図に示すように、Tモードを立ち上げた
時には、ダミーノードアウトプット・フォ・インプット
・レイヤ及びダミーノードアウトプット・フォ・インタ
ミオーデソト・レイやからはハイレベルのアナログ信号
か出力されるので、A/Dコンバータ707からはAN
PI乃至5を構成するオペアンプの出力電圧Qf(後述
する)が出力される。
時には、ダミーノードアウトプット・フォ・インプット
・レイヤ及びダミーノードアウトプット・フォ・インタ
ミオーデソト・レイやからはハイレベルのアナログ信号
か出力されるので、A/Dコンバータ707からはAN
PI乃至5を構成するオペアンプの出力電圧Qf(後述
する)が出力される。
第28図は帰還型ニューラルネットワークにおける誤差
計測用回路を示し、第3OA、第30B図はその動作タ
イミングを示す。マックスバリューノード回路187か
らは入力層へのダミーノード出力を示す出力信号のみが
出力され、ANPl2.3にそれぞれ入力される。AN
PI、2.3の出力アナログバスは共通バスCBを介し
て入力側のアナログバスへと帰還される。ポートレジス
タ1、ゲート702,703、オペアンプ704、アナ
ログスイッチ705.706、A/Dコンバータ707
、ゲート708,709,710及びアナログスイッチ
714の動作は第27図の動作と同様である。1層で出
力層を兼ねるので、階層型のような出力層はないので出
力層へのダミーノード出力は生じない。出力層へダミー
ノード出力を与える第2の出力イネーブル端子は接地さ
れる。
計測用回路を示し、第3OA、第30B図はその動作タ
イミングを示す。マックスバリューノード回路187か
らは入力層へのダミーノード出力を示す出力信号のみが
出力され、ANPl2.3にそれぞれ入力される。AN
PI、2.3の出力アナログバスは共通バスCBを介し
て入力側のアナログバスへと帰還される。ポートレジス
タ1、ゲート702,703、オペアンプ704、アナ
ログスイッチ705.706、A/Dコンバータ707
、ゲート708,709,710及びアナログスイッチ
714の動作は第27図の動作と同様である。1層で出
力層を兼ねるので、階層型のような出力層はないので出
力層へのダミーノード出力は生じない。出力層へダミー
ノード出力を与える第2の出力イネーブル端子は接地さ
れる。
そして、ANPI、2.3からの出力信号はサンプル/
ホールド回路718,719,720を介して出力され
る。
ホールド回路718,719,720を介して出力され
る。
第28図の誤差計測用回路を第30A図及び第30B図
の動作タイミングチャートを用いて、より具体的に説明
する。第30図において、DLCKの1周期において、
積和の1サイクルが行われる。そのDCLKの1周期の
前半のDCLKがハイの時に重みクロックWCLKが少
なくとも16個入力される。この重みクロックW CL
Kは、シリアルデータをシフトレジスタに16個蓄え
るためのクロックである。5YNC信号は1つのANP
の動作タイミングを規定するもので、DCLKより半サ
イクル前に立ち上がり、DCLKの半分のサイクルの点
で立ち下がる。SHはサンプル/ホールド信号でそのW
CLKが入力した後、すなわち入力アナログデータとデ
ィジタル重みデータとの積が行われた後にその積信号を
コンデンサにまずチャージするものである。そして、サ
ンプル/ホールド信号の最初のハイ信号が立ち下がった
時点で、オフセットキャンセル信号OCが立ち上がり、
コンデンサの極性を逆に反転する。その時、コンデンサ
への入力信号は、0にカットしておいて、再びサンプル
/ホールド信号の次のハイ信号において、コンデンサに
チャージを行うと、コンデンサには、入力信号Oの時の
オフセフ)電圧に等しい電圧がチャージされる。これに
よってコンデンサはオフセット分だけ少なくなった信号
、すなわちオフセットがキャンセルされた信号が蓄積さ
れることになる。しかし、これでもオフセットが残る場
合には、さらに本発明の誤差吸収方式を利用する。
の動作タイミングチャートを用いて、より具体的に説明
する。第30図において、DLCKの1周期において、
積和の1サイクルが行われる。そのDCLKの1周期の
前半のDCLKがハイの時に重みクロックWCLKが少
なくとも16個入力される。この重みクロックW CL
Kは、シリアルデータをシフトレジスタに16個蓄え
るためのクロックである。5YNC信号は1つのANP
の動作タイミングを規定するもので、DCLKより半サ
イクル前に立ち上がり、DCLKの半分のサイクルの点
で立ち下がる。SHはサンプル/ホールド信号でそのW
CLKが入力した後、すなわち入力アナログデータとデ
ィジタル重みデータとの積が行われた後にその積信号を
コンデンサにまずチャージするものである。そして、サ
ンプル/ホールド信号の最初のハイ信号が立ち下がった
時点で、オフセットキャンセル信号OCが立ち上がり、
コンデンサの極性を逆に反転する。その時、コンデンサ
への入力信号は、0にカットしておいて、再びサンプル
/ホールド信号の次のハイ信号において、コンデンサに
チャージを行うと、コンデンサには、入力信号Oの時の
オフセフ)電圧に等しい電圧がチャージされる。これに
よってコンデンサはオフセット分だけ少なくなった信号
、すなわちオフセットがキャンセルされた信号が蓄積さ
れることになる。しかし、これでもオフセットが残る場
合には、さらに本発明の誤差吸収方式を利用する。
第28図において、ポートレジスタ1にMPUよりテス
トモードに入る指令信号が人力されると、En出力がハ
イに立ち上がり、テストモードの1または0がイネーブ
ル状態となる。レイヤが口2つからハイに立ち上がると
、1層のテストを行う。
トモードに入る指令信号が人力されると、En出力がハ
イに立ち上がり、テストモードの1または0がイネーブ
ル状態となる。レイヤが口2つからハイに立ち上がると
、1層のテストを行う。
そして、Tモードが1の時には、オフセットの誤差信号
を検出する場合である。レイヤがハイであり、En信号
がハイであるので、ゲート702を介して出力イネーブ
ルの1番目がハイとなる。そして、マックスバリューノ
ード回路の屑入力への固定電圧を0ボルトまたはハイ状
態にするため、その回路をイネーブル状態にする。すな
わち、1層について、オフセットの誤差を検出する。こ
こで、上述したようにDCLKがハイ信号となり、積和
の1周期が行われる。帰還形では、出力イネプル信号は
、すぐ立ち下がるので、入力側のバスはディスイネーブ
ルとなる。しかし、出力イネーブルがハイの間で、すで
にすべてのANPのオフセット電圧は内部でサンプルホ
ールドされていることになる。その後で、csI (C
3o2)がハイとなり、ANPIから出力が出力のアナ
ログバス上に出力される。
を検出する場合である。レイヤがハイであり、En信号
がハイであるので、ゲート702を介して出力イネーブ
ルの1番目がハイとなる。そして、マックスバリューノ
ード回路の屑入力への固定電圧を0ボルトまたはハイ状
態にするため、その回路をイネーブル状態にする。すな
わち、1層について、オフセットの誤差を検出する。こ
こで、上述したようにDCLKがハイ信号となり、積和
の1周期が行われる。帰還形では、出力イネプル信号は
、すぐ立ち下がるので、入力側のバスはディスイネーブ
ルとなる。しかし、出力イネーブルがハイの間で、すで
にすべてのANPのオフセット電圧は内部でサンプルホ
ールドされていることになる。その後で、csI (C
3o2)がハイとなり、ANPIから出力が出力のアナ
ログバス上に出力される。
次に一定時間たったANP2へもC3I信号がデイジ−
チェーン的に加えられるので、ANP 2からも同様に
ホールドしてあったオフセット分のアナログ出力信号が
出力され、この層の出力バス上にのる。さらに所定時間
経過後に、ANP3のC3I信号がハイに立ち上がるの
で、ANP3からアナログ出力信号が層の出力のアナロ
グバス上に出力される。層に出力されたオフセット分の
各アナログ信号Qrはオペアンプ704及びアナログス
イッチ705.706を介してA/Dコンバータ707
に加えられる。そしてA/Dコンバータ707の出力Q
fはMPUに送られ、それぞれ主記憶に一時保持される
。次に、第30B図のタイミングチャートに示されるよ
うに、Tモードを1にしてダミーノードの出力電圧をハ
イにして、各ANPの出力電圧QgをMPUがセンスす
る。
チェーン的に加えられるので、ANP 2からも同様に
ホールドしてあったオフセット分のアナログ出力信号が
出力され、この層の出力バス上にのる。さらに所定時間
経過後に、ANP3のC3I信号がハイに立ち上がるの
で、ANP3からアナログ出力信号が層の出力のアナロ
グバス上に出力される。層に出力されたオフセット分の
各アナログ信号Qrはオペアンプ704及びアナログス
イッチ705.706を介してA/Dコンバータ707
に加えられる。そしてA/Dコンバータ707の出力Q
fはMPUに送られ、それぞれ主記憶に一時保持される
。次に、第30B図のタイミングチャートに示されるよ
うに、Tモードを1にしてダミーノードの出力電圧をハ
イにして、各ANPの出力電圧QgをMPUがセンスす
る。
MPUはこのQfとQgから求まる加算器利得Ag=(
Qgを計算する。上述したものはTモードが1の場合で
あるので、ANPI、2.3にはそれぞれ0の入力信号
が加えられるから、ANPI乃至5のオペアンプのオフ
セット電圧がA/Dコンバータ707からMPU側に出
力される。
Qgを計算する。上述したものはTモードが1の場合で
あるので、ANPI、2.3にはそれぞれ0の入力信号
が加えられるから、ANPI乃至5のオペアンプのオフ
セット電圧がA/Dコンバータ707からMPU側に出
力される。
なお、第30B図に示すように、Tモードを立ち上げた
時には、ダミーノードアウトプット・フオ・インプット
・レイヤからはハイレベルのアナログ信号が出力される
ので、A/Dコンバータ707からはANPI乃至3を
構成するオペアンプの出力電圧Qg (後述する)が出
力される。
時には、ダミーノードアウトプット・フオ・インプット
・レイヤからはハイレベルのアナログ信号が出力される
ので、A/Dコンバータ707からはANPI乃至3を
構成するオペアンプの出力電圧Qg (後述する)が出
力される。
次にアナログニューロンプロセッサにおける演算誤差発
生モデルと、ダミーノードを利用した重み補正型方式に
ついて、説明する。
生モデルと、ダミーノードを利用した重み補正型方式に
ついて、説明する。
第31図は本発明の第1次補正と第2次補正処理のアル
ゴリズムの概略図である。第1次補正処理は加算器利得
推定のための計測条件設定とオフセット電圧の計測処理
である。すなわち、フローチャートが開始すれば、ダミ
ーノードの固定電圧をOにして、誤差計測用重みデータ
の1−Qfをダミーノードに対する重みとして再設定す
ることになる。第2次補正処理はダミーノード0ボルト
に対するオフセット電圧Qfと、1−Qfを1ボルトの
ダミーノードに対する中間的な重みとして乗算した結果
に、さらにオフセット電圧が加えられて出力される混合
誤差出力Qgの2つの情報を使って正しい加算器利得A
g=(Qg = (Q−Qr )/(l−Qlを計算す
ることである。
ゴリズムの概略図である。第1次補正処理は加算器利得
推定のための計測条件設定とオフセット電圧の計測処理
である。すなわち、フローチャートが開始すれば、ダミ
ーノードの固定電圧をOにして、誤差計測用重みデータ
の1−Qfをダミーノードに対する重みとして再設定す
ることになる。第2次補正処理はダミーノード0ボルト
に対するオフセット電圧Qfと、1−Qfを1ボルトの
ダミーノードに対する中間的な重みとして乗算した結果
に、さらにオフセット電圧が加えられて出力される混合
誤差出力Qgの2つの情報を使って正しい加算器利得A
g=(Qg = (Q−Qr )/(l−Qlを計算す
ることである。
重み補正方式は、ダミーノードから生成される固定電圧
に対する各ニューロチップへの重み(この重みを以下、
ダミーノード用重みという)を調整することによって誤
差電圧を吸収する手法である。
に対する各ニューロチップへの重み(この重みを以下、
ダミーノード用重みという)を調整することによって誤
差電圧を吸収する手法である。
誤差には、オフセット誤差とゲイン誤差がある。
本発明ではダミーノードが論理的に存在している。
すなわち、マックスバリューノード回路からアナログバ
スに例えば1ボルトの固定電圧を発生させる方式を採用
しているので、ダミーノード用重みを調整することによ
って誤差を吸収することになる。ANPに0ボルト入力
を入れた場合にどの程度の誤差を出し、その誤差がどの
ような経路で発生するかは、実施例として以下に説明さ
れる。
スに例えば1ボルトの固定電圧を発生させる方式を採用
しているので、ダミーノード用重みを調整することによ
って誤差を吸収することになる。ANPに0ボルト入力
を入れた場合にどの程度の誤差を出し、その誤差がどの
ような経路で発生するかは、実施例として以下に説明さ
れる。
第32図は、アナログニューロンプロセッサにおける演
算誤差モデルとダミーノードを利用した重み補正型方式
の概念図である。例えば重みが0゜3で入力が0の場合
には理論的には出力はOとなる。加算器利得が0.98
のとき、入力の0にこの0.98をかけても0となり、
意味はない。一方、入力が1ボルトの場合には、I X
0.3が本来の積の値である。そして、加算器利得が
0.98である場合には実際にかけられる値は0.98
X O,3となる。同様に他のノードからの1ボルト
に対して1×0.4と(−1,0) X (−0,6)
を計算し、これらの容積が0.98倍された値のすべて
の和をとると、図に示すように、1.274ボルトとな
る。これにさらに、オペアンプのオフセットが生じ、0
.01ボルトが加えられると、結果として、1.264
ボルトとなる。実際の値は1 x 0.3 + I X
0゜4+(−1,0) X (−0,6)であるから
1.3ボルトである。ところが1.3ボルトとなるべき
ところが、ゲイン誤差とオフセット誤差によって1.2
64ボルトになる。これが演算誤差発生モデルである。
算誤差モデルとダミーノードを利用した重み補正型方式
の概念図である。例えば重みが0゜3で入力が0の場合
には理論的には出力はOとなる。加算器利得が0.98
のとき、入力の0にこの0.98をかけても0となり、
意味はない。一方、入力が1ボルトの場合には、I X
0.3が本来の積の値である。そして、加算器利得が
0.98である場合には実際にかけられる値は0.98
X O,3となる。同様に他のノードからの1ボルト
に対して1×0.4と(−1,0) X (−0,6)
を計算し、これらの容積が0.98倍された値のすべて
の和をとると、図に示すように、1.274ボルトとな
る。これにさらに、オペアンプのオフセットが生じ、0
.01ボルトが加えられると、結果として、1.264
ボルトとなる。実際の値は1 x 0.3 + I X
0゜4+(−1,0) X (−0,6)であるから
1.3ボルトである。ところが1.3ボルトとなるべき
ところが、ゲイン誤差とオフセット誤差によって1.2
64ボルトになる。これが演算誤差発生モデルである。
下の図が重み補正型方式の概念図であって、演算誤差発
生モデルにおいて生成されているオフセット電圧−0,
01ボルトの誤差を補正するために、この図で、まずダ
ミーノードの電圧をO9Oボルトとしている。このとき
、加算器利得が0.98であっても1導出力は0.0ボ
ルトとなるが、オフセット電圧が加えられ、オフセット
電圧Qfは−0,01ボルトとなる。そしてこれをダミ
ーノードに対する重みをQfを相殺するために補正とし
てダミーノード用重みを1から1.01に変える。これ
が第1次補正であって、一般には、1、O−Qfの値と
なる。しかし、加算器利得は1.0であるべきところが
0.98となっているので、1.0IX0.98−〇、
9898ボルトが#隼結果となる。さらにオペアンプの
オフセットが同様に−0,01ボルトとすると、これが
加算されて出力は0.9798ボルトとなり、これを混
合誤差出力値Qgとする。オフセット電圧−0,01ボ
ルトと、第1次補正のみによって与えられた混合誤差出
力電圧の0.9798であるQgとの2つの情報から第
2次補正をかけて加算利得Ag=(Qgを計算する。第
2次補正は図に示されるように次式に従う。
生モデルにおいて生成されているオフセット電圧−0,
01ボルトの誤差を補正するために、この図で、まずダ
ミーノードの電圧をO9Oボルトとしている。このとき
、加算器利得が0.98であっても1導出力は0.0ボ
ルトとなるが、オフセット電圧が加えられ、オフセット
電圧Qfは−0,01ボルトとなる。そしてこれをダミ
ーノードに対する重みをQfを相殺するために補正とし
てダミーノード用重みを1から1.01に変える。これ
が第1次補正であって、一般には、1、O−Qfの値と
なる。しかし、加算器利得は1.0であるべきところが
0.98となっているので、1.0IX0.98−〇、
9898ボルトが#隼結果となる。さらにオペアンプの
オフセットが同様に−0,01ボルトとすると、これが
加算されて出力は0.9798ボルトとなり、これを混
合誤差出力値Qgとする。オフセット電圧−0,01ボ
ルトと、第1次補正のみによって与えられた混合誤差出
力電圧の0.9798であるQgとの2つの情報から第
2次補正をかけて加算利得Ag=(Qgを計算する。第
2次補正は図に示されるように次式に従う。
%式%(1
すなわち、今の例題では、Ag=(Qgが0.98であ
るから、Ag=(Qgを求めることが第2次補正の第1
次段階となる。なぜならば、第1次補正量(iQf)に
固定電圧の1ボルトを掛け、さらに加算器利得Ag=(
Qgを掛けたものにオフセット電圧Qfを加えたものが
Qgとなるので、Qg−(1−Qy ) X I XA
g=(Qg +Qfとなるからで、さらに、重みWll
が、0−W8×Ag=(Qg+Q。
るから、Ag=(Qgを求めることが第2次補正の第1
次段階となる。なぜならば、第1次補正量(iQf)に
固定電圧の1ボルトを掛け、さらに加算器利得Ag=(
Qgを掛けたものにオフセット電圧Qfを加えたものが
Qgとなるので、Qg−(1−Qy ) X I XA
g=(Qg +Qfとなるからで、さらに、重みWll
が、0−W8×Ag=(Qg+Q。
を満足するようにしなくてはならいないので、を求める
ことが第2次補正の第2段階となる。この理由は、前層
のすべてのANPからの出力信号〜123 がすべて0のとき本来は、後層の各ANPの出力信号も
ANPにオフセットがあってもOとなるべきである。す
なわち、ダミーノードの出力は常に1であるから、ダミ
ーノードの出力に対して、後層の出力信号が0になるよ
うなダミーノードからの後層の各ANPへの入力信号に
対する重みが決定されればよいことになるからである。
ことが第2次補正の第2段階となる。この理由は、前層
のすべてのANPからの出力信号〜123 がすべて0のとき本来は、後層の各ANPの出力信号も
ANPにオフセットがあってもOとなるべきである。す
なわち、ダミーノードの出力は常に1であるから、ダミ
ーノードの出力に対して、後層の出力信号が0になるよ
うなダミーノードからの後層の各ANPへの入力信号に
対する重みが決定されればよいことになるからである。
このW3=0.010204を第2次補正した重みとし
て1ボルトのダミーノードにかけ、さらに加算器利得A
g=(Qg=0.98をかけると、0.0099999
となり、はぼ0.01ボルトとなる。これにオフセット
電圧−0601が加算されるため、結果としてOボルト
となる。
て1ボルトのダミーノードにかけ、さらに加算器利得A
g=(Qg=0.98をかけると、0.0099999
となり、はぼ0.01ボルトとなる。これにオフセット
電圧−0601が加算されるため、結果としてOボルト
となる。
このようにオフセットに関してもゲイン利得が関係して
いることになる。オフセットゲインの両方を同時に独立
に補正すれば良いがそれが出来ないため、それ等の両方
が混合した形で修正する方式になっている。このように
して、ダミーノードから固定電圧の1ボルトを発生した
とき、ANPの入力が0ボルトのときに出力されるオフ
セット電圧がキャンセルされ、結果として出力が0ボル
トとなるように補正することが可能となる。このような
補正処理は補正イネーブルフラグ”F、n”を1にする
ことによって行われる。
いることになる。オフセットゲインの両方を同時に独立
に補正すれば良いがそれが出来ないため、それ等の両方
が混合した形で修正する方式になっている。このように
して、ダミーノードから固定電圧の1ボルトを発生した
とき、ANPの入力が0ボルトのときに出力されるオフ
セット電圧がキャンセルされ、結果として出力が0ボル
トとなるように補正することが可能となる。このような
補正処理は補正イネーブルフラグ”F、n”を1にする
ことによって行われる。
第27図の階層型ニューラルネットワークにおける誤差
計測回路においてTモードを1にするとマックスバリュ
ーノード回路の中で発生される固定電圧が強制的に0ボ
ルトになる。アナログバス■または■にはこれによって
Oボルトが強制的に入力される。例えば入力層のアナロ
グバス■を0ボルトにすると、中間層の各ANPI、2
.3の出力がオフセット電圧として出力される。これを
A/Dコンバータ707を介してMPU側に入力する。
計測回路においてTモードを1にするとマックスバリュ
ーノード回路の中で発生される固定電圧が強制的に0ボ
ルトになる。アナログバス■または■にはこれによって
Oボルトが強制的に入力される。例えば入力層のアナロ
グバス■を0ボルトにすると、中間層の各ANPI、2
.3の出力がオフセット電圧として出力される。これを
A/Dコンバータ707を介してMPU側に入力する。
MPU側はこのオフセット電圧をQfとして貯える。M
PUはこのQtを用いて、第1次補正を行う。Qfが与
えられると、これを用いてダミーノード用重みを計算し
、重み補正する必要がある。第1次補正の後半において
は、ダミーノードの固定電圧を1ボルトとする。例えば
、中間層の第1のANP 1を対象とすれば、このダミ
ーノ−ド電圧に対する重みデータを1.01とするよう
に制御する。中間層のそのANPIの加算器利得が0.
98とすれば、加算器の出力は、0.9898となり、
さらにオフセット電圧−0,01ボルトが加わってQg
である0、 9798ボルトが出力される。これを中間
層の出力アナログバスに接続された誤差計測用回路の内
部のA/Dコンバータを介して再びMPUにQg情報と
して与える。そしてMPUは、Ag=(Qgの計算及び
1/Ag=(QgからW、を計算する。その結果Waは
第2次補正量として1ボルトを発生するダミーノードに
対する重みデータ、すなわち、0.010204となる
。このとき、ANP内の加算器利得が0.98であるか
ら、加算器出力は0.01ボルトとなり、オフセットが
加わってO,ボルトになる。このことをMPUが確認す
れば、ダミーノード用重みが0.010204という正
しい値であることがわかるので、MPUはW8を重みメ
モリに格納する。
PUはこのQtを用いて、第1次補正を行う。Qfが与
えられると、これを用いてダミーノード用重みを計算し
、重み補正する必要がある。第1次補正の後半において
は、ダミーノードの固定電圧を1ボルトとする。例えば
、中間層の第1のANP 1を対象とすれば、このダミ
ーノ−ド電圧に対する重みデータを1.01とするよう
に制御する。中間層のそのANPIの加算器利得が0.
98とすれば、加算器の出力は、0.9898となり、
さらにオフセット電圧−0,01ボルトが加わってQg
である0、 9798ボルトが出力される。これを中間
層の出力アナログバスに接続された誤差計測用回路の内
部のA/Dコンバータを介して再びMPUにQg情報と
して与える。そしてMPUは、Ag=(Qgの計算及び
1/Ag=(QgからW、を計算する。その結果Waは
第2次補正量として1ボルトを発生するダミーノードに
対する重みデータ、すなわち、0.010204となる
。このとき、ANP内の加算器利得が0.98であるか
ら、加算器出力は0.01ボルトとなり、オフセットが
加わってO,ボルトになる。このことをMPUが確認す
れば、ダミーノード用重みが0.010204という正
しい値であることがわかるので、MPUはW8を重みメ
モリに格納する。
以上の動作をすべてのANPに対して行うことになる。
第33A図乃至第33D図は階層型ネットワークの場合
の重みデータ修正アルゴリズムである。
の重みデータ修正アルゴリズムである。
マス、マスクコントロールブロックを誤差計測モードに
する。テストモードすなわち、Tモードを1にし、レイ
ヤは中間層の1、Enは1とする。すると、入力層のダ
ミーノードの固定電圧は0ボルト電圧となるので、中間
層の各ANPのオフセット電圧を計測することになる。
する。テストモードすなわち、Tモードを1にし、レイ
ヤは中間層の1、Enは1とする。すると、入力層のダ
ミーノードの固定電圧は0ボルト電圧となるので、中間
層の各ANPのオフセット電圧を計測することになる。
第1次補正を行うために、MPUは、割り込み処理を開
始することによって第1次補正と第2次補正を行う。ま
ず中間層の処理中のANP数を計数する割り込み回数カ
ウンタ変数をOにし、割り込み処理を開始する。
始することによって第1次補正と第2次補正を行う。ま
ず中間層の処理中のANP数を計数する割り込み回数カ
ウンタ変数をOにし、割り込み処理を開始する。
すると、ANPは0ボルト入力電圧に対する出力電圧を
Qfとして出力すると、計測用回路のA/D変換を介し
てデータQfをMPUが内部のレジスタへ読み込み、さ
らにそのレジスタから主記憶メモリへそれを移す。そし
て、割り込みカウンタ変数をインクリメントし、この割
り込みカウンタ数が計測対象数すなわち、ANP数に一
致しているかどうかを調べる。それらがもし一致してい
なければ、カウント数をセンスしなから待ち状態になる
。もしカウント変数が計測対象数に等しければ割り込み
処理ルーチンを終わって中間層のANPに対する第1次
補正処理に入る。すなわち、各ANPに対してダミーノ
ードの電圧を1ボルトにし、第1次補正した値1.0
Qrをまず重みとして、主記憶メモリにすべてのAN
Pに対する重みとして格納する。すなわち、Tモードを
Oにする。
Qfとして出力すると、計測用回路のA/D変換を介し
てデータQfをMPUが内部のレジスタへ読み込み、さ
らにそのレジスタから主記憶メモリへそれを移す。そし
て、割り込みカウンタ変数をインクリメントし、この割
り込みカウンタ数が計測対象数すなわち、ANP数に一
致しているかどうかを調べる。それらがもし一致してい
なければ、カウント数をセンスしなから待ち状態になる
。もしカウント変数が計測対象数に等しければ割り込み
処理ルーチンを終わって中間層のANPに対する第1次
補正処理に入る。すなわち、各ANPに対してダミーノ
ードの電圧を1ボルトにし、第1次補正した値1.0
Qrをまず重みとして、主記憶メモリにすべてのAN
Pに対する重みとして格納する。すなわち、Tモードを
Oにする。
すると、Tモード−0のときには、ダミーノードからは
固定電圧の1ボルトが生成されるので、これに対し、オ
フセット電圧及びゲイン誤差の影響を同時計測し、第2
次補正の前処理を行う。再び割り込み回数カウンタ変数
を0にし、割り込み処理開始を行う。すなわち計測用回
路のA/D変換を介してQgを測定することになる。ダ
ミーノードの電圧は1.0で、第1次補正によって例え
ばANPへの重みカ月、01になっているので、加算器
利得0.98に対して出力が0.9898になり、オフ
セット電圧−0,01ボルトが加わってQgである0、
9798ボルトが計算される。このQgをA/Dコンバ
ータを介してMPUが読み、レジスタからメモリに移し
、これを中間層内のすべてのANPに対して行うように
カウント変数をインクリメントする。このインクリメン
ト数が計測対象数になったかどうかのチエツクを行なっ
て一致していなければさらに計測を実行する。もし、カ
ウンタ数が計測対象数になっていれば割り込み処理ルー
チンを終わって第2次補正処理に入る。すなわち、Ag
=(Qgの逆数に−QfをかけたWaを各ANPに対し
て求める。このWllを1ボルトを生成するダミーノー
ドに対する重みデータとしてあたえる。
固定電圧の1ボルトが生成されるので、これに対し、オ
フセット電圧及びゲイン誤差の影響を同時計測し、第2
次補正の前処理を行う。再び割り込み回数カウンタ変数
を0にし、割り込み処理開始を行う。すなわち計測用回
路のA/D変換を介してQgを測定することになる。ダ
ミーノードの電圧は1.0で、第1次補正によって例え
ばANPへの重みカ月、01になっているので、加算器
利得0.98に対して出力が0.9898になり、オフ
セット電圧−0,01ボルトが加わってQgである0、
9798ボルトが計算される。このQgをA/Dコンバ
ータを介してMPUが読み、レジスタからメモリに移し
、これを中間層内のすべてのANPに対して行うように
カウント変数をインクリメントする。このインクリメン
ト数が計測対象数になったかどうかのチエツクを行なっ
て一致していなければさらに計測を実行する。もし、カ
ウンタ数が計測対象数になっていれば割り込み処理ルー
チンを終わって第2次補正処理に入る。すなわち、Ag
=(Qgの逆数に−QfをかけたWaを各ANPに対し
て求める。このWllを1ボルトを生成するダミーノー
ドに対する重みデータとしてあたえる。
すなわちダミーノード用重みを修正するルーチンに入り
、例えば、ANPに対する重みデータ0.010204
と決定する。これらの重みは重みメモリに格納される。
、例えば、ANPに対する重みデータ0.010204
と決定する。これらの重みは重みメモリに格納される。
以上の動作は出力層のANPのすべてに対しても行うこ
とになる。従って、■に移って、Tモードを1、レイヤ
をOにして出力層モードにし、En=1として、同様な
処理に入る。すなわち、割り込み回数カウンタを0にし
、割り込み処理ル−チンに入って、測定用回路によって
0ボルトのダミーノードに対するオフセット電圧、Qf
を出力層内のANPに対して求め、これらのデータをメ
モリに貯える。この処理を計測対象数(出力層のANP
数)だけ行った後、割り込み処理ルーチンをぬけて第1
次補正処理を行うことになる。すなわちダミーノードの
固定電圧1ボルトに対する中間的な重みデータを設定す
ることになる。
とになる。従って、■に移って、Tモードを1、レイヤ
をOにして出力層モードにし、En=1として、同様な
処理に入る。すなわち、割り込み回数カウンタを0にし
、割り込み処理ル−チンに入って、測定用回路によって
0ボルトのダミーノードに対するオフセット電圧、Qf
を出力層内のANPに対して求め、これらのデータをメ
モリに貯える。この処理を計測対象数(出力層のANP
数)だけ行った後、割り込み処理ルーチンをぬけて第1
次補正処理を行うことになる。すなわちダミーノードの
固定電圧1ボルトに対する中間的な重みデータを設定す
ることになる。
■に移る。TモードをOにし、レイヤを0にし、Enを
1にする。そして第2次補正のための前処理に入り、Q
fを計算する。すなわち、ダミーノードから固定電圧1
ボルトが発生されるので、オフセット電圧及びゲイン誤
差の影響を同時計測することになる。割り込み回数カウ
ント変数を0にし、割り込み処理開始を行ってQgをA
/D変換器を介して読んでメモリに移す。そして割り込
みカウント変数をインクリメントし、出力層内のANP
の数だけ行った後、割込み処理ルーチンから抜けて、第
2次補正用のWaを計算し、それをダミーノード用重み
として重みメモリに格納する。
1にする。そして第2次補正のための前処理に入り、Q
fを計算する。すなわち、ダミーノードから固定電圧1
ボルトが発生されるので、オフセット電圧及びゲイン誤
差の影響を同時計測することになる。割り込み回数カウ
ント変数を0にし、割り込み処理開始を行ってQgをA
/D変換器を介して読んでメモリに移す。そして割り込
みカウント変数をインクリメントし、出力層内のANP
の数だけ行った後、割込み処理ルーチンから抜けて、第
2次補正用のWaを計算し、それをダミーノード用重み
として重みメモリに格納する。
階層型の場合、第2次補正で得られたWaは本来ダミー
ノードに与えられた重みに加算する必要がある。しかも
、すべての重みは1/Ag=(Qgがかけられる必要が
ある。
ノードに与えられた重みに加算する必要がある。しかも
、すべての重みは1/Ag=(Qgがかけられる必要が
ある。
帰還型ネットワークの場合の重みデータ修正アルゴリズ
ムは第34A図及び第34B図に示される。この場合も
同様である。帰還型ネットワークでは層は1層である。
ムは第34A図及び第34B図に示される。この場合も
同様である。帰還型ネットワークでは層は1層である。
マスクコントロールブロックを誤差計測モードにし、T
モードを1にし、レイヤを1、Enを1にして、まずダ
ミーノードの0ボルト電圧出力によってオフセット電圧
を計測する。割り込みカウンタ変数を0にし、割り込み
処理ルーチンに入って計測用回路の出力側にあるA/D
変換を介してQfを読み、それをメモリに移す。この処
理をANP数だけ繰り返し、割り込み処理ルーチンを終
了し、第1次補正処理に入る。
モードを1にし、レイヤを1、Enを1にして、まずダ
ミーノードの0ボルト電圧出力によってオフセット電圧
を計測する。割り込みカウンタ変数を0にし、割り込み
処理ルーチンに入って計測用回路の出力側にあるA/D
変換を介してQfを読み、それをメモリに移す。この処
理をANP数だけ繰り返し、割り込み処理ルーチンを終
了し、第1次補正処理に入る。
帰還型ネットワークでは1層しかないために、第1次補
正と第2次補正は1度だけ行えばよい。次に、第2次補
正を行うためにTモードを0に、レイヤをOのままで、
Enを1にする。そしてダミ一ノードの固定電圧1ボル
トを入力し、オフセット電圧及びゲイン誤差の影響を同
時計測することになる。割り込み回数カウンタ変数を0
にし、割り込み処理開始を行う。計測用回路のA/D変
換を介して、Qgを各ANPごとに読む。すなわち、ダ
ミーノードからの1ボルトに対して第1次補正で決まっ
た重みデータを与えると、ANPは、内部の加算器利得
0.98をかけ、さらにオフセット電圧が加わった電圧
としてQgを出力する。この処理は、1層分のすべての
ANPに対して行われ、各ANPに対応するQfとQg
の情報がメモリに書き込まれると、割り込み処理ルーチ
ンが終わる。
正と第2次補正は1度だけ行えばよい。次に、第2次補
正を行うためにTモードを0に、レイヤをOのままで、
Enを1にする。そしてダミ一ノードの固定電圧1ボル
トを入力し、オフセット電圧及びゲイン誤差の影響を同
時計測することになる。割り込み回数カウンタ変数を0
にし、割り込み処理開始を行う。計測用回路のA/D変
換を介して、Qgを各ANPごとに読む。すなわち、ダ
ミーノードからの1ボルトに対して第1次補正で決まっ
た重みデータを与えると、ANPは、内部の加算器利得
0.98をかけ、さらにオフセット電圧が加わった電圧
としてQgを出力する。この処理は、1層分のすべての
ANPに対して行われ、各ANPに対応するQfとQg
の情報がメモリに書き込まれると、割り込み処理ルーチ
ンが終わる。
そして、MPUは第2次補正処理を行う。すなわち、M
PUはAg=(Qgの逆数からW、を各ANPに対して
計算し、これを重み修正量として重みメモリに格納する
ことになる。
PUはAg=(Qgの逆数からW、を各ANPに対して
計算し、これを重み修正量として重みメモリに格納する
ことになる。
本発明によれば、ダミーノード用重みをANPへの入力
信号がOのときに出力信号が0となるように設定するこ
とにより、ニューロコンピュータのオフセット電圧の誤
差、加算器のゲインの誤差を抑制することができる。
信号がOのときに出力信号が0となるように設定するこ
とにより、ニューロコンピュータのオフセット電圧の誤
差、加算器のゲインの誤差を抑制することができる。
第1A図は、本発明のニューロコンピュータの原理ブロ
ック図、 第1B図は、本発明のアナログニューロプロセッサ(A
NP)のチップから構成されたパッケージの概略図、 第1C図は、本発明のANPの内部構成図、第2図は、
本発明のアナログニューロプロセッサの原理構成図、 第3図は、本発明の基本ユニットの一実施例のブロック
図、 第4図は、本発明の基本ユニットの実施例の具体的回路
図、 第5図は、本発明の基本ユニットの他の実施例の具体的
回路図、 第6図は、本発明の基本ユニットに用いられる積分器の
動作タイミングを説明する図、第7A図は、階層型ニュ
ーラルネットワークの概念図、 第7B図は、本発明による階層型ニューラルネットワー
クの概念図、 第8図は、本発明のニューロコンピュータを階層型ネッ
トワークで実現した一実施例の具体的回路図、 第9A図及び第9B図は、第8図に示した信号処理のタ
イミング図、 第10図は、ディジタル重みデータの読み込みタイミン
グを示す図、 111A図は、マスクコントロールブロックの具体的回
路図、 第11B図は、制御パターンメモリ及びマイクロコード
メモリの構造を示ず図、 第12A図は、重みデータメモリへのデータ充填方法を
示す図、 第12B図は、重みデータメモリの具体的構成図、 第12C図及び第12D図は学習アルゴリズムのフロー
チャート、 第13図は、デイジー回路の具体的回路図、第14図は
、マックスバリューノード回路の具体的回路図、 第15図は、シグモイド関数発生回路の具体的回路図、 第16図は、シーケンスジェネレータの具体的回路図、 第17図は、位相制御回路の具体的回路図、第18図は
、シフトレジスタの具体的回路図、第19A図は、帰還
型ネットワークを説明する概念図、 第19B図は、本発明のニューロコンピュータにより帰
還型ネットワークを構成した場合の説明図、 第20図は、本発明によるニューロコンピュータにより
、第1の帰還型ネ・ノドワークを構成した実施例の具体
的回路図、 第21A図及び第21B図は、第20図に示した実施例
の信号処理を示すタイミング図、第22図は、本発明の
ニューロコンピュータにより、第2の帰還型ネットワー
クを構成した実施例の具体的ブロック図、 第23A図及び第23B図は、第22図に示した実施例
の信号処理を示すタイミング図、第24図は、本発明の
ニューロコンピュータにより階層型と帰還型とを組み合
わせた他の実施例のブロック図、 第25A図及び第25B図は、第24図に示した実施例
の信号処理を示すタイミング図、第26A図及び第26
B図は実際のANPが持っている誤差を発生するメカニ
ズムの概念図、第27図、第28図は、それぞれこのパ
ルス的な誤差電圧を計る階層型及び帰還型のニューラル
ネットワークにおける誤差計測用回路を示す図、第29
A図は、階層型ネットワークの中間層におけるオフセッ
ト電圧計測用制御シーケンス、第29B図は、階層型ネ
ットワークの中間層におけるゲイン誤差計測用制御シー
ケンス、第30A図は、帰還型ネットワークにおけるオ
フセット電圧計測用制御シーケンス、 第30B図は、帰還型ネットワークにおけるゲイン誤差
計測用制御シーケンス、 第31図は、本発明の誤差計測に用いられる第1次、第
2次補正処理の説明図、 第32図は、アナログニューロンプロセッサにおける演
算誤差発生モデルとダミーノードを利用した重み補正型
方式を示す図、 第33A図〜第33D図は、階層型ネットワークの場合
の重みデータ修正方法を示すフローチャート、 第34A図及び第34B図は、帰還型ネ・2トワークの
場合の重みデータ修正方法を示すフローチャート、 第35図は、ニューロンモデルの基本ユニットの原理構
成図、 第36図は、階層型ニューラルネットワークの構成概念
図である。 6・ ・ ・ダミーノード手段、 12 ・ 13 ・ 14 ・ 15 ・ 16 ・ 17 ・ 18 ・ ワーク、 19・ 20・ ・制御パターンメモリ、 ・シーケンサ、 ・重みメモリ、 ・ディジタル制御手段、 ・D/Aコンバータ、 ・A/Dコンバータ、 ・ANPで構成したニューラルネット ・・重み補正手段、 ・・誤差測定手段。 第1B 図 第1C 図 、スへ 重みデータ修正アルゴリズム(階層型ネットワークの場
合)0v電圧入力によって、オフセ ット電圧を計測する。 重みデータ修正アルゴリズム(帰還型ネットワークの場
合)0v電圧入力によって、オフセ ット電圧を計測する。
ック図、 第1B図は、本発明のアナログニューロプロセッサ(A
NP)のチップから構成されたパッケージの概略図、 第1C図は、本発明のANPの内部構成図、第2図は、
本発明のアナログニューロプロセッサの原理構成図、 第3図は、本発明の基本ユニットの一実施例のブロック
図、 第4図は、本発明の基本ユニットの実施例の具体的回路
図、 第5図は、本発明の基本ユニットの他の実施例の具体的
回路図、 第6図は、本発明の基本ユニットに用いられる積分器の
動作タイミングを説明する図、第7A図は、階層型ニュ
ーラルネットワークの概念図、 第7B図は、本発明による階層型ニューラルネットワー
クの概念図、 第8図は、本発明のニューロコンピュータを階層型ネッ
トワークで実現した一実施例の具体的回路図、 第9A図及び第9B図は、第8図に示した信号処理のタ
イミング図、 第10図は、ディジタル重みデータの読み込みタイミン
グを示す図、 111A図は、マスクコントロールブロックの具体的回
路図、 第11B図は、制御パターンメモリ及びマイクロコード
メモリの構造を示ず図、 第12A図は、重みデータメモリへのデータ充填方法を
示す図、 第12B図は、重みデータメモリの具体的構成図、 第12C図及び第12D図は学習アルゴリズムのフロー
チャート、 第13図は、デイジー回路の具体的回路図、第14図は
、マックスバリューノード回路の具体的回路図、 第15図は、シグモイド関数発生回路の具体的回路図、 第16図は、シーケンスジェネレータの具体的回路図、 第17図は、位相制御回路の具体的回路図、第18図は
、シフトレジスタの具体的回路図、第19A図は、帰還
型ネットワークを説明する概念図、 第19B図は、本発明のニューロコンピュータにより帰
還型ネットワークを構成した場合の説明図、 第20図は、本発明によるニューロコンピュータにより
、第1の帰還型ネ・ノドワークを構成した実施例の具体
的回路図、 第21A図及び第21B図は、第20図に示した実施例
の信号処理を示すタイミング図、第22図は、本発明の
ニューロコンピュータにより、第2の帰還型ネットワー
クを構成した実施例の具体的ブロック図、 第23A図及び第23B図は、第22図に示した実施例
の信号処理を示すタイミング図、第24図は、本発明の
ニューロコンピュータにより階層型と帰還型とを組み合
わせた他の実施例のブロック図、 第25A図及び第25B図は、第24図に示した実施例
の信号処理を示すタイミング図、第26A図及び第26
B図は実際のANPが持っている誤差を発生するメカニ
ズムの概念図、第27図、第28図は、それぞれこのパ
ルス的な誤差電圧を計る階層型及び帰還型のニューラル
ネットワークにおける誤差計測用回路を示す図、第29
A図は、階層型ネットワークの中間層におけるオフセッ
ト電圧計測用制御シーケンス、第29B図は、階層型ネ
ットワークの中間層におけるゲイン誤差計測用制御シー
ケンス、第30A図は、帰還型ネットワークにおけるオ
フセット電圧計測用制御シーケンス、 第30B図は、帰還型ネットワークにおけるゲイン誤差
計測用制御シーケンス、 第31図は、本発明の誤差計測に用いられる第1次、第
2次補正処理の説明図、 第32図は、アナログニューロンプロセッサにおける演
算誤差発生モデルとダミーノードを利用した重み補正型
方式を示す図、 第33A図〜第33D図は、階層型ネットワークの場合
の重みデータ修正方法を示すフローチャート、 第34A図及び第34B図は、帰還型ネ・2トワークの
場合の重みデータ修正方法を示すフローチャート、 第35図は、ニューロンモデルの基本ユニットの原理構
成図、 第36図は、階層型ニューラルネットワークの構成概念
図である。 6・ ・ ・ダミーノード手段、 12 ・ 13 ・ 14 ・ 15 ・ 16 ・ 17 ・ 18 ・ ワーク、 19・ 20・ ・制御パターンメモリ、 ・シーケンサ、 ・重みメモリ、 ・ディジタル制御手段、 ・D/Aコンバータ、 ・A/Dコンバータ、 ・ANPで構成したニューラルネット ・・重み補正手段、 ・・誤差測定手段。 第1B 図 第1C 図 、スへ 重みデータ修正アルゴリズム(階層型ネットワークの場
合)0v電圧入力によって、オフセ ット電圧を計測する。 重みデータ修正アルゴリズム(帰還型ネットワークの場
合)0v電圧入力によって、オフセ ット電圧を計測する。
Claims (1)
- 【特許請求の範囲】 1)アナログ信号を第1のアナログバスより時分割的に
入力し、積和演算を行ってアナログ信号を第2のアナロ
グバスに出力するアナログニューロプロセッサの集合か
らなるニューラルネットワーク(18)と、 該ニューラルネットワーク(18)のアナログバスに接
続されテストモード時において、指定された前記アナロ
グバスに固定電圧を発生するダミーノード手段(6)と
、 テストモード時の第1の状態において前記第1のアナロ
グバスにダミーノード手段(6)を介して0ボルトを強
制的に入力し、前記第2のアナログバスからアナログニ
ューロプロセッサ内で発生されたオフセット電圧を検出
する誤差測定手段(20)と、 前記各ニューロプロセッサのオフセット電圧からテスト
モード時の第2の状態において、前記ダミーノード手段
(6)から生成される固定電圧と乗算されるべき各ニュ
ーロプロセッサへの重みの中間的な重みを決め、第2の
アナログバスから出力される検出出力電圧からゲイン利
得を使って正しい重みを計算するディジタル制御手段内
の重み補正手段(19)と、 該重み補正手段によって補正された重みを格納する重み
メモリ(14)と、 前記ニューラルネットワークの動作を制御する制御パタ
ーンがシーケンサ(13)の制御によって順次読み出さ
れる制御パターンメモリ(12)とからなることを特徴
とするニューロコンピュータにおける重み補正による誤
差吸収方式 2)前記重み補正手段は、ダミーノードの固定電圧を0
にしてオフセット電圧Q_fを求め、これにより誤差計
測用重みデータ(1−Q_f)を求める第1次補正手段
と、 (1−Q_f)をダミーノードの1ボルトの電圧に対す
る中間的重みとし、さらにオフセット電圧Q_fとから
形成される混合誤差出力をQ_gとして加算器利得A_
g=(Q_g−Q_f)/(1−Q_f)を求める第2
次補正手段とよりなることを特徴とする請求項1記載の
ニューロコンピュータにおける重み補正による誤差吸収
方式 3)前記ダミーノードはマックスバリューノード回路か
ら構成され、このマックスバリューノード回路は固定電
圧を発生する手段と、前記固定電圧をダミーノード出力
から所定タイミングに出力する手段よりなることを特徴
とする請求項1記載のニューロコンピュータにおける重
み補正による誤差吸収方式 4)前記誤差検出手段はMPUからの指定に従ってテス
トモードを有効にするイネーブル信号と、マックスバリ
ューノード回路の指定された出力電圧を0ボルト電圧か
0ボルトでない電圧かを選択するテストモード信号と、
各層の指定を行うレイヤ信号を生成するポートレジスタ
手段(701)と、 前記イネーブル信号がイネーブル状態のときレイヤ信号
の状態に対応する層の入力側の入力アナログバスに前記
マックスバリューノード回路からテストモードの状態に
対応する固定電圧を生成することを有効にするためのイ
ネーブル信号を生成する制御手段(702、708、7
09、703、710)とからなるディジタル回路手段
を具備することを特徴とする請求項1記載のニューロコ
ンピュータにおける重み補正による誤差吸収方式5)前
記誤差検出手段は、各層の出力アナログバスの検出出力
電圧を受けるバッファ手段(711)と、 前記ディジタル回路手段から出力されるイネーブル信号
がイネーブル状態であるとき前記検出出力電圧を有効に
出力するスイッチング手段と、前記スイッチング手段に
接続され前記検出出力電圧をMPUを含むディジタル制
御手段側にディジタル量として出力するA/D変換手段
(707)を有することを特徴とする請求項1記載ニュ
ーロコンピュータにおける重み補正による誤差吸収方式
。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1045208A JP2618470B2 (ja) | 1989-02-28 | 1989-02-28 | ニューロコンピュータにおける重み補正による誤差吸収方式 |
| US07/486,647 US5216746A (en) | 1989-02-28 | 1990-02-28 | Error absorbing system in a neuron computer |
| DE69026740T DE69026740D1 (de) | 1989-02-28 | 1990-02-28 | Fehler absorbierendes System in einem neuronalen Rechner |
| EP90103900A EP0385436B1 (en) | 1989-02-28 | 1990-02-28 | An error absorbing system in a neuron computer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1045208A JP2618470B2 (ja) | 1989-02-28 | 1989-02-28 | ニューロコンピュータにおける重み補正による誤差吸収方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02226382A true JPH02226382A (ja) | 1990-09-07 |
| JP2618470B2 JP2618470B2 (ja) | 1997-06-11 |
Family
ID=12712852
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1045208A Expired - Lifetime JP2618470B2 (ja) | 1989-02-28 | 1989-02-28 | ニューロコンピュータにおける重み補正による誤差吸収方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2618470B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11928576B2 (en) | 2018-10-18 | 2024-03-12 | Denso Corporation | Artificial neural network circuit and method for switching trained weight in artificial neural network circuit |
| CN110543933B (zh) * | 2019-08-12 | 2022-10-21 | 北京大学 | 基于flash存算阵列的脉冲型卷积神经网络 |
-
1989
- 1989-02-28 JP JP1045208A patent/JP2618470B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2618470B2 (ja) | 1997-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2679738B2 (ja) | ニューロコンピュータにおける学習処理方式 | |
| KR940001173B1 (ko) | 뉴로 컴퓨터 | |
| TWI525558B (zh) | Resilient high - speed hardware reverse transfer and feedback type neural network system | |
| KR950008840B1 (ko) | 뉴로 칩(neuro chip) | |
| TWI417797B (zh) | A Parallel Learning Architecture and Its Method for Transferred Neural Network | |
| US5781702A (en) | Hybrid chip-set architecture for artificial neural network system | |
| CA2112113A1 (en) | Neural network architecture | |
| WO1991018347A1 (en) | Spin: a sequential pipelined neurocomputer | |
| EP0475732B1 (en) | Asynchronous control system for a neuro computer | |
| US5216746A (en) | Error absorbing system in a neuron computer | |
| JPH02226382A (ja) | ニューロコンピュータにおける重み補正による誤差吸収方式 | |
| US5485548A (en) | Signal processing apparatus using a hierarchical neural network | |
| JP2677656B2 (ja) | ニューロコンピュータの集中制御方式 | |
| JPH07104847B2 (ja) | ニューロコンピュータ | |
| Buonanno et al. | Analog Computing: from Fundamentals to Applications | |
| JPWO1990002381A1 (ja) | ニューロコンピュータ | |
| JPH02232786A (ja) | ニューロコンピュータにおける可変積分パルスによる誤差吸収方式 | |
| JP2679733B2 (ja) | ホップフィールドネット | |
| JPH02232725A (ja) | マルチダミーノードを有するニューロコンピュータ | |
| Kechriotis et al. | Training fully recurrent neural networks on a ring transputer array | |
| KR940001172B1 (ko) | 네트워크 구성데이타 처리장치의 학습처리 방식 | |
| Yan | A Mixed Signal 65nm CMOS Implementation of a Spiking Neural Network | |
| JPH05298276A (ja) | 信号処理装置 | |
| JPH04229361A (ja) | ニューラルネットワークの学習方法及びこの方法を用いた信号処理装置 | |
| JPH05135001A (ja) | 信号処理装置 |