(57)【要約】【課題】過去の制御の成功・失敗経験により、学習値の自律的な修正が可能な車載用の学習制御装置を提供する。【解決手段】学習制御の成功・失敗を記憶する確率密度関数を用意し、評価判定装置を教師とする評価により該確率密度関数をベイズ更新する。該確率密度関数の特性値に従って学習ルールを切換え、制御の成功確率を増やすような最適な学習を行う。具体的には学習値を用いた制御装置と、制御装置により制御される制御対象と、制御対象の挙動が制御意図に対して成功か失敗かを判定する評価判定装置と、判定装置の結果によりベイズ更新される成功・失敗確率密度関数と、関数の特性値により選択される学習更新ルールと、学習更新ルールに従って学習値を更新する学習値更新装置とで構成されることを特徴とする。【選択図】図５
2020086555.tif 000002
【特許請求の範囲】
【請求項１】
学習値を用いた制御装置と、
前記制御装置により制御される制御対象と、
前記制御対象の挙動が制御意図に対して成功か失敗かを判定する評価判定装置と、
前記判定装置の結果によりベイズ更新される成功・失敗確率密度関数と、
前記関数の特性値により選択される学習更新ルールと、
前記学習更新ルールに従って学習値を更新する学習値更新装置とで構成されることを特徴とする車載学習制御装置。
【請求項２】
請求項１に記載の車載学習制御装置において、
前記成功・失敗確率密度関数にベータ分布を採用することを特徴とする車載学習制御装置。
【請求項３】
請求項１に記載の車載学習制御装置において、
前記評価判定装置の出力として、結果が成功か失敗のいずれかであるｎ回の独立な試行を行ったときの成功回数で表される二項分布を採用することを特徴とする車載学習制御装置。
【請求項４】
請求項１に記載の車載学習制御装置において、
前記学習更新ルールが参照する成功・失敗確率密度関数の特性値として、確率分布の平均値を採用することを特徴とする車載学習制御装置。
【請求項５】
請求項１に記載の車載学習制御装置において、
前記学習更新ルールが参照する該成功・失敗確率密度関数の特性値として、確率分布のモードを採用することを特徴とする車載学習制御装置。
【請求項６】
請求項１に記載の車載学習制御装置において、
前記学習更新ルールが参照する該成功・失敗確率密度関数の特性値として、確率分布の分散を採用することを特徴とする車載学習制御装置。
【請求項７】
請求項１に記載の車載学習制御装置において、
前記成功・失敗確率密度関数の初期分布を設定するために、学習値の更新を停止しかつ成功・失敗確率密度関数に最初期値として無情報事前分布を設定し、評価判定装置の結果に従い少なくとも１回以上のベイズ更新を行い初期実力値の分布を計測することを特徴とする車載学習制御装置。
【請求項８】
請求項１に記載の車載学習制御装置において、
前記成功・失敗確率密度関数は、機器外部よりモニタ可能であり、該確率密度関数をモニタすることによって学習制御の実力値もしくは学習の進展具合を外部より把握可能とすることを特徴とする車載学習制御装置。
【請求項９】
請求項８に記載の車載学習制御装置において、
前記成功・失敗確率密度関数は、時系列に従って所定のタイムスタンプと対にして記録されており、これらデータ列は機器外部より参照可能であることを特徴とする車載学習制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベイズ推定を用いた車載学習制御装置に関する。
【背景技術】
【０００２】
従来、自動車の車載制御においては、それが用いる制御パラメータについて種々の学習技術が提案されている。
【０００３】
一例として、特許文献１では機械学習を実行するための仕組みを車両とは別に外部のサーバに置き、各車両と無線で結合してクラウド的なデータの集約および学習、その結果としての更新された学習値の配信を行うことが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１３５５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の技術では、車両とは別の外部のサーバに情報を蓄積してクラウド的なデータの集約および学習、その結果としての更新された学習値の配信を行うため、ＥＣＵが搭載される車両ハードウェアの機械的誤差（例えば、アクチュエータの応答性、アクチュエータの線形性、外乱の過多、システムの応答感度）については考慮されていない。また、サーバからのデータに成りすました不正なデータを受信して車載制御が破綻するセキュリティに対するリスクについても改善の余地がある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、代表的な本発明の車載学習制御装置の一つは、学習値を用いた制御装置と、制御装置により制御される制御対象と、制御対象の挙動が制御意図に対して成功か失敗かを判定する評価判定装置と、判定装置の結果によりベイズ更新される成功・失敗確率密度関数と、関数の特性値により選択される学習更新ルールと、学習更新ルールに従って学習値を更新する学習値更新装置とで構成されることを特徴とする。
【発明の効果】
【０００７】
本発明に係る制御パラメータ学習技術によれば、自律的に該当ＥＣＵのみにクローズして学習がおこなわれるので、当該ＥＣＵが搭載される車両ハードウェアの機械的誤差（例えば、アクチュエータの応答性、アクチュエータの線形性、外乱の過多、システムの応答感度）も含めた学習制御が容易に実現できる。
【図面の簡単な説明】
【０００８】
【図１】通信式クラウド学習の機能ブロック図である。
【図２】自律式教師あり学習の機能ブロック図である。
【図３】通信式クラウド学習の概要図である。
【図４】自律式教師あり学習の概要図である。
【図５】学習制御装置の全体構成を示すブロック図である。
【図６】学習値更新ルールを示す図である。
【図７】確率密度関数をベイズ更新する仕組みを示す図である。
【図８】実力値計測モードで用いられる最初期の確率密度を示す事前分布である。
【図９】評価判定装置の手続きをフローチャートで表現した図である。
【図１０】ベイズ更新装置の手続きをフローチャートで表現した図である。
【図１１】学習値更新の手続きをフローチャートで表現した図である。
【発明を実施するための形態】
【０００９】
以下、実施例について図面を用いて説明する。
【実施例１】
【００１０】
図１は特許文献１の発明概要を示した通信式クラウド学習の機能ブロック図、図２は本実施例の概要を示す自律式教師あり学習の機能ブロック図を示したものである。
【００１１】
図１の通信式クラウド学習として示した特許文献１に記載の発明概要は以下の通りである。各車両に搭載されている電子制御装置（ＥＣＵ１００：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）にて学習制御を行う。情報収集部１０１では、学習対象となる制御パラメータの現在値、それに対する制御の挙動、およびその時の制御に関係する環境値などのデータが収集される。これらデータは、図示する如く、学習（関連）データ１０５と環境データ１０４とを対にして無線装置１０３に送られ、公衆通信網１２０を経由してクラウド学習用サーバ１１０に到達する。クラウド学習用サーバ１１０では各地点のＥＣＵ１００より送られてきたデータを集約部１１１にて集約し、環境データ１０４により制御シーンごとに分類して学習部１１２にて学習を行う。更新された学習値は仕訳部１１３によって関係する宛先ＥＣＵごとに分けられ公衆通信網１２０’を通じてＥＣＵ１００に返送される。
【００１２】
ＥＣＵ１００では無線装置１０３を通じて該データを受信し、学習反映部１０２により学習パラメータを更新する。公衆通信網１２０と公衆通信網１２０’は、データの流れる方向が異なるのみで同一のインフラである。
【００１３】
図３は特許文献１に記載の発明コンセプトを示した通信式クラウド学習の概要図、図４は本実施例のコンセプトを示す自律式教師あり学習の概要図を示したものである。
【００１４】
特許文献１の発明コンセプトは、図３の通信式クラウド学習の概要図として示されるが、この発明の利点は、多地点のＥＣＵ１００から多くの学習サンプルを同時にクラウド学習用サーバ１１０で受信することによって、サンプル数増加による急速学習を行えることである。また、学習の仕組みをクラウド学習用サーバ１１０において集約するので、各ＥＣＵ１００に学習装置を搭載することが不要となりＥＣＵのハードウェアコストを下げることができる。
【００１５】
ただし、欠点としては、各ＥＣＵに接続する無線装置１０３、公衆通信網１２０、クラウド学習用サーバ１１０にインフラが必要で、投資が必要となることあげられる。また、学習シーンの分類粒度が、図１の環境データ１０４の設定によって制約させられる。各ＥＣＵの挙動を平均化した特性の学習能力のみで、ＥＣＵが搭載される車各々のハードウェア機差を含めた学習は難しい。したがって、画像認識の学習とか、制御や処理手順の学習とかアルゴリズムベースの学習制御に適し、用途が限定される。加えて、公衆通信網１２０でデータリンクを行う当然の帰結として、セキュリティに対するリスクが発生する欠点を持つ。すなわち、ＥＣＵ１００がクラウド学習用サーバ１１０からのデータに成りすました不正なデータを受信して車載制御が破綻するリスクがあるし、一方クラウド学習用サーバ１１０にとっても外部よりＥＣＵ１００に成りすました不正なデータを受信して学習値が乱されるリスクもある。
【００１６】
以上のクラウド学習で立ち現れる欠点を克服するための解決手段について本実施例にて説明する。図２は自律式教師あり学習の機能ブロック図であり、図４は本実施例のコンセプトである自律式教師あり学習の概要図である。
【００１７】
図２の自律式教師あり学習の機能ブロック図では、情報をＥＣＵ１００の外部との間でやり取りさせない。その代り制御の教師役となる評価判定装置１０６をＥＣＵ１００の内部に設ける。該評価判定装置１０６で判定された制御の成功・失敗の経験は、成功・失敗確率密度１０７において確率密度関数の形で記憶する。また、この成功・失敗確率密度１０７の特性値（例えば、平均、分散等）によって学習ルール（更新する／しないの決定、更新粒度、更新差分の正負）を切換え、学習反映部１０２にて処理を行う。
【００１８】
図４に本実施例のコンセプトを示す。クラウド学習は多地点の複数ＥＣＵ１００のデータを集約しサンプル増しによる急速学習を行うのに対し、本実施例ではＥＣＵ１００自身の過去多時点の制御経験を活用する。
【００１９】
図４では時間軸ｔ２００の時系列で過去に学習値を用いて制御を行ったシーンの評価判定結果２０１が評価判定装置１０６より導出されている。所定のクライテリア２０２を設定して、それよりも評価が高いときは「成功」、評価が低いときは「失敗」と定義し、時系列的な成功・失敗の二値経験値２０３を得る。この二値経験値は、結果が成功か失敗のいずれかであるｎ回の独立な試行を行ったときの成功回数で表される二項分布とみなされる。これらの二値経験値は成功・失敗確率密度１０７の内部において記憶される確率密度関数をベイズ更新するために用いられる。
【００２０】
制御の実力値を確率密度関数の形で記憶しているので、その元になった二値経験値２０３は時系列データとして保存する必要はない。確率密度関数更新後はこれらのデータ列は破棄してかまわないので、計算機リソース（主にメモリ）に対する負担が少ない。
【００２１】
本実施例に係る制御パラメータ学習技術によれば、自律的に該当ＥＣＵ１００のみにクローズして学習がおこなわれるので、当該ＥＣＵ１００が搭載される車両ハードウェアの機械的誤差（例えば、アクチュエータの応答性、アクチュエータの線形性、外乱の過多、システムの応答感度）も含めた学習制御が容易に実現できる。クラウド学習のように制御シーンの分類に用いられる環境データ１０４を作成するコストが不要となり、この分類粒度に制約された複数ＥＣＵ１００間の平均的学習に機能限定されることもない。
【００２２】
これは、クラウド学習の主要用途（例えば、画像認識、アルゴリズムベース学習、手順学習）に限定されることなく、各車両の機差も含めた学習制御（例えば排ガス・空燃比等の対環境制御、燃費等のエネルギーマネージメント制御、車両体感性能等の対人官能制御、駆動力制約等の車両安全制御等）に適用することが可能となることを意味する。
【００２３】
また、制御データを外部との間でやり取りしないので、クラウド学習のようなセキュリティリスクが発生しないという効果が有る。加えて、クラウド学習のような無線装置１０３、公衆通信網１２０、クラウド学習用サーバ１１０等の追加インフラの準備、それに費やすコストが不要であることは言うまでもない。
【００２４】
本実施例について図５以降を用いて詳細を説明する。
【００２５】
図５は、本実施例における学習制御装置の全体構成を示すブロック図を示したものである。ＥＣＵ１００は、内部に記憶されている学習値３０５を用いて制御を行う。学習値３０５を元に外部アクチュエータ３０７に対する制御指令値を制御指令値計算部３０６にて計算しアクチュエータに出力する。アクチュエータによって制御対象３０８の挙動が変化し、その挙動の値とそのときの環境３０９の値が同ＥＣＵ１００に搭載されている評価判定装置３０１によりモニタされる。
【００２６】
評価判定装置３０１は、ＥＣＵ１００が置かれている環境条件が学習値３０５を用いた制御シーンに該当するか否かを判定する。もしも、制御シーンが該当するならば、その時の制御対象３０８の挙動をチェックし、意図した制御が成功しているか、失敗しているかを判定する。
【００２７】
したがって、評価判定装置３０１の出力は、ＥＣＵ１００が該当制御シーンに遭遇した回数とその時の制御の成功・失敗の内訳回数となる。これは、図４に示すように、教師役の所定の評価関数を設定しておき、その評価値が所望のクライテリア２０２を超えたか未満かで表す二値をカウントすればよい。
【００２８】
この制御シーン総数と成功・失敗の内訳回数の組とを用いて、ベイズ更新装置３０２で成功・失敗確率密度３０３のベイズ更新を行う。
【００２９】
ベイズ更新の手順については、図７で後述する。
【００３０】
成功・失敗確率密度３０３は、学習値３０５を元にした制御の成績を確率密度関数の形で記憶したものであり、一実施例としてベータ分布を用いる。
【００３１】
続く学習値更新ルール３０４のブロックでは、前記確率密度関数の特性値により学習ルールが切り替えられる。この特性値としては、確率密度関数の平均値（μ）、分散（σ２）、最頻値（ｍｏｄｅ）等を用いてもよい。
【００３２】
この学習値更新ルール３０４の一実施例を図６に学習値更新ルールとして示す。表では、評価結果よる採用ルールの項目が大まかに特定条件により４００と４０１に分割されている。４０１の項目は、別の特定条件により４０２と４０３に再分割されている。４０２と４０３の項目は、各々別の特定条件により４０４と４０５に細分化される。
【００３３】
表の条件４００では、確率密度関数の平均値（μ）が所定のクライテリアより大きい場合（ほとんどの制御が成功：良い）であり、学習値の更新を停止する。
【００３４】
条件４０１は、確率密度関数の平均値（μ）が所定のクライテリア未満の場合（条件４００の補集合：悪い）であり、学習値の更新を行う。この学習値更新ルールは条件４０２と条件４０３によって二分されている。
【００３５】
条件４０２は確率密度関数の平均値（μ）の時間変化が正の場合である。すなわち成功確率が増えている状態（良化）なので、今までの学習値の増減方向を踏襲し学習値を所望の微小ステップで変化させる。
【００３６】
条件４０３は確率密度関数の平均値（μ）の時間変化が負の場合である。すなわち成功確率が減っている状態（悪化）なので、今までの学習値の増減方向の符号を反転し学習値を所望の微小ステップで変化させる。
【００３７】
図６では、加えて項目４０２と４０３も各々別の条件により２分割されている。条件４０４は、確率密度関数の分散（σ２）の時間変化が正の場合である。この場合は制御がオーバーシュート気味であり、評価結果に斑があるので学習値変化のステップの粒度を小さくする。すなわち更新量を少なくする。
【００３８】
条件４０５は、確率密度関数の分散（σ２）の時間変化が負の場合である。この場合は学習値の変動分が制御に寄与する効果が低下しているので学習値変化のステップの粒度を大きくする。すなわち更新量を多くする。
【００３９】
図７は、成功・失敗確率密度３０３で記憶される確率密度関数をベイズ更新５０３する仕組みを示す図である。図５では、これに関与する機能ブロックとしてベイズ更新装置３０２、成功・失敗確率密度３０３として示されている。
【００４０】
確率密度関数の観測前の事前分布は一実施例としてベータ分布Ｂｅ（α，β）を想定しているので、その平均値（μ）と分散（σ２）は、図７の５００で示される数式となる。
【００４１】
これをベイズの定理５０２によりベイズ更新５０３を行う。
【００４２】
今ここで、学習値を用いる制御として評価判定装置３０１が、ｎ回制御シーンを観測し、そのうちのｒ回が制御に成功した（ｒ≦ｎ）と教師信号を出力した場合を仮定する。すなわち、評価判定装置３０１の出力は確率的に二項分布となり、そのときの尤度は観測尤度５０１に示すものとなる。
【００４３】
これらの観測値を経験した後の事後分布は、「事後分布∝尤度×事前分布」から求められる。これらは、ベータ分布の特性から簡単に求められ、図７の事後分布５１０で示される。観測尤度５０１では、事後のベータ分布の形状とその平均値（μ）と分散（σ２）は、制御シーン回数のｎと成功回数のｒを用いて簡単な式で表されている。
【００４４】
図８は、後述する図７のフローチャートで、実力値計測モードで用いられる最初期の確率密度を示す事前分布であり、無情報事前分布と称する。本実施例で採用したベータ分布においては、Ｂｅ（１、１）の無情報事前分布５２０となり、一様分布となる。
【００４５】
図９は、図５の評価判定装置３０１の動作をフローチャートにより示した図である。以下、図９〜１１において、フローチャート上の各制御ステップをＳＸＸＸ（Ｓはステップの略号、Ｘは数字）という記号で識別し記述する。
【００４６】
Ｓ６０１では現状の環境が学習値を用いる特定シーンかどうかが判定され、肯定の場合はＳ６０２に、否定の場合はＳ６０５に進んで処理を終える。
【００４７】
Ｓ６０２では、シーンカウンタｎをインクリメントし、続くＳ６０３で制御が成功しているか、失敗かが判定される。成功ならば、Ｓ６０４で成功カウンタｒをインクリメントしフローを終了Ｓ６０５する。失敗ならば、成功カウンタｒをインクリメントしないでフローを終了Ｓ６０５する。したがって、ｒ≦ｎが常に成立する。
【００４８】
図１０は、図５のベイズ更新装置３０２の動作をフローチャートにより示した図である。
Ｓ７０１では、今回の処理がベイズ更新タイミングであるかどうかが判定される。肯定ならばＳ７０２に否定ならばＳ７０７に進んで一連の処理をスキップし終了する。このベイズ更新タイミングとは、制御シーンｎを所定回数蓄積した時に実施してもよいし、所定の時間間隔により判定してもよい。
【００４９】
続くＳ７０２では、実力値判定モードか否かが判定される。実力値判定モードとは、制御の学習値を更新せずに、まず現状の制御の実力値を観測するモードである。例えば、通常、一連の車載制御の最初期に実施される。もしくは、ベータ分布Ｂｅ（α、β）のα、βどちらかの値が過大となり計算上煩雑となったので、学習を再スタートしα、βの値を小さくしたい場合に行うことが考えられる。すなわち、α、βの次数のリセットである。
【００５０】
実力値計測モードである場合Ｓ７０３に進んで、ベイズ更新を行う。Ｓ７０３では、事前分布を無情報事前分布Ｂｅ（１、１）（図８の無情報事前分布５２０）としてベイズ更新を行っている。Ｓ７０３を一度実施した場合はＳ７０４で実力値計測モードを終了する。したがって無情報事前分布Ｂｅ（１、１）は初回のベイズ更新にしか使われない。
【００５１】
実力値計測モードではない通常のベイズ更新モードの場合は、Ｓ７０５に進んで図５の成功・失敗確率密度３０３より事前分布のベータ分布Ｂｅ（α、β）を参照し、これのベイズ更新を行う（図７の事後分布５１０）。
【００５２】
Ｓ７０４もしくはＳ７０５を終了すれば、Ｓ７０５でシーンカウンタｎと成功カウンタｒを各々リセットし、Ｓ７０７にて一連の処理を終了する。
【００５３】
図１１は、図５の成功・失敗確率密度３０３、学習値更新ルール３０４、および学習値３０５に関係する学習値の更新に関する一連の処理の流れをフローチャートにして示した図である。
【００５４】
Ｓ８０１では、図１０の説明において前述した実力値計測モードであるかが確認される。実力値計測モードである場合、学習値を更新しないので、Ｓ８０６に進んで学習値更新処理をスキップする。
【００５５】
実力値計測モードではなく、通常の学習値更新モードの場合は、Ｓ８０２に進んで学習値更新タイミングであるか否かが調べられる。この学習値更新タイミングは所望の時間間隔で設定させられてもよいし、別の何らかの事象イベントの蓄積回数（例えば当該制御シーンをまとめて所望回経験したとか）で決定させられてもよい。
【００５６】
学習値更新タイミングの場合はＳ８０３に進み、タイミングで無い場合はＳ８０６に進んで一連の処理を終了する。
【００５７】
Ｓ８０３では成功・失敗確率密度（図５の３０３）の現在の確率密度関数Ｂｅ（α、β）より特性値（平均値（μ）、分散（σ２）、最頻値（ｍｏｄｅ）等）が計算される。
【００５８】
つづくＳ８０４では、この特性値の値により学習ルール表（図６）を検索し、該当する学習ルールを導出する。
【００５９】
これによりＳ８０５にて学習値を更新し、Ｓ８０６にて一連の処理フローを終了する。
【００６０】
以上述べたように、本発明の手段によれば、外部のサーバやクラウド学習に頼ることなく、簡便で最適な学習をＥＣＵ内部のみで自律的に行うことができる。過去の経験データを時系列で保存するのではなく、確率密度関数の形で保存するので計算リソースに対する負担が少ない。また、この確率密度関数を成功・失敗の経験でベイズ更新するので、人間の直観に沿った学習制御手段の実装を支援することができる。
【００６１】
また、成功・失敗の確率密度関数は、外部からモニタすることによって学習の実力値、もしくは進展度合いを機器外部で把握することができる。加えて、これらデータの時系列的遷移を保存可能にしておけば機能安全分野のエビデンスや事後検証にも利用することができる。
【００６２】
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。特に、上記各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりシングルコアもしくはマルチコアのソフトウェアとして実現することもできるし、集積回路と密接に関連したデバイス制御言語もしくはファームウェアとして実現することもできる。
【符号の説明】
【００６３】
１００：ＥＣＵ、３０１：評価判定装置、３０２：ベイズ更新装置、３０３:成功・失敗確率密度、３０４：学習更新ルール、３０５：学習値、３０６：制御指令値計算部、３０７：アクチュエータ、３０８：制御対象、３０９：環境、５００：事前分布、５０１：観測尤度、５０２：ベイズの定理、５０３：ベイズ更新、５１０：事後分布、５２０：無情報事前分布
【図１】
2020086555.tif 000003
【図２】
2020086555.tif 000004
【図３】
2020086555.tif 000005
【図４】
2020086555.tif 000006
【図５】
2020086555.tif 000007
【図６】
2020086555.tif 000008
【図７】
2020086555.tif 000009
【図８】
2020086555.tif 000010
【図９】
2020086555.tif 000011
【図１０】
2020086555.tif 000012
【図１１】
2020086555.tif 000013