JP2019148243A - 内燃機関の制御装置 - Google Patents
内燃機関の制御装置 Download PDFInfo
- Publication number
- JP2019148243A JP2019148243A JP2018034355A JP2018034355A JP2019148243A JP 2019148243 A JP2019148243 A JP 2019148243A JP 2018034355 A JP2018034355 A JP 2018034355A JP 2018034355 A JP2018034355 A JP 2018034355A JP 2019148243 A JP2019148243 A JP 2019148243A
- Authority
- JP
- Japan
- Prior art keywords
- learning data
- data
- input
- data set
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】追加の学習用データセットを用いて、モデルの精度を向上することができる。【解決手段】ニューラルネットワークを用いた内燃機関の制御装置において、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが存在していないときには、追加候補の学習用データが、追加の学習用データセットとして記憶部に記憶される。データ取得部が、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが既に存在しているときには、追加候補の学習用データの品質が予め定められた品質よりも低くない限り、記憶部に記憶されている既存の学習用データセットが、追加候補の学習用データセットに基づき更新される。【選択図】図6
Description
本発明は内燃機関の制御装置に関する。
ニューラルネットワークを用いた内燃機関の制御装置において、予め定められた運転条件の範囲内における、機関回転数、吸入空気量等の機関の運転パラメータの値と、燃焼室内への吸入ガス量の計測値との関係が、学習用データセットの形で予め求められており、この学習用データセットを用いてニューラルネットワークの重みを学習することにより、機関の運転パラメータの値と、燃焼室内への吸入ガス量との関係をモデル化した吸入ガス量モデルがニューラルネットワークにより作成され、機関運転時に、この吸入ガス量モデルを用いて、機関の運転パラメータの値から、燃焼室内への吸入ガス量を推定するようにした内燃機関の制御装置が公知である(例えば特許文献1を参照)。
ところで、ニューラルネットワークを用いた内燃機関の制御装置では、上述の吸入ガス量モデルのように、モデルは、通常、予め定められた運転条件の範囲内において予め求められている学習用データセットを用いてニューラルネットワークにより作成される。ところが、実際には、後になって、予め定められた運転条件の範囲外における学習用データセットを取得できる場合があり、この場合には、この学習用データセットを既存の学習用データセットに追加し、この追加の学習用データセットも用いてモデルを更新することが、モデルの精度を向上する上で好ましいと言える。また、後になって、既存の学習用データセットについて新たな学習用データセットを取得できる場合があり、この場合には、新たな学習用データの品質が予め定められた品質よりも低くない限り、既存の学習用データセットを更新することが、モデルの精度を向上する上で好ましいと言える。しかしながら、上述の公知の内燃機関の制御装置では、追加の学習用データセットを用いてモデルを更新することについても、既存の学習用データセットを更新することについても、配慮されていない。
そこで、本発明では、電子制御ユニットを具備しており、電子制御ユニットが、機関の運転に関係する入力データを取得するデータ取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、入力データが入力層に入力され、入力データに応じて変化する出力値が出力層から出力される内燃機関の制御装置において、予め求められている既存の学習用データセットに基づいてニューラルネットワークの重みが事前に学習されており、データ取得部が、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが存在していないときには、追加候補の学習用データが、追加の学習用データセットとして記憶部に記憶され、データ取得部が、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが既に存在しているときには、追加候補の学習用データの品質が予め定められた品質よりも低くない限り、記憶部に記憶されている既存の学習用データセットが、追加候補の学習用データセットに基づき更新され、演算部により、追加の学習用データセットおよび更新された学習用データセットに基づいてニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて入力データに応じた出力値が出力される。
学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが存在していないときには、追加候補の学習用データを、追加の学習用データセットとして記憶し、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが既に存在しているときには、追加候補の学習用データの品質が予め定められた品質よりも低くない限り、既存の学習用データセットが、追加候補の学習用データセットに基づき更新し、追加の学習用データセットおよび更新された学習用データセットに基づいてニューラルネットワークの重みを学習することにより、モデルの精度を向上することができる。
<内燃機関の全体構成>
図1に内燃機関の全体図を示す。図1を参照すると、1は機関本体、2は各気筒の燃焼室、3は各気筒の燃焼室2内に配置された点火栓、4は各気筒に燃料、例えば、ガソリンを供給するための燃料噴射弁、5はサージタンク、6は吸気枝管、7は排気マニホルドを夫々示す。サージタンク5は吸気ダクト8を介して排気ターボチャージャ9のコンプレッサ9aの出口に連結され、コンプレッサ9aの入口は吸入空気量検出器10を介してエアクリーナ11に連結される。吸気ダクト8内にはアクチュエータ13により駆動されるスロットル弁12が配置され、スロットル弁12にはスロットル弁開度を検出するためのスロットル弁開度センサ14が取り付けられている。また、吸気ダクト8周りには吸気ダクト8内を流れる吸入空気を冷却するためのインタクーラ15が配置される。
一方、排気マニホルド7は排気ターボチャージャ9の排気タービン9bの入口に連結され、排気タービン9bの出口は排気管16を介して排気浄化用触媒コンバータ17に連結される。排気マニホルド7とサージタンク5とは排気ガス再循環(以下、EGRと称す)通路18を介して互いに連結され、EGR通路18内にはEGR制御弁19が配置される。各燃料噴射弁4は燃料分配管20に連結され、この燃料分配管20は燃料ポンプ21を介して燃料タンク22に連結される。排気管16内には排気ガス中のNOX濃度を検出するためのNOXセンサ23が配置されている。また、エアクリーナ11内には大気温を検出するための大気温センサ24が配置されている。
電子制御ユニット30はデジタルコンピュータからなり、双方向性バス31によって互いに接続されたROM(リードオンリメモリ)32、RAM(ランダムアクセスメモリ)33、CPU(マイクロプロセッサ)34、入力ポート35および出力ポート36を具備する。入力ポート35には、吸入空気量検出器10、スロットル弁開度センサ14、NOXセンサ23および大気温センサ24の出力信号が、対応するAD変換器37を介して入力される。アクセルペダル40にはアクセルペダル40の踏込み量に比例した出力電圧を発生する負荷センサ41が接続され、負荷センサ41の出力電圧は対応するAD変換器37を介して入力ポート35に入力される。更に入力ポート35にはクランクシャフトが例えば30°回転する毎に出力パルスを発生するクランク角センサ42が接続される。CPU34内ではクランク角センサ42の出力信号に基づいて機関回転数が算出される。一方、出力ポート36は対応する駆動回路38を介して点火栓3、燃料噴射弁4、スロットル弁駆動用アクチュエータ13、EGR制御弁19および燃料ポンプ21に接続される。
<ニューラルネットワークの概要>
<ニューラルネットワークの概要>
本発明による実施例では、ニューラルネットワークを用いて内燃機関の性能を表す種々の値を推定するようにしている。図2はこのニューラルネットワークの一例を示している。図2における丸印は人工ニューロンを表しており、ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される(本願では、ノードと称す)。図2においてL=1は入力層、L=2および L=3は隠れ層、L=4は出力層を夫々示している。また、図2において、x1およびx2 は入力層 ( L=1) の各ノードからの出力値を示しており、y は出力層 ( L=4) のノードからの出力値を示しており、z1、z2 およびz3 は隠れ層 ( L=2) の各ノードからの出力値を示しており、z1およびz2 は隠れ層 ( L=3) の各ノードからの出力値を示している。なお、隠れ層の層数は、1個又は任意の個数とすることができ、入力層のノードの数および隠れ層のノードの数も任意の個数とすることができる。なお、本発明による実施例では、出力層のノードの数は1個とされている。
入力層の各ノードでは入力がそのまま出力される。一方、隠れ層 ( L=2) の各ノードには、入力層の各ノードの出力値x1およびx2 が入力され、隠れ層 ( L=2) の各ノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値uが算出される。例えば、図2において隠れ層 ( L=2) のzk(k=1,2,3)で示されるノードにおいて算出される総入力値ukは、次式のようになる。
次いで、この総入力値ukは活性化関数fにより変換され、隠れ層 ( L=2) のzkで示されるノードから、出力値zk(= f (uk)) として出力される。隠れ層 ( L=2) の他のノードについても同様である。一方、隠れ層 ( L=3) の各ノード には、隠れ層 ( L=2) の各ノードの出力値z1、z2 およびz3 が入力され、隠れ層 ( L=3 ) の各ノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値u(Σz・w+b)が算出される。この総入力値uは同様に活性化関数により変換され、隠れ層 ( L=3 ) の各ノードから、出力値z1 、z2 として出力される、なお、本発明による実施例では、この活性化関数としてシグモイド関数σが用いられている。
一方、出力層 ( L=4) のノード には、隠れ層 ( L=3) の各ノードの出力値z1 およびz2 が入力され、出力層 のノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値u(Σz・w+b)が算出されるか、又は、夫々対応する重みwのみを用いて総入力値u(Σz・w)が算出される。本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値uが、そのまま出力値yとして出力される。
<ニューラルネットワークによる関数の表現>
<ニューラルネットワークによる関数の表現>
さて、ニューラルネットワークを用いると任意の関数を表現することができ、次に、このことについて簡単に説明する。まず初めに、活性化関数として用いられているシグモイド関数σについて説明すると、シグモイド関数σは、σ(x)=1/(1+exp(-x))で表され、図3Aに示されるようにxの値に応じて0と1の間の値を取る。ここで、xをwx+bに置き換えると、シグモイド関数σは、σ(wx+b)=1/(1+exp(-wx―b))で表される。ここで、wの値を大きくしていくと、図3Bにおいて曲線σ1、σ2、σ3で示されるように、シグモイド関数σ(wx+b)の曲線部分の傾斜が次第に急になり、wの値を無限大にすると、図3Bにおいて曲線σ4で示されるように、シグモイド関数σ(wx+b)は、x=−b/w(wx+b=0となるx、即ち、σ(wx+b)=0.5となるxにおいて、図3Bに示されるように、ステップ状に変化するようになる。このようなシグモイド関数σの性質を利用すると、ニューラルネットワークを用いて任意の関数を表現することができる。
このことを説明するに当たり、初めに、図4Aに示されるような1個のノードからなる入力層 ( L=1) と、2個のノードからなる隠れ層 ( L=2) と、1個のノードからなる出力層 ( L=3) とにより構成されるニューラルネットワークについて説明する。このニューラルネットワークでは、図4Aに示されるように、入力層 ( L=1) のノードには入力値xが入力され、隠れ層 ( L=2) においてz1で示されるノードには、重みw1 (L2) およびバイアスb1を用いて算出された入力値u=x・w1 (L2)+b1 が入力される。この入力値uはシグモイド関数σ(x・w1 (L2)+b1)により変換され、出力値z1 として出力される。同様に、隠れ層 ( L=2) においてz2で示されるノードには、重みw2 (L2)およびバイアスb2 を用いて算出された入力値u=x・w2 (L2)+b2 が入力され、この入力値uはシグモイド関数σ(x・w2 (L2)+b2)により変換され、出力値z2 として出力される。
一方、出力層 ( L=3) のノード には、隠れ層 ( L=2) の各ノードの出力値z1 およびz2 が入力され、出力層 のノードでは、夫々対応する重みw1 (y) およびw2 (y) を用いて総入力値u(Σz・w=z1・w1 (y) +z2・w2 (y))が算出される。前述したように、本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値uが、そのまま出力値yとして出力される。
さて、図4Bは、図4Aにおける重みw1 (L2) およびw2 (L2) の値を大きくすることにより、シグモイド関数σの値を、図3Bに示されるように、ステップ状に変化させた場合を示している。図4Bの(I)には、x=―b1 /w1 (L2) において、シグモイド関数σ(x・w1 (L2)+b1 )の値がステップ状に増大するように重みw1 (L2)およびバイアスb1が設定されたときの隠れ層 ( L=2) のノードからの出力値z1が示されている。また、図4Bの(II)には、x=―b1 /w1 (L2) よりも少し大きいx=−b2 /w2 (L2) においてシグモイド関数σ(x・w2 (L2)+b2)の値がステップ状に減少するように重みw2 (L2)およびバイアスb2 が設定されたときの隠れ層 ( L=2) のノードからの出力値z2が示されている。また、図4Bの(III)には、隠れ層 ( L=2) の各ノードからの出力値z1 とz2 の和(z1 +z2 )が実線で示されている。図4Aに示されるように、各出力値z1 、z2 には、夫々対応する重みw1 (y) およびw2 (y) が乗算されており、図4Bの(III)には、w1 (y) 、w2 (y) >1であるときの出力値yが破線で示されている。
このように、図4Aに示されるニューラルネットワークにおいて、隠れ層 ( L=2) の一対のノードにより、図4Bの(III)に示されるような短冊状の出力値yが得られる。従って、隠れ層 ( L=2) の対をなすノード数を増大し、隠れ層 ( L=2) の各ノードにおける重みwおよびバイアスbの値を適切に設定すると、図5Aにおいて破線の曲線で示すような関数y=f(x)を近似する関数を表現できることになる。なお、図5Aでは、各短冊が接するように描かれているが、実際には、各短冊は部分的に重なる場合がある。また、実際には、wの値は無限大とはならないために、各短冊は、正確な短冊状にはならず、図3Bにおいてσ3で示される曲線部分の上半分のような曲線状となる。なお、詳細な説明は省略するが、図5Bに示されるように、異なる二つの入力値xIおよびx2に対し、隠れ層 ( L=2)において夫々対応する一対のノードを設けると、図5Cに示されるように、入力値xIおよびx2に応じた柱状の出力値yが得られる。この場合、各入力値xI、x2に対し、隠れ層 ( L=2) に多数の対をなすノードを設けると、夫々異なる入力値xIおよびx2に応じた複数個の柱状の出力値yが得られ、従って、入力値xIおよびx2 と出力値yとの関係を示す関数を表現できることがわかる。なお、異なる三つ以上の入力値xがある場合でも同様に、入力値xと出力値yとの関係を示す関数を表現できる。
<ニューラルネットワークにおける学習>
<ニューラルネットワークにおける学習>
一方、本発明による実施例では、誤差逆伝播法を用いて、ニューラルネットワーク内における各重みwの値およびバイアスbの値が学習される。この誤差逆伝播法は周知であり、従って、誤差逆伝播法についてはその概要を以下に簡単に説明する。なお、バイアスbは重みwの一種なので、以下の説明では、バイアスbは重みwの一つとされている。さて、図2に示すようなニューラルネットワークにおいて、L=2,L=3又は L=4の各層のノードへの入力値u(L)における重みをw(L)で表すと、誤差関数Eの重みw(L)による微分、即ち、勾配∂E/∂w(L)は、書き換えると、次式で示されるようになる。
ここで、z(L−1)・∂w(L)= ∂u(L)であるので、(∂E/∂u(L))=δ(L)とすると、上記(1)式は、次式でもって表すことができる。
ここで、u(L)が変動すると、次の層の総入力値u(L+1)の変化を通じて誤差関数Eの変動を引き起こすので、δ(L)は、次式で表すことができる。
ここで、z(L)=f(u(L)) と表すと、上記(3)式の右辺に現れる入力値uk (L+1)は、次式で表すことができる。
ここで、上記(3)式の右辺第1項(∂E/∂u(L+1))はδ(L+1)であり、上記(3)式の右辺第2項(∂uk (L+1) /∂u(L))は、次式で表すことができる。
従って、δ(L)は、次式で示される。
即ち、δ(L+1)が求まると、δ(L)を求めることができることになる。
さて、或る入力値に対して教師データytが求められており、この入力値に対する出力層からの出力値がyであった場合、誤差関数として二乗誤差が用いられている場合には、二乗誤差Eは、E=1/2(y−yt)2で求められる。この場合、図2の出力層(L=4)のノードでは、出力値y= f(u(L)) となり、従って、この場合には、出力層(L=4)のノードにおけるδ(L)の値は、次式で示されるようになる。
ところで、本発明による実施例では、前述したように、f(u(L)) は恒等関数であり、f’(u(Ll)) = 1となる。従って、δ(L)=y−yt となり、δ(L)が求まる。
δ(L)が求まると、上式(6)を用いて前層のδ(L−1)が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、上式(2)から、各重みwについて誤差関数Eの微分、即ち、勾配∂E/∂w(L)か求められる。勾配∂E/∂w(L)か求められると、この勾配∂E/∂w(L)を用いて、誤差関数Eの値が減少するように、重みwの値が更新される。即ち、重みwの値の学習が行われることになる。なお、訓練データとしてバッチ、又はミニバッチが用いられる場合には、誤差関数Eとして、次の二乗和誤差Eが用いられる。
一方、二乗誤差を逐次算出するようにしたオンライン学習が行われる場合には、誤差関数Eとして、上述の二乗誤差Eが用いられる。
<本発明による実施例>
<本発明による実施例>
次に、本発明による実施例について説明する。上述したように、ニューラルネットワークを用いると、入力値xIおよびx2 と出力値yとの関係を示す関数を表現することができ、従って、ニューラルネットワークを用いると、入力値xIおよびx2 と出力値yとの関係をモデル化したモデルを構築することができる。具体的な一例を挙げると、入力値xIが機関回転数であり、入力値x2がアクセル開度であり、出力値yが機関からの排出NOX量である場合が挙げられる。この場合には、ニューラルネットワークを用いて、機関からの排出NOX量を推定するための排出NOX量モデルが作成される。本発明による実施例では、予め定められた運転条件の範囲内において予め求められている入力値xIおよびx2 と出力値yとの関係から学習用データセットが作成され、この学習用データセット、即ち、既存の学習用データセットに基づいてニューラルネットワークの重みが事前に学習され、それによりモデルが作成される。
ところが、実際には、後になって、予め定められた運転条件の範囲外における学習用データセットを取得できる場合があり、この場合には、この学習用データセットを既存の学習用データセットに追加し、この追加の学習用データセットも用いてモデルを更新することが、モデルの精度を向上する上で好ましいと言える。また、後になって、既存の学習用データセットについて新たな学習用データセットを取得できる場合があり、この場合には、新たな学習用データの品質が予め定められた品質よりも低くない限り、既存の学習用データセットを更新することが、モデルの精度を向上する上で好ましいと言える。そこで、本発明による実施例では、後になって、予め定められた運転条件の範囲外における学習用データセットを取得できる場合には、この学習用データセットを既存の学習用データセットに追加し、後になって、既存の学習用データセットについて新たな学習用データセットを取得できる場合には、新たな学習用データの品質が予め定められた品質よりも低くない限り、既存の学習用データセットを更新するようにしている。
次に、図6に示される学習処理ルーチンを参照しつつ、本発明による第1実施例について説明する。この学習処理ルーチンは、オンボードでもって、一定時間毎の割り込みによって実行される。図6を参照すると、まず初めに、ステップ100において、新たな学習用データの追加候補(DATAnew)が取得される。次いで、ステップ101では、この学習用データ追加候補(DATAnew)についての、既存の学習用データの有無が確認される。次いで、ステップ102では、この学習用データ追加候補(DATAnew)について、既存の学習用データが存在しているか否かが判別される。学習用データ追加候補(DATAnew)について、既存の学習用データが存在していないときにはステップ103に進んで、学習用データ追加候補(DATAnew)が学習用データセット(DATAmdl)に追加される。次いで、ステップ106に進む。
ステップ106では、予め定められた運転条件の範囲外において、既存の学習用データが存在していない領域が存在する場合には、この既存の学習用データが存在していない領域について、この領域の周囲の領域の既存の学習用データの補間値から学習用データ推定値が作成され、学習用データセット(DATAmdl)に追加される。次いで、ステップ107では、学習用データセット(DATAmdl)に基づき、誤差逆伝播法を用いて、ニューラルネットワークの重みが学習される。即ち、モデルの更新が実行される。
一方、ステップ102において、学習用データ追加候補(DATAnew)について、既存の学習用データが存在していると判別されたときには、ステップ104に進んで、取得された学習用データ追加候補(DATAnew)のデータの品質が高いか否か、即ち、汎用性のあるデータであるか否かが判別される。例えば、学習用データ追加候補(DATAnew)が機関の定常運転時に取得されたデータであれば、品質の高いデータされ、学習用データ追加候補(DATAnew)が機関の過渡運転時に取得されたデータであれば、品質の高くないデータされる。ステップ104において、取得された学習用データ追加候補(DATAnew)のデータの品質が高いと判別されたときには、ステップ105に進んで、学習用データセット(DATAmdl)における既存の学習用データが、学習用データ追加候補(DATAnew)でよって更新される。これに対し、ステップ104において、取得された学習用データ追加候補(DATAnew)のデータの品質が高くないと判別されたときには、ステップ106にジャンプする。このとき、既存の学習用データセットの更新は行われない。
即ち、本発明による実施例では、電子制御ユニット30を具備しており、電子制御ユニット30が、機関の運転に関係する入力データを取得するデータ取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備している。入力データが入力層に入力されると共に、入力データに応じて変化する出力値が出力層から出力され、予め求められている既存の学習用データセットに基づいてニューラルネットワークの重みが事前に学習されている、データ取得部が、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが存在していないときには、追加候補の学習用データが、追加の学習用データセットとして記憶部に記憶される。これに対し、データ取得部が、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが既に存在しているときには、追加候補の学習用データの品質が予め定められた品質よりも低くない限り、記憶部に記憶されている既存の学習用データセットが、追加候補の学習用データセットに基づき更新される。演算部により、追加の学習用データセットおよび更新された学習用データセットに基づいてニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて入力データに応じた出力値が出力される。
次に、図7に示される学習処理ルーチンを参照しつつ、本発明による第2実施例について説明する。この学習処理ルーチンも、オンボードでもって、一定時間毎の割り込みによって実行される。図7を参照すると、まず初めに、ステップ200において、新たな学習用データの追加候補(DATAnew)の取得条件が判定される。例えば、新たな学習用データ追加候補(DATAnew)を取得すべき機関の運転条件、或いは、新たな学習用データ追加候補(DATAnew)が、外部に保持されているビッグデータであるか否か等が判定される。次いで、ステップ201では、新たな学習用データの追加候補(DATAnew)の取得条件が成立しているか否かが判別される。新たな学習用データの追加候補(DATAnew)の取得条件が成立していると判別されたときには、ステップ202に進んで、取得すべき学習用データ追加候補(DATAnew)が取得される。
次いで、ステップ203では、この学習用データ追加候補(DATAnew)についての、既存の学習用データの有無が確認される。この場合、入力が入力x1と入力x2の二つの入力からなる場合には、図8に示される如く、平面上において、各入力x1、入力x2の入力値について分割した各格子内の運転領域{x1、x2}における学習用データの有無が確認される。即ち、ステップ203では、学習用データ追加候補(DATAnew)の属する運転領域{x1、x2}内における既存の学習用データの有無が確認される。次いで、ついで、ステップ204では、学習用データ追加候補(DATAnew)の属する運転領域{x1、x2}内に、既存の学習用データが存在しているか否かが判別される。学習用データ追加候補(DATAnew)の属する運転領域{x1、x2}内に、既存の学習用データが存在していないときにはステップ205に進んで、学習用データ追加候補(DATAnew)が学習用データセット(DATAmdl)に追加される。次いで、ステップ211に進む。
ステップ211では、運転領域{x1、x2}の中で、既存の学習用データが存在していない領域が存在する場合には、この運転領域{x1、x2}について、この運転領域の周囲の運転領域の既存の学習用データの補間値から学習用データ推定値が作成され、学習用データセット(DATAmdl)に追加される。次いで、ステップ212では、学習用データセット(DATAmdl)に基づき、誤差逆伝播法を用いて、ニューラルネットワークの重みが学習される。即ち、モデルの更新が実行される。
一方、ステップ204において、学習用データ追加候補(DATAnew)の属する運転領域{x1、x2}内に、既存の学習用データが存在していると判別されたときには、ステップ206に進む。ステップ206およびステップ207では、取得された学習用データ追加候補(DATAnew)のデータの品質について判別される。この場合、この第2実施例でも、例えば、学習用データ追加候補(DATAnew)が機関の定常運転時に取得されたデータであれば、品質の高いデータされ、学習用データ追加候補(DATAnew)が機関の過渡運転時に取得されたデータであれば、品質の高くないデータされる。また、この第2実施例では、例えば、学習用データ追加候補(DATAnew)が、急停止とか急減速のような極端な過渡運転時に取得されたデータであれば、品質の悪いデータされる。
ステップ206では、取得された学習用データ追加候補(DATAnew)のデータの品質が悪いか否かが判別される。取得された学習用データ追加候補(DATAnew)のデータの品質が悪い場合には、ステップ211にジャンプする。このとき、既存の学習用データセットの更新は行われない。これに対し、取得された学習用データ追加候補(DATAnew)のデータの品質が悪くない場合には、ステップ207に進んで、取得された学習用データ追加候補(DATAnew)のデータの品質が高いか否かが判別される。取得された学習用データ追加候補(DATAnew)のデータの品質が高いと判別されたときには、ステップ208に進んで、取得された学習用データ追加候補(DATAnew)が、運転領域{x1、x2}についての更新データData h{x1、x2}とされる。次いで、ステップ210に進んで、学習用データセット(DATAmdl)の運転領域{x1、x2}における既存の学習用データが、更新データData h{x1、x2}でもって更新される。次いで、ステップ211を経てステップ212に進み、モデルの更新が実行される。
一方、ステップ207において、取得された学習用データ追加候補(DATAnew)のデータの品質が高くないと判別されたときには、ステップ209に進む。ところで、この第2実施例では、各運転領域{x1、x2}に対して、n個の学習用データセットが格納されている。このステップ209では、取得された学習用データ追加候補(DATAnew)が新たな学習用データ追加候補(DATAnew)として格納されると共に最も古い学習用データ追加候補(DATAn―1)が廃棄され、次いで、格納されている全ての学習用データ追加候補の平均値、例えば、ガウシアンプロセスで畳み込み処理することにより得られた学習用データ追加候補の平均値が、運転領域{x1、x2}についての更新データData l{x1、x2}とされる。次いで、ステップ210に進んで、学習用データセット(DATAmdl)の運転領域{x1、x2}における既存の学習用データが、更新データData l{x1、x2}でもって更新される。次いで、ステップ211を経てステップ212に進み、モデルの更新が実行される。
次に、図9に示される学習処理ルーチンを参照しつつ、本発明による第3実施例について説明する。この学習処理ルーチンも、オンボードでもって、一定時間毎の割り込みによって実行される。なお、この第3実施例では、学習用データセットのデータ点の候補リスト(Data cand)が、例えば、図10Aに示されるように、入力x1と入力x2に対する格子点の形で予め作成されている。さて、図9を参照すると、まず初めに、ステップ300において、新たな学習用データ(tData)が取得される。次いで、ステップ301では、新たな学習用データ(tData)の品質が高いか否かが判別される。この場合、この第2実施例でも、例えば、学習用データ追加候補(DATAnew)が機関の定常運転時に取得されたデータであれば、品質の高いデータとされ、学習用データ追加候補(DATAnew)が機関の過渡運転時に取得されたデータであれば、品質の高くないデータとされる。
次いで、ステップ302では、新たな学習用データ(tData)と、図10Aに示される学習用データセットのデータ点の候補リスト(Data cand)とが比較される。次いで、ステップ303では、新たな学習用データ(tData)と、新たな学習用データ(tData)に最も近接した学習用データセットのデータ点(図10A)との距離が、予め設定された距離以下であるか否かが判別される。新たな学習用データ(tData)と、新たな学習用データ(tData)に最も近接した学習用データセットのデータ点(図10A)との距離が、予め設定された距離以下である場合、即ち、新たな学習用データ(tData)と学習用データセットのデータ点(図10A)とが近接している場合には、新たな学習用データ(tData)が、対応する学習用データセットのデータ点(図10A)についての学習用データセットとして追加される。
次いで、ステップ309では、図10Aに示される学習用データセットのデータ点の中で、既存の学習用データが存在していないデータ点が存在する場合には、このデータ点について、このデータ点の周囲のデータ点の既存の学習用データの補間値から学習用データ推定値が作成され、学習用データセット(DATAmdl)に追加される。次いで、ステップ310では、学習用データセット(DATAmdl)に基づき、誤差逆伝播法を用いて、ニューラルネットワークの重みが学習される。即ち、モデルの更新が実行される。
一方、ステップ303において、新たな学習用データ(tData)と、新たな学習用データ(tData)に最も近接した学習用データセットのデータ点(図10A)との距離が、予め設定された距離以上であると判別されたときには、高品質の新たな学習用データ(tData)と低品質の新たな学習用データ(tData)とが、新たな学習用データ(tData)と、新たな学習用データ(tData)に最も近接した学習用データセットのデータ点(図10A)との距離により重み付けされて足し合わされる。
即ち、図10Bにおいて、新たな学習用データと、新たな学習用データに最も近接した学習用データセットのデータ点との距離をDとし、このデータ点のデータ値に対する、新たな学習用データのデータ値の反映率をRとすると、新たな学習用データの品質が高い場合の反映率を示す反映曲線はRHで示されるようになり、新たな学習用データの品質が高くない場合の反映率を示す反映曲線はRLで示されるようになる。即ち、図10Bに示されるように、距離Dが同一の場合には、新たな学習用データの品質が高い場合の反映率ΔRHの方が、新たな学習用データの品質が低い場合の反映率ΔRLよりも高くされる。ステップ307では、新たな学習用データのデータ値に反映率ΔRH、ΔRLを乗算した値の和の平均値が、データ点のおける新たな学習用データ(tData3)とされる。
ステップ307において、データ点のおける新たな学習用データ(tData3)が求められると、ステップ308に進んで、データ点のおける新たな学習用データ(tData3)が、学習用データセットのデータ点についての学習用データセットとして追加される。次いで、ステップ309を経てステップ310に進み、モデルの更新が実行される。
一方、ステップ301において、新たな学習用データ(tData)の品質が高くないと判別されたときには、ステップ305に進んで、低品質の新たな学習用データ(tData)が、新たな学習用データ(tData)と、新たな学習用データ(tData)に最も近接した学習用データセットのデータ点(図10A)との距離により重み付けされて足し合わされる。即ち、ステップ305では、新たな学習用データのデータ値に反映率ΔRL(図10B)を乗算した値の和の平均値が、データ点のおける新たな学習用データ(tData2)とされる。
ステップ305において、データ点のおける新たな学習用データ(tData2)が求められると、ステップ306に進んで、データ点のおける新たな学習用データ(tData2)が、学習用データセットのデータ点についての学習用データセットとして追加される。次いで、ステップ309を経てステップ310に進み、モデルの更新が実行される。
1 内燃機関
2 燃焼室
3 点火栓
4 燃料噴射弁
12 スロットル弁
14 スロットル弁開度センサ
23 NOXセンサ
24 大気温センサ
30 電子制御ユニット
2 燃焼室
3 点火栓
4 燃料噴射弁
12 スロットル弁
14 スロットル弁開度センサ
23 NOXセンサ
24 大気温センサ
30 電子制御ユニット
Claims (1)
- 電子制御ユニットを具備しており、該電子制御ユニットが、機関の運転に関係する入力データを取得するデータ取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、入力データが入力層に入力され、入力データに応じて変化する出力値が出力層から出力される内燃機関の制御装置において、予め求められている既存の学習用データセットに基づいてニューラルネットワークの重みが事前に学習されており、データ取得部が、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが存在していないときには、追加候補の学習用データが、追加の学習用データセットとして記憶部に記憶され、データ取得部が、学習用データの追加候補を取得したときに、追加候補の学習用データについて既存の学習用データが既に存在しているときには、追加候補の学習用データの品質が予め定められた品質よりも低くない限り、記憶部に記憶されている既存の学習用データセットが、追加候補の学習用データセットに基づき更新され、該演算部により、該追加の学習用データセットおよび該更新された学習用データセットに基づいてニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて入力データに応じた出力値が出力される内燃機関の制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018034355A JP2019148243A (ja) | 2018-02-28 | 2018-02-28 | 内燃機関の制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018034355A JP2019148243A (ja) | 2018-02-28 | 2018-02-28 | 内燃機関の制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019148243A true JP2019148243A (ja) | 2019-09-05 |
Family
ID=67849233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018034355A Pending JP2019148243A (ja) | 2018-02-28 | 2018-02-28 | 内燃機関の制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019148243A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021043859A (ja) * | 2019-09-13 | 2021-03-18 | 株式会社日立製作所 | データ仲介装置およびデータ仲介方法 |
-
2018
- 2018-02-28 JP JP2018034355A patent/JP2019148243A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021043859A (ja) * | 2019-09-13 | 2021-03-18 | 株式会社日立製作所 | データ仲介装置およびデータ仲介方法 |
JP7261710B2 (ja) | 2019-09-13 | 2023-04-20 | 株式会社日立製作所 | データ仲介装置およびデータ仲介方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6477951B1 (ja) | 車載電子制御ユニット | |
JP2019135393A (ja) | 内燃機関の制御装置および出力値を出力する装置 | |
US8800356B2 (en) | Engine catalyst diagnostics | |
JP6404909B2 (ja) | 技術的な系の出力量のモデルを算出する方法 | |
JP7231144B2 (ja) | エンジン制御装置及びそれが有するニューラルネットワークプログラム | |
Asprion et al. | Optimal control of diesel engines: Numerical methods, applications, and experimental validation | |
JP2019190306A (ja) | 未燃燃料量の機械学習装置 | |
JP6699702B2 (ja) | 内燃機関の制御装置及びその制御方法、並びに内燃機関を制御するための学習モデル及びその学習方法 | |
Ma et al. | Improvement on the linear and nonlinear auto-regressive model for predicting the NOx emission of diesel engine | |
JPH11343916A (ja) | エンジン制御におけるデータ推定方法 | |
JP2009150345A (ja) | 内燃機関の制御装置 | |
US10876500B2 (en) | Control device of internal combustion engine | |
JP2019148243A (ja) | 内燃機関の制御装置 | |
Liao et al. | Prediction of the transient emission characteristics from diesel engine using temporal convolutional networks | |
EP3368758B1 (en) | Systems and methods for in-cylinder pressure estimation using pressure wave modeling | |
JP2020056378A (ja) | 内燃機関の制御装置 | |
JP2019143477A (ja) | 内燃機関の制御装置 | |
JP2011043156A (ja) | 制御装置 | |
CN113343390A (zh) | 基于神经网络非线性模型的发动机线性化建模方法 | |
WO2019151536A1 (ja) | 機械学習装置 | |
Palanivelu et al. | A Review of Technical Literature and Trends Related to Automotive Engine Modelling by ANN | |
JP2020045821A (ja) | 内燃機関の制御装置 | |
US11840974B2 (en) | Intelligent mass air flow (MAF) prediction system with neural network | |
JP2011043154A (ja) | 制御装置 | |
JP2022012826A (ja) | 機械学習システム |