(57)【要約】【課題】運転パラメータの予め想定される使用範囲外においても、出力値を適切に推定することができる。【解決手段】ニューラルネットワークを用いた内燃機関の制御装置において、予め想定される使用範囲内おける機関の運転パラメータの値に対して実験により得られた出力値が教師データとされ、予め想定される使用範囲外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値が教師データとされる。実験により得られた教師データと、予測により得られた教師データとを用いて、機関の運転パラメータの値に応じて変化する出力値が教師データに一致するようにニューラルネットワークの重みが学習される。【選択図】図８
2019116881.tif 000002
【特許請求の範囲】
【請求項１】
電子制御ユニットを具備しており、該電子制御ユニットが、機関の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、機関の運転パラメータの値が入力層に入力され、機関の運転パラメータの値に応じて変化する出力値が出力層から出力される内燃機関の制御装置において、機関の運転パラメータの値に対して予め想定される使用範囲が存在しており、該予め想定される使用範囲内おける機関の運転パラメータの値に対して実験により得られた出力値が教師データとして記憶部に記憶されており、該予め想定される使用範囲外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値が教師データとして記憶部に記憶されており、実験により得られた教師データと、予測により得られた教師データとを用いて、該演算部により、機関の運転パラメータの値に応じて変化する出力値が機関の運転パラメータの値に対応した教師データに一致するようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて機関の運転パラメータの値に対する出力値が推定される内燃機関の制御装置。
【請求項２】
上記実験によらずに予測により得られた出力値が、過去の経験値、或いは、物理則から予測された値である請求項１に記載の内燃機関の制御装置。
【請求項３】
機関の運転パラメータが機関回転数であり、出力値が排気損失量である請求項１に記載の内燃機関の制御装置。
【請求項４】
機関の運転パラメータがスロットル弁開度、機関回転数および点火時期であり、出力値がＮＯＸ排出量である請求項１に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の制御装置に関する。
【背景技術】
【０００２】
ニューラルネットワークを用いた内燃機関の制御装置において、機関回転数、吸入空気量等の機関の運転パラメータの値に基づいて、燃焼室内への吸入ガス量が、実際の燃焼室内への吸入ガス量に一致するようにニューラルネットワークの重みを予め学習しておき、機関運転時に、重みの学習されたニューラルネットワークを用いて、機関の運転パラメータの値から、燃焼室内への吸入ガス量を推定するようにした内燃機関の制御装置が公知である（例えば特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１２２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、機関回転数のような機関の運転パラメータの値の使用範囲は、機関の種類に応じて予め想定することができ、従って、通常は、機関の運転パラメータの値の予め想定される使用範囲に対し、燃焼室内への吸入ガス量のような目標出力量が、実際の出力量に一致するようにニューラルネットワークの重みが予め学習される。しかしながら、実際には、機関の運転パラメータの値が、予め想定される使用範囲外  となることがあり、この場合、予め想定される使用範囲外に対しては、目標出力量についての学習が行われていないために、ニューラルネットワークを用いて推定された出力量が、実際の出力量から大きく乖離した値になってしまうという問題がある。
【０００５】
上記問題を解決するために、本発明によれば、電子制御ユニットを具備しており、電子制御ユニットが、機関の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、機関の運転パラメータの値が入力層に入力され、機関の運転パラメータの値に応じて変化する出力値が出力層から出力される内燃機関の制御装置において、機関の運転パラメータの値に対して予め想定される使用範囲が存在しており、予め想定される使用範囲内おける機関の運転パラメータの値に対して実験により得られた出力値が教師データとして記憶部に記憶されており、予め想定される使用範囲外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値が教師データとして記憶部に記憶されており、実験により得られた教師データと、予測により得られた教師データとを用いて、演算部により、機関の運転パラメータの値に応じて変化する出力値が機関の運転パラメータの値に対応した教師データに一致するようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて機関の運転パラメータの値に対する出力値が推定される内燃機関の制御装置が提供される。
【発明の効果】
【０００６】
予め想定される使用範囲外の機関の運転パラメータの値に対し実験によらずに予測により得られた出力値を教師データとして用いてニューラルネットワークの重みを学習することにより、機関の運転パラメータの値が、予め想定される使用範囲外の値となったときに、ニューラルネットワークを用いて推定された出力量が、実際の出力量から大きく乖離した値となるのを抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】図１は内燃機関の全体図である。
【図２】図２はニューラルネットワークの一例を示す図である。
【図３】図３Ａおよび図３Ｂはシグモイド関数σの値の変化を示す図である。
【図４】図４Ａおよび図４Ｂは夫々、ニューラルネットワークと、隠れ層のノードからの出力値を示す図である。
【図５】図５Ａおよび図５Ｂは夫々、隠れ層のノードからの出力値と、出力層のノードからの出力値を示す図である。
【図６】図６Ａおよび図６Ｂは夫々、ニューラルネットワークと、出力層のノードからの出力値を示す図である。
【図７】図７Ａおよび図７Ｂは、本願発明により解決しようとしている課題を説明するための図である。
【図８】図８Ａおよび図８Ｂは、ニューラルネットワークの入力値と出力値との関係を示す図である。
【図９】図９Ａおよび図９Ｂは夫々、機関回転数と点火時期に対する教師データの分布および点火時期とスロットル開度に対する教師データの分布を示す図である。
【図１０】図１０Ａおよび図１０Ｂは夫々、機関回転数と点火時期に対する教師データの分布および点火時期とスロットル開度に対する教師データの分布を示す図である。
【図１１】図１１Ａおよび図１１Ｂは、教師データと、学習後の出力値との関係を示す図である。
【図１２】図１２Ａおよび図１２Ｂは、学習処理を実行するためのフローチャートである。
【発明を実施するための形態】
【０００８】
＜内燃機関の全体構成＞
【０００９】
図１に内燃機関の全体図を示す。図１を参照すると、１は機関本体、２は各気筒の燃焼室、３は各気筒の燃焼室２内に配置された点火栓、４は各気筒に燃料、例えば、ガソリンを供給するための燃料噴射弁、５はサージタンク、６は吸気枝管、７は排気マニホルドを夫々示す。サージタンク５は吸気ダクト８を介して排気ターボチャージャ９のコンプレッサ９ａの出口に連結され、コンプレッサ９ａの入口は吸入空気量検出器１０を介してエアクリーナ１１に連結される。吸気ダクト８内にはアクチュエータ１３により駆動されるスロットル弁１２が配置され、スロットル弁１２にはスロットル弁開度を検出するためのスロットル弁開度センサ１４が取り付けられている。また、吸気ダクト８周りには吸気ダクト８内を流れる吸入空気を冷却するためのインタクーラ１５が配置される。
【００１０】
一方、排気マニホルド７は排気ターボチャージャ９の排気タービン９ｂの入口に連結され、排気タービン９ｂの出口は排気管１６を介して排気浄化用触媒コンバータ１７に連結される。排気マニホルド７とサージタンク５とは排気ガス再循環（以下、ＥＧＲと称す）通路１８を介して互いに連結され、ＥＧＲ通路１８内にはＥＧＲ制御弁１９が配置される。各燃料噴射弁４は燃料分配管２０に連結され、この燃料分配管２０は燃料ポンプ２１を介して燃料タンク２２に連結される。排気管１６内には排気ガス中のNOX濃度を検出するためのNOXセンサ２３が配置されている。また、エアクリーナ１１内には大気温を検出するための大気温センサ２４が配置されている。
【００１１】
電子制御ユニット３０はデジタルコンピュータからなり、双方向性バス３１によって互いに接続されたROM（リードオンリメモリ）３２、RAM（ランダムアクセスメモリ）３３、CPU（マイクロプロセッサ）３４、入力ポート３５および出力ポート３６を具備する。入力ポート３５には、吸入空気量検出器１０、スロットル弁開度センサ１４、NOXセンサ２３および大気温センサ２４の出力信号が、対応するAD変換器３７を介して入力される。アクセルペダル４０にはアクセルペダル４０の踏込み量に比例した出力電圧を発生する負荷センサ４１が接続され、負荷センサ４１の出力電圧は対応するAD変換器３７を介して入力ポート３５に入力される。更に入力ポート３５にはクランクシャフトが例えば３０°回転する毎に出力パルスを発生するクランク角センサ４２が接続される。CPU３４内ではクランク角センサ４２の出力信号に基づいて機関回転数が算出される。一方、出力ポート３６は対応する駆動回路３８を介して点火栓３、燃料噴射弁４、スロットル弁駆動用アクチュエータ１３、ＥＧＲ制御弁１９および燃料ポンプ２１に接続される。
＜ニューラルネットワークの概要＞
【００１２】
本発明による実施例では、ニューラルネットワークを用いて内燃機関の性能を表す種々の値を推定するようにしている。図２はこのニューラルネットワークの一例を示している。図２における丸印は人工ニューロンを表しており、ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される（本願では、ノードと称す）。図２において ｌ＝１は入力層、ｌ＝２および ｌ＝３は隠れ層、ｌ＝４は出力層を夫々示している。また、図２において、ｘ１およびｘ２ は入力層 ( ｌ＝１) の各ノードからの出力値を示しており、ｙ は出力層 ( ｌ＝４) のノードからの出力値を示しており、ｚ１、ｚ２ およびｚ３ は隠れ層 ( ｌ＝２) の各ノードからの出力値を示しており、ｚ１およびｚ２ は隠れ層 ( ｌ＝３) の各ノードからの出力値を示している。なお、隠れ層の層数は、１個又は任意の個数とすることができ、入力層のノードの数および隠れ層のノードの数も任意の個数とすることができる。なお、本発明による実施例では、出力層のノードの数は１個とされている。
【００１３】
入力層の各ノードでは入力がそのまま出力される。一方、隠れ層 ( ｌ＝２) の各ノードには、入力層の各ノードの出力値ｘ１およびｘ２ が入力され、隠れ層 ( ｌ＝２) の各ノードでは、夫々対応する重みｗおよびバイアスｂを用いて総入力値ｕが算出される。例えば、図２において隠れ層 ( ｌ＝２) のｚ１で示されるノードにおいて算出される総入力値ｕは、（Σｘ・ｗ＋ｂ）＝ｘ１・ｗ１１＋ｘ２・ｗ１２＋ｂ１ となる。次いで、この総入力値ｕは活性化関数により変換され、隠れ層 ( ｌ＝２) のｚ１で示されるノードから、出力値ｚ１として出力される。隠れ層 ( ｌ＝２) の他のノードについても同様である。一方、隠れ層 ( ｌ＝３) の各ノード には、隠れ層 ( ｌ＝２) の各ノードの出力値ｚ１、ｚ２ およびｚ３ が入力され、隠れ層 ( ｌ＝3 ) の各ノードでは、夫々対応する重みｗおよびバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出される。この総入力値ｕは同様に活性化関数により変換され、隠れ層 ( ｌ＝3 ) の各ノードから、出力値ｚ１ 、ｚ２ として出力される、なお、本発明による実施例では、この活性化関数としてシグモイド関数σが用いられている。
【００１４】
一方、出力層 ( ｌ＝４) のノード には、隠れ層 ( ｌ＝３) の各ノードの出力値ｚ１ およびｚ２ が入力され、出力層 のノードでは、夫々対応する重みｗおよびバイアスｂを用いて総入力値ｕ（Σｚ・ｗ＋ｂ）が算出されるか、又は、夫々対応する重みｗのみを用いて総入力値ｕ（Σｚ・ｗ）が算出される。本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値ｕが、そのまま出力値ｙとして出力される、
＜ニューラルネットワークによる関数の表現＞
【００１５】
さて、ニューラルネットワークを用いると任意の関数を表現することができ、次に、このことについて簡単に説明する。まず初めに、活性化関数として用いられているシグモイド関数σについて説明すると、シグモイド関数σは、σ（ｘ）＝１/（１＋exp（-ｘ））で表され、図３Ａに示されるようにｘの値に応じて０と１の間の値を取る。ここで、ｘをｗｘ＋ｂに置き換えると、シグモイド関数σは、σ（ｗｘ＋ｂ）＝１/（１＋exp（-ｗｘ―ｂ））で表される。ここで、ｗの値を大きくしていくと、シグモイド関数σ（ｗｘ＋ｂ）の曲線部分の傾斜が次第に急になり、ｗの値を更に大きくすると、シグモイド関数σ（ｗｘ＋ｂ）は、ｘ＝−ｂ/ｗ（ｗｘ＋ｂ＝０となるｘ、即ち、σ（ｗｘ＋ｂ）＝０．５となるｘ）において、図３Ｂに示されるように、ステップ状に変化するようになる。このようなシグモイド関数σの性質を利用すると、ニューラルネットワークを用いて任意の関数を表現することができる。
【００１６】
例えば、図４Ａに示されるような１個のノードからなる入力層 ( ｌ＝１) と、２個のノードからなる隠れ層 ( ｌ＝２) と、１個のノードからなる出力層 ( ｌ＝３) とにより構成されるニューラルネットワークを用いて、２次関数に近似した関数を表現することができる。なお、このニューラルネットワークでは、図４Ａに示されるように、入力層 ( ｌ＝１) のノードには入力値ｘが入力され、隠れ層 ( ｌ＝２) においてｚ１で示されるノードには、重みｗ１(ｌ２) およびバイアスｂ１を用いて算出された入力値ｕ＝ｘ・ｗ１(ｌ２)＋ｂ１ が入力される。この入力値ｕはシグモイド関数σ（ｘ・ｗ１(ｌ２)＋ｂ１）により変換され、出力値ｚ１ として出力される。同様に、隠れ層 ( ｌ＝２) においてｚ２で示されるノードには、重みｗ２(ｌ２)およびバイアスｂ２ を用いて算出された入力値ｕ＝ｘ・ｗ2(ｌ２)＋ｂ2 が入力され、この入力値ｕはシグモイド関数σ（ｘ・ｗ2(ｌ２)＋ｂ2）により変換され、出力値ｚ2 として出力される。
【００１７】
一方、出力層 ( ｌ＝３)  のノード には、隠れ層 ( ｌ＝２) の各ノードの出力値ｚ１ およびｚ２ が入力され、出力層 のノードでは、夫々対応する重みｗ１(ｙ) およびｗ２(ｙ) を用いて総入力値ｕ（Σｚ・ｗ＝ｚ１・ｗ１(ｙ) ＋ｚ２・ｗ２(ｙ)）が算出される。前述したように、本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値ｕが、そのまま出力値ｙとして出力される、
【００１８】
図４Ｂの（Ｉ）には、ｘ＝０においてシグモイド関数σ（ｘ・ｗ１(ｌ２)＋ｂ１）の値がほぼ零となるように重みｗ１(ｌ２)およびバイアスｂ１が設定されたときの隠れ層 ( ｌ＝２) のノードからの出力値ｚ１が示されている。一方、シグモイド関数σ（ｘ・ｗ2(ｌ２)＋ｂ2）において、例えば、重みｗ２(ｌ２)をマイナスの値にすると、シグモイド関数σ（ｘ・ｗ2(ｌ２)＋ｂ2）の曲線の形は、図４Ｂの（II）に示されるように、ｘの増大に伴い減少するような形となる。図４Ｂの（II）には、ｘ＝０においてシグモイド関数σ（ｘ・ｗ2(ｌ２)＋ｂ2）の値がほぼ零となるように重みｗ２(ｌ２)およびバイアスｂ２ が設定されたときの隠れ層 ( ｌ＝２) のノードからの出力値ｚ２ の変化が示されている。
【００１９】
一方、図４Ｂの（III）には、隠れ層 ( ｌ＝２) の各ノードからの出力値ｚ１ とｚ２ の和（ｚ１ ＋ｚ２ ）が実線で示されている。なお、図４Ａに示されるように、各出力値ｚ１ 、ｚ２ には、夫々対応する重みｗ１(ｙ) およびｗ２(ｙ) が乗算されており、図４Ｂの（III）には、ｗ１(ｙ) 、ｗ２(ｙ) ＞１であるときの出力値ｙの変化が破線で示されている。図４Ｂの（III）において、Wで示される範囲内における破線の形状は、ｙ＝ａｘ２（ａは係数）で示されるような２次関数に近似した曲線を表しており、従って、図４Ａに示されるようなニューラルネットワークを用いることにより、２次関数に近似した関数を表現できることがわかる。
【００２０】
一方、図５Ａは、図４Ａにおける重みｗ１(ｌ２) およびｗ2(ｌ２) の値を大きくすることにより、シグモイド関数σの値を、図３Ｂに示されるように、ステップ状に変化させた場合を示している。図５Ａの（Ｉ）には、ｘ＝―ｂ１ /ｗ１(ｌ２) において、シグモイド関数σ（ｘ・ｗ１(ｌ２)＋ｂ１ ）の値がステップ状に増大するように重みｗ１(ｌ２)およびバイアスｂ１が設定されたときの隠れ層 ( ｌ＝２) のノードからの出力値ｚ１が示されている。また、図５Ａの（II）には、ｘ＝―ｂ１ /ｗ１(ｌ２) よりも少し大きいｘ＝−ｂ２ /ｗ２(ｌ２) においてシグモイド関数σ（ｘ・ｗ2(ｌ２)＋ｂ2）の値がステップ状に減少するように重みｗ２(ｌ２)およびバイアスｂ２ が設定されたときの隠れ層 ( ｌ＝２) のノードからの出力値ｚ２が示されている。また、図５Ａの（III）には、隠れ層 ( ｌ＝２) の各ノードからの出力値ｚ１ とｚ２ の和（ｚ１ ＋ｚ２ ）が実線で示されている。図４Ａに示されるように、各出力値ｚ１ 、ｚ２ には、夫々対応する重みｗ１(ｙ) およびｗ２(ｙ) が乗算されており、図５Ａの（III）には、ｗ１(ｙ) 、ｗ２(ｙ) ＞１であるときの出力値ｙが破線で示されている。
【００２１】
このように、図４Ａに示されるニューラルネットワークにおいて、隠れ層 ( ｌ＝２) の一対のノードにより、図５Ａの（III）に示されるような短冊状の出力値ｙが得られる。従って、隠れ層 ( ｌ＝２) の対をなすノード数を増大し、隠れ層 ( ｌ＝２) の各ノードにおける重みｗおよびバイアスｂの値を適切に設定すると、図５Ｂにおいて破線の曲線で示すような関数ｙ＝ｆ(ｘ）を近似する関数を表現できることになる。なお、詳細な説明は省略するが、図６Ａに示されるように、異なる二つの入力値ｘＩおよびｘ２に対し、隠れ層 ( ｌ＝２)において夫々対応する一対のノードを設けると、図６Ｂに示されるように、入力値ｘＩおよびｘ２に応じた柱状の出力値ｙが得られる。この場合、各入力値ｘＩ、ｘ２に対し、隠れ層 ( ｌ＝２) に多数の対をなすノードを設けると、夫々異なる入力値ｘＩおよびｘ２に応じた複数個の柱状の出力値ｙが得られ、従って、入力値ｘＩおよびｘ２ と出力値ｙとの関係を示す関数を表現できることがわかる。なお、異なる三つ以上の入力値ｘがある場合でも同様に、入力値ｘと出力値ｙとの関係を示す関数を表現できる。
＜ニューラルネットワークにおける学習＞
【００２２】
一方、本発明による実施例では、誤差逆伝播法を用いて、ニューラルネットワーク内における各重みｗの値およびバイアスｂの値が学習される。この誤差逆伝播法は周知であり、従って、誤差逆伝播法についてはその概要を以下に簡単に説明する。なお、バイアスｂは重みｗの一種なので、以下の説明では、バイアスｂは重みｗの一つとされている。さて、図２に示すようなニューラルネットワークにおいて、ｌ＝２，ｌ＝３又は ｌ＝４の各層のノードへの入力値ｕ（ｌ）における重みをｗ（ｌ）で表すと、誤差関数Ｅの重みｗ（ｌ）による微分、即ち、勾配∂Ｅ/∂ｗ（ｌ）は、書き換えると、∂Ｅ/∂ｗ（ｌ）＝（∂Ｅ/∂ｕ（ｌ））（∂u（ｌ） /∂ｗ（ｌ））となる。ここで、ｚ（ｌ−１）・∂ｗ（ｌ）＝ ∂ｕ（ｌ）であるので、（∂Ｅ/∂ｕ（ｌ））＝δ（ｌ）とすると、∂Ｅ/∂ｗ（ｌ）＝δ（ｌ）・ｚ（ｌ−１）と表すことができる。
【００２３】
ここで、ｕ（ｌ）が変動すると、次の層の総入力値ｕ（ｌ＋１）の変化を通じて誤差関数Ｅの変動を引き起こすので、δ（ｌ）は、δ（ｌ）＝（∂Ｅ/∂ｕ（ｌ））＝Σ（∂Ｅ/∂ｕｋ（ｌ＋１））（∂uｋ（ｌ＋１） /∂u（ｌ））（ｋ＝０，１・・・）と表すことができる。ここで、z（ｌ）＝ｆ(u（ｌ）) と表すと、上記δ（ｌ）の右辺に現れる入力値ｕk（ｌ＋１）は、入力値ｕk（ｌ＋１）＝Σｗｋ（ｌ＋１）・ｚ(ｌ) = Σｗｋ（ｌ＋１）・ｆ(u（ｌ）) （ｋ＝０，１・・・）と表すことができる。ここで、上記δ（ｌ）の右辺第１項（∂Ｅ/∂ｕ（ｌ＋１））はδ（ｌ＋１）であり、上記δ（ｌ）の右辺第２項（∂uｋ（ｌ＋１） /∂u（ｌ））は、∂(ｗｋ（ｌ＋１）・ｚ(ｌ) ）/∂u（ｌ）＝ ｗｋ（ｌ＋１）・∂ｆ(u（ｌ）) /∂u（ｌ）= ｗｋ（ｌ＋１）・ｆ’(u（ｌ）) と表すことができる。従って、δ（ｌ）は、δ（ｌ）＝Σｗｋ（ｌ＋１）・δ（ｌ＋１）・ｆ’(u（ｌ）) （ｋ＝０，１・・・）となる。即ち、δ（ｌ＋１）が求まると、δ（ｌ）を求めることができることになる。
【００２４】
さて、或る入力値に対して教師データｙｔが求められており、この入力値に対する出力層からの出力値がｙであった場合、誤差関数として二乗誤差が用いられている場合には、二乗誤差Ｅは、Ｅ＝１/２(ｙ−ｙｔ)２で求められる。この場合、図２の出力層（ｌ＝４）のノードでは、出力値ｙ＝ ｆ(u（ｌ）) となり、従って、この場合には、出力層（ｌ＝４）のノードにおけるδ（ｌ）の値は、δ（ｌ）＝∂Ｅ/∂ｕ（ｌ）＝ (∂Ｅ/∂ｙ) (∂y /∂ｕ（ｌ）) ＝ (ｙ−ｙｔ) ・ｆ’(u（ｌ）) となる。ところが、本発明による実施例では、前述したように、ｆ(u（ｌ）) は恒等関数であり、ｆ’(u（ｌ）) ＝ １となる。従って、δ（ｌ）＝ｙ−ｙｔ となり、δ（ｌ）が求まる。
【００２５】
δ（ｌ）が求まると、δ（ｌ）＝Σｗｋ（ｌ＋１）・δ（ｌ＋１）・ｆ’(u（ｌ）) を用いて前層のδ（ｌ−１）が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、上述の∂Ｅ/∂ｗ（ｌ）＝δ（ｌ）・ｚ（ｌ−１）から、各重みｗについて誤差関数Ｅの微分、即ち、勾配∂Ｅ/∂ｗ（ｌ）か求められる。勾配∂Ｅ/∂ｗ（ｌ）か求められると、この勾配∂Ｅ/∂ｗ（ｌ）を用いて、誤差関数Ｅの値が減少するように、重みｗの値が更新される。即ち、重みｗの値の学習が行われることになる。なお、訓練データとしてバッチ、又はミニバッチが用いられる場合には、誤差関数Ｅとして、二乗和誤差Ｅ＝ １/ｎΣ１/２(ｙｋ−ｙｔ)２（ｋ＝０，１・・・、ｎは訓練データの総数）が用いられ、二乗誤差を逐次算出するようにしたオンライン学習が行われる場合には、誤差関数Ｅとして、上述の二乗誤差Ｅが用いられる。
＜本発明による実施例＞
【００２６】
次に、図７Ａから図８Ｂを参照しつつ、本発明による第１実施例について説明する。この本発明による第１実施例では、図４Ａに示されるように、一個の入力層 ( ｌ＝１)と、一層からなる隠れ層 ( ｌ＝２)と、一個の出力層 ( ｌ＝３)からなるニューラルネットワークが用いられている。但し、本発明による第１実施例では、隠れ層 ( ｌ＝２) におけるノードの個数は、図４Ａとは異なって、３個又は４個とされている。なお、図７Ａから図８Ｂにおいて、破線は真の２次関数の波形を示しており、黒で塗り潰された丸は教師データを示しており、リング状の丸は、入力値ｘに対応する出力値ｙが、教師データと一致するようにニューラルネットワークの重みの学習が行われた後の出力値ｙを示しており、実線の曲線は、学習終了後の入力値ｘと出力値ｙとの関係を示しており、Ｒは入力値ｘの予め想定される使用範囲を示している。
【００２７】
さて、図７Ａおよび図７Ｂは、本願発明が解決しようとしている課題を説明するための図であり、従って、まず初めに、図７Ａおよび図７Ｂを参照しつつ、本願発明が解決しようとしている課題について説明する。図７Ａは、予め想定される使用範囲Ｒ内の入力値ｘに対して、出力量ｙが入力値ｘの２次関数ｙ＝ａｘ２ （ａは定数）となるように、第１実施例において用いられているニューラルネットワークを用いて、ニューラルネットワークの重みを学習した場合を示している。前述したように、図４Ａに示される如く、ニューラルネットワークの隠れ層 ( ｌ＝２) が２個のノードしか有さない場合でも、図４Ｂの（III）の範囲Ｗで示されるように２次関数に近似した関数を表現することができるが、本発明による第１実施例におけるように、ニューラルネットワークの隠れ層 ( ｌ＝２) のノードの個数を３個或いはそれ以上にすると、図７Ａに示されるように、入力値ｘの予め想定される使用範囲Ｒにおいて、出力値ｙを２次関数にほぼ完全に一致した関数として表現することが可能となる。
【００２８】
即ち、入力値ｘの予め想定される使用範囲Ｒについて学習が行われた場合には、図４Ｂを参照しつつ行った説明から想像が付くように、予め想定される使用範囲Ｒについては、複数のシグモイド関数σの曲線部分の適切な組み合わせにより、出力値ｙが２次関数にほぼ完全に一致した関数として表現される。しかしながら、入力値ｘの予め想定される使用範囲Ｒ外のついては、学習が行われていないために、実線で示されるように、シグモイド関数σにおいて大きく変化する曲線部分の両端の直線部分がそのまま出力値ｙとして現れ、従って、学習完了後の出力値ｙは、図７Ａにおいて実線で示されるように、入力値ｘの予め想定される使用範囲Ｒにおいては、２次関数にほぼ完全に一致した関数の形で現れ、入力値ｘの予め想定される使用範囲Ｒ外においては、入力値ｘに対してほとんど変化しない直線に近い形で現れる。
【００２９】
図７Ａに示される場合、入力値ｘが、入力値ｘの予め想定される使用範囲Ｒ内において、隣接する二つの教師データの中間値であった場合には、出力値ｙは、実線で示される曲線上の値、即ち、これら二つの教師データの中間値となる。従って、このように教師データのない領域が内挿領域である場合には、適切な出力値ｙを得ることができる。これに対し、入力値ｘが、例えば、図７Ｂにおいてｘ０ で示されるように、入力値ｘの予め想定される使用範囲Ｒ外になってしまった場合には、図７Ｂにおいて破線で示される二次曲線近傍の出力値ｙとはならず、実線上のｘで示される出力値ｙとなる。即ち、出力値ｙは真の出力値ｙから大巾にずれた値となってしまう。このように教師データのない領域が外挿領域である場合には、適切な出力値ｙを得ることができない。そこで、本発明では、このように入力値ｘが、予め想定される使用範囲Ｒ外になった場合でも、適切な出力値ｙを得ることができるようにしている。
【００３０】
次に、このことについて、本発明による第１実施例を示す図８Ａおよび図８Ｂを参照しつつ、具体的な一例について説明する。内燃機関の分野においては、機関の運転パラメータの値を入力値ｘとしたときに、目標とする出力量ｙが入力値ｘの２次関数の形となる場合があり、図８Ａには、このような場合の一例として、機関の運転パラメータの値、即ち、入力値ｘが機関回転数Ｎ（ｒｐｍ）であり、目標とする出力量ｙが排気損失量である場合が示されている。なお、機関回転数Ｎの使用範囲は、機関が定まるとそれに応じて定まり、図８Ａには、機関回転数Ｎの使用範囲の上限が７０００（ｒｐｍ）である場合が示されている。この場合、本発明による第１実施例では、学習の対象とすべき機関回転数Ｎの使用範囲Ｒが、図８Ａに示されるように、６００（ｒｐｍ）（アイドリング回転数）から７０００（ｒｐｍ）とされている。
【００３１】
一方、図８Ａにおいて、黒で塗り潰された丸により示される教師データは、実験により得られた値である。即ち、排気損失量は、機関燃焼室から排出される熱エネルギ量を示しており、機関燃焼室から排出される排気ガス量に比例し、機関燃焼室から排出される排気ガス温と外気温との温度差に比例する。この排気損失量は、実際に機関を運転したときのガス温度等の検出値に基づいて算出され、従って、この算出された排気損失量は実験をすることにより得られた値を示していることになる。図８Ａに示される教師データは、各機関回転数Ｎに対して、この実験により得られた排気損出量を示している。図８Ａに示される第１実施例では、予め想定される使用範囲Ｒ内の機関回転数Ｎに対して、出力値ｙが教師データに一致するように、ニューラルネットワークの重みが学習され、図８Ａにおける実線は、学習が完了した後の機関回転数Ｎと出力量ｙとの関係を示している。
【００３２】
図８Ａからわかるように、排気損失量は、予め想定される使用範囲Ｒ内の中間の機関回転数Ｎにおいて最小値（＞０）をとる二次関数となる。この場合、機関回転数Ｎが予め想定される使用範囲Ｒ内であるときには、適切な出力値ｙ、即ち、正確な排気損失量を得ることができる。これに対し、入力値ｘが、例えば、図８ＡにおいてＮｘ で示されるように、機関回転数Ｎの予め想定される使用範囲Ｒ外になってしまった場合には、図８Ａにおいて破線で示される二次曲線近傍の出力値ｙとはならず、実線上のｘで示される出力値ｙとなる。即ち、出力値ｙは真の出力値ｙから大巾にずれた値となってしまう。このように機関回転数Ｎの予め想定される使用範囲Ｒ外になってしまった場合には、適切な出力値ｙを得ることができない。
【００３３】
そこで、本発明による第１実施例では、図８Ｂに示されるように、機関回転数Ｎの予め想定される使用範囲Ｒ外の機関回転数Ｎ０ に対して教師データｙ０ を設定するようにしている。この教師データｙ０ は、機関回転数Ｎの予め想定される使用範囲Ｒ内の教師データと異なって、過去の経験値、或いは、物理則から予測された値である。即ち、機関回転数Ｎの予め想定される使用範囲Ｒ内については、実験により得られた排気損失量、即ち、実験により得られた出力値ｙが教師データとして用いられ、機関回転数Ｎの予め想定される使用範囲Ｒ外については、実験によらずに予測により得られた排気損失量、即ち、実験によらずに予測により得られた出力値ｙが教師データとして用いられる。従って、本発明による第１実施例では、これらの実験により得られた教師データと、予測により得られた教師データとを用いて、機関回転数Ｎに応じて変化する排気損失量、即ち、出力値ｙが機関回転数Ｎに対応した教師データに一致するようにニューラルネットワークの重みが学習される。
【００３４】
このように実験により得られた教師データと、予測により得られた教師データとを用いて学習が行われると、学習完了後の機関回転数Ｎと出力値ｙとの関係を示す曲線は、図８Ｂにおいて実線で示されるように、機関回転数Ｎが７０００（ｒｐｍ）よりも高い回転数領域において、即ち、機関回転数Ｎの予め想定される使用範囲Ｒ外において、教師データｙ０ を通るように高い位置に移動する。その結果、図８Ｂからわかるように、少なくとも、機関回転数Ｎが７０００（ｒｐｍ）からＮｘの範囲においては、実線で示される学習完了後の出力値ｙと、破線の二次曲線で示される実際の排気損失量との差が、図８Ａに示される場合に比べて、大巾に小さくなる。従って、機関回転数Ｎが予め想定される使用範囲Ｒよりも高くなったとしても、排気損失量を、比較的正確に、推定することができることになる。
【００３５】
なお、この実験によらずに予測により得られた教師データについては、複数個の教師データを機関回転数Ｎの予め想定される使用範囲Ｒ外に設定することができる。例えば、図８Ｂにおいて、予め想定される使用範囲Ｒよりも機関回転数Ｎの高い側はもとより、予め想定される使用範囲Ｒよりも低い側に、実験によらずに予測により得られた教師データを設定することができる。
【００３６】
さて、本発明の実施例において用いられている内燃機関は、図１に示されるように、電子制御ユニット３０を具備しており、この電子制御ユニット３０は、機関の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備している。ここで、図１に示される入力ポート３５が上述のパラメータ値取得部を構成しており、ＣＰＵ３４が上述の演算部を構成しており、ＲＯＭ３２およびＲＡＭ３３が上述の記憶部を構成している。なお、ＣＰＵ３４、即ち、上述の演算部では、機関の運転パラメータの値が入力層に入力され、機関の運転パラメータの値に応じて変化する出力値が出力層から出力される。また、機関の運転パラメータの値に対して予め想定される使用範囲Ｒは、予めＲＯＭ３２内、即ち、上述の記憶部に記憶されている。更に、予め想定される使用範囲Ｒ内おける機関の運転パラメータの値に対して実験により得られた出力値が教師データとしてＲＡＭ３３内、即ち、上述の記憶部に記憶されており、予め想定される使用範囲Ｒ外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値が教師データとしてＲＡＭ３３内、即ち、上述の記憶部に記憶されている。
【００３７】
即ち、本発明による実施例では、機関の運転パラメータの値に対して予め想定される使用範囲Ｒが存在しており、この予め想定される使用範囲Ｒは、予め記憶部に記憶されている。また、予め想定される使用範囲Ｒ内おける機関の運転パラメータの値に対して実験により得られた出力値ｙが教師データとして記憶部に記憶されており、予め想定される使用範囲Ｒ外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値ｙ０が教師データとして記憶部に記憶されている。更に、実験により得られた教師データと、予測により得られた教師データとを用いて、演算部により、機関の運転パラメータの値に応じて変化する出力値が機関の運転パラメータの値に対応した教師データに一致するようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて機関の運転パラメータの値に対する出力値が推定される。
【００３８】
次に、図９Ａから図１１Ｂを参照しつつ、本発明による第２実施例について説明する。この第２実施例は、本発明を、低負荷用の特殊な内燃機関、例えば、ハイブリッド用内燃機関に適用した場合を示しており、この第２実施例では、ニューラルネットワークを用いて、スロットル弁１２の開度、機関回転数Ｎおよび点火時期から、ＮＯＸ排出量を示す出力値ｙを出力するモデルを作成するようにしている。なお、第２実施例において用いられている内燃機関では、スロットル弁１２の開度の使用範囲が、５．５°から１１．５°（最大閉弁位置におけるスロットル弁１２の開度を０°としている）の間に設定されており、機関回転数Ｎの使用範囲が、１６００（ｒｐｍ）から３０００（ｒｐｍ）の間に設定されており、点火時期の使用範囲が０°（圧縮上死点）からＡＴＤＣ（圧縮上死点前）４０°の間に設定されている。
【００３９】
この第２実施例では、図２に示されるようなニューラルネットワークが用いられている。但し、この第２実施例では、機関の運転パラメータが、スロットル弁１２の開度、機関回転数Ｎおよび点火時期の三つの運転パラメータからなるので、ニューラルネットワークの入力値は３個となる。従って、この第２実施例では、図２に示されるニューラルネットワークの入力層 ( ｌ＝１) のノードの数は３個とされ、入力層 ( ｌ＝１) の各ノードに、スロットル弁１２の開度、機関回転数Ｎおよび点火時期を夫々示す入力値が入力される。一方、出力層 ( ｌ＝４) のノードの数は、図２と同様に一個である。また、隠れ層 ( ｌ＝２) のノード数および隠れ層 ( ｌ＝３) のノード数については図２と同様であるか、或いは、図２に示されるよりも多くされる。
【００４０】
次に、教師データの分布を示す図９Ａから図１０Ｂと、学習結果を示す図１１Ａおよび図１１Ｂとを参照しつつ、第２実施例により解決しようとしている課題と、その課題の解決方法について説明する。初めに、図９Ａから図１１Ｂを参照すると、図９Ａおよび図１０Ａは、点火時期と機関回転数Ｎに対する教師データの分布を示しており、図９Ｂおよび図１０Ｂは、スロットル弁開度と点火時期に対する教師データの分布を示している。なお、図９Ａから図１１Ｂにおいて、黒丸は教師データの設定点を示しており、三角印は教師データが設定されていない場所を示している。一方、この第２実施例では、スロットル弁開度、機関回転数Ｎおよび点火時期がニューラルネットワークの入力層 ( ｌ＝１) の各ノードに入力され、ＮＯＸ排出量を示す出力値ｙが、実験により得られた教師データに一致するように、ニューラルネットワークの重みが学習される。図１１Ａおよび図１１Ｂには、学習後の出力値ｙと、実験により得られた教師データとの関係が丸印および三角印で示されている、なお、図１１Ａおよび図１１Ｂでは、学習後の出力値ｙおよび教師データの値は、最大値が１となるように正規化して示されている。
【００４１】
さて、図９Ａおよび図９Ｂは、第２実施例により解決しようとしている課題を説明するための図であり、従って、初めに、図９Ａおよび図９Ｂを参照しつつ、第２実施例により解決しようとしている課題について説明する。上述したように、図９Ａおよび図９Ｂにおいて黒丸は教師データの設定点を示している。この場合、図９Ａおよび図９Ｂに示される全ての黒丸は、実験により得られた教師データを示している。従って、図９Ａおよび図９Ｂから、いかなるスロットル弁開度と、いかなる機関回転数Ｎと、いかなる点火時期に対して実験により得られた教師データが設定されているかがわかる。例えば、図９Ａにおいて機関回転数Ｎが２０００（ｒｐｍ）で、点火時期がＡＴＤＣ２０°のときには、実験により得られた教師データが設定されており、図９Ｂに示されるように、点火時期がＡＴＤＣ２０°のときには、種々のスロットル弁開度に対して、実験により得られた教師データが設定されていることがわかる。
【００４２】
さて、上述したように、第２実施例において用いられている内燃機関では、スロットル弁１２の開度の使用範囲が、５．５°から１１．５°の間に設定されており、機関回転数Ｎの使用範囲が、１６００（ｒｐｍ）から３０００（ｒｐｍ）の間に設定されており、点火時期の使用範囲が０°（圧縮上死点）からＡＴＤＣ４０°の間に設定されている。図９Ａおよび図９Ｂは、これらの使用範囲、即ち、スロットル弁開度の使用範囲、機関回転数Ｎの使用範囲および火時期の使用範囲に対し、実験により得られた教師データが設定されている場合を示している。この第２実施例においては、スロットル弁開度、機関回転数Ｎおよび点火時期が、これらの使用範囲内において使用されたときに、ＮＯＸ排出量を示す出力値ｙが、実験により得られた教師データに一致するように、ニューラルネットワークの重みが学習され、図１１Ａには、このときの学習後の出力値ｙと、実験により得られた教師データとの関係が丸印で示されている。なお、この実験により得られた教師データは、実際に検出されたＮＯＸ排出量を示しており、第２実施例では、NOXセンサ２３により検出されたNOX濃度および吸入空気量検出器１０により検出された吸入空気量から実際のＮＯＸ排出量が算出される。
【００４３】
図１１Ａに示されるように、学習後の出力値ｙと、実験により得られた教師データとの関係を示す丸印は、一直線上に集まっており、従って、学習後の出力値ｙが、実験により得られた教師データに一致せしめられていることがわかる。ところで、例えば、スロットル弁１２の開度を例に挙げると、エンジンの個体差や経年変化によって、スロットル弁１２の開度が正規の開度からずれてしまい、スロットル弁１２の開度の使用範囲が、５．５°から１１．５°の間に設定されていたとしても、実際には、スロットル弁１２の開度が、予め設定されている使用範囲を越えてしまうことがある。図１１Ａに示される三角印は、スロットル弁１２の開度が予め設定されている使用範囲を越えてしまった場合において、図９Ｂにおいて三角印（スロットル弁開度＝１３．５°）で示される位置に教師データが設定されておらず、更に図９Ａにおいて三角印で示される位置にも教師データが設定されていない場合において、スロットル弁１２の開度が予め設定されている使用範囲を越えてしまった場合の学習結果を示している。
【００４４】
図１１Ａの三角印から、スロットル弁１２の開度の使用範囲外に教師データが設定されていない場合には、学習後の出力値ｙが、教師データに対して、大巾にずれてしまうことがわかる。一方、図１１Ｂの丸印は、図１０Ｂにおいて黒丸ｙ０で示されるように、図９Ｂにおいて三角印で示される位置に、過去の経験値、或いは、物理則から予測された教師データｙ０ を設定した場合の学習結果を示している。図１１Ｂの丸印から、スロットル弁１２の開度の使用範囲外に教師データを設定した場合には、学習後の出力値ｙが、教師データに一致せしめられることがわかる。なお、図１１Ｂの三角印は、図１０Ａおよび図１０Ｂにおいて三角印で示される点について、即ち、他の教師データから内挿し得る内挿領域の点について、教師データを設定しなかった場合の学習結果を示している。図１１Ｂの三角印に示されるように、この場合には、学習後の出力値ｙが、教師データに対して、ほとんどずれないことがわかる。
【００４５】
そこで、この第２実施例では、図１０Ｂに示されるように、スロットル弁１２の開度の使用範囲外に、過去の経験値、或いは、物理則から予測された教師データｙ０ を設定するようにしている。即ち、この第２実施例では、スロットル弁開度の予め想定される使用範囲内については、実験により得られたＮＯＸ排出量、即ち、実験により得られた出力値ｙが教師データとして用いられ、スロットル弁開度の予め想定される使用範囲外については、実験によらずに予測により得られたＮＯＸ排出量、即ち、実験によらずに予測により得られた出力値ｙが教師データとして用いられる。従って、本発明による第２実施例では、これらの実験により得られた教師データと、予測により得られた教師データとを用いて、スロットル弁開度に応じて変化するＮＯＸ排出量、即ち、出力値ｙがスロットル弁開度に対応した教師データに一致するようにニューラルネットワークの重みが学習される。
【００４６】
なお、これまで、スロットル弁開度が予め想定される使用範囲を越える場合について説明してきたが、機関回転数Ｎが予め想定される使用範囲を越える場合もあり、点火時期が予め想定される使用範囲を越える場合もある。従って、機関回転数Ｎの予め想定される使用範囲外に、実験によらずに予測により得られた出力値ｙを教師データとして設定することもできるし、点火時期の予め想定される使用範囲外に、実験によらずに予測により得られた出力値ｙを教師データとして設定することもできる。この第２実施例では、機関の運転パラメータがスロットル弁開度、機関回転数Ｎおよび点火時期であり、従って、包括的に表現すると、この第２実施例では、予め想定される使用範囲外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値が教師データとして設定されていると言える。
【００４７】
この第２実施例において用いられている内燃機関も、図１に示されるように、電子制御ユニット３０を具備しており、この電子制御ユニット３０は、機関の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備している。また、この第２実施例においても、図１に示される入力ポート３５が上述のパラメータ値取得部を構成しており、ＣＰＵ３４が上述の演算部を構成しており、ＲＯＭ３２およびＲＡＭ３３が上述の記憶部を構成している。また、この第２実施例でも、ＣＰＵ３４、即ち、上述の演算部では、機関の運転パラメータの値が入力層に入力され、機関の運転パラメータの値に応じて変化する出力値が出力層から出力される。また、機関の運転パラメータの値に対して予め想定される使用範囲は、予めＲＯＭ３２内、即ち、上述の記憶部に記憶されている。更に、予め想定される使用範囲内おける機関の運転パラメータの値に対して実験により得られた出力値が教師データとしてＲＡＭ３３内、即ち、上述の記憶部に記憶されており、予め想定される使用範囲外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値が教師データとしてＲＡＭ３３内、即ち、上述の記憶部に記憶されている。
【００４８】
即ち、この第２実施例でも、機関の運転パラメータの値に対して予め想定される使用範囲が存在しており、この予め想定される使用範囲は、予め記憶部に記憶されている。また、予め想定される使用範囲内おける機関の運転パラメータの値に対して実験により得られた出力値ｙが教師データとして記憶部に記憶されており、予め想定される使用範囲外の機関の運転パラメータの値に対して実験によらずに予測により得られた出力値ｙ０が教師データとして記憶部に記憶されている。更に、実験により得られた教師データと、予測により得られた教師データとを用いて、演算部により、機関の運転パラメータの値に応じて変化する出力値が機関の運転パラメータの値に対応した教師データに一致するようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて機関の運転パラメータの値に対する出力値が推定される。
【００４９】
図８Ａに示される第１実施例の学習処理、および図１０Ａ，１０Ｂに示される第２実施例の学習処理は、車両が市販される前に実行されるか、或いは、車両が市販された後、車両運転中にオンボードで実行されるか、或いは、車両が市販される前に実行されかつ車両が市販された後、車両運転中にオンボードで実行される。図１2Ａは、車両運転中にオンボードで実行される第１実施例の学習処理ルーチンを示しており、図１2Ｂは、車両運転中にオンボードで実行される第２実施例の学習処理ルーチンを示している。なお、図１2Ａおよび図１2Ｂに示される学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。
【００５０】
図１2Ａを参照すると、まず初めに、ステップ５０において、機関回転数がニューラルネットワークの入力層のノードに入力される。次いで、ステップ５１では、ニューラルネットワークの出力層のノードから出力された出力値ｙと教師データとに基づき、誤差逆伝播法を用いて、出力値ｙが教師データに一致するようにニューラルネットワークの重みが学習される。一方、図１2Ｂを参照すると、まず初めに、ステップ６０において、スロットル弁開度、機関回転数および点火時期がニューラルネットワークの入力層の各ノードに入力される。次いで、ステップ６１では、ニューラルネットワークの出力層のノードから出力された出力値ｙと教師データとに基づき、誤差逆伝播法を用いて、出力値ｙが教師データに一致するようにニューラルネットワークの重みが学習される。
【符号の説明】
【００５１】
１    内燃機関
２    燃焼室
３    点火栓
４    燃料噴射弁
１２    スロットル弁
３０    電子制御ユニット
【図１】
2019116881.tif 000003
【図２】
2019116881.tif 000004
【図３】
2019116881.tif 000005
【図４】
2019116881.tif 000006
【図５】
2019116881.tif 000007
【図６】
2019116881.tif 000008
【図７】
2019116881.tif 000009
【図８】
2019116881.tif 000010
【図９】
2019116881.tif 000011
【図１０】
2019116881.tif 000012
【図１１】
2019116881.tif 000013
【図１２】
2019116881.tif 000014