[データ生成システムSの概要]
図1及び図2は、データ生成システムSの概要を説明するための図である。データ生成システムSは、車両Tにおいて測定された各種のパラメータの頻度データに基づいて、当該パラメータの時系列データを生成するためのシステムである。データ生成システムSは、データ収集装置1及びデータ生成装置2を備えている。データ生成装置2は、機械学習モデルを用いて、頻度データに基づいて時系列データを生成する装置である。データ生成装置2は、機械学習モデルを作成するモデル作成装置としても機能する。当該機械学習モデルは、例えば条件付VAE(Variational Auto Encoder)又は条件付GAN(Generative Adversarial Networks)を含んで構成されている。
図3は、時系列データ及び頻度データの概要を示す図である。図3(a)に示すように、時系列データは、時間によって変化するパラメータの値を示すデータであり、例えば1秒ごとの車両Tの速度の値から構成されている。図3(b)に示すように、頻度データは、所定の期間内にパラメータの値として想定し得る複数の値が発生した頻度の分布を示すデータである。頻度データは、パラメータを一階微分した値が発生した頻度の分布を示すデータであってもよい。
パラメータが車両Tの速度である場合、頻度データは、例えば単位時間(例えば1時間)内に時速1kmの状態が発生した時間、時速2kmの状態が発生した時間等のように、時速Nkm(Nは0以上の整数)の状態が発生した時間又は割合を示すデータである。パラメータが車両Tの速度である場合、頻度データは、単位時間内に所定の加速度が発生した時間又は割合を示すデータであってもよい。なお、車両Tが加速している間は加速度が正の値となり、減速している間は加速度が負の値となる。加速度の頻度データは、車両Tの複数の速度それぞれに対応する複数の加速度の頻度データを含んでいてもよい。
車両Tにおいて測定されるパラメータは、例えば、車両Tの速度、車両Tの加速度、車両Tで使用される冷却水の温度、車両Tで使用される油の温度、車両Tのアクセル開度、車両Tの振動量の少なくともいずれかである。車両Tの管理者は、このようなパラメータの時系列データを分析することで、車両Tの燃費、車両Tの劣化度、車両Tの運転者による運転の質等の各種の情報を得ることができる。ところが、車両Tから頻度データしか得ることができない場合、このような情報を得ることが困難である。
そこで、データ生成システムSは、車両Tにおいて測定されたパラメータの時系列データ及び頻度データを教師データとして機械学習(例えば深層学習)した機械学習モデルを作成し、作成した機械学習モデルを用いて、車両Tから得られた頻度データに基づいて時系列データを生成することを可能にする。車両Tの管理者は、データ生成システムSにおいて生成される時系列データを分析することで、車両Tの燃費、劣化度、運転の質等の各種の情報を得ることが可能になる。
以下、図1及び図2を参照しながら、データ生成システムSの概要を説明する。データ収集装置1は、ネットワークNを介して多数の車両Tにおいて測定されたパラメータのデータを取得する装置であり、例えばコンピュータである。データ生成装置2は、データ収集装置1を介して車両Tから取得した時系列データ及び当該時系列データに対応する頻度データを教師データとして機械学習した機械学習モデルを作成するコンピュータである。データ生成装置2は、作成した機械学習モデルを用いて、車両Tから得られた頻度データに基づいて時系列データを生成する。
図1は、データ生成装置2が機械学習をして機械学習モデルを作成する間のデータ生成システムSの動作を示す図である。データ収集装置1は、予め登録された車両Tから所定のパラメータ(例えば速度)の測定データを取得する(図1における(1))。データ収集装置1は、取得した測定データの時系列データをデータ生成装置2に送信する(図1における(2))。
データ生成装置2は、データ収集装置1から受信した時系列データに基づいて頻度データを生成し、時系列データ及び頻度データを教師データとして、頻度データが入力されると時系列データを出力する機械学習モデルを作成する(図1における(3))。データ生成装置2が頻度データを生成する代わりに、データ収集装置1が時系列データ及び頻度データをデータ生成装置2に送信してもよい。
続いて、図2を参照して、データ生成装置2が機械学習モデルを作成した後の動作を説明する。車両Tは、データ収集装置1に対して測定したパラメータの頻度データを送信する(図2における(4))。データ収集装置1は車両Tから受信した頻度データをデータ生成装置2に送信する(図2における(5))。データ生成装置2は、受信した頻度データを機械学習モデルに入力し、機械学習モデルから出力される時系列データを取得することにより時系列データを生成する(図2における(6))。データ生成装置2は生成した時系列データをデータ収集装置1に送信する(図2における(7))。
以上の流れにより、データ生成装置2を利用する車両Tの管理者等のユーザが、頻度データに基づいて、所望のパラメータの時系列データを取得することができる。データ生成装置2は、生成した時系列データをデータ収集装置1以外の任意のコンピュータに送信したり、ディスプレイに表示したり、印刷したりしてもよい。
[データ生成装置2の構成及び動作]
図4は、データ生成装置2の構成を示す図である。データ生成装置2は、通信部21と、記憶部22と、制御部23と、を有する。制御部23は、時系列データ取得部231と、学習用頻度データ取得部232と、生成用頻度データ取得部233と、データ出力部234と、モデル作成部235と、データ生成部236とを有する。データ生成装置2が生成用頻度データ取得部233、データ出力部234及びデータ生成部236を有しない場合、データ生成装置2は、機械学習モデルMを作成するモデル作成装置として機能する。
通信部21は、ネットワークNを介してデータ収集装置1又はその他の外部装置との間でデータを送受信するための通信インターフェースを含む。通信部21は、外部装置から受信したデータを制御部23に通知し、制御部23から入力されたデータを外部装置へと送信する。
記憶部22は、ROM(Read Only Memory)、RAM(Random Access Memory)及びハードディスク等の記憶媒体を含む。記憶部22は、制御部23が実行するプログラムを記憶する。また、記憶部22は、データ収集装置1から受信した時系列データ及び頻度データを一時的に記憶する。
制御部23は、例えばCPU(Central Processing Unit)である。制御部23は、記憶部22に記憶されたプログラムを実行することにより、時系列データ取得部231、学習用頻度データ取得部232、生成用頻度データ取得部233、データ出力部234、モデル作成部235及びデータ生成部236として機能する。
時系列データ取得部231は、車両Tが走行中に測定されたパラメータの時系列データを学習用時系列データとして取得する。時系列データ取得部231は、例えば、車両Tが走行中に測定された車両の速度の時系列データを学習用時系列データとして取得する。時系列データ取得部231は、取得した学習用時系列データをモデル作成部235に入力する。
学習用頻度データ取得部232は、時系列データ取得部231が取得した学習用時系列データに対応する学習用頻度データを取得する。学習用頻度データ取得部232は、例えば、通信部21を介して学習用頻度データを取得するが、学習用頻度データ取得部232は、学習用時系列データに基づいて学習用頻度データを作成することにより、学習用時系列データから学習用頻度データを取得してもよい。学習用頻度データ取得部232は、例えば、学習用時系列データに対応するパラメータの発生頻度分布を示す学習用頻度データと、当該パラメータの一階微分値の発生頻度分布を示す学習用頻度データとを取得する。
学習用時系列データが速度の時系列データである場合、学習用頻度データ取得部232は、学習用時系列データにおける速度の発生頻度分布を示す学習用速度頻度データと、学習用時系列データにおける加速度の発生頻度分布を示す学習用加速度頻度データとを取得する。学習用頻度データ取得部232は、取得した学習用頻度データをモデル作成部235に入力する。
生成用頻度データ取得部233は、機械学習モデルMを用いて時系列データを生成するために用いられる生成用頻度データを取得する。本明細書において、機械学習モデルMを用いて生成される時系列データを生成時系列データという。生成用頻度データ取得部233は、例えば通信部21を介して、データ収集装置1から生成用速度頻度データ及び生成用加速度頻度データを取得する。生成用頻度データ取得部233は、取得した生成用頻度データをデータ生成部236に入力する。
データ出力部234は、生成用頻度データ取得部233がデータ生成部236に入力した生成用頻度データに基づいて機械学習モデルMから出力された生成時系列データを出力する。データ出力部234は、例えば、データ生成部236から入力された生成時系列データを、通信部21を介して外部の装置に送信する。
モデル作成部235は、機械学習モデルMを作成し、作成した機械学習モデルMの重みを記憶部22に記憶させる。モデル作成部235は、モデル作成部235が有するメモリ(不図示)に重みを記憶させてもよい。
モデル作成部235は、学習用時系列データと、対応する学習用頻度データと、を教師データとして機械学習することにより、頻度データが入力されたことに応じて頻度データに対応する時系列データである生成時系列データを出力する機械学習モデルMを作成する。学習用時系列データが、車両Tの速度の時系列データであり、学習用頻度データが、車両Tの速度の頻度データ及び加速度の頻度データであり、生成時系列データが速度の時系列データである場合、機械学習モデルMは、速度頻度データ及び加速度頻度データが入力されたことに応じて車両Tの速度の時系列データである生成時系列データを出力する。
データ生成部236は、生成用頻度データ取得部233から入力された生成用頻度データを機械学習モデルMに入力することにより生成時系列データを生成する。生成用頻度データ取得部233から入力された生成用頻度データが、車両Tの速度の頻度データ及び加速度の頻度データである場合、データ生成部236は、車両Tの速度の頻度データ及び車両Tの加速度の頻度データを入力することにより機械学習モデルMから出力される速度の時系列データを生成時系列データとして生成する。データ生成部236は、生成した生成時系列データをデータ出力部234に入力することにより、外部に出力することができる。
[機械学習モデルMの作成方法]
図5Aは、機械学習モデルMの一例として、条件付きVAEにより構成される機械学習モデルMをモデル作成部235が作成する処理の概要を示す図である。図5Bは、データ生成部236が機械学習モデルMを用いて時系列データを生成する過程を示す図である。
図5に示すように、機械学習モデルMは、一例としてのディープニューラルネットワーク(DNN)により構成されている。DNNは、入力層から出力層までの間に複数の層を有しており、それぞれの層に含まれる複数のノードそれぞれに可変の重みが設けられている。機械学習モデルMが学習する前の重みは初期値となっている。
図5Aに示すように、モデル作成部235は、入力された学習用時系列データ及び学習用頻度データのペアが入力される機械学習モデルM−1と、潜在変数ベクトルz及び学習用頻度データが入力される機械学習モデルM−2とで構成され、機械学習モデルM−2から出力される生成時系列データと、入力した学習用頻度データに対応する学習用時系列データとを比較する。
モデル作成部235は、機械学習モデルM−2(又は機械学習モデルM−1)に学習用速度頻度データ及び学習用加速度頻度データを入力した際に機械学習モデルM−2(又は機械学習モデルM−1)から出力される生成時系列データと、学習用速度頻度データ及び学習用加速度頻度データに対応する学習用時系列データとの差分に基づいて、機械学習モデルM−1の重みを更新する。
モデル作成部235は、例えば生成時系列データと学習用時系列データとの差が閾値以上である場合に、生成時系列データを逆伝搬させ、逆伝搬させた経路上のノードの重みを更新する。モデル作成部235は、生成時系列データと学習用時系列データとの差が閾値未満になるまで、学習用頻度データを機械学習モデルM−2(又は機械学習モデルM−1)に入力したことにより生成される生成時系列データと学習用時系列データとの比較と重みの更新とを繰り返す。モデル作成部235は、多数の学習用頻度データ及び学習用時系列データのペアを用いて上記の処理を実行することにより、図5Bに示す機械学習モデルM−3(機械学習モデルM−2と実質的に同一のモデル)を作成する。
モデル作成部235が機械学習モデルM−1を更新して機械学習モデルM−3として完成した後には、図5Bに示すように、データ生成部236が、車両Tから取得された頻度データ(生成用頻度データ)を機械学習モデルM−3に入力することにより、機械学習モデルM−3が、入力された頻度データに対応する生成時系列データを出力する。
[データ生成装置2における処理の流れ]
図6は、データ生成装置2における処理の流れを示すフローチャートである。図6に示すフローチャートは、データ生成装置2が機械学習モデルMの作成を開始する指示を受けた時点から開始している。
モデル作成部235は、機械学習モデルMを作成する指示を受けると、時系列データ取得部231から学習用時系列データを取得する(ステップS1)。また、モデル作成部235は、学習用頻度データ取得部232から学習用頻度データを取得する(ステップS2)。ステップS1とステップS2を実行する順序は任意であり、モデル作成部235は、学習用時系列データと学習用頻度データとを同時に取得してもよい。モデル作成部235は、学習用時系列データと学習用頻度データのセットを教師データとして機械学習することにより機械学習モデルMを更新する(ステップS13)。具体的には、モデル作成部235は、記憶部22に記憶された機械学習モデルMの重みを更新する。
モデル作成部235は、更新された機械学習モデルMの性能を評価し、評価した結果が基準レベル以上であるか否かを判定する(ステップS14)。モデル作成部235は、例えば、頻度データを機械学習モデルMに入力した際に機械学習モデルMから出力される生成時系列データと、頻度データに対応する時系列データとの相関度が閾値以上である場合に、評価した結果が基準レベル以上であると判定する。
モデル作成部235は、評価した結果が基準レベルに達していないと判定した場合(ステップS14においてNO)、ステップS11に戻り、さらなる学習用時系列データ及び学習用頻度データを用いて機械学習を繰り返す。モデル作成部235は、評価した結果が基準レベルに達していると判定した場合(ステップS14においてYES)、機械学習モデルMの更新を終了する(ステップS15)。
その後、データ生成部236は、時系列データを生成するための生成用頻度データを取得すると(ステップS16)、生成用頻度データを機械学習モデルMに入力する(ステップS17)。データ生成部236は、機械学習モデルMから出力された生成時系列データを出力する(ステップS18)。
[教師データとして勾配データを使用]
以上の説明においては、モデル作成部235が速度の学習用時系列データ、速度の学習用頻度データ及び加速度の学習用頻度データを用いて機械学習モデルMを作成する場合を例示したが、モデル作成部235は他のデータを用いて機械学習モデルMを作成してもよい。
例えば、学習用頻度データ取得部232は、学習用時系列データが取得された間に車両Tが走行した場所の勾配を示す学習用勾配データを教師データとしてさらに取得し、モデル作成部235が学習用勾配データをさらに用いて機械学習してもよい。学習用勾配データは、時系列データ及び頻度データの少なくともいずれかを含んでよい。
この場合、モデル作成部235は、機械学習モデルMに学習用速度頻度データ、学習用加速度頻度データ及び学習用勾配頻度データを入力した際に機械学習モデルMから出力される生成時系列データと、学習用速度頻度データ、学習用加速度頻度データ及び学習用勾配頻度データに対応する学習用時系列データとの差分に基づいて、機械学習モデルMの重みを更新する。このように、モデル作成部235が、複数のパラメータのデータを教師データとしてさらに用いることにより、モデル作成部235が出力する生成時系列データの精度が向上する。特に、モデル作成部235が、速度及び加速度と密接な関係を有する勾配のデータを用いることで、生成時系列データの精度が向上する。
[教師データとして水温・油温度等を使用]
モデル作成部235は、変化速度の傾向が異なる複数のパラメータの時系列データ及び頻度データを教師データとして用いて機械学習モデルMを作成してもよい。第1パラメータは、例えば車両Tの速度及び加速度の少なくともいずれかであり、第2パラメータは、例えば車両Tで使用される冷却水の温度及び油の温度の少なくともいずれかである。油は、例えばエンジンオイル、ブレーキオイル、ミッションオイル、デフオイルである。
時系列データ取得部231は、車両Tが走行中に測定された第1パラメータの時系列データを学習用時系列データとして取得する。学習用頻度データ取得部232は、学習用時系列データにおける第1パラメータの発生頻度分布を示す第1学習用頻度データと、第1パラメータよりも変化速度が遅い第2パラメータの発生頻度分布を示す第2学習用頻度データとを取得する。
モデル作成部235は、時系列データ取得部231が取得した第1パラメータの学習用時系列データと、学習用頻度データ取得部232が取得した第1学習用頻度データ及び第2学習用頻度データとを教師データとして機械学習することにより、第1パラメータの発生頻度データ及び第2パラメータの発生頻度データが入力されたことに応じて第1パラメータの時系列データである生成時系列データを出力する機械学習モデルMを作成する。
この場合、モデル作成部235は、機械学習モデルMに第1学習用頻度データ及び第2学習用頻度データを入力した際に機械学習モデルMから出力される生成時系列データと、第1学習用頻度データ及び第2学習用頻度データに対応する学習用時系列データとの差分に基づいて、機械学習モデルMの重みを更新する。モデル作成部235は、第1パラメータの値及び第2パラメータの値の一階微分値の頻度データをさらに教師データとして用いてもよい。
モデル作成部235が機械学習モデルMを作成した後には、生成用頻度データ取得部233が、生成時系列データを生成するために用いられる第1パラメータに対応する第1生成用頻度データ及び第2パラメータに対応する第2生成用頻度データを取得する。データ生成部236は、生成用頻度データ取得部233が取得した第1生成用頻度データ及び第2生成用頻度データを機械学習モデルMに入力し、機械学習モデルMから出力される第1パラメータの生成時系列データを取得する。データ出力部234は、データ生成部236が取得した生成時系列データを出力する。
モデル作成部235が、このように変化速度の傾向が異なる複数のパラメータの時系列データ及び頻度データを教師データとして機械学習して機械学習モデルMを作成することにより、第1パラメータの複数の異なる時系列データに対応する頻度データが類似しているとしても、第2パラメータの頻度データが異なり得る。したがって、第2パラメータの頻度データも併用することで、第1パラメータの頻度データだけを機械学習モデルMに入力する場合に比べて、生成時系列データの精度が向上する。
第2パラメータが冷却水又は油の温度である場合、車両Tが低速で走行している間は低い温度の頻度が高く、車両Tが高速で走行を継続すると高い温度の頻度が高くなる。したがって、冷却水又は油の温度の頻度データも併用することで、データ生成装置2は、車両Tの速度の変化の傾向がより反映された時系列データを生成することが可能になる。
[複数の機械学習モデルMの利用]
車両Tの重量が異なると、速度の変化パターンが異なる場合がある。時系列データを生成する対象となる車両Tの重量が大きいにもかかわらず、重量が小さい車両Tで測定された教師データを用いて機械学習した機械学習モデルMをデータ生成部236が使用すると、適切な生成時系列データを出力できない蓋然性が高まる。
そこで、モデル作成部235は、車両Tの重量を特定し、特定した重量に対応する複数の機械学習モデルMを作成してもよい。モデル作成部235は、例えば時系列データ取得部231が学習用時系列データとともに取得した車両Tの識別情報(例えば車体番号)又は重量を示す情報に基づいて車両Tの重量を特定する。
モデル作成部235は、教師データとして使用する学習用時系列データ及び学習用頻度データが取得された車両Tの重量が第1の範囲である場合に第1の機械学習モデルMの機械学習を実行し、車両Tの重量が第1の範囲と異なる第2の範囲である場合に第2の機械学習モデルMの機械学習を実行する。モデル作成部235が作成する機械学習モデルMの数は任意であり、モデル作成部235は、3個以上の機械学習モデルMを作成してもよい。
データ生成部236は、生成用頻度データ取得部233が生成用頻度データとともに取得した車両Tの識別情報又は重量を示す情報に基づいて車両Tの重量を特定する。データ生成部236は、特定した重量に対応する機械学習モデルMに生成用頻度データを入力することにより、生成時系列データを取得する。このように、データ生成装置2が車両Tの重量に対応する複数の機械学習モデルMを用いることで、頻度データに基づいて生成される時系列データの精度を向上させることができる。
[学習用データの自動生成]
機械学習モデルMの性能を向上させるには、教師データが多いことが望ましい。しかしながら、車両Tにおいて測定されたデータを大量に取得するには長時間を要する。そこで、データ生成装置2は、車両Tにおいて測定されたデータに基づく時系列データを用いて、複数の学習用時系列データ及び複数の学習用頻度データを作成してもよい。
図7は、学習用時系列データ及び学習用頻度データを作成する場合のデータ生成装置2の構成を示す図である。図7に示すデータ生成装置2は、学習用時系列データ作成部237及び学習用頻度データ作成部238を有し、学習用頻度データ取得部232を有しない点で、図4に示したデータ生成装置2と異なり、他の点では同じである。
学習用時系列データ作成部237は、時系列データ取得部231が取得した、車両Tにおいて実測された時系列データを分割して複数の分割時系列データを作成し、作成した複数の分割時系列データから選択した複数の選択時系列データを並べ替えて学習用時系列データを作成する。学習用時系列データ作成部237は、作成した学習用時系列データを学習用頻度データ作成部238に入力する。また、学習用時系列データ作成部237は、作成した学習用時系列データをモデル作成部235に入力する。
学習用頻度データ作成部238は、学習用時系列データ作成部237から入力された学習用時系列データにおけるパラメータの発生頻度分布を示す学習用頻度データを作成する。学習用頻度データ作成部238は、作成した学習用頻度データをモデル作成部235に入力する。
モデル作成部235は、学習用時系列データ作成部237から入力された学習用時系列データ及び学習用頻度データ作成部238から入力された学習用頻度データを教師データとして用いて機械学習をして機械学習モデルMの重みを更新する。モデル作成部235は、時系列データ取得部231が取得した実測時系列データ及び当該実測時系列データに対応する頻度データも教師データとして使用してもよい。
図8は、学習用時系列データ及び学習用頻度データの作成方法の概要を示す図である。図8(a)は、時系列データ取得部231が取得した実測時系列データの例を示す図である。図8(b)は、図8(a)に示した実測時系列データを分割し、分割した複数の分割時系列データの一部を並べ替えて作成された学習用時系列データの一例を示す図である。図8(b)においては、図8(a)における分割時系列データA〜Jのうち、H、D、I、Aの順に並べられた学習用時系列データ、及びF、J、C、B、Cの順に並べられた学習用時系列データが示されている。図8(c)は、図8(b)に示す学習用時系列データに基づいて作成された学習用頻度データの例を示す図である。
学習用時系列データ作成部237は、実測時系列データにおけるパラメータの値が0である時点で実測時系列データを分割することにより、複数の分割時系列データを作成する。そして、学習用時系列データ作成部237は、実測時系列データにおけるパラメータの値が0から0よりも大きな値に変化する時点から、0よりも大きな値から0に変化する時点までを分割時系列データとする(例えば、図8(a)に符号A〜Jで示す時系列データ)。学習用時系列データ作成部237がこのようにして分割時系列データを作成することにより、複数の分割時系列データを結合した際に、結合時点でデータが急激に変化することを防げる。したがって、学習用時系列データ作成部237は、作成した複数の分割時系列データのうち、任意の分割時系列データを任意の順序で並べることができる。
学習用頻度データ作成部238は、学習用時系列データ作成部237が作成した学習用時系列データに含まれているパラメータの値(例えば車両Tの速度)の発生頻度分布を特定することにより、第1の学習用頻度データ(例えば学習用速度頻度データ)を作成する。その際、学習用頻度データ作成部238は、学習用時系列データを一階微分して得た時系列データに含まれる値(例えば車両Tの加速度)の発生頻度分布を特定することにより、第1の学習用頻度データと異なる第2の学習用頻度データ(例えば学習用加速度頻度データ)を作成してもよい。学習用頻度データ作成部238がこのようにして学習用頻度データを作成することで、1つの学習用時系列データから多数の学習用頻度データを作成することができる。
なお、学習用時系列データ作成部237は、同一の組み合わせの複数の選択時系列データを複数の異なる順序で並べ替えて、複数の学習用時系列データを作成してもよい。同一の複数の選択時系列データに基づいて学習用時系列データを作成したとしても、それぞれの選択時系列データの間の期間(時系列データの値が0の期間)が異なるようにすることで、学習用頻度データ作成部238は、それぞれの学習用時系列データから異なる学習用頻度データを作成することができる。
複数の選択時系列データの間の期間が同一である場合、すなわち時系列データの値が0の期間が同一である場合、複数の学習用時系列データに基づいて学習用頻度データ作成部238が作成する学習用時系列頻度データは同一になる。この場合、データ生成部236が1つの生成時系列頻度データを機械学習モデルMに入力した際に、複数の生成時系列データの候補が発生し得る。このような場合であっても、他のパラメータの学習用時系列データ及び学習用頻度データと併用することにより、機械学習モデルMが、複数の生成時系列データの候補から、最適な生成時系列データを出力することが可能である。学習用時系列データ作成部237及び学習用頻度データ作成部238がこのような構成を有することで、学習用頻度データの数を増やしつつ、生成時系列データの精度を維持することができる。
[フィルタによる最適化]
モデル作成部235が、機械学習モデルMから出力される生成時系列データと機械学習モデルMに入力される頻度データに対応する時系列データとの差に基づいて重みを調整する場合、生成時系列データに高周波成分が存在することにより差が大きくなり過ぎて、過度に重みが調整されてしまう場合がある。そこで、モデル作成部235は、機械学習モデルMが出力する生成時系列データにおける閾値(すなわちカットオフ周波数)以上の周波数成分を除去する低周波通過フィルタをさらに有してもよい。
図9は、モデル作成部235が低周波通過フィルタFを有するデータ生成装置2の構成を示す図である。モデル作成部235は、機械学習モデルMに学習用頻度データを入力した際に機械学習モデルMから出力される生成時系列データと、学習用頻度データに対応する学習用時系列データとの差分に基づいて、低周波通過フィルタFの特性を更新する。モデル作成部235は、例えば、差分が所定の値以上である場合に、低周波通過フィルタFのカットオフ周波数を低くするように低周波通過フィルタFの係数又は構成を変更する。
ただし、低周波通過フィルタFのカットオフ周波数が低くなり過ぎると、生成時系列データを用いて分析する目的において生成時系列データが役立たないものになってしまう。そこで、モデル作成部235は、生成時系列データを使用するユーザから使用目的を示す情報を取得し、取得した使用目的に関連付けて予め記憶部22に記憶された最低周波数以上にカットオフ周波数がなるようにしてもよい。
例えば、生成時系列データが速度の時系列データである場合、当該生成時系列データを分析することにより車両Tの燃費を特定することができる。また、当該生成時系列データを分析することにより、運転者の運転スキルを評価することもできる。
運転手の運転スキルを評価する際には、速度の細かい変動を示す情報の重要度が、燃費を特定する際に比べて低いと考えられる。そこで、モデル作成部235は、車両Tの速度を示す生成時系列データが燃費の特定に用いられる場合のカットオフ周波数を、生成時系列データが運転スキルの評価に用いられる場合のカットオフ周波数よりも高くする。モデル作成部235が、このように、機械学習モデルMの使用目的に応じて低周波通過フィルタFの特性を変えることで、生成時系列データの使用目的に適した生成時系列データを出力することができる。
機械学習モデルMの後段に低周波通過フィルタFが設けられている場合、モデル作成部235は、機械学習モデルMに学習用頻度データを入力した際に低周波通過フィルタFから出力される生成時系列データと、学習用頻度データに対応する学習用時系列データとの差分に基づいて、機械学習モデルMの重みを更新してもよい。このようにすることで、モデル作成部235は、低周波通過フィルタFを用いた場合に機械学習モデルMの重みを最適化することができる。
なお、モデル作成部235が機械学習モデルMの重みを決定した後に低周波通過フィルタFの特性を更新してしまうと、更新後の低周波通過フィルタFの特性においては機械学習モデルMの重みが最適でないという場合が生じ得る。そこで、モデル作成部235は、低周波通過フィルタFの特性の更新と、機械学習モデルMの重みの更新とを順番に実行してもよい。
具体的には、モデル作成部235は、機械学習モデルMの重みを更新すると、重みが更新された機械学習モデルMから出力される生成時系列データと、機械学習モデルMに入力された頻度データに対応する時系列データとの差分に基づいて低周波通過フィルタFの特性を更新する。続いて、モデル作成部235は、低周波通過フィルタFの特性が更新された状態で機械学習モデルMが出力する生成時系列データと低周波通過フィルタFから出力される時系列データとの差分に基づいて機械学習モデルMの重みを更新する。モデル作成部235は、生成時系列データと、機械学習モデルMに入力された頻度データに対応する時系列データとの差分が所定の大きさ以下になるまでこれらの処理を繰り返すことで、機械学習モデルMの重みと低周波通過フィルタFの特性を最適化することができる。
[機械学習モデルMの評価に基づく重みの更新]
機械学習モデルMが出力する生成時系列データと機械学習モデルMに入力される頻度データに対応する時系列データとの差分に基づいて、モデル作成部235が機械学習モデルMの重みを更新したとしても、重みが更新された機械学習モデルMが出力する生成時系列データが、時系列データの使用目的において最適な状態になっているとは限らない。例えば速度の生成時系列データに基づいて車両Tの燃費を解析する場合、生成時系列データに基づいて特定される燃費と実際の燃費との差が小さい方が好ましい。そこで、データ生成装置2は、この差が小さくなるように機械学習モデルMの重みを更新する。
図10は、生成時系列データの使用目的に適した機械学習モデルMになっているか否かを評価し、評価結果に基づいて機械学習モデルMを更新することが可能なデータ生成装置2の構成を示す図である。図10に示すデータ生成装置2は、モデル評価部239をさらに有するという点で、図4に示したデータ生成装置2と異なり、他の点で同じである。モデル作成部235がモデル評価部239を含んでいてもよい。
モデル評価部239は、所定の時系列データが測定された期間における車両Tの所定の部材の状態の変化に対応する第1情報と、所定の時系列データが入力された機械学習モデルMから出力される生成時系列データに基づいて特定される所定の部材Tの状態の変化に対応する第2情報との差に基づいて機械学習モデルMを評価した結果をモデル作成部235に対して出力する。所定の部材は、車両Tの走行に伴って状態が変化する部材であり、例えば燃料、ディーゼル微粒子捕集フィルタ(DPF)、各種のオイル、バッテリーである。所定の部材は、例えばデータ生成システムSを利用するユーザ(例えば車両Tの管理者)により設定され、モデル作成部235又はモデル評価部239が外部装置から取得する。モデル作成部235又はモデル評価部239は、外部装置から生成時系列データの使用目的を取得し、取得した使用目的に基づいて所定の部材を特定してもよい。
モデル評価部239は、時系列データ取得部231が取得した所定の時系列データに基づいて第1情報を作成してもよく、外部装置から第1情報を取得してもよい。所定の時系列データは、時系列データ取得部231が取得した学習用時系列データであってもよく、生成用頻度データ取得部233が取得した他の時系列データであってもよい。
モデル作成部235は、モデル評価部239から入力された評価結果に基づいて機械学習モデルMの重みを更新する。具体的には、モデル作成部235は、評価結果がユーザにより設定された基準レベル未満である場合に機械学習モデルMの重みを更新し、評価結果が基準レベル以上である場合に機械学習モデルMの重みを更新しない。モデル作成部235は、第1情報と第2情報との差が基準値よりも大きい場合に機械学習モデルMの重みを更新し、差が基準値以下である場合に機械学習モデルMの重みを更新しないようにしてもよい。モデル作成部235は、差が基準値以下になるまで、機械学習モデルMの重みを更新して差を算出する処理を繰り返す。
一例として、時系列データ取得部231が、所定の時系列データとして車両Tの速度の時系列データ及び加速度の時系列データを取得し、学習用頻度データ取得部232が、所定の時系列データに対応する所定の頻度データとして車両Tの速度の頻度データ及び加速度の頻度データを取得したとする。この場合、モデル評価部239は、所定の時系列データに基づいて特定される燃費(第1情報に対応)と、所定の頻度データを機械学習モデルMに入力した場合に機械学習モデルMから出力される生成時系列データに基づいて特定される燃費(第2情報に対応)との差に基づいて機械学習モデルMを評価した結果を出力する。
モデル評価部239は、第1情報と第2情報との差が小さければ小さいほど機械学習モデルMの評価を高くし、差が大きければ大きいほど機械学習モデルMの評価を低くする。モデル作成部235は、モデル評価部239が特定した第1情報としての燃費と第2情報としての燃費との差に基づいて機械学習モデルMの重みを更新する。
モデル評価部239は、機械学習モデルMに入力する頻度データが車両Tで取得された期間に車両Tが走行した間の所定の部材の変化の状態を外部装置(例えばデータ収集装置1)から取得してもよい。所定の部材が燃料である場合、モデル評価部239は、車両Tが走行した距離と、試験期間中の燃料の減少量(すなわち消費量)とに基づいて算出された燃費を示す情報を取得する。また、モデル評価部239は、当該期間に取得された頻度データを機械学習モデルMに入力した場合に機械学習モデルMから出力される生成時系列データにより特定される車両Tの速度の履歴に基づいて、燃費を算出する。モデル評価部239は、取得した車両Tの実際の燃費と算出した燃費とを比較し、差に対応する評価結果を出力する。
車両Tがディーゼルエンジンを有しており、所定の時系列データが車両Tの速度の変化を示す時系列データであり、所定の頻度データが車両Tの速度の発生頻度分布及び加速度の発生頻度分布を示すデータである場合、モデル評価部239は、ディーゼル微粒子捕集フィルタ(以下、DPFという。)の状態に基づいて機械学習モデルMを評価してもよい。
具体的には、モデル評価部239は、所定の時系列データが測定された期間内のDPFの状態の変化に対応する第1情報と、生成時系列データに基づいて特定されるDPFの状態の変化に対応する第2情報との差に基づいて機械学習モデルMを評価した結果を出力する。DPFの状態の変化に対応する情報は、例えば、DPFに蓄積された粒子状物質(PM)の量を示す情報である。この場合においても、モデル作成部235は、第1情報と第2情報との差に基づいて機械学習モデルMの重みを更新する。DPFの状態と車両Tの速度とは相関度が高く、例えば、車両Tが低速走行をする期間が長いと、DPFに粒子状物質が蓄積されやすい。そこで、モデル作成部235が、車両Tの速度との相関度が高いDPFの状態に基づく評価結果を用いて機械学習モデルMの重みを更新することにより、機械学習モデルMの精度が向上する。
燃費及びDPFの状態の変化は、車両Tが走行した道路の勾配の変化によっても影響される。そこで、モデル作成部235は、所定の時系列データが取得された間に車両Tが走行した場所の勾配の頻度を示す所定の勾配頻度データを教師データとしてさらに取得して機械学習をしてもよい。この場合、モデル作成部235は、機械学習モデルMに所定の速度頻度データ、所定の加速度頻度データ及び所定の勾配頻度データを入力した際に機械学習モデルMから出力される生成時系列データと、所定の速度頻度データ、所定の加速度頻度データ及び所定の勾配頻度データに対応する所定の時系列データとの差分に基づいて、機械学習モデルMの重みを更新する。そして、モデル評価部239は、燃費又はDPFの状態の変化に基づいて機械学習モデルMを評価する。
[モデル評価装置]
モデル評価部239の機能は、データ生成装置2と異なるモデル評価装置において実現されてもよい。図11は、モデル評価装置3の構成を示す図である。モデル評価装置3は、例えばコンピュータであり、通信部31と、記憶部32と、制御部33とを有する。制御部33は、時系列データ取得部331と、情報作成部332と、評価結果出力部333とを有する。
通信部31は、通信部21と同等の機能を有しており、ネットワークNを介してデータを送受信するための通信インターフェースを有する。通信部31は、例えばデータ生成装置2から、機械学習モデルMに入力された頻度データに対応する時系列データ、及び機械学習モデルMが出力した時系列データを受信し、受信したデータを時系列データ取得部331に入力する。また、通信部31は、評価結果出力部333から入力された評価結果をデータ生成装置2に送信する。
記憶部32は、ROM、RAM、及びハードディスクを含む。記憶部32は、制御部33が実行するプログラムを記憶する。また、記憶部32は、通信部31を介して受信した各種のデータを一時的に記憶する。
制御部33は、例えばCPUであり、記憶部32に記憶されたプログラムを実行することにより、時系列データ取得部331、情報作成部332及び評価結果出力部333として機能する。
時系列データ取得部331は、通信部31を介して、所定の時系列データに対応するパラメータの頻度データが入力された機械学習モデルMが出力する上記パラメータの生成時系列データを取得する。また、時系列データ取得部331は、通信部31を介して、生成時系列データを出力した機械学習モデルMに入力された所定の時系列データを取得する。時系列データ取得部331は、所定の時系列データを生成時系列データとともにデータ生成装置2から取得してもよく、生成時系列データと別に取得してもよい。また、時系列データ取得部331は、所定の時系列データとともに、所定の時系列データが取得された期間に車両Tが走行した距離を示す情報を取得してもよい。
情報作成部332は、時系列データ取得部331が取得した時系列データに基づいて特定される車両Tの所定の部材の状態の変化を示す情報を生成する。具体的には、情報作成部332は、所定の時系列データが測定された期間における車両Tの所定の部材の状態の変化に対応する第1情報と、生成時系列データに基づいて特定される所定の部材の状態の変化に対応する第2情報とを作成する。
所定の時系列データが車両Tの速度の時系列データである場合、情報作成部332は、所定の時系列データが測定された期間内の車両Tの燃費である第1情報を作成する。具体的には、機械学習モデルMが、速度の時系列データにおける速度の発生頻度分布を示す速度頻度データと、速度の時系列データを一階微分して得られる時系列データにおける加速度の発生頻度分布を示す加速度頻度データと、を教師データとして機械学習して作成された場合、情報作成部332は、車両Tの速度との相関度が高い燃費を第1情報とする。
情報作成部332は、例えば所定の時系列データにおける速度と、予め記憶部32に記憶された速度と燃料噴射量との関係と、に基づいて算出される燃料消費量を、所定の時系列データが取得された期間の走行距離で除算することにより、第1情報に対応する燃費を算出する。また、情報作成部332は、機械学習モデルMが生成した生成時系列データにおける速度と、予め記憶部32に記憶された速度と燃料噴射量との関係と、に基づいて算出される燃料消費量を走行距離で除算することにより、第2情報に対応する燃費を算出する。
車両Tがディーゼルエンジンを有している場合、情報作成部332は、所定の時系列データが測定された期間内のDPFの状態の変化に対応する第1情報と、生成時系列データに基づいて特定されるDPFの状態の変化に対応する第2情報とを作成してもよい。
評価結果出力部333は、情報作成部332が作成した第1情報及び第2情報との差に基づいて機械学習モデルMを評価した結果を出力する。評価結果出力部333は、差が小さければ小さいほど機械学習モデルMの評価を高くし、差が大きければ大きいほど機械学習モデルMの評価を低くする。評価結果出力部333は、例えば、通信部31を介して評価結果をデータ生成装置2に送信する。評価結果出力部333は、評価結果をディスプレイに表示させてもよく、プリンタに印刷させてもよい。
このように、機械学習モデルMが出力できる時系列データのパラメータとの相関度が高い部材の状態の変化に基づいてモデル評価装置3が機械学習モデルMを評価することで、機械学習モデルMの管理者又は作成者が、機械学習モデルMの状態を適切に把握することができる。また、モデル評価装置3が、評価結果をデータ生成装置2に送信することで、データ生成装置2が機械学習モデルMを改善することができる。
なお、以上の説明においては、情報作成部332が所定の時系列データを用いて第1情報を作成する場合を例示したが、情報作成部332は、所定の時系列データが取得された間に車両Tにおいて実測された第1情報を取得し、評価結果出力部333が当該第1情報を用いて機械学習モデルMを評価してもよい。
[実施例]
図12は、本実施の形態に係るデータ生成装置2を用いて頻度データから時系列データを作成した実施例を示す図である。図12(a)は、実際に車両Tにおいて測定された速度の時系列データを示している。図12(b)は、図12(a)に示した時系列データに対応する速度の頻度データ及び加速度の頻度データを機械学習モデルMに入力した際に機械学習モデルMから出力された時系列データを示している。それぞれのデータは、実際のデータの傾向を維持した状態でデフォルメされている。
図12(a)と図12(b)とを対比すると、細部においては差が見られるものの、全体的な速度の変化の傾向はほぼ一致している。機械学習モデルMがさらに学習を重ねることにより、両者の差はさらに小さくなると考えられる。
[本実施の形態による効果]
以上説明したように、データ生成装置2は、車両Tが走行中に測定された所定のパラメータの学習用時系列データと、学習用時系列データに対応する学習用頻度データとを教師データとして機械学習することにより、所定のパラメータの頻度データが入力されたことで時系列データを出力可能な機械学習モデルMを作成することができる。データ生成装置2がこのような機械学習モデルMを作成することで、所定のパラメータの頻度データしか得ることができない場合であっても、機械学習モデルMから出力される生成時系列データを解析することで、データ生成装置2を利用する車両Tの管理者が、車両Tの燃費、部品の劣化度等のように、パラメータに関連する各種の情報を得ることができる。
データ生成装置2は、学習用時系列データに係るパラメータの値を一階微分した値の時系列データに基づく頻度データをさらに教師データとして用いて機械学習モデルMを作成してもよい。学習用時系列データが速度の時系列データである場合、データ生成装置2は、速度の頻度データ及び加速度の頻度データを用いて機械学習モデルMを作成する。データ生成装置2がこのように複数の頻度データを用いて機械学習モデルMを作成することで、機械学習モデルMの精度が向上する。
さらに、データ生成装置2は、第1パラメータの発生頻度分布を示す第1学習用頻度データと、第1パラメータよりも変化速度が遅い第2パラメータの発生頻度分布を示す第2学習用頻度データとを教師データとして用いて機械学習モデルMを作成してもよい。データ生成装置2は、第1パラメータの値及び第2パラメータの値の一階微分値の頻度データをさらに教師データとして用いてもよい。データ生成装置2がこのように変化速度の傾向が異なる複数のパラメータに係る頻度データを用いることで、機械学習モデルMが出力する生成時系列データの精度がさらに向上する。
また、データ生成装置2は、車両Tで測定されたパラメータに係る時系列データを分割して複数の分割時系列データを作成し、作成した複数の分割時系列データから選択した複数の選択時系列データを並べ替えて学習用時系列データを作成してもよい。さらに、データ生成装置2は、作成した学習用時系列データにおけるパラメータの発生頻度分布を示す学習用頻度データを作成してもよい。データ生成装置2がこのように動作することで、機械学習に用いることができる教師データを増やすことができるので、機械学習モデルMの学習期間を短縮したり、機械学習モデルMの性能を向上させたりすることができる。
また、データ生成装置2は、機械学習モデルMが出力する生成時系列データにおける閾値以上の周波数成分を除去する低周波通過フィルタをさらに有してもよい。そして、データ生成装置2は、機械学習モデルMに入力された時系列データと、当該フィルタから出力される時系列データとを比較した結果に基づいて、フィルタの特性や機械学習モデルMの重みを更新してもよい。データ生成装置2がこのような構成を有することで、データ生成装置2が出力する時系列データをさらに改善することができる。
また、データ生成装置2は、所定の時系列データが測定された期間における車両の所定の部材の状態の変化に対応する第1情報と、生成時系列データに基づいて特定される所定の部材の状態の変化に対応する第2情報との差に基づいて機械学習モデルを評価した結果を出力してもよい。データ生成装置2は、例えば車両Tにおいて測定された時系列データに対応する燃費と、機械学習モデルMが出力した時系列データに基づいて特定される燃費とを比較した結果に基づいて機械学習モデルMを評価する。データ生成装置2がこのような構成を有することで、データ生成装置2の管理者や作成者が、機械学習モデルMが適切に構成されているか否かを判断することが可能になる。
そして、データ生成装置2は、このようにして評価された結果に基づいて機械学習モデルMの重みを更新してもよい。データ生成装置2が、評価結果に基づいて重みを更新することにより、データ生成装置2が、使用目的に適した機械学習モデルMを作成することが可能になる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
例えば、以上の説明においては、データ生成装置2がデータ収集装置1から時系列データ及び頻度データを取得する場合を例示したが、データ生成装置2がデータ収集装置1の機能を有しており、データ生成装置2が複数の車両Tから測定データを受信してもよい。
また、以上の説明においては、データ生成装置2として機能するコンピュータが、モデル作成装置の機能を有するとともに、生成用頻度データが入力されたことに応じて機械学習モデルMから出力された生成時系列データを出力する機能も有する場合を例示したが、データ生成装置2の構成はこれに限らない。データ生成装置2は、モデル作成装置として機能する第1コンピュータと、第1コンピュータに生成用頻度データを入力し、第1コンピュータから生成時系列データを取得する第2コンピュータとによって構成されていてもよい。