状態推定システム
【課題】観測データに含まれるノイズや不要なデータを除去して的確な入力情報のみをニューラルネットワークに適応可能とし、教師データへのマッチング精度や計算速度を向上させる。
【解決手段】状態推定システム1は、NNS2への前処理部として、観測データを独立成分分析するICA部5と主成分分析するPCA部6とを備え、ICA部5、PCA部6、NNS2への入力パターンを適応的に決定するGA部7を備えている。ICA部5は観測データから電気的・機械的なノイズ成分を除去した原信号を推定してNNS2へ入力し、PCA部6はICA部5では把握しきれない非線形な部分での不要なデータを除去し、誤差を低減した代表的な特性データをNNS2へ入力する。これにより、NNS2への入力情報を的確な情報とすることができ、NNS2における教師データへのマッチング精度や計算速度を向上させることができる。
【解決手段】状態推定システム1は、NNS2への前処理部として、観測データを独立成分分析するICA部5と主成分分析するPCA部6とを備え、ICA部5、PCA部6、NNS2への入力パターンを適応的に決定するGA部7を備えている。ICA部5は観測データから電気的・機械的なノイズ成分を除去した原信号を推定してNNS2へ入力し、PCA部6はICA部5では把握しきれない非線形な部分での不要なデータを除去し、誤差を低減した代表的な特性データをNNS2へ入力する。これにより、NNS2への入力情報を的確な情報とすることができ、NNS2における教師データへのマッチング精度や計算速度を向上させることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の観測データをニューラルネットワークで学習して系の状態量を推定出力する状態推定システムに関する。
【背景技術】
【0002】
近年、観測データをニューラルネットワークに適用して系の状態量を推定する技術が開発されている。例えば、車両の前後加速度、横加速度、上下加速度、操舵トルク、前輪舵角、車速、後輪舵角等を測定してニューラルネットワークへの入力とし、横滑り角やヨーレート等の測定が困難な状態量を推定する。
【0003】
例えば、特許文献1には、リカレントニューラルネットワークを用い、このリカレントニューラルネットワークにおける結合重み係数を遺伝的的アルゴリズムを用いて最適化することで、ネットワーク構成を車両パラメータを推定する上で最適な構造とする技術が開示されている。
【特許文献1】特開2004−249812号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、観測される入力データには、電気的、機械的なノイズ成分を含む場合や、各入力データが教師データに無関係な情報を複数含む場合が多く、このような不要な入力データは、ニューラルネットワークにおいてはノイズでしかない。特許文献1に開示されているような従来のシステムでは、このような観測データを、そのままニューラルネットワークに入力しており、これらを含めて学習を行った場合、教師データに対する適合性の悪化や、システムの汎化能力の低下を起こす虞がある。
【0005】
本発明は上記事情に鑑みてなされたもので、観測データに含まれるノイズや不要なデータを除去して的確な入力情報のみをニューラルネットワークに適応可能とし、教師データへのマッチング精度や計算速度を向上させることのできる状態推定システムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明による第1の状態推定システムは、複数の観測データからニューラルネットワークを介して系の状態量を推定出力する状態推定システムであって、上記複数の観測データの入力先を、上記ニューラルネットワークと上記ニューラルネットワーク以外とに振り分ける入力パターンを決定する入力パターン決定部と、上記複数の観測データの中から上記入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部とを備えたことを特徴とする。
【0007】
また、本発明による第2の状態推定システムは、車両運動における複数の観測データをニューラルネットワークで学習して車体挙動に係る状態量を推定出力する状態推定システムであって、上記複数の観測データの中から所定の入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部と、上記複数の観測データの中から上記入力パターンに従って選択されたデータを主成分分析して主成分を抽出し、抽出した主成分を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する主成分分析部とを備えたことを特徴とする。
【発明の効果】
【0008】
本発明によれば、観測データに含まれるノイズや不要なデータを除去して的確な入力情報のみをニューラルネットワークに入力することができ、教師データへのマッチング精度や計算速度を向上させて、状態量の推定精度を向上することができる。
【発明を実施するための最良の形態】
【0009】
以下、図面を参照して本発明の実施の形態を説明する。図1〜図10は本発明の実施の一形態に係り、図1は状態推定システムの全体構成図、図2は独立成分分析の説明図、図3は遺伝的アルゴリズムによる入力パターンの最適化を示す説明図、図4は遺伝子の世代と評価値との関係を示す説明図、図5は車体横滑り角の推定処理を示すフローチャート、図6は学習前の入力パターンを示す説明図、図7は学習後の入力パターンを示す説明図、図8は学習後のシステム構成を示す説明図、図9はシステムの出力例を示す説明図、図10は非線形領域における教師データへの適合度を示す説明図である。
【0010】
本発明の状態推定システムは、車両運動解析、画像処理、音声認識等の各種信号処理系に適用され、観測信号からニューラルネットワーク(Neural network;NN)を用いて系の状態量を学習的に推定するものである。図1に示すように、本実施の形態における状態推定システム1は、ハードウエア的には、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成され、機能的な特徴として、ニューラルネットワークシステム(Neural network System;NNS)2への前処理部として、入力データ(観測データ)を、独立成分分析(Independent Component Analysis;ICA)を用いて処理する独立成分分析部(ICA部)5と主成分分析(Principal Component Analysis;PCA)を用いて処理する主成分分析部(PCA部)6とを備えている。
【0011】
NNS2は、本実施の形態においては、周知の階層型ネットワーク3を採用し、ニューラルネットワーク(NN)3からの出力値と教師信号とを評価する評価器4aと、この評価器4aの評価結果に基づいて、出力値と教師信号とを一致させるよう内部の結合加重を学習する学習器4bとを備えている。例えば、NN3を3階層のモデルで構成する場合、NN3の入力層、中間層、及び出力層を構成する各ノードNi(i=1,2,…,k;kは各層を構成するノードの総数)は、所定の伝達関数に従い、入力Xiに対して1つの出力Yiを出力する。
【0012】
伝達関数としては、例えば、以下の(1)式で表されるシグモイド関数を用いることができる。その他、リミッタ、二値化、不感帯、ピークホールド、微分、積分、最大値等の各関数を伝達関数として用いることも可能である。
Yi=1/(1+exp(−(Xi−θi))) …(1)
【0013】
ここで、(1)式におけるθiは、ノードNi毎の閾値である。また、入力Xiは、上流側の各ノードNjの出力Yjを重み付けした総和である。すなわち、上流側のノードNjと下流側のノードNiとの結合重み係数をwtijとした場合、ノードNiへの入力Xiは、以下の(2)式で求められる。
Xi=Σwtij×Yj …(2)
【0014】
本状態推定システム1は、観測された複数のデータの全てがそのままNNS2(NN3)に入力されるわけではなく、以下に説明する入力パターンに従って、適宜、ICA部5及びPCA部6に振り分けられ、ICA部5及びPCA部6で分析されたデータがNNS2に入力される。尚、図1は、入力信号D1,…Dnに対する入力パターンの一つの形態を例示するものであり、この入力パターンは、学習によって適応的に更新される。
【0015】
ICA部5は、観測データから電気的・機械的なノイズ成分を除去した原信号を推定してNNS2へ入力し、PCA部6は、ICA部5では把握しきれない非線形な部分での不要なデータを除去し、誤差を低減した代表的な特性データをNNS2へ入力する。このICA部5及びPCA部6による観測データの前処理により、NNS2への入力情報を的確な情報とすることができ、NNS2における教師データへのマッチング精度や計算速度を向上させることができる。
【0016】
更に、本状態推定システム1は、ICA部5、PCA部6、NNS2への入力パターンを決定し、この入力パターンを遺伝的アルゴリズム(Genetic Algorithm;GA)で適応的に更新する入力パターン決定部としてのGA部7を備えている。この入力パターンは、ICA部5で処理すべきデータ、PCA部6で処理すべきデータ、直接NNS2に入力すべきデータ、NNS2に入力しない未使用データ(不要のデータ)といったようにデータを振り分けるパターンであり、GA部7は、NNS2の出力信号(収束後の学習結果)と教師信号とを比較・評価する評価器8からの出力に基づいて、遺伝的アルゴリズムで入力パターンを適応的に更新していく。
【0017】
尚、入力データの振り分けは重複を許したパターンとし、一種類の入力が複数回使われる場合も考慮する。つまり、ある一つの入力信号がICA部5、PCA部6の両方に入る場合もある。また、ICA部5、PCA部6は、それぞれ複数設けるようにして良く、その数を予め設定しておいて学習を行うようにしても良い。
【0018】
以下、NNS2へ入力するデータの前処理部としてのICA部5及びPCA部6について、詳細に説明する。
【0019】
ICA部5は、GA部7によって選定された入力信号に対して独立成分分析(ICA)を行い、1から所定の入力信号数までの数の独立成分を抽出してNNS2に入力する。ICAは、観測信号を複数の要素に分離する、多次元信号解析手法であり、具体的には、図2(a)に示すように、複数の原信号から発せられた信号Sが減衰等の混合作用素Aによって減衰・混合された場合に、複数の観測点で計測されたデータXを元に原信号Sを推定し、この推定した原信号SをNNSへ入力する新たな変量とすることで、電気的・機械的なノイズ成分や教師データと無関係なデータ等を除去した的確な入力情報とすることができる。
【0020】
信号の分離は、以下に説明するように、主としてキュムラント(cumulant)等の高次の統計量或いは時間的な相関に基づく独立性により行う。独立とは、確率変数x1,x2に関して、それぞれの確率密度関数をp(x1),p(x2)としたとき、以下の(3)式が成り立つことである。一般的には、n個の確率変数x1,x2,…の同時確率分布がそれぞれの確率分布の積に分解されるとき、n個の確率変数x1,x2,…は、互いに独立であるという。尚、信号同士が互いに独立であれば、無相関(相関係数が0)になる。
p(x1,x2)=p(x1)p(x2) …(3)
【0021】
ICAの概念は、観測データが未知の独立成分(原信号データ)の線形結合で与えられると仮定し、観測信号Xと原信号Sを、以下の(4),(5)式に示すようにベクトルで表現し、原信号Sの混合を未知のフルランク行列Aで表現したとき、観測信号Xが以下の(6)式によって与えられるものである。従って、ICAとは、独立成分及び混合行列に関する知識を一切利用せず、観測信号Xのみから独立成分(原信号)Sまたは混合行列Aを推定する手法であると言える。
X=[x1,x2,x3,…]T …(4)
S=[s1,s2,s3,…]T …(5)
X=AS …(6)
【0022】
すなわち、図2(b)に示すように、ICAは、観測信号Xのみから、以下の(7)式で計算される復元信号Yの各成分が統計的に独立となるように、行列(復元行列)Wを求める手法であり、理想的には、行列Wは、混合行列Aの一般化行列になるのが望ましいことになる。
Y=WX …(7)
【0023】
実際に独立成分を求める手法は多数存在し、本実施の形態においては、状況に応じて以下に示す4次キュムラントを利用する手法と相互相関を利用する手法とを使い分ける。
【0024】
<4次キュムラントの最大、最小化による手法>
観測信号が定常データ(確率分布が時不変)であると仮定する場合、キュムラントを用いてICAを行う。キュムラントとは、ある確率変数に対して、分散、標準偏差、歪度、尖度等の統計的性質を示すものであり、4次キュムラントが最大となるとき、信号は互いに独立となることが証明されている。
【0025】
そこで、この手法は、観測信号を行列Wである方向へ投影した後、その行列の4次キュムラントが最大になるように行列Wを決定する問題となる。一般に、4次キュムラントを最大にする行列Wを直接決定するには自由度が多き過ぎるため、観測信号Xを無相関化してから行う。
【0026】
無相関化には、以下の(8)式に示すように、直交行列u,v、対角行列sによる特異値分解を用い、無相関化後の観測信号X’は、以下の(9)式で記述できる。
X=usvT …(8)
X’=uTX …(9)
【0027】
この観測信号X’に、行列Wである方向に投影した4次のキュムラントK4は、以下の(10)式で表される。尚、Eは期待値を表す。
K4(WTX')=E[(WTX')4]−3(WTW)2 …(10)
【0028】
この(10)式が最大になるよう計算を繰り返し、行列Wを決定する。行列Wの最大値を見つけるには勾配法を用い、更新アルゴリズムは以下の(11)式で表される。
W(k+1)=W(k)±μ{4(W(k)TX'(k))3X'(k)−12||W(k)||2W(k)+2λW'(k)} …(11)
但し、μ:学習(速度)のパラメータ
λ:ラグランジュ乗数
【0029】
行列Wを随時更新していき、W(k+1)−W(k)が十分0に近い閾値α以下になった時点で学習が終了し、行列Wが決定したことになる。行列Wが決定すれば、上述の(7)式により、復元信号Yを求めることができる。
【0030】
尚、行列Wの更新計算における閾値α及び繰り返し計算回数の上限値は、評価器8から出力される評価値を用いて変化させるようにしても良い。また、(11)式で与えられる更新アルゴリズムに代えて、不動点法やJacobi法を用いて復元マトリクスWを求めることも可能である。
【0031】
<相互相関最小化>
一般に信号が弱定常でしかない場合には、3次以上の統計量が時間的に変化してしまい、統計量に利用できるものとしては、2次の統計量しかない。これ以外の量は、時間的に変動するため、1つの見本過程からは一般に推定することができず、次数の高いモーメントやキュムラントといった統計量に基づく手法は用いることができない。そのような場合には、相互相関最小化による手法を用いる。
【0032】
先の(6)式に示す観測信号と原信号の関係から、観測信号X(t)の相関関数行列は、以下の(12)式のようになる。
【0033】
(12)式におけるRsi(τ)=E[Si(t)Si(t+τ)]は、原信号i番目の成分Siの自己相関関数を表すことになる。また、原信号の独立性より、異なる独立成分Si,Sjとの相互相関は常に0である。すると、復元信号Y(t)は、適当な転置行列Pと対角行列Dとを用いて、Y(t)=X(t)=EAS(t)=PDS(t)と置くことができ、その相関関数行列は、以下の(13)式で示される。
【0034】
但し、(13)式における添字1',2',…,n'は、転置行列Pによる添字1,2,…,nの置換を表し、λiは対角行列Dの第i成分を表す。(13)式は、行列P,Dで表現される不定性を許して、相関関数行列を任意の時間差τにおいて対角化することを示している。
【0035】
従って、復元行列Wは、観測信号X(t)の自己相関行列を複数の時間差τに対して求め、同時に対角化する行列として求めることができ、以下の(14)式に示す条件に単純化される。ここで、M(τ)は、以下の(15)式で示す時間差τの観測信号の相関関数行列を表し、Λkは適当な対角行列とする。
WM(τk)WT=Λk (∀k=1,…,r) …(14)
M(τ)=E[X(t)X(t+τ)T] …(15)
【0036】
以上のことがらは、復元信号の独立性は、複数の相関関数行列の非対角成分が0かどうかで評価できることを示唆している。実際に行列Wを求める方法としては、いくつかの方法があるが、ここでは、二つの適当な時間差の相互相関行列M1=M(τ1)、M2=M(τ2)を使い、以下の(16),(17)式に示す同時対角化問題を解くこととする。
WM1WT=Λ1 …(16)
WM2WT=Λ2 …(17)
【0037】
これは、以下の(18)式で示す行列の固有値問題に帰着されて解くことができるが、二つの相関関数行列を用いるだけでは、相関係数そのものの推定誤差に影響され易い。
M1-1M2WT=WTΛ1-1Λ2 …(18)
【0038】
従って、本システムでは、以下の(19)式に示すような、幾つかの相関係数行列の非対角成分の二乗和を評価関数として、これを最小とする行列Wを求めることとする。ここで、(WM(τi)WT)ijは、行列WM(τi)WTの(i,j)成分を表すものとする。
【0039】
尚、このままでは、W=0が解となるので、適当な制約を加えると、評価関数は行列Wの各成分について、先に示した勾配法等で最適解を得ることができる。
【0040】
一方、PCA部6は、GA部7によって選定された入力信号に対して主成分分析(PCA)を行い、1から所定の入力信号数までの数の直交成分を抽出してNNS2に入力する。PCAは、複数のデータのばらつき傾向から、合成された新たな変量(主成分)を求める手法であり、解析的には、複数のデータの線形結合によって主成分を表し、線形結合の重みの大きさが1という制約下で主成分の分散を最大化させるものである。
【0041】
すなわち、ある入力信号Xを3次のベクトルとして、その各成分をX1,X2,X3とし、固有ベクトルをa、出力される主成分をZとすると、主成分Zは、以下の(20)式のような形で表される。
【0042】
従って、固有ベクトルaを求めることが主成分分析を解くことになる。具体的には、以下の(21)〜(24)式に示す条件、すなわち、主成分Zの各成分同士の相関係数rが0、固有ベクトルの大きさが1である条件が成り立つように、主成分Zの分散Vを最大にする問題を解く。
rZ1Z2=rZ2Z3=rZ1Z3=0 …(21)
a12+b12+c12=1 …(22)
a22+b22+c22=1 …(23)
a32+b32+c32=1 …(24)
【0043】
ここで、i番目のサンプルの主成分得点を、以下の(25)式で示すZiで表すと、主成分Zの分散Vは、以下の(26)式のようになる。従って、上述の条件下で分散Vを最大にする固有ベクトルaを求めれば良い。
Zi=aiXi1+biXi2+ciXi3 …(25)
V=1/(n−1)ΣZi2 …(26)
【0044】
分散Vを最大にする固有ベクトルaを求める方法としては、一般に、ラグランジュ未定乗数を用いて、分散Vを最大にする問題から、以下の(27)式に示すGを最大にする問題に置き換える。
G=V−λ(a2+b2+c2−1) …(27)
【0045】
Gをa1,a2,a3,λで偏微分し、0と置くことにより、以下の(28)式に示すような固有方程式となる。これは、λを未知数とする3次固有方程式となり、解はλ1,λ2,λ3の3つが求まる。
【0046】
但し、(λ1≧λ2≧λ3≧0)とすると、分散を最大にする第一主成分はλ1を、第二主成分を求めるにはλ2を、第三主成分を求めるにはλ3を用いて、以下の(29)式に示す方程式を連立して解くことにより求まる。尚、第二主成分、第三主成分を求める際には、λ2,λ3を用いれば良い。
【0047】
以上のICA部5,PCA部6へ入力されるデータは、GA部7にとって最適化される。GA部7は、ICA部5,PCA部6,NNS2の各部へ最適なデータが入力されるよう入力パターンを遺伝的アルゴリズム(GA)によって決定する。GAによる入力パターンの最適化は、個々の入力データを各個体として、各個体の遺伝子に入力先に対応した属性を設定しておき、世代毎に評価を行いながら進化過程を繰り返し、学習を行う。
【0048】
例えば、図3に示すように、初期個体として10個の個体を発生し、各個体の遺伝子として、ICA部5へ入力するものを「1」、PCA部6へ入力するものを「2」、NNS2への直接入力するものを「3」、NNS2へ入力しないものを「4」としてランダムに設定し、この第1世代の初期個体から評価器8の出力に基づいて世代交代を行う。この世代交代の過程では、第1世代の遺伝子に対して評価値の1番良いものを2つ増やし、評価値の悪かった遺伝子を削除して第2世代の遺伝子を生成し、以後、評価値の良い遺伝子だけを残すように、選択、交叉、突然変異等を繰り返す。そして、最終的に、図4に示すように評価値(平均値)が設定値以下になったとき、学習が収束したと判断して最適化を終了する。
【0049】
尚、最適化の終了は、最良の遺伝子の評価値が設定値に達した時点、或いは、遺伝子の世代が設定世代数に達した時点とすることも可能である。
【0050】
次に、本発明の適用対象の1つとして、自動車の車両運動解析における車体横滑り角の推定について説明する。車体横滑り角は、車両運動において、タイヤの進行方向と車体の進行方向とがなす角度であり、実際に計測しようとすると非常に高価なセンサを要するため、他の車両状態量から推定することが望まれているものである。
【0051】
この横滑り角は、一般に、車両運動が線形領域で記述できる場合、従来のニューラルネットワークにおいても、車輪速度等の入力情報から十分に推定可能であるが、車両がドリフトやスピン状態等の非線形領域に入った場合には、十分な推定精度が得られないばかりでなく、処理すべきデータ数が膨大となって計算速度が遅くなるという問題も生じる。
【0052】
これに対し、本状態推定システム1では、各入力情報について、ICA,PCAの前処理を行い、前後左右の各車輪速度等の入力情報を、ノイズ成分、操舵成分、車輪速度成分等に分離し、NNSに入力する。これにより、非線形領域での横滑り角の推定精度を向上させることができ、さらに、不要な入力をカットした最小限の入力を用いることで、計算速度を向上させることができる。
【0053】
以下、車両状態量である車体横滑り角を推定する処理について、図5のフローチャートを用いて説明する。
【0054】
本システムでは、横滑り角を推定する場合には、市販車に搭載済みのセンサから容易に得られる計測値、すなわち、操舵角、ヨーレイト、各車輪の速度、横向き加速度、前後加速度、スロットル開度、エンジン回転数等を用いて推定を行う。
【0055】
また、学習に用いるデータとしては、乾燥路での定常状態から、低摩擦係数路での非線形状態までを考慮する。そのため、乾燥路、水膜路、圧雪路、氷路等の各路面における典型的な加速減速中、及び一定速度で操舵を行うパターン走行から、ドリフト、スピン状態を計測し、全ての路面でのデータに対して平均的に適合するよう、NNS2及びICA部5を構成すると共に、PCA部7の復元マトリックスを構成する。
【0056】
具体的な処理としては、先ず、最初のステップS1において、操舵角、ヨーレイト、各車輪の速度、横向き加速度、前後加速度、スロットル開度、エンジン回転数等の入力信号と、教師信号として計測した横滑り角とをGA部7へ入力する。次に、ステップS2で、これらの入力信号を振り分けるため、GA部7で任意の初期入力パターンを設定する。
【0057】
入力信号の振り分けは、ICA部5への入力、PCA部6への入力、NNS2への直接入力、その入力信号を用いない場合となり、学習前の初期状態では、図6に示すように、操舵角、ヨーレイト、各車輪の速度、横向き加速度、前後加速度、スロットル開度、エンジン回転数等の各入力データが任意のパターン及び次元数でICA部5、PCA部6、NNS2に振り分けられる(但し、初期パターンでは入力信号を用いない場合は除く)。
【0058】
この入力パターンに従って選択され、ICA部5、PCA部6に入力された信号は、ステップS3において、それぞれ、ICA、PCAにより処理される。尚、次元圧縮を行う場合には、抽出した信号に順番が必要となるので、ICAに関しては4次キュムラントの大きい順、PCAでは第1主成分からの順で信号に番号を付与し、入力する信号、入力しない信号で分離する。
【0059】
その後、ステップS4へ進み、分離したデータと処理をしなかったデータとをNNS2へ入力し、ステップS5において、NNS2内部で教師データにマッチングするまで順次学習を行う。そして、NNS2での計算が収束した後(入力情報から求めた出力と教師信号が最もマッチングした後)は、ステップS6の処理に移り、最終的なNNS2の出力値と教師データとを評価器8に入力し、評価値Qを算出する。この評価値Qは、以下の(30)式により算出される。
Q=wt1×Er+wt2×N …(30)
但し、Er:教師信号と出力値との誤差の2乗積分値
wt1:設計者が用途に応じて任意に設定する係数
wt2:設計者が用途に応じて任意に設定する係数
N:次元数
【0060】
尚、(30)式における結合重み係数wt1,wt2に関しては、NNSの精度を重視する場合には、結合重み係数wt1を大きくし、入力データの次元数を小さくしたい場合には、結合重み係数wt2を大きくすることが望ましく、結合重み係数wt1,wt2を調整することで所望のシステム構成とすることができる。
【0061】
この評価値Qからは、ステップS7で学習終了が判定され、学習が未終了のとき(評価値Qが最小に収束していないとき)、ステップS8の処理として、GA部7で評価値Qを用いて入力パターンと入力次元数を学習的に変化させ、前述したステップS3以降での処理により、ICA部5、PCA部6、NNS2で繰り返し再計算を実行する。このGA部7での学習により、図7に示すように、ICA部5,PCA部6,NNS2への入力パターンがより適正化され、NNS2へ適正な次元数の最適なデータが入力されるようになる。そして、評価値Qが最小になった時点で、学習終了と判断して計算を終了し、NNS2から車体横滑り角の推定結果を出力する。
【0062】
以上の状態推定システム1は、オンラインで学習するシステムとしてそのまま実車に搭載することも可能であるが、望ましくは、オフラインでの学習が終了し、図8に示すようにGA部7を除いて入力パターンを設定済みのシステムを、実車に搭載することが望ましい。これにより、横滑り角を計測することが困難な実験車や市販車に本システムを搭載し、入力データを設定パターン通りに入力するだけで、車体横滑り角を、迅速且つ高精度で推定することができ、車両挙動の制御性を向上させることができる。
【0063】
図9は、右前輪車輪速度と左前輪車輪速度とをICA部5で独立成分分析してNNS2へ入力し、横方向加速度と前後方向加速度とスロットル開度とをPCA部6で主成分分析してNNS2へ入力した例を示しており、ICAにより入力データに含まれるノイズを効果的に除去すると共に、ICAの推定誤差をPCAで低減し、教師データである横滑り角に近い波形をNNS2から出力していることがわかる。
【0064】
以上のように、本状態推定システム1では、ICA部5による独立成分分析、PCA部6による主成分分析を経て、NNS2からの出力の評価値を最小にするよう学習することで、従来システムより少ない入力データ数で、教師信号に対する誤差が少ないシステムとすることができる。
【0065】
すなわち、ICAを用いることにより、ヨーレイトや操舵角といった横滑り角と比較的対応が取れるデータを取得するようなセンサがない場合においても、各車輪速度等そのままでは全く対応が取れないデータを、対応がとれる形へ写像することが可能となり、同時に、ノイズ成分を分離することができるため、シグナルとノイズとが混ざった状態でニューラルネットワークへ適応することがなく、推定精度を向上することができる。
【0066】
また、PCAを用いることにより、ICAによる出力値では表現し難い非線形な箇所に対しても、誤差を低減することができる。すなわち、図10(a)に示すように、観測データをそのままニューラルネットワークに入力して処理する従来のシステムでは、非線形領域において、教師データ(実線)とシステムの出力値(破線)と大きく乖離してしまうが、図10(b)に示すように、本システムでは、ICA,PCAで分析処理した後のデータをニューラルネットワークに入力しているため、非線形領域においても、システムの出力値を教師データに精度良く一致させることができる。
【0067】
尚、本システムにおいて、入力信号が多すぎて学習が収束しない場合や、予めニューラルネットワークへの入力パターンや次元数が設計的に決定している場合には、以下の(a)〜(c)に示す方法で学習を行なう。
(a)学習が収束しない場合には、入力パターンのみGAで最適化して、決定した入力パターンのみで圧縮次元数の学習を行う。
(b)ニューラルネットワークへの入力パターンが決まっている場合には、次元圧縮のみGAで学習を行う。
(c)ニューラルネットワークへの入力データの次元数が決定している場合には、入力データ数に制約条件を与えてGAを学習させる。
【図面の簡単な説明】
【0068】
【図1】状態推定システムの全体構成図
【図2】独立成分分析の説明図
【図3】遺伝的アルゴリズムによる入力パターンの最適化を示す説明図
【図4】遺伝子の世代と評価値との関係を示す説明図
【図5】車体横滑り角の推定処理を示すフローチャート
【図6】学習前の入力パターンを示す説明図
【図7】学習後の入力パターンを示す説明図
【図8】学習後のシステム構成を示す説明図
【図9】システムの出力例を示す説明図
【図10】非線形領域における教師データへの適合度を示す説明図
【符号の説明】
【0069】
1 状態推定システム
2 ニューラルネットワークシステム
5 ICA部(独立成分分析部)
6 PCA部(主成分分析部)
7 GA部(入力パターン決定部)
8 評価器
【技術分野】
【0001】
本発明は、複数の観測データをニューラルネットワークで学習して系の状態量を推定出力する状態推定システムに関する。
【背景技術】
【0002】
近年、観測データをニューラルネットワークに適用して系の状態量を推定する技術が開発されている。例えば、車両の前後加速度、横加速度、上下加速度、操舵トルク、前輪舵角、車速、後輪舵角等を測定してニューラルネットワークへの入力とし、横滑り角やヨーレート等の測定が困難な状態量を推定する。
【0003】
例えば、特許文献1には、リカレントニューラルネットワークを用い、このリカレントニューラルネットワークにおける結合重み係数を遺伝的的アルゴリズムを用いて最適化することで、ネットワーク構成を車両パラメータを推定する上で最適な構造とする技術が開示されている。
【特許文献1】特開2004−249812号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、観測される入力データには、電気的、機械的なノイズ成分を含む場合や、各入力データが教師データに無関係な情報を複数含む場合が多く、このような不要な入力データは、ニューラルネットワークにおいてはノイズでしかない。特許文献1に開示されているような従来のシステムでは、このような観測データを、そのままニューラルネットワークに入力しており、これらを含めて学習を行った場合、教師データに対する適合性の悪化や、システムの汎化能力の低下を起こす虞がある。
【0005】
本発明は上記事情に鑑みてなされたもので、観測データに含まれるノイズや不要なデータを除去して的確な入力情報のみをニューラルネットワークに適応可能とし、教師データへのマッチング精度や計算速度を向上させることのできる状態推定システムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明による第1の状態推定システムは、複数の観測データからニューラルネットワークを介して系の状態量を推定出力する状態推定システムであって、上記複数の観測データの入力先を、上記ニューラルネットワークと上記ニューラルネットワーク以外とに振り分ける入力パターンを決定する入力パターン決定部と、上記複数の観測データの中から上記入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部とを備えたことを特徴とする。
【0007】
また、本発明による第2の状態推定システムは、車両運動における複数の観測データをニューラルネットワークで学習して車体挙動に係る状態量を推定出力する状態推定システムであって、上記複数の観測データの中から所定の入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部と、上記複数の観測データの中から上記入力パターンに従って選択されたデータを主成分分析して主成分を抽出し、抽出した主成分を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する主成分分析部とを備えたことを特徴とする。
【発明の効果】
【0008】
本発明によれば、観測データに含まれるノイズや不要なデータを除去して的確な入力情報のみをニューラルネットワークに入力することができ、教師データへのマッチング精度や計算速度を向上させて、状態量の推定精度を向上することができる。
【発明を実施するための最良の形態】
【0009】
以下、図面を参照して本発明の実施の形態を説明する。図1〜図10は本発明の実施の一形態に係り、図1は状態推定システムの全体構成図、図2は独立成分分析の説明図、図3は遺伝的アルゴリズムによる入力パターンの最適化を示す説明図、図4は遺伝子の世代と評価値との関係を示す説明図、図5は車体横滑り角の推定処理を示すフローチャート、図6は学習前の入力パターンを示す説明図、図7は学習後の入力パターンを示す説明図、図8は学習後のシステム構成を示す説明図、図9はシステムの出力例を示す説明図、図10は非線形領域における教師データへの適合度を示す説明図である。
【0010】
本発明の状態推定システムは、車両運動解析、画像処理、音声認識等の各種信号処理系に適用され、観測信号からニューラルネットワーク(Neural network;NN)を用いて系の状態量を学習的に推定するものである。図1に示すように、本実施の形態における状態推定システム1は、ハードウエア的には、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成され、機能的な特徴として、ニューラルネットワークシステム(Neural network System;NNS)2への前処理部として、入力データ(観測データ)を、独立成分分析(Independent Component Analysis;ICA)を用いて処理する独立成分分析部(ICA部)5と主成分分析(Principal Component Analysis;PCA)を用いて処理する主成分分析部(PCA部)6とを備えている。
【0011】
NNS2は、本実施の形態においては、周知の階層型ネットワーク3を採用し、ニューラルネットワーク(NN)3からの出力値と教師信号とを評価する評価器4aと、この評価器4aの評価結果に基づいて、出力値と教師信号とを一致させるよう内部の結合加重を学習する学習器4bとを備えている。例えば、NN3を3階層のモデルで構成する場合、NN3の入力層、中間層、及び出力層を構成する各ノードNi(i=1,2,…,k;kは各層を構成するノードの総数)は、所定の伝達関数に従い、入力Xiに対して1つの出力Yiを出力する。
【0012】
伝達関数としては、例えば、以下の(1)式で表されるシグモイド関数を用いることができる。その他、リミッタ、二値化、不感帯、ピークホールド、微分、積分、最大値等の各関数を伝達関数として用いることも可能である。
Yi=1/(1+exp(−(Xi−θi))) …(1)
【0013】
ここで、(1)式におけるθiは、ノードNi毎の閾値である。また、入力Xiは、上流側の各ノードNjの出力Yjを重み付けした総和である。すなわち、上流側のノードNjと下流側のノードNiとの結合重み係数をwtijとした場合、ノードNiへの入力Xiは、以下の(2)式で求められる。
Xi=Σwtij×Yj …(2)
【0014】
本状態推定システム1は、観測された複数のデータの全てがそのままNNS2(NN3)に入力されるわけではなく、以下に説明する入力パターンに従って、適宜、ICA部5及びPCA部6に振り分けられ、ICA部5及びPCA部6で分析されたデータがNNS2に入力される。尚、図1は、入力信号D1,…Dnに対する入力パターンの一つの形態を例示するものであり、この入力パターンは、学習によって適応的に更新される。
【0015】
ICA部5は、観測データから電気的・機械的なノイズ成分を除去した原信号を推定してNNS2へ入力し、PCA部6は、ICA部5では把握しきれない非線形な部分での不要なデータを除去し、誤差を低減した代表的な特性データをNNS2へ入力する。このICA部5及びPCA部6による観測データの前処理により、NNS2への入力情報を的確な情報とすることができ、NNS2における教師データへのマッチング精度や計算速度を向上させることができる。
【0016】
更に、本状態推定システム1は、ICA部5、PCA部6、NNS2への入力パターンを決定し、この入力パターンを遺伝的アルゴリズム(Genetic Algorithm;GA)で適応的に更新する入力パターン決定部としてのGA部7を備えている。この入力パターンは、ICA部5で処理すべきデータ、PCA部6で処理すべきデータ、直接NNS2に入力すべきデータ、NNS2に入力しない未使用データ(不要のデータ)といったようにデータを振り分けるパターンであり、GA部7は、NNS2の出力信号(収束後の学習結果)と教師信号とを比較・評価する評価器8からの出力に基づいて、遺伝的アルゴリズムで入力パターンを適応的に更新していく。
【0017】
尚、入力データの振り分けは重複を許したパターンとし、一種類の入力が複数回使われる場合も考慮する。つまり、ある一つの入力信号がICA部5、PCA部6の両方に入る場合もある。また、ICA部5、PCA部6は、それぞれ複数設けるようにして良く、その数を予め設定しておいて学習を行うようにしても良い。
【0018】
以下、NNS2へ入力するデータの前処理部としてのICA部5及びPCA部6について、詳細に説明する。
【0019】
ICA部5は、GA部7によって選定された入力信号に対して独立成分分析(ICA)を行い、1から所定の入力信号数までの数の独立成分を抽出してNNS2に入力する。ICAは、観測信号を複数の要素に分離する、多次元信号解析手法であり、具体的には、図2(a)に示すように、複数の原信号から発せられた信号Sが減衰等の混合作用素Aによって減衰・混合された場合に、複数の観測点で計測されたデータXを元に原信号Sを推定し、この推定した原信号SをNNSへ入力する新たな変量とすることで、電気的・機械的なノイズ成分や教師データと無関係なデータ等を除去した的確な入力情報とすることができる。
【0020】
信号の分離は、以下に説明するように、主としてキュムラント(cumulant)等の高次の統計量或いは時間的な相関に基づく独立性により行う。独立とは、確率変数x1,x2に関して、それぞれの確率密度関数をp(x1),p(x2)としたとき、以下の(3)式が成り立つことである。一般的には、n個の確率変数x1,x2,…の同時確率分布がそれぞれの確率分布の積に分解されるとき、n個の確率変数x1,x2,…は、互いに独立であるという。尚、信号同士が互いに独立であれば、無相関(相関係数が0)になる。
p(x1,x2)=p(x1)p(x2) …(3)
【0021】
ICAの概念は、観測データが未知の独立成分(原信号データ)の線形結合で与えられると仮定し、観測信号Xと原信号Sを、以下の(4),(5)式に示すようにベクトルで表現し、原信号Sの混合を未知のフルランク行列Aで表現したとき、観測信号Xが以下の(6)式によって与えられるものである。従って、ICAとは、独立成分及び混合行列に関する知識を一切利用せず、観測信号Xのみから独立成分(原信号)Sまたは混合行列Aを推定する手法であると言える。
X=[x1,x2,x3,…]T …(4)
S=[s1,s2,s3,…]T …(5)
X=AS …(6)
【0022】
すなわち、図2(b)に示すように、ICAは、観測信号Xのみから、以下の(7)式で計算される復元信号Yの各成分が統計的に独立となるように、行列(復元行列)Wを求める手法であり、理想的には、行列Wは、混合行列Aの一般化行列になるのが望ましいことになる。
Y=WX …(7)
【0023】
実際に独立成分を求める手法は多数存在し、本実施の形態においては、状況に応じて以下に示す4次キュムラントを利用する手法と相互相関を利用する手法とを使い分ける。
【0024】
<4次キュムラントの最大、最小化による手法>
観測信号が定常データ(確率分布が時不変)であると仮定する場合、キュムラントを用いてICAを行う。キュムラントとは、ある確率変数に対して、分散、標準偏差、歪度、尖度等の統計的性質を示すものであり、4次キュムラントが最大となるとき、信号は互いに独立となることが証明されている。
【0025】
そこで、この手法は、観測信号を行列Wである方向へ投影した後、その行列の4次キュムラントが最大になるように行列Wを決定する問題となる。一般に、4次キュムラントを最大にする行列Wを直接決定するには自由度が多き過ぎるため、観測信号Xを無相関化してから行う。
【0026】
無相関化には、以下の(8)式に示すように、直交行列u,v、対角行列sによる特異値分解を用い、無相関化後の観測信号X’は、以下の(9)式で記述できる。
X=usvT …(8)
X’=uTX …(9)
【0027】
この観測信号X’に、行列Wである方向に投影した4次のキュムラントK4は、以下の(10)式で表される。尚、Eは期待値を表す。
K4(WTX')=E[(WTX')4]−3(WTW)2 …(10)
【0028】
この(10)式が最大になるよう計算を繰り返し、行列Wを決定する。行列Wの最大値を見つけるには勾配法を用い、更新アルゴリズムは以下の(11)式で表される。
W(k+1)=W(k)±μ{4(W(k)TX'(k))3X'(k)−12||W(k)||2W(k)+2λW'(k)} …(11)
但し、μ:学習(速度)のパラメータ
λ:ラグランジュ乗数
【0029】
行列Wを随時更新していき、W(k+1)−W(k)が十分0に近い閾値α以下になった時点で学習が終了し、行列Wが決定したことになる。行列Wが決定すれば、上述の(7)式により、復元信号Yを求めることができる。
【0030】
尚、行列Wの更新計算における閾値α及び繰り返し計算回数の上限値は、評価器8から出力される評価値を用いて変化させるようにしても良い。また、(11)式で与えられる更新アルゴリズムに代えて、不動点法やJacobi法を用いて復元マトリクスWを求めることも可能である。
【0031】
<相互相関最小化>
一般に信号が弱定常でしかない場合には、3次以上の統計量が時間的に変化してしまい、統計量に利用できるものとしては、2次の統計量しかない。これ以外の量は、時間的に変動するため、1つの見本過程からは一般に推定することができず、次数の高いモーメントやキュムラントといった統計量に基づく手法は用いることができない。そのような場合には、相互相関最小化による手法を用いる。
【0032】
先の(6)式に示す観測信号と原信号の関係から、観測信号X(t)の相関関数行列は、以下の(12)式のようになる。
【0033】
(12)式におけるRsi(τ)=E[Si(t)Si(t+τ)]は、原信号i番目の成分Siの自己相関関数を表すことになる。また、原信号の独立性より、異なる独立成分Si,Sjとの相互相関は常に0である。すると、復元信号Y(t)は、適当な転置行列Pと対角行列Dとを用いて、Y(t)=X(t)=EAS(t)=PDS(t)と置くことができ、その相関関数行列は、以下の(13)式で示される。
【0034】
但し、(13)式における添字1',2',…,n'は、転置行列Pによる添字1,2,…,nの置換を表し、λiは対角行列Dの第i成分を表す。(13)式は、行列P,Dで表現される不定性を許して、相関関数行列を任意の時間差τにおいて対角化することを示している。
【0035】
従って、復元行列Wは、観測信号X(t)の自己相関行列を複数の時間差τに対して求め、同時に対角化する行列として求めることができ、以下の(14)式に示す条件に単純化される。ここで、M(τ)は、以下の(15)式で示す時間差τの観測信号の相関関数行列を表し、Λkは適当な対角行列とする。
WM(τk)WT=Λk (∀k=1,…,r) …(14)
M(τ)=E[X(t)X(t+τ)T] …(15)
【0036】
以上のことがらは、復元信号の独立性は、複数の相関関数行列の非対角成分が0かどうかで評価できることを示唆している。実際に行列Wを求める方法としては、いくつかの方法があるが、ここでは、二つの適当な時間差の相互相関行列M1=M(τ1)、M2=M(τ2)を使い、以下の(16),(17)式に示す同時対角化問題を解くこととする。
WM1WT=Λ1 …(16)
WM2WT=Λ2 …(17)
【0037】
これは、以下の(18)式で示す行列の固有値問題に帰着されて解くことができるが、二つの相関関数行列を用いるだけでは、相関係数そのものの推定誤差に影響され易い。
M1-1M2WT=WTΛ1-1Λ2 …(18)
【0038】
従って、本システムでは、以下の(19)式に示すような、幾つかの相関係数行列の非対角成分の二乗和を評価関数として、これを最小とする行列Wを求めることとする。ここで、(WM(τi)WT)ijは、行列WM(τi)WTの(i,j)成分を表すものとする。
【0039】
尚、このままでは、W=0が解となるので、適当な制約を加えると、評価関数は行列Wの各成分について、先に示した勾配法等で最適解を得ることができる。
【0040】
一方、PCA部6は、GA部7によって選定された入力信号に対して主成分分析(PCA)を行い、1から所定の入力信号数までの数の直交成分を抽出してNNS2に入力する。PCAは、複数のデータのばらつき傾向から、合成された新たな変量(主成分)を求める手法であり、解析的には、複数のデータの線形結合によって主成分を表し、線形結合の重みの大きさが1という制約下で主成分の分散を最大化させるものである。
【0041】
すなわち、ある入力信号Xを3次のベクトルとして、その各成分をX1,X2,X3とし、固有ベクトルをa、出力される主成分をZとすると、主成分Zは、以下の(20)式のような形で表される。
【0042】
従って、固有ベクトルaを求めることが主成分分析を解くことになる。具体的には、以下の(21)〜(24)式に示す条件、すなわち、主成分Zの各成分同士の相関係数rが0、固有ベクトルの大きさが1である条件が成り立つように、主成分Zの分散Vを最大にする問題を解く。
rZ1Z2=rZ2Z3=rZ1Z3=0 …(21)
a12+b12+c12=1 …(22)
a22+b22+c22=1 …(23)
a32+b32+c32=1 …(24)
【0043】
ここで、i番目のサンプルの主成分得点を、以下の(25)式で示すZiで表すと、主成分Zの分散Vは、以下の(26)式のようになる。従って、上述の条件下で分散Vを最大にする固有ベクトルaを求めれば良い。
Zi=aiXi1+biXi2+ciXi3 …(25)
V=1/(n−1)ΣZi2 …(26)
【0044】
分散Vを最大にする固有ベクトルaを求める方法としては、一般に、ラグランジュ未定乗数を用いて、分散Vを最大にする問題から、以下の(27)式に示すGを最大にする問題に置き換える。
G=V−λ(a2+b2+c2−1) …(27)
【0045】
Gをa1,a2,a3,λで偏微分し、0と置くことにより、以下の(28)式に示すような固有方程式となる。これは、λを未知数とする3次固有方程式となり、解はλ1,λ2,λ3の3つが求まる。
【0046】
但し、(λ1≧λ2≧λ3≧0)とすると、分散を最大にする第一主成分はλ1を、第二主成分を求めるにはλ2を、第三主成分を求めるにはλ3を用いて、以下の(29)式に示す方程式を連立して解くことにより求まる。尚、第二主成分、第三主成分を求める際には、λ2,λ3を用いれば良い。
【0047】
以上のICA部5,PCA部6へ入力されるデータは、GA部7にとって最適化される。GA部7は、ICA部5,PCA部6,NNS2の各部へ最適なデータが入力されるよう入力パターンを遺伝的アルゴリズム(GA)によって決定する。GAによる入力パターンの最適化は、個々の入力データを各個体として、各個体の遺伝子に入力先に対応した属性を設定しておき、世代毎に評価を行いながら進化過程を繰り返し、学習を行う。
【0048】
例えば、図3に示すように、初期個体として10個の個体を発生し、各個体の遺伝子として、ICA部5へ入力するものを「1」、PCA部6へ入力するものを「2」、NNS2への直接入力するものを「3」、NNS2へ入力しないものを「4」としてランダムに設定し、この第1世代の初期個体から評価器8の出力に基づいて世代交代を行う。この世代交代の過程では、第1世代の遺伝子に対して評価値の1番良いものを2つ増やし、評価値の悪かった遺伝子を削除して第2世代の遺伝子を生成し、以後、評価値の良い遺伝子だけを残すように、選択、交叉、突然変異等を繰り返す。そして、最終的に、図4に示すように評価値(平均値)が設定値以下になったとき、学習が収束したと判断して最適化を終了する。
【0049】
尚、最適化の終了は、最良の遺伝子の評価値が設定値に達した時点、或いは、遺伝子の世代が設定世代数に達した時点とすることも可能である。
【0050】
次に、本発明の適用対象の1つとして、自動車の車両運動解析における車体横滑り角の推定について説明する。車体横滑り角は、車両運動において、タイヤの進行方向と車体の進行方向とがなす角度であり、実際に計測しようとすると非常に高価なセンサを要するため、他の車両状態量から推定することが望まれているものである。
【0051】
この横滑り角は、一般に、車両運動が線形領域で記述できる場合、従来のニューラルネットワークにおいても、車輪速度等の入力情報から十分に推定可能であるが、車両がドリフトやスピン状態等の非線形領域に入った場合には、十分な推定精度が得られないばかりでなく、処理すべきデータ数が膨大となって計算速度が遅くなるという問題も生じる。
【0052】
これに対し、本状態推定システム1では、各入力情報について、ICA,PCAの前処理を行い、前後左右の各車輪速度等の入力情報を、ノイズ成分、操舵成分、車輪速度成分等に分離し、NNSに入力する。これにより、非線形領域での横滑り角の推定精度を向上させることができ、さらに、不要な入力をカットした最小限の入力を用いることで、計算速度を向上させることができる。
【0053】
以下、車両状態量である車体横滑り角を推定する処理について、図5のフローチャートを用いて説明する。
【0054】
本システムでは、横滑り角を推定する場合には、市販車に搭載済みのセンサから容易に得られる計測値、すなわち、操舵角、ヨーレイト、各車輪の速度、横向き加速度、前後加速度、スロットル開度、エンジン回転数等を用いて推定を行う。
【0055】
また、学習に用いるデータとしては、乾燥路での定常状態から、低摩擦係数路での非線形状態までを考慮する。そのため、乾燥路、水膜路、圧雪路、氷路等の各路面における典型的な加速減速中、及び一定速度で操舵を行うパターン走行から、ドリフト、スピン状態を計測し、全ての路面でのデータに対して平均的に適合するよう、NNS2及びICA部5を構成すると共に、PCA部7の復元マトリックスを構成する。
【0056】
具体的な処理としては、先ず、最初のステップS1において、操舵角、ヨーレイト、各車輪の速度、横向き加速度、前後加速度、スロットル開度、エンジン回転数等の入力信号と、教師信号として計測した横滑り角とをGA部7へ入力する。次に、ステップS2で、これらの入力信号を振り分けるため、GA部7で任意の初期入力パターンを設定する。
【0057】
入力信号の振り分けは、ICA部5への入力、PCA部6への入力、NNS2への直接入力、その入力信号を用いない場合となり、学習前の初期状態では、図6に示すように、操舵角、ヨーレイト、各車輪の速度、横向き加速度、前後加速度、スロットル開度、エンジン回転数等の各入力データが任意のパターン及び次元数でICA部5、PCA部6、NNS2に振り分けられる(但し、初期パターンでは入力信号を用いない場合は除く)。
【0058】
この入力パターンに従って選択され、ICA部5、PCA部6に入力された信号は、ステップS3において、それぞれ、ICA、PCAにより処理される。尚、次元圧縮を行う場合には、抽出した信号に順番が必要となるので、ICAに関しては4次キュムラントの大きい順、PCAでは第1主成分からの順で信号に番号を付与し、入力する信号、入力しない信号で分離する。
【0059】
その後、ステップS4へ進み、分離したデータと処理をしなかったデータとをNNS2へ入力し、ステップS5において、NNS2内部で教師データにマッチングするまで順次学習を行う。そして、NNS2での計算が収束した後(入力情報から求めた出力と教師信号が最もマッチングした後)は、ステップS6の処理に移り、最終的なNNS2の出力値と教師データとを評価器8に入力し、評価値Qを算出する。この評価値Qは、以下の(30)式により算出される。
Q=wt1×Er+wt2×N …(30)
但し、Er:教師信号と出力値との誤差の2乗積分値
wt1:設計者が用途に応じて任意に設定する係数
wt2:設計者が用途に応じて任意に設定する係数
N:次元数
【0060】
尚、(30)式における結合重み係数wt1,wt2に関しては、NNSの精度を重視する場合には、結合重み係数wt1を大きくし、入力データの次元数を小さくしたい場合には、結合重み係数wt2を大きくすることが望ましく、結合重み係数wt1,wt2を調整することで所望のシステム構成とすることができる。
【0061】
この評価値Qからは、ステップS7で学習終了が判定され、学習が未終了のとき(評価値Qが最小に収束していないとき)、ステップS8の処理として、GA部7で評価値Qを用いて入力パターンと入力次元数を学習的に変化させ、前述したステップS3以降での処理により、ICA部5、PCA部6、NNS2で繰り返し再計算を実行する。このGA部7での学習により、図7に示すように、ICA部5,PCA部6,NNS2への入力パターンがより適正化され、NNS2へ適正な次元数の最適なデータが入力されるようになる。そして、評価値Qが最小になった時点で、学習終了と判断して計算を終了し、NNS2から車体横滑り角の推定結果を出力する。
【0062】
以上の状態推定システム1は、オンラインで学習するシステムとしてそのまま実車に搭載することも可能であるが、望ましくは、オフラインでの学習が終了し、図8に示すようにGA部7を除いて入力パターンを設定済みのシステムを、実車に搭載することが望ましい。これにより、横滑り角を計測することが困難な実験車や市販車に本システムを搭載し、入力データを設定パターン通りに入力するだけで、車体横滑り角を、迅速且つ高精度で推定することができ、車両挙動の制御性を向上させることができる。
【0063】
図9は、右前輪車輪速度と左前輪車輪速度とをICA部5で独立成分分析してNNS2へ入力し、横方向加速度と前後方向加速度とスロットル開度とをPCA部6で主成分分析してNNS2へ入力した例を示しており、ICAにより入力データに含まれるノイズを効果的に除去すると共に、ICAの推定誤差をPCAで低減し、教師データである横滑り角に近い波形をNNS2から出力していることがわかる。
【0064】
以上のように、本状態推定システム1では、ICA部5による独立成分分析、PCA部6による主成分分析を経て、NNS2からの出力の評価値を最小にするよう学習することで、従来システムより少ない入力データ数で、教師信号に対する誤差が少ないシステムとすることができる。
【0065】
すなわち、ICAを用いることにより、ヨーレイトや操舵角といった横滑り角と比較的対応が取れるデータを取得するようなセンサがない場合においても、各車輪速度等そのままでは全く対応が取れないデータを、対応がとれる形へ写像することが可能となり、同時に、ノイズ成分を分離することができるため、シグナルとノイズとが混ざった状態でニューラルネットワークへ適応することがなく、推定精度を向上することができる。
【0066】
また、PCAを用いることにより、ICAによる出力値では表現し難い非線形な箇所に対しても、誤差を低減することができる。すなわち、図10(a)に示すように、観測データをそのままニューラルネットワークに入力して処理する従来のシステムでは、非線形領域において、教師データ(実線)とシステムの出力値(破線)と大きく乖離してしまうが、図10(b)に示すように、本システムでは、ICA,PCAで分析処理した後のデータをニューラルネットワークに入力しているため、非線形領域においても、システムの出力値を教師データに精度良く一致させることができる。
【0067】
尚、本システムにおいて、入力信号が多すぎて学習が収束しない場合や、予めニューラルネットワークへの入力パターンや次元数が設計的に決定している場合には、以下の(a)〜(c)に示す方法で学習を行なう。
(a)学習が収束しない場合には、入力パターンのみGAで最適化して、決定した入力パターンのみで圧縮次元数の学習を行う。
(b)ニューラルネットワークへの入力パターンが決まっている場合には、次元圧縮のみGAで学習を行う。
(c)ニューラルネットワークへの入力データの次元数が決定している場合には、入力データ数に制約条件を与えてGAを学習させる。
【図面の簡単な説明】
【0068】
【図1】状態推定システムの全体構成図
【図2】独立成分分析の説明図
【図3】遺伝的アルゴリズムによる入力パターンの最適化を示す説明図
【図4】遺伝子の世代と評価値との関係を示す説明図
【図5】車体横滑り角の推定処理を示すフローチャート
【図6】学習前の入力パターンを示す説明図
【図7】学習後の入力パターンを示す説明図
【図8】学習後のシステム構成を示す説明図
【図9】システムの出力例を示す説明図
【図10】非線形領域における教師データへの適合度を示す説明図
【符号の説明】
【0069】
1 状態推定システム
2 ニューラルネットワークシステム
5 ICA部(独立成分分析部)
6 PCA部(主成分分析部)
7 GA部(入力パターン決定部)
8 評価器
【特許請求の範囲】
【請求項1】
複数の観測データからニューラルネットワークを介して系の状態量を推定出力する状態推定システムであって、
上記複数の観測データの入力先を、上記ニューラルネットワークと上記ニューラルネットワーク以外とに振り分ける入力パターンを決定する入力パターン決定部と、
上記複数の観測データの中から上記入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部と
を備えたことを特徴とする状態推定システム。
【請求項2】
上記複数の観測データの中から上記入力パターンに従って入力されたデータを主成分分析して主成分を抽出し、抽出した主成分を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する主成分分析部を更に備えたことを特徴とする請求項1記載の状態推定システム。
【請求項3】
上記入力パターンを、遺伝的アルゴリズムで適応的に更新することを特徴とする請求項1又は2記載の状態推定システム。
【請求項4】
上記独立成分分析部における原信号の推定を、4次キュムラントを用いて行うことを特徴とする請求項1記載の状態推定システム。
【請求項5】
上記独立成分分析部における原信号の推定を、相互相関関数を用いて行うことを特徴とする請求項1記載の状態推定システム。
【請求項6】
車両運動における複数の観測データをニューラルネットワークで学習して車体挙動に係る状態量を推定出力する状態推定システムであって、
上記複数の観測データの中から所定の入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部と、
上記複数の観測データの中から上記入力パターンに従って選択されたデータを主成分分析して主成分を抽出し、抽出した主成分を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する主成分分析部と
を備えたことを特徴とする状態推定システム。
【請求項7】
上記状態量は、車両の車体横滑り角であることを特徴とする請求項1又は6記載の状態推定システム。
【請求項1】
複数の観測データからニューラルネットワークを介して系の状態量を推定出力する状態推定システムであって、
上記複数の観測データの入力先を、上記ニューラルネットワークと上記ニューラルネットワーク以外とに振り分ける入力パターンを決定する入力パターン決定部と、
上記複数の観測データの中から上記入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部と
を備えたことを特徴とする状態推定システム。
【請求項2】
上記複数の観測データの中から上記入力パターンに従って入力されたデータを主成分分析して主成分を抽出し、抽出した主成分を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する主成分分析部を更に備えたことを特徴とする請求項1記載の状態推定システム。
【請求項3】
上記入力パターンを、遺伝的アルゴリズムで適応的に更新することを特徴とする請求項1又は2記載の状態推定システム。
【請求項4】
上記独立成分分析部における原信号の推定を、4次キュムラントを用いて行うことを特徴とする請求項1記載の状態推定システム。
【請求項5】
上記独立成分分析部における原信号の推定を、相互相関関数を用いて行うことを特徴とする請求項1記載の状態推定システム。
【請求項6】
車両運動における複数の観測データをニューラルネットワークで学習して車体挙動に係る状態量を推定出力する状態推定システムであって、
上記複数の観測データの中から所定の入力パターンに従って選択されたデータを独立成分分析して原信号を推定し、推定した原信号を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する独立成分分析部と、
上記複数の観測データの中から上記入力パターンに従って選択されたデータを主成分分析して主成分を抽出し、抽出した主成分を上記観測データに代わる新たな変量として上記ニューラルネットワークに入力する主成分分析部と
を備えたことを特徴とする状態推定システム。
【請求項7】
上記状態量は、車両の車体横滑り角であることを特徴とする請求項1又は6記載の状態推定システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2009−113717(P2009−113717A)
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願番号】特願2007−291077(P2007−291077)
【出願日】平成19年11月8日(2007.11.8)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願日】平成19年11月8日(2007.11.8)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
[ Back to top ]