(57)【要約】【課題】入力パラメータの一部の値に異常が生じている場合であっても比較的正確に出力パラメータの値を算出する。【解決手段】内燃機関の制御装置は、入力パラメータの値を取得するパラメータ値取得部８１と、入力パラメータの値が入力されるとニューラルネットワークを用いたモデルを用いて出力パラメータの値を算出する演算部８２と、算出された出力パラメータの値に基づいて内燃機関の運転を制御する制御部８３と、を備える。モデルは、入力層のノードに入力パラメータの値が入力されると出力層のノードから出力パラメータの値を出力する。入力パラメータのうち一部の入力パラメータの値に異常が生じているときには、演算部は、異常が生じている異常入力パラメータに対応する入力層のノードから隠れ層のノードへ前記異常入力パラメータの値に応じて変化する値が入力されないようにモデルを修正した修正後モデルを用いて、出力パラメータの値を算出する。【選択図】図７
2020045773.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の運転状態を示す入力パラメータの値を取得するパラメータ値取得部と、
前記入力パラメータの値が入力されると、複数の入力層と隠れ層と出力層とを備えるニューラルネットワークを用いたモデルを用いて、出力パラメータの値を算出する演算部と、
前記演算部によって算出された出力パラメータの値に基づいて内燃機関の運転を制御する制御部と、を備え、
前記モデルは、前記入力層のノードに前記入力パラメータの値が入力されると前記出力層のノードから前記出力パラメータの値を出力すると共に、前記入力層の各ノードには該入力層の他のノードに入力される入力パラメータとは異なる一つの入力パラメータの値が入力されるように構成される、内燃機関の制御装置であって、
前記入力パラメータのうち一部の入力パラメータの値に異常が生じているときには、前記演算部は、前記異常が生じている異常入力パラメータに対応する前記入力層のノードから前記隠れ層のノードへ前記異常入力パラメータの値に応じて変化する値が入力されないように前記モデルを修正した修正後モデルを用いて、前記出力パラメータの値を算出する、内燃機関の制御装置。
【請求項２】
全ての前記入力パラメータの値と前記出力パラメータとの値との関係を訓練データセットとして複数記憶する記憶部と、前記修正後モデルの学習を行う学習部と、を更に備え、
前記学習部は、前記記憶部に記憶された複数の訓練データセットを用いて前記修正後モデルの学習を行う、請求項１に記載の内燃機関の制御装置。
【請求項３】
前記出力パラメータの値を検出又は推定する出力パラメータ検出装置と、前記修正後モデルの学習を行う学習部と、を更に備え、
前記学習部は、前記パラメータ値取得部によって取得された前記入力パラメータの値と、このときに前記出力パラメータ検出装置によって検出又は推定された前記出力パラメータの値とを訓練データとして、前記修正後モデルの学習を行う、請求項１に記載の内燃機関の制御装置。
【請求項４】
前記内燃機関が搭載された車両の外部に設けられたサーバとの通信を行う通信部を更に備え、
前記サーバは、全ての前記入力パラメータの値と前記出力パラメータの値との関係を訓練データセットとして複数記憶する記憶部と、前記修正後モデルの学習を行う学習部と、を更に備え、
前記学習部は、前記記憶部に記憶された複数の訓練データセットを用いて前記修正後モデルの学習を行うと共に、前記学習部によって学習された修正後モデルを前記車両に前記通信部を介して送信し、
前記演算部は、前記入力パラメータのうち一部の入力パラメータの値に異常が生じているときには、前記学習された修正後モデルを用いて、前記出力パラメータの値を算出する、請求項１に記載の内燃機関の制御装置。
【請求項５】
前記出力パラメータの値を検出又は推定する出力パラメータ検出装置と、前記内燃機関が搭載された車両の外部に設けられたサーバとの通信を行う通信部を更に備え、
前記サーバは、前記通信部を介して、前記入力パラメータの値及び前記出力パラメータ検出装置によって検出又は推定された出力パラメータの値を取得するサーバ側パラメータ値取得部と、前記修正後モデルの学習を行う学習部を備え、
前記学習部は、前記サーバ側パラメータ値取得部によって取得された前記入力パラメータの値及び前記出力パラメータの値を訓練データとして前記修正後モデルの学習を行うと共に、前記学習部によって学習された修正後モデルを前記車両に前記通信部を介して送信し、
前記演算部は、前記入力パラメータのうち一部の入力パラメータの値に異常が生じているときには、前記学習された修正後モデルを用いて、前記出力パラメータの値を算出する、請求項１に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、内燃機関の運転状態を示すパラメータを入力パラメータとし、内燃機関の制御パラメータを出力パラメータとするニューラルネットワークを用いた学習済モデルを用いて、出力パラメータの値を算出し、算出された出力パラメータの値に基づいて内燃機関を制御する、内燃機関の制御装置が知られている（例えば、特許文献１）。
【０００３】
特に、特許文献１の制御装置は、異なる複数のニューラルネットワークを備えると共に、各ニューラルネットワークが内燃機関の異なる運転領域に対応するように構成されている。加えて、これらニューラルネットワークの出力値に、内燃機関の過渡運転状態に応じて変化する重み係数を乗算して、制御パラメータの値を算出し、算出された制御パラメータの値にこの制御パラメータの実際の値が一致するように内燃機関が制御される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１１／０３３６６２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、内燃機関の制御に用いられるニューラルネットワークへの入力パラメータのうちの少なくとも一部は、内燃機関に設けられた各種センサによってその値が検出されることが多い。加えて、斯かる入力パラメータの一部は、内燃機関に設けられた各種アクチュエータに対する指令値であることもある。ところが、これらセンサやアクチュエータは故障することがある。この場合、そのセンサによって入力パラメータの現在の正しい値を検出することができず、また、そのアクチュエータへの指令値と実際のアクチュエータにおける操作が異なったものになる。
【０００６】
このようにセンサやアクチュエータの故障により入力パラメータの値に異常が生じている場合に、ニューラルネットワークを用いた学習済モデルによって出力パラメータの値をそのまま算出していると、算出された出力パラメータの値と実際の値（又は最適な値）とに大きなずれが生じる。この結果、斯かる出力パラメータに基づいて内燃機関を制御すると、内燃機関が最適な状態で運転されなくなってしまう。
【０００７】
上記課題に鑑みて、本開示の目的は、入力パラメータの一部の値に異常が生じている場合であっても比較的正確に出力パラメータの値を算出することができる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
本開示の要旨は以下のとおりである。
【０００９】
（１）内燃機関の運転状態を示す入力パラメータの値を取得するパラメータ値取得部と、前記入力パラメータの値が入力されると、複数の入力層と隠れ層と出力層とを備えるニューラルネットワークを用いたモデルを用いて、出力パラメータの値を算出する演算部と、前記演算部によって算出された出力パラメータの値に基づいて内燃機関の運転を制御する制御部と、を備え、前記モデルは、前記入力層のノードに前記入力パラメータの値が入力されると前記出力層のノードから前記出力パラメータの値を出力すると共に、前記入力層の各ノードには該入力層の他のノードに入力される入力パラメータとは異なる一つの入力パラメータの値が入力されるように構成される、内燃機関の制御装置であって、前記入力パラメータのうち一部の入力パラメータの値に異常が生じているときには、前記演算部は、前記異常が生じている異常入力パラメータに対応する前記入力層のノードから前記隠れ層のノードへ前記異常入力パラメータの値に応じて変化する値が入力されないように前記モデルを修正した修正後モデルを用いて、前記出力パラメータの値を算出する、内燃機関の制御装置。
【００１０】
（２）全ての前記入力パラメータの値と前記出力パラメータとの値との関係を訓練データセットとして複数記憶する記憶部と、前記修正後モデルの学習を行う学習部と、を更に備え、前記学習部は、前記記憶部に記憶された複数の訓練データセットを用いて前記修正後モデルの学習を行う、上記（１）に記載の内燃機関の制御装置。
【００１１】
（３）前記出力パラメータの値を検出又は推定する出力パラメータ検出装置と、前記修正後モデルの学習を行う学習部と、を更に備え、前記学習部は、前記パラメータ値取得部によって取得された前記入力パラメータの値と、このときに前記出力パラメータ検出装置によって検出又は推定された前記出力パラメータの値とを訓練データとして、前記修正後モデルの学習を行う、上記（１）に記載の内燃機関の制御装置。
【００１２】
（４）前記内燃機関が搭載された車両の外部に設けられたサーバとの通信を行う通信部を更に備え、前記サーバは、全ての前記入力パラメータの値と前記出力パラメータの値との関係を訓練データセットとして複数記憶する記憶部と、前記修正後モデルの学習を行う学習部と、を更に備え、前記学習部は、前記記憶部に記憶された複数の訓練データセットを用いて前記修正後モデルの学習を行うと共に、前記学習部によって学習された修正後モデルを前記車両に前記通信部を介して送信し、前記演算部は、前記入力パラメータのうち一部の入力パラメータの値に異常が生じているときには、前記学習された修正後モデルを用いて、前記出力パラメータの値を算出する、上記（１）に記載の内燃機関の制御装置。
【００１３】
（５）前記出力パラメータの値を検出又は推定する出力パラメータ検出装置と、前記内燃機関が搭載された車両の外部に設けられたサーバとの通信を行う通信部を更に備え、前記サーバは、前記通信部を介して、前記入力パラメータの値及び前記出力パラメータ検出装置によって検出又は推定された出力パラメータの値を取得するサーバ側パラメータ値取得部と、前記修正後モデルの学習を行う学習部を備え、前記学習部は、前記サーバ側パラメータ値取得部によって取得された前記入力パラメータの値及び前記出力パラメータの値を訓練データとして前記修正後モデルの学習を行うと共に、前記学習部によって学習された修正後モデルを前記車両に前記通信部を介して送信し、前記演算部は、前記入力パラメータのうち一部の入力パラメータの値に異常が生じているときには、前記学習された修正後モデルを用いて、前記出力パラメータの値を算出する、上記（１）に記載の内燃機関の制御装置。
【発明の効果】
【００１４】
本開示によれば、入力パラメータの一部の値に異常が生じている場合であっても比較的正確に出力パラメータの値を算出することができる内燃機関の制御装置が提供される。
【図面の簡単な説明】
【００１５】
【図１】図１は、内燃機関の概略的な構成図である。
【図２】図２は、ＥＣＵの処理部における機能ブロック図である。
【図３】図３は、ニューラルネットワークの一例を示す図である。
【図４】図４は、ニューラルネットワークの一例を示す図である。
【図５】図５は、学習済みモデルを用いて算出したＮＯｘ濃度の推定値と、ＮＯｘ濃度の実測値とのタイムチャートである。
【図６】図６は、学習済みモデルを用いて算出したＮＯｘ濃度の推定値と、ＮＯｘ濃度の実測値との、図５と同様なタイムチャートである。
【図７】図７は、修正後モデルにおけるニューラルネットワークの一例を示す、図４と同様な図である。
【図８】図８は、修正後モデルを用いて算出したＮＯｘ濃度の推定値と、ＮＯｘ濃度の実測値との、図５及び図６と同様なタイムチャートである。
【図９】図９は、内燃機関の制御装置で行われるモデルの修正制御の制御ルーチンを示すフローチャートである。
【図１０】図１０は、第二実施形態に係る内燃機関の概略的な構成図である。
【図１１】図１１は、第三実施形態に係る内燃機関の制御システムを概略的に示す図である。
【図１２】図１２は、第四実施形態に係る内燃機関の制御システムを概略的に示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
【００１７】
＜第一実施形態＞
≪内燃機関全体の説明≫
まず、図１を参照して第一実施形態に係る制御装置が用いられる内燃機関１の構成について説明する。図１は、車両に搭載される内燃機関１の概略的な構成図である。図１に示したように、内燃機関１は、機関本体１０、燃料供給装置２０、吸気系３０、排気系４０、排気ガス再循環（ＥＧＲ）システム５０、及び制御装置６０を備える。
【００１８】
機関本体１０は、複数の気筒１１が形成されたシリンダブロックと、吸気ポート及び排気ポートが形成されたシリンダヘッドと、クランクケースとを備える。各気筒１１内にはピストンが配置されると共に、各気筒１１は吸気ポート及び排気ポートに連通している。
【００１９】
燃料供給装置２０は、燃料噴射弁２１、コモンレール２２、燃料供給管２３、燃料ポンプ２４、及び燃料タンク２５を備える。燃料噴射弁２１は、各気筒１１の燃焼室内に燃料を直接噴射するようにシリンダヘッドに配置されている。燃料噴射弁２１は、コモンレール２２及び燃料供給管２３を介して燃料タンク２５に連結されている。燃料供給管２３には、燃料タンク２５内の燃料を圧送する燃料ポンプ２４が配置される。燃料ポンプ２４によって圧送された燃料は、燃料供給管２３を介してコモンレール２２に供給され、燃料噴射弁２１から各気筒１１の燃焼室内に直接噴射される。コモンレール２２内の燃料の圧力は燃料ポンプ２４の出力を変更することによって調整される。したがって、燃料ポンプ２４は、燃料噴射弁２１へ供給する燃料の圧力を制御する燃圧制御装置として機能する。なお、燃料噴射弁２１は、吸気ポート内に燃料を噴射するように構成されてもよい。
【００２０】
吸気系３０は、吸気マニホルド３１、吸気管３２、エアクリーナ３３、排気ターボチャージャ５のコンプレッサ３４、インタークーラ３５、及びスロットル弁３６を備える。各気筒１１の吸気ポートは吸気マニホルド３１及び吸気管３２を介してエアクリーナ３３に連通している。吸気管３２内には、吸気管３２内を流通する吸入空気を圧縮して吐出する排気ターボチャージャ５のコンプレッサ３４と、コンプレッサ３４によって圧縮された空気を冷却するインタークーラ３５とが設けられている。スロットル弁３６は、スロットル弁駆動アクチュエータ３７によって回動せしめられることで、吸気通路の開口面積を変更することができる。
【００２１】
排気系４０は、排気マニホルド４１、排気管４２、排気ターボチャージャ５のタービン４３、及びパティキュレートフィルタ（以下、単に「フィルタ」という）４４を備える。各気筒１１の排気ポートは、排気マニホルド４１及び排気管４２を介してフィルタ４４に連通している。排気管４２には、排気ガスのエネルギによって回転駆動せしめられる排気ターボチャージャ５のタービン４３が設けられている。排気ターボチャージャ５のタービン４３が回転駆動せしめられると、これに伴ってコンプレッサ３４が回転し、よって吸入空気が圧縮せしめられる。本実施形態では、排気ターボチャージャ５のタービン４３には可変ノズルが設けられている。可変ノズルの開度が変更されると、タービンブレードに供給される排気ガスの流速が変化し、ひいてはタービン４３の回転速度が変化する。このため、可変ノズルの開度が変更されると、過給圧が変化する。
【００２２】
フィルタ４４は、排気ガス中の微粒子を捕集する。なお、排気系４０は、排気ガスを浄化した上で外気中に排出するための装置であれば、フィルタ４４に替わって又はフィルタ４４に加えて他の排気浄化装置を備えてもよい。斯かる排気浄化装置には、例えば、三元触媒、排気ガス中のＮＯｘを還元浄化する選択還元型ＮＯｘ触媒、ＮＯｘ吸蔵還元触媒、酸化触媒等が含まれる。
【００２３】
ＥＧＲシステム５０は、機関本体１０から排出された排気ガスの一部を吸気通路に供給する。ＥＧＲシステム５０は、ＥＧＲ管５１と、ＥＧＲ制御弁５２と、ＥＧＲクーラ５３とを備える。ＥＧＲ管５１は、排気マニホルド４１と吸気マニホルド３１とに連結され、これらを互いに連通させる。ＥＧＲ管５１には、ＥＧＲ管５１内を流れるＥＧＲガスを冷却するＥＧＲクーラ５３が設けられている。加えて、ＥＧＲ管５１には、ＥＧＲ管５１によって形成されるＥＧＲ通路の開口面積を変更することができるＥＧＲ制御弁５２が設けられている。ＥＧＲ制御弁５２の開度を制御することによって、排気マニホルド４１から吸気マニホルド３１へ還流せしめられるＥＧＲガスの流量が調整され、その結果、ＥＧＲ率が変化する。なお、ＥＧＲ率は、燃焼室内に供給される全ガス量（新気量とＥＧＲガス量との合計）に対するＥＧＲガス量の割合である。
【００２４】
なお、本実施形態では、吸気ガスの圧力を高める過給機として排気ターボチャージャ５が用いられている。しかしながら、吸気ガスの圧力を高めることができれば、電動コンプレッサや機械式スーパーチャージャ等、他の過給機が用いられてもよい。
【００２５】
≪内燃機関の制御装置≫
内燃機関の制御装置６０は、電子制御ユニット（ＥＣＵ）６１及び各種センサを備える。ＥＣＵ６１は、デジタルコンピュータから構成され、双方向性バス６２を介して相互に接続された記憶部６３、ＣＰＵ（マイクロプロセッサ）を備える処理部６５、入力ポート６６、及び出力ポート６７を備える。記憶部６３は、揮発性メモリ（例えば、ＲＡＭ）及び不揮発性メモリ（例えば、ＲＯＭ）を備え、処理部６５において実行されるプログラム等、各種のデータを記憶する。
【００２６】
吸気管３２には、排気ターボチャージャ５のコンプレッサ３４の吸気流れ方向上流側に、吸気管３２内を流れる空気の流量を検出するエアフロメータ７１が設けられている。スロットル弁３６には、その開度（スロットル開度）を検出するためのスロットル開度センサ７２が設けられている。吸気マニホルド３１内には吸気マニホルド３１内の吸気ガスの圧力（過給圧）を検出する圧力センサ（以下、「過給圧センサ」という）７３が設けられている。また、コモンレール２２にはコモンレール２２内の燃料の圧力、すなわち燃料噴射弁２１へ供給される燃料の圧力を検出する圧力センサ（以下、「燃圧センサ」という）７４が設けられている。これらエアフロメータ７１、スロットル開度センサ７２、過給圧センサ７３及び燃圧センサ７４の出力は、対応するＡＤ変換器６８を介して入力ポート６６に入力される。
【００２７】
また、アクセルペダル７７にはアクセルペダル７７の踏み込み量に比例した出力電圧を発生する負荷センサ７８が接続され、負荷センサ７８の出力電圧は対応するＡＤ変換器６８を介して入力ポート６６に入力される。したがって、本実施形態では、アクセルペダル７７の踏み込み量が機関負荷として用いられる。クランク角センサ７９は機関本体１０のクランクシャフトが例えば１０度回転する毎に出力パルスを発生し、この出力パルスが入力ポート６６に入力される。処理部６５ではこのクランク角センサ７９の出力パルスから機関回転速度が計算される。
【００２８】
一方、ＥＣＵ６１の出力ポート６７は、対応する駆動回路６９を介して、内燃機関１の運転を制御する各アクチュエータに接続される。図１に示した例では、出力ポート６７は、排気ターボチャージャ５の可変ノズル、燃料噴射弁２１、燃料ポンプ２４、スロットル弁駆動アクチュエータ３７、及びＥＧＲ制御弁５２に接続されている。ＥＣＵ６１は、これらアクチュエータを制御する制御信号を出力ポート６７から出力して、内燃機関１の運転を制御する。
【００２９】
図２は、ＥＣＵ６１の処理部６５における機能ブロック図である。図２に示したように、本実施形態では、処理部６５は、パラメータ値取得部８１と、演算部８２と、制御部８３と、学習部８４とを備えている。
【００３０】
パラメータ値取得部８１は、内燃機関１の運転状態を示す入力パラメータの値を取得する。具体的には、パラメータ値取得部８１は、ＥＣＵ６１の入力ポート６６を介して、上述した種々のセンサ等の出力を、内燃機関１の運転状態を表す入力パラメータの値として取得する。また、パラメータ値取得部８１は、ＥＣＵ６１から燃料噴射弁２１への指令値等を、内燃機関１の運転状態を表す入力パラメータの値として取得する。したがって、本実施形態では、パラメータ値取得部８１は、入力パラメータの値を取得する入力パラメータ値取得部として機能する。
【００３１】
演算部８２は、入力パラメータの値が入力されると、複数の入力層と、隠れ層と、出力層とを備えるニューラルネットワークを用いたモデルを用いて、内燃機関１の性能を表す出力パラメータの値を算出する。以下では、演算部８２の出力パラメータが、排気ガス中のＮＯｘ濃度である場合を例にとって説明するが、演算部８２の出力パラメータは、排気ガス中のその他の物質の濃度、内燃機関の出力トルク、内燃機関１の燃費等、様々なパラメータとすることができる。或いは、演算部８２の出力パラメータは、内燃機関１を制御するためのパラメータ（例えば、燃料カット制御の可否判定等）であってもよい。
【００３２】
制御部８３は、演算部８２によって算出された出力パラメータの値に基づいて、内燃機関１の運転を制御する。例えば、演算部８２によって算出されたＮＯｘ濃度の予測値が目標濃度よりも高いときには、ＮＯｘ濃度を低下させるべく、ＥＧＲ制御弁５２の目標開度が大きくなるように修正される。一方、演算部８２によって算出されたＮＯｘ濃度の予測値が目標濃度よりも低いときには、ＮＯｘ濃度を上昇させるべく、ＥＧＲ制御弁５２の目標開度が小さくなるように修正される。
【００３３】
学習部８４は、演算部８２において出力パラメータの値を算出する際に用いられるモデルの学習を行う。学習部８４において行われる具体的な学習手法については後述する。
【００３４】
≪ニューラルネットワークの概要≫
上述したように、本実施形態の演算部８２は、ニューラルネットワークを用いたモデルを用いて、内燃機関の性能を表す種々のパラメータ（出力パラメータ）の値を算出するようにしている。以下では、図３を参照して、演算部８２で用いられるニューラルネットワークについて説明する。
【００３５】
図３は、ニューラルネットワークの一例を示している。図３における丸印は人工ニューロンを表しており、ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される（本明細書では、「ノード」と称す）。図３においてＬ＝１は入力層、Ｌ＝２及びＬ＝３は隠れ層、Ｌ＝４は出力層をそれぞれ示している。また、図３において、ｘ１及びｘ２は入力層（Ｌ＝１）の各ノード及びそのノードからの出力値を示しており、ｙは出力層（Ｌ＝４）のノード及びその出力値を示している。同様に、ｚ1(L=2)、ｚ2(L=2)及びｚ3(L=2)は隠れ層（Ｌ＝２）の各ノード及びそのノードからの出力値を示しており、ｚ1(L=3)及びｚ2(L=3)は隠れ層（Ｌ＝３）の各ノード及びそのノードからの出力値を示している。なお、隠れ層の層数は、１個又は任意の個数とすることができ、入力層のノードの数及び隠れ層のノードの数も任意の個数とすることができる。なお、本実施形態では、出力層のノードの数は１個となっている。
【００３６】
入力層の各ノードでは入力がそのまま出力される。一方、隠れ層（Ｌ＝２）の各ノードには、入力層の各ノードの出力値ｘ１及びｘ２が入力され、隠れ層（Ｌ＝２）の各ノードでは、それぞれ対応する重みｗ及びバイアスｂを用いて総入力値ｕが算出される。例えば、図３において隠れ層（Ｌ＝２）のｚｋ(L=2)（ｋ＝１、２、３）で示されるノードにおいて算出される総入力値ｕｋ(L=2)は、次式のようになる（Ｍは入力層のノードの数）。
【数１】
2020045773.tif 000003
次いで、この総入力値ｕｋ(L=2)は活性化関数ｆにより変換され、隠れ層（Ｌ＝２）のｚｋ(L=2)で示されるノードから、出力値ｚｋ(Ｌ=2)（＝ｆ（ｕｋ(L=2)））として出力される。一方、隠れ層（Ｌ＝３）の各ノードには、隠れ層（Ｌ＝２）の各ノードの出力値ｚ１(L=2)、ｚ２(L=2)及びｚ３(L=2)が入力され、隠れ層（Ｌ＝３）の各ノードでは、それぞれ対応する重みｗ及びバイアスｂを用いて総入力値ｕ（＝Σｚ・ｗ＋ｂ）が算出される。この総入力値ｕは同様に活性化関数により変換され、隠れ層（Ｌ＝３）の各ノードから、出力値ｚ１(L=3)、ｚ２(L=3)として出力される、なお、本実施形態では、この活性化関数としてシグモイド関数σが用いられている。
【００３７】
一方、出力層（Ｌ＝４）のノードには、隠れ層（Ｌ＝３）の各ノードの出力値ｚ１(L=3)及びｚ２(L=3)が入力され、出力層のノードでは、それぞれ対応する重みｗ及びバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出されるか、又は、それぞれ対応する重みｗのみを用いて総入力値ｕ（Σｚ・ｗ）が算出される。本実施形態では、出力層のノードでは活性化関数として恒等関数が用いられており、したがって、出力層のノードからは、出力層のノードにおいて算出された総入力値ｕが、そのまま出力値ｙとして出力される。
【００３８】
≪ニューラルネットワークにおける学習≫
本実施形態では、誤差逆伝播法を用いて、ニューラルネットワーク内における各重みｗの値及びバイアスｂの値が学習される。この誤差逆伝播法は周知であり、したがって、誤差逆伝播法についてはその概要を以下に簡単に説明する。なお、バイアスｂは重みｗの一種なので、以下の説明では、バイアスｂは重みｗの一つとされている。さて、図３に示したようなニューラルネットワークにおいて、Ｌ＝２、Ｌ＝３又はＬ＝４の各層のノードへの入力値ｕ（Ｌ）における重みをｗ（Ｌ）で表すと、誤差関数Ｅの重みｗ（Ｌ）による微分、すなわち、勾配∂Ｅ／∂ｗ（Ｌ）は、書き換えると、次式で示されるようになる。
【数２】
2020045773.tif 000004
ここで、ｚ（Ｌ−１）・∂ｗ（Ｌ）＝∂ｕ（Ｌ）であるので、（∂Ｅ／∂ｕ（Ｌ））＝δ（Ｌ）とすると、上記（１）式は、次式にて表すことができる。
【数３】
2020045773.tif 000005
【００３９】
ここで、ｕ（Ｌ）が変動すると、次の層の総入力値ｕ（Ｌ＋１）の変化を通じて誤差関数Ｅの変動を引き起こすので、δ（Ｌ）は、次式で表すことができる（ＫはＬ＋１層におけるノードの数）。
【数４】
2020045773.tif 000006
ここで、z（Ｌ）＝ｆ(u（Ｌ）)と表すと、上記（３）式の右辺に現れる入力値ｕk（Ｌ＋１）は、次式で表すことができる。
【数５】
2020045773.tif 000007
ここで、上記（３）式の右辺第１項（∂Ｅ／∂ｕ（Ｌ＋１））はδ（Ｌ＋１）であり、上記（３）式の右辺第２項（∂uｋ（Ｌ＋１）／∂u（Ｌ））は、次式で表すことができる。
【数６】
2020045773.tif 000008
したがって、δ（Ｌ）は、次式で示される。
【数７】
2020045773.tif 000009
すなわち、δ（Ｌ＋１）が求まると、δ（Ｌ）を求めることができることになる。
【００４０】
さて、或る入力値ｘ及びその入力値ｘに対する出力の正解データｙｔを含む訓練データセットが求められており、この入力値に対する出力層からの出力値がｙであった場合、誤差関数として二乗誤差が用いられている場合には、二乗誤差Ｅは、Ｅ＝１／２(ｙ−ｙｔ)２で求められる。この場合、図３の出力層（Ｌ＝４）のノードでは、出力値ｙ＝ｆ(u（Ｌ）)となり、したがって、この場合には、出力層（Ｌ＝４）のノードにおけるδ（Ｌ）の値は、次式で示されるようになる。
【数８】
2020045773.tif 000010
ところで、本実施形態では、前述したように、ｆ(u（Ｌ）)は恒等関数であり、ｆ’(u（Ｌl）)＝１となる。したがって、δ（Ｌ）＝ｙ−ｙｔとなり、δ（Ｌ）が求まる。
【００４１】
δ（Ｌ）が求まると、上式（６）を用いて前層のδ（Ｌ−１）が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、上式（２）から、各重みｗについて誤差関数Ｅの微分、すなわち、勾配∂Ｅ／∂ｗ（Ｌ）か求められる。勾配∂Ｅ／∂ｗ（Ｌ）か求められると、この勾配∂Ｅ／∂ｗ（Ｌ）を用いて、誤差関数Ｅの値が減少するように、重みｗの値が更新される。すなわち、重みｗの値の学習が行われることになる。
【００４２】
≪具体的なモデルの例≫
次に、図４を参照して、ニューラルネットワークを用いた具体的なモデルの例について説明する。図４は、本実施形態の演算部８２において用いられるニューラルネットワークの一例を示す図である。
【００４３】
図４に示したように、図４に示したニューラルネットワークは、入力層（Ｌ＝１）、二つの隠れ層（Ｌ＝２、３）及び出力層（Ｌ＝４）を有する。また、図４に示したニューラルネットワークでは、入力層（Ｌ＝１）は六つのノードを、出力層（Ｌ＝４）は一つのノードを、隠れ層（Ｌ＝２、３）はそれぞれ七つのノードを備えている。しかしながら、ニューラルネットワークは、３層以上の任意の層数であればいかなる層数を有していてもよい。また、各層のノードの数も任意の数とすることができる。
【００４４】
本実施形態では、入力層（Ｌ＝１）の各ノードには、内燃機関１の運転状態を表す特定の入力パラメータの値が入力される。特に、入力層（Ｌ＝１）の各ノードには入力層（Ｌ＝１）の他のノードに入力される入力パラメータとは異なる一つの入力パラメータの値が入力される。図４に示した例では、入力パラメータとして、具体的には、内燃機関１の回転速度、燃料噴射弁２１からの燃料噴射量及び燃料噴射時期、燃料噴射弁２１へ供給される燃料の圧力（燃圧）、ＥＧＲ率及び過給圧が用いられている。
【００４５】
加えて、本実施形態では、出力層（Ｌ＝４）は一つのノードのみを有し、このノードからは一つの出力パラメータの値（推定値）が出力される。図４に示した例では、出力パラメータとして、内燃機関１から排出された排気ガス中（すなわち、フィルタ４４に流入する前の排気ガス中）のＮＯｘ濃度が用いられている。
【００４６】
したがって、図４に示したニューラルネットワークでは、機関回転速度、燃料噴射量、燃料噴射時期、燃圧、ＥＧＲ率及び過給圧の現在の値が入力パラメータの値として入力されると、ＮＯｘ濃度の推定値（現在の推定値又は将来の推定値）が出力パラメータの値として出力される。
【００４７】
したがって、演算部８２は、内燃機関１の運転中において、上述したような入力パラメータの値が入力されると、ニューラルネットワークを用いたモデルを用いて、出力パラメータの値を算出する。具体的には、演算部８２は、演算部８２に入力されたパラメータの値をニューラルネットワークの入力層に入力すると共に、ニューラルネットワークの出力層から出力された出力パラメータの値を出力する。
【００４８】
演算部８２に入力される各入力パラメータの値は、パラメータ値取得部８１によって取得される。具体的には、機関回転速度は、クランク角センサ７９の出力に基づいてＥＣＵ６１において算出され、パラメータ値取得部８１はこのようにして算出された機関回転速度をＥＣＵ６１内から取得する。燃料噴射量及び燃料噴射時期は、ＥＣＵ６１から出力ポートを介して燃料噴射弁２１へ出力される指令値から把握できるため、パラメータ値取得部８１は燃料噴射弁２１への指令値に基づいて燃料噴射量及び燃料噴射時期を取得する。燃圧は、燃圧センサ７４によって検出されることから、パラメータ値取得部８１は、燃圧センサ７４の出力値に基づいて燃圧を取得する。
【００４９】
ＥＧＲ率は、直接計測することができないため、ＥＧＲ率に関連する各種パラメータの値から公知の手法で推定される。例えば、ＥＧＲ制御弁５２の開度、吸気マニホルド３１内の吸気ガスの圧力、排気マニホルド４１内の排気ガスの圧力等に基づいてＥＣＵ６１において推定される。パラメータ値取得部８１は、このようにして推定されたＥＧＲ率をＥＣＵ６１内から取得する。過給圧は、過給圧センサ７３によって検出されることから、パラメータ値取得部８１は、過給圧センサ７３の出力値に基づいて過給圧を取得する。
【００５０】
このようにしてパラメータ値取得部８１によって取得された各入力パラメータの現在の値は、演算部８２に入力され、その結果、出力パラメータであるＮＯｘ濃度の推定値が演算部８２から出力される。
【００５１】
また、このように構成されたニューラルネットワークの学習（すなわち、重みｗの値及びバイアスｂの値の学習）は、各車両に搭載される前に事前に行われる。ニューラルネットワークの学習を行うにあたっては、入力パラメータの実測値とこの入力パラメータの実測値に対応した出力パラメータの実測値（正解データ）を含む訓練データセットが多数作成される。このようにして作成された訓練データセットを用いて、上述した誤差逆伝搬法を用いてニューラルネットワーク内の重みｗ及びバイアスｂの値を繰り返し更新することによって、重みｗ及びバイアスｂの値が学習される。
【００５２】
このようにして事前に学習された重みｗ及びバイアスｂの値を用いたニューラルネットワークが車両に搭載される。したがって、車両の演算部８２では、事前に学習された学習済モデルによってＮＯｘ濃度の推定値が算出されることになる。
【００５３】
このようにして学習された学習済モデルを用いて出力パラメータであるＮＯｘ濃度の値を推定することにより、比較的高い精度でＮＯｘ濃度を推定することができる。図５は、上述したような手法にて実際に学習を行った学習済みモデルを用いて算出したＮＯｘ濃度の推定値と、ＮＯｘ濃度の実測値とのタイムチャートである。特に、図５は、内燃機関１の運転状態を適宜変化させたときの、一定期間（３００秒）に亘るＮＯｘ濃度の推定値及び実測値の推移を示している。
【００５４】
図５から、ニューラルネットワーク内の重みｗ及びバイアスｂの値を適切に学習することにより、学習済みモデルによる推定値が実測値に比較的近い値になっていることがわかる。図５に示した例では、ＮＯｘ濃度の推定値と実測値との相関係数は０．８２となった。したがって、出力パラメータであるＮＯｘ濃度を高い精度で推定することができる。
【００５５】
≪入力パラメータにおける異常≫
ところで、上述したニューラルネットワークへの一部の入力パラメータ（例えば、過給圧、機関回転速度）の値は、各種センサによって直接検出されるか、又は各種センサの値に基づいてＥＣＵ６１において算出される。したがって、入力パラメータの値を検出又は算出するのに用いられるセンサが故障して、そのセンサが異常な値を出力する場合には、入力パラメータの値にも異常が生じることになる。すなわち、入力パラメータの実際の値と、ニューラルネットワークへ入力されるその入力パラメータの値とに大きな誤差が生じることになる。
【００５６】
また、上述したニューラルネットワークへの一部の入力パラメータ（例えば、燃料噴射量、燃料噴射時期）の値は、各種アクチュエータの指令値である。したがって、アクチュエータが故障してアクチュエータが指令値通りに動作しないと、入力パラメータの値にも異常が生じることになる。すなわち、この場合にも、入力パラメータの実際の値と、ニューラルネットワークへ入力される入力パラメータの値とに大きな誤差が生じることになる。例えば、燃料噴射弁２１が故障していて燃料噴射弁２１からの実際の燃料噴射量が指令値と異なっていると、ニューラルネットワークへ入力される燃料噴射量が実際の燃料噴射量とは異なった異常な値になる。
【００５７】
このようにニューラルネットワークの一部の入力パラメータの値に異常が生じていると、出力パラメータの値を高い精度で推定することができなくなる。図６は、上述したような手法にて実際に学習を行った学習済みモデルを用いて算出したＮＯｘ濃度の推定値と、ＮＯｘ濃度の実測値との、図５と同様なタイムチャートである。図６は、過給圧センサ７３に異常が生じていて、ニューラルネットワークに入力される過給圧に実際の値から大きな誤差が生じている場合を示している。
【００５８】
図６から、過給圧センサ７３の出力値に異常が生じていて、ニューラルネットワークに入力される過給圧の値に異常が生じていると、学習済みモデルによる推定値が実測値とは乖離した値になっていることがわかる。図６に示した例では、ＮＯｘ濃度の推定値と実測値との相関係数は０．０８７となった。したがって、一部の入力パラメータの値に異常が生じていると、出力パラメータであるＮＯｘ濃度の推定精度が大幅に悪化することがわかる。
【００５９】
≪異常時の推定手法≫
そこで、本実施形態では、演算部８２は、一部の入力パラメータの値に異常が生じているときには、異常が生じている異常入力パラメータに対応する入力層のノードから隠れ層のノードへ異常入力パラメータの値に応じて変化する値が入力されないようにモデルを修正した修正後モデルを用いて、出力パラメータの値を算出するようにしている。以下では、図７を参照して、本実施形態の演算部８２において用いられる修正後モデルについて説明する。
【００６０】
図７は、修正後モデルにおけるニューラルネットワークの一例を示す、図４と同様な図である。図７に示したニューラルネットワークを用いる修正モデルは、図４に示したニューラルネットワークを用いたモデルを修正したものである。また、図７は、過給圧センサ７３に異常が生じている場合、したがって入力パラメータの一つである過給圧の入力値に異常が生じている場合を示している。
【００６１】
図７に示したニューラルネットワークも、図４に示したニューラルネットワークと同じネットワーク構造を有する。したがって、図７に示したニューラルネットワークは、入力層（Ｌ＝１）、二つの隠れ層（Ｌ＝２、３）及び出力層（Ｌ＝４）を有し、各層は図４に示したニューラルネットワークと同じ数のノードを備えている。また、入力層の各ノードには、図４に示したニューラルネットワークと同様な入力パラメータの値が入力される。
【００６２】
しかしながら、図７に示した例では、多数の入力パラメータのうち異常が生じている過給圧の値が入力される入力層（Ｌ＝１）のノードでは、その出力値ｘ6が実質的に隠れ層（Ｌ＝２）の各ノードに入力されない。具体的には、例えば、過給圧の値が入力される入力層（Ｌ＝１）のノードの出力値は、重みｗとしてゼロが乗算されて隠れ層（Ｌ＝２）の各ノードに入力される。したがって、隠れ層（Ｌ＝２）以降の層では、過給圧の値が入力される入力層（Ｌ＝１）のノードの出力の影響を受けない。すなわち、過給圧として如何なる値が入力層（Ｌ＝１）のノードｘ6に入力されても、出力層（Ｌ＝４）のノードから出力される出力パラメータ（ＮＯｘ濃度）の値は変化しない。
【００６３】
図８は、図７に示したような修正後モデルを用いて算出したＮＯｘ濃度の推定値と、ＮＯｘ濃度の実測値との、図５及び図６と同様なタイムチャートである。特に、図８は、修正後モデルとして、上述した学習済みモデルを作成する際に用いた訓練データセットと同様な訓練データセットを用いて学習が行われたモデルを用いた場合を示している。
【００６４】
図８からわかるように、異常入力パラメータについては入力層（Ｌ＝１）の対応するノードからその出力値が隠れ層の各ノードに実質的に入力されない修正後モデル（図７に示したようなモデル）によっても、その推定値は、実測値に比較的近い値になっていることがわかる。図８に示した例では、ＮＯｘ濃度の推定値と実測値との相関係数は、０．８１となった。したがって、修正後モデルにおいても出力パラメータであるＮＯｘ濃度を比較的高い精度で推定することができることがわかる。
【００６５】
すなわち、図４に示したようなニューラルネットワークを用いたモデルでは、一部の異常入力パラメータが用いられなくても、その異常入力パラメータを除いた状態で学習を行うことによって、比較的高い精度で出力パラメータの値を推定することができる。したがって、本実施形態によれば、一部の入力パラメータの値に異常が生じていたとしても、比較的高い精度で出力パラメータの値を推定することができる。
【００６６】
なお、上記実施形態では、修正後モデルでは、異常入力パラメータの値が入力されるノードの出力値に、重みｗとしてゼロを乗算した値を隠れ層（Ｌ＝２）の各ノードに入力するようにしている。しかしながら、異常入力パラメータに対応する入力層のノードから隠れ層のノードへ異常入力パラメータの値に応じて変化する値が入力されなければ、他の手法でモデルの修正が行われてもよい。例えば、異常入力パラメータに対応する入力層のノードにゼロが入力されるようにモデルが修正されてもよい。或いは、異常入力パラメータに対応する入力層のノードに異常入力パラメータの値の変化に応じて変化しない任意の一定値が入力されるようにモデルが修正されてもよい。
【００６７】
≪修正後モデルの学習手法≫
上述したように、修正後モデルについては学習を行うことが必要になるが、この修正後モデルの学習はＥＣＵ６１の学習部８４において行われる。したがって、本実施形態では、修正後モデルの学習は各車両に搭載されたＥＣＵ６１内において行われる。
【００６８】
本実施形態では、学習済みモデルを作成する際に用いた訓練データセットと同様な訓練データセットが記憶部６３に多数記憶されている。各訓練データセットは、全ての入力パラメータの値と、これら入力パラメータの値に対応する出力パラメータの値との関係を示している。したがって、各訓練データセットは、全ての入力パラメータの値と、入力パラメータの値をその値にしたときの出力パラメータの実測値（正解データ）とを含む。訓練データの作成は、内燃機関１を搭載した車両の出荷前に事前に行われる。
【００６９】
そして、ニューラルネットワークの一部の入力パラメータの値に異常が生じている場合には、演算部８２において上述した修正後モデルが作成される。具体的には、例えば、上述したように、異常入力パラメータが入力される入力層のノードからの出力値に乗算される重みｗは全てゼロに固定される。
【００７０】
学習部８４は、記憶部６３に記憶されている訓練データセットを用いて、このようにして作成された修正後モデルの学習を行う。具体的には、学習部８４は、記憶部６３に記憶されている訓練データセットを用いて、上述した誤差逆伝搬法によってニューラルネットワーク内の重みｗ及びバイアスｂの値を繰り返し更新する。ただし、このとき、上述したゼロに固定された重みｗはゼロのまま更新されずに維持される。演算部８２では、このように学習部８４において学習された修正後モデルを用いて、ＮＯｘ濃度の推定値が算出される。
【００７１】
本実施形態では、このように記憶部６３に記憶されている訓練データセットを用いて修正後モデルの学習が行われる。したがって、異常が生じている入力パラメータ毎に及び異常が生じている入力パラメータの組合せ毎に修正後モデル（より正確には重みｗとバイアスｂ）を記憶部６３に記憶しておく場合に比べて、記憶部６３への記憶量を減らすことができる。
【００７２】
ただし、記憶部６３は、異常が生じている入力パラメータ毎に及び異常が生じている入力パラメータの組合せ毎に、学習済みの修正後モデル（より正確には重みｗとバイアスｂ）を記憶していてもよい。この場合には、一部の入力パラメータの値に異常が生じて演算部８２において上述した修正後モデルが作成されたときに、その修正後モデルの重みｗ及びバイアスｂの値として、記憶部６３に記憶されていた対応するモデルの学習済みの重みｗ及びバイアスｂの値が用いられる。このように記憶部６３に学習済みの修正後モデルを記憶させておくことにより、修正後モデルを用いる際に修正後モデルを学習させる必要がなくなり、迅速に修正後モデルを用いることができるようになる。
【００７３】
≪フローチャート≫
図９は、本実施形態に係る内燃機関１の制御装置で行われるモデルの修正制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは、一定時間間隔毎に実行される。
【００７４】
まず、ステップＳ１１では、修正フラグがＯＮになっているか否かが判定される。修正フラグは、各種センサやアクチュエータの故障に伴ってモデル（特に、モデルの重みやバイアス）を修正しているときにＯＮとされ、それ以外のときにはＯＦＦとされるフラグである。ステップＳ１１において、修正フラグがＯＮになっていないと判定された場合には、制御ルーチンはステップＳ１２へと進む。
【００７５】
ステップＳ１２では、上記モデルの入力パラメータを検出又は算出するのに用いられる各種センサやアクチュエータのいずれか一つに新たな故障が発生したか否かが判定される。各種センサやアクチュエータの故障の検知は公知の方法で行われる。ステップＳ１２において、各種センサやアクチュエータに新たな故障は発生していないと判定された場合には制御ルーチンが終了せしめられる。一方、ステップＳ１２において、新たな故障が発生したと判定された場合には、制御ルーチンはステップＳ１３へと進む。ステップＳ１３では、修正フラグがＯＮにセットされ、制御ルーチンが終了せしめられる。
【００７６】
修正フラグがＯＮにセットされると、次の制御ルーチンでは、制御ルーチンはステップＳ１１からステップＳ１４へと進む。ステップＳ１４では、各種センサやアクチュエータの故障に伴って一部の入力パラメータの値が異常であることに対応した修正後モデルが作成されているか否かが判定される。修正後モデルが作成されていない場合には制御ルーチンはステップＳ１５へと進む。
【００７７】
ステップＳ１５では、演算部８２において修正後モデルが作成される。具体的には、上述したように、異常入力パラメータに関連した入力層（Ｌ＝１）から隠れ層（Ｌ＝２）への重みがゼロに固定される。
【００７８】
次いで、ステップＳ１６では、ステップＳ１５で作成された修正後モデルの学習が完了したか否かが判定される。ステップＳ１６において修正後モデルの学習が完了していないと判定された場合には、制御ルーチンはステップＳ１７へと進む。ステップＳ１７では、上述したように、記憶部６３に記憶された訓練データセットを用いて、学習部８４において修正後モデルの学習が行われ、制御ルーチンが終了せしめられる。
【００７９】
その後、学習部８４における修正後モデルの学習が完了すると、次の制御ルーチンでは、制御ルーチンは、ステップＳ１６からステップＳ１８へと進む。ステップＳ１８では、修正フラグがＯＦＦにリセットされ、制御ルーチンが終了せしめられる。
【００８０】
＜第二実施形態＞
次に、第二実施形態に係る内燃機関の制御装置について説明する。第二実施形態に係る制御装置の構成及び制御は基本的に第一実施形態に係る制御装置の構成及び制御と同様である。以下では、第一実施形態に係る制御装置とは異なる部分を中心に説明する。
【００８１】
上記第一実施形態の制御装置では、修正後モデルにおいて学習を行うための訓練データセットは、予め記憶部６３に記憶されていた。しかしながら、修正後モデルにおける学習を適切に行うためには、非常に多くの訓練データセットが必要になることから、訓練データセットを記憶させるために記憶部６３における記憶容量を大きくする必要があった。
【００８２】
これに対して本実施形態に係る制御装置は、出力パラメータの値を検出又は推定する出力パラメータ検出装置を備える。学習部８４は、パラメータ値取得部８１によって取得された入力パラメータの値と、出力パラメータ検出装置によって検出又は推定された出力パラメータの値とを訓練データセットとして、修正後モデルの学習を行うようにしている。
【００８３】
図１０は、第二実施形態に係る内燃機関１の概略的な構成図である。図１０に示したように、本実施形態に係る内燃機関１では、排気マニホルド４１又は排気管４２には、機関本体１０から排出された排気ガス中のＮＯｘ濃度を検出するＮＯｘセンサ７５が設けられている。このＮＯｘセンサ７５の出力は、対応するＡＤ変換器６８を介して入力ポート６６に入力される。上述したように、ＮＯｘ濃度は演算部８２における出力パラメータであることから、ＮＯｘセンサ７５は出力パラメータの値を検出する出力パラメータ検出装置ということができる。
【００８４】
パラメータ値取得部８１は、このようにして検出又は推定された出力パラメータの実測値を取得する。具体的には、パラメータ値取得部８１は、ＥＣＵ６１の入力ポート６６を介して、ＮＯｘセンサ７５の出力を、出力パラメータの実測値として取得する。したがって、本実施形態では、パラメータ値取得部８１は、出力パラメータの実測値を取得する出力パラメータ値取得部としても機能する。
【００８５】
学習部８４では、このようにして検出されたＮＯｘ濃度の実測値と、このＮＯｘ濃度の実測値が検出されたときの入力パラメータの実測値とから、訓練データセットが作成される。学習部８４では、内燃機関１の運転状態が変化する毎に、訓練データセットが作成される。したがって、学習部８４では、多数の訓練データセットが作成される。
【００８６】
そして、学習部８４では、このようにして作成された訓練データセットを用いて、修正後モデルの学習が行われる。具体的には、学習部８４は、このようにして作成された訓練データセットを用いて、上述した誤差逆伝搬法によってニューラルネットワーク内の重みｗ及びバイアスｂの値を繰り返し更新する。こうして、ニューラルネットワーク内の重みｗ及びバイアスｂの値が学習される。なお、このときにも、上述した第一実施形態と同様に、ゼロに固定された重みｗはゼロのまま更新されずに維持される。演算部８２では、このように学習部８４において学習された修正後モデルを用いて、ＮＯｘ濃度の推定値が算出される。
【００８７】
本実施形態では、出力パラメータの値を検出又は推定する出力パラメータ検出装置によって検出又は推定された値を用いて訓練データセットが制御装置において作成される。したがって、本実施形態によれば、記憶部６３内に訓練データセットを記憶させておく必要がなく、記憶部６３における記憶容量を小さくすることができる。
【００８８】
なお、本実施形態におけるモデル（修正後モデルを含む）では、入力パラメータである燃料噴射量や燃料噴射時期として、将来の目標値が入力される。したがって、本実施形態におけるモデルからは、これら入力パラメータの値を斯かる目標値に設定したときにおける出力パラメータであるＮＯｘ濃度の予想値が出力される。制御装置では、このように出力されたＮＯｘ濃度の予想値に基づいて、内燃機関の制御を行う。具体的には、例えば、ＮＯｘ濃度の予想値が予め定められた閾値以上であった場合には、燃料噴射時期の目標値を遅角させること等が考えられる。
【００８９】
＜第三実施形態＞
次に、図１１を参照して第三実施形態に係る内燃機関の制御システムについて説明する。第三実施形態に係る制御システムに用いられる内燃機関の制御装置の構成及び制御は、基本的に第一実施形態に係る制御装置の構成及び制御と同様である。したがって、以下では、第一実施形態に係る制御装置とは異なる部分を中心に説明する。
【００９０】
上記第一実施形態及び第二実施形態に係る制御装置では、ＥＣＵ６１の学習部８４において修正後モデルの学習が行われている。しかしながら、修正後モデルの学習にあたっては、上述した誤差逆伝搬法を用いて学習が行われるため、各訓練データセット毎に誤差関数を各重みや各バイアスで微分した勾配を繰り返し算出すると共に、多数の訓練データセットについて斯かる操作を繰り返し行う必要がある。したがって、制御装置において学習を行うためには、制御装置に高性能のＣＰＵ等を用いることが必要になる。そこで、本実施形態では、車両の外部に設けられたサーバにおいて、修正後モデルの学習を行うようにしている。
【００９１】
図１１は、本実施形態に係る内燃機関の制御システムを概略的に示す図である。図１１に示したように、各車両１００の内燃機関の制御装置６０は、ＥＣＵ６１に接続された通信部９１を備える。通信部９１は、ＥＣＵ６１の入出力ポートに接続され、よってＥＣＵ６１へ入力信号を入力することもできるし、ＥＣＵ６１からの出力信号を受け取ることもできる。車両１００の通信部９１は、車両１００の外部に設けられたサーバ２００と通信を行うように構成される。
【００９２】
車両１００の外部に設けられたサーバ２００は、通信部２１０と、処理部２２０と、記憶部２３０とを備える。これら通信部２１０、処理部２２０及び記憶部２３０は、相互に接続されており、よってこれらの間でデータを送受信することができる。
【００９３】
通信部２１０は、各車両１００の通信部９１と通信し、各車両１００の通信部９１との間でデータの送受信を行う。これら車両１００の通信部９１とサーバ２００の通信部２１０との間の通信は、各種通信規格に準拠した無線通信によって行われる。
【００９４】
処理部２２０は、図１１に示したように、機能ブロックとして、学習部２２２を備える。学習部２２２は、車両１００の演算部８２において出力パラメータを算出する際に用いられる修正後モデルの学習を行う。また、サーバ２００の記憶部２３０には、本実施形態では、学習済みモデルを作成する際に用いた訓練データセットと同様な訓練データセットが多数記憶されている。
【００９５】
本実施形態では、各車両１００のニューラルネットワークの一部の入力パラメータの値に異常が生じている場合には、上記第一実施形態と同様に、演算部８２において上述した修正後モデルが作成される。具体的には、例えば、上述したように、異常入力パラメータが入力される入力層のノードからの出力値に乗算される重みｗは全てゼロに固定される。
【００９６】
また、車両１００のＥＣＵ６１から通信部９１を介して、サーバ２００の通信部２１０へ、演算部８２にて作成された修正後モデルの学習が依頼される。サーバ２００の処理部２２０では、各車両１００のＥＣＵ６１からの依頼を受けて、修正後モデルの学習が行われる。
【００９７】
処理部２２０の学習部２２２は、記憶部６３に記憶されている訓練データセットを用いて修正後モデルの学習を行う。具体的には、学習部２２２は、サーバ２００の記憶部２３０に記憶されている訓練データセットを用いて、上述した誤差逆伝搬法によってニューラルネットワーク内の重みｗ及びバイアスｂの値を繰り返し更新する。ただし、このとき、上述したゼロに固定された重みｗはゼロのまま更新されずに維持される。
【００９８】
学習部２２２において修正後モデルの学習が完了すると、このようにして学習された修正後モデル（具体的には、このようにした学習された修正後モデルの重みｗやバイアスｂのデータ）が、サーバ２００の通信部２１０及び各車両の通信部９１を介して、各車両１００のＥＣＵ６１へと送信される。各車両１００のＥＣＵ６１の演算部８２では、このようにサーバ２００の学習部２２２において学習された修正後モデルを用いて、出力パラメータの値（本実施形態では、ＮＯｘ濃度の推定値）が算出される。
【００９９】
本実施形態では、修正後モデルの学習は、サーバ２００において行われる。したがって、各車両１００のＥＣＵ６１では、修正後モデルの学習は行われず、よって各車両１００の制御装置における計算負荷を低減させることができ、高性能なＣＰＵ等の必要性を低減することができる。
【０１００】
＜第四実施形態＞
次に、図１１を参照して第四実施形態に係る内燃機関の制御システムについて説明する。第四実施形態に係る制御システムに用いられる内燃機関の制御装置の構成及び制御は、基本的に第二実施形態に係る制御装置の構成及び制御と同様であり、また第四実施形態に係る制御システムの構成及び制御は第三実施形態に係る制御システムの構成及び制御と同様である。したがって、以下では、第二実施形態及び第三実施形態に係る制御装置とは異なる部分を中心に説明する。
【０１０１】
本実施形態に係る制御システムでは、第三実施形態の制御システムと同様に、修正後モデルの学習がサーバ２００において行われる。加えて、本実施形態では、第二実施形態の制御装置と同様に、出力パラメータの値を検出又は推定する出力パラメータ検出装置によって検出又は推定された実測値を用いて訓練データセットが作成される。
【０１０２】
図１２は、本実施形態に係る内燃機関の制御システムを概略的に示す図である。図１２に示したように、処理部２２０は、機能ブロックとして、パラメータ値取得部２２１と、学習部２２２とを備える。サーバ２００のパラメータ値取得部２２１は、車両１００の通信部９１及びサーバ２００の通信部２１０を介して、車両１００のＥＣＵ６１から、内燃機関１の運転状態を示す入力パラメータの値を取得する。加えて、サーバ２００のパラメータ値取得部２２１は、通信部９１、２１０を介して、車両１００のＥＣＵ６１から、出力パラメータ検出装置によって検出又は推定された出力パラメータの実測値（例えば、ＮＯｘセンサ７５によるＮＯｘ濃度の実測値）を取得する。
【０１０３】
サーバ２００の学習部２２２では、このようにしてパラメータ値取得部２２１によって取得された入力パラメータの実測値と、これに対応する出力パラメータの実測値とから、訓練データセットが作成される。サーバ２００の学習部２２２では、内燃機関１の異なる運転状態毎に、訓練データセットが作成される。したがって、サーバ２００の学習部２２２では、多数の訓練データセットが作成される。そして、サーバ２００の学習部２２２では、このようにして作成された訓練データセットを用いて、修正後モデルの学習が行われる。
【０１０４】
学習部２２２において修正後モデルの学習が完了すると、このようにして学習された修正後モデルが、通信部９１、２１０を介して、各車両１００のＥＣＵ６１へと送信される。各車両１００のＥＣＵ６１の演算部８２では、このようにサーバ２００の学習部２２２において学習された修正後モデルを用いて、出力パラメータの値が算出される。
【符号の説明】
【０１０５】
１    内燃機関
１０    機関本体
２１    燃料噴射弁
６０    制御装置
６１    ＥＣＵ
６３    記憶部
６５    処理部
７３    過給圧センサ
７４    燃圧センサ
７５    ＮＯｘセンサ
７９    クランク角センサ
８１    パラメータ値取得部
８２    演算部
８３    制御部
８４    学習部
【図１】
2020045773.tif 000011
【図２】
2020045773.tif 000012
【図３】
2020045773.tif 000013
【図４】
2020045773.tif 000014
【図５】
2020045773.tif 000015
【図６】
2020045773.tif 000016
【図７】
2020045773.tif 000017
【図８】
2020045773.tif 000018
【図９】
2020045773.tif 000019
【図１０】
2020045773.tif 000020
【図１１】
2020045773.tif 000021
【図１２】
2020045773.tif 000022