JP3025592B2 - ニューロコンピュータ - Google Patents

ニューロコンピュータ

Info

Publication number
JP3025592B2
JP3025592B2 JP4327729A JP32772992A JP3025592B2 JP 3025592 B2 JP3025592 B2 JP 3025592B2 JP 4327729 A JP4327729 A JP 4327729A JP 32772992 A JP32772992 A JP 32772992A JP 3025592 B2 JP3025592 B2 JP 3025592B2
Authority
JP
Japan
Prior art keywords
value
coupling coefficient
storage means
output
neuron
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4327729A
Other languages
English (en)
Other versions
JPH06175999A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP4327729A priority Critical patent/JP3025592B2/ja
Publication of JPH06175999A publication Critical patent/JPH06175999A/ja
Application granted granted Critical
Publication of JP3025592B2 publication Critical patent/JP3025592B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Feedback Control In General (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、家電製品、例えばエア
コン等を制御するニューロコンピュータに関するもので
ある。
【0002】
【従来の技術】近年、生体の神経回路網を工学的モデル
に簡略化したニューラルネットワークによる計算処理が
提案されている。パーセプトロン型ニューラルネットワ
ークは、図7に示すように、入力層、中間層、出力層の
3層から構成されている。入力層、中間層、出力層の各
ニューロンはシナプス結合により接続されており、各ニ
ューロンは、他のニューロンからの入力部と、入力され
たデータを所定の規則で処理する変換部と、変換結果を
上層のニューロンへ出力する出力部より成っている。そ
して、各ニューロンとのシナプス結合には結合の強さを
表すシナプス結合係数が付加されており、中間層、出力
層ニューロンにはバイアス値が付加されている。これら
シナプス結合係数、バイアス値をバックプロパゲーショ
ン学習則に従って変化させることにより、入力信号に対
し、所望の出力を得るニューラルネットワークを構成す
る。
【0003】図15には、このようなニューラルネット
ワーク計算処理を備えた装置の一例として、特開平3−
91646号公報に開示された情報処理装置とその情報
処理装置を用いた空気調和装置のブロック図が示されて
いる。
【0004】この空気調整装置は、センサ部100、A
D変換器102、神経回路網型情報処理部104、制御
回路107、及び空気調整部109から構成されてい
る。
【0005】次に動作について説明する。
【0006】センサ部100は、室内環境情報をアナロ
グ信号101に変換し、AD変換器102へ送る。そし
て、AD変換器102はセンサ部100から送られてき
たアナログ信号101をデジタル信号103に変換す
る。なお、神経回路網型情報処理部104は、予め教師
信号105とデジタル信号103の入力によって、すで
に温度や湿度等と利用者の相関についての学習を終えて
いるものとする。神経回路網型情報処理部104におい
て情報処理がなされた後、出力信号106が制御回路1
07へ送られ、制御信号108が出力される。更に、空
気調整部109は制御信号108により制御される。
【0007】
【発明が解決しようとする課題】以上のように、従来の
ニューラルネットワークは、計算機(オフラインでの開
発装置)を用いてニューロ学習させた後、その学習結
果、あるいはシナプス結合係数、バイアス値をマイクロ
コンピュータにテーブル化して格納しているため、シナ
プス結合係数が大きなネットワークを構築した場合、マ
イクロコンピュータでの取扱い値を越えてしまい、オフ
ライン学習結果とは異なった出力しか得られない場合が
あった。更に、マイクロコンピュータで学習結果を新し
い教師データに対応して変更する場合(オンライン:使
用者が教師データを与える)、マイクロコンピュータに
バックプロパゲーションアルゴリズムをプログラム化す
るのは計算処理が複雑なため難しく、追加する教師デー
タのみを学習するのではなく、教師データ全部を用いて
学習し直さなければならないため、学習に時間がかか
り、しかも新しい学習によってニューラルネットワーク
が局所最適解に収束した場合、ニューラルネットワーク
の性能が学習前よりも悪化する虞があった。
【0008】この発明は、上記のような課題を解消する
ために成されたもので、マイクロコンピュータ上で簡単
に構成でき、ニューラルネットワーク実行処理計算時に
取扱い値の制約がなくなることにより、正確なニューラ
ルネットワークから出力を得られると共に、追加学習に
おいて新しい教師データが入力された際、それに対応で
きるニューロコンピュータを得ることを目的とするもの
である。
【0009】
【課題を解決するための手段】このような目的を達成す
るために、請求項1記載の発明に係るニューロコンピュ
ータは、中間層に属するニューロンに信号を入力するニ
ューロンを含む入力層並びにそれぞれ前層からの入力信
号とシナプス結合係数の積和演算を行い非線形変換して
出力するニューロンを含む少なくとも1個の中間層及び
出力層を有し、入力層に所定の入力信号を与えたときに
出力層から所定の出力信号が得られるように予め学習に
よりシナプス結合係数が設定されたニューラルネットワ
ークを実現するニューロコンピュータにおいて、シナプ
ス結合係数、結合数情報及び非線形関数が格納される第
1記憶手段と、ニューロン出力値及びバイアス値が格納
される第2記憶手段と、第1及び第2記憶手段に格納さ
れている情報に基づきかつ中間層又は出力層に属するニ
ューロン毎に積和演算及び非線形変換を行い第2記憶手
段上にそのニューロンに係るニューロン出力値を格納す
る実行処理手段と、を備え、第1記憶手段においては、
シナプス結合係数が、中間層及び出力層に属する各ニュ
ーロン毎にブロックを形成し、各ブロックにそれぞれ結
合数情報が付加された形態で格納されており、最終ブロ
ックを除くブロックに付加された結合数情報は、ブロッ
クの終了を示すブロック終了コード、ニューロン値を格
納すべき第2記憶手段上のアドレスである出力格納アド
レス、及び次のブロックに係る積和演算を行う際に参照
すべき第2記憶手段上のアドレスである次N RAMポ
インタを含み、最終ブロックに付加された結合数情報
は、ブロック終了コード及び出力格納アドレスを含み、
第2記憶手段においては、任意の層に係るニューロン出
力値を格納するための記憶領域と他の任意の層に係るニ
ューロン出力値を格納するための記憶領域とが、バイア
ス値を格納するための記憶領域により区切られた形態
で、設けられており、実行処理手段は、中間層又は出力
層に属する任意のニューロンについて積和演算及び非線
形変換を行う際、第1記憶手段上の複数のブロックのう
ちそのニューロンに対応するブロックの一端から順にシ
ナプス結合係数を読み込む動作、第2記憶手段上の記憶
領域のうち他のブロックに付加されている次N RAM
ポインタにより特定されるアドレスから順にニューロン
出力値又はバイアス値を読み込む動作、並びに両者の積
を累積加算する動作を、ブロック終了コードを検出する
まで繰り返し、ブロック終了コードが検出された時点で
上記累積加算の結果として得られている積和を、第1記
憶手段上の非線形関数に従い非線形変換し、この非線形
変換により得られたニューロン出力値を、検出されたブ
ロック終了コードと組をなす出力格納アドレスに従い第
2記憶手段上に格納することを特徴とする。
【0010】また、請求項2記載の発明に係るニューロ
コンピュータは、請求項1記載のニューロコンピュータ
において、所定桁数では表現できない大きな値を有する
シナプス結合係数については、そのシナプス結合係数
を、当該所定桁数で表現できる最大値のシナプス結合係
数及び元のシナプス結合係数から当該最大値を減じた残
余の値に係るシナプス結合係数に分割しこの順に従い第
1記憶手段に格納しておき、実行処理手段が、第1記憶
手段から読み出したシナプス結合係数が最大値である場
合に、当該最大値のシナプス結合係数が乗ぜられる対象
とされたニューロン出力値を、当該最大値のシナプス結
合係数に続いて読み出される上記残余のシナプス結合係
数と乗ずべきニューロン出力値として、使用することを
特徴とする。
【0011】更に、請求項3記載の発明に係るニューロ
コンピュータは、請求項1記載のニューロコンピュータ
において、所定桁数では表現できない大きな値を有する
シナプス結合係数については、加算したとき元の値にな
るよう等分して第1記憶手段に格納しておき、かつ、第
1記憶手段上に格納されたシナプス結合係数のうちどの
シナプス結合係数が当該等分に係るものかを特定する情
報を含むシリアル情報テーブルを、第1記憶手段上に格
納しておき、実行処理手段が、第1記憶手段からシナプ
ス結合係数を読み出す際に併せてシリアル情報テーブル
を参照することにより上記等分に係るシナプス結合係数
を検出し、検出されたシナプス結合係数については等分
に係る分割数だけ繰り返し積の演算に使用することを特
徴とする。
【0012】請求項4記載の発明に係るニューロコンピ
ュータは、請求項1乃至3のいずれか記載のニューロコ
ンピュータにおいて、以前に行った学習の際に使用した
入力信号と同一の入力信号を入力層に与えたときに出力
層から出力されることが期待される出力信号を、新しい
学習に係る教師データとして、記憶する第3記憶手段
と、再学習の指示を受けている状態で上記以前に行った
学習の際に使用した入力信号と同一の入力信号が入力さ
れたとき、出力信号と上記新しい学習に係る教師データ
との差に基づきバイアス値変更量を求める変更量算出手
段と、求められたバイアス値変更量を記憶する第4記憶
手段と、を備え、実行処理手段が、バイアス値とこれに
対応するシナプス結合係数との積を求める際に、第4記
憶手段上のバイアス値変更量に従いバイアス値を修正し
た上で、当該積を求めることを特徴とする。
【0013】また、請求項5記載の発明に係るニューロ
コンピュータは、請求項4記載のニューロコンピュータ
において、実行処理手段が、バイアス値とこれに対応す
るシナプス結合係数との積を求める際に、第4記憶手段
上のバイアス値変更量を求めたときの入力信号の値と現
在の入力信号の値との差に基づき、バイアス値変更量を
補正し、補正されたバイアス値変更量に従いバイアス値
を修正した上で、当該積を求めることを特徴とする。
【0014】更に、請求項6記載の発明に係るニューロ
コンピュータは、請求項1乃至5のいずれか記載のニュ
ーロコンピュータにおいて、以前に行った学習の際に使
用した入力信号と同一の入力信号を入力層に与えたとき
に出力層から出力されることが期待される出力信号を、
新しい学習に係る教師データとして、記憶する第3記憶
手段と、再学習の指示を受けている状態で上記以前に行
った学習の際に使用した入力信号と同一の入力信号が入
力されたとき、出力信号と上記新しい学習に係る教師デ
ータとの差に基づきシナプス結合係数変更量を求める変
更量算出手段と、求められたシナプス結合係数変更量を
記憶する第4記憶手段と、を備え、実行処理手段が、バ
イアス値とこれに対応するシナプス結合係数との積を求
める際に、第4記憶手段上のシナプス結合係数変更量に
従いシナプス結合係数を修正した上で、当該積を求める
ことを特徴とする。
【0015】
【作用】本発明に係るニューロコンピュータにおいて
は、入力層に所定の入力信号を与えたときに出力層から
所定の出力信号が得られるよう予め学習によりシナプス
結合係数が設定されたニューラルネットワークを、実現
する。そのため、第1及び第2記憶手段並びに実行処理
手段を設ける。第1記憶手段例えばROMには、予め学
習により得られている情報又は所定の情報であるシナプ
ス結合係数、結合数情報及び非線形関数を格納してお
き、第2記憶手段例えばRAMには、実行処理手段によ
り生成される情報又は可変の情報であるニューロン出力
値及びバイアス値を格納する。実行処理手段は、第1及
び第2記憶手段に格納されている情報に基づき積和演算
及び非線形変換を行い第2記憶手段上にそのニューロン
に係るニューロン出力値を格納する動作を、中間層又は
出力層に属するニューロン毎に実行する。このように、
本発明においては、シナプス結合係数等事前の学習によ
り得られる情報を第1記憶手段に格納するようにしたた
め、非線形変換を含むニューラルネットワークに係る処
理の結果である非線形出力を、少ないメモリ量で得るこ
とができる。
【0016】本発明においては、上述の動作を実現する
手段として、第1及び第2記憶手段に関し次のような記
憶形態及び利用形態を採用している。まず、第1記憶手
段には、中間層及び出力層に属する各ニューロン毎にブ
ロックを形成するよう、シナプス結合係数を格納してお
く。更に、各ブロックには、結合数情報を付加してお
く。結合数情報は、ブロック終了コード、出力格納アド
レス及び次N RAMポインタを含む(但し最終ブロッ
クについては次N RAMポインタは不要である)。他
方で、第2記憶手段においては、任意の層に係るニュー
ロン出力値を格納するための記憶領域と、他の任意の層
に係るニューロン出力値を格納するための記憶領域と
を、バイアス値を格納するための記憶領域により区切ら
れた形態で、設けておく。
【0017】実行処理手段は、中間層又は出力層に属す
る任意のニューロンについて積和演算及び非線形変換を
行う際、第1及び第2記憶手段に格納されている情報を
次のような手順に従い読み込みまた第2記憶手段への書
き込みを行う。まず、実行 手段は、中間層又は出力
層ニューロンのうち一つに対応するブロックの一端から
順に、第1記憶手段上のシナプス結合係数を読み込む。
実行処理手段は、また、第2記憶手段からニューロン出
力値又はバイアス値を読み込む。実行処理手段は、読み
込んだシナプス結合係数とニューロン出力値又はバイア
ス値との積を求める。実行処理手段は、このような読出
動作及び乗算動作により求めた積を累積加算する動作
を、ブロックの終了を示すブロック終了コードを検出す
るまで、実行する。実行処理手段は、ブロック終了コー
ドが検出された時点で累積加算の結果として得られてい
る積和を、第1記憶手段上の非線形関数に従い非線形変
換し、この非線形変換により得られたニューロン出力値
を、検出されたブロック終了コードと組をなす出力格納
アドレスに従い第2記憶手段上に格納する。最終ブロッ
クを除いて結合数情報に含まれている次N RAMポイ
ンタは、次のブロックに係る積和演算を行う際に参照す
べき第2記憶手段上のアドレスである。実行処理手段
は、任意のブロックについて上述の積和演算及び非線形
変換を終えた後、そのブロックに係る結合数情報中の次
N RAMポインタを参照して、次に当該積和演算及び
非線形変換を実行すべき中間層又は出力層ニューロンに
ついて、ニューロン出力値又はバイアス値の読出元であ
る第2記憶手段上のアドレスを特定して、当該次の中間
層又は出力層ニューロンを実現するための処理を開始す
る。
【0018】このように、本発明は、ニューラルネット
ワークを例えばマイクロコンピュータ上で実現するのに
適する手法を提供している。
【0019】また、請求項2記載の発明に係るニューロ
コンピュータにおいては、更に、所定桁数では表現でき
ない大きな値を有するシナプス結合係数を、当該所定桁
数で表現できる最大値のシナプス結合係数と、元のシナ
プス結合係数から当該最大値を減じた残余の値に係るシ
ナプス結合係数とに分割して、取り扱う。分割されたシ
ナプス結合係数は、この順に従い第1記憶手段に格納し
ておく。実行処理手段は、第1記憶手段から読み出した
シナプス結合係数が最大値である場合に、当該最大値の
シナプス結合係数が乗ぜられる対象とされたニューロン
出力値を、当該最大値のシナプス結合係数に続いて読み
出される上記残余のシナプス結合係数と乗ずべきニュー
ロン出力値として、使用する。また、請求項3記載の発
明に係るニューロコンピュータにおいては、最大値と残
余の値とに分割するのではなく、加算したとき元の値に
なるよう等分する。更に、第1記憶手段上に格納された
シナプス結合係数のうちどのシナプス結合係数が当該等
分に係るものかを特定する情報を含むシリアル情報テー
ブルを、第1記憶手段上に格納しておく。実行処理手段
は、第1記憶手段からシナプス結合係数を読み出す際に
併せてシリアル情報テーブルを参照することにより上記
等分に係るシナプス結合係数を検出し、検出されたシナ
プス結合係数については等分に係る分割数だけ繰り返し
積の演算に使用する。従って、請求項2及び3のいずれ
においても、分解能を落とすことなく、大きなシナプス
結合係数を取り扱うことができる。必要なメモリ量もさ
して増加しないし、計算アルゴリズムもさして複雑化し
ない。
【0020】更に、請求項4記載の発明に係るニューロ
コンピュータにおいては、第3記憶手段、変更量算出手
段及び第4記憶手段を設ける。第3記憶手段には、以前
に行った学習の際に使用した入力信号と同一の入力信号
を入力層に与えたときに出力層から出力されることが期
待される出力信号を、新しい学習に係る教師データとし
て、記憶させる。変更量算出手段は、再学習の指示を受
けている状態で上記以前に行った学習の際に使用した入
力信号と同一の入力信号が入力されたとき、出力信号と
上記新しい学習に係る教師データとの差に基づきバイア
ス値変更量を求める。第4記憶手段は、求められたバイ
アス値変更量を記憶する。従って、バイアス値とこれに
対応するシナプス結合係数との積を求める際に、第4記
憶手段上のバイアス値変更量に従いバイアス値を修正し
た上で、実行処理手段が当該積を求めるようにすること
で、今までのオフライン学習結果を生かしながら追加学
習を行うことが、可能になる。特に、請求項5に記載の
通り、バイアス値とこれに対応するシナプス結合係数と
の積を求める際、第4記憶手段上のバイアス値変更量を
求めたときの入力信号の値と現在の入力信号の値との差
に基づき、バイアス値変更量を補正し、補正されたバイ
アス値変更量に従いバイアス値を修正した上で、当該積
を求めるようにすれば、新しい教師データにてニューラ
ルネットワークを汎化することができる。更に、請求項
6に記載の通り、バイアス値に代え又はこれと共に、シ
ナプス結合係数を、追加学習による変更量の導出及び記
憶の対象とし、更にそれに基づくシナプス結合係数の修
正を行うことにより、追加学習時における記憶の変更量
を小さな値に抑えることができる。
【0021】
【実施例】以下、この発明の一実施例を図を用いて説明
する。
【0022】図1は、本発明実施例に係るニューロコ
ンピュータの構成を示すブロック図である。なお、説明
を容易とするため、このニューロコンピュータがエアコ
ンに用いられている場合を例にとり説明する。
【0023】ニューロコンピュータは、図1及び図9に
示すように、マイクロコンピュータからなりニューラル
ネットワークを構成する主制御装置1を有しており、主
制御装置1は、演算、制御等を行うCPU2を備えてい
る。そして、CPU2には、実行処理手段10、判別手
段12、バイアス値変更手段16、変更量算出手段15
が含まれており、温度設定、風量、学習等を入力するス
イッチ3と、室温、風量、風向、外気温等を検出する各
センサ4と、室温、運転モード等を表示する表示器5
と、メモリ9とが接続されている。更に、メモリ9は、
第1記憶手段11であるROM6と、第2記憶手段13
であるRAM7と、第3記憶手段14及び第4記憶手段
17であるEEPROM8とから構成されており、RO
M6には、シグモイド関数テーブル(SIG TB
L)、シナプス結合テーブル(W TBL)、及びシリ
アル情報テーブル(SER TBL)が格納されてお
り、RAM7には、スイッチ3及びセンサ4からの入力
信号と、入力信号にシナプス結合係数を乗じた値の総和
と、その総和をシグモイド関数変換により非線形変換し
た値(N RAM)、すなわち各ニューロンの出力値が
格納されている。また、EEPROM8には、後述する
教師データ(T TBL)と学習計算により得られた変
更量(D WGT)とが格納されている。
【0024】本実施例では、非線形関数にシグモイド関
数を用いた。シグモイド関数は、正領域と負領域とが点
対称である曲線(図2参照)で示される関数である。な
お、マイコン処理の単純化のために、入力は−8〜+8
で打ち切っている。これは、±8を越える入力が、出力
にほとんど影響しないためである。そして、シグモイド
関数値を1バイト表現とした場合の各ビットと10進表
現との対応は図3のようになる。
【0025】また、シナプス結合テーブルW TBL
は、図4に示すように、学習により得られるシナプス結
合係数をテーブル化したものである。図6に示すよう
に、マイコンの内部では、−8〜+8を8ビット(00
H〜FFH)で表現し、0〜8を128個(7ビット)
に割り付けているため、分解能は以下のようになる。な
お、マイナス表現をするため、ビット7をサインビット
として使用している。
【0026】
【数1】8/128=0.0625 また、シナプス結合テーブルW TBLには、ブロック
とブロックとを結合するために、中間層又は出力層ニュ
ーロンに対応するブロック毎に、結合係数情報が格納さ
れている。結合係数情報は、ブロックとブロックとの間
に位置する場合即ち通常ブロックの場合は3バイトであ
り、ブロック終了コード及び出力格納アドレス、次N
RAMポインタから成り立っている。但し、最終ブロッ
クの結合数情報のようにブロックとブロックとの間に位
置しないものについては2バイトであり、ブロック終了
コード及び出力格納アドレスから成り立っている。ブロ
ック終了コードは、シナプス結合係数テーブルの各ブロ
ックの最終アドレスを示しており、ニューラルネットワ
ークの実行プログラムでは、ブロック終了コードを検知
した時にそのブロックの終了と判別している。この検知
を可能にするため、ブロック終了コードとして、FEH
とFFHという2つのコードを設ける。FEHは、通常
ブロックの終了コードを、FFHは最終ブロックの終了
コードを示す。このようにブロック終了コードの値を設
定しているため、シナプス結合係数がとりうる値の範囲
は、00H〜FDHまでとなる。なお、真値としてFE
H、FFHを取り扱う時はFDHに丸めている。
【0027】出力格納アドレスは、そのブロックにおけ
るニューロン出力値の計算結果をRAM7上のN RA
Mのいずれのアドレスに格納すればよいか(具体的に
は、対応するN RAMの先頭アドレスからのオフセッ
トアドレス)を示す。次N RAMポインタは、次のブ
ロックに対応するN RAMの先頭アドレスを示す。
【0028】N RAMは、図4に示すように、3層構
造の場合は、入力層、中間層、出力層に分かれ、バイア
ス値ニューロンθで仕切られている。バイアス値ニュー
ロンは常に値1(FFH)であるため、層の終りをFF
Hで判断できる。従って、ニューロン値が1(FFH)
である場合、これもFEHに丸めて入力するものとす
る。マイクロコンピュータの内部では、0〜1までの値
を8ビットで表現しており、以下のような分解能とな
る。
【0029】
【数2】1/256=0.0039 次に、本実施例の作用を図6のフローチャート及び図7
の階層構成図に沿って説明する。なお、ニューラルネッ
トワークは、一般に、入力層、中間層、出力層から構成
されており、本実施例では、図7に示すように、各セン
サ4を入力層ニューロンとしており、各センサ4からC
PU2への入力信号x1〜xnが入力層から中間層への
入力に相当している。
【0030】CPU2は、各センサ4からの入力信号x
1〜xnをRAM7上の所定のNRAMにデータとして
格納する等のイニシャル処理を行う(ステップ1)。そ
して、イニシャル処理を行った後、積和演算を行い(ス
テップ2)、N RAMポインタとW TBLポインタ
とをインクリメントする(ステップ3)。それから、ブ
ロック終了コードが現れたか否か判断し(ステップ
4)、通常ブロックのブロック終了コードが現れない場
合、最終ブロック終了コードが現れたか否か判断し(ス
テップ8)、最終ブロック終了コードが現れない場合、
ステップ2及び3をブロック終了コードが現れるまで繰
り返す。そして、ブロック終了コードが現れた場合、シ
グモイド関数変換を行い(ステップ5)、RAM7上の
所定のNRAMにニューロン出力値を格納し(ステップ
6)、次N RAMポインタを読んでN RAMポイン
タを設定し、ステップ2へ戻る。また、前述ステップ8
において、最終ブロック終了コードが現れたと判断した
場合、シグモイド関数変換を行い(ステップ5)、RA
M7上の所定のN RAMにニューロン出力値を格納し
(ステップ6)、出力のための後処理を行う(ステップ
9)。
【0031】上述ステップ5において実行されるシグモ
イド関数変換を、図8に示すフローチャートに沿って説
明する。
【0032】CPU2は、RAM7のWORKエリアに
格納した値を読み込み(ステップ10)、その値を絶対
値処理する(ステップ11)。更に、シグモイド関数テ
ーブルSIG TBLを参照して出力を得(ステップ1
2)、WORKエリアから読み込んだ値の符号が正か否
か判断する(ステップ13)。符号が正であると判断し
た場合、シグモイド関数変換処理を終了し、負であると
判断した場合、得られた出力を1から差し引いた値を出
力とし(ステップ14)、シグモイド関数変換処理を終
了する。
【0033】上述実施例では、シナプス結合値またはバ
イアス値が−8〜+8を越える場合、マイクロコンピュ
ータでは処理できない。この場合、値を丸めて格納する
と、ニューラルネットワークの出力が真値と大きくずれ
る場合がある。そこで、請求項2及び3記載の発明で提
案するように、シナプス結合値が−8〜+8を越える場
合、ニューラルネットワークの出力が真値から大きく変
化しないようにするのが好ましい。以下、そのためのソ
フトウェアの動作について説明する。
【0034】図9に示すように、まず第1記憶手段11
上のW TBLから読み出す値が判別手段12で−8〜
+8の範囲にあるか否か判別され、実行処理手段10で
実行計算される。
【0035】そして、図10に示すように、CPU2
は、各センサ4からの入力信号x1〜xnをRAM7上
の所定のN RAMにデータとして格納する等のイニシ
ャル処理を行う(ステップ1)。そして、イニシャル処
理を行った後、積和演算を行い(ステップ2)、W T
BLがシナプス結合テーブルの最大値(図11において
マイコン上のデータがFDHまたは7FH)である場合
(ステップ15)、NRAMポインタはそのままでW
TBLを更新し(ステップ16)、前述ステップ2と同
様の積和演算を行う。また、W TBLが最大値でない
場合、N RAMポインタとW TBLポインタとをイ
ンクリメントし(ステップ3)、ブロック終了コードが
現れるまで繰り返す。
【0036】シナプス結合係数が−8あるいは+8を越
える場合、シナプス結合係数の真値は、次のアドレスに
格納されているシナプス結合係数との和になる。図4の
ブロック15−13のシナプス結合係数の値は2つ(7
FHと20H)記載されているが、シナプス結合係数の
真値は、7FHと20Hとの和、すなわち
【数3】8+2=10 を表している。なお、RAM7のWORKエリアは16
ビットで積和処理しているため、桁あふれの虞はほとん
どない。
【0037】上述実施例では、−8以上あるいは+8上
のシナプス結合係数の値を2つのエリアに別けて格納し
ていたが、請求項3記載の発明のように、例えば真値の
半分の値で1つのエリアに格納し、計算時に2倍しても
よい。このようにした場合、その動作は、図6のフロー
チャートのステップ2と3との間に図11に示すような
ステップ17、18を加えた動作となる。ステップ17
において、結合係数カウンタがROM6に収められたシ
リアル情報テーブルの値と一致すると、ステップ18に
おいて、W TBLは真値の半分であるため、2倍す
る。結合係数カウンタは、ステップ2を通る度に、下位
4ビットをインクリメントし、ステップ4を通る度に上
位4ビットをインクリメントするものとする。
【0038】シリアル情報テーブルは、図12に示すよ
うに、2倍すべきW TBL値のアドレスを書き込んだ
ものであり、上位4ビットが何番目かのブロックかを示
し、下位4ビットがブロック先頭から何番目のW TB
Lかを示す。このような動作の結果、WORKエリアに
は入力データx1〜xnとシナプス結合係数W
x1−y1 〜Wxn−y1 との積和演算結果が格納さ
れる。このときのWORKエリア上のデータは次式によ
り表される値となる。
【0039】
【数4】x1×Wx1−y1 +x2×Ww2−y1
…+xn×Wxn−y1 +1.0×Wbias−y1
ただし、中間層ニューロンがバイアスニューロンを含ま
ない場合は、上式において1.0×Wbias−y1
を除いた式となる。
【0040】上式で求まった値は、ROM6に格納され
ているシグモイド関数テーブルSIG TBLを参照し
たシグモイド関数処理が施される(ステップ5)。
【0041】このようにして、シナプス結合係数やバイ
アス値が−8〜+8を越える場合でもオフライン学習結
果と同じ出力を持つニューラルネットワークが得られ
る。以上のように、請求項2記載の発明では図4に示す
メモリの構造を変えない処理であるのに対し、請求項3
記載の発明は図6に示すフローチャートの流れを変えな
い処理である。
【0042】次に、請求項4記載の発明の実施例におけ
る簡易学習部の動作を図9及び図13に沿って説明す
る。なお、簡易学習とは、学習済みのニューラルネット
ワークの出力値について使用者が不満である場合、これ
を部分的に変更し、使用者にあった家電機器となるよう
チューニングするものである。
【0043】図9に示すように、教師データ20が入力
されると、第3記憶手段14に格納する。一方、実行処
理手段10から出力19を計算し、変更量算出手段15
で変更量を計算する。そして、バイアス値変更手段16
を用いてバイアス値を変更し、第4記憶手段17に格納
する。ニューラルネットワークは第1記憶手段11、第
2記憶手段13、第4記憶手段17を用いて実行処理計
算を行う。
【0044】図13に示すように、学習部は、スイッチ
3から学習開始の信号が入力されると動作する。CPU
2は、各センサ4からの入力信号と変更したい出力Z
を教師データとしてEEPROM8に格納する(ステ
ップ19)。それから、CPU2は、値を更新、すなわ
ち学習を行うバイアス値のアドレスを計算する(ステッ
プ20)。そのときのニューラルネットワークの出力値
Zを図6または図10のフローチャートに従って計算し
(ステップ21)、バイアス値を書き換える(ステップ
22)。学習スイッチ3は、学習モードに入ったことを
CPU2に知らせると同時に、変更したい出力Z
取り込むのに用いる。
【0045】なお、上述実施例においては、学習したバ
イアス値変更量を、RAM7上に格納していたが、EE
PROM8の中に格納してもよい。このようにした場
合、電源を切ってもデータ(学習結果)が保持される。
【0046】また、上述実施例においては、ステップ2
2において格納されるバイアス値の変更量は、各センサ
4からの入力に依存しない次式で表される。
【0047】
【数5】g(Z −Z) ここで、学習係数gは正の定数である。gを大きくすれ
ば変更量も大きくなる。この値は設計者が予めシミュレ
ーションを行って決定しておく。このようにして、高速
かつ簡単なアルゴリズムによってニューラルネットワー
クの出力値を変更し得る。
【0048】請求項5記載の発明で提案するように、ス
テップ15において格納されるバイアス値の変更量は、
次のようにしてもよい。
【0049】
【数6】g(Z −Z)/[1+(x1−x1
+(x2−x2 +…+(xn−xn
] ここで、x1 、x2 、…、xn は、ステップ
19において取り込んだ学習時のセンサ4からの入力
(定数)、x1、x2、…、xnは、実行計算時の各セ
ンサ4からの入力信号(変数)である。従って、上記の
式はx1、x2、…、xnによって変化する。すなわ
ち、新しい教師データが入力されて学習を行うと、出力
層ニューロンのバイアス値が各センサ4からの入力信号
に従って変化する。従って、新しい教師データに対応
し、かつより自然な形でニューラルネットワークが汎化
する。ただし、実行計算処理時間は長くなる。
【0050】また、上述実施例においては、バイアス値
を学習によって変更していたが、請求項6記載の発明で
提案するように、バイアス値の代わりにシナプス結合値
を学習によって変更してもよい。このようにした場合、
簡易学習の動作は図14のようになる。
【0051】CPU2は、各センサ4からの入力信号と
変更したい出力Z を教師データとしてEEPROM
8に格納する(ステップ19)。それから、CPU2
は、値を更新、すなわち学習を行うバイアス値のアドレ
スを計算する(ステップ20)。そのときのニューラル
ネットワークの出力値Zを図6または図10のフローチ
ャートに従って計算し(ステップ21)、ステップ23
において前述ステップ22と同様に計算するが、Zにつ
ながるすべてのシナプス結合係数(図7におけるW
y1−z、Wy2−z、…、Wym−z)が対象となる
ため、変更するシナプス結合係数の総和mで変更量を割
ることが異なる。
【0052】このようにすることによって、1つ1つの
シナプスの変更量を小さく抑える事ができる。ただし、
計算ステップは増加する。
【0053】
【発明の効果】以上説明したように、請求項1記載の発
明によれば、予め学習により得られるシナプス結合係数
等を第1記憶手段に格納しておき、実行計算時には、結
合数情報を含みブロック化されている第1記憶手段上の
情報に従い積和演算や非線形変換を行い、ニューロン出
力値等を第2記憶手段に書き込むようにしたため、8ビ
ットマイコン程度の能力で、メモリ容量の増加を抑えつ
つ、低コストで非線形関数を取り扱うことができる。
【0054】また、請求項2記載の発明によれば、シナ
プス結合係数が最大値を超える場合に最大値と残余の値
とに分割して第1記憶手段に格納しておき、実行計算時
には第1記憶手段から読み出したシナプス結合係数が最
大値であるか否かにより当該分割を検出し、最大値と残
余の値とに同一のニューロン出力値を乗ぜしめるように
したため、分解能を落とすことなく、大きなシナプス結
合係数を取り扱うことができる。
【0055】更に、請求項3記載の発明によれば、シナ
プス結合係数が最大値を超える場合にそれを等分して第
1記憶手段に格納しておき、同時にシリアル情報テーブ
ルによって等分対象を特定しておき、実行計算時には第
1記憶手段上のシリアル情報テーブルを参照して当該等
分を検出し、等分された値に同一のニューロン出力値を
乗ぜしめるようにしたため、分解能を落とすことなく、
大きなシナプス結合係数を取り扱うことができる。メモ
リ容量を増やしたり、計算アルゴリズムを複雑に変える
こともない。
【0056】請求項4記載の発明によれば、追加学習時
にバイアス値の変更量を計算して第4記憶手段に格納
し、実行計算時には、この変更量を用いるようにしたた
め、今までのオフライン学習結果を生かしつつ新しい教
師データによる追加学習を行うことができる。
【0057】また、請求項5記載の発明によれば、バイ
アス値の変更量に修正を施すようにしたため、新しい教
師データにニューラルネットワークを汎化することがで
きる。
【0058】更に、請求項6記載の発明によれば、追加
学習時にシナプス結合係数の変更量を計算して第4記憶
手段に格納し、実行計算時には、この変更量を用いるよ
うにしたため、変更値を複数のシナプス結合係数に分散
でき、1つ1つのシナプス結合係数の変更値を比較的小
さな値に抑えることができる。
【図面の簡単な説明】
【図1】 本発明に係るニューロコンピュータの構成を
示すブロック図である。
【図2】 本発明の実施例に係るシグモイド関数を示す
図である。
【図3】 本発明の実施例に係るシグモイド関数テーブ
ルSIG TBLのマイコン内の状態と実数値との関係
を示す図である。
【図4】 本発明に係るメモリのデータ構造を示す図で
ある。
【図5】 本発明の実施例に係る結合係数W TBLの
マイコン内の状態と実数値との関係を示す図である。
【図6】 本発明の作用を示すフローチャートである。
【図7】 本発明に係るニューロ実行計算を示す図であ
る。
【図8】 本発明の実施例に係るシグモイド関数変換処
理を示すフローチャートである。
【図9】 本発明に係る主制御装置の構成を示すブロッ
ク図である。
【図10】 本発明の実施例に係る結合係数が−8〜+
8を越えた時の実行計算を示すフローチャートである。
【図11】 本発明に係るニューロン間のリンクが直列
結合であるときのフローチャートである。
【図12】 本発明の実施例に係るシリアル情報テーブ
ルを示す図である。
【図13】 本発明に係るバイアス値簡易学習処理を示
すフローチャートである。
【図14】 本発明に係るシナプス結合係数簡易学習処
理を示すフローチャートである。
【図15】 従来装置の構成を示すブロック図である。
【符号の説明】
1 主制御器 2 CPU 3 スイッチ 4 各センサ 5 表示器 6 ROM 7 RAM 8 EEPROM 9 メモリ 10 実行処理手段 11 第1記憶手段 12 判別手段 13 第2記憶手段 14 第3記憶手段 15 変更量算出手段 16 バイアス値(シナプス結合係数)変更手段 17 第4記憶手段
フロントページの続き (56)参考文献 特開 平1−183763(JP,A) 特開 平3−105452(JP,A) 特開 平2−287757(JP,A) 甘利俊一、後藤英一編、bit9月号 臨時増刊「人工ニューラルシステム」、 共立出版株式会社(1989.9) (58)調査した分野(Int.Cl.7,DB名) G06N 3/00

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 中間層に属するニューロンに信号を入力
    するニューロンを含む入力層並びにそれぞれ前層からの
    入力信号とシナプス結合係数の積和演算を行い非線形変
    換して出力するニューロンを含む少なくとも1個の中間
    層及び出力層を有し、入力層に所定の入力信号を与えた
    ときに出力層から所定の出力信号が得られるように予め
    学習によりシナプス結合係数が設定されたニューラルネ
    ットワークを実現するニューロコンピュータにおいて、 シナプス結合係数、結合数情報及び非線形関数が格納さ
    れる第1記憶手段と、ニューロン出力値及びバイアス値
    が格納される第2記憶手段と、第1及び第2記憶手段に
    格納されている情報に基づきかつ中間層又は出力層に属
    するニューロン毎に積和演算及び非線形変換を行い第2
    記憶手段上にそのニューロンに係るニューロン出力値を
    格納する実行処理手段と、を備え、 第1記憶手段においては、シナプス結合係数が、中間層
    及び出力層に属する各ニューロン毎にブロックを形成
    し、各ブロックにそれぞれ結合数情報が付加された形態
    で格納されており、 最終ブロックを除くブロックに付加された結合数情報
    は、ブロックの終了を示すブロック終了コード、ニュー
    ロン値を格納すべき第2記憶手段上のアドレスである出
    力格納アドレス、及び次のブロックに係る積和演算を行
    う際に参照すべき第2記憶手段上のアドレスである次N
    RAMポインタを含み、最終ブロックに付加された結
    合数情報は、ブロック終了コード及び出力格納アドレス
    を含み、 第2記憶手段においては、任意の層に係るニューロン出
    力値を格納するための記憶領域と他の任意の層に係るニ
    ューロン出力値を格納するための記憶領域とが、バイア
    ス値を格納するための記憶領域により区切られた形態
    で、設けられており、 実行処理手段は、中間層又は出力層に属する任意のニュ
    ーロンについて積和演算及び非線形変換を行う際、第1
    記憶手段上の複数のブロックのうちそのニューロンに対
    応するブロックの一端から順にシナプス結合係数を読み
    込む動作、第2記憶手段上の記憶領域のうち他のブロッ
    クに付加されている次N RAMポインタにより特定さ
    れるアドレスから順にニューロン出力値又はバイアス値
    を読み込む動作、並びに両者の積を累積加算する動作
    を、ブロック終了コードを検出するまで繰り返し、ブロ
    ック終了コードが検出された時点で上記累積加算の結果
    として得られている積和を、第1記憶手段上の非線形関
    数に従い非線形変換し、この非線形変換により得られた
    ニューロン出力値を、検出されたブロック終了コードと
    組をなす出力格納アドレスに従い第2記憶手段上に格納
    することを特徴とするニューロコンピュータ。
  2. 【請求項2】 請求項1記載のニューロコンピュータに
    おいて、 所定桁数では表現できない大きな値を有するシナプス結
    合係数については、そのシナプス結合係数を、当該所定
    桁数で表現できる最大値のシナプス結合係数及び元のシ
    ナプス結合係数から当該最大値を減じた残余の値に係る
    シナプス結合係数に分割しこの順に従い第1記憶手段に
    格納しておき、 実行処理手段が、第1記憶手段から読み出したシナプス
    結合係数が最大値である場合に、当該最大値のシナプス
    結合係数が乗ぜられる対象とされたニューロン出力値
    を、当該最大値のシナプス結合係数に続いて読み出され
    る上記残余のシナプス結合係数と乗ずべきニューロン出
    力値として、使用することを特徴とするニューロコンピ
    ュータ。
  3. 【請求項3】 請求項1記載のニューロコンピュータに
    おいて、 所定桁数では表現できない大きな値を有するシナプス結
    合係数については、加算したとき元の値になるよう等分
    して第1記憶手段に格納しておき、かつ、第1記憶手段
    上に格納されたシナプス結合係数のうちどのシナプス結
    合係数が当該等分に係るものかを特定する情報を含むシ
    リアル情報テーブルを、第1記憶手段上に格納してお
    き、 実行処理手段が、第1記憶手段からシナプス結合係数を
    読み出す際に併せてシリアル情報テーブルを参照するこ
    とにより上記等分に係るシナプス結合係数を検出し、検
    出されたシナプス結合係数については等分に係る分割数
    だけ繰り返し積の演算に使用することを特徴とするニュ
    ーロコンピュータ。
  4. 【請求項4】 請求項1乃至3のいずれか記載のニュー
    ロコンピュータにおいて、 以前に行った学習の際に使用した入力信号と同一の入力
    信号を入力層に与えたときに出力層から出力されること
    が期待される出力信号を、新しい学習に係る教師データ
    として、記憶する第3記憶手段と、 再学習の指示を受けている状態で上記以前に行った学習
    の際に使用した入力信号と同一の入力信号が入力された
    とき、出力信号と上記新しい学習に係る教師データとの
    差に基づきバイアス値変更量を求める変更量算出手段
    と、 求められたバイアス値変更量を記憶する第4記憶手段
    と、 を備え、実行処理手段が、バイアス値とこれに対応する
    シナプス結合係数との積を求める際に、第4記憶手段上
    のバイアス値変更量に従いバイアス値を修正した上で、
    当該積を求めることを特徴とするニューロコンピュー
    タ。
  5. 【請求項5】 請求項4記載のニューロコンピュータに
    おいて、 実行処理手段が、バイアス値とこれに対応するシナプス
    結合係数との積を求める際に、第4記憶手段上のバイア
    ス値変更量を求めたときの入力信号の値と現在の入力信
    号の値との差に基づき、バイアス値変更量を補正し、補
    正されたバイアス値変更量に従いバイアス値を修正した
    上で、当該積を求めることを特徴とするニューロコンピ
    ュータ。
  6. 【請求項6】 請求項1乃至5のいずれか記載のニュー
    ロコンピュータにおいて、 以前に行った学習の際に使用した入力信号と同一の入力
    信号を入力層に与えたときに出力層から出力されること
    が期待される出力信号を、新しい学習に係る教師データ
    として、記憶する第3記憶手段と、 再学習の指示を受けている状態で上記以前に行った学習
    の際に使用した入力信号と同一の入力信号が入力された
    とき、出力信号と上記新しい学習に係る教師データとの
    差に基づきシナプス結合係数変更量を求める変更量算出
    手段と、 求められたシナプス結合係数変更量を記憶する第4記憶
    手段と、 を備え、実行処理手段が、バイアス値とこれに対応する
    シナプス結合係数との積を求める際に、第4記憶手段上
    のシナプス結合係数変更量に従いシナプス結合係数を修
    正した上で、当該積を求めることを特徴とするニューロ
    コンピュータ。
JP4327729A 1992-12-08 1992-12-08 ニューロコンピュータ Expired - Fee Related JP3025592B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4327729A JP3025592B2 (ja) 1992-12-08 1992-12-08 ニューロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4327729A JP3025592B2 (ja) 1992-12-08 1992-12-08 ニューロコンピュータ

Publications (2)

Publication Number Publication Date
JPH06175999A JPH06175999A (ja) 1994-06-24
JP3025592B2 true JP3025592B2 (ja) 2000-03-27

Family

ID=18202338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4327729A Expired - Fee Related JP3025592B2 (ja) 1992-12-08 1992-12-08 ニューロコンピュータ

Country Status (1)

Country Link
JP (1) JP3025592B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063633A (ja) * 1996-08-26 1998-03-06 Denso Corp ニューラルネットワークの演算装置及び車両用空調装置
DE102016216947A1 (de) 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells
DE102016216950A1 (de) 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells mit Vorwärts- und Rückkopplung
JP7431598B2 (ja) 2020-02-05 2024-02-15 キヤノン株式会社 演算装置、演算方法、プログラム及びテーブル生成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
甘利俊一、後藤英一編、bit9月号臨時増刊「人工ニューラルシステム」、共立出版株式会社(1989.9)

Also Published As

Publication number Publication date
JPH06175999A (ja) 1994-06-24

Similar Documents

Publication Publication Date Title
EP0471857B1 (en) Neuro-fuzzy integrated data processing system; network structure conversion system ; fuzzy model extracting system
CN108284442B (zh) 一种基于模糊神经网络的机械臂柔性关节控制方法
EP0743604A1 (en) A fuzzy-neural network system and a learning method therein
JPH08297716A (ja) ニューラル・ネットワーク用の適応型重み調整回路
US6000827A (en) System identifying device and adaptive learning control device
JP3025592B2 (ja) ニューロコンピュータ
CN112346342B (zh) 一种非仿射动力学系统的单网络自适应评价设计方法
US5420810A (en) Adaptive input/output apparatus using selected sample data according to evaluation quantity
JPH07141184A (ja) 情報ロード方法、電子コントローラ並びにその記憶部及び使用法
JP3308630B2 (ja) プラント制御装置及び方法
JP3260538B2 (ja) 制御装置
CN113485099A (zh) 一种非线性离散时间系统的在线学习控制方法
JPH07168605A (ja) システム同定装置
JP3523325B2 (ja) ニューラルネットワーク及びこれを用いた信号処理装置、自律システム、自律型ロボット並びに移動システム
JP3034372B2 (ja) ニューロコンピュータ
JPH09138786A (ja) ニューラルネットワークの学習装置
JPH03268077A (ja) ニューラルネットワークによる重心決定要素出力装置
JPH0643944A (ja) 防振制御方法
JP3339810B2 (ja) 多入力多出力制御装置、方法、及び媒体
JPH07160660A (ja) ニューラルネットワークシステム
CN113052297A (zh) 基于卷积神经网络融合ekf的拖缆姿态解算方法及系统
JPH0484356A (ja) ニューラルネットワークによる重心出力装置
JPH04275633A (ja) メンバシップ関数の構成方法
JP3137996B2 (ja) メンバシップ関数を用いたニューラルネットワーク及びその学習方式
JP2000122991A (ja) 制御装置の製造方法、制御装置、データ生成装置、入出力特性決定方法及び相関関係評価方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees