(57)【要約】      （修正有）【課題】強化学習において効率的に探索することができる、相互作用認識意思決定のための方法を提供する。【解決手段】相互作用認識意思決定は、マルコフ決定プロセスを使用してシングルエージェント環境においてゴールを学習するために、第１のポリシー勾配に基づいて第１のエージェントを訓練し、第１の損失関数に基づいて第１のクリティックを訓練することと、マルコフゲームを使用してマルチエージェント環境においてゴールを学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいてＮ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて第２のポリシー勾配及び第２のクリティックを訓練することと、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて相互作用認識意思決定ネットワークポリシーを生成することと、を含む。【選択図】図３
2020027656.tif 000002
【特許請求の範囲】
【請求項１】
相互作用認識意思決定のための方法であって、
マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであるシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、前記第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することであって、
前記第１のエージェントが、第１のエージェントニューラルネットワークと関連付けられ、前記第１のクリティックが、第１のクリティックニューラルネットワークと関連付けられる、訓練することと、
マルコフゲームを使用して、前記第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境において、前記ゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、前記第１のポリシー勾配に基づいて、前記Ｎ個のエージェントを訓練し、前記第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することであって、
前記Ｎ個のエージェントのうちのそれぞれ１つが、前記それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられる、訓練することと、
前記第１のエージェントニューラルネットワーク及び前記第２のエージェントニューラルネットワークに基づいて、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを生成することと、を含む、相互作用認識意思決定のための方法。
【請求項２】
前記第１のエージェント及び前記Ｎ個のエージェントのそれぞれが、前記それぞれのエージェントの位置及び前記マルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられ、
前記Ｎ個のエージェントの前記訓練中に、前記マルチエージェント環境の前記エージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントの前記レーン優先度レベルに基づいて、前記衝突に関わる前記それぞれのエージェントに割り当てられる、請求項１に記載の相互作用認識意思決定のための方法。
【請求項３】
前記ドライバータイプが、協調的又は競合的である、請求項１に記載の相互作用認識意思決定のための方法。
【請求項４】
前記マルチエージェント環境における前記Ｎ個のエージェントの訓練中に、前記Ｎ個のエージェントのうちのエージェントが、訓練の途中でドライバータイプを変更する、請求項１に記載の相互作用認識意思決定のための方法。
【請求項５】
前記マルチエージェント環境のレイアウト又は前記第１のエージェント及び前記Ｎ個のエージェントの位置決めに基づいて、時間間隔にわたる前記第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクを決定することを含む、請求項１に記載の相互作用認識意思決定のための方法。
【請求項６】
前記可能性のある行動のセットから、前記マスクされた行動のセットを除外することによって、残りの行動のセットに基づいて、前記第１のエージェントを訓練することを含む、請求項５に記載の相互作用認識意思決定のための方法。
【請求項７】
前記可能性のある行動のセットが、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含む、請求項５に記載の相互作用認識意思決定のための方法。
【請求項８】
前記第１のクリティックが、非一元的クリティックであり、前記第２のクリティックが、一元的クリティックである、請求項１に記載の相互作用認識意思決定のための方法。
【請求項９】
前記シングルエージェント環境において前記第１のエージェントを訓練することが、前記マルチエージェント環境において前記Ｎ個のエージェントを訓練する前に行われる、請求項１に記載の相互作用認識意思決定のための方法。
【請求項１０】
前記第１のポリシー勾配及び前記第２のポリシー勾配に由来する、組み合わされたポリシー勾配に基づいて、前記Ｎ個のエージェントを訓練することを含む、請求項１に記載の相互作用認識意思決定のための方法。
【請求項１１】
相互作用認識意思決定のためのシステムであって、
プロセッサと、
メモリと、
前記プロセッサ及びメモリを介して実装されるシミュレータと、を備え、
マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであるシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、前記第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することであって、
前記第１のエージェントが、第１のエージェントニューラルネットワークと関連付けられ、前記第１のクリティックが、第１のクリティックニューラルネットワークと関連付けられる、訓練することと、
マルコフゲームを使用して、前記第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境において、前記ゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、前記第１のポリシー勾配に基づいて、前記Ｎ個のエージェントを訓練し、前記第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することであって、
前記第１のエージェント及び前記Ｎ個のエージェントのそれぞれが、前記それぞれのエージェントの位置及び前記マルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられ、
前記Ｎ個のエージェントの前記訓練中に、前記マルチエージェント環境の前記エージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、前記シミュレータによって、それぞれのエージェントの前記レーン優先度レベルに基づいて、前記衝突に関わる前記それぞれのエージェントに割り当てられる、訓練することと、
前記第１のエージェントニューラルネットワーク及び前記第２のエージェントニューラルネットワークに基づいて、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを生成することと、を実行する、相互作用認識意思決定のためのシステム。
【請求項１２】
前記Ｎ個のエージェントのうちのそれぞれ１つが、前記それぞれのエージェントについての協調のレベルを示すドライバータイプと関連付けられ、前記ドライバータイプが、協調的又は競合的である、請求項１１に記載の相互作用認識意思決定のためのシステム。
【請求項１３】
前記マルチエージェント環境のレイアウト又は前記第１のエージェント及び前記Ｎ個のエージェントの位置決めに基づいて、時間間隔にわたる前記第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクを決定する、Ｑ−Ｍａｓｋｅｒを備える、請求項１１に記載の相互作用認識意思決定のためのシステム。
【請求項１４】
前記シミュレータが、前記可能性のある行動のセットから、前記マスクされた行動のセットを除外することによって、残りの行動のセットに基づいて、前記第１のエージェントを訓練する、請求項１３に記載の相互作用認識意思決定のためのシステム。
【請求項１５】
前記可能性のある行動のセットが、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含む、請求項１３に記載の相互作用認識意思決定のためのシステム。
【請求項１６】
前記第１のクリティックが、非一元的クリティックであり、前記第２のクリティックが、一元的クリティックである、請求項１１に記載の相互作用認識意思決定のためのシステム。
【請求項１７】
前記シミュレータが前記シングルエージェント環境において前記第１のエージェントを訓練することが、前記マルチエージェント環境において前記Ｎ個のエージェントを訓練する前に生じる、請求項１１に記載の相互作用認識意思決定のためのシステム。
【請求項１８】
前記シミュレータが、前記第１のポリシー勾配及び前記第２のポリシー勾配に由来する、組み合わされたポリシー勾配に基づいて、前記Ｎ個のエージェントを訓練する、請求項１１に記載の相互作用認識意思決定のためのシステム。
【請求項１９】
前記マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを、サーバ又は車両に送信する、通信インターフェースを備える、請求項１１に記載の相互作用認識意思決定のためのシステム。
【請求項２０】
相互作用認識意思決定のための車両であって、
プロセッサ及びメモリを含むコントローラと、
１つ以上の車両システムと、
マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを受信する、車両通信インターフェースと、を備え、
前記コントローラが、前記マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーに従って、前記車両の前記車両システムのうちの１つ以上を動作させ、
前記マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーは、
第１の段階で、マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであるシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、前記第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することであって、前記第１のエージェントが、第１のエージェントニューラルネットワークと関連付けられ、前記第１のクリティックが、第１のクリティックニューラルネットワークと関連付けられる、訓練することと、
第２の段階で、マルコフゲームを使用して、前記第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境において、前記ゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、前記第１のポリシー勾配に基づいて、前記Ｎ個のエージェントを訓練し、前記第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することであって、前記Ｎ個のエージェントのうちのそれぞれ１つが、前記それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられる、訓練することと、
前記第１のエージェントニューラルネットワーク及び前記第２のエージェントニューラルネットワークに基づいて、前記マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを生成することと、によって生成される、相互作用認識意思決定のための車両。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１８年８月１４日に出願された、米国特許出願第１６／１０３８４７号（代理人整理番号ＨＲＡ−４３３０３．０１）の一部継続出願である、２０１８年９月１４日に出願された、米国特許仮出願第６２／７３１７２９号の利益を主張するものであり、２０１８年１１月１６日に出願された、米国特許出願第１６／１９３２９１号（代理人整理番号ＨＲＡ−４４３９１）の一部継続出願である、２０１７年１０月１２日に出願された、米国特許仮出願第６２／５７１７１７号（代理人整理番号ＨＲＡ−４３３０３）の利益を主張するものであり、上記の出願（複数可）の全体は、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
強化学習における効率的な探索は、状態空間及び共同行動空間が、エージェントの数とともに指数関数的にスケーリングされるマルチエージェント環境では困難であり得る。個々のタスク完了及び協調的挙動の両方を同時に学習するためのランダムな探索に依存することは、非常に非効率的であり得る。局所的なゴールを達成することがまだ学習されていないエージェントは、協調が必要とされる状態空間の領域に直面することはまれであり得るため、探索行動は協調的挙動を学習するのに役に立たなくなる。他の極端な場合には、調和が必要な状況で行われる探索的行動は、失敗につながる可能性があり、結果として生じるペナルティにより、エージェントが調和問題を完全に回避し、個々のタスクの学習に失敗する可能性がある。
【発明の概要】
【０００３】
一態様によれば、相互作用認識意思決定のための方法は、マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであるシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することを含み得る。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。相互作用認識意思決定のための方法は、マルコフゲームを使用して、第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境においてゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することを含み得る。Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。相互作用認識意思決定のための方法は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを生成することを含み得る。
【０００４】
ドライバータイプは、協調的又は競合的であり得る。マルチエージェント環境におけるＮ個のエージェントの訓練中に、Ｎ個のエージェントのうちのエージェントは、訓練の途中でドライバータイプを変更してもよい。
【０００５】
第１のエージェント及びＮ個のエージェントのそれぞれは、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられてもよい。Ｎ個のエージェントの訓練中に、マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度レベルに基づいて、衝突に関わるそれぞれのエージェントに割り当てられてもよい。
【０００６】
相互作用認識意思決定のための方法は、マルチエージェント環境のレイアウト又は第１のエージェント及びＮ個のエージェントの位置決めに基づいて、時間間隔にわたる第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクを決定することと、可能性のある行動のセットから、マスクされた行動のセットを除外することによって、残りの行動のセットに基づいて、第１のエージェントを訓練することと、を含み得る。可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【０００７】
第１のクリティックは非一元的クリティックであってもよく、第２のクリティックは、一元的クリティックであってもよい。シングルエージェント環境における第１のエージェントの訓練は、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われてもよい。相互作用認識意思決定のための方法は、第１のポリシー勾配及び第２のポリシー勾配に由来する、組み合わされたポリシー勾配に基づいて、Ｎ個のエージェントを訓練することを含み得る。
【０００８】
一態様によれば、相互作用認識意思決定のためのシステムは、プロセッサ、メモリ、並びにプロセッサ及びメモリを介して実装されるシミュレータを含み得る。シミュレータは、マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであるシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することを実行し得る。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。シミュレータは、マルコフゲームを使用して、第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境において、ゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練し得る。第１のエージェント及びＮ個のエージェントのそれぞれは、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられてもよい。Ｎ個のエージェントの訓練中に、マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、シミュレータによって、それぞれのエージェントのレーン優先度レベルに基づいて、衝突に関わるそれぞれのエージェントに割り当てられてもよい。シミュレータは、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを生成し得る。
【０００９】
Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。ドライバータイプは、協調的又は競合的であり得る。
【００１０】
相互作用認識意思決定のためのシステムは、マルチエージェント環境のレイアウト又は第１のエージェント及びＮ個のエージェントの位置決めに基づいて、時間間隔にわたる第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクを決定する、Ｑ−Ｍａｓｋｅｒを含み得る。シミュレータは、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいて第１のエージェントを訓練してもよい。可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【００１１】
第１のクリティックは非一元的クリティックであってもよく、第２のクリティックは、一元的クリティックであってもよい。シミュレータは、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われる、シングルエージェント環境における第１のエージェントの訓練を行うことができる。シミュレータは、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、Ｎ個のエージェントを訓練することができる。相互作用認識意思決定のためのシステムは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを、サーバ又は車両に送信する、通信インターフェースを含み得る。
【００１２】
一態様によれば、相互作用認識意思決定のための車両は、コントローラ、１つ以上の車両システム、及び車両通信インターフェースを含み得る。コントローラは、プロセッサ及びメモリを含んでもよい。車両通信インターフェースは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを受信し得る。コントローラは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーに従って、車両の車両システムのうちの１つ以上を動作させることができる。マルチゴール、マルチエージェント、多段階、相互作用認識意思決定製造ネットワークポリシーは、第１の段階で、マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであり得るシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することと、第２の段階で、マルコフゲームを使用して、第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境においてゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することと、によって生成されてもよい。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。マルチゴール、マルチエージェント、多段階、相互作用認識意思決定は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて生成され得る。
【図面の簡単な説明】
【００１３】
【図１】一態様による、協調的マルチゴール、マルチエージェント、多段階（ＣＭ３（cooperative multi-goal, multi-agent, multi-stage））強化学習のためのシステムの例示的な構成要素図である。
【００１４】
【図２】図１の協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステムのシミュレータの例示的な構成要素図である。
【００１５】
【図３】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。
【００１６】
【図４】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法と関連付けられた、例示的なデータフロー図である。
【００１７】
【図５Ａ】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。
【図５Ｂ】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。
【００１８】
【図６】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。
【００１９】
【図７】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な性能結果の図である。
【図８】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な性能結果の図である。
【００２０】
【図９】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。
【００２１】
【図１０】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な報酬対エピソードのグラフの図である。
【００２２】
【図１１】一態様による、自律型車両ポリシー生成システムの構成要素図である。
【００２３】
【図１２】一態様による、自律型車両ポリシー生成方法のフロー図である。
【００２４】
【図１３Ａ】一態様による、自律型車両ポリシー生成方法のフロー図である。
【００２５】
【図１３Ｂ】一態様による、自律型車両ポリシー生成と関連付けられた例示的なシミュレーションインターフェースの図である。
【００２６】
【図１４Ａ】一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。
【図１４Ｂ】一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。
【図１４Ｃ】一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。
【００２７】
【図１５】一態様による、相互作用認識意思決定のためのシステムの例示的な構成要素図である。
【００２８】
【図１６】一態様による、相互作用認識意思決定のための方法の例示的なフロー図である。
【００２９】
【図１７】一態様による、相互作用認識意思決定のためのシステム又は方法に従って、ポリシーネットワーク生成が発生する、例示的なシナリオの図である。
【００３０】
【図１８Ａ】一態様による、相互作用認識意思決定のためのシステム及び方法に関する、それぞれ段階１及び段階２の訓練と関連付けられた、例示的なデータフロー図である。
【図１８Ｂ】一態様による、相互作用認識意思決定のためのシステム及び方法に関する、それぞれ段階１及び段階２の訓練と関連付けられた、例示的なデータフロー図である。
【００３１】
【図１９Ａ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【図１９Ｂ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【図１９Ｃ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【図１９Ｄ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【００３２】
【図２０】一態様による、本明細書に記載される提供のうちの１つ以上を具現化するように構成されたプロセッサ実行可能命令を含む、例示的なコンピュータ可読媒体又はコンピュータ可読デバイスの図である。
【００３３】
【図２１】一態様による、本明細書に記載される提供のうちの１つ以上が実装される、例示的なコンピューティング環境の図である。
【発明を実施するための形態】
【００３４】
以下は、本明細書で使用される選択された用語の定義を含む。定義は、用語の範囲内に含まれ、かつ実装に使用され得る、様々な実施例及び／又は構成要素の形態を含む。実施例は、限定することを意図するものではない。更に、当業者であれば、本明細書で論じられる構成要素は、他の構成要素と組み合わされるか、省略されても、若しくは他の構成要素と編成されてもよく、又は異なるアーキテクチャに編成されてもよいことを理解するであろう。
【００３５】
本明細書で使用される場合、「プロセッサ」という用語は、信号を処理し、一般的なコンピューティング及び演算機能を実行する。プロセッサによって処理された信号は、デジタル信号、データ信号、コンピュータ命令、プロセッサ命令、メッセージ、ビット、ビットストリーム、又は受信、送信、及び／若しくは検出され得る他の手段を含んでもよい。一般に、プロセッサは、複数の単一及びマルチコアプロセッサ及びコプロセッサ並びに他の複数の単一及びマルチコアプロセッサ及びコプロセッサアーキテクチャを含む、多種の様々なプロセッサであってもよい。プロセッサは、様々な機能を実行するための様々なモジュールを含んでもよい。
【００３６】
本明細書で使用される場合、「メモリ」という用語は、揮発性メモリ及び／又は不揮発性メモリを含み得る。不揮発性メモリには、例えば、ＲＯＭ（read only memory、読取り専用メモリ）、ＰＲＯＭ（programmable read only memory、プログラマブル読取り専用メモリ）、ＥＰＲＯＭ（erasable PROM、消去可能なＰＲＯＭ）、及びＥＥＰＲＯＭ（electrically erasable PROM、電気的消去可能なＰＲＯＭ）が含まれ得る。揮発性メモリは、例えば、ＲＡＭ（ランダムアクセスメモリ）（random access memory）、同期ＲＡＭ（synchronous RAM、ＳＲＡＭ）、ダイナミックＲＡＭ（dynamic RAM、ＤＲＡＭ）、シンクロナスＤＲＡＭ（synchronous DRAM、ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（double data rate SDRAM、ＤＤＲＳＤＲＡＭ）、及びダイレクトＲＡＭバスＲＡＭ（direct RAM bus RAM、ＤＲＲＡＭ）を含み得る。メモリは、コンピューティングデバイスのリソースを制御する又は割り振る、オペレーティングシステムを記憶することができる。
【００３７】
本明細書で使用される場合、「ディスク」又は「ドライブ」という用語は、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピーディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード、及び／又はメモリスティックであってもよい。更に、ディスクは、ＣＤ−ＲＯＭ（compact disk ROM、コンパクトディスクＲＯＭ）、ＣＤ記録可能ドライブ（CD recordable drive、ＣＤ−Ｒドライブ）、ＣＤ書き換え可能ドライブ（CD rewritable drive、ＣＤ−ＲＷドライブ）、及び／又はデジタルビデオＲＯＭドライブ（digital video ROM、ＤＶＤ−ＲＯＭ）であってもよい。ディスクは、コンピューティングデバイスのリソースを制御する又は割り振る、オペレーティングシステムを記憶することができる。
【００３８】
本明細書で使用される場合、「バス」という用語は、コンピュータ内部又はコンピュータ間の他のコンピュータ構成要素に動作可能に接続された、相互接続されたアーキテクチャを指す。バスは、コンピュータ構成要素間でデータを転送することができる。バスは、とりわけ、メモリバス、メモリコントローラ、周辺バス、外部バス、クロスバースイッチ、及び／又はローカルバスであってもよい。バスはまた、とりわけ、媒体配向システム輸送（Media Oriented Systems Transport、ＭＯＳＴ）、コントローラエリアネットワーク（Controller Area network、ＣＡＮ）、ローカル相互接続ネットワーク（Local Interconnect Network、ＬＩＮ）などのプロトコルを使用して、車両内部の構成要素を相互接続する、車両バスであってもよい。
【００３９】
本明細書で使用される場合、「データベース」という用語は、テーブル、一セットのテーブル、及び一セットのデータストア（例えば、ディスク）、並びに／又はそれらのデータストアにアクセス及び／又は操作するための方法を指し得る。
【００４０】
「動作可能な接続」、又はエンティティが「動作可能に接続される」ことによる接続は、信号、物理的通信、及び／又は論理的通信が、送信及び／又は受信され得るものである。動作可能な接続は、無線インターフェース、物理的インターフェース、データインターフェース、及び／又は電気インターフェースを含んでもよい。
【００４１】
本明細書で使用される場合、「コンピュータ通信」という用語は、２つ以上のコンピューティングデバイス（例えば、コンピュータ、パーソナルデジタルアシスタント、セルラー電話、ネットワークデバイス）間の通信を指し、例えば、ネットワーク転送、ファイル転送、アプレット転送、電子メール、ハイパーテキスト転送プロトコル（ＨＴＴＰ）転送などであってもよい。コンピュータ通信は、例えば、とりわけ、無線システム（例えば、ＩＥＥＥ８０２．１１）、イーサネットシステム（例えば、ＩＥＥＥ８０２．３）、トークンリングシステム（例えば、ＩＥＥＥ８０２．５）、ローカルエリアネットワーク（local area network、ＬＡＮ）、広域ネットワーク（wide area network、ＷＡＮ）、ポイントツーポイントシステム、回路スイッチングシステム、パケットスイッチングシステムを介して発生し得る。
【００４２】
本明細書で使用される場合、「車両」という用語は、１人以上の人間の乗員を運搬することができ、任意の形態のエネルギーによって電力供給される、任意の移動車両を指し得る。「車両」という用語には、自動車、トラック、バン、ミニバン、ＳＵＶ、オートバイ、スクーター、ボート、パーソナルウォータークラフト、及び航空機が含まれる。いくつかのシナリオでは、モータ車両は、１つ以上のエンジンを含む。更に、「車両」という用語は、電気電池によって電力供給される１つ以上の電気モータによって、完全に又は部分的に電力供給される、電気自動車（electric vehicle、ＥＶ）を指し得る。ＥＶは、電池電気自動車（battery electric vehicle、ＢＥＶ）及びプラグインハイブリッド電気自動車（plug-in hybrid electric vehicle、ＰＨＥＶ）を含んでもよい。追加的に、「車両」という用語は、任意の形態のエネルギーによって動力を供給される、自律型車両及び／又は自動運転型車両を指し得る。自律型車両は、１人以上の人間の乗員を運んでもよく、又は運ばなくてもよい。
【００４３】
本明細書で使用される場合、「エージェント」という用語は、シミュレーション又はシミュレートされた車両内の車両などの「車両」を指し得る。同様に、本明細書で使用される場合、「アクター」という用語は、「エージェント」と互換的に使用され得る。更に、本明細書で使用される場合、「設定」という用語は、「環境」と互換的に使用され得る。本明細書で使用される場合、「特徴」という用語は、ゴールを含み得る。
【００４４】
本明細書で使用される場合、「車両システム」という用語は、車両、運転、及び／又は安全性を向上させるために使用され得る、任意の自動又は手動システムであってもよい。例示的な車両システムには、とりわけ、自律型運転システム、電子安定制御システム、アンチロックブレーキシステム、ブレーキアシストシステム、自動ブレーキプレフィルシステム、低速追従システム、クルーズ制御システム、衝突警告システム、衝突軽減ブレーキシステム、自動クルーズ制御システム、レーン逸脱警告システム、死角表示システム、レーン維持支援システム（lane keep assist system、ＬＫＡＳ）、ナビゲーションシステム、伝送システム、ブレーキペダルシステム、電子式パワーステアリングシステム、視覚デバイス（例えば、カメラシステム、近接センサシステム）、空調システム、電子プレテンショニングシステム、監視システム、乗客検出システム、車両サスペンションシステム、車両シート構成システム、車室内照明システム、オーディオシステム、感覚システムが含まれる。
【００４５】
本明細書で説明される態様は、コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体のコンテキストにおいて、説明及び実施されてもよい。非一時的コンピュータ可読記憶媒体は、コンピュータ記憶媒体及び通信媒体を含む。例えば、フラッシュメモリドライブ、デジタル多用途ディスク（digital versatile disc、ＤＶＤ）、コンパクトディスク（compact disc、ＣＤ）、フロッピーディスク、及びテープカセット。非一時的コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、モジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでもよい。
【００４６】
本明細書で使用される場合、「ＣＭ３」という用語は、図１のシステム、図３の方法、図５Ａ及び図５Ｂの方法などを含むが、これらに限定されるものではない、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法、又は協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステムの使用を指し得る。
【００４７】
エージェントは、一セットの可能性のある行動から、行動（シミュレートされた行動であってもよい）をとることができる。可能性のある行動のセットは、行動セット（Ａ）として知られ得る。
【００４８】
環境は、シミュレーション環境又はエージェントが移動する世界であってもよい。
【００４９】
報酬機能（Ｒ）は、とられた（例えば、シミュレートされた）行動を評価する機能であってもよい。
【００５０】
短期的な決定を長期的な報酬よりも重くするために、割引係数（γ）に、将来の報酬をかけてもよい。
【００５１】
値（Ｖ）は、割引係数の影響を含む、予期長期的な収益であり得る。
【００５２】
Ｑ値（Ｑ）は、状態（ｓ）上のポリシー（π）下での、行動（ａ）の長期的な収益を示す行動値であってもよい。
【００５３】
軌道は、それらの状態を含む連続的な状態及び／又は行動であってもよい。
【００５４】
ポリシー（π）は、現在の状態に基づいてエージェントの次の行動を決定するために用いられる、計画であってもよい。
【００５５】
図１は、一態様による、協調的マルチゴール、マルチエージェント、多段階（ＣＭ３）強化学習のためのシステム１００の例示的な構成要素図である。ＣＭ３強化学習のためのシステム１００は、プロセッサ１０２、メモリ１０４、バス１０６、及びシミュレータ１０８を含み得る。シミュレータ１０８は、プロセッサ１０２及びメモリ１０４を介して実装され得る。シミュレータ１０８は、シミュレーション環境１２６内で、１つ以上の行動１２４を実行して、１つ以上のエージェント１２２と関連付けられたシミュレーションをシミュレート又は実行することができ、ここで、１つ以上のクリティック１２８は、エージェント１２２のうちの１つ以上によってとられた行動１２４のうちの１つ以上を解釈又は評価して、１つ以上の報酬１３２及びとられた行動から生じる１つ以上の状態１３４を決定する。
【００５６】
シミュレータ１０８又はプロセッサ１０２は、ＣＭ３強化学習のためにシステム１００のメモリ１０４に記憶され得る、ＣＭ３ポリシーネットワーク１４０を生成し得る。システムは、ＣＭ３ポリシーネットワーク１４０が、ＣＭ３データベース１６２を含み得るサーバ１６０などの他のデバイスに送信されることを可能にする、通信インターフェース１５０を更に含んでもよい。このようにして、ＣＭ３強化学習のためにシステム１００によって生成されたＣＭ３ポリシーネットワーク１４０は、サーバ１６０のＣＭ３データベース１６２に記憶されてもよい。
【００５７】
次いで、サーバ１６０は、第１の車両１７０及び第２の車両１８０などの１つ以上の車両に、ＣＭ３ポリシーネットワーク１４０を伝搬し得る。第１の車両は、車両通信インターフェース１７２、記憶デバイス１７４、コントローラ１７６、及び１つ以上の車両システム１７８を装備してもよい。記憶デバイスは、サーバ１６０からＣＭ３ポリシーネットワーク１４０を記憶してもよく、コントローラは、ＣＭ３ポリシーネットワーク１４０に基づいて、第１の車両を、自律様式で動作させてもよい。同様に、第２の車両１８０は、車両通信インターフェース１８２、記憶デバイス１８４、コントローラ１８６、及び１つ以上の車両システム１８８を装備してもよく、第１の車両と同様に動作してもよい。
【００５８】
いずれにせよ、ＣＭ３ポリシーネットワーク１４０が車両の記憶デバイス上に記憶されている場合、これにより、ＣＭ３ポリシーネットワーク１４０が、訓練又はシミュレーションに基づいてなされるべきポリシー又は決定のうちの１つ以上を示し得るので、コントローラは、ＣＭ３ポリシーネットワーク１４０に基づいて、車両を自律的に走行させ、シミュレータ１０８内で発生したＣＭ３強化学習に従って、自律走行の決定を下すことができる。例えば、ＣＭ３ネットワークポリシーは、第１の自律型車両又は第２の自律型車両（例えば、車両状態又は環境状態）と関連付けられた観察の入力を受信し、提案された行動を出力してもよい。
【００５９】
図２は、図１の協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステム１００のシミュレータ１０８の例示的な構成要素図である。図２では、図１のＣＭ３強化学習のためのシステム１００のシミュレータ１０８を見ることができる。ここで、エージェントは、環境内で行動をとることができる。これは、クリティックによって、報酬又はペナルティ及び状態の表現として解釈されてもよく、この状態はその後、エージェントに戻されてもよい。エージェントは、別個の時間工程で行動をとることによって、環境と相互作用し得る。各時間工程において、エージェントは、報酬を含み得る観察を受信してもよい。エージェントは、一セットの利用可能な行動から１つの行動を選択することができ、これにより、新しい状態及び連続的な時間工程の新しい報酬がもたらされる。エージェントのゴールは、一般に、可能な限り最大量の報酬を収集することである。
【００６０】
段階１／ローカルビュー／シングルエージェント環境
【００６１】
一態様によれば、シミュレータ１０８は、マルコフ決定プロセス（Markov decision process、ＭＤＰ）を使用して、シングルエージェント環境において１つ以上の特徴を学習するために、第１のポリシー勾配に基づく第１のエージェントの訓練及び第１の損失関数に基づく第１のクリティックの訓練を含む、段階１の訓練を実行し得る。第１の段階又は段階１の間、シミュレータ１０８は、シングルエージェント設定又は環境において（すなわち、環境内に他のエージェントが存在しない場合）、１つ以上の個々のタスクを達成するか、又は異なるゴールを達成するようにエージェントを訓練し得る。これは静的環境であってもよい。段階１でシミュレータ１０８によって提供されるシングルエージェント設定又は環境は、第１のエージェントが、好都合な方法で、１つ以上の特徴を学習又は訓練することを可能にする。換言すれば、第１の段階におけるエージェントの数を減らすことによって、第１のエージェントは、より速く、より効率的な様式で訓練され得る。更に別の方法で説明すると、他のエージェントの不在下で局所的目的を達成するエージェントは、協調的挙動を学習するための望ましい状態構成をより確実に生成することができる。
【００６２】
シミュレータ１０８は、第１のエージェントが、無操作行動、加速行動、減速行動、１サブレーン左へのシフト行動、及び１サブレーン右へのシフト行動を含む１つ以上の一セットの行動から、行動を選択することを可能にすることによって、第１のエージェントを訓練し得る。
【００６３】
第１のエージェントによって段階１で学習され得る特徴のうちの１つ以上の実施例としては、学習ルール及び道路の規制、制限速度内で車道を運転する又は速度を維持する方法、レーン内に車両を維持する方法、レーンを変更する又はサブレーン位置を変更する方法、出口ランプで降りる方法、オンランプに入る方法などが含まれ得る。
【００６４】
このようにして、第１のポリシーネットワークは、シングルエージェント設定又は環境において異なる特徴を学習し得る、非一元的クリティックを有する。第１のクリティックは、非一元的クリティックであってもよいため、第１の段階又は段階１は、第１のエージェントのためのローカルビュー又は個別化された報酬、個別化された学習などと関連付けることができる。
【００６５】
段階２／グローバルビュー／マルチエージェント環境
【００６６】
一態様によれば、シミュレータ１０８は、マルコフゲームを使用して、マルチエージェント環境におけるＮ個のエージェント間の協調などの第２のセットの特徴を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配及び第２のポリシー勾配に基づいて、ある数のＮ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のクリティックを訓練することを含む、段階２の訓練を実行することができる。段階２の訓練中、Ｎ個のエージェントのうちのそれぞれ１つは、事前訓練された第１のエージェントニューラルネットワークとインスタンス化されてもよい。このようにして、事前訓練された第１のエージェントニューラルネットワークからの以前の知識を用いて、Ｎ個のエージェントのうちのそれぞれ１つをインスタンス化することによって、カリキュラムの獲得が、ＣＭ３強化学習のために、システム１００を介して実施され得る。この点に関して、シミュレータ１０８は、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われ得る、シングルエージェント環境における第１のエージェントの訓練を行うことができる。シミュレータ１０８は、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、いくつかのＮ個のエージェントを訓練することができる。いくつかのＮ個のエージェントは、第１のエージェントを含んでもよい。
【００６７】
マルコフゲームの場合、各エージェントは、したがって、有限の集合内で１つ以上のゴール又は特徴を達成することを学習してもよく、Ｎ個のエージェント間又はＮ個のエージェントの中でのゴールの集合的成功のために他のエージェントと協調し、シミュレーション中に限られたローカルな情報と独立して行動し得る。シミュレータ１０８は、エピソード環境として、環境（例えば、シングルエージェント及びマルチエージェント環境）を定式化することができ、各エージェントは、各訓練エピソード中にランダムにサンプリングされたゴールを割り当てられてもよい。いずれにしても、シミュレータ１０８は、マルチゴールマルコフゲームとして環境を設定し、非一元的ポリシーの一元的訓練へのアクター−クリティック的アプローチをレビューすることができる。
【００６８】
マルコフゲームに関して、シミュレータ１０８は、ｎ＝［１．．．Ｎ］でラベル付けされたＮ個のエージェントを有する、タプル（Ｓ，｛Ｏｎ｝，｛Ａｎ｝，Ｐ，Ｒ，Ｇ，Ｎ，γ）として、マルチゴールマルコフゲームを定義することができる。各エージェントは、各エピソード中に、１つのゴールｇｎ∈Ｇを有してもよい。各時間工程ｔにおいて、エージェントの構成は、状態ｓｔ∈Ｓによって、完全に指定されてもよく、一方、各エージェントｎは、部分観測
【数１】
2020027656.tif 000003
を受け取り、行動
【数２】
2020027656.tif 000004
を選択する。シミュレータ１０８は、遷移確率Ｐ（Ｓｔ＋１│ｓｔ、ａ）：Ｓ×Ａ１×．．．×ＡＮ×Ｓ→［０，１］に従って、共同行動
【数３】
2020027656.tif 000005
により、環境を、次の状態ｓｔ＋１に設定することができる。各エージェントは、報酬
【数４】
2020027656.tif 000006
を受け取ることができ、学習タスクは、ローカルな観察及びゴールにのみ当てはまる条件である、確率的ポリシーπｎ（ａｎ│ｏｎ，ｇｎ）：Ｏｎ×Ｇ×Ａｎ→［０，１］を見つけることであり、それは、水平線Ｔにわたって
【数５】
2020027656.tif 000007
を最大化し、γは割引係数である。本明細書で使用するとき、ａ−ｎ及びｇ−ｎは、エージェントｎのものを除いて、全てのエージェントの行動及びゴールの集合を表してもよく、ｇは、全てのエージェントのゴールの集合を表してもよく、（π（ａ│ｏ，ｇ）：＝Пｎπｎ（ａｎ│ｏｎ，ｇｎ）は、共同ポリシーを表してもよい。
【数６】
2020027656.tif 000008
は、
【数７】
2020027656.tif 000009
を表し得、式中、ρπは、π下での、計数された静止状態分布として定義される。
【００６９】
段階２では、シミュレータ１０８は、一元的クリティックを使用して、いくつかのＮ個のエージェントを観察することによって、他の訓練を受けた個人又はエージェントの学習を組み込んでもよい。換言すれば、第２のクリティックは、一元的クリティックであってもよい。シミュレータ１０８は、一元的クリティックに、ローカル及び／又は共同報酬を提供するように命令することができる。このようにして、非一元的ポリシーの一元的学習一元的クリティックが、提供され得る。第２のクリティックは、一元的クリティックであってもよいため、第２の段階又は段階２は、全てのＮ個のエージェントのためのグローバルビュー又は協調タイプの学習と関連付けられてもよい。グローバルビューは、全体としてのＮ個のエージェントの交通の流れを示すことができ、一方、ローカルビューは、単に第１のエージェントの移動、流れ、又は効率を示し得る。グローバルビュー及び／又はローカルビューは、鳥瞰図又は環境の観点から取られ得る。したがって、シミュレータ１０８による２つの段階のシミュレーションによって、彼ら自身のゴールに向かって行動しているエージェントに対応し、他のエージェントの成功のための協調に対応している、学習目的の２つの図が提供され得る。これらの２つの段階は、ニューラルネットワーク構造によって架橋された２段階（例えば、又は３つ、４つなどの追加の段階）に組み込まれてもよい。
【００７０】
なおも更に説明すると、段階２では、二重クリティック構成に基づくマルチエージェント設定又は環境において異なる特徴を達成するために、シミュレーション中にいくつかのＮ個のエージェントによって、協調が学習される。例えば、第１のエージェントは、第１の段階で訓練されてもよく、第１の非一元的クリティックは、シングルエージェント設定又は環境内における複数の特徴の学習を容易にし得る。第２の段階又は段階２では、いくつかのＮ個のエージェントは、マルコフゲームにインスタンス化されてもよく、事前訓練されたπ１（例えば、段階１の第１のエージェントからの以前に訓練されたパラメータ）及びＶπ（例えば、段階１の第１の非一元的クリティックからの以前に訓練されたパラメータ）並びに新しい一元的クリティックＱ（例えば、第２のクリティック）を備えてもよい。
【００７１】
第２の段階又は段階２の間、シミュレータ１０８は、Ｎ個のエージェントを訓練して、１つ以上の協調タスクを達成してもよく、又はマルチエージェント設定若しくは環境において、異なるゴールを達成することができる。これは、動的環境であってもよい。段階２でシミュレータ１０８によって提供されるマルチエージェント設定又は環境は、Ｎ個のエージェントが、互いに相互作用するように学習することを可能にし、一方で、Ｎ個のエージェントのうちのそれぞれ１つが、それらの目標位置に到達するそれらのゴールをそれぞれ最終的に達成することを可能にし得る。
【００７２】
シミュレータ１０８は、Ｎ個のエージェントのうちのそれぞれ１つが、第１のエージェントと同様に、無操作行動、加速行動、減速行動、１サブレーン左へのシフト行動、及び１サブレーン右へのシフト行動を含む１つ以上の一セットの行動から、行動を選択することを可能にすることによって、Ｎ個のエージェントを訓練し得る。
【００７３】
Ｎ個のエージェントによって段階２で学習され得る特徴のうちの１つ以上の実施例としては、他のエージェントとの衝突を回避するための学習、標的位置への時間の最適化を含んでもよい。しかしながら、段階１で発生した学習（例えば、静的環境内でどのように運転するかを学習する）は、段階２のシミュレーションに引き継がれるか、又は段階２にインスタンス化されるので、段階１と段階２の分割が、シミュレータ１０８によって提供されなかった場合よりも速い速度で、学習が達成され得る。一態様によれば、段階１のシングルエージェント環境で学習された１つ以上の特徴は、段階２のマルチエージェント環境で学習された特徴とは異なり得る。このようにして、シミュレータ１０８は、第１の段階から第２の段階のＮ個のエージェントまでに学習された特徴をインスタンス化して、カリキュラム学習を容易にすることができる。
【００７４】
前述したように、段階２では、シミュレータ１０８は、一元的クリティックを使用して、いくつかのＮ個のエージェントを観察することによって、他の訓練を受けた個人又はエージェントの学習を組み込んでもよい。Ｎ個のエージェントのそれぞれは、第１の段階又は段階１からの教示（例えば、ネットワークポリシー）でインスタンス化され得るため、Ｎ個のエージェントのうちのそれぞれ１つは、静的環境内でどのように運転するかについて、事前訓練されてもよい。更に、いくつかのＮ個のエージェントが存在し得るため、Ｎ個のエージェントのうちのそれぞれ１つは、マルチエージェント環境内の異なる位置に配置され、異なるシナリオに露出されてもよい。シミュレータ１０８及びクリティックにいくつかのＮ個のエージェントを観察させることによって、異なるシナリオについての学習を並行して行うことができる。別の言い方をすれば、段階２で生じ得る学習は、第１のエージェントによって学習されたデータを、第２のエージェントと共有することによって、及び逆もまた同様である（例えば、第２のエージェントによって学習されたデータを、第１のエージェントと共有すること）によって、達成され得る。
【００７５】
例えば、第１のエージェントが、左へレーンを変更しようとしていて、右へレーンを変更しようとしている第２のエージェントの前に位置している場合、エージェントのうちのそれぞれ１つが、異なるシナリオに露出されており、ネットワークポリシーが両方について更新され、それによって学習の効率を高め、ＣＭ３システムの訓練と関連付けられた訓練時間の量を大幅に低減することができる。この実施例では、第１のエージェント及び第２のエージェントは、異なるゴール（例えば、おそらく出口ランプへのアクセスを得るために、左へのレーン変更を実行する第１のゴール及び右へのレーン変更を実行する第２のゴール）を有する。協調学習は、シミュレータ１０８によって実施され得ることに留意されたい。例えば、第１のエージェントが、第２のエージェントに、右へのレーン変更の実行を許可することを拒否した場合、及び第２のエージェントが、第１のエージェントに、左へのレーン変更の実行を許可することを拒否した場合、どちらのエージェントにも利益はない。
【００７６】
第２のエージェントニューラルネットワークは、対応するＮ個のエージェントのうちのそれぞれのローカルな観察を示す、Ｎ個のエージェントのうちのそれぞれについてのｏ他のパラメータと関連付けられ得る。一態様によれば、ｏ他のパラメータは、第１のエージェントの速度、第１のエージェントとＮ個のエージェントのうちの１つとの間のレーン若しくはサブレーンの数、第１のエージェントからゴール位置までの距離、又は第１のエージェントと関連付けられた車両タイプを示すことができる。ｏ他のパラメータは、Ｎ個のエージェントのうちの１つと関連付けられた車両占有状態、第１のエージェントに対するＮ個のエージェントのうちの１つの相対速度、又はＮ個のエージェントのうちの１つと関連付けられた車両タイプを示すことができる。
【００７７】
第３の段階又は段階３は、本明細書に記載されていないが、第３の段階では、Ｎ個のエージェントのうちのそれぞれ１つは、事前訓練された第１のエージェントニューラルネットワーク及び事前訓練された第２のエージェントニューラルネットワークを用いて、シミュレータ１０８によってインスタンス化され得、追加の学習が行われ得、それによって、カリキュラム学習が提供されることを可能にする。
【００７８】
ポリシー生成／非一元的ポリシーの一元的学習
【００７９】
プロセッサ１０２又はシミュレータ１０８は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、ＣＭ３ネットワークポリシーを生成してもよい。シミュレータ１０８は、ニューラルネットワークのポリシー及び値関数のモジュラー増強によって、２つの段階（例えば、段階１及び段階２）を架橋することができる。ＣＭ３ネットワークポリシーは、図１の自律型車両（複数可）のコントローラに、自律様式で動作するように指示するために利用することができる、データを示し得る。例えば、ＣＭ３ネットワークポリシーは、第１の自律型車両又は第２の自律型車両（例えば、車両状態又は環境状態）と関連付けられた観測の入力を受信し、シミュレーション中に使用され、シミュレータ１０８によって提供される行動と同様の、無操作行動、加速行動、減速行動、１サブレーン左へのシフト行動、及び１サブレーン右へのシフト行動を含み得る、提案された行動を出力してもよい。
【００８０】
ＣＭ３ネットワークポリシーは、第１の段階及び第２の段階と関連付けられたローカルビュー及びグローバルビューを表す、組み合わされたビューを示すことができる。一態様によれば、シミュレータ１０８は、ローカルビュー及びグローバルビューに基づいて、ＣＭ３ネットワークポリシーを最適化し得る。このようにして、個々のタスクを達成するために学習するためのシングルエージェント段階と、それに続く、他のエージェントの存在下で協調するための学習のためのマルチエージェント段階とを含む２つの段階のカリキュラムが、提供され得る。シミュレータ１０８は、第１の段階及び第２の段階からのそれぞれのニューラルネットワークポリシー及び値関数のモジュラー増強によって、これら２つの段階（例えば、第１の段階及び第２の段階）を架橋することができる。換言すれば、シミュレータ１０８は、第１の段階又は段階１と関連付けられたニューラルネットワークポリシーを、第２の段階又は段階２と関連付けられたニューラルネットワークポリシーとともにモジュラー増強してもよい。同様に、シミュレータ１０８は、第１の段階又は段階１と関連付けられた１つ以上の値関数を、第２の段階又は段階２と関連付けられた１つ以上の値関数とともにモジュラー増強してもよい。
【００８１】
前述したように、ＣＭ３は、非一元的値関数（例えば、第１の非一元的クリティックと関連付けられた）及び一元的行動値関数（例えば、第２の一元的クリティックと関連付けられた）を含む、二重クリティックを介して、ポリシー勾配及び学習のローカル及びグローバルな図を定式化することによって、このカリキュラムに対してアクター−クリティック又はエージェント−クリティック的なフレームワークを実施してもよい。したがって、シミュレータ１０８は、シングルエージェント設定及びマルチエージェント設定の両方をシミュレートしてもよく、各エージェントは、有限集合内でゴール又は特徴を達成し、異なる可能性のあるゴール又は特徴を持つ他のエージェントと協調することを学習する。この点に関して、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法、又は協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステム１００のＣＭ３フレームワークは、マルチエージェントカリキュラムが、１つ以上の利益又は利点を提供することを可能にする。
【００８２】
例えば、マルチエージェント探索は、これまで取り組むことが困難な問題であった。シングルエージェント設定において異なるゴールを達成するために、段階１のネットワークポリシーを訓練することによって、協調的解決策を見出すのに有用な探索的行動は、シングルエージェント設定で学習された個々のゴールに向かって行動することによって、確実に衝突を生じさせるようにエージェントが設定された後に、達成され得る。
【００８３】
別の実施例として、マルチエージェント強化学習（multi-agent reinforcement learning、ＭＡＲＬ）のニューラルネットワーク構成が、提供されてもよい。具体的には、エージェント又はアクター及びクリティックニューラルネットワークのための段階１の訓練は、シングルエージェント環境において個々のゴールを達成するのに十分である一部分（例えば、これは、第１のセットのゴール又は特徴に対して、事前に定義され、事前にプログラムされ、手動で設定されたものなどであり得る）に関連する入力空間を設定することによって、簡略化され得る。段階２のニューラルネットワーク構成では、アーキテクチャは、完全なマルチエージェント環境内での更なる学習のために、又は段階１の訓練（例えば、段階１の変数、パラメータ、ニューラルネットワークなど）に基づいて、拡張、調節、又は修正されてもよい。これにより、エージェントの観察の、エージェントの独自の状態の表現（例えば、標的位置までの距離）、及び他のエージェントの表現への分解が可能となる。
【００８４】
更に、段階１と段階２が、組み合わされる。換言すれば、非一元的ポリシーは、ローカルな目的を学習するための非一元的値関数と、学習協調のための一元的行動値関数とを含む、二重クリティックを使用して訓練される。これにより、ポリシー勾配の２つの等価な図を示すこと、及び新しいアクター−クリティック又はエージェント−クリティック的な適応を実施することによって、Ｎ個のエージェント間の協調を考慮しつつ、ローカルな目的又はゴールを考慮することを可能にすることができる。
【００８５】
ＣＭ３フレームワーク（例えば、ＣＭ３システム及びＣＭ３方法と関連付けられた）は、簡略化されたポリシーネットワークを含む単一のカリキュラム内のこれらの特徴を、段階１で複数のゴールを達成するために学習するための非一元的クリティックと組み合わせ、一方で、段階２は、他のエージェントを表すためにポリシーの観察空間を増強し、二重クリティック的実施を使用して、マルチエージェント協調を学習する。一態様によれば、パラメータ共有は、シミュレータ１０８によって、全てのエージェントに対して１つ以上のエージェントの間で提供され得る。
【００８６】
完全な状態−行動情報を受信する一元的クリティックは、ローカルな情報のみを受信する、非一元的アクター又はエージェント（例えば、ポリシー）の学習を速めることができ、そしてアクターのみが、訓練後に実行のために保持され得る。一態様によれば、シングルエージェント設定において、ポリシーπ（パラメータθを有するは、目的
【数８】
2020027656.tif 000010
を最大化し得、それは勾配
【００８７】
【数９】
2020027656.tif 000011
を上昇させることによる。
【００８８】
式（１）において、
【数１０】
2020027656.tif 000012
は、行動値関数であり、ｂ（ｓ）は、任意の状態依存ベースラインである。
【００８９】
一態様によれば、反事実的なベースラインは、以下のように定義され得る。
【００９０】
【数１１】
2020027656.tif 000013
【００９１】
反事実的なベースラインは、マルチエージェントクレジット割り当ての問題に対処することができる。Ｑ（ｓ，（ａ−ｎ，ａｎ））−ｂ（ｓ，ａ−ｎ）は、エージェントの選択した行動の貢献度、及びそれに対する他のエージェントの行動を固定したまま、全ての可能性のある反事実的な行動の平均値
【数１２】
2020027656.tif 000014
を表すことができる。シミュレータ１０８は、全てのエージェント間でパラメータ共有を利用してもよく、これは、全てのエージェントが同じポリシーを実行するが、それらの個々の観察に応じて、異なって挙動し得ることを意味する。
【００９２】
ポリシー勾配は、以下のように定義され得る。
【００９３】
【数１３】
2020027656.tif 000015
【００９４】
本明細書に記載されるＣＭ３フレームワークは、個々の目的並びに局所的及び共同報酬の混合を考慮する、反事実的なベースライン（例えば、式（３））に基づいてもよい。
【００９５】
図３は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法３００の例示的なフロー図である。方法３００は、シングルエージェント環境において特徴を学習するために、第１のエージェント及び第１のクリティックの訓練３０２、マルチエージェント環境においてＮ個のエージェント間の協調を学習して、事前訓練された第１のエージェントニューラルネットワークを用いて、Ｎ個のエージェントをインスタンス化するための、ある数のＮ個のエージェントの訓練３０４、並びに第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づく、協調的マルチゴール、マルチエージェント、多段階（ＣＭ３）ネットワークポリシーの生成３０６を含み得る。したがって、訓練３０２及び訓練３０４の行為は、３０６のネットワークポリシーを構築するための増分多段階学習プロセスを含む。
【００９６】
一態様によれば、シングルエージェント環境における第１のエージェントの訓練３０２は、第１のポリシー勾配に基づいて第１のエージェントを訓練することと、マルコフ決定プロセスを使用して、シングルエージェント環境内の１つ以上の特徴を学習するために、第１の損失関数に基づいて、第１のクリティックを訓練することと、を含み得る。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。第１のクリティックは、非一元的クリティックであり得る。
【００９７】
一態様によれば、マルチエージェント環境におけるＮ個のエージェントの訓練３０４は、マルコフゲームを使用して、マルチエージェント環境におけるＮ個のエージェント間の協調を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配及び第２のポリシー勾配に基づいて、いくつかのＮ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のクリティックを訓練することを含み得る。Ｎ個のエージェントのそれぞれは、事前訓練された様式で、第１のエージェントニューラルネットワークとインスタンス化されてもよい。第２のクリティックは、一元的クリティックであってもよい。このようにして、二重クリティック方法を提供することができる。更に、シングルエージェント環境において第１のエージェントを訓練することは、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われてもよく、それによって、本明細書に記載されるように、ＣＭ３強化学習の効率を高めることができる。
【００９８】
図４は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法と関連付けられた、例示的なデータフロー図である。図４の段階１では、一対の低減されたネットワークＶ１及びπ１は、ポリシー勾配∇Ｊｌｏｃａｌを使用して、シングルエージェント環境において複数のゴールを達成することを学習し得る。新しいポリシーネットワークπは、訓練されたπ１、新しいモジュールπ２、及びＶの構築から、構築され得る。図４の段階２の完全なマルチエージェント環境において、これらのより大きいπ及びＶは、新たな一元的クリティックＱとともに、Ｎ個のエージェントのそれぞれに対してインスタンス化されてもよく（完全なパラメータ共有を伴って）、補間されたポリシー勾配を用いて訓練されてもよい。
【００９９】
全ての個々のπｎ（ａｎ｜ｏｎ，ｇｎ）によって共有される暗示パラメータθを有する共同ポリシーπ（ａ｜ｏ，ｇ）は、以下の目的を最大にするために定義され得る。
【０１００】
【数１４】
2020027656.tif 000016
【０１０１】
目的は、２つの方法（例えば、ローカル及びグローバル）で見ることができ、それにより、アクター−クリティック対の非一元的及び一元的クリティックをもたらす。
【０１０２】
ローカルビュー（例えば、第１のビュー）について、シミュレータ１０８は、これらの報酬から非一元的クリティックを学習して、全てのエージェントの共同成功に関して明示的に考慮することなく、ローカルなゴールを達成するために、エージェントのためのポリシー勾配を提供してもよい。目的
【数１５】
2020027656.tif 000017
は、個々のゴールｇｎに対応するように定義されてもよい。Ｊｌｏｃａｌは、勾配を上昇させることによって最大化され得る。
【０１０３】
【数１６】
2020027656.tif 000018
【０１０４】
【数１７】
2020027656.tif 000019
【０１０５】
各
【数１８】
2020027656.tif 000020
は、個々の報酬Ｒ（ｓ，ａｎ，ｇｎ）に対応する状態−行動値である。
【０１０６】
式（５）の第２のラインにおいて、以下の近似値が作製されてもよい。
【０１０７】
１）スケーラビリティのために、ｎ個の異なる関数近似子を使用する代わりに、追加の入力ゴールｇｎを使用して、全ての
【数１９】
2020027656.tif 000021
を単一のＱπ（ｓ，ａ，ｇｎ）で近似する。
【０１０８】
２）期待値を変更することなく、Ｑπ（ｓ，ａ，ｇｎ）を、利点関数Ａπ（ｓ，ａ，ｇｎ）：＝Ｑπ（ｓ，ａ，ｇｎ）−Ｑπ（ｓ，ａ，ｇｎ）に置き換え、ＴＤ誤差
【数２０】
2020027656.tif 000022
を、利点値の公平な推定として利用する。
【０１０９】
３）ｓｔをｏｔで最終近似することによって、非一元的クリティックＶ（ｏｔ，ｇｎ）を計算する。
【０１１０】
θＶによってパラメータ化されると、損失を最小化することによって、クリティックが更新される。
【０１１１】
【数２１】
2020027656.tif 000023
【０１１２】
式中、θ’Ｖは、主θＶに向かってゆっくりと更新する、標的ネットワークのパラメータである。
【０１１３】
グローバルビュー（例えば、第２のビュー）については、共同報酬
【数２２】
2020027656.tif 000024
を定義することができる。共同報酬は、他のエージェントの成功に寄与するように、各エージェントを促す、一元的クリティックを学習するために使用されてもよい。Ｊｇｌｏｂａｌは、以下のように定義することができる。
【０１１４】
【数２３】
2020027656.tif 000025
【０１１５】
【数２４】
2020027656.tif 000026
は、一元的クリティックであり、ｂ（ｓ，ａ−ｎ，ｇ）は、複数のゴールを有する一般化された反事実的なベースラインであり得る。
【０１１６】
【数２５】
2020027656.tif 000027
【０１１７】
θＱによってパラメータ化されると、損失を最小化することによって、一元的クリティックが更新される。
【０１１８】
【数２６】
2020027656.tif 000028
【０１１９】
式（９）において、θ’Ｑ及びπ’は、それぞれ、ゆっくりと更新された目標Ｑ及び目標ポリシーネットワークを表す。
【０１２０】
組み合わせたビュー（例えば、第３のビュー）については、∝∈（０，１）を使用する両方のビュー間の補間は、共同報酬が各エージェントのポリシーに影響を及ぼす程度を決定するために、シミュレータ１０８によって実行されてもよい。
【０１２１】
全体的なポリシー勾配は、以下のように定義される。
【０１２２】
∇θＪ（π）：＝α∇θＪｌｏｃａｌ（π）＋（１−α）∇θＪｇｌｏｂａｌ（π）（１０）
【０１２３】
ポリシー勾配は、２つの目的最適化問題の重量和スケールとして見ることができ、そのパレート最適化は、凸性仮定を使用して、式（１０）に沿って最適化することによって見出すことができる。
【０１２４】
段階１では、アクターπ及び非一元的クリティックＶπは、シングルエージェント設定において、複数のゴールを学習するように訓練されてもよい。この段階は、シングルエージェントマルコフ決定プロセス（ＭＤＰ）に基づいてもよい。シミュレータ１０８は、それぞれ、ポリシー勾配∇Ｊｌｏｃａｌ式（５）及び損失
【数２７】
2020027656.tif 000029
式（６）に従って、アクターπ（ａｎ│ｏｎ，ｇｎ）及びクリティックＶπ（ｏｎ，ｇｎ）を訓練してもよい。エージェントが訓練の過程にわたって全てのゴールを学習するために、ゴールは、各訓練エピソードにおいてＧから均一にサンプリングされ得る。シミュレータ１０８は、関数近似のためにディープニューラルネットワークを使用することができ、アクター及びクリティックネットワークへの入力は、特定のエピソードのゴールを表す、エージェントの観察ベクトルｏｎ及びベクトルｇｎを含むことができる。
【０１２５】
シミュレータ１０８は、マルチエージェント環境が通常、
【数２８】
2020027656.tif 000030
内のエージェントの観察空間の分解を可能にするという単純な観察を行うことができ、式中、
【数２９】
2020027656.tif 000031
には、エージェント自身の状態に関する情報（例えば、位置）が含まれており、一方で、
【数３０】
2020027656.tif 000032
は、エージェントの周囲のエージェントのローカルな観察であり、ｏｏｔｈｅｒｓを処理する能力は、段階１では不要である。このようにして、シミュレータ１０８は、
【数３１】
2020027656.tif 000033
に設定されるπ及びＶの入力空間のサイズを低減し、それによって、段階１における訓練可能なパラメータの数を低減し、訓練速度を向上させることができる。シミュレータ１０８は、収束するまで、これらの低減されたアクター及びクリティックネットワークを訓練し、それらをそれぞれπ１及びＶ１としてラベル付けしてもよい。
【０１２６】
段階２では、シミュレータ１０８は、事前訓練されたπ及びＶπ並びに新しい一元的クリティックＱを備えた、完全なマルコフゲームに全てのエージェントをインスタンス化し、更に協調的挙動のための更なる訓練を実施することができる。マルコフゲームは、Ｎ個のエージェントでインスタンス化されてもよい。シミュレータ１０８は、以前に訓練されたπ１パラメータを保持し得、エージェントがそれらのローカルな観察のｏｏｔｈｅｒｓパラメータを処理するための新しいニューラルネットワークπ２をインスタンス化し、π２の出力からπ１の選択された層への隠れた接続を導入する。具体的には、
【数３２】
2020027656.tif 000034
は、
【数３３】
2020027656.tif 000035
及び活性化機能ｆを用いて、
【数３４】
2020027656.tif 000036
を介して、層ｉ−１に接続されたπ１のＬ層ニューラルネットワーク表現において、ｍｉ単位で層ｉ≦Ｌの隠された活性を定義することができる。段階２は、Ｋ層ニューラルネットワークπ２（ｏｏｔｈｅｒｓ）を導入し、出力層
【数３５】
2020027656.tif 000037
は、π１の特定の層ｉ＊を選択し、隠れた活性化
【数３６】
2020027656.tif 000038
を以下のように増加させる。
【０１２７】
【数３７】
2020027656.tif 000039
【０１２８】
同等又は類似の増強は、新しいニューラルネットワークＶ２（ｏｏｔｈｅｒｓ）を使用して、クリティックＶ１に行うことができる。シミュレータ１０８は、一元的クリティックＱπ（ｓ；ａ；ｇ）をインスタンス化することができ、これは必須ではなく、したがって、段階１の間には存在せず、π、Ｖ、Ｑを、組み合わされた勾配∇Ｊ式（１０）、損失
【数３８】
2020027656.tif 000040
式（６）、及び損失Ｌ（θＱ）式（９）をそれぞれ使用して、訓練する。段階１と同様に、シミュレータ１０８は、各訓練エピソード中にＧの上の分布から（例えば、ランダムに）サンプリングすることによって、エージェントにゴールを割り当てることができる。分布は、協調を必要とする困難なゴールの組み合わせに対する十分な訓練を確実にするように、そのゴールに向けて作用するエージェントの能力を維持するためのより容易な組み合わせとともに、構築することができる。
【０１２９】
カリキュラム学習を伴うアクター−クリティックネットワークのこの２段階構成は、完全なマルチエージェント環境上での直接訓練と比較して、学習速度を改善する。このようにして、ＣＭ３フレームワークベースのシステム及び方法は、更なる強いベースラインよりもはるかに速く学習し、より成功したポリシーを見つける。２段階のカリキュラム及び非一元的クリティックは、この成功を容易にし、一方、ポリシー勾配のグローバルビューは、協調的な解決策を見つける際に顕著な利点を与える。
【０１３０】
段階１における処理
【数３９】
2020027656.tif 000041
のために事前訓練された更なる隠れ層ｉ＜ｉ＊は、タスク情報を処理する能力を保持し、一方、新しいモジュールは、周囲のエージェントの効果を学習する。段階１のシングルエージェント設定においてゴール指向作用を生成することができる上位層ｉ≧ｉ＊は、全てのエージェントの共同成功のための協調作用を生成するために、組み合わせた勾配によって微調整される。
【０１３１】
図５Ａ及び図５Ｂは、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。一態様によれば、図５Ａ及び図５Ｂの方法は、ＣＭ３フレームワークを実装するための擬似コードを示す。
【０１３２】
図６は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。図６では、シミュレータ１０８内の大きな道路ネットワークの１つのセグメントが示されている。シミュレータ１０８は、水平位置ｘｉで始まるｌ個の初期レーン（そのうちの２つは、合流ポイントに遭遇する）と、終端位置ｘｆでのｌ−１個のゴールレーンと、を含み得る。各エピソードでは、Ｎ個のエージェントは、ランダムに選択された初期レーン上で、ｘｉで放出され、各エージェントｎは、位置ｘｆで到達することを学習すべきである、ランダムに選択されたゴールレーンｇｎと関連付けられる。エージェントは、限定された視野を有する観察を受信し、別個の行動空間から行動を選択し、端末及び瞬間的な基準（例えば、到達ゴール、超過速度制限）の両方に従って、報酬を受信することができる。シミュレータ１０８は、以下の環境を定義することができる。
【０１３３】
Ｅ１：他の空の道路上のシングルエージェントは、任意の初期レーンから任意のゴールレーンに到達することを学習する。これは、初期のネットワークπ１及びＶ１を、目的Ｊｌｏｃａｌで訓練する、ＣＭ３の段階１に使用される。
【０１３４】
Ｅ２：Ｎ＝４エージェントは、確率０．８でランダムに初期化され、初期及びゴールレーンは、二重合流が生じるように、確率０．２で設定され、初期及びゴールレーンは、均一にサンプリングされる。ＣＭ３の完全な段階２のアーキテクチャは、Ｅ２において訓練される。
【０１３５】
Ｅ２＋：確率０．５／秒で放出された交通シミュレータ制御車両を使用して、一般化を試験するために使用される。
【０１３６】
一態様によれば、シミュレータ１０８は、段階１をＥ１で訓練し、続いて段階２をＥ２で訓練してもよい。別の態様によれば、競合方法は、Ｅ２において直接訓練されてもよい（例えば、車両又はエージェントが、協調するのではなく競合し得る）。
【０１３７】
シミュレータ１０８は、１つ以上の主レーン及び１つの合流レーンを含む、全長の直線道路をシミュレートするように設定されてもよい。合流レーン上の車両は、合流ウィンドウ内の主レーン上に合流することができ、合流レーンは、所定の長さで終了してもよい。レーンは幅を有してもよく、車両は、レーン内の４つのサブレーンのいずれかに沿って、横方向間隔で位置合わせされてもよい。速度限界は、所定の速度に設定されてもよい。Ｅ２＋では、クラウス車追従モデルに従って挙動する、交通シミュレータ制御乗用車及びトラック（例えば、タイプトレーラ）は、毎秒所定の確率で主レーンに放出されてもよい。シミュレーション時間解像度は、シミュレーション工程時間に設定されてもよい。
【０１３８】
一態様によれば、Ｅ１において、シングルエージェントの初期レーン及びゴールレーンは、開始及び終了レーンの数にわたって、均一分布からランダムにサンプリングされてもよい。Ｅ２において、確率０：２で、全てのエージェントの初期及びゴールレーンは、開始及び終了レーンの数にわたって、均一分布から独立してサンプリングされてもよく、確率０：８で、エージェント［１，２，３，４］は、初期レーン［２，２，３，３］及びゴールレーン［４，４，０，０］で初期化された。出発時間は、平均［０；２；０；２］ｓ及び標準偏差０．２ｓを有する正規分布から描かれてもよい。
【０１３９】
ローカルな観察
【０１４０】
一態様によれば、各エージェント車両のローカルな観察は、２つのパラメータを含んでもよい。全ての訓練段階で使用される自己に関する第１のパラメータは、エージェントの速度正規化、エージェントの現在のサブレーンとゴールレーンの中央サブレーンとの間の正規化されたサブレーン数、正規化されたゴール位置までの縦距離、合流レーン上にあることの二進インジケータ、（事前定義されたセグメント境界を使用する）道路に沿った次のセグメントまでの正規化距離を含む、ベクトルであってもよい。
【０１４１】
別の態様によれば、第２のパラメータは、４つのチャネルを有する、エージェントを中心とする離散化された観察グリッドであってもよく、４つのチャネルは、車両占有率のバイナリインジケータと、他の車両とエージェントとの間の正規化相対速度と、乗用車である車両タイプのバイナリインジケータと、トラックである車両タイプのバイナリインジケータと、を含む。
【０１４２】
グローバル状態
【０１４３】
グローバル状態ベクトルは、全てのエージェントの観察パラメータ
【数４０】
2020027656.tif 000042
の連結
【数４１】
2020027656.tif 000043
であってもよい。
【０１４４】
ゴール
【０１４５】
各ゴールベクトルｇｎは、所定の位置ｘに到達するとエージェントｎが到着すべきであるゴールレーンを示す、長さの１ホットベクトルであってもよい。各エピソード中の全てのエージェントについて、ゴールをランダムにサンプリングしてもよい。
【０１４６】
行動
【０１４７】
全てのエージェントは、以下の５つのオプション、無操作行動（例えば、現在の速度及びレーンを維持する）、加速、減速、及び１サブレーン左へのシフト、１サブレーン右へのシフトを含む、同様の別個の行動空間を有する。各エージェントの行動ａｎは、所定の長さの１ホットベクトルとして表されてもよい。
【０１４８】
個々の報酬
【０１４９】
一態様によれば、ゴールｇｎを有するエージェントｎについての報酬
【数４２】
2020027656.tif 000044
；ｇｎ）は、以下の条件に従って与えられてもよい。
【０１５０】
衝突の場合は−１０（エピソードの終了に続く）
【０１５１】
タイムアウトの場合は−１０（エピソード中に１２０のシミュレーション工程を超える）
【０１５２】
道路の終端に到達し、ゴールレーンの中心からの正規化されたサブレーン差を有する場合は＋１０（１−Δ）
【０１５３】
２００ｍ＜ｘ＜４００ｍの間に別のレーンから合流レーンに入る場合は−５
【０１５４】
２００ｍ＜ｘ＜４００ｍの間に合流レーンにいる場合は−０．５
【０１５５】
現在の速度が３５．７ｍ／秒を超える場合は−０．１
【０１５６】
共有グローバル報酬
【０１５７】
一態様によれば、共有グローバル報酬Ｒｇ（ｓｔ；ａｔ；ｇ）は、以下により決定され得る。
【０１５８】
何らかの衝突が発生した場合の−１０、及び
【０１５９】
時間ｔに道路の終端に達したエージェントの全ての個々の報酬の平均。
【０１６０】
アーキテクチャ
【０１６１】
一態様によれば、段階１の間のポリシーネットワークπ１は、入力ｏｓｅｌｆ及びｇｎのそれぞれを、３２単位を有する１つの完全に接続された層に供給する。連結は、６４単位を有する層
【数４３】
2020027656.tif 000045
に完全に接続されてもよく、それぞれが１つの別個の行動に対応する５単位を有するソフト最大出力層に完全に接続されてもよい。段階２では、入力観察グリッドｏｏｔｈｅｒｓは、サイズ５×３及びストライド１×１の４つのフィルタを有する畳み込み層によって処理されてもよく、平坦化して、６４単位を有する層に完全に接続され、次にπ１の層
【数４４】
2020027656.tif 000046
に完全に接続されてもよい。ＲｅＬＵの非線形性は、全ての隠れ層に使用され得る。行動確率は、Ｐｒ（ａｎ＝ｉ）＝（１−∈）ｓｏｆｔｍａｘ（ｉ）＋∈／｜Ａ｜によって、ソフト最大出力の下限を定めることによって計算され、式中、∈は、減衰探索パラメータであり、｜Ａ｜＝５である。
【０１６２】
段階１の間の非一元的クリティックＶ１は、入力ｏｓｅｌｆ及びｇｎのそれぞれを、３２単位を有する１つの完全に接続された層に供給してもよい。連結は、出力線形層ｈＶ１＿に、単一ユニットで完全に接続されてもよい。段階２では、入力観察グリッドｏｏｔｈｅｒｓは、サイズ５×３及びストライド１×１の４つのフィルタを有する畳み込み層１３によって処理されてもよく、平坦化して、３２単位を有する層に完全に接続され、次にＶ１の出力層
【数４５】
2020027656.tif 000047
に完全に接続されてもよい。ＲｅＬＵの非線形性は、全ての隠れ層に使用され得る。
【０１６３】
一元的クリティックＱ（ｓ，ａ，ｇ）は、入力（ｓ，ａ−ｎ，ｇｎ，ｇ−ｎ，ｎ）を受信してもよく、これは、１２８単位及びＲｅＬＵの活性化を有する２つの完全に接続された層に接続され、５単位を有する線形出力層に完全に接続され得る。各出力ノードｉの値は、行動ｉをとるエージェントｎ及び行動ａ−ｎをとる他の全てのエージェントについての、行動値Ｑ（ｓ，ａ−ｎ，ａｎ＝ｉ，ｇ）として解釈されてもよい。エージェンラベルベクターｎは、１ホットインジケータベクトルであり、異なるエージェントに対するＱ関数の評価を区別するための入力として使用される。
【０１６４】
二重再生バッファＢ１及びＢ２は、段階２の全てのアルゴリズムに対する訓練安定性を改善するために、ヒューリスティックとして使用されてもよい。各環境遷移を直ちに記憶する代わりに、追加のエピソードバッファを使用して、各エピソード中に遭遇する全ての遷移を記憶することができる。各エピソードの最後に、全てのエージェントの累積報酬を閾値（例えば、３２）と比較して、エピソードバッファ内の遷移がＢ１又はＢ２に記憶されるべきかどうかを決定することができる。訓練のために、ミニバッチの半分を、Ｂ１及びＢ２のそれぞれからサンプリングする。
【０１６５】
図７及び図８は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な性能結果の図である。図７に見られるように、ＣＭ３は、Ｅ２における他の技術よりも早く、４５ｋエピソードよりも高い性能に収束した。図８では、ＣＭ３フレームワークベースのシステム又は方法によって学習されたポリシーは、Ｅ２＋よりも良好に一般化することが分かる。
【０１６６】
図９は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。図９では、Ｅ２と関連付けられた初期レーン構成は、それらのゴールレーンに到達するために、二重合流又は二重レーン変化を実行するためのエージェントを必要とする。
【０１６７】
図１０は、一態様による、シングルエージェント環境Ｅ１における、例示的な報酬対エピソードのグラフの図である。
【０１６８】
マスキングに基づく自律型車両ポリシー生成
【０１６９】
図１１は、一態様による、自律型車両ポリシー生成システム１１００の構成要素図である。ＣＭ３強化学習のためのシステム１００は、図１１の構成要素又は自律型車両ポリシー生成システム１１００全体のうちの１つ以上を含んでもよい。自律型車両ポリシー生成システム１１００は、プロセッサ１１０２、メモリ１１０４、記憶ドライブ１１０６、状態入力発生器１１０８、交通シミュレータ１１１２、Ｑ−Ｍａｓｋｅｒ  １１１４、及び行動発生器１１１６を含んでもよい。状態入力発生器１１０８、交通シミュレータ１１１２、Ｑ−Ｍａｓｋｅｒ  １１１４及び行動発生器１１１６は、プロセッサ１１０２、メモリ１１０４及び／又は記憶ドライブ１１０６を介して実装されてもよい。
【０１７０】
自律型車両ポリシー生成システム１１００は、シミュレーションを通じて、及びＱマスキングを通じて、例えば、車両１７０のコントローラ１７６を使用して自律型車両ポリシーを実施し得る、車両１７０の自律型車両ポリシーを生成してもよい。
【０１７１】
状態入力発生器１１０８は、シミュレートされるように、自律型車両と関連付けられた状態情報を決定又は生成することができる。換言すれば、状態入力発生器１１０８は、自律型車両ポリシー生成と関連付けられたネットワークの入力を決定することを担当する。これらの入力の実施例としては、シミュレートされた自律型車両の内部の状態情報（例えば、シミュレートされた自律型車両と関連付けられた速度又は現在の速度）を含む、シミュレートされた自律型車両の状態、及びシミュレートされた自律型車両の外部の状態情報（例えば、シミュレートされた自律型車両と関連付けられたレーン配置又はレーン位置、及び所望の目的地などのゴールからの距離）を含み得る。ゴールは、必ずしも最終目的地でなくてもよいが、例えば、ルートに沿ったウェイポイント目的地であってもよい。交通シミュレータ１１１２は、シミュレートされた自律型車両と、シミュレーション環境内の１つ以上の他の車両（例えば、第１の車両、第２の車両、第３の車両など）とを含む、シミュレーション環境をシミュレートしてもよい。交通シミュレータ１１１２は、他の車両を制御して、ある範囲内の速度を維持するように構成されてもよい。
【０１７２】
一態様によれば、交通シミュレータ１１１２は、図１のＣＭ３強化のためのシステム１００のシミュレータ１０８であってもよい。加えて、プロセッサ１１０２及びメモリ１１０４は、図１のＣＭ３強化のためのシステム１００からのプロセッサ１０２及びメモリ１０４と同じであってもよい。
【０１７３】
ゴールまでの距離は、交通シミュレータ１１１２への入力として考慮され得るため、交通の中でマルチレーン高速道路などの運転シナリオに存在する場合、計画的レベルでの長期的な決定についての推論を考慮する必要がある。
【０１７４】
一態様によれば、交通シミュレータ１１１２は、シミュレーション環境内の他の車両を制御して、互いとの衝突を回避することができるが、シミュレートされた自律型車両（例えば、エージェント）とはならない。Ｑ−Ｍａｓｋｅｒ  １１１４は、低レベルコントローラを介して実装されてもよく、及び自律型車両が戦略的レベルで決定を行うことを可能にする、ポリシーを学習するディープＱ学習システムの一部である。ディープＱ学習システムは、各可能性のある行動と関連付けられた状態とＱ値との間のマッピングを学習することができる。別の言い方をすれば、交通シミュレータ１１１２は、ディープＱ学習システムを使用し、かつＱ−Ｍａｓｋｅｒ  １１１４の適用なしで、各時間フレームについて全ての可能性のある行動をシミュレートするように進み、これはプロセッサ１１０２及びメモリ１１０４の大量の計算能力を利用し得る。したがって、ありとあらゆる行動が探索される完全なポリシーを学習することは、訓練するのが大規模なネットワークでは困難であり得る。
【０１７５】
Ｑ学習ネットワークでは、各行動に関連する状態とＱ値との間のマッピングが学習され得る。一態様によれば、最大（又はソフト最大）オペレータの前に出力Ｑ値に適用されるマスクの形態のＱマスキングは、Ｑ値の出力層に適用され、「最良の」行動を選択することができる。この点に関して、Ｑ−Ｍａｓｋｅｒ  １１１４の直接効果は、「最良の」行動を選択するために最大操作をとるとき、より低いレベルのモジュールによって指示される行動のサブセットと関連付けられたＱ値のみが考慮されるということである。
【０１７６】
したがって、Ｑ−Ｍａｓｋｅｒ  １１１４は、交通シミュレータ１１１２によってシミュレートされるべき、出力Ｑ値のサブセットをマスクすることができる。したがって、行動の残りのサブセットと関連付けられたＱ値のみが、シミュレーション中に交通シミュレータ１１１２によって考慮され、それによって、自律型車両ポリシー生成における自律型車両のシミュレーション及び訓練中に利用される、処理電力及び／又はコンピューティングリソースの量を軽減する。行動の残りのサブセット（例えば、可能性のある行動のセット、マスクされたサブセットを除外した行動のサブセット）に基づいて、行動発生器１１１６は、残りの行動を探索し、それに応じて、自律型車両ポリシーを決定してもよい。これは、１つ以上の時間間隔にわたって繰り返されてもよい。これにより、Ｑ−Ｍａｓｋｅｒ  １１１４は、シミュレートされた自律型車両に、マスクされていない状態のみを探索させるように、「強制」することができ、したがって、関連付けられたＱ値の空間のサブセット（これは、状態（ｓ）に対するポリシー（π）下での行動（ａ）の長期的な戻りを示す）のみを学習する。
【０１７７】
より詳細には、状態入力発生器１１０８は、訓練を受ける自律型車両（例えば、シミュレートされた自律型車両）と関連付けられた、一セットの属性を生成してもよい。例えば、一セットの属性は、自律型車両と関連付けられた現在の速度ｖ、自律型車両と関連付けられたレーン位置ｌ、及び自律型車両からゴールまでの距離ｄ２ｇを含んでもよく、ゴールは所望の目的地であってもよい。また、車両と関連付けられた属性又は位置情報のセットは、占有グリッドとして表されてもよい。セットの属性は、自律型車両と関連付けられた状態（複数可）又はシナリオを示すか、又は表す、状態情報であってもよい。例えば、通知された制限速度又はｖｍｉｎ及びｖｍａｘの最小及び最大制限速度などの情報は、自律型車両の配置又は位置に基づいて決定されてもよい。
【０１７８】
交通シミュレータ１１１２は、自律型車両を含むシミュレーション環境、多数のレーンと関連付けられた車道、及びシミュレーション環境内の１つ以上の他の車両を含むシミュレーション環境をシミュレートしてもよい。交通シミュレータ１１１２は、交通密度で交通を生成することができ、各レーンは、時間間隔で、開始位置で車両を放出する確率Ｐレーンを割り当てられてもよく、他の車両は、ランダムな開始速度、ランダムな目標速度、及びランダムな目標速度から内部に留まる範囲と関連付けられてもよい。交通シミュレータ１１１２は、他の車両を制御して、互いとの衝突を回避するが、シミュレートされた自律型車両ではないモデルを使用してもよい。一態様によれば、交通シミュレータ１１１２は、シミュレートされた自律型車両を制御しないが、単にシミュレーション環境内の他の車両を制御して、互い（シミュレートされた自律型車両ではない）に衝突するのを回避するだけである。
【０１７９】
交通シミュレータ１１１２は、シミュレートされた自律型車両及び交通シミュレータ１１１２によって提供されるシミュレーション環境についての状態入力生成属性に基づいて、強化学習を実施する、ディープＱ学習システムであってもよい。交通シミュレータ１１１２によって管理されるシミュレーション環境内で、シミュレートされた自律型車両は、可能性のある行動のセットからシミュレートされた行動をとることができる、エージェントであってもよい。可能性のある行動のセットは、行動セット（Ａ）として知られ得る。例えば、自律型車両のための可能性のある行動のセットは、時間間隔の間の、自律型車両と関連付けられた現在の速度を維持すること、加速すること、減速すること、右レーン変更を実行すること、又は左レーン変更を実行することである自律運転操作を含む。
【０１８０】
シミュレーション環境は、シミュレートされた自律型車両が移動する世界又は環境であってもよい。交通シミュレータ１１１２は、シミュレートされた環境をシミュレートし、シミュレートされた自律型車両の現在の状態及び行動（例えば、所与の時間間隔）を入力として使用し、以下に説明するシミュレートされた自律型車両の報酬及び次の状態を出力として返す。例えば、交通シミュレータ１１１２は、車両の現在の状態（例えば、５０ｍｐｈ）及び行動（例えば、減速）をとり、シミュレートされた自律型車両の次の状態（例えば、４５ｍｐｈ）を決定するために物理学の法則を適用することができる。
【０１８１】
交通シミュレータ１１１２は、とられた（例えば、シミュレートされた）行動を評価する機能であり得る、報酬機能（Ｒ）を利用してもよい。別の言い方をすれば、報酬機能を利用して、成功又は失敗を測定することができる。例えば、シミュレートされた自律型車両が、ゴール（例えば、所望の目的地）を逸した場合、又は衝突に関与する場合、報酬機能は、現在の状態（例えば、逸したゴール又は衝突）に導かれる、シミュレートされた行動を無効化することができる。逆に、報酬機能は、ゴールまでの最速時間又は最短経路に基づいて、報酬を授与することができる。報酬はすぐに提供されてもよく、報酬機能に基づいて、遅延されてもよい。報酬機能によって提供される報酬は、所与のゴール（例えば、出口ランプに到達する）に基づいて、強化学習が行われることを可能にする。
【０１８２】
短期的な決定を長期的な報酬よりも重くするために、割引係数（γ）に、将来の報酬をかけてもよい。別の言い方をすれば、割引係数は、将来の報酬を即時の報酬よりも価値の低いものにするために使用され得る。この点に関して、値（Ｖ）は、割引の影響を含む、予期長期的な収益であり得る。Ｑ値（Ｑ）は、状態（ｓ）上のポリシー（π）下での行動（ａ）の長期的な収益を示す、行動値であってもよい。軌道は、それらの状態を含む連続的な状態及び／又は行動であってもよい。ポリシー（π）又は自律型車両ポリシーは、（例えば、自律型車両と関連付けられたセットの属性によって示されるような）現在の状態に基づいて、自律型車両に対する次の行動を決定するために、行動発生器１１１６が使用又は利用する戦略であってもよい。
【０１８３】
一態様によれば、報酬機能は、以下のものであってもよい。
【０１８４】
【数４６】
2020027656.tif 000048
式中、ｌは、模擬自律型車両が開始位置から目標距離Ｄに位置するレーンである。
【０１８５】
したがって、この報酬機能によれば、成功すると（例えば、ゴールに到達すると）、正の最終報酬が与えられ、更に、シミュレートされた自律型車両が、ゴールと関連付けられたレーンから離れて終了するにつれて、負の最終報酬が与えられる。割引係数は、シミュレートされた自律型車両が、最短時間又は最小数の時間間隔（すなわち、より高い平均速度を維持する）で、ゴールに到達するように促し得る。更に、訓練中に衝突が決して許容されないため、報酬機能は、衝突を考慮する必要はなく、それによって報酬機能が簡略化される。
【０１８６】
例えば、状態を考慮すると、Ｑ−Ｍａｓｋｅｒ  １１１４は、エージェント又はシミュレートされた自律型車両がそれらの結果から探索又は学習する必要がない任意の行動のセットを制限するか、又は別の方法で「マスクオフ」することができる。換言すれば、シミュレートされた自律型車両が最も左側のレーンに位置している場合、左へのレーン変更行動をとることは、高速道路を降りることをもたらすであろう。したがって、Ｑ−Ｍａｓｋｅｒ  １１１４は、左へのレーン変更行動がそのような状態で決して選択されないように、左への行動と関連付けられたＱ値にマスクをかけることができる。これにより、システムに関する事前の知識（すなわち、この実施例では高速道路路肩）を、直接的に学習プロセスに組み込むことが可能になる。次に、高速道路を降りることに対する否定的な報酬は設定される必要がなく、それによって報酬機能が簡略化される。
【０１８７】
また、行動発生器１１１６はこれらの状態を探索しないため、学習自体がより速く、より効率的になる。行動発生器１１１６が学習を終了することは、セット全体ではなく、Ｑ値の実際の空間のサブセットである。システム上の制約も、同様の方法で組み込まれてもよい。例えば、自律型車両が最大速度ｖｍａｘで運転している場合、加速行動は、マスクされてもよい（又は最小速度ｖｍｉｎである場合、減速行動がマスクされる）。このようにして、行動発生器１１１６は、高速道路又は道路の速度制限を学習するのに時間を費やす必要はない。
【０１８８】
Ｑ−Ｍａｓｋｅｒ  １１１４は、自律型車両の可能性のある行動のセットのサブセットに、時間間隔にわたって適用されるマスクを決定することができる。これらのマスクの行動のセットは、行動発生器１１１６によって探索されるか又は考慮されず、それによって、自律型車両ポリシー生成のためのシステムによって利用される、計算リソース（例えば、処理電力、メモリ、記憶装置など）の量を軽減する。
【０１８９】
一態様によれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識、低レベルコントローラからの１つ以上の交通ルール、制約若しくは情報、又は自律型車両と関連付けられた能力に基づいて、適用されるべきマスクを決定してもよい。以前の知識は、自律型車両とシミュレーション環境との間、又はシミュレーション環境内の自律型車両と他の車両との間の所定の許容可能な相互作用を示し得る。別の言い方をすれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、従来の知識を利用して、例えば、シミュレートされた自律型車両と他の車両との間の衝突をもたらすか、衝突まで時間（time to collision、ＴＴＣ）を増加させるか、シミュレートされた自律型車両を、道路から逸脱させるか、又は所望の操作閾値若しくは範囲外に落とし得る行動を、マスクすることができる。
【０１９０】
交通ルールは、車両の位置又は現在の配置に基づいて、許容可能な運転操作を示すことができる。例えば、交通ルールは、最大速度制限、最小速度制限、急旋回しないなどの運転エチケット、間の一時停止なしに二重レーン変更を行うこと、他のドライバーを「遮断する」運転操作を行わないことなどを含み得る。言い換えれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、交通ルールに基づいて、自律型車両と関連付けられた現在の速度が車道と関連付けられた制限速度よりも大きいときに加速し、自律型車両と関連付けられた現在の速度が道路と関連付けられた最小速度制限よりも小さいときに減速することを含むように、行動のマスクされたサブセットを決定することができる。このようにして、ｖｍｉｎ及びｖｍａｘの最小及び最大速度制限を破壊するであろう加速及び減速行動は、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされる。
【０１９１】
他の交通ルールは、二重レーンマーキングを通過しないことを含み得る。例えば、Ｑ−Ｍａｓｋｅｒ  １１１４は、交通ルールに基づいて、自律型車両が道路の二重レーンマーキングのすぐ右側に位置するときに、右へのレーン変更を実行する自律運転操作、及び自律型車両が車道の二重レーンマーキングのすぐ左側に位置するときに、左へのレーン変更を実行する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９２】
更に、自律型車両と関連付けられた能力は、自律型車両と関連付けられた物理的に可能な運転操作を示すことができる。例えば、自律型車両が既に最高速度で走行している場合、加速を不可能とし得、したがって加速行動は、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされ得る。別の実施例として、車両が操作速度で操作されているとき、乗り心地の滑らかさに影響を与えるため、減速する、又は強いブレーキをかける行動は望ましくない場合がある。これは、加速又は減速閾値としてＱ−Ｍａｓｋｅｒ  １１１４によって適用されてもよく、それにより、自律型車両によってとられた行動は、ほとんどのシナリオであるこの加速又は減速閾値を超えないようにされる。
【０１９３】
しかしながら、衝突を防止又は軽減するためのシナリオなどのいくつかのシナリオでは、Ｑ−Ｍａｓｋｅｒ  １１１４は、加速又は減速閾値を超えることを許可し得る。このようにして、Ｑ−Ｍａｓｋｅｒ  １１１４は、シナリオ固有の様式で閾値を実装することができる。換言すれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、乗客の安全性を考慮しながら、乗り心地をより快適にすることを可能にするように、最大加速又は減速のレベルを適用するために、１つ以上の運動学的ルールを利用することができる（例えば、この閾値が、衝突を回避するために無効にされ得る）。更に、異なる運動学的ルールは、車両の現在の速度、現在の位置、現在の加速度等に基づいて実装されてもよい。例えば、加速度閾値は、車両が静止しているときよりも、車両が動いているときにより大きくなり得る。
【０１９４】
Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされ得る行動の他の実施例としては、自律型車両が道路から離れて走行することになるレーン変更が挙げられる。別の言い方をすれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、自律型車両が車道の最も右のレーン上に位置するときに、右へのレーン変更を実行する自律運転操作、及び自律型車両が車道の最も左のレーン上に位置するときに、左へのレーン変更を実行する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９５】
同様に、Ｑ−Ｍａｓｋｅｒ  １１１４は、別の車両への加速又は減速と関連付けられた行動をマスクすることができる。例えば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、自律型車両及び他の車両の両方が同じレーン内に位置している場合に、自律型車両が他の車両の後ろに第１の閾値距離だけ離れているときに加速する自律運転操作、並びに自律型車両及び他の車両の両方が同じレーン内に位置している場合に、自律型車両が他の車両の前方に第２の閾値距離だけ離れているときに減速する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９６】
別の態様によれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、他の閾値（例えば、一部のシナリオでは、レーン変更閾値距離に基づいてレーン変更がない、又は衝突までの時間（ＴＴＣ）推定値の減少と関連付けられた行動がない）に基づいて、シミュレートされた自律型車両の行動をマスクすることができる。例えば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、自律型車両が右側に位置し、他の車両のレーン変更閾値距離内にあるときに、左へのレーン変更の自動運転操作、及び自律型車両が左側に位置し、他の車両のレーン変更閾値距離内にあるときに、右へのレーン変更の自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、ＴＴＣ推定値が閾値ＴＴＣ値を下回るときに、自律型車両と他の車両との間のＴＴＣ推定値に伴う予想される減少と関連付けられたいくつかの運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９７】
このようにして、Ｑ−Ｍａｓｋｅｒ  １１１４は、多くの利益及び／又は利点を提供する。例えば、Ｑマスキングを使用すると、報酬機能を簡略化することができ、それによって、ディープＱ学習をより速く、より効率的にすることができる。別の言い方をすれば、報酬機能は、交通シミュレータ１１１２及び行動発生器１１１６によって実装されるように、以前の知識を、学習プロセス（例えば、ネットワークを訓練する）に直接組み込むことによって、簡略化され得る。以前の知識に基づいて、Ｑ−Ｍａｓｋｅｒ  １１１４は行動をマスクするため、負の報酬機能は必要ではなく、それによって報酬機能が簡略化される。Ｑマスキングを使用することにより、Ｑ−Ｍａｓｋｅｒ  １１１４は、訓練又は試験中に衝突を軽減又は排除することができ、それにより、必ずしもシミュレーション中のシステムだけではなく、実際のシステムに直接訓練を行うことが可能となる。換言すれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、実際の自律型車両上での自律型車両の訓練の実現を可能にし得る。したがって、一態様によれば、交通シミュレータ１１１２は、代わりに、１つ以上の他の車両（例えば、第１の車両、第２の車両、第３の車両など、及び速度、位置、レーン位置、ターン信号などの１つ以上の関連付けられた属性）を検出するセンサと交換することができる。
【０１９８】
行動発生器１１１６は、可能性のある行動のセットから残りの行動のセットを探索し、残りの行動のセット（例えば、行動のマスクされたサブセットを除く）及び自律型車両と関連付けられた属性のセットに基づいて、時間間隔についての自律型車両ポリシーを決定し得る。行動発生器１１１６は、可能性のある行動のセットから残りの行動のセットを探索し、自律型車両が最終状態（例えば、ゴール又は所望の目的地）に達するまでなど、１つ以上の追加の時間間隔についての自律型車両ポリシーを決定してもよい。ここで、行動発生器１１１６は、１つ以上の追加の時間間隔と関連付けられた探索された行動のセットのうちの１つ以上を、１つ以上の対応する軌道として記憶することができる。前述のように、軌道は、それらの状態を含む連続的な状態及び／又は行動であってもよい。
【０１９９】
行動発生器１１１６は、報酬機能に基づいて、可能性のある行動のセットから残りの行動のセットを探索し、報酬機能に基づいて、自律型車両ポリシーを決定してもよい。報酬機能は、割引係数を含んでもよい。訓練及び／又はシミュレーションを通じて、行動発生器１１１６は、記憶ドライブ１１０６に記憶され、車両１７０に通信され、及び自律運転を容易にするために車両ＥＣＵ１７６を介して実装され得る、自律型車両ポリシーを学習し得る。
【０２００】
訓練中に、イプシロングリーディ法で行動をとり、Ｅをアニールすることができる。行動発生器１１１６は、最終状態まで完全軌道をシミュレートし、良好又は不良のいずれかとして、軌道を分類する（すなわち、良好なバッファは、衝突に巻き込まれることなく、制限速度を超えることもなく、ゴールに到達するようにシミュレートされた自律型車両と関連付けられる）。別の方法で説明すると、全ての遷移（すなわち、成功した軌道からの状態、行動、及び報酬のタプル）は、良好なバッファに保存され、失敗した軌道からの遷移（すなわちゴールに到達しない）は、不良バッファに保存される。
【０２０１】
任意の遷移のために、期待される報酬は、以下によって与えられる最終報酬から逆算することができる。
【０２０２】
【数４７】
2020027656.tif 000049
式中、γは、割引係数である。
【０２０３】
ネットワークは、良好及び不良なバッファから均等にサンプリングされた遷移のミニバッチを使用して、以下の損失関数を使用して最適化され得る。
【０２０４】
Ｌ（θ）＝（ｙｔ−Ｑ（ｓｔ，ａｔ，θ））２
【０２０５】
２つの別個のバッファは、探索が失敗した軌道に絶えず導く可能性がある場合に、成功した実行への適当な露出を維持するのに役立ち、したがって、ネットワークが局所的最小値で動けなくなることを回避する。
【０２０６】
このようにして、自律型車両ポリシー生成システム１１００は、高レベルの戦術的意思決定のためのディープ強化学習の長所を活用するフレームワークを提供し、問題に関するエンドツーエンドの完全なポリシー学習に対する、より構造化された、及びデータ効率的な代替案を示す。高レベルのポリシーは、伝統的な最適化又はルールベースの方法を使用して定式化するのが難しいかもしれないが、十分に設計された低レベルコントローラ（例えば、Ｑ−Ｍａｓｋｅｒ  １１１４を実装するコントローラ）が、利用可能である。自律型車両ポリシー生成システム１１００は、低レベルコントローラとの厳格な統合を維持しながら、ディープ強化学習を使用して、戦略的意思決定のための高レベルのポリシーを得る。
【０２０７】
このフレームワークを自律型レーンに適用して、自動運転型車両（例えば、自律型車両）の意思決定を変更することにより、ネットワークは、高レベルの戦略的意思決定ポリシーを学習することができる。グリーディベースライン及び人間のドライバーに対する実験結果は、本明細書に記載されている自律型車両ポリシー生成システム１１００及び方法が、（例えば、衝突を排除することによって）より効率的ではるかに低い衝突レートで、性能を上回ることができることを証明した。グリーディベースラインは、自律型車両が正しいレーンに入るまで、正しいレーン変更を優先し、次に制限速度内に留まりながら他の車と衝突しないように、できるだけ速く走行するというポリシーであり得る。
【０２０８】
一態様によれば、状態入力発生器１１０８は、オクルージョンに留意することができ、交通シミュレータ１１１２は、確率的占有グリッドを提供することができる。更に、交通シミュレータ１１１２は、別個のチャネルとして、前の時間間隔から占有グリッドの履歴を受信することができる。
【０２０９】
図１２は、一態様による、自律型車両ポリシー生成方法２００のフロー図である。１２０２において、自律型車両に対する一セットの属性が生成される。一セットの属性は、自律型車両と関連付けられた現在の速度、自律型車両と関連付けられたレーン位置、及び自律型車両からゴールまでの距離を含んでもよく、ここでゴールは所望の目的地である。１２０４において、交通シミュレーションが実行される。例えば、シミュレーション環境は、自律型車両、多数のレーンと関連付けられた車道、及びシミュレーション環境内の別の車両を含んでもよい。
【０２１０】
１２０６において、行動のサブセットについてのマスクが決定される。マスクは、自律型車両とシミュレーション環境との間又はシミュレーション環境内の自律型車両と他の車両との間の既定の許容可能な相互作用を示す以前の知識、許容可能な運転操作を示す交通ルール、又は自律型車両と関連付けられた物理的に実施可能な運転操作を示す自律型車両と関連付けられた能力に基づいて決定されてもよい。
【０２１１】
１２０８において、マスクされていない残りの行動のセットが探索される。別の言い方をすれば、シミュレーションは、残りの行動のセットと関連付けられた全ての可能な結果を探索することができ、これらを、良好と不良の２つのクラスに分類することができ、ここで良好なものは、ゴールに到達したシミュレートされた自律型車両と関連付けられ、不良なものは、ゴールに到達していないシミュレートされた自律型車両と関連付けられる。１２１０では、報酬機能又は割引係数に基づくなど、時間、将来の報酬対現在の報酬等を考慮する自律型車両ポリシーが決定される。
【０２１２】
図１３Ａは、一態様による、例示的な自律型車両ポリシー生成方法のフロー図である。履歴を有する占有グリッドは、単一の畳み込み層を通過し、状態入力発生器１１０８によって生成されたスカラー入力を有する、完全に接続された層の出力と連結されてもよい。この連結は、完全に接続された層を通過して、５つの戦略的行動と関連付けられた５つのＱ値の最終出力を与える。図１３Ａに見られるように、Ｑ−Ｍａｓｋｅｒ  １１１４によるＱマスキングは、Ｑ値と最大操作との間に注入されて、行動発生器１１１６による行動を決定し、それによって事前の情報が組み込まれるので、探索によってゼロから学ぶことは、必ずしも必要ではない。最大操作は、行動を選択するためのＱ値に対する最大又はソフト最大操作であり得る。
【０２１３】
図１３Ｂは、一態様による、自律型車両ポリシー生成と関連付けられた例示的なシミュレーションインターフェースの図である。上述したように、自律型車両のための可能性のある行動のセットは、時間間隔の間の、自律型車両と関連付けられた現在の速度を維持すること（例えば、「Ｎ」又は操作なし）、加速すること（Ａ）、減速すること（Ｄ）、右レーン変更を実行すること（Ｒ）、又は左レーン変更を実行すること（Ｌ）である自律運転操作を含む。減速（Ｄ）に加えて、ブレーキ解除行動などの他の行動も予期される。一態様によれば、ブレーキ解除行動を行うとき、加速度閾値は実施されなくてもよい。別の言い方をすると、ブレーキを解除することは、この態様によれば、Ｑ−Ｍａｓｋｅｒ  １１１４がブレーキ解除行動をマスクすることがないように、常にオプションとすることができる。
【０２１４】
図１４Ａ〜図１４Ｃは、一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。１つの例示的な態様によれば、シミュレートされた自律型車両は、図１４Ａに見られるように、制限速度を尊重し衝突などを回避しながら、最短時間で最も右のレーンの出口に到達するように任務を課される。図１４Ａでは、自律型車両は、出口からゴールｄ２ｇまでの距離である。シミュレートされた自律型車両が、出口（例えば、このシナリオにおけるゴール）に到達できなかった場合、これは、行動発生器１１１６又は交通シミュレータ１１１２による故障と見なされる。ゴールまでの距離は、低レベルコントローラからの制約情報の以前の知識などの情報とともに考慮されているため、高レベル及び低レベルの考慮事項の両方が考慮される。
【０２１５】
図１４Ｂにおいて、自律型車両又はエージェントが位置１４０２にある場合、その自律型車両は既に道路の最も左のレーンにあるため、左レーン変更行動は、Ｑ−ｍａｓｋｅｒ  １１１４によってマスクされ得る。同様に、自律型車両が位置１４０４にあるときに、加速行動が、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされてもよく、一方で、自律型車両が位置１４０６にあるとき、減速行動が、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされてもよい。これらの加速及び減速行動は、それぞれ他の車両に対する閾値距離に基づいてマスクされ得る。
【０２１６】
図１４Ｃでは、２つの異なる軌道１４１０及び１４２０が示されている。行動発生器は、Ｑ−Ｍａｓｋｅｒ  １１１４が、それぞれの軌道に関わる任意の意思決定におけるリスクの大部分を既に軽減しているため、より高い報酬（例えば、より速い時間）と関連付けられた軌道を選択することができる。
【０２１７】
図１５は、一態様による、相互作用認識意思決定のためのシステム１５００の例示的な構成要素図である。相互作用認識意思決定のためのシステム１５００は、図１〜図１０を参照して上述したような協調的マルチゴール、マルチエージェント、多段階（ＣＭ３）強化学習の特徴を利用してもよい。更に、相互作用認識意思決定のためのシステム１５００は、図１１〜図１４を参照して上述したような自律型車両ポリシー生成の特徴を利用してもよい。相互作用認識意思決定のためのシステム１５００は、プロセッサ１０２、メモリ１０４、シミュレータ１０８、及び通信インターフェース１５０を含み得る。これらの構成要素は、バス１０６を介して通信可能に結合され得る。相互作用認識意思決定のためのシステム１５００のシミュレータ１０８は、第１の段階及び第２の段階に従って、多段階訓練を実行してもよい。
【０２１８】
第１の段階内で、シミュレータ１０８は、マルコフ決定プロセス（ＭＤＰ）を使用して、シングルエージェント環境において１つ以上の特徴を学習するために、第１のポリシー勾配に基づく第１のエージェントについての訓練及び第１の損失関数に基づく第１のクリティックの訓練を実行し得る。シングルエージェント環境では、第１のエージェントは、存在する唯一のエージェントである。環境内の特徴は、道路に対する１つ以上の分岐、１つ以上のレーン、（例えば、段階１の訓練中に静的であり得る）１つ以上の障害物を含んでもよい。段階１の訓練（例えば、訓練の第１の段階）では、シミュレータ１０８は、１つ以上のタスク又はゴールを達成するために、エージェントを訓練してもよい。シングルエージェント環境内に他のエージェントが存在しないため、段階１でシミュレータ１０８によって提供されるシングルエージェント設定又は環境は、他のエージェントが存在しないことでゴールの達成と関連付けられた学習挙動に望ましい状態構成をより確実に生成することができるので、第１のエージェントが、シングルエージェント環境の１つ以上の特徴について好都合で効率的な方法で、学習又は訓練できるようにする。このようにして、運転又は操作能力のあるレベルに到達するために、必要なシミュレーションの反復回数が少なくてすむ。
【０２１９】
シミュレータ１０８は、状態入力発生器１１０８、Ｑ−Ｍａｓｋｅｒ  １１１４、行動発生器１１１６、ドライバータイプマネージャ１５０２、及び優先度決定部１５０４を含み得る。状態入力発生器１１０８は、シミュレートされたエージェントである第１のエージェントと関連付けられた状態情報を決定又は生成することができる。このようにして、状態入力発生器１１０８は、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシー生成と関連付けられたネットワークの入力を決定してもよい。状態入力発生器１１０８によって生成される入力例は、現在の速度、レーン位置、ゴール又は所望の目的地からの距離などの第１のエージェントの状態を含んでもよい。
【０２２０】
Ｑ−Ｍａｓｋｅｒ  １１１４は、シミュレータ１０８によってシミュレートされるべき、出力Ｑ値（例えば、行動セット）のサブセットをマスクすることができる。行動発生器１１１６は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいて第１のエージェントを訓練してもよい。したがって、行動の残りのサブセットと関連付けられたＱ値のみが、シミュレーション中にシミュレータ１０８によって考慮され、それによって、自律型車両ポリシー生成における自律型車両のシミュレーション及び訓練中に利用される、処理電力及び／又はコンピューティングリソースの量を軽減する。
【０２２１】
行動の残りのサブセット（例えば、可能性のある行動のセット、マスクされたサブセットを除外した行動のサブセット）に基づいて、行動発生器１１１６は、残りの行動を探索し、それに応じて、自律型車両ポリシーを決定してもよい。これは、異なる時間間隔にわたって繰り返されてもよい。これにより、Ｑ−Ｍａｓｋｅｒ  １１１４は、シミュレートされた自律型車両に、マスクされていない状態のみを探索させるように、「強制」することができ、したがって、関連付けられたＱ値の空間のサブセット（状態（ｓ）に対するポリシー（π）下での行動（ａ）の長期的な戻りを示す）と関連付けられた行動のみを学習する。
【０２２２】
第１のポリシー勾配に基づいて第１のエージェントを訓練し、ＭＤＰに従って、シングルエージェント環境内の第１の損失関数に基づいて第１のクリティックを訓練する間、シミュレータ１０８は、第１のエージェントが、一セットの１つ以上の行動からの行動を選択することを可能にすることによって、第１のエージェントを訓練してもよい。可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【０２２３】
第１のエージェントによって段階１で学習され得る特徴のうちの１つ以上の実施例としては、学習ルール及び道路の規制、制限速度内で車道を運転する又は速度を維持する方法、レーン内に車両を維持する方法、レーンを変更する又はサブレーン位置を変更する方法、出口ランプで降りる方法、オンランプに入る方法などが含まれ得る。
【０２２４】
このようにして、第１のポリシーネットワークは、シングルエージェント設定又は環境において異なる特徴を学習し得る、非一元的クリティックを有する。第１のクリティックは、非一元的クリティックであってもよいため、第１の段階又は段階１は、第１のエージェントのためのローカルビュー又は個別化された報酬、個別化された学習などと関連付けることができる。このようにして、シミュレータ１０８は、マルコフ決定プロセスを使用して、シングルエージェント環境（第１のエージェントが、存在する唯一のエージェントである）において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて第１のエージェントを訓練し、第１の損失関数に基づいて第１のクリティックを訓練してもよい。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。
【０２２５】
シミュレータ１０８は、マルコフゲームを使用して、マルチエージェント環境におけるＮ個のエージェント（例えば、第１のエージェントを含み得る）間の第２のセットの特徴を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配及び第２のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のクリティックを訓練することを含む。一態様によれば、マルチエージェント環境のＮ個のエージェントのうちの１つ以上は、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。換言すれば、段階２の訓練では、シミュレータ１０８は、競合ドライバータイプによってシミュレートされるように、協調性の低いドライバーが周囲にいるときに、第１のエージェントに運転又は操作する方法を教えることができる。
【０２２６】
Ｎ個のエージェントのうちの１つ以上は、段階１の訓練からの事前訓練された第１のエージェントニューラルネットワークでインスタンス化又は初期化されてもよい。したがって、Ｎ個のエージェントのそれぞれは、事前訓練された第１のエージェントニューラルネットワークからの以前の知識を有してもよく、カリキュラムの獲得が、ＣＭ３強化学習を使用して実施されてもよい。シミュレータ１０８は、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、Ｎ個のエージェントを訓練することができる。しかしながら、ドライバータイプ（例えば、Ｎ個のエージェントのそれぞれのエージェントについての協調のレベルを示す）に基づいて、Ｎ個のエージェントのうちの１つ以上は、段階２の訓練中に必ずしも協調しなくてもよく、それにより、他のエージェント（例えば、車両）が必ずしも友好的又は協調的であるとは限らない環境での操作方法又は運転方法を、最初のエージェントが学習できるようにする。更に、前述したように、１つの態様によれば、Ｎ個のエージェントのうちの１つ以上のドライバータイプは、シミュレーション又は訓練（例えば、訓練の途中）の間に変化し得る。他の態様によれば、Ｎ個のエージェントのうちの１つ以上のドライバータイプは、シミュレーション又は段階２の訓練中に一定のままであり得る。数学的フレームボードを使用して、異なるドライバータイプを有するエージェントの異なるタイプの挙動を生成することができる。一態様によれば、ドライバータイプは、協調的又は競合的であり得る。別の態様によれば、ドライバータイプは、数（例えば、１〜１０のスケール、又は−２〜＋２のスケールなどで）表されてもよい。
【０２２７】
例えば、合流レーンでは、非常に協調的なドライバー（例えば、＋２）は、安全のために交通に合流する前に前もって減速するかもしれないが、協調的ではないドライバー（例えば、−２）は加速し、合流するスペースのために争うかもしれない。同様に、主レーン又は道路では、協調的なドライバーは、合流車両に道を譲るかもしれないが、競合的なドライバーは、加速して最初に合流ポイントを通過しようとするかもしれない。
【０２２８】
それに関係なく、シミュレータ１０８は、マルコフゲームを使用して、マルチエージェントにおいて１つ以上のゴールを学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練してもよい。段階２の訓練内で、障害は、衝突が２つの車両間で発生するときに割り当てられてもよい。Ｎ個のエージェントの各エージェントは、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられ得る。
【０２２９】
例えば、第１の車両が車道内で直線状にあり、第２の車両がその直線と合流するレーンにある場合、第１の車両は、第２の車両よりも高いレーン優先度レベルを割り当てられてもよい。このシナリオでは、優先度決定部１５０４は、第２の車両が合流レーンにあることに基づいて、第１の車両と第２の車両との衝突の場合に、第２の車両に障害を割り当てることができる。しかしながら、優先度決定部１５０４は、各車両の位置に基づいて、また、マルチエージェント環境（例えば、道路の構成）のレイアウトに基づいて、基づく各車両に対してレーン優先度レベルを割り当てることができ、第１の車両が第２の車両よりも低いレーン優先度レベルを割り当てられ得るシナリオが存在し得る。
【０２３０】
例えば、直線に合流しているレーン内の第２の車両が、少なくとも閾値距離だけ第１の車両よりも前にある場合、優先度決定部１５０４は、第２の車両が第１の車両の前にある（例えば、第１の車両が第２の車両の後部にある）ことに基づいて、第１の車両と第２の車両とが衝突した場合に、障害を第１の車両に割り当て得る。更に、故障の割合は、第１の車両と第２の車両との間の距離に基づいて、割り当てられてもよい。優先度決定部１５０４は、この故障の割合を利用して、衝突に関わるそれぞれのエージェント又は車両のうちのそれぞれ１つに割り当てられるべき負の報酬又はペナルティを決定することができる。
【０２３１】
具体的には、優先度決定部１５０４は、故障が実際の交通ルールと同様に割り当てられてもよいため、シミュレートされた事故又は衝突に関与する全てのパーティに対して負の報酬を必ず課したり、割り当てたりしなくてもよい。また、優先度決定部１５０４が、２つ以上の車両が等しいレーン優先度レベルを有すると決定することができる更に他のシナリオが存在し、このシナリオで衝突が発生した場合、関与する車両は、等しい量の障害を割り当てられてもよい。このようにして、シミュレータ１０８は、どのエージェントも他よりも高い優先度を持たないシナリオで車両又はエージェントが動作することを可能にするように、ネットワークポリシーを訓練することができるが、時には他のドライバーが先に進んでもよく、他の場合には、第１のエージェントが最初に進んでもよい。優先度決定部１５０４の態様の更なる説明及び実施例は、以下で説明される図１９Ａ〜図１９Ｄを参照して行われる。
【０２３２】
シミュレータ１０８による段階２の訓練に関する説明に戻ると、第１のエージェントは、それがＮ個のエージェントのうちの別の１つよりも高いレーン優先度レベルを有することを認識され得るが、ドライバータイプマネージャ１５０２によって割り当てられ得る異なるドライバータイプのために、他のエージェントは、それらのより低いレーン優先度レベルに従って必ずしも道を譲るとは限らない。別の言い方をすれば、上記の実施例を参照すると、段階２の訓練中に、第１の車両が直線上にあり、第２の車両が直線に合流するレーンにある場合、第２の車両の位置にあるいくつかのエージェントは、必ずしも第１の車両に道を譲らない場合があり（例えば、第２の車両が、事実上加速するか、又は第１の車両を無視する場合がある）、一方で第２の車両の位置の他のエージェントは、２つの車両又はエージェントの異なるレーン優先度レベルによる要求に応じて道を譲る場合がある。
【０２３３】
なおも再度説明するが、実際のドライバーは、他のドライバーを遮断したり、又は自身の車両を非協調的若しくは競合的な様式で操作したりする可能性があるため、本明細書に記載される相互作用認識意思決定のためのシステム及び方法は、シミュレートされた非協調的又は競合的なエージェント（例えば、Ｎ個のエージェントのうちのいくつか）が存在するマルチエージェント環境において、第１のエージェントを訓練することによってこれを考慮に入れ、それによって、シミュレータ１０８がネットワークポリシー及び／又はＮ個のエージェントを訓練し得る、様々なクラッシュ又は衝突シナリオを引き起こす。例えば、ドライバータイプのうちの非協調的ドライバーは、自身の合流操作中、又は他のエージェントの合流操作中に加速する場合がある。逆に、ドライバータイプのうちの協調的ドライバーは、交通に合流する前に事前に減速し、又は他のエージェントの合流操作中に別のエージェントに道を譲る場合がある。
【０２３４】
更に、マルチエージェント環境内のＮ個のエージェントのうちの１つ以上によってとられた行動の観察に基づいて、シミュレータ１０８は、Ｎ個のエージェントのうちの１つ以上（例えば、第１のエージェントの視点から）観察されたドライバータイプに留意することができる。換言すれば、第１のエージェントが、第２のエージェントがそのエージェントのレーンの優先度レベルに従わない様式で作用していることを観察する場合、ドライバータイプマネージャ１５０２は、観察に基づいて、第２のエージェントが非協調的ドライバータイプであるか、又はドライバータイプを推定することに留意することができる。このようにして、シミュレータ１０８は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づく、第１のエージェントの訓練、及びマルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーの生成を可能にし、それによって、ＣＭ３、道路優先度の概念、及び協調的及び非協調的ドライバーの概念などを組み込むことができる。
【０２３５】
更に、相互作用認識意思決定のためのシステム及び方法は、適応挙動を組み込み（incorporate adaptive behavior、ＩＤＡＢ）、マルチエージェント強化学習及び１つのアクター、ＣＭ３の二重クリティックを使用しながら、合流シナリオの下で自律型車両に適用され得る。第１のエージェントとＮ個のエージェントのうちの他のエージェントとの間の相互作用は、（例えば、他のエージェントのドライバータイプに応じて）異なる場合があるため、第１のエージェントは、マルチエージェント環境における訓練中に異なる応答戦略を学習するであろう。具体的には、学習されたネットワークポリシーは、一般に、観察された他の運転挙動に対して適応的である。加えて、Ｑ−Ｍａｓｋｅｒ  １１１４は、より高速かつより効率的な学習プロセスを促進するマスキング機構を採用するように実装されてもよい。
【０２３６】
マルコフゲームに関して、シミュレータ１０８は、ｎ∈［１，Ｎ］でラベル付けされたＮ個のエージェントを有する、マルチエージェントマルコフゲームを定義してもよい。マルコフゲームは、全てのエージェントの可能な構成、一セットの部分観測Ｏｎ、及び各エージェントに対する一セットの行動Ａｎを記述する一セットの状態Ｓによって定義されてもよい。優先度決定部１５０４及びドライバータイプマネージャ１５０２は、それぞれ、レーン優先度及びドライバータイプ情報
【数４８】
2020027656.tif 000050
を決定又は生成することができ、それらは、エージェントの挙動に影響を及ぼし得る、２つの所定のパラメータである。各エージェントｎは、シミュレータ１０８を介して、確率的ポリシーπｎ：Ｏｎ×Ｂｎ×Ａｎ→［０，１］に従って自身の行動を選択してもよく、Ｎ個のエージェントの共同行動は、遷移関数Ｔ：Ｓ×Ａ１×．．．×ＡＮ→Ｓに従って、次の状態に移動する。各エージェントは、状態、エージェント挙動、及びエージェント行動の関数である、報酬
【数４９】
2020027656.tif 000051
を受信してよく、自身の全ての期待される戻り
【数５０】
2020027656.tif 000052
を最大化し、式中、γ∈［０，１）は割引係数であり、Ｔは時間的水平である。
【０２３７】
アクター−クリティック方法は、シングルエージェント環境及びマルチエージェント環境の両方の中で、異なる強化学習タスクのために利用され得る。アクターは、どのように行動が選択されるかを定義する、パラメータ化されたポリシーであってもよい。クリティックは、アクターによって行われる行動を批評する推定された状態値関数であってもよい。シミュレータ１０８は、次いで、クリティックの評価に関して、アクターのパラメータを更新してもよい。
【０２３８】
一般に、シングルエージェント環境では、πは、θによってパラメータ化され、目的
【数５１】
2020027656.tif 000053
を、∇θＪ（θ）の方向に段階的にとることによって最大化し、ここで期待値
【数５２】
2020027656.tif 000054
は、πによって引き起こされる状態−行動分布に関するものである。ポリシーの勾配は、以下のように書くことができる。
【０２３９】
【数５３】
2020027656.tif 000055
【０２４０】
式中、
【数５４】
2020027656.tif 000056
は、ポリシーπに対する行動値関数であり、ｂ（ｓｔ）は、導入ベースラインであり、それらの異なる点は、利点関数Ａπ（ｓｔ，ａｔ）として知られている。
【０２４１】
ベースラインとして値関数Ｖπ（ｓｔ）を選択し、時間的差（temporal difference、ＴＤ）誤差を利点関数のバイアスされていない推定値として使用することによって、利点関数は、Ａπ（ｓｔ，ａｔ）≒ｒ（ｓｔ，ａｔ）＋γＶπ（ｓｔ＋１）−Ｖπ（ｓｔ）として書き直すことができる。
【０２４２】
マルチエージェント環境では、クリティックは、シミュレータ１０８によって、他のエージェントのポリシーに関する完全な状態−行動情報で拡張されてもよく、これは、アクターがローカルな情報又は観察された情報へのアクセスを有することである。一態様によれば、クレジット割り当ては、以下の反事実的なベースラインを使用することによって、マルチエージェント環境において対処される。
【０２４３】
ｂ（ｓ，ａ−ｎ）＝Σａ’ｎπｎ（ａ’ｎ｜ｏｎ）Ｑ（ｓ，（ａ−ｎ，ａ’ｎ））
【０２４４】
これにより、エージェントｎの行動ａが無視され、一元的クリティックが、エージェントｎの行動のみが変化する反事実について推論できるようになる。
【０２４５】
シミュレータ１０８は、相互作用的及び適応的な運転挙動、並びにＮ個のエージェントの全てが共有する１対の非一元的及び一元的クリティックを生成するように、第１のエージェントなどのシングルアクターを訓練することができる。２つの学習目的は、シングルエージェント環境及びマルチエージェント環境を介して提供されてもよく、それらは、ルールを守りながら、エージェントに様々なシナリオを通じて運転させること、及び効率的な交通フローを維持しながら、より効率的に合流するために他のエージェントと相互作用することに対応する。
【０２４６】
各エージェントには異なる個々の報酬が割り当てられ得るため、別個の挙動を学習するために、共同報酬から様々な学習信号を抽出することは困難であり、したがって、非一元的クリティックは、共有パラメータを有する全てのエージェントから利用され得る。非一元的クリティックは、異なる挙動を有しながら、ルールに従うことによって、異なるシナリオ（例えば、合流シナリオ）下でどのように運転するかを、エージェントが学習するためのポリシー勾配を提供し得る。エージェント（例えば、第１のエージェント）は、最初に他のエージェントと必ずしも反応せず、それ自体のタスクを仕上げるために、合理的な行動を実行する方法を学習し、これは第１の目的のＪ１として知られ得る。関連付けられたポリシー勾配は、以下によって与えられ得る。
【０２４７】
【数５５】
2020027656.tif 000057
【０２４８】
式中、
【数５６】
2020027656.tif 000058
は、φ１によってパラメータ化された非一元的クリティックであり、以下の損失を最小化することによって更新される。
【０２４９】
【数５７】
2020027656.tif 000059
【０２５０】
式中、ｉは、サンプリングされたバッチの数であり、
【数５８】
2020027656.tif 000060
は、φ１に向かってゆっくりと更新される、パラメータ
【数５９】
2020027656.tif 000061
を有する標的ネットワークである。標的ネットワークは、訓練プロセスを安定化するために使用される。
【０２５１】
マルチエージェント環境では、交通又は優先度ルールに厳密に従うと、合流シナリオで事故が発生しない可能性があるが、交通フローレートなどの巨視的レベル因子を考慮する必要がある。この点に関して、一元的クリティックは、シミュレータ１０８を介して、各エージェントを互いに相互作用させて、トラフィックフローを維持し、共同で成功させることを促すことができる。第２の目的は、目的Ｊ２であってもよい。関連付けられた第２のポリシー勾配は、以下によって与えられ得る。
【０２５２】
【数６０】
2020027656.tif 000062
【０２５３】
ここで、本明細書で議論される反事実的なベースラインが利用されてもよく、一元的クリティックは、以下のように定義されてもよい。
【０２５４】
【数６１】
2020027656.tif 000063
【０２５５】
これは、全てのエージェントについての共同報酬を考慮することによる。φ２によってパラメータ化されると、損失を最小化することによって、一元的クリティックが更新される。
【０２５６】
【数６２】
2020027656.tif 000064
【０２５７】
式中、
【数６３】
2020027656.tif 000065
は目標ポリシーネットワークを示し、
【数６４】
2020027656.tif 000066
は目標一元的クリティックネットワークのパラメータを表す。
【０２５８】
全体的な又は組み合わされたポリシー勾配は、以下のように定義され得る。
【０２５９】
∇θＪ（θ）＝α∇θＪ１（θ）＋（１−α）∇θＪ２（θ）
【０２６０】
式中、α∈［０，１］は、２つの目的Ｊ１（θ）及びＪ２（θ）に対する重み係数である。シミュレータ１０８は２つの別個の目的を利用するため、カリキュラム学習を利用することができる。したがって、シミュレータ１０８は、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされた又は全体的なポリシー勾配に基づいて、Ｎ個のエージェントを訓練することができ、これは、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づく、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーであり得る。
【０２６１】
相互作用認識意思決定作成の適応挙動態様を参照すると、シミュレータ１０８は、１つ以上の挙動パラメータに従って、異なる運転挙動を生成することが可能であり得る、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを訓練してもよい。ネットワークポリシーは、レーン優先度レベルｂｐｒｉｏ及びドライバータイプｂｔｙｐｅを考慮する変数を含む、状態、行動ペア、及び報酬機能ｒ（ｓ，ａ，ｂ）に基づいてもよい。このようにして、報酬機能は、それらのレーン優先度レベルｂｐｒｉｏが衝突に関与する別のエージェントのレーン優先度レベルよりも小さいときに、非協調的ドライバーに負の報酬を割り当ててもよい。更に、報酬機能は、運転挙動ｒｆｉｎｉｓｈ及びｒｃｏｌｌｉｄｅに関連し得る、２つ以上のサブ報酬機能を含んでもよい。各エージェントは、それぞれのエージェントがマルチエージェント環境を安全に運転する（例えば、衝突を引き起こすことも関わることもなく、ゴール又は目的地に到達することもない）場合、シミュレータ１０８によって、１回限りの報酬を割り当てられ得る。報酬値は、ｒｆｉｎｉｓｈ＝ｆ１（ｂｔｙｐｅ）であってもよい。例えば、小さい最終報酬は、協調的ではないドライバータイプを誘導する割引係数γへの大きな報酬よりも速く、エージェントがタスクを終了するか、又はそのゴールに到達することを促進するために割り当てられてもよい。
【０２６２】
２つ以上のエージェントが衝突する、又は衝突に関与する場合、衝突に関与するエージェントのうちの１つ以上に負の報酬又はペナルティが割り当てられてもよく、これはそれぞれの関与するエージェントのレーン優先度レベルに基づいて行われてもよい。換言すれば、ｒｃｏｌｌｉｄｅ＝ｆ２（ｂｐｒｉｏ）である。一実施例として、第１の車両（例えば、１つのエージェント）が左旋回を行う一方で、第２の車両（例えば、別のエージェント）が直線的に運転し、２つのエージェントが衝突した場合、第２の車両は、交通ルール、車道のレイアウト、又はマルチエージェント環境に従って、及びそれぞれのエージェントの位置に基づいて、通行権を有するので、第１の車両には、第２の車両よりも大きな負の報酬を割り当てることができる。このように、優先度決定部１５０４は、Ｎ個のエージェントの訓練（例えば、マルチエージェント環境における段階２の訓練）中に、マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度に基づいて、衝突に関わるそれぞれのエージェントに、負の報酬又はペナルティを割り当てることができる。
【０２６３】
前述のように、Ｑ−Ｍａｓｋｅｒ  １１１４は、ポリシーネットワークへのマスキング機構として実装されてもよく、それによって訓練の効率を向上させる（例えば、これは、段階１及び段階２の学習の両方で行われ得る）。このようにして、シミュレータ１０８は、事故を引き起こしたり、又は既知の交通ルールを破ったりすることが知られている行動を探索する代わりに、シミュレータ１０８は、いかにして戦術的レベルで決定を下すかについて、エージェント、クリティック、及びポリシーを直接訓練することに進むことができ、それによって、訓練時間、訓練中に利用されるコンピューティングリソースを軽減し、シミュレータ１０８を実行するために使用されるシステム、コンピュータ、並びに／又はプロセッサ及びメモリの動作を向上させる。車両運動学（Ｍｋ）、交通ルール（Ｍｒ）、及び安全因子（Ｍｓ）を含む、３つの異なるタイプのマスクが利用されてもよい。行動を選択する前に、シミュレータ１０８は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいてエージェントの訓練が行われるように、Ｑ−Ｍａｓｋｅｒ  １１１４によって提供されるマスキング機構を適用することができる。マスクされた行動のセットは、Ｍ＝（Ｍｋ）∪（Ｍｒ）∪（Ｍｓ）の和集合であり得る。このようにして、Ｑ−Ｍａｓｋｅｒ  １１１４は、マルチエージェント環境のレイアウト又は第１のエージェント及びＮ個のエージェントの位置決めに基づいて、時間間隔にわたる第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクＭを決定することができる。したがって、シミュレータ１０８は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいてエージェントを訓練することができる。前述したように、可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【０２６４】
相互作用認識意思決定のためのシステム１５００の通信インターフェース１５０は、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを、サーバ１６０又は車両１７０、１８０のうちの１つに送信することができ、それによって、ネットワークポリシーを伝播し、それぞれの自律型車両がそれに応じて動作できるようにする。自律型車両は、ネットワークポリシーを受信するように適合された車両通信インターフェースを含んでもよい。更に、自律型車両は、上述のように、自律型運転システム、クルーズ制御システム、衝突軽減ブレーキシステム、伝送システム、ブレーキペダルシステム、電子式パワーステアリングシステムなどを含み得る、１つ以上の車両システムを含んでもよい。車両のコントローラは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーに従って、車両の１つ以上の車両システムを操作することができる。
【０２６５】
図１６は、一態様による、相互作用認識意思決定のための方法１６００の例示的なフロー図である。一態様によれば、相互作用認識意思決定のための方法１６００は、シングルエージェント環境１６０２において、第１のポリシー勾配に基づいて第１のエージェントを訓練することと、マルコフ決定プロセスを使用して、１つ以上のゴールを学習するために、第１の損失関数に基づいて第１のクリティックを訓練することと、を含み得る。相互作用認識意思決定のための方法１６００は、第１のポリシー勾配に基づいてＮ個のエージェントを訓練することと、異なるドライバータイプを有するマルチエージェント環境１６０４において、マルコフゲームを使用して、ゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することと、を含み得る。Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。相互作用認識意思決定のための方法１６００は、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルを割り当てること１６０６を含み得る。マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度レベルに基づいて、衝突に関わるそれぞれのエージェントに割り当てられる１６０８。相互作用認識意思決定のための方法１６００は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、ネットワークポリシーを生成すること１６１０を含み得る。
【０２６６】
図１７は、一態様による、相互作用認識意思決定のためのシステム又は方法に従って、ポリシーネットワーク生成が発生する、例示的なシナリオの図である。図１７は、ポリシーネットワークを生成するための入力として優先度及びドライバータイプを使用するマスキング機構を含む、ポリシーネットワークを示す。この例では、ｆｃ１、ｆｃ２、ｆｃ３などの層（例えば、完全に接続された層）の３２単位が利用される。開いた及び閉じた観察は、サイズ３×３０、ストライド１×１の２つのフィルタを含み得る、畳み込みニューラルネットワーク（convolution neural network、ＣＮＮ）によって処理され、ｆｃ３、ｆｃ５、ｆｃ６はニューロンを有してもよく、ＲｅＬＵは層の非線形活性化機能として利用されてもよい。
【０２６７】
図１８Ａ及び図１８Ｂは、一態様による、相互作用認識意思決定のためのシステム及び方法にそれぞれ関する、段階１及び段階２の訓練と関連付けられた、例示的なデータフロー図である。図１８Ａ及び図１８Ｂは、提案された２段階のカリキュラム学習構造を示す。Ｖは、ポリシーネットワークと同じ入力及びネットワーク構造を有し得る、非一元的クリティックである。一元的クリティックＱは、全てのエージェントについての完全な情報を、入力として有してもよく、１２８単位を有する２つのＦｃ層に接続されてもよい。
【０２６８】
図１９Ａ〜図１９Ｄは、一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。図１９Ａ〜図１９Ｄの環境は、シングルエージェント環境として、又はマルチエージェント環境として実装されてもよい。シミュレータ１０８に対して知られ得る環境の態様は、道路の幾何学的形状、速度制限、及び道路優先度レベルルール又は交通ルールを含んでもよい。
【０２６９】
図１９Ａでは、車道又は環境の第１の道路は、直線１９１０であり、第２の道路は、合流レーン１９２０を含む道路である。したがって、位置１９０２における車両は、１９０４又は１９０６における車両よりも高いレーン優先度レベルを割り当てられてもよい。しかしながら、１９０４における車両などの別の車両の十分に前方にある車両は、１９０６における車両よりも高いレーン優先度レベルを割り当てられてもよい。他の態様によれば、位置１９０６における車両は、１９０４における車両よりも高いレーン優先度を有してもよい。
【０２７０】
図１９Ｂでは、車道又は環境の第１の道路は、直線１９３０であり、第２の道路は、合流レーン１９４０を含む道路である。したがって、位置１９３２における車両は、１９３４又は１９３６における車両よりも高いレーン優先度レベルを割り当てられてもよい。同様に、位置１９３６における車両は、１９３４における車両よりも高いレーン優先度を有してもよい。
【０２７１】
図１９Ｃでは、車道又は環境の第１の道路は、合流レーン１９５０を含み、第２の道路はまた、合流レーン１９６０を含む道路である。このシナリオでは誰も通行権を持っていないため、位置１９５２及び１９５４における車両には、等しいレーン優先度レベルを割り当てることができる。
【０２７２】
図１９Ｄにおいて、車道又は環境の第１の道路は、垂直方向の道路１９７０と、水平方向の第２の道路１９８０とを含む。１９７２における車両は、１９７２における車両が左旋回を行うときに、１９７４における車両よりも高いレーンレベルの優先度を割り当てられてもよい。
【０２７３】
更に別の態様は、本明細書に提示される技術の一態様を実施するように構成されたプロセッサ実行可能命令を含む、コンピュータ可読媒体を含む。これらの方法で考案されたコンピュータ可読媒体又はコンピュータ可読デバイスの一態様が図２０に示されており、実装形態２０００は、例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、フラッシュドライブ、ハードディスクドライブのプラッタなどのコンピュータ可読媒体２００８を含み、その上にコンピュータ可読データ２００６が符号化されている。次に、２００６に示されるような複数の０及び１を含むバイナリデータなどのこの符号化されたコンピュータ可読データ２００６は、本明細書に記載の原理のうちの１つ以上に従って動作するように構成されている、１セットのプロセッサ実行可能コンピュータ命令２００４を含む。この実装形態２０００では、プロセッサ実行可能コンピュータ命令２００４は、図３の方法３００、図５Ａ及び図５Ｂの方法、図１２の方法１２００、又は図１６の方法１６００などの方法２００２を実行するように構成され得る。別の態様では、プロセッサ実行可能コンピュータ命令２００４は、図１のシステム１００、図１１のシステム１１００、又は図１５のシステム１５００などのシステムを実装するように構成され得る。本明細書に提示される技術に従って動作するように構成されている、多くのそのようなコンピュータ可読媒体は、当業者によって考案され得る。
【０２７４】
本出願で使用するとき、用語「構成要素」、「モジュール」、「システム」、「インターフェース」などは、一般に、コンピュータ関連のエンティティ、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアのいずれか、又は実行中のソフトウェアを指すことを意図している。例えば、構成要素は、それだけには限定されないが、プロセッサ上で実行されるプロセス、処理ユニット、オブジェクト、実行可能ファイル、実行スレッド、プログラム、又はコンピュータとすることができる。例示として、コントローラ上で実行されているアプリケーション及びコントローラの両方が、構成要素であってもよい。プロセス又は実行スレッド及び構成要素内に存在する１つ以上の構成要素は、１つのコンピュータ上に局在化されてもよく、又は２つ以上のコンピュータ間に分散されてもよい。
【０２７５】
更に、特許請求される主題は、開示された主題を実施するためにコンピュータを制御するためのソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生成するための、標準プログラミング又はエンジニアリング技術を使用する方法、装置又は製品として実装される。本明細書で使用するとき、用語「製品」は、任意のコンピュータ可読デバイス、キャリア、又は媒体からアクセス可能なコンピュータプログラムを包含することを意図する。当然ながら、特許請求される主題の範囲又は趣旨から逸脱することなく、この構成に対する多くの修正がなされてもよい。
【０２７６】
図２１及び以下の説明は、本明細書に記載される提供のうちの１つ以上の態様を実施するための好適なコンピューティング環境の説明を提供する。図２１の動作環境は、好適な動作環境の単なる一実施例であり、動作環境の使用又は機能の範囲に関していかなる制限を示唆することを意図するものではない。例示的なコンピューティングデバイスとしては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、例えば、携帯電話、携帯情報端末（Personal Digital Assistant、ＰＤＡ）、メディアプレーヤなどのモバイルデバイス、マルチプロセッサシステム、家電製品、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【０２７７】
一般に、態様は、１つ以上のコンピューティングデバイスによって実行される「コンピュータ可読命令」の一般的な文脈で説明される。コンピュータ可読命令は、以下に説明するように、コンピュータ可読媒体を介して分散されてもよい。コンピュータ可読命令は、１つ以上のタスクを実行する、又は１つ以上の抽象データタイプを実装する、機能、オブジェクト、アプリケーションプログラミングインターフェース（Application Programming Interface、ＡＰＩ）、データ構造などのプログラムモジュールとして実装されてもよい。典型的には、コンピュータ可読命令の機能性は、様々な環境において所望に応じて組み合わされるか、又は分散される。
【０２７８】
図２１は、本明細書で提供される一態様を実装するように構成されている、コンピューティングデバイス２１１２を含むシステム２１００を示す。１つの構成では、コンピューティングデバイス２１１２は、少なくとも１つの処理ユニット２１１６及びメモリ２１１８を含む。コンピューティングデバイスの正確な構成及びタイプに応じて、メモリ２１１８は、ＲＡＭなどの揮発性、ＲＯＭ、フラッシュメモリなどの不揮発性、又はこれら２つの組み合わせとすることができる。この構成は、破線２１１４によって図２１に示されている。
【０２７９】
他の態様では、コンピューティングデバイス２１１２は、追加の特徴又は機能性を含む。例えば、コンピューティングデバイス２１１２は、磁気記憶装置、光学記憶装置などを含むがこれらに限定されない、取り外し可能な記憶装置又は取り外し不可能な記憶装置などの追加の記憶装置を含むことができる。このような追加の記憶装置は、記憶装置２１２０で図２１に示される。一態様では、本明細書で提供される一態様を実施するためのコンピュータ可読命令は、記憶装置２１２０内にある。記憶装置２１２０は、オペレーティングシステム、アプリケーションプログラムなどを実装するための他のコンピュータ可読命令を記憶してもよい。コンピュータ可読命令は、例えば、処理ユニット２１１６による実行のために、メモリ２１１８にロードされてもよい。
【０２８０】
本明細書で使用するとき、用語「コンピュータ可読媒体」は、コンピュータ記憶媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでもよい。メモリ２１１８及び記憶装置２１２０は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（Digital Versatile Disk、ＤＶＤ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために使用され得、かつコンピューティングデバイス２１１２によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。任意のこのようなコンピュータ記憶媒体は、コンピューティングデバイス２１１２の一部である。
【０２８１】
用語「コンピュータ可読媒体」は、通信媒体を含む。通信媒体は、典型的には、搬送波又は他のトランスポート機構などの「変調データ信号」内のコンピュータ可読命令又は他のデータを具現化し、任意の情報配信媒体を含む。用語「変調データ信号」は、信号内の情報を符号化するような様式で設定又は変更されたその特性のうちの１つ以上を有する信号を含む。
【０２８２】
コンピューティングデバイス２１１２は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、又は任意の他の入力デバイスなどの入力デバイス（複数可）２１２４を含む。１つ以上のディスプレイ、スピーカ、プリンタ、又は任意の他の出力デバイスなどの出力デバイス（複数可）２１２２は、コンピューティングデバイス２１１２とともに含まれてもよい。入力デバイス（複数可）２１２４及び出力デバイス（複数可）２１２２は、有線接続、無線接続、又はこれらの任意の組み合わせを介して、コンピューティングデバイス２１１２に接続されてもよい。一態様では、別のコンピューティングデバイスからの入力デバイス又は出力デバイスは、コンピューティングデバイス２１１２のための入力デバイス（複数可）２１２４又は出力デバイス（複数可）２１２２として使用されてもよい。コンピューティングデバイス２１１２は、例えば、ネットワーク２１２８を介するなどして、１つ以上の他のデバイス２１３０との通信を容易にするために、通信接続（複数可）２１２６を含んでもよい。
【０２８３】
本主題は、構造的特徴又は方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲の主題は、必ずしも上記の特定の特徴又は行為に限定されないことを理解されたい。むしろ、上述の特定の特徴及び行為は、例示的な態様として開示される。
【０２８４】
様々な態様の操作が本明細書に提供される。操作の１つ以上又は全てが記載される順序は、これらの操作が必ずしも順序に依存することを意味するものとして解釈されるべきではない。この説明に基づいて、代替の順序が理解されるであろう。更に、全ての操作は、本明細書で提供される各態様において必ずしも存在しなくてもよい。
【０２８５】
本出願で使用するとき、「又は」は、排他的な「又は」ではなく包括的な「又は」を意味することを意図する。更に、包括的な「又は」は、それらの任意の組み合わせ（例えば、Ａ、Ｂ、又はこれらの任意の組み合わせ）を含んでもよい。加えて、本出願で使用される「ａ」及び「ａｎ」は、特に指定されない限り、又は文脈から単数形を対象とすることが明らかでない限り、一般に「１つ以上」を意味すると解釈される。加えて、Ａ及びＢ及び／又は同様のもののうちの少なくとも１つは、一般に、Ａ若しくはＢ、又はＡ及びＢの両方を意味する。更に、「含む（include）」、「有する（having）」、「有する（has）」、「有する（with）」、又はその変形が、詳細な説明又は特許請求の範囲のいずれかにおいて使用される限りにおいて、そのような用語は、用語「備える（comprising）」と同様の様式において包括的であることが意図される。
【０２８６】
更に、特に明記しない限り、「第１の」、「第２の」などは、時間的態様、空間的態様、順序付けなどを暗示することを意図するものではない。むしろ、そのような用語は、特徴、要素、項目などのための識別子、名前などとして単に使用されている。例えば、第１のチャネル及び第２のチャネルは、一般に、チャネルＡ及びチャネルＢ、又は２つの異なる若しくは２つの同一のチャネル、若しくは同じチャネルに対応する。更に、「備える（comprising）」、「備える（comprise）」、「含む（including）」、「含む（include）」などは、一般に、限定するものではないが、備える、又は含むことを意味する。
【０２８７】
上記で開示された及び他の特徴及び機能、又はそれらの代替例若しくは変形例の多くは、多くの他の異なるシステム又はアプリケーションに望ましく組み合わされ得ることが理解されるであろう。また、当業者であれば、添付の特許請求の範囲によって包含されることも意図される、現在予測されていない、又は予期されていない様々な代替、修正、変形、又は改良を連続的に行うことができる。
【図１】
2020027656.tif 000067
【図２】
2020027656.tif 000068
【図３】
2020027656.tif 000069
【図４】
2020027656.tif 000070
【図５Ａ】
2020027656.tif 000071
【図５Ｂ】
2020027656.tif 000072
【図６】
2020027656.tif 000073
【図７】
2020027656.tif 000074
【図８】
2020027656.tif 000075
【図９】
2020027656.tif 000076
【図１０】
2020027656.tif 000077
【図１１】
2020027656.tif 000078
【図１２】
2020027656.tif 000079
【図１３Ａ】
2020027656.tif 000080
【図１３Ｂ】
2020027656.tif 000081
【図１４Ａ】
2020027656.tif 000082
【図１４Ｂ】
2020027656.tif 000083
【図１４Ｃ】
2020027656.tif 000084
【図１５】
2020027656.tif 000085
【図１６】
2020027656.tif 000086
【図１７】
2020027656.tif 000087
【図１８Ａ】
2020027656.tif 000088
【図１８Ｂ】
2020027656.tif 000089
【図１９Ａ】
2020027656.tif 000090
【図１９Ｂ】
2020027656.tif 000091
【図１９Ｃ】
2020027656.tif 000092
【図１９Ｄ】
2020027656.tif 000093
【図２０】
2020027656.tif 000094
【図２１】
2020027656.tif 000095
【手続補正書】
【提出日】令和1年10月15日(2019.10.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１８年８月１４日に出願された、米国特許出願第１６／１０３８４７号（代理人整理番号ＨＲＡ−４３３０３．０１）の一部継続出願である、２０１８年９月１４日に出願された、米国特許仮出願第６２／７３１７２９号の利益を主張するものであり、２０１８年１１月１６日に出願された、米国特許出願第１６／１９３２９１号（代理人整理番号ＨＲＡ−４４３９１）の一部継続出願である、２０１７年１０月１２日に出願された、米国特許仮出願第６２／５７１７１７号（代理人整理番号ＨＲＡ−４３３０３）の利益を主張するものであり、上記の出願（複数可）の全体は、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
強化学習における効率的な探索は、状態空間及び共同行動空間が、エージェントの数とともに指数関数的にスケーリングされるマルチエージェント環境では困難であり得る。個々のタスク完了及び協調的挙動の両方を同時に学習するためのランダムな探索に依存することは、非常に非効率的であり得る。局所的なゴールを達成することがまだ学習されていないエージェントは、協調が必要とされる状態空間の領域に直面することはまれであり得るため、探索行動は協調的挙動を学習するのに役に立たなくなる。他の極端な場合には、調和が必要な状況で行われる探索的行動は、失敗につながる可能性があり、結果として生じるペナルティにより、エージェントが調和問題を完全に回避し、個々のタスクの学習に失敗する可能性がある。
【発明の概要】
【０００３】
一態様によれば、相互作用認識意思決定のための方法は、マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであるシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することを含み得る。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。相互作用認識意思決定のための方法は、マルコフゲームを使用して、第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境においてゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することを含み得る。Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。相互作用認識意思決定のための方法は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを生成することを含み得る。
【０００４】
ドライバータイプは、協調的又は競合的であり得る。マルチエージェント環境におけるＮ個のエージェントの訓練中に、Ｎ個のエージェントのうちのエージェントは、訓練の途中でドライバータイプを変更してもよい。
【０００５】
第１のエージェント及びＮ個のエージェントのそれぞれは、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられてもよい。Ｎ個のエージェントの訓練中に、マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度レベルに基づいて、衝突に関わるそれぞれのエージェントに割り当てられてもよい。
【０００６】
相互作用認識意思決定のための方法は、マルチエージェント環境のレイアウト又は第１のエージェント及びＮ個のエージェントの位置決めに基づいて、時間間隔にわたる第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクを決定することと、可能性のある行動のセットから、マスクされた行動のセットを除外することによって、残りの行動のセットに基づいて、第１のエージェントを訓練することと、を含み得る。可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【０００７】
第１のクリティックは非一元的クリティックであってもよく、第２のクリティックは、一元的クリティックであってもよい。シングルエージェント環境における第１のエージェントの訓練は、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われてもよい。相互作用認識意思決定のための方法は、第１のポリシー勾配及び第２のポリシー勾配に由来する、組み合わされたポリシー勾配に基づいて、Ｎ個のエージェントを訓練することを含み得る。
【０００８】
一態様によれば、相互作用認識意思決定のためのシステムは、プロセッサ、メモリ、並びにプロセッサ及びメモリを介して実装されるシミュレータを含み得る。シミュレータは、マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであるシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することを実行し得る。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。シミュレータは、マルコフゲームを使用して、第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境において、ゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練し得る。第１のエージェント及びＮ個のエージェントのそれぞれは、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられてもよい。Ｎ個のエージェントの訓練中に、マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、シミュレータによって、それぞれのエージェントのレーン優先度レベルに基づいて、衝突に関わるそれぞれのエージェントに割り当てられてもよい。シミュレータは、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを生成し得る。
【０００９】
Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。ドライバータイプは、協調的又は競合的であり得る。
【００１０】
相互作用認識意思決定のためのシステムは、マルチエージェント環境のレイアウト又は第１のエージェント及びＮ個のエージェントの位置決めに基づいて、時間間隔にわたる第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクを決定する、Ｑ−Ｍａｓｋｅｒを含み得る。シミュレータは、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいて第１のエージェントを訓練してもよい。可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【００１１】
第１のクリティックは非一元的クリティックであってもよく、第２のクリティックは、一元的クリティックであってもよい。シミュレータは、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われる、シングルエージェント環境における第１のエージェントの訓練を行うことができる。シミュレータは、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、Ｎ個のエージェントを訓練することができる。相互作用認識意思決定のためのシステムは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを、サーバ又は車両に送信する、通信インターフェースを含み得る。
【００１２】
一態様によれば、相互作用認識意思決定のための車両は、コントローラ、１つ以上の車両システム、及び車両通信インターフェースを含み得る。コントローラは、プロセッサ及びメモリを含んでもよい。車両通信インターフェースは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを受信し得る。コントローラは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーに従って、車両の車両システムのうちの１つ以上を動作させることができる。マルチゴール、マルチエージェント、多段階、相互作用認識意思決定製造ネットワークポリシーは、第１の段階で、マルコフ決定プロセスを使用して、第１のエージェントが存在する唯一のエージェントであり得るシングルエージェント環境において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて、第１のエージェントを訓練し、第１の損失関数に基づいて、第１のクリティックを訓練することと、第２の段階で、マルコフゲームを使用して、第１のエージェント及びＮ個のエージェントを含むマルチエージェント環境においてゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することと、によって生成されてもよい。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。マルチゴール、マルチエージェント、多段階、相互作用認識意思決定は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて生成され得る。
【図面の簡単な説明】
【００１３】
【図１】一態様による、協調的マルチゴール、マルチエージェント、多段階（ＣＭ３（cooperative multi-goal, multi-agent, multi-stage））強化学習のためのシステムの例示的な構成要素図である。
【００１４】
【図２】図１の協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステムのシミュレータの例示的な構成要素図である。
【００１５】
【図３】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。
【００１６】
【図４】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法と関連付けられた、例示的なデータフロー図である。
【００１７】
【図５Ａ】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。
【図５Ｂ】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。
【００１８】
【図６】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。
【００１９】
【図７】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な性能結果の図である。
【図８】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な性能結果の図である。
【００２０】
【図９】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。
【００２１】
【図１０】一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な報酬対エピソードのグラフの図である。
【００２２】
【図１１】一態様による、自律型車両ポリシー生成システムの構成要素図である。
【００２３】
【図１２】一態様による、自律型車両ポリシー生成方法のフロー図である。
【００２４】
【図１３Ａ】一態様による、自律型車両ポリシー生成方法のフロー図である。
【００２５】
【図１３Ｂ】一態様による、自律型車両ポリシー生成と関連付けられた例示的なシミュレーションインターフェースの図である。
【００２６】
【図１４Ａ】一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。
【図１４Ｂ】一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。
【図１４Ｃ】一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。
【００２７】
【図１５】一態様による、相互作用認識意思決定のためのシステムの例示的な構成要素図である。
【００２８】
【図１６】一態様による、相互作用認識意思決定のための方法の例示的なフロー図である。
【００２９】
【図１７】一態様による、相互作用認識意思決定のためのシステム又は方法に従って、ポリシーネットワーク生成が発生する、例示的なシナリオの図である。
【００３０】
【図１８Ａ】一態様による、相互作用認識意思決定のためのシステム及び方法に関する、それぞれ段階１及び段階２の訓練と関連付けられた、例示的なデータフロー図である。
【図１８Ｂ】一態様による、相互作用認識意思決定のためのシステム及び方法に関する、それぞれ段階１及び段階２の訓練と関連付けられた、例示的なデータフロー図である。
【００３１】
【図１９Ａ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【図１９Ｂ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【図１９Ｃ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【図１９Ｄ】一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。
【００３２】
【図２０】一態様による、本明細書に記載される提供のうちの１つ以上を具現化するように構成されたプロセッサ実行可能命令を含む、例示的なコンピュータ可読媒体又はコンピュータ可読デバイスの図である。
【００３３】
【図２１】一態様による、本明細書に記載される提供のうちの１つ以上が実装される、例示的なコンピューティング環境の図である。
【発明を実施するための形態】
【００３４】
以下は、本明細書で使用される選択された用語の定義を含む。定義は、用語の範囲内に含まれ、かつ実装に使用され得る、様々な実施例及び／又は構成要素の形態を含む。実施例は、限定することを意図するものではない。更に、当業者であれば、本明細書で論じられる構成要素は、他の構成要素と組み合わされるか、省略されても、若しくは他の構成要素と編成されてもよく、又は異なるアーキテクチャに編成されてもよいことを理解するであろう。
【００３５】
本明細書で使用される場合、「プロセッサ」という用語は、信号を処理し、一般的なコンピューティング及び演算機能を実行する。プロセッサによって処理された信号は、デジタル信号、データ信号、コンピュータ命令、プロセッサ命令、メッセージ、ビット、ビットストリーム、又は受信、送信、及び／若しくは検出され得る他の手段を含んでもよい。一般に、プロセッサは、複数の単一及びマルチコアプロセッサ及びコプロセッサ並びに他の複数の単一及びマルチコアプロセッサ及びコプロセッサアーキテクチャを含む、多種の様々なプロセッサであってもよい。プロセッサは、様々な機能を実行するための様々なモジュールを含んでもよい。
【００３６】
本明細書で使用される場合、「メモリ」という用語は、揮発性メモリ及び／又は不揮発性メモリを含み得る。不揮発性メモリには、例えば、ＲＯＭ（read only memory、読取り専用メモリ）、ＰＲＯＭ（programmable read only memory、プログラマブル読取り専用メモリ）、ＥＰＲＯＭ（erasable PROM、消去可能なＰＲＯＭ）、及びＥＥＰＲＯＭ（electrically erasable PROM、電気的消去可能なＰＲＯＭ）が含まれ得る。揮発性メモリは、例えば、ＲＡＭ（ランダムアクセスメモリ）（random access memory）、同期ＲＡＭ（synchronous RAM、ＳＲＡＭ）、ダイナミックＲＡＭ（dynamic RAM、ＤＲＡＭ）、シンクロナスＤＲＡＭ（synchronous DRAM、ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（double data rate SDRAM、ＤＤＲＳＤＲＡＭ）、及びダイレクトＲＡＭバスＲＡＭ（direct RAM bus RAM、ＤＲＲＡＭ）を含み得る。メモリは、コンピューティングデバイスのリソースを制御する又は割り振る、オペレーティングシステムを記憶することができる。
【００３７】
本明細書で使用される場合、「ディスク」又は「ドライブ」という用語は、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピーディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード、及び／又はメモリスティックであってもよい。更に、ディスクは、ＣＤ−ＲＯＭ（compact disk ROM、コンパクトディスクＲＯＭ）、ＣＤ記録可能ドライブ（CD recordable drive、ＣＤ−Ｒドライブ）、ＣＤ書き換え可能ドライブ（CD rewritable drive、ＣＤ−ＲＷドライブ）、及び／又はデジタルビデオＲＯＭドライブ（digital video ROM、ＤＶＤ−ＲＯＭ）であってもよい。ディスクは、コンピューティングデバイスのリソースを制御する又は割り振る、オペレーティングシステムを記憶することができる。
【００３８】
本明細書で使用される場合、「バス」という用語は、コンピュータ内部又はコンピュータ間の他のコンピュータ構成要素に動作可能に接続された、相互接続されたアーキテクチャを指す。バスは、コンピュータ構成要素間でデータを転送することができる。バスは、とりわけ、メモリバス、メモリコントローラ、周辺バス、外部バス、クロスバースイッチ、及び／又はローカルバスであってもよい。バスはまた、とりわけ、媒体配向システム輸送（Media Oriented Systems Transport、ＭＯＳＴ）、コントローラエリアネットワーク（Controller Area network、ＣＡＮ）、ローカル相互接続ネットワーク（Local Interconnect Network、ＬＩＮ）などのプロトコルを使用して、車両内部の構成要素を相互接続する、車両バスであってもよい。
【００３９】
本明細書で使用される場合、「データベース」という用語は、テーブル、一セットのテーブル、及び一セットのデータストア（例えば、ディスク）、並びに／又はそれらのデータストアにアクセス及び／又は操作するための方法を指し得る。
【００４０】
「動作可能な接続」、又はエンティティが「動作可能に接続される」ことによる接続は、信号、物理的通信、及び／又は論理的通信が、送信及び／又は受信され得るものである。動作可能な接続は、無線インターフェース、物理的インターフェース、データインターフェース、及び／又は電気インターフェースを含んでもよい。
【００４１】
本明細書で使用される場合、「コンピュータ通信」という用語は、２つ以上のコンピューティングデバイス（例えば、コンピュータ、パーソナルデジタルアシスタント、セルラー電話、ネットワークデバイス）間の通信を指し、例えば、ネットワーク転送、ファイル転送、アプレット転送、電子メール、ハイパーテキスト転送プロトコル（ＨＴＴＰ）転送などであってもよい。コンピュータ通信は、例えば、とりわけ、無線システム（例えば、ＩＥＥＥ８０２．１１）、イーサネットシステム（例えば、ＩＥＥＥ８０２．３）、トークンリングシステム（例えば、ＩＥＥＥ８０２．５）、ローカルエリアネットワーク（local area network、ＬＡＮ）、広域ネットワーク（wide area network、ＷＡＮ）、ポイントツーポイントシステム、回路スイッチングシステム、パケットスイッチングシステムを介して発生し得る。
【００４２】
本明細書で使用される場合、「車両」という用語は、１人以上の人間の乗員を運搬することができ、任意の形態のエネルギーによって電力供給される、任意の移動車両を指し得る。「車両」という用語には、自動車、トラック、バン、ミニバン、ＳＵＶ、オートバイ、スクーター、ボート、パーソナルウォータークラフト、及び航空機が含まれる。いくつかのシナリオでは、モータ車両は、１つ以上のエンジンを含む。更に、「車両」という用語は、電気電池によって電力供給される１つ以上の電気モータによって、完全に又は部分的に電力供給される、電気自動車（electric vehicle、ＥＶ）を指し得る。ＥＶは、電池電気自動車（battery electric vehicle、ＢＥＶ）及びプラグインハイブリッド電気自動車（plug-in hybrid electric vehicle、ＰＨＥＶ）を含んでもよい。追加的に、「車両」という用語は、任意の形態のエネルギーによって動力を供給される、自律型車両及び／又は自動運転型車両を指し得る。自律型車両は、１人以上の人間の乗員を運んでもよく、又は運ばなくてもよい。
【００４３】
本明細書で使用される場合、「エージェント」という用語は、シミュレーション又はシミュレートされた車両内の車両などの「車両」を指し得る。同様に、本明細書で使用される場合、「アクター」という用語は、「エージェント」と互換的に使用され得る。更に、本明細書で使用される場合、「設定」という用語は、「環境」と互換的に使用され得る。本明細書で使用される場合、「特徴」という用語は、ゴールを含み得る。
【００４４】
本明細書で使用される場合、「車両システム」という用語は、車両、運転、及び／又は安全性を向上させるために使用され得る、任意の自動又は手動システムであってもよい。例示的な車両システムには、とりわけ、自律型運転システム、電子安定制御システム、アンチロックブレーキシステム、ブレーキアシストシステム、自動ブレーキプレフィルシステム、低速追従システム、クルーズ制御システム、衝突警告システム、衝突軽減ブレーキシステム、自動クルーズ制御システム、レーン逸脱警告システム、死角表示システム、レーン維持支援システム（lane keep assist system、ＬＫＡＳ）、ナビゲーションシステム、伝送システム、ブレーキペダルシステム、電子式パワーステアリングシステム、視覚デバイス（例えば、カメラシステム、近接センサシステム）、空調システム、電子プレテンショニングシステム、監視システム、乗客検出システム、車両サスペンションシステム、車両シート構成システム、車室内照明システム、オーディオシステム、感覚システムが含まれる。
【００４５】
本明細書で説明される態様は、コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体のコンテキストにおいて、説明及び実施されてもよい。非一時的コンピュータ可読記憶媒体は、コンピュータ記憶媒体及び通信媒体を含む。例えば、フラッシュメモリドライブ、デジタル多用途ディスク（digital versatile disc、ＤＶＤ）、コンパクトディスク（compact disc、ＣＤ）、フロッピーディスク、及びテープカセット。非一時的コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、モジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでもよい。
【００４６】
本明細書で使用される場合、「ＣＭ３」という用語は、図１のシステム、図３の方法、図５Ａ及び図５Ｂの方法などを含むが、これらに限定されるものではない、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法、又は協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステムの使用を指し得る。
【００４７】
エージェントは、一セットの可能性のある行動から、行動（シミュレートされた行動であってもよい）をとることができる。可能性のある行動のセットは、行動セット（Ａ）として知られ得る。
【００４８】
環境は、シミュレーション環境又はエージェントが移動する世界であってもよい。
【００４９】
報酬機能（Ｒ）は、とられた（例えば、シミュレートされた）行動を評価する機能であってもよい。
【００５０】
短期的な決定を長期的な報酬よりも重くするために、割引係数（γ）に、将来の報酬をかけてもよい。
【００５１】
値（Ｖ）は、割引係数の影響を含む、予期長期的な収益であり得る。
【００５２】
Ｑ値（Ｑ）は、状態（ｓ）上のポリシー（π）下での、行動（ａ）の長期的な収益を示す行動値であってもよい。
【００５３】
軌道は、それらの状態を含む連続的な状態及び／又は行動であってもよい。
【００５４】
ポリシー（π）は、現在の状態に基づいてエージェントの次の行動を決定するために用いられる、計画であってもよい。
【００５５】
図１は、一態様による、協調的マルチゴール、マルチエージェント、多段階（ＣＭ３）強化学習のためのシステム１００の例示的な構成要素図である。ＣＭ３強化学習のためのシステム１００は、プロセッサ１０２、メモリ１０４、バス１０６、及びシミュレータ１０８を含み得る。シミュレータ１０８は、プロセッサ１０２及びメモリ１０４を介して実装され得る。シミュレータ１０８は、シミュレーション環境１２６内で、１つ以上の行動１２４を実行して、１つ以上のエージェント１２２と関連付けられたシミュレーションをシミュレート又は実行することができ、ここで、１つ以上のクリティック１２８は、エージェント１２２のうちの１つ以上によってとられた行動１２４のうちの１つ以上を解釈又は評価して、１つ以上の報酬１３２及びとられた行動から生じる１つ以上の状態１３４を決定する。
【００５６】
シミュレータ１０８又はプロセッサ１０２は、ＣＭ３強化学習のためにシステム１００のメモリ１０４に記憶され得る、ＣＭ３ポリシーネットワーク１４０を生成し得る。システムは、ＣＭ３ポリシーネットワーク１４０が、ＣＭ３データベース１６２を含み得るサーバ１６０などの他のデバイスに送信されることを可能にする、通信インターフェース１５０を更に含んでもよい。このようにして、ＣＭ３強化学習のためにシステム１００によって生成されたＣＭ３ポリシーネットワーク１４０は、サーバ１６０のＣＭ３データベース１６２に記憶されてもよい。
【００５７】
次いで、サーバ１６０は、第１の車両１７０及び第２の車両１８０などの１つ以上の車両に、ＣＭ３ポリシーネットワーク１４０を伝搬し得る。第１の車両は、車両通信インターフェース１７２、記憶デバイス１７４、コントローラ１７６、及び１つ以上の車両システム１７８を装備してもよい。記憶デバイスは、サーバ１６０からＣＭ３ポリシーネットワーク１４０を記憶してもよく、コントローラは、ＣＭ３ポリシーネットワーク１４０に基づいて、第１の車両を、自律様式で動作させてもよい。同様に、第２の車両１８０は、車両通信インターフェース１８２、記憶デバイス１８４、コントローラ１８６、及び１つ以上の車両システム１８８を装備してもよく、第１の車両と同様に動作してもよい。
【００５８】
いずれにせよ、ＣＭ３ポリシーネットワーク１４０が車両の記憶デバイス上に記憶されている場合、これにより、ＣＭ３ポリシーネットワーク１４０が、訓練又はシミュレーションに基づいてなされるべきポリシー又は決定のうちの１つ以上を示し得るので、コントローラは、ＣＭ３ポリシーネットワーク１４０に基づいて、車両を自律的に走行させ、シミュレータ１０８内で発生したＣＭ３強化学習に従って、自律走行の決定を下すことができる。例えば、ＣＭ３ネットワークポリシーは、第１の自律型車両又は第２の自律型車両（例えば、車両状態又は環境状態）と関連付けられた観察の入力を受信し、提案された行動を出力してもよい。
【００５９】
図２は、図１の協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステム１００のシミュレータ１０８の例示的な構成要素図である。図２では、図１のＣＭ３強化学習のためのシステム１００のシミュレータ１０８を見ることができる。ここで、エージェントは、環境内で行動をとることができる。これは、クリティックによって、報酬又はペナルティ及び状態の表現として解釈されてもよく、この状態はその後、エージェントに戻されてもよい。エージェントは、別個の時間工程で行動をとることによって、環境と相互作用し得る。各時間工程において、エージェントは、報酬を含み得る観察を受信してもよい。エージェントは、一セットの利用可能な行動から１つの行動を選択することができ、これにより、新しい状態及び連続的な時間工程の新しい報酬がもたらされる。エージェントのゴールは、一般に、可能な限り最大量の報酬を収集することである。
【００６０】
段階１／ローカルビュー／シングルエージェント環境
【００６１】
一態様によれば、シミュレータ１０８は、マルコフ決定プロセス（Markov decision process、ＭＤＰ）を使用して、シングルエージェント環境において１つ以上の特徴を学習するために、第１のポリシー勾配に基づく第１のエージェントの訓練及び第１の損失関数に基づく第１のクリティックの訓練を含む、段階１の訓練を実行し得る。第１の段階又は段階１の間、シミュレータ１０８は、シングルエージェント設定又は環境において（すなわち、環境内に他のエージェントが存在しない場合）、１つ以上の個々のタスクを達成するか、又は異なるゴールを達成するようにエージェントを訓練し得る。これは静的環境であってもよい。段階１でシミュレータ１０８によって提供されるシングルエージェント設定又は環境は、第１のエージェントが、好都合な方法で、１つ以上の特徴を学習又は訓練することを可能にする。換言すれば、第１の段階におけるエージェントの数を減らすことによって、第１のエージェントは、より速く、より効率的な様式で訓練され得る。更に別の方法で説明すると、他のエージェントの不在下で局所的目的を達成するエージェントは、協調的挙動を学習するための望ましい状態構成をより確実に生成することができる。
【００６２】
シミュレータ１０８は、第１のエージェントが、無操作行動、加速行動、減速行動、１サブレーン左へのシフト行動、及び１サブレーン右へのシフト行動を含む１つ以上の一セットの行動から、行動を選択することを可能にすることによって、第１のエージェントを訓練し得る。
【００６３】
第１のエージェントによって段階１で学習され得る特徴のうちの１つ以上の実施例としては、学習ルール及び道路の規制、制限速度内で車道を運転する又は速度を維持する方法、レーン内に車両を維持する方法、レーンを変更する又はサブレーン位置を変更する方法、出口ランプで降りる方法、オンランプに入る方法などが含まれ得る。
【００６４】
このようにして、第１のポリシーネットワークは、シングルエージェント設定又は環境において異なる特徴を学習し得る、非一元的クリティックを有する。第１のクリティックは、非一元的クリティックであってもよいため、第１の段階又は段階１は、第１のエージェントのためのローカルビュー又は個別化された報酬、個別化された学習などと関連付けることができる。
【００６５】
段階２／グローバルビュー／マルチエージェント環境
【００６６】
一態様によれば、シミュレータ１０８は、マルコフゲームを使用して、マルチエージェント環境におけるＮ個のエージェント間の協調などの第２のセットの特徴を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配及び第２のポリシー勾配に基づいて、ある数のＮ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のクリティックを訓練することを含む、段階２の訓練を実行することができる。段階２の訓練中、Ｎ個のエージェントのうちのそれぞれ１つは、事前訓練された第１のエージェントニューラルネットワークとインスタンス化されてもよい。このようにして、事前訓練された第１のエージェントニューラルネットワークからの以前の知識を用いて、Ｎ個のエージェントのうちのそれぞれ１つをインスタンス化することによって、カリキュラムの獲得が、ＣＭ３強化学習のために、システム１００を介して実施され得る。この点に関して、シミュレータ１０８は、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われ得る、シングルエージェント環境における第１のエージェントの訓練を行うことができる。シミュレータ１０８は、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、いくつかのＮ個のエージェントを訓練することができる。いくつかのＮ個のエージェントは、第１のエージェントを含んでもよい。
【００６７】
マルコフゲームの場合、各エージェントは、したがって、有限の集合内で１つ以上のゴール又は特徴を達成することを学習してもよく、Ｎ個のエージェント間又はＮ個のエージェントの中でのゴールの集合的成功のために他のエージェントと協調し、シミュレーション中に限られたローカルな情報と独立して行動し得る。シミュレータ１０８は、エピソード環境として、環境（例えば、シングルエージェント及びマルチエージェント環境）を定式化することができ、各エージェントは、各訓練エピソード中にランダムにサンプリングされたゴールを割り当てられてもよい。いずれにしても、シミュレータ１０８は、マルチゴールマルコフゲームとして環境を設定し、非一元的ポリシーの一元的訓練へのアクター−クリティック的アプローチをレビューすることができる。
【００６８】
マルコフゲームに関して、シミュレータ１０８は、ｎ＝［１．．．Ｎ］でラベル付けされたＮ個のエージェントを有する、タプル（Ｓ，｛Ｏｎ｝，｛Ａｎ｝，Ｐ，Ｒ，Ｇ，Ｎ，γ）として、マルチゴールマルコフゲームを定義することができる。各エージェントは、各エピソード中に、１つのゴールｇｎ∈Ｇを有してもよい。各時間工程ｔにおいて、エージェントの構成は、状態ｓｔ∈Ｓによって、完全に指定されてもよく、一方、各エージェントｎは、部分観測
【数１】
2020027656.tif 000096
を受け取り、行動
【数２】
2020027656.tif 000097
を選択する。シミュレータ１０８は、遷移確率Ｐ（Ｓｔ＋１│ｓｔ、ａ）：Ｓ×Ａ１×．．．×ＡＮ×Ｓ→［０，１］に従って、共同行動
【数３】
2020027656.tif 000098
により、環境を、次の状態ｓｔ＋１に設定することができる。各エージェントは、報酬
【数４】
2020027656.tif 000099
を受け取ることができ、学習タスクは、ローカルな観察及びゴールにのみ当てはまる条件である、確率的ポリシーπｎ（ａｎ│ｏｎ，ｇｎ）：Ｏｎ×Ｇ×Ａｎ→［０，１］を見つけることであり、それは、水平線Ｔにわたって
【数５】
2020027656.tif 000100
を最大化し、γは割引係数である。本明細書で使用するとき、ａ−ｎ及びｇ−ｎは、エージェントｎのものを除いて、全てのエージェントの行動及びゴールの集合を表してもよく、ｇは、全てのエージェントのゴールの集合を表してもよく、（π（ａ│ｏ，ｇ）：＝Пｎπｎ（ａｎ│ｏｎ，ｇｎ）は、共同ポリシーを表してもよい。
【数６】
2020027656.tif 000101
は、
【数７】
2020027656.tif 000102
を表し得、式中、ρπは、π下での、計数された静止状態分布として定義される。
【００６９】
段階２では、シミュレータ１０８は、一元的クリティックを使用して、いくつかのＮ個のエージェントを観察することによって、他の訓練を受けた個人又はエージェントの学習を組み込んでもよい。換言すれば、第２のクリティックは、一元的クリティックであってもよい。シミュレータ１０８は、一元的クリティックに、ローカル及び／又は共同報酬を提供するように命令することができる。このようにして、非一元的ポリシーの一元的学習一元的クリティックが、提供され得る。第２のクリティックは、一元的クリティックであってもよいため、第２の段階又は段階２は、全てのＮ個のエージェントのためのグローバルビュー又は協調タイプの学習と関連付けられてもよい。グローバルビューは、全体としてのＮ個のエージェントの交通の流れを示すことができ、一方、ローカルビューは、単に第１のエージェントの移動、流れ、又は効率を示し得る。グローバルビュー及び／又はローカルビューは、鳥瞰図又は環境の観点から取られ得る。したがって、シミュレータ１０８による２つの段階のシミュレーションによって、彼ら自身のゴールに向かって行動しているエージェントに対応し、他のエージェントの成功のための協調に対応している、学習目的の２つの図が提供され得る。これらの２つの段階は、ニューラルネットワーク構造によって架橋された２段階（例えば、又は３つ、４つなどの追加の段階）に組み込まれてもよい。
【００７０】
なおも更に説明すると、段階２では、二重クリティック構成に基づくマルチエージェント設定又は環境において異なる特徴を達成するために、シミュレーション中にいくつかのＮ個のエージェントによって、協調が学習される。例えば、第１のエージェントは、第１の段階で訓練されてもよく、第１の非一元的クリティックは、シングルエージェント設定又は環境内における複数の特徴の学習を容易にし得る。第２の段階又は段階２では、いくつかのＮ個のエージェントは、マルコフゲームにインスタンス化されてもよく、事前訓練されたπ１（例えば、段階１の第１のエージェントからの以前に訓練されたパラメータ）及びＶπ（例えば、段階１の第１の非一元的クリティックからの以前に訓練されたパラメータ）並びに新しい一元的クリティックＱ（例えば、第２のクリティック）を備えてもよい。
【００７１】
第２の段階又は段階２の間、シミュレータ１０８は、Ｎ個のエージェントを訓練して、１つ以上の協調タスクを達成してもよく、又はマルチエージェント設定若しくは環境において、異なるゴールを達成することができる。これは、動的環境であってもよい。段階２でシミュレータ１０８によって提供されるマルチエージェント設定又は環境は、Ｎ個のエージェントが、互いに相互作用するように学習することを可能にし、一方で、Ｎ個のエージェントのうちのそれぞれ１つが、それらの目標位置に到達するそれらのゴールをそれぞれ最終的に達成することを可能にし得る。
【００７２】
シミュレータ１０８は、Ｎ個のエージェントのうちのそれぞれ１つが、第１のエージェントと同様に、無操作行動、加速行動、減速行動、１サブレーン左へのシフト行動、及び１サブレーン右へのシフト行動を含む１つ以上の一セットの行動から、行動を選択することを可能にすることによって、Ｎ個のエージェントを訓練し得る。
【００７３】
Ｎ個のエージェントによって段階２で学習され得る特徴のうちの１つ以上の実施例としては、他のエージェントとの衝突を回避するための学習、標的位置への時間の最適化を含んでもよい。しかしながら、段階１で発生した学習（例えば、静的環境内でどのように運転するかを学習する）は、段階２のシミュレーションに引き継がれるか、又は段階２にインスタンス化されるので、段階１と段階２の分割が、シミュレータ１０８によって提供されなかった場合よりも速い速度で、学習が達成され得る。一態様によれば、段階１のシングルエージェント環境で学習された１つ以上の特徴は、段階２のマルチエージェント環境で学習された特徴とは異なり得る。このようにして、シミュレータ１０８は、第１の段階から第２の段階のＮ個のエージェントまでに学習された特徴をインスタンス化して、カリキュラム学習を容易にすることができる。
【００７４】
前述したように、段階２では、シミュレータ１０８は、一元的クリティックを使用して、いくつかのＮ個のエージェントを観察することによって、他の訓練を受けた個人又はエージェントの学習を組み込んでもよい。Ｎ個のエージェントのそれぞれは、第１の段階又は段階１からの教示（例えば、ネットワークポリシー）でインスタンス化され得るため、Ｎ個のエージェントのうちのそれぞれ１つは、静的環境内でどのように運転するかについて、事前訓練されてもよい。更に、いくつかのＮ個のエージェントが存在し得るため、Ｎ個のエージェントのうちのそれぞれ１つは、マルチエージェント環境内の異なる位置に配置され、異なるシナリオに露出されてもよい。シミュレータ１０８及びクリティックにいくつかのＮ個のエージェントを観察させることによって、異なるシナリオについての学習を並行して行うことができる。別の言い方をすれば、段階２で生じ得る学習は、第１のエージェントによって学習されたデータを、第２のエージェントと共有することによって、及び逆もまた同様である（例えば、第２のエージェントによって学習されたデータを、第１のエージェントと共有すること）によって、達成され得る。
【００７５】
例えば、第１のエージェントが、左へレーンを変更しようとしていて、右へレーンを変更しようとしている第２のエージェントの前に位置している場合、エージェントのうちのそれぞれ１つが、異なるシナリオに露出されており、ネットワークポリシーが両方について更新され、それによって学習の効率を高め、ＣＭ３システムの訓練と関連付けられた訓練時間の量を大幅に低減することができる。この実施例では、第１のエージェント及び第２のエージェントは、異なるゴール（例えば、おそらく出口ランプへのアクセスを得るために、左へのレーン変更を実行する第１のゴール及び右へのレーン変更を実行する第２のゴール）を有する。協調学習は、シミュレータ１０８によって実施され得ることに留意されたい。例えば、第１のエージェントが、第２のエージェントに、右へのレーン変更の実行を許可することを拒否した場合、及び第２のエージェントが、第１のエージェントに、左へのレーン変更の実行を許可することを拒否した場合、どちらのエージェントにも利益はない。
【００７６】
第２のエージェントニューラルネットワークは、対応するＮ個のエージェントのうちのそれぞれのローカルな観察を示す、Ｎ個のエージェントのうちのそれぞれについてのｏ他のパラメータと関連付けられ得る。一態様によれば、ｏ他のパラメータは、第１のエージェントの速度、第１のエージェントとＮ個のエージェントのうちの１つとの間のレーン若しくはサブレーンの数、第１のエージェントからゴール位置までの距離、又は第１のエージェントと関連付けられた車両タイプを示すことができる。ｏ他のパラメータは、Ｎ個のエージェントのうちの１つと関連付けられた車両占有状態、第１のエージェントに対するＮ個のエージェントのうちの１つの相対速度、又はＮ個のエージェントのうちの１つと関連付けられた車両タイプを示すことができる。
【００７７】
第３の段階又は段階３は、本明細書に記載されていないが、第３の段階では、Ｎ個のエージェントのうちのそれぞれ１つは、事前訓練された第１のエージェントニューラルネットワーク及び事前訓練された第２のエージェントニューラルネットワークを用いて、シミュレータ１０８によってインスタンス化され得、追加の学習が行われ得、それによって、カリキュラム学習が提供されることを可能にする。
【００７８】
ポリシー生成／非一元的ポリシーの一元的学習
【００７９】
プロセッサ１０２又はシミュレータ１０８は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、ＣＭ３ネットワークポリシーを生成してもよい。シミュレータ１０８は、ニューラルネットワークのポリシー及び値関数のモジュラー増強によって、２つの段階（例えば、段階１及び段階２）を架橋することができる。ＣＭ３ネットワークポリシーは、図１の自律型車両（複数可）のコントローラに、自律様式で動作するように指示するために利用することができる、データを示し得る。例えば、ＣＭ３ネットワークポリシーは、第１の自律型車両又は第２の自律型車両（例えば、車両状態又は環境状態）と関連付けられた観測の入力を受信し、シミュレーション中に使用され、シミュレータ１０８によって提供される行動と同様の、無操作行動、加速行動、減速行動、１サブレーン左へのシフト行動、及び１サブレーン右へのシフト行動を含み得る、提案された行動を出力してもよい。
【００８０】
ＣＭ３ネットワークポリシーは、第１の段階及び第２の段階と関連付けられたローカルビュー及びグローバルビューを表す、組み合わされたビューを示すことができる。一態様によれば、シミュレータ１０８は、ローカルビュー及びグローバルビューに基づいて、ＣＭ３ネットワークポリシーを最適化し得る。このようにして、個々のタスクを達成するために学習するためのシングルエージェント段階と、それに続く、他のエージェントの存在下で協調するための学習のためのマルチエージェント段階とを含む２つの段階のカリキュラムが、提供され得る。シミュレータ１０８は、第１の段階及び第２の段階からのそれぞれのニューラルネットワークポリシー及び値関数のモジュラー増強によって、これら２つの段階（例えば、第１の段階及び第２の段階）を架橋することができる。換言すれば、シミュレータ１０８は、第１の段階又は段階１と関連付けられたニューラルネットワークポリシーを、第２の段階又は段階２と関連付けられたニューラルネットワークポリシーとともにモジュラー増強してもよい。同様に、シミュレータ１０８は、第１の段階又は段階１と関連付けられた１つ以上の値関数を、第２の段階又は段階２と関連付けられた１つ以上の値関数とともにモジュラー増強してもよい。
【００８１】
前述したように、ＣＭ３は、非一元的値関数（例えば、第１の非一元的クリティックと関連付けられた）及び一元的行動値関数（例えば、第２の一元的クリティックと関連付けられた）を含む、二重クリティックを介して、ポリシー勾配及び学習のローカル及びグローバルな図を定式化することによって、このカリキュラムに対してアクター−クリティック又はエージェント−クリティック的なフレームワークを実施してもよい。したがって、シミュレータ１０８は、シングルエージェント設定及びマルチエージェント設定の両方をシミュレートしてもよく、各エージェントは、有限集合内でゴール又は特徴を達成し、異なる可能性のあるゴール又は特徴を持つ他のエージェントと協調することを学習する。この点に関して、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法、又は協調的マルチゴール、マルチエージェント、多段階強化学習のためのシステム１００のＣＭ３フレームワークは、マルチエージェントカリキュラムが、１つ以上の利益又は利点を提供することを可能にする。
【００８２】
例えば、マルチエージェント探索は、これまで取り組むことが困難な問題であった。シングルエージェント設定において異なるゴールを達成するために、段階１のネットワークポリシーを訓練することによって、協調的解決策を見出すのに有用な探索的行動は、シングルエージェント設定で学習された個々のゴールに向かって行動することによって、確実に衝突を生じさせるようにエージェントが設定された後に、達成され得る。
【００８３】
別の実施例として、マルチエージェント強化学習（multi-agent reinforcement learning、ＭＡＲＬ）のニューラルネットワーク構成が、提供されてもよい。具体的には、エージェント又はアクター及びクリティックニューラルネットワークのための段階１の訓練は、シングルエージェント環境において個々のゴールを達成するのに十分である一部分（例えば、これは、第１のセットのゴール又は特徴に対して、事前に定義され、事前にプログラムされ、手動で設定されたものなどであり得る）に関連する入力空間を設定することによって、簡略化され得る。段階２のニューラルネットワーク構成では、アーキテクチャは、完全なマルチエージェント環境内での更なる学習のために、又は段階１の訓練（例えば、段階１の変数、パラメータ、ニューラルネットワークなど）に基づいて、拡張、調節、又は修正されてもよい。これにより、エージェントの観察の、エージェントの独自の状態の表現（例えば、標的位置までの距離）、及び他のエージェントの表現への分解が可能となる。
【００８４】
更に、段階１と段階２が、組み合わされる。換言すれば、非一元的ポリシーは、ローカルな目的を学習するための非一元的値関数と、学習協調のための一元的行動値関数とを含む、二重クリティックを使用して訓練される。これにより、ポリシー勾配の２つの等価な図を示すこと、及び新しいアクター−クリティック又はエージェント−クリティック的な適応を実施することによって、Ｎ個のエージェント間の協調を考慮しつつ、ローカルな目的又はゴールを考慮することを可能にすることができる。
【００８５】
ＣＭ３フレームワーク（例えば、ＣＭ３システム及びＣＭ３方法と関連付けられた）は、簡略化されたポリシーネットワークを含む単一のカリキュラム内のこれらの特徴を、段階１で複数のゴールを達成するために学習するための非一元的クリティックと組み合わせ、一方で、段階２は、他のエージェントを表すためにポリシーの観察空間を増強し、二重クリティック的実施を使用して、マルチエージェント協調を学習する。一態様によれば、パラメータ共有は、シミュレータ１０８によって、全てのエージェントに対して１つ以上のエージェントの間で提供され得る。
【００８６】
完全な状態−行動情報を受信する一元的クリティックは、ローカルな情報のみを受信する、非一元的アクター又はエージェント（例えば、ポリシー）の学習を速めることができ、そしてアクターのみが、訓練後に実行のために保持され得る。一態様によれば、シングルエージェント設定において、ポリシーπ（パラメータθを有するは、目的
【数８】
2020027656.tif 000103
を最大化し得、それは勾配
【００８７】
【数９】
2020027656.tif 000104
を上昇させることによる。
【００８８】
式（１）において、
【数１０】
2020027656.tif 000105
は、行動値関数であり、ｂ（ｓ）は、任意の状態依存ベースラインである。
【００８９】
一態様によれば、反事実的なベースラインは、以下のように定義され得る。
【００９０】
【数１１】
2020027656.tif 000106
【００９１】
反事実的なベースラインは、マルチエージェントクレジット割り当ての問題に対処することができる。Ｑ（ｓ，（ａ−ｎ，ａｎ））−ｂ（ｓ，ａ−ｎ）は、エージェントの選択した行動の貢献度、及びそれに対する他のエージェントの行動を固定したまま、全ての可能性のある反事実的な行動の平均値
【数１２】
2020027656.tif 000107
を表すことができる。シミュレータ１０８は、全てのエージェント間でパラメータ共有を利用してもよく、これは、全てのエージェントが同じポリシーを実行するが、それらの個々の観察に応じて、異なって挙動し得ることを意味する。
【００９２】
ポリシー勾配は、以下のように定義され得る。
【００９３】
【数１３】
2020027656.tif 000108
【００９４】
本明細書に記載されるＣＭ３フレームワークは、個々の目的並びに局所的及び共同報酬の混合を考慮する、反事実的なベースライン（例えば、式（３））に基づいてもよい。
【００９５】
図３は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法３００の例示的なフロー図である。方法３００は、シングルエージェント環境において特徴を学習するために、第１のエージェント及び第１のクリティックの訓練３０２、マルチエージェント環境においてＮ個のエージェント間の協調を学習して、事前訓練された第１のエージェントニューラルネットワークを用いて、Ｎ個のエージェントをインスタンス化するための、ある数のＮ個のエージェントの訓練３０４、並びに第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づく、協調的マルチゴール、マルチエージェント、多段階（ＣＭ３）ネットワークポリシーの生成３０６を含み得る。したがって、訓練３０２及び訓練３０４の行為は、３０６のネットワークポリシーを構築するための増分多段階学習プロセスを含む。
【００９６】
一態様によれば、シングルエージェント環境における第１のエージェントの訓練３０２は、第１のポリシー勾配に基づいて第１のエージェントを訓練することと、マルコフ決定プロセスを使用して、シングルエージェント環境内の１つ以上の特徴を学習するために、第１の損失関数に基づいて、第１のクリティックを訓練することと、を含み得る。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。第１のクリティックは、非一元的クリティックであり得る。
【００９７】
一態様によれば、マルチエージェント環境におけるＮ個のエージェントの訓練３０４は、マルコフゲームを使用して、マルチエージェント環境におけるＮ個のエージェント間の協調を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配及び第２のポリシー勾配に基づいて、いくつかのＮ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のクリティックを訓練することを含み得る。Ｎ個のエージェントのそれぞれは、事前訓練された様式で、第１のエージェントニューラルネットワークとインスタンス化されてもよい。第２のクリティックは、一元的クリティックであってもよい。このようにして、二重クリティック方法を提供することができる。更に、シングルエージェント環境において第１のエージェントを訓練することは、マルチエージェント環境においてＮ個のエージェントを訓練する前に行われてもよく、それによって、本明細書に記載されるように、ＣＭ３強化学習の効率を高めることができる。
【００９８】
図４は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法と関連付けられた、例示的なデータフロー図である。図４の段階１では、一対の低減されたネットワークＶ１及びπ１は、ポリシー勾配∇Ｊｌｏｃａｌを使用して、シングルエージェント環境において複数のゴールを達成することを学習し得る。新しいポリシーネットワークπは、訓練されたπ１、新しいモジュールπ２、及びＶの構築から、構築され得る。図４の段階２の完全なマルチエージェント環境において、これらのより大きいπ及びＶは、新たな一元的クリティックＱとともに、Ｎ個のエージェントのそれぞれに対してインスタンス化されてもよく（完全なパラメータ共有を伴って）、補間されたポリシー勾配を用いて訓練されてもよい。
【００９９】
全ての個々のπｎ（ａｎ｜ｏｎ，ｇｎ）によって共有される暗示パラメータθを有する共同ポリシーπ（ａ｜ｏ，ｇ）は、以下の目的を最大にするために定義され得る。
【０１００】
【数１４】
2020027656.tif 000109
【０１０１】
目的は、２つの方法（例えば、ローカル及びグローバル）で見ることができ、それにより、アクター−クリティック対の非一元的及び一元的クリティックをもたらす。
【０１０２】
ローカルビュー（例えば、第１のビュー）について、シミュレータ１０８は、これらの報酬から非一元的クリティックを学習して、全てのエージェントの共同成功に関して明示的に考慮することなく、ローカルなゴールを達成するために、エージェントのためのポリシー勾配を提供してもよい。目的
【数１５】
2020027656.tif 000110
は、個々のゴールｇｎに対応するように定義されてもよい。Ｊｌｏｃａｌは、勾配を上昇させることによって最大化され得る。
【０１０３】
【数１６】
2020027656.tif 000111
【０１０４】
【数１７】
2020027656.tif 000112
【０１０５】
各
【数１８】
2020027656.tif 000113
は、個々の報酬Ｒ（ｓ，ａｎ，ｇｎ）に対応する状態−行動値である。
【０１０６】
式（５）の第２のラインにおいて、以下の近似値が作製されてもよい。
【０１０７】
１）スケーラビリティのために、ｎ個の異なる関数近似子を使用する代わりに、追加の入力ゴールｇｎを使用して、全ての
【数１９】
2020027656.tif 000114
を単一のＱπ（ｓ，ａ，ｇｎ）で近似する。
【０１０８】
２）期待値を変更することなく、Ｑπ（ｓ，ａ，ｇｎ）を、利点関数Ａπ（ｓ，ａ，ｇｎ）：＝Ｑπ（ｓ，ａ，ｇｎ）−Ｑπ（ｓ，ａ，ｇｎ）に置き換え、ＴＤ誤差
【数２０】
2020027656.tif 000115
を、利点値の公平な推定として利用する。
【０１０９】
３）ｓｔをｏｔで最終近似することによって、非一元的クリティックＶ（ｏｔ，ｇｎ）を計算する。
【０１１０】
θＶによってパラメータ化されると、損失を最小化することによって、クリティックが更新される。
【０１１１】
【数２１】
2020027656.tif 000116
【０１１２】
式中、θ’Ｖは、主θＶに向かってゆっくりと更新する、標的ネットワークのパラメータである。
【０１１３】
グローバルビュー（例えば、第２のビュー）については、共同報酬
【数２２】
2020027656.tif 000117
を定義することができる。共同報酬は、他のエージェントの成功に寄与するように、各エージェントを促す、一元的クリティックを学習するために使用されてもよい。Ｊｇｌｏｂａｌは、以下のように定義することができる。
【０１１４】
【数２３】
2020027656.tif 000118
【０１１５】
【数２４】
2020027656.tif 000119
は、一元的クリティックであり、ｂ（ｓ，ａ−ｎ，ｇ）は、複数のゴールを有する一般化された反事実的なベースラインであり得る。
【０１１６】
【数２５】
2020027656.tif 000120
【０１１７】
θＱによってパラメータ化されると、損失を最小化することによって、一元的クリティックが更新される。
【０１１８】
【数２６】
2020027656.tif 000121
【０１１９】
式（９）において、θ’Ｑ及びπ’は、それぞれ、ゆっくりと更新された目標Ｑ及び目標ポリシーネットワークを表す。
【０１２０】
組み合わせたビュー（例えば、第３のビュー）については、∝∈（０，１）を使用する両方のビュー間の補間は、共同報酬が各エージェントのポリシーに影響を及ぼす程度を決定するために、シミュレータ１０８によって実行されてもよい。
【０１２１】
全体的なポリシー勾配は、以下のように定義される。
【０１２２】
∇θＪ（π）：＝α∇θＪｌｏｃａｌ（π）＋（１−α）∇θＪｇｌｏｂａｌ（π）（１０）
【０１２３】
ポリシー勾配は、２つの目的最適化問題の重量和スケールとして見ることができ、そのパレート最適化は、凸性仮定を使用して、式（１０）に沿って最適化することによって見出すことができる。
【０１２４】
段階１では、アクターπ及び非一元的クリティックＶπは、シングルエージェント設定において、複数のゴールを学習するように訓練されてもよい。この段階は、シングルエージェントマルコフ決定プロセス（ＭＤＰ）に基づいてもよい。シミュレータ１０８は、それぞれ、ポリシー勾配∇Ｊｌｏｃａｌ式（５）及び損失
【数２７】
2020027656.tif 000122
式（６）に従って、アクターπ（ａｎ│ｏｎ，ｇｎ）及びクリティックＶπ（ｏｎ，ｇｎ）を訓練してもよい。エージェントが訓練の過程にわたって全てのゴールを学習するために、ゴールは、各訓練エピソードにおいてＧから均一にサンプリングされ得る。シミュレータ１０８は、関数近似のためにディープニューラルネットワークを使用することができ、アクター及びクリティックネットワークへの入力は、特定のエピソードのゴールを表す、エージェントの観察ベクトルｏｎ及びベクトルｇｎを含むことができる。
【０１２５】
シミュレータ１０８は、マルチエージェント環境が通常、
【数２８】
2020027656.tif 000123
内のエージェントの観察空間の分解を可能にするという単純な観察を行うことができ、式中、
【数２９】
2020027656.tif 000124
には、エージェント自身の状態に関する情報（例えば、位置）が含まれており、一方で、
【数３０】
2020027656.tif 000125
は、エージェントの周囲のエージェントのローカルな観察であり、ｏｏｔｈｅｒｓを処理する能力は、段階１では不要である。このようにして、シミュレータ１０８は、
【数３１】
2020027656.tif 000126
に設定されるπ及びＶの入力空間のサイズを低減し、それによって、段階１における訓練可能なパラメータの数を低減し、訓練速度を向上させることができる。シミュレータ１０８は、収束するまで、これらの低減されたアクター及びクリティックネットワークを訓練し、それらをそれぞれπ１及びＶ１としてラベル付けしてもよい。
【０１２６】
段階２では、シミュレータ１０８は、事前訓練されたπ及びＶπ並びに新しい一元的クリティックＱを備えた、完全なマルコフゲームに全てのエージェントをインスタンス化し、更に協調的挙動のための更なる訓練を実施することができる。マルコフゲームは、Ｎ個のエージェントでインスタンス化されてもよい。シミュレータ１０８は、以前に訓練されたπ１パラメータを保持し得、エージェントがそれらのローカルな観察のｏｏｔｈｅｒｓパラメータを処理するための新しいニューラルネットワークπ２をインスタンス化し、π２の出力からπ１の選択された層への隠れた接続を導入する。具体的には、
【数３２】
2020027656.tif 000127
は、
【数３３】
2020027656.tif 000128
及び活性化機能ｆを用いて、
【数３４】
2020027656.tif 000129
を介して、層ｉ−１に接続されたπ１のＬ層ニューラルネットワーク表現において、ｍｉ単位で層ｉ≦Ｌの隠された活性を定義することができる。段階２は、Ｋ層ニューラルネットワークπ２（ｏｏｔｈｅｒｓ）を導入し、出力層
【数３５】
2020027656.tif 000130
は、π１の特定の層ｉ＊を選択し、隠れた活性化
【数３６】
2020027656.tif 000131
を以下のように増加させる。
【０１２７】
【数３７】
2020027656.tif 000132
【０１２８】
同等又は類似の増強は、新しいニューラルネットワークＶ２（ｏｏｔｈｅｒｓ）を使用して、クリティックＶ１に行うことができる。シミュレータ１０８は、一元的クリティックＱπ（ｓ；ａ；ｇ）をインスタンス化することができ、これは必須ではなく、したがって、段階１の間には存在せず、π、Ｖ、Ｑを、組み合わされた勾配∇Ｊ式（１０）、損失
【数３８】
2020027656.tif 000133
式（６）、及び損失Ｌ（θＱ）式（９）をそれぞれ使用して、訓練する。段階１と同様に、シミュレータ１０８は、各訓練エピソード中にＧの上の分布から（例えば、ランダムに）サンプリングすることによって、エージェントにゴールを割り当てることができる。分布は、協調を必要とする困難なゴールの組み合わせに対する十分な訓練を確実にするように、そのゴールに向けて作用するエージェントの能力を維持するためのより容易な組み合わせとともに、構築することができる。
【０１２９】
カリキュラム学習を伴うアクター−クリティックネットワークのこの２段階構成は、完全なマルチエージェント環境上での直接訓練と比較して、学習速度を改善する。このようにして、ＣＭ３フレームワークベースのシステム及び方法は、更なる強いベースラインよりもはるかに速く学習し、より成功したポリシーを見つける。２段階のカリキュラム及び非一元的クリティックは、この成功を容易にし、一方、ポリシー勾配のグローバルビューは、協調的な解決策を見つける際に顕著な利点を与える。
【０１３０】
段階１における処理
【数３９】
2020027656.tif 000134
のために事前訓練された更なる隠れ層ｉ＜ｉ＊は、タスク情報を処理する能力を保持し、一方、新しいモジュールは、周囲のエージェントの効果を学習する。段階１のシングルエージェント設定においてゴール指向作用を生成することができる上位層ｉ≧ｉ＊は、全てのエージェントの共同成功のための協調作用を生成するために、組み合わせた勾配によって微調整される。
【０１３１】
図５Ａ及び図５Ｂは、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習のための方法の例示的なフロー図である。一態様によれば、図５Ａ及び図５Ｂの方法は、ＣＭ３フレームワークを実装するための擬似コードを示す。
【０１３２】
図６は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。図６では、シミュレータ１０８内の大きな道路ネットワークの１つのセグメントが示されている。シミュレータ１０８は、水平位置ｘｉで始まるｌ個の初期レーン（そのうちの２つは、合流ポイントに遭遇する）と、終端位置ｘｆでのｌ−１個のゴールレーンと、を含み得る。各エピソードでは、Ｎ個のエージェントは、ランダムに選択された初期レーン上で、ｘｉで放出され、各エージェントｎは、位置ｘｆで到達することを学習すべきである、ランダムに選択されたゴールレーンｇｎと関連付けられる。エージェントは、限定された視野を有する観察を受信し、別個の行動空間から行動を選択し、端末及び瞬間的な基準（例えば、到達ゴール、超過速度制限）の両方に従って、報酬を受信することができる。シミュレータ１０８は、以下の環境を定義することができる。
【０１３３】
Ｅ１：他の空の道路上のシングルエージェントは、任意の初期レーンから任意のゴールレーンに到達することを学習する。これは、初期のネットワークπ１及びＶ１を、目的Ｊｌｏｃａｌで訓練する、ＣＭ３の段階１に使用される。
【０１３４】
Ｅ２：Ｎ＝４エージェントは、確率０．８でランダムに初期化され、初期及びゴールレーンは、二重合流が生じるように、確率０．２で設定され、初期及びゴールレーンは、均一にサンプリングされる。ＣＭ３の完全な段階２のアーキテクチャは、Ｅ２において訓練される。
【０１３５】
Ｅ２＋：確率０．５／秒で放出された交通シミュレータ制御車両を使用して、一般化を試験するために使用される。
【０１３６】
一態様によれば、シミュレータ１０８は、段階１をＥ１で訓練し、続いて段階２をＥ２で訓練してもよい。別の態様によれば、競合方法は、Ｅ２において直接訓練されてもよい（例えば、車両又はエージェントが、協調するのではなく競合し得る）。
【０１３７】
シミュレータ１０８は、１つ以上の主レーン及び１つの合流レーンを含む、全長の直線道路をシミュレートするように設定されてもよい。合流レーン上の車両は、合流ウィンドウ内の主レーン上に合流することができ、合流レーンは、所定の長さで終了してもよい。レーンは幅を有してもよく、車両は、レーン内の４つのサブレーンのいずれかに沿って、横方向間隔で位置合わせされてもよい。速度限界は、所定の速度に設定されてもよい。Ｅ２＋では、クラウス車追従モデルに従って挙動する、交通シミュレータ制御乗用車及びトラック（例えば、タイプトレーラ）は、毎秒所定の確率で主レーンに放出されてもよい。シミュレーション時間解像度は、シミュレーション工程時間に設定されてもよい。
【０１３８】
一態様によれば、Ｅ１において、シングルエージェントの初期レーン及びゴールレーンは、開始及び終了レーンの数にわたって、均一分布からランダムにサンプリングされてもよい。Ｅ２において、確率０：２で、全てのエージェントの初期及びゴールレーンは、開始及び終了レーンの数にわたって、均一分布から独立してサンプリングされてもよく、確率０：８で、エージェント［１，２，３，４］は、初期レーン［２，２，３，３］及びゴールレーン［４，４，０，０］で初期化された。出発時間は、平均［０；２；０；２］ｓ及び標準偏差０．２ｓを有する正規分布から描かれてもよい。
【０１３９】
ローカルな観察
【０１４０】
一態様によれば、各エージェント車両のローカルな観察は、２つのパラメータを含んでもよい。全ての訓練段階で使用される自己に関する第１のパラメータは、エージェントの速度正規化、エージェントの現在のサブレーンとゴールレーンの中央サブレーンとの間の正規化されたサブレーン数、正規化されたゴール位置までの縦距離、合流レーン上にあることの二進インジケータ、（事前定義されたセグメント境界を使用する）道路に沿った次のセグメントまでの正規化距離を含む、ベクトルであってもよい。
【０１４１】
別の態様によれば、第２のパラメータは、４つのチャネルを有する、エージェントを中心とする離散化された観察グリッドであってもよく、４つのチャネルは、車両占有率のバイナリインジケータと、他の車両とエージェントとの間の正規化相対速度と、乗用車である車両タイプのバイナリインジケータと、トラックである車両タイプのバイナリインジケータと、を含む。
【０１４２】
グローバル状態
【０１４３】
グローバル状態ベクトルは、全てのエージェントの観察パラメータ
【数４０】
2020027656.tif 000135
の連結
【数４１】
2020027656.tif 000136
であってもよい。
【０１４４】
ゴール
【０１４５】
各ゴールベクトルｇｎは、所定の位置ｘに到達するとエージェントｎが到着すべきであるゴールレーンを示す、長さの１ホットベクトルであってもよい。各エピソード中の全てのエージェントについて、ゴールをランダムにサンプリングしてもよい。
【０１４６】
行動
【０１４７】
全てのエージェントは、以下の５つのオプション、無操作行動（例えば、現在の速度及びレーンを維持する）、加速、減速、及び１サブレーン左へのシフト、１サブレーン右へのシフトを含む、同様の別個の行動空間を有する。各エージェントの行動ａｎは、所定の長さの１ホットベクトルとして表されてもよい。
【０１４８】
個々の報酬
【０１４９】
一態様によれば、ゴールｇｎを有するエージェントｎについての報酬
【数４２】
2020027656.tif 000137
；ｇｎ）は、以下の条件に従って与えられてもよい。
【０１５０】
衝突の場合は−１０（エピソードの終了に続く）
【０１５１】
タイムアウトの場合は−１０（エピソード中に１２０のシミュレーション工程を超える）
【０１５２】
道路の終端に到達し、ゴールレーンの中心からの正規化されたサブレーン差を有する場合は＋１０（１−Δ）
【０１５３】
２００ｍ＜ｘ＜４００ｍの間に別のレーンから合流レーンに入る場合は−５
【０１５４】
２００ｍ＜ｘ＜４００ｍの間に合流レーンにいる場合は−０．５
【０１５５】
現在の速度が３５．７ｍ／秒を超える場合は−０．１
【０１５６】
共有グローバル報酬
【０１５７】
一態様によれば、共有グローバル報酬Ｒｇ（ｓｔ；ａｔ；ｇ）は、以下により決定され得る。
【０１５８】
何らかの衝突が発生した場合の−１０、及び
【０１５９】
時間ｔに道路の終端に達したエージェントの全ての個々の報酬の平均。
【０１６０】
アーキテクチャ
【０１６１】
一態様によれば、段階１の間のポリシーネットワークπ１は、入力ｏｓｅｌｆ及びｇｎのそれぞれを、３２単位を有する１つの完全に接続された層に供給する。連結は、６４単位を有する層
【数４３】
2020027656.tif 000138
に完全に接続されてもよく、それぞれが１つの別個の行動に対応する５単位を有するソフト最大出力層に完全に接続されてもよい。段階２では、入力観察グリッドｏｏｔｈｅｒｓは、サイズ５×３及びストライド１×１の４つのフィルタを有する畳み込み層によって処理されてもよく、平坦化して、６４単位を有する層に完全に接続され、次にπ１の層
【数４４】
2020027656.tif 000139
に完全に接続されてもよい。ＲｅＬＵの非線形性は、全ての隠れ層に使用され得る。行動確率は、Ｐｒ（ａｎ＝ｉ）＝（１−∈）ｓｏｆｔｍａｘ（ｉ）＋∈／｜Ａ｜によって、ソフト最大出力の下限を定めることによって計算され、式中、∈は、減衰探索パラメータであり、｜Ａ｜＝５である。
【０１６２】
段階１の間の非一元的クリティックＶ１は、入力ｏｓｅｌｆ及びｇｎのそれぞれを、３２単位を有する１つの完全に接続された層に供給してもよい。連結は、出力線形層ｈＶ１＿に、単一ユニットで完全に接続されてもよい。段階２では、入力観察グリッドｏｏｔｈｅｒｓは、サイズ５×３及びストライド１×１の４つのフィルタを有する畳み込み層１３によって処理されてもよく、平坦化して、３２単位を有する層に完全に接続され、次にＶ１の出力層
【数４５】
2020027656.tif 000140
に完全に接続されてもよい。ＲｅＬＵの非線形性は、全ての隠れ層に使用され得る。
【０１６３】
一元的クリティックＱ（ｓ，ａ，ｇ）は、入力（ｓ，ａ−ｎ，ｇｎ，ｇ−ｎ，ｎ）を受信してもよく、これは、１２８単位及びＲｅＬＵの活性化を有する２つの完全に接続された層に接続され、５単位を有する線形出力層に完全に接続され得る。各出力ノードｉの値は、行動ｉをとるエージェントｎ及び行動ａ−ｎをとる他の全てのエージェントについての、行動値Ｑ（ｓ，ａ−ｎ，ａｎ＝ｉ，ｇ）として解釈されてもよい。エージェンラベルベクターｎは、１ホットインジケータベクトルであり、異なるエージェントに対するＱ関数の評価を区別するための入力として使用される。
【０１６４】
二重再生バッファＢ１及びＢ２は、段階２の全てのアルゴリズムに対する訓練安定性を改善するために、ヒューリスティックとして使用されてもよい。各環境遷移を直ちに記憶する代わりに、追加のエピソードバッファを使用して、各エピソード中に遭遇する全ての遷移を記憶することができる。各エピソードの最後に、全てのエージェントの累積報酬を閾値（例えば、３２）と比較して、エピソードバッファ内の遷移がＢ１又はＢ２に記憶されるべきかどうかを決定することができる。訓練のために、ミニバッチの半分を、Ｂ１及びＢ２のそれぞれからサンプリングする。
【０１６５】
図７及び図８は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的な性能結果の図である。図７に見られるように、ＣＭ３は、Ｅ２における他の技術よりも早く、４５ｋエピソードよりも高い性能に収束した。図８では、ＣＭ３フレームワークベースのシステム又は方法によって学習されたポリシーは、Ｅ２＋よりも良好に一般化することが分かる。
【０１６６】
図９は、一態様による、協調的マルチゴール、マルチエージェント、多段階強化学習と関連付けられた、例示的なシミュレーションシナリオの図である。図９では、Ｅ２と関連付けられた初期レーン構成は、それらのゴールレーンに到達するために、二重合流又は二重レーン変化を実行するためのエージェントを必要とする。
【０１６７】
図１０は、一態様による、シングルエージェント環境Ｅ１における、例示的な報酬対エピソードのグラフの図である。
【０１６８】
マスキングに基づく自律型車両ポリシー生成
【０１６９】
図１１は、一態様による、自律型車両ポリシー生成システム１１００の構成要素図である。ＣＭ３強化学習のためのシステム１００は、図１１の構成要素又は自律型車両ポリシー生成システム１１００全体のうちの１つ以上を含んでもよい。自律型車両ポリシー生成システム１１００は、プロセッサ１１０２、メモリ１１０４、記憶ドライブ１１０６、状態入力発生器１１０８、交通シミュレータ１１１２、Ｑ−Ｍａｓｋｅｒ  １１１４、及び行動発生器１１１６を含んでもよい。状態入力発生器１１０８、交通シミュレータ１１１２、Ｑ−Ｍａｓｋｅｒ  １１１４及び行動発生器１１１６は、プロセッサ１１０２、メモリ１１０４及び／又は記憶ドライブ１１０６を介して実装されてもよい。
【０１７０】
自律型車両ポリシー生成システム１１００は、シミュレーションを通じて、及びＱマスキングを通じて、例えば、車両１７０のコントローラ１７６を使用して自律型車両ポリシーを実施し得る、車両１７０の自律型車両ポリシーを生成してもよい。
【０１７１】
状態入力発生器１１０８は、シミュレートされるように、自律型車両と関連付けられた状態情報を決定又は生成することができる。換言すれば、状態入力発生器１１０８は、自律型車両ポリシー生成と関連付けられたネットワークの入力を決定することを担当する。これらの入力の実施例としては、シミュレートされた自律型車両の内部の状態情報（例えば、シミュレートされた自律型車両と関連付けられた速度又は現在の速度）を含む、シミュレートされた自律型車両の状態、及びシミュレートされた自律型車両の外部の状態情報（例えば、シミュレートされた自律型車両と関連付けられたレーン配置又はレーン位置、及び所望の目的地などのゴールからの距離）を含み得る。ゴールは、必ずしも最終目的地でなくてもよいが、例えば、ルートに沿ったウェイポイント目的地であってもよい。交通シミュレータ１１１２は、シミュレートされた自律型車両と、シミュレーション環境内の１つ以上の他の車両（例えば、第１の車両、第２の車両、第３の車両など）とを含む、シミュレーション環境をシミュレートしてもよい。交通シミュレータ１１１２は、他の車両を制御して、ある範囲内の速度を維持するように構成されてもよい。
【０１７２】
一態様によれば、交通シミュレータ１１１２は、図１のＣＭ３強化のためのシステム１００のシミュレータ１０８であってもよい。加えて、プロセッサ１１０２及びメモリ１１０４は、図１のＣＭ３強化のためのシステム１００からのプロセッサ１０２及びメモリ１０４と同じであってもよい。
【０１７３】
ゴールまでの距離は、交通シミュレータ１１１２への入力として考慮され得るため、交通の中でマルチレーン高速道路などの運転シナリオに存在する場合、計画的レベルでの長期的な決定についての推論を考慮する必要がある。
【０１７４】
一態様によれば、交通シミュレータ１１１２は、シミュレーション環境内の他の車両を制御して、互いとの衝突を回避することができるが、シミュレートされた自律型車両（例えば、エージェント）とはならない。Ｑ−Ｍａｓｋｅｒ  １１１４は、低レベルコントローラを介して実装されてもよく、及び自律型車両が戦略的レベルで決定を行うことを可能にする、ポリシーを学習するディープＱ学習システムの一部である。ディープＱ学習システムは、各可能性のある行動と関連付けられた状態とＱ値との間のマッピングを学習することができる。別の言い方をすれば、交通シミュレータ１１１２は、ディープＱ学習システムを使用し、かつＱ−Ｍａｓｋｅｒ  １１１４の適用なしで、各時間フレームについて全ての可能性のある行動をシミュレートするように進み、これはプロセッサ１１０２及びメモリ１１０４の大量の計算能力を利用し得る。したがって、ありとあらゆる行動が探索される完全なポリシーを学習することは、訓練するのが大規模なネットワークでは困難であり得る。
【０１７５】
Ｑ学習ネットワークでは、各行動に関連する状態とＱ値との間のマッピングが学習され得る。一態様によれば、最大（又はソフト最大）オペレータの前に出力Ｑ値に適用されるマスクの形態のＱマスキングは、Ｑ値の出力層に適用され、「最良の」行動を選択することができる。この点に関して、Ｑ−Ｍａｓｋｅｒ  １１１４の直接効果は、「最良の」行動を選択するために最大操作をとるとき、より低いレベルのモジュールによって指示される行動のサブセットと関連付けられたＱ値のみが考慮されるということである。
【０１７６】
したがって、Ｑ−Ｍａｓｋｅｒ  １１１４は、交通シミュレータ１１１２によってシミュレートされるべき、出力Ｑ値のサブセットをマスクすることができる。したがって、行動の残りのサブセットと関連付けられたＱ値のみが、シミュレーション中に交通シミュレータ１１１２によって考慮され、それによって、自律型車両ポリシー生成における自律型車両のシミュレーション及び訓練中に利用される、処理電力及び／又はコンピューティングリソースの量を軽減する。行動の残りのサブセット（例えば、可能性のある行動のセット、マスクされたサブセットを除外した行動のサブセット）に基づいて、行動発生器１１１６は、残りの行動を探索し、それに応じて、自律型車両ポリシーを決定してもよい。これは、１つ以上の時間間隔にわたって繰り返されてもよい。これにより、Ｑ−Ｍａｓｋｅｒ  １１１４は、シミュレートされた自律型車両に、マスクされていない状態のみを探索させるように、「強制」することができ、したがって、関連付けられたＱ値の空間のサブセット（これは、状態（ｓ）に対するポリシー（π）下での行動（ａ）の長期的な戻りを示す）のみを学習する。
【０１７７】
より詳細には、状態入力発生器１１０８は、訓練を受ける自律型車両（例えば、シミュレートされた自律型車両）と関連付けられた、一セットの属性を生成してもよい。例えば、一セットの属性は、自律型車両と関連付けられた現在の速度ｖ、自律型車両と関連付けられたレーン位置ｌ、及び自律型車両からゴールまでの距離ｄ２ｇを含んでもよく、ゴールは所望の目的地であってもよい。また、車両と関連付けられた属性又は位置情報のセットは、占有グリッドとして表されてもよい。セットの属性は、自律型車両と関連付けられた状態（複数可）又はシナリオを示すか、又は表す、状態情報であってもよい。例えば、通知された制限速度又はｖｍｉｎ及びｖｍａｘの最小及び最大制限速度などの情報は、自律型車両の配置又は位置に基づいて決定されてもよい。
【０１７８】
交通シミュレータ１１１２は、自律型車両を含むシミュレーション環境、多数のレーンと関連付けられた車道、及びシミュレーション環境内の１つ以上の他の車両を含むシミュレーション環境をシミュレートしてもよい。交通シミュレータ１１１２は、交通密度で交通を生成することができ、各レーンは、時間間隔で、開始位置で車両を放出する確率Ｐレーンを割り当てられてもよく、他の車両は、ランダムな開始速度、ランダムな目標速度、及びランダムな目標速度から内部に留まる範囲と関連付けられてもよい。交通シミュレータ１１１２は、他の車両を制御して、互いとの衝突を回避するが、シミュレートされた自律型車両ではないモデルを使用してもよい。一態様によれば、交通シミュレータ１１１２は、シミュレートされた自律型車両を制御しないが、単にシミュレーション環境内の他の車両を制御して、互い（シミュレートされた自律型車両ではない）に衝突するのを回避するだけである。
【０１７９】
交通シミュレータ１１１２は、シミュレートされた自律型車両及び交通シミュレータ１１１２によって提供されるシミュレーション環境についての状態入力生成属性に基づいて、強化学習を実施する、ディープＱ学習システムであってもよい。交通シミュレータ１１１２によって管理されるシミュレーション環境内で、シミュレートされた自律型車両は、可能性のある行動のセットからシミュレートされた行動をとることができる、エージェントであってもよい。可能性のある行動のセットは、行動セット（Ａ）として知られ得る。例えば、自律型車両のための可能性のある行動のセットは、時間間隔の間の、自律型車両と関連付けられた現在の速度を維持すること、加速すること、減速すること、右レーン変更を実行すること、又は左レーン変更を実行することである自律運転操作を含む。
【０１８０】
シミュレーション環境は、シミュレートされた自律型車両が移動する世界又は環境であってもよい。交通シミュレータ１１１２は、シミュレートされた環境をシミュレートし、シミュレートされた自律型車両の現在の状態及び行動（例えば、所与の時間間隔）を入力として使用し、以下に説明するシミュレートされた自律型車両の報酬及び次の状態を出力として返す。例えば、交通シミュレータ１１１２は、車両の現在の状態（例えば、５０ｍｐｈ）及び行動（例えば、減速）をとり、シミュレートされた自律型車両の次の状態（例えば、４５ｍｐｈ）を決定するために物理学の法則を適用することができる。
【０１８１】
交通シミュレータ１１１２は、とられた（例えば、シミュレートされた）行動を評価する機能であり得る、報酬機能（Ｒ）を利用してもよい。別の言い方をすれば、報酬機能を利用して、成功又は失敗を測定することができる。例えば、シミュレートされた自律型車両が、ゴール（例えば、所望の目的地）を逸した場合、又は衝突に関与する場合、報酬機能は、現在の状態（例えば、逸したゴール又は衝突）に導かれる、シミュレートされた行動を無効化することができる。逆に、報酬機能は、ゴールまでの最速時間又は最短経路に基づいて、報酬を授与することができる。報酬はすぐに提供されてもよく、報酬機能に基づいて、遅延されてもよい。報酬機能によって提供される報酬は、所与のゴール（例えば、出口ランプに到達する）に基づいて、強化学習が行われることを可能にする。
【０１８２】
短期的な決定を長期的な報酬よりも重くするために、割引係数（γ）に、将来の報酬をかけてもよい。別の言い方をすれば、割引係数は、将来の報酬を即時の報酬よりも価値の低いものにするために使用され得る。この点に関して、値（Ｖ）は、割引の影響を含む、予期長期的な収益であり得る。Ｑ値（Ｑ）は、状態（ｓ）上のポリシー（π）下での行動（ａ）の長期的な収益を示す、行動値であってもよい。軌道は、それらの状態を含む連続的な状態及び／又は行動であってもよい。ポリシー（π）又は自律型車両ポリシーは、（例えば、自律型車両と関連付けられたセットの属性によって示されるような）現在の状態に基づいて、自律型車両に対する次の行動を決定するために、行動発生器１１１６が使用又は利用する戦略であってもよい。
【０１８３】
一態様によれば、報酬機能は、以下のものであってもよい。
【０１８４】
【数４６】
2020027656.tif 000141
式中、ｌは、模擬自律型車両が開始位置から目標距離Ｄに位置するレーンである。
【０１８５】
したがって、この報酬機能によれば、成功すると（例えば、ゴールに到達すると）、正の最終報酬が与えられ、更に、シミュレートされた自律型車両が、ゴールと関連付けられたレーンから離れて終了するにつれて、負の最終報酬が与えられる。割引係数は、シミュレートされた自律型車両が、最短時間又は最小数の時間間隔（すなわち、より高い平均速度を維持する）で、ゴールに到達するように促し得る。更に、訓練中に衝突が決して許容されないため、報酬機能は、衝突を考慮する必要はなく、それによって報酬機能が簡略化される。
【０１８６】
例えば、状態を考慮すると、Ｑ−Ｍａｓｋｅｒ  １１１４は、エージェント又はシミュレートされた自律型車両がそれらの結果から探索又は学習する必要がない任意の行動のセットを制限するか、又は別の方法で「マスクオフ」することができる。換言すれば、シミュレートされた自律型車両が最も左側のレーンに位置している場合、左へのレーン変更行動をとることは、高速道路を降りることをもたらすであろう。したがって、Ｑ−Ｍａｓｋｅｒ  １１１４は、左へのレーン変更行動がそのような状態で決して選択されないように、左への行動と関連付けられたＱ値にマスクをかけることができる。これにより、システムに関する事前の知識（すなわち、この実施例では高速道路路肩）を、直接的に学習プロセスに組み込むことが可能になる。次に、高速道路を降りることに対する否定的な報酬は設定される必要がなく、それによって報酬機能が簡略化される。
【０１８７】
また、行動発生器１１１６はこれらの状態を探索しないため、学習自体がより速く、より効率的になる。行動発生器１１１６が学習を終了することは、セット全体ではなく、Ｑ値の実際の空間のサブセットである。システム上の制約も、同様の方法で組み込まれてもよい。例えば、自律型車両が最大速度ｖｍａｘで運転している場合、加速行動は、マスクされてもよい（又は最小速度ｖｍｉｎである場合、減速行動がマスクされる）。このようにして、行動発生器１１１６は、高速道路又は道路の速度制限を学習するのに時間を費やす必要はない。
【０１８８】
Ｑ−Ｍａｓｋｅｒ  １１１４は、自律型車両の可能性のある行動のセットのサブセットに、時間間隔にわたって適用されるマスクを決定することができる。これらのマスクの行動のセットは、行動発生器１１１６によって探索されるか又は考慮されず、それによって、自律型車両ポリシー生成のためのシステムによって利用される、計算リソース（例えば、処理電力、メモリ、記憶装置など）の量を軽減する。
【０１８９】
一態様によれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識、低レベルコントローラからの１つ以上の交通ルール、制約若しくは情報、又は自律型車両と関連付けられた能力に基づいて、適用されるべきマスクを決定してもよい。以前の知識は、自律型車両とシミュレーション環境との間、又はシミュレーション環境内の自律型車両と他の車両との間の所定の許容可能な相互作用を示し得る。別の言い方をすれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、従来の知識を利用して、例えば、シミュレートされた自律型車両と他の車両との間の衝突をもたらすか、衝突まで時間（time to collision、ＴＴＣ）を増加させるか、シミュレートされた自律型車両を、道路から逸脱させるか、又は所望の操作閾値若しくは範囲外に落とし得る行動を、マスクすることができる。
【０１９０】
交通ルールは、車両の位置又は現在の配置に基づいて、許容可能な運転操作を示すことができる。例えば、交通ルールは、最大速度制限、最小速度制限、急旋回しないなどの運転エチケット、間の一時停止なしに二重レーン変更を行うこと、他のドライバーを「遮断する」運転操作を行わないことなどを含み得る。言い換えれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、交通ルールに基づいて、自律型車両と関連付けられた現在の速度が車道と関連付けられた制限速度よりも大きいときに加速し、自律型車両と関連付けられた現在の速度が道路と関連付けられた最小速度制限よりも小さいときに減速することを含むように、行動のマスクされたサブセットを決定することができる。このようにして、ｖｍｉｎ及びｖｍａｘの最小及び最大速度制限を破壊するであろう加速及び減速行動は、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされる。
【０１９１】
他の交通ルールは、二重レーンマーキングを通過しないことを含み得る。例えば、Ｑ−Ｍａｓｋｅｒ  １１１４は、交通ルールに基づいて、自律型車両が道路の二重レーンマーキングのすぐ右側に位置するときに、右へのレーン変更を実行する自律運転操作、及び自律型車両が車道の二重レーンマーキングのすぐ左側に位置するときに、左へのレーン変更を実行する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９２】
更に、自律型車両と関連付けられた能力は、自律型車両と関連付けられた物理的に可能な運転操作を示すことができる。例えば、自律型車両が既に最高速度で走行している場合、加速を不可能とし得、したがって加速行動は、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされ得る。別の実施例として、車両が操作速度で操作されているとき、乗り心地の滑らかさに影響を与えるため、減速する、又は強いブレーキをかける行動は望ましくない場合がある。これは、加速又は減速閾値としてＱ−Ｍａｓｋｅｒ  １１１４によって適用されてもよく、それにより、自律型車両によってとられた行動は、ほとんどのシナリオであるこの加速又は減速閾値を超えないようにされる。
【０１９３】
しかしながら、衝突を防止又は軽減するためのシナリオなどのいくつかのシナリオでは、Ｑ−Ｍａｓｋｅｒ  １１１４は、加速又は減速閾値を超えることを許可し得る。このようにして、Ｑ−Ｍａｓｋｅｒ  １１１４は、シナリオ固有の様式で閾値を実装することができる。換言すれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、乗客の安全性を考慮しながら、乗り心地をより快適にすることを可能にするように、最大加速又は減速のレベルを適用するために、１つ以上の運動学的ルールを利用することができる（例えば、この閾値が、衝突を回避するために無効にされ得る）。更に、異なる運動学的ルールは、車両の現在の速度、現在の位置、現在の加速度等に基づいて実装されてもよい。例えば、加速度閾値は、車両が静止しているときよりも、車両が動いているときにより大きくなり得る。
【０１９４】
Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされ得る行動の他の実施例としては、自律型車両が道路から離れて走行することになるレーン変更が挙げられる。別の言い方をすれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、自律型車両が車道の最も右のレーン上に位置するときに、右へのレーン変更を実行する自律運転操作、及び自律型車両が車道の最も左のレーン上に位置するときに、左へのレーン変更を実行する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９５】
同様に、Ｑ−Ｍａｓｋｅｒ  １１１４は、別の車両への加速又は減速と関連付けられた行動をマスクすることができる。例えば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、自律型車両及び他の車両の両方が同じレーン内に位置している場合に、自律型車両が他の車両の後ろに第１の閾値距離だけ離れているときに加速する自律運転操作、並びに自律型車両及び他の車両の両方が同じレーン内に位置している場合に、自律型車両が他の車両の前方に第２の閾値距離だけ離れているときに減速する自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９６】
別の態様によれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、他の閾値（例えば、一部のシナリオでは、レーン変更閾値距離に基づいてレーン変更がない、又は衝突までの時間（ＴＴＣ）推定値の減少と関連付けられた行動がない）に基づいて、シミュレートされた自律型車両の行動をマスクすることができる。例えば、Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、自律型車両が右側に位置し、他の車両のレーン変更閾値距離内にあるときに、左へのレーン変更の自動運転操作、及び自律型車両が左側に位置し、他の車両のレーン変更閾値距離内にあるときに、右へのレーン変更の自律運転操作を含むように、行動のマスクされたサブセットを決定することができる。Ｑ−Ｍａｓｋｅｒ  １１１４は、以前の知識に基づいて、ＴＴＣ推定値が閾値ＴＴＣ値を下回るときに、自律型車両と他の車両との間のＴＴＣ推定値に伴う予想される減少と関連付けられたいくつかの運転操作を含むように、行動のマスクされたサブセットを決定することができる。
【０１９７】
このようにして、Ｑ−Ｍａｓｋｅｒ  １１１４は、多くの利益及び／又は利点を提供する。例えば、Ｑマスキングを使用すると、報酬機能を簡略化することができ、それによって、ディープＱ学習をより速く、より効率的にすることができる。別の言い方をすれば、報酬機能は、交通シミュレータ１１１２及び行動発生器１１１６によって実装されるように、以前の知識を、学習プロセス（例えば、ネットワークを訓練する）に直接組み込むことによって、簡略化され得る。以前の知識に基づいて、Ｑ−Ｍａｓｋｅｒ  １１１４は行動をマスクするため、負の報酬機能は必要ではなく、それによって報酬機能が簡略化される。Ｑマスキングを使用することにより、Ｑ−Ｍａｓｋｅｒ  １１１４は、訓練又は試験中に衝突を軽減又は排除することができ、それにより、必ずしもシミュレーション中のシステムだけではなく、実際のシステムに直接訓練を行うことが可能となる。換言すれば、Ｑ−Ｍａｓｋｅｒ  １１１４は、実際の自律型車両上での自律型車両の訓練の実現を可能にし得る。したがって、一態様によれば、交通シミュレータ１１１２は、代わりに、１つ以上の他の車両（例えば、第１の車両、第２の車両、第３の車両など、及び速度、位置、レーン位置、ターン信号などの１つ以上の関連付けられた属性）を検出するセンサと交換することができる。
【０１９８】
行動発生器１１１６は、可能性のある行動のセットから残りの行動のセットを探索し、残りの行動のセット（例えば、行動のマスクされたサブセットを除く）及び自律型車両と関連付けられた属性のセットに基づいて、時間間隔についての自律型車両ポリシーを決定し得る。行動発生器１１１６は、可能性のある行動のセットから残りの行動のセットを探索し、自律型車両が最終状態（例えば、ゴール又は所望の目的地）に達するまでなど、１つ以上の追加の時間間隔についての自律型車両ポリシーを決定してもよい。ここで、行動発生器１１１６は、１つ以上の追加の時間間隔と関連付けられた探索された行動のセットのうちの１つ以上を、１つ以上の対応する軌道として記憶することができる。前述のように、軌道は、それらの状態を含む連続的な状態及び／又は行動であってもよい。
【０１９９】
行動発生器１１１６は、報酬機能に基づいて、可能性のある行動のセットから残りの行動のセットを探索し、報酬機能に基づいて、自律型車両ポリシーを決定してもよい。報酬機能は、割引係数を含んでもよい。訓練及び／又はシミュレーションを通じて、行動発生器１１１６は、記憶ドライブ１１０６に記憶され、車両１７０に通信され、及び自律運転を容易にするために車両ＥＣＵ１７６を介して実装され得る、自律型車両ポリシーを学習し得る。
【０２００】
訓練中に、イプシロングリーディ法で行動をとり、Ｅをアニールすることができる。行動発生器１１１６は、最終状態まで完全軌道をシミュレートし、良好又は不良のいずれかとして、軌道を分類する（すなわち、良好なバッファは、衝突に巻き込まれることなく、制限速度を超えることもなく、ゴールに到達するようにシミュレートされた自律型車両と関連付けられる）。別の方法で説明すると、全ての遷移（すなわち、成功した軌道からの状態、行動、及び報酬のタプル）は、良好なバッファに保存され、失敗した軌道からの遷移（すなわちゴールに到達しない）は、不良バッファに保存される。
【０２０１】
任意の遷移のために、期待される報酬は、以下によって与えられる最終報酬から逆算することができる。
【０２０２】
【数４７】
2020027656.tif 000142
式中、γは、割引係数である。
【０２０３】
ネットワークは、良好及び不良なバッファから均等にサンプリングされた遷移のミニバッチを使用して、以下の損失関数を使用して最適化され得る。
【０２０４】
Ｌ（θ）＝（ｙｔ−Ｑ（ｓｔ，ａｔ，θ））２
【０２０５】
２つの別個のバッファは、探索が失敗した軌道に絶えず導く可能性がある場合に、成功した実行への適当な露出を維持するのに役立ち、したがって、ネットワークが局所的最小値で動けなくなることを回避する。
【０２０６】
このようにして、自律型車両ポリシー生成システム１１００は、高レベルの戦術的意思決定のためのディープ強化学習の長所を活用するフレームワークを提供し、問題に関するエンドツーエンドの完全なポリシー学習に対する、より構造化された、及びデータ効率的な代替案を示す。高レベルのポリシーは、伝統的な最適化又はルールベースの方法を使用して定式化するのが難しいかもしれないが、十分に設計された低レベルコントローラ（例えば、Ｑ−Ｍａｓｋｅｒ  １１１４を実装するコントローラ）が、利用可能である。自律型車両ポリシー生成システム１１００は、低レベルコントローラとの厳格な統合を維持しながら、ディープ強化学習を使用して、戦略的意思決定のための高レベルのポリシーを得る。
【０２０７】
このフレームワークを自律型レーンに適用して、自動運転型車両（例えば、自律型車両）の意思決定を変更することにより、ネットワークは、高レベルの戦略的意思決定ポリシーを学習することができる。グリーディベースライン及び人間のドライバーに対する実験結果は、本明細書に記載されている自律型車両ポリシー生成システム１１００及び方法が、（例えば、衝突を排除することによって）より効率的ではるかに低い衝突レートで、性能を上回ることができることを証明した。グリーディベースラインは、自律型車両が正しいレーンに入るまで、正しいレーン変更を優先し、次に制限速度内に留まりながら他の車と衝突しないように、できるだけ速く走行するというポリシーであり得る。
【０２０８】
一態様によれば、状態入力発生器１１０８は、オクルージョンに留意することができ、交通シミュレータ１１１２は、確率的占有グリッドを提供することができる。更に、交通シミュレータ１１１２は、別個のチャネルとして、前の時間間隔から占有グリッドの履歴を受信することができる。
【０２０９】
図１２は、一態様による、自律型車両ポリシー生成方法２００のフロー図である。１２０２において、自律型車両に対する一セットの属性が生成される。一セットの属性は、自律型車両と関連付けられた現在の速度、自律型車両と関連付けられたレーン位置、及び自律型車両からゴールまでの距離を含んでもよく、ここでゴールは所望の目的地である。１２０４において、交通シミュレーションが実行される。例えば、シミュレーション環境は、自律型車両、多数のレーンと関連付けられた車道、及びシミュレーション環境内の別の車両を含んでもよい。
【０２１０】
１２０６において、行動のサブセットについてのマスクが決定される。マスクは、自律型車両とシミュレーション環境との間又はシミュレーション環境内の自律型車両と他の車両との間の既定の許容可能な相互作用を示す以前の知識、許容可能な運転操作を示す交通ルール、又は自律型車両と関連付けられた物理的に実施可能な運転操作を示す自律型車両と関連付けられた能力に基づいて決定されてもよい。
【０２１１】
１２０８において、マスクされていない残りの行動のセットが探索される。別の言い方をすれば、シミュレーションは、残りの行動のセットと関連付けられた全ての可能な結果を探索することができ、これらを、良好と不良の２つのクラスに分類することができ、ここで良好なものは、ゴールに到達したシミュレートされた自律型車両と関連付けられ、不良なものは、ゴールに到達していないシミュレートされた自律型車両と関連付けられる。１２１０では、報酬機能又は割引係数に基づくなど、時間、将来の報酬対現在の報酬等を考慮する自律型車両ポリシーが決定される。
【０２１２】
図１３Ａは、一態様による、例示的な自律型車両ポリシー生成方法のフロー図である。履歴を有する占有グリッドは、単一の畳み込み層を通過し、状態入力発生器１１０８によって生成されたスカラー入力を有する、完全に接続された層の出力と連結されてもよい。この連結は、完全に接続された層を通過して、５つの戦略的行動と関連付けられた５つのＱ値の最終出力を与える。図１３Ａに見られるように、Ｑ−Ｍａｓｋｅｒ  １１１４によるＱマスキングは、Ｑ値と最大操作との間に注入されて、行動発生器１１１６による行動を決定し、それによって事前の情報が組み込まれるので、探索によってゼロから学ぶことは、必ずしも必要ではない。最大操作は、行動を選択するためのＱ値に対する最大又はソフト最大操作であり得る。
【０２１３】
図１３Ｂは、一態様による、自律型車両ポリシー生成と関連付けられた例示的なシミュレーションインターフェースの図である。上述したように、自律型車両のための可能性のある行動のセットは、時間間隔の間の、自律型車両と関連付けられた現在の速度を維持すること（例えば、「Ｎ」又は操作なし）、加速すること（Ａ）、減速すること（Ｄ）、右レーン変更を実行すること（Ｒ）、又は左レーン変更を実行すること（Ｌ）である自律運転操作を含む。減速（Ｄ）に加えて、ブレーキ解除行動などの他の行動も予期される。一態様によれば、ブレーキ解除行動を行うとき、加速度閾値は実施されなくてもよい。別の言い方をすると、ブレーキを解除することは、この態様によれば、Ｑ−Ｍａｓｋｅｒ  １１１４がブレーキ解除行動をマスクすることがないように、常にオプションとすることができる。
【０２１４】
図１４Ａ〜図１４Ｃは、一態様による、自律型車両ポリシー生成が実施され得る例示的なシナリオの図である。１つの例示的な態様によれば、シミュレートされた自律型車両は、図１４Ａに見られるように、制限速度を尊重し衝突などを回避しながら、最短時間で最も右のレーンの出口に到達するように任務を課される。図１４Ａでは、自律型車両は、出口からゴールｄ２ｇまでの距離である。シミュレートされた自律型車両が、出口（例えば、このシナリオにおけるゴール）に到達できなかった場合、これは、行動発生器１１１６又は交通シミュレータ１１１２による故障と見なされる。ゴールまでの距離は、低レベルコントローラからの制約情報の以前の知識などの情報とともに考慮されているため、高レベル及び低レベルの考慮事項の両方が考慮される。
【０２１５】
図１４Ｂにおいて、自律型車両又はエージェントが位置１４０２にある場合、その自律型車両は既に道路の最も左のレーンにあるため、左レーン変更行動は、Ｑ−ｍａｓｋｅｒ  １１１４によってマスクされ得る。同様に、自律型車両が位置１４０４にあるときに、加速行動が、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされてもよく、一方で、自律型車両が位置１４０６にあるとき、減速行動が、Ｑ−Ｍａｓｋｅｒ  １１１４によってマスクされてもよい。これらの加速及び減速行動は、それぞれ他の車両に対する閾値距離に基づいてマスクされ得る。
【０２１６】
図１４Ｃでは、２つの異なる軌道１４１０及び１４２０が示されている。行動発生器は、Ｑ−Ｍａｓｋｅｒ  １１１４が、それぞれの軌道に関わる任意の意思決定におけるリスクの大部分を既に軽減しているため、より高い報酬（例えば、より速い時間）と関連付けられた軌道を選択することができる。
【０２１７】
図１５は、一態様による、相互作用認識意思決定のためのシステム１５００の例示的な構成要素図である。相互作用認識意思決定のためのシステム１５００は、図１〜図１０を参照して上述したような協調的マルチゴール、マルチエージェント、多段階（ＣＭ３）強化学習の特徴を利用してもよい。更に、相互作用認識意思決定のためのシステム１５００は、図１１〜図１４を参照して上述したような自律型車両ポリシー生成の特徴を利用してもよい。相互作用認識意思決定のためのシステム１５００は、プロセッサ１０２、メモリ１０４、シミュレータ１０８、及び通信インターフェース１５０を含み得る。これらの構成要素は、バス１０６を介して通信可能に結合され得る。相互作用認識意思決定のためのシステム１５００のシミュレータ１０８は、第１の段階及び第２の段階に従って、多段階訓練を実行してもよい。
【０２１８】
第１の段階内で、シミュレータ１０８は、マルコフ決定プロセス（ＭＤＰ）を使用して、シングルエージェント環境において１つ以上の特徴を学習するために、第１のポリシー勾配に基づく第１のエージェントについての訓練及び第１の損失関数に基づく第１のクリティックの訓練を実行し得る。シングルエージェント環境では、第１のエージェントは、存在する唯一のエージェントである。環境内の特徴は、道路に対する１つ以上の分岐、１つ以上のレーン、（例えば、段階１の訓練中に静的であり得る）１つ以上の障害物を含んでもよい。段階１の訓練（例えば、訓練の第１の段階）では、シミュレータ１０８は、１つ以上のタスク又はゴールを達成するために、エージェントを訓練してもよい。シングルエージェント環境内に他のエージェントが存在しないため、段階１でシミュレータ１０８によって提供されるシングルエージェント設定又は環境は、他のエージェントが存在しないことでゴールの達成と関連付けられた学習挙動に望ましい状態構成をより確実に生成することができるので、第１のエージェントが、シングルエージェント環境の１つ以上の特徴について好都合で効率的な方法で、学習又は訓練できるようにする。このようにして、運転又は操作能力のあるレベルに到達するために、必要なシミュレーションの反復回数が少なくてすむ。
【０２１９】
シミュレータ１０８は、状態入力発生器１１０８、Ｑ−Ｍａｓｋｅｒ  １１１４、行動発生器１１１６、ドライバータイプマネージャ１５０２、及び優先度決定部１５０４を含み得る。状態入力発生器１１０８は、シミュレートされたエージェントである第１のエージェントと関連付けられた状態情報を決定又は生成することができる。このようにして、状態入力発生器１１０８は、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシー生成と関連付けられたネットワークの入力を決定してもよい。状態入力発生器１１０８によって生成される入力例は、現在の速度、レーン位置、ゴール又は所望の目的地からの距離などの第１のエージェントの状態を含んでもよい。
【０２２０】
Ｑ−Ｍａｓｋｅｒ  １１１４は、シミュレータ１０８によってシミュレートされるべき、出力Ｑ値（例えば、行動セット）のサブセットをマスクすることができる。行動発生器１１１６は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいて第１のエージェントを訓練してもよい。したがって、行動の残りのサブセットと関連付けられたＱ値のみが、シミュレーション中にシミュレータ１０８によって考慮され、それによって、自律型車両ポリシー生成における自律型車両のシミュレーション及び訓練中に利用される、処理電力及び／又はコンピューティングリソースの量を軽減する。
【０２２１】
行動の残りのサブセット（例えば、可能性のある行動のセット、マスクされたサブセットを除外した行動のサブセット）に基づいて、行動発生器１１１６は、残りの行動を探索し、それに応じて、自律型車両ポリシーを決定してもよい。これは、異なる時間間隔にわたって繰り返されてもよい。これにより、Ｑ−Ｍａｓｋｅｒ  １１１４は、シミュレートされた自律型車両に、マスクされていない状態のみを探索させるように、「強制」することができ、したがって、関連付けられたＱ値の空間のサブセット（状態（ｓ）に対するポリシー（π）下での行動（ａ）の長期的な戻りを示す）と関連付けられた行動のみを学習する。
【０２２２】
第１のポリシー勾配に基づいて第１のエージェントを訓練し、ＭＤＰに従って、シングルエージェント環境内の第１の損失関数に基づいて第１のクリティックを訓練する間、シミュレータ１０８は、第１のエージェントが、一セットの１つ以上の行動からの行動を選択することを可能にすることによって、第１のエージェントを訓練してもよい。可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【０２２３】
第１のエージェントによって段階１で学習され得る特徴のうちの１つ以上の実施例としては、学習ルール及び道路の規制、制限速度内で車道を運転する又は速度を維持する方法、レーン内に車両を維持する方法、レーンを変更する又はサブレーン位置を変更する方法、出口ランプで降りる方法、オンランプに入る方法などが含まれ得る。
【０２２４】
このようにして、第１のポリシーネットワークは、シングルエージェント設定又は環境において異なる特徴を学習し得る、非一元的クリティックを有する。第１のクリティックは、非一元的クリティックであってもよいため、第１の段階又は段階１は、第１のエージェントのためのローカルビュー又は個別化された報酬、個別化された学習などと関連付けることができる。このようにして、シミュレータ１０８は、マルコフ決定プロセスを使用して、シングルエージェント環境（第１のエージェントが、存在する唯一のエージェントである）において１つ以上のゴールを学習するために、第１のポリシー勾配に基づいて第１のエージェントを訓練し、第１の損失関数に基づいて第１のクリティックを訓練してもよい。第１のエージェントは、第１のエージェントニューラルネットワークと関連付けられてもよく、第１のクリティックは、第１のクリティックニューラルネットワークと関連付けられてもよい。
【０２２５】
シミュレータ１０８は、マルコフゲームを使用して、マルチエージェント環境におけるＮ個のエージェント（例えば、第１のエージェントを含み得る）間の第２のセットの特徴を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配及び第２のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のクリティックを訓練することを含む。一態様によれば、マルチエージェント環境のＮ個のエージェントのうちの１つ以上は、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。換言すれば、段階２の訓練では、シミュレータ１０８は、競合ドライバータイプによってシミュレートされるように、協調性の低いドライバーが周囲にいるときに、第１のエージェントに運転又は操作する方法を教えることができる。
【０２２６】
Ｎ個のエージェントのうちの１つ以上は、段階１の訓練からの事前訓練された第１のエージェントニューラルネットワークでインスタンス化又は初期化されてもよい。したがって、Ｎ個のエージェントのそれぞれは、事前訓練された第１のエージェントニューラルネットワークからの以前の知識を有してもよく、カリキュラムの獲得が、ＣＭ３強化学習を使用して実施されてもよい。シミュレータ１０８は、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされたポリシー勾配に基づいて、Ｎ個のエージェントを訓練することができる。しかしながら、ドライバータイプ（例えば、Ｎ個のエージェントのそれぞれのエージェントについての協調のレベルを示す）に基づいて、Ｎ個のエージェントのうちの１つ以上は、段階２の訓練中に必ずしも協調しなくてもよく、それにより、他のエージェント（例えば、車両）が必ずしも友好的又は協調的であるとは限らない環境での操作方法又は運転方法を、最初のエージェントが学習できるようにする。更に、前述したように、１つの態様によれば、Ｎ個のエージェントのうちの１つ以上のドライバータイプは、シミュレーション又は訓練（例えば、訓練の途中）の間に変化し得る。他の態様によれば、Ｎ個のエージェントのうちの１つ以上のドライバータイプは、シミュレーション又は段階２の訓練中に一定のままであり得る。数学的フレームボードを使用して、異なるドライバータイプを有するエージェントの異なるタイプの挙動を生成することができる。一態様によれば、ドライバータイプは、協調的又は競合的であり得る。別の態様によれば、ドライバータイプは、数（例えば、１〜１０のスケール、又は−２〜＋２のスケールなどで）表されてもよい。
【０２２７】
例えば、合流レーンでは、非常に協調的なドライバー（例えば、＋２）は、安全のために交通に合流する前に前もって減速するかもしれないが、協調的ではないドライバー（例えば、−２）は加速し、合流するスペースのために争うかもしれない。同様に、主レーン又は道路では、協調的なドライバーは、合流車両に道を譲るかもしれないが、競合的なドライバーは、加速して最初に合流ポイントを通過しようとするかもしれない。
【０２２８】
それに関係なく、シミュレータ１０８は、マルコフゲームを使用して、マルチエージェントにおいて１つ以上のゴールを学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１のポリシー勾配に基づいて、Ｎ個のエージェントを訓練し、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練してもよい。段階２の訓練内で、障害は、衝突が２つの車両間で発生するときに割り当てられてもよい。Ｎ個のエージェントの各エージェントは、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルと関連付けられ得る。
【０２２９】
例えば、第１の車両が車道内で直線状にあり、第２の車両がその直線と合流するレーンにある場合、第１の車両は、第２の車両よりも高いレーン優先度レベルを割り当てられてもよい。このシナリオでは、優先度決定部１５０４は、第２の車両が合流レーンにあることに基づいて、第１の車両と第２の車両との衝突の場合に、第２の車両に障害を割り当てることができる。しかしながら、優先度決定部１５０４は、各車両の位置に基づいて、また、マルチエージェント環境（例えば、道路の構成）のレイアウトに基づいて、基づく各車両に対してレーン優先度レベルを割り当てることができ、第１の車両が第２の車両よりも低いレーン優先度レベルを割り当てられ得るシナリオが存在し得る。
【０２３０】
例えば、直線に合流しているレーン内の第２の車両が、少なくとも閾値距離だけ第１の車両よりも前にある場合、優先度決定部１５０４は、第２の車両が第１の車両の前にある（例えば、第１の車両が第２の車両の後部にある）ことに基づいて、第１の車両と第２の車両とが衝突した場合に、障害を第１の車両に割り当て得る。更に、故障の割合は、第１の車両と第２の車両との間の距離に基づいて、割り当てられてもよい。優先度決定部１５０４は、この故障の割合を利用して、衝突に関わるそれぞれのエージェント又は車両のうちのそれぞれ１つに割り当てられるべき負の報酬又はペナルティを決定することができる。
【０２３１】
具体的には、優先度決定部１５０４は、故障が実際の交通ルールと同様に割り当てられてもよいため、シミュレートされた事故又は衝突に関与する全てのパーティに対して負の報酬を必ず課したり、割り当てたりしなくてもよい。また、優先度決定部１５０４が、２つ以上の車両が等しいレーン優先度レベルを有すると決定することができる更に他のシナリオが存在し、このシナリオで衝突が発生した場合、関与する車両は、等しい量の障害を割り当てられてもよい。このようにして、シミュレータ１０８は、どのエージェントも他よりも高い優先度を持たないシナリオで車両又はエージェントが動作することを可能にするように、ネットワークポリシーを訓練することができるが、時には他のドライバーが先に進んでもよく、他の場合には、第１のエージェントが最初に進んでもよい。優先度決定部１５０４の態様の更なる説明及び実施例は、以下で説明される図１９Ａ〜図１９Ｄを参照して行われる。
【０２３２】
シミュレータ１０８による段階２の訓練に関する説明に戻ると、第１のエージェントは、それがＮ個のエージェントのうちの別の１つよりも高いレーン優先度レベルを有することを認識され得るが、ドライバータイプマネージャ１５０２によって割り当てられ得る異なるドライバータイプのために、他のエージェントは、それらのより低いレーン優先度レベルに従って必ずしも道を譲るとは限らない。別の言い方をすれば、上記の実施例を参照すると、段階２の訓練中に、第１の車両が直線上にあり、第２の車両が直線に合流するレーンにある場合、第２の車両の位置にあるいくつかのエージェントは、必ずしも第１の車両に道を譲らない場合があり（例えば、第２の車両が、事実上加速するか、又は第１の車両を無視する場合がある）、一方で第２の車両の位置の他のエージェントは、２つの車両又はエージェントの異なるレーン優先度レベルによる要求に応じて道を譲る場合がある。
【０２３３】
なおも再度説明するが、実際のドライバーは、他のドライバーを遮断したり、又は自身の車両を非協調的若しくは競合的な様式で操作したりする可能性があるため、本明細書に記載される相互作用認識意思決定のためのシステム及び方法は、シミュレートされた非協調的又は競合的なエージェント（例えば、Ｎ個のエージェントのうちのいくつか）が存在するマルチエージェント環境において、第１のエージェントを訓練することによってこれを考慮に入れ、それによって、シミュレータ１０８がネットワークポリシー及び／又はＮ個のエージェントを訓練し得る、様々なクラッシュ又は衝突シナリオを引き起こす。例えば、ドライバータイプのうちの非協調的ドライバーは、自身の合流操作中、又は他のエージェントの合流操作中に加速する場合がある。逆に、ドライバータイプのうちの協調的ドライバーは、交通に合流する前に事前に減速し、又は他のエージェントの合流操作中に別のエージェントに道を譲る場合がある。
【０２３４】
更に、マルチエージェント環境内のＮ個のエージェントのうちの１つ以上によってとられた行動の観察に基づいて、シミュレータ１０８は、Ｎ個のエージェントのうちの１つ以上（例えば、第１のエージェントの視点から）観察されたドライバータイプに留意することができる。換言すれば、第１のエージェントが、第２のエージェントがそのエージェントのレーンの優先度レベルに従わない様式で作用していることを観察する場合、ドライバータイプマネージャ１５０２は、観察に基づいて、第２のエージェントが非協調的ドライバータイプであるか、又はドライバータイプを推定することに留意することができる。このようにして、シミュレータ１０８は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づく、第１のエージェントの訓練、及びマルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーの生成を可能にし、それによって、ＣＭ３、道路優先度の概念、及び協調的及び非協調的ドライバーの概念などを組み込むことができる。
【０２３５】
更に、相互作用認識意思決定のためのシステム及び方法は、適応挙動を組み込み（incorporate adaptive behavior、ＩＤＡＢ）、マルチエージェント強化学習及び１つのアクター、ＣＭ３の二重クリティックを使用しながら、合流シナリオの下で自律型車両に適用され得る。第１のエージェントとＮ個のエージェントのうちの他のエージェントとの間の相互作用は、（例えば、他のエージェントのドライバータイプに応じて）異なる場合があるため、第１のエージェントは、マルチエージェント環境における訓練中に異なる応答戦略を学習するであろう。具体的には、学習されたネットワークポリシーは、一般に、観察された他の運転挙動に対して適応的である。加えて、Ｑ−Ｍａｓｋｅｒ  １１１４は、より高速かつより効率的な学習プロセスを促進するマスキング機構を採用するように実装されてもよい。
【０２３６】
マルコフゲームに関して、シミュレータ１０８は、ｎ∈［１，Ｎ］でラベル付けされたＮ個のエージェントを有する、マルチエージェントマルコフゲームを定義してもよい。マルコフゲームは、全てのエージェントの可能な構成、一セットの部分観測Ｏｎ、及び各エージェントに対する一セットの行動Ａｎを記述する一セットの状態Ｓによって定義されてもよい。優先度決定部１５０４及びドライバータイプマネージャ１５０２は、それぞれ、レーン優先度及びドライバータイプ情報
【数４８】
2020027656.tif 000143
を決定又は生成することができ、それらは、エージェントの挙動に影響を及ぼし得る、２つの所定のパラメータである。各エージェントｎは、シミュレータ１０８を介して、確率的ポリシーπｎ：Ｏｎ×Ｂｎ×Ａｎ→［０，１］に従って自身の行動を選択してもよく、Ｎ個のエージェントの共同行動は、遷移関数Ｔ：Ｓ×Ａ１×．．．×ＡＮ→Ｓに従って、次の状態に移動する。各エージェントは、状態、エージェント挙動、及びエージェント行動の関数である、報酬
【数４９】
2020027656.tif 000144
を受信してよく、自身の全ての期待される戻り
【数５０】
2020027656.tif 000145
を最大化し、式中、γ∈［０，１）は割引係数であり、Ｔは時間的水平である。
【０２３７】
アクター−クリティック方法は、シングルエージェント環境及びマルチエージェント環境の両方の中で、異なる強化学習タスクのために利用され得る。アクターは、どのように行動が選択されるかを定義する、パラメータ化されたポリシーであってもよい。クリティックは、アクターによって行われる行動を批評する推定された状態値関数であってもよい。シミュレータ１０８は、次いで、クリティックの評価に関して、アクターのパラメータを更新してもよい。
【０２３８】
一般に、シングルエージェント環境では、πは、θによってパラメータ化され、目的
【数５１】
2020027656.tif 000146
を、∇θＪ（θ）の方向に段階的にとることによって最大化し、ここで期待値
【数５２】
2020027656.tif 000147
は、πによって引き起こされる状態−行動分布に関するものである。ポリシーの勾配は、以下のように書くことができる。
【０２３９】
【数５３】
2020027656.tif 000148
【０２４０】
式中、
【数５４】
2020027656.tif 000149
は、ポリシーπに対する行動値関数であり、ｂ（ｓｔ）は、導入ベースラインであり、それらの異なる点は、利点関数Ａπ（ｓｔ，ａｔ）として知られている。
【０２４１】
ベースラインとして値関数Ｖπ（ｓｔ）を選択し、時間的差（temporal difference、ＴＤ）誤差を利点関数のバイアスされていない推定値として使用することによって、利点関数は、Ａπ（ｓｔ，ａｔ）≒ｒ（ｓｔ，ａｔ）＋γＶπ（ｓｔ＋１）−Ｖπ（ｓｔ）として書き直すことができる。
【０２４２】
マルチエージェント環境では、クリティックは、シミュレータ１０８によって、他のエージェントのポリシーに関する完全な状態−行動情報で拡張されてもよく、これは、アクターがローカルな情報又は観察された情報へのアクセスを有することである。一態様によれば、クレジット割り当ては、以下の反事実的なベースラインを使用することによって、マルチエージェント環境において対処される。
【０２４３】
ｂ（ｓ，ａ−ｎ）＝Σａ’ｎπｎ（ａ’ｎ｜ｏｎ）Ｑ（ｓ，（ａ−ｎ，ａ’ｎ））
【０２４４】
これにより、エージェントｎの行動ａが無視され、一元的クリティックが、エージェントｎの行動のみが変化する反事実について推論できるようになる。
【０２４５】
シミュレータ１０８は、相互作用的及び適応的な運転挙動、並びにＮ個のエージェントの全てが共有する１対の非一元的及び一元的クリティックを生成するように、第１のエージェントなどのシングルアクターを訓練することができる。２つの学習目的は、シングルエージェント環境及びマルチエージェント環境を介して提供されてもよく、それらは、ルールを守りながら、エージェントに様々なシナリオを通じて運転させること、及び効率的な交通フローを維持しながら、より効率的に合流するために他のエージェントと相互作用することに対応する。
【０２４６】
各エージェントには異なる個々の報酬が割り当てられ得るため、別個の挙動を学習するために、共同報酬から様々な学習信号を抽出することは困難であり、したがって、非一元的クリティックは、共有パラメータを有する全てのエージェントから利用され得る。非一元的クリティックは、異なる挙動を有しながら、ルールに従うことによって、異なるシナリオ（例えば、合流シナリオ）下でどのように運転するかを、エージェントが学習するためのポリシー勾配を提供し得る。エージェント（例えば、第１のエージェント）は、最初に他のエージェントと必ずしも反応せず、それ自体のタスクを仕上げるために、合理的な行動を実行する方法を学習し、これは第１の目的のＪ１として知られ得る。関連付けられたポリシー勾配は、以下によって与えられ得る。
【０２４７】
【数５５】
2020027656.tif 000150
【０２４８】
式中、
【数５６】
2020027656.tif 000151
は、φ１によってパラメータ化された非一元的クリティックであり、以下の損失を最小化することによって更新される。
【０２４９】
【数５７】
2020027656.tif 000152
【０２５０】
式中、ｉは、サンプリングされたバッチの数であり、
【数５８】
2020027656.tif 000153
は、φ１に向かってゆっくりと更新される、パラメータ
【数５９】
2020027656.tif 000154
を有する標的ネットワークである。標的ネットワークは、訓練プロセスを安定化するために使用される。
【０２５１】
マルチエージェント環境では、交通又は優先度ルールに厳密に従うと、合流シナリオで事故が発生しない可能性があるが、交通フローレートなどの巨視的レベル因子を考慮する必要がある。この点に関して、一元的クリティックは、シミュレータ１０８を介して、各エージェントを互いに相互作用させて、トラフィックフローを維持し、共同で成功させることを促すことができる。第２の目的は、目的Ｊ２であってもよい。関連付けられた第２のポリシー勾配は、以下によって与えられ得る。
【０２５２】
【数６０】
2020027656.tif 000155
【０２５３】
ここで、本明細書で議論される反事実的なベースラインが利用されてもよく、一元的クリティックは、以下のように定義されてもよい。
【０２５４】
【数６１】
2020027656.tif 000156
【０２５５】
これは、全てのエージェントについての共同報酬を考慮することによる。φ２によってパラメータ化されると、損失を最小化することによって、一元的クリティックが更新される。
【０２５６】
【数６２】
2020027656.tif 000157
【０２５７】
式中、
【数６３】
2020027656.tif 000158
は目標ポリシーネットワークを示し、
【数６４】
2020027656.tif 000159
は目標一元的クリティックネットワークのパラメータを表す。
【０２５８】
全体的な又は組み合わされたポリシー勾配は、以下のように定義され得る。
【０２５９】
∇θＪ（θ）＝α∇θＪ１（θ）＋（１−α）∇θＪ２（θ）
【０２６０】
式中、α∈［０，１］は、２つの目的Ｊ１（θ）及びＪ２（θ）に対する重み係数である。シミュレータ１０８は２つの別個の目的を利用するため、カリキュラム学習を利用することができる。したがって、シミュレータ１０８は、第１のポリシー勾配及び第２のポリシー勾配に由来する組み合わされた又は全体的なポリシー勾配に基づいて、Ｎ個のエージェントを訓練することができ、これは、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づく、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーであり得る。
【０２６１】
相互作用認識意思決定作成の適応挙動態様を参照すると、シミュレータ１０８は、１つ以上の挙動パラメータに従って、異なる運転挙動を生成することが可能であり得る、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを訓練してもよい。ネットワークポリシーは、レーン優先度レベルｂｐｒｉｏ及びドライバータイプｂｔｙｐｅを考慮する変数を含む、状態、行動ペア、及び報酬機能ｒ（ｓ，ａ，ｂ）に基づいてもよい。このようにして、報酬機能は、それらのレーン優先度レベルｂｐｒｉｏが衝突に関与する別のエージェントのレーン優先度レベルよりも小さいときに、非協調的ドライバーに負の報酬を割り当ててもよい。更に、報酬機能は、運転挙動ｒｆｉｎｉｓｈ及びｒｃｏｌｌｉｄｅに関連し得る、２つ以上のサブ報酬機能を含んでもよい。各エージェントは、それぞれのエージェントがマルチエージェント環境を安全に運転する（例えば、衝突を引き起こすことも関わることもなく、ゴール又は目的地に到達することもない）場合、シミュレータ１０８によって、１回限りの報酬を割り当てられ得る。報酬値は、ｒｆｉｎｉｓｈ＝ｆ１（ｂｔｙｐｅ）であってもよい。例えば、小さい最終報酬は、協調的ではないドライバータイプを誘導する割引係数γへの大きな報酬よりも速く、エージェントがタスクを終了するか、又はそのゴールに到達することを促進するために割り当てられてもよい。
【０２６２】
２つ以上のエージェントが衝突する、又は衝突に関与する場合、衝突に関与するエージェントのうちの１つ以上に負の報酬又はペナルティが割り当てられてもよく、これはそれぞれの関与するエージェントのレーン優先度レベルに基づいて行われてもよい。換言すれば、ｒｃｏｌｌｉｄｅ＝ｆ２（ｂｐｒｉｏ）である。一実施例として、第１の車両（例えば、１つのエージェント）が左旋回を行う一方で、第２の車両（例えば、別のエージェント）が直線的に運転し、２つのエージェントが衝突した場合、第２の車両は、交通ルール、車道のレイアウト、又はマルチエージェント環境に従って、及びそれぞれのエージェントの位置に基づいて、通行権を有するので、第１の車両には、第２の車両よりも大きな負の報酬を割り当てることができる。このように、優先度決定部１５０４は、Ｎ個のエージェントの訓練（例えば、マルチエージェント環境における段階２の訓練）中に、マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度に基づいて、衝突に関わるそれぞれのエージェントに、負の報酬又はペナルティを割り当てることができる。
【０２６３】
前述のように、Ｑ−Ｍａｓｋｅｒ  １１１４は、ポリシーネットワークへのマスキング機構として実装されてもよく、それによって訓練の効率を向上させる（例えば、これは、段階１及び段階２の学習の両方で行われ得る）。このようにして、シミュレータ１０８は、事故を引き起こしたり、又は既知の交通ルールを破ったりすることが知られている行動を探索する代わりに、シミュレータ１０８は、いかにして戦術的レベルで決定を下すかについて、エージェント、クリティック、及びポリシーを直接訓練することに進むことができ、それによって、訓練時間、訓練中に利用されるコンピューティングリソースを軽減し、シミュレータ１０８を実行するために使用されるシステム、コンピュータ、並びに／又はプロセッサ及びメモリの動作を向上させる。車両運動学（Ｍｋ）、交通ルール（Ｍｒ）、及び安全因子（Ｍｓ）を含む、３つの異なるタイプのマスクが利用されてもよい。行動を選択する前に、シミュレータ１０８は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいてエージェントの訓練が行われるように、Ｑ−Ｍａｓｋｅｒ  １１１４によって提供されるマスキング機構を適用することができる。マスクされた行動のセットは、Ｍ＝（Ｍｋ）∪（Ｍｒ）∪（Ｍｓ）の和集合であり得る。このようにして、Ｑ−Ｍａｓｋｅｒ  １１１４は、マルチエージェント環境のレイアウト又は第１のエージェント及びＮ個のエージェントの位置決めに基づいて、時間間隔にわたる第１のエージェントについての可能性のある行動のセットのサブセットに適用されるべきマスクＭを決定することができる。したがって、シミュレータ１０８は、可能性のある行動のセットからマスクされた行動のセットを除外することによって、残りの行動のセットに基づいてエージェントを訓練することができる。前述したように、可能性のある行動のセットは、無操作行動、加速行動、減速行動、ブレーキ解除行動、１サブレーン左へのシフト行動、又は１サブレーン右へのシフト行動を含んでもよい。
【０２６４】
相互作用認識意思決定のためのシステム１５００の通信インターフェース１５０は、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーを、サーバ１６０又は車両１７０、１８０のうちの１つに送信することができ、それによって、ネットワークポリシーを伝播し、それぞれの自律型車両がそれに応じて動作できるようにする。自律型車両は、ネットワークポリシーを受信するように適合された車両通信インターフェースを含んでもよい。更に、自律型車両は、上述のように、自律型運転システム、クルーズ制御システム、衝突軽減ブレーキシステム、伝送システム、ブレーキペダルシステム、電子式パワーステアリングシステムなどを含み得る、１つ以上の車両システムを含んでもよい。車両のコントローラは、マルチゴール、マルチエージェント、多段階、相互作用認識意思決定ネットワークポリシーに従って、車両の１つ以上の車両システムを操作することができる。
【０２６５】
図１６は、一態様による、相互作用認識意思決定のための方法１６００の例示的なフロー図である。一態様によれば、相互作用認識意思決定のための方法１６００は、シングルエージェント環境１６０２において、第１のポリシー勾配に基づいて第１のエージェントを訓練することと、マルコフ決定プロセスを使用して、１つ以上のゴールを学習するために、第１の損失関数に基づいて第１のクリティックを訓練することと、を含み得る。相互作用認識意思決定のための方法１６００は、第１のポリシー勾配に基づいてＮ個のエージェントを訓練することと、異なるドライバータイプを有するマルチエージェント環境１６０４において、マルコフゲームを使用して、ゴールのうちの１つ以上を学習して、第２のエージェントニューラルネットワークをインスタンス化するために、第１の損失関数及び第２の損失関数に基づいて、第２のポリシー勾配及び第２のクリティックを訓練することと、を含み得る。Ｎ個のエージェントのうちのそれぞれ１つは、それぞれのエージェントの協調のレベルを示すドライバータイプと関連付けられてもよい。相互作用認識意思決定のための方法１６００は、それぞれのエージェントの位置及びマルチエージェント環境のレイアウトに基づいて、レーン優先度レベルを割り当てること１６０６を含み得る。マルチエージェント環境のエージェントのうちの２つ以上の間で衝突が発生したときに、負の報酬又はペナルティが、それぞれのエージェントのレーン優先度レベルに基づいて、衝突に関わるそれぞれのエージェントに割り当てられる１６０８。相互作用認識意思決定のための方法１６００は、第１のエージェントニューラルネットワーク及び第２のエージェントニューラルネットワークに基づいて、ネットワークポリシーを生成すること１６１０を含み得る。
【０２６６】
図１７は、一態様による、相互作用認識意思決定のためのシステム又は方法に従って、ポリシーネットワーク生成が発生する、例示的なシナリオの図である。図１７は、ポリシーネットワークを生成するための入力として優先度及びドライバータイプを使用するマスキング機構を含む、ポリシーネットワークを示す。この例では、ｆｃ１、ｆｃ２、ｆｃ３などの層（例えば、完全に接続された層）の３２単位が利用される。開いた及び閉じた観察は、サイズ３×３０、ストライド１×１の２つのフィルタを含み得る、畳み込みニューラルネットワーク（convolution neural network、ＣＮＮ）によって処理され、ｆｃ３、ｆｃ５、ｆｃ６はニューロンを有してもよく、ＲｅＬＵは層の非線形活性化機能として利用されてもよい。
【０２６７】
図１８Ａ及び図１８Ｂは、一態様による、相互作用認識意思決定のためのシステム及び方法にそれぞれ関する、段階１及び段階２の訓練と関連付けられた、例示的なデータフロー図である。図１８Ａ及び図１８Ｂは、提案された２段階のカリキュラム学習構造を示す。Ｖは、ポリシーネットワークと同じ入力及びネットワーク構造を有し得る、非一元的クリティックである。一元的クリティックＱは、全てのエージェントについての完全な情報を、入力として有してもよく、１２８単位を有する２つのＦｃ層に接続されてもよい。
【０２６８】
図１９Ａ〜図１９Ｄは、一態様による、相互作用認識意思決定のためのシステム又は方法による訓練エージェントと関連付けられた、例示的な環境の図である。図１９Ａ〜図１９Ｄの環境は、シングルエージェント環境として、又はマルチエージェント環境として実装されてもよい。シミュレータ１０８に対して知られ得る環境の態様は、道路の幾何学的形状、速度制限、及び道路優先度レベルルール又は交通ルールを含んでもよい。
【０２６９】
図１９Ａでは、車道又は環境の第１の道路は、直線１９１０であり、第２の道路は、合流レーン１９２０を含む道路である。したがって、位置１９０２における車両は、１９０４又は１９０６における車両よりも高いレーン優先度レベルを割り当てられてもよい。しかしながら、１９０４における車両などの別の車両の十分に前方にある車両は、１９０６における車両よりも高いレーン優先度レベルを割り当てられてもよい。他の態様によれば、位置１９０６における車両は、１９０４における車両よりも高いレーン優先度を有してもよい。
【０２７０】
図１９Ｂでは、車道又は環境の第１の道路は、直線１９３０であり、第２の道路は、合流レーン１９４０を含む道路である。したがって、位置１９３２における車両は、１９３４又は１９３６における車両よりも高いレーン優先度レベルを割り当てられてもよい。同様に、位置１９３６における車両は、１９３４における車両よりも高いレーン優先度を有してもよい。
【０２７１】
図１９Ｃでは、車道又は環境の第１の道路は、合流レーン１９５０を含み、第２の道路はまた、合流レーン１９６０を含む道路である。このシナリオでは誰も通行権を持っていないため、位置１９５２及び１９５４における車両には、等しいレーン優先度レベルを割り当てることができる。
【０２７２】
図１９Ｄにおいて、車道又は環境の第１の道路は、垂直方向の道路１９７０と、水平方向の第２の道路１９８０とを含む。１９７２における車両は、１９７２における車両が左旋回を行うときに、１９７４における車両よりも高いレーンレベルの優先度を割り当てられてもよい。
【０２７３】
更に別の態様は、本明細書に提示される技術の一態様を実施するように構成されたプロセッサ実行可能命令を含む、コンピュータ可読媒体を含む。これらの方法で考案されたコンピュータ可読媒体又はコンピュータ可読デバイスの一態様が図２０に示されており、実装形態２０００は、例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、フラッシュドライブ、ハードディスクドライブのプラッタなどのコンピュータ可読媒体２００８を含み、その上にコンピュータ可読データ２００６が符号化されている。次に、２００６に示されるような複数の０及び１を含むバイナリデータなどのこの符号化されたコンピュータ可読データ２００６は、本明細書に記載の原理のうちの１つ以上に従って動作するように構成されている、１セットのプロセッサ実行可能コンピュータ命令２００４を含む。この実装形態２０００では、プロセッサ実行可能コンピュータ命令２００４は、図３の方法３００、図５Ａ及び図５Ｂの方法、図１２の方法１２００、又は図１６の方法１６００などの方法２００２を実行するように構成され得る。別の態様では、プロセッサ実行可能コンピュータ命令２００４は、図１のシステム１００、図１１のシステム１１００、又は図１５のシステム１５００などのシステムを実装するように構成され得る。本明細書に提示される技術に従って動作するように構成されている、多くのそのようなコンピュータ可読媒体は、当業者によって考案され得る。
【０２７４】
本出願で使用するとき、用語「構成要素」、「モジュール」、「システム」、「インターフェース」などは、一般に、コンピュータ関連のエンティティ、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアのいずれか、又は実行中のソフトウェアを指すことを意図している。例えば、構成要素は、それだけには限定されないが、プロセッサ上で実行されるプロセス、処理ユニット、オブジェクト、実行可能ファイル、実行スレッド、プログラム、又はコンピュータとすることができる。例示として、コントローラ上で実行されているアプリケーション及びコントローラの両方が、構成要素であってもよい。プロセス又は実行スレッド及び構成要素内に存在する１つ以上の構成要素は、１つのコンピュータ上に局在化されてもよく、又は２つ以上のコンピュータ間に分散されてもよい。
【０２７５】
更に、特許請求される主題は、開示された主題を実施するためにコンピュータを制御するためのソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生成するための、標準プログラミング又はエンジニアリング技術を使用する方法、装置又は製品として実装される。本明細書で使用するとき、用語「製品」は、任意のコンピュータ可読デバイス、キャリア、又は媒体からアクセス可能なコンピュータプログラムを包含することを意図する。当然ながら、特許請求される主題の範囲又は趣旨から逸脱することなく、この構成に対する多くの修正がなされてもよい。
【０２７６】
図２１及び以下の説明は、本明細書に記載される提供のうちの１つ以上の態様を実施するための好適なコンピューティング環境の説明を提供する。図２１の動作環境は、好適な動作環境の単なる一実施例であり、動作環境の使用又は機能の範囲に関していかなる制限を示唆することを意図するものではない。例示的なコンピューティングデバイスとしては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、例えば、携帯電話、携帯情報端末（Personal Digital Assistant、ＰＤＡ）、メディアプレーヤなどのモバイルデバイス、マルチプロセッサシステム、家電製品、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【０２７７】
一般に、態様は、１つ以上のコンピューティングデバイスによって実行される「コンピュータ可読命令」の一般的な文脈で説明される。コンピュータ可読命令は、以下に説明するように、コンピュータ可読媒体を介して分散されてもよい。コンピュータ可読命令は、１つ以上のタスクを実行する、又は１つ以上の抽象データタイプを実装する、機能、オブジェクト、アプリケーションプログラミングインターフェース（Application Programming Interface、ＡＰＩ）、データ構造などのプログラムモジュールとして実装されてもよい。典型的には、コンピュータ可読命令の機能性は、様々な環境において所望に応じて組み合わされるか、又は分散される。
【０２７８】
図２１は、本明細書で提供される一態様を実装するように構成されている、コンピューティングデバイス２１１２を含むシステム２１００を示す。１つの構成では、コンピューティングデバイス２１１２は、少なくとも１つの処理ユニット２１１６及びメモリ２１１８を含む。コンピューティングデバイスの正確な構成及びタイプに応じて、メモリ２１１８は、ＲＡＭなどの揮発性、ＲＯＭ、フラッシュメモリなどの不揮発性、又はこれら２つの組み合わせとすることができる。この構成は、破線２１１４によって図２１に示されている。
【０２７９】
他の態様では、コンピューティングデバイス２１１２は、追加の特徴又は機能性を含む。例えば、コンピューティングデバイス２１１２は、磁気記憶装置、光学記憶装置などを含むがこれらに限定されない、取り外し可能な記憶装置又は取り外し不可能な記憶装置などの追加の記憶装置を含むことができる。このような追加の記憶装置は、記憶装置２１２０で図２１に示される。一態様では、本明細書で提供される一態様を実施するためのコンピュータ可読命令は、記憶装置２１２０内にある。記憶装置２１２０は、オペレーティングシステム、アプリケーションプログラムなどを実装するための他のコンピュータ可読命令を記憶してもよい。コンピュータ可読命令は、例えば、処理ユニット２１１６による実行のために、メモリ２１１８にロードされてもよい。
【０２８０】
本明細書で使用するとき、用語「コンピュータ可読媒体」は、コンピュータ記憶媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでもよい。メモリ２１１８及び記憶装置２１２０は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（Digital Versatile Disk、ＤＶＤ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために使用され得、かつコンピューティングデバイス２１１２によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。任意のこのようなコンピュータ記憶媒体は、コンピューティングデバイス２１１２の一部である。
【０２８１】
用語「コンピュータ可読媒体」は、通信媒体を含む。通信媒体は、典型的には、搬送波又は他のトランスポート機構などの「変調データ信号」内のコンピュータ可読命令又は他のデータを具現化し、任意の情報配信媒体を含む。用語「変調データ信号」は、信号内の情報を符号化するような様式で設定又は変更されたその特性のうちの１つ以上を有する信号を含む。
【０２８２】
コンピューティングデバイス２１１２は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、又は任意の他の入力デバイスなどの入力デバイス（複数可）２１２４を含む。１つ以上のディスプレイ、スピーカ、プリンタ、又は任意の他の出力デバイスなどの出力デバイス（複数可）２１２２は、コンピューティングデバイス２１１２とともに含まれてもよい。入力デバイス（複数可）２１２４及び出力デバイス（複数可）２１２２は、有線接続、無線接続、又はこれらの任意の組み合わせを介して、コンピューティングデバイス２１１２に接続されてもよい。一態様では、別のコンピューティングデバイスからの入力デバイス又は出力デバイスは、コンピューティングデバイス２１１２のための入力デバイス（複数可）２１２４又は出力デバイス（複数可）２１２２として使用されてもよい。コンピューティングデバイス２１１２は、例えば、ネットワーク２１２８を介するなどして、１つ以上の他のデバイス２１３０との通信を容易にするために、通信接続（複数可）２１２６を含んでもよい。
【０２８３】
本主題は、構造的特徴又は方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲の主題は、必ずしも上記の特定の特徴又は行為に限定されないことを理解されたい。むしろ、上述の特定の特徴及び行為は、例示的な態様として開示される。
【０２８４】
様々な態様の操作が本明細書に提供される。操作の１つ以上又は全てが記載される順序は、これらの操作が必ずしも順序に依存することを意味するものとして解釈されるべきではない。この説明に基づいて、代替の順序が理解されるであろう。更に、全ての操作は、本明細書で提供される各態様において必ずしも存在しなくてもよい。
【０２８５】
本出願で使用するとき、「又は」は、排他的な「又は」ではなく包括的な「又は」を意味することを意図する。更に、包括的な「又は」は、それらの任意の組み合わせ（例えば、Ａ、Ｂ、又はこれらの任意の組み合わせ）を含んでもよい。加えて、本出願で使用される「ａ」及び「ａｎ」は、特に指定されない限り、又は文脈から単数形を対象とすることが明らかでない限り、一般に「１つ以上」を意味すると解釈される。加えて、Ａ及びＢ及び／又は同様のもののうちの少なくとも１つは、一般に、Ａ若しくはＢ、又はＡ及びＢの両方を意味する。更に、「含む（include）」、「有する（having）」、「有する（has）」、「有する（with）」、又はその変形が、詳細な説明又は特許請求の範囲のいずれかにおいて使用される限りにおいて、そのような用語は、用語「備える（comprising）」と同様の様式において包括的であることが意図される。
【０２８６】
更に、特に明記しない限り、「第１の」、「第２の」などは、時間的態様、空間的態様、順序付けなどを暗示することを意図するものではない。むしろ、そのような用語は、特徴、要素、項目などのための識別子、名前などとして単に使用されている。例えば、第１のチャネル及び第２のチャネルは、一般に、チャネルＡ及びチャネルＢ、又は２つの異なる若しくは２つの同一のチャネル、若しくは同じチャネルに対応する。更に、「備える（comprising）」、「備える（comprise）」、「含む（including）」、「含む（include）」などは、一般に、限定するものではないが、備える、又は含むことを意味する。
【０２８７】
上記で開示された及び他の特徴及び機能、又はそれらの代替例若しくは変形例の多くは、多くの他の異なるシステム又はアプリケーションに望ましく組み合わされ得ることが理解されるであろう。また、当業者であれば、添付の特許請求の範囲によって包含されることも意図される、現在予測されていない、又は予期されていない様々な代替、修正、変形、又は改良を連続的に行うことができる。