以下は、本明細書で使用される選択された用語の定義を含む。定義は、用語の範囲内に含まれ、かつ実装に使用され得る、様々な実施例及び/又は構成要素の形態を含む。実施例は、限定することを意図するものではない。更に、当業者であれば、本明細書で論じられる構成要素は、他の構成要素と組み合わされるか、省略されても、若しくは他の構成要素と編成されてもよく、又は異なるアーキテクチャに編成されてもよいことを理解するであろう。
本明細書で使用される場合、「プロセッサ」という用語は、信号を処理し、一般的なコンピューティング及び演算機能を実行する。プロセッサによって処理された信号は、デジタル信号、データ信号、コンピュータ命令、プロセッサ命令、メッセージ、ビット、ビットストリーム、又は受信、送信、及び/若しくは検出され得る他の手段を含んでもよい。一般に、プロセッサは、複数の単一及びマルチコアプロセッサ及びコプロセッサ並びに他の複数の単一及びマルチコアプロセッサ及びコプロセッサアーキテクチャを含む、多種の様々なプロセッサであってもよい。プロセッサは、様々な機能を実行するための様々なモジュールを含んでもよい。
本明細書で使用される場合、「メモリ」という用語は、揮発性メモリ及び/又は不揮発性メモリを含み得る。不揮発性メモリには、例えば、ROM(read only memory、読取り専用メモリ)、PROM(programmable read only memory、プログラマブル読取り専用メモリ)、EPROM(erasable PROM、消去可能なPROM)、及びEEPROM(electrically erasable PROM、電気的消去可能なPROM)が含まれ得る。揮発性メモリは、例えば、RAM(ランダムアクセスメモリ)(random access memory)、同期RAM(synchronous RAM、SRAM)、ダイナミックRAM(dynamic RAM、DRAM)、シンクロナスDRAM(synchronous DRAM、SDRAM)、ダブルデータレートSDRAM(double data rate SDRAM、DDRSDRAM)、及びダイレクトRAMバスRAM(direct RAM bus RAM、DRRAM)を含み得る。メモリは、コンピューティングデバイスのリソースを制御する又は割り振る、オペレーティングシステムを記憶することができる。
本明細書で使用される場合、「ディスク」又は「ドライブ」という用語は、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピーディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、及び/又はメモリスティックであってもよい。更に、ディスクは、CD−ROM(compact disk ROM、コンパクトディスクROM)、CD記録可能ドライブ(CD recordable drive、CD−Rドライブ)、CD書き換え可能ドライブ(CD rewritable drive、CD−RWドライブ)、及び/又はデジタルビデオROMドライブ(digital video ROM、DVD−ROM)であってもよい。ディスクは、コンピューティングデバイスのリソースを制御する又は割り振る、オペレーティングシステムを記憶することができる。
本明細書で使用される場合、「バス」という用語は、コンピュータ内部又はコンピュータ間の他のコンピュータ構成要素に動作可能に接続された、相互接続されたアーキテクチャを指す。バスは、コンピュータ構成要素間でデータを転送することができる。バスは、とりわけ、メモリバス、メモリコントローラ、周辺バス、外部バス、クロスバースイッチ、及び/又はローカルバスであってもよい。バスはまた、とりわけ、媒体配向システム輸送(Media Oriented Systems Transport、MOST)、コントローラエリアネットワーク(Controller Area network、CAN)、ローカル相互接続ネットワーク(Local Interconnect Network、LIN)などのプロトコルを使用して、車両内部の構成要素を相互接続する、車両バスであってもよい。
本明細書で使用される場合、「データベース」という用語は、テーブル、一セットのテーブル、及び一セットのデータストア(例えば、ディスク)、並びに/又はそれらのデータストアにアクセス及び/又は操作するための方法を指し得る。
「動作可能な接続」、又はエンティティが「動作可能に接続される」ことによる接続は、信号、物理的通信、及び/又は論理的通信が、送信及び/又は受信され得るものである。動作可能な接続は、無線インターフェース、物理的インターフェース、データインターフェース、及び/又は電気インターフェースを含んでもよい。
本明細書で使用される場合、「コンピュータ通信」という用語は、2つ以上のコンピューティングデバイス(例えば、コンピュータ、パーソナルデジタルアシスタント、セルラー電話、ネットワークデバイス)間の通信を指し、例えば、ネットワーク転送、ファイル転送、アプレット転送、電子メール、ハイパーテキスト転送プロトコル(HTTP)転送などであってもよい。コンピュータ通信は、例えば、とりわけ、無線システム(例えば、IEEE802.11)、イーサネットシステム(例えば、IEEE802.3)、トークンリングシステム(例えば、IEEE802.5)、ローカルエリアネットワーク(local area network、LAN)、広域ネットワーク(wide area network、WAN)、ポイントツーポイントシステム、回路スイッチングシステム、パケットスイッチングシステムを介して発生し得る。
本明細書で使用される場合、「車両」という用語は、1人以上の人間の乗員を運搬することができ、任意の形態のエネルギーによって電力供給される、任意の移動車両を指し得る。「車両」という用語には、自動車、トラック、バン、ミニバン、SUV、オートバイ、スクーター、ボート、パーソナルウォータークラフト、及び航空機が含まれる。いくつかのシナリオでは、モータ車両は、1つ以上のエンジンを含む。更に、「車両」という用語は、電気電池によって電力供給される1つ以上の電気モータによって、完全に又は部分的に電力供給される、電気自動車(electric vehicle、EV)を指し得る。EVは、電池電気自動車(battery electric vehicle、BEV)及びプラグインハイブリッド電気自動車(plug-in hybrid electric vehicle、PHEV)を含んでもよい。追加的に、「車両」という用語は、任意の形態のエネルギーによって動力を供給される、自律型車両及び/又は自動運転型車両を指し得る。自律型車両は、1人以上の人間の乗員を運んでもよく、又は運ばなくてもよい。
本明細書で使用される場合、「エージェント」という用語は、シミュレーション又はシミュレートされた車両内の車両などの「車両」を指し得る。同様に、本明細書で使用される場合、「アクター」という用語は、「エージェント」と互換的に使用され得る。更に、本明細書で使用される場合、「設定」という用語は、「環境」と互換的に使用され得る。本明細書で使用される場合、「特徴」という用語は、ゴールを含み得る。
本明細書で使用される場合、「車両システム」という用語は、車両、運転、及び/又は安全性を向上させるために使用され得る、任意の自動又は手動システムであってもよい。例示的な車両システムには、とりわけ、自律型運転システム、電子安定制御システム、アンチロックブレーキシステム、ブレーキアシストシステム、自動ブレーキプレフィルシステム、低速追従システム、クルーズ制御システム、衝突警告システム、衝突軽減ブレーキシステム、自動クルーズ制御システム、レーン逸脱警告システム、死角表示システム、レーン維持支援システム(lane keep assist system、LKAS)、ナビゲーションシステム、伝送システム、ブレーキペダルシステム、電子式パワーステアリングシステム、視覚デバイス(例えば、カメラシステム、近接センサシステム)、空調システム、電子プレテンショニングシステム、監視システム、乗客検出システム、車両サスペンションシステム、車両シート構成システム、車室内照明システム、オーディオシステム、感覚システムが含まれる。
本明細書で説明される態様は、コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体のコンテキストにおいて、説明及び実施されてもよい。非一時的コンピュータ可読記憶媒体は、コンピュータ記憶媒体及び通信媒体を含む。例えば、フラッシュメモリドライブ、デジタル多用途ディスク(digital versatile disc、DVD)、コンパクトディスク(compact disc、CD)、フロッピーディスク、及びテープカセット。非一時的コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、モジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでもよい。
本明細書で使用される場合、「CM3」という用語は、図1のシステム、図3の方法、図5A及び図5Bの方法などを含むが、これらに限定されるものではない、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法、又は協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステムの使用を指し得る。
エージェントは、一セットの可能性のある行動から、行動(シミュレートされた行動であってもよい)をとることができる。可能性のある行動のセットは、行動セット(A)として知られ得る。
環境は、シミュレーション環境又はエージェントが移動する世界であってもよい。
報酬機能(R)は、とられた(例えば、シミュレートされた)行動を評価する機能であってもよい。
短期的な決定を長期的な報酬よりも重くするために、割引係数(γ)に、将来の報酬をかけてもよい。
値(V)は、割引係数の影響を含む、予期長期的な収益であり得る。
Q値(Q)は、状態(s)上のポリシー(π)下での、行動(a)の長期的な収益を示す行動値であってもよい。
軌道は、それらの状態を含む連続的な状態及び/又は行動であってもよい。
ポリシー(π)は、現在の状態に基づいてエージェントの次の行動を決定するために用いられる、計画であってもよい。
図1は、一態様による、協調的マルチゴール、マルチエージェント、多段階(CM3)強化学習のためのシステム100の例示的な構成要素図である。CM3強化学習のためのシステム100は、プロセッサ102、メモリ104、バス106、及びシミュレータ108を含み得る。シミュレータ108は、プロセッサ102及びメモリ104を介して実装され得る。シミュレータ108は、シミュレーション環境126内で、1つ以上の行動124を実行して、1つ以上のエージェント122と関連付けられたシミュレーションをシミュレート又は実行することができ、ここで、1つ以上のクリティック128は、エージェント122のうちの1つ以上によってとられた行動124のうちの1つ以上を解釈又は評価して、1つ以上の報酬132及びとられた行動から生じる1つ以上の状態134を決定する。
シミュレータ108又はプロセッサ102は、CM3強化学習のためにシステム100のメモリ104に記憶され得る、CM3ポリシーネットワーク140を生成し得る。システムは、CM3ポリシーネットワーク140が、CM3データベース162を含み得るサーバ160などの他のデバイスに送信されることを可能にする、通信インターフェース150を更に含んでもよい。このようにして、CM3強化学習のためにシステム100によって生成されたCM3ポリシーネットワーク140は、サーバ160のCM3データベース162に記憶されてもよい。
次いで、サーバ160は、第1の車両170及び第2の車両180などの1つ以上の車両に、CM3ポリシーネットワーク140を伝搬し得る。第1の車両は、車両通信インターフェース172、記憶デバイス174、コントローラ176、及び1つ以上の車両システム178を装備してもよい。記憶デバイスは、サーバ160からCM3ポリシーネットワーク140を記憶してもよく、コントローラは、CM3ポリシーネットワーク140に基づいて、第1の車両を、自律様式で動作させてもよい。同様に、第2の車両180は、車両通信インターフェース182、記憶デバイス184、コントローラ186、及び1つ以上の車両システム188を装備してもよく、第1の車両と同様に動作してもよい。
いずれにせよ、CM3ポリシーネットワーク140が車両の記憶デバイス上に記憶されている場合、これにより、CM3ポリシーネットワーク140が、訓練又はシミュレーションに基づいてなされるべきポリシー又は決定のうちの1つ以上を示し得るので、コントローラは、CM3ポリシーネットワーク140に基づいて、車両を自律的に走行させ、シミュレータ108内で発生したCM3強化学習に従って、自律走行の決定を下すことができる。例えば、CM3ネットワークポリシーは、第1の自律型車両又は第2の自律型車両(例えば、車両状態又は環境状態)と関連付けられた観察の入力を受信し、提案された行動を出力してもよい。
図2は、図1の協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステム100のシミュレータ108の例示的な構成要素図である。図2では、図1のCM3強化学習のためのシステム100のシミュレータ108を見ることができる。ここで、エージェントは、環境内で行動をとることができる。これは、クリティックによって、報酬又はペナルティ及び状態の表現として解釈されてもよく、この状態はその後、エージェントに戻されてもよい。エージェントは、別個の時間工程で行動をとることによって、環境と相互作用し得る。各時間工程において、エージェントは、報酬を含み得る観察を受信してもよい。エージェントは、一セットの利用可能な行動から1つの行動を選択することができ、これにより、新しい状態及び連続的な時間工程の新しい報酬がもたらされる。エージェントのゴールは、一般に、可能な限り最大量の報酬を収集することである。
段階1/ローカルビュー/シングルエージェント環境
一態様によれば、シミュレータ108は、マルコフ決定プロセス(Markov decision process、MDP)を使用して、シングルエージェント環境において1つ以上の特徴を学習するために、第1のポリシー勾配に基づく第1のエージェントの訓練及び第1の損失関数に基づく第1のクリティックの訓練を含む、段階1の訓練を実行し得る。第1の段階又は段階1の間、シミュレータ108は、シングルエージェント設定又は環境において(すなわち、環境内に他のエージェントが存在しない場合)、1つ以上の個々のタスクを達成するか、又は異なるゴールを達成するようにエージェントを訓練し得る。これは静的環境であってもよい。段階1でシミュレータ108によって提供されるシングルエージェント設定又は環境は、第1のエージェントが、好都合な方法で、1つ以上の特徴を学習又は訓練することを可能にする。換言すれば、第1の段階におけるエージェントの数を減らすことによって、第1のエージェントは、より速く、より効率的な様式で訓練され得る。更に別の方法で説明すると、他のエージェントの不在下で局所的目的を達成するエージェントは、協調的挙動を学習するための望ましい状態構成をより確実に生成することができる。
シミュレータ108は、第1のエージェントが、無操作行動、加速行動、減速行動、1サブレーン左へのシフト行動、及び1サブレーン右へのシフト行動を含む1つ以上の一セットの行動から、行動を選択することを可能にすることによって、第1のエージェントを訓練し得る。
第1のエージェントによって段階1で学習され得る特徴のうちの1つ以上の実施例としては、学習ルール及び道路の規制、制限速度内で車道を運転する又は速度を維持する方法、レーン内に車両を維持する方法、レーンを変更する又はサブレーン位置を変更する方法、出口ランプで降りる方法、オンランプに入る方法などが含まれ得る。
このようにして、第1のポリシーネットワークは、シングルエージェント設定又は環境において異なる特徴を学習し得る、非一元的クリティックを有する。第1のクリティックは、非一元的クリティックであってもよいため、第1の段階又は段階1は、第1のエージェントのためのローカルビュー又は個別化された報酬、個別化された学習などと関連付けることができる。
段階2/グローバルビュー/マルチエージェント環境
一態様によれば、シミュレータ108は、マルコフゲームを使用して、マルチエージェント環境におけるN個のエージェント間の協調などの第2のセットの特徴を学習して、第2のエージェントニューラルネットワークをインスタンス化するために、第1のポリシー勾配及び第2のポリシー勾配に基づいて、ある数のN個のエージェントを訓練し、第1の損失関数及び第2の損失関数に基づいて、第2のクリティックを訓練することを含む、段階2の訓練を実行することができる。段階2の訓練中、N個のエージェントのうちのそれぞれ1つは、事前訓練された第1のエージェントニューラルネットワークとインスタンス化されてもよい。このようにして、事前訓練された第1のエージェントニューラルネットワークからの以前の知識を用いて、N個のエージェントのうちのそれぞれ1つをインスタンス化することによって、カリキュラムの獲得が、CM3強化学習のために、システム100を介して実施され得る。この点に関して、シミュレータ108は、マルチエージェント環境においてN個のエージェントを訓練する前に行われ得る、シングルエージェント環境における第1のエージェントの訓練を行うことができる。シミュレータ108は、第1のポリシー勾配及び第2のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、いくつかのN個のエージェントを訓練することができる。いくつかのN個のエージェントは、第1のエージェントを含んでもよい。
マルコフゲームの場合、各エージェントは、したがって、有限の集合内で1つ以上のゴール又は特徴を達成することを学習してもよく、N個のエージェント間又はN個のエージェントの中でのゴールの集合的成功のために他のエージェントと協調し、シミュレーション中に限られたローカルな情報と独立して行動し得る。シミュレータ108は、エピソード環境として、環境(例えば、シングルエージェント及びマルチエージェント環境)を定式化することができ、各エージェントは、各訓練エピソード中にランダムにサンプリングされたゴールを割り当てられてもよい。いずれにしても、シミュレータ108は、マルチゴールマルコフゲームとして環境を設定し、非一元的ポリシーの一元的訓練へのアクター−クリティック的アプローチをレビューすることができる。
マルコフゲームに関して、シミュレータ108は、n=[1...N]でラベル付けされたN個のエージェントを有する、タプル(S,{O
n },{A
n },P,R,G,N,γ)として、マルチゴールマルコフゲームを定義することができる。各エージェントは、各エピソード中に、1つのゴールg
n ∈Gを有してもよい。各時間工程tにおいて、エージェントの構成は、状態s
t ∈Sによって、完全に指定されてもよく、一方、各エージェントnは、部分観測
を受け取り、行動
を選択する。シミュレータ108は、遷移確率P(S
t+1 │s
t 、a):S×A
1 ×...×A
N ×S→[0,1]に従って、共同行動
により、環境を、次の状態s
t+1 に設定することができる。各エージェントは、報酬
を受け取ることができ、学習タスクは、ローカルな観察及びゴールにのみ当てはまる条件である、確率的ポリシーπ
n (a
n │o
n ,g
n ):O
n ×G×A
n →[0,1]を見つけることであり、それは、水平線Tにわたって
を最大化し、γは割引係数である。本明細書で使用するとき、a
−n 及びg
−n は、エージェントnのものを除いて、全てのエージェントの行動及びゴールの集合を表してもよく、gは、全てのエージェントのゴールの集合を表してもよく、(π(a│o,g):=П
n π
n (a
n │o
n ,g
n )は、共同ポリシーを表してもよい。
は、
を表し得、式中、ρ
π は、π下での、計数された静止状態分布として定義される。
段階2では、シミュレータ108は、一元的クリティックを使用して、いくつかのN個のエージェントを観察することによって、他の訓練を受けた個人又はエージェントの学習を組み込んでもよい。換言すれば、第2のクリティックは、一元的クリティックであってもよい。シミュレータ108は、一元的クリティックに、ローカル及び/又は共同報酬を提供するように命令することができる。このようにして、非一元的ポリシーの一元的学習一元的クリティックが、提供され得る。第2のクリティックは、一元的クリティックであってもよいため、第2の段階又は段階2は、全てのN個のエージェントのためのグローバルビュー又は協調タイプの学習と関連付けられてもよい。グローバルビューは、全体としてのN個のエージェントの交通の流れを示すことができ、一方、ローカルビューは、単に第1のエージェントの移動、流れ、又は効率を示し得る。グローバルビュー及び/又はローカルビューは、鳥瞰図又は環境の観点から取られ得る。したがって、シミュレータ108による2つの段階のシミュレーションによって、彼ら自身のゴールに向かって行動しているエージェントに対応し、他のエージェントの成功のための協調に対応している、学習目的の2つの図が提供され得る。これらの2つの段階は、ニューラルネットワーク構造によって架橋された2段階(例えば、又は3つ、4つなどの追加の段階)に組み込まれてもよい。
なおも更に説明すると、段階2では、二重クリティック構成に基づくマルチエージェント設定又は環境において異なる特徴を達成するために、シミュレーション中にいくつかのN個のエージェントによって、協調が学習される。例えば、第1のエージェントは、第1の段階で訓練されてもよく、第1の非一元的クリティックは、シングルエージェント設定又は環境内における複数の特徴の学習を容易にし得る。第2の段階又は段階2では、いくつかのN個のエージェントは、マルコフゲームにインスタンス化されてもよく、事前訓練されたπ1(例えば、段階1の第1のエージェントからの以前に訓練されたパラメータ)及びVπ(例えば、段階1の第1の非一元的クリティックからの以前に訓練されたパラメータ)並びに新しい一元的クリティックQ(例えば、第2のクリティック)を備えてもよい。
第2の段階又は段階2の間、シミュレータ108は、N個のエージェントを訓練して、1つ以上の協調タスクを達成してもよく、又はマルチエージェント設定若しくは環境において、異なるゴールを達成することができる。これは、動的環境であってもよい。段階2でシミュレータ108によって提供されるマルチエージェント設定又は環境は、N個のエージェントが、互いに相互作用するように学習することを可能にし、一方で、N個のエージェントのうちのそれぞれ1つが、それらの目標位置に到達するそれらのゴールをそれぞれ最終的に達成することを可能にし得る。
シミュレータ108は、N個のエージェントのうちのそれぞれ1つが、第1のエージェントと同様に、無操作行動、加速行動、減速行動、1サブレーン左へのシフト行動、及び1サブレーン右へのシフト行動を含む1つ以上の一セットの行動から、行動を選択することを可能にすることによって、N個のエージェントを訓練し得る。
N個のエージェントによって段階2で学習され得る特徴のうちの1つ以上の実施例としては、他のエージェントとの衝突を回避するための学習、標的位置への時間の最適化を含んでもよい。しかしながら、段階1で発生した学習(例えば、静的環境内でどのように運転するかを学習する)は、段階2のシミュレーションに引き継がれるか、又は段階2にインスタンス化されるので、段階1と段階2の分割が、シミュレータ108によって提供されなかった場合よりも速い速度で、学習が達成され得る。一態様によれば、段階1のシングルエージェント環境で学習された1つ以上の特徴は、段階2のマルチエージェント環境で学習された特徴とは異なり得る。このようにして、シミュレータ108は、第1の段階から第2の段階のN個のエージェントまでに学習された特徴をインスタンス化して、カリキュラム学習を容易にすることができる。
前述したように、段階2では、シミュレータ108は、一元的クリティックを使用して、いくつかのN個のエージェントを観察することによって、他の訓練を受けた個人又はエージェントの学習を組み込んでもよい。N個のエージェントのそれぞれは、第1の段階又は段階1からの教示(例えば、ネットワークポリシー)でインスタンス化され得るため、N個のエージェントのうちのそれぞれ1つは、静的環境内でどのように運転するかについて、事前訓練されてもよい。更に、いくつかのN個のエージェントが存在し得るため、N個のエージェントのうちのそれぞれ1つは、マルチエージェント環境内の異なる位置に配置され、異なるシナリオに露出されてもよい。シミュレータ108及びクリティックにいくつかのN個のエージェントを観察させることによって、異なるシナリオについての学習を並行して行うことができる。別の言い方をすれば、段階2で生じ得る学習は、第1のエージェントによって学習されたデータを、第2のエージェントと共有することによって、及び逆もまた同様である(例えば、第2のエージェントによって学習されたデータを、第1のエージェントと共有すること)によって、達成され得る。
例えば、第1のエージェントが、左へレーンを変更しようとしていて、右へレーンを変更しようとしている第2のエージェントの前に位置している場合、エージェントのうちのそれぞれ1つが、異なるシナリオに露出されており、ネットワークポリシーが両方について更新され、それによって学習の効率を高め、CM3システムの訓練と関連付けられた訓練時間の量を大幅に低減することができる。この実施例では、第1のエージェント及び第2のエージェントは、異なるゴール(例えば、おそらく出口ランプへのアクセスを得るために、左へのレーン変更を実行する第1のゴール及び右へのレーン変更を実行する第2のゴール)を有する。協調学習は、シミュレータ108によって実施され得ることに留意されたい。例えば、第1のエージェントが、第2のエージェントに、右へのレーン変更の実行を許可することを拒否した場合、及び第2のエージェントが、第1のエージェントに、左へのレーン変更の実行を許可することを拒否した場合、どちらのエージェントにも利益はない。
第2のエージェントニューラルネットワークは、対応するN個のエージェントのうちのそれぞれのローカルな観察を示す、N個のエージェントのうちのそれぞれについてのo 他の パラメータと関連付けられ得る。一態様によれば、o 他の パラメータは、第1のエージェントの速度、第1のエージェントとN個のエージェントのうちの1つとの間のレーン若しくはサブレーンの数、第1のエージェントからゴール位置までの距離、又は第1のエージェントと関連付けられた車両タイプを示すことができる。o 他の パラメータは、N個のエージェントのうちの1つと関連付けられた車両占有状態、第1のエージェントに対するN個のエージェントのうちの1つの相対速度、又はN個のエージェントのうちの1つと関連付けられた車両タイプを示すことができる。
第3の段階又は段階3は、本明細書に記載されていないが、第3の段階では、N個のエージェントのうちのそれぞれ1つは、事前訓練された第1のエージェントニューラルネットワーク及び事前訓練された第2のエージェントニューラルネットワークを用いて、シミュレータ108によってインスタンス化され得、追加の学習が行われ得、それによって、カリキュラム学習が提供されることを可能にする。
ポリシー生成/非一元的ポリシーの一元的学習
プロセッサ102又はシミュレータ108は、第1のエージェントニューラルネットワーク及び第2のエージェントニューラルネットワークに基づいて、CM3ネットワークポリシーを生成してもよい。シミュレータ108は、ニューラルネットワークのポリシー及び値関数のモジュラー増強によって、2つの段階(例えば、段階1及び段階2)を架橋することができる。CM3ネットワークポリシーは、図1の自律型車両(複数可)のコントローラに、自律様式で動作するように指示するために利用することができる、データを示し得る。例えば、CM3ネットワークポリシーは、第1の自律型車両又は第2の自律型車両(例えば、車両状態又は環境状態)と関連付けられた観測の入力を受信し、シミュレーション中に使用され、シミュレータ108によって提供される行動と同様の、無操作行動、加速行動、減速行動、1サブレーン左へのシフト行動、及び1サブレーン右へのシフト行動を含み得る、提案された行動を出力してもよい。
CM3ネットワークポリシーは、第1の段階及び第2の段階と関連付けられたローカルビュー及びグローバルビューを表す、組み合わされたビューを示すことができる。一態様によれば、シミュレータ108は、ローカルビュー及びグローバルビューに基づいて、CM3ネットワークポリシーを最適化し得る。このようにして、個々のタスクを達成するために学習するためのシングルエージェント段階と、それに続く、他のエージェントの存在下で協調するための学習のためのマルチエージェント段階とを含む2つの段階のカリキュラムが、提供され得る。シミュレータ108は、第1の段階及び第2の段階からのそれぞれのニューラルネットワークポリシー及び値関数のモジュラー増強によって、これら2つの段階(例えば、第1の段階及び第2の段階)を架橋することができる。換言すれば、シミュレータ108は、第1の段階又は段階1と関連付けられたニューラルネットワークポリシーを、第2の段階又は段階2と関連付けられたニューラルネットワークポリシーとともにモジュラー増強してもよい。同様に、シミュレータ108は、第1の段階又は段階1と関連付けられた1つ以上の値関数を、第2の段階又は段階2と関連付けられた1つ以上の値関数とともにモジュラー増強してもよい。
前述したように、CM3は、非一元的値関数(例えば、第1の非一元的クリティックと関連付けられた)及び一元的行動値関数(例えば、第2の一元的クリティックと関連付けられた)を含む、二重クリティックを介して、ポリシー勾配及び学習のローカル及びグローバルな図を定式化することによって、このカリキュラムに対してアクター−クリティック又はエージェント−クリティック的なフレームワークを実施してもよい。したがって、シミュレータ108は、シングルエージェント設定及びマルチエージェント設定の両方をシミュレートしてもよく、各エージェントは、有限集合内でゴール又は特徴を達成し、異なる可能性のあるゴール又は特徴を持つ他のエージェントと協調することを学習する。この点に関して、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法、又は協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステム100のCM3フレームワークは、マルチエージェントカリキュラムが、1つ以上の利益又は利点を提供することを可能にする。
例えば、マルチエージェント探索は、これまで取り組むことが困難な問題であった。シングルエージェント設定において異なるゴールを達成するために、段階1のネットワークポリシーを訓練することによって、協調的解決策を見出すのに有用な探索的行動は、シングルエージェント設定で学習された個々のゴールに向かって行動することによって、確実に衝突を生じさせるようにエージェントが設定された後に、達成され得る。
別の実施例として、マルチエージェント強化学習(multi-agent reinforcement learning、MARL)のニューラルネットワーク構成が、提供されてもよい。具体的には、エージェント又はアクター及びクリティックニューラルネットワークのための段階1の訓練は、シングルエージェント環境において個々のゴールを達成するのに十分である一部分(例えば、これは、第1のセットのゴール又は特徴に対して、事前に定義され、事前にプログラムされ、手動で設定されたものなどであり得る)に関連する入力空間を設定することによって、簡略化され得る。段階2のニューラルネットワーク構成では、アーキテクチャは、完全なマルチエージェント環境内での更なる学習のために、又は段階1の訓練(例えば、段階1の変数、パラメータ、ニューラルネットワークなど)に基づいて、拡張、調節、又は修正されてもよい。これにより、エージェントの観察の、エージェントの独自の状態の表現(例えば、標的位置までの距離)、及び他のエージェントの表現への分解が可能となる。
更に、段階1と段階2が、組み合わされる。換言すれば、非一元的ポリシーは、ローカルな目的を学習するための非一元的値関数と、学習協調のための一元的行動値関数とを含む、二重クリティックを使用して訓練される。これにより、ポリシー勾配の2つの等価な図を示すこと、及び新しいアクター−クリティック又はエージェント−クリティック的な適応を実施することによって、N個のエージェント間の協調を考慮しつつ、ローカルな目的又はゴールを考慮することを可能にすることができる。
CM3フレームワーク(例えば、CM3システム及びCM3方法と関連付けられた)は、簡略化されたポリシーネットワークを含む単一のカリキュラム内のこれらの特徴を、段階1で複数のゴールを達成するために学習するための非一元的クリティックと組み合わせ、一方で、段階2は、他のエージェントを表すためにポリシーの観察空間を増強し、二重クリティック的実施を使用して、マルチエージェント協調を学習する。一態様によれば、パラメータ共有は、シミュレータ108によって、全てのエージェントに対して1つ以上のエージェントの間で提供され得る。
完全な状態−行動情報を受信する一元的クリティックは、ローカルな情報のみを受信する、非一元的アクター又はエージェント(例えば、ポリシー)の学習を速めることができ、そしてアクターのみが、訓練後に実行のために保持され得る。一態様によれば、シングルエージェント設定において、ポリシーπ(パラメータθを有するは、目的
を最大化し得、それは勾配
式(1)において、
は、行動値関数であり、b(s)は、任意の状態依存ベースラインである。
一態様によれば、反事実的なベースラインは、以下のように定義され得る。
反事実的なベースラインは、マルチエージェントクレジット割り当ての問題に対処することができる。Q(s,(a
−n ,a
n ))−b(s,a
−n )は、エージェントの選択した行動の貢献度、及びそれに対する他のエージェントの行動を固定したまま、全ての可能性のある反事実的な行動の平均値
を表すことができる。シミュレータ108は、全てのエージェント間でパラメータ共有を利用してもよく、これは、全てのエージェントが同じポリシーを実行するが、それらの個々の観察に応じて、異なって挙動し得ることを意味する。
ポリシー勾配は、以下のように定義され得る。
本明細書に記載されるCM3フレームワークは、個々の目的並びに局所的及び共同報酬の混合を考慮する、反事実的なベースライン(例えば、式(3))に基づいてもよい。
図3は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法300の例示的なフロー図である。方法300は、シングルエージェント環境において特徴を学習するために、第1のエージェント及び第1のクリティックの訓練302、マルチエージェント環境においてN個のエージェント間の協調を学習して、事前訓練された第1のエージェントニューラルネットワークを用いて、N個のエージェントをインスタンス化するための、ある数のN個のエージェントの訓練304、並びに第1のエージェントニューラルネットワーク及び第2のエージェントニューラルネットワークに基づく、協調的マルチゴール、マルチエージェント、多段階(CM3)ネットワークポリシーの生成306を含み得る。したがって、訓練302及び訓練304の行為は、306のネットワークポリシーを構築するための増分多段階学習プロセスを含む。
一態様によれば、シングルエージェント環境における第1のエージェントの訓練302は、第1のポリシー勾配に基づいて第1のエージェントを訓練することと、マルコフ決定プロセスを使用して、シングルエージェント環境内の1つ以上の特徴を学習するために、第1の損失関数に基づいて、第1のクリティックを訓練することと、を含み得る。第1のエージェントは、第1のエージェントニューラルネットワークと関連付けられてもよく、第1のクリティックは、第1のクリティックニューラルネットワークと関連付けられてもよい。第1のクリティックは、非一元的クリティックであり得る。
一態様によれば、マルチエージェント環境におけるN個のエージェントの訓練304は、マルコフゲームを使用して、マルチエージェント環境におけるN個のエージェント間の協調を学習して、第2のエージェントニューラルネットワークをインスタンス化するために、第1のポリシー勾配及び第2のポリシー勾配に基づいて、いくつかのN個のエージェントを訓練し、第1の損失関数及び第2の損失関数に基づいて、第2のクリティックを訓練することを含み得る。N個のエージェントのそれぞれは、事前訓練された様式で、第1のエージェントニューラルネットワークとインスタンス化されてもよい。第2のクリティックは、一元的クリティックであってもよい。このようにして、二重クリティック方法を提供することができる。更に、シングルエージェント環境において第1のエージェントを訓練することは、マルチエージェント環境においてN個のエージェントを訓練する前に行われてもよく、それによって、本明細書に記載されるように、CM3強化学習の効率を高めることができる。
図4は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法と関連付けられた、例示的なデータフロー図である。図4の段階1では、一対の低減されたネットワークV 1 及びπ 1 は、ポリシー勾配∇J local を使用して、シングルエージェント環境において複数のゴールを達成することを学習し得る。新しいポリシーネットワークπは、訓練されたπ 1 、新しいモジュールπ 2 、及びVの構築から、構築され得る。図4の段階2の完全なマルチエージェント環境において、これらのより大きいπ及びVは、新たな一元的クリティックQとともに、N個のエージェントのそれぞれに対してインスタンス化されてもよく(完全なパラメータ共有を伴って)、補間されたポリシー勾配を用いて訓練されてもよい。
全ての個々のπ n (a n |o n ,g n )によって共有される暗示パラメータθを有する共同ポリシーπ(a|o,g)は、以下の目的を最大にするために定義され得る。
目的は、2つの方法(例えば、ローカル及びグローバル)で見ることができ、それにより、アクター−クリティック対の非一元的及び一元的クリティックをもたらす。
ローカルビュー(例えば、第1のビュー)について、シミュレータ108は、これらの報酬から非一元的クリティックを学習して、全てのエージェントの共同成功に関して明示的に考慮することなく、ローカルなゴールを達成するために、エージェントのためのポリシー勾配を提供してもよい。目的
は、個々のゴールg
n に対応するように定義されてもよい。J
local は、勾配を上昇させることによって最大化され得る。
各
は、個々の報酬R(s,a
n ,g
n )に対応する状態−行動値である。
式(5)の第2のラインにおいて、以下の近似値が作製されてもよい。
1)スケーラビリティのために、n個の異なる関数近似子を使用する代わりに、追加の入力ゴールg
n を使用して、全ての
を単一のQ
π (s,a,g
n )で近似する。
2)期待値を変更することなく、Q
π (s,a,g
n )を、利点関数A
π (s,a,g
n ):=Q
π (s,a,g
n )−Q
π (s,a,g
n )に置き換え、TD誤差
を、利点値の公平な推定として利用する。
3)s t をo t で最終近似することによって、非一元的クリティックV(o t ,g n )を計算する。
θ V によってパラメータ化されると、損失を最小化することによって、クリティックが更新される。
式中、θ’ V は、主θ V に向かってゆっくりと更新する、標的ネットワークのパラメータである。
グローバルビュー(例えば、第2のビュー)については、共同報酬
を定義することができる。共同報酬は、他のエージェントの成功に寄与するように、各エージェントを促す、一元的クリティックを学習するために使用されてもよい。J
global は、以下のように定義することができる。
は、一元的クリティックであり、b(s,a
−n ,g)は、複数のゴールを有する一般化された反事実的なベースラインであり得る。
θ Q によってパラメータ化されると、損失を最小化することによって、一元的クリティックが更新される。
式(9)において、θ’ Q 及びπ’は、それぞれ、ゆっくりと更新された目標Q及び目標ポリシーネットワークを表す。
組み合わせたビュー(例えば、第3のビュー)については、∝∈(0,1)を使用する両方のビュー間の補間は、共同報酬が各エージェントのポリシーに影響を及ぼす程度を決定するために、シミュレータ108によって実行されてもよい。
全体的なポリシー勾配は、以下のように定義される。
∇ θ J(π):=α∇ θ J local (π)+(1−α)∇ θ J global (π)(10)
ポリシー勾配は、2つの目的最適化問題の重量和スケールとして見ることができ、そのパレート最適化は、凸性仮定を使用して、式(10)に沿って最適化することによって見出すことができる。
段階1では、アクターπ及び非一元的クリティックV
π は、シングルエージェント設定において、複数のゴールを学習するように訓練されてもよい。この段階は、シングルエージェントマルコフ決定プロセス(MDP)に基づいてもよい。シミュレータ108は、それぞれ、ポリシー勾配∇J
local 式(5)及び損失
式(6)に従って、アクターπ(a
n │o
n ,g
n )及びクリティックV
π (o
n ,g
n )を訓練してもよい。エージェントが訓練の過程にわたって全てのゴールを学習するために、ゴールは、各訓練エピソードにおいてGから均一にサンプリングされ得る。シミュレータ108は、関数近似のためにディープニューラルネットワークを使用することができ、アクター及びクリティックネットワークへの入力は、特定のエピソードのゴールを表す、エージェントの観察ベクトルo
n 及びベクトルg
n を含むことができる。
シミュレータ108は、マルチエージェント環境が通常、
内のエージェントの観察空間の分解を可能にするという単純な観察を行うことができ、式中、
には、エージェント自身の状態に関する情報(例えば、位置)が含まれており、一方で、
は、エージェントの周囲のエージェントのローカルな観察であり、o
others を処理する能力は、段階1では不要である。このようにして、シミュレータ108は、
に設定されるπ及びVの入力空間のサイズを低減し、それによって、段階1における訓練可能なパラメータの数を低減し、訓練速度を向上させることができる。シミュレータ108は、収束するまで、これらの低減されたアクター及びクリティックネットワークを訓練し、それらをそれぞれπ1及びV1としてラベル付けしてもよい。
段階2では、シミュレータ108は、事前訓練されたπ及びV
π 並びに新しい一元的クリティックQを備えた、完全なマルコフゲームに全てのエージェントをインスタンス化し、更に協調的挙動のための更なる訓練を実施することができる。マルコフゲームは、N個のエージェントでインスタンス化されてもよい。シミュレータ108は、以前に訓練されたπ1パラメータを保持し得、エージェントがそれらのローカルな観察のo
others パラメータを処理するための新しいニューラルネットワークπ2をインスタンス化し、π2の出力からπ1の選択された層への隠れた接続を導入する。具体的には、
は、
及び活性化機能fを用いて、
を介して、層i−1に接続されたπ1のL層ニューラルネットワーク表現において、m
i 単位で層i≦Lの隠された活性を定義することができる。段階2は、K層ニューラルネットワークπ2(o
others )を導入し、出力層
は、π
1 の特定の層i
* を選択し、隠れた活性化
を以下のように増加させる。
同等又は類似の増強は、新しいニューラルネットワークV2(o
others )を使用して、クリティックV1に行うことができる。シミュレータ108は、一元的クリティックQ
π (s;a;g)をインスタンス化することができ、これは必須ではなく、したがって、段階1の間には存在せず、π、V、Qを、組み合わされた勾配∇J式(10)、損失
式(6)、及び損失L(θ
Q )式(9)をそれぞれ使用して、訓練する。段階1と同様に、シミュレータ108は、各訓練エピソード中にGの上の分布から(例えば、ランダムに)サンプリングすることによって、エージェントにゴールを割り当てることができる。分布は、協調を必要とする困難なゴールの組み合わせに対する十分な訓練を確実にするように、そのゴールに向けて作用するエージェントの能力を維持するためのより容易な組み合わせとともに、構築することができる。
カリキュラム学習を伴うアクター−クリティックネットワークのこの2段階構成は、完全なマルチエージェント環境上での直接訓練と比較して、学習速度を改善する。このようにして、CM3フレームワークベースのシステム及び方法は、更なる強いベースラインよりもはるかに速く学習し、より成功したポリシーを見つける。2段階のカリキュラム及び非一元的クリティックは、この成功を容易にし、一方、ポリシー勾配のグローバルビューは、協調的な解決策を見つける際に顕著な利点を与える。
段階1における処理
のために事前訓練された更なる隠れ層i<i
* は、タスク情報を処理する能力を保持し、一方、新しいモジュールは、周囲のエージェントの効果を学習する。段階1のシングルエージェント設定においてゴール指向作用を生成することができる上位層i≧i
* は、全てのエージェントの共同成功のための協調作用を生成するために、組み合わせた勾配によって微調整される。
図5A及び図5Bは、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。一態様によれば、図5A及び図5Bの方法は、CM3フレームワークを実装するための擬似コードを示す。
図6は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。図6では、シミュレータ108内の大きな道路ネットワークの1つのセグメントが示されている。シミュレータ108は、水平位置x i で始まるl個の初期レーン(そのうちの2つは、合流ポイントに遭遇する)と、終端位置x f でのl−1個のゴールレーンと、を含み得る。各エピソードでは、N個のエージェントは、ランダムに選択された初期レーン上で、x i で放出され、各エージェントnは、位置x f で到達することを学習すべきである、ランダムに選択されたゴールレーンg n と関連付けられる。エージェントは、限定された視野を有する観察を受信し、別個の行動空間から行動を選択し、端末及び瞬間的な基準(例えば、到達ゴール、超過速度制限)の両方に従って、報酬を受信することができる。シミュレータ108は、以下の環境を定義することができる。
E1:他の空の道路上のシングルエージェントは、任意の初期レーンから任意のゴールレーンに到達することを学習する。これは、初期のネットワークπ1及びV1を、目的J local で訓練する、CM3の段階1に使用される。
E2:N=4エージェントは、確率0.8でランダムに初期化され、初期及びゴールレーンは、二重合流が生じるように、確率0.2で設定され、初期及びゴールレーンは、均一にサンプリングされる。CM3の完全な段階2のアーキテクチャは、E2において訓練される。
E2+:確率0.5/秒で放出された交通シミュレータ制御車両を使用して、一般化を試験するために使用される。
一態様によれば、シミュレータ108は、段階1をE1で訓練し、続いて段階2をE2で訓練してもよい。別の態様によれば、競合方法は、E2において直接訓練されてもよい(例えば、車両又はエージェントが、協調するのではなく競合し得る)。
シミュレータ108は、1つ以上の主レーン及び1つの合流レーンを含む、全長の直線道路をシミュレートするように設定されてもよい。合流レーン上の車両は、合流ウィンドウ内の主レーン上に合流することができ、合流レーンは、所定の長さで終了してもよい。レーンは幅を有してもよく、車両は、レーン内の4つのサブレーンのいずれかに沿って、横方向間隔で位置合わせされてもよい。速度限界は、所定の速度に設定されてもよい。E2+では、クラウス車追従モデルに従って挙動する、交通シミュレータ制御乗用車及びトラック(例えば、タイプトレーラ)は、毎秒所定の確率で主レーンに放出されてもよい。シミュレーション時間解像度は、シミュレーション工程時間に設定されてもよい。
一態様によれば、E1において、シングルエージェントの初期レーン及びゴールレーンは、開始及び終了レーンの数にわたって、均一分布からランダムにサンプリングされてもよい。E2において、確率0:2で、全てのエージェントの初期及びゴールレーンは、開始及び終了レーンの数にわたって、均一分布から独立してサンプリングされてもよく、確率0:8で、エージェント[1,2,3,4]は、初期レーン[2,2,3,3]及びゴールレーン[4,4,0,0]で初期化された。出発時間は、平均[0;2;0;2]s及び標準偏差0.2sを有する正規分布から描かれてもよい。
ローカルな観察
一態様によれば、各エージェント車両のローカルな観察は、2つのパラメータを含んでもよい。全ての訓練段階で使用される自己に関する第1のパラメータは、エージェントの速度正規化、エージェントの現在のサブレーンとゴールレーンの中央サブレーンとの間の正規化されたサブレーン数、正規化されたゴール位置までの縦距離、合流レーン上にあることの二進インジケータ、(事前定義されたセグメント境界を使用する)道路に沿った次のセグメントまでの正規化距離を含む、ベクトルであってもよい。
別の態様によれば、第2のパラメータは、4つのチャネルを有する、エージェントを中心とする離散化された観察グリッドであってもよく、4つのチャネルは、車両占有率のバイナリインジケータと、他の車両とエージェントとの間の正規化相対速度と、乗用車である車両タイプのバイナリインジケータと、トラックである車両タイプのバイナリインジケータと、を含む。
グローバル状態
グローバル状態ベクトルは、全てのエージェントの観察パラメータ
の連結
であってもよい。
ゴール
各ゴールベクトルg n は、所定の位置xに到達するとエージェントnが到着すべきであるゴールレーンを示す、長さの1ホットベクトルであってもよい。各エピソード中の全てのエージェントについて、ゴールをランダムにサンプリングしてもよい。
行動
全てのエージェントは、以下の5つのオプション、無操作行動(例えば、現在の速度及びレーンを維持する)、加速、減速、及び1サブレーン左へのシフト、1サブレーン右へのシフトを含む、同様の別個の行動空間を有する。各エージェントの行動a n は、所定の長さの1ホットベクトルとして表されてもよい。
個々の報酬
一態様によれば、ゴールg
n を有するエージェントnについての報酬
;gn)は、以下の条件に従って与えられてもよい。
衝突の場合は−10(エピソードの終了に続く)
タイムアウトの場合は−10(エピソード中に120のシミュレーション工程を超える)
道路の終端に到達し、ゴールレーンの中心からの正規化されたサブレーン差を有する場合は+10(1−Δ)
200m<x<400mの間に別のレーンから合流レーンに入る場合は−5
200m<x<400mの間に合流レーンにいる場合は−0.5
現在の速度が35.7m/秒を超える場合は−0.1
共有グローバル報酬
一態様によれば、共有グローバル報酬Rg(s t ;a t ;g)は、以下により決定され得る。
何らかの衝突が発生した場合の−10、及び
時間tに道路の終端に達したエージェントの全ての個々の報酬の平均。
アーキテクチャ
一態様によれば、段階1の間のポリシーネットワークπ
1 は、入力o
self 及びg
n のそれぞれを、32単位を有する1つの完全に接続された層に供給する。連結は、64単位を有する層
に完全に接続されてもよく、それぞれが1つの別個の行動に対応する5単位を有するソフト最大出力層に完全に接続されてもよい。段階2では、入力観察グリッドo
others は、サイズ5×3及びストライド1×1の4つのフィルタを有する畳み込み層によって処理されてもよく、平坦化して、64単位を有する層に完全に接続され、次にπ
1 の層
に完全に接続されてもよい。ReLUの非線形性は、全ての隠れ層に使用され得る。行動確率は、Pr(a
n =i)=(1−∈)softmax(i)+∈/|A|によって、ソフト最大出力の下限を定めることによって計算され、式中、∈は、減衰探索パラメータであり、|A|=5である。
段階1の間の非一元的クリティックV1は、入力o
self 及びg
n のそれぞれを、32単位を有する1つの完全に接続された層に供給してもよい。連結は、出力線形層hV1_に、単一ユニットで完全に接続されてもよい。段階2では、入力観察グリッドo
others は、サイズ5×3及びストライド1×1の4つのフィルタを有する畳み込み層13によって処理されてもよく、平坦化して、32単位を有する層に完全に接続され、次にV1の出力層
に完全に接続されてもよい。ReLUの非線形性は、全ての隠れ層に使用され得る。
一元的クリティックQ(s,a,g)は、入力(s,a −n ,g n ,g −n ,n)を受信してもよく、これは、128単位及びReLUの活性化を有する2つの完全に接続された層に接続され、5単位を有する線形出力層に完全に接続され得る。各出力ノードiの値は、行動iをとるエージェントn及び行動a −n をとる他の全てのエージェントについての、行動値Q(s,a −n ,a n =i,g)として解釈されてもよい。エージェンラベルベクターnは、1ホットインジケータベクトルであり、異なるエージェントに対するQ関数の評価を区別するための入力として使用される。
二重再生バッファB 1 及びB 2 は、段階2の全てのアルゴリズムに対する訓練安定性を改善するために、ヒューリスティックとして使用されてもよい。各環境遷移を直ちに記憶する代わりに、追加のエピソードバッファを使用して、各エピソード中に遭遇する全ての遷移を記憶することができる。各エピソードの最後に、全てのエージェントの累積報酬を閾値(例えば、32)と比較して、エピソードバッファ内の遷移がB 1 又はB 2 に記憶されるべきかどうかを決定することができる。訓練のために、ミニバッチの半分を、B 1 及びB 2 のそれぞれからサンプリングする。
図7及び図8は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な性能結果の図である。図7に見られるように、CM3は、E2における他の技術よりも早く、45kエピソードよりも高い性能に収束した。図8では、CM3フレームワークベースのシステム又は方法によって学習されたポリシーは、E2+よりも良好に一般化することが分かる。
図9は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。図9では、E2と関連付けられた初期レーン構成は、それらのゴールレーンに到達するために、二重合流又は二重レーン変化を実行するためのエージェントを必要とする。
図10は、一態様による、シングルエージェント環境E1における、例示的な報酬対エピソードのグラフの図である。
マスキングに基づく自律型車両ポリシー生成
図11は、一態様による、自律型車両ポリシー生成システム1100の構成要素図である。CM3強化学習のためのシステム100は、図11の構成要素又は自律型車両ポリシー生成システム1100全体のうちの1つ以上を含んでもよい。自律型車両ポリシー生成システム1100は、プロセッサ1102、メモリ1104、記憶ドライブ1106、状態入力発生器1108、交通シミュレータ1112、Q−Masker 1114、及び行動発生器1116を含んでもよい。状態入力発生器1108、交通シミュレータ1112、Q−Masker 1114及び行動発生器1116は、プロセッサ1102、メモリ1104及び/又は記憶ドライブ1106を介して実装されてもよい。
自律型車両ポリシー生成システム1100は、シミュレーションを通じて、及びQマスキングを通じて、例えば、車両170のコントローラ176を使用して自律型車両ポリシーを実施し得る、車両170の自律型車両ポリシーを生成してもよい。
状態入力発生器1108は、シミュレートされるように、自律型車両と関連付けられた状態情報を決定又は生成することができる。換言すれば、状態入力発生器1108は、自律型車両ポリシー生成と関連付けられたネットワークの入力を決定することを担当する。これらの入力の実施例としては、シミュレートされた自律型車両の内部の状態情報(例えば、シミュレートされた自律型車両と関連付けられた速度又は現在の速度)を含む、シミュレートされた自律型車両の状態、及びシミュレートされた自律型車両の外部の状態情報(例えば、シミュレートされた自律型車両と関連付けられたレーン配置又はレーン位置、及び所望の目的地などのゴールからの距離)を含み得る。ゴールは、必ずしも最終目的地でなくてもよいが、例えば、ルートに沿ったウェイポイント目的地であってもよい。交通シミュレータ1112は、シミュレートされた自律型車両と、シミュレーション環境内の1つ以上の他の車両(例えば、第1の車両、第2の車両、第3の車両など)とを含む、シミュレーション環境をシミュレートしてもよい。交通シミュレータ1112は、他の車両を制御して、ある範囲内の速度を維持するように構成されてもよい。
一態様によれば、交通シミュレータ1112は、図1のCM3強化のためのシステム100のシミュレータ108であってもよい。加えて、プロセッサ1102及びメモリ1104は、図1のCM3強化のためのシステム100からのプロセッサ102及びメモリ104と同じであってもよい。
ゴールまでの距離は、交通シミュレータ1112への入力として考慮され得るため、交通の中でマルチレーン高速道路などの運転シナリオに存在する場合、計画的レベルでの長期的な決定についての推論を考慮する必要がある。
一態様によれば、交通シミュレータ1112は、シミュレーション環境内の他の車両を制御して、互いとの衝突を回避することができるが、シミュレートされた自律型車両(例えば、エージェント)とはならない。Q−Masker 1114は、低レベルコントローラを介して実装されてもよく、及び自律型車両が戦略的レベルで決定を行うことを可能にする、ポリシーを学習するディープQ学習システムの一部である。ディープQ学習システムは、各可能性のある行動と関連付けられた状態とQ値との間のマッピングを学習することができる。別の言い方をすれば、交通シミュレータ1112は、ディープQ学習システムを使用し、かつQ−Masker 1114の適用なしで、各時間フレームについて全ての可能性のある行動をシミュレートするように進み、これはプロセッサ1102及びメモリ1104の大量の計算能力を利用し得る。したがって、ありとあらゆる行動が探索される完全なポリシーを学習することは、訓練するのが大規模なネットワークでは困難であり得る。
Q学習ネットワークでは、各行動に関連する状態とQ値との間のマッピングが学習され得る。一態様によれば、最大(又はソフト最大)オペレータの前に出力Q値に適用されるマスクの形態のQマスキングは、Q値の出力層に適用され、「最良の」行動を選択することができる。この点に関して、Q−Masker 1114の直接効果は、「最良の」行動を選択するために最大操作をとるとき、より低いレベルのモジュールによって指示される行動のサブセットと関連付けられたQ値のみが考慮されるということである。
したがって、Q−Masker 1114は、交通シミュレータ1112によってシミュレートされるべき、出力Q値のサブセットをマスクすることができる。したがって、行動の残りのサブセットと関連付けられたQ値のみが、シミュレーション中に交通シミュレータ1112によって考慮され、それによって、自律型車両ポリシー生成における自律型車両のシミュレーション及び訓練中に利用される、処理電力及び/又はコンピューティングリソースの量を軽減する。行動の残りのサブセット(例えば、可能性のある行動のセット、マスクされたサブセットを除外した行動のサブセット)に基づいて、行動発生器1116は、残りの行動を探索し、それに応じて、自律型車両ポリシーを決定してもよい。これは、1つ以上の時間間隔にわたって繰り返されてもよい。これにより、Q−Masker 1114は、シミュレートされた自律型車両に、マスクされていない状態のみを探索させるように、「強制」することができ、したがって、関連付けられたQ値の空間のサブセット(これは、状態(s)に対するポリシー(π)下での行動(a)の長期的な戻りを示す)のみを学習する。
より詳細には、状態入力発生器1108は、訓練を受ける自律型車両(例えば、シミュレートされた自律型車両)と関連付けられた、一セットの属性を生成してもよい。例えば、一セットの属性は、自律型車両と関連付けられた現在の速度v、自律型車両と関連付けられたレーン位置l、及び自律型車両からゴールまでの距離d2gを含んでもよく、ゴールは所望の目的地であってもよい。また、車両と関連付けられた属性又は位置情報のセットは、占有グリッドとして表されてもよい。セットの属性は、自律型車両と関連付けられた状態(複数可)又はシナリオを示すか、又は表す、状態情報であってもよい。例えば、通知された制限速度又はv min 及びv max の最小及び最大制限速度などの情報は、自律型車両の配置又は位置に基づいて決定されてもよい。
交通シミュレータ1112は、自律型車両を含むシミュレーション環境、多数のレーンと関連付けられた車道、及びシミュレーション環境内の1つ以上の他の車両を含むシミュレーション環境をシミュレートしてもよい。交通シミュレータ1112は、交通密度で交通を生成することができ、各レーンは、時間間隔で、開始位置で車両を放出する確率P レーン を割り当てられてもよく、他の車両は、ランダムな開始速度、ランダムな目標速度、及びランダムな目標速度から内部に留まる範囲と関連付けられてもよい。交通シミュレータ1112は、他の車両を制御して、互いとの衝突を回避するが、シミュレートされた自律型車両ではないモデルを使用してもよい。一態様によれば、交通シミュレータ1112は、シミュレートされた自律型車両を制御しないが、単にシミュレーション環境内の他の車両を制御して、互い(シミュレートされた自律型車両ではない)に衝突するのを回避するだけである。
交通シミュレータ1112は、シミュレートされた自律型車両及び交通シミュレータ1112によって提供されるシミュレーション環境についての状態入力生成属性に基づいて、強化学習を実施する、ディープQ学習システムであってもよい。交通シミュレータ1112によって管理されるシミュレーション環境内で、シミュレートされた自律型車両は、可能性のある行動のセットからシミュレートされた行動をとることができる、エージェントであってもよい。可能性のある行動のセットは、行動セット(A)として知られ得る。例えば、自律型車両のための可能性のある行動のセットは、時間間隔の間の、自律型車両と関連付けられた現在の速度を維持すること、加速すること、減速すること、右レーン変更を実行すること、又は左レーン変更を実行することである自律運転操作を含む。
シミュレーション環境は、シミュレートされた自律型車両が移動する世界又は環境であってもよい。交通シミュレータ1112は、シミュレートされた環境をシミュレートし、シミュレートされた自律型車両の現在の状態及び行動(例えば、所与の時間間隔)を入力として使用し、以下に説明するシミュレートされた自律型車両の報酬及び次の状態を出力として返す。例えば、交通シミュレータ1112は、車両の現在の状態(例えば、50mph)及び行動(例えば、減速)をとり、シミュレートされた自律型車両の次の状態(例えば、45mph)を決定するために物理学の法則を適用することができる。
交通シミュレータ1112は、とられた(例えば、シミュレートされた)行動を評価する機能であり得る、報酬機能(R)を利用してもよい。別の言い方をすれば、報酬機能を利用して、成功又は失敗を測定することができる。例えば、シミュレートされた自律型車両が、ゴール(例えば、所望の目的地)を逸した場合、又は衝突に関与する場合、報酬機能は、現在の状態(例えば、逸したゴール又は衝突)に導かれる、シミュレートされた行動を無効化することができる。逆に、報酬機能は、ゴールまでの最速時間又は最短経路に基づいて、報酬を授与することができる。報酬はすぐに提供されてもよく、報酬機能に基づいて、遅延されてもよい。報酬機能によって提供される報酬は、所与のゴール(例えば、出口ランプに到達する)に基づいて、強化学習が行われることを可能にする。
短期的な決定を長期的な報酬よりも重くするために、割引係数(γ)に、将来の報酬をかけてもよい。別の言い方をすれば、割引係数は、将来の報酬を即時の報酬よりも価値の低いものにするために使用され得る。この点に関して、値(V)は、割引の影響を含む、予期長期的な収益であり得る。Q値(Q)は、状態(s)上のポリシー(π)下での行動(a)の長期的な収益を示す、行動値であってもよい。軌道は、それらの状態を含む連続的な状態及び/又は行動であってもよい。ポリシー(π)又は自律型車両ポリシーは、(例えば、自律型車両と関連付けられたセットの属性によって示されるような)現在の状態に基づいて、自律型車両に対する次の行動を決定するために、行動発生器1116が使用又は利用する戦略であってもよい。
一態様によれば、報酬機能は、以下のものであってもよい。
式中、lは、模擬自律型車両が開始位置から目標距離Dに位置するレーンである。
したがって、この報酬機能によれば、成功すると(例えば、ゴールに到達すると)、正の最終報酬が与えられ、更に、シミュレートされた自律型車両が、ゴールと関連付けられたレーンから離れて終了するにつれて、負の最終報酬が与えられる。割引係数は、シミュレートされた自律型車両が、最短時間又は最小数の時間間隔(すなわち、より高い平均速度を維持する)で、ゴールに到達するように促し得る。更に、訓練中に衝突が決して許容されないため、報酬機能は、衝突を考慮する必要はなく、それによって報酬機能が簡略化される。
例えば、状態を考慮すると、Q−Masker 1114は、エージェント又はシミュレートされた自律型車両がそれらの結果から探索又は学習する必要がない任意の行動のセットを制限するか、又は別の方法で「マスクオフ」することができる。換言すれば、シミュレートされた自律型車両が最も左側のレーンに位置している場合、左へのレーン変更行動をとることは、高速道路を降りることをもたらすであろう。したがって、Q−Masker 1114は、左へのレーン変更行動がそのような状態で決して選択されないように、左への行動と関連付けられたQ値にマスクをかけることができる。これにより、システムに関する事前の知識(すなわち、この実施例では高速道路路肩)を、直接的に学習プロセスに組み込むことが可能になる。次に、高速道路を降りることに対する否定的な報酬は設定される必要がなく、それによって報酬機能が簡略化される。
また、行動発生器1116はこれらの状態を探索しないため、学習自体がより速く、より効率的になる。行動発生器1116が学習を終了することは、セット全体ではなく、Q値の実際の空間のサブセットである。システム上の制約も、同様の方法で組み込まれてもよい。例えば、自律型車両が最大速度v max で運転している場合、加速行動は、マスクされてもよい(又は最小速度v min である場合、減速行動がマスクされる)。このようにして、行動発生器1116は、高速道路又は道路の速度制限を学習するのに時間を費やす必要はない。
Q−Masker 1114は、自律型車両の可能性のある行動のセットのサブセットに、時間間隔にわたって適用されるマスクを決定することができる。これらのマスクの行動のセットは、行動発生器1116によって探索されるか又は考慮されず、それによって、自律型車両ポリシー生成のためのシステムによって利用される、計算リソース(例えば、処理電力、メモリ、記憶装置など)の量を軽減する。
一態様によれば、Q−Masker 1114は、以前の知識、低レベルコントローラからの1つ以上の交通ルール、制約若しくは情報、又は自律型車両と関連付けられた能力に基づいて、適用されるべきマスクを決定してもよい。以前の知識は、自律型車両とシミュレーション環境との間、又はシミュレーション環境内の自律型車両と他の車両との間の所定の許容可能な相互作用を示し得る。別の言い方をすれば、Q−Masker 1114は、従来の知識を利用して、例えば、シミュレートされた自律型車両と他の車両との間の衝突をもたらすか、衝突まで時間(time to collision、TTC)を増加させるか、シミュレートされた自律型車両を、道路から逸脱させるか、又は所望の操作閾値若しくは範囲外に落とし得る行動を、マスクすることができる。
交通ルールは、車両の位置又は現在の配置に基づいて、許容可能な運転操作を示すことができる。例えば、交通ルールは、最大速度制限、最小速度制限、急旋回しないなどの運転エチケット、間の一時停止なしに二重レーン変更を行うこと、他のドライバーを「遮断する」運転操作を行わないことなどを含み得る。言い換えれば、Q−Masker 1114は、交通ルールに基づいて、自律型車両と関連付けられた現在の速度が車道と関連付けられた制限速度よりも大きいときに加速し、自律型車両と関連付けられた現在の速度が道路と関連付けられた最小速度制限よりも小さいときに減速することを含むように、行動のマスクされたサブセットを決定することができる。このようにして、v min 及びv max の最小及び最大速度制限を破壊するであろう加速及び減速行動は、Q−Masker 1114によってマスクされる。
他の交通ルールは、二重レーンマーキングを通過しないことを含み得る。例えば、Q−Masker 1114は、交通ルールに基づいて、自律型車両が道路の二重レーンマーキングのすぐ右側に位置するときに、右へのレーン変更を実行する自律運転操作、及び自律型車両が車道の二重レーンマーキングのすぐ左側に位置するときに、左へのレーン変更を実行する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
更に、自律型車両と関連付けられた能力は、自律型車両と関連付けられた物理的に可能な運転操作を示すことができる。例えば、自律型車両が既に最高速度で走行している場合、加速を不可能とし得、したがって加速行動は、Q−Masker 1114によってマスクされ得る。別の実施例として、車両が操作速度で操作されているとき、乗り心地の滑らかさに影響を与えるため、減速する、又は強いブレーキをかける行動は望ましくない場合がある。これは、加速又は減速閾値としてQ−Masker 1114によって適用されてもよく、それにより、自律型車両によってとられた行動は、ほとんどのシナリオであるこの加速又は減速閾値を超えないようにされる。
しかしながら、衝突を防止又は軽減するためのシナリオなどのいくつかのシナリオでは、Q−Masker 1114は、加速又は減速閾値を超えることを許可し得る。このようにして、Q−Masker 1114は、シナリオ固有の様式で閾値を実装することができる。換言すれば、Q−Masker 1114は、乗客の安全性を考慮しながら、乗り心地をより快適にすることを可能にするように、最大加速又は減速のレベルを適用するために、1つ以上の運動学的ルールを利用することができる(例えば、この閾値が、衝突を回避するために無効にされ得る)。更に、異なる運動学的ルールは、車両の現在の速度、現在の位置、現在の加速度等に基づいて実装されてもよい。例えば、加速度閾値は、車両が静止しているときよりも、車両が動いているときにより大きくなり得る。
Q−Masker 1114によってマスクされ得る行動の他の実施例としては、自律型車両が道路から離れて走行することになるレーン変更が挙げられる。別の言い方をすれば、Q−Masker 1114は、以前の知識に基づいて、自律型車両が車道の最も右のレーン上に位置するときに、右へのレーン変更を実行する自律運転操作、及び自律型車両が車道の最も左のレーン上に位置するときに、左へのレーン変更を実行する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
同様に、Q−Masker 1114は、別の車両への加速又は減速と関連付けられた行動をマスクすることができる。例えば、Q−Masker 1114は、以前の知識に基づいて、自律型車両及び他の車両の両方が同じレーン内に位置している場合に、自律型車両が他の車両の後ろに第1の閾値距離だけ離れているときに加速する自律運転操作、並びに自律型車両及び他の車両の両方が同じレーン内に位置している場合に、自律型車両が他の車両の前方に第2の閾値距離だけ離れているときに減速する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
別の態様によれば、Q−Masker 1114は、他の閾値(例えば、一部のシナリオでは、レーン変更閾値距離に基づいてレーン変更がない、又は衝突までの時間(TTC)推定値の減少と関連付けられた行動がない)に基づいて、シミュレートされた自律型車両の行動をマスクすることができる。例えば、Q−Masker 1114は、以前の知識に基づいて、自律型車両が右側に位置し、他の車両のレーン変更閾値距離内にあるときに、左へのレーン変更の自動運転操作、及び自律型車両が左側に位置し、他の車両のレーン変更閾値距離内にあるときに、右へのレーン変更の自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。Q−Masker 1114は、以前の知識に基づいて、TTC推定値が閾値TTC値を下回るときに、自律型車両と他の車両との間のTTC推定値に伴う予想される減少と関連付けられたいくつかの運転操作を含むように、行動のマスクされたサブセットを決定することができる。
このようにして、Q−Masker 1114は、多くの利益及び/又は利点を提供する。例えば、Qマスキングを使用すると、報酬機能を簡略化することができ、それによって、ディープQ学習をより速く、より効率的にすることができる。別の言い方をすれば、報酬機能は、交通シミュレータ1112及び行動発生器1116によって実装されるように、以前の知識を、学習プロセス(例えば、ネットワークを訓練する)に直接組み込むことによって、簡略化され得る。以前の知識に基づいて、Q−Masker 1114は行動をマスクするため、負の報酬機能は必要ではなく、それによって報酬機能が簡略化される。Qマスキングを使用することにより、Q−Masker 1114は、訓練又は試験中に衝突を軽減又は排除することができ、それにより、必ずしもシミュレーション中のシステムだけではなく、実際のシステムに直接訓練を行うことが可能となる。換言すれば、Q−Masker 1114は、実際の自律型車両上での自律型車両の訓練の実現を可能にし得る。したがって、一態様によれば、交通シミュレータ1112は、代わりに、1つ以上の他の車両(例えば、第1の車両、第2の車両、第3の車両など、及び速度、位置、レーン位置、ターン信号などの1つ以上の関連付けられた属性)を検出するセンサと交換することができる。
行動発生器1116は、可能性のある行動のセットから残りの行動のセットを探索し、残りの行動のセット(例えば、行動のマスクされたサブセットを除く)及び自律型車両と関連付けられた属性のセットに基づいて、時間間隔についての自律型車両ポリシーを決定し得る。行動発生器1116は、可能性のある行動のセットから残りの行動のセットを探索し、自律型車両が最終状態(例えば、ゴール又は所望の目的地)に達するまでなど、1つ以上の追加の時間間隔についての自律型車両ポリシーを決定してもよい。ここで、行動発生器1116は、1つ以上の追加の時間間隔と関連付けられた探索された行動のセットのうちの1つ以上を、1つ以上の対応する軌道として記憶することができる。前述のように、軌道は、それらの状態を含む連続的な状態及び/又は行動であってもよい。
行動発生器1116は、報酬機能に基づいて、可能性のある行動のセットから残りの行動のセットを探索し、報酬機能に基づいて、自律型車両ポリシーを決定してもよい。報酬機能は、割引係数を含んでもよい。訓練及び/又はシミュレーションを通じて、行動発生器1116は、記憶ドライブ1106に記憶され、車両170に通信され、及び自律運転を容易にするために車両ECU176を介して実装され得る、自律型車両ポリシーを学習し得る。
訓練中に、イプシロングリーディ法で行動をとり、Eをアニールすることができる。行動発生器1116は、最終状態まで完全軌道をシミュレートし、良好又は不良のいずれかとして、軌道を分類する(すなわち、良好なバッファは、衝突に巻き込まれることなく、制限速度を超えることもなく、ゴールに到達するようにシミュレートされた自律型車両と関連付けられる)。別の方法で説明すると、全ての遷移(すなわち、成功した軌道からの状態、行動、及び報酬のタプル)は、良好なバッファに保存され、失敗した軌道からの遷移(すなわちゴールに到達しない)は、不良バッファに保存される。
任意の遷移のために、期待される報酬は、以下によって与えられる最終報酬から逆算することができる。
ネットワークは、良好及び不良なバッファから均等にサンプリングされた遷移のミニバッチを使用して、以下の損失関数を使用して最適化され得る。
L(θ)=(y t −Q(s t ,a t ,θ)) 2
2つの別個のバッファは、探索が失敗した軌道に絶えず導く可能性がある場合に、成功した実行への適当な露出を維持するのに役立ち、したがって、ネットワークが局所的最小値で動けなくなることを回避する。
このようにして、自律型車両ポリシー生成システム1100は、高レベルの戦術的意思決定のためのディープ強化学習の長所を活用するフレームワークを提供し、問題に関するエンドツーエンドの完全なポリシー学習に対する、より構造化された、及びデータ効率的な代替案を示す。高レベルのポリシーは、伝統的な最適化又はルールベースの方法を使用して定式化するのが難しいかもしれないが、十分に設計された低レベルコントローラ(例えば、Q−Masker 1114を実装するコントローラ)が、利用可能である。自律型車両ポリシー生成システム1100は、低レベルコントローラとの厳格な統合を維持しながら、ディープ強化学習を使用して、戦略的意思決定のための高レベルのポリシーを得る。
このフレームワークを自律型レーンに適用して、自動運転型車両(例えば、自律型車両)の意思決定を変更することにより、ネットワークは、高レベルの戦略的意思決定ポリシーを学習することができる。グリーディベースライン及び人間のドライバーに対する実験結果は、本明細書に記載されている自律型車両ポリシー生成システム1100及び方法が、(例えば、衝突を排除することによって)より効率的ではるかに低い衝突レートで、性能を上回ることができることを証明した。グリーディベースラインは、自律型車両が正しいレーンに入るまで、正しいレーン変更を優先し、次に制限速度内に留まりながら他の車と衝突しないように、できるだけ速く走行するというポリシーであり得る。
一態様によれば、状態入力発生器1108は、オクルージョンに留意することができ、交通シミュレータ1112は、確率的占有グリッドを提供することができる。更に、交通シミュレータ1112は、別個のチャネルとして、前の時間間隔から占有グリッドの履歴を受信することができる。
図12は、一態様による、自律型車両ポリシー生成方法200のフロー図である。1202において、自律型車両に対する一セットの属性が生成される。一セットの属性は、自律型車両と関連付けられた現在の速度、自律型車両と関連付けられたレーン位置、及び自律型車両からゴールまでの距離を含んでもよく、ここでゴールは所望の目的地である。1204において、交通シミュレーションが実行される。例えば、シミュレーション環境は、自律型車両、多数のレーンと関連付けられた車道、及びシミュレーション環境内の別の車両を含んでもよい。
1206において、行動のサブセットについてのマスクが決定される。マスクは、自律型車両とシミュレーション環境との間又はシミュレーション環境内の自律型車両と他の車両との間の既定の許容可能な相互作用を示す以前の知識、許容可能な運転操作を示す交通ルール、又は自律型車両と関連付けられた物理的に実施可能な運転操作を示す自律型車両と関連付けられた能力に基づいて決定されてもよい。
1208において、マスクされていない残りの行動のセットが探索される。別の言い方をすれば、シミュレーションは、残りの行動のセットと関連付けられた全ての可能な結果を探索することができ、これらを、良好と不良の2つのクラスに分類することができ、ここで良好なものは、ゴールに到達したシミュレートされた自律型車両と関連付けられ、不良なものは、ゴールに到達していないシミュレートされた自律型車両と関連付けられる。1210では、報酬機能又は割引係数に基づくなど、時間、将来の報酬対現在の報酬等を考慮する自律型車両ポリシーが決定される。
図13Aは、一態様による、例示的な自律型車両ポリシー生成方法のフロー図である。履歴を有する占有グリッドは、単一の畳み込み層を通過し、状態入力発生器1108によって生成されたスカラー入力を有する、完全に接続された層の出力と連結されてもよい。この連結は、完全に接続された層を通過して、5つの戦略的行動と関連付けられた5つのQ値の最終出力を与える。図13Aに見られるように、Q−Masker 1114によるQマスキングは、Q値と最大操作との間に注入されて、行動発生器1116による行動を決定し、それによって事前の情報が組み込まれるので、探索によってゼロから学ぶことは、必ずしも必要ではない。最大操作は、行動を選択するためのQ値に対する最大又はソフト最大操作であり得る。
図13Bは、一態様による、自律型車両ポリシー生成と関連付けられた例示的なシミュレーションインターフェースの図である。上述したように、自律型車両のための可能性のある行動のセットは、時間間隔の間の、自律型車両と関連付けられた現在の速度を維持すること(例えば、「N」又は操作なし)、加速すること(A)、減速すること(D)、右レーン変更を実行すること(R)、又は左レーン変更を実行すること(L)である自律運転操作を含む。減速(D)に加えて、ブレーキ解除行動などの他の行動も予期される。一態様によれば、ブレーキ解除行動を行うとき、加速度閾値は実施されなくてもよい。別の言い方をすると、ブレーキを解除することは、この態様によれば、Q−Masker 1114がブレーキ解除行動をマスクすることがないように、常にオプションとすることができる。
図14A〜図14Cは、一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。1つの例示的な態様によれば、シミュレートされた自律型車両は、図14Aに見られるように、制限速度を尊重し衝突などを回避しながら、最短時間で最も右のレーンの出口に到達するように任務を課される。図14Aでは、自律型車両は、出口からゴールd2gまでの距離である。シミュレートされた自律型車両が、出口(例えば、このシナリオにおけるゴール)に到達できなかった場合、これは、行動発生器1116又は交通シミュレータ1112による故障と見なされる。ゴールまでの距離は、低レベルコントローラからの制約情報の以前の知識などの情報とともに考慮されているため、高レベル及び低レベルの考慮事項の両方が考慮される。
図14Bにおいて、自律型車両又はエージェントが位置1402にある場合、その自律型車両は既に道路の最も左のレーンにあるため、左レーン変更行動は、Q−masker 1114によってマスクされ得る。同様に、自律型車両が位置1404にあるときに、加速行動が、Q−Masker 1114によってマスクされてもよく、一方で、自律型車両が位置1406にあるとき、減速行動が、Q−Masker 1114によってマスクされてもよい。これらの加速及び減速行動は、それぞれ他の車両に対する閾値距離に基づいてマスクされ得る。
図14Cでは、2つの異なる軌道1410及び1420が示されている。行動発生器は、Q−Masker 1114が、それぞれの軌道に関わる任意の意思決定におけるリスクの大部分を既に軽減しているため、より高い報酬(例えば、より速い時間)と関連付けられた軌道を選択することができる。
図15は、一態様による、相互作用認識意思決定のためのシステム1500の例示的な構成要素図である。相互作用認識意思決定のためのシステム1500は、図1〜図10を参照して上述したような協調的マルチゴール、マルチエージェント、多段階(CM3)強化学習の特徴を利用してもよい。更に、相互作用認識意思決定のためのシステム1500は、図11〜図14を参照して上述したような自律型車両ポリシー生成の特徴を利用してもよい。相互作用認識意思決定のためのシステム1500は、プロセッサ102、メモリ104、シミュレータ108、及び通信インターフェース150を含み得る。これらの構成要素は、バス106を介して通信可能に結合され得る。相互作用認識意思決定のためのシステム1500のシミュレータ108は、第1の段階及び第2の段階に従って、多段階訓練を実行してもよい。
第1の段階内で、シミュレータ108は、マルコフ決定プロセス(MDP)を使用して、シングルエージェント環境において1つ以上の特徴を学習するために、第1のポリシー勾配に基づく第1のエージェントについての訓練及び第1の損失関数に基づく第1のクリティックの訓練を実行し得る。シングルエージェント環境では、第1のエージェントは、存在する唯一のエージェントである。環境内の特徴は、道路に対する1つ以上の分岐、1つ以上のレーン、(例えば、段階1の訓練中に静的であり得る)1つ以上の障害物を含んでもよい。段階1の訓練(例えば、訓練の第1の段階)では、シミュレータ108は、1つ以上のタスク又はゴールを達成するために、エージェントを訓練してもよい。シングルエージェント環境内に他のエージェントが存在しないため、段階1でシミュレータ108によって提供されるシングルエージェント設定又は環境は、他のエージェントが存在しないことでゴールの達成と関連付けられた学習挙動に望ましい状態構成をより確実に生成することができるので、第1のエージェントが、シングルエージェント環境の1つ以上の特徴について好都合で効率的な方法で、学習又は訓練できるようにする。このようにして、運転又は操作能力のあるレベルに到達するために、必要なシミュレーションの反復回数が少なくてすむ。
シミュレータ108は、状態入力発生器1108、Q−Masker 1114、行動発生器1116、ドライバータイプマネージャ1502、及び優先度決定部1504を含み得る。状態入力発生器1108は、シミュレートされたエージェントである第1のエージェントと関連付けられた状態情報を決定又は生成することができる。このようにして、状態入力発生器1108は、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシー生成と関連付けられたネットワークの入力を決定してもよい。状態入力発生器1108によって生成される入力例は、現在の速度、レーン位置、ゴール又は所望の目的地からの距離などの第1のエージェントの状態を含んでもよい。
Q−Masker 1114は、シミュレータ108によってシミュレートされるべき、出力Q値(例えば、行動セット)のサブセットをマスクすることができる。行動発生器1116は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいて第1のエージェントを訓練してもよい。したがって、行動の残りのサブセットと関連付けられたQ値のみが、シミュレーション中にシミュレータ108によって考慮され、それによって、自律型車両ポリシー生成における自律型車両のシミュレーション及び訓練中に利用される、処理電力及び/又はコンピューティングリソースの量を軽減する。
行動の残りのサブセット(例えば、可能性のある行動のセット、マスクされたサブセットを除外した行動のサブセット)に基づいて、行動発生器1116は、残りの行動を探索し、それに応じて、自律型車両ポリシーを決定してもよい。これは、異なる時間間隔にわたって繰り返されてもよい。これにより、Q−Masker 1114は、シミュレートされた自律型車両に、マスクされていない状態のみを探索させるように、「強制」することができ、したがって、関連付けられたQ値の空間のサブセット(状態(s)に対するポリシー(π)下での行動(a)の長期的な戻りを示す)と関連付けられた行動のみを学習する。
第1のポリシー勾配に基づいて第1のエージェントを訓練し、MDPに従って、シングルエージェント環境内の第1の損失関数に基づいて第1のクリティックを訓練する間、シミュレータ108は、第1のエージェントが、一セットの1つ以上の行動からの行動を選択することを可能にすることによって、第1のエージェントを訓練してもよい。可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、1サブレーン左へのシフト行動、又は1サブレーン右へのシフト行動を含んでもよい。
第1のエージェントによって段階1で学習され得る特徴のうちの1つ以上の実施例としては、学習ルール及び道路の規制、制限速度内で車道を運転する又は速度を維持する方法、レーン内に車両を維持する方法、レーンを変更する又はサブレーン位置を変更する方法、出口ランプで降りる方法、オンランプに入る方法などが含まれ得る。
このようにして、第1のポリシーネットワークは、シングルエージェント設定又は環境において異なる特徴を学習し得る、非一元的クリティックを有する。第1のクリティックは、非一元的クリティックであってもよいため、第1の段階又は段階1は、第1のエージェントのためのローカルビュー又は個別化された報酬、個別化された学習などと関連付けることができる。このようにして、シミュレータ108は、マルコフ決定プロセスを使用して、シングルエージェント環境(第1のエージェントが、存在する唯一のエージェントである)において1つ以上のゴールを学習するために、第1のポリシー勾配に基づいて第1のエージェントを訓練し、第1の損失関数に基づいて第1のクリティックを訓練してもよい。第1のエージェントは、第1のエージェントニューラルネットワークと関連付けられてもよく、第1のクリティックは、第1のクリティックニューラルネットワークと関連付けられてもよい。
シミュレータ108は、マルコフゲームを使用して、マルチエージェント環境におけるN個のエージェント(例えば、第1のエージェントを含み得る)間の第2のセットの特徴を学習して、第2のエージェントニューラルネットワークをインスタンス化するために、第1のポリシー勾配及び第2のポリシー勾配に基づいて、N個のエージェントを訓練し、第1の損失関数及び第2の損失関数に基づいて、第2のクリティックを訓練することを含む。一態様によれば、マルチエージェント環境のN個のエージェントのうちの1つ以上は、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。換言すれば、段階2の訓練では、シミュレータ108は、競合ドライバータイプによってシミュレートされるように、協調性の低いドライバーが周囲にいるときに、第1のエージェントに運転又は操作する方法を教えることができる。
N個のエージェントのうちの1つ以上は、段階1の訓練からの事前訓練された第1のエージェントニューラルネットワークでインスタンス化又は初期化されてもよい。したがって、N個のエージェントのそれぞれは、事前訓練された第1のエージェントニューラルネットワークからの以前の知識を有してもよく、カリキュラムの獲得が、CM3強化学習を使用して実施されてもよい。シミュレータ108は、第1のポリシー勾配及び第2のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、N個のエージェントを訓練することができる。しかしながら、ドライバータイプ(例えば、N個のエージェントのそれぞれのエージェントについての協調のレベルを示す)に基づいて、N個のエージェントのうちの1つ以上は、段階2の訓練中に必ずしも協調しなくてもよく、それにより、他のエージェント(例えば、車両)が必ずしも友好的又は協調的であるとは限らない環境での操作方法又は運転方法を、最初のエージェントが学習できるようにする。更に、前述したように、1つの態様によれば、N個のエージェントのうちの1つ以上のドライバータイプは、シミュレーション又は訓練(例えば、訓練の途中)の間に変化し得る。他の態様によれば、N個のエージェントのうちの1つ以上のドライバータイプは、シミュレーション又は段階2の訓練中に一定のままであり得る。数学的フレームボードを使用して、異なるドライバータイプを有するエージェントの異なるタイプの挙動を生成することができる。一態様によれば、ドライバータイプは、協調的又は競合的であり得る。別の態様によれば、ドライバータイプは、数(例えば、1〜10のスケール、又は−2〜+2のスケールなどで)表されてもよい。
例えば、合流レーンでは、非常に協調的なドライバー(例えば、+2)は、安全のために交通に合流する前に前もって減速するかもしれないが、協調的ではないドライバー(例えば、−2)は加速し、合流するスペースのために争うかもしれない。同様に、主レーン又は道路では、協調的なドライバーは、合流車両に道を譲るかもしれないが、競合的なドライバーは、加速して最初に合流ポイントを通過しようとするかもしれない。
それに関係なく、シミュレータ108は、マルコフゲームを使用して、マルチエージェントにおいて1つ以上のゴールを学習して、第2のエージェントニューラルネットワークをインスタンス化するために、第1のポリシー勾配に基づいて、N個のエージェントを訓練し、第1の損失関数及び第2の損失関数に基づいて、第2のポリシー勾配及び第2のクリティックを訓練してもよい。段階2の訓練内で、障害は、衝突が2つの車両間で発生するときに割り当てられてもよい。N個のエージェントの各エージェントは、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられ得る。
例えば、第1の車両が車道内で直線状にあり、第2の車両がその直線と合流するレーンにある場合、第1の車両は、第2の車両よりも高いレーン優先度レベルを割り当てられてもよい。このシナリオでは、優先度決定部1504は、第2の車両が合流レーンにあることに基づいて、第1の車両と第2の車両との衝突の場合に、第2の車両に障害を割り当てることができる。しかしながら、優先度決定部1504は、各車両の位置に基づいて、また、マルチエージェント環境(例えば、道路の構成)のレイアウトに基づいて、基づく各車両に対してレーン優先度レベルを割り当てることができ、第1の車両が第2の車両よりも低いレーン優先度レベルを割り当てられ得るシナリオが存在し得る。
例えば、直線に合流しているレーン内の第2の車両が、少なくとも閾値距離だけ第1の車両よりも前にある場合、優先度決定部1504は、第2の車両が第1の車両の前にある(例えば、第1の車両が第2の車両の後部にある)ことに基づいて、第1の車両と第2の車両とが衝突した場合に、障害を第1の車両に割り当て得る。更に、故障の割合は、第1の車両と第2の車両との間の距離に基づいて、割り当てられてもよい。優先度決定部1504は、この故障の割合を利用して、衝突に関わるそれぞれのエージェント又は車両のうちのそれぞれ1つに割り当てられるべき負の報酬又はペナルティを決定することができる。
具体的には、優先度決定部1504は、故障が実際の交通ルールと同様に割り当てられてもよいため、シミュレートされた事故又は衝突に関与する全てのパーティに対して負の報酬を必ず課したり、割り当てたりしなくてもよい。また、優先度決定部1504が、2つ以上の車両が等しいレーン優先度レベルを有すると決定することができる更に他のシナリオが存在し、このシナリオで衝突が発生した場合、関与する車両は、等しい量の障害を割り当てられてもよい。このようにして、シミュレータ108は、どのエージェントも他よりも高い優先度を持たないシナリオで車両又はエージェントが動作することを可能にするように、ネットワークポリシーを訓練することができるが、時には他のドライバーが先に進んでもよく、他の場合には、第1のエージェントが最初に進んでもよい。優先度決定部1504の態様の更なる説明及び実施例は、以下で説明される図19A〜図19Dを参照して行われる。
シミュレータ108による段階2の訓練に関する説明に戻ると、第1のエージェントは、それがN個のエージェントのうちの別の1つよりも高いレーン優先度レベルを有することを認識され得るが、ドライバータイプマネージャ1502によって割り当てられ得る異なるドライバータイプのために、他のエージェントは、それらのより低いレーン優先度レベルに従って必ずしも道を譲るとは限らない。別の言い方をすれば、上記の実施例を参照すると、段階2の訓練中に、第1の車両が直線上にあり、第2の車両が直線に合流するレーンにある場合、第2の車両の位置にあるいくつかのエージェントは、必ずしも第1の車両に道を譲らない場合があり(例えば、第2の車両が、事実上加速するか、又は第1の車両を無視する場合がある)、一方で第2の車両の位置の他のエージェントは、2つの車両又はエージェントの異なるレーン優先度レベルによる要求に応じて道を譲る場合がある。
なおも再度説明するが、実際のドライバーは、他のドライバーを遮断したり、又は自身の車両を非協調的若しくは競合的な様式で操作したりする可能性があるため、本明細書に記載される相互作用認識意思決定のためのシステム及び方法は、シミュレートされた非協調的又は競合的なエージェント(例えば、N個のエージェントのうちのいくつか)が存在するマルチエージェント環境において、第1のエージェントを訓練することによってこれを考慮に入れ、それによって、シミュレータ108がネットワークポリシー及び/又はN個のエージェントを訓練し得る、様々なクラッシュ又は衝突シナリオを引き起こす。例えば、ドライバータイプのうちの非協調的ドライバーは、自身の合流操作中、又は他のエージェントの合流操作中に加速する場合がある。逆に、ドライバータイプのうちの協調的ドライバーは、交通に合流する前に事前に減速し、又は他のエージェントの合流操作中に別のエージェントに道を譲る場合がある。
更に、マルチエージェント環境内のN個のエージェントのうちの1つ以上によってとられた行動の観察に基づいて、シミュレータ108は、N個のエージェントのうちの1つ以上(例えば、第1のエージェントの視点から)観察されたドライバータイプに留意することができる。換言すれば、第1のエージェントが、第2のエージェントがそのエージェントのレーンの優先度レベルに従わない様式で作用していることを観察する場合、ドライバータイプマネージャ1502は、観察に基づいて、第2のエージェントが非協調的ドライバータイプであるか、又はドライバータイプを推定することに留意することができる。このようにして、シミュレータ108は、第1のエージェントニューラルネットワーク及び第2のエージェントニューラルネットワークに基づく、第1のエージェントの訓練、及びマルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーの生成を可能にし、それによって、CM3、道路優先度の概念、及び協調的及び非協調的ドライバーの概念などを組み込むことができる。
更に、相互作用認識意思決定のためのシステム及び方法は、適応挙動を組み込み(incorporate adaptive behavior、IDAB)、マルチエージェント強化学習及び1つのアクター、CM3の二重クリティックを使用しながら、合流シナリオの下で自律型車両に適用され得る。第1のエージェントとN個のエージェントのうちの他のエージェントとの間の相互作用は、(例えば、他のエージェントのドライバータイプに応じて)異なる場合があるため、第1のエージェントは、マルチエージェント環境における訓練中に異なる応答戦略を学習するであろう。具体的には、学習されたネットワークポリシーは、一般に、観察された他の運転挙動に対して適応的である。加えて、Q−Masker 1114は、より高速かつより効率的な学習プロセスを促進するマスキング機構を採用するように実装されてもよい。
マルコフゲームに関して、シミュレータ108は、n∈[1,N]でラベル付けされたN個のエージェントを有する、マルチエージェントマルコフゲームを定義してもよい。マルコフゲームは、全てのエージェントの可能な構成、一セットの部分観測O
n 、及び各エージェントに対する一セットの行動A
n を記述する一セットの状態Sによって定義されてもよい。優先度決定部1504及びドライバータイプマネージャ1502は、それぞれ、レーン優先度及びドライバータイプ情報
を決定又は生成することができ、それらは、エージェントの挙動に影響を及ぼし得る、2つの所定のパラメータである。各エージェントnは、シミュレータ108を介して、確率的ポリシーπ
n :O
n ×B
n ×A
n →[0,1]に従って自身の行動を選択してもよく、N個のエージェントの共同行動は、遷移関数T:S×A
1 ×...×A
N →Sに従って、次の状態に移動する。各エージェントは、状態、エージェント挙動、及びエージェント行動の関数である、報酬
を受信してよく、自身の全ての期待される戻り
を最大化し、式中、γ∈[0,1)は割引係数であり、Tは時間的水平である。
アクター−クリティック方法は、シングルエージェント環境及びマルチエージェント環境の両方の中で、異なる強化学習タスクのために利用され得る。アクターは、どのように行動が選択されるかを定義する、パラメータ化されたポリシーであってもよい。クリティックは、アクターによって行われる行動を批評する推定された状態値関数であってもよい。シミュレータ108は、次いで、クリティックの評価に関して、アクターのパラメータを更新してもよい。
一般に、シングルエージェント環境では、πは、θによってパラメータ化され、目的
を、∇
θ J(θ)の方向に段階的にとることによって最大化し、ここで期待値
は、πによって引き起こされる状態−行動分布に関するものである。ポリシーの勾配は、以下のように書くことができる。
式中、
は、ポリシーπに対する行動値関数であり、b(s
t )は、導入ベースラインであり、それらの異なる点は、利点関数A
π (s
t ,a
t )として知られている。
ベースラインとして値関数V π (s t )を選択し、時間的差(temporal difference、TD)誤差を利点関数のバイアスされていない推定値として使用することによって、利点関数は、A π (s t ,a t )≒r(s t ,a t )+γV π (s t+1 )−V π (s t )として書き直すことができる。
マルチエージェント環境では、クリティックは、シミュレータ108によって、他のエージェントのポリシーに関する完全な状態−行動情報で拡張されてもよく、これは、アクターがローカルな情報又は観察された情報へのアクセスを有することである。一態様によれば、クレジット割り当ては、以下の反事実的なベースラインを使用することによって、マルチエージェント環境において対処される。
b(s,a −n )=Σ a’n π n (a ’n |o n )Q(s,(a −n ,a ’n ))
これにより、エージェントnの行動aが無視され、一元的クリティックが、エージェントnの行動のみが変化する反事実について推論できるようになる。
シミュレータ108は、相互作用的及び適応的な運転挙動、並びにN個のエージェントの全てが共有する1対の非一元的及び一元的クリティックを生成するように、第1のエージェントなどのシングルアクターを訓練することができる。2つの学習目的は、シングルエージェント環境及びマルチエージェント環境を介して提供されてもよく、それらは、ルールを守りながら、エージェントに様々なシナリオを通じて運転させること、及び効率的な交通フローを維持しながら、より効率的に合流するために他のエージェントと相互作用することに対応する。
各エージェントには異なる個々の報酬が割り当てられ得るため、別個の挙動を学習するために、共同報酬から様々な学習信号を抽出することは困難であり、したがって、非一元的クリティックは、共有パラメータを有する全てのエージェントから利用され得る。非一元的クリティックは、異なる挙動を有しながら、ルールに従うことによって、異なるシナリオ(例えば、合流シナリオ)下でどのように運転するかを、エージェントが学習するためのポリシー勾配を提供し得る。エージェント(例えば、第1のエージェント)は、最初に他のエージェントと必ずしも反応せず、それ自体のタスクを仕上げるために、合理的な行動を実行する方法を学習し、これは第1の目的のJ 1 として知られ得る。関連付けられたポリシー勾配は、以下によって与えられ得る。
式中、
は、φ
1 によってパラメータ化された非一元的クリティックであり、以下の損失を最小化することによって更新される。
式中、iは、サンプリングされたバッチの数であり、
は、φ
1 に向かってゆっくりと更新される、パラメータ
を有する標的ネットワークである。標的ネットワークは、訓練プロセスを安定化するために使用される。
マルチエージェント環境では、交通又は優先度ルールに厳密に従うと、合流シナリオで事故が発生しない可能性があるが、交通フローレートなどの巨視的レベル因子を考慮する必要がある。この点に関して、一元的クリティックは、シミュレータ108を介して、各エージェントを互いに相互作用させて、トラフィックフローを維持し、共同で成功させることを促すことができる。第2の目的は、目的J 2 であってもよい。関連付けられた第2のポリシー勾配は、以下によって与えられ得る。
ここで、本明細書で議論される反事実的なベースラインが利用されてもよく、一元的クリティックは、以下のように定義されてもよい。
これは、全てのエージェントについての共同報酬を考慮することによる。φ 2 によってパラメータ化されると、損失を最小化することによって、一元的クリティックが更新される。
式中、
は目標ポリシーネットワークを示し、
は目標一元的クリティックネットワークのパラメータを表す。
全体的な又は組み合わされたポリシー勾配は、以下のように定義され得る。
∇θJ(θ)=α∇θJ 1 (θ)+(1−α)∇ θ J 2 (θ)
式中、α∈[0,1]は、2つの目的J 1 (θ)及びJ 2 (θ)に対する重み係数である。シミュレータ108は2つの別個の目的を利用するため、カリキュラム学習を利用することができる。したがって、シミュレータ108は、第1のポリシー勾配及び第2のポリシー勾配に由来する組み合わされた又は全体的なポリシー勾配に基づいて、N個のエージェントを訓練することができ、これは、第1のエージェントニューラルネットワーク及び第2のエージェントニューラルネットワークに基づく、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーであり得る。
相互作用認識意思決定作成の適応挙動態様を参照すると、シミュレータ108は、1つ以上の挙動パラメータに従って、異なる運転挙動を生成することが可能であり得る、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを訓練してもよい。ネットワークポリシーは、レーン優先度レベルb prio 及びドライバータイプb type を考慮する変数を含む、状態、行動ペア、及び報酬機能r(s,a,b)に基づいてもよい。このようにして、報酬機能は、それらのレーン優先度レベルb prio が衝突に関与する別のエージェントのレーン優先度レベルよりも小さいときに、非協調的ドライバーに負の報酬を割り当ててもよい。更に、報酬機能は、運転挙動r finish 及びr collide に関連し得る、2つ以上のサブ報酬機能を含んでもよい。各エージェントは、それぞれのエージェントがマルチエージェント環境を安全に運転する(例えば、衝突を引き起こすことも関わることもなく、ゴール又は目的地に到達することもない)場合、シミュレータ108によって、1回限りの報酬を割り当てられ得る。報酬値は、r finish =f 1 (b type )であってもよい。例えば、小さい最終報酬は、協調的ではないドライバータイプを誘導する割引係数γへの大きな報酬よりも速く、エージェントがタスクを終了するか、又はそのゴールに到達することを促進するために割り当てられてもよい。
2つ以上のエージェントが衝突する、又は衝突に関与する場合、衝突に関与するエージェントのうちの1つ以上に負の報酬又はペナルティが割り当てられてもよく、これはそれぞれの関与するエージェントのレーン優先度レベルに基づいて行われてもよい。換言すれば、r collide =f 2 (b prio )である。一実施例として、第1の車両(例えば、1つのエージェント)が左旋回を行う一方で、第2の車両(例えば、別のエージェント)が直線的に運転し、2つのエージェントが衝突した場合、第2の車両は、交通ルール、車道のレイアウト、又はマルチエージェント環境に従って、及びそれぞれのエージェントの位置に基づいて、通行権を有するので、第1の車両には、第2の車両よりも大きな負の報酬を割り当てることができる。このように、優先度決定部1504は、N個のエージェントの訓練(例えば、マルチエージェント環境における段階2の訓練)中に、マルチエージェント環境のエージェントのうちの2つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度に基づいて、衝突に関わるそれぞれのエージェントに、負の報酬又はペナルティを割り当てることができる。
前述のように、Q−Masker 1114は、ポリシーネットワークへのマスキング機構として実装されてもよく、それによって訓練の効率を向上させる(例えば、これは、段階1及び段階2の学習の両方で行われ得る)。このようにして、シミュレータ108は、事故を引き起こしたり、又は既知の交通ルールを破ったりすることが知られている行動を探索する代わりに、シミュレータ108は、いかにして戦術的レベルで決定を下すかについて、エージェント、クリティック、及びポリシーを直接訓練することに進むことができ、それによって、訓練時間、訓練中に利用されるコンピューティングリソースを軽減し、シミュレータ108を実行するために使用されるシステム、コンピュータ、並びに/又はプロセッサ及びメモリの動作を向上させる。車両運動学(M k )、交通ルール(M r )、及び安全因子(M s )を含む、3つの異なるタイプのマスクが利用されてもよい。行動を選択する前に、シミュレータ108は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいてエージェントの訓練が行われるように、Q−Masker 1114によって提供されるマスキング機構を適用することができる。マスクされた行動のセットは、M=(M k )∪(M r )∪(M s )の和集合であり得る。このようにして、Q−Masker 1114は、マルチエージェント環境のレイアウト又は第1のエージェント及びN個のエージェントの位置決めに基づいて、時間間隔にわたる第1のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクMを決定することができる。したがって、シミュレータ108は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいてエージェントを訓練することができる。前述したように、可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、1サブレーン左へのシフト行動、又は1サブレーン右へのシフト行動を含んでもよい。
相互作用認識意思決定のためのシステム1500の通信インターフェース150は、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを、サーバ160又は車両170、180のうちの1つに送信することができ、それによって、ネットワークポリシーを伝播し、それぞれの自律型車両がそれに応じて動作できるようにする。自律型車両は、ネットワークポリシーを受信するように適合された車両通信インターフェースを含んでもよい。更に、自律型車両は、上述のように、自律型運転システム、クルーズ制御システム、衝突軽減ブレーキシステム、伝送システム、ブレーキペダルシステム、電子式パワーステアリングシステムなどを含み得る、1つ以上の車両システムを含んでもよい。車両のコントローラは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーに従って、車両の1つ以上の車両システムを操作することができる。
図16は、一態様による、相互作用認識意思決定のための方法1600の例示的なフロー図である。一態様によれば、相互作用認識意思決定のための方法1600は、シングルエージェント環境1602において、第1のポリシー勾配に基づいて第1のエージェントを訓練することと、マルコフ決定プロセスを使用して、1つ以上のゴールを学習するために、第1の損失関数に基づいて第1のクリティックを訓練することと、を含み得る。相互作用認識意思決定のための方法1600は、第1のポリシー勾配に基づいてN個のエージェントを訓練することと、異なるドライバータイプを有するマルチエージェント環境1604において、マルコフゲームを使用して、ゴールのうちの1つ以上を学習して、第2のエージェントニューラルネットワークをインスタンス化するために、第1の損失関数及び第2の損失関数に基づいて、第2のポリシー勾配及び第2のクリティックを訓練することと、を含み得る。N個のエージェントのうちのそれぞれ1つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。相互作用認識意思決定のための方法1600は、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルを割り当てること1606を含み得る。マルチエージェント環境のエージェントのうちの2つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度レベルに基づいて、衝突に関わるそれぞれのエージェントに割り当てられる1608。相互作用認識意思決定のための方法1600は、第1のエージェントニューラルネットワーク及び第2のエージェントニューラルネットワークに基づいて、ネットワークポリシーを生成すること1610を含み得る。
図17は、一態様による、相互作用認識意思決定のためのシステム又は方法に従って、ポリシーネットワーク生成が発生する、例示的なシナリオの図である。図17は、ポリシーネットワークを生成するための入力として優先度及びドライバータイプを使用するマスキング機構を含む、ポリシーネットワークを示す。この例では、fc1、fc2、fc3などの層(例えば、完全に接続された層)の32単位が利用される。開いた及び閉じた観察は、サイズ3×30、ストライド1×1の2つのフィルタを含み得る、畳み込みニューラルネットワーク(convolution neural network、CNN)によって処理され、fc3、fc5、fc6はニューロンを有してもよく、ReLUは層の非線形活性化機能として利用されてもよい。
図18A及び図18Bは、一態様による、相互作用認識意思決定のためのシステム及び方法にそれぞれ関する、段階1及び段階2の訓練と関連付けられた、例示的なデータフロー図である。図18A及び図18Bは、提案された2段階のカリキュラム学習構造を示す。Vは、ポリシーネットワークと同じ入力及びネットワーク構造を有し得る、非一元的クリティックである。一元的クリティックQは、全てのエージェントについての完全な情報を、入力として有してもよく、128単位を有する2つのFc層に接続されてもよい。
図19A〜図19Dは、一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。図19A〜図19Dの環境は、シングルエージェント環境として、又はマルチエージェント環境として実装されてもよい。シミュレータ108に対して知られ得る環境の態様は、道路の幾何学的形状、速度制限、及び道路優先度レベルルール又は交通ルールを含んでもよい。
図19Aでは、車道又は環境の第1の道路は、直線1910であり、第2の道路は、合流レーン1920を含む道路である。したがって、位置1902における車両は、1904又は1906における車両よりも高いレーン優先度レベルを割り当てられてもよい。しかしながら、1904における車両などの別の車両の十分に前方にある車両は、1906における車両よりも高いレーン優先度レベルを割り当てられてもよい。他の態様によれば、位置1906における車両は、1904における車両よりも高いレーン優先度を有してもよい。
図19Bでは、車道又は環境の第1の道路は、直線1930であり、第2の道路は、合流レーン1940を含む道路である。したがって、位置1932における車両は、1934又は1936における車両よりも高いレーン優先度レベルを割り当てられてもよい。同様に、位置1936における車両は、1934における車両よりも高いレーン優先度を有してもよい。
図19Cでは、車道又は環境の第1の道路は、合流レーン1950を含み、第2の道路はまた、合流レーン1960を含む道路である。このシナリオでは誰も通行権を持っていないため、位置1952及び1954における車両には、等しいレーン優先度レベルを割り当てることができる。
図19Dにおいて、車道又は環境の第1の道路は、垂直方向の道路1970と、水平方向の第2の道路1980とを含む。1972における車両は、1972における車両が左旋回を行うときに、1974における車両よりも高いレーンレベルの優先度を割り当てられてもよい。
更に別の態様は、本明細書に提示される技術の一態様を実施するように構成されたプロセッサ実行可能命令を含む、コンピュータ可読媒体を含む。これらの方法で考案されたコンピュータ可読媒体又はコンピュータ可読デバイスの一態様が図20に示されており、実装形態2000は、例えば、CD−R、DVD−R、フラッシュドライブ、ハードディスクドライブのプラッタなどのコンピュータ可読媒体2008を含み、その上にコンピュータ可読データ2006が符号化されている。次に、2006に示されるような複数の0及び1を含むバイナリデータなどのこの符号化されたコンピュータ可読データ2006は、本明細書に記載の原理のうちの1つ以上に従って動作するように構成されている、1セットのプロセッサ実行可能コンピュータ命令2004を含む。この実装形態2000では、プロセッサ実行可能コンピュータ命令2004は、図3の方法300、図5A及び図5Bの方法、図12の方法1200、又は図16の方法1600などの方法2002を実行するように構成され得る。別の態様では、プロセッサ実行可能コンピュータ命令2004は、図1のシステム100、図11のシステム1100、又は図15のシステム1500などのシステムを実装するように構成され得る。本明細書に提示される技術に従って動作するように構成されている、多くのそのようなコンピュータ可読媒体は、当業者によって考案され得る。
本出願で使用するとき、用語「構成要素」、「モジュール」、「システム」、「インターフェース」などは、一般に、コンピュータ関連のエンティティ、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアのいずれか、又は実行中のソフトウェアを指すことを意図している。例えば、構成要素は、それだけには限定されないが、プロセッサ上で実行されるプロセス、処理ユニット、オブジェクト、実行可能ファイル、実行スレッド、プログラム、又はコンピュータとすることができる。例示として、コントローラ上で実行されているアプリケーション及びコントローラの両方が、構成要素であってもよい。プロセス又は実行スレッド及び構成要素内に存在する1つ以上の構成要素は、1つのコンピュータ上に局在化されてもよく、又は2つ以上のコンピュータ間に分散されてもよい。
更に、特許請求される主題は、開示された主題を実施するためにコンピュータを制御するためのソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生成するための、標準プログラミング又はエンジニアリング技術を使用する方法、装置又は製品として実装される。本明細書で使用するとき、用語「製品」は、任意のコンピュータ可読デバイス、キャリア、又は媒体からアクセス可能なコンピュータプログラムを包含することを意図する。当然ながら、特許請求される主題の範囲又は趣旨から逸脱することなく、この構成に対する多くの修正がなされてもよい。
図21及び以下の説明は、本明細書に記載される提供のうちの1つ以上の態様を実施するための好適なコンピューティング環境の説明を提供する。図21の動作環境は、好適な動作環境の単なる一実施例であり、動作環境の使用又は機能の範囲に関していかなる制限を示唆することを意図するものではない。例示的なコンピューティングデバイスとしては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、例えば、携帯電話、携帯情報端末(Personal Digital Assistant、PDA)、メディアプレーヤなどのモバイルデバイス、マルチプロセッサシステム、家電製品、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
一般に、態様は、1つ以上のコンピューティングデバイスによって実行される「コンピュータ可読命令」の一般的な文脈で説明される。コンピュータ可読命令は、以下に説明するように、コンピュータ可読媒体を介して分散されてもよい。コンピュータ可読命令は、1つ以上のタスクを実行する、又は1つ以上の抽象データタイプを実装する、機能、オブジェクト、アプリケーションプログラミングインターフェース(Application Programming Interface、API)、データ構造などのプログラムモジュールとして実装されてもよい。典型的には、コンピュータ可読命令の機能性は、様々な環境において所望に応じて組み合わされるか、又は分散される。
図21は、本明細書で提供される一態様を実装するように構成されている、コンピューティングデバイス2112を含むシステム2100を示す。1つの構成では、コンピューティングデバイス2112は、少なくとも1つの処理ユニット2116及びメモリ2118を含む。コンピューティングデバイスの正確な構成及びタイプに応じて、メモリ2118は、RAMなどの揮発性、ROM、フラッシュメモリなどの不揮発性、又はこれら2つの組み合わせとすることができる。この構成は、破線2114によって図21に示されている。
他の態様では、コンピューティングデバイス2112は、追加の特徴又は機能性を含む。例えば、コンピューティングデバイス2112は、磁気記憶装置、光学記憶装置などを含むがこれらに限定されない、取り外し可能な記憶装置又は取り外し不可能な記憶装置などの追加の記憶装置を含むことができる。このような追加の記憶装置は、記憶装置2120で図21に示される。一態様では、本明細書で提供される一態様を実施するためのコンピュータ可読命令は、記憶装置2120内にある。記憶装置2120は、オペレーティングシステム、アプリケーションプログラムなどを実装するための他のコンピュータ可読命令を記憶してもよい。コンピュータ可読命令は、例えば、処理ユニット2116による実行のために、メモリ2118にロードされてもよい。
本明細書で使用するとき、用語「コンピュータ可読媒体」は、コンピュータ記憶媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでもよい。メモリ2118及び記憶装置2120は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体としては、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(Digital Versatile Disk、DVD)若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために使用され得、かつコンピューティングデバイス2112によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。任意のこのようなコンピュータ記憶媒体は、コンピューティングデバイス2112の一部である。
用語「コンピュータ可読媒体」は、通信媒体を含む。通信媒体は、典型的には、搬送波又は他のトランスポート機構などの「変調データ信号」内のコンピュータ可読命令又は他のデータを具現化し、任意の情報配信媒体を含む。用語「変調データ信号」は、信号内の情報を符号化するような様式で設定又は変更されたその特性のうちの1つ以上を有する信号を含む。
コンピューティングデバイス2112は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、又は任意の他の入力デバイスなどの入力デバイス(複数可)2124を含む。1つ以上のディスプレイ、スピーカ、プリンタ、又は任意の他の出力デバイスなどの出力デバイス(複数可)2122は、コンピューティングデバイス2112とともに含まれてもよい。入力デバイス(複数可)2124及び出力デバイス(複数可)2122は、有線接続、無線接続、又はこれらの任意の組み合わせを介して、コンピューティングデバイス2112に接続されてもよい。一態様では、別のコンピューティングデバイスからの入力デバイス又は出力デバイスは、コンピューティングデバイス2112のための入力デバイス(複数可)2124又は出力デバイス(複数可)2122として使用されてもよい。コンピューティングデバイス2112は、例えば、ネットワーク2128を介するなどして、1つ以上の他のデバイス2130との通信を容易にするために、通信接続(複数可)2126を含んでもよい。
本主題は、構造的特徴又は方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲の主題は、必ずしも上記の特定の特徴又は行為に限定されないことを理解されたい。むしろ、上述の特定の特徴及び行為は、例示的な態様として開示される。
様々な態様の操作が本明細書に提供される。操作の1つ以上又は全てが記載される順序は、これらの操作が必ずしも順序に依存することを意味するものとして解釈されるべきではない。この説明に基づいて、代替の順序が理解されるであろう。更に、全ての操作は、本明細書で提供される各態様において必ずしも存在しなくてもよい。
本出願で使用するとき、「又は」は、排他的な「又は」ではなく包括的な「又は」を意味することを意図する。更に、包括的な「又は」は、それらの任意の組み合わせ(例えば、A、B、又はこれらの任意の組み合わせ)を含んでもよい。加えて、本出願で使用される「a」及び「an」は、特に指定されない限り、又は文脈から単数形を対象とすることが明らかでない限り、一般に「1つ以上」を意味すると解釈される。加えて、A及びB及び/又は同様のもののうちの少なくとも1つは、一般に、A若しくはB、又はA及びBの両方を意味する。更に、「含む(include)」、「有する(having)」、「有する(has)」、「有する(with)」、又はその変形が、詳細な説明又は特許請求の範囲のいずれかにおいて使用される限りにおいて、そのような用語は、用語「備える(comprising)」と同様の様式において包括的であることが意図される。
更に、特に明記しない限り、「第1の」、「第2の」などは、時間的態様、空間的態様、順序付けなどを暗示することを意図するものではない。むしろ、そのような用語は、特徴、要素、項目などのための識別子、名前などとして単に使用されている。例えば、第1のチャネル及び第2のチャネルは、一般に、チャネルA及びチャネルB、又は2つの異なる若しくは2つの同一のチャネル、若しくは同じチャネルに対応する。更に、「備える(comprising)」、「備える(comprise)」、「含む(including)」、「含む(include)」などは、一般に、限定するものではないが、備える、又は含むことを意味する。
上記で開示された及び他の特徴及び機能、又はそれらの代替例若しくは変形例の多くは、多くの他の異なるシステム又はアプリケーションに望ましく組み合わされ得ることが理解されるであろう。また、当業者であれば、添付の特許請求の範囲によって包含されることも意図される、現在予測されていない、又は予期されていない様々な代替、修正、変形、又は改良を連続的に行うことができる。