(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176832
(43)【公開日】2024-12-19
(54)【発明の名称】モデル生成方法、データ収集方法及び制御プログラム
(51)【国際特許分類】
G08G 1/16 20060101AFI20241212BHJP
G06N 20/00 20190101ALI20241212BHJP
【FI】
G08G1/16 D
G06N20/00 130
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023095654
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】高橋 祐希
(72)【発明者】
【氏名】橋本 龍
【テーマコード(参考)】
5H181
【Fターム(参考)】
5H181AA01
5H181AA25
5H181AA26
5H181BB04
5H181BB05
5H181BB13
5H181BB17
5H181BB20
5H181CC02
5H181CC04
5H181CC11
5H181CC12
5H181FF33
5H181LL01
5H181LL02
5H181LL04
5H181LL09
5H181LL15
(57)【要約】
【課題】適切な反応速度で移動体の制御を遂行する能力を獲得した訓練済みの機械学習モデルを得るための技術を提供することである。
【解決手段】本開示の一側面に係るモデル生成方法は、コンピュータが、訓練データ及び正解データの組み合わせによりそれぞれ構成される複数のデータセットを取得すること、及び取得された複数のデータセットを使用して、制御モデルの機械学習を実施することを含む。複数のデータセットを使用することは、正解データにより示される制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に使用することを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータにより実行されるモデル生成方法であって、
前記モデル生成方法は、
移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを取得することと、
取得された前記複数のデータセットを使用して、制御モデルの機械学習を実施することと、
を含み、
前記機械学習を実施することは、前記各データセットについて、前記制御モデルを使用して前記移動体の制御指令を前記訓練データから導出した結果が前記正解データに適合するものとなるように前記制御モデルを訓練することを含み、かつ
前記複数のデータセットを使用することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に使用することを含む、
モデル生成方法。
【請求項2】
前記反応速度が適切と評価されるデータセットほど優先的に使用することは、
前記複数のデータセットのうちの前記反応速度が適切と評価される第1データセットの前記機械学習におけるサンプリング確率を高くし、かつ
前記反応速度が適切と評価されない第2データセットを前記機械学習の対象から除外せず、当該第2データセットの前記機械学習におけるサンプリング確率を前記第1データセットより低くする、
ことにより構成される、
請求項1に記載のモデル生成方法。
【請求項3】
前記移動体は、センサを備え、
前記訓練データは、前記センサにより得られるセンサデータを含み、
前記訓練データにおける前記イベントの開始時刻は、前記センサデータにより特定される、
請求項1又は2に記載のモデル生成方法。
【請求項4】
前記移動体は、車両である、
請求項1又は2に記載のモデル生成方法。
【請求項5】
前記イベントは、先行車両の減速、並走車両のカットイン、駐停車車両の発生、障害物の発生、及び信号機の変化の少なくともいずれかを含む、
請求項4に記載のモデル生成方法。
【請求項6】
前記制御指令は、前記車両の加速、減速及び操舵の少なくともいずれかを含む、
請求項4に記載のモデル生成方法。
【請求項7】
コンピュータにより実行されるデータ収集方法であって、
前記データ収集方法は、
移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを収集することと、
機械学習に使用するために、収集された複数のデータセットを出力することと、
を含み、
前記複数のデータセットを収集することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に収集することを含む、
データ収集方法。
【請求項8】
前記反応速度が適切と評価されるデータセットほど優先的に収集することは、前記コンピュータの記憶領域に一時的に保存されたデータセットのうち、前記所定の条件により前記反応速度が適切であると評価されるデータセットを維持し、前記所定の条件により前記反応速度が適切ではないと評価されるデータセットを削除することにより構成される、
請求項7に記載のデータ収集方法。
【請求項9】
前記複数のデータセットを出力することは、
前記所定の条件により前記反応速度が適切であると評価されるデータセットを外部サーバに送信し、かつ
前記所定の条件により前記反応速度が適切ではないと評価されるデータセットの前記外部サーバへの送信を省略すること、
により構成される、
請求項7に記載のデータ収集方法。
【請求項10】
コンピュータに、
対象の移動体の移動する環境を示す対象データを取得することと、
訓練済みの制御モデルを使用して、取得された対象データから制御指令を導出することと、
前記制御指令を導出した結果に従って、前記対象の移動体の動作を制御することと、
を実行させるための制御プログラムであって、
前記訓練済みの制御モデルは、訓練用の移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記訓練用の移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを使用した機械学習を実施することにより生成されたものであり、
前記機械学習を実施することは、前記各データセットについて、前記制御モデルを使用して前記移動体の制御指令を前記訓練データから導出した結果が前記正解データに適合するものとなるように前記制御モデルを訓練することを含み、かつ
前記複数のデータセットを前記機械学習に使用することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど前記機械学習に優先的に使用することを含む、
制御プログラム。
【請求項11】
前記対象の移動体は、車両である、
請求項10に記載の制御プログラム。
【請求項12】
前記イベントは、先行車両の減速、並走車両のカットイン、駐停車車両の発生、障害物の発生、及び信号機の変化の少なくともいずれかを含む、
請求項11に記載の制御プログラム。
【請求項13】
前記制御指令は、前記車両の加速、減速及び操舵の少なくともいずれかを含む、
請求項11に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデル生成方法、データ収集方法及び制御プログラムに関する。
【背景技術】
【0002】
特許文献1には、運転操作を示す情報及び当該運転操作時における運転状況を示す情報を取得し、取得された情報に基づいて運転状況が学習に適切であるか否かを判定し、並びに不適切と判定された運転状況における運転操作を学習の対象外と判定するように構成された運転支援装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の目的は、適切な反応速度で移動体の制御を遂行する能力を獲得した訓練済みの機械学習モデルが得られる蓋然性を高めるための技術又はそれにより得られた訓練済みの機械学習モデルを使用した移動体の制御技術を提供することである。
【課題を解決するための手段】
【0005】
本開示の第1の態様に係るモデル生成方法は、コンピュータにより実行される。当該モデル生成方法は、移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを取得することと、取得された前記複数のデータセットを使用して、制御モデルの機械学習を実施することと、を含む。前記機械学習を実施することは、前記各データセットについて、前記制御モデルを使用して前記移動体の制御指令を前記訓練データから導出した結果が前記正解データに適合するものとなるように前記制御モデルを訓練することを含む。そして、前記複数のデータセットを使用することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に使用することを含む。制御モデルは、ニューラルネットワークにより構成されてよい。
【0006】
本開示の第2の態様に係るデータ収集方法は、コンピュータにより実行される。当該データ収集方法は、移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを収集することと、機械学習に使用するために、収集された複数のデータセットを出力することと、を含む。そして、前記複数のデータセットを収集することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に収集することを含む。
【0007】
本開示の第3の態様に係る制御プログラムは、コンピュータに、対象の移動体の移動する環境を示す対象データを取得することと、訓練済みの制御モデルを使用して、取得された対象データから制御指令を導出することと、前記制御指令を導出した結果に従って、前記対象の移動体の動作を制御することと、を実行させるためのプログラムである。前記訓練済みの制御モデルは、訓練用の移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記訓練用の移動体に対する制御指令を時系列に示す正解データの組み合
わせによりそれぞれ構成される複数のデータセットを使用した機械学習を実施することにより生成されたものである。前記機械学習を実施することは、前記各データセットについて、前記制御モデルを使用して前記移動体の制御指令を前記訓練データから導出した結果が前記正解データに適合するものとなるように前記制御モデルを訓練することを含む。そして、前記複数のデータセットを前記機械学習に使用することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど前記機械学習に優先的に使用することを含む。
【発明の効果】
【0008】
本開示によれば、適切な反応速度で移動体の制御を遂行する能力を獲得した訓練済みの機械学習モデルが得られる蓋然性を高めるための技術又はそれにより得られた訓練済みの機械学習モデルを使用した移動体の制御技術を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本開示が適用される場面の一例を模式的に示す。
【
図2】
図2は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に示す。
【
図3】
図3は、実施の形態に係る制御装置のハードウェア構成の一例を模式的に示す。
【
図4】
図4は、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に示す。
【
図5】
図5は、実施の形態に係る制御装置のソフトウェア構成の一例を模式的に示す。
【
図6】
図6は、実施の形態に係るモデル生成装置による制御モデルの機械学習に関する処理手順の一例を示すフローチャートである。
【
図7A】
図7Aは、実施の形態に係るイベントの一例を模式的に示す。
【
図8A】
図8Aは、実施の形態に係るイベントの一例を模式的に示す。
【
図9】
図9は、実施の形態に係るイベントの一例を模式的に示す。
【
図11A】
図11Aは、実施の形態において、所定の条件により反応速度が適切と評価されるデータセットほど優先的に使用することの一例を模式的に示す。
【
図11B】
図11Bは、実施の形態において、所定の条件により反応速度が適切と評価されるデータセットほど優先的に使用することの一例を模式的に示す。
【
図12】
図12は、実施の形態に係る制御装置による移動体の動作制御に関する処理手順の一例を示すフローチャートである。
【
図13】
図13は、本開示が適用される他の場面の一例を模式的に示す。
【
図14】
図14は、他の形態に係るデータ収集装置のハードウェア構成の一例を模式的に示す。
【
図15】
図15は、他の形態に係るデータ収集装置のソフトウェア構成の一例を模式的に示す。
【
図16】
図16は、他の形態に係るデータ収集装置によるデータ収集に関する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
特許文献1により提案される方法によれば、不適切と判定された運転状況における運転操作を学習の対象外とすることで、適切な運転操作のみを実行する能力を獲得した自動運転モデルが生成されることを期待することができる。しかしながら、本件発明者らは、従来の方法には次のような問題点があることを見出した。
【0011】
すなわち、車両の自動運転を遂行する能力を機械学習によりモデルに獲得させる場面を想定する。この場合、訓練済みの機械学習モデルに獲得される能力は、機械学習に使用される学習データに依存する。学習データは、様々なドライバから収集され得る。このとき、ドライバの能力は一定とは限らない。例えば、先行車の減速等のイベントに対する反応(運転操作の実行)速度の早いドライバが存在する一方で、当該イベントに対する反応速度の遅いドライバも存在する。したがって、収集される学習データに表れるドライバの反応速度は分散し得る。
【0012】
この点に関して、従来の方法では、不適切と判定された運転操作を学習の対象外とするに過ぎない。適切な運転操作でも反応速度の違いは生じ得る。そのため、従来の方法では、適切な反応速度で自動運転を遂行する能力を獲得した訓練済みの機械学習モデルが得られるとは限らなかった。
【0013】
なお、この問題点は、車両の種類(例えば、車輪数(二輪車、四輪車等)、大きさ(大型、普通、小型等)、動力源(電気、燃料等)等)を問わず生じ得る。また、このような問題点が生じるのは、車両を制御する場面に限られない。移動を制御する点では、車両以外の移動体でも同様である。そのため、車両以外のあらゆる移動体(例えば、飛行体(ドローン等)、船舶等)を制御する場面でも、同様の問題点が生じ得る。
【0014】
これに対して、本開示の第1の態様に係るモデル生成方法は、コンピュータにより実行される。当該モデル生成方法は、移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを取得することと、取得された前記複数のデータセットを使用して、制御モデルの機械学習を実施することと、を含む。前記機械学習を実施することは、前記各データセットについて、前記制御モデルを使用して前記移動体の制御指令を前記訓練データから導出した結果が前記正解データに適合するものとなるように前記制御モデルを訓練することを含む。そして、前記複数のデータセットを使用することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に使用することを含む。
【0015】
機械学習により生成される訓練済みモデルの能力は、当該機械学習に使用されるデータセットに依存する。本開示の第1の態様では、反応速度が適切と評価されるデータセットほど機械学習に優先的に使用される。そのため、適切な反応速度で移動体の制御を遂行する能力を獲得した訓練済みの機械学習モデルが得られる蓋然性を高めることができる。
【0016】
また、本開示の第2の態様に係るデータ収集方法は、コンピュータにより実行される。当該データ収集方法は、移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを収集することと、機械学習に使用するために、収集された複数のデータセットを出力することと、を含む。そして、前記複数のデータセットを収集することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に収集することを含む。
【0017】
本開示の第2の態様では、反応速度が適切と評価されるデータセットほど優先的に収集
することにより、上記第1の態様と同様に、当該反応速度が適切と評価されるデータセットほど機械学習に優先的に使用されるようにすることができる。したがって、適切な反応速度で移動体の制御を遂行する能力を獲得した訓練済みの機械学習モデルが得られる蓋然性を高めることができる。
【0018】
また、本開示の第3の態様に係る制御プログラムは、コンピュータに、対象の移動体の移動する環境を示す対象データを取得することと、訓練済みの制御モデルを使用して、取得された対象データから制御指令を導出することと、前記制御指令を導出した結果に従って、前記対象の移動体の動作を制御することと、を実行させるためのプログラムである。前記訓練済みの制御モデルは、訓練用の移動体の移動する環境を時系列に示す訓練データ及び前記環境における前記訓練用の移動体に対する制御指令を時系列に示す正解データの組み合わせによりそれぞれ構成される複数のデータセットを使用した機械学習を実施することにより生成されたものである。前記機械学習を実施することは、前記各データセットについて、前記制御モデルを使用して前記移動体の制御指令を前記訓練データから導出した結果が前記正解データに適合するものとなるように前記制御モデルを訓練することを含む。そして、前記複数のデータセットを前記機械学習に使用することは、前記正解データにより示される前記制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど前記機械学習に優先的に使用することを含む。
【0019】
上記各態様のとおり、反応速度が適切と評価されるデータセットほど機械学習に優先的に使用することで、適切な反応速度で移動体の制御を遂行する能力を獲得した訓練済みの機械学習モデルを得ることができる。本開示の第3の態様によれば、そのような訓練済みの制御モデル(機械学習モデル)を使用することで、適切な反応速度で移動体の制御を遂行可能であることを期待することができる。
【0020】
以下、本開示の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良又は変形が行われてよい。本開示の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0021】
[1 適用例]
図1は、本開示を適用した場面の一例を模式的に示す。本実施形態に係るシステムは、モデル生成装置1及び制御装置2を備える。
【0022】
本実施形態に係るモデル生成装置1は、機械学習を実施することで、訓練済みの制御モデル5を生成するように構成される1台以上のコンピュータである。本実施形態では、モデル生成装置1は、訓練データ41及び正解データ45の組み合わせによりそれぞれ構成される複数のデータセット4を取得する。訓練データ41は、移動体(訓練用の移動体)の移動する環境を時系列に示すように構成される。正解データ45は、対応する訓練データ41により示される環境における移動体に対する制御指令の真値を時系列に示すように構成される。
【0023】
モデル生成装置1は、取得された複数のデータセット4を使用して、制御モデル5の機械学習を実施する。この機械学習を実施することは、各データセット4について、制御モデル5を使用して移動体の制御指令を訓練データ41から導出した結果が対応する正解データ45に適合するものとなるように制御モデル5を訓練することを含む。そして、当該機械学習において、複数のデータセット4を使用することは、正解データ45により示さ
れる制御指令のイベントに対する反応速度が所定の条件に適合することで当該反応速度が適切と評価されるデータセットほど優先的に使用することを含む。この機械学習により、移動体の移動する環境に応じて制御指令を導出する能力を獲得した訓練済みの制御モデル5を生成することができる。
【0024】
一方、本実施形態に係る制御装置2は、訓練済みの制御モデル5を使用して、対象の移動体Mの移動を制御するように構成された1台以上のコンピュータである。本実施形態では、制御装置2は、対象の移動体Mの移動する環境を示す対象データ221を取得する。制御装置2は、訓練済みの制御モデル5を使用して、取得された対象データ221から制御指令を導出する。そして、制御装置2は、制御指令を導出した結果に従って、対象の移動体Mの動作を制御する。
【0025】
以上のとおり、本実施形態では、モデル生成装置1において、反応速度が適切と評価されるデータセットほど機械学習に優先的に使用して、訓練済みの制御モデル5が生成される。機械学習により生成される訓練済みモデルの能力は、当該機械学習に使用されるデータセットに依存するため、本実施形態によれば、適切な反応速度で移動体の制御を遂行する能力を習得した訓練済みの制御モデル5の獲得を期待することができる。そして、本実施形態に係る制御装置2では、そのような訓練済みの制御モデル5を使用することで、適切な反応速度で対象の移動体Mの制御を遂行可能であることを期待することができる。
【0026】
(移動体)
機械制御により自動的に移動可能であれば、移動体(移動体M)の種類は、特に限られなくてよく、実施の形態に応じて適宜選択されてよい。移動体(移動体M)は、例えば、車両、飛行体、船舶、ロボット装置等の任意の移動可能な装置であってよい。飛行体は、ドローン等の無人機及び有人機の少なくともいずれかであってよい。
【0027】
一例では、
図1に示されるとおり、移動体(移動体M)は、車両であってよい。この場合、モデル生成装置1では、適切な反応速度で車両の制御を遂行する能力を習得した訓練済みの制御モデル5の獲得を期待することができる。また、制御装置2では、そのような訓練済みの制御モデル5を使用することで、適切な反応速度で対象の車両の制御を遂行可能であることを期待することができる。
【0028】
なお、移動体が車両である場合、車両の種類は任意に選択されてよい。車両は、例えば、二輪車、三輪車、四輪車等から選択されてよい。車両の動力源は、例えば、電気、燃料等から選択されてよい。車両が自動車である場合、車両の大きさは、大型、中型、準中型、普通、大型特殊、小型特殊等から選択されてよい。車両が二輪車である場合、車両の大きさは、大型、普通等から選択されてよい。典型例として、移動体(移動体M)は、レベル2以上の自動運転の能力を有した自動車であってよい。
【0029】
(環境/センサ)
環境は、移動体自身及び周囲の少なくとも一方で観測される事象である。一例では、少なくとも一部の環境は、移動体(移動体M)の内部又は外部に配置された1つ以上のセンサSにより観測されてよい。これに応じて、訓練データ41及び対象データ221はそれぞれ、1つ以上のセンサSにより得られるセンサデータSDを含んでよい。
【0030】
センサSは、移動体の移動する任意の環境を観測可能であれば、その種類は、特に限られなくてよく、実施の形態に応じて適宜選択されてよい。一例では、1つ以上のセンサSは、カメラ(画像センサ)、レーダ、LiDAR(Light Detection And Ranging)、ソナー(超音波センサ)、赤外線センサ、GNSS(Global Navigation Satellite System)/GPS(Global Positioning Satellite)モジュール等を含んでよい。
【0031】
(制御指令)
制御指令は、移動体の動作に関する。制御指令の構成は、実施の形態に応じて適宜決定されてよい。例えば、制御指令は、加速、減速、操舵又はこれらの組み合わせにより構成されてよい。加速及び減速は、ギアチェンジを含んでよい。この場合、モデル生成装置1では、加速、減速、操舵又はこれらの組み合わせの制御を適切な反応速度で遂行する能力を習得した訓練済みの制御モデル5の獲得を期待することができる。また、制御装置2では、そのような訓練済みの制御モデル5を使用することで、加速、減速、操舵又はこれらの組み合わせの制御を適切な反応速度で遂行可能であることを期待することができる。
【0032】
一例では、移動体(移動体M)が車両である場合に、制御指令は、当該車両の加速、減速及び操舵の少なくともいずれかを含んでよい。加速、減速及び操舵の少なくともいずれかを含む場合、制御指令は、パスにより表現されてよい。これに応じて、制御モデル5は、パスプランナと表現されてよい。
【0033】
また、制御指令は、移動体の操作に関する指令を更に含んでよい。一例として、移動体(移動体M)が車両である場合、制御指令は、ウィンカー、ハザード、クラクション、通信処理(例えば、センタにデータを送信する、緊急コールを発信する等)等の車両操作を含んでよい。
【0034】
(データセット)
各データセット4は、適宜生成されてよい。各データセット4は、コンピュータの動作により自動的に生成されてもよいし、或いは少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。典型的には、被験者が全て手動操作で移動体を制御している間に、当該移動体の操作データ及び環境データが収集されてよい。環境データ(観測データ)は、移動体に搭載されたセンサSにより得られてよい。操作データは、被験者による手動操作を記録することで得られてよい。そして、各データセット4の訓練データ41は、環境データから生成されてよい。正解データ45は、操作データから生成されてよい。すなわち、典型的には、被験者による手動操作(例えば、車両の手動運転)の結果からデータセット4が生成されてよい。移動体を利用してデータセット4を得る場合、データセット4を得る対象となる移動体は、生成された訓練済みの制御モデル5を使用する対象となる移動体Mを含んでいてもよいし、移動体Mを含んでいなくてもよい。すなわち、訓練用の移動体は、対象の移動体Mを含んでもよいし、対象の移動体Mを含んでいなくてもよい。訓練用の移動体は、エンドユーザにより使用される移動体を含んでよい。この場合、エンドユーザが、被検者であってよい。また、訓練用の移動体は、実験的に使用される移動体を含んでよい。
【0035】
ただし、データセット4を生成する方法は、このような例に限られなくてよく、実施の形態に応じて適宜選択されてよい。他の一例では、上記一例と同様に、被験者による手動操作の結果からデータセット4が生成されてもよいが、手動操作は、任意の自動制御に対するオーバーライド操作等の部分的な自動制御の動作中における被験者による操作を含んでよい。他の一例では、少なくとも一部のデータセット4は、シミュレーション等の仮想的な方法により得られてよい。他の一例では、少なくとも一部のデータセット4は、強化学習のフレームワークにより獲得されてもよい。また、他の一例では、少なくとも一部のデータセット4は、任意のデータセットに対するデータ拡張(Data Augmentation)によ
り得られてもよい。データ拡張は、訓練データの属性値を変更することで、新たな訓練データを生成することにより構成される。例えば、訓練データが画像を含む場合、パラメータの変更は、画像に対する平行移動、拡大、縮小、回転、ノイズ付与等の画像処理により構成されてよい。少なくとも一部のデータセット4をデータ拡張により得る場合、任意のデータセット(元のデータセット)の訓練データに対して反応速度及び反応速度に依存す
る属性の少なくともいずれか以外の他の属性の値を変更し、それに応じた正解データを付与することで、1以上の新たなデータセットが生成されてよい。複数のデータセット4は、生成された新たなデータセットを含んでよい。
【0036】
(制御モデル)
制御モデル5は、機械学習により調整可能な1つ以上の演算パラメータを有する機械学習モデルにより構成される。1つ以上の演算パラメータは、目的とする推論(本件では、制御指令の導出)の演算に使用される。機械学習は、学習データ(本件では、複数のデータセット4)を使用して、演算パラメータの値を調整(最適化)することである。機械学習モデルの構成及び種類はそれぞれ、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。機械学習モデルは、例えば、ニューラルネットワーク、サポートベクタマシン、回帰モデル、決定木モデル等により構成されてよい。
【0037】
一例として、制御モデル5は、ニューラルネットワークにより構成されてよい。ニューラルネットワークの構造は、実施の形態に応じて適宜決定されてよい。ニューラルネットワークの構造は、例えば、入力層から出力層までの層の数、各層の種類、各層に含まれるノード(ニューロン)の数、各層のノード同士の結合関係等により特定されてよい。一例では、ニューラルネットワークは、再帰構造を有してもよい。また、ニューラルネットワークは、例えば、全結合層、畳み込み層、プーリング層、逆畳み込み層、アンプーリング層、正規化層、ドロップアウト層、LSTM(Long short-term memory)等の任意の層を含んでよい。ニューラルネットワークは、Attention機構等の任意の機構を有してもよい。制
御モデル5(ニューラルネットワーク)は、GNN(Graph neural network)、diffusionモデル、生成モデル(例えば、Generative Adversarial Network、Transformer等)等の任意のモデルを含んでよい。ニューラルネットワークを制御モデル5に使用する場合、制御モデル5(ニューラルネットワーク)に含まれる各ノード間の結合の重み及び各ノードの閾値が、演算パラメータの一例である。
【0038】
移動体の環境から制御指令を導出可能であれば、制御モデル5の入出力の形態は、特に限られなくてよく、実施の形態に応じて適宜選択されてよい。例えば、制御モデル5は、1以上の時点の環境データから1以上の時点の制御指令を導出するように構成されてよい。また、制御モデル5は、その構造により時系列データを受け入れ可能に構成されてよい。一例として、制御モデル5は、再帰型に構成されることで、時系列データを受け入れ可能に構成されてよい。他の一例として、制御モデル5は、複数の時点の環境データを一括で入力されるように構成されてもよい。或いは、制御モデル5は、構造上は、時系列データを受け入れ不能に構成されてよい。例えば、制御モデル5は、1時点の環境データから1時点の制御指令を導出するように構成されてよい。この場合、制御モデル5は、時系列データにおける各時点のデータを順次受け取り、演算結果を順次出力することにより、時系列データに対する演算結果を得るように使用されてよい。更に、制御モデル5は、制御指令を即時的に導出するように構成されてよい。或いは、制御モデル5は、複数の未来の時点の制御指令を一括で導出するように構成されてよい。この場合、一括で導出される制御指令の少なくとも一部が移動体(移動体M)の制御に使用されてよい。
【0039】
制御モデル5は、移動体の環境から制御指令を導出する推論処理の少なくとも一部に関与しているのであれば、制御モデル5により実行される処理内容は、特に限られなくてよく、実施の形態に応じて適宜選択されてよい。一例では、制御モデル5は、周辺認識及びパスプランニング(経路/軌道計画)を実行するように構成されてよい。制御モデル5は、モーションプランニング(動作/制御計画)を更に実行するように構成されてもよい。すなわち、制御モデル5は、end-to-endモデルであってよい。
【0040】
また、制御モデル5の出力により移動体の動作を制御可能であれば、制御モデル5の出
力形式は、実施の形態に応じて適宜選択されてよい。制御モデル5は、制御指令を直接的に出力するように構成されてもよい。或いは、制御モデル5の出力に対して任意の情報処理(解釈処理)を実行することで制御指令が得られてもよい。制御指令は、例えば、アクセル制御量、ブレーキ制御量、ハンドル操舵角等の移動体の制御量(制御指示値、制御出力量)を直接的に示すように構成されてもよい。或いは、制御指令は、例えば、パス、制御後の状態等のように、移動体の制御量を間接的に示すように構成されてよい。この場合、任意の情報処理を実行することで、制御指令から移動体の制御量が得られてよい。一例では、移動体が車両の場合、制御モデル5から得られた推論結果を車両モデルに適用することで、車両の制御量が得られてよい。車両モデルは、アクセル、ブレーキ、ハンドル操舵等の各種パラメータを有してよく、間接情報(パス、制御後状態等)から制御量を導出するよう適宜構成されてよい。
【0041】
なお、各データセット4の正解データ45は、制御指令を直接的又は間接的に示すように適宜構成されてよい。制御モデル5の出力から任意の演算処理を実行することで制御指令が導出される場合、正解データ45は、制御モデル5の出力から導出される制御指令に対して与えられてもよい(すなわち、正解データ45は、制御指令を直接的に示すように構成されてよい)。或いは、正解データ45は、制御モデル5の出力に対して与えられてよい(すなわち、正解データ45は、制御指令を間接的に示すように構成されてよい)。
【0042】
(イベント)
イベントは、移動体の操作に関与し得るあらゆる事象を含んでよい。また、イベントは、センサSにより検知可能なあらゆる事象を含んでよい。センサSにより検知することは、センサ値により判定することである。すなわち、イベントの開始時刻が、センサデータにより特定されてよい。検知(判定、特定)方法は、イベントに応じて適宜決定されてよい。センサデータは任意の方法で解析されてよく、これにより、イベントの開始時刻が特定されてよい(すなわち、イベントの発生が検知されてよい)。
【0043】
これに応じて、移動体(移動体M)は、センサSを備えてよい。訓練データ41は、センサSにより得られるセンサデータSDを含んでよい。そして、訓練データ41におけるイベントの開始時刻は、センサデータSDにより特定されてよい。これにより、各データセット4における反応速度を機械的に評価可能であるため、機械学習において優先的に使用するデータセット4の判別の効率化を図ることができる。すなわち、優先的に使用するデータセット4の選別作業を少なくとも部分的に自動化することができ、これにより、手間の削減を図ることができる。なお、イベントに対する操作の開始時刻は、正解データ45に表れる。そのため、この形態では、訓練データ41及び正解データ45からイベントに対する反応速度(すなわち、イベントの発生時刻から操作の開始時刻までの時間)を特定することができる。
【0044】
(イベントの例)
一例として、移動体(移動体M)が車両の場合、イベントは、当該車両に対する先行車両の減速、並走車両のカットイン、駐停車車両の発生、障害物の発生、及び信号機の変化の少なくともいずれかを含んでよい。障害物は、車両の走行を阻害する可能性を有するあらゆる物体を含んでよい。障害物は、例えば、歩行者、自転車等であってよい。この場合、モデル生成装置1では、これらのイベントの少なくともいずれかに対して、適切な反応速度で車両の制御を遂行する能力を習得した訓練済みの制御モデル5の獲得を期待することができる。また、制御装置2では、そのような訓練済みの制御モデル5を使用することで、これらのイベントの少なくともいずれかに対して、適切な反応速度で対象の車両の制御を遂行可能であることを期待することができる。
【0045】
なお、自動運転(自動制御)の対象とするイベントに先行車両の減速が含まれる場合、
制御指令は、先行車両に応じた減速の指令を含んでよい。対象とするイベントに並走車両のカットインが含まれる場合、制御指令は、並走車両に応じた減速の指令を含んでよい。対象とするイベントに駐停車車両の発生が含まれる場合、制御指令は、駐停車車両に応じた減速及び操舵の少なくともいずれかを含んでよい。対象とするイベントに障害物の発生が含まれる場合、制御指令は、障害物に応じた減速及び操舵の少なくともいずれかを含んでよい。対象とするイベントに信号機の変化が含まれる場合、制御指令は、信号機に応じた加速又は減速の指令を含んでよい。これらのイベントは、他種の移動体(例えば、飛行体、船舶等)にも転用されてよい。
【0046】
(所定の条件に適合する)
所定の条件は、イベントに応じて適切な反応速度を評価可能に適宜規定されてよい。一例では、所定の条件は、反応速度が速いほど適切と評価するように規定されてよい。この場合、イベントに対する反応速度が速いデータセットほど(適切な反応速度と評価され)機械学習に優先的に使用されてよい。ただし、所定の条件は、このような例に限定されなくてよい。他の一例では、所定の条件は、適切な反応速度の範囲(上限値及び下限値)を規定してよい。この場合、所定の条件で規定された範囲に反応速度が属するデータセットは機械学習に優先的に使用され、それ以外のデータセット(すなわち、所定の条件で規定された範囲の反応速度より反応速度が速い又は遅いデータセット)は機械学習に優先的には使用されなくてよい。
【0047】
(優先的に使用)
反応速度が適切と評価されるデータセットほど優先的に使用することは、優先的に使用されるデータセットが、優先的に使用されないデータセットより制御モデル5の訓練に反映されやすくする任意の方法で構成されてよい。
【0048】
一例として、優先するか否かに応じて、単純に使用するか否かを決定してよい。すなわち、反応速度が適切と評価されるデータセットほど優先的に使用することは、反応速度が適切と評価されるデータセットを制御モデル5の訓練に使用し、反応速度が適切と評価されていないデータセットを制御モデル5の訓練に使用しないことにより構成されてよい。この方法によれば、反応速度の評価を極めて簡単に機械学習に反映することができる。
【0049】
他の一例として、複数のデータセット4のうちの反応速度が適切と評価されるデータセットを第1データセットとし、反応速度が適切と評価されない(すなわち、所定の条件に適合しない)データセットを第2データセットとする。反応速度が適切と評価されるデータセットほど優先的に使用することは、複数のデータセット4のうちの第1データセットの機械学習におけるサンプリング確率を高くし、かつ第2データセットの機械学習におけるサンプリング確率を第1データセットより低くすることにより構成されてよい。
【0050】
この場合、反応速度が適切と評価されるデータセットほど優先的に使用することは、第2データセットの少なくとも一部を機械学習の対象から除外する(すなわち、サンプリング確率を0にする)ことにより更に構成されてよい。或いは、反応速度が適切と評価されるデータセットほど優先的に使用することは、第2データセットを機械学習の対象から除外しない(すなわち、サンプリング確率を0にしない)ことにより更に構成されてよい。実際の場面では、外的要因により、適正な操作として、反応速度の遅い操作が実行されることもあり得る。例えば、急ブレーキ、急操舵等の急な操作が、反応速度の遅い操作として想定される。また、イベントが検知された後、操作を要するまでの期間が長いことで、見かけ上、反応速度が遅いと評価される可能性もあり得る。この点、第2データセットを機械学習の対象から除外しないことで、これらの操作も制御モデル5に習得させることができる。そのため、イベントに対する操作のロバスト性の向上を期待することができる。
【0051】
更に他の一例として、反応速度が適切と評価されるデータセットほど優先的に使用することは、複数のデータセット4のうちの第1データセットの訓練の重みを大きくし、第2データセットの訓練の重みを小さくすることにより構成されてよい。例えば、訓練の重みを大きくすることは、学習率を高くすることにより構成され、訓練の重みを小さくすることは、学習率を低くすることにより構成されてよい。つまり、反応速度が適切と評価されるデータセットほど優先的に使用することは、1回の訓練における制御モデル5のパラメータの更新量が優先されるデータセットほど大きくなるようにすることにより構成されてよい。更に他の一例では、優先的に使用することは、上記サンプリング確率及び重みの両方の手法を含んでよい。
【0052】
なお、使用に対する優先度は、適宜設定されてよい。一例では、優先度は、2段階(すなわち、優先する/優先しないの2段階)であってよい。他の一例では、優先度は、3段階以上に設定されてよい。この場合、優先的に使用されるデータセットの間で、優先度が相違してよい(すなわち、優劣があってよい)。同様に、優先的に使用されないデータセットの間で優先度が相違してもよい。
【0053】
(動作を制御すること)
一例では、対象の移動体Mの動作を制御することは、対象の移動体Mを直接的に制御することにより構成されてよい。他の一例では、移動体(移動体M)は、例えば、コントローラ等の専用の制御装置を備えてよい。この場合、制御装置2による対象の移動体Mの動作を制御することは、当該専用の制御装置に導出結果を与えることで、対象の移動体Mを間接的に制御することにより構成されてよい。
【0054】
(システム構成)
一例では、
図1に示されるとおり、モデル生成装置1及び制御装置2は、ネットワークを介して互いに通信(接続)可能に構成されてよい。ネットワークの種類は、特に限定されなくてよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び制御装置2の間でデータをやり取りする方法は、このような例に限定されなくてよく、実施の形態に応じて適宜選択されてよい。他の一例では、記憶媒体を利用して、データのやり取りが行われてよい。
【0055】
また、
図1の例では、モデル生成装置1及び制御装置2は、それぞれ別個のコンピュータである。しかしながら、システム構成は、このような例に限定されなくてよい。他の一例では、モデル生成装置1及び制御装置2は、一体のコンピュータにより構成されてよい。また、モデル生成装置1及び制御装置2の少なくとも一方は、複数台のコンピュータにより構成されてよい。
【0056】
また、
図1の例では、制御装置2は、移動体Mの内部に搭載されている。しかしながら、制御装置2の配置は、このような例に限られなくてよい。制御装置2は、移動体Mの動作を直接的又は間接的に制御可能であれば、移動体Mの外部に配置されてもよい。
【0057】
[2 構成例]
[ハードウェア構成例]
<モデル生成装置>
図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に示す。
図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。
【0058】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、
RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。制御部11(CPU)は、プロセッサ・リソースの一例である。
【0059】
記憶部12は、例えば、ハードディスクドライブ、ソリッドステートドライブ等により構成されてよい。記憶部12(及びRAM、ROM)は、メモリ・リソースの一例である。本実施形態では、記憶部12は、モデル生成プログラム81、複数のデータセット4、学習結果データ125等の各種情報を記憶する。
【0060】
モデル生成プログラム81は、制御モデル5の機械学習に関する情報処理(後述の
図6)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。学習結果データ125は、生成された訓練済みの制御モデル5に関する情報を示すように構成される。本実施形態では、学習結果データ125は、モデル生成プログラム81を実行した結果として生成される。
【0061】
通信インタフェース13は、ネットワークを介した有線又は無線通信を行うためのインタフェースである。通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等により構成されてよい。モデル生成装置1は、通信インタフェース13を介して、他のコンピュータ(例えば、制御装置2)との間でデータ通信を実行してよい。
【0062】
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、モデル生成装置1を操作することができる。入力装置14及び出力装置15は、例えば、タッチパネルディスプレイ等により一体的に構成されてもよい。
【0063】
ドライブ16は、記憶媒体91に記憶されたプログラム等の各種情報を読み込むための装置である。上記モデル生成プログラム81、複数のデータセット4及び学習結果データ125の少なくともいずれかは、記憶部12に代えて又は記憶部12と共に、記憶媒体91に格納されていてもよい。記憶媒体91は、コンピュータ等の機械が各種情報(記憶されたプログラム等)を読み取り可能なように、電気的、磁気的、光学的、機械的又は化学的作用により当該情報を蓄積するように構成される。モデル生成装置1は、モデル生成プログラム81及び複数のデータセット4の少なくともいずれかを記憶媒体91から取得してよい。
【0064】
ここで、
図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。
【0065】
なお、モデル生成装置1の具体的なハードウェア構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)、
ECU(Electronic Control Unit)、GPU(Graphics Processing Unit)等により構
成されてよい。通信インタフェース13、入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータにより構成されてよい。この場合、各コンピュータのハードウェア構成は、一致していて
もよいし、或いは一致していなくてもよい。モデル生成装置1は、提供されるサービス専用に設計されたコンピュータの他、汎用のサーバ装置、汎用のPC(Personal Computer
)、産業用PC、端末装置(例えば、タブレットPC等)等であってよい。
【0066】
<制御装置>
図3は、本実施形態に係る制御装置2のハードウェア構成の一例を模式的に示す。
図3に示されるとおり、本実施形態に係る制御装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26及び外部インタフェース27が電気的に接続されたコンピュータである。
【0067】
制御装置2の制御部21~ドライブ26及び記憶媒体92はそれぞれ、上記モデル生成装置1の制御部11~ドライブ16及び記憶媒体91それぞれと同様に構成されてよい。制御部21(CPU)は、制御装置2のプロセッサ・リソースの一例であり、記憶部22(及びRAM、ROM)は、制御装置2のメモリ・リソースの一例である。本実施形態では、記憶部22は、制御プログラム82、学習結果データ125等の各種情報を記憶する。
【0068】
制御プログラム82は、訓練済みの制御モデル5による対象の移動体Mの自動制御に関する情報処理(後述の
図12)を制御装置2に実行させるためのプログラムである。制御プログラム82は、当該情報処理の一連の命令を含む。制御プログラム82及び学習結果データ125の少なくともいずれかは、記憶部22に代えて又は記憶部22と共に、記憶媒体92に格納されていてもよい。制御装置2は、制御プログラム82及び学習結果データ125の少なくともいずれかを記憶媒体92から取得してよい。
【0069】
制御装置2は、通信インタフェース23を介して、他のコンピュータ(例えば、モデル生成装置1)との間でデータ通信を行ってよい。オペレータは、入力装置24及び出力装置25を利用することで、制御装置2を操作することができる。入力装置24及び出力装置25は、例えば、タッチパネルディスプレイ等により一体的に構成されてもよい。
【0070】
外部インタフェース27は、外部装置と接続するためのインタフェースである。外部インタフェース27は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であってよい。外部インタフェース27の種類及び数は、接続される外部装置の種類及び数に応じて適宜決定されてよい。本実施形態では、制御装置2は、外部インタフェース27を介して、センサSに接続されてよい。対象データ221の少なくとも一部は、センサSにより得られるセンサデータにより構成されてよい。なお、センサSの接続方法は、このような例に限定されなくてよい。他の一例では、センサSは、通信インタフェース23を介して接続されてよい。
【0071】
なお、制御装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP、ECU、GPU等により構成されてよい。通信インタフェース23、入力装置24、出力装置25、ドライブ26及び外部インタフェース27の少なくともいずれかは省略されてもよい。制御装置2は、複数台のコンピュータにより構成されてよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、或いは一致していなくてもよい。制御装置2は、提供されるサービス専用に設計されたコンピュータの他、汎用のコンピュータ、スマートフォンを含む携帯電話、タブレットPC(Personal Computer)等であってよい。移動体Mが車両の場合、制御装置2は、車載装置であってよい。
【0072】
[ソフトウェア構成例]
<モデル生成装置>
図4は、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に示す。モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開し、モデル生成プログラム81に含まれる命令をCPUにより実行する。これにより、モデル生成装置1は、学習データ取得部111、学習処理部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0073】
学習データ取得部111は、訓練データ41及び正解データ45の組み合わせによりそれぞれ構成される複数のデータセット4を取得するように構成される。学習処理部112は、取得された複数のデータセット4を使用して、制御モデル5の機械学習を実施するように構成される。本実施形態では、機械学習を実施することは、各データセット4について、制御モデル5を使用して移動体の制御指令を訓練データ41から導出した結果が対応する正解データ45に適合するものとなるように制御モデル5を訓練することを含む。また、当該機械学習において、複数のデータセット4を使用することは、正解データ45により示される制御指令のイベントに対する反応速度が所定の条件に適合することで当該反応速度が適切と評価されるデータセットほど優先的に使用することを含む。この機械学習の実行により、訓練済みの制御モデル5が生成される。
【0074】
保存処理部113は、機械学習により生成された訓練済みの制御モデル5を保存するように構成される。一例では、保存処理部113は、機械学習の結果として生成された訓練済みの制御モデル5を示す学習結果データ125を生成するように構成されてよい。訓練済みの制御モデル5の演算処理を実行するための情報を保持可能であれば、学習結果データ125の構成は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例として、学習結果データ125は、機械学習により調整された演算パラメータの値を示す情報を含むように構成されてよい。場合によっては、学習結果データ125は、訓練済みの制御モデル5の構成(例えば、ニューラルネットワークの構造等)を示す情報を含むように構成されてもよい。保存処理部113は、生成された学習結果データ125を所定の記憶領域に保存するように構成されてよい。学習結果データ125は、任意のタイミングで制御装置2に提供されてよい。
【0075】
<制御装置>
図5は、本実施形態に係る制御装置2のソフトウェア構成の一例を模式的に示す。制御装置2の制御部21は、記憶部22に記憶された制御プログラム82をRAMに展開し、制御プログラム82に含まれる命令をCPUにより実行する。これにより、
図5に示されるとおり、本実施形態に係る制御装置2は、取得部211、導出部212、及び動作制御部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1と同様に、制御装置2の各ソフトウェアモジュールも、制御部21(CPU)により実現される。
【0076】
取得部211は、対象の移動体Mの移動する環境を示す対象データ221を取得するように構成される。導出部212は、学習結果データ125を保持していることで、上記モデル生成装置1により生成された訓練済みの制御モデル5を備えている。導出部212は、訓練済みの制御モデル5を使用して、取得された対象データ221から制御指令を導出するように構成される。動作制御部213は、制御指令を導出した結果(すなわち、訓練済みの制御モデル5により導出された制御指令)に従って、対象の移動体Mの動作を制御するように構成される。
【0077】
<その他>
本実施形態では、モデル生成装置1及び制御装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部は、1又は複数の専用のプロセッサにより実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。モデル生成装置1及び制御装置2のソフトウェア構成に関して、実施形態に応じて、適宜、モジュールの省略、置換及び追加が行われてもよい。
【0078】
[3 動作例]
[モデル生成装置]
図6は、本実施形態に係るモデル生成装置1による制御モデル5の機械学習に関する処理手順の一例を示すフローチャートである。以下の処理手順は、コンピュータにより実行されるモデル生成方法の一例である。ただし、以下のモデル生成装置1の処理手順は、一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0079】
<ステップS101>
ステップS101では、制御部11は、学習データ取得部111として動作する。すなわち、制御部11は、訓練データ41及び正解データ45の組み合わせによりそれぞれ構成される複数のデータセット4を取得する。
【0080】
訓練データ41は、移動体の移動する環境を時系列に示すように構成される。一例では、訓練データ41は、センサSにより得られるセンサデータSDを含んでよい。その他に、訓練データ41は、例えば、設定速度、制限速度、地図情報、ナビ情報等の制御に関与し得る任意の情報を含んでよい。正解データ45は、対応する訓練データ41により示される環境における移動体に対する制御指令を直接的又は間接的に時系列に示すように構成される。
【0081】
上記のとおり、各データセット4は、適宜生成(収集)されてよい。生成された各データセット4は、モデル生成装置1(記憶部12及び記憶媒体91の少なくとも一方)で保存されていてよい。或いは、各データセット4は、ネットワークサーバ(例えば、NAS:Network Attached Storage)等の他のコンピュータで保存されていてもよい。この場合、機械学習を実施する際に、制御部21は、ネットワーク、外部記憶装置、記憶媒体91等を介して、各データセット4を取得してよい。各データセット4は、データベースの形式で保存されていてよい。
【0082】
複数のデータセット4の少なくとも一部の生成は、モデル生成装置1により行われてよい。複数のデータセット4の少なくとも一部の生成は、モデル生成装置1以外の他のコンピュータにより行われてもよい。データセット4が他のコンピュータで生成される場合、制御部11は、例えば、ネットワーク、外部記憶装置、記憶媒体91等を介して、他のコンピュータにより生成されたデータセット4を取得してよい。
【0083】
取得するデータセット4の件数は、実施の形態に応じて適宜決定されてよい。複数のデータセット4を取得すると、制御部11は、次のステップS102に処理を進める。
【0084】
<ステップS102>
ステップS102では、制御部11は、学習処理部112として動作する。すなわち、制御部11は、取得された複数のデータセット4を使用して、制御モデル5の機械学習を実施する。機械学習では、制御部11は、各データセット4について、制御モデル5を使用して移動体の制御指令を訓練データ41から導出した結果が対応する正解データ45に適合するものとなるように制御モデル5を訓練する。
【0085】
制御モデル5(機械学習モデル)は、推論タスクを解く演算処理を実行するための1つ以上の演算パラメータを備える。制御モデル5を訓練することは、与えられた学習データ(複数のデータセット4)に応じて、制御モデル5(機械学習モデル)の演算パラメータの値を最適化(調整)することである。機械学習の方法は、制御モデル5に使用する機械学習モデルのタイプ、構造等の実施の形態に応じて適宜決定されてよい。演算パラメータの調整方法には、例えば、誤差逆伝播法、最適化問題を解く等の任意の方法が採用されてよい。
【0086】
(機械学習方法の一例)
典型例として、制御モデル5がニューラルネットワークにより構成される場合、制御部11は、まず、機械学習の処理対象となる制御モデル5を用意する。用意する制御モデル5の構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、制御モデル5を用意してよい。次に、制御部11は、各データセット4の訓練データ41を入力データとして利用し、正解データ45を教師信号(ラベル)として利用して、制御モデル5の学習処理(教師あり学習)を実行する。
【0087】
図4に示されるとおり、学習処理の一例として、第1のステップでは、制御部11は、各データセット4の訓練データ41を入力し、制御モデル5の順伝播の演算処理を実行する。この演算処理の結果、制御部11は、訓練データ41に対する推論結果(直接的又は間接的な制御指令の導出結果)に対応する出力値を制御モデル5から取得する。第2のステップでは、制御部11は、取得された出力値と対応する正解データ45との間の誤差を算出する。第3のステップでは、制御部11は、算出された誤差の勾配を算出する。そして、制御部11は、誤差逆伝播法により、算出された誤差の勾配を逆伝播することで、制御モデル5の演算パラメータ(各ノード間の結合の重み、各ノードの閾値等)の値の誤差を算出する。第4のステップでは、制御部11は、算出された誤差に基づいて、演算パラメータの値を更新する。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0088】
制御部11は、上記第1~第4のステップを繰り返すことで、各データセット4について、制御モデル5から出力される出力値と正解データ45との間の誤差の和が小さくなるように、制御モデル5の演算パラメータのあたいを調整する。この演算パラメータの値の調整は、例えば、設定された反復回数の調整を実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで繰り返されてよい。閾値は、実施の形態に応じて適宜設定されてよい。また、誤差を算出するための目的関数(コスト関数、損失関数、誤差関数)、学習率、最適化アルゴリズム等の機械学習の条件は、実施の形態に応じて適宜設定されてよい。
【0089】
この制御モデル5の演算パラメータの値の調整は、ミニバッチに対して実行されてよい。一例として、上記第1~第4のステップの処理を実行する前に、制御部11は、複数のデータセット4から任意のサンプル(データセット)を抽出することでミニバッチを生成してよい。ミニバッチのサイズは、実施の形態に応じて適宜設定されてよい。そして、制御部11は、生成されたミニバッチに含まれるデータセット4について、上記第1~第4のステップの処理を実行してよい。第1~第4のステップを繰り返す場合、制御部11は、ミニバッチを再度生成し、生成された新たなミニバッチに対して、上記第1~第4のステップの処理を実行してよい。
【0090】
なお、機械学習の手法は、このような教師あり学習の例に限られなくてよく、その他の
手法が少なくとも部分的に採用されてもよい。他の一例として、深層強化学習が採用されてよい。この場合、複数のデータセット4の一部は、強化学習におけるエピソードの結果として得られてよい。或いは、制御部11は、強化学習におけるエピソードの結果から複数の新たなデータセットを生成し、生成された複数の新たなデータセット及び複数のデータセット4を使用して、制御モデル5の演算パラメータを調整(最適化)してもよい。深層強化学習には、例えば、R2D3:Recurrent Replay Distributed DQN from Demonstrations等の任意の手法が採用されてよい。
【0091】
(イベントの具体例)
本実施形態では、上記機械学習において、制御部11は、正解データ45により示される制御指令のイベントに対する反応速度が所定の条件に適合することで当該反応速度が適切と評価されるデータセットほど優先的に使用する。
【0092】
上記のとおり、イベントは、移動体の操作に関与し得るあらゆる事象を含んでよい。また、イベントは、センサSにより検知可能なあらゆる事象を含んでよい。一例として、移動体(移動体M)は車両であってよく、イベントは、当該車両に対する先行車両の減速、並走車両のカットイン、駐停車車両の発生、障害物の発生、及び信号機の変化の少なくともいずれかを含んでよい。
【0093】
所定の条件は、イベントに応じて適切な反応速度を評価するように適宜規定されてよい。イベントの開始時刻は、センサSにより得られるセンサデータにより特定されてよい。反応速度は、イベントの開始時刻から当該イベントに対する動作制御(操作)の開始時刻までの間の時刻により定義されてよい。以下に具体例を示す。
【0094】
(A)先行車両の減速
図7Aは、イベント(先行車両の減速)の一例を模式的に示す。
図7Aの例では、車両MAが、イベントに遭遇している車両である。すなわち、学習段階では、車両MAからデータセット4を得ることを想定してよい。一方、車両MBは、車両MAの先行車両である。
【0095】
先行車両MBの減速に遭遇した場合、車両MAでは、先行車両MBの減速に対処する任意の操作が実行されてよい。車両MAで取り得る制御操作の一例は、先行車両MBに応じた減速操作である。そのため、一例では、反応速度は、先行車両MBが減速を開始した時刻(減速を検知した時刻)から車両MAにおいて減速操作を開始した時刻までの時間で定義されてよい。
【0096】
先行車両MBの減速は、例えば、カメラ、レーダ、LiDAR等の速度、位置又は車間距離
に関するセンサ(センサS)で検知可能である。先行車両MBの減速を検知するための指標は適宜規定されてよい。一例では、先行車両MBの減速を検知する指標には、衝突余裕時間(TTC:Time-To-Collision)、衝突余裕度(MTC:Margin-To-Collision)等の衝突リスク指標が用いられてよい。
【0097】
一方、車両MAにおける減速操作は、車両MAの速度、加速度及びブレーキ量の少なくともいずれかにより検知されてよい。一例として、車両MAにおいて減速の操作を実行したタイミングは、車両MAの速度、加速度及びブレーキ量の少なくともいずれかに対する閾値評価により検知されてよい。
【0098】
したがって、本実施形態の一例では、先行車両MBの減速に対する減速操作の反応速度は、先行車両MBの減速を検知した時刻(イベントの開始時刻)から車両MAの減速操作を検知した時刻(操作の開始時刻)までの時間により定義されてよい。時間が短いほど反
応速度は速いと評価され、時間が長いほど反応速度は遅いと評価される。
【0099】
図7Bは、先行車両の減速に対する応答操作の反応速度を評価するための手法の一例を模式的に示す。
図7Bの例では、先行車両MBの減速を検知するための指標として衝突リスク指標が採用され、減速操作を検知するための指標として車両MAの加速度(負の加速度)が採用されている。閾値TAは、イベント(先行車両MBの減速)の開始時刻を検知するために衝突リスク指標に対して設定され、閾値TBは、減速操作の開始時刻を検知するために車両MAの加速度に対して設定される。閾値TBは、例えば、路面の影響等の外的要因を考慮して設定されてよい。各閾値(TA、TB)は、オペレータにより手動的に設定されてもよいし、或いは統計量等により少なくとも部分的に自動的に設定されてもよい。
図7Bの例では、反応速度は、(衝突リスク指標に基づいて)閾値TAにより検知されるイベント開始時刻から(車両MAの加速度に基づいて)閾値TBにより検知される減速操作の開始時刻までの時間により算定することができる。
【0100】
なお、先行車両MBに対する車両MAの操作(動作制御)は、上記の例のような減速に限られなくてよく、実施の形態に応じて適宜選択されてよい。他の一例では、先行車両MBの減速に遭遇した場合に、車両MAは、車線変更を遂行してよい。この場合、車両MAにおける速度、加速度、ブレーキ量、アクセル量及び操舵量の少なくともいずれかにより車線変更の操作の開始時刻が検知されてよく、これに応じて、反応速度が算定されてよい。操舵量は、例えば、ステアリングトルクにより計測されてよい。その他の一例では、ウィンカー操作等の車両操作により、車線変更の操作の開始時刻が検知されてもよい。また、先行車両MBのストップランプの点灯の有無等の先行車両MBのシグナルが、先行車両MBの減速を検知する指標に用いられてもよい。
【0101】
(B)並走車両のカットイン
図8Aは、イベント(並走車両のカットイン)の一例を模式的に示す。
図8Aの例では、車両MCが、イベントに遭遇している車両である。すなわち、学習段階では、車両MCからデータセット4を得ることを想定してよい。一方、車両MDは、車両MCの並走車両である。
図8Aの例では、並走車両MDが、車両MCの前方に割り込むことを想定している。
【0102】
並走車両MDのカットインに遭遇した場合、車両MCでは、並走車両MDのカットインに対処する任意の操作が実行されてよい。車両MCで取り得る制御操作の一例は、並走車両MDのカットインに応じた減速操作である。そのため、一例では、反応速度は、並走車両MDがカットインを開始した時刻(カットインを検知した時刻)から車両MCにおいて減速操作を開始した時刻までの時間で定義されてよい。
【0103】
並走車両MDのカットインは、例えば、カメラ、レーダ、LiDAR等の速度、位置又は車
間距離に関するセンサ(センサS)で検知可能である。並走車両MDのカットインを検知するための指標は適宜規定されてよい。一例では、並走車両MDのカットインを検知する指標には、ラップ量、並走車両MDと白線との間の距離等の距離指標が用いられてよい。例えば、ラップ量が一定値以下になったタイミング、並走車両MDが白線上に到達したタイミング等により並走車両MDのカットインが検知されてよい。なお、ラップ量は、他車両(並走車両MD)と自車(車両MC)の予測進路MCAとの間の車幅方向(車両の進行方向に対する左右方向、図の上下方向)の距離である。予測進路MCAは、例えば、図の点線で示される車両MCの進路予測範囲であってよい。一方、上記(A)と同様に、車両MCにおける減速操作は、車両MCの速度、加速度及びブレーキ量の少なくともいずれかにより検知されてよい。したがって、本実施形態の一例では、並走車両MDのカットインに対する減速操作の反応速度は、並走車両MDのカットインを検知した時刻(イベントの開始時刻)から車両MCの減速操作を検知した時刻(操作の開始時刻)までの時間により
定義されてよい。
【0104】
図8Bは、並走車両のカットインに対する応答操作の反応速度を評価するための手法の一例を模式的に示す。
図8Bの例では、並走車両MDのカットインを検知するための指標としてラップ量が採用され、減速操作を検知するための指標として車両MCの加速度(負の加速度)が採用されている。閾値TCは、イベント(並走車両MDのカットイン)の開始時刻を検知するためにラップ量に対して設定され、閾値TDは、減速操作の開始時刻を検知するために車両MCの加速度に対して設定される。閾値TDは、例えば、路面の影響等の外的要因を考慮して設定されてよい。各閾値(TC、TD)は、オペレータにより手動的に設定されてもよいし、或いは統計量等により少なくとも部分的に自動的に設定されてもよい。
図8Bの例では、反応速度は、(ラップ量に基づいて)閾値TCにより検知されるイベント開始時刻から(車両MCの加速度に基づいて)閾値TDにより検知される減速操作の開始時刻までの時間により算定することができる。
【0105】
なお、並走車両MDに対する車両MCの操作(動作制御)は、上記の例のような減速に限られなくてよく、実施の形態に応じて適宜選択されてよい。他の一例では、並走車両MDのカットインに遭遇した場合、車両MCは、車線変更を遂行してよい。この場合、車両MCにおける速度、加速度、ブレーキ量、アクセル量及び操舵量の少なくともいずれかにより車線変更の操作の開始時刻が検知されてよく、これに応じて、反応速度が算定されてよい。その他の一例では、ウィンカー操作等の車両操作により、車線変更の操作の開始時刻が検知されてもよい。また、並走車両MDのストップランプの点灯の有無、ターンシグナルランプの点灯の有無等の並走車両MDのシグナルが、並走車両MDのカットインを検知する指標に用いられてよい。
【0106】
また、並走車両MDのカットインの態様は場面により異なり得る。一例では、合流路、工事区間等の走行不能箇所におけるカットインでは、それ以外のカットイン(例えば、通常の車線変更)と比べて、並走車両MDを確実に割り込ませるために、車両MCはより早いタイミングでの対処が求められる可能性がある。そのため、カットインのイベントは場面に応じて種類分けされてもよい。
【0107】
(C)駐停車車両の発生
図9は、イベント(駐停車車両の発生)の一例を模式的に示す。
図9の例では、車両MEが、イベントに遭遇している車両である。すなわち、学習段階では、車両MEからデータセット4を得ることを想定してよい。一方、車両MFが、駐停車車両である。
図9の例では、車両MEの前方で車両MFが駐停車したことを想定している。
【0108】
駐停車車両MFの発生に遭遇した場合、車両MEでは、駐停車車両MFに対処する任意の操作が実行されてよい。一例では、駐停車車両MFの発生は、先行車両MBを駐停車車両MFに置き換え、上記(A)の先行車両MBの減速と同様に取り扱われてよい。すなわち、一例では、車両MEで取り得る制御操作の一例は、駐停車車両MFの発生に応じた減速又は回避(車線変更等)操作である。反応速度は、駐停車車両MFが発生した時刻(駐停車車両MFを検知した時刻)から車両MEにおいて減速又は回避の操作を開始した時刻までの時間で定義されてよい。
【0109】
駐停車車両MFの発生は、例えば、カメラ、レーダ、LiDAR等の速度、位置又は車間距
離に関するセンサ(センサS)で検知可能である。一例では、駐停車車両MFを検知する指標には、上記衝突リスク指標が用いられてよい。駐停車車両MFを検知する衝突リスク指標には、上記衝突余裕時間、衝突余裕度の他、駐停車車両MFまでの距離、車間距離/走行速度(THW:Time Head Way)等の指標が用いられてよい。したがって、本実施形
態の一例では、駐停車車両MFの発生に対する反応速度は、衝突リスク指標の値に対する
閾値判定により検知されるイベント開始時刻から車両MEの動作量(速度、加速度、ブレーキ量、アクセル量及び操舵量の少なくともいずれか)の値に対する閾値判定により検知される操作の開始時刻までの時間により算定されてよい。その他の一例では、ウィンカー操作等の車両操作により、回避の操作の開始時刻が検知されてもよい。また、駐停車車両MFのハザードランプの点灯の有無等の駐停車車両MFのシグナルが、駐停車車両MFの発生を検知する指標に用いられてよい。
【0110】
(D)障害物の発生
障害物の発生は、上記駐停車車両MFの発生と同様である。上記の例において、駐停車車両MFを障害物に置き換えることで、障害物の発生に対する操作の反応速度は、上記駐停車車両MFの発生に対する操作の反応速度と同様に評価可能である。本実施形態の一例では、障害物の発生に対する反応速度は、衝突リスク指標の値に対する閾値判定により検知されるイベント開始時刻から車両の動作量の値に対する閾値判定により検知される操作の開始時刻までの時間により算定されてよい。衝突リスク指標は、上記駐停車車両MFを障害物に置き換えて計測されてよい。その他の一例では、ウィンカー操作等の車両操作により、回避の操作の開始時刻が検知されてもよい。なお、上記のとおり、障害物は、例えば、歩行者、自転車等であってよい。
【0111】
(E)信号機の変化
図10Aは、イベント(信号機の変化)の一例を模式的に示す。
図10Aの例では、車両MGが、イベントに遭遇している車両である。すなわち、学習段階では、車両MGからデータセット4を得ることを想定してよい。
【0112】
信号機MTの変化に遭遇した場合、車両MGでは、信号機MTの変化に対処する任意の操作が実行されてよい。一例として、信号機MTが進行信号から減速信号又は注意信号に変わった(青色信号から黄色信号に変わった)場合、車両MGの取り得る制御操作の一例は、信号機MT前で停車するための減速操作又は信号機MTの設置道路を通過するための加速操作である。そのため、一例では、反応速度は、信号機MTが変化を開始した時刻(変化を検知した時刻)から車両MGにおいて減速又は加速操作を開始した時刻までの時間で定義されてよい。
【0113】
信号機MTの変化は、例えば、カメラ等のセンサ(センサS)で検知可能である。信号機MTの変化を検知する指標には、信号機MTにおける点灯信号の色を識別した結果が用いられてよい。信号機MTにおける点灯信号の色は任意の方法で識別されてよい。一方、車両MGにおける減速又は加速操作は、車両MGの速度、加速度、アクセル量及びブレーキ量の少なくともいずれかにより検知されてよい。したがって、本実施形態の一例では、信号機MTの変化に対する減速又は加速操作の反応速度は、信号機MTの変化を検知した時刻(イベントの開始時刻)から車両MGの減速又は加速操作を検知した時刻(操作の開始時刻)までの時間により定義されてよい。減速操作及び加速操作には別々に閾値が設定されてよい。
【0114】
図10Bは、信号機の変化に対する応答操作の反応速度を評価するための手法の一例を模式的に示す。
図10Bの例では、信号機MTの色変化は、瞬時的に起きると想定している。この
図10Bの例では、信号機MTの変化を検知するための指標として信号機MTにおける点灯信号の色の識別結果が採用され、減速又は加速操作を検知するための指標として車両MGの加速度が採用されている。閾値TEは、減速操作の開始時刻を検知するために車両MGの加速度に対して設定され、閾値TFは、加速操作の開始時刻を検知するために車両MGの加速度に対して設定される。各閾値(TE、TF)は、例えば、路面の影響等の外的要因を考慮して設定されてよい。各閾値(TE、TF)は、オペレータにより手動的に設定されてもよいし、或いは統計量等により少なくとも部分的に自動的に設定され
てもよい。
図10Bの例では、減速操作の反応速度は、信号機MTの変化した時刻(イベント開始時刻)から(車両MGの加速度に基づいて)閾値TEにより検知される減速操作の開始時刻までの時間により算定することができる。また、加速操作の反応速度は、信号機MTの変化した時刻(イベント開始時刻)から(車両MGの加速度に基づいて)閾値TFにより検知される加速操作の開始時刻までの時間により算定することができる。
【0115】
なお、信号機MTの変化のイベントは、上記の例(青色信号から黄色信号に切り替わる)に限られなくてよく、実施の形態に応じて適宜設定されてよい。他の一例では、黄色信号に切り替わるタイミングに代えて、赤色信号に切り替わるタイミングが、信号機MTの変化イベントの開始時刻として検知されてよい。
【0116】
また、上記の例では、信号機MTの変化完了のタイミング(例えば、青信号が点灯した状態から青信号が消灯し、黄色信号が点灯した状態に移り変わったタイミング)が信号機MTの変化時刻(イベントの開始時刻)として定義されている。しかしながら、イベントの開始時刻の定義は、このような例に限られなくてよく、実施の形態に応じて適宜設定されてよい。他の一例では、信号機MTは、車両用の信号機の他に歩行者用の信号機を含んでよい(
図10Aは車両用の信号機をイメージ)。この場合、歩行者用の信号機の点滅開始から車両用の信号機の変化完了までの任意のタイミングが信号機MTの変化時刻(イベントの開始時刻)として定義されてよい。
【0117】
(優先的に使用の具体例)
制御部11は、複数のデータセット4のうち、反応速度が適切と評価されるデータセットほど機械学習に優先的に使用する。すなわち、制御部11は、反応速度が適切と評価されていないデータセットよりも、反応速度が適切と評価されているデータセットを制御モデル5の訓練により反映させる。本実施形態では、優先的に使用することは、以下の3つの方法の少なくともいずれかにより構成されてよい。
【0118】
(1)第1の方法
図11Aは、反応速度が適切と評価されるデータセットほど優先的に使用する第1の方法の一例を模式的に示す。第1の方法として、制御部11は、反応速度が適切と評価されるデータセットを制御モデル5の訓練に使用し、反応速度が適切と評価されていないデータセットを制御モデル5の訓練に使用しないようにしてよい。
【0119】
図11Aのグラフは、反応速度に対するイベント(サンプル)の数をヒストグラムで表す。イベントの数は、データセットの数であってもよいし、或いはデータセットの収集とは少なくとも部分的に相違して集計されてもよい。反応速度が適切か否かは任意の統計量により評価されてよい。一例では、統計量は、平均値、最頻値、nパーセンタイル値等であってよい。nは任意の数値でよい。nパーセンタイル値は、例えば、50パーセンタイル値(中央値)、25パーセンタイル値等であってよい。
【0120】
一例では、反応速度が適切か否か(所定の条件に適合するか否か)は、この統計量により区分されてよい(
図11Aの例で設定値が0のケースに相当する)。反応速度が速いほど適切と評価する場合、基準となる統計量よりも反応速度が速いデータセットが、反応速度が適切なデータセットとして機械学習に使用されてよい。すなわち、制御部11は、基準の統計量を反応速度の上限値として使用してよい。適切な反応速度の範囲が規定される場合、上限値及び下限値はそれぞれ、対応する統計量から設定されてよい。具体例として、反応速度の速いものから集計したと想定した場合に、反応速度の下限値が25パーセンタイル値により規定され、反応速度の上限値が75パーセンタイル値により規定されてよい。
【0121】
他の一例では、統計量をそのまま基準には用いず、制御部11は、統計量に対して任意の演算を実行することで基準値を導出してよい。単純には、制御部11は、統計量に対して設定値を加算又は減算することで基準値を導出してよい。そして、反応速度が適切か否かは、上記統計量に代えて、導出された基準値により区分されてよい。すなわち、反応速度が速いほど適切と評価する場合、基準値よりも反応速度が速いデータセットが、反応速度が適切なデータセットとして機械学習に使用されてよい。適切な反応速度の範囲が規定される場合、上限値及び下限値はそれぞれ、同一の統計量から導出されてよい。或いは、上限値及び下限値はそれぞれ、異なる統計量から導出されてよい。それぞれのケースにおいて、上限値を導出するための設定値の大きさは、下限値を導出するための設定値の大きさと同じであってもよいし、或いは異なっていてもよい。
【0122】
図11Aの例では、評価指標として、最頻値が採用されている。最頻値の反応速度(イベント開始時刻-操作の開始時刻までの間の時間)から設定値を減算することで基準値が算出されている。そして、基準値よりも反応速度が速いデータセットが、反応速度が適切なデータセット(
図11Aのハッチングされた範囲)として評価されている。この第1の方法では、制御部11は、反応速度が適切と評価されないデータセットを除外し、反応速度が適切と評価されるデータセットのみを使用して、上記機械学習の処理を実行してよい。
【0123】
(2)第2の方法
図11Bは、反応速度が適切と評価されるデータセットほど優先的に使用する第2の方法の一例を模式的に示す。第2の方法として、制御部11は、複数のデータセット4のうちの反応速度が適切と評価される第1データセットのサンプリング確率を高くし、反応速度が適切と評価されない第2データセットのサンプリング確率を低く設定してよい。すなわち、制御部11は、反応速度が適切と評価されるデータセットほど機械学習におけるサンプリング回数を多くしてよい。
【0124】
一例では、サンプリング確率(回数)は、上記機械学習におけるミニバッチに抽出される確率(回数)に対応する。そのため、サンプリング確率が高ければ(サンプリング回数が多ければ)、制御モデル5の演算パラメータの値の調整に使用される回数が多くなる。これにより、反応速度が適切と評価されないデータセットと比べて、反応速度が適切と評価されるデータセットを制御モデル5の訓練により反映することを達成することができる。
【0125】
反応速度に応じてサンプリング確率(回数)を設定する方法は、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、反応速度が所定の条件に適合するほどサンプリング確率(回数)が大きくなるように適宜設計された関数式を用いて、各データセット4のサンプリング確率(回数)を決定してよい。
【0126】
また、第2の方法において、制御部11は、反応速度が適切と評価されない第2データセットの少なくとも一部を機械学習の対象から除外する(すなわち、サンプリング確率を0にする)ようにしてよい。或いは、制御部11は、反応速度が適切と評価されない第2データセットを機械学習の対象から除外しない(すなわち、サンプリング確率を0にしない)ようにしてもよい。
【0127】
図11Bの例では、所定の条件は、反応速度が速いほど適切と評価するように規定されている。すなわち、反応速度の速いデータセットほどサンプリング確率が高く設定される。また、第2データセットが、機械学習の対象から除外されていない。具体例として、複数のデータセット4のうちの反応速度がi番目のデータセットのサンプリング確率P(i)は
、以下の式1により規定されてよい。
【0128】
【数1】
・・・(式1)
aは、正の実数であり、任意に設定されてよい。rank(i)は、反応速度の順位を示す。N
は、最も遅い反応速度の順位を示す。制御部11は、上記式1により規定されるサンプリング確率P(i)に従って、ミニバッチを生成し、生成されたミニバッチを使用して、上記機械学習の処理を実行してよい。なお、サンプリング確率を規定する関数式は、上記式1の例に限られなくてよく、実施の形態に応じて適宜設計されてよい。
【0129】
また、オプションの施策として、サンプリング確率に応じて、各データセット4の訓練の重みが調整されてよい。一例では、サンプリング確率の低いデータセットが制御モデル5の演算パラメータの値の調整に全く反映されないことが生じ得る。これを避けるため、サンプリング確率の優先度を無効化しない程度に、サンプリング確率の低いデータセットほど訓練の重みを大きくしてよい。上記のとおり、訓練の重みを大きくすることは、学習率を高くすることにより構成されてよい。具体例として、反応速度がi番目のデータセッ
トの訓練の重みwiは、以下の式2により、サンプリング確率P(i)から算出されてよい。
【0130】
【数2】
・・・(式2)
なお、データセットの訓練の重みを規定する関数式は、上記式2の例に限られなくてよく、実施の形態に応じて適宜設計されてよい。他の一例では、データセットの訓練の重みは、サンプリング確率に依らず規定されてもよい。
【0131】
(3)第3の方法
第3の方法として、制御部11は、複数のデータセット4のうちの反応速度が適切と評価される第1データセットの訓練の重みを大きく設定し、反応速度が適切と評価されない第2データセットの訓練の重みを小さく設定した上で、上記機械学習の処理を実行してよい。
【0132】
一例では、制御部11は、上記機械学習における学習率を高くすることで訓練の重みを大きく設定し、学習率を低くすることで訓練の重みを小さく設定してよい。学習率の値が大きくなれば、上記機械学習の第4のステップにおいて、制御モデル5の演算パラメータの値を調整する際の更新量が大きくなる。これにより、反応速度が適切と評価されないデータセットと比べて、反応速度が適切と評価されるデータセットを制御モデル5の訓練により反映することを達成することができる。
【0133】
反応速度に応じて訓練の重みを設定する方法は、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、反応速度が所定の条件に適合するほど訓練の重みが大きくなるように適宜設計された関数式を用いて、各データセット4の訓練の重みを決定してよい。
【0134】
また、第3の方法において、制御部11は、反応速度が適切と評価されない第2データセットの少なくとも一部を機械学習の対象から除外する(すなわち、訓練の重みを0にする)ようにしてよい。訓練の重みが0のデータセットは、機械学習に使用されないようにしてよい。或いは、制御部11は、反応速度が適切と評価されない第2データセットを機械学習の対象から除外しない(すなわち、訓練の重みを0にしない)ようにしてもよい。
【0135】
なお、上記第1の方法~第3の方法において、優先的に使用するデータセットの抽出処理(演算処理)は任意の構成要素により実行されてよい。一例では、当該抽出処理は、制御部11により実行されてよい。すなわち、制御部11は、各データセット4の反応速度を参照して、上記第1の方法~第3の方法に従って、各データセット4に対して機械学習の使用に関する優劣を与えてよい。他の一例では、制御部11が何らかの処理を実行しなくても、当該抽出処理は、データセット4を保管する記憶領域の機構により達成されてよい。具体例として、データセット4がデータベースで保管されている場合、抽出処理は、データベースの処理として達成されてよい。すなわち、制御部11は、反応速度により機械学習の使用に関する優劣が与えられた(例えば、データベース上で反応速度順にソートされている)状態で各データセット4をデータベースから抽出してよい。上記機械学習に使用しないことは、データベースから抽出されないことで達成されてよい。制御部11は、データベースから抽出されたデータセットをそのまま機械学習に使用することにより、上記反応速度が適切と評価されるデータセットほど優先的に使用する機械学習を実施してよい。上記第3の方法では、制御部11は、抽出される順に応じて訓練の重みを設定してよい(例えば、反応速度が速い順に抽出される場合、制御部11は、先に抽出されるデータセットほど訓練の重みを重くしてよい)。
【0136】
また、上記第1の方法~第3の方法において、イベント開始時刻よりも操作の開始時刻が速いデータセット(
図11A及び
図11Bのイベント開始時刻よりも左側に位置するデータセット)を機械学習に使用するか否かは実施の形態に応じて適宜選択されてよい。
【0137】
制御部11は、上記第1の方法~第3の方法の少なくともいずれかを採用することで、複数のデータセット4のうち、反応速度が適切と評価されるデータセットほど機械学習に優先的に使用してよい。上記第1の方法~第3の方法は、組み合わせて採用されてよい。本実施形態では、制御部11は、以上のような機械学習の処理を実行することにより、訓練済みの制御モデル5を生成することができる。制御モデル5の機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0138】
なお、イベント毎に要求される操作は異なり得る。そのため、制御部11は、訓練済みの制御モデル5をイベント毎に生成してもよい。また、取得される複数のデータセット4は、反応速度により優劣を与える対象のイベント以外の他の事象に関するデータセットを含んでよい。この場合、他の事象に関するデータセットにも、任意の方法で優劣が与えられてよい。或いは、他の事象に関するデータセットは、優劣が与えられずに機械学習に使用されてよい。
【0139】
<ステップS103>
図6に戻り、ステップS103では、制御部11は、保存処理部113として動作する。すなわち、制御部11は、機械学習により生成された訓練済みの制御モデル5に関する情報を学習結果データ125として生成する。学習結果データ125は、訓練済みの制御モデル5を再生するための情報を含むように適宜構成されてよい。制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
【0140】
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD
、半導体メモリ等であってよく、制御部11は、ドライブ16を介して記憶メディアに学習結果データ125を格納してよい。外部記憶装置は、例えば、NAS等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習結果データ125を格納してよい。また、外部記憶装置は、例えば、外付けの記憶装置であってよい。外付けの記憶装置は、モデル生成装置1に適宜接続されてよい。例えば、モデル生成装置1は、外部インタフェースを更に備えてよく、この外部インタフェースを介して外付けの記憶装置に接続されてよい。
【0141】
機械学習の結果の保存が完了すると、制御部11は、本動作例に係るモデル生成装置1の処理手順を終了する。
【0142】
なお、生成された学習結果データ125は、任意のタイミング及び方法で制御装置2に提供されてよい。例えば、制御部11は、上記ステップS103の処理として又はステップS103の処理とは別に、学習結果データ125を制御装置2に転送してよい。制御装置2は、この転送を受信することで、学習結果データ125を取得してよい。また、例えば、制御装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、学習結果データ125を取得してよい。また、例えば、制御装置2は、記憶媒体92を介して、学習結果データ125を取得してよい。また、例えば、学習結果データ125は、制御装置2に予め組み込まれてもよい。
【0143】
また、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返し実行することで、学習結果データ125を更新又は新たに生成してよい。この繰り返しの際、機械学習に使用するデータセット4の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習結果データ125を任意の方法で制御装置2に提供することで、制御装置2の保持する学習結果データ125を更新してよい。
【0144】
[制御装置]
図12は、本実施形態に係る制御装置2による訓練済みの制御モデル5を使用した対象の移動体Mの自動制御に関する処理手順の一例を示すフローチャートである。以下の処理手順は、コンピュータにより実行される制御方法の一例である。ただし、以下の制御装置2の処理手順は、一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0145】
<ステップS201>
ステップS201では、制御部21は、取得部211として動作する。すなわち、制御部21は、対象の移動体Mの移動する環境を示す対象データ221を取得する。一例では、対象データ221は、センサSにより得られるセンサデータを含んでよい。その他に、対象データ221は、例えば、設定速度、制限速度、地図情報、ナビ情報等の制御に関与し得る任意の情報を含んでよい。制御部21は、任意の方法で各種情報を取得してよい。対象データ221を取得すると、制御部21は、次のステップS202に処理を進める。
【0146】
<ステップS202>
ステップS202では、制御部21は、導出部212として動作する。すなわち、制御部21は、訓練済みの制御モデル5を使用して、取得された対象データ221から制御指令を導出する。
【0147】
なお、制御部21は、ステップS202を実行する前の任意のタイミングで、学習結果
データ125を参照して、使用可能な状態(すなわち、演算処理を実行可能な状態)に訓練済みの制御モデル5の設定を行ってよい。また、訓練済みの制御モデル5がイベント毎に生成されている場合、制御部21は、対象の移動体Mが遭遇している又は遭遇する蓋然性のあるイベントを特定してよい。イベントの遭遇又はその蓋然性は、センサSにより検知可能である。制御部21は、保持する複数の訓練済みの制御モデル5のうち、特定されたイベントに対応する訓練済みの制御モデル5を選択してよい。そして、制御部21は、選択された訓練済み制御モデル5を使用して、取得された対象データ221から制御指令を導出してよい。
【0148】
訓練済みの制御モデル5の演算処理は、制御モデル5の種類、構成、構造等に応じて適宜決定されてよい。一例では、制御モデル5がニューラルネットワークにより構成される場合、制御部21は、対象データ221を訓練済みの制御モデル5に入力し、訓練済みの制御モデル5の順伝播の演算処理を実行する。この演算処理を実行した結果、制御部21は、制御指令を導出した結果に対応する出力値を訓練済みの制御モデル5から取得することができる。制御モデル5の出力が制御指令を間接的に示すように構成される場合、制御部21は、制御モデル5の出力に対して所定の演算処理を実行することで、制御指令を導出してよい。制御指令の導出が完了すると、制御部21は、次のステップS203に処理を進める。
【0149】
<ステップS203>
ステップS203では、制御部21は、動作制御部213として動作する。すなわち、制御部21は、制御指令を導出した結果に従って、対象の移動体Mの動作を制御する。制御部21は、対象の移動体Mの動作を直接的又は間接的に制御してよい。
【0150】
対象の移動体Mの制御が完了すると、制御部21は、本動作例に係る制御装置2の処理手順を終了する。なお、制御部21は、ステップS201~ステップS203の一連の情報処理を繰り返し実行してよい。繰り返すタイミングは、実施の形態に応じて適宜決定されてよい。一例では、制御部21は、所定期間(例えば、移動体Mの動力源が起動されてから停止されるまで)の間、ステップS201~ステップS203の一連の情報処理を繰り返し実行してよい。これにより、制御装置2は、移動体Mの自動制御を継続的に遂行することができる。
【0151】
[特徴]
本実施形態では、上記ステップS102の処理において、反応速度が適切と評価されるデータセットほど機械学習に優先的に使用して、訓練済みの制御モデル5が生成される。機械学習により生成される訓練済みモデルの能力は、当該機械学習に使用されるデータセットに依存するため、本実施形態によれば、適切な反応速度で移動体の制御を遂行する能力を習得した訓練済みの制御モデル5の獲得を期待することができる。また、上記ステップS202に処理において、そのような訓練済みの制御モデル5を使用することで、適切な反応速度で対象の移動体Mの制御を遂行可能であることを期待することができる。
【0152】
[4 変形例]
以上、本開示の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。
【0153】
図13は、本開示を適用した他の場面の一例を模式的に示す。変形例に係るシステムは、上記モデル生成装置1及び制御装置2に加えて、データ収集装置3を備える。データ収集装置3は、データセット4を収集するように構成された1台以上のコンピュータである。本変形例では、データ収集装置3は、訓練データ41及び正解データ45の組み合わせ
によりそれぞれ構成される複数のデータセット4を収集する。複数のデータセット4を収集することは、正解データ45により示される制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に収集することを含んでよい。そして、データ収集装置3は、機械学習に使用するために、収集された複数のデータセット4を出力する。
【0154】
図13の例では、データ収集装置3は、移動体MZに搭載され、被検者による移動体MZの操作に応じて、データセット4を収集することを想定している。この一例では、データ収集装置3は、センサSから得られるセンサデータ及びその他情報(例えば、設定速度、制限速度、地図情報、ナビ情報等)から訓練データ41を生成してよい。また、データ収集装置3は、訓練データ41を構成する情報を獲得している期間における被検者の操作の結果から正解データ45を生成してよい。そして、データ収集装置3は、生成された訓練データ41及び正解データ45を関連付けることで、データセット4を取得してよい。データ収集装置3は、モデル生成装置1等の外部のコンピュータからの指令に応じて、データセット4を収集する処理を実行するように構成されてよい。各装置1~3間のデータのやり取りは任意の方法で行われてよい。
【0155】
なお、データ収集装置3の形態は、
図13に示される例に限られなくてよい。他の一例では、データ収集装置3は、移動体MZに搭載されず、移動体MZとは別個に配置されてもよい。また、他の一例では、データ収集装置3は、制御装置2又はモデル生成装置1と一体的に構成されてよい。すなわち、制御装置2が、データ収集装置3を兼ねてもよい(この場合、移動体MZは、移動体Mである)。或いは、モデル生成装置1が、データ収集装置3を兼ねてもよい。
【0156】
[ハードウェア構成]
図14は、本変形例に係るデータ収集装置3のハードウェア構成の一例を模式的に示す。
図14に示されるとおり、本変形例に係るデータ収集装置3は、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、ドライブ36及び外部インタフェース37が電気的に接続されたコンピュータである。
【0157】
データ収集装置3の制御部31~外部インタフェース37及び記憶媒体93はそれぞれ、上記制御装置2の制御部21~外部インタフェース27及び記憶媒体92それぞれと同様に構成されてよい。制御部31(CPU)は、データ収集装置3のプロセッサ・リソースの一例であり、記憶部32(及びRAM、ROM)は、データ収集装置3のメモリ・リソースの一例である。本変形例では、記憶部32は、データ収集プログラム83、データセット4等の各種情報を記憶する。
【0158】
データ収集プログラム83は、データセット4の収集に関する情報処理(後述の
図16)をデータ収集装置3に実行させるためのプログラムである。データ収集プログラム83は、当該情報処理の一連の命令を含む。データセット4は、データ収集プログラム83の実行結果として蓄積されてよい。データ収集プログラム83及びデータセット4の少なくともいずれかは、記憶部32に代えて又は記憶部32と共に、記憶媒体93に格納されていてもよい。データ収集装置3は、データ収集プログラム83を記憶媒体93から取得してよい。
【0159】
データ収集装置3は、通信インタフェース33を介して、他のコンピュータ(例えば、モデル生成装置1)との間でデータ通信を実行してよい。オペレータ(例えば、被検者)は、入力装置34及び出力装置35を利用することで、データ収集装置3を操作することができる。入力装置34及び出力装置35は、例えば、タッチパネルディスプレイ等により一体的に構成されてもよい。データ収集装置3は、外部インタフェース37を介して、
センサSに接続されてよい。ただし、センサSの接続方法は、このような例に限られなくてよい。他の一例では、データ収集装置3は、通信インタフェース23を介してセンサSに接続されてもよい。
【0160】
なお、データ収集装置3の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP、ECU、GPU等により構成されてよい。通信インタフェース33、入力装置34、出力装置35、ドライブ36及び外部インタフェース37の少なくともいずれかは省略されてもよい。データ収集装置3は、複数台のコンピュータにより構成されてよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、或いは一致していなくてもよい。データ収集装置3は、提供されるサービス専用に設計されたコンピュータの他、汎用のサーバ装置、汎用のコンピュータ、スマートフォンを含む携帯電話、タブレットPC(Personal Computer)等であってよい。移動体MZが車両の場合、
データ収集装置3は、車載装置であってよい。
【0161】
[ソフトウェア構成]
図15は、本実施形態に係るデータ収集装置3のソフトウェア構成の一例を模式的に示す。データ収集装置3の制御部31は、記憶部32に記憶されたデータ収集プログラム83をRAMに展開し、データ収集プログラム83に含まれる命令をCPUにより実行する。これにより、
図15に示されるとおり、本実施形態に係るデータ収集装置3は、収集部311及び出力部312をソフトウェアモジュールとして備えるコンピュータとして動作する。
【0162】
収集部311は、訓練データ41及び正解データ45の組み合わせによりそれぞれ構成される複数のデータセット4を収集するように構成される。収集部311における複数のデータセット4を収集することは、正解データ45により示される制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に収集することを含んでよい。出力部312は、機械学習に使用するために、収集された複数のデータセット4を出力するように構成される。
【0163】
なお、本変形例では、上記モデル生成装置1及び制御装置2と同様に、データ収集装置3の各ソフトウェアモジュールも、制御部31(CPU)により実現される。つまり、データ収集装置3の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、データ収集装置3のソフトウェアモジュールの一部又は全部は、1又は複数の専用のプロセッサにより実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。データ収集装置3のソフトウェア構成に関して、実施形態に応じて、適宜、モジュールの省略、置換及び追加が行われてもよい。
【0164】
[動作例]
図16は、本変形例に係るデータ収集装置3によるデータセット4の収集に関する処理手順の一例を示すフローチャートである。以下の処理手順は、コンピュータにより実行されるデータ収集方法の一例である。ただし、以下の処理手順は、一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0165】
(ステップS301)
ステップS301では、制御部31は、収集部311として動作し、訓練データ41及び正解データ45の組み合わせによりそれぞれ構成される複数のデータセット4を収集す
る。このとき、一例では、制御部31は、反応速度が適切か否かを問わずにデータセット4を収集してよい。他の一例では、制御部31は、正解データ45により示される制御指令のイベントに対する反応速度が所定の条件に適合することで適切と評価されるデータセットほど優先的に収集してよい。
【0166】
データセット4を収集することは、データセットを新たに獲得すること又は既に獲得されたデータセットから選別することであってよい。データセットを新たに獲得することは、新たなデータセットを生成すること又は他のコンピュータからデータセットを得ることであってよい。優先的に収集することは、データセットを新たに獲得する段階及び既に獲得されたデータセットから選別する段階の少なくともいずれかで実行されてよい。なお、データセットを新たに獲得する段階は、データを保存(記憶する)最初の入り口の段階に相当し得る。
【0167】
優先的に収集することは、反応速度が適切と評価されるデータセットの量を多くし、反応速度が適切と評価されないデータセットの量を少なくすることにより構成されてよい。一例では、反応速度が適切と評価されないデータセットの量を少なくすることは、適切と評価されない反応速度のうち少なくとも一部の反応速度に関するデータセットを収集しないことを含んでよい。
【0168】
データセットを獲得する装置(第1装置)及び獲得されたデータセットを保存する装置(第2装置)が別々に設けられる場合、優先的に収集することは、以下の3段階のいずれかで実行されてよい。
(1)第1装置のストレージに対象のデータセットを保持し続けるか否か
(2)対象のデータセットを第1装置が第2装置に送信(転送)するか否か
(3)第2装置のストレージで対象のデータセットを保持し続けるか否か
なお、第1装置の一例は、端末装置(ユーザ端末、車載装置等)であり、第2装置の一例は、サーバ装置である。データ収集装置3は第1装置及び第2装置のいずれであってもよい。
図13の例では、データ収集装置3は、第1装置であると想定されている。
【0169】
一例では、データ収集装置3は、第1装置又は第2装置であってよく、上記(1)又は(3)の段階で優先的に収集することを実行してよい。この場合、反応速度が適切と評価されるデータセットほど優先的に収集することは、データ収集装置3の記憶領域(RAM、記憶部32、記憶媒体93等)に一時的に保存されたデータセットのうち、所定の条件により反応速度が適切であると評価されるデータセットを維持し、所定の条件により反応速度が適切ではないと評価されるデータセットを削除することにより構成されてよい。これにより、反応速度が適切ではないと評価されるデータセットを維持しないことで、データ収集装置3の記憶領域を適切なデータセットの収集に効率的に使用することができる。
【0170】
他の一例では、データ収集装置3は、第1装置であってよく、上記(2)の段階で優先的に収集することを実行してよい。この場合、第2装置は、例えば、外部サーバ等の外部記憶装置である。一例では、外部サーバは、モデル生成装置1又はネットワークサーバ(NAS等)であってよい。送信処理は、後述するステップS302で実行される。そのため、この形態を採用する場合、本ステップS301では、制御部31は、送信するか否かを判定するため、得られたデータセットの反応速度を評価してよい。すなわち、優先的に収集することは、反応速度を評価することを含んでよい。
【0171】
なお、各データセット4は、任意の方法で獲得されてよい。上記のとおり、データセット4は、被検者による移動体MZの操作を通じて獲得されてよい。移動体MZの操作は、完全な手動操作の他、任意の自動制御に対するオーバーライド操作を含んでよい。その他、データセット4は、シミュレーション、データ拡張等の方法で獲得されてよい。複数の
データセット4を獲得すると、制御部31は、次のステップS302に処理を進める。
【0172】
(ステップS302)
ステップS302では、制御部31は、出力部312として動作する。すなわち、制御部31は、機械学習に使用するために、収集された複数のデータセット4を出力する。
【0173】
機械学習に使用するために出力することは、機械学習に使用可能にするため、収集された複数のデータセット4を区別(識別)可能な状態で保持することであってよい。そのため、収集された複数のデータセット4を出力することは、収集された複数のデータセット4を任意の記憶領域に保存することにより構成されてよい。任意の記憶領域は、RAM、記憶部32、外部記憶装置等であってよい。外部記憶装置は、モデル生成装置1、ネットワークサーバ(NAS等)等の外部サーバを含んでよい。
【0174】
一例では、制御部31は、ネットワークを介して複数のデータセット4をモデル生成装置1に送信してよい。モデル生成装置1は、これに応じて、上記ステップS102及びステップS103を実行することで、訓練済みの制御モデル5を生成してよい。なお、データ収集装置3がモデル生成装置1と一体的に構成される場合、上記ステップS301におけるデータセット4を収集することは、上記ステップS101又は機械学習において、指定されたバッチサイズのデータセットを取得することに反映されてよい。この場合、ステップS302の出力処理は、上記ステップS102に含まれてよい。
【0175】
他の一例では、上記のとおり、データ収集装置3は、上記(2)の段階で優先的に収集することを反映してよい。この場合、複数のデータセット4を出力することは、所定の条件により反応速度が適切であると評価されるデータセットを第2装置に送信し、かつ所定の条件により反応速度が適切ではないと評価されるデータセットの第2装置への送信を省略すること、により構成されてよい。一例では、第2装置は、モデル生成装置1、ネットワークサーバ等の外部サーバであってよい。これにより、反応速度が適切ではないと評価されるデータセットの通信処理を省略することで、データセット4の出力にかかる通信コストの低減を図ることができる。
【0176】
複数のデータセット4の出力が完了すると、制御部31は、本動作例に係るデータ収集装置3の処理手順を終了する。なお、制御部31は、ステップS301~ステップS302の一連の情報処理を繰り返し実行してよい。繰り返すタイミングは、実施の形態に応じて適宜決定されてよい。典型例では、制御部31は、モデル生成装置1等の外部のコンピュータからのデータ収集指令に応じて、上記ステップS301の処理の実行を開始してよい。そして、外部のコンピュータからの収集停止指令を受け付けるまで、制御部31は、ステップS301~ステップS302の一連の情報処理を繰り返し実行してよい。これにより、データ収集装置3は、データ収集の指示が与えられている間、データセット4を継続的に収集するように構成されてよい。
【0177】
(特徴)
本変形例では、データ収集装置3は、ステップS301の処理において、反応速度が適切と評価されるデータセットほど優先的に収集する。これにより、ステップS302の処理以降において、当該反応速度が適切と評価されるデータセットほど機械学習に優先的に使用されるようにすることができる。したがって、本変形例によっても、適切な反応速度で移動体の制御を遂行する能力を獲得した訓練済みの機械学習モデル(制御モデル5)の獲得を期待することができる。
【0178】
[5 補足]
本開示において説明した処理及び手段は、技術的な矛盾が生じない限りにおいて、自由
に組み合わせて実施することができる。
【0179】
また、1つの装置が行うものとして説明した処理が、複数の装置によって分担して実行されてもよい。或いは、異なる装置が行うものとして説明した処理が、1つの装置によって実行されても構わない。コンピュータシステムにおいて、各機能をどのようなハードウェア構成によって実現するかは柔軟に変更可能である。
【0180】
本開示は、上記の実施形態で説明した機能を実装したコンピュータプログラムをコンピュータに供給し、当該コンピュータが有する1つ以上のプロセッサがプログラムを読み出して実行することによっても実現可能である。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な非一時的なコンピュータ可読記憶媒体によってコンピュータに提供されてもよいし、ネットワークを介してコンピュータに提供されてもよい。非一時的なコンピュータ可読記憶媒体は、例えば、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクドライブ(HDD)等)、光ディスク(CD-ROM、DVDディスク、ブルーレイディスク等)など任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、半導体ドライブ(ソリッドステートドライブ等)、電子的命令を格納するために適した任意のタイプの媒体を含む。
【符号の説明】
【0181】
1…モデル生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
81…モデル生成プログラム、91…記憶媒体、
111…学習データ取得部、112…学習処理部、
113…保存処理部、125…学習結果データ、
2…制御装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
27…外部インタフェース、
82…制御プログラム、92…記憶媒体、
211…取得部、212…導出部、
213…動作制御部、221…対象データ、
3…データ収集装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…入力装置、35…出力装置、36…ドライブ、
37…外部インタフェース、
83…データ収集プログラム、93…記憶媒体、
311…収集部、312…出力部、
4…データセット、
41…訓練データ、45…正解データ、
5…制御モデル、
M…移動体、S…センサ