(57)【特許請求の範囲】
【請求項１】
実行装置と、記憶装置と、を備え、
前記記憶装置には、車両に搭載される内燃機関のクランク角センサの検出値に基づく第１入力データを入力とし前記内燃機関の失火の有無に関する変数である第１失火変数の値を出力する第１写像を規定する第１写像データと、前記クランク角センサの検出値に基づく第２入力データを入力とし前記内燃機関の失火の有無に関する変数である第２失火変数の値を出力する第２写像を規定して且つ機械学習によって学習されたデータを含む第２写像データとが記憶されており、
前記実行装置は、前記第１入力データを取得する第１取得処理と、前記第１取得処理によって取得された前記第１入力データを前記第１写像の入力として前記第１失火変数の値を算出する第１算出処理と、前記第２入力データを取得する第２取得処理と、前記第２取得処理によって取得された前記第２入力データを前記第２写像の入力として前記第２失火変数の値を算出する第２算出処理と、前記第２算出処理の算出結果と前記第１算出処理の算出結果とが整合するか否かを判定する判定処理と、前記判定処理によって整合しないと判定される連続回数をカウントするカウント処理と、所定期間において前記カウント処理によってカウントされた連続回数のうちの最大回数に対応する前記第２失火変数の値に関するデータと、該第２失火変数の値の算出に用いた前記第２入力データに関するデータと、を前記車両の外部に送信する送信処理と、を実行する失火検出装置。
【請求項２】
前記送信処理は、前記最大回数に対応する前記第２失火変数の値のうちの所定個数の値に関するデータと、該値のそれぞれの算出に用いた前記第２入力データに関するデータとに加えて、前記最大回数に関するデータを送信する処理を含む請求項１記載の失火検出装置。
【請求項３】
前記第２入力データは、前記内燃機関の圧縮上死点の出現間隔よりも小さい角度間隔における前記内燃機関のクランク軸の回転速度である瞬時速度の互いに異なる前記角度間隔における値同士の相違に関する情報を含む変数である回転波形変数であり、
前記第２失火変数の値の算出に用いた前記第２入力データに関するデータは、前記判定処理によって整合しないと判定されたときの前記第２失火変数の値の算出に用いられた前記回転波形変数が示す前記瞬時速度同士の相違に関する情報が含まれる前記角度間隔のそれぞれにおける前記瞬時速度を示す変数である瞬時速度変数であり、
前記送信処理による送信対象となるデータには、前記算出に用いられた前記回転波形変数が示す前記瞬時速度同士の相違に関する情報が含まれる前記角度間隔とは時系列的に前または後に生じた複数の前記角度間隔のそれぞれにおける前記瞬時速度変数が含まれる請求項２記載の失火検出装置。
【請求項４】
前記角度間隔は、第２間隔であり、
前記回転波形変数は、前記第２間隔よりも大きい第１間隔に含まれる連続する複数の前記第２間隔のそれぞれにおける前記瞬時速度変数自体によってそれら前記瞬時速度変数同士の差を示す変数として構成された時系列データであり、
前記送信処理によって送信される前記データは、前記判定処理によって整合しないと判定されるときの前記第１間隔に含まれる前記複数の前記第２間隔のそれぞれにおける前記瞬時速度変数に加えて、当該第１間隔に隣接して且つ連続する複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を含む請求項３記載の失火検出装置。
【請求項５】
前記送信処理によって送信される前記データは、前記判定処理によって整合しないと判定されるときにおける前記第２失火変数の値の算出に用いた前記回転波形変数に関する前記瞬時速度変数に加えて、前記判定処理によって整合していると判定されるときにおける前記瞬時速度変数を含む請求項３または４記載の失火検出装置。
【請求項６】
前記送信処理によって送信される前記データは、前記判定処理によって整合しないと判定されるときにおける前記瞬時速度変数と、前記判定処理によって整合しないと判定される状態から整合していると判定される状態に移行した際の当該整合していると判定される状態における前記瞬時速度変数とを含む請求項５記載の失火検出装置。
【請求項７】
前記実行装置は、前記車両の走行の終了時のうちの時系列的に互いに隣接する一対の終了時の時間間隔を前記所定期間とし、前記車両の走行の終了時に前記送信処理を実行する請求項１〜６のいずれか１項に記載の失火検出装置。
【請求項８】
請求項１〜７のいずれか１項に記載の失火検出装置における前記実行装置および前記記憶装置を備え、
前記実行装置は、前記車両に搭載される第１実行装置であり、
車載装置とは別の第２実行装置を備え、
前記第２実行装置は、前記送信処理によって送信されたデータを受信する受信処理と、前記受信処理によって受信したデータに基づき、前記第２写像を再学習させるデータである再学習データを生成する再学習データ生成処理と、前記再学習データ生成処理によって生成された再学習データに基づき、前記第２写像データを再学習させる再学習処理と、を実行する失火検出システム。
【請求項９】
前記再学習データ生成処理は、
前記受信処理によって受信されたデータを表示装置に表示させる表示処理と、
前記第２写像の出力値に誤りがあるか否かの情報を取り込む妥当性判定結果取込処理と、
前記妥当性判定結果取込処理によって取り込まれた情報に基づき、前記第２写像データを更新するためのデータを生成する処理と、を含む請求項８記載の失火検出システム。
【請求項１０】
前記記憶装置は、前記車両に搭載される第１記憶装置であり、車載装置とは別の第２記憶装置を備え、
前記第２記憶装置には、前記クランク角センサの検出値に基づく第３入力データを入力とし前記内燃機関の失火の有無に関する変数である第３失火変数の値を出力する第３写像を規定する第３写像データが記憶されており、
前記再学習データ生成処理は、
前記受信処理によって受信されたデータを前記第３写像に入力して前記第３失火変数の値を算出する第３算出処理と、
前記第３算出処理の算出結果と前記第２算出処理の算出結果との整合性の有無に基づき、前記第２写像データを更新するためのデータを生成する処理と、を含む請求項８記載の失火検出システム。
【請求項１１】
請求項８〜１０のいずれか１項に記載の前記第２実行装置を備えるデータ解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、失火検出装置、失火検出システムおよびデータ解析装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、回転速度の変化量である回転変動量を入力とし、内燃機関の複数の気筒のそれぞれで失火が生じたか否かを示す値を出力するニューラルネットワークを備えた装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−９１３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、一般に機械学習によって学習された学習済みモデルの信頼性を高めるうえでは、様々な状況における訓練データを用いて学習させておく必要がある。しかし、車両に搭載する以前においては、実際に車両に搭載された場合に生じうる様々な状況について必ずしも十分な訓練データを得られるとは限らない。そして、十分な訓練データが得られない場合には、上記ニューラルネットワークが車両に搭載された場合に様々な状況で正しい値を出力するか否かを、検証することが困難である。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．実行装置と、記憶装置と、を備え、前記記憶装置には、車両に搭載される内燃機関のクランク角センサの検出値に基づく第１入力データを入力とし前記内燃機関の失火の有無に関する変数である第１失火変数の値を出力する第１写像を規定する第１写像データと、前記クランク角センサの検出値に基づく第２入力データを入力とし前記内燃機関の失火の有無に関する変数である第２失火変数の値を出力する第２写像を規定して且つ機械学習によって学習されたデータを含む第２写像データとが記憶されており、前記実行装置は、前記第１入力データを取得する第１取得処理と、前記第１取得処理によって取得された前記第１入力データを前記第１写像の入力として前記第１失火変数の値を算出する第１算出処理と、前記第２入力データを取得する第２取得処理と、前記第２取得処理によって取得された前記第２入力データを前記第２写像の入力として前記第２失火変数の値を算出する第２算出処理と、前記第２算出処理の算出結果と前記第１算出処理の算出結果とが整合するか否かを判定する判定処理と、前記判定処理によって整合しないと判定される連続回数をカウントするカウント処理と、所定期間において前記カウント処理によってカウントされた連続回数のうちの最大回数に対応する前記第２失火変数の値に関するデータと、該第２失火変数の値の算出に用いた前記第２入力データに関するデータと、を前記車両の外部に送信する送信処理と、を実行する失火検出装置である。
【０００６】
上記構成では、第２算出処理の算出結果と第１算出処理の算出結果とが整合しないと判定されるときの第２失火変数の値に関するデータと、同第２失火変数の値を算出するために用いた第２入力データに関するデータとを、車両の外部に送信する。この送信処理は、車両に搭載された失火検出装置が実行することから、様々な状況におけるデータを送信可能である。したがって、上記構成では、車両の外部において、様々な状況における第２失火変数の値が正しいか否かを検証することが可能となる。
【０００７】
ところで、たとえば第２算出処理の算出結果と第１算出処理の算出結果とが整合しないと判定される場合、それが単発である場合と連続している場合とでは、連続している場合の方が、第１写像と第２写像との信頼性に差がある確率が高い。そのため、連続して整合しないと判定される場合におけるその時の第２入力データに関するデータには、整合していないと単発的に判定された場合におけるその時の第２入力データに関するデータと比較して、第２写像の信頼性を検証するうえでより有益な情報が含まれている可能性が高い。そこで上記構成では、整合しないと判定される連続回数が最大回数となるときの第２失火変数の値に関するデータと、その値の算出に用いた第２入力データに関するデータとを送信する。これにより、所定期間内において整合しないと判定される場合に対応する第２入力データに関するデータの全てを送信する場合と比較して送信データ量を低減しつつも、有益な情報を送信することができる。
【０００８】
２．前記送信処理は、前記最大回数に対応する前記第２失火変数の値のうちの所定個数の値に関するデータと、該値のそれぞれの算出に用いた前記第２入力データに関するデータとに加えて、前記最大回数に関するデータを送信する処理を含む上記１記載の失火検出装置である。
【０００９】
上記構成では、最大回数に対応する第２失火変数の値が所定個数を超える場合であっても、整合しないと判定されるときの第２失火変数の値のうちの送信対象とされる値を所定個数に制限することにより、送信データ量を軽減できる。しかも、最大回数に関するデータをさらに送信することにより、最大回数に対応する第２失火変数の値が所定個数を超える場合に、最大回数に関するデータを送信しない場合と比較して、生じている状況を特定するより詳細な情報を提供できる。
【００１０】
３．前記第２入力データは、前記内燃機関の圧縮上死点の出現間隔よりも小さい角度間隔における前記内燃機関のクランク軸の回転速度である瞬時速度の互いに異なる前記角度間隔における値同士の相違に関する情報を含む変数である回転波形変数であり、前記第２失火変数の値の算出に用いた前記第２入力データに関するデータは、前記判定処理によって整合しないと判定されたときの前記第２失火変数の値の算出に用いられた前記回転波形変数が示す前記瞬時速度同士の相違に関する情報が含まれる前記角度間隔のそれぞれにおける前記瞬時速度を示す変数である瞬時速度変数であり、前記送信処理による送信対象となるデータには、前記算出に用いられた前記回転波形変数が示す前記瞬時速度同士の相違に関する情報が含まれる前記角度間隔とは時系列的に前または後に生じた複数の前記角度間隔のそれぞれにおける前記瞬時速度変数が含まれる上記２記載の失火検出装置である。
【００１１】
上記構成では、第２失火変数の値の算出に用いた回転波形変数に対応する瞬時速度変数のみならず、同瞬時速度変数と時系列的に前後する瞬時速度変数が送信処理によって送信される。これにより、第２失火変数の値の算出に用いた回転波形変数に対応する瞬時速度変数のみが送信される場合と比較すると、車両の外部に、クランク軸の回転挙動についてのより詳細な情報を提供することができる。
【００１２】
４．前記角度間隔は、第２間隔であり、前記回転波形変数は、前記第２間隔よりも大きい第１間隔に含まれる連続する複数の前記第２間隔のそれぞれにおける前記瞬時速度変数自体によってそれら前記瞬時速度変数同士の差を示す変数として構成された時系列データであり、前記送信処理によって送信される前記データは、前記判定処理によって整合しないと判定されるときの前記第１間隔に含まれる前記複数の前記第２間隔のそれぞれにおける前記瞬時速度変数に加えて、当該第１間隔に隣接して且つ連続する複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を含む上記３記載の失火検出装置である。
【００１３】
上記構成では、第１間隔とこれに隣接する間隔との双方に関する、連続する複数の第２間隔のそれぞれにおける瞬時速度変数が送信処理によって送信されることから、間欠的な間隔の瞬時速度変数のみを送信する場合と比較して、クランク軸の回転挙動についてのより詳細な情報を提供することができる。
【００１４】
５．前記送信処理によって送信される前記データは、前記判定処理によって整合しないと判定されるときにおける前記第２失火変数の値の算出に用いた前記回転波形変数に関する前記瞬時速度変数に加えて、前記判定処理によって整合していると判定されるときにおける前記瞬時速度変数を含む上記３または４記載の失火検出装置である。
【００１５】
上記構成では、整合していると判定しているときにおける瞬時速度変数をも送信対象とすることにより、整合していないと判定されるときにおける瞬時速度変数のみを送信する場合と比較して、クランク軸の回転挙動がどのような場合に整合しなくなるのかを見極めやすい。
【００１６】
６．前記送信処理によって送信される前記データは、前記判定処理によって整合しないと判定されるときにおける前記瞬時速度変数と、前記判定処理によって整合しないと判定される状態から整合していると判定される状態に移行した際の当該整合していると判定される状態における前記瞬時速度変数とを含む上記５記載の失火検出装置である。
【００１７】
上記構成では、判定処理によって整合しないと判定される状態から整合していると判定される状態に移行した際の当該整合していると判定される状態における瞬時速度変数を送信対象とする。これにより、整合していない状態から整合している状態へと復帰する前後のクランク軸の回転挙動の情報を提供できることから、整合していないと判定されるときにおける瞬時速度変数のみを送信する場合と比較して、クランク軸の回転挙動がどのような場合に整合しなくなるのかを見極めやすい。
【００１８】
７．前記実行装置は、前記車両の走行の終了時のうちの時系列的に互いに隣接する一対の終了時の時間間隔を前記所定期間とし、前記車両の走行の終了時に前記送信処理を実行する上記１〜６のいずれか１つに記載の失火検出装置である。
【００１９】
上記構成では、送信処理を車両の走行の終了時に実行することにより、車両走行時に送信処理を実行する場合と比較して、車両の走行時における失火検出装置の演算負荷を軽減できる。
【００２０】
８．上記１〜７のいずれか１つに記載の前記実行装置は、前記車両に搭載される第１実行装置であり、前記第１実行装置と、車載装置とは別の第２実行装置と、前記記憶装置と、を備え、前記第２実行装置は、前記送信処理によって送信されたデータを受信する受信処理と、前記受信処理によって受信したデータに基づき、前記第２写像を再学習させるデータである再学習データを生成する再学習データ生成処理と、前記再学習データ生成処理によって生成された再学習データに基づき、前記第２写像データを再学習させる再学習処理と、を実行する失火検出システムである。
【００２１】
上記構成では、整合しないと判定された際の第２写像への入力データに基づき、第２写像データを再学習させることができることから、第２写像を、車両の様々な状況において精度の良い値を出力するものとすることが可能となる。なお、第２実行装置が車載装置とは別の装置であることは、第２実行装置が車載装置ではないことを意味する。
【００２２】
９．前記再学習データ生成処理は、前記受信処理によって受信されたデータを表示装置に表示させる表示処理と、前記第２写像の出力値に誤りがあるか否かの情報を取り込む妥当性判定結果取込処理と、前記妥当性判定結果取込処理によって取り込まれた情報に基づき、前記第２写像データを更新するためのデータを生成する処理と、を含む上記８記載の失火検出システムである。
【００２３】
上記構成では、送信処理によって送信された第２写像への入力データ等の情報を表示装置に表示することにより、第１写像および第２写像とは別に、第２入力データの情報等から失火の有無を判定しうる主体によって、第２写像の出力の妥当性について検討することができる。そして、妥当性判定結果取込処理によって同主体による判定結果を取り込むことにより、表示対象となった入力データを、第２写像データを更新するための再学習データとすべきかを定めることができる。
【００２４】
１０．前記記憶装置は、前記車両に搭載される第１記憶装置であり、車載装置とは別の第２記憶装置を備え、前記第２記憶装置には、前記クランク角センサの検出値に基づく第３入力データを入力とし前記内燃機関の失火の有無に関する変数である第３失火変数の値を出力する第３写像を規定する第３写像データが記憶されており、前記再学習データ生成処理は、前記受信処理によって受信されたデータを前記第３写像に入力して前記第３失火変数の値を算出する第３算出処理と、前記第３算出処理の算出結果と前記第２算出処理の算出結果との整合性の有無に基づき、前記第２写像データを更新するためのデータを生成する処理と、を含む上記８記載の失火検出システムである。
【００２５】
上記構成では、第３出力値と第２出力値との整合性の有無を判定することにより、第２出力値の妥当性を検証することができ、ひいては再学習用のデータとすべきか否かを判定することができる。なお、第２記憶装置が車載装置とは別の装置であることは、第２記憶装置が車載装置ではないことを意味する。
【００２６】
１１．上記８〜１０のいずれか１つに記載の前記第２実行装置を備えるデータ解析装置である。
【図面の簡単な説明】
【００２７】
【図１】第１の実施形態にかかる学習制御システムの構成を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図３】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図４】（ａ）および（ｂ）は、同実施形態にかかるシステムが実行する処理の手順を示す流れ図。
【図５】同実施形態にかかる送信データを示す図。
【図６】同実施形態にかかる最大値Ｃ０の推移を示すタイムチャート。
【図７】第２の実施形態にかかる学習制御システムの構成を示す図。
【図８】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図９】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図１０】（ａ）および（ｂ）は、同実施形態にかかるシステムが実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【００２８】
＜第１の実施形態＞
以下、失火検出システムにかかる第１の実施形態について図面を参照しつつ説明する。
図１に示す車両ＶＣ１に搭載された内燃機関１０において、吸気通路１２には、スロットルバルブ１４が設けられている。吸気通路１２から吸入された空気は、吸気バルブ１６が開弁することによって各気筒＃１〜＃４の燃焼室１８に流入する。燃焼室１８には、燃料噴射弁２０によって燃料が噴射される。燃焼室１８において、空気と燃料との混合気は、点火装置２２の火花放電によって燃焼に供され、燃焼によって生じたエネルギは、クランク軸２４の回転エネルギとして取り出される。燃焼に供された混合気は、排気バルブ２６の開弁に伴って、排気として、排気通路２８に排出される。排気通路２８には、酸素吸蔵能力を有した触媒３０が設けられている。
【００２９】
内燃機関１０のクランク軸２４には、トルクコンバータ５０を介して変速装置５４の入力軸５６が連結可能となっている。トルクコンバータ５０は、ロックアップクラッチ５２を備えており、ロックアップクラッチ５２が締結状態となることにより、クランク軸２４と入力軸５６とが連結される。変速装置５４の出力軸５８には、駆動輪６０が機械的に連結されている。
【００３０】
クランク軸２４には、クランク軸２４の複数個の回転角度のそれぞれを示す歯部４２が設けられたクランクロータ４０が結合されている。なお、本実施形態では、３４個の歯部４２を例示している。クランクロータ４０には、基本的には、１０°ＣＡ間隔で歯部４２が設けられているものの、隣接する歯部４２間の間隔が３０°ＣＡとなる箇所である欠け歯部４４が１箇所設けられている。これは、クランク軸２４の基準となる回転角度を示すためのものである。
【００３１】
制御装置７０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御するために、スロットルバルブ１４や、燃料噴射弁２０、点火装置２２等の内燃機関１０の操作部を操作する。また、制御装置７０は、トルクコンバータ５０を制御対象とし、その制御量であるロックアップクラッチ５２の係合状態を制御するためにロックアップクラッチ５２を操作する。また、制御装置７０は、変速装置５４を制御対象とし、その制御量であるギア比を制御するために変速装置５４を操作する。なお、図１には、スロットルバルブ１４、燃料噴射弁２０、点火装置２２、ロックアップクラッチ５２、および変速装置５４のそれぞれの操作信号ＭＳ１〜ＭＳ５を記載している。
【００３２】
制御装置７０は、制御量の制御に際し、欠け歯部４４を除き１０°ＣＡ毎に設けられた歯部４２間の角度間隔毎のパルスを出力するクランク角センサ８０の出力信号Ｓｃｒや、エアフローメータ８２によって検出される吸入空気量Ｇａを参照する。また、制御装置７０は、水温センサ８４によって検出される内燃機関１０の冷却水の温度である水温ＴＨＷや、外気温センサ８６によって検出される外気温Ｔａ、シフト位置センサ８８によって検出される変速装置５４のシフト位置Ｖｓｆｔを参照する。
【００３３】
制御装置７０は、ＣＰＵ７２、ＲＯＭ７４、電気的に書き換え可能な不揮発性メモリである記憶装置７６、通信機７７および周辺回路７８を備え、それらがローカルネットワーク７９によって通信可能とされたものである。なお、周辺回路７８は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。また、記憶装置７６には、実用写像データ７６ａおよび評価写像データ７６ｂが記憶されている。ここで、実用写像データ７６ａは、内燃機関１０の失火を監視するために実際に利用しているデータである。これに対し、評価写像データ７６ｂは、その信頼性の評価の対象となるデータであり、内燃機関１０の失火を監視するために利用されているものではない。なお、評価写像データ７６ｂは、機械学習による学習がある程度なされた状態で制御装置７０に実装される。
【００３４】
制御装置７０は、ＲＯＭ７４に記憶されたプログラムをＣＰＵ７２が実行することによって、上記制御量の制御を実行する。詳しくは、ＲＯＭ７４には、失火検出プログラム７４ａや、再学習サブプログラム７４ｂが記憶されている。ここで、再学習サブプログラム７４ｂは、評価写像データ７６ｂの再学習を実行するためのプログラムである。
【００３５】
上記通信機７７は、車両ＶＣ１の外部のネットワーク１１０を介してデータ解析センター１００と通信するための機器である。
データ解析センター１００は、複数の車両ＶＣ１，ＶＣ２，…から送信されるデータを解析する。データ解析センター１００は、ＣＰＵ１０２、ＲＯＭ１０４、記憶装置１０６、通信機１０７、および周辺回路１０８を備えており、それらがローカルネットワーク１０９によって通信可能とされるものである。ＲＯＭ１０４には、複数の車両ＶＣ１，ＶＣ２，…から送信されたデータに基づき、評価写像データ７６ｂを再学習させるためのデータを生成する処理を規定する再学習メインプログラム１０４ａが記憶されている。また、記憶装置１０６には、複数の車両ＶＣ１，ＶＣ２，…から送信された、評価写像データ７６ｂによって規定される写像を再学習させるためのデータである再学習用データ１０６ａが記憶されている。
【００３６】
図２に、ＲＯＭ７４に記憶された失火検出プログラム７４ａをＣＰＵ７２が実行することによって実現される処理の一部を示す。図２に示す処理は、実用写像データ７６ａを利用した処理である。図２に示す処理は、たとえば所定周期で繰り返し実行される。なお、以下では、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を表現する。
【００３７】
図２に示す一連の処理において、ＣＰＵ７２は、まず、微小回転時間Ｔ３０を取得する（Ｓ１０）。微小回転時間Ｔ３０は、クランク軸２４が３０°ＣＡ回転するのに要する時間であり、クランク角センサ８０の出力信号Ｓｃｒに基づき、ＣＰＵ７２によって算出される。次にＣＰＵ７２は、Ｓ１０の処理において取得した最新の微小回転時間Ｔ３０を、微小回転時間Ｔ３０［０］とし、より過去の値ほど、微小回転時間Ｔ３０［ｍ］の変数「ｍ」を大きい値とする（Ｓ１２）。すなわち、「ｍ＝１，２，３，…」として、Ｓ１２の処理がなされる直前における微小回転時間Ｔ３０［ｍ−１］を微小回転時間Ｔ３０［ｍ］とする。これにより、たとえば、図２の処理が前回実行されたときにＳ１０の処理により取得された微小回転時間Ｔ３０は、微小回転時間Ｔ３０［１］となる。なお、微小回転時間Ｔ３０［０］，Ｔ３０［１］，Ｔ３０［２］，…のうち、時系列的に隣り合う微小回転時間Ｔ３０同士は、互いに隣接する３０°ＣＡの角度間隔の回転に要する時間を示しており、それら角度間隔は重複した部分を持たない。
【００３８】
次に、ＣＰＵ７２は、Ｓ１０の処理において取得された微小回転時間Ｔ３０が、気筒＃１〜＃４のいずれかの圧縮上死点前３０°ＣＡから圧縮上死点までの角度間隔の回転に要する時間であるか否かを判定する（Ｓ１４）。そしてＣＰＵ７２は、圧縮上死点までの角度間隔の回転に要する時間であると判定する場合（Ｓ１４：ＹＥＳ）、圧縮上死点となった気筒の失火の有無を判定すべく、判定対象となる気筒＃ｉの回転変動量Δω（ｉ）に、「Ｔ３０［０］−Ｔ３０［６］」を代入する（Ｓ１６）。すなわち、失火の判定対象となる気筒の圧縮上死点前３０°ＣＡから圧縮上死点までの角度間隔の回転に要する時間から、失火の判定対象となる気筒の１つ前に圧縮上死点となる気筒の圧縮上死点前３０°ＣＡから圧縮上死点までの角度間隔の回転に要する時間を減算することによって、回転変動量Δωを定量化する。
【００３９】
次に、ＣＰＵ７２は、回転変動量Δω（ｉ）が、規定量Δωｔｈ以上であるか否かを判定する（Ｓ１８）。この処理は、失火の判定対象となる気筒において失火が生じたか否かを判定する処理である。ここで、ＣＰＵ７２は、規定量Δωｔｈを、回転速度ＮＥおよび充填効率ηに基づき可変設定する。
【００４０】
詳しくは、回転速度ＮＥおよび充填効率ηを入力変数とし規定量Δωｔｈを出力変数とするマップデータが記憶装置７６に予め記憶された状態でＣＰＵ７２により規定量Δωｔｈがマップ演算される。なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とするのに対し、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００４１】
ちなみに、回転速度ＮＥは、ＣＰＵ７２によりクランク角センサ８０の出力信号Ｓｃｒに基づき算出される。ここで、回転速度ＮＥは、圧縮上死点の出現間隔（本実施形態では１８０°ＣＡ）よりも大きい角度間隔だけクランク軸２４が回転する際の回転速度の平均値である。回転速度ＮＥは、クランク軸２４の１回転以上の回転角度だけクランク軸２４が回転する際の回転速度の平均値とすることが望ましい。なお、ここでの平均値は、単純平均に限らず、たとえば、指数移動平均処理でもよく、要は、圧縮上死点の出現間隔程度で変動する高次成分が除去された低周波成分が算出されるものとすればよい。また、充填効率ηは、ＣＰＵ７２により、回転速度ＮＥおよび吸入空気量Ｇａに基づき算出される。
【００４２】
Ｓ１６，Ｓ１８の処理は、実用写像データ７６ａを用いた処理である。すなわち、実用写像データ７６ａは、微小回転時間Ｔ３０［０］と微小回転時間Ｔ３０［６］とを入力とし、判定対象となる気筒において失火が生じたか否かに応じた論理値を出力値として出力する写像を規定している。なお、ここでの論理値は、回転変動量Δω（ｉ）が規定量Δωｔｈ以上である旨の命題が真であるか偽であるかに関する値である。
【００４３】
ＣＰＵ７２は、規定量Δωｔｈ以上であると判定する場合（Ｓ１８：ＹＥＳ）、気筒＃ｉにおいて失火が生じたと判定する（Ｓ２０）。次に、ＣＰＵ７２は、気筒＃ｉの失火カウンタＣＮ（ｉ）をインクリメントする（Ｓ２２）。そしてＣＰＵ７２は、失火カウンタＣＮ（ｉ）が初期化されている状態でＳ１８の処理が最初に実行されてから所定期間が経過することと、後述のＳ２８の処理がなされてから所定期間が経過することとの論理和が真であるか否かを判定する（Ｓ２４）。そしてＣＰＵ７２は、論理和が真であると判定する場合（Ｓ２４：ＹＥＳ）、失火カウンタＣＮ（ｉ）が閾値ＣＮｔｈ以上であるか否かを判定する（Ｓ２６）。ＣＰＵ７２は、閾値ＣＮｔｈ未満であると判定する場合（Ｓ２６：ＮＯ）、失火カウンタＣＮ（ｉ）を初期化する（Ｓ２８）。
【００４４】
これに対し、ＣＰＵ７２は、閾値ＣＮｔｈ以上であると判定する場合（Ｓ２６：ＹＥＳ）、図１に示す警告灯９０を操作して、異常が生じた旨をユーザに報知する（Ｓ３０）。
なお、ＣＰＵ７２は、Ｓ２８，Ｓ３０の処理が完了する場合や、Ｓ１４，Ｓ２４の処理において否定判定する場合には、図２に示す一連の処理を一旦終了する。
【００４５】
図３に、ＲＯＭ７４に記憶された失火検出プログラム７４ａをＣＰＵ７２が実行することにより実現される処理の一部の手順を示す。図３に示す処理は、評価写像データ７６ｂを用いた処理である。
【００４６】
図３に示す一連の処理において、ＣＰＵ７２は、まず、微小回転時間Ｔ３０（１），Ｔ３０（２），…Ｔ３０（２４）、回転速度ＮＥおよび充填効率ηを取得する（Ｓ４０）。ここで、微小回転時間Ｔ３０（１），Ｔ３０（２），…は、図２の微小回転時間Ｔ３０［１］，Ｔ３０［２］…とは異なるものであり、特に、微小回転時間Ｔ３０（１），Ｔ３０（２），…は、カッコの中の数字が大きいほど、より後の値であることを示す。なお、微小回転時間Ｔ３０（１）〜Ｔ３０（２４）のそれぞれは、７２０°ＣＡの回転角度領域を３０°ＣＡで等分割した２４個の角度間隔のそれぞれにおける回転時間である。
【００４７】
次にＣＰＵ７２は、評価写像データ７６ｂによって規定される写像の入力変数ｘ（１）〜ｘ（２６）に、Ｓ４０の処理によって取得した値を代入する（Ｓ４２）。詳しくは、ＣＰＵ７２は、「ｓ＝１〜２４」として、入力変数ｘ（ｓ）に微小回転時間Ｔ３０（ｓ）を代入する。すなわち、入力変数ｘ（１）〜ｘ（２４）は、微小回転時間Ｔ３０の時系列データとなる。また、ＣＰＵ７２は、入力変数ｘ（２５）に回転速度ＮＥを代入し、入力変数ｘ（２６）に充填効率ηを代入する。
【００４８】
次にＣＰＵ７２は、評価写像データ７６ｂによって規定される写像に、入力変数ｘ（１）〜ｘ（２６）を入力することによって、失火変数Ｐ（１）〜Ｐ（５）の値を算出する（Ｓ４４）。ここで、「ｉ＝１〜４」とすると、失火変数Ｐ（ｉ）は、気筒＃ｉにおいて失火が生じた確率が高い場合に低い場合よりも大きい値となる変数である。また、失火変数Ｐ（５）は、気筒＃１〜＃４のいずれにおいても失火が生じていない確率が高い場合に低い場合よりも大きい値となる変数である。
【００４９】
詳しくは、評価写像データ７６ｂによって規定される写像は、中間層が１層のニューラルネットワークである。上記ニューラルネットワークは、係数ｗ（１）ｊｉ（ｊ＝０〜ｎ，ｉ＝０〜２６）と、係数ｗ（１）ｊｉによって規定される線形写像の出力のそれぞれを非線形変換する非線形写像としての活性化関数ｈ１（ｘ）とを含む。本実施形態では、活性化関数ｈ１（ｘ）として、ハイパボリックタンジェントを例示する。ちなみに、ｗ（１）ｊ０等は、バイアスパラメータであり、入力変数ｘ（０）は、「１」と定義されている。
【００５０】
また、上記ニューラルネットワークは、係数ｗ（２）ｋｊ（ｋ＝１〜５，ｊ＝０〜ｎ）と、係数ｗ（２）ｋｊによって規定される線形写像の出力である原型変数ｙ（１）〜ｙ（５）のそれぞれを入力として、失火変数Ｐ（１）〜Ｐ（５）を出力するソフトマックス関数とを含む。
【００５１】
次にＣＰＵ７２は、失火変数Ｐ（１）〜Ｐ（５）のうちの最大となるものを特定する（Ｓ４６）。そしてＣＰＵ７２は、最大となる失火変数Ｐ（ｑ）が失火変数Ｐ（１）〜Ｐ（４）のいずれかであるか、それとも失火変数Ｐ（５）であるかを判定する（Ｓ４８）。そしてＣＰＵ７２は、失火変数Ｐ（１）〜Ｐ（４）のいずれかであると判定する場合（Ｓ４８：ＹＥＳ）、気筒＃ｑが失火であると判定する（Ｓ５０）。
【００５２】
なお、ＣＰＵ７２は、Ｓ５０の処理が完了する場合や、Ｓ４８の処理において否定判定する場合には、図３に示した一連の処理を一旦終了する。
図４に、本実施形態にかかる評価写像データ７６ｂの再学習に関する処理の手順を示す。図４（ａ）に示す処理は、図１に示すＲＯＭ７４に記憶されている再学習サブプログラム７４ｂをＣＰＵ７２が実行することにより実現される。また、図４（ｂ）に示す処理は、ＲＯＭ１０４に記憶されている再学習メインプログラム１０４ａをＣＰＵ１０２が実行することにより実現される。以下では、再学習処理の時系列に沿って、図４に示す処理を説明する。
【００５３】
図４（ａ）に示す一連の処理において、ＣＰＵ７２は、まず、評価写像データ７６ｂの信頼性の検証期間であるか否かを判定する（Ｓ６０）。具体的には、本実施形態では、以下の期間を検証期間としている。
【００５４】
（ア）水温ＴＨＷが所定温度以下の期間：水温ＴＨＷが低い場合には、燃焼が不安定となりやすく、失火の検出精度を高めることが水温ＴＨＷが高い場合と比較して困難であることから、この期間を検証期間に含める。
【００５５】
（イ）外気温Ｔａが規定温度以下の期間：外気温Ｔａが低い場合には、燃焼が不安定となりやすく、失火の検出精度を高めることが外気温Ｔａが高い場合と比較して困難であることから、この期間を検証期間に含める。
【００５６】
（ウ）触媒３０の暖機処理の実行期間：触媒３０の暖機処理の実行期間においては、燃焼効率を低下させた燃焼をすることから、燃焼が不安定化しやすく、失火の検出精度を高めることが触媒３０の暖機後と比較して困難であることから、この期間を検証期間に含める。
【００５７】
（エ）充填効率ηが所定値以下である期間：軽負荷においては負荷が高い場合と比較して、燃焼が不安定化し易く、失火の検出精度を高めることが中、高負荷と比較して困難であることから、この期間を検証期間に含める。
【００５８】
（オ）回転速度ＮＥの所定時間当たりの変化量ΔＮＥが所定値以上となる期間：過渡運転時には、定常運転時と比較して、失火の検出精度が低下しやすいことから、この期間を検証期間に含める。
【００５９】
ＣＰＵ７２は、検証期間であると判定する場合（Ｓ６０：ＹＥＳ）、フラグＦが「１」であるか否かを判定する（Ｓ６２）。ここで、フラグＦは、図２に示す処理による失火の判定結果と、図３に示す処理による失火の判定結果とが不一致となる場合に「１」となり、一致する場合に「０」となる。ＣＰＵ７２は、フラグＦが「０」であると判定する場合（Ｓ６２：ＮＯ）、図２に示す処理による失火の判定結果と、図３に示す処理による失火の判定結果とが不一致であるか否かを判定する（Ｓ６４）。ＣＰＵ７２は、同一の燃焼サイクルにおける図２のＳ１８の処理による４回の判定結果と、図３のＳ４６の処理の結果とが不整合の場合に、不一致と判定する。すなわち、ＣＰＵ７２は、たとえばＳ１８の処理において、気筒＃１の回転変動量Δω（１）が規定量Δωｔｈ以上であると判定されたにもかかわらず、Ｓ４６の処理において、Ｐ（５）が選択された場合に不一致と判定する。
【００６０】
ＣＰＵ７２は、不一致と判定する場合（Ｓ６４：ＹＥＳ）、フラグＦに「１」を代入する（Ｓ６６）。次にＣＰＵ７２は、カウンタＣをインクリメントする（Ｓ６８）。
これに対し、ＣＰＵ７２は、フラグＦが「１」であると判定する場合（Ｓ６２：ＹＥＳ）、図２に示す処理による失火の判定結果と、図３に示す処理による失火の判定結果とが一致するか否かを判定する（Ｓ７０）。そして、ＣＰＵ７２は、不一致と判定する場合（Ｓ７０：ＮＯ）、Ｓ６８の処理に移行する一方、一致すると判定する場合（Ｓ７０：ＹＥＳ）、フラグＦに「０」を代入する（Ｓ７２）。そして、ＣＰＵ７２は、カウンタＣが、最大値Ｃ０よりも大きいか否かを判定する（Ｓ７４）。最大値Ｃ０は、実用写像データ７６ａを用いた判定結果と評価写像データ７６ｂを用いた判定結果とが整合しないと判定される連続回数の最大回数である。そしてＣＰＵ７２は、最大値Ｃ０よりも大きいと判定する場合（Ｓ７４：ＹＥＳ）、最大値Ｃ０を、現在のカウンタＣの値に更新するとともに、回転時間集合ＧｒＴ３０およびエクストラ情報集合ＧｒＥを更新する（Ｓ７６）。
【００６１】
詳しくは、回転時間集合ＧｒＴ３０は、図５に示すように、３燃焼サイクル分の微小回転時間Ｔ３０（１）〜Ｔ３０（７２）の集合である。ただし、微小回転時間Ｔ３０（４９）〜Ｔ３０（７２）が、直近のＳ７０の処理によって、図２の示す処理による失火の判定結果と図３に示す処理による失火の判定結果とが一致したと判定された燃焼サイクルに対応するように更新される。ここで、最大値Ｃ０が「２」以上の場合、微小回転時間Ｔ３０（１）〜Ｔ３０（２４）と、微小回転時間Ｔ３０（２５）〜Ｔ３０（４８）とは、いずれも、図２の処理による失火の判定結果と図３に示す処理による失火の判定結果とが異なった燃焼サイクルに対応する。なお、最大値Ｃ０の初期値は、ゼロである。
【００６２】
また、エクストラ情報集合ＧｒＥは、回転速度ＮＥ、充填効率η、触媒３０の暖機処理の実行の有無を示す暖機制御変数Ｖｃａｔ、外気温Ｔａ、水温ＴＨＷ、変速装置５４のシフト位置Ｖｓｆｔ、およびロックアップクラッチ５２の係合状態を示す変数である係合変数Ｖｒｃからなる。それら各変数は、Ｓ７０の処理において肯定判定された燃焼サイクルの前の燃焼サイクルにおける値であることが望ましい。エクストラ情報集合ＧｒＥは、評価写像データ７６ｂによって規定される写像への入力である動作点変数としての回転速度ＮＥおよび充填効率ηに加えて、失火の有無に応じたクランク軸２４の回転挙動に影響を与える変数の集合である。すなわち、ロックアップクラッチ５２の係合状態やシフト位置Ｖｓｆｔに応じて、クランク軸２４から駆動輪６０までの慣性定数が互いに異なることから、クランク軸２４の回転挙動が異なったものとなる。また、暖機制御変数Ｖｃａｔや、外気温Ｔａ、水温ＴＨＷは、燃焼状態が安定しているか否かを示す変数である。
【００６３】
図４に戻り、ＣＰＵ７２は、Ｓ７６の処理が完了する場合や、Ｓ７４の処理において否定判定する場合には、カウンタＣを初期化する（Ｓ７９）。そして、ＣＰＵ７２は、Ｓ６８，Ｓ７９の処理が完了する場合や、Ｓ６０，Ｓ６４の処理において否定判定する場合には、トリップの終了時であるか否かを判定する（Ｓ７８）。ここで、トリップとは、車両の走行許可信号がオン状態である１回の期間のことである。本実施形態において、走行許可信号は、イグニッション信号に相当する。ＣＰＵ７２は、トリップの終了時であると判定する場合（Ｓ７８：ＹＥＳ）、通信機７７を操作して、失火変数Ｐ（１）〜Ｐ（５）のうちの最大となるものに関する情報「ｑ」、最大値Ｃ０、回転時間集合ＧｒＴ３０、およびエクストラ情報集合ＧｒＥをデータ解析センター１００に送信する（Ｓ８０）。
【００６４】
このように、本実施形態では、１トリップに１回、最大値Ｃ０に対応する２燃焼サイクル分の微小回転時間Ｔ３０と、同燃焼サイクルに隣接する１燃焼サイクル分の微小回転時間Ｔ３０とを送信する。これは、実用写像データ７６ａを用いた判定結果と評価写像データ７６ｂを用いた判定結果とが整合しない連続回数が大きい場合には単発的に整合しない場合等と比較して、評価写像データ７６ｂの信頼性を検証するうえで有益な情報が含まれている可能性が高いと考えられるためである。そのため、１トリップ内の、整合しないと判定された燃焼サイクル全ての微小回転時間Ｔ３０を送信するよりも、送信データ量を低減しつつも、有益な情報を送信することが可能となる。なお、最大値Ｃ０は、新たなトリップの開始時に初期化される。
【００６５】
これに対し、図４（ｂ）に示すように、ＣＰＵ１０２は、失火変数Ｐ（１）〜Ｐ（５）のうちの最大となるものに関する情報「ｑ」や、最大値Ｃ０、回転時間集合ＧｒＴ３０、およびエクストラ情報集合ＧｒＥを受信する（Ｓ９０）。そしてＣＰＵ１０２は、図１に示す表示装置１１２に、回転時間集合ＧｒＴ３０によって表現されるクランク軸２４の回転挙動に関する波形データを表示するとともに、失火変数Ｐ（１）〜Ｐ（５）のうちの最大となるものに関する情報「ｑ」や、最大値Ｃ０、エクストラ情報集合ＧｒＥを表示する（Ｓ９２）。これは、熟練者が失火が生じているか否かを判断可能な情報を熟練者に提供する処理である。すなわち、熟練者であれば、波形データを視認することによって、失火が生じていたのか否かを高精度に判断できる。そしてその際、エクストラ情報集合ＧｒＥの情報を参照することにより、失火が生じていたのか否かの判断がより確実なものとなる。これにより、熟練者は、失火が生じていたのか否かの判断に基づき、評価写像データ７６ｂを用いた失火判定が誤判定であったか否かを判断できる。
【００６６】
ＣＰＵ１０２は、図１に示すインターフェース１１４を熟練者が操作することによって判断結果が入力されると、これを取得する（Ｓ９４）。そして、ＣＰＵ１０２は、インターフェース１１４の操作によって入力された判断結果が、評価写像データ７６ｂを用いた失火判定の方が誤判定である旨の判断であるか否かを判定する（Ｓ９６）。そしてＣＰＵ１０２は、誤判定である旨の判断である場合（Ｓ９６：ＹＥＳ）、Ｓ９０の処理によって受信したデータのうち、少なくとも微小回転時間Ｔ３０（２５）〜Ｔ３０（４８）と、回転速度ＮＥおよび充填効率ηと、熟練者による失火であるか否かの判断結果とを、再学習用データ１０６ａとして記憶する（Ｓ９８）。再学習用データ１０６ａは、車両ＶＣ１のみならず、内燃機関１０と同一仕様の内燃機関を搭載した他の車両ＶＣ２，…から受信したデータに基づくデータを含む。
【００６７】
次にＣＰＵ１０２は、記憶装置１０６に記憶された再学習用データ１０６ａが所定量以上であるか否かを判定する（Ｓ１００）。そして、ＣＰＵ１０２は、所定量以上であると判定する場合（Ｓ１００：ＹＥＳ）、再学習用データ１０６ａを訓練データとして用いて、評価写像データ７６ｂの学習済みパラメータである係数ｗ（１）ｊｉ，ｗ（２）ｋｊを更新する（Ｓ１０２）。すなわち、ＣＰＵ７２は、訓練データのうちの熟練者による失火であるか否かの判断結果に関するデータ以外のデータを入力変数ｘ（１）〜ｘ（２６）として失火変数Ｐ（１）〜Ｐ（５）を算出する一方、熟練者による失火であるか否かの判断結果に関するデータに基づき教師データを生成する。たとえば、熟練者の判断が気筒＃１が失火である旨の判断であれば、Ｐ（１）＝１且つ、Ｐ（２）〜Ｐ（５）＝０とする。またたとえば、熟練者の判断が正常である旨の判断であれば、Ｐ（１）〜Ｐ（４）＝０且つＰ（５）＝１とする。そして、教師データと、ニューラルネットワークが出力した失火変数Ｐ（１）〜Ｐ（５）との差の絶対値が小さくなるように、周知の手法にて係数ｗ（１）ｊｉ，ｗ（２）ｋｊを更新する（Ｓ１０２）。
【００６８】
なお、失火変数Ｐ（１）〜Ｐ（５）の算出処理には、係数ｗ（１）ｊｉ，ｗ（２）ｋｊの情報や活性化関数ｈ１、およびニューラルネットワークの出力層にソフトマックス関数が用いられる旨の情報が必要である。これについては、たとえば、Ｓ１００の処理において肯定判定する場合にＣＰＵ１０２から制御装置７０に、これらに関するデータを送信する指示を出してもよいし、またたとえば、記憶装置１０６に予め記憶しておいてもよい。
【００６９】
そしてＣＰＵ１０２は、通信機１０７を操作し、更新した係数ｗ（１）ｊｉ，ｗ（２）ｋｊを再学習済みのパラメータとして車両ＶＣ１，ＶＣ２，…に送信する（Ｓ１０４）。なお、ＣＰＵ１０２は、Ｓ１０４の処理が完了する場合や、Ｓ９６，Ｓ１００の処理において否定判定する場合には、図４（ｂ）に示す一連の処理を一旦終了する。
【００７０】
一方、図４（ａ）に示すように、ＣＰＵ７２は、データ解析センター１００から再学習済みパラメータの送信があるか否かを判定する（Ｓ８２）。そしてＣＰＵ１０２は、再学習済みのパラメータがあると判定する場合（Ｓ８２：ＹＥＳ）、係数ｗ（１）ｊｉ，ｗ（２）ｋｊを受信し（Ｓ８４）、記憶装置７６に記憶されている評価写像データ７６ｂを更新する（Ｓ８６）。
【００７１】
なお、ＣＰＵ７２は、Ｓ８６の処理が完了する場合や、Ｓ７８，Ｓ８２の処理において否定判定する場合には、図４（ａ）に示す一連の処理を一旦終了する。
ここで、本実施形態の作用および効果について説明する。
【００７２】
ＣＰＵ７２は、実用写像データ７６ａに基づき、図２に示した処理を実行して内燃機関１０の失火の有無を監視し、失火が頻繁に生じる場合、これに対処すべく報知処理を実行する。また、ＣＰＵ７２は、評価写像データ７６ｂに基づき、図３に示した処理を実行して評価写像データ７６ｂによる失火判定を実行する。そしてＣＰＵ７２は、評価写像データ７６ｂを用いた失火判定結果と、実用写像データ７６ａを用いた失火判定結果とが整合するか否かを判定し、整合しないと判定する場合、整合しない状態が連続的に出現する回数をカウントし、その最大値Ｃ０を算出する。
【００７３】
図６に、最大値Ｃ０の推移を示す。図６において、「〇」は、評価写像データ７６ｂを用いた失火判定結果と、実用写像データ７６ａを用いた失火判定結果とが整合すると判定された燃焼サイクルであることを示し、「×」は、整合しないと判定された燃焼サイクルであることを示す。
【００７４】
図６に示すように、時刻ｔ２以前には、最大値Ｃ０が初期値「０」であったところ、時刻ｔ１から時刻２まで、整合しないと判定される燃焼サイクルが３回継続し、その後、整合すると判定される状態に戻る場合、ＣＰＵ７２は、最大値Ｃ０を「３」とする。その後、時刻ｔ３から時刻ｔ４まで、整合しないと判定される燃焼サイクルが１４回継続し、その後、整合すると判定される状態に戻る場合、ＣＰＵ７２は、最大値Ｃ０を「１４」に更新する。
【００７５】
そして、ＣＰＵ７２は、時刻ｔ５にトリップが終了すると、最大値Ｃ０に対応する、１４回連続して整合しないと判定された期間のうちの最後の２燃焼サイクルと、整合すると判定される状態に復帰した際の１燃焼サイクルとの３燃焼サイクル分の入力データ等を送信する。
【００７６】
これに対しＣＰＵ１０２は、ＣＰＵ７２から送信されてきた入力データ等を表示装置１１２に表示する。これにより、熟練者は、クランク軸２４の回転挙動を示す波形データ等に基づき、失火が生じていたのか否かを判断し、それに基づき、評価写像データ７６ｂを用いた失火の有無の判定が誤判定であったか否かを判断する。ＣＰＵ１０２は、熟練者の判断結果が、評価写像データ７６ｂを用いた失火の有無の判定が誤判定である旨の判断である場合、車両側から送信されてきたデータの一部を、再学習用データ１０６ａとして、記憶装置１０６に記憶する。そして、再学習用データ１０６ａが所定量以上となると、ＣＰＵ１０２は、係数ｗ（１）ｊｉ，ｗ（２）ｋｊを更新し、再学習済みデータとして車両ＶＣ１，ＶＣ２，…のそれぞれに送信する。
【００７７】
これにより、各車両ＶＣ１，ＶＣ２，…においては、自車両において評価写像データ７６ｂを用いて誤判定を招いたデータのみならず、他車両において評価写像データ７６ｂを用いて誤判定を招いたデータをも用いて更新された係数ｗ（１）ｊｉ，ｗ（２）ｋｊにて、評価写像データ７６ｂを更新することとなる。
【００７８】
したがって、様々な状況において失火を高精度に判定できるデータへと評価写像データ７６ｂを更新することができる。
そして、不一致が生じたときの熟練者の判断で、評価写像データ７６ｂの方が信頼性が高いことが判明する場合には、更新された評価写像データ７６ｂを実用写像データ７６ａとして失火の監視に利用することが可能となる。さらに、複数の車両ＶＣ１，ＶＣ２，…に搭載された生のデータによる学習済みモデル（写像データ）を、新たに開発した同一気筒数の内燃機関を備えた車両に搭載される制御装置に始めから実用写像データとして搭載することも可能となる。
【００７９】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（１）実用写像データ７６ａによる判定結果と評価写像データ７６ｂによる判定結果とに不一致が生じる場合、不一致となった燃焼サイクルにおける微小回転時間Ｔ３０（２５）〜Ｔ３０（４８）のみならず、不一致から一致へと回復した燃焼サイクルにおける微小回転時間Ｔ３０（４９）〜Ｔ３０（７２）をデータ解析センター１００に送信した。これにより、不一致が生じている状態に関する情報のみならず不一致が解消された状態に移行したときの情報が送信される。そのため、不一致となった１燃焼サイクルの波形データである微小回転時間Ｔ３０（２５）〜Ｔ３０（４８）のみを送信する場合と比較して、熟練者が、失火が生じているか否かをより高精度に判断することができる。
【００８０】
（２）実用写像データ７６ａによる判定結果と評価写像データ７６ｂによる判定結果とに不一致が生じる場合、エクストラ情報集合ＧｒＥを併せ送信した。これにより、クランク軸２４の回転挙動を示す波形データである、微小回転時間Ｔ３０（１）〜Ｔ３０（７２）のみを送信する場合と比較して、熟練者が、失火が生じているか否かをより高精度に判断することができる。
【００８１】
（３）実用写像データ７６ａによる判定結果と評価写像データ７６ｂによる判定結果とに不一致が生じる場合、不一致が生じた際のデータを、トリップの終了時にデータ解析センター１００に送信した。トリップの終了時には、車両の走行時等と比較して、制御装置７０の演算負荷が小さいため、送信処理によって制御装置７０に加わる演算負荷が過度に大きくなることを抑制できる。
【００８２】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００８３】
図７に、第２の実施形態にかかる失火検出システムの構成を示す。なお、図７において、先の図１に示した部材に対応する部材については、便宜上、同一の符号を付与する。
図７に示す記憶装置１０６には、ハイスペック写像データ１０６ｂが記憶されている。ハイスペック写像データ１０６ｂは、入力変数の次元数が大きく且つ写像の構造が複雑化することと引き換えに、熟練者を模擬した失火判定が可能なものである。ハイスペック写像データ１０６ｂの学習には、図４の処理における回転時間集合ＧｒＴ３０やエクストラ情報集合ＧｒＥ、Ｓ９４，Ｓ９６の処理による熟練者の判断結果が訓練データとして用いられている。
【００８４】
なお、本実施形態では、第１の実施形態の処理によって、評価写像データ７６ｂの信頼性が向上し、これを実用写像データ７６ａとして実装した場合を例示する。
図８に、ＲＯＭ７４に記憶された失火検出プログラム７４ａをＣＰＵ７２が実行することによって実現される処理の一部を示す。図８に示す処理は、実用写像データ７６ａを利用した処理である。図８に示す処理は、たとえば所定周期でくり返し実行される。なお、図８において、図２および図３に示した処理に対応する処理については、便宜上、同一のステップ番号を付与している。
【００８５】
図８に示す一連の処理において、ＣＰＵ７２は、図３のＳ４０〜Ｓ４８の処理と同様の処理を実行する。すなわち、本実施形態では、図３の処理において利用した評価写像データ７６ｂが、実用写像データ７６ａとなっていることから、実用写像データ７６ａを用いてＳ４０〜Ｓ４８の処理を実行する。なお、図８においては、失火変数Ｐ（１）〜Ｐ（５）のうちの最大となるものを失火変数Ｐ（ｉ）と記載しており、図３における失火変数Ｐ（ｑ）とは記載が異なるが、処理自体は同一である。
【００８６】
そして、ＣＰＵ７２は、Ｓ４８の処理において肯定判定する場合、失火が生じたと判定される気筒＃ｉに関し、Ｓ２２〜Ｓ３０の処理を実行する一方、Ｓ４８の処理において否定判定する場合、Ｓ２４〜Ｓ３０の処理を実行する。
【００８７】
図９に、ＲＯＭ７４に記憶された失火検出プログラム７４ａをＣＰＵ７２が実行することにより実現される処理の一部の手順を示す。図９に示す処理は、評価写像データ７６ｂを用いた処理である。
【００８８】
図９に示す一連の処理において、ＣＰＵ７２は、まず、微小回転時間Ｔ３０（１），Ｔ３０（２），…Ｔ３０（２４）、回転速度ＮＥおよび充填効率ηに加えて、外気温Ｔａを取得する（Ｓ４０ａ）。
【００８９】
次にＣＰＵ７２は、評価写像データ７６ｂによって規定される写像の入力変数ｘ（１）〜ｘ（２７）に、Ｓ４０ａの処理によって取得した値を代入する（Ｓ４２ａ）。詳しくは、ＣＰＵ７２は、入力変数ｘ（１）〜ｘ（２６）については、Ｓ４２の処理と同様の処理を実行し、入力変数ｘ（２７）に外気温Ｔａを代入する。
【００９０】
次にＣＰＵ７２は、評価写像データ７６ｂによって規定される写像に、入力変数ｘ（１）〜ｘ（２７）を入力することによって、失火変数Ｐ（１）〜Ｐ（５）に対応する失火変数Ｐｎ（１）〜Ｐｎ（５）を算出する（Ｓ４４ａ）。詳しくは、評価写像データ７６ｂによって規定される写像は、中間層が１層のニューラルネットワークである。上記ニューラルネットワークは、係数ｗｎ（１）ｊｉ（ｊ＝０〜ｎ，ｉ＝０〜２７）と、係数ｗ（１）ｊｉによって規定される線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数ｈ１（ｘ）を含む。本実施形態では、活性化関数ｈ１（ｘ）として、ハイパボリックタンジェントを例示する。ちなみに、ｗｎ（１）ｊ０等は、バイアスパラメータであり、入力変数ｘ（０）は、「１」と定義されている。
【００９１】
また、上記ニューラルネットワークは、係数ｗｎ（２）ｋｊ（ｋ＝１〜５，ｊ＝０〜ｎ）と、係数ｗｎ（２）ｋｊによって規定される線形写像の出力である原型変数ｙｎ（１）〜ｙｎ（５）のそれぞれを入力として、失火変数Ｐｎを出力するソフトマックス関数とを含む。
【００９２】
そして、ＣＰＵ７２は、失火変数Ｐｎ（１）〜Ｐｎ（５）のうちの最大となる失火変数Ｐｎ（ｑ）を特定する（Ｓ４６ａ）。そしてＣＰＵ７２は、最大となる失火変数Ｐｎ（ｑ）が、「１〜４」のいずれかであるか否かを判定する（Ｓ４８ａ）。そして、ＣＰＵ７２は、「１〜４」のいずれかであると判定する場合（Ｓ４８ａ：ＹＥＳ）、気筒＃ｑの失火と判定する（Ｓ５０ａ）。なお、ＣＰＵ７２は、Ｓ５０ａの処理が完了する場合や、Ｓ４８ａにおいて否定判定する場合には、図９に示した一連の処理を一旦終了する。
【００９３】
図１０に、本実施形態にかかる評価写像データ７６ｂの再学習に関する処理の手順を示す。図１０（ａ）に示す処理は、図７に示すＲＯＭ７４に記憶されている再学習サブプログラム７４ｂをＣＰＵ７２が実行することにより実現される。また、図１０（ｂ）に示す処理は、ＲＯＭ１０４に記憶されている再学習メインプログラム１０４ａをＣＰＵ１０２が実行することにより実現される。なお、図１０において、図４に示した処理に対応する処理については、便宜上、同一のステップ番号を付与する。以下では、再学習処理の時系列に沿って、図１０に示す処理を説明する。
【００９４】
図１０（ｂ）に示す一連の処理において、ＣＰＵ１０２は、Ｓ９０の処理が完了する場合、ハイスペック写像データ１０６ｂによって規定される写像の入力変数ｘ（１）〜ｘ（７９）に、該当する値を代入する（Ｓ１１０）。すなわち、ＣＰＵ１０２は、「ｓ＝１〜７２」として、入力変数ｘ（ｓ）に微小回転時間Ｔ３０（ｓ）を代入し、入力変数ｘ（７３）に回転速度ＮＥを代入し、入力変数ｘ（７４）に充填効率ηを代入する。また、ＣＰＵ１０２は、入力変数ｘ（７５）に外気温Ｔａを代入し、入力変数ｘ（７６）に暖機制御変数Ｖｃａｔを代入し、入力変数ｘ（７７）に水温ＴＨＷを代入し、入力変数ｘ（７８）にシフト位置Ｖｓｆｔを代入し、入力変数ｘ（７９）に係合変数Ｖｒｃを代入する。次に、ＣＰＵ１０２は、ハイスペック写像データ１０６ｂによって規定される写像に入力変数ｘ（１）〜ｘ（７９）を代入して、失火変数Ｐｎ（１）〜Ｐｎ（５）に対応する失火変数Ｐｍ（１）〜Ｐｍ（５）を算出する（Ｓ１１２）。
【００９５】
本実施形態において、ハイスペック写像データ１０６ｂによって規定される写像は、中間層の層数が「ｐ」個であって且つ、各中間層の活性化関数ｈ１〜ｈｐがハイパボリックタンジェントであるニューラルネットワークによって構成されている。ここで、ｍ＝１，２，…，ｐとすると、第ｍの中間層の各ノードの値は、係数ｗｍ（ｍ）によって規定される線形写像の出力を活性化関数ｈｍに入力することによって生成される。ここで、ｎ１，ｎ２，…，ｎｐは、それぞれ、第１、第２、…、第ｐ中間層のノード数である。たとえば、第１の中間層の各ノードの値は、係数ｗｍ（１）ｊｉ（ｊ＝０〜ｎ１，ｉ＝０〜７９）によって規定される線形写像に上記入力変数ｘ（１）〜ｘ（７９）を入力した際の出力を活性化関数ｈ１に入力することによって生成される。ちなみに、ｗｍ（１）ｊ０等は、バイアスパラメータであり、入力変数ｘ（０）は、「１」と定義されている。
【００９６】
上記ニューラルネットワークは、係数ｗｍ（ｐ＋１）ｌｒ（ｌ＝１〜５，ｒ＝０〜ｎｐ）と、係数ｗｍ（ｐ＋１）ｌｒによって規定される線形写像の出力である原型変数ｙｍ（１）〜ｙｍ（５）のそれぞれを入力として、失火変数Ｐｍ（１）〜Ｐｍ（５）を出力するソフトマックス関数とを含む。
【００９７】
そしてＣＰＵ１０２は、評価写像データ７６ｂによる失火の判定が誤判定であったか否かを判定する（Ｓ９６）。すなわち、ＣＰＵ１０２は、失火変数Ｐｍ（１）〜Ｐｍ（５）のうち最大となるものと、Ｓ９０の処理によって受信した失火変数Ｐｎ（１）〜Ｐｎ（５）のうちの最大となるものに関する情報「ｑ」とが整合しない場合、誤判定と判定する。具体的には、たとえば、失火変数Ｐｍ（１）〜Ｐｍ（５）のうち最大となるものが失火変数Ｐｍ（１）である一方、失火変数Ｐｎ（１）〜Ｐｎ（５）のうちの最大となるものが失火変数Ｐｎ（５）である場合に、誤判定と判定する。
【００９８】
そしてＣＰＵ１０２は、誤判定と判定する場合（Ｓ９６：ＹＥＳ）、Ｓ９８，Ｓ１００の処理を実行し、Ｓ１００の処理において肯定判定される場合、再学習用データ１０６ａを訓練データとして、評価写像データ７６ｂの学習済みパラメータである係数ｗｎ（１）ｊｉ，ｗｎ（２）ｋｊを更新する（Ｓ１０２ａ）。そしてＣＰＵ１０２は、通信機１０７を操作し、更新した係数ｗｎ（１）ｊｉ，ｗｎ（２）ｋｊを再学習済みのパラメータとして車両ＶＣ１，ＶＣ２，…に送信する（Ｓ１０４ａ）。なお、ＣＰＵ１０２は、Ｓ１０４ａの処理が完了する場合や、Ｓ９６，Ｓ１００の処理において否定判定する場合には、図１０（ｂ）に示す一連の処理を一旦終了する。
【００９９】
一方、図１０（ａ）に示すように、ＣＰＵ７２は、再学習済みのパラメータがあると判定する場合（Ｓ８２：ＹＥＳ）、係数ｗｎ（１）ｊｉ，ｗｎ（２）ｋｊを受信し（Ｓ８４ａ）、記憶装置７６に記憶されている評価写像データ７６ｂを更新する（Ｓ８６）。
【０１００】
なお、ＣＰＵ７２は、Ｓ８６の処理が完了する場合や、Ｓ７８，Ｓ８２の処理において否定判定する場合には、図１０（ａ）に示す一連の処理を一旦終了する。
このように、本実施形態では、実用写像データ７６ａを用いた判定結果と評価写像データ７６ｂを用いた判定結果とが整合しない場合、ハイスペック写像データ１０６ｂを用いた判定によって、評価写像データ７６ｂを用いた判定結果を検証した。これにより、熟練者による判断に頼ることなく評価写像データ７６ｂを用いた判定結果を検証できる。
【０１０１】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１，２］実行装置は、ＣＰＵ７２およびＲＯＭ７４に対応し、記憶装置は、記憶装置７６に対応する。第１写像データは、実用写像データ７６ａに対応する。第２写像データは、評価写像データ７６ｂに対応する。第１取得処理は、図２のＳ１０の処理や図８のＳ４０の処理に対応する。第１算出処理は、図２のＳ１６，Ｓ１８の処理や、図８のＳ４２，Ｓ４４の処理に対応する。第２取得処理は、図３のＳ４０の処理や図９のＳ４０ａの処理に対応する。第２算出処理は、図３のＳ４２，Ｓ４４の処理や、図９のＳ４２ａ，Ｓ４４ａの処理に対応する。判定処理は、Ｓ６４，Ｓ７０の処理に対応する。送信処理は、Ｓ８０の処理に対応する。［３］回転波形変数は、微小回転時間Ｔ３０（１）〜Ｔ３０（２４）に対応する。瞬時速度変数は、微小回転時間Ｔ３０に対応する。［４］第２間隔は、３０°ＣＡに対応し、第１間隔は、７２０°ＣＡに対応する。［５，６］整合しないと判定されるときの瞬時速度変数は、Ｔ３０（２５）〜Ｔ３０（４８）に対応し、整合していると判定されるときの瞬時速度変数は、Ｔ３０（４９）〜Ｔ３０（７２）に対応する。［７］Ｓ７８の処理において肯定判定される場合にＳ８０の処理が実行されることに対応する。［８，１１］第２実行装置は、ＣＰＵ１０２およびＲＯＭ１０４に対応する。受信処理は、Ｓ９０の処理に対応する。再学習データ生成処理は、図４のＳ９２〜Ｓ９８の処理や、図１０のＳ１１０，Ｓ１１２の処理に対応する。再学習処理は、図４のＳ１０２の処理や、図１０のＳ１０２ａの処理に対応する。［９］表示処理は、Ｓ９２の処理に対応する。妥当性結果取込処理は、Ｓ９４の処理に対応する。［１０］第２記憶装置は、記憶装置１０６に対応する。第３写像データは、ハイスペック写像データ１０６ｂに対応する。第３算出処理は、Ｓ１１０，Ｓ１１２の処理に対応する。
【０１０２】
＜その他の実施形態＞
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【０１０３】
・「第１写像、第１写像データについて」
図１においては、実用写像データ７６ａとして、Ｓ１６，Ｓ１８の処理を実行するデータを例示したが、これに限らない。
【０１０４】
図８においては、実用写像データ７６ａとして、中間層が１層のニューラルネットワークを例示したが、これに限らない。たとえば中間層が２層以上のニューラルネットワークであってもよい。また活性化関数ｈ１としては、ハイパボリックタンジェントに限らず、たとえばロジスティックジグモイド関数やＲｅＬＵであってもよい。なお、ＲｅＬＵは、入力と「０」とのうちの小さくない方を出力する関数である。また、ニューラルネットワークの出力層のノードの数、すなわち次元を「（気筒数）＋１」とするものに限らない。たとえば、気筒数に等しい個数とし、各出力値のうちの閾値を超えたものがある場合に失火があると判定してもよい。またたとえば、ニューラルネットワークの１度の出力に基づく失火の有無の判定対象となる気筒を１つとし、出力層のノードの数を１個としてもよい。なお、その場合、出力層はロジスティックジグモイド関数等によって出力値の取りうる値の範囲が規格化されることが望ましい。
【０１０５】
実用写像データとしては、ニューラルネットワークを規定するデータに限らない。たとえば、失火の判定対象となる１つの気筒の失火の有無に応じて互いに異なる符号の数値を出力する識別関数であってもよい。これは、たとえばサポートベクトルマシンによって構成してもよい。
【０１０６】
・「第２写像データについて」
第２写像データとしての評価写像データ７６ｂとしては、中間層が１層のニューラルネットワークを規定するデータに限らない。たとえば、第２写像データとしては、中間層が２層以上のニューラルネットワークを規定するデータであってもよい。また活性化関数ｈ１としては、ハイパボリックタンジェントに限らず、たとえばロジスティックジグモイド関数やＲｅＬＵであってもよい。また、ニューラルネットワークの出力層のノードの数、すなわち次元を「（気筒数）＋１」とするものに限らない。たとえば、気筒数に等しい個数とし、各出力値のうちの閾値を超えたものがある場合に失火があると判定してもよい。またたとえば、ニューラルネットワークの１度の出力に基づく失火の有無の判定対象となる気筒を１つとし、出力層のノードの数を１個としてもよい。なお、その場合、出力層はロジスティックジグモイド関数等によって出力値の取りうる値の範囲が規格化されることが望ましい。
【０１０７】
第２写像としては、ニューラルネットワークに限らない。たとえば、失火の判定対象となる１つの気筒の失火の有無に応じて互いに異なる符号の数値を出力する識別関数であってもよい。これは、たとえばサポートベクトルマシンによって構成してもよい。
【０１０８】
・「第３写像、第３写像データについて」
上記実施形態では、第３写像データとして、評価写像データ７６ｂによって規定される写像の入力よりも次元が大きく且つ、中間層の層数が多いものを例示したが、これに限らない。たとえば、次元数は同一であって中間層の層数が大きいものであってもよい。これは、たとえば、入力変数を、Ｓ４２ａにおいて例示したものと同一としつつも、中間層の層数を２層以上とすることにより実現できる。またたとえば、次元数は大きいものの、中間層の層数は同一であってもよい。
【０１０９】
上記実施形態では、ハイスペック写像データ１０６ｂを、１つの仕様の内燃機関１０が搭載された複数の車両ＶＣ１，ＶＣ２，…から送信されるデータを訓練データとする学習済みモデルとしたが、これに限らない。たとえば、気筒数、排気量等が異なる様々な内燃機関を搭載した車両から送信されるデータを訓練データとして用いてもよい。ただし、その場合、気筒数や排気量等の仕様情報をハイスペック写像データ１０６ｂによって規定される写像の入力変数とすることが望ましい。なお、ハイスペック写像データ１０６ｂによって規定される写像の入力変数としては、これに限らず、たとえば熟練者が判断に際して用いない変数を含めてもよい。また、ハイスペック写像データ１０６ｂの学習に際しての教師データの少なくとも一部に、熟練者の判断結果を用いることも必須ではない。
【０１１０】
・「瞬時速度変数について」
瞬時速度変数としては、第２の間隔の回転に要する時間である微小回転時間に限らない。たとえば、第２の間隔を微小回転時間で割った値であってもよい。
【０１１１】
・「第２間隔について」
写像への入力となる瞬時速度変数を定義する第２間隔としては、３０°ＣＡに限らない。たとえば１０°ＣＡ等、３０°ＣＡよりも小さい角度間隔であってもよい。もっとも３０°ＣＡ以下の角度間隔に限らず、たとえば４５°ＣＡ等であってもよい。
【０１１２】
・「写像への入力としての回転波形変数について」
上記実施形態では、１燃焼サイクルである７２０°ＣＡの回転角度間隔が分割された複数の間隔のそれぞれにおける微小回転時間Ｔ３０を写像への入力としたが、これに限らない。たとえば、０〜７２０°ＣＡのうちの、０〜２０，４０〜６０，８０〜１００，１２０〜１４０，１６０〜１８０，…，７００〜７２０のそれぞれを第２間隔として、それらの回転に要する時間を写像への入力としてもよい。
【０１１３】
写像への入力としての回転波形変数としては、瞬時速度変数の時系列データに限らない。たとえば、圧縮上死点の出現間隔だけ離間した一対の瞬時速度変数同士の差であってもよい。
【０１１４】
・「送信処理について」
上記実施形態では、３燃焼サイクル分の微小回転時間Ｔ３０の時系列データを送信したが、これに限らない。たとえば、実用写像データ７６ａを用いた判定結果と評価写像データ７６ｂを用いた判定結果とが整合しないときの微小回転時間Ｔ３０（２５）〜Ｔ３０（４８）と、整合しないと判定される状態から整合していると判定される状態に移行した際の微小回転時間Ｔ３０（４９）〜Ｔ３０（７２）の２燃焼サイクル分の時系列データであってもよい。
【０１１５】
上記実施形態では、実用写像データ７６ａを用いた判定結果と評価写像データ７６ｂを用いた判定結果とが整合しないときの微小回転時間Ｔ３０（２５）〜Ｔ３０（４８）に加えて、整合しないと判定される状態から整合していると判定される状態に移行した際の微小回転時間Ｔ３０（４９）〜Ｔ３０（７２）を送信したが、これに限らない。たとえば、整合していると判定されている状態における微小回転時間Ｔ３０の時系列データと、整合していると判定される状態から整合していないと判定される状態に移行した際の微小回転時間Ｔ３０の時系列データとを送信してもよい。
【０１１６】
整合していると判定される状態に移行した際の微小回転時間Ｔ３０の時系列データとしては、１燃焼サイクル分の時系列データに限らない。たとえば、「第２写像データについて」の欄に記載したように、１度の入力による出力値が１つの気筒の失火変数の値のみを出力する場合等であって、入力データ自体、１燃焼サイクルより短い期間における微小回転時間Ｔ３０の時系列データである場合には、それに応じた量の時系列データとしてもよい。もっとも、整合しないと判定される状態における微小回転時間Ｔ３０の時系列データと、整合していると判定される状態に移行した際の微小回転時間Ｔ３０の時系列データとが、同一の長さを有する区間内の微小回転時間Ｔ３０であることも必須ではない。
【０１１７】
上記実施形態では、１トリップに１度、整合しないと連続して判定された回数が最大となるときに対応する３燃焼サイクル分の微小回転時間Ｔ３０の時系列データを送信したが、これに限らない。たとえば、整合しないと連続して判定された期間における微小回転時間Ｔ３０の全てと、整合しないと判定される状態から整合していると判定される状態に移行した際の微小回転時間Ｔ３０の１燃焼サイクル分の時系列データとを送信してもよい。
【０１１８】
・「再学習済みのパラメータについて」
図４および図１０においては、更新されたパラメータである再学習済みのパラメータを、ネットワーク１１０を介して各車両ＶＣ１，ＶＣ２，…に送信したがこれに限らない。たとえば、車両の販売店に送信し、各車両ＶＣ１，ＶＣ２，…が販売店に入庫した際に記憶装置７６内のデータを更新してもよい。その場合であっても、再学習済みのパラメータによって更新された評価写像データ７６ｂの信頼性をさらに評価し、更新することが可能となる。
【０１１９】
もっとも、再学習に用いるデータを提供した車両に再学習済みのパラメータを提供すること自体必須ではない。再学習済みのパラメータを用いて評価写像データ７６ｂを更新し、更新された評価写像データ７６ｂを、新規に開発された車両に実装するのみであってもよい。その場合、新規に開発された車両に搭載される内燃機関の排気量は、再学習のためのデータを送信した車両に搭載される内燃機関の排気量との差が、所定量以下となるものであることが望ましい。なお、上記実施形態のように、評価写像データが、各気筒において失火が生じた確率に応じた失火変数を出力するものである場合には、新規に開発された車両に搭載される内燃機関の気筒数は、再学習のためのデータを送信した車両に搭載される内燃機関の気筒数と同一とすることが望ましい。
【０１２０】
さらに、図４および図１０の処理において、再学習済みのパラメータを用いて、評価写像データ７６ｂを更新した後、これによって、実用写像データ７６ａを上書きしてもよい。
【０１２１】
・「表示装置について」
上記実施形態では、データ解析センター１００に表示装置１１２を配置したが、これに限らず、記憶装置１０６等が配置されている拠点とは別の拠点に配置してもよい。
【０１２２】
・「再学習データ生成処理について」
図４においては、評価写像データ７６ｂを用いて算出した失火変数Ｐ（ｊ），Ｐｎ（ｊ）の算出に用いた入力データと、関連するデータとを表示装置１１２に表示することによって、誤判定であるか否かを熟練者が評価することとしたが、これに限らない。たとえば、ハイスペック写像データ１０６ｂを用いて自動で評価してもよい。なお、評価写像データ７６ｂを用いて算出した失火変数Ｐ（ｊ），Ｐｎ（ｊ）を評価する際、失火変数Ｐ（ｊ），Ｐｎ（ｊ）の算出に用いた入力データ以外のデータをさらに加味して評価することは必須ではない。
【０１２３】
図１０においては、評価写像データ７６ｂを用いて算出した失火変数Ｐｎ（ｊ）の算出に用いた入力データと、関連するデータとに基づき、ハイスペック写像データ１０６ｂを用いて自動で誤判定であるか否かを評価したが、これに限らず、たとえば熟練者が評価することとしてもよい。
【０１２４】
図４の処理では、説明の便宜上、評価写像データ７６ｂを用いた評価結果と、実用写像データ９６ａを用いた評価結果との不一致が判定される都度、Ｓ９２の処理を実行したが、これに限らない。たとえば不一致と判定されたデータが所定量蓄積された時点でＳ９２の処理を実行してもよい。またたとえば不一致とされたデータを都度蓄積し、熟練者からの要求に応じてＳ９２の処理を実行してもよい。
【０１２５】
上記実施形態では、評価写像データ７６ｂや実用写像データ７６ａによって規定される写像よりも精度が高い主体を用いて、評価写像データ７６ｂによって規定される写像の判定結果の妥当性を判断したが、これに限らない。たとえば、評価写像データ７６ｂによって規定される判定結果と、２つ以上の他の写像による判定結果との多数決によって、評価写像データ７６ｂによって規定される写像の判定結果の妥当性を判断してもよい。また、たとえば上記２つ以上の他の写像による判定結果の１つを、写像による判定結果に代えて、熟練者による判断としてもよい。
【０１２６】
・「対処処理について」
上記実施形態では、報知処理として、車両に搭載されている警告灯９０を操作する処理を例示したが、これに限らない。たとえばユーザの携帯端末に、異常が生じた旨の情報を表示させるために通信機７７を操作する処理としてもよい。
【０１２７】
対処処理としては、報知処理に限らない。たとえば、内燃機関１０の燃焼室１８内の混合気の燃焼を制御するための操作部を、失火が生じた旨の情報に応じて操作する処理であってもよい。
【０１２８】
・「失火検出システムについて」
上記実施形態では、制御装置７０およびデータ解析センター１００によって失火検出システムを構成したが、これに限らない。たとえば、制御装置７０およびデータ解析センター１００に加えて、携帯端末によって失火検出システムを構成してもよい。これは、たとえば、上記第１の実施形態において、図３の処理を携帯端末によって実行してその結果を制御装置７０に送信することによって実現できる。
【０１２９】
・「データ解析装置について」
データ解析センター１００に代えて携帯端末を用いてデータ解析装置を構成してもよい。これは、たとえば携帯端末の記憶装置にハイスペック写像データ１０６ｂ等を記憶しておき、携帯端末によって図１０（ｂ）の処理を実行することなどにより実現できる。なお、その場合、車両ＶＣ１のユーザの携帯端末には、車両ＶＣ１に関するデータのみが送信されるものとしてもよい。
【０１３０】
・「実行装置について」
実行装置としては、ＣＰＵ７２（１０２）とＲＯＭ７４（１０４）とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、実行装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【０１３１】
・「記憶装置について」
上記実施形態では、評価写像データ７６ｂや実用写像データ７６ａが記憶される記憶装置７６と、再学習サブプログラム７４ｂが記憶される記憶装置であるＲＯＭ７４とを別の記憶装置としたが、これに限らない。またたとえば、ハイスペック写像データ１０６ｂが記憶される記憶装置１０６と、再学習メインプログラム１０４ａが記憶される記憶装置であるＲＯＭ１０４とを別の記憶装置としたが、これに限らない。
【０１３２】
・「内燃機関について」
上記実施形態では、燃料噴射弁として、燃焼室１８内に燃料を噴射する筒内噴射弁を例示したがこれに限らない。たとえば吸気通路１２に燃料を噴射するポート噴射弁であってもよい。またたとえば、ポート噴射弁と筒内噴射弁との双方を備えてもよい。
【０１３３】
内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油などを用いる圧縮着火式内燃機関等であってもよい。
内燃機関が駆動系を構成すること自体必須ではない。たとえば、車載発電機にクランク軸が機械的に連結され、駆動輪６０とは動力伝達が遮断されたいわゆるシリーズハイブリッド車に搭載されるものであってもよい。
【０１３４】
・「車両について」
車両としては、車両の推進力を生成する装置が内燃機関のみとなる車両に限らず、たとえば「内燃機関について」の欄に記載したシリーズハイブリッド車以外にも、パラレルハイブリッド車や、シリーズ・パラレルハイブリッド車であってもよい。
【０１３５】
・「そのほか」
クランク軸と駆動輪との間に介在する駆動系装置としては、有段の変速装置に限らず、たとえば無段変速装置であってもよい。
【符号の説明】
【０１３６】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…吸気バルブ、１８…燃焼室、２０…燃料噴射弁、２２…点火装置、２４…クランク軸、２６…排気バルブ、２８…排気通路、３０…触媒、４０…クランクロータ、４２…歯部、４４…欠け歯部、５０…トルクコンバータ、５２…ロックアップクラッチ、５４…変速装置、５６…入力軸、５８…出力軸、６０…駆動輪、７０…制御装置、７２…ＣＰＵ、７４…ＲＯＭ、７４ａ…失火検出プログラム、７４ｂ…再学習サブプログラム、７６…記憶装置、７６ｂ…評価写像データ、７７…通信機、７８…周辺回路、７９…ローカルネットワーク、８０…クランク角センサ、８２…エアフローメータ、８４…水温センサ、８６…外気温センサ、８８…シフト位置センサ、９０…警告灯、１００…データ解析センター、１０２…ＣＰＵ、１０４…ＲＯＭ、１０４ａ…再学習メインプログラム、１０６…記憶装置、１０６ａ…再学習用データ、１０６ｂ…ハイスペック写像データ、１０７…通信機、１０８…周辺回路、１０９…ローカルネットワーク、１１０…ネットワーク、１１２…表示装置、１１４…インターフェース。
【要約】
【課題】様々な状況で写像の出力が正しい値となるかをあらかじめ検証することができるようにした学習制御システムを提供する。
【解決手段】車両内の記憶装置７６には、実用写像データ７６ａと評価写像データ７６ｂとが搭載されており、ＣＰＵ７２は、それら各写像データによって規定される写像に基づき失火の有無を判定する。ＣＰＵ７２は、２つの判定結果が不一致となる場合、不一致となる連続回数をカウントする。ＣＰＵ７２は、トリップの終了時に、不一致となったときの評価写像データ７６ｂによって規定される写像への入力データのうち、連続回数のうちの最大回数に対応するデータをデータ解析センター１００に送信する。データ解析センター１００では、評価写像データ７６ｂによる判定結果の妥当性を検証する。
【選択図】図１【図１】
0006705539.tif 000002
【図２】
0006705539.tif 000003
【図３】
0006705539.tif 000004
【図４】
0006705539.tif 000005
【図５】
0006705539.tif 000006
【図６】
0006705539.tif 000007
【図７】
0006705539.tif 000008
【図８】
0006705539.tif 000009
【図９】
0006705539.tif 000010
【図１０】
0006705539.tif 000011