IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オクサ オートノミー リミテッドの特許一覧

<>
  • 特表-方法及び装置 図1
  • 特表-方法及び装置 図2
  • 特表-方法及び装置 図3
  • 特表-方法及び装置 図4
  • 特表-方法及び装置 図5
  • 特表-方法及び装置 図6
  • 特表-方法及び装置 図7
  • 特表-方法及び装置 図8
  • 特表-方法及び装置 図9
  • 特表-方法及び装置 図10
  • 特表-方法及び装置 図11
  • 特表-方法及び装置 図12
  • 特表-方法及び装置 図13
  • 特表-方法及び装置 図14
  • 特表-方法及び装置 図15
  • 特表-方法及び装置 図16
  • 特表-方法及び装置 図17
  • 特表-方法及び装置 図18
  • 特表-方法及び装置 図19
  • 特表-方法及び装置 図20
  • 特表-方法及び装置 図21
  • 特表-方法及び装置 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-10
(54)【発明の名称】方法及び装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241003BHJP
   G06N 3/094 20230101ALI20241003BHJP
   G06N 3/092 20230101ALI20241003BHJP
   G06N 3/0455 20230101ALI20241003BHJP
   G08G 1/00 20060101ALN20241003BHJP
【FI】
G06T7/00 650
G06T7/00 350B
G06N3/094
G06N3/092
G06N3/0455
G08G1/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024522160
(86)(22)【出願日】2022-10-17
(85)【翻訳文提出日】2024-06-06
(86)【国際出願番号】 GB2022052639
(87)【国際公開番号】W WO2023062393
(87)【国際公開日】2023-04-20
(31)【優先権主張番号】2114809.3
(32)【優先日】2021-10-15
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】524133446
【氏名又は名称】オクサ オートノミー リミテッド
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】クーッティ サンポ
(72)【発明者】
【氏名】ポラヴ ホリア
(72)【発明者】
【氏名】アップクロフト ベン
(72)【発明者】
【氏名】ニューマン ポール
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181AA21
5H181CC03
5H181CC14
5H181EE02
5H181FF10
5H181LL01
5L096BA04
5L096CA02
5L096CA18
5L096DA02
5L096FA67
5L096FA69
5L096HA04
5L096HA11
5L096KA04
(57)【要約】
アクターの軌跡を生成するコンピュータ実行方法を開示し、本方法は、自車両、第1アクターを含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む第1シナリオをシミュレーションするステップであって、第1アクターの第1軌跡を使用するステップを含むステップと、第1アクターの第1軌跡に応じて、環境(例えば、自車両、その集合の第2アクター及び/又はその集合の第1物体)の第1観察を第1敵対的強化学習エージェントにより観察するステップと、観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
自動運転車を含む新たな敵対的シナリオ及びエージェントを生成するコンピュータ実行方法であって、
強化学習環境で自動運転車ソフトウェアスタックを使用して前記エージェントをトレーニングする強化学習を実行して、それぞれが、前記自動運転車ソフトウェアスタックの故障で終了する敵対的シナリオを表す1つ以上のエピソードを生成するステップと、
前記エピソード又は各エピソードに基づいて、複数の記述子を生成するステップと、
前記複数の記述子をデータベースに記憶するステップと、を含む、コンピュータ実行方法。
【請求項2】
前記エピソード又は各エピソードの複数の記述子をクラスタリングするステップを含み、前記複数の記述子を記憶するステップは、記述子のクラスターを前記データベースに記憶するステップを含む、請求項1に記載のコンピュータ実行方法。
【請求項3】
記述子空間で前記記述子のクラスターから移動するステップによって、新たな記述子を生成する、請求項2に記載のコンピュータ実行方法。
【請求項4】
前記記述子空間で前記記述子のクラスターから移動するステップは、
クラスターの重心を識別するステップと、
前記重心から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、
前記新たな記述子を前記新たな記述子の位置での記述子として生成するステップと、を含む、請求項3に記載のコンピュータ実行方法。
【請求項5】
前記記述子空間で前記記述子のクラスターから移動するステップは、
クラスターの設定された境界を識別するステップと、
前記境界から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、
前記新たな記述子を前記新たな記述子の位置での記述子として生成するステップと、を含む、請求項3に記載のコンピュータ実行方法。
【請求項6】
前記記述子空間で前記記述子のクラスターから移動するステップは、
クラスターの設定された境界を識別するステップと、
前記境界から局所的な法線方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、
前記新たな記述子を前記新たな記述子の位置での記述子として生成するステップと、を含む、請求項3に記載のコンピュータ実行方法。
【請求項7】
前記設定された境界は、符号付き距離関数を使用して識別される、請求項5又は6に記載のコンピュータ実行方法。
【請求項8】
前記1つ以上のエピソードは、複数のエピソードを含み、前記複数のエピソードをクラスタリングするステップは、複数のクラスターを生成するステップを含み、クラスターを記憶するステップは、前記複数のクラスターを前記データベースに記憶するステップを含み、クラスターから移動するステップは、
各クラスターの間の和集合を決定するステップと、
クラスター空間と前記和集合との間の差を決定するステップと、
差の重心を決定するステップと、
前記新たな記述子を前記差の重心での記述子として生成するステップと、によって前記複数のクラスターから移動するステップを含む、請求項3に記載のコンピュータ実行方法。
【請求項9】
前記新たな記述子からシード状態を生成するステップと、
前記シード状態を使用した強化学習、前記複数の記述子の生成及び前記複数の記述子の記憶を再実行するステップと、を更に含む、請求項3~8のいずれか一項に記載のコンピュータ実行方法。
【請求項10】
前記エージェントを再初期化するステップと、
再初期化されたエージェントを使用した強化学習、前記複数の記述子の生成及び前記複数の記述子の記憶を再実行するステップと、を更に含む、請求項1~9のいずれか一項に記載のコンピュータ実行方法。
【請求項11】
環境は、コンテキストデータを更に含む、請求項1~10のいずれか一項に記載のコンピュータ実行方法。
【請求項12】
前記コンテキストデータは、1つ以上の内部マップ及び/又は1つ以上の外部マップを含む、請求項11に記載のコンピュータ実行方法。
【請求項13】
環境の前記コンテキストデータを変更するステップと、
変更された前記コンテキストデータを使用した強化学習、前記複数の記述子の生成及び前記複数の記述子の記憶を再実行するステップと、を更に含む、請求項11又は12に記載のコンピュータ実行方法。
【請求項14】
前記エピソードは、複数のポイントを含み、各ポイントは、環境によって出力された状態と、前記エージェントによって出力されたアクションと、を含む、請求項1~13のいずれか一項に記載のコンピュータ実行方法。
【請求項15】
前記複数の記述子を生成するステップは、前記複数のポイントをそれぞれ潜在空間に符号化するステップを含む、請求項14に記載のコンピュータ実行方法。
【請求項16】
前記故障は、前記エージェントと前記自動運転車ソフトウェアスタックとの衝突が発生したことと、前記エージェントと前記自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、前記自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含む、請求項1~15のいずれか一項に記載のコンピュータ実行方法。
【請求項17】
自動運転車を含むシナリオからエージェントを生成するコンピュータ実行方法であって、
強化学習環境で自動運転車ソフトウェアスタックを使用して前記エージェントをトレーニングする強化学習を実行して、前記自動運転車ソフトウェアスタックの故障で終了する、それぞれが敵対的シナリオを表す1つ以上のエピソードを生成するステップと、
前記エージェントの強化学習を再実行して新たなエピソードを生成するステップと、前記新たなエピソードを前記1つ以上のエピソードと比較するステップと、
比較に基づいて強化学習を使用してトレーニングされたエージェントを複製することによって、エージェントを生成するステップと、を含む、コンピュータ実行方法。
【請求項18】
前記故障は、前記エージェントと前記自動運転車ソフトウェアスタックとの衝突が発生したことと、前記エージェントと前記自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、前記自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含む、請求項17に記載のコンピュータ実行方法。
【請求項19】
環境は、コンテキストデータを更に含む、請求項17又は18に記載のコンピュータ実行方法。
【請求項20】
前記コンテキストデータは、1つ以上の内部マップ及び/又は1つ以上の外部マップを含む、請求項19に記載のコンピュータ実行方法。
【請求項21】
前記エピソードは、複数のポイントを含み、各ポイントは、環境によって出力された状態と、前記エージェントによって出力されたアクションと、を含む、請求項17~20のいずれか一項に記載のコンピュータ実行方法。
【請求項22】
前記新たなエピソードを前記1つ以上のエピソードと比較するステップは、前記新たなエピソードと前記1つ以上のエピソードとの間の分散を決定するステップを含み、比較に基づいて強化学習を使用してトレーニングされたエージェントを複製することによって、エージェントを生成するステップは、前記分散が分散閾値未満である場合に、強化学習を使用してトレーニングされたエージェントを複製するステップを含む、請求項17~21のいずれか一項に記載のコンピュータ実行方法。
【請求項23】
1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項1~22のいずれか一項に記載の方法を実行させる命令を含む、一時的又は非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動運転車に関する。
【背景技術】
【0002】
SAEレベル1~レベル5などに準拠した、自動運転車(AV)の制御ソフトウェア(AVスタックとしても知られている)の従来のテストには、問題がある。例えば、従来のテスト手法は、典型的には、手動で(即ち、人による)、労力がかかる手順を含む。
【0003】
1、現実世界の道路で又はランダムに発生する交通のシミュレーション環境でAVをテスト運転する。遭遇したシナリオとAV行動に関するデータを収集する。
【0004】
2、AV行動に基づいて、挑戦的なシナリオを識別する(例えば、安全のための運転者が介入する必要があり、AVが十分に早くブレーキをかけなかったシナリオなど)。
【0005】
3、シミュレーションで挑戦的なシナリオを再作成し、シナリオパラメータ(例えば、周囲車両/歩行者/サイクリストの位置及び速度)にランダムノイズを追加する。
【0006】
この手法は、非常に高価で時間がかかるだけでなく、確率の低いイベントを捕捉する必要があり、何度も捕捉することは不可能である。現実世界運転を通じて識別された初期シナリオに基づくシナリオパラメータのランダム化によりシナリオ数の増加が可能であるが、これは、これらのまれな極端なケースシナリオを識別するのに必要なマイル数のため、効率が非常に低い。制御ソフトウェアの欠陥を発見できないと、AV及びその乗員に対するリスクが増える。
【0007】
したがって、AVに対してテストなどを行う必要がある。
【発明の概要】
【0008】
第1の態様に係る、アクターの軌跡を生成するコンピュータ実行方法は、
自車両、第1アクターを含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む第1シナリオをシミュレーションするステップであって、第1アクターの第1軌跡を使用するステップを含む、ステップと、
第1アクターの第1軌跡に応じて、環境(例えば、自車両、その集合の第2アクター及び/又はその集合の第1物体)の第1観察を第1敵対的強化学習エージェントにより観察するステップと、
観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップと、を含む。
【0009】
第2の態様に係る、シナリオをシミュレーションするコンピュータ実行方法は、
第1の態様に係るアクターの集合の第1アクターの第1軌跡を生成するステップと、自車両、第1アクターを含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む第1シナリオをシミュレーションするステップであって、第1シナリオをシミュレーションするステップが第1アクターの生成された第1軌跡を使用するステップを含む、ステップと、第1シナリオにおける自車両の欠陥を識別するステップと、を含む。
【0010】
第3の態様に係る、自車両を開発するコンピュータ実行方法は、
第2の態様に係るシナリオをシミュレーションするステップと、
自車両の識別された欠陥を修復するステップと、を含む。
【0011】
第4の態様に係るコンピュータは、第1の態様、第2の態様及び/又は第3の態様に係る方法を実行するように構成されたプロセッサとメモリとを含む。
【0012】
第5の態様に係るコンピュータプログラムは、プロセッサとメモリとを含むコンピュータによって実行されると、コンピュータに第1の態様、第2の態様及び/又は第3の態様に係る方法を実行させる命令を含む。
【0013】
第6の態様に係る非一時的なコンピュータ可読記憶媒体は、プロセッサとメモリとを含むコンピュータによって実行されると、コンピュータに第1の態様、第2の態様及び/又は第3の態様に係る方法を実行させる命令を含む。
【0014】
本開示の一態様に係る、自動運転車を含む新たな敵対的シナリオ及びエージェントを生成するコンピュータ実行方法は、強化学習環境で自動運転車ソフトウェアスタックを使用してエージェントをトレーニングする強化学習を実行して、それぞれが、自動運転車ソフトウェアスタックの故障で終了する敵対的シナリオを表す1つ以上のエピソードを生成するステップと、エピソード又は各エピソードに基づいて、複数の記述子を生成するステップと、複数の記述子をデータベースに記憶するステップと、を含む。
【0015】
自動運転車は、自車両であってもよい。敵対的シナリオは、自動運転車ソフトウェアスタックの故障を含むものであってもよい。エージェントは、機械学習モデルであってもよい。機械学習モデルは、ニューラルネットワークを含んでもよい。
【0016】
一実施形態では、コンピュータ実行方法は、エピソード又は各エピソードの複数の記述子をクラスタリングするステップを含んでもよく、複数の記述子を記憶するステップは、記述子のクラスターをデータベースに記憶するステップを含む。
【0017】
コンピュータ実行方法は、記述子空間で記述子のクラスターから移動することによって、新たな記述子を生成するステップを更に含む。
【0018】
記述子空間で記述子のクラスターから移動するステップは、クラスターの重心を識別するステップと、重心から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、新たな記述子を新たな記述子の位置での記述子として生成するステップと、を含んでもよい。
【0019】
記述子空間で記述子のクラスターから移動するステップは、クラスターの設定された境界を識別するステップと、境界から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、新たな記述子を新たな記述子の位置での記述子として生成するステップと、を含んでもよい。
【0020】
記述子空間で記述子のクラスターから移動するステップは、クラスターの設定された境界を識別するステップと、境界から局所的な法線方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、新たな記述子を新たな記述子の位置での記述子として生成するステップと、を含んでもよい。
【0021】
設定された境界は、符号付き距離関数を使用して識別されてもよい。
【0022】
1つ以上のエピソードは、複数のエピソードを含んでもよく、複数のエピソードをクラスタリングするステップは、複数のクラスターを生成するステップを含んでもよく、クラスターを記憶するステップは、複数のクラスターをデータベースに記憶するステップを含み、クラスターから移動するステップは、各クラスターの間の和集合を決定するステップと、クラスター空間と和集合との間の差を決定するステップと、差の重心を決定するステップと、新たな記述子を差の重心での記述子として生成することとによって、複数のクラスターから移動するステップを含んでもよい。
【0023】
コンピュータ実行方法は、新たな記述子からシード状態を生成するステップと、シード状態を使用した強化学習、複数の記述子の生成及び複数の記述子の記憶を再実行するステップと、を更に含んでもよい。
【0024】
コンピュータ実行方法は、エージェントを再初期化するステップと、再初期化されたエージェントを使用した強化学習、複数の記述子の生成及び複数の記述子の記憶を再実行するステップと、を更に含んでもよい。
【0025】
環境は、コンテキストデータを更に含んでもよい。
【0026】
コンテキストデータは、1つ以上の内部マップ及び/又は1つ以上の外部マップを含んでもよい。
【0027】
コンピュータ実行方法は、環境のコンテキストデータを変更するステップと、変更されたコンテキストデータを使用した強化学習、複数の記述子の生成及び複数の記述子の記憶を再実行するステップと、を更に含んでもよい。
【0028】
エピソードは、複数のポイントを含んでもよく、各ポイントは、環境によって出力された状態と、エージェントによって出力されたアクションと、を含んでもよい。これらのポイントは、自動運転車の時間ポイントであってもよく、位置ポイントであってもよい。
【0029】
複数の記述子を生成するステップは、複数のポイントをそれぞれ潜在空間に符号化するステップを含んでもよい。
【0030】
故障は、エージェントと自動運転車ソフトウェアスタックとの衝突が発生したことと、エージェントと自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含んでもよい。
【0031】
本開示の一態様に係る、自動運転車を含むシナリオからエージェントを生成するコンピュータ実行方法は、強化学習環境で自動運転車ソフトウェアスタックを使用してエージェントをトレーニングする強化学習を実行して、自動運転車ソフトウェアスタックの故障で終了する、それぞれが敵対的シナリオを表す1つ以上のエピソードを生成するステップと、エージェントの強化学習を再実行して新たなエピソードを生成するステップと、新たなエピソードを1つ以上のエピソードと比較するステップと、比較に基づいて強化学習を使用してトレーニングされたエージェントを複製することによって、エージェントを生成するステップと、を含む。
【0032】
故障は、エージェントと自動運転車ソフトウェアスタックとの衝突が発生したことと、エージェントと自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含んでもよい。
【0033】
環境は、コンテキストデータを更に含んでもよい。
【0034】
コンテキストデータは、1つ以上の内部マップ及び/又は1つ以上の外部マップを含んでもよい。
【0035】
エピソードは、複数のポイントを含んでもよく、各ポイントは、環境によって出力された状態と、エージェントによって出力されたアクションと、を含む。これらのポイントは、自動運転車の時間ポイントであってもよく、位置ポイントであってもよい。
【0036】
新たなエピソードを1つ以上のエピソードと比較するステップは、新たなエピソードと1つ以上のエピソードとの間の分散を決定するステップを含んでもよく、比較に基づいて強化学習を使用してトレーニングされたエージェントを複製することによって、エージェントを生成するステップは、分散が分散閾値未満である場合に、強化学習を使用してトレーニングされたエージェントを複製するステップを含んでもよい。
【0037】
本開示の一態様に係る、自動運転車を含む新たな敵対的シナリオ及びエージェントを生成するコンピュータ実行方法は、強化学習環境で自動運転車ソフトウェアスタックのプロキシを使用してエージェントをトレーニングする強化学習を実行して、それぞれが、自動運転車ソフトウェアスタックのプロキシの故障で終了する敵対的シナリオを表す1つ以上のエピソードを生成するステップと、エピソード又は各エピソードに基づいて、複数の記述子を生成するステップと、複数の記述子をデータベースに記憶するステップと、を含む。
【0038】
コンピュータ実行方法は、エピソード又は各エピソードの複数の記述子をクラスタリングするステップを含み、複数の記述子を記憶するステップは、記述子のクラスターをデータベースに記憶するステップを含んでもよい。
【0039】
コンピュータ実行方法は、記述子空間で記述子のクラスターから移動することによって、新たな記述子を生成するステップを更に含んでもよい。
【0040】
記述子空間で記述子のクラスターから移動するステップは、クラスターの重心を識別するステップと、重心から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、新たな記述子を新たな記述子の位置での記述子として生成するステップと、を含んでもよい。
【0041】
記述子空間で記述子のクラスターから移動するステップは、クラスターの設定された境界を識別するステップと、境界から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、新たな記述子を新たな記述子の位置での記述子として生成するステップと、を含んでもよい。
【0042】
記述子空間で記述子のクラスターから移動するステップは、クラスターの設定された境界を識別するステップと、境界から局所的な法線方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、新たな記述子を新たな記述子の位置での記述子として生成するステップと、を含んでもよい。
【0043】
設定された境界は、符号付き距離関数を使用して識別されてもよい。
【0044】
1つ以上のエピソードは、複数のエピソードを含んでもよく、複数のエピソードをクラスタリングするステップは、複数のクラスターを生成するステップを含み、クラスターを記憶するステップは、複数のクラスターをデータベースに記憶するステップを含み、クラスターから移動するステップは、各クラスターの間の和集合を決定するステップと、クラスター空間と和集合との間の差を決定するステップと、差の重心を決定するステップと、新たな記述子を差の重心での記述子として生成することとによって、複数のクラスターから移動するステップを含んでもよい。
【0045】
コンピュータ実行方法は、新たな記述子からシード状態を生成するステップと、シード状態を使用した強化学習、複数の記述子の生成及び複数の記述子の記憶を再実行するステップと、を更に含んでもよい。
【0046】
コンピュータ実行方法は、エージェントを再初期化するステップと、再初期化されたエージェントを使用した強化学習、複数の記述子の生成及び複数の記述子の記憶を再実行するステップと、を更に含んでもよい。
【0047】
環境は、コンテキストデータを更に含んでもよい。
【0048】
コンテキストデータは、1つ以上の内部マップ及び/又は1つ以上の外部マップを含んでもよい。
【0049】
コンピュータ実行方法は、環境のコンテキストデータを変更するステップと、変更されたコンテキストデータを使用した強化学習、複数の記述子の生成及び複数の記述子の記憶を再実行するステップと、を更に含んでもよい。
【0050】
エピソードは、複数のポイントを含んでもよく、各ポイントは、環境によって出力された状態と、エージェントによって出力されたアクションと、を含んでもよく。複数のポイントは、自動運転車の時間ポイントであってもよく、位置ポイントであってもよい。
【0051】
複数の記述子を生成するステップは、複数のポイントをそれぞれ潜在空間に符号化するステップを含んでもよい。
【0052】
故障は、エージェントと自動運転車ソフトウェアスタックとの衝突が発生したことと、エージェントと自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含んでもよい。
【0053】
プロキシは、機械学習モデルを含んでもよく、機械学習モデルは、任意選択で、ニューラルネットワークであり、ニューラルネットワークは、任意選択で、畳み込みニューラルネットワークである。
【0054】
別の態様に係る、自動運転車を含むシナリオからエージェントを生成するコンピュータ実行方法は、自動運転車ソフトウェアスタックのプロキシを備えた環境で、強化学習を使用してトレーニングされたエージェントを提供するステップと、プロキシのベースとなる完全自動運転車ソフトウェアスタックを使用して、強化学習を実行してエージェントを最適化するステップと、を含む。
【0055】
当該態様は、選択的に、自動運転車を含む新たな敵対的シナリオ及びエージェントのコンピュータ実行方法として表現されてもよく、方法は、自動運転車ソフトウェアスタックのプロキシを備えた環境で、強化学習を使用してトレーニングされたエージェントを提供するステップと、プロキシのベースとなる完全自動運転車ソフトウェアスタックを使用して、強化学習を実行してエージェントを最適化するステップと、エージェントを最適化するときに1つ以上のエピソードを生成するステップと、他の各エピソードに複数の記述子を生成するステップと、を含む。
【0056】
エージェントは、前述の態様のコンピュータ実行方法を実行するときにトレーニングされたエージェントを提供するステップを含んでもよい。
【0057】
本開示の一態様に係る、自動運転車のシナリオにおいてエージェントの異常軌跡データを生成するコンピュータ実行方法は、エージェントの非異常軌跡データを含むコンテキストデータを敵対的機械学習モデルにより受信するステップと、コンテキストデータから異常軌跡データを敵対的機械学習モデルにより生成するステップと、異常軌跡データをデータベースに記憶するステップと、を含む。
【0058】
自動運転車は、自車両であってもよい。
【0059】
敵対的機械学習モデルは、非異常軌跡データから異常軌跡データを生成するようにトレーニングされた敵対的生成ネットワークを含んでもよい。
【0060】
コンピュータ実行方法は、ノイズを敵対的機械学習モデルにより受信するステップを更に含んでもよく、コンテキストデータから異常軌跡データを敵対的機械学習モデルにより生成するステップは、ノイズに基づいて異常軌跡データを生成するステップを含む。
【0061】
コンテキストデータは、内部マップ及び/又は外部マップを更に含んでもよい。
【0062】
非異常軌跡データは、エージェントと自動運転車との間の無違反に関連付けられた軌跡データを含んでもよい。
【0063】
異常軌跡データは、エージェントと自動運転車との間の違反に関連付けられた軌跡データ、又はエージェントと自車両との間の無違反に関連付けられない軌跡データを含んでもよい。
【0064】
違反は、衝突が発生したことと、最小距離以内に入ることと、自動運転車の減速度が減速度閾値を超えることと、自動運転車の加速度が加速度閾値を超えることと、自動運転車の加加速度が加加速度閾値を超えることとを含む群から選択されるイベントを含んでもよい。換言すれば、イベントは、エージェントと自動運転車ソフトウェアスタックとの衝突が発生したことと、エージェントと自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントであっでもよい。
【0065】
本開示の一態様に係る、異常軌跡データを生成するために敵対的機械学習モデルをトレーニングするコンピュータ実行方法は、エージェントの非異常軌跡データを含むコンテキストデータを敵対的機械学習モードへの入力として提供するステップと、予測異常軌跡データをコンテキストデータから敵対的機械学習モデルにより生成するステップと、予測異常軌跡データと非異常軌跡データとの間の損失を計算するステップと、損失を低減するために敵対的機械学習モデルのパラメータ設定を変更するステップと、を含む。
【0066】
敵対的機械学習モデルは、敵対的生成ネットワークを含んでもよい。
【0067】
敵対的生成ネットワークは、第2敵対的生成ネットワークを含むサイクル敵対的生成ネットワークの一部を形成する第1敵対的生成ネットワークであってもよい。方法は、生成された異常軌跡データを第2敵対的生成ネットワークへの入力として提供するステップと、再構築非異常軌跡データを第2敵対的生成ネットワークにより生成するステップと、再構築非異常軌跡データと非異常軌跡データとの間の損失を計算するステップと、第2損失を低減するために第2敵対的生成ネットワークのパラメータ設定を変更するステップと、を含んでもよく、損失は、第1損失である。
【0068】
第2損失は、再構築損失及び/又は敵対的損失を含んでもよい。
【0069】
損失は、敵対的損失及び/又は予測損失を含んでもよい。
【0070】
非異常軌跡データにはラベル付けされてもよい。
【0071】
コンテキストデータは、内部マップ及び/又は外部マップを更に含んでもよい。
【0072】
非異常軌跡データは、エージェントと自動運転車との間の無違反に関連付けられた軌跡データを含んでもよい。
【0073】
異常軌跡データは、エージェントと自動運転車との間の違反に関連付けられた軌跡データ、又はエージェントと自車両との間の無違反に関連付けられない軌跡データを含んでもよい。
【0074】
違反は、エージェントと自動運転車との衝突が発生したことと、エージェントと自動運転車との間の距離が最小距離閾値未満であることと、自動運転車の減速度が減速度閾値よりも大きいことと、自動運転車の加速度が加速度閾値よりも大きいことと、自動運転車の加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含んでもよい。
【0075】
一時的又は非一時的なコンピュータ可読媒体は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに先行請求項のいずれかに記載の方法を実行させる命令を含む。
【発明を実施するための形態】
【0076】
本発明によれば、添付された特許請求の範囲に記載された方法が提供される。また、コンピュータプログラム、コンピュータ及び非一時的なコンピュータ可読記憶媒体が提供される。本発明の他の特徴は、従属請求項及び以下の説明から明らかになる。
【0077】
方法
第1の態様に係る、アクターの軌跡を生成するコンピュータ実行方法は、
自車両、第1アクターを含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む第1シナリオをシミュレーションするステップであって、第1アクターの第1軌跡を使用するステップを含む、ステップと、
第1アクターの第1軌跡に応じて、環境(例えば、自車両、その集合の第2アクター及び/又はその集合の第1物体)の第1観察を第1敵対的強化学習エージェントにより観察するステップと、
観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップと、を含む。
【0078】
このように、環境の観察、例えば自車両、第1アクターを含むか又は除外するアクターの集合、任意選択で、第1物体を含む物体の集合の観察に基づいて、第2軌跡を第1エージェントにより生成するため、例えば別のシナリオで使用される第1アクターの第2軌跡は、第1軌跡の、ランダム又は体系的ではなく、告知された(informed)摂動又は変更であり、例えば、最大限告知された敵対的摂動である。このように、方法は、軌跡をより効率的に生成し、生成が告知されるため、軌跡は、環境をより効率的に探索し、それにより、自車両及び対応する車両の制御ソフトウェアの欠陥の発見を改善する。例えば、軌跡は、学習、経験則により生成され、運転統計データ及び/又はその補数から抽出されてもよい。例えば、以下でより詳細に説明するように、軌跡は、棄却サンプリングにより生成され、それにより、通常又は予想シナリオ(即ち、通常空間又は(1-N)の補数)以外の軌跡をサンプリングしてもよい。このように、有益に生成された、例えば修正された軌跡を有するシナリオを再作成(recreate)してもよい。自車両及び対応する車両の制御ソフトウェアの欠陥の発見を改善することによって、制御ソフトウェアの安全性が向上し、それにより、対応する車両及び/又はその乗員の安全性が向上する。これに対して、従来の軌跡生成方法は、環境をランダム又は体系的に探索し、それにより、ランタイムを延長し、及び/又は増加したコンピューターリソースを必要とする一方で、欠陥を発見できない可能性がある。
【0079】
一例では、観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップは、例えば、ポイントE、I及びFに対して以下で説明するように、通常空間(即ち、通常又は予想シナリオ)以外を第1エージェントにより探索するステップを含む。
【0080】
言い換えれば、路上テストにより初期シナリオを識別するのではなく、方法は、確率の低いイベントを生成するために使用され、それにより、検証及び確認などのための運転に必要なマイルを大幅に低減する。同様に、シナリオでのアクターの軌跡をランダムに摂動させるのではなく、方法は、学習済み敵対的モデルからこれらの軌跡を生成し、当該学習済み敵対的モデルは、例えば、シミュレーションにより環境と対話し、AVのアクションに反応することができる。このように、シミュレーションで運転するマイル及び単位時間当たりの困難な確率の低いシナリオの生成量が増加する。
【0081】
したがって、学習済み敵対的エージェントは、動的なアクター(例えば、車両/歩行者/サイクリスト)の軌跡を生成し、これは、AVにとって挑戦的である。敵対的エージェントは、(シミュレーションされた)運転環境及びターゲットAVシステムと対話することによって学習する。したがって、経時的に、敵対的エージェントは、AVの潜在的な弱点を学習し、確率の低い運転シナリオを効率的に生成し、当該確率の低い運転シナリオにおいて、AVが準最適に動作する可能性が高い。これらのシナリオは、検証及び確認の目的でターゲットAVシステムの問題の検査として使用され、AVシステムの性能を更に向上させるためのトレーニングデータとして使用されてもよい。同様に、方法は、回帰及び/又は進行テストに使用されてもよい。同様に、方法は、決定論的テストをパラメータ設定するために使用することができる。
【0082】
方法は、コンピュータ実行方法である。即ち、方法は、プロセッサとメモリとを含むコンピュータにより実行される。好適なコンピュータは、既知である。
【0083】
方法は、第1シナリオをシミュレーションするステップを含む。シナリオをシミュレーションするステップを含むコンピュータ実行方法(即ち、インシリコ内での)は、既知である。一般的には、シナリオは、関連アクター、環境、目標、一連のイベントを含む運転状況の記述である。例えば、シナリオは、2D鳥瞰図で表現される、
1、シーン又は環境(例えば、道路、車線、障害物)と、
2、自車両及びその軌跡と、
3、アクター(歩行者、他の車両など)及び個別の各軌跡と、
4、任意選択で、シーン内の物体(交通信号機、停止している自転車、車)との4つの主要素を含む短いシーケンス(数秒から数十秒)で構成される。
【0084】
シーンとシナリオの構成をより適切に表現するために、追加のコンテキスト要素(アクター、物体)が追加されてもよい。
【0085】
シナリオは、自車両、第1アクター(即ち、少なくとも1つのアクター)を含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む。当業者には理解されるように、シーンとしても知られている環境は、典型的には、1つ以上の車線を有する1つ以上の道路を含み、任意選択で、1つ以上の障害物を含む。一般的には、自車両は、対象接続された車両及び/又は自動化車両であり、その行動は、主にテスト、試行又は運用シナリオにおいて重要である。自車両の行動は、その制御ソフトウェア(AVスタックとしても知られている)によって定義されることを理解されたい。一例では、第1アクターは、道路利用者、例えば、車両、歩行者又はサイクリストである。他の道路利用者も既知である。一例では、第1物体は、交通信号機などのインフラストラクチャ又は停止している道路利用者を含み、及び/又は、交通信号機などのインフラストラクチャ又は停止している道路利用者である。一例では、アクターの集合は、A個のアクターを含み、Aは、1以上の自然数、例えば、1、2、3、4、5、6、7、8、9、10又はそれ以上である。一例では、物体の集合は、O個の物体を含み、Oは、1以上の自然数、例えば、1、2、3、4、5、6、7、8、9、10又はそれ以上である。
【0086】
第1シナリオをシミュレーションするステップは、第1アクターの第1軌跡を使用するステップを含む。アクターは関連する軌跡を有することを理解されたい。第1軌跡は、以下で説明するように、記述子で記述されてもよい。
【0087】
方法は、第1アクターの第1軌跡に応じて、環境(例えば、自車両、その集合の第2アクター及び/又はその集合の第1物体)の第1観察を第1敵対的強化学習エージェント(本明細書では、エージェント又は敵対的エージェントとしても知られている)により観察するステップを含む。即ち、第1アクターの第1軌跡は、環境に変化を引き起こしてもよい。例えば、自車両の軌跡及び/又は第2アクターの軌跡は、例えば第1アクターとの衝突を回避するために、第1アクターの第1軌跡に応じて変化してもよい。一例では、環境の第1観察は、自車両の観察である。一例では、環境の第1観察をエージェントにより観察するステップは、環境の第1行動をエージェントにより観察するステップを含み、第1行動は、第1観察を含む。一例では、方法は、敵対的及び/又は非敵対的RLエージェントなどの1つ以上の強化学習エージェントを提供するステップと、第1エージェント、アクターの集合及び/又は物体の集合と協力及び/又は対話するステップと、を含む。
【0088】
方法は、観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップを含む。即ち、第1エージェントは、第1アクターの第1軌跡と、第1軌跡に応じて観察された第1観察とから学習し、この学習により第2軌跡を生成する。言い換えれば、前述したように、第2軌跡の生成は、第1観察によって告知される。
【0089】
特に、本発明者らは、以下の従来の方法を確認する。
【0090】
i、システムは、新たな問題を発見することなく、以前に発見したAV行動における弱点(又は既に知られている弱点とよく類似するもの)を継続して利用できるため、生成されたシナリオの類似性を考慮しない。多様な敵対的シナリオの発見は、効率的な自動問題発見の鍵である。
【0091】
ii、各トレーニングエピソードに対してシナリオシードがどれだけ有益であるかを考慮するか又は評価しない。トレーニングプロセス中に、生成されたシナリオがどれだけ有益であるかを考慮するか又は評価しない。同様に、既存のシステムには、モード崩壊を回避しながら破滅的忘却を制限するための適切な措置がない。
【0092】
iii、敵対的シナリオの開始条件は、典型的には、アクターの位置を、ランダムに選択するか又は以前に発見した困難なシナリオを複製(copy)して選択することによって生成される。AVスタックにとって困難な開始条件又は新たな開始条件を予測し、これを使用してシナリオの開始条件をインフォームド方式及び自動方式で生成することによって、多様なシナリオを発見できる。
【0093】
iv、一般的には、テストパラメータ設定(例えば、回帰、進行)又は欠陥報告を直接的結果の1つとして出力しようとしない。
【0094】
v、単一の敵対的エージェントを使用する(複数の敵対者が協力してより複雑な敵対的シナリオを作成することを考慮しない)。
【0095】
vi、AVをブラックボックスとして考慮し、AVスタック内の個々のサブシステムの個々のパフォーマンスメトリックに基づいてAVスタック内の個々のサブシステムを利用できることではなく、衝突などの高レベルのメトリックを使用する。
【0096】
vii、衝突が防止可能であるか否かを考慮せず、手段は問わず衝突を発生させることに重点を置く。衝突が防止不能である場合(例えば、物体がAVの前方に最小制動距離よりも短い距離の箇所に現れる場合又は歩行者が停止しているAVに衝突する場合)、衝突はAVに起因するものではないため、必ずしも使用されている技術の問題を表すものではない。
【0097】
したがって、本明細書で説明するように、本発明者らは、例えば以下の従来の方法を改良する。
【0098】
a、生成されたシナリオの類似性と多様性(カバレッジを最大化するため)-シナリオと軌跡記述子、シナリオと軌跡マッチャー、再構築シナリオ又は軌跡損失による異常検出、シナリオと軌跡記述子のDB
b、敵対的シナリオのシード及び開始条件(探索(exploration))のインフォームド多様化
c、破滅的忘却を防止するポリシーの予測報酬/混合-ポリシーの混合又はカテゴリごとのポリシー
d、通常シナリオを異常シナリオに変換するための学習
e、シナリオの動的時間伸縮マッチングとシナリオの学習済みマッチング
f、2段階動作、即ち、粗-微(coarse-to-fine):まず、AVスタック又はその1つ以上の(サブ)コンポーネントの学習済みの微分可能なブラックボックスレプリカを使用して検索空間を効率的に削減し、その後、シミュレーターにおいて実際のAVスタックにより敵対的微調整を行う
g、問題発見からアクション可能な項目の導き出し-「フィールド」バグ又は欠陥/バグ報告
h、問題発見からアクション可能な項目の導き出し-回帰及び進行テストのパラメータ設定
i、現実世界のシナリオの再現及び利用がより簡単になり、学習済みエンコーダ、汎用シナリオ及び軌跡記述子により、シナリオの手動再作成とは対照的に、既存の現実世界のシナリオを潜在的な符号化に変換し、その周囲にインフォームド方式でサンプリンできる
【0099】
A、軌跡及びコンテキストの符号化(記述子)
一例では、方法は、生成された第2軌跡を、個別の位置の一連の記述子、例えば、記述と位置とのペアとして定義するステップを含み、当該記述子が、アクター又はエージェント、自車両、他のアクター及び環境に関連する1つ以上のコンポーネントを含む。例えば、図1を参照して説明するように、記述子は、他の交通参加者、道路構成及びシーンコンテキストに対してX-D位置符号化及びN-D符号化が行われた、T時間ステップの一連のT*(X+N)として表されてもよい。任意選択で、記述子は、座標とコンテキストの正規化、エージェント中心又は世界中心の表現で表されてもよい。
【0100】
一例では、一連の記述子は、経験則によるもの及び/又は学習済みのものである。即ち、記述子は、経験則によるもの(例えば、特定の情報に専用の異なるフィールド)であってもよく、学習済みのもの(例えば、シーン/シナリオの潜在的な符号化)であってもよい。
【0101】
一例では、方法は、シナリオの物理データ及び/又はシミュレーションデータを含むデータから一連の記述子を導き出すステップを含む。即ち、記述子は、現実世界(即ち、物理)データ(シーケンシャルデータの自動ラベル付きの詳細については以下を参照)とシミュレーションデータとの両方から導き出されてもよい。これは、必要に応じてシステムへの入力とシステムからの出力との両方として使用できることを意味する。これにより、コンポーネントの互換性が大幅に向上し、現実世界データ、シミュレーションデータ及び後述のプロセスからの出力の記憶、比較、相互運用が容易になる。
【0102】
B、データのラベル付き
一例では、方法は、認識モデルをデータに適用することなどによって、データをラベル付けするステップを含み、データから一連の記述子を導き出すステップは、ラベル付きデータから一連の記述子を導き出すステップを含む。即ち、記述子を生成するためのデータが収集され、(学習済みと経験則による)認識モデルを既存のシーケンシャルデータに適用することなどによって、自動的にラベル付けされる。認識モデルは、画像レベルセマンティックセグメンテーション及び物体検出、オプティカルフローなど、レーザー/LiDAR(ライダー)セマンティックセグメンテーション及び物体検出など、レーダー物体検出/速度推定、大規模シーンの理解などを含んでもよい。後処理、平滑化などは、慣性データ及び車両センサデータなどを使用して実行することできる。高再現率と優れた精度を備えるプロセスを適用してデータを追加してもよい。
【0103】
一般的には、複数の技術を使用して、例えば認識モデル及び経験則による方法を組み合わせて任意選択で高品質なHDマップと共に組み合わせることによってデータをラベル付けすることは、個々の技術から生じるアーティファクトとより一般的な中間特徴を独立して利用できるため、好ましい。これに対して、エンドツーエンド技術は、中間特徴を利用できない。
【0104】
通常の予想とは対照的に、適用された認識モデルのパフォーマンスの低下に起因する一部のノイズは、敵対的シナリオのデータをラベル付けするときに有益であるため、生成されたシナリオに認識欠陥の分布を反映できる。即ち、ノイズのあるラベルを持つことは、現実世界の認識を直接モデル化するという点で利点であってもよい。例えば、1つ以上のフレームでの歩行者のドロップアウトは、トレーニング及び/又は欠陥発見に有益である。
【0105】
例えば、ローカリゼーションの出力は、マップと組み合わせられてもよい。例えば、認識モデルは、道路又はその車線の1つの通路又は軌跡上の道路縁又は車線区分線のラベル付けに使用されてもよく、ラベル付けは、道路若しくはその車線、又は別の道路若しくはその車線の他の通路又は軌跡のラベル付けに自動的に適用されてもよい。エージェントは、自車両及びアクターの十分に正確及び/又は精密な位置と道路のレイアウトとを必要とすることを理解されたい。
【0106】
一例では、方法は、物理データから車両の個別の位置を識別するステップ、及び/又はシミュレーションデータから自車両の個別の位置を識別するステップを含み、データから一連の記述子を導き出すステップは、識別された車両の個別の位置及び/又は識別された自車両の個別の位置を使用して一連の記述子を導き出すステップを含む。即ち、ローカリゼーション技術を適用して、シーン内の自車両の位置を把握することができる。
【0107】
C、モード崩壊の回避、新規性(novelty)の確保
一例では、第1アクターの第2軌跡を第1エージェントにより生成するステップは、第1アクターの第2軌跡を第1エージェントにより予測的又は反応的に生成するステップを含む。即ち、第2軌跡は、予測的に(アクションを実行する前に知られて)又は反応的に(アクションを実行した後に知られて)生成されてもよい。一般的には、反応的方法は、効率が低くなり、例えば、モード崩壊が発生した後にそれを分類し、シナリオ又はエージェント全体を破棄する。しかしながら、反応的方法は、より簡単であり、事後的に有用性を特定し、それに基づいて行動する。これに対して、予測的方法は、より困難であるが、より効率的であり、無駄なリソースと時間を最小限に抑え、問題発見を高速化する。
【0108】
一例では、方法は、第1エージェントにより生成された第1アクターの候補軌跡と基準軌跡との相互類似性を決定するステップ、任意選択で、決定された相互類似性に基づいて候補軌跡を修正することによって第1アクターの第2軌跡を第1エージェントにより生成するステップ、又は決定された相互類似性に基づいて候補軌跡を除外するステップ、を含む。
【0109】
候補軌跡は、第2軌跡の候補であり、基準軌跡は、第1軌跡、又は例えばデータベースに記憶され選択的にアクセスされる記憶軌跡などであってもよいことを理解されたい。例えば、候補軌跡は、そのデータベースに含まれている軌跡と比較されてもよく、当該軌跡は、シナリオに関連する分類に基づいて網羅的に又は部分集合としてアクセスされる。
【0110】
1つの簡単な手法は、(多くの事故と原因を識別するEU、NAなどのデータベースの潜在的な使用と共に)軌跡とコンテキストの記述子のデータベースを含む。(学習済み及び/又は経験則による)マッチングプロセスは、記述子の類似性(ひいてはシナリオの類似性)を決定し、決断(シナリオの破棄、シナリオの調整など)を下すために使用することができる。
【0111】
一例では、方法は、第1軌跡と第2軌跡との相互非類似性に応じて第1エージェントに報酬を与えるステップを含む。このように、第1エージェントは、新たな軌跡の生成に対して報酬を受ける。
【0112】
D、マッチング
一例では、方法は、生成された第2軌跡と基準軌跡とをマッチングするステップを含む。
【0113】
それぞれが動的エージェントの特定のシナリオ又は軌跡を符号化する2つ以上の記述子の集合は、複数のスケール、レベル、粒度でマッチングすることができる。これにより、以下のマッチングが可能になる。
【0114】
形状が類似するが、異なる時間スケール又は異なる解像度/時間ステップ数で捕捉された軌跡とシナリオとのマッチング、及び/又は
形状が異なるが、構成(道路構造、アクター及び自車両の位置、車線内の位置、歩行者に専用のエリアから車両に専用のエリアへ<歩道から車道へ>の移行など)が異なる環境又はシーンに由来する軌跡とシナリオとのマッチング、及び/又は
異なる軌跡とシナリオとの関係の階層的又はツリー状のファミリーを生成する、まず記述子の長さのサブポーションに基づいて、そして異なるサブポーションなどに基づいて行われる、軌跡とシナリオのマッチング又はフィルタリング。
【0115】
マッチングの一例では、動的時間伸縮を用いた初期位置マッチング又はフィルタリング、その後の経験則(ユークリッド距離など)、学習済み方法(例えば、対照的方法又はマージン)及び/又は学習済みルール及びハードコードされたルールのカスタム組み合わせに基づく、記述子の他の部分の1つ以上の段階のマッチングを含む。
【0116】
一例では、生成された第2軌跡と基準軌跡とをマッチングするステップは、生成された第2軌跡の1つ以上の部分と基準軌跡とをマッチングするステップを含む。
【0117】
E、再構築
一例では、方法は、生成された第2軌跡を符号化するステップと、任意選択で、符号化された第2軌跡を復号化するステップと、復号化された第2軌跡の再構築品質を計算するステップと、計算された再構築品質に応じて生成された第2軌跡をラベル付けするステップと、を含む。
【0118】
一例では、方法は、符号化された軌跡を復号化するステップと、復号化された軌跡を符号化するステップと、符号化された軌跡の再構築品質を計算するステップと、を含む。
【0119】
即ち、記述子は、学習済み方法によって取得又は符号化されてもよいため、大規模なシーケンシャルデータの自動抽出と記述が可能である。これは、以下の様々な理由で役立つ。
【0120】
場合によっては、手動で作成された記述子フィールドと比較して、記述子の表現力の豊かさを拡張できる。
【0121】
これにより、シーケンシャルデータの自動(多くの場合、自己教師あり(self-supervised))処理が可能になる。
【0122】
これにより、関心のある現実世界のシナリオを自動的に符号化することができる(その後、インフォームド方式でサンプリングすることができる)。
【0123】
変分コンテキストにおいて使用されると、任意の確率分布を使用してサンプリングすることができる。
【0124】
収束学習済みモデルは、入力の再構築誤差を測定することにより異常検出を実行するために使用されてもよい。不十分な再構築は、テストされているシナリオがトレーニングシナリオの分布の範囲外であるという異常を示す。異常は、とりわけ、新たなシナリオ又は敵対的シナリオとして解釈することができる。
【0125】
即ち、これにより、入力(即ち、生成された軌跡)が正規分布内からのものであるか、正規分布の外からのものであるか、即ち、エージェントが入力を使用してトレーニングされるか否かを決定することができる。
【0126】
したがって、(即ち、第1アクターの)行動の正規分布内の生成された軌跡は、見られ、正しく符号化/復号化される一方、行動の正規分布の外からの生成された軌跡は、正しく符号化されない。このシステムの使用には、以下の2つの選択肢がある。
【0127】
1、軌跡を潜在空間表現に符号化し、潜在空間表現を再構築された軌跡に復号化し、再構築誤差を測定する。
【0128】
2、潜在空間表現を復号化された軌跡に復号化し、復号化された軌跡を再構築された潜在空間表現に符号化し、再構築誤差を測定する。
【0129】
2番目の選択肢は、自己教師ありものであるため、好ましい。入力と出力が唯一のコンポーネントであり、ラベル付けが必要ではない。
【0130】
F、シード(seeding)
一例では、方法は、第1シナリオの初期状態をシードするステップと、シードされた初期状態で第1シナリオを初期化するステップと、を含む。
【0131】
一般的には、RLエージェントは、利用に優れているため、例えばAVスタック内の欠陥を最終的に発見する。しかしながら、RLエージェントは、一般的に探索に優れていないため、テストなどの効率を向上させる。
【0132】
本発明者らは、最大限の告知開始条件を提供することによって、例えば、本明細書に記載されるようにトレーニングし、新たな状態の探索に対して報酬を与えることによって、第1RLエージェントが探索するように誘導されてもよいことを確認した。
【0133】
より詳細に、軌跡とシナリオの生成は、計算コストが低いが、SIM内でのテストは、計算コストが高い。検索空間を削減するために、
テスト後に反応的方式で(上記C、D及びEにおける方法の一部又は全部を使用して)シナリオを破棄するために使用できるいくつかの方法と、
予測的方式で(上記C、D及びEにおける方法の一部又は全部を使用して)テストされているときにシナリオを調整又は破棄するために使用できるいくつかの方法と、
開始条件又はシード条件の数を有益に低減するために使用できる(以下を参照)いくつかの方法とのいくつかの手順を使用することができる。
【0134】
シード条件の数を低減するために提案された方法を図6に示す。学習済み条件付き軌跡モデルは、現実世界データ及び/又はシミュレーションデータ及び/又は以前に生成された敵対的軌跡(adversarial trajectories)の組み合わせを使用して、軌跡を予測するか、又は妥当な軌跡を生成(幻視(hallucinate))するようにトレーニングされる。
【0135】
テスト時に、新たなシーンのレイアウト(例えば、以前に遭遇しない道路構成又は交通状況又はマップの一部)を条件として、学習済みモデルは、以前の軌跡点の集合が与えられると、妥当な開始条件と妥当な将来の軌跡点との両方をサンプリングするために使用することができる。
【0136】
これにより、シーン構成、シナリオシード、開始点の大規模なインフォームドサンプリングが可能になる。更に、強化学習中にインフォームド探索が可能になり、利用のバランスを取ることにより、カバレッジを改善し、破滅的忘却及びモード崩壊の可能性を最小限に抑えることができる。
【0137】
一例では、第1シナリオの初期状態をシードするステップは、複数の初期状態から初期状態を選択するステップを含む。即ち、初期状態は、例えば探索を最適化するために、ランダム又は体系的に選択されるのではなく、意図的に選択される。
【0138】
G、報酬
一例では、方法は、生成された第2軌跡の新規性、例えば短期の新規性及び/又は長期の新規性に応じて第1エージェントに報酬を与えるステップを含む。このように、探索に対して報酬が与えられる。
【0139】
より詳細に、第1エージェントは、訪問した状態の新規性に対して報酬を受けることができ、一例として、追加の新規性報酬を符号化(encode)するボクセル化グリッドが挙げられる。
【0140】
●内発的報酬は、RLエージェントに新たな状態を求めるよう促すため、トレーニング中により多様な軌跡を取ることになる。
●報酬は、短期(例えば、エピソード)報酬又は長期(エージェントのトレーニング実行全体)報酬、又はスケーリング係数を使用して互いに新規性のバランスが取れた短期報酬と長期報酬の両方の組み合わせであり得る。
●長期の新規性の測定の例は、ランダムネットワーク蒸留(RND)によって取得できる。RNDは、ランダムに初期化されてトレーニングされない畳み込みニューラルネットワーク(ランダムネットワーク)と、RLトレーニング中にトレーニングされた予測器畳み込みニューラルネットワーク(予測器ネットワーク)との2つのネットワークを使用する。予測器ネットワークは、RLネットワークによって見られる状態のランダムネットワークの出力を予測することを目的とする。新たな状態は、予測器ネットワークの予測に大きな誤差をもたらす。(エンコーダと再構築損失の使用と類似するが、RNDは、静的データセットではなく、RLモデルの観察についてトレーニングを受けるため、予測器ネットワークの推論誤差は、所与のRLトレーニング実行に固有である。しかしながら、これは、トレーニングする追加のネットワークを追加するため、RLトレーニングに計算オーバーヘッドを追加する)。
【0141】
一例では、方法は、ランダムネットワーク蒸留(RND)を使用することなどによって新規性を測定するステップを含む。
【0142】
H、モード崩壊
一例では、方法は、第1エージェントのモード崩壊を評価するステップと、評価の結果に基づいて第1エージェントを適応させるステップと、を含む。
【0143】
モード崩壊は、深層学習の主要問題であり、深層強化学習ではより主要な問題である。敵対的エージェントと敵対的シナリオの場合、これは通常、同じAVスタックの欠陥又は抜け穴を何度も探索する敵対的戦略を出力するモデルの形で現れる。これは、効率が非常に低いだけでなく、発見可能な問題の量(即ち、カバレッジ)を大幅に制限することができる。特定の戦略は、この問題をある程度軽減するのに役立つ(とりわけ、C、F及びGを参照)。いくつかの戦略は、モード崩壊を軽減するが、破滅的忘却を引き起こす(即ち、以前の有用な敵対的戦略が「忘れられ」、新たな敵対的戦略が優先される)。
【0144】
これを効果的に軽減する1つの方法は、深層強化学習モデルを、それらの行動とモード崩壊を評価するメトリックとに基づいて離散化し分類することである。上記と同じマッチング及びフィルタリング戦略を使用して、以前の出力(即ち、低分散検出器)と他の(例えば、データベースに記憶される)モデルの出力(即ち、低グローバルダイバーシティ検出器)との両方に関して、トレーニング中のモデルのモード崩壊の量を効果的に測定する。更に、モード崩壊が発生したときにトレーニングを停止し、これらのモデルを分類して記憶する(それらのパラメータ設定を記憶する)ことにより、特定のクラスの問題に対するカバレッジをより正式にデモンストレーションできる。
【0145】
同様に、特定のエージェント/モデルのトレーニング期間中、モード崩壊メトリック(Mode Collapse metric)を記録することができる。モード崩壊が発生したときにトレーニングを停止することができるが、モデルがより高い分散又は多様性を示した状態、即ち、モデルが1つ以上のモード崩壊メトリックに関して「より良い」スコアを獲得した状態に対応するモデルの以前の状態(パラメータ設定)は保存されてもよい。
【0146】
このような方法の例を図8に示す。
【0147】
a、トレーニング中に、エージェントが単一の利用モードに崩壊するときに(1つ以上のモード崩壊メトリックに従って)エージェントを複製(clone)し、(現在又は過去、望ましい行動とモード崩壊メトリックによるスコア)エージェントのパラメータ設定をデータベースに保存する。新たな探索シードを使用して探索を再開する。あるいは、再初期化されたエージェントを使用してトレーニングを再開する。繰り返して反復して、様々な敵対的シナリオを見つけ、後のテストに対して複数の敵対的エージェントをトレーニングする。
【0148】
b、テスト中に、保存された敵対的エージェントのデータベースは、所与の開始シード(エージェントの位置、道路形状など)に対する多様な敵対的シナリオの集合を取得するために使用することができる。これは、より多様な利用モードの集合に対してAVスタックをテストすることにより、テストカバレッジを拡大することができることを意味する。敵対的シナリオと敵対的エージェントの行動とをより正式に分類する可能性がある。
【0149】
請求(Claim)-経験則と学習の組み合わせ。敵対的行動を発見するためにエージェントをトレーニングする。生成された軌跡の潜在空間又は記述空間における新規性と距離を監視する。新規性又は分散が減少し始めたと決定する場合、現在又は過去のパラメータ設定を、出力される軌跡の種類を分類するためのメタ情報とともに、DBに保存し、そして、パラメータ設定のDBを構築する。効果-ポリシーのトレーニング又は推論を終了させ、異なるポリシー、新たなシードなどに切り替えてエージェントを再初期化する。全体を再び監視する。収穫逓減-脱出(Diminishing returns - bail out)。また-これらのポリシーの正式に識別可能なクラス/クラスターは-統合/回帰テストを実行することができる。例えば、一部のAVスタックのみをマイニングする。一連の記述子を分類する。マイニングは-滑らかな軌跡の検索であり、他の環境にも広く適用できる。記述子は、実際のシミュレーションされたデータ、入力、出力の間の交換形式として使用される-全ての入力と出力は、記述子であり、パラメータ設定は副産物であるが、パラメータ設定には関心がある(これらがモデルである)。
【0150】
I、異常スタイル変換
一例では、方法は、基準データを参照してシナリオの物理データ及び/又はシミュレーションデータを含むデータを変換するステップを含む。
【0151】
(自動的に)ラベル付き非異常軌跡データの1つ以上の集合と、(自動的に)ラベル付けされ、学習又は生成された異常軌跡データの1つ以上の集合が与えられると、モデルは、非異常軌跡データを異常軌跡データに変換するようにトレーニングを受けることができる。有利には、このトレーニングは、ペアになっておらず、弱教師ありトレーニングであり、軌跡間の関連性をラベル付けする必要がない。
【0152】
このような方法の一例では、図9に示すように、非異常データの分布が敵対的損失と予測損失を使用して異常データの分布と一致するように、サイクル一貫性敵対的生成モデル(Cycle-Consistency Generative Adversarial model)を使用して非異常データを変換する。言い換えれば、方法は、敵対的軌跡の分布とマッチングするために非敵対的軌跡の分布を変換する。
【0153】
異常とは、単に2種類の集合の分布が相違することを意味することを理解されたい。集合Aは、分布が集合Bの分布とよりよく一致するように変換することができる。
【0154】
J、欠陥報告の生成
一例では、方法は、欠陥報告を出力するステップと、任意選択で、出力された欠陥報告に応答してアクションを実行するステップと、を含む。
【0155】
システム全体の目標は、問題発見であるが、重要な部分は、システムの結果、特に発生した故障から導き出されたアクション可能な項目によって表される。報告の例は、「フィールド」バグ又はバグ報告/欠陥報告と、回帰及び進行テストのパラメータ設定(例えば、決定論的シナリオ、固定シミュレーションシナリオ)と、を含む。
【0156】
報告をトリガーし得るシミュレーションの故障の例として、
●衝突、急ブレーキ、他のアクターへの近づき過ぎ、車線違反などの簡単な例と
●記述子に対する「異常な行動」と
●損傷したST制約と
●任意のメトリック(例えば、予測メトリック/追跡メトリック、特定のAVコンポーネントメトリック)の低いパフォーマンスとが挙げられる。
【0157】
一例では、欠陥報告は、自車両、即ち、対応するAVの制御ソフトウェアの1つ以上の欠陥を含む。
【0158】
K、ターゲットシナリオの再現
上記Eを参照する。
【0159】
一例では、第1シナリオをシミュレーションするステップは、ターゲットシナリオをシミュレーションするステップを含む。
【0160】
このように、ターゲットシナリオは、新たな環境(例えば、空港又は特定の都市/交差点/時間/交通/物体/アクターのシャトル)をシミュレーションするシードとして使用される。
【0161】
L、プロキシ
一例では、方法は、自車両又はそのコンポーネントをプロキシとして近似するステップを含み、第1シナリオをシミュレーションするステップは、プロキシを用いて第1シナリオをシミュレーションするステップを含む。このように、自車両又はそのコンポーネントは、近似(ダウンサンプリング)されて、第1エージェントを使用して広範なカテゴリを探索する前に、比較的削減した検索空間の探索を加速して、より低い計算コストで広範なカテゴリを発見する。
【0162】
より詳細に、方法は、まず、AVスタック又はその1つ以上の(サブ)コンポーネントの学習済みの微分可能なブラックボックスプロキシを使用して検索空間を効率的に削減し、その後、シミュレーターにおいて実際のAVスタックにより敵対的微調整を行う粗-微という2段階動作を含む。
【0163】
シミュレーションされた環境でアクションを実行し状態を観察すると、(現実世界での運転よりも遥かに安くても)依然として高価及び/又は時間がかかる可能性がある。これは、a)低速シミュレーター環境、b)固定周波数で動作するAVスタック又はc)その両方に起因する可能性がある。
【0164】
AVソフトウェアスタック又はAVスタックの1つ以上のサブコンポーネントの学習済みプロキシは、動作を高速化するために使用することができる。以下の2つの動作モードが提案される。
【0165】
1、元のAVスタックから生じる制限に対処するために、シミュレーションされた環境内の学習済みプロキシにより、AVスタック全体又はその1つ以上のサブコンポーネントを交換する(第1図、底部)。
【0166】
2、アクションラベルが存在するか又は取得できる場合、AVスタックのサブコンポーネントの微分可能な学習済みプロキシは、強力な直接監視を有する敵対的エージェントをトレーニングするために使用することができる(第2図、底部)。これにより、両方の種類の制限に対処できる。
【0167】
これは、(不完全な)プロキシを使用して、近似手法で検索空間をサブサンプリングするため、粗-微アプローチの「粗」部分である。プロキシは、実際のAVスタック(又はサブコンポーネント)の行動の分布の近似器に過ぎない。
【0168】
そして、「微」部分は、サブサンプリングされた検索空間内で元のAVスタックを使用して敵対的エージェントを微調整することによって表される。
【0169】
●2段階動作(粗-微):
■まず、実コンポーネント(例えば、時間の制約がそれほど厳しくないトラッカーの学習済みバージョン)の近似値を使用して実行して問題空間を部分集合化する。
■その後、フルシミュレーション環境を使用して部分集合内のポイントを探索する。
【0170】
強力な直接監視を使用することにより、特定のカテゴリのアクションをターゲットにすることができる(以前の便利な軌跡及びシナリオ記述子を再び使用する)。例えば、プランナーから特定のヨーを誘発するように敵対的エージェントをトレーニングしたい場合、これを行うために、まず、プランナーの学習済みプロキシをトレーニングし、プロキシのパラメータを凍結し、続いて、特定の「タイプ」又は記述子に厳密にマッチングする軌跡につながるプランをプランナープロキシに出力させるように敵対的エージェントをトレーニングする。
【0171】
M、自動回帰
一例では、方法は、
第2軌跡を使用して第2シナリオをシミュレーションするステップと、
第1アクターの第2軌跡に応じて、環境の第2観察を第1エージェントにより観察するステップと、
任意選択で、観察された環境の第2観察に基づいて第1アクターの第3軌跡を第1エージェントにより生成するステップと、を含む。
【0172】
一例では、方法は、第1アクターの第1軌跡を第1エージェントにより生成するステップを含む。
【0173】
即ち、方法は、方法の出力が方法の入力となるように、生成された軌跡を使用してシナリオをシミュレーションするステップと、環境を観察するステップと、軌跡を生成ステップとを繰り返すステップを含む。このように、第1エージェントは、トレーニングされる。
【0174】
一例では、方法は、エージェントをトレーニングする方法を含み、及び/又はエージェントをトレーニングする方法である。一例を挙げると、エージェントをトレーニングするステップは、第1軌跡と第1観察との関係をエージェントにより確立するステップを含む。
【0175】
N、回復不能なイベント
一例では、方法は、第1アクターの第2軌跡に応じて環境の第2観察が回復不能なイベント、例えば、自車両と第1アクターとの不可避の衝突(即ち、自車両は、物理的制約条件又は物理法則などにより衝突を防止できない)を除外する場合、第1エージェントに報酬を与えるステップを含む。
【0176】
既存の解決手段は、衝突が防止可能であるか否かを考慮せず、手段は問わず衝突を発生させることに重点を置く。衝突が防止不能又は回避不能である場合(例えば、物体がAVの前方に最小制動距離よりも短い距離の箇所に現れる場合又は歩行者が停止しているAVに衝突する場合)、衝突はAVに起因するものではないため、必ずしも使用されている技術の問題を表すものではない。
【0177】
一例では、方法は、第1エージェントにより第2エージェントと協力するステップ、及び/又は、第1エージェントにより敵対的エージェント又は非敵対的エージェントと対話するステップを含む。
【0178】
即ち、第1エージェントは、第2エージェント及び/又は物体の行動、即ち、環境(非敵対的物体/エージェント)と対話してもよい。
【0179】
シナリオのシミュレーション
第2の態様に係る、シナリオをシミュレーションするコンピュータ実行方法は、
第1の態様に係るアクターの集合の第1アクターの第1軌跡を生成するステップと、自車両、第1アクターを含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む第1シナリオをシミュレーションするステップであって、第1シナリオをシミュレーションするステップが第1アクターの生成された第1軌跡を使用するステップを含む、ステップと、第1シナリオにおける自車両の欠陥を識別するステップと、を含む。
【0180】
一例では、方法は、自車両、例えばその制御ソフトウェアのインストール、保証、確認、検証、回帰及び/又は進行テストなどのテスト方法である。
【0181】
自車両の開発
第3の態様に係る、自車両を開発するコンピュータ実行方法は、
第2の態様に係るシナリオをシミュレーションするステップと、
自車両の識別された欠陥を修復するステップと、を含む。
【0182】
一例では、自車両の識別された欠陥を修復するステップは、自車両の制御ソフトウェアを修復するステップを含む。
【0183】
コンピュータ、コンピュータプログラム、非一時的なコンピュータ可読記憶媒体
第4の態様に係るコンピュータは、第1の態様、第2の態様及び/又は第3の態様に係る方法を実行するように構成されたプロセッサとメモリとを含む。
【0184】
第5の態様に係るコンピュータプログラムは、プロセッサとメモリとを含むコンピュータによって実行されると、コンピュータに第1の態様、第2の態様及び/又は第3の態様に係る方法を実行させる命令を含む。
【0185】
第6の態様に係る非一時的なコンピュータ可読記憶媒体は、プロセッサとメモリとを含むコンピュータによって実行されると、コンピュータに第1の態様、第2の態様及び/又は第3の態様に係る方法を実行させる命令を含む。
【0186】
定義
本明細書全体にわたって、「含み(comprising)」又は「含む(comprises)」という用語は、特定のコンポーネントを含むが、他のコンポーネントの存在を除外しないことを意味する。「…から本質的になり(consisting essentially of)」又は「…から本質的になる(consists essentially of)」という用語は、特定のコンポーネントを含むが、不純物として存在する物質、及びコンポーネントを提供するために使用されるプロセスの結果として存在する不可避の物質を除く他のコンポーネントと、着色剤などの、本発明の技術的効果を達成する目的以外の目的で添加されるコンポーネントとを除外することを意味する。
【0187】
「(consisting of)から本質的になり」又は「(consists of)から本質的になる」という用語は、特定のコンポーネントを含むが、他のコンポーネントを除外することを意味する。
【0188】
適切な場合はいつでも、文脈に応じて、「含み」又は「含む」という用語の使用は、「から本質的になり」又は「から本質的になる」という意味を含むと解釈されてもよく、「からなり」又は「からなる」という意味を含むと解釈されてもよい。
【0189】
本明細書に記載の任意選択の特徴は、個々に又は必要に応じて互いに組み合わせて使用することができ、特に添付の特許請求の範囲に記載の組み合わせで使用することができる。本明細書に記載の本発明の各態様又は例示的な実施形態の任意選択の特徴は、必要に応じて、本発明の他の全ての態様又は例示的な実施形態にも適用可能である。言い換えれば、本明細書を読む当業者は、本発明の各態様又は例示的な実施形態の任意選択の特徴を、異なる態様及び例示的な実施形態間で交換可能及び組み合わせ可能であると考える。
【図面の簡単な説明】
【0190】
本発明をよりよく理解し、本発明の例示的な実施形態がどのように実施されるかを示すために、単なる例として、添付図面を参照して説明する。
【0191】
図1】自車両のシナリオを概略的に示す。
図2図1のシナリオで捕捉されたデータのラベル付けを概略的に示す。
図3】1つ以上の実施形態に係る、図1のシナリオから新たな記述子を生成し、シナリオを調整する方法を概略的に示す。
図4図3に概略的に示す方法で使用されるマッチャーを概略的に示す。
図5】1つ以上の実施形態に係る、軌跡データを異常としてラベル付けする方法を概略的に示す。
図6】固定又は再帰軌跡モデルのトレーニング方法及びテスト方法をそれぞれ概略的に示す。
図7】ランダムネットワーク蒸留の方法を概略的に示す。
図8】1つ以上の実施形態に係る、強化学習を使用して図1のシナリオからエージェントのポリシーをトレーニングする方法の一例を概略的に示す。
図9】1つ以上の実施形態に係る、固定又は再帰軌跡モデルを使用した、異常変換のトレーニング方法及び実行方法をそれぞれ概略的に示す。
図10】1つ以上の実施形態に係る、第1固定又は再帰軌跡モデル及び第2固定又は再帰軌跡モデルを使用した、異常変換のトレーニング方法を概略的に示す。
図11】1つ以上の実施形態に係る、エージェントをトレーニングするときに強化学習のエピソードから欠陥報告を生成する方法を概略的に示す。
図12】1つ以上の実施形態に係る、エージェントをトレーニングするときに強化学習のエピソードの記述子のクラスターを生成する方法を概略的に示す。
図13】1つ以上の実施形態に係る、エージェントをトレーニングするときに強化学習のエピソードの記述子のクラスターを生成する方法を概略的に示す。
図14】1つ以上の実施形態に係る、図12及び図13の記述子のクラスターを含む記述子空間の新たな記述子を生成する方法を概略的に示す。
図15】1つ以上の実施形態に係る、複数のクラスターから移動して新たな記述子を生成する方法を概略的に示す。
図16】1つ以上の実施形態に係る、シナリオを再現する方法を概略的に示す。
図17】1つ以上の実施形態に係る、自動運転車のソフトウェアスタックのプロキシを含む環境で強化学習を使用してエージェントをトレーニングする方法を概略的に示す。
図18】1つ以上の実施形態に係る、自動運転車のソフトウェアスタックコンポーネントのプロキシを含む環境で強化学習を使用してエージェントをトレーニングする方法を概略的に示す。
図19】前述の方法をより詳細に概略的に示す。
図20】前述の方法をより詳細に概略的に示す。
図21】前述の方法をより詳細に概略的に示す。
図22】前述の方法をより詳細に概略的に示す。
【0192】
図面の詳細な説明
図1図22は、例示的な実施形態に係る方法を概略的に示す。方法は、アクターの軌跡を生成するコンピュータ実行方法であり、
自車両、第1アクターを含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む第1シナリオをシミュレーションするステップであって、第1アクターの第1軌跡を使用するステップを含む、ステップと、
第1アクターの第1軌跡に応じて、環境(例えば、自車両、その集合の第2アクター及び/又はその集合の第1物体)の第1観察を第1敵対的強化学習エージェントにより観察するステップと、
観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップと、を含む。
【0193】
A、軌跡及びコンテキストの符号化(記述子)
図1は、例示的な実施形態に係る方法をより詳細に概略的に示す。より具体的には、図1は、自動運転車10が遭遇するシナリオを概略的に示す。自動運転車10は、自車両10であってもよい。シナリオは、1つ以上のアクターを含み、この特定のシナリオには2つのアクターが存在する。2つのアクターは、別の車両12及び歩行者14を含む。歩行者は、軌跡T、例えば歩道16と実質的に直交して歩道16から自車両10が走行する道路18へ移動するエージェント軌跡を有する。このように、エージェント軌跡は、自車両の軌跡と交差する。エージェント軌跡Tは、記述子20として捕捉される。
【0194】
言い換えれば、本例では、本方法は、生成された第2軌跡を、個別の位置の一連の記述子、例えば、記述と位置とのペアとして定義するステップを含み、当該記述が、アクター又はエージェント、自車両、他のアクター及び環境に関連する1つ以上のコンポーネントを含む。例えば、図1を参照して説明するように、記述子は、他の交通参加者、道路構成及びシーンコンテキストに対してX-D位置符号化及びN-D符号化が行われた、T時間ステップの一連のT*(X+N)として表されてもよい。任意選択で、記述子は、座標とコンテキストの正規化、エージェント中心又は世界中心の表現で表されてもよい。本例では、一連の記述子は、経験則によるもの及び/又は学習済みのものである。本例では、本方法は、シナリオの物理データ及び/又はシミュレーションデータを含むデータから一連の記述子を導き出すステップを含む。
【0195】
なお、自車両10は、複数のセンサ22及び車載コンピュータ24を含んでもよい。センサは、レーダーセンサ、画像センサ、LiDARセンサ、慣性計測ユニット(IMU:inertial measurement unit)、オドメトリなどの様々なモダリティのセンサを含んでもよい。コンピュータ24は、1つ以上のプロセッサと記憶装置とを含んでもよい。自車両は、軌跡に沿って自車両を移動させるエンジン(図示せず)などの1つ以上のアクチュエータを含んでもよい。
【0196】
B、データのラベル付け
図2は、図1の方法をより詳細に概略的に示す。
【0197】
本例では、方法は、認識モデルをデータに適用することなどによって、データをラベル付けするステップを含み、データから一連の記述子を導き出すステップは、ラベル付きデータから一連の記述子を導き出すステップを含む。即ち、記述子を生成するためのデータが収集され、(学習済みと経験則による)認識モデルを既存のシーケンシャルデータに適用することなどによって、自動的にラベル付けされる。
【0198】
本例では、本方法は、物理データから車両の個別の位置を識別するステップ、及び/又はシミュレーションデータから自車両の個別の位置を識別するステップを含み、データから一連の記述子を導き出すステップは、識別された車両の個別の位置及び/又は識別された自車両の個別の位置を使用して一連の記述子を導き出すステップを含む。即ち、ローカリゼーション技術を適用して、シーン内の自車両の位置を把握することができる。
【0199】
言い換えれば、ラベル付けされないシーケンシャルデータ26は、1つ以上のセンサ22(図1)によって捕捉される。ラベル付けされないシーケンシャルデータ26は、画像データ26_1と、LiDARデータ26_2と、レーダーデータ26_3と、位置情報26_4と、車両データ26_5と、を含んでもよい。また、任意選択データ28が提供されてもよい。任意選択データ28は、内部マップ28_1と、外部マップ28_2と、フィールドアノテーション28_3と、を含んでもよい。データ26、28は、30において自動的にラベル付けされてもよい。自動ラベル付けの結果は、ラベル付き軌跡データ32となる。
【0200】
C、モード崩壊の回避、新規性の確保
図3は、図1の方法をより詳細に概略的に示す。
【0201】
本例では、第1アクターの第2軌跡を第1エージェントにより生成するステップは、第1アクターの第2軌跡を第1エージェントにより予測的又は反応的に生成するステップを含む。
【0202】
本例では、方法は、第1エージェントにより生成された第1アクターの候補軌跡と基準軌跡との相互類似性を決定するステップ、任意選択で、決定された相互類似性に基づいて候補軌跡を修正することによって第1アクターの第2軌跡を第1エージェントにより生成するステップ、又は決定された相互類似性に基づいて候補軌跡を除外するステップ、を含む。
【0203】
候補軌跡は、第2軌跡の候補であり、基準軌跡は、第1軌跡、又は例えばデータベースに記憶され選択的にアクセスされる記憶軌跡などであってもよいことを理解されたい。例えば、候補軌跡は、そのデータベースに含まれている軌跡と比較されてもよく、当該軌跡は、シナリオに関連する分類に基づいて網羅的に又は部分集合としてアクセスされる。
【0204】
本例では、方法は、第1軌跡と第2軌跡との相互非類似性に応じて第1エージェントに報酬を与えるステップを含む。このように、第1エージェントは、新たな軌跡の生成に対して報酬を受ける。
【0205】
言い換えれば、記述子20は、シナリオの各ポイントに対して生成されてもよい。シナリオのポイントは、自車両の時間ポイントであってもよく、位置ポイントであってもよい。ポイントはそれぞれ、各アクター又はエージェントの位置及びポーズと、自車両10の位置及びポーズと、コンテキスト情報と、を含んでもよい。コンテキスト情報は、内部マップ及び外部マップを含んでもよい。シナリオを構成するポイントは、複数存在してもよい。したがって、複数の記述子が存在してもよく、各記述子は、ポイントに対して生成されてもよい。軌跡Tは、シナリオ内のエージェントの一連の位置及びポーズであってもよい。
【0206】
各記述子20は、マッチャー34に入力されてもよい。以下の図4を参照してマッチャー34をより詳細に説明する。35では、マッチャー34は、一連の記述子20を記述子シーケンスデータベース36と比較し、比較されたシーケンスとの類似性(例えば、距離)の程度を決定する。エージェント軌跡シーケンスがデータベース36内のどれにも類似しない場合、38では当該シーケンスをデータベース36に記憶する。エージェント軌跡シーケンスが類似する場合、40ではエージェント軌跡シーケンスを調整するか又は破棄する。
【0207】
D、マッチング
図4は、図1の方法をより詳細に概略的に示す。
【0208】
本例では、方法は、生成された第2軌跡と基準軌跡とをマッチングするステップを含む。
【0209】
マッチングの一例では、動的時間伸縮を用いた初期位置マッチング又はフィルタリング、その後の経験則(ユークリッド距離など)、学習済み方法(例えば、対照的方法又はマージン)及び/又は学習済みルール及びハードコードされたルールのカスタム組み合わせに基づく、記述子の他の部分の1つ以上の段階のマッチングを含む。
【0210】
本例では、生成された第2軌跡と基準軌跡とをマッチングするステップは、生成された第2軌跡の1つ以上の部分と基準軌跡とをマッチングするステップを含む。
【0211】
言い換えれば、図4は、図3のマッチャー34を概略的に示す。マッチャー34は、2つの軌跡、例えば、軌跡1(エージェント軌跡T)と軌跡2(データベース36に記憶された軌跡)との類似性を比較するように構成されてもよい。マッチャーは、1つ以上の構成マッチャーを含んでもよい。構成マッチャーは、動的時間伸縮(DTW:Dynamic Time Warping)マッチャー42_1と、ユークリッド距離マッチャー42_2と、学習済み距離マッチャー42_3(2列のポイントの間の距離を計算するようにトレーニングされたニューラルネットワークであってもよい)と、カスタムマッチャー42_4(任意の他のマッチャーの組み合わせであってもよい)と、コンテキストマッチャー42_5とのうちの1つ以上を含んでもよい。
【0212】
E、再構築
図5は、図1の方法をより詳細に概略的に示す。
【0213】
本例では、方法は、生成された第2軌跡を符号化するステップと、任意選択で、符号化された第2軌跡を復号化するステップと、復号化された第2軌跡の再構築品質を計算するステップと、計算された再構築品質に応じて生成された第2軌跡をラベル付けするステップと、を含む。
【0214】
本例では、方法は、符号化された軌跡を復号化するステップと、復号化された軌跡を符号化するステップと、符号化された軌跡の再構築品質を計算するステップと、を含む。
【0215】
言い換えれば、図5は、オートエンコーダ(autoencoder)、より具体的には変分オートエンコーダ(VAE:variational autoencoder)のトレーニング及びテストを概略的に示す。VAEは、エンコーダ44とデコーダ46とを含んでもよい。
【0216】
トレーニング中に、エンコーダは、ラベル付き軌跡データ48から記述子20を生成するように構成されてもよい。デコーダは、記述子20を使用して軌跡データ50を再構築するように構成されてもよい。エンコーダ及びデコーダは、再構築された軌跡データ50とラベル付き軌跡データ48との間の損失を低減するか又は最小限にするようにトレーニングされる。
【0217】
テスト中に、再構築された軌跡は、元のラベル付き軌跡48と比較され、再構築品質51が計算される。52では、再構築品質が低い場合、例えば、閾値未満である場合、54では、データは、異常としてラベル付けされる。異常54は、再構築された軌跡がトレーニングされた分布の外側にあるために検出されてもよい。したがって、このような異常は、AVスタックをテストするためにシミュレーターで使用される良好な候補となってもよい。
【0218】
F、シード(seeding)
図6は、図1の方法をより詳細に概略的に示す。
【0219】
本例では、方法は、第1シナリオの初期状態をシードするステップと、シードされた初期状態で第1シナリオを初期化するステップと、を含む。
【0220】
シード条件の数を低減するために提案された方法を図6に示す。学習済み条件付き軌跡モデルは、現実世界データ及び/又はシミュレーションデータ及び/又は以前に生成された敵対的軌跡の組み合わせを使用して、軌跡を予測するか、又は妥当な軌跡を生成(幻視)するようにトレーニングされる。
【0221】
テスト時に、新たなシーンのレイアウト(例えば、以前に遭遇しない道路構成又は交通状況又はマップの一部)を条件として、学習済みモデルは、以前の軌跡点の集合が与えられると、妥当な開始条件と妥当な将来の軌跡点との両方をサンプリングするために使用することができる。
【0222】
これにより、シーン構成、シナリオシード、開始点の大規模なインフォームドサンプリングが可能になる。更に、強化学習中にインフォームド探索が可能になり、利用のバランスを取ることにより、カバレッジを改善し、破滅的忘却及びモード崩壊の可能性を最小限に抑えることができる。
【0223】
本例では、第1シナリオの初期状態をシードするステップは、複数の初期状態から初期状態を選択するステップを含む。即ち、初期状態は、例えば探索を最適化するために、ランダム又は体系的に選択されるのではなく、意図的に選択される。
【0224】
言い換えれば、図6に概略的に示す方法は、可能な異常軌跡を生成するために必要なシード条件の数を低減するために提案される。
【0225】
固定又は再帰軌跡モデル60は、内部マップ63及び外部マップ64を含んでもよいコンテキストデータ62を入力することによってトレーニング段階でトレーニングされてもよい。任意選択で、軌跡シード66は、ラベル付き軌跡データ48を使用して入力されてもよく、ノイズ68は、ノイズ発生器70を使用して入力されてもよい。予測軌跡72は、生成されてもよく、予測又は再構築損失は、生成されてもよい。軌跡モデル60は、ニューラルネットワークを含んでもよい。軌跡モデル60のパラメータ設定は、予測又は再構築損失を最小限に抑えることによって最適化されもよい。
【0226】
テスト中に、軌跡モデル60は、コンテキストデータ62、ノイズ68及び軌跡シード66を入力として使用して、新たな軌跡データ74を生成してもよい。
【0227】
G、報酬
図7は、図1の方法をより詳細に概略的に示す。
【0228】
本例では、方法は、生成された第2軌跡の新規性、例えば短期の新規性及び/又は長期の新規性に応じて第1エージェントに報酬を与えるステップを含む。このように、探索に対して報酬が与えられる。
【0229】
より詳細に、第1エージェントは、訪問した状態の新規性に対して報酬を受けることができ、一例として、追加の新規性報酬を符号化するボクセル化グリッドが挙げられる。
【0230】
●内発的報酬は、RLエージェントに新たな状態を求めるよう促すため、トレーニング中により多様な軌跡を取ることになる。
●報酬は、短期(例えば、エピソード)報酬又は長期(エージェントのトレーニング実行全体)報酬又はスケーリング係数を使用して互いに新規性のバランスが取れた短期報酬と長期報酬の両方の組み合わせであり得る。
●長期の新規性の測定の例は、ランダムネットワーク蒸留(RND)によって取得できる。RNDは、ランダムに初期化されてトレーニングされない畳み込みニューラルネットワーク(ランダムネットワーク)と、RLトレーニング中にトレーニングされた予測器畳み込みニューラルネットワーク(予測器ネットワーク)との2つのネットワークを使用する。予測器ネットワークは、RLネットワークによって見られる状態のランダムネットワークの出力を予測することを目的とする。新たな状態は、予測器ネットワークの予測に大きな誤差をもたらす。(エンコーダと再構築損失の使用と類似するが、RNDは、静的データセットではなく、RLモデルの観察についてトレーニングを受けるため、予測器ネットワークの推論誤差は、所与のRLトレーニング実行に固有である。しかしながら、これは、トレーニングする追加のネットワークを追加するため、RLトレーニングに計算オーバーヘッドを追加する)。
【0231】
本例では、方法は、ランダムネットワーク蒸留(RND)を使用することなどによって新規性を測定するステップを含む。
【0232】
H、モード崩壊
図8は、図1の方法をより詳細に概略的に示す。
【0233】
本例では、方法は、第1エージェントのモード崩壊を評価するステップと、評価の結果に基づいて第1エージェントを適応させるステップと、を含む。
【0234】
このような方法の例を図8に示す。
【0235】
a、トレーニング中に、エージェントが単一の利用モードに崩壊するときに(1つ以上のモード崩壊メトリックに従って)エージェントを複製し、(現在又は過去、望ましい行動とモード崩壊メトリックによるスコア)エージェントのパラメータ設定をデータベースに保存する。新たな探索シードを使用して探索を再開する。あるいは、再初期化されたエージェントを使用してトレーニングを再開する。繰り返して反復して、様々な敵対的シナリオを見つけ、後のテストに対して複数の敵対的エージェントをトレーニングする。
【0236】
b、テスト中に、保存された敵対的エージェントのデータベースは、所与の開始シード(エージェントの位置、道路形状など)に対する多様な敵対的シナリオの集合を取得するために使用することができる。これは、より多様な利用モードの集合に対してAVスタックをテストすることにより、テストカバレッジを拡大することができることを意味する。敵対的シナリオと敵対的エージェントの行動とをより正式に分類する可能性がある。
【0237】
言い換えれば、図8は、状態をアクションに変換できる敵対的エージェント76を概略的に示す。シナリオにおける各アクターは、唯一のエージェントに関連付けられてもよい。例えば、各エージェントは、所与の状態に応じてアクターの移動を支配してもよい。アクションは、アクターが移動した将来の位置、又はアクターの速度、ポーズなどであってもよい。エージェント76は、ニューラルネットワークであってもよい機械学習アルゴリズムを含んでもよい。
【0238】
AVソフトウェアスタック78は、認識及び制御を含むモジュールを含んでもよい。AVソフトウェアスタックは、実行時にコンピュータ24(図1)に提供されてもよい。AVソフトウェアスタック78は、エージェント76によって支配されるアクターを含む環境を観察及び認識し、エージェント軌跡に応じて自車両10を制御するように構成されてもよい。言い換えれば、エージェント76は、AV(自車両)を含む状態の変化に応じてアクターの軌跡を生成する。
【0239】
エージェント76は、AVソフトウェアスタック78を含む環境内で強化学習又は深層強化学習を使用してトレーニングされてもよい。また、コンテキストデータは、環境内に提供されてもよい。例えば、エージェントが以前の入力状態に応じてマッチングするようにトレーニングされているターゲット状態が存在しなくてもよい。代わりに、エピソード(例えば、一連の状態及びアクション)が目標を達成したときに報酬が使用されてもよい。例えば、目標は、アクターが自車両と衝突することなどの敵対的目標を含んでもよい。これは、エピソードが、アクター(例えば歩行者)が歩道から道路及び自車両の軌跡に突然飛び出すことを含む場合に発生する可能性がある。このように、敵対的イベントが発生する可能性がある。AVスタックには、自車両がアクターを回避するためにコースを変更しないという欠陥がある場合、これは、敵対的イベントとして捕捉されてもよい。
【0240】
また、エージェント(又はアクター)と自動運転車との衝突が発生したことと、エージェントと自動運転車との間の距離が最小距離閾値未満であることと、自動運転車の減速度が減速度閾値よりも大きいことと、自動運転車の加速度が加速度閾値よりも大きいことと、自動運転車の加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含む、他の敵対的イベントも発生する可能性がある。
【0241】
各エピソードは、敵対的イベント又はAVソフトウェアスタックの故障で終了してもよい。
【0242】
観察が行われ、アクターの状態及びアクションの記述子が80で生成されてもよい。記述子は、エンコーダによって生成されてもよい。図3のマッチャーを含んでもよいマッチャーは、記述子を記述子シーケンスデータベース36からの記述子と比較してもよい。記述子シーケンスデータベース36は、複数の記述子を含んでもよく、複数の記述子の各記述子は、以前のエピソードの記述子を含む。
【0243】
新たなエピソードは、エージェントを再初期化し、新たなエピソード及び複数の新たな記述子を生成する強化学習ループを再実行することによって比較することができる。
【0244】
82では、モード崩壊があるか否かを決定する。モード崩壊は、比較されたエピソード間に低分散がある場合に決定されてもよい。低分散は、分散閾値未満である分散又は収束分散として分類されてもよい。
【0245】
モード崩壊がない場合、例えば、エージェントが新たな敵対的エピソードを生成した場合、トレーニングは、継続される。モード崩壊があった場合、例えば、敵対的エピソードが以前の敵対的エピソードとマッチングする場合、84ではエージェントを複製する。86では、敵対的イベントを引き起こしたエージェントのパラメータ設定(例えば、ネットワーク内の重みの組み合わせ)をパラメータデータベースに記憶してもよい。88では、複製されたエージェントに対して新たな探索戦略又は軌跡をサンプリングしてもよい。新たな探索戦略を、記述子シーケンスデータベース36からの記述子から導き出された初期状態からシードしてもよい。
【0246】
モード崩壊が通常、ネガティブなものとして見られることに注意することは、重要である。しかしながら、このシナリオにおけるモード崩壊は、異常な敵対的イベントを識別するために使用されるため、シミュレーターを使用してAVスタックを改善するために使用することができる。このように、複製された敵対的エージェントは、シミュレーターに使用されて、AVソフトウェアスタックを改善することができる。
【0247】
I、異常スタイル変換
図9は、図1の方法をより詳細に概略的に示す。
【0248】
本例では、方法は、基準データを参照してシナリオの物理データ及び/又はシミュレーションデータを含むデータを変換するステップを含む。
【0249】
このような方法の一例では、図9に示すように、非異常データの分布が敵対的損失と予測損失を使用して異常データの分布と一致するように、サイクル一貫性敵対的生成モデルを使用して非異常データを変換する。言い換えれば、方法は、敵対的軌跡の分布とマッチングするために非敵対的軌跡の分布を変換する。
【0250】
異常とは、単に2種類の集合の分布が相違することを意味することを理解されたい。集合Aは、分布が集合Bの分布とよりよく一致するように変換することができる。
【0251】
言い換えれば、図9は、非異常軌跡を異常軌跡に変換する方法を概略的に示す。例えば、非異常軌跡は、オートエンコーダからのトレーニングされた軌跡の分布とマッチングする軌跡であってもよい。トレーニングされた軌跡の分布は、敵対的イベントに関連付けられない軌跡であってもよい。
【0252】
固定又は再帰軌跡モデル90は、敵対的生成ネットワーク(GAN)であってもよい。軌跡モデル90への入力は、内部マップ63及び外部マップ64を含むコンテキストデータ62を含んでもよい。別の入力は、非異常ラベル付き軌跡データ92を含む。任意選択で、ノイズ68は、ノイズ発生器70を使用して入力されてもよい。軌跡モデル90は、非異常データ92を予測異常軌跡データ94に変換するように構成されてもよい。軌跡モデル90をトレーニングするために、予測異常軌跡データ94は、実際の異常ラベル付き軌跡データ96と比較されてもよく、予測損失98及び敵対的損失100が生成されてもよい。
【0253】
推論時に、軌跡モデル90は、内部マップ63、外部マップ64及びラベル付き非異常軌跡データ92に基づいて、予測異常軌跡データ94を生成するように構成されてもよい。
【0254】
そして、異常軌跡は、シミュレーター内で探索されて、敵対的イベント、例えば、エージェントとAV又は自車両との衝突が発生したことに関連付けられるか否かを決定してもよい。
【0255】
図10を参照すると、サイクル一貫性GAN又はサイクル一貫性敵対的生成モデルを使用して異常変換をトレーニングする方法が提供される。このモデルは、図9の方法及びモデルと類似する特徴を使用してもよいため、簡潔のために重複した説明は省略される。
【0256】
モデルは、固定又は再帰軌跡モデルAとも呼ばれる第1モデル102(又はモデルA)と、固定又は再帰軌跡モデルBとも呼ばれる第2モデル104(又はモデルB)とを含んでもよい。第1モデル102は、異常ラベル付き軌跡データ96と比較されて敵対的損失100を生成する予測異常軌跡データ94を生成するように構成されてもよい。予測異常軌跡データ94は、再構築非異常軌跡データ106を生成するように構成された第2モデル104に入力されてもよい。再構築損失108及び敵対的損失100は、再構築非異常軌跡データを非異常ラベル付き軌跡データ92と比較することによって取得されてもよい。第2モデルのパラメータ設定は、再構築損失108及び敵対的損失100を低減するために修正されてもよい。
【0257】
このように、サイクルGANなどを使用して新たな異常又は潜在的な敵対的イベントを統合することができる。新たな異常は、統合されたら、シミュレーターによって実行されて、それらが、AVスタック10の故障などをもたらす敵対的シナリオであるか否かをテストすることができる。
【0258】
J、欠陥報告の生成
図11は、図1の方法をより詳細に概略的に示す。
【0259】
本例では、方法は、欠陥報告を出力するステップと、任意選択で、出力された欠陥報告に応答してアクションを実行するステップと、を含む。
【0260】
本例では、欠陥報告は、自車両、即ち対応するAVの制御ソフトウェアの1つ以上の欠陥を含む。
【0261】
言い換えれば、図11は、強化学習環境内で、108で(例えば、故障検出器によって)故障を検出してもよいことを概略的に示す。強化学習環境は、シミュレーター内にあってもよい。故障として、衝突、急ブレーキ、他のアクターへの近づき過ぎ、車線違反などが挙げられる。言い換えれば、故障は、本明細書で説明されるような敵対的イベントであってもよい。
【0262】
110では、AVソフトウェアスタックが障害があったか否か、即ち、故障したか否かについて尋問される。112では、欠陥報告を生成してもよい。112での欠陥報告は、114で欠陥データセットに記憶されてもよい。
【0263】
図12を参照すると、図11に示す方法と類似する方法が提供される。図12において、類似する特徴を説明せず、図11との相違点のみを説明する。そのような相違点の1つは、クラスターデータベース116が含まれることである。クラスターデータベース116は、敵対的イベントのクラスターを含んでもよい。
【0264】
複数の強化学習のエピソード、強化学習のエピソードの集合又強化学習のエピソードのポイントを一緒にクラスタリングしてもよい。クラスター内の複数のポイントは、クラスターデータベース116に追加されてもよい。
【0265】
新たな潜在的な敵対的記述子の生成
図13は、エージェント76の強化学習中に観察された敵対的イベントの記述子を生成し記憶する方法を概略的に示す。80では違反(敵対的イベントとも呼ばれる)をもたらすエピソード内の状態とアクションを観察し記述する。アクション及び状態から符号化された記述子20は、クラスターデータベース116に記憶される。上述したように、アクション及び状態は、それらの関連するエピソードに応じてクラスタリングされる。
【0266】
図14は、記述子空間エンベロープ120として表されるクラスターデータベース116を概略的に示す。記述子空間エンベロープ120内には、記述子20のクラスターCが提供される。クラスターは、マッチング閾値内で互いにマッチングすると決定された記述子を含む。クラスターは、教師なしクラスタリングアルゴリズムであってもよいクラスタリングアルゴリズムを使用して決定されてもよい。
【0267】
本開示の主題の目的は、記述子空間エンベロープを探索して、AVソフトウェアスタックの新たな故障を学習するためにシミュレーターでテストされ得る潜在的な敵対的シナリオのより多くの記述子を取得することである。AV上の記述子空間エンベロープを探索するには、非常に長い実行時間がかかる可能性があり、処理負荷が過大で高価である。
【0268】
代わりに、1つ以上の実施形態において、記述子空間エンベロープ120は、現在知られているクラスターCから移動することによって探索されてもよい。これを達成できる様々な方法がある。
【0269】
そのような方法の1つは、新たな記述子を決定するステップを含む。方向は、クラスターの重心から決定され、新たな記述子は、その方向に重心から移動するインクリメンタル位置に対して生成される。これは、以下の式Aに関連して理解できる。
【0270】
式A:新たな記述子=(C1+C2+...+CN)/N+unit_direction_away_from_super_barycenter×M
【0271】
式A中、C1は、第1記述子、C2は、第2記述子、CNは、N番目の記述子、Nは、記述子の総数である。この式Aの部分は、重心を効率的に計算する。また、unit_direction_away_from_super_barycenterは、上方向、下方向などの方向である。更に、Mは、重心から離れる距離である。
【0272】
記述子空間エンベロープ120を探索する別の方法は、式Bを使用することである。
【0273】
式B:新たな記述子=SDF+unit_direction_away_from_super_barycenter×M
【0274】
式B中、SDFは、符号付き距離関数である。他のパラメータは、式Aのものと同じである。
【0275】
記述子空間エンベロープ120を探索する別の方法は、式Cを使用することである。
【0276】
式C:新たな記述子
【数1】
式Cは、通常のポインティングから(SDFを使用して発見した)境界から離れる方向に徐々に単位距離だけ移動することによって、新たな記述子を探索する。境界Bは、符号付き距離関数(SDF)を使用して発見される。そして、境界B上のポイントpから離れる法線方向
【数2】
が、所定の距離Dで探索される。結果として得られるポイントの位置xは、シミュレーターでのテスト用の潜在的な敵対的シナリオの新たな記述子として記憶される。
【0277】
図15は、図14に示す単一のクラスターから記述子空間エンベロープを探索するというアイデアの拡張を示す。図15に3つのクラスターがある。クラスターから移動するステップは、各クラスターの間の和集合(CUCUC)を決定することと、式Dを使用してクラスター空間Cと和集合との間の差を決定するステップと、差の重心を決定するステップと、新たな記述子を差の重心での記述子として生成することとによって、複数のクラスターから移動するステップを含む。
【0278】
式D:C\(CUCUC
【0279】
この手法の利点は、記述子空間エンベロープ内の別のクラスターの検索機会を低減することである。
【0280】
高レベルでは、フレームワークは、アルゴリズムで以下のとおり記述することができる。
【0281】
●解クラスターCの集合(set of solution clusters C)={}を初期化する
●Nメタエピソードの場合:
○収束温度α及び空の再生バッファDを使用してポリシー確率的ポリシーPを初期化する(無効化のポリシーの場合)
○違反バッファ(infraction buffer)B={}を初期化する
○αを介して検出される、Pの収束(即ち、ポリシー崩壊)までエピソードを実行する
■エピソード終了条件(ポリシー崩壊)が満たされるまで:
●状態sを観察し、アクションaを実行し、報酬rを受け、新たな状態sを観察する
●推移(s、a、r、s’)をDに記憶する
■Cの解重心(solutions barycentres in C)から移動するようにポリシーを導く(Cが空ではない場合)
■Dから均一にサンプリングされた推移に基づいてポリシーPを最適化する
■違反をもたらす各エピソードをBに記憶する
○既存の解Cとクロスチェックしながら、Bの新たな解(例えば、記述子)をクラスタリングする
○新たな解が発見されたら、それをCに追加する
【0282】
ここで、Cは、クラスターであり、Nは、メタエピソードの数であり、Pは、エージェントのポリシーであり、αは、収束温度又は収束分散であり、Dは、再生バッファであり、sは、エージェントに入力された状態であり、aは、エージェントから出力されたアクションであり、rは、エージェントに与えられた報酬であり、s’は、AVソフトウェアスタック(又はサブコンポーネント)又はプロキシ(又はサブコンポーネント)によって生成された新たな状態である。
【0283】
K、ターゲットシナリオの再現
図16は、図1の方法をより詳細に概略的に示す。図6も参照する。
【0284】
本例では、第1シナリオをシミュレーションするステップは、ターゲットシナリオをシミュレーションするステップを含む。
【0285】
図13を参照すると、方法は、新たな軌跡データを生成する方法である。
【0286】
方法では、ターゲットシナリオのコンテキストデータ118は、内部マップ63及び外部マップ64を含んでもよい。コンテキストデータ118は、固定又は再帰軌跡モデル119に入力されてもよい。任意選択軌跡シード120は、ターゲットシナリオ軌跡データ122からモデル119に入力されてもよい。また、任意選択のノイズ68は、ノイズ発生器70からモデル119に入力されてもよい。モデル119は、新たな軌跡データ124を出力するように構成されてもよい。
【0287】
L、プロキシ
図17及び図18は、図1の方法をより詳細に概略的に示す。図21も参照し、図21では、AVスタックプロキシは、スタックライト(Stack-Lite)としてラベル付けされる。
【0288】
本例では、方法は、自車両又はそのコンポーネントをプロキシとして近似するステップを含み、第1シナリオをシミュレーションするステップは、プロキシを用いて第1シナリオをシミュレーションするステップを含む。このように、自車両又はそのコンポーネントは、近似(ダウンサンプリング)されて、第1エージェントを使用して広範なカテゴリを探索する前に、比較的削減した検索空間の探索を加速して、より低い計算コストで広範なカテゴリを発見する。
【0289】
より詳細に、方法は、まず、AVスタック又はその1つ以上の(サブ)コンポーネントの学習済みの微分可能なブラックボックスプロキシを使用して検索空間を効率的に削減し、その後、シミュレーターにおいて実際のAVスタックにより敵対的微調整を行う粗-微という2段階動作を含む。
【0290】
シミュレーションされた環境でアクションを実行し状態を観察すると、(現実世界での運転よりも遥かに安くても)依然として高価及び/又は時間がかかる可能性がある。これは、a)低速シミュレーター環境、b)固定周波数で動作するAVスタック又はc)その両方に起因する可能性がある。
【0291】
AVソフトウェアスタック又はAVスタックの1つ以上のサブコンポーネントの学習済みプロキシは、動作を高速化するために使用することができる。以下の2つの動作モードが提案される。
【0292】
1、元のAVスタックから生じる制限に対処するために、シミュレーションされた環境内の学習済みプロキシにより、AVスタック全体又はその1つ以上のサブコンポーネントを交換する(第1図、底部)。
【0293】
2、アクションラベルが存在するか又は取得できる場合、AVスタックのサブコンポーネントの微分可能な学習済みプロキシは、強力な直接監視を有する敵対的エージェントをトレーニングするために使用することができる(第2図、底部)。これにより、両方の種類の制限に対処できる。
【0294】
これは、(不完全な)プロキシを使用して、近似手法で検索空間をサブサンプリングするため、粗-微アプローチの「粗」部分である。プロキシは、実際のAVスタック(又はサブコンポーネント)の行動の分布の近似器に過ぎない。
【0295】
そして、「微」部分は、サブサンプリングされた検索空間内で元のAVスタックを使用して敵対的エージェントを微調整することによって表される。
【0296】
●2段階動作(粗-微):
■まず、実コンポーネント(例えば、時間の制約がそれほど厳しくないトラッカーの学習済みバージョン)の近似値を使用して実行して問題空間を部分集合化する。
■その後、フルシミュレーション環境を使用して部分集合内のポイントを探索する。
【0297】
強力な直接監視を使用することにより、特定のカテゴリのアクションをターゲットにすることができる(以前の便利な軌跡及びシナリオ記述子を再び使用する)。例えば、プランナーから特定のヨーを誘発するように敵対的エージェントをトレーニングしたい場合、これを行うために、まず、プランナーの学習済みプロキシをトレーニングし、プロキシのパラメータを凍結し、続いて、特定の「タイプ」又は記述子に厳密にマッチングする軌跡につながるプランをプランナープロキシに出力させるように敵対的エージェントをトレーニングする。
【0298】
言い換えれば、図17は、4つの異なる方法を示す。第1方法は、図8で紹介したエージェント76の強化学習の方法である。
【0299】
第1方法を使用することにより、AVソフトウェアスタック78によって観察された一連の観察130と、観察に応じてAVスタック130によって実行される一連のアクション132とが第2方法で生成される。
【0300】
第3方法では、AVソフトウェアスタック78の代わりにAVスタックプロキシ134が使用される。AVスタックプロキシは、ニューラルネットワークなどの機械学習モデルであってもよい。ニューラルネットワーククは、畳み込みニューラルネットワーク(CNN:convolutional neural network)であってもよい。
【0301】
AVスタックプロキシ134は、第3方法に従ってトレーニングされてもよい。AVスタックプロキシ134は、入力された観察130に基づいて予測アクション136を生成することによってトレーニングされてもよい。予測アクション136と第2方法で生成されたアクションとの間の損失138が取得されてもよい。AVスタックプロキシのパラメータ設定は、損失138を削減するか又は最小限に抑えるように最適化されてもよい。
【0302】
第4方法では、エージェント76の強化学習は、シミュレーター内のAVスタックプロキシ134によって生成された状態及び報酬を使用して行われる。
【0303】
AVスタックプロキシがAVソフトウェアスタック全体よりも小さいため、異常及び敵対的シナリオをより迅速に決定することができる。AVスタックプロキシ134を使用して発見された異常は、近似値と考えられてもよいことを理解すべきである。シナリオが実際に敵対的であるか否かを決定するために、第1方法は、異常を、AVソフトウェアスタック78が故障した敵対的シナリオとして検証するために使用されてもよい。
【0304】
敵対的イベントの近似値は、図15に示す方法でクラスターを形成してもよい。また、各クラスターは、重心を含む。AVスタックプロキシ134により粗い近似値を使用してクラスターが発見されると、図16(及び図14)に係る方法は、記述子空間を探索して、シミュレーター上のフルAVソフトウェアスタック78を使用してテストできる新たな潜在的な敵対的シナリオを発見するために使用されてもよい。この手法は、計算効率がより高く、記述子空間の探索に必要な時間を短縮する。
【0305】
同じ手法は、AVソフトウェアスタックのサブコンポーネント140、例えば、セマンティックセグメンテーション又は物体認識と共に使用することができる。
【0306】
図18を参照すると、AVソフトウェアスタックのサブコンポーネント140の近似故障(approximate failure)を取得する方法が提供される。図17は、3つの方法を概略的に示す。
【0307】
第1方法では、観察130は、AVソフトウェアスタックサブコンポーネント140に入力され、AVソフトウェアスタックサブコンポーネント140は、それに応じてアクション132を生成する。
【0308】
第2方法では、観察130とアクション132は、収集されたトレーニングデータを形成する。AVスタックサブコンポーネントプロキシ142は、収集されたトレーニングデータを使用してトレーニングされる。具体的には、AVスタックサブコンポーネントプロキシ142は、観察130を使用して予測アクションを生成する。予測アクション136とアクション132との間の損失は、決定される。AVスタックサブコンポーネントプロキシ142のパラメータ設定は、損失138を低減するか又は最小限に抑えるようにトレーニングされる。AVスタックサブコンポーネントプロキシ142は、ニューラルネットワークなどの機械学習モデルであってもよく、又は機械学習モデルを含んでもよい。ニューラルネットワークは、畳み込みニューラルネットワーク(CNN)であってもよい。
【0309】
第3方法は、学習済みサブコンポーネントプロキシ142による教師ありトレーニング方法であってもよい。
【0310】
学習済みサブコンポーネントプロキシ142は、エージェント76からのアクション148に基づいてアクションを生成してもよい。アクション損失144及びアクション分類損失146は、エージェント76をトレーニングするために計算されてもよい。
【0311】
図19は、図1の方法をより詳細に概略的に示す。特に、図18は、自車両の応答を探索するために、シード(seed)を使用してシミュレーションされた9つのシナリオを示す。
【0312】
図20は、図1の方法をより詳細に概略的に示す。特に、図20は、第1アクター(歩行者)の複数の候補軌跡を含むシナリオを示す。しかしながら、複数の候補軌跡のそれぞれの開始点は、同じ開始点であるため、第1エージェントに対して、自車両とトラックの前などの箇所での第1アクターとの不可避の衝突を除外しながら、それぞれの開始点を変更するように報酬が与えられる。
【0313】
図21は、図1の方法をより詳細に概略的に示す。図21では、スタックライトは、AVソフトウェアスタックプロキシ又はAVソフトウェアスタックサブコンポーネントプロキシに対応してもよい。
【0314】
図22は、図1の方法に従って時間の関数として生成されたイベント(軌跡)の数のグラフである。特に、方法は、約13分間で300を超えるイベントを生成し、それにより、自車両の欠陥の発見、及び対応する車両の制御ソフトウェアの欠陥の発見を改善する。
【0315】
好ましい実施形態が示され、説明されたが、当業者であれば、添付の特許請求の範囲で定義され、上述したように、本発明の範囲から逸脱することなく、様々な変更及び修正を行うことができることを理解すべきである。
【0316】
本明細書に記載された例示的な実施形態の少なくとも一部は、専用ハードウェアを使用して部分的又は全体的に構成されてもよい。本明細書で使用される「コンポーネント」、「モジュール」又は「ユニット」などの用語は、特定のタスクを実行するか又は関連する機能を提供する、個別又は統合コンポーネントの形態の回路、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)又は特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)などのハードウェアデバイスを含んでもよいが、これに限定されない。幾つかの実施形態では、記載された要素は、実体的で永続的なアドレス可能な記憶媒体上に存在するように構成されてもよく、そして1つ以上のプロセッサ上で実行するように構成されてもよい。幾つかの実施形態では、これらの機能的要素は、一例として、ソフトウェアコンポーネント、オブジェクト指向ソフトウェアコンポーネント、クラスコンポーネント、タスクコンポーネント、プロセス、関数、属性、手順、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数のようなコンポーネントを含んでもよい。例示的な実施形態について、本明細書に論じられるコンポーネント、モジュール及びユニットを参照して説明したが、このような機能的要素は、より少ない要素に組み合わされるか又は追加の要素に分離されてもよい。本明細書で任意選択の機能の様々な組み合わせが説明されており、説明された特徴は、任意の適切な組み合わせで組み合わせられてもよい。特に、任意の1つの例示的な実施形態の特徴は、相互に矛盾しない限り、他の任意の実施形態の特徴と適宜組み合わせられてもよい。本明細書全体にわたって、「含み(comprising)」又は「含む(comprises)」という用語は、特定のコンポーネントを含むが、他のコンポーネントの存在を除外しないことを意味する。
【0317】
本願に関連して本明細書と同時又はそれ以前に出願され、本明細書とともに公衆の閲覧に公開されている全ての論文及び文書に注意を向け、そのような全ての論文及び文書の内容は、参照により本明細書に組み込まれる。
【0318】
本明細書(添付の特許請求の範囲、要約及び図面を含む)に開示されている全ての特徴、及び/又はそのように開示されている任意の方法又はプロセスの全てのステップは、そのような特徴及び/又はステップの少なくとも幾つかが相互に矛盾しない限り、任意の組み合わせで組み合わせられてもよい。
【0319】
本明細書(添付の特許請求の範囲、要約及び図面を含む)に開示されている特徴の各々は、特に明記されていない限り、同一の目的、同等の目的又は類似の目的のために働く代替の特徴に置換することができる。したがって、特に明記されていない限り、開示されている特徴の各々は、包括的な一連の同等又は類似の特徴の一例に過ぎない。
【0320】
本発明は、前述の実施形態の詳細に限定されない。本発明は、本明細書(添付の特許請求の範囲、要約及び図面を含む)に開示されている特徴の任意の新規のもの、又はそのよう特徴の任意の新規の組み合わせにまで及ぶか、又はそのように開示されている任意の方法又はプロセスのステップの任意の新規のもの、又は任意の新規の組み合わせにまで及ぶ。
【0321】
本開示の主題は、以下の事項によって表現されてもよい。
【0322】
1、アクターの軌跡を生成するコンピュータ実行方法であって、自車両、第1アクターを含むアクターの集合、任意選択で、第1物体を含む物体の集合を有する環境を含む第1シナリオをシミュレーションするステップであって、第1アクターの第1軌跡を使用するステップを含むステップと、
第1アクターの第1軌跡に応じて、環境(例えば、自車両、その集合の第2アクター及び/又はその集合の第1物体)の第1観察を第1敵対的強化学習エージェントにより観察するステップと、
観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップと、を含む、方法。
【0323】
2、生成された第2軌跡を、それぞれの位置の一連の記述子として、例えば記述と位置とのペアとして定義するステップを含む、前述の事項のいずれかに記載の方法。
【0324】
3、一連の記述子は、経験則によるもの及び/又は学習済みのものである、事項2に記載の方法。
【0325】
4、シナリオの物理データ及び/又はシミュレーションデータを含むデータから一連の記述子を導き出すステップを含む、事項2~3のいずれか一項に記載の方法。
【0326】
5、認識モデルをデータに適用することなどによって、データをラベル付けするステップを含み、データから一連の記述子を導き出すステップは、ラベル付きデータから一連の記述子を導き出すステップを含む、事項4に記載の方法。
【0327】
6、物理データから車両の個別の位置を識別するステップ、及び/又はシミュレーションデータから自車両の個別の位置を識別するステップを含み、データから一連の記述子を導き出すステップは、識別された車両の個別の位置及び/又は識別された自車両の個別の位置を使用して一連の記述子を導き出すステップを含む、事項4~5のいずれか一項に記載の方法。
【0328】
7、第1アクターの第2軌跡を第1エージェントにより生成するステップは、第1アクターの第2軌跡を第1エージェントにより予測的又は反応的に生成するステップを含む、前述の事項のいずれか一項に記載の方法。
【0329】
8、第1エージェントにより生成された第1アクターの候補軌跡と基準軌跡との相互類似性を決定するステップ、任意選択で、決定された相互類似性に基づいて候補軌跡を修正することによって第1アクターの第2軌跡を第1エージェントにより生成するステップ、又は決定された相互類似性に基づいて候補軌跡を除外するステップ、を含む、事項7に記載の方法。
【0330】
9、第1軌跡と第2軌跡との相互非類似性に応じて第1エージェントに報酬を与えるステップを含む、前述の事項7~8のいずれか一項に記載の方法。
【0331】
10、生成された第2軌跡と基準軌跡とをマッチングするステップを含む、前述の事項のいずれか一項に記載の方法。
【0332】
11、生成された第2軌跡と基準軌跡とをマッチングするステップは、生成された第2軌跡の1つ以上の部分と基準軌跡とをマッチングするステップを含む、事項10に記載の方法。
【0333】
12、生成された第2軌跡を符号化するステップと、任意選択で、符号化された第2軌跡を復号化するステップと、復号化された第2軌跡の再構築品質を計算するステップと、計算された再構築品質に応じて生成された第2軌跡をラベル付けするステップと、を含む、前述の事項のいずれか一項に記載の方法。
【0334】
13、符号化された軌跡を復号化するステップと、復号化された軌跡を符号化するステップと、符号化された軌跡の再構築品質を計算するステップと、を含む、前述の事項のいずれか一項に記載の方法。
【0335】
14、第1シナリオの初期状態をシードするステップと、シードされた初期状態で第1シナリオを初期化するステップと、を含む、前述の事項のいずれか一項に記載の方法。
【0336】
15、第1シナリオの初期状態をシードするステップは、複数の初期状態から初期状態を選択するステップを含む、事項14に記載の方法。
【0337】
16、生成された第2軌跡の新規性、例えば短期の新規性及び/又は長期の新規性に応じて第1エージェントに報酬を与えるステップを含む、前述の事項のいずれか一項に記載の方法。
【0338】
17、ランダムネットワーク蒸留(RND)を使用することなどによって新規性を測定するステップを含む、事項16に記載の方法。
【0339】
18、第1エージェントのモード崩壊を評価するステップと、評価の結果に基づいて第1エージェントを適応させるステップと、を含む、前述の事項のいずれか一項に記載の方法。
【0340】
19、基準データを参照してシナリオの物理データ及び/又はシミュレーションデータを含むデータを変換するステップを含む、前述の事項のいずれか一項に記載の方法。
【0341】
20、欠陥報告を出力するステップと、任意選択で、出力された欠陥報告に応答してアクションを実行するステップと、を含む、前述の事項のいずれか一項に記載の方法。
【0342】
21、自車両又はそのコンポーネントをプロキシとして近似するステップを含み、第1シナリオをシミュレーションするステップは、プロキシを用いて第1シナリオをシミュレーションするステップを含む、前述の事項のいずれか一項に記載の方法。
【0343】
22、第1アクターの第1軌跡を第1エージェントにより生成するステップ、及び/又は
第2軌跡を使用して第2シナリオをシミュレーションするステップ、
第1アクターの第2軌跡に応じて、環境の第2観察を第1エージェントにより観察するステップ、
任意選択で、観察された環境の第2観察に基づいて第1アクターの第3軌跡を第1エージェントにより生成するステップ、を含む、前述の事項のいずれか一項に記載の方法。
【0344】
23、第1アクターの第2軌跡に応じて環境の第2観察が回復不能なイベント、例えば、自車両と第1アクターとの不可避の衝突を除外する場合、第1エージェントに報酬を与えるステップを含む、事項22に記載の方法。
【0345】
24、第1エージェントにより第2エージェントと協力するステップ、及び/又は第1エージェントにより敵対的エージェント又は非敵対的エージェントと対話するステップを含む、前述の事項のいずれか一項に記載の方法。
【0346】
25、観察された環境の第1観察に基づいて第1アクターの第2軌跡を第1エージェントにより生成するステップは、通常空間以外を第1エージェントにより探索するステップを含む、前述の事項のいずれか一項に記載の方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
【手続補正書】
【提出日】2024-06-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自動運転車を含む新たな敵対的シナリオ及びエージェントを生成するコンピュータ実行方法であって、
強化学習環境で自動運転車ソフトウェアスタックを使用して前記エージェントをトレーニングする強化学習を実行して、それぞれが、前記自動運転車ソフトウェアスタックの故障で終了する敵対的シナリオを表す1つ以上のエピソードを生成するステップと、
前記エピソード又は各エピソードに基づいて、複数の記述子を生成するステップと、
前記複数の記述子をデータベースに記憶するステップと、を含む、コンピュータ実行方法。
【請求項2】
前記エピソード又は各エピソードの複数の記述子をクラスタリングするステップを含み、前記複数の記述子を記憶するステップは、記述子のクラスターを前記データベースに記憶するステップを含む、請求項1に記載のコンピュータ実行方法。
【請求項3】
記述子空間で前記記述子のクラスターから移動するステップによって、新たな記述子を生成する、請求項2に記載のコンピュータ実行方法。
【請求項4】
前記記述子空間で前記記述子のクラスターから移動するステップは、
クラスターの重心を識別するステップと、
前記重心から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、
前記新たな記述子を前記新たな記述子の位置での記述子として生成するステップと、を含む、請求項3に記載のコンピュータ実行方法。
【請求項5】
前記記述子空間で前記記述子のクラスターから移動するステップは、
クラスターの設定された境界を識別するステップと、
前記境界から単位方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、
前記新たな記述子を前記新たな記述子の位置での記述子として生成するステップと、を含む、請求項3に記載のコンピュータ実行方法。
【請求項6】
前記記述子空間で前記記述子のクラスターから移動するステップは、
クラスターの設定された境界を識別するステップと、
前記境界から局所的な法線方向に単位量だけ移動するステップであって、新たな記述子の位置まで移動するステップと、
前記新たな記述子を前記新たな記述子の位置での記述子として生成するステップと、を含む、請求項3に記載のコンピュータ実行方法。
【請求項7】
前記設定された境界は、符号付き距離関数を使用して識別される、請求項に記載のコンピュータ実行方法。
【請求項8】
前記1つ以上のエピソードは、複数のエピソードを含み、前記複数のエピソードをクラスタリングするステップは、複数のクラスターを生成するステップを含み、クラスターを記憶するステップは、前記複数のクラスターを前記データベースに記憶するステップを含み、クラスターから移動するステップは、
各クラスターの間の和集合を決定するステップと、
クラスター空間と前記和集合との間の差を決定するステップと、
差の重心を決定するステップと、
前記新たな記述子を前記差の重心での記述子として生成するステップと、によって前記複数のクラスターから移動するステップを含む、請求項3に記載のコンピュータ実行方法。
【請求項9】
前記新たな記述子からシード状態を生成するステップと、
前記シード状態を使用した強化学習、前記複数の記述子の生成及び前記複数の記述子の記憶を再実行するステップと、を更に含む、請求項に記載のコンピュータ実行方法。
【請求項10】
前記エージェントを再初期化するステップと、
再初期化されたエージェントを使用した強化学習、前記複数の記述子の生成及び前記複数の記述子の記憶を再実行するステップと、を更に含む、請求項に記載のコンピュータ実行方法。
【請求項11】
環境は、コンテキストデータを更に含み、
前記コンテキストデータは、1つ以上の内部マップ及び/又は1つ以上の外部マップを含む、請求項に記載のコンピュータ実行方法。
【請求項12】
環境の前記コンテキストデータを変更するステップと、
変更された前記コンテキストデータを使用した強化学習、前記複数の記述子の生成及び前記複数の記述子の記憶を再実行するステップと、を更に含む、請求項11に記載のコンピュータ実行方法。
【請求項13】
前記エピソードは、複数のポイントを含み、各ポイントは、環境によって出力された状態と、前記エージェントによって出力されたアクションと、を含む、請求項に記載のコンピュータ実行方法。
【請求項14】
前記複数の記述子を生成するステップは、前記複数のポイントをそれぞれ潜在空間に符号化するステップを含む、請求項13に記載のコンピュータ実行方法。
【請求項15】
前記故障は、前記エージェントと前記自動運転車ソフトウェアスタックとの衝突が発生したことと、前記エージェントと前記自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、前記自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含む、請求項に記載のコンピュータ実行方法。
【請求項16】
自動運転車を含むシナリオからエージェントを生成するコンピュータ実行方法であって、
強化学習環境で自動運転車ソフトウェアスタックを使用して前記エージェントをトレーニングする強化学習を実行して、前記自動運転車ソフトウェアスタックの故障で終了する、それぞれが敵対的シナリオを表す1つ以上のエピソードを生成するステップと、
前記エージェントの強化学習を再実行して新たなエピソードを生成するステップと、前記新たなエピソードを前記1つ以上のエピソードと比較するステップと、
比較に基づいて強化学習を使用してトレーニングされたエージェントを複製することによって、エージェントを生成するステップと、を含む、コンピュータ実行方法。
【請求項17】
前記故障は、前記エージェントと前記自動運転車ソフトウェアスタックとの衝突が発生したことと、前記エージェントと前記自動運転車ソフトウェアスタックとの間の距離が最小距離閾値未満であることと、前記自動運転車ソフトウェアスタックの減速度が減速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加速度が加速度閾値よりも大きいことと、前記自動運転車ソフトウェアスタックの加加速度が加加速度閾値よりも大きいこととを含む群から選択されるイベントを含む、請求項16に記載のコンピュータ実行方法。
【請求項18】
環境は、コンテキストデータを更に含み、
前記コンテキストデータは、1つ以上の内部マップ及び/又は1つ以上の外部マップを含む、請求項16に記載のコンピュータ実行方法。
【請求項19】
前記エピソードは、複数のポイントを含み、各ポイントは、環境によって出力された状態と、前記エージェントによって出力されたアクションと、を含む、請求項16に記載のコンピュータ実行方法。
【請求項20】
前記新たなエピソードを前記1つ以上のエピソードと比較するステップは、前記新たなエピソードと前記1つ以上のエピソードとの間の分散を決定するステップを含み、比較に基づいて強化学習を使用してトレーニングされたエージェントを複製することによって、エージェントを生成するステップは、前記分散が分散閾値未満である場合に、強化学習を使用してトレーニングされたエージェントを複製するステップを含む、請求項16に記載のコンピュータ実行方法。
【国際調査報告】