JP2022079938A - 機械学習システム - Google Patents
機械学習システム Download PDFInfo
- Publication number
- JP2022079938A JP2022079938A JP2020190821A JP2020190821A JP2022079938A JP 2022079938 A JP2022079938 A JP 2022079938A JP 2020190821 A JP2020190821 A JP 2020190821A JP 2020190821 A JP2020190821 A JP 2020190821A JP 2022079938 A JP2022079938 A JP 2022079938A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- machine learning
- model
- vehicle
- values
- 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
【課題】車両における演算負荷の増大に伴う消費電力の増大を抑制しつつサーバの演算負荷の増大を抑制する。【解決手段】機械学習システム1は、機械学習モデルを有する車両2と、車両と通信可能なサーバ3とを備える。サーバは、事前学習用データセットに基づいて、モデルパラメータのうちの一部の値を事前学習する事前学習部331と、事前学習が完了した後に、事前学習されたモデルパラメータの値を車両に送信するサーバ側送信部332と、を備える。車両は、事前学習されたモデルパラメータの値と本学習用データセットとを用いて事前学習とは異なる手法で全てのモデルパラメータの値を本機械学習する本学習部145と、本機械学習されたモデルパラメータの値を使用した機械学習モデルを用いて機器を制御する制御部141とを備える。【選択図】図10
Description
本開示は、機械学習モデルを構成するモデルパラメータの値を機械学習する機械学習システムに関する。
従来から、車両に関する状態パラメータの現在の値に基づいて車両に関する状態パラメータの将来の値を予測するニューラルネットワークモデルを用いることが検討されている(例えば、特許文献1)。特に、特許文献1では、内燃機関の運転に関する入力パラメータ(例えば、ドライバ要求トルク、機関回転数、車速など)の値が入力されると、これら入力パラメータとは別の内燃機関の運転に関する出力パラメータ(例えば、将来の機関トルク)の値を出力するニューラルネットワークモデルが用いられている。
ところで、ニューラルネットワークモデルのような機械学習モデルでは、より適切な出力パラメータの値を出力するためには、その機械学習モデルを有する車両における実測値を用いて機械学習モデルを構成するモデルパラメータの値を機械学習することが必要である。斯かる機械学習を車両で行うと、車両のプロセッサの演算負荷が高くなり、これに伴って車両における消費電力が大きくなる。
一方、車両のプロセッサの演算負荷を低減するためには、車両と通信可能なサーバにてモデルパラメータの値の機械学習を行うことが考えられる。しかしながら、サーバは多数の車両と通信を行うため、通信する多くの車両のモデルパラメータの値を機械学習すると、サーバの演算負荷が膨大になってしまう。
上記課題に鑑みて、本開示の目的は、車両における演算負荷の増大に伴う消費電力の増大を抑制しつつサーバの演算負荷の増大を抑制することにある。
本開示の要旨は以下のとおりである。
(1)搭載された機器を制御するのに用いられる機械学習モデルを有する車両と、該車両と通信可能なサーバとを備え、前記車両にて前記機械学習モデルを構成するモデルパラメータの値を機械学習する、機械学習システムであって、
前記サーバは、
前記車両から送信された前記機械学習モデルの入力パラメータの実測値を含む事前学習用データセットに基づいて、前記モデルパラメータのうちの一部の値を事前学習する事前学習部と、
前記事前学習が完了した後に、前記事前学習されたモデルパラメータの値を前記車両に送信するサーバ側送信部と、を備え、
前記車両は、
前記サーバから受信した前記事前学習されたモデルパラメータの値と、前記機械学習モデルの入力パラメータ及び出力パラメータの実測値を含む本学習用データセットとを用いて、前記事前学習とは異なる手法で前記機械学習モデルを構成する全てのモデルパラメータの値を本機械学習する本学習部と、
前記本機械学習された前記モデルパラメータの値を使用した機械学習モデルを用いて前記機器を制御する制御部とを備える、機械学習システム。
前記サーバは、
前記車両から送信された前記機械学習モデルの入力パラメータの実測値を含む事前学習用データセットに基づいて、前記モデルパラメータのうちの一部の値を事前学習する事前学習部と、
前記事前学習が完了した後に、前記事前学習されたモデルパラメータの値を前記車両に送信するサーバ側送信部と、を備え、
前記車両は、
前記サーバから受信した前記事前学習されたモデルパラメータの値と、前記機械学習モデルの入力パラメータ及び出力パラメータの実測値を含む本学習用データセットとを用いて、前記事前学習とは異なる手法で前記機械学習モデルを構成する全てのモデルパラメータの値を本機械学習する本学習部と、
前記本機械学習された前記モデルパラメータの値を使用した機械学習モデルを用いて前記機器を制御する制御部とを備える、機械学習システム。
本開示によれば、車両における演算負荷の増大に伴う消費電力の増大を抑制しつつサーバの演算負荷の増大を抑制することができる。
以下、図面を参照して実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
<機械学習システムの構成>
まず、図1~図5を参照して、一つの実施形態に係る機械学習システム1について説明する。図1は、一つの実施形態に係る機械学習システム1の概略的な構成図である。機械学習システム1は、各車両に特有の機械学習モデルを、各車両の状態を表す複数の状態パラメータの値を含む訓練データセットを用いて機械学習させる。機械学習モデルは、車両に搭載された機器を制御するのに用いられる。
まず、図1~図5を参照して、一つの実施形態に係る機械学習システム1について説明する。図1は、一つの実施形態に係る機械学習システム1の概略的な構成図である。機械学習システム1は、各車両に特有の機械学習モデルを、各車両の状態を表す複数の状態パラメータの値を含む訓練データセットを用いて機械学習させる。機械学習モデルは、車両に搭載された機器を制御するのに用いられる。
図1に示したように、機械学習システム1は、通信可能な複数の車両2と、サーバ3とを備える。複数の車両2のそれぞれとサーバ3とは、光通信回線などで構成される通信ネットワーク4と、通信ネットワーク4にゲートウェイ(図示せず)を介して接続される無線基地局5とを介して、相互に通信可能に構成される。車両2と無線基地局5との通信は、任意の通信規格に準拠した通信である。
図2は、車両2のハードウェア構成を概略的に示す図である。図2に示したように、車両2は、電子制御ユニット(ECU)11を備える。ECU11は、車内通信インターフェース12と、記憶装置13と、プロセッサ14とを有する。車内通信インターフェース12及び記憶装置13は信号線を介してプロセッサ14に接続されている。なお、本実施形態では、車両2には、一つのECU11が設けられているが、機能毎に分かれた複数のECUが設けられてもよい。
車内通信インターフェース12は、CAN(Controller Area Network)等の規格に準拠した車内ネットワーク15にECU11を接続するためのインターフェース回路を有する。ECU11は車内通信インターフェース12を介して他の車載機器と通信する。
記憶装置13は、データを記憶する記憶部の一例である。記憶装置13は、例えば、揮発性の半導体メモリ(例えば、RAM)、不揮発性の半導体メモリ(例えば、ROM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)又は光記録媒体を備える。記憶装置13は、プロセッサ14において各種処理を実行するためのコンピュータプログラムや、プロセッサ14によって各種処理が実行されるときに使用される各種データ等を記憶する。したがって、記憶装置13は、各車両特有の機械学習モデルを記憶する。
プロセッサ14は、一つ又は複数のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ14は、更にGPU(Graphics Processing Unit)、又は論理演算ユニット若しくは数値演算ユニットのような演算回路を有していてもよい。プロセッサ14は、ECU11の記憶装置13に記憶されたコンピュータプログラムに基づいて、各種の演算処理を実行する。したがって、プロセッサ14は、機械学習モデルの入力パラメータの値が入力されると、機械学習モデルに従った演算処理を行って、出力パラメータの値を出力する。また、本実施形態では、サーバ3のプロセッサ33が、機械学習モデルを機械学習させる機械学習装置として機能する。
図3は、車両2のプロセッサ14の機能ブロック図である。図3に示したように、プロセッサ14は、機械学習モデルを用いて車両2の制御機器22を制御する制御部141と、機械学習モデルの学習条件が成立しているか否かを判定する学習条件成否判定部142と、事前学習用データセット及び訓練データセットを生成するデータセット生成部143と、後述するサーバ3の事前学習部331において行われるべき機械学習の要求量を算出する要求量算出部144と、機械学習モデルを構成する全てのモデルパラメータの値を本機械学習する本学習部145と、制御部141において用いられる機械学習モデルを更新するモデル更新部146と、サーバ3に様々なデータを送信する車両側送信部147と、サーバ3から様々なデータを受信する車両側受信部148とを備える。プロセッサ14が有するこれら機能ブロックは、例えば、プロセッサ14上で動作するコンピュータプログラムにより実現される機能モジュールである。或いは、プロセッサ14が有するこれら機能ブロックは、プロセッサ14に設けられる専用の演算回路であってもよい。車両2のプロセッサ14の各機能ブロックの詳細については後述する。
また、図2に示したように、車両2は、更に、車外通信モジュール21、複数の制御機器22及び複数のセンサ23を備える。車外通信モジュール21、制御機器22及びセンサ23は、車内ネットワーク15を介してECU11に接続される。
車外通信モジュール21は、車外の機器と通信を行う通信部の一例である。車外通信モジュール21は、例えば、サーバ3と通信を行うための機器である。車外通信モジュール21は、例えば、データ通信モジュール(DCM:Data communication module)を含む。データ通信モジュールは無線基地局5及び通信ネットワーク4を介してサーバ3と通信する。
制御機器22は、車両2に関する様々な制御を行う機器である。具体的には、制御機器22は、例えば、内燃機関の吸気通路に設けられたスロットル弁の開度を調整するスロットル弁の駆動アクチュエータ、内燃機関の燃焼室に燃料を供給するインジェクタ、燃焼室内の燃料に点火する点火プラグ、内燃機関のEGR率を制御するEGR弁の駆動アクチュエータ、空調装置のブロワ、空調装置の空気の流れを制御するエアミックスドアの駆動アクチュエータなどを含む。これら制御機器22は、車内ネットワーク15を介してECU11に接続され、ECU11からの駆動信号に応じて作動せしめられる。
センサ23は、車両2に関する様々な状態パラメータの値(状態量)を検出する検出器の一例である。センサ23は、例えば、内燃機関に供給される吸入空気量を検出する空気量センサ、内燃機関のインジェクタからの燃料噴射圧を検出する噴射圧センサ、排気ガスの温度を検出する排気温度センサ、タッチパネルなどにおけるドライバの入力を検出する入力検出センサ、車両2の自己位置を検出する自己位置センサ(例えば、GPS)などを含む。さらに、センサ23は、例えば、車両2の周りの空気の温度(外気温度)を検出する外気温度センサ、車両2の周りの空気の湿度(外気湿度)を検出する外気湿度センサ、車両2の周りの大気圧を検出する大気圧センサ、車両2の室内の温度(車内温度)を検出する車内温度センサ、車両2の室内の湿度(車内湿度)を検出する車内湿度センサ、及び日射量を検出する日射センサなどを含む。これらセンサ23は、車内ネットワーク15を介してECU11に接続され、ECU11へ出力信号を送信する。
サーバ3は、車両2の外部に設けられ、通信ネットワーク4及び無線基地局5を介して、走行中の車両2と通信を行う。サーバ3は、走行中の車両2から各種情報を受信する。
図4は、サーバ3のハードウェア構成を概略的に示す図である。サーバ3は、図4に示したように、外部通信モジュール31と、記憶装置32と、プロセッサ33とを備える。また、サーバ3は、キーボード及びマウスといった入力装置、及び、ディスプレイといった出力装置を有していてもよい。
外部通信モジュール31は、サーバ3外の機器と通信を行う通信部の一例である。外部通信モジュール31は、サーバ3を通信ネットワーク4に接続するためのインターフェース回路を備える。外部通信モジュール31は、通信ネットワーク4及び無線基地局5を介して、複数の車両2それぞれと通信可能に構成される。
記憶装置32は、データを記憶する記憶部の一例である。サーバ3の記憶装置32も、揮発性の半導体メモリ(例えば、RAM)、不揮発性の半導体メモリ(例えば、ROM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)又は光記録媒体を備える。記憶装置32は、プロセッサ33によって各種処理を実行するためのコンピュータプログラムや、プロセッサ33によって各種処理が実行されるときに使用される各種データを記憶する。
プロセッサ33は、一つ又は複数のCPU及びその周辺回路を有する。プロセッサ33は、更にGPU、又は論理演算ユニット若しくは数値演算ユニットのような演算回路を有していてもよい。プロセッサ33は、サーバ3の記憶装置32に記憶されたコンピュータプログラムに基づいて、各種の演算処理を実行する。
図5は、サーバ3のプロセッサ33の機能ブロック図である。図5に示したように、プロセッサ33は、機械学習モデルを構成するモデルパラメータの一部の値を事前学習する事前学習部331と、車両2に様々なデータを送信するサーバ側送信部332と、車両2から様々なデータを受信するサーバ側受信部333とを備える。プロセッサ33が有するこれら機能ブロックは、例えば、プロセッサ33上で動作するコンピュータプログラムにより実現される機能モジュールである。或いは、プロセッサ33が有するこれら機能ブロックは、プロセッサ33に設けられる専用の演算回路であってもよい。サーバ3のプロセッサ33の各機能ブロックの詳細については後述する。
<機械学習モデル>
本実施形態では、車両2の制御部141において、車両2に搭載された制御機器22を制御するにあたり、機械学習された機械学習モデルが用いられる。本実施形態では、機械学習モデルとして、ニューラルネットワークモデル(以下、「NNモデル」という)が用いられる。以下、図6を参照して、NNモデルの概要について説明する。図6は、単純な構成を有するNNモデルの一例を示す。
本実施形態では、車両2の制御部141において、車両2に搭載された制御機器22を制御するにあたり、機械学習された機械学習モデルが用いられる。本実施形態では、機械学習モデルとして、ニューラルネットワークモデル(以下、「NNモデル」という)が用いられる。以下、図6を参照して、NNモデルの概要について説明する。図6は、単純な構成を有するNNモデルの一例を示す。
図6における丸印は人工ニューロンを表す。人工ニューロンは、通常、ノード又はユニットと称される(本明細書では、「ノード」と称す)。図6において、L=1は入力層を示し、L=2及びL=3は隠れ層(又は中間層)を示し、L=4は出力層を示している。本実施形態では、隠れ層(L=2及びL=3)のノードの数は入力層(L=1)のノードの数よりも少なく、下位の隠れ層のノード数は上位の隠れ層のノード数よりも少ない(例えば、隠れ層(L=3)のノード数は隠れ層(L=2)のノード数よりも少ない)。
図6において、xm(m=1、2、・・・、M。図6に示した例ではM=4)は入力層(L=1)の各ノード及びそのノードからの出力値を示しており、yは出力層(L=4)のノード及びその出力値を示している。同様に、L=2の隠れ層におけるzk
(L=2)(k=1、2、・・・、K(L=2)。図6に示した例ではK(L=2)=3)は隠れ層(L=2)の各ノード及びそのノードからの出力値を示しており、L=3の隠れ層におけるzk
(L=3)(k=1、2、・・・、K(L=3)。図6に示した例ではK(L=3)=2)は隠れ層(L=3)の各ノード及びそのノードからの出力値を示している。
入力層の各ノードでは入力がそのまま出力される。一方、隠れ層(L=2)の各ノードには、入力層の各ノードの出力値xm(m=1、2、3、4)が入力され、隠れ層(L=2)の各ノードでは、それぞれ対応する重みw及びバイアスbを用いて総入力値uが算出される。例えば、図6において隠れ層(L=2)のzk
(L=2)(k=1、2、3)で示される各ノードにおいて算出される総入力値uk
(L=2)は、次式(1)のようになる。
次いで、この総入力値uk
(L=2)は活性化関数fにより変換され、隠れ層(L=2)のzk
(L=2)で示されるノードから、出力値zk
(L=2)(=f(uk
(L=2)))として出力される。一方、隠れ層(L=3)の各ノードには、隠れ層(L=2)の各ノードの出力値zk
(L=2) (k=1、2、3)が入力され、隠れ層(L=3)の各ノードでは、それぞれ対応する重みw及びバイアスbを用いて総入力値u(=Σz・w+b)が算出される。この総入力値uは同様に活性化関数により変換され、隠れ層(L=3)の各ノードから、出力値zk
(L=3)(k=1、2)として出力される。活性化関数は例えばReLU関数σである。
また、出力層(L=4)のノードには、隠れ層(L=3)の各ノードの出力値zk
(L=3)(k=1、2)が入力され、出力層のノードでは、それぞれ対応する重みw及びバイアスbを用いて総入力値u(Σz・w+b)が算出され、又はそれぞれ対応する重みwのみを用いて総入力値u(Σz・w)が算出される。例えば、出力層のノードでは活性化関数として恒等関数が用いられる。この場合、出力層のノードにおいて算出された総入力値uが、そのまま出力値yとして出力層のノードから出力される。
このようにNNモデルは、入力層と、隠れ層と、出力層とを備え、複数の入力パラメータの値が入力層から入力されると、入力パラメータに対応する一又は複数の出力パラメータの値を出力層から出力する。
本実施形態では、このような機械学習モデルとして、例えば外気温度、吸入空気量、燃料噴射量、燃料噴射時期、燃料噴射圧、EGR率を、入力パラメータの値として入力すると、排気ガスの温度を出力パラメータの値として出力するモデルが用いられる。車両2の制御部141では、センサ23によって検出された状態パラメータの値やECU11から制御機器22への制御指令値を入力パラメータの値として斯かる機械学習モデルに入力することによって、出力パラメータである排気ガスの温度が出力される。制御部141は、出力された排気ガスの温度に基づいて、内燃機関に関する制御機器22(例えば、スロットル弁の駆動アクチュエータ、インジェクタ、点火プラグなど)を制御する。ここで、排気ガスの温度を検出する排気温度センサには応答遅れがあるため、排気温度センサの出力に基づいて内燃機関の制御を行うと内燃機関を必ずしも適切に制御することができなかった。これに対して、機械学習モデルを用いた排気ガスの温度の算出には遅れが生じないため、機械学習モデルによって算出された排気ガスの温度を用いて内燃機関に関する制御機器22を制御することにより、内燃機関をより適切に制御することができる。
或いは、このような機械学習モデルとして、例えば、外気温度、外気湿度、車内温度、車内湿度、日射量を入力パラメータの値として入力すると、空調装置の目標温度を出力パラメータの値として出力するモデルが用いられてもよい。この場合、車両2の制御部141では、センサ23によって検出された状態パラメータの値やECU11から制御機器22への制御指令値を入力パラメータの値として斯かる機械学習モデルに入力することによって、出力パラメータである空調装置の目標温度が出力される。ECU11は、車内温度が、機械学習モデルから出力された目標温度になるように、空調装置に関する制御機器22(例えば、空調機器のブロワ、エアミックスドアの駆動アクチュエータなど)を制御する。
なお、機械学習モデルとしては様々なモデルを用いることができる。したがって、入力パラメータとして、外気温度、外気湿度、大気圧、車内温度、車内湿度、日照量、吸入空気量、吸気温度、燃料噴射圧、燃料噴射時期、燃料噴射量、空燃比、点火時期、機関冷却水温度、過給圧といった、車両の状態を表す様々な状態パラメータが用いられる。また、出力パラメータとして、排気浄化触媒の温度、排気ガス中のNOxの濃度、機関出力トルク、車内湿度といった、車両の状態を表す様々な状態パラメータが用いられる。
<機械学習モデルの基本的な学習>
次に、上述したような機械学習モデル(NNモデル)の機械学習について説明する。斯かる機械学習モデルの精度を向上させるためには、機械学習モデルを構成するモデルパラメータの値の機械学習(以下、「機械学習モデルの機械学習」ともいう)を行う必要がある。そこで、本実施形態では、車両2の本学習部145が機械学習モデルの機械学習を行う。具体的には、本学習部145の機械学習では、機械学習モデルに入力パラメータの値が入力されるとこれら入力パラメータの値に対応する適切な出力パラメータの値が機械学習モデルから出力されるように、機械学習モデルの全てのモデルパラメータ(NNモデルであれば、重みw、バイアスb等)の値が算出される。以下、サーバ3の事前学習部331で行われる機械学習(事前学習)と区別するために、車両2の本学習部145で行われる機械学習を、本機械学習と称する。以下、本学習部145において行われる、機械学習モデルの本機械学習の学習手法を簡単に説明する。
次に、上述したような機械学習モデル(NNモデル)の機械学習について説明する。斯かる機械学習モデルの精度を向上させるためには、機械学習モデルを構成するモデルパラメータの値の機械学習(以下、「機械学習モデルの機械学習」ともいう)を行う必要がある。そこで、本実施形態では、車両2の本学習部145が機械学習モデルの機械学習を行う。具体的には、本学習部145の機械学習では、機械学習モデルに入力パラメータの値が入力されるとこれら入力パラメータの値に対応する適切な出力パラメータの値が機械学習モデルから出力されるように、機械学習モデルの全てのモデルパラメータ(NNモデルであれば、重みw、バイアスb等)の値が算出される。以下、サーバ3の事前学習部331で行われる機械学習(事前学習)と区別するために、車両2の本学習部145で行われる機械学習を、本機械学習と称する。以下、本学習部145において行われる、機械学習モデルの本機械学習の学習手法を簡単に説明する。
機械学習モデルの本機械学習では、状態パラメータの実測値を含む訓練データセット(以下、「本学習用データセット」という)が用いられる。本学習用データセットは、複数の入力パラメータの複数の実測値と、これら実測値に対応する少なくとも一つの出力パラメータの複数の実測値(正解データ)との組合せから成る。本実施形態では、入力パラメータの実測値及び出力パラメータの実測値は、車両2のセンサ23によって検出された値又はECU11から制御機器22への制御指令値である。なお、本学習用データセットは、入力パラメータの実測値及び出力パラメータの実測値に前処理(正規化、標準化等)を行ったものでもよい。
車両2の本学習部145は、車両2で生成された本学習用データセットを用いて、機械学習モデルのモデルパラメータの値の機械学習を行う。機械学習モデルの機械学習にあたっては、本学習部145は、例えば、機械学習モデルの出力値と本学習用データセットに含まれる出力パラメータの実測値との差が小さくなるように、公知の誤差逆伝播法によって機械学習モデルにおけるモデルパラメータ(重みw及びバイアスb)の値を繰り返し更新する。この結果、機械学習モデルが学習され、学習済みの機械学習モデルが生成される。
<サーバでの事前学習>
ところで、上述したように、車両2において機械学習モデルの機械学習が行われると、車両2における演算負荷が高くなり、サーバ3における演算処理の遅れなどが生じる。また、斯かる演算負荷の増大に伴って車両2における消費電力が大きくなる。
ところで、上述したように、車両2において機械学習モデルの機械学習が行われると、車両2における演算負荷が高くなり、サーバ3における演算処理の遅れなどが生じる。また、斯かる演算負荷の増大に伴って車両2における消費電力が大きくなる。
一方、車両2における演算負荷を低減するためには、車両2の機械学習モデルの機械学習をサーバ3にて行うことが考えられる。しかしながら、サーバは、複数の車両2と通信を行うため、多くの多くの車両の機械学習モデルの機械学習を行うと、サーバ3の演算負荷が膨大になってしまう。
また、既に機械学習済みの機械学習モデルを、各車両2において取得された実測値を含む訓練データセットを用いて更新する場合、機械学習によってモデルパラメータの値は基本的にそれほど大きくは変化しない。したがって、斯かる場合には機械学習モデルを構成するモデルパラメータは比較的早期に収束する。しかしながら、例えば、機械学習モデルの一部の入力パラメータの値を検出するセンサ23が故障したことや制御機器22やセンサ23を異なる種類のものに交換したことなどによって入力パラメータの値に異常が生じると、機械学習モデルを構成するモデルパラメータを異常の生じた値に合わせて再学習させる必要がある。この場合、機械学習によってモデルパラメータの値が大きく変化することになるため、機械学習モデルを構成するモデルパラメータは収束するのに時間がかる。この結果、斯かる場合には、サーバ3における演算負荷が高くなる。
そこで、本実施形態では、車両2における演算負荷を低減させつつサーバ3の演算負荷の増大を抑制するために、機械学習モデルの一部の入力パラメータの値に異常が生じているような場合、すなわち機械学習モデルを構成するモデルパラメータの値を大きく変更して機械学習モデルを実質的に再構築する必要がある場合には、サーバ3において事前学習を行い、車両2では事前学習によって得られたモデルパラメータの値を初期値としてモデルパラメータの値を本機械学習する。以下では、斯かる学習手法を具体的に説明する。
まず、サーバ3のプロセッサ33の事前学習部331において行われる事前学習について説明する。本実施形態では、事前学習部331はオートエンコーダとして機能する。以下、図7を参照して、オートエンコーダとして用いられるNNモデル(オートエンコーダモデル)の概要について説明する。図7は、図6に示した機械学習モデルの入力層(L=1)と隠れ層(L=2)との間のモデルパラメータ(以下、「第1層のモデルパラメータ」ともいう)の値の事前学習に用いられるオートエンコーダモデルの一例を示す。
図7においても丸印はノードを表しており、L=1は入力層、L=2は中間層、L=3は出力層を示している。オートエンコーダモデルにおける入力層(L=1)のノード数は、制御部141で用いられる機械学習モデル(NNモデル)における入力層(L=1)のノード数に一致する。また、オートエンコーダモデルにおける中間層(L=2)のノードの数は、機械学習モデルにおける隠れ層(L=2)のノード数に一致する。加えて、第1層のモデルパラメータの値の事前学習(すなわち、入力層(L=1)から中間層(L=2)の各ノードの出力値を算出するための重み及びバイアスの事前学習)を行う場合には、オートエンコーダモデルにおける出力層のノードの数は、入力層のノードの数に一致する。したがって、図6に示した機械学習モデルの第1層の事前学習に用いられるオートエンコーダモデルの入力層(L=1)は4つのノードを有し、中間層(L=2)は3つのノードを有し、出力層(L=3)は4つのノードを有する。なお、中間層(L=2)のノードの数は、基本的に入力層(L=1)のノードの数よりも少ない。
図7においても、図6と同様に、上記式(1)を用いて中間層(L=2)の各ノードにおける総入力値uk
(L=2)が算出され、この総入力値uk
(L=2)を活性化関数fにより変換したものが、中間層(L=2)のzk
(L=2)で示されるノードから出力値zk
(L=2)(=f(uk
(L=2)))として出力される。出力層(L=3)の各ノードには、中間層(L=2)の各ノードの出力値zk
(L=2) (k=1、2、3)が入力され、出力層(L=3)の各ノードでは、それぞれ対応する重みw及びバイアスbを用いて総入力値u(=Σz・w+b)が算出される。この総入力値uは同様に活性化関数により変換され、出力層(L=3)の各ノードから、出力値yk
(L=3)(k=1、2、・・・、M。図7に示した例ではM=4)として出力される。
事前学習部331における事前学習では、オートエンコーダモデルの入力層の各ノードに入力パラメータの値が入力されると、出力層の各ノードから出力される出力値が対応する入力パラメータの値に近づくように、オートエンコーダモデルの全てのモデルパラメータ(オードエンコーダモデルにおける重みw、バイアスb等)の値が算出される。
事前学習では、本機械学習と同様に、状態パラメータの実測値を含む事前学習用データセットが用いられる。本実施形態では、事前学習用データセットは、複数の入力パラメータの複数の実測値の組み合わせから成る。本実施形態では、入力パラメータの実測値は、車両2のセンサ23によって検出された値又はECU11から制御機器22への制御指令値である。事前学習用データセットに用いられる複数の入力パラメータの複数の実測値の組み合わせは、本学習用データセットに用いられる複数の入力パラメータの複数の実測値の組み合わせと同一であってもよいし、異なっていてもよい。また、事前学習の態様によっては、事前学習用データセットは、入力パラメータの実測値に、出力パラメータの複数の実測値(正解データ)を組み合わせたものであってもよい。また、事前学習用データセットも、入力パラメータの実測値(及び出力パラメータの実測値)に前処理(正規化、標準化等)を行ったものでもよい。
サーバ3の事前学習部331は、車両2によって生成されて車両2から送信された事前学習用データセットを用いて、オートエンコーダモデルの機械学習を行う。オートエンコーダモデルの機械学習にあたっては、事前学習部331は、オードエンコーダモデルの出力値とオートエンコーダモデルの対応する入力値との差が小さくなるように、公知の誤差逆伝播法によってオートエンコーダモデルにおけるモデルパラメータ(重みw及びバイアスb)の値を繰り返し更新する。この結果、得られたモデルパラメータの値が、機械学習モデルでの学習を行う際のモデルパラメータの初期値として用いられる。図7に示したオートエンコーダモデルでは、入力層(L=1)から中間層(L=2)の各ノードの出力値を算出するための重み及びバイアスの値(第1層のモデルパラメータの値)が事前学習により算出され、算出された重み及びバイアスが、図6に示した機械学習モデルの入力層(L=1)から隠れ層(L=2)の各ノードの出力値を算出するための重み及びバイアスの初期値として用いられる。
図8は、図6に示した機械学習モデルの隠れ層(L=2)と隠れ層(L=3)との間のモデルパラメータ(以下、「第2層のモデルパラメータ」ともいう)の値の事前学習に用いられるオートエンコーダモデルの一例を示す。図8に示したオートエンコーダモデルは、図7に示したオートエンコーダモデルによって第1層のモデルパラメータの値が事前学習された後に用いられる。
図8に示したオートエンコーダモデルでは、出力層(L=4)の各ノードから出力される出力値が、中間層(L=2)の各ノードの出力値に近づくように、オートエンコーダモデルの中間層(L=2)と中間層(L=3)との間のモデルパラメータの値及び中間層(L=3)と出力層(L=4)との間のモデルパラメータの値が算出される。
サーバ3の事前学習部331は、図8に示したオートエンコーダモデルの機械学習を行う際には、車両2によって生成された事前学習用データセットと、図7に示したオートエンコーダモデルを用いた事前学習によって得られた第1層のモデルパラメータの値とを用いる。図8に示したオートエンコーダモデルの機械学習にあたっては、第1層のモデルパラメータの値として図7に示したオートエンコーダモデルを用いた事前学習によって得られた値が用いられ、事前学習用データセットに含まれる入力パラメータの値をオートエンコーダモデルの入力層に入力したときに、オートエンコーダモデルの出力値と中間層(L=2)の対応する出力値との差が小さくなるように、公知の誤差逆伝播法によってオートエンコーダモデルにおける第2層のモデルパラメータ(重みw及びバイアスb)の値を繰り返し更新する。この結果、得られた第2層のモデルパラメータの値が、機械学習モデルでの学習を行う際の第2層のモデルパラメータの初期値として用いられる。サーバ3の事前学習部331は、同様な手法によって、第2層よりも下層の多数の層のモデルパラメータの値の事前学習を行うことができる。
以上をまとめると、本実施形態によれば、サーバ3の事前学習部331により、機械学習モデルの実測値を含む事前学習用データセットに基づいて、機械学習モデルのモデルパラメータのうちの一部の値が事前学習によって算出される。事前学習部331は、第1層のモデルパラメータの値のみを事前学習してもよいし、第1層に加えて第2層以下の層のモデルパラメータの値を事前学習してもよい。
なお、本実施形態では、事前学習部331は、オートエンコーダを用いて事前学習を行っているが、制約付きボルツマンマシン(Restricted Boltzmann Machine)など、他の手法によって事前学習を行ってもよい。しかしながら、事前学習部331における事前学習は、本学習部145によって行われる本機械学習とは異なる手法で行われることが必要である。
<車両での事前学習を利用した学習>
次に、図9及び図10を参照して、サーバ3での事前学習及び車両2での本機械学習を含む、機械学習モデルの学習処理全体の流れについて説明する。本実施形態では、機械学習モデルを構成するモデルパラメータの値を定期的に学習する通常の機械学習と、上述したように入力パラメータの値に異常が生じているような場合に行われる異常時の機械学習との二つの機械学習が行われる。したがって、以下では、これら二つの機械学習それぞれの学習処理全体の流れについて説明する。
次に、図9及び図10を参照して、サーバ3での事前学習及び車両2での本機械学習を含む、機械学習モデルの学習処理全体の流れについて説明する。本実施形態では、機械学習モデルを構成するモデルパラメータの値を定期的に学習する通常の機械学習と、上述したように入力パラメータの値に異常が生じているような場合に行われる異常時の機械学習との二つの機械学習が行われる。したがって、以下では、これら二つの機械学習それぞれの学習処理全体の流れについて説明する。
図9は、機械学習システム1によって行われる通常の機械学習における、学習処理の動作シーケンス図である。したがって、図9に示した学習処理は、車両2の機械学習モデルの入力パラメータの値の異常とは無関係に、定期的に行われる。
車両2の学習条件成否判定部142は、定期的に、車両2の機械学習モデルの学習条件が成立しているか否かを判定する(ステップS11)。通常の機械学習は、例えば、一定期間毎、一定走行距離毎又は一定走行時間毎に行われる。したがって、学習条件成否判定部142は、前回の通常の機械学習から例えば一定期間が経過すると、通常の機械学習の学習条件が成立したと判定する。
通常の機械学習の学習条件が成立すると、車両2のデータセット生成部143は、本学習用データセットを作成する。データセット生成部143は、任意の期間中に車両2のセンサ23によって検出された検出値及び同期間中にECU11から制御機器22へ送信された制御指令値に基づいて、本学習用データセットを生成する。データセット生成部143は、機械学習の学習条件が成立した後に取得された検出値及び制御指令値に基づいて本学習用データセットを生成する。或いは、データセット生成部143は、機械学習の学習条件が成立する前から検出値及び制御指令値を記憶装置13に格納しておいて、機械学習の学習条件が成立した後に格納されていた検出値及び制御指令値に基づいて本学習用データセットを生成してもよい。また、データセット生成部143は、検出値及び制御指令値に前処理(正規化、標準化等)を行って本学習用データセットを生成してもよい。生成された本学習用データセットは、ECU11の記憶装置13に記憶される。
本学習用データセットが生成されると、プロセッサ33の本学習部145は、図6を参照して説明した機械学習モデルの本機械学習を行う(ステップS13)。本学習部145は、通常の機械学習においては、本機械学習を行うにあたって、モデルパラメータの初期値として、車両2の制御部141で用いられている機械学習モデルの現在のモデルパラメータの値を用いる。本学習部145は、データセット生成部143によって生成された本学習用データセットを用いて、機械学習モデルを構成する全てのモデルパラメータについて本機械学習を行う。
本学習部145によって機械学習モデルの本機械学習が完了すると、車両2のモデル更新部146は制御部141で用いられる機械学習モデルを構成するモデルパラメータの値を、本機械学習によって得られた値に更新する(ステップS14)。その後、制御部141は、更新されたモデルパラメータの値を用いた機械学習モデルに基づいて制御機器22の制御を行う。
図10は、機械学習システム1よって行われる異常時の機械学習における、学習処理の動作シーケンス図である。したがって、図10に示した学習処理は、車両2の機械学習モデルの一部の入力パラメータの値に異常が生じていて機械学習モデルを実質的に再構築することが必要な場合などに実行される。
車両2の学習条件成否判定部142は、定期的に、車両2の機械学習モデルの学習条件が成立しているか否かを判定する(ステップS21)。異常時の機械学習は、例えば、機械学習モデルの入力パラメータとして指令値が用いられる制御機器22や、機械学習モデルの入力パラメータの値を検出するセンサ23に何らかの異常が生じているような場合に行われる。したがって、学習条件成否判定部142は、斯かる制御機器22やセンサ23に異常が生じている場合に、異常時の機械学習の学習条件が成立したと判定する。具体的には、例えば、自己診断機能(On-board diagnosis)により斯かる制御機器22やセンサ23に異常が生じていると判定された場合に、異常時の機械学習の学習条件が成立する。
学習条件成否判定部142によって異常時の機械学習の学習条件が成立したと判定されると、車両2のデータセット生成部143は、ステップS12と同様に本学習用データセットを作成し、加えて事前学習用データセットを生成する(ステップS22)。事前学習用データセットは、任意の期間中に車両2のセンサ23によって検出された値又は同期間中にECU11から制御機器22へ送信された制御指令値に基づいて、データセット生成部143によって生成される。生成された両データセットは、ECU11の記憶装置13に記憶される。
事前学習用データセットが生成されると、車両2の要求量算出部144が、サーバ3の事前学習部331において行われるべき事前学習の要求量を算出する(ステップS23)。事前学習用データセットの生成が開始された後であれば、事前学習用データセットの生成が完了していなくても、要求量算出部144は、事前学習の要求量を算出してもよい。
ここで、上述したように、サーバ3の事前学習部331は、第1層のモデルパラメータの値のみを事前学習することもできるし、第1層から第2層以降の任意の層のまでのモデルパラメータの値を事前学習することもできる。そして、事前学習される層の数が多くなるほどサーバ3における演算負荷が高くなる。その一方で、事前学習される層の数が多くなるほどモデルパラメータの初期値が適切な値になっていることから、本機械学習においてモデルパラメータの値が早期に収束し易くなる。したがって、車両2での本機械学習における演算負荷が低くなる。
車両2のECU11のプロセッサ14は、機械学習モデルの機械学習のみならず、内燃機関や電動機の制御などの他の演算処理にも用いられる。したがって、機械学習モデルの本機械学習を行うにあたって、車両2のプロセッサ14の演算負荷が高くなっているような場合がある。このような場合に、車両2のプロセッサ14に、モデルパラメータの値の収束に時間のかかる本機械学習を行わせると、演算負荷が高い状態が続き、車両2のプロセッサ14での演算処理の遅延や消費電力が大きくなる。
そこで、車両2の要求量算出部144は、車両2のプロセッサ14における現在の演算負荷を公知の方法で算出すると共に、算出された演算負荷に応じて、サーバ3で行われる事前学習への要求量を決定する。算出されたプロセッサ14の現在の演算負荷と事前学習の要求量との関係は予め決められており、算出された演算負荷が高いほど、事前学習の要求量が大きく設定される。
データセット生成部143によって事前学習用データセットが生成され且つ要求量算出部144によって要求量が算出されると、車両2の車両側送信部147は、車外通信モジュール21を介して、事前学習用データセット及び事前学習の要求量をサーバ3へ送信する(ステップS24)。
サーバ3のサーバ側受信部333が車両2から外部通信モジュール31を介して事前学習用データセット及び事前学習の要求量を受信すると、サーバ3の事前学習部331は図7及び図8を参照して説明した機械学習モデルの事前学習を行う(ステップS25)。事前学習部331は、車両2から送信された事前学習用データセットを用いて事前学習を行い、機械学習モデルを構成するモデルパラメータのうちの一部の値を出力する。
事前学習部331は、上述したようなオートエンコーダモデルを用いて、事前学習を行う。本実施形態では、事前学習部331は、事前学習の要求量に基づいて、オートエンコーダモデルを用いて事前学習される層の数を変更する。換言すると、事前学習部331は、事前学習の要求量に基づいて、事前学習されるモデルパラメータの数を変更する。具体的には、事前学習部331は、事前学習の要求量が多いほど、オートエンコーダモデルを用いて事前学習される層の数を多くし、したがって機械学習モデルのモデルパラメータのうち事前学習されるモデルパラメータの数を多くする。したがって、事前学習部331は、事前学習の要求量が小さいときには、例えば、第1層のモデルパラメータの値のみの事前学習を行う。一方、事前学習部331は、事前学習の要求量が大きいときには、例えば、多数の層のモデルパラメータの値の事前学習を行う。
なお、事前学習部331は、事前学習の要求量に基づいて、事前学習される層の数以外の学習条件を変更してもよい。例えば、事前学習部331は、事前学習の要求量に応じて、事前学習における更新回数(イテレーションの回数)を変更してもよい。基本的には事前学習における更新回数が増えるほど、モデルパラメータの値が適切な値に収束するものの、事前学習部331における演算負荷が増大する。この場合、事前学習部331は、事前学習の要求量が大きいほど事前学習における更新回数が増大される。
事前学習部331での事前学習が完了すると、サーバ3のサーバ側送信部332は、外部通信モジュール31を介して、事前学習部331による事前学習によって得られたモデルパラメータの値を車両2に送信する(ステップS26)。
車両2の車両側受信部148がサーバ3から事前学習によって得られたモデルパラメータの値を受信し且つデータセット生成部143による本学習用データセットの生成が完了うると、車両2の本学習部145は、図6を参照して説明した機械学習モデルの本機械学習を行う(ステップS27)。本学習部145は、異常時の機械学習においては、機械学習モデルの本機械学習を行うにあたって、一部のモデルパラメータの初期値として、事前学習によって得られたモデルパラメータの値を用いる。また、本学習部145は、残りのモデルパラメータの初期値として、Xavierの初期値やHeの初期値といった任意の公知の初期値を用いる。或いは、本学習部145は、残りのモデルパラメータの初期値として、車両2の機械学習モデルの対応するモデルパラメータの現在の値を用いてもよい。本学習部145は、本学習用データセットを用いて、機械学習モデルを構成する全てのモデルパラメータについて本機械学習を行う。
本学習部145によって機械学習モデルの本機械学習が完了すると、車両2のモデル更新部146は、ステップS14と同様に、制御部141で用いられる機械学習モデルを構成するモデルパラメータの値を、本機械学習によって得られた値に更新する(ステップS28)。その後、制御部141は、更新されたモデルパラメータの値を用いた機械学習モデルに基づいて制御機器22の制御を行う。
<効果及び変形例>
上記実施形態に係る機械学習システムによれば、センサ23の故障などによって入力パラメータの値に異常が生じて機械学習モデルを実質的に再構築することが必要な場合に、最初にサーバ3において事前学習が行われ、その後、事前学習されたモデルパラメータの値を初期値として車両2において本機械学習が行われる。サーバ3において事前学習をしておくことによって、本機械学習にてモデルパラメータの値が早期に収束し易くなり、よって車両2における演算負荷を低減することができる。
上記実施形態に係る機械学習システムによれば、センサ23の故障などによって入力パラメータの値に異常が生じて機械学習モデルを実質的に再構築することが必要な場合に、最初にサーバ3において事前学習が行われ、その後、事前学習されたモデルパラメータの値を初期値として車両2において本機械学習が行われる。サーバ3において事前学習をしておくことによって、本機械学習にてモデルパラメータの値が早期に収束し易くなり、よって車両2における演算負荷を低減することができる。
特に、上記実施形態では、車両2における現在の演算負荷が高いほど事前学習されるモデルパラメータの数が多くなり、よってその車両2の機械学習モデルのモデルパラメータの値を本機械学習するのに必要な演算負荷が低くなる。これにより、車両2における演算負荷が過剰の増大することが抑制される。
なお、上記実施形態では、事前学習部331は、車両2からの要求量に基づいて事前学習されるモデルパラメータの数を変更している。しかしながら、事前学習部331は、常に一定数のモデルパラメータの値を事前学習してもよい。この場合には、車両2はサーバ3に事前学習の要求量を送信する必要はなく、図10のステップS24では車両2からサーバ3へ事前学習用データセットのみが送付される。
また、上記実施形態では、異常時の機械学習を行う際には、サーバ3にて必ず事前学習が行われている。しかしながら、例えば車両2における現在の演算負荷が極めて低いような場合には、サーバ3にて事前学習を行わなくてもよい。この場合、車両2は、図9に示した通常時の機械学習と同様の手順で機械学習モデルのモデルパラメータの値の本機関学習を行う。
以上、本発明に係る好適な実施形態を説明したが、本発明はこれら実施形態に限定されるものではなく、特許請求の範囲の記載内で様々な修正及び変更を施すことができる。
1 機械学習システム
2 車両
3 サーバ
11 ECU
13 記憶装置
14 プロセッサ
22 制御機器
23 センサ
32 記憶装置
33 プロセッサ
2 車両
3 サーバ
11 ECU
13 記憶装置
14 プロセッサ
22 制御機器
23 センサ
32 記憶装置
33 プロセッサ
Claims (1)
- 搭載された機器を制御するのに用いられる機械学習モデルを有する車両と、該車両と通信可能なサーバとを備え、前記車両にて前記機械学習モデルを構成するモデルパラメータの値を機械学習する、機械学習システムであって、
前記サーバは、
前記車両から送信された前記機械学習モデルの入力パラメータの実測値を含む事前学習用データセットに基づいて、前記モデルパラメータのうちの一部の値を事前学習する事前学習部と、
前記事前学習が完了した後に、前記事前学習されたモデルパラメータの値を前記車両に送信するサーバ側送信部と、を備え、
前記車両は、
前記サーバから受信した前記事前学習されたモデルパラメータの値と、前記機械学習モデルの入力パラメータ及び出力パラメータの実測値を含む本学習用データセットとを用いて、前記事前学習とは異なる手法で前記機械学習モデルを構成する全てのモデルパラメータの値を本機械学習する本学習部と、
前記本機械学習された前記モデルパラメータの値を使用した機械学習モデルを用いて前記機器を制御する制御部とを備える、機械学習システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020190821A JP2022079938A (ja) | 2020-11-17 | 2020-11-17 | 機械学習システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020190821A JP2022079938A (ja) | 2020-11-17 | 2020-11-17 | 機械学習システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022079938A true JP2022079938A (ja) | 2022-05-27 |
Family
ID=81731579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020190821A Pending JP2022079938A (ja) | 2020-11-17 | 2020-11-17 | 機械学習システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022079938A (ja) |
-
2020
- 2020-11-17 JP JP2020190821A patent/JP2022079938A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7181334B2 (en) | Method and apparatus to diagnose intake airflow | |
US11623652B2 (en) | Machine learning method and machine learning system | |
CN113830097B (zh) | 车辆、模型学习系统以及服务器 | |
US11675999B2 (en) | Machine learning device | |
US20220194394A1 (en) | Machine learning device and machine learning system | |
US11820398B2 (en) | Learning apparatus and model learning system | |
JP6791347B1 (ja) | モデル診断装置及びモデル診断システム | |
JP6939963B1 (ja) | モデル学習システム及びサーバ | |
JP2022079938A (ja) | 機械学習システム | |
JP2022076257A (ja) | 機械学習システム、車両及びサーバ | |
GB2555617B (en) | Calibration system and method | |
JP6962435B1 (ja) | 機械学習装置 | |
US20220292350A1 (en) | Model updating apparatus, model updating method, and model updating program | |
JP7276298B2 (ja) | モデル学習システム、車両の制御装置及びモデル学習方法 | |
JP2022035222A (ja) | 機械学習装置 | |
JP2022007498A (ja) | 機械学習装置 | |
JP2022173803A (ja) | 学習モデルのパラメータの値の授受装置及び授受システム | |
JP2022053033A (ja) | 機械学習装置 |