Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2679738B2 - ニューロコンピュータにおける学習処理方式 - Google Patents
[go: Go Back, main page]

JP2679738B2 - ニューロコンピュータにおける学習処理方式 - Google Patents

ニューロコンピュータにおける学習処理方式

Info

Publication number
JP2679738B2
JP2679738B2 JP1048880A JP4888089A JP2679738B2 JP 2679738 B2 JP2679738 B2 JP 2679738B2 JP 1048880 A JP1048880 A JP 1048880A JP 4888089 A JP4888089 A JP 4888089A JP 2679738 B2 JP2679738 B2 JP 2679738B2
Authority
JP
Japan
Prior art keywords
signal
output
input
analog
weight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1048880A
Other languages
English (en)
Other versions
JPH02228784A (ja
Inventor
英樹 吉沢
宏基 市來
英樹 加藤
和雄 浅川
義英 杉浦
裕之 都築
秀一 遠藤
貴 川崎
俊春 松田
弘 岩本
主税 土屋
勝哉 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1048880A priority Critical patent/JP2679738B2/ja
Priority to US07/486,644 priority patent/US5142666A/en
Priority to DE69030778T priority patent/DE69030778T2/de
Priority to EP90400578A priority patent/EP0385873B1/en
Publication of JPH02228784A publication Critical patent/JPH02228784A/ja
Application granted granted Critical
Publication of JP2679738B2 publication Critical patent/JP2679738B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)

Description

