(57)【要約】【課題】車両に搭載された制御装置の限られた演算リソースの中でニューラルネットワークの再学習を適切に実施する。【解決手段】ニューラルネットワークを用いた学習済みモデルに入力パラメータを入力することによって得られた出力パラメータに基づいて、少なくとも１つの制御部品１が制御される車両に搭載された制御装置６１であって、車両の将来の駐車期間を予測する駐車期間予測部８５と、将来の駐車期間の予測結果に基づいて、学習済みモデルの再学習を将来の駐車期間中に行うための学習計画を作成する学習計画作成部８６と、を備える。【選択図】図２
2020070742.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを用いた学習済みモデルに入力パラメータを入力することによって得られた出力パラメータに基づいて、少なくとも１つの制御部品が制御される車両に搭載された制御装置であって、
前記車両の将来の駐車期間を予測する駐車期間予測部と、
前記将来の駐車期間の予測結果に基づいて、前記学習済みモデルの再学習を前記将来の駐車期間中に行うための学習計画を作成する学習計画作成部と、
を備える制御装置。
【請求項２】
前記学習計画作成部は、
前記将来の駐車期間の予測結果に基づいて前記将来の駐車期間の時間長さを算出し、
前記学習済みモデルの再学習を完了させることが可能な時間長さを有する前記将来の駐車期間において前記学習済みモデルの再学習が行われるように、前記学習計画を作成する、
請求項１に記載の制御装置。
【請求項３】
前記学習済みモデルの再学習を行うために必要な工程が予め複数の工程に分割されており、
前記学習計画作成部は、
前記将来の駐車期間の時間長さと前記複数の工程毎の処理時間とに基づいて、前記将来の駐車期間のうちの近い将来の駐車期間から順に、その駐車期間内に完了させることが可能な工程を、前記複数の工程のうちの上流の工程から順次割り当てていくことによって、前記学習計画を作成する、
請求項１に記載の制御装置。
【請求項４】
前記将来の駐車期間の予測結果に基づいて、前記将来の駐車期間の時間長さを算出し、
前記学習済みモデルの再学習時に使用するデータのデータ量に基づいて、前記複数の工程毎の処理時間を算出する、
請求項３に記載の制御装置。
【請求項５】
前記学習計画に従って、前記学習済みモデルの再学習を行う学習部をさらに備える、
請求項１から請求項４までのいずれか１項に記載の制御装置。
【請求項６】
前記学習計画に従って、前記学習済みモデルの再学習を行う学習部をさらに備え
前記学習部は、
現在の駐車期間が、前記駐車期間予測部によって予測された前記将来の駐車期間のいずれの駐車期間であるかを判断し、
現在の駐車期間に、前記学習計画作成部によって割り当てられた工程がある場合には、その工程の処理を実施する、
請求項３又は請求項４に記載の制御装置。
【請求項７】
前記複数の工程のうちの１つの工程は、訓練データを用いて実際に前記学習済みモデルの再学習を実行する再学習工程であり、
前記学習計画作成部は、
前記将来の駐車期間の時間長さが所定長さ以上の駐車期間に前記再学習工程を割り当てる、
請求項３、請求項４又は請求項６に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は制御装置に関する。
【背景技術】
【０００２】
特許文献１には、内燃機関を制御するために使用するパラメータ（内燃機関の燃焼室に吸入される吸入ガスの流量）を、ニューラルネットワークを用いた学習済みモデルによって推定することができるように構成された、内燃機関の制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１２２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ニューラルネットワークを用いた機械学習による学習済みモデルの推定精度を向上させるために、学習済みモデルの再学習、すなわちニューラルネットワークの再学習を車両に搭載された制御装置によって行うことが考えられる。ニューラルネットワークの再学習には多量の演算が必要になるが、その一方で、車両に搭載された制御装置の演算リソースには限りがあるため、車両の走行期間中に当該制御装置によってその他の制御と並行してニューラルネットワークの再学習を行うことが困難となる場合がある。そのため、車両の駐車期間中にニューラルネットワークの再学習を行わせるようにすることも考えられるが、前述した通り、ニューラルネットワークの再学習には多量の演算が必要となり、結果として再学習には多くの時間が必要となる。したがって、駐車期間が短いと、駐車期間中にニューラルネットワークの再学習を完了させることができず、ニューラルネットワークの再学習を適切に実施できないおそれがある。
【０００５】
本発明はこのような問題点に着目してなされたものであり、車両に搭載された制御装置の限られた演算リソースの中で、当該制御装置によってニューラルネットワークの再学習を適切に実施できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様によれば、ニューラルネットワークを用いた学習済みモデルに入力パラメータを入力することによって得られた出力パラメータに基づいて、少なくとも１つの制御部品が制御される車両に搭載された制御装置が提供される。この制御措置は、車両の将来の駐車期間を予測する駐車期間予測部と、将来の駐車期間の予測結果に基づいて、学習済みモデルの再学習を将来の駐車期間中に行うための学習計画を作成する学習計画作成部と、を備えるように構成される。
【発明の効果】
【０００７】
本発明のこの態様によれば、車両に搭載された制御装置の限られた演算リソースの中で、当該制御装置によってニューラルネットワークの再学習を適切に実施することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、車両に搭載される内燃機関の概略的な構成図である。
【図２】図２は、ＥＣＵの処理部における機能ブロック図である。
【図３】図３は、ニューラルネットワークの一例を示す図である。
【図４】図４は、ニューラルネットワークの一例を示す図である。
【図５】図５は、ニューラルネットワークの再学習を行うために必要な工程を複数の工程に分割した場合の一例を示す図である。
【図６】図６は、本発明の一実施形態による学習計画の作成方法について説明する図である。
【図７】図７は、ＥＣＵによって実施される本発明の一実施形態による各工程の処理時間算出制御について説明するフローチャートである。
【図８】図８は、ＥＣＵによって実施される本発明の一実施形態による学習計画作成制御について説明するフローチャートである。
【図９】図９は、ＥＣＵによって実施される本発明の一実施形態による学習計画に従った学習制御について説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の一実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
【００１０】
≪内燃機関の説明≫
まず、図１を参照して実施形態に係る制御装置が用いられる内燃機関１の構成について説明する。図１は、車両に搭載される内燃機関１の概略的な構成図である。図１に示したように、内燃機関１は、機関本体１０、燃料供給装置２０、吸気系３０、排気系４０、排気ガス再循環（ＥＧＲ）システム５０、及び制御システム６０を備える。
【００１１】
機関本体１０は、複数の気筒１１が形成されたシリンダブロックと、吸気ポート及び排気ポートが形成されたシリンダヘッドと、クランクケースとを備える。各気筒１１内にはピストンが配置されると共に、各気筒１１は吸気ポート及び排気ポートに連通している。
【００１２】
燃料供給装置２０は、燃料噴射弁２１、コモンレール２２、燃料供給管２３、燃料ポンプ２４、及び燃料タンク２５を備える。燃料噴射弁２１は、各気筒１１の燃焼室内に燃料を直接噴射するようにシリンダヘッドに配置されている。燃料噴射弁２１は、コモンレール２２及び燃料供給管２３を介して燃料タンク２５に連結されている。燃料供給管２３には、燃料タンク２５内の燃料を圧送する燃料ポンプ２４が配置される。燃料ポンプ２４によって圧送された燃料は、燃料供給管２３を介してコモンレール２２に供給され、燃料噴射弁２１から各気筒１１の燃焼室内に直接噴射される。コモンレール２２内の燃料の圧力は燃料ポンプ２４の出力を変更することによって調整される。したがって、燃料ポンプ２４は、燃料噴射弁２１へ供給する燃料の圧力を制御する燃圧制御装置として機能する。なお、燃料噴射弁２１は、吸気ポート内に燃料を噴射するように構成されてもよい。
【００１３】
吸気系３０は、吸気マニホルド３１、吸気管３２、エアクリーナ３３、ターボチャージャ５のコンプレッサ３４、インタークーラ３５、及びスロットル弁３６を備える。各気筒１１の吸気ポートは吸気マニホルド３１及び吸気管３２を介してエアクリーナ３３に連通している。吸気管３２内には、吸気管３２内を流通する吸入空気を圧縮して吐出するターボチャージャ５のコンプレッサ３４と、コンプレッサ３４によって圧縮された空気を冷却するインタークーラ３５とが設けられている。スロットル弁３６は、スロットル弁駆動アクチュエータ３７によって回動させられて、吸気通路の開口面積を変更する。
【００１４】
排気系４０は、排気マニホルド４１、排気管４２、ターボチャージャ５のタービン４３、及びパティキュレートフィルタ（以下、単に「フィルタ」という）４４を備える。各気筒１１の排気ポートは、排気マニホルド４１及び排気管４２を介してフィルタ４４に連通している。排気管４２には、排気のエネルギによって回転駆動させられるターボチャージャ５のタービン４３が設けられている。ターボチャージャ５のタービン４３が回転駆動させられると、これに伴ってコンプレッサ３４が回転し、吸入空気が圧縮される。本実施形態では、ターボチャージャ５のタービン４３には可変ノズルが設けられている。可変ノズルの開度を変更することで、タービン４３の回転速度を変更することができる。したがって可変ノズルの開度を制御することで、過給圧を制御することができる。
【００１５】
フィルタ４４は、排気中の微粒子を捕集する。なお、排気系４０は、排気を浄化した上で外気中に排出するための装置であれば、フィルタ４４に替わって又はフィルタ４４に加えて他の排気浄化装置を備えてもよい。斯かる排気浄化装置には、例えば、三元触媒、排気ガス中のＮＯｘを還元浄化する選択還元型ＮＯｘ触媒、ＮＯｘ吸蔵還元触媒、酸化触媒等が含まれる。
【００１６】
ＥＧＲシステム５０は、機関本体１０から排出された排気ガスの一部を吸気通路に供給する。ＥＧＲシステム５０は、ＥＧＲ管５１と、ＥＧＲ制御弁５２と、ＥＧＲクーラ５３とを備える。ＥＧＲ管５１は、排気マニホルド４１と吸気マニホルド３１とに連結され、これらを互いに連通させる。ＥＧＲ管５１には、ＥＧＲ管５１内を流れるＥＧＲガスを冷却するＥＧＲクーラ５３が設けられている。加えて、ＥＧＲ管５１には、ＥＧＲ管５１によって形成されるＥＧＲ通路の開口面積を変更することができるＥＧＲ制御弁５２が設けられている。ＥＧＲ制御弁５２の開度を制御することによって、排気マニホルド４１から吸気マニホルド３１へ還流させられるＥＧＲガスの流量が調整され、その結果、ＥＧＲ率が変化する。なお、ＥＧＲ率は、燃焼室内に供給される全ガス量（新気量とＥＧＲガス量との合計）に対するＥＧＲガス量の割合である。
【００１７】
なお、本実施形態では、吸気の圧力を高める過給機としてターボチャージャ５が用いられている。しかしながら、吸気の圧力を高めることができれば、電動コンプレッサや機械式スーパーチャージャ等の他の過給機を用いてもよい。
【００１８】
制御システム６０は、制御装置としての電子制御ユニット（以下「ＥＣＵ」という。）６１及び各種センサを備える。ＥＣＵ６１は、デジタルコンピュータから構成され、双方向性バス６２を介して相互に接続された記憶部６３、ＣＰＵ（マイクロプロセッサ）を備える処理部６４、入力ポート６５、及び出力ポート６６を備える。記憶部６３は、揮発性メモリ（例えば、ＲＡＭ）及び不揮発性メモリ（例えば、ＲＯＭ）を備え、処理部６４において実行されるプログラムや各種のデータを記憶する。
【００１９】
吸気管３２には、ターボチャージャ５のコンプレッサ３４の吸気流れ方向上流側に、吸気管３２内を流れる空気の流量を検出するエアフロメータ７１が設けられている。スロットル弁３６には、その開度（スロットル開度）を検出するためのスロットル開度センサ７２が設けられている。吸気マニホルド３１内には吸気マニホルド３１内の吸気ガスの圧力（過給圧）を検出する圧力センサ（以下「過給圧センサ」という。）７３が設けられている。また、コモンレール２２にはコモンレール２２内の燃料の圧力、すなわち燃料噴射弁２１へ供給される燃料の圧力を検出する圧力センサ（以下、「燃圧センサ」という）７４が設けられている。排気マニホルド４１又は排気管４２には、機関本体１０から排出された排気中のＮＯｘ濃度を検出するＮＯｘセンサ７５が設けられている。これらエアフロメータ７１、スロットル開度センサ７２、過給圧センサ７３、燃圧センサ７４及びＮＯｘセンサ７５の出力は、対応するＡＤ変換器６７を介して入力ポート６５に入力される。
【００２０】
また入力ポート６５には、スタートスイッチ７６から出力された車両の始動信号及び停止信号が入力される。そしてアクセルペダル７７にはアクセルペダル７７の踏み込み量に比例した出力電圧を発生する負荷センサ７８が接続され、負荷センサ７８の出力電圧は対応するＡＤ変換器６７を介して入力ポート６５に入力される。したがって、本実施形態では、アクセルペダル７７の踏み込み量が機関負荷として用いられる。クランク角センサ７９は機関本体１０のクランクシャフトが例えば１０度回転する毎に出力パルスを発生し、この出力パルスが入力ポート６５に入力される。処理部６４ではこのクランク角センサ７９の出力パルスから機関回転速度が計算される。
【００２１】
一方、ＥＣＵ６１の出力ポート６６は、対応する駆動回路６８を介して、内燃機関１の運転を制御する各アクチュエータに接続される。図１に示した例では、出力ポート６６は、ターボチャージャ５の可変ノズル、燃料噴射弁２１、燃料ポンプ２４、スロットル弁駆動アクチュエータ３７、及びＥＧＲ制御弁５２に接続されている。ＥＣＵ６１は、これらアクチュエータを制御する制御信号を出力ポート６６から出力して、内燃機関１の運転を制御する。
【００２２】
図２は、ＥＣＵ６１の処理部６４における機能ブロック図である。図２に示したように、本実施形態によるＥＣＵ６１の処理部６４は、パラメータ値取得部８１と、演算部８２と、制御部８３と、学習部８４と、駐車期間予測部８５と、学習計画作成部８６と、を備えている。
【００２３】
パラメータ値取得部８１は、内燃機関１の運転状態を示す入力パラメータの値を取得する。具体的には、パラメータ値取得部８１は、ＥＣＵ６１の入力ポート６５を介して、前述した種々のセンサ等の出力を、内燃機関１の運転状態を表す入力パラメータの値として取得する。また、パラメータ値取得部８１は、ＥＣＵ６１から燃料噴射弁２１への指令値等を、内燃機関１の運転状態を表す入力パラメータの値として取得する。
【００２４】
演算部８２は、入力パラメータの値が入力されると、複数の入力層と、隠れ層と、出力層とを備えるニューラルネットワークを用いたモデルを用いて、内燃機関１の性能を表す出力パラメータの値を算出する。以下では、演算部８２の出力パラメータが、排気中のＮＯｘ濃度である場合を例にとって説明するが、演算部８２の出力パラメータは、排気中のその他の物質の濃度、内燃機関１の出力トルク、内燃機関１の燃費等、様々なパラメータとすることができる。或いは、演算部８２の出力パラメータは、内燃機関１を制御するためのパラメータ（例えば、燃料カット制御の可否判定等）であってもよい。
【００２５】
制御部８３は、演算部８２によって算出された出力パラメータの値に基づいて、内燃機関１の運転を制御する。例えば、演算部８２によって算出されたＮＯｘ濃度の予測値が目標濃度よりも高いときには、ＮＯｘ濃度を低下させるべく、ＥＧＲ制御弁５２の目標開度が大きくなるように修正される。一方、演算部８２によって算出されたＮＯｘ濃度の予測値が目標濃度よりも低いときには、ＮＯｘ濃度を上昇させるべく、ＥＧＲ制御弁５２の目標開度が小さくなるように修正される。
【００２６】
学習部８４は、演算部８２において出力パラメータの値を算出する際に用いられるニューラルネットワークの学習（再学習）を、学習計画作成部８６によって作成された学習計画に従って行う。学習部８４において行われる具体的な学習手法については後述する。
【００２７】
駐車期間予測部８５は、例えば車両の過去の走行履歴情報から、車両の将来の駐車期間を予測する。本実施形態では駐車期間予測部８５は、ＥＣＵ６１の入力ポート６５を介して、過去に取得した車両の始動信号及び停止信号の日時や曜日などの情報を過去の走行履歴情報として記憶部６３に記憶させ、その記憶させた過去の走行履歴情報に基づいて、車両の将来の駐車期間（車両の停止信号を受信してから次に車両の始動信号を受信するまでの期間）を予測している。
【００２８】
学習計画作成部８６は、駐車期間予測部８５において予測された駐車期間の予測結果に基づいて、ニューラルネットワークの学習（再学習）を行うための学習計画を作成する。
【００２９】
≪ニューラルネットワークの概要≫
前述したように、本実施形態によるＥＣＵ６１の処理部６４は、ニューラルネットワークを用いた学習済みモデルを用いて、内燃機関１の性能を表す種々のパラメータ（出力パラメータ）の値を算出する。以下では、図３を参照して、演算部８２で用いられるニューラルネットワークについて説明する。
【００３０】
図３は、ニューラルネットワークの一例を示している。図３における丸印は人工ニューロンを表しており、ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される（本明細書では、「ノード」と称す）。図３においてＬ＝１は入力層、Ｌ＝２及びＬ＝３は隠れ層、Ｌ＝４は出力層をそれぞれ示している。また、図３において、ｘ１及びｘ２は入力層（Ｌ＝１）の各ノード及びそのノードからの出力値を示しており、ｙは出力層（Ｌ＝４）のノード及びその出力値を示している。同様に、ｚ1(L=2)、ｚ2(L=2)及びｚ3(L=2)は隠れ層（Ｌ＝２）の各ノード及びそのノードからの出力値を示しており、ｚ1(L=3)及びｚ2(L=3)は隠れ層（Ｌ＝３）の各ノード及びそのノードからの出力値を示している。なお、隠れ層の層数は、１個又は任意の個数とすることができ、入力層のノードの数及び隠れ層のノードの数も任意の個数とすることができる。なお、本実施形態では、出力層のノードの数は１個となっている。
【００３１】
入力層の各ノードでは入力がそのまま出力される。一方、隠れ層（Ｌ＝２）の各ノードには、入力層の各ノードの出力値ｘ１及びｘ２が入力され、隠れ層（Ｌ＝２）の各ノードでは、それぞれ対応する重みｗ及びバイアスｂを用いて総入力値ｕが算出される。例えば、図３において隠れ層（Ｌ＝２）のｚｋ(L=2)（ｋ＝１、２、３）で示されるノードにおいて算出される総入力値ｕｋ(L=2)は、次式のようになる（Ｍは入力層のノードの数）。
【数１】
2020070742.tif 000003
【００３２】
次いで、この総入力値ｕｋ(L=2)は活性化関数ｆにより変換され、隠れ層（Ｌ＝２）のｚｋ(L=2)で示されるノードから、出力値ｚｋ(Ｌ=2)（＝ｆ（ｕｋ(L=2)））として出力される。一方、隠れ層（Ｌ＝３）の各ノードには、隠れ層（Ｌ＝２）の各ノードの出力値ｚ１(L=2)、ｚ２(L=2)及びｚ３(L=2)が入力され、隠れ層（Ｌ＝３）の各ノードでは、それぞれ対応する重みｗ及びバイアスｂを用いて総入力値ｕ（＝Σｚ・ｗ＋ｂ）が算出される。この総入力値ｕは同様に活性化関数により変換され、隠れ層（Ｌ＝３）の各ノードから、出力値ｚ１(L=3)、ｚ２(L=3)として出力される、なお、本実施形態では、この活性化関数としてシグモイド関数σが用いられている。
【００３３】
一方、出力層（Ｌ＝４）のノードには、隠れ層（Ｌ＝３）の各ノードの出力値ｚ１(L=3)及びｚ２(L=3)が入力され、出力層のノードでは、それぞれ対応する重みｗ及びバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出されるか、又は、それぞれ対応する重みｗのみを用いて総入力値ｕ（Σｚ・ｗ）が算出される。本実施形態では、出力層のノードでは活性化関数として恒等関数が用いられており、したがって、出力層のノードからは、出力層のノードにおいて算出された総入力値ｕが、そのまま出力値ｙとして出力される。
【００３４】
≪ニューラルネットワークにおける学習≫
本実施形態では、誤差逆伝播法を用いて、ニューラルネットワーク内における各重みｗの値及びバイアスｂの値が学習される。この誤差逆伝播法は周知であり、したがって、誤差逆伝播法についてはその概要を以下に簡単に説明する。なお、バイアスｂは重みｗの一種なので、以下の説明では、バイアスｂは重みｗの一つとされている。さて、図３に示したようなニューラルネットワークにおいて、Ｌ＝２、Ｌ＝３又はＬ＝４の各層のノードへの入力値ｕ（Ｌ）における重みをｗ（Ｌ）で表すと、誤差関数Ｅの重みｗ（Ｌ）による微分、すなわち、勾配∂Ｅ／∂ｗ（Ｌ）は、書き換えると、次式で示されるようになる。
【数２】
2020070742.tif 000004
【００３５】
ここで、ｚ（Ｌ−１）・∂ｗ（Ｌ）＝∂ｕ（Ｌ）であるので、（∂Ｅ／∂ｕ（Ｌ））＝δ（Ｌ）とすると、上記（１）式は、次式にて表すことができる。
【数３】
2020070742.tif 000005
【００３６】
ここで、ｕ（Ｌ）が変動すると、次の層の総入力値ｕ（Ｌ＋１）の変化を通じて誤差関数Ｅの変動を引き起こすので、δ（Ｌ）は、次式で表すことができる（ＫはＬ＋１層におけるノードの数）。
【数４】
2020070742.tif 000006
【００３７】
ここで、z（Ｌ）＝ｆ(u（Ｌ）)と表すと、上記（３）式の右辺に現れる入力値ｕk（Ｌ＋１）は、次式で表すことができる。
【数５】
2020070742.tif 000007
【００３８】
ここで、上記（３）式の右辺第１項（∂Ｅ／∂ｕ（Ｌ＋１））はδ（Ｌ＋１）であり、上記（３）式の右辺第２項（∂uｋ（Ｌ＋１）／∂u（Ｌ））は、次式で表すことができる。
【数６】
2020070742.tif 000008
【００３９】
したがって、δ（Ｌ）は、次式で示される。
【数７】
2020070742.tif 000009
【００４０】
すなわち、δ（Ｌ＋１）が求まると、δ（Ｌ）を求めることができることになる。
【００４１】
さて、或る入力値ｘ及びその入力値ｘに対する出力の正解データｙｔを含む訓練データが求められており、この入力値に対する出力層からの出力値がｙであった場合、誤差関数として二乗誤差が用いられている場合には、二乗誤差Ｅは、Ｅ＝１／２(ｙ−ｙｔ)２で求められる。この場合、図４の出力層（Ｌ＝４）のノードでは、出力値ｙ＝ｆ(u（Ｌ）)となり、したがって、この場合には、出力層（Ｌ＝４）のノードにおけるδ（Ｌ）の値は、次式で示されるようになる。
【数８】
2020070742.tif 000010
【００４２】
ところで、本実施形態では、前述したように、ｆ(u（Ｌ）)は恒等関数であり、ｆ’(u（Ｌl）)＝１となる。したがって、δ（Ｌ）＝ｙ−ｙｔとなり、δ（Ｌ）が求まる。
【００４３】
δ（Ｌ）が求まると、上式（６）を用いて前層のδ（Ｌ−１）が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、上式（２）から、各重みｗについて誤差関数Ｅの微分、すなわち、勾配∂Ｅ／∂ｗ（Ｌ）か求められる。勾配∂Ｅ／∂ｗ（Ｌ）か求められると、この勾配∂Ｅ／∂ｗ（Ｌ）を用いて、誤差関数Ｅの値が減少するように、重みｗの値が更新される。すなわち、重みｗの値の学習が行われることになる。
【００４４】
≪具体的なモデルの例≫
次に、図４を参照して、ニューラルネットワークを用いた具体的なモデルの例について説明する。図４は、演算部８２において用いられるニューラルネットワークの一例を示す図である。
【００４５】
図４に示したニューラルネットワークは、入力層（Ｌ＝１）、二つの隠れ層（Ｌ＝２、３）及び出力層（Ｌ＝４）を有する。また、図４に示したニューラルネットワークでは、入力層（Ｌ＝１）は六つのノードを、出力層（Ｌ＝４）は一つのノードを、隠れ層（Ｌ＝２、３）はそれぞれ七つのノードを備えている。しかしながら、ニューラルネットワークは、３層以上の任意の層数であればいかなる層数を有していてもよい。また、各層のノードの数も任意の数とすることができる。
【００４６】
本実施形態では、入力層（Ｌ＝１）の各ノードには、内燃機関１の運転状態を表す特定の入力パラメータの値が入力される。図５に示した例では、入力パラメータとして、内燃機関１の回転速度、燃料噴射弁２１からの燃料噴射量及び燃料噴射時期、燃料噴射弁２１へ供給される燃料の圧力（燃圧）、ＥＧＲ率及び過給圧が用いられている。
【００４７】
加えて、本実施形態では、出力層（Ｌ＝４）は一つのノードのみを有し、このノードからは一つの出力パラメータの値（推定値）が出力される。図４に示した例では、出力パラメータとして、内燃機関１から排出された排気中（すなわち、フィルタ４４に流入する前の排気中）のＮＯｘ濃度が用いられている。
【００４８】
したがって、図４に示したニューラルネットワークでは、機関回転速度、燃料噴射量、燃料噴射時期、燃圧、ＥＧＲ率及び過給圧の現在の値が入力パラメータの値として入力されると、ＮＯｘ濃度の推定値（現在の推定値又は将来の推定値）が出力パラメータの値として出力される。
【００４９】
したがって、演算部８２は、内燃機関１の運転中において、前述したような入力パラメータの値が入力されると、ニューラルネットワークを用いたモデルを用いて、出力パラメータの値を算出する。具体的には、演算部８２は、演算部８２に入力されたパラメータの値をニューラルネットワークの入力層に入力すると共に、ニューラルネットワークの出力層から出力された出力パラメータの値を出力する。
【００５０】
演算部８２に入力される各入力パラメータの値は、パラメータ値取得部８１によって取得される。具体的には、機関回転速度は、クランク角センサ７９の出力に基づいてＥＣＵ６１において算出され、パラメータ値取得部８１はこのようにして算出された機関回転速度をＥＣＵ６１内から取得する。燃料噴射量及び燃料噴射時期は、ＥＣＵ６１から出力ポートを介して燃料噴射弁２１へ出力される指令値から把握できるため、パラメータ値取得部８１は燃料噴射弁２１への指令値に基づいて燃料噴射量及び燃料噴射時期を取得する。燃圧は、燃圧センサ７４によって検出されることから、パラメータ値取得部８１は、燃圧センサ７４の出力値に基づいて燃圧を取得する。
【００５１】
ＥＧＲ率は、直接計測することができないため、ＥＧＲ率に関連する各種パラメータの値から公知の手法で推定される。例えば、ＥＧＲ制御弁５２の開度、吸気マニホルド３１内の吸気ガスの圧力、排気マニホルド４１内の排気ガスの圧力等に基づいてＥＣＵ６１において推定される。パラメータ値取得部８１は、このようにして推定されたＥＧＲ率をＥＣＵ６１内から取得する。過給圧は、過給圧センサ７３によって検出されることから、パラメータ値取得部８１は、過給圧センサ７３の出力値に基づいて過給圧を取得する。
【００５２】
このようにしてパラメータ値取得部８１によって取得された各入力パラメータの現在の値は、演算部８２に入力され、その結果、出力パラメータであるＮＯｘ濃度の推定値が演算部８２から出力される。
【００５３】
≪学習済みモデルの再学習の必要性≫
ところで、図４に示したニューラルネットワークの学習（すなわち、重みｗの値及びバイアスｂの値の学習）は、ニューラルネットワークを用いた学習済みモデルを使用して制御される内燃機関１が車両に搭載される前に行われる。すなわち、各車両の出荷前に事前に行われる。
【００５４】
ニューラルネットワークの学習を行うにあたっては、入力パラメータの実測値と、この入力パラメータの実測値に対応した出力パラメータの実測値（正解データ）と、を含む訓練データが多数作成される。そして、作成された多数の訓練データを用いて、前述した誤差逆伝搬法を用いてニューラルネットワーク内の重みｗ及びバイアスｂの値を繰り返し更新することによって、重みｗ及びバイアスｂの値が学習され、ニューラルネットワークを用いた学習済みモデルが生成される。そして、このようにして生成された学習済みモデルが、各車両のＥＣＵ６１に実装される。
【００５５】
しかしながら、ニューラルネットワークの学習を行うにあたって作成された多数の訓練データは、実際に車両に搭載される内燃機関１を使用して作成されたものではなく、例えばエンジンベンチなどで訓練データ作成用の内燃機関を運転させて取得したデータに基づいて作成されたものである。
【００５６】
そして、実際に車両に搭載される内燃機関１と、訓練データの作成のために使用された内燃機関との間には、許容範囲内ではあるものの、その性能に或る程度の個体差が存在する。また、経時劣化等によって、内燃機関１の性能が車両搭載時の初期性能から変化することも考えられる。
【００５７】
そのため、ニューラルネットワークを用いた学習済みモデルの推定精度を向上させるためには、内燃機関１が車両に搭載された後、学習済みモデル、ひいてはニューラルネットワークを内燃機関１の性能にあわせて個別に再学習させることが望ましいといえる。
【００５８】
そこで本実施形態では、ＥＣＵ６１の処理部６４において、ニューラルネットワークの再学習を行うことができるようにしている。具体的には、車両が出荷（納車）された後の車両の走行期間中に、パラメータ値取得部８１によって取得された入力パラメータの値と、この入力パラメータの値に対応した出力パラメータの値と、を対応付けて記憶部６３に記憶させておき、記憶部６３に記憶させたこれらのデータに基づいて訓練データを作成する。そして、このように車両の出荷後に作成した訓練データを用いて、学習部８４において前述した誤差逆伝搬法によってニューラルネットワークの再学習を行うことができるようにしている。なお出力パラメータの値は、例えば図４に示したニューラルネットワークの再学習を行う場合であれば、ＮＯｘセンサ７５によって検出された値を用いることができる。
【００５９】
≪学習済みモデルの再学習を行う際の問題点≫
ニューラルネットワークの再学習にあたっては、ニューラルネットワークを再学習する際に使用する訓練データの個数（データ量）を多くするほど、再学習後の学習済みモデルの推定精度を向上させることができる。しかしながら、ニューラルネットワークを再学習する際に使用する訓練データの個数が多くなるほど、ＥＣＵ６１の演算負荷が高くなると共にニューラルネットワークの再学習に必要な時間も長くなる。
【００６０】
そのため、車両の運転の走行期間中においてはニューラルネットワークの再学習に利用可能なＥＣＵ６１の演算リソースが限られているため、車両に搭載されたＥＣＵ６１によって車両の走行期間中にリアルタイムにその他の制御と並行してニューラルネットワークの再学習を行うことが難しいという問題点がある。車両の運転中にリアルタイムにニューラルネットワークの再学習を行うことができるようにするには、処理能力の高いプロセッサなどが必要になるため、コスト増を招くことになる。
【００６１】
そこで、例えば車両の走行期間中ではなく、車両の駐車期間（スタートスイッチ７６がオフ状態にされてからオン状態にされるまでの間の期間）にニューラルネットワークの再学習を実施することが考えられる。このように車両の駐車期間中にニューラルネットワークの再学習を実施すれば、ＥＣＵ６１の演算リソースの大部分をニューラルネットワークの再学習のために利用することができるためである。
【００６２】
しかしながら、車両の駐車期間中にニューラルネットワークの再学習を実施したとしても、駐車期間が短いと、駐車期間中にニューラルネットワークの再学習を完了させることができず、ニューラルネットワークの再学習を適切に実施できないおそれがある。
【００６３】
そこで本実施形態では、過去の走行履歴情報から将来の駐車期間を予測し、その将来の駐車期間の予測結果に基づいて、ニューラルネットワークの再学習を行うための学習計画を作成することとした。
【００６４】
具体的には、まずニューラルネットワークの再学習を行うために必要な工程を、例えば図５に示すように複数の工程に分割し、各工程に必要な処理時間を算出することとした。なお本実施形態では、ニューラルネットワークの再学習を行うために必要な工程を第１工程から第５工程までの５つの工程に分割している。
【００６５】
第１工程は、車両が出荷（納車）された後の車両の走行期間中に、パラメータ値取得部８１によって取得された入力パラメータの値と、この入力パラメータの値に対応した出力パラメータの値と、を対応付けて記憶部６３に記憶させていたデータを、処理部６４が読み込むための工程である。第２工程は、第１工程で読み込んだ各データに対して、例えば平均化処理やフィルタリング処理などのノイズを除去するための加工処理を施すための工程である。第３工程は、第２工程で加工処理が施されたデータから、入力パラメータの値と、この入力パラメータの値に対応した出力パラメータの値と、を対応付けた訓練データを作成するための工程である。第４工程は、第３工程で作成された訓練データを用いて、前述した誤差逆伝播法によって実際にニューラルネットワークの再学習を実行する工程である。第５工程は、第４工程において再学習が行われる前の学習済みモデルを、第４工程において再学習が行われた後の学習済みモデルに置換する工程である。
【００６６】
そして、図６に示すように、過去の走行履歴情報から将来の駐車期間を予測すると共に、近い将来の駐車期間から順に、各駐車期間に完了させることが可能な工程を、各駐車期間の時間長さと各工程の処理時間とに基づいて、上流の工程から順に各駐車期間に割り当てた学習計画を作成することとした。そして作成した学習計画に基づいて、車両の駐車期間中にニューラルネットワークの再学習を実行することとした。なお図６では、将来の３日分の駐車期間を示しているが、当然、或る程度の駐車期間の予測精度を保てる範囲で予測する範囲を増減させてもよい。
【００６７】
≪各工程の処理時間算出制御≫
図７は、ＥＣＵ６１によって実施される本実施形態による各工程の処理時間算出制御について説明するフローチャートである。ＥＣＵ６１は、本ルーチンを、例えば所定距離を走行したときや、訓練データを作成するために記憶部６３に記憶させていたデータのデータ量が所定量以上になったときなど、ニューラルネットワークの再学習に必要な十分な訓練データ、すなわちニューラルネットワークを用いた学習済みモデルの予測精度を向上させることが可能な量の訓練データを取得できたと判断できる所定のタイミングで実施する。
【００６８】
ステップＳ１において、ＥＣＵ６１は、工程番号ｉ（ｉ＝１〜ｎ：本実施形態ではニューラルネットワークを用いた学習済みモデルの再学習を行うために必要な工程を５つの工程に分割しているので、ｎの値は５となる。）を１に設定する。
【００６９】
ステップＳ２において、ＥＣＵ６１は、第ｉ工程に必要な処理時間Ｔｉを算出する。各工程に必要な処理時間は、基本的に第１工程で読み込まれるデータ量と相関関係にあり、当該データ量が多くなるほど長くなる傾向にある。したがって本実施形態では、予め実験等によってデータ量と各工程の処理時間との関係を求めておき、当該関係をマップ化したものを参照して各工程の処理時間を算出するようにしている。
【００７０】
ステップＳ３において、ＥＣＵ６１は、工程番号ｉに１を加算して、工程番号ｉを更新する。
【００７１】
ステップＳ４において、ＥＣＵ６１は、全ての工程の処理時間の算出が完了したか否かを判定する。本実施形態ではＥＣＵ６１は、工程番号ｉがｎ＋１（本実施形態では６）であれば、全ての工程の処理時間の算出が完了したと判定する。ＥＣＵ６１は、全ての工程の処理時間の算出が完了していれば、今回の処理を終了する。一方でＥＣＵ６１は、全ての工程の処理時間の算出が完了していなければ、ステップＳ２の処理に戻る。
【００７２】
≪学習計画作成制御≫
図８は、ＥＣＵ６１によって実施される本実施形態による学習計画作成制御について説明するフローチャートである。ＥＣＵ６１は、本ルーチンを、例えば前述した各工程の処理時間算出制御が終了したタイミングで実施する。
【００７３】
ステップＳ１１において、ＥＣＵ６１は、図６に示したように、過去の走行履歴情報から予測された将来の複数日に亘る駐車期間の予測結果を読み込み、近い将来の駐車期間から順に駐車期間番号ｐ（１〜ｍ：図６に示した例ではｍ＝７となる。）を設定する。
【００７４】
ステップＳ１２において、ＥＣＵ６１は、工程番号ｉ及び駐車期間番号ｐをそれぞれ１に設定する。
【００７５】
ステップＳ１３において、ＥＣＵ６１は、図６に示した駐車期間の予測結果から第ｐ駐車期間の時間長さＴｐを算出する。
【００７６】
ステップＳ１４において、ＥＣＵ６１は、第ｐ駐車期間において、第ｉ工程を行う時間的な余裕があるか否かを判定する。本実施形態ではＥＣＵ６１は、第ｐ駐車期間の時間長さＴｐが第ｉ工程の処理時間Ｔｉ未満であるか否かを判定し、第ｐ駐車期間の時間長さＴｐが第ｉ工程の処理時間Ｔｉ以上であれば、第ｐ駐車期間において第ｉ工程を行う時間的な余裕があると判定する。
【００７７】
ＥＣＵ６１は、第ｐ駐車期間の時間長さＴｐが、第ｉ工程の処理時間Ｔｉ未満である場合、すなわち第ｐ駐車期間中に第ｉ工程を行うと、第ｉ工程の処理を完了する前に第ｐ駐車期間が終了するおそれがある場合には、第ｐ駐車期間において第ｉ工程を行う時間的な余裕がないと判定してステップＳ１５の処理に進む。一方でＥＣＵ６１は、第ｐ駐車期間の時間長さＴｐが、第ｉ工程の処理時間Ｔｉ以上である場合、すなわち第ｐ駐車期間中に第ｉ工程を行えば、第ｐ駐車期間が終了する前に第ｉ工程の処理を完了することができる可能性が高い場合には、第ｐ駐車期間において第ｉ工程を行う時間的な余裕があると判定してステップＳ１７の処理に進む。
【００７８】
ステップＳ１５において、ＥＣＵ６１は、駐車期間番号ｐに１を加算して、駐車期間番号ｐを更新する。
【００７９】
ステップＳ１６において、ＥＣＵ６１は、駐車期間番号ｐがｍ＋１であれば、今回の処理を終了する。一方でＥＣＵ６１は、駐車期間番号ｐがｍ＋１でなければ、ステップＳ１３の処理に戻る。
【００８０】
ステップＳ１７において、ＥＣＵ６１は、第ｐ駐車期間に第ｉ工程の処理を割り当てた学習計画を作成する。すなわちＥＣＵ６１は、第ｐ駐車期間に第ｉ工程の処理を実施する学習計画を作成する。
【００８１】
ステップＳ１８において、ＥＣＵ６１は、第ｐ駐車期間の時間長さＴｐから、第ｉ工程の処理時間Ｔｉを減算して、第ｐ駐車期間の時間長さＴｐを更新する。すなわちＥＣＵ６１は、第ｐ駐車期間に第ｉ工程を実施した場合に、次の工程（第ｉ＋１工程）を実施するための時間がどの程度残されているかを算出する。
【００８２】
ステップＳ１９において、ＥＣＵ６１は、工程番号ｉに１を加算して、工程番号ｉを更新する。
【００８３】
ステップＳ２０において、ＥＣＵ６１は、工程番号ｉがｎ＋１であれば、今回の処理を終了する。一方でＥＣＵ６１は、工程番号ｉがｎ＋１でなければ、ステップＳ１４の処理に戻る。
【００８４】
≪学習計画に従った学習制御≫
図９は、ＥＣＵ６１によって実施される本実施形態による学習計画に従った学習制御について説明するフローチャートである。ＥＣＵ６１は、本ルーチンを、例えば所定の演算周期で繰り返し実施する。
【００８５】
ステップＳ３１において、ＥＣＵ６１は、車両の駐車期間であるか否か、すなわち、スタートスイッチ７６から車両の停止信号を受信した後、始動信号をまだ受信していない状態であるか否かを判定する。ＥＣＵ６１は、車両の駐車期間であればステップＳ３２の処理に進む。一方でＥＣＵ６１は、車両の駐車期間でなければ今回の処理を終了する。
【００８６】
ステップＳ３２において、ＥＣＵ６１は、現在の日時に基づいて、現在の駐車期間の駐車期間番号ｐを特定する。
【００８７】
ステップＳ３３において、ＥＣＵ６１は、各工程の中で、現在の駐車期間に割り当てられた工程があるか否かを判定する。ＥＣＵ６１は、現在の駐車期間に割り当てられた工程がある場合は、ステップＳ３４の処理に進む。一方でＥＣＵ６１は、現在の駐車期間に割り当てられた工程がない場合は、今回の処理を終了する。
【００８８】
ステップＳ３４において、ＥＣＵ６１は、現在の駐車期間に割り当てられた工程の処理を実行する。このときＥＣＵ６１は、現在の駐車期間に割り当てられた工程が複数ある場合には、工程番号の小さい工程から順に処理を実行する。
【００８９】
以上説明した本実施形態によれば、ニューラルネットワークを用いた学習済みモデルに入力パラメータを入力することによって得られた出力パラメータに基づいて、例えば内燃機関１などの少なくとも１つの制御部品が制御される車両に搭載されたＥＣＵ６１（制御装置）が、車両の将来の駐車期間を予測する駐車期間予測部８５と、将来の駐車期間の予測結果に基づいて、学習済みモデルの再学習を将来の駐車期間中に行うための学習計画を作成する学習計画作成部８６と、を備えるように構成される。
【００９０】
このように本実施形態によれば、将来の駐車期間の予測結果に基づいて学習計画が作成されるため、車両の駐車期間中にニューラルネットワークの再学習を実施した場合に、ニューラルネットワークの再学習が完了する前に駐車期間が終了してしまうような事態が生じることを抑制できる。そのため、車両の駐車期間中にニューラルネットワークの再学習を適切に実施することができる。また車両の駐車期間中にニューラルネットワークの再学習を行うことで、ＥＣＵ６１の演算リソースの大部分をニューラルネットワークの再学習のために利用することができるので、ＥＣＵ６１の限られた演算リソースを有効に活用することができる。
【００９１】
特に本実施形態によれば、学習済みモデルの再学習を行うために必要な工程が予め複数の工程に分割されており、学習計画作成部８６は、将来の駐車期間の時間長さと複数の工程毎の処理時間とに基づいて、将来の駐車期間のうちの近い将来の駐車期間から順に、その駐車期間内に完了させることが可能な工程を、複数の工程のうちの上流の工程から順次割り当てていくことによって、学習計画を作成するように構成されている。
【００９２】
そのため、近い将来の駐車期間から順に、各駐車期間に完了させることが可能な工程を、上流の工程から順に各駐車期間に割り当てることができるため、各駐車期間に適切な長さの処理時間の工程を割り当てることができるようになる。さらに車両の駐車期間中にニューラルネットワークの再学習を実施した場合に、ニューラルネットワークの再学習が完了する前に駐車期間が終了してしまうような事態が生じることをより一層抑制できる。
【００９３】
なお、将来の駐車期間の時間長さは、例えば将来の駐車期間の予測結果に基づいて算出することが可能である。また複数の工程毎の処理時間は、例えば学習済みモデルの再学習時に使用するデータのデータ量に基づいて算出することが可能である。
【００９４】
また本実施形態において、複数の工程のうちの１つの工程は、訓練データを用いて実際に学習済みモデルの再学習を実行する第４工程（再学習工程）であり、この第４工程は、各工程の中で最も処理時間が長くなる傾向にある。したがって、学習計画作成部８６は、将来の駐車期間の時間長さが或る一定以上の長さとなっている駐車期間に第４工程を割り当てることになる。
【００９５】
また本実施形態によるＥＣＵ６１（制御装置）は、学習計画に従って、学習済みモデルの再学習を行う学習部８４をさらに備えるように構成されている。具体的には学習部８４は、現在の駐車期間が、駐車期間予測部８５によって予測された将来の駐車期間のいずれの駐車期間であるかを判断し、現在の駐車期間に、学習計画作成部８６によって割り当てられた工程がある場合には、その工程の処理を実施するように構成されている。
【００９６】
これにより、学習計画に従って、車両の駐車期間中にニューラルネットワークの再学習のために必要な各工程を適切に実施することができる。
【００９７】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【００９８】
例えば上記の実施形態において、第４工程でニューラルネットワークの一部（例えば複数の隠れ層のうちの上層の隠れ層）を再学習するようにして、第５工程において、第４工程において再学習が行われる前の学習済みモデルを、第４工程において部分的に再学習された後の学習済みモデルに置換するようにしてもよい。
【００９９】
また上記の実施形態では、ニューラルネットワークの再学習を行うために必要な工程を複数の工程に分割していた。しかしながら、ニューラルネットワークの再学習を行うために必要な工程を分割することなく、第１工程から第５工程までの処理を全て完了させることが可能な将来の駐車期間において、全ての処理を実施させるような学習計画を作成するようにしてもよい。
【０１００】
ここで第１工程から第５工程までの全ての処理を完了させるために必要な時間は、訓練データを作成するために記憶部６３に記憶させていたデータのデータ量に応じて変化するものの、記憶部６３に記憶させることが可能なデータ量には上限がある。そのため、第１工程から第５工程までの全ての処理を完了させるために必要な時間の上限値は、予め把握することが可能である。
【０１０１】
したがって、第１工程から第５工程までの全ての処理を完了させるために必要な時間の上限値よりも長い時間長さを持つ将来の駐車期間に、全ての処理を割り当てることによって、上記のような学習計画を作成することができる。すなわちこの場合には、学習計画作成部８６は、将来の駐車期間の予測結果に基づいて将来の駐車期間の時間長さを算出し、学習済みモデルの再学習を完了させることが可能な時間長さを有する将来の駐車期間において学習済みモデルの再学習が行われるように、学習計画を作成しているといえる。
【０１０２】
また上記の実施形態では、ニューラルネットワークの再学習を行うために必要な工程を第１工程から第５工程までの５つの工程に分割し、これら各工程の処理が駐車期間に実施されるような学習計画を作成していた。しかしながら、例えば訓練データを用いて実際に学習済みモデルの再学習を実行する第４工程よりも上流の第１工程から第３工程までの処理については、演算負荷が比較的軽いので、車両の駐車期間ではなく車両の走行期間中に実施しておくようにしてもよい。そして、第４工程及び第５工程の処理が駐車期間に実施されるような学習計画を作成するようにしてもよい。
【０１０３】
また上記の実施形態では、ニューラルネットワークを用いたモデルに入力パラメータを入力することによって得られた出力パラメータに基づいて制御される制御部品として、内燃機関１を例に挙げて説明したが、制御部品は内燃機関１に限られるものではない。例えばハイブリッド車両であれば、内燃機関１及び走行モータの一方又は双方を、ニューラルネットワークを用いたモデルに入力パラメータを入力することによって得られた出力パラメータに基づいて制御するようにしてもよい。また電気自動車であれば走行モータを、また燃料電池自動車であれば燃料電池を、ニューラルネットワークを用いたモデルに入力パラメータを入力することによって得られた出力パラメータに基づいて制御するようにしてもよい。
【符号の説明】
【０１０４】
１    内燃機関（制御部品）
６１    ＥＣＵ（制御装置）
８４    学習部
８５    駐車期間予測部
８６    学習計画作成部
【図１】
2020070742.tif 000011
【図２】
2020070742.tif 000012
【図３】
2020070742.tif 000013
【図４】
2020070742.tif 000014
【図５】
2020070742.tif 000015
【図６】
2020070742.tif 000016
【図７】
2020070742.tif 000017
【図８】
2020070742.tif 000018
【図９】
2020070742.tif 000019