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

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

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特表2023-531927運転意思決定方法および運転意思決定装置ならびにチップ
<>
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図1
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図2
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図3A
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図3B
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図4
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図5
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図6
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図7
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図8
  • 特表-運転意思決定方法および運転意思決定装置ならびにチップ 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-26
(54)【発明の名称】運転意思決定方法および運転意思決定装置ならびにチップ
(51)【国際特許分類】
   B60W 50/00 20060101AFI20230719BHJP
   B60W 30/10 20060101ALI20230719BHJP
   B60W 60/00 20200101ALI20230719BHJP
【FI】
B60W50/00
B60W30/10
B60W60/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022578790
(86)(22)【出願日】2021-04-27
(85)【翻訳文提出日】2023-01-31
(86)【国際出願番号】 CN2021090365
(87)【国際公開番号】W WO2021258847
(87)【国際公開日】2021-12-30
(31)【優先権主張番号】202010584738.2
(32)【優先日】2020-06-23
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リ、ドン
(72)【発明者】
【氏名】ワン、ビン
(72)【発明者】
【氏名】リウ、ウロン
(72)【発明者】
【氏名】ジュアン、ユジェン
【テーマコード(参考)】
3D241
【Fターム(参考)】
3D241BA15
3D241BB16
3D241BB37
3D241CE03
3D241CE08
3D241DB01Z
3D241DB02Z
3D241DB05Z
3D241DC21Z
3D241DC25Z
(57)【要約】
本願は、運転意思決定方法および運転意思決定装置ならびにチップを開示して、運転意思決定ポリシーのロバスト性を改善し、出力される最適な意思決定結果を保証する。本方法は、現運転環境状態に基づいてモンテカルロツリーを構築する段階であって、モンテカルロツリーはルートノードおよび[N-1]個の非ルートノードを含み、各ノードは1つの運転環境状態を表し、ルートノードは現運転環境状態を表し、任意の非ルートノードで表される運転環境状態が、運転環境の確率モデルを用いて、非ルートノードの親ノードで表される運転環境状態に基づいて且つ拡張により非ルートノードを取得するプロセスにおいて非ルートノードの親ノードにより決定される運転行動に基づいて予測される、構築する段階と、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階と、ノードシーケンス内の各ノードに対応する運転行動に基づいて運転行動シーケンスを決定する段階とを含む。
【特許請求の範囲】
【請求項1】
現運転環境状態に基づいてモンテカルロツリーを構築する段階であって、前記モンテカルロツリーがN個のノードを含み、各ノードが1つの運転環境状態を表し、前記N個のノードがルートノードおよび[N-1]個の非ルートノードを含み、前記ルートノードが前記現運転環境状態を表し、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、前記第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測され、前記第1運転行動が、拡張により前記第1ノードを取得するプロセスにおいて前記第1ノードの前記親ノードにより決定される運転行動であり、前記第1ノードが前記[N-1]個の非ルートノードのうちのいずれかのノードであり、Nが2より大きいまたは2と等しい正の整数である、構築する段階と、
前記モンテカルロツリーにおいて前記モンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階と、
前記ノードシーケンスに含まれた各ノードに対応する運転行動に基づいて運転行動シーケンスを決定する段階であって、前記運転行動シーケンスが運転意思決定に用いられる、決定する段階と
を備え、
各ノードの前記アクセスカウントが、前記ノードのサブノードのアクセスカウントと前記ノードの初期アクセスカウントとに基づいて決定され、各ノードの前記価値関数が、前記ノードのサブノードの価値関数と前記ノードの初期価値関数とに基づいて決定され、各ノードの前記初期アクセスカウントが1であり、前記初期価値関数が前記ノードで表される運転環境状態に合致する価値関数に基づいて決定される、運転意思決定方法。
【請求項2】
第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、前記第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測されることが、
運転環境の前記確率モデルを用いることにより、ドロップアウトをベースとする順伝搬によって、前記第1ノードの前記親ノードで表される前記運転環境状態に基づいて前記第1運転行動が実行された後の運転環境状態の確率分布を予測することと、
前記確率分布からのサンプリングによって、前記第1ノードで表される前記運転環境状態を取得することと
を含む、請求項1に記載の運転意思決定方法。
【請求項3】
あるノードの前記初期価値関数が前記ノードで表される運転環境状態に合致する価値関数に基づいて決定されることが、
前記ノードで表される前記運転環境状態との合致度が最も高い目標運転環境状態の第1数量をエピソード記憶から選択することと、
各目標運転環境状態の前記第1数量にそれぞれ対応する価値関数に基づいて、前記ノードの前記初期価値関数を決定することと
を含む、請求項1に記載の運転意思決定方法。
【請求項4】
前記運転意思決定方法がさらに、
前記運転行動シーケンスにおける前記第1運転行動が実行された後に、前記第1運転行動が実行された後の実運転環境状態を取得する段階と、
前記現運転環境状態と、前記第1運転行動と、前記第1運転行動が実行された後の前記実運転環境状態とに基づいて、運転環境の前記確率モデルを更新する段階と
を備える、請求項1から3のいずれか一項に記載の運転意思決定方法。
【請求項5】
前記モンテカルロツリーにおいて前記モンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する前記段階が、
前記モンテカルロツリーにおいて、前記モンテカルロツリー内の各ノードの前記アクセスカウントに基づき、最大アクセスカウントルールに従って、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階、または
前記モンテカルロツリーにおいて、前記モンテカルロツリー内の各ノードの前記価値関数に基づき、最大価値関数ルールに従って、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階、または
前記モンテカルロツリーにおいて、前記モンテカルロツリー内の各ノードの前記アクセスカウントおよび前記価値関数に基づき、「最初に最大アクセスカウント、次いで最大価値関数」ルールに従って、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階
を含む、請求項1に記載の運転意思決定方法。
【請求項6】
前記運転意思決定方法がさらに、
運転エピソードが終了したときに、前記運転エピソード内の各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を決定する段階と、
前記実運転環境状態に対応する価値関数として、各運転行動が実行された後の前記実運転環境状態に対応する前記累積報酬リターン値を用いることにより、前記エピソード記憶を更新する段階と
を備える、請求項3に記載の運転意思決定方法。
【請求項7】
現運転環境状態に基づいてモンテカルロツリーを構築するように構成された構築ユニットであって、前記モンテカルロツリーがN個のノードを含み、各ノードが1つの運転環境状態を表し、前記N個のノードがルートノードおよび[N-1]個の非ルートノードを含み、前記ルートノードが前記現運転環境状態を表し、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、前記第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測され、前記第1運転行動が、拡張により前記第1ノードを取得するプロセスにおいて前記第1ノードの前記親ノードにより決定される運転行動であり、前記第1ノードが前記[N-1]個の非ルートノードのうちのいずれかのノードであり、Nが2より大きいまたは2と等しい正の整数である、構築ユニットと、
前記モンテカルロツリーにおいて前記モンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定し、前記ノードシーケンスに含まれた各ノードに対応する運転行動に基づいて運転行動シーケンスを決定するように構成された決定ユニットであって、前記運転行動シーケンスが運転意思決定に用いられる、決定ユニットと
を備え、
各ノードの前記アクセスカウントが、前記ノードのサブノードのアクセスカウントと前記ノードの初期アクセスカウントとに基づいて決定され、各ノードの前記価値関数が、前記ノードのサブノードの価値関数と前記ノードの初期価値関数とに基づいて決定され、各ノードの前記初期アクセスカウントが1であり、前記初期価値関数が前記ノードで表される運転環境状態に合致する価値関数に基づいて決定される、運転意思決定装置。
【請求項8】
第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、前記第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測される場合、前記構築ユニットが具体的に、
運転環境の前記確率モデルを用いることにより、ドロップアウトをベースとする順伝搬によって、前記第1ノードの前記親ノードで表される前記運転環境状態に基づいて前記第1運転行動が実行された後の運転環境状態の確率分布を予測し、前記確率分布からのサンプリングによって、前記第1ノードで表される前記運転環境状態を取得するように構成されている、請求項7に記載の運転意思決定装置。
【請求項9】
あるノードの前記初期価値関数が前記ノードで表される運転環境状態に合致する価値関数に基づいて決定される場合、前記構築ユニットが具体的に、
前記ノードで表される前記運転環境状態との合致度が最も高い目標運転環境状態の第1数量をエピソード記憶から選択し、各目標運転環境状態の前記第1数量にそれぞれ対応する価値関数に基づいて、前記ノードの前記初期価値関数を決定するように構成されている、請求項7に記載の運転意思決定装置。
【請求項10】
前記運転意思決定装置がさらに、
前記運転行動シーケンスにおける前記第1運転行動が実行された後に、前記第1運転行動が実行された後の実運転環境状態を取得し、前記現運転環境状態と、前記第1運転行動と、前記第1運転行動が実行された後の前記実運転環境状態とに基づいて、運転環境の前記確率モデルを更新するように構成された更新ユニットを備える、請求項7から9のいずれか一項に記載の運転意思決定装置。
【請求項11】
前記モンテカルロツリーにおいて前記モンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する場合、前記決定ユニットが具体的に、
前記モンテカルロツリーにおいて、前記モンテカルロツリー内の各ノードの前記アクセスカウントに基づき、最大アクセスカウントルールに従って、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する、または前記モンテカルロツリーにおいて、前記モンテカルロツリー内の各ノードの前記価値関数に基づき、最大価値関数ルールに従って、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定する、または前記モンテカルロツリーにおいて、前記モンテカルロツリー内の各ノードの前記アクセスカウントおよび前記価値関数に基づき、「最初に最大アクセスカウント、次いで最大価値関数」ルールに従って、前記ルートノードから始まりリーフノードで終わるノードシーケンスを決定するように構成されている、請求項7に記載の運転意思決定装置。
【請求項12】
前記運転意思決定装置がさらに、
運転エピソードが終了したときに、前記運転エピソード内の各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を決定し、前記実運転環境状態に対応する価値関数として、各運転行動が実行された後の前記実運転環境状態に対応する前記累積報酬リターン値を用いることにより、前記エピソード記憶を更新するように構成された更新ユニットを備える、請求項9に記載の運転意思決定装置。
【請求項13】
コンピュータプログラムまたは命令を格納するように構成されたメモリと、
前記メモリに格納された前記コンピュータプログラムまたは前記命令を呼び出して、請求項1から6のいずれか一項に記載の運転意思決定方法を行うように構成されたプロセッサと
を備える運転意思決定装置。
【請求項14】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体がコンピュータプログラムまたは命令を格納し、前記コンピュータプログラムまたは前記命令が運転意思決定装置により実行されると、請求項1から6のいずれか一項に記載の運転意思決定方法が実現される、コンピュータ可読記憶媒体。
【請求項15】
コンピュータに、請求項1から6のいずれか一項に記載の運転意思決定方法を実行させるための、コンピュータプログラム。
【請求項16】
チップであって、前記チップが動作すると、請求項1から6のいずれか一項に記載の運転意思決定方法が実現される、チップ。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年6月23日に中国国家知識産権局に出願された「DRIVING DECISION-MAKING METHOD AND APPARATUS(運転意思決定方法および運転意思決定装置)」と題する中国特許出願第202010584738.2号に基づく優先権を主張し、当該中国特許出願はその全体が参照により本明細書に組み込まれる。
【0002】
本願の実施形態は自動運転の分野に関し、詳細には、運転意思決定方法および運転意思決定装置ならびにチップに関する。
【背景技術】
【0003】
自動運転時代の始まりと共に、自動運転機能を備えたスマート車両が様々な製造メーカの研究の中心になっている。現在、自動運転には、運転支援および完全自動運転が含まれている。自動運転を実現する主要技術には、環境認知、運転意思決定、および実行制御などが含まれている。運転意思決定では、交通参加者に関する知覚情報に基づいて、車両が実行すべき運転行動を提供する。
【0004】
現在、運転意思決定は通常、強化学習(deep Q network、DQN)アルゴリズムに基づいて実施されている。DQNアルゴリズムを用いて構築されるDQNモデルでは、ある時点での大量の車両の運転環境状態(例えば、現車両の速度および近くの車両の速度)およびその時点での運転環境状態に基づいて車両運転者が行う運転行動(例えば、左車線への変更または右車線への変更)を学習する。運転意思決定では、自動運転車両が実行する必要がある運転行動を、DQNモデルを用い且つ車両の現運転環境状態に基づいて取得することができる。
【0005】
しかしながら、DQNモデルに基づく運転意思決定では、運転行動を行うときに、その運転行動が車両の次の運転に与える影響が考慮されていない。これでは、出力される最適な意思決定結果を保証することはほとんどできない。
【発明の概要】
【0006】
本願の実施形態が運転意思決定方法および運転意思決定装置ならびにチップを提供して、運転意思決定ポリシーのロバスト性を改善し、出力される最適な意思決定結果を保証する。
【0007】
第1態様によれば、本願の一実施形態が運転意思決定方法を提供する。本方法は、現運転環境状態に基づいてモンテカルロツリーを構築する段階であって、モンテカルロツリーはN個のノードを含み、各ノードは1つの運転環境状態を表し、N個のノードはルートノードおよび[N-1]個の非ルートノードを含み、ルートノードは現運転環境状態を表し、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測され、第1運転行動は、拡張により第1ノードを取得するプロセスにおいて第1ノードの親ノードにより決定される運転行動であり(言い換えれば、第1運転行動は第1ノードの親ノードが拡張により第1ノードを取得する運転行動として機能する)、第1ノードは[N-1]個の非ルートノードのうちのいずれかのノードであり、Nは2より大きいまたは2と等しい正の整数である、構築する段階と、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階と、ノードシーケンスに含まれた各ノードに対応する運転行動に基づいて運転行動シーケンスを決定する段階であって、運転行動シーケンスは運転意思決定に用いられる、決定する段階とを含む。各ノードのアクセスカウントは、当該ノードのサブノードのアクセスカウントと当該ノードの初期アクセスカウントに基づいて決定され、各ノードの価値関数は、当該ノードのサブノードの価値関数と当該ノードの初期価値関数とに基づいて決定され、各ノードの初期アクセスカウントは1であり、初期価値関数は当該ノードで表される運転環境状態に合致する価値関数に基づいて決定される。
【0008】
前述した方法を用いることで、運転環境の確率モデルは、自動運転車両の複数の運転行動がこれから先のある期間に直面するかもしれない様々な運転環境状態を予測するのに用いられて、モンテカルロツリーを構築してよく、また自動運転車両の複数の運転行動がこれから先の期間に直面するかもしれない様々な運転環境状態に基づいて、車両運転にとって最も好ましい運転行動シーケンスが決定される。これが、運転意思決定ポリシーのロバスト性を改善し、出力される最適な意思決定結果を保証するのに役立つ。
【0009】
実現可能な設計例において、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測されることは、運転環境の確率モデルを用いることにより、ドロップアウトをベースとする順伝搬によって、第1ノードの親ノードで表される運転環境状態に基づいて第1運転行動が実行された後の運転環境状態の確率分布を予測することと、確率分布からのサンプリングによって、第1ノードで表される運転環境状態を取得することとを含む。
【0010】
前述の設計例において、第1ノードの親ノードで表される運転環境状態に基づいて第1運転行動が実行された後の運転環境状態の確率分布は、運転環境の確率モデルを用いることにより、ドロップアウトをベースとする順伝搬によって予測され、第1ノードで表される運転環境状態は、確率分布からのサンプリングにより取得される。このように、モンテカルロツリーにおいてノードを拡張するときに、運転環境状態の不確実性が十分に考慮される。これにより、ノード拡張の多様性が増し、運転意思決定ポリシーがよりロバストになる。
【0011】
実現可能な設計例において、あるノードの初期価値関数が当該ノードで表される運転環境状態に合致する価値関数に基づいて決定されることは、当該ノードで表される運転環境状態との合致度が最も高い目標運転環境状態の第1数量をエピソード記憶から選択することと、各目標運転環境状態の第1数量にそれぞれ対応する価値関数に基づいて、当該ノードの初期価値関数を決定することとを含む。
【0012】
前述の設計例では、モンテカルロツリーにエピソード記憶が導入される。このようにして、ノードの初期価値関数が、非効率な拡張方式で推定されるのではなく、過去の経験的データに基づいて正確且つ迅速に推定され得る。これは、ノードの初期価値関数の推定によってもたらされる計算オーバーヘッドを削減し、モンテカルロツリー探索の効率改善に役立つ。
【0013】
実現可能な設計例において、本方法はさらに、運転行動シーケンスにおける第1運転行動が実行された後に、第1運転行動が実行された後の実運転環境状態を取得する段階と、現運転環境状態と、第1運転行動と、第1運転行動が実行された後の実運転環境状態とに基づいて、運転環境の確率モデルを更新する段階とを含む。
【0014】
前述の設計例において、運転環境の確率モデルは継続的に訓練され且つ更新され得る。これが、運転環境の確率モデルの正確さを改善するのに役立つ。
【0015】
実現可能な設計例では、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階は、モンテカルロツリーにおいて、モンテカルロツリー内の各ノードのアクセスカウントに基づき、最大アクセスカウントルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階、またはモンテカルロツリーにおいて、モンテカルロツリー内の各ノードの価値関数に基づき、最大価値関数ルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階、またはモンテカルロツリーにおいて、モンテカルロツリー内の各ノードのアクセスカウントおよび価値関数に基づき、「最初に最大アクセスカウント、次いで最大価値関数」ルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階を含む。
【0016】
前述の設計例では、ノードシーケンスを決定するために複数の方式が提供される。これは、異なる運転意思決定要件を満たすのに役立つ。
【0017】
実現可能な設計例において、本方法はさらに、運転エピソードが終了したときに、運転エピソード内の各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を決定する段階と、実運転環境状態に対応する価値関数として、各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を用いることにより、エピソード記憶を更新する段階とを含む。
【0018】
前述の設計例では、累積報酬リターン値に基づいてエピソード記憶が更新される。これは、モンテカルロツリー内のノードの初期価値関数を正確に決定することにつながるので、出力される意思決定結果の信頼性が保証される。
【0019】
第2態様によれば、本願の一実施形態が、第1態様または第1態様の実現可能な設計例のうちのいずれか1つにおける各段階を行うように構成されたユニットを含む運転意思決定装置を提供する。
【0020】
第3態様によれば、本願の一実施形態が、プロセッサおよびメモリを含む運転意思決定装置を提供する。メモリは、コンピュータプログラムまたは命令を格納するように構成されている。プロセッサは、メモリに格納されたコンピュータプログラムまたは命令を呼び出して、第1態様または第1態様の実現可能な設計例のうちのいずれか1つの方法を行うように構成されている。
【0021】
第4態様によれば、本願の一実施形態が、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、第1態様または第1態様の実現可能な設計例のうちのいずれか1つの方法を行うためのコンピュータプログラムまたは命令を有する。
【0022】
第5態様によれば、本願の一実施形態が、コンピュータプログラムまたは命令を含むコンピュータプログラム製品を提供する。コンピュータプログラムまたは命令を実行すると、第1態様または第1態様の実現可能な設計例のうちのいずれか1つの方法を実現することができる。
【0023】
第6態様によれば、本願の一実施形態がチップを提供する。チップは、第1態様または第1態様の実現可能な設計例のうちのいずれか1つの方法を実現するように構成されている。
【0024】
第2態様~第6態様で達成できる技術的効果については、第1態様で達成できる技術的効果を参照されたい。ここでは、詳細について改めて説明しない。
【図面の簡単な説明】
【0025】
図1】本明細書の一実施形態による自動運転システムの概略図である。
【0026】
図2】本明細書の一実施形態によるツリー状構造の概略図である。
【0027】
図3】本明細書の一実施形態によるドロップアウト処理効果の概略図である。
【0028】
図4】本明細書の一実施形態による運転意思決定プロセスの概略図である。
【0029】
図5】本明細書の一実施形態による、自動運転車両が位置している環境の概略図である。
【0030】
図6】本明細書の一実施形態によるモンテカルロツリーの構造に関する第1の概略図である。
【0031】
図7】本明細書の一実施形態によるモンテカルロツリーの構造に関する第2の概略図である。
【0032】
図8】本明細書の一実施形態による運転意思決定装置の第1の概略図である。
【0033】
図9】本明細書の一実施形態による運転意思決定装置の第2の概略図である。
【発明を実施するための形態】
【0034】
図1は、本明細書の一実施形態による自動運転システムの概略図である。自動運転システムは、環境認知モジュールと、モンテカルロツリー探索(Monte Carlo tree search、MCTS)に基づく行動意思決定モジュールと、経路計画モジュールと、実行制御モジュールとを含む。効率的なMCTSに基づく行動意思決定モジュールは、本願の本実施形態における運転意思決定の中核モジュールである。
【0035】
環境認知モジュールは、周囲環境の状態を知覚して、現車両の現運転環境状態を取得するのに役立つ。具体的には、環境認知モジュールは、各センサから送られた情報を考慮して、現車両の位置、速度、および進路角などを含む現車両の状態を判断し、静的目標物(車線境界線、道路境界線、および緑地帯など)の位置、動的目標物(一般車両および歩行者など)の位置および速度、道路状況、ならびに気象状況(気温、湿度、明るさなど)といった情報を含む周囲環境の状態を判断し、この情報を経路計画モジュールおよび効率的なMCTSに基づく行動意思決定モジュールに送る。
【0036】
効率的なMCTSに基づく行動意思決定モジュールは、現車両の現運転環境状態に基づいて、これから先の複数の段階の運転行動シーケンスを出力する。
【0037】
経路計画モジュールは、現車両および一般車両の状態ならびに決められた運転行動シーケンスに基づいて、位置情報および速度情報を有し且つ運転行動シーケンスを完了するのに用いられる経路軌跡を計画する。
【0038】
実行制御モジュールは、現車両のハンドル、アクセル、およびブレーキペダルなどを制御することによって妥当な制御値を出力するため、現車両の運転軌跡が計画された経路軌跡に沿うことができる。
【0039】
本願の実施形態で提供される運転意思決定ソリューションは、図1に示す自動運転システムを備えた車載デバイスおよび自動運転車両などに適用され得る。本願の実施形態の次の説明では、図1に示す自動運転システムを備えた自動運転車両が、説明の一例として用いられている。
【0040】
本願の実施形態を説明する前に、当業者の理解を容易にするために、本願で用いられる用語をいくつか説明し、その特徴を述べる。
【0041】
(1)ツリー状構造(ツリー)とは、データ構造であり、またn個のノードを含む階層グループであり、通常、nは1以上の正の整数である。「ツリー」と呼ばれるのは、上下逆のツリーのように見えるため、つまり、ツリーのルートが上の方に向いており、ツリーのリーフが下の方に向いているためである。ツリーにおいてサブノードがないノードがツリーのリーフノードであり、ツリーの一番上にあるノードがルートノードである。例えば、図2に示すツリー状構造では、ツリーの第1層にノード11が位置しており、ツリーの第2層にノード21、ノード22、およびノード23が位置しており、ツリーの第3層にノード31、ノード32、ノード33、およびノード34が位置している。ノード11はツリーのルートノードであり、ノード31、ノード32、ノード33、ノード34、およびノード23はツリーのリーフノードである。本願の実施形態におけるモンテカルロツリーも、ツリー状構造である。
【0042】
(2)モンテカルロツリー探索(MCTS)とは、いくつかの意思決定プロセスに用いられるヒューリスティック探索アルゴリズムであり、通常、ゲームに用いられ、所定のゲーム状態において成功率が最も高い動きを選択する目的に主に役立つ。モンテカルロツリー探索の主要な概念とは探索であり、これはモンテカルロツリー(ゲームツリーとしても知られている)に沿った一連の下方向トラバーサルプロセスである。ルートノード(すなわち、現ゲーム状態)から完全に拡張されていないノードへと、1つのトラバーサルパスが延伸する。完全に拡張されていないノードとは、少なくとも1つのアクセスされていない(または拡張されていない)サブノードを有するノードである。完全に拡張されていないノードに遭遇した場合、当該ノードのアクセスされていないサブノードが拡張により取得される。拡張により取得されたサブノードの対応する初期価値関数が、特定のポリシーに基づいて計算される。初期価値関数は、初期値またはシミュレーション結果としても知られている。ボードゲームを例に取ると、拡張により取得されたサブノードで表される構成に基づいて、ゲームが終了するまで、ロールアウトポリシー(rollout policy)に基づいてゲームを行い、シミュレーション結果(例えば、負けまたは勝ち)を取得してよく、これがサブノードの初期価値関数(例えばゲームに負けた場合は0/1、またはゲームに勝った場合は1/1)である。サブノードの初期価値関数を取得した後に、初期価値関数は逆伝搬して現モンテカルロツリーのルートノードに戻り、サブノードの初期価値関数(シミュレーション結果)はサブノードの全ての先祖ノードに追加される。例えば、サブノードの初期価値関数は0/1(これは、ゲームに負けたことを表す)であり、このノードの全ての先祖ノードの価値関数に0/1が追加される。モンテカルロツリーの探索時間または最大探索ステップ(すなわち、ルートノードから始まる拡張により取得される最大ノード数)に達すると探索は停止し、モンテカルロツリー内の各ノードの価値関数に基づいて決定が行われる。モンテカルロツリーでは、各ノードが状態(状況、例えば、ボードゲームでは構成とも呼ばれることがある)を表し、ノードごとに統計的データ(例えば、ノードの価値関数またはアクセスカウント)が記録されることに留意されたい。ノードに記録された価値関数は、ノードの値とも呼ばれることがあり、これは特定の数値であってよい。
【0043】
(3)ドロップアウトとは、モデル内のいくつかのニューロンを確率Pで除外することを意味する。除外されたニューロンの出力は0に設定される。図3は、ドロップアウト処理を受けたモデルの概略図である。図3の(A)はドロップアウトプロセス前のモデルの概略図であり、図3の(B)はドロップアウト処理を受けたモデルの概略図である。ドロップアウト処理の後に、モデル内のいくつかのニューロンが一時的に除外されて0を出力することが分かる。
【0044】
さらに、本願の実施形態では、「少なくとも1つ」を1つまたは複数と記載してもよく、「複数の」は2つ、3つ、4つ、またはさらに多くてもよいことに留意されたい。これは、本願の実施形態において限定されるものではない。本願の実施形態において「/」は、関連する対象物間の「または」の関係を表し得る。例えば、A/BはAまたはBを表し得る。「および/または」は関連する対象物間に存在し得る3つの関係に用いられ得る。例えば、「Aおよび/またはB」は、Aのみが存在する、AおよびBの両方が存在する、Bのみが存在するという3つの場合を表し得る。AおよびBは、単数形でも複数形でもよい。本願の実施形態では、「一例として」または「例えば」といった用語が、一例、例示、または説明を表すのに用いられる。「一例として」または「例えば」と説明される実施形態または設計ソリューションはいずれも、別の実施形態または設計ソリューションよりも好ましい、または有利であると解釈されるべきではない。「一例として」または「例えば」といった用語の使用は、具体的な方式で関連概念を提示して、理解を容易にすることが意図されている。
【0045】
本願の実施形態では、運転環境の確率モデルが、自動運転車両の複数の運転行動がこれから先のある期間に直面するかもしれない様々な運転環境状態を予測するのに用いられて、モンテカルロツリーを構築してよく、また自動運転車両の複数の運転行動がこれから先の期間に直面するかもしれない様々な運転環境状態に基づいて、車両運転にとって最も好ましい運転行動シーケンスが決定される。これが、運転意思決定ポリシーのロバスト性を改善し、出力される最適な意思決定結果を保証するのに役立つ。これに加えて、モンテカルロツリー内のノードの初期価値関数を推定するのに、さらにエピソード記憶を用いてよい。これにより、ノードの初期価値関数の推定によってもたらされる計算オーバーヘッドが削減され、モンテカルロツリー探索の効率が改善される。
【0046】
以下では、一例として車線変更の意思決定シナリオを用いて、添付図面を参照しながら本願の実施形態を説明する。
【0047】
図4は、本明細書の一実施形態による運転意思決定プロセスの概略図である。本プロセスは、以下の段階を含む。
【0048】
S401:自動運転車両が、現運転環境状態に基づいてモンテカルロツリーを構築する。
【0049】
モンテカルロツリーはN個のノードを含み、各ノードは1つの運転環境状態を表し、N個のノードはルートノードおよび[N-1]個の非ルートノードを含み、ルートノードは現運転環境状態を表し、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測され、第1運転行動は、拡張により第1ノードを取得するプロセスにおいて第1ノードの親ノードにより決定される運転行動であり、第1ノードは[N-1]個の非ルートノードのうちのいずれかのノードであり、Nは2より大きいまたは2と等しい正の整数である。
【0050】
車線変更の意思決定シナリオにおいて、自動運転車両の環境状態には、自動運転車両の速度、自動運転車両の前にいる(自動運転車両の移動方向にいる)一般車両の、自動運転車両に対する相対速度および相対距離、ならびに自動運転車両の後ろに(自動運転車両の移動方向の逆方向に)位置している一般車両の到達時間(自動運転車両に追い付くのに必要な時間)などが含まれてよい。自動運転車両の運転環境状態には、現時点を含むT個の過去の時点の環境状態が含まれてよく、Tは1より大きいまたは1と等しい正の整数である。例えば、現時点は10:00:00である。自動運転車両の現運転環境状態には、9:56:30、9:57:00、9:57:30、9:58:00、9:58:30、9:59:00、9:59:30、および10:00:00という自動運転車両の合計8個の過去の時点に関する環境状態が含まれてよい。
【0051】
自動運転車両の環境状態は、自動運転車両の車載センサを用いて取得されてよい。例えば、自動運転車両の車載センサとしては、車速センサ、加速度センサ、および距離センサ(例えば、レーダ距離センサ)などが挙げられる。車速センサは、自動運転車両の速度を測定することができ、加速度センサは自動運転車両の加速度を測定することができ、距離センサは自動運転車両と一般車両との間の相対距離を測定することができる。自動運転車両は、現車両と一般車両との間の相対距離変動に基づいて、現車両に対する一般車両の相対速度を判断してよく、また現車両に対する一般車両の相対距離に基づいて且つ現車両に対する一般車両の相対速度に基づいて、現車両の後ろにいる一般車両の到達時間を判断してよい。
【0052】
実現可能な実装例において、自動運転車両はさらに、一般車両と通信して、現車両に対する一般車両の相対速度または相対距離を取得することができる。例えば、自動運転車両は、一般車両から送られた速度情報および位置情報を受け取り、現車両の速度情報および位置情報に基づいて、現車両に対する一般車両の相対速度または相対距離を判断してよい。
【0053】
例えば、自動運転車両は、ある時点で図5に示す環境に位置している。自動運転車両は、現車両の前の3つの車線にいる一般車両の、現車両に対する相対距離(ΔD)および相対速度(ΔV)を取得することができ、また現車両の後ろの3つの車線にいる一般車両の到達時間(TTA)および現車両の速度を取得することができる。図5では、L、M、およびRがそれぞれ、自動運転車両の左車線、中央車線、および右車線にいる一般車両を表している。本願の本実施形態では、現時点に対応するT個の過去の時点の環境状態は、現運転環境状態を用いてよい。運転意思決定の際に、自動運転車両は、自動運転車両の現運転環境状態をモンテカルロツリーのルートノードとして用いて、モンテカルロツリーを構築してよい。自動運転車両が現在、図5に示す環境に位置していると仮定する。自動運転車両の現運転環境状態(S)は、S=(ΔDi,t-T:t、ΔVi,t-T:t、Vt-T:t、TTAj,t-T:t)と表されてよく、i∈(L,M,R)であり、j∈(L,R)であり、tは現時点を表し、t-T:tは現時点に対応するT個の過去の時点を表している。
【0054】
車線変更の意思決定シナリオにおいて、自動運転車両の選択可能な運転行動には、左車線への変更、現車線の維持、および右車線への変更のうちの1つまたは複数が含まれる。運転環境の確率モデルの訓練が、運転行動を実行する前後の大量の車両の運転環境状態を事前に収集することで実施されてよい。具体的には、事前に収集された、運転行動を実行する前後における大量の車両の運転環境状態と、実行された運転行動とが、運転環境の確率モデルを訓練するための訓練セットを構築するためにサンプルペアとして用いられてよい。訓練セットのそれぞれのサンプルペアは(S+A,St+1)と表されてよく、Aは車両が実行した運転行動を表し、これは左車線への変更、現車線の維持、右車線への変更のうちの1つであってよく、SはAを実行する前の運転環境状態を表し、St+1はAを実行した後の運転環境状態を表す。
【0055】
本願の実施形態では、運転行動を実行する前の車両の運転環境状態が、通常は車両が運転行動の実行を開始するときの車両の運転環境状態であり、運転行動を実行した後の車両の運転環境状態が、通常は車両が運転行動の実行を完了したときの車両の運転環境状態であることを理解されたい。例えば、車両が10:10:00から10:10:10まで左車線への変更という運転行動を実行する。左車線への変更という運転行動を実行する前の車両の運転環境状態として、10:10:00における車両の運転環境状態が用いられてよく、また左車線への変更という運転行動を実行した後の車両運転環境状態として、10:10:10における車両の運転環境状態が用いられてよい。
【0056】
運転環境の確率モデル
【数1】
を訓練するときに、サンプルペアのS+Aを運転環境の確率モデルに入力し、Sに基づいてAを実行した後に、運転環境の確率モデルが出力する運転環境状態(St+1′)を取得してよい。運転環境の確率モデルの損失が、運転環境の確率モデルが出力するSt+1′と実際のSt+1とに基づき、損失関数(loss function)を用いて計算されてよい。損失が高いほど、運転環境の確率モデルが出力したSt+1′と実際のSt+1との差が大きいことを示す。運転環境の確率モデルは、損失に基づいて、運転環境の確率モデルにおけるパラメータを調整し、例えば、確立勾配降下法を用いて、運転環境の確率モデルにおけるニューロンパラメータを更新する。このようにして、運転環境の確率モデルを訓練するプロセスが、損失を最小化するプロセスになる。運転環境の確率モデルは、訓練セットのサンプルを用いて継続的に訓練される。損失が予め設定された範囲内の値に減少すると、運転環境の訓練済み確率モデルが得られる。運転環境の確率モデルにおける潜在変数zが、モデルの不確実性を表すのに用いられてよい。任意選択的に、運転環境の確率モデルは、ディープニューラルネットワークまたはベイジアンニューラルネットワークなどでもよい。
【0057】
自動運転車両は、運転環境の訓練済み確率モデルと現運転環境状態とに基づいて、自動運転車両の複数の運転行動がこれから先の期間に直面するかもしれない様々な運転環境状態を予測して、モンテカルロツリーを構築することができる。具体的には、自動運転車両は、モンテカルロツリーのルートノードから始まる各層を通ってナビゲートすることにより、ノードの選択を開始してよい。選択した目標ノードが、予測されていない1つまたは複数の選択可能な運転行動を有する場合、1つの目標運転行動が選択される。目標ノードに基づいて目標運転行動を実行した後の自動運転車両の運転環境状態が、運転環境の確率モデルを用いて予測され、また目標ノードのサブノードで表される運転環境状態として用いられて、モンテカルロツリーを拡張する。
【0058】
実現可能な実装例では、運転環境内の別の一般車両の不確実性を十分に考慮するために、目標ノードに基づいて目標運転行動を実行した後の自動運転車両の運転環境状態が運転環境の確率モデルを用いて予測される場合、目標ノードに基づいて目標運転行動を実行した後の自動運転車両の運転環境状態の確率分布が、運転環境の確率モデルを用いることにより、ドロップアウトをベースとする順伝搬によって取得され、また運転環境状態が確率分布からのサンプリングにより取得され、目標ノードに基づいて目標運転行動を実行した後の自動運転車両の運転環境状態として用いられる。
【0059】
例えば図6は、自動運転車両の拡張されたモンテカルロツリーを示している。自動運転車両は、モンテカルロツリーのルートノード11から始まる各層を通ってノード21までナビゲートすることにより、ノードを選択する(例えば、層ごとのトラバーサルによって選択する)。ノード21の予測されていない選択可能な運転行動(A)には、左車線への変更、現車線の維持、または右車線への変更が含まれる。自動運転車両は、左車線への変更、現車線の維持、または右車線への変更から、目標運転行動をランダムに選択してよい。例えば、左車線への変更、現車線の維持、または右車線への変更からランダムに選択される目標運転行動は、左車線への変更(A)である。自動運転車両は、目標運転行動を選択した後に、運転環境の確率モデルに基づき、複数回のドロップアウトをベースとする順伝搬によって、ノード21に基づいて目標運転行動(A)を実行した後の複数の可能性のある運転環境状態を予測し、複数の可能性のある運転環境状態に基づいて、Aを実行した後の運転環境状態の予測値の平均値(μ)および分散(δ)を計算する。Aを実行した後の運転環境状態の値の確率分布
【数2】
が、平均値および分散に基づいてガウスサンプリングにより取得され、またAを実行した後の運転環境状態が確率分布からのサンプリング(例えば、運転環境状態のランダムな選択)により取得され、ノード21のサブノード(ノード31)が拡張により取得される。
【0060】
目標ノードのサブノードを拡張により取得した後に、自動運転車両はサブノードの統計的データ(すなわち、アクセスカウント(N)および価値関数(Q))を初期化する。言い換えれば、サブノードの初期アクセスカウントおよび初期価値関数も決定する必要がある。自動運転車両は、サブノードの初期アクセスカウントを1に設定し、サブノードからルートノードまでさかのぼり、サブノードに対応するノード経路(探索経路)上にある各ノードのアクセスカウントを更新する。例えば、拡張により取得されたサブノードに対応するノード経路上にある各ノードのアクセスカウントを1だけ増やす(すなわち、N=N′+1)。Nは更新後のアクセスカウントであり、N′は更新前のアクセスカウントである。言い換えれば、モンテカルロツリーにおける各ノードのアクセスカウントとは、当該ノードの全てのサブノードのアクセスカウントと、当該ノードの初期アクセスカウントとの総和である。本願では、あるノードに対応するノード経路(探索経路)が、当該ノードの全ての先祖ノードを含むノード経路であることに留意されたい。例えば、自動運転車両は、ノード21のサブノード(ノード31)を取得した後に、ノード31の初期アクセスカウントを1に更新し、ノード31のノード経路(探索経路)上にあるノード21およびノード11の両方のアクセスカウントを1だけ増やして、ノード31に対応するノード経路上にある各ノードのアクセスカウントの更新を完了する。
【0061】
拡張により取得されたサブノードの初期価値関数の場合、自動運転車両は、エピソード記憶(EM)に基づいてサブノードの初期価値関数を決定してよい。エピソード記憶に含まれており且つサブノードで表される運転環境状態に対応する記録がある場合、エピソード記憶に格納されており且つ運転環境状態に対応する価値関数が直接出力されて、サブノードの初期価値関数として用いられる。そうでない場合、サブノードで表される運転環境状態との合致度が最も高い目標運転環境状態の第1数量がエピソード記憶から選択されてよく、サブノードの初期価値関数は、各目標運転環境状態の第1数量にそれぞれ対応する価値関数に基づいて決定される。第1数量(K)は、3または5などでもよい。例えば、自動運転車両は、拡張により取得されたサブノードで表される運転環境状態との合致度が最も高いK個の目標運転環境状態をエピソード記憶から選択し、K個の目標運転環境状態にそれぞれ対応する価値関数の平均値を、サブノードの初期価値関数として用いてよい。
【0062】
拡張により取得されたサブノードの初期価値関数が決定された後に、自動運転車両は、サブノードから開始してルートノードまでさかのぼり、サブノードに対応するノード経路上にある各ノードの価値関数を更新する。例えば、自動運転車両は、サブノードに対応するノード経路上にある各ノードの価値関数をQ=Q′+Qに基づいて更新する。Qは当該ノードの更新後の価値関数であり、Q′は当該ノードの更新前の価値関数であり、Qは当該サブノードの初期価値関数である。言い換えれば、モンテカルロツリーにおける各ノードの価値関数とは、当該ノードの全てのサブノードの価値関数と、当該ノードの初期価値関数との総和である。別の実現可能な実装例では、代替的に、サブノードに対応するノード経路上にある各ノードの価値関数が、Q=Q′+(Q-Q′)/Nに基づいて更新されてよく、Qは当該ノードの更新後の価値関数であり、Q′は当該ノードの更新前の価値関数であり、Qは当該サブノードの初期価値関数であり、Nは当該ノードの更新後のアクセスカウントである。
【0063】
本願の本実施形態では、モンテカルロツリーの最大ステップ数が限定されてよい。言い換えれば、モンテカルロツリーのルートノードから始まる拡張により取得される最大ノード数が限定される。例えば、モンテカルロツリーの最大ステップ数は20に限定される。最大ステップ数に達すると、モンテカルロツリーの拡張が停止する。さらに、本願の本実施形態では、モンテカルロツリーのリーフノードが拡張により取得された(すなわち、モンテカルロツリーにおけるノードのサブノードが拡張により取得された)後は毎回、モンテカルロツリーのステップ数がモンテカルロツリーの最大ステップ数を満たしていない場合には、モンテカルロツリーのルートノードから始まる各層を通ってナビゲートすることでノードを選択する段階を繰り返して、モンテカルロツリーのリーフノードを拡張し続ける。モンテカルロツリーのルートノードから始まる各層を通ってナビゲートすることでノードを選択する選択方式では、ツリーに適用した信頼上限(upper confidence bound apply to tree、UCT)アルゴリズムの選択ポリシーに基づいて各層をナビゲートすることで、運転行動に対応するノード(st+1)を選択している場合がある。別の選択可能な運転行動と比較すると、選択された運転行動(A)では、当該運転行動に対応する価値関数(Q)と重み付き探索項である
【数3】
との総和を最大化することにより、選択された運転行動は最大価値関数のノードとアクセスカウントが低いノードとのバランスをもたらすので、最適な運転行動の選択が保証される。Qは、選択されたノードの価値関数である。重み付き探索項において、Cは重み付き探索項の重み係数であり、N″は選択されたノードのアクセスカウントであり、Nは選択されたノードの、選択可能な行動(A)に対応するリーフノードのアクセスカウントである。
【0064】
S402:自動運転車両は、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する。
【0065】
本願の本実施形態では、モンテカルロツリーにおいて、最大アクセスカウントルール、最大価値関数ルール、または「最初に最大アクセスカウント、次いで最大価値関数」ルールのうちの1つに従って、ルートノードから始まりリーフノードで終わるノードシーケンスが決定されてよい。
【0066】
例えば、モンテカルロツリーにおいて最大アクセスカウントルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスが決定されてよい。図7に示すように、ノード11(ルートノード)から始めると、ノード11の最大アクセスカウントを有するサブノードがノード21であり、ノード21の最大アクセスカウントを有するサブノードがノード31であり、ノード31の最大アクセスカウントを有するサブノードがノード41である。決定されたノードシーケンスは、ノード11-ノード21-ノード31-ノード41である。
【0067】
S403:ノードシーケンスに含まれた各ノードに対応する運転行動に基づいて、運転行動シーケンスを決定する。運転行動シーケンスは運転意思決定に用いられる。
【0068】
本願の本実施形態では、モンテカルロツリー内のあるノードに対応する運転行動が、当該ノードの親ノードが拡張により当該ノードを取得する運転行動である。ルートノードには対応する運転行動がない。例えば、図7に示すように、ノード22の親ノード11が拡張によりノード22を取得する運転行動が現車線の維持である。したがって、ノード22に対応する運転行動が現車線の維持となる。決定されたノードシーケンスであるノード11-ノード21-ノード31-ノード41を一例として用いると、運転行動シーケンスが左車線への変更-左車線への変更-左車線への変更-現車線の維持となる。
【0069】
運転環境の確率モデルの信頼性を保証するために、実現可能な実装例では、自動運転車両が運転行動シーケンスの第1運転行動を実行すると、[第1運転行動を実行する前の自動運転車両の運転環境状態+第1運転行動]および[第1運転行動を実行した後の運転環境状態]が、新たなサンプルペア(S+A,St+1)として用いられ、訓練セットに追加されることで、運転環境の確率モデルが更新され得る。
【0070】
例えば、運転環境の確率モデルは、以下の方式で更新されてよい。訓練セットに追加された新たなサンプルから、最小バッチのサンプル
【数4】
がサンプリングされる。Mは最小バッチのサンプルセットにおけるサンプル数であり、
【数5】
はサンプルセット、例えば、(S+A,St+1)を表す。運転環境の確率モデルの損失関数が計算され、運転環境の確率モデルが確立勾配降下法に基づいて更新されることで、運転環境の確率モデルで予測された値と実際に知覚された結果との間の誤差が最小化される。損失関数は
【数6】
であってよく、これには2つの項が含まれている。第1項の
【数7】
は、平均2乗誤差を用いて、運転行動を実行した後の自動運転車両の運転環境状態に対して運転環境の確率モデルが予測する値
【数8】
と、実観測値
【数9】
との間の近似誤差を表している。第2項の
【数10】
は、潜在変数zのために導入された正則化器であり、潜在変数zの推定分布
【数11】
と事前の予想分布p(z)との間のKLダイバージェンスを制限することで、過剰適合が防止される。λは、正則化強度を調整するための比例係数である。
【0071】
運転エピソードが終了した後に、例えば、自動運転車両が目的地に到着した、または自動運転車両が事故に遭遇して運転を停止した後に、自動運転車両は、目的地に達しているかどうかなどに基づいてリターン値を取得してよく、また各運転行動が運転エピソードで実行された後に、実運転環境状態に基づいてエピソード軌跡シーケンスを(時系列で)決定してよい。自動運転車両は、逆エピソード軌跡シーケンスの段階ごとに(エピソード軌跡シーケンスの逆の順序で)、R=γR′+rに基づいて、逆エピソード軌跡シーケンスにおける各運転環境状態(S)に対応する運転環境状態および行動のペア(S,A)の割引累積リターンを計算する。AはSに基づいて自動運転車両により実行される運転行動であり、Rは運転環境状態と行動とのペア(S,A)のリターン値(すなわち、累積報酬リターン値)であり、R′は次の運転環境状態および行動のペアのリターン値であり、γは割引係数であり、rは運転環境状態(S)において運転行動Aが実行された後に取得される報酬関数である。運転環境状態および行動のペア(S,A)がエピソード記憶(EM)に既に存在する場合には、EM内の価値関数をRまたは格納された値のいずれか大きい方に更新する。そうでない場合には、新たなサンプルペア(S,A)およびRがEMに直接書き込まれる。Rは(S,A)における運転環境状態(S)に対応する価値関数である。
【0072】
前記は主に、本願で提供されるソリューションを方法のプロセスの観点から説明している。前述の機能を実現するために、装置には、各機能を実現する、対応するハードウェア構造および/またはソフトウェアモジュールが含まれてよいことが理解できる。当業者であれば、本明細書で開示された実施形態を参照して説明された、各例におけるユニット、アルゴリズム、および段階が、本願では、ハードウェアまたはハードウェアとコンピュータソフトウェアとの組み合わせの形態で実現され得ることを容易に認識するはずである。ある機能がハードウェアまたはコンピュータソフトウェアで駆動するハードウェアのいずれで行われるのかは、技術的ソリューションの特定の応用および設計上の制約しだいである。当業者であれば、異なる方法を用いて、説明された機能を特定の応用ごとに実現するかもしれないが、その実現が本願の範囲を超えるものとみなされるべきではない。
【0073】
統合されたユニットを用いる場合、図8は、本願の一実施形態による運転意思決定装置の実現可能な例のブロック図である。運転意思決定装置800は、ソフトウェアの形態で存在してよい。運転意思決定装置800は、構築ユニット801、決定ユニット802、および更新ユニット803を含んでよい。
【0074】
具体的には、一実施形態において、構築ユニット801は現運転環境状態に基づいてモンテカルロツリーを構築するように構成されており、モンテカルロツリーはN個のノードを含み、各ノードは1つの運転環境状態を表し、N個のノードはルートノードおよび[N-1]個の非ルートノードを含み、ルートノードは現運転環境状態を表し、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測され、第1運転行動は、拡張により第1ノードを取得するプロセスにおいて第1ノードの親ノードにより決定される運転行動であり、第1ノードは[N-1]個の非ルートノードのうちのいずれかのノードであり、Nは2より大きいまたは2と等しい正の整数である。
【0075】
決定ユニット802は、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終了するノードシーケンスを決定し、ノードシーケンスに含まれる各ノードに対応する運転行動に基づいて運転行動シーケンスを決定するように構成されており、運転行動シーケンスは運転意思決定に用いられる。
【0076】
各ノードのアクセスカウントは、当該ノードのサブノードのアクセスカウントと当該ノードの初期アクセスカウントに基づいて決定され、各ノードの価値関数は、当該ノードのサブノードの価値関数と当該ノードの初期価値関数とに基づいて決定され、各ノードの初期アクセスカウントは1であり、初期価値関数は当該ノードで表される運転環境状態に合致する価値関数に基づいて決定される。
【0077】
実現可能な設計例において、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測される場合、構築ユニット801は具体的に、運転環境の確率モデルを用いることにより、ドロップアウトをベースとする順伝搬によって、第1ノードの親ノードで表される運転環境状態に基づいて第1運転行動が実行された後の運転環境状態の確率分布を予測し、確率分布からのサンプリングによって、第1ノードで表される運転環境状態を取得するように構成されている。
【0078】
実現可能な設計例において、あるノードの初期価値関数が当該ノードで表される運転環境状態に合致する価値関数に基づいて決定される場合、構築ユニット801は具体的に、当該ノードで表される運転環境状態との合致度が最も高い目標運転環境状態の第1数量をエピソード記憶から選択し、各目標運転環境状態の第1数量にそれぞれ対応する価値関数に基づいて、当該ノードの初期価値関数を決定するように構成されている。
【0079】
実現可能な設計例において、更新ユニット803は、運転行動シーケンスにおける第1運転行動が実行された後に、第1運転行動が実行された後の実運転環境状態を取得し、現運転環境状態と、第1運転行動と、第1運転行動が実行された後の実運転環境状態とに基づいて、運転環境の確率モデルを更新するように構成されている。
【0080】
実現可能な設計例において、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する場合、決定モジュールは具体的に、モンテカルロツリーにおいて、モンテカルロツリー内の各ノードのアクセスカウントに基づき、最大アクセスカウントルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する、またはモンテカルロツリーにおいて、モンテカルロツリー内の各ノードの価値関数に基づき、最大価値関数ルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する、またはモンテカルロツリーにおいて、モンテカルロツリー内の各ノードのアクセスカウントおよび価値関数に基づき、「最初に最大アクセスカウント、次いで最大価値関数」ルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定するように構成されている。
【0081】
実現可能な設計例において、更新ユニット803はさらに、運転エピソードが終了したときに、運転エピソード内の各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を決定し、実運転環境状態に対応する価値関数として、各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を用いることにより、エピソード記憶を更新するように構成されている。
【0082】
前述の運転意思決定方法に基づいて、本願の一実施形態がさらに、運転意思決定装置を提供する。図9に示すように、運転意思決定装置900は、メモリ901とプロセッサ902とを含む。メモリ901およびプロセッサ902は互いに接続されている。任意選択的に、メモリ901およびプロセッサ902は、バスを用いて互いに接続されてよい。バスはペリフェラルコンポーネントインターコネクト(peripheral component interconnect、PCI)バスまたは拡張型業界標準アーキテクチャ(extended industry standard architecture、EISA)バスなどであってよい。バスは、アドレスバス、データバス、および制御バスなどに分類されてよい。表現しやすくするために、図9ではバスを表すのに1つの太線のみを用いているが、これは1つのバスしかないことを意味するわけでも、1つの種類のバスしかないことを意味するわけでもない。
【0083】
運転意思決定装置900が運転意思決定方法を実現する場合、メモリはコンピュータプログラムまたは命令を格納し、プロセッサはメモリに格納されたコンピュータプログラムまたは命令を呼び出して、以下の方法を行うように構成されており、本方法は、現運転環境状態に基づいてモンテカルロツリーを構築する段階であって、モンテカルロツリーはN個のノードを含み、各ノードは1つの運転環境状態を表し、N個のノードはルートノードおよび[N-1]個の非ルートノードを含み、ルートノードは現運転環境状態を表し、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測され、第1運転行動は、拡張により第1ノードを取得するプロセスにおいて第1ノードの親ノードにより決定される運転行動であり、第1ノードは[N-1]個の非ルートノードのうちのいずれかのノードであり、Nは2より大きいまたは2と等しい正の整数である、構築する段階と、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階と、ノードシーケンスに含まれた各ノードに対応する運転行動に基づいて運転行動シーケンスを決定する段階であって、運転行動シーケンスは運転意思決定に用いられる、決定する段階とを含む。
【0084】
各ノードのアクセスカウントは、当該ノードのサブノードのアクセスカウントと当該ノードの初期アクセスカウントに基づいて決定され、各ノードの価値関数は、当該ノードのサブノードの価値関数と当該ノードの初期価値関数とに基づいて決定され、各ノードの初期アクセスカウントは1であり、初期価値関数は当該ノードで表される運転環境状態に合致する価値関数に基づいて決定される。
【0085】
実現可能な設計例において、第1ノードで表される運転環境状態が、運転環境の確率モデルを用いて、第1ノードの親ノードで表される運転環境状態に基づいて且つ第1運転行動に基づいて予測されることは、運転環境の確率モデルを用いることにより、ドロップアウトをベースとする順伝搬によって、第1ノードの親ノードで表される運転環境状態に基づいて第1運転行動が実行された後の運転環境状態の確率分布を予測することと、確率分布からのサンプリングによって、第1ノードで表される運転環境状態を取得することとを含む。
【0086】
実現可能な設計例において、あるノードの初期価値関数が当該ノードで表される運転環境状態に合致する価値関数に基づいて決定されることは、当該ノードで表される運転環境状態との合致度が最も高い目標運転環境状態の第1数量をエピソード記憶から選択することと、各目標運転環境状態の第1数量にそれぞれ対応する価値関数に基づいて、当該ノードの初期価値関数を決定することとを含む。
【0087】
実現可能な設計例において、本方法はさらに、運転行動シーケンスにおける第1運転行動が実行された後に、第1運転行動が実行された後の実運転環境状態を取得する段階と、現運転環境状態と、第1運転行動と、第1運転行動が実行された後の実運転環境状態とに基づいて、運転環境の確率モデルを更新する段階とを含む。
【0088】
実現可能な設計例において、モンテカルロツリーにおいてモンテカルロツリー内の各ノードのアクセスカウントおよび/または価値関数に基づき、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階は、モンテカルロツリーにおいて、モンテカルロツリー内の各ノードのアクセスカウントに基づき、最大アクセスカウントルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階、またはモンテカルロツリーにおいて、モンテカルロツリー内の各ノードの価値関数に基づき、最大価値関数ルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階、またはモンテカルロツリーにおいて、モンテカルロツリー内の各ノードのアクセスカウントおよび価値関数に基づき、「最初に最大アクセスカウント、次いで最大価値関数」ルールに従って、ルートノードから始まりリーフノードで終わるノードシーケンスを決定する段階を含む。
【0089】
実現可能な設計例において、本方法はさらに、運転エピソードが終了したときに、運転エピソード内の各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を決定する段階と、実運転環境状態に対応する価値関数として、各運転行動が実行された後の実運転環境状態に対応する累積報酬リターン値を用いることにより、エピソード記憶を更新する段階とを含む。
【0090】
本実施形態の別の形態として、コンピュータ可読記憶媒体が提供され、これにはプログラムまたは命令が格納されている。プログラムまたは命令が実行されると、前述した方法の実施形態における運転意思決定方法が行われてよい。
【0091】
本実施形態の別の形態として、命令を含むコンピュータプログラム製品が提供される。命令が実行されると、前述した方法の実施形態における運転意思決定方法が行われてよい。
【0092】
本実施形態の別の形態として、チップが提供される。本チップは、前述した方法の実施形態における運転意思決定方法を実現することができる。
【0093】
当業者であれば、本願の実施形態が、方法、システムまたはコンピュータプログラム製品として提供され得ることを理解するはずである。したがって、本願は、ハードウェアのみの一実施形態、ソフトウェアのみの一実施形態、またはソフトウェアとハードウェアとを組み合わせた一実施形態の形態を用いてよい。さらに、本願は、コンピュータが使用可能なプログラムコードを含んだ、コンピュータが使用可能な1つまたは複数の記憶媒体(限定することはないが、ディスクメモリ、CD-ROM、および光学メモリなどを含む)に実装されている、コンピュータプログラム製品の形態を用いることができる。
【0094】
本願は、本願の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明されている。フローチャートおよび/またはブロック図における各プロセスおよび/または各ブロックならびにフローチャートおよび/またはブロック図におけるプロセスおよび/またはブロックの組み合わせを実現するために、コンピュータプログラム命令が用いられてよいことを理解されたい。コンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または別のプログラム可能なデータ処理デバイスのプロセッサに提供されて機械を生み出してよく、これにより、コンピュータまたは別のプログラム可能なデータ処理デバイスのプロセッサにより実行される命令は、フローチャートの1つもしくは複数の手順および/またはブロック図の1つもしくは複数のブロックにおける特定の機能を実現するための装置を生み出す。
【0095】
コンピュータまたは別のプログラム可能なデータ処理デバイスに特定の方式で動作するよう指示できるコンピュータプログラム命令は代替的に、コンピュータ可読メモリに格納されてよく、これにより、コンピュータ可読メモリに格納された命令は命令装置を含むアーチファクトを生み出す。命令装置は、フローチャートの1つもしくは複数の手順および/またはブロック図の1つもしくは複数のブロックにおける特定の機能を実現する。
【0096】
コンピュータプログラム命令は、代替的に、コンピュータまたは別のプログラム可能なデータ処理デバイスに読み込まれてよく、これにより、一連のオペレーションおよび段階がコンピュータまたは別のプログラム可能なデバイス上で行われるので、コンピュータ実装処理が生み出される。したがって、コンピュータまたは別のプログラム可能なデバイス上で実行される命令は、フローチャートの1つもしくは複数の手順および/またはブロック図の1つもしくは複数のブロックにおける特定の機能を実現するための段階を提供する。
【0097】
本願のいくつかの好ましい実施形態を説明してきたが、当業者であれば、基本的な発明概念が分かると、これらの実施形態に変更および修正を行うことができる。したがって、以下の特許請求の範囲は、好ましい実施形態、ならびに本願の範囲内に含まれる全ての変更および修正を包含するものとして解釈されることが意図されている。
【0098】
当業者であれば、本願の実施形態の趣旨および範囲から逸脱することなく、本願の実施形態に様々な修正および変形を施すことができるのは明らかである。この場合、これらの修正および変形が以下の特許請求の範囲およびその均等な技術により定められる保護の範囲に含まれる限り、本願はこれらの修正および変形を包含することが意図されている。
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
【国際調査報告】