(57)【要約】      （修正有）【課題】教師データにノイズが重畳された場合であっても、学習モデルの学習においてそのノイズが与える影響を抑制可能な内燃機関の制御装置を提供する。【解決手段】内燃機関の制御装置は、入力パラメータの実測値が入力されると、学習モデルを用いて出力パラメータの予測値を出力するパラメータ値出力部２２１と、出力パラメータの予測値に基づいて内燃機関を制御する機関制御部２２２と、入力パラメータ及び出力パラメータの実測値の組を教師データとして勾配法を用いて学習モデルの学習を行う学習部２２３と、入力パラメータ及び出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳されたノイズの量が相対的に小さい場合に比べて、小さい学習率で学習が行われるように学習率を調整する学習率調整部２２５と、を備える。【選択図】図１
2020063699.tif 000002
【特許請求の範囲】
【請求項１】
車両の内燃機関の運転を制御する内燃機関の制御装置であって、
入力パラメータの実測値が入力されると、学習モデルを用いて、出力パラメータの予測値を出力するパラメータ値出力部と、
前記パラメータ値出力部から出力された前記出力パラメータの予測値に基づいて、前記内燃機関を制御する機関制御部と、
前記学習モデルの入力パラメータの実測値と前記学習モデルの出力パラメータの実測値との組を教師データとして、勾配法を用いて前記学習モデルの学習を行う学習部と、
前記入力パラメータ及び前記出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さい学習率で前記学習が行われるように前記学習率を調整する学習率調整部と、
を備えた、内燃機関の制御装置。
【請求項２】
前記入力パラメータの実測値及び前記出力パラメータの実測値に重畳された前記ノイズの量を検出するノイズ量検出部をさらに備え、
前記ノイズ量検出部は、機関運転状態が定常状態にあるときに検出された前記入力パラメータ及び前記出力パラメータの前記実測値に基づいて各パラメータについての標準偏差又はＳＮ比の逆数を算出し、各パラメータについての前記標準偏差又は前記ＳＮ比の逆数を各パラメータについての前記ノイズの量として用いる、請求項１に記載の内燃機関の制御装置。
【請求項３】
前記学習率調整部は、前記少なくともいずれか１つのパラメータの実測値に重畳された前記ノイズの量が大きいほど、学習率が小さくなるように前記学習率を調整する、請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
前記学習率調整部は、前記入力パラメータ及び前記出力パラメータの各々の実測値に重畳された前記ノイズの量がそのパラメータに対して設定された閾値以下である場合には、前記少なくともいずれか１つのパラメータの実測値に重畳された前記ノイズの量が前記閾値よりも大きい場合の学習率よりも大きい一定の学習率に維持されるように前記学習率を調整する、請求項１乃至３のいずれか一項に記載の内燃機関の制御装置。
【請求項５】
前記内燃機関の制御装置は、前記車両に設けられた電子制御ユニットである、請求項１乃至４のいずれか一項に記載の内燃機関の制御装置。
【請求項６】
前記内燃機関の制御装置は、前記車両に設けられた電子制御ユニットと、前記車両の外部に設置されて前記電子制御ユニットと通信可能に構成されたサーバと、を備え、
前記電子制御ユニットは、前記パラメータ値出力部と、前記機関制御部と、を備え、
前記サーバは、前記学習部と、前記学習率調整部と、を備え、
前記電子制御ユニットは、前記教師データを前記サーバに送信し、
前記学習率調整部は、前記教師データに含まれる前記入力パラメータの実測値及び前記出力パラメータの実測値に重畳する前記ノイズの量に基づいて前記学習率を調整し、
前記学習部は、前記電子制御ユニットから受信した前記教師データを用いて前記学習モデルの学習を行い、前記学習後の学習モデルを前記電子制御ユニットに送信し、
前記パラメータ値出力部は、前記学習部から前記電子制御ユニットに送信された前記学習後の学習モデルを用いる、請求項１乃至４のいずれか一項に記載の内燃機関の制御装置。
【請求項７】
学習モデルを用いて、車両の内燃機関の運転を制御する内燃機関の制御方法であって、
前記学習モデルの入力パラメータ及び前記学習モデルの出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さくなるように学習率を調整するステップと、
前記入力パラメータの実測値と前記出力パラメータの実測値との組を教師データとして、前記調整された学習率を用いて勾配法により前記学習モデルの学習を行うステップと、
前記入力パラメータの実測値が入力されると、前記学習モデルを用いて、前記出力パラメータの予測値を出力するステップと、
前記出力された出力パラメータの予測値に基づいて、前記内燃機関を制御するステップと、
をプロセッサに実行させる、内燃機関の制御方法。
【請求項８】
入力パラメータの実測値が入力されると、内燃機関の制御に用いられる出力パラメータの予測値を出力するよう、プロセッサを機能させる学習モデルであって、
前記学習モデルは、前記入力パラメータの実測値と出力パラメータの実測値との組を教師データとして勾配法により学習され、
前記学習では、前記入力パラメータ及び前記出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さい学習率となるように調整された学習率が用いられる、内燃機関を制御するための学習モデル。
【請求項９】
入力パラメータの実測値が入力されると、内燃機関の制御に用いられる出力パラメータの予測値を出力するよう、プロセッサを機能させる学習モデルの学習方法であって、
前記学習モデルは、前記入力パラメータの実測値と出力パラメータの実測値との組を教師データとして勾配法により学習され、
前記学習では、前記入力パラメータ及び前記出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さい学習率となるように調整された学習率が用いられる、内燃機関を制御するための学習モデルの学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、内燃機関の制御装置及びその制御方法、並びに内燃機関を制御するための学習モデル及びその学習方法に関する。
【背景技術】
【０００２】
従来から、機械学習によって学習された学習モデルを用いて、車両の内燃機関を制御する技術が公知である（例えば、特許文献１参照）。特に、特許文献１に記載の各モデルでは、内燃機関の運転に関する複数の入力パラメータが入力されると、ニューラルネットワークを用いて、吸気ガス、排気ガス及びＥＧＲガスの流量がそれぞれ出力される。この機械学習では、学習モデルが出力した出力パラメータの予測値と出力パラメータの実際の値との誤差が小さくなるように、学習モデルを作成することが重要である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１２２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、学習モデルを用いる内燃機関の制御装置において、運転中に取得した車両固有の教師データに基づいて学習モデルの学習を行う場合が想定される。これにより、車両固有の特性が学習後の学習モデルに反映される。そのため、学習モデルから出力された出力パラメータの予測値とその出力パラメータの実際の値との誤差（以下、「予測誤差」という）を低減することが可能となる。斯かる学習モデルによれば、内燃機関をより適切に制御することが可能となる。
【０００５】
しかしながら、運転中に取得した教師データには、例えば走行環境や走行条件などの様々な要因によりノイズが重畳される。教師データに重畳されたノイズの量が大きくなると、学習モデルの学習の際に学習結果にノイズが反映されやすくなる。その結果、学習の収束性が悪化し、学習モデルにおける予測誤差が増大する虞がある。
【０００６】
本開示は、上記課題に鑑みてなされたものであり、その目的は、教師データにノイズが重畳された場合であっても、学習モデルの学習においてそのノイズが与える影響を抑制可能な内燃機関の制御装置及びその制御方法、並びに内燃機関を制御するための学習モデル及びその学習方法を提供することにある。
【課題を解決するための手段】
【０００７】
本開示の要旨は、以下の通りである。
（１）車両の内燃機関の運転を制御する内燃機関の制御装置であって、入力パラメータの実測値が入力されると、学習モデルを用いて、出力パラメータの予測値を出力するパラメータ値出力部と、前記パラメータ値出力部から出力された前記出力パラメータの予測値に基づいて、前記内燃機関を制御する機関制御部と、前記学習モデルの入力パラメータの実測値と前記学習モデルの出力パラメータの実測値との組を教師データとして、勾配法を用いて前記学習モデルの学習を行う学習部と、前記入力パラメータ及び前記出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さい学習率で前記学習が行われるように前記学習率を調整する学習率調整部と、を備えた、内燃機関の制御装置。
（２）前記入力パラメータの実測値及び前記出力パラメータの実測値に重畳された前記ノイズの量を検出するノイズ量検出部をさらに備え、前記ノイズ量検出部は、機関運転状態が定常状態にあるときに検出された前記入力パラメータ及び前記出力パラメータの前記実測値に基づいて各パラメータについての標準偏差又はＳＮ比の逆数を算出し、各パラメータについての前記標準偏差又は前記ＳＮ比の逆数を各パラメータについての前記ノイズの量として用いる、上記（１）に記載の内燃機関の制御装置。
（３）前記学習率調整部は、前記少なくともいずれか１つのパラメータの実測値に重畳された前記ノイズの量が大きいほど、学習率が小さくなるように前記学習率を調整する、上記（１）又は（２）に記載の内燃機関の制御装置。
（４）前記学習率調整部は、前記入力パラメータ及び前記出力パラメータの各々の実測値に重畳された前記ノイズの量がそのパラメータに対して設定された閾値以下である場合には、前記少なくともいずれか１つのパラメータの実測値に重畳された前記ノイズの量が前記閾値よりも大きい場合の学習率よりも大きい一定の学習率に維持されるように前記学習率を調整する、上記（１）乃至（３）のいずれか１つに記載の内燃機関の制御装置。
（５）前記内燃機関の制御装置は、前記車両に設けられた電子制御ユニットである、上記（１）乃至（４）のいずれか１つに記載の内燃機関の制御装置。
（６）前記内燃機関の制御装置は、前記車両に設けられた電子制御ユニットと、前記車両の外部に設置されて前記電子制御ユニットと通信可能に構成されたサーバと、を備え、前記電子制御ユニットは、前記パラメータ値出力部と、前記機関制御部と、を備え、前記サーバは、前記学習部と、前記学習率調整部と、を備え、前記電子制御ユニットは、前記教師データを前記サーバに送信し、前記学習率調整部は、前記教師データに含まれる前記入力パラメータの実測値及び前記出力パラメータの実測値に重畳する前記ノイズの量に基づいて前記学習率を調整し、前記学習部は、前記電子制御ユニットから受信した前記教師データを用いて前記学習モデルの学習を行い、前記学習後の学習モデルを前記電子制御ユニットに送信し、前記パラメータ値出力部は、前記学習部から前記電子制御ユニットに送信された前記学習後の学習モデルを用いる、上記（１）乃至（４）のいずれか１つに記載の内燃機関の制御装置。
（７）学習モデルを用いて、車両の内燃機関の運転を制御する内燃機関の制御方法であって、前記学習モデルの入力パラメータ及び前記学習モデルの出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さくなるように学習率を調整するステップと、前記入力パラメータの実測値と前記出力パラメータの実測値との組を教師データとして、前記調整された学習率を用いて勾配法により前記学習モデルの学習を行うステップと、前記入力パラメータの実測値が入力されると、前記学習モデルを用いて、前記出力パラメータの予測値を出力するステップと、前記出力された出力パラメータの予測値に基づいて、前記内燃機関を制御するステップと、をプロセッサに実行させる、内燃機関の制御方法。
（８）入力パラメータの実測値が入力されると、内燃機関の制御に用いられる出力パラメータの予測値を出力するよう、プロセッサを機能させる学習モデルであって、前記学習モデルは、前記入力パラメータの実測値と出力パラメータの実測値との組を教師データとして勾配法により学習され、前記学習では、前記入力パラメータ及び前記出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さい学習率となるように調整された学習率が用いられる、内燃機関を制御するための学習モデル。
（９）入力パラメータの実測値が入力されると、内燃機関の制御に用いられる出力パラメータの予測値を出力するよう、プロセッサを機能させる学習モデルの学習方法であって、前記学習モデルは、前記入力パラメータの実測値と出力パラメータの実測値との組を教師データとして勾配法により学習され、前記学習では、前記入力パラメータ及び前記出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳された前記ノイズの量が相対的に小さい場合に比べて、小さい学習率となるように調整された学習率が用いられる、内燃機関を制御するための学習モデルの学習方法。
【発明の効果】
【０００８】
本開示によれば、教師データにノイズが重畳された場合であっても、学習モデルの学習においてそのノイズが与える影響を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本開示の第１の実施形態に係る内燃機関及び内燃機関を制御する電子制御ユニットの概略構成図である。
【図２】図２は、ニューラルネットワークの一例を示す図である。
【図３】図３は、任意の一つの重みと誤差関数Ｅ（ｗ）との関係の一例を示す図である。
【図４】図４は、第１の実施形態に係る学習モデルにおけるニューラルネットワークの具体例を示す図である。
【図５】図５は、教師データにノイズが重畳された場合における、任意の一つの重みと誤差関数Ｅ（ｗ）との関係の一例を示す図である。
【図６】図６は、第１の実施形態に係る学習モデルの学習処理の制御ルーチンを説明するためのフローチャートである。
【図７】図７は、ノイズ重畳の有無及び学習率の調整による学習結果の変化例について説明するための図である。
【図８】図８は、変形例に係る学習モデルの学習処理の制御ルーチンを説明するためのフローチャートである。
【図９】図９は、第２の実施形態に係る内燃機関の制御装置の概略構成図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本開示の実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
【００１１】
＜第１の実施形態＞
≪内燃機関の構成≫
図１は、第１の実施形態に係る内燃機関及び内燃機関を制御する電子制御ユニット（ＥＣＵ）の概略構成図である。図１には、機関本体１と、吸気マニホルド４と、排気マニホルド５とを備えた内燃機関１００が示されている。図１に示されるように、機関本体１は、各気筒の燃焼室２内に燃料を供給する燃料噴射弁３を備える。吸気マニホルド４は吸気ダクト６を介して排気ターボチャージャ７のコンプレッサ７ａの出口に連結され、コンプレッサ７ａの入口はエアクリーナ９に連結される。吸気ダクト６内にはスロットルアクチュエータ１０により開閉駆動されるスロットル弁１１が配置され、吸気ダクト６周りには吸気ダクト６内を流れる吸入空気を冷却するためのインタクーラ１２が配置される。
【００１２】
一方、排気マニホルド５は排気ターボチャージャ７の排気タービン７ｂの入口に連結され、排気タービン７ｂの出口は排気管１３を介して排気浄化用触媒コンバータ１４に連結される。図１に示される例では、この排気浄化用触媒コンバータ１４内に、上流側から順に、酸化触媒１５とパティキュレートフィルタ１６とが収容されている。排気マニホルド５と吸気マニホルド４とは排気ガス再循環（以下、「ＥＧＲ」という）通路１７を介して互いに連結され、ＥＧＲ通路１７内にはＥＧＲ制御弁１８が配置される。更に、ＥＧＲ通路１７内にはＥＧＲ通路１７内を流れるＥＧＲガスを冷却するためのＥＧＲクーラ１９が配置される。各燃料噴射弁３は燃料供給管２０を介してコモンレール２１に連結され、このコモンレール２１は燃料ポンプ２２を介して燃料タンク２３に連結される。
【００１３】
図１に示されるように、吸気マニホルド４には、吸気マニホルド４内の吸気温を検出するための吸気温センサ２４が配置され、排気マニホルド５には、排気マニホルド５内の排気温を検出するための排気温センサ２５が配置されている。吸気管８には、吸気管８内を流れる空気の流量を検出するエアフローメータ８ａが配置されている。また、機関本体１には、機関冷却水の温度（以下、単に「水温」という）を検出するための水温センサ２６と、機関本体１の摩擦摺動部を潤滑する潤滑油の温度（以下、単に「油温」という）を検出する油温センサ２７と、が配置されている。
【００１４】
スロットルアクチュエータ１０には、スロットル弁１１の開度（以下、「スロットル開度」という）を検出するためのスロットル開度センサ１０ａが配置されている。ＥＧＲ制御弁１８には、ＥＧＲ制御弁１８の開度（以下、「ＥＧＲ弁開度」という）を検出するためのＥＧＲ弁開度センサ１８ａが配置されている。
【００１５】
排気管１３内には、排気ガス中の気体濃度を検出するための気体濃度センサ２８及び排気ガスの空燃比を検出するための空燃比センサ２９がそれぞれ配置されている。気体濃度センサ２８は、例えば、排気ガス中のＮＯx濃度を検出するＮＯxセンサとすることができる。気体濃度センサ２８として、ＮＯxセンサの他にも、学習モデル及び後述する学習モデルで用いられるパラメータに応じて、例えば、排気ガス中のＨＣ濃度、ＣＯ濃度、ＣＯ2濃度をそれぞれ検出するＨＣセンサ、ＣＯセンサ、ＣＯ2センサ等、これらセンサを適宜用いることができる。
≪ＥＣＵの構成≫
【００１６】
電子制御ユニット（ＥＣＵ）２００は、双方性バス２０１によって互いに接続された記憶部２１０、制御部２２０、入力ポート２３０及び出力ポート２４０を備える。
【００１７】
記憶部２１０は、例えばＲＯＭ（リードオンリメモリ）やＲＡＭ（ランダムアクセスメモリ）等を含むことができる。記憶部２１０は、制御部２２０による処理に用いられる各種のプログラムや学習モデル、各種のデータ（例えば、各種パラメータ、教師データ、及び各種閾値など）を記憶する。
【００１８】
制御部２２０は、例えばＣＰＵ及びその周辺回路等を有するプロセッサとすることができる。制御部２２０は、記憶部２１０に記憶された各種のプログラムを実行することにより車両の各種制御を実行することができる。
【００１９】
図１に示されるように、制御部２２０は、制御部２２０のプロセッサ上で実行されるプログラムにより実装される複数の機能モジュールを含む。具体的には、制御部２２０は、機能モジュールとして、パラメータ値出力部２２１と、機関制御部２２２と、学習部２２３と、ノイズ量検出部２２４と、学習率調整部２２５と、を含む。
【００２０】
入力ポート２３０には、エアフローメータ８ａ、スロットル開度センサ１０ａ、ＥＧＲ弁開度センサ１８ａ、吸気温センサ２４、排気温センサ２５、水温センサ２６、油温センサ２７、気体濃度センサ２８空燃比センサ２９、内燃機関１００の出力トルク（以下、「トルク」という）を検出するトルクセンサ５１及びノッキングの有無を検出するノッキングセンサ５２などの出力信号が、対応する各ＡＤ変換器２３１を介して入力される。また、入力ポート２３０には、機関負荷を検出するための信号として、アクセルペダル５３の踏み込み量に比例した出力電圧を発生する負荷センサ５３ａの出力電圧が、対応するＡＤ変換器２３１を介して入力される。また、入力ポート２３０には、機関回転速度などを算出するための信号として、クランクシャフトが例えば１５°回転する毎に出力パルスを発生するクランク角センサ５４の出力信号が入力される。このように、入力ポート２３０には、内燃機関１００を制御するために必要な各種センサの出力信号が入力される。
【００２１】
出力ポート２４０は、対応する駆動回路２４１を介して、燃料噴射弁３、スロットルアクチュエータ１０、ＥＧＲ制御弁１８及び燃料ポンプ２２などの各制御部品に電気的に接続されている。
【００２２】
ＥＣＵ２００は、入力ポート２３０に入力された各種センサの出力信号に基づいて、各制御部品を制御するための制御信号を出力ポート２４０から出力して内燃機関１００を制御する。したがって、本実施形態では、ＥＣＵ２００は、内燃機関１００の制御装置として機能する。
【００２３】
≪ニューラルネットワークの概要≫
本実施形態では、学習モデルは、ニューラルネットワークを用いる。まず、図２を参照して、本実施形態に係る学習モデルにおいて用いられるニューラルネットワークについて説明する。図２は、ニューラルネットワークの一例を示す。図２における丸印は、人工ニューロンを表している。ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される（以下、「ノード」という）。図２において、Ｌ＝１は入力層、Ｌ＝２およびＬ＝３は隠れ層、Ｌ＝４は出力層を各々示す。また、図２において、ｘ1およびｘ2は入力層（Ｌ＝１）のノード及びそのノードからの出力値を示し、ｙは出力層（Ｌ＝４）の各ノード及びそのノードからの出力値を示す。同様に、隠れ層（Ｌ＝２）のｚ1、ｚ2およびｚ3は隠れ層（Ｌ＝２）の各ノードからの出力値を示し、隠れ層（Ｌ＝３）のｚ1およびｚ2は隠れ層（Ｌ＝３）の各ノードからの出力値を示す。なお、隠れ層の層数は、１個又は任意の個数とすることができ、入力層のノードの数および隠れ層のノードの数も任意の個数とすることができる。なお、本実施形態では、出力層のノードの数は１個とされている。
【００２４】
入力層の各ノードでは、入力がそのまま出力される。一方、隠れ層（Ｌ＝２）の各ノードには、入力層の各ノードの出力値ｘ1およびｘ2が入力される。隠れ層（Ｌ＝２）の各ノードでは、各々対応する重みｗおよびバイアスｂを用いて総入力値ｕが算出される。例えば、図２において隠れ層（Ｌ＝２）のｚk（ｋ＝１，２，３）で示されるノードにおいて算出される総入力値ｕkは、次式のようになる（Ｍは入力層のノードの数）。
【数１】
2020063699.tif 000003
【００２５】
次いで、この総入力値ｕkは、活性化関数ｆにより変換され、隠れ層（Ｌ＝２）のｚkで示されるノードから、出力値ｚk（＝ｆ（ｕk））として出力される。一方、隠れ層（Ｌ＝３）の各ノードには、隠れ層（Ｌ＝２）の各ノードの出力値ｚ1、ｚ2およびｚ3が入力される。隠れ層（Ｌ＝３）の各ノードでは、各々対応する重みｗおよびバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出される。この総入力値ｕは、同様に活性化関数ｆにより変換され、隠れ層（Ｌ＝３）の各ノードから、出力値ｚ1、ｚ2として出力される。なお、本実施形態では、この活性化関数としてシグモイド関数σが用いられている。
【００２６】
一方、出力層（Ｌ＝４）のノードには、隠れ層（Ｌ＝３）の各ノードの出力値ｚ1およびｚ2が入力される。出力層のノードでは、各々対応する重みｗおよびバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出されるか、又は、各々対応する重みｗのみを用いて総入力値ｕ（Σｚ・ｗ）が算出される。本実施形態では、出力層のノードでは活性化関数として恒等関数が用いられており、したがって、出力層のノードからは、出力層のノードにおいて算出された総入力値ｕが、そのまま出力値ｙとして出力される。
【００２７】
≪ニューラルネットワークにおける学習≫
本実施形態では、勾配法、特に勾配降下法を用いて、学習モデルのニューラルネットワークにおける重みやバイアスの学習が行われる。この勾配降下法は周知であり、したがって、勾配降下法についてはその概要を以下に簡単に説明する。なお、バイアスｂは重みｗの一種なので、以下の説明では、バイアスｂは重みｗの一つとしている。また、重みやバイアスの学習は学習部２２３において行われる。
【００２８】
勾配降下法では、ニューラルネットワークにおける重みｗの値の学習は、誤差関数Ｅ（ｗ）についての勾配∂Ｅ（ｗ）/∂ｗを用いて、Ｅ（ｗ）の値を減少させるように行われる。具体的には、勾配降下法では、Ｔ回目（Ｔは１以上の任意の整数）の更新後の重みｗ(T)が以下の（１）式により算出され、斯かる更新を繰り返すことによって重みの学習が行われる。
ｗ(T)＝ｗ(T-1)−η（∂Ｅ（ｗ(T-1)）/∂ｗ(T-1)）      （１）
【００２９】
（１）式のηは、学習率であり、学習における重みｗの更新量を調整するためのものである。学習率ηは、学習に伴って繰り返し更新されることのないハイパーパラメータである。（１）式からわかるように、ｗ(T-1)からｗ(T)への重みの更新量は、Ｅ（ｗ(T-1)）の勾配の絶対値及び学習率ηに比例する。学習率が小さいと、すなわち１回の更新における重みｗの更新量が小さいと、学習が収束しやすくなるが、学習が収束するまでに要する重みの更新回数が多くなるため、学習に時間がかかってしまう。一方で、学習率が大きすぎると、学習が収束しにくくなり、さらには学習が発散してしまう虞がある。学習率ηを適切に設定することができれば、より少ない重みｗの更新回数により、すなわちより短時間の学習により、Ｅ（ｗ）が最小値を取るときの重みｗの値を求めることが可能となる。
【００３０】
図３を用いて、勾配降下法について説明する。図３は、任意の一つの重みと誤差関数Ｅ（ｗ）との関係の一例を示す図である。なお、図３では重みとＥ（ｗ）との具体的な関係を便宜上示しているが、実際の学習では、斯かる具体的な関係は不明である。ただし、学習中には現在の重みｗにおけるＥ（ｗ）の値が得られる他、後述する誤差逆伝搬法等により勾配∂Ｅ（ｗ）/∂ｗが得られる。勾配降下法では、勾配∂Ｅ（ｗ）/∂ｗの情報を用いてＥ（ｗ）が最小値を取るときの重みｗが求められる。
【００３１】
図３には、学習によって重みｗを繰り返し更新したときの重みｗが変化していく様子を示している。図３に示した例では、重みの初期値がｗ(0)となっている。そして、図３に示されるように、１回目の更新では、勾配∂Ｅ（ｗ(0)）/∂ｗ(0)の方向は正の方向であるため、重みは（１）式に基づいてｗ(0)からｗ(1)へと負の方向に更新される。図３に示されるように、２回目の更新では、勾配∂Ｅ（ｗ(1)）/∂ｗ(1)の方向は負の方向であるため、重みは（１）式に基づいてｗ(1)からｗ(2)へと正の方向に更新される。その後、（１）式に基づいて、ｗ(2)からｗ(3)、ｗ(3)からｗ(4)、ｗ(4)からｗ(5)へと斯かる重みの更新が繰り返される。図３に示される例では、更新を繰り返す毎に、Ｅ（ｗ）の勾配の絶対値が小さくなっているため、重みｗの更新量も小さくなる。その結果、重みｗは、Ｅ（ｗ）が最小値を取るときの重みｗminに向けて収束する。Ｔ回目（予め設定された任意の回数）の重みｗ(T)の更新が行われると、学習が終了する。斯かる学習により、Ｅ（ｗ）が小さくなるように重みｗが更新される結果、学習モデルにおける予測誤差を小さくすることが可能となる。
【００３２】
次に、上記式（１）で用いられる勾配∂Ｅ（ｗ）/∂ｗの算出方法について説明する。本実施形態では、勾配∂Ｅ（ｗ）/∂ｗは、誤差逆伝播法を用いて算出される。この誤差逆伝播法も周知であり、したがって、誤差逆伝播法についてもその概要を以下に簡単に説明する。
【００３３】
さて、図２に示されるようなニューラルネットワークにおいて、Ｌ＝２、Ｌ＝３又はＬ＝４の各層のノードへの入力値ｕ(L)における重みをｗ(L)と表すと、誤差関数Ｅの重みｗ(L)による偏微分、即ち、勾配∂Ｅ/∂ｗ(L)は、次の（２）式で示される。
【数２】
2020063699.tif 000004
【００３４】
ここで、ｚ(L-1)・∂ｗ(L)＝∂ｕ(L)であるので、（∂Ｅ/∂ｕ(L)）＝δ(L)とすると、上記（２）式は、次の（３）式で表すことができる。
【数３】
2020063699.tif 000005
【００３５】
ここで、ｕ(L)が変動すると、次の層の総入力値ｕ(L+1)の変化を通じて誤差関数Ｅの変動を引き起こすので、δ(L)は、次の（４）式で表すことができる（ＫはＬ＋１層におけるノードの数）。
【数４】
2020063699.tif 000006
ここで、z(L)＝ｆ（ｕ(L)）と表すと、上記（４）式の右辺に現れる入力値ｕk(L+1)は、次の（５）式で表すことができる。
【数５】
2020063699.tif 000007
【００３６】
ここで、上記（４）式の右辺第１項（∂Ｅ/∂ｕ(L+1)）はδ(L+1)である。上記（４）式の右辺第２項（∂uk(L+1)/∂ｕ(L)）は、上記（５）式より、次の（６）式で表すことができる。
【数６】
2020063699.tif 000008
【００３７】
したがって、δ(L)は、上記（４）乃至（６）式より、次の（７）式で表すことができる。
【数７】
2020063699.tif 000009
【００３８】
即ち、δ(L+1)が求まると、δ(L)を求めることができる。
【００３９】
さて、或る入力値ｘ及びその入力値ｘに対する正解データｔを含む教師データが求められており、この入力値ｘに対する出力層からの出力値がｙであった場合、誤差関数として二乗誤差が用いられている場合には、二乗誤差Ｅは、Ｅ＝（ｙ−ｔ）2/２で求められる。図２に示される出力層（Ｌ＝４）のノードでは、出力値ｙ＝ｆ（ｕ(L)）となるため、この場合には、出力層（Ｌ＝４）のノードにおけるδ(L)の値は、次の（８）式で示される。
【数８】
2020063699.tif 000010
【００４０】
ところで、本実施形態では、前述したように、ｆ（ｕ(L)）は恒等関数であるため、ｆ’（ｕ(Ll)）＝１となる。したがって、δ(L)＝ｙ−ｔとなり、δ(L)を求めることができる。
【００４１】
δ(L)が求まると、上記（７）式を用いて前層のδ(L-1)を求めることができる。このようにして順次、前層のδが求められ、これらδの値を用いて、上記（３）式から、各重みｗについて誤差関数Ｅの偏微分、即ち、勾配∂Ｅ/∂ｗ(L)を求めることができる。
【００４２】
≪学習モデルの概要≫
本実施形態における学習モデルの概要について説明する。まず、本実施形態における学習モデルで用いられる入力パラメータの一例を説明する。本実施形態における学習モデルの入力パラメータは、点火時期、燃料噴射量、燃料噴射時期、内燃機関の吸気弁の開閉タイミング及び排気弁の開閉タイミング、スロットル開度、ＥＧＲ弁開度、吸気温、水温、油温並びに機関回転速度のうち、２つ以上を含むことができる。
【００４３】
次に、各入力パラメータの実測値の取得方法の一例を説明する。点火時期、燃焼噴射量、燃料噴射時期、並びに内燃機関の吸気弁の開閉タイミング及び排気弁の開閉タイミングは、それぞれ、ＥＣＵ２００の指令値から取得される。スロットル開度、ＥＧＲ弁開度、水温、吸気温及び油温は、それぞれ、スロットル開度センサ１０ａ、ＥＧＲ弁開度センサ１８ａ、吸気温センサ２４、水温センサ２６及び油温センサ２７の出力値から取得される。機関回転速度は、クランク角センサ５４の出力信号に基づくＥＣＵ２００の算出値から取得される。
【００４４】
次に、本実施形態における学習モデルで用いられる出力パラメータの一例を説明する。本実施形態における学習モデルの出力パラメータは、排気温、排気ガス中のＮＯx濃度、ＨＣ濃度、ＣＯ濃度及びＣＯ2濃度、排気ガスの空燃比、内燃機関１００の出力トルク並びにノッキング判定値のうち、少なくとも１つを含むことができる。
【００４５】
図４は、本実施形態に係る学習モデルにおけるニューラルネットワークの具体例を示す。図４に示される学習モデルにおけるニューラルネットワークは、点火時期、燃料噴射量、スロットル開度、機関回転速度を入力パラメータとし、トルクを出力パラメータとしている。本実施形態では、学習モデルのニューラルネットワークはＰ層（Ｐは３以上の任意の整数）で構成され、各隠れ層におけるノードの数は任意の個数とすることができる。また、図４に示される学習モデルにおけるニューラルネットワークにおいては、入力層（Ｌ＝１）は、４つの入力パラメータに対応して４個のノードを有しているが、入力パラメータの数に応じて４以外の任意の個数のノードを有していてもよい。
【００４６】
≪学習モデルを用いた制御及び学習の概要≫
内燃機関の運転時には、パラメータ値出力部２２１に、入力パラメータの実測値、すなわち点火時期、燃料噴射量、スロットル開度、機関回転速度の実測値が入力される。パラメータ値出力部２２１は、これら入力パラメータの実測値が入力されると、図４に示される学習モデルを用いて、出力パラメータの予測値、すなわちトルクの予測値を出力する。ここで、トルクの予測値は将来の値となっており、トルクの予測値が出力されたときの現在のトルク（すなわち、トルクセンサ５１によって検出されるトルク）とは異なる値となっている。
【００４７】
機関制御部２２２は、このようにしてパラメータ値出力部２２１から出力された出力トルクの予測値に基づいて、内燃機関１００を制御する。具体的には、例えば、パラメータ値出力部２２１から出力されたトルクの予測値が、機関負荷等に基づいて設定された目標トルクとは異なる値になっていた場合に、トルクの予測値が目標トルクとなるように内燃機関１００の制御パラメータ（例えば、スロットル開度、燃料噴射量、点火時期、等）の目標値が変更される。
【００４８】
一方、学習モデルの学習は、学習部２２３において行われる。学習部２２３は、学習モデルの入力パラメータの実測値と学習モデルの出力パラメータの実測値との組を教師データとして、上述したように勾配法を用いて学習モデルの学習を行う。入力パラメータの実測値は、パラメータ値出力部２２１に入力される場合と同様に取得される。また、出力パラメータとしてトルクを用いた場合、その実測値はトルクセンサ５１の出力値から取得される。
【００４９】
≪教師データにノイズが重畳した場合の勾配降下法の問題点≫
ところで、学習モデルとして、メーカ等によって出荷前に代表的な車両に対して学習された標準的なモデルを用いた場合には、その学習モデルには各車両固有の特性が反映されていない。したがって、斯かる学習モデルを用いて出力パラメータの値を推定すると、斯かる学習モデルから出力された出力パラメータの予測値とその出力パラメータの実際の値との間には誤差が生じる可能性がある。
【００５０】
そこで、学習モデルにおける重みｗに車両固有の特性を反映させて予測精度を向上させるべく、車両の運転中に取得した車両固有の教師データを用いて勾配降下法により重みｗの学習を行うことが考えられる。ところが、この場合、この教師データにおける入力パラメータの実測値及び出力パラメータの実測値には、例えば走行環境や走行条件などの様々な要因によりノイズが重畳される。誤差関数Ｅは上述したように教師データを用いて算出されるため、教師データにノイズが重畳された場合、誤差関数Ｅはそのノイズの影響を受けることとなる。
【００５１】
図５は、教師データにノイズが重畳された場合における、任意の一つの重みと誤差関数Ｅ（ｗ）の関係の一例を示す図である。図５に示す重みとＥ（ｗ）との関係は、本来図３に示されたような関係を有するときに、教師データにノイズが重畳されたような場合の関係を示している。図５に示される例では、重みと誤差関数Ｅ（ｗ）との関係は、教師データに重畳されたノイズの影響を受けた結果、図３に示される関係と比較して上下に波打つような形状を有している。
【００５２】
図５に示されるように、１回目の更新では、勾配∂Ｅ（ｗ(0)）/ｗ(0)は正であるため、重みは（１）式に基づいてｗ(0)からｗ(1)へと負の方向に更新される。図５に示されるように、２回目の更新では、勾配∂Ｅ（ｗ(1)）/ｗ(1)は正であるため、重みは（１）式に基づいてｗ(1)からｗ(2)へと負の方向に更新される。その後、（１）式に基づいて、ｗ(2)からｗ(3)、ｗ(3)からｗ(4)、ｗ(4)からｗ(5)へと斯かる重みの更新が繰り返される。この場合、図５からわかるように、重みｗは、Ｅ（ｗ）が最小値を取るときの重みｗminに収束せず、Ｔ回目の更新において重みｗ(T)はＥ（ｗ）が最小値を取るときの重みｗminから離れた値に収束している。
【００５３】
このように教師データにノイズが重畳された場合には、重みｗは、Ｅ（ｗ）が最小値を取るときの重みｗminに収束しにくくなる。その結果、場合によっては、図５に示されるように、この学習により得らえた重みｗ(T)における誤差関数Ｅ（ｗ(T)）の値は、重みの初期値ｗ(0)における誤差関数Ｅ（ｗ(0)）の値よりも大きくなる。このため、このようにして得られた重みｗ(T)を用いた場合、学習モデルにおける予測誤差が大きくなる可能性がある。特に、教師データにより大きなノイズが重畳された場合、そのノイズの影響が誤差関数Ｅ（ｗ）に現れやすくなるため、このように学習の収束性が悪化する可能性及び予測誤差が増大する可能性がより高くなる。
【００５４】
一方で、教師データとしてバッチ又はミニバッチが用いられる場合には、教師データのバッチサイズを大きくすれば、データが平均化されて、学習モデルの学習においてそのノイズが与える影響が小さくなる。そのため、学習の収束性の悪化及び学習モデルの予測誤差の増大が抑制される。しかし、バッチサイズを大きくすることに伴い、メモリの容量を増大することが必要となるため、車両の製造コストが増大するという問題がある。
【００５５】
≪学習率の調整≫
そこで、本実施形態では、学習率調整部２２５は、学習モデルの入力パラメータ及び出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳されたノイズの量が相対的に小さい場合に比べて、小さい学習率で学習が行われるように学習率ηを調整する。これにより、教師データにノイズが重畳された場合に学習における重みｗの更新量を小さくすることができるため、学習の収束性の悪化を抑制することが可能となる。そのため、学習後の学習モデルにおける予測誤差が増大することを抑制することが可能となる。このように、本実施形態によると、教師データにノイズが重畳された場合であっても、学習モデルの学習においてそのノイズが与える影響を抑制することができる。以下、本実施形態について詳細に説明する。
【００５６】
≪本実施形態に係る学習方法≫
次に、本実施形態に係る内燃機関の制御装置が実行する学習モデルの学習方法について説明する。図６は、第１の実施形態に係る内燃機関の制御装置における学習モデルの学習方法の制御ルーチンを説明するためのフローチャートである。本制御ルーチンのフローは、制御部２２０のプロセッサが、記憶部２１０に記憶されているプログラムを実行することにより実現される。本制御ルーチンは、内燃機関の運転中にニューラルネットワークにおける重みやバイアスを学習するのに必要な一連の教師データ（教師データのデータセット）が取得された後の所定のタイミングで実行される。
【００５７】
ステップＳ６０１では、ノイズ量検出部２２４が、学習部２２３で用いられる教師データにおける、入力パラメータの実測値及び出力パラメータの実測値に重畳されたノイズの量を検出する。ノイズ量検出部２２４は、入力パラメータ及び出力パラメータの全てについてその実測値に重畳されたノイズの量を検出してもよいし、そのうちの一部のパラメータについてその実測値に重畳されたノイズの量を検出するように構成されてもよい。本明細書では、「ノイズの量」は、各パラメータについて、真の値に対する車両に搭載されたセンサから出力された実測値の誤差に関連する量を表す。特に、ノイズの量は、真の値からセンサの実測値が乖離するほど大きくなる。
【００５８】
例えば、パラメータとして、機関回転速度を例にとって考える。車両が悪路を走行中に車両が大きく揺れると、クランク角センサ５４の搭載位置が変化し、その結果、クランク角センサ５４とクランクシャフトとの距離が変化する。このように距離が変化しているときにクランク角センサ５４から出力されたクランク角の実測値は、そのクランク角センサ５４の位置が変化していない場合におけるクランク角の実測値（真の値）とは乖離する。その結果、このときにクランク角センサ５４の出力に基づいて算出された機関回転速度の実測値は真の値に対して誤差をもった値となる。このようにして両者の間に誤差が生じている状態は、ノイズの量が大きくなっている状態を意味する。
【００５９】
具体的には、「ノイズの量」として公知の様々な指標を用いることができる。例えば、機関運転状態が定常状態にあるときに検出された各パラメータの多数の実測値の標準偏差を各パラメータについてのノイズの量として用いることができる。また、機関運転状態が定常状態にあるときに検出された各パラメータの実測値に基づいて各パラメータについてのＳＮ比の逆数を算出し各パラメータについてのＳＮ比の逆数を各パラメータについてのノイズの量として用いることができる。
【００６０】
以下では、ノイズの量として、ＳＮ比の逆数を用いた場合を例にとって説明する。なお、ＳＮ比は、例えば、各パラメータの多数の実測値の平均値と標準偏差とに基づいて算出される。ステップＳ６０１においてノイズ量検出部２２４がノイズの量を検出した後、制御ルーチンは、ステップＳ６０２へと進む。
【００６１】
ステップＳ６０２では、学習率調整部２２５が、学習部２２３で学習が行われる際の学習率ηを調整する。学習率ηは、ノイズ量検出部２２４において検出されたノイズの量のうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳されたノイズの量が相対的に小さい場合に比べて、小さい学習率で学習が行われるように調整される。
【００６２】
学習率調整部２２５は、例えば、ノイズ量検出部２２４において検出されたノイズの量のうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が大きいほど、学習率が小さくなるように学習率ηを調整する。上述したようにノイズの量としてＳＮ比の逆数が用いられている場合、学習率調整部２２５は、ノイズ量検出部２２４において検出された機関回転速度及びトルクの各々のＳＮ比が小さいほど、学習率が小さくなるように学習率ηを調整する。具体的には、本実施形態では、学習率調整部２２５は、以下の（９）式を用いて、学習率ηを調整することができる。
【数９】
2020063699.tif 000011
【００６３】
ここで、ηAは学習率の基準値である。ηBは学習率調整部２２５によって調整された後の学習率である。Ｊは学習モデルにおける入力パラメータ及び出力パラメータのうち学習率の調整に用いられるパラメータの総数である。上記（９）式では、例えば、そのパラメータにおける出力パラメータの予測値に対する影響が比較的大きいＪ個のパラメータが適宜用いられる。ＳＮj.Aは上記（９）式において用いられるＪ個のパラメータのうちｊ番目のパラメータについて予め設定されたＳＮ比の基準値である。ＳＮj,Bは上記ｊ番目のパラメータの実測値のＳＮ比である。ｒjは、上記ｊ番目のパラメータについて、ノイズの量の大きさを学習率の反映させる程度を表す予め設定された反映率である。
【００６４】
ＳＮ比の基準値ＳＮj.Aは、一定値であってもよいし、機関運転状態毎に事前に設定されてもよい。機関運転状態毎に事前に設定される場合には、記憶部２１０には、機関運転状態とＳＮ比の基準値ＳＮj.Aとの相関マップが記憶される。学習率調整部２２５は、現在の機関運転状態（例えば、アイドリング状態である等）を取得すると共に、取得された機関運転状態に基づいて相関マップを用いてＳＮ比の基準値ＳＮj.Aを算出する。反映率ｒjは、例えば、出力パラメータの予測値に対して影響が比較的大きいパラメータは比較的小さい値に設定される等、そのパラメータにおける出力パラメータの予測値に対する影響を考慮して設定される。
【００６５】
ステップＳ６０２において学習率調整部２２５により学習率ηが調整された後、制御ルーチンは、ステップＳ６０３へと進む。
【００６６】
ステップＳ６０３では、学習部２２３が、入力パラメータの実測値と出力パラメータの実測値との組を教師データとして、学習率調整部２２５により調整された学習率ηを用いて、上述した勾配降下法により学習モデルの学習を行う。具体的には、学習部２２３は、ニューラルネットワークの各重みの更新を行う。その後、所定の学習終了条件が成立すると、学習部２２３は学習モデルの学習を終了する。ここで、所定の学習終了条件としては、例えば、最後の重みの更新前後での重みｗの変化量が所定の値以下であることや、重みｗの更新回数が所定の回数に達したこと等、が挙げられる。
【００６７】
以上により、本制御ルーチンは終了する。
【００６８】
≪学習結果の変化例の説明≫
図７を用いて、ノイズ重畳の有無及び学習率の調整による学習結果の変化例について説明する。図７（ａ）は、車両の内燃機関の回転速度を例示するタイムチャートである。図７（ａ）には、ノイズが重畳された場合（ノイズあり）の機関回転速度と、ノイズが重畳されていない場合（ノイズなし）の機関回転速度とが示されている。以下で説明する図７（ｂ）及び図７（ｃ）に示されるヒストグラムは、図７（ａ）に示されたように機関回転速度が推移した場合の予測誤差の分布を示している。
【００６９】
図７（ｂ）及び図７（ｃ）は、学習モデルにおける予測誤差の分布を示すヒストグラムである。図７（ｂ）及び図７（ｃ）には、図７（ａ）に示されるノイズありの機関回転速度を入力パラメータとして含む教師データを用いた場合のヒストグラム（ノイズあり）と、図７（ａ）に示されるノイズなしの機関回転速度を入力パラメータとして含む教師データを用いた場合のヒストグラム（ノイズなし）と、が示されている。図７（ｂ）及び図７（ｃ）のヒストグラムを作成する際には、図４に示される入力パラメータ及び出力パラメータ、すなわち入力パラメータとして点火時期、燃料噴射量、スロットル開度、機関回転速度を用い、出力パラメータとしてトルクを用いた。また、図７（ｂ）及び図７（ｃ）では、勾配降下法を用いた重みの学習を複数回行い、各学習が終了する毎に、出力パラメータであるトルクの予測誤差を算出することにより、各ヒストグラムが作成されている。なお、図７（ｂ）のヒストグラムにおいて最も色が濃い部分は、ノイズありのヒストグラムとノイズなしのヒストグラムの重複部分を示している。
【００７０】
図７（ｂ）は、学習率ηが０．１に設定されている場合のヒストグラムを示す。図７（ｂ）に示されるように、ノイズありのヒストグラムの中央値は、ノイズなしのヒストグラムの中央値よりも、予測誤差が大きい側に分布している。したがって、学習率ηが０．１に設定されている場合、ノイズが重畳している教師データを用いて学習された学習モデルは、ノイズが重畳していない教師データを用いて学習された学習モデルよりも、予測精度が悪い。
【００７１】
一方、図７（ｃ）は、学習率ηが０．０８に設定されている場合のヒストグラムを示す。図７（ｃ）に示されるノイズありのヒストグラムの中央値は、ノイズなしのヒストグラムの中央値とほぼ同様の位置に分布している。また、図７（ｃ）に示されるノイズありのヒストグラムの中央値は、図７（ｂ）に示されるノイズありのヒストグラムの中央値よりも、予測誤差が小さい側に分布している。以上より、ノイズの量が大きいときに学習率ηを小さくすることにより、予測誤差の悪化が抑制されていることがわかり、よって学習結果に対する教師データに重畳したノイズの影響が抑制されていることがわかる。
【００７２】
このように、本実施形態によると、教師データにノイズが重畳された場合であっても、学習モデルの学習においてそのノイズが与える影響を抑制することができる。
【００７３】
≪変形例≫
次に、図８を用いて、第１の実施形態の変形例に係る内燃機関の制御装置について説明する。図８は、本変形例に係る内燃機関の制御装置における学習モデルの学習方法の制御ルーチンを説明するためのフローチャートである。本制御ルーチンのフローは、制御部２２０のプロセッサが、記憶部２１０に記憶されているプログラムを実行することにより実現される。なお、ステップＳ８０１及びＳ８０５はそれぞれ図６のステップＳ６０１及びＳ６０３と同様であるため、説明を省略する。
【００７４】
ステップＳ８０２では、学習率調整部２２５は、ノイズ量検出部２２４において検出されたノイズの量がそのパラメータに対して設定された閾値以下であるか否かを判定する。この閾値は、予め設定された一定値であってもよいし、機関運転状態毎に事前に設定されてもよい。機関運転状態毎に事前に設定される場合には、記憶部２１０には、機関運転状態と閾値との相関マップが記憶されている。学習率調整部２２５は、現在の機関運転状態を取得すると共に、取得された機関運転状態に基づいて相関マップを用いて閾値を算出する。
【００７５】
ステップＳ８０２においてノイズの量の各々が閾値以下であると判定された場合、制御ルーチンはステップＳ８０３へと進む。ステップＳ８０３では、学習率調整部２２５は、ノイズの量のうち少なくともいずれか１つが上記閾値よりも大きい場合の学習率ηLよりも大きい一定の学習率ηHに維持されるように学習率ηを調整する。
【００７６】
ステップＳ８０２においてノイズの量のうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量がその閾値より大きいと判定された場合、制御ルーチンはステップＳ８０４へと進む。ステップＳ８０４では、学習率調整部２２５は、ノイズの量の各々が閾値以下である場合の学習率ηHよりも小さい一定の学習率ηLに維持されるように学習率ηを調整する。
【００７７】
なお、本変形例では、ステップＳ８０４において、学習率調整部２２５は、学習率を一定の値に維持するように調整したが、これに限定されず、学習率調整部２２５は、ノイズの量に応じて学習率を変化させてもよい。この場合、学習率調整部２２５は、例えば、ノイズの量が上記閾値より大きいパラメータのみを用いて、上記（９）式に基づいて、学習率ηを調整する。
【００７８】
いずれにせよ、本変形例では、入力パラメータ及び出力パラメータのうち少なくともいずれか１つのパラメータに重畳されたノイズの量が所定の閾値よりも大きい場合には、そのパラメータに重畳されたノイズの量がこの閾値よりも小さい場合に比べて、学習率が小さく設定される。
【００７９】
また、本変形例では、ステップＳ８０１においてノイズの量を検出している。しかしながら、ノイズの量の大きい状態やノイズの量の小さい状態は、上述したような「ノイズの量」を求めることなく推定することができる。例えば、上述したように、車両が悪路を走行しているときには機関回転速度の実測値に重畳されるノイズの量は大きくなり、車両が舗装道路を走行しているときには機関回転速度の実測値に重畳されるノイズの量は小さくなる。したがって、車両が悪路を走行しているか否かに基づいて、機関回転速度の実測値に大きなノイズが重畳されているか否かを判定することができる。
【００８０】
したがって、この場合、ノイズの量が大きい状態であるとき（例えば、悪路を走行していることが検知されているとき）には、ノイズの量が小さい状態であるとき（例えば、舗装道路を走行していることが検知されているとき）に比べて、学習率が小さく設定されてもよい。
【００８１】
以上をまとめると、本実施形態及びその変形例では、入力パラメータ及び出力パラメータのうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳されたノイズの量が相対的に小さい場合に比べて、学習率が小さくなるように学習率が調整されているといえる。
【００８２】
＜第２の実施形態＞
図９は、第２の実施形態に係る内燃機関の制御装置の概略構成図である。図９には、車両３１０と、車両３１０の外部に設置されたサーバ３２０と、が示されている。図９に示されるように、車両３１０は、通信部３１１と、ＥＣＵ３１２と、を備える。ＥＣＵ３１２は、学習部２２３及び学習率調整部２２５を含まない点を除いて、第１の実施形態に係るＥＣＵ２００と同様の構成を有する。本実施形態では、車両３１０のＥＣＵ２００及びサーバ３２０は、内燃機関１００の制御装置として機能する。以下では、第１の実施形態に係る内燃機関の制御装置の構成と異なる部分を中心に説明する。
【００８３】
本実施形態では、車両３１０のＥＣＵ３１２は、学習モデルの入力パラメータの実測値と学習モデルの出力パラメータの実測値との組を教師データとして取得する。ＥＣＵ３１２のノイズ量検出部２２４は、ＥＣＵ３１２で取得された教師データにおいて、入力パラメータの実測値及び出力パラメータの実測値に重畳されたノイズの量を検出する。車両３１０のＥＣＵ３１２は、教師データ及びそのノイズの量を通信部３１１を介してサーバ３２０に送信する。
【００８４】
また、図９に示されるように、サーバ３２０は、通信部３２１と、パラメータ値取得部３２２と、学習率調整部３２３と、学習部３２４と、を備える。サーバ３２０の通信部３２１は、車両３１０の通信部３１１と通信可能に構成されている。
【００８５】
サーバ３２０のパラメータ値取得部３２２は、車両３１０の通信部３１１から送信された教師データ及びそのノイズの量を通信部３２１を介して受信する。サーバ３２０の学習率調整部３２３は、ノイズ量検出部２２４において検出されたノイズの量のうち少なくともいずれか１つのパラメータの実測値に重畳されたノイズの量が相対的に大きい場合には、そのパラメータの実測値に重畳されたノイズの量が相対的に小さい場合に比べて、小さい学習率で学習部３２４による学習が行われるように学習率ηを調整する。学習部３２４は、教師データに基づいて、学習率調整部３２３によって調整された学習率ηを用いて、勾配降下法により学習モデルにおけるニューラルネットワークの重みの学習を行う。次いで、学習部３２４は、その学習後の学習モデルを通信部３２１を介して車両３１０に送信する。
【００８６】
車両３１０のＥＣＵ３１２は、通信部３１１を介してサーバ３２０から送信された学習後の学習モデルを受信する。車両３１０のＥＣＵ３１２は、ＥＣＵ３１２の記憶部２１０に記憶された学習モデルをその受信した学習後の学習モデルで書き換えることにより、学習モデルにおけるニューラルネットワークの重みを更新する。車両３１０のＥＣＵ３１２のパラメータ値出力部２２１は、入力パラメータの実測値が入力されると、更新後の学習モデルを用いて、出力パラメータの予測値を出力する。車両３１０のＥＣＵ３１２の機関制御部２２２は、更新後の学習モデルから出力された出力パラメータの予測値に基づいて、内燃機関１００を制御する。
【００８７】
なお、本実施形態では、ノイズ量検出部２２４は、ＥＣＵ３１２に設けられているが、これに限定されず、サーバ３２０に設けられてもよい。この場合、サーバ３２０のノイズ量検出部２２４は、車両３１０のＥＣＵ３１２から送信された教師データに基づいて、入力パラメータ及び出力パラメータの実測値に重畳されたノイズの量を検出することができる。
【００８８】
本実施形態によると、サーバ３２０において学習モデルのニューラルネットワークの重みやバイアスが学習される。そのため、車両３１０のＥＣＵ３１２に、学習モデルにおけるニューラルネットワークの重みの学習を行うための高性能な演算処理装置を設ける必要がなくなる。その結果、車両の製造コストを低減させることができる。
【００８９】
なお、上記実施形態では、勾配法として勾配降下法を用いたが、これに限定されず、勾配上昇法を用いて、誤差関数Ｅの符号を反転させた関数Ｅ’＝−Ｅの最大値を求めるように学習モデルの学習を行ってもよい。また、上記実施形態では、学習モデルとしてニューラルネットワークを用いたものを例に説明したが、勾配法を用いるものであれば他の機械学習モデルを用いてもよい。さらに、上述した各パラメータの実測値の取得方法はあくまで一例であり、各パラメータの実測値は他の方法によっても取得することもできる。
【符号の説明】
【００９０】
１  機関本体
１０ａ  スロットル開度センサ
１８ａ  ＥＧＲ弁開度センサ
２４  吸気温センサ
２５  排気温センサ
２６  水温センサ
２７  油温センサ
２８  気体濃度センサ
２９  空燃比センサ
１００  内燃機関
【図１】
2020063699.tif 000012
【図２】
2020063699.tif 000013
【図３】
2020063699.tif 000014
【図４】
2020063699.tif 000015
【図５】
2020063699.tif 000016
【図６】
2020063699.tif 000017
【図７】
2020063699.tif 000018
【図８】
2020063699.tif 000019
【図９】
2020063699.tif 000020