(58)【調査した分野】(Int.Cl.,DB名)
前記車両の操作が、車線内を走行する第2の車両と第3の車両の間で前記車線内に前記車両を合流させる操作であり、前記制御ポリシーが、前記第2の車両と前記第3の車両の間の中間に前記車両を合流させるべく前記車両を制御するように構成されている、請求項1に記載の方法。
最適なポリシーの下で前記平均コストを推定する前記ステップが、前記制御ポリシーを修正する前記ステップの前に、前記平均コストを更新するステップを含む、請求項1に記載の方法。
重み付けされた放射基底関数の線形結合を用いてZ値関数を近似する前記ステップが、前記重み付けされた放射基底関数内で使用される重みを最適化するステップを含む、請求項5に記載の方法。
重み付けされた放射基底関数の線形結合を用いてZ値関数を近似する前記ステップが、前記重みを最適化する前記ステップの前に、前記重み付けされた放射基底関数内で使用される重みを更新するステップを含む、請求項6に記載の方法。
重み付けされた放射基底関数の線形結合を用いて前記制御ゲインを近似する前記ステップの前に、前記重み付けされた放射基底関数内で使用される重みを更新するステップをさらに含む、請求項10に記載の方法。
【発明を実施するための形態】
【0008】
本明細書中に記載の実施形態は、最低予想累積コストで車両の操作を行なうように車両を自律的に制御するために構成された制御ポリシーを学習することを目的として、車両の操作に関連する受動的に収集されたデータに対して受動的actor−critic(pAC)強化学習方法を適用するためのコンピュータ実装型の方法に関する。このとき、車両は、車両の操作を行なうための制御ポリシーにしたがってコンピュータ処理システムによって制御され得る。pAC方法は、制御ポリシーを学習するために、合流操作中に車両が作動している環境の正確なシステムダイナミクスモデルを必要としない。pAC方法は同様に、(例えば、行動を行ない且つその行動の結果を監視して制御ポリシーを決定し変更することを伴い得る)制御ポリシーを学習するための環境の能動的探索を使用しない。本明細書中に記載のpAC方法は、能動的探索の代りに、制御されている車両の、受動的に収集されたデータ、部分的に公知のシステムダイナミクスモデル及び公知の制御ダイナミクスモデルを使用する。特定の実施形態において、pAC方法は、1車線内を走行する第2の車両と第3の車両の間においてこの車線内に車両を合流させるように車両を制御するために使用可能な制御ポリシーを学習する目的で使用され得る。
【0009】
本開示に関連して、「オンライン」とは、コンピュータ処理システムが学習し得ると共に、actor及びcriticのネットワークパラメータが、上記システムが作動するにつれて(例えば車両が移動するなどにつれて)、コンピュータ処理され且つ更新され得ることを意味する。オンラインのソリューションを用いてactorパラメータ及びcriticパラメータを決定かつ更新すると、車両及びシステムのダイナミクス(dynamics)の変更が許容され得る。同様に、自律的操作とは、自律的に実施される操作である。
【0010】
図1は、本明細書中に開示される種々の実施形態に係る方法を実現すべく構成されたコンピュータ処理システム14のブロック図である。更に詳細には、少なくとも一つの実施形態において、コンピュータ処理システム14は、本明細書中に記述された方法に従い、制御入力を決定すべく構成され得る。また、コンピュータ処理システムは、システム(例えば、自律車両)を制御して特定の操作若しくは機能を自律的に実施すべく使用可能な制御ポリシーを修正及び/又は最適化するようにも構成され得る。
【0011】
最適な又は最適化された制御ポリシーは、最低予想累積コストで車両の操作を行なう目的で車両を制御するように構成された制御ポリシーであり得る。最適な制御ポリシーは、車両の操作に関連する受動的に収集されたデータに対して受動的actor−critic(pAC)強化学習方法を適用することにより初期制御ポリシーを修正することを通して学習され得る。pAC強化学習方法は、制御ポリシーのパラメータ値を反復的に最適化するために初期制御ポリシーに対し適用され得る。初期制御ポリシーのパラメータはランダム値に初期化され得る。1つ以上の配置において、最適な制御ポリシーは、このポリシーに付随する平均コストが収束したときに学習されたものとみなされる。平均コストは、平均コストの値がpAC方法の予め定められた回数の反復について予め定められた範囲又は許容誤差ゾーン外へ変動しない場合に、収束したものとみなすことができる。例えば、
図5に例示された実施形態において、平均コストは、20000回の反復後、約0.3の値を達成している。20000回の反復後の予め定められた回数の反復について平均コストがいずれの方向にも0.3から一定値を超えて変動しない場合、制御ポリシーは最適化されたものと考えられてよい。そのとき、車両は、車両の操作を行なうために、最適化された制御ポリシーにしたがって制御され得る。車両の操作を行なう目的で車両を制御するための最適化された制御ポリシーの使用は、このとき、最低予想累積コストでの車両の操作の実施を結果としてもたらすはずである。
【0012】
少なくとも一つの実施形態において、コンピュータ処理システムは、車両に組み込まれ得ると共に、車両の操作の制御に向けられた制御ポリシーを修正及び最適化するように構成され得る。制御ポリシーを修正及び/又は最適化するためにコンピュータ処理システムにより必要とされる情報(例えば、データ、命令、及び/又は他の情報)は、任意の適切な手段から、例えば車両センサから又は無線接続を介して遠隔データベースのような車外情報源から、受信され且つ/又はそれにより収集され得る。幾つかの実施形態においては、制御ポリシーを修正及び/又は最適化するためにコンピュータ処理システムにより必要とされる情報(例えば、データ)の少なくとも幾つかは、車両の操作の前に(例えば、メモリ内に記憶されたデータ及び他の情報として)コンピュータ処理システムに提供され得る。また、コンピュータ処理システムは、修正若しくは最適化された制御ポリシーに従って車両を制御することで、関連する自律的操作を実施するようにも構成され得る。
【0013】
少なくとも一つの実施形態において、コンピュータ処理システムは、(例えばスタンドアロンのコンピュータ処理システムとして)車両から遠隔的に配置され得ると共に、制御ポリシーを車両から遠隔的に修正及び/又は最適化するように構成され得る。遠隔的なコンピュータ処理システムによって生成された最適化又は修正された制御ポリシーは、その後、車両による展開のために車両のコンピュータ処理システムへロード又はインストールされて、実際の交通環境において車両を制御し得る。
【0014】
図1を参照すると、コンピュータ処理システム14は、コンピュータ処理システム14及び関連する構成要素の全体的な操作を制御する(少なくとも一つのマイクロプロセッサを含み得る)一つ以上のプロセッサ58であって、メモリ54のような一時的でない(non-transitory)コンピュータ可読媒体内に記憶された命令を実行する、プロセッサ58を含み得る。本開示に関連して、コンピュータ可読記憶媒体とは、命令を実行するシステム、装置若しくはデバイスによって使用されるか又はそれに関連して使用されるプログラムを含む又は記憶し得る任意の有形媒体であり得る。プロセッサ58は、プログラムコード中に含まれた命令を実施すべく構成された少なくとも一つのハードウェア回路(例えば、集積回路)を含み得る。複数のプロセッサ58が在る構成において、斯かるプロセッサは相互から独立して作動し得るか、又は、一つ以上のプロセッサが相互に協働して作動し得る。
【0015】
幾つかの実施形態において、コンピュータ処理システム14は、RAM50、ROM52、及び/又は他の任意で適切な形態のコンピュータ可読メモリを含み得る。メモリ54は、一つ以上のコンピュータ可読メモリを備え得る。一つ又は複数のメモリ54は、コンピュータ処理システム14の構成要素であり得るか、又は、一つ又は複数のメモリは、コンピュータ処理システム14に作用的に接続されてコンピュータ処理システム14に使用され得る。本説明を通して使用される「作用的に接続された」という語句は、直接的な物理接触のない接続を含め、直接的又は間接的な接続を含み得る。
【0016】
一つ以上の構成において、本明細書中に記述されたコンピュータ処理システム14は、人工的又はコンピュータ的な知能要素、例えば、ニューラルネットワーク、又は他の機械学習アルゴリズム、を組み込み得る。更に、一つ以上の構成において、本明細書中に記述された特定の機能又は操作を実施するように構成されたハードウェア及び/又はソフトウェア要素は、複数の要素及び/又は箇所に分散され得る。コンピュータ処理システム14に加え、車両は、コンピュータ処理システム14により実施される制御機能を増強若しくは支援するために、又は他の目的のために、付加的なコンピュータ処理システム及び/又はデバイス(図示せず)を組み込み得る。
【0017】
メモリ54は、さまざまな機能を実行するためにプロセッサ58により実行可能であるデータ60及び/又は命令56(例えばプログラム論理)を格納し得る。データ60は、制御ポリシーにより制御されるべき車両の操作に関連する受動的に収集されたデータを含み得る。さらに受動的に収集されたデータは、コンピュータ処理システム14による使用のため他のソースに対して提供されてよい(あるいは、他のソース上に存在し得る)。受動的に収集されたデータとは、能動的探索から収集されないデータとして定義され得る。高速道路合流操作に関連する受動的に収集されたデータとしては例えば、入り口ランプの近くで高速道路の最も右側のレーン内を走行する車両の速度及び加速、ならびに入り口ランプに沿って走行し最も右側のレーンに進入するサンプル車両の速度及び加速が含まれ得る。受動的に収集されたデータの一例は、建物の上に組付けられたカメラを用いた高速道路の入口の周囲の車両の軌跡の獲得について説明するhttp://www.fhwa.dot.gov/publications/research/operations/06137/中に記載のデータセットである。別の例において、受動的に収集されたデータは、人間のドライバが実行する操作に応答して車両センサが収集するデータを含み得る。人間のドライバにより実行された操作、その操作が実行された車両環境条件、及び操作に後続して及び/又は操作に応答して車両の周囲で発生する事象に関連するデータが収集され、コンピュータ処理システムに提供され得る。代替的には、コンピュータ処理システムが車両内に設置された場合、コンピュータ処理システム14は、(制御ポリシー101などの)1つ以上の車両制御ポリシーのオンライン修正及び/又は最適化のために、このような受動的に収集されたデータを蓄積及び/又は受信するように構成され得る。
【0018】
車両制御ダイナミクスモデル87は、車両がさまざまな入力にどのように応答するかを記述する刺激−応答モデルであり得る。車両制御ダイナミクスモデル87は、所与の車両状態xにおける車両についての車両制御ダイナミクスB(x)を(受動的に収集されたデータを用いて)決定するように使用され得る。状態コスト関数q(x)は、状態xにある車両又はコストであり、逆強化学習などの公知の方法に基づいて学習され得る。状態コストq(x)及び車両制御ダイナミクスB(x)は、本明細書中に記載されているように制御ポリシー101の修正及び最適化の両方のために使用され得る。任意の所与の車両についての車両制御ダイナミクスモデル87を決定し、メモリ54などのメモリ内に記載することができる。
【0019】
再び
図1を参照すると、コンピュータ処理システムの実施形態は、2つの学習システム又は学習ネットワーク、並びに相互に作用するactorネットワーク(又は「actor」)83及びcriticネットワーク(又は「critic」)81も含み得る。これらネットワークは、例えば、人工ニューラルネットワーク(ANN)を用いて実現され得る。本明細書中に記述された目的に対し、(変数πによっても表される)制御ポリシー101は、一群の車両の状態のうちの各状態xに応じて車両により取られるべき行動uを特定又は決定する関数又は他の関係として定義され得る。故に、自律的操作の実行中の車両の各状態xに対し、車両は、関連する行動u=π(x)を実施するように制御され得る。したがって、制御ポリシーは、車両の操作を制御して、例えば、高速道路合流などの関連する操作を自律的に実施する。actor83は、制御ポリシーに関して作動し、criticから受信した情報及び他の情報を用いて、ポリシーを修正及び/又は最適化し得る。制御ポリシーにより自律的に制御された車両操作は、高速道路への合流、又は、車線の変更のような特定の目的を達成すべく実施される一つの運転操作又は一群の運転操作として定義され得る。
【0020】
コンピュータ処理システム14は、制御ポリシーの修正及び最適化に対して使用可能である新規な半モデルフリーRL方法(semi-model-free RL method)(本明細書においては受動的actor/critic(pAC)方法という)を実行するように構成され得る。この方法において、criticは、車両の種々の状態に対する評価関数を学習し、且つ、actorは、能動的探索なしで、代わりに受動的に収集されたデータと既知の車両制御ダイナミクスモデルとを用いて制御ポリシーを改善する。この方法は、部分的に既知であるシステムダイナミクスモデルを使用することにより、能動的探索に対する必要性を回避する。この方法は、車両環境の制御されていないダイナミクス又は過渡的なノイズレベルに関する知見を必要としない。この方法は、例えば、環境がノイズ的に如何に展開するかのサンプルは入手可能であるが車両センサにより能動的に探索することは困難であり得る自律車両に関して、実行可能である。
【0021】
本明細書中に記載の特定の実施形態において、制御ポリシーにより制御されるべき車両の操作は、1車線内を走行する第2の車両と第3の車両の間でこの車線内に車両を合流させるための操作である。制御ポリシーは、第2の車両と第3の車両の間の中間に車両を合流させる目的で車両を制御するために構成され得る。
【0022】
本明細書中に記載のコンピュータ処理システム14の実施形態は、さまざまなタイプの入力及び出力情報を測定、受信及び/又はアクセスすることにより、システム(例えば車両)の状態x(t)を決定する。例えば、システムに連結された又は他の形でシステムと通信状態にあるセンサを用いて、データを測定することができる。コンピュータ処理システム14は、方程式(1)により特徴付けされる車両の安定性及び所望の運動を達成するためと同時に、方程式(2)中に記載のエネルギーベースのコスト関数を最小化するために、制御入力uを決定し得る。
【0023】
制御ポリシーを修正及び最適化する目的に対し、状態x∈R
n及び制御入力u∈R
mにより、離散時間確率論的ダイナミクス系は以下のように定義され得る。
Δx=A(x
t)Δt+B(x
t)u
tΔt+C(x
t)dω (1)
式中、ω(t)はブラウニアン運動であり、A(x
t)、B(x
t)u
t、及びC(x
t)は、それぞれ、受動的ダイナミクス、車両制御用ダイナミクス、及び、過渡的ノイズレベルである。Δtは、時間のステップサイズである。この種の系は、多くの状況において生ずる(例えば、ほとんどの機械系のモデルはこれらのダイナミクスに従う)。関数A(x)、B(x)及びC(x)は、理解されるべく、モデル化されている特定の系に依存する。受動的ダイナミクスは、車両の環境における変化であって、車両システムに対する制御入力の結果ではない変化を含む。
【0024】
本明細書中に記述された方法及びシステムにおいて、離散時間ダイナミクス系に対するマルコフ決定過程(MDP)は、タプル<X、U、P、R>であり、式中、X⊆R
n及びU⊆R
mは、状態空間及び行動空間である。P:={p(y|x,u)|x,y∈X,u∈U}は、行動による状態遷移モデルであり、且つ、R:={r(x,u)|x∈X,u∈U}は、状態x及び行動uに関する即時コスト関数である。先に記述されたように、制御ポリシーu=π(x)は、状態xから行動uへとマッピングする関数である。予期される累積コストである、ポリシーπの下での到達コスト関数(cost-to-go function)(又は価値関数)V
π(x)は、無限時間区間(infinite horizon)の平均コストの最適性判断基準の下で、以下のように定義される。
【数1】
式中、
は平均コストであり、kは時間インデックスであり、且つ、Δtは時間ステップである。最適な到達コスト関数は、以下の離散時間ハミルトン−ヤコビ−ベルマン方程式を満足する。
【数2】
式中、Q
π(x,u)は行動価値関数(action-value function)であり、且つ、g[・]は積分演算子である。MDPの目的は、以下の関係に従い、無限時間区間に亘り、平均コストを最小化する制御ポリシーを見出すことである。
【数3】
ここで、最適な制御ポリシーにおける値は、上付き文字
*を以て表され得る(例えば、V
*、V
*avg)。
【0025】
離散時間ダイナミクス系に対する線形マルコフ決定過程(L−MDP)は、連続的な状態空間及び行動空間に対して厳密な解が迅速に求められ得るという利点を備えた汎用マルコフ決定過程のサブクラスである。構築されたダイナミクス、及び、別体的な状態コスト及び制御コストの下で、ベルマン方程式は、組み合わされた状態コスト及び制御されていないダイナミクスの線形固有関数を見出すことに解が限定された線形微分方程式として再構築され得る。その後、L−MDPに対する到達コスト関数(又は、価値関数)は、正確なダイナミクスモデルが利用可能であるときに、二次プログラミング(QP)のような最適化方法により、効率的に求められ得る。
【0026】
マルコフ決定過程の線形公式は、以下に示されるように、制御コストを定義すべく、且つ、車両ダイナミクスに関する条件を加えるべく使用され得る。
【数4】
ここで、q(x)≧0は状態コスト関数であり、p(x)は行動による状態遷移モデルであり、且つ、KL(・||・)はクルバック−ライブラー(KL)偏差である。式(3)は、行動のコストを、それが系に対して有する確率論的効果の量に対して関連付け、且つ、それを状態コストに対して加算する。第2の条件は、何らの行動も、受動的ダイナミクスの下では達成され得ない新たな遷移を導入しないことを確実とする。式(1)により表された確率論的ダイナミクス系は、当然、上記仮定を満足する。
【0027】
ハミルトン−ヤコビ−ベルマン方程式(式(2))は、L−MDP形態において、指数的に変換された到達コスト関数に対する線形微分方程式(以下、線形化ベルマン方程式という)へと書き換えられ得る。
【数5】
式中、Z(x)及びZ
avgは、それぞれ、Z値と称される指数的に変換された到達コスト関数、及び、最適ポリシーの下での平均コストである。Z値は入力パラメータxの対応する値に対するZ値関数Z(x)の特定の値であってもよい。(式(1))における状態遷移はガウス性であることから、制御されたダイナミクスと受動的なダイナミクスとの間のKL偏差は、
【数6】
として表され得る。
【0028】
その後、L−MDP系に対する最適な制御ポリシーは、
【数7】
として表され、式中、
は、x
kにおけるxに関する到達コスト関数Vの偏微分値であり、パラメータρ(x
k)はB(x
k)
TV
kで表されるベクトルが乗算する回数を表す制御ゲインである。Z値及び平均コストは、系のダイナミクスが完全に入手可能であるとき、固有値又は固有関数を解くことにより、線形化ベルマン方程式から導かれ得る。
【0029】
固有値問題の解決法については、全体が参照により本明細書に組込まれているAdvances in Neural Information Processing Systems,2006,p1369〜1376,Vol.19中で公開された「Linearly-solvable Markov Decision Problems」内でTodorovにより論述されている。固有関数問題の解決法については、同様に全体が参照により本明細書に組込まれているConference:In Adaptive Dynamic Programming and Reinforcement Learning,IEEE Symposium,2009,p161〜168中で公開された「Eigenfunction Approximation Methods for Linearly-solvable Optimal Control Problems」内でTodorovにより論述されている。
【0030】
本明細書中に記載されているコンピュータ処理システム14の実施形態には、互いに相互作用する2つの学習システム又は学習ネットワーク、actorネットワーク(又は「actor」)83及びcriticネットワーク(又は「critic」)81が含まれる。これらのネットワークは、人工神経ネットワークを用いて実装され得る。
【0031】
1つ以上の配置において、actor83は内部ループフィードバックコントローラとして実装され、critic81は外部ループフィードバックコントローラとして実装される。両方共、車両起動型メカニズム又は制御指令をもたらすために操作可能である制御機構との関係においてフィードフォワード経路内に位置設定されてよい。
【0032】
反復とは、(criticについては重みω、actorについてはμなどの)critic及びactorパラメータの更新として定義され得る。さらに、criticネットワークパラメータの更新は、車両が動いているときに行なうことができる。本明細書中に記載の方法において、ここで、criticネットワーク及びactorネットワークパラメータの更新中に使用される唯一のデータは、受動的に収集されたデータである。
【0033】
critic81は、受動的に収集されたデータのサンプル内に反映されている状態及び状態コストを用いて、推定平均コスト及び、actorネットワークによって適用された場合に車両の到達コストについての最小値を生成する近似された到達コスト関数を決定する。受動的に収集されたデータのサンプル内に反映された車両状態及び車両制御ダイナミクスモデル87から受信した状態コストq(x)を用いて、critic81は、車両の現在の状態x
k及び推定された次の状態x
k+1、及び受動的に収集されたデータのサンプルを用いる最適ポリシー下の状態コストq
kを評価する。critic81は同様に、近似された到達コスト関数
(Z値関数)及び現在の状態についての付随する推定Z値を決定し、actor83による使用のための推定された平均コスト
を生成するために、前述のベルマン方程式(方程式(5))の線形化版を使用する。推定された次の状態x
k+1は、受動的に収集されたデータ及び車両ダイナミクスモデル87を用いて計算可能である。
【0034】
Z値の推定を目的として、重み付けされた放射基底関数(RBF)の線形結合がZ値関数を近似するために使用され得る:
【数8】
ここでωは重み、f
jはj番目のRBFそしてNはRBFの数である。基底関数は、車両システムの非線形ダイナミクスに応じて好適に選択され得る。Z値は、近似Z値関数及び受動的に収集されたデータのサンプルを用いて近似され得る。
【0035】
重み付けされた放射基底関数の線形結合を用いてZ値関数を近似する前に、重み付けされた放射基底関数内で使用される重みを最適化することができる。放射基底関数内で使用するため、累乗された真の到達コスト(又はZ値)と推定到達コストとの間の最小二乗誤差を最小化することにより、重みωを最適化することができる。Z(x
k)及びZ
avgを真のZ値とし、
、
を推定Z値とすると、
【数9】
【数10】
ここで、Cは、自明な解ω=0への収束を回避するために使用される一定値である。方程式(5)に由来する∀x、0<Z
avgZ(x)≦1,\及び∀x、q(x)≧0を満たすために、第2及び第3の制約が必要とされる。
【0036】
重みを最適化する前に、重み付けされた放射基底関数内で使用される重みを更新することができる。重みωは最適化に先立ち更新され得、criticネットワークにより使用される重み及び平均コスト
は、pAC方法のために使用される情報を用いて真の到達コスト及び真の平均コストを決定することができないことを理由として、線形化されたベルマン方程式(LBE)(方程式(5))から以下のように決定される近似された時間差誤差e
kで真の到達コストと推定到達コスト間の誤差を近似することによって、ラングランジェ緩和時間差(TD)学習に基づいて反復ステップにおける使用に先立ち更新され得る。
【数11】
【数12】
【数13】
ここでα
1i及びα
2は、学習率であり、e
kはL−MDPsについてのTD誤差である。δ
ijはディラックのデルタ関数を意味する。上付き文字iは、反復回数を意味する。λ
1、λ
2、λ
3は、制約方程式(9)についてのラングランジェ乗数である。ωは、方程式(10)で誤差を最小化し、方程式(11)で制約を満たすために更新される。
【0037】
乗数の値は、以下の方程式を解くことで計算される。
【数14】
【0038】
いくつかの事例において、制約サブセットが有効でない場合がある。このような場合には、これらの制約についての乗数はゼロに設定され、残りの有効な制約についての乗数が得られる。criticは、制御ポリシーと無関係な状態コストq
kと受動的ダイナミクス(x
kx
k+1)の下での状態遷移サンプルを用いてパラメータを更新する。重みω、推定Z値
及び平均コスト
は、車両が動いている間に、方程式(10)−(11A)にしたがってオンラインで更新され得る。
【0039】
コンピュータ処理システム内で、criticネットワークに作用的に連結されたactor83は、到達コストについて最小値を生成する車両に対し適用するための制御入力を決定し得る。criticにより生成された推定到達コスト
及び推定平均コストZ
avg、状態コストq(x)、車両制御ダイナミクスモデル87から決定される現在の状態についての制御ダイナミクス情報B(x)、及び到達コスト関数
を推定し推定平均コスト
を生成するためにcriticにより使用される車両の現在の状態及び推定された次の状態を用いて、actor83は制御入力を決定することができる。制御入力は、制御ポリシーπを修正するために使用可能である。特定の実施形態において、ポリシーπは、本明細書中に記載の要領で収束に至るまで反復的に修正され、その時点で最適化されたものとみなされる。actorは、標準ベルマン方程式を用いて能動的探索なしで制御ポリシーを改良し修正する。制御ダイナミクスは、車両についての公知の制御ダイナミクスから決定され得る。
【0040】
actor83は同様に、所望される操作(例えば高速道路合流、レーン変更など)を自律的に行なうため、実時間で車両システムに対して制御入力u(x)を適用することもできる。本明細書中で開示されているいくつかの実施形態において、actor83は、内部ループフィードバックコントローラ内で具現され得、critic81は外部ループフィードバックコントローラ内で具現され得る。両方のコントローラ共、車両起動式制御機構との関係においてフィードフォワード経路内に位置設定され得る。
【0041】
actor83は、critic由来の推定値(例えば
及び
)、受動的ダイナミクス下のサンプル、公知の制御ダイナミクスB
kを用いて制御ゲインρ(x
k)を推定することにより、制御ポリシーを改良又は修正することができる。制御ポリシーの修正には、制御ゲインを近似するステップ、制御ゲインを最適化して最適化された制御ゲインを提供するステップ、及び最適化された制御ゲインを用いて制御ポリシーを修正するステップが含まれ得る。
【0042】
制御ゲインρ(x
k)は、重み付けされた放射基底関数の線形結合で学習された状態で近似され得る:
【数15】
ここで、μ
jは、j番目の放射基底関数g
jのための重みである。Μは放射基底関数の数である。ρ(x
k)は、到達コストと行動−状態価値の間の最小平均誤差を最小化することによって最適化され得る。
【数16】
ここでV
*、V
*avg、及び
は、最適な制御ポリシー下の、真の到達コスト関数、平均コスト及び推定行動−状態価値である。最適な制御ポリシーは、ポリシーが最適なポリシーである場合にのみ真の行動価値コストがV
*+V
*avgに等しいことから、目的関数を最小化することによって学習され得る。以下の関係にしたがって、制御ゲインρ(x
k)を更新する場合に
及び
を決定するために、
及び
を使用することができる:
【数17】
【0043】
制御ゲインを最適化する前に、制御入力を決定することができ、制御入力、受動的に収集されたデータのサンプル及び近似された制御ゲインを用いて行動価値関数の値Qを決定することができる。重み付けされた放射基底関数の線形結合を用いて制御ゲインを近似する前に、重み付けされた放射基底関数内で使用される重みμを更新することができる。
【0044】
重みμは、以下で定義する近似時間差(TD)誤差d
kを用いて更新され得る:
【数18】
ここで、β’は学習率であり、L
k、k+1は項L(x
k、x
k+1)の省略版である。
【0045】
真の到達コスト及び真の平均コストを計算することができないため、誤差d
kを決定するために標準ベルマン方程式を近似することができる。
【数19】
ここで、x
k+1は受動的ダイナミクス下の次の状態であり、x
k+1+B
ku
kΔtは、行動u
kでの制御されたダイナミクス下における次の状態である。推定到達コスト、平均コスト及びそれらの微分値は、criticからの推定Z値及び平均Z値コストを使用することによって計算可能である。さらに、以下の式により、μとの関係においてTD誤差を線形化するために、
を近似することができる。
【数20】
【0046】
この手順は、受動的ダイナミクス下での状態遷移サンプル(x
k、x
k+1)、状態コストq
k、及び所与の状態における制御ダイナミクスB
kを使用することによって能動的探索なしでポリシーを改良する。標準actor−critic方法は、能動的探索を用いてポリシーを最適化する。これらのactor及びcritic関数が定義された状態で、コンピュータ処理システム14は、L−MDPを用いて半モデルフリー強化学習を実装することができる。
【0047】
本明細書中に記載の方法において、ポリシーは、到達コストと行動−状態価値との間の誤差を最小化することによって、車両制御ダイナミクスについての知識及び受動的に収集されたデータのサンプルを用いて学習されるパラメータで最適化される。本明細書中に記載の方法は、通常車を制御するために利用可能である車両自体のダイナミクスモデルで最適なポリシーを決定することを可能にする。これらの方法は、同様に、通常そのダイナミクスモデルが未知である周囲の車両の操作に関する受動的に収集されたデータも使用する。さらに、本明細書に記載の方法を用いると、最適な制御ポリシーを決定するために、車両環境の受動的ダイナミクスA(x
t)及び遷移ノイズレベル及びC(x
t)を知っている必要はない。
【0048】
別の態様においては、本明細書中で記載されているように、1つの操作を行なうようシステムを制御するために使用可能な制御ポリシーを最適化するためのコンピュータ実装型方法が提供されている。この方法は、システムを制御するために使用可能な制御ポリシーを提供するステップと;行なうべき操作に関する受動的に収集されたデータに対して受動的actor−critic強化学習方法を適用して、最低予想累積コストで操作を行なうようにシステムを制御するために制御ポリシーが操作可能になるような形で制御ポリシーを修正するステップと;を含むことができる。受動的に収集されたデータに対して受動的actor−critic強化学習方法を適用するステップは、a)コンピュータ処理システム内のcriticネットワークにおいて、受動的に収集されたデータのサンプルを用いてZ値を推定し、受動的に収集されたデータのサンプルを用いて最適なポリシー下で平均コストを推定するステップと;b)コンピュータ処理システム内のactorネットワークにおいて、受動的に収集されたデータのサンプル、システムについての制御ダイナミクス、到達コスト及び制御ゲインを用いて制御ポリシーを修正するステップと;c)制御ポリシーを修正する上で、及び最適なポリシー下でZ値及び平均コストを推定する上で使用されるパラメータを更新するステップと;d)推定平均コストが収束するまで、ステップ(a)〜(c)を反復的に繰返すステップとを含むことができる。
【0049】
図6〜9は、本明細書中に記載の一実施形態に係る、最小予想累積コストで車両の操作を行なう目的で車両を制御するために構成された制御ポリシーを学習するため、車両の操作に関連する受動的に収集されたデータに対して受動的actor−critic強化学習方法を適用するコンピュータ実装型方法を例示するフローチャートである。
【0050】
図6を参照すると、ブロック710において、プロセッサ58は、行なうべき車両の操作に関連する受動的に収集されたデータを受信し得る。受動的に収集されたデータは、メモリ54及び/又はコンピュータ処理システム14の外部のソースから受信され得る。
【0051】
ブロック720では、コンピュータ処理システム14のプロセッサ及び/又は他の要素は、受動的に収集されたデータのサンプルに対し、本明細書中に記載の受動的actor−critic(PAC)強化学習方法を反復的に適用することができる。PAC方法を適用することにより、最低予想累積コストで車両の操作を行なうように車両が制御され得るようにする制御ポリシーを学習することが可能である。ブロック730では、車両は、車両の操作を行なうために学習された制御ポリシーにしたがって制御され得る。
【0052】
図7は、
図6のブロック720に示されているような、本明細書中に記載の実施形態に係る受動的actor−critic(PAC)強化学習方法の適用を例示するフローチャートである。
【0053】
図7を参照すると、ブロック810において、コンピュータ処理システムは、車両の操作を行なうように車両を制御するために適応され得る初期制御ポリシーを受信することができる。制御ポリシーの初期版のパラメータは、コンピュータ処理システム内のランダム化ルーチンを用いてランダム値に初期化され得る。
【0054】
ブロック820では、コンピュータ処理システムは、受動的に収集されたデータのサンプルを用いて前述の最適な制御ポリシー下でZ値及び平均コストを推定することができる。ブロック830では、コンピュータ処理システムは、最適なポリシー下で受動的に収集されたデータ、推定されたZ値及び推定された平均コストのサンプルを用いて制御ポリシーを修正することができる。ブロック840では、コンピュータ処理システムは、推定平均コストが収束するまで、ブロック820及び830に示されたステップを反復的に繰返すことができる。
【0055】
図8は、
図7のブロック820に示されているように、受動的に収集されたデータのサンプルを用いて最適な制御ポリシー下でZ値及び平均コストを推定するための、criticネットワークによる受動的actor−critic(PAC)強化学習方法のステップの適用を例示するフローチャートである。
【0056】
ブロック910では、Z値関数を近似するために使用可能である重み付けされた放射基底関数内で使用される重みを更新することができる。ブロック920では、Z値関数を近似するために使用可能である重み付けされた放射基底関数内で使用される重みを、最適化することができる。ブロック930では、重み付けされた放射基底関数の線形結合を用いて、Z値関数を近似することができる。ブロック940では、ブロック930で決定された近似Z値関数及び受動的に収集されたデータのサンプルを用いてZ値を近似することができる。
【0057】
図8は、
図7のブロック830に示されているように、受動的に収集されたデータのサンプルを用いて最適な制御ポリシー下でZ値及び平均コストを推定するための、actorネットワークによる受動的actor−critic(PAC)強化学習方法のステップの適用を例示するフローチャートである。
【0058】
ブロック1010では、制御ゲインを近似するために使用可能である重み付けされた放射基底関数内で使用される重みを更新することができる。ブロック1020では、重み付けされた放射基底関数の線形結合を用いて、制御ゲインρ(x
k)を近似することができる。先に説明された関係(12)及び受動的に収集されたデータのサンプルを用いて制御ゲインを近似することができる:
【数21】
【0059】
ブロック1030では、関係
を用いて制御入力uを決定することができる。ブロック1040では、ブロック1030で決定された制御入力、受動的に収集されたデータのサンプル及びブロック1020で近似された制御ゲインρ(x
k)を用いて、行動価値関数Qの値を決定することができる。行動価値関数Qの値は、先に段落[0045]で明記された関係、
【数22】
を用いて決定することができる。ブロック1050では、制御ゲインを最適化して、最適化制御ゲインを提供することができる。ブロック1040で決定された行動価値関数Qの値、及び先に段落[0057]で明記された関係、
【数23】
を用いて、制御ゲインを最適化することができる。ブロック1060では、最後に最適化制御ゲインρ(x
k)及び関係(7)、すなわち
【数24】
を用いて、制御ポリシーを修正又は更新することができる。
【0060】
この関係は、先に段落[0028]中に明記されたものである。上述したcritic及びactorネットワークにより行なわれるステップは、推定平均コストが収束するまで、追加の受動的に収集されたデータについて反復的に繰返し可能である。
【0061】
図2は、本明細書中に記載の方法に係るコンピュータ処理システム14内での制御入力の決定及び制御ポリシーの修正及び制御ポリシーの最適化の実行中の情報の流れを示す概略図である。従来のactor−critic方法は環境から能動的に収集されたデータのサンプルを使用して動作し得るが、本明細書中で説明されているpAC方法は、環境の能動的探索なく、代りに受動的に収集されたサンプル及び公知の車両制御ダイナミクスを用いて、最適な制御ポリシーを決定する。critic81又はactor83のいずれかで受信したあらゆる情報を、後日使用するためにメモリ内にバッファリングすることができる。例えば、パラメータ値を計算又は推定するためにcritic又はactorに必要とされる情報の全てが現在利用可能でない状況においては、残りの所要情報が受信されるまで、受信された情報をバッファリングすることができる。項
及び
は、それぞれx
k及びx
k+1におけるxに関するZ値関数の偏導関数である。項
は、x
kにおける到達コスト関数Vの偏導関数を計算するために使用可能である。
【0062】
図3は、
図1のコンピュータ処理システム114と同様の態様で構成されたコンピュータ処理システム114が組み込まれた例示的な実施形態に係る車両11を示す機能的ブロック図である。車両11は、乗用車、トラック、又は、本明細書中に記述された操作を実施し得る他の任意の車両の形態を取り得る。車両11は、完全に又は部分的に自律モードで作動すべく構成され得る。自律モードで作動している間、車両11は、人的相互作用なしで作動すべく構成され得る。例えば、高速道路の合流操作が実行されている自律モードにおいて、車両は、車両乗員からの入力なしで、高速道路上の車両から安全距離を維持すること、他の車両と速度を調和すること等を行うように、スロットル、ブレーキ及び他のシステムを作動させ得る。
【0063】
車両11は、コンピュータ処理システム114に加え、且つ、相互に作動的に通信する種々のシステム、サブシステム及び構成要素、及び構成要素、例えば、センサシステム又は配列28、一つ以上の通信インタフェース16、操舵システム18、スロットルシステム20、制動システム22、電源30、動力システム26、並びに本明細書中に記述されたように車両を操作するために必要な他のシステム及び構成要素を含み得る。車両11は、
図3に示されたよりも多い又は少ないサブシステムを含み得ると共に、各サブシステムは、複数の要素を含み得る。更に、車両11のサブシステム及び要素の各々は、相互接続され得る。車両11の記述された機能及び/又は自律的作動の一つ以上の実施は、相互に協働して作動している複数の車両システム及び/又は構成要素により実行され得る。
【0064】
センサシステム28は、任意の適切な形式のセンサを含み得る。本明細書中には、異なる形式のセンサの種々の例が記述される。しかし、実施形態は、記述された特定のセンサに限定されないことは理解される。
【0065】
センサシステム28は、車両11の外部環境に関する情報を検知すべく構成された所定数のセンサを含み得る。例えば、センサシステム28は、全地球測位システム(GPS)のようなナビゲーションユニット、及び、例えば、慣性測定装置(IMU)(図示せず)、RADARユニット(図示せず)、レーザ測距計/LIDARユニット(図示せず)、及び車両の内部及び/又は該車両11の外部環境の複数の画像を捕捉すべく構成されたデバイスを備える一台以上のカメラ(図示せず)等の他のセンサを含み得る。カメラは、スチルカメラ又はビデオカメラであり得る。IMUは、慣性加速度に基づいて車両11の位置及び向きの変化を検知するように構成されたセンサ(例えば、加速度計及びジャイロスコープ等)の任意の組合せを組み込み得る。例えば、IMUは、車両のロール速度、ヨーレート、ピッチ速度、長手方向加速度、横方向加速度、及び、垂直加速度のようなパラメータを検知し得る。ナビゲーションユニットは、車両11の地理的位置を推定すべく構成された任意のセンサであり得る。この目的の為に、ナビゲーションユニットは、地球に対する車両11の位置に関する情報を提供するように作動可能な送受信機を含む一つ以上の送受信機を含み得る。また、ナビゲーションユニットは、業界公知の態様で、記憶され且つ/又は利用可能な地図を用いて与えられた開始点(例えば、車両の現在位置)から、選択された目的地までの走行ルートを決定又は計画するように構成され得る。また、車両11に近接して又は所定の距離以内で移動する車両に関する近さ、距離、速度及び他の情報を検出するように構成された一つ以上のセンサが設けられてもよい。
【0066】
公知の態様において、車両センサ28は、種々の車両システムに対する適切な制御命令を策定且つ実行する際にコンピュータ処理システム114により使用されるデータを提供する。例えば、慣性センサ、車輪速度センサ、道路状態センサ、及び操舵角センサからのデータは、車両を旋回させるための命令を策定して操舵システム18において実行する上で、処理され得る。各車両センサ28は、車両11に組み込まれる任意の運転者支援機能及び自律的操作機能をサポートするために必要とされる任意のセンサを含み得る。センサシステム28が複数のセンサを含む構成において、センサは、相互から独立的に作動し得る。代替的に、各センサのうちの2つ以上が、相互に協働して作動し得る。センサシステム28のセンサは、コンピュータ処理システム114に対し、及び/又は車両11の他の任意の要素に対し、作用的に接続され得る。
【0067】
また、各車両センサ28により収集された任意のデータは、本明細書中に記述された目的でデータを必要とし又は利用する任意の車両システム又は構成要素にも送信され得る。例えば、車両センサ28により収集されたデータは、コンピュータ処理システム114に、又は一つ以上の専用のシステム又は構成要素のコントローラ(図示せず)に送信され得る。付加的な特定の形式のセンサとしては、本明細書中に記述された機能及び操作を実施するために必要とされる他の任意の形式のセンサが挙げられる。
【0068】
特定の車両センサからの情報は、一つよりも多い車両システム又は構成要素を制御すべく処理かつ使用され得る。例えば、自動化された操舵制御及び制動制御の両方を組み込んだ車両において、種々の道路状態センサは、データをコンピュータ処理システム114に提供し、このコンピュータ処理システムは、プロセッサが実行可能な記憶された命令に従って道路状態情報を処理すると共に、操舵システム及び制動システムの両方に対して適切な制御命令を策定することができるようになる。
【0069】
車両11は、センサの出力信号又は他の信号が、コンピュータ処理システム114又は別の車両システム若しくは要素による使用の前に前処理を必要とするという状況、又はコンピュータ処理システムから送信された制御信号が、起動可能なサブシステム又はサブシステム構成要素(例えば、操舵システム又はスロットルシステムの構成要素)による使用の前に処理を必要とするという状況に適した、信号処理手段38を含み得る。信号処理手段は、例えば、アナログ/デジタル(A/D)変換器又はデジタル/アナログ(D/A)変換器であり得る。
【0070】
センサ統合機能(sensor fusion capability)138は、センサシステム28からのデータを入力として受け入れるべく構成されたアルゴリズム(又は、アルゴリズムを記憶するコンピュータプログラム製品)の形態であり得る。上記データは、例えば、センサシステム28の各センサにて検知された情報を表すデータを含む。センサ統合アルゴリズムは、センサシステムから受信したデータを処理し、(例えば、複数の個別的なセンサの出力から形成された)統合された又は合成された信号を生成し得る。センサ統合アルゴリズム138は、例えば、カルマンフィルタ、ベイジアンネットワーク、又は、別のアルゴリズムを含む。センサ統合アルゴリズム138は更に、センサシステム28からのデータに基づく種々のアセスメントを提供し得る。例示的な実施形態において、アセスメントは、車両11の環境における個別的な物体又は特定構造の評価、特定状況の評価、及び、特定の状況に基づく可能的な影響の評価を含み得る。他のアセスメントも可能である。センサ統合アルゴリズム138は、コンピュータ処理システム114に組み込まれた又はコンピュータ処理システム114と作用的に通信する(メモリ154のような)メモリ内に記憶され得ると共に、当業界において公知の態様でコンピュータ処理システムにより実行され得る。
【0071】
本明細書中に記述された任意の情報若しくはパラメータの受信、収集、監視、処理、及び/又は、決定を参照するときにおける「連続的に」という語句の使用は、コンピュータ処理システム114が、これらのパラメータに関する情報が存在し又は検出されるや否や、又は、センサの取得サイクル及びプロセッサの処理サイクルに従ってできるだけ素早く、任意の情報を受信及び/又は処理すべく構成されることを意味している。コンピュータ処理システム114が、例えば、センサからのデータ又は車両構成要素の状況に関する情報を受信すると直ちに、コンピュータ処理システムは、記憶されたプログラム命令に従って動作し得る。同様に、コンピュータ処理システム114は、センサシステム28から及び他の情報源から、同時進行的又は連続的に情報の流れを受信して処理し得る。この情報は、本明細書中に記述された態様及び目的にて、メモリ内に記憶された命令に従って処理及び/又は評価される。
【0072】
また、
図3は、先に記述されたように、
図1のコンピュータ処理システム114と同様の態様で構成された代表的なコンピュータ処理システム114のブロック図も示している。本明細書中に記述されたようにポリシーの修正を実施すると共に制御入力を決定するために必要とされる機能を組み込むと共に、コンピュータ処理システム114は、他の車両システム及び要素に作用的に接続されると共に、その他の点では、車両11及びその構成要素の制御及び操作に影響するように構成され得る。コンピュータ処理システム114は、少なくとも幾つかのシステム及び/又は構成要素を、(ユーザ入力なしで)自律的に且つ/又は(一定程度のユーザ入力を以て)半自律的に制御すべく構成され得る。また、コンピュータ処理システムは、幾つかの機能を自律的及び/又は半自律的に制御及び/又は実行するようにも構成され得る。コンピュータ処理システム114は、種々のサブシステム(例えば、動力システム26、センサシステム28、操舵システム18)から、各通信インタフェース16のうちの任意のものから、及び/又は他の任意で適切な情報源から受信した入力及び/又は情報に基づき、車両11の機能性を制御し得る。
【0073】
図3の実施形態において、コンピュータ処理システム114は、
図1に関して先に記述されたように、車両制御ダイナミクスモデル187、critic181、actor183、及び、制御ポリシー201を含み得る。コンピュータ処理システム114は、先に記述されたように、制御入力を決定すべく、且つ自律車両の操作制御ポリシーを修正及び/又は最適化すべく構成され得る。また、コンピュータ処理システム114は、制御入力に従って、且つ、本明細書中に記述されたように修正又は最適化された制御ポリシーにも従って、車両を制御して所望操作を実施すべく構成され得る。
【0074】
コンピュータ処理システム114は、
図3に示された要素の幾つか又は全てを有し得る。加えて、コンピュータ処理システム114は、特定の用途に必要とされ又は所望される付加的な構成要素も含み得る。また、コンピュータ処理システム114は、複数のコントローラ又はコンピュータ処理デバイスであって、分散態様にて、情報を処理し且つ/又は車両11の個別的な構成要素若しくはサブシステムを制御するように機能する複数のコントローラ又はコンピュータ処理デバイスを表し、又は、それにより具現され得る。
【0075】
メモリ154は、単一又は複数のプロセッサ158により実行されて、車両11の種々の機能を実行するデータ160及び/又は命令156(例えば、プログラムロジック)を収納し得る。メモリ154は、本明細書中に記述された車両システム及び/又は構成要素(例えば、動力システム26、センサシステム28、コンピュータ処理システム114、及び、通信インタフェース16)のうちの一つ以上にデータを送信し、それらからデータを受信し、それらと相互作用し、又はそれらを制御するための命令を含む、付加的な命令も含み得る。命令156に加え、メモリ154は、他の情報の中でも、道路地図、経路情報のようなデータを記憶し得る。斯かる情報は、自律的、半自律的、及び/又は手動的なモードにおける車両11の操作の間において、ルートを計画するのに且つその他にことをするのに、車両11及びコンピュータ処理システム114により使用され得る。
【0076】
コンピュータ処理システム114は、(概略的に62と表される)一つ以上の自律的な機能又は操作を実施するために、種々の起動可能な車両システム及び構成要素の制御を連携調整するように構成され得る。これらの自律的な機能62は、メモリ154及び/又は他のメモリ内に記憶されると共に、プロセッサにより実行されたときに、本明細書中に記述された種々のプロセス、命令又は機能のうちの一つ以上を実現するコンピュータ可読プログラムコードの形態で実現され得る。
【0077】
通信インタフェース16は、車両11と、外部センサ、他の車両、他のコンピュータシステム、(本明細書中に記述されたように、衛星システム、携帯電話/無線通信システム、種々の車両サービスセンターなどのような)種々の外部のメッセージ及び通信システム、及び/又はユーザとの間の相互作用することができるように構成され得る。通信インタフェース16は、車両11のユーザに情報を提供し又はユーザから入力を受信するためのユーザインタフェース(例えば、一台以上のディスプレイ(図示せず)、音声/オーディオインタフェース(図示せず)、及び/又は他のインタフェース)を含み得る。
【0078】
また、通信インタフェース16は、ワイドエリアネットワーク(WAN)、無線通信ネットワーク、及び/又は他の任意で適切な通信ネットワークにおける通信を可能とするインタフェースも含み得る。通信ネットワークは、有線の通信リンク、及び/又は無線の通信リンクを含み得る。通信ネットワークは、上記のネットワーク及び/又は他の形式のネットワークの任意の組合せを含み得る。通信ネットワークは、一つ以上のルータ、スィッチ、アクセスポイント、無線アクセスポイント、及び/又は類似物を含み得る。一つ以上の構成において、通信ネットワークは、任意の近傍車両及び車両11と、任意の近傍の路側の通信ノード及び/又はインフラとの間の通信を許容し得る、車両対全て(V2X)(車両対インフラストラクチャ(V2I)技術及び車両対車両(V2V)技術を含む)の技術を包含し得る。
【0079】
WANネットワーク環境において使用されたとき、コンピュータ処理システム114は、ネットワーク(例えば、インターネット)のようなWAN上での通信を確立するためのモデム又は他の手段を含み(又は、それに対して作用的に接続され)得る。無線通信ネットワークにおいて使用されたとき、コンピュータ処理システム114は、無線ネットワークにおける一つ以上のネットワークデバイス(例えば、基地送受信ステーション)を介して無線コンピュータ処理デバイス(図示せず)と通信するための一つ以上の送受信機、デジタル信号プロセッサ、及び付加的な回路機構並びにソフトウェアを含み(又は、それに対して作用的に接続され)得る。これらの構成は、種々の外部情報源から定常的な情報の流れを受信する種々の態様を提供する。
【0080】
車両11は、コンピュータ処理システム114並びに他の車両システム及び/又は構成要素と作用的に通信し且つコンピュータ処理システムから受信した制御命令に応じて作用し得る、種々の起動可能なサブシステム及び要素を含み得る。種々の起動可能なサブシステム及び要素は、(例えば、ACC及び/又は車線維持などの)いずれの自律的の走行支援システムが起動されているのか且つ/又は車両が完全自律モードで駆動されているのかといった所定の走行状況のような要因に依存して、手動的又は(コンピュータ処理システム114により)自動的に制御され得る。
【0081】
操舵システム18は、車両ホイール、ラック及びピニオン操舵ギア、操舵ナックル、及び/若しくは車両11の方向を調節すべく作用可能であり得る他の任意の要素(コンピュータシステムで制御可能な任意の機構又は要素を含む)、又は要素の組み合わせを含み得る。動力システム26は、車両11に動力運動を提供すべく作用可能な構成要素を含み得る。例示的な実施形態において、動力システム26は、エンジン(図示せず)、(ガソリン、ディーゼル燃料、又は、ハイブリッド車両の場合には一つ以上の電気バッテリのような)エネルギ源、及び、変速機(図示せず)を含み得る。制動システム22は、車両11を減速すべく構成された、要素及び/又はコンピュータシステムで制御可能な任意の機構の任意の組合せを含み得る。スロットルシステムは、(例えば、加速ペダル、及び/又は例えばエンジンの作動速度を制御することで車両11の速度を制御するように構成された任意のコンピュータシステム制御可能な機構などの)要素及び/又は機構を含み得る。
図3は、車両に組み込まれ得る車両サブシステムの僅かな例18、20、22、26を示している。特定の車両は、これらのシステムの一つ以上、又は示されたシステムの一つ以上に加えて他のシステム(図示せず)の一つ以上を組み込み得る。
【0082】
車両11は、コンピュータ処理システム114、センサシステム28、起動可能なサブシステム18、20、22、26及びその他のシステム及び要素が、コントローラエリアネットワーク(CAN)バス33などを用いて互いに通信できるように構成され得る。CANバス及び/又は他の有線又は無線メカニズムを介して、コンピュータ処理システム114は、さまざまなシステム及び構成要素に対しメッセージを伝送する(及び/又はそこからメッセージを受信する)ことができる。代替的には、本明細書中に記載の要素及び/又はシステムのいずれかは、バスを使用することなく互いに直接接続され得る。同様に、本明細書中に記載の要素及び/又はシステム間の接続は、別の物理的媒体(例えば有線接続)を通したものであり得るか、又は接続は無線接続でもあり得る。
図3は、コンピュータ処理システム114、メモリ154及び通信インターフェース16などの車両11のさまざまな構成要素を車両11に組込まれているものとして示しているが、これらの構成要素の1つ以上は車両11とは別個に組付ける又は付随させることのできるものである。例えば、メモリ154は、一部が又は全部が車両11とは別個に存在することができる。こうして、車両11は、別個に又は一緒に位置設定可能なデバイス要素の形で提供され得る。車両11を作り上げるデバイス要素は、有線又は無線で、共に通信可能に連結され得る。こうして、別の態様において、本明細書中で説明されるように、コンピュータ処理システム114は、車両の操作を行なう目的で車両を自律的に制御するために使用可能な制御ポリシーを最適化するように構成され得る。コンピュータ処理システム114は、コンピュータ処理システム114の操作を制御するための1つ以上のプロセッサ158と、1つ以上のプロセッサにより使用可能なデータ及びプログラム命令を記憶するためのメモリ154とを含むことができる。メモリ154は、1つ以上のプロセッサによって実行された時点で、1つ以上のプロセッサ158に、a)システムに関わる受動的に収集されたデータを受信させ;b)車両についての到達コストを推定するために使用可能なZ値関数を決定させ;c)コンピュータ処理システム内のcriticネットワークにおいて:Z値関数及び受動的に収集されたデータのサンプルを使用してZ値を決定させ;受動的に収集されたデータのサンプルを用いて最適なポリシー下で平均コストを推定させ;d)コンピュータ処理システム内のactorネットワークにおいて、受動的に収集されたデータ、システムについての制御ダイナミクス、到達コスト及び制御ゲインを用いて制御ポリシーを修正させ;e)推定平均コストが収束するまで、ステップ(c)及び(d)を反復的に繰返させる;コンピュータコードを記憶するように構成され得る。
【実施例】
【0083】
図4及び5を参照すると、本明細書中に記載のpAC強化学習方法の一実施形態の一実施例において、自律的高速道路合流操作がシミュレーションされている。最低予想累積コストで車両の操作を行なう目的で車両を制御するために構成され最適化された制御ポリシーを学習するように、高速道路合流操作に関連する受動的に収集されたデータが、前述のように処理される。その後、高速道路合流操作を行なうため、学習された制御ポリシーにしたがって車両を制御することができる。
【0084】
高速道路合流操作は、4次元状態空間と1次元行動空間とを有し得る。車両環境ダイナミクスの受動的ダイナミクスA(x
t)及び車両制御ダイナミクスB(x)は、以下のように表現可能である:
【数25】
ここで、下付き文字「0」は、高速道路の最も右側のレーン上の合流車両の後方にある「0」と標識付けされた車両(「後続車両」という)を意味し、下付き文字「1」は、ランプRR上の合流する自動運転車両である「1」と標識付けされた車両を意味し、下付き文字「2」は、高速道路の最も右側のレーン上の合流車両1の前方にある「2」と標識付けされた車両(「先行車両」というばれる)を意味する。dx
12に及びdv
12は、先行車両と合流車両との相対的位置及び速度を意味し、項α
0(x)は、後続車両0の加速度を表わす。パラメータα、β及びγは、交通環境内の人間の運動挙動に調整することのできるモデルパラメータ(例えば、Gazis−Herman−Rothery(GHR)の車追従モデル内で使用されているようなもの)である。実施例のためには、先行車両が定速V2=30メートル/秒で運転されていること、後続車両についての車両制御ダイナミクスが公知であること、が仮定されている。後続車両の速度が先行車両の速度より遅い場合、(dυ
02<0)、α=1.55、β=1.08、γ=1.65であり、そうでない場合にはα=2.15、β=−1.65、γ=−0.89である。
【0085】
状態コストq(x)を以下のように表現することができる:
【数26】
ここで、k
1、k
2及びk
3は、状態コストのための重みであり;合流車両がランプ上で(すなわちdx
12<0及びdx
12>dx
02の条件下で)後続車両と先行車両の間にある場合、k
1=1、k
2=10及びk
3=10であり;そうでない場合k
1=10、k
2=10及びk
3=0である。状態コストについての重みk1、k2、k3は、割当てられるか又は手動で調整され得る。代替的には、逆強化学習を用いて、収集されたデータセットから状態コスト関数を学習することができる。コストは、後続車両と同じ速度で後続車両と先行車両の間で中間に合流するように自動運転車両を誘起するように設計される。初期状態は、−100<dx
12<100メートル、−10/dv
12<10メートル/秒、−100<dx
02<−5メートル及び−10<dx
0.2<10メートル/秒の範囲内でランダムに選択された。Z値を近似するために、ガウス放射基底関数を使用した:
【数27】
ここで、mi及びSiはi番目の放射基底関数のための平均及び逆共分散である。高速道路合流のシミュレーションのためには、1状態次元あたり8個の値で構成されたグリッドの頂点に平均が設定された4096個のガウス放射基底関数で、Z値を近似した。基底の標準偏差は、各次元における最も近い2つの基底の間の距離の0.7であった。ρ(x)の実際値が実施例において恒常であることから、制御ゲインρ(x)を推定するためにg(x)=1の値を使用した。最適ポリシーは、上述のように、方程式(7)を用いて決定した。該方法は、受動的ダイナミクスをシミュレートすることによって収集された10000個のサンプルからポリシーを最適化した。
図5は、本明細書中に記載された方法により決定された連続する制御入力を用いて、125の異なる初期状態から出発して、(収束に必要とされる反復数として表現される)30秒以内での合流成功率を示す。
【0086】
状態コスト関数は、特定の合流状況に適合させるように設計又は調整され得る。1つ以上の実施形態において、特定の合流状況のために状態コスト関数を学習する目的で逆強化学習を使用するように、コンピュータ処理システムをプログラミングすることができる。
【0087】
開示を読了した時点で当業者であれば認識するように、本明細書中に記載のさまざまな態様を、方法、コンピュータ処理システム又はコンピュータプログラムプロダクトとして具体化することができる。したがって、これらの態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態又は、ソフトウェアとハードウェアの態様を組合せた実施形態の形をとることができる。その上、このような態様は、本明細書中に記載の機能を実行するための記憶媒体内又は上に具体化された、コンピュータ可読プログラムコード又は命令を有する1つ以上のコンピュータ可読記憶媒体によって記憶されたコンピュータプログラムプロダクトの形をとることができる。さらに、本明細書中に記載のデータ、命令又は事象を表わすさまざまな信号を、金属線、光ファイバ、及び/又は無線伝送媒体(例えば空気及び/又は空間)などの信号伝導媒体を通して走行する電磁波の形で発信元と宛先との間で移送することができる。
【0088】
図中のフローチャート及びブロック図は、さまざまな実施形態に係るシステム、方法及びコンピュータプログラムプロダクトの考えられる実装のアーキテクチャ、機能性及び操作を例示する。この点において、フローチャート又はブロック図内の各ブロックは、規定の論理関数を実装するための1つ以上の実行可能な命令を含むモジュール、セグメント又はコード部分を表わし得る。同様に、いくつかの代替的実装において、ブロック内で指摘された機能が、図中に指摘された順序以外で発生し得るという点にも留意すべきである。例えば、連続して示されている2つのブロックを、実際には実質的に同時に実行することができ、あるいは、関与する機能性に応じてブロックを逆の順序で実行することができる場合もある。
【0089】
本明細書中で使用される「a」及び「an」なる用語は、1以上として定義される。本明細書中で使用される「複数(plurality)」なる用語は、2以上として定義される。本明細書中で使用される「別の(another)」なる用語は、少なくとも第2以上のものとして定義される。本明細書中で使用される「〜を含む(including)」及び/又は「〜を有する(having)」なる用語は、含む(comprising)(すなわちオープンランゲージ)として定義される。本明細書中で使用される「〜と〜の少なくとも1つ「at least one of...and...」なる言い回しは、付随する列挙された品目のうちのいずれか及びその1つ以上の考えられる全ての組合せを意味し包含する。一例として、「A、B及びCの少なくとも1つ」なる言い回しは、Aのみ、Bのみ、Cのみ、又はその任意の組合せ(例えばAB、AC、BC又はABC)を含む。
【0090】
上述の詳細な説明においては、その一部を成す添付図面に対する参照が指示されている。図中、類似の符号は、文脈上別段の指示のないかぎり、類似の構成要素を識別する。詳細な説明、図及びクレーム中に記載された例示的実施形態は、限定的なものとして意図されていない。本明細書中で提示された主題の範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を加えることも可能である。本明細書中で一般的に説明され図中に例示されている本開示の態様は、多様な異なる構成で配置、置換、組合せ、分離及び設計することができ、その全てが本明細書中で明示的に企図される。したがって、本発明の範囲を標示するものとしては、以上の明細書ではなくむしろ以下のクレームを参照すべきである。
本開示は以下の態様を含む。
(態様1)車両の操作を行なう目的で車両を自律的に制御するコンピュータ実装型の方法において、
最低予想累積コストで前記車両の操作を実施すべく前記車両を制御するように構成された制御ポリシーを学習するために、前記車両の操作に関連する受動的に収集されたデータに対して、受動的actor−critic強化学習方法を適用するステップと、
前記車両の操作を行なうべく前記制御ポリシーにしたがって前記車両を制御するステップと、を含む方法。
(態様2)
前記車両の操作が、車線内を走行する第2の車両と第3の車両の間で前記車線内に前記車両を合流させる操作であり、前記制御ポリシーが、前記第2の車両と前記第3の車両の間の中間に前記車両を合流させるべく前記車両を制御するように構成されている、上記態様1に記載の方法。
(態様3)
前記車両の操作を行なうべく前記車両を制御するために適応され得る制御ポリシーを受信するステップをさらに含み、受動的に収集されたデータに対して受動的actor−critic強化学習方法を適用する前記ステップが、
a) criticネットワークにおいて、前記受動的に収集されたデータのサンプルを用いて最適な制御ポリシーの下でZ値及び平均コストを推定するステップと、
b) criticネットワークに作用的に連結されたactorネットワークにおいて、前記criticネットワークからの最適な制御ポリシーの下で、前記受動的に収集されたデータのサンプル、前記推定されたZ値、及び前記推定された平均コストを用いて前記制御ポリシーを修正するステップと、
c) 前記推定された平均コストが収束するまで、ステップ(a)〜(b)を反復的に繰返すステップと、を含む、上記態様1に記載の方法。
(態様4)
前記Z値がベルマン方程式の線形化版を用いて推定される、上記態様3に記載の方法。
(態様5)
最適なポリシーの下で前記平均コストを推定する前記ステップが、前記制御ポリシーを修正する前記ステップの前に、前記平均コストを更新するステップを含む、上記態様3に記載の方法。
(態様6)
Z値を推定する前記ステップが、
重み付けされた放射基底関数の線形結合を用いてZ値関数を近似するステップと、
近似されたZ値関数及び前記受動的に収集されたデータのサンプルを用いてZ値を近似するステップと、を含む、上記態様3に記載の方法。
(態様7)
重み付けされた放射基底関数の線形結合を用いてZ値関数を近似する前記ステップが、前記重み付けされた放射基底関数内で使用される重みを最適化するステップを含む、上記態様6に記載の方法。
(態様8)
重み付けされた放射基底関数の線形結合を用いてZ値関数を近似する前記ステップが、前記重みを最適化する前記ステップの前に、前記重み付けされた放射基底関数内で使用される重みを更新するステップを含む、上記態様7に記載の方法。
(態様9)
前記制御ポリシーを修正する前記ステップが、
制御ゲインを近似するステップと、
前記制御ゲインを最適化して、最適化された制御ゲインを提供するステップと、
前記最適化された制御ゲインを用いて前記制御ポリシーを修正するステップと、を含む、上記態様3に記載の方法。
(態様10)
前記制御ゲインを最適化する前に、
制御入力を決定するステップと、
前記制御入力、前記受動的に収集されたデータのサンプル及び前記近似された制御ゲインを用いて、行動価値関数の値を決定するステップと、をさらに含む、上記態様9に記載の方法。
(態様11)
制御ゲインを近似する前記ステップが、重み付けされた放射基底関数の線形結合を用いて前記制御ゲインを近似するステップを含む、上記態様9に記載の方法。
(態様12)
重み付けされた放射基底関数の線形結合を用いて前記制御ゲインを近似する前記ステップの前に、前記重み付けされた放射基底関数内で使用される重みを更新するステップをさらに含む、上記態様11に記載の方法。
(態様13)
操作を行なうようシステムを制御するのに使用可能な制御ポリシーを最適化するコンピュータ実装型方法であって、
前記システムを制御するのに使用可能な制御ポリシーを提供するステップと、
行なうべき操作に関する受動的に収集されたデータに対して受動的actor−critic強化学習方法を適用して、最低予想累積コストで前記操作を行なうように前記システムを制御すべく前記制御ポリシーが操作可能になるように前記制御ポリシーを修正するステップと、を含む方法。
(態様14)
受動的に収集されたデータに対して受動的actor−critic強化学習方法を適用する前記ステップが、
a)criticネットワークにおいて、前記受動的に収集されたデータのサンプルを用いてZ値を推定し、前記受動的に収集されたデータのサンプルを用いて最適なポリシーの下で平均コストを推定するステップと、
b)actorネットワークにおいて、前記受動的に収集されたデータのサンプル、前記システムについての制御ダイナミクス、到達コスト及び制御ゲインを用いて前記制御ポリシーを修正するステップと、
c)前記制御ポリシーを修正するのに使用されるパラメータ及び最適なポリシーの下で前記Z値及び前記平均コストを推定するのに使用されるパラメータを更新するステップと、
d)前記推定された平均コストが収束するまで、ステップ(a)〜(c)を反復的に繰返すステップと、を含む、上記態様13に記載の方法。
(態様15)
車両の操作を行なうべく車両を自律的に制御するのに使用可能な制御ポリシーを最適化するように構成されたコンピュータ処理システムであって、
当該コンピュータ処理システムが、前記コンピュータ処理システムの操作を制御するための1つ以上のプロセッサと、前記1つ以上のプロセッサにより使用可能なデータ及びプログラム命令を記憶するためのメモリとを含み、
前記メモリは、コンピュータコードを記憶するように構成され、該コンピュータコードは、前記1つ以上のプロセッサによって実行された時点で、前記1つ以上のプロセッサに、
a)前記車両の操作に関する受動的に収集されたデータを受信させ、
b)前記車両についての到達コストを推定するのに使用可能なZ値関数を決定させ、
c)前記コンピュータ処理システム内のcriticネットワークにおいて、
c1)前記Z値関数及び前記受動的に収集されたデータのサンプルを使用してZ値を決定させ、
c2)前記受動的に収集されたデータのサンプルを用いて最適なポリシーの下で平均コストを推定させ、
d)前記コンピュータ処理システム内のactorネットワークにおいて、前記受動的に収集されたデータ、前記車両についての制御ダイナミクス、到達コスト及び制御ゲインを用いて前記制御ポリシーを修正させ、
e)前記推定された平均コストが収束するまで、ステップ(c)及び(d)を反復的に繰返させる、コンピュータ処理システム。