JP3733711B2 - Simplified quasi-Newton projection calculation system, neural network learning system, recording medium, and signal processing apparatus - Google Patents

Simplified quasi-Newton projection calculation system, neural network learning system, recording medium, and signal processing apparatus Download PDF

Info

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
Application number
JP29444597A
Other languages
Japanese (ja)
Other versions
JPH11134314A (en
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP29444597A priority Critical patent/JP3733711B2/en
Publication of JPH11134314A publication Critical patent/JPH11134314A/en
Application granted granted Critical
Publication of JP3733711B2 publication Critical patent/JP3733711B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、簡略化準ニュートン射影法演算システム、このシステムを利用した神経回路網学習システム、これらのシステムをコンピュータシステム上で実現するプログラムを記録した記録媒体、および信号処理装置に関する。
【0002】
【従来の技術】
神経回路網(ニューラルネットワークとも言う。)は、パターン認識やデータ処理等に広く応用されている。この神経回路網は、繰り返し行われる学習処理によりその処理能力を獲得するものであり、迅速な学習と学習処理後に獲得される能力向上のために、シナプス荷重の変更方法がいくつか提案されている。
【0003】
神経回路網はユニットからなる入力層、中間層、出力層と各層間を結合するシナプスから構成される。各シナプスはシナプス荷重という重みを持ち、このシナプス荷重を学習により変えることで様々な入出力特性を実現できる。以下シナプスの総数をMとし、各シナプス荷重をw1,w2,…wMとする。また、w=[w1,w2,…wMtで表す。
【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=[w12 … wMtを固定小数点データ型で表現する。データ型は各シナプス荷重の絶対値の最大値により決まる。たとえばその値が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[b12 …bM]の計算を用いることとして、準ニュートン射影法を簡略化している。
【0021】
【数6】

Figure 0003733711
【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】
Figure 0003733711
【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】
Figure 0003733711
【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】
Figure 0003733711
【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】
Figure 0003733711
【0044】
ここで、いくつか用語と記号を定義する。
(1)有効制約とI(w)
あるwに対しaiw−bi=0となる制約条件を、制約条件が有効である(以下、「有効制約」と称する。)と呼ぶ。またその番号iの集合を式74のごとくI(w)で表す。
【0045】
【数11】
Figure 0003733711
【0046】
(2)すべての制約条件を満たす点の集合を許容領域と呼び、式75のごとく記号Sで表す。
【0047】
【数12】
Figure 0003733711
【0048】
(3)wにおける有効制約の数をqとし、有効制約の係数ベクトルai(制約条件が有効である係数ベクトルai)を行に持つq行M列の行列をAqとし、I(w)が式76で表されるとき、Aqは式77のごとく表す。
【0049】
【数13】
Figure 0003733711
【0050】
(4)M×Mの単位行列をIMで表記する。
(5)式78によりM行M列の行列を定義する。第2項に現れる式79はAqの一般化逆行列である。
【0051】
【数14】
Figure 0003733711
【0052】
(6)Goldfarb法では式80で表される条件を満足する点wk+1を見つけるのにヘシアンというM行M列の行列を使用する。k回目の更新におけるヘシアンをHkで示す。ヘシアンHkは常に対称行列であり、式81で表す関係が成立する。
【0053】
【数15】
Figure 0003733711
【0054】
(7)式82のごとく表される∇E(wk)は、点wkにおける関数E(wk)の勾配を示す。これは1行M列の行ベクトルである。∇Et(wk)はその転置であり、M行1列の列ベクトルである。
【0055】
【数16】
Figure 0003733711
【0056】
(8)対角要素がa12 … aMであるM行M列の対角行列を式83に示すごとく表記する。
【0057】
【数17】
Figure 0003733711
【0058】
神経回路網学習処理が開始されると、まず、k=0にkが初期設定され、初期値としてw0∈Sを満足するシナプス荷重w0が選択される(S100)。次に、有効制約の番号の集合I(w0)と、行列Aqとを求める(S102)。
式84により、Pqを求める(S104)。
【0059】
【数18】
Figure 0003733711
【0060】
ここで、diag[b12 … 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】
Figure 0003733711
【0064】
ここで、Nは出力層のユニット数、Pは標準パターンの数である。
∇E(wk)は、式86に示すごとく定義される。
【0065】
【数20】
Figure 0003733711
【0066】
次に、∇E(wk)を転置した∇tE(wk)をヘシアンHkにより、式87のごとくの計算により、E(wk)の変化方向を表すベクトルdkを求める(S140)。
【0067】
【数21】
Figure 0003733711
【0068】
次に、dk=0か否かが判定される(S150)。dk=0で無ければ(S150にて「NO」)、次に直線探索により、新たなシナプス荷重wk+1を設定する(S190)。ただし、直線探索は、式88に示す計算によって行われる。
【0069】
【数22】
Figure 0003733711
【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】
Figure 0003733711
【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】
Figure 0003733711
【0075】
一方、新たに有効になった制約条件があれば(S220で「YES」)、式91にて新たなヘシアンHk+1を算出する(S240)。
【0076】
【数25】
Figure 0003733711
【0077】
ここで、Rkは、Hkの第i行第j列の要素をhk ijとした場合に、式92で示すごとく第i行第j列の要素が表される行列である。
【0078】
【数26】
Figure 0003733711
【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】
Figure 0003733711
【0083】
次にラグランジュ乗数λの全要素が非負、すなわち、λの全要素≧0か否かが判定される(S290)。ラグランジュ乗数λの全要素が非負でない場合(S290で「NO」)は、現在のシナプス荷重wkは解ではないので、ラグランジュ乗数λの要素の内、最も小さい要素、すなわち負で絶対値が最大の要素(番号s)に対応する制約条件asをAqから取り除き、Aq-1とする(S300)。
【0084】
次にI(wk)から番号sを取り除く(S310)。そして、式96の計算にて、新たなヘシアンHk+1を算出する(S320)。
【0085】
【数28】
Figure 0003733711
【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】
Figure 0003733711
【0091】
更に、式97をZ毎に区別して表すと、式98のごとくに表すことができる。
【0092】
【数30】
Figure 0003733711
【0093】
このような係数ベクトルaiの制約による簡略化について説明する。
[第1の簡略化]
ステップS104におけるPqの算出に際して、式99に示す計算を行っている。
【0094】
【数31】
Figure 0003733711
【0095】
従来知られているPqの計算は、式100に示すごとくの一般化逆行列の計算である。
【0096】
【数32】
Figure 0003733711
【0097】
簡単のため、1行M列で第m番目の要素がxで他の要素が全て0であるベクトルをeM m(x)と表記する。eM m(x)について、式101が成立する。
【0098】
【数33】
Figure 0003733711
【0099】
なお、前記式97のcli Zは式102のように表記できる。
【0100】
【数34】
Figure 0003733711
【0101】
次に、i,j=1,2,…,qとして、Aqq tの第i行第j列要素は、cli(clitである。i=jならli=lj、i≠jならli≠ljであるから、式103が整成立する。
【0102】
【数35】
Figure 0003733711
【0103】
したがって、Aqq tはq行q列の単位行列Iqであり、(Aqq t-1もq行q列の式104で表すごとく単位行列Iqとなる。
【0104】
【数36】
Figure 0003733711
【0105】
式104から、式105が成立する。
【0106】
【数37】
Figure 0003733711
【0107】
qの第i列ベクトル(i=1,2,…,M)をdiで表記する。これは、式106に示すごとくである。
【0108】
【数38】
Figure 0003733711
【0109】
すると、Aq tqの第i行第j列要素は、(ditjとなる。
さて、式107が成立するならdi=0である。したがって式107または式108が成立するなら(ditj=0となる。
【0110】
【数39】
Figure 0003733711
【0111】
一方、式109が成立するなら、i=lu、j=lvとなる数u,vが存在する。diは第u要素がclu、他の要素は0のベクトルとなる。すなわち、式110が成立し、同様に式111が成立する。
【0112】
【数40】
Figure 0003733711
【0113】
i=jならu=v、i≠jならu≠vであるので、式112が成立する。
【0114】
【数41】
Figure 0003733711
【0115】
以上より、(ditj=1となるのは、i=jかつi∈Ic(wk)のときに限る。したがって、bmを式113のごとく表すと、Aq tqは、式114のごとく表される。
【0116】
【数42】
Figure 0003733711
【0117】
すなわち式99が証明された。したがって、一般化逆行列の計算を実行しなくても、ステップS104におけるPqの算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0118】
[第2の簡略化]
ステップS240におけるHk+1の算出に際して、Hk+1の各要素について、式115に示す計算を行っている。
【0119】
【数43】
Figure 0003733711
【0120】
従来知られているHk+1の計算は、式116に示すごとくの行列の計算である。
【0121】
【数44】
Figure 0003733711
【0122】
ここで、wkをwk+1に更新して、wr k+1=−Bまたはwr k+1=Bになったとする。すると、制約条件cr Zk+1−Bが新たに有効制約となる。ar=cr Zとおくと、前記式116は、式117のごとく表される。
【0123】
【数45】
Figure 0003733711
【0124】
この内、前記式117の第2項の分母と分子とに共通のHk(cr Ztを計算すると式118のごとくになる。
【0125】
【数46】
Figure 0003733711
【0126】
したがって、前記式117の第2項の分母は式119のように計算できる。
【0127】
【数47】
Figure 0003733711
【0128】
次に、Hk t=Hkの関係より、前記式117の第2項の分子の一部であるcr Zkは、式120の計算式に示すごとく、分子の他の部分であるHk(cr Ztを転置したものに等しい。
【0129】
【数48】
Figure 0003733711
【0130】
前記式118と前記式120とにより、前記式117の第2項の分子は式121で表される。
【0131】
【数49】
Figure 0003733711
【0132】
前記式119と前記式121との関係から、前記式115の関係が得られる。したがって、5回の行列の乗算が必要な式116が、式115のごとく簡略化さえる。ステップS240におけるHk+1の算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成作業が容易となる。
【0133】
[第3の簡略化]
ステップS280におけるラグランジュ乗数λの算出に際して、式122に示す計算を行っている。
【0134】
【数50】
Figure 0003733711
【0135】
従来知られているλの計算は、式123に示すごとくの一般化逆行列を含む計算である。
【0136】
【数51】
Figure 0003733711
【0137】
ここで、前記式104の関係から、式124の関係が成立する。
【0138】
【数52】
Figure 0003733711
【0139】
したがって、λのi番目の要素は式125のように求められ、前記式122が証明された。
【0140】
【数53】
Figure 0003733711
【0141】
したがって、一般化逆行列の計算を実行しなくても、ステップS280におけるλの算出が可能であり、この部分で計算のための作業メモリを要したり、計算が不正確になるのを防止できる。また、プログラム作成時も一般化逆行列のプログラムを作成しなくても良いので、プログラム作成作業が容易となる。
【0142】
[第4の簡略化]
ステップS320におけるHk+1の算出に際して、式126に示す計算を行っている。
【0143】
【数54】
Figure 0003733711
【0144】
ここでDsは、第s行第s列の要素が1で他は全て0のM行M列の行列である。
従来知られているHk+1の計算は、式127に示すごとくの一般化逆行列の計算である。
【0145】
【数55】
Figure 0003733711
【0146】
ここで、制約条件cs Zk−B=0を有効制約から取り除くとする。式128の条件が成立するので、bs=0となる。
【0147】
【数56】
Figure 0003733711
【0148】
s=cs Zとおくと、式127は、式129のごとく表される。
【0149】
【数57】
Figure 0003733711
【0150】
はじめに、前記式129の第2項の分母と分子とに共通なPq-1(cs Ztを計算する。前記式99の関係から式130の関係が存在する。
【0151】
【数58】
Figure 0003733711
【0152】
ここで、bs=0であるので、Pq-1の第s行第s列の要素は1である。これにより、前記式129の第2項の分母と分子とに共通なPq-1(cs Ztは式131に示すごとく(cs Ztに等しいことがわかる。
【0153】
【数59】
Figure 0003733711
【0154】
したがって、第2項の分母は、式132に示すごとく1となる。
【0155】
【数60】
Figure 0003733711
【0156】
一方、Pq-1 t=Pq-1であることにより第2項の分子の一部であるcs Zq-1は式133に示すごとく、第2項の他の一部であるPq-1(cs Ztを転置したcs Zとなる。
【0157】
【数61】
Figure 0003733711
【0158】
したがって、第2項の分子は、式134に示すごとくとなり、第s行第s列の要素が1で、他の要素は全て0のM行M列の行列となる。
【0159】
【数62】
Figure 0003733711
【0160】
すなわち、第i行第j列の要素をpijとすると、式135のように表すことができる。
【0161】
【数63】
Figure 0003733711
【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】
Figure 0003733711
【0168】
【表2】
Figure 0003733711
【0169】
出力信号である吹出口モードにしたがい、A/Cは以下のようにモードを切り替えさせるものとする。
【0170】
【表3】
Figure 0003733711
【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】
Figure 0003733711
【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】
Figure 0003733711
【0176】
次に、従来法、実施例につき固定小数点演算における自乗誤差和Eの最も小さいもの3つを選択し、シナプス荷重の絶対値の最大値、教師出力と神経回路網出力との絶対誤差の最大値を比較した。従来法の結果を表5に、実施例の上限値B=64の場合の結果を表6に、実施例の上限値B=128の場合の結果を表7に示す。
【0177】
【表5】
Figure 0003733711
【0178】
【表6】
Figure 0003733711
【0179】
【表7】
Figure 0003733711
【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】
Figure 0003733711
【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…シナプス荷重更新指令信号[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a simplified quasi-Newton projection method computing system, a neural network learning system using this system, a recording medium recording a program for realizing these systems on a computer system, and a signal processing apparatus.
[0002]
[Prior art]
Neural networks (also referred to as neural networks) are widely applied to pattern recognition and data processing. This neural network acquires its processing ability through repeated learning processing, and several methods for changing synaptic weights have been proposed for rapid learning and improvement of ability acquired after learning processing. .
[0003]
A neural network is composed of an input layer, an intermediate layer, an output layer, and synapses that connect each layer. Each synapse has a weight called a synaptic load, and various input / output characteristics can be realized by changing the synaptic load by learning. Below, the total number of synapses is M, and each synaptic load is w1, W2, ... wMAnd Also, w = [w1, W2, ... wM]tRepresented by
[0004]
In the learning of the neural network, the neural network output signal when the teacher input signal is inputted to the neural network is calculated, the output signal is compared with the teacher output signal, and each synaptic load w is calculated based on the comparison result.1, W2, ..., wMIs changed to minimize the error between the teacher output signal and the neural network output signal, for example, the square error sum E (w).
[0005]
In general, the minimum value is calculated by the descent method such as the back propagation method (McClelland, JL, Rumelhart, DE, and the PDP Research Group, Parallel Distributed Processing: Explorations in the Microstructure of Cognition, MIT Press, Chapter 8, 1986). .
[0006]
The calculation steps of this back propagation method will be described. Where k is the number of updates, kmaxIs the maximum number of updates. A schematic diagram of the descent method is shown in FIG. (Strictly speaking, what is found in the following steps is not a minimum value but a minimum value, but does not make an essential difference in the following description.)
Step 1: As k = 0, the initial value w is set to the synaptic load of the neural network.kSet.
[0007]
Step 2: wkE (w ink) Gradient ∇ E (wk). ∇ E (wk) = 0, jump to step 4.
Step 3: E (wk + 1) <E (wkNew point w that satisfiesk + 1Find out. And wkWk + 1Set the value of and set a new wkK <kmaxIf so, return to Step 2. k = kmaxIf so, go to Step 4.
[0008]
Step 4: wkLet be the solution.
In the example of FIG. 8A, the initial value w is the error surface 301.0Shows how learning progresses when given Here, value w after updating k timeskHas converged to the minimum value.
[0009]
However, there are cases where the minimum value exists at infinity in space depending on the application. When learning of such a case is performed, the absolute values of some synaptic loads continue to increase, for example, exceeding 1000. An example is shown in FIG. Such a neural network has a large dynamic range of the synaptic load, and a correct input / output characteristic can be obtained in a floating point operation of a digital arithmetic unit, but a large quantization error occurs in a fixed point operation and a desired input / output characteristic is not obtained. I can't get it. A consumer product uses a fixed-point CPU for reasons such as cost reduction. Therefore, it cannot be used by incorporating a neural network that causes an excessive synaptic load.
[0010]
For example, consider a case where a neural network is calculated by fixed-point arithmetic with a word length of 16 bits. [Sxxxxxxxx. xxxxxxxx] indicates a data type in which 8 bits are assigned to the decimal part. s is a sign bit, and x is a bit representing numerical data. The accuracy of the number that can be expressed by this data type is “1/2.8= 0.00390625 "and the range is [-2.16-1/ 28, (216-1-1) / 28] = [− 128, 127.799609375].
[0011]
When the neural network is realized by fixed-point arithmetic, the synaptic load w = [w1  w2  … WM]tIs represented by a fixed-point data type. The data type is determined by the maximum absolute value of each synaptic load. For example, if the value is 1000, 10 bits are required for the integer part for storage, and only 5 bits are available for the decimal part. That is, [sxxxxxxxxxxxx. xxxx]]. This accuracy is "1/2Five= 0.03125 "and the range is [-2.16-1/ 2Five, (216-1-1) / 2Five] = [− 1024, 1023.96875]. This reduces the calculation accuracy and increases the quantization error.
[0012]
As a method for reducing the above-described quantization error, a method is known in which learning is performed by providing upper and lower limits to the synaptic load by the back-propagation method (Japanese Patent Laid-Open Nos. 7-152716 and 7-44515). JP-A-2-143384), however, has been difficult to devise various techniques for increasing the calculation speed due to the nature of the back-propagation method, and the calculation speed is insufficient.
[0013]
In addition, there is a penalty function method (Michael A. Arbib, The Handbook of Brain Theory and Neural Networks, MIT Press, p643, p992) as a method for suppressing the increase in the absolute value of the synaptic load. This is a function defined by the sum of the square error sum E (w) defined by G (w) = E (w) + μ × F (w) and the penalty term F (w) which is a function of the square of each synapse. This is a method for minimizing G (w). The coefficient μ is a parameter that determines the relative importance of E (w) and F (w).
[0014]
However, the penalty function method has a problem that the parameter μ must be set by trial and error, and it takes a long time to obtain an appropriate solution.
[0015]
[Problems to be solved by the invention]
As a method that does not cause the above-described problem, it is conceivable to set an upper limit on the absolute value of the synaptic load and perform learning within a range not exceeding the upper limit. The Goldfarb (cold ferb) method, which is a quasi-Newton projection method, can be used to realize this (for example, Hiroshi Imano, Hiroshi Yamashita, Nonlinear Programming, Nikka Giren, p.264-267).
[0016]
However, since the Goldfarb method requires complicated calculations such as a generalized inverse matrix, programming is difficult. Moreover, the calculation time of the generalized inverse matrix is long, and a considerably large working memory area is required for the calculation. Another problem is that the calculation of the generalized inverse matrix may not be able to be accurately calculated by a digital computing device due to problems in numerical analysis such as digit loss. If this phenomenon occurs, the calculation result will be incorrect. There was a problem of becoming.
[0017]
In the present invention, when learning a neural network by a quasi-Newton projection method using a fixed point arithmetic of a digital arithmetic unit, the calculation time is shortened, the amount of memory consumption is reduced, and the calculation result is simplified. And a neural network learning system using the simplified quasi-Newton projection method computing system, a recording medium storing a program for realizing these systems on a computer system, and the neural network. An object of the present invention is to provide a signal processing device incorporating a neural network obtained by learning processing by a network learning system.
[0018]
[Means for Solving the Problems and Effects of the Invention]
The simplified quasi-Newton projection method arithmetic system of the present invention uses a digital arithmetic unit that performs fixed-point arithmetic, and uses a function E (w consisting of M variables w expressed by Equation 1 and satisfying the constraints of Equation 2. When obtaining the solution of the variable w for which) is the minimum value, the quasi-Newton projection method described above is basically used.
[0019]
That is,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
When the new constraint condition of Formula 2 based on the value of the new variable w becomes effective after the processing of the first processing means, the coefficient vector a of the newly enabled constraint conditionrIs a matrix A composed of coefficient vectors whose constraints are validqAnd a transpose matrix 勾 配 representing the gradient of the function E (w)tThe Hessian H for obtaining the vector d representing the change direction of the function E (w) from E (w) is updated by Equation 3 and the processing is returned to the first processing means, and a new constraint based on the value of the new variable w A second processing means for updating the new Hessian H and returning the processing to the first processing means in a formula for creating a new Hessian H if the condition is not valid;
In the first processing means, the transposed matrix ∇tWhen the vector d representing the change direction of the function E (w) obtained based on the product of E (w) and the Hessian H becomes zero, the Lagrange multiplier λ obtained in the matrix based on Equation 4 If all the elements of are non-negative, w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the absolute value of the negative elements of the Lagrange multiplier λ is maximized. Corresponding constraint coefficient vector as, The matrix AqAnd the third processing means for updating the Hessian H based on Expression 5 and returning the processing to the first processing means, thereby performing the calculation by the quasi-Newton projection method.
[0020]
In the processing by the quasi-Newton projection method, a set I having q integers different from the integers 1 to M as elements.cIs expressed as shown in Equation 6, and each liA vector of 1 row and M columns for (i = 1, 2,..., Q),iElement of cliAnd all other elements are 0, and cliRepresents a vector defined by +1 or −1 by the symbol of Equation 7, and a q-by-M matrix AqIs expressed as shown in Equation 8, mεI instead of the calculation of the matrix shown in Equation 9 in the calculation of Equation 4.cThen bm= 1, m∈IcIf not bmB where = 0mIs a diagonal matrix diag [b1  b2  ... bM] Is used to simplify the quasi-Newton projection method.
[0021]
[Formula 6]
Figure 0003733711
[0022]
This simplification eliminates the need to calculate the generalized inverse matrix shown in Equation 9. Therefore, the calculation time is not lengthened, and the working memory area used for the calculation can be small. Furthermore, since there is no problem in numerical analysis such as digit loss, accurate calculation can be performed.
Similarly,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
After the processing of the first processing means, when the new constraint condition of the expression 12 based on the value of the new variable w becomes effective, the coefficient vector a of the newly enabled constraint conditionrIs a matrix A composed of coefficient vectors whose constraints are validqAnd a transpose matrix 勾 配 representing the gradient of the function E (w)tThe Hessian H for obtaining the vector d representing the change direction of the function E (w) from E (w) is updated by the equation 13 and the processing is returned to the first processing means, and a new constraint based on the value of the new variable w A second processing means for updating the new Hessian H and returning the processing to the first processing means in a formula for creating a new Hessian H if the condition is not valid;
In the first processing means, the transposed matrix ∇tWhen the vector d representing the change direction of the function E (w) obtained based on the product of E (w) and the Hessian H becomes zero, the Lagrange multiplier λ obtained by the matrix based on the equation 14 If all the elements of are non-negative, the process is terminated by obtaining w as a solution, and if the vector d is not zero, the absolute value of the negative elements of the Lagrange multiplier λ is maximized. Corresponding constraint coefficient vector as, The matrix AqAnd a third processing unit that updates Hessian H based on Equation 15 and returns the processing to the first processing unit. Also good.
[0023]
That is, the element in the i-th row and the j-th column of the Hessian H is set to h.ijAnd each coefficient vector a in all constraintsrBy representing that the r-th element is +1 or -1 and the other elements are all 0, the i-th row and j-th row are substituted for the matrix computation represented by Equation 16 among the computations of Equation 13 above. The calculation of the matrix of M rows and M columns in which the elements of the columns are expressed by Expression 17 is used.
[0024]
[Expression 7]
Figure 0003733711
[0025]
By this simplification, Expression 16 that requires five matrix multiplications is simplified as Expression 17. Therefore, the calculation time is not lengthened, and the working memory area used for the calculation can be small. Furthermore, since there is no problem in numerical analysis such as digit loss, accurate calculation can be performed.
[0026]
Similarly,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
When the new constraint condition of the expression 22 based on the value of the new variable w becomes effective after the processing of the first processing means, the coefficient vector a of the newly enabled constraint conditionrIs a matrix A composed of coefficient vectors whose constraints are validqAnd a transpose matrix 勾 配 representing the gradient of the function E (w)tThe Hessian H for obtaining the vector d representing the change direction of the function E (w) from E (w) is updated by the equation 23, and the process is returned to the first processing means, and a new constraint based on the value of the new variable w A second processing means for updating the new Hessian H and returning the processing to the first processing means in a formula for creating a new Hessian H if the condition is not valid;
In the first processing means, the transposed matrix ∇tWhen the vector d representing the change direction of the function E (w) obtained based on the product of E (w) and the Hessian H becomes zero, the Lagrange multiplier λ obtained in the matrix based on the equation 24 If all the elements of are non-negative, w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the absolute value of the negative elements of the Lagrange multiplier λ is maximized. Corresponding constraint coefficient vector as, The matrix AqAnd a third processing unit that updates the Hessian H based on the expression 25 and returns the processing to the first processing unit, so that the following processing is performed when performing the calculation by the quasi-Newton projection method. Also good.
[0027]
That is, a set I having q integers different from 1 to M as elements.cIs expressed as shown in Equation 26, and the set IcEach integer liA vector of 1 row and M columns for (i = 1, 2,..., Q),iElement of cliAnd all other elements are 0, and cliRepresents a vector defined by +1 or −1 by the symbol of Equation 27, and further the matrix AqIs represented by a matrix of q rows and M columns as shown in Equation 28, and (E (wk) Is expressed as shown in Expression 29, and the calculation expressed by Expression 31 is used in place of the calculation of the matrix expressed by Expression 30 in the calculation of Expression 24 described above.
[0028]
[Equation 8]
Figure 0003733711
[0029]
This simplification eliminates the need to calculate the generalized inverse matrix shown in Equation 30. Therefore, the calculation time is not lengthened, and the working memory area used for the calculation can be small. Furthermore, since there is no problem in numerical analysis such as digit loss, accurate calculation can be performed.
Similarly,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
After the processing of the first processing means, when the new constraint condition of the equation 42 based on the value of the new variable w becomes effective, the coefficient vector a of the newly enabled constraint conditionrIs a matrix A composed of coefficient vectors whose constraints are validqAnd a transpose matrix 勾 配 representing the gradient of the function E (w)tThe Hessian H for obtaining the vector d representing the change direction of the function E (w) from E (w) is updated by the equation 43 and the processing is returned to the first processing means, and a new constraint based on the value of the new variable w A second processing means for updating the new Hessian H and returning the processing to the first processing means in a formula for creating a new Hessian H if the condition is not valid;
In the first processing means, the transposed matrix ∇tWhen the vector d representing the change direction of the function E (w) obtained based on the product of E (w) and the Hessian H becomes zero, the Lagrange multiplier λ obtained in a matrix based on the equation 44 If all the elements of are non-negative, w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the absolute value of the negative elements of the Lagrange multiplier λ is maximized. Corresponding constraint coefficient vector as, The matrix AqAnd a third processing unit that updates the Hessian H based on the expression 45 and returns the processing to the first processing unit, so that the following processing is performed when performing the calculation by the quasi-Newton projection method. Also good.
[0030]
That is, a set I having q integers different from 1 to M as elements.cIs expressed as shown in Equation 46, and the set IcEach integer liA vector of 1 row and M columns for (i = 1, 2,..., Q),iElement of cliAnd all other elements are 0, and cliRepresents a vector defined by +1 or −1 by the symbol of Equation 47, and the matrix AqIs expressed by a matrix of q rows and M columns as shown in Expression 48, so that, in the calculation of Expression 45, instead of calculating the matrix expressed by Expression 49, the element of the s-th row and s-column is 1, and the other elements The calculation uses M rows and M columns in which all are zero.
[0031]
[Equation 9]
Figure 0003733711
[0032]
This simplification eliminates the need for matrix calculations. Therefore, the calculation time is not lengthened, and the working memory area used for the calculation can be small. Furthermore, since there is no problem in numerical analysis such as digit loss, accurate calculation can be performed.
Further, all of these simplifications may be used, which is more effective.
[0033]
Examples of the formula used in the second processing means include a BFGS formula, a DFP formula, and a symmetric rank 1 formula.
The M variables w represent the synaptic loads of M synapses that connect units from the input layer unit to the output layer unit in the neural network, and a function E (w) is given to the neural network. The process of calculating the solution of the variable w that represents the error between the teacher signal and the output of the neural network and that has the minimum value of the function E (w) performed by the first processing means, the second processing means, and the third processing means is As a learning process for the neural network, the simplified quasi-Newton projection method computing system described above may be applied to the neural network learning system.
[0034]
As described above, it is possible to create a highly accurate neural network by learning in a short time without causing a memory shortage.
In addition, the function which implement | achieves each means of such a simplified quasi-Newton projection method computing system and a neural network learning system with a computer system can be provided as a program started on the computer system side, for example. In the case of such a program, for example, the program is recorded on a computer-readable recording medium such as a floppy disk, a magneto-optical disk, a CD-ROM, or a hard disk, and is used by being loaded into a computer system and started up as necessary. it can. In addition, the ROM or backup RAM may be recorded as a computer-readable recording medium, and the ROM or backup RAM may be incorporated into a computer system and used.
[0035]
The neural network obtained by the learning processing by the neural network learning system described above is incorporated into the signal processing device, so that signals from the input layer unit to the output layer unit can be transmitted based on the synaptic loads of M synapses. Can be processed. In order to incorporate into such a signal processing device, for example, the input signal to be processed is input to the input layer unit of the neural network and the state of the unit of the output layer of the neural network is read and the signal is read. Output means.
[0036]
The learning processing by the neural network learning system can be quickly learned even with an inexpensive digital computer, and an accurate learning result can be obtained, so that a highly accurate output can be made even in a signal processing device.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing a schematic configuration of a neural network learning system 2 to which the above-described invention is applied.
The neural network learning system 2 includes a neural network 12, a learning control unit 14, and a standard pattern storage unit 18. Here, the neural network 12 uses a rewritable memory such as a RAM or an EEPROM. Further, the learning control unit 14 is configured as a computer device, and a central CPU uses a digital arithmetic device. The learning control unit 14 loads a program stored in the standard pattern storage unit 18 configured with a hard disk together with other data into the RAM, and executes a neural network learning process described later.
[0038]
The neural network learning system 2 performs learning processing on the neural network 12. In this learning process, as shown in FIG. 2, the learning control unit 14 forms a standard input signal 18b from the standard pattern in the teacher pattern database 18a provided in the standard pattern storage unit 18 and outputs it to the neural network 12. . The learning control unit 14 compares the output signal 18c from the neural network 12 with the input of the standard input signal 18b with the teacher signal 18d formed from the standard pattern in the teacher pattern database 18a. Based on the comparison result, the learning control unit 14 outputs the synapse load update command signal 18e to the neural network 12. In response to this synapse load update command signal 18e, the neural network 12 adjusts the synapse load of the unit 12a, here, M synapse loads. By repeating this process, learning is performed in the neural network 12.
[0039]
As an example of the neural network 12 learned in this way, FIG. 3 shows a learning example of the neural network 12 for use in the control application of an auto car air conditioner. A signal from a sensor for detecting the operating state of the auto car air conditioner as a standard input signal 18b, and in this neural network 12, signals of a target blowing temperature, an amount of solar radiation, an inside air temperature and an outside air temperature are inputted, and an air flow level is outputted as an output signal Output. The air flow level output signal is compared with the teacher signal by the learning control unit 14 and a command to update the synaptic load is issued. Learning is performed by repeating this process.
[0040]
If an appropriate synaptic load is obtained as a result of learning in this way, it is incorporated into, for example, an electronic control unit (ECU) mounted on an automobile, and the target air temperature, solar radiation amount, inside air temperature are detected from sensors of an auto car air conditioner. And, by inputting the signal of the outside air temperature and outputting the air volume level, the air volume of the auto car air conditioner can be controlled.
[0041]
In the learning process described above, the synaptic load update command signal, that is, the amount of fluctuation of the M synaptic loads is determined by the neural network learning system 2 configured as a simplified quasi-Newton projection method computing system.
Next, a neural network learning process performed in the neural network learning system 2 will be described. Flowcharts of the neural network learning process are shown in FIGS. This neural network learning processing is based on a simplified quasi-Newton projection method using the Goldfarb method (for example, Hiroshi Imano, Hiroshi Yamashita, Nonlinear Programming, Nikka Giren, p.264-267).
[0042]
The Goldfarb method is a method for solving an optimization problem with linear constraints. For the neural network 12 described above, an optimization problem with linear constraints is formulated as follows.
That is, M synaptic loads w1, W2, ..., wMThe function E (w) of the square error sum described above is expressed as shown in Expression 71, and this function E (w) is a technique for obtaining a minimum value that satisfies the K inequalities expressed by Expression 72. However, w is defined by Expression 73.
[0043]
[Expression 10]
Figure 0003733711
[0044]
Here we define some terms and symbols.
(1) Effective constraints and I (w)
A for some wiw-biA constraint condition in which = 0 is referred to as a valid constraint condition (hereinafter referred to as “valid constraint”). The set of numbers i is represented by I (w) as shown in equation 74.
[0045]
## EQU11 ##
Figure 0003733711
[0046]
(2) A set of points satisfying all the constraint conditions is called an allowable region, and is represented by a symbol S as shown in Expression 75.
[0047]
[Expression 12]
Figure 0003733711
[0048]
(3) The number of valid constraints in w is q, and the valid constraint coefficient vector ai(Coefficient vector a for which the constraint is validi) A matrix of q rows and M columns with AqAnd when I (w) is expressed by Equation 76, AqIs expressed as in Equation 77.
[0049]
[Formula 13]
Figure 0003733711
[0050]
(4) M × M unit matrix is represented by IMIndicate.
(5) A matrix of M rows and M columns is defined by Expression 78. Equation 79 appearing in the second term is AqIs a generalized inverse matrix of
[0051]
[Expression 14]
Figure 0003733711
[0052]
(6) Point w satisfying the condition expressed by the expression 80 in the Goldfarb methodk + 1To find a matrix of M rows and M columns called Hessian. Hessian in the k-th update is HkIt shows with. Hessian HkIs always a symmetric matrix, and the relationship expressed by Equation 81 holds.
[0053]
[Expression 15]
Figure 0003733711
[0054]
(7) ∇ E (w expressed as in Equation 82k) Is the point wkFunction E (wk). This is a 1 × M row vector. ∇Et(Wk) Is the transpose, and is a column vector of M rows and 1 column.
[0055]
[Expression 16]
Figure 0003733711
[0056]
(8) The diagonal element is a1  a2  ... aMA diagonal matrix of M rows and M columns is expressed as shown in Equation 83.
[0057]
[Expression 17]
Figure 0003733711
[0058]
When the neural network learning process is started, first, k is initially set to k = 0, and w is set as an initial value.0Synaptic load w satisfying ∈S0Is selected (S100). Next, a set I (w of valid constraint numbers0) And matrix Aq(S102).
From Equation 84, PqIs obtained (S104).
[0059]
[Formula 18]
Figure 0003733711
[0060]
Where diag [b1  b2  ... bM] Is m∈I (w0) If bm= 1, m∈I (w0B) if notmB where = 0mRepresents a diagonal matrix having a diagonal component.
Next, as the initial contents of Hessian H, PqIs set as it is (S106).
[0061]
Next, the learning control unit 14 outputs the synapse load update command signal 18e to the neural network 12, and the actual synaptic load of the neural network 12 is set to w.0(S110).
Next, the standard input signal 18b in the standard pattern from the standard pattern storage unit 18 is input to the input layer unit 12a of the neural network 12, and at the same time, the output signal from the unit 12a of the output layer of the neural network 12 is output. 18c is recorded in the memory in the learning control unit 14 (S120).
[0062]
Next, E (wk) Is calculated (S130), and ∇E (wk) Is calculated (S134).
E (wk) Corresponds to the square error sum of the standard pattern teacher signal 18d represented by t and the output signal 18c of the neural network 12 represented by o as shown in Expression 85.
[0063]
[Equation 19]
Figure 0003733711
[0064]
Here, N is the number of units in the output layer, and P is the number of standard patterns.
∇ E (wk) Is defined as shown in Equation 86.
[0065]
[Expression 20]
Figure 0003733711
[0066]
Next, ∇E (wk)tE (wk) Hessian HkThus, E (wk) Vector d representing the direction of changekIs obtained (S140).
[0067]
[Expression 21]
Figure 0003733711
[0068]
Then dkIt is determined whether or not = 0 (S150). dkIf not = 0 (“NO” in S150), a new synaptic load w is then obtained by line search.k + 1Is set (S190). However, the line search is performed by the calculation shown in Expression 88.
[0069]
[Expression 22]
Figure 0003733711
[0070]
Here, the coefficient matrix αk is αk> 0 and wk + 1Set in the range where εS.
Next, the newly set synaptic load wk + 1Is set as the synaptic load of the neural network 12, the standard input signal 18b is input to the unit 12a of the input layer of the neural network 12, and the equation based on the output signal 18c and the teacher signal 18d from the unit 12a of the output layer is obtained. 85, and E (wk + 1) Is calculated (S200). Then, it is determined whether or not Expression 89 is satisfied (S210).
[0071]
[Expression 23]
Figure 0003733711
[0072]
If Expression 89 is not satisfied (“NO” in S210), the process returns to step S190 again, and the line search is continued, and E (wk + 1).
As a result of the line search, if Expression 89 is satisfied (“YES” in S210), it is next determined whether or not any of the constraint conditions shown in Expression 72 has become a new valid constraint ( S220). If there is no newly valid constraint (“NO” in S220), the BFGS formula willkIs updated (S230).
[0073]
The calculation according to the BFGS formula is performed as shown in Equation 90. Sk= Wk + 1-Wk, Rk= ∇tE (wk + 1) -∇tE (wk).
[0074]
[Expression 24]
Figure 0003733711
[0075]
On the other hand, if there is a newly valid constraint condition (“YES” in S220), a new Hessian H is obtained in Expression 91.k + 1Is calculated (S240).
[0076]
[Expression 25]
Figure 0003733711
[0077]
Where RkIs HkThe element in the i-th row and j-th columnk ijIs a matrix in which the elements of the i-th row and the j-th column are represented as shown in Expression 92.
[0078]
[Equation 26]
Figure 0003733711
[0079]
Next, the newly activated constraints are expressed in matrix AqIn addition to Aq + 1(S250), and the counter q indicating the number of valid constraints is incremented (S260).
Then, k is incremented (S270). Even when the process of step S230 is completed, the process of step S270 is performed.
[0080]
After step S270, k is the upper limit k of kmaxIs not exceeded (S272), and if not exceeded (“NO” in S272), a new ∇E (wk) (S134) and a new Hessian HkAnd nephewtE (wk) To obtain a vector d as shown in Equation 87.k(S140), dkIf not = 0 (“NO” in S150), the processing described above is repeated.
[0081]
If dkIf = 0 (“YES” in S150), the Lagrange multiplier λ is calculated as shown in Equation 93 (S280). Where I (wk) Is the formula 94, ∇ E (wk) Is defined as shown in Equation 95.
[0082]
[Expression 27]
Figure 0003733711
[0083]
Next, it is determined whether all the elements of the Lagrange multiplier λ are non-negative, that is, whether all the elements of λ ≧ 0 (S290). If all elements of the Lagrange multiplier λ are not non-negative (“NO” in S290), the current synaptic load wkIs not a solution, the constraint a corresponding to the smallest element of Lagrange multipliers λ, that is, the negative element having the largest absolute value (number s)sAqRemove from Aq-1(S300).
[0084]
Then I (wk) Is removed from S) (S310). Then, the new Hessian Hk + 1Is calculated (S320).
[0085]
[Expression 28]
Figure 0003733711
[0086]
Here, Ds is a matrix of M rows and M columns in which the elements in the sth row and the sth column are 1 and all others are 0.
Then q is A in step S300.q1 is subtracted corresponding to the removal of one element from (S330).
[0087]
Next, k is incremented (S340), and k is the upper limit value k of k.maxIs not exceeded (S342), and if not exceeded ("NO" in S342), the vector dkThe process returns to the process for obtaining (S140). Thereafter, as long as “NO” is determined in step S150 or step S290, the above-described processing is repeated and learning is continued.
[0088]
If it is determined in step S290 that all elements of the Lagrange multiplier λ are non-negative (“YES” in S290), the w set at this timekIs recorded as a solution (S350). Thus, the learning process ends. In step S272 or step S342, k> kmaxEven if it is determined, w set at this timekIs recorded as a solution (S350), and the learning process is terminated.
[0089]
In the learning process described above, four simplifications are performed for calculation. These four simplifications are obtained when the upper and lower limits are set for the synaptic load w of the neural network 12 and the constraint coefficient coefficient vector aiIs obtained for the first time under the constraint that the li element is -1 or 1 and the other elements are all 0 rows. For convenience, aiIs represented by c as shown in Equation 97.
[0090]
[Expression 29]
Figure 0003733711
[0091]
Further, when Expression 97 is distinguished for each Z, it can be expressed as Expression 98.
[0092]
[30]
Figure 0003733711
[0093]
Such a coefficient vector aiThe simplification due to the restriction of will be described.
[First simplification]
P in step S104qIs calculated by the equation 99.
[0094]
[31]
Figure 0003733711
[0095]
Conventionally known PqIs a calculation of a generalized inverse matrix as shown in Equation 100.
[0096]
[Expression 32]
Figure 0003733711
[0097]
For simplicity, a vector in which the m-th element is x and the other elements are all 0 in 1 row and M column is eM mIndicated as (x). eM mFor (x), Equation 101 holds.
[0098]
[Expression 33]
Figure 0003733711
[0099]
It should be noted that c in formula 97li ZCan be expressed as in Equation 102.
[0100]
[Expression 34]
Figure 0003733711
[0101]
Next, as i, j = 1, 2,.qAq tThe i-th row and j-th column element of c is cli(Cli)tIt is. l if i = ji= Lj, If i ≠ ji≠ ljTherefore, Formula 103 is established.
[0102]
[Expression 35]
Figure 0003733711
[0103]
Therefore, AqAq tIs a q-by-q unit matrix IqAnd (AqAq t)-1Is also a unit matrix I as represented by equation 104 of q rows and q columns.qIt becomes.
[0104]
[Expression 36]
Figure 0003733711
[0105]
From Expression 104, Expression 105 is established.
[0106]
[Expression 37]
Figure 0003733711
[0107]
AqThe i-th column vector (i = 1, 2,..., M) of diIndicate. This is as shown in Equation 106.
[0108]
[Formula 38]
Figure 0003733711
[0109]
Then Aq tAqThe i-th row and j-th column element of (di)tdjIt becomes.
Now, if equation 107 holds, di= 0. Therefore, if equation 107 or equation 108 holds, (di)tdj= 0.
[0110]
[39]
Figure 0003733711
[0111]
On the other hand, if equation 109 holds, i = lu, J = lvThere exist numbers u and v. diThe u-th element is cluThe other elements are 0 vectors. That is, Expression 110 is established, and Expression 111 is similarly established.
[0112]
[Formula 40]
Figure 0003733711
[0113]
Since u = v if i = j and u ≠ v if i ≠ j, Expression 112 is established.
[0114]
[Expression 41]
Figure 0003733711
[0115]
From the above, (di)tdj= 1 for i = j and i∈Ic(Wk) Only. Therefore, bmIs expressed as shown in Equation 113, Aq tAqIs expressed as in Equation 114.
[0116]
[Expression 42]
Figure 0003733711
[0117]
That is, Formula 99 was proved. Therefore, P in Step S104 can be obtained without performing the calculation of the generalized inverse matrix.qIt is possible to prevent the calculation memory from being required and the calculation from being inaccurate. Further, since it is not necessary to create a generalized inverse matrix program at the time of program creation, the program creation work is facilitated.
[0118]
[Second simplification]
H in step S240k + 1When calculating Hk + 1The calculation shown in Formula 115 is performed for each of the elements.
[0119]
[Equation 43]
Figure 0003733711
[0120]
Conventionally known Hk + 1Is a matrix calculation as shown in Expression 116.
[0121]
(44)
Figure 0003733711
[0122]
Where wkWk + 1Update tor k + 1= -B or wr k + 1Suppose = B. Then, the constraint condition cr Zwk + 1-B is a new effective constraint. ar= Cr ZIn other words, the expression 116 is expressed as an expression 117.
[0123]
[Equation 45]
Figure 0003733711
[0124]
Among these, H common to the denominator and the numerator of the second term of the formula 117k(Cr Z)tIs calculated as shown in Equation 118.
[0125]
[Equation 46]
Figure 0003733711
[0126]
Therefore, the denominator of the second term of Equation 117 can be calculated as Equation 119.
[0127]
[Equation 47]
Figure 0003733711
[0128]
Next, Hk t= HkFrom the relationship, c is a part of the numerator of the second term of Formula 117r ZHkIs the other part of the molecule, as shown in the equation 120.k(Cr Z)tIs equivalent to the transpose.
[0129]
[Formula 48]
Figure 0003733711
[0130]
From the formula 118 and the formula 120, the numerator of the second term of the formula 117 is represented by the formula 121.
[0131]
[Formula 49]
Figure 0003733711
[0132]
From the relationship between the equation 119 and the equation 121, the relationship of the equation 115 is obtained. Therefore, equation 116 that requires five matrix multiplications can be simplified as equation 115. H in step S240k + 1It is possible to prevent the calculation memory from being required and the calculation from becoming inaccurate. Moreover, the program creation work becomes easy.
[0133]
[Third simplification]
When calculating the Lagrange multiplier λ in step S280, the calculation shown in Expression 122 is performed.
[0134]
[Equation 50]
Figure 0003733711
[0135]
The conventionally known calculation of λ is a calculation including a generalized inverse matrix as shown in Expression 123.
[0136]
[Formula 51]
Figure 0003733711
[0137]
Here, the relationship of the formula 124 is established from the relationship of the formula 104.
[0138]
[Formula 52]
Figure 0003733711
[0139]
Therefore, the i-th element of λ is obtained as shown in Equation 125, and Equation 122 is proved.
[0140]
[53]
Figure 0003733711
[0141]
Therefore, it is possible to calculate λ in step S280 without executing the calculation of the generalized inverse matrix, and it is possible to prevent the calculation memory from being required for this part and the calculation from becoming inaccurate. . In addition, since it is not necessary to create a generalized inverse matrix program when creating a program, the program creation work is facilitated.
[0142]
[Fourth simplification]
H in step S320k + 1Is calculated by the equation 126.
[0143]
[Formula 54]
Figure 0003733711
[0144]
Where DsIs a matrix of M rows and M columns in which the elements in the s-th row and the s-th column are 1 and all others are 0.
Conventionally known Hk + 1Is a calculation of a generalized inverse matrix as shown in Expression 127.
[0145]
[Expression 55]
Figure 0003733711
[0146]
Where constraint cs ZwkLet −B = 0 be removed from the effective constraint. Since the condition of Expression 128 is satisfied, bs= 0.
[0147]
[56]
Figure 0003733711
[0148]
as= Cs ZIn other words, Expression 127 is expressed as Expression 129.
[0149]
[Equation 57]
Figure 0003733711
[0150]
First, P common to the denominator and the numerator of the second term of the formula 129 is used.q-1(Cs Z)tCalculate From the relationship of Equation 99 above, there is a relationship of Equation 130.
[0151]
[Formula 58]
Figure 0003733711
[0152]
Where bs= 0, so Pq-1The element in the s-th row and the s-th column is 1. As a result, P common to the denominator and the numerator of the second term of Formula 129 is obtained.q-1(Cs Z)tAs shown in Equation 131 (cs Z)tIt is understood that it is equal to.
[0153]
[Formula 59]
Figure 0003733711
[0154]
Therefore, the denominator of the second term is 1 as shown in Equation 132.
[0155]
[Expression 60]
Figure 0003733711
[0156]
On the other hand, Pq-1 t= Pq-1C being part of the molecule of the second terms ZPq-1Is P, which is another part of the second term, as shown in Equation 133.q-1(Cs Z)tC transposeds ZIt becomes.
[0157]
[Equation 61]
Figure 0003733711
[0158]
Accordingly, the numerator of the second term is a matrix of M rows and M columns in which the elements in the s-th row and the s-th column are 1 and the other elements are all 0 as shown in the equation 134.
[0159]
[62]
Figure 0003733711
[0160]
That is, the element in the i-th row and the j-th column is pijThen, it can be expressed as Equation 135.
[0161]
[Equation 63]
Figure 0003733711
[0162]
Therefore, even if the calculation of the generalized inverse matrix is not performed, H in step S320 is performed.k + 1It is possible to prevent the calculation memory from being required and the calculation from being inaccurate. In addition, since it is not necessary to create a generalized inverse matrix program when creating a program, the program creation work is facilitated.
[0163]
As described above, in order to suppress the dynamic range of the synaptic load of the neural network 12 executed by the fixed-point digital arithmetic device, an upper limit value is set to the absolute value of the synaptic load, and learning is performed within the range. When applying the Goldfarb method, as described above, the coefficient vector a of the constraint condition shown in the equation 72 is used.iBut liSince the element is -1 or 1, and the other elements are all 0's 1-row M-column row vectors, a complicated calculation of the generalized inverse matrix can be made unnecessary. Twelve learning programs can be programmed easily. Also, calculation time and memory usage can be reduced. Furthermore, as another effect, the calculation of the generalized inverse matrix may not be able to be accurately performed due to problems in numerical analysis such as digit loss, but the problem can be avoided by the simplification described above, and more accurate numerical values can be avoided. There is also an advantage that a solution can be obtained.
[0164]
In this embodiment, each synaptic load wiWhen a common upper limit B is set for the absolute value (i = 1, 2,..., M), that is, | wiA simple calculation formula was derived and proved for | ≦ B. However, these formulas are different for each synaptic load wiSeparately in the upper limit Bi U, Lower limit Bi LIs set, ie Bi L≦ wi≦ Bi UThis is also effective in the case of. Further, although the present embodiment has been described for a hierarchical neural network, the present invention can be applied to other models (such as a recurrent neural network) as long as the neural network can be learned by a descent method.
[0165]
[Experimental example]
The experimental results showing the effect of applying the present invention to the auto car air conditioner air volume control will be described below. In this experiment, learning is performed by the above-described four simplified processes (represented by “Example”), and the Goldfarb method (represented by “conventional method”) using the BFGS formula, which is a conventional learning method. .) Was compared with the case of learning, and the error of the neural network output in fixed point arithmetic was evaluated.
[0166]
A. Outline
Conditions such as the application example used for comparison and the configuration of the neural network are shown below. Auto car air conditioner is abbreviated as A / C.
(A) Application examples
A / C outlet control (switching between FACE, B / L, FOOT, etc.)
(B) Input / output specifications
Input / output is 4 inputs and 1 output. Table 1 shows the specifications of each input, and Table 2 shows the specifications of each output. The part of the input sensor value range excluding the area that can be programmed by a simple if-then rule is processed by the neural network. Each sensor signal is normalized to [0, 1] in the sensor value range and input to the neural network.
[0167]
[Table 1]
Figure 0003733711
[0168]
[Table 2]
Figure 0003733711
[0169]
In accordance with the outlet mode that is the output signal, A / C switches the mode as follows.
[0170]
[Table 3]
Figure 0003733711
[0171]
The permissible error of the outlet mode is ± 0.1, but the mode needs to be made as small as possible in order to switch the mode reliably at the mode switching point.
(C) Number of teacher patterns
5915 (3944 used for learning)
(D) Configuration of neural network
4-layer neural network (input layer 4 units, first intermediate layer 8 units, second intermediate layer 8 units, output layer 1 unit)
Input unit is linear unit, middle unit, output unit is sigmoid unit
(E) Evaluation method
Step 1. For each of the conventional method and the examples (upper limit values B = 64, 128), learning was performed 20 times with different initial values. The initial value of each neural network coefficient is a random number in the range of (-1, 1). The learning cycle is 1000 times for each trial.
[0172]
Step 2. Each neural network is calculated by floating-point arithmetic and fixed-point arithmetic, and a square error sum E for all patterns is calculated and compared as shown in Expression 136.
[0173]
[Expression 64]
Figure 0003733711
[0174]
B. Experimental result
Table 4 shows the calculation result of the square error sum E. Neural networks with the same trial number start learning from the same initial value. The conventional method showed the best result in floating point arithmetic, and the square error sum E was almost zero in trials 3, 12, 13, and 17. However, in the fixed-point arithmetic, the arithmetic accuracy is reduced by the trial, and the square error sum E may become abnormally large (trial 3, 10, etc.). When the maximum value of the square error sum E was compared, it was 187.1 in the conventional method, whereas in the example, the upper limit values B = 64 and 128 were 1.372 and 1.079, respectively. From this, it can be seen that with respect to fixed-point arithmetic, the example is less dependent on the initial value of the neural network than the conventional method, and the variation in the square error sum E by trial is small.
[0175]
[Table 4]
Figure 0003733711
[0176]
Next, the three methods having the smallest square error sum E in the fixed-point arithmetic are selected for the conventional method and the embodiment, the maximum absolute value of the synaptic load, and the maximum absolute error value between the teacher output and the neural network output. Compared. Table 5 shows the results of the conventional method, Table 6 shows the results when the upper limit B of the example is 64, and Table 7 shows the results when the upper limit B of the example is 128.
[0177]
[Table 5]
Figure 0003733711
[0178]
[Table 6]
Figure 0003733711
[0179]
[Table 7]
Figure 0003733711
[0180]
When the minimum square error sum E was compared, the example was two orders of magnitude smaller and a more accurate input / output function could be realized. The maximum value of the absolute error was also smaller in the present embodiment than in the conventional method, and excellent performance was shown. The allowable error is within a range of ± 0.1 for each learning method, but a large square error sum E is generated in the vicinity of the output values 0.3, 0.4, and 0.5 in the conventional method. In particular, 0.3 and 0.5 are mode switching points, and this neural network cannot be used for control. On the other hand, in the example, there was no phenomenon in which a large square error sum E occurred at a specific output value at any of the upper limit values B = 64 and 128.
[0181]
Table 8 shows a comparison of the square error sum E between the embodiment and the conventional example due to the difference in calculation method.
[0182]
[Table 8]
Figure 0003733711
[0183]
As can be seen from Table 8, in the embodiment, there is almost no difference in the square error sum E between the floating point calculation and the fixed point calculation, but the conventional method produces a very large difference. From this, it can be seen that the conventional method is unsuitable for use in an arithmetic device that performs fixed-point arithmetic generally used in an ECU or the like.
[0184]
FIG. 7 shows a comparison of control curves between the example and the conventional method. In the figure, the teacher output indicates the control curve to be realized, and the neural network output indicates the control curve output by the neural network. (A) is a result by an Example, (b) is a result of a conventional method.
In the conventional method, a large square error sum E is generated at the output values of 0.3, 0.4, and 0.5, whereas in the example, it can be seen that the teacher output curve and the neural network output curve almost coincide. The effect of the Example was confirmed from this.
[0185]
[Others]
In the above-described embodiment, the learning control unit 14 loads the program stored in the standard pattern storage unit 18 configured as a hard disk into the RAM and executes the neural network learning process. For example, the program may be recorded on a computer-readable recording medium such as a floppy disk, a magneto-optical disk, or a CD-ROM, and loaded into a computer system and started as necessary. In addition, the ROM or backup RAM may be recorded as a computer-readable recording medium, and the ROM or backup RAM may be incorporated into a computer system and used.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a neural network learning system as one embodiment.
FIG. 2 is an explanatory diagram of learning processing for a neural network by the neural network learning system.
FIG. 3 is an explanatory diagram of learning processing for a neural network for controlling an auto car air conditioner by the neural network learning system;
FIG. 4 is a flowchart of a neural network learning process by the neural network learning system.
FIG. 5 is a flowchart of a neural network learning process performed by the neural network learning system.
FIG. 6 is a flowchart of a neural network learning process performed by the neural network learning system.
FIG. 7 is an explanatory diagram showing the effect of learning between an example and a conventional method.
FIG. 8 is an explanatory diagram of a transition state of a square error sum E in conventional learning.
[Explanation of symbols]
2 ... Neural network learning system 12 ... Neural network 12a ... Unit
14 ... Learning control unit 18 ... Standard pattern storage unit
18a ... Teacher pattern database 18b ... Standard input signal
18c ... Output signal 18d ... Teacher signal
18e ... Synaptic load update command signal

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[b12 … bM]の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
Figure 0003733711
Using a digital arithmetic unit, when obtaining a solution of a variable w that has a minimum value of a function E (w) composed of M variables w represented by Expression 1 and satisfying the constraint condition of Expression 2,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
When the new constraint condition of Formula 2 based on the value of the new variable w becomes effective after the processing of the first processing means, the coefficient vector a r of the newly enabled constraint condition is expressed as the constraint condition. vector d that is added to the matrix a q that consists of the coefficient vector is valid and represents the direction of change of the function E (w) from said function E (w) transposed matrix ∇ t E representing the gradient of the (w) The Hessian H for determining is updated by Equation 3 and the process is returned to the first processing means. If a new constraint based on the value of the new variable w does not take effect, the formula for creating a new Hessian H is obtained. A second processing means for updating a new Hessian H and returning the processing to the first processing means;
When the vector d indicating the change direction of the function E (w) obtained based on the product of the transposed matrix ∇ t E (w) and the Hessian H is zero in the first processing means. If all the elements of the Lagrange multiplier λ obtained by the matrix based on Equation 4 are non-negative, w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the Lagrange multiplier λ The coefficient vector a s of the constraint condition corresponding to the negative element having the maximum absolute value among the negative elements is removed from the matrix A q , and the Hessian H is updated on the basis of the expression 5, and the processing is performed as the first processing means. A third processing means for returning;
With the quasi-Newton projection method,
A set I c having q integers different from the integers 1 to M is expressed as shown in Expression 6, and each integer l i (i = 1, 2,..., Q) included in the set I c is expressed. A vector defined by a 1-by-M vector, the l i element being c li , all other elements being 0, and c li being +1 or −1 is represented by the symbol of Equation 7, and By expressing the matrix A q as a matrix of q rows and M columns as shown in Expression 8, instead of calculating the matrix expressed in Expression 9 among the calculations in Expression 4, b m if integer m∈I c. = 1, if not an integer mεI c , a simplification characterized by using a calculation of a diagonal matrix diag [b 1 b 2 ... B M ] having a function b m with b m = 0 as diagonal elements. Quasi-Newton projection method computing system.
Figure 0003733711
デジタル式演算装置を用いて、式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列の行列の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
Figure 0003733711
Using a digital arithmetic unit, when obtaining a solution of a variable w that minimizes a function E (w) composed of M variables w represented by Expression 11 and satisfying the constraint condition of Expression 12,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
When the new constraint condition of the expression 12 based on the value of the new variable w becomes effective after the processing of the first processing means, the coefficient vector a r of the newly enabled constraint condition is expressed as the constraint condition. vector d which is added to the matrix a q that consists of the coefficient vector is valid and represents the direction of change of the function E (w) from said function E (w) transposed matrix ∇ t E representing the gradient of the (w) The Hessian H for determining is updated by the equation 13 and the process is returned to the first processing means. If a new constraint based on the value of the new variable w does not become effective, the formula for creating a new Hessian H is obtained. A second processing means for updating a new Hessian H and returning the processing to the first processing means;
When the vector d indicating the change direction of the function E (w) obtained based on the product of the transposed matrix ∇ t E (w) and the Hessian H is zero in the first processing means. If all the elements of the Lagrange multiplier λ obtained by the matrix based on Equation 14 are non-negative, w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the Lagrange multiplier λ The coefficient vector a s of the constraint condition corresponding to the negative element having the maximum absolute value among the negative elements is removed from the matrix A q , and the Hessian H is updated on the basis of Expression 15 and the processing is performed as the first processing means. A third processing means for returning;
With the quasi-Newton projection method,
The element of the i-th row and j-th column of Hessian H is represented by h ij , and the r-th element of each coefficient vector a r in all the constraints is represented as +1 or −1 and the other elements are represented as 0. In the calculation of Expression 13, instead of the calculation of the matrix expressed by Expression 16, the calculation of the matrix of M rows and M columns in which the elements of the i-th row and the j-th column are expressed by Expression 17 is used. A simplified quasi-Newton projective arithmetic system.
Figure 0003733711
デジタル式演算装置を用いて、式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にて表す計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
Figure 0003733711
Using a digital arithmetic unit, when finding a solution of a variable w that has a minimum value of a function E (w) composed of M variables w represented by Expression 21 and satisfying the constraints of Expression 22,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
When the new constraint condition of the expression 22 based on the value of the new variable w becomes effective after the processing of the first processing means, the coefficient vector a r of the newly enabled constraint condition is expressed as the constraint condition. vector d which is added to the matrix a q that consists of the coefficient vector is valid and represents the direction of change of the function E (w) from said function E (w) transposed matrix ∇ t E representing the gradient of the (w) The Hessian H for determining is updated by the equation 23 and the process is returned to the first processing means. If a new constraint based on the value of the new variable w does not become effective, the formula for creating a new Hessian H is obtained. A second processing means for updating a new Hessian H and returning the processing to the first processing means;
When the vector d indicating the change direction of the function E (w) obtained based on the product of the transposed matrix ∇ t E (w) and the Hessian H is zero in the first processing means. If all the elements of the Lagrange multiplier λ obtained by the matrix based on Equation 24 are non-negative, w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the Lagrange multiplier λ The coefficient vector a s of the constraint condition corresponding to the negative element having the maximum absolute value among the negative elements is removed from the matrix A q , and the Hessian H is updated based on Expression 25, and the processing is performed as the first processing means. A third processing means for returning;
With the quasi-Newton projection method,
A set I c having q integers different from the integers 1 to M is expressed as shown in Expression 26, and each integer l i (i = 1, 2,..., Q) included in the set I c is expressed. A vector defined by a 1-by-M vector, the l i -th element is c li , the other elements are all 0, and c li is +1 or −1, and is represented by the symbol of Equation 27, The matrix A q is expressed by a matrix of q rows and M columns as shown in Expression 28, and ∇E (w k ) is expressed as shown in Expression 29, so that the matrix expressed by Expression 30 in the calculation of Expression 24 can be obtained. A simplified quasi-Newton projection method computing system characterized by using the calculation represented by Equation 31 instead of the calculation.
Figure 0003733711
デジタル式演算装置を用いて、式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列の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
Figure 0003733711
Using a digital arithmetic unit, when obtaining a solution of a variable w that minimizes a function E (w) composed of M variables w represented by Expression 41 and satisfying the constraints of Expression 42,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
When the new constraint condition of the equation 42 based on the value of the new variable w becomes effective after the processing of the first processing means, the coefficient vector a r of the newly enabled constraint condition is expressed as the constraint condition. vector d which is added to the matrix a q that consists of the coefficient vector is valid and represents the direction of change of the function E (w) from said function E (w) transposed matrix ∇ t E representing the gradient of the (w) The Hessian H for determining is updated by the equation 43 and the processing is returned to the first processing means. If a new constraint based on the value of the new variable w does not become effective, the formula for creating a new Hessian H is obtained. A second processing means for updating a new Hessian H and returning the processing to the first processing means;
When the vector d indicating the change direction of the function E (w) obtained based on the product of the transposed matrix ∇ t E (w) and the Hessian H is zero in the first processing means. If all the elements of the Lagrange multiplier λ obtained by the matrix based on the equation 44 are non-negative, the w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the Lagrange multiplier λ The coefficient vector a s of the constraint condition corresponding to the negative element having the maximum absolute value among the negative elements is removed from the matrix A q , and the Hessian H is updated based on Expression 45, and the process is performed as the first processing means. A third processing means for returning;
With the quasi-Newton projection method,
A set I c whose elements are q integers different from the integers 1 to M is expressed as shown in Expression 46, and each integer l i (i = 1, 2,..., Q) included in the set I c is expressed. A vector defined by a 1-by-M vector, the l i element being c li , all other elements being 0, and c li being +1 or −1 is represented by the symbol of Equation 47, By expressing the matrix A q as a matrix of q rows and M columns as shown in Expression 48, in the calculation of Expression 45, the element of the s-th row and s-column is 1 instead of the calculation of the matrix expressed by Expression 49. And a simplified quasi-Newton projection method computing system characterized by using a calculation of M rows and M columns in which all other elements are 0.
Figure 0003733711
デジタル式演算装置を用いて、式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[b12 … 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列の行列の計算を用いることを特徴とする簡略化準ニュートン射影法演算システム。
Figure 0003733711
When a solution of the variable w having the minimum value of the function E (w) composed of M variables w expressed by the equation 51 and satisfying the constraint condition of the equation 52 is obtained using a digital arithmetic unit,
A first processing means for performing a straight line search to obtain a value of a variable w for reducing a value of the function E (w);
When the new constraint condition of the expression 52 based on the value of the new variable w becomes effective after the process of the first processing means, the coefficient vector a r of the newly enabled constraint condition is expressed as the constraint condition. vector d which is added to the matrix a q that consists of the coefficient vector is valid and represents the direction of change of the function E (w) from said function E (w) transposed matrix ∇ t E representing the gradient of the (w) The Hessian H for determining is updated by the equation 53, and the process is returned to the first processing means. If a new constraint based on the value of the new variable w does not become effective, the formula for creating a new Hessian H is obtained. A second processing means for updating a new Hessian H and returning the processing to the first processing means;
When the vector d indicating the change direction of the function E (w) obtained based on the product of the transposed matrix ∇ t E (w) and the Hessian H is zero in the first processing means. If all the elements of the Lagrange multiplier λ obtained by the matrix based on the equation 54 are nonnegative, w is obtained as a solution and the whole process is terminated. If the vector d is not zero, the Lagrange multiplier λ The coefficient vector a s of the constraint condition corresponding to the negative element having the maximum absolute value among the negative elements is removed from the matrix A q , and the Hessian H is updated based on the equation 55, and the processing is performed as the first processing means. A third processing means for returning;
With the quasi-Newton projection method,
A set I c whose elements are q integers different from the integers 1 to M is represented as shown in Expression 56, and each integer l i (i = 1, 2,..., Q) included in the set I c is expressed. A vector defined by a 1-by-M vector, the l i -th element is c li , the other elements are all 0, and c li is +1 or −1, and is represented by the symbol of Expression 57, By expressing the matrix A q as a matrix of q rows and M columns as shown in Expression 58, instead of calculating the matrix represented by Expression 59 among the calculations of Expression 54, b m if integer mεI c. = 1, if not an integer m∈I c , the calculation of the equation 55 is performed using the calculation of the diagonal matrix diag [b 1 b 2 ... B M ] with the function b m having b m = 0 as the diagonal elements. Of these, instead of the calculation of the matrix represented by Equation 60, the calculation of M rows and M columns in which the elements in the s-th row and s-column are 1 and all other elements are 0 is used.
Furthermore, by expressing ∇E (w k ) as shown in Equation 61, the calculation expressed by Equation 63 is used instead of the calculation of the matrix expressed by Equation 62 in the calculation of Equation 54 above.
Further, the element of the i-th row and j-th column of Hessian H is represented by h ij , and the r-th element of each coefficient vector a r in all the constraints is +1 or −1, and the other elements are all 0. By expressing, using the calculation of the matrix of M rows and M columns in which the element of the i-th row and the j-th column is expressed by the equation 65 instead of the calculation of the matrix expressed by the equation 64 in the calculation of the equation 53 Simplified quasi-Newton projective computing system characterized by
Figure 0003733711
第2処理手段にて用いられる公式は、BFGS公式、DFP公式あるいは対称ランク1公式であることを特徴とする請求項1〜5のいずれかに記載の簡略化準ニュートン射影法演算システム。The formula used in the second processing means, BFGS formula, DFP official or simplified quasi-Newton Projection Method calculation system according to claim 1, wherein the symmetric rank 1 is the official. 前記M個の変数wは、神経回路網における入力層のユニットから出力層のユニットに至るユニットを結合するM本のシナプスのシナプス荷重を表し、関数E(w)は前記神経回路網に与えられる教師信号と前記神経回路網の出力との誤差を表し、第1処理手段、第2処理手段および第3処理手段によって行われる関数E(w)が最小値となる変数wの解を求める処理は、前記神経回路網に対する学習処理であることを特徴とする請求項1〜6のいずれか記載の神経回路網学習システム。The M variables w represent the synaptic loads of M synapses that connect units from the input layer unit to the output layer unit in the neural network, and a function E (w) is given to the neural network. The process of calculating the solution of the variable w that represents the error between the teacher signal and the output of the neural network and that has the minimum value of the function E (w) performed by the first processing means, the second processing means, and the third processing means is , neural network learning system according to any of claims 1 to 6, characterized in that the learning process for the neural network. 請求項1〜6のいずれか記載の簡略化準ニュートン射影法演算システムの各手段としてコンピュータシステムを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium in which a program for causing a computer system to function as each means of the simplified quasi-Newton projection method computing system according to claim 1 is recorded. 請求項記載の神経回路網学習システムの各手段としてコンピュータシステムを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium recording a program for causing a computer system to function as each means of the neural network learning system according to claim 7 . 請求項における神経回路網学習システムによる学習処理により得られた神経回路網を組み込んだことを特徴とする信号処理装置。A signal processing apparatus comprising a neural network obtained by learning processing by the neural network learning system according to claim 7 . 請求項における神経回路網学習システムによる学習処理により得られた神経回路網と、
処理される入力信号を、前記神経回路網の入力層のユニットへ入力する入力手段と、
前記神経回路網の出力層のユニットの状態を読み取って信号として出力する出力手段と、
を備えたことを特徴とする信号処理装置。
A neural network obtained by learning processing by the neural network learning system according to claim 7 ,
An input means for inputting an input signal to be processed to an input layer unit of the neural network;
An output means for reading the state of the unit of the output layer of the neural network and outputting it as a signal;
A signal processing apparatus comprising:
JP29444597A 1997-10-27 1997-10-27 Simplified quasi-Newton projection calculation system, neural network learning system, recording medium, and signal processing apparatus Expired - Fee Related JP3733711B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29444597A JP3733711B2 (en) 1997-10-27 1997-10-27 Simplified quasi-Newton projection calculation system, neural network learning system, recording medium, and signal processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29444597A JP3733711B2 (en) 1997-10-27 1997-10-27 Simplified quasi-Newton projection calculation system, neural network learning system, recording medium, and signal processing apparatus

Publications (2)

Publication Number Publication Date
JPH11134314A JPH11134314A (en) 1999-05-21
JP3733711B2 true JP3733711B2 (en) 2006-01-11

Family

ID=17807879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29444597A Expired - Fee Related JP3733711B2 (en) 1997-10-27 1997-10-27 Simplified quasi-Newton projection calculation system, neural network learning system, recording medium, and signal processing apparatus

Country Status (1)

Country Link
JP (1) JP3733711B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342780B2 (en) 2010-07-30 2016-05-17 Hewlett Packard Enterprise Development Lp Systems and methods for modeling binary synapses
CN116702843A (en) * 2017-05-20 2023-09-05 谷歌有限责任公司 Projection neural network

Also Published As

Publication number Publication date
JPH11134314A (en) 1999-05-21

Similar Documents

Publication Publication Date Title
CN110647042B (en) Robot robust learning prediction control method based on data driving
Castillo et al. Some applications of functional networks in statistics and engineering
Hayashi et al. Construction of fuzzy inference rules by NDF and NDFL
EP0813127A2 (en) Inference rule determining method and inference device
Mosleh Fuzzy neural network for solving a system of fuzzy differential equations
JPH08297716A (en) Adaptive weight adjusting circuit for neural network
KR20190018885A (en) Method and device for pruning convolutional neural network
CN112800675A (en) KPCA and ELM-based time-space separation distribution parameter system modeling method
US5255344A (en) Inference rule determining method and inference device
CN115407207A (en) Online prediction method and system for lithium ion battery charge state
CN110889630B (en) Distributed state estimation method for active power distribution network
Devianto et al. The model of artificial neural network and nonparametric MARS regression for Indonesian composite index
US5129038A (en) Neural network with selective error reduction to increase learning speed
JP7024881B2 (en) Pattern recognition device and pattern recognition method
JP3733711B2 (en) Simplified quasi-Newton projection calculation system, neural network learning system, recording medium, and signal processing apparatus
US5420810A (en) Adaptive input/output apparatus using selected sample data according to evaluation quantity
Mosleh et al. Fuzzy Fredholm integro-differential equations with artificial neural networks
CN112580797B (en) Incremental learning method of multi-mode multi-label prediction model
US20210216867A1 (en) Information processing apparatus, neural network computation program, and neural network computation method
Koivisto A practical approach to model based neural network control
JPH05128284A (en) Neuro-processor
Farag et al. Neuro-fuzzy modeling of complex systems using genetic algorithms
CN115238873B (en) Neural network model deployment method and device, and computer equipment
JPH02260002A (en) Fuzzy controller
EP0451742A2 (en) Fuzzy inference device

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