【解決手段】学習初期に真値を入力部110に入力し、学習中期に真値及び推定値をランダムに入力部110に入力し、学習終盤に推定値を入力部110に入力してニューラルネットシステム100を学習させる工程と、学習後のニューラルネットシステム100に、車体パラメタに基づいて車体の挙動に係る推定値である中間計算パラメタを算出する工程と、算出した中間計算パラメタを入力にフィードバックして時系列で次段階の推定値である中間計算パラメタを算出する工程を所定回数反復し、時系列で各々算出された中間計算パラメタと車両パラメタとに基づいて、車両の挙動に係る応答を出力する工程と、時系列で各々算出された中間計算パラメタの損失と応答の損失とを同時に最適化する工程と、を含む。
【発明を実施するための形態】
【0014】
以下、
図1を用いて、本実施の形態に係る車体性能予測方法について説明する。
図1は、本発明の実施の形態に係る車体性能予測方法に係る演算処理装置10の具体的な構成の一例を示すブロック図である。
【0015】
演算処理装置10は、コンピュータ30を含んで構成されている。コンピュータ30は、CPU32、ROM34、RAM36、及び入出力ポート38を備える。一例としてコンピュータ30は、エンジニアリングワークステーション、又はスーパーコンピュータ等の、高度な演算処理を高速で実行できる機種であることが望ましい。
【0016】
コンピュータ30では、CPU32、ROM34、RAM36、及び入出力ポート38がアドレスバス、データバス、及び制御バス等の各種バスを介して互いに接続されている。入出力ポート38には、各種の入出力機器として、ディスプレイ40、マウス42、キーボード44、ハードディスク(HDD)46、及び各種ディスク(例えば、CD−ROMやDVD等)48から情報の読み出しを行うディスクドライブ50が各々接続されている。
【0017】
また、入出力ポート38には、ネットワーク52が接続されており、ネットワーク52に接続された各種機器と情報の授受が可能とされている。本実施の形態では、ネットワーク52には、データベース(DB)54が接続されたデータサーバ56が接続されており、DB54に対して情報の授受が可能とされている。データサーバ56及びDB54は、コンピュータ30が兼ねてもよい。
【0018】
DB54には、車体性能予測の対象となる車両の3D(三次元)モデルのデータ及び車体性能予測に係るデータ等が予め記憶される。DB54への情報の記憶は、コンピュータ30やデータサーバ56を介したデータの格納でもよいし、ネットワーク52に接続された他の機器を介したデータの格納でもよい。DB54に格納される3Dモデルのデータは、CAD(コンピュータ支援設計)による車両のデータでよいが、演算処理が容易なように、ジオメトリが予め調整されたデータでもよい。
【0019】
本実施の形態では、データサーバ56に接続されたDB54に、車体性能予測の対象となる車両の3Dモデルのデータ、車体の振動の観測値及び車体性能予測に係るデータ等が記憶されるものとして説明するが、コンピュータ30に内蔵されたHDD46や外付けのハードディスク等の外部記憶装置にDB54の情報を記憶するようにしてもよい。
【0020】
コンピュータ30のHDD46には、車体性能を予測するための車体性能予測プログラムがインストールされている。本実施の形態では、CPU32が車体性能予測プログラムを実行することにより、車体性能を予測する。また、CPU32は、予測結果をディスプレイ40に表示させる。なお、本実施の形態の車体性能予測プログラムをコンピュータ30にインストールするには、幾つかの方法があるが、例えば、車体性能予測プログラムをCD−ROMやDVD等に記憶しておき、ディスクドライブ50にディスクをセットし、CPU32に対してセットアッププログラムを実行することによりHDD46に車体性能予測プログラムをインストールする。または、公衆電話回線やネットワーク52を介してコンピュータ30と接続される他の情報処理機器と通信することで、HDD46に車体性能予測プログラムをインストールするようにしてもよい。
【0021】
図2は、車体性能予測プログラムによって構築されるニューラルネットシステム100の一例を示した概略図である。本実施の形態に係るニューラルネットシステム100は、車体性能予測に係る観測値(変数)である車両パラメタを入力する入力部110と、入力された車両パラメタの予測値である中間計算パラメタを算出するシミュレータ部130と、シミュレータ部で算出した中間計算パラメタを出力する中間計算パラメタ出力部150と、車体性能予測の演算を行う演算部170と、を含む。
【0022】
入力部110は、車両パラメタが入力される車両パラメタ部112と、車両パラメタ及び車両パラメタに基づく中間計算パラメタをシミュレータ部130に入力すると共に、系列で1段階先の中間計算パラメタと現段階の中間計算パラメタとの差分を算出する系列データ入力部114A、114B、114C、114Dとを含む。
【0023】
シミュレータ部130は、ニューラルネットワークである結合層132と、LSTM(Long Short-Term Memory)部134A、134B、134C、134Dとを含む。結合層132と、後述する演算部170の結合層174は、階層型ニューラルネットであり、具体的には多層パーセプトロンを用いる。LSTM部134A、134B、134C、134Dと、後述する演算部170のLSTM部172A、172B、172C、172Dは、再帰型ニューラルネットである。
【0024】
中間計算パラメタ出力部150は、系列データ出力部152A、152B、152C、152Dを含む。
【0025】
演算部170は、LSTM部172A、172B、172C、172Dと、ニューラルネットワークである結合層174と、結合層174での演算結果を出力する応答部176と、出力結果の誤差を判定するMSE(Mean Squared Error)部178を含む。
【0026】
図2に示したように、本実施の形態に係るニューラルネットシステム100は、車両パラメタと(系列データ)
0とに基づいてシミュレータ部130で算出した(系列データ)
1を演算部170に出力すると共に、入力部110にフィードバックする。本実施の形態では、例えば、系列データ入力部114Aから結合層132、LSTM部134A、系列データ出力部152A、及びLSTM部172Aに至るまでの一連の工程が、系列のある時刻Tにおける出力を予測する。
【0027】
入力部110では、フィードバックされた(系列データ)
1と、一段階前の中間計算パラメタである(系列データ)
0と、(系列データ)
1と(系列データ)
0との差分δ
1(図示せず)と、新たに観測された車両パラメタとをシミュレータ部130入力し、シミュレータ部130で算出した新たな(系列データ)
2(図示せず)を演算部170に出力すると共に、入力部110にフィードバックする。
【0028】
以後、入力部110では、フィードバックされた(系列データ)
tと、一段階前の中間計算パラメタである(系列データ)
t-1と、(系列データ)
tと(系列データ)
t-1との差分δ
tと、新たに観測された車両パラメタとをシミュレータ部130入力し、シミュレータ部130で算出した新たな(系列データ)
t+1を演算部170に出力すると共に、入力部110にフィードバックすることを演算部170のLSTM部172Dに入力する前の(系列データ)
Tを算出するまで反復する。
【0029】
また、本実施の形態に係るニューラルネットシステム100は、観測値である車両パラメタを演算部170の結合層174に入力するスキップコネクション116と、系列データ入力部114A、114B、114C、114Dがシミュレータ部130に入力した2つの中間計算パラメタ及びこれらの差分を演算部170のLSTM部172A、172B、172C、172Dに各々入力するスキップコネクション118A、118B、118C、118Dとを備えている。
【0030】
シミュレータ部130で中間計算パラメタを算出する際の処理で一部の入力情報が欠落するおそれがあるので、本実施の形態では、欠落したデータを補完するために、スキップコネクション116、118A、118B、118C、118Dを用いる。
【0031】
以下、本実施の形態に係るニューラルネットシステム100の各部の機能を説明する。
入力部110では、観測値である車両パラメタをp=(p
1、p
2、…、p
N)、ステアリング入力角をs={s
1、s
2、…、s
T}として、変数である車両パラメタと車両のステアリング入力角との結合であるxを下記の式(1)のように定義する。式(1)中のNは車両パラメタの次元数であり、tは系列に係るタイムステップ数であり、Tは最大のタイムステップ数である系列長である。かかるx
tが中間計算パラメタと共にシミュレータ部130に入力される。
【0032】
シミュレータ部130は、入力された値の時系列での推定値である中間計算パラメタを算出する。まず、シミュレータ部130では、結合層132において、入力された値から特徴量を抽出する。LSTM部134A、134B、134C、134Dでは、結合層132で抽出した特徴量に基づいて時系列で次段階の推定値である中間計算パラメタを算出する。LSTM部134A、134B、134Cで算出した中間計算パラメタは系列データ出力部152A、152B、152Cに出力すると共に、次系列のLSTM部134B、134C、134Dに出力する。次系列のLSTM部134B、134C、134Dでは、結合層132で抽出した特徴量と、前系列のLSTM部134A、134B、134Cから入力された中間計算パラメタとに基づいて新たな中間計算パラメタを算出する。
【0033】
本実施の形態では、結合層132のニューラルネットワークをNN(x)、LSTM部134A、134B、134C、134DのニューラルネットワークをLSTM(x)とする。そして、結合層132の隠れ層がN層で、重み行列をW、非線形関数の活性化関数をf(x)とすると、NN(x)は、下記の式(2)で表される。
【0034】
また、シミュレータ部130の系列毎の出力は、下記の式(3)で表される。式(3)の左辺は中間計算パラメタの推定値である。
【0035】
本実施の形態では、前述のように、入力部110では、中間計算パラメタ出力部150からフィードバックされた中間計算パラメタと、推定パラメタの微分を保持する一段階前の中間計算パラメタとをシミュレータ部130に入力している。しかしながら、
図2の系列データ入力部114Aで入力される初期値は、(系列データ)
0の1種類であるから、一段階前の中間計算パラメタは存在しない。本実施の形態では、(系列データ)
0を2つ使って、下記の式(4)のようにシミュレータ部130の出力を設定する。
【0036】
演算部170では、各系列で得られた中間計算パラメタをLSTM部172A、172B、172C、172Dに各々入力し、結合層174で応答に必要な特徴量を抽出し、抽出した特徴量から応答を算出して応答部176で出力する。演算部170の出力は、下記の式(5)のように表される。式(5)の左辺は、応答の推定値である。
【0037】
前述のように、本実施の形態では、スキップコネクション116、118A、118B、118C、118Dを加えることにより精度向上を図っている。本実施の形態のスキップコネクション116は、層を通すことにより欠落してしまった情報を付加し直すために設けられている。
【0038】
本実施の形態では、中間計算パラメタを算出するシミュレータ部130と、応答を抽出する演算部170との二段階で構成されているが、シミュレータ部130で中間計算パラメタを算出する際に、一部の情報が欠落するおそれがある。本実施の形態では、スキップコネクション116により、欠落した情報を補填している。スキップコネクション116は、演算部170のLSTM部172Dからの出力値に、車両パラメタ部112で入力された車両パラメタを結合させて結合層174に入力する。スキップコネクション116により、演算部170の出力は、下記の式(6)のように表される。式(6)の左辺は、応答の推定値である。
【0039】
演算部170のMSE部178では、損失関数Lを定義して、中間計算パラメタの損失(エラー)と応答の損失(エラー)とを同時に最適化するハイブリッド損失による誤差判定を行う。
【0040】
損失関数Lは、下記の式(7)で定義される。下記の式(7)中のyは応答の真値、zは中間計算パラメタの真値、α及びβは係数で任意の定数である。
【0041】
本実施の形態では、シミュレータの順次計算を模倣するために、一系列前の中間計算パラメタの予測値を入力する。しかしながら、ニューラルネットワークの学習時に、誤差が大きい予測値を入力すると、その後、誤差を取り除く学習を要することになってしまう。従って、学習初期は予測値を入力するのではなく、正解の値を入力する。正解を入力することにより、系列毎に誤差が少ない解にニューラルネットワークのモデルが最適化される。しかしながら、正解を入力した系列では確かに誤差が少ない解が得られるが、システム全体で誤差が少ない解が得られるとは限らない。
【0042】
システム全体で誤差が少ない解を得るには、予測値を入力した際に、全体的な損失を最小化することを要する。本実施の形態では、学習初期に正解を入力し、学習中期には正解と予測値とをランダムに入力し、学習終盤には予測値のみを入力する、スケジュールドサンプリングを行うことにより、全体的に誤差が少ない解へと徐々にシステムを誘導する。正解を入力として扱った場合のシミュレータ部130の式(3)は、下記の式(8)のようになる。式(8)中のx
t-1は変数xの真値、z
t-1は中間計算パラメタの真値である。
【0043】
スケジュールドサンプリングでは、学習時にはシミュレータ部130の演算式を式(8)から式(3)へと切り替えることにより、入力を真値から推定値に変化させ、テスト時には式(3)を用いて中間計算パラメタを算出する。
【0044】
図3は、車両のロール安定性をテストするNCAP fishhook試験の計算結果の一例を示した概略図である。
図3の試験では、車速が一定時に、左右方向にステアリング操作した旋回時の車両の最大横加速度を予測した。教師データは、DOE(Design of experiments)を用いて752デザインを生成し、一例として、車両走行のシミュレータであるCarMaker(登録商標)を用いた。
【0045】
予測モデルの精度は平均平方誤差(Root Mean Square Error : RMSE)を用いて評価した。RMSEは、下記の式で表される。下記式中のDはデータの数である。
【0046】
図4に、本実施の形態に係る車体性能予測方法の効果の一例を示す。車両パラメタから最大横加速度を予測する従来手法に比して、本実施の形態では予測誤差(RMSE)が76%低減する効果が得られた。
【0047】
以上説明したように、本実施の形態によれば、学習初期に真値を入力し、学習中期に真値及び推定値をランダムに入力し、学習終盤に推定値を入力してニューラルネットシステム100を効率的に学習させることができる。
【0048】
また、本実施の形態によれば、学習後のニューラルネットシステム100において、車体の挙動に係る変数である車両パラメタに基づいて算出した車体の挙動に係る推定値である中間計算パラメタを入力にフィードバックして新たな中間計算パラメタを算出する工程を反復することにより、最適化された中間計算パラメタを段階的に生成することができる。
【0049】
また、本実施の形態によれば、各々算出された中間計算パラメタと車両パラメタとに基づいて、車両の挙動に係る応答を出力することにより、中間計算パラメタの算出時に欠落した情報を車両パラメタによって補填して、より精度の高い応答を得ることができる。
【0050】
また、本実施の形態によれば、各々算出された中間計算パラメタの損失と応答の損失とを同時に最適化することにより、最終的な出力である応答の精度を向上させることができ、車体性能を精度よく予測可能な車体性能予測方法を提供することができる。