IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社トランストロンの特許一覧

特許7264408ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置
<>
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図1
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図2
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図3
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図4
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図5
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図6
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図7
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図8
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図9
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図10
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図11
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図12
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図13
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図14
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図15
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図16
  • 特許-ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-17
(45)【発行日】2023-04-25
(54)【発明の名称】ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置
(51)【国際特許分類】
   G06N 3/08 20230101AFI20230418BHJP
【FI】
G06N3/08
【請求項の数】 9
(21)【出願番号】P 2021503283
(86)(22)【出願日】2019-03-04
(86)【国際出願番号】 JP2019008339
(87)【国際公開番号】W WO2020178936
(87)【国際公開日】2020-09-10
【審査請求日】2021-09-14
(73)【特許権者】
【識別番号】391008559
【氏名又は名称】株式会社トランストロン
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】安曽 徳康
(72)【発明者】
【氏名】小川 雅俊
【審査官】福西 章人
(56)【参考文献】
【文献】特開2010-095067(JP,A)
【文献】国際公開第2019/026193(WO,A1)
【文献】特開2006-004399(JP,A)
【文献】UM T, Terry et al.,Data Augmentation of Wearable Sensor Data for Parkinson's Disease Monitoring using Convolutional Neural Networks,Proceedings of the 19th ACM International Conference on Multimodal Interaction,英国,2017年11月13日,第216~220ページ,インターネット:<URL:https://dl.acm.org/citation.cfm?id=3136817>[検索日:2019.04.09] <DOI:10.1145/3136755.3136817>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークモデルの動作周期より短い第1の周期の第1の時系列データを取得する取得工程と、
前記第1の時系列データから、異なる位相で、前記第1の周期より長い第2の周期の第2の時系列データを複数抽出する抽出工程と、
前記複数の第2の時系列データを有する訓練データを使用して、前記ニューラルネットワークモデルの学習を実行する学習工程を有する、ニューラルネットワークモデルの生成方法。
【請求項2】
ニューラルネットワークモデルの動作周期の第3の時系列データを取得し、前記第3の時系列データの時間軸上の隣接するデータ間を補間して前記隣接するデータ間に複数の時系列データを追加することで、前記ニューラルネットワークモデルの動作周期より短い第1の周期の第1の時系列データを取得する取得工程と、
前記第1の時系列データから、前記第1の周期より長い第2の周期の第2の時系列データを複数抽出する抽出工程と、
前記複数の第2の時系列データを有する訓練データを使用して、前記ニューラルネットワークモデルの学習を実行する学習工程を有する、ニューラルネットワークモデルの生成方法。
【請求項3】
前記抽出工程は、
前記第1の時系列データから、前記第2の周期に対応する時刻を前または後ろにずらした時刻のデータを抽出し、前記第2の周期が一部で短いまたは長い前記第2の時系列データを抽出する、請求項1または2に記載のニューラルネットワークモデルの生成方法。
【請求項4】
更に、
前記学習工程後に、学習後の前記ニューラルネットワークモデルを評価する評価工程と、
前記評価工程の評価が基準レベルに達していない場合、前記抽出工程を実行して、前記第2の時系列データの数を増やす工程を有し、
前記学習工程は、前記増やした第2の時系列データを有する訓練データを使用して、前記ニューラルネットワークモデルの学習を実行する、請求項1または2に記載のニューラルネットワークモデルの生成方法。
【請求項5】
前記第1の時系列データは、前記ニューラルネットワークモデルの入力または出力の時系列データである、請求項1または2に記載のニューラルネットワークモデルの生成方法。
【請求項6】
前記入力の時系列データは、周波数が変化するチャープ信号である、請求項に記載のニューラルネットワークモデルの生成方法。
【請求項7】
前記ニューラルネットワークモデルは、リカレントニューラルネットワークである、請求項1または2に記載のニューラルネットワークモデルの生成方法。
【請求項8】
請求項1または2に記載のニューラルネットワークモデルの生成方法により生成されたニューラルネットワークモデルを有する、ニューラルネットワークモデルを用いた制御装置。
【請求項9】
前記ニューラルネットワークモデルは、エンジンの状態を推定するモデルであり、
更に、
前記ニューラルネットワークモデルの出力に基づいて、前記エンジンへの操作量を算出する操作量算出生成部を有する、請求項に記載のニューラルネットワークモデルを用いた制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置に関する。
【背景技術】
【0002】
ニューラルネットワークモデルを用いた制御装置は、例えば、エンジン制御装置などである。かかる制御装置内には、エンジンの過渡運転状態を推定するプラントモデルや圧力計や温度計などのソフトセンサが設けられ、それらプラントモデルやソフトセンサは、ニューラルネットワークモデルにより構成される。
【0003】
例えばエンジンの過渡運転状態を推定するニューラルネットワークモデルは、エンジン回転数や燃料噴射量など各種アクチュエータの操作量を入力とし、制御したい制御量であるトルクを出力とする。ニューラルネットワークモデルでは、例えば、前述の操作量とトルクを有する訓練データを使用して学習を行い、ニューラルネットワーク内の重みやバイアスなどのパラメータが調整される。この学習プロセスでは、大量の訓練データが必要である。
【0004】
一般に画像分類などを行うニューラルネットワークでは、学習に必要な訓練データを収集する場合、取得した画像を回転や反転などの画像処理により数倍もしくは数十倍にデータ数を拡張することが行われる。
【先行技術文献】
【特許文献】
【0005】
【文献】特開平6-274207号公報
【文献】特開2018-142160号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、エンジンの過渡運転状態を推定するニューラルネットワークモデルの場合、前述したとおり、アクチュエータの操作量を入力とし、制御量であるトルクを出力とする。そして、訓練データに必要な操作量とトルクは、時刻と共に変化する時系列データである。そのため、画像分類のような画像の回転や反転によるデータ拡張の手法を取ることができない。
【0007】
そこで,本実施の形態の第1の側面の目的は,ニューラルネットワークの訓練データに含まれる時系列データを簡便にデータ拡張する、ニューラルネットワークモデルの生成方法、及びニューラルネットワークモデルを用いた制御装置を提供することにある。
【課題を解決するための手段】
【0008】
本実施の形態の第1の側面は,ニューラルネットワークモデルの動作周期より短い第1の周期の第1の時系列データを取得する取得工程と、前記第1の時系列データから、前記第1の周期より長い第2の周期の第2の時系列データを複数抽出する抽出工程と、前記複数の第2の時系列データを有する訓練データを使用して、前記ニューラルネットワークモデルの学習を実行する学習工程を有する、ニューラルネットワークモデルの生成方法である。
【発明の効果】
【0009】
第1の側面によれば,訓練データに含まれる時系列データを簡便にデータ拡張することができる。
【図面の簡単な説明】
【0010】
図1】時系列データの例を示す図である。
図2】時系列データにホワイトノイズを追加して拡張した時系列データの例を示す図である。
図3】本実施の形態におけるNNモデルの生成を行うNNモデル生成装置の構成を示す図である。
図4】本実施の形態におけるNNモデルの学習方法のフローチャートを示す図である。
図5】NNモデルの仮想的な構成例を示す図である。
図6】学習済みのNNモデルの構成を示す図である。
図7】生成されたNNモデルを用いたエンジン制御装置の構成を示す図である。
図8】操作量の時系列データの一例を示す図である。
図9図4の学習のフローチャートに示したデータ拡張S2のフローチャートを示す図である。
図10】NNモデルの動作周期より短周期の時系列データと、補間処理により生成した短周期の時系列データとを示す図である。
図11】短周期の時系列データから異なる位相で抽出した拡張された時系列データを示す図である。
図12】異なる位相で抽出した拡張された時系列データの具体例を示す図である。
図13】実エンジンなどから取得した時系列データにノイズが発生した例を示す図である。
図14】時系列データから計測点のタイミングを無作為にずらした時系列データの抽出を示す図である。
図15】実環境で取得した時系列データとそれから抽出した拡張後の時系列データの例を示す図である。
図16】実施例及び比較例のNNモデルの構成を示す図である。
図17】実施例と比較例の交差検証の結果の例を示す図である。
【発明を実施するための形態】
【0011】
[時系列データの例]
図1は、時系列データの例を示す図である。この例は、エンジンの過渡運転状態を推定するニューラルネットワークモデル(以下NNモデル(NNはNeural Network)と称する。)の入力である、例えば操作量、または、出力である、制御量、の時系列データである。図1には、3つの時系列データdata01~data03が示される。
【0012】
これら時系列データdata01~data03は、時間軸上のデータ取得タイミング毎の操作量や制御量を有する。データ取得タイミングは、図1中、三角形で示され、NNモデルの動作周期、具体的には計算周期、で繰り返されるタイミングである。また、縦軸は、操作量または制御量を示す。
【0013】
これら時系列データは、例えば、実エンジンをエンジンベンチ上で運転させ、エンジンから取得される。すなわち、時系列データは、運輸省や国際試験モデルの運転モードでエンジンを運転し、エンジンから取得される。また、同時に、エンジンの内部状態や環境状態(外気温や外気圧など)も、時系列データとして取得されてもよい。
【0014】
ニューラルネットワークモデルを学習により生成するためには、膨大な量の訓練データが必要である。一方、上記のように、実エンジンを運転させて操作量や制御量などの時系列データを取得することは、多くの工数を必要とし、取得可能な訓練データの数は一定の限界がある。
【0015】
画像分類を行うNNモデルは、訓練データに使用する画像を、取得済み画像を回転させたり反転させたりすることで、容易にデータ拡張することができる。しかし、時系列データの場合、画像のように回転や反転を行うことはできない。
【0016】
図2は、時系列データにホワイトノイズを追加して拡張した時系列データの例を示す図である。図1の実エンジンから取得した時系列データdata01の各タイミングの計測値に、ホワイトノイズを加えて、新たな時系列データdata01’, data01’’を生成することで、比較的容易にデータ拡張することができる。
【0017】
しかし、拡張した時系列データdata01’, data01’’は、取得した時系列データdata01の計測値に微小なノイズを加えただけであり、取得済み時系列データdata01と同じ傾向のデータである。そのため、拡張した時系列データdata01’, data01’’を訓練データに使用してNNモデルを学習させると、複数の訓練データがもつ同じ傾向に基づいて、NNモデルに偏りが生じることがある。また、取得済み時系列データの計測値に加えるノイズの大きさが大きいと、学習後のNNモデルの精度が低下する恐れがあり、ノイズの大きさの設定は容易ではない。
【0018】
[本実施の形態]
図3は、本実施の形態におけるNNモデルの生成を行うNNモデル生成装置の構成を示す図である。NNモデル生成装置1は、高性能コンピュータ、サーバ、パーソナルコンピュータなどの情報処理装置である。NNモデル生成装置1は、プロセッサであるCPU10、プロセッサがアクセスするメインメモリ12と、大容量の補助記憶装置20を有する。補助記憶装置20は、例えば、ハードディスクドライブはソリッドステートドライブである。
【0019】
補助記憶装置20は、NNモデルの学習処理をプロセッサに実行させるNN学習プログラム22と、NNモデルの演算または計算をプロセッサ10に実行させるNNプログラム24と、NNモデルの学習に使用される訓練データ26と、実エンジンなどから取得した取得済み時系列データ28などを格納する。
【0020】
プロセッサ10は、訓練データ26を使用し、NN学習プログラム22と、NNプログラム24を実行して、NNモデルの学習を実行し、NNモデル内の重みやバイアスなどのパラメータを調整し、NNモデルを生成する。また、プロセッサ10は、NN学習プログラム22を実行し、取得済み時系列データ28のデータ拡張を行い、NNモデルの学習に使用する訓練データの時系列データの数を増やす。
【0021】
図4は、本実施の形態におけるNNモデルの学習方法のフローチャートを示す図である。プロセッサ10は、NN学習プログラム22を実行し、補助記憶装置20に格納されている取得済み時系列データ28から時系列データを取得する(S1)。そして、プロセッサ10は、取得済み時系列データから後述するデータ拡張により複数の時系列データを生成する(S2)。プロセッサは、データ拡張により生成した時系列データを有する訓練データを、補助記憶装置20に格納し、訓練データの数を増大させる。これにより、以後実行するNNモデルの学習に使用する訓練データの準備が完了する。
【0022】
次に、プロセッサ10は、NNモデルの初期調整を実行する(S3)。この初期調整では、例えば、プロセッサは、NNモデル内の各層のニューロン数や学習関数などのハイパーパラメータの初期調整を行う。
【0023】
そして、プロセッサは、所定数の訓練データを使用して、NN学習プログラム22とNNプログラム24を実行し、NNモデルの学習を実行する(S4)。
【0024】
図5は、NNモデルの仮想的な構成例を示す図である。このNNモデルは、入力層30と、出力層32との間に、単層または複数層の隠れ層34を有する。さらに、隠れ層34内の値を一時的に蓄積する一種のメモリ機能を有する過去の隠れ層36を有する。エンジンのNNモデルのように、時系列データを入力するNNモデルは、このようなメモリ機能を有する過去の隠れ層36を有するリカレントニューロンネットワーク(再帰型ニューロンネットワーク)が望ましい。
【0025】
エンジンのNNモデルを例にして説明すると、NNモデルの学習処理は、次の通りである。まず、入力層30に、操作量(例えば、エンジン回転数、燃料噴射量、EGR開度(EGR:exhaust gas recirculationのEGRバルブ開度)、タービン開度)と、エンジンの内部状態データ、環境データなどが入力される。操作量は、NNモデルの動作周期(演算周期または計算周期)の時系列データである。
【0026】
プロセッサは、入力層30の入力データをNNモデルの各層の演算を順方向に実行し、出力層32に出力データとして制御量、例えばトルク、を時系列に出力する。次に、プロセッサは、出力層32に出力した制御量と、訓練データの入力の操作量に対応する制御量との差分に基づいて、誤差を算出する。更に、プロセッサは、算出した誤差をNNの逆方向に(入力層に向かって)逆伝搬し、各層の誤差を算出する。そして、プロセッサは、各層で算出された誤差を小さくするよう、各層の重みやバイアスなどのパラメータを調整する。
【0027】
プロセッサは、上記の順方向演算と、逆方向演算と、パラメータの調整を、全訓練データについて実行する。これで、ミニバッチ学習を終了する。一般に、プロセッサは、複数のミニバッチ学習を繰り返す。
【0028】
図4に戻り、プロセッサは、例えば、複数回のミニバッチ学習を実行した後(S4)、NNモデルの評価を実行する(S5)。NNモデルの評価では、プロセッサは、例えば、訓練データと同様に入力データと出力データを有する訓練データとは別の評価データを使用して、学習後のNNモデルの評価を実行する。具体的には、プロセッサは、評価データの入力データをNNモデルに入力し、それにより演算された出力データと、評価データの正解データ(出力データ)とを比較し、誤差が所定の基準値未満か否かを判定する。
【0029】
プロセッサは、NNモデルの評価結果が良くない場合(S5のNO)、NNの初期調整S3に戻り、もしくは、データ拡張が必要な場合は(S6のYES)、データ拡張S2に戻り、再度NNモデルの学習S4と評価S5を繰り返す。プロセッサは、NNモデルの評価結果が良ければ(S5のYES)、NNモデルの学習を終了する。
【0030】
図6は、学習済みのNNモデルの構成を示す図である。学習済みのNNモデルは、前述のNNモデルの学習によって生成されたモデルである。前述の通り、NNモデルの訓練データを使用した学習により、調整された内部パラメータ、重みやバイアス等、が生成される。調整された内部パラメータは、NNモデルの演算を実行するNNプログラム24に含まれる。
【0031】
学習により生成されたNNモデル40は、プロセッサ42と、プロセッサがアクセスするメモリ44と、推論時(本番時)に、入力データを入力し、NNモデルの出力データを出力する入出力部46と、バス48と、NNプログラム24を格納する補助記憶装置とを有する。
【0032】
図7は、生成されたNNモデルを用いたエンジン制御装置の構成を示す図である。エンジン制御装置50は、NNモデルによるエンジン推定部51と、運転手によるアクセスペダルなどの操作に基づいて目標制御量であるトルクS54を設定する目標制御量設定部54とを有する。さらに、エンジン制御装置50は、エンジン推定部51が出力する推定制御量の推定トルクS51と目標制御量の目標トルクS54の差分S52を算出する制御部52と、トルクの差分S52に基づいて、エンジン内のアクチュエータの操作量を決定または生成するアクチュエータ操作量生成部53を有する。アクチュエータ操作量生成部53は、トルクの差分S52をなくすためには、どの操作量をどのように変動させるべきかを算出し、変動後の操作量に対応する操作信号S53を実エンジンシステム55に出力する。これに伴い、実エンジンシステム55は、制御量であるトルクを出力する。
【0033】
エンジン推定部51は、学習済みのNNモデル40である。NNモデル40には、実エンジンシステムに出力される操作量の時系列データが入力され、更に、NNモデル40には、実エンジンの内部状態データや環境データ(温度や圧力等)が入力されても良い。
【0034】
実エンジンシステムが生成する制御量であるトルクは、センサにより検出することが困難である。そこで、エンジン制御装置では、NNモデル40をエンジン推定部51に使用し、実エンジンシステムと同じように操作量を与えられたNNモデル40が算出する制御量(トルク)を、実エンジンシステムが出力する制御量(トルク)と推定する。
【0035】
[データ拡張方法]
図8は、操作量の時系列データの一例を示す図である。操作量、例えばエンジン回転数、燃料噴射量、EGR開度、噴射時期は、図8に示すような時間と共に周波数成分が変化するチャープ信号である。例えば、回転数は、正弦波のように増減し、且つその正弦波の周波数が時間と共に変化する。他の操作量も同様である。
【0036】
図9は、図4の学習のフローチャートに示したデータ拡張S2のフローチャートを示す図である。データ拡張は、複数のデータ拡張処理を有する。例えば、(1)実エンジンなどから取得した時系列データに補間処理を行うことでNNモデルの動作周期より短い周期の時系列データを取得する処理S11,S12と、(2)短周期の時系列データから、異なる位相で所定周期の複数の時系列データを抽出して時系列データを増やす処理S13,S14と、(3)時系列データの計測点を無作為に時間軸上でずらした時系列データを抽出して時系列データを増やす処理S15,S16と、(4)時系列データの値にホワイトノイズを加算して別の時系列データを生成する処理S17,S18などである。
【0037】
上記の(1)の処理S11,S12では、実エンジンなどから取得した時系列データの周期が、NNモデルの動作周期と同等の場合(S11)、補間で求めたデータを追加して、NNモデルの動作周期より短周期の時系列データを取得する(S12)。
【0038】
図10は、NNモデルの動作周期より短周期の時系列データと、補間処理により生成した短周期の時系列データとを示す図である。図10には、時系列データのタイミングを三角形で示し、時系列データの値は示していない。
【0039】
取得した時系列データdata01_aは、NNモデルの動作周期Tのデータとそれより短周期のデータを含む、動作周期Tより短周期の時系列データである。実エンジンなどから時系列データdata01_aを取得できる場合は、補間処理は不要である(S11のNO)。
【0040】
一方、取得した時系列データdata00は、NNモデルの動作周期Tのデータである。この場合は、補間処理が必要であり(S11のYES)、プロセッサは、取得した時系列データdata00の周期Tのデータ(図中黒三角形のタイミングのデータ)間の時間軸方向の補間データ(図中白三角形のタイミングのデータ)を生成し、補間データを加えて、補間後の時系列データdata01_bを生成する。補間後の時系列データdata01_bは、NNモデルの動作周期Tよりも短周期のデータを有する。
【0041】
図11は、短周期の時系列データから異なる位相で抽出した拡張された時系列データを示す図である。次に、プロセッサは、異なる位相のデータを抽出してデータ拡張する場合(S13のYES)、NNモデルの動作周期Tより短周期の時系列データdata01から、異なる位相で所定の周期の複数の時系列データdata01_1~data01_5を抽出して、拡張した複数の時系列データを生成する(S14)。
【0042】
短周期の時系列データdata01は、図10の時系列データdata01_a, data01_bと同じであり、NNモデルの動作周期Tのタイミングのデータ(黒三角形)と、そのデータ間の短周期のデータ(白三角形)とを有する。一方、拡張した時系列データdata01_1~data01_5は、短周期の時系列データdata01から、位相をずらして所定周期のデータを抽出した時系列データである。図11の例では、拡張された時系列データは、NNモデルの動作周期Tと同じ周期のデータである。本実施の形態では、拡張された時系列データの所定周期は、必ずしも動作周期Tと同じである必要はないが、少なくとも短周期の時系列データdata01の周期より長い。
【0043】
図12は、異なる位相で抽出した拡張された時系列データの具体例を示す図である。図12には、短周期の時系列データdata01の各タイミングのデータから、それぞれ位相をずらしてNNモデルの動作周期Tと同じ周期の拡張された時系列データdata01_1, data01_2, data01_3が示される。短周期の時系列データdata01は、正弦波の時系列データである。
【0044】
拡張された時系列データdata01_1は、四角形のタイミングのデータを抽出したものであり、時系列データdata01_2は、三角形のタイミングのデータを抽出したものであり、時系列データdata01_3は、丸のタイミングのデータを抽出したものである。
【0045】
時系列データdata01が正弦波であるので、これら拡張された時系列データdata01_1~data01_3は、NNモデルの動作周期Tと同じ周期の時系列データであるが、それぞれのデータの値が異なる。それにより、拡張された時系列データはそれぞれ異なる複数の傾向を有するので、それらを訓練データに使用した学習済みNNモデルは、偏りが抑制され、汎化性の高いモデルになる。
【0046】
図13は、実エンジンなどから取得した時系列データにノイズが発生した例を示す図である。図中、時系列データdata01_cは、四角形のタイミングで菱形のノイズが発生した例である。このノイズは、例えば、実環境下で実エンジンなどから時系列データを取得したときに、計測環境に由来する突発的または周期的に発生したものである。取得した時系列データdata01_cのように、突発的または周期的にノイズが含まれていたとしても、時系列データdata01_cから異なる位相で所定周期のデータを抽出して拡張された時系列データを生成することで、ノイズが含まれない拡張された時系列データ(図12のdata01_2, data01_3)を得ることができる。
【0047】
したがって、拡張された時系列データのうち、図13に示された時系列データdata01_1nには、ノイズに起因するデータが含まれるが、ノイズのタイミングとずれたタイミングの時系列データ(図12のdata01_2, data01_3)にはノイズに起因するデータは含まれない。したがって、実環境下で取得した時系列データに突発的または周期的ノイズのデータが含まれている場合に、NNモデルがそのようなノイズのデータを有する時系列データdata01_1nによる学習で過学習することを抑制できる。
【0048】
図14は、時系列データから計測点のタイミングを無作為にずらした時系列データの抽出を示す図である。プロセッサは、計測点のタイミングをずらした時系列データを生成する場合(S15)、短周期の時系列データdata01の所定周期Tのタイミング(図中黒三角形)から無作為に時間軸上の早いタイミングまたは遅いタイミングにずらしたデータdata_sftを抽出し、拡張された時系列データdata01_1sを取得する(S16)。
【0049】
このような抽出のタイミングがずれたデータdata_sftを含む時系列データdata01_1sを訓練データとして学習させることで、学習後のNNモデルは、実環境で起こりうる計測タイミングのずれを有する時系列データを許容する汎化性の高いモデルになる。よって、データ拡張に加えて、汎化性を高める訓練データの生成が可能になる。
【0050】
図9に戻り、プロセッサは、データ拡張で、ホワイトノイズを加えた時系列データを生成する場合(S17のYES)、時系列データの値にホワイトノイズを加算して別の時系列データを生成する(S18)。最後に、プロセッサは、抽出した複数の時系列データをメモリに格納する(S19)。
【0051】
[実施例]
本発明者らが行った実験では、NNモデルの訓練データとして、運輸省の通常の運転パターンと過渡運転データを用いた。過渡運転データは、各操作量について上下限を設定したチャープ信号に基づいて、連続的に運転条件を変化させて、過渡運転データを取得した。チャープ信号の一例は図8で示した。
【0052】
図15は、実環境で取得した時系列データとそれから抽出した拡張後の時系列データの例を示す図である。実施例では、NNモデルの動作周期が0.8秒に対し、それより短周期の0.08秒間隔で操作量や制御量の時系列データdata01を取得した。そして、取得した時系列データから、抽出開始時刻をそれぞれ0.08秒、0.32秒、0.64秒ずらした位相で且つNNモデルの動作周期と同じ周期0.8秒の3種類の時系列データdata01_1~data01_3を抽出し、訓練データに含めた。
【0053】
一方、比較例では、抽出開始時刻が0.08秒で周期0.8で抽出した時系列データを訓練データとした。また、訓練データの時系列データは、3L直列4気筒ディーゼルエンジンをエンジンベンチ上で運転させて取得した。
【0054】
図16は、実施例及び比較例のNNモデルの構成を示す図である。このNNモデルは、入力層30と、隠れ層34_a、34_bと、出力層32を有し、入力層には4つの制御量、回転数、燃料噴射量、EGR開度、タービン開度を入力し、出力層には制御量、例えばインテークマニホールド圧力、が出力される。隠れ層のニューロン数は10個,隠れ層の活性化関数と、線形関数は図示されるとおりである。
【0055】
図17は、実施例と比較例の交差検証の例を示す図である。実施例と比較例の学習済みのNNモデルについて、WHTC(World Harmonized Vehicle Cycle 世界統一試験サイクル)の運転モードでエンジンを運転して取得したデータを用いて、交差検証を行い、適合度、RMSE(Root Mea Square Error平均二乗誤差)、及びR2を求めた。図17に記載されたそれぞれの評価の値から、適合値、RMSE、R2のいずれも実施例のほうが比較例より優れていることが理解できる。
【0056】
図17に示した正解値と推定値の図は、WHTCの運転モードで運転したエンジンから取得したデータの入力値をNNモデルに入力して演算された出力(推定値)と、取得したデータの出力(正解値)とをプロットしたものである。横軸をx,縦軸をyとした場合、実施例は、比較例よりも、y=xの軸上により多くのデータがプロットされているので、実施例の優位性が証明された。
【0057】
以上のとおり、本実施の形態によれば、NNモデルの動作周期より短い周期の時系列データを取得し、その時系列データから、位相が異なる所定周期のデータを抽出した複数の時系列データや、タイミングをランダムに時間軸上の前後にずらしたデータを抽出した時系列データで、教師データを拡張する。そのため、取得した時系列データから様々な傾向の時系列データを簡単に生成し、より多くの訓練データを生成することができる。それにより、そのような訓練データを使用してNNモデルを学習させることで、汎化性の高い、また過学習されてないNNモデルを生成することができる。
【符号の説明】
【0058】
1:ニューラルネットワークモデル生成装置
22:NN学習プログラム
24:NNプログラム
26:教師データ
28:時系列データ
data01:短周期の時系列データ
data01_1~data01_3:拡張された時系列データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17