(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-07
(45)【発行日】2024-02-16
(54)【発明の名称】制御プログラム、制御方法および制御装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240208BHJP
【FI】
G06N20/00
(21)【出願番号】P 2019153002
(22)【出願日】2019-08-23
【審査請求日】2022-03-31
(73)【特許権者】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】飯野 賢吾
(72)【発明者】
【氏名】相原 義人
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開平11-082137(JP,A)
【文献】特開2010-273328(JP,A)
【文献】特開2007-245842(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00-20/20
(57)【特許請求の範囲】
【請求項1】
コンピュータに実行させる制御プログラムであって、
モデルに入力する入力データの適用範囲に応じたパラメータを記憶部から取得し、当該取得したパラメータを前記モデルに設定する通常時処理と、
前記モデルに評価用データを入力して得られた出力データに基づく前記モデルの推定精度が
閾値を超える範囲を前記適用範囲とし、前記推定精度が閾値以下であ
る範囲を非適用範囲
として探索し、前記非適用範囲の評価用データと前記評価用データの教師ラベルとに基づいて再学習されたパラメータで、前記探索した非適用範囲に関する、前記記憶部に記憶されたパラメータを更新又は前記記憶部へのパラメータの追加を行う更新追加処理と、を行う
制御プログラム。
【請求項2】
前記更新追加処理において、前記非適用範囲として探索した範囲について、当該範囲に隣接する他の前記適用範囲のパラメータを用いて再度探索する
請求項1に記載の制御プログラム。
【請求項3】
前記更新追加処理において、前記非適用範囲の評価用データと前記評価用データの教師ラベルを再学習実行先へ送信して再学習を依頼する
請求項1または請求項2に記載の制御プログラム。
【請求項4】
コンピュータが実行する制御方法であって、
モデルに入力する入力データの適用範囲に応じたパラメータを記憶部から取得し、当該取得したパラメータを前記モデルに設定する通常時処理と、
前記モデルに評価用データを入力して得られた出力データに基づく前記モデルの推定精度が
閾値を超える範囲を前記適用範囲とし、前記推定精度が閾値以下であ
る範囲を非適用範囲
として探索し、前記非適用範囲の評価用データと前記評価用データの教師ラベルとに基づいて再学習されたパラメータで、前記記憶部に記憶された非適用範囲のパラメータを更新又は前記記憶部へのパラメータの追加を行う更新追加処理と、を含む制御方法。
【請求項5】
モデルに入力する入力データの適用範囲に応じたパラメータを記憶部から取得し、当該取得したパラメータを前記モデルに設定する通常時処理と、
前記モデルに評価用データを入力して得られた出力データに基づく前記モデルの推定精度が
閾値を超える範囲を前記適用範囲とし、前記推定精度が閾値以下であ
る範囲を非適用範囲
として探索し、前記非適用範囲の評価用データと前記評価用データの教師ラベルとに基づいて再学習されたパラメータで、前記記憶部に記憶された非適用範囲のパラメータを更新又は前記記憶部へのパラメータの追加を行う更新追加処理と、を行う
制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御プログラム、制御方法および制御装置に関する。
【背景技術】
【0002】
従来、機械学習によって生成されたモデルの推定精度が低下した場合に、モデルを再学習する技術がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、モデルの推定精度を適切に確保することができないおそれがあった。具体的には、従来技術では、全ての入力データを用いて再学習を行うため、一部の入力データに対するモデルの推定精度が向上するとは限らない。
【0005】
本発明は、上記に鑑みてなされたものであって、モデルの推定精度を適切に保つことができる制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、実施形態に係る制御装置は、記憶部と、判定部と、設定部とを備える。前記記憶部は、機械学習によって生成されたモデルに適用するパラメータを前記パラメータの適用範囲に応じて記憶する。前記判定部は、前記モデルへ入力する入力データがどの前記適用範囲に対応するかを判定する。前記設定部は、前記判定部によって判定された前記適用範囲に基づいて、前記モデルに前記パラメータを設定する。
【発明の効果】
【0007】
本発明によれば、モデルの推定精度を適切に保つことができる。
【図面の簡単な説明】
【0008】
【
図3】
図3は、パラメータDBの一例を示す図である。
【
図4】
図4は、探索部による処理の一例を示す図である。
【
図5】
図5は、制御装置が実行する処理手順を示すフローチャート(その1)である。
【
図6】
図6は、制御装置が実行する処理手順を示すフローチャート(その2)である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、実施形態に係る制御装置および制御方法について説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0010】
まず、
図1Aおよび
図1Bを用いて、実施形態に係る制御装置および制御方法の概要について説明する。
図1Aは、制御装置の搭載例を示す図である。
図1Bは、制御方法の概要を示す図である。
【0011】
図1Aに示すように、実施形態に係る制御装置1は、車両100に搭載される。制御装置1は、車両100の車載センサから入力されるセンサ情報に基づく入力データDiをモデルMに入力することで出力データDoを生成する。ここで、モデルMとは、入力層、中間層(隠れ層)、および出力層と呼ばれるレイヤを有し、入力層から入力された入力データDiを各接続経路を伝播させながら出力層まで伝達する。
【0012】
この際、各接続経路に設定されたパラメータに基づいた演算処理を実行することで、入力データDiに対応する出力データDoを生成する。なお、パラメータには、重みパラメータや、バイアスパラメータなどが含まれる。
【0013】
ところで、上述のように、制御装置1は、車載センサから入力されるセンサ情報に基づいて、モデルMを用いて演算処理を行う。ここで、車載センサは、車両100毎に取付誤差が生じる場合や、車両100の部品が劣化する場合がある。
【0014】
このため、車両100の現状にあわせてモデルMを最適化する必要がある。モデルMを最適化する手法として、例えば、全ての条件に対応する学習データを用いて、モデルMの再学習を行う手法が考えられる。
【0015】
しかしながら、この場合においては、再学習後のモデルMが全ての条件で有効か否かを検証する必要があり、コストの増加を招くため好ましくない。また、この場合、全ての条件に対応する学習データを用いて、再学習を行うと再学習の前後で一部の入力データDiに対する出力データDoの精度の悪化を招くおそれがある。
【0016】
そこで、実施形態に係る制御方法では、モデルMに適用するパラメータを当該パラメータの適用範囲に応じて記憶しておくこととし、入力データDiに応じてパラメータを使い分けることとした。
【0017】
図1Bに示す例では、適用範囲R1および適用範囲R2が、それぞれ第1条件であるエンジン負荷率と、第2条件であるエンジン回転数に基づいて設定された範囲である場合を示す。
【0018】
第1のパラメータが適用範囲R1に対応し、第1のパラメータとは異なる第2のパラメータが適用範囲R2に対応する。なお、以下では、適用範囲R1および適用範囲R2を区別しない場合、単に適用範囲Rと記載する。
【0019】
そして、実施形態に係る制御方法では、入力データDiがどの適用条件に対応するかを判定し、判定結果に応じてモデルMのパラメータを設定したうえで、モデルMに入力データDiを入力する。
【0020】
具体的には、入力データDiが適用範囲R1であれば、第1のパラメータをモデルMに設定し、入力データDiが適用範囲R2であれば、第2のパラメータをモデルMに設定する。
【0021】
このように、実施形態に係る制御方法では、パラメータの適用範囲Rに応じて、複数のパラメータを記憶しておき、複数のパラメータでモデルMが全範囲を網羅するように最適化を行う。
【0022】
このため、実施形態に係る制御方法では、部品の劣化等によってパラメータの適用範囲Rが変化した場合、全てのパラメータを再学習する必要はなく、一部の条件に対応する一部のパラメータのみを再学習すればよい。
【0023】
つまり、実施形態に係る制御方法では、一部の条件の学習データを用いて、一部の適用範囲に対応するパラメータについて再学習をおこなうことができる。言い換えれば、元々精度が良好だった条件のパラメータを変更せずに、精度が悪くなった条件のパラメータのみを変更する。
【0024】
したがって、実施形態に係る制御方法では、モデルの推定精度を適切に保つことができる。なお、上述した例では、第1条件および第2条件の2つの条件に対する適用範囲Rを示したが、これに限定されるものではなく、かかる条件は1つであってもよく、3つ以上であってもよい。
【0025】
また、上述した実施形態では、適用範囲が2つである場合について示したが、これに限定されるものではなく、適用範囲Rを3つ以上とすることにしてもよい。
【0026】
次に、
図2を用いて、実施形態に係る制御装置1の構成例について説明する。
図2は、制御装置1のブロック図である。なお、
図2には、制御装置1と、サーバ装置50とを含む制御システムSを示す。また、制御システムSには、複数の制御装置1が含まれるものとする。
【0027】
また、
図2には、車載センサ類101を併せて示す。車載センサ類101は、例えば、車両100の内燃機関(エンジン)の状態を検出するセンサ類である。制御装置1は、車載センサ類101から入力されるセンサ情報をモデルMに入力することで、エンジンの失火などといった状態を判定することができる。
【0028】
また、サーバ装置50は、各制御装置1が保有するモデルMを統括して管理するサーバである。後述するように、サーバ装置50は、制御装置1に対して、モデルMを提供するとともに、制御装置1からモデルMの再学習依頼を受け付けた場合に、かかる再学習依頼に基づいて、再学習を行う機能を備える。
【0029】
その後、サーバ装置50は、再学習の学習結果であるパラメータを制御装置1へ送信する。これにより、制御装置1は、パラメータを最適化することができ、モデルMを最適化することが可能となる。
【0030】
図2に示すように、実施形態に係る制御装置1は、記憶部2と、制御部3とを備える。記憶部2は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0031】
また、
図2に示すように、記憶部2は、モデルDB21と、パラメータDB22と、学習用データDB23とを備える。モデルDB21は、モデルMを記憶するデータベースである。
【0032】
パラメータDB22は、モデルMに適用するパラメータを記憶するデータベースである。上述のように、パラメータDB22には、パラメータの適用範囲に応じて、複数のパラメータが記憶される。
【0033】
図3は、パラメータDB22の一例を示す図である。
図3に示すように、パラメータDB22には、「パラメータID」、「適用範囲」、「重みパラメータ」、「バイアスパラメータ」等が互いに関連付けられて記憶される。
【0034】
パラメータIDは、各パラメータを識別する識別子である。適用範囲は、対応するパラメータの適用範囲を示す。本実施形態において、適用範囲は、
図1Bに示した第1条件および第2条件に対して設けられた適用範囲を示す。
【0035】
重みパラメータおよびバイアスパラメータは、上述のパラメータの一例である。これらパラメータは、機械学習によって導出される値である。なお、
図3に示す例では、重みパラメータおよびバイアスパラメータを「C01」や「D01」のように模式的に示したが、「C01」や「D01」には具体的な情報が記載されているものとする。また、「C01」や「D01」には、モデルMのノード数に応じた個数のパラメータがそれぞれ記載される。
【0036】
図2の説明に戻り、学習用データDB23について説明する。学習用データDB23は、再学習時に用いるデータを記憶するデータベースである。後述するように、実施形態に係る制御装置1は、パラメータの適用範囲を探索する機能を有しており、適用範囲から外れたデータを学習用データとして、学習用データDB23に記憶する。
【0037】
制御部3は、コントローラであり、例えば、CPUやMPU等によって、記憶部2に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部3は、例えば、ASICやFPGA等の集積回路により実現することができる。
【0038】
図2に示すように、制御部3は、取得部31と、判定部32と、設定部33と、演算部34と、探索部35と、更新部36とを備える。取得部31は、車載センサ類101から入力されるセンサ情報を取得する。なお、例えば、車載センサ類101は、車両100の内燃機関に設けられ、内燃機関の状態を検出するセンサである。
【0039】
判定部32は、モデルMへ入力する入力する入力データDiがどの適用範囲Rに対応するかを判定する。具体的には、判定部32は、パラメータDB22の適用範囲を参照し、上記のセンサ情報(入力データ)がどの適用範囲に対応するかを判定する。
【0040】
設定部33は、判定部32によって判定された適用範囲に基づいて、パラメータを設定する。具体的には、設定部33は、パラメータDB22から判定部32によって判定された適用範囲のパラメータを取り出して、かかるパラメータをモデルMに設定する。
【0041】
この際、設定部33は、前回の適用範囲と、今回の適用範囲が同じだった場合、モデルMのパラメータをそのまま保持しておくことにしてもよい。つまり、設定部33は、適用範囲Rが変わった場合にのみ、パラメータを設定することにしてもよい。
【0042】
演算部34は、取得部31によって取得されたセンサ情報を入力データDiとしてモデルMに入力することで、出力データDoを生成する。また、演算部34は、評価用データをモデルMに入力することで、評価用の出力データDoを生成することも可能である。
【0043】
探索部35は、モデルMに評価用データを入力して得られる出力データDoに基づいて、パラメータの適用範囲Rを探索する。具体的には、探索部35は、モデルMの推定精度が閾値を超える範囲を適用範囲Rとし、推定精度が閾値を下回る範囲を非適用範囲Rnとして探索していく。
【0044】
以下では、モデルMが各気筒のノッキングである確率を出力データDoとして生成するモデルである場合を想定する。まず、探索部35は、評価用データの生成指示を図示しないエンジン制御装置へ通知する。
【0045】
具体的には、第1条件および第2条件を指定したうえで、例えば、ノッキングが発生する条件でのエンジンの作動をエンジン制御装置へ指示する。これにより、探索部35は、本来、ノッキングであることを示すセンサ情報を評価用データとして取得することが可能となる。探索部35は、第1条件および第2条件を順次変更しながら、エンジン制御装置へ指示することで、全ての評価用データを得ることが可能となる。
【0046】
続いて、探索部35は、かかる評価用データをモデルMに入力して得られる出力データDoを演算部34から取得し、出力データDoと教師ラベルとに基づいて、パラメータの適用範囲を探索する。
【0047】
ここで、評価用データから得られる出力データDoは、本来、ノッキングであることを示すはずである。
【0048】
したがって、探索部35は、出力データDoがノッキングであることを示した場合、パラメータが適合していることを判別することができ、出力データDoがノッキングを示していない場合、パラメータが適合していないことを判別することができる。
【0049】
例えば、探索部35は、出力データDoが示すノッキングである確率(以下、ノック確率)が80%以上である条件を適用範囲Rとし、ノック確率が80%未満である条件を非適用範囲Rnとして探索を行う。
【0050】
そして、探索部35は、非適用範囲の入力データDiおよび出力データDoを学習用データDB23に記憶する。このとき、探索部35は、1つのパラメータで全ての範囲を探索する必要はなく、一部の範囲のみを探索することにしてもよい。
【0051】
例えば、探索部35は、現在の適当範囲R+αの範囲を対応するパラメータを用いて探索する。これにより、1つのパラメータの探索範囲を小さくすることができるので、探索効率の向上を図ることができる。
【0052】
このように、探索部35は、各パラメータの適用範囲および非適用範囲を探索することで、非適用範囲を洗い出すことが可能となる。つまり、非適用範囲に対して、早急に対応することが可能となる。なお、探索部35は、所定周期ごとに探索処理を行うものとする。
【0053】
また、探索部35は、非適用範囲が複数の適用範囲Rに隣接している場合、複数の適用範囲Rのパラメータを用いて、再度探索を行うことも可能である。
【0054】
図4は、探索部35による処理の一例を示す図である。探索部35は、例えば、適用範囲R1に対応する第1のパラメータのみを用いて、非適用範囲Rn1を探索し、非適用範囲Rn2については、第1のパラメータおよび適用範囲R2に対応する第2のパラメータのそれぞれを用いて非適用範囲Rn1を探索する。
【0055】
これは、非適用範囲Rn1については、適用範囲R2と隣接していないため、第2のパラメータを用いたとしても第2のパラメータの適用範囲Rとなる可能性が低いためである。一方、非適用範囲Rn2は、適用範囲R1および適用範囲R2のそれぞれに隣接している。
【0056】
このため、非適用範囲Rn2が第1のパラメータの適用範囲Rから非適用範囲Rnに変わったとしても、第2のパラメータの適用範囲Rとなる場合も想定される。このように、探索部35は、隣接する適用範囲Rのパラメータそれぞれを用いて非適用範囲Rnを探索することで、後述する再学習を省略することができる。
【0057】
図2の説明に戻り、更新部36について説明する。更新部36は、非適用範囲Rnのパラメータについて、非適用範囲Rnの評価用データおよび出力データDoに基づいて再学習されたパラメータへ更新する。
【0058】
具体的には、更新部36は、学習用データDB23から非適用範囲Rnの評価用データと教師ラベル(実際にノッキングであるか否かを示すラベル)を抽出し、学習依頼とともにサーバ装置50へ送信する。
【0059】
サーバ装置50は、評価用データおよび教師ラベルに基づいて、モデルMを用いて再学習を行い、非適用範囲Rnにおいて最適化されたパラメータを生成する。
【0060】
その後、サーバ装置50は、再学習後のパラメータを制御装置1へ送信し、更新部36は、かかるパラメータに基づいて、パラメータDB22を更新する。つまり、更新部36は、パラメータの適用範囲の更新、および、パラメータの追加または削除を行うことが可能である。
【0061】
このように、更新部36は、非適用範囲Rnのパラメータを更新することで、非適用範囲Rnを削減することが可能となる。また、本実施形態に係る制御装置1では、非適用範囲Rnの入力データDi(評価用データ)および対応する教師ラベルに基づいて、再学習を行う。このため、適用範囲Rのパラメータを変更することなく、非適用範囲Rnのパラメータを変更することが可能となる。
【0062】
つまり、適用範囲RにおけるモデルMの推定精度を確保したうえで、非適用範囲Rnの推定精度を新たに確保することが可能となる。したがって、実施形態に係る制御装置1によれば、モデルの推定精度を適切に保つことができる。
【0063】
次に、
図5および
図6を用いて、実施形態に係る制御装置1が実行する処理手順について説明する。
図5および
図6は、制御装置1が実行する処理手順を示すフローチャートである。
【0064】
まず、
図5を用いて、通常時の制御手順について説明する。
図5に示すように、まず、制御装置1は、入力データDiを取得すると(ステップS100)、入力データDiに対応する適用範囲Rを判定する(ステップS101)。
【0065】
続いて、制御装置1は、ステップS101にて判定した適用範囲Rに基づいて、モデルMのパラメータを設定し(ステップS102)、モデルMへ入力データを入力して(ステップS103)、処理を終了する。
【0066】
続いて、
図6を用いて、パラメータの更新処理に伴う一連の処理について説明する。
図6に示すように、制御装置1は、更新タイミングか否かを判定する(ステップS111)。ここで、制御装置1は、例えば、所定の周期や、部品を交換したタイミングをトリガとして更新タイミングをトリガとして更新タイミングを判定することができる。
【0067】
制御装置1は、ステップS111にて探索タイミングであると判定した場合(ステップS111,Yes)、評価用データを取得し(ステップS112)、探索処理を行う(ステップS113)。
【0068】
続いて、制御装置1は、探索処理の結果、非適用範囲Rnがあったか否かを判定し(ステップS114)、非適用範囲Rnがあった場合(ステップS114,Yes)、非適用範囲Rnのデータとともに、サーバ装置50へ学習依頼を送信する(ステップS115)。
【0069】
その後、制御装置1は、サーバ装置50から再学習後のパラメータを取得し(ステップS116)、取得したパラメータに基づいてパラメータDB22を更新して(ステップS117)、処理を終了する。
【0070】
上述したように、実施形態に係る制御装置1は、記憶部2と、判定部32と、設定部33とを備える。記憶部2は、機械学習によって生成されたモデルMに適用するパラメータをパラメータの適用範囲Rに応じて記憶する。判定部32は、モデルMへ入力する入力データがどの適用範囲Rに対応するかを判定する。
【0071】
設定部33は、判定部32によって判定された適用範囲Rに基づいて、モデルMにパラメータを設定する。したがって、実施形態に係る制御装置1によれば、モデルMの推定精度を適切に保つことができる。
【0072】
ところで、上述した実施形態では、制御装置1が車両100に搭載される場合について説明したが、これに限定されるものではない。すなわち、本発明は、パーソナルコンピュータをはじめとする種々の装置に適用することが可能である。
【0073】
また、上述した実施形態では、サーバ装置50が非適用範囲のパラメータを再学習する場合について説明したが、これに限定されるものではない。すなわち、制御装置1(更新部36)で再学習を行うことにしてもよい。
【0074】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0075】
1 制御装置
31 取得部
32 判定部
33 設定部
34 演算部
35 探索部
36 更新部
M モデル