【発明の詳細な説明】 〔概要〕 アナログニューロンチップをアナログ時分割伝送路に
より結合することで実現され学習機能を有するニューロ
コンピュータにおける学習処理方式に関し 少ない配線本数で階層ネットワークを構成する基本ユ
ニット間でのデータの授受を実現できるようにすること
で、しかも学習処理の前向き動作をアナログニューロン
プロセッサの集合で行うことが可能なネットワーク構成
データ処理装置を実現できるようにすることを目的と
し、 アナログ信号を第1のアナログバスから時分割的に入
力し、積和演算を行ってアナログ信号を第2のアナログ
バスに出力するアナログニューロプロセッサの集合から
なるニューラルネットワークと、該ニューラルネットワ
ークの制御信号のパターンを格納する制御パターンメモ
リと、該制御パターンメモリと重みメモリのアドレスを
発生するシーケンサと、各アナログニューロプロセッサ
の重みデータを格納する重みメモリと、前記ニューラル
ネットワークと制御パターンメモリとシーケンサと重み
メモリとを制御するとともに学習アルゴリズムを実行す
るディジタル制御手段と、前記ニューラルネットワーク
の入力段に設けられ、該ディジタル制御手段から入力さ
れる学習アルゴリズムを実行するための入力信号かアナ
ログポートから入力されるアナログ入力信号かの一方を
選択する入力制御手段とからなるように構成する。
〔産業上の利用分野〕
本発明は、ニューロコンピュータに係り、更に詳しく
は、アナログニューロンチップをアナログ時分割伝送路
により結合することで実現され学習機能を有するニュー
ロコンピュータにおける学習処理方式に関する。
〔従来の技術〕
従来の逐次処理コンピュータ(ノイマン型コンピュー
タ)では、使用方法や環境の変化に応じてコンピュータ
のデータ処理機能を調節することが難しいので、適応性
を有するデータ処理方式として、新たに階層ネットワー
クによる並列分散処理方式が提唱されてきている。特
に、バックプロパゲーション法と呼ばれる処理方式(D.
E.Rumelhart,G.E.Hinton,and R.J.Williams,“Learning
Internal Representations by Error Propagation",PA
RALLEL DISTRIBUTED PROCESSING,Vol.1,pp.318−364,Th
e MIT Press,1986)が、その実用性の高さから注目され
ている。
バック・プロパゲーション法では、基本ユニットと呼
ぶ一種のノードと重みを持つ内部結合とから階層ネット
ワークを構成している。第28図に、基本ユニット1の原
理構成を示す。この基本ユニット1は、連続ニューロン
モデルに類似した処理を実行する。すなわち、これは多
入力−出力系となっており、複数の入力{Yh}に対しそ
れぞれの内部結合の重み{Wih}を乗じる乗算処理部2
と、それらの全乗算結果を加算する累算処理部3と、こ
の加算値に非線形の閾値処理を施して1つの最終出力Xi
を出力する閾値処理部4とを備える。
第29図は階層型ニューラルネットワークの構成概念図
である。構成の多数の基本ユニット{1−h,1−i,1−
j}が、第29図に示すように階層的に接続されること
で、入力信号パターンに対応するところの出力信号パタ
ーンが出力されることになる。
学習時には、出力パターンと目的とする教師パターン
の差が小さくなるように、各階層間の結合の重み
{Wih}が決定される。このような学習は、複数の入力
パターンに対して行われ、多重化される。また、連続時
には、入力パターンが学習時に入力した完全情報と少し
異なる不完全な情報であっても、学習時の教師パターン
に近い出力パターンが得られることにより、連想処理が
可能となる。
〔発明が解決しようとする課題〕
このような構成のニューロコンピュータを現実のもの
としていくためには、階層ネットワークを構成すること
になる基本ユニット1間のデータの授受を、できる限り
少ない配線本数で実現していく必要がある。このこと
は、複雑なデータ処理を実現していくために、階層ネッ
トワークの構成をより多層化したり、基本ユニットの数
を増していく必要があるという背景のもとで、どうして
も解決していかなくてはならない課題の1つなのであ
る。
しかしながら、先に説明したデータ転送方式では、第
29図に示す階層ネットワークの構成からも明らかなよう
に、2つの層間の配線本数が極めて多くなることから、
階層ネットワークをチップ化するときに、小さくできな
くなると共に、信頼性を高めることができなくなるとい
う問題点がある。例えば、隣接する2つの層の基本ユニ
ット数を同じとし、すべての基本ユニット1が互いに接
続されるという完全結合を想定するならば、配線本数は
基本ユニット数の2乗に比例して増加することになる。
このように、配線本数が急激に増加してしまう。
本発明は、少ない配線本数で階層ネットワークを構成
する基本ユニット間でのデータの授受を実現できるよう
にすることで、しかも学習処理の前向き動作をアナログ
ニューロンプロセッサの集合で行うことが可能なネット
ワーク構成データ処理装置を実現できるようにすること
を目的とするものである。
〔課題を解決するための手段〕
第1A図は本発明のニューロコンピュータのシステムブ
ロック図である。
ニューラルネットワーク18は各層の入力側にある共通
の第1のアナログバスからアナログ信号を時分割で入力
しデジタル重みデータを用いて積和演算を実行してアナ
ログ信号をその層の出力側にある共通の第2のアナログ
バスに出力するアナログニューロプロセッサ(以下ANP
と記す)の集合を層とする少なくとも1層以上のネット
ワークである。
制御パターンメモリ12は前記ニューラルネットワーク
の制御信号のパターンを格納する。重みメモリ14は重み
データを格納する。シーケンサ13は該制御パターンメモ
リ12及び重みメモリ14のアドレスを発生する。デジタル
制御手段15はMPUと主記憶を有する汎用の処理装置であ
ってネットワーク18とD/A及びA/Dコンバータ16,17を介
して接続され、前記ニューラルネットワーク、制御パタ
ーンメモリ、シーケンサ、重みメモリの全体を制御す
る。学習処理のためにANPネットワーク18の入力段には
ディジタル制御手段15からの信号とアナログ入力信号と
が加えられる入力制御手段19を設ける。
〔作用〕
アナログ入力信号を時分割でアナログニューロチップ
に入力し、この信号と重みデータとの積を採り、この積
信号をそれぞれ加算して得られる積和信号を非線形関数
回路を通して出力することによりアナログニューロチッ
プを構成する。このアナログニューロチップを複数個用
いて階層型あるいは帰還型のニューラルネットワーク18
を構成し、このニューラルネットワーク18にシーケンサ
13によってアクセスすべきアドレスが与えられた制御パ
ターンメモリ12から出力される制御信号を加える。また
ニューラルネットワーク18には学習等によって得られる
重みデータが重みメモリ14から供給される。そしてニュ
ーラルネットワーク18、制御パターンメモリ12、シーケ
ンサ13、重みメモリ14はディジタル制御手段15のディジ
タル信号によって制御され、且つ管理される。また、デ
ィジタル制御手段15内のMPUでは、特に、学習アルゴリ
ズムが実行され、かつ出力信号のチェックなどが行われ
る。このようにして、時分割アナログ入力信号と時分割
アナログ出力信号を用いることを特徴とするアナログニ
ューロコンピュータシステムが実現される。
そして、入力制御手段19は、ディジタル制御手段15か
ら入力される学習アルゴリズムの実行のための入力信号
かアナログポートから入力されるアナログ入力信号かの
いずれか一方を選択してANPに加える。ニューラルネッ
トは学習の前向き処理を実行する。
〔実施例〕
第1B図は本発明のニューロチップから構成されるアナ
ログニューロプロセッサ(ANP)11のデュアルインライ
ンパッケージの概略図である。これは、MB4442と呼ばれ
ニューロンモデルの処理を実行する。内部の閾値処理部
はシグモイド関数で置換したモデルとなっている。アナ
ログニューロチップはANPと呼ばれ、アナログデータを
入出力するデバイスである。第1C図は本発明のANPの内
部構成図である。第1C図に示すようにANP11はアナログ
バスB1とアナログバスB2の間に接続される。ANP11は入
力するアナログ信号と重みを掛けるアナログ乗算器22、
積の和を求めるアナログ加算部23、和を保持するサンプ
ル/ホールド部24、シグモイド関数の値を出力する非線
形関数部25よりなる。第1B図のANP11の各端子を説明す
る。ANP11の内部はアナログ回路部とディジタル回路部
から構成されている。+−6ボルトの端子は、アナログ
回路部のオペアンプに供給される電源端子である。Din
及びDoutはアナログ入力信号及び出力信号の端子であ
る。AGNDはアナログ回路部の接地端子である。Rt+及び
Rt−端子はアナログ回路部にある積分回路の外付抵抗R
の端子であり、Ct+、Ct−端子は同じく積分回路の外付
キャパシタCの端子である。DGNDはディジタル回路部の
グランド端子である。+5ボルトはディジタル回路部の
電源端子である。RSTは積分回路のキャパシタの電荷等
のリセットを行うリセット信号端子である。CSI及びCSO
はディジーチェーン用制御信号の入出力端子であり、OC
はオフセットキャンセル制御信号用端子、S/H端子は、
サンプル/ホールド用制御信号端子、SYNCは各層の処理
に対する同期信号端子、DCLKはアナログ入力信号の処理
を行うための基本クロック信号端子、WCLKはディジタル
重みデータを取り込むためのクロック端子、WDはビット
シリアルで入力するディジタル重みデータ用の端子であ
る。
第2図は、本発明のアナログニューロプロセッサ(AN
P)の原理構成図である。
別々のANP(図示せず)から時分割的に送られてくる
アナログ入力信号をアナログバスB1からANP11内のアナ
ログ乗算器22に入力し、このアナログ乗算部22ではシフ
トレジスタ27を介してビットシリアルに入力されその後
直並列変換されたディジタル重みデータWDと掛け算し
て、アナログ入力信号とディジタル重みデータとの積を
示す積信号を得る。次の、アナログ加算部23は、外付け
の抵抗RとキャパシタCからなるミラー積分回路であっ
て、アナログバスB1に接続された前段の複数のANP(ANP
の存在する場所をノードと呼ぶ)から時分割で送られる
アナログ入力信号とダミーノードから送られる閾値用の
アナログ入力信号とからそれぞれ得られる積信号の和を
求めるものである。次に、サンプル/ホールド部24で積
信号を所望時間待たせるためにホールドした後に、さら
にそのサンプル/ホールドされた出力を非線形関数部25
を介して変換する。出力制御部26では、シーケンスジェ
ネレータ28の制御を受けて所定時間遅延させた後に、ア
ナログ出力信号DoutをアナログバスB2へ出力する。な
お、シーケンスジェネレータ28は内部に供給される制御
信号も生成する。そして、位相制御部29では、おもにAN
P内のアナログ回路部とディジタル回路部を接続する各
スイッチのオンかオフが確実に行われるように、制御信
号の位相を制御するもので、特に、第1のスイッチがオ
ンのとき第2のスイッチをオフにする場合それ等のスイ
ッチが同時にオンする場合がないように制御信号の位相
を制御する。
なお、シーケンスジェネレータ28は、リセット信号RS
T、DCLK、WCLK、SYNC、S/H、OC、CSIを後述するマスタ
コントロールブロックから入力するとともにCSOを出力
し、ANPの内部の制御信号を生成する。
ニューラルネットワークでは、同時処理により高速演
算を行う必要がある。本発明では時分割データを使って
いるが、定常状態では、各ANPがパイプライン的に同時
処理を行う。理想的なニューラルネットワークでは、ニ
ューロンは他のそれぞれのニューロンに相互結合した結
線が必要であるが、このままシステムを実現しようとす
ると、配線数が多くなる。そこで、本発明では時分割デ
ータを扱うので、各ANP内の積和の処理時間が伸びる
が、それを縦方向に、すなわち同層方向にチップを並列
に並べることで、層内のニューロチップを構成するANP
の同時処理により、その処理時間を改善する。また、各
層ではパイプライン処理が可能で、このことでも処理時
間が小さくなる。アナログバスに接続した例えば3個の
各ニューロチップには、入力が入ってくると、それは3
個とも同時に入り3個とも並列に、そのアナログ電圧に
対して、各ANPが重みとの積を生成し、それを積分器の
キャパシタに電荷として保持する。そして、次の時間区
域で、同じアナログバスのアナログ入力に対して、各AN
Pは重みとの積を形成し積分器のキャパシタ内に前の時
間区域で決まった積に加え込むことになる。前段のすべ
てのANPからのアナログ入力信号に対する重みとの積に
対する和が生成された後、その和はサンプル/ホールド
される。その後、シグモイド関数を介して出力される
が、これは、CSI制御信号入力時に出力されるか。そし
て、出力完了後にCS1が立ち下がり、その後一定時間遅
延後にCSOを立ち上げて、出力バスの使用権を同一層内
の隣接ニューロチップからなるANPに与える。
以下、実施例に従って本発明を詳細に説明する。
第3図はニューロチップである基本ユニットの第1の
実施例構成図である。同図の乗算部32、加算部33、閾値
処理部34は連続ニューロンモデルの実行部であるが、こ
の実施例では出力保持部35が存在する。具体的には、基
本ユニット31に接続される複数の入力をYi、この各接続
に対応して設定される重みをWiとするならば、乗算部32
は、 Yi・Wi を算出し、加算部33は、 X=ΣYi・Wi−θ を算出する。但し、θは閾値である。閾値部34は最終出
力をYとするならば、 Y=1/(1+exp(−X)) ……(1) を算出することになる。
ダミーノードから入力される“+1"という値に“−
θ”という重みをかけて加算部33で「X−θ」の結果が
出力される。従って閾値部34ではS字曲線による変換だ
けが行われている。
乗算部32は、乗算型D/Aコンバータ32aで構成され、前
段層の基本ユニット31から、あるいは後述するダミーノ
ードの回路からのアナログ信号(入力スイッチ部37を介
して入力される)の入力と、その入力に対して乗算され
るべきディジタル信号の重み情報(後述する重み保持部
38を介して入力される)との乗算を行って、得られた乗
算結果をアナログ信号で出力するよう処理するもの、加
算部33は、積分器で構成されるアナログ加算部33aとア
ナログ加算器33aの加算結果を保持する保持回路33bとに
より構成される。乗算型D/Aコンバータ32aは、D/Aコン
バータの基準電圧端子にアナログ入力信号を入力し、各
ディジタル入力端子に重みの各ビットをディジタル入力
信号として入力するものであり、結果として、そのアナ
ログ入力信号と重みとの積を生成する。アナログ加算器
33aは、乗算型D/Aコンバータ32aの出力と、前回に求め
られて保持回路33bに保持されている加算値とを加算し
て新たな加算値を求めるもの、保持回路33bは、アナロ
グ加算器33aが求めた加算値をホールドするとともに、
そのホールド値を前回の加算値としてアナログ加算器33
aにフィードバックさせるものである。これらの加算処
理は制御回路39より出力される加算制御信号に同期して
実行される。閾値部34は、アナログの関数発生回路であ
る非線形関数発生回路34aで構成され、入力に対してシ
グモイド関数等の非線形信号を出力するものである。乗
算結果の累算が閾値(−θ)の加算を含めて終了したと
きに、保持回路33bにホールドされている加算値Xに対
し閾値(−θ)を加えて(1)式のシグモイド関数の演
算処理を施し、アナログ出力値Yを得るもの、出力保持
部35は、サンプルホールド回路で構成され、後段層の基
本ユニット31への出力となる非線形関数発生回路34aの
アナログ信号の出力値Yをホールドするものである。
また、36は出力スイッチ部であり、制御回路39よりの
出力制御信号を受けて一定時間ONすることで、出力保持
部35が保持するところの最終出力をアナログバスB2上に
出力するよう処理するもの、37は入力スイッチ部であ
り、制御回路39よりの入力制御信号を受けて前段層の基
本ユニット31から最終出力からのアナログ出力が送られ
てくるときにONすることで入力の受付を行う。38は重み
保持部であり、パラレルアウトシフトレジスタ等により
構成され、重みメモリから送られてくるビットシリアル
の重み信号がバッファ38aのゲートがオープン(制御回
路39による重み入力制御信号がオン)された時に、この
重み信号を乗算部32が必要とするビットパラレルの重み
として保持するものである。ビットパラレルの重みは乗
算制御信号が与えられたときにパラレルで乗算部に与え
られる。39はディジタル回路部の制御回路で外部からの
同期信号から内部の同期信号を生成するもので、内部の
アナログ処理の機能の制御を実行する。
このように構成されることで、第3図の信号処理構成
を採る基本ユニット31の入出力がアナログ信号でもって
実現されることになるのである。
なお、乗算型D/Aコンバータ32は、ディジタル信号の
重み情報をパラレルで受け取るようにするものでもよい
し、重み情報をシリアルで受け取ってからパラレル変換
するようにするものでもよい。あるいは、重み情報をア
ナログ信号で構成するならば、乗算型D/Aコンバータ32a
の代わりに、アナログ乗算器を用いることができる。
第4図は1個の本発明のニューロチップ(ANP)の実
施例の具体的回路図である。
このユニットでは入力部42、乗算器43、加算器44、サ
ンプル/ホールド部45、非線形関数部46、及び出力部47
から構成され、ここでは、出力保持回路はなく、サンプ
ル/ホールド部45が出力保持の機能も有するものとす
る。
入力部42はオフセットキャンセル部51と、1倍のバッ
ファ49から構成されている。1倍のバッファ49は電圧フ
ォロアで、オペアンプの出力を−端子にフィードバック
し、+端子に入力電圧を入力することによって構成され
る。データ入力はアナログの時分割されたパルス信号で
ある。OCはオフセットコントロール信号であり、これが
1のときアナログスイッチ66がオンし、1倍のバッファ
9には、0電圧が強制的に設定される。一方、オフセッ
トコントロール信号OCが、0のときアナログスイッチ66
はオフされ、他方のアナログスイッチ65がオンし、デー
タ入力が1倍のバッファ49に入力される。すなわち、オ
フセットコントロール信号OCが1である場合には、ニュ
ーロンユニットには0ボルトが強制適任入力されて乗算
器出力までの回路のオペアンプ出力に生じるオフセット
電圧に対するオフセットのキャンセルの動作を行うよう
にしている。アナログスイッチ65と66は同図ではOC信号
の反転位相と正相位相でスイッチングの制御が行われて
いるが、位相制御回路によって、同時オンがないように
なっている。以後のことをOCが「位相制御された」とい
う言い方をすることにする。
正負切換回路52は2つの倍数器をカスケード結合して
構成されている。倍数器では入力抵抗(10KΩ)とフィ
ードバック抵抗(10KΩ)によって10/10、すなわち1倍
の電圧の反転したものが形成され、それを1段だけを通
すか、2段を通すかによってアナログ電圧の符号を決定
している。その制御信号はディジタル重みデータの符号
ビット(SIGN)であり、このSIGNビットはMOSスイッチ7
0のゲートに接続されている。このSIGNの制御信号も位
相制御されている。符号ビットが1である場合に入力部
42からの入力電圧は第1段目の倍数器で反転され、さら
にスイッチ67もオンしているので後段の倍数器も通り、
結果として正相となる。また符号ビットが0である場合
には、反転回路68を介して、スイッチ69がオンとなる。
この時スイッチ67と70はオフしているため、入力部42か
らの入力電圧はスイッチ69を介して後段のオペアンプ71
の−端子に入力される。従って、前段の抵抗72と後段の
オペアンプのフィードバックの抵抗73とによって倍数器
が形成され、1倍された形で反転される。すなわち、符
号ビットの正負によって入力部42の入力が、正または負
の電圧として形成され、これが、興奮性と抑制性のシナ
プス結合に従った電圧となる。正負切換回路52からの出
力は乗算部43の中にあるD/Aコンバータ53のR−2R抵抗
回路網の74の点、すなわち基準電圧端子に入力される。
R−2R方式のD/Aコンバータをまず説明する。MSBから
LSBまでのディジタル重みによって内部のスイッチはオ
ンまたはオフをとる。ディジタル値が1である場合に、
電流は右側のスイッチ75を通って、オペアンプ76の仮想
接地点78に流れ込む。オペアンプ76の仮想接地点78は+
端子と同じ電圧になるように制御され、これがグランド
であるから仮想敵な0ボルトである。D/Aコンバータ53
においてRは10KΩ、2Rは20KΩである。スイッチの状態
に関わらず、2Rの抵抗には電流が流れ、ディジタル値の
値に従ってその2Rに流れる重み電流が仮想接地点78の方
に流れるかどうかが決定される。1番右の2Rに流れる電
流をiとする。右から2番目すなわちLSBに対応する2R
の電流は1番右の2Rにかかる電圧を2Rで割った値である
から2R×i÷2Rでiとなる。従って1番右の横方向のR
には電流2iが流れる。右から3番目の2Rには2R×i+R
×2iの電圧がかかり、これを2Rで割るから2iの電流が流
れる。以下同様で左に行くに従って4i、8iとなって2の
べき乗で増える電流になる。この2のべき乗になった重
み電流をオペアンプの方に流すか流さないかを求めてい
るのがMSBからLSBである。従って、ディジタル重みに対
応する電流が2のべき乗の形で仮想接地78に流れこみ、
オペアンプ76の入力インピーダンスは無限大であるか
ら、この電流がオペアンプ35の帰還抵抗78に流れる。従
って、D/Aコンハータの出力電圧Voutは入力電圧をEと
すれば、 となる。ここで、D0はLSBで、Dn-1がMSBであるとする。
すなわち、掛算部43の出力は等価的に入力電圧Eに重み
を掛けた値になっている。
その重み係数はMSBからLSBに入力されるディジタル値
で制御されることになる。一方、加算部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信号がまた0とな
り、乗算部43と加算部44は切り離されるので、乗算部43
は次の入力信号に対して、重みデータを掛けることがで
きる。キャパシタCを含む積分回路の帰還回路82には4
つのスイッチを用いてオフセットキャンセル機能が付加
されている。今オフセットコントロール信号OCが1にな
ったとすると、スイッチ83と84がオンで、85と86がオフ
となる。オフセットコントロール信号OCが0の時には、
データ入力部42、データ入力端子DATA−INPUTに入力電
圧が与えられ、それに対応する乗算部43の出力が抵抗R
を介してキャパシタCに入力される。この時、スイッチ
85,86がオンであり、キャパシタCの極性はオペアンプ
の−端子に接続されている側が−、オペアンプ102の出
力に接続されている側が+である。次に、オフセットコ
ントロール信号OCが1である場合にはデータ入力は強制
的には0にされる。この場合、正負切換回路42及び乗算
部43のD/Aコンバータ53を介してもしオフセットがなけ
れば、D/Aコンバータ44の出力は0ボルトとなる。しか
し、オペアンプ49、103、71、102があるためにオフセッ
ト電圧が生じ、そのオフセット電圧が加算部44のキャパ
シタCに蓄えられる。この場合、前のオフセットコント
ロール信号OCが0である場合と違ってスイッチ83,84が
オンとなり、キャパシタCの+−の極性は逆転する。そ
のため、入力信号が入力された時に生じるオフセット電
圧はオフセットコントロール信号OCを1にすることによ
り、キャパシタCの極性が変わり、結果として、オフセ
ットがキャンセルされることになる。本発明では、この
ように、キャパシタCの極性の反転を用いて等価的にオ
フセットキャンセル機能を有するように構成されてい
る。なお、スイッチ87はリセット信号によって制御さ
れ、処理開始時にリセット信号が与えられた場合に、キ
ャパシタChの電圧を零にし、加算部の出力を強制的に0
にリセットするものである。このOC信号も位相制御され
ているものとする。
加算部44の出力はサンプル/ホールド回路45の入力と
なる。サンプル/ホールド部45では、位相制御されたサ
ンプル/ホールド制御信号S/Houtが1である場合に、ス
イッチ88を介して加算部44の出力がキャパシタChに蓄え
られる。S/Hout制御信号が1である場合には、反転回路
94によってスイッチ90の制御信号は0となり、キャパシ
タChの一方の端子はグランドに接地されず、スイッチ91
がオンになることによりユニットの最終出力信号がその
スイッチ91を介してキャパシタChに入力される。すなわ
ち、その時の最終出力信号がオペアンプ96の出力端から
フィードバックされてキャパシタChの下側に与えられ
る。従って、キャパシタCには、加算部44の出力から最
終出力信号の値を引いた電圧が保持される。一方S/Hout
制御信号が0のときには、スイッチ89と90がオンし、キ
ャパシタChの下側はグランドとなり、結果としてキャパ
シタCに蓄えられた電圧、すなわち加算部44の出力から
最終出力値を引いた電圧値がスイッチ89を介して1倍の
オペアンプ93の+側に入力され、そしてこのオペアンプ
93はバッファとして働いて、オペアンプ93の出力がシグ
モイド関数の入力となる。また、S/Hout制御信号が1の
ときスイッチ88がオンし、キャパシタChには加算器の出
力値と最終出力値との差の電圧が蓄えられているときに
は、スイッチ92がオンしている。そのためオペアンプ93
には0ボルトが強制的に入力される。この時にシグモイ
ド関数46及びオペアンプ96,アナログスイッチ100を介し
てオフセット電圧ΔVがスイッチ91を介してChの下側に
入力される。したがってS/Hout制御信号が0の時点、す
なわちスイッチ89がオンでスイッチ92がオフである場合
には、Chに蓄えられた電圧、すなわち(加算部の出力−
オフセット電圧ΔV)がオペアンプ93とシグモイド関数
46を介して最終出力になるが、S/Hout信号が1になる
と、この時に生成されるオフセット電圧もΔVであるか
ら結果として、オフセット電圧かキャンセルされること
になる。
シグモイド関数を生成する非線形関数部は非線形回路
選択制御部であり、位相制御されたSelSig信号を1にす
るとスイッチ95がオンし、シグモイド関数の出力が次段
に入力される。しかし、SelSig信号が0の時には反転回
路97を介してスイッチ98の制御信号が1となってそれが
オンし、シグモイド関数の出力はカットされる。すなわ
ちSelSig信号が0の時には、サンプル/ホールド部の出
力電圧がシグモイド関数を介さずに直接オペアンプ96に
入力される。オペアンプ96は本質的には出力を−端子に
直接帰還する1倍のオペアンプでバッファの働きをす
る。すなわち出力インピーダンスを0にするバッファと
なる。
出力部47には時分割アナログ出力部64と出力制御部63
が接続されている。CSIが1のときにはスイッチ99がオ
ンで、スイッチ101もオンであるため、オペアンプ96の
最終出力値がDATA−OUTPUTに出力され、しかもその−端
子にフィードバックされて、オペアンプ96は1倍のオペ
アンプとして働く。それと同時に最終出力値がサンプル
/ホールド部45にフィードバックされる。一方、CSIが
0のときインバータ104を介してスイッチ100がオンにな
り、スイッチ101,99がオフになる。すなわちオペアンプ
96の出力はDATA−OUTPUT線には出力されないことにな
る。しかし、スイッチ100がオンすることによって1倍
のバッファを形成するようにしているためオペアンプ96
の電圧フォロア動作は破壊されることなく実行される。
出力部47は出力制御入力信号CSIによって出力パルス電
圧を伝達するかどうかを決める回路である。このCSIを
ディレイ回路105を介してCSOとして出力し、層内の隣接
するニューロチップに対する出力アナログ信号の時間タ
イミングを決定することになる。このため、本発明では
出力部47からのアナログ信号は時分割で伝達されるた
め、バス上で他のニューロチップからのアナログ信号と
競合しない。
第5図は第4図において、オフセットキャンセルOCを
OC0、OC1、サインSIGNをPN,−PN、サンプル/ホールドS
HをSH11、SH10、サンプル/ホールドS/HoutをSH21、SH2
0、シグモイド選択信号Se1Sigを−SIGM、SIGM、ディジ
ーチェーン用信号CSIをCS、−CSでの2信号で位相制御
を実現する。すなわち、1つの制御信号を、それぞれ正
相を逆相の2信号で構成しかつ位相をずらすことによ
り、これらの制御信号の正相と逆相で制御される別のス
イッチが同時にオン状態にならないようにした信号にし
た場合の実施例である。なお、D/Aコンバータ53の出力
端に接続されたキャパシタCf、抵抗Rfはオペアンプ76の
フィードバック信号をD/Aコンバータの演算速度にあわ
せるためのものであり、DT端子には、D/Aコンバータの
ディジタル入力が加えられる。
第5図で第4図と同一箇所は同一番号を付して説明を
省略する。
第6図は、積分器におけるタイミング図である。デー
タクロックDCLKと重みクロックWCLKは基本的な動作クロ
ックで、データクロックDCLKのハイ状態の半周期間に高
速な重みクロックWCLKが出力される。重みクロックWCLK
信号は重みシリアルデータを取り込むための同期クロッ
クである。データクロックDCLK信号はアナログ入力信号
に対する処理を行うための基本クロックである。同期信
号SYNCは各層において一層内の各アナログニューロンプ
ロセッサANPの同期をとる同期信号である。積分器の出
力電圧の変化は下の三角形で示された部分の波形で示さ
れる。積分波形は、サンプル/ホールド制御信号SHのパ
ルスで制御され、このパルスがハイの間、積分の動作を
実行する。すなわち、積分器のキャパシタCに対する充
電を開始し、このサンプル/ホールド制御信号SHのパル
スがハイの間は、このキャパシタに徐々に電荷が蓄積さ
れて電圧は上がるが、サンプル/ホールド制御信号SHの
パルスがロウとなって遮断されると、充電動作を停止す
る。従って、この積分時間範囲でのチャージ分だけが意
味を持ち、このサンプル/ホールド制御信号のパルス幅
をコントロールして積分時間範囲を縮めたり延ばしたり
することで、入力は同じ電圧だが、積分結果としてでて
くるものは、サンプル/ホールド制御信号のパルスの幅
によって比例配分された電圧、すなわち、電圧に積分ゲ
インを掛けたものとなる。すなわち、サンプル/ホール
ド制御信号S/Hのパルス幅がPのときキャパシタCに充
電される電圧はVaであり、サンプル/ホールド制御信号
S/Hのパルス幅Wのとき充電電圧はVa′となる。
サンプル/ホールド制御信号SHが下がり、スイッチン
グ制御より積分器のキャパシタの極性が変わり、オフセ
ット分が加算されている積分出力は反転する。そして、
オフセットコントロール信号OCがハイ状態でサンプル/
ホールド制御信号SHが再び立ち上がると、オフセット電
圧Vb(Vb′)がそのキャパシタに加算され、SH信号が立
ち下がった時点では、結果としてオフセット分がキャン
セルされた積分出力値Va−Vb(Va′−Vb′)を極性をも
どしてサンプル/ホールドされる。
次に、階層型ニューラルネットワークを説明する。第
7A図は階層型ネットワークの概念図である。階層型では
左側の入力層の入力ノード110から行った入力データは
順次右側の方向に向かって1方向にだけ処理されてい
く。中間層の各ニューロン112は、ダミーノード111を含
む前の層の出力をそれぞれ層内の完全結合で受けるよう
になっている。入力層に例えば4個の入力ノード110が
あると、それにダミーノード111の1個がたされ、中間
層の各ニューロン112からみると入力層は5つのニュー
ロンに見えている。ここで、ダミーノード111とは、ス
レッシュホールドをコントロールするもので、積和の結
果Xのシグモイド関数 の値にXに一定値−θを加えることによりX軸の正方向
にシフトさせた値f(X−θ)にするものである。これ
はダミーノード111に対応する重みをニューロン内で変
えることと等価であるが、後述するマックスバリューノ
ード回路を用いて、一定値θを生成している。このよう
に、ダミーノードに対する重みを用意しておけば、閾値
を重みで表現することができる。そして出力層のニュー
ロン112から中間層はニューロンが4個あるように見え
る。入力層に加えられた入力データは、中間層ニューロ
ン112、出力層ニューロン112で重みデータを用いてそれ
ぞれ積和演算を施され、結果として出力データを発生す
る。
第7A図に示した階層型構造のものを本発明のANPを用
いて実現すると、第7B図のように、各層間、つまり入力
と中間層との間、中間層と出力層の間、出力層の出力に
それぞれの独立のアナログバスB1,B2,B3を設けることに
なる。縦方向のANPは全部並列に実行できるという構造
になる。出力層の出力にはサンプルホールド回路SHを付
ける。
第8図は階層ニューラルネットワークを実現する本発
明のニューロコンピュータのブロック図である。ニュー
ロチップからアナログニューロンプロセッサANP1〜ANP5
を各層に並列に配置し、各層間に独立にアナログバス
(B1,B2,B3)を設ける。同図において、ANP1,2,3で中間
層を形成し、ANP4,5で出力層を形成する。また、入力段
のANPはなく、入力側にはアナログ入力信号をタイミン
グよく入力するためのディジー回路171,172が存在す
る。S/Hで示す回路はサンプル/ホールド回路173,174で
ある。ANP1〜5にはそれぞれコントロール用のロジック
信号が必要であるので、マスタコントロールブロック
(MCB)181から各層に多くの制御信号線を送り込む。デ
ータクロックDCLKはすべてのANPの入力側のディジー回
路171と172に与えられ、アナログ処理の基本クロックと
なる。重みクロックWCLKもすべてのANPと入力側のディ
ジー回路171,172に与えられ、重みデータ用の高速クロ
ックである。重みメモリブロック185,186から各ANP4,5
及びANP1,2,3にはその重みクロックWCLKに同期して重み
データが入力される。また、同期信号SYNC1は中間層のA
NPに与えられる層の同期クロックで同期信号SYNC2は出
力層のANPに与えられる層の同期クロックである。SH1と
OC1は中間層のANPに対するサンプル/ホールド制御信号
とオフセットコントロール信号、SH2とOC2は出力層のAN
Pに対するサンプル/ホールド制御信号とオフセットコ
ントロール信号である。
左側のブロックであるディジー回路171,172は、入力
層に相当する入力側回路である。入力ノード、つまり入
力層内のニューロンを実現するために、アナログ信号を
時分割でANPが出すのと同じタイミングで、アナログ入
力ポート0,1より与えられるアナログ入力信号を回路内
に入力しなければならない。つまり、出力層からみれ
ば、出力層のANP4,5は前の中間層のANP1,2,3からアナロ
グ信号をアナログバスB2を介して時分割で受けることを
基本動作としている。これと同じ関係が中間層と入力層
にも存在しなければならない。入力層と中間層の関係
は、中間層のANPから見るとその前に入力層のANPがある
ように見えなければいけない。このことは、中間層のAN
PがアナログバスB2にアナログ信号を出力するタイミン
グと同じ機能でアナログ入力ポート0,1からのアナログ
入力信号に対しても決まった規則でアナログバスB1に出
力しなくてはならないという制約がある。即ちアナログ
入力ポート0,1からの入力信号はアナログバスB1に時分
割に乗ってくる。アナログ入力ポート0からのアナログ
信号は、適当なタイミングでアナログバスB1に乗るが、
そこに出力した次のタイミングで、アナログ入力ポート
1からの次のアナログ入力信号が同じアナログバスB1に
乗る。この同期をとるために一定のタイミングで出され
る入力制御信号CSIをディジー回路171が入力し、一定時
間後に、その回路から出力制御信号CSOが出される。こ
のCSIはマスタコントロール回路181のCSO1から出力され
る。ディジー回路171,172は一種の遅延回路である。各
ディジー回路171はマスタコントロール181から入力制御
信号CSIを入力すると、自分は縦方向に隣接する次のデ
ィジー回路172に対して、アナログ入力ポート1のアナ
ログ出力信号を出すように、CSO信号を次に渡すことに
なる。この動作をディジー制御と呼ぶ。
マスタコントロール回路181のCSO1が立ち上がると、
スイッチ175がオンし、サンプル/ホールド回路173に保
持されているアナログ入力ポート0のアナログ入力信号
はアナログバスB1に乗る。CSO1はディジー回路171のCSI
であるから、これが立ち下がってから一定時間後にCSO
が立ち上がる。これはディジー回路172のCSIであると同
時に、スイッチ176を制御してオンにさせるので、サン
プル/ホールド回路174に保持されていたアナログ入力
ポート1のアナログ入力信号をバスB1に乗せる。階層構
造になった本システムでは、このディジー制御が必要と
なる。つまり、アナログ入力信号に対してアナログ入力
ポート0からサンプル/ホールド回路173を介してアナ
ログバスB1に出力すれば、次にアナログ入力信号に対し
てアナログ入力ポート1からサンプル/ホールド回路17
4を介して同じアナログバスB1に出力させることにな
る。中間層の各ニューロンでみているとアナログ入力ポ
ート0のアナログ入力信号とアナログ入力ポート1から
の次のアナログ入力信号とは時分割で逐次に入ってく
る。
各ディジー回路171,172は、アナログバスB1上のバス
競合を防ぐために、入力制御信号CSIを特定の時間だけ
遅延させて出力制御信号CSOを出す。
中間層においても、マスタコントロールブロック181
からの出力制御信号CSO2をCSIとして受けるANP1がアナ
ログ信号を出力したら、CSOをCSIとしてANP2に渡すと、
次にANP2が出力する。ANP2のCSOをCSIとし受けるとANP3
が次にアナログ信号を出力することになる。要するに、
ここではANP1,2,3の順に出力し、中間層のディジー動作
が終わる。これと並行して全ての動作を管理しているマ
スタコントロールブロック181は、出力層のANP4にCSO3
を与えるとANP4が出力し、出力完了後、ANP4がANP5にCS
Oを与えるとANP5が出力する。
出力層のANP4,5からの出力は、それぞれマスタコント
ロールブロック181からCSO3信号及びANP4からのディジ
ーチェーン用出力制御信号CSOによってそれぞれサンプ
ル/ホールド回路171、178でサンプル/ホールドされ
る。この出力電圧は、アナログ出力ポート0,1からアナ
ログ出力信号として出力される他、アナログマルチプレ
クサ179で選択された後、A/Dコンバータ180でA/D変換さ
れ、MPU182、メモリ183、通信インタフェイス184から構
成されるディジタル制御手段に入力される。そして、MP
U182で例えば学習時に与えたMPU内に蓄えられた教師信
号と比較し、所望の出力信号であるかのチェックを行
い、この結果に基づいて後述する重みメモリの重みデー
タを変更する。マックスバリューノード回路187はマス
タコントロールブロック181からダミーノード制御信号D
CS1,DCS2が出力イネーブル1及び2に加えられるととも
に、出力端子はアナログバスB1,B2に接続される。
第9図は第8図に示した実施例にかかる階層型ニュー
ロコンピュータのタイミング図である。各層別にその制
御信号線が抜き出して書かれている。まず基本的な動作
クロックであるデータクロックDCLKと重みクロックWCLK
は同一層のすべてのANPや入力側のディジー回路171,172
に同時に入る。
重みクロックWCLKは、重みのディジタルデータをシリ
アルで送り込むためのシリアル同期パルスで、重みメモ
リブロックから重みを読み出すための同期クロックであ
る。どのタイミングで、入力データを取り込むかはそれ
ぞれの制御信号で規定する。まず第9図のタイミングチ
ャートにおいて、CSO1はマスタコントロールブロック18
1から出力されるディジーチェーン用制御信号CSO1、す
なわちディジー回路171へのディジーチェーン用制御信
号CSIである。ディジー回路171において、SCIが1番目
のアナログ入力信号をアナログ入力ポート0からサンプ
ル/ホールド回路SH173を介してアナログバスB1に出力
される。すなわちタイミングチャートのにおいてアナ
ログ信号をアナログバスB1に出力させる。この瞬間に、
アナログバスB1上に電圧が乗り、ANP1,ANP2,ANP3はこの
アナログ信号に対して並列に積和演算を行う。そのCSO
がディジー回路171を通過し、CSOが立ち下がってから所
定時間後に次のCSIがに示すように立ち上がり、ディ
ジー回路172にそのCSIが入る。次のCSIは入力層の2番
目のディジー回路172に入る制御信号である。そしてCSI
がハイの間にアナログ入力ポート1からアナログ入力信
号をサンプル/ホールド回路SH174を介してANP1,ANP2,A
NP3に入力し、ここで積和演算を行う。マスタコントロ
ールブロック181からのDCS1は、ダミーノードへの制御
信号である。各層とも入力の他にダミーノードからの信
号があるので(ニューロンノード数+1)個のノードの
形態であり、入力層では2入力であるが、各中間層のAN
Pからみると3入力であるように見える。これを時間的
に説明すると、2つのCSIと1つのDCS1で1つのブロッ
クとなる制御信号である。入力のサイクルは、最初のCS
Iから始まり、DCS1のダミーへの入力で終わる。ダミー
ノードはマックスバリューノード回路187であり、その
回路はDCS1が入力されている間アナログバスに固定され
たある閾値電圧を出力する。すなわちで示すようにDC
SIが立ち上がってからこの電圧が出力されている間、中
間層の各ANPは通常の入力と同様に積和演算を行って、
その固定電圧が前の2つのアナログ入力信号の積和演算
されたものの結果に加えられることになる。すなわち、
掛け算後、足し算を実行する。SYNC1は、CSO1が立ち上
がる前のDCLKの立ち下がりでハイとなり、DCS1が立ち上
がってから次のDCLKの立ち下がりでロウとなる。これは
入力層の同期をとる信号である。WCLKが入力されている
間でアナログ入力と重みデータの掛け算が行われる。中
間層のANPに入るサンプル/ホールド信号SH1には、2つ
の山M1,M2が出力されているが、最初の山M1の少し前で
積をとり山の部分で和を生成し、ホールドする。そし
て、次の山M2でオフセット電圧Vb(第6図参照)を差し
引いてサンプル/ホールドする。このような処理を入力
されるすべてのアナログ信号について順次繰り返し行
い、積和の計算が終わる。この場合はダミーを含めて中
間層の各ANPは積和演算を3回実行する。これで中間層
の各ANPの処理は終わり、3入力に対する積の加算まで
が終了する。
また、タイミングチャートにおいてDCS1が立ち下がっ
た直後のDCLKがハイのとき、アナログ入力ポート0、1,
ダミーノードから3つの信号について積和演算した結果
が各ANP1,2,3のキャパシタ(第4図、サンプル/ホール
ド部45内のCh)にホールドされる。このような動作が基
本的に繰り返されることになるが、中間層と出力層との
間にあるアナログバスB2にANP1の出力信号をいつ出力す
るかということはマスタコントロールブロック181から
出されるCSO2の信号の立ち上がりで決まる。
SH1の下に示したオフセットコントロール制御信号OC1
はANPの内部においてオフセットキャンセルを行う。す
なわち各ANPは内部的にオペアンプを含むアナログ回路
であって、回路自体がオフセットを持っているため、こ
のオフセットをキャンセルするための制御信号がOC信号
である。OC1に示されるように積和の演算が1つ実行さ
れる毎に1つのパルスが出され、内部においてオフセッ
トキャンセルが実行されている。タイミングチャートで
はで示すようにCSO2が立ち上がるとともにANP1からア
ナログバスB2にANP1にホールドされていた信号が出力
し、CSO2がハイの間に出力層のANP4が積和演算を行う。
で示されるCSO2の立ち上がりはその前の入力結果の積
和の結果を出力するタイミングである。
次に、第9図を使って中間層と出力層との間のタイミ
ングを説明する。
なお、同図において、中間層からのディジーチェーン
制御信号の出力,,,及び出力層からの出力
,に同期してアナログバス上にあらわれるアナログ
信号は上述した入力層からのディジーチェーン制御信号
の出力,,に同期してアナログバス上に入力され
るアナログ信号に対して処理サイクル前の結果が現れ
ることになる。パイプライン処理の実行は後で説明する
が、タイミングチャートので示されるCSO2の立ち上が
り時において、ANP1の出力が出される。に示されるCS
O2の立ち上がり時にタイミングチャートSH2の信号を見
るとパルスが2つ出されている。SH2信号は第8図のブ
ロック図において、出力層の第1番目のANP4に入力され
ている。すなわちSH2信号の2つの山のパルスにおい
て、ANP4内で和の演算が1つ実行される。中間層には図
に示されるようにANP1,2,3の3つの中間層のニューロン
があるが、マックスバリューノード回路187によるダミ
ーノードが1つ加えられ、合計4つのニューロンがある
と仮定されている。従ってSH2信号の山2つのパルスが
の部分から見て4回出力されており、このSH2信号の
4組の山のパルスで中間層のアナログ信号がANP4に入力
され積和が演算される。この動作は当然、中間層のANP
が入力信号に対して積和演算をしているタイミングと同
時に行っていることになり、これはパイプライン処理と
なっている。CSO2の下の信号は中間層にあるANP1のCSO
の信号で、これは同じ中間層のANP2に対するCSIであ
る。これがで示されている部分である。その下はANP2
のCSOでその下はANP3のCSIでこれがである。その下が
ANP3のCSOであり、その下のがダミーノードのCSIであ
ってこれはDCS2、すなわちマスタコントロールブロック
から出される信号である。CSIで見ると,,,
の順序でそれぞれ中間層のANP1,ANP2,ANP3、そしてダミ
ーノードのマックスバリューノード回路187に入力され
る。この間SH2信号は2つの山を持つパルス信号を4つ
出している。すなわち、ANP4の出力層のニューロンは入
力アナログ信号と重みとの積を4つ分加えることにな
る。の部分でANP1にCSIが入力している時にはANP1か
らアナログ信号が中間層と出力層の間のアナログバスに
信号が出され、これがANP4に入力される。そしてこの
時、対応する重みデータがANP4に入力され、それと共に
積が実行され、SH2信号の第1の山で加算され、第2の
山でサンプル/ホールドされる。そしてこの計算が終わ
ると、ANP1からCSOの信号が立ち上がり、これがANP2のC
SIとなる。これがの状態であり、この時重みデータと
アナログバス上のデータとが掛け算され、和が計算され
る。の立ち下がったあと所定時間後にANP3へのCSIが
ハイとなりで示すようにANP4で積和演算が行われる。
このような積和の演算がANP4内で計算され、のところ
でマックスバリューノード回路187から出力される固定
電圧がANP4に入力され、これが内部のいままで蓄えられ
た積和に加えられることになる。
以上の動作は出力層のANP5に対しても並行して行われ
る。ここに同時処理がある。ANP4で計算された積和演算
の結果が出力層に接続されたアナログバスB3に出力され
るタイミングはマスタコントロールブロック181から出
されるCSO3の立ち上がりである。マックスバリューノー
ド回路187がアナログバスB2に出力するための制御信号
がDCS2であって、これがに対応する。このDCS2までは
中間層における計算結果を出力するまでの動作である。
タイミングチャートのこれよりも下に書いてある信号に
対しては同じような動作であり、中間層とカスケードに
接続された出力層側の動作を規定する信号パルスであ
る。CSO3が立ち上がると、ANP4で計算された積和演算の
結果が出力されることになる。出力層ではANP4、ANP5の
2個が出力される。なお、例えばのCSO2の立ち上がり
は、ANP1に入る信号で、この立ち上がりはDCLKよりも遅
れている。これはアナログ入力信号とディジタル重みデ
ータとの積演算を行う場合、WCLKでディジタルデータを
読み込む時にシリアルであって、これを内部でパラレル
に変換するディジタルデータの読み込み時間とアナログ
入力信号がD/Aコンバータすなわち乗算処理部に到達す
るまでの時間を考慮してCSO2の立ち上がりを遅らせてい
るからである。すなわち、最初の頭の部分でズレている
のは、データの呼び出し、つまりシリアルデータの読み
込み時間が含まれている。データがセットし終わるのは
DCLKの立ち上がりから、しばらくたった時間すなちWCLK
で16サイクル後である。アナログ乗算の開始時間はCSO2
が立ち上がってからWCLKで8サイクルたった後である。
第10図は、ディジタル重みデータの読み込みタイミン
グを示すタイミングチャートである。同図において、マ
スタクロックMCLK、同期信号SYNC、重みクロックWCLK、
データクロックDCLK、実際の重みデータWDATAが示され
ている。重みデータWDATAは重みメモリからビットシリ
アルで読み出され、16ビットがシリアルに入力される。
Sはサインビットで、B14〜B0までが数値ビットであ
る。同図において重みデータWDATAのB8,B7,B6の部分が
重みクロックWCLKとの対応として図の下方に拡大された
形で表現されている。重みクロックWCLKは周期が250nse
cでデューティ比50%になっている。WCLKの立ち下がり
からシーケンサ内部にあるアドレス更新用のカウンタの
伝播遅延時間後に重みメモリにアドレスが与えられる。
即ち重みメモリ(RAM)のビットnのアドレスは重みデ
ータWDATAのビット7が格納されている重みメモリのア
ドレスである。このアドレスが確定した後、tAA時刻後
にビット7が読み出されている。ビット7からビット6
への変化は重みクロックの次の周期への変化によって決
まり、ビット6は次の周期で読み出されている。重みデ
ータの16ビットはANPに入力され、ANPに入力されるアナ
ログ電圧との積が内部のD/Aコンバータによって計算さ
れるので、アナログ電圧の入力開始は、データクロック
DCLKからの立ち上がりからずっと後に入力される。即
ち、アナログ入力電圧は入力されてからD/Aコンバータ
に到達されるまでの時間があるのでその時間とディジタ
ル重みデータが内部にセットされる時間とを制御し、重
みデータの到着時間とアナログの到着時間がちょうど一
致するようにアナログ電圧を入力する必要がある。
例えば、アナログ入力電圧の立ち上がりは、重みデー
タのB7あたりから立ちあげ、重みデータのB0が入力さ
れ、その後すべての重みデータが内部で確定した頃にそ
のアナログ値との乗算がスタートするように時間の制御
をとる必要がある。そして加算はDCLKが次にロウになる
期間で行われる。
ANPの動作時間は、SYNC信号とWCLK、及びデータDCLK
で規定される。そしてアナログ入力電圧はANPの入力端
子からディジタル重みデータと積を実行するD/Aコンバ
ータ迄の電圧到達時間等にかなりの時間誤差があるの
で、マージンを見込んでCSIの立上りはDCLKの立上りよ
り遅れたところから始まることになる。
第11A図はマスタコントロールブロック181の構成図で
ある。マスタコントロールブロック181はすべての制御
信号を総括する部分である。主要な構成要素は外部バス
インタフェイス回路200、制御パターンメモリ201及びマ
イクロプログラムシーケンサ202とマイクロコードメモ
リ203、アドレス作成部204である。外部バスインタフェ
イス回路200は、MPU等に接続するためのインタフェイス
でアドレス線205、データ線206及び制御信号線207に接
続されている。外部バスインタフェイス回路200の上位
アドレス比較回路208、レジスタであるD−FF209はそれ
ぞれMPU等から与えられる上位アドレスをデコードし、
上位アドレスが予め定められた番地である場合に、下位
アドレスとデータをそれぞれD−FF209,211にタイミン
グ回路214からのラッチ信号をトリガとしてセットす
る。そのアドレスとデータはそれぞれバスドライバ210
と212を介して、内部アドレスバスと内部データバスを
介して内部に入力される。そのアドレスはマイクロコー
ドメモリ203を参照して、マイクロコードをデータバス
を介してMPU側から書き込む場合等に利用される。また
下位アドレスはバスドライバ210を介してマイクロコー
ドアドレスをマイクロプログラムシーケンサ202にも渡
され、MPU側からの特定なアドレスで制御パターンメモ
リ201を参照できるようにしている。
MPUあるいは主記憶からのデータはデータ線206を介し
てD−FF211にラッチされた後、バスドライバ212を介し
てマイクロコードメモリ内のセパレートI/ORAM213ある
いは、制御パターンメモリ201内のセパレートI/ORAM21
5,216に加えられる。MPU或いはメモリからのデータスト
ローブ信号が制御信号線207を介してタイミング回路214
に加えられるとアクノリッジ信号を返送する通信方式
で、アトレスやデータの送受信に関する制御が行われ
る。タイミング回路214はD−FF211,D−FF209へのラッ
チタイミングやWR信号を介してマイクロコードメモリ20
3、制御パターンメモリ201への書き込みタイミング等を
制御する。
第9図のタイミングチャートに示されるようなニュー
ロチップに与える複雑な制御信号の“1",“0"パターン
は、制御パターンメモリ201に1周期分格納され、その
1周期分のパターンをマイクロプログラムシーケンサ20
2の制御に従って制御パターンメモリ201から読み出すこ
とによって生成する。例えばリセット信号Reset、デー
タクロックDCLK、重みクロックWCLK、CSO1,CSO2,CSO3や
SYNC1、SYNC2、SH1、SH1、OC1,OC2等の制御信号はセパ
レートI/ORAM215から読出され、パターンに付随する制
御情報つまりシーケンス制御フラグは第2のセパレート
I/ORAM216から読み出される。例えば制御パターンメモ
リ201は1000110001というパターンが格納されている場
合には、“1,0"ビットのパターンであるから、この“1,
0"ビットのパターンを繰り返すように制御パターンメモ
リ201のアドレスを制御すれば、このパターンの繰り返
しが制御パターンメモリ201から読み出されることにな
る。すなわち制御信号のパターンは非常に複雑なパター
ンであるので、これらのパターンを予めこのセパレート
I/ORAM215に格納しておき、そのセパレートI/ORAM215の
アドレスをマイクロプログラムシーケンサ202の制御に
従って指定することによって順次そのビットパターンを
出力する構造になっている。よって、幾つかの同じパタ
ーンを繰り返すことになるので、その繰り返しをどのよ
うに実現するかはアドレス制御に従う。この1周期分の
パターンをオリジナルパターンと呼ぶことにする。オリ
ジナルパターンを繰り返すためには、マイクロプログラ
ムシーケンサ202に制御パターンメモリ201からの特定な
情報をフィードバックする必要がある。すなわち第2の
セパレートI/ORAM216内のシーケンサコントロールフラ
グを条件入力としてマイクロプログラムシーケンサ202
に入力することにより、マイクロプログラムシーケンサ
202は第1のセパレートI/ORAM215内のオリジナルパター
ンの入っている先頭アドレスに戻るように制御する。こ
のことにより、オリジナルパターンの繰り返しが実行さ
れる。すなわち、マイクロプログラムシーケンサ202は
その条件が満たされるまで汎用ポート出力線202−1を
介してセパレートI/ORAM215へのアドレス信号を逐次に
生成する。通常はこのアドレスはインクリメントされる
がオリジナルパターンの最終になったという条件が満た
されると、そのオリジナルパターンが格納されている先
頭アドレスに戻るようにする。結果として特定なパター
ンが繰り返しセパレートI/ORAM215から制御パターンが
出力される。
第11B図は、マスタコントロールブロック181を制御す
るメモリ201及び203内の情報の相互関係である。同図に
おいて、制御パターンメモリ1が第1のセパレートI/OR
AM215に相当し、制御パターンメモリ2が第2のセパレ
ートI/ORAM216に相当する。マイクロコードメモリ203内
には、シーケンサ202の制御コードが記憶され、主に、J
ump命令とRepeat命令が格納されている。アドレスの増
加方向にみて、特定なアドレスにRepeat命令があり、こ
の反復命令に従う制御パターンメモリ内のパターン1の
繰り返し数は制御パターンメモリ2の対応するアドレス
に格納され、例えば「10」であるとすれば、10回の反復
を実行することになる。このようにして、アドレスが増
加し、マイクロコードメモリのJump命令に来たときに、
マイクロコードメモリ203内の第2のJumpで500Hに飛
び、Pattern 2を出力する。Pattern 2を5回繰り返す
と、マイクロコードメモリ203内の第3のJumpで、再び
「100 H」に飛び、Pattern 1を出力することになる。こ
のようにして、オリジナルパターンが繰り返されて、制
御パターンメモリ1から読み出される。
この制御パターンメモリ201を参照するアドレスの読
み出しクロックに同期してWCLKが作られており、重みメ
モリ185,186からWCLKに同期して情報が読み出される。
重みメモリ185,186へのアドレスはアドレス作成部204の
アドレス1及びアドレス2から出力されるアドレス信号
によってアクセスされる。アドレス1とアドレス2はそ
れぞれ、中間層と出力層に対応して分離している。中間
層にあるANPに与えるべき重みデータはアドレス1によ
って指定される重みメモリ185から読み出され、出力層
へのANPへの重みデータはアドレス2によって指定され
る重みメモリ186から読み出された内容である。各アド
レスは重みメモリ185,186の内容が重みデータの各ビッ
トをアドレスが増す方向に1ビットずつ格納されている
ので、アドレスカウンタ217,218へのカウント制御信号
がマイクロプログラムシーケンサ202から与えられる必
要がある。そのアドレスカウンタ217,218によってこの
アドレスがバスドライバ219,220を介して次から次への
重みメモリ185,186へのアドレス信号として、インクリ
メントとして与えられる。そして複数の重みデータがそ
の重みメモリ185,186から読み出される。
第1のセパレートI/ORAM215からWCLKとマイクロプロ
グラムシーケンス202からのカウンタ制御信号がアドレ
ス作成部204内のアンド回路221、222に加えられてい
る。カウンタ制御信号がハイのとき、WCLKによってアド
レスカウンタは更新され、WCLKの1〜16ビットまではア
ドレスカウンタ217,218をインクリメントする。そし
て、残りのWCLK17〜26ビットに対しては、カウンタ制御
信号をロウとすることによりWCLKをインヒビットとして
アドレスカウンタ217,218のインクリメントを停止す
る。そして、SYNC1、SYNC2に同期して、それぞれカウン
タリセット信号をマイクロプログラムシーケンス202か
らアンド回路221,222に送出して、アドレスカウンタ21
7,218をリセットする。このことにより、重みメモリ18
5,186のアドレスを先頭アドレスに戻す。なお、マスタ
コントロールブロック181から出力されるモード信号
は、重みメモリの通常使用、すなわち重みメモリをMPU
データバスから切り離し重みデータをANPに与えるモー
ドと、重みメモリをMPUデータバスに接続し、MPUから重
みメモリを参照するモードを形成するためのものであ
る。
モード信号は、MPUからのデータの下位ビットが、下
位アドレスの1ビットとタイミング回路214からの書込
み信号からWRをアンド回路223にて生じるアンド信号を
トリガとしてフリップフロップ224にリセットされるこ
とにより形成される。このモード信号が0のとき重みメ
モリは通常使用される。
書込み信号WRと内部アドレスバスの1ビットがアンド
回路223を介してフリッフフロップ224のクロック端子に
入力され、内部データバスのLSBがフリップフロップ224
のデータ端子に入力される。上位アドレスを比較回路20
8でマスタコントロールブロック181が選択されているか
を判定し、選択されている場合、下位アドレスとデータ
をDFF209,211に取り込む。このような、インタフェイス
動作はMPUに接続される他のデバイスに対しても同様に
行われるが重みメモリは通常ANPに対し重みデータを供
給しているので、MPUのデータバスに直接接続するとバ
ス競合が生じる。これを防ぐために、内部データバスの
LSBがフリップフロップ224に取り込まれた時はモードを
1として、重みメモリを後述するようにチップセレクト
しないようにして、重みメモリからデータバス上にデー
タが生じて、重みメモリからデータバス上にデータが生
じないようにする。内部アドレスバスが所定タイミング
において、内部アドレスバスによって、マイクロコード
メモリ203と制御パターンメモリ201のいずれかのアドレ
スを指定し、そのアクセスされたアドレスに内部データ
バスから所望のデータを書き込む。これにより、マイク
ロプログラムシーケンサ202やマイクロコードメモリ20
3、セパレートI/ORAM216に記憶されたプログラムを変更
するか、セパレートI/ORAM215に記憶された制御パター
ンを変更する。
第12A図はこの重みデータメモリ230をデータ格納構成
図である。同図において列方向の8ビットは同じアドレ
スに入った8ビットデータの情報であり、各ビットは下
からANP1,ANP2・・・ANP8に与えられる。行方向はアド
レスが異なり、図に示すように左に行くほどアドレスが
増加する方向となっている。重みデータはサインビット
を含めて16ビットであるからこれをアドレスの小さい方
向から大きい方に向かって格納する。MSBは、サインビ
ットで、それ以外の15ビットは数値ビットである。マイ
クロプログラムシーケンサ202からアドレスがWCLKに同
期してインクリメントされると、重みデータの1ワード
分、すなわち16ビットがMSBから順にLSBまで読み出され
ることになる。8個の複数のANPに同時にこれらの重み
データが渡される。このようにアドレスの増加する方向
にデータが格納される構造になっているため、この重み
データに対するアドレスのカウンタが必要となる。すな
わち、MSBからLSBの重みデータデータの1ワード分がカ
ウントされたら、1個分の重みデータになるようにカウ
ントされる制御が必要となる。この制御はやはりマイク
ロプログラムシーケンサ202で行っている。
第12B図は重みメモリブロック185,186具体的回路であ
る。メモリ230はMB8464A−70というRAMである。出力はA
NP1〜ANP8に対応する8ビットである。基本的にMPUのバ
スから見たバス信号線とマスタコントロールブロック18
1から見えるアドレス1と2のどちらかを使う。アドレ
ス1と2は前述した第11A図のアドレス1と2である。
このアドレス1と2はWCLKに同期してインクリメントさ
れる形で入力される。8ビットのデータは同時に読み出
され、各ビットはANP1〜ANP8に対して同時に与えられ
る。
モード信号が0のときアンドゲート233を介して、重
みメモリ230はチップセレクトされ、このとき、マイク
ロプログラムシーケンサ202からのアドレス1,2がマルチ
プレクサ234で有効となる。そして、重みメモリ230から
重みデータがANP1〜8に送られる。一方、反転回路231
の出力は、ハイであるからトライステートバストランシ
ーバ232はディスイネーブル状態となって重みメモリ230
の出力はMPUへと出力されない。
MPUに出力する場合には、モード信号を1にして、MPU
からの適当なアドレス情報によって、アドレスデコーダ
235を介してメモリ230をチップセレクトし、メモリ230
にMPUからアドレスを与える。モード信号が1のとき、M
PUバスへの読み出しまたはバスからメモリ230への書き
込みの制御すなわちリードライトの方向は、MPUからア
ンドゲート236を介して来るデータ線の読み出し信号Rea
d Signalによって決められる。
次に学習のアルゴリズムについて説明する。
第12C図は本発明に利用されるバックプロパゲーショ
ンという学習アルゴリズムのフローチャートである。学
習は次のように進められる。本発明のニューラルネット
ワークすなわち、ANPの集合によって構成される階層型
ネットワークの入力に学習すべき完全情報がMPUから図
示しない入力制御回路を介して入力される。そして、そ
の入力信号は入力側回路、中間層及び出力層を介してネ
ットワーク出力にA/Dコンバータを介した後MPUに与えら
れる。MPU側の主記憶内に学習アルゴリズムが存在す
る。MPU内は、教師信号を主記憶から取り入れ、ネット
ワークの出力と教師信号との誤差を調べる。もし、その
誤差が大きければ、MPUは、ネットワークが正しい出力
を出す方向に、ネットワークの接続の強さである重みデ
ータを変えることになる。この重みデータは重みメモリ
230を介して各層のANPに加えられる。
重みデータが学習アルゴリズムによって更新される場
合、第12C図のバックプロパゲーション学習アルゴリズ
ムに従うことになる。学習アルゴリズムがスタートする
と、MPUは出力層のL番目のニューロンANPLは教師信号
と、現在の出力YLとの誤差を求めてそれをZLに代入
する。出力YLはニューロンANPLの出力であるから、例え
ばシグモイド関数を非線形素子として使うならば、この
非線形関数の出力値として出されたものである。従っ
て、ニューロンANPLにおいて、誤差ZLを非線形関数の入
力側に誤差伝播する必要がある。誤差伝播を行う場合、
エネルギー関数、すなわち誤差信号の2乗に1/2を掛け
たエネルギー、すなわち EL=1/2(−YL の非線形関数入力XLに対する偏分、すなわち は次のように変形できる。
となる。ここで、非線形関数f(XL)がシグモイド関数
であるとするならば、 で表される。
このシグモイド関数の微分f′(XL)を変形すると、 f′(XL)=YL(1−YL) となる。これはフローチャートのS2に示されるVLであ
る。従って、δすなわちエネルギーの非線形関数入力XL
に対する偏分はVL×ZLとなり、すなわちS2に示されるUL
となる。このエネルギーの非線形関数入力に対する誤差
分δをさらに中間層へ逆伝播させる必要がある。
中間層の第K番目のニューロンをAkとする。Akの出力
はYkとする。出力層のニューロンANPLの非線形関数入力
XLはすべての中間層にあるニューロンの出力{Y1・・Y
kMAX}までのそれぞれに重みWLKを掛けた積和で表現さ
れる。従って、XLの重みWLKに対する偏分は となる。一方、エネルギーELに対する重みWLKの変分は
次式で与えられる。
となる。すなわちS3のTLKを表現しているもので、エネルギーの重みに対する偏分
である。従って、このTLKを重みの変化分ΔWとすれば
よいが、収束を早めるためにS4に示される第1式の第2
項を加えて、次のような漸化式にして重みを修正する。
ΔWLK=αTLK+β・ΔWLK WLK=WLK+ΔWLK ここで、α,βは定数である。今、出力層の特定なニ
ューロンANPLに注目しているが、このANPLは中間層のニ
ューロンにすべて接続されているものとするならば、各
ANPLに対してKを1からKmaxまで繰り返す必要がある。
これがフローチャートのR1に示す繰り返しで、中間層の
ニューロン数Kmaxだけ繰り返すことになる。この繰り返
しが終わると出力層の特定なニューロンANPLに対する逆
伝播が終了することになる。従ってこれをすべての出力
層のニューロン{ANP1,ANP2・・・,ANPLmax}に対して
行う必要があるため、フローチャートのR2に示すよう
に、Lを1からLmaxまで繰り返すことになる。すなわ
ち、最終出力層のニューロンの数Lmaxだけ繰り返すこと
になる。
次に今度は中間層から入力層に向かって学習すること
になる。アルゴリズムはほぼ同様であるが、誤差信号は
教師信号と出力電圧との差で表現できず、S5の式にな
る。すなわち、Zkが中間層のK番目のニューロン、AK
出力誤差信号に対応する項となる。これは次式によって
明らかである。
となる。従って、S5のZkのインデックスLに対して1か
らLmaxまで、すなち出力の数だけ繰り返す(R3)ことに
よって中間層の誤差信号分Zkが計算される。その後は中
間層と出力層との間のアルゴリズムと同じである。すな
わち、まず、シグモイド関数の微分値Vkを出し、それを
用いてUk、すなわちエネルギーの非線形関数入力に対す
る変化分をS6で求める。S7でそのUkを用いて入力層の出
力、Yjとの積Tkjを求める。これを重み変化分の主要部
として、S8に示すように収束を早めるための第2項を加
えて、ΔWkjを求め、前の値WkjにそのΔWkjを加えて新
たなWkjとする。これが重みの更新である。この重みの
更新を入力数Jmaxだけ繰り返す(R4)。すなわちj=1
からjmaxまで繰り返すことによって入力層と中間層の間
の重みが更新されることになる。なお、S5のZkは中間層
の出力層の誤差信号に対応するものであって、これは出
力層のエネルキーの関数入力値に対する偏分ULを後ろ向
きに逆伝播した形で表現され、WLKは中間層と出力層と
の重みが定まって初めて定まるものである。すなわち重
みの更新に対する計算は出力層のニューロンANPLから初
めて中間層のニューロンANPKに移り、中間層のニューロ
ンANPKではその重み変化分ΔWはその前段のΔWが決ま
らないと計算できないものとなっている。従って最後の
入力層まで遡って始めて計算が可能となるところからこ
の学習はバックプロパゲーションと呼ばれている。
バックプロパゲーションによる学習は学習用のデータ
を完全情報として入力し、結果を出力する前向き動作と
その結果のエラーを小さくするようにすべての結合の強
さを後ろ向きに変えることになる。その為、この前向き
動作も必要となる。この前向き動作において本発明のア
ナログニューラルネット部が有効に利用される。また、
出力値を逆伝播するアルゴリズムはMPUで実行される。
なお、シグモイド関数でない非線形である場合には、そ
の非線形の微分値が高まる。例えばtanh(x)であるな
らば学習アルゴリズムは第12D図のように、非線形の微
分結果は、出力層ではVL=1−|YL|となり(S2′)、中
間層ではVk=1−|Yk|(S6′)となる。
その他は、第12C図と同じ参照符号をつけて説明を省
略する。
第13図は入力側のディジー回路173,174の構成図であ
る。図中240,241,242はDタイプのフリップフロップで
ある。DCLK信号の立ち上がりでD端子に入力されるデー
タをセットし、出力Qを1の状態にする。第1のフリッ
プフロップ240は、DCLKの立ち下がりで、CSI信号をセッ
トする。そして、次の立ち上がりで第2番目のフリップ
フロップ241にその出力信号をセットする。
その出力は第3番目のフリップフロップ242のD端子
に入力されている。その入力をセットするクロック信号
は4ビットカウンタ243の出力である。カウンタ243はWC
LKの立ち下がりでトリガされる。クリアされるのはDCLK
の立ち下がりである。従って、DCLKの立ち下がりにカウ
ンタ243はオール0となり、WCLKの立ち下がりが8回入
力された後、上位ビットのQD信号がハイとなるので、こ
れがトリガとなってフリップフロップ242はCSOにハイ信
号を出力する。フリップフロップ241は出力が0になれ
ばCSOはクリアされる。このような動作により、CSIが立
ち下がって、WCLKの8パルス分に相当する所定な時間通
過したのちCSOが出力されるというディジー動作が行わ
れる。
第14図はダミーノードのニューロンを形成するマック
スバリューノード回路187の具体的回路図である。同図
において抵抗250、ツェナーダイオード251、252、抵抗2
53、電圧フォロア254、255は一定電圧を形成する回路で
ある。抵抗250、253とツェナーダイオード251、252を介
して+12ボルトから−12ボルトに電流が流れると電圧フ
ォロア254、255の入力には、それぞれ+7ボルトと−7
ボルトが形成される。これらの電圧は電圧フォロア254,
255の出力抵抗256を介して出力される。この2つの一定
電圧を時分割で引き出すようにアナログスイッチ257〜2
64を用いて制御する。Tモードの信号が0の時、その一
定電圧はアナログスイッチ257を介して次の電圧フォロ
ア265に与えられる。Tモードが1すなわち、テストモ
ードの時にはアナログスイッチ258によってその出力は
アナロググランドに抑えられるため、0ボルトが電圧フ
ォロア265に入力される。テストモードでは、バス上の
オフセットがMPUに通知されることになる。電圧フォロ
ア265は、出力部のスイッチ制御によってイネーブルさ
れる。出力イネーブルが1のとき、アナログスイッチ26
0がオンで電圧フォロアとして働き、その出力が与えら
れるが、この時、ダミーノード出力には出力されない。
逆に出力イネーブルが0の時にダミーノード出力に出力
される。アナログスイッチ260とその出力のスイッチ制
御は出力イネーブル1または2によって制御され、0イ
ネーブルである。すなわち出力イネーブル1または2が
0の時にダミーノード出力に一定電圧が出力される。な
お、ダミーノード出力は上側が入力層のダミーノード用
であり、2番目が中間層のダミーノード用の出力であ
る。このダミーノードの出力電圧は適当な値に固定され
るため、スレッシュホールド電圧として使用可能とな
る。なお、ツェナーダイオード251,252は逆バイアス状
態で一定の電圧を出すものであり、固定電圧は、+7ボ
ルトから−7ボルトまでの範囲で可変できるようにして
いる。出力イネーブル1,2はアナログバスにつながって
いる他のANPからの出力電圧とそのアナログバス上に衝
突を避けるためにマスタコントロールブロック181から
のダミーノード制御信号DCSでイネーブル状態が決めら
れている。
第15図は非線形関数発生回路であり、第16図、第17
図、第18図はANP内部のディジタルロジック側のハード
ウエアである。
第15図はシグモイド関数を実現するトランジスタ回路
網である。ここでいうシグモイド関数とは連続で単調非
減少な関数を指し、かつ線形関数を特に除外するもので
はない。同図において343,356,378,390,298,314のトラ
ンジスタとそれに対になったトランジスタで差動増幅器
を形成し、コレクタ側に接続されたトランジスタ群がそ
れぞれカレントミラー回路である。差動ANPの左側のト
ランジスタのコレクタを流れるコレクタ電流が出力電流
である。カレントミラーで電流の方向を変えて出力して
いる。電流は出力V0に接続されている抵抗336にはい
る。抵抗336によって電圧が電流に変えられる。ドライ
ブ能力がないため、出力にはハイインピーダンスのオペ
アンプバッファで受ける。トランジスタ337,339より入
力側の回路はバイアス回路である。シグモイド関数を実
現するために区分線形法を使っている。シグモイド関数
の各区分の傾きはエミッタに接続されたエミッタ抵抗34
4と出力抵抗336の比によって決められる。この時トラン
ジスタ343等のエミッタ抵抗も含まれる。各差動ANPのゲ
インは異なる。各区分線形の移り変わりに対するブレイ
クポイントは飽和特性を利用している。その飽和特性は
すべて異なる。V0の出力点において、各オペアンプから
出力される電流の総和の値がシグモイド関数になるよう
に各ANPの飽和特性を変えている。トランジスタ345と抵
抗R1は電流源である。トランジスタ346と抵抗R2、トラ
ンジスタ353と抵抗R3等はすべて同じ電流を供給する電
流源である。すなち、電流値は同じになるように抵抗が
決められている。すべて同一電流源である。トランジス
タ345,346のコレクタは接続されているので、和の電流
が抵抗344、347の交点に流れる。トランジスタ343,348
のコレクタ電流は、バランスした時点では同じになる。
トランジスタ351はカレントミラーの特性をよくするた
めのものである。トランジスタ350はダイオード接続で
ある。電流の向きを変えるということは出力に対して、
電流を引っ張りこむ場合と電流を外に出す場合がある。
同図に示すように、カレントミラーのトランジスタ351
のコレクタからは出力に向かって電流が流れる。下側の
トランジスタ配列は沢山あるが、エミッタとコレクタが
同じ点に接続されているトランジスタは同じトランジス
タである。例えばトランジスタ358と360は同じトランジ
スタでこれはトランジスタ345と同じものである。また3
59と361も同じトランジスタでこれは346に対応する。36
8,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の出力が立ち上がり用ク
ロックWCLKである。F.F410において、SYNC信号をDCLKの
立ち下がりがラッチしている。F.F410と415でSYNC信号
をDCLKの1サイクル分遅らせ、SNC2信号を作って、SYNC
とその1クロック遅れた信号とで1τのパルスを作って
いる。SYNCが立ち上がった後の1τ(DCLKの1周期)の
パルスでANP内の積分用コンデンサの放電を行う。すな
わちCRSTという信号がそのコンデンサのリセット信号で
ある。もう1つのDSH2はSYNCの立ち下がりからDCLKの1
τ分の長さをとったパルスであって、これがANP内のサ
ンプル/ホールドのコンデンサに対するサンプル/ホー
ルド信号となる。411のF.FではクロックがWCLKで、デー
タがDCLKであるから、WCLKでDCLK信号をラッチしてい
る。その後ナンドゲート414でSYNC信号がハイになって
いて、かつDCLKがハイという状態で最初にきたWCLKをト
リガしてF.F443のクロックにしている。ナンドゲート41
4とインバータ440でアンドとなる。F.F443において、SY
NC信号がハイになっている状態で最初にきたWCLKという
信号がディジタル重みデータすなわちWDの符号ビットを
取り込んでいる。この信号はシリアルに入ってくる重み
ディジタルデータのMSB、すなわち符号ビットである。
すなわちF.F411とアンドゲート(414,440)のタイミン
グで符号ビットをF.F443がラッチする。4ビットの2進
カウンタ416はWCLKのパルス数をかぞえる。16ビットの
ディジタル重みデータが入ってくるので16回数える。数
え終わったところで、出力がハイとなり、インバータ42
3に入る。この信号は16個カウントし終わったことを指
示する信号である。この信号はシリアルにANPに入って
きた重みデータをシフトレジスタ27(第2図)に入れる
制御等に使われる。またカウンタ416の最下位ビットは
インバータ422に入力される。このインバータ422の出力
はCSO信号を生成する。CSOはディジーチェーンの制御信
号であって、アナログバスB1において、前段の2つのAN
Pから出される信号の競合を防ぐため、前の時刻のCSが
落ちた後、次のCSを出すようにディジー動作を実行する
ためのディレイ回路を形成する必要がある。このディレ
イの遅延時間はWCLKをカウントし、そのカウンタ値で形
成している。カウンタ416のカウントが終わり、フリッ
プフロップ433にその終わったという指示の信号がイン
バータ423を介してラッチされるが、これはWCLKでたた
いている。すなわち17個目のWCLKでたたいている。イン
バータ437と438を通して、ラッチされた信号がカウンタ
416に戻り、カウンタ416のインクリメント動作をこれ以
上させないようにディスイネーブルの制御を行ってい
る。インバータ438の出力がロウになると、カウンタ416
はカウントが停止する。F.F433のの出力はフリップフ
ロップ442に入っている。これがシフトレジスタ27の出
力のゲート信号になる。すなわち、16個のディジタル重
みデータが入ってくるのをシフトレジスタ27で順々にシ
フトし、符号ビットを除いた数値ビットの15ビットのデ
ータをパラレルに並べたところでこれらを出力する。シ
フトしている間は出力は出ないようにし、全部入ったと
ころで出力するためのゲート信号がWRである。シフトレ
ジスタ27の内容はANPの掛け算器に与えられる。F.F433
から出力される信号は、分岐されてシフトレジスタのイ
ネーブル信号に使われる。F.F442はF.F433の出力を立ち
上がりでラッチするものである。WCLKの16個の立ち下が
りラッチでシフト完了し、その後ゲートを開くのに立ち
上がりラッチでもよいが、立ち下がりで行っている。F.
F412はシグモイド関数の選択用のパルス信号を作るもの
である。F.F412を使ってリセット信号がはいった時点
で、WD、すなち重みディジタル入力信号が0か1によっ
てシグモイドを使うか使わないかを選択する。この方法
は本システムで使用されない場合もある。実際はシグモ
イド選択信号は、外部から直接形成する。下の回路はデ
ィジーチェーン回路である。カウンタ416の出力をF.F43
4でディレイを作り、このディレイで最後のF.F445をト
リガを掛けている。このことにより、DCLKの1τ分ズラ
した上に、そのままズラすのではなく、頭をおとすよう
にしている。すなわちCSI信号それ自身はDCLKの1周期
分はないこともあり、そのCSIをCSOにするためにはCSI
に対して、最初の、例えば、2マイクロ文を削って波形
の前を遅らせ、後ろはそのまま信号を作っている。ゲー
ト425と427はCSIのバッファゲートである。正のバッフ
ァとインバータバッファである。
第17図はサンプル/ホールドS/H信号と、OC信号を形
成する位相制御回路29(第5図)である。S/H信号はイ
ンバータ515に入るものと、ゲート524に入るものと別れ
ている。OC信号も同様である。S/H信号がゲート524とイ
ンバータ515に別れ、インバータ515経由でゲート525に
入るとその後はインバータが8段ある。S/H信号に対し
てそのままの位相と逆位相の2通りの信号を作ってい
る。これはインバータを数段分カスケードに結合し、た
すきがけすることにより2つの出力が同時に1になるこ
とを避けている。すなわち、サンプル/ホールドS/H信
号の2つ、S/H0とS/H1を形成し、それが両方とも1にな
らないようにするようにしている。すなわち、インバー
タチェーンはS/H信号の両方が同時オンを避けるための
ディレイ回路である。ディレイの遅延時間はインバータ
チェーンの長さによって決まり、片方がオンになってか
ら数段分遅らせ、もう片方をオンにしている。S/HD0とS
/HD1に関しても同様である。OC信号に関する回路も基本
的には同じであるが、それはCRST信号がゲート528と529
に入っているので、CRSTが1の場合には強制的に両方出
力を1にする。OC0とOC1の両方共、同時に1になること
を避けているが、OCの場合はCRSTが1の場合だけ同時に
1になるようにしている。このことにより、アナログス
イッチの制御を介して積分器のコンデンサの電荷を放電
するというリセット機能を実現している。
第18図は15ビットのシフトレジスタ27(第2図)であ
る。ゲート602と603及び6014、そしてF.F627で1ビット
に相当し、これを使って説明する。ゲート603には、前
の時刻の出力が入力されているもので、これはF.F628の
出力である。前のビットからの入力ということで、シフ
ト用のデータ信号となる。ゲート603に入っている他の
信号はSHFT、すなわちシフト信号のインバータである。
これはシフト制御信号で、これが有効のとき,シフトの
指示を行うことになる。またゲート602にはF.F627その
ものの出力が入っている。これは自分自身の出力をフィ
ードバックしていることになる。ゲート602の他の入力
にはSHFT信号のインバートが同じように入っているが、
この位相はゲート603に入っているものと異なる。これ
によりシフトが無効の時に、今の出力をそのまま保持す
ることになる。クロック信号はシフトと無関係に常時入
ってくるので、クロックが入ってもシフトが有効でなけ
ればシフトは行わない。シフト信号SHFTが有効の時だけ
前のビットシフトし、ゲート603を通って入力すること
でシフト動作となる。WR信号はゲート632、633等のアン
ドに入っている。これは各ビットの出力を出すか出さな
いかの選択信号となり、乗算器の方にシフトレジスタに
格納されたデータをわたすかどうかの制御信号となる。
また、ファンアウトをとるために、例えばインバータ62
0によって15個のうち5個のF.Fのリセット信号そして、
ゲート626で10個のF.Fのリセット信号を受け持つように
している。ファンアウトのシフトレジスタ608はシフト
イネーブルSHFTと出力のイネーブルWRの機能がついてい
る。
次に、本発明に係るニューロコンピュータを帰還型ネ
ットワークで構成した場合について説明する。
第19A図は帰還型ネットワークの概念図である。
帰還型ネットワークの場合にも、基本的には入力が存
在するが、自分が出力した信号も帰ってくるという帰還
路をもった構造となる。この帰還方式版、階層型ニュー
ラルネットワークにおける1層を時分割多重使用するタ
イプとして利用される場合と、またいわゆるホップフィ
ールド型のニューラルネットワークとして利用される場
合がある。
前者の場合、ANPの入出力信号は、時分割であるの
で、各ANPの出力点ではある一定のシーケンスサイクル
毎にその同じANPの出力データが逐次に出力されて、1
つのシーケンスサイクルごとに階層型ニューラルネット
ワークの入力層、中間層、出力層として順次動作する。
後者の場合、ANPの出力が特定の値になるので、つまり
安定するまで、出力電圧が帰還される。帰還している結
果を出した時に、その結果が前のデータ、つまり自分が
前に出したデータと一致するまで、状態が繰り返され、
安定解に達すれば収束となる。
本発明の実施例によれば、第19B図に示されるよう
に、帰還路を共通アナログバスCBで実現することになり
コの字型の帰還部が存在する。そして1個自分が計算し
て出したものが出力され帰還路を通じて各ANPからの出
力がフィードバックされることになる。この帰還動作を
繰り返していく。
第20図は本発明のニューロコンピュータを階層型ネッ
トワークとして動作する帰還型ネットワークによって実
現した実施例である。アナログ入力ポート1,2からの字
分割アナログ入力信号に対してANP1,2,3において積和演
算を行い、ANP1,2,3を中間層として動作させANP1,2,3か
らアナログバスB2に時分割出力し、この出力信号を帰還
路であるアナログコモンバスCBを介してアナログバスB1
に帰還し再びこの帰還信号に対してANP1,2,3で積和演算
を行うことにより、ANP1,2,3を出力層として動作させる
ことにより、一層のANP1,2,3により階層型ネットワーク
を実現したものである。マックスバリューノード回路18
7はマスタコントロールブロックのDCS出力を受けてアナ
ログバスB2にダミー信号を生ずる。そしてマスタコント
ロールブロックからDCLK及びWCLKがそれぞれディジー回
路171に入力され、CSI信号の立ち上がり及び立ち下がり
のタイミングを規定する。
第21A図は第20図に示した帰還型階層ネットワークの
タイミングチャートである。
DCLKが立ち上がっている間だけ、WCLKは発生し、DCLK
が立ち上がってからアナログ信号が定常化し、かつ重み
データがシリアルに入ってきた後で、パラレルに揃う前
のタイミングでマスタコントロールブロック181からのC
SO1がディジー回路171に入力されに示すように立ち上
がる。この時アナログ入力ポート1よりサンプル/ホー
ルドS/Hに保持されているアナログ信号はアナログスイ
ッチ175を介してアナログバスB1に現れ、ANP1,2,3で積
和演算が行われる。次のDCLKの入力で、ディジー回路17
2へのCSIがに示すように立ち上がると、アナログ入力
ポートからの入力信号を保持しているサプル/ホールド
回路S/Hの信号がアナログスイッチを介してアナログバ
スB1上に現れ、ANP1,2,3で2回目の積和演算が行われ
る。さらに次のタイミングでDCLKが入力した後、に示
すようにマスタコントロールブロックよりダミー信号DC
Sが発生し、ANP1,2,3において、固定電圧に対する3回
目の和が実行される。次のSYNC信号が立ち上がっている
間に、ANP1,2,3の出力層の積和演算が行われる。重みメ
モリへのアドレス1の信号のアドレスカウント禁止信号
が立ち上がっている間だけ、アドレスカウンタをカウン
トするWCLKがイネーブルされ、それ以外の時には、その
カウントは抑止される。次に、CSO2がマスタコントロー
ルブロックよりANP1に与えられると、ANP1は、前回の積
和の結果をアナログバスB2に出力し、アナログ共通バス
CBを通してアナログバスB1に帰還し、で示すように再
びANP1,2,3において積和演算を行う。CSO2がANP1の内部
のディジーチェーン回路において、所定遅延を加えられ
た後、ANP2にに示すように入力信号CSIを加え、この
時、ANPの出力信号がアナログバスB2に共通バスCB及び
アナログバスA1、B1を介して再びANP1に加えられ、ここ
で積和演算が行われる。同様に、ANP2からのCSOは所定
時間遅らせた後、ANP3のCSI信号となり、このCSI信号が
に示すように立ち上がった時にANP3の出力信号がアナ
ログバスB2,共通バスCB、アナログバスB1を介して再びA
NP1,2,3に帰還されてここで積和演算が行われる。同様
にに示すようにダミーノードからの信号DCSの立ち上
がりの際に再び、固定電圧に対してANP1,2,3により和の
演算が行われる。そして、次のCSO2の信号の立上りでAN
P1,2からS/Hを介して出力が,に示すように生じ
る。なお、アナログ入力ポート2からは出力されない。
ここで,,はANP1,2,3が中間層として動作し、
,,はANP1,2,3が出力層として動作する。従って
この実施例によれば、ANP1,2,3の1層のみの構成で階層
型ネットワークを構成できる。
第22図は本発明にかかるアナログニューロコンピュー
タをホップフィールド型の帰還型ネットワークで構成し
た実施例であり、第23図はそのタイミングチャートであ
る。マスタコントロールブロック181の、メモリ・アド
レス端子及びモード端子の出力が重みメモリブロック18
5に加えられ、この重みメモリブロック185のデータ出力
であるB10はANP1、B11はANP2、B12はANP3に接続され
る。マスタコントロールブロック181のCSO1の端子から
の出力信号は、ディジー回路171、スイッチ175に加えら
れ、この信号の立ち上がりで、アナログ入力ポート1か
らのサンプル/ホールド回路173の出力をアナログバスB
1に乗せる。そしてディジー回路171で所定時間遅延され
た後、CSOの出力が生じ、これがディジー回路172にCSI
として加えられてアナログ入力ポート2に接続されたサ
ンプル/ホールド回路174の信号をスイッチ176を介して
アナログバスB1に乗せる。同様にディジー回路172′の
出力信号CSOがアナログ入力ポート3に接続れたサンプ
ル/ホールド回路174′の出力スイッチ176′を開いてそ
の信号をアナログバスB1に乗せる。ANP1では第23図に示
すように、DCLK信号の1周期で1つの積和の演算を行
い、DCLK信号がハイの時に重みクロックを駆動し、その
重みクロックに同期して入るディジタル重みデータと、
アナログ入力信号との掛け算を行い、DCLKの後半のロウ
信号の時に、サンプル/ホールド信号SHがハイとなり、
積分器のキャパシタにおいて、和の動作を行う。すなわ
ちCSO1すなわちディジー回路1のCSIがハイになってい
る期間で、バスB1上のアナログ信号に対してANP1,2,3
は積和演算を行う。また、マスタコントロールブロック
181からのOC信号がハイとなると、ANP1,2,3はオフセッ
トキャンセルを行い、サンプル/ホールドして1つの積
和演算周期を終える。次に第2のディジー回路172の入
力信号CSIがハイになるので、次のアナログ入力ポー
トからの入力信号に対しANP1,2,3は積和演算を行う。そ
して、その積和演算周期が終了した後に、ディジー回路
172′にCSI信号が入り、サンプル/ホールド回路174′
から出力信号が生じて、で示すように第3番目の積和
演算サイクルに入る。
次にマスタコントロールブロック181からCSO2信号
が生じて、ANP1から前回の積和サイクルの時に形成され
ていた信号がアナログバスCBを介して帰還され、その帰
還された信号に対して、ANP1,ANP2,AWP3で積和演算を同
時に行う。次に所定時間遅延した後、ANP1のCSO出力信
号がでANP2に加えられ、ここでディジーチェーン的に
前回の積和サイクルの時に蓄えられた信号をANP2が出力
する。この信号はアナログバスCBを介して帰還されてAN
P1,ANP2,APN3で積和演算をで駆動する。そして同様に
所定時間遅延した後、ANP2のCSOがでANP3に加わえら
れ、ここでANP3からの出力をアナログバスCBを介して帰
還して、ANP1,ANP2,ANP3においてで積和演算を行う。
帰還型ネットワークにおいては、第23A図及び第23B図に
示すように、3つのANPにおいて、6つの積和演算サイ
クルを経て出力が、それぞれサンプル/ホールド回路17
7、178、178′を介してアナログ出力ポート0、1、2
へと出力される。また、サンプル/ホールド回路177,17
8,178′の出力信号がアナログマルチプレクサ179で選択
出力されたものをA/Dコンバータ180を介してMPU182、メ
モリ183、通信インターフェイス184を含むディジタル制
御回路に与えられる。MPU182で現時刻のニューロン出力
状態と前時刻のニューロン出力状態が同じになったかど
うかをチェックする。同じになれば収束したものと判定
する。このように、1本の共通アナログバスCBを介して
実行される。帰還動作を繰り返していくことによって安
定解に到達すればこれを最終的な出力とする。
第24図は、帰還型ネットワークと階層型ネットワーク
を組み合わせたものの最適実施例である。入力層として
ディジー回路が設けられ、中間層にはANP1,2,3が設けら
れる。出力層にはANP4,5が設けられる。そして中間層の
ANP1,2,3の出力はアナログバスB2と共通アナログバスCD
を介してアナログバスB2と共通アナログバスCDを介して
アナログバスB1に帰還される。また、アナログバスB1、
B2にはダミーノードとして働くマックスバリューノード
回路187が接続されている。そして、出力層を構成するA
NP4,5の出力はサンプル/ホールド回路177,178をそれぞ
れ介してアナログ出力ポート0及び1に出力される。B3
は出力層アナログバスである。
第25図を用いて第24図に示したニューラルネットワー
クの動作を説明する。
まず、DCLK及びWCLKがマスタコントロールブロックか
らディジー回路171及びANP1,2,3,4,5にそれぞれ入力さ
れる。マスタコントロールブロック181からに示すよ
うにCSO1がCSIとして第1のディジー回路171に入力され
るとアナログ入力ポート0からの信号がサンプル/ホー
ルド回路173及びスイッチ175を介してアナログバスB1に
生じ、ANP1,2,3において積和演算がSH1及びCS1の制御で
行われる。
次に、CSO1が立下がった後、所定時間経過後に第2の
ディジー回路172に入力されるCSI信号がに示すように
立ち上がると、アナログ入力ポート1からの信号かサン
プル/ホールド回路174及びスイッチ176を介してアナロ
グバスB2により中間層のANP1,2,3において、SH1に示す
ように積和演算が行われる。同様に、CSOが信号が立ち
下がった後、所定時間経過後にに示すように第3のデ
ィジー回路へのCSI信号が立ち上がると、中間層ANP1,2,
3で積和演算が行われる。そして、中間層ANP1,2,3の出
力はCSO2がで示すように立ち上がってANP1に加えられ
ると、アナログバスB2に出力されその出力は共通アナロ
グバスCBを介してアナログバスB1に帰還されるので、中
間層のANP1,ANP2,ANP3においては再び積和演算が行われ
SH1とOC1の制御で積和演算が行われると共に、ANP1の出
力はアナログバスB2上に生じているので、ANP4,ANP5に
おいても、SH2とOC2の制御で積和演算が行われる。すな
わち、この実施例においては、中間層ANP1、ANP2、ANP3
と出力層ANP4,ANP5において同時に積和演算が行われ
る。
次に、CSO2が立ち下がった後所定時間経過後に中間層
のANP2にに示すようにCSI信号を入力されるとANP2の
出力信号はANP2、共通バスCBを介してアナログバスB1に
帰還されるので、ANP1,2,3においては再び積和演算が行
われると共にANP4,5においても同時タイミングで積和演
算が行われる。
さらに、で示すようにCSI信号がANP3に入力される
とANP3は出力信号をアドレスバスB1に生じるのでANP1,
2,3及び出力層のANP4,5で同時に積和演算が実行され
る。
その次に、マックスバリューノード回路187へダミー
信号DSCIがで与えられると、アナログバスBにに一
定電圧が出力され、この電圧は共通バスCB及びアナログ
バスB1を介して帰還され、これに対して、ANP1,2,3で積
和演算が行われる。それと共に出力層ANP4,5でも積和演
算が行われる。
SYNC1は、中間層で積和演算される期間と中間層及び
出力層で積和演算される期間にわたってハイであり、SY
NC2は中間層と出力層で積和演算がされる間がハイであ
る。そして、CSO3が出力されるとANP4はのところで出
力を生じ、そのCSO3信号が立ち下がった後、所定時間後
にANP5もまた出力をのところで生ずる。
なお、アドレス1及びイネーブル信号がロウである間
はWCLKが抑止される。
第12C図及び第12D図に従って、学習アルゴリズムを実
行する際にMPUとANPのインターフェイスを構成する回路
について、第26図及び第27図を参照して説明する。第26
図は、第8図に示した階層型ネットワークにおいて、MP
Uからの入力データをANPのネットワークに取り組むか、
或いは通常のアナログ入力信号をANPのネットワークに
取り込むかを制御する入力制御ブロック回路721をアナ
ログバスB1の前段すなわち入力段に設けたものである。
さらに、アナログバスB1,B2はそれぞれサンプル/ホー
ルド回路722,723を介してアナログマルチプレクサ179に
接続され、入力段及び中間層の重みデータもMPUにおい
て、学習アルゴリズムに従って決定される。その他は階
層型ネットワークの前記実施例と同一箇所は同一番号を
付して省略する。
入力制御ブロック721は、マスタコントロールブロッ
ク181からCSO1がCSIとして入力されるとともに、DCLK及
びWCLKが入力され、また、MPUアナログバス及びデータ
バスに接続される。さらに、アナログ入力ポート1及び
2からの入力信号も入力制御ブロック701に入力され
る。入力制御ブロック721は入力段として動作し、その
出力はアナログバスB1に接続される。
第27図は本発明の入力制御ブロック回路721の構成図
である。同図において701はアドレスデコーダ、702はフ
ァーストインファーストアウトのFIFOメモリ、703はD/A
コンバータ、704はDタイプのフリップフロップ、705は
ディジー回路である。
学習アルゴリズムが実行される場合には、階層型のニ
ューラルネットにはMPUからのデータが完全情報として
入力される。この場合、MPUからのアドレスがアドレス
バス706に入力され、アドレスデコーダ701で特定なアド
レスを検出し、ラッチ信号としてDタイプのフリップフ
ロップ704にMPUからのデータの1ビットをセットする。
そのセット情報によってMPUからのデータをアナログバ
スB1を介してANPに入力させるか、アナログ入力ポート
からのアナログ入力をディジー回路707,708を介してア
ナログ入力バスに入力させて通常モードで使用するかを
決定する。マスタコントロールブロック181からのCSIが
入力された時点で、もしフリップフロップ704の内容が
1であるならば、アンドゲート709の出力が1で、下の
アンドゲート710の出力は0となる。従ってディジー回
路706にはCSI信号が入力されず、CSIの立ち上がりから
所定時間だけ遅延させたCSO信号も0のままである。そ
のため、MPUのデータが格納されたFIFOメモリ2の出力
は、CSIが0であるからアナログスイッチ713は閉じたま
まとなり、D/Aコンバータ703を介してアナログバスに出
力されない。
このとき、アンドゲート709の出力は1であるから、
これは通常モードであってディジー回路707のCSIは1と
なり、アナログ入力ポート1からのアナログ入力サンプ
ル/ホールド回路711を介してアナログバスに乗る。そ
の入力完了後、CSIが立ち下がり、所定時間経ったの
ち、CSOが入力されてディジー動作となって下のディジ
ー回路708に入力される。この時アナログ入力ポート2
からの入力がサンプル/ホールド回路712を介してアナ
ログバスに入力される。そして、時分割動作によってア
ナログ入力が中間層の各ニューロチップにそれぞれ入力
される。
一方、フリップフロップ704の内容が0である場合
に、マスタコントロールブロック181からのCSIはアンド
ゲート710を介してディジー回路707に入力され同時に、
アナログスイッチ713にも入力される。この場合、D/Aコ
ンバータ703にも入力される。この場合、D/Aコンバータ
703の出力がアナログバスB1に出力される。そしてこれ
が完了すると、CSOが立ち上がり、この時FIFOメモリの
最後のD0データがD/Aコンバータ703を介してD/A変換さ
れてアナログバスに乗ることになる。そして、FIFOの動
作も同時に行われ、これと並行してアンドゲート714、7
10を経てディジー回路705のCSIへ自らが出力したCSOが
帰還し、D/Aコンバータ703を介して、FIFOメモリからア
ナログバスB1に順次完全情報が出力される。FIFOメモリ
702は例えば、完全情報としてA〜Zを学習する場合、
Zまで学終了した時点でエンプティとなる。FIFOメモリ
702がエンプティになると、アンド回路714の出力が0と
なるので、アンド回路710の出力も0となり、アナログ
スイッチ713は閉じられる。このFIFOメモリ702への入力
はMPUからの特定なアドレスによってイネーブルとな
り、その時のMPUデータはFIFOメモリの1番左側のアド
レスに順番に格納されることになる。学習時のMPUから
のデータは学習するべき入力パターンであってこれは完
全情報となる。このようなD0からDnまでのn個の完全情
報が多重記憶された形でニューラルネットの重みデータ
へ写像されて、結果としてニューラルネットが自己組織
される。各入力パターンDiに対する重み情報が前述した
学習アルゴリズムによって定まり、その定まった重みデ
ータはMPUを介して重みメモリブロック1(185)とブロ
ック2(186)に格納される。
〔発明の効果〕
本発明によれば、n個のニューロチップからなる前段
層とm個の複数のニューロチップからなる後段の層を考
えるとき、従来は配線数がnm個になるのに、本発明の実
施例によれば、アナログバス1本にすることができるの
で配線数を大幅に減少させることができ、また、n個の
ニューロチップからなる層に入力アナログ信号を入力す
る際に、放送方式と同様にアナログバスを介して同時に
入力できるので、1層内のn個のニューロチップが並列
演算ができる。さらに、各層についてもパイプライン処
理が行われるので、演算速度を高速にできる。
また、ニューロチップをアナログ回路で構成している
ので、回路の規模が小さくてすみ、このため電力も小さ
くてすむので、多数のニューロチップによりニューロコ
ンピュータを構成することができる。そして、ニューロ
チップの数を増やすことはマスタコントロールブロック
内の制御パターンをかえることにより容易に行える。
さらに、学習アルゴリズムの実行時とアナログ入力信
号の入力時とを選択することにより、ANPが学習機能を
効率よく実行することができる。
【図面の簡単な説明】
第1A図は、本発明のニューロコンピュータの原理ブロッ
ク図、 第1B図は、本発明のアナログニューロプロセッサ(AN
P)のチップから構成されたパッケージの概略図、 第1C図は、本発明のANPの内部構成図、 第2図は、本発明のアナログニューロプロセッサの原理
構成図、 第3図は、本発明の基本ユニットの一実施例のブロック
図、 第4図は、本発明の基本ユニットの実施例の具体的回路
図、 第5図は、本発明の基本ユニットの他の実施例の具体的
回路図、 第6図は、本発明の基本ユニットに用いられる積分器の
動作タイミングを説明する図、 第7A図は、階層型ニューラルネットワークの概念図、 第7B図は、本発明による階層型ニューラルネットワーク
の概念図、 第8図は、本発明のニューロコンピュータを階層型ネッ
トワークで実現した一実施例の具体的回路、 第9A図、第9B図は、第8図に示した信号処理のタイミン
グ図、 第10図は、ディジタル重みデータの読み込みタイミング
を示す図、 第11A図は、マスタコントロールブロックの具体的回路
図、 第11B図は、制御パターンメモリ及びマイクロコードメ
モリの構造を示す図、 第12A図は、重みデータメモリへのデータ充填方法を示
す図、 第12B図は、重みデータメモリの具体的構成図、 第12C図及び第20D図は学習アルゴリズムのフローチャー
ト、 第13図は、ディジー回路の具体的回路図、 第14図は、マックスバリューノード回路の具体的回路
図、 第15図は、シグモイド関数発生回路の具体的回路図、 第16図は、シーケンスジェネレータの具体的回路図、 第17図は、位相制御回路の具体的回路図、 第18図は、シフトレジスタの具体的回路図、 第19A図は、帰還型ネットワークを説明する概念図、 第19B図は、本発明のニューロコンピュータにより帰還
型ネットワークを構成した場合の説明図、 第20図は、本発明によるニューロコンピュータにより、
第1の帰還型ネットワークを構成した実施例の具体的回
路図、 第21A図及び第21B図は、第20図に示した実施例の信号処
理を示すタイミング図、 第22図は、本発明のニューロコンピュータにより、第2
の帰還型ネットワークを構成した実施例の具体的ブロッ
ク図、 第23A図及び第23B図は、第22図に示した実施例の信号処
理を示すタイミング図、 第24図は、本発明のニューロコンピュータにより階層型
と帰還型とを組み合わせた他の実施例のブロック図、 第25A図及び第25B図は、第24図に示した実施例の信号処
理を示すタイミング図、 第26図は、本発明の一実施例に係り学習アルゴリズムを
実行する階層型ネットワークのブロック図、 第27図は、上記実施例の入力制御回路の具体的回路図、 第28図は、ニューロンモデルの基本ユニットの原理構成
図、 第29図は、階層型ニューラルネットワークの構成概念図
である。 12……制御パターンメモリ、 13……シーケンサ、 14……重みメモリ、 15……ディジタル制御手段、 16……D/Aコンバータ、 17……A/Dコンバータ、 18……ANPで構成したニューラルネットワーク、 19……入力制御手段.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 浅川 和雄 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 杉浦 義英 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 都築 裕之 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 遠藤 秀一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 川崎 貴 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 松田 俊春 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 岩本 弘 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 土屋 主税 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 石川 勝哉 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平1−237754(JP,A)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】アナログ信号を第1のアナログバスから時
    分割的に入力し、積和演算を行ってアナログ信号を第2
    のアナログバスに出力するアナログニューロプロセッサ
    の集合からなるニューラルネットワーク(18)と、 該ニューラルネットワーク(18)の制御信号のパターン
    を格納する制御パターンメモリ(12)と、 該制御パターンメモリと重みメモリのアドレスを発生す
    るシーケンサ(13)と、 各アナログニューロプロセッサの重みデータを格納する
    重みメモリ(14)と、 前記ニューラルネットワーク(18)と制御パターンメモ
    リ(12)とシーケンサ(13)と重みメモリ(14)とを制
    御するとともに学習アルゴリズムを実行するディジタル
    制御手段(15)と、 前記ニューラルネットワーク(18)の入力段に設けら
    れ、該ディジタル制御手段(15)から入力される学習ア
    ルゴリズムを実行するための入力信号かアナログポート
    から入力されるアナログ入力信号かの一方を選択する入
    力制御手段(19)とからなることを特徴とするニューロ
    コンピュータにおける学習処理方式。
  2. 【請求項2】前記入力制御手段は、学習時にネットワー
    クの重み情報として多重記憶すべき完全情報の各情報を
    与えられる順序に従って格納していくFIFO手段と、 該FIFO手段に接続されるD/A変換手段と、 MPUからの特定のアドレスをデコードするアドレスデコ
    ード手段と、 前記特定なアドレスが指定される場合にMPUからのデー
    タを少なくとも1ビットをラッチするラッチ手段と、 前記ラッチ情報に従って前記アナログニューラルネット
    に入力すべき入力信号をアナログ入力ポートからの信号
    か前記FIFO手段の出力信号かを選択する選択手段と、 前記選択手段でFIFOの出力が選択されるとき前記制御パ
    ターンメモリからのCSI信号に従って前記FIFOから読み
    出したデータをD/A変換を介して、前記ANPに送信してCS
    O信号を出力するディジー回路手段と、 前記FIFOがエンプティになったことを示す信号の発生し
    たとき前記FIFOから出力を停止する手段とからなること
    を特徴とする請求項1記載のニューロコンピュータにお
    ける学習処理方式。
  3. 【請求項3】学習アルゴリズムを処理するディジタル制
    御手段が各FIFOから出力される各完全情報に応答して生
    成される前記ニューラルネットワークの出力と教師信号
    または前の出力値との誤差から重み更新量を計算し、前
    記重み更新量を重みメモリを介して前記ニューラルネッ
    トワークに与える動作を前記誤差が小さくなるまで繰り
    返して決定した重み情報を重みメモリに格納することを
    特徴とする請求項1記載のニューロコンピュータにおけ
    る学習処理方式。
  4. 【請求項4】前記ディジー回路のCSO信号を前記FIFOの
    エンプティ信号によって制御された信号としてCSIに帰
    還することで前記FIFOがエンプティになるまで前記D/A
    コンバータを介して前記ANPに送信することを特徴とす
    る請求項2記載のニューロコンピュータにおける学習処
    理方式。
JP1048880A 1989-03-01 1989-03-01 ニューロコンピュータにおける学習処理方式 Expired - Lifetime JP2679738B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1048880A JP2679738B2 (ja) 1989-03-01 1989-03-01 ニューロコンピュータにおける学習処理方式
US07/486,644 US5142666A (en) 1989-03-01 1990-02-28 Learning system in a neuron computer
DE69030778T DE69030778T2 (de) 1989-03-01 1990-03-01 Ein Lernsystem in einem neuronalen Rechner
EP90400578A EP0385873B1 (en) 1989-03-01 1990-03-01 A learning system in a neuron computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1048880A JP2679738B2 (ja) 1989-03-01 1989-03-01 ニューロコンピュータにおける学習処理方式

Publications (2)

Publication Number Publication Date
JPH02228784A JPH02228784A (ja) 1990-09-11
JP2679738B2 true JP2679738B2 (ja) 1997-11-19

Family

ID=12815600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1048880A Expired - Lifetime JP2679738B2 (ja) 1989-03-01 1989-03-01 ニューロコンピュータにおける学習処理方式

Country Status (4)

Country Link
US (1) US5142666A (ja)
EP (1) EP0385873B1 (ja)
JP (1) JP2679738B2 (ja)
DE (1) DE69030778T2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214743A (en) * 1989-10-25 1993-05-25 Hitachi, Ltd. Information processing apparatus
GB2246895B (en) * 1990-07-12 1994-03-30 Mitsubishi Electric Corp Neural network system
JP2785155B2 (ja) * 1990-09-10 1998-08-13 富士通株式会社 ニューロコンピュータの非同期制御方式
JP2760145B2 (ja) * 1990-09-26 1998-05-28 三菱電機株式会社 知識情報処理装置
JP2760170B2 (ja) * 1990-11-29 1998-05-28 松下電器産業株式会社 学習機械
US5214747A (en) * 1990-12-24 1993-05-25 Eastman Kodak Company Segmented neural network with daisy chain control
JP2868640B2 (ja) * 1991-02-26 1999-03-10 株式会社東芝 ニューラル・ネットワークを用いた信号処理装置
JPH0683792A (ja) * 1991-06-12 1994-03-25 Hitachi Ltd ニューラルネットワークの学習装置およびニューラルネットワークの学習パターン呈示方法
JP2741793B2 (ja) * 1991-10-17 1998-04-22 川崎製鉄株式会社 ニューラルネットワークプロセッサ
JPH05251789A (ja) * 1992-03-06 1993-09-28 Ezel Inc ニューロデバイス
US5479574A (en) * 1993-04-01 1995-12-26 Nestor, Inc. Method and apparatus for adaptive classification
US5542054A (en) * 1993-12-22 1996-07-30 Batten, Jr.; George W. Artificial neurons using delta-sigma modulation
US5583964A (en) * 1994-05-02 1996-12-10 Motorola, Inc. Computer utilizing neural network and method of using same
EP0694852B1 (en) * 1994-07-28 2002-06-26 International Business Machines Corporation Innovative neuron circuit architectures
US5956703A (en) * 1995-07-28 1999-09-21 Delco Electronics Corporation Configurable neural network integrated circuit
RU2131145C1 (ru) * 1998-06-16 1999-05-27 Закрытое акционерное общество Научно-технический центр "Модуль" Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор
US6377941B1 (en) * 1998-11-26 2002-04-23 International Business Machines Corporation Implementing automatic learning according to the K nearest neighbor mode in artificial neural networks
JP2001188767A (ja) * 1999-12-28 2001-07-10 Fuji Xerox Co Ltd ニューラルネットワーク演算装置及びニューラルネットワークの演算方法
US20010044818A1 (en) * 2000-02-21 2001-11-22 Yufeng Liang System and method for identifying and blocking pornogarphic and other web content on the internet
AU2002355550A1 (en) * 2001-08-07 2003-02-24 Board Of Trustees Operating Michigan State University Self-programmable chip
US7580570B2 (en) * 2003-12-09 2009-08-25 Microsoft Corporation Accuracy model for recognition signal processing engines
CN104932847B (zh) * 2015-06-08 2018-01-19 三维泰柯(厦门)电子科技有限公司 一种空间网络3d打印算法
US10579092B2 (en) 2016-11-01 2020-03-03 International Business Machines Corporation Global timing generator
US11354562B2 (en) * 2018-01-03 2022-06-07 Silicon Storage Technology, Inc. Programmable neuron for analog non-volatile memory in deep learning artificial neural network
US10834632B2 (en) * 2018-09-21 2020-11-10 At&T Intellectual Property I, L.P. Energy-efficient wireless communications for advanced networks with low-resolution digital-to-analog converters
US11481601B2 (en) * 2019-03-03 2022-10-25 SiliconIntervention Inc. Analog neuron with s-domain characteristic
JP7345262B2 (ja) * 2019-03-11 2023-09-15 キヤノン株式会社 データ圧縮装置、データ処理装置、データ圧縮方法、プログラム、及び学習済みモデル
US12353503B2 (en) * 2019-05-02 2025-07-08 Silicon Storage Technology, Inc. Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network
JP2020201883A (ja) * 2019-06-13 2020-12-17 キヤノン株式会社 データ処理装置及びその制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038282A (en) * 1988-05-11 1991-08-06 Massachusetts Institute Of Technology Synchronous processor with simultaneous instruction processing and data transfer
JPH0232679A (ja) * 1988-07-22 1990-02-02 Hitachi Ltd ニューラルネットによるデータ通信方法および装置
GB2224139A (en) * 1988-10-24 1990-04-25 Philips Electronic Associated Digital data processing apparatus

Also Published As

Publication number Publication date
EP0385873A3 (en) 1993-01-27
DE69030778D1 (de) 1997-07-03
US5142666A (en) 1992-08-25
EP0385873A2 (en) 1990-09-05
EP0385873B1 (en) 1997-05-28
DE69030778T2 (de) 1997-09-11
JPH02228784A (ja) 1990-09-11

Similar Documents

Publication Publication Date Title
JP2679738B2 (ja) ニューロコンピュータにおける学習処理方式
KR940001173B1 (ko) 뉴로 컴퓨터
US5220559A (en) Neuron architecture
US5175798A (en) Digital artificial neuron based on a probabilistic ram
US5333239A (en) Learning process system for use with a neural network structure data processing apparatus
JPH02193251A (ja) エラー後方伝ぱん法と神経網システム
US5216746A (en) Error absorbing system in a neuron computer
EP0475732B1 (en) Asynchronous control system for a neuro computer
JPH07111090A (ja) 信号処理装置
JP2677656B2 (ja) ニューロコンピュータの集中制御方式
US5485548A (en) Signal processing apparatus using a hierarchical neural network
JP2618470B2 (ja) ニューロコンピュータにおける重み補正による誤差吸収方式
JPH07104847B2 (ja) ニューロコンピュータ
Buonanno et al. Analog Computing: from Fundamentals to Applications
JPWO1990002381A1 (ja) ニューロコンピュータ
JP2679733B2 (ja) ホップフィールドネット
JP3338713B2 (ja) 信号処理装置
KR940001172B1 (ko) 네트워크 구성데이타 처리장치의 학습처리 방식
JPH05307624A (ja) 信号処理装置
JP3463890B2 (ja) 神経回路模倣素子
JPH05298276A (ja) 信号処理装置
JPH08123777A (ja) 神経回路模倣素子
JPH07113918B2 (ja) ネットワーク学習処理装置
JPH05135001A (ja) 信号処理装置
JPH03268080A (ja) 信号処理装置