JP7040589B1 - 機械学習方法及び機械学習システム - Google Patents

機械学習方法及び機械学習システム Download PDF

Info

Publication number
JP7040589B1
JP7040589B1 JP2020199654A JP2020199654A JP7040589B1 JP 7040589 B1 JP7040589 B1 JP 7040589B1 JP 2020199654 A JP2020199654 A JP 2020199654A JP 2020199654 A JP2020199654 A JP 2020199654A JP 7040589 B1 JP7040589 B1 JP 7040589B1
Authority
JP
Japan
Prior art keywords
machine learning
server
vehicle
processing
model
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.)
Active
Application number
JP2020199654A
Other languages
English (en)
Other versions
JP2022087620A (ja
Inventor
寛也 千葉
陽平 晴山
大樹 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2020199654A priority Critical patent/JP7040589B1/ja
Priority to DE102021129697.8A priority patent/DE102021129697A1/de
Priority to US17/536,615 priority patent/US11623652B2/en
Priority to CN202111430621.XA priority patent/CN114578687A/zh
Application granted granted Critical
Publication of JP7040589B1 publication Critical patent/JP7040589B1/ja
Publication of JP2022087620A publication Critical patent/JP2022087620A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Feedback Control In General (AREA)
  • Traffic Control Systems (AREA)

Abstract

【課題】サーバの処理負荷が過剰に高くなってしまうことを抑制する。【解決手段】機械学習モデルを有する車両2と、車両と通信可能なサーバ3とを備える機械学習システム1において行われる、モデルパラメータの値を機械学習する、機械学習方法は、サーバがーバの現在の処理負荷を検出することと、サーバが処理負荷に基づいてサーバ及び車両それぞれで行う機械学習の処理量を決定することと、サーバが、決定されたサーバにおける機械学習の処理量に応じてモデルパラメータの値を機械学習することと、車両が、決定された車両における機械学習の処理量に応じてモデルパラメータの値を機械学習すること、とを含む。サーバは、処理負荷が相対的に高いときには相対的に低いときに比べてサーバにおける機械学習の処理量を少なくする。【選択図】図7

Description

本開示は、機械学習方法及び機械学習システムに関する。
従来から、搭載された機器を制御するのに用いられる機械学習モデルを有する車両と、車両と通信可能なサーバとを備えるシステムが知られている(例えば、特許文献1)。例えば、特許文献1に記載のシステムでは、サーバは、車両から取得したデータを学習用のデータセットとして蓄積すると共に蓄積されたデータセットに基づいて機械学習モデルのパラメータの値の学習を行い、学習結果を各車両に通知する。そして、車両は、サーバから通知された学習結果が反映された機械学習モデルにより画像認識処理を行う。
特に、特許文献1に記載のシステムでは、車両において認識しにくいデータが車両からサーバに送信されると、サーバでは斯かるデータに加えて斯かるデータが取得された状況と同様な状況にて他の車両で取得されたデータに基づいてその車両用の機械学習モデルのモデルパラメータの値が更新される。
特開2019-021201号公報
ところで、特許文献1に記載のシステムでは、サーバにて、サーバと通信する複数の車両の機械学習モデルの学習が行われることになる。このため、サーバにて多数の車両の機械学習モデルの機械学習を同時に行わなければならなくなる場合がある。このような場合、サーバにおける機械学習処理の演算負荷(以下、「処理負荷」ともいう)が高くなり、サーバでの機械学習の処理能力の著しい低下や、機械学習処理の停止を招いてしまう可能性がある。
そこで、上記課題に鑑みて、本開示の目的は、車両の機械学習モデルに関する機械学習処理に伴ってサーバの処理負荷が過剰に高くなってしまうことを抑制することにある。
本開示の要旨は以下のとおりである。
[1]搭載された機器を制御するのに用いられる機械学習モデルを有する車両と、該車両と通信可能なサーバとを備える機械学習システムにおいて行われる、前記機械学習モデルを構成するモデルパラメータの値を機械学習する、機械学習方法であって、
前記車両が前記サーバへ前記モデルパラメータの値の機械学習を依頼する依頼信号を送信することと、
前記サーバが該サーバの現在の処理負荷を検出することと、
前記車両から前記依頼信号を受信したときに、前記サーバが、前記処理負荷に基づいて、前記サーバ及び前記車両それぞれで行う前記機械学習の処理量又は処理比率を決定することと、
前記サーバが、前記決定された該サーバにおける前記機械学習の処理量又は処理比率に応じて、前記モデルパラメータの値を機械学習するための訓練データセットに基づいて前記モデルパラメータの値を機械学習することと、
前記車両が、前記決定された該車両における前記機械学習の処理量又は処理比率に応じて、前記訓練データセットに基づいて前記モデルパラメータの値を機械学習すること、とを含み、
前記サーバは、前記処理負荷が相対的に高いときには相対的に低いときに比べて前記サーバにおける前記機械学習の処理量又は処理比率を少なくする、機械学習方法。
[2]前記サーバは、前記処理負荷が所定の基準処理負荷よりも高いときには前記機械学習の全ての処理を前記車両にて行わせることを決定し、且つ、前記処理負荷が前記基準処理負荷以下であるときには前記機械学習の全ての処理を前記サーバにて行わせることを決定する、上記[1]に記載の機械学習方法。
[3]前記基準処理負荷は、前記機械学習モデルの種類に応じて変更される、上記[2]に記載の機械学習方法。
[4]前記基準処理負荷は、前記機械学習モデルが前記車両の安全性に関連するモデルである場合には、前記機械学習モデルが前記車両の安全性に関連しないモデルである場合に比べて、高い、上記[3]に記載の機械学習方法。
[5]前記車両で前記訓練データセットに基づいて前記機械学習を行った場合の予想学習時間と前記訓練データセット及び前記モデルパラメータの前記車両と前記サーバとの間の送受信に必要な予想通信時間とを算出することを更に含み、
前記基準処理負荷は、前記サーバにおいて前記モデルパラメータの値を機械学習するのに前記予想学習時間から前記予想通信時間を減算した時間が必要になるような負荷又はそれよりも低い負荷である、上記[2]~[4]のいずれか1項に記載の機械学習方法。
[6]搭載された機器を制御するのに用いられる機械学習モデルを有する車両と、該車両と通信可能なサーバとを備え、前記機械学習モデルを構成するモデルパラメータの値を機械学習する、機械学習システムであって、
前記車両は、
前記サーバへ前記モデルパラメータの値の機械学習を依頼する依頼信号を送信する学習依頼送信部と、
前記モデルパラメータの値を機械学習するための訓練データセットに基づいて前記モデルパラメータの値を機械学習する車両側学習部と、を備え、
前記サーバは、
前記サーバの現在の処理負荷を検出する処理負荷検出部と、
前記車両から前記依頼信号を受信したときに、前記処理負荷に基づいて、前記サーバ及び前記車両それぞれで行う前記機械学習の処理量又は処理比率を決定する処理量決定部と、
前記訓練データセットに基づいて前記モデルパラメータの値を機械学習するサーバ側学習部と、を備え、
前記サーバ側学習部及び前記車両側学習部は、それぞれ、前記決定された前記機械学習の処理量又は処理比率に応じて、前記モデルパラメータの値を機械学習する学習部を備え、
前記処理量決定部は、前記処理負荷が相対的に高いときには相対的に低いときに比べて前記サーバ側学習部における前記機械学習の処理量又は処理比率を少なくする、機械学習システム。
本開示によれば、車両の機械学習モデルに関する機械学習処理に伴ってサーバの処理負荷が過剰に高くなってしまうことが抑制される。
図1は、第一実施形態に係る機械学習システムの概略的な構成図である。 図2は、車両のハードウェア構成を概略的に示す図である。 図3は、車両のプロセッサの機能ブロック図である。 図4は、サーバのハードウェア構成を概略的に示す図である。 図5は、サーバのプロセッサの機能ブロック図である。 図6は、単純な構成を有するNNモデルの一例を示す。 図7は、機械学習モデルの機械学習がサーバによって行われる場合の学習処理の動作シーケンス図である。 図8は、機械学習モデルの機械学習が車両によって行われる場合の学習処理の動作シーケンス図である。 図9は、第二実施形態に係るサーバのプロセッサの機能ブロック図である。 図10は、本実施形態に係る機械学習モデルの機械学習がサーバによって行われる場合の学習処理の、図7と同様な動作シーケンス図である。 図11は、第三実施形態に係る学習処理の、図7と同様な動作シーケンス図である。
以下、図面を参照して実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
<第一実施形態>
≪機械学習システムの構成≫
まず、図1~図5を参照して、第一実施形態に係る機械学習システム1及び機械学習システム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は、車両2のプロセッサ14の機能ブロック図である。図3に示したように、プロセッサ14は、機械学習モデルを用いて車両2の制御機器22を制御する制御部141と、機械学習モデルの学習実行条件が成立しているか否かを判定する学習条件成否判定部142と、学習用データセットを生成するデータセット生成部143と、サーバ3への機械学習の依頼を送信する学習依頼送信部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に記憶されたコンピュータプログラムに基づいて、各種の演算処理を実行する。本実施形態では、サーバ3のプロセッサ33が、機械学習モデルを機械学習させる機械学習装置として機能する。
図5は、サーバ3のプロセッサ33の機能ブロック図である。図5に示したように、プロセッサ33は、サーバ3の現在の処理負荷を検出する処理負荷検出部331と、サーバ3及び車両2それぞれで行う機械学習の処理量を決定する処理量決定部332と、機械学習モデルを構成するモデルパラメータの値を機械学習するサーバ側学習部333と、車両2へ様々なデータを送信するサーバ側送信部334と、車両2から様々なデータを受信するサーバ側受信部335とを備える。プロセッサ33が有するこれら機能ブロックは、例えば、プロセッサ33上で動作するコンピュータプログラムにより実現される機能モジュールである。或いは、プロセッサ33が有するこれら機能ブロックは、プロセッサ33に設けられる専用の演算回路であってもよい。サーバ3のプロセッサ33の各機能ブロックの詳細については後述する。
≪機械学習モデル≫
本実施形態では、車両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)のようになる。
Figure 0007040589000002
次いで、この総入力値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又はサーバ3のサーバ側学習部333が機械学習モデルの機械学習を行う。具体的には、車両側学習部145又はサーバ側学習部333の機械学習では、機械学習モデルに入力パラメータの値が入力されるとこれら入力パラメータの値に対応する適切な出力パラメータの値が機械学習モデルから出力されるように、機械学習モデルの全てのモデルパラメータ(NNモデルであれば、重みw、バイアスb等)の値が算出される。以下、車両側学習部145又はサーバ側学習部333において行われる、機械学習モデルの機械学習の学習手法を簡単に説明する。
機械学習モデルの機械学習では、状態パラメータの実測値を含む訓練データセットが用いられる。訓練データセットは、複数の入力パラメータの複数の実測値と、これら実測値に対応する少なくとも一つの出力パラメータの複数の実測値(正解データ)との組合せから成る。本実施形態では、入力パラメータの実測値及び出力パラメータの実測値は、車両2のセンサ23によって検出された値又はECU11から制御機器22への制御指令値である。また、本実施形態では、サーバ3にて機械学習モデルの機械学習を行うにあたって、車両2からサーバ3へ訓練データセットが送信される。なお、訓練データセットは、入力パラメータの実測値及び出力パラメータの実測値に前処理(正規化、標準化等)を行ったものでもよい。
車両側学習部145又はサーバ側学習部333は、訓練データセットを用いて、機械学習モデルのモデルパラメータの値の機械学習を行う。機械学習モデルの機械学習にあたっては、車両側学習部145又はサーバ側学習部333は、例えば、機械学習モデルの出力値と訓練データセットに含まれる出力パラメータの実測値との差が小さくなるように、公知の誤差逆伝播法によって機械学習モデルにおけるモデルパラメータ(重みw及びバイアスb)の値を繰り返し更新する。この結果、機械学習モデルが学習され、学習済みの機械学習モデルが生成される。学習済み機械学習モデルを構成するモデルパラメータ(重みw、バイアスb等)の値は、車両2の記憶装置13又はサーバ3の記憶装置32に記憶される。
≪機械学習モデルの学習処理≫
次に、図7及び図8を参照して、車両2又はサーバ3における機械学習モデルの学習処理の流れについて説明する。本実施形態では、サーバ3における処理負荷に応じて、機械学習モデルの機械学習を行う主体が変更される。特に、本実施形態では、サーバ3における処理負荷が高い場合には、車両2によって機械学習が行われ、サーバ3における処理負荷が低い場合には、サーバ3によって機械学習が行われる。したがって、本実施形態では、機械学習モデルの機械学習が車両2によって行われる場合とサーバ3で行われる場合とが存在する。したがって、以下では、機械学習が車両2及びサーバ3のそれぞれで行われる場合における学習処理の流れについて説明する。
図7は、機械学習モデルの機械学習がサーバ3によって行われる場合の学習処理の動作シーケンス図である。したがって、図7は、サーバ3における処理負荷が低い場合の学習処理の流れを示している。
車両2の学習条件成否判定部142は、定期的に、車両2の機械学習モデルの学習実行条件が成立しているか否かを判定する(ステップS11)。機械学習モデルの機械学習は、例えば、一定期間毎、一定走行距離毎又は一定走行時間毎に行われる。したがって、学習条件成否判定部142は、前回の機械学習から例えば一定期間が経過すると、機械学習の学習実行条件が成立したと判定する。ここで、機械学習モデルの最適なモデルパラメータの値は制御機器22の経年劣化やユーザの趣向の変化などによって変化する。このように定期的に機械学習モデルのモデルパラメータの値の機械学習を行うことによって、モデルパラメータの値を適切な値に保つことができる。
なお、機械学習モデルの機械学習は、上述したタイミングとは異なるタイミングで行われてもよい。したがって、機械学習モデルの機械学習は、例えば、機械学習モデルの入力パラメータとして指令値が用いられる制御機器22や、機械学習モデルの入力パラメータの値を検出するセンサ23に何らかの異常が生じているような場合に行われてもよい。したがって、この場合、学習条件成否判定部142は、制御機器22やセンサ23に異常が生じている場合に、機械学習の学習実行条件が成立したと判定する。具体的には、例えば、自己診断機能(On-board diagnosis)により斯かる制御機器22やセンサ23に異常が生じていると判定された場合や、機械学習モデルによって出力された予測値がその後センサ23によって検出された実測値と基準値以上異なるような場合に、機械学習の学習実行条件が成立する。
学習実行条件が成立すると、車両2のデータセット生成部143は、訓練データセットを作成する(ステップS12)。データセット生成部143は、任意の期間中に車両2のセンサ23によって検出された検出値及び同期間中にECU11から制御機器22へ送信された制御指令値に基づいて、訓練データセットを生成する。データセット生成部143は、機械学習の学習実行条件が成立した後に取得された検出値及び制御指令値に基づいて訓練データセットを生成する。或いは、データセット生成部143は、機械学習の学習実行条件が成立する前から検出値及び制御指令値を記憶装置13に格納しておいて、機械学習の学習実行条件が成立した後に格納されていた検出値及び制御指令値に基づいて訓練データセットを生成してもよい。また、データセット生成部143は、検出値及び制御指令値に前処理(正規化、標準化等)を行って訓練データセットを生成してもよい。生成された訓練データセットは、ECU11の記憶装置13に記憶される。
訓練データセットが生成されると、車両2の学習依頼送信部144は、機械学習モデルのモデルパラメータの値の機械学習を依頼する依頼信号を、車外通信モジュール21を介してサーバ3へ送信する(ステップS13)。このとき、学習依頼送信部144は、依頼信号と共に、機械学習を行うことに伴うサーバ3での処理負荷を算出するのに必要な情報を送信してもよい。具体的には、学習依頼送信部144は、例えば、データセット生成部143によって作成された訓練データセットの大きさ、機械学習モデルの構成(層の数や各層のノードの数など)又は機械学習モデルの種類(例えば、車両2の安全性に寄与するモデル、環境に寄与するモデル、などの区別)を送信する。ただし、車両2に対応する機械学習モデルの構成などの情報が予めサーバ3の記憶装置32に格納されている場合には、学習依頼送信部144は斯かる情報については送信しない。
一方、サーバ3の処理負荷検出部331は、常時又は定期的に、サーバ3の現在の処理負荷を検出する(ステップS14)。サーバ3の処理負荷は、サーバ3の演算処理に関する負荷であり、例えばサーバ3のプロセッサ33の使用率(CPUやGPUの使用率)及びサーバ3の記憶装置32に半導体メモリにおける空き容量に応じて変化する。サーバ3の処理負荷は、プロセッサ33の使用率が大きいほど高いものとして検出され、半導体メモリにおける空き容量が小さいほど高いものとして検出される。
サーバ3の処理負荷は、サーバ3において行われている演算処理の量に応じて変化する。したがって、サーバ3が他の多数の車両の機械学習モデルの学習を行っている場合や、学習以外の様々な演算処理を行っている場合には、サーバ3の処理負荷は高いものとして検出されることになる。一方、サーバ3によって他の車両の機械学習モデルの学習や学習以外の演算処理が行われていない場合には、サーバ3の処理負荷は低いものとして検出されることになる。
なお、処理負荷検出部331は、サーバ3の現在の処理負荷のみならず、サーバ3の将来の処理負荷を検出してもよい。将来の処理負荷は、例えば、サーバ3のプロセッサ33での処理が予定されているタスクに基づいて検出される。また、処理負荷検出部331は、常時又は定期的に処理負荷を検出するのではなく、サーバ側受信部335が外部通信モジュール31を介して依頼信号を受信したときに負荷処理を検出するように構成されてもよい。
サーバ側受信部335が外部通信モジュール31を介して依頼信号を受信すると、処理量決定部332が、処理負荷検出部331によって検出されたサーバ3の現在の処理負荷に基づいて、サーバ3及び車両2のうち機械学習モデルのモデルパラメータの値を機械学習する主体を決定する(ステップS15)。特に、本実施形態では、処理量決定部332は、サーバ3の現在の処理負荷が所定の基準処理負荷よりも高いか否かを判定する。処理量決定部332は、サーバ3の現在の処理負荷が所定の基準処理負荷よりも高いと判定されたときには、機械学習モデルの機械学習における全ての処理を車両2のプロセッサ14で行わせること、すなわちサーバ3のプロセッサ33での機械学習の処理量をゼロにすることを決定する。一方、処理量決定部332は、サーバ3の現在の処理負荷が上記基準処理負荷以下であると判定されたときには、機械学習モデルの機械学習における全ての処理をサーバ3のプロセッサ33で行わせること、すなわち車両2のプロセッサ14での機械学習の処理量をゼロにすることを決定する。本実施形態では、基準処理負荷は、予め定められた一定値(例えば、サーバ3の処理負荷の最大値を100%とすると、80%)である。
なお、基準処理負荷は、予め定められた一定値でなく、変動する値であってもよい。例えば、基準処理負荷は、学習依頼送信部144によってサーバ3へ送信された機械学習モデルの種類に基づいて変更されてもよい。具体的には、基準処理負荷は、機械学習モデルが車両2の安全性に関連するモデルである場合、機械学習モデルが車両2に起因する環境負荷に関連するモデルである場合、機械学習モデルが車両2内の乗員の快適性に関連するモデルである場合の順に低くなる。したがって、基準処理負荷は、機械学習モデルが車両2の安全性に関連するモデルである場合には、機械学習モデルが車両2の安全性に関連しないモデルである場合に比べて、高く設定される。
車両2の安全性に関連するモデルとしては、例えば、車両2に搭載された車両の運転に関する制御機器22(例えば、内燃機関や電動モータ、制動装置、操舵装置など)や、安全性に関するセンサ23(例えば、外部カメラ、ドライバモニタカメラ、レーダなど)の故障を検出するのに使われるモデルが考えられる。斯かるモデルとしては、具体的には、例えば、様々なセンサ23によって検出された状態パラメータの値やECU11から制御機器22への制御指令値を入力パラメータとし、各機器の故障の有無を出力パラメータとするモデルが考えられる。また、車両2に起因する環境負荷に関連するモデルとしては、例えば、上述した排気ガスの温度を推定するモデルが考えられる。加えて、車両2内の乗員の快適性に関連するモデルとしては、例えば、上述した空調装置の目標温度を推定するモデルが考えられる。
ここで、基準処理負荷は、サーバ3で機械学習が行われる優先度を表している。基準処理負荷が低い場合にはサーバ3において機械学習が行われにくく、よって機械学習にかかる時間が長い車両2での機械学習が行われ易い。したがって、基準処理負荷が低いことは、サーバ3で機械学習が行われる優先度が低いことを意味しており、逆に、基準処理負荷が高いことは、サーバ3で機械学習が行われる優先度が高いことを意味している。したがって、上述したように機械学習モデルの種類に応じて基準処理負荷を変更することにより、車両2の安全性に関連するモデルのサーバ3での機械学習の優先度を高くすることができ、また、乗員の快適性に関連するモデルのサーバ3での機械学習の優先度を低くすることができる。
処理量決定部332により機械学習モデルの機械学習をサーバ3で行うことが決定されると、サーバ側送信部334は、外部通信モジュール31を介して、車両2へサーバ3で機械学習を行う旨の通知を送信する(ステップS16)。
車両側受信部148がサーバ3で機械学習を行う旨の通知を受信すると、車両側送信部147は、車両2の機械学習モデルの機械学習をするために必要な情報を、車外通信モジュール21を介して送信する(ステップS17)。機械学習するために必要な情報は、例えば、データセット生成部143によって生成された訓練データセット及び機械学習モデルの現在のモデルパラメータの値を含む。
サーバ側受信部335が外部通信モジュール31を介して機械学習するために必要な情報を受信すると、サーバ側学習部333は、機械学習モデルのモデルパラメータの値を機械学習する(ステップS18)。サーバ側学習部333は、車両2から送信された現在のモデルパラメータの値を初期値として、訓練データセットを用いて、上述したような誤差逆伝播法などの公知の手法によってモデルパラメータの値を更新する。この結果、サーバ側学習部333により学習済みの機械学習モデル(より詳細には、新たな訓練データセットに基づく再学習済みの機械学習モデル)が生成される。学習済みの機械学習モデルを構成するモデルパラメータ(重みw及びバイアスb)の値は、サーバ3の記憶装置32に記憶される。
サーバ側学習部333における機械学習モデルの機械学習が完了すると、サーバ側送信部334は、外部通信モジュール31を介して、サーバ側学習部333による機械学習によって得られたモデルパラメータの値を車両2に送信する(ステップS19)。
車両2の車両側受信部148がサーバ3から車外通信モジュール21を介してモデルパラメータの値を受信すると、車両2のモデル更新部146は制御部141で用いられる機械学習モデルを構成するモデルパラメータの値を、サーバ3から受信した値に更新する(ステップS20)。その後、制御部141は、更新されたモデルパラメータの値を用いた機械学習モデルに基づいて制御機器22の制御を行う。
以上説明したように、本実施形態に係る図7に示した例ではサーバ3の現在の処理負荷が基準処理負荷以下であると判定されており、この場合には、車両2での機械学習の処理量がゼロと決定され、サーバ3での機械学習の処理量が、訓練データセットに基づく機械学習の全処理量に決定されることがわかる。換言すると、この場合には、車両2での機械学習とサーバ3での機械学習との処理比率が0:1に決定されることがわかる。
図8は、機械学習モデルの機械学習が車両2によって行われる場合の学習処理の動作シーケンス図である。したがって、図8は、サーバ3における処理負荷が高い場合の学習処理の流れを示している。
図8からわかるように、機械学習モデルの機械学習が車両2によって行われる場合も、機械学習モデルの機械学習を行う主体を決定するまで(ステップS11~S14は、機械学習モデルの機械学習が車両2によって行われる場合と同様な処理が行われる。
図8に示した例でも、処理量決定部332は、サーバ3の現在の処理負荷に基づいて、サーバ3及び車両2のうち機械学習モデルの機械学習を行う主体を決定する(ステップS15)。そして、ステップS15において処理量決定部332により機械学習モデルの機械学習を車両2で行うことが決定されると、サーバ側送信部334は、外部通信モジュール31を介して、車両2へサーバ3で機械学習を行う旨の通知を送信する(ステップS21)。
車両側受信部148が車両2で機械学習を行う旨の通知を受信すると、サーバ3へ訓練データセット及び現在のモデルパラメータの値が送信されることなく、車両側学習部145が機械学習モデルのモデルパラメータの値を機械学習する(ステップS22)。車両側学習部145での機械学習は、サーバ側学習部333での機械学習と同様に行われ、車両側学習部145は学習済みの機械学習モデルを生成する。学習済みの機械学習モデルを構成するモデルパラメータの値は、車両2の記憶装置32に記憶される。
車両側学習部145における機械学習モデルの機械学習が完了すると、車両2のモデル更新部146は制御部141で用いられる機械学習モデルを構成するモデルパラメータの値を、車両側学習部145における学習によって得られた値に更新する(ステップS23)。その後、制御部141は、更新されたモデルパラメータの値を用いた機械学習モデルに基づいて制御機器22の制御を行う。
以上説明したように、本実施形態に係る図8に示した例ではサーバ3の現在の処理負荷が基準処理負荷よりも高いと判定されており、この場合には、サーバ3での機械学習の処理量がゼロと決定され、車両2での機械学習の処理量が、訓練データセットに基づく機械学習の全処理量に決定されることがわかる。換言すると、この場合には、車両2での機械学習とサーバ3での機械学習との処理比率が1:0に決定されることがわかる。
≪効果≫
上記実施形態に係る機械学習システム1及び機械学習システム1において実行される機械学習方法によれば、サーバ3における処理負荷が低いときにはサーバ3にて車両2の機械学習モデルの機械学習が行われ、サーバ3における処理負荷が高いときには車両2にて車両2の機械学習モデルの機械学習が行われる。この結果、できる限り処理速度の速いサーバ3にて機械学習モデルの機械学習を行いつつ、多数の車両からサーバ3に機械学習の依頼があるような場合においてもサーバ3の処理負荷が過剰に高くなってしまうことが抑制される。
<第二実施形態>
次に、図9及び図10を参照して、第二実施形態に係る機械学習システム1及び機械学習システム1において行われる機械学習方法について説明する。第二実施形態に係る機械学習システム1の構成及び処理は基本的に第一実施形態に係る機械学習システム1の構成及び処理と同様である。以下では、第一実施形態に係る機械学習システム1と異なる点を中心に説明する。
第一実施形態に係る機械学習システム1では、サーバ3及び車両2のうち機械学習モデルの機械学習を行う主体を決定するにあたって用いられる基準処理負荷は、一定値又は機械学習モデルの種類に応じて変化する値とされている。これに対して本実施形態では、基準処理負荷は、サーバ3で機械学習を行った場合に車両2において学習済みのモデルパラメータの値が得られるまでに必要な時間(以下、「サーバ処理必要時間」ともいう)と、車両2で機械学習を行った場合に車両2において学習済みのモデルパラメータの値が得られるまでに必要な時間(以下、「車両処理必要時間」ともいう)とを考慮して設定される。
より詳細には、本実施形態では、サーバ処理必要時間が車両処理必要時間よりも長い場合には、サーバ3にて処理を行う必要性が低いことから車両2にて機械学習が行われ、サーバ処理必要時間が車両処理必要時間以下である場合には、サーバ3又は車両2にて機械学習が行われるように、基準処理負荷が設定される。以下では、基準処理負荷の具体的な設定手法について説明する。
図9は、本実施形態に係るサーバ3のプロセッサ33の機能ブロック図である。図9に示したように、本実施形態では、プロセッサ33は、第一実施形態に係るプロセッサ33の機能ブロックに加えて、基準処理量を算出する基準処理量算出部336を備える。
図10は、本実施形態に係る機械学習モデルの機械学習がサーバ3によって行われる場合の学習処理の、図7と同様な動作シーケンス図である。図10に示したように、本実施形態では、サーバ側受信部335が外部通信モジュール31を介して依頼信号を受信すると、基準処理量算出部336が基準処理量を算出する。
基準処理量算出部336は、基準処理量を算出するにあたって、データセット生成部143によって生成された訓練データセットに基づいて機械学習モデルの機械学習を車両側学習部145において行ったと仮定した場合にかかる予想車両学習時間を算出する。予想車両学習時間は、例えば、車両2のプロセッサ14による演算能力及び半導体メモリの容量に基づく処理能力と、訓練データセットのサイズ及び機械学習モデルの構成とに基づいて算出される。予想車両学習時間は、車両2の処理能力が高くなるほど短なるように算出され、訓練データセットのサイズが大きくなるほど及び機械学習モデルの構成が複雑になるほど長くなるように算出される。
加えて、基準処理量算出部336は、基準処理量を算出するにあたって、訓練データセット及びモデルパラメータの値の車両2とサーバ3との間での送受信に必要な予想通信時間を算出する。この予想通信時間は、サーバ3によって機械学習が行われるときに必要となる時間である。予想通信時間は、例えば、訓練データセットのサイズ及び機械学習モデルのモデルパラメータの数と、車両2とサーバ3との間の無線通信の通信強度とに基づいて算出される。予想通信時間は、訓練データセットのサイズが大きくなるほど及びモデルパラメータの数が多くなるほど長くなるように算出され、無線通信の通信強度が高いほど短くなるように算出される。無線通信の通信強度は、現在の通信強度のみならず、将来の予想通信強度を含んでもよい。将来の予想通信強度は、例えば、車両2の将来の走行予定経路から推定される。したがって、例えば、車両2が通信強度の低い山道を走行することが予定されている場合には、将来の予想通信強度は低い値に設定される。
その後、基準処理量算出部336は、車両2での予想車両学習時間から予想通信時間を減算した差分時間を算出する。サーバ3での機械学習にかかる時間がこのようにして算出された差分時間よりも長くなる場合にはサーバ処理必要時間が車両処理必要時間よりも長くなることを意味する。一方、サーバ3での機械学習にかかる時間がこのようにして算出された差分時間以下である場合にはサーバ処理必要時間が車両処理必要時間以下であることを意味する。
一方、サーバ3での演算処理速度は、サーバ3の処理負荷に応じて変化する。サーバ3の処理負荷が高いときには、サーバ3での演算処理速度は遅く、よって機械学習に必要な時間が長くなる。逆に、サーバ3の処理負荷が低いときには、サーバ3での演算処理速度速く、よって機械学習に必要な時間が短くなる。
そこで、本実施形態では、基準処理量算出部336は、サーバ3において機械学習モデルの機械学習を行うのに上記差分時間が必要になるような負荷(以下、「差分時間相当負荷」という)を基準処理負荷として設定する。この結果、サーバ3では現在の処理負荷が基準処理負荷以下であるときに機械学習が行われることから、サーバ処理必要時間が車両処理必要時間以下であるときにのみサーバ3にて機械学習が行われることになる。
なお、本実施形態では、基準処理負荷は、差分時間相当負荷に設定されている。しかしながら、基準処理負荷は、差分時間相当負荷よりも低い負荷に設定されてもよい。この場合であっても、サーバ処理必要時間が車両処理必要時間以下であるときにのみサーバ3に機械学習を行わせることができる。また、基準処理負荷は、例えば、差分時間相当負荷よりも低い負荷であって且つ機械学習モデルの種類に応じて変化する負荷であってもよい。
<第三実施形態>
次に、図11を参照して、第三実施形態に係る機械学習システム1及び機械学習システム1において行われる機械学習方法について説明する。第三実施形態に係る機械学習システム1の構成及び処理は基本的に第一実施形態及び第二実施形態に係る機械学習システム1の構成及び処理と同様である。以下では、第一実施形態及び第二実施形態に係る機械学習システム1と異なる点を中心に説明する。
上記第一実施形態及び第二実施形態に係る機械学習システム1では、車両2又はサーバ3のいずれか一方において、全ての機械学習処理が行われる。これに対して、本実施形態では、機械学習モデルの機械学習処理は、サーバ3の処理負荷に応じて、車両2とサーバ3とで分散して行われる。
図11は、本実施形態に係る学習処理の、図7と同様な動作シーケンス図である。図7において行われる処理と同様な処理には同様なステップ番号が付されており、これら処理については説明を省略する。
本実施形態では、図11に示したように、サーバ側受信部335が依頼信号を受信すると、処理量決定部332が、処理負荷検出部331によって検出されたサーバ3の現在の処理負荷に基づいて、サーバ3及び車両2のそれぞれで行う機械学習の処理量を決定する(ステップS35)。本実施形態では、サーバ3の現在の処理負荷が高いほど、サーバ3での機械学習の処理量を減少させ、車両2での機械学習の処理量を増大させる。なお、サーバ3及び車両2での機械学習の処理量は処理負荷に応じて段階的に変化してもよいし、連続的に変化してもよい。したがって、以上をまとめて表現すると、第一実施形態及び第二実施形態を含む全ての実施形態では、サーバ3の現在の処理負荷が相対的に高いときには相対的に低いときに比べてサーバ3における機械学習の処理量が少なくされる。
処理量決定部332により処理量が決定されると、サーバ側送信部334は、外部通信モジュール31を介して、車両2へ、車両2及びサーバ3それぞれの処理量の通知を送信する(ステップS36)。車両側受信部148が通知を受信すると、車両側送信部147は、車両2の機械学習モデルの機械学習を行うために必要な情報を、車外通信モジュール21を介して送信する(ステップS17)。
サーバ側受信部335が外部通信モジュール31を介して機械学習するために必要な情報を受信すると、サーバ側学習部333は、ステップS35で決定されたサーバ3での処理量に応じて、機械学習モデルのモデルパラメータの値を機械学習する(ステップS37)。サーバ側学習部333は、車両2から送信された現在のモデルパラメータの値を初期値として、訓練データセットを用いて、上述したような誤差逆伝播法などの公知の手法によってモデルパラメータの値を更新する。このとき、サーバ側学習部333は、ステップS35で決定されたサーバ3での処理量が機械学習の全処理量でない限り、機械学習モデルの機械学習が完了する前に機械学習処理を終了する。
サーバ側学習部333における機械学習モデルの学習が終了されると、サーバ側送信部334は、外部通信モジュール31を介して、サーバ側学習部333による機械学習によって得られた学習途中のモデルパラメータの値を車両2に送信する(ステップS38)。
車両側受信部148が学習途中のモデルパラメータの値を受信すると、車両側学習部145は、サーバ3から送信された学習途中のモデルパラメータの値を初期値として、訓練データセットを用いて、ステップS35で決定された車両2での処理量に応じて、機械学習モデルのモデルパラメータの値を機械学習する(ステップS39)。車両側学習部145での機械学習は、学習が完了するまで行われ、車両側学習部145は学習済みの機械学習モデルを生成する。
なお、上記実施形態では、処理量決定部332が、サーバ3及び車両2のそれぞれで行う機械学習の処理量を決定している。しかしながら、処理量決定部332は、サーバ3によって行われる処理量と車両2で行われる処理量との比率(処理比率)を決定してもよい。また、上記実施形態では、最初にサーバ3にて機械学習モデルの機械学習が途中まで行われ、その後、車両2にて機械学習モデルの機械学習が完了するまで行われている。しかしながら、最初に車両2にて機械学習モデルの機械学習が途中まで行われ、その後、サーバ3にて機械学習モデルの機械学習が完了するまで行われてもよい。
以上、本発明に係る好適な実施形態を説明したが、本発明はこれら実施形態に限定されるものではなく、特許請求の範囲の記載内で様々な修正及び変更を施すことができる。
1 機械学習システム
2 車両
3 サーバ
11 ECU
13 記憶装置
14 プロセッサ
22 制御機器
23 センサ
32 記憶装置
33 プロセッサ

Claims (8)

  1. 搭載された機器を制御するのに用いられる機械学習モデルを有する車両と、該車両と通信可能なサーバとを備える機械学習システムにおいて行われる、前記機械学習モデルを構成するモデルパラメータの値を機械学習する、機械学習方法であって、
    前記車両が前記サーバへ前記モデルパラメータの値の機械学習を依頼する依頼信号を送信することと、
    前記サーバが該サーバの現在の処理負荷を検出することと、
    前記車両から前記依頼信号を受信したときに、前記サーバが、前記処理負荷に基づいて、前記サーバ及び前記車両それぞれで行う前記機械学習の処理量又は処理比率を決定することと、
    前記サーバが、前記決定された該サーバにおける前記機械学習の処理量又は処理比率に応じて、前記モデルパラメータの値を機械学習するための訓練データセットに基づいて前記モデルパラメータの値を機械学習することと、
    前記車両が、前記決定された該車両における前記機械学習の処理量又は処理比率に応じて、前記訓練データセットに基づいて前記モデルパラメータの値を機械学習すること、とを含み、
    前記サーバは、前記処理負荷が相対的に高いときには相対的に低いときに比べて前記サーバにおける前記機械学習の処理量又は処理比率を少なくする、機械学習方法。
  2. 前記サーバは、前記処理負荷が所定の基準処理負荷よりも高いときには前記機械学習の全ての処理を前記車両にて行わせることを決定し、且つ、前記処理負荷が前記基準処理負荷以下であるときには前記機械学習の全ての処理を前記サーバにて行わせることを決定する、請求項1に記載の機械学習方法。
  3. 前記基準処理負荷は、前記機械学習モデルの種類に応じて変更される、請求項2に記載の機械学習方法。
  4. 前記基準処理負荷は、前記機械学習モデルが前記車両の安全性に関連するモデルである場合には、前記機械学習モデルが前記車両の安全性に関連しないモデルである場合に比べて、高い、請求項3に記載の機械学習方法。
  5. 前記車両で前記訓練データセットに基づいて前記機械学習を行った場合の予想学習時間と前記訓練データセット及び前記モデルパラメータの前記車両と前記サーバとの間の送受信に必要な予想通信時間とを算出することを更に含み、
    前記基準処理負荷は、前記サーバにおいて前記モデルパラメータの値を機械学習するのに前記予想学習時間から前記予想通信時間を減算した時間が必要になるような負荷又はそれよりも低い負荷である、請求項2~4のいずれか1項に記載の機械学習方法。
  6. 前記車両で前記訓練データセットに基づいて前記機械学習を行った場合の予想学習時間と、前記訓練データセットの前記車両と前記サーバとの間での送受信に必要な予想通信時間とを算出することをさらに含み、
    前記サーバは、前記処理負荷が相対的に高いときには相対的に低いときに比べて前記サーバにおける前記機械学習の処理量又は処理比率が少なくなるように、予想学習時間から予想通信時間を減算した値に基づいて、前記機械学習の処理量又は処理比率を連続的又は段階的に変化させる、請求項1に記載の機械学習方法。
  7. 搭載された機器を制御するのに用いられる機械学習モデルを有する車両と通信可能であり且つ前記機械学習モデルを構成するモデルパラメータの値を機械学習するサーバであって、
    前記サーバが該サーバの現在の処理負荷を検出する処理負荷検出部と、
    当該サーバへ前記モデルパラメータの値の機械学習を依頼する依頼信号を前記車両から受信したときに、前記処理負荷に基づいて、前記サーバ及び前記車両それぞれで行う前記機械学習の処理量又は処理比率を決定する処理量決定部と、
    前記決定された該サーバにおける前記機械学習の処理量又は処理比率に応じて、前記モデルパラメータの値を機械学習するための訓練データセットに基づいて前記モデルパラメータの値を機械学習する学習部と、
    前記学習部による前記モデルパラメータの値の機械学習が行われた場合に該機械学習によって得られた前記モデルパラメータの値を前記車両に送信する送信部と、を有し、
    前記処理量決定部は、前記処理負荷が相対的に高いときには相対的に低いときに比べて前記サーバにおける前記機械学習の処理量又は処理比率を少なくする、サーバ。
  8. 搭載された機器を制御するのに用いられる機械学習モデルを有する車両と、該車両と通信可能なサーバとを備え、前記機械学習モデルを構成するモデルパラメータの値を機械学習する、機械学習システムであって、
    前記車両は、
    前記サーバへ前記モデルパラメータの値の機械学習を依頼する依頼信号を送信する学習依頼送信部と、
    前記モデルパラメータの値を機械学習するための訓練データセットに基づいて前記モデルパラメータの値を機械学習する車両側学習部と、を備え、
    前記サーバは、
    前記サーバの現在の処理負荷を検出する処理負荷検出部と、
    前記車両から前記依頼信号を受信したときに、前記処理負荷に基づいて、前記サーバ及び前記車両それぞれで行う前記機械学習の処理量又は処理比率を決定する処理量決定部と、
    前記訓練データセットに基づいて前記モデルパラメータの値を機械学習するサーバ側学習部と、を備え、
    前記サーバ側学習部及び前記車両側学習部は、それぞれ、前記決定された前記機械学習の処理量又は処理比率に応じて、前記モデルパラメータの値を機械学習する学習部を備え、
    前記処理量決定部は、前記処理負荷が相対的に高いときには相対的に低いときに比べて前記サーバ側学習部における前記機械学習の処理量又は処理比率を少なくする、機械学習システム。
JP2020199654A 2020-12-01 2020-12-01 機械学習方法及び機械学習システム Active JP7040589B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020199654A JP7040589B1 (ja) 2020-12-01 2020-12-01 機械学習方法及び機械学習システム
DE102021129697.8A DE102021129697A1 (de) 2020-12-01 2021-11-15 Maschinenlernverfahren und Maschinenlernsystem
US17/536,615 US11623652B2 (en) 2020-12-01 2021-11-29 Machine learning method and machine learning system
CN202111430621.XA CN114578687A (zh) 2020-12-01 2021-11-29 机器学习方法及机器学习系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020199654A JP7040589B1 (ja) 2020-12-01 2020-12-01 機械学習方法及び機械学習システム

Publications (2)

Publication Number Publication Date
JP7040589B1 true JP7040589B1 (ja) 2022-03-23
JP2022087620A JP2022087620A (ja) 2022-06-13

Family

ID=81214316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020199654A Active JP7040589B1 (ja) 2020-12-01 2020-12-01 機械学習方法及び機械学習システム

Country Status (4)

Country Link
US (1) US11623652B2 (ja)
JP (1) JP7040589B1 (ja)
CN (1) CN114578687A (ja)
DE (1) DE102021129697A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7040589B1 (ja) * 2020-12-01 2022-03-23 トヨタ自動車株式会社 機械学習方法及び機械学習システム
US11760376B2 (en) * 2020-12-29 2023-09-19 Ford Global Technologies, Llc Machine learning updating with sensor data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244146A (ja) 2005-03-03 2006-09-14 Canon Inc コンテンツ管理システム
JP2019021201A (ja) 2017-07-20 2019-02-07 株式会社デンソー 学習サーバ及び支援システム
JP2019094044A (ja) 2017-11-17 2019-06-20 株式会社デンソー 車両制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69232112T2 (de) 1991-11-12 2002-03-14 Fujitsu Ltd Vorrichtung zur Sprachsynthese
JP3446764B2 (ja) * 1991-11-12 2003-09-16 富士通株式会社 音声合成システム及び音声合成サーバ
JPH1153326A (ja) 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
DE202016004627U1 (de) 2016-07-27 2016-09-23 Google Inc. Training eines neuronalen Wertnetzwerks
CN115343947A (zh) * 2016-09-23 2022-11-15 苹果公司 自主车辆的运动控制决策
JP6575932B2 (ja) * 2017-03-29 2019-09-18 マツダ株式会社 車両運転支援システム
US11741354B2 (en) 2017-08-25 2023-08-29 Ford Global Technologies, Llc Shared processing with deep neural networks
US20190147855A1 (en) 2017-11-13 2019-05-16 GM Global Technology Operations LLC Neural network for use in speech recognition arbitration
US11429862B2 (en) * 2018-03-20 2022-08-30 Sri International Dynamic adaptation of deep neural networks
JP6986503B2 (ja) * 2018-09-10 2021-12-22 日立Astemo株式会社 電子制御装置、ニューラルネットワーク更新システム
US20210182739A1 (en) * 2019-12-17 2021-06-17 Toyota Motor Engineering & Manufacturing North America, Inc. Ensemble learning model to identify conditions of electronic devices
JP7040571B2 (ja) * 2020-09-03 2022-03-23 トヨタ自動車株式会社 学習装置及びモデル学習システム
JP7040589B1 (ja) * 2020-12-01 2022-03-23 トヨタ自動車株式会社 機械学習方法及び機械学習システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244146A (ja) 2005-03-03 2006-09-14 Canon Inc コンテンツ管理システム
JP2019021201A (ja) 2017-07-20 2019-02-07 株式会社デンソー 学習サーバ及び支援システム
JP2019094044A (ja) 2017-11-17 2019-06-20 株式会社デンソー 車両制御装置

Also Published As

Publication number Publication date
JP2022087620A (ja) 2022-06-13
CN114578687A (zh) 2022-06-03
US11623652B2 (en) 2023-04-11
US20220169268A1 (en) 2022-06-02
DE102021129697A1 (de) 2022-06-02

Similar Documents

Publication Publication Date Title
JP7040589B1 (ja) 機械学習方法及び機械学習システム
CN113830097B (zh) 车辆、模型学习系统以及服务器
US11675999B2 (en) Machine learning device
US20220194394A1 (en) Machine learning device and machine learning system
US11820398B2 (en) Learning apparatus and model learning system
JP6939963B1 (ja) モデル学習システム及びサーバ
US20210192872A1 (en) Model diagnosis device and model diagnosis system
JP6962435B1 (ja) 機械学習装置
JP2022079938A (ja) 機械学習システム
JP2022076257A (ja) 機械学習システム、車両及びサーバ
US20220292350A1 (en) Model updating apparatus, model updating method, and model updating program
JP7276298B2 (ja) モデル学習システム、車両の制御装置及びモデル学習方法
JP2022173803A (ja) 学習モデルのパラメータの値の授受装置及び授受システム
JP2022035222A (ja) 機械学習装置
JP2022053033A (ja) 機械学習装置
JP2022007079A (ja) 車両
JP2022007498A (ja) 機械学習装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210624

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220221

R151 Written notification of patent or utility model registration

Ref document number: 7040589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151