(57)【要約】      （修正有）【課題】自動操縦ロボットの制御装置及び制御方法を提供する。【解決手段】車両２の走行状態を取得する走行状態取得部２２と、第１の時刻における走行状態を基に、第１学習モデル４０により、第１の時刻より後の車両２の操作の内容を推論する操作内容推論部３１と、操作の内容に基づき自動操縦ロボット４を制御する車両操作制御部２３と、を備え、走行状態は、車両２において検出された車速と、走行状態が取得された時刻における指令車速を含み、第１学習モデル４０は、操作の内容に基づいた自動操縦ロボット４の操作の後の、第１の時刻より後の第２の時刻における走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習されている。【選択図】図２
2020056737.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、
前記車両の走行状態を取得する走行状態取得部と、
第１の時刻における前記走行状態を基に、第１学習モデルにより、前記第１の時刻より後の前記車両の操作の内容を推論する操作内容推論部と、
前記操作の内容に基づき前記自動操縦ロボットを制御する車両操作制御部と、
を備え、
前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、
前記第１学習モデルは、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第１の時刻より後の第２の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習されている、自動操縦ロボットの制御装置。
【請求項２】
前記操作の対象は、アクセルペダルとブレーキペダルを含み、前記走行状態は、アクセルペダルとブレーキペダルの検出量を含む、請求項１に記載の自動操縦ロボットの制御装置。
【請求項３】
前記アクセルペダル及び前記ブレーキペダルの前記検出量の変化が小さいほど値が大きくなるように設定された第１要素が計算され、当該第１要素を基に前記報酬が計算されている、請求項２に記載の自動操縦ロボットの制御装置。
【請求項４】
時間軸と、前記アクセルペダルまたは前記ブレーキペダルの前記検出量を軸とする座標系上で、前記検出量を関数として表現した際に、前記関数の一階微分または二階微分の値を基に、前記第１要素が計算されている、請求項３に記載の自動操縦ロボットの制御装置。
【請求項５】
前記関数の一階微分または二階微分の最大値の絶対値が所定の閾値以下であれば、前記第１要素が正の値となるように、かつ、前記最大値の絶対値が前記所定の閾値よりも大きければ、前記第１要素が負の値となるように、前記第１要素が計算されている、請求項４に記載の自動操縦ロボットの制御装置。
【請求項６】
時間軸と、前記アクセルペダルまたは前記ブレーキペダルの前記検出量を軸とする座標系上で、前記検出量を関数として表現した際に、前記関数の積分量が小さいほど値が大きくなるように設定された積分要素が計算され、当該積分要素を基に前記報酬が計算されている、請求項２に記載の自動操縦ロボットの制御装置。
【請求項７】
前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第２の時刻における前記検出された車速と前記指令車速との差が小さいほど値が大きくなるように設定された第２要素が計算され、当該第２要素を基に前記報酬が計算されている、請求項１から６のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項８】
前記操作内容推論部は、前記第１の時刻以降の複数の時刻における前記操作の内容を推論する、請求項１から７のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項９】
前記第１学習モデルは、前記報酬を基に前記操作の内容を評価して前記操作の内容の評価値を計算する第２学習モデルによって計算された、前記評価値を基に、前記評価値がより高い前記操作の内容を推論するように学習されている、請求項１から８のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項１０】
前記第２学習モデルは、前記第１学習モデルにより出力された前記操作の内容を入力とし、前記報酬が大きいほど高い前記評価値を出力するように学習され、
これら前記第１学習モデルと前記第２学習モデルの学習が繰り返されることにより、前記第１学習モデルと前記第２学習モデルは強化学習されている、請求項９に記載の自動操縦ロボットの制御装置。
【請求項１１】
車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御方法であって、
前記車両の走行状態を取得し、前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、
第１の時刻から、当該第１の時刻より後の前記車両の操作の内容を推論する第１学習モデルであって、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第１の時刻より後の第２の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように報酬を計算し、前記報酬を基に強化学習された前記第１学習モデルにより、前記第１の時刻における前記走行状態を基に、前記車両の操作の内容を推論し、
前記操作の内容に基づき前記自動操縦ロボットを制御する、自動操縦ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両を走行させる自動操縦ロボットの制御装置及び制御方法に関する。
【背景技術】
【０００２】
一般に、普通自動車などの車両を製造、販売する際には、国や地域により規定された、特定の走行パターン（モード）により車両を走行させた際の燃費や排出ガスを測定し、これを表示する必要がある。
モードは、例えば、走行開始から経過した時間と、その時に到達すべき車速との関係として、グラフにより表わすことが可能である。この到達すべき車速は、車両へ与えられる達成すべき速度に関する指令という観点で、指令車速と呼ばれることがある。
上記のような、燃費や排出ガスに関する試験は、シャシーダイナモメータ上に車両を載置し、車両に搭載された自動操縦ロボット、所謂ドライブロボット（登録商標）により、モードに従って車両を運転させることにより行われる。
【０００３】
指令車速には、許容誤差範囲が規定されている。車速が許容誤差範囲を逸脱すると、その試験は無効となるため、自動運転装置には、指令車速への高い追従性が求められる。
これに対し、特許文献１には、車速追従性を高め、事前に行う設定を容易にすることを目的とした、車両速度制御装置が開示されている。
特許文献１の車両速度制御装置は、例えばＰＩＤ制御則等の、既知のフィードバック制御則に基づいている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１５６６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、車両の試験は、燃費や排出ガスの測定を目的の一つとして行われる。
特許文献１のような、フィードバック制御に基づく指令車速への追従制御においては、指令車速に追従させつつ、燃費や排ガス性能をも同時に考慮した車両の操作、例えばアクセルペダルやブレーキペダルの操作量を計算することは、容易ではない。すなわち、燃費や排ガス性能を適切に考慮できないために、指令車速に追従させようとするあまり、例えばアクセルペダルやブレーキペダルを大きく操作したり、小刻みな操作を繰り返したりすることがある。この場合には、車両が備える本来の燃費や排ガス性能よりも、悪い性能が測定される可能性がある。
【０００６】
本発明が解決しようとする課題は、指令車速に高い精度で追従させつつ、燃費や排ガス性能を考慮して車両を操作可能な、自動操縦ロボット（ドライブロボット）の制御装置及び制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するため、以下の手段を採用する。すなわち、本発明は、車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、前記車両の走行状態を取得する走行状態取得部と、第１の時刻における前記走行状態を基に、第１学習モデルにより、前記第１の時刻より後の前記車両の操作の内容を推論する操作内容推論部と、前記操作の内容に基づき前記自動操縦ロボットを制御する車両操作制御部と、を備え、前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、前記第１学習モデルは、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第１の時刻より後の第２の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習されている、自動操縦ロボットの制御装置を提供する。
【０００８】
また、本発明は、車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御方法であって、前記車両の走行状態を取得し、前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、第１の時刻から、当該第１の時刻より後の前記車両の操作の内容を推論する第１学習モデルであって、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第１の時刻より後の第２の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように報酬を計算し、前記報酬を基に強化学習された前記第１学習モデルにより、前記第１の時刻における前記走行状態を基に、前記車両の操作の内容を推論し、前記操作の内容に基づき前記自動操縦ロボットを制御する、自動操縦ロボットの制御方法を提供する。
【発明の効果】
【０００９】
本発明によれば、指令車速に高い精度で追従させつつ、燃費や排ガス性能を考慮して車両を操作可能な、自動操縦ロボット（ドライブロボット）の制御装置及び制御方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態における、自動操縦ロボット（ドライブロボット）を用いた試験環境の説明図である。
【図２】上記実施形態における自動操縦ロボットの制御装置のブロック図である。
【図３】上記制御装置に設けられた第１学習モデルのブロック図である。
【図４】上記第１学習モデルの強化学習に用いられる、第２学習モデルのブロック図である。
【図５】上記自動操縦ロボットを制御する制御方法における、学習時のフローチャートである。
【図６】上記自動操縦ロボットの制御方法の、学習時における走行データ収集ステップの、詳細なフローチャートである。
【図７】上記自動操縦ロボットの制御方法における、性能測定のために車両を走行制御させる際のフローチャートである。
【図８】上記実施形態の変形例における自動操縦ロボットの制御装置のブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照して詳細に説明する。
本実施形態における自動操縦ロボットの制御装置は、車両に搭載されて車両を走行させる自動操縦ロボットを、車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、車両の走行状態を取得する走行状態取得部と、第１の時刻における走行状態を基に、第１学習モデルにより、第１の時刻より後の車両の操作の内容を推論する操作内容推論部と、操作の内容に基づき自動操縦ロボットを制御する車両操作制御部と、を備え、走行状態は、車両において検出された車速と、走行状態が取得された時刻における指令車速を含み、第１学習モデルは、操作の内容に基づいた自動操縦ロボットの操作の後の、第１の時刻より後の第２の時刻における走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習されている。
本実施形態においては、自動操縦ロボットとしては、ドライブロボット（登録商標）を用いているため、以下、自動操縦ロボットをドライブロボットと記載する。
【００１２】
図１は、実施形態におけるドライブロボットを用いた試験環境の説明図である。試験装置１は、車両２、シャシーダイナモメータ３、及びドライブロボット４を備えている。
車両２は、床面上に設けられている。シャシーダイナモメータ３は、床面の下方に設けられている。車両２は、車両２の駆動輪２ａがシャシーダイナモメータ３の上に載置されるように、位置づけられている。車両２が走行し駆動輪２ａが回転する際には、シャシーダイナモメータ３が反対の方向に回転する。
ドライブロボット４は、車両２の運転席２ｂに搭載されて、車両２を走行させる。ドライブロボット４は、第１アクチュエータ４ｃと第２アクチュエータ４ｄを備えており、これらはそれぞれ、車両２のアクセルペダル２ｃとブレーキペダル２ｄに当接するように設けられている。
【００１３】
ドライブロボット４は、制御装置１０によって制御されている。より詳細には、制御装置１０は、ドライブロボット４の第１アクチュエータ４ｃと第２アクチュエータ４ｄを制御することにより、車両２のアクセルペダル２ｃとブレーキペダル２ｄの開度を変更、調整する。
制御装置１０は、ドライブロボット４を、車両２が規定された指令車速に従って走行するように制御する。すなわち、制御装置１０は、車両２のアクセルペダル２ｃとブレーキペダル２ｄの開度を変更することで、規定された走行パターン（モード）に従うように、車両１を走行制御する。より詳細には、制御装置１０は、走行開始から時間が経過するに従い、各時間に到達すべき車速である指令車速に従うように、車両２を走行制御する。
【００１４】
制御装置１０は、互いに通信可能に設けられた、ドライブロボット制御部２０と、学習部３０を備えている。
ドライブロボット制御部２０は、ドライブロボット４の制御を行うための制御信号を生成し、ドライブロボット４に送信することで、ドライブロボット４を制御する。学習部３０は、後に説明するような機械学習器に対して強化学習を行い、学習モデルを生成する。この学習モデルの出力を基に、ドライブロボット４の制御を行うための制御信号が生成される。
ドライブロボット制御部２０は、例えば、ドライブロボット４の筐体外部に設けられた、コントローラ等の情報処理装置である。学習部３０は、例えばパーソナルコンピュータ等の情報処理装置である。
【００１５】
図２は、制御装置１０のブロック図である。ドライブロボット制御部２０は、指令車速記憶部２１、走行状態取得部２２、及び車両操作制御部２３を備えている。学習部３０は、操作内容推論部３１、報酬計算部３２、強化学習部３３、及び学習用データ記憶部３４を備えている。
これら制御装置１０の構成要素のうち、走行状態取得部２２、車両操作制御部２３、操作内容推論部３１、報酬計算部３２、及び強化学習部３３は、例えば上記の各情報処理装置内のＣＰＵにより実行されるソフトウェア、プログラムであってよい。また、指令車速記憶部２１及び学習用データ記憶部３４は、上記各情報処理装置内外に設けられた半導体メモリや磁気ディスクなどの記憶装置により実現されていてよい。
【００１６】
後に説明するように、操作内容推論部３１は、ある時刻における走行状態を基に、当該時刻よりも後の車両２の操作の内容を推論する。この、車両２の操作の内容の推論を効果的に行うために、特に操作内容推論部３１は、後に説明するように機械学習器を備えており、推論した操作の内容に基づいたドライブロボット４の操作の後の時刻における走行状態に基づいて計算された報酬を基に機械学習器を強化学習して学習モデル（第１学習モデル）４０を生成する。操作内容推論部３１は、性能測定のために実際に車両２を走行制御させる際には、この学習が完了した第１学習モデル４０を使用して、車両２の操作の内容を推論する。
すなわち、制御装置１０は大別して、強化学習時における操作の内容の学習と、性能測定のために車両を走行制御させる際における操作の内容の推論の、２通りの動作を行う。説明を簡単にするために、以下ではまず、操作の内容の学習時における、制御装置１０の各構成要素の説明をした後に、車両の性能測定に際して操作の内容を推論する場合での各構成要素の挙動について説明する。
図２においては、各構成要素が太線と細線の２種類の矢印で結ばれて、データや処理の流れが示されている。車両の性能測定に際して操作の内容を推論する場合でのデータや処理の流れは、太線により示されている。操作の内容の学習時におけるデータや処理の流れは、太線と細線の双方の矢印により示されている。
【００１７】
まず、操作の内容の学習時における、ドライブロボット制御部２０の構成要素の挙動を説明する。
指令車速記憶部２１には、モードに関する情報に基づいて生成された、指令車速が記憶されている。モードは、例えば、走行開始から経過した時間と、その時に到達すべき車速との関係であり、したがって指令車速記憶部２１には、実際には、経過時間と指令車速の関係が表現された、例えばテーブルやグラフ、関数等が格納されている。
【００１８】
走行状態取得部２２は、現在時点における、車両２の走行状態を取得する。車両２の走行状態は、車両２に備えられた様々な図示されない計測器や、車両２を操作するドライブロボット４内に記録された操作実績から取得され得る。すなわち、車両２の走行状態は、現在時点における車両２の動作状況を数値化して表現したものであり、この値を取得する手段は、車両２の計測器による計測値に限られず、ドライブロボット４によって取得可能な値をも含む。
走行状態としては、前回の走行状態取得時刻からのアクセルペダル操作の、ドライブロボット４の操作実績中の操作量（以下、アクセルペダル検出量と呼称する）、前回の走行状態取得時刻からのブレーキペダル操作の、ドライブロボット４の操作実績中の操作量（以下、ブレーキペダル検出量と呼称する）、車両２において検出されたエンジン回転数（以下、エンジン回転数検出量と呼称する）、車両２において検出された車速（以下、検出車速と呼称する）を含む。
走行状態は、更に、当該走行状態が取得された時刻において、車両２が実現すべき指令車速を含む。
【００１９】
上記の走行状態の各々は、スカラー値であってもよいが、複数の値により実現されていてもよい。
走行状態の各々は、後述する機械学習器を学習させて学習モデル（第１学習モデル４０）を生成する際の入力として主に使用される。このため、走行状態の各々に関し、走行状態が取得された時点のみではなく、その前後の複数の時刻において値を取得し、機械学習器の入力とすることにより、過去の経過や将来の推測を活かしてより効果的に学習することができる可能性がある。
例えば、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速等の、車両２の状態を実際に観測、計測することにより取得される走行状態については、機械学習器の学習アルゴリズムにおいて使用する過去の観測データの参照時間を観測データ参照時間Ｔｏｂｓとすると、観測データ参照時間Ｔｏｂｓの系列として、複数の値を有していてもよい。
また、上記のような観測データとは異なり、指令車速記憶部２１に値が格納されており全ての時刻における値が随時参照可能な状態となっている指令車速については、機械学習器の学習アルゴリズムにおいて使用する将来の指令車速の参照時間を指令車速参照時間Ｔｒｅｆとすると、指令車速参照時間Ｔｒｅｆの系列として、複数の値を有していてもよい。
本実施形態においては、走行状態の各々は、複数の値により実現されている。
【００２０】
走行状態取得部２２は、車両２に備えられた様々な図示されない計測器やドライブロボット４内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部２２は、指令車速記憶部２１から、指令車速を取得する。
走行状態取得部２２は、これらの取得した走行状態を、学習部３０へ送信する。
【００２１】
車両操作制御部２３は、次に説明する操作内容推論部３１が、走行状態取得部２２が送信した送信状態を基に推論した、操作の内容を受信し、これを基にしてドライブロボット４を制御する制御信号を生成して、ドライブロボット４へ送信する。
【００２２】
次に、操作の内容の学習時における、学習部３０の構成要素の挙動を説明する。
学習部３０の操作内容推論部３１は、機械学習器を備えている。この機械学習器は、強化学習されることにより、第１学習モデル４０が生成される。第１学習モデル４０は、車両２の操作の内容を推論するのに使用される。すなわち、機械学習器は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される、適切な学習パラメータが学習された学習済みモデル４０を生成するものである。
学習部３０は、この機械学習器を強化学習するに際し、強化学習に必要な入力となる、走行データを蓄積する。制御装置１０が、学習がまだ終了していない、学習途中の機械学習器によって推論された操作の内容によって、一連のデータ収集を行う際における時間単位であるエピソードごとに車両２を走行制御することにより、走行データが蓄積される。この走行データにより機械学習器を強化学習した後に、この出力となる操作の内容を用いて再度走行データを蓄積し、機械学習器を再度学習する。このように、機械学習器を繰り返し更新することにより、最終的に強化学習された、学習済みの第１学習モデル４０が生成される。
以下、説明を簡単にするため、操作内容推論部３１が備えている機械学習器と、これが学習されて生成される学習モデルをともに、第１学習モデル４０と呼称する。
【００２３】
操作内容推論部３１は、ある時刻（第１の時刻）において、走行状態取得部２２から走行状態を受信すると、これを基に、学習中の第１学習モデル４０により、第１の時刻より後の車両２の操作の内容を推論する。
【００２４】
第１学習モデル４０は、所定の第１の時間間隔をおいて、車両２の操作の内容を推論する。この、第１学習モデル４０における推論の間隔を、以降、ステップ周期Ｔｓｔｅｐと呼称する。
ドライブロボット制御部２０は、後述するように、ドライブロボット４を制御する制御信号を、ドライブロボット４へと、所定の第２の時間間隔をおいて送信する。この、制御信号の送信間隔を制御周期Ｔｓとすると、ステップ周期Ｔｓｔｅｐは、制御周期Ｔｓと同等であってもよいし、制御周期Ｔｓよりも大きな値であってもよい。ステップ周期Ｔｓｔｅｐが制御周期Ｔｓよりも大きな値である場合には、第１学習モデル４０は、一度の推論により、ステップ周期Ｔｓｔｅｐに含まれる複数の制御周期Ｔｓに相当する、複数の、車両２の操作の内容を出力する。
本実施形態においては、操作内容推論部３１は、第１学習モデル４０によって、第１の時刻からステップ周期Ｔｓｔｅｐ後までの時間範囲内の、複数の制御周期Ｔｓに相当する複数の時刻における操作の内容を推論する。
【００２５】
また、第１学習モデル４０は、上記のように、第１の時刻より後の、少なくともステップ周期Ｔｓｔｅｐ後までの将来にわたる車両２の操作の内容を推論するが、この推論の対象となる時間間隔は、実際には、ステップ周期Ｔｓｔｅｐよりも大きくてもよい。すなわち、第１学習モデル４０は、実際には、ステップ周期Ｔｓｔｅｐ後までの時間範囲内における車両２の操作の内容を推論すると同時に、ステップ周期Ｔｓｔｅｐ後よりも更に将来の時刻における、車両２の操作の内容を推論してもよい。この、第１学習モデル４０によって推論する時間範囲を、行動出力時間Ｔｐｒｅｄと呼称する。この場合においては、操作内容推論部３１は、第１学習モデル４０によって、第１の時刻から行動出力時間Ｔｐｒｅｄ後までの時間範囲内の、複数の制御周期Ｔｓに相当する複数の時刻における操作の内容を推論する。
このようにした場合においては、第１学習モデル４０は、実際に車両２が操作されるステップ周期Ｔｓｔｅｐ後までの操作の内容を推測するに際し、ステップ周期Ｔｓｔｅｐよりも更に後の時刻における車両２の操作の内容を推測するため、将来の状況を見越した推測をするようになる可能性がある。
【００２６】
図３は、第１学習モデル４０のブロック図である。
本実施形態においては、第１学習モデル４０は、中間層を３層とした全５層の全結合型のニューラルネットワークにより実現されている。第１学習モデル４０は、入力層４１、中間層４２、及び出力層４３を備えている。
図３においては、各層が矩形として描かれており、各層に含まれるノードは省略されている。
【００２７】
入力層４１は、複数の入力ノードを備えている。複数の入力ノードの各々は、例えばアクセルペダル検出量ｓ１、ブレーキペダル検出量ｓ２から、指令車速ｓＮに至るまでの、走行状態ｓの各々に対応するように設けられている。
既に説明したように、各走行状態ｓは、複数の値により実現されている。例えば、図３においては、一つの矩形として示されている、アクセルペダル検出量ｓ１に対応する入力は、実際には、アクセルペダル検出量ｓ１の複数の値の各々に対応するように、入力ノードが設けられている。
各入力ノードには、走行状態取得部２２から受信した、対応する走行状態ｓの値が格納される。
【００２８】
中間層４２は、第１中間層４２ａ、第２中間層４２ｂ、及び第３中間層４２ｃを備えている。
中間層４２の各ノードにおいては、前段の層（例えば、第１中間層４２ａの場合は入力層４１、第２中間層４２ｂの場合は第１中間層４２ａ）の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層４２のノードへの重みを基にした演算がなされて、当該中間層４２のノード内に演算結果が格納される。
本実施形態においては、この演算において使用される活性化関数は、例えばＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）である。
【００２９】
出力層４３においても、中間層４２の各々と同様な演算が行われ、出力層４３に備えられた各出力ノードに演算結果が格納される。複数の出力ノードの各々は、操作の内容ａの各々に対応するように設けられている。本実施形態においては、車両２の操作の対象は、アクセルペダル２ｃとブレーキペダル２ｄであり、これに対応して、操作の内容ａは、例えばアクセルペダル操作ａ１とブレーキペダル操作ａ２となっている。
既に説明したように、各操作の内容ａは、複数の値により実現されている。例えば、図３においては、一つの矩形として示されている、アクセルペダル操作ａ１に対応する出力は、実際には、アクセルペダル操作ａ１の複数の値の各々に対応するように、出力ノードが設けられている。
【００３０】
第１学習モデル４０においては、上記のように走行状態ｓが入力されて、適切な操作の内容ａを演算することができるように学習がなされる。この学習においては、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値が調整される。
第１学習モデル４０の具体的な学習については、後に説明する。
【００３１】
操作内容推論部３１は、上記のように、第１の時刻における走行状態ｓを基に、第１の時刻より後の行動出力時間Ｔｐｒｅｄまでにおける車両２の操作の内容ａを推論し、ドライブロボット制御部２０の車両操作制御部２３へ送信する。
この操作の内容ａに基づき、車両操作制御部２３はステップ周期Ｔｓｔｅｐの間、ドライブロボット４を操作する。
そして、走行状態取得部２２は、操作後の車両２の、第１の時刻よりも後の第２の時刻における走行状態を再度取得する。
【００３２】
以降においては、第１の時刻で取得された走行状態と第２の時刻で取得された走行状態を区別して記載するため、第１の時刻で取得された走行状態を走行状態ｓｔ、第２の時刻で取得された走行状態を走行状態ｓｔ＋１と記載する。また、第１の時刻で取得された走行状態ｓｔに対して推論され、実行された操作の内容を操作の内容ａｔと記載する。
操作内容推論部３１は、第１の時刻における走行状態ｓｔ、これに対して推論され実際に実行された操作の内容ａｔ、及び第２の時刻における走行状態ｓｔ＋１を、次に説明する報酬計算部３２に送信する。
報酬計算部３２は、強化学習に際し必要となる値である報酬を計算する。後述する強化学習部３３は、この報酬を基に、操作の内容ａｔがどの程度適切であったかを示す行動価値を計算し、第１学習モデル４０は、この行動価値が高くなるような操作の内容ａを出力するように、強化学習が行われる。
報酬計算部３２によって計算された報酬は、操作内容推論部３１に送信されて操作内容推論部３１により受信され、これを受けて操作内容推論部３１は、第１の時刻における走行状態ｓｔ、操作の内容ａｔ、第２の時刻における走行状態ｓｔ＋１と、及び受信した報酬の組み合わせを、学習用データ記憶部３４へ送信し、記憶する。
【００３３】
報酬計算部３２は、操作内容推論部３１から、第１の時刻における走行状態ｓｔ、操作の内容ａｔ、及び第２の時刻における走行状態ｓｔ＋１を受信する。報酬は、操作の内容ａｔ、及びこれに伴う第２の時刻における走行状態ｓｔ＋１が望ましくないほど小さい値を、望ましいほど大きい値を、有するように設計されている。強化学習部３３は、後述の数式２により、報酬が大きいほど行動価値（評価値）を高くするように計算し、第１学習モデル４０はこの行動価値が高くなるような操作の内容ａｔを出力するように、強化学習が行われる。
【００３４】
本実施形態においては、制御装置１０は、燃費や排ガス性能を考慮してドライブロボット４を制御するものであるため、報酬には、燃費と排ガス性能が反映されている。
燃費は、例えばガソリンや軽油などの燃料の、単位容量当たりの走行距離、または、一定の距離をどれだけの燃料で走行できるかを示す指標である。
排ガス性能は、排気ガスに含まれる、一酸化炭素、窒素酸化物、炭化水素類、黒煙等の大気汚染物質の濃度が、一定の基準以下であるか否かを示す指標である。
これら燃費や排ガス性能は、車両２の操作という観点では、アクセルペダル２ｃとブレーキペダル２ｄの操作が関連する。すなわち、報酬は、アクセルペダル２ｃとブレーキペダル２ｄの検出量に基づいて計算されるのが適切である。
【００３５】
ただし、燃費や排ガス性能を向上させることに注目するあまり、制御装置１０が本来達成すべき、指令車速への追従性能が損なわれることがあってはならない。このため、報酬は、アクセルペダル２ｃとブレーキペダル２ｄの検出量に加えて、指令車速への追従性能に基づいて計算されるのが望ましい。
【００３６】
本実施形態においては、ｒｓを指令車速への追従性に基づいて計算される指令車速報酬要素（第２要素）、ｒＡＰをアクセルペダル２ｃの検出量に基づいて計算されるアクセルペダル報酬要素（第１要素）、ｒＢＰをブレーキペダル２ｄの検出量に基づいて計算されるブレーキペダル報酬要素（第１要素）としたときに、報酬ｒは、次の数式１によって表わされる。
ここで、ｗｓ、ｗＡＰ、ｗＢＰは、それぞれ、指令車速報酬要素ｒｓ、アクセルペダル報酬要素ｒＡＰ、ブレーキペダル報酬要素ｒＢＰに対応した重みである。
【００３７】
【数１】
2020056737.tif 000003
【００３８】
このように、報酬ｒは、指令車速への追従性や、アクセルペダル２ｃ、ブレーキペダル２ｄの検出量等の、各要素に対応する報酬要素を計算したうえで、これらの重みづけ和を計算することで、一つのスカラー値として計算されている。
【００３９】
指令車速報酬要素ｒｓは、例えば、操作内容推論部３１から受信した第２の時刻における走行状態ｓｔ＋１において、検出車速と指令車速の差分の絶対値を計算し、これが所定の第１閾値以下であれば、差分値が小さいほど大きな値となる、正の値とし、第１閾値よりも大きければ、差分値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容ａｔによって検出車速が指令車速に十分に追従できている場合においては、検出車速と指令車速の差分の絶対値は第１閾値以下の値となり、指令車速報酬要素ｒｓの値が大きくなる。逆に、検出車速が指令車速に十分に追従できていない場合においては、検出車速と指令車速の差分の絶対値は第１閾値よりも大きな値となり、指令車速報酬要素ｒｓの値が小さくなる。
このように、操作の内容ａｔに基づいたドライブロボット４の操作の後の、第２の時刻における検出車速と指令車速との差が小さいほど値が大きくなるように設定された指令車速報酬要素ｒｓ（第２要素）が計算され、指令車速報酬要素ｒｓを基に報酬ｒが計算されている。
【００４０】
アクセルペダル報酬要素ｒＡＰに関しては、例えば、操作内容推論部３１から受信した第２の時刻における走行状態ｓｔ＋１において、第１の時刻からのアクセルペダル検出量の推移を取得し、時間軸と、アクセルペダル２ｃの検出量を軸とする座標系上で、検出量を関数として表現する。アクセルペダル報酬要素ｒＡＰは、この関数の二階微分または一階微分の値を基に計算され得る。
【００４１】
二階微分の場合においては、例えば、上記関数の二階微分の最大値の絶対値を計算し、これが所定の第２閾値（所定の閾値）以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第２閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容ａｔにおいてアクセルペダル２ｃの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化せず、したがって関数の二階微分の最大値の絶対値は第２閾値以下の値となり、アクセルペダル報酬要素ｒＡＰの値が大きくなる。逆に、操作の内容ａｔにおいてアクセルペダル２ｃの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化し、したがって関数の二階微分の最大値の絶対値は第２閾値よりも大きな値となり、アクセルペダル報酬要素ｒＡＰの値が小さくなる。
【００４２】
一階微分の場合においても同様に、例えば、上記関数の一階微分の最大値の絶対値を計算し、これが所定の第３閾値（所定の閾値）以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第３閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容ａｔにおいてアクセルペダル２ｃの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは大きくはなく、したがって関数の一階微分の最大値の絶対値は第３閾値以下の値となり、アクセルペダル報酬要素ｒＡＰの値が大きくなる。逆に、操作の内容ａｔにおいてアクセルペダル２ｃの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは大きくなり、したがって関数の一階微分の最大値の絶対値は第３閾値よりも大きな値となり、アクセルペダル報酬要素ｒＡＰの値が小さくなる。
【００４３】
このように、アクセルペダル報酬要素ｒＡＰは、第１の時刻から第２の時刻までのアクセルペダル検出量の推移を関数として表わしたときに、関数の一階微分または二階微分の最大値の絶対値が所定の第２、第３閾値以下であれば、最大値の絶対値に応じた正の値となるように、かつ、最大値の絶対値が所定の第２、第３閾値よりも大きければ、最大値の絶対値に応じた負の値となるように、計算されている。
【００４４】
ブレーキペダル報酬要素ｒＢＰに関しても同様で、例えば、操作内容推論部３１から受信した第２の時刻における走行状態ｓｔ＋１において、第１の時刻からのブレーキペダル検出量の推移を取得し、時間軸と、ブレーキペダル２ｄの検出量を軸とする座標系上で、検出量を関数として表現する。ブレーキペダル報酬要素ｒＢＰは、この関数の二階微分または一階微分の値を基に計算され得る。
【００４５】
二階微分の場合においては、例えば、上記関数の二階微分の最大値の絶対値を計算し、これが所定の第４閾値（所定の閾値）以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第４閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容ａｔにおいてブレーキペダル２ｄの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化せず、したがって関数の二階微分の最大値の絶対値は第４閾値以下の値となり、ブレーキペダル報酬要素ｒＢＰの値が大きくなる。逆に、操作の内容ａｔにおいてブレーキペダル２ｄの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化し、したがって関数の二階微分の最大値の絶対値は第４閾値よりも大きな値となり、ブレーキペダル報酬要素ｒＢＰの値が小さくなる。
【００４６】
一階微分の場合においても同様に、例えば、上記関数の一階微分の最大値の絶対値を計算し、これが所定の第５閾値（所定の閾値）以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第５閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容ａｔにおいてブレーキペダル２ｄの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは大きくはなく、したがって関数の一階微分の最大値の絶対値は第５閾値以下の値となり、ブレーキペダル報酬要素ｒＢＰの値が大きくなる。逆に、操作の内容ａｔにおいてブレーキペダル２ｄの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは大きくなり、したがって関数の一階微分の最大値の絶対値は第５閾値よりも大きな値となり、ブレーキペダル報酬要素ｒＢＰの値が小さくなる。
【００４７】
このように、ブレーキペダル報酬要素ｒＢＰは、第１の時刻から第２の時刻までのブレーキペダル検出量の推移を関数として表わしたときに、関数の一階微分または二階微分の最大値の絶対値が所定の第４、第５閾値以下であれば、最大値の絶対値に応じた正の値となるように、かつ、最大値の絶対値が所定の第４、第５閾値よりも大きければ、最大値の絶対値に応じた負の値となるように、計算されている。
【００４８】
上記のように、アクセルペダル２ｃ及びブレーキペダル２ｄの検出量の変化が小さいほど値が大きくなるように設定されたアクセルペダル報酬要素ｒＡＰ、ブレーキペダル報酬要素ｒＢＰが計算され、アクセルペダル報酬要素ｒＡＰ、ブレーキペダル報酬要素ｒＢＰを基に報酬ｒが計算されている。このように、報酬ｒは、入力された操作の内容ａｔが、対応する第２の時刻における走行状態ｓｔ＋１での燃費と排ガス性能が高くなると考えられるものであるほど、大きな値となるように計算されている。
【００４９】
既に説明したように、上記の数式１によって計算された報酬ｒは、操作内容推論部３１へ送信されて、第１の時刻における走行状態ｓｔ、操作の内容ａｔ、第２の時刻における走行状態ｓｔ＋１と共に組み合わされて、学習用データ記憶部３４へ送信される。
ここで、報酬ｒは、第２の時刻における走行状態ｓｔ＋１に対して計算されたものであるから、以降、報酬ｒｔ＋１と記載する。
学習用データ記憶部３４は、操作内容推論部３１から送信された、第１の時刻における走行状態ｓｔ、操作の内容ａｔ、第２の時刻における走行状態ｓｔ＋１、及び報酬ｒｔ＋１の組み合わせを受信して、記憶する。
この組み合わせは、走行データとして、第１学習モデル４０の強化学習に使用される。
【００５０】
学習部３０は、強化学習に十分なデータが学習用データ記憶部３４に記憶されるまで、操作内容推論部３１による操作の内容ａｔの推論と、操作の内容ａｔがドライブロボット４によって実行された後の状態ｓｔ＋１の取得、及び報酬計算部３２によるこれを基にした報酬ｒｔ＋１の計算を繰り返し、走行データを学習用データ記憶部３４に蓄積する。
学習用データ記憶部３４に、強化学習に十分な量の走行データが蓄積されると、次に説明する強化学習部３３により強化学習が実行される。
【００５１】
強化学習部３３は、学習用データ記憶部３４から、複数の走行データを取得し、これを使用して、第１学習モデル４０を強化学習する。以下に説明するように、強化学習部３３は、本実施形態においては、深層強化学習アルゴリズムＤＤＰＧ（Ｄｅｅｐ  Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｐｏｌｉｃｙ  Ｇｒａｄｉｅｎｔ）によって、第１学習モデル４０と、後に説明する、強化学習部３３に設けられた第２学習モデル５０を並行して学習させているが、強化学習に用いられるアルゴリズムは、ＤＤＰＧ以外の他のアルゴリズムであってもよい。
まず、第１学習モデル４０の学習について説明する。
【００５２】
既に説明したように、強化学習部３３は、操作の内容ａｔがどの程度適切であったかを示す行動価値を計算し、第１学習モデル４０が、この行動価値が高くなるような操作の内容ａｔを出力するように、強化学習を行う。この行動価値（評価値）は、第１の時刻における走行状態ｓｔと、これに対する操作の内容ａｔを引数とした関数Ｑ（ｓｔ、ａｔ）として、次の式で表わされる。
【００５３】
【数２】
2020056737.tif 000004
【００５４】
上式において、γは割引率であり、αは学習率である。
行動価値関数Ｑ（ｓｔ、ａｔ）は、第１の時刻における走行状態ｓｔにおいて操作の内容ａｔを実行した際に、以降の時刻において最終的に得られると考えられる収益、すなわち時間割引報酬の和の期待値を表す。ｍａｘＱ（ｓｔ＋１、ａ）は、第２の時刻においてとり得る操作の内容ａに対する行動価値関数Ｑの最大値であり、これに割引率γを乗算して報酬ｒｔ＋１を加算した値は、第１の時刻において操作の内容ａｔを実行し、報酬ｒｔ＋１を受け取った後の、すなわち第２の時刻における行動価値である。この、第２の時刻における行動価値と、第１の時刻における行動価値Ｑ（ｓｔ、ａｔ）の差分であるＴＤ（Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）誤差に対し、学習率αを乗算して、元々の行動価値関数Ｑ（ｓｔ、ａｔ）に加算することにより、行動価値関数Ｑ（ｓｔ、ａｔ）を更新する。
すなわち、上記の数式２は、行動価値関数Ｑ（ｓｔ、ａｔ）の更新式であり、行動価値関数Ｑ（ｓｔ、ａｔ）は随時、更新される。
【００５５】
既に説明したように、強化学習部３３は、上記の数式２により、報酬ｒｔ＋１が大きいほど行動価値Ｑ（ｓｔ、ａｔ）を高くするように計算する。この行動価値Ｑ（ｓｔ、ａｔ）が高くなるような操作の内容ａを第１学習モデル４０が出力するように、第１学習モデル４０の強化学習は実行される。ここで、上記のように数式２は行動価値関数Ｑ（ｓｔ、ａｔ）の更新式であるため、第１学習モデル４０が学習されて走行状態ｓｔと操作の内容ａｔの出力が変化すると、行動価値関数Ｑ（ｓｔ、ａｔ）自体も更新される。
このように、強化学習部３３は、第１学習モデル４０の学習と、行動価値関数Ｑ（ｓｔ、ａｔ）の更新を、並行して、例えば交互に繰り返すことにより、実行する。
【００５６】
第１学習モデル４０は、上記のように、行動価値の高い操作の内容ａを出力することを目的としている。すなわち、行動価値関数Ｑ（ｓｔ、ａｔ）の値ができるだけ大きい操作の内容ａを出力するように、第１学習モデル４０の学習は実行される。
本実施形態においては、μ（ｓｔ）を、第１学習モデル４０に走行状態ｓｔを入力としたときの出力関数（すなわち操作の内容ａｔ）としたときに、「−Ｑ（ｓｔ、μ（ｓｔ））」の値を損失関数とし、これをできるだけ小さくする操作の内容ａｔを出力するように、第１学習モデル４０を学習させる。すなわち、誤差逆伝搬法、確率的勾配降下法等により、この損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって、強化学習部３３は第１学習モデル４０を学習させる。
【００５７】
ここで、既に説明したように、本実施形態においては強化学習としてＤＤＰＧを用いている。すなわち、強化学習部３３は、ニューラルネットワークにより実現された第２学習モデル５０を備えており、数式２における行動価値関数Ｑ（ｓｔ、ａｔ）を、関数近似器としての第２学習モデル５０により計算している。
【００５８】
図４は、第２学習モデル５０のブロック図である。
本実施形態においては、第２学習モデル５０は、第１学習モデル４０と同様に、中間層を３層とした全５層の全結合型のニューラルネットワークにより実現されている。第２学習モデル５０は、入力層５１、中間層５２、及び出力層５３を備えている。
図４においては、各層が矩形として描かれており、各層に含まれるノードは省略されている。
【００５９】
入力層５１は、複数の入力ノードを備えている。複数の入力ノードの各々は、例えばアクセルペダル検出量ｓ１、ブレーキペダル検出量ｓ２から、指令車速ｓＮに至るまでの、走行状態ｓの各々と、及び、例えばアクセルペダル操作ａ１とブレーキペダル操作ａ２の、操作の内容ａの各々に対応するように設けられている。このように、上記の数式２における行動価値関数Ｑ（ｓｔ、ａｔ）の引数に対応するように、入力ノードが設けられている。
第１学習モデル４０と同様に、各走行状態ｓは、複数の値により実現されている。例えば、図４においては、一つの矩形として示されている、アクセルペダル検出量ｓ１に対応する入力は、実際には、アクセルペダル検出量ｓ１の複数の値の各々に対応するように、入力ノードが設けられている。
また、各操作の内容ａも、第１学習モデル４０と同様に、複数の値により実現されている。例えば、図４においては、一つの矩形として示されている、アクセルペダル操作ａ１に対応する出力は、実際には、アクセルペダル操作ａ１の複数の値の各々に対応するように、入力ノードが設けられている。
各入力ノードには、学習用データ記憶部３４から受信した、第１の時刻における走行状態ｓｔと、操作の内容ａｔの値が格納される。
【００６０】
中間層５２は、第１中間層５２ａ、第２中間層５２ｂ、及び第３中間層５２ｃを備えている。
中間層５２の各ノードにおいては、前段の層（例えば、第１中間層５２ａの場合は入力層５１、第２中間層５２ｂの場合は第１中間層５２ａ）の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層５２のノードへの重みを基にした演算がなされて、当該中間層５２のノード内に演算結果が格納される。
本実施形態においては、この演算において使用される活性化関数は、例えばＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）である。
【００６１】
出力層５３においても、中間層５２の各々と同様な演算が行われ、出力層５３に備えられた出力ノードに演算結果が格納される。本実施形態においては、出力ノードは、例えば１つであり、これが、計算された行動価値関数Ｑ（ｓｔ、ａｔ）の値に相当する。
【００６２】
第２学習モデル５０においても、走行状態ｓと操作の内容ａが入力されて、適切な行動評価関数Ｑを演算することができるように学習がなされる。この学習においては、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値が調整される。
第２学習モデル５０は、次式を損失関数として、これをできるだけ小さくするように学習される。
【００６３】
【数３】
2020056737.tif 000005
【００６４】
上式は、第１学習モデル４０において説明した、ＴＤ誤差に相当する。ＴＤ誤差は、第２の時刻における行動価値である、第２の時刻において実行する操作の内容μ（ｓｔ＋１）に対する行動価値関数Ｑに割引率γを乗算して報酬ｒｔ＋１を加算した値と、第１の時刻における行動価値Ｑ（ｓｔ、ａｔ）との差分である。このため、ＴＤ誤差（の二乗）を最小化することにより、行動価値Ｑ（ｓｔ、ａｔ）として適切な値が出力されるように第１学習モデル４０が学習される。
第２学習モデル５０においても、第１学習モデル４０と同様に、誤差逆伝搬法、確率的勾配降下法等により、数式３として示された損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって、第２学習モデル５０は学習される。
【００６５】
このように、本実施形態においては、第１学習モデル４０は、操作の内容ａｔに基づいたドライブロボット４の操作の後の、第１の時刻より後の第２の時刻における走行状態ｓｔ＋１に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容ａｔであるほど大きな値となるように計算された報酬ｒｔ＋１を基に、強化学習されている。
また、第１学習モデル４０は、報酬ｒｔ＋１を基に操作の内容ａｔを評価して操作の内容ａｔの評価値Ｑ（ｓｔ、ａｔ）を計算する第２学習モデル５０によって計算された、評価値Ｑ（ｓｔ、ａｔ）を基に、評価値Ｑ（ｓｔ、ａｔ）がより高い操作の内容を推論するように学習されている。
更に、第２学習モデル５０は、第１学習モデル４０により出力された操作の内容ａｔを入力とし、報酬ｒｔ＋１が大きいほど高い評価値Ｑ（ｓｔ、ａｔ）を出力するように学習され、これら第１学習モデル４０と第２学習モデルの学習５０が繰り返されることにより、第１学習モデル４０と第２学習モデルの学習５０は強化学習されている。
【００６６】
以上のように、制御装置１０は、操作の内容の学習時においては、学習が中途の状態における第１学習モデル４０によって、現在（第１の時刻）の走行状態ｓｔにおいて実行すべき操作の内容ａｔを推論する。また、制御装置１０は、この操作の内容ａｔを実行した後の時刻（第２の時刻）において、操作の内容ａｔの実行によって変化した走行状態ｓｔ＋１を基に、報酬ｒｔ＋１を取得する。このようにして、制御装置１０は、まず走行データを蓄積する。
蓄積された走行データを基に、第１の時刻の走行状態ｓｔと、学習が中途の状態における第１学習モデル４０によって推論された操作の内容ａｔを入力として、報酬ｒｔ＋１を基に、現状の第１学習モデル４０の出力となる操作の内容ａｔを適切に評価できるように、第２学習モデル５０を学習する。
この学習後の第２学習モデル５０を用いて、これが出力する評価値Ｑ（ｓｔ、ａｔ）が大きな操作の内容ａｔを出力するように、第１学習モデル４０を学習する。
これにより、第１学習モデル４０が出力する操作の内容ａｔが変化するため、再度走行データを蓄積する。
このように、走行データの蓄積と、第１学習モデル４０及び第２学習モデル５０の学習を繰り返すことで、第１学習モデル４０及び第２学習モデル５０の学習が完了する。
【００６７】
本実施形態において、制御装置１０は、第１学習モデル４０及び第２学習モデル５０の学習において、例えば、各々の、学習前後における損失関数の差が一定の値以下となった場合に、学習を繰り返したとしてもその効果が十分に見込めないと判断し、学習を終了する。
【００６８】
次に、実際に車両２の性能測定に際して操作の内容を推論する場合での、すなわち、第１学習モデル４０の強化学習が終了した後における、制御装置１０の各構成要素の挙動について説明する。
【００６９】
走行状態取得部２２は、現在時点における、車両２の走行状態を取得する。
走行状態取得部２２は、車両２に備えられた様々な図示されない計測器やドライブロボット４内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部２２は、指令車速記憶部２１から、指令車速を取得する。
走行状態取得部２２は、これらの取得した走行状態を、学習部３０へ送信する。
【００７０】
学習部３０の操作内容推論部３１は、ある時刻（第１の時刻）において、走行状態取得部２２から走行状態を取得すると、これを基に、学習済みの第１学習モデル４０により、第１の時刻より後の車両２の操作の内容ａを推論する。
この第１学習モデル４０は、操作の内容ａに基づいたドライブロボット４の操作の後の、第１の時刻より後の第２の時刻における走行状態ｓに基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容ａであるほど大きな値となるように計算された報酬ｒを基に、強化学習されている、学習済みのモデルである。
【００７１】
操作内容推論部３１は、学習部３０によって事前に強化学習されて、重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値が調整、決定された、学習済みの第１学習モデル４０が、例えばＣＰＵ上でプログラムとして実行されることで、車両２の操作の内容ａを推論する。
より詳細には、操作内容推論部３１が、受信した走行状態ｓの各々を、学習済みの第１学習モデル４０の入力層４１の、対応する入力ノードに入力すると、第１学習モデル４０は、入力層４１から中間層４２を介して出力層４３へと順に辿りながら、重みやバイアスの値等を用いて重み付け和を演算する処理を実行する。最終的に出力層４３の各出力ノードに、第１の時刻以降に実行すべき操作の内容ａが格納される。
操作内容推論部３１は、推論した操作の内容ａを、車両操作制御部２３へ送信する。
【００７２】
車両操作制御部２３は、操作内容推論部３１から操作の内容ａを受信し、この操作の内容ａに基づき、ステップ周期Ｔｓｔｅｐの間、ドライブロボット４を操作する。
【００７３】
次に、図１〜図４、及び図５〜図７を用いて、上記のドライブロボット４の制御装置１０によりドライブロボット４を制御する方法を説明する。図５は、ドライブロボット４の制御方法における、学習時のフローチャートである。図６は、ドライブロボット４の制御方法の、学習時における走行データ収集ステップの、詳細なフローチャートである。図７は、ドライブロボット４の制御方法における、性能測定のために車両２を走行制御させる際のフローチャートである。
本ドライブロボット４の制御方法は、車両２に搭載されて車両２を走行させるドライブロボット４を、車両２が規定された指令車速に従って走行するように制御する、ドライブロボット４の制御方法であって、車両２の走行状態ｓを取得し、走行状態ｓは、車両２において検出された車速と、走行状態ｓが取得された時刻における指令車速を含み、第１の時刻から、第１の時刻より後の車両２の操作の内容ａを推論する第１学習モデル４０であって、操作の内容ａに基づいたドライブロボット４の操作の後の、第１の時刻より後の第２の時刻における走行状態ｓに基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容ａであるほど大きな値となるように報酬ｒを計算し、報酬ｒを基に強化学習された第１学習モデル４０により、第１の時刻における走行状態ｓを基に、車両の操作の内容ａを推論し、操作の内容ａに基づきドライブロボット４を制御する。
まず、図５、図６を用いて、操作の内容の学習時における動作を説明する。
【００７４】
学習が開始されると（ステップＳ１）、走行環境や第１学習モデル４０、第２学習モデル５０等の各パラメータが初期設定される（ステップＳ３）。
その後、図６に示される手順に従い、車両２の走行データを収集する（ステップＳ５）。
【００７５】
既に説明したように、走行データは、一連のデータ収集を行う際における時間単位であるエピソードごとに車両２を走行制御することにより、蓄積される。
エピソードが開始されると（ステップＳ２１）、当該エピソードが開始された時点における、車両２の初期状態を観測する（ステップＳ２３）。エピソードは、車両２が走行制御されている途中において開始される場合もあるため、エピソードの開始時における車両２の初期状態は、車両２が停止している状態はもちろん、走行中の状態をも含み得る。
【００７６】
初期状態の観測は、次のように行われる。
走行状態取得部２２が、現在時点における、車両２の走行状態ｓを取得する。
走行状態取得部２２は、車両２に備えられた様々な図示されない計測器やドライブロボット４内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部２２は、指令車速記憶部２１から、指令車速を取得する。
走行状態取得部２２は、これらの取得した走行状態ｓを、学習部３０へ送信する。
【００７７】
操作内容推論部３１は、走行状態取得部２２から、走行状態ｓを受信する。操作内容推論部３１は、走行状態ｓを受信した時刻を第１の時刻として、受信した走行状態ｓを基に、学習中の第１学習モデル４０により、第１の時刻より後の車両２の操作の内容を推論する（ステップＳ２５）。
より詳細には、操作内容推論部３１は、走行状態ｓを、第１学習モデル４０の入力層４１の、各走行状態ｓに対応する入力ノードに入力する。
中間層４２の各ノードにおいては、前段の層（例えば、第１中間層４２ａの場合は入力層４１、第２中間層４２ｂの場合は第１中間層４２ａ）の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層４２のノードへの重みを基にした演算がなされて、当該中間層４２のノード内に演算結果が格納される。
出力層４３においても、中間層４２の各々と同様な演算が行われ、出力層４３に備えられた各出力ノードに演算結果、すなわち操作の内容ａが格納される。
【００７８】
操作内容推論部３１は、この、現在の学習中の第１学習モデル４０が推論した操作の内容ａを、ドライブロボット制御部２０の車両操作制御部２３へ送信する。
この操作の内容ａに基づき、車両操作制御部２３はステップ周期Ｔｓｔｅｐの間、ドライブロボット４を操作する。
そして、走行状態取得部２２は、操作後の車両２の走行状態ｓを、ステップＳ２３と同様な要領で、再度取得する。
走行状態取得部２２は、操作後の車両２の走行状態ｓを、学習部３０へ送信する。
【００７９】
操作内容推論部３１は、走行状態取得部２２から、走行状態ｓを受信する。操作内容推論部３１は、走行状態を受信した時刻を、第１の時刻より後の第２の時刻として、第１の時刻における走行状態ｓｔ、これに対して推論され実際に実行された操作の内容ａｔ、及び第２の時刻における走行状態ｓｔ＋１を、報酬計算部３２に送信する。
報酬計算部３２は、強化学習に際し必要となる値である報酬ｒｔ＋１を計算して、操作内容推論部３１に送信する。
操作内容推論部３１は、報酬ｒｔ＋１を受信する（ステップＳ２７）。
操作内容推論部３１は、第１の時刻における走行状態ｓｔ、操作の内容ａｔ、第２の時刻における走行状態ｓｔ＋１と、及び受信した報酬ｒｔ＋１の組み合わせを、学習用データ記憶部３４へ送信し、記憶する（ステップＳ２９）。
【００８０】
学習部３０は、エピソードが終了したか否かを判定する（ステップＳ３１）。エピソードが終了したと判定した場合には（ステップＳ３１のＹｅｓ）、エピソードを終了させて（ステップＳ３３）、図５に示されるステップＳ７へと遷移する。
エピソードが終了していないと判定した場合には（ステップＳ３１のＮｏ）、第２の時刻を第１の時刻とし、第２の時刻における走行状態ｓｔ＋１を第１の時刻における走行状態ｓｔと更新したうえで、ステップＳ２５へ遷移し、この新たな第１の時刻における操作の内容ａの推論を行う。このように、各時刻において、操作の内容ａの推論、推論した操作の内容ａを実行した後の状態の取得、これに基づく報酬の計算を繰り返すことにより、制御装置１０は、走行データを学習用データ記憶部３４に蓄積する。
【００８１】
十分な走行データが学習用データ記憶部３４に蓄積されると、これを用いて、第１学習モデル４０と第２学習モデル５０を強化学習し、学習モデル４０、５０を更新する（ステップＳ７）。
まず、蓄積された走行データを基に、第１の時刻の走行状態ｓｔと、学習が中途の状態における第１学習モデル４０によって推論された操作の内容ａｔを入力として、現状の第１学習モデル４０の出力となる操作の内容ａｔを適切に評価できるように、第２学習モデル５０を学習する。
【００８２】
強化学習部３３は、第１の時刻の走行状態ｓｔと操作の内容ａｔを、第２学習モデル５０の入力層５１の、各走行状態ｓ及び操作の内容ａに対応する入力ノードに入力する。
中間層５２の各ノードにおいては、前段の層（例えば、第１中間層５２ａの場合は入力層５１、第２中間層５２ｂの場合は第１中間層５２ａ）の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層５２のノードへの重みを基にした演算がなされて、当該中間層５２のノード内に演算結果が格納される。
出力層５３においても、中間層５２の各々と同様な演算が行われ、出力層５３に備えられた出力ノードに演算結果、すなわち行動価値関数Ｑ（ｓｔ、ａｔ）の値が格納される。
【００８３】
強化学習部３３は、既に説明した数式３を損失関数として、これをできるだけ小さくするように、第２学習モデル５０を学習させる。すなわち、第２学習モデル５０は、誤差逆伝搬法、確率的勾配降下法等により、数式３として示された損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって学習される。
【００８４】
この時点において学習用データ記憶部３４に蓄積されているデータによる、第２学習モデル５０の更新が終了すると、第１学習モデル４０を学習させる。
強化学習部３３は、「−Ｑ（ｓｔ、μ（ｓｔ））」の値を損失関数とし、これをできるだけ小さくする操作の内容ａｔを出力するように、第１学習モデル４０を学習させる。すなわち、第１学習モデル４０は、誤差逆伝搬法、確率的勾配降下法等により、この損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって学習される。
【００８５】
第１学習モデル４０と第２学習モデル５０の更新が終了すると、これら第１学習モデル４０と第２学習モデル５０の学習が終了したか否かを判定する（ステップＳ９）。
学習が終了していないと判定された場合には（ステップＳ９のＮｏ）、ステップＳ５へ遷移する。すなわち、制御装置１０は走行データを更に収集し、これを用いた第１学習モデル４０と第２学習モデル５０の更新を繰り返す。
学習が終了したと判定された場合には（ステップＳ９のＹｅｓ）、学習処理を終了する（ステップＳ１１）。
【００８６】
次に、図７を用いて、実際に車両２の性能測定に際して操作の内容を推論する場合での、すなわち、第１学習モデル４０の強化学習が終了した後において、車両２を走行制御する際の動作について説明する。
【００８７】
車両２が走行を開始すると（ステップＳ５１）、走行環境が初期設定され、この時点での走行状態ｓを初期状態として観測する（ステップＳ５３）。
走行状態ｓの観測は、次のように行われる。
走行状態取得部２２が、現在時点における、車両２の走行状態ｓを取得する。
走行状態取得部２２は、車両２に備えられた様々な図示されない計測器やドライブロボット４内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部２２は、指令車速記憶部２１から、指令車速を取得する。
走行状態取得部２２は、これらの取得した走行状態ｓを、学習部３０へ送信する。
【００８８】
操作内容推論部３１は、走行状態取得部２２から、走行状態ｓを受信する。操作内容推論部３１は、走行状態ｓを受信した時刻を第１の時刻として、受信した走行状態ｓを基に、学習済みの第１学習モデル４０により、第１の時刻より後の車両２の操作の内容を推論する（ステップＳ５５）。
より詳細には、操作内容推論部３１は、受信した走行状態ｓの各々を、学習済みの第１学習モデル４０の入力層４１の、対応する入力ノードに入力すると、入力層４１から中間層４２を介して出力層４３へと順に辿りながら、重みやバイアスの値等を用いて重み付け和を演算する処理を実行する。最終的に出力層４３の各出力ノードに、第１の時刻以降に実行すべき操作の内容ａが格納される。
操作内容推論部３１は、推論した操作の内容ａを、車両操作制御部２３へ送信する。
【００８９】
操作内容推論部３１は、この、学習済みの第１学習モデル４０が推論した操作の内容ａを、ドライブロボット制御部２０の車両操作制御部２３へ送信する。
この操作の内容ａに基づき、車両操作制御部２３はステップ周期Ｔｓｔｅｐの間、ドライブロボット４を操作する。
そして、走行状態取得部２２は、操作後の車両２の走行状態ｓを、ステップＳ５３と同様な要領で、再度取得する（ステップＳ５７）。
走行状態取得部２２は、操作後の車両２の走行状態ｓを、学習部３０へ送信する。
【００９０】
制御装置１０は、車両２の走行が終了したか否かを判定する（ステップＳ５９）。
走行が終了していないと判定された場合には（ステップＳ５９のＮｏ）、ステップＳ５５へ遷移する。すなわち、制御装置１０は、ステップＳ５７で取得した走行状態ｓを基にした操作の内容ａの推論と、更なる走行状態ｓの観測を繰り返す。
走行が終了したと判定された場合には（ステップＳ５９のＹｅｓ）、走行処理を終了する（ステップＳ６１）。
【００９１】
次に、上記のドライブロボットの制御装置及び制御方法の効果について説明する。
【００９２】
本実施形態におけるドライブロボット（自動操縦ロボット）の制御装置１０は、車両２に搭載されて車両２を走行させるドライブロボット４を、車両２が規定された指令車速に従って走行するように制御する、ドライブロボット４の制御装置１０であって、車両２の走行状態ｓを取得する走行状態取得部２２と、第１の時刻における走行状態ｓｔを基に、第１学習モデル４０により、第１の時刻より後の車両２の操作の内容ａｔを推論する操作内容推論部３１と、操作の内容ａｔに基づきドライブロボット４を制御する車両操作制御部２３と、を備え、走行状態ｓは、車両２において検出された車速と、走行状態ｓが取得された時刻における指令車速を含み、第１学習モデル４０は、操作の内容ａｔに基づいたドライブロボット４の操作の後の、第１の時刻より後の第２の時刻における走行状態ｓｔ＋１に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容ａｔであるほど大きな値となるように計算された報酬ｒｔ＋１を基に、強化学習されている。
上記のような構成によれば、車両２の操作の内容ａｔを推論する操作内容推論部３１において、第１学習モデル４０は、燃費と排ガス性能がより高い操作の内容ａｔであるほど大きな値となるように計算された報酬ｒｔ＋１を基に、強化学習されている。したがって、操作内容推論部３１は、燃費や排ガス性能が考慮された操作の内容ａｔを推論することができるため、ドライブロボット４に、燃費や排ガス性能を考慮して車両２を操作させることができる。
また、第１学習モデル４０が操作の内容を推論するに際し基づく、車両２の走行状態ｓｔは、走行状態ｓｔが取得された時刻における指令車速を含むため、指令車速に高精度で追従するような操作の内容ａｔを推論可能である。
したがって、指令車速に高い精度で追従させつつ、燃費や排ガス性能を考慮して車両２を操作可能な、ドライブロボット４の制御装置１０を提供可能である。
【００９３】
強化学習以外の機械学習、例えば教師あり学習等において、燃費や排ガス性能を考慮してドライブロボット４が車両２を制御するような学習モデルを生成する際には、実際に車両２を、燃費や排ガス性能が良好となるように走行させて、燃費や排ガス性能が良好な走行データを取得し、これを教師データとして学習させることが考えられる。このように、例えば教師あり学習においては、学習する対象はあくまで与えられた教師データであり、燃費や排ガス性能は、この走行データの学習に付随して、間接的に改善される。すなわち、例えば教師あり学習においては、燃費や排ガス性能の向上を直接的な目標として学習することができない。このため、与えられた教師データ以上に燃費や排ガス性能が良好に改善されるような操作の内容が実際にはあったとしても、これを推論することが容易ではない。
これに対し、本実施形態においては、操作の内容ａに関して燃費や排ガス性能が良好か否かの程度を明確な値として有する報酬ｒを基に、燃費や排ガス性能が良好な操作の内容ａを推論するように、第１学習モデル４０が強化学習されている。すなわち、本実施形態においては、第１学習モデル４０は強化学習により学習されているため、燃費や排ガス性能を向上させることを明示的な目標として、第１学習モデル４０が操作の内容ａを推論することができる。このため、教師あり学習等の他の機械学習を適用した形態と比較しても、より良好な燃費や排ガス性能となるような操作の内容ａを推論し得る。
【００９４】
また、操作の対象は、アクセルペダル２ｃとブレーキペダル２ｄを含み、走行状態ｓは、アクセルペダル２ｃとブレーキペダル２ｄの検出量を含む。
上記のような構成によれば、車両２の操作において、燃費や排ガス性能と密接に関連するアクセルペダル２ｃとブレーキペダル２ｄの検出量を走行状態ｓに含めているため、適切に報酬ｒを計算し、結果として、第１学習モデル４０によって適切に操作の内容ａを推論することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両２を操作可能な、ドライブロボット４の制御装置を提供可能である。
【００９５】
また、アクセルペダル２ｃ及びブレーキペダル２ｄの検出量の変化が小さいほど値が大きくなるように設定された第１要素ｒＡＰ、ｒＢＰが計算され、第１要素ｒＡＰ、ｒＢＰを基に報酬ｒｔ＋１が計算されている。
上記のような構成によれば、燃費や排ガス性能が良好であると考えられる、アクセルペダル２ｃ及びブレーキペダル２ｄの検出量の変化が小さい場合に、第１要素ｒＡＰ、ｒＢＰの値が小さくなるように計算され、これを基に報酬ｒｔ＋１が計算されるため、適切に報酬ｒｔ＋１の値を設定することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両２を操作可能な、ドライブロボット４の制御装置を提供可能である。
【００９６】
また、時間軸と、アクセルペダル２ｃまたはブレーキペダル２ｄの検出量を軸とする座標系上で、検出量を関数として表現した際に、関数の一階微分または二階微分の値を基に、第１要素ｒＡＰ、ｒＢＰが計算されている。
上記のような構成によれば、アクセルペダル２ｃまたはブレーキペダル２ｄの検出量の変化量は、これら検出量を表現した関数の一階微分または二階微分の値に密接に関連する。すなわち、検出量を表現した関数の一階微分または二階微分の値を基に第１要素ｒＡＰ、ｒＢＰを計算することにより、適切に報酬ｒｔ＋１の値を設定することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両２を操作可能な、ドライブロボット４の制御装置を提供可能である。
【００９７】
また、関数の一階微分または二階微分の最大値の絶対値が所定の閾値以下であれば、第１要素ｒＡＰ、ｒＢＰが正の値となるように、かつ、最大値の絶対値が所定の閾値よりも大きければ、第１要素ｒＡＰ、ｒＢＰが負の値となるように、第１要素ｒＡＰ、ｒＢＰが計算されている。
上記のような構成によれば、関数の一階微分または二階微分の最大値の絶対値が所定の閾値以下であれば、アクセルペダル２ｃまたはブレーキペダル２ｄの検出量の変化量が小さく燃費や排ガス性能が良好であると考えられる。この場合には、第１要素ｒＡＰ、ｒＢＰが正の値となるように計算される。また、関数の一階微分または二階微分の最大値の絶対値が所定の閾値以上であれば、アクセルペダル２ｃまたはブレーキペダル２ｄの検出量の変化量が大きく燃費や排ガス性能が良好ではないと考えられる。この場合には、第１要素ｒＡＰ、ｒＢＰが負の値となるように計算される。
このように、燃費や排ガス性能が良好である場合に値が大きくなるように第１要素ｒＡＰ、ｒＢＰが計算され、これを基に報酬ｒｔ＋１が計算されるため、適切に報酬ｒｔ＋１の値を設定することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両２を操作可能な、ドライブロボット４の制御装置を提供可能である。
【００９８】
また、操作の内容ａに基づいたドライブロボット４の操作の後の、第２の時刻における検出車速と指令車速との差が小さいほど値が大きくなるように設定された第２要素ｒｓが計算され、第２要素ｒｓを基に報酬ｒｔ＋１が計算されている。
上記のような構成によれば、検出車速と指令車速との差が小さいほど値が大きくなるように第２要素ｒｓが計算されるため、指令車速への追従性が高いほど、第２要素ｒｓが大きな値を有し得る。報酬ｒｔ＋１は、このような第２要素ｒｓを基に計算されているため、指令車速に高い精度で追従させるように車両２を操作可能な、ドライブロボット４の制御装置を提供可能である。
【００９９】
また、操作内容推論部３１は、第１の時刻以降の時間範囲内の、複数の時刻における操作の内容ａを推論する。
上記のような構成によれば、一度の推論で複数の操作の内容を推論するため、操作間隔を推論に要する時間よりも短くすることができる。このため、緻密な操作が可能となる。
また、推論により、実際には使用されないほど将来の操作の内容をも推論することができる。この場合においては、将来を見越した操作の内容ａを推論することができるため、操作の内容ａの精度が向上し、より効果的に、燃費や排ガス性能を考慮して車両２を操作可能な、ドライブロボット４の制御装置を提供可能である。
【０１００】
また、第１学習モデル４０は、報酬ｒｔ＋１を基に操作の内容ａｔを評価して操作の内容ａｔの評価値Ｑ（ｓｔ、ａｔ）を計算する第２学習モデル５０によって計算された、評価値Ｑ（ｓｔ、ａｔ）を基に、評価値Ｑ（ｓｔ、ａｔ）がより高い操作の内容ａを推論するように学習されている。
上記のような構成によれば、報酬ｒｔ＋１を基にした評価値Ｑ（ｓｔ、ａｔ）の計算を、関数近似器としての第２学習モデル５０によって計算している。このため、評価値Ｑ（ｓｔ、ａｔ）の計算が容易となる。
【０１０１】
また、第２学習モデル５０は、第１学習モデル４０により出力された操作の内容ａｔを入力とし、報酬ｒｔ＋１が大きいほど高い評価値Ｑ（ｓｔ、ａｔ）を出力するように学習され、これら第１学習モデル４０と第２学習モデル５０の学習が繰り返されることにより、第１学習モデル４０と第２学習モデル５０は強化学習されている。
上記のような構成によれば、第１の時刻の走行状態ｓｔと、学習が中途の状態における第１学習モデル４０によって推論された操作の内容ａｔを入力として、現状の第１学習モデル４０の出力となる操作の内容ａｔを適切に評価できるように、第２学習モデル５０を学習し、この学習後の第２学習モデル５０を用いて、これが出力する評価値Ｑ（ｓｔ、ａｔ）が大きくなるように、第１学習モデル４０を学習することを繰り返して、第１学習モデル４０及び第２学習モデル５０を学習させることができる。したがって、第１学習モデル４０及び第２学習モデル５０を効果的に学習させることができる。
【０１０２】
［実施形態の変形例］
次に、図８を用いて、上記実施形態として示したドライブロボットの制御装置及び制御方法の変形例を説明する。図８は、本変形例におけるドライブロボットの制御装置のブロック図である。本変形例におけるドライブロボット４の制御装置６０は、上記実施形態のドライブロボット４の制御装置１０とは、ドライブロボット制御部６１が、学習部３０の、学習が終了した時点における、操作内容推論部３１及び第１学習モデル４０と同じ構成の、操作内容推論部３１Ａ及び第１学習モデル４０Ａを備えている点が異なっている。
【０１０３】
本変形例においては、第１学習モデル４０及び第２学習モデル５０の学習時においては、上記実施形態と同様な構成となっている。これら第１学習モデル４０及び第２学習モデル５０の学習が終了した後に、操作内容推論部３１及び第１学習モデル４０が、操作内容推論部３１Ａ及び第１学習モデル４０Ａとしてドライブロボット制御部６１の中に複製されている。
実際に車両２の性能測定に際して操作の内容ａを推論する場合においては、ドライブロボット制御部６１内の操作内容推論部３１Ａが、第１学習モデル４０Ａを使用して操作の内容ａを推論する。
【０１０４】
本変形例が、既に説明した実施形態と同様な効果を奏することは言うまでもない。
特に、本変形例の構成においては、実際に車両２の性能測定に際して操作の内容ａを推論する場合における処理が、ドライブロボット制御部６１の内部だけで完結されており、ドライブロボット制御部６１が学習部３０と通信する必要がない。
【０１０５】
なお、本発明のドライブロボットの制御装置及び制御方法は、図面を参照して説明した上述の実施形態及び変形例に限定されるものではなく、その技術的範囲において他の様々な変形例が考えられる。
【０１０６】
例えば、上記実施形態においては、報酬には、燃費と排ガス性能の双方がより高い操作の内容であるほど大きな値となるように計算されていたが、これに限られず、燃費と排ガス性能のいずれか一方がより高い操作の内容であるほど大きな値となるように計算されていてもよい。
例えば、燃費の値を測定または計算し、燃費の性能が高いほど値が大きくなるように設定された第３要素を計算し、これを基に、燃費が良い操作の内容であるほど大きな値となるように、報酬を計算するようにしてもよい。これにより、燃費のみが報酬に反映され得る。
あるいは、例えば、排ガス性能の値を測定または計算し、排ガス性能が高いほど値が大きくなるように設定された第４要素を計算し、これを基に、排ガス性能が良い操作の内容であるほど大きな値となるように、報酬を計算するようにしてもよい。これにより、排ガス性能のみが報酬に反映され得る。排ガス性能を燃費とは独立して報酬に反映することにより、例えば、自動車の排気経路に設けられる三元触媒コンバータ等において、排ガス中の有害物質の除去性能を評価する場合等に適用可能である。
これら第３及び第４の要素を共に報酬に反映させることによって、燃費と排ガス性能を共に、強化学習に影響し得るようにしてもよいのは、言うまでもない。
【０１０７】
また、上記実施形態においては、第１学習モデル４０及び第２学習モデル５０を学習させる際には、実際に車両２を走行させて走行データを観測、取得するように説明したが、これに限られない。例えば、学習時においては、車両２の代わりにシミュレータを使用してもよい。
【０１０８】
また、上記実施形態においては、操作の対象はアクセルペダル２ｃとブレーキペダル２ｄであり、走行状態は、アクセルペダル２ｃとブレーキペダル２ｄの検出量を含むように構成されていたが、これに限られない。
【０１０９】
また、上記実施形態において、報酬の計算に使用される第１要素ｒＡＰ、ｒＢＰは、第２の時刻における走行状態ｓｔ＋１において、第１の時刻からのアクセルペダル２ｃやブレーキペダル２ｄの検出量の推移を取得し、時間軸と、アクセルペダル２ｃやブレーキペダル２ｄの検出量を軸とする座標系上で、検出量を関数として表現したうえで、この関数の二階微分または一階微分の値を基に、二階微分または一階微分の最大値の絶対値を計算し、これが所定の閾値以下であれば正の値とし、閾値よりも大きければ負の値とすることで計算したが、これに限られない。
第１要素は、例えば、第１の時刻と第２の時刻の時間間隔が十分に短い場合には、第１の時刻におけるアクセルペダルの開度と、第２の時刻におけるアクセルペダルの開度の２値を比較し、その差分が所定の値以上であれば、アクセルペダル２ｃやブレーキペダル２ｄの操作量が大きいと考え、小さい値となるように計算してもよい。
また、上記のように計算した二階微分に関し、第１の時刻と第２の時刻の間において、その値が、正負が所定の回数以上入れ替わるように変動した場合においては、小刻みなペダル操作が行われたとして第１要素の値を小さくするように計算してもよい。
また、アクセルペダル２ｃやブレーキペダル２ｄの変化量、すなわち二階微分または一階微分の最大値の絶対値に−１を乗算して負の値とし、これを第１要素としてもよい。この第１要素をできるだけ大きくするように計算することで、アクセルペダル２ｃやブレーキペダル２ｄの変化量が小さくなるような結果を取得し得る。
あるいは、上記全てを、報酬を計算する上での異なる要素として個別に計算し、報酬に反映することで、上記全ての要因が個別に報酬に影響するように、報酬を計算しても構わない。
【０１１０】
更には、時間軸と、アクセルペダル２ｃまたはブレーキペダル２ｄの検出量を軸とする座標系上で、検出量を関数として表現した際に、関数の積分量が小さいほど値が大きくなるように設定された積分要素が計算され、当該積分要素を基に報酬が計算されるようにしてもよい。積分量が小さい操作においては、アクセルペダル２ｃやブレーキペダル２ｄの全体的な操作量が少なく、燃費や排ガス性能が良好であると考えられる。すなわち、上記関数の積分量が小さいほど値が大きくなるように設定した積分要素を基に報酬を計算することで、効果的に、燃費や排ガス性能を考慮して車両２を操作可能な、ドライブロボット４の制御装置を提供可能である。
【０１１１】
また、学習モデル４０、５０の構成は、上記実施形態において説明したものに限られないのは、言うまでもない。例えば、学習モデル４０、５０において、中間層４２、５２の数を、３より小さい、または３より多い数とする等、多くの変形例が想定されるが、本発明の主旨を損なわない限りにおいて、どのような構成を備えていてもよい。
これは、学習モデル４０、５０の損失関数に関しても同様である。上記実施形態において、例えば第２学習モデル５０の損失関数は、既に説明した数式３に示される構造としたが、これに代えて、次の数式４を第２学習モデル５０の損失関数としてもよい。数式４は、損失関数の計算において、学習対象として現存する、学習中の現段階のネットワークを用いるのではなく、少し前の時点で固定された第１学習モデル４０及び第２学習モデル５０に対し、これをターゲットネットワークとして使用する場合の損失関数である。Ｑｔａｒｇｅｔは、ターゲットネットワークとしての第２学習モデル５０における行動価値関数であり、μｔａｒｇｅｔは、ターゲットネットワークとしての第１学習モデル４０における出力関数である。
【０１１２】
【数４】
2020056737.tif 000006
【０１１３】
また、上記実施形態においては、操作内容推論部３１により推論された操作の内容ａは、そのまま車両操作制御部２３に送信されて、ドライブロボット４の制御に使用されたが、これに限られない。例えば、操作の内容ａを過去または将来の一定の期間にわたって、横軸を時間軸として関数表現したうえで、ローパスフィルタを適用することで、近接する時刻における操作の内容ａの変化をなだらかにすることにより、車両２を滑らかに操作することができる。
操作の内容ａに対して、過去または将来の一定の期間にわたって移動平均を計算することによっても、同様な効果が期待できる。
あるいは、ドライブロボット制御部２０は、フィードバック系の制御を行うフィードバック制御部を備え、操作の内容ａは、フィードフォワード値としてフィードバック制御部で使用されてもよい。すなわち、フィードバック制御部により、例えばＰＩＤ制御などのフィードバック系の制御系を実現し、操作内容推論部３１により推論された操作の内容ａを、当該制御系におけるフィードフォワード値として使用するように構成してもよい。この場合においては、車速追従性が向上する。
【０１１４】
また、上記実施形態においては、学習前後における損失関数の差が一定の値以下となった場合に学習を終了したが、これに限られない。例えば、所定の回数だけ学習モデル４０、５０を更新したら学習を終了するようにしてもよい。あるいは、学習途中のモデル４０を用いて車両２を実際に走行させ、その結果として燃費や排ガス性能等を実際に測定して、これを基に走行スコアを計算し、走行スコアが学習前後で一定以上増加しなくなった場合に学習を終了するようにしてもよい。
【０１１５】
また、上記実施形態においては、第１学習モデル４０と第２学習モデル５０は強化学習のみにより学習されていたが、部分的に教師あり学習を組み合わせてもよい。例えば、アクセルペダル２ｃとブレーキペダル２ｄを操作して何らかの走行を行った際に、その走行データを取得して、検出車速を指令車速に置き換えると、指令車速に完全に追従されたアクセルペダル２ｃとブレーキペダル２ｄの操作データを得ることができる。このように作成されたデータを教師データとして教師あり学習を併用することにより、強化学習における学習の方向性を定めて学習の進捗を促進するとともに、追従性がより高い操作の内容を学習、推論することができる。
【０１１６】
これ以外にも、本発明の主旨を逸脱しない限り、上記実施形態及び変形例で挙げた構成を取捨選択したり、他の構成に適宜変更したりすることが可能である。
【符号の説明】
【０１１７】
１            試験装置
２            車両
２ｃ          アクセルペダル
２ｄ          ブレーキペダル
３            シャシーダイナモメータ
４            ドライブロボット（自動操縦ロボット）
１０、６０    制御装置
２０、６１    ドライブロボット制御部
２１          指令車速記憶部
２２          走行状態取得部
２３          車両操作制御部
３０          学習部
３１、３１Ａ  操作内容推論部
３２          報酬計算部
３３          強化学習部
３４          学習用データ記憶部
４０、４０Ａ  第１学習モデル
５０          第２学習モデル
Ｑ            行動価値関数（評価値）
ｓ            走行状態
ｓ１          アクセルペダル検出量
ｓ２          ブレーキペダル検出量
ｓＮ          指令車速
ａ            操作の内容
ａ１          アクセルペダル操作
ａ２          ブレーキペダル操作
【図１】
2020056737.tif 000007
【図２】
2020056737.tif 000008
【図３】
2020056737.tif 000009
【図４】
2020056737.tif 000010
【図５】
2020056737.tif 000011
【図６】
2020056737.tif 000012
【図７】
2020056737.tif 000013
【図８】
2020056737.tif 000014