(57)【要約】【課題】モデルの精度を向上することができる。【解決手段】電子制御ユニット（３０）が、機関の運転状態を示す入力パラメータの値を取得するパラメータ値取得部と、ニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備している。入力パラメータと出力パラメータとの相関の程度および入力パラメータ間の相関の程度に基づいて、入力パラメータの中で入力パラメータ間の相関の程度の低い方の入力パラメータを選定し、選定された入力パラメータの値が入力層に入力される。【選択図】図７
2019143477.tif 000002
【特許請求の範囲】
【請求項１】
電子制御ユニットを具備しており、該電子制御ユニットが、機関の運転状態を示す入力パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、入力パラメータの値が入力層に入力され、出力パラメータの値を示す出力値が出力層から出力される内燃機関の制御装置において、入力パラメータと出力パラメータとの相関の程度および入力パラメータ間の相関の程度に基づいて、入力パラメータの中で入力パラメータ間の相関の程度の低い方の入力パラメータを選定し、選定された入力パラメータの値が入力層に入力される内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の制御装置に関する。
【背景技術】
【０００２】
機関回転数、吸入空気量等の機関の運転を示す入力パラメータの値と、燃焼室内への吸入ガス量の計測値との関係が、学習用データセットの形で予め求められており、この学習用データセットを用いてニューラルネットワークの重みを学習することにより、入力パラメータの値と、燃焼室内への吸入ガス量との関係をモデル化した吸入ガス量モデルがニューラルネットワークにより作成され、機関運転時に、この吸入ガス量モデルを用いて、入力パラメータの値から、燃焼室内への吸入ガス量を示す出力パラメータの値を推定するようにした内燃機関の制御装置が公知である（例えば特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１２２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、このように複数の入力パラメータの値に基づいてニューラルネットワークの重みを学習するようにした場合、これら入力パラメータの中に相関の度合の高い入力パラメータが存在すると、これら相関の度合の高い入力パラメータが、ニューラルネットワークの重みの学習時と異なる動きをしたとき、出力パラメータの推定値に誤差を生ずるという問題がある。
【０００５】
上記問題を解決するために、本発明によれば、電子制御ユニットを具備しており、電子制御ユニットが、機関の運転状態を示す入力パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、入力パラメータの値が入力層に入力され、出力パラメータの値を示す出力値が出力層から出力される内燃機関の制御装置において、入力パラメータと出力パラメータとの相関の度合および入力パラメータ間の相関の度合に基づいて、入力パラメータの中で入力パラメータ間の相関の度合の低い方の入力パラメータを選定し、選定された入力パラメータの値が入力層に入力される。
【発明の効果】
【０００６】
入力パラメータの中で入力パラメータ間の相関の度合の低い方の入力パラメータを選定し、選定された入力パラメータの値が入力層に入力することによって、出力パラメータの推定値に誤差を生ずるのを抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】図１は内燃機関の全体図である。
【図２】図２はニューラルネットワークの一例を示す図である。
【図３】図３Ａおよび図３Ｂはシグモイド関数σの値の変化を示す図である。
【図４】図４Ａおよび図４Ｂは夫々、ニューラルネットワークと、隠れ層のノードからの出力値を示す図である。
【図５】図５Ａは出力層のノードからの出力値を示す図であり、図５Ｂはニューラルネットワークを示す図であり、図５Ｃは出力層のノードからの出力値を示す図である。
【図６】図６は、出力パラメータの推定値の誤差の発生を説明するための図である。
【図７】図７は、学習ルーチンを示すフローチャートである。
【図８】図８は、学習ルーチンを示すフローチャートである。
【図９】図９Ａおよび図９Ｂは報酬Qを示す図である。
【図１０】図１０は、検証ルーチンを示すフローチャートである。
【図１１】図１１Ａおよび図１１Ｂは夫々、報酬Qと、相関係数Ｒ２とを示す図である。
【図１２】図１２は、本発明による誤差の抑制効果を示す図である。
【発明を実施するための形態】
【０００８】
＜内燃機関の全体構成＞
【０００９】
図１に内燃機関の全体図を示す。図１を参照すると、１は機関本体、２は各気筒の燃焼室、３は各気筒の燃焼室２内に配置された点火栓、４は各気筒に燃料、例えば、ガソリンを供給するための燃料噴射弁、５はサージタンク、６は吸気枝管、７は排気マニホルドを夫々示す。サージタンク５は吸気ダクト８を介して排気ターボチャージャ９のコンプレッサ９ａの出口に連結され、コンプレッサ９ａの入口は吸入空気量検出器１０を介してエアクリーナ１１に連結される。吸気ダクト８内にはアクチュエータ１３により駆動されるスロットル弁１２が配置され、吸気ダクト８周りには吸気ダクト８内を流れる吸入空気を冷却するためのインタクーラ１４が配置される。
【００１０】
一方、排気マニホルド７は排気ターボチャージャ９の排気タービン９ｂの入口に連結され、排気タービン９ｂの出口は排気管１５を介して排気浄化用触媒コンバータ１６に連結される。排気マニホルド７とサージタンク５とは排気ガス再循環（以下、ＥＧＲと称す）通路１７を介して互いに連結され、ＥＧＲ通路１７内には、ＥＧＲ通路１７内を流れるＥＧＲガスを冷却するためのＥＧＲクーラ１８と、ＥＧＲ制御弁１９とが配置される。更に、ＥＧＲ通路１７には、クーラ１８を迂回するＥＧＲバイパス通路２０が併設されており、ＥＧＲ通路１７内には、ＥＧＲガス流路をＥＧＲバイパス通路２０に切換えるための流路切換弁２１が配置される。各燃料噴射弁４は燃料分配管２２に連結され、この燃料分配管２２は燃料ポンプ２３を介して燃料タンク２４に連結される。
【００１１】
図１に示されるように、吸気ダクト８内には過給圧を検出するための過給圧センサ２５が配置されており、サージタンク５内にはサージタンク５内の吸気温を検出するための吸気温センサ２６が配置されている。また、燃料分配管２２内には燃料分配管２２内の燃料圧を検出するための燃料圧センサ２７が配置されており、排気管１５内には排気ガス中のNOX濃度を検出するためのNOXセンサ２８が配置されている。
【００１２】
電子制御ユニット３０はデジタルコンピュータからなり、双方向性バス３１によって互いに接続されたROM（リードオンリメモリ）３２、RAM（ランダムアクセスメモリ）３３、CPU（マイクロプロセッサ）３４、入力ポート３５および出力ポート３６を具備する。入力ポート３５には、吸入空気量検出器１０、過給圧センサ２５、吸気温センサ２６、燃料圧センサ２７およびNOXセンサ２８の出力信号が、対応するAD変換器３７を介して入力される。アクセルペダル４０にはアクセルペダル４０の踏込み量に比例した出力電圧を発生する負荷センサ４１が接続され、負荷センサ４１の出力電圧は対応するAD変換器３７を介して入力ポート３５に入力される。更に入力ポート３５にはクランクシャフトが例えば３０°回転する毎に出力パルスを発生するクランク角センサ４２が接続される。CPU３４内ではクランク角センサ４２の出力信号に基づいて機関回転数が算出される。一方、出力ポート３６は対応する駆動回路３８を介して点火栓３、燃料噴射弁４、スロットル弁駆動用アクチュエータ１３、ＥＧＲ制御弁１９、流路切換弁２１および燃料ポンプ２３に接続される。
＜ニューラルネットワークの概要＞
【００１３】
本発明による実施例では、ニューラルネットワークを用いて内燃機関の性能を表す種々の値を推定するようにしている。図２はこのニューラルネットワークの一例を示している。図２における丸印は人工ニューロンを表しており、ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される（本願では、ノードと称す）。図２においてL＝１は入力層、L＝２および L＝３は隠れ層、L＝４は出力層を夫々示している。また、図２において、ｘ１およびｘ２ は入力層 ( L＝１) の各ノードからの出力値を示しており、ｙ は出力層 ( L＝４) のノードからの出力値を示しており、ｚ１、ｚ２ およびｚ３ は隠れ層 ( L＝２) の各ノードからの出力値を示しており、ｚ１およびｚ２ は隠れ層 ( L＝３) の各ノードからの出力値を示している。なお、隠れ層の層数は、１個又は任意の個数とすることができ、入力層のノードの数および隠れ層のノードの数も任意の個数とすることができる。なお、本発明による実施例では、出力層のノードの数は１個とされている。
【００１４】
入力層の各ノードでは入力がそのまま出力される。一方、隠れ層 ( L＝２) の各ノードには、入力層の各ノードの出力値ｘ１およびｘ２ が入力され、隠れ層 ( L＝２) の各ノードでは、夫々対応する重みｗおよびバイアスｂを用いて総入力値ｕが算出される。例えば、図２において隠れ層 ( L＝２) のｚｋ（ｋ＝１，２，３）で示されるノードにおいて算出される総入力値ｕｋは、次式のようになる。
【数１】
2019143477.tif 000003
次いで、この総入力値ｕｋは活性化関数ｆにより変換され、隠れ層 ( L＝２) のｚｋで示されるノードから、出力値ｚｋ(= f (ｕｋ)) として出力される。隠れ層 ( L＝２) の他のノードについても同様である。一方、隠れ層 ( L＝３) の各ノードには、隠れ層 ( L＝２) の各ノードの出力値ｚ１、ｚ２ およびｚ３ が入力され、隠れ層 ( L＝3 ) の各ノードでは、夫々対応する重みｗおよびバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出される。この総入力値ｕは同様に活性化関数により変換され、隠れ層 ( L＝3 ) の各ノードから、出力値ｚ１ 、ｚ２ として出力される、なお、本発明による実施例では、この活性化関数としてシグモイド関数σが用いられている。
【００１５】
一方、出力層 ( L＝４) のノードには、隠れ層 ( L＝３) の各ノードの出力値ｚ１ およびｚ２ が入力され、出力層 のノードでは、夫々対応する重みｗおよびバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出されるか、又は、夫々対応する重みｗのみを用いて総入力値ｕ（Σｚ・ｗ）が算出される。本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値ｕが、そのまま出力値ｙとして出力される。
＜ニューラルネットワークによる関数の表現＞
【００１６】
さて、ニューラルネットワークを用いると任意の関数を表現することができ、次に、このことについて簡単に説明する。まず初めに、活性化関数として用いられているシグモイド関数σについて説明すると、シグモイド関数σは、σ（ｘ）＝１/（１＋exp（-ｘ））で表され、図３Ａに示されるようにｘの値に応じて０と１の間の値を取る。ここで、ｘをｗｘ＋ｂに置き換えると、シグモイド関数σは、σ（ｗｘ＋ｂ）＝１/（１＋exp（-ｗｘ―ｂ））で表される。ここで、ｗの値を大きくしていくと、図３Ｂにおいて曲線σ１、σ２、σ３で示されるように、シグモイド関数σ（ｗｘ＋ｂ）の曲線部分の傾斜が次第に急になり、ｗの値を無限大にすると、図３Ｂにおいて曲線σ４で示されるように、シグモイド関数σ（ｗｘ＋ｂ）は、ｘ＝−ｂ/ｗ（ｗｘ＋ｂ＝０となるｘ、即ち、σ（ｗｘ＋ｂ）＝０．５となるｘにおいて、図３Ｂに示されるように、ステップ状に変化するようになる。このようなシグモイド関数σの性質を利用すると、ニューラルネットワークを用いて任意の関数を表現することができる。
【００１７】
このことを説明するに当たり、初めに、図４Ａに示されるような１個のノードからなる入力層 ( Ｌ＝１) と、２個のノードからなる隠れ層 ( Ｌ＝２) と、１個のノードからなる出力層 ( Ｌ＝３) とにより構成されるニューラルネットワークについて説明する。このニューラルネットワークでは、図４Ａに示されるように、入力層 ( Ｌ＝１) のノードには入力値ｘが入力され、隠れ層 ( Ｌ＝２) においてｚ１で示されるノードには、重みｗ１(Ｌ２) およびバイアスｂ１を用いて算出された入力値ｕ＝ｘ・ｗ１(Ｌ２)＋ｂ１ が入力される。この入力値ｕはシグモイド関数σ（ｘ・ｗ１(Ｌ２)＋ｂ１）により変換され、出力値ｚ１ として出力される。同様に、隠れ層 ( Ｌ＝２) においてｚ２で示されるノードには、重みｗ２(Ｌ２)およびバイアスｂ２ を用いて算出された入力値ｕ＝ｘ・ｗ2(Ｌ２)＋ｂ2 が入力され、この入力値ｕはシグモイド関数σ（ｘ・ｗ2(Ｌ２)＋ｂ2）により変換され、出力値ｚ2 として出力される。
【００１８】
一方、出力層 ( Ｌ＝３)  のノードには、隠れ層 ( Ｌ＝２) の各ノードの出力値ｚ１ およびｚ２ が入力され、出力層 のノードでは、夫々対応する重みｗ１(ｙ) およびｗ２(ｙ) を用いて総入力値ｕ（Σｚ・ｗ＝ｚ１・ｗ１(ｙ) ＋ｚ２・ｗ２(ｙ)）が算出される。前述したように、本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値ｕが、そのまま出力値ｙとして出力される。
【００１９】
さて、図４Ｂは、図４Ａにおける重みｗ１(Ｌ２) およびｗ2(Ｌ２) の値を大きくすることにより、シグモイド関数σの値を、図３Ｂに示されるように、ステップ状に変化させた場合を示している。図４Ｂの（Ｉ）には、ｘ＝―ｂ１ /ｗ１(Ｌ２) において、シグモイド関数σ（ｘ・ｗ１(Ｌ２)＋ｂ１ ）の値がステップ状に増大するように重みｗ１(Ｌ２)およびバイアスｂ１が設定されたときの隠れ層 ( Ｌ＝２) のノードからの出力値ｚ１が示されている。また、図４Ｂの（II）には、ｘ＝―ｂ１ /ｗ１(Ｌ２) よりも少し大きいｘ＝−ｂ２ /ｗ２(Ｌ２) においてシグモイド関数σ（ｘ・ｗ2(Ｌ２)＋ｂ2）の値がステップ状に減少するように重みｗ２(Ｌ２)およびバイアスｂ２ が設定されたときの隠れ層 ( Ｌ＝２) のノードからの出力値ｚ２が示されている。また、図４Ｂの（III）には、隠れ層 ( Ｌ＝２) の各ノードからの出力値ｚ１ とｚ２ の和（ｚ１ ＋ｚ２ ）が実線で示されている。図４Ａに示されるように、各出力値ｚ１ 、ｚ２ には、夫々対応する重みｗ１(ｙ) およびｗ２(ｙ) が乗算されており、図４Ｂの（III）には、ｗ１(ｙ) 、ｗ２(ｙ) ＞１であるときの出力値ｙが破線で示されている。
【００２０】
このように、図４Ａに示されるニューラルネットワークにおいて、隠れ層 ( Ｌ＝２) の一対のノードにより、図４Ｂの（III）に示されるような短冊状の出力値ｙが得られる。従って、隠れ層 ( Ｌ＝２) の対をなすノード数を増大し、隠れ層 ( Ｌ＝２) の各ノードにおける重みｗおよびバイアスｂの値を適切に設定すると、図５Ａにおいて破線の曲線で示すような関数ｙ＝ｆ(ｘ）を近似する関数を表現できることになる。なお、図５Ａでは、各短冊が接するように描かれているが、実際には、各短冊は部分的に重なる場合がある。また、実際には、ｗの値は無限大とはならないために、各短冊は、正確な短冊状にはならず、図３Ｂにおいてσ３で示される曲線部分の上半分のような曲線状となる。なお、詳細な説明は省略するが、図５Ｂに示されるように、異なる二つの入力値ｘＩおよびｘ２に対し、隠れ層 ( Ｌ＝２)において夫々対応する一対のノードを設けると、図５Ｃに示されるように、入力値ｘＩおよびｘ２に応じた柱状の出力値ｙが得られる。この場合、各入力値ｘＩ、ｘ２に対し、隠れ層 ( Ｌ＝２) に多数の対をなすノードを設けると、夫々異なる入力値ｘＩおよびｘ２に応じた複数個の柱状の出力値ｙが得られ、従って、入力値ｘＩおよびｘ２ と出力値ｙとの関係を示す関数を表現できることがわかる。なお、異なる三つ以上の入力値ｘがある場合でも同様に、入力値ｘと出力値ｙとの関係を示す関数を表現できる。なお、異なる三つ以上の入力値ｘがある場合でも同様に、入力値ｘと出力値ｙとの関係を示す関数を表現できる。入力値が１個の場合には、入力値の数１＋出力値１個により、関数が２次元平面上で表される。入力値が２個の場合には、入力値の数２＋出力値１個により、関数が３次元空間においで表される。即ち、入力値がｎ個の場合には、入力値の数１＋出力値１個により、関数がｎ＋１次元平面において表される。なお、紙面上に４次元平面以上の空間を表現することはできないので、図は割愛する。
＜ニューラルネットワークにおける学習＞
【００２１】
一方、本発明による実施例では、誤差逆伝播法を用いて、ニューラルネットワーク内における各重みｗの値およびバイアスｂの値が学習される。この誤差逆伝播法は周知であり、従って、誤差逆伝播法についてはその概要を以下に簡単に説明する。なお、バイアスｂは重みｗの一種なので、以下の説明では、バイアスｂは重みｗの一つとされている。さて、図２に示すようなニューラルネットワークにおいて、Ｌ＝２，Ｌ＝３又は Ｌ＝４の各層のノードへの入力値ｕ（Ｌ）における重みをｗ（Ｌ）で表すと、誤差関数Ｅの重みｗ（Ｌ）による微分、即ち、勾配∂Ｅ/∂ｗ（Ｌ）は、書き換えると、次式で示されるようになる。
【数２】
2019143477.tif 000004
ここで、ｚ（Ｌ−１）・∂ｗ（Ｌ）＝ ∂ｕ（Ｌ）であるので、（∂Ｅ/∂ｕ（Ｌ））＝δ（Ｌ）とすると、上記（１）式は、次式でもって表すことができる。
【数３】
2019143477.tif 000005
【００２２】
ここで、ｕ（Ｌ）が変動すると、次の層の総入力値ｕ（Ｌ＋１）の変化を通じて誤差関数Ｅの変動を引き起こすので、δ（Ｌ）は、次式で表すことができる。
【数４】
2019143477.tif 000006
ここで、z（Ｌ）＝ｆ(u（Ｌ）) と表すと、上記（３）式の右辺に現れる入力値ｕk（Ｌ＋１）は、次式で表すことができる。
【数５】
2019143477.tif 000007
ここで、上記（３）式の右辺第１項（∂Ｅ/∂ｕ（Ｌ＋１））はδ（Ｌ＋１）であり、上記（３）式の右辺第２項（∂uｋ（Ｌ＋１） /∂u（Ｌ））は、次式で表すことができる。
【数６】
2019143477.tif 000008
従って、δ（Ｌ）は、次式で示される。
【数７】
2019143477.tif 000009
即ち、δ（Ｌ＋１）が求まると、δ（Ｌ）を求めることができることになる。
【００２３】
さて、或る入力値に対して教師データｙｔが求められており、この入力値に対する出力層からの出力値がｙであった場合、誤差関数として二乗誤差が用いられている場合には、二乗誤差Ｅは、Ｅ＝１/２(ｙ−ｙｔ)２で求められる。この場合、図２の出力層（Ｌ＝４）のノードでは、出力値ｙ＝ ｆ(u（Ｌ）) となり、従って、この場合には、出力層（Ｌ＝４）のノードにおけるδ（Ｌ）の値は、次式で示されるようになる。
【数８】
2019143477.tif 000010
ところで、本発明による実施例では、前述したように、ｆ(u（Ｌ）) は恒等関数であり、ｆ’(u（Ｌl）) ＝ １となる。従って、δ（Ｌ）＝ｙ−ｙｔ となり、δ（Ｌ）が求まる。
【００２４】
δ（Ｌ）が求まると、上式（６）を用いて前層のδ（Ｌ−１）が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、上式（２）から、各重みｗについて誤差関数Ｅの微分、即ち、勾配∂Ｅ/∂ｗ（Ｌ）か求められる。勾配∂Ｅ/∂ｗ（Ｌ）か求められると、この勾配∂Ｅ/∂ｗ（Ｌ）を用いて、誤差関数Ｅの値が減少するように、重みｗの値が更新される。即ち、重みｗの値の学習が行われることになる。なお、訓練データとしてバッチ、又はミニバッチが用いられる場合には、誤差関数Ｅとして、次の二乗和誤差Ｅが用いられる。
【数９】
2019143477.tif 000011
一方、二乗誤差を逐次算出するようにしたオンライン学習が行われる場合には、誤差関数Ｅとして、上述の二乗誤差Ｅが用いられる。
＜本発明による実施例＞
【００２５】
前述したように、複数の入力パラメータの値に基づいてニューラルネットワークの重みを学習するようにした場合、これら入力パラメータの中に相関の度合の高い入力パラメータが存在すると、これら相関の度合の高い入力パラメータが、ニューラルネットワークの重みの学習時と異なる動きをしたとき、出力パラメータの推定値に誤差を生ずる。例えば、二つの入力パラメータの値が夫々ｘ１およびｘ２であり、出力パラメータの値がｙである場合において、一方の入力パラメータの値ｘ１がΔｘ１だけ変化したときに出力パラメータの値ｙがΔｙだけ変化したとすると（Δｙ＝ａ・Δｘ１）、学習モデルは、入力パラメータの値ｘ１が変化したときに出力パラメータの値ｙは、Δｘ１の変化に対して、感度ａで変化することを学習する。
【００２６】
ところが、この場合、二つの入力パラメータ間に相関関係があったとすると、一方の入力パラメータの値ｘ１が変化したときに他方の入力パラメータの値ｘ２も変化する。この場合、一方の入力パラメータの値ｘ１がΔｘ１だけ変化したときに他方の入力パラメータの値ｘ２がΔｘ２だけ変化したとすると（Δｘ２＝ｂ・Δｘ１）、Δｙ＝ａ・Δｘ１＝（ａ/ｂ）・Δｘ２であるので、学習モデルは、他方の入力パラメータの値ｘ２が変化したときに出力パラメータの値ｙは、Δｘ２の変化に対して、感度ａ/ｂで変化すると学習してしまう。この感度ａ/ｂは、一方の入力パラメータの値ｘ１が変化したときの感度であり、他方の入力パラメータの値ｘ２が単独で変化したときの感度ではない。しかしながら、学習モデルは、この感度ａ/ｂは、他方の入力パラメータの値ｘ２が単独で変化したときの感度である誤学習をしてしまう。このような誤学習を生じると、出力パラメータの推定値に誤差を生ずることになる。
【００２７】
次に、一つの検証例について説明する。例えば、図１に示される内燃機関において、ＥＧＲガスがサージタンク５内に再循環せしめられると、ＥＧＲガスの影響を受けてサージタンク５内の吸気温が変化する。従って、ＥＧＲ率とサージタンク５内の吸気温は相関の度合いが高いと言える。そこで、上述の一方の入力パラメータの値ｘ１をＥＧＲ率とし、上述の他方の入力パラメータの値ｘ２をサージタンク５内の吸気温とし、出力パラメータの値ｙをNOX濃度として、ニューラルネットワークの重みの学習を行い、そのときの検証結果が図６に示されている。なお、図６は、ＥＧＲガスの再循環が開始された後、破線で示される時刻において、流路切換弁２１により、ＥＧＲ流路が、ＥＧＲクーラ１８内を通るＥＧＲ通路１７からＥＧＲバイパス通路２０に切換えられたときの、ＥＧＲ率、サージタンク５内の吸気温、実NOX濃度および推定NOX濃度の変化を示している。
【００２８】
さて、図６において、破線で示される時刻以前においては、即ち、ＥＧＲ流路が、ＥＧＲクーラ１８内を通るＥＧＲ通路１７からＥＧＲバイパス通路２０に切換えられる以前では、ＥＧＲ率が徐々に上昇すると共にサージタンク５内の吸気温が少しずつ下降している。即ち、入力パラメータの値ｘ１と、入力パラメータの値ｘ２が共に変化している。このとき、推定NOX濃度が実NOX濃度に近づくように、ニューラルネットワークの重みが学習されている。これに対し、図６において、破線で示される時刻を過ぎると、即ち、ＥＧＲ流路が、ＥＧＲクーラ１８内を通るＥＧＲ通路１７からＥＧＲバイパス通路２０に切換えられると、ＥＧＲ率の上昇作用が停止され、サージタンク５内の吸気温が徐々に増大する。
【００２９】
即ち、このときには、入力パラメータの値ｘ２のみが単独で変化している。このように入力パラメータの値ｘ２のみが単独で変化すると、図６に示されるように、サージタンク５内の吸気温が増大するにつれて、推定NOX濃度が徐々に低下し、推定NOX濃度が実NOX濃度から次第に離れていく。即ち、誤学習が次第に進行していく。このように、二つの入力パラメータの相関の度合の高いと、これら入力パラメータが、ニューラルネットワークの重みの学習時と異なる動きをしたとき、出力パラメータの推定値に誤差を生ずることになる。そこで、本発明では、入力パラメータの中で入力パラメータ間の相関の度合の低い方の入力パラメータを選定し、選定された入力パラメータの値を入力層に入力することによって、出力パラメータの推定値に誤差を生ずるのを抑制するようにしている。
【００３０】
次に、ニューラルネットワークにより排出ＮＯＸ量を推定するための排出ＮＯＸ量モデルを作成する場合を例にとって、図７から図１１を参照しつつ本発明について説明する。この例では、入力パラメータとして、機関回転数、燃料噴射弁４からの燃料噴射量、燃料噴射弁４からの燃料噴射時期、燃料分配管２２内の燃料圧、ＥＧＲ率、過給圧およびサージタンク５内の吸気温が採用されており、出力パラメータとして、NOX濃度が採用されている。図７には、これら入力パラメータと出力パラメータを用いてニューラルネットワークの重みの学習を行う学習ルーチンが示されており、図９には、図７の学習ルーチンにおいて行われた学習を検証するための検証ルーチンが示されている。
【００３１】
図７を参照すると、まず初めに、ステップ１００において、予め定められた走行パターンで車両が走行され、そのとき燃料圧センサ２７、過給圧センサ２５、NOXセンサ２８、吸気温センサ２６等により検出された、機関回転数、燃料噴射弁４からの燃料噴射量、燃料噴射弁４からの燃料噴射時期、燃料分配管２２内の燃料圧、ＥＧＲ率、過給圧、サージタンク５内の吸気温および排気ガス中のNOX濃度に関するデータが取得される。次いで、ステップ１０１では、制御対象としての出力パラメータが選定され、その他のパラメータが入力パラメータ候補として設定される。この例では、出力パラメータとしてNOX濃度が採用され、機関回転数、燃料噴射弁４からの燃料噴射量、燃料噴射弁４からの燃料噴射時期、燃料分配管２２内の燃料圧、ＥＧＲ率、過給圧およびサージタンク５内の吸気温が入力パラメータ候補とされる。なお、以下、出力パラメータ、即ち、NOX濃度はｙで示され、入力パラメータ候補、即ち、機関回転数、燃料噴射弁４からの燃料噴射量、燃料噴射弁４からの燃料噴射時期、燃料分配管２２内の燃料圧、ＥＧＲ率、過給圧およびサージタンク５内の吸気温は、ｘ１、・・・・ｘN  で示される。また、入力パラメータ候補ｘ１、・・・・ｘN  中の任意の候補が、ｘｎ、ｘｍ で示される。なお、図７に示される学習ルーチンでは、これらｎ、ｍの初期値は１とされており、これらｎ、ｍは夫々、１からNまでの値（ｎ、ｍ＝１，２・・・N）をとる。
【００３２】
次いで、ステップ１０２では、XとYとの相関を示す相関係数の数式として周知の次式を用いて、各入力パラメータ候補ｘｎと出力パラメータｙとの相関係数Ｒ２（ｘｎ、ｙ）が算出される。
【数１０】
2019143477.tif 000012
なお、本発明による実施例では、相関係数として上式に示される相関係数Ｒの二乗Ｒ２が用いられている。
【００３３】
次いで、ステップ１０３では、ｎが１だけインクリメントされる（ｎ＝ｎ＋１）。次いで、ステップ１０４では、ｎ＝Ｎ+１になったか否かが判別される。ｎ＝Ｎ+１でないときにはステップ１０２に戻り、相関係数Ｒ２（ｘｎ、ｙ）が算出される。一方、ステップ１０４において、ｎ＝Ｎ+１になったと判別されたときには、ステップ１０５に進む。即ち、ステップ１０２において、ｘ１からｘＮまでの全ての入力パラメータ候補ｘｎについての相関係数Ｒ２（ｘｎ、ｙ）が算出されると、ステップ１０５に進む。ステップ１０５では、ｎの初期化が行われる。即ち、ｎ＝１とされる。次いで、ステップ１０６に進む。
【００３４】
ステップ１０６では、ｎとｍが等しいが否かが判別される。ｎとｍが等しくないとき（ｎ≠ｍ）にはステップ１０７に進んで、各入力パラメータ候補ｘｎ同士の相関係数Ｒ２（ｘｎ、ｘｍ）が算出される。次いで、ステップ１０８に進む。一方、ステップ１０６においてｎとｍが等しいと判別されたときには、ステップ１０８にジャンプする。即ち、相関係数Ｒ２（ｘｎ、ｙ）は、ｎ≠ｍであるときのみ算出される。ステップ１０８では、ｍが１だけインクリメントされる（ｍ＝ｍ＋１）。次いで、ステップ１０９では、ｍ＝Ｎ+１になったか否かが判別される。ｍ＝Ｎ+１でないときにはステップ１０６に戻り、ｎ≠ｍである場合には、ステップ１０７に進んで、相関係数Ｒ２（ｘｎ、ｘｍ）が算出される。
【００３５】
一方、ステップ１０９において、ｍ＝Ｎ+１になったと判別されたときには、ステップ１１０に進んで、ｎが１だけインクリメントされる（ｎ＝ｎ＋１）。次いで、ステップ１１１では、ｎ＝Ｎ+１になったか否かが判別される。ｎ＝Ｎ+１でないときにはステップ１０６に戻り、ｎ≠ｍである場合には、ステップ１０７に進んで、相関係数Ｒ２（ｘｎ、ｘｍ）が算出される。一方、ステップ１１１において、ｎ＝Ｎ+１になったと判別されたときには、ステップ１１２に進む。即ち、ステップ１０７において、ｎ＝ｍを除く、ｘ１からｘＮまでの残りの全ての各入力パラメータ候補ｘｎ同士の相関係数Ｒ２（ｘｎ、ｘｍ）が算出されると、ステップ１１２に進む。ステップ１１２では、ｎの初期化が行われる。即ち、ｎ＝１とされる。次いで、ステップ１１３に進む。
【００３６】
ステップ１１３では、各入力パラメータ候補ｘｎに対し、既に算出されている相関係数Ｒ２（ｘｎ、ｙ）および相関係数Ｒ２（ｘｎ、ｘｍ）を用いて次式に基づき算出された報酬Ｑ（ｘｎ）が付与される。
【数１１】
2019143477.tif 000013
【００３７】
上式において、ａおよびｂは定数である。即ち、この報酬Ｑ（ｘｎ）は、図９Ａに示されるように、入力パラメータ候補ｘｎと出力パラメータｙとの相関係数Ｒ２（ｘｎ、ｙ）・ａから、入力パラメータ候補ｘｎとその他の入力パラメータ候補ｘｍとの相関係数の総和ΣＲ２（ｘｎ、ｘｍ）・ｂを減算した減算結果を示している、図９Ａから、入力パラメータ候補ｘｎと出力パラメータｙとの相関の度合いが高いほど報酬Ｑ（ｘｎ）が高くなり、入力パラメータ候補ｘｎとその他の入力パラメータ候補ｘｍとの相関の度合いが低いほど報酬Ｑ（ｘｎ）が高くなることがわかる。従って、報酬Ｑ（ｘｎ）が高いほど誤学習を抑制し得ることがわかる。
【００３８】
ステップ１１３において報酬Ｑ（ｘｎ）が付与されると、ステップ１１４に進み、報酬Ｑ（ｘｎ）が、暫定的に定められている閾値Ｔよりも大きいか否かが判別される。報酬Ｑ（ｘｎ）が閾値Ｔよりも大きいと判別されたときにはステップ１１５に進んで、ｘｎ が入力パラメータとして選定される。次いで、ステップ１１６に進む。これに対し、ステップ１１４において、報酬Ｑ（ｘｎ）が閾値Ｔよりも大きくないと判別されたときにはステップ１１６にジャンプする。従って、このときには、ｘｎ が入力パラメータとして選定されない。次いで、ステップ１１６では、ｎが１だけインクリメントされる（ｎ＝ｎ＋１）。次いで、ステップ１１７では、ｎ＝Ｎ+１になったか否かが判別される。ｎ＝Ｎ+１でないときにはステップ１１３に戻り、報酬Ｑ（ｘｎ）が算出される。一方、ステップ１１７において、ｎ＝Ｎ+１になったと判別されたときには、ステップ１１８に進む。
【００３９】
即ち、ステップ１１３において、ｘ１からｘＮまでの全ての入力パラメータ候補ｘｎについての報酬Ｑ（ｘｎ）が算出され、ステップ１１４および１１５において、全ての入力パラメータ候補ｘｎについて、入力パラメータとして選定するか否かの選定作業が完了したときにはステップ１１８に進む。ステップ１１８では、入力パラメータとして選定された入力パラメータ候補ｘｎと、出力パラメータｙを用いて、ニューラルネットワークの重みの学習が行われる。
【００４０】
図9Ｂには、報酬Ｑ（ｘｎ）と、閾値Ｔと、各入力パラメータ候補ｘｎと、選定された入力パラメータｘｎとが示されている。図9Ｂに示される例では、入力パラメータ候補ｘ１〜ｘＮ の内で、入力パラメータ候補ｘ１、ｘ３、ｘＮ−２, ｘＮ についての報酬Ｑ（ｘｎ）だけが閾値Ｔよりも大きく、従って、これら入力パラメータ候補ｘ１、ｘ３、ｘＮ−２, ｘＮ のみが、入力パラメータｘｎとして選定される。図8のステップ１1８では、これら入力パラメータとして選定された入力パラメータ候補ｘｎと、出力パラメータｙを用いて、ニューラルネットワークの重みの学習が行われる。
【００４１】
次に、図１０を参照しつつ、検証ルーチンについて説明する。図１０を参照すると、まず初めに、ステップ２００において、予め定められた走行パターンで車両が走行され、そのときのデータ、即ち、図８のステップ１１５において選定された選定入力パラメータｘｎと排気ガス中のNOX濃度が取得される。次いで、ステップ２０１では、図８のステップ１１８において重みの学習が行われたニューラルネットワークを用いて、ステップ２００において取得された選定入力パラメータｘｎと排気ガス中のNOX濃度から、出力パラメータの推定値ｙｅ が算出される。次いで、ステップ２０２では、排気ガス中のNOX濃度の実測値、即ち、出力パラメータの実測値ｙと出力パラメータの推定値ｙｅと相関係数Ｒ２（ｙ、ｙｅ）が算出される。
【００４２】
次いで、ステップ２０３では、相関係数Ｒ２（ｙ、ｙｅ）が要求精度Ｓよりも大きいか否かが判別される。相関係数Ｒ２（ｙ、ｙｅ）が要求精度Ｓよりも大きいと判別されたときには処理サイクルを完了する。このときには、図８のステップ１１５において選定された選定入力パラメータｘｎが最終的な選定入力パラメータｘｎとされる。これに対し、ステップ２０３において、相関係数Ｒ２（ｙ、ｙｅ）が要求精度Ｓよりも大きくないと判別されたときには、ステップ２０４に進んで、閾値Ｔを増減させることにより、選定入力パラメータｘｎの再選定が行われる。図１１Ａおよび図１１Ｂは、この選定入力パラメータｘｎの再選定の様子を示している。
【００４３】
即ち、まず初めに、ステップ２０４では、閾値Ｔに修正値ΔＴが加算される。このときの閾値Ｔが、図１１ＡにおいてＴ２で示されている。次いで、ステップ２０５では、選定入力パラメータｘｎについて既に付与されている報酬Ｑ（ｘｎ）と新たな閾値Ｔとが比較され、新たな閾値Ｔよりも報酬Ｑ（ｘｎ）の大きい選定入力パラメータｘｎが、新たな選定入力パラメータｘｎとして選定される。次いで、ステップ２０６では、新たな選定入力パラメータ候補ｘｎと、出力パラメータｙを用いて、ニューラルネットワークの重みの学習が行われる。次いで、ステップ２０７では、ステップ２０６において重みの学習が行われたニューラルネットワークを用いて、新たな選定入力パラメータｘｎと排気ガス中のNOX濃度から、出力パラメータの推定値ｙｅ が算出される。
【００４４】
次いで、ステップ２０８では、排気ガス中のNOX濃度の実測値、即ち、出力パラメータの実測値ｙと出力パラメータの推定値ｙｅと相関係数Ｒ２（ｙ、ｙｅ）が算出される。次いで、ステップ２０９では、相関係数Ｒ２（ｙ、ｙｅ）が増加したか否かが判別される。相関係数Ｒ２（ｙ、ｙｅ）が増加したと判別されたときにはステップ２０３に戻り、再び、相関係数Ｒ２（ｙ、ｙｅ）が要求精度Ｓよりも大きいか否かが判別される。相関係数Ｒ２（ｙ、ｙｅ）が要求精度Ｓよりも大きいと判別されたときには処理サイクルを完了し、新たな選定入力パラメータｘｎが最終的な選定入力パラメータｘｎとされる。
【００４５】
一方、ステップ２０９において、相関係数Ｒ２（ｙ、ｙｅ）が増加しないと判別されたときには、ステップ２１０に進んで、閾値Ｔに対する修正値ΔＴが、―ΔＴとされる。次いで、ステップ２０３に進む。このときには、ステップ２０３からステップ２０４に進み、今度は、閾値Ｔから修正値ΔＴが減算される。なお、最初にステップ２１０に進んだときだけ、閾値Ｔに対する修正値ΔＴを―２ΔＴとすることができ、このときの閾値Ｔが、図１１ＡにおいてＴ１で示されている。次いで、ステップ２０５に進み、以下、上述した処理と同様の処理が行われる。このように、閾値Ｔを増減させることによって、図１１Ｂからわかるように、相関係数Ｒ２（ｙ、ｙｅ）が要求精度Ｓよりも大きくなる最終的な選定入力パラメータｘｎを探索することができる。
【００４６】
図１２に実験結果を示す。図１２において上方のグラフは、選定入力パラメータｘｎが再選定される前の実NOX濃度と推定NOX濃度とを示しており、図１２において下方のグラフは、選定入力パラメータｘｎが再選定された後の実NOX濃度と推定NOX濃度とを示している。これらのグラフから、選定入力パラメータｘｎが再選定されると、実NOX濃度に対する推定NOX濃度の誤差が抑制されることがわかる。因みに、上方のグラフは、入力パラメータとして、機関回転数、燃料噴射弁４からの燃料噴射量、燃料噴射弁４からの燃料噴射時期、燃料分配管２２内の燃料圧、ＥＧＲ率、過給圧およびサージタンク５内の吸気温が用いられている場合を示しており、下方のグラフは、これらの入力パラメータから、サージタンク５内の吸気温が除外された場合を示している。
【符号の説明】
【００４７】
１      内燃機関
２      燃焼室
３      点火栓
４      燃料噴射弁
１２    スロットル弁
２５    過給圧センサ
２６    吸気温センサ
２７    燃料圧センサ
２８    NOXセンサ
３０    電子制御ユニット
【図１】
2019143477.tif 000014
【図２】
2019143477.tif 000015
【図３】
2019143477.tif 000016
【図４】
2019143477.tif 000017
【図５】
2019143477.tif 000018
【図６】
2019143477.tif 000019
【図７】
2019143477.tif 000020
【図８】
2019143477.tif 000021
【図９】
2019143477.tif 000022
【図１０】
2019143477.tif 000023
【図１１】
2019143477.tif 000024
【図１２】
2019143477.tif 000025