JP7357537B2 - 制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システム - Google Patents

制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システム Download PDF

Info

Publication number
JP7357537B2
JP7357537B2 JP2019233323A JP2019233323A JP7357537B2 JP 7357537 B2 JP7357537 B2 JP 7357537B2 JP 2019233323 A JP2019233323 A JP 2019233323A JP 2019233323 A JP2019233323 A JP 2019233323A JP 7357537 B2 JP7357537 B2 JP 7357537B2
Authority
JP
Japan
Prior art keywords
vehicle
event
search
reinforcement learning
control device
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
JP2019233323A
Other languages
English (en)
Other versions
JP2021103356A (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2019233323A priority Critical patent/JP7357537B2/ja
Priority to US17/106,458 priority patent/US11934951B2/en
Priority to CN202011398791.XA priority patent/CN113022582B/zh
Publication of JP2021103356A publication Critical patent/JP2021103356A/ja
Application granted granted Critical
Publication of JP7357537B2 publication Critical patent/JP7357537B2/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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by quality surveillance of production
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60GVEHICLE SUSPENSION ARRANGEMENTS
    • B60G17/00Resilient suspensions having means for adjusting the spring or vibration-damper characteristics, for regulating the distance between a supporting surface and a sprung part of vehicle or for locking suspension during use to meet varying vehicular or surface conditions, e.g. due to speed or load
    • B60G17/015Resilient suspensions having means for adjusting the spring or vibration-damper characteristics, for regulating the distance between a supporting surface and a sprung part of vehicle or for locking suspension during use to meet varying vehicular or surface conditions, e.g. due to speed or load the regulating means comprising electric or electronic elements
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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
    • 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/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34082Learning, online reinforcement learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Analysis (AREA)
  • Transportation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Feedback Control In General (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Vehicle Body Suspensions (AREA)

Description

本発明は、制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システムに関する。
近年、車両の自律走行を実現するための行動制御に強化学習を用いる技術が知られている(特許文献1)。特許文献1には、強化学習における方策(行動選択ルールをいう。ポリシーともいわれる)を学習する過程で、確率εでランダムに行動を選択し、確率1-εで方策に従って行動を選択する(ε-greedy法ともいわれる)ことが開示されている。すなわち、より適切な方策を学習によって獲得するためには、より多様な行動方策を得るための探索(exploration)と学習した方策の活用(exploitation)の両立が必要となる。
特願2019-087096号公報
ところで、強化学習によって行動制御を行う商品化された車両が、市場を走行する場合、学習済みの状態でテスト等がなされた一意な制御信号が出力されるように、行動制御における探索を行わないことが想定される。一方、自律走行のような高次元の行動制御を実現するためには、広大な行動空間から最適な行動を探索するための学習が必要であり、そのための学習データ、とりわけ実環境で得られる様々なデータを、車両の市場導入後も収集し、活用することが望まれる場合がある。
本発明は、上記課題に鑑みてなされ、その目的は、車両の制御において、車両のライフサイクルにおいて強化学習における探索と活用を継続的に両立することが可能な技術を提供することである。
本発明によれば、
強化学習を用いて車両に対する所定の制御を行う制御装置であって、
前記車両のライフサイクルにおけるイベントを検知する検知手段と、
前記イベントが検知されたことに応じて、検知された前記イベントに応じて特定される探索パラメータを、前記強化学習における探索の割合を調整する値として設定する設定手段と、
設定された前記探索パラメータに従って前記強化学習を用いた前記所定の制御を実行する処理手段と、を有し、
前記設定手段は、前記車両の利用開始までの前記車両に対する手続きの完了又は前記車両を制御するための前記強化学習に用いられる学習モデルのバージョンの更新に関する第1のイベントが検知された場合、前記第1のイベントの後である第1の期間に設定される探索の割合を、前記第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする前記探索パラメータを設定する、ことを特徴とする制御装置が提供される。
本発明によれば、車両の制御において、車両のライフサイクルにおいて強化学習における探索と活用を継続的に両立することが可能になる。
本発明の実施形態に係る車両制御システムの概要を示す図 本実施形態に係る車両の機能構成例を示すブロック図 本実施形態に係る強化学習を用いた制御の一例としてのダンパ制御の動作概要を説明する図 本実施形態に係るモデル処理部における強化学習の一例として、アクタークリティック手法を適用する場合の構成を説明する図 本実施形態において利用可能なセンサ及び当該センサにより計測されるセンサデータの例を示す図 本実施形態に係る探索パラメータの変化の一例を示す図 本実施形態に係る車両におけるダンパ制御処理の一連の動作を示すフローチャート 本実施形態に係る車両における探索パラメータ設定処理の一連の動作を示すフローチャート 本実施形態に係る情報処理サーバの一例としてのデータ収集サーバの機能構成例を示す図 本実施形態に係るデータ収集サーバにおける探索パラメータ送信処理の一連の動作を示すフローチャート 本実施形態に係るイベントと探索パラメータの値との対応付けを説明するための図
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでするものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴うち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
<車両制御システムの概要>
図1を参照して、本実施形態に係る車両制御システム10の概要について説明する。車両制御システム10は、所定システムの一例としての車両100、および情報処理サーバの一例としてのデータ収集サーバ110とを含む。本実施形態では、車両100が、強化学習を用いて車両の構成要素であるダンパを制御する場合を例に説明する。しかし、車両が強化学習を用いて、ダンパ制御以外の他の構成要素を制御(例えば走行時の操舵やアクセル制御)を行う場合にも適用可能である。また、以下で説明する実施形態では、車両が備える制御部が強化学習を用いたダンパ制御を行う場合を例に説明する。しかし、制御部による処理を、車両内に搭載された情報処理装置が行うようにしてもよい。すなわち、本実施形態は、情報処理装置が、車両からセンサ情報等を取得して、強化学習を用いたダンパ制御用の制御信号を車両に出力する構成によって実現されてもよい。なお、以下の説明では、車両が備える制御部或いは上記情報処理装置を制御装置という場合がある。
データ収集サーバ110は、強化学習を用いた学習モデルを学習させるための学習データを取得して蓄積するためのサーバである。データ収集サーバ110は、実環境において制御が行われている複数の車両100で収集される学習データを、それぞれの車両100から取得する。学習データは、詳細は後述するが、車両100のセンサで取得されるフィードバックデータを含む。学習データは、報酬や行動などの他の情報(すなわち強化学習で用いる入出力の情報)を含んでよい。データ収集サーバ110は、車両100から取得した学習データをデータベース(DB)111に蓄積する。
本実施形態のデータ収集サーバ110は、実環境において制御が行われている車両100からイベント情報を取得し、取得したイベント情報に応じて車両100のパラメータ制御を行う。イベント情報は、車両100のライフサイクルにおいて発生するイベントを示す情報である。イベントは、例えば、車両に対する手続きの完了(車両製造完了、車両登録の完了)や車両の特定の使用状態への到達(製造完了から所定日数の経過、製造完了から所定走行距離の走行)、或いは、車両を制御する構成要素の更新(学習モデルのバージョンの所定回数の更新実施)などを含む。
車両100は、強化学習を用いた制御において方策を決定する際に、例えば、所定の確率εでランダムな行動を選択(すなわち探索)し、1-εの確率で方策の出力に従って行動を選択(すなわち活用)する。このような車両100に対し、データ収集サーバ110は、それぞれの車両100のライフサイクルに応じたイベントの発生に応じて、車両ごとのパラメータ(ここでは確率ε)を制御する。車両100は、データ収集サーバ110から指定されたパラメータ(確率ε)に従って、強化学習における探索と活用のバランスを両立させる。このようにすることで、データ収集サーバ110は、ある程度のばらつきを持った多様なデータを実環境における車両100から収集することができる。ひいては、収集した学習データを用いたモデルの性能をより高性能化することが可能になる。なお、後述するように、強化学習アルゴリズムの探索によって安全上許容できない出力が選択される場合、当該出力によって車両が制御されないように出力値はフィルタアウトされる。
<車両の構成>
次に、図2を参照して、本実施形態に係る車両100の機能構成例について説明する。なお、以降の図を参照して説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、ハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。
センサ部101は、車両100に備えられる各種センサであり、車両100の挙動に関するセンサデータを出力する。図5は、センサ部101のうち、本実施形態のダンパ制御処理に用いられ得る各種センサと計測内容の一例を示している。これらのセンサには、例えば、車両100の車速を計測するための車速センサや、車両のボディ加速度を計測するための加速度センサ、ダンパのストローク挙動(速度や変位)を計測するサスペンション変位センサを含む。更に、ステアリング入力を計測する操舵角センサ、自己位置を取得するGPS等が含まれる。なお、以降の説明では、ダンパ制御処理に用いられる、車両100の挙動に関するこれらのセンサデータを特にフィードバックデータという。センサ部101から出力された車両100の挙動に関するフィードバックデータは、制御部200やダンパ制御部106に入力される。
また、センサ部101は、車両の前方(或いは、更に後方方向や周囲)を撮影した撮影画像を出力する撮影用カメラや、車両の前方(或いは、更に後方方向や周囲)の距離を計測して得られる距離画像を出力するLidar(Light Detection and Ranging)を含んでよい。例えば、制御部200は、撮影画像や距離画像など空間的な情報をフィードバックデータとして強化学習を用いたダンパ制御或いは車両100の行動制御を行ってもよい。
通信部102は、例えば通信用回路等を含む通信デバイスであり、例えばLTEやLTE-Advanced等或いは所謂5Gとして規格化された移動体通信を介して外部のサーバや周囲の交通システムなどと通信する。地図データの一部又は全部を外部サーバから受信したり、他の交通システムから交通情報などを受信し得る。また、通信部102は、センサ部101から取得された各種データ(例えば、フィードバックデータ)やイベント情報をデータ収集サーバ110に送信する。そして、通信部102は、データ収集サーバ110から、パラメータ制御に係る情報(例えば探索を行うための確率εを示す情報。以下、探索パラメータという)を受信する。
操作部103は、車両100内に取り付けられたボタンやタッチパネルなどの操作部材のほか、ステアリングやブレーキペダルなどの、車両100を運転するための入力を受け付ける部材を含む。電源部104は、例えばリチウムイオンバッテリ等で構成されるバッテリを含み、車両100内の各部に電力を供給する。動力部105は、例えば車両を走行させるための動力を発生させるエンジンやモータを含む。
ダンパ107は、車両100のサスペンションに用いられ、例えば、ダンパの特性である減衰力を制御可能なアクティブダンパである。例えば、ダンパ107の制御は、ダンパ107の内部のコイルに流す電流量を制御することで内部のバルブが開く圧力が調節され、ダンパ107の減衰力が制御される。ダンパ107は、それぞれ独立する4つのダンパ107で構成され、それぞれ独立して制御される。なお、車両100が強化学習を用いて(ダンパ制御とは異なる制御である)車両の行動制御などを行う場合、ダンパ107は通常のダンパであってもかまわない。
ダンパ制御部106は、ダンパ107の特性を制御するための例えばソフトウェアモジュールであり、ダンパ制御部106は、制御部200から出力される制御変数に基づいて(独立した4つのダンパ107のそれぞれの)ダンパの特性を制御する。なお、本実施形態では、ダンパ制御に求められる高速応答性を確保するために、ダンパ制御部106がダンパ107を制御するようにしているが、ダンパ制御部106は必ずしも必須ではなく、制御部200がダンパ107を直接制御するようにしてもよい。
記憶部108は、半導体メモリなどの不揮発性の大容量のストレージデバイスを含む。センサ部101から出力されたフィードバックデータ、或いは、制御部200によって選別されたフィードバックデータを、データ収集サーバ110に送信するために、一時的に格納する。
制御部200は、例えば、CPU210、RAM211、ROM212を含み、車両100の各部の動作を制御する。また、制御部200は、センサ部101からフィードバックデータを取得して、ダンパ制御処理を実行したり、データ収集サーバ110から受信した探索パラメータに応じて、強化学習における探索と活用のバランスを制御する。制御部200は、CPU210がROM212に格納されたコンピュータプログラムを、RAM211に展開、実行することにより、データ入力部213、モデル処理部214、報酬決定部215、探索パラメータ設定部216の機能を発揮させる。
CPU210は、1つ以上のプロセッサを含む。RAM211は、例えばDRAM等を含み、CPU210のワークメモリとして機能する。ROM212は、不揮発性の記憶媒体で構成され、CPU210によって実行されるコンピュータプログラムや制御部200を動作させる際の設定値などを記憶する。なお、以下の実施形態では、CPU210がモデル処理部214の処理を実行する場合を例に説明するが、モデル処理部214の処理は不図示の1つ以上の他のプロセッサ(例えばGPU)で実行されてもよい。
データ入力部213は、記憶部108に記憶されたフィードバックデータを取得して、データの前処理を行う。フィードバックデータとして入力される車両の運動状態や運転入力の特徴を、機械学習アルゴリズムが処理し易いように、種々の加工処理を行う。加工処理の一例では、所定の期間内のフィードバックデータの最大値、最小値等に加工する処理を含む。事前にフィードバックデータを加工しておくことにより、生のフィードバックデータを機械学習アルゴリズムで直接扱う場合よりも処理効率や学習効率を向上させることができる。なお、本実施形態の例では、データ入力部213によって加工したフィードバックデータを、学習データとして、データ収集サーバ110に送信する場合を例に説明する。しかし、データ入力部213による加工を行っていない状態のフィードバックデータを、学習データとして強化学習に用いたり、データ収集サーバ110に送信したりしてもよい。
モデル処理部214は、例えば、深層強化学習などの機械学習アルゴリズムの演算を行って、得られた出力をダンパ制御部106に出力する。モデル処理部214は、データ入力部213からのフィードバックデータと報酬決定部215からの報酬のデータを用いて、強化学習アルゴリズムを実行し、ダンパ制御部106に提供する制御変数を出力する。モデル処理部214は、強化学習アルゴリズムの実行を通して内部のパラメータを最適化し(すなわち学習し)、内部のパラメータで特定される演算処理をフィードバックデータに対して適用することにより、車両100の挙動に応じた最適な制御変数を出力する。また、モデル処理部214は、方策に係るニューラルネットワーク(アクター)から出力される複数の行動から、探索パラメータに従って行動を選択する処理を含む。
報酬決定部215は、フィードバックデータに基づいて、機械学習アルゴリズム(強化学習アルゴリズム)で用いられる報酬又はペナルティを決定し、モデル処理部214に出力する。探索パラメータ設定部216は、データ収集サーバ110から取得した探索パラメータをモデル処理部214に設定する。
イベント検知部217は、車両101のセンサ部101によって計測された情報やモデル処理部214で動作する学習モデルのバージョン情報等に基づいて、車両100のライフサイクルにおいて発生するイベントを検知し、検知したイベントをイベント情報としてデータ収集サーバ110に送信する。イベント情報は、車両100のライフサイクルにおいて発生するイベントを示す情報である。イベントは、上述したように、例えば、車両に対する手続きの完了(車両製造完了、車両登録の完了)や車両の特定の使用状態への到達(製造完了から所定日数の経過、製造完了から所定走行距離の走行)、或いは、車両を制御する構成要素の更新(学習モデルのバージョンの所定回数の更新実施)などを含む。
<強化学習を用いたダンパ制御処理の概要>
次に、図3を参照して、強化学習を用いたダンパ制御処理の概要について説明する。
本実施形態のダンパ制御処理は、例えば、モデル処理部214における深層強化学習アルゴリズムを用いた演算処理と、ダンパ制御部106における演算処理とを含む。このような構成では、ダンパ制御部106は、予め決められたルールベースの演算処理により、低次元制御出力を数百ヘルツの高速な動作周波数でダンパを制御することができる一方、モデル処理部214はダンパ制御部ほど高くない動作周波数で高次元の制御を実行することができる。もちろん、ダンパ制御の構成は、この構成に限定されるものではなく、ダンパ制御部106を設けること無く、モデル処理部214が直接的にダンパ107の制御を行うようにしてもよい。
例えば、モデル処理部214は、ある時刻tにおいて、データ入力部213からのフィードバックデータを受け付けて強化学習アルゴリズムを実行し、得られた制御変数をダンパ制御部106に出力する。強化学習では、このフィードバックデータは環境の状態(s)に相当し、制御変数は、環境に対する行動(a)に相当する。
ダンパ制御部106は、モデル処理部214からの制御変数を受け付けると、ダンパ制御部106の内部で用いられている制御変数を、モデル処理部214から取得した新たな制御変数に置き換える。制御変数は、例えば、フィードバックデータに応じたゲインパラメータなどの、ダンパ制御部106がダンパの特性を決定するためのパラメータを含む。また、制御変数は、ダンパ制御部106が公知のスカイフック理論に基づいてダンパ107の減衰力を決定するためのパラメータでもある。例えば、車両100のセンサ部101において計測される車両のボディ加速度がスカイフック理論に基づく加速度と整合するようにダンパ107の減衰力が制御される。
ダンパ制御部106は、モデル処理部214からの新たな制御変数に基づいて、フィードバックデータに対するダンパ特性の制御を行う。このとき、ダンパ制御部106は、ダンパ107の特性を制御するための制御量を算出する。例えば、ダンパ107の特性は減衰力であり、ダンパ107の特性を制御するための制御量は、当該減衰力を制御する電流量である。ダンパ制御部106は、時刻がt+1になるまで、新たな制御変数に基づく、フィードバックデータに対するダンパ制御を繰り返す。
センサ部101は、時刻t+1におけるフィードバックデータを取得し、データ入力部213は、このフィードバックデータを加工して、加工したフィードバックデータをモデル処理部214に出力する。強化学習では、この加工したフィードバックデータは、環境における状態(st+1)に相当する。報酬決定部215は、当該フィードバックデータに基づいて、強化学習における報酬(rt+1)(またはペナルティ)を決定してモデル処理部214に提供する。本実施形態では、報酬は、所定のフィードバックデータの組み合わせから得られる、車両の挙動に関する報酬値である。
モデル処理部214は、報酬(rt+1)を受け付けると、後述する方策および状態価値関数を更新して、時刻t+1におけるフィードバックデータに対する新たな制御変数を出力する(行動(at+1))。
<モデル処理部の構成>
更に、図4を参照して、モデル処理部214の構成例とダンパ制御処理におけるモデル処理部214の動作例について説明する。図4は、アクタークリティック手法を用いる場合のモデル処理部214の内部構成例と、モデル処理部214のニューラルネットワーク(NN)のネットワーク構成例を模式的に示している。
モデル処理部214は、アクター401とクリティック402とを含む。アクター401は、方策π(s,a)に基づき行動(a)を選択する機構である。一例として、状態sで行動aを選択する確率をp(s,a)とすると、方策は、p(s,a)と例えばsoftmax関数などを用いた所定の関数とで定義される。クリティック402は、現在アクターが利用している方策π(s,a)に対する評価を行う機構であり、当該評価を表す状態価値関数V(s)を有する。
図3において説明した時刻tから時刻t+1における動作を例に説明すると、ある時刻tにおいて、アクター401はフィードバックデータを受け付け、方策π(s,a)に基づき制御変数(すなわち行動(a))を出力する。
ダンパ制御部106により、時刻tに対する制御変数を用いてダンパ制御が行われた後に、時刻t+1におけるフィードバックデータ(すなわち状態(st+1)が得られると、報酬決定部215から当該フィードバックデータに基づく報酬(rt+1)がクリティック402に入力される。
クリティック402は、アクターの方策を改善するための方策改善を算出して、アクター401に入力する。方策改善は、公知の所定の計算方法によって求めたものでよいが、例えば、報酬とフィードバックデータを用いて得られる、公知のTD誤差δ=rt+1+γV(st+1)-V(s)(γは強化学習における割引報酬)を方策改善として用いることができる。
アクター401は、方策改善に基づいて方策π(s,a)を更新する。方策の更新は、例えば、p(s,a)をp(s,a)+βδ(βはステップサイズパラメータ)で置き換えるような更新を行いうる。すなわち、アクター401は報酬に基づく方策改善を用いて方策を更新する。クリティック402は、状態価値関数V(s)を、例えばV(s)+αδ(αはステップサイズパラメータ)で置き換えて更新する。
図4の右図は、モデル処理部214が用いる学習モデルをディープニューラルネットワーク(単にNNともいう)において実現する場合のネットワーク構成例を模式的に示している。この例では、アクターとクリティックの2つのニューラルネットワークで構成される。入力層410は、例えば1450個のニューロンで構成され、対応するフィードバックデータが入力される。
入力層410から入力された信号はそれぞれアクターの隠れ層411、クリティックの隠れ層412を順方向に伝搬してそれぞれの出力層413と414から出力値が得られる。アクターのNNからの出力は方策(取り得る行動)であり、クリティックのNNからの出力は状態価値である。一例として、アクターの隠れ層411は、例えば、5層のネットワーク構造で構成され、クリティックの隠れ層412は、例えば、3層のネットワーク構造で構成される。
アクターの出力層413は、例えば、22個のニューロンで構成され、クリティックの出力層414は、例えば、1個のニューロンで構成される。例えば、出力層413のニューロンの列はとりうる行動のリストに対応付けられており、各ニューロンが、行動をとるべきスコア或いは行動のとられる確率を表してよい。出力層413において各ニューロンの値が出力されると、これらの複数の行動のなかから、探索パラメータに応じて行動が選択される。例えば探索パラメータが確立εである場合、確率εでランダムに行動を選択し、確率1-εで最も高いスコアを示す行動を選択する。なお、ネットワークのニューロン数や層の数、ネットワーク構成は適宜変更することができ、他の構成を用いてもよい。
それぞれのニューラルネットワークを最適化するためにニューラルネットワークの重みパラメータを変更する必要がある。ニューラルネットワークの重みパラメータの変更は、例えば、予め定めた損失関数を用いて誤差逆伝搬により行われる。本実施形態では、アクターとクリティックの2つのネットワークが存在するため、予めアクターの損失関数Lactorとクリティックの損失関数Lcriticをそれぞれ用いる。それぞれのネットワークの重み付けパラメータは、例えば、各損失関数に対して所定の勾配降下方最適化手法(例えばRMSprop SGD)を用いることにより変更される。
制御部200は、フィードバックデータ(状態s)を学習データとしてデータ収集サーバ110に送信する。あるいは、制御部200は、当該フィードバックデータ(状態s)と対応するアクターの出力(行動a)と、報酬rt+1と、行動aの結果生じたフィードバックデータ(状態st+1)とを1セットの学習データとして、データ収集サーバ110に送信してもよい。この場合、以下の説明において、単にフィードバックデータを学習データとして送信する旨の説明は、当該1セットの情報を学習データとして送信することを意味するものとして読み替えてよい。
<イベントに応じた探索パラメータ設定処理の概要>
次に、図6を参照して、車両100のライフサイクルにおいて発生するイベントに応じてモデル処理部214に設定される探索パラメータの変化について説明する。
図6は、探索パラメータの値(縦軸)と時間(横軸)の関係を示しており、イベントが発生するごとに、探索パラメータの値が変化する様子を模式的に示している。探索パラメータは、強化学習アルゴリズムが確率εでランダムに行動を選択し、確率1-εで方策に従って行動を選択する場合の確率εの値に対応する。また、時間は車両のライフサイクルに係る時間を表す。
イベント1の発生が、例えば、車両の製造完了時であるとする。この場合、車両の製造完了時より前(例えば開発時)から車両のライフサイクルを定義し、この期間にモデル処理部214の学習モデルが強化学習を行うことを想定している。この場合、車両の製造完了時より前の時間については、車両が実際に走行する場合のほか、例えばサーバ上でシミュレーション等により強化学習を進めているような場合であってもよい。もちろん、時間の原点を車両の製造完了時として、その後のイベントとして、イベント1、イベント2・・が発生するものとしてもよい。
イベント1が発生するまでは、探索パラメータの値は値601となるように設定され、イベント1が発生したことに応じて、値602に設定される。イベント1が車両の製造完了である場合、このイベントが発生した後に設定される探索パラメータの値602は、イベント発生前に設定されている探索パラメータの値601より低い。そして、イベント発生前の探索パラメータと、イベント発生後の探索パラメータとが非連続となる探索パラメータが設定される。これは、イベント1が発生するまでに学習が進み、学習モデルの精度が向上していると考えられることから、イベント発生を契機として強化学習の探索的な要素を一段階下げることを意味する。但し、製造完了後も引き続き学習データの収集において探索的な要素を残し、ばらつきを含んだ学習データを収集するため、探索パラメータは0には設定しない。
同様に、順に、イベント2とイベント3が発生すると、その度に探索パラメータの値が引き下げられ、最終的にはt3以降では探索パラメータの値が0に設定されてもかまわない。イベント2やイベント3は、上述したように、例えば、車両100の走行が製造完了から所定走行距離に達した場合や、学習モデルのバージョンが所定回数だけ更新された場合である。図6に示す例では、イベント3は、十分に学習モデルの精度が向上していると判定されるイベントに相当する。
なお、上記説明では、探索パラメータが値601~603のように、一定の値をとる場合を例に説明した。しかし、曲線604~606が示すように、2つのイベントの間の探索パラメータは、時刻経過、収集した学習データの量、或いは走行処理などの値に応じた関数の値として変化するものでもよい。この場合、曲線604~606に示す探索パラメータの値は、イベントの発生時において不連続となるように変化する。このようにすれば、例えば、イベント1とイベント2との間が長い時間(例えば、年単位で)空くような場合に、探索パラメータの値を車両の状態に応じて徐々に変化させることができる。
探索パラメータは、例えば、所定の形式のテーブルによって、イベントと関連付けられていてよい。図11は、イベントと探索パラメータの値との対応付けを説明するための図である。この例では、イベント1~イベント3(イベント1101の列)に対して、それぞれの探索パラメータの値(探索パラメータ1102の列)が関連付けられている。車両の製造完了時が1つ目のイベントとして定義され、探索パラメータの値がそれ以前より低下するように設定されている。そして、この例では、車両が所定の走行距離の閾値以上走行すると、探索パラメータが段階的に引き下げられ、例えば、最終的にはゼロに設定される。
データ収集サーバ110は、当該テーブルを予め記憶しておき、車両100からイベントの情報を受信すると、当該テーブルを参照して対応する探索パラメータの値を取得し、車両100に送信する。車両100は、データ収集サーバ110から受信した探索パラメータをモデル処理部214に設定して、強化学習アルゴリズムを実行する。
<車両におけるダンパ制御処理の一連の動作>
次に、車両におけるダンパ制御処理の一連の動作について、図7を参照して説明する。なお、本処理は、図3の説明において時刻tのフィードバックデータが得られた時点から開始される。なお、モデル処理部214の動作は、例えば5Hzの動作周波数で行われるものとする。また、本処理では、例えば、初期の探索パラメータがモデル処理部214に設定されている。更に、モデル処理部214およびアクター401などの制御部200内の構成による処理は、CPU210がROM212に格納されたプログラムをRAM211に展開、実行することにより実現される。
S701において、アクター401は、データ入力部213からフィードバックデータを受け付けて、方策π(s,a)に基づき行動(a)を出力する。このとき、モデル処理部214は、アクター401の出力した行動(出力層413に相当)から、設定されている探索パラメータに応じて、行動を選択する。そして選択した行動に対応する制御変数を出力する。
S702において、ダンパ制御部106は、モデル処理部214からの制御変数を受け付けると、ダンパ制御部106の内部で用いられている制御変数を、モデル処理部214から取得した新たな制御変数に置き換える。そして、ダンパ制御部106は、置き換えた制御変数をフィードバックデータに適用することにより、ダンパ107の特性を制御する。なお、図7に示すフローチャートでは、簡単のため、S702とS703のステップは、時刻tに対して1回分の制御として記載されている。しかし、ダンパ制御部106は、例えば1KHxの速度で取得可能なフィードバックデータに対し、ダンパ特性を、例えば、100Hzの動作周波数で制御し、当該動作周波数で制御量(ダンパ107の減衰力を制御するための電流量)を制御することができる。この場合、実際には、時刻t+1までに、S702とS703の処理が繰り返され得る。S703において、ダンパ制御部106は、算出した制御量(例えば電流量)をダンパに供給してダンパ107の特性を制御する。
S704において、センサ部101は、時刻t+1までフィードバックデータを(例えば1KHzの動作周波数で)取得する。
S705において、データ入力部213は、フィードバックデータに上述した前処理を適用する。S706において、報酬決定部215は、時刻t+1におけるフィードバックデータに基づいて、上述した報酬(rt+1)を決定し、クリティック402に出力する。S707において、クリティック402は、アクター401の方策を改善するための、上述した方策改善(例えばTD誤差)を算出して、アクター401に入力する。
S708において、アクター401は、S707における方策改善に基づいて方策π(s,a)を更新する。アクター401は、例えば、p(s,a)をp(s,a)+βδで置き換えるように方策を更新する。S709のおいて、クリティック402は、状態価値関数V(s)を、例えばV(s)+αδ(αはステップサイズパラメータ)で置き換えて更新する。クリティック402が状態価値関数を更新すると、その後、本処理は終了する。本実施形態では、時刻tから時刻t+1における動作を例に説明したが、図7に示す一連の動作を繰り返して、所定の条件を満たした場合に一連の処理を終了するようにしてもよい。
<車両における探索パラメータ設定処理の一連の動作>
次に、車両における探索パラメータ設定処理の一連の動作について、図8を参照して説明する。なお、本処理は、図3の説明において時刻tのフィードバックデータが得られた時点から開始され、図7を参照して説明したダンパ制御処理と独立して並列に実行される。本処理は、CPU210がROM212に格納されたプログラムをRAM211に展開、実行することにより実現される。
S801において、データ入力部213は、センサ部101からのフィードバックデータに基づいて、上述の加工したフィードバックデータを取得する。このフィードバックデータは実環境における学習データとして収集され、必要に応じて記憶部108に一時的に記憶される。S802において、制御部200は、記憶部108に一時的に記憶されたフィードバックデータを学習データとして、順次、データ収集サーバ110に送信する。
S803において、イベント検知部217は、車両100において所定のイベントが発生したかを判定する。例えば、イベント検知部217は、車両100における所定の機能のアクティベーションされた場合や、ROM212に製造完了を示す所定のバージョンを示す情報が記憶された場合に、車両の製造完了を検知する。或いは、ユーザ操作に基づいて、製造完了或いは車両登録に関する情報が入力された場合に、車両の製造完了や車両登録を検知してもよい。
また、イベント検知部217は、ROM212或いは記憶部108に記憶される走行距離の情報を参照して、当該走行距離が所定の走行距離を超えている場合に、対応するイベントを検知する。このほか、送信した学習データのデータ量をカウントし、所定のデータ量が超えた場合に、対応するイベントを検出してもよい。或いは、所定の時点(例えば車両100の初期の車両モデルの販売開始時や、車両100そのものの製造完了時など)からの経過時間が経過している場合に、対応するイベント検知する。制御部200は、イベント検知部217がイベントを検知した場合、処理をS804に進め、そうでないと判定した場合には、S801に処理を戻す。
S804において、制御部200は、検知したイベントを示すイベント情報をデータ収集サーバ110に送信する。イベント情報は、例えば、イベントに予め割り当てられているイベントの識別子である。
S805において、探索パラメータ設定部216は、データ収集サーバ110から送信される探索パラメータを取得して、モデル処理部214に設定する。取得する探索パラメータは、例えば、図11を参照して説明した探索パラメータの値(探索パラメータ1102)が含まれる。
S806において、モデル処理部214は、ニューラルネットワークの演算を実行し、新たな探索パラメータを用いて行動を選択する。そして、選択した行動に対応する制御変数を出力する。このとき、モデル処理部214は、ランダムに選択した行動に基づく制御変数が安全上許容できるか否かを判定し、許容できないと判定した場合には当該制御変数をフィルタアウトすることができる。安全上許容できるか否かの判定は、予め実験等で定めた判定条件を用いるようにすればよい。このようにすれば、実環境においてランダムな行動の選択によって突飛な出力が選択される場合であっても安全な制御を担保することができる。
S807において、制御部200は、車両制御を終了するかを判定し、終了すると判定する場合、その後、本一連の処理を終了する。そうでない場合には、処理をS801に戻して処理を繰り返す。
このように、本実施形態では、強化学習を用いて制御を行う車両において、車両のライフサイクルにおけるイベントを検知すると、当該イベントに応じて特定される探索パラメータを、強化学習における探索の割合を調整する値として設定する。そして、設定された探索パラメータに従って強化学習を用いた処理を実行する。このとき、第1のイベントが検知された場合、第1のイベントの後である第1の期間に設定される探索の割合を、第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする探索パラメータを設定する。このようにすることで、車両の制御において、車両のライフサイクルにおいて強化学習における探索と活用を継続的に両立することが可能になる。
<データ収集サーバの構成>
次に、情報処理サーバの一例としてのデータ収集サーバの機能構成例について、図9を参照して説明する。なお、以降の図を参照して説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、ハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。
制御部900は、例えば、CPU910、RAM911、ROM912を含み、データ収集サーバ110の各部の動作を制御する。制御部900は、CPU910がROM912に格納されたコンピュータプログラムを、RAM911に展開、実行することにより、制御部900を構成する各部の機能を発揮させる。
イベント情報取得部913は、車両100から送信されたイベント情報を(通信部901を介して)取得する。探索パラメータ制御部914は、イベント情報取得部913によって取得されたイベントに対応する探索パラメータを特定する。探索パラメータ制御部914は、特定した探索パラメータを、イベント情報を送信した車両に送信する。
モデル提供部915は、車両100のモデル処理部214に設定される強化学習アルゴリズムの学習モデルをバージョンアップする際に、車両100にモデル情報を提供する。モデル情報は、当該学習モデルのバージョンやニューラルネットワークの重み付けパラメータなどを含む。モデル提供部915は、車両100から収集された学習データを用いてサーバ上で学習モデルの最適化を行って、学習モデルのバージョンアップを行うことができる。
通信部901は、例えば通信用回路等を含む通信デバイスであり、例えばインターネットなどのネットワークを通じて、車両と通信する。通信部901は、車両から送信されるフィードバックデータ(学習データ)の情報とを受信し、探索パラメータの情報(或いは学習モデルの情報)を車両100に送信する。電源部902は、データ収集サーバ110内の各部に電力を供給する。
記憶部903は、ハードディスクや半導体メモリなどの不揮発性メモリである。記憶部903は、車両から送信された、上述した学習データの情報を格納するDB111を含む。
<データ収集サーバにおける探索パラメータ送信処理の一連の動作>
次に、図10を参照して、データ収集サーバ110における探索パラメータ送信処理の一連の動作について説明する。なお、本処理は、制御部900のCPU910が、ROM912に記憶されたプログラムをRAM911に展開、実行することにより実現される。
S1001において、イベント情報取得部913は、車両100から送信された学習データを通信部901を介して取得し、記憶部903のDB111に蓄積する。S1002において、制御部900は、車両100からイベント情報を受信したかを判定する。制御部900は、イベント情報を受信した場合、S1003に処理を進め、そうでない場合、S1001に処理を戻す。
S1003において、探索パラメータ制御部914は、イベント情報取得部913によって取得されたイベントに対応する探索パラメータを特定する。例えば、予め定められたイベントIDに基づいて、イベントに関連付けられた探索パラメータの値を特定する。
S1004において、探索パラメータ制御部914は、特定した探索パラメータを、イベント情報を送信した車両100に送信する。データ収集サーバ110は、車両100に探索パラメータを送信すると、その後、本処理を終了する。
このように、データ収集サーバ110は、車両から送信されたイベント情報に基づいて強化学習の探索の確率を定義する探索パラメータを特定し、特定した探索パラメータを車両に提供するようにした。このようにすることで、データ収集サーバ110は、実環境において走行している多数の車両の探索パラメータの制御を一元管理することが可能になる。
<その他の実施形態>
上述の実施形態では、車両100の制御部200において、フィードバックデータを取得し、強化学習を用いて方策を算出したうえで探索の確率に応じた方策を選択し、制御変数を出力するようにした。しかしながら、当該制御部200の処理をデータ収集サーバ110側で行ってもよい。すなわち、車両がフィードバックデータをデータ送信サーバに送信する。データ収集サーバ110は、受信したフィードバックデータに対し強化学習を用いて方策を算出したうえで探索の確率に応じた方策を選択し、当該方策に応じた制御変数を車両100に対して出力する。この場合、図7を参照して説明した各ステップ、及び、図8を参照して説明した各ステップを、データ収集サーバ110の制御部900が実施すればよい。S803におけるイベント検出は、イベント検知に必要な情報を車両100から受信してもよい。例えば、データ収集サーバ110がイベントの検知部を備え、車両から製造完了や車両登録の情報を受信したり、車両からの学習データのデータ量をカウントしたり、所定の時点からの経過時間をカウントしてもよい。
上述の実施形態では、車両100が検出したイベント情報をデータ収集サーバ110に送信し、サーバ側でイベント情報に基づく探索パラメータを特定するようにした。しかし、本実施形態は、この例に限定されず、車両100が、検出したイベントに基づいて、探索パラメータを特定するようにしてもよい。この場合、車両100は、イベントと探索パラメータとを関連付けたテーブルを、例えば、ROM212などに記憶しておき、イベントの発生を検知したことに応じて、当該テーブルを参照して探索パラメータを特定してもよい。このようにすれば、車両内において、イベントに応じた探索パラメータの制御が完結する利点がある。
また、上述の実施形態では、データ収集サーバ110が、全ての車両に共通である、予め定められたイベントと探索パラメータに係るテーブルを用いて、受信したイベントに対する探索パラメータを特定した。これに対し、データ収集サーバ110は、上記イベントと探索パラメータとを関連付けたテーブルを、個別の車両ごとに管理し、個別の車両ごとに、イベントに対する探索パラメータの値が異なるようにしてもよい。一例として、図11に示した例のように、イベントが走行距離に関するものである場合(例えば、所定の走行距離(TH1)以上走行)、当該イベント発生までに要した時間が所定時間より長い場合には、探索パラメータが少なくなるように補正するようにしてもよい。例えば、標準的な期間でイベント2が発生する車両よりも、より長時間かかってイベント2が発生した場合には探索パラメータの値を0.02より小さくなるように補正する。こうすることで、いつまでも探索パラメータの値が大きく設定される車両の数を減らすような、個別の車両の状態に応じたコントロールを実現することができる。
或いは、データ収集サーバ110は、探索パラメータの値を、車両のモデル(型式)に応じて異ならせてもよい。既に類似する車両のモデルについて十分なデータが収集されており、その車両のモデルに用いる強化学習アルゴリズムの性能が十分に最適化されている場合には、対象モデルの探索パラメータを小さく設定してもよい。
<実施形態のまとめ>
1.上記実施形態の制御装置(例えば、200或いは100)は、
所定システムのライフサイクルにおけるイベントを検知する検知手段(例えば、217)と、
イベントが検知されたことに応じて、検出されたイベントに応じて特定される探索パラメータを、強化学習における探索の割合を調整する値として設定する設定手段(例えば、216)と、
設定された探索パラメータに従って強化学習を用いた所定システムに対する所定の制御を実行する処理手段(例えば、214)と、を有し、
設定手段は、第1のイベントが検知された場合、第1のイベントの後である第1の期間に設定される探索の割合を、第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする探索パラメータを設定する。
この実施形態によれば、所定システム(例えば車両)に対する制御において、所定システムのライフサイクルにおいて強化学習における探索と活用を継続的に両立することが可能になる。
2.上記実施形態では、
設定手段は、第1の期間に設定される探索の割合を非ゼロとする探索パラメータを設定する。
この実施形態によれば、イベントが検知された後の期間であっても、引き続き学習データの収集において探索的な要素を残すことができる。
3.上記実施形態では、
設定手段は、第1の期間に設定される探索の割合と、第2の期間に設定されていた探索の割合とが非連続となる探索パラメータを設定する。
この実施形態によれば、探索パラメータをイベントの発生に応じて段階的に引き下げることができる。
4.上記実施形態では、
イベントは、所定システムに対する手続きの完了、所定システムの特定の使用状態への到達、及び、所定システムを制御する構成要素の更新の少なくともいずれかを含む。
この実施形態によれば、所定システム(例えば車両)のライフサイクルにおける多様な種類のイベントを扱うことができ、これらのイベントの発生に応じて、探索の割合を変化させることができる。
5.上記実施形態では、
車両に対する手続きの完了は、所定システムの製造完了、及び、所定システムの登録完了の少なくともいずれかを含む。
この実施形態によれば、いくつかの所定システム(例えば車両)に対する手続に応じて、探索パラメータを制御することができる。例えば、車両の製造を完了すると、それ以前の開発段階で設定していた探索パラメータを、イベント後に低下させることができる。
6.上記実施形態では、
所定システムの特定の使用状態への到達は、所定の時点からの所定日数の経過、所定の時点からの所定走行距離の走行の少なくともいずれかを含む。
この実施形態によれば、経過日数や走行距離などの所定システムの特定の使用状態に応じて、探索パラメータを制御することができる。
7.上記実施形態では、
所定システムを制御する構成要素の更新は、強化学習に用いられる学習モデルのバージョンの更新を含む。
この実施形態によれば、強化学習に用いられる学習モデルのバージョンの更新に応じて、探索パラメータを制御することができる。
8.上記実施形態では、
検出されたイベントに応じて、前記探索パラメータを特定する特定手段を更に有する。
この実施形態によれば、所定システムにおいて、イベントに応じた探索パラメータを特定することができる。
9.上記実施形態では、
検出されたイベントを外部サーバに送信する送信手段(例えば、102)と、
イベントに応じて特定された探索パラメータを外部サーバから受信する受信手段(例えば、102)と、を更に有する。
この実施形態によれば、イベントに応じた探索パラメータを外部サーバにおいて行うことができ、車両にある計算機リソースを節約することができる。
10.上記実施形態では、
探索パラメータは、所定システムごと、又は所定システムのモデルごとに異なる。
この実施形態によれば、探索と活用の両立を個別の所定システム(例えば車両)ごと、又は所定システムのモデルごとに変化させることで、個々の所定システムの使用方法や、所定システムのモデルの特性に応じた探索パラメータを設定することができる。
11. 上記実施形態では、
処理手段によって実行される強化学習のモデルに対する入力情報と出力情報とを、学習データとして外部サーバに提供する。
この実施形態によれば、外部サーバに、強化学習の学習に有用である利用可能なばらつきのあるデータを送信することができる。
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
200…制御部、214…モデル処理部、216…探索パラメータ設定部、217…イベント検知部

Claims (16)

  1. 強化学習を用いて車両に対する所定の制御を行う制御装置であって、
    前記車両のライフサイクルにおけるイベントを検知する検知手段と、
    前記イベントが検知されたことに応じて、検知された前記イベントに応じて特定される探索パラメータを、前記強化学習における探索の割合を調整する値として設定する設定手段と、
    設定された前記探索パラメータに従って前記強化学習を用いた前記所定の制御を実行する処理手段と、を有し、
    前記設定手段は、前記車両の利用開始までの前記車両に対する手続きの完了又は前記車両を制御するための前記強化学習に用いられる学習モデルのバージョンの更新に関する第1のイベントが検知された場合、前記第1のイベントの後である第1の期間に設定される探索の割合を、前記第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする前記探索パラメータを設定する、ことを特徴とする制御装置。
  2. 前記設定手段は、前記第1の期間に設定される探索の割合を非ゼロとする前記探索パラメータを設定する、ことを特徴とする請求項1に記載の制御装置。
  3. 前記設定手段は、前記第1の期間に設定される探索の割合と、前記第2の期間に設定されていた探索の割合とが非連続となる前記探索パラメータを設定する、ことを特徴とする請求項1または2に記載の制御装置。
  4. 前記第1のイベントは、更に、前記車両の特定の使用状態への到達を含む、ことを特徴とする請求項1から3のいずれか1項に記載の制御装置。
  5. 前記第1のイベントは、前記車両の利用開始までの前記車両に対する手続きの完了を含み、当該手続きの完了は、前記車両の製造完了、及び、前記車両の登録完了の少なくともいずれかを含む、ことを特徴とする請求項1に記載の制御装置。
  6. 前記車両の特定の使用状態への到達は、所定の時点からの所定日数の経過、所定の時点からの所定走行距離の走行の少なくともいずれかを含む、ことを特徴とする請求項4に記載の制御装置。
  7. 前記第1のイベントは、前記車両を制御するための前記強化学習に用いられる学習モデルのバージョンの更新を含む、ことを特徴とする請求項1に記載の制御装置。
  8. 検知された前記イベントに応じて、前記探索パラメータを特定する特定手段を更に有する、ことを特徴とする請求項1から7のいずれか1項に記載の制御装置。
  9. 検知された前記イベントを外部サーバに送信する送信手段と、
    前記イベントに応じて特定された前記探索パラメータを前記外部サーバから受信する受信手段と、を更に有する、ことを特徴とする請求項1から7のいずれか1項に記載の制御装置。
  10. 前記探索パラメータは、車両ごと、又は車両のモデルごとに異なる、ことを特徴とする、請求項1から9のいずれか1項に記載の制御装置。
  11. 前記処理手段によって実行される前記強化学習のモデルに対する入力情報と出力情報とを、学習データとして外部サーバに提供する提供手段を更に有する、ことを特徴とする請求項1から10のいずれか1項に記載の制御装置。
  12. 強化学習を用いて車両に対する所定の制御を行う制御装置の制御方法であって、
    検知手段が、前記車両のライフサイクルにおけるイベントを検知する検知工程と、
    設定手段が、前記イベントが検知されたことに応じて、検知された前記イベントに応じて特定される探索パラメータを、前記強化学習における探索の割合を調整する値として設定する設定工程と、
    処理手段が、設定された前記探索パラメータに従って前記強化学習を用いた前記所定の制御を実行する処理工程と、を有し、
    前記設定工程では、前記車両の利用開始までの前記車両に対する手続きの完了又は前記車両を制御するための前記強化学習に用いられる学習モデルのバージョンの更新に関する第1のイベントが検知された場合、前記第1のイベントの後である第1の期間に設定される探索の割合を、前記第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする前記探索パラメータを設定する、ことを特徴とする制御装置の制御方法。
  13. コンピュータを、請求項1から11のいずれか1項に記載の制御装置の各手段として機能させるためのプログラム。
  14. 強化学習を用いて車両に対する所定の制御を行う情報処理サーバであって、
    前記車両のライフサイクルにおけるイベントを検知する検知手段と、
    前記イベントが検知されたことに応じて、検知された前記イベントに応じて特定される探索パラメータを、前記強化学習における探索の割合を調整する値として設定する設定手段と、
    設定された前記探索パラメータに従って前記強化学習を用いた前記所定の制御のための処理を実行する処理手段と、
    前記処理手段による処理結果を前記車両に送信する送信手段と、を有し、
    前記設定手段は、前記車両の利用開始までの前記車両に対する手続きの完了又は前記車両を制御するための前記強化学習に用いられる学習モデルのバージョンの更新に関する第1のイベントが検知された場合、前記第1のイベントの後である第1の期間に設定される探索の割合を、前記第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする前記探索パラメータを設定する、ことを特徴とする情報処理サーバ。
  15. 情報処理サーバで実行される、強化学習を用いて車両に対する所定の制御を行う情報処理方法であって、
    検知手段が、前記車両のライフサイクルにおけるイベントを検知する検知工程と、
    設定手段が、前記イベントが検知されたことに応じて、検知された前記イベントに応じて特定される探索パラメータを、前記強化学習における探索の割合を調整する値として設定する設定工程と、
    処理手段が、設定された前記探索パラメータに従って前記強化学習を用いた前記所定の制御のための処理を実行する処理工程と、
    送信手段が、処理工程における処理結果を前記車両に送信する送信工程と、を有し、
    前記設定工程では、前記車両の利用開始までの前記車両に対する手続きの完了又は前記車両を制御するための前記強化学習に用いられる学習モデルのバージョンの更新に関する第1のイベントが検知された場合、前記第1のイベントの後である第1の期間に設定される探索の割合を、前記第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする前記探索パラメータを設定する、ことを特徴とする情報処理方法。
  16. 強化学習を用いて車両に対する所定の制御を行う制御装置と、情報処理サーバとを含む制御システムであって、
    前記制御装置は、
    前記車両のライフサイクルにおけるイベントを検知する検知手段と、
    前記イベントが検知されたことに応じて、検知された前記イベントを前記情報処理サーバに送信する第1の送信手段と、
    前記情報処理サーバから受信した、前記イベントに応じて特定された探索パラメータを、前記強化学習における探索の割合を調整する値として設定する設定手段と、
    設定された前記探索パラメータに従って前記強化学習を用いた前記所定の制御を実行する処理手段と、を有し、
    前記設定手段は、前記車両の利用開始までの前記車両に対する手続きの完了又は前記車両を制御するための前記強化学習に用いられる学習モデルのバージョンの更新に関する第1のイベントが検知された場合、前記第1のイベントの後である第1の期間に設定される探索の割合を、前記第1のイベントが検知される前の第2の期間に設定されていた探索の割合より小さくする前記探索パラメータを設定する、制御装置と、
    前記情報処理サーバは、
    前記イベントに応じて、前記探索パラメータを特定する特定手段と、
    特定した前記探索パラメータを前記車両に送信する第2の送信手段と、を有する、ことを特徴とする制御システム。
JP2019233323A 2019-12-24 2019-12-24 制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システム Active JP7357537B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019233323A JP7357537B2 (ja) 2019-12-24 2019-12-24 制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システム
US17/106,458 US11934951B2 (en) 2019-12-24 2020-11-30 Control apparatus, control method for control apparatus, non-transitory computer readable storage medium, information processing server, information processing method, and control system for controlling system using reinforcement learning
CN202011398791.XA CN113022582B (zh) 2019-12-24 2020-12-02 控制装置、控制装置的控制方法、记录介质、信息处理服务器、信息处理方法以及控制***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019233323A JP7357537B2 (ja) 2019-12-24 2019-12-24 制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システム

Publications (2)

Publication Number Publication Date
JP2021103356A JP2021103356A (ja) 2021-07-15
JP7357537B2 true JP7357537B2 (ja) 2023-10-06

Family

ID=76437236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019233323A Active JP7357537B2 (ja) 2019-12-24 2019-12-24 制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システム

Country Status (3)

Country Link
US (1) US11934951B2 (ja)
JP (1) JP7357537B2 (ja)
CN (1) CN113022582B (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017167866A (ja) 2016-03-17 2017-09-21 株式会社ジェイテクト 工作機械用管理システム
US20180165602A1 (en) 2016-12-14 2018-06-14 Microsoft Technology Licensing, Llc Scalability of reinforcement learning by separation of concerns
JP2018152012A (ja) 2017-03-15 2018-09-27 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP2018151876A (ja) 2017-03-13 2018-09-27 株式会社日立製作所 機械学習に使用される経験を格納する経験データベースを更新する方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10328980A (ja) * 1997-05-27 1998-12-15 Sony Corp 工程管理装置及び方法
US6917925B2 (en) 2001-03-30 2005-07-12 Intelligent Inference Systems Corporation Convergent actor critic-based fuzzy reinforcement learning apparatus and method
DE102017105377A1 (de) 2016-03-17 2017-09-21 Jtekt Corporation Steuerkonsole für Werkzeugmaschinen und Verwaltungssystem für Werkzeugmaschinen
WO2018057978A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Decision making for autonomous vehicle motion control
US10296004B2 (en) * 2017-06-21 2019-05-21 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous operation for an autonomous vehicle objective in a multi-vehicle environment
US10235881B2 (en) * 2017-07-28 2019-03-19 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous operation capability configuration for a vehicle
WO2019088989A1 (en) * 2017-10-31 2019-05-09 Nissan North America, Inc. Reinforcement and model learning for vehicle operation
JP6845529B2 (ja) 2017-11-08 2021-03-17 本田技研工業株式会社 行動決定システム及び自動運転制御装置
CN109960246B (zh) * 2017-12-22 2021-03-30 华为技术有限公司 动作控制方法及装置
JP6748135B2 (ja) * 2018-03-19 2020-08-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
US11086317B2 (en) * 2018-03-30 2021-08-10 Intel Corporation Emotional adaptive driving policies for automated driving vehicles
US10990096B2 (en) 2018-04-27 2021-04-27 Honda Motor Co., Ltd. Reinforcement learning on autonomous vehicles
US11480972B2 (en) * 2018-11-13 2022-10-25 Qualcomm Incorporated Hybrid reinforcement learning for autonomous driving

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017167866A (ja) 2016-03-17 2017-09-21 株式会社ジェイテクト 工作機械用管理システム
US20180165602A1 (en) 2016-12-14 2018-06-14 Microsoft Technology Licensing, Llc Scalability of reinforcement learning by separation of concerns
JP2018151876A (ja) 2017-03-13 2018-09-27 株式会社日立製作所 機械学習に使用される経験を格納する経験データベースを更新する方法
JP2018152012A (ja) 2017-03-15 2018-09-27 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法

Also Published As

Publication number Publication date
US11934951B2 (en) 2024-03-19
CN113022582B (zh) 2024-02-13
US20210192344A1 (en) 2021-06-24
JP2021103356A (ja) 2021-07-15
CN113022582A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN112805198B (zh) 用于自主驾驶的个人驾驶风格学习
US20210023905A1 (en) Damper control system, vehicle, information processing apparatus and control method thereof, and storage medium
JP2005310114A (ja) ソフト演算最適化装置を用いた自動二輪車のためのインテリジェントロバスト制御システム
US11579574B2 (en) Control customization system, control customization method, and control customization program
WO2021129156A1 (zh) 智能汽车的控制方法、装置和控制***
KR102166811B1 (ko) 심층강화학습과 운전자보조시스템을 이용한 자율주행차량의 제어 방법 및 장치
CN115257809A (zh) 一种人在环的自动驾驶车辆交互学习控制方法及设备
CN113901718A (zh) 一种跟驰状态下基于深度强化学习的驾驶避撞优化方法
Selvaraj et al. An ML-aided reinforcement learning approach for challenging vehicle maneuvers
EP3640857B1 (en) Method, vehicle, system, and storage medium for indicating anomalous vehicle scenario using encoder network and discriminator network intermediate layer activation
JP7357537B2 (ja) 制御装置、制御装置の制御方法、プログラム、情報処理サーバ、情報処理方法、並びに制御システム
CN113264064A (zh) 用于交叉路口场景的自动驾驶方法及相关设备
Sherif et al. Optimal control of lane keeping system using simulated annealing and linear quadratic regulator
CN115700626A (zh) 用于车辆的奖励函数
CN114148349A (zh) 一种基于生成对抗模仿学习的车辆个性化跟驰控制方法
CN110789521A (zh) 车轮碰撞检测
US20220036183A1 (en) Method and device for the fusion of sensor signals using a neural network
US20240017766A1 (en) System and method for reinforcement learning of steering geometry
WO2023156017A1 (en) Method and device for controlling a technical system in real time
WO2023107102A1 (en) System and method for modifying vehicular steering geometry guided by intelligent tires
CN117148716A (zh) 模型训练及基于神经网络模型的车辆控制的方法、装置
CN117227754A (zh) 一种针对环岛通行的自动驾驶决策模型构建方法
CN117962921A (zh) 车辆轨迹规划方法、装置、计算机设备及存储介质
CN114756025A (zh) 一种自主小车巡航控制方法及装置
CN116968493A (zh) 自动驾驶车辆的悬架控制方法、装置、车辆和介质

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

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: 20230828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230926

R150 Certificate of patent or registration of utility model

Ref document number: 7357537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150