JP3733711B2 - 簡略化準ニュートン射影法演算システム、神経回路網学習システム、記録媒体および信号処理装置 - Google Patents
簡略化準ニュートン射影法演算システム、神経回路網学習システム、記録媒体および信号処理装置 Download PDFInfo
- Publication number
- JP3733711B2 JP3733711B2 JP29444597A JP29444597A JP3733711B2 JP 3733711 B2 JP3733711 B2 JP 3733711B2 JP 29444597 A JP29444597 A JP 29444597A JP 29444597 A JP29444597 A JP 29444597A JP 3733711 B2 JP3733711 B2 JP 3733711B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- expression
- processing means
- equation
- vector
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、簡略化準ニュートン射影法演算システム、このシステムを利用した神経回路網学習システム、これらのシステムをコンピュータシステム上で実現するプログラムを記録した記録媒体、および信号処理装置に関する。
【0002】
【従来の技術】
神経回路網(ニューラルネットワークとも言う。)は、パターン認識やデータ処理等に広く応用されている。この神経回路網は、繰り返し行われる学習処理によりその処理能力を獲得するものであり、迅速な学習と学習処理後に獲得される能力向上のために、シナプス荷重の変更方法がいくつか提案されている。
【0003】
神経回路網はユニットからなる入力層、中間層、出力層と各層間を結合するシナプスから構成される。各シナプスはシナプス荷重という重みを持ち、このシナプス荷重を学習により変えることで様々な入出力特性を実現できる。以下シナプスの総数をMとし、各シナプス荷重をw1,w2,…wMとする。また、w=[w1,w2,…wM]tで表す。
【0004】
神経回路網の学習は、教師入力信号を神経回路網に入力したときの神経回路網出力信号を計算し、この出力信号と教師出力信号と比較し、比較結果に基づいて各シナプス荷重w1,w2,…,wMを変更して、教師出力信号と神経回路網出力信号との誤差、例えば、自乗誤差和E(w)が最小になるようにする処理である。
【0005】
一般に最小値はたとえばバックプロパゲーション法(McClelland,J.L.,Rumelhart,D.E., and the PDP Research Group, Parallel Distributed Processing: Explorations in the Microstructure of Cognition, MIT Press, Chapter 8, 1986)などの降下法によって計算する。
【0006】
このバックプロパゲーション法の計算ステップを説明する。ここで、kは更新回数、kmaxは更新回数の上限である。また降下法の模式図を図8(a)に示す。(厳密に言うと、以下のステップで求まるのは最小値ではなく極小値であるが、以下の説明において本質的な違いをもたらすものではない。)
ステップ1:k=0として、神経回路網のシナプス荷重に初期値wkを設定する。
【0007】
ステップ2:wkにおけるE(wk)の勾配∇E(wk)を計算する。∇E(wk)=0ならステップ4に飛ぶ。
ステップ3:E(wk+1)<E(wk)を満たす新たな点wk+1を見つける。そしてwkにwk+1の値を設定して新たなwkとして、k<kmaxならステップ2に戻る。k=kmaxなら、ステップ4に移る。
【0008】
ステップ4:wkを解とする。
図8(a)の例では誤差曲面301において、初期値w0を与えたときの学習の進行する様子を示す。ここではk回更新後の値wkにおいて最小値に収束している。
【0009】
しかし適用事例によっては最小値が空間の無限遠に存在するものがある。このような事例の学習を行なうと、一部のシナプス荷重の絶対値がたとえば1000を超えて増大し続ける。その例を図8(b)に示す。このような神経回路網はシナプス荷重のダイナミックレンジが大きく、デジタル式演算装置の浮動小数点演算では正しい入出力特性が得られるが、固定小数点演算では大きな量子化誤差が発生し所望の入出力特性が得られない。民生品ではコスト削減等の理由で固定小数点CPUを用いるので、シナプス荷重が過大になるような神経回路網を組み込んで使用することはできない。
【0010】
例えば、語長16ビットの固定小数点演算で神経回路網を計算する場合を考える。[sxxxxxxx.xxxxxxxx]は小数部に8ビットを割り当てたデータ型を示す。sは符号ビット、xは数値データを表すビットである。このデータ型で表現できる数の精度は「1/28=0.00390625」であり、範囲は[−216-1/28,(216-1−1)/28]=[−128,127.99609375]である。
【0011】
神経回路網を固定小数点演算で実現する場合、シナプス荷重w=[w1 w2 … wM]tを固定小数点データ型で表現する。データ型は各シナプス荷重の絶対値の最大値により決まる。たとえばその値が1000であるとすると、その格納のため整数部は10ビット必要となり、小数部は5ビットしか取れない。すなわち、[sxxxxxxxxxx.xxxxx]となる。この精度は「1/25=0.03125」であり、範囲は[−216-1/25,(216-1−1)/25]=[−1024,1023.96875]である。これでは演算精度を低下させ、量子化誤差が増大する原因となる。
【0012】
上述した量子化誤差を低減させる方法として、バックプロパゲーション法にてシナプス荷重に上下限を設けて、学習させる方法が知られている(特開平7−152716号公報,特開平7−44515号公報,特開平2−143384号公報)が、バックプロパゲーション法の特質から計算速度を高める各種の工夫が困難であり計算速度は不十分なものであった。
【0013】
この他に、シナプス荷重の絶対値増大を抑制する方法としては、ペナルティ関数法がある(Michael A.Arbib, The Handbook of Brain Theory and Neural Networks, MIT Press,p643,p992)。これはG(w)=E(w)+μ×F(w)で定義された自乗誤差和E(w)と各シナプスの自乗の関数であるペナルティ項F(w)の和で定義される関数G(w)を最小化する方法である。係数μはE(w)とF(w)との相対的な重要度を決めるパラメーターである。
【0014】
しかしながらペナルティ関数法ではパラメーターμを試行錯誤により設定しなければならないという問題があり、適切な解が得られるまでに長時間を要した。
【0015】
【発明が解決しようとする課題】
上述した問題を生じない方法として、シナプス荷重の絶対値に上限を設定し、その上限を超えない範囲で学習を行なうことが考えられる。その実現には準ニュートン射影法であるGoldfarb(コールドファーブ)法が利用できる(たとえば今野 浩、山下 浩、非線型計画法、日科技連、p.264-267)。
【0016】
しかしながらGoldfarb法は一般化逆行列等の複雑な計算が必要なため、プログラミングが困難であった。また一般化逆行列等の計算時間は長く、計算に用いる作業用メモリ領域としてかなり大きなものが必要であった。別の問題として、一般化逆行列の計算は桁落ち等の数値解析上の問題により、デジタル式演算装置では正確な計算ができないことがあり、その現象が生じた場合、計算結果が不正確になるという問題があった。
【0017】
本発明は、デジタル式演算装置の固定小数点演算による準ニュートン射影法にて神経回路網の学習等を行う場合に、計算時間を短く、メモリの消費量も小さく、かつ計算結果が正確になる簡略化準ニュートン射影法演算システムを提供すること、更にこの簡略化準ニュートン射影法演算システムを利用した神経回路網学習システム、これらのシステムをコンピュータシステム上で実現するプログラムを記録した記録媒体および前記神経回路網学習システムによる学習処理により得られた神経回路網を組み込んだ信号処理装置の提供を目的とするものである。
【0018】
【課題を解決するための手段及び発明の効果】
本発明の簡略化準ニュートン射影法演算システムは、固定小数点演算を行うデジタル式演算装置を用いて、式1にて表され式2の制約条件を満たすM個の変数wからなる関数E(w)が最小値となる変数wの解を求めるに際して、基本的には前述した準ニュートン射影法を用いている。
【0019】
すなわち、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式2の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式3により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式4に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式5に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行っている。
【0020】
この準ニュートン射影法による処理において、1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式6に示すごとく表し、各li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式7の記号で表し、更にq行M列の行列Aqを式8に示すごとく表した場合に、前記式4の計算の内、式9にて表す行列の計算の代わりに、m∈Icならばbm=1、m∈Icでないならばbm=0である関数bmを対角要素とする対角行列diag[b1 b2 …bM]の計算を用いることとして、準ニュートン射影法を簡略化している。
【0021】
【数6】
【0022】
この簡略化により、式9に示す一般化逆行列の計算をしなくて済む。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
また同様に、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式12の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式13により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式14に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式15に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行うに際して、次のような処理としても良い。
【0023】
すなわち、ヘシアンHの第i行第j列の要素をhijで表し、全ての制約条件における各係数ベクトルarの第r要素が+1または−1であり、他の要素がすべて0であるとして表すことで、前記式13の計算の内、式16にて表す行列の計算の代わりに、第i行第j列の要素が式17で表されるM行M列の行列の計算を用いることを特徴とするものである。
【0024】
【数7】
【0025】
この簡略化により、5回の行列の乗算が必要な式16が、式17のごとく簡略化される。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
【0026】
また同様に、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式22の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式23により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式24に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式25に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行うに際して、次のような処理としても良い。
【0027】
すなわち、1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式26に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式27の記号で表し、更に前記行列Aqを式28に示すごとくq行M列の行列で表し、∇E(wk)を式29に示すごとく表すことで、前記式24の計算の内、式30にて表す行列の計算の代わりに、式31にて表す計算を用いることを特徴とするものである。
【0028】
【数8】
【0029】
この簡略化により、式30に示す一般化逆行列の計算をしなくて済む。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
また同様に、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式42の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式43により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式44に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式45に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行うに際して、次のような処理としても良い。
【0030】
すなわち、1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式46に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式47の記号で表し、更に前記行列Aqを式48に示すごとくq行M列の行列で表すことで、前記式45の計算の内、式49にて表す行列の計算の代わりに、第s行s列の要素が1で他の要素が全て0であるM行M列の計算を用いることを特徴とするものである。
【0031】
【数9】
【0032】
この簡略化により、行列の計算が不要となる。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
また、これら全ての簡略化を用いたものであっても良く、より一層効果的である。
【0033】
第2処理手段にて用いられる公式としては、BFGS公式、DFP公式あるいは対称ランク1公式が挙げられる。
前記M個の変数wは、神経回路網における入力層のユニットから出力層のユニットに至るユニットを結合するM本のシナプスのシナプス荷重を表し、関数E(w)は前記神経回路網に与えられる教師信号と前記神経回路網の出力との誤差を表し、第1処理手段、第2処理手段および第3処理手段によって行われる関数E(w)が最小値となる変数wの解を求める処理は、前記神経回路網に対する学習処理であるものとして、上述した簡略化準ニュートン射影法演算システムを神経回路網学習システムに適用しても良い。
【0034】
前述したごとく、メモリ不足を生じることなく短時間に学習して、精度の高い神経回路網を作成することができる。
なお、このような簡略化準ニュートン射影法演算システムや神経回路網学習システムの各手段をコンピュータシステムにて実現する機能は、例えば、コンピュータシステム側で起動するプログラムとして備えることができる。このようなプログラムの場合、例えば、フロッピーディスク、光磁気ディスク、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。
【0035】
上述した神経回路網学習システムによる学習処理により得られた神経回路網は、信号処理装置に組み込まれることにより、入力層のユニットから出力層のユニットへ、M本のシナプスのシナプス荷重に基づいて信号を処理することができる。このような信号処理装置に組み込むためには、例えば、処理される入力信号を、神経回路網の入力層のユニットへ入力する入力手段と、神経回路網の出力層のユニットの状態を読み取って信号として出力する出力手段と、を備える。
【0036】
前記神経回路網学習システムによる学習処理は、安価なデジタルコンピュータでも迅速に学習でき、しかも正確な学習結果を得ることができるので、信号処理装置においても精度の高い出力をなすことができる。
【0037】
【発明の実施の形態】
図1は、上述した発明が適用された神経回路網学習システム2の概略構成を表すブロック図である。
本神経回路網学習システム2は、神経回路網12、学習制御部14、標準パターン格納部18を備える。ここでは、神経回路網12はRAMやEEPROM等の書換え可能なメモリが用いられる。更に、学習制御部14はコンピュータ装置として構成され、その中心となるCPUはデジタル式演算装置を用いている。学習制御部14は、ハードディスクにて構成される標準パターン格納部18に他のデータと共に記憶されているプログラムをRAMにロードして後述する神経回路網学習処理を実行する。
【0038】
本神経回路網学習システム2は神経回路網12に対して学習処理を行う。この学習処理では、図2に示すごとく、学習制御部14は標準パターン格納部18内に備えられた教師パターンデータベース18aの標準パターンから、標準入力信号18bを形成して神経回路網12へ出力する。学習制御部14は、標準入力信号18bの入力に伴う神経回路網12からの出力信号18cを、教師パターンデータベース18aの標準パターンから形成した教師信号18dと比較する。この比較結果に基づいて学習制御部14は、シナプス荷重更新指令信号18eを神経回路網12へ出力する。このシナプス荷重更新指令信号18eを受けて神経回路網12ではユニット12aのシナプス荷重、ここではM個のシナプス荷重が調整される。この処理を繰り返すことにより、神経回路網12にて学習が行われる。
【0039】
このようにして学習される神経回路網12の一例として、図3に、オートカーエアコンの制御用途に用いるための神経回路網12の学習例を示す。標準入力信号18bとしてオートカーエアコンの運転状態を検出するセンサからの信号、この神経回路網12では、目標吹出温度、日射量、内気温度および外気温度の信号が入力され、出力信号として風量レベルを出力している。この風量レベル出力信号が学習制御部14にて教師信号と比較されて、シナプス荷重を更新する指令がなされる。これを繰り返すことにより学習がなされる。
【0040】
このようにして学習された結果、適切なシナプス荷重が得られれば、例えば自動車に搭載される電子制御ユニット(ECU)に組み込まれて、オートカーエアコンのセンサから目標吹出温度、日射量、内気温度および外気温度の信号を入力して、風量レベルを出力することにより、オートカーエアコンの風量を制御することができる。
【0041】
上述した学習処理において、シナプス荷重更新指令信号、すなわち、M個のシナプス荷重の変動量は、簡略化準ニュートン射影法演算システムとして構成されている神経回路網学習システム2により決定される。
次に神経回路網学習システム2にておこなわれる神経回路網学習処理について説明する。神経回路網学習処理のフローチャートを図4〜図6に示す。この神経回路網学習処理は、Goldfarb法(たとえば今野 浩、山下 浩、非線型計画法、日科技連、p.264-267)を利用した簡略化準ニュートン射影法によるものである。
【0042】
なお、Goldfarb法は、線形制約条件付き最適化問題を解く手法である。前述した神経回路網12に対して線形制約条件付き最適化問題は以下のように定式化される。
すなわち、M個のシナプス荷重w1,w2,…,wMを変数として、前述した自乗誤差和の関数E(w)は式71のごとく表され、この関数E(w)において、式72で表すK個の不等式を満足する最小値を求める手法である。ただし、wは式73で定義される。
【0043】
【数10】
【0044】
ここで、いくつか用語と記号を定義する。
(1)有効制約とI(w)
あるwに対しaiw−bi=0となる制約条件を、制約条件が有効である(以下、「有効制約」と称する。)と呼ぶ。またその番号iの集合を式74のごとくI(w)で表す。
【0045】
【数11】
【0046】
(2)すべての制約条件を満たす点の集合を許容領域と呼び、式75のごとく記号Sで表す。
【0047】
【数12】
【0048】
(3)wにおける有効制約の数をqとし、有効制約の係数ベクトルai(制約条件が有効である係数ベクトルai)を行に持つq行M列の行列をAqとし、I(w)が式76で表されるとき、Aqは式77のごとく表す。
【0049】
【数13】
【0050】
(4)M×Mの単位行列をIMで表記する。
(5)式78によりM行M列の行列を定義する。第2項に現れる式79はAqの一般化逆行列である。
【0051】
【数14】
【0052】
(6)Goldfarb法では式80で表される条件を満足する点wk+1を見つけるのにヘシアンというM行M列の行列を使用する。k回目の更新におけるヘシアンをHkで示す。ヘシアンHkは常に対称行列であり、式81で表す関係が成立する。
【0053】
【数15】
【0054】
(7)式82のごとく表される∇E(wk)は、点wkにおける関数E(wk)の勾配を示す。これは1行M列の行ベクトルである。∇Et(wk)はその転置であり、M行1列の列ベクトルである。
【0055】
【数16】
【0056】
(8)対角要素がa1 a2 … aMであるM行M列の対角行列を式83に示すごとく表記する。
【0057】
【数17】
【0058】
神経回路網学習処理が開始されると、まず、k=0にkが初期設定され、初期値としてw0∈Sを満足するシナプス荷重w0が選択される(S100)。次に、有効制約の番号の集合I(w0)と、行列Aqとを求める(S102)。
式84により、Pqを求める(S104)。
【0059】
【数18】
【0060】
ここで、diag[b1 b2 … bM]は、m∈I(w0)ならbm=1、m∈I(w0)でないならbm=0である関数bmを対角成分とする対角行列を表している。
次に、ヘシアンHの初期の内容として、Pqをそのまま設定する(S106)。
【0061】
次に、学習制御部14はシナプス荷重更新指令信号18eを神経回路網12に出力して、神経回路網12の実際のシナプス荷重をw0の値に設定する(S110)。
次に、標準パターン格納部18からの標準パターンの内の標準入力信号18bを、神経回路網12の入力層のユニット12aに入力し、同時に神経回路網12の出力層のユニット12aからの出力信号18cを、学習制御部14内のメモリに記録する(S120)。
【0062】
次に、E(wk)が算出され(S130)、更に∇E(wk)が算出される(S134)。
E(wk)は、式85に示すごとく、tで表す標準パターンの教師信号18dとoで表す神経回路網12の出力信号18cとの自乗誤差和に該当する。
【0063】
【数19】
【0064】
ここで、Nは出力層のユニット数、Pは標準パターンの数である。
∇E(wk)は、式86に示すごとく定義される。
【0065】
【数20】
【0066】
次に、∇E(wk)を転置した∇tE(wk)をヘシアンHkにより、式87のごとくの計算により、E(wk)の変化方向を表すベクトルdkを求める(S140)。
【0067】
【数21】
【0068】
次に、dk=0か否かが判定される(S150)。dk=0で無ければ(S150にて「NO」)、次に直線探索により、新たなシナプス荷重wk+1を設定する(S190)。ただし、直線探索は、式88に示す計算によって行われる。
【0069】
【数22】
【0070】
ここで、係数行列αkは、αk>0 かつwk+1∈Sとなる範囲で設定する。
次に、新たに設定されたシナプス荷重wk+1を神経回路網12のシナプス荷重として設定して、標準入力信号18bを神経回路網12の入力層のユニット12aに入力し、出力層のユニット12aからの出力信号18cと教師信号18dとによる、式85に示した計算を行って、E(wk+1)を算出する(S200)。そして、式89を満足するか否かを判定する(S210)。
【0071】
【数23】
【0072】
式89を満足していなければ(S210で「NO」)、再度、ステップS190に戻って、更に直線探索を継続して、E(wk+1)を検討する。
直線探索の結果、式89を満足すれば(S210で「YES」)、次に、式72で示した制約条件の内、新たに有効制約となったものがあるか否かが判定される(S220)。新たに有効になった制約条件がなければ(S220で「NO」)、BFGS公式によりHkを更新する(S230)。
【0073】
BFGS公式による計算は、式90に示すごとくなされる。なお、sk=wk+1−wk、rk=∇tE(wk+1)−∇tE(wk)とする。
【0074】
【数24】
【0075】
一方、新たに有効になった制約条件があれば(S220で「YES」)、式91にて新たなヘシアンHk+1を算出する(S240)。
【0076】
【数25】
【0077】
ここで、Rkは、Hkの第i行第j列の要素をhk ijとした場合に、式92で示すごとく第i行第j列の要素が表される行列である。
【0078】
【数26】
【0079】
次に、新たに有効になった制約条件を行列Aqに加えて、Aq+1とし(S250)、有効制約の数を表すカウンタqをインクリメントする(S260)。
そして、kをインクリメントする(S270)。ステップS230の処理が終了した場合もこのステップS270の処理を行う。
【0080】
ステップS270の次にkがkの上限値kmaxを越えていないか判定し(S272)、越えていなければ(S272で「NO」)、新たな∇E(wk)を算出し(S134)、新たなヘシアンHkと∇tE(wk)とにより、式87に示したごとく、ベクトルdkを求め(S140)、dk=0でなければ(S150で「NO」)、前述した処理が繰り返される。
【0081】
もし、dk=0であった場合には(S150で「YES」)、ラグランジュ乗数λを式93のごとく算出する(S280)。ここで、I(wk)は、式94、∇E(wk)は式95のごとく定義されている。
【0082】
【数27】
【0083】
次にラグランジュ乗数λの全要素が非負、すなわち、λの全要素≧0か否かが判定される(S290)。ラグランジュ乗数λの全要素が非負でない場合(S290で「NO」)は、現在のシナプス荷重wkは解ではないので、ラグランジュ乗数λの要素の内、最も小さい要素、すなわち負で絶対値が最大の要素(番号s)に対応する制約条件asをAqから取り除き、Aq-1とする(S300)。
【0084】
次にI(wk)から番号sを取り除く(S310)。そして、式96の計算にて、新たなヘシアンHk+1を算出する(S320)。
【0085】
【数28】
【0086】
ここでDsは、第s行第s列の要素が1で他は全て0のM行M列の行列である。
次にqがステップS300でAqから要素を1つ取り除いたことに対応して、1つ減算される(S330)。
【0087】
次にkをインクリメントして(S340)、kがkの上限値kmaxを越えていないか判定し(S342)、越えていなければ(S342で「NO」)、ベクトルdkを求める処理(S140)に戻る。以後、ステップS150またはステップS290にて「NO」と判定される限り、前述した処理を繰り返し、学習が継続される。
【0088】
ステップS290にてラグランジュ乗数λの全要素が非負であると判定された場合(S290にて「YES」)、この時に設定されているwkが解として記録される(S350)。こうして学習処理は終了する。なお、ステップS272またはステップS342にて、k>kmaxと判定された場合も、この時に設定されているwkが解として記録され(S350)、学習処理を終了する。
【0089】
上述した学習処理では、計算上、4つの簡略化を行っている。そして、この4つの簡略化は、神経回路網12のシナプス荷重wに上下限を設定するに際して、前記式72にて示した制約条件の係数ベクトルaiが、第li要素が−1または1であり、他の要素が全て0の1行M列の行ベクトルであるとの制約のもとに、初めて得られる。ここで便宜上、aiをcで表すと、式97に示すごとくとなる。
【0090】
【数29】
【0091】
更に、式97をZ毎に区別して表すと、式98のごとくに表すことができる。
【0092】
【数30】
【0093】
このような係数ベクトルaiの制約による簡略化について説明する。
[第1の簡略化]
ステップS104におけるPqの算出に際して、式99に示す計算を行っている。
【0094】
【数31】
【0095】
従来知られているPqの計算は、式100に示すごとくの一般化逆行列の計算である。
【0096】
【数32】
【0097】
簡単のため、1行M列で第m番目の要素がxで他の要素が全て0であるベクトルをeM m(x)と表記する。eM m(x)について、式101が成立する。
【0098】
【数33】
【0099】
なお、前記式97のcli Zは式102のように表記できる。
【0100】
【数34】
【0101】
次に、i,j=1,2,…,qとして、AqAq tの第i行第j列要素は、cli(cli)tである。i=jならli=lj、i≠jならli≠ljであるから、式103が整成立する。
【0102】
【数35】
【0103】
したがって、AqAq tはq行q列の単位行列Iqであり、(AqAq t)-1もq行q列の式104で表すごとく単位行列Iqとなる。
【0104】
【数36】
【0105】
式104から、式105が成立する。
【0106】
【数37】
【0107】
Aqの第i列ベクトル(i=1,2,…,M)をdiで表記する。これは、式106に示すごとくである。
【0108】
【数38】
【0109】
すると、Aq tAqの第i行第j列要素は、(di)tdjとなる。
さて、式107が成立するならdi=0である。したがって式107または式108が成立するなら(di)tdj=0となる。
【0110】
【数39】
【0111】
一方、式109が成立するなら、i=lu、j=lvとなる数u,vが存在する。diは第u要素がclu、他の要素は0のベクトルとなる。すなわち、式110が成立し、同様に式111が成立する。
【0112】
【数40】
【0113】
i=jならu=v、i≠jならu≠vであるので、式112が成立する。
【0114】
【数41】
【0115】
以上より、(di)tdj=1となるのは、i=jかつi∈Ic(wk)のときに限る。したがって、bmを式113のごとく表すと、Aq tAqは、式114のごとく表される。
【0116】
【数42】
【0117】
すなわち式99が証明された。したがって、一般化逆行列の計算を実行しなくても、ステップS104におけるPqの算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0118】
[第2の簡略化]
ステップS240におけるHk+1の算出に際して、Hk+1の各要素について、式115に示す計算を行っている。
【0119】
【数43】
【0120】
従来知られているHk+1の計算は、式116に示すごとくの行列の計算である。
【0121】
【数44】
【0122】
ここで、wkをwk+1に更新して、wr k+1=−Bまたはwr k+1=Bになったとする。すると、制約条件cr Zwk+1−Bが新たに有効制約となる。ar=cr Zとおくと、前記式116は、式117のごとく表される。
【0123】
【数45】
【0124】
この内、前記式117の第2項の分母と分子とに共通のHk(cr Z)tを計算すると式118のごとくになる。
【0125】
【数46】
【0126】
したがって、前記式117の第2項の分母は式119のように計算できる。
【0127】
【数47】
【0128】
次に、Hk t=Hkの関係より、前記式117の第2項の分子の一部であるcr ZHkは、式120の計算式に示すごとく、分子の他の部分であるHk(cr Z)tを転置したものに等しい。
【0129】
【数48】
【0130】
前記式118と前記式120とにより、前記式117の第2項の分子は式121で表される。
【0131】
【数49】
【0132】
前記式119と前記式121との関係から、前記式115の関係が得られる。したがって、5回の行列の乗算が必要な式116が、式115のごとく簡略化さえる。ステップS240におけるHk+1の算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成作業が容易となる。
【0133】
[第3の簡略化]
ステップS280におけるラグランジュ乗数λの算出に際して、式122に示す計算を行っている。
【0134】
【数50】
【0135】
従来知られているλの計算は、式123に示すごとくの一般化逆行列を含む計算である。
【0136】
【数51】
【0137】
ここで、前記式104の関係から、式124の関係が成立する。
【0138】
【数52】
【0139】
したがって、λのi番目の要素は式125のように求められ、前記式122が証明された。
【0140】
【数53】
【0141】
したがって、一般化逆行列の計算を実行しなくても、ステップS280におけるλの算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0142】
[第4の簡略化]
ステップS320におけるHk+1の算出に際して、式126に示す計算を行っている。
【0143】
【数54】
【0144】
ここでDsは、第s行第s列の要素が1で他は全て0のM行M列の行列である。
従来知られているHk+1の計算は、式127に示すごとくの一般化逆行列の計算である。
【0145】
【数55】
【0146】
ここで、制約条件cs Zwk−B=0を有効制約から取り除くとする。式128の条件が成立するので、bs=0となる。
【0147】
【数56】
【0148】
as=cs Zとおくと、式127は、式129のごとく表される。
【0149】
【数57】
【0150】
はじめに、前記式129の第2項の分母と分子とに共通なPq-1(cs Z)tを計算する。前記式99の関係から式130の関係が存在する。
【0151】
【数58】
【0152】
ここで、bs=0であるので、Pq-1の第s行第s列の要素は1である。これにより、前記式129の第2項の分母と分子とに共通なPq-1(cs Z)tは式131に示すごとく(cs Z)tに等しいことがわかる。
【0153】
【数59】
【0154】
したがって、第2項の分母は、式132に示すごとく1となる。
【0155】
【数60】
【0156】
一方、Pq-1 t=Pq-1であることにより第2項の分子の一部であるcs ZPq-1は式133に示すごとく、第2項の他の一部であるPq-1(cs Z)tを転置したcs Zとなる。
【0157】
【数61】
【0158】
したがって、第2項の分子は、式134に示すごとくとなり、第s行第s列の要素が1で、他の要素は全て0のM行M列の行列となる。
【0159】
【数62】
【0160】
すなわち、第i行第j列の要素をpijとすると、式135のように表すことができる。
【0161】
【数63】
【0162】
したがって、一般化逆行列の計算を実行しなくても、ステップS320におけるHk+1の算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0163】
以上述べたように、固定小数点式デジタル演算装置で実行する神経回路網12のシナプス荷重のダイナミックレンジを抑制するために、シナプス荷重の絶対値に上限値を設定し、その範囲内で学習を行なうGoldfarb法を適用する際に、上述のごとく、前記式72にて示した制約条件の係数ベクトルaiが、第li要素が−1または1であり、他の要素が全て0の1行M列の行ベクトルであるとの制約のもとに、一般化逆行列の複雑な計算を不要にできるため、神経回路網12の学習プログラムのプログラミングは容易となる。また計算時間、メモリ使用量を削減できる。更に、別の効果として、一般化逆行列の計算は桁落ち等の数値解析上の問題により、正確な計算ができない場合があるが、上述した簡略化によりその問題を回避でき、より正確な数値解が得られるという利点もある。
【0164】
なお、本実施の形態では各シナプス荷重wi(i=1,2,…,M)の絶対値に共通の上限値Bを設定した場合、すなわち|wi|≦Bについて簡略計算式を導出し、証明した。しかしこれらの式は、各シナプス荷重wiにそれぞれ別個に上限値Bi U、下限値Bi Lを設定した場合、すなわちBi L≦wi≦Bi Uとした場合にも同様に有効である。また本実施の形態は階層型神経回路網について説明したが、降下法により学習できる神経回路網であれば、他のモデル(リカレントニューラルネットワーク等)にも適用可能である。
【0165】
[実験例]
オートカーエアコン風量制御に本発明を適用した効果を示す実験結果を以下に説明する。本実験では、前述した4つの簡略化を行った処理にて学習した場合(「実施例」で表す。)と、従来の学習法であるBFGS公式を用いたGoldfarb法(「従来法」で表す。)にて学習した場合との比較を行ない、固定小数点演算での神経回路網出力の誤差を評価した。
【0166】
A.要領
比較に用いた適用事例、神経回路網の構成等の条件を以下に示す。オートカーエアコンをA/Cと略記する。
(a)適用事例
A/C吹き出し口制御 (FACE,B/L,FOOT等の切り替え)
(b)入出力の仕様
入出力は、4入力1出力である。各入力の仕様を表1に、各出力の仕様を表2に示す。入力センサー値範囲のうち、単純なif-thenルールによりプログラム処理できる領域を除いた部分を神経回路網により処理する。神経回路網へは、各センサー信号をセンサー値範囲で[0,1]に正規化して入力する。
【0167】
【表1】
【0168】
【表2】
【0169】
出力信号である吹出口モードにしたがい、A/Cは以下のようにモードを切り替えさせるものとする。
【0170】
【表3】
【0171】
吹出口モードの許容誤差は±0.1であるが、モード切替点では確実にモードを切り替えるため、誤差をできるだけ小さくする必要がある。
(c)教師パターン数
5915個 (うち3944個を学習に使用)
(d)神経回路網の構成
4層型神経回路網 (入力層4ユニット、第1中間層8ユニット、第2中間層8ユニット、出力層1ユニット)
入力ユニットは線形ユニット、中間、出力ユニットはシグモイドユニット
(e)評価方法
ステップ1.従来法、実施例(上限値B=64、128)それぞれにつき、初期値を変えて20回学習を行なった。各神経回路網係数の初期値は(−1、1)の範囲の乱数とする。学習サイクルは各試行とも1000回とする。
【0172】
ステップ2.各神経回路網を浮動小数点演算、固定小数点演算で計算し、式136に示すごとく全パターンに対する自乗誤差和Eを算出して比較する。
【0173】
【数64】
【0174】
B.実験結果
自乗誤差和Eの計算結果を表4に示す。試行番号が同じ神経回路網は同一の初期値から学習を開始している。 従来法は浮動小数点演算において最良の結果を示し、試行3、12、13、17で自乗誤差和Eはほぼ0となった。しかしながら固定小数点演算では試行により演算精度が低下し、自乗誤差和Eが異常に大きくなることがあった(試行3、10等)。自乗誤差和Eの最大値を比較すると、従来法で187.1となったのに対し、実施例は上限値B=64、128それぞれで1.372、1.079となった。これより固定小数点演算に関し、実施例は、従来法より神経回路網の初期値依存性が低く、試行による自乗誤差和Eのばらつきの少ないことが分かる。
【0175】
【表4】
【0176】
次に、従来法、実施例につき固定小数点演算における自乗誤差和Eの最も小さいもの3つを選択し、シナプス荷重の絶対値の最大値、教師出力と神経回路網出力との絶対誤差の最大値を比較した。従来法の結果を表5に、実施例の上限値B=64の場合の結果を表6に、実施例の上限値B=128の場合の結果を表7に示す。
【0177】
【表5】
【0178】
【表6】
【0179】
【表7】
【0180】
最小の自乗誤差和Eを比較すると、実施例が2桁小さく、より正確な入出力関数が実現できた。絶対誤差の最大値も本実施の形態が従来法より小さく、優れた性能を示した。許容誤差は各学習法すべて±0.1の範囲内であるが、従来法では出力値0.3、0.4、0.5付近で大きな自乗誤差和Eが発生した。特に0.3、0.5はモード切替点であり、この神経回路網を制御に用いることはできない。一方、実施例では上限値B=64、128いずれにおいても特定の出力値で大きな自乗誤差和Eが発生する現象はなかった。
【0181】
表8に演算方式の違いによる実施例と従来例との自乗誤差和Eの比較を示す。
【0182】
【表8】
【0183】
表8からわかるように、実施例では浮動小数点演算でも、固定小数点演算でもほとんど自乗誤差和Eに差はないが、従来法では極めて大きな差を生じる。このことから、従来法は、ECU等において一般的に用いられている固定小数点演算を行う演算装置に用いるのは不適であることがわかる。
【0184】
図7に実施例と従来法とによる制御曲線の比較を示す。図中の教師出力は実現すべき制御曲線を、神経回路網出力は神経回路網の出力した制御曲線を示す。(a)は実施例による結果、(b)は従来法の結果である。
従来法では出力値0.3、0.4、0.5で大きな自乗誤差和Eが発生したのに対し、実施例は教師出力曲線、神経回路網出力曲線がほぼ一致したことが分かる。これより実施例の効果を確認した。
【0185】
【その他】
上述した実施の形態では、学習制御部14は、ハードディスクとして構成されている標準パターン格納部18に記憶されているプログラムをRAMにロードして神経回路網学習処理を実行したが、これ以外に、例えば、フロッピーディスク、光磁気ディスク、CD−ROM等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いても良い。この他、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。
【図面の簡単な説明】
【図1】 一実施の形態としての神経回路網学習システムの概略構成を表すブロック図である。
【図2】 前記神経回路網学習システムによる神経回路網に対する学習処理の説明図である。
【図3】 前記神経回路網学習システムによるオートカーエアコン制御用の神経回路網に対する学習処理の説明図である。
【図4】 前記神経回路網学習システムによる神経回路網学習処理のフローチャートである。
【図5】 前記神経回路網学習システムによる神経回路網学習処理のフローチャートである。
【図6】 前記神経回路網学習システムによる神経回路網学習処理のフローチャートである。
【図7】 実施例と従来法との学習の効果を示す説明図である。
【図8】 従来の学習における自乗誤差和Eの推移状態説明図である。
【符号の説明】
2…神経回路網学習システム 12…神経回路網 12a…ユニット
14…学習制御部 18…標準パターン格納部
18a…教師パターンデータベース 18b…標準入力信号
18c…出力信号 18d…教師信号
18e…シナプス荷重更新指令信号
【発明の属する技術分野】
本発明は、簡略化準ニュートン射影法演算システム、このシステムを利用した神経回路網学習システム、これらのシステムをコンピュータシステム上で実現するプログラムを記録した記録媒体、および信号処理装置に関する。
【0002】
【従来の技術】
神経回路網(ニューラルネットワークとも言う。)は、パターン認識やデータ処理等に広く応用されている。この神経回路網は、繰り返し行われる学習処理によりその処理能力を獲得するものであり、迅速な学習と学習処理後に獲得される能力向上のために、シナプス荷重の変更方法がいくつか提案されている。
【0003】
神経回路網はユニットからなる入力層、中間層、出力層と各層間を結合するシナプスから構成される。各シナプスはシナプス荷重という重みを持ち、このシナプス荷重を学習により変えることで様々な入出力特性を実現できる。以下シナプスの総数をMとし、各シナプス荷重をw1,w2,…wMとする。また、w=[w1,w2,…wM]tで表す。
【0004】
神経回路網の学習は、教師入力信号を神経回路網に入力したときの神経回路網出力信号を計算し、この出力信号と教師出力信号と比較し、比較結果に基づいて各シナプス荷重w1,w2,…,wMを変更して、教師出力信号と神経回路網出力信号との誤差、例えば、自乗誤差和E(w)が最小になるようにする処理である。
【0005】
一般に最小値はたとえばバックプロパゲーション法(McClelland,J.L.,Rumelhart,D.E., and the PDP Research Group, Parallel Distributed Processing: Explorations in the Microstructure of Cognition, MIT Press, Chapter 8, 1986)などの降下法によって計算する。
【0006】
このバックプロパゲーション法の計算ステップを説明する。ここで、kは更新回数、kmaxは更新回数の上限である。また降下法の模式図を図8(a)に示す。(厳密に言うと、以下のステップで求まるのは最小値ではなく極小値であるが、以下の説明において本質的な違いをもたらすものではない。)
ステップ1:k=0として、神経回路網のシナプス荷重に初期値wkを設定する。
【0007】
ステップ2:wkにおけるE(wk)の勾配∇E(wk)を計算する。∇E(wk)=0ならステップ4に飛ぶ。
ステップ3:E(wk+1)<E(wk)を満たす新たな点wk+1を見つける。そしてwkにwk+1の値を設定して新たなwkとして、k<kmaxならステップ2に戻る。k=kmaxなら、ステップ4に移る。
【0008】
ステップ4:wkを解とする。
図8(a)の例では誤差曲面301において、初期値w0を与えたときの学習の進行する様子を示す。ここではk回更新後の値wkにおいて最小値に収束している。
【0009】
しかし適用事例によっては最小値が空間の無限遠に存在するものがある。このような事例の学習を行なうと、一部のシナプス荷重の絶対値がたとえば1000を超えて増大し続ける。その例を図8(b)に示す。このような神経回路網はシナプス荷重のダイナミックレンジが大きく、デジタル式演算装置の浮動小数点演算では正しい入出力特性が得られるが、固定小数点演算では大きな量子化誤差が発生し所望の入出力特性が得られない。民生品ではコスト削減等の理由で固定小数点CPUを用いるので、シナプス荷重が過大になるような神経回路網を組み込んで使用することはできない。
【0010】
例えば、語長16ビットの固定小数点演算で神経回路網を計算する場合を考える。[sxxxxxxx.xxxxxxxx]は小数部に8ビットを割り当てたデータ型を示す。sは符号ビット、xは数値データを表すビットである。このデータ型で表現できる数の精度は「1/28=0.00390625」であり、範囲は[−216-1/28,(216-1−1)/28]=[−128,127.99609375]である。
【0011】
神経回路網を固定小数点演算で実現する場合、シナプス荷重w=[w1 w2 … wM]tを固定小数点データ型で表現する。データ型は各シナプス荷重の絶対値の最大値により決まる。たとえばその値が1000であるとすると、その格納のため整数部は10ビット必要となり、小数部は5ビットしか取れない。すなわち、[sxxxxxxxxxx.xxxxx]となる。この精度は「1/25=0.03125」であり、範囲は[−216-1/25,(216-1−1)/25]=[−1024,1023.96875]である。これでは演算精度を低下させ、量子化誤差が増大する原因となる。
【0012】
上述した量子化誤差を低減させる方法として、バックプロパゲーション法にてシナプス荷重に上下限を設けて、学習させる方法が知られている(特開平7−152716号公報,特開平7−44515号公報,特開平2−143384号公報)が、バックプロパゲーション法の特質から計算速度を高める各種の工夫が困難であり計算速度は不十分なものであった。
【0013】
この他に、シナプス荷重の絶対値増大を抑制する方法としては、ペナルティ関数法がある(Michael A.Arbib, The Handbook of Brain Theory and Neural Networks, MIT Press,p643,p992)。これはG(w)=E(w)+μ×F(w)で定義された自乗誤差和E(w)と各シナプスの自乗の関数であるペナルティ項F(w)の和で定義される関数G(w)を最小化する方法である。係数μはE(w)とF(w)との相対的な重要度を決めるパラメーターである。
【0014】
しかしながらペナルティ関数法ではパラメーターμを試行錯誤により設定しなければならないという問題があり、適切な解が得られるまでに長時間を要した。
【0015】
【発明が解決しようとする課題】
上述した問題を生じない方法として、シナプス荷重の絶対値に上限を設定し、その上限を超えない範囲で学習を行なうことが考えられる。その実現には準ニュートン射影法であるGoldfarb(コールドファーブ)法が利用できる(たとえば今野 浩、山下 浩、非線型計画法、日科技連、p.264-267)。
【0016】
しかしながらGoldfarb法は一般化逆行列等の複雑な計算が必要なため、プログラミングが困難であった。また一般化逆行列等の計算時間は長く、計算に用いる作業用メモリ領域としてかなり大きなものが必要であった。別の問題として、一般化逆行列の計算は桁落ち等の数値解析上の問題により、デジタル式演算装置では正確な計算ができないことがあり、その現象が生じた場合、計算結果が不正確になるという問題があった。
【0017】
本発明は、デジタル式演算装置の固定小数点演算による準ニュートン射影法にて神経回路網の学習等を行う場合に、計算時間を短く、メモリの消費量も小さく、かつ計算結果が正確になる簡略化準ニュートン射影法演算システムを提供すること、更にこの簡略化準ニュートン射影法演算システムを利用した神経回路網学習システム、これらのシステムをコンピュータシステム上で実現するプログラムを記録した記録媒体および前記神経回路網学習システムによる学習処理により得られた神経回路網を組み込んだ信号処理装置の提供を目的とするものである。
【0018】
【課題を解決するための手段及び発明の効果】
本発明の簡略化準ニュートン射影法演算システムは、固定小数点演算を行うデジタル式演算装置を用いて、式1にて表され式2の制約条件を満たすM個の変数wからなる関数E(w)が最小値となる変数wの解を求めるに際して、基本的には前述した準ニュートン射影法を用いている。
【0019】
すなわち、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式2の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式3により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式4に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式5に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行っている。
【0020】
この準ニュートン射影法による処理において、1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式6に示すごとく表し、各li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式7の記号で表し、更にq行M列の行列Aqを式8に示すごとく表した場合に、前記式4の計算の内、式9にて表す行列の計算の代わりに、m∈Icならばbm=1、m∈Icでないならばbm=0である関数bmを対角要素とする対角行列diag[b1 b2 …bM]の計算を用いることとして、準ニュートン射影法を簡略化している。
【0021】
【数6】
【0022】
この簡略化により、式9に示す一般化逆行列の計算をしなくて済む。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
また同様に、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式12の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式13により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式14に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式15に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行うに際して、次のような処理としても良い。
【0023】
すなわち、ヘシアンHの第i行第j列の要素をhijで表し、全ての制約条件における各係数ベクトルarの第r要素が+1または−1であり、他の要素がすべて0であるとして表すことで、前記式13の計算の内、式16にて表す行列の計算の代わりに、第i行第j列の要素が式17で表されるM行M列の行列の計算を用いることを特徴とするものである。
【0024】
【数7】
【0025】
この簡略化により、5回の行列の乗算が必要な式16が、式17のごとく簡略化される。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
【0026】
また同様に、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式22の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式23により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式24に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式25に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行うに際して、次のような処理としても良い。
【0027】
すなわち、1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式26に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式27の記号で表し、更に前記行列Aqを式28に示すごとくq行M列の行列で表し、∇E(wk)を式29に示すごとく表すことで、前記式24の計算の内、式30にて表す行列の計算の代わりに、式31にて表す計算を用いることを特徴とするものである。
【0028】
【数8】
【0029】
この簡略化により、式30に示す一般化逆行列の計算をしなくて済む。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
また同様に、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式42の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式43により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式44に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式45に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、を備えることにより、準ニュートン射影法による演算を行うに際して、次のような処理としても良い。
【0030】
すなわち、1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式46に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式47の記号で表し、更に前記行列Aqを式48に示すごとくq行M列の行列で表すことで、前記式45の計算の内、式49にて表す行列の計算の代わりに、第s行s列の要素が1で他の要素が全て0であるM行M列の計算を用いることを特徴とするものである。
【0031】
【数9】
【0032】
この簡略化により、行列の計算が不要となる。したがって、計算時間が長くならず、計算に用いる作業用メモリ領域も小さくて済む。更に、桁落ち等の数値解析上の問題が生じないので、正確な計算ができる。
また、これら全ての簡略化を用いたものであっても良く、より一層効果的である。
【0033】
第2処理手段にて用いられる公式としては、BFGS公式、DFP公式あるいは対称ランク1公式が挙げられる。
前記M個の変数wは、神経回路網における入力層のユニットから出力層のユニットに至るユニットを結合するM本のシナプスのシナプス荷重を表し、関数E(w)は前記神経回路網に与えられる教師信号と前記神経回路網の出力との誤差を表し、第1処理手段、第2処理手段および第3処理手段によって行われる関数E(w)が最小値となる変数wの解を求める処理は、前記神経回路網に対する学習処理であるものとして、上述した簡略化準ニュートン射影法演算システムを神経回路網学習システムに適用しても良い。
【0034】
前述したごとく、メモリ不足を生じることなく短時間に学習して、精度の高い神経回路網を作成することができる。
なお、このような簡略化準ニュートン射影法演算システムや神経回路網学習システムの各手段をコンピュータシステムにて実現する機能は、例えば、コンピュータシステム側で起動するプログラムとして備えることができる。このようなプログラムの場合、例えば、フロッピーディスク、光磁気ディスク、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。
【0035】
上述した神経回路網学習システムによる学習処理により得られた神経回路網は、信号処理装置に組み込まれることにより、入力層のユニットから出力層のユニットへ、M本のシナプスのシナプス荷重に基づいて信号を処理することができる。このような信号処理装置に組み込むためには、例えば、処理される入力信号を、神経回路網の入力層のユニットへ入力する入力手段と、神経回路網の出力層のユニットの状態を読み取って信号として出力する出力手段と、を備える。
【0036】
前記神経回路網学習システムによる学習処理は、安価なデジタルコンピュータでも迅速に学習でき、しかも正確な学習結果を得ることができるので、信号処理装置においても精度の高い出力をなすことができる。
【0037】
【発明の実施の形態】
図1は、上述した発明が適用された神経回路網学習システム2の概略構成を表すブロック図である。
本神経回路網学習システム2は、神経回路網12、学習制御部14、標準パターン格納部18を備える。ここでは、神経回路網12はRAMやEEPROM等の書換え可能なメモリが用いられる。更に、学習制御部14はコンピュータ装置として構成され、その中心となるCPUはデジタル式演算装置を用いている。学習制御部14は、ハードディスクにて構成される標準パターン格納部18に他のデータと共に記憶されているプログラムをRAMにロードして後述する神経回路網学習処理を実行する。
【0038】
本神経回路網学習システム2は神経回路網12に対して学習処理を行う。この学習処理では、図2に示すごとく、学習制御部14は標準パターン格納部18内に備えられた教師パターンデータベース18aの標準パターンから、標準入力信号18bを形成して神経回路網12へ出力する。学習制御部14は、標準入力信号18bの入力に伴う神経回路網12からの出力信号18cを、教師パターンデータベース18aの標準パターンから形成した教師信号18dと比較する。この比較結果に基づいて学習制御部14は、シナプス荷重更新指令信号18eを神経回路網12へ出力する。このシナプス荷重更新指令信号18eを受けて神経回路網12ではユニット12aのシナプス荷重、ここではM個のシナプス荷重が調整される。この処理を繰り返すことにより、神経回路網12にて学習が行われる。
【0039】
このようにして学習される神経回路網12の一例として、図3に、オートカーエアコンの制御用途に用いるための神経回路網12の学習例を示す。標準入力信号18bとしてオートカーエアコンの運転状態を検出するセンサからの信号、この神経回路網12では、目標吹出温度、日射量、内気温度および外気温度の信号が入力され、出力信号として風量レベルを出力している。この風量レベル出力信号が学習制御部14にて教師信号と比較されて、シナプス荷重を更新する指令がなされる。これを繰り返すことにより学習がなされる。
【0040】
このようにして学習された結果、適切なシナプス荷重が得られれば、例えば自動車に搭載される電子制御ユニット(ECU)に組み込まれて、オートカーエアコンのセンサから目標吹出温度、日射量、内気温度および外気温度の信号を入力して、風量レベルを出力することにより、オートカーエアコンの風量を制御することができる。
【0041】
上述した学習処理において、シナプス荷重更新指令信号、すなわち、M個のシナプス荷重の変動量は、簡略化準ニュートン射影法演算システムとして構成されている神経回路網学習システム2により決定される。
次に神経回路網学習システム2にておこなわれる神経回路網学習処理について説明する。神経回路網学習処理のフローチャートを図4〜図6に示す。この神経回路網学習処理は、Goldfarb法(たとえば今野 浩、山下 浩、非線型計画法、日科技連、p.264-267)を利用した簡略化準ニュートン射影法によるものである。
【0042】
なお、Goldfarb法は、線形制約条件付き最適化問題を解く手法である。前述した神経回路網12に対して線形制約条件付き最適化問題は以下のように定式化される。
すなわち、M個のシナプス荷重w1,w2,…,wMを変数として、前述した自乗誤差和の関数E(w)は式71のごとく表され、この関数E(w)において、式72で表すK個の不等式を満足する最小値を求める手法である。ただし、wは式73で定義される。
【0043】
【数10】
【0044】
ここで、いくつか用語と記号を定義する。
(1)有効制約とI(w)
あるwに対しaiw−bi=0となる制約条件を、制約条件が有効である(以下、「有効制約」と称する。)と呼ぶ。またその番号iの集合を式74のごとくI(w)で表す。
【0045】
【数11】
【0046】
(2)すべての制約条件を満たす点の集合を許容領域と呼び、式75のごとく記号Sで表す。
【0047】
【数12】
【0048】
(3)wにおける有効制約の数をqとし、有効制約の係数ベクトルai(制約条件が有効である係数ベクトルai)を行に持つq行M列の行列をAqとし、I(w)が式76で表されるとき、Aqは式77のごとく表す。
【0049】
【数13】
【0050】
(4)M×Mの単位行列をIMで表記する。
(5)式78によりM行M列の行列を定義する。第2項に現れる式79はAqの一般化逆行列である。
【0051】
【数14】
【0052】
(6)Goldfarb法では式80で表される条件を満足する点wk+1を見つけるのにヘシアンというM行M列の行列を使用する。k回目の更新におけるヘシアンをHkで示す。ヘシアンHkは常に対称行列であり、式81で表す関係が成立する。
【0053】
【数15】
【0054】
(7)式82のごとく表される∇E(wk)は、点wkにおける関数E(wk)の勾配を示す。これは1行M列の行ベクトルである。∇Et(wk)はその転置であり、M行1列の列ベクトルである。
【0055】
【数16】
【0056】
(8)対角要素がa1 a2 … aMであるM行M列の対角行列を式83に示すごとく表記する。
【0057】
【数17】
【0058】
神経回路網学習処理が開始されると、まず、k=0にkが初期設定され、初期値としてw0∈Sを満足するシナプス荷重w0が選択される(S100)。次に、有効制約の番号の集合I(w0)と、行列Aqとを求める(S102)。
式84により、Pqを求める(S104)。
【0059】
【数18】
【0060】
ここで、diag[b1 b2 … bM]は、m∈I(w0)ならbm=1、m∈I(w0)でないならbm=0である関数bmを対角成分とする対角行列を表している。
次に、ヘシアンHの初期の内容として、Pqをそのまま設定する(S106)。
【0061】
次に、学習制御部14はシナプス荷重更新指令信号18eを神経回路網12に出力して、神経回路網12の実際のシナプス荷重をw0の値に設定する(S110)。
次に、標準パターン格納部18からの標準パターンの内の標準入力信号18bを、神経回路網12の入力層のユニット12aに入力し、同時に神経回路網12の出力層のユニット12aからの出力信号18cを、学習制御部14内のメモリに記録する(S120)。
【0062】
次に、E(wk)が算出され(S130)、更に∇E(wk)が算出される(S134)。
E(wk)は、式85に示すごとく、tで表す標準パターンの教師信号18dとoで表す神経回路網12の出力信号18cとの自乗誤差和に該当する。
【0063】
【数19】
【0064】
ここで、Nは出力層のユニット数、Pは標準パターンの数である。
∇E(wk)は、式86に示すごとく定義される。
【0065】
【数20】
【0066】
次に、∇E(wk)を転置した∇tE(wk)をヘシアンHkにより、式87のごとくの計算により、E(wk)の変化方向を表すベクトルdkを求める(S140)。
【0067】
【数21】
【0068】
次に、dk=0か否かが判定される(S150)。dk=0で無ければ(S150にて「NO」)、次に直線探索により、新たなシナプス荷重wk+1を設定する(S190)。ただし、直線探索は、式88に示す計算によって行われる。
【0069】
【数22】
【0070】
ここで、係数行列αkは、αk>0 かつwk+1∈Sとなる範囲で設定する。
次に、新たに設定されたシナプス荷重wk+1を神経回路網12のシナプス荷重として設定して、標準入力信号18bを神経回路網12の入力層のユニット12aに入力し、出力層のユニット12aからの出力信号18cと教師信号18dとによる、式85に示した計算を行って、E(wk+1)を算出する(S200)。そして、式89を満足するか否かを判定する(S210)。
【0071】
【数23】
【0072】
式89を満足していなければ(S210で「NO」)、再度、ステップS190に戻って、更に直線探索を継続して、E(wk+1)を検討する。
直線探索の結果、式89を満足すれば(S210で「YES」)、次に、式72で示した制約条件の内、新たに有効制約となったものがあるか否かが判定される(S220)。新たに有効になった制約条件がなければ(S220で「NO」)、BFGS公式によりHkを更新する(S230)。
【0073】
BFGS公式による計算は、式90に示すごとくなされる。なお、sk=wk+1−wk、rk=∇tE(wk+1)−∇tE(wk)とする。
【0074】
【数24】
【0075】
一方、新たに有効になった制約条件があれば(S220で「YES」)、式91にて新たなヘシアンHk+1を算出する(S240)。
【0076】
【数25】
【0077】
ここで、Rkは、Hkの第i行第j列の要素をhk ijとした場合に、式92で示すごとく第i行第j列の要素が表される行列である。
【0078】
【数26】
【0079】
次に、新たに有効になった制約条件を行列Aqに加えて、Aq+1とし(S250)、有効制約の数を表すカウンタqをインクリメントする(S260)。
そして、kをインクリメントする(S270)。ステップS230の処理が終了した場合もこのステップS270の処理を行う。
【0080】
ステップS270の次にkがkの上限値kmaxを越えていないか判定し(S272)、越えていなければ(S272で「NO」)、新たな∇E(wk)を算出し(S134)、新たなヘシアンHkと∇tE(wk)とにより、式87に示したごとく、ベクトルdkを求め(S140)、dk=0でなければ(S150で「NO」)、前述した処理が繰り返される。
【0081】
もし、dk=0であった場合には(S150で「YES」)、ラグランジュ乗数λを式93のごとく算出する(S280)。ここで、I(wk)は、式94、∇E(wk)は式95のごとく定義されている。
【0082】
【数27】
【0083】
次にラグランジュ乗数λの全要素が非負、すなわち、λの全要素≧0か否かが判定される(S290)。ラグランジュ乗数λの全要素が非負でない場合(S290で「NO」)は、現在のシナプス荷重wkは解ではないので、ラグランジュ乗数λの要素の内、最も小さい要素、すなわち負で絶対値が最大の要素(番号s)に対応する制約条件asをAqから取り除き、Aq-1とする(S300)。
【0084】
次にI(wk)から番号sを取り除く(S310)。そして、式96の計算にて、新たなヘシアンHk+1を算出する(S320)。
【0085】
【数28】
【0086】
ここでDsは、第s行第s列の要素が1で他は全て0のM行M列の行列である。
次にqがステップS300でAqから要素を1つ取り除いたことに対応して、1つ減算される(S330)。
【0087】
次にkをインクリメントして(S340)、kがkの上限値kmaxを越えていないか判定し(S342)、越えていなければ(S342で「NO」)、ベクトルdkを求める処理(S140)に戻る。以後、ステップS150またはステップS290にて「NO」と判定される限り、前述した処理を繰り返し、学習が継続される。
【0088】
ステップS290にてラグランジュ乗数λの全要素が非負であると判定された場合(S290にて「YES」)、この時に設定されているwkが解として記録される(S350)。こうして学習処理は終了する。なお、ステップS272またはステップS342にて、k>kmaxと判定された場合も、この時に設定されているwkが解として記録され(S350)、学習処理を終了する。
【0089】
上述した学習処理では、計算上、4つの簡略化を行っている。そして、この4つの簡略化は、神経回路網12のシナプス荷重wに上下限を設定するに際して、前記式72にて示した制約条件の係数ベクトルaiが、第li要素が−1または1であり、他の要素が全て0の1行M列の行ベクトルであるとの制約のもとに、初めて得られる。ここで便宜上、aiをcで表すと、式97に示すごとくとなる。
【0090】
【数29】
【0091】
更に、式97をZ毎に区別して表すと、式98のごとくに表すことができる。
【0092】
【数30】
【0093】
このような係数ベクトルaiの制約による簡略化について説明する。
[第1の簡略化]
ステップS104におけるPqの算出に際して、式99に示す計算を行っている。
【0094】
【数31】
【0095】
従来知られているPqの計算は、式100に示すごとくの一般化逆行列の計算である。
【0096】
【数32】
【0097】
簡単のため、1行M列で第m番目の要素がxで他の要素が全て0であるベクトルをeM m(x)と表記する。eM m(x)について、式101が成立する。
【0098】
【数33】
【0099】
なお、前記式97のcli Zは式102のように表記できる。
【0100】
【数34】
【0101】
次に、i,j=1,2,…,qとして、AqAq tの第i行第j列要素は、cli(cli)tである。i=jならli=lj、i≠jならli≠ljであるから、式103が整成立する。
【0102】
【数35】
【0103】
したがって、AqAq tはq行q列の単位行列Iqであり、(AqAq t)-1もq行q列の式104で表すごとく単位行列Iqとなる。
【0104】
【数36】
【0105】
式104から、式105が成立する。
【0106】
【数37】
【0107】
Aqの第i列ベクトル(i=1,2,…,M)をdiで表記する。これは、式106に示すごとくである。
【0108】
【数38】
【0109】
すると、Aq tAqの第i行第j列要素は、(di)tdjとなる。
さて、式107が成立するならdi=0である。したがって式107または式108が成立するなら(di)tdj=0となる。
【0110】
【数39】
【0111】
一方、式109が成立するなら、i=lu、j=lvとなる数u,vが存在する。diは第u要素がclu、他の要素は0のベクトルとなる。すなわち、式110が成立し、同様に式111が成立する。
【0112】
【数40】
【0113】
i=jならu=v、i≠jならu≠vであるので、式112が成立する。
【0114】
【数41】
【0115】
以上より、(di)tdj=1となるのは、i=jかつi∈Ic(wk)のときに限る。したがって、bmを式113のごとく表すと、Aq tAqは、式114のごとく表される。
【0116】
【数42】
【0117】
すなわち式99が証明された。したがって、一般化逆行列の計算を実行しなくても、ステップS104におけるPqの算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0118】
[第2の簡略化]
ステップS240におけるHk+1の算出に際して、Hk+1の各要素について、式115に示す計算を行っている。
【0119】
【数43】
【0120】
従来知られているHk+1の計算は、式116に示すごとくの行列の計算である。
【0121】
【数44】
【0122】
ここで、wkをwk+1に更新して、wr k+1=−Bまたはwr k+1=Bになったとする。すると、制約条件cr Zwk+1−Bが新たに有効制約となる。ar=cr Zとおくと、前記式116は、式117のごとく表される。
【0123】
【数45】
【0124】
この内、前記式117の第2項の分母と分子とに共通のHk(cr Z)tを計算すると式118のごとくになる。
【0125】
【数46】
【0126】
したがって、前記式117の第2項の分母は式119のように計算できる。
【0127】
【数47】
【0128】
次に、Hk t=Hkの関係より、前記式117の第2項の分子の一部であるcr ZHkは、式120の計算式に示すごとく、分子の他の部分であるHk(cr Z)tを転置したものに等しい。
【0129】
【数48】
【0130】
前記式118と前記式120とにより、前記式117の第2項の分子は式121で表される。
【0131】
【数49】
【0132】
前記式119と前記式121との関係から、前記式115の関係が得られる。したがって、5回の行列の乗算が必要な式116が、式115のごとく簡略化さえる。ステップS240におけるHk+1の算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成作業が容易となる。
【0133】
[第3の簡略化]
ステップS280におけるラグランジュ乗数λの算出に際して、式122に示す計算を行っている。
【0134】
【数50】
【0135】
従来知られているλの計算は、式123に示すごとくの一般化逆行列を含む計算である。
【0136】
【数51】
【0137】
ここで、前記式104の関係から、式124の関係が成立する。
【0138】
【数52】
【0139】
したがって、λのi番目の要素は式125のように求められ、前記式122が証明された。
【0140】
【数53】
【0141】
したがって、一般化逆行列の計算を実行しなくても、ステップS280におけるλの算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0142】
[第4の簡略化]
ステップS320におけるHk+1の算出に際して、式126に示す計算を行っている。
【0143】
【数54】
【0144】
ここでDsは、第s行第s列の要素が1で他は全て0のM行M列の行列である。
従来知られているHk+1の計算は、式127に示すごとくの一般化逆行列の計算である。
【0145】
【数55】
【0146】
ここで、制約条件cs Zwk−B=0を有効制約から取り除くとする。式128の条件が成立するので、bs=0となる。
【0147】
【数56】
【0148】
as=cs Zとおくと、式127は、式129のごとく表される。
【0149】
【数57】
【0150】
はじめに、前記式129の第2項の分母と分子とに共通なPq-1(cs Z)tを計算する。前記式99の関係から式130の関係が存在する。
【0151】
【数58】
【0152】
ここで、bs=0であるので、Pq-1の第s行第s列の要素は1である。これにより、前記式129の第2項の分母と分子とに共通なPq-1(cs Z)tは式131に示すごとく(cs Z)tに等しいことがわかる。
【0153】
【数59】
【0154】
したがって、第2項の分母は、式132に示すごとく1となる。
【0155】
【数60】
【0156】
一方、Pq-1 t=Pq-1であることにより第2項の分子の一部であるcs ZPq-1は式133に示すごとく、第2項の他の一部であるPq-1(cs Z)tを転置したcs Zとなる。
【0157】
【数61】
【0158】
したがって、第2項の分子は、式134に示すごとくとなり、第s行第s列の要素が1で、他の要素は全て0のM行M列の行列となる。
【0159】
【数62】
【0160】
すなわち、第i行第j列の要素をpijとすると、式135のように表すことができる。
【0161】
【数63】
【0162】
したがって、一般化逆行列の計算を実行しなくても、ステップS320におけるHk+1の算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0163】
以上述べたように、固定小数点式デジタル演算装置で実行する神経回路網12のシナプス荷重のダイナミックレンジを抑制するために、シナプス荷重の絶対値に上限値を設定し、その範囲内で学習を行なうGoldfarb法を適用する際に、上述のごとく、前記式72にて示した制約条件の係数ベクトルaiが、第li要素が−1または1であり、他の要素が全て0の1行M列の行ベクトルであるとの制約のもとに、一般化逆行列の複雑な計算を不要にできるため、神経回路網12の学習プログラムのプログラミングは容易となる。また計算時間、メモリ使用量を削減できる。更に、別の効果として、一般化逆行列の計算は桁落ち等の数値解析上の問題により、正確な計算ができない場合があるが、上述した簡略化によりその問題を回避でき、より正確な数値解が得られるという利点もある。
【0164】
なお、本実施の形態では各シナプス荷重wi(i=1,2,…,M)の絶対値に共通の上限値Bを設定した場合、すなわち|wi|≦Bについて簡略計算式を導出し、証明した。しかしこれらの式は、各シナプス荷重wiにそれぞれ別個に上限値Bi U、下限値Bi Lを設定した場合、すなわちBi L≦wi≦Bi Uとした場合にも同様に有効である。また本実施の形態は階層型神経回路網について説明したが、降下法により学習できる神経回路網であれば、他のモデル(リカレントニューラルネットワーク等)にも適用可能である。
【0165】
[実験例]
オートカーエアコン風量制御に本発明を適用した効果を示す実験結果を以下に説明する。本実験では、前述した4つの簡略化を行った処理にて学習した場合(「実施例」で表す。)と、従来の学習法であるBFGS公式を用いたGoldfarb法(「従来法」で表す。)にて学習した場合との比較を行ない、固定小数点演算での神経回路網出力の誤差を評価した。
【0166】
A.要領
比較に用いた適用事例、神経回路網の構成等の条件を以下に示す。オートカーエアコンをA/Cと略記する。
(a)適用事例
A/C吹き出し口制御 (FACE,B/L,FOOT等の切り替え)
(b)入出力の仕様
入出力は、4入力1出力である。各入力の仕様を表1に、各出力の仕様を表2に示す。入力センサー値範囲のうち、単純なif-thenルールによりプログラム処理できる領域を除いた部分を神経回路網により処理する。神経回路網へは、各センサー信号をセンサー値範囲で[0,1]に正規化して入力する。
【0167】
【表1】
【0168】
【表2】
【0169】
出力信号である吹出口モードにしたがい、A/Cは以下のようにモードを切り替えさせるものとする。
【0170】
【表3】
【0171】
吹出口モードの許容誤差は±0.1であるが、モード切替点では確実にモードを切り替えるため、誤差をできるだけ小さくする必要がある。
(c)教師パターン数
5915個 (うち3944個を学習に使用)
(d)神経回路網の構成
4層型神経回路網 (入力層4ユニット、第1中間層8ユニット、第2中間層8ユニット、出力層1ユニット)
入力ユニットは線形ユニット、中間、出力ユニットはシグモイドユニット
(e)評価方法
ステップ1.従来法、実施例(上限値B=64、128)それぞれにつき、初期値を変えて20回学習を行なった。各神経回路網係数の初期値は(−1、1)の範囲の乱数とする。学習サイクルは各試行とも1000回とする。
【0172】
ステップ2.各神経回路網を浮動小数点演算、固定小数点演算で計算し、式136に示すごとく全パターンに対する自乗誤差和Eを算出して比較する。
【0173】
【数64】
【0174】
B.実験結果
自乗誤差和Eの計算結果を表4に示す。試行番号が同じ神経回路網は同一の初期値から学習を開始している。 従来法は浮動小数点演算において最良の結果を示し、試行3、12、13、17で自乗誤差和Eはほぼ0となった。しかしながら固定小数点演算では試行により演算精度が低下し、自乗誤差和Eが異常に大きくなることがあった(試行3、10等)。自乗誤差和Eの最大値を比較すると、従来法で187.1となったのに対し、実施例は上限値B=64、128それぞれで1.372、1.079となった。これより固定小数点演算に関し、実施例は、従来法より神経回路網の初期値依存性が低く、試行による自乗誤差和Eのばらつきの少ないことが分かる。
【0175】
【表4】
【0176】
次に、従来法、実施例につき固定小数点演算における自乗誤差和Eの最も小さいもの3つを選択し、シナプス荷重の絶対値の最大値、教師出力と神経回路網出力との絶対誤差の最大値を比較した。従来法の結果を表5に、実施例の上限値B=64の場合の結果を表6に、実施例の上限値B=128の場合の結果を表7に示す。
【0177】
【表5】
【0178】
【表6】
【0179】
【表7】
【0180】
最小の自乗誤差和Eを比較すると、実施例が2桁小さく、より正確な入出力関数が実現できた。絶対誤差の最大値も本実施の形態が従来法より小さく、優れた性能を示した。許容誤差は各学習法すべて±0.1の範囲内であるが、従来法では出力値0.3、0.4、0.5付近で大きな自乗誤差和Eが発生した。特に0.3、0.5はモード切替点であり、この神経回路網を制御に用いることはできない。一方、実施例では上限値B=64、128いずれにおいても特定の出力値で大きな自乗誤差和Eが発生する現象はなかった。
【0181】
表8に演算方式の違いによる実施例と従来例との自乗誤差和Eの比較を示す。
【0182】
【表8】
【0183】
表8からわかるように、実施例では浮動小数点演算でも、固定小数点演算でもほとんど自乗誤差和Eに差はないが、従来法では極めて大きな差を生じる。このことから、従来法は、ECU等において一般的に用いられている固定小数点演算を行う演算装置に用いるのは不適であることがわかる。
【0184】
図7に実施例と従来法とによる制御曲線の比較を示す。図中の教師出力は実現すべき制御曲線を、神経回路網出力は神経回路網の出力した制御曲線を示す。(a)は実施例による結果、(b)は従来法の結果である。
従来法では出力値0.3、0.4、0.5で大きな自乗誤差和Eが発生したのに対し、実施例は教師出力曲線、神経回路網出力曲線がほぼ一致したことが分かる。これより実施例の効果を確認した。
【0185】
【その他】
上述した実施の形態では、学習制御部14は、ハードディスクとして構成されている標準パターン格納部18に記憶されているプログラムをRAMにロードして神経回路網学習処理を実行したが、これ以外に、例えば、フロッピーディスク、光磁気ディスク、CD−ROM等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いても良い。この他、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。
【図面の簡単な説明】
【図1】 一実施の形態としての神経回路網学習システムの概略構成を表すブロック図である。
【図2】 前記神経回路網学習システムによる神経回路網に対する学習処理の説明図である。
【図3】 前記神経回路網学習システムによるオートカーエアコン制御用の神経回路網に対する学習処理の説明図である。
【図4】 前記神経回路網学習システムによる神経回路網学習処理のフローチャートである。
【図5】 前記神経回路網学習システムによる神経回路網学習処理のフローチャートである。
【図6】 前記神経回路網学習システムによる神経回路網学習処理のフローチャートである。
【図7】 実施例と従来法との学習の効果を示す説明図である。
【図8】 従来の学習における自乗誤差和Eの推移状態説明図である。
【符号の説明】
2…神経回路網学習システム 12…神経回路網 12a…ユニット
14…学習制御部 18…標準パターン格納部
18a…教師パターンデータベース 18b…標準入力信号
18c…出力信号 18d…教師信号
18e…シナプス荷重更新指令信号
Claims (11)
- デジタル式演算装置を用いて、式1にて表され式2の制約条件を満たすM個の変数wからなる関数E(w)が最小値となる変数wの解を求めるに際して、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式2の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式3により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式4に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式5に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、
を備えて準ニュートン射影法による演算を行うと共に、
1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式6に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式7の記号で表し、更に前記行列Aqを式8に示すごとくq行M列の行列で表すことで、前記式4の計算の内、式9にて表す行列の計算の代わりに、整数m∈Icならばbm=1、整数m∈Icでないならばbm=0である関数bmを対角要素とする対角行列diag[b1 b2 … bM]の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
- デジタル式演算装置を用いて、式11にて表され式12の制約条件を満たすM個の変数wからなる関数E(w)が最小値となる変数wの解を求めるに際して、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式12の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式13により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式14に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式15に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、
を備えて準ニュートン射影法による演算を行うと共に、
ヘシアンHの第i行第j列の要素をhijで表し、全ての制約条件における各係数ベクトルarの第r要素が+1または−1であり、他の要素がすべて0であるとして表すことで、前記式13の計算の内、式16にて表す行列の計算の代わりに、第i行第j列の要素が式17で表されるM行M列の行列の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
- デジタル式演算装置を用いて、式21にて表され式22の制約条件を満たすM個の変数wからなる関数E(w)が最小値となる変数wの解を求めるに際して、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式22の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式23により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式24に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式25に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、
を備えて準ニュートン射影法による演算を行うと共に、
1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式26に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式27の記号で表し、更に前記行列Aqを式28に示すごとくq行M列の行列で表し、∇E(w k )を式29に示すごとく表すことで、前記式24の計算の内、式30にて表す行列の計算の代わりに、式31にて表す計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
- デジタル式演算装置を用いて、式41にて表され式42の制約条件を満たすM個の変数wからなる関数E(w)が最小値となる変数wの解を求めるに際して、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式42の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式43により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式44に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式45に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、
を備えて準ニュートン射影法による演算を行うと共に、
1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式46に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式47の記号で表し、更に前記行列Aqを式48に示すごとくq行M列の行列で表すことで、前記式45の計算の内、式49にて表す行列の計算の代わりに、第s行s列の要素が1で他の要素が全て0であるM行M列の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
- デジタル式演算装置を用いて、式51にて表され式52の制約条件を満たすM個の変数wからなる関数E(w)が最小値となる変数wの解を求めるに際して、
直線探索を行って、関数E(w)の値を小さくする変数wの値を求める第1処理手段と、
前記第1処理手段の処理の次に行われ、新しい変数wの値に基づく前記式52の新しい制約条件が有効になったら、新たに有効になった制約条件の係数ベクトルarを、制約条件が有効である係数ベクトルから構成されている行列Aqに加え、かつ前記関数E(w)の勾配を表す転置行列∇tE(w)から前記関数E(w)の変化方向を表すベクトルdを求めるためのヘシアンHを式53により更新して処理を前記第1処理手段に戻し、新しい変数wの値に基づく新しい制約条件が有効にならなかったら、新しいヘシアンHを作成するための公式にて、新たなヘシアンHを更新して処理を前記第1処理手段に戻す第2処理手段と、
前記第1処理手段にて、前記転置行列∇tE(w)と前記ヘシアンHとの積に基づいて得られる前記関数E(w)の変化方向を表すベクトルdがゼロとなった場合には、式54に基づいて行列で得られるラグランジュ乗数λの要素すべてが非負ならば、そのときのwを解として得て全処理を終了し、前記ベクトルdがゼロでない場合には、ラグランジュ乗数λの負の要素の内、絶対値が最大のものに対応する制約条件の係数ベクトルasを、前記行列Aqから除いて、式55に基づいてヘシアンHを更新して処理を第1処理手段に戻す第3処理手段と、
を備えて準ニュートン射影法による演算を行うと共に、
1〜Mの整数の内、相異なるq個の整数を要素とする集合Icを式56に示すごとく表し、集合Icに含まれる各整数li(i=1,2,…,q)に対して1行M列のベクトルで、第liの要素がcliであり他の要素がすべて0、かつcliが+1または−1で定義されるベクトルを式57の記号で表し、更に前記行列Aqを式58に示すごとくq行M列の行列で表すことで、前記式54の計算の内、式59にて表す行列の計算の代わりに、整数m∈Icならばbm=1、整数m∈Icでないならばbm=0である関数bmを対角要素とする対角行列diag[b1 b2 … bM]の計算を用い、前記式55の計算の内、式60にて表す行列の計算の代わりに、第s行s列の要素が1で他の要素が全て0であるM行M列の計算を用い、
更に、∇E(w k )を式61に示すごとく表すことで、前記式54の計算の内、式62にて表す行列の計算の代わりに、式63にて表す計算を用い、
更に、ヘシアンHの第i行第j列の要素をhijで表し、全ての制約条件における各係数ベクトルarの第r要素が+1または−1であり、他の要素がすべて0であるとして表すことで、前記式53の計算の内、式64にて表す行列の計算の代わりに、第i行第j列の要素が式65で表されるM行M列の行列の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
- 第2処理手段にて用いられる公式は、BFGS公式、DFP公式あるいは対称ランク1公式であることを特徴とする請求項1〜5のいずれかに記載の簡略化準ニュートン射影法演算システム。
- 前記M個の変数wは、神経回路網における入力層のユニットから出力層のユニットに至るユニットを結合するM本のシナプスのシナプス荷重を表し、関数E(w)は前記神経回路網に与えられる教師信号と前記神経回路網の出力との誤差を表し、第1処理手段、第2処理手段および第3処理手段によって行われる関数E(w)が最小値となる変数wの解を求める処理は、前記神経回路網に対する学習処理であることを特徴とする請求項1〜6のいずれか記載の神経回路網学習システム。
- 請求項1〜6のいずれか記載の簡略化準ニュートン射影法演算システムの各手段としてコンピュータシステムを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 請求項7記載の神経回路網学習システムの各手段としてコンピュータシステムを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 請求項7における神経回路網学習システムによる学習処理により得られた神経回路網を組み込んだことを特徴とする信号処理装置。
- 請求項7における神経回路網学習システムによる学習処理により得られた神経回路網と、
処理される入力信号を、前記神経回路網の入力層のユニットへ入力する入力手段と、
前記神経回路網の出力層のユニットの状態を読み取って信号として出力する出力手段と、
を備えたことを特徴とする信号処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29444597A JP3733711B2 (ja) | 1997-10-27 | 1997-10-27 | 簡略化準ニュートン射影法演算システム、神経回路網学習システム、記録媒体および信号処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29444597A JP3733711B2 (ja) | 1997-10-27 | 1997-10-27 | 簡略化準ニュートン射影法演算システム、神経回路網学習システム、記録媒体および信号処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11134314A JPH11134314A (ja) | 1999-05-21 |
| JP3733711B2 true JP3733711B2 (ja) | 2006-01-11 |
Family
ID=17807879
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29444597A Expired - Fee Related JP3733711B2 (ja) | 1997-10-27 | 1997-10-27 | 簡略化準ニュートン射影法演算システム、神経回路網学習システム、記録媒体および信号処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3733711B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012015450A1 (en) * | 2010-07-30 | 2012-02-02 | Hewlett-Packard Development Company, L.P. | Systems and methods for modeling binary synapses |
| EP3602413B1 (en) * | 2017-05-20 | 2022-10-19 | Google LLC | Projection neural networks |
-
1997
- 1997-10-27 JP JP29444597A patent/JP3733711B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11134314A (ja) | 1999-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111670415B (zh) | 用于控制系统的预测控制器、车辆及方法 | |
| US11216721B2 (en) | Method for calculating a neuron layer of a multi-layer perceptron model with simplified activation function | |
| Hayashi et al. | Construction of fuzzy inference rules by NDF and NDFL | |
| JP3634023B2 (ja) | ニューラル・ネットワーク用の適応型重み調整回路 | |
| EP0327817B1 (en) | Associative pattern conversion system and adaptation method thereof | |
| US5280564A (en) | Neural network having an optimized transfer function for each neuron | |
| EP0813127A2 (en) | Inference rule determining method and inference device | |
| Gorinevsky et al. | Comparison of some neural network and scattered data approximations: The inverse manipulator kinematics example | |
| US5255344A (en) | Inference rule determining method and inference device | |
| EP0384709B1 (en) | Learning Machine | |
| Niu et al. | Artificial intelligence-based response surface progressive optimality algorithm for operation optimization of multiple hydropower reservoirs | |
| JP3733711B2 (ja) | 簡略化準ニュートン射影法演算システム、神経回路網学習システム、記録媒体および信号処理装置 | |
| US5420810A (en) | Adaptive input/output apparatus using selected sample data according to evaluation quantity | |
| EP0661645A2 (en) | Neural network | |
| US20210216867A1 (en) | Information processing apparatus, neural network computation program, and neural network computation method | |
| CN118981870A (zh) | 系统在线优化方法、存储介质和计算机设备 | |
| CN115238873B (zh) | 神经网络模型部署方法、装置、计算机设备 | |
| CN117350160B (zh) | 一种基于深度学习的单层网壳构件替换最优顺序确定方法 | |
| JPH09138786A (ja) | ニューラルネットワークの学習装置 | |
| CN118502716B (zh) | 一种降低浮点指数运算对算力的消耗的方法 | |
| US5455893A (en) | Processing method and neuronal network structure applying the method | |
| Lehtokangas et al. | Neural network modeling and prediction of multivariate time series using predictive mdl principle | |
| JP3276035B2 (ja) | 神経回路網モデルの逐次型加速化学習方法 | |
| JPH0542014B2 (ja) | ||
| JPH09101944A (ja) | ニューラルネットワーク回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050719 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050831 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050927 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051010 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |