(57)【要約】【課題】学習モデルの誤差を容易に修正すること。【解決手段】実施形態に係る制御装置は、算出部と、判定部と、補正部と、更新部とを備える。算出部は、入力データについてニューラルネットワークに基づいて演算を行い、入力データに関する状態が第１の状態である確率値を算出する。判定部は、算出部で算出した確率値を第１閾値と比較することで、状態が第１の状態であるか否かを判定する。補正部は、判定部による判定の際に、補正値に基づいて、確率値と第１閾値の少なくとも一方を補正する。更新部は、状態が第１の状態である際の入力データを、算出部への入力データとして入力し、その際に算出部によって算出された確率値に基づいて補正値を更新する。【選択図】図２
2020161086.tif 000002
【特許請求の範囲】
【請求項１】
入力データについてニューラルネットワークに基づいて演算を行い、入力データに関する状態が第１の状態である確率値を算出する算出部と、
前記算出部によって算出された前記確率値を第１閾値と比較することで、状態が前記第１の状態であるか否かを判定する判定部と、
前記判定部による判定の際に、補正値に基づいて、前記確率値と前記第１閾値の少なくとも一方を補正する補正部と、
状態が前記第１の状態である際の入力データを、前記算出部への入力データとして入力し、その際に前記算出部によって算出された前記確率値に基づいて前記補正値を更新する更新部と
を備えることを特徴とする制御装置。
【請求項２】
前記更新部は、
前記第１の状態の発生を指示し、当該指示により得られる前記入力データに基づいて前記補正値を更新すること
を特徴とする請求項１に記載の制御装置。
【請求項３】
前記補正部によって補正された後の前記確率値または前記第１閾値が所定条件を満たす場合に、前記入力データを外部装置へ送信し、前記確率値の算出を依頼する送信部
を備えること
を特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記更新部は、
前記外部装置から送信される確率値に基づいて前記補正値を更新すること
を特徴とする請求項３に記載の制御装置。
【請求項５】
入力データについてニューラルネットワークに基づいて演算を行い、入力データに関する状態が第１の状態である確率値を算出する算出工程と、
前記算出工程で算出した前記確率値を第１閾値と比較することで、状態が前記第１の状態であるか否かを判定する判定工程と、
前記判定工程による判定の際に、補正値に基づいて、前記確率値と前記第１閾値の少なくとも一方を補正する補正工程と、
状態が前記第１の状態である際の入力データを、前記算出工程への入力データとして入力し、その際に前記算出工程によって算出された前記確率値に基づいて前記補正値を更新する更新工程と
を含むことを特徴とする補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および補正方法に関する。
【背景技術】
【０００２】
従来、例えば、機械学習によって生成された学習モデルに基づいて、各種演算処理を行う制御装置がある。例えば、この種の制御装置では、学習モデルを補正することで、学習モデルの精度を向上させる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−４５５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、例えば、入力データに個体差が生じる場合、個体差に応じて全ての学習モデルを、再学習等を行って修正する必要がある。このような場合、膨大なコストや時間を費やすおそれがある。
【０００５】
本発明は、上記に鑑みてなされたものであって、学習モデルの誤差を容易に修正することができる制御装置および補正方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、実施形態に係る制御装置は、算出部と、判定部と、補正部と、更新部とを備える。前記算出部は、入力データについてニューラルネットワークに基づいて演算を行い、入力データに関する状態が第１の状態である確率値を算出する。前記判定部は、前記算出部で算出した前記確率値を第１閾値と比較することで、状態が前記第１の状態であるか否かを判定する。前記補正部は、前記判定部による判定の際に、補正値に基づいて、前記確率値と前記第１閾値の少なくとも一方を補正する。前記更新部は、状態が前記第１の状態である際の入力データを、前記算出部への入力データとして入力し、その際に前記算出部によって算出された前記確率値に基づいて前記補正値を更新する。
【発明の効果】
【０００７】
本発明によれば、学習モデルの誤差を容易に修正することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、補正方法の概要を示す図である。
【図２】図２は、制御装置のブロック図である。
【図３】図３は、補正後の確率の模式図である。
【図４】図４は、送信部による一連の処理を示す図である。
【図５】図５は、制御装置が実行する処理手順を示すフローチャートである。示す図（その１）である。
【図６】図６は、制御装置が実行する処理手順を示すフローチャートである。示す図（その２）である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本願の開示する制御装置および補正方法の実施形態を詳細に説明する。なお、以下に示す実施形態により本発明が限定されるものではない。
【００１０】
まず、図１を用いて実施形態に係る制御装置および補正方法の概要について説明する。図１は、補正方法の概要を示す図である。なお、実施形態に係る補正方法は、図１に示す制御装置１によって実行される。
【００１１】
図１に示すように、実施形態に係る制御装置１は、例えば、エンジン１００から入力される各種センサの入力データに基づいて状態が第１の状態である確率値を学習モデルに基づいて算出する。より詳細には、制御装置１は、学習モデルを用いたニューラルネットワークに基づく演算処理を行うことで、第１の状態である確率値（スコア）を算出する。
【００１２】
本実施形態では、制御装置１が、第１の状態として、エンジン１００が各気筒内部の失火やノッキングである確率を算出する場合について説明するが、第１の状態は失火やノッキングに限定されるものではない。
【００１３】
すなわち、実施形態に係る制御装置１は、入力データについて第１の状態である確率値をニューラルネットワークに基づく演算処理によって算出し、かかる確率値と第１閾値とを比較することで、第１の状態であるか否かを判定する。
【００１４】
また、例えば、エンジン１００は、図示しない車両に搭載され、車両の駆動源として機能する。このような場合、例えば、エンジン１００や、エンジン１００の状態を検出するセンサには、個体差が生じる場合がある。
【００１５】
この場合に、制御装置１に入力される入力データについても、個体差が生じることとなる。このため、制御装置１によって導出される確率値の正確性が損なわれるおそれがある。
【００１６】
一方で、上記の個体差にあわせて学習モデルを補正すると、膨大なコストや時間が掛かるため、好ましくない。特に、学習モデルを車両に搭載する場合、学習モデル毎に安全性のテストを行う必要があり、膨大なコストが掛かる。
【００１７】
そこで、実施形態に係る補正方法では、再学習等を行って学習モデルの補正を行うことをせず、学習モデルに基づいて算出した確率値を補正することとした。
【００１８】
具体的には、図１に示すように、実施形態に係る補正方法では、サンプルデータＤｓに基づいて学習モデルを用いて確率値Ｐを算出する（ステップＳ１）。ここで、サンプルデータＤｓは、例えば、ノッキング時のノック信号やエンジン回転数等の、学習モデルに入力データとして設定されているエンジンの運転状態を示す複数種類のデータで構成される入力データである。すなわち、サンプルデータＤｓは、第１の状態である際の入力データの一例である。
【００１９】
このため、サンプルデータＤｓに基づく確率値Ｐは、１００％となるはずである。しかしながら、図１に示すように、学習モデルによって、確率値Ｐが「８０％」と算出された場合、実際の確率と、学習モデルによって求まる確率値Ｐには、２０％の乖離がある。
【００２０】
実施形態に係る補正方法は、差分である「２０％」を補正値Ｃとして更新する（ステップＳ２）。なお、補正値Ｃは、差分である必要はなく、割合を示す係数であってもよい。その後、実施形態に係る補正方法は、入力データに基づいて算出した確率値Ｐに対して、毎回、補正値Ｃで補正することで、確率値Ｐを適切に補正することが可能となる。
【００２１】
また、実施形態に係る補正方法において、補正値Ｃに基づいて、第１閾値を補正することにしてもよいし、あるいは、確率値Ｐおよび第１閾値の双方を補正することにしてもよい。
【００２２】
また、エンジン１００の運転状態（エンジン回転数や吸入空気量など）に基づいて、運転領域を複数領域に分割し、分割した領域毎に異なる補正値Ｃを用いて補正することにしてもよい。この場合、領域毎に補正値Ｃを算出することで、各運転状態に応じて、確率値Ｐを適切に補正することが可能となる。
【００２３】
このように、実施形態に係る補正方法では、学習モデルではなく、確率値Ｐを補正する。これにより、学習モデルを全ての車両で共通して用いることが可能となる。したがって、実施形態に係る補正方法によれば、学習モデルの誤差を容易に修正することができる。
【００２４】
なお、サンプルデータＤｓの入力は、エンジン１００の運転状態をノックが発生する状態に変化させることで、学習モデルに対応する入力データを入力する構成でもよいし、学習モデルへの入力系統として、通常の制御時の入力データを入力する系統と、更新時に使用する更新用のデータを入力する系統の２系統を設けて、通常制御時と更新時とで入力経路を切り替える構成であってもよい。
【００２５】
次に、図２を用いて実施形態に係る制御装置１の構成例について説明する。図２は、制御装置１のブロック図である。なお、図２には、センサ群１０１を併せて示す。センサ群１０１は、エンジン１００の内部状態を検出するセンサの総称である。
【００２６】
上述のように、制御装置１が、ノッキングを検出する場合、センサ群１０１には、クランク角センサ、ノックセンサなどが含まれる。なお、センサ群１０１は、上記の例に限られず、確率値Ｐの算出対象に応じて、適宜変更することが可能である。
【００２７】
図２に示すように、制御装置１は、制御部２と、記憶部３とを備える。制御部２は、算出部２１と、補正部２２と、判定部２３と、更新部２４と、送信部２５とを備える。記憶部３は、学習モデル３１と、補正値情報３２とを記憶する。
【００２８】
制御部２は、例えば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、入出力ポートなどを有するコンピュータや各種の回路を含む。
【００２９】
コンピュータのＣＰＵは、例えば、ＲＯＭに記憶されたプログラムを読み出して実行することによって、制御部２の算出部２１、補正部２２、判定部２３、更新部２４および送信部２５として機能する。
【００３０】
また、制御部２の算出部２１、補正部２２、判定部２３、更新部２４および送信部２５の少なくともいずれか一部または全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。
【００３１】
また、記憶部３は、例えば、ＲＡＭやＨＤＤに対応する。ＲＡＭやＨＤＤは、学習モデル３１、補正値情報３２や各種プログラムの情報を記憶することができる。なお、制御装置１は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
【００３２】
学習モデル３１は、入力データを解析し、深層学習等の機械学習によって生成された学習モデルである。
【００３３】
補正値情報３２は、補正値Ｃに関する情報である。例えば、補正値情報３２は、所定のタイミングで更新される。
【００３４】
制御部２は、センサ群１０１から入力される入力データに基づいて入力データが第１の状態にある確率値Ｐを算出するとともに、所定のタイミングで確率値Ｐの補正値Ｃを更新する。
【００３５】
算出部２１は、入力データについてニューラルネットワークに基づいて演算を行い、入力データに関する状態が第１の状態である確率値を算出する。具体的には、算出部２１は、学習モデル３１に基づいて入力データが第１の状態である確率値Ｐを算出する。
【００３６】
また、算出部２１は、上記のサンプルデータＤｓに対応する第１の状態である際の入力データを学習モデル３１へ入力し、サンプルデータＤｓに基づく確率値Ｐを算出することも可能である。
【００３７】
補正部２２は、後述する判定部２３による判定の際に、後述する更新部２４によって更新される補正値Ｃに基づいて、確率値Ｐと第１閾値の少なくとも一方を補正する。図３は、補正後の確率値Ｐ´の模式図である。
【００３８】
図３に示すように、補正後の確率値Ｐ´は、例えば、確率値Ｐに対して補正値Ｃを加算した値となる。すなわち、補正部２２は、算出部２１によって算出された確率値Ｐに補正値Ｃを加算することで、確率値Ｐを補正することとなる。
【００３９】
これにより、センサ群１０１の個体差に基づく、学習モデル３１の誤差を容易に修正することが可能となる。なお、図３に示す例では、補正部２２が、確率値Ｐを補正する場合について説明したが、第１閾値を補正することにしてもよい。
【００４０】
図２の説明に戻り、判定部２３について説明する。判定部２３は、算出部２１によって算出された確率値Ｐを第１閾値と比較することで、状態が第１の状態であるか否かを判定する。
【００４１】
本実施形態において、判定部２３は、補正部２２によって補正された確率値Ｐ´と、第１閾値を比較することで、状態が第１の状態であるか否かを判定する。例えば、判定部２３は、確率値Ｐ´が第１閾値を上回る場合に、第１の状態であると判定し、確率値Ｐ´が第１閾値を下回る場合に、第１の状態でないと判定する。
【００４２】
また、判定部２３は、補正部２２によって、第１閾値が補正された場合、補正後の第１閾値と、算出部２１によって算出された確率値Ｐとを比較することで、第１の状態であるか否かを判定する。
【００４３】
このように、判定部２３は、補正部２２による補正結果に基づいて、状態が第１の状態であるか否かを判定する。これにより、判定結果の精度を向上させることが可能となる。また、本実施形態では、補正部２２は、簡便な処理で、確率値Ｐまたは第１閾値を補正することができる。したがって、学習モデル３１の誤差を容易に修正することが可能となる。
【００４４】
更新部２４は、状態が第１の状態である際の入力データを、算出部２１への入力データとして入力し、その際に算出部２１によって算出された確率値Ｐに基づいて補正値Ｃを更新する。
【００４５】
すなわち、更新部２４は、第１の状態であるサンプルデータＤｓを算出部２１への入力データとして入力する。このとき、更新部２４は、例えば、エンジン１００を制御するエンジンＥＣＵ（Electronic  Control  Unit）に対して、第１の状態の発生を指示することで、第１の状態であるサンプルデータＤｓを取得することが可能である。
【００４６】
そして、更新部２４は、サンプルデータＤｓを算出部２１へ入力すると、算出部２１は、サンプルデータＤｓを学習モデル３１に入力することで、第１の状態である確率値Ｐを算出する。
【００４７】
ここで、センサ群１０１の取り付け位置等に個体差がない場合には、かかる確率値Ｐは、基本的に１００％を示す。したがって、更新部２４は、例えば、１００％から確率値Ｐを差し引いた値を補正値Ｃとして算出し、記憶部３の補正値情報３２を更新する。
【００４８】
なお、サンプルデータＤｓは、１種類である必要はなく、複数種類であってもよい。この場合、例えば、複数のサンプルデータＤｓの結果を平準化して補正値Ｃを算出することとすればよい。
【００４９】
また、上述のように、エンジン１００の運転領域を複数領域に分割し、分割した領域ごとに異なる補正値Ｃを算出するようにしてもよい。この場合、補正部２２は、補正値情報３２を参照し、運転領域毎に異なる補正値Ｃを用いて、確率値Ｐを補正する。これにより、運転領域毎に適切に確率値Ｐを補正することができるので、第１の状態であるか否かを精度よく判定することが可能となる。
【００５０】
送信部２５は、補正部２２によって補正された後の確率値Ｐ´が所定条件を満たす場合に、入力データを外部装置へ送信し、確率値Ｐの算出を依頼する。具体的には、送信部２５は、例えば、第１の状態である確率値Ｐ´が例えば、６０〜４０％である場合に、すなわち、第１の状態を確率値Ｐ´から判定し難い場合に、外部装置へ確率の算出を依頼する。
【００５１】
図４は、送信部２５による一連の処理を示す図である。図４に示すように、例えば、送信部２５は、確率値Ｐ´が所定条件を満たしたときの入力データをクラウド５０へ送信する。
【００５２】
クラウド５０には、学習モデルＸが格納されており、クラウド５０は、学習モデルＸにより確率値を算出する。学習モデルＸは、学習モデル３１に比べて、信頼度が高く、また、データ容量が大きい学習モデルである。
【００５３】
すなわち、制御装置１は、学習モデルＸを用いて確率値を算出することで、より信頼度の高く確率値を得ることができる。また、この際、各制御装置１には、簡素な学習モデル（低容量、低処理負荷）を格納しておけばよいので、制御装置１の製品コストを抑えることができる。
【００５４】
そして、制御装置１は、クラウド５０から学習モデルＸを用いて算出された確率値を取得し、かかる確率値に基づいて第１の状態であるか否かの判定を行うことになる。なお、更新部２４は、クラウド５０から送信された確率値と、学習モデル３１を用いて算出した確率値Ｐとの差分に基づき、補正値Ｃを更新することにしてもよい。
【００５５】
すなわち、クラウド５０側で算出された確率値をサンプルデータＤｓと見做すこともできる。これにより、補正値Ｃをより細かく補正することが可能となる。
【００５６】
次に、図５および図６を用いて、実施形態に係る制御装置１が実行する処理手順について説明する。図５および図６は、制御装置１が実行する処理手順を示すフローチャートである。なお、図５では、補正値Ｃを更新する一連の処理手順について説明する。
【００５７】
図５に示すように、制御装置１は、まず、補正値Ｃの更新タイミングか否かを判定し（ステップＳ１）、更新タイミングと判定した場合（ステップＳ１０１，Ｙｅｓ）、第１の状態の発生を指示する（ステップＳ１０２）。
【００５８】
続いて、制御装置１は、第１の状態にあるサンプルデータＤｓに基づいて第１の状態である確率値Ｐを算出する（ステップＳ１０３）。続いて、制御装置１は、ステップＳ１０３にて算出した確率値Ｐに基づき、補正値Ｃを算出する（ステップＳ１０４）。
【００５９】
続いて、制御装置１は、ステップＳ１０４にて算出した補正値Ｃに基づいて記憶部３の補正値情報３２を補正する。また、制御装置１は、ステップＳ１０１の判定処理において、更新タイミングと判定しなかった場合（ステップＳ１０１，Ｎｏ）、そのまま処理を終了する。
【００６０】
次に、図６を用いて、制御装置１が、通常制御時において、第１の状態であるか否かを判定するまでの一連の処理について説明する。
【００６１】
図６に示すように、まず、制御装置１は、入力データを取得すると（ステップＳ２０１）、入力データに基づいて、第１の状態である確率値Ｐを算出する（ステップＳ２０２）。
【００６２】
続いて、制御装置１は、図５に示す処理手順にて更新した補正値Ｃに基づいて、確率値Ｐまたは第１閾値を補正する（ステップＳ２０３）。続いて、制御装置１は、補正した確率値Ｐ´または第１閾値に基づいて、第１の状態であるか否かを判定して（ステップＳ２０４）、処理を終了する。
【００６３】
上述したように、実施形態に係る制御装置１は、算出部２１と、判定部２３と、補正部２２と、更新部２４とを備える。算出部２１は、入力データについてニューラルネットワークに基づいて演算を行い、入力データに関する状態が第１の状態である確率値Ｐを算出する。判定部２３は、算出部２１で算出した確率値Ｐを第１閾値と比較することで、状態が第１の状態であるか否かを判定する。
【００６４】
補正部２２は、判定部２３による判定の際に、補正値Ｃに基づいて、確率値Ｐと第１閾値の少なくとも一方を補正する。更新部２４は、状態が第１の状態である際の入力データを、算出部２１への入力データとして入力し、その際に算出部２１によって算出された確率値Ｐに基づいて補正値Ｃを更新する。
【００６５】
したがって、実施形態に係る制御装置１によれば、学習モデルの誤差を容易に修正することができる。
【００６６】
ところで、上述した実施形態では、制御装置１がエンジン１００の状態を算出する場合について説明したが、これに限定されるものではない。すなわち、制御装置１は、エンジン１００以外の内部状態を学習モデルに基づき、推定するものであってもよい。
【００６７】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な様態は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲および、その均等物によって定義される統括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００６８】
１    制御装置
２１    算出部
２２    補正部
２３    判定部
２４    更新部
２５    送信部
３１、Ｘ    学習モデル
５０    クラウド
Ｃ    補正値
Ｄｓ    サンプルデータ
Ｐ、Ｐ´    確率値
【図１】
2020161086.tif 000003
【図２】
2020161086.tif 000004
【図３】
2020161086.tif 000005
【図４】
2020161086.tif 000006
【図５】
2020161086.tif 000007
【図６】
2020161086.tif 000